From 8c09361469622c2fa2a6349cb7a60d9118297c7f Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Thu, 12 Nov 2026 09:17:46 +0800 Subject: [PATCH 1/2] feat(EmbedPDF): bump version 3.2.0 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- ... => annotation-style-CNXq5gcp-C8ZPUht3.js} | 10 +- ... => annotation-style-CNXq5gcp-D69Z-BZe.js} | 6 +- ...tN-6jbI8wNW.js => ar-C75qD9T8-Wu6Q7ZC4.js} | 6 +- ...=> attachments-panel-YtEhxrto-7d2aGyW5.js} | 20 +- ...=> attachments-panel-YtEhxrto-No2qmrx-.js} | 32 +- .../comments-panel-DfUngPkF-BdOkNWgM.js | 472 + .../comments-panel-DfUngPkF-u2dBWV5n.js | 470 + .../comments-panel-WWRsL--Q-C5ywnt1o.js | 425 - .../comments-panel-WWRsL--Q-H14drDZj.js | 427 - ...PY-DjSVSg7f.js => de-DAeMkxx6-Bxe1Z0it.js} | 6 +- ...mbedpdf-worker.source-Bj9KREQ9-zQG3AtU_.js | 5 - ...mbedpdf-worker.source-Ckg6uFZ3-Dkca2Kjg.js | 5 + ...dR-DW332Lm9.js => es-BrwadaBk-BGCvUgEY.js} | 6 +- ...=> form-design-panel-BLoqGIJY-D9AquL8W.js} | 250 +- ...=> form-design-panel-BLoqGIJY-DEciaS3X.js} | 196 +- ...zO-Ct_Z5wYg.js => fr-BgJ8dOAI-D1-gtQTu.js} | 6 +- ...a.js => grant-prompt-Co4bzHaR-BWhYzDFb.js} | 18 +- ...7.js => grant-prompt-Co4bzHaR-Cd5zAJXq.js} | 24 +- ...LM-DWlzNFC0.js => he-DDOO6ydF-B5WmpXLy.js} | 6 +- .../{index--xJY1YJM.js => index-DdNeh5iP.js} | 4 +- .../{index-DSy5zKh6.js => index-iBTPgwni.js} | 30 +- .../{init-DY-DOXIU.js => init-tVr9KnGC.js} | 11467 ++-- ...Nc827b.js => inline-transport-DOhLr0Ey.js} | 12938 ++-- ...FK-C9JKRTCT.js => it-BmmNdibU-CfnkmlJc.js} | 6 +- ...eS-TU5VOOvE.js => ja-DYL0fhQg-DqJ--L75.js} | 6 +- ...lu-BBjTyYlT.js => ko-D0EydnVj-gXBpgabc.js} | 6 +- ...watX9VH.js => labels-C6_i87Oj-CUYif8yN.js} | 4 +- ...v-9cmmX.js => labels-C6_i87Oj-DU31Mm-N.js} | 4 +- ...tN.js => link-editor-BQl5WwML-DRSd4102.js} | 4 +- ...Rp.js => link-editor-BQl5WwML-DV9l5HaH.js} | 4 +- ...1H.js => measurement-6M_KEsFK-Bvj4oM5j.js} | 49 +- ...Y8.js => measurement-6M_KEsFK-Bw9_NzWx.js} | 99 +- ...Yw-jDRpgMWC.js => nl-DNuIdcyV-Dte7eubE.js} | 6 +- ....js => outline-panel-qcEnzfex-B8RxefiU.js} | 32 +- ....js => outline-panel-qcEnzfex-CzT-23Th.js} | 94 +- ...> outline-properties-D8sxr4I4-4vueiSIZ.js} | 52 +- ...> outline-properties-D8sxr4I4-DAOfIx49.js} | 26 +- ...aS-BK8oIkBd.js => pl-ZVxF5BV2-CbfU8VmS.js} | 6 +- ...p.js => print-dialog-Cx4W9E8--RwbM3d9Y.js} | 12 +- ...Z.js => print-dialog-Cx4W9E8--k4Pf50tT.js} | 44 +- ...Qk-DbzdajDg.js => pt-nD3P1M4h-BWUeQmPp.js} | 6 +- ...js => redact-confirm-C0AI8Tbt-Cbju2sek.js} | 6 +- ...js => redact-confirm-C0AI8Tbt-DkVNXVHu.js} | 6 +- ...tion-HJziMgGx.js => redaction-DIV-C4iV.js} | 4 +- ...tion-fOC9I-lM.js => redaction-NkDv_6vE.js} | 4 +- ...s => redaction-panel-Djm12Ydh-CzJptj00.js} | 6 +- ...s => redaction-panel-Djm12Ydh-DqRKqVFO.js} | 6 +- ...s.js => search-panel-Bg1iPcy6-BiaQMQSJ.js} | 4 +- ...-.js => search-panel-Bg1iPcy6-DPYp_NzQ.js} | 4 +- ...ed-DGAIwro5.js => self-signed-CTqGwK0Q.js} | 4 +- ...za.js => sign-dialog-DETgmjof-BYRrkPq_.js} | 6 +- ...m-.js => sign-dialog-DETgmjof-CFdMBob_.js} | 4 +- ... signature-inspector-PcOYwkvA-CNbyzJ36.js} | 98 +- ... signature-inspector-PcOYwkvA-NZGZH_BY.js} | 96 +- ...s => signature-maker-CnLiLraV-BTRLVmex.js} | 32 +- ...s => signature-maker-CnLiLraV-CuBdj7zM.js} | 8 +- ... => signatures-panel-QneSliC6-B-zJ-FPc.js} | 42 +- ... => signatures-panel-QneSliC6-DeuWjIuE.js} | 14 +- ...w.js => stamps-panel-moG5l7rv-BeT889q9.js} | 22 +- ...M.js => stamps-panel-moG5l7rv-DwpU8oxh.js} | 6 +- ...urface-W2MZq040.js => surface-CapogQGv.js} | 4 +- ...y9-DVYIsZF9.js => sv-CvLfpN-U-DJtc8253.js} | 6 +- ...tamp-D87vPTni.js => timestamp-CjD6uYGV.js} | 14 +- ...DQFmMC86.js => wasm-url-asset-BJXsMWLm.js} | 49849 ++++++++-------- ...DJhfzusu.js => zh-cn-C-XTtOHZ-sfngNd4o.js} | 6 +- ...Ct2GX9YM.js => zh-tw-CO5cxPs5-C70V5LyG.js} | 6 +- .../wwwroot/embedpdf-worker.js | 20 +- .../wwwroot/embedpdf.js | 20 +- .../wwwroot/embedpdf.wasm | Bin 7871530 -> 7880343 bytes .../wwwroot/readme.txt | 1 + 70 files changed, 39723 insertions(+), 37864 deletions(-) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{annotation-style-CF_uQ82y-CRTERsP6.js => annotation-style-CNXq5gcp-C8ZPUht3.js} (97%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{annotation-style-CF_uQ82y-CngnKxKD.js => annotation-style-CNXq5gcp-D69Z-BZe.js} (98%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{ar-8tnB9ZtN-6jbI8wNW.js => ar-C75qD9T8-Wu6Q7ZC4.js} (99%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{attachments-panel-CPssFrCE-D2gQF6pz.js => attachments-panel-YtEhxrto-7d2aGyW5.js} (86%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{attachments-panel-CPssFrCE-DZDhBoxx.js => attachments-panel-YtEhxrto-No2qmrx-.js} (82%) create mode 100644 src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/comments-panel-DfUngPkF-BdOkNWgM.js create mode 100644 src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/comments-panel-DfUngPkF-u2dBWV5n.js delete mode 100644 src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/comments-panel-WWRsL--Q-C5ywnt1o.js delete mode 100644 src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/comments-panel-WWRsL--Q-H14drDZj.js rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{de-Brfb8qPY-DjSVSg7f.js => de-DAeMkxx6-Bxe1Z0it.js} (99%) delete mode 100644 src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/embedpdf-worker.source-Bj9KREQ9-zQG3AtU_.js create mode 100644 src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/embedpdf-worker.source-Ckg6uFZ3-Dkca2Kjg.js rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{es-MfgrlNdR-DW332Lm9.js => es-BrwadaBk-BGCvUgEY.js} (99%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{form-design-panel-wzDO2bUT-BI1FHAFA.js => form-design-panel-BLoqGIJY-D9AquL8W.js} (53%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{form-design-panel-wzDO2bUT-GN0HL8gx.js => form-design-panel-BLoqGIJY-DEciaS3X.js} (61%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{fr-CxJ-h5zO-Ct_Z5wYg.js => fr-BgJ8dOAI-D1-gtQTu.js} (99%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{grant-prompt-BDEos2cl-4vCbb2Va.js => grant-prompt-Co4bzHaR-BWhYzDFb.js} (95%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{grant-prompt-BDEos2cl-rK3RzVh7.js => grant-prompt-Co4bzHaR-Cd5zAJXq.js} (94%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{he-DdQ5RKLM-DWlzNFC0.js => he-DDOO6ydF-B5WmpXLy.js} (99%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{index--xJY1YJM.js => index-DdNeh5iP.js} (99%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{index-DSy5zKh6.js => index-iBTPgwni.js} (92%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{init-DY-DOXIU.js => init-tVr9KnGC.js} (60%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{inline-transport-CUNc827b.js => inline-transport-DOhLr0Ey.js} (72%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{it-B0rNVsFK-C9JKRTCT.js => it-BmmNdibU-CfnkmlJc.js} (99%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{ja-NIsVo9eS-TU5VOOvE.js => ja-DYL0fhQg-DqJ--L75.js} (99%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{ko-DGQjyIlu-BBjTyYlT.js => ko-D0EydnVj-gXBpgabc.js} (99%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{labels-C6_i87Oj-BwatX9VH.js => labels-C6_i87Oj-CUYif8yN.js} (50%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{labels-C6_i87Oj-Cv-9cmmX.js => labels-C6_i87Oj-DU31Mm-N.js} (52%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{link-editor-CVY83aSe-Bi8RWDtN.js => link-editor-BQl5WwML-DRSd4102.js} (96%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{link-editor-CVY83aSe-Ceo9-oRp.js => link-editor-BQl5WwML-DV9l5HaH.js} (96%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{measurement-DZOOYxOT-DZDR7o1H.js => measurement-6M_KEsFK-Bvj4oM5j.js} (87%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{measurement-DZOOYxOT-DhLpoEY8.js => measurement-6M_KEsFK-Bw9_NzWx.js} (74%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{nl-DMicqqYw-jDRpgMWC.js => nl-DNuIdcyV-Dte7eubE.js} (99%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{outline-panel-BgbrOoBa-DCb1Oxsu.js => outline-panel-qcEnzfex-B8RxefiU.js} (94%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{outline-panel-BgbrOoBa-D3gSj0ae.js => outline-panel-qcEnzfex-CzT-23Th.js} (83%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{outline-properties-Fm45njZA-BlMJu-4C.js => outline-properties-D8sxr4I4-4vueiSIZ.js} (85%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{outline-properties-Fm45njZA-CIdMmLmr.js => outline-properties-D8sxr4I4-DAOfIx49.js} (93%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{pl-BrqfUcaS-BK8oIkBd.js => pl-ZVxF5BV2-CbfU8VmS.js} (99%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{print-dialog-Bloq0P0B-BhaTDpmp.js => print-dialog-Cx4W9E8--RwbM3d9Y.js} (94%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{print-dialog-Bloq0P0B-DsjwXVbZ.js => print-dialog-Cx4W9E8--k4Pf50tT.js} (85%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{pt-DyQ0sdQk-DbzdajDg.js => pt-nD3P1M4h-BWUeQmPp.js} (99%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{redact-confirm-C0AI8Tbt-kx6yQn1w.js => redact-confirm-C0AI8Tbt-Cbju2sek.js} (91%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{redact-confirm-C0AI8Tbt-BKs7oimi.js => redact-confirm-C0AI8Tbt-DkVNXVHu.js} (90%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{redaction-HJziMgGx.js => redaction-DIV-C4iV.js} (73%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{redaction-fOC9I-lM.js => redaction-NkDv_6vE.js} (75%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{redaction-panel-BJvgl75F-QBtkOm4Z.js => redaction-panel-Djm12Ydh-CzJptj00.js} (93%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{redaction-panel-BJvgl75F-aF47DJXW.js => redaction-panel-Djm12Ydh-DqRKqVFO.js} (93%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{search-panel-Eivx6mw6-CopOushs.js => search-panel-Bg1iPcy6-BiaQMQSJ.js} (98%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{search-panel-Eivx6mw6-Dhc9WWk-.js => search-panel-Bg1iPcy6-DPYp_NzQ.js} (99%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{self-signed-DGAIwro5.js => self-signed-CTqGwK0Q.js} (92%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{sign-dialog-DETgmjof-B_Wtujza.js => sign-dialog-DETgmjof-BYRrkPq_.js} (92%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{sign-dialog-DETgmjof-E3lEsjm-.js => sign-dialog-DETgmjof-CFdMBob_.js} (96%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{signature-inspector-DkpEvdof-B8jYrCeN.js => signature-inspector-PcOYwkvA-CNbyzJ36.js} (57%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{signature-inspector-DkpEvdof-z1l1Wzls.js => signature-inspector-PcOYwkvA-NZGZH_BY.js} (53%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{signature-maker-DmqserJG-CYqKZLra.js => signature-maker-CnLiLraV-BTRLVmex.js} (90%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{signature-maker-DmqserJG-Dqe4dnaT.js => signature-maker-CnLiLraV-CuBdj7zM.js} (97%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{signatures-panel-DKFVlxyM-CDTHYCQY.js => signatures-panel-QneSliC6-B-zJ-FPc.js} (87%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{signatures-panel-DKFVlxyM-D_imZbgh.js => signatures-panel-QneSliC6-DeuWjIuE.js} (94%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{stamps-panel-vnotr2Nq-BTL56Bnw.js => stamps-panel-moG5l7rv-BeT889q9.js} (90%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{stamps-panel-vnotr2Nq-CkkPQe1M.js => stamps-panel-moG5l7rv-DwpU8oxh.js} (95%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{surface-W2MZq040.js => surface-CapogQGv.js} (73%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{sv-BU7Kv6y9-DVYIsZF9.js => sv-CvLfpN-U-DJtc8253.js} (99%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{timestamp-D87vPTni.js => timestamp-CjD6uYGV.js} (97%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{wasm-url-asset-DQFmMC86.js => wasm-url-asset-BJXsMWLm.js} (58%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{zh-cn-CJUxCiaS-DJhfzusu.js => zh-cn-C-XTtOHZ-sfngNd4o.js} (99%) rename src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/{zh-tw-C8JAsPYs-Ct2GX9YM.js => zh-tw-CO5cxPs5-C70V5LyG.js} (99%) diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/annotation-style-CF_uQ82y-CRTERsP6.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/annotation-style-CNXq5gcp-C8ZPUht3.js similarity index 97% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/annotation-style-CF_uQ82y-CRTERsP6.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/annotation-style-CNXq5gcp-C8ZPUht3.js index a2ecfec4..95acb6a4 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/annotation-style-CF_uQ82y-CRTERsP6.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/annotation-style-CNXq5gcp-C8ZPUht3.js @@ -1,5 +1,5 @@ -import { u as p, h as Z, C as G, U as H, V as U, j as P, X as V, x as z, Y as B, l as t, m as y, Z as j, k as C, v as D, T as W, _ as X, $ as Y, W as J, A as Q } from "./init-DY-DOXIU.js"; -import { u as x } from "./labels-C6_i87Oj-Cv-9cmmX.js"; +import { u as p, h as Z, C as G, V as H, X as V, j as P, Y as X, x as z, Z as B, l as t, m as y, _ as j, k as C, v as D, T as W, $ as Y, a0 as U, W as J, A as Q } from "./init-tVr9KnGC.js"; +import { u as x } from "./labels-C6_i87Oj-DU31Mm-N.js"; import { observeOutsidePress as ee } from "@embedpdf/web"; import { RedactionToken as te } from "@embedpdf/plugin-redaction"; import { annotationKey as ne } from "@embedpdf/plugin-annotation"; @@ -343,7 +343,7 @@ function _({ side: e, value: l, options: n, onChange: a }) { }); } function pe({ value: e, standard: l, onChange: n }) { - const a = x(), o = p(), i = X(), s = j($), d = Y($, (c) => c.getFontList(), null), r = B((c) => le(c.engine)); + const a = x(), o = p(), i = Y(), s = j($), d = U($, (c) => c.getFontList(), null), r = B((c) => le(c.engine)); D(() => { s?.ensureLoaded().catch(() => { }); @@ -686,7 +686,7 @@ const Ce = { underline: (e) => ({ decoration: e ? ["underline"] : [] }) }; function $e() { - const e = p(), l = Z(), n = G(), a = H() ?? void 0, o = U((u) => u.activeToolId) ?? "pointer", i = P(), s = P(o), d = V(o), r = z((u) => u.selected), h = B(() => n.resolveCommand(`tool:${o}`, a)?.label ?? null, Object.is), m = i.properties.length > 0, { properties: k, values: v, mixed: c } = m ? i : s, f = k.filter((u) => u.control !== "flag" && u.control !== "text"), b = (u) => m ? l.selection.update(u) : l.tools.updateDefaults(o, u), S = (u) => m ? l.selection.update((N) => u(N)) : l.tools.updateDefaults(o, u(d)), w = (u, N) => { + const e = p(), l = Z(), n = G(), a = H() ?? void 0, o = V((u) => u.activeToolId) ?? "pointer", i = P(), s = P(o), d = X(o), r = z((u) => u.selected), h = B(() => n.resolveCommand(`tool:${o}`, a)?.label ?? null, Object.is), m = i.properties.length > 0, { properties: k, values: v, mixed: c } = m ? i : s, f = k.filter((u) => u.control !== "flag" && u.control !== "text"), b = (u) => m ? l.selection.update(u) : l.tools.updateDefaults(o, u), S = (u) => m ? l.selection.update((N) => u(N)) : l.tools.updateDefaults(o, u(d)), w = (u, N) => { if (m) return void l.text.toggleFormat(u); const q = d.richText?.body; l.tools.updateDefaults(o, { richText: { body: { @@ -753,4 +753,4 @@ function Le() { export { $e as AnnotationStylePanel }; -//# sourceMappingURL=annotation-style-CF_uQ82y-CRTERsP6.js.map +//# sourceMappingURL=annotation-style-CNXq5gcp-C8ZPUht3.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/annotation-style-CF_uQ82y-CngnKxKD.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/annotation-style-CNXq5gcp-D69Z-BZe.js similarity index 98% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/annotation-style-CF_uQ82y-CngnKxKD.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/annotation-style-CNXq5gcp-D69Z-BZe.js index 0aaff67b..cb580b5d 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/annotation-style-CF_uQ82y-CngnKxKD.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/annotation-style-CNXq5gcp-D69Z-BZe.js @@ -1,5 +1,5 @@ -import { u as p, b as Z, x as G, N as H, O as U, c as P, P as V, o as z, Q as B, e as t, I as y, U as W, V as X, d as C, m as D, w as Y, T as j, X as Q, Y as I, Z as J, _ as ee, W as te, A as ne, $ as le } from "./wasm-url-asset-DQFmMC86.js"; -import { u as x } from "./labels-C6_i87Oj-BwatX9VH.js"; +import { u as p, b as Z, x as G, O as H, P as U, c as P, Q as V, o as z, U as B, e as t, I as y, V as W, X, d as C, m as D, w as Y, T as j, Y as Q, Z as I, _ as J, $ as ee, W as te, A as ne, a0 as le } from "./wasm-url-asset-BJXsMWLm.js"; +import { u as x } from "./labels-C6_i87Oj-CUYif8yN.js"; const ae = [ "#000000", "#5f6368", @@ -748,4 +748,4 @@ function Le() { export { Te as AnnotationStylePanel }; -//# sourceMappingURL=annotation-style-CF_uQ82y-CngnKxKD.js.map +//# sourceMappingURL=annotation-style-CNXq5gcp-D69Z-BZe.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/ar-8tnB9ZtN-6jbI8wNW.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/ar-C75qD9T8-Wu6Q7ZC4.js similarity index 99% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/ar-8tnB9ZtN-6jbI8wNW.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/ar-C75qD9T8-Wu6Q7ZC4.js index 41c2b97a..04f82bdc 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/ar-8tnB9ZtN-6jbI8wNW.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/ar-C75qD9T8-Wu6Q7ZC4.js @@ -100,6 +100,7 @@ const e = { saveFile: "حفظ الملف", removeLink: "إزالة الارتباط", delete: "حذف", + duplicate: "تكرار", group: "تجميع", ungroup: "فك التجميع", stampFromSelection: "إنشاء ختم", @@ -480,7 +481,8 @@ const e = { boxes: "الخانات", box: "الخانة {number}", addButton: "إضافة زر", - addBox: "إضافة خانة" + addBox: "إضافة خانة", + duplicateGroup: "تكرار المجموعة" }, stylePanel: { mixed: "(مختلط)", @@ -765,4 +767,4 @@ const e = { export { e as ar }; -//# sourceMappingURL=ar-8tnB9ZtN-6jbI8wNW.js.map +//# sourceMappingURL=ar-C75qD9T8-Wu6Q7ZC4.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/attachments-panel-CPssFrCE-D2gQF6pz.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/attachments-panel-YtEhxrto-7d2aGyW5.js similarity index 86% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/attachments-panel-CPssFrCE-D2gQF6pz.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/attachments-panel-YtEhxrto-7d2aGyW5.js index cb321067..615a6363 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/attachments-panel-CPssFrCE-D2gQF6pz.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/attachments-panel-YtEhxrto-7d2aGyW5.js @@ -1,4 +1,4 @@ -import { u as k, ak as F, al as O, am as S, x as z, E as P, h as A, an as B, A as N, d as I, i as j, e as n, z as E, ao as L, f as M, I as $, F as R } from "./wasm-url-asset-DQFmMC86.js"; +import { u as k, E as F, aj as O, ak as j, x as z, F as P, h as A, al as B, A as N, d as L, i as S, e as n, z as E, am as I, f as M, I as $, G as R } from "./wasm-url-asset-BJXsMWLm.js"; function q(t, r) { const [s, o] = t < 1e3 ? [t, "byte"] : t < 1e6 ? [t / 1e3, "kilobyte"] : [t / 1e6, "megabyte"]; return new Intl.NumberFormat(r, { @@ -8,13 +8,13 @@ function q(t, r) { maximumFractionDigits: o === "byte" ? 0 : 1 }).format(s); } -function H(t) { +function G(t) { const r = t.mimeType ?? ""; return r === "application/pdf" ? "file" : r.startsWith("image/") ? "photo" : "paperclip"; } const v = (t) => t.dataTransfer.types.includes("Files"); function J() { - const t = k(), r = F((e) => e.locale) ?? void 0, s = O(), { files: o, selected: x, status: u } = S(), p = z(), i = P("attachment:add"), b = A(), f = B(), d = i.visible && i.enabled, c = N(0), [g, m] = I(!1), l = j(() => { + const t = k(), r = F(), s = O(), { files: o, selected: x, status: u } = j(), p = z(), i = P("attachment:add"), b = A(), f = B(), d = i.visible && i.enabled, c = N(0), [g, m] = L(!1), l = S(() => { const e = new Map(f.map((a) => [a.ref.objectNumber, a])); return (a) => { if (a.home.kind !== "page") return null; @@ -65,7 +65,7 @@ function J() { }), T = o.length === 0 ? u === "idle" || u === "loading" ? y(t("attachments.loading")) : u === "forbidden" || u === "error" ? y(t("attachments.failed")) : y(t("attachments.empty"), !0) : /* @__PURE__ */ n("ul", { "aria-label": t("panels.attachments"), className: "min-h-0 flex-1 overflow-y-auto p-1", - children: o.map((e) => /* @__PURE__ */ n(K, { + children: o.map((e) => /* @__PURE__ */ n(H, { file: e, page: l(e), selected: D.has(e.id), @@ -84,8 +84,8 @@ function J() { })] }); } -function K({ file: t, page: r, selected: s, pending: o, locale: x, onPick: u, onMenu: p }) { - const i = k(), { touch: b } = E(), f = N(null), d = L(t), c = N(null), g = M({ +function H({ file: t, page: r, selected: s, pending: o, locale: x, onPick: u, onMenu: p }) { + const i = k(), { touch: b } = E(), f = N(null), d = I(t), c = N(null), g = M({ label: d, labelShown: !0 }, { clipped: () => c.current }), m = [ @@ -105,7 +105,7 @@ function K({ file: t, page: r, selected: s, pending: o, locale: x, onPick: u, on onClick: u, className: "flex min-w-0 flex-1 items-center gap-2 rounded px-2 py-1.5 text-start", children: [/* @__PURE__ */ n($, { - name: H(t), + name: G(t), size: 16, className: "text-fg-muted shrink-0" }), /* @__PURE__ */ n("span", { @@ -126,12 +126,12 @@ function K({ file: t, page: r, selected: s, pending: o, locale: x, onPick: u, on onClick: (l) => l.stopPropagation(), onPointerDownCapture: p, className: `shrink-0 ${s || b ? "" : "opacity-0 focus-within:opacity-100 group-hover:opacity-100"}`, - children: /* @__PURE__ */ n(W, {}) + children: /* @__PURE__ */ n(K, {}) }) ] }); } -function W() { +function K() { const t = P("menu:attachment-item"); return t.visible ? /* @__PURE__ */ n(R, { cmd: t, @@ -142,4 +142,4 @@ function W() { export { J as AttachmentsPanel }; -//# sourceMappingURL=attachments-panel-CPssFrCE-D2gQF6pz.js.map +//# sourceMappingURL=attachments-panel-YtEhxrto-7d2aGyW5.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/attachments-panel-CPssFrCE-DZDhBoxx.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/attachments-panel-YtEhxrto-No2qmrx-.js similarity index 82% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/attachments-panel-CPssFrCE-DZDhBoxx.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/attachments-panel-YtEhxrto-No2qmrx-.js index 8d8c3f9b..776b73c6 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/attachments-panel-CPssFrCE-DZDhBoxx.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/attachments-panel-YtEhxrto-No2qmrx-.js @@ -1,4 +1,4 @@ -import { u as k, an as F, ao as O, ap as S, C as A, K as P, p as B, aq as L, A as N, k as j, q as z, l as n, F as I, n as q, m as E, L as M } from "./init-DY-DOXIU.js"; +import { u as k, K as F, ao as L, ap as O, C as A, L as P, p as B, aq as S, A as N, k as j, q as z, l as n, F as M, n as q, m as E, M as I } from "./init-tVr9KnGC.js"; import { displayNameOf as $ } from "@embedpdf/plugin-attachment"; function K(t, r) { const [s, o] = t < 1e3 ? [t, "byte"] : t < 1e6 ? [t / 1e3, "kilobyte"] : [t / 1e6, "megabyte"]; @@ -15,7 +15,7 @@ function R(t) { } const v = (t) => t.dataTransfer.types.includes("Files"); function Q() { - const t = k(), r = F((e) => e.locale) ?? void 0, s = O(), { files: o, selected: x, status: u } = S(), p = A(), i = P("attachment:add"), b = B(), f = L(), d = i.visible && i.enabled, c = N(0), [g, m] = j(!1), l = z(() => { + const t = k(), r = F(), s = L(), { files: o, selected: x, status: u } = O(), p = A(), i = P("attachment:add"), b = B(), f = S(), m = i.visible && i.enabled, c = N(0), [g, d] = j(!1), l = z(() => { const e = new Map(f.map((a) => [a.ref.objectNumber, a])); return (a) => { if (a.home.kind !== "page") return null; @@ -29,18 +29,18 @@ function Q() { } p.execute("attachment:save").catch(() => { }); - }, C = d ? { + }, C = m ? { onDragEnter: (e) => { - v(e) && (e.preventDefault(), e.stopPropagation(), c.current += 1, m(!0)); + v(e) && (e.preventDefault(), e.stopPropagation(), c.current += 1, d(!0)); }, onDragOver: (e) => { v(e) && (e.preventDefault(), e.stopPropagation(), e.dataTransfer.dropEffect = "copy"); }, onDragLeave: () => { - c.current !== 0 && (c.current -= 1, c.current === 0 && m(!1)); + c.current !== 0 && (c.current -= 1, c.current === 0 && d(!1)); }, onDrop: (e) => { - if (c.current = 0, m(!1), !v(e)) return; + if (c.current = 0, d(!1), !v(e)) return; e.preventDefault(), e.stopPropagation(); const a = Array.from(e.dataTransfer.files); if (a.length === 0) return; @@ -52,13 +52,13 @@ function Q() { className: "text-fg-muted flex flex-col items-center gap-3 p-6 text-center text-sm", children: [ /* @__PURE__ */ n("p", { children: e }), - a && d && /* @__PURE__ */ n("button", { + a && m && /* @__PURE__ */ n("button", { type: "button", onClick: () => void i.run(), className: "border-border text-fg hover:bg-hover rounded-md border px-3 py-1.5 text-sm", children: i.label }), - a && d && /* @__PURE__ */ n("p", { + a && m && /* @__PURE__ */ n("p", { className: "text-xs", children: t("attachments.dropHint") }) @@ -86,10 +86,10 @@ function Q() { }); } function H({ file: t, page: r, selected: s, pending: o, locale: x, onPick: u, onMenu: p }) { - const i = k(), { touch: b } = I(), f = N(null), d = $(t), c = N(null), g = q({ - label: d, + const i = k(), { touch: b } = M(), f = N(null), m = $(t), c = N(null), g = q({ + label: m, labelShown: !0 - }, { clipped: () => c.current }), m = [ + }, { clipped: () => c.current }), d = [ o ? i("attachments.adding") : t.sizeBytes === null ? null : K(t.sizeBytes, x), r === null ? null : i("attachments.onPage", { params: { page: r } }), t.description @@ -114,10 +114,10 @@ function H({ file: t, page: r, selected: s, pending: o, locale: x, onPick: u, on children: [/* @__PURE__ */ n("span", { ref: c, className: "text-fg block truncate text-sm", - children: /* @__PURE__ */ n("bdi", { children: d }) - }), m.length > 0 && /* @__PURE__ */ n("span", { + children: /* @__PURE__ */ n("bdi", { children: m }) + }), d.length > 0 && /* @__PURE__ */ n("span", { className: "text-fg-muted block truncate text-xs", - children: m.join(" · ") + children: d.join(" · ") })] })] }), @@ -134,7 +134,7 @@ function H({ file: t, page: r, selected: s, pending: o, locale: x, onPick: u, on } function W() { const t = P("menu:attachment-item"); - return t.visible ? /* @__PURE__ */ n(M, { + return t.visible ? /* @__PURE__ */ n(I, { cmd: t, variant: "icon", run: () => void t.run() @@ -143,4 +143,4 @@ function W() { export { Q as AttachmentsPanel }; -//# sourceMappingURL=attachments-panel-CPssFrCE-DZDhBoxx.js.map +//# sourceMappingURL=attachments-panel-YtEhxrto-No2qmrx-.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/comments-panel-DfUngPkF-BdOkNWgM.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/comments-panel-DfUngPkF-BdOkNWgM.js new file mode 100644 index 00000000..33f0f8af --- /dev/null +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/comments-panel-DfUngPkF-BdOkNWgM.js @@ -0,0 +1,472 @@ +import { u as K, x as I, y as E, z as _, B as R, q as D, A as P, v as W, l as t, C as Y, D as H, m as T, F as $, k as L, G, H as j, W as A, T as v, r as J, J as U, K as V, R as Q, L as X, M as Z } from "./init-tVr9KnGC.js"; +import { AnnotationToken as ee, annotationKey as w } from "@embedpdf/plugin-annotation"; +import { StageToken as te } from "@embedpdf/plugin-stage"; +const ne = { + text: { + icon: "message", + labelKey: "annotation.comment", + label: "Comment" + }, + highlight: { + icon: "highlight", + labelKey: "annotation.highlight", + label: "Highlight" + }, + underline: { + icon: "underline", + labelKey: "annotation.underline", + label: "Underline" + }, + squiggly: { + icon: "squiggly", + labelKey: "annotation.squiggly", + label: "Squiggly" + }, + strikeout: { + icon: "strikethrough", + labelKey: "annotation.strikeout", + label: "Strikethrough" + }, + square: { + icon: "square", + labelKey: "annotation.square", + label: "Square" + }, + circle: { + icon: "circle", + labelKey: "annotation.circle", + label: "Circle" + }, + line: { + icon: "line", + labelKey: "annotation.line", + label: "Line" + }, + polygon: { + icon: "polygon", + labelKey: "annotation.polygon", + label: "Polygon" + }, + polyline: { + icon: "zigzag", + labelKey: "annotation.polyline", + label: "Polyline" + }, + ink: { + icon: "pencilMarker", + labelKey: "annotation.ink", + label: "Ink" + }, + "free-text": { + icon: "freeText", + labelKey: "annotation.freeText", + label: "Text" + }, + stamp: { + icon: "rubberStamp", + labelKey: "annotation.stamp", + label: "Stamp" + }, + caret: { + icon: "insertText", + labelKey: "annotation.caret", + label: "Caret" + }, + redact: { + icon: "redact", + labelKey: "annotation.redact", + label: "Redact" + }, + "file-attachment": { + icon: "paperclip", + labelKey: "annotation.fileAttachment", + label: "Attachment" + } +}, oe = { + icon: "message", + labelKey: "annotation.comment", + label: "Comment" +}, ae = (e) => ne[e.subtype] ?? oe, re = (e) => { + const n = e, a = n.fontColor ?? n.color, l = n.interiorColor ?? void 0; + return { + ...a ? { primary: a } : {}, + ...l ? { secondary: l } : {} + }; +}, B = { + month: "short", + day: "numeric", + hour: "numeric", + minute: "2-digit" +}, le = /* @__PURE__ */ new Set([ + "hour", + "minute", + "second", + "dayPeriod" +]), z = " "; +function ce(e, n) { + const a = e.formatToParts(n), l = (i) => le.has(a[i]?.type ?? ""); + return a.map((i, m) => { + const d = i.value.replace(/ /g, z); + return i.type === "literal" && l(m - 1) !== l(m + 1) ? d.replace(z, " ") : d; + }).join(""); +} +const F = /* @__PURE__ */ new Map(); +function se(e) { + let n = F.get(e); + if (!n) { + const a = new Intl.DateTimeFormat(e, B), l = new Intl.DateTimeFormat(e, { + ...B, + year: "numeric" + }), i = new Intl.DateTimeFormat(e, { + dateStyle: "full", + timeStyle: "medium" + }); + n = { + short: (m, d = /* @__PURE__ */ new Date()) => ce(m.getFullYear() === d.getFullYear() ? a : l, m), + full: (m) => i.format(m) + }, F.set(e, n); + } + return n; +} +function ie(e) { + if (!e) return null; + const n = new Date(e); + return Number.isNaN(n.getTime()) ? null : n; +} +function M({ dto: e, className: n }) { + const a = se(V()), l = ie(e.modifiedAt ?? e.createdAt); + return l ? /* @__PURE__ */ t(A, { + content: { label: a.full(l) }, + children: (i) => /* @__PURE__ */ t("time", { + ...i, + dateTime: l.toISOString(), + className: n, + children: a.short(l) + }) + }) : null; +} +function me() { + const e = Y(); + return H((n) => n.disabledCategories), !e.isCategoryDisabled("comments.writing"); +} +function ye() { + const e = K(), n = me(), a = I((o) => o.status), l = E(), i = _(), m = R(ee), d = R(te), p = I((o) => o.selected), b = D(() => p.map((o) => o.ref), [p]), h = P(null), c = P({}), x = D(() => { + for (const o of b) { + const r = l.getThread(o); + if (r) return w(r.root.ref); + } + return null; + }, [b, l]); + W(() => { + if (!x || !h.current) return; + const o = c.current[x]; + if (!o) return; + const r = h.current, u = o.getBoundingClientRect(), f = r.getBoundingClientRect(); + if (u.top >= f.top && u.bottom <= f.bottom) return; + const g = o.offsetTop - r.clientHeight / 2 + o.clientHeight / 2 - r.offsetTop; + r.scrollTo({ + top: g, + behavior: "smooth" + }); + }, [x]); + const y = (o) => m.selection.select([o.root.ref]), C = (o) => { + m.selection.select([o.root.ref]), !(o.pageIndex < 0) && d?.reveal(o.pageIndex, { + rect: o.root.rect, + align: { + x: "center", + y: 0.35 + }, + behavior: "smooth" + }); + }, k = D(() => { + const o = /* @__PURE__ */ new Map(); + for (const r of i) { + const u = o.get(r.pageIndex); + u ? u.push(r) : o.set(r.pageIndex, [r]); + } + return [...o.entries()].sort((r, u) => r[0] - u[0]); + }, [i]); + return a === "loading" ? /* @__PURE__ */ t(S, { + icon: "comment", + text: e("comments.loading") + }) : a === "forbidden" ? /* @__PURE__ */ t(S, { + icon: "lock", + text: e("comments.forbidden") + }) : a === "error" ? /* @__PURE__ */ t(S, { + icon: "alertTriangle", + text: e("comments.error"), + children: /* @__PURE__ */ t("button", { + type: "button", + onClick: () => void m.refresh(), + className: "bg-accent text-on-accent rounded-md px-3 py-1.5 text-sm font-medium", + children: e("comments.retry") + }) + }) : i.length === 0 ? /* @__PURE__ */ t(S, { + icon: "comment", + text: e(n ? "comments.empty" : "comments.emptyReadOnly") + }) : /* @__PURE__ */ t("div", { + ref: h, + className: "min-h-0 flex-1 overflow-y-auto", + children: /* @__PURE__ */ t("div", { + className: "flex flex-col gap-5 p-3", + children: k.map(([o, r]) => { + const u = r.reduce((f, g) => f + fe(g), 0); + return /* @__PURE__ */ t("div", { + className: "flex flex-col gap-2", + children: [/* @__PURE__ */ t("div", { + className: "bg-surface sticky top-0 z-10", + children: /* @__PURE__ */ t("div", { + className: "border-border-subtle border-b pb-1.5", + children: [/* @__PURE__ */ t("h3", { + className: "text-fg text-sm font-semibold", + children: e("comments.page", { params: { page: r[0].pageLabel } }) + }), u > 0 && /* @__PURE__ */ t("p", { + className: "text-fg-muted text-xs", + children: e("comments.count", { params: { count: u } }) + })] + }) + }), /* @__PURE__ */ t("ul", { + className: "flex flex-col gap-2", + children: r.map((f) => { + const g = w(f.root.ref); + return /* @__PURE__ */ t(de, { + view: f, + writing: n, + selected: x === g, + onSelect: () => C(f), + onPick: () => y(f), + cardRef: (N) => { + c.current[g] = N; + } + }, g); + }) + })] + }, o); + }) + }) + }); +} +function S({ icon: e, text: n, children: a }) { + return /* @__PURE__ */ t("div", { + className: "flex flex-col items-center gap-3 px-4 py-10 text-center", + children: [ + /* @__PURE__ */ t(T, { + name: e, + size: 32, + className: "text-fg-muted" + }), + /* @__PURE__ */ t("p", { + className: "text-fg-muted text-sm", + children: n + }), + a + ] + }); +} +function de({ view: e, writing: n, selected: a, onSelect: l, onPick: i, cardRef: m }) { + const d = K(), p = E(), { touch: b } = $(), h = P(null), [c, x] = L(""), y = e.root.ref, C = G(e), k = !C && p.canSetText(y), o = { + canDeleteThread: n && p.canDeleteThread(y), + canSetStatus: n && C && p.canSetStatus(y), + canWrite: n && (k || p.canReply(y)) + }, r = o.canSetStatus || o.canDeleteThread, u = ae(e.root), f = j(e), g = f === "completed", N = () => { + const s = c.trim(); + s && (x(""), k ? p.setText(y, s) : p.reply(y, s)); + }; + return /* @__PURE__ */ t("li", { + ref: m, + onClick: l, + onContextMenu: (s) => { + r && (s.preventDefault(), i(), h.current?.querySelector("button")?.click()); + }, + className: `bg-surface group cursor-pointer rounded-lg border shadow-sm transition-all hover:shadow-md ${a ? "border-accent ring-accent/40 ring-2" : "border-border-subtle"}`, + children: /* @__PURE__ */ t("div", { + className: "flex flex-col gap-2 p-3", + children: [ + /* @__PURE__ */ t("div", { + className: "flex items-start gap-2.5", + children: [ + /* @__PURE__ */ t(A, { + content: { label: d(u.labelKey, { fallback: u.label }) }, + children: (s) => /* @__PURE__ */ t("div", { + ...s, + role: "img", + "aria-label": d(u.labelKey, { fallback: u.label }), + className: "bg-hover grid h-8 w-8 shrink-0 place-items-center rounded-full", + children: /* @__PURE__ */ t(T, { + name: u.icon, + size: 18, + accent: re(e.root) + }) + }) + }), + /* @__PURE__ */ t("div", { + className: "min-w-0 flex-1", + children: [/* @__PURE__ */ t("div", { + className: "text-fg truncate text-sm font-medium", + children: e.root.author ?? d("comments.anonymous") + }), /* @__PURE__ */ t("div", { + className: "text-fg-muted flex flex-wrap items-center gap-x-1.5 gap-y-0.5 text-xs", + children: [/* @__PURE__ */ t(M, { dto: e.root }), f !== "none" && /* @__PURE__ */ t(A, { + content: e.review.lastChange?.by ? { label: `${q(d, f)} · ${e.review.lastChange.by}` } : null, + children: (s) => /* @__PURE__ */ t("span", { + ...s, + className: "bg-accent-light text-accent rounded px-1.5 text-[11px] font-medium", + children: q(d, f) + }) + })] + })] + }), + (o.canSetStatus || r) && /* @__PURE__ */ t("div", { + onClick: (s) => s.stopPropagation(), + className: `flex shrink-0 items-center ${a || b ? "" : "opacity-0 focus-within:opacity-100 group-hover:opacity-100"}`, + children: [o.canSetStatus && /* @__PURE__ */ t(v, { + label: d("comments.markCompleted"), + "aria-pressed": g, + part: U(g), + onClick: () => void p.setStatus(y, g ? "none" : "completed"), + className: J(g), + children: /* @__PURE__ */ t(T, { + name: "circleCheck", + size: 20 + }) + }), r && /* @__PURE__ */ t("span", { + ref: h, + onPointerDownCapture: i, + children: /* @__PURE__ */ t(ue, {}) + })] + }) + ] + }), + /* @__PURE__ */ t(O, { + annotationRef: e.root.ref, + text: e.root.contents ?? "", + deletable: !1, + writing: n + }), + e.replies.length > 0 && /* @__PURE__ */ t("div", { + className: "border-border-subtle flex flex-col gap-2 border-t pt-2", + children: e.replies.map((s) => /* @__PURE__ */ t(pe, { + dto: s, + writing: n + }, w(s.ref))) + }), + o.canWrite && (a || c) && /* @__PURE__ */ t("div", { + className: `flex items-center gap-1.5 ${C ? "border-border-subtle border-t pt-2" : ""}`, + onClick: (s) => s.stopPropagation(), + children: [/* @__PURE__ */ t("input", { + type: "text", + value: c, + placeholder: d(C ? "comments.replyPlaceholder" : "comments.addPlaceholder"), + onChange: (s) => x(s.target.value), + onKeyDown: (s) => s.key === "Enter" && N(), + className: "border-border bg-surface text-fg focus:border-accent h-8 w-full min-w-0 flex-1 rounded-md border px-2.5 text-sm outline-none" + }), /* @__PURE__ */ t(v, { + label: d(C ? "comments.reply" : "commands.comment"), + onClick: N, + disabled: !c.trim(), + className: "bg-accent text-on-accent grid h-8 w-8 shrink-0 place-items-center rounded-md disabled:opacity-40", + children: /* @__PURE__ */ t(T, { + name: "send", + size: 16 + }) + })] + }) + ] + }) + }); +} +function ue() { + const e = X("menu:comment-item"); + return e.visible ? /* @__PURE__ */ t(Z, { + cmd: e, + variant: "icon", + run: () => void e.run() + }) : null; +} +function pe({ dto: e, writing: n }) { + const a = K(); + return /* @__PURE__ */ t("div", { + className: "border-border-subtle ms-1 border-s-2 ps-2", + children: [/* @__PURE__ */ t("div", { + className: "flex items-baseline gap-2", + children: [/* @__PURE__ */ t("span", { + className: "text-fg-secondary min-w-0 truncate text-xs font-medium", + children: e.author ?? a("comments.anonymous") + }), /* @__PURE__ */ t(M, { + dto: e, + className: "text-fg-muted shrink-0 whitespace-nowrap text-[11px]" + })] + }), /* @__PURE__ */ t(O, { + annotationRef: e.ref, + text: e.contents ?? "", + deletable: !0, + writing: n + })] + }); +} +function O({ annotationRef: e, text: n, deletable: a, writing: l }) { + const i = K(), m = E(), d = { + canEditText: l && m.canSetText(e), + canDelete: l && m.canDelete(e) + }, [p, b] = L(null); + if (p !== null) { + const h = () => { + const c = p.trim(); + b(null), c && c !== n && m.setText(e, c); + }; + return /* @__PURE__ */ t("textarea", { + value: p, + autoFocus: !0, + rows: 2, + onClick: (c) => c.stopPropagation(), + onChange: (c) => b(c.target.value), + onBlur: h, + onKeyDown: (c) => { + c.key === "Enter" && !c.shiftKey && (c.preventDefault(), h()), c.key === "Escape" && b(null); + }, + className: "border-accent bg-surface text-fg w-full resize-none rounded-md border px-2 py-1 text-sm outline-none" + }); + } + return !n && !a ? null : /* @__PURE__ */ t("div", { + className: "group/body flex items-start gap-1", + children: [ + /* @__PURE__ */ t("p", { + className: "text-fg min-w-0 flex-1 whitespace-pre-wrap text-sm", + children: n + }), + d.canEditText && /* @__PURE__ */ t(v, { + label: i("comments.edit"), + onClick: (h) => { + h.stopPropagation(), b(n); + }, + className: "text-fg-muted hover:text-fg grid h-5 w-5 shrink-0 place-items-center rounded opacity-0 group-hover/body:opacity-100", + children: /* @__PURE__ */ t(T, { + name: "pencilMarker", + size: 12 + }) + }), + a && d.canDelete && /* @__PURE__ */ t(v, { + label: i("comments.delete"), + onClick: (h) => { + h.stopPropagation(), m.delete(e); + }, + className: "text-fg-muted hover:text-fg grid h-5 w-5 shrink-0 place-items-center rounded opacity-0 group-hover/body:opacity-100", + children: /* @__PURE__ */ t(T, { + name: "trash", + size: 12 + }) + }) + ] + }); +} +function q(e, n) { + const a = Q[n]; + return a ? e(a) : n; +} +function fe(e) { + return (e.root.contents?.trim() ? 1 : 0) + e.replies.length; +} +export { + ye as CommentsPanel +}; +//# sourceMappingURL=comments-panel-DfUngPkF-BdOkNWgM.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/comments-panel-DfUngPkF-u2dBWV5n.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/comments-panel-DfUngPkF-u2dBWV5n.js new file mode 100644 index 00000000..b367d593 --- /dev/null +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/comments-panel-DfUngPkF-u2dBWV5n.js @@ -0,0 +1,470 @@ +import { u as K, o as I, p as E, q as _, r as R, s as W, t as Y, i as D, A as P, w, m as $, e as t, x as H, y as j, I as T, z as G, d as L, B as U, C as V, W as A, T as v, j as J, D as Q, E as X, R as Z, F as ee, G as te } from "./wasm-url-asset-BJXsMWLm.js"; +const ne = { + text: { + icon: "message", + labelKey: "annotation.comment", + label: "Comment" + }, + highlight: { + icon: "highlight", + labelKey: "annotation.highlight", + label: "Highlight" + }, + underline: { + icon: "underline", + labelKey: "annotation.underline", + label: "Underline" + }, + squiggly: { + icon: "squiggly", + labelKey: "annotation.squiggly", + label: "Squiggly" + }, + strikeout: { + icon: "strikethrough", + labelKey: "annotation.strikeout", + label: "Strikethrough" + }, + square: { + icon: "square", + labelKey: "annotation.square", + label: "Square" + }, + circle: { + icon: "circle", + labelKey: "annotation.circle", + label: "Circle" + }, + line: { + icon: "line", + labelKey: "annotation.line", + label: "Line" + }, + polygon: { + icon: "polygon", + labelKey: "annotation.polygon", + label: "Polygon" + }, + polyline: { + icon: "zigzag", + labelKey: "annotation.polyline", + label: "Polyline" + }, + ink: { + icon: "pencilMarker", + labelKey: "annotation.ink", + label: "Ink" + }, + "free-text": { + icon: "freeText", + labelKey: "annotation.freeText", + label: "Text" + }, + stamp: { + icon: "rubberStamp", + labelKey: "annotation.stamp", + label: "Stamp" + }, + caret: { + icon: "insertText", + labelKey: "annotation.caret", + label: "Caret" + }, + redact: { + icon: "redact", + labelKey: "annotation.redact", + label: "Redact" + }, + "file-attachment": { + icon: "paperclip", + labelKey: "annotation.fileAttachment", + label: "Attachment" + } +}, oe = { + icon: "message", + labelKey: "annotation.comment", + label: "Comment" +}, ae = (e) => ne[e.subtype] ?? oe, re = (e) => { + const n = e, a = n.fontColor ?? n.color, l = n.interiorColor ?? void 0; + return { + ...a ? { primary: a } : {}, + ...l ? { secondary: l } : {} + }; +}, B = { + month: "short", + day: "numeric", + hour: "numeric", + minute: "2-digit" +}, le = /* @__PURE__ */ new Set([ + "hour", + "minute", + "second", + "dayPeriod" +]), z = " "; +function ce(e, n) { + const a = e.formatToParts(n), l = (i) => le.has(a[i]?.type ?? ""); + return a.map((i, m) => { + const d = i.value.replace(/ /g, z); + return i.type === "literal" && l(m - 1) !== l(m + 1) ? d.replace(z, " ") : d; + }).join(""); +} +const F = /* @__PURE__ */ new Map(); +function se(e) { + let n = F.get(e); + if (!n) { + const a = new Intl.DateTimeFormat(e, B), l = new Intl.DateTimeFormat(e, { + ...B, + year: "numeric" + }), i = new Intl.DateTimeFormat(e, { + dateStyle: "full", + timeStyle: "medium" + }); + n = { + short: (m, d = /* @__PURE__ */ new Date()) => ce(m.getFullYear() === d.getFullYear() ? a : l, m), + full: (m) => i.format(m) + }, F.set(e, n); + } + return n; +} +function ie(e) { + if (!e) return null; + const n = new Date(e); + return Number.isNaN(n.getTime()) ? null : n; +} +function O({ dto: e, className: n }) { + const a = se(X()), l = ie(e.modifiedAt ?? e.createdAt); + return l ? /* @__PURE__ */ t(A, { + content: { label: a.full(l) }, + children: (i) => /* @__PURE__ */ t("time", { + ...i, + dateTime: l.toISOString(), + className: n, + children: a.short(l) + }) + }) : null; +} +function me() { + const e = H(); + return j((n) => n.disabledCategories), !e.isCategoryDisabled("comments.writing"); +} +function ge() { + const e = K(), n = me(), a = I((o) => o.status), l = E(), i = _(), m = R(W), d = R(Y), p = I((o) => o.selected), b = D(() => p.map((o) => o.ref), [p]), h = P(null), c = P({}), x = D(() => { + for (const o of b) { + const r = l.getThread(o); + if (r) return w(r.root.ref); + } + return null; + }, [b, l]); + $(() => { + if (!x || !h.current) return; + const o = c.current[x]; + if (!o) return; + const r = h.current, u = o.getBoundingClientRect(), f = r.getBoundingClientRect(); + if (u.top >= f.top && u.bottom <= f.bottom) return; + const g = o.offsetTop - r.clientHeight / 2 + o.clientHeight / 2 - r.offsetTop; + r.scrollTo({ + top: g, + behavior: "smooth" + }); + }, [x]); + const y = (o) => m.selection.select([o.root.ref]), C = (o) => { + m.selection.select([o.root.ref]), !(o.pageIndex < 0) && d?.reveal(o.pageIndex, { + rect: o.root.rect, + align: { + x: "center", + y: 0.35 + }, + behavior: "smooth" + }); + }, k = D(() => { + const o = /* @__PURE__ */ new Map(); + for (const r of i) { + const u = o.get(r.pageIndex); + u ? u.push(r) : o.set(r.pageIndex, [r]); + } + return [...o.entries()].sort((r, u) => r[0] - u[0]); + }, [i]); + return a === "loading" ? /* @__PURE__ */ t(S, { + icon: "comment", + text: e("comments.loading") + }) : a === "forbidden" ? /* @__PURE__ */ t(S, { + icon: "lock", + text: e("comments.forbidden") + }) : a === "error" ? /* @__PURE__ */ t(S, { + icon: "alertTriangle", + text: e("comments.error"), + children: /* @__PURE__ */ t("button", { + type: "button", + onClick: () => void m.refresh(), + className: "bg-accent text-on-accent rounded-md px-3 py-1.5 text-sm font-medium", + children: e("comments.retry") + }) + }) : i.length === 0 ? /* @__PURE__ */ t(S, { + icon: "comment", + text: e(n ? "comments.empty" : "comments.emptyReadOnly") + }) : /* @__PURE__ */ t("div", { + ref: h, + className: "min-h-0 flex-1 overflow-y-auto", + children: /* @__PURE__ */ t("div", { + className: "flex flex-col gap-5 p-3", + children: k.map(([o, r]) => { + const u = r.reduce((f, g) => f + fe(g), 0); + return /* @__PURE__ */ t("div", { + className: "flex flex-col gap-2", + children: [/* @__PURE__ */ t("div", { + className: "bg-surface sticky top-0 z-10", + children: /* @__PURE__ */ t("div", { + className: "border-border-subtle border-b pb-1.5", + children: [/* @__PURE__ */ t("h3", { + className: "text-fg text-sm font-semibold", + children: e("comments.page", { params: { page: r[0].pageLabel } }) + }), u > 0 && /* @__PURE__ */ t("p", { + className: "text-fg-muted text-xs", + children: e("comments.count", { params: { count: u } }) + })] + }) + }), /* @__PURE__ */ t("ul", { + className: "flex flex-col gap-2", + children: r.map((f) => { + const g = w(f.root.ref); + return /* @__PURE__ */ t(de, { + view: f, + writing: n, + selected: x === g, + onSelect: () => C(f), + onPick: () => y(f), + cardRef: (N) => { + c.current[g] = N; + } + }, g); + }) + })] + }, o); + }) + }) + }); +} +function S({ icon: e, text: n, children: a }) { + return /* @__PURE__ */ t("div", { + className: "flex flex-col items-center gap-3 px-4 py-10 text-center", + children: [ + /* @__PURE__ */ t(T, { + name: e, + size: 32, + className: "text-fg-muted" + }), + /* @__PURE__ */ t("p", { + className: "text-fg-muted text-sm", + children: n + }), + a + ] + }); +} +function de({ view: e, writing: n, selected: a, onSelect: l, onPick: i, cardRef: m }) { + const d = K(), p = E(), { touch: b } = G(), h = P(null), [c, x] = L(""), y = e.root.ref, C = U(e), k = !C && p.canSetText(y), o = { + canDeleteThread: n && p.canDeleteThread(y), + canSetStatus: n && C && p.canSetStatus(y), + canWrite: n && (k || p.canReply(y)) + }, r = o.canSetStatus || o.canDeleteThread, u = ae(e.root), f = V(e), g = f === "completed", N = () => { + const s = c.trim(); + s && (x(""), k ? p.setText(y, s) : p.reply(y, s)); + }; + return /* @__PURE__ */ t("li", { + ref: m, + onClick: l, + onContextMenu: (s) => { + r && (s.preventDefault(), i(), h.current?.querySelector("button")?.click()); + }, + className: `bg-surface group cursor-pointer rounded-lg border shadow-sm transition-all hover:shadow-md ${a ? "border-accent ring-accent/40 ring-2" : "border-border-subtle"}`, + children: /* @__PURE__ */ t("div", { + className: "flex flex-col gap-2 p-3", + children: [ + /* @__PURE__ */ t("div", { + className: "flex items-start gap-2.5", + children: [ + /* @__PURE__ */ t(A, { + content: { label: d(u.labelKey, { fallback: u.label }) }, + children: (s) => /* @__PURE__ */ t("div", { + ...s, + role: "img", + "aria-label": d(u.labelKey, { fallback: u.label }), + className: "bg-hover grid h-8 w-8 shrink-0 place-items-center rounded-full", + children: /* @__PURE__ */ t(T, { + name: u.icon, + size: 18, + accent: re(e.root) + }) + }) + }), + /* @__PURE__ */ t("div", { + className: "min-w-0 flex-1", + children: [/* @__PURE__ */ t("div", { + className: "text-fg truncate text-sm font-medium", + children: e.root.author ?? d("comments.anonymous") + }), /* @__PURE__ */ t("div", { + className: "text-fg-muted flex flex-wrap items-center gap-x-1.5 gap-y-0.5 text-xs", + children: [/* @__PURE__ */ t(O, { dto: e.root }), f !== "none" && /* @__PURE__ */ t(A, { + content: e.review.lastChange?.by ? { label: `${q(d, f)} · ${e.review.lastChange.by}` } : null, + children: (s) => /* @__PURE__ */ t("span", { + ...s, + className: "bg-accent-light text-accent rounded px-1.5 text-[11px] font-medium", + children: q(d, f) + }) + })] + })] + }), + (o.canSetStatus || r) && /* @__PURE__ */ t("div", { + onClick: (s) => s.stopPropagation(), + className: `flex shrink-0 items-center ${a || b ? "" : "opacity-0 focus-within:opacity-100 group-hover:opacity-100"}`, + children: [o.canSetStatus && /* @__PURE__ */ t(v, { + label: d("comments.markCompleted"), + "aria-pressed": g, + part: Q(g), + onClick: () => void p.setStatus(y, g ? "none" : "completed"), + className: J(g), + children: /* @__PURE__ */ t(T, { + name: "circleCheck", + size: 20 + }) + }), r && /* @__PURE__ */ t("span", { + ref: h, + onPointerDownCapture: i, + children: /* @__PURE__ */ t(ue, {}) + })] + }) + ] + }), + /* @__PURE__ */ t(M, { + annotationRef: e.root.ref, + text: e.root.contents ?? "", + deletable: !1, + writing: n + }), + e.replies.length > 0 && /* @__PURE__ */ t("div", { + className: "border-border-subtle flex flex-col gap-2 border-t pt-2", + children: e.replies.map((s) => /* @__PURE__ */ t(pe, { + dto: s, + writing: n + }, w(s.ref))) + }), + o.canWrite && (a || c) && /* @__PURE__ */ t("div", { + className: `flex items-center gap-1.5 ${C ? "border-border-subtle border-t pt-2" : ""}`, + onClick: (s) => s.stopPropagation(), + children: [/* @__PURE__ */ t("input", { + type: "text", + value: c, + placeholder: d(C ? "comments.replyPlaceholder" : "comments.addPlaceholder"), + onChange: (s) => x(s.target.value), + onKeyDown: (s) => s.key === "Enter" && N(), + className: "border-border bg-surface text-fg focus:border-accent h-8 w-full min-w-0 flex-1 rounded-md border px-2.5 text-sm outline-none" + }), /* @__PURE__ */ t(v, { + label: d(C ? "comments.reply" : "commands.comment"), + onClick: N, + disabled: !c.trim(), + className: "bg-accent text-on-accent grid h-8 w-8 shrink-0 place-items-center rounded-md disabled:opacity-40", + children: /* @__PURE__ */ t(T, { + name: "send", + size: 16 + }) + })] + }) + ] + }) + }); +} +function ue() { + const e = ee("menu:comment-item"); + return e.visible ? /* @__PURE__ */ t(te, { + cmd: e, + variant: "icon", + run: () => void e.run() + }) : null; +} +function pe({ dto: e, writing: n }) { + const a = K(); + return /* @__PURE__ */ t("div", { + className: "border-border-subtle ms-1 border-s-2 ps-2", + children: [/* @__PURE__ */ t("div", { + className: "flex items-baseline gap-2", + children: [/* @__PURE__ */ t("span", { + className: "text-fg-secondary min-w-0 truncate text-xs font-medium", + children: e.author ?? a("comments.anonymous") + }), /* @__PURE__ */ t(O, { + dto: e, + className: "text-fg-muted shrink-0 whitespace-nowrap text-[11px]" + })] + }), /* @__PURE__ */ t(M, { + annotationRef: e.ref, + text: e.contents ?? "", + deletable: !0, + writing: n + })] + }); +} +function M({ annotationRef: e, text: n, deletable: a, writing: l }) { + const i = K(), m = E(), d = { + canEditText: l && m.canSetText(e), + canDelete: l && m.canDelete(e) + }, [p, b] = L(null); + if (p !== null) { + const h = () => { + const c = p.trim(); + b(null), c && c !== n && m.setText(e, c); + }; + return /* @__PURE__ */ t("textarea", { + value: p, + autoFocus: !0, + rows: 2, + onClick: (c) => c.stopPropagation(), + onChange: (c) => b(c.target.value), + onBlur: h, + onKeyDown: (c) => { + c.key === "Enter" && !c.shiftKey && (c.preventDefault(), h()), c.key === "Escape" && b(null); + }, + className: "border-accent bg-surface text-fg w-full resize-none rounded-md border px-2 py-1 text-sm outline-none" + }); + } + return !n && !a ? null : /* @__PURE__ */ t("div", { + className: "group/body flex items-start gap-1", + children: [ + /* @__PURE__ */ t("p", { + className: "text-fg min-w-0 flex-1 whitespace-pre-wrap text-sm", + children: n + }), + d.canEditText && /* @__PURE__ */ t(v, { + label: i("comments.edit"), + onClick: (h) => { + h.stopPropagation(), b(n); + }, + className: "text-fg-muted hover:text-fg grid h-5 w-5 shrink-0 place-items-center rounded opacity-0 group-hover/body:opacity-100", + children: /* @__PURE__ */ t(T, { + name: "pencilMarker", + size: 12 + }) + }), + a && d.canDelete && /* @__PURE__ */ t(v, { + label: i("comments.delete"), + onClick: (h) => { + h.stopPropagation(), m.delete(e); + }, + className: "text-fg-muted hover:text-fg grid h-5 w-5 shrink-0 place-items-center rounded opacity-0 group-hover/body:opacity-100", + children: /* @__PURE__ */ t(T, { + name: "trash", + size: 12 + }) + }) + ] + }); +} +function q(e, n) { + const a = Z[n]; + return a ? e(a) : n; +} +function fe(e) { + return (e.root.contents?.trim() ? 1 : 0) + e.replies.length; +} +export { + ge as CommentsPanel +}; +//# sourceMappingURL=comments-panel-DfUngPkF-u2dBWV5n.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/comments-panel-WWRsL--Q-C5ywnt1o.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/comments-panel-WWRsL--Q-C5ywnt1o.js deleted file mode 100644 index e891f410..00000000 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/comments-panel-WWRsL--Q-C5ywnt1o.js +++ /dev/null @@ -1,425 +0,0 @@ -import { u as K, o as z, p as P, q as W, r as B, s as w, t as $, i as D, A, w as E, m as F, e, x as O, y as _, I as N, z as H, d as L, B as Y, C as j, W as q, T as v, j as G, D as U, R as V, E as J, F as Q } from "./wasm-url-asset-DQFmMC86.js"; -const X = { - text: { - icon: "message", - labelKey: "annotation.comment", - label: "Comment" - }, - highlight: { - icon: "highlight", - labelKey: "annotation.highlight", - label: "Highlight" - }, - underline: { - icon: "underline", - labelKey: "annotation.underline", - label: "Underline" - }, - squiggly: { - icon: "squiggly", - labelKey: "annotation.squiggly", - label: "Squiggly" - }, - strikeout: { - icon: "strikethrough", - labelKey: "annotation.strikeout", - label: "Strikethrough" - }, - square: { - icon: "square", - labelKey: "annotation.square", - label: "Square" - }, - circle: { - icon: "circle", - labelKey: "annotation.circle", - label: "Circle" - }, - line: { - icon: "line", - labelKey: "annotation.line", - label: "Line" - }, - polygon: { - icon: "polygon", - labelKey: "annotation.polygon", - label: "Polygon" - }, - polyline: { - icon: "zigzag", - labelKey: "annotation.polyline", - label: "Polyline" - }, - ink: { - icon: "pencilMarker", - labelKey: "annotation.ink", - label: "Ink" - }, - "free-text": { - icon: "freeText", - labelKey: "annotation.freeText", - label: "Text" - }, - stamp: { - icon: "rubberStamp", - labelKey: "annotation.stamp", - label: "Stamp" - }, - caret: { - icon: "insertText", - labelKey: "annotation.caret", - label: "Caret" - }, - redact: { - icon: "redact", - labelKey: "annotation.redact", - label: "Redact" - }, - "file-attachment": { - icon: "paperclip", - labelKey: "annotation.fileAttachment", - label: "Attachment" - } -}, Z = { - icon: "message", - labelKey: "annotation.comment", - label: "Comment" -}, ee = (t) => X[t.subtype] ?? Z, te = (t) => { - const o = t, r = o.fontColor ?? o.color, f = o.interiorColor ?? void 0; - return { - ...r ? { primary: r } : {}, - ...f ? { secondary: f } : {} - }; -}, R = (t) => { - if (!t) return ""; - const o = new Date(t); - return Number.isNaN(o.getTime()) ? "" : o.toLocaleDateString(void 0, { - month: "short", - day: "numeric" - }); -}; -function ne() { - const t = O(); - return _((o) => o.disabledCategories), !t.isCategoryDisabled("comments.writing"); -} -function se() { - const t = K(), o = ne(), r = z((n) => n.status), f = P(), b = W(), h = B(w), d = B($), i = z((n) => n.selected), g = D(() => i.map((n) => n.ref), [i]), u = A(null), l = A({}), y = D(() => { - for (const n of g) { - const a = f.getThread(n); - if (a) return E(a.root.ref); - } - return null; - }, [g, f]); - F(() => { - if (!y || !u.current) return; - const n = l.current[y]; - if (!n) return; - const a = u.current, s = n.getBoundingClientRect(), m = a.getBoundingClientRect(); - if (s.top >= m.top && s.bottom <= m.bottom) return; - const p = n.offsetTop - a.clientHeight / 2 + n.clientHeight / 2 - a.offsetTop; - a.scrollTo({ - top: p, - behavior: "smooth" - }); - }, [y]); - const x = (n) => h.selection.select([n.root.ref]), C = (n) => { - h.selection.select([n.root.ref]), !(n.pageIndex < 0) && d?.reveal(n.pageIndex, { - rect: n.root.rect, - align: { - x: "center", - y: 0.35 - }, - behavior: "smooth" - }); - }, k = D(() => { - const n = /* @__PURE__ */ new Map(); - for (const a of b) { - const s = n.get(a.pageIndex); - s ? s.push(a) : n.set(a.pageIndex, [a]); - } - return [...n.entries()].sort((a, s) => a[0] - s[0]); - }, [b]); - return r === "loading" ? /* @__PURE__ */ e(S, { - icon: "comment", - text: t("comments.loading") - }) : r === "forbidden" ? /* @__PURE__ */ e(S, { - icon: "lock", - text: t("comments.forbidden") - }) : r === "error" ? /* @__PURE__ */ e(S, { - icon: "alertTriangle", - text: t("comments.error"), - children: /* @__PURE__ */ e("button", { - type: "button", - onClick: () => void h.refresh(), - className: "bg-accent text-on-accent rounded-md px-3 py-1.5 text-sm font-medium", - children: t("comments.retry") - }) - }) : b.length === 0 ? /* @__PURE__ */ e(S, { - icon: "comment", - text: t(o ? "comments.empty" : "comments.emptyReadOnly") - }) : /* @__PURE__ */ e("div", { - ref: u, - className: "min-h-0 flex-1 overflow-y-auto", - children: /* @__PURE__ */ e("div", { - className: "flex flex-col gap-5 p-3", - children: k.map(([n, a]) => { - const s = a.reduce((m, p) => m + le(p), 0); - return /* @__PURE__ */ e("div", { - className: "flex flex-col gap-2", - children: [/* @__PURE__ */ e("div", { - className: "bg-surface sticky top-0 z-10", - children: /* @__PURE__ */ e("div", { - className: "border-border-subtle border-b pb-1.5", - children: [/* @__PURE__ */ e("h3", { - className: "text-fg text-sm font-semibold", - children: t("comments.page", { params: { page: a[0].pageLabel } }) - }), s > 0 && /* @__PURE__ */ e("p", { - className: "text-fg-muted text-xs", - children: t("comments.count", { params: { count: s } }) - })] - }) - }), /* @__PURE__ */ e("ul", { - className: "flex flex-col gap-2", - children: a.map((m) => { - const p = E(m.root.ref); - return /* @__PURE__ */ e(oe, { - view: m, - writing: o, - selected: y === p, - onSelect: () => C(m), - onPick: () => x(m), - cardRef: (T) => { - l.current[p] = T; - } - }, p); - }) - })] - }, n); - }) - }) - }); -} -function S({ icon: t, text: o, children: r }) { - return /* @__PURE__ */ e("div", { - className: "flex flex-col items-center gap-3 px-4 py-10 text-center", - children: [ - /* @__PURE__ */ e(N, { - name: t, - size: 32, - className: "text-fg-muted" - }), - /* @__PURE__ */ e("p", { - className: "text-fg-muted text-sm", - children: o - }), - r - ] - }); -} -function oe({ view: t, writing: o, selected: r, onSelect: f, onPick: b, cardRef: h }) { - const d = K(), i = P(), { touch: g } = H(), u = A(null), [l, y] = L(""), x = t.root.ref, C = Y(t), k = !C && i.canSetText(x), n = { - canDeleteThread: o && i.canDeleteThread(x), - canSetStatus: o && C && i.canSetStatus(x), - canWrite: o && (k || i.canReply(x)) - }, a = n.canSetStatus || n.canDeleteThread, s = ee(t.root), m = j(t), p = m === "completed", T = () => { - const c = l.trim(); - c && (y(""), k ? i.setText(x, c) : i.reply(x, c)); - }; - return /* @__PURE__ */ e("li", { - ref: h, - onClick: f, - onContextMenu: (c) => { - a && (c.preventDefault(), b(), u.current?.querySelector("button")?.click()); - }, - className: `bg-surface group cursor-pointer rounded-lg border shadow-sm transition-all hover:shadow-md ${r ? "border-accent ring-accent/40 ring-2" : "border-border-subtle"}`, - children: /* @__PURE__ */ e("div", { - className: "flex flex-col gap-2 p-3", - children: [ - /* @__PURE__ */ e("div", { - className: "flex items-start gap-2.5", - children: [ - /* @__PURE__ */ e(q, { - content: { label: d(s.labelKey, { fallback: s.label }) }, - children: (c) => /* @__PURE__ */ e("div", { - ...c, - role: "img", - "aria-label": d(s.labelKey, { fallback: s.label }), - className: "bg-hover grid h-8 w-8 shrink-0 place-items-center rounded-full", - children: /* @__PURE__ */ e(N, { - name: s.icon, - size: 18, - accent: te(t.root) - }) - }) - }), - /* @__PURE__ */ e("div", { - className: "min-w-0 flex-1", - children: [/* @__PURE__ */ e("div", { - className: "text-fg truncate text-sm font-medium", - children: t.root.author ?? d("comments.anonymous") - }), /* @__PURE__ */ e("div", { - className: "text-fg-muted flex items-center gap-1.5 text-xs", - children: [/* @__PURE__ */ e("span", { children: R(t.root.modifiedAt ?? t.root.createdAt) }), m !== "none" && /* @__PURE__ */ e(q, { - content: t.review.lastChange?.by ? { label: `${I(d, m)} · ${t.review.lastChange.by}` } : null, - children: (c) => /* @__PURE__ */ e("span", { - ...c, - className: "bg-accent-light text-accent rounded px-1.5 text-[11px] font-medium", - children: I(d, m) - }) - })] - })] - }), - (n.canSetStatus || a) && /* @__PURE__ */ e("div", { - onClick: (c) => c.stopPropagation(), - className: `flex shrink-0 items-center ${r || g ? "" : "opacity-0 focus-within:opacity-100 group-hover:opacity-100"}`, - children: [n.canSetStatus && /* @__PURE__ */ e(v, { - label: d("comments.markCompleted"), - "aria-pressed": p, - part: U(p), - onClick: () => void i.setStatus(x, p ? "none" : "completed"), - className: G(p), - children: /* @__PURE__ */ e(N, { - name: "circleCheck", - size: 20 - }) - }), a && /* @__PURE__ */ e("span", { - ref: u, - onPointerDownCapture: b, - children: /* @__PURE__ */ e(ae, {}) - })] - }) - ] - }), - /* @__PURE__ */ e(M, { - annotationRef: t.root.ref, - text: t.root.contents ?? "", - deletable: !1, - writing: o - }), - t.replies.length > 0 && /* @__PURE__ */ e("div", { - className: "border-border-subtle flex flex-col gap-2 border-t pt-2", - children: t.replies.map((c) => /* @__PURE__ */ e(re, { - dto: c, - writing: o - }, E(c.ref))) - }), - n.canWrite && (r || l) && /* @__PURE__ */ e("div", { - className: `flex items-center gap-1.5 ${C ? "border-border-subtle border-t pt-2" : ""}`, - onClick: (c) => c.stopPropagation(), - children: [/* @__PURE__ */ e("input", { - type: "text", - value: l, - placeholder: d(C ? "comments.replyPlaceholder" : "comments.addPlaceholder"), - onChange: (c) => y(c.target.value), - onKeyDown: (c) => c.key === "Enter" && T(), - className: "border-border bg-surface text-fg focus:border-accent h-8 w-full min-w-0 flex-1 rounded-md border px-2.5 text-sm outline-none" - }), /* @__PURE__ */ e(v, { - label: d(C ? "comments.reply" : "commands.comment"), - onClick: T, - disabled: !l.trim(), - className: "bg-accent text-on-accent grid h-8 w-8 shrink-0 place-items-center rounded-md disabled:opacity-40", - children: /* @__PURE__ */ e(N, { - name: "send", - size: 16 - }) - })] - }) - ] - }) - }); -} -function ae() { - const t = J("menu:comment-item"); - return t.visible ? /* @__PURE__ */ e(Q, { - cmd: t, - variant: "icon", - run: () => void t.run() - }) : null; -} -function re({ dto: t, writing: o }) { - const r = K(); - return /* @__PURE__ */ e("div", { - className: "border-border-subtle ms-1 border-s-2 ps-2", - children: [/* @__PURE__ */ e("div", { - className: "flex items-baseline gap-2", - children: [/* @__PURE__ */ e("span", { - className: "text-fg-secondary text-xs font-medium", - children: t.author ?? r("comments.anonymous") - }), /* @__PURE__ */ e("span", { - className: "text-fg-muted text-[11px]", - children: R(t.modifiedAt ?? t.createdAt) - })] - }), /* @__PURE__ */ e(M, { - annotationRef: t.ref, - text: t.contents ?? "", - deletable: !0, - writing: o - })] - }); -} -function M({ annotationRef: t, text: o, deletable: r, writing: f }) { - const b = K(), h = P(), d = { - canEditText: f && h.canSetText(t), - canDelete: f && h.canDelete(t) - }, [i, g] = L(null); - if (i !== null) { - const u = () => { - const l = i.trim(); - g(null), l && l !== o && h.setText(t, l); - }; - return /* @__PURE__ */ e("textarea", { - value: i, - autoFocus: !0, - rows: 2, - onClick: (l) => l.stopPropagation(), - onChange: (l) => g(l.target.value), - onBlur: u, - onKeyDown: (l) => { - l.key === "Enter" && !l.shiftKey && (l.preventDefault(), u()), l.key === "Escape" && g(null); - }, - className: "border-accent bg-surface text-fg w-full resize-none rounded-md border px-2 py-1 text-sm outline-none" - }); - } - return !o && !r ? null : /* @__PURE__ */ e("div", { - className: "group/body flex items-start gap-1", - children: [ - /* @__PURE__ */ e("p", { - className: "text-fg min-w-0 flex-1 whitespace-pre-wrap text-sm", - children: o - }), - d.canEditText && /* @__PURE__ */ e(v, { - label: b("comments.edit"), - onClick: (u) => { - u.stopPropagation(), g(o); - }, - className: "text-fg-muted hover:text-fg grid h-5 w-5 shrink-0 place-items-center rounded opacity-0 group-hover/body:opacity-100", - children: /* @__PURE__ */ e(N, { - name: "pencilMarker", - size: 12 - }) - }), - r && d.canDelete && /* @__PURE__ */ e(v, { - label: b("comments.delete"), - onClick: (u) => { - u.stopPropagation(), h.delete(t); - }, - className: "text-fg-muted hover:text-fg grid h-5 w-5 shrink-0 place-items-center rounded opacity-0 group-hover/body:opacity-100", - children: /* @__PURE__ */ e(N, { - name: "trash", - size: 12 - }) - }) - ] - }); -} -function I(t, o) { - const r = V[o]; - return r ? t(r) : o; -} -function le(t) { - return (t.root.contents?.trim() ? 1 : 0) + t.replies.length; -} -export { - se as CommentsPanel -}; -//# sourceMappingURL=comments-panel-WWRsL--Q-C5ywnt1o.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/comments-panel-WWRsL--Q-H14drDZj.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/comments-panel-WWRsL--Q-H14drDZj.js deleted file mode 100644 index bea8ca06..00000000 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/comments-panel-WWRsL--Q-H14drDZj.js +++ /dev/null @@ -1,427 +0,0 @@ -import { u as S, x as z, y as E, z as W, B, q as D, A, v as $, l as e, C as w, D as F, m as k, F as H, k as R, G as O, H as _, W as L, T as K, r as G, J as Y, R as J, K as U, L as V } from "./init-DY-DOXIU.js"; -import { AnnotationToken as j, annotationKey as P } from "@embedpdf/plugin-annotation"; -import { StageToken as Q } from "@embedpdf/plugin-stage"; -const X = { - text: { - icon: "message", - labelKey: "annotation.comment", - label: "Comment" - }, - highlight: { - icon: "highlight", - labelKey: "annotation.highlight", - label: "Highlight" - }, - underline: { - icon: "underline", - labelKey: "annotation.underline", - label: "Underline" - }, - squiggly: { - icon: "squiggly", - labelKey: "annotation.squiggly", - label: "Squiggly" - }, - strikeout: { - icon: "strikethrough", - labelKey: "annotation.strikeout", - label: "Strikethrough" - }, - square: { - icon: "square", - labelKey: "annotation.square", - label: "Square" - }, - circle: { - icon: "circle", - labelKey: "annotation.circle", - label: "Circle" - }, - line: { - icon: "line", - labelKey: "annotation.line", - label: "Line" - }, - polygon: { - icon: "polygon", - labelKey: "annotation.polygon", - label: "Polygon" - }, - polyline: { - icon: "zigzag", - labelKey: "annotation.polyline", - label: "Polyline" - }, - ink: { - icon: "pencilMarker", - labelKey: "annotation.ink", - label: "Ink" - }, - "free-text": { - icon: "freeText", - labelKey: "annotation.freeText", - label: "Text" - }, - stamp: { - icon: "rubberStamp", - labelKey: "annotation.stamp", - label: "Stamp" - }, - caret: { - icon: "insertText", - labelKey: "annotation.caret", - label: "Caret" - }, - redact: { - icon: "redact", - labelKey: "annotation.redact", - label: "Redact" - }, - "file-attachment": { - icon: "paperclip", - labelKey: "annotation.fileAttachment", - label: "Attachment" - } -}, Z = { - icon: "message", - labelKey: "annotation.comment", - label: "Comment" -}, ee = (t) => X[t.subtype] ?? Z, te = (t) => { - const o = t, r = o.fontColor ?? o.color, f = o.interiorColor ?? void 0; - return { - ...r ? { primary: r } : {}, - ...f ? { secondary: f } : {} - }; -}, I = (t) => { - if (!t) return ""; - const o = new Date(t); - return Number.isNaN(o.getTime()) ? "" : o.toLocaleDateString(void 0, { - month: "short", - day: "numeric" - }); -}; -function ne() { - const t = w(); - return F((o) => o.disabledCategories), !t.isCategoryDisabled("comments.writing"); -} -function me() { - const t = S(), o = ne(), r = z((n) => n.status), f = E(), b = W(), h = B(j), d = B(Q), i = z((n) => n.selected), g = D(() => i.map((n) => n.ref), [i]), u = A(null), l = A({}), y = D(() => { - for (const n of g) { - const a = f.getThread(n); - if (a) return P(a.root.ref); - } - return null; - }, [g, f]); - $(() => { - if (!y || !u.current) return; - const n = l.current[y]; - if (!n) return; - const a = u.current, s = n.getBoundingClientRect(), m = a.getBoundingClientRect(); - if (s.top >= m.top && s.bottom <= m.bottom) return; - const p = n.offsetTop - a.clientHeight / 2 + n.clientHeight / 2 - a.offsetTop; - a.scrollTo({ - top: p, - behavior: "smooth" - }); - }, [y]); - const x = (n) => h.selection.select([n.root.ref]), C = (n) => { - h.selection.select([n.root.ref]), !(n.pageIndex < 0) && d?.reveal(n.pageIndex, { - rect: n.root.rect, - align: { - x: "center", - y: 0.35 - }, - behavior: "smooth" - }); - }, N = D(() => { - const n = /* @__PURE__ */ new Map(); - for (const a of b) { - const s = n.get(a.pageIndex); - s ? s.push(a) : n.set(a.pageIndex, [a]); - } - return [...n.entries()].sort((a, s) => a[0] - s[0]); - }, [b]); - return r === "loading" ? /* @__PURE__ */ e(v, { - icon: "comment", - text: t("comments.loading") - }) : r === "forbidden" ? /* @__PURE__ */ e(v, { - icon: "lock", - text: t("comments.forbidden") - }) : r === "error" ? /* @__PURE__ */ e(v, { - icon: "alertTriangle", - text: t("comments.error"), - children: /* @__PURE__ */ e("button", { - type: "button", - onClick: () => void h.refresh(), - className: "bg-accent text-on-accent rounded-md px-3 py-1.5 text-sm font-medium", - children: t("comments.retry") - }) - }) : b.length === 0 ? /* @__PURE__ */ e(v, { - icon: "comment", - text: t(o ? "comments.empty" : "comments.emptyReadOnly") - }) : /* @__PURE__ */ e("div", { - ref: u, - className: "min-h-0 flex-1 overflow-y-auto", - children: /* @__PURE__ */ e("div", { - className: "flex flex-col gap-5 p-3", - children: N.map(([n, a]) => { - const s = a.reduce((m, p) => m + le(p), 0); - return /* @__PURE__ */ e("div", { - className: "flex flex-col gap-2", - children: [/* @__PURE__ */ e("div", { - className: "bg-surface sticky top-0 z-10", - children: /* @__PURE__ */ e("div", { - className: "border-border-subtle border-b pb-1.5", - children: [/* @__PURE__ */ e("h3", { - className: "text-fg text-sm font-semibold", - children: t("comments.page", { params: { page: a[0].pageLabel } }) - }), s > 0 && /* @__PURE__ */ e("p", { - className: "text-fg-muted text-xs", - children: t("comments.count", { params: { count: s } }) - })] - }) - }), /* @__PURE__ */ e("ul", { - className: "flex flex-col gap-2", - children: a.map((m) => { - const p = P(m.root.ref); - return /* @__PURE__ */ e(oe, { - view: m, - writing: o, - selected: y === p, - onSelect: () => C(m), - onPick: () => x(m), - cardRef: (T) => { - l.current[p] = T; - } - }, p); - }) - })] - }, n); - }) - }) - }); -} -function v({ icon: t, text: o, children: r }) { - return /* @__PURE__ */ e("div", { - className: "flex flex-col items-center gap-3 px-4 py-10 text-center", - children: [ - /* @__PURE__ */ e(k, { - name: t, - size: 32, - className: "text-fg-muted" - }), - /* @__PURE__ */ e("p", { - className: "text-fg-muted text-sm", - children: o - }), - r - ] - }); -} -function oe({ view: t, writing: o, selected: r, onSelect: f, onPick: b, cardRef: h }) { - const d = S(), i = E(), { touch: g } = H(), u = A(null), [l, y] = R(""), x = t.root.ref, C = O(t), N = !C && i.canSetText(x), n = { - canDeleteThread: o && i.canDeleteThread(x), - canSetStatus: o && C && i.canSetStatus(x), - canWrite: o && (N || i.canReply(x)) - }, a = n.canSetStatus || n.canDeleteThread, s = ee(t.root), m = _(t), p = m === "completed", T = () => { - const c = l.trim(); - c && (y(""), N ? i.setText(x, c) : i.reply(x, c)); - }; - return /* @__PURE__ */ e("li", { - ref: h, - onClick: f, - onContextMenu: (c) => { - a && (c.preventDefault(), b(), u.current?.querySelector("button")?.click()); - }, - className: `bg-surface group cursor-pointer rounded-lg border shadow-sm transition-all hover:shadow-md ${r ? "border-accent ring-accent/40 ring-2" : "border-border-subtle"}`, - children: /* @__PURE__ */ e("div", { - className: "flex flex-col gap-2 p-3", - children: [ - /* @__PURE__ */ e("div", { - className: "flex items-start gap-2.5", - children: [ - /* @__PURE__ */ e(L, { - content: { label: d(s.labelKey, { fallback: s.label }) }, - children: (c) => /* @__PURE__ */ e("div", { - ...c, - role: "img", - "aria-label": d(s.labelKey, { fallback: s.label }), - className: "bg-hover grid h-8 w-8 shrink-0 place-items-center rounded-full", - children: /* @__PURE__ */ e(k, { - name: s.icon, - size: 18, - accent: te(t.root) - }) - }) - }), - /* @__PURE__ */ e("div", { - className: "min-w-0 flex-1", - children: [/* @__PURE__ */ e("div", { - className: "text-fg truncate text-sm font-medium", - children: t.root.author ?? d("comments.anonymous") - }), /* @__PURE__ */ e("div", { - className: "text-fg-muted flex items-center gap-1.5 text-xs", - children: [/* @__PURE__ */ e("span", { children: I(t.root.modifiedAt ?? t.root.createdAt) }), m !== "none" && /* @__PURE__ */ e(L, { - content: t.review.lastChange?.by ? { label: `${q(d, m)} · ${t.review.lastChange.by}` } : null, - children: (c) => /* @__PURE__ */ e("span", { - ...c, - className: "bg-accent-light text-accent rounded px-1.5 text-[11px] font-medium", - children: q(d, m) - }) - })] - })] - }), - (n.canSetStatus || a) && /* @__PURE__ */ e("div", { - onClick: (c) => c.stopPropagation(), - className: `flex shrink-0 items-center ${r || g ? "" : "opacity-0 focus-within:opacity-100 group-hover:opacity-100"}`, - children: [n.canSetStatus && /* @__PURE__ */ e(K, { - label: d("comments.markCompleted"), - "aria-pressed": p, - part: Y(p), - onClick: () => void i.setStatus(x, p ? "none" : "completed"), - className: G(p), - children: /* @__PURE__ */ e(k, { - name: "circleCheck", - size: 20 - }) - }), a && /* @__PURE__ */ e("span", { - ref: u, - onPointerDownCapture: b, - children: /* @__PURE__ */ e(ae, {}) - })] - }) - ] - }), - /* @__PURE__ */ e(M, { - annotationRef: t.root.ref, - text: t.root.contents ?? "", - deletable: !1, - writing: o - }), - t.replies.length > 0 && /* @__PURE__ */ e("div", { - className: "border-border-subtle flex flex-col gap-2 border-t pt-2", - children: t.replies.map((c) => /* @__PURE__ */ e(re, { - dto: c, - writing: o - }, P(c.ref))) - }), - n.canWrite && (r || l) && /* @__PURE__ */ e("div", { - className: `flex items-center gap-1.5 ${C ? "border-border-subtle border-t pt-2" : ""}`, - onClick: (c) => c.stopPropagation(), - children: [/* @__PURE__ */ e("input", { - type: "text", - value: l, - placeholder: d(C ? "comments.replyPlaceholder" : "comments.addPlaceholder"), - onChange: (c) => y(c.target.value), - onKeyDown: (c) => c.key === "Enter" && T(), - className: "border-border bg-surface text-fg focus:border-accent h-8 w-full min-w-0 flex-1 rounded-md border px-2.5 text-sm outline-none" - }), /* @__PURE__ */ e(K, { - label: d(C ? "comments.reply" : "commands.comment"), - onClick: T, - disabled: !l.trim(), - className: "bg-accent text-on-accent grid h-8 w-8 shrink-0 place-items-center rounded-md disabled:opacity-40", - children: /* @__PURE__ */ e(k, { - name: "send", - size: 16 - }) - })] - }) - ] - }) - }); -} -function ae() { - const t = U("menu:comment-item"); - return t.visible ? /* @__PURE__ */ e(V, { - cmd: t, - variant: "icon", - run: () => void t.run() - }) : null; -} -function re({ dto: t, writing: o }) { - const r = S(); - return /* @__PURE__ */ e("div", { - className: "border-border-subtle ms-1 border-s-2 ps-2", - children: [/* @__PURE__ */ e("div", { - className: "flex items-baseline gap-2", - children: [/* @__PURE__ */ e("span", { - className: "text-fg-secondary text-xs font-medium", - children: t.author ?? r("comments.anonymous") - }), /* @__PURE__ */ e("span", { - className: "text-fg-muted text-[11px]", - children: I(t.modifiedAt ?? t.createdAt) - })] - }), /* @__PURE__ */ e(M, { - annotationRef: t.ref, - text: t.contents ?? "", - deletable: !0, - writing: o - })] - }); -} -function M({ annotationRef: t, text: o, deletable: r, writing: f }) { - const b = S(), h = E(), d = { - canEditText: f && h.canSetText(t), - canDelete: f && h.canDelete(t) - }, [i, g] = R(null); - if (i !== null) { - const u = () => { - const l = i.trim(); - g(null), l && l !== o && h.setText(t, l); - }; - return /* @__PURE__ */ e("textarea", { - value: i, - autoFocus: !0, - rows: 2, - onClick: (l) => l.stopPropagation(), - onChange: (l) => g(l.target.value), - onBlur: u, - onKeyDown: (l) => { - l.key === "Enter" && !l.shiftKey && (l.preventDefault(), u()), l.key === "Escape" && g(null); - }, - className: "border-accent bg-surface text-fg w-full resize-none rounded-md border px-2 py-1 text-sm outline-none" - }); - } - return !o && !r ? null : /* @__PURE__ */ e("div", { - className: "group/body flex items-start gap-1", - children: [ - /* @__PURE__ */ e("p", { - className: "text-fg min-w-0 flex-1 whitespace-pre-wrap text-sm", - children: o - }), - d.canEditText && /* @__PURE__ */ e(K, { - label: b("comments.edit"), - onClick: (u) => { - u.stopPropagation(), g(o); - }, - className: "text-fg-muted hover:text-fg grid h-5 w-5 shrink-0 place-items-center rounded opacity-0 group-hover/body:opacity-100", - children: /* @__PURE__ */ e(k, { - name: "pencilMarker", - size: 12 - }) - }), - r && d.canDelete && /* @__PURE__ */ e(K, { - label: b("comments.delete"), - onClick: (u) => { - u.stopPropagation(), h.delete(t); - }, - className: "text-fg-muted hover:text-fg grid h-5 w-5 shrink-0 place-items-center rounded opacity-0 group-hover/body:opacity-100", - children: /* @__PURE__ */ e(k, { - name: "trash", - size: 12 - }) - }) - ] - }); -} -function q(t, o) { - const r = J[o]; - return r ? t(r) : o; -} -function le(t) { - return (t.root.contents?.trim() ? 1 : 0) + t.replies.length; -} -export { - me as CommentsPanel -}; -//# sourceMappingURL=comments-panel-WWRsL--Q-H14drDZj.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/de-Brfb8qPY-DjSVSg7f.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/de-DAeMkxx6-Bxe1Z0it.js similarity index 99% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/de-Brfb8qPY-DjSVSg7f.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/de-DAeMkxx6-Bxe1Z0it.js index b96faf63..e8df2a29 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/de-Brfb8qPY-DjSVSg7f.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/de-DAeMkxx6-Bxe1Z0it.js @@ -99,6 +99,7 @@ const e = { saveFile: "Datei speichern", removeLink: "Link entfernen", delete: "Löschen", + duplicate: "Duplizieren", group: "Gruppieren", ungroup: "Gruppierung aufheben", stampFromSelection: "Stempel erstellen", @@ -475,7 +476,8 @@ const e = { boxes: "Kästchen", box: "Kästchen {number}", addButton: "Optionsfeld hinzufügen", - addBox: "Kästchen hinzufügen" + addBox: "Kästchen hinzufügen", + duplicateGroup: "Gruppe duplizieren" }, stylePanel: { mixed: "(gemischt)", @@ -732,4 +734,4 @@ const e = { export { e as de }; -//# sourceMappingURL=de-Brfb8qPY-DjSVSg7f.js.map +//# sourceMappingURL=de-DAeMkxx6-Bxe1Z0it.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/embedpdf-worker.source-Bj9KREQ9-zQG3AtU_.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/embedpdf-worker.source-Bj9KREQ9-zQG3AtU_.js deleted file mode 100644 index 9766bb27..00000000 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/embedpdf-worker.source-Bj9KREQ9-zQG3AtU_.js +++ /dev/null @@ -1,5 +0,0 @@ -var e = '"use strict";(()=>{var Ww=Object.defineProperty;var HE=(e,t,r)=>t in e?Ww(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Uw=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error(\'Dynamic require of "\'+e+\'" is not supported\')});var it=(e,t,r)=>()=>{if(r)throw r[0];try{return e&&(t=e(e=0)),t}catch(n){throw r=[n],n}};var Ze=(e,t)=>{for(var r in t)Ww(e,r,{get:t[r],enumerable:!0})};var Wt=(e,t,r)=>HE(e,typeof t!="symbol"?t+"":t,r);var Jf={};Ze(Jf,{default:()=>_G});var EG,_G,$f=it(()=>{"use strict";EG=(()=>{var e=self.location.href;return(function(t={}){var r,n=t,i,a,o=new Promise((u,l)=>{i=u,a=l});["_EPDF_CheckPasswordPermissions","_EPDF_DigestBuffer","_EPDF_FreeBuffer","_EPDF_GetDecodedImageBytes","_EPDF_GetMetaKeyCount","_EPDF_GetMetaKeyName","_EPDF_GetMetaTrapped","_EPDF_GetPageBoxByIndex","_EPDF_GetPageRotateByIndex","_EPDF_GetPageTabOrderByIndex","_EPDF_GetPageUserUnitByIndex","_EPDF_HasMetaText","_EPDF_InitThread","_EPDF_IsEncrypted","_EPDF_IsOwnerUnlocked","_EPDF_LoadBaseDocument","_EPDF_LoadMemBaseDocument","_EPDF_LoadMemBaseDocument64","_EPDF_LoadPageNormalized","_EPDF_PNG_EncodeRGBA","_EPDF_ReleaseBaseDocument","_EPDF_RemoveEncryption","_EPDF_RenderAnnotBitmap","_EPDF_RenderAnnotBitmapUnrotated","_EPDF_RenderPage_Continue","_EPDF_RenderPageBitmapWithMatrix_Start","_EPDF_SaveAsCopyEx","_EPDF_SaveDocumentToOwnedBuffer","_EPDF_SaveDocumentToOwnedBufferEx","_EPDF_SaveDocumentToOwnedBufferWithVersion","_EPDF_SetBaseDocumentSha256","_EPDF_SetDecodedImageBudget","_EPDF_SetEncryption","_EPDF_SetMetaText","_EPDF_SetMetaTrapped","_EPDF_SetRuntimeOwnerPermissions","_EPDF_ShutdownThread","_EPDF_UnlockOwnerPermissions","_EPDFAction_CloseModel","_EPDFAction_CreateGoTo","_EPDFAction_CreateGoToNamed","_EPDFAction_CreateHide","_EPDFAction_CreateJavaScript","_EPDFAction_CreateLaunch","_EPDFAction_CreateNamed","_EPDFAction_CreateRemoteGoToByName","_EPDFAction_CreateRemoteGoToDest","_EPDFAction_CreateResetForm","_EPDFAction_CreateSubmitForm","_EPDFAction_CreateURI","_EPDFAction_GetNextAt","_EPDFAction_GetNextCount","_EPDFAction_GetNodeCount","_EPDFAction_GetNodeDest","_EPDFAction_GetNodeFilePath","_EPDFAction_GetNodeHideFlag","_EPDFAction_GetNodeJavaScript","_EPDFAction_GetNodeName","_EPDFAction_GetNodeResetForm","_EPDFAction_GetNodeSubmitForm","_EPDFAction_GetNodeSubmitFormCharSet","_EPDFAction_GetNodeSubmitFormURL","_EPDFAction_GetNodeSubtype","_EPDFAction_GetNodeTargetCount","_EPDFAction_GetNodeTargetName","_EPDFAction_GetNodeTargetObjectNumber","_EPDFAction_GetNodeType","_EPDFAction_GetNodeURI","_EPDFAction_GetNodeURIIsMap","_EPDFAction_GetRootNode","_EPDFAction_GetWarningFlags","_EPDFAction_IsComplete","_EPDFAction_LoadModel","_EPDFAction_NodeHasJavaScript","_EPDFAction_SetNext","_EPDFAnnot_AddMeasure","_EPDFAnnot_ClearBorderEffect","_EPDFAnnot_ClearColor","_EPDFAnnot_ClearEmbedMetadata","_EPDFAnnot_ClearEmbedMetadataKey","_EPDFAnnot_ClearMKColor","_EPDFAnnot_ClearRectangleDifferences","_EPDFAnnot_ExportAppearance","_EPDFAnnot_GenerateAppearance","_EPDFAnnot_GenerateAppearanceWithBlend","_EPDFAnnot_GenerateFormFieldAP","_EPDFAnnot_GetActionModel","_EPDFAnnot_GetAPMatrix","_EPDFAnnot_GetAppearanceState","_EPDFAnnot_GetAppearanceStateCount","_EPDFAnnot_GetAppearanceStateName","_EPDFAnnot_GetAppearanceTransform","_EPDFAnnot_GetAvailableAppearanceModes","_EPDFAnnot_GetBlendMode","_EPDFAnnot_GetBooleanValue","_EPDFAnnot_GetBorderDashPattern","_EPDFAnnot_GetBorderDashPatternCount","_EPDFAnnot_GetBorderEffect","_EPDFAnnot_GetBorderStyle","_EPDFAnnot_GetCalloutLine","_EPDFAnnot_GetCalloutLineCount","_EPDFAnnot_GetColor","_EPDFAnnot_GetDefaultAppearance","_EPDFAnnot_GetDefaultAppearanceFontFace","_EPDFAnnot_GetDefaultAppearanceFontPostScriptName","_EPDFAnnot_GetDrawingRect","_EPDFAnnot_GetEmbedMetadataBoolean","_EPDFAnnot_GetEmbedMetadataJSON","_EPDFAnnot_GetEmbedMetadataNumber","_EPDFAnnot_GetEmbedMetadataRect","_EPDFAnnot_GetEmbedMetadataString","_EPDFAnnot_GetFileAttachmentForWrite","_EPDFAnnot_GetIntent","_EPDFAnnot_GetLineCaption","_EPDFAnnot_GetLineEndings","_EPDFAnnot_GetLineLeader","_EPDFAnnot_GetMeasure","_EPDFAnnot_GetMKColor","_EPDFAnnot_GetMKRotation","_EPDFAnnot_GetMKText","_EPDFAnnot_GetMKTextPosition","_EPDFAnnot_GetName","_EPDFAnnot_GetObjectNumber","_EPDFAnnot_GetOpacity","_EPDFAnnot_GetOverlayText","_EPDFAnnot_GetOverlayTextRepeat","_EPDFAnnot_GetRect","_EPDFAnnot_GetRectangleDifferences","_EPDFAnnot_GetReplyType","_EPDFAnnot_GetRichContent","_EPDFAnnot_GetRichTextJSON","_EPDFAnnot_GetRotate","_EPDFAnnot_GetShapeCaption","_EPDFAnnot_GetStampDrawing","_EPDFAnnot_GetStructurePosition","_EPDFAnnot_GetTextAlignment","_EPDFAnnot_HasAppearanceStream","_EPDFAnnot_HasEmbedMetadata","_EPDFAnnot_IsValid","_EPDFAnnot_RemoveAction","_EPDFAnnot_RemoveDest","_EPDFAnnot_RemoveKey","_EPDFAnnot_RemoveMeasure","_EPDFAnnot_SetAction","_EPDFAnnot_SetAPMatrix","_EPDFAnnot_SetAppearanceFromPage","_EPDFAnnot_SetBooleanValue","_EPDFAnnot_SetBorderDashPattern","_EPDFAnnot_SetBorderEffect","_EPDFAnnot_SetBorderStyle","_EPDFAnnot_SetCalloutLine","_EPDFAnnot_SetColor","_EPDFAnnot_SetDefaultAppearance","_EPDFAnnot_SetDefaultAppearanceDocumentFont","_EPDFAnnot_SetDefaultAppearanceRegisteredFont","_EPDFAnnot_SetEmbedMetadataBoolean","_EPDFAnnot_SetEmbedMetadataJSON","_EPDFAnnot_SetEmbedMetadataNumber","_EPDFAnnot_SetEmbedMetadataRect","_EPDFAnnot_SetEmbedMetadataString","_EPDFAnnot_SetEventAction","_EPDFAnnot_SetIntent","_EPDFAnnot_SetLine","_EPDFAnnot_SetLineCaption","_EPDFAnnot_SetLineEndings","_EPDFAnnot_SetLineLeader","_EPDFAnnot_SetLinkedAnnot","_EPDFAnnot_SetMKColor","_EPDFAnnot_SetMKRotation","_EPDFAnnot_SetMKText","_EPDFAnnot_SetMKTextPosition","_EPDFAnnot_SetName","_EPDFAnnot_SetNoColor","_EPDFAnnot_SetNumberValue","_EPDFAnnot_SetOpacity","_EPDFAnnot_SetOverlayText","_EPDFAnnot_SetOverlayTextRepeat","_EPDFAnnot_SetRect","_EPDFAnnot_SetReplyType","_EPDFAnnot_SetRichTextJSON","_EPDFAnnot_SetRichTextXHTML","_EPDFAnnot_SetRotate","_EPDFAnnot_SetShapeCaption","_EPDFAnnot_SetStampDrawing","_EPDFAnnot_SetStampOpacity","_EPDFAnnot_SetSubtype","_EPDFAnnot_SetTextAlignment","_EPDFAnnot_SetVertices","_EPDFAnnot_UpdateAppearanceToRect","_EPDFAttachment_ExportCanonicalToOwnedBuffer","_EPDFAttachment_ExportRawToOwnedBuffer","_EPDFAttachment_ExtractFile","_EPDFAttachment_ExtractFileToOwnedBuffer","_EPDFAttachment_GetDescription","_EPDFAttachment_GetIntegerValue","_EPDFAttachment_ImportRaw","_EPDFAttachment_SetDescription","_EPDFAttachment_SetName","_EPDFAttachment_SetSubtype","_EPDFCatalog_GetLanguage","_EPDFCatalog_GetMetadata","_EPDFCatalog_SetMetadata","_EPDFDest_CreateRemoteView","_EPDFDest_CreateRemoteXYZ","_EPDFDest_CreateView","_EPDFDest_CreateViewByObjectNumber","_EPDFDest_CreateXYZ","_EPDFDest_CreateXYZByObjectNumber","_EPDFDest_GetPageObjectNumber","_EPDFDest_GetViewNullParams","_EPDFDoc_CanonicalDrawing","_EPDFDoc_ClearMissingCharacters","_EPDFDoc_ClearPagePieceInfoEntry","_EPDFDoc_ClearPagePieceInfoKey","_EPDFDoc_ClearPieceInfoEntry","_EPDFDoc_ClearPieceInfoKey","_EPDFDoc_CompareRevisions","_EPDFDoc_CountMissingCharacters","_EPDFDoc_DeletePageByObjectNumber","_EPDFDoc_ExportDictCanonicalToOwnedBuffer","_EPDFDoc_ExportDictRawToOwnedBuffer","_EPDFDoc_ExportDrawing","_EPDFDoc_ExportPagesFlattened","_EPDFDoc_GetAdditionalActionModel","_EPDFDoc_GetAttachmentIndexByKey","_EPDFDoc_GetAttachmentKey","_EPDFDoc_GetBaseBytesSize","_EPDFDoc_GetFontDisplayProgramCoverage","_EPDFDoc_GetFontDisplayProgramData","_EPDFDoc_GetFontEmbeddingPolicy","_EPDFDoc_GetFontProgramData","_EPDFDoc_GetFontsFingerprint","_EPDFDoc_GetImportFieldRoots","_EPDFDoc_GetLastModified","_EPDFDoc_GetLoadedBytesSize","_EPDFDoc_GetMissingCharacter","_EPDFDoc_GetNamedJavaScriptActionModel","_EPDFDoc_GetNamedPageAt","_EPDFDoc_GetNamedPageCount","_EPDFDoc_GetOpenActionDest","_EPDFDoc_GetOpenActionModel","_EPDFDoc_GetPageActionModel","_EPDFDoc_GetPageLabelSectionAt","_EPDFDoc_GetPageLabelSectionCount","_EPDFDoc_GetPageLastModified","_EPDFDoc_GetPageObjectNumberByIndex","_EPDFDoc_GetPagePieceInfoBoolean","_EPDFDoc_GetPagePieceInfoEntryAt","_EPDFDoc_GetPagePieceInfoEntryCount","_EPDFDoc_GetPagePieceInfoKeyAt","_EPDFDoc_GetPagePieceInfoKeyCount","_EPDFDoc_GetPagePieceInfoLastModified","_EPDFDoc_GetPagePieceInfoName","_EPDFDoc_GetPagePieceInfoNumber","_EPDFDoc_GetPagePieceInfoString","_EPDFDoc_GetPagePieceInfoStringArrayAt","_EPDFDoc_GetPagePieceInfoStringArrayCount","_EPDFDoc_GetPagePieceInfoValueType","_EPDFDoc_GetPieceInfoBoolean","_EPDFDoc_GetPieceInfoEntryAt","_EPDFDoc_GetPieceInfoEntryCount","_EPDFDoc_GetPieceInfoKeyAt","_EPDFDoc_GetPieceInfoKeyCount","_EPDFDoc_GetPieceInfoLastModified","_EPDFDoc_GetPieceInfoName","_EPDFDoc_GetPieceInfoNumber","_EPDFDoc_GetPieceInfoString","_EPDFDoc_GetPieceInfoStringArrayAt","_EPDFDoc_GetPieceInfoStringArrayCount","_EPDFDoc_GetPieceInfoValueType","_EPDFDoc_GetRevision","_EPDFDoc_GetRevisionCount","_EPDFDoc_GetStampDrawings","_EPDFDoc_GetStructureObjectNumbers","_EPDFDoc_GetTypographicFeatures","_EPDFDoc_HasPagePieceInfoEntry","_EPDFDoc_HasPieceInfoEntry","_EPDFDoc_ImportDictRaw","_EPDFDoc_ImportDrawing","_EPDFDoc_ImportPages","_EPDFDoc_LoadPageByObjectNumber","_EPDFDoc_LoadPageByObjectNumberNormalized","_EPDFDoc_OpenBaseOverlay","_EPDFDoc_OpenBaseOverlayFromPath","_EPDFDoc_OpenRevision","_EPDFDoc_ReadLoadedBytes","_EPDFDoc_RemoveNamedPage","_EPDFDoc_RemoveNamedPagesForPage","_EPDFDoc_ResolveFonts","_EPDFDoc_SetFontEmbeddingPolicy","_EPDFDoc_SetNamedPage","_EPDFDoc_SetPageLabelSections","_EPDFDoc_SetPagePieceInfoBoolean","_EPDFDoc_SetPagePieceInfoName","_EPDFDoc_SetPagePieceInfoNumber","_EPDFDoc_SetPagePieceInfoString","_EPDFDoc_SetPagePieceInfoStringArray","_EPDFDoc_SetPageRotationByObjectNumber","_EPDFDoc_SetPieceInfoBoolean","_EPDFDoc_SetPieceInfoName","_EPDFDoc_SetPieceInfoNumber","_EPDFDoc_SetPieceInfoString","_EPDFDoc_SetPieceInfoStringArray","_EPDFDoc_SetTypographicFeatures","_EPDFDoc_StartLoadPageByObjectNumber","_EPDFDocument_ClearEmbedMetadata","_EPDFFont_AddFallbackFont","_EPDFFont_AuthorizeEditing","_EPDFFont_ClearFallbackFonts","_EPDFFont_ClearRegisteredFonts","_EPDFFont_GetCoverage","_EPDFFont_GetEmbeddingPermission","_EPDFFont_GetFallbackOrder","_EPDFFont_GetFamilyName","_EPDFFont_GetLastResortFont","_EPDFFont_GetMetrics","_EPDFFont_GetPostScriptName","_EPDFFont_GetProgramData","_EPDFFont_GetProgramFormat","_EPDFFont_GetProgramHash","_EPDFFont_GetWeight","_EPDFFont_IsEditingAuthorized","_EPDFFont_IsInstanced","_EPDFFont_IsItalic","_EPDFFont_RegisterFont","_EPDFFont_RegisterMemFont","_EPDFFont_RegisterMemFont64","_EPDFFont_SetLastResortFont","_EPDFFontFaces_Close","_EPDFFontFaces_Count","_EPDFFontFaces_CountPrograms","_EPDFFontFaces_GetFamily","_EPDFFontFaces_GetProgramDisplayHash","_EPDFFontFaces_GetProgramEmbedded","_EPDFFontFaces_GetProgramEmbeddingPermission","_EPDFFontFaces_GetProgramFormat","_EPDFFontFaces_GetProgramHash","_EPDFFontFaces_GetProgramMetrics","_EPDFFontFaces_GetProgramObjNum","_EPDFFontFaces_GetProgramPostScriptName","_EPDFFontFaces_GetWeight","_EPDFFontFaces_IsItalic","_EPDFFontFaces_Load","_EPDFFontFaces_ProgramMapsUnicode","_EPDFFontResolution_Close","_EPDFFontResolution_CountMissingCharacters","_EPDFFontResolution_GetBaseFontName","_EPDFFontResolution_GetFallbacks","_EPDFFontResolution_GetFamily","_EPDFFontResolution_GetMissingCharacter","_EPDFFontResolution_GetProgramDisplayHash","_EPDFFontResolution_GetProgramObjNum","_EPDFFontResolution_GetRegisteredFont","_EPDFFontResolution_GetSource","_EPDFFontResolution_GetWeight","_EPDFFontResolution_IsDegraded","_EPDFFontResolution_IsItalic","_EPDFForm_AttachWidget","_EPDFForm_ClearFieldEmbedMetadata","_EPDFForm_ClearFieldEmbedMetadataKey","_EPDFForm_CloseModel","_EPDFForm_CountCalculationOrder","_EPDFForm_CountFieldDefaultValues","_EPDFForm_CountFieldOptions","_EPDFForm_CountFields","_EPDFForm_CountFieldValues","_EPDFForm_CountFieldWidgets","_EPDFForm_CreateField","_EPDFForm_DeleteField","_EPDFForm_DetachWidget","_EPDFForm_ExportFDF","_EPDFForm_ExportFieldRawToOwnedBuffer","_EPDFForm_ExportXFDF","_EPDFForm_GetCalculationOrderFieldIndex","_EPDFForm_GetFieldActionModel","_EPDFForm_GetFieldAlternateName","_EPDFForm_GetFieldDefaultValueAt","_EPDFForm_GetFieldDefaultValueKind","_EPDFForm_GetFieldEmbedMetadataBoolean","_EPDFForm_GetFieldEmbedMetadataJSON","_EPDFForm_GetFieldEmbedMetadataNumber","_EPDFForm_GetFieldEmbedMetadataString","_EPDFForm_GetFieldFamily","_EPDFForm_GetFieldFlags","_EPDFForm_GetFieldIndexByObjNum","_EPDFForm_GetFieldIndexForWidget","_EPDFForm_GetFieldMappingName","_EPDFForm_GetFieldMaxLen","_EPDFForm_GetFieldName","_EPDFForm_GetFieldObjNum","_EPDFForm_GetFieldOptionLabel","_EPDFForm_GetFieldOptionValue","_EPDFForm_GetFieldOrigin","_EPDFForm_GetFieldPartialName","_EPDFForm_GetFieldTopIndex","_EPDFForm_GetFieldValueAt","_EPDFForm_GetFieldValueKind","_EPDFForm_GetFieldWidgetExportValue","_EPDFForm_GetFieldWidgetObjNum","_EPDFForm_GetFieldWidgetOnState","_EPDFForm_GetFieldWidgetPageObjNum","_EPDFForm_GetFieldWidgetRect","_EPDFForm_GetFormKind","_EPDFForm_GetNeedAppearances","_EPDFForm_HasFieldEmbedMetadata","_EPDFForm_ImportFieldRaw","_EPDFForm_IsFieldOptionSelected","_EPDFForm_IsFieldWidgetChecked","_EPDFForm_LoadModel","_EPDFForm_RedrawFieldWidgets","_EPDFForm_Repair","_EPDFForm_SetCalculationOrder","_EPDFForm_SetFieldAlternateName","_EPDFForm_SetFieldAppearanceText","_EPDFForm_SetFieldDefaultValue","_EPDFForm_SetFieldDisplay","_EPDFForm_SetFieldEmbedMetadataBoolean","_EPDFForm_SetFieldEmbedMetadataJSON","_EPDFForm_SetFieldEmbedMetadataNumber","_EPDFForm_SetFieldEmbedMetadataString","_EPDFForm_SetFieldEventAction","_EPDFForm_SetFieldFlags","_EPDFForm_SetFieldMappingName","_EPDFForm_SetFieldMaxLen","_EPDFForm_SetFieldName","_EPDFForm_SetFieldOptions","_EPDFForm_SetFieldSelectedIndices","_EPDFForm_SetFieldValue","_EPDFForm_SetFieldWidgetsChecked","_EPDFImageObj_SetJpeg","_EPDFImageObj_SetPng","_EPDFLayer_AbortTransaction","_EPDFLayer_BeginTransaction","_EPDFLayer_CommitTransaction","_EPDFLayer_GetBaseDocument","_EPDFLayer_GetBaseSha256","_EPDFLayer_GetBirthName","_EPDFLayer_GetBirthObjectNumber","_EPDFLayer_GetLastObjectNumber","_EPDFLayer_GetPromotedObjectCount","_EPDFLayer_IsInTransaction","_EPDFLayer_IsObjectPromoted","_EPDFLayer_IsPagePromoted","_EPDFLayer_OpenLayer","_EPDFLayer_OpenLayerArtifact","_EPDFLayer_OpenLayerArtifactFromPath","_EPDFLayer_RaiseLastObjectNumber","_EPDFLayer_SaveDelta","_EPDFLayer_SaveDeltaEx","_EPDFLayer_SaveDeltaToOwnedBuffer","_EPDFLayer_SaveDeltaToOwnedBufferEx","_EPDFLayer_SaveLayerArtifact","_EPDFLayer_SaveLayerArtifactEx","_EPDFLayer_SaveLayerArtifactToOwnedBuffer","_EPDFLayer_SaveLayerArtifactToOwnedBufferEx","_EPDFMeasure_AddFormat","_EPDFMeasure_CountFormats","_EPDFMeasure_GetCYX","_EPDFMeasure_GetFormat","_EPDFMeasure_GetOrigin","_EPDFMeasure_GetRatio","_EPDFMeasure_GetSubtype","_EPDFMeasure_RemoveFormats","_EPDFMeasure_SetCYX","_EPDFMeasure_SetOrigin","_EPDFMeasure_SetRatio","_EPDFNamedDest_Remove","_EPDFNamedDest_SetDest","_EPDFNumberFormat_GetConversion","_EPDFNumberFormat_GetFixedDenominator","_EPDFNumberFormat_GetFraction","_EPDFNumberFormat_GetLabelPosition","_EPDFNumberFormat_GetPrecision","_EPDFNumberFormat_GetText","_EPDFNumberFormat_GetUnit","_EPDFNumberFormat_SetConversion","_EPDFNumberFormat_SetFixedDenominator","_EPDFNumberFormat_SetFraction","_EPDFNumberFormat_SetLabelPosition","_EPDFNumberFormat_SetPrecision","_EPDFNumberFormat_SetText","_EPDFNumberFormat_SetUnit","_EPDFObjectDiff_Close","_EPDFObjectDiff_GetCount","_EPDFObjectDiff_GetEntry","_EPDFObjectDiff_GetReadStatus","_EPDFObjectDiff_GetReferrer","_EPDFObjectDiff_GetReferrerCount","_EPDFObjectDiff_GetRevisionHealth","_EPDFObjectDiff_GetValue","_EPDFOutline_CreateItem","_EPDFOutline_DeleteItem","_EPDFOutline_ExportItemRawToOwnedBuffer","_EPDFOutline_GetItem","_EPDFOutline_GetObjectNumber","_EPDFOutline_ImportItemRaw","_EPDFOutline_MoveItem","_EPDFOutline_SetAction","_EPDFOutline_SetColor","_EPDFOutline_SetOpen","_EPDFOutline_SetStyle","_EPDFOutline_SetTitle","_EPDFPage_AddViewport","_EPDFPage_ApplyRedactions","_EPDFPage_ContinueLoad","_EPDFPage_CountViewports","_EPDFPage_CreateAnnot","_EPDFPage_CreateAnnotRaw","_EPDFPage_ExportAnnotationsAsDocument","_EPDFPage_ExportAnnotsRawToOwnedBuffer","_EPDFPage_ExportRawToOwnedBuffer","_EPDFPage_FindViewport","_EPDFPage_Flatten","_EPDFPage_FlattenAnnotations","_EPDFPage_GetAnnotByName","_EPDFPage_GetAnnotByObjectNumber","_EPDFPage_GetAnnotCountRaw","_EPDFPage_GetAnnotIndexByNameRaw","_EPDFPage_GetAnnotIndexByObjectNumberRaw","_EPDFPage_GetAnnotRaw","_EPDFPage_GetObjectNumber","_EPDFPage_GetParsedSize","_EPDFPage_GetViewport","_EPDFPage_ImportAnnotsRaw","_EPDFPage_ImportRaw","_EPDFPage_InsertBlankRaw","_EPDFPage_IsContentCurrent","_EPDFPage_IsValid","_EPDFPage_MoveAnnots","_EPDFPage_MoveAnnotsRaw","_EPDFPage_PromoteInlineAnnotsRaw","_EPDFPage_RemoveAnnot","_EPDFPage_RemoveAnnotByName","_EPDFPage_RemoveAnnotByObjectNumber","_EPDFPage_RemoveAnnotRaw","_EPDFPage_RemoveViewport","_EPDFPage_ResetRenderCache","_EPDFSig_CloseModel","_EPDFSig_Count","_EPDFSig_DigestByteRange","_EPDFSig_DigestFileRange","_EPDFSig_GetByteRange","_EPDFSig_GetContents","_EPDFSig_GetCoverage","_EPDFSig_GetDocMDPPermission","_EPDFSig_GetFieldMDPAction","_EPDFSig_GetFieldName","_EPDFSig_GetFieldNameAt","_EPDFSig_GetFieldNameCount","_EPDFSig_GetFieldObjNum","_EPDFSig_GetIndexByFieldObjNum","_EPDFSig_GetKind","_EPDFSig_GetLockAction","_EPDFSig_GetLockPermission","_EPDFSig_GetRevisionIndex","_EPDFSig_GetSeedValueFilter","_EPDFSig_GetSeedValueListAt","_EPDFSig_GetSeedValueListCount","_EPDFSig_GetSeedValueMDP","_EPDFSig_GetSeedValuePresentFlags","_EPDFSig_GetSeedValueRequiredFlags","_EPDFSig_GetSeedValueVersion","_EPDFSig_GetString","_EPDFSig_GetValueObjNum","_EPDFSig_GetWidgetObjNum","_EPDFSig_GetWidgetPageObjNum","_EPDFSig_HasSeedValue","_EPDFSig_IsCatalogCertification","_EPDFSig_IsRevisionChainValid","_EPDFSig_IsSigned","_EPDFSig_LoadModel","_EPDFSig_Prepare","_EPDFSig_SaveCandidate","_EPDFSig_SaveCandidateToOwnedBuffer","_EPDFSig_Seal","_EPDFSig_SealSpan","_EPDFSig_SetFieldLock","_EPDFSig_WriteContents","_EPDFText_GetCharGeometry","_EPDFText_GetCharToTextMap","_EPDFText_GetTextFull","_EPDFText_RedactInQuads","_EPDFText_RedactInRect","_EPDFViewport_AddMeasure","_EPDFViewport_GetBBox","_EPDFViewport_GetMeasure","_EPDFViewport_GetName","_EPDFViewport_RemoveMeasure","_EPDFViewport_SetBBox","_EPDFViewport_SetName","_FORM_CanRedo","_FORM_CanUndo","_FORM_DoDocumentAAction","_FORM_DoDocumentJSAction","_FORM_DoDocumentOpenAction","_FORM_DoPageAAction","_FORM_ForceToKillFocus","_FORM_GetFocusedAnnot","_FORM_GetFocusedText","_FORM_GetSelectedText","_FORM_GetTextDirection","_FORM_IsIndexSelected","_FORM_OnAfterLoadPage","_FORM_OnBeforeClosePage","_FORM_OnChar","_FORM_OnFocus","_FORM_OnKeyDown","_FORM_OnKeyUp","_FORM_OnLButtonDoubleClick","_FORM_OnLButtonDown","_FORM_OnLButtonUp","_FORM_OnMouseMove","_FORM_OnMouseWheel","_FORM_OnRButtonDown","_FORM_OnRButtonUp","_FORM_Redo","_FORM_ReplaceAndKeepSelection","_FORM_ReplaceSelection","_FORM_SelectAllText","_FORM_SetFocusedAnnot","_FORM_SetIndexSelected","_FORM_SetTextDirection","_FORM_Undo","_FPDF_AddInstalledFont","_FPDF_CloseDocument","_FPDF_ClosePage","_FPDF_CloseXObject","_FPDF_CopyViewerPreferences","_FPDF_CountNamedDests","_FPDF_CreateClipPath","_FPDF_CreateNewDocument","_FPDF_DestroyClipPath","_FPDF_DestroyLibrary","_FPDF_DeviceToPage","_FPDF_DocumentHasValidCrossReferenceTable","_FPDF_FFLDraw","_FPDF_FreeDefaultSystemFontInfo","_FPDF_GetDefaultSystemFontInfo","_FPDF_GetDefaultTTFMap","_FPDF_GetDefaultTTFMapCount","_FPDF_GetDefaultTTFMapEntry","_FPDF_GetDocPermissions","_FPDF_GetDocUserPermissions","_FPDF_GetFileIdentifier","_FPDF_GetFileVersion","_FPDF_GetFormType","_FPDF_GetLastError","_FPDF_GetMetaText","_FPDF_GetNamedDest","_FPDF_GetNamedDestByName","_FPDF_GetPageAAction","_FPDF_GetPageBoundingBox","_FPDF_GetPageCount","_FPDF_GetPageHeight","_FPDF_GetPageHeightF","_FPDF_GetPageLabel","_FPDF_GetPageSizeByIndex","_FPDF_GetPageSizeByIndexF","_FPDF_GetPageWidth","_FPDF_GetPageWidthF","_FPDF_GetSecurityHandlerRevision","_FPDF_GetSignatureCount","_FPDF_GetSignatureObject","_FPDF_GetTrailerEnds","_FPDF_GetXFAPacketContent","_FPDF_GetXFAPacketCount","_FPDF_GetXFAPacketName","_FPDF_ImportNPagesToOne","_FPDF_ImportPages","_FPDF_ImportPagesByIndex","_FPDF_InitLibrary","_FPDF_InitLibraryWithConfig","_FPDF_LoadCustomDocument","_FPDF_LoadDocument","_FPDF_LoadMemDocument","_FPDF_LoadMemDocument64","_FPDF_LoadPage","_FPDF_LoadXFA","_FPDF_MovePages","_FPDF_NewFormObjectFromXObject","_FPDF_NewXObjectFromPage","_FPDF_PageToDevice","_FPDF_RemoveFormFieldHighlight","_FPDF_RenderPage_Close","_FPDF_RenderPage_Continue","_FPDF_RenderPageBitmap","_FPDF_RenderPageBitmap_Start","_FPDF_RenderPageBitmapWithColorScheme_Start","_FPDF_RenderPageBitmapWithMatrix","_FPDF_SaveAsCopy","_FPDF_SaveWithVersion","_FPDF_SetFormFieldHighlightAlpha","_FPDF_SetFormFieldHighlightColor","_FPDF_SetSandBoxPolicy","_FPDF_SetSystemFontInfo","_FPDF_StructElement_Attr_CountChildren","_FPDF_StructElement_Attr_GetBlobValue","_FPDF_StructElement_Attr_GetBooleanValue","_FPDF_StructElement_Attr_GetChildAtIndex","_FPDF_StructElement_Attr_GetCount","_FPDF_StructElement_Attr_GetName","_FPDF_StructElement_Attr_GetNumberValue","_FPDF_StructElement_Attr_GetStringValue","_FPDF_StructElement_Attr_GetType","_FPDF_StructElement_Attr_GetValue","_FPDF_StructElement_CountChildren","_FPDF_StructElement_GetActualText","_FPDF_StructElement_GetAltText","_FPDF_StructElement_GetAttributeAtIndex","_FPDF_StructElement_GetAttributeCount","_FPDF_StructElement_GetChildAtIndex","_FPDF_StructElement_GetChildMarkedContentID","_FPDF_StructElement_GetExpansion","_FPDF_StructElement_GetID","_FPDF_StructElement_GetLang","_FPDF_StructElement_GetMarkedContentID","_FPDF_StructElement_GetMarkedContentIdAtIndex","_FPDF_StructElement_GetMarkedContentIdCount","_FPDF_StructElement_GetObjType","_FPDF_StructElement_GetParent","_FPDF_StructElement_GetRawType","_FPDF_StructElement_GetStringAttribute","_FPDF_StructElement_GetTitle","_FPDF_StructElement_GetType","_FPDF_StructTree_Close","_FPDF_StructTree_CountChildren","_FPDF_StructTree_GetChildAtIndex","_FPDF_StructTree_GetForPage","_FPDF_VIEWERREF_GetDuplex","_FPDF_VIEWERREF_GetName","_FPDF_VIEWERREF_GetNumCopies","_FPDF_VIEWERREF_GetPrintPageRange","_FPDF_VIEWERREF_GetPrintPageRangeCount","_FPDF_VIEWERREF_GetPrintPageRangeElement","_FPDF_VIEWERREF_GetPrintScaling","_FPDFAction_GetDest","_FPDFAction_GetFilePath","_FPDFAction_GetType","_FPDFAction_GetURIPath","_FPDFAnnot_AddFileAttachment","_FPDFAnnot_AddInkStroke","_FPDFAnnot_AppendAttachmentPoints","_FPDFAnnot_AppendObject","_FPDFAnnot_CountAttachmentPoints","_FPDFAnnot_GetAP","_FPDFAnnot_GetAttachmentPoints","_FPDFAnnot_GetBorder","_FPDFAnnot_GetColor","_FPDFAnnot_GetFileAttachment","_FPDFAnnot_GetFlags","_FPDFAnnot_GetFocusableSubtypes","_FPDFAnnot_GetFocusableSubtypesCount","_FPDFAnnot_GetFontColor","_FPDFAnnot_GetFontSize","_FPDFAnnot_GetFormAdditionalActionJavaScript","_FPDFAnnot_GetFormControlCount","_FPDFAnnot_GetFormControlIndex","_FPDFAnnot_GetFormFieldAlternateName","_FPDFAnnot_GetFormFieldAtPoint","_FPDFAnnot_GetFormFieldExportValue","_FPDFAnnot_GetFormFieldFlags","_FPDFAnnot_GetFormFieldName","_FPDFAnnot_GetFormFieldType","_FPDFAnnot_GetFormFieldValue","_FPDFAnnot_GetInkListCount","_FPDFAnnot_GetInkListPath","_FPDFAnnot_GetLine","_FPDFAnnot_GetLink","_FPDFAnnot_GetLinkedAnnot","_FPDFAnnot_GetNumberValue","_FPDFAnnot_GetObject","_FPDFAnnot_GetObjectCount","_FPDFAnnot_GetOptionCount","_FPDFAnnot_GetOptionLabel","_FPDFAnnot_GetRect","_FPDFAnnot_GetStringValue","_FPDFAnnot_GetSubtype","_FPDFAnnot_GetValueType","_FPDFAnnot_GetVertices","_FPDFAnnot_HasAttachmentPoints","_FPDFAnnot_HasKey","_FPDFAnnot_IsChecked","_FPDFAnnot_IsObjectSupportedSubtype","_FPDFAnnot_IsOptionSelected","_FPDFAnnot_IsSupportedSubtype","_FPDFAnnot_RemoveInkList","_FPDFAnnot_RemoveObject","_FPDFAnnot_SetAP","_FPDFAnnot_SetAttachmentPoints","_FPDFAnnot_SetBorder","_FPDFAnnot_SetColor","_FPDFAnnot_SetFlags","_FPDFAnnot_SetFocusableSubtypes","_FPDFAnnot_SetFontColor","_FPDFAnnot_SetFormFieldFlags","_FPDFAnnot_SetRect","_FPDFAnnot_SetStringValue","_FPDFAnnot_SetURI","_FPDFAnnot_UpdateObject","_FPDFAttachment_GetAFRelationship","_FPDFAttachment_GetDescription","_FPDFAttachment_GetFile","_FPDFAttachment_GetName","_FPDFAttachment_GetStringValue","_FPDFAttachment_GetSubtype","_FPDFAttachment_GetValueType","_FPDFAttachment_HasKey","_FPDFAttachment_SetDescription","_FPDFAttachment_SetFile","_FPDFAttachment_SetStringValue","_FPDFAvail_Create","_FPDFAvail_Destroy","_FPDFAvail_GetDocument","_FPDFAvail_GetFirstPageNum","_FPDFAvail_IsDocAvail","_FPDFAvail_IsFormAvail","_FPDFAvail_IsLinearized","_FPDFAvail_IsPageAvail","_FPDFBitmap_Create","_FPDFBitmap_CreateEx","_FPDFBitmap_Destroy","_FPDFBitmap_FillRect","_FPDFBitmap_GetBuffer","_FPDFBitmap_GetFormat","_FPDFBitmap_GetHeight","_FPDFBitmap_GetStride","_FPDFBitmap_GetWidth","_FPDFBookmark_Find","_FPDFBookmark_GetAction","_FPDFBookmark_GetColor","_FPDFBookmark_GetCount","_FPDFBookmark_GetDest","_FPDFBookmark_GetFirstChild","_FPDFBookmark_GetNextSibling","_FPDFBookmark_GetStyle","_FPDFBookmark_GetTitle","_FPDFCatalog_GetLanguage","_FPDFCatalog_IsTagged","_FPDFCatalog_SetLanguage","_FPDFClipPath_CountPaths","_FPDFClipPath_CountPathSegments","_FPDFClipPath_GetPathSegment","_FPDFDest_GetDestPageIndex","_FPDFDest_GetLocationInPage","_FPDFDest_GetView","_FPDFDoc_AddAttachment","_FPDFDoc_CloseJavaScriptAction","_FPDFDoc_DeleteAttachment","_FPDFDOC_ExitFormFillEnvironment","_FPDFDoc_GetAttachment","_FPDFDoc_GetAttachmentCount","_FPDFDoc_GetJavaScriptAction","_FPDFDoc_GetJavaScriptActionCount","_FPDFDoc_GetPageMode","_FPDFDOC_InitFormFillEnvironment","_FPDFFont_Close","_FPDFFont_GetAscent","_FPDFFont_GetBaseFontName","_FPDFFont_GetDescent","_FPDFFont_GetFamilyName","_FPDFFont_GetFlags","_FPDFFont_GetFontData","_FPDFFont_GetGlyphPath","_FPDFFont_GetGlyphWidth","_FPDFFont_GetIsEmbedded","_FPDFFont_GetItalicAngle","_FPDFFont_GetWeight","_FPDFFormObj_CountObjects","_FPDFFormObj_GetObject","_FPDFFormObj_RemoveObject","_FPDFGlyphPath_CountGlyphSegments","_FPDFGlyphPath_GetGlyphPathSegment","_FPDFImageObj_GetBitmap","_FPDFImageObj_GetIccProfileDataDecoded","_FPDFImageObj_GetImageDataDecoded","_FPDFImageObj_GetImageDataRaw","_FPDFImageObj_GetImageFilter","_FPDFImageObj_GetImageFilterCount","_FPDFImageObj_GetImageMetadata","_FPDFImageObj_GetImagePixelSize","_FPDFImageObj_GetRenderedBitmap","_FPDFImageObj_LoadJpegFile","_FPDFImageObj_LoadJpegFileInline","_FPDFImageObj_SetBitmap","_FPDFImageObj_SetMatrix","_FPDFJavaScriptAction_GetName","_FPDFJavaScriptAction_GetScript","_FPDFLink_CloseWebLinks","_FPDFLink_CountQuadPoints","_FPDFLink_CountRects","_FPDFLink_CountWebLinks","_FPDFLink_Enumerate","_FPDFLink_GetAction","_FPDFLink_GetAnnot","_FPDFLink_GetAnnotRect","_FPDFLink_GetDest","_FPDFLink_GetLinkAtPoint","_FPDFLink_GetLinkZOrderAtPoint","_FPDFLink_GetQuadPoints","_FPDFLink_GetRect","_FPDFLink_GetTextRange","_FPDFLink_GetURL","_FPDFLink_LoadWebLinks","_FPDFPage_CloseAnnot","_FPDFPage_CountObjects","_FPDFPage_CreateAnnot","_FPDFPage_Delete","_FPDFPage_Flatten","_FPDFPage_FormFieldZOrderAtPoint","_FPDFPage_GenerateContent","_FPDFPage_GetAnnot","_FPDFPage_GetAnnotCount","_FPDFPage_GetAnnotIndex","_FPDFPage_GetArtBox","_FPDFPage_GetBleedBox","_FPDFPage_GetCropBox","_FPDFPage_GetDecodedThumbnailData","_FPDFPage_GetMediaBox","_FPDFPage_GetObject","_FPDFPage_GetRawThumbnailData","_FPDFPage_GetRotation","_FPDFPage_GetThumbnailAsBitmap","_FPDFPage_GetTrimBox","_FPDFPage_HasFormFieldAtPoint","_FPDFPage_HasTransparency","_FPDFPage_InsertClipPath","_FPDFPage_InsertObject","_FPDFPage_InsertObjectAtIndex","_FPDFPage_New","_FPDFPage_RemoveAnnot","_FPDFPage_RemoveObject","_FPDFPage_SetArtBox","_FPDFPage_SetBleedBox","_FPDFPage_SetCropBox","_FPDFPage_SetMediaBox","_FPDFPage_SetRotation","_FPDFPage_SetTrimBox","_FPDFPage_TransformAnnots","_FPDFPage_TransFormWithClip","_FPDFPageObj_AddExistingMark","_FPDFPageObj_AddMark","_FPDFPageObj_CountMarks","_FPDFPageObj_CreateNewPath","_FPDFPageObj_CreateNewRect","_FPDFPageObj_CreateTextObj","_FPDFPageObj_Destroy","_FPDFPageObj_GetBounds","_FPDFPageObj_GetClipPath","_FPDFPageObj_GetDashArray","_FPDFPageObj_GetDashCount","_FPDFPageObj_GetDashPhase","_FPDFPageObj_GetFillColor","_FPDFPageObj_GetIsActive","_FPDFPageObj_GetLineCap","_FPDFPageObj_GetLineJoin","_FPDFPageObj_GetMark","_FPDFPageObj_GetMarkedContentID","_FPDFPageObj_GetMatrix","_FPDFPageObj_GetRenderedFillPattern","_FPDFPageObj_GetRenderedStrokePattern","_FPDFPageObj_GetRotatedBounds","_FPDFPageObj_GetStrokeColor","_FPDFPageObj_GetStrokeWidth","_FPDFPageObj_GetType","_FPDFPageObj_HasTransparency","_FPDFPageObj_NewImageObj","_FPDFPageObj_NewTextObj","_FPDFPageObj_RemoveMark","_FPDFPageObj_SetBlendMode","_FPDFPageObj_SetDashArray","_FPDFPageObj_SetDashPhase","_FPDFPageObj_SetFillColor","_FPDFPageObj_SetIsActive","_FPDFPageObj_SetLineCap","_FPDFPageObj_SetLineJoin","_FPDFPageObj_SetMatrix","_FPDFPageObj_SetStrokeColor","_FPDFPageObj_SetStrokeWidth","_FPDFPageObj_Transform","_FPDFPageObj_TransformClipPath","_FPDFPageObj_TransformF","_FPDFPageObjMark_CountParams","_FPDFPageObjMark_GetName","_FPDFPageObjMark_GetParamBlobValue","_FPDFPageObjMark_GetParamFloatValue","_FPDFPageObjMark_GetParamIntValue","_FPDFPageObjMark_GetParamKey","_FPDFPageObjMark_GetParamStringValue","_FPDFPageObjMark_GetParamValueType","_FPDFPageObjMark_RemoveParam","_FPDFPageObjMark_SetBlobParam","_FPDFPageObjMark_SetFloatParam","_FPDFPageObjMark_SetIntParam","_FPDFPageObjMark_SetStringParam","_FPDFPath_BezierTo","_FPDFPath_Close","_FPDFPath_CountSegments","_FPDFPath_GetBezierControlPoints","_FPDFPath_GetDrawMode","_FPDFPath_GetPathSegment","_FPDFPath_LineTo","_FPDFPath_MoveTo","_FPDFPath_SetDrawMode","_FPDFPathSegment_GetClose","_FPDFPathSegment_GetPoint","_FPDFPathSegment_GetType","_FPDFSignatureObj_GetByteRange","_FPDFSignatureObj_GetContents","_FPDFSignatureObj_GetDocMDPPermission","_FPDFSignatureObj_GetReason","_FPDFSignatureObj_GetSubFilter","_FPDFSignatureObj_GetTime","_FPDFText_ClosePage","_FPDFText_CountChars","_FPDFText_CountRects","_FPDFText_FindClose","_FPDFText_FindNext","_FPDFText_FindPrev","_FPDFText_FindStart","_FPDFText_GetBoundedText","_FPDFText_GetCharAngle","_FPDFText_GetCharBox","_FPDFText_GetCharIndexAtPos","_FPDFText_GetCharIndexFromTextIndex","_FPDFText_GetCharOrigin","_FPDFText_GetFillColor","_FPDFText_GetFontInfo","_FPDFText_GetFontSize","_FPDFText_GetFontWeight","_FPDFText_GetLooseCharBox","_FPDFText_GetMatrix","_FPDFText_GetRect","_FPDFText_GetSchCount","_FPDFText_GetSchResultIndex","_FPDFText_GetStrokeColor","_FPDFText_GetText","_FPDFText_GetTextIndexFromCharIndex","_FPDFText_GetTextObject","_FPDFText_GetUnicode","_FPDFText_HasUnicodeMapError","_FPDFText_IsGenerated","_FPDFText_IsHyphen","_FPDFText_LoadCidType2Font","_FPDFText_LoadFont","_FPDFText_LoadPage","_FPDFText_LoadStandardFont","_FPDFText_SetCharcodes","_FPDFText_SetPositions","_FPDFText_SetText","_FPDFTextObj_GetFont","_FPDFTextObj_GetFontSize","_FPDFTextObj_GetRenderedBitmap","_FPDFTextObj_GetText","_FPDFTextObj_GetTextRenderMode","_FPDFTextObj_SetFontSize","_FPDFTextObj_SetTextRenderMode","_malloc","_free","_memory","___indirect_function_table","onRuntimeInitialized"].forEach(u=>{Object.getOwnPropertyDescriptor(o,u)||Object.defineProperty(o,u,{get:()=>Oe("You are getting "+u+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>Oe("You are setting "+u+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})});var s=typeof window=="object",A=typeof WorkerGlobalScope<"u",d=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer",p=!s&&!d&&!A,m=Object.assign({},n),F=[],k="./this.program",P=(u,l)=>{throw l},B="";function y(u){return n.locateFile?n.locateFile(u,B):B+u}var x,I;if(p){if(typeof process=="object"&&typeof Uw=="function"||typeof window=="object"||typeof WorkerGlobalScope<"u")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)")}else if(s||A){if(A?B=self.location.href:typeof document<"u"&&document.currentScript&&(B=document.currentScript.src),e&&(B=e),B.startsWith("blob:")?B="":B=B.substr(0,B.replace(/[?#].*/,"").lastIndexOf("/")+1),!(typeof window=="object"||typeof WorkerGlobalScope<"u"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");A&&(I=u=>{var l=new XMLHttpRequest;return l.open("GET",u,!1),l.responseType="arraybuffer",l.send(null),new Uint8Array(l.response)}),x=u=>(Q(!hw(u),"readAsync does not work with file:// URLs"),fetch(u,{credentials:"same-origin"}).then(l=>l.ok?l.arrayBuffer():Promise.reject(new Error(l.status+" : "+l.url))))}else throw new Error("environment detection error");var S=n.print||console.log.bind(console),G=n.printErr||console.error.bind(console);Object.assign(n,m),m=null,lE(),n.arguments&&(F=n.arguments),Dr("arguments","arguments_"),n.thisProgram&&(k=n.thisProgram),Dr("thisProgram","thisProgram"),Q(typeof n.memoryInitializerPrefixURL>"u","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),Q(typeof n.pthreadMainPrefixURL>"u","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),Q(typeof n.cdInitializerPrefixURL>"u","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),Q(typeof n.filePackagePrefixURL>"u","Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),Q(typeof n.read>"u","Module.read option was removed"),Q(typeof n.readAsync>"u","Module.readAsync option was removed (modify readAsync in JS)"),Q(typeof n.readBinary>"u","Module.readBinary option was removed (modify readBinary in JS)"),Q(typeof n.setWindowTitle>"u","Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)"),Q(typeof n.TOTAL_MEMORY>"u","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),Dr("asm","wasmExports"),Dr("readAsync","readAsync"),Dr("readBinary","readBinary"),Dr("setWindowTitle","setWindowTitle"),Q(!d,"node environment detected but not enabled at build time. Add `node` to `-sENVIRONMENT` to enable."),Q(!p,"shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.");var T=n.wasmBinary;Dr("wasmBinary","wasmBinary"),typeof WebAssembly!="object"&&G("no native wasm support detected");var W,Pe=!1,be;function Q(u,l){u||Oe("Assertion failed"+(l?": "+l:""))}var q,oe,se,dt,z,Be,cn,ki;function bw(){var u=W.buffer;n.HEAP8=q=new Int8Array(u),n.HEAP16=se=new Int16Array(u),n.HEAPU8=oe=new Uint8Array(u),n.HEAPU16=dt=new Uint16Array(u),n.HEAP32=z=new Int32Array(u),n.HEAPU32=Be=new Uint32Array(u),n.HEAPF32=cn=new Float32Array(u),n.HEAPF64=ki=new Float64Array(u)}Q(!n.STACK_SIZE,"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time"),Q(typeof Int32Array<"u"&&typeof Float64Array<"u"&&Int32Array.prototype.subarray!=null&&Int32Array.prototype.set!=null,"JS engine does not provide full typed array support"),Q(!n.wasmMemory,"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"),Q(!n.INITIAL_MEMORY,"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically");function ID(){var u=yd();Q((u&3)==0),u==0&&(u+=4),Be[u>>>2>>>0]=34821223,Be[u+4>>>2>>>0]=2310721022,Be[0]=1668509029}function gd(){if(!Pe){var u=yd();u==0&&(u+=4);var l=Be[u>>>2>>>0],b=Be[u+4>>>2>>>0];(l!=34821223||b!=2310721022)&&Oe(`Stack overflow! Stack cookie has been overwritten at ${ja(u)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ja(b)} ${ja(l)}`),Be[0]!=1668509029&&Oe("Runtime error: The application has corrupted its heap memory area (address zero)!")}}var fw=[],gw=[],Fw=[],Ts=!1;function SD(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)OD(n.preRun.shift());vd(fw)}function xD(){Q(!Ts),Ts=!0,gd(),!n.noFSInit&&!h.initialized&&h.init(),h.ignorePermissions=!1,xn.init(),vd(gw)}function HD(){if(gd(),n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)RD(n.postRun.shift());vd(Fw)}function OD(u){fw.unshift(u)}function QD(u){gw.unshift(u)}function RD(u){Fw.unshift(u)}Q(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),Q(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),Q(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),Q(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var hr=0,kr=null,La=null,Di={};function vw(u){for(var l=u;;){if(!Di[u])return u;u=l+Math.random()}}function Fd(u){hr++,n.monitorRunDependencies?.(hr),u?(Q(!Di[u]),Di[u]=1,kr===null&&typeof setInterval<"u"&&(kr=setInterval(()=>{if(Pe){clearInterval(kr),kr=null;return}var l=!1;for(var b in Di)l||(l=!0,G("still waiting on run dependencies:")),G(`dependency: ${b}`);l&&G("(end of list)")},1e4))):G("warning: run dependency added without ID")}function Ms(u){if(hr--,n.monitorRunDependencies?.(hr),u?(Q(Di[u]),delete Di[u]):G("warning: run dependency removed without ID"),hr==0&&(kr!==null&&(clearInterval(kr),kr=null),La)){var l=La;La=null,l()}}function Oe(u){n.onAbort?.(u),u="Aborted("+u+")",G(u),Pe=!0;var l=new WebAssembly.RuntimeError(u);throw a(l),l}var TD="data:application/octet-stream;base64,",Pw=u=>u.startsWith(TD),hw=u=>u.startsWith("file://");function c(u,l){return(...b)=>{Q(Ts,`native function \\`${u}\\` called before runtime initialization`);var v=Xe[u];return Q(v,`exported native function \\`${u}\\` not found`),Q(b.length<=l,`native function \\`${u}\\` called with ${b.length} args but expects ${l}`),v(...b)}}function MD(){if(n.locateFile){var u="embedpdf.wasm";return Pw(u)?u:y(u)}return new URL("embedpdf.wasm",self.location.href).href}var Na;function kw(u){if(u==Na&&T)return new Uint8Array(T);if(I)return I(u);throw"both async and sync fetching of the wasm failed"}function LD(u){return T?Promise.resolve().then(()=>kw(u)):x(u).then(l=>new Uint8Array(l),()=>kw(u))}function Dw(u,l,b){return LD(u).then(v=>WebAssembly.instantiate(v,l)).then(b,v=>{G(`failed to asynchronously prepare wasm: ${v}`),hw(Na)&&G(`warning: Loading from a file URI (${Na}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`),Oe(v)})}function ND(u,l,b,v){return!u&&typeof WebAssembly.instantiateStreaming=="function"&&!Pw(l)&&typeof fetch=="function"?fetch(l,{credentials:"same-origin"}).then(D=>{var E=WebAssembly.instantiateStreaming(D,b);return E.then(v,function(_){return G(`wasm streaming compile failed: ${_}`),G("falling back to ArrayBuffer instantiation"),Dw(l,b,v)})}):Dw(l,b,v)}function jD(){return{env:Lw,wasi_snapshot_preview1:Lw}}function KD(){function u(D,E){return Xe=D.exports,Xe=GE(Xe),n.wasmExports=Xe,W=Xe.memory,Q(W,"memory not found in wasm exports"),bw(),Hn=Xe.__indirect_function_table,Q(Hn,"table not found in wasm exports"),QD(Xe.__wasm_call_ctors),Ms("wasm-instantiate"),Xe}Fd("wasm-instantiate");var l=n;function b(D){Q(n===l,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),l=null,u(D.instance)}var v=jD();if(n.instantiateWasm)try{return n.instantiateWasm(v,u)}catch(D){G(`Module.instantiateWasm callback failed with error: ${D}`),a(D)}return Na??(Na=MD()),ND(T,Na,v,b).catch(a),{}}var re,Qe;if((()=>{var u=new Int16Array(1),l=new Int8Array(u.buffer);if(u[0]=25459,l[0]!==115||l[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})(),n.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");function Dr(u,l,b=!0){Object.getOwnPropertyDescriptor(n,u)||Object.defineProperty(n,u,{configurable:!0,get(){let v=b?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":"";Oe(`\\`Module.${u}\\` has been replaced by \\`${l}\\``+v)}})}function VD(u){Object.getOwnPropertyDescriptor(n,u)&&Oe(`\\`Module.${u}\\` was supplied but \\`${u}\\` not included in INCOMING_MODULE_JS_API`)}function Bw(u){return u==="FS_createPath"||u==="FS_createDataFile"||u==="FS_createPreloadedFile"||u==="FS_unlink"||u==="addRunDependency"||u==="FS_createLazyFile"||u==="FS_createDevice"||u==="removeRunDependency"}function Ew(u,l){typeof globalThis<"u"&&!Object.getOwnPropertyDescriptor(globalThis,u)&&Object.defineProperty(globalThis,u,{configurable:!0,get(){l()}})}function _w(u,l){Ew(u,()=>{dn(`\\`${u}\\` is not longer defined by emscripten. ${l}`)})}_w("buffer","Please use HEAP8.buffer or wasmMemory.buffer"),_w("asm","Please use wasmExports instead");function YD(u){Ew(u,()=>{var l=`\\`${u}\\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`,b=u;b.startsWith("_")||(b="$"+u),l+=` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE=\'${b}\')`,Bw(u)&&(l+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),dn(l)}),yw(u)}function yw(u){Object.getOwnPropertyDescriptor(n,u)||Object.defineProperty(n,u,{configurable:!0,get(){var l=`\'${u}\' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;Bw(u)&&(l+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),Oe(l)}})}class XD{constructor(l){Wt(this,"name","ExitStatus");this.message=`Program terminated with exit(${l})`,this.status=l}}var vd=u=>{for(;u.length>0;)u.shift()(n)};function WD(u,l="i8"){switch(l.endsWith("*")&&(l="*"),l){case"i1":return q[u>>>0];case"i8":return q[u>>>0];case"i16":return se[u>>>1>>>0];case"i32":return z[u>>>2>>>0];case"i64":Oe("to do getValue(i64) use WASM_BIGINT");case"float":return cn[u>>>2>>>0];case"double":return ki[u>>>3>>>0];case"*":return Be[u>>>2>>>0];default:Oe(`invalid type for getValue: ${l}`)}}var UD=n.noExitRuntime||!0,ja=u=>(Q(typeof u=="number"),"0x"+u.toString(16).padStart(8,"0"));function qD(u,l,b="i8"){switch(b.endsWith("*")&&(b="*"),b){case"i1":q[u>>>0]=l;break;case"i8":q[u>>>0]=l;break;case"i16":se[u>>>1>>>0]=l;break;case"i32":z[u>>>2>>>0]=l;break;case"i64":Oe("to do setValue(i64) use WASM_BIGINT");case"float":cn[u>>>2>>>0]=l;break;case"double":ki[u>>>3>>>0]=l;break;case"*":Be[u>>>2>>>0]=l;break;default:Oe(`invalid type for setValue: ${b}`)}}var Bt=u=>Kw(u),Et=()=>Yw(),dn=u=>{dn.shown||(dn.shown={}),dn.shown[u]||(dn.shown[u]=1,G(u))},Bi=(u,l)=>(Q(u==u>>>0||u==(u|0)),Q(l===(l|0)),l+2097152>>>0<4194305-!!u?(u>>>0)+l*4294967296:NaN),Gw=typeof TextDecoder<"u"?new TextDecoder:void 0,Ei=(u,l=0,b=NaN)=>{l>>>=0;for(var v=l+b,D=l;u[D]&&!(D>=v);)++D;if(D-l>16&&u.buffer&&Gw)return Gw.decode(u.subarray(l,D));for(var E="";l>10,56320|$&1023)}}return E},Zn=(u,l)=>(Q(typeof u=="number",`UTF8ToString expects a number (got ${typeof u})`),u>>>=0,u?Ei(oe,u,l):"");function zD(u,l,b,v){u>>>=0,l>>>=0,v>>>=0,Oe(`Assertion failed: ${Zn(u)}, at: `+[l?Zn(l):"unknown filename",b,v?Zn(v):"unknown function"])}var Ls=()=>{Q(ke.varargs!=null);var u=z[+ke.varargs>>>2>>>0];return ke.varargs+=4,u},_i=Ls,Ge={isAbs:u=>u.charAt(0)==="/",splitPath:u=>{var l=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return l.exec(u).slice(1)},normalizeArray:(u,l)=>{for(var b=0,v=u.length-1;v>=0;v--){var D=u[v];D==="."?u.splice(v,1):D===".."?(u.splice(v,1),b++):b&&(u.splice(v,1),b--)}if(l)for(;b;b--)u.unshift("..");return u},normalize:u=>{var l=Ge.isAbs(u),b=u.substr(-1)==="/";return u=Ge.normalizeArray(u.split("/").filter(v=>!!v),!l).join("/"),!u&&!l&&(u="."),u&&b&&(u+="/"),(l?"/":"")+u},dirname:u=>{var l=Ge.splitPath(u),b=l[0],v=l[1];return!b&&!v?".":(v&&(v=v.substr(0,v.length-1)),b+v)},basename:u=>{if(u==="/")return"/";u=Ge.normalize(u),u=u.replace(/\\/$/,"");var l=u.lastIndexOf("/");return l===-1?u:u.substr(l+1)},join:(...u)=>Ge.normalize(u.join("/")),join2:(u,l)=>Ge.normalize(u+"/"+l)},ZD=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return u=>crypto.getRandomValues(u);Oe("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")},Pd=u=>(Pd=ZD())(u),Sn={resolve:(...u)=>{for(var l="",b=!1,v=u.length-1;v>=-1&&!b;v--){var D=v>=0?u[v]:h.cwd();if(typeof D!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!D)return"";l=D+"/"+l,b=Ge.isAbs(D)}return l=Ge.normalizeArray(l.split("/").filter(E=>!!E),!b).join("/"),(b?"/":"")+l||"."},relative:(u,l)=>{u=Sn.resolve(u).substr(1),l=Sn.resolve(l).substr(1);function b($){for(var te=0;te<$.length&&$[te]==="";te++);for(var ae=$.length-1;ae>=0&&$[ae]==="";ae--);return te>ae?[]:$.slice(te,ae-te+1)}for(var v=b(u.split("/")),D=b(l.split("/")),E=Math.min(v.length,D.length),_=E,C=0;C{for(var l=0,b=0;b=55296&&v<=57343?(l+=4,++b):l+=3}return l},kd=(u,l,b,v)=>{if(b>>>=0,Q(typeof u=="string",`stringToUTF8Array expects a string (got ${typeof u})`),!(v>0))return 0;for(var D=b,E=b+v-1,_=0;_=55296&&C<=57343){var M=u.charCodeAt(++_);C=65536+((C&1023)<<10)|M&1023}if(C<=127){if(b>=E)break;l[b++>>>0]=C}else if(C<=2047){if(b+1>=E)break;l[b++>>>0]=192|C>>6,l[b++>>>0]=128|C&63}else if(C<=65535){if(b+2>=E)break;l[b++>>>0]=224|C>>12,l[b++>>>0]=128|C>>6&63,l[b++>>>0]=128|C&63}else{if(b+3>=E)break;C>1114111&&dn("Invalid Unicode code point "+ja(C)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."),l[b++>>>0]=240|C>>18,l[b++>>>0]=128|C>>12&63,l[b++>>>0]=128|C>>6&63,l[b++>>>0]=128|C&63}}return l[b>>>0]=0,b-D};function Cw(u,l,b){var v=b>0?b:Ka(u)+1,D=new Array(v),E=kd(u,D,0,D.length);return l&&(D.length=E),D}var JD=()=>{if(!hd.length){var u=null;if(typeof window<"u"&&typeof window.prompt=="function"&&(u=window.prompt("Input: "),u!==null&&(u+=`\n`)),!u)return null;hd=Cw(u,!0)}return hd.shift()},xn={ttys:[],init(){},shutdown(){},register(u,l){xn.ttys[u]={input:[],output:[],ops:l},h.registerDevice(u,xn.stream_ops)},stream_ops:{open(u){var l=xn.ttys[u.node.rdev];if(!l)throw new h.ErrnoError(43);u.tty=l,u.seekable=!1},close(u){u.tty.ops.fsync(u.tty)},fsync(u){u.tty.ops.fsync(u.tty)},read(u,l,b,v,D){if(!u.tty||!u.tty.ops.get_char)throw new h.ErrnoError(60);for(var E=0,_=0;_0&&(S(Ei(u.output)),u.output=[])},ioctl_tcgets(u){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(u,l,b){return 0},ioctl_tiocgwinsz(u){return[24,80]}},default_tty1_ops:{put_char(u,l){l===null||l===10?(G(Ei(u.output)),u.output=[]):l!=0&&u.output.push(l)},fsync(u){u.output&&u.output.length>0&&(G(Ei(u.output)),u.output=[])}}},$D=(u,l)=>{oe.fill(0,u,u+l)},Iw=(u,l)=>(Q(l,"alignment argument is required"),Math.ceil(u/l)*l),Sw=u=>{u=Iw(u,65536);var l=wE(65536,u);return l&&$D(l,u),l},Ae={ops_table:null,mount(u){return Ae.createNode(null,"/",16895,0)},createNode(u,l,b,v){if(h.isBlkdev(b)||h.isFIFO(b))throw new h.ErrnoError(63);Ae.ops_table||(Ae.ops_table={dir:{node:{getattr:Ae.node_ops.getattr,setattr:Ae.node_ops.setattr,lookup:Ae.node_ops.lookup,mknod:Ae.node_ops.mknod,rename:Ae.node_ops.rename,unlink:Ae.node_ops.unlink,rmdir:Ae.node_ops.rmdir,readdir:Ae.node_ops.readdir,symlink:Ae.node_ops.symlink},stream:{llseek:Ae.stream_ops.llseek}},file:{node:{getattr:Ae.node_ops.getattr,setattr:Ae.node_ops.setattr},stream:{llseek:Ae.stream_ops.llseek,read:Ae.stream_ops.read,write:Ae.stream_ops.write,allocate:Ae.stream_ops.allocate,mmap:Ae.stream_ops.mmap,msync:Ae.stream_ops.msync}},link:{node:{getattr:Ae.node_ops.getattr,setattr:Ae.node_ops.setattr,readlink:Ae.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Ae.node_ops.getattr,setattr:Ae.node_ops.setattr},stream:h.chrdev_stream_ops}});var D=h.createNode(u,l,b,v);return h.isDir(D.mode)?(D.node_ops=Ae.ops_table.dir.node,D.stream_ops=Ae.ops_table.dir.stream,D.contents={}):h.isFile(D.mode)?(D.node_ops=Ae.ops_table.file.node,D.stream_ops=Ae.ops_table.file.stream,D.usedBytes=0,D.contents=null):h.isLink(D.mode)?(D.node_ops=Ae.ops_table.link.node,D.stream_ops=Ae.ops_table.link.stream):h.isChrdev(D.mode)&&(D.node_ops=Ae.ops_table.chrdev.node,D.stream_ops=Ae.ops_table.chrdev.stream),D.timestamp=Date.now(),u&&(u.contents[l]=D,u.timestamp=D.timestamp),D},getFileDataAsTypedArray(u){return u.contents?u.contents.subarray?u.contents.subarray(0,u.usedBytes):new Uint8Array(u.contents):new Uint8Array(0)},expandFileStorage(u,l){var b=u.contents?u.contents.length:0;if(!(b>=l)){var v=1024*1024;l=Math.max(l,b*(b>>0),b!=0&&(l=Math.max(l,256));var D=u.contents;u.contents=new Uint8Array(l),u.usedBytes>0&&u.contents.set(D.subarray(0,u.usedBytes),0)}},resizeFileStorage(u,l){if(u.usedBytes!=l)if(l==0)u.contents=null,u.usedBytes=0;else{var b=u.contents;u.contents=new Uint8Array(l),b&&u.contents.set(b.subarray(0,Math.min(l,u.usedBytes))),u.usedBytes=l}},node_ops:{getattr(u){var l={};return l.dev=h.isChrdev(u.mode)?u.id:1,l.ino=u.id,l.mode=u.mode,l.nlink=1,l.uid=0,l.gid=0,l.rdev=u.rdev,h.isDir(u.mode)?l.size=4096:h.isFile(u.mode)?l.size=u.usedBytes:h.isLink(u.mode)?l.size=u.link.length:l.size=0,l.atime=new Date(u.timestamp),l.mtime=new Date(u.timestamp),l.ctime=new Date(u.timestamp),l.blksize=4096,l.blocks=Math.ceil(l.size/l.blksize),l},setattr(u,l){l.mode!==void 0&&(u.mode=l.mode),l.timestamp!==void 0&&(u.timestamp=l.timestamp),l.size!==void 0&&Ae.resizeFileStorage(u,l.size)},lookup(u,l){throw new h.ErrnoError(44)},mknod(u,l,b,v){return Ae.createNode(u,l,b,v)},rename(u,l,b){if(h.isDir(u.mode)){var v;try{v=h.lookupNode(l,b)}catch{}if(v)for(var D in v.contents)throw new h.ErrnoError(55)}delete u.parent.contents[u.name],u.parent.timestamp=Date.now(),u.name=b,l.contents[b]=u,l.timestamp=u.parent.timestamp},unlink(u,l){delete u.contents[l],u.timestamp=Date.now()},rmdir(u,l){var b=h.lookupNode(u,l);for(var v in b.contents)throw new h.ErrnoError(55);delete u.contents[l],u.timestamp=Date.now()},readdir(u){var l=[".",".."];for(var b of Object.keys(u.contents))l.push(b);return l},symlink(u,l,b){var v=Ae.createNode(u,l,41471,0);return v.link=b,v},readlink(u){if(!h.isLink(u.mode))throw new h.ErrnoError(28);return u.link}},stream_ops:{read(u,l,b,v,D){var E=u.node.contents;if(D>=u.node.usedBytes)return 0;var _=Math.min(u.node.usedBytes-D,v);if(Q(_>=0),_>8&&E.subarray)l.set(E.subarray(D,D+_),b);else for(var C=0;C<_;C++)l[b+C]=E[D+C];return _},write(u,l,b,v,D,E){if(Q(!(l instanceof ArrayBuffer)),l.buffer===q.buffer&&(E=!1),!v)return 0;var _=u.node;if(_.timestamp=Date.now(),l.subarray&&(!_.contents||_.contents.subarray)){if(E)return Q(D===0,"canOwn must imply no weird position inside the file"),_.contents=l.subarray(b,b+v),_.usedBytes=v,v;if(_.usedBytes===0&&D===0)return _.contents=l.slice(b,b+v),_.usedBytes=v,v;if(D+v<=_.usedBytes)return _.contents.set(l.subarray(b,b+v),D),v}if(Ae.expandFileStorage(_,D+v),_.contents.subarray&&l.subarray)_.contents.set(l.subarray(b,b+v),D);else for(var C=0;C0||b+l>>0))}return{ptr:E,allocated:_}},msync(u,l,b,v,D){return Ae.stream_ops.write(u,l,0,v,b,!1),0}}},eB=(u,l,b,v)=>{var D=v?"":vw(`al ${u}`);x(u).then(E=>{Q(E,`Loading data file "${u}" failed (no arrayBuffer).`),l(new Uint8Array(E)),D&&Ms(D)},E=>{if(b)b();else throw`Loading data file "${u}" failed.`}),D&&Fd(D)},tB=(u,l,b,v,D,E)=>{h.createDataFile(u,l,b,v,D,E)},nB=n.preloadPlugins||[],rB=(u,l,b,v)=>{typeof Browser<"u"&&Browser.init();var D=!1;return nB.forEach(E=>{D||E.canHandle(l)&&(E.handle(u,l,b,v),D=!0)}),D},iB=(u,l,b,v,D,E,_,C,M,$)=>{var te=l?Sn.resolve(Ge.join2(u,l)):u,ae=vw(`cp ${te}`);function ce(Z){function ie(ye){$?.(),C||tB(u,l,ye,v,D,M),E?.(),Ms(ae)}rB(Z,te,ie,()=>{_?.(),Ms(ae)})||ie(Z)}Fd(ae),typeof b=="string"?eB(b,ce,_):ce(b)},aB=u=>{var l={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},b=l[u];if(typeof b>"u")throw new Error(`Unknown file open mode: ${u}`);return b},Dd=(u,l)=>{var b=0;return u&&(b|=365),l&&(b|=146),b},oB=u=>Zn(mE(u)),xw={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},h={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class extends Error{constructor(l){super(Ts?oB(l):"");Wt(this,"name","ErrnoError");this.errno=l;for(var b in xw)if(xw[b]===l){this.code=b;break}}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){Wt(this,"shared",{})}get object(){return this.node}set object(u){this.node=u}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(u){this.shared.flags=u}get position(){return this.shared.position}set position(u){this.shared.position=u}},FSNode:class{constructor(u,l,b,v){Wt(this,"node_ops",{});Wt(this,"stream_ops",{});Wt(this,"readMode",365);Wt(this,"writeMode",146);Wt(this,"mounted",null);u||(u=this),this.parent=u,this.mount=u.mount,this.id=h.nextInode++,this.name=l,this.mode=b,this.rdev=v}get read(){return(this.mode&this.readMode)===this.readMode}set read(u){u?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(u){u?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return h.isDir(this.mode)}get isDevice(){return h.isChrdev(this.mode)}},lookupPath(u,l={}){if(u=Sn.resolve(u),!u)return{path:"",node:null};var b={follow_mount:!0,recurse_count:0};if(l=Object.assign(b,l),l.recurse_count>8)throw new h.ErrnoError(32);for(var v=u.split("/").filter(ae=>!!ae),D=h.root,E="/",_=0;_40)throw new h.ErrnoError(32)}}return{path:E,node:D}},getPath(u){for(var l;;){if(h.isRoot(u)){var b=u.mount.mountpoint;return l?b[b.length-1]!=="/"?`${b}/${l}`:b+l:b}l=l?`${u.name}/${l}`:u.name,u=u.parent}},hashName(u,l){for(var b=0,v=0;v>>0)%h.nameTable.length},hashAddNode(u){var l=h.hashName(u.parent.id,u.name);u.name_next=h.nameTable[l],h.nameTable[l]=u},hashRemoveNode(u){var l=h.hashName(u.parent.id,u.name);if(h.nameTable[l]===u)h.nameTable[l]=u.name_next;else for(var b=h.nameTable[l];b;){if(b.name_next===u){b.name_next=u.name_next;break}b=b.name_next}},lookupNode(u,l){var b=h.mayLookup(u);if(b)throw new h.ErrnoError(b);for(var v=h.hashName(u.id,l),D=h.nameTable[v];D;D=D.name_next){var E=D.name;if(D.parent.id===u.id&&E===l)return D}return h.lookup(u,l)},createNode(u,l,b,v){Q(typeof u=="object");var D=new h.FSNode(u,l,b,v);return h.hashAddNode(D),D},destroyNode(u){h.hashRemoveNode(u)},isRoot(u){return u===u.parent},isMountpoint(u){return!!u.mounted},isFile(u){return(u&61440)===32768},isDir(u){return(u&61440)===16384},isLink(u){return(u&61440)===40960},isChrdev(u){return(u&61440)===8192},isBlkdev(u){return(u&61440)===24576},isFIFO(u){return(u&61440)===4096},isSocket(u){return(u&49152)===49152},flagsToPermissionString(u){var l=["r","w","rw"][u&3];return u&512&&(l+="w"),l},nodePermissions(u,l){return h.ignorePermissions?0:l.includes("r")&&!(u.mode&292)||l.includes("w")&&!(u.mode&146)||l.includes("x")&&!(u.mode&73)?2:0},mayLookup(u){if(!h.isDir(u.mode))return 54;var l=h.nodePermissions(u,"x");return l||(u.node_ops.lookup?0:2)},mayCreate(u,l){try{var b=h.lookupNode(u,l);return 20}catch{}return h.nodePermissions(u,"wx")},mayDelete(u,l,b){var v;try{v=h.lookupNode(u,l)}catch(E){return E.errno}var D=h.nodePermissions(u,"wx");if(D)return D;if(b){if(!h.isDir(v.mode))return 54;if(h.isRoot(v)||h.getPath(v)===h.cwd())return 10}else if(h.isDir(v.mode))return 31;return 0},mayOpen(u,l){return u?h.isLink(u.mode)?32:h.isDir(u.mode)&&(h.flagsToPermissionString(l)!=="r"||l&512)?31:h.nodePermissions(u,h.flagsToPermissionString(l)):44},MAX_OPEN_FDS:4096,nextfd(){for(var u=0;u<=h.MAX_OPEN_FDS;u++)if(!h.streams[u])return u;throw new h.ErrnoError(33)},getStreamChecked(u){var l=h.getStream(u);if(!l)throw new h.ErrnoError(8);return l},getStream:u=>h.streams[u],createStream(u,l=-1){return Q(l>=-1),u=Object.assign(new h.FSStream,u),l==-1&&(l=h.nextfd()),u.fd=l,h.streams[l]=u,u},closeStream(u){h.streams[u]=null},dupStream(u,l=-1){var b=h.createStream(u,l);return b.stream_ops?.dup?.(b),b},chrdev_stream_ops:{open(u){var l=h.getDevice(u.node.rdev);u.stream_ops=l.stream_ops,u.stream_ops.open?.(u)},llseek(){throw new h.ErrnoError(70)}},major:u=>u>>8,minor:u=>u&255,makedev:(u,l)=>u<<8|l,registerDevice(u,l){h.devices[u]={stream_ops:l}},getDevice:u=>h.devices[u],getMounts(u){for(var l=[],b=[u];b.length;){var v=b.pop();l.push(v),b.push(...v.mounts)}return l},syncfs(u,l){typeof u=="function"&&(l=u,u=!1),h.syncFSRequests++,h.syncFSRequests>1&&G(`warning: ${h.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var b=h.getMounts(h.root.mount),v=0;function D(_){return Q(h.syncFSRequests>0),h.syncFSRequests--,l(_)}function E(_){if(_)return E.errored?void 0:(E.errored=!0,D(_));++v>=b.length&&D(null)}b.forEach(_=>{if(!_.type.syncfs)return E(null);_.type.syncfs(_,u,E)})},mount(u,l,b){if(typeof u=="string")throw u;var v=b==="/",D=!b,E;if(v&&h.root)throw new h.ErrnoError(10);if(!v&&!D){var _=h.lookupPath(b,{follow_mount:!1});if(b=_.path,E=_.node,h.isMountpoint(E))throw new h.ErrnoError(10);if(!h.isDir(E.mode))throw new h.ErrnoError(54)}var C={type:u,opts:l,mountpoint:b,mounts:[]},M=u.mount(C);return M.mount=C,C.root=M,v?h.root=M:E&&(E.mounted=C,E.mount&&E.mount.mounts.push(C)),M},unmount(u){var l=h.lookupPath(u,{follow_mount:!1});if(!h.isMountpoint(l.node))throw new h.ErrnoError(28);var b=l.node,v=b.mounted,D=h.getMounts(v);Object.keys(h.nameTable).forEach(_=>{for(var C=h.nameTable[_];C;){var M=C.name_next;D.includes(C.mount)&&h.destroyNode(C),C=M}}),b.mounted=null;var E=b.mount.mounts.indexOf(v);Q(E!==-1),b.mount.mounts.splice(E,1)},lookup(u,l){return u.node_ops.lookup(u,l)},mknod(u,l,b){var v=h.lookupPath(u,{parent:!0}),D=v.node,E=Ge.basename(u);if(!E||E==="."||E==="..")throw new h.ErrnoError(28);var _=h.mayCreate(D,E);if(_)throw new h.ErrnoError(_);if(!D.node_ops.mknod)throw new h.ErrnoError(63);return D.node_ops.mknod(D,E,l,b)},create(u,l){return l=l!==void 0?l:438,l&=4095,l|=32768,h.mknod(u,l,0)},mkdir(u,l){return l=l!==void 0?l:511,l&=1023,l|=16384,h.mknod(u,l,0)},mkdirTree(u,l){for(var b=u.split("/"),v="",D=0;D"u"&&(b=l,l=438),l|=8192,h.mknod(u,l,b)},symlink(u,l){if(!Sn.resolve(u))throw new h.ErrnoError(44);var b=h.lookupPath(l,{parent:!0}),v=b.node;if(!v)throw new h.ErrnoError(44);var D=Ge.basename(l),E=h.mayCreate(v,D);if(E)throw new h.ErrnoError(E);if(!v.node_ops.symlink)throw new h.ErrnoError(63);return v.node_ops.symlink(v,D,u)},rename(u,l){var b=Ge.dirname(u),v=Ge.dirname(l),D=Ge.basename(u),E=Ge.basename(l),_,C,M;if(_=h.lookupPath(u,{parent:!0}),C=_.node,_=h.lookupPath(l,{parent:!0}),M=_.node,!C||!M)throw new h.ErrnoError(44);if(C.mount!==M.mount)throw new h.ErrnoError(75);var $=h.lookupNode(C,D),te=Sn.relative(u,v);if(te.charAt(0)!==".")throw new h.ErrnoError(28);if(te=Sn.relative(l,b),te.charAt(0)!==".")throw new h.ErrnoError(55);var ae;try{ae=h.lookupNode(M,E)}catch{}if($!==ae){var ce=h.isDir($.mode),Z=h.mayDelete(C,D,ce);if(Z)throw new h.ErrnoError(Z);if(Z=ae?h.mayDelete(M,E,ce):h.mayCreate(M,E),Z)throw new h.ErrnoError(Z);if(!C.node_ops.rename)throw new h.ErrnoError(63);if(h.isMountpoint($)||ae&&h.isMountpoint(ae))throw new h.ErrnoError(10);if(M!==C&&(Z=h.nodePermissions(C,"w"),Z))throw new h.ErrnoError(Z);h.hashRemoveNode($);try{C.node_ops.rename($,M,E),$.parent=M}catch(ie){throw ie}finally{h.hashAddNode($)}}},rmdir(u){var l=h.lookupPath(u,{parent:!0}),b=l.node,v=Ge.basename(u),D=h.lookupNode(b,v),E=h.mayDelete(b,v,!0);if(E)throw new h.ErrnoError(E);if(!b.node_ops.rmdir)throw new h.ErrnoError(63);if(h.isMountpoint(D))throw new h.ErrnoError(10);b.node_ops.rmdir(b,v),h.destroyNode(D)},readdir(u){var l=h.lookupPath(u,{follow:!0}),b=l.node;if(!b.node_ops.readdir)throw new h.ErrnoError(54);return b.node_ops.readdir(b)},unlink(u){var l=h.lookupPath(u,{parent:!0}),b=l.node;if(!b)throw new h.ErrnoError(44);var v=Ge.basename(u),D=h.lookupNode(b,v),E=h.mayDelete(b,v,!1);if(E)throw new h.ErrnoError(E);if(!b.node_ops.unlink)throw new h.ErrnoError(63);if(h.isMountpoint(D))throw new h.ErrnoError(10);b.node_ops.unlink(b,v),h.destroyNode(D)},readlink(u){var l=h.lookupPath(u),b=l.node;if(!b)throw new h.ErrnoError(44);if(!b.node_ops.readlink)throw new h.ErrnoError(28);return Sn.resolve(h.getPath(b.parent),b.node_ops.readlink(b))},stat(u,l){var b=h.lookupPath(u,{follow:!l}),v=b.node;if(!v)throw new h.ErrnoError(44);if(!v.node_ops.getattr)throw new h.ErrnoError(63);return v.node_ops.getattr(v)},lstat(u){return h.stat(u,!0)},chmod(u,l,b){var v;if(typeof u=="string"){var D=h.lookupPath(u,{follow:!b});v=D.node}else v=u;if(!v.node_ops.setattr)throw new h.ErrnoError(63);v.node_ops.setattr(v,{mode:l&4095|v.mode&-4096,timestamp:Date.now()})},lchmod(u,l){h.chmod(u,l,!0)},fchmod(u,l){var b=h.getStreamChecked(u);h.chmod(b.node,l)},chown(u,l,b,v){var D;if(typeof u=="string"){var E=h.lookupPath(u,{follow:!v});D=E.node}else D=u;if(!D.node_ops.setattr)throw new h.ErrnoError(63);D.node_ops.setattr(D,{timestamp:Date.now()})},lchown(u,l,b){h.chown(u,l,b,!0)},fchown(u,l,b){var v=h.getStreamChecked(u);h.chown(v.node,l,b)},truncate(u,l){if(l<0)throw new h.ErrnoError(28);var b;if(typeof u=="string"){var v=h.lookupPath(u,{follow:!0});b=v.node}else b=u;if(!b.node_ops.setattr)throw new h.ErrnoError(63);if(h.isDir(b.mode))throw new h.ErrnoError(31);if(!h.isFile(b.mode))throw new h.ErrnoError(28);var D=h.nodePermissions(b,"w");if(D)throw new h.ErrnoError(D);b.node_ops.setattr(b,{size:l,timestamp:Date.now()})},ftruncate(u,l){var b=h.getStreamChecked(u);if((b.flags&2097155)===0)throw new h.ErrnoError(28);h.truncate(b.node,l)},utime(u,l,b){var v=h.lookupPath(u,{follow:!0}),D=v.node;D.node_ops.setattr(D,{timestamp:Math.max(l,b)})},open(u,l,b){if(u==="")throw new h.ErrnoError(44);l=typeof l=="string"?aB(l):l,l&64?(b=typeof b>"u"?438:b,b=b&4095|32768):b=0;var v;if(typeof u=="object")v=u;else{u=Ge.normalize(u);try{var D=h.lookupPath(u,{follow:!(l&131072)});v=D.node}catch{}}var E=!1;if(l&64)if(v){if(l&128)throw new h.ErrnoError(20)}else v=h.mknod(u,b,0),E=!0;if(!v)throw new h.ErrnoError(44);if(h.isChrdev(v.mode)&&(l&=-513),l&65536&&!h.isDir(v.mode))throw new h.ErrnoError(54);if(!E){var _=h.mayOpen(v,l);if(_)throw new h.ErrnoError(_)}l&512&&!E&&h.truncate(v,0),l&=-131713;var C=h.createStream({node:v,path:h.getPath(v),flags:l,seekable:!0,position:0,stream_ops:v.stream_ops,ungotten:[],error:!1});return C.stream_ops.open&&C.stream_ops.open(C),n.logReadFiles&&!(l&1)&&(u in h.readFiles||(h.readFiles[u]=1)),C},close(u){if(h.isClosed(u))throw new h.ErrnoError(8);u.getdents&&(u.getdents=null);try{u.stream_ops.close&&u.stream_ops.close(u)}catch(l){throw l}finally{h.closeStream(u.fd)}u.fd=null},isClosed(u){return u.fd===null},llseek(u,l,b){if(h.isClosed(u))throw new h.ErrnoError(8);if(!u.seekable||!u.stream_ops.llseek)throw new h.ErrnoError(70);if(b!=0&&b!=1&&b!=2)throw new h.ErrnoError(28);return u.position=u.stream_ops.llseek(u,l,b),u.ungotten=[],u.position},read(u,l,b,v,D){if(Q(b>=0),v<0||D<0)throw new h.ErrnoError(28);if(h.isClosed(u))throw new h.ErrnoError(8);if((u.flags&2097155)===1)throw new h.ErrnoError(8);if(h.isDir(u.node.mode))throw new h.ErrnoError(31);if(!u.stream_ops.read)throw new h.ErrnoError(28);var E=typeof D<"u";if(!E)D=u.position;else if(!u.seekable)throw new h.ErrnoError(70);var _=u.stream_ops.read(u,l,b,v,D);return E||(u.position+=_),_},write(u,l,b,v,D,E){if(Q(b>=0),v<0||D<0)throw new h.ErrnoError(28);if(h.isClosed(u))throw new h.ErrnoError(8);if((u.flags&2097155)===0)throw new h.ErrnoError(8);if(h.isDir(u.node.mode))throw new h.ErrnoError(31);if(!u.stream_ops.write)throw new h.ErrnoError(28);u.seekable&&u.flags&1024&&h.llseek(u,0,2);var _=typeof D<"u";if(!_)D=u.position;else if(!u.seekable)throw new h.ErrnoError(70);var C=u.stream_ops.write(u,l,b,v,D,E);return _||(u.position+=C),C},allocate(u,l,b){if(h.isClosed(u))throw new h.ErrnoError(8);if(l<0||b<=0)throw new h.ErrnoError(28);if((u.flags&2097155)===0)throw new h.ErrnoError(8);if(!h.isFile(u.node.mode)&&!h.isDir(u.node.mode))throw new h.ErrnoError(43);if(!u.stream_ops.allocate)throw new h.ErrnoError(138);u.stream_ops.allocate(u,l,b)},mmap(u,l,b,v,D){if((v&2)!==0&&(D&2)===0&&(u.flags&2097155)!==2)throw new h.ErrnoError(2);if((u.flags&2097155)===1)throw new h.ErrnoError(2);if(!u.stream_ops.mmap)throw new h.ErrnoError(43);if(!l)throw new h.ErrnoError(28);return u.stream_ops.mmap(u,l,b,v,D)},msync(u,l,b,v,D){return Q(b>=0),u.stream_ops.msync?u.stream_ops.msync(u,l,b,v,D):0},ioctl(u,l,b){if(!u.stream_ops.ioctl)throw new h.ErrnoError(59);return u.stream_ops.ioctl(u,l,b)},readFile(u,l={}){if(l.flags=l.flags||0,l.encoding=l.encoding||"binary",l.encoding!=="utf8"&&l.encoding!=="binary")throw new Error(`Invalid encoding type "${l.encoding}"`);var b,v=h.open(u,l.flags),D=h.stat(u),E=D.size,_=new Uint8Array(E);return h.read(v,_,0,E,0),l.encoding==="utf8"?b=Ei(_):l.encoding==="binary"&&(b=_),h.close(v),b},writeFile(u,l,b={}){b.flags=b.flags||577;var v=h.open(u,b.flags,b.mode);if(typeof l=="string"){var D=new Uint8Array(Ka(l)+1),E=kd(l,D,0,D.length);h.write(v,D,0,E,void 0,b.canOwn)}else if(ArrayBuffer.isView(l))h.write(v,l,0,l.byteLength,void 0,b.canOwn);else throw new Error("Unsupported data type");h.close(v)},cwd:()=>h.currentPath,chdir(u){var l=h.lookupPath(u,{follow:!0});if(l.node===null)throw new h.ErrnoError(44);if(!h.isDir(l.node.mode))throw new h.ErrnoError(54);var b=h.nodePermissions(l.node,"x");if(b)throw new h.ErrnoError(b);h.currentPath=l.path},createDefaultDirectories(){h.mkdir("/tmp"),h.mkdir("/home"),h.mkdir("/home/web_user")},createDefaultDevices(){h.mkdir("/dev"),h.registerDevice(h.makedev(1,3),{read:()=>0,write:(v,D,E,_,C)=>_,llseek:()=>0}),h.mkdev("/dev/null",h.makedev(1,3)),xn.register(h.makedev(5,0),xn.default_tty_ops),xn.register(h.makedev(6,0),xn.default_tty1_ops),h.mkdev("/dev/tty",h.makedev(5,0)),h.mkdev("/dev/tty1",h.makedev(6,0));var u=new Uint8Array(1024),l=0,b=()=>(l===0&&(l=Pd(u).byteLength),u[--l]);h.createDevice("/dev","random",b),h.createDevice("/dev","urandom",b),h.mkdir("/dev/shm"),h.mkdir("/dev/shm/tmp")},createSpecialDirectories(){h.mkdir("/proc");var u=h.mkdir("/proc/self");h.mkdir("/proc/self/fd"),h.mount({mount(){var l=h.createNode(u,"fd",16895,73);return l.node_ops={lookup(b,v){var D=+v,E=h.getStreamChecked(D),_={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>E.path}};return _.parent=_,_}},l}},{},"/proc/self/fd")},createStandardStreams(u,l,b){u?h.createDevice("/dev","stdin",u):h.symlink("/dev/tty","/dev/stdin"),l?h.createDevice("/dev","stdout",null,l):h.symlink("/dev/tty","/dev/stdout"),b?h.createDevice("/dev","stderr",null,b):h.symlink("/dev/tty1","/dev/stderr");var v=h.open("/dev/stdin",0),D=h.open("/dev/stdout",1),E=h.open("/dev/stderr",1);Q(v.fd===0,`invalid handle for stdin (${v.fd})`),Q(D.fd===1,`invalid handle for stdout (${D.fd})`),Q(E.fd===2,`invalid handle for stderr (${E.fd})`)},staticInit(){h.nameTable=new Array(4096),h.mount(Ae,{},"/"),h.createDefaultDirectories(),h.createDefaultDevices(),h.createSpecialDirectories(),h.filesystems={MEMFS:Ae}},init(u,l,b){Q(!h.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),h.initialized=!0,u??(u=n.stdin),l??(l=n.stdout),b??(b=n.stderr),h.createStandardStreams(u,l,b)},quit(){h.initialized=!1,Nw(0);for(var u=0;uthis.length-1||Z<0)){var ie=Z%this.chunkSize,ye=Z/this.chunkSize|0;return this.getter(ye)[ie]}}setDataGetter(Z){this.getter=Z}cacheLength(){var Z=new XMLHttpRequest;if(Z.open("HEAD",b,!1),Z.send(null),!(Z.status>=200&&Z.status<300||Z.status===304))throw new Error("Couldn\'t load "+b+". Status: "+Z.status);var ie=Number(Z.getResponseHeader("Content-length")),ye,_t=(ye=Z.getResponseHeader("Accept-Ranges"))&&ye==="bytes",Pt=(ye=Z.getResponseHeader("Content-Encoding"))&&ye==="gzip",yt=1024*1024;_t||(yt=ie);var Xt=(un,yi)=>{if(un>yi)throw new Error("invalid range ("+un+", "+yi+") or no bytes requested!");if(yi>ie-1)throw new Error("only "+ie+" bytes available! programmer error!");var We=new XMLHttpRequest;if(We.open("GET",b,!1),ie!==yt&&We.setRequestHeader("Range","bytes="+un+"-"+yi),We.responseType="arraybuffer",We.overrideMimeType&&We.overrideMimeType("text/plain; charset=x-user-defined"),We.send(null),!(We.status>=200&&We.status<300||We.status===304))throw new Error("Couldn\'t load "+b+". Status: "+We.status);return We.response!==void 0?new Uint8Array(We.response||[]):Cw(We.responseText||"",!0)},Xa=this;Xa.setDataGetter(un=>{var yi=un*yt,We=(un+1)*yt-1;if(We=Math.min(We,ie-1),typeof Xa.chunks[un]>"u"&&(Xa.chunks[un]=Xt(yi,We)),typeof Xa.chunks[un]>"u")throw new Error("doXHR failed!");return Xa.chunks[un]}),(Pt||!ie)&&(yt=ie=1,ie=this.getter(0).length,yt=ie,S("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=ie,this._chunkSize=yt,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<"u"){if(!A)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var _=new E,C={isDevice:!1,contents:_}}else var C={isDevice:!1,url:b};var M=h.createFile(u,l,C,v,D);C.contents?M.contents=C.contents:C.url&&(M.contents=null,M.url=C.url),Object.defineProperties(M,{usedBytes:{get:function(){return this.contents.length}}});var $={},te=Object.keys(M.stream_ops);te.forEach(ce=>{var Z=M.stream_ops[ce];$[ce]=(...ie)=>(h.forceLoadFile(M),Z(...ie))});function ae(ce,Z,ie,ye,_t){var Pt=ce.node.contents;if(_t>=Pt.length)return 0;var yt=Math.min(Pt.length-_t,ye);if(Q(yt>=0),Pt.slice)for(var Xt=0;Xt(h.forceLoadFile(M),ae(ce,Z,ie,ye,_t)),$.mmap=(ce,Z,ie,ye,_t)=>{h.forceLoadFile(M);var Pt=Sw(Z);if(!Pt)throw new h.ErrnoError(48);return ae(ce,q,Pt,Z,ie),{ptr:Pt,allocated:!0}},M.stream_ops=$,M},absolutePath(){Oe("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder(){Oe("FS.createFolder has been removed; use FS.mkdir instead")},createLink(){Oe("FS.createLink has been removed; use FS.symlink instead")},joinPath(){Oe("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc(){Oe("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath(){Oe("FS.standardizePath has been removed; use PATH.normalize instead")}},ke={DEFAULT_POLLMASK:5,calculateAt(u,l,b){if(Ge.isAbs(l))return l;var v;if(u===-100)v=h.cwd();else{var D=ke.getStreamFromFD(u);v=D.path}if(l.length==0){if(!b)throw new h.ErrnoError(44);return v}return Ge.join2(v,l)},doStat(u,l,b){var v=u(l);z[b>>>2>>>0]=v.dev,z[b+4>>>2>>>0]=v.mode,Be[b+8>>>2>>>0]=v.nlink,z[b+12>>>2>>>0]=v.uid,z[b+16>>>2>>>0]=v.gid,z[b+20>>>2>>>0]=v.rdev,Qe=[v.size>>>0,(re=v.size,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+24>>>2>>>0]=Qe[0],z[b+28>>>2>>>0]=Qe[1],z[b+32>>>2>>>0]=4096,z[b+36>>>2>>>0]=v.blocks;var D=v.atime.getTime(),E=v.mtime.getTime(),_=v.ctime.getTime();return Qe=[Math.floor(D/1e3)>>>0,(re=Math.floor(D/1e3),+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+40>>>2>>>0]=Qe[0],z[b+44>>>2>>>0]=Qe[1],Be[b+48>>>2>>>0]=D%1e3*1e3*1e3,Qe=[Math.floor(E/1e3)>>>0,(re=Math.floor(E/1e3),+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+56>>>2>>>0]=Qe[0],z[b+60>>>2>>>0]=Qe[1],Be[b+64>>>2>>>0]=E%1e3*1e3*1e3,Qe=[Math.floor(_/1e3)>>>0,(re=Math.floor(_/1e3),+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+72>>>2>>>0]=Qe[0],z[b+76>>>2>>>0]=Qe[1],Be[b+80>>>2>>>0]=_%1e3*1e3*1e3,Qe=[v.ino>>>0,(re=v.ino,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+88>>>2>>>0]=Qe[0],z[b+92>>>2>>>0]=Qe[1],0},doMsync(u,l,b,v,D){if(!h.isFile(l.node.mode))throw new h.ErrnoError(43);if(v&2)return 0;var E=oe.slice(u,u+b);h.msync(l,E,D,b,v)},getStreamFromFD(u){var l=h.getStreamChecked(u);return l},varargs:void 0,getStr(u){var l=Zn(u);return l}};function sB(u,l,b){b>>>=0,ke.varargs=b;try{var v=ke.getStreamFromFD(u);switch(l){case 0:{var D=Ls();if(D<0)return-28;for(;h.streams[D];)D++;var E;return E=h.dupStream(v,D),E.fd}case 1:case 2:return 0;case 3:return v.flags;case 4:{var D=Ls();return v.flags|=D,0}case 12:{var D=_i(),_=0;return se[D+_>>>1>>>0]=2,0}case 13:case 14:return 0}return-28}catch(C){if(typeof h>"u"||C.name!=="ErrnoError")throw C;return-C.errno}}function AB(u,l){l>>>=0;try{var b=ke.getStreamFromFD(u);return ke.doStat(h.stat,b.path,l)}catch(v){if(typeof h>"u"||v.name!=="ErrnoError")throw v;return-v.errno}}function cB(u,l,b){var v=Bi(l,b);try{return isNaN(v)?61:(h.ftruncate(u,v),0)}catch(D){if(typeof h>"u"||D.name!=="ErrnoError")throw D;return-D.errno}}var Br=(u,l,b)=>(Q(typeof b=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),kd(u,oe,l,b));function dB(u,l,b){l>>>=0,b>>>=0;try{var v=ke.getStreamFromFD(u);v.getdents||(v.getdents=h.readdir(v.path));for(var D=280,E=0,_=h.llseek(v,0,1),C=Math.floor(_/D);C>>0,(re=M,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[l+E>>>2>>>0]=Qe[0],z[l+E+4>>>2>>>0]=Qe[1],Qe=[(C+1)*D>>>0,(re=(C+1)*D,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[l+E+8>>>2>>>0]=Qe[0],z[l+E+12>>>2>>>0]=Qe[1],se[l+E+16>>>1>>>0]=280,q[l+E+18>>>0]=$,Br(te,l+E+19,256),E+=D,C+=1}return h.llseek(v,C*D,0),E}catch(Z){if(typeof h>"u"||Z.name!=="ErrnoError")throw Z;return-Z.errno}}function uB(u,l,b){b>>>=0,ke.varargs=b;try{var v=ke.getStreamFromFD(u);switch(l){case 21509:return v.tty?0:-59;case 21505:{if(!v.tty)return-59;if(v.tty.ops.ioctl_tcgets){var D=v.tty.ops.ioctl_tcgets(v),E=_i();z[E>>>2>>>0]=D.c_iflag||0,z[E+4>>>2>>>0]=D.c_oflag||0,z[E+8>>>2>>>0]=D.c_cflag||0,z[E+12>>>2>>>0]=D.c_lflag||0;for(var _=0;_<32;_++)q[E+_+17>>>0]=D.c_cc[_]||0;return 0}return 0}case 21510:case 21511:case 21512:return v.tty?0:-59;case 21506:case 21507:case 21508:{if(!v.tty)return-59;if(v.tty.ops.ioctl_tcsets){for(var E=_i(),C=z[E>>>2>>>0],M=z[E+4>>>2>>>0],$=z[E+8>>>2>>>0],te=z[E+12>>>2>>>0],ae=[],_=0;_<32;_++)ae.push(q[E+_+17>>>0]);return v.tty.ops.ioctl_tcsets(v.tty,l,{c_iflag:C,c_oflag:M,c_cflag:$,c_lflag:te,c_cc:ae})}return 0}case 21519:{if(!v.tty)return-59;var E=_i();return z[E>>>2>>>0]=0,0}case 21520:return v.tty?-28:-59;case 21531:{var E=_i();return h.ioctl(v,l,E)}case 21523:{if(!v.tty)return-59;if(v.tty.ops.ioctl_tiocgwinsz){var ce=v.tty.ops.ioctl_tiocgwinsz(v.tty),E=_i();se[E>>>1>>>0]=ce[0],se[E+2>>>1>>>0]=ce[1]}return 0}case 21524:return v.tty?0:-59;case 21515:return v.tty?0:-59;default:return-28}}catch(Z){if(typeof h>"u"||Z.name!=="ErrnoError")throw Z;return-Z.errno}}function pB(u,l){u>>>=0,l>>>=0;try{return u=ke.getStr(u),ke.doStat(h.lstat,u,l)}catch(b){if(typeof h>"u"||b.name!=="ErrnoError")throw b;return-b.errno}}function lB(u,l,b,v){l>>>=0,b>>>=0;try{l=ke.getStr(l);var D=v&256,E=v&4096;return v=v&-6401,Q(!v,`unknown flags in __syscall_newfstatat: ${v}`),l=ke.calculateAt(u,l,E),ke.doStat(D?h.lstat:h.stat,l,b)}catch(_){if(typeof h>"u"||_.name!=="ErrnoError")throw _;return-_.errno}}function mB(u,l,b,v){l>>>=0,v>>>=0,ke.varargs=v;try{l=ke.getStr(l),l=ke.calculateAt(u,l);var D=v?Ls():0;return h.open(l,b,D).fd}catch(E){if(typeof h>"u"||E.name!=="ErrnoError")throw E;return-E.errno}}function wB(u){u>>>=0;try{return u=ke.getStr(u),h.rmdir(u),0}catch(l){if(typeof h>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}function bB(u,l){u>>>=0,l>>>=0;try{return u=ke.getStr(u),ke.doStat(h.stat,u,l)}catch(b){if(typeof h>"u"||b.name!=="ErrnoError")throw b;return-b.errno}}function fB(u,l,b){l>>>=0;try{return l=ke.getStr(l),l=ke.calculateAt(u,l),b===0?h.unlink(l):b===512?h.rmdir(l):Oe("Invalid flags passed to unlinkat"),0}catch(v){if(typeof h>"u"||v.name!=="ErrnoError")throw v;return-v.errno}}var gB=()=>{Oe("native code called abort()")},FB=1,vB=()=>FB;function PB(u,l,b){return u>>>=0,l>>>=0,b>>>=0,oe.copyWithin(u>>>0,l>>>0,l+b>>>0)}var hB=()=>{throw 1/0};function kB(u,l,b){var v=Bi(u,l);b>>>=0;var D=new Date(v*1e3);z[b>>>2>>>0]=D.getUTCSeconds(),z[b+4>>>2>>>0]=D.getUTCMinutes(),z[b+8>>>2>>>0]=D.getUTCHours(),z[b+12>>>2>>>0]=D.getUTCDate(),z[b+16>>>2>>>0]=D.getUTCMonth(),z[b+20>>>2>>>0]=D.getUTCFullYear()-1900,z[b+24>>>2>>>0]=D.getUTCDay();var E=Date.UTC(D.getUTCFullYear(),0,1,0,0,0,0),_=(D.getTime()-E)/(1e3*60*60*24)|0;z[b+28>>>2>>>0]=_}var DB=u=>u%4===0&&(u%100!==0||u%400===0),BB=[0,31,60,91,121,152,182,213,244,274,305,335],EB=[0,31,59,90,120,151,181,212,243,273,304,334],_B=u=>{var l=DB(u.getFullYear()),b=l?BB:EB,v=b[u.getMonth()]+u.getDate()-1;return v};function yB(u,l,b){var v=Bi(u,l);b>>>=0;var D=new Date(v*1e3);z[b>>>2>>>0]=D.getSeconds(),z[b+4>>>2>>>0]=D.getMinutes(),z[b+8>>>2>>>0]=D.getHours(),z[b+12>>>2>>>0]=D.getDate(),z[b+16>>>2>>>0]=D.getMonth(),z[b+20>>>2>>>0]=D.getFullYear()-1900,z[b+24>>>2>>>0]=D.getDay();var E=_B(D)|0;z[b+28>>>2>>>0]=E,z[b+36>>>2>>>0]=-(D.getTimezoneOffset()*60);var _=new Date(D.getFullYear(),0,1),C=new Date(D.getFullYear(),6,1).getTimezoneOffset(),M=_.getTimezoneOffset(),$=(C!=M&&D.getTimezoneOffset()==Math.min(M,C))|0;z[b+32>>>2>>>0]=$}function GB(u,l,b,v,D,E,_,C){u>>>=0;var M=Bi(D,E);_>>>=0,C>>>=0;try{if(isNaN(M))return 61;var $=ke.getStreamFromFD(v),te=h.mmap($,u,M,l,b),ae=te.ptr;return z[_>>>2>>>0]=te.allocated,Be[C>>>2>>>0]=ae,0}catch(ce){if(typeof h>"u"||ce.name!=="ErrnoError")throw ce;return-ce.errno}}function CB(u,l,b,v,D,E,_){u>>>=0,l>>>=0;var C=Bi(E,_);try{var M=ke.getStreamFromFD(D);b&2&&ke.doMsync(u,M,l,v,C)}catch($){if(typeof h>"u"||$.name!=="ErrnoError")throw $;return-$.errno}}var IB=function(u,l,b,v){u>>>=0,l>>>=0,b>>>=0,v>>>=0;var D=new Date().getFullYear(),E=new Date(D,0,1),_=new Date(D,6,1),C=E.getTimezoneOffset(),M=_.getTimezoneOffset(),$=Math.max(C,M);Be[u>>>2>>>0]=$*60,z[l>>>2>>>0]=+(C!=M);var te=Z=>{var ie=Z>=0?"-":"+",ye=Math.abs(Z),_t=String(Math.floor(ye/60)).padStart(2,"0"),Pt=String(ye%60).padStart(2,"0");return`UTC${ie}${_t}${Pt}`},ae=te(C),ce=te(M);Q(ae),Q(ce),Q(Ka(ae)<=16,`timezone name truncated to fit in TZNAME_MAX (${ae})`),Q(Ka(ce)<=16,`timezone name truncated to fit in TZNAME_MAX (${ce})`),MDate.now();function xB(u){return u>>>=0,G(Zn(u))}var HB=()=>performance.now(),OB=()=>4294901760,QB=u=>{var l=W.buffer,b=(u-l.byteLength+65535)/65536|0;try{return W.grow(b),bw(),1}catch(v){G(`growMemory: Attempted to grow heap from ${l.byteLength} bytes to ${u} bytes, but got error: ${v}`)}};function RB(u){u>>>=0;var l=oe.length;Q(u>l);var b=OB();if(u>b)return G(`Cannot enlarge memory, requested ${u} bytes, but the limit is ${b} bytes!`),!1;for(var v=1;v<=4;v*=2){var D=l*(1+.2/v);D=Math.min(D,u+100663296);var E=Math.min(b,Iw(Math.max(u,D),65536)),_=QB(E);if(_)return!0}return G(`Failed to grow the heap from ${l} bytes to ${E} bytes, not enough memory!`),!1}var Bd={},TB=()=>k||"./this.program",Va=()=>{if(!Va.strings){var u=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",l={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:u,_:TB()};for(var b in Bd)Bd[b]===void 0?delete l[b]:l[b]=Bd[b];var v=[];for(var b in l)v.push(`${b}=${l[b]}`);Va.strings=v}return Va.strings},MB=(u,l)=>{for(var b=0;b>>0]=u.charCodeAt(b);q[l>>>0]=0},LB=function(u,l){u>>>=0,l>>>=0;var b=0;return Va().forEach((v,D)=>{var E=l+b;Be[u+D*4>>>2>>>0]=E,MB(v,E),b+=v.length+1}),0},NB=function(u,l){u>>>=0,l>>>=0;var b=Va();Be[u>>>2>>>0]=b.length;var v=0;return b.forEach(D=>v+=D.length+1),Be[l>>>2>>>0]=v,0},Hw=0,Ow=()=>UD||Hw>0,jB=u=>{be=u,Ow()||(n.onExit?.(u),Pe=!0),P(u,new XD(u))},KB=(u,l)=>{if(be=u,xE(),Ow()&&!l){var b=`program exited (with status: ${u}), but keepRuntimeAlive() is set (counter=${Hw}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`;a(b),G(b)}jB(u)},VB=KB;function YB(u){try{var l=ke.getStreamFromFD(u);return h.close(l),0}catch(b){if(typeof h>"u"||b.name!=="ErrnoError")throw b;return b.errno}}var XB=(u,l,b,v)=>{for(var D=0,E=0;E>>2>>>0],C=Be[l+4>>>2>>>0];l+=8;var M=h.read(u,q,_,C,v);if(M<0)return-1;if(D+=M,M>>=0,b>>>=0,v>>>=0;try{var D=ke.getStreamFromFD(u),E=XB(D,l,b);return Be[v>>>2>>>0]=E,0}catch(_){if(typeof h>"u"||_.name!=="ErrnoError")throw _;return _.errno}}function UB(u,l,b,v,D){var E=Bi(l,b);D>>>=0;try{if(isNaN(E))return 61;var _=ke.getStreamFromFD(u);return h.llseek(_,E,v),Qe=[_.position>>>0,(re=_.position,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[D>>>2>>>0]=Qe[0],z[D+4>>>2>>>0]=Qe[1],_.getdents&&E===0&&v===0&&(_.getdents=null),0}catch(C){if(typeof h>"u"||C.name!=="ErrnoError")throw C;return C.errno}}function qB(u){try{var l=ke.getStreamFromFD(u);return l.stream_ops?.fsync?l.stream_ops.fsync(l):0}catch(b){if(typeof h>"u"||b.name!=="ErrnoError")throw b;return b.errno}}var zB=(u,l,b,v)=>{for(var D=0,E=0;E>>2>>>0],C=Be[l+4>>>2>>>0];l+=8;var M=h.write(u,q,_,C,v);if(M<0)return-1;if(D+=M,M>>=0,b>>>=0,v>>>=0;try{var D=ke.getStreamFromFD(u),E=zB(D,l,b);return Be[v>>>2>>>0]=E,0}catch(_){if(typeof h>"u"||_.name!=="ErrnoError")throw _;return _.errno}}function JB(u,l){u>>>=0,l>>>=0;try{return Pd(oe.subarray(u>>>0,u+l>>>0)),0}catch(b){if(typeof h>"u"||b.name!=="ErrnoError")throw b;return b.errno}}var Ya=[],Hn,vt=u=>{var l=Ya[u];return l||(u>=Ya.length&&(Ya.length=u+1),Ya[u]=l=Hn.get(u)),Q(Hn.get(u)==l,"JavaScript-side Wasm function table mirror is out of date!"),l},Qw=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,$B=(u,l)=>{Q(u%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var b=u,v=b>>1,D=v+l/2;!(v>=D)&&dt[v>>>0];)++v;if(b=v<<1,b-u>32&&Qw)return Qw.decode(oe.subarray(u>>>0,b>>>0));for(var E="",_=0;!(_>=l/2);++_){var C=se[u+_*2>>>1>>>0];if(C==0)break;E+=String.fromCharCode(C)}return E},Rw=(u,l)=>{Q(u<16384),u<128?l.push(u):l.push(u%128|128,u>>7)},eE=u=>{Q(!u.includes("j"),"i64 not permitted in function signatures when WASM_BIGINT is disabled");for(var l={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},b={parameters:[],results:u[0]=="v"?[]:[l[u[0]]]},v=1;v{var b=u.slice(0,1),v=u.slice(1),D={i:127,p:127,j:126,f:125,d:124,e:111};l.push(96),Rw(v.length,l);for(var E=0;E{if(Q(!l.includes("j"),"i64 not permitted in function signatures when WASM_BIGINT is disabled"),typeof WebAssembly.Function=="function")return new WebAssembly.Function(eE(l),u);var b=[1];tE(l,b);var v=[0,97,115,109,1,0,0,0,1];Rw(b.length,v),v.push(...b),v.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var D=new WebAssembly.Module(new Uint8Array(v)),E=new WebAssembly.Instance(D,{e:{f:u}}),_=E.exports.f;return _},rE=(u,l)=>{if(Er)for(var b=u;b(Er||(Er=new WeakMap,rE(0,Hn.length)),Er.get(u)||0),Ed=[],aE=()=>{if(Ed.length)return Ed.pop();try{Hn.grow(1)}catch(u){throw u instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":u}return Hn.length-1},_d=(u,l)=>{Hn.set(u,l),Ya[u]=Hn.get(u)},oE=(u,l)=>{Q(typeof u<"u");var b=iE(u);if(b)return b;var v=aE();try{_d(v,u)}catch(E){if(!(E instanceof TypeError))throw E;Q(typeof l<"u","Missing signature argument to addFunction: "+u);var D=nE(u,l);_d(v,D)}return Er.set(u,v),v},sE=u=>{var l=n["_"+u];return Q(l,"Cannot call unknown function "+u+", make sure it is exported"),l},AE=(u,l)=>{Q(u.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)"),q.set(u,l>>>0)},Tw=u=>Vw(u),cE=u=>{var l=Ka(u)+1,b=Tw(l);return Br(u,b,l),b},Mw=(u,l,b,v,D)=>{var E={string:ie=>{var ye=0;return ie!=null&&ie!==0&&(ye=cE(ie)),ye},array:ie=>{var ye=Tw(ie.length);return AE(ie,ye),ye}};function _(ie){return l==="string"?Zn(ie):l==="boolean"?!!ie:ie}var C=sE(u),M=[],$=0;if(Q(l!=="array",\'Return type should not be "array".\'),v)for(var te=0;te(...D)=>Mw(u,l,b,D,v),uE=u=>{Er.delete(vt(u)),_d(u,null),Ed.push(u)},pE=(u,l,b)=>{if(Q(l%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),Q(typeof b=="number","stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),b??(b=2147483647),b<2)return 0;b-=2;for(var v=l,D=b>>1>>>0]=_,l+=2}return se[l>>>1>>>0]=0,l-v};h.createPreloadedFile=iB,h.staticInit();function lE(){VD("fetchSettings")}var Lw={__assert_fail:zD,__syscall_fcntl64:sB,__syscall_fstat64:AB,__syscall_ftruncate64:cB,__syscall_getdents64:dB,__syscall_ioctl:uB,__syscall_lstat64:pB,__syscall_newfstatat:lB,__syscall_openat:mB,__syscall_rmdir:wB,__syscall_stat64:bB,__syscall_unlinkat:fB,_abort_js:gB,_emscripten_get_now_is_monotonic:vB,_emscripten_memcpy_js:PB,_emscripten_throw_longjmp:hB,_gmtime_js:kB,_localtime_js:yB,_mmap_js:GB,_munmap_js:CB,_tzset_js:IB,emscripten_date_now:SB,emscripten_err:xB,emscripten_get_now:HB,emscripten_resize_heap:RB,environ_get:LB,environ_sizes_get:NB,exit:VB,fd_close:YB,fd_read:WB,fd_seek:UB,fd_sync:qB,fd_write:ZB,invoke_ii:hE,invoke_iii:FE,invoke_iiii:kE,invoke_iiiii:vE,invoke_iiiiii:_E,invoke_v:EE,invoke_vi:BE,invoke_vii:DE,invoke_viii:PE,invoke_viiii:gE,invoke_viiiiiiiii:yE,random_get:JB},Xe=KD(),G6=c("__wasm_call_ctors",0),C6=n._EPDFAction_CloseModel=c("EPDFAction_CloseModel",1),I6=n._EPDFAction_LoadModel=c("EPDFAction_LoadModel",1),S6=n._EPDFAction_GetRootNode=c("EPDFAction_GetRootNode",1),x6=n._EPDFAction_GetNodeCount=c("EPDFAction_GetNodeCount",1),H6=n._EPDFAction_GetNodeType=c("EPDFAction_GetNodeType",2),O6=n._EPDFAction_GetNodeSubtype=c("EPDFAction_GetNodeSubtype",4),Q6=n._EPDFAction_NodeHasJavaScript=c("EPDFAction_NodeHasJavaScript",2),R6=n._EPDFAction_GetNodeJavaScript=c("EPDFAction_GetNodeJavaScript",4),T6=n._EPDFAction_GetNodeDest=c("EPDFAction_GetNodeDest",3),M6=n._EPDFAction_GetNodeURI=c("EPDFAction_GetNodeURI",5),L6=n._EPDFAction_GetNodeFilePath=c("EPDFAction_GetNodeFilePath",4),N6=n._EPDFAction_GetNodeName=c("EPDFAction_GetNodeName",4),j6=n._EPDFAction_GetNodeTargetCount=c("EPDFAction_GetNodeTargetCount",2),K6=n._EPDFAction_GetNodeTargetName=c("EPDFAction_GetNodeTargetName",5),V6=n._EPDFAction_GetNodeTargetObjectNumber=c("EPDFAction_GetNodeTargetObjectNumber",4),Y6=n._EPDFAction_GetNodeHideFlag=c("EPDFAction_GetNodeHideFlag",3),X6=n._EPDFAction_GetNodeResetForm=c("EPDFAction_GetNodeResetForm",4),W6=n._EPDFAction_GetNodeSubmitForm=c("EPDFAction_GetNodeSubmitForm",4),U6=n._EPDFAction_GetNodeSubmitFormURL=c("EPDFAction_GetNodeSubmitFormURL",4),q6=n._EPDFAction_GetNodeSubmitFormCharSet=c("EPDFAction_GetNodeSubmitFormCharSet",4),z6=n._EPDFAction_GetNodeURIIsMap=c("EPDFAction_GetNodeURIIsMap",3),Z6=n._EPDFAction_GetNextCount=c("EPDFAction_GetNextCount",2),J6=n._EPDFAction_GetNextAt=c("EPDFAction_GetNextAt",3),$6=n._EPDFAction_GetWarningFlags=c("EPDFAction_GetWarningFlags",1),eM=n._EPDFAction_IsComplete=c("EPDFAction_IsComplete",1),tM=n._EPDFDoc_GetOpenActionModel=c("EPDFDoc_GetOpenActionModel",1),nM=n._EPDFDoc_GetOpenActionDest=c("EPDFDoc_GetOpenActionDest",1),rM=n._EPDFDoc_GetAdditionalActionModel=c("EPDFDoc_GetAdditionalActionModel",2),iM=n._EPDFDoc_GetPageActionModel=c("EPDFDoc_GetPageActionModel",3),aM=n._EPDFAnnot_GetActionModel=c("EPDFAnnot_GetActionModel",2),oM=n._EPDFAction_CreateJavaScript=c("EPDFAction_CreateJavaScript",2),sM=n._EPDFAction_CreateHide=c("EPDFAction_CreateHide",4),AM=n._EPDFAction_CreateResetForm=c("EPDFAction_CreateResetForm",4),cM=n._EPDFAction_CreateSubmitForm=c("EPDFAction_CreateSubmitForm",5),dM=n._EPDFAction_SetNext=c("EPDFAction_SetNext",4),uM=n._EPDFAnnot_SetEventAction=c("EPDFAnnot_SetEventAction",3),pM=n._EPDFAnnot_SetNumberValue=c("EPDFAnnot_SetNumberValue",3),lM=n._EPDFAnnot_HasEmbedMetadata=c("EPDFAnnot_HasEmbedMetadata",1),mM=n._EPDFAnnot_ClearEmbedMetadata=c("EPDFAnnot_ClearEmbedMetadata",1),wM=n._EPDFAnnot_ClearEmbedMetadataKey=c("EPDFAnnot_ClearEmbedMetadataKey",2),bM=n._EPDFAnnot_SetEmbedMetadataString=c("EPDFAnnot_SetEmbedMetadataString",3),fM=n._EPDFAnnot_GetEmbedMetadataString=c("EPDFAnnot_GetEmbedMetadataString",4),gM=n._EPDFAnnot_SetEmbedMetadataNumber=c("EPDFAnnot_SetEmbedMetadataNumber",3),FM=n._EPDFAnnot_GetEmbedMetadataNumber=c("EPDFAnnot_GetEmbedMetadataNumber",3),vM=n._EPDFAnnot_SetEmbedMetadataBoolean=c("EPDFAnnot_SetEmbedMetadataBoolean",3),PM=n._EPDFAnnot_GetEmbedMetadataBoolean=c("EPDFAnnot_GetEmbedMetadataBoolean",3),hM=n._EPDFAnnot_SetEmbedMetadataRect=c("EPDFAnnot_SetEmbedMetadataRect",3),kM=n._EPDFAnnot_GetEmbedMetadataRect=c("EPDFAnnot_GetEmbedMetadataRect",3),DM=n._EPDFAnnot_SetEmbedMetadataJSON=c("EPDFAnnot_SetEmbedMetadataJSON",2),BM=n._EPDFAnnot_GetEmbedMetadataJSON=c("EPDFAnnot_GetEmbedMetadataJSON",3),EM=n._EPDFDocument_ClearEmbedMetadata=c("EPDFDocument_ClearEmbedMetadata",1),_M=n._EPDFAnnot_SetAction=c("EPDFAnnot_SetAction",2),yM=n._EPDFAnnot_RemoveAction=c("EPDFAnnot_RemoveAction",1),GM=n._EPDFAnnot_RemoveDest=c("EPDFAnnot_RemoveDest",1),CM=n._EPDFAnnot_RemoveKey=c("EPDFAnnot_RemoveKey",2),IM=n._EPDFAnnot_GetFileAttachmentForWrite=c("EPDFAnnot_GetFileAttachmentForWrite",1),SM=n._EPDFAnnot_SetColor=c("EPDFAnnot_SetColor",5),xM=n._EPDFAnnot_GetColor=c("EPDFAnnot_GetColor",5),HM=n._EPDFAnnot_ClearColor=c("EPDFAnnot_ClearColor",2),OM=n._EPDFAnnot_SetNoColor=c("EPDFAnnot_SetNoColor",2),QM=n._EPDFAnnot_SetOpacity=c("EPDFAnnot_SetOpacity",2),RM=n._EPDFAnnot_GetOpacity=c("EPDFAnnot_GetOpacity",2),TM=n._EPDFAnnot_GetBorderEffect=c("EPDFAnnot_GetBorderEffect",2),MM=n._EPDFAnnot_SetBorderEffect=c("EPDFAnnot_SetBorderEffect",2),LM=n._EPDFAnnot_ClearBorderEffect=c("EPDFAnnot_ClearBorderEffect",1),NM=n._EPDFAnnot_GetRectangleDifferences=c("EPDFAnnot_GetRectangleDifferences",5),jM=n._EPDFAnnot_ClearRectangleDifferences=c("EPDFAnnot_ClearRectangleDifferences",1),KM=n._EPDFAnnot_GetBorderDashPatternCount=c("EPDFAnnot_GetBorderDashPatternCount",1),VM=n._EPDFAnnot_GetBorderDashPattern=c("EPDFAnnot_GetBorderDashPattern",3),YM=n._EPDFAnnot_SetBorderDashPattern=c("EPDFAnnot_SetBorderDashPattern",3),XM=n._EPDFAnnot_GetBorderStyle=c("EPDFAnnot_GetBorderStyle",2),WM=n._EPDFAnnot_SetBorderStyle=c("EPDFAnnot_SetBorderStyle",3),UM=n._EPDFAnnot_GenerateAppearance=c("EPDFAnnot_GenerateAppearance",1),qM=n._EPDFAnnot_GenerateAppearanceWithBlend=c("EPDFAnnot_GenerateAppearanceWithBlend",2),zM=n._EPDFAnnot_GetBlendMode=c("EPDFAnnot_GetBlendMode",1),ZM=n._EPDFAnnot_SetIntent=c("EPDFAnnot_SetIntent",2),JM=n._EPDFAnnot_GetIntent=c("EPDFAnnot_GetIntent",3),$M=n._EPDFAnnot_GetRichContent=c("EPDFAnnot_GetRichContent",3),eL=n._EPDFAnnot_GetRichTextJSON=c("EPDFAnnot_GetRichTextJSON",3),tL=n._EPDFAnnot_SetRichTextJSON=c("EPDFAnnot_SetRichTextJSON",2),nL=n._EPDFAnnot_SetRichTextXHTML=c("EPDFAnnot_SetRichTextXHTML",2),rL=n._EPDFDoc_SetTypographicFeatures=c("EPDFDoc_SetTypographicFeatures",2),iL=n._EPDFDoc_GetTypographicFeatures=c("EPDFDoc_GetTypographicFeatures",1),aL=n._EPDFAnnot_SetLineEndings=c("EPDFAnnot_SetLineEndings",3),oL=n._EPDFAnnot_GetLineEndings=c("EPDFAnnot_GetLineEndings",3),sL=n._EPDFAnnot_SetVertices=c("EPDFAnnot_SetVertices",3),AL=n._EPDFAnnot_SetLine=c("EPDFAnnot_SetLine",3),cL=n._EPDFAnnot_SetDefaultAppearance=c("EPDFAnnot_SetDefaultAppearance",6),dL=n._EPDFAnnot_SetDefaultAppearanceRegisteredFont=c("EPDFAnnot_SetDefaultAppearanceRegisteredFont",6),uL=n._EPDFAnnot_GetDefaultAppearance=c("EPDFAnnot_GetDefaultAppearance",6),pL=n._EPDFAnnot_GetDefaultAppearanceFontFace=c("EPDFAnnot_GetDefaultAppearanceFontFace",5),lL=n._EPDFAnnot_GetDefaultAppearanceFontPostScriptName=c("EPDFAnnot_GetDefaultAppearanceFontPostScriptName",3),mL=n._EPDFAnnot_SetDefaultAppearanceDocumentFont=c("EPDFAnnot_SetDefaultAppearanceDocumentFont",6),wL=n._EPDFAnnot_SetTextAlignment=c("EPDFAnnot_SetTextAlignment",2),bL=n._EPDFAnnot_GetTextAlignment=c("EPDFAnnot_GetTextAlignment",1),fL=n._EPDFPage_GetAnnotByName=c("EPDFPage_GetAnnotByName",2),gL=n._EPDFPage_RemoveAnnotByName=c("EPDFPage_RemoveAnnotByName",2),FL=n._EPDFAnnot_SetLinkedAnnot=c("EPDFAnnot_SetLinkedAnnot",3),vL=n._EPDFPage_GetAnnotIndexByNameRaw=c("EPDFPage_GetAnnotIndexByNameRaw",3),PL=n._EPDFPage_GetAnnotIndexByObjectNumberRaw=c("EPDFPage_GetAnnotIndexByObjectNumberRaw",3),hL=n._EPDFPage_GetAnnotCountRaw=c("EPDFPage_GetAnnotCountRaw",2),kL=n._EPDFPage_GetAnnotRaw=c("EPDFPage_GetAnnotRaw",3),DL=n._EPDFPage_CreateAnnotRaw=c("EPDFPage_CreateAnnotRaw",4),BL=n._EPDFPage_RemoveAnnotRaw=c("EPDFPage_RemoveAnnotRaw",3),EL=n._EPDFPage_PromoteInlineAnnotsRaw=c("EPDFPage_PromoteInlineAnnotsRaw",2),_L=n._EPDFAnnot_IsValid=c("EPDFAnnot_IsValid",1),yL=n._EPDFAnnot_SetSubtype=c("EPDFAnnot_SetSubtype",2),GL=n._EPDFAnnot_SetName=c("EPDFAnnot_SetName",2),CL=n._EPDFAnnot_GetName=c("EPDFAnnot_GetName",3),IL=n._EPDFAnnot_UpdateAppearanceToRect=c("EPDFAnnot_UpdateAppearanceToRect",2),SL=n._EPDFAnnot_SetStampOpacity=c("EPDFAnnot_SetStampOpacity",3),xL=n._EPDFPage_CreateAnnot=c("EPDFPage_CreateAnnot",2),HL=n._EPDFAnnot_SetRotate=c("EPDFAnnot_SetRotate",2),OL=n._EPDFAnnot_GetRotate=c("EPDFAnnot_GetRotate",2),QL=n._EPDFAnnot_GetAppearanceTransform=c("EPDFAnnot_GetAppearanceTransform",3),RL=n._EPDFAnnot_GetReplyType=c("EPDFAnnot_GetReplyType",1),TL=n._EPDFAnnot_SetReplyType=c("EPDFAnnot_SetReplyType",2),ML=n._EPDFAnnot_GetBooleanValue=c("EPDFAnnot_GetBooleanValue",3),LL=n._EPDFAnnot_SetBooleanValue=c("EPDFAnnot_SetBooleanValue",3),NL=n._EPDFAnnot_SetOverlayText=c("EPDFAnnot_SetOverlayText",2),jL=n._EPDFAnnot_GetOverlayText=c("EPDFAnnot_GetOverlayText",3),KL=n._EPDFAnnot_SetOverlayTextRepeat=c("EPDFAnnot_SetOverlayTextRepeat",2),VL=n._EPDFAnnot_GetOverlayTextRepeat=c("EPDFAnnot_GetOverlayTextRepeat",1),YL=n._EPDFAnnot_SetAppearanceFromPage=c("EPDFAnnot_SetAppearanceFromPage",3),XL=n._EPDFAnnot_ExportAppearance=c("EPDFAnnot_ExportAppearance",3),WL=n._EPDFDoc_CanonicalDrawing=c("EPDFDoc_CanonicalDrawing",2),UL=n._EPDFDoc_ImportDrawing=c("EPDFDoc_ImportDrawing",2),qL=n._EPDFDoc_ExportDrawing=c("EPDFDoc_ExportDrawing",2),zL=n._EPDFDoc_GetStampDrawings=c("EPDFDoc_GetStampDrawings",3),ZL=n._EPDFAnnot_SetStampDrawing=c("EPDFAnnot_SetStampDrawing",3),JL=n._EPDFAnnot_GetStampDrawing=c("EPDFAnnot_GetStampDrawing",1),$L=n._EPDFAnnot_GetRect=c("EPDFAnnot_GetRect",2),eN=n._EPDFAnnot_SetRect=c("EPDFAnnot_SetRect",2),tN=n._EPDFAnnot_SetAPMatrix=c("EPDFAnnot_SetAPMatrix",3),nN=n._EPDFAnnot_GetAPMatrix=c("EPDFAnnot_GetAPMatrix",3),rN=n._EPDFAnnot_GetAvailableAppearanceModes=c("EPDFAnnot_GetAvailableAppearanceModes",1),iN=n._EPDFAnnot_GetAppearanceStateCount=c("EPDFAnnot_GetAppearanceStateCount",2),aN=n._EPDFAnnot_GetAppearanceStateName=c("EPDFAnnot_GetAppearanceStateName",5),oN=n._EPDFAnnot_GetAppearanceState=c("EPDFAnnot_GetAppearanceState",3),sN=n._EPDFAnnot_HasAppearanceStream=c("EPDFAnnot_HasAppearanceStream",2),AN=n._EPDFAnnot_GetDrawingRect=c("EPDFAnnot_GetDrawingRect",3),cN=n._EPDFAnnot_SetMKColor=c("EPDFAnnot_SetMKColor",5),dN=n._EPDFAnnot_GetMKColor=c("EPDFAnnot_GetMKColor",5),uN=n._EPDFAnnot_ClearMKColor=c("EPDFAnnot_ClearMKColor",2),pN=n._EPDFAnnot_SetMKText=c("EPDFAnnot_SetMKText",3),lN=n._EPDFAnnot_GetMKText=c("EPDFAnnot_GetMKText",4),mN=n._EPDFAnnot_SetMKTextPosition=c("EPDFAnnot_SetMKTextPosition",2),wN=n._EPDFAnnot_GetMKTextPosition=c("EPDFAnnot_GetMKTextPosition",1),bN=n._EPDFAnnot_SetMKRotation=c("EPDFAnnot_SetMKRotation",2),fN=n._EPDFAnnot_GetMKRotation=c("EPDFAnnot_GetMKRotation",1),gN=n._EPDFAnnot_GenerateFormFieldAP=c("EPDFAnnot_GenerateFormFieldAP",1),FN=n._EPDFAnnot_GetCalloutLineCount=c("EPDFAnnot_GetCalloutLineCount",1),vN=n._EPDFAnnot_GetCalloutLine=c("EPDFAnnot_GetCalloutLine",3),PN=n._EPDFAnnot_SetCalloutLine=c("EPDFAnnot_SetCalloutLine",3),hN=n._EPDFAnnot_GetObjectNumber=c("EPDFAnnot_GetObjectNumber",1),kN=n._EPDFAnnot_GetStructurePosition=c("EPDFAnnot_GetStructurePosition",3),DN=n._EPDFPage_GetAnnotByObjectNumber=c("EPDFPage_GetAnnotByObjectNumber",2),BN=n._EPDFPage_RemoveAnnot=c("EPDFPage_RemoveAnnot",2),EN=n._EPDFPage_RemoveAnnotByObjectNumber=c("EPDFPage_RemoveAnnotByObjectNumber",2),_N=n._EPDFPage_MoveAnnots=c("EPDFPage_MoveAnnots",4),yN=n._EPDFPage_MoveAnnotsRaw=c("EPDFPage_MoveAnnotsRaw",5),GN=n._EPDF_LoadBaseDocument=c("EPDF_LoadBaseDocument",2),CN=n._EPDF_LoadMemBaseDocument=c("EPDF_LoadMemBaseDocument",3),IN=n._EPDF_LoadMemBaseDocument64=c("EPDF_LoadMemBaseDocument64",3),SN=n._EPDF_ReleaseBaseDocument=c("EPDF_ReleaseBaseDocument",1),xN=n._EPDFPage_ExportAnnotsRawToOwnedBuffer=c("EPDFPage_ExportAnnotsRawToOwnedBuffer",5),HN=n._EPDFPage_ImportAnnotsRaw=c("EPDFPage_ImportAnnotsRaw",4),ON=n._EPDFDoc_ExportDictRawToOwnedBuffer=c("EPDFDoc_ExportDictRawToOwnedBuffer",4),QN=n._EPDFDoc_ExportDictCanonicalToOwnedBuffer=c("EPDFDoc_ExportDictCanonicalToOwnedBuffer",5),RN=n._EPDFDoc_ImportDictRaw=c("EPDFDoc_ImportDictRaw",3),TN=n._EPDFForm_ExportFieldRawToOwnedBuffer=c("EPDFForm_ExportFieldRawToOwnedBuffer",3),MN=n._EPDFForm_ImportFieldRaw=c("EPDFForm_ImportFieldRaw",3),LN=n._EPDFOutline_ExportItemRawToOwnedBuffer=c("EPDFOutline_ExportItemRawToOwnedBuffer",3),NN=n._EPDFOutline_ImportItemRaw=c("EPDFOutline_ImportItemRaw",3),jN=n._EPDFPage_ExportRawToOwnedBuffer=c("EPDFPage_ExportRawToOwnedBuffer",3),KN=n._EPDFPage_ImportRaw=c("EPDFPage_ImportRaw",3),VN=n._EPDFAttachment_ExportRawToOwnedBuffer=c("EPDFAttachment_ExportRawToOwnedBuffer",3),YN=n._EPDFAttachment_ExportCanonicalToOwnedBuffer=c("EPDFAttachment_ExportCanonicalToOwnedBuffer",3),XN=n._EPDFAttachment_ImportRaw=c("EPDFAttachment_ImportRaw",3),WN=n._EPDFCatalog_GetMetadata=c("EPDFCatalog_GetMetadata",3),UN=n._EPDFCatalog_SetMetadata=c("EPDFCatalog_SetMetadata",3),qN=n._EPDFFont_RegisterFont=c("EPDFFont_RegisterFont",4),zN=n._EPDFFont_RegisterMemFont=c("EPDFFont_RegisterMemFont",5),ZN=n._EPDFFont_RegisterMemFont64=c("EPDFFont_RegisterMemFont64",5),JN=n._EPDFFont_ClearRegisteredFonts=c("EPDFFont_ClearRegisteredFonts",0),$N=n._EPDFFont_GetEmbeddingPermission=c("EPDFFont_GetEmbeddingPermission",1),ej=n._EPDFFont_IsEditingAuthorized=c("EPDFFont_IsEditingAuthorized",1),tj=n._EPDFFont_AuthorizeEditing=c("EPDFFont_AuthorizeEditing",1),nj=n._EPDFFont_IsInstanced=c("EPDFFont_IsInstanced",1),rj=n._EPDFFont_GetFamilyName=c("EPDFFont_GetFamilyName",3),ij=n._EPDFFont_GetWeight=c("EPDFFont_GetWeight",1),aj=n._EPDFFont_IsItalic=c("EPDFFont_IsItalic",1),oj=n._EPDFDoc_SetFontEmbeddingPolicy=c("EPDFDoc_SetFontEmbeddingPolicy",2),sj=n._EPDFDoc_GetFontEmbeddingPolicy=c("EPDFDoc_GetFontEmbeddingPolicy",1),Aj=n._EPDFFont_AddFallbackFont=c("EPDFFont_AddFallbackFont",2),cj=n._EPDFFont_ClearFallbackFonts=c("EPDFFont_ClearFallbackFonts",0),dj=n._EPDFFont_SetLastResortFont=c("EPDFFont_SetLastResortFont",1),uj=n._EPDFFont_GetLastResortFont=c("EPDFFont_GetLastResortFont",0),pj=n._EPDFFont_GetFallbackOrder=c("EPDFFont_GetFallbackOrder",4),lj=n._EPDFFont_GetProgramData=c("EPDFFont_GetProgramData",3),mj=n._EPDFFont_GetProgramFormat=c("EPDFFont_GetProgramFormat",1),wj=n._EPDFFont_GetProgramHash=c("EPDFFont_GetProgramHash",2),bj=n._EPDFFont_GetCoverage=c("EPDFFont_GetCoverage",3),fj=n._EPDFFont_GetMetrics=c("EPDFFont_GetMetrics",3),gj=n._EPDFFont_GetPostScriptName=c("EPDFFont_GetPostScriptName",3),Fj=n._EPDFFontFaces_Load=c("EPDFFontFaces_Load",1),vj=n._EPDFFontFaces_Close=c("EPDFFontFaces_Close",1),Pj=n._EPDFDoc_GetFontsFingerprint=c("EPDFDoc_GetFontsFingerprint",2),hj=n._EPDFFontFaces_Count=c("EPDFFontFaces_Count",1),kj=n._EPDFFontFaces_GetFamily=c("EPDFFontFaces_GetFamily",4),Dj=n._EPDFFontFaces_GetWeight=c("EPDFFontFaces_GetWeight",2),Bj=n._EPDFFontFaces_IsItalic=c("EPDFFontFaces_IsItalic",2),Ej=n._EPDFFontFaces_CountPrograms=c("EPDFFontFaces_CountPrograms",2),_j=n._EPDFFontFaces_GetProgramObjNum=c("EPDFFontFaces_GetProgramObjNum",3),yj=n._EPDFFontFaces_GetProgramFormat=c("EPDFFontFaces_GetProgramFormat",3),Gj=n._EPDFFontFaces_GetProgramEmbedded=c("EPDFFontFaces_GetProgramEmbedded",3),Cj=n._EPDFFontFaces_GetProgramPostScriptName=c("EPDFFontFaces_GetProgramPostScriptName",5),Ij=n._EPDFFontFaces_GetProgramEmbeddingPermission=c("EPDFFontFaces_GetProgramEmbeddingPermission",3),Sj=n._EPDFFontFaces_ProgramMapsUnicode=c("EPDFFontFaces_ProgramMapsUnicode",3),xj=n._EPDFFontFaces_GetProgramHash=c("EPDFFontFaces_GetProgramHash",4),Hj=n._EPDFFontFaces_GetProgramDisplayHash=c("EPDFFontFaces_GetProgramDisplayHash",4),Oj=n._EPDFFontFaces_GetProgramMetrics=c("EPDFFontFaces_GetProgramMetrics",5),Qj=n._EPDFDoc_GetFontProgramData=c("EPDFDoc_GetFontProgramData",4),Rj=n._EPDFDoc_GetFontDisplayProgramData=c("EPDFDoc_GetFontDisplayProgramData",4),Tj=n._EPDFDoc_GetFontDisplayProgramCoverage=c("EPDFDoc_GetFontDisplayProgramCoverage",4),Mj=n._EPDFDoc_ResolveFonts=c("EPDFDoc_ResolveFonts",8),Lj=n._EPDFFontResolution_Close=c("EPDFFontResolution_Close",1),Nj=n._EPDFFontResolution_GetSource=c("EPDFFontResolution_GetSource",2),jj=n._EPDFFontResolution_GetRegisteredFont=c("EPDFFontResolution_GetRegisteredFont",2),Kj=n._EPDFFontResolution_GetProgramObjNum=c("EPDFFontResolution_GetProgramObjNum",2),Vj=n._EPDFFontResolution_GetProgramDisplayHash=c("EPDFFontResolution_GetProgramDisplayHash",3),Yj=n._EPDFFontResolution_GetBaseFontName=c("EPDFFontResolution_GetBaseFontName",4),Xj=n._EPDFFontResolution_GetFamily=c("EPDFFontResolution_GetFamily",4),Wj=n._EPDFFontResolution_GetWeight=c("EPDFFontResolution_GetWeight",2),Uj=n._EPDFFontResolution_IsItalic=c("EPDFFontResolution_IsItalic",2),qj=n._EPDFFontResolution_IsDegraded=c("EPDFFontResolution_IsDegraded",2),zj=n._EPDFFontResolution_GetFallbacks=c("EPDFFontResolution_GetFallbacks",4),Zj=n._EPDFFontResolution_CountMissingCharacters=c("EPDFFontResolution_CountMissingCharacters",1),Jj=n._EPDFFontResolution_GetMissingCharacter=c("EPDFFontResolution_GetMissingCharacter",4),$j=n._EPDFDoc_ClearMissingCharacters=c("EPDFDoc_ClearMissingCharacters",1),e1=n._EPDFDoc_CountMissingCharacters=c("EPDFDoc_CountMissingCharacters",1),t1=n._EPDFDoc_GetMissingCharacter=c("EPDFDoc_GetMissingCharacter",4),n1=n._EPDFForm_LoadModel=c("EPDFForm_LoadModel",1),r1=n._EPDFForm_CloseModel=c("EPDFForm_CloseModel",1),i1=n._EPDFForm_GetFormKind=c("EPDFForm_GetFormKind",1),a1=n._EPDFForm_GetNeedAppearances=c("EPDFForm_GetNeedAppearances",1),o1=n._EPDFForm_CountFields=c("EPDFForm_CountFields",1),s1=n._EPDFForm_GetFieldActionModel=c("EPDFForm_GetFieldActionModel",3),A1=n._EPDFForm_CountCalculationOrder=c("EPDFForm_CountCalculationOrder",1),c1=n._EPDFForm_GetCalculationOrderFieldIndex=c("EPDFForm_GetCalculationOrderFieldIndex",2),d1=n._EPDFForm_GetFieldObjNum=c("EPDFForm_GetFieldObjNum",2),u1=n._EPDFForm_GetFieldFamily=c("EPDFForm_GetFieldFamily",2),p1=n._EPDFForm_GetFieldFlags=c("EPDFForm_GetFieldFlags",2),l1=n._EPDFForm_GetFieldOrigin=c("EPDFForm_GetFieldOrigin",2),m1=n._EPDFForm_GetFieldName=c("EPDFForm_GetFieldName",4),w1=n._EPDFForm_GetFieldAlternateName=c("EPDFForm_GetFieldAlternateName",4),b1=n._EPDFForm_GetFieldMappingName=c("EPDFForm_GetFieldMappingName",4),f1=n._EPDFForm_HasFieldEmbedMetadata=c("EPDFForm_HasFieldEmbedMetadata",2),g1=n._EPDFForm_GetFieldEmbedMetadataString=c("EPDFForm_GetFieldEmbedMetadataString",5),F1=n._EPDFForm_GetFieldEmbedMetadataNumber=c("EPDFForm_GetFieldEmbedMetadataNumber",4),v1=n._EPDFForm_GetFieldEmbedMetadataBoolean=c("EPDFForm_GetFieldEmbedMetadataBoolean",4),P1=n._EPDFForm_GetFieldEmbedMetadataJSON=c("EPDFForm_GetFieldEmbedMetadataJSON",4),h1=n._EPDFForm_GetFieldValueKind=c("EPDFForm_GetFieldValueKind",2),k1=n._EPDFForm_CountFieldValues=c("EPDFForm_CountFieldValues",2),D1=n._EPDFForm_GetFieldValueAt=c("EPDFForm_GetFieldValueAt",5),B1=n._EPDFForm_GetFieldDefaultValueKind=c("EPDFForm_GetFieldDefaultValueKind",2),E1=n._EPDFForm_CountFieldDefaultValues=c("EPDFForm_CountFieldDefaultValues",2),_1=n._EPDFForm_GetFieldDefaultValueAt=c("EPDFForm_GetFieldDefaultValueAt",5),y1=n._EPDFForm_GetFieldMaxLen=c("EPDFForm_GetFieldMaxLen",2),G1=n._EPDFForm_GetFieldTopIndex=c("EPDFForm_GetFieldTopIndex",2),C1=n._EPDFForm_CountFieldOptions=c("EPDFForm_CountFieldOptions",2),I1=n._EPDFForm_GetFieldOptionLabel=c("EPDFForm_GetFieldOptionLabel",5),S1=n._EPDFForm_GetFieldOptionValue=c("EPDFForm_GetFieldOptionValue",5),x1=n._EPDFForm_IsFieldOptionSelected=c("EPDFForm_IsFieldOptionSelected",3),H1=n._EPDFForm_CountFieldWidgets=c("EPDFForm_CountFieldWidgets",2),O1=n._EPDFForm_GetFieldWidgetObjNum=c("EPDFForm_GetFieldWidgetObjNum",3),Q1=n._EPDFForm_GetFieldWidgetPageObjNum=c("EPDFForm_GetFieldWidgetPageObjNum",3),R1=n._EPDFForm_GetFieldWidgetRect=c("EPDFForm_GetFieldWidgetRect",4),T1=n._EPDFForm_GetFieldWidgetOnState=c("EPDFForm_GetFieldWidgetOnState",5),M1=n._EPDFForm_GetFieldWidgetExportValue=c("EPDFForm_GetFieldWidgetExportValue",5),L1=n._EPDFForm_IsFieldWidgetChecked=c("EPDFForm_IsFieldWidgetChecked",3),N1=n._EPDFForm_GetFieldIndexByObjNum=c("EPDFForm_GetFieldIndexByObjNum",2),j1=n._EPDFForm_GetFieldIndexForWidget=c("EPDFForm_GetFieldIndexForWidget",2),K1=n._EPDFForm_SetFieldValue=c("EPDFForm_SetFieldValue",5),V1=n._EPDFForm_SetFieldDefaultValue=c("EPDFForm_SetFieldDefaultValue",5),Y1=n._EPDFForm_SetFieldSelectedIndices=c("EPDFForm_SetFieldSelectedIndices",4),X1=n._EPDFForm_SetFieldWidgetsChecked=c("EPDFForm_SetFieldWidgetsChecked",7),W1=n._EPDFForm_RedrawFieldWidgets=c("EPDFForm_RedrawFieldWidgets",5),U1=n._EPDFForm_SetFieldDisplay=c("EPDFForm_SetFieldDisplay",6),q1=n._EPDFForm_SetFieldAppearanceText=c("EPDFForm_SetFieldAppearanceText",6),z1=n._EPDFForm_ExportFDF=c("EPDFForm_ExportFDF",5),Z1=n._EPDFForm_ExportXFDF=c("EPDFForm_ExportXFDF",5),J1=n._EPDFForm_Repair=c("EPDFForm_Repair",3),$1=n._EPDFForm_CreateField=c("EPDFForm_CreateField",4),e5=n._EPDFForm_AttachWidget=c("EPDFForm_AttachWidget",5),t5=n._EPDFForm_DetachWidget=c("EPDFForm_DetachWidget",3),n5=n._EPDFForm_DeleteField=c("EPDFForm_DeleteField",5),r5=n._EPDFForm_SetFieldName=c("EPDFForm_SetFieldName",3),i5=n._EPDFForm_GetFieldPartialName=c("EPDFForm_GetFieldPartialName",4),a5=n._EPDFForm_SetFieldFlags=c("EPDFForm_SetFieldFlags",4),o5=n._EPDFForm_SetFieldEventAction=c("EPDFForm_SetFieldEventAction",4),s5=n._EPDFForm_SetCalculationOrder=c("EPDFForm_SetCalculationOrder",3),A5=n._EPDFForm_SetFieldMaxLen=c("EPDFForm_SetFieldMaxLen",3),c5=n._EPDFForm_SetFieldAlternateName=c("EPDFForm_SetFieldAlternateName",3),d5=n._EPDFForm_SetFieldMappingName=c("EPDFForm_SetFieldMappingName",3),u5=n._EPDFForm_SetFieldEmbedMetadataString=c("EPDFForm_SetFieldEmbedMetadataString",4),p5=n._EPDFForm_SetFieldEmbedMetadataNumber=c("EPDFForm_SetFieldEmbedMetadataNumber",4),l5=n._EPDFForm_SetFieldEmbedMetadataBoolean=c("EPDFForm_SetFieldEmbedMetadataBoolean",4),m5=n._EPDFForm_SetFieldEmbedMetadataJSON=c("EPDFForm_SetFieldEmbedMetadataJSON",3),w5=n._EPDFForm_ClearFieldEmbedMetadataKey=c("EPDFForm_ClearFieldEmbedMetadataKey",3),b5=n._EPDFForm_ClearFieldEmbedMetadata=c("EPDFForm_ClearFieldEmbedMetadata",2),f5=n._EPDFForm_SetFieldOptions=c("EPDFForm_SetFieldOptions",5),g5=n._EPDFPage_Flatten=c("EPDFPage_Flatten",2),F5=n._EPDFPage_FlattenAnnotations=c("EPDFPage_FlattenAnnotations",5),v5=n._EPDFPage_ExportAnnotationsAsDocument=c("EPDFPage_ExportAnnotationsAsDocument",3),P5=n._EPDFDoc_ExportPagesFlattened=c("EPDFDoc_ExportPagesFlattened",5),h5=n._EPDFLayer_OpenLayer=c("EPDFLayer_OpenLayer",4),k5=n._EPDFLayer_OpenLayerArtifact=c("EPDFLayer_OpenLayerArtifact",4),D5=n._EPDFLayer_OpenLayerArtifactFromPath=c("EPDFLayer_OpenLayerArtifactFromPath",4),B5=n._EPDFLayer_IsObjectPromoted=c("EPDFLayer_IsObjectPromoted",2),E5=n._EPDFPage_IsValid=c("EPDFPage_IsValid",1),_5=n._EPDFLayer_IsPagePromoted=c("EPDFLayer_IsPagePromoted",2),y5=n._EPDFLayer_GetBirthObjectNumber=c("EPDFLayer_GetBirthObjectNumber",3),G5=n._EPDFLayer_GetBirthName=c("EPDFLayer_GetBirthName",4),C5=n._EPDFLayer_BeginTransaction=c("EPDFLayer_BeginTransaction",1),I5=n._EPDFLayer_CommitTransaction=c("EPDFLayer_CommitTransaction",1),S5=n._EPDFLayer_AbortTransaction=c("EPDFLayer_AbortTransaction",1),x5=n._EPDFLayer_IsInTransaction=c("EPDFLayer_IsInTransaction",1),H5=n._EPDFLayer_GetLastObjectNumber=c("EPDFLayer_GetLastObjectNumber",1),O5=n._EPDFLayer_RaiseLastObjectNumber=c("EPDFLayer_RaiseLastObjectNumber",2),Q5=n._EPDFLayer_GetPromotedObjectCount=c("EPDFLayer_GetPromotedObjectCount",1),R5=n._EPDFLayer_GetBaseDocument=c("EPDFLayer_GetBaseDocument",1),T5=n._EPDF_SetBaseDocumentSha256=c("EPDF_SetBaseDocumentSha256",2),M5=n._EPDFLayer_GetBaseSha256=c("EPDFLayer_GetBaseSha256",2),L5=n._EPDFLayer_SaveDelta=c("EPDFLayer_SaveDelta",3),N5=n._EPDFLayer_SaveDeltaEx=c("EPDFLayer_SaveDeltaEx",4),j5=n._EPDFLayer_SaveDeltaToOwnedBuffer=c("EPDFLayer_SaveDeltaToOwnedBuffer",3),K5=n._EPDFLayer_SaveDeltaToOwnedBufferEx=c("EPDFLayer_SaveDeltaToOwnedBufferEx",4),V5=n._EPDFLayer_SaveLayerArtifact=c("EPDFLayer_SaveLayerArtifact",3),Y5=n._EPDFLayer_SaveLayerArtifactEx=c("EPDFLayer_SaveLayerArtifactEx",4),X5=n._EPDFLayer_SaveLayerArtifactToOwnedBuffer=c("EPDFLayer_SaveLayerArtifactToOwnedBuffer",3),W5=n._EPDFLayer_SaveLayerArtifactToOwnedBufferEx=c("EPDFLayer_SaveLayerArtifactToOwnedBufferEx",4),U5=n._EPDFNamedDest_SetDest=c("EPDFNamedDest_SetDest",3),q5=n._EPDFNamedDest_Remove=c("EPDFNamedDest_Remove",2),z5=n._EPDFDest_CreateView=c("EPDFDest_CreateView",4),Z5=n._EPDFDest_CreateXYZ=c("EPDFDest_CreateXYZ",7),J5=n._EPDFDest_CreateRemoteView=c("EPDFDest_CreateRemoteView",5),$5=n._EPDFDest_CreateRemoteXYZ=c("EPDFDest_CreateRemoteXYZ",8),eK=n._EPDFDest_CreateXYZByObjectNumber=c("EPDFDest_CreateXYZByObjectNumber",8),tK=n._EPDFDest_CreateViewByObjectNumber=c("EPDFDest_CreateViewByObjectNumber",5),nK=n._EPDFDest_GetViewNullParams=c("EPDFDest_GetViewNullParams",1),rK=n._EPDFAction_CreateGoTo=c("EPDFAction_CreateGoTo",2),iK=n._EPDFAction_CreateGoToNamed=c("EPDFAction_CreateGoToNamed",2),aK=n._EPDFAction_CreateLaunch=c("EPDFAction_CreateLaunch",2),oK=n._EPDFAction_CreateRemoteGoToByName=c("EPDFAction_CreateRemoteGoToByName",3),sK=n._EPDFAction_CreateRemoteGoToDest=c("EPDFAction_CreateRemoteGoToDest",3),AK=n._EPDFAction_CreateURI=c("EPDFAction_CreateURI",2),cK=n._EPDFAction_CreateNamed=c("EPDFAction_CreateNamed",2),dK=n._EPDFOutline_GetObjectNumber=c("EPDFOutline_GetObjectNumber",1),uK=n._EPDFOutline_GetItem=c("EPDFOutline_GetItem",2),pK=n._EPDFOutline_CreateItem=c("EPDFOutline_CreateItem",5),lK=n._EPDFOutline_MoveItem=c("EPDFOutline_MoveItem",4),mK=n._EPDFOutline_DeleteItem=c("EPDFOutline_DeleteItem",2),wK=n._EPDFOutline_SetTitle=c("EPDFOutline_SetTitle",3),bK=n._EPDFOutline_SetOpen=c("EPDFOutline_SetOpen",3),fK=n._EPDFOutline_SetColor=c("EPDFOutline_SetColor",6),gK=n._EPDFOutline_SetStyle=c("EPDFOutline_SetStyle",3),FK=n._EPDFOutline_SetAction=c("EPDFOutline_SetAction",3),vK=n._EPDFDoc_GetNamedPageCount=c("EPDFDoc_GetNamedPageCount",2),PK=n._EPDFDoc_GetNamedPageAt=c("EPDFDoc_GetNamedPageAt",7),hK=n._EPDFDoc_SetNamedPage=c("EPDFDoc_SetNamedPage",3),kK=n._EPDFDoc_RemoveNamedPage=c("EPDFDoc_RemoveNamedPage",2),DK=n._EPDFDoc_RemoveNamedPagesForPage=c("EPDFDoc_RemoveNamedPagesForPage",2),BK=n._EPDFDoc_GetPageLabelSectionCount=c("EPDFDoc_GetPageLabelSectionCount",1),EK=n._EPDFDoc_GetPageLabelSectionAt=c("EPDFDoc_GetPageLabelSectionAt",7),_K=n._EPDFDoc_SetPageLabelSections=c("EPDFDoc_SetPageLabelSections",6),yK=n._EPDF_DigestBuffer=c("EPDF_DigestBuffer",5),GK=n._EPDFDoc_GetRevisionCount=c("EPDFDoc_GetRevisionCount",1),CK=n._EPDFDoc_GetRevision=c("EPDFDoc_GetRevision",4),IK=n._EPDFDoc_OpenRevision=c("EPDFDoc_OpenRevision",3),SK=n._EPDFDoc_OpenBaseOverlayFromPath=c("EPDFDoc_OpenBaseOverlayFromPath",2),xK=n._EPDFDoc_OpenBaseOverlay=c("EPDFDoc_OpenBaseOverlay",3),HK=n._EPDFSig_LoadModel=c("EPDFSig_LoadModel",1),OK=n._EPDFSig_CloseModel=c("EPDFSig_CloseModel",1),QK=n._EPDFSig_Count=c("EPDFSig_Count",1),RK=n._EPDFSig_IsRevisionChainValid=c("EPDFSig_IsRevisionChainValid",1),TK=n._EPDFSig_GetIndexByFieldObjNum=c("EPDFSig_GetIndexByFieldObjNum",2),MK=n._EPDFSig_GetFieldObjNum=c("EPDFSig_GetFieldObjNum",2),LK=n._EPDFSig_GetWidgetObjNum=c("EPDFSig_GetWidgetObjNum",2),NK=n._EPDFSig_GetWidgetPageObjNum=c("EPDFSig_GetWidgetPageObjNum",2),jK=n._EPDFSig_GetValueObjNum=c("EPDFSig_GetValueObjNum",2),KK=n._EPDFSig_GetFieldName=c("EPDFSig_GetFieldName",4),VK=n._EPDFSig_IsSigned=c("EPDFSig_IsSigned",2),YK=n._EPDFSig_GetKind=c("EPDFSig_GetKind",2),XK=n._EPDFSig_GetByteRange=c("EPDFSig_GetByteRange",3),WK=n._EPDFSig_GetCoverage=c("EPDFSig_GetCoverage",2),UK=n._EPDFSig_GetRevisionIndex=c("EPDFSig_GetRevisionIndex",2),qK=n._EPDFSig_GetContents=c("EPDFSig_GetContents",4),zK=n._EPDFSig_GetString=c("EPDFSig_GetString",5),ZK=n._EPDFSig_GetDocMDPPermission=c("EPDFSig_GetDocMDPPermission",2),JK=n._EPDFSig_IsCatalogCertification=c("EPDFSig_IsCatalogCertification",2),$K=n._EPDFSig_GetFieldMDPAction=c("EPDFSig_GetFieldMDPAction",2),eV=n._EPDFSig_GetLockAction=c("EPDFSig_GetLockAction",2),tV=n._EPDFSig_GetLockPermission=c("EPDFSig_GetLockPermission",2),nV=n._EPDFSig_GetFieldNameCount=c("EPDFSig_GetFieldNameCount",3),rV=n._EPDFSig_GetFieldNameAt=c("EPDFSig_GetFieldNameAt",6),iV=n._EPDFSig_HasSeedValue=c("EPDFSig_HasSeedValue",2),aV=n._EPDFSig_GetSeedValueRequiredFlags=c("EPDFSig_GetSeedValueRequiredFlags",2),oV=n._EPDFSig_GetSeedValuePresentFlags=c("EPDFSig_GetSeedValuePresentFlags",2),sV=n._EPDFSig_GetSeedValueMDP=c("EPDFSig_GetSeedValueMDP",2),AV=n._EPDFSig_GetSeedValueVersion=c("EPDFSig_GetSeedValueVersion",2),cV=n._EPDFSig_GetSeedValueFilter=c("EPDFSig_GetSeedValueFilter",4),dV=n._EPDFSig_GetSeedValueListCount=c("EPDFSig_GetSeedValueListCount",3),uV=n._EPDFSig_GetSeedValueListAt=c("EPDFSig_GetSeedValueListAt",6),pV=n._EPDFSig_DigestByteRange=c("EPDFSig_DigestByteRange",5),lV=n._EPDFSig_DigestFileRange=c("EPDFSig_DigestFileRange",5),mV=n._EPDFDoc_GetLoadedBytesSize=c("EPDFDoc_GetLoadedBytesSize",1),wV=n._EPDFDoc_GetBaseBytesSize=c("EPDFDoc_GetBaseBytesSize",1),bV=n._EPDFDoc_GetStructureObjectNumbers=c("EPDFDoc_GetStructureObjectNumbers",4),fV=n._EPDFDoc_ReadLoadedBytes=c("EPDFDoc_ReadLoadedBytes",5),gV=n._EPDFSig_Prepare=c("EPDFSig_Prepare",3),FV=n._EPDFSig_SetFieldLock=c("EPDFSig_SetFieldLock",6),vV=n._EPDFSig_SaveCandidateToOwnedBuffer=c("EPDFSig_SaveCandidateToOwnedBuffer",5),PV=n._EPDFSig_SaveCandidate=c("EPDFSig_SaveCandidate",6),hV=n._EPDFSig_Seal=c("EPDFSig_Seal",13),kV=n._EPDFSig_SealSpan=c("EPDFSig_SealSpan",10),DV=n._EPDFSig_WriteContents=c("EPDFSig_WriteContents",9),BV=n._EPDFDoc_CompareRevisions=c("EPDFDoc_CompareRevisions",2),EV=n._EPDFObjectDiff_Close=c("EPDFObjectDiff_Close",1),_V=n._EPDFObjectDiff_GetCount=c("EPDFObjectDiff_GetCount",1),yV=n._EPDFObjectDiff_GetEntry=c("EPDFObjectDiff_GetEntry",8),GV=n._EPDFObjectDiff_GetValue=c("EPDFObjectDiff_GetValue",6),CV=n._EPDFObjectDiff_GetReadStatus=c("EPDFObjectDiff_GetReadStatus",3),IV=n._EPDFObjectDiff_GetRevisionHealth=c("EPDFObjectDiff_GetRevisionHealth",5),SV=n._EPDFObjectDiff_GetReferrerCount=c("EPDFObjectDiff_GetReferrerCount",3),xV=n._EPDFObjectDiff_GetReferrer=c("EPDFObjectDiff_GetReferrer",7),HV=n._EPDFDoc_HasPieceInfoEntry=c("EPDFDoc_HasPieceInfoEntry",2),OV=n._EPDFDoc_GetPieceInfoEntryCount=c("EPDFDoc_GetPieceInfoEntryCount",1),QV=n._EPDFDoc_GetPieceInfoEntryAt=c("EPDFDoc_GetPieceInfoEntryAt",4),RV=n._EPDFDoc_GetLastModified=c("EPDFDoc_GetLastModified",3),TV=n._EPDFDoc_GetPieceInfoLastModified=c("EPDFDoc_GetPieceInfoLastModified",4),MV=n._EPDFDoc_GetPieceInfoKeyCount=c("EPDFDoc_GetPieceInfoKeyCount",2),LV=n._EPDFDoc_GetPieceInfoKeyAt=c("EPDFDoc_GetPieceInfoKeyAt",5),NV=n._EPDFDoc_GetPieceInfoValueType=c("EPDFDoc_GetPieceInfoValueType",3),jV=n._EPDFDoc_SetPieceInfoString=c("EPDFDoc_SetPieceInfoString",5),KV=n._EPDFDoc_GetPieceInfoString=c("EPDFDoc_GetPieceInfoString",5),VV=n._EPDFDoc_SetPieceInfoNumber=c("EPDFDoc_SetPieceInfoNumber",5),YV=n._EPDFDoc_GetPieceInfoNumber=c("EPDFDoc_GetPieceInfoNumber",4),XV=n._EPDFDoc_SetPieceInfoBoolean=c("EPDFDoc_SetPieceInfoBoolean",5),WV=n._EPDFDoc_GetPieceInfoBoolean=c("EPDFDoc_GetPieceInfoBoolean",4),UV=n._EPDFDoc_SetPieceInfoName=c("EPDFDoc_SetPieceInfoName",5),qV=n._EPDFDoc_GetPieceInfoName=c("EPDFDoc_GetPieceInfoName",5),zV=n._EPDFDoc_SetPieceInfoStringArray=c("EPDFDoc_SetPieceInfoStringArray",6),ZV=n._EPDFDoc_GetPieceInfoStringArrayCount=c("EPDFDoc_GetPieceInfoStringArrayCount",3),JV=n._EPDFDoc_GetPieceInfoStringArrayAt=c("EPDFDoc_GetPieceInfoStringArrayAt",6),$V=n._EPDFDoc_ClearPieceInfoKey=c("EPDFDoc_ClearPieceInfoKey",4),eY=n._EPDFDoc_ClearPieceInfoEntry=c("EPDFDoc_ClearPieceInfoEntry",2),tY=n._EPDFDoc_HasPagePieceInfoEntry=c("EPDFDoc_HasPagePieceInfoEntry",3),nY=n._EPDFDoc_GetPagePieceInfoEntryCount=c("EPDFDoc_GetPagePieceInfoEntryCount",2),rY=n._EPDFDoc_GetPagePieceInfoEntryAt=c("EPDFDoc_GetPagePieceInfoEntryAt",5),iY=n._EPDFDoc_GetPageLastModified=c("EPDFDoc_GetPageLastModified",4),aY=n._EPDFDoc_GetPagePieceInfoLastModified=c("EPDFDoc_GetPagePieceInfoLastModified",5),oY=n._EPDFDoc_GetPagePieceInfoKeyCount=c("EPDFDoc_GetPagePieceInfoKeyCount",3),sY=n._EPDFDoc_GetPagePieceInfoKeyAt=c("EPDFDoc_GetPagePieceInfoKeyAt",6),AY=n._EPDFDoc_GetPagePieceInfoValueType=c("EPDFDoc_GetPagePieceInfoValueType",4),cY=n._EPDFDoc_SetPagePieceInfoString=c("EPDFDoc_SetPagePieceInfoString",6),dY=n._EPDFDoc_GetPagePieceInfoString=c("EPDFDoc_GetPagePieceInfoString",6),uY=n._EPDFDoc_SetPagePieceInfoNumber=c("EPDFDoc_SetPagePieceInfoNumber",6),pY=n._EPDFDoc_GetPagePieceInfoNumber=c("EPDFDoc_GetPagePieceInfoNumber",5),lY=n._EPDFDoc_SetPagePieceInfoBoolean=c("EPDFDoc_SetPagePieceInfoBoolean",6),mY=n._EPDFDoc_GetPagePieceInfoBoolean=c("EPDFDoc_GetPagePieceInfoBoolean",5),wY=n._EPDFDoc_SetPagePieceInfoName=c("EPDFDoc_SetPagePieceInfoName",6),bY=n._EPDFDoc_GetPagePieceInfoName=c("EPDFDoc_GetPagePieceInfoName",6),fY=n._EPDFDoc_SetPagePieceInfoStringArray=c("EPDFDoc_SetPagePieceInfoStringArray",7),gY=n._EPDFDoc_GetPagePieceInfoStringArrayCount=c("EPDFDoc_GetPagePieceInfoStringArrayCount",4),FY=n._EPDFDoc_GetPagePieceInfoStringArrayAt=c("EPDFDoc_GetPagePieceInfoStringArrayAt",7),vY=n._EPDFDoc_ClearPagePieceInfoKey=c("EPDFDoc_ClearPagePieceInfoKey",5),PY=n._EPDFDoc_ClearPagePieceInfoEntry=c("EPDFDoc_ClearPagePieceInfoEntry",3),hY=n._EPDFAnnot_GetMeasure=c("EPDFAnnot_GetMeasure",1),kY=n._EPDFAnnot_AddMeasure=c("EPDFAnnot_AddMeasure",1),DY=n._EPDFAnnot_RemoveMeasure=c("EPDFAnnot_RemoveMeasure",1),BY=n._EPDFPage_CountViewports=c("EPDFPage_CountViewports",1),EY=n._EPDFPage_GetViewport=c("EPDFPage_GetViewport",2),_Y=n._EPDFPage_AddViewport=c("EPDFPage_AddViewport",2),yY=n._EPDFPage_RemoveViewport=c("EPDFPage_RemoveViewport",2),GY=n._EPDFPage_FindViewport=c("EPDFPage_FindViewport",2),CY=n._EPDFViewport_GetBBox=c("EPDFViewport_GetBBox",2),IY=n._EPDFViewport_SetBBox=c("EPDFViewport_SetBBox",2),SY=n._EPDFViewport_GetMeasure=c("EPDFViewport_GetMeasure",1),xY=n._EPDFViewport_AddMeasure=c("EPDFViewport_AddMeasure",1),HY=n._EPDFViewport_RemoveMeasure=c("EPDFViewport_RemoveMeasure",1),OY=n._EPDFMeasure_GetSubtype=c("EPDFMeasure_GetSubtype",1),QY=n._EPDFMeasure_GetOrigin=c("EPDFMeasure_GetOrigin",2),RY=n._EPDFMeasure_SetOrigin=c("EPDFMeasure_SetOrigin",2),TY=n._EPDFMeasure_GetCYX=c("EPDFMeasure_GetCYX",2),MY=n._EPDFMeasure_SetCYX=c("EPDFMeasure_SetCYX",2),LY=n._EPDFMeasure_CountFormats=c("EPDFMeasure_CountFormats",2),NY=n._EPDFMeasure_GetFormat=c("EPDFMeasure_GetFormat",3),jY=n._EPDFMeasure_AddFormat=c("EPDFMeasure_AddFormat",4),KY=n._EPDFMeasure_RemoveFormats=c("EPDFMeasure_RemoveFormats",2),VY=n._EPDFViewport_GetName=c("EPDFViewport_GetName",3),YY=n._EPDFViewport_SetName=c("EPDFViewport_SetName",2),XY=n._EPDFMeasure_GetRatio=c("EPDFMeasure_GetRatio",3),WY=n._EPDFMeasure_SetRatio=c("EPDFMeasure_SetRatio",2),UY=n._EPDFNumberFormat_GetUnit=c("EPDFNumberFormat_GetUnit",3),qY=n._EPDFNumberFormat_SetUnit=c("EPDFNumberFormat_SetUnit",2),zY=n._EPDFNumberFormat_GetConversion=c("EPDFNumberFormat_GetConversion",2),ZY=n._EPDFNumberFormat_SetConversion=c("EPDFNumberFormat_SetConversion",2),JY=n._EPDFNumberFormat_GetPrecision=c("EPDFNumberFormat_GetPrecision",2),$Y=n._EPDFNumberFormat_SetPrecision=c("EPDFNumberFormat_SetPrecision",2),e8=n._EPDFNumberFormat_GetFixedDenominator=c("EPDFNumberFormat_GetFixedDenominator",2),t8=n._EPDFNumberFormat_SetFixedDenominator=c("EPDFNumberFormat_SetFixedDenominator",2),n8=n._EPDFNumberFormat_GetText=c("EPDFNumberFormat_GetText",4),r8=n._EPDFNumberFormat_SetText=c("EPDFNumberFormat_SetText",3),i8=n._EPDFNumberFormat_GetFraction=c("EPDFNumberFormat_GetFraction",2),a8=n._EPDFNumberFormat_SetFraction=c("EPDFNumberFormat_SetFraction",2),o8=n._EPDFNumberFormat_GetLabelPosition=c("EPDFNumberFormat_GetLabelPosition",2),s8=n._EPDFNumberFormat_SetLabelPosition=c("EPDFNumberFormat_SetLabelPosition",2),A8=n._EPDFAnnot_SetLineLeader=c("EPDFAnnot_SetLineLeader",4),c8=n._EPDFAnnot_GetLineLeader=c("EPDFAnnot_GetLineLeader",4),d8=n._EPDFAnnot_SetLineCaption=c("EPDFAnnot_SetLineCaption",4),u8=n._EPDFAnnot_GetLineCaption=c("EPDFAnnot_GetLineCaption",4),p8=n._EPDFAnnot_SetShapeCaption=c("EPDFAnnot_SetShapeCaption",3),l8=n._EPDFAnnot_GetShapeCaption=c("EPDFAnnot_GetShapeCaption",4),m8=n._EPDFPage_GetParsedSize=c("EPDFPage_GetParsedSize",2),w8=n._EPDFPage_IsContentCurrent=c("EPDFPage_IsContentCurrent",1),b8=n._EPDF_PNG_EncodeRGBA=c("EPDF_PNG_EncodeRGBA",6),f8=n._EPDFDoc_ImportPages=c("EPDFDoc_ImportPages",6),g8=n._EPDFDoc_GetImportFieldRoots=c("EPDFDoc_GetImportFieldRoots",5),F8=n._EPDFPage_ApplyRedactions=c("EPDFPage_ApplyRedactions",4),v8=n._EPDF_InitThread=c("EPDF_InitThread",0),P8=n._EPDF_ShutdownThread=c("EPDF_ShutdownThread",0),h8=n._FPDFAnnot_IsSupportedSubtype=c("FPDFAnnot_IsSupportedSubtype",1),k8=n._FPDFPage_CreateAnnot=c("FPDFPage_CreateAnnot",2),D8=n._FPDFPage_GetAnnotCount=c("FPDFPage_GetAnnotCount",1),B8=n._FPDFPage_GetAnnot=c("FPDFPage_GetAnnot",2),E8=n._FPDFPage_GetAnnotIndex=c("FPDFPage_GetAnnotIndex",2),_8=n._FPDFPage_CloseAnnot=c("FPDFPage_CloseAnnot",1),y8=n._FPDFPage_RemoveAnnot=c("FPDFPage_RemoveAnnot",2),G8=n._FPDFAnnot_GetSubtype=c("FPDFAnnot_GetSubtype",1),C8=n._FPDFAnnot_IsObjectSupportedSubtype=c("FPDFAnnot_IsObjectSupportedSubtype",1),I8=n._FPDFAnnot_UpdateObject=c("FPDFAnnot_UpdateObject",2),S8=n._FPDFAnnot_AddInkStroke=c("FPDFAnnot_AddInkStroke",3),x8=n._FPDFAnnot_RemoveInkList=c("FPDFAnnot_RemoveInkList",1),H8=n._FPDFAnnot_AppendObject=c("FPDFAnnot_AppendObject",2),O8=n._FPDFAnnot_GetObjectCount=c("FPDFAnnot_GetObjectCount",1),Q8=n._FPDFAnnot_GetObject=c("FPDFAnnot_GetObject",2),R8=n._FPDFAnnot_RemoveObject=c("FPDFAnnot_RemoveObject",2),T8=n._FPDFAnnot_SetColor=c("FPDFAnnot_SetColor",6),M8=n._FPDFAnnot_GetColor=c("FPDFAnnot_GetColor",6),L8=n._FPDFAnnot_HasAttachmentPoints=c("FPDFAnnot_HasAttachmentPoints",1),N8=n._FPDFAnnot_SetAttachmentPoints=c("FPDFAnnot_SetAttachmentPoints",3),j8=n._FPDFAnnot_AppendAttachmentPoints=c("FPDFAnnot_AppendAttachmentPoints",2),K8=n._FPDFAnnot_CountAttachmentPoints=c("FPDFAnnot_CountAttachmentPoints",1),V8=n._FPDFAnnot_GetAttachmentPoints=c("FPDFAnnot_GetAttachmentPoints",3),Y8=n._FPDFAnnot_SetRect=c("FPDFAnnot_SetRect",2),X8=n._FPDFAnnot_GetRect=c("FPDFAnnot_GetRect",2),W8=n._FPDFAnnot_GetVertices=c("FPDFAnnot_GetVertices",3),U8=n._FPDFAnnot_GetInkListCount=c("FPDFAnnot_GetInkListCount",1),q8=n._FPDFAnnot_GetInkListPath=c("FPDFAnnot_GetInkListPath",4),z8=n._FPDFAnnot_GetLine=c("FPDFAnnot_GetLine",3),Z8=n._FPDFAnnot_SetBorder=c("FPDFAnnot_SetBorder",4),J8=n._FPDFAnnot_GetBorder=c("FPDFAnnot_GetBorder",4),$8=n._FPDFAnnot_HasKey=c("FPDFAnnot_HasKey",2),eX=n._FPDFAnnot_GetValueType=c("FPDFAnnot_GetValueType",2),tX=n._FPDFAnnot_SetStringValue=c("FPDFAnnot_SetStringValue",3),nX=n._FPDFAnnot_GetStringValue=c("FPDFAnnot_GetStringValue",4),rX=n._FPDFAnnot_GetNumberValue=c("FPDFAnnot_GetNumberValue",3),iX=n._FPDFAnnot_SetAP=c("FPDFAnnot_SetAP",3),aX=n._FPDFAnnot_GetAP=c("FPDFAnnot_GetAP",4),oX=n._FPDFAnnot_GetLinkedAnnot=c("FPDFAnnot_GetLinkedAnnot",2),sX=n._FPDFAnnot_GetFlags=c("FPDFAnnot_GetFlags",1),AX=n._FPDFAnnot_SetFlags=c("FPDFAnnot_SetFlags",2),cX=n._FPDFAnnot_GetFormFieldFlags=c("FPDFAnnot_GetFormFieldFlags",2),dX=n._FPDFAnnot_SetFormFieldFlags=c("FPDFAnnot_SetFormFieldFlags",3),uX=n._FPDFAnnot_GetFormFieldAtPoint=c("FPDFAnnot_GetFormFieldAtPoint",3),pX=n._FPDFAnnot_GetFormFieldName=c("FPDFAnnot_GetFormFieldName",4),lX=n._FPDFAnnot_GetFormFieldType=c("FPDFAnnot_GetFormFieldType",2),mX=n._FPDFAnnot_GetFormAdditionalActionJavaScript=c("FPDFAnnot_GetFormAdditionalActionJavaScript",5),wX=n._FPDFAnnot_GetFormFieldAlternateName=c("FPDFAnnot_GetFormFieldAlternateName",4),bX=n._FPDFAnnot_GetFormFieldValue=c("FPDFAnnot_GetFormFieldValue",4),fX=n._FPDFAnnot_GetOptionCount=c("FPDFAnnot_GetOptionCount",2),gX=n._FPDFAnnot_GetOptionLabel=c("FPDFAnnot_GetOptionLabel",5),FX=n._FPDFAnnot_IsOptionSelected=c("FPDFAnnot_IsOptionSelected",3),vX=n._FPDFAnnot_GetFontSize=c("FPDFAnnot_GetFontSize",3),PX=n._FPDFAnnot_SetFontColor=c("FPDFAnnot_SetFontColor",5),hX=n._FPDFAnnot_GetFontColor=c("FPDFAnnot_GetFontColor",5),kX=n._FPDFAnnot_IsChecked=c("FPDFAnnot_IsChecked",2),DX=n._FPDFAnnot_SetFocusableSubtypes=c("FPDFAnnot_SetFocusableSubtypes",3),BX=n._FPDFAnnot_GetFocusableSubtypesCount=c("FPDFAnnot_GetFocusableSubtypesCount",1),EX=n._FPDFAnnot_GetFocusableSubtypes=c("FPDFAnnot_GetFocusableSubtypes",3),_X=n._FPDFAnnot_GetLink=c("FPDFAnnot_GetLink",1),yX=n._FPDFAnnot_GetFormControlCount=c("FPDFAnnot_GetFormControlCount",2),GX=n._FPDFAnnot_GetFormControlIndex=c("FPDFAnnot_GetFormControlIndex",2),CX=n._FPDFAnnot_GetFormFieldExportValue=c("FPDFAnnot_GetFormFieldExportValue",4),IX=n._FPDFAnnot_SetURI=c("FPDFAnnot_SetURI",2),SX=n._FPDFAnnot_GetFileAttachment=c("FPDFAnnot_GetFileAttachment",1),xX=n._FPDFAnnot_AddFileAttachment=c("FPDFAnnot_AddFileAttachment",2),HX=n._FPDFDoc_GetAttachmentCount=c("FPDFDoc_GetAttachmentCount",1),OX=n._FPDFDoc_AddAttachment=c("FPDFDoc_AddAttachment",2),QX=n._FPDFDoc_GetAttachment=c("FPDFDoc_GetAttachment",2),RX=n._EPDFDoc_GetAttachmentKey=c("EPDFDoc_GetAttachmentKey",4),TX=n._EPDFDoc_GetAttachmentIndexByKey=c("EPDFDoc_GetAttachmentIndexByKey",2),MX=n._FPDFDoc_DeleteAttachment=c("FPDFDoc_DeleteAttachment",2),LX=n._FPDFAttachment_GetName=c("FPDFAttachment_GetName",3),NX=n._FPDFAttachment_HasKey=c("FPDFAttachment_HasKey",2),jX=n._FPDFAttachment_GetValueType=c("FPDFAttachment_GetValueType",2),KX=n._FPDFAttachment_SetStringValue=c("FPDFAttachment_SetStringValue",3),VX=n._FPDFAttachment_GetStringValue=c("FPDFAttachment_GetStringValue",4),YX=n._FPDFAttachment_SetDescription=c("FPDFAttachment_SetDescription",2),XX=n._FPDFAttachment_GetDescription=c("FPDFAttachment_GetDescription",3),WX=n._FPDFAttachment_SetFile=c("FPDFAttachment_SetFile",4),UX=n._FPDFAttachment_GetFile=c("FPDFAttachment_GetFile",4),qX=n._FPDFAttachment_GetSubtype=c("FPDFAttachment_GetSubtype",3),zX=n._FPDFAttachment_GetAFRelationship=c("FPDFAttachment_GetAFRelationship",3),ZX=n._EPDFAttachment_SetSubtype=c("EPDFAttachment_SetSubtype",2),JX=n._EPDFAttachment_SetDescription=c("EPDFAttachment_SetDescription",2),$X=n._EPDFAttachment_SetName=c("EPDFAttachment_SetName",2),eW=n._EPDFAttachment_GetDescription=c("EPDFAttachment_GetDescription",3),tW=n._EPDFAttachment_GetIntegerValue=c("EPDFAttachment_GetIntegerValue",3),nW=n._EPDFAttachment_ExtractFile=c("EPDFAttachment_ExtractFile",6),rW=n._EPDFAttachment_ExtractFileToOwnedBuffer=c("EPDFAttachment_ExtractFileToOwnedBuffer",6),iW=n._FPDFCatalog_IsTagged=c("FPDFCatalog_IsTagged",1),aW=n._FPDFCatalog_GetLanguage=c("FPDFCatalog_GetLanguage",3),oW=n._FPDFCatalog_SetLanguage=c("FPDFCatalog_SetLanguage",2),sW=n._EPDFCatalog_GetLanguage=c("EPDFCatalog_GetLanguage",3),AW=n._FPDFAvail_Create=c("FPDFAvail_Create",2),cW=n._FPDFAvail_Destroy=c("FPDFAvail_Destroy",1),dW=n._FPDFAvail_IsDocAvail=c("FPDFAvail_IsDocAvail",2),uW=n._FPDFAvail_GetDocument=c("FPDFAvail_GetDocument",2),pW=n._FPDFAvail_GetFirstPageNum=c("FPDFAvail_GetFirstPageNum",1),lW=n._FPDFAvail_IsPageAvail=c("FPDFAvail_IsPageAvail",3),mW=n._FPDFAvail_IsFormAvail=c("FPDFAvail_IsFormAvail",2),wW=n._FPDFAvail_IsLinearized=c("FPDFAvail_IsLinearized",1),bW=n._FPDFBookmark_GetFirstChild=c("FPDFBookmark_GetFirstChild",2),fW=n._FPDFBookmark_GetNextSibling=c("FPDFBookmark_GetNextSibling",2),gW=n._FPDFBookmark_GetTitle=c("FPDFBookmark_GetTitle",3),FW=n._FPDFBookmark_GetCount=c("FPDFBookmark_GetCount",1),vW=n._FPDFBookmark_Find=c("FPDFBookmark_Find",2),PW=n._FPDFBookmark_GetDest=c("FPDFBookmark_GetDest",2),hW=n._FPDFBookmark_GetAction=c("FPDFBookmark_GetAction",1),kW=n._FPDFBookmark_GetColor=c("FPDFBookmark_GetColor",4),DW=n._FPDFBookmark_GetStyle=c("FPDFBookmark_GetStyle",1),BW=n._FPDFAction_GetType=c("FPDFAction_GetType",1),EW=n._FPDFAction_GetDest=c("FPDFAction_GetDest",2),_W=n._FPDFAction_GetFilePath=c("FPDFAction_GetFilePath",3),yW=n._FPDFAction_GetURIPath=c("FPDFAction_GetURIPath",4),GW=n._FPDFDest_GetDestPageIndex=c("FPDFDest_GetDestPageIndex",2),CW=n._EPDFDest_GetPageObjectNumber=c("EPDFDest_GetPageObjectNumber",2),IW=n._FPDFDest_GetView=c("FPDFDest_GetView",3),SW=n._FPDFDest_GetLocationInPage=c("FPDFDest_GetLocationInPage",7),xW=n._FPDFLink_GetLinkAtPoint=c("FPDFLink_GetLinkAtPoint",3),HW=n._FPDFLink_GetLinkZOrderAtPoint=c("FPDFLink_GetLinkZOrderAtPoint",3),OW=n._FPDFLink_GetDest=c("FPDFLink_GetDest",2),QW=n._FPDFLink_GetAction=c("FPDFLink_GetAction",1),RW=n._FPDFLink_Enumerate=c("FPDFLink_Enumerate",3),TW=n._FPDFLink_GetAnnot=c("FPDFLink_GetAnnot",2),MW=n._FPDFLink_GetAnnotRect=c("FPDFLink_GetAnnotRect",2),LW=n._FPDFLink_CountQuadPoints=c("FPDFLink_CountQuadPoints",1),NW=n._FPDFLink_GetQuadPoints=c("FPDFLink_GetQuadPoints",3),jW=n._FPDF_GetPageAAction=c("FPDF_GetPageAAction",2),KW=n._FPDF_GetFileIdentifier=c("FPDF_GetFileIdentifier",4),VW=n._FPDF_GetMetaText=c("FPDF_GetMetaText",4),YW=n._FPDF_GetPageLabel=c("FPDF_GetPageLabel",4),XW=n._EPDF_SetMetaText=c("EPDF_SetMetaText",3),WW=n._EPDF_HasMetaText=c("EPDF_HasMetaText",2),UW=n._EPDF_GetMetaTrapped=c("EPDF_GetMetaTrapped",1),qW=n._EPDF_SetMetaTrapped=c("EPDF_SetMetaTrapped",2),zW=n._EPDF_GetMetaKeyCount=c("EPDF_GetMetaKeyCount",2),ZW=n._EPDF_GetMetaKeyName=c("EPDF_GetMetaKeyName",5),JW=n._FPDFPageObj_NewImageObj=c("FPDFPageObj_NewImageObj",1),$W=n._FPDFImageObj_LoadJpegFile=c("FPDFImageObj_LoadJpegFile",4),eU=n._FPDFImageObj_LoadJpegFileInline=c("FPDFImageObj_LoadJpegFileInline",4),tU=n._FPDFImageObj_SetMatrix=c("FPDFImageObj_SetMatrix",7),nU=n._FPDFImageObj_SetBitmap=c("FPDFImageObj_SetBitmap",4),rU=n._FPDFImageObj_GetBitmap=c("FPDFImageObj_GetBitmap",1),iU=n._FPDFImageObj_GetRenderedBitmap=c("FPDFImageObj_GetRenderedBitmap",3),aU=n._FPDFImageObj_GetImageDataDecoded=c("FPDFImageObj_GetImageDataDecoded",3),oU=n._FPDFImageObj_GetImageDataRaw=c("FPDFImageObj_GetImageDataRaw",3),sU=n._FPDFImageObj_GetImageFilterCount=c("FPDFImageObj_GetImageFilterCount",1),AU=n._FPDFImageObj_GetImageFilter=c("FPDFImageObj_GetImageFilter",4),cU=n._FPDFImageObj_GetImageMetadata=c("FPDFImageObj_GetImageMetadata",3),dU=n._FPDFImageObj_GetImagePixelSize=c("FPDFImageObj_GetImagePixelSize",3),uU=n._FPDFImageObj_GetIccProfileDataDecoded=c("FPDFImageObj_GetIccProfileDataDecoded",5),pU=n._EPDFImageObj_SetPng=c("EPDFImageObj_SetPng",5),lU=n._EPDFImageObj_SetJpeg=c("EPDFImageObj_SetJpeg",5),mU=n._FPDF_CreateNewDocument=c("FPDF_CreateNewDocument",0),wU=n._FPDFPage_Delete=c("FPDFPage_Delete",2),bU=n._FPDF_MovePages=c("FPDF_MovePages",4),fU=n._FPDFPage_New=c("FPDFPage_New",4),gU=n._EPDFPage_InsertBlankRaw=c("EPDFPage_InsertBlankRaw",5),FU=n._FPDFPage_GetRotation=c("FPDFPage_GetRotation",1),vU=n._FPDFPage_InsertObject=c("FPDFPage_InsertObject",2),PU=n._FPDFPage_InsertObjectAtIndex=c("FPDFPage_InsertObjectAtIndex",3),hU=n._FPDFPage_RemoveObject=c("FPDFPage_RemoveObject",2),kU=n._FPDFPage_CountObjects=c("FPDFPage_CountObjects",1),DU=n._FPDFPage_GetObject=c("FPDFPage_GetObject",2),BU=n._FPDFPage_HasTransparency=c("FPDFPage_HasTransparency",1),EU=n._FPDFPageObj_Destroy=c("FPDFPageObj_Destroy",1),_U=n._FPDFPageObj_GetMarkedContentID=c("FPDFPageObj_GetMarkedContentID",1),yU=n._FPDFPageObj_CountMarks=c("FPDFPageObj_CountMarks",1),GU=n._FPDFPageObj_GetMark=c("FPDFPageObj_GetMark",2),CU=n._FPDFPageObj_AddExistingMark=c("FPDFPageObj_AddExistingMark",2),IU=n._FPDFPageObj_AddMark=c("FPDFPageObj_AddMark",2),SU=n._FPDFPageObj_RemoveMark=c("FPDFPageObj_RemoveMark",2),xU=n._FPDFPageObjMark_GetName=c("FPDFPageObjMark_GetName",4),HU=n._FPDFPageObjMark_CountParams=c("FPDFPageObjMark_CountParams",1),OU=n._FPDFPageObjMark_GetParamKey=c("FPDFPageObjMark_GetParamKey",5),QU=n._FPDFPageObjMark_GetParamValueType=c("FPDFPageObjMark_GetParamValueType",2),RU=n._FPDFPageObjMark_GetParamIntValue=c("FPDFPageObjMark_GetParamIntValue",3),TU=n._FPDFPageObjMark_GetParamFloatValue=c("FPDFPageObjMark_GetParamFloatValue",3),MU=n._FPDFPageObjMark_GetParamStringValue=c("FPDFPageObjMark_GetParamStringValue",5),LU=n._FPDFPageObjMark_GetParamBlobValue=c("FPDFPageObjMark_GetParamBlobValue",5),NU=n._FPDFPageObj_HasTransparency=c("FPDFPageObj_HasTransparency",1),jU=n._FPDFPageObjMark_SetIntParam=c("FPDFPageObjMark_SetIntParam",5),KU=n._FPDFPageObjMark_SetFloatParam=c("FPDFPageObjMark_SetFloatParam",5),VU=n._FPDFPageObjMark_SetStringParam=c("FPDFPageObjMark_SetStringParam",5),YU=n._FPDFPageObjMark_SetBlobParam=c("FPDFPageObjMark_SetBlobParam",6),XU=n._FPDFPageObjMark_RemoveParam=c("FPDFPageObjMark_RemoveParam",3),WU=n._FPDFPageObj_GetType=c("FPDFPageObj_GetType",1),UU=n._FPDFPageObj_GetIsActive=c("FPDFPageObj_GetIsActive",2),qU=n._FPDFPageObj_SetIsActive=c("FPDFPageObj_SetIsActive",2),zU=n._FPDFPage_GenerateContent=c("FPDFPage_GenerateContent",1),ZU=n._FPDFPageObj_Transform=c("FPDFPageObj_Transform",7),JU=n._FPDFPageObj_TransformF=c("FPDFPageObj_TransformF",2),$U=n._FPDFPageObj_GetMatrix=c("FPDFPageObj_GetMatrix",2),eq=n._FPDFPageObj_SetMatrix=c("FPDFPageObj_SetMatrix",2),tq=n._FPDFPageObj_SetBlendMode=c("FPDFPageObj_SetBlendMode",2),nq=n._FPDFPage_TransformAnnots=c("FPDFPage_TransformAnnots",7),rq=n._FPDFPage_SetRotation=c("FPDFPage_SetRotation",2),iq=n._FPDFPageObj_SetFillColor=c("FPDFPageObj_SetFillColor",5),aq=n._FPDFPageObj_GetFillColor=c("FPDFPageObj_GetFillColor",5),oq=n._FPDFPageObj_GetBounds=c("FPDFPageObj_GetBounds",5),sq=n._FPDFPageObj_GetRotatedBounds=c("FPDFPageObj_GetRotatedBounds",2),Aq=n._FPDFPageObj_SetStrokeColor=c("FPDFPageObj_SetStrokeColor",5),cq=n._FPDFPageObj_GetStrokeColor=c("FPDFPageObj_GetStrokeColor",5),dq=n._FPDFPageObj_SetStrokeWidth=c("FPDFPageObj_SetStrokeWidth",2),uq=n._FPDFPageObj_GetStrokeWidth=c("FPDFPageObj_GetStrokeWidth",2),pq=n._FPDFPageObj_GetLineJoin=c("FPDFPageObj_GetLineJoin",1),lq=n._FPDFPageObj_SetLineJoin=c("FPDFPageObj_SetLineJoin",2),mq=n._FPDFPageObj_GetLineCap=c("FPDFPageObj_GetLineCap",1),wq=n._FPDFPageObj_SetLineCap=c("FPDFPageObj_SetLineCap",2),bq=n._FPDFPageObj_GetDashPhase=c("FPDFPageObj_GetDashPhase",2),fq=n._FPDFPageObj_SetDashPhase=c("FPDFPageObj_SetDashPhase",2),gq=n._FPDFPageObj_GetDashCount=c("FPDFPageObj_GetDashCount",1),Fq=n._FPDFPageObj_GetDashArray=c("FPDFPageObj_GetDashArray",3),vq=n._FPDFPageObj_SetDashArray=c("FPDFPageObj_SetDashArray",4),Pq=n._FPDFPageObj_GetRenderedStrokePattern=c("FPDFPageObj_GetRenderedStrokePattern",2),hq=n._FPDFPageObj_GetRenderedFillPattern=c("FPDFPageObj_GetRenderedFillPattern",2),kq=n._FPDFFormObj_CountObjects=c("FPDFFormObj_CountObjects",1),Dq=n._FPDFFormObj_GetObject=c("FPDFFormObj_GetObject",2),Bq=n._FPDFFormObj_RemoveObject=c("FPDFFormObj_RemoveObject",2),Eq=n._FPDFPageObj_CreateNewPath=c("FPDFPageObj_CreateNewPath",2),_q=n._FPDFPageObj_CreateNewRect=c("FPDFPageObj_CreateNewRect",4),yq=n._FPDFPath_CountSegments=c("FPDFPath_CountSegments",1),Gq=n._FPDFPath_GetPathSegment=c("FPDFPath_GetPathSegment",2),Cq=n._FPDFPath_MoveTo=c("FPDFPath_MoveTo",3),Iq=n._FPDFPath_LineTo=c("FPDFPath_LineTo",3),Sq=n._FPDFPath_BezierTo=c("FPDFPath_BezierTo",7),xq=n._FPDFPath_GetBezierControlPoints=c("FPDFPath_GetBezierControlPoints",4),Hq=n._FPDFPath_Close=c("FPDFPath_Close",1),Oq=n._FPDFPath_SetDrawMode=c("FPDFPath_SetDrawMode",3),Qq=n._FPDFPath_GetDrawMode=c("FPDFPath_GetDrawMode",3),Rq=n._FPDFPathSegment_GetPoint=c("FPDFPathSegment_GetPoint",3),Tq=n._FPDFPathSegment_GetType=c("FPDFPathSegment_GetType",1),Mq=n._FPDFPathSegment_GetClose=c("FPDFPathSegment_GetClose",1),Lq=n._FPDFPageObj_NewTextObj=c("FPDFPageObj_NewTextObj",3),Nq=n._FPDFText_SetText=c("FPDFText_SetText",2),jq=n._FPDFText_SetCharcodes=c("FPDFText_SetCharcodes",3),Kq=n._FPDFText_SetPositions=c("FPDFText_SetPositions",3),Vq=n._FPDFText_LoadFont=c("FPDFText_LoadFont",5),Yq=n._FPDFText_LoadStandardFont=c("FPDFText_LoadStandardFont",2),Xq=n._FPDFText_LoadCidType2Font=c("FPDFText_LoadCidType2Font",6),Wq=n._FPDFTextObj_GetFontSize=c("FPDFTextObj_GetFontSize",2),Uq=n._FPDFTextObj_SetFontSize=c("FPDFTextObj_SetFontSize",2),qq=n._FPDFTextObj_GetText=c("FPDFTextObj_GetText",4),zq=n._FPDFTextObj_GetRenderedBitmap=c("FPDFTextObj_GetRenderedBitmap",4),Zq=n._FPDFFont_Close=c("FPDFFont_Close",1),Jq=n._FPDFPageObj_CreateTextObj=c("FPDFPageObj_CreateTextObj",3),$q=n._FPDFTextObj_GetTextRenderMode=c("FPDFTextObj_GetTextRenderMode",1),ez=n._FPDFTextObj_SetTextRenderMode=c("FPDFTextObj_SetTextRenderMode",2),tz=n._FPDFTextObj_GetFont=c("FPDFTextObj_GetFont",1),nz=n._FPDFFont_GetBaseFontName=c("FPDFFont_GetBaseFontName",3),rz=n._FPDFFont_GetFamilyName=c("FPDFFont_GetFamilyName",3),iz=n._FPDFFont_GetFontData=c("FPDFFont_GetFontData",4),az=n._FPDFFont_GetIsEmbedded=c("FPDFFont_GetIsEmbedded",1),oz=n._FPDFFont_GetFlags=c("FPDFFont_GetFlags",1),sz=n._FPDFFont_GetWeight=c("FPDFFont_GetWeight",1),Az=n._FPDFFont_GetItalicAngle=c("FPDFFont_GetItalicAngle",2),cz=n._FPDFFont_GetAscent=c("FPDFFont_GetAscent",3),dz=n._FPDFFont_GetDescent=c("FPDFFont_GetDescent",3),uz=n._FPDFFont_GetGlyphWidth=c("FPDFFont_GetGlyphWidth",4),pz=n._FPDFFont_GetGlyphPath=c("FPDFFont_GetGlyphPath",3),lz=n._FPDFGlyphPath_CountGlyphSegments=c("FPDFGlyphPath_CountGlyphSegments",1),mz=n._FPDFGlyphPath_GetGlyphPathSegment=c("FPDFGlyphPath_GetGlyphPathSegment",2),wz=n._EPDFText_RedactInRect=c("EPDFText_RedactInRect",4),bz=n._EPDFText_RedactInQuads=c("EPDFText_RedactInQuads",5),fz=n._FPDFDoc_GetPageMode=c("FPDFDoc_GetPageMode",1),gz=n._FPDFPage_Flatten=c("FPDFPage_Flatten",2),Fz=n._FPDFPage_HasFormFieldAtPoint=c("FPDFPage_HasFormFieldAtPoint",4),vz=n._FPDFPage_FormFieldZOrderAtPoint=c("FPDFPage_FormFieldZOrderAtPoint",4),Pz=n._FPDFDOC_InitFormFillEnvironment=c("FPDFDOC_InitFormFillEnvironment",2),hz=n._FPDFDOC_ExitFormFillEnvironment=c("FPDFDOC_ExitFormFillEnvironment",1),kz=n._FORM_OnMouseMove=c("FORM_OnMouseMove",5),Dz=n._FORM_OnMouseWheel=c("FORM_OnMouseWheel",6),Bz=n._FORM_OnFocus=c("FORM_OnFocus",5),Ez=n._FORM_OnLButtonDown=c("FORM_OnLButtonDown",5),_z=n._FORM_OnLButtonUp=c("FORM_OnLButtonUp",5),yz=n._FORM_OnLButtonDoubleClick=c("FORM_OnLButtonDoubleClick",5),Gz=n._FORM_OnRButtonDown=c("FORM_OnRButtonDown",5),Cz=n._FORM_OnRButtonUp=c("FORM_OnRButtonUp",5),Iz=n._FORM_OnKeyDown=c("FORM_OnKeyDown",4),Sz=n._FORM_OnKeyUp=c("FORM_OnKeyUp",4),xz=n._FORM_OnChar=c("FORM_OnChar",4),Hz=n._FORM_GetFocusedText=c("FORM_GetFocusedText",4),Oz=n._FORM_GetSelectedText=c("FORM_GetSelectedText",4),Qz=n._FORM_ReplaceAndKeepSelection=c("FORM_ReplaceAndKeepSelection",3),Rz=n._FORM_ReplaceSelection=c("FORM_ReplaceSelection",3),Tz=n._FORM_SelectAllText=c("FORM_SelectAllText",2),Mz=n._FORM_CanUndo=c("FORM_CanUndo",2),Lz=n._FORM_CanRedo=c("FORM_CanRedo",2),Nz=n._FORM_Undo=c("FORM_Undo",2),jz=n._FORM_Redo=c("FORM_Redo",2),Kz=n._FORM_ForceToKillFocus=c("FORM_ForceToKillFocus",1),Vz=n._FORM_GetFocusedAnnot=c("FORM_GetFocusedAnnot",3),Yz=n._FORM_SetFocusedAnnot=c("FORM_SetFocusedAnnot",2),Xz=n._FPDF_FFLDraw=c("FPDF_FFLDraw",9),Wz=n._FPDF_SetFormFieldHighlightColor=c("FPDF_SetFormFieldHighlightColor",3),Uz=n._FPDF_SetFormFieldHighlightAlpha=c("FPDF_SetFormFieldHighlightAlpha",2),qz=n._FPDF_RemoveFormFieldHighlight=c("FPDF_RemoveFormFieldHighlight",1),zz=n._FORM_OnAfterLoadPage=c("FORM_OnAfterLoadPage",2),Zz=n._FORM_OnBeforeClosePage=c("FORM_OnBeforeClosePage",2),Jz=n._FORM_DoDocumentJSAction=c("FORM_DoDocumentJSAction",1),$z=n._FORM_DoDocumentOpenAction=c("FORM_DoDocumentOpenAction",1),eZ=n._FORM_DoDocumentAAction=c("FORM_DoDocumentAAction",2),tZ=n._FORM_DoPageAAction=c("FORM_DoPageAAction",3),nZ=n._FORM_SetIndexSelected=c("FORM_SetIndexSelected",4),rZ=n._FORM_IsIndexSelected=c("FORM_IsIndexSelected",3),iZ=n._FORM_GetTextDirection=c("FORM_GetTextDirection",2),aZ=n._FORM_SetTextDirection=c("FORM_SetTextDirection",3),oZ=n._FPDFDoc_GetJavaScriptActionCount=c("FPDFDoc_GetJavaScriptActionCount",1),sZ=n._FPDFDoc_GetJavaScriptAction=c("FPDFDoc_GetJavaScriptAction",2),AZ=n._EPDFDoc_GetNamedJavaScriptActionModel=c("EPDFDoc_GetNamedJavaScriptActionModel",2),cZ=n._FPDFDoc_CloseJavaScriptAction=c("FPDFDoc_CloseJavaScriptAction",1),dZ=n._FPDFJavaScriptAction_GetName=c("FPDFJavaScriptAction_GetName",3),uZ=n._FPDFJavaScriptAction_GetScript=c("FPDFJavaScriptAction_GetScript",3),pZ=n._FPDF_ImportPagesByIndex=c("FPDF_ImportPagesByIndex",5),lZ=n._FPDF_ImportPages=c("FPDF_ImportPages",4),mZ=n._FPDF_ImportNPagesToOne=c("FPDF_ImportNPagesToOne",5),wZ=n._FPDF_NewXObjectFromPage=c("FPDF_NewXObjectFromPage",3),bZ=n._FPDF_CloseXObject=c("FPDF_CloseXObject",1),fZ=n._FPDF_NewFormObjectFromXObject=c("FPDF_NewFormObjectFromXObject",1),gZ=n._FPDF_CopyViewerPreferences=c("FPDF_CopyViewerPreferences",2),FZ=n._FPDF_RenderPageBitmapWithColorScheme_Start=c("FPDF_RenderPageBitmapWithColorScheme_Start",10),vZ=n._FPDF_RenderPageBitmap_Start=c("FPDF_RenderPageBitmap_Start",9),PZ=n._FPDF_RenderPage_Continue=c("FPDF_RenderPage_Continue",2),hZ=n._FPDF_RenderPage_Close=c("FPDF_RenderPage_Close",1),kZ=n._EPDF_RenderPageBitmapWithMatrix_Start=c("EPDF_RenderPageBitmapWithMatrix_Start",6),DZ=n._EPDF_RenderPage_Continue=c("EPDF_RenderPage_Continue",2),BZ=n._EPDF_FreeBuffer=c("EPDF_FreeBuffer",1),EZ=n._FPDF_SaveAsCopy=c("FPDF_SaveAsCopy",3),_Z=n._FPDF_SaveWithVersion=c("FPDF_SaveWithVersion",4),yZ=n._EPDF_SaveDocumentToOwnedBuffer=c("EPDF_SaveDocumentToOwnedBuffer",3),GZ=n._EPDF_SaveDocumentToOwnedBufferWithVersion=c("EPDF_SaveDocumentToOwnedBufferWithVersion",4),CZ=n._EPDF_SaveDocumentToOwnedBufferEx=c("EPDF_SaveDocumentToOwnedBufferEx",5),IZ=n._EPDF_SaveAsCopyEx=c("EPDF_SaveAsCopyEx",4),SZ=n._FPDFText_GetCharIndexFromTextIndex=c("FPDFText_GetCharIndexFromTextIndex",2),xZ=n._FPDFText_GetTextIndexFromCharIndex=c("FPDFText_GetTextIndexFromCharIndex",2),HZ=n._FPDF_GetSignatureCount=c("FPDF_GetSignatureCount",1),OZ=n._FPDF_GetSignatureObject=c("FPDF_GetSignatureObject",2),QZ=n._FPDFSignatureObj_GetContents=c("FPDFSignatureObj_GetContents",3),RZ=n._FPDFSignatureObj_GetByteRange=c("FPDFSignatureObj_GetByteRange",3),TZ=n._FPDFSignatureObj_GetSubFilter=c("FPDFSignatureObj_GetSubFilter",3),MZ=n._FPDFSignatureObj_GetReason=c("FPDFSignatureObj_GetReason",3),LZ=n._FPDFSignatureObj_GetTime=c("FPDFSignatureObj_GetTime",3),NZ=n._FPDFSignatureObj_GetDocMDPPermission=c("FPDFSignatureObj_GetDocMDPPermission",1),jZ=n._FPDF_StructTree_GetForPage=c("FPDF_StructTree_GetForPage",1),KZ=n._FPDF_StructTree_Close=c("FPDF_StructTree_Close",1),VZ=n._FPDF_StructTree_CountChildren=c("FPDF_StructTree_CountChildren",1),YZ=n._FPDF_StructTree_GetChildAtIndex=c("FPDF_StructTree_GetChildAtIndex",2),XZ=n._FPDF_StructElement_GetAltText=c("FPDF_StructElement_GetAltText",3),WZ=n._FPDF_StructElement_GetActualText=c("FPDF_StructElement_GetActualText",3),UZ=n._FPDF_StructElement_GetExpansion=c("FPDF_StructElement_GetExpansion",3),qZ=n._FPDF_StructElement_GetID=c("FPDF_StructElement_GetID",3),zZ=n._FPDF_StructElement_GetLang=c("FPDF_StructElement_GetLang",3),ZZ=n._FPDF_StructElement_GetAttributeCount=c("FPDF_StructElement_GetAttributeCount",1),JZ=n._FPDF_StructElement_GetAttributeAtIndex=c("FPDF_StructElement_GetAttributeAtIndex",2),$Z=n._FPDF_StructElement_GetStringAttribute=c("FPDF_StructElement_GetStringAttribute",4),eJ=n._FPDF_StructElement_GetMarkedContentID=c("FPDF_StructElement_GetMarkedContentID",1),tJ=n._FPDF_StructElement_GetRawType=c("FPDF_StructElement_GetRawType",3),nJ=n._FPDF_StructElement_GetType=c("FPDF_StructElement_GetType",3),rJ=n._FPDF_StructElement_GetObjType=c("FPDF_StructElement_GetObjType",3),iJ=n._FPDF_StructElement_GetTitle=c("FPDF_StructElement_GetTitle",3),aJ=n._FPDF_StructElement_CountChildren=c("FPDF_StructElement_CountChildren",1),oJ=n._FPDF_StructElement_GetChildAtIndex=c("FPDF_StructElement_GetChildAtIndex",2),sJ=n._FPDF_StructElement_GetChildMarkedContentID=c("FPDF_StructElement_GetChildMarkedContentID",2),AJ=n._FPDF_StructElement_GetParent=c("FPDF_StructElement_GetParent",1),cJ=n._FPDF_StructElement_Attr_GetCount=c("FPDF_StructElement_Attr_GetCount",1),dJ=n._FPDF_StructElement_Attr_GetName=c("FPDF_StructElement_Attr_GetName",5),uJ=n._FPDF_StructElement_Attr_GetValue=c("FPDF_StructElement_Attr_GetValue",2),pJ=n._FPDF_StructElement_Attr_GetType=c("FPDF_StructElement_Attr_GetType",1),lJ=n._FPDF_StructElement_Attr_GetBooleanValue=c("FPDF_StructElement_Attr_GetBooleanValue",2),mJ=n._FPDF_StructElement_Attr_GetNumberValue=c("FPDF_StructElement_Attr_GetNumberValue",2),wJ=n._FPDF_StructElement_Attr_GetStringValue=c("FPDF_StructElement_Attr_GetStringValue",4),bJ=n._FPDF_StructElement_Attr_GetBlobValue=c("FPDF_StructElement_Attr_GetBlobValue",4),fJ=n._FPDF_StructElement_Attr_CountChildren=c("FPDF_StructElement_Attr_CountChildren",1),gJ=n._FPDF_StructElement_Attr_GetChildAtIndex=c("FPDF_StructElement_Attr_GetChildAtIndex",2),FJ=n._FPDF_StructElement_GetMarkedContentIdCount=c("FPDF_StructElement_GetMarkedContentIdCount",1),vJ=n._FPDF_StructElement_GetMarkedContentIdAtIndex=c("FPDF_StructElement_GetMarkedContentIdAtIndex",2),PJ=n._FPDF_AddInstalledFont=c("FPDF_AddInstalledFont",3),hJ=n._FPDF_SetSystemFontInfo=c("FPDF_SetSystemFontInfo",1),kJ=n._FPDF_GetDefaultTTFMap=c("FPDF_GetDefaultTTFMap",0),DJ=n._FPDF_GetDefaultTTFMapCount=c("FPDF_GetDefaultTTFMapCount",0),BJ=n._FPDF_GetDefaultTTFMapEntry=c("FPDF_GetDefaultTTFMapEntry",1),EJ=n._FPDF_GetDefaultSystemFontInfo=c("FPDF_GetDefaultSystemFontInfo",0),_J=n._FPDF_FreeDefaultSystemFontInfo=c("FPDF_FreeDefaultSystemFontInfo",1),yJ=n._FPDFText_LoadPage=c("FPDFText_LoadPage",1),GJ=n._FPDFText_ClosePage=c("FPDFText_ClosePage",1),CJ=n._FPDFText_CountChars=c("FPDFText_CountChars",1),IJ=n._FPDFText_GetUnicode=c("FPDFText_GetUnicode",2),SJ=n._FPDFText_GetTextObject=c("FPDFText_GetTextObject",2),xJ=n._FPDFText_IsGenerated=c("FPDFText_IsGenerated",2),HJ=n._FPDFText_IsHyphen=c("FPDFText_IsHyphen",2),OJ=n._FPDFText_HasUnicodeMapError=c("FPDFText_HasUnicodeMapError",2),QJ=n._FPDFText_GetFontSize=c("FPDFText_GetFontSize",2),RJ=n._FPDFText_GetFontInfo=c("FPDFText_GetFontInfo",5),TJ=n._FPDFText_GetFontWeight=c("FPDFText_GetFontWeight",2),MJ=n._FPDFText_GetFillColor=c("FPDFText_GetFillColor",6),LJ=n._FPDFText_GetStrokeColor=c("FPDFText_GetStrokeColor",6),NJ=n._FPDFText_GetCharAngle=c("FPDFText_GetCharAngle",2),jJ=n._FPDFText_GetCharBox=c("FPDFText_GetCharBox",6),KJ=n._FPDFText_GetLooseCharBox=c("FPDFText_GetLooseCharBox",3),VJ=n._EPDFText_GetCharGeometry=c("EPDFText_GetCharGeometry",3),YJ=n._EPDFText_GetTextFull=c("EPDFText_GetTextFull",3),XJ=n._EPDFText_GetCharToTextMap=c("EPDFText_GetCharToTextMap",3),WJ=n._FPDFText_GetMatrix=c("FPDFText_GetMatrix",3),UJ=n._FPDFText_GetCharOrigin=c("FPDFText_GetCharOrigin",4),qJ=n._FPDFText_GetCharIndexAtPos=c("FPDFText_GetCharIndexAtPos",5),zJ=n._FPDFText_GetText=c("FPDFText_GetText",4),ZJ=n._FPDFText_CountRects=c("FPDFText_CountRects",3),JJ=n._FPDFText_GetRect=c("FPDFText_GetRect",6),$J=n._FPDFText_GetBoundedText=c("FPDFText_GetBoundedText",7),e$=n._FPDFText_FindStart=c("FPDFText_FindStart",4),t$=n._FPDFText_FindNext=c("FPDFText_FindNext",1),n$=n._FPDFText_FindPrev=c("FPDFText_FindPrev",1),r$=n._FPDFText_GetSchResultIndex=c("FPDFText_GetSchResultIndex",1),i$=n._FPDFText_GetSchCount=c("FPDFText_GetSchCount",1),a$=n._FPDFText_FindClose=c("FPDFText_FindClose",1),o$=n._FPDFLink_LoadWebLinks=c("FPDFLink_LoadWebLinks",1),s$=n._FPDFLink_CountWebLinks=c("FPDFLink_CountWebLinks",1),A$=n._FPDFLink_GetURL=c("FPDFLink_GetURL",4),c$=n._FPDFLink_CountRects=c("FPDFLink_CountRects",2),d$=n._FPDFLink_GetRect=c("FPDFLink_GetRect",7),u$=n._FPDFLink_GetTextRange=c("FPDFLink_GetTextRange",4),p$=n._FPDFLink_CloseWebLinks=c("FPDFLink_CloseWebLinks",1),l$=n._FPDFPage_GetDecodedThumbnailData=c("FPDFPage_GetDecodedThumbnailData",3),m$=n._FPDFPage_GetRawThumbnailData=c("FPDFPage_GetRawThumbnailData",3),w$=n._FPDFPage_GetThumbnailAsBitmap=c("FPDFPage_GetThumbnailAsBitmap",1),b$=n._FPDFPage_SetMediaBox=c("FPDFPage_SetMediaBox",5),f$=n._FPDFPage_SetCropBox=c("FPDFPage_SetCropBox",5),g$=n._FPDFPage_SetBleedBox=c("FPDFPage_SetBleedBox",5),F$=n._FPDFPage_SetTrimBox=c("FPDFPage_SetTrimBox",5),v$=n._FPDFPage_SetArtBox=c("FPDFPage_SetArtBox",5),P$=n._FPDFPage_GetMediaBox=c("FPDFPage_GetMediaBox",5),h$=n._FPDFPage_GetCropBox=c("FPDFPage_GetCropBox",5),k$=n._FPDFPage_GetBleedBox=c("FPDFPage_GetBleedBox",5),D$=n._FPDFPage_GetTrimBox=c("FPDFPage_GetTrimBox",5),B$=n._FPDFPage_GetArtBox=c("FPDFPage_GetArtBox",5),E$=n._FPDFPage_TransFormWithClip=c("FPDFPage_TransFormWithClip",3),_$=n._FPDFPageObj_TransformClipPath=c("FPDFPageObj_TransformClipPath",7),y$=n._FPDFPageObj_GetClipPath=c("FPDFPageObj_GetClipPath",1),G$=n._FPDFClipPath_CountPaths=c("FPDFClipPath_CountPaths",1),C$=n._FPDFClipPath_CountPathSegments=c("FPDFClipPath_CountPathSegments",2),I$=n._FPDFClipPath_GetPathSegment=c("FPDFClipPath_GetPathSegment",3),S$=n._FPDF_CreateClipPath=c("FPDF_CreateClipPath",4),x$=n._FPDF_DestroyClipPath=c("FPDF_DestroyClipPath",1),H$=n._FPDFPage_InsertClipPath=c("FPDFPage_InsertClipPath",2),O$=n._FPDF_InitLibrary=c("FPDF_InitLibrary",0),Q$=n._FPDF_InitLibraryWithConfig=c("FPDF_InitLibraryWithConfig",1),R$=n._FPDF_DestroyLibrary=c("FPDF_DestroyLibrary",0),T$=n._FPDF_SetSandBoxPolicy=c("FPDF_SetSandBoxPolicy",2),M$=n._FPDF_LoadDocument=c("FPDF_LoadDocument",2),L$=n._FPDF_GetFormType=c("FPDF_GetFormType",1),N$=n._FPDF_LoadXFA=c("FPDF_LoadXFA",1),j$=n._FPDF_LoadMemDocument=c("FPDF_LoadMemDocument",3),K$=n._FPDF_LoadMemDocument64=c("FPDF_LoadMemDocument64",3),V$=n._FPDF_LoadCustomDocument=c("FPDF_LoadCustomDocument",2),Y$=n._FPDF_GetFileVersion=c("FPDF_GetFileVersion",2),X$=n._FPDF_DocumentHasValidCrossReferenceTable=c("FPDF_DocumentHasValidCrossReferenceTable",1),W$=n._FPDF_GetDocPermissions=c("FPDF_GetDocPermissions",1),U$=n._FPDF_GetDocUserPermissions=c("FPDF_GetDocUserPermissions",1),q$=n._FPDF_GetSecurityHandlerRevision=c("FPDF_GetSecurityHandlerRevision",1),z$=n._EPDF_SetEncryption=c("EPDF_SetEncryption",4),Z$=n._EPDF_RemoveEncryption=c("EPDF_RemoveEncryption",1),J$=n._EPDF_UnlockOwnerPermissions=c("EPDF_UnlockOwnerPermissions",2),$$=n._EPDF_CheckPasswordPermissions=c("EPDF_CheckPasswordPermissions",6),eee=n._EPDF_SetRuntimeOwnerPermissions=c("EPDF_SetRuntimeOwnerPermissions",2),tee=n._EPDF_IsEncrypted=c("EPDF_IsEncrypted",1),nee=n._EPDF_IsOwnerUnlocked=c("EPDF_IsOwnerUnlocked",1),ree=n._FPDF_GetPageCount=c("FPDF_GetPageCount",1),iee=n._FPDF_LoadPage=c("FPDF_LoadPage",2),aee=n._EPDFDoc_LoadPageByObjectNumber=c("EPDFDoc_LoadPageByObjectNumber",2),oee=n._EPDFDoc_LoadPageByObjectNumberNormalized=c("EPDFDoc_LoadPageByObjectNumberNormalized",2),see=n._EPDFDoc_GetPageObjectNumberByIndex=c("EPDFDoc_GetPageObjectNumberByIndex",2),Aee=n._EPDFDoc_DeletePageByObjectNumber=c("EPDFDoc_DeletePageByObjectNumber",2),cee=n._EPDFDoc_SetPageRotationByObjectNumber=c("EPDFDoc_SetPageRotationByObjectNumber",3),dee=n._EPDFDoc_StartLoadPageByObjectNumber=c("EPDFDoc_StartLoadPageByObjectNumber",3),uee=n._EPDFPage_ContinueLoad=c("EPDFPage_ContinueLoad",2),pee=n._EPDFPage_GetObjectNumber=c("EPDFPage_GetObjectNumber",1),lee=n._FPDF_GetPageWidthF=c("FPDF_GetPageWidthF",1),mee=n._FPDF_GetPageWidth=c("FPDF_GetPageWidth",1),wee=n._FPDF_GetPageHeightF=c("FPDF_GetPageHeightF",1),bee=n._FPDF_GetPageHeight=c("FPDF_GetPageHeight",1),fee=n._FPDF_GetPageBoundingBox=c("FPDF_GetPageBoundingBox",2),gee=n._FPDF_RenderPageBitmap=c("FPDF_RenderPageBitmap",8),Fee=n._FPDF_RenderPageBitmapWithMatrix=c("FPDF_RenderPageBitmapWithMatrix",5),vee=n._EPDF_RenderAnnotBitmap=c("EPDF_RenderAnnotBitmap",7),Pee=n._EPDF_RenderAnnotBitmapUnrotated=c("EPDF_RenderAnnotBitmapUnrotated",9),hee=n._EPDF_SetDecodedImageBudget=c("EPDF_SetDecodedImageBudget",1),kee=n._EPDF_GetDecodedImageBytes=c("EPDF_GetDecodedImageBytes",0),Dee=n._EPDFPage_ResetRenderCache=c("EPDFPage_ResetRenderCache",1),Bee=n._FPDF_ClosePage=c("FPDF_ClosePage",1),Eee=n._FPDF_CloseDocument=c("FPDF_CloseDocument",1),_ee=n._FPDF_GetLastError=c("FPDF_GetLastError",0),yee=n._FPDF_DeviceToPage=c("FPDF_DeviceToPage",10),Gee=n._FPDF_PageToDevice=c("FPDF_PageToDevice",10),Cee=n._FPDFBitmap_Create=c("FPDFBitmap_Create",3),Iee=n._FPDFBitmap_CreateEx=c("FPDFBitmap_CreateEx",5),See=n._FPDFBitmap_GetFormat=c("FPDFBitmap_GetFormat",1),xee=n._FPDFBitmap_FillRect=c("FPDFBitmap_FillRect",6),Hee=n._FPDFBitmap_GetBuffer=c("FPDFBitmap_GetBuffer",1),Oee=n._FPDFBitmap_GetWidth=c("FPDFBitmap_GetWidth",1),Qee=n._FPDFBitmap_GetHeight=c("FPDFBitmap_GetHeight",1),Ree=n._FPDFBitmap_GetStride=c("FPDFBitmap_GetStride",1),Tee=n._FPDFBitmap_Destroy=c("FPDFBitmap_Destroy",1),Mee=n._FPDF_GetPageSizeByIndexF=c("FPDF_GetPageSizeByIndexF",3),Lee=n._EPDF_GetPageRotateByIndex=c("EPDF_GetPageRotateByIndex",3),Nee=n._EPDF_GetPageTabOrderByIndex=c("EPDF_GetPageTabOrderByIndex",4),jee=n._EPDF_GetPageBoxByIndex=c("EPDF_GetPageBoxByIndex",4),Kee=n._EPDF_GetPageUserUnitByIndex=c("EPDF_GetPageUserUnitByIndex",3),Vee=n._EPDF_LoadPageNormalized=c("EPDF_LoadPageNormalized",3),Yee=n._FPDF_GetPageSizeByIndex=c("FPDF_GetPageSizeByIndex",4),Xee=n._FPDF_VIEWERREF_GetPrintScaling=c("FPDF_VIEWERREF_GetPrintScaling",1),Wee=n._FPDF_VIEWERREF_GetNumCopies=c("FPDF_VIEWERREF_GetNumCopies",1),Uee=n._FPDF_VIEWERREF_GetPrintPageRange=c("FPDF_VIEWERREF_GetPrintPageRange",1),qee=n._FPDF_VIEWERREF_GetPrintPageRangeCount=c("FPDF_VIEWERREF_GetPrintPageRangeCount",1),zee=n._FPDF_VIEWERREF_GetPrintPageRangeElement=c("FPDF_VIEWERREF_GetPrintPageRangeElement",2),Zee=n._FPDF_VIEWERREF_GetDuplex=c("FPDF_VIEWERREF_GetDuplex",1),Jee=n._FPDF_VIEWERREF_GetName=c("FPDF_VIEWERREF_GetName",4),$ee=n._FPDF_CountNamedDests=c("FPDF_CountNamedDests",1),ete=n._FPDF_GetNamedDestByName=c("FPDF_GetNamedDestByName",2),tte=n._FPDF_GetNamedDest=c("FPDF_GetNamedDest",4),nte=n._FPDF_GetXFAPacketCount=c("FPDF_GetXFAPacketCount",1),rte=n._FPDF_GetXFAPacketName=c("FPDF_GetXFAPacketName",4),ite=n._FPDF_GetXFAPacketContent=c("FPDF_GetXFAPacketContent",5),ate=n._FPDF_GetTrailerEnds=c("FPDF_GetTrailerEnds",3),Nw=c("fflush",1),mE=c("strerror",1),wE=c("emscripten_builtin_memalign",2),ote=n._malloc=c("malloc",1),ste=n._free=c("free",1),Yt=c("setThrew",2),Ate=c("_emscripten_tempret_set",1),jw=()=>(jw=Xe.emscripten_stack_init)(),bE=()=>(bE=Xe.emscripten_stack_get_free)(),fE=()=>(fE=Xe.emscripten_stack_get_base)(),yd=()=>(yd=Xe.emscripten_stack_get_end)(),Kw=u=>(Kw=Xe._emscripten_stack_restore)(u),Vw=u=>(Vw=Xe._emscripten_stack_alloc)(u),Yw=()=>(Yw=Xe.emscripten_stack_get_current)(),cte=n.dynCall_jiji=c("dynCall_jiji",5),dte=n.dynCall_iiiiij=c("dynCall_iiiiij",7),ute=n.dynCall_iiiiijj=c("dynCall_iiiiijj",9),pte=n.dynCall_iiiiiijj=c("dynCall_iiiiiijj",10),lte=n.dynCall_viijii=c("dynCall_viijii",7),mte=n.dynCall_ji=c("dynCall_ji",2),wte=n.dynCall_iiij=c("dynCall_iiij",5),bte=n.dynCall_j=c("dynCall_j",1),fte=n.dynCall_iji=c("dynCall_iji",4),gte=n.dynCall_jji=c("dynCall_jji",4),Fte=n.dynCall_iiji=c("dynCall_iiji",5),vte=n.dynCall_viijj=c("dynCall_viijj",7),Pte=n.dynCall_jij=c("dynCall_jij",4),hte=n.dynCall_iij=c("dynCall_iij",4),kte=n.dynCall_viji=c("dynCall_viji",5);function gE(u,l,b,v,D){var E=Et();try{vt(u)(l,b,v,D)}catch(_){if(Bt(E),_!==_+0)throw _;Yt(1,0)}}function FE(u,l,b){var v=Et();try{return vt(u)(l,b)}catch(D){if(Bt(v),D!==D+0)throw D;Yt(1,0)}}function vE(u,l,b,v,D){var E=Et();try{return vt(u)(l,b,v,D)}catch(_){if(Bt(E),_!==_+0)throw _;Yt(1,0)}}function PE(u,l,b,v){var D=Et();try{vt(u)(l,b,v)}catch(E){if(Bt(D),E!==E+0)throw E;Yt(1,0)}}function hE(u,l){var b=Et();try{return vt(u)(l)}catch(v){if(Bt(b),v!==v+0)throw v;Yt(1,0)}}function kE(u,l,b,v){var D=Et();try{return vt(u)(l,b,v)}catch(E){if(Bt(D),E!==E+0)throw E;Yt(1,0)}}function DE(u,l,b){var v=Et();try{vt(u)(l,b)}catch(D){if(Bt(v),D!==D+0)throw D;Yt(1,0)}}function BE(u,l){var b=Et();try{vt(u)(l)}catch(v){if(Bt(b),v!==v+0)throw v;Yt(1,0)}}function EE(u){var l=Et();try{vt(u)()}catch(b){if(Bt(l),b!==b+0)throw b;Yt(1,0)}}function _E(u,l,b,v,D,E){var _=Et();try{return vt(u)(l,b,v,D,E)}catch(C){if(Bt(_),C!==C+0)throw C;Yt(1,0)}}function yE(u,l,b,v,D,E,_,C,M,$){var te=Et();try{vt(u)(l,b,v,D,E,_,C,M,$)}catch(ae){if(Bt(te),ae!==ae+0)throw ae;Yt(1,0)}}function GE(u){u=Object.assign({},u);var l=E=>_=>E(_)>>>0,b=E=>(_,C)=>E(_,C)>>>0,v=E=>_=>E(_)>>>0,D=E=>()=>E()>>>0;return u.strerror=l(u.strerror),u.emscripten_builtin_memalign=b(u.emscripten_builtin_memalign),u.malloc=v(u.malloc),u.emscripten_stack_get_base=D(u.emscripten_stack_get_base),u.emscripten_stack_get_end=D(u.emscripten_stack_get_end),u._emscripten_stack_alloc=v(u._emscripten_stack_alloc),u.emscripten_stack_get_current=D(u.emscripten_stack_get_current),u}n.wasmExports=Xe,n.ccall=Mw,n.cwrap=dE,n.addFunction=oE,n.removeFunction=uE,n.setValue=qD,n.getValue=WD,n.UTF8ToString=Zn,n.stringToUTF8=Br,n.UTF16ToString=$B,n.stringToUTF16=pE;var CE=["writeI53ToI64","writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","readI53FromI64","readI53FromU64","convertI32PairToI53","convertU32PairToI53","getTempRet0","setTempRet0","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","emscriptenLog","readEmAsmArgs","jstoi_q","listenOnce","autoResumeAudioContext","dynCallLegacy","getDynCaller","dynCall","handleException","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","asmjsMangle","HandleAllocator","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","reallyNegative","unSign","strLen","reSign","formatString","intArrayToString","AsciiToString","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","stringToNewUTF8","registerKeyEventCallback","maybeCStringToJsString","findEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","jsStackTrace","getCallstack","convertPCtoSourceLocation","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","safeSetTimeout","setImmediateWrapped","safeRequestAnimationFrame","clearImmediateWrapped","polyfillSetImmediate","registerPostMainLoop","registerPreMainLoop","getPromise","makePromise","idsToPromises","makePromiseCallback","ExceptionInfo","findMatchingCatch","Browser_asyncPrepareDataCounter","arraySum","addDays","getSocketFromFD","getSocketAddress","FS_unlink","FS_mkdirTree","_setNetworkCallback","heapObjectForWebGLType","toTypedArrayIndex","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","webgl_enable_EXT_polygon_offset_clamp","webgl_enable_EXT_clip_control","webgl_enable_WEBGL_polygon_mode","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","emscriptenWebGLGetUniform","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","writeGLArray","registerWebGlEventCallback","runAndAbortIfError","ALLOC_NORMAL","ALLOC_STACK","allocate","writeStringToMemory","writeAsciiToMemory","setErrNo","demangle","stackTrace"];CE.forEach(YD);var IE=["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","out","err","callMain","abort","wasmMemory","writeStackCookie","checkStackCookie","convertI32PairToI53Checked","stackSave","stackRestore","stackAlloc","ptrToString","zeroMemory","exitJS","getHeapMax","growMemory","ENV","ERRNO_CODES","strError","DNS","Protocols","Sockets","timers","warnOnce","readEmAsmArgsArray","jstoi_s","getExecutableName","keepRuntimeAlive","asyncLoad","alignMemory","mmapAlloc","wasmTable","noExitRuntime","getCFunc","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","freeTableIndexes","functionsInTableMap","getEmptyTableSlot","updateTableMap","getFunctionAddress","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","stringToUTF8Array","lengthBytesUTF8","intArrayFromString","stringToAscii","UTF16Decoder","stringToUTF8OnStack","writeArrayToMemory","JSEvents","specialHTMLTargets","findCanvasEventTarget","currentFullscreenStrategy","restoreOldWindowedStyle","UNWIND_CACHE","ExitStatus","getEnvStrings","doReadv","doWritev","initRandomFill","randomFill","promiseMap","uncaughtExceptionCount","exceptionLast","exceptionCaught","Browser","getPreloadedImageData__data","wget","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","isLeapYear","ydayFromDate","SYSCALLS","preloadPlugins","FS_createPreloadedFile","FS_modeStringToFlags","FS_getMode","FS_stdin_getChar_buffer","FS_stdin_getChar","FS_createPath","FS_createDevice","FS_readFile","FS","FS_createDataFile","FS_createLazyFile","MEMFS","TTY","PIPEFS","SOCKFS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","GL","AL","GLUT","EGL","GLEW","IDBStore","SDL","SDL_gfx","allocateUTF8","allocateUTF8OnStack","print","printErr"];IE.forEach(yw);var Ns;La=function u(){Ns||Xw(),Ns||(La=u)};function SE(){jw(),ID()}function Xw(){if(hr>0||(SE(),SD(),hr>0))return;function u(){Ns||(Ns=!0,n.calledRun=!0,!Pe&&(xD(),i(n),n.onRuntimeInitialized?.(),Q(!n._main,\'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]\'),HD()))}n.setStatus?(n.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n.setStatus(""),1),u()},1)):u(),gd()}function xE(){var u=S,l=G,b=!1;S=G=v=>{b=!0};try{Nw(0),["stdout","stderr"].forEach(v=>{var D=h.analyzePath("/dev/"+v);if(D){var E=D.object,_=E.rdev,C=xn.ttys[_];C?.output?.length&&(b=!0)}})}catch{}S=u,G=l,b&&dn("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.")}if(n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();Xw(),r=o;for(let u of Object.keys(n))u in t||Object.defineProperty(t,u,{configurable:!0,get(){Oe(`Access to module property (\'${u}\') is no longer possible via the module constructor argument; Instead, use the result of the module constructor.`)}});return r})})(),_G=EG});var wF={};Ze(wF,{default:()=>s7});var s7,bF=it(()=>{"use strict";s7="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AF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv//AAAAIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL//wC5AF0ApACFAEwAlwAkAKYAkgCSACkAlQA7AGUAjwCpAMMAfwCwAKoAUQBNAKEAnwBAAG0ALACaAGAAPwBNAIUAFP/A/8f/x//I/8j/zv/O/8//z//V/9X/1f/W/9b/1//e/97/3v/e/+D/4f/l/+X/5f/l/+cAAP/7////8wCKACr/4v/0//0ABgAOABoAIAAoACoALwAvAC8AMwA3ADoASABSAFwAXgBnAG8AdAB0AHQAdAB3/97/3P/d/9T/3v/CADf/xQBL/7gALf/G/78ACv/h//IAIf/y/70AEAAxACz/kv/uAAMAB/+r//r/+//S//b/9AAgAAb/Rv9C/0L/Rf9B/0L/PP9E/0n/Rf9F/0X/Uv9N/03/Tf9C/1T/Wf9V/1X/WP9U/83/VP9h/13/Xf9d/2L/V/+q/2n/Y/9j/3L/Y/9m/2L/e/+P/4v/i/+L/6v/p/+n/6f/jf+2/73/t/+3/8L/tv94/77/7//r/+v/6//x/97/8P7V/1r+0v9x/sj+xf90/vL9n/4E4GjgZuCy4LLgsuCs4KzgqeBL4EvgPeBT4I/gVeBV32ffvwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAIRI0x5fDzz1AAMD6AAAAAAAAAAAAAAAAAAAAAD/5P8HAnQDIwAAAAgAAgAAAAAAAAABAAADI/8IAAACWAAAAAACdAABAAAAAAAAAAAAAAAAAAAA9AJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAAAAFAAAPQAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACAA4A0gADAAEECQADAEQA4AADAAEECQAEACwBJAADAAEECQAFABoBUAADAAEECQAGACgBagADAAEECQANAQIBkgADAAEECQAOAIAClABDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwBSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwA7AEMAaAByAG8AbQBGAGkAeABlAGQATwBUAEYARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwBWAGUAcgBzAGkAbwBuACAAMQAuADAAMAAwAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAAAAwAAAAAAAP+cADIAAAABAAAAAAAAAAAAAAAAAAAAAA=="});var fF={};Ze(fF,{default:()=>A7});var A7,gF=it(()=>{"use strict";A7="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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAACLrmuRfDzz1AAMD6AAAAAAAAAAAAAAAAAAAAAD/j/8HAskDKwABAAgAAgAAAAAAAAABAAADK/8IAAACWAAAAAACyQABAAAAAAAAAAAAAAAAAAAA9AJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAAAAFAAAPQAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACAAgA0gADAAEECQADAFYA2gADAAEECQAEADYBMAADAAEECQAFABoBZgADAAEECQAGADABgAADAAEECQANAQIBsAADAAEECQAOAIACsgBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwBCAG8AbABkAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBCAG8AbABkADsAQwBoAHIAbwBtAEYAaQB4AGUAZABPAFQARgAtAEIAbwBsAGQARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAE0AbwBuAG8AQgBvAGwAZABVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAAAAAAD/nAAyAAAAAQAAAAAAAAAAAAAAAAAAAAA="});var FF={};Ze(FF,{default:()=>c7});var c7,vF=it(()=>{"use strict";c7="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APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL//wAAACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AuQBdAKQAhQBMAJcAJACmAJIAkgApAJUAOwBlAI8AqQDDAH8AsACqAFEATQChAJ8AQABtACwAmgBgAD8ATQCFABT/wP/H/8f/yP/I/87/zv/P/8//1f/V/9X/1v/W/9f/3v/e/97/3v/g/+H/5f/l/+X/5f/nAAD/+/////MAigAq/+L/9P/9AAYADgAaACAAKAAqAC8ALwAvADMANwA6AEgAUgBcAF4AZwBvAHQAdAB0AHQAd//e/9z/3f/U/97/wgA3/8UAS/+4AC3/xv+/AAr/4f/yACH/8v+9ABAAMQAs/5L/7gADAAf/q//6//v/0v/2//QAIAAG/0b/Qv9C/0X/Qf9C/zz/RP9J/0X/Rf9F/1L/Tf9N/03/Qv9U/1n/Vf9V/1j/VP/N/1T/Yf9d/13/Xf9i/1f/qv9p/2P/Y/9y/2P/Zv9i/3v/j/+L/4v/i/+r/6f/p/+n/43/tv+9/7f/t//C/7b/eP++/+//6//r/+v/8f/e//D+1f9a/tL/cf7I/sX/dP7y/Z/+BOBo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AG8AZgB0AHcAYQByAGUAIABJAG4AYwAuAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAE0AbwBuAG8AQgBvAGwAZAAgAEkAdABhAGwAaQBjAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBCAG8AbABkAEkAdABhAGwAaQBjADsAQwBoAHIAbwBtAEYAaQB4AGUAZABPAFQARgAtAEIAbwBsAGQASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwAgAEIAbwBsAGQAIABJAHQAYQBsAGkAYwBWAGUAcgBzAGkAbwBuACAAMQAuADAAMAAwAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBCAG8AbABkAEkAdABhAGwAaQBjAFUAcwBlACAAbwBmACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABnAG8AdgBlAHIAbgBlAGQAIABiAHkAIAB0AGgAZQAgAEIAUwBEAC0AcwB0AHkAbABlACAAbABpAGMAZQBuAHMAZQAgAG8AZgAgAFAARABGAGkAdQBtADoAIABoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAAwAAAAAAAP+cADIAAAABAAAAAAAAAAAAAAAAAAAAAA=="});var PF={};Ze(PF,{default:()=>d7});var d7,hF=it(()=>{"use strict";d7="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BgsAAAAEAlgBkAAFAAACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAABFUERGAIEAICEiAyP/CAAAAyMA+AAAAAEAAAAAAAAAAAAAACAAAQAAAAEAAwABAAAADAAEBtgAAAGyAQAABwCyACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv///+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f+//7//v/+//7//v/+//7//v/+//7//v/++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv+//73/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/3L/cv9o/2j/Uv9O/07/O/4K/frgxeDF4MLgwuDC4MHgweDB4MDgwODA4L3gtOCs4KzgPd/JAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAPObZYV8PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAP/Q/wcClwMjAAIACAACAAAAAAAAAAEAAAMj/wgAAAJYAAAAAAKXAAEAAAAAAAAAAAAAAAAAAAD0AlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAAAUAAA9AAAAAAACQByAAMAAQQJAAAApgAAAAMAAQQJAAEALACmAAMAAQQJAAIADADSAAMAAQQJAAMAXgDeAAMAAQQJAAQAOgE8AAMAAQQJAAUAGgF2AAMAAQQJAAYANAGQAAMAAQQJAA0BAgHEAAMAAQQJAA4AgALGAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAFQAaABlACAAUABEAEYAaQB1AG0AIABBAHUAdABoAG8AcgBzAC4AIABPAHIAaQBnAGkAbgBhAGwAIABjAG8AZABlACAAYwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAARgBvAHgAaQB0ACAAUwBvAGYAdAB3AGEAcgBlACAASQBuAGMALgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABNAG8AbgBvAEkAdABhAGwAaQBjAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBJAHQAYQBsAGkAYwA7AEMAaAByAG8AbQBGAGkAeABlAGQATwBUAEYALQBJAHQAYQBsAGkAYwBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABNAG8AbgBvACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAE0AbwBuAG8ASQB0AGEAbABpAGMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQADAAAAAAAA/5wAMgAAAAEAAAAAAAAAAAAAAAAAAAAA"});var kF={};Ze(kF,{default:()=>u7});var u7,DF=it(()=>{"use strict";u7="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AQAABwCyACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv//AKsAVACXAHkAQwCLACAAmQCGAIYAIACJ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AiwAAAIsAAACLAAAAiwAAAH0AAAC0gAAAfQAAAH0AAAB9AAAAfQAAAIsAAAB9AAAAfQAAAIsAAAAAFAAAOYAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACAA4A0gADAAEECQADAEIA4AADAAEECQAEACwBIgADAAEECQAFABoBTgADAAEECQAGACgBaAADAAEECQANAQIBkAADAAEECQAOAIACkgBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBhAG4AcwBSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQAUwBhAG4AcwA7AEMAaAByAG8AbQBTAGEAbgBzAE8AVABGAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAYQBuAHMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQADAAAAAAAA/5wAMgAAAAAAAAAAAAAAAAAAAAAAAAAA"});var BF={};Ze(BF,{default:()=>p7});var p7,EF=it(()=>{"use strict";p7="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AGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBhAG4AcwAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMAQgBvAGwAZABVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="});var _F={};Ze(_F,{default:()=>l7});var l7,yF=it(()=>{"use strict";l7="T1RUTwAJAIAAAwAQQ0ZGIH28hugAAACcAABAIk9TLzJTR3FqAABAwAAAAGBjbWFwtEBbHAAAQSAAAAbkaGVhZGLGQ8MAAEgEAAAANmhoZWEIHgQ0AABIPAAAACRobXR489UAAAAASGAAAAOYbWF4cADmUAAAAEv4AAAABm5hbWVa5nUnAABMAAAAA+Bwb3N0/5MAMgAAT+AAAAAgAQAEAgABAQEXQ2hyb21TYW5zUFMtQm9sZEl0YWxpYwABAQEn+BAA+BwB+B0C+B4D+BQEfwwC+0L7ePru+lYF9zwP+JwRsRw5/BIABAEBBS9IVUV1cm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaHJvbSBTYW5zIFBTIEJvbGQgSXRhbGljQ2hyb20gU2FucyBQUwAAAQABAACBAQCEAACGAgCRAABjAABtAQCMAACSAADHAADkAAACBQBoAAAJNwB8AABCHQGHAAB1AABlAAB2AAB5AABwAQB+AAB6AADAAABrAACOAABBAAAIAABpAAB3AAB0AABvAACJAAB/AACZAADdAABsAACUAADGAABgAgBnAABkAACgAABmAACDAACqAACLAABqAACXAACmAAClAACAAAChAACcAACkAACpAAB9AACYAABzAAByAACFAACWAACPAAB4AACeAACbAACjAAB7AACuAACrAQCwAACtAACvAACKAACxAAC1AACyAgC5AAC2AgCaAAC6AAC+AAC7AQC/AAC9AACoAACNAADEAADBAgDFAACdAACVAADLAADIAQDNAADKAADMAACQAADOAADSAADPAgDWAADTAgCnAADXAADbAADYAQDcAADaAACfAACTAADhAADeAgDiAACiAADjAADmAgABAAQABwA3AEwAdgCJALkAzwDeAPYBSAGUAbwB4AIrAnACmQLTAzkDyQRaBQQFIQVfBZcFzAXzBhoGLgZABlUGngbKBx8HgwfFCCUIkAjBCTUJnwnCCfoKHwo/CmIKtwtlC5YL7ww5DGsMlwy6DRoNSA1YDYkNtw3JDgcOLQ58DrgPLQ+KD+YQChBZEHQQshDhEQMRMRFTEWwRjRGuEbwRyxIdEn0SxxMhE3MTsRQcFGQUghTGFPIU/hVlFa8VyRYkFoAWvxcWF1oXqBfFGAEYLxhrGJgY6xkEGVsZ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IBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv///+H/7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/yf/Mv8X/yL/Dv6R/pH+3v2v/aXgbOBs4GLgYuBV4GDgYOBT4FPgU+Bc4EzgRuA/4Erfwt9gAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAaB6bxV8PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAP9S/xwEWgPCAAMACAACAAAAAAAAAAEAAAPC/x0AAAQwAAAAAARaAAEAAAAAAAAAAAAAAAAAAADmARYAAAEWAAABTQAAAU0AAAFNAAABTQAAAU0AAAFNAAABFgAAAKcAAAJjAAACYwAAAmMAAAEWAAACYwAAAfQAAAFNAAAB2gAAAiwAAAIsAAADeQAAAtIAAADuAAABTQAAAU0AAAGFAAACSAAAARYAAAFNAAABFgAAARYAAAIsAAACLAAAAiwAAAIsAAACLAAAAhAAAAIsAAACLAAAAiwAAAIsAAABTQAAAU0AAAJIAAACSAAAAkgAAAJjAAAEMAAAAtIAAALSAAAC0gAAAtIAAAKbAAACYwAAAwoAAALSAAABFgAAAiwAAALSAAACYwAAA0EAAALSAAADCgAAApsAAAMKAAAC0gAAApsAAAJjAAAC0gAAApsAAAOwAAACmwAAApsAAAJjAAABTQAAARYAAAFNAAACSAAAAiwAAAFNAAACLAAAAmMAAAIsAAACYwAAAiwAAAFNAAACYwAAAmMAAAEWAAABFgAAAiwAAAEWAAADeQAAAmMAAAJjAAACYwAAAmMAAAGFAAACLAAAAU0AAAJjAAACLAAAAwoAAAIsAAACLAAAAfQAAAGFAAABGAAAAYUAAAJIAAAC0gAAARYAAAIsAAAB9AAAA+gAAAIsAAACLAAAAU0AAAPoAAACmwAAAU0AAAPoAAABFgAAARYAAAH0AAAB9AAAAV4AAAIsAAAD6AAAAU0AAAPoAAACLAAAAU0AAAOwAAACmwAAAU0AAAIsAAACLAAAAiwAAAIsAAABGAAAAiwAAAFNAAAC4QAAAXIAAAIsAAACSAAAAkgAAALhAAABTQAAAZAAAAJIAAABTQAAAU0AAAFNAAACYwAAAiwAAAEWAAABTQAAAU0AAAFtAAACLAAAA0IAAANCAAADQgAAAmMAAALSAAAC0gAAAtIAAALSAAAC0gAAAtIAAAPoAAAC0gAAApsAAAKbAAACmwAAApsAAAEWAAABFgAAARYAAAEWAAAC0gAAAtIAAAMKAAADCgAAAwoAAAMKAAADCgAAAkgAAAMKAAAC0gAAAtIAAALSAAAC0gAAApsAAAKbAAACYwAAAiwAAAIsAAACLAAAAiwAAAIsAAACLAAAA3kAAAIsAAACLAAAAiwAAAIsAAACLAAAARYAAAEWAAABFgAAARYAAAJjAAACYwAAAmMAAAJjAAACYwAAAmMAAAJjAAACSAAAAgcAAAJjAAACYwAAAmMAAAJjAAACLAAAAmMAAAIsAAAAAFAAAOYAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACABYA0gADAAEECQADAGoA6AADAAEECQAEAEQBUgADAAEECQAFABoBlgADAAEECQAGADwBsAADAAEECQANAQIB7AADAAEECQAOAIAC7gBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBhAG4AcwBCAG8AbABkACAASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAGEAbgBzAEIAbwBsAGQASQB0AGEAbABpAGMAOwBDAGgAcgBvAG0AUwBhAG4AcwBQAFMALQBCAG8AbABkAEkAdABhAGwAaQBjAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAYQBuAHMAIABCAG8AbABkACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMAQgBvAGwAZABJAHQAYQBsAGkAYwBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAP/0AAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="});var GF={};Ze(GF,{default:()=>m7});var m7,CF=it(()=>{"use strict";m7="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AGkAYwBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGEAbgBzACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMASQB0AGEAbABpAGMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQAAAAMAAP/0AAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="});var IF={};Ze(IF,{default:()=>w7});var w7,SF=it(()=>{"use strict";w7="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ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv//AAAAIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL////h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h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AABQAADmAAAAAAAJAHIAAwABBAkAAACmAAAAAwABBAkAAQAuAKYAAwABBAkAAgAOANQAAwABBAkAAwBGAOIAAwABBAkABAAuASgAAwABBAkABQAaAVYAAwABBAkABgAqAXAAAwABBAkADQECAZoAAwABBAkADgCAApwAQwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAAVABoAGUAIABQAEQARgBpAHUAbQAgAEEAdQB0AGgAbwByAHMALgAgAE8AcgBpAGcAaQBuAGEAbAAgAGMAbwBkAGUAIABjAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABGAG8AeABpAHQAIABTAG8AZgB0AHcAYQByAGUAIABJAG4AYwAuAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAZQByAGkAZgBSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQAUwBlAHIAaQBmADsAQwBoAHIAbwBtAFMAZQByAGkAZgBPAFQARgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGUAcgBpAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="});var xF={};Ze(xF,{default:()=>b7});var b7,HF=it(()=>{"use strict";b7="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AF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv///+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f+//7//v/+//7//v/+//7//v/+//7//v/++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/2//b/9j/2P/Tf9J/0n/Nv4D/fPgvuC+4Lvgu+C74LrguuC64LngueC54LbgreCl4KXgNd/AAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAA3CQZgF8PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAP9Y/wYD6AN5AAEACAACAAAAAAAAAAEAAAN5/wcAAAPoAAAAAAPoAAEAAAAAAAAAAAAAAAAAAADmAPoAAAD6AAABTQAAAisAAAH0AAAB9AAAA+gAAANBAAABFgAAAU0AAAFNAAAB9AAAAjoAAAD6AAABTQAAAPoAAAEWAAAB9AAAAfQAAAH0AAAB9AAAAfQAAAH0AAAB9AAAAfQAAAH0AAAB9AAAAU0AAAFNAAACOgAAAjoAAAI6AAAB9AAAA6IAAALSAAACmwAAAtIAAALSAAACmwAAAmMAAAMKAAADCgAAAYUAAAH0AAADCgAAApsAAAOwAAAC0gAAAwoAAAJjAAADCgAAAtIAAAIsAAACmwAAAtIAAALSAAAD6AAAAtIAAALSAAACmwAAAU0AAAEWAAABTQAAAkUAAAH0AAABTQAAAfQAAAIsAAABvAAAAiwAAAG8AAABTQAAAfQAAAIsAAABFgAAAU0AAAIsAAABFgAAA0EAAAIsAAAB9AAAAiwAAAIsAAABvAAAAYUAAAFNAAACLAAAAfQAAALSAAAB9AAAAfQAAAG8AAABigAAANwAAAGKAAACCAAAAU0AAAH0AAAB9AAAAfQAAAH0AAAA3AAAAfQAAAFNAAAC6wAAASwAAAH0AAACOgAAAusAAAFNAAABkAAAAjoAAAEsAAABLAAAAU0AAAIsAAACHAAAAPoAAAFNAAABLAAAAUoAAAH0AAAC7gAAAu4AAALuAAAB9AAAAtIAAALSAAAC0gAAAtIAAALSAAAC0gAAA+gAAALSAAACmwAAApsAAAKbAAACmwAAAYUAAAGFAAABhQAAAYUAAALSAAAC0gAAAwoAAAMKAAADCgAAAwoAAAMKAAACOgAAAwoAAALSAAAC0gAAAtIAAALSAAAC0gAAAmMAAAIsAAAB9AAAAfQAAAH0AAAB9AAAAfQAAAH0AAAC0gAAAbwAAAG8AAABvAAAAbwAAAG8AAABFgAAARYAAAEWAAABFgAAAfQAAAIsAAAB9AAAAfQAAAH0AAAB9AAAAfQAAAI6AAAB9AAAAiwAAAIsAAACLAAAAiwAAAH0AAACLAAAAfQAAAEWAAACmwAAARYAAAPoAAAC0gAAAiwAAAGFAAAC0gAAApsAAAG8AAAB9AAAAU0AAAFNAAABTQAAAU0AAAFNAAABTQAAAU0AAAFNAAAB9AAAA+gAAAFNAAABTQAAAU0AAAH0AAAB9AAAAfQAAAH0AAAB9AAAAV4AAAPoAAAD6AAAAU0AAAFNAAAApwAAAtIAAAPoAAACOgAAAiwAAAIsAAAAAFAAAOYAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABAC4ApgADAAEECQACAAgA1AADAAEECQADAFgA3AADAAEECQAEADgBNAADAAEECQAFABoBbAADAAEECQAGADIBhgADAAEECQANAQIBuAADAAEECQAOAIACugBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBlAHIAaQBmAEIAbwBsAGQARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAGUAcgBpAGYAQgBvAGwAZAA7AEMAaAByAG8AbQBTAGUAcgBpAGYATwBUAEYALQBCAG8AbABkAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAZQByAGkAZgAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBCAG8AbABkAFUAcwBlACAAbwBmACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABnAG8AdgBlAHIAbgBlAGQAIABiAHkAIAB0AGgAZQAgAEIAUwBEAC0AcwB0AHkAbABlACAAbABpAGMAZQBuAHMAZQAgAG8AZgAgAFAARABGAGkAdQBtADoAIABoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="});var OF={};Ze(OF,{default:()=>f7});var f7,QF=it(()=>{"use strict";f7="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Dvvd+K12CwW0lquImhv3NYwLH6uFvvd+BW0GewttCqypjWgfDvcLQNYLaal5prGkpri3C3cS8fcN9xD3DQvji/cp+yJ28cgL+2Gw9y+u+AXSCxuFhwshl3apdvga0wuDkxuQj4+XHwvHi65udvkdrguDHRILdvlTdwELFXUdC36o+DOoC6WvoaQLAQABBgBoAAAJNwB8AABCIABnAABkAACgAABmAACDAACqAACLAABqAACXAAClAACAAAChAACcAACkAACpAAB9AACYAABzAAByAACFAACWAACPAAB4AACeAACbAACjAAB7AACuAACrAQCwAACtAACvAACKAACxAAC1AACyAgC5AAC2AgCaAAC6AAC+AAC7AQC/AAC9AACoAACNAADEAADBAgDFAACdAACVAADLAADIAQDNAADKAADMAACQAADOAADSAADPAgDWAADTAgCnAADXAADbAADYAQDcAADaAACfAACTAADhAADeAgDiAACiAADjAACRAACMAACSAACOAACUAADAAADdAADGAQDkAABlAAB+AACIAACBAQCEAACHAAB/AACGAABvAACJAABBAAAIAAB1AABpAAB3AAB2AABwAQB0AAB5AQBrAQBjAAGHAACZAACmAABtAQDmAgABAAQABwBeAJ0BFAGpAeMCuALkAxcDSQQlBFEEgASWBKQEuQUDBUQFmgYCBkcGmAcCBy4HrggOCDoIiwivCNEI8glXChEKOwrBCxcLVwt2C9kMWgzaDRUNdA3tDhQOlA7RDxQPbBAHEH4Q/xFBEYwR2xJZEtUTGRMfE00TZBOVE7YTwhPkFBwUbRS8FTgVcBXuFpsW/xceF3IX0BgAGKAY0xkQGUUZshn9GmQaqxrZGy0bpRwxHFMclxz1HRAdah21HgMeeR8xH6cgMCBfISghQiHfIk0igSKgI1UjaSOcI9sj/yQyJEQkxyUQJSAlVyWQJcol9CYuJnkm0yc0J1EnYydvJ8wn9SggKMYpXSmbKd8qByo2KlgqhyqrKtErKSuEK4wrlCulK9Ir9SwlLKQszCz3LSQtWS2fLhMutS7eLvUvCy9FL2cv0TCKMQ4xGzEkMTwxXzFuMYIxojHLMjEyhTKUMroyxzL0MxUzRzO+M9wz8DQGNCI0TTR/NLs0wjUENVA2AzaaNy83nDgLOBk4ZTjuOP45Cjk1OUk5cDmj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AGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBCAG8AbABkAEkAdABhAGwAaQBjAFUAcwBlACAAbwBmACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABnAG8AdgBlAHIAbgBlAGQAIABiAHkAIAB0AGgAZQAgAEIAUwBEAC0AcwB0AHkAbABlACAAbABpAGMAZQBuAHMAZQAgAG8AZgAgAFAARABGAGkAdQBtADoAIABoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAAwAA//IAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="});var RF={};Ze(RF,{default:()=>g7});var g7,TF=it(()=>{"use strict";g7="T1RUTwAJAIAAAwAQQ0ZGIPXJ5WAAAACcAABS609TLzJR03CmAABTiAAAAGBjbWFwr01WZwAAU+gAAAbkaGVhZGJOQ08AAFrMAAAANmhoZWEHQwPWAABbBAAAACRobXR4yLAAAAAAWygAAAOYbWF4cADmUAAAAF7AAAAABm5hbWVXLXKpAABeyAAAA8Bwb3N0/4+ZzAAAYogAAAAgAQAEAgABAQEVQ2hyb21TZXJpZk9URi1JdGFsaWMAAQEBKvgQAPgcAfgdAvgeA/gYBB7hWk8MAvs8+476cfn4Bfc8D/iTEbAcRtYSAAQBAQUvRVRFdXJvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hyb20gU2VyaWYgT1RGIEl0YWxpY0Nocm9tIFNlcmlmIE9URgAAAQABBgBoAAAJNwB8AABCIABnAABkAACgAABmAACDAACqAACLAABqAACXAAClAACAAAChAACcAACkAACpAAB9AACYAABzAAByAACFAACWAACPAAB4AACeAACbAACjAAB7AACuAACrAQCwAACtAACvAACKAACxAAC1AACyAgC5AAC2AgCaAAC6AAC+AAC7AQC/AAC9AACoAACNAADEAADBAgDFAACdAACVAADLAADIAQDNAADKAADMAACQAADOAADSAADPAgDWAADTAgCnAADXAADbAADYAQDcAADaAACfAACTAADhAADeAgDiAACiAADjAACRAACMAACSAACOAACUAADAAADdAADGAQDkAABlAAB+AACIAACBAQCEAACHAAB/AACGAABvAACJAABBAAAIAAB1AABpAAB3AAB2AABwAQB0AAB5AQBrAQBjAAGHAACZAACmAABtAQDmAgABAAMABQBKAIIA+AGMAbcCcwKgAtkDFwPtBBoESQRgBG0EiATPBR0FcAXjBioGegbTBv8HfQfhB/4IRghxCJUItQksCeYKLgq2CuQLLguMC/UMbgz3DTANhw4LDjoOtQ8fD2IPyBBMEMYRAhFNEaYR9hJ1EvYTTxNZE4UToxPSE/kUChQmFGMU0xURFZ4V6hZuFxoXjhfGGDMYqRjhGYUZqxnqGioalRrxG1MbsRvvHFYc8R2VHdceGR51Hose6R82H4Ef9yCZIQwhoSHAIpcipSNMI8MkBCQlJRMlKiViJZoltiX9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AE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL//wAAACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi////4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h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AAIADADUAAMAAQQJAAMAYADgAAMAAQQJAAQAPAFAAAMAAQQJAAUAGgF8AAMAAQQJAAYANgGWAAMAAQQJAA0BAgHMAAMAAQQJAA4AgALOAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAFQAaABlACAAUABEAEYAaQB1AG0AIABBAHUAdABoAG8AcgBzAC4AIABPAHIAaQBnAGkAbgBhAGwAIABjAG8AZABlACAAYwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAARgBvAHgAaQB0ACAAUwBvAGYAdAB3AGEAcgBlACAASQBuAGMALgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGUAcgBpAGYASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAGUAcgBpAGYASQB0AGEAbABpAGMAOwBDAGgAcgBvAG0AUwBlAHIAaQBmAE8AVABGAC0ASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBlAHIAaQBmACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBJAHQAYQBsAGkAYwBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAP/wmZr/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="});var MF={};Ze(MF,{default:()=>F7});var F7,LF=it(()=>{"use strict";F7="T1RUTwAJAIAAAwAQQ0ZGIOGW9BwAAACcAABBWU9TLzJShslxAABB+AAAAGBjbWFwuS2uQQAAQlgAAAYMaGVhZGKlQ7EAAEhkAAAANmhoZWEINgOtAABInAAAACRobXR4tWgAAAAASMAAAAL8bWF4cAC/UAAAAEu8AAAABm5hbWVTi27TAABLxAAAA5hwb3N0/58AMgAAT1wAAAAgAQAEAgABAQEPQ2hyb21TeW1ib2xPVEYAAQEBJvgQAPitAfiuAviuA/gYBPtI+7r61vqGBRwGPQ8cBokRqxw+ohIAlAIAAQAGAAoADwAWABoAHQAiACYAKwAxADMANQA3AD4AQABDAEgASwBSAFUAWABbAGAAZABpAG4AdQB5AHwAgQCFAIoAkACSAJQAmwCdAKAApgCrAK4AtQC4ALsAvgDDAMkA0QDVANsA4QDnAOsA8wD+AQYBCwEQARkBIAEqATMBPAFKAVYBYAFtAXkBhQGOAZkBpAGsAbEBuQHAAcoB0gHZAeIB7gH1AgECCQIOAhgCIQItAjICOgJDAkoCUwJeAmYCcQJ6AoYCkgKgAqkCtQLDAs0C2wLoAu8C+QMDAwwDFgMdAyIDJgMrAzIDQANNA1sDZANvA3sDhwOUA6EDrAO3A8IDzwPcA+kD9AQABAsEEgQcBCgENARABE4EXARqBHYEgwSPBJQEvgTOQWxwaGFCZXRhR2FtbWFFcHNpbG9uWmV0YUV0YVRoZXRhSW90YUthcHBhTGFtYmRhTXVOdVhpT21pY3JvblBpUmhvU2lnbWFUYXVVcHNpbG9uUGhpQ2hpUHNpYWxwaGFiZXRhZ2FtbWFkZWx0YWVwc2lsb256ZXRhZXRhdGhldGFpb3Rha2FwcGFsYW1iZGFudXhpb21pY3JvbnBpcmhvc2lnbWExc2lnbWF0YXV1cHNpbG9ucGhpY2hpcHNpb21lZ2F0aGV0YTFVcHNpbG9uMXBoaTFvbWVnYTFtaW51dGVzZWNvbmRFdXJvSWZyYWt0dXJ3ZWllcnN0cmFzc1JmcmFrdHVyT21lZ2FhbGVwaGFycm93bGVmdGFycm93dXBhcnJvd3JpZ2h0YXJyb3dkb3duYXJyb3dib3RoY2FycmlhZ2VyZXR1cm5hcnJvd2RibGxlZnRhcnJvd2RibHVwYXJyb3dkYmxyaWdodGFycm93ZGJsZG93bmFycm93ZGJsYm90aHVuaXZlcnNhbHBhcnRpYWxkaWZmZXhpc3RlbnRpYWxlbXB0eXNldERlbHRhZ3JhZGllbnRlbGVtZW50bm90ZWxlbWVudHN1Y2h0aGF0cHJvZHVjdHN1bW1hdGlvbmFzdGVyaXNrbWF0aHJhZGljYWxwcm9wb3J0aW9uYWxpbmZpbml0eWFuZ2xlbG9naWNhbGFuZGxvZ2ljYWxvcmludGVyc2VjdGlvbnVuaW9uaW50ZWdyYWx0aGVyZWZvcmVzaW1pbGFyY29uZ3J1ZW50YXBwcm94ZXF1YWxub3RlcXVhbGVxdWl2YWxlbmNlbGVzc2VxdWFsZ3JlYXRlcmVxdWFscHJvcGVyc3Vic2V0cHJvcGVyc3VwZXJzZXRub3RzdWJzZXRyZWZsZXhzdWJzZXRyZWZsZXhzdXBlcnNldGNpcmNsZXBsdXNjaXJjbGVtdWx0aXBseXBlcnBlbmRpY3VsYXJkb3RtYXRoaW50ZWdyYWx0cGludGVncmFsYnRhbmdsZWxlZnRhbmdsZXJpZ2h0bG96ZW5nZXNwYWRlY2x1YmhlYXJ0ZGlhbW9uZGNvcHlyaWdodHNlcmlmcmVnaXN0ZXJzZXJpZnRyYWRlbWFya3NlcmlmcmFkaWNhbGV4YXJyb3d2ZXJ0ZXhhcnJvd2hvcml6ZXhyZWdpc3RlcnNhbnNjb3B5cmlnaHRzYW5zdHJhZGVtYXJrc2Fuc3BhcmVubGVmdHRwcGFyZW5sZWZ0ZXhwYXJlbmxlZnRidGJyYWNrZXRsZWZ0dHBicmFja2V0bGVmdGV4YnJhY2tldGxlZnRidGJyYWNlbGVmdHRwYnJhY2VsZWZ0bWlkYnJhY2VsZWZ0YnRicmFjZWV4aW50ZWdyYWxleHBhcmVucmlnaHR0cHBhcmVucmlnaHRleHBhcmVucmlnaHRidGJyYWNrZXRyaWdodHRwYnJhY2tldHJpZ2h0ZXhicmFja2V0cmlnaHRidGJyYWNlcmlnaHR0cGJyYWNlcmlnaHRtaWRicmFjZXJpZ2h0YnRhcHBsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENocm9tIFN5bWJvbCBPVEYAAAEAAQEABAAABgEACQEADAEADxEAPAAAPgAAQAAAXAIAlwAAoQAAnAAAmAAAqAAA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AGIAbwBsAE8AVABGAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAeQBtAGIAbwBsAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADAARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAHkAbQBiAG8AbABVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAAAAAAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="});var NF={};Ze(NF,{default:()=>v7});var v7,jF=it(()=>{"use strict";v7="T1RUTwAJAIAAAwAQQ0ZGILA37xgAAACcAABzSU9TLzJRS/iZAABz6AAAAGBjbWFwmWw2ygAAdEgAAAYEaGVhZGLrQ3sAAHpMAAAANmhoZWEHEQQhAAB6hAAAACRobXR4Tb8AAAAAeqgAAAMsbWF4cADLUAAAAH3UAAAABm5hbWVVsHCsAAB93AAAA6xwb3N0/58AMgAAgYgAAAAgAQAEAgABAQERQ2hyb21EaW5nYmF0c09URgABAQEl+BAA+OQB+OUC+OUD+OYEivs4+mn5zgUcBNwPHATjEaccbj8SAMwCAAEAAwAGAAoADgASABYAGgAeACIAJgAqAC4AMQA1ADkAPQBBAEUASQBMAFAAVABYAFwAYABkAGgAbABwAHQAdwB7AH8AgwCHAIsAjwCTAJcAmwCfAKIApgCqAK4AsgC2ALoAvgDCAMYAygDNANEA1QDZAN0A4QDlAOkA7QDxAPUA+AD8AQABBAEIAQwBEAEUARgBHAEgASMBJwErAS8BMwE3ATsBPwFDAUcBSwFOAVIBVgFaAV4BYgFmAWoBbgFyAXYBeQF9AYEBhQGJAY0BkQGVAZkBnQGhAaMBpgGqAa4BsgG2AboBvgHCAcUByAHLAc4B0QHUAdcB2gHdAd8B4gHlAegB6wHuAfEB9AH3AfoB/QH/AgICBQIIAgsCDgIRAhQCFwIaAh0CHwIiAiUCKAIrAi4CMQI0AjcCOgI9Aj8CQgJFAkgCSwJOAlECVAJXAloCXQJfAmICZQJoAmsCbgJxAnQCdwJ6An0CfwKCAoUCiAKLAo4CkQKUApcCmgKcAp8CogKlAqgCqwKuArECtAK3AroC5AL2AvxhMWExMGExMDBhMTAxYTEwMmExMDNhMTA0YTEwNWExMDZhMTA3YTEwOGExMDlhMTFhMTEwYTExMWExMTJhMTE3YTExOGExMTlhMTJhMTIwYTEyMWExMjJhMTIzYTEyNGExMjVhMTI2YTEyN2ExMjhhMTI5YTEzYTEzMGExMzFhMTMyYTEzM2ExMzRhMTM1YTEzNmExMzdhMTM4YTEzOWExNGExNDBhMTQxYTE0MmExNDNhMTQ0YTE0NWExNDZhMTQ3YTE0OGExNDlhMTVhMTUwYTE1MWExNTJhMTUzYTE1NGExNTVhMTU2YTE1N2ExNThhMTU5YTE2YTE2MGExNjFhMTYyYTE2M2ExNjRhMTY1YTE2NmExNjdhMTY4YTE2OWExN2ExNzBhMTcxYTE3MmExNzNhMTc0YTE3NWExNzZhMTc3YTE3OGExNzlhMThhMTgwYTE4MWExODJhMTgzYTE4NGExODVhMTg2YTE4N2ExODhhMTg5YTE5YTE5MGExOTFhMTkyYTE5M2ExOTRhMTk1YTE5NmExOTdhMTk4YTE5OWEyYTIwYTIwMGEyMDFhMjAyYTIwM2EyMDRhMjA1YTIwNmEyMWEyMmEyM2EyNGEyNWEyNmEyN2EyOGEyOWEzYTMwYTMxYTMyYTMzYTM0YTM1YTM2YTM3YTM4YTM5YTRhNDBhNDFhNDJhNDNhNDRhNDVhNDZhNDdhNDhhNDlhNWE1MGE1MWE1MmE1M2E1NGE1NWE1NmE1N2E1OGE1OWE2YTYwYTYxYTYyYTYzYTY0YTY1YTY2YTY3YTY4YTY5YTdhNzBhNzFhNzJhNzNhNzRhNzVhNzZhNzdhNzhhNzlhOGE4MWE4MmE4M2E4NGE4NWE4NmE4N2E4OGE4OWE5YTkwYTkxYTkyYTkzYTk0YTk1YTk2YTk3YTk4YTk5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hyb20gRGluZ2JhdHMgT1RGTm9ybWFsAAABAYfIAAEAAMsCAAEABAEDAY0B+gJKApUC4wMlA3EDyQTgBi8GnwfMCAkITgjOCV0LHQz4DicOdA7nD1UPpxA2EJAQ3hFxEiISqhQhFF4UyhVvFc4WXhbpFy0XohgcGKoaHxpFGpUa/hs0G5EcChw+HL8dNR2XHeMeAR5WHrwe+h9FH6MfzSBCIKkhFCFXIYchtyHMIhUiXyKPIxUjaSOPI7YkXyShJPclGCUrJUAlciWiJcQl9CY4Jqcm/Cc8J4InyCgiKGcoyik/KaUpyyooKk0qgSqwKvMrTiu8K+wsRyy1LQwtzS43Lnguvy+EL7gv3zAQMC0wrzE0MfIyzTMaM0YzfjO2Ngg28jhSOT87lzwaPII8sT0GPWA9sD3dQEtAdkCxQRtBgUG/QhtCokMCRa9F5UcMR7hH/EhVSZFK2kvuTLFOZ082UUlRb1TeVV5Y2VnHWrlbpVyxXblelWDvYUViDWI4YotimmLLYvVjCWMgYzZjjmP3ZBdkJGQyZEJkcmSMZKpkymUCZXRlrWXFZdtmC2Y7Zo9m5WcpZ2xnv2fC/MUO9xv3GJ+drr+5iKZxpvdqs2SzEvj6rKKxZfcV+xP3Ep+1YrW+u1y7E+U0+TP3lRW7iZyDrmoIc6Ssd68bE+Uyub2xvB8TzTS6Y6NgVlJ4h1QeZIgFE+U0/GT7PhX4Qp/7OAb3PfWPwrWysq+8obWrGRPlLKGcnaOoGhPjNLZlp2IeE+WURWdPTYUfhVBvcWBn+3b7UBj7MQb7YMsV+EWd8+IFjAf8sCwF+VX3lRUT4zSqsKeoHhPlLKSfdnJsaHFuHxPllHN0nqQfE81U5vuAFaysn6keE+UypqN6bmpsem0fE9VUcXCYqR/7ba8Vk5CTlJSUhIKDgoSDgoWRlB4O+yeSdvdLrvewr/dJVAr3PRX3YQb1+0v190sF92EGJfdF8fdGBfthBiH3SSH7SQX7YQbw+0YF+COyFUzyBfcOBvsM+7AVyPPFIwX8hhbK88kjBU33SRVP8gX3DQa2+7AVOfci3fciBfc9Bt37Ijn7IgX7KffUFcv3A8r7AwX7Dfv3FfcQBkn7AAUO+z9zCvju/CTr92XqE7Db93gV9wxoCh4TwDFUQkRTpGqffx+WhZqHnJAIkJyVkKQbE7Cxo3ZhWWpK+xZrH492BffFFvcLaAoxVEJEU6RqoH8eloWZh5yQCJCdlJClG7CkdmFZaUr7FmsfkHYFDiD7ONb5qnf3JXcB+IynA/eULxVlnatpthvV9wG7940f+MwHt/cRQH2G+wMFcgb7QfsiM/tC+033Oj33FZGVjpmwH18H+1g0YTJ7a5CRfR4O+7uSdvlkdwH3pPekFZ/SqpbMqAjTqafF3Br3J/sBkvsFJfsAePsVN6RR1moezW6pgJ9ECPsQ+zUVR8RSz9HCxM/RVMJFR1JURR4O+7s6Cvej96gVpM2+qMilCM2ordjWGtFixD9KY1VSfB7Ef1/BTBs6Zk5CRbQ9x3EfyHC+b6NJCPsS+zgVRsNS0dHDxNDSU8JFRlJURB4O0sh2+Pd3AfhbsxWw4uO+4KsI9y3DxNzsGvcLOeP7DfsDQCwlbB7xbzrq+wEb+w06MvsLLsY14mwf9ylU41mwMwgO02F2zHb4tHfmdwH43pYD9yPAFaB1+Dr4OYxv/Cz8LJaB+Cr4Kq99/DX8Nbta+EP4Q/L3coCW+3T7EAWwXBWIq/cX2JWCNPsdgKAFDvtAknb36q/36VQK+OoD91n35hU2ez5EMhor2Dvss6+Wo6se2saI9wTSzwisrryuvBuviQWzB2eJY45hpWmkGTrGjPcBSs8Iq2tgnl4bKDlAJzPYQuB8Hw48gavupJDe90qUgvcE9wCiEp259yv3EGCd9xavfvc20rUT71D3zvc0FY0GhJKUiZgbnOCVxtcfwra+xtkasnK3VmBrcWtxHoeNBZ+vmaW1Grhx3vsJ+1D7F/tQ+0T7LeL7LPdr93H3Xfde93D3CkjXWX9/hH6EHpCIl4eWhAi3bK1JMxr7X/sn+zb7YvtFIfcd9zweE/aw9yLj9zv3MfOqOFsejHWHcoV6CIkGsIJ2vUobQFtCRWSVeKNqH7FXl3mIZghpiG2EhBtndLajjR+MloeOg4EIgX+Hf3waaaR0r7Skm6KYHhP3UKT3IxXBqcHGkB6WjIuJkIUIE/cwmHyVdG8aWWdbWYAef4iKjISTCH+ZgaCnGg48z/c3+zf3OEvK9wr3RMp3EpbgdM/HoIvfnqz37bMTm+D3y/e1FYWGdXyAewh9eIZ3exp7kmWzZx5qsLWEoRu6v6axqh+7xZqUuJatk6idnZkImpiToJgaon+ceHqBfIOHHoiEjoWPigiTiJWEfxp5fX53eWqO8mQehZuFm4WZCNVtbb47G29qfnN1H3d1f21tGm6abI+FHo6Fi4iHiIWKhIyFjH6MapVroQiagpyDlx6DloWPc4UIeJl/naoaqpGZkZoekJWOkIKWCJmBfpWCG3B3WXWCj3irYB+nZ61rqXSNc4Voem0IdH53gHgbEz3gcoSfmZSLiYmOH5CEgZF+G29ycmtoq3GwoKCQnaQft6ury4q+nYG7d5WImIaHhI+HCL2OFYeWi42Rkgiem5+dtBu8qmFnlx+Og4qIhYcIE13gfXptgWsbWG6wooMfDvtpoHb5encB97qxA/duFuoG6pYGX8xw9Yb3IAiTBo91BUuXvWS7G7vNqOe0dK5vpx9tqWiieaBhulfYefcMgo0Ygol5+wxXPmFcGXh2ZXJtawhxb3ZrYxovzW67u72yy5cej6EFkwaG+yBwIV9KCA73Dfcudve32kPTqXcSE9D4JffXFfduQrWRsMEFrQdS1LmNuY25jhkTsK+Nr46vjQiijZ6VpBqldpVzHvwDitI/BY6IjXuHGoOJgYWFHsJviYE7k3uNgop8jhl0j2WYc5EIdIiBeXYah4uHjIcejjMV9yJVnY6qxftczgWBhoWCgBp6mXiWfh779GcV9yKYnoLWZ5qHGZGJ1oSWigh/l3ydnRqYk5WWkR5/m3+foBqSjZKOkR59b2yEbBt7fI2OfB+OmwWImpqKmxuxrZWgqh+rn6Krjx7bdTTITnmHmsSclbWbhoFm400FiY2aio8bnZeOnh+QipCQGiD3AfszkfsX+w/7F48FeG6CaGgaYpdjoGge+ARYFb18qZugo/sOugWDiIaEghp4n3WZfx4O+yWSdvlNdwH3730VqPPy9yXY7AjC0LvL6BrgSck2Okw9P3oe2nZS1jMbOkpJOTPEQsBKH+Aj6PsdoyMIDvuIlHb5hncBy/hmA/e0gRWUiZSNpfc58fci6cYZjZSJlC3GJfcicfc5GYKNgolx+zkl+yItUBmJgo2C6VDx+yKl+zkZDkygdvfQrffydxL4BbFmrxPw97kW6gbqlgZfy3HzhfcdCJoGSJPEWNAb1sfH1tZPx0BGUlhIgx8T6HsGlIuUlBrBB82UvsTPGtZPx0BAT09AR75SzYIeVQeCi4KCGnsGzoNSvkYbQE9PQEDHT9bQxL7Okx8T8JoGhfsdcSNfSwgO+yn3M3az9+T7j/c59xF3EsH4Cvs3+Br7zPfME7Ku9x4V+QD4M/0ABhPY+B37bhWiB/dk9zAF++QH/Np2FRO092f3NAVomal4sRuvp6GrmB/3Zvs0BRO4E7T8BfduFRO4+2f3NgX42gb7afs2BROyrX5tnmYbE9RqaXVsgB8T2Ptn+1kV9+QH92P7MAV0Bw5b9yOfw5+EmYqfp5+Vn4+f7aPzdxL3H5+An/dfmauflqnan5OlE9/fjfgSFc5yBXuMlXmhG5mVkJGSH5GKBXOae6KWlI6QlB6Mind9f3qFdRkT37+BfoB7dhpnpnmkrbCepase2MuwkgV1jpp5pxsTr9+gnZmYmB+pqpeNBRPfv3aPnn6eG6emqp+dH6+R3cIFmQf7eYQ0kJSalJmSmxnPpry8io8pgqv1h409YGZIXZRZdAWIB81peHRufHJ7GfuhvlNrBYaLhoYa+NMxFZOMBX+PhZSTkJWXHrOQBXt8dnZ7G3qEl5qNH/tUeBWGpamisqf3BIUY90uRXG37mmd+iXeGeocZrfdAFWGhlI+2gwWT+1IVlowFf4mPgJYbl5GWm4ofu5JycgWBgX6AfBt0hp2bjR/7jGsVhpKWh50boYSUpG2BcZWDjhmXqKaXppzrxxidlpyXmpmgoJWjmqWrwxiunm8v2ZKAgENvgHB7c3tzGWNwZm2SbjtJGHh0aHZqGxOv33p8mKCelpmVlh/F1hX7atenm/eTWwX7MXMVtXwFhoSDiIIbfYWWl40fRaMVqoAFh4aGiYMbgYiTlB8OWq+fvcXA9Sn3A2Hnneqdn5PNhMoSyaOAtnag+NGfE+bYzPihFa+XuLbrG8HNfH3MHxPnWHzOzny8G8i+pKGpH3jTBXFtYXBXG1RPmJlOHxPm2JlMS5pOG/sHXFBTgo+CjYIftvuDFYV7hoBwGi/3AyP3WPc/9xze9wmihpaFmx6LlqqiGvcB+xjj+0QiOmtmXB5plWKigq0IE+cohYaGf4AaXp5zqHoeE+dYenGCeGcaco5/k3oelcEV7fcT2vcy9zL3FjwpKvsWPPsy+zL7E9rsHpNIFZd3pHGefgh5h3+Kgxpu0UymlJSSlpYeg6fFfsIbwMGdl58fkoWed5mUnZacmZqfCJmek5yYGpCFkYOQHpiVnJ+TmQiQg459eBor+xM7+zX7M/sR3Oiej5uPkx73gvccFY6GlIqRjZaNpoybh5eIj46PkL/PGJCShY2BjVWXZo9EgIKKhYWOhwj3N/taFdxUlIWRjZKQGbGlnp+YtwiRjYaQghsT11j7EJAFgYeHhx+Kg4J9foKCho6HkYcI+zHDFRPPWHKtdrS0raCkpGmgYmJpdnIeL/sMFZOHlYuPj9bIGJGQh4+FjoKQe5iHlYiThYyCivsMfxh+iuAxjYWaaUbLwW0IDu/3LHbRpfc9pXikvaOQpI93Ep+kE+3C91cV9x+Y8VzehNp0rZuepLaWq8XIk7LGBbMHXcD3B4/3BZEFpIyfn6Iao3Seaowe+/eRc6MFE+v7RpL7DvsK+xOQBXVpgmZlGoxil2GhZwj35fcWFYehkKOokNt1GPcFf42VV6aVlYmihpUZVsX35YgFopeBfn+DgXWKHyWG+zKEyzsFdAduX0+DBftGdBV4onirqZr3RVEYclpuhQX8TKMVe6iDq6oaqpGpmKMe9xCF9w73Cvc1g98ykIOJe4eJGX+BfYt4jzfFGJWvfI+CY1V8j3wFE93End1QP6BtiHdzjG8ZYG5ehFeViXwYt4O3jrOfgXiSb6BycnuQdZh4RpEYI7oF91lRFX2ZeqeklvFjGHp3eIEFDn2u5av345z3Q0wK97Ln96OuF6737jcKE2wzCh/3XmsK95ypBlePBWWOjZenGvgdVgdnWmRvTYIIesUHtYmJYR/7igd0gXlyiR5ahwUOfa5o9xH4cPcKaEwKaPdT99z3XPtR91ForhOYgCIKE2YA9zBrCqIH1L3BwrQewbPLu9Yas3y4XHtqe3gef5GBfxpxdndxbHijqaeZoaCcHqSqspGxG9jiaDH7Lvttmlj7Dx/3YAa6jrHBlh8TZQCZ+0kGDn2u+Rp3ASIK94+RFYyri5zHrmhPVGZGT3htnaMelpGWlhqneaFsaHd3aGilcad7HnqqsIStG+bzufT3AvsZkoiRH4mP9LHNGtw8oEhVKnlFb595pqWfo6OSipKHkR6iqJ2du6BdYFBbalQedQYOfa7l9z1avPgaTAr3wuT3lq4TviIK9wH7BxX3VXgGSHuLboged4kFE95u93GoB3mOBVSUkYnJGhO+nu68KPfBMwf7VvvUBc6eFfcS92MF+2MHDn6u3a/3bLXf4fFMCvdDtPcz9wb3NK4XIwquFkAKQQoeE/OAKAr7JPtIHxN3APtH+yX3JPdIH/dDdhW0egWknaeiqxvDpFZaV2pNUHlrk6IfmJWUmxqqcZpva3lybUPvc8To78Tx4zu6O2ZdgXJtHvcNB+mIBbHKhqSrH52ZnLeQowh/ZWOIZBtRRJKYTR8Ofa75Ha4BIgr3dXgVt6jFqcAb2sdWOSg4TCz7HU73AfcR9xHO9xH3HMHmdEdue3FscXeepR+WkJiVGqNllngsgPsJQR6R+w4VVbFYxsakxL+6dsdSTGNXUB4Ofa74a+TkTAr3cvcE+wT3DPfHrhP2Igr3J80Vnwa4n42ushv3UAYg+yQFZ1xYRk0aZaFvs66ioq8eE/qig6KiGs670KvCHuf3MgX79gYOfa7esfgwrd1MCvcuxXHZ9x29YOP3La4T/MD31/f+FVVsXmpGGi/eatnj6MDr1VyvTqkeE7tAsaSkpL0a0UmkUR5CR108WqhusXQf8LsVW6RhnbQarqikrR4TmUC0rHRgaXlvbnsfSEgVE9zAoH+egZqBCLhvoHZqGlRia1dTXLbCtLK1r58e+9aONwoTCAAzCh8Ofa7erGr3JrS6mHf3cq7dTAr3LdxM6Pck9wEj8yXx9xiuE8+ULgr3W/daJQr7WvtbKgquFkAK9yX3SPdHLwr7R/tINgoe+DGQFRPPTI0GIo56+wEyG3dplaMflJGWmBoTt1SkeKBybXhybkjicsHNvZvEsh6uv5rOyRr3Ckn3BPsWHhPXpCpETyM5vFjbHxPPlL+8nLapH/tH5hXCo8PKHhPXpMGsV1pTcFFMUHLAvh8Ofa7kr/fum7Ct5kwK90Lfuuvy67yuF/gL9+oVE//AIp37E/cV9xad9xD3AOl69yP7EfsbefsWIB7rFrOK9zfAwYj7OGRmjPszV1WN9zKxHvxIjyEK9whrCvdcrQaAjAVaj42RnRr4K1QHb1tpdViICHulBxMCAKulj2Qf+68HdoOGeIoebIkFDvu2WKO4dvd8mpKa9wqatqP3V6SGoxL3HqTCma6ai5uhm6mkrKSAoxP9/uqIFWqkrnyvG6urlZ6mH7z3HrGxt9S7ppCydbaPs5DEbqpsj3R/ofdbBauPdp10G3d2f3CEH1v7VnHmedsFE/79pIWCnW0ba4dqeowfmPuLdIhydHj7Ibr7BwX3aPcpFbqqdX2pnqSVGJSamm6IeIGGZX5bdoalGftr+5IVqfZa9wic9xKZl/caoJiJk32BfRl5cmF7boBgohiFfbN3onKUbJFhGZmOhbOFqHelGaqWs5uepQiRk42VkxqagJh3jB4pfH73kgWdipGQkBuXj4h3jx+dO7H7GQWmBsb3gAUT/f6YjpSSlBuVlIN8iR9w+4rFqpmJm3mGXYZhfnb7AFuFjIWOiZEZhZ21opyYsMsYf5FWXJt8BYGEXHFyGoiLiIyIHoCPmYKYG6GTBXaMmIKdG5WXjY+YH2RJY2Vc+x4Ff3hxg3IbcHGUn3ofDn3v+JzuAff08CYK93T7mBWsB8GOrY2RrYqmGfeYB7eMjl4eSp8G0JWkqLLCCNj8OQZKm5DJhh6figVqBw597/ij5xKu90P7Q/dY9+j3S/s/9z8T6CMK90P7mBWJ9sLGyLgIx7jRwN4at3y9VntleXcefpKAfRpuc3RuHhPYaXamrNnjqszi72clL0NjQmgfVHJCY3RRCPd1BpuKnIuSnKTgGBPknftcBg595vepd7reOPdVsucSrvc8+zz3U+f3Lvsk9w/y91z7N/c3E9zAIwr3qpQVpaMHyb+0zLt0slVpenaCH4OQingaE+rAcHRycGx2oKnY9qDG1eN0MUphbVN6HoiKfomHGoWTio+ZtX6Flx4T3SC4dqViWhr7BfsFVShlZJGcaR5qnGuqtBqxoKGzrKB0ax5+hIB+GnGsgqDNtM3IzWWySHl5kId5Hg5974vT+FTuEq74s/sC97IT8CkKHhPoJAofE/AnCh/3DfsTFawH92339gUT6Or74QYT8PcCVQYT6PsCTAZ4k4SbiB6+ggVr+6CrB9KUBaCOjqCSGsgH+yvBFfcr95cGDnvnMef3q3fO6On3BhKu9y77LvdX1fcm9xL3RhO9gDsKE32ALAoTu4D3V3QVjPe3BX3M2oLIG7i5jpm2H4VyeVh4fQhvZkeQXxsjjwX7GgenrL+WtBu0tIJyrB+wcaNhXRoTfYD7B/sCTCNN+wOm26yfp6+qp3ppHniBgX4aca6Cn8yv0MTBcMZNZ21xcHYeDn3n96l307ld9z+u5xKu9yn3B/dVavKL91T7Ovc6E+5AIwr3l3YVvKrDrMUb48hJMfsDNE0iSVKgwGMfZb6AzMoay5PPrcIez7XEptobE+2Ax+1yQGt6b2hudZ+oH5iRmZYaE95ApWOXdlZ8bV54Hnxai0WDUAiQMxVOpk/RzanLxb9yzE5IY1VLHg596Pik7QGu9zgmCvc41RWM908F+B4GJftEBWhOVj9CcZRsdxpkcnFkX3Oqtc/C17S/HvcK9zQF+2sGdoCEcYQfeVQFDn3n+KvnEq73P9f3Yfs09yz09z4T7CMK962dFWCldavCGuHNvdvL1Ww+U29zYXAezmq/YzoaIClQKjUqsPHXvLDIrR73BL8Vqp6fqrAau2alXmZqZmVft3+seh5YNBUT9GF1bl1bGlC1XMfEua/HvGClZqAeDn3nsPc+Xrj33OcSrvc2+zb3UdH3VfcG9y0TuyMK+F6QFV5qVHZUGzBN0+n3AOTB8/cny/sP+xxHgkplUh9JYVF3PxsTt08tp9WroKetpqBzcB99hX+BGhPbcKuAoO6f9xvXHvtb9xMVUqdQy9Gqy8jCZsVPRXFOTh4Ofecv7/hM90co7i/nEq73VejE8fcF68wTZ4AjCvcV+5gVsAetjgWwjYShqRr3tQe1codnHmueBhNXgMSOm6OqwAjd/D4GVoiOwoYemIkFZgeD95MVE4+A9wqT9y73Kvcemvs8I/sAfvsv+x/7KYH3IvcNHvEWYIn7SMbEivdLsx73RYCBxGcbVIr7V2QfDpuudsOkhqWrmpejlp33Bvc9Z6V5qHD3MhKepPg7mvd7m7OkE7y8z7UV9x/CBRPcvICqs3usG7W1naK0H9Bwya3El6Znrni2qRmMjo6G3DKUkWj3BXO1mo6YlJCcGYb3JPsM9xhUn2GOBRO8fDr3IAVABtr7GyWRWHr7h/s0WIAFc2aDU18aXJ9LqGceE748+Oz3wBU99xugirp59wL7DI77FoaCg4qDjBlpxQWUlY+YlxqieJ9zjx5Z+0sVeNOyk8MphnpreXSqe6EZ+yCMFYGTh5OSGpmWl56UHovHkamQHp5EVH8F/HpEFXWvfbC3GriOr56sHrmVBRO9PPeH9za4mPcFhdX7FFqTOa2SrHmOe0T7JH2MfPdqn/dMcAWeiJV7exqBiIGChB53Qip9TxttmGVZQ2lKiT6dGYh813nKjdGoGaZjBRPcvHlqY3hlG2xfnZVuH/d7mRVvtI6NoKa+kgWCg4KBexp7lX+Ygh6/gWR2BQ59rvhSoPdKdAr3vsn3ta4DIgr3vmsKyfhqUQZ+SnFwTYoIduwHDn2u5b74C73edAr3P8f3R8z3Qq4DIgr3RmsK976++34Gmq6uoKmfCNe+2LvyGuRExTU4Sk37AYwex4YF1aO/ycatXlI9UGZRZR5UaE5YRRoOfa7ev/gVut1MCvglyVvI90GuE/siCvdLMBX7A4rPY9Mb29XA38JxuVSZH40HE/26naCovhrbR79AQFBcP40ewYUFvImlrMAbwadrVlNecVgfcowFYwcT+8iS1W9CGlJmb1NWZLfCkh4Ofa73ZMD4GHQK9+bC95SuAyIK9xb7CRX3ZPsKwvcK2sA898UGWIz7aPvGBcMW9yz3dQX7dQcOfa7evfdwwu7A5EwK91S/Xr73Qcr3N64T/sAiCvdU+w4VQo/FXNMb8sTU7NxV1TUfE/3AZmOCaXgf9yL3dsD7qfurBxP+wLgGuZOppb0byahgVEh3VD1fZLC4jR8Ofa7eufdnv/cQvt1MCvc3w1PN90XD90+uE/7AIgr3b4oV5p/w4bybcGGUHr2YBc+BX7JGG1NTZVhzH3VbhlRXGlmPTKFeHlijvWzEG+TA2t7ZWtA4c3SGf3gfd4B8eoF0CBP9wJU7Fb+st8LLpF1TVnZTTUttw8YeDn2u+I7B5HQK9zv3zPc+rgMiCvdyawrOBqT3Ltf3H+T3Ewi9+8xV94kHKfsLSPsjcvsuCA59rui/9zfB9zK63UwK90TDZMP3Nb9ew/dErhP+YPfj9/sVVXxoZFAaOclZ3NzUtuHEbbZUmx6NBxP9oLyapK7AGtVQvUNDSVs+XKdjt3wee/IVuqupur2rb1pYa21YVnKqvR4T/mB6+3QVvq2xwMS0dE9SaXRRVmOgwB77n/UhCg59rt699xO/92e33UwK90LDZ7z3Oc1Tw/dDrhP9YCIK91b7IBVKk7ZmzhvJwbXCoh+cs5HRtxrxcfcX+xQeE/5gMlJBNju6R+C9tqG5nh9Dg/sPKR4T/aBncKethR/X9wkVE/6gTm+zw8igwdHEqVNYUnBcTR8Ofa7duPgeuN50Cvc6yLzD90TD4K4D+CZNCsST9x/d4or7G05ThfsiOzWH9x3IHlMWNKv7MPcG9xeW9yPv63n3JfsQ+xh9+yEnHvvLFiAK9zprCsj4algGhVZlaVuMCG3dBw7ToHb3Wpb4UXcB8/ksA/iq8hX3cySWlvsQ93T8N/g3dXX4Ofw5b4n8LPgsgIH4K/wrfWj8Nvg1W1oF+Fz8FxWgl5qyrI7Y+xeCggUOfXIKAff25SYK99NrCvf4Kq4H0oyooZfRCNb8eAYOffcR+H7zEq73VPtU91zb9yzn91cT7CMKE9z3XGsKiezOv8WwCMKuwa/UGr1ysVRUeV5GjB4T7DOTBfcI1cnj5tpKLCI3XD1XHnR8aneAcQj3ekoGDn33Cs33NsP3JdDyAffU9yvj91cmCvdgQBXcjAVOj2HPjB6/jKarvRrDZqJYHlyIBckHsogFvaykv7N5p19QfmtZjR85lAXoic684xvX1VY6XHloYHUfvHGjbk8aMD5VNj85tOEeDn33EfiA8RL3Tve3+173CxPQIwoT4Pcr+wkVxwf3X/fOBeP7x99IN/sKBhPQOPcKBhPgE9D7C84V9wv3VgYOffcK9/HWzvcCAfjO90wmCvdp+wIV2p0FYYelZrkb0JvIxbt0tFRad25hhB9E96/3v0j7cC0Gl6Sikqcb78dEKidCOiY8Sb3diB8OffcK0fdOzvXQ8gGu90zl9y4mCveguRWkqaeVshvkxEc0MU09LfsgbPca9wX3BLL3H/ce179hQJUfP3YFsIGGq1obRXg2U4kfkfsMFVilXMXCmrm4u3m6UVlvX18eDn1yCgH3c/foJgr3mmsKovcswfch7fcPCPuNz/foTQYy+xc9+xhz+zMIDn33CtD3Ktr3FtDzEq73Wd73M/sk9xzm91kT+yMK96ugFWSccrW0Gt/UvdnX0FY6W3ZqXngevm+lbU0aND1TODM/vOnBqru+nR6b7xVionO3uaKhtrV1ol5bdnVgHhP9fPtwFVyqcLzApaS8u2+nWlZuclgeDn33CtH2z/dNzvMBrvdX3/cy4PdZJgr3avsUFdeZBWyQm3CvG9SZ4MKOH3NyZ4JoGzBUzuPnzNTq9xiu+w77A1iGO3JeH1JsVGxLG0VXt9GFH8z3aBVco2m+w6G0vLxxuVNOgVFdHg599wn7CXIKI/MSrvdP91P3Kd/3ABNu93L3AxX39jmtB8GKrbCQxwjZ/HgG+6j3fxUsCve7lxUTnvcCnfcZ9yH3GqL7HSH7Anr7Jfsg+w5m9zPrHt4WWY77JtTOkfcqub+M9xxBRoT7H1oeDun3idBJ9wtsznyqAaL3jBX49Qb3euAFmgf7itIF/OVs+OgGeHYF/NV8+NMGmmgF/OIG+Oh3FZKierKgpPcnZQV+Bw7Co3b3ueL3uncBwfm5A8H3tRX3xJoF+8AHjYr4h/fkdQr8h/fkiYoF+8AH+8SaBQ6K90F290ui90pUCvfjFfi+BmFXZU2ORsri9xLR8bAlsPsQ0UriikyrPrlhCPy+Bg5JCve6+4wF+0v7RBX3ePdEBfg5Bg73RfdBdvdLovdKdwGtTQryZe1FzDWMymvWXbgI+M4GYVdkTY9GyuLw0fCwJa8p0kriikyqPbpiCPzOBrW9scmI0UwzJkUlZwgO/BEjdvpFdwH3baIDrvceFeJM0SiwJq/x0uvhzE2MPWxhXAj4zge+Ycll0I40ykXwZ/FlJEUpNUrKitart7kI/M4HWLVNskaHCA7gy3b3l9X3mHcBw/nMA8P3vBX4EpgF+50HjIr4Tfe8dQr8Tfe7iooF+50H/BKYBQ7a99ulcaZ/lBKf+gMTkMP32RX5HI88evsAV3VYGX2FjIKPG42Pjo6NH8rg91q085oIjYyMjYwfEzCOjY6OlRuSjJSOjhqMiIyIHvsZlfsvsUbmCI2JiY6KG4mNgYCPH6JT3WfXbQgTUPz3jQVwZpSNeB+IjIeJiBqIjoiQhh6QhpV+moQIDuPAdvd89zj3fHcSrvntF/ja95wVTU0FdnR9dGoaV7Nkvq+ko6SgHhMw9373nfuB96EFo3dyoGobE1BWZGFWb6Fwnngfw0wF/EgGUVZ6Ske/fcYfDuT3Knb3XKz3XFQK+ewDrvfdFfj/+1wG94H3bfuB92wF+1z8/wcO5Pcpdvc09wj3M1QK+e4Drve0Ffj/+zQG94P3bvuD920F+zP8/wcO9UN2+dZ3ATQK/H38wxW1ZPcM1vclr/cfmRm891jL2fcR9y4IjpSNk5QatmG4XXt7hn57HvsZ+x4hNvsy+wBqMU37B05BCLGVFaOpp7ObqKe9pL6ev+DF3sjYzr63urq6uwiVlY+QmxuprW1tgYeFhoQfcmtwa3NqPSRhOGr7EfsAf/sKbiZbe4R4gIGEiowY9yH3KgWoq66nkoSTg25laG2QH/sd+ywFDob3RHby90TyVAqky7qv2QP3yveWFfeZJAb3ePdT+3j3UwUk+5kHJPtEFdn3RD0GOPtEFbr3RFwGMvtEFaT3RHIGDq33Bnb4jlQKotOrxr6x1QP4LPdbFfc6IZIGt/cL9OP3ALn7Arr7AOZk9wcIhCH7OgYp+7oV1fe6QQYy+7oVvve6WAYw+7oVq/e6awYs+7oVove6dAYOgPcRdvh4VAr5iAOu910V+IsqBveR94b7kfeGBSr8iwcOSQr3vPuMBbgW+3D3RPkT+0QFDtk9Cvnjegr54/fu/eP37vdn++4FDub0dvev2Pc4VAqzA/i13xV2CiP7ywclilKo9xwaY/uFBoxOi2+4XAhisbmHwBv32wYO5/R29zf3l/FUCrMDrt8Vswb3HMWn8Yoe98okBnYKJfvbB1ZehmJkH19dim6KTwgO/Aw9dvoOVAr4HgOuwhX3FPsuBvee+FH7nvhRBfsu+xQHDrfndvi8dwH4QpYDrvc4FfgfLpYGrtL3fvdx9x53CJQH+z2f+yn2MvckCIAt/B8GDoi3oHZsCnagEq6l9+SlE7eu910V9/4GE0v7MfcoB/eV98L7lffCBfsoBhO3+zH7/gel+50V94T3/vc1B/eO+637jn0K9xtQdvhX90eLs4ug9xZ3Acb53gM0Cvxv/MEVloP3K/c7BamGsa6oG5OSg4Rva2huH/sw+zqTg/cG0vcrsPcVmRm490rK3fcJ9yQIiQa9kW+9UhuDg4mKgx9rafsB+wX7EC77FTMZbz5M+w9QRAgOp5D5TgHF+XMD8/e+Fbz3RPePZAWLyPdRiBqIiven+4aLGogHjvwo+3WLHoq590iLHvvV+xYV95K0a/sWiPsA+Jj3rQX1B/vu98tE+277kbJN+3YFDvsjzHbk5Pe4qPRUCqf3eKUD9w33GRX3PnEG10z3uvew/Ab31AUi+5T75gennBX3uPeS1gf3lvty+5b7iAXuBw6u7Xbrz/eZpeZ3Afi2owPz90EV+E5mBslQ93z3ivu697wFMPyRB9j7MTz7FgWnFtn3Fkv3FwX4gccG9077U/tO+0sFwAcOPJx2+UN3Abb3PAO29+gV+1L3K/su9073Tvcr9y73UvdS+yv3LftO+077K/st+1Ie9zz7tBX41AeMjPiH+7SACvyH+7QFDvb3C3b3Da3Sq9Kt9w13Afk6rAOy928V9+0G7PQF91n7dgb3ffeG+333hgX7dvtZByr0BfvtBvcG+w0F+ML7OxX34gf3Mvs7Bf2LNBXf4jfiBfefBto0PDQFDqX4h/faFfctBnFpi1yqarPHzrTNskimSbNjyGlujlSlbQj7LQb8ZPszFffoBvcL9wsF++YGswT35gaQ+xH3B4sf++cGDvcU9yV292Gt92F3AfdK+HMDrvcjFffmBpHAoNK2qgiptdiMvRvnBlZTiDGYUNXm4uL3Arf7Arkw3UXpfmSQ+we+WAgvBk9Oi7VbH2WrcMiGvgj75gaXMLs94mk1bFY3gzMIDoP3C3b3ZNNbofd8dxKj+aMTuPl+994VYHH7BkVFYghjdIN7dRpyo4KVnpOUp6UezdH06dm2CIkHjQc7tiPmSdIIp3GClHgbgXWCcnWUe7N0H9Fj9wdEtHEIE9j7r/u1pS8bZHh9dHKggbEfE7jq97yj96QbDq3cdvefo/eldwH5q/fbFV5x+wdVNXEITXiOWGYaYsF+tJypoZ2YHsngxvcD3bc4uEL3D0zhCJx/b5h6G1xfcGJjpGG2eh/ebPcKWrdxCPu7+5bnKxtUUkFtZMNLxB/u95/m968bDuP3X/emAan5+AOp918V+RkG93P3HHUK+3P3HAX9GQb3GPscgAoON5N2+WJ3Aa35QwP4Zvi2Ffvy+397dIEbgIKnk4gfynGJnHcbcW16fHYffoKBg3oaWbInoV0ekn2QfZWECIaSmourG5mnjJCSH5SR9/P40PcL9wWhoBhVM3djZx8O9xfU+KoBqfn4A6nUFfkZBvdz9551Cvtz954F/RkG9xj7noAKDtqR+TAB5PmiA+SRFfmi9+F1Cv2i9+EFOAf45/uOgAr85/uOBZX3FhX34fcMdQr74fcMBQ4wu3b4h3cB1PjvA/cS3RX3Y/c49y/7boyK90/4hwWKBvypgYyK9y37bvtz+x8FDoi3bAoSrvcE94H3CxNsrvddFffxBhOc+zH3Ggf3sPfC+7D3wgX7GgYTrPsx+/EH9wT7nRX3hPf49zUH95z7rfucfQpHxXb4keqZdxL47uATsPh++D0V9wTnj2O0bbOAGYjlqs+gyAgT0EV3O3xEoIxmp1athvsELxj8RPtjFfc9fveX9277O5kFNvxBFfeY924FzZK/lLwe+5j7bgUOvI129/H3OfdtdxL5RuwTsK33uBVeusduzRujo4+Uoh94aINoZBpanVmlYR73l/dtBRPQcrJ9urka18C3v7ge0cSKOrxJvGYZ9yib7r3sHvsGaPsNlfsIoKpPxE7ZgkNRGGhiV2NTG1hKqK5lHw4w7Xb4TXfZdwHO+PED9yDeFfiohXUK+1T4hYAK+yz7bvtk9zZWQPd1+x/7LPtwBQ5HxXaj3PiVdwH46eUD+Gb3ghX2K2mGdFqKZhmTpKeNphu7vYB+th92yGzPjuVjgF1ph2Mg6xj7V2IV9zuZ+5f3bvs9fgX3VLYV95j7bgWPiHf3Posa+5j3bgUOvI12ovcH+OV3Afk/8wP3ufdMFa6xzKi+G8O/Y2i0H8xVPYJXSG5RGZbGyZPHG8XDhXrDH1nse+73KBpfcE5DjDpMwBhXuFa31xq5mbqksh77l/dtBXFheVlaGmSTaJ5oHpR0c49zG0lPbl5cHw6npHb4iXf3bXcBu/mbA/cY930VY/dE961pBYtd90iKi/gd+3WOGogHi/uq+4aOih6IX/dRix77wjIV96SywPtu9/T3y7rs/Hr3tk37AK/7FvtdtE0rBQ73Du6z8PdQRHf3VbMS+Zb3Cou7E9z5OfftFbeevKDBk72fGayYqKSyGrxdql1RaF5ZeB56XYB7X3MI/R73HRX48PuFwXWxeqNSGVihsWTFG7m3qryybKZplx9XnlSSWaFVoxh1wf0I9zEFk/w0Ffi39zEFjAf7Brj8R/tUBfmE9+gVq66iqaWmem5qanRscHCdqB6N+68VqaSdp6mveGpudndubmOfrB77UPcoFRO8lJOTlJSTg4KCg4OCgoOTlB4OkjoKr/mbA8LzFYdpqXSieAiBmLRrsBul6uOipB/4T/hdBaGhkIuoGswHqIuRa3mDh4F+Hvtx+18F+3H7doODgxtrh6yjhx+CwQWIn4Stnxq+TYVpfx52hHhyfnsIamSLklcaX4tqkGAeDvsjzHb0qPe45ORUCqf3eKUDrvcpFfeUIgb4BvfZ+7n3qz5MBXH7Pgc1QwWn+8kV97j3ku4H95b7iPuW+3IF1gcOrul25qX3mc/rdwH4uKMDsPc4FfiTMAb3uPe6+3z3jE9WBWD8UAdGR9D7FgVw+xcVwfcXR/cWBfiRwAb3TvtL+077UwXHBw73G+yz92um666xdxL5MrFl9xWftb+7E/f5NvgOFbKIBYfCxHjAG7azo7q8WbFdZ2p3c3IfaGp6g1uJCPxh9BX3MQb3dvtQtmencZFQGU2Rr0/RG7Sxp7aoeaN1nB9hq1qhZK9hshiHwvs99QX3OJ/8Qgb7YywV+LAsBYwHI+L8RZ0F+a1rFammmKWpqnpqbnN6cG1qn6we+25nFZSSkZSTlISDgoKEgoKFk5MeE/v3E/tcFaSinqOornFscnd2cm5mp6oeDj6Lqfirp2/3ExKuqPipp2/3FhPYrhb44vUGE7Tx+N782wYT2Cj7AQeo/McV+Kv4qfyrBw47i6v4rfcPAa6q+Kj3E3oK+M0G9w33CwX40fzGB/sU+wcFqvy1bQpmCq/36RXmVPc/+x/3NPtbmpYYX/cLM/c9R+nK3+j3Za3egJgY+zj7VvtC+yc9WwgO/EE4CvcbiwP3Gxb3hAYn9+7v9+4F+4QGJ/vuBQ4+j/k/Aav5TgOxkxWkkNagnZWjl9TQ7fWRkZ2JkIXOQdpAo3MIZLOrfqMblMuVkZMfjpdppftC90VA5xn3PPdM2PcDn7GEmRhbhTh9h4NjTj8mPDlZs/sv91BvxAiABn+CaF6BeIR4i4OgZZ1s2TTu+wKQhIuAhoRnXvtN+1xtcAgOPaV2+SGZpXcBqPlTA66UFaeO6pqvop+Xsqbg9pCSnImUgrpYwU6kdAhktql+oxuX9wiUkJUfjZpmrfsy909J5Rng4vcx902btIKZGGOI+xN6h4RsWkIqVVVG0C73FG7DCH0Gc4A7OIN5hHmNeqBmnWvDR+YkkIWJfIaGZ137MvtQbXAIDvugXHb5bXcB91D3mAP3tPeWFfs07p9nmBuXnpiXjR+Jj4iRjxqRm5GPjx6TB5KOj4+OkvsB93kY4/cT4/OWlQiPj5KRkRqSe5aHlR6NiomRiBuIhYSIiR+AgQWQhWeGhRv7MftBP/cqBZOHiJWAG4CDe4GCiQiPhoeQhBt5fYKChBqCk3qOgx7X+1RJPD0lYkMZbFZ6c34aiI6JjYkekoWHhYmDCImFioeFGoCUgJGCHoGRjYGYG5mljpSXHw77NpN2+WJ3Afdf92QD85MVnnYFmAaSlPcm91ixWqlTt14Zjo6JjZugrZAbjpODio0fiI+RhZAbkJOUjo4fkpGUjoeVCJGJlpmNG5MGlJekkY4fkpeLio2Y+yj3Sxj3S/dwu4m1GnyuhpKLjISJGX+Ih6uQGo6NjY2NHpaSWZKJG3/7W/tlcHQf+wr3RQWSh4OWght+fYB+jB+CiIGAiH2djIYefX5+fYJ6pi+3Nbg3+zv7Wxh+m3uBfn+FhBqHk4KNiB6Sf5N6mIUIjpOSkJQbjY6JiB+HiIWHGg4/hrD3eq/csPd3sAG8sPdsruOw92uwA7z3mhX3kfuf9zT3n/eQ9y77kQaM95wF+zX7nPuQBrD7ChXc95D3nOL7nPeQOvuQ+54z954HDjygdvd893r3encB95v3fAOu93wV93j7fPd893z3e/d6+3v3evt8+3r7eAYOO6B297L3DPeydwH31fcJA673qBX3qPuo9x33qPep9yD7qfeo+x37qPuoBveo+yAV9yD3HfsgBw42oHb3f/dt94R3Afee93ADrvd/Ffd7+3/3cfd/9333bft994T7cfuE+3sG93v7bRX3bfdw+20HDlZ7dve5rGqtr6mvrve2dxL3y62iqbivaa0T34D4DvfDFYZTe2N7aQh6ZXpsZBpsmHileR6Yg52BkYUIiY2Pg48bj4+TjY0fkZGdlZiTCKWdmJ6qGrd5q3myHnysfLGGv5WQk5OQlr6GsX2rfAh4tat3tRuqnpilnR+TmJWdkZEIjY2Tj48aj4OPiY0ehZGBnYOYCKV5dZlsG1pqdHddH25+aYBeh4eUg5OCjo+9mLCZqgiet6Cstxqqfp5xnR5+k3mVhZEIjYmHk4cbh4eDiYkfhYV5gX6DCHF5fnhsGl6eap5iHplrmmaPWIGHhISHglOQZJtpmgidZGycYxtseH1xeR+DfoF5hYUIiYmDh4cah5OHjYkekYWVeZN+CHGdn4CpG7Wrm5ywH62asZzCkI+Bk4OVhgiW938ViaB/loCUCH+VgJObGpyUlpuWHpKPlpKPjwiLj5OMHo2Jj4eMio6HloSRhgibgJKCehp3e4N9fR6CgoOBiXoI91n7WRWKj56OlpSUlRmYl5OYnBucl4N7lh+OhJOBj4eMio+HjYkIioWIiYoeh4eFf4aFCBO/QHuAg4R5G3mDmZiAH4KWgJV3jQj8H4cVeYiBg4KCCH5/g315G3iBk5uAH4eShJaHjwiLhY6MjR6KjZGOixqPkJKVj5IIE99Am5aUkpwbnJN+f5YflYCXgKCICPdZ+1kVj42OeZOAlIIZmH6agop5CHmDgXuAHoSIgIKIiAiJiYiHihuKhpGLH4aPgpODkAh8lYOTnBqdmZOYlx6WlJWXjp4IDvch7rPv91JCd/dYshL5m/cKi7wT3Pk89+8Vt569ocKQvaAZrJmppbIavFyoXlFnX1l4Hnldf3pfdAj9HPcgFfjx+4vBda96pFIZWKGwZcYbubiqvLFqpmqXH1edVJNZoVWjGHbB/Qj3NgWS/DoV+Lj3M4qM+wK3/Ev7VQX5hPfrFauuo6mlpnpuaWx0anFvnagejvuxFamknaeprnhqbnd4bm5jna0e/PL3vBX4WvsQnVvBdHp/epV5k3mSGfxd90kFkPvCFfez9w69dfvkJgX4MfcxFYKShJSUkpKUHhO8lISSgoKEhIIeDp7C6sJY9wrs9wJawlTD6cIS1sJWwOvCWPcG6vcIWsNUwunCE9NS9373ZBWVeniRdxtSXV1SUrlexMS5ucSfhp6Amx/Z2JSGlIeViRkTssqYRQWdBpjRlo2Vj5SRGdk9BYB6hXh3GlO4XcTEubnEHhPK0sNduVN4eIWBex492ZGUjpWOlRnNlwWdB0uXiZaHloWVGdbXBYGcnoWfG8S5ucTEXbhSHxPSxlNcXlJ4kXiVeh8+QIGSgZB/jRl/yQV5Bn9MgIiBh4GFGUHWBZWbkJ6eGsRduVJSXl5SHhPGplK4XcSen5GVmx7WP4WBh4CJgBlIfwV5B9B+joGOgpGCGfeP954Vpp+fpqafd3Bwd3dwcHefph77bvtoFROysqWgoaWloXVxcXV0cXF2o6Qe9237bxUTytKloaGlpaB1cXF2dnFxdaClHvxD+EMVpaGgaQqhpR78QwSloaFpCqClHg6f9xj7BHb3d8hs9xVp0EjO6vcQ+xD3ERLV9xP7EvcS6s1Jzmr3FGvLTcnq9xX7FfcWE6WigPfE96oVnnJtlWwbPEpLPDzMStrazMnbqoCqeaQfE1FVAJ+aoZKjG6acg3idH3hygGxsGjzOS9nay8va2krMPG1tgXlzHhOqSIB2noSZqBqklJ2dnR54pKqAqhvay87Z2kvLPB8TkVKAPEpJPG2VbZ1zH3h5eoVxG3N3kZ56H52klqmqGtpKzDw8Sks8HhOlSIA8zUraqamVnaMenXmTe3Eab4V8d3ceE6VSgPdO92VCCvu197RCCg5ai/cMbfYip7+Tg5Wy6DDpZvcLOb1jpHL3Fy+sbOWjp2/2MZbAo+d3Evckq270cZW06DD3IDiuaPcLNb1Z9yb7GKSX56X1L5i+qX4K+E34FHkKk5yGkIaSeIF8e3t6g3qQhgie+xR4CoOce5x8m3iUhoaGhZN6m3sI+yj3KHgKgpx7nHybeJWGhIaGlHqbewjS+3QVE0RU6guUf3iTfRtqcXRscJ9xqx8TNFTog5CRjIyQH4yNi4wbh4WAgHcaE5RU6INtpnKrrKakqaCDkoeTHpOJBYmTkouSGxNEVOgjp5mnqB8TRFTog6pwoWoeE4ok7Bx9dIWCgR+MtYnHoaGkpMSLt4cIgYGEdn0aaqNxqqSloKiRipGKkR6Mi46MGhORBOwbh5OVf50bqqSnq6xypWx3hoOHgx+MlAWMkIuQkBoTlCTsHKxzmWptdXJqHhOUUewbe5B3lH8eVIpei3SicaWRyIqxCBOUUmwbgpWgg5gbrKaiqqZ2pWwfE5RU6RuGhoqKhR+IiouKG4+SlpaeGqlxpGprcHJtdpKEj4Meg40FjYSFi4YbfgptfXBtbKR1rJufkZSXH4ppkk5vb3p6RYVljAgTkQTUG5SXkp6ZGqx0pW1ycHlvhIqEjYMeiouKiBqPg4OXdxtscnBqaqRxqqCRk4+RH34KioIFioaLh4caaaJ8rR4TklTUG6qgpKybhp+Clx+zjsSNpXEIpHKISWgaMMN5CpSchpGGkHiCfHt7eoJ6kIYI96X1UAoeE5SM6EtRCvtY91ZECvtW+1hECvdZ+1ZECg5dm3b30cP30XcB+Aa/A/eU91cV9yD7XPcg91z3b/cl+2/3Jfsg91z7IPtc+2/7JQX4Fa0Vo8LIpJCPiIZyT1Fzh4qNjx5ShRVzT8WkkI+OkKTCTnOHiomHH8RNFY+MjY+jx1FyhoeIhnJUyKMe+yE+FaTHxaOPjImHc1ROcoaHjpAeDl54+VQBsfliA/eZ91gV9xz7a/cn93P3aPcc+273Ivsh91/7Hvtf+3H7IgX3fvsaFZ7K+za8kp2Dnfczx3nGxHi89zehfqCZv/szyJp5Uvc1VYR4lXr7M1WeTU+hT/s3d5N5glz3MgUOdDoK99b3eAP3RX0V93v3Pfd8+z0x96n3fPdBBfu1Bjb3oTX7oQX7swb3fvtBBQ57knb4TKb3kFQK+YQD90Z9Ffd99y33ffstRfej92n3T/uonif3hif7hvuoePdg+08FY/uGFeb3jvtx9zv3oYDU95DU+5D3oZb7ePs77PuO+2f3RAUOWZJ2+UWpi1QKufkNswOu9+wV+1v3N/sz91n3W/c09zb3Wvda+zT3Nfta+137NPs1+1we9zL7oxXa9377U/ckBfeEBtb3dNf7dAX3hgb7Wfsk1Pt++1b3JQUOjZJ291Oti/dP98d3AfexrIv3UIuvA/dJfRX3fvdT94T7U/sF97D3nfcm+8yJNve3O/u3+7uN9477JgWssxW/tq+/vbZmWFljWlZYX7nAHg57snb3e/dKhrD3p3cS99T3ShO490U1CuwVE9hZtGK9vbS0vb1itFlZYmJZHg77DMao91zHnuGzr3V39zl3Eviuos6lE+/4rvhqFZCNl5COj4+ai6GKnHt7c4J+iAiLn3GVgB78DJcVl5bQtduvu6HHoqaUCJyRlI2QGpRSkH5+TXNoOx47aDRffxqApIOZhR6ZhZKNlZQI+w5MFXWVr22vG6+9r5aTH5GYlaKemZ6YsqGrm6KXs5+xjJyMoYWceKKRsJyKlQijim+9fhuCJmZqQh9Cakdcg4YIhoN7eYEbgXmUkH4fg455l4OVfn+BfYBcCPcP+ykVi/d8+02XgR6Bl5qFkhuSkI6Slh+Wkvcs9JaUCJaUj52YmIyUnRqdhpt6ox56oyn3CYCYg5V/oHqUCBP3g4+Cj32Kd4pmfm17eIFhd3J4d3uEcoh0hFSHeYSDgH5zfXiHCPsV9xEVjHqNa5B1CHeXs3epG6molJ6eH5Khj6mOogiAgWdrXRtdbK+afh/4RI4VdqKuoJ90BYdUFXmgrKCcdgWIVRV5nqqhnXcFUwR3oqmgn3cF+0C5FXWir6OhcwWGURV3oK6joHUFhlAVeJ+vpJ14BYZQFXajraSgcwX7kfEVl5P3F9mUkAiQlJSPkhuSjIiGhoSIfoMfbnoiTYGFCISAfn6AG4WIi5GTkI6dlx/XWBV4oqufn3QFjlEVdqKooKF0BYxTFXmgqJ6deAWKVBV3oqmhoXIFQkgVg5Uv9HycfJyMlI+OkI+cfJOClYDmIJKECISSk4ePG4+VkZCSH5KQ9wbYkpAIkJKUko8bj5GIhoaChIKGH4KG+xYzhIaEhomJiYWJhYxwioIIeIiLeYYbhoiVm5OInoqdH4qVhpSDlQgOhbJ2+AK1i7D3p3cB90o1Cm4V5tfmP1/3A/DK+wuDbvcHbvsH+wuT8EwFDnSydvd1qfcZpYWw96d3EhPo90JPCgUT2DIK+xBCFfcQ8vcQJE/3Kfcc4fs0gWP3MGP7MPs0lfccNQUOg5J2+D+g96N3Afg42QP3P30V9433RPeV+0Ql9673cfc6BfutBiz3oyr7owX7tAb3ffs6BfcsuhU47d73jQX77wTZ7QX3kgb8YfsfFftp9yT36iQFiwT3GWLy+58F/GGVFfd1970F+xYHDt+SdvhHoPebdwH30/ftA/dDkhX3DXb3R/cX9zX7EvcPhiz3qfd09zJOoAX7cwY394n7BJ0y+5sF+7AG93b7QQVV+3wV2/eG+1P3IgX3hAbc94vd+4sF94wG+1/7Itr7kfti9zgFDiyddvlLdwG/+RQD0vcDFfeC9wn3Lft7oJho96D3iNYFowf7jLOi955wlPse+4b7f/cUfHb3OPtx+zb7XQUO+wiadveZ9z/3m3cB94WWi/c8A8T3AxX3kfcg9y/7lZ6ZT/es95vJBacH+6KeuPerb5j7Fvug+4/3Lnp292H7cfta+1wF92X3ZBW5sLK7uq9kXVxnZFxbZrK6Hg4xoHb5MHcBs/kxA/cE9xAV94P3RfsF+6iyiqSFsXkZtPe49wn7paelopuxlRn7SPeC96n7A4iqmbKZqBn7ubX3pvcJdKN2sIKmGfuC+0X3BPeobIxilm+YGWD7uPsI96V3eWh2an4ZjAb3RfuC+6j3AwVkgHB8ah73uWD7pfsIpG+YdJlmGQ5an3b4j3eud/dGdxLC+TwT2Ov3MRX3i/cGXPuhnYjn95P3MftzmZT7B/eL96Jcjpv7k+n3c/cwBRO4gJr7ifsGuveheY4t+5P7L/dzfIL3CPuL+6K6iHv3ky37c/swBQ5ceGAKjr5+ZwqVd7jPSM/Xp4x3ErBgCpW+d2cKrs9Iz9enE+xStFVA94qhFXOmf7muGridtaurHo2JBYF6hXZ4GmGjbLSCHkmXv07SG6WjlZ2eH3mMeZJ7k0+pZcOKz46MGGSUr2S2G5ubkZOYH3inrYCtG8nAssyOH3NwXX9oG15hnatrfwoT0VK5IUCBnKCFnhu1qqO0lB/Nl8i/0hqlgaN5nh6KeYR5g3ttT1NlR4qKjhiylLKvthqbhZuDmB4T5VK5VMCep5atrRoT5VK5IUDJZMBKjh4T5VK5VMCjcJddaBpeeWFrax6JjQUT5IK5SUCVnJGgnhq1c6pilB4T5UZ5SUDNf1fIRBtxc4F5eB+dip2Em4PHbbFTjEeIihiygmeyYBt7e4WDfh8T5VG5VUCeb2mWaRtuCk1WZEqIHxPlUblVQKOmuZeuG7i1eWurH4mJBRPoIrlVQJV6dpF4G2Fsc2KCH0l/TldEGnGVc514Hoydkp2Tm6nHw7HPjIyIGGSCZGdgGnuRe5N+HnhvgGlpGk2yVsyIHsb3BhWBm4eenhoT41K5VUC2oby0nR6KjQWOf36NfxtlTHlucB9uCr2YwrG9G5aWiYeVH4yNc7ZCuFmKGRPlSrIVQJWbno+eGxPlUrjVQLa8dWKdH42MBY6XjZiXGrF5ym6mHhPlUrkhQL1+sVRZGoCJgIeBHo2KtqO41Iq9GRPIgrlTQJV7j3h4GmB1WmJ5HoyJBYiXmImXG7HKnaimH1l+VGVZG4CAjY+BH4qJBRPlUrlVQKNg1F69jAgT5VKyIUCBe3iHeBtgWqG0eR+JigWIf4l+fxplnUyocB5ZmGXCvRqWjZaPlR6JjAUT5VK5VUBgc15CjFkI0fc5FaSXpoaHppikcI94n35zBW4Kcn+fdwUO+ySSdvlkdwGy+P0Dsvc+FfeN18b7mMf3mPeNPvta90T3X/dE+5I8UfecTvuc+5Ha9177RAUOWUyi92qo+Ip3AfdRzRWBfId5eRpbpG28p6iVl6UewKS6sbWzCLS229LKG6KegnmZH4+cnY4Fo3pyl24bTEZWYV8fWlj7AihAG25toaqXj5eQlh+Ekpl9lRuQjo2Pjh/o9xMFj5GMmJIalImfhJEegZR3m5oarcTgn6cepZ63yLGspXGVG5CPj4+OH+f3EwWPkIuXkRqTi52EkR6gc1SbbBt8fYiDfx9KYDL7BVxKWUZB+wByOQiIgIl+fxplnWeibh6osxVynXSxqhq79wj3P6q2HrrM2fTMuAiSlZeNlxukrYB8nx+OiI+IhhqDTTqCfx6IiYeHh4R5nXkbe36Fgn4fVGY3+xZuTAiHgn1ugX6wc4MagUo3gX4eiImIiYcbh4iNjYgfDkyadvlVVAr5VgP3rfeGFWL7fQV+iYyJjBuRkpWPjh/3FvdM9xv7UwWFkIyKjRuPjo2TiR9e94L3e18FnYiOjI0akH+TiYwe+1P3G/dR9xcFlJGSk48akHyLgYge+3ditPduBZ+Pi4+JG4GCe4qKH/sS+0n7FvdMBY2KhJeHG4GReocftPtx+3S0BYaMepCCGoWXhY2JHvdQ+xr7T/sSBYeIgISHGoScjo+MHg5EmXb5VlQK+U8DrvdYFfdsqHD7fPcy9z33Mvs9cvd8929u+z33Mfc59zH7a26k9277Mvs9+zL3Pab7bvtsqPc8+zEFDlw6Ct/5BwPf9zUV90i7W/tB9xj3Fsf7SLX3QfcU+w9b9z/3SWP7FPcY90K5+0G69xf3EPtQYrn3R/sS+xRb90da+0P7FfcSuPtJ+0q69xn7GftKVvdEXAUOO5x2o3b3pHwK5negd/dfdxL3y3wKE27Y9wf3CxWZgqB2lH33SfdjGIyK+w77i5yIpoGZgBnj95kFjQYTrth5+6ecj6eLnIcZefenBYwG5PuZmZallZyOGfsO94uNjPdJ+2OUmaCgmZQZ+2P3SYyM94v7Do6claaWmRn7meN1CveneYeci6ePnBn7p3kFjAf3meSAmYGliJwZ+4v7DoqN92P3SX2UdqCCmRn7Sftjioz3DveLeo5wlX2WGTP7mQWJBp33p3qHb4t6jxmd+6cFigYy95kFfX5xgXkb9w77i4mK+0n3Y4J9dnZ9ghn3Y/tJiooFE3Xo+4v3Doh6gXCAfRn3mTOACvunnY96i2+Hehn3p50Figf7mTKWfZVxjnoZ94v3DoyJBY6zFamkpKmppHJtbXJybW1ypKkeDvsYrHb3yKCJoPfIdxL34aCJoBO4pPeZFUf3CKqqmR6jlqSZpJmkmaWZoJcIjY+OjI0bj42Jh4mKiImHH390fHF8cAhxXm1aVxpuk2Gtrqa+p5IelKyNubmojKekGpOOkI+Oj4iGjh6ZdZpxm3CiZaNkoXWkcsFtpqampm3BcqRzo2SkY6JymnKadpcIho6Ij44aj5COkx6MpamLqhu4jLeNqpMIqZO8pK8aE9SZg5V/kh5noVd+Z3tzgHB9cXxyfXJ9dX8IiYeIiokbh4mNj42Mjo2PH5eimqWappqlmaaVowiqmaT3AUsbZnRabYIfgmqJXV1uim9yGoOIhoeIh46QiB59oXyle6Z0sXOydaFypFWpcHBwcKlVpHKjc7Jys3SkfKR8oH8IkIiOh4gah4aIgx6KcW2LbBteil+JbIMIE9hsg1txaBoO+xeudvdk9whjs5T3CvdjdxL3gPcKnfcME96k95oVa76Dox4TvtrC17YbnZp9eR9uP0U8GnOSWaytp72nkx6Rn42goKKIoKIaoo2lqpeThoGSHqhhlWGzYwh3n6x5pxuhmZeip3eteJ4fZLJill+nCIGShJSYGqShkaAeoqKJohuioo2RoR+nk72nrRqsWZRyHj5EPGwben2anB+p2dbWGqOCvWtpbVlvhB6EcYpxcHSNdHUaeYF5d36BlJWEHoWVhZeGlnqseaxxpQieeGuebxt0fX10b55rnngfsGa4e7ZxCJWFlIF+GnZ0gXkecnONcht1dIqFdh9vg1duaRr3pdoVqqSkqqqkcmxscnJsbHKkqh4O+zE/ChL3nfcvL6MT0K73SRXCUtaWssQIE+Cuu7DBv6kIVntde2Mec02EdnMaW65rtn8eE9C3l6ysvhpn9XyuebyMvxm+bq9XrV2nSuyDvMII022xSJQeIJpgmGSfwKvJkseUCNWUsLDhGkq0S3teUzsrb3J+honLmKijxAiUoKLEohq1Y6pnlx5ff2ZsWhpsnWeWcB6aaKFTUBpeoGe+b7Nhx1CvOFkI+wzQhMyBHr6Ev4G6cGd1Xn8qfQhFgmd5MRoO+x6Vw4e076d8zFfboJaJlpF3r9pXzXympXfqs4fDEpDMsKuypObRZrVltWjP6KKxrLHLE6Sbp/cIWwpihpn7ElgKE2Sbj1kKrYGuf6t/ChOMN5dDCnEKGU4KE6Sbx1cKaZVoPAr3qfe/FY+WjZeXGp6GewqXGhOMN8elrZqhsLVsZGhqkHWAHnWAeHSDdAjPMBWSB7iUnaaYoQiblZOZmxuuomFscnpgbXl+opR7HxOhm8eVeXaQdxuGhouKhh+W5RV7Z3ZfYn4IE5Kbp4qIh4qHG1UKRwoTUluXYQr7ePcjFaJ3bpltG35/i42BH36OgpSiGrazrLSepIF0Hn2DfnwacpRwm3ge9x37SxWRjwV0n6h9qRuppo5jYGNqYnhylaIfmZOYmhqkgqZ7nh77cfcmFY2am42aGxOhm6eiyH1uHxOkm5d3Ch5ICpuvoLe0mAiMjo+MjxtdCpffFWaEeXh+eAh1fIR2dxtodLaqpJy1qZiVfn6cH4CZnoGqG5GQi4yRH9AvFZGIBROkm4+Hf4l+fxp1knySfh6TfJSAgBpxaXx1ZmGqsq6shaGXHqCWn6KToggOfqp292+/vJaJlry/v3f3T3cS+Bq1ZbWD9zH7EpUT7yD3R1sKioOLg4MaZZoivrfBvqykHlMKj5yNnmMKwnW3G7aVqrCtga9/qn8KXAp3mXc5CgUT7kBxCgizj3/3E2IKE96gUgqHeol4ZApUoV8bYIFsZmmVZ5dsSgqffZ+BCGV6O0UK9/73uxV6ZXhjYXwIioeIiocbE+8gVQoT7kBHChPeoGEK+8b3AhWNmpuNmhsT7yCiyH1udwofSAqcsZ6ztZoIjI+OjI8bE+6gXQoOc5Wzl6n3D6p6nMHbdXfrnHqqsXf0qZezEsq1x6e2or+wj5yGnX3bfZ2GnI+wZvdLLaK2p8e1E9r/FID3QlsKY4aZ+xNYClkKroGtf6t/CkMKBRPW/yuAcQoITgpXCmiVaTwK96j3wRWPlo2Wlxqdh3sKlhqrvaWnsZ5eanGBhHOGHmuEb26AbQjTLxWKkq2QpaGaqRmSmZCVm44IjI6Ni44bq7hsaW5mX21/gpiXfB+XfXiWahuFhYqKhR/7VdMVE+n/K4CjeGyYbIWGi4Uba4OnprCbqrSiuX9uH3yDfHsac5Rxm3ge+xP7kBWqyqjBz6qKjRhDlF22W70IjJ2ejJ0bvreCbbUfjI0FgKSHp6caspWwlrEerViqWksahIuEioQejQa3xciezptsTG5VR2yMiRjTgrlgu1kIinl4inkbWF+UqWEfiokFlnKPb28aE+r+m4BkgWaAZR5pvmy8yxqSi5KMkh6JBl9RTnhIewj3o88VkI8Fc56qfqqRkIuRG6uTb3Bme2xidF2XqB+ak5qbGqOCpXueHvtP0BVphnF1fG2EfYaBe4gIaoBXtqsaqLC3qZSShIKUHn2aoHm0G5GRjIyRH9MvFRPa/quAkYgFh4CJgH8adZJ7kn0ek3yTgIIaa1lxb2V4uKyllZKjkB6rkqeolqkIE9r+S4CP9wAVdZ15oaGdnaGheZ11dXl5dR4O++2gdvg26vdHdwH3XOsD91wW6/g29zjq+zj3Ryv7R/s5LPc5Bg5Zg1YKjXe0XgoSuVYKol4KE7KalpagufgZFVeycLujo5KQoh6QpqePphuSoYuBHxN0mpUKoIR6goWJHnSBc4NyhAhWfT+AQxphr2m1v6W+sKQemJ+anZudCJKRmZuVGxO0mpZWYI+PiIaFh4GJhR+Cc4B0fnUIeGpxamMaYaxqtb+msrujhKOGoh6GpoenphoTspqWVoiSi6GVHhOoKpZWoJKUeoWNH5V0k3OScghlClaZlj/TG3AKta2vtb9YpWakH3eYeZp5mwgTspqWVpCGkHmbkxoTspmWVqCPj5CPkZWHiZEeo4KigKF+CHisrHGzG7WsrLW/ZKZbH3AKc3OEhnQfhnBvh3AbE7KaNlaghHWLlR8TspqWYKCSnJSRjR6ilaOTpJIIwJnXltMabwq1Z61hV3FYZnIefnd8eXt5CBOymlZWoISFfXuBG4eHjpCRj5WNkR+Uo5aimKEInqylrLMatWqsYVdwZFsebwpzknOQdB6QcI9vcBqEi3WBHhOzAo6WoISCnJGJH4Gig6OEpAjAfYDXQxthaWdhV75xsHIfn36dfJ17CJGFnHyCGoaHiIeFgY+NhR5zlHSWdZgInmpqpWMbYWpqYR/4LIwVo6CioJ6kCBOymZZWoKSepLKvGxOympZWkJ6cenhlUXpugR9sgW59b3wIT7AVjaqMq4eqCImbiJybGhOymjZWoKWUr6secAqkl3tzbX52fnEffW5/bYJsCMUtFY2WqomriqqPGY2bnI6bGxO0mpZWiKWvgmtye39zbXaYmHEfbpltl2yUCPsS2RV2o3aicp4Icp5kpK8aE7KaVlagnpycnrGcUW6VHpVsmW6abwgTswKWVqCJKhWOoAVlCn+dnJgFE7KalmCgkKCgiJ2XmHoFE6gqllagoIYFZQqIdpd5en4FE7KalQqghnZ2jnl/fpwFE7MCllagymsVlJKgc6B0pHgZE3KallZgpHiycmcaeHp6eGV6xaiBHoGqfah8pwj7C9UVZQqMe3uMext8e4qJfB+Je3qIextxZ5SrH28KpJuXo6mgfn6lHqh9qX+qggjFLRWWiYlsimuPbBmNe456exoTspqOlqBxgmdrcn+bo6mYoJilHpmol6mUqgharhWSgnN2dHZ4chlyeHJkZxt4epyescWcqJUfqpWomaeaCA5ZlHapdvdtnvdpnvd6dxL3o5v3a5wTvvcs3xX3VfcWuPt2BRN+nJQFh7n3bosf91D7EZiR+xf3VPd1uZGY+3u39xH3T4ac+1b7Fl33en6FXvt1+073EHyF9xf7VPtxX4B993xe+xD7SwX3IPeAFca8usbGu1xQUFpbUFBbu8YeDvsYl8OS1q6sauZ3n5fBZJ+awWifpp935mqslHewd6jWksMSoNGNtMihhc1zn6K1ZaWAqpmqdLVtpaLNTZ+voci0jdET7NfsM/gI+DAVjo+SjYwflZyYmpqYmJealJuSCI2MkI6OGhPqy+pTjoWLiWNWZ2CJi4CPHsBYFYeVi42fnoeFnh6chZqDmYEIiY2Oio4bjYyLjY6Jj4mNH6V6aJ9sG4NrhYEf+xOpFY2LjI0fE+zX7JOOiY+Jjh6BnIWfh54IiZaKlpeSjJGSGo2LkIiAhF6CcJVuo3weiY6QiI4bE+zX1DP7qfsEFUzPbMHLwrC3th6Tk5WSlxublH58HxPrV+yPc4BsfHkeeHRyfm6HCGmGe3FqGmOpc7LKvMzElR6OmoyamxqnhaWEph6KkIqRkRqblJicHhPrJ+lTkY+KiJAfrHajZmNvfXh3Gmqwbau3pLuyt3S4aaceZ6ppmF6XCH2PepScGqm+lKIe2o5Juxuur6WwykeqVUtUZl9gHxPs1+qTg4OBhH8be4KYmh8T7Nfpk6OWqpqdHp6ipJiojwitkJulrBqzbaNkTFpKUoEeiHyKfHsab5FxknAejIaMhYUae4J+eh4T1NfUk4WHjI6GH2qgc7Czp5menxqsZqlrX3JbZF+iXq1vHq9srX64fwiZh5yCehptWIJ0Vnipn3YelIGAknsbaGdxZh8T7NfsM/gVkhUT7NfsT4iNh42IHpV6kXePeAiNgIyAf4SKhYQaiYuGjpaSuJSmgahzmh6NiIaOiBsT6tfUM4mLiokf+4zKFXGcrneqG5OrkZWPgYuJd3iPkXgfepF8k32VCI2JiIyIG4mKi4mIjYeNiR/a+z4ViJGLjbPAr7aNi5aHHhPrV+oziIeEiYofgXp+fHx+fn98gnuECImKhoiIGvdo94gVpqizl7Ibo62BbXl/f3mChI6QhB9to16RZ38I+w66FYmVipSVGrCj3LmbnH56fn9+gIYean5pZYZnCPcf+zoVtH7FWFwad396dnl/nJweE+zX7C+RjZGRGqp7tXKeHvuB4xVimFG+uhqfl5ygnZd6eh6FiYWFGmybYaR4Hvch+z8VjYGMgoEaZnM6XR4T7NfSk3t6mJyYl5iWkB+smK2xkK8I+we0FXBuY39kG3Nplamdl5edlJKIhpIfeqCnhKYbl5eMkJYfDvssmXb5SncB99qvA9H3DRWugaPfw6twK66BsPcY3LqaggUuBysppXHR0wVKB05MpXLAwcBVpaROygXMB9FDpaUr7QXoB5qU3Fyw+xiulXDrw2ujN66Vd9TUnYKuNnZTrOyjgq/7GWk6uQWdB9y59xlplK8qo8Os4HaUrkKen9NolXM3U2um62iVZvsYOlx8lAXoB+vtcaVFQwXMB8jKcaRWVVbBcXLITAVKB0XTcXHrKQUuB3yCOrpm9xhogaYrU6tz32iBn0NCeJRo4KDDaipzlGf3Ga3cXQV5Bzpd+xmtgmfsc1NqNqCCaNR4BQ77I552+UB3EvdxsNCzZLPPsGewE/Lb9wwVsX+j5d26hiekfQUT6t/BBS0HSUmocMTExFKopknNBekH31WkmYbv3VyjMbGXdtnZn4KyMXM5uuS5BacHMrnduuVzlLI9oKDYZZdzMTlckO9ymTdVBekHzc1uplJSUsRucM1JBS0HN8FyfZAnObpz5WV/oD49dpRk5aPdXDJdBW8H5F05XDGjgmTZdgX3n/dGFdkH0rcFE/SIOAUT6ltBFc+y1WRBZAX7FNUVR7KI3tJfBbP7dhXZBxP0z2SOOAUT6vtb9woVQbLVss9kBVj7MRWO3s+yBT0HDvsqm3b5RncB99K/A9P3DhW9faPirJ50Nbx+sPcc1LWOigU2Bygnr2fKygVlB0tLsGbAv8BXsLBLywWxB8pMr68o7wXgB46M1GGw+xy8mHThrHijNL2ZedPSnn6+M3RqnuGifrz7HGdCtnUK1Lb3HGeYvDWirJ7jdJi+RJ+d0lmZczRqeKLhWphm+xxCYYiMBeAH7u9nr0xMBbEHy8tmsFZXVr9mZstLBWUHTMpnZ+4nBTYHiIpCtWb3HFp+ojVqnnPiWX2dRER3mFjjoqx4NXSYWvccr9RggApCYPscr35a4XRqeDOifljSdwUOVpd2pXb33Kr34ncS+A2qE7j4MPgTFZSG9z33j3aPgZF9mxn7Afu8Ffek9xl7mYWVh6AZ+4/7PQVgnhWVBqD3wgWIgoOJgxuDg4yPgB/U+/YV98J2BYeVipOTGpOMk4+VHvvCdgVArBWUkPsZ96R9e4GFdocZ93/70RX3j/s9j6CRlZuZGfuk9xkFNbEVkJT7j/c9h3aFgXt9Gffi+1cV9xn7pJmblZGgjxn7PfePBfwNlxX3wqAFlQf7wqAFj4CMhIIag4mDiIIe99f71xUTeI6Vk42TGxO4k5OJiJUfdvfCBYEG+7D7KhX3j/c9hpT7pPsZm32RgY92GecvFaCHlYWZe/cZ96QYgpAFDleXdqV2+Ul3Erf5ThOw+DX4BxX3VfeLeI5Vqn+aGfsJ+7cFoHYV97f3CXyXbMGInhn7i/tVBWeaFZUGt/fKBYeCd4p3G3d3jI+CH+P79hX3yl8Fh5SKoJ8an42ejpQe+8pfBUylFZSQ+wn3t398VWx4iBn3jPvCFfeL+1WOnqrBmpcZ+7f3CQVDqRWQlPuL91WIeGxVfH8Z+F/8XxWXmsGqno77VfeLGIKGBfwAfhX3yrcFlQf7yrcFj4KMdncad4l4iIIe98D7wBUTcI6Uno2fGxOwn6CKh5QfX/fKBYEG+6X7RhX3i/dVhpT7t/sJmn+qVY54GchOFZ6IwWyXfPcJ97cYgpAFDvsSknb3H/dD5vdC9xV3Eq73RcX3QiKu9xT3RBP79+f3NRVmf2trYRpZr2S+vbCzvLZrqmWXHvcwB/cYPgWJg4mDghpas2K8HhP9vbCxvLpltFpvdn94dx8T+/sW1/cW1wV2oJ+CqRu8r7a6vWKtW15hY16BjICOgx/7GD0F9zEHsZarq7UavWazWVlmY1lhqmuxgB77MQf7GNkFjpKNk5UavGOzWh4T/VllZllcsmK7qKCXnp8fE/v3Fj/7Fj8FoXZ3lGwbWmdfXFm1abu3trO4ln6Zk5Af9xjYBQ5bl3b3g/cPcfcP94N3Evey9w9x9w8T1Pg59/EVv6+7n8ebqJOpkqSdmpWLnoyejJWLlo+UCIyNi42NGpOEjISBgY6Ogh6OgYGPgRtvZ1Z2fB9vY25oZWyChIKFgoUIeJEVmIiWyaC7qsEZmKKis6YamIOTg5QegZaDlISYCI6KiJCHG4aLiYiHH3+AgIeChgh3gX6FYRp1j3aPdh6Ra49rahpxiXGGcR6lZRXJgLt2wWwIfqKzdKYbmJSTk5MflpWUk5iSCI6MkI6PGpCJi4iPHoKWhZSHlAihgIeZXxt1doeHdh+Fa2uHahtxcY2QcR9bmhWXk2e/d7t7xxmDqISpeaSCmHyNe4x+jH6Lf48IjImJi4kbg4qEhICIgIeBH4iCiIKCGm/AZ6B8HrNvrm6qZZKCkYKRggipYRWvV59bm0+TbpJtnXKUfZyKnIqXipeLlocIio2Ni40bk4ySkpSNk46UH4+Wj5aWGqdWr3aaHmOnaKhssYSUhZSFlAhbmhWOmE2WW6BVqhkTuJh0Y6JwG36Cg4ODH4CBgoN+hAiIioaIhxqGjYuOhx6VgJGAj4IIdpWQfrYboaCPj6Afkaurj6wbpaWJhqUfm3UVgE12W2xVCH50dGNwGn6TgpODHpWAk4KSfgiIjI6GjxuQi42Ojx+Uk5OQk48Io5ebjboaoYegh6AehauHq6wapY2lkKUeeJEVg5dXZ1t3T3sZboNthHJ5foKJe4p6in+LfoeACIqJi4mJGoOSipKVlYiIlR6IlZSHlRunr8Cgmh+ns6iusaqUkpSRlJEIDvuzi833ttHnpPcPpQGupPcPpujT1NAD90vIFeROBfL3+Pci9wkGS9EFPdcGRtQF+w/7Kfso+w0G5kkFxAam+7YV9/z7Kuf3Kvco6Pso9yUv+yX7/AcOVToK99/3yRX7M/sDcnp9eoZzGWmEpm2tG6OaoqqkH/cC9y6eg2T7ZgVlhKFhthu6m7Sygx9l92adk/cE+zIFcJ+YdLEbrKGpqqR9mXeYH/tG9wyTn/dRbQW0hcWGxRrKUYlghB77T2eDn/dE9w0Fi6unpBqpcqlsbH58dHse+wr7QHmUq/dNBbWSishQG114aUaXH7H7TXiC+wL3KQWhe3mrbBtqb3RpZad+pngf9zAmg3j7Tq8FYJNRik4aTsaUtJEe90+nBQ5bOgqu+WYDOwr7XPc3+zT3W/da9zb3Nvda91r7Nvc1+1r7W/s3+zP7XB4OrX2u+RyvAa6f+R73GQOu9+wV+3X3SfsZ92r3a/dV9xP3e/d3+1L3Gvtp+2n7T/sb+3Yenxb3SPcoQQr3Rvcl+yf7RvtG+yU+CvtJ+yX3I/dIHg49PQr5R3oK+Uf5SP1HBg4+i/cSbqj4rKkSrqj4qagTeK7sFfcABhO4Kvjc+N4m9fzjBxN4qPzKFfis+Kn8rAcOO4v3D/itqwGuqvio9xMDrvcHFfcK+wcF+ND4xwb7DfcVBfzNBqr8zW0KwKB2+VVUCvnLegr5ywb8MPlVBQ7Aknb5VlQK+csD+FJ9Ffgw+VYF/csGDjoKo/ljAzsK9/v7/Pf89/z7/Pf7BQ5UPwoSr/ld/I73xhPQ+Bz4IRX3Lfct+y33L/st+y4F91/7XxX3LPssBRPg9y/3Jfst9zUF+/n7+xX3Lfsx9zD3Mfsw9y8F+18lFfct9yz7L/cu+yv7LgUO+8KLpPfboqraqqT3EqQBrqP3BqSq3Kmj9wakA/dBFvdT9/T3H/dR+x/3K/tT+yv7HvtR9x4GpPvbFffy+x/3Ifcf9yv3Ivsr9x77Ifse+/IH+wOpFdz38/cd2vsd9yo6+yr7Hzz3HwYO/CU6Cq74BAOufRX3Zvcy9zX3XPdc+zf3MvthH/1jBw79UT0K0HoK0PlIRgYO/MZaCq4W92P5SPtjBg78PD0K9+16Cvft+Uj77QYOZgq5ZBWWfvc491b3Qvcn2bsZMML7P/cf+zT3W3yAGLf7C+P7Pc8tTDcu+2VpOAgO/EE9Cvfoegr3hAbv9+4n9+4F+4QG7/vuBQ788ToKrscDrtMV9yI1oaAj0gX4rwfzz3Wf+yIzBQ788ToK9x7IA66TFaB19yPhBfi1B/sj43Z38kcF/K4HDvxVOgqu9xAD9/J9FZGWBfslvFf3MvchGvcew/c49yG6HoOWBftSVPsPIPtaGvtb9xr7AvdJWR4O+5rzovdVs/dpogGuovdmtPdmohQc9PMV+AQGgaIFIVvi9wQf9wrnXCAfooEF+AQHdIGO+wX7AGUiiBnytvcC9wOFHpWiBfwEBpV0BfaIuTH7Bhr7AiK79ZAfdJUF/AQHopWM9vcAxPCBGSJjKfsFjx4O/FU6Cvd89w8DrogVkoAF91C/9xH3APdbGvdZ+w/3APtSwh6EgAX3IFvE+zf7Hhr7IVb7MvskWh4O/MdaCvcZFvcBBib37fD37wUiBiX77wUO/MdaCq4W9Qbw9+0k9+8FIwbv++8FDvyePQr3NAP3TBbuBlT3BGr3BPcRGvcSqe299wseKwY6KUz7DPsUGvsSzPsT3y4eDvyeOAr3DPc3egruBt7nzfcU9xEa9xZL9wk77x4oBsD7DKYq+xIa+xBs+wVV+wQeDvyNOArh9xsD978WmQc9i8HB9y6PwDicH96dh8b3JBrXi6/ZHphhB2c5i3x2H2x1h3BoGpH7PgVkf21hgx61g5dvYxqF+z0FaIxpr3kef6PSia8bDvyNOAr3Bfcbegq7Bq/ci5mZH6+djK2uGoX3PYq0mKa1kxlhk32gjbuR9z4Yroina6AemnQ7i2cbYX4G2YtUVh83B0WHVt15Hjl6j1ZFGjcHVYtVPR4O/FNzCvAm99AToPfM+ToVhqAF+xN6+yNL+1saNsYh8uvF1NLDcax1lx5+kXqPfIYIhniBhnAbE8BjcaC1va/M9x6rHw78U3MK99Am8BPA3vd4FfcTnPcjy/dbGuBQ9SQrUUJEU6VqoX8el4Wah52QCJCelZCmGxOgs6V2YVlnSvseax+QdgUO+z/47Pk6FYegBfsMXwpzrHaXHoCRfI96hgiGeoGGchtlc6C1vazM9xarH/vEFoagBfsLXwpyrHaXHoCRfY96hgiGeYKGcRtmcqC1va3M9xarHw78xQ59mffumPfhmAYeoDlj/wwJpwrlC/moFPnbFacTAGECAAEABwALABEAGAAfACwAMAA5AD4AQwBLAFIAWgBfAGQAaQB4AH8AugC/AQsBEQEYAR0BJAE+AUIBRgFVAVkBXgFkAWkBbgGFAY0BkgGlAaoBxwHiAfwCCwIWAhsCHwIpAjcCQQJLAlgCZQJpAn8ClQKkAq8CvgLEAs8C2gLsAv4DDwMgAy8DOANBA0oDUQNeA2sDdwODA4kDjQOYA6EDqAOvA7YDvQPEA8sD0APUA94D6APyA/wEAAQJBBIEGQQfBCQEKDAKMwoeCxUgCguu9+4hCguu9+4VLAoL91slCvtbC/c19zX3W/da+zX3NQsDIwoL+1r7Nfs1+1oL90gtCgsuCvdaC/s1+zX7Wh4L+1v3Nfs1C0YKJAonCh4L9yUxCgs7CisKCy0K+yULLAquFkAKQQr3SC8K+0gLPgr7SPslC/d+9z4F+7UGMvenMvunBfu1Bvd++z4FaPtbFeH3bPtY9xD3fHzE93XE+3X3fJr7WPsQ4fts+0f3KQUL+0c2Cgv4qviNFa+uBaKYqaasG7rFX01xdWtweh9uZcGOs76Tthn3Eulx9y77I/sbfZh6lXeSGfcF9xYFemWHg30fL/sEBVKEYVBoh4uIhxoLTwoyCjAL+yX3JfdICxUwCh4LoHb5SHcBC5UIspzaxLoavSanZJAeio6Xm5eclZwZh44LPwoBC65NCguXa0oKnn2ggQhkejxFCgs4Cq4L+yX7RwuSdvljdwv3R/clC/cl90cLFaafoKamoHZLCvu0BKafn6amoHdLCgtcCniZdjkKC1AKUQoLUlwaWfBvsoYejIh/e396gXoZCysK91oLoW6hbWUaf4hze3KCw56fkJ6Pnh5qCol8e4l8GwtqCnWodamxGpeOo5uklFN4d4Z4h3ge+y3CFQvg9wt294x396BUCvnqA67tFfnq94z96veMCx+JiQWOd3aMdxuGB5x8C3BwdndwcHefph4LrhKurgv37hULtI9/9xJiClIKC50V9373Pvd++z4x96cLFX2WgJmZlpaZC5mAln19gIB9HguIjISegZ2BnBmHiQULjoqSeJV5lXoZj40FC3cBrguDg5CUkY2QjpAforOvl7SYCPstwhULzHfIksHEuF73LvsBsHCuj/cu+xudC4d5iXlkClWhXhtggWxmC8Mbt8G+rKQfUwoLj52NnWMKwXW4G7aVqrALPQr3YwML9ycVoZKglZ6YCAuIn6CKnxuQB3qaC5OThoKFiYaIhh90Y2d/Yn4IC65wsIu4YrjAwVnBjshSyHfMC3r7G0v7Wxo2wyHs5cLU0sMLp9jPr7he9wr7CvciOMaDkgt0TpmomJmNlbujcm6tHwtSG19VWGpyHwudkIqQkBpxrwt5hoyGhhqlZwsTslqWVqAL+95sdvmidwGv+EkDC/ci+wvGUfcKXbhfuAuc9xvL91sa4FP1KgulpaF2cXF1dXFxdQv3SvtrFQv7fxUL90pypPeEpHL3SgsV+K34qPytBw4T5IK5VUALE7KWllagCxOympZVoAt1hHaBeH4L9xH4ePcCC/d4+GsSsAuuAa6uCwWNBwv38/d8+/P3fAULfn2JgVtzpKhpCxWbe52CkJCQkAsVkIadlJubm5sLA64WC5qFlx6CnYCYC5mL9wI+t6yZC/utBfc1Bw4TlFTsGwsfjY0FCwWJBwsAAAAABALoAZAABQAAAooCWAAAAEsCigJYAAABXgAyAPoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARVBERgDAACAnvgM6/10AAAM6AKOAAAAAAAAAAAAAAAAAAAAgAAEAAAABAAMAAQAAAAwABAX4AAABegEAAAcAegAgIZIhlCGVJGAkYSRiJGMkZCRlJGYkZyRoJGkloCWyJbwlxiXPJdcmBSYOJhsmHiZgJmMmZSZmJwEnAicDJwQnBicHJwgnCScMJw0nDicPJxAnEScSJxMnFCcVJxYnFycYJxknGicbJxwnHSceJx8nICchJyInIyckJyUnJicnJyknKicrJywnLScuJy8nMCcxJzInMyc0JzUnNic3JzgnOSc6JzsnPCc9Jz4nPydAJ0EnQidDJ0QnRSdGJ0cnSCdJJ0onSydNJ08nUCdRJ1InVidYJ1knWidbJ1wnXSdeJ2EnYidjJ2QnZSdmJ2cndid3J3gneSd6J3snfCd9J34nfyeAJ4EngieDJ4QnhSeGJ4cniCeJJ4oniyeMJ40njiePJ5AnkSeSJ5MnlCeYJ5knmiebJ5wnnSeeJ58noCehJ6InoyekJ6UnpienJ6gnqSeqJ6snrCetJ64nryexJ7Insye0J7Untie3J7gnuSe6J7snvCe9J77//wAAACAhkiGUIZUkYCRhJGIkYyRkJGUkZiRnJGgkaSWgJbIlvCXGJc8l1yYFJg4mGyYeJmAmYyZlJmYnAScCJwMnBCcGJwcnCCcJJwwnDScOJw8nECcRJxInEycUJxUnFicXJxgnGScaJxsnHCcdJx4nHycgJyEnIicjJyQnJScmJycnKScqJysnLCctJy4nLycwJzEnMiczJzQnNSc2JzcnOCc5JzonOyc8Jz0nPic/J0AnQSdCJ0MnRCdFJ0YnRydIJ0knSidLJ00nTydQJ1EnUidWJ1gnWSdaJ1snXCddJ14nYSdiJ2MnZCdlJ2YnZyd2J3cneCd5J3oneyd8J30nfid/J4AngSeCJ4MnhCeFJ4YnhyeIJ4kniieLJ4wnjSeOJ48nkCeRJ5InkyeUJ5gnmSeaJ5snnCedJ54nnyegJ6EnoiejJ6QnpSemJ6cnqCepJ6onqyesJ60nrievJ7EnsiezJ7QntSe2J7cnuCe5J7onuye8J70nvv//AKresN6w3rDbtdu127Xbtdu127Xbtdu127XbtdsO2v/a9trt2t3a39p/2nvZ8tn2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AC4AIABPAHIAaQBnAGkAbgBhAGwAIABjAG8AZABlACAAYwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAARgBvAHgAaQB0ACAAUwBvAGYAdAB3AGEAcgBlACAASQBuAGMALgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABEAGkAbgBnAGIAYQB0AHMAUgBlAGcAdQBsAGEAcgBFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAEQAaQBuAGcAYgBhAHQAcwA7AEMAaAByAG8AbQBEAGkAbgBnAGIAYQB0AHMATwBUAEYARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAARABpAG4AZwBiAGEAdABzAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADAARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABEAGkAbgBnAGIAYQB0AHMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQADAAAAAAAA/5wAMgAAAAAAAAAAAAAAAAAAAAAAAAAA"});var f={Unknown:"Unknown",InvalidArg:"InvalidArg",DocNotOpen:"DocNotOpen",DocOpenFailed:"DocOpenFailed",DocPasswordRequired:"DocPasswordRequired",DocPasswordIncorrect:"DocPasswordIncorrect",GrantPassphraseRequired:"GrantPassphraseRequired",Aborted:"Aborted",Network:"Network",Unauthenticated:"Unauthenticated",Forbidden:"Forbidden",NotFound:"NotFound",WireFormat:"WireFormat",RuntimeUnavailable:"RuntimeUnavailable",LayerVersionConflict:"LayerVersionConflict",NotImplemented:"NotImplemented",MalformedPdf:"MalformedPdf",SigningPending:"SigningPending",SigningExpired:"SigningExpired",SigningVersionMismatch:"SigningVersionMismatch",SignatureRefused:"SignatureRefused",ProtectedDocument:"ProtectedDocument",PayloadTooLarge:"PayloadTooLarge",ObjectNumberUnavailable:"ObjectNumberUnavailable",LayerFull:"LayerFull",ChangeConflict:"ChangeConflict",UndoUnavailable:"UndoUnavailable",IdempotencyKeyReused:"IdempotencyKeyReused",LayerDeleted:"LayerDeleted",VisitorIdentityRequired:"VisitorIdentityRequired",Conflict:"Conflict",EngineBusy:"EngineBusy",EngineRestarting:"EngineRestarting",DocumentQuarantined:"DocumentQuarantined",ThumbnailNotReady:"ThumbnailNotReady",TooManyRequests:"TooManyRequests",GrantExpired:"GrantExpired",OriginRequired:"OriginRequired",OriginNotAllowed:"OriginNotAllowed",FeatureNotEnabled:"FeatureNotEnabled",FeatureStopped:"FeatureStopped",LicenseInvalid:"LicenseInvalid",LicenseUsageLimit:"LicenseUsageLimit",UpstreamError:"UpstreamError"},Bte=new Set(Object.values(f));function Wa(e){"@babel/helpers - typeof";return Wa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Wa(e)}function OE(e,t){if(Wa(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Wa(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function QE(e){var t=OE(e,"string");return Wa(t)=="symbol"?t:t+""}function xe(e,t,r){return(t=QE(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var g=class qw extends Error{constructor(t,r,n={}){super(r??t,n.cause===void 0?void 0:{cause:n.cause}),xe(this,"name","EngineError"),xe(this,"code",void 0),xe(this,"details",void 0),this.code=t,this.details=n.details}static is(t,r){return!(t instanceof qw)&&t?.name!=="EngineError"?!1:r===void 0?!0:t.code===r}toJSON(){return{code:this.code,message:this.message,details:this.details}}};function On(e){return g.is(e)?e.toJSON():e instanceof Error?{code:e.name==="AbortError"?f.Aborted:f.Unknown,message:e.message}:{code:f.Unknown,message:String(e??"unknown error")}}function Gd(e){return new g(e.code,e.message,{details:e.details})}function js(e){return typeof e=="number"&&Number.isInteger(e)&&e>0}function pe(e){return{kind:"objectNumber",objectNumber:e}}function fe(e){if(!js(e.objectNumber))throw new RangeError(`encodePageKey: objectNumber must be a positive integer, got ${e.objectNumber}`);return`obj:${e.objectNumber}`}function U(e){switch(e.kind){case"objectNumber":return`obj:${e.objectNumber}`;case"baseIndex":return`base:${e.page.objectNumber}:${e.baseIndex}`}}var _r=["courier","courier-bold","courier-bold-oblique","courier-oblique","helvetica","helvetica-bold","helvetica-bold-oblique","helvetica-oblique","times-roman","times-bold","times-bold-italic","times-italic","symbol","zapf-dingbats"],Ks={invisible:!1,hidden:!1,print:!1,noZoom:!1,noRotate:!1,noView:!1,readOnly:!1,locked:!1,toggleNoView:!1,lockedContents:!1};function Jn(e){if(e.kind==="objectNumber"){if(!Number.isInteger(e.objectNumber)||e.objectNumber<=0)throw new RangeError(`encodeFieldRefKey: objectNumber must be a positive integer, got ${e.objectNumber}`);return`obj:${e.objectNumber}`}return`fqn:${e.name}`}function Gt(e,t){return{ref:e>0&&t?{kind:"objectNumber",page:t,objectNumber:e}:null,objectNumber:e,page:t}}var Gi=(e,t)=>e.replace(/\\B(?=(\\d{3})+(?!\\d))/g,()=>t),zw=(e,t)=>t?zw(t,e%t):e;function $n(e){let t=Math.fround(e.conversion??NaN);if(!Number.isFinite(t)||t<=0)return!1;let r=e.precision??(e.fraction==="fraction"?16:100);return!(!Number.isInteger(r)||r<1||r>2147483647||(e.fraction??"decimal")==="decimal"&&!Number.isInteger(Math.log10(r)))}function RE(e,t){let r=t.fraction??"decimal",n=t.thousands??",";if(r==="round")return Gi(String(Math.round(e)),n);if(r==="truncate")return Gi(String(Math.trunc(e)),n);if(r==="fraction"){let s=t.precision??16,A=Math.floor(e),d=Math.round((e-A)*s);if(d===s&&(A++,d=0),!d)return Gi(String(A),n);let p=t.fixed?1:zw(d,s);return`${A?`${Gi(String(A),n)} `:""}${d/p}/${s/p}`}let i=Math.log10(t.precision??100),[a,o=""]=e.toFixed(i).split(".");return Gi(a,n)+(o?(t.decimal||".")+o:"")}function Vs(e,t){if(!Number.isFinite(e)||!t.length||!t.every($n))throw new g(f.InvalidArg,"Measurement requires a finite value and valid number formats");let r=Math.abs(e),n=[];for(let[i,a]of t.entries()){if(r*=Math.fround(a.conversion),!Number.isFinite(r))throw new g(f.InvalidArg,"Measurement overflow");let o=Math.floor(r),s=r-o,A=i===t.length-1,d=A||s===0,p=A?RE(r,a):Gi(String(o),a.thousands??","),m=a.labelPosition==="prefix",F=a.prefixSpacing??(m&&i===0?"":" "),k=a.suffixSpacing??(!m&&d?"":" "),P=F+a.unit+k;if(n.push(m?P+p:p+P),d)break;r=s}return(e<0?"-":"")+n.join("")}var pn={courier:{family:"Courier",weight:400,italic:!1},"courier-bold":{family:"Courier",weight:700,italic:!1},"courier-bold-oblique":{family:"Courier",weight:700,italic:!0},"courier-oblique":{family:"Courier",weight:400,italic:!0},helvetica:{family:"Helvetica",weight:400,italic:!1},"helvetica-bold":{family:"Helvetica",weight:700,italic:!1},"helvetica-bold-oblique":{family:"Helvetica",weight:700,italic:!0},"helvetica-oblique":{family:"Helvetica",weight:400,italic:!0},"times-roman":{family:"Times",weight:400,italic:!1},"times-bold":{family:"Times",weight:700,italic:!1},"times-bold-italic":{family:"Times",weight:700,italic:!0},"times-italic":{family:"Times",weight:400,italic:!0},symbol:{family:"Symbol",weight:400,italic:!1},"zapf-dingbats":{family:"ZapfDingbats",weight:400,italic:!1}},yr=e=>_r.includes(e);function Gr(e,t){if(yr(e)){let n=pn[e];return{family:n.family,weight:n.weight,italic:n.italic}}let r=t?.(e);return r?{family:r.familyName,weight:r.weight,italic:r.italic}:{family:e}}function ln(e){return e.toLowerCase().replace(/[\\s\\-_\'"]/g,"")}var Zw={helvetica:"Helvetica",arial:"Helvetica",arialmt:"Helvetica",sansserif:"Helvetica",times:"Times",timesroman:"Times",timesnewroman:"Times",timesnewromanpsmt:"Times",serif:"Times",courier:"Courier",couriernew:"Courier",couriernewpsmt:"Courier",monospace:"Courier",symbol:"Symbol",zapfdingbats:"ZapfDingbats",dingbats:"ZapfDingbats"};function Cd(e){return Zw[ln(e)]}function Ys(e,t){let r=t?.(e.family,e.weight,e.italic);if(r!==void 0)return r;let n=Zw[ln(e.family)];if(n){let i=Object.entries(pn),a=e.weight>=600,o=i.find(([,s])=>s.family===n&&s.weight>=600===a&&s.italic===e.italic)??i.find(([,s])=>s.family===n);if(o)return o[0]}return e.family}function tb(e){if(typeof e!="object"||e===null)return!1;let{left:t,bottom:r,right:n,top:i}=e;return[t,r,n,i].every(a=>typeof a=="number"&&Number.isFinite(a))}function Ce(e){return{left:Math.min(e.left,e.right),right:Math.max(e.left,e.right),bottom:Math.min(e.top,e.bottom),top:Math.max(e.top,e.bottom)}}function Ld(e){return{width:e.right-e.left,height:e.top-e.bottom}}function Zs(e){let t=[e.upperLeft.x,e.upperRight.x,e.lowerLeft.x,e.lowerRight.x],r=[e.upperLeft.y,e.upperRight.y,e.lowerLeft.y,e.lowerRight.y];return{left:Math.min(...t),right:Math.max(...t),bottom:Math.min(...r),top:Math.max(...r)}}var Id=1e-6,nb=e=>Number.isFinite(e.x)&&Number.isFinite(e.y);function Jw([e,t,r,n]){if(![e,t,r,n].every(nb))return!1;let i={x:t.x-e.x,y:t.y-e.y},a={x:n.x-r.x,y:n.y-r.y},o={x:r.x-e.x,y:r.y-e.y},s={x:n.x-t.x,y:n.y-t.y},A=[i,a,o,s].map(m=>Math.hypot(m.x,m.y));if(A.some(m=>m<=Id)||i.x*a.x+i.y*a.y<=0||o.x*s.x+o.y*s.y<=0)return!1;let d=i.x*o.y-i.y*o.x,p=a.x*s.y-a.y*s.x;return Math.abs(d)<=Id*A[0]*A[2]||Math.abs(p)<=Id*A[1]*A[3]?!1:Math.sign(d)===Math.sign(p)}function Nd(e){let[t,r,n,i]=e;if(Jw(e))return{upperLeft:t,upperRight:r,lowerLeft:n,lowerRight:i};if(Jw([t,r,i,n]))return{upperLeft:t,upperRight:r,lowerLeft:i,lowerRight:n};let a=e.map(F=>nb(F)?F:{x:0,y:0}),o=a.reduce((F,k)=>F+k.x,0)/4,s=a.reduce((F,k)=>F+k.y,0)/4,A=[...a].sort((F,k)=>Math.atan2(F.y-s,F.x-o)-Math.atan2(k.y-s,k.x-o)),d=0;for(let F=1;F<4;F++)A[F].y+A[(F+1)%4].y>A[d].y+A[(d+1)%4].y&&(d=F);let p=[A[d],A[(d+1)%4]],m=[A[(d+3)%4],A[(d+2)%4]];return p[0].x<=p[1].x?{upperLeft:p[0],upperRight:p[1],lowerLeft:m[0],lowerRight:m[1]}:{upperLeft:p[1],upperRight:p[0],lowerLeft:m[1],lowerRight:m[0]}}function wn(e,t){let r=xi(t);if(r!==null)return Ir(e,r);let n=t*Math.PI/180,i=Math.abs(Math.cos(n)),a=Math.abs(Math.sin(n)),o=e.right-e.left,s=e.top-e.bottom,A=(o*i+s*a)/2,d=(o*a+s*i)/2,p=(e.left+e.right)/2,m=(e.bottom+e.top)/2;return{left:p-A,bottom:m-d,right:p+A,top:m+d}}function xi(e){let t=(e%360+360)%360;return t%90===0?t:null}function Ir(e,t){if(t===0||t===180)return e;let r=(e.left+e.right)/2,n=(e.bottom+e.top)/2,i=(e.top-e.bottom)/2,a=(e.right-e.left)/2;return{left:r-i,bottom:n-a,right:r+i,top:n+a}}function jd(e,t){let r=Math.max(e.left,t.left),n=Math.min(e.right,t.right),i=Math.max(e.bottom,t.bottom),a=Math.min(e.top,t.top);return r({x:(e.left+e.right)/2,y:(e.bottom+e.top)/2});function Js(e,t){return{degrees:t,center:TE(er(e))}}function tr(e,t){return e.replace(/\\r\\n|\\r|\\n/g,t)}var Oi={family:"Helvetica",weight:400,italic:!1,size:12,color:"#000000",decoration:[],script:"normal",letterSpacing:0,horizontalScale:1,align:"left",dir:"ltr"};function Cr(e){return tr(e.paragraphs.map(t=>t.runs.map(r=>r.text).join("")).join(`\n`),`\n`)}function $s(e){return e.split(/\\r\\n|\\r|\\n/).map(t=>({runs:[{text:t}]}))}var Sd=e=>Math.max(0,Math.min(255,Math.round(e))).toString(16).padStart(2,"0");function Qi(e,t,r){return`#${Sd(e)}${Sd(t)}${Sd(r)}`}function Qn(e){let t=Number.parseInt(e.slice(1),16);return{r:t>>16&255,g:t>>8&255,b:t&255}}function rb(e,t){return e.toLowerCase()===t.toLowerCase()}var qs={highlight:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},underline:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},squiggly:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},strikeout:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data",intent:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},circle:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",box:"data",rotation:"data",cloudyIntensity:"data"},readBack:["rect","borderStyle"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",box:"box"},resources:{}},square:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",box:"data",rotation:"data",cloudyIntensity:"data"},readBack:["rect","borderStyle"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",box:"box"},resources:{}},polygon:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",vertices:"data",rotation:"data",captionEnabled:"data",captionCenter:"data",intent:"data",measure:"data",cloudyIntensity:"data"},readBack:["rect","borderStyle","vertices"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",vertices:"points",captionCenter:"point",measure:"measure"},resources:{}},polyline:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",vertices:"data",rotation:"data",captionEnabled:"data",captionCenter:"data",intent:"data",measure:"data",lineEndings:"data"},readBack:["rect","borderStyle","vertices"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",vertices:"points",captionCenter:"point",measure:"measure"},resources:{}},line:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",linePoints:"data",lineEndings:"data",rotation:"data",intent:"data",measure:"data",captionEnabled:"data",captionPosition:"data",captionOffset:"data",leader:"data"},readBack:["rect","borderStyle"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",linePoints:"linePoints",measure:"measure"},resources:{}},link:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",target:"data"},readBack:["target"],colors:[],spaces:{rect:"box",actions:"actions",target:"linkTarget"},resources:{}},ink:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",inkList:"data",intent:"data",rotation:"data"},readBack:["rect","strokeWidth","borderStyle","inkList"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",inkList:"strokes"},resources:{}},"free-text":{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",box:"data",rotation:"data",intent:"data",fontFamily:"data",fontSize:"data",textAlign:"data",verticalAlign:"data",color:"data",fontColor:"data",interiorColor:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",cloudyIntensity:"data",calloutLine:"data",lineEnding:"data"},readBack:["rect","intent","borderStyle"],colors:["color","fontColor","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",box:"box",calloutLine:"calloutLine"},resources:{}},caret:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",box:"data",rotation:"data",intent:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",box:"box"},resources:{}},text:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",icon:"data",open:"data",state:"data",stateModel:"data"},readBack:[],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length"},resources:{}},stamp:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",box:"data",rotation:"data",name:"data",fit:"data",opacity:"data"},readBack:["rect"],colors:[],spaces:{rect:"box",actions:"actions",richText:"length",box:"box"},resources:{appearance:"required"}},"file-attachment":{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",icon:"data",file:"data"},readBack:[],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length"},resources:{file:"required"}},widget:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"data",box:"data",rotation:"data",color:"data",interiorColor:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",fontFamily:"data",fontSize:"data",fontColor:"data",textAlign:"data",caption:"data",checkStyle:"data",field:"engine",fieldKind:"engine",hasMark:"engine"},readBack:["rect","actions"],colors:["color","interiorColor","fontColor"],spaces:{rect:"box",actions:"actions",box:"box"},resources:{}},redact:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data",interiorColor:"data",overlayText:"data",repeat:"data",fontFamily:"data",fontSize:"data",fontColor:"data",textAlign:"data"},readBack:[],colors:["color","interiorColor","fontColor"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},popup:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",parent:"data",open:"data"},readBack:["parent"],colors:[],spaces:{rect:"box",actions:"actions"},resources:{}},unsupported:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",rawSubtypeCode:"engine",rawSubtypeName:"engine"},readBack:[],colors:[],spaces:{rect:"box",actions:"actions"},resources:{}}};function Kd(e){let t={};for(let r of Object.keys(qs))t[r]=e(qs[r]);return t}function Ii(e){return Object.prototype.hasOwnProperty.call(qs,e)?qs[e]:null}var Vd=Kd(e=>Object.keys(e.owners)),Ri=Kd(e=>e.resources),nr=Kd(e=>e.spaces),ib=Object.assign({},...Object.values(nr)),ME=[["highlight","underline","squiggly","strikeout"],["square","circle"]];function ab(e){let t=ME.find(r=>r.includes(e));return t?t.filter(r=>r!==e):[]}function ob(e,t){let r=Ii(t)?.owners??{},n=e;for(let i of Object.keys(Ii(e.subtype)?.owners??{})){let a=n[i];if(!(i in r)&&a!==null&&a!==void 0)return i}return null}var sb=/^sha256-[0-9a-f]{64}$/,LE=["page","position","size"];async function Ab(e){let t=new Uint8Array(await crypto.subtle.digest("SHA-256",e)),r="";for(let n of t)r+=n.toString(16).padStart(2,"0");return`sha256-${r}`}async function Yd(e,t){for(let[r,n]of Object.entries(t))await Ab(n)!==r&&De(e,`resource ${r} doesn\'t match its id`)}function eA(e,t){let r=new Set,n=new Set;for(let i of t){(!Ve(i)||!Ua(i.page)||!NE(i.size))&&De(e,"a page needs a page ref, a position and a size"),rr(e,"a page",i,LE);let{position:a}=i;(!Number.isInteger(a)||a<0)&&De(e,`page position ${JSON.stringify(a)} is not a position`);let o=fe(i.page);r.has(o)&&De(e,`page ${o} is listed twice`),n.has(a)&&De(e,`position ${a} is listed twice`),r.add(o),n.add(a)}return r}function tA(e,t,r,n,i,a){Ve(r)||De(e,`${t} has no resources`);for(let[o,s]of Object.entries(r))n.includes(o)||De(e,`${t} names an unknown resource role \'${o}\'`),(typeof s!="string"||!sb.test(s))&&De(e,`${t} names ${JSON.stringify(s)}, which is not a resource id`),i.has(s)||De(e,`${t} names ${s}, which the bundle doesn\'t hold`),a.add(s)}function nA(e,t,r,n){for(let i of r.keys())sb.test(i)||De(e,`${JSON.stringify(i)} is not a resource id`),n.has(i)||De(e,`resource ${i} is named by no ${t}`)}function rr(e,t,r,n){for(let i of Object.keys(r))n.includes(i)||De(e,`${t} has an unknown field \'${i}\'`)}function De(e,t){throw new g(f.InvalidArg,`${e} bundle: ${t}`)}function Ve(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ua(e){return Ve(e)&&e.kind==="objectNumber"&&Number.isInteger(e.objectNumber)&&e.objectNumber>0}function NE(e){return Ve(e)&&[e.width,e.height].every(t=>typeof t=="number"&&Number.isFinite(t)&&t>=0)}function rA(e){let t=jE(e.bundlePages,e.pages,e.target),r=new Set;for(let n of e.named)t.has(fe(n))||r.add(fe(n));if(r.size>0){let n=[...r];throw new g(f.InvalidArg,`import: ${n.length===1?"page":"pages"} ${n.join(", ")} map to no page of this document`,{details:{pages:n}})}return n=>t.get(fe(n))}function jE(e,t,r){let n=new Map(r.map(a=>[fe(a.page),a.page])),i=new Map;if(t==="same")for(let a of e){let o=n.get(fe(a.page));o&&i.set(fe(a.page),o)}else if(t==="by-position"){let a=new Map(r.map(o=>[o.position,o.page]));for(let o of e){let s=a.get(o.position);s&&i.set(fe(o.page),s)}}else for(let{from:a,to:o}of t){let s=fe(a);if(i.has(s))throw new g(f.InvalidArg,`import: page ${s} is mapped twice`);let A=n.get(fe(o));if(!A)throw new g(f.NotFound,`import: the document has no page ${fe(o)}`);i.set(s,A)}return i}function Ti(e,t){let r=new Map(e.map(p=>[U(p.ref),p])),n=r.get(U(t));if(!n)return[];let i=new Map,a=new Map,o=(p,m,F)=>p.set(m,[...p.get(m)??[],F]);for(let p of e){let m=p.reply?r.get(U(p.reply.to)):void 0;m&&m!==p&&o(i,m,p);let F=p.subtype==="popup"&&p.parent?r.get(U(p.parent)):void 0;F&&F!==p&&o(a,F,p);let k=p.popup?r.get(U(p.popup)):void 0;k&&k!==p&&k.subtype==="popup"&&o(a,p,k)}let s=[],A=new Set,d=p=>{if(!A.has(p)){A.add(p);for(let m of i.get(p)??[])d(m);for(let m of a.get(p)??[])A.has(m)||(A.add(m),s.push(m));s.push(p)}};return d(n),s}var KE=new Set(["accepted","rejected","cancelled","completed","none"]),VE=new Set(["marked","unmarked"]);function Xd(e){return KE.has(e)?"review":VE.has(e)?"marked":null}var YE=.001,XE=new Set(["subtype","invisible","hidden","print","noZoom","noRotate","noView","readOnly","locked","toggleNoView","lockedContents","nm","reply","popup","parent","open","groupId","subject","state","stateModel","ref","page","hasAppearance","appearanceState","author","createdAt","modifiedAt","userId","createdBy","modifiedBy","importedBy","actions","file","field","fieldKind"]),WE=new Set(["free-text","redact"]),UE=new Set(["square","circle","free-text","stamp","caret","widget","line","polyline","polygon","ink"]),qE={square:["box"],circle:["box"],"free-text":["box","calloutLine"],line:["linePoints"],polygon:["vertices"],polyline:["vertices"],ink:["inkList"],highlight:["quadPoints"],underline:["quadPoints"],squiggly:["quadPoints"],strikeout:["quadPoints"],redact:["rect","quadPoints"],caret:["box"],text:["rect"],stamp:["box"],"file-attachment":["rect"],link:["rect"],widget:["box"]},Wd=(e,t)=>Math.abs(e-t)<=YE,$w=e=>typeof e=="number"?(e%360+360)%360:0;function Te(e,t){if(e==null||t==null)return e==null&&t==null;if(typeof e=="number"&&typeof t=="number")return Wd(e,t);if(Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((r,n)=>Te(r,t[n]));if(typeof e=="object"&&typeof t=="object"){let r=new Set([...Object.keys(e),...Object.keys(t)]);for(let n of r)if(!Te(e[n],t[n]))return!1;return!0}return e===t}function Qd(e,t,r,n){if(e==null||t==null)return e==null&&t==null;if(Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((i,a)=>Qd(i,t[a],r,n));if(typeof e=="object"&&typeof t=="object"){let i=new Set([...Object.keys(e),...Object.keys(t)]);for(let a of i){let o=e[a],s=t[a];if(typeof o=="number"&&typeof s=="number"){if(!Wd(o+(a==="left"||a==="right"||a==="x"?r:a==="bottom"||a==="top"||a==="y"?n:0),s))return!1}else if(!Qd(o,s,r,n))return!1}return!0}return e===t}function zs(e){if(e==null||typeof e!="object")return;if(Array.isArray(e))return e.length>0?zs(e[0]):void 0;let t=e;return typeof t.x=="number"&&typeof t.y=="number"?{x:t.x,y:t.y}:typeof t.left=="number"&&typeof t.bottom=="number"?{x:t.left,y:t.bottom}:zs(t.start??t.upperLeft)}function zE(e,t,r,n){let[i]=n,a=zs(e[i]),o=zs(t[i]);if(!a||!o)return null;let s=o.x-a.x,A=o.y-a.y;if(UE.has(r)){let d=t.rotation===void 0?e.rotation:t.rotation;if(!Wd($w(e.rotation),$w(d)))return null}for(let d of n){let p=e[d],m=t[d];if(!(p==null&&m==null)&&(p==null||m==null||!Qd(p,m,s,A)))return null}return{x:s,y:A}}var ZE={impact:"inert"},Xs={impact:"regenerate"};function cb(e,t){if(t.subtype!==void 0&&t.subtype!==e.subtype)return Xs;let r=e,n=t,i=e.subtype,a=n.captionEnabled===void 0?r.captionEnabled:n.captionEnabled,o=WE.has(i)||["line","polygon","polyline"].includes(i)&&a===!0,s=[];for(let[m,F]of Object.entries(n))F===void 0||XE.has(m)||m==="contents"&&!o||Te(F,r[m])||s.push(m);if(s.length===0)return ZE;let A=qE[i],d=A&&(i==="polygon"||i==="polyline")&&r.captionCenter?[...A,"captionCenter"]:A;if(!d||!s.every(m=>d.includes(m)))return Xs;let p=zE(r,n,i,d);return p?{impact:"translation",by:p}:Xs}function Ud(e,t){return cb(e,t).impact}var iA=new Set(["highlight","underline","squiggly","strikeout","square","circle","free-text","stamp","caret","widget","line","polyline","polygon","ink"]),JE=new Set(["box","point","points","strokes","quads","linePoints","calloutLine"]);function qd(e){return[...Object.entries(nr[e]).filter(([t,r])=>t!=="rect"&&JE.has(r)).map(([t])=>t),"rotation"]}function db(e,t){let r=e.subtype;if(!iA.has(r))return{rect:t};let n=Ce(t),i=Ce(e.rect),a=n.right-n.left,o=n.top-n.bottom,s=i.right-i.left,A=i.top-i.bottom,d=Te(a,s),p=Te(o,A);if(!d&&a<=0||!p&&o<=0)throw xd(r,"a rect needs a width and a height");let m=e.rotation??0,F=nr[r],k=F.box==="box"?xi(m):null;if(!Te((m%360+360)%360,0)&&k===null&&(!d||!p))throw xd(r,"a turned drawing\'s rect can only move; resize its shape instead");if(!d&&s<=0||!p&&A<=0)throw xd(r,"its rect has no width or height to stretch; it can only move");let P=d?1:a/s,B=p?1:o/A,y=G=>({x:n.left+(G.x-i.left)*P,y:n.bottom+(G.y-i.bottom)*B}),x=G=>{let T=y({x:G.left,y:G.bottom}),W=y({x:G.right,y:G.top});return Ce({left:T.x,bottom:T.y,right:W.x,top:W.y})},I={box:G=>k===null||k===0||k===180?x(G):Ir(x(wn(G,k)),k),point:y,points:G=>G.map(y),strokes:G=>G.map(T=>T.map(y)),quads:G=>G.map(T=>({upperLeft:y(T.upperLeft),upperRight:y(T.upperRight),lowerLeft:y(T.lowerLeft),lowerRight:y(T.lowerRight)})),linePoints:G=>({start:y(G.start),end:y(G.end)}),calloutLine:G=>G.map(y)},S={};for(let G of qd(r)){let T=e[G],W=F[G];T!=null&&W&&(S[G]=I[W](T))}return S}function xd(e,t){return new g(f.InvalidArg,`${e} field \'rect\': ${t}`,{details:{field:"rect"}})}var Ws=e=>Number.isFinite(e)&&e>0;function ub(e){let t=Math.fround(e.x[0]?.conversion??NaN);if(!Ws(t))return null;if(!e.y)return{sx:t,sy:t};let r=Math.fround(e.y[0]?.conversion??NaN),n=Math.fround(e.cyx??NaN),i=r*n;return Ws(r)&&Ws(n)&&Ws(i)?{sx:t,sy:i}:null}var aA=e=>({x:Math.fround(e.x),y:Math.fround(e.y)});function Rd(e,t,r){let n=0,i=e.map(aA);for(let a=0;a<(t?i.length:i.length-1);a++){let o=i[a],s=i[(a+1)%i.length];n+=Math.hypot((s.x-o.x)*r.sx,(s.y-o.y)*r.sy)}return n}function zd(e,t){if(e.length<3)return 0;let r=e.map(aA),n=r[0],i=0;for(let a=1;aa.x===o.x&&a.y===o.y;if(t.length>1&&r(t[0],t[t.length-1])&&t.pop(),t.length<3||zd(t,{sx:1,sy:1})===0)return!1;let n=(a,o,s)=>(o.x-a.x)*(s.y-a.y)-(o.y-a.y)*(s.x-a.x),i=(a,o,s)=>n(a,o,s)===0&&s.x>=Math.min(a.x,o.x)&&s.x<=Math.max(a.x,o.x)&&s.y>=Math.min(a.y,o.y)&&s.y<=Math.max(a.y,o.y);for(let a=0;a!("unavailable"in e);function Jd(e){if(!oA(e))return{unavailable:"not-dimension"};if(!e.measure)return{unavailable:"no-measure"};if(e.measure.subtype!=="rectilinear")return{unavailable:"foreign-measure"};let t=e.measure,r=ub(t);if(!r)return{unavailable:"no-scale"};let n=e.subtype==="line"?e.linePoints?[e.linePoints.start,e.linePoints.end]:[]:e.vertices??[];if(n.length<(e.subtype==="polygon"?3:2)||n.some(s=>!Number.isFinite(Math.fround(s.x))||!Number.isFinite(Math.fround(s.y))))return{unavailable:"invalid-geometry"};let i=e.subtype==="polygon";if(i&&!pb(n))return{unavailable:"invalid-geometry"};let a=i?t.area:t.distance;if(!a.length)return{unavailable:i?"no-area-format":"no-distance-format"};if(!a.every($n))return{unavailable:"invalid-format"};let o=i?zd(n,r):Rd(n,!1,r);try{return{kind:i?"area":e.subtype==="line"?"distance":"perimeter",value:o*Math.fround(a[0].conversion),label:Vs(o,a),...i&&t.distance.length&&t.distance.every($n)?{perimeter:Vs(Rd(n,!0,r),t.distance)}:{}}}catch{return{unavailable:"invalid-format"}}}function lb(e){let t=Jd(e);return Zd(t)&&e.contents!==t.label?{...e,contents:t.label}:e}function qa(e){if(e.subtype!=="rectilinear")throw new g(f.InvalidArg,"Only rectilinear measures can be authored");if(e.ratio!==void 0&&(typeof e.ratio!="string"||e.ratio.includes("\\0")))throw new g(f.InvalidArg,"Invalid scale ratio");for(let t of["x","y","distance","area","angle","slope"]){let r=e[t];if(!(r===void 0&&(t==="y"||t==="angle"||t==="slope"))){if(!Array.isArray(r))throw new g(f.InvalidArg,`Missing ${t} formats`);for(let n of r){if(!n||typeof n.unit!="string"||!$n(n))throw new g(f.InvalidArg,"Invalid number format");if(n.fraction!==void 0&&!["decimal","fraction","round","truncate"].includes(n.fraction))throw new g(f.InvalidArg,"Invalid fraction mode");if(n.labelPosition!==void 0&&!["prefix","suffix"].includes(n.labelPosition))throw new g(f.InvalidArg,"Invalid label position");if(n.fixed!==void 0&&typeof n.fixed!="boolean")throw new g(f.InvalidArg,"Invalid fixed precision");for(let i of["unit","thousands","decimal","prefixSpacing","suffixSpacing"]){let a=n[i];if(a!==void 0&&(typeof a!="string"||a.includes("\\0")))throw new g(f.InvalidArg,"Invalid measurement text")}}}}if(e.origin!==void 0)for(let t of[e.origin.x,e.origin.y])mn(t);if(e.cyx!==void 0&&(mn(e.cyx),Math.fround(e.cyx)<=0))throw new g(f.InvalidArg,"Invalid CYX")}function mn(e){if(typeof e!="number"||!Number.isFinite(Math.fround(e)))throw new g(f.InvalidArg,"Value is outside PDF float range")}var $E=["linePoints","vertices","measure","intent","contents"],e_=["captionEnabled","captionPosition","captionOffset","captionCenter"],t_=e=>e==="line"||e==="polygon"||e==="polyline",Si=e=>e_.some(t=>e[t]!==void 0);function Td(e,t){try{if(t.measure!=null&&t.measure.subtype==="rectilinear"&&qa(t.measure),e==="line"&&"leader"in t&&t.leader!=null&&(typeof t.leader!="object"||Array.isArray(t.leader)))throw new g(f.InvalidArg,"Invalid line leader");let r=e==="line"?["line-dimension","line-arrow"]:e==="polygon"?["polygon-dimension","polygon-cloud"]:["polyline-dimension"];if(t.intent!=null&&!r.includes(t.intent))throw new g(f.InvalidArg,"Invalid measurement intent");if(t.captionEnabled!=null&&typeof t.captionEnabled!="boolean")throw new g(f.InvalidArg,"Invalid caption visibility");if("captionPosition"in t&&t.captionPosition!=null&&!["inline","top"].includes(t.captionPosition))throw new g(f.InvalidArg,"Invalid caption position");if("captionOffset"in t&&t.captionOffset&&(mn(t.captionOffset.along),mn(t.captionOffset.perpendicular)),"captionCenter"in t&&t.captionCenter&&(mn(t.captionCenter.x),mn(t.captionCenter.y)),"leader"in t&&t.leader){for(let i of[t.leader.length,t.leader.extension??0,t.leader.offset??0])mn(i);if((t.leader.extension??0)<0||(t.leader.offset??0)<0)throw new g(f.InvalidArg,"Leader extension and offset must be nonnegative")}let n="linePoints"in t?t.linePoints?[t.linePoints.start,t.linePoints.end]:[]:"vertices"in t?t.vertices??[]:[];for(let i of n)mn(i.x),mn(i.y)}catch(r){throw new g(f.InvalidArg,r.message)}}function n_(e,t,r){if(e.length!==t.length||e.length<2)return;let n=e[0],i=t[0],a=e.findIndex(F=>Math.hypot(F.x-n.x,F.y-n.y)>1e-6);if(a<0)return;let o={x:e[a].x-n.x,y:e[a].y-n.y},s={x:t[a].x-i.x,y:t[a].y-i.y},A=o.x*o.x+o.y*o.y,d=(o.x*s.x+o.y*s.y)/A,p=(o.x*s.y-o.y*s.x)/A;if(Math.abs(d*d+p*p-1)>1e-5)return;let m=F=>({x:i.x+d*(F.x-n.x)-p*(F.y-n.y),y:i.y+p*(F.x-n.x)+d*(F.y-n.y)});if(e.every((F,k)=>{let P=m(F);return Math.hypot(P.x-t[k].x,P.y-t[k].y)<=.001}))return m(r)}function mb(e){if(!t_(e.subtype))return e;let t=e;if(Td(e.subtype,t),t.measure!=null&&t.measure.subtype!=="rectilinear")throw new g(f.InvalidArg,`A ${t.measure.subtype==="geospatial"?"geospatial":"foreign"} measure can\'t be written; leave measure out`);let r=e;return Si(e)&&(e.subtype==="line"?r={...e,captionEnabled:e.captionEnabled??!1,captionPosition:e.captionPosition??"inline",captionOffset:e.captionOffset??null}:(e.subtype==="polygon"||e.subtype==="polyline")&&(r={...e,captionEnabled:e.captionEnabled??(e.captionCenter!=null?!1:null),captionCenter:e.captionCenter??null})),lb(r)}function r_(e,t){if(e.subtype!=="line"&&e.subtype!=="polygon"&&e.subtype!=="polyline")return t;let r=e.subtype,n={...t,subtype:r};if(Td(r,n),n.measure!=null&&n.measure.subtype!=="rectilinear"){if(e.measure?.subtype!==n.measure.subtype)throw new g(f.InvalidArg,`A ${n.measure.subtype==="geospatial"?"geospatial":"foreign"} measure can\'t be written; leave measure out`);n={...n,measure:void 0}}if(e.subtype==="line"&&n.subtype==="line")Si(n)&&(n={...n,captionEnabled:n.captionEnabled===void 0?e.captionEnabled:n.captionEnabled,captionPosition:n.captionPosition??e.captionPosition,captionOffset:n.captionOffset===void 0?e.captionOffset:n.captionOffset});else if(e.subtype!=="line"&&n.subtype!=="line"){if(n.vertices&&n.captionEnabled!==null&&n.captionCenter===void 0&&e.captionCenter){let i=n_(e.vertices,n.vertices,e.captionCenter);i&&(n={...n,captionCenter:i})}Si(n)&&(n=n.captionEnabled===null?{...n,captionEnabled:null,captionCenter:null}:{...n,captionEnabled:n.captionEnabled??e.captionEnabled??!1,captionCenter:n.captionCenter===void 0?e.captionCenter:n.captionCenter})}if($E.some(i=>n[i]!==void 0)){let i=Jd({...e,...n});Zd(i)&&(n={...n,contents:i.label})}return Td(r,n),n}function $d(e){if(!(e.richText===void 0||e.richText===null)&&!(e.contents===void 0||e.contents===null)&&tr(e.contents,`\n`)!==Cr(e.richText))throw new g(f.InvalidArg,`${e.subtype??"annotation"}: \\`contents\\` must equal the plain projection of \\`richText\\` when both are given`)}function wb(e){return e===void 0||e==="free-text"?!1:Vd[e]?.includes("richText")??!1}function i_(e){if(!wb(e.subtype))return e;let{richText:t}=e;return t?{...e,contents:Cr(t)}:e}function a_(e,t){if(!wb(t.subtype??e.subtype))return t;let{richText:r}=t;if(r)return{...t,contents:Cr(r)};if(r===null||t.contents===void 0||!e.richText)return t;if(t.contents===null)return{...t,richText:null};let n={paragraphs:$s(t.contents)};return{...t,richText:n,contents:Cr(n)}}var Md="#ff0000",Us="#000000",Hd="#ffff00",Ct={invisible:!1,hidden:!1,print:!0,noZoom:!1,noRotate:!1,noView:!1,readOnly:!1,locked:!1,toggleNoView:!1,lockedContents:!1,blendMode:"normal"},Ci={...Ct,color:Md,opacity:1,strokeWidth:1,borderStyle:"solid"},eb={start:"none",end:"none"},Od={...Ct,color:Us,opacity:1},ut={square:Ci,circle:Ci,line:{...Ci,lineEndings:eb,captionEnabled:!1,captionPosition:"inline"},polygon:Ci,polyline:{...Ci,lineEndings:eb},ink:Ci,highlight:{...Ct,blendMode:"multiply",color:Hd,opacity:1},underline:Od,squiggly:Od,strikeout:Od,caret:{...Ct,color:Md,opacity:1},"free-text":{...Ct,contents:"",intent:"free-text",fontFamily:"helvetica",fontSize:12,textAlign:"left",verticalAlign:"top",color:Us,fontColor:Us,opacity:1,strokeWidth:1,borderStyle:"solid"},text:{...Ct,icon:"note",open:!1,color:Hd,opacity:1},"file-attachment":{...Ct,icon:"paperclip",color:Hd,opacity:1},link:Ct,redact:{...Ct,quadPoints:[],color:Md,opacity:1,repeat:!1,fontFamily:"helvetica",fontSize:12,fontColor:Us,textAlign:"left"},stamp:{...Ct,fit:"contain",opacity:1},widget:{...Ct,strokeWidth:1,borderStyle:"solid",textAlign:"left"},popup:{...Ct,print:!1,open:!1}};function za(e){return e==="unsupported"?{}:ut[e]}var sA=[3,3];function AA(e,t){return e==="dashed"&&t===void 0}var bb=e=>Ii(e)?.owners.dashArray!==void 0;function o_(e){if(!bb(e.subtype))return e;let t=e;return AA(t.borderStyle??za(e.subtype).borderStyle,t.dashArray)?{...e,dashArray:[...sA]}:e}function s_(e,t){if(!bb(e.subtype))return t;let r=t;return!AA(r.borderStyle,r.dashArray)||e.dashArray!=null?t:{...t,dashArray:[...sA]}}function A_(e,t,r){let n={x:(e.left+e.right)/2,y:(e.bottom+e.top)/2},i={degrees:r,center:n},a=r?Hi(t,i):t,o=a.x-n.x,s=a.y-n.y,A=Math.abs(o)>=Math.abs(s)?{x:o>=0?e.right:e.left,y:n.y}:{x:n.x,y:s>0?e.top:e.bottom};return r?xr(A,i):A}function fb(e,t,r){let n={...e};if(t.fontFamily!==void 0){let i=Gr(t.fontFamily,r);n.family=i.family,i.weight!==void 0&&(n.weight=i.weight),i.italic!==void 0&&(n.italic=i.italic)}return t.fontSize!==void 0&&(n.size=t.fontSize),t.fontColor!=null&&(n.color=t.fontColor),t.textAlign!==void 0&&(n.align=t.textAlign),n}function gb(e,t){if(t!=null&&e!=="free-text-callout")throw new g(f.InvalidArg,`free-text: a callout line needs intent \'free-text-callout\', not \'${e}\'`,{details:{field:"intent"}})}function c_(e,t,r){let n={};return r.fontSize===void 0&&e.size!==void 0&&e.size!==t.fontSize&&(n.fontSize=e.size),r.fontColor===void 0&&e.color!==void 0&&e.color.toLowerCase()!==t.fontColor?.toLowerCase()&&(n.fontColor=e.color.toLowerCase()),r.textAlign===void 0&&e.align!==void 0&&e.align!==t.textAlign&&(n.textAlign=e.align),n}function d_(e,t,r){if(e.subtype!=="free-text"||t.subtype!=="free-text")return t;let n=t;(n.intent!==void 0||n.calloutLine!==void 0)&&gb(n.intent??e.intent,n.calloutLine!==void 0?n.calloutLine:e.calloutLine);let i=fb({},n,r),a=n.richText!==void 0||n.contents!==void 0;if(!a&&Object.keys(i).length===0)return n;let o={...n.richText?.body?{...Oi,...n.richText.body}:e.richText.body,...i},s={body:o,paragraphs:n.richText?.paragraphs??(n.contents!==void 0?$s(n.contents??""):e.richText.paragraphs)};return{...n,...c_(o,e,n),richText:s,...a?{contents:Cr(s)}:{}}}function u_(e,t){if(e.subtype!=="free-text"||t.subtype!=="free-text")return t;let r=t,n=e.calloutLine;if(!n||r.calloutLine!==void 0||r.box===void 0&&r.rotation===void 0)return r;let i=r.box??e.box,a=(r.rotation===void 0?e.rotation:r.rotation)??0,o=n.length===3?n[1]:void 0,s=A_(i,o??n[0],a);return{...r,calloutLine:o?[n[0],o,s]:[n[0],s]}}function p_(e,t){if(e.subtype!=="free-text")return e;let r=e.intent??(e.calloutLine!=null?"free-text-callout":"free-text");gb(r,e.calloutLine);let n={body:fb(e.richText?.body??{},e,t),paragraphs:e.richText?.paragraphs??$s(e.contents??"")};return{...e,intent:r,richText:n,contents:Cr(n)}}function Fb(e,t){let{rect:r,...n}=t;if(r===void 0||!iA.has(e.subtype))return t;if(!tb(r))throw new g(f.InvalidArg,`${e.subtype} update field \'rect\': not a rect of finite numbers`,{details:{field:"rect"}});if(Te(Ce(r),e.rect))return n;let i=e,a=qd(e.subtype).find(p=>{let m=t[p];return m!==void 0&&!Te(m,i[p])});if(a)throw new g(f.InvalidArg,`${e.subtype} update field \'rect\': a new rect moves the shape, so it can\'t come with a new \'${a}\'`,{details:{field:"rect"}});let{left:o,bottom:s,right:A,top:d}=r;return{...n,...db(e,{left:o,bottom:s,right:A,top:d})}}function vb(e,t){let r=Object.entries(e).filter(([n,i])=>n==="subtype"||!t(n,i));return Object.fromEntries(r)}function l_(e,t){let r=Ii(e.subtype)?.colors??[],n=e;return vb(t,(i,a)=>{let o=n[i];return r.includes(i)&&typeof a=="string"&&typeof o=="string"&&rb(a,o)})}function m_(e,t){let r=e;return vb(t,(n,i)=>i!==void 0&&Te(i,r[n]))}function Pb(e){return new g(f.InvalidArg,`text: the custom state \'${e}\' needs a stateModel`,{details:{field:"stateModel"}})}function w_(e){if(e.subtype!=="text"||e.state==null||e.stateModel!=null)return e;let t=Xd(e.state);if(!t)throw Pb(e.state);return{...e,stateModel:t}}function b_(e,t){if(e.subtype!=="text"||t.subtype!=="text"||t.state==null||t.stateModel!==void 0)return t;let r=Xd(t.state);if(r)return{...t,stateModel:r};if(!e.stateModel)throw Pb(t.state);return t}function eu(e,t){let r=Vd[e],n=Object.keys(t).filter(i=>i!=="subtype"&&!r.includes(i));if(n.length>0)throw new g(f.InvalidArg,`${e} has no field ${n.map(i=>`\'${i}\'`).join(", ")}`)}function f_(e){return e.length<2?e.join(""):`${e.slice(0,-1).join(", ")} or ${e.at(-1)}`}function g_(e,t){if(t===void 0||t===e.subtype)return e.subtype;let r=ab(e.subtype);if(!r.includes(t))throw new g(f.InvalidArg,r.length===0?`${e.subtype} has no other kind it can become`:`${e.subtype} can become ${f_(r)}, not ${t}`,{details:{field:"subtype"}});let n=ob(e,t);if(n!==null){let i=e[n];throw new g(f.InvalidArg,`${e.subtype} field \'${n}\' holds ${typeof i=="string"?`\'${i}\'`:JSON.stringify(i)}, and ${t} has no such field: clear it first, in the same change`,{details:{field:n}})}return t}function F_(e,t){let r=g_(e,t.subtype);if(e.subtype==="unsupported")throw new g(f.InvalidArg,"an annotation of a type the engine doesn\'t model can\'t be updated");if(t.nm!==void 0&&t.nm!==e.nm)throw new g(f.InvalidArg,"an annotation\'s nm can\'t change after create");return eu(r,t),{...t,subtype:r}}function hb(e,t){return m_(e,l_(e,Fb(e,F_(e,t))))}function kb(e,t,r={}){let n=s_(e,b_(e,t));return $d(n),r_(e,u_(e,a_(e,d_(e,n,r.describeFont))))}function v_(e){if(nr[e.subtype]?.box!=="box")return e;let t=e;if(t.box!==void 0)return e;if(t.rect===void 0)throw new g(f.InvalidArg,`${e.subtype} create: give its \\`box\\`, or its \\`rect\\` with a quarter turn`,{details:{field:"box"}});if(!tb(t.rect))throw new g(f.InvalidArg,`${e.subtype} create field \'rect\': not a rect of finite numbers`,{details:{field:"rect"}});let r=t.rotation??0,n=xi(r);if(n===null)throw new g(f.InvalidArg,`${e.subtype} create field \'rect\': a rect places a box at a quarter turn; at ${r}\\xB0 give its \\`box\\``,{details:{field:"rect"}});let{rect:i,...a}=e;return{...a,box:Ir(Ce(t.rect),n)}}function P_(e){if(e.subtype!=="redact"||e.rect!=null)return e;let t=e.quadPoints??[];if(t.length===0)return e;let r=er(t.flatMap(n=>[n.upperLeft,n.upperRight,n.lowerLeft,n.lowerRight]));return{...e,rect:r}}function Db(e){return eu(e.subtype,e),v_(e)}function Bb(e,t={}){return $d(e),mb(P_(i_(p_(o_(w_(e)),t.describeFont))))}var pt=class extends g{constructor(e,t){super(f.InvalidArg,`invalid scope "${e}": ${t}`,{details:{scope:e,reason:t}}),this.scope=e,xe(this,"name","InvalidScope")}},je=class extends g{constructor(e,t,r,n){super(f.Forbidden,`permission denied${t?` (${t})`:""}: ${r?`one of ${r.join(", ")}`:e}${n?` for ${n.length} annotation${n.length===1?"":"s"}`:""}`,{details:{required:e,...t===void 0?{}:{context:t},...r===void 0?{}:{anyOf:[...r]},...n===void 0?{}:{refs:[...n]}}}),this.required=e,this.context=t,this.anyOf=r,this.refs=n,xe(this,"name","PermissionDenied")}};var Mi=class extends g{constructor(e){super(f.Aborted,h_(e)),xe(this,"name","AbortError"),xe(this,"reason",void 0),this.reason=e}};function h_(e){if(e==null)return"aborted";if(typeof e=="string")return e;if(e instanceof Error)return e.message||"aborted";try{return JSON.stringify(e)}catch{return"aborted"}}var Eb;Eb=Symbol.species;var k_=class cA extends Promise{static get[Eb](){return Promise}constructor(t){let r=new AbortController,n=new Set,i={settled:!1},a;super((o,s)=>{a=s,t(m=>{i.settled||(i.settled=!0,o(m))},m=>{i.settled||(i.settled=!0,s(m))},m=>{if(!i.settled)for(let F of n)try{F(m)}catch{}},r.signal)}),xe(this,"signal",void 0),xe(this,"_ctrl",void 0),xe(this,"_progressCbs",void 0),xe(this,"_state",void 0),xe(this,"_internalReject",void 0),this._ctrl=r,this.signal=r.signal,this._progressCbs=n,this._state=i,this._internalReject=a}abort(t){if(this._state.settled||this._ctrl.signal.aborted)return;let r=t instanceof Mi?t:new Mi(t);this._state.settled=!0,this._ctrl.abort(r),this._internalReject(r)}abortWith(t){if(t.aborted)return this.abort(t.reason),this;let r=()=>this.abort(t.reason);t.addEventListener("abort",r,{once:!0});let n=()=>t.removeEventListener("abort",r);return Promise.prototype.then.call(this,n,n),this}onProgress(t){return this._progressCbs.add(t),()=>{this._progressCbs.delete(t)}}static resolveValue(t){return new cA(r=>r(t))}static rejectReason(t){return new cA((r,n)=>n(t))}static run(t){return new cA((r,n,i,a)=>{t(a,i).then(r,n)})}};function uA(e,t){let{includeAnnotations:r,includeFormFields:n}=e??{};if(r===!0&&!t.annotations)throw new je("doc.annotate.read","includeAnnotations");if(n===!0&&!t.formFields)throw new je("doc.forms.read","includeFormFields");return{includeAnnotations:r??t.annotations,includeFormFields:n??(r===!1?!1:t.formFields)}}function iu(e,t){let{usage:r,viewport:n}=e??{};if(r===void 0||r==="display"){if(n?.kind==="dpi"&&Za("viewport",\'a dpi viewport is only for a print picture (usage: "print")\'),n?.kind==="thumbnail"){if(e?.target!==void 0&&e.target.kind!=="page"&&Za("target","a thumbnail is the whole page: it takes no target"),t!==null&&!t.thumbnail)throw new je("doc.render.thumbnail","viewport");return}if(t!==null&&!t.render)throw new je("doc.render","usage");return}r!=="print"&&Za("usage",\'usage must be "display" or "print"\'),(n?.kind!=="dpi"||n.dpi!==150&&n.dpi!==300)&&Za("viewport","a print picture needs viewport: { kind: \'dpi\', dpi: 150 or 300 }");for(let i of["target","rotation","background"])e?.[i]!==void 0&&Za(i,`a print picture takes no ${i}: it is the whole page, upright, on white`);if(t!==null){if(!t.print)throw new je("doc.print","usage");if(n.dpi===300&&!t.printHigh)throw new je("doc.print.high","viewport")}}function Za(e,t){throw new g(f.InvalidArg,t,{details:{field:e}})}var tu=["normal","rollover","down"];function au(e){if(e===void 0)return;if(e.length===0)throw new g(f.InvalidArg,"modes must name at least one mode",{details:{field:"modes"}});let t=tu.filter(r=>e.includes(r));return t.length===tu.length?void 0:t}var _b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nu=61,Hr=Uint8Array.from(_b,e=>e.charCodeAt(0)),D_=(()=>{let e=new Int16Array(128).fill(-1);for(let t=0;t<64;t++)e[_b.charCodeAt(t)]=t;return e})();function yb(e){let t=new Uint8Array(4*Math.ceil(e.length/3)),r=0,n=0;for(;n+2>18],t[r++]=Hr[a>>12&63],t[r++]=Hr[a>>6&63],t[r++]=Hr[a&63]}let i=e.length-n;if(i>0){let a=e[n]<<16|(i===2?e[n+1]<<8:0);t[r++]=Hr[a>>18],t[r++]=Hr[a>>12&63],t[r++]=i===2?Hr[a>>6&63]:nu,t[r++]=nu}return new TextDecoder().decode(t)}function Gb(e){let t=Ib(e);return t%4===1?null:Math.floor(t*3/4)}function Cb(e){let t=Ib(e);if(t%4===1)throw new Error("malformed base64");let r=new Uint8Array(Math.floor(t*3/4)),n=0,i=0,a=0;for(let o=0;o=8&&(a-=8,r[n++]=i>>a&255)}return r}function Ib(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===nu;)t-=1;return t}var Sb=(e,t,r)=>Math.min(Math.max(Math.floor(e),t),r);function B_(e,t){let r=0,n=e.length-1,i=null;for(;r<=n;){let a=r+n>>1;e[a][0]<=t?(i=e[a],r=a+1):n=a-1}return i??[0,0]}function ru(e,t){let r=Sb(t,0,e.charCount),n=e.charMap;if(!n||n.length===0)return Math.min(r,e.text.length);let[i,a]=B_(n,r);return a+(r-i)}function dA(e,t,r){let n=Sb(t,0,e.text.length),i=0,a=e.charCount;if(r==="start"){for(;i>1;ru(e,o)>=n?a=o:i=o+1}return i}function ou(e,t){let r=t.start,n=t.start+t.count;if(n<=r)return{start:dA(e,r,"end"),count:0};let i=dA(e,r,"start");return{start:i,count:dA(e,n,"end")-i}}function xb(e){return e>=64976&&e<=65007||(e&65534)===65534}var E_=/[\\r\\p{Noncharacter_Code_Point}]/u;function su(e){let{text:t,charCount:r}=e;if(!E_.test(t))return e;let n=e.charMap??[],i=[],a=[],o=0,s=0,A=0;for(let p=0;p0?{text:d,charCount:r,charMap:a}:{text:d,charCount:r}}function __(e,t){return e==="\\r"?t===`\n`?"":`\n`:e!==""&&xb(e.codePointAt(0))?"":e}function Au(e,t,r){if(!r||r.length===0)return e===t?null:`identity map requires charCount (${e}) === text length (${t})`;let n=0,i=0;for(let o=0;oe)return`anchor ${o} char ${s} outside [1, ${e}]`;let d=A-(i+(s-n-1));if(d!==0&&d!==2)return`anchor ${o} implies a character contributing ${d} text units (expected 0 or 2)`;n=s,i=A}let a=i+(e-n);return a!==t?`map projects charCount to ${a}, but text length is ${t}`:null}function Rr(e){return e==="start"||e==="end"?null:"before"in e?e.before:e.after}function $a(e,t,r){if(t==="start")return 0;if(t==="end")return e.length;let n=Rr(t),i=e.findIndex(a=>r(a)===r(n));if(i<0)throw new g(f.NotFound,`no neighbour ${r(n)} in the list`,{details:{field:"position"}});return"before"in t?i:i+1}function mA(e,t,r,n){let i=new Set(t.map(n));if(i.size!==t.length)throw new g(f.InvalidArg,"a row is named twice",{details:{field:"refs"}});let a=new Set(e.map(n)),o=t.find(p=>!a.has(n(p)));if(o!==void 0)throw new g(f.NotFound,`no row ${n(o)} in the list`,{details:{field:"refs"}});let s=Rr(r);if(s!==null&&i.has(n(s)))throw new g(f.InvalidArg,`the neighbour ${n(s)} is one of the rows that move`,{details:{field:"position"}});let A=e.filter(p=>!i.has(n(p))),d=$a(A,r,n);return[...A.slice(0,d),...t,...A.slice(d)]}var cu={long:842,short:612};function Kb(e,t){let r=Math.max(e.width,e.height),n=Math.min(e.width,e.height),i=Math.min(1,cu.long/r,cu.short/n);return t/72*i}function du(e,t,r){let n=t===90||t===270,i=n?e.height:e.width,a=n?e.width:e.height;if(r.kind==="width"){if(!Number.isFinite(r.width)||r.width<=0)throw new g(f.InvalidArg,"render viewport width must be positive");let s=Math.max(1,Math.round(r.width));return{width:s,height:Math.max(1,Math.round(s*a/i))}}let o=r.kind==="dpi"?Kb(e,r.dpi):r.kind==="thumbnail"?512/Math.max(e.width,e.height):r.scale??1;if(!Number.isFinite(o)||o<=0)throw new g(f.InvalidArg,"render viewport scale must be positive");return{width:Math.max(1,Math.round(i*o)),height:Math.max(1,Math.round(a*o))}}function uu(e,t,r,n){let{x:i,y:a}=e,o=e.width,s=e.height;switch(t){case 0:return[r/o,0,0,n/s,-r/o*i,-n/s*a];case 90:return[0,n/o,-r/s,0,r/s*(a+s),-n/o*i];case 180:return[-r/o,0,0,-n/s,r/o*(i+o),n/s*(a+s)];case 270:return[0,-n/o,r/s,0,-r/s*a,n/o*(i+o)]}}function It(e,t){return{x:e.x-t.left,y:t.top-e.y}}function St(e,t){return{x:e.x+t.left,y:t.top-e.y}}function Je(e,t){return{x:e.left-t.left,y:t.top-e.top,width:e.right-e.left,height:e.top-e.bottom}}function Li(e,t){let r=e.x+t.left,n=t.top-e.y;return{left:r,right:r+e.width,bottom:n-e.height,top:n}}function Ja(e,t){return{upperLeft:It(e.upperLeft,t),upperRight:It(e.upperRight,t),lowerLeft:It(e.lowerLeft,t),lowerRight:It(e.lowerRight,t)}}function Vb(e,t){return{upperLeft:St(e.upperLeft,t),upperRight:St(e.upperRight,t),lowerLeft:St(e.lowerLeft,t),lowerRight:St(e.lowerRight,t)}}function pu(e){return"rotation"in e}function ht(e){return{kind:"objectNumber",objectNumber:e}}function eo(e){if(e.byteLength<4)return null;let t=new Uint8Array(e);return t[0]===137&&t[1]===80&&t[2]===78&&t[3]===71?C_(e):t[0]===255&&t[1]===216&&t[2]===255?I_(e):t[0]===37&&t[1]===80&&t[2]===68&&t[3]===70?{mimeType:"application/pdf"}:null}function C_(e){if(e.byteLength<24)return null;let t=new DataView(e),r=t.getUint32(16),n=t.getUint32(20);return r===0||n===0?null:{mimeType:"image/png",width:r,height:n}}function I_(e){let t=new Uint8Array(e),r=2;for(;r+4=192&&n<=195){if(r+9>t.byteLength)return null;let i=new DataView(e,r+5),a=i.getUint16(0),o=i.getUint16(2);return o===0||a===0?null:{mimeType:"image/jpeg",width:o,height:a}}if(n===216||n===217)r+=2;else if(n===255)r+=1;else{let i=t[r+2]<<8|t[r+3];r+=2+i}}return null}var lu=["appearance","file"];function wA(e,t,r){let n=Ri[e]??{};for(let i of lu){let a=t?.[i]!==void 0;if(a&&n[i]===void 0)throw new g(f.InvalidArg,`a ${e} annotation takes no \'${i}\' resource`);if(!a&&r==="create"&&n[i]==="required")throw new g(f.InvalidArg,`creating a ${e} annotation needs its \'${i}\' resource`)}}var bn=Object.freeze({bundleBytes:50*1024*1024,manifestBytes:16*1024*1024,items:1e4,pages:2e3,resources:2e3,resourceBytes:50*1024*1024,imagePixels:4e7});function Tr(e){return new TextEncoder().encode(JSON.stringify(e)).length}function Ie(e,t,r,n){let i=t[r];if(!(n<=i))throw new g(f.PayloadTooLarge,`the ${e} bundle is past its ${r} limit: ${n} > ${i}`,{details:{limit:r,max:i,value:n}})}var S_=81,x_=256,H_={annotation:"an annotation bundle",form:"a form bundle"};function bA(e){let t=r=>new g(f.InvalidArg,`the file is not ${H_[e.kind]}`,r===void 0?void 0:{cause:r});return{stringify(r,n){let i=n?.limits??bn,a=new Map;for(let[A,d]of Object.entries(r.resources))a.set(A,d.length);e.assertManifest(r,a,i);let o={};for(let A of e.keys)o[A]=r[A];let s={};for(let[A,d]of Object.entries(r.resources))s[A]=yb(d);return o.resources=s,JSON.stringify(o)},async parse(r,n){let i=n?.limits??bn,a=Math.ceil(i.bundleBytes*4/3)+i.resources*S_+x_;if(r.length>a)throw new g(f.PayloadTooLarge,`the file is ${r.length} characters, more than a bundle within ${i.bundleBytes} bytes can be`,{details:{limit:"bundleBytes",max:i.bundleBytes,fileLength:r.length}});let o;try{o=JSON.parse(r)}catch(m){throw t(m)}let s=typeof o=="object"&&o!==null?o.resources:null;if(typeof s!="object"||s===null||Array.isArray(s))throw t();let A=new Map;for(let[m,F]of Object.entries(s)){let k=typeof F=="string"?Gb(F):null;if(k===null)throw new g(f.InvalidArg,`resource ${m} is not base64`);A.set(m,k)}e.assertManifest(o,A,i);let d={};for(let[m,F]of Object.entries(s))try{d[m]=Cb(F)}catch(k){throw new g(f.InvalidArg,`resource ${m} is not base64`,{cause:k})}await Yd(e.kind,d);let p={};for(let m of e.keys)p[m]=o[m];return p.resources=d,p}}}var Yb=["format","version","pages","items"],O_=[...Yb,"resources"],Q_=["data","resources"];function fA(e,t,r){Ve(e)||De("annotation","not an annotation bundle"),rr("annotation","the bundle",e,O_),e.format!=="embedpdf/annotations"&&De("annotation",`unknown format ${JSON.stringify(e.format)}`),e.version!==1&&De("annotation",`unknown version ${JSON.stringify(e.version)}`);let{pages:n,items:i}=e;Array.isArray(n)||De("annotation","pages is not a list"),Array.isArray(i)||De("annotation","items is not a list"),Ie("annotation",r,"items",i.length),Ie("annotation",r,"pages",n.length),Ie("annotation",r,"resources",t.size);let a=Tr({pages:n,items:i});Ie("annotation",r,"manifestBytes",a);for(let A of t.values())Ie("annotation",r,"resourceBytes",A),a+=A;Ie("annotation",r,"bundleBytes",a);let o=eA("annotation",n),s=new Set;i.forEach((A,d)=>{(!Ve(A)||!Ve(A.data)||typeof A.data.subtype!="string")&&De("annotation",`item ${d} has no annotation data`),rr("annotation",`item ${d}`,A,Q_);let p=A.data.ref,m=Ve(p)?p.page:void 0;(!Ua(m)||!o.has(fe(m)))&&De("annotation",`item ${d} is on a page the bundle doesn\'t list`),tA("annotation",`item ${d}`,A.resources,lu,t,s)}),nA("annotation","item",t,s)}var R_=bA({kind:"annotation",keys:Yb,assertManifest:fA}),T_={decodedBytes:256*1024*1024};function gA(e){return{kind:"key",key:e}}var M_=new Set(["square","circle","free-text","stamp","caret"]);function mu(e){let{subtype:t,rect:r,box:n,rotation:i,intent:a}=e;return!M_.has(t)||!n||!i||t==="free-text"&&a==="free-text-callout"?null:Sr(wn(n,i),r)?i:null}var Xb=(e,t)=>typeof t=="function"?t(e):t,lA=(e,t)=>e===null?null:t(e);function Rn(e,t){let{left:r,top:n}=Xb(e.page,t),i=o=>lA(o,s=>s-r),a=o=>lA(o,s=>n-s);switch(e.kind){case"xyz":{let{left:o,top:s,...A}=e;return{...A,x:i(o),y:a(s)}}case"fitH":case"fitBH":{let{top:o,...s}=e;return{...s,y:a(o)}}case"fitV":case"fitBV":{let{left:o,...s}=e;return{...s,x:i(o)}}case"fitR":{let{left:o,bottom:s,right:A,top:d,...p}=e,m=Math.min(s,d),F=Math.max(s,d);return{...p,x:Math.min(o,A)-r,y:n-F,width:Math.abs(A-o),height:F-m}}case"fit":case"fitB":return e}}function Or(e,t){let{left:r,top:n}=Xb(e.page,t),i=o=>lA(o,s=>s+r),a=o=>lA(o,s=>n-s);switch(e.kind){case"xyz":{let{x:o,y:s,...A}=e;return{...A,left:i(o),top:a(s)}}case"fitH":case"fitBH":{let{y:o,...s}=e;return{...s,top:a(o)}}case"fitV":case"fitBV":{let{x:o,...s}=e;return{...s,left:i(o)}}case"fitR":{let{x:o,y:s,width:A,height:d,...p}=e,m=n-s;return{...p,left:o+r,bottom:m-d,right:o+r+A,top:m}}case"fit":case"fitB":return e}}function to(e,t){return e.kind==="goto"?{...e,destination:t(e.destination)}:e}function wu(e,t){let r=e.next.map(n=>wu(n,t));return e.type==="goto"?{...e,next:r,destination:t(e.destination)}:{...e,next:r}}function Qr(e,t){return{...e,root:e.root?wu(e.root,t):null}}function Wb(e,t){let r=e.next?.map(i=>Wb(i,t)),n=e.type==="goto"?{...e,destination:t(e.destination)}:e;return r?{...n,next:r}:n}function FA(e,t){return Object.fromEntries(Object.entries(e).map(([r,n])=>n==null?[r,n]:[r,"root"in n?Qr(n,t):Wb(n,t)]))}function bu(e,t){return Object.fromEntries(Object.entries(e).map(([r,n])=>[r,n&&Qr(n,t)]))}function fu(e,t){return bu(e,t)}function gu(e,t){return bu(e,t)}function Fu(e,t){let{nameTreeScripts:r,openAction:n,openDestination:i,...a}=e;return{...bu(a,t),nameTreeScripts:r.map(o=>({...o,action:Qr(o.action,t)})),openAction:n?Qr(n,t):null,..."openDestination"in e?{openDestination:i&&t(i)}:{}}}var Ub=(e,t)=>e.subtype==="rectilinear"&&e.origin?{...e,origin:t(e.origin)}:e;function vu(e,t){return Ub(e,r=>It(r,t))}function vA(e,t){return Ub(e,r=>St(r,t))}function Pu(e,t){return e.map(r=>({...r,bbox:Je(r.bbox,t),measure:r.measure?vu(r.measure,t):null}))}var L_={length:e=>e,point:(e,{visible:t})=>It(e,t),points:(e,{visible:t})=>e.map(r=>It(r,t)),strokes:(e,{visible:t})=>e.map(r=>r.map(n=>It(n,t))),box:(e,{visible:t})=>Je(e,t),quads:(e,{visible:t})=>e.map(r=>Ja(r,t)),linePoints:(e,{visible:t})=>({start:It(e.start,t),end:It(e.end,t)}),calloutLine:(e,{visible:t})=>e.map(r=>It(r,t)),measure:(e,{visible:t})=>vu(e,t),linkTarget:(e,{boxOf:t})=>to(e,r=>Rn(r,t)),actions:(e,{boxOf:t})=>FA(e,r=>Rn(r,t))},hu={length:e=>e,point:(e,{visible:t})=>St(e,t),points:(e,{visible:t})=>e.map(r=>St(r,t)),strokes:(e,{visible:t})=>e.map(r=>r.map(n=>St(n,t))),box:(e,{visible:t})=>Li(e,t),quads:(e,{visible:t})=>e.map(r=>Vb(r,t)),linePoints:(e,{visible:t})=>({start:St(e.start,t),end:St(e.end,t)}),calloutLine:(e,{visible:t})=>e.map(r=>St(r,t)),measure:(e,{visible:t})=>vA(e,t),linkTarget:(e,{boxOf:t})=>to(e,r=>Or(r,t)),actions:(e,{boxOf:t})=>FA(e,r=>Or(r,t))},N_=e=>e===void 0?ib:nr[e]??nr.unsupported;function ku(e,t,r,n){let i=N_(e);return Object.fromEntries(Object.entries(t).map(([a,o])=>{let s=i[a];if(!s||o==null)return[a,o];let A=n[s](o,r);if(n===hu&&qb(A))throw j_(a,s);return[a,A]}))}function qb(e){return typeof e=="number"?Number.isNaN(e):typeof e!="object"||e===null?!1:Object.values(e).some(qb)}function j_(e,t){let r=t==="box"?"{ x, y, width, height }":"points as { x, y }";return new g(f.InvalidArg,`field \'${e}\': expected page space, ${r} from the page\'s top-left`,{details:{field:e}})}function Mr(e,t,r){return ku(e.subtype,e,{visible:t,boxOf:r},L_)}function no(e,t,r){return ku(e.subtype,e,{visible:t,boxOf:r},hu)}function Lr(e,t,r){return ku(e.subtype,e,{visible:t,boxOf:r},hu)}var Hb=e=>!!(e.space||e.empty),Ni=e=>!!e.empty,K_=2.5,V_=1.5,Y_=.8,X_=.5,W_=Math.cos(.0087),zb=1e-6;function Du(e){let t=z_(e),r=t.glyphs.length,n=a=>typeof a!="number"?Tb(t,a):Number.isInteger(a)&&a>=0&&a({start:a,count:o-a+1});return{charCount:r,runs:e.runs,charAt:a=>Tb(t,a),wordAt:a=>{let o=n(a);return o===null?null:i($_(t,o))},lineAt:a=>{let o=n(a);return o===null?null:i(ey(t,o))},segments:a=>ny(t,a.start,a.count),charQuad:a=>ty(t,a)}}var U_={baseline:{x:1,y:0},ascent:{x:0,y:1}},Zb=(e,t)=>({x:t.x*e.baseline.x+t.y*e.baseline.y,y:t.x*e.ascent.x+t.y*e.ascent.y}),pA=(e,t)=>({x:e.baseline.x*t.x+e.ascent.x*t.y,y:e.baseline.y*t.x+e.ascent.y*t.y}),Ob={left:0,bottom:0,right:0,top:0};function Qb(e,t){let r=[t.upperLeft,t.upperRight,t.lowerLeft,t.lowerRight].map(a=>Zb(e,a)),n=r.map(a=>a.x),i=r.map(a=>a.y);return{left:Math.min(...n),bottom:Math.min(...i),right:Math.max(...n),top:Math.max(...i)}}function q_(e,t){let r=t.glyphs.find(F=>!Ni(F));if(!r)return 0;let n=r.loose,i=n.upperRight.x-n.upperLeft.x,a=n.upperRight.y-n.upperLeft.y,o=Math.hypot(i,a);if(o<=zb)return 0;let s={x:i/o,y:a/o},A=n.upperLeft.x-n.lowerLeft.x,d=n.upperLeft.y-n.lowerLeft.y,p=s.x*d-s.y*A>=0?1:-1,m={x:-s.y*p,y:s.x*p};for(let F=0;F0;if(P>=W_&&B)return F}return e.push({baseline:s,ascent:m}),e.length-1}function z_(e){let t=[],r=[],n=[U_];for(let i of e.runs){if(!pu(i)){for(let A of i.glyphs)t.push({loose:A.loose,tight:A.tight,space:A.space,empty:A.empty});r.push({start:i.start,count:i.glyphs.length,rect:i.rect,fontSize:i.fontSize,frame:0});continue}let a=q_(n,i),o=n[a],s=null;for(let A of i.glyphs){if(Ni(A)){t.push({loose:Ob,space:A.space,empty:!0});continue}let d=Qb(o,A.loose),p=A.tight?Qb(o,A.tight):void 0;t.push({loose:d,tight:p,space:A.space}),s=s?{left:Math.min(s.left,d.left),bottom:Math.min(s.bottom,d.bottom),right:Math.max(s.right,d.right),top:Math.max(s.top,d.top)}:d}r.push({start:i.start,count:i.glyphs.length,rect:s??Ob,fontSize:i.fontSize,frame:a})}return{glyphs:t,runs:r,frames:n}}var Rb=(e,t)=>t.x>=e.left&&t.x<=e.right&&t.y>=e.bottom&&t.y<=e.top;function Z_(e){let t=0,r=0;for(let n of e.glyphs)Ni(n)||(t+=n.loose.top-n.loose.bottom,r++);return r===0?0:t/r}function J_(e,t){return e.frames.map((r,n)=>n===0?t:Zb(r,t))}function Tb(e,t,r=1.5){let n=J_(e,t);for(let s of e.runs){let A=n[s.frame];if(Rb(s.rect,A))for(let d=0;dd.right+i||A.yd.top+i))for(let p=0;pF.right+i||A.yF.top+i)continue;let k=Math.min(Math.abs(A.x-F.left),Math.abs(A.x-F.right)),P=Math.min(Math.abs(A.y-F.bottom),Math.abs(A.y-F.top));k+P=0?a:null}function $_(e,t){let r=e.glyphs.length;if(t<0||t>=r)return[t,t];let n=t;for(;n>0&&!Hb(e.glyphs[n-1]);)n--;let i=t;for(;it>=A.start&&t=0;A--){let d=e.runs[A];if(!Mb(d.rect)){if(d.frame!==n.frame||!Lb(d.rect.bottom,d.rect.top,i,a))break;o=d.start}}for(let A=r+1;At>=o.start&&ti)continue;let A=Math.max(n,o.start),d=Math.min(i,s),p=1/0,m=-1/0,F=1/0,k=-1/0,P=0,B=0,y=-1/0,x=0,I=0,S=()=>{P>0&&p!==1/0&&a.push({rect:{left:p,bottom:F,right:m,top:k},charCount:P,fontSize:o.fontSize,frame:o.frame,firstX:x,lastX:I}),p=1/0,m=-1/0,F=1/0,k=-1/0,P=0,B=0,y=-1/0};for(let G=A;G<=d;G++){let T=e.glyphs[G];if(Ni(T))continue;let W=T.loose;if(P>0&&y>-1/0){let be=B/P;be>0&&Math.abs(W.left-y)>K_*be&&S()}let Pe=(W.left+W.right)/2;P===0&&(x=Pe),I=Pe,p=Math.min(p,W.left),m=Math.max(m,W.right),F=Math.min(F,W.bottom),k=Math.max(k,W.top),P++,B+=W.right-W.left,y=W.right}S()}return ry(a).map(o=>iy(e,o))}function ry(e){let t=[],r=null,n=null;for(let i of e)r&&n&&r.frame===i.frame&&ay(r,i)?n={rect:{left:Math.min(n.rect.left,i.rect.left),bottom:Math.min(n.rect.bottom,i.rect.bottom),right:Math.max(n.rect.right,i.rect.right),top:Math.max(n.rect.top,i.rect.top)},frame:n.frame,firstX:n.firstX,lastX:i.lastX}:(n&&t.push(n),n={rect:i.rect,frame:i.frame,firstX:i.firstX,lastX:i.lastX}),r=i;return n&&n.rect.right>n.rect.left&&n.rect.top>n.rect.bottom&&t.push(n),t}function Jb(e,t,r){return t===0?{upperLeft:{x:r.left,y:r.top},upperRight:{x:r.right,y:r.top},lowerLeft:{x:r.left,y:r.bottom},lowerRight:{x:r.right,y:r.bottom}}:{upperLeft:pA(e,{x:r.left,y:r.top}),upperRight:pA(e,{x:r.right,y:r.top}),lowerLeft:pA(e,{x:r.left,y:r.bottom}),lowerRight:pA(e,{x:r.right,y:r.bottom})}}function iy(e,t){let r=e.frames[t.frame],n=Jb(r,t.frame,t.rect);return{quad:n,rect:t.frame===0?t.rect:{left:Math.min(n.upperLeft.x,n.upperRight.x,n.lowerLeft.x,n.lowerRight.x),bottom:Math.min(n.upperLeft.y,n.upperRight.y,n.lowerLeft.y,n.lowerRight.y),right:Math.max(n.upperLeft.x,n.upperRight.x,n.lowerLeft.x,n.lowerRight.x),top:Math.max(n.upperLeft.y,n.upperRight.y,n.lowerLeft.y,n.lowerRight.y)},advance:t.lastX>=t.firstX?1:-1}}function ay(e,t){if(e.fontSize!=null&&t.fontSize!=null&&e.fontSize>0&&t.fontSize>0&&Math.max(e.fontSize,t.fontSize)/Math.min(e.fontSize,t.fontSize)>V_||oy(e.rect,t.rect)o}function oy(e,t){let r=e.top-e.bottom,n=t.top-t.bottom;if(r<=0||n<=0)return 0;let i=Math.max(e.top,t.top)-Math.min(e.bottom,t.bottom);return i===r||i===n?1:Math.max(0,Math.min(e.top,t.top)-Math.max(e.bottom,t.bottom))/i}var Mb=e=>e.right===e.left&&e.top===e.bottom;function Lb(e,t,r,n){let i=Math.max(t,n)-Math.min(e,r);return i===0?!1:Math.max(0,Math.min(t,n)-Math.max(e,r))/i>=X_}var Nb={x:0,y:0,width:0,height:0};var sy={upperLeft:{x:0,y:0},upperRight:{x:0,y:0},lowerLeft:{x:0,y:0},lowerRight:{x:0,y:0}},Ay=e=>e.glyphs.some(t=>!t.empty);function Bu(e,t){return{...e,runs:e.runs.map(r=>{let n=Ay(r)?Je(r.rect,t):Nb;return pu(r)?{...r,rect:n,glyphs:r.glyphs.map(({loose:i,tight:a,...o})=>({...o,loose:o.empty?sy:Ja(i,t),...a?{tight:Ja(a,t)}:{}}))}:{...r,rect:n,glyphs:r.glyphs.map(({loose:i,tight:a,...o})=>({...o,loose:o.empty?Nb:Je(i,t),...a?{tight:Je(a,t)}:{}}))}})}}function $b(e,t){return{...e,quad:Ja(e.quad,t),rect:Je(e.rect,t)}}function Eu(e,t){return{...e,matches:e.matches.map(r=>{let n=t(r.page);return{...r,segments:r.segments.map(i=>$b(i,n))}})}}var jb=/\\s/,cy=/\\p{M}/gu,dy=/^(?![\\t\\n\\v\\f\\r])[\\p{Cf}\\p{Cc}\\p{Noncharacter_Code_Point}]$/u;function ir(e,t={}){let r=[],n=[],i=!1,a=0;for(let o of e){if(dy.test(o)){a+=o.length;continue}let s;jb.test(o)?s=" ":(s=o.normalize("NFKD"),t.keepMarks||(s=s.replace(cy,"")),t.keepCase||(s=s.toUpperCase().toLowerCase()));for(let A=0;A=55296&&r<=56319&&t+1=56320&&n<=57343)return 2}return 1}function PA(e,t,r){let n=e.map[t],i=e.map[t+r-1];return{start:n,count:i+uy(e.original,i)-n}}var py={pt:.0254/72,mm:.001,cm:.01,m:1,km:1e3,in:.0254,ft:.3048,yd:.9144,mi:1609.344};var DA=8388607,_u=8e6;var ef=["format","version","pages","fields","widgets","calculationOrder"],ly=[],my=[...ef,"resources"],wy=["data"],by=["data","resources"];function ro(e,t,r){Ve(e)||De("form","not a form bundle"),rr("form","the bundle",e,my),e.format!=="embedpdf/form"&&De("form",`unknown format ${JSON.stringify(e.format)}`),e.version!==1&&De("form",`unknown version ${JSON.stringify(e.version)}`);let{pages:n,fields:i,widgets:a,calculationOrder:o}=e;Array.isArray(n)||De("form","pages is not a list"),Array.isArray(i)||De("form","fields is not a list"),Array.isArray(a)||De("form","widgets is not a list"),Array.isArray(o)||De("form","calculationOrder is not a list"),Ie("form",r,"items",i.length+a.length),Ie("form",r,"pages",n.length),Ie("form",r,"resources",t.size);let s=Tr({pages:n,fields:i,widgets:a,calculationOrder:o});Ie("form",r,"manifestBytes",s);for(let p of t.values())Ie("form",r,"resourceBytes",p),s+=p;Ie("form",r,"bundleBytes",s);let A=eA("form",n);i.forEach((p,m)=>{(!Ve(p)||!Ve(p.data)||typeof p.data.kind!="string"||typeof p.data.name!="string"||!Ve(p.data.ref))&&De("form",`field ${m} has no field data`),rr("form",`field ${m}`,p,wy)});let d=new Set;a.forEach((p,m)=>{(!Ve(p)||!Ve(p.data)||p.data.subtype!=="widget")&&De("form",`widget ${m} has no widget data`),rr("form",`widget ${m}`,p,by);let F=p.data.ref,k=Ve(F)?F.page:void 0;(!Ua(k)||!A.has(fe(k)))&&De("form",`widget ${m} is on a page the bundle doesn\'t list`),tA("form",`widget ${m}`,p.resources,ly,t,d)}),o.forEach((p,m)=>{Ve(p)||De("form",`calculation order entry ${m} is not a field ref`)}),nA("form","widget",t,d)}var fy=bA({kind:"form",keys:ef,assertManifest:ro});function BA(e){return{keepCase:!!e.matchCase,keepMarks:!!e.matchDiacritics,dropWhitespace:!!e.ignoreWhitespace}}var tf=/[\\p{L}\\p{N}_]/u,gy=/\\p{M}/u;function hA(e,t){if(t<=0)return!1;let r=e.charCodeAt(t-1),n=r>=56320&&r<=57343&&t>=2?t-2:t-1;return tf.test(String.fromCodePoint(e.codePointAt(n)))}function kA(e,t){return t>=e.length?!1:tf.test(String.fromCodePoint(e.codePointAt(t)))}function Fy(e,t,r,n){if(!n.ignoreWhitespace)return!hA(e.folded,t)&&!kA(e.folded,t+r);let{start:i,count:a}=PA(e,t,r);return!hA(e.original,i)&&!kA(e.original,i+a)}function EA(e,t){let r=ir(t.text,BA(t)).folded;if(r.trim().length===0)return[];let n=[],i=0;for(;i<=e.folded.length-r.length;){let a=e.folded.indexOf(r,i);if(a<0)break;if(t.wholeWord&&!Fy(e,a,r.length,t)){i=a+1;continue}if(t.matchDiacritics&&a+r.length512)return{ok:!1,issue:"too-long",message:"Pattern exceeds 512 characters."};let t=!1;for(let r=0;r="1"&&i<="9")return{ok:!1,issue:"backreference",message:`Backreference \\\\${i} is not supported.`};if(!t&&i==="k"&&e[r+2]==="<")return{ok:!1,issue:"backreference",message:"Named backreferences (\\\\k<\\u2026>) are not supported."};r++;continue}if(t){n==="]"&&(t=!1);continue}if(n==="["){t=!0;continue}if(n==="("&&e[r+1]==="?"){let i=e[r+2]??"";if(i==="="||i==="!")return{ok:!1,issue:"lookaround",message:"Lookahead ((?=\\u2026), (?!\\u2026)) is not supported."};if(i==="<"&&(e[r+3]==="="||e[r+3]==="!"))return{ok:!1,issue:"lookaround",message:"Lookbehind ((?<=\\u2026), (?=55296&&o<=56319?2:1;continue}t.wholeWord&&(hA(e,a.index)||kA(e,a.index+a[0].length))||i.push({start:a.index,count:a[0].length})}return i}var Vi={items:5e4,depth:128};function Cu(e,t){let r;for(let i of e){if(i.firstPage>t)break;r=i}if(!r)return null;let n=r.prefix+Py(r.style,r.firstNumber+t-r.firstPage);return n===""?null:n}function GA(e,t,r){if(e.length===0||r.length===0)return e;let n=new Set(r),i=[0];for(let s=0;si[Math.min(Math.max(s,0),t)],o=[];return e.forEach((s,A)=>{let d=e[A+1]?.firstPage??t;if(a(d)===a(s.firstPage))return;let p=a(s.firstPage);o.push(p===s.firstPage?s:{...s,firstPage:p})}),so(o,e)?e:o}function oo(e,t,r){if(r<=0)return e;let n=!1,i=e.map(a=>a.firstPage===0||a.firstPage{let i=t[n];return r.firstPage===i.firstPage&&r.style===i.style&&r.firstNumber===i.firstNumber&&r.prefix===i.prefix})}var vy=[[1e3,"m"],[900,"cm"],[500,"d"],[400,"cd"],[100,"c"],[90,"xc"],[50,"l"],[40,"xl"],[10,"x"],[9,"ix"],[5,"v"],[4,"iv"],[1,"i"]];function Py(e,t){switch(e){case null:return"";case"decimal":return String(t);case"upperRoman":return rf(t).toUpperCase();case"lowerRoman":return rf(t);case"upperLetters":return af(t).toUpperCase();case"lowerLetters":return af(t)}}function rf(e){let t=e%1e6,r="";for(let[n,i]of vy)for(;t>=n;)r+=i,t-=n;return r}function af(e){if(e<=0)return"";let t=e-1;return String.fromCharCode(97+t%26).repeat((Math.floor(t/26)+1)%1e3)}var hy={text:"{ value }",checkbox:"{ checked } or { value }",radio:"{ value }",combobox:"{ value }",listbox:"{ selectedValues }"};function Ao(e,t){switch(e.kind){case"text":if("value"in t)return{kind:"text",value:t.value??""};break;case"checkbox":if("checked"in t){if(!t.checked)return{kind:"toggle",state:null};let r=e.widgets[0];if(!r)throw ar(`\'${e.name}\' has no widget to check`);return{kind:"toggle",state:r.onState}}if("value"in t)return{kind:"toggle",state:of(e,t.value)};break;case"radio":if("value"in t){let r=of(e,t.value);if(r===null&&e.noToggleToOff)throw ar(`\'${e.name}\' must keep a choice: it can\'t be cleared`);return{kind:"toggle",state:r}}break;case"combobox":if("value"in t)return sf(e,t.value===null?[]:[t.value]);break;case"listbox":if("selectedValues"in t)return sf(e,t.selectedValues);break;default:throw ar(`${e.kind} fields hold no value you can set`)}throw ar(`a ${e.kind} field takes ${hy[e.kind]}, not ${ky(t)}`)}function Su(e,t){let r=o=>new g(f.InvalidArg,o,{details:{field:"defaultValue"}});if(new Set(t).size!==t.length)throw r("the default values must not repeat");if(t.length>1&&!(e.kind==="listbox"&&e.multiSelect))throw r(`a ${e.kind==="listbox"?"list without multiSelect":"dropdown"} has one default`);let n=e.kind==="combobox"&&e.edit===!0,i=new Set(e.options.map(o=>o.value)),a=t.find(o=>!i.has(o));if(a!==void 0&&!n)throw r(`\'${a}\' is not an option value of the ${e.kind==="listbox"?"list":"dropdown"}`)}function xu(e,t){switch(t.kind){case"text":return e.kind==="text"&&e.value===t.value;case"toggle":return(e.kind==="checkbox"||e.kind==="radio")&&e.widgets.every(r=>r.checked===(r.onState===t.state));case"choice":return e.kind==="combobox"?t.values.length===0?e.value==="":e.value===t.values[0]:e.kind==="listbox"&&e.selectedValues.length===t.values.length&&e.selectedValues.every((r,n)=>r===t.values[n])}}function Hu(e){if(e.valueEntry.kind==="unsupported"||!Yi(e.valueEntry,e.defaultValueEntry))return!1;if(e.kind!=="checkbox"&&e.kind!=="radio")return!0;let t=e.defaultValueEntry,r=t.kind==="scalar"?t.value:null;return e.widgets.every(n=>n.checked===(n.onState===r))}function Yi(e,t){return e.kind!==t.kind?!1:e.kind==="scalar"&&t.kind==="scalar"?e.value===t.value:e.kind==="array"&&t.kind==="array"?e.values.length===t.values.length&&e.values.every((r,n)=>r===t.values[n]):!0}function of(e,t){if(t===null||t==="Off")return null;let r=e.widgets.find(n=>n.exportValue===t);if(!r)throw ar(`no widget of \'${e.name}\' has the export value \'${t}\'`);return r.onState}function sf(e,t){if(new Set(t).size!==t.length)throw ar("the values must not repeat");if(e.kind==="listbox"&&!e.multiSelect&&t.length>1)throw ar(`\'${e.name}\' takes one value (it has no multiSelect)`);let r=new Set(e.options.map(a=>a.value)),n=e.kind==="combobox"&&e.edit&&t.length===1,i=t.find(a=>!r.has(a));if(!n&&i!==void 0)throw ar(`\'${i}\' is not an option value of \'${e.name}\'`);return{kind:"choice",values:t}}function ky(e){return"checked"in e?"{ checked }":"selectedValues"in e?"{ selectedValues }":"{ value }"}function ar(e){return new g(f.InvalidArg,e,{details:{field:"value"}})}function co(e,t){let r=e==="checkbox"||e==="radio";return Af(e,Af(e,t,"caption",e==="pushbutton","a push button\'s"),"checkStyle",r,"a checkbox\'s or radio button\'s")}function Af(e,t,r,n,i){if(n||t[r]===void 0)return t;if(t[r]!==null){let s=e==="unknown"?"this widget":`a ${e} field\'s widget`;throw new g(f.InvalidArg,`\'${r}\' applies to ${i} widgets, not to ${s}`,{details:{field:r}})}let{[r]:a,...o}=t;return o}function Ou(e,t){let{field:r}=e,n=Ao(r,t);switch(n.kind){case"text":{if(r.kind!=="text")return e;let i=By(n.value,r.maxLength);return i===r.value?e:io({...r,value:i,valueEntry:{kind:"scalar",value:i}},e)}case"toggle":{if(r.kind!=="checkbox"&&r.kind!=="radio")return e;let i=r.widgets.findIndex(a=>a.onState===n.state);return Gu(e,n.state===null?-1:i)}case"choice":return r.kind!=="combobox"&&r.kind!=="listbox"?e:io(Ru(r,n.values),e)}}function Qu(e){let{field:t}=e,r=t.defaultValueEntry;switch(t.kind){case"text":{if(r.kind==="array"||r.kind==="unsupported")throw ji(t);let n=r.kind==="scalar"?r.value:"",i=r.kind==="scalar"?r:{kind:"none"};return io({...t,value:n,valueEntry:i},e)}case"checkbox":case"radio":{if(r.kind==="array"||r.kind==="unsupported")throw ji(t);let n=r.kind==="scalar"?r.value:null;if(n===null||n==="Off")return Gu(e,-1);let i=Ey(t.widgets,n);if(i<0)throw ji(t);return Gu(e,i)}case"combobox":case"listbox":{if(r.kind==="unsupported")throw ji(t);let n=r.kind==="scalar"?[r.value]:r.kind==="array"?[...r.values]:[];if(n.length===1&&n[0]===""&&!yA(t,n)&&(n=[]),!yA(t,n)&&!_y(t,n))throw ji(t);return io(Ru(t,n),e)}default:throw ji(t)}}function CA(e){if((e.kind==="combobox"||e.kind==="listbox")&&e.defaultValue!==void 0){let t=Array.isArray(e.defaultValue)?e.defaultValue:[e.defaultValue];Su({...e,options:e.options??[]},t)}switch(e.kind){case"text":case"combobox":return e.defaultValue!==void 0?Ki(e.defaultValue):ao();case"listbox":return Tu(uf((e.options??[]).map(lf),e.defaultValue??[]));default:return ao()}}function IA(e,t){let r=t,n={...e.field};if(t.name!==void 0){let o=n.name.lastIndexOf(".");n.name=o<0?t.name:`${n.name.slice(0,o+1)}${t.name}`}for(let o of Dy)typeof r[o]=="boolean"&&o in n&&(n[o]=r[o]);if(t.alternateName!==void 0&&(n.alternateName=t.alternateName||null),t.mappingName!==void 0&&(n.mappingName=t.mappingName||null),t.groupId!==void 0&&(n.groupId=t.groupId),n.kind==="text"&&("maxLength"in t&&t.maxLength!==void 0&&(n.maxLength=t.maxLength),"defaultValue"in t&&t.defaultValue!==void 0)){let o=t.defaultValue;n.defaultValue=o??"",n.defaultValueEntry=o===null?ao():Ki(o)}let i=!1;if((n.kind==="combobox"||n.kind==="listbox")&&("options"in t&&t.options&&(n=yy(n,t.options.map(lf)),i=!0),"defaultValue"in t&&t.defaultValue!==void 0)){let o=t.defaultValue===null?[]:Array.isArray(t.defaultValue)?t.defaultValue:[t.defaultValue];Su(n,o),n=pf(n,o)}let a={...e,field:n};return i?io(a.field,a):a}var Dy=["readOnly","required","noExport","multiline","password","comb","radiosInUnison","noToggleToOff","edit","multiSelect"];function By(e,t){if(!t)return e;let r=Array.from(e);return r.length>t?r.slice(0,t).join(""):e}function io(e,t){return{field:e,widgets:t.widgets.map(r=>r.hasAppearance?r:{...r,hasAppearance:!0})}}function Ey(e,t){let r=e.findIndex(n=>n.onState===t);return r>=0||!/^\\d+$/.test(t)?r:Number(t)=0?r.widgets[t]:null,a=r.widgets.map((d,p)=>{let m=i!==null&&(n?d.exportValue===i.exportValue&&d.onState===i.onState:p===t);return d.checked===m?d:{...d,checked:m}}),o=Ki(i?i.onState:"Off"),s=r.kind==="checkbox"?{...r,widgets:a,valueEntry:o,checked:a.some(d=>d.checked)}:{...r,widgets:a,valueEntry:o,value:a.find(d=>d.checked)?.exportValue??"Off"},A=new Map(a.map(d=>[d.objectNumber,d.checked?d.onState:"Off"]));return{field:s,widgets:e.widgets.map(d=>{let p=A.get(Cy(d.ref));return p===void 0||d.appearanceState===p?d:{...d,appearanceState:p}})}}function df(e,t){let r=new Set;for(let n of t){let i=e.findIndex(a=>a.value===n);i>=0&&r.add(i)}return[...r].sort((n,i)=>n-i)}var yA=(e,t)=>t.every(r=>e.options.some(n=>n.value===r)),_y=(e,t)=>e.kind==="combobox"&&e.edit&&t.length===1;function Ru(e,t){let r=yA(e,t)?df(e.options,t):[],n=t.length>0&&r.length===0,i=e.options.map((s,A)=>{let d=r.includes(A);return s.selected===d?s:{...s,selected:d}}),a=n?[...t]:r.map(s=>e.options[s].value),o=Tu(a);return e.kind==="combobox"?{...e,options:i,valueEntry:o,value:a[0]??""}:{...e,options:i,valueEntry:o,selectedValues:a}}function Tu(e){return e.length===0?ao():e.length===1?Ki(e[0]):{kind:"array",values:[...e]}}function uf(e,t){return df(e,t).map(r=>e[r].value)}function yy(e,t){let r=t.map(s=>s.value),n=e.kind==="combobox"&&e.edit,i=cf(e.kind==="combobox"?e.value===""?[]:[e.value]:e.selectedValues,r,n),a=Ru(e.kind==="listbox"?{...e,options:t,topIndex:SA(e.topIndex,t)}:{...e,options:t},i),o=Gy(e.defaultValueEntry);return e.defaultValueEntry.kind==="none"?a:pf(a,cf(o,r,n),!0)}function SA(e,t){return Math.max(0,Math.min(e,t.length-1))}function cf(e,t,r){let n=e.filter(i=>t.includes(i));return n.length===0&&r&&e.length>0?[...e]:n}function pf(e,t,r=!1){if(t.length===0){let o=r?e.kind==="listbox"&&e.multiSelect?{kind:"array",values:[]}:Ki(""):ao();return e.kind==="combobox"?{...e,defaultValueEntry:o,defaultValue:""}:{...e,defaultValueEntry:o,defaultValue:[]}}let n=yA(e,t),i=n?uf(e.options,t):[...t],a=n?Tu(i):Ki(t[0]);return e.kind==="combobox"?{...e,defaultValueEntry:a,defaultValue:i[0]??""}:{...e,defaultValueEntry:a,defaultValue:i}}function Gy(e){return e.kind==="scalar"?[e.value]:e.kind==="array"?[...e.values]:[]}var lf=e=>({label:e.label,value:e.value,selected:!1}),Cy=e=>e.kind==="objectNumber"?e.objectNumber:0,Ki=e=>({kind:"scalar",value:e}),ao=()=>({kind:"none"});function ji(e){return new g(f.Unknown,`\'${e.name}\' could not be reset`)}function Nr(e){return e.type==="skipped"}function xA(e){switch(e.type){case"skipped":return!1;case"annotations.import":return e.annotations.length>0;case"forms.import":case"forms.importValues":return e.fields.length>0;default:return!0}}function uo(e){return"undoOf"in e}var Mu=e=>{let t=n=>(e&1<[[1,e.exclude],[2,e.includeNoValueFields],[3,e.format==="html"],[4,e.method==="get"],[5,e.submitCoordinates],[6,e.format==="xfdf"],[7,e.includeAppendSaves],[8,e.includeAnnotations],[9,e.format==="pdf"],[10,e.canonicalFormat],[11,e.exclNonUserAnnots],[12,e.exclFKey],[14,e.embedForm]].reduce((t,[r,n])=>n?t|1<t!=null&&!("root"in t)&&po(t))}function lo(e){return e.incomplete||!e.root?null:mf(e.root)}function Nu(e){let t={};for(let r of Xi){let n=e?.[r];if(!n){t[r]=null;continue}let i=lo(n);i&&(t[r]=i)}return t}var Xi=["activate","cursorEnter","cursorExit","mouseDown","mouseUp","focus","blur","pageOpen","pageClose","pageVisible","pageInvisible"];function mo(e){let t=lo(e);return t&&wo(t)?t:null}function wo(e){return e.type==="javascript"&&(e.next??[]).every(wo)}function mf(e){let t=[];for(let n of e.next){let i=mf(n);if(!i)return null;t.push(i)}let r=t.length>0?{next:t}:{};switch(e.type){case"javascript":return{type:"javascript",script:e.script,...r};case"goto":return{type:"goto",destination:e.destination,...r};case"uri":return{type:"uri",uri:e.uri,...r};case"named":return{type:"named",name:e.name,...r};case"hide":return{type:"hide",targets:e.targets,hide:e.hide,...r};case"reset-form":return{type:"reset-form",fields:e.fields,exclude:e.exclude,...r};case"submit-form":return e.payload?{...Iy(e.payload),type:"submit-form",url:e.payload.url,fields:e.payload.fields,...r}:null;default:return null}}function ju(e,t,r){let n=new Set;for(let F of t.fields??[]){let k=e.fields.find(P=>HA(P,F));if(!k)throw new g(f.NotFound,`export: the form has no field ${F.kind==="fqn"?F.name:Jn(F)}`);n.add(k)}let i=new Set(r.map(fe)),a=new Set;for(let F of t.pages??[]){if(!i.has(fe(F)))throw new g(f.NotFound,`export: the document has no page ${fe(F)}`);a.add(fe(F))}for(let F of e.fields)F.widgets.some(k=>k.page&&a.has(fe(k.page)))&&n.add(F);let o=!t.fields&&!t.pages,s=e.fields.filter(F=>o||n.has(F)),A=new Map(e.widgets.map(F=>[U(F.ref),F])),d=s.flatMap(F=>F.widgets.flatMap(k=>{let P=k.ref?A.get(U(k.ref)):void 0;return P?[P]:[]})),p=new Set(s.map(F=>Jn(F.ref))),m=e.calculationOrder.filter(F=>F!==null&&p.has(Jn(F)));return{fields:s.map(Sy),widgets:d,calculationOrder:m}}function HA(e,t){return t.kind==="fqn"?e.name===t.name:e.ref.kind==="objectNumber"&&e.ref.objectNumber===t.objectNumber}function Sy(e){if(e.kind==="signature")return{...e,valueEntry:{kind:"none"}};if(!e.noExport)return e;let t={...e,valueEntry:{kind:"none"},filledBy:null,filledByName:null,filledAt:null};switch(e.kind){case"text":case"combobox":return{...t,kind:e.kind,value:""};case"checkbox":return{...t,kind:"checkbox",checked:!1,widgets:e.widgets.map(r=>({...r,checked:!1}))};case"radio":return{...t,kind:"radio",value:"Off",widgets:e.widgets.map(r=>({...r,checked:!1}))};case"listbox":return{...t,kind:"listbox",selectedValues:[],options:e.options.map(r=>({...r,selected:!1}))};default:return t}}var Ku=["invisible","hidden","print","noZoom","noRotate","noView","readOnly","locked","toggleNoView","lockedContents"];function Wi(e){switch(e.kind){case"checkbox":return{checked:e.checked};case"listbox":return{selectedValues:e.selectedValues};case"radio":return{value:e.value==="Off"?null:e.value};case"text":case"combobox":return{value:e.value};default:return null}}var Ute={doc:{open:()=>"doc.open",render:Object.assign(()=>"doc.render",{thumbnail:()=>"doc.render.thumbnail"}),text:{select:()=>"doc.text.select",copy:()=>"doc.text.copy",search:()=>"doc.text.search"},content:{copy:()=>"doc.content.copy"},download:Object.assign(()=>"doc.download",{flattened:()=>"doc.download.flattened"}),print:Object.assign(()=>"doc.print",{high:()=>"doc.print.high"}),pages:{modify:()=>"doc.pages.modify",assemble:()=>"doc.pages.assemble"},forms:{read:()=>"doc.forms.read",fill:()=>"doc.forms.fill",modify:()=>"doc.forms.modify",import:()=>"doc.forms.import",script:()=>"doc.forms.script",submit:()=>"doc.forms.submit"},annotate:{read:()=>"doc.annotate.read",modify:()=>"doc.annotate.modify",import:()=>"doc.annotate.import"},metadata:{modify:()=>"doc.metadata.modify"},attachments:{modify:()=>"doc.attachments.modify"},outline:{modify:()=>"doc.outline.modify"},redact:()=>"doc.redact",sign:Object.assign(()=>"doc.sign",{certify:()=>"doc.sign.certify"})}},qte={annotations:{create:OA("annotations","create"),update:OA("annotations","update"),delete:OA("annotations","delete"),setGroup:bo("annotations","set-group"),all:OA("annotations","*")},fields:{fill:bo("fields","fill"),sign:bo("fields","sign"),setGroup:bo("fields","set-group"),all:bo("fields","*")}};function OA(e,t){return{all:()=>`${e}:${t}:all`,self:()=>`${e}:${t}:self`,createdBy:r=>`${e}:${t}:createdBy=${r}`,group:r=>`${e}:${t}:group=${r}`}}function bo(e,t){return{all:()=>`${e}:${t}:all`,group:r=>`${e}:${t}:group=${r}`}}function wf(e){let t=new Set;return t.add("doc.open"),t.add("doc.render"),t.add("doc.annotate.read"),t.add("doc.forms.read"),t.add("doc.text.search"),t.add("doc.text.select"),e.copy&&(t.add("doc.text.copy"),t.add("doc.content.copy")),e.print&&t.add("doc.print"),e.printHighQuality&&e.print&&t.add("doc.print.high"),e.modifyContents&&(t.add("doc.pages.modify"),t.add("doc.redact"),t.add("doc.metadata.modify"),t.add("doc.attachments.modify")),(e.modifyContents||e.assemble)&&(t.add("doc.pages.assemble"),t.add("doc.outline.modify")),e.modifyAnnotations&&t.add("doc.annotate.modify"),(e.modifyContents||e.modifyAnnotations||e.fillForms)&&(t.add("doc.forms.fill"),t.add("doc.sign")),e.modifyAnnotations&&e.modifyContents&&t.add("doc.forms.modify"),[...t]}var RA=4;var QA={none:0,lta:1,fill:2,annotate:3};function Ui(e){return e===1?"lta":e===2?"fill":"annotate"}function qi(e,t){return QA[e]<=QA[t]?e:t}function fo(e,t){return e===null||QA[e]>=QA[t]}function Vu(e,t){return t===e||t.startsWith(`${e}.`)}function TA(e,t){switch(e.action){case"all":return!0;case"include":return e.fields.some(r=>Vu(r,t));case"exclude":return!e.fields.some(r=>Vu(r,t))}}function Ut(e){let t=!1,r=null,n=null,i=[];for(let a of e)a.signed&&(t=!0,a.catalogCertification&&a.docMdp!==null&&n===null&&(n={signatureIndex:a.index,permission:a.docMdp},r=qi(r??"annotate",Ui(a.docMdp))),a.fieldMdp&&i.push({signatureIndex:a.index,source:"fieldmdp",spec:a.fieldMdp}),a.lock&&(i.push({signatureIndex:a.index,source:"lock",spec:a.lock}),a.lock.permission!==void 0&&(r=qi(r??"annotate",Ui(a.lock.permission)))));return{enforced:r,judged:t?r??"annotate":null,certification:n,fieldLocks:i,policyVersion:4}}function Yu(e,t){for(let r of e.fieldLocks)if(TA(r.spec,t))return r;return null}var bf=["doc.download.flattened","doc.pages.modify","doc.pages.assemble","doc.redact","doc.attachments.modify","doc.outline.modify","doc.forms.modify","doc.forms.script","doc.annotate.modify","doc.annotate.import","doc.forms.fill","doc.forms.import"],$te=new Set(bf);function fn(e){let t=new Set;return!e||e.judged===null||(t.add("doc.download.flattened"),e.enforced===null)||(t.add("doc.pages.modify"),t.add("doc.pages.assemble"),t.add("doc.redact"),t.add("doc.attachments.modify"),t.add("doc.outline.modify"),t.add("doc.forms.modify"),t.add("doc.forms.script"),fo(e.enforced,"annotate")||(t.add("doc.annotate.modify"),t.add("doc.annotate.import")),fo(e.enforced,"fill")||(t.add("doc.forms.fill"),t.add("doc.forms.import"))),t}function Xu(e,t){return`the document is signed: ${t.certification?`certification signature ${t.certification.signatureIndex} (permission ${t.certification.permission})`:`an existing signature (declared level \'${t.enforced??"none declared"}\')`} forbids \'${e}\'`}var xy=new Set(["doc.open","doc.render","doc.render.thumbnail","doc.text.select","doc.text.copy","doc.text.search","doc.content.copy","doc.download","doc.download.flattened","doc.print","doc.print.high","doc.pages.modify","doc.pages.assemble","doc.forms.read","doc.forms.fill","doc.forms.modify","doc.forms.import","doc.forms.script","doc.forms.submit","doc.annotate.read","doc.annotate.modify","doc.annotate.import","doc.metadata.modify","doc.attachments.modify","doc.outline.modify","doc.redact","doc.sign","doc.sign.certify"]);function jr(e){if(e==="*")return{kind:"wildcard"};if(e==="pdf.permissions")return{kind:"virtual",name:"pdf.permissions"};if(e.includes(":"))return Hy(e);let t=gf(e);return t!==null?Ty(e,t):My(e)}var ff=new Set(["doc","docs","pdf","annotations","fields","tokens","grants","shares","tenants","layer","visitor","document","submission","signature"]);function gf(e){if(e.includes(":"))return null;let t=e.indexOf(".");if(t<=0)return null;let r=e.slice(0,t);return ff.has(r)?null:r}function Hy(e){let t=e.indexOf(":"),r=e.indexOf(":",t+1);if(t===-1||r===-1)throw new pt(e,"collab scope requires entity:action:filter");let n=e.slice(0,t),i=e.slice(t+1,r),a=e.slice(r+1);if(n==="fields")return Oy(e,i,a);if(n!=="annotations")throw new pt(e,`unknown collab entity: ${n}`);if(i!=="create"&&i!=="update"&&i!=="delete"&&i!=="set-group"&&i!=="*")throw new pt(e,`unknown collab action: ${i}`);let o=Ff(a,e);if(i==="set-group"&&(o.kind==="self"||o.kind==="createdBy"))throw new pt(e,`set-group only supports :all or :group= filters (got :${o.kind})`);return{kind:"collab",entity:n,action:i,filter:o}}function Oy(e,t,r){if(t!=="fill"&&t!=="sign"&&t!=="set-group"&&t!=="*")throw new pt(e,`unknown fields action: ${t}`);let n=Ff(r,e);if(n.kind!=="all"&&n.kind!=="group")throw new pt(e,`fields only support :all or :group= filters (got :${n.kind})`);return{kind:"collab",entity:"fields",action:t,filter:n}}function Ff(e,t){if(e==="all")return{kind:"all"};if(e==="self")return{kind:"self"};if(e.startsWith("createdBy=")){let r=e.slice(10);if(!r)throw new pt(t,"createdBy= requires a value");return{kind:"createdBy",userId:r}}if(e.startsWith("group=")){let r=e.slice(6);if(!r)throw new pt(t,"group= requires a value");return{kind:"group",groupId:r}}throw new pt(t,`unknown filter: ${e}`)}var Qy=/^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*)+$/;var Ry=/^[a-z][a-z0-9]*(-[a-z0-9]+)*(\\.[a-z][a-z0-9]*(-[a-z0-9]+)*)+$/;function Ty(e,t){if(!Ry.test(e))throw new pt(e,"invalid plugin permission shape (expected .)");return{kind:"plugin",name:e,plugin:t}}function My(e){if(!Qy.test(e))throw new pt(e,"invalid capability name shape");if(!xy.has(e))throw new pt(e,`unknown capability: ${e}`);return{kind:"capability",name:e}}function go(e){return{...e.userId?{userId:e.userId}:{},...e.groupId?{groupId:e.groupId}:{}}}function zi(e,t,r,n=null){if(fn(n).has(e))return!1;let i=t.map(jr);return i.some(a=>a.kind==="wildcard")?!0:Zi(i,r,n).has(e)}function Fo(e,t,r,n,i){let a=r.map(jr);if(a.some(s=>s.kind==="wildcard"))return!0;let o=a.filter(s=>s.kind==="collab"&&s.entity==="annotations"&&(s.action===e||s.action==="*"));return o.length>0?o.some(s=>vf(s.filter,t,n)):Zi(a,i).has("doc.annotate.modify")}function Zi(e,t,r=null){let n=new Set,i=!1,a=!1;for(let o of e)o.kind==="capability"?n.add(o.name):o.kind==="virtual"&&o.name==="pdf.permissions"?Ly(n,t):o.kind==="collab"&&o.entity==="annotations"?i=!0:o.kind==="collab"&&o.entity==="fields"&&(a=!0);n.has("doc.render")&&n.add("doc.render.thumbnail"),n.has("doc.annotate.modify")&&n.add("doc.annotate.read"),n.has("doc.forms.modify")&&(n.add("doc.forms.fill"),n.add("doc.forms.read")),n.has("doc.forms.fill")&&n.add("doc.forms.read"),i&&n.add("doc.annotate.read"),a&&n.add("doc.forms.read");for(let o of fn(r))n.delete(o);return n}function vo(e,t,r,n){if(t===r)return!0;let i=n.map(jr);if(i.some(a=>a.kind==="wildcard"))return!0;for(let a of i)if(a.kind==="collab"&&a.entity===e&&!(a.action!=="set-group"&&a.action!=="*")&&(a.filter.kind==="all"||a.filter.kind==="group"&&a.filter.groupId===t))return!0;return!1}function Wu(e,t,r,n,i=null){let a=e==="fill"?"doc.forms.fill":"doc.sign";if(fn(i).has(a))return!1;let o=r.map(jr);if(o.some(A=>A.kind==="wildcard"))return!0;let s=o.filter(A=>A.kind==="collab"&&A.entity==="fields"&&(A.action===e||A.action==="*"));return s.length>0?s.some(A=>A.filter.kind==="all"||t!==null&&A.filter.groupId===t):Zi(o,n,i).has(a)}function Uu(e,t,r,n=null){let i=e==="fill"?"doc.forms.fill":"doc.sign";if(fn(n).has(i))return!1;let a=t.map(jr);return a.some(o=>o.kind==="wildcard")||a.some(o=>o.kind==="collab"&&o.entity==="fields"&&(o.action===e||o.action==="*"))?!0:Zi(a,r,n).has(i)}function vf(e,t,r){switch(e.kind){case"all":return!0;case"self":return!!r.userId&&t.userId===r.userId;case"createdBy":return t.userId===e.userId;case"group":return t.groupId===e.groupId}}function Ly(e,t){for(let r of wf(t))e.add(r)}var If={left:0,bottom:0,right:612,top:792},jy={left:0,right:0,bottom:0,top:0};function Zu(e){let t=e.media??If,r=i=>jd(i,t)??jy,n=r(e.crop??t);return{media:t,crop:n,bleed:r(e.bleed??n),trim:r(e.trim??n),art:r(e.art??n)}}function Ju(e){return!Number.isInteger(e)||e%90!==0?0:(e%360+360)%360}function Kr(){let e=globalThis.crypto.getRandomValues(new Uint8Array(16));return e[6]=e[6]&15|64,e[8]=e[8]&63|128,Sf(e)}function NA(e=Date.now()){let t=globalThis.crypto.getRandomValues(new Uint8Array(16)),r=Math.max(0,Math.floor(e));for(let n=5;n>=0;n--)t[n]=r%256,r=Math.floor(r/256);return t[6]=t[6]&15|112,t[8]=t[8]&63|128,Sf(t)}function Sf(e){let t=Array.from(e,r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function $u(e,t,r){let n=new Set(t.map(fe)),i=new Map,a=new Map,o=P=>{let B=fe(P);if(i.has(B)||!n.has(B))return;let y=r(P);i.set(B,y);for(let x of y)a.set(U(x.ref),x)},s=P=>(o(P.page),a.get(U(P)));for(let P of e.pages??[])if(!n.has(fe(P)))throw new g(f.NotFound,`export: the document has no page ${fe(P)}`);let A=!e.refs&&!e.pages,d=(e.include??"threads")==="threads";for(let P of A?t:e.pages??[])o(P);let p=new Set,m=[],F=P=>{if(!P)return;let B=U(P.ref);p.has(B)||(p.add(B),m.push(P))};if(A)for(let P of i.values())P.forEach(F);else{for(let P of e.pages??[])i.get(fe(P))?.forEach(F);for(let P of e.refs??[]){let B=s(P);if(!B)throw new g(f.NotFound,`export: the document has no annotation ${U(P)}`);F(B)}}if(d){for(let B of[...m])B.subtype==="popup"&&B.parent&&F(s(B.parent));let P=new Map;for(let B of i.values())for(let y of B){let x=y.reply?s(y.reply.to):void 0;if(!x)continue;let I=U(x.ref);P.set(I,[...P.get(I)??[],y])}for(let B=0;Bt.annotations),pages:e.flatMap(t=>t.pages)}}function xf(e){let t=e.crop;return{media:Je(e.media,t),crop:Je(e.crop,t),bleed:Je(e.bleed,t),trim:Je(e.trim,t),art:Je(e.art,t)}}function Hf(e,t){let{actions:r,...n}=e;return{...n,boxes:xf(e.boxes),...r?{actions:fu(r,i=>Rn(i,t))}:{}}}function Of(e){let t=new Map(e.map(r=>[r.ref.objectNumber,r.boxes.crop]));return r=>{let n=t.get(r.objectNumber);if(!n)throw new g(f.InvalidArg,`No page ${r.objectNumber} in this document`);return n}}function Po(e){let t=Of(e.pages);return{...e,pages:e.pages.map(r=>Hf(r,t))}}function tp(e,t){return e.kind==="rect"?{...e,rect:Li(e.rect,t)}:e}function jA(e,t){return e.map(r=>({...r,rect:Je(r.rect,t)}))}function ho(e,t){let{actions:r,...n}=e,i=t(e.page);return{...n,...e.rect?{rect:Li(e.rect,i)}:{},...e.box?{box:Li(e.box,i)}:{},...r?{actions:FA(r,a=>Or(a,t))}:{}}}function ko(e,t){return e.widgets?{...e,widgets:e.widgets.map(r=>ho(r,t))}:e}function Qf(e,t){return gu(e,r=>Rn(r,t))}function Ht(e,t){return e.actions?{...e,actions:Qf(e.actions,t)}:e}function Vr(e,t){return Mr(e,t(e.page),t)}function KA(e,t){return{...e,fields:e.fields.map(r=>Ht(r,t)),widgets:e.widgets.map(r=>Vr(r,t))}}function Rf(e,t){return{...e,target:e.target&&to(e.target,t),action:e.action&&Qr(e.action,t)}}function Tf(e,t){let{target:r,...n}=e;return r===void 0?n:{...n,target:r&&r.kind==="goto"?{...r,destination:t(r.destination)}:r}}function np(e,t){return{...e,items:e.items.map(r=>Do(r,t))}}function Do(e,t){return Rf(e,r=>Rn(r,t))}function rp(e,t){return Tf(e,r=>Or(r,t))}function Bo(e,t){return Tf(e,r=>Or(r,t))}function ip(e){return or(e.actions)||(e.widgets??[]).some(t=>or(t.actions))}function VA(e){let{box:t,rect:r,rotation:n,...i}=e;if(n!==void 0&&![0,90,180,270].includes(n))throw new g(f.InvalidArg,`a widget turns by a quarter turn (0, 90, 180 or 270), not ${n}`,{details:{field:"rotation"}});let a=t?wn(Ce(t),n??0):r;if(!a)throw new g(f.InvalidArg,"a widget\'s placement needs its `rect` or its `box`",{details:{field:"rect"}});return{...i,rect:a,...n!==void 0?{rotation:n}:{},...AA(i.borderStyle,i.dashArray)?{dashArray:[...sA]}:{}}}function YA(e){let t=new Ky(e),r=t.value();if(t.skipSpaces(),!t.atEnd())throw new Error(`trailing input at ${t.pos}: ${e.slice(t.pos,t.pos+20)}`);return r}var Ky=class{constructor(e){this.text=e,xe(this,"pos",0)}atEnd(){return this.pos>=this.text.length}skipSpaces(){for(;this.pos>",this.pos))return this.pos+=2,e;if(this.text[this.pos]!=="/")throw new Error(`expected a key at ${this.pos}`);let t=this.name();this.skipSpaces(),e[t]=this.value()}}stream(){let e=/^stream\\((\\d+),([0-9a-fA-F]*)\\)/.exec(this.text.slice(this.pos));if(!e)throw new Error(`malformed stream signature at ${this.pos}`);this.pos+=e[0].length;let t=this.dictEntries();return{t:"stream",length:Number(e[1]),sha256:e[2].toLowerCase(),dict:t}}array(){this.expect("[");let e=[];for(;;){if(this.skipSpaces(),this.text[this.pos]==="]")return this.pos++,{t:"array",items:e};e.push(this.value())}}name(){this.expect("/");let e="";for(;this.pos"||t==="("||t===")")break;if(t==="#"&&/^[0-9A-Fa-f]{2}/.test(this.text.slice(this.pos+1,this.pos+3))){e+=String.fromCharCode(parseInt(this.text.slice(this.pos+1,this.pos+3),16)),this.pos+=3;continue}e+=t,this.pos++}return e}literalString(){this.expect("(");let e=1,t="";for(;this.pos",this.pos);if(e<0)throw new Error("unterminated hex string");let t=this.text.slice(this.pos,e).replace(/\\s+/g,"");this.pos=e+1;let r="";for(let n=0;n`/${t} ${Ji(e.entries[t])}`).join("")}>>`;case"stream":return`stream(${e.length},${e.sha256})${Ji({t:"dict",entries:e.dict})}`;case"array":return`[${e.items.map(Ji).join(" ")}]`;case"ref":return`${e.num} 0 R`;case"name":return`/${Vy(e.v)}`;case"string":return`(${e.v.replace(/[\\\\()]/g,t=>`\\\\${t}`)})`;case"number":return String(e.v);case"bool":return e.v?"true":"false";case"null":return"null"}}function Re(e){return e?e.t==="dict"?e.entries:e.t==="stream"?e.dict:null:null}function xt(e,t){let r=Re(e)??{},n=Re(t)??{},i=new Set;for(let a of new Set([...Object.keys(r),...Object.keys(n)]))MA(r[a]??null,n[a]??null)||i.add(a);return i}function gn(e){return e?e.t==="ref"?[e.num]:e.t==="array"?e.items.flatMap(gn):[]:[]}function Vy(e){let t="";for(let r of e){let n=r.charCodeAt(0);n<33||n>126||"#/[]<>(){}%".includes(r)?t+=`#${n.toString(16).toUpperCase().padStart(2,"0")}`:t+=r}return t}function ap(e,t){return e.some(r=>r.verdict==="forbidden")?"forbidden":e.some(r=>r.verdict==="incomplete")?"indeterminate":t?"permitted":"unchanged"}function op(e){return e.find(t=>t.verdict==="forbidden")??e.find(t=>t.verdict==="incomplete")??e.find(t=>t.verdict==="permitted")}function sp(e){let t=op(e.findings);return{verdict:e.verdict,complete:!e.findings.some(r=>r.verdict==="incomplete"),...t?{primary:t}:{},findings:e.findings}}function Ap(e,t){let r=[...e.findings];for(let a of t)if(a!==e)for(let o of a.findings)o.verdict!=="permitted"&&r.push({...o,detail:`revision ${a.newer}: ${o.detail??o.rule}`});let n=ap(r,e.verdict!=="unchanged"||t.some(a=>a.verdict!=="unchanged")),i=op(r);return{verdict:n,complete:!r.some(a=>a.verdict==="incomplete"),...i?{primary:i}:{},findings:r}}var qt=["old","new"],Yy=new Set(["Size","Prev","XRefStm","Info","ID","Root","Type","W","Index","Filter","DecodeParms","Length","Encrypt"]),Xy=new Set(["Metadata","Extensions","Version","DSS","AcroForm","Perms"]),Wy=new Set(["DR","DA","Q","SigFlags","NeedAppearances","Fields"]),Pf={annotate:new Set(["V","AS","AP","I","DA","Ff","RV","MK","Q","TU","F","Rect","BS","Opt","DV","MaxLen"]),fill:new Set(["V","AS","AP","I","RV","DA","Ff"])},hf={annotate:new Set(["AS","AP","DA","MK","Q","TU","F","Rect","BS"]),fill:new Set(["AS","AP","DA"])},kf={annotate:new Set(["V","AP","AS","Ff","TU","Lock"]),fill:new Set(["V","AP","AS","Ff"])},Uy=new Set(["AP","AS"]),qy=1;function zy(e){return e==="annotate"?Pf.annotate:Pf.fill}function Zy(e){return e==="annotate"?hf.annotate:hf.fill}function Df(e){return e==="annotate"?kf.annotate:kf.fill}var Jy=new Set(["identical-rewrite","orphan","xref-container","trailer"]);function Mf(e){let t=Ut(e.signatures);return{level:t.judged??"annotate",locks:t.fieldLocks}}function XA(e){let t=$y(e.changes),{level:r,locks:n}=e.restrictions??Mf(e.before),i=e.levelOverride??r,a=new tG({...e,changes:t},i,n);eG(a),nG(a),rG(a),mG(a),iG(a),aG(a),oG(a),sG(a),AG(a),cG(a),dG(a),uG(a),pG(a),lG(a),wG(a);let o=ap(a.findings,a.findings.some(s=>s.verdict==="permitted"&&!Jy.has(s.rule)));return{older:e.older,newer:e.newer,levelInForce:i,locks:n,verdict:o,findings:a.findings,changes:t}}function $y(e){return e.map(t=>{if(t.value.truncated||t.kind==="xref"||t.kind==="objstm")return t;let r=t.present.old&&(t.value.old===null||t.read?.old==="failed"),n=t.present.new&&(t.value.new===null||t.read?.new==="failed");return r||n?{...t,value:{...t.value,truncated:!0}}:t})}function eG(e){let t=e.input.health;if(!t)return;let r=t.old;if(r.sparseXref||r.bareReferences>0){let n=[r.sparseXref?"its cross-reference table has no entry for some object numbers below /Size":null,r.bareReferences>0?`${r.bareReferences} reachable indirect object(s) consist of a bare reference`:null].filter(i=>i!==null).join("; ");e.findings.push({rule:"base-unverifiable",verdict:"incomplete",objectNumber:0,detail:`the signed revision cannot be verified against later changes by Acrobat (${n}); no verdict is given rather than one Acrobat would contradict`})}for(let n of qt)t[n].referrersComplete||e.findings.push({rule:"unexplained",verdict:"incomplete",objectNumber:0,detail:`the ${n==="old"?"older":"newer"} revision\'s reachability walk hit its budget; not every use of a changed object is known`})}function WA(e){return e.change==="modified"&&!e.value.truncated&&e.read?.old!=="failed"&&e.read?.new!=="failed"&&e.raw.old!==null&&e.raw.new!==null&&e.raw.old===e.raw.new&&!e.streamDataChanged}function Bf(e){let t=new Map,r=new Map,n=new Set;for(let a of e.fields){t.set(a.objectNumber,a),a.kind==="signature"&&n.add(a.objectNumber);for(let o of a.widgets)r.set(o,a.objectNumber)}let i=new Set;for(let a of e.signatures)a.signed&&a.field.kind==="objectNumber"&&i.add(a.field.objectNumber);return{fieldByObj:t,widgetToField:r,pages:new Set(e.pages),signedFields:i,sigFields:n}}function sr(e){return`${e.parent}:${e.label}`}var tG=class{constructor(e,t,r){this.input=e,this.level=t,this.locks=r,xe(this,"findings",[]),xe(this,"byNum",new Map),xe(this,"before",void 0),xe(this,"after",void 0),xe(this,"claims",new Map),xe(this,"locked",new Set);for(let n of e.changes)this.byNum.set(n.objectNumber,n);this.before=Bf(e.before),this.after=Bf(e.after)}get changes(){return this.input.changes}allows(e){return fo(this.level,e)}claimEdge(e,t,r,n,i=!0){if(this.locked.has(e.objectNumber))return;let a=`${e.objectNumber}:${t}:${sr(r)}`;this.claims.has(a)||this.claims.set(a,{rule:n,allow:i})}claimAll(e,t,r=!0){for(let n of qt)for(let i of e.usage[n])this.claimEdge(e,n,i,t,r)}claimStable(e,t,r=!0){let n=new Set(e.usage.old.map(sr)),i=new Set(e.usage.new.map(sr));for(let a of e.usage.old)i.has(sr(a))&&this.claimEdge(e,"old",a,t,r);for(let a of e.usage.new)n.has(sr(a))&&this.claimEdge(e,"new",a,t,r)}isClaimed(e,t,r){return this.claims.has(`${e.objectNumber}:${t}:${sr(r)}`)}isAllowed(e,t,r){return this.claims.get(`${e.objectNumber}:${t}:${sr(r)}`)?.allow===!0}permitted(e,t,r){this.locked.has(e.objectNumber)||this.findings.push({rule:t,verdict:"permitted",objectNumber:e.objectNumber,detail:r})}forbidden(e,t,r,n){this.findings.push({rule:t,verdict:e.value.truncated?"incomplete":"forbidden",objectNumber:e.objectNumber,edge:n?sr(n):void 0,detail:e.value.truncated?`${r} (judged on missing evidence: not proven)`:r})}claimSubtree(e,t,r,n){let i=new Set,a=!0;for(;a;){a=!1;for(let o of this.changes){if(t.has(o.objectNumber)||i.has(o.objectNumber)||this.locked.has(o.objectNumber))continue;let s=o.usage[e];if(s.length===0)continue;let A=s.filter(d=>t.has(d.parent)&&r(d.label)||i.has(d.parent));if(A.length!==0){for(let d of A)this.claimEdge(o,e,d,n);s.every(d=>A.includes(d)||this.isAllowed(o,e,d))&&(i.add(o.objectNumber),a=!0)}}}}isIdentical(e){return WA(e)}newlySigned(){let e=[];for(let t of this.input.after.signatures)!t.signed||t.field.kind!=="objectNumber"||this.before.signedFields.has(t.field.objectNumber)||e.push({fieldObjectNumber:t.field.objectNumber,sig:t});return e}};function nG(e){for(let t of e.changes)(t.kind==="xref"||t.kind==="objstm")&&(e.claimAll(t,"xref-container"),e.permitted(t,"xref-container","cross-reference container; members are judged on their own"))}function rG(e){for(let t of e.changes)e.isIdentical(t)&&(e.allows("fill")?(e.claimAll(t,"identical-rewrite"),e.permitted(t,"identical-rewrite","written again with the sealed value")):(e.claimAll(t,"identical-rewrite",!1),e.forbidden(t,"identical-rewrite",`written again with the sealed value under level \'${e.level}\' (not established for this level)`)))}function iG(e){let t=e.byNum.get(0);if(!t)return;let r=xt(t.value.old,t.value.new),n=[...r].filter(o=>!Yy.has(o)),i=Re(t.value.old)?.Root,a=Re(t.value.new)?.Root;if(n.length>0){e.forbidden(t,"trailer",`trailer keys changed: ${n.join(", ")}`);return}if(r.has("Root")&&!MA(i??null,a??null)){e.forbidden(t,"trailer","the trailer points at a different catalog");return}if(r.has("Encrypt")&&!MA(Re(t.value.old)?.Encrypt??null,Re(t.value.new)?.Encrypt??null)){e.forbidden(t,"trailer","the trailer points at a different encryption dictionary");return}e.claimAll(t,"trailer"),e.permitted(t,"trailer")}function cp(e,t){let r=[...e.usage.old,...e.usage.new];return r.length>0&&r.every(t)}function aG(e){for(let t of e.changes)e.isIdentical(t)||t.objectNumber!==0&&cp(t,r=>r.parent===0&&r.label==="Info")&&(e.claimAll(t,"info"),e.permitted(t,"info","document information dictionary"))}function oG(e){let t=new Set([e.input.before.root,e.input.after.root]);for(let r of e.changes)e.isIdentical(r)||cp(r,n=>t.has(n.parent)&&n.label==="Metadata")&&(e.claimAll(r,"metadata"),e.permitted(r,"metadata","XMP metadata stream"))}function sG(e){let t=e.input.after.root,r=e.byNum.get(t);if(!r||e.isIdentical(r))return;let n=xt(r.value.old,r.value.new),i=[...n].filter(a=>!Xy.has(a));if(i.length>0){e.forbidden(r,"catalog-housekeeping",`catalog keys changed: ${i.join(", ")}`);return}if(n.has("AcroForm")&&!e.input.after.acroForm&&!e.input.before.acroForm){let a=Lf(e,Re(r.value.old)?.AcroForm??null,Re(r.value.new)?.AcroForm??null);if(a){e.forbidden(r,"acroform-housekeeping",a);return}for(let o of qt)e.claimSubtree(o,new Set([t]),s=>s.startsWith("AcroForm/DR/"),"acroform-housekeeping")}if(n.has("Perms")){let a=Ut(e.input.after.signatures),o=Ut(e.input.before.signatures);if(!a.certification||o.judged!==null){e.forbidden(r,"catalog-housekeeping","/Perms may only appear with the certification signature, in the first signed revision");return}}e.claimAll(r,"catalog-housekeeping"),e.permitted(r,"catalog-housekeeping")}function AG(e){let t=e.input.after.acroForm||e.input.before.acroForm;if(!t)return;let r=e.byNum.get(t);if(!r||e.isIdentical(r))return;let n=Lf(e,r.value.old,r.value.new);if(n){e.forbidden(r,"acroform-housekeeping",n);return}e.claimAll(r,"acroform-housekeeping"),e.permitted(r,"acroform-housekeeping");for(let i of qt)e.claimSubtree(i,new Set([t]),a=>a.startsWith("DR/"),"acroform-housekeeping")}function Lf(e,t,r){let n=xt(t,r),i=[...n].filter(a=>!Wy.has(a));if(i.length>0)return`AcroForm keys changed: ${i.join(", ")}`;if(n.has("Fields")){let a=gn(Re(t)?.Fields),o=gn(Re(r)?.Fields);if(a.length>o.length||a.some((d,p)=>o[p]!==d))return"/AcroForm /Fields is not append-only";let s=dp(e),A=o.slice(a.length).filter(d=>!s.has(d));if(A.length>0)return`/AcroForm /Fields gained non-signature fields: ${A.join(", ")}`}return null}function Ef(e,t){let r=Re(e.value.old)?.[t],n=Re(e.value.new)?.[t],i=gn(r),a=gn(n);if(r&&r.t!=="array"||!n||n.t!=="array"||i.length>a.length)return null;for(let o=0;on==="DSS"||n.startsWith("DSS/"),"dss");for(let r of e.changes)r.usage.new.some(n=>t.has(n.parent)&&n.label==="DSS")&&!e.findings.some(n=>n.objectNumber===r.objectNumber)&&e.permitted(r,"dss","document security store")}function dG(e){let t=dp(e);if(t.size===0)return;let r="signature-field-added";if(!e.allows("fill")){for(let i of t){let a=e.byNum.get(i);a&&e.forbidden(a,r,`a signature field was added under level \'${e.level}\'`)}return}let n=new Set;for(let i of t){let a=e.after.fieldByObj.get(i),o=e.byNum.get(i);o&&(e.claimAll(o,r),e.permitted(o,r,`new signature field "${a.name}"`));for(let s of a.widgets){if(n.add(s),s===i)continue;let A=e.byNum.get(s);A&&(e.claimAll(A,r),e.permitted(A,r,`widget of new signature field "${a.name}"`))}}for(let i of e.after.pages){let a=e.byNum.get(i);if(!a||e.isIdentical(a))continue;let o=xt(a.value.old,a.value.new);if(o.size!==1||!o.has("Annots"))continue;let s=Ef(a,"Annots");s&&s.every(A=>n.has(A))&&(e.claimAll(a,r),e.permitted(a,r,"page /Annots gained the new signature widget"))}for(let i of e.changes){if(i.kind!=="dictionary"||e.isIdentical(i))continue;let a=xt(i.value.old,i.value.new);if(a.size!==1||!a.has("Kids"))continue;let o=Ef(i,"Kids");o&&o.length>0&&o.every(s=>t.has(s)||n.has(s))&&(e.claimAll(i,r),e.permitted(i,r,"field /Kids gained the new signature field"))}}function uG(e){let t="signature-added",r=e.newlySigned();if(r.length===0)return;let n=dp(e),i=Ut(e.input.before.signatures),a=Ut(e.input.after.signatures),o=new Set,s=new Set;for(let{fieldObjectNumber:A,sig:d}of r){let p=d.kind==="timestamp"?"lta":"fill";if(!e.allows(p)){let B=e.byNum.get(A);B&&e.forbidden(B,t,`a ${d.kind} was added under level \'${e.level}\'`);continue}if(d.catalogCertification&&i.judged!==null){let B=e.byNum.get(A);B&&e.forbidden(B,t,"a certification signature after another signature");continue}let m=e.after.fieldByObj.get(A);o.add(A);for(let B of m?.widgets??[])o.add(B);let F=n.has(A),k=i.judged===null?new Set([...Df(e.level),"Lock"]):Df(e.level),P=e.byNum.get(A);if(P&&F)e.permitted(P,t,`new field "${d.fieldName}" signed`);else if(P&&!e.isIdentical(P)){let B=xt(P.value.old,P.value.new),y=[...B].filter(x=>!k.has(x));y.length>0?(e.forbidden(P,t,`signature field keys changed: ${y.join(", ")}`),e.claimStable(P,t,!1)):B.has("Ff")&&!up(P,e.before.fieldByObj.get(A)?.flags)?(e.forbidden(P,t,"signature field flags changed beyond ReadOnly"),e.claimStable(P,t,!1)):(e.claimStable(P,t),e.permitted(P,t,`field "${d.fieldName}" signed`))}for(let B of m?.widgets??[]){if(B===A||F)continue;let y=e.byNum.get(B);if(!y||e.isIdentical(y))continue;let x=[...xt(y.value.old,y.value.new)].filter(I=>!Uy.has(I));if(x.length>0){e.forbidden(y,t,`signature widget keys changed: ${x.join(", ")}`),e.claimStable(y,t,!1);continue}e.claimStable(y,t),e.permitted(y,t,"signature widget appearance")}for(let B of e.changes){if(B.change!=="added")continue;let y=B.usage.new.filter(S=>S.parent===A&&S.label==="V"),x=B.usage.new.filter(S=>S.parent===A&&S.label==="Lock"),I=Re(B.value.new)?.Type;if(y.length>0){if(!(I?.t==="name"&&(I.v==="Sig"||I.v==="DocTimeStamp"))&&I!==void 0)continue;for(let S of B.usage.new)(S.parent===A&&S.label==="V"||S.label==="DocMDP")&&e.claimEdge(B,"new",S,t);e.permitted(B,t,"signature value"),s.add(B.objectNumber)}else if(x.length>0){if(!(I===void 0||I.t==="name"&&I.v==="SigFieldLock"))continue;for(let S of x)e.claimEdge(B,"new",S,t);e.permitted(B,t,"field lock installed with the signature")}}}if(a.certification&&i.judged===null){let A=e.input.after.root;for(let d of e.changes)d.change==="added"&&cp(d,p=>p.parent===A&&p.label==="Perms")&&(e.claimAll(d,t),e.permitted(d,t,"certification permissions"))}for(let A of qt)e.claimSubtree(A,o,d=>d==="AP"||d.startsWith("AP/"),t);s.size>0&&e.claimSubtree("new",s,()=>!0,t)}function up(e,t){let r=Re(e.value.old)?.Ff,n=Re(e.value.new)?.Ff,i=r?.t==="number"?r.v:t??0,a=n?.t==="number"?n.v:0;return(i|qy)===a}function pG(e){let t="form-fill",r=zy(e.level),n=Zy(e.level),i=new Set,a=new Map([...e.before.fieldByObj,...e.after.fieldByObj]);for(let[o,s]of a){if(s.kind==="signature")continue;let A=e.byNum.get(o),d=s.widgets.filter(P=>P!==o).map(P=>e.byNum.get(P)).filter(Boolean),p=new Set([o,...s.widgets]),m=P=>P==="AP"||P.startsWith("AP/"),F=!A&&d.length===0?e.changes.filter(P=>qt.some(B=>P.usage[B].some(y=>p.has(y.parent)&&m(y.label)))&&qt.every(B=>P.usage[B].every(y=>!m(y.label)||p.has(y.parent)))):[];if(!A&&d.length===0&&F.length===0)continue;if(!e.allows("fill")){for(let P of[A,...d,...F])P&&!e.isIdentical(P)&&e.forbidden(P,t,`form fill under level \'${e.level}\'`);continue}if(F.length>0){for(let P of F)e.permitted(P,t,`appearance of field "${s.name}" regenerated`);i.add(o);for(let P of s.widgets)i.add(P);continue}let k=!0;if(A&&!e.isIdentical(A)){let P=xt(A.value.old,A.value.new),B=[...P].filter(y=>!r.has(y));if(B.length>0)e.forbidden(A,t,`field "${s.name}" keys changed: ${B.join(", ")}`),e.claimStable(A,t,!1),k=!1;else if(P.has("Ff")&&!up(A,e.before.fieldByObj.get(o)?.flags))e.forbidden(A,t,`field "${s.name}" flags changed beyond adding ReadOnly`),e.claimStable(A,t,!1),k=!1;else{e.claimStable(A,t);let y=[...P].filter(x=>x!=="V"&&x!=="AP"&&x!=="AS"&&x!=="I"&&x!=="RV");e.permitted(A,t,y.length>0?`field "${s.name}" ${P.has("V")||P.has("AS")?"filled, ":""}properties changed: ${y.join(", ")}`:`field "${s.name}" filled`)}}for(let P of d){if(e.isIdentical(P))continue;let B=[...xt(P.value.old,P.value.new)].filter(y=>!n.has(y));if(B.length>0){e.forbidden(P,t,`widget of "${s.name}" keys changed: ${B.join(", ")}`),e.claimStable(P,t,!1),k=!1;continue}e.claimStable(P,t),e.permitted(P,t,`widget of "${s.name}" appearance`)}if(k){i.add(o);for(let P of s.widgets)i.add(P)}}for(let o of qt)e.claimSubtree(o,i,s=>s==="AP"||s.startsWith("AP/"),t)}function lG(e){let t="annotation",r=new Set([...e.before.pages,...e.after.pages]),n=new Set([...e.before.widgetToField.keys(),...e.after.widgetToField.keys()]),i=s=>{if(n.has(s.objectNumber))return!0;let A=Re(s.value.new??s.value.old)?.Subtype;return A?.t==="name"&&A.v==="Widget"},a=[];for(let s of e.changes)s.kind!=="dictionary"||e.isIdentical(s)||[...s.usage.old,...s.usage.new].some(A=>r.has(A.parent)&&A.label.startsWith("Annots/"))&&!i(s)&&a.push(s);if(a.length,!e.allows("annotate")){for(let s of a)e.forbidden(s,t,`annotation change under level \'${e.level}\'`);return}let o=new Set;for(let s of a)e.claimAll(s,t),e.permitted(s,t,`${s.change} annotation`),o.add(s.objectNumber);for(let s of r){let A=e.byNum.get(s);if(!A||e.isIdentical(A))continue;let d=xt(A.value.old,A.value.new);if(d.size===1&&d.has("Annots")){let p=gn(Re(A.value.old)?.Annots).filter(F=>!gn(Re(A.value.new)?.Annots).includes(F)),m=gn(Re(A.value.new)?.Annots).filter(F=>!gn(Re(A.value.old)?.Annots).includes(F));if([...p,...m].some(F=>n.has(F)&&!e.findings.some(k=>k.objectNumber===F&&k.verdict==="permitted"))){e.forbidden(A,t,"page /Annots added or removed a form widget");continue}e.claimAll(A,t),e.permitted(A,t,"page /Annots changed")}}for(let s of qt)e.claimSubtree(s,o,A=>A==="AP"||A.startsWith("AP/")||A==="Popup"||A==="IRT",t)}function mG(e){if(e.locks.length===0)return;let t=e.input.before.fields.filter(a=>e.locks.some(o=>TA(o.spec,a.name))),r=new Set;for(let a of t){r.add(a.objectNumber);for(let o of a.widgets)r.add(o)}let n=new Set(r),i=!0;for(;i;){i=!1;for(let a of e.changes)n.has(a.objectNumber)||a.usage.old.length>0&&a.usage.old.every(o=>n.has(o.parent))&&(n.add(a.objectNumber),i=!0)}for(let a of e.changes){if(!n.has(a.objectNumber)||e.isIdentical(a))continue;let o=t.find(s=>s.objectNumber===a.objectNumber||s.widgets.includes(a.objectNumber));if(o&&o.objectNumber===a.objectNumber){let s=xt(a.value.old,a.value.new);if(s.size===1&&s.has("Ff")&&up(a,e.before.fieldByObj.get(a.objectNumber)?.flags)){e.claimStable(a,"field-lock"),e.permitted(a,"field-lock",`ReadOnly set on locked field "${o.name}"`);continue}}e.locked.add(a.objectNumber),e.forbidden(a,"field-lock",o?`field "${o.name}" is locked by the signature`:"part of a locked field changed")}}function wG(e){for(let t of e.changes){if(t.value.truncated){e.findings.push({rule:"unexplained",verdict:"incomplete",objectNumber:t.objectNumber,detail:"value too large to inspect"});continue}if(t.usageIncomplete){e.findings.push({rule:"unexplained",verdict:"incomplete",objectNumber:t.objectNumber,detail:"references could not be resolved within budget (depth, fan-out or total reads)"});continue}if(!e.locked.has(t.objectNumber)){for(let r of qt)for(let n of t.usage[r])e.isClaimed(t,r,n)||e.forbidden(t,"unexplained",`${r==="old"?"was":"is"} referenced from object ${n.parent} at ${n.label} and no rule explains it`,n);t.usage.old.length===0&&t.usage.new.length===0&&!e.findings.some(r=>r.objectNumber===t.objectNumber)&&e.permitted(t,"orphan","referenced from nowhere reachable")}}}function pp(e,t){let r=[],n=[],i=null,a=!1;for(let o of e.signatures){if(!o.signed||o.revisionIndex===null)continue;a=!0;let s=t!==null&&o.index===t.index;o.catalogCertification&&o.docMdp!==null&&(r.push({signatureIndex:o.index,revisionIndex:o.revisionIndex,source:"docmdp",own:s,permission:o.docMdp}),i=qi(i??"annotate",Ui(o.docMdp))),o.lock?.permission!==void 0&&(i=qi(i??"annotate",Ui(o.lock.permission))),!(t!==null&&!s)&&(o.fieldMdp&&(r.push({signatureIndex:o.index,revisionIndex:o.revisionIndex,source:"fieldmdp",own:s,fields:o.fieldMdp}),n.push({signatureIndex:o.index,source:"fieldmdp",spec:o.fieldMdp})),o.lock&&(r.push({signatureIndex:o.index,revisionIndex:o.revisionIndex,source:"lock",own:s,fields:o.lock}),n.push({signatureIndex:o.index,source:"lock",spec:o.lock})))}return{anchors:r,level:a?i??"annotate":"annotate",locks:n}}var Nf={maxDepth:16,maxEdgesPerObject:256,maxReads:2e4},$i="incomplete",jf="\\u2026",UA=class{constructor(e,t,r=Nf){this.read=e,this.anchors=t,this.budget=r,xe(this,"referrers",new Map),xe(this,"resolved",new Map),xe(this,"reads",0),xe(this,"exhausted",!1)}resolve(e){if(!this.resolved.has(e)){let t=this.componentsAbove(e);for(let r of t??[])if(!this.resolveComponent(r))break}return this.resolved.get(e)??"incomplete"}readReferrers(e){let t=this.referrers.get(e);if(t)return t;if(this.exhausted||this.reads>=this.budget.maxReads)return this.exhausted=!0,null;this.reads+=1;let r=this.read(e);return this.referrers.set(e,r),r}pendingParents(e){let t=new Set;for(let r of e)!this.anchors.has(r.parent)&&!this.resolved.has(r.parent)&&t.add(r.parent);return[...t]}componentsAbove(e){let t=new Map,r=new Map,n=[],i=new Set,a=[],o=[],s=A=>{let d=this.readReferrers(A);return d?(t.set(A,t.size),r.set(A,t.get(A)),n.push(A),i.add(A),a.push({node:A,parents:this.pendingParents(d),next:0}),!0):!1};if(!s(e))return null;for(;a.length>0;){let A=a[a.length-1];if(A.next0){let p=a[a.length-1].node;r.set(p,Math.min(r.get(p),r.get(d)))}if(r.get(d)===t.get(d)){let p=[],m;do m=n.pop(),i.delete(m),p.push(m);while(m!==d);o.push(p)}}return o}resolveComponent(e){let t=new Set(e),r=e.length===1?this.edgesOfSingle(e[0]):this.edgesOfLoop(e,t);if(!r){for(let n of e)this.resolved.set(n,null);return!1}for(let n of e)this.resolved.set(n,r.get(n));return!0}edgesOfSingle(e){let t=[];for(let n of this.referrers.get(e)){if(n.parent===e)continue;let i=this.through(n);if(!i)return null;t.push(...i)}let r=yf(t);return r.length>this.budget.maxEdgesPerObject?null:new Map([[e,r]])}edgesOfLoop(e,t){let r=new Map,n=new Map;for(let o of e){let s=[];for(let A of this.referrers.get(o)){if(t.has(A.parent))continue;let d=this.through(A);if(!d)return null;for(let p of d){s.push(p);let m=[...p.via??[],o];if(m.length>=this.budget.maxDepth)return null;let F={parent:p.parent,label:`${p.label}/${jf}`,via:m},k=n.get(qu(F));k?k.length===1&&_f(k[0])!==o&&k.push(F):n.set(qu(F),[F])}if(s.length>this.budget.maxEdgesPerObject)return null}s.length>0&&r.set(o,yf(s))}if(n.size>this.budget.maxEdgesPerObject)return null;let i=new Map,a=[...n.values()].map(o=>o[0]);for(let o of e){let s=r.get(o);if(!s){i.set(o,a);continue}let A=[];for(let p of n.values()){let m=p.find(F=>_f(F)!==o);m&&A.push(m)}let d=[...s,...A];if(d.length>this.budget.maxEdgesPerObject)return null;i.set(o,d)}return i}through(e){if(this.anchors.has(e.parent))return[e];let t=this.resolved.get(e.parent);if(!t)return null;let r=[];for(let n of t){let i=[...n.via??[],e.parent];if(i.length>=this.budget.maxDepth)return null;r.push({parent:n.parent,label:`${n.label}/${e.label}`,via:i})}return r}};function qu(e){return`${e.parent}:${e.label}`}function _f(e){return e.via[e.via.length-1]}function yf(e){let t=new Set;return e.filter(r=>{if(!r.label.includes(jf))return!0;let n=qu(r);return t.has(n)?!1:(t.add(n),!0)})}function lp(e){return{text:e.text,...e.regex?{regex:!0}:{},...e.matchCase?{matchCase:!0}:{},...e.wholeWord?{wholeWord:!0}:{},...e.matchDiacritics?{matchDiacritics:!0}:{},...e.ignoreWhitespace?{ignoreWhitespace:!0}:{}}}var Gf=/\\s/,bG=/\\s/g,Cf=(e,t)=>{let r=e.charCodeAt(t);return r>=56320&&r<=57343};function mp(e,t,r=48){let n=t.start+t.count,i=Math.max(0,t.start-r);if(i>0){for(let s=i;s=n;s--)if(Gf.test(e[s])){a=s;break}Cf(e,a)&&a--}let o=(s,A)=>e.slice(s,A).replace(bG," ");return{before:o(i,t.start),match:o(t.start,n),after:o(n,a)}}var fG=new Set([f.InvalidArg,f.NotFound,f.Forbidden,f.ProtectedDocument,f.MalformedPdf,f.PayloadTooLarge,f.ObjectNumberUnavailable,f.LayerFull,f.ChangeConflict,f.UndoUnavailable]);function qA(e){return fG.has(e)}function zA(e){let t=zu(e);return`${t.length.toString(36)}-${gG(t)}`}function zu(e){if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){let t=e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return JSON.stringify({$bytes:`${t.byteLength.toString(36)}-${FG(t)}`})}return Array.isArray(e)?`[${e.map(zu).join(",")}]`:e!==null&&typeof e=="object"?`{${Object.entries(e).filter(([,t])=>t!==void 0).sort(([t],[r])=>tr?1:0).map(([t,r])=>`${JSON.stringify(t)}:${zu(r)}`).join(",")}}`:JSON.stringify(e)??"null"}function gG(e){let t=3735928559,r=1103547991;for(let n=0;n>>16,2246822507),e^=Math.imul(t^t>>>13,3266489909),t=Math.imul(t^t>>>16,2246822507),t^=Math.imul(e^e>>>13,3266489909),(4294967296*(2097151&t)+(e>>>0)).toString(36)}function ge(e,t){lt(e,t);let{grants:r,protection:n}=e;if(r&&!zi(t,r.scope,r.permissionFlags,n))throw new je(t,"target")}function wp(e,t){let{grants:r,protection:n}=e;return n&&fn(n).has(t)?!1:!r||zi(t,r.scope,r.permissionFlags,n)}function lt(e,t){let{protection:r}=e;if(r&&fn(r).has(t))throw new g(f.ProtectedDocument,Xu(t,r))}function Ar(e){return e==="widget"?"doc.forms.modify":"doc.annotate.modify"}function Eo(e){return[...new Set(e.map(t=>Ar(t.subtype)))]}function Vf(e,t){let{identity:r,grants:n}=e;if(n&&!zi("doc.forms.modify",n.scope,n.permissionFlags))throw new je("doc.forms.modify","target");if(typeof t=="string")throw new g(f.InvalidArg,"a widget has no group of its own: a form field\'s group is the field\'s");let i={...r.userId!==void 0?{userId:r.userId}:{},...r.displayName!==void 0?{displayName:r.displayName}:{}};return i.userId||i.displayName?i:void 0}function ZA(e,t,r){if(t==="widget")return Vf(e,r);let{identity:n,grants:i}=e;if(r===null&&n.groupId!==void 0)throw new g(f.InvalidArg,"your annotations have a group: leave groupId out for your own, or name another",{details:{field:"groupId"}});let a=r===void 0?n.groupId:r??void 0;if(i){if(a!==void 0&&!vo("annotations",a,n.groupId,i.scope))throw new je(`annotations:set-group:group=${a}`,"target");if(!Fo("create",go({userId:n.userId,groupId:a}),i.scope,n,i.permissionFlags))throw new je("annotations:create","target")}let o={...n.userId!==void 0?{userId:n.userId}:{},...a!==void 0?{groupId:a}:{},...n.displayName!==void 0?{displayName:n.displayName}:{}};return o.userId||o.groupId||o.displayName?o:void 0}function JA(e,t,r){if(t.subtype==="widget")return Vf(e,r);let{identity:n,grants:i}=e,a=go(t);if(i&&!Fo("update",a,i.scope,n,i.permissionFlags))throw new je("annotations:update","target");if(r===null&&a.groupId!==void 0)throw new g(f.InvalidArg,"an annotation\'s group can\'t be removed");let o=typeof r=="string"&&r!==a.groupId;if(o&&i&&!vo("annotations",r,n.groupId,i.scope))throw new je(`annotations:set-group:group=${r}`,"target");let s={...n.userId!==void 0?{userId:n.userId}:{},...n.displayName!==void 0?{displayName:n.displayName}:{},...o?{groupId:r}:{}};return s.userId||s.groupId||s.displayName?s:void 0}function $A(e,t){let{identity:r,grants:n}=e;if(!n)return;let i=zi("doc.forms.modify",n.scope,n.permissionFlags),a=t.filter(o=>o.subtype==="widget"?!i:!Fo("delete",go(o),n.scope,r,n.permissionFlags));if(a.length>0)throw new je("annotations:delete","target",void 0,a.map(o=>o.ref))}function Tn(e,t,r){if(lt(e,LA(r)),!cr(e,t,r))throw new je(t===null?LA(r):`fields:${r}:group=${t}`,"target")}function cr(e,t,r){let{grants:n,protection:i}=e;return i&&fn(i).has(LA(r))?!1:!n||Wu(r,t,n.scope,n.permissionFlags,i)}function bp(e,t){let{grants:r,protection:n}=e;return n&&fn(n).has(LA(t))?!1:!r||Uu(t,r.scope,r.permissionFlags,n)}function ec(e,t){let{identity:r,grants:n}=e;if(n&&!vo("fields",t,r.groupId,n.scope))throw new je(`fields:set-group:group=${t}`,"target")}function LA(e){return e==="fill"?"doc.forms.fill":"doc.sign"}var Ane=Array.from({length:128},(e,t)=>({print:(t&1)!==0,modifyContents:(t&2)!==0,copy:(t&4)!==0,modifyAnnotations:(t&8)!==0,fillForms:(t&16)!==0,copyForAccessibility:!1,assemble:(t&32)!==0,printHighQuality:(t&64)!==0}));var L={UNKNOWN:0,TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,RICHMEDIA:26,XFAWIDGET:27,REDACT:28},Yf=Object.freeze({[L.TEXT]:"text",[L.LINK]:"link",[L.FREETEXT]:"free-text",[L.LINE]:"line",[L.SQUARE]:"square",[L.CIRCLE]:"circle",[L.POLYGON]:"polygon",[L.POLYLINE]:"polyline",[L.HIGHLIGHT]:"highlight",[L.UNDERLINE]:"underline",[L.SQUIGGLY]:"squiggly",[L.STRIKEOUT]:"strikeout",[L.STAMP]:"stamp",[L.CARET]:"caret",[L.INK]:"ink",[L.POPUP]:"popup",[L.FILEATTACHMENT]:"file-attachment",[L.WIDGET]:"widget",[L.REDACT]:"redact"}),tc=Object.freeze({text:L.TEXT,link:L.LINK,"free-text":L.FREETEXT,line:L.LINE,square:L.SQUARE,circle:L.CIRCLE,polygon:L.POLYGON,polyline:L.POLYLINE,highlight:L.HIGHLIGHT,underline:L.UNDERLINE,squiggly:L.SQUIGGLY,strikeout:L.STRIKEOUT,stamp:L.STAMP,caret:L.CARET,ink:L.INK,popup:L.POPUP,"file-attachment":L.FILEATTACHMENT,redact:L.REDACT,widget:L.WIDGET,unsupported:L.UNKNOWN});function Yr(e){return Yf[e]??"unsupported"}var _o=["color","interiorColor","strokeWidth","borderStyle","dashArray","fontFamily","fontSize","fontColor","textAlign","caption","checkStyle"];function ea(e){let t=[],r=(n,i)=>{if(!(typeof n!="object"||n===null)){if(Array.isArray(n)){n.forEach(a=>r(a));return}if(i==="page"&&Xf(n)){t.push(n);return}Object.entries(n).forEach(([a,o])=>r(o,a))}};return r(e),t}function nc(e,t){let r=(n,i)=>typeof n!="object"||n===null?n:Array.isArray(n)?n.map(a=>r(a)):i==="page"&&Xf(n)?t(n):Object.fromEntries(Object.entries(n).map(([a,o])=>[a,r(o,a)]));return r(e)}function Xf(e){return Object.keys(e).length===2&&e.kind==="objectNumber"&&typeof e.objectNumber=="number"}var fp={own:0,builtIn:1},Uf=e=>e==="truetype"||e==="opentype",gp=e=>e==="installable"||e==="editable";function ta(e){return e.embedded==="whole"&&Uf(e.format)&&e.mapsUnicode&&gp(e.permission)}function qf(e){return e.displaySha256!==null&&(e.permission===null||gp(e.permission))}function Fp(e){let t=[];return e.embedded==="none"?(t.push(e.format==="type3"?"unsupported-format":"not-embedded"),t):(e.embedded==="subset"&&t.push("subset"),Uf(e.format)?e.mapsUnicode||t.push("no-unicode-map"):t.push("unsupported-format"),e.permission!==null&&!gp(e.permission)&&t.push("preview-and-print"),t)}function PG(e){let t=qf(e);return{displaySha256:t?e.displaySha256:null,sourceSha256:e.embedded==="none"?null:e.sha256,embedded:e.embedded,format:e.embedded==="none"?null:e.format,embeddingPermission:e.permission==="restricted"||e.permission==="bitmap-only"?"preview-and-print":e.permission,canDownload:t}}var Wf=e=>ta(e)?0:qf(e)?1:e.embedded!=="none"?2:3,hG={100:"Thin",200:"ExtraLight",300:"Light",400:"",500:"Medium",600:"SemiBold",700:"Bold",800:"ExtraBold",900:"Black"};function rc(e,t){if(t)return t;let r=`${hG[e.weight]??String(e.weight)}${e.italic?"Italic":""}`;return r?`${e.familyName},${r}`:e.familyName}function na(e){let t=new Map;for(let r of e)for(let n of r.programs){if(!n.postScriptName&&r.familyName==="")continue;let i=rc(r,n.postScriptName),a=t.get(i)??[];a.some(({program:o})=>n.objectNumber>0?o.objectNumber===n.objectNumber&&o.displaySha256===n.displaySha256:o.objectNumber===0&&o.embedded===n.embedded&&o.format===n.format&&o.sha256===n.sha256)||a.push({face:r,program:n}),t.set(i,a)}return[...t].map(([r,n])=>{let i=[...n].sort((A,d)=>Wf(A.program)-Wf(d.program)),{familyName:a,weight:o,italic:s}=i[0].face;return{name:r,face:{familyName:a,weight:o,italic:s},programs:i.map(({program:A})=>A)}})}function zf(e){return Cd(e.face.familyName)!==void 0&&e.programs.every(t=>t.embedded==="none")}function kG(e){let t=e.programs[0];return{name:e.name,source:"document",builtIn:!1,familyName:e.face.familyName,weight:e.face.weight,italic:e.face.italic,postScriptName:t?.postScriptName??null,canChoose:t?ta(t):!1,restrictions:t?Fp(t):["not-embedded"],programs:e.programs.map(PG)}}function DG(e){let{identity:t}=e,r=[];return t.editingAuthorized||r.push("preview-and-print"),e.served||r.push("not-served"),{name:e.key,source:"engine",builtIn:e.builtIn,familyName:t.familyName,weight:t.weight,italic:t.italic,postScriptName:e.postScriptName,canChoose:t.editingAuthorized,restrictions:r,programs:[{displaySha256:e.sha256,sourceSha256:e.sha256,embedded:"none",format:e.format,embeddingPermission:t.embeddingPermission,canDownload:e.served}]}}function BG(e,t){let r=pn[e];return{name:e,source:"standard",builtIn:!0,familyName:r.family,weight:r.weight,italic:r.italic,postScriptName:null,canChoose:!0,restrictions:[],programs:[{displaySha256:t.standardDisplayHash(e),sourceSha256:null,embedded:"none",format:null,embeddingPermission:null,canDownload:!0}]}}function vp(e,t){let r=i=>i.programs.some(a=>a.sha256===t.lastResortDisplayHash),n=na(e.faces).filter(i=>!zf(i)&&!r(i)).map(kG);return{fonts:[..._r.map(i=>BG(i,t)),...e.engineFonts.map(DG),...n],fallbacks:[...e.fallbacks],lastResort:{displaySha256:t.lastResortDisplayHash,sourceSha256:null,embedded:"none",format:"truetype",embeddingPermission:"installable",canDownload:!0}}}function ic(e,t){let r=na(e.faces).find(i=>i.name===t&&!zf(i));if(!r)return;let n=r.programs[0];return n?{objectNumber:n.objectNumber,choosable:ta(n)&&n.objectNumber>0,restrictions:Fp(n)}:{objectNumber:0,choosable:!1,restrictions:["not-embedded"]}}var Zf={elsewhere:0,near:1,visible:2},Jie=2**40;function Xr(e,t){let r=Zf[e.place]-Zf[t.place];return r!==0?r>0:e.pixels>t.pixels}var Wr=Object.freeze([]);function N(e,t=Wr){return{payload:e,transfer:t}}var Y=0n;var yG={EPDF_CheckPasswordPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_DigestBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_FreeBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDF_GetDecodedImageBytes:{params:[],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetMetaKeyCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetMetaKeyName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetMetaTrapped:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetPageBoxByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_GetPageRotateByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_GetPageTabOrderByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetPageUserUnitByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_HasMetaText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_InitThread:{params:[],result:null},EPDF_IsEncrypted:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_IsOwnerUnlocked:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_LoadBaseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_LoadMemBaseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_LoadMemBaseDocument64:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_LoadPageNormalized:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_PNG_EncodeRGBA:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_ReleaseBaseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDF_RemoveEncryption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_RenderAnnotBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_RenderAnnotBitmapUnrotated:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_RenderPage_Continue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_RenderPageBitmapWithMatrix_Start:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_SaveAsCopyEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_SaveDocumentToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_SaveDocumentToOwnedBufferEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_SaveDocumentToOwnedBufferWithVersion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_SetBaseDocumentSha256:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:null},EPDF_SetDecodedImageBudget:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},EPDF_SetEncryption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_SetMetaText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_SetMetaTrapped:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_SetRuntimeOwnerPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_ShutdownThread:{params:[],result:null},EPDF_UnlockOwnerPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_CloseModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFAction_CreateGoTo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateGoToNamed:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateHide:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateJavaScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateLaunch:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateNamed:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateRemoteGoToByName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateRemoteGoToDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateResetForm:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateSubmitForm:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateURI:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_GetNextAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNextCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_GetNodeFilePath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeHideFlag:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetNodeJavaScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeResetForm:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetNodeSubmitForm:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetNodeSubmitFormCharSet:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeSubmitFormURL:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeTargetCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeTargetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeTargetObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetNodeType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeURI:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeURIIsMap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetRootNode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetWarningFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_IsComplete:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_LoadModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_NodeHasJavaScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_SetNext:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_AddMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_ClearBorderEffect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearEmbedMetadataKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearMKColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearRectangleDifferences:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ExportAppearance:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_GenerateAppearance:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GenerateAppearanceWithBlend:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GenerateFormFieldAP:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_GetAPMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetAppearanceState:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetAppearanceStateCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetAppearanceStateName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetAppearanceTransform:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetAvailableAppearanceModes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetBlendMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetBooleanValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetBorderDashPattern:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetBorderDashPatternCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetBorderEffect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetBorderStyle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetCalloutLine:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetCalloutLineCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetDefaultAppearance:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetDefaultAppearanceFontFace:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetDefaultAppearanceFontPostScriptName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetDrawingRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetEmbedMetadataBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetEmbedMetadataJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetEmbedMetadataNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetEmbedMetadataRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetEmbedMetadataString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetFileAttachmentForWrite:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_GetIntent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetLineCaption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetLineEndings:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetLineLeader:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_GetMKColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetMKRotation:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetMKText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetMKTextPosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetOpacity:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetOverlayText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetOverlayTextRepeat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetRectangleDifferences:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetReplyType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetRichContent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetRichTextJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetRotate:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetShapeCaption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetStampDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetStructurePosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetTextAlignment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_HasAppearanceStream:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_HasEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_IsValid:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_RemoveAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_RemoveDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_RemoveKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_RemoveMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetAPMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetAppearanceFromPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetBooleanValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetBorderDashPattern:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetBorderEffect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetBorderStyle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetCalloutLine:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetDefaultAppearance:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetDefaultAppearanceDocumentFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetDefaultAppearanceRegisteredFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEventAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetIntent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLine:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLineCaption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLineEndings:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLineLeader:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLinkedAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetMKColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetMKRotation:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetMKText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetMKTextPosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetNoColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetNumberValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetOpacity:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetOverlayText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetOverlayTextRepeat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetReplyType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetRichTextJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetRichTextXHTML:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetRotate:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetShapeCaption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetStampDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetStampOpacity:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetTextAlignment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetVertices:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_UpdateAppearanceToRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_ExportCanonicalToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAttachment_ExportRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAttachment_ExtractFile:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_ExtractFileToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_GetDescription:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAttachment_GetIntegerValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_ImportRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_SetDescription:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_SetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_SetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFCatalog_GetLanguage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFCatalog_GetMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFCatalog_SetMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDest_CreateRemoteView:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateRemoteXYZ:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateView:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateViewByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateXYZ:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateXYZByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_GetPageObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDest_GetViewNullParams:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_CanonicalDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ClearMissingCharacters:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFDoc_ClearPagePieceInfoEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ClearPagePieceInfoKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ClearPieceInfoEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ClearPieceInfoKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_CompareRevisions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_CountMissingCharacters:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_DeletePageByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ExportDictCanonicalToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ExportDictRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ExportDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ExportPagesFlattened:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetAdditionalActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetAttachmentIndexByKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetAttachmentKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetBaseBytesSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}}},EPDFDoc_GetFontDisplayProgramCoverage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetFontDisplayProgramData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetFontEmbeddingPolicy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetFontProgramData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetFontsFingerprint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetImportFieldRoots:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetLastModified:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetLoadedBytesSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}}},EPDFDoc_GetMissingCharacter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetNamedJavaScriptActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetNamedPageAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetNamedPageCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetOpenActionDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetOpenActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetPageActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetPageLabelSectionAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPageLabelSectionCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPageLastModified:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPageObjectNumberByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetPagePieceInfoEntryAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoEntryCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoKeyAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoKeyCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoLastModified:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetPagePieceInfoString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoStringArrayAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoStringArrayCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetPieceInfoEntryAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoEntryCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoKeyAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoKeyCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoLastModified:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetPieceInfoString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoStringArrayAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoStringArrayCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetRevision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetRevisionCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetStampDrawings:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetStructureObjectNumbers:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetTypographicFeatures:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_HasPagePieceInfoEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_HasPieceInfoEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ImportDictRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ImportDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_ImportPages:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_LoadPageByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_LoadPageByObjectNumberNormalized:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_OpenBaseOverlay:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_OpenBaseOverlayFromPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_OpenRevision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ReadLoadedBytes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_RemoveNamedPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_RemoveNamedPagesForPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_ResolveFonts:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_SetFontEmbeddingPolicy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetNamedPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPageLabelSections:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoStringArray:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPageRotationByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoStringArray:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetTypographicFeatures:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_StartLoadPageByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDocument_ClearEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_AddFallbackFont:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_AuthorizeEditing:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_ClearFallbackFonts:{params:[],result:null},EPDFFont_ClearRegisteredFonts:{params:[],result:null},EPDFFont_GetCoverage:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetEmbeddingPermission:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetFallbackOrder:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetFamilyName:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetLastResortFont:{params:[],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetMetrics:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_GetPostScriptName:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetProgramData:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetProgramFormat:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetProgramHash:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_GetWeight:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_IsEditingAuthorized:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_IsInstanced:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_IsItalic:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_RegisterFont:{params:[{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_RegisterMemFont:{params:[{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_RegisterMemFont64:{params:[{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_SetLastResortFont:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFFontFaces_Count:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_CountPrograms:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetFamily:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramDisplayHash:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_GetProgramEmbedded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramEmbeddingPermission:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramFormat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramHash:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_GetProgramMetrics:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_GetProgramObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramPostScriptName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetWeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_IsItalic:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_Load:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFFontFaces_ProgramMapsUnicode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontResolution_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFFontResolution_CountMissingCharacters:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetBaseFontName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetFallbacks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetFamily:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetMissingCharacter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetProgramDisplayHash:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontResolution_GetProgramObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetRegisteredFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetSource:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetWeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_IsDegraded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontResolution_IsItalic:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_AttachWidget:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_ClearFieldEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_ClearFieldEmbedMetadataKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_CloseModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFForm_CountCalculationOrder:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFieldDefaultValues:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFieldOptions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFields:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFieldValues:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFieldWidgets:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CreateField:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_DeleteField:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_DetachWidget:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_ExportFDF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_ExportFieldRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFForm_ExportXFDF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetCalculationOrderFieldIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFForm_GetFieldAlternateName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldDefaultValueAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldDefaultValueKind:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldEmbedMetadataBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_GetFieldEmbedMetadataJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldEmbedMetadataNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_GetFieldEmbedMetadataString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldFamily:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldIndexByObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldIndexForWidget:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldMappingName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldMaxLen:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldOptionLabel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldOptionValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldOrigin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldPartialName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldTopIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldValueAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldValueKind:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetExportValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetOnState:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetPageObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_GetFormKind:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetNeedAppearances:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_HasFieldEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_ImportFieldRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_IsFieldOptionSelected:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_IsFieldWidgetChecked:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_LoadModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFForm_RedrawFieldWidgets:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_Repair:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetCalculationOrder:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldAlternateName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldAppearanceText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldDefaultValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldDisplay:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEmbedMetadataBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEmbedMetadataJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEmbedMetadataNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEmbedMetadataString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEventAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldMappingName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldMaxLen:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldOptions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldSelectedIndices:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldWidgetsChecked:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFImageObj_SetJpeg:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFImageObj_SetPng:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_AbortTransaction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_BeginTransaction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_CommitTransaction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_GetBaseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_GetBaseSha256:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_GetBirthName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_GetBirthObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFLayer_GetLastObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFLayer_GetPromotedObjectCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFLayer_IsInTransaction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_IsObjectPromoted:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_IsPagePromoted:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_OpenLayer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_OpenLayerArtifact:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_OpenLayerArtifactFromPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_RaiseLastObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveDelta:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveDeltaEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveDeltaToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_SaveDeltaToOwnedBufferEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_SaveLayerArtifact:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveLayerArtifactEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveLayerArtifactToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_SaveLayerArtifactToOwnedBufferEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFMeasure_AddFormat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFMeasure_CountFormats:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFMeasure_GetCYX:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_GetFormat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFMeasure_GetOrigin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_GetRatio:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFMeasure_GetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFMeasure_RemoveFormats:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_SetCYX:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_SetOrigin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_SetRatio:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNamedDest_Remove:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNamedDest_SetDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetConversion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetFixedDenominator:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetFraction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetLabelPosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetPrecision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFNumberFormat_GetUnit:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFNumberFormat_SetConversion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetFixedDenominator:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetFraction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetLabelPosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetPrecision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetUnit:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFObjectDiff_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFObjectDiff_GetCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFObjectDiff_GetEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFObjectDiff_GetReadStatus:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFObjectDiff_GetReferrer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFObjectDiff_GetReferrerCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFObjectDiff_GetRevisionHealth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFObjectDiff_GetValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFOutline_CreateItem:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFOutline_DeleteItem:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_ExportItemRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFOutline_GetItem:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFOutline_GetObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFOutline_ImportItemRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_MoveItem:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetOpen:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetStyle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetTitle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_AddViewport:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ApplyRedactions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_ContinueLoad:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_CountViewports:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_CreateAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_CreateAnnotRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ExportAnnotationsAsDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ExportAnnotsRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ExportRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_FindViewport:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_Flatten:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_FlattenAnnotations:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetAnnotByName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_GetAnnotByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_GetAnnotCountRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetAnnotIndexByNameRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetAnnotIndexByObjectNumberRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetAnnotRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_GetObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetParsedSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_GetViewport:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ImportAnnotsRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_ImportRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_InsertBlankRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_IsContentCurrent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_IsValid:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_MoveAnnots:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_MoveAnnotsRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_PromoteInlineAnnotsRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_RemoveAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_RemoveAnnotByName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_RemoveAnnotByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_RemoveAnnotRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_RemoveViewport:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_ResetRenderCache:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_CloseModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFSig_Count:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_DigestByteRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_DigestFileRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_GetByteRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_GetContents:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetCoverage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetDocMDPPermission:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldMDPAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldNameAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldNameCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetIndexByFieldObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetKind:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetLockAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetLockPermission:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetRevisionIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueFilter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueListAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueListCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueMDP:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValuePresentFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueRequiredFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueVersion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetValueObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetWidgetObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetWidgetPageObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_HasSeedValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_IsCatalogCertification:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_IsRevisionChainValid:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_IsSigned:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_LoadModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFSig_Prepare:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_SaveCandidate:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_SaveCandidateToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFSig_Seal:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_SealSpan:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_SetFieldLock:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_WriteContents:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFText_GetCharGeometry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFText_GetCharToTextMap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFText_GetTextFull:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFText_RedactInQuads:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFText_RedactInRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFViewport_AddMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFViewport_GetBBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFViewport_GetMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFViewport_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFViewport_RemoveMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFViewport_SetBBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFViewport_SetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_CanRedo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_CanUndo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_DoDocumentAAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FORM_DoDocumentJSAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_DoDocumentOpenAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_DoPageAAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FORM_ForceToKillFocus:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_GetFocusedAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_GetFocusedText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FORM_GetSelectedText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FORM_GetTextDirection:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FORM_IsIndexSelected:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnAfterLoadPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_OnBeforeClosePage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_OnChar:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnFocus:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnKeyDown:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnKeyUp:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnLButtonDoubleClick:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnLButtonDown:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnLButtonUp:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnMouseMove:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnMouseWheel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnRButtonDown:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnRButtonUp:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_Redo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_ReplaceAndKeepSelection:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_ReplaceSelection:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_SelectAllText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_SetFocusedAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_SetIndexSelected:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_SetTextDirection:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_Undo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_AddInstalledFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_CloseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_ClosePage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_CloseXObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_CopyViewerPreferences:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_CountNamedDests:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_CreateClipPath:{params:[{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_CreateNewDocument:{params:[],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_DestroyClipPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_DestroyLibrary:{params:[],result:null},FPDF_DeviceToPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_DocumentHasValidCrossReferenceTable:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_FFLDraw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_FreeDefaultSystemFontInfo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_GetDefaultSystemFontInfo:{params:[],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetDefaultTTFMap:{params:[],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetDefaultTTFMapCount:{params:[],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetDefaultTTFMapEntry:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetDocPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetDocUserPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetFileIdentifier:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetFileVersion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_GetFormType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetLastError:{params:[],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetMetaText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetNamedDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetNamedDestByName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetPageAAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetPageBoundingBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_GetPageCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetPageHeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}},FPDF_GetPageHeightF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}},FPDF_GetPageLabel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetPageSizeByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetPageSizeByIndexF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_GetPageWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}},FPDF_GetPageWidthF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}},FPDF_GetSecurityHandlerRevision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetSignatureCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetSignatureObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetTrailerEnds:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetXFAPacketContent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_GetXFAPacketCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetXFAPacketName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_ImportNPagesToOne:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_ImportPages:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_ImportPagesByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_InitLibrary:{params:[],result:null},FPDF_InitLibraryWithConfig:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_LoadCustomDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadDocument:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadMemDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadMemDocument64:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadXFA:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_MovePages:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_NewFormObjectFromXObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_NewXObjectFromPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_PageToDevice:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_RemoveFormFieldHighlight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_RenderPage_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_RenderPage_Continue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_RenderPageBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_RenderPageBitmap_Start:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_RenderPageBitmapWithColorScheme_Start:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_RenderPageBitmapWithMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_SaveAsCopy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_SaveWithVersion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_SetFormFieldHighlightAlpha:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_SetFormFieldHighlightColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_SetSandBoxPolicy:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:null},FPDF_SetSystemFontInfo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_StructElement_Attr_CountChildren:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_Attr_GetBlobValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetBooleanValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetChildAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_Attr_GetCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_Attr_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetNumberValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_Attr_GetValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_CountChildren:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetActualText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetAltText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetAttributeAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_GetAttributeCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetChildAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_GetChildMarkedContentID:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetExpansion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetID:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetLang:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetMarkedContentID:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetMarkedContentIdAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetMarkedContentIdCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetObjType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetParent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_GetRawType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetStringAttribute:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetTitle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructTree_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_StructTree_CountChildren:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructTree_GetChildAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructTree_GetForPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_VIEWERREF_GetDuplex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetNumCopies:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetPrintPageRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_VIEWERREF_GetPrintPageRangeCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetPrintPageRangeElement:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetPrintScaling:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAction_GetDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAction_GetFilePath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAction_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAction_GetURIPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_AddFileAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_AddInkStroke:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_AppendAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_AppendObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_CountAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetAP:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetBorder:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetFileAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFocusableSubtypes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetFocusableSubtypesCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFontColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetFontSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetFormAdditionalActionJavaScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormControlCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormControlIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldAlternateName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetFormFieldExportValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetInkListCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetInkListPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetLine:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetLink:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetLinkedAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetNumberValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetObjectCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetOptionCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetOptionLabel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetVertices:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_HasAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_HasKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_IsChecked:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_IsObjectSupportedSubtype:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_IsOptionSelected:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_IsSupportedSubtype:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_RemoveInkList:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_RemoveObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetAP:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetBorder:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetFocusableSubtypes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetFontColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetFormFieldFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetURI:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_UpdateObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_GetAFRelationship:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetDescription:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetFile:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_HasKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_SetDescription:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_SetFile:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_SetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAvail_Create:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAvail_Destroy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFAvail_GetDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAvail_GetFirstPageNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAvail_IsDocAvail:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAvail_IsFormAvail:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAvail_IsLinearized:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAvail_IsPageAvail:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBitmap_Create:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBitmap_CreateEx:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBitmap_Destroy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFBitmap_FillRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFBitmap_GetBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBitmap_GetFormat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBitmap_GetHeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBitmap_GetStride:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBitmap_GetWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBookmark_Find:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFBookmark_GetCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBookmark_GetDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetFirstChild:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetNextSibling:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetStyle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBookmark_GetTitle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFCatalog_GetLanguage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFCatalog_IsTagged:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFCatalog_SetLanguage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFClipPath_CountPaths:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFClipPath_CountPathSegments:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFClipPath_GetPathSegment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFDest_GetDestPageIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDest_GetLocationInPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFDest_GetView:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDoc_AddAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFDoc_CloseJavaScriptAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFDoc_DeleteAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFDOC_ExitFormFillEnvironment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFDoc_GetAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFDoc_GetAttachmentCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDoc_GetJavaScriptAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFDoc_GetJavaScriptActionCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDoc_GetPageMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDOC_InitFormFillEnvironment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFFont_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFFont_GetAscent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetBaseFontName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFont_GetDescent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetFamilyName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFont_GetFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFont_GetFontData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetGlyphPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFFont_GetGlyphWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetIsEmbedded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFont_GetItalicAngle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetWeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFormObj_CountObjects:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFormObj_GetObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFFormObj_RemoveObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFGlyphPath_CountGlyphSegments:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFGlyphPath_GetGlyphPathSegment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFImageObj_GetBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFImageObj_GetIccProfileDataDecoded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_GetImageDataDecoded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFImageObj_GetImageDataRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFImageObj_GetImageFilter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFImageObj_GetImageFilterCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFImageObj_GetImageMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_GetImagePixelSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_GetRenderedBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFImageObj_LoadJpegFile:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_LoadJpegFileInline:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_SetBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_SetMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFJavaScriptAction_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFJavaScriptAction_GetScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_CloseWebLinks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFLink_CountQuadPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_CountRects:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_CountWebLinks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_Enumerate:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFLink_GetAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFLink_GetAnnotRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFLink_GetLinkAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFLink_GetLinkZOrderAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_GetQuadPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetTextRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetURL:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_LoadWebLinks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_CloseAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFPage_CountObjects:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_CreateAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_Delete:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDFPage_Flatten:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_FormFieldZOrderAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GenerateContent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_GetAnnotCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetAnnotIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetArtBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetBleedBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetCropBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetDecodedThumbnailData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetMediaBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_GetRawThumbnailData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetRotation:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetThumbnailAsBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_GetTrimBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_HasFormFieldAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_HasTransparency:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_InsertClipPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFPage_InsertObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_InsertObjectAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_New:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_RemoveAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_RemoveObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_SetArtBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_SetBleedBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_SetCropBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_SetMediaBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_SetRotation:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDFPage_SetTrimBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_TransformAnnots:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:null},FPDFPage_TransFormWithClip:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_AddExistingMark:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_AddMark:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_CountMarks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_CreateNewPath:{params:[{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_CreateNewRect:{params:[{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_CreateTextObj:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_Destroy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFPageObj_GetBounds:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetClipPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_GetDashArray:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetDashCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_GetDashPhase:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetFillColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetIsActive:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetLineCap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_GetLineJoin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_GetMark:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_GetMarkedContentID:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_GetMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetRenderedFillPattern:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_GetRenderedStrokePattern:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_GetRotatedBounds:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetStrokeColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetStrokeWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_HasTransparency:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_NewImageObj:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_NewTextObj:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_RemoveMark:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetBlendMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:null},FPDFPageObj_SetDashArray:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetDashPhase:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetFillColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetIsActive:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetLineCap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetLineJoin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetStrokeColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetStrokeWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_Transform:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:null},FPDFPageObj_TransformClipPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:null},FPDFPageObj_TransformF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_CountParams:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObjMark_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamBlobValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamFloatValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamIntValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObjMark_RemoveParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_SetBlobParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_SetFloatParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_SetIntParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_SetStringParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_BezierTo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_CountSegments:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPath_GetBezierControlPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_GetDrawMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_GetPathSegment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPath_LineTo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_MoveTo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_SetDrawMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPathSegment_GetClose:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPathSegment_GetPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPathSegment_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetByteRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetContents:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetDocMDPPermission:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetReason:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetSubFilter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetTime:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_ClosePage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFText_CountChars:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_CountRects:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_FindClose:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFText_FindNext:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_FindPrev:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_FindStart:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_GetBoundedText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetCharAngle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}},FPDFText_GetCharBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetCharIndexAtPos:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetCharIndexFromTextIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetCharOrigin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetFillColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetFontInfo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetFontSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}},FPDFText_GetFontWeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetLooseCharBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetSchCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetSchResultIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetStrokeColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetTextIndexFromCharIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetTextObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_GetUnicode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_HasUnicodeMapError:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_IsGenerated:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_IsHyphen:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_LoadCidType2Font:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_LoadFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_LoadPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_LoadStandardFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_SetCharcodes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_SetPositions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_SetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFTextObj_GetFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFTextObj_GetFontSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFTextObj_GetRenderedBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFTextObj_GetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFTextObj_GetTextRenderMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFTextObj_SetFontSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFTextObj_SetTextRenderMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}}};function ra(e){return BigInt(typeof e=="number"?e>>>0:e)}function Ot(e){return Number(e)}function eg(e){switch(e){case"i8":return"i8";case"i16":return"i16";case"i32":return"i32";case"i64":return"i64";case"f32":return"float";case"f64":return"double";case"ptr":return"*"}}function GG(e){let t=e._malloc??e.wasmExports?.malloc,r=e._free??e.wasmExports?.free;if(!t||!r)throw new Error("WASM runtime does not expose malloc/free");return{alloc(n){return ra(t(n))},free(n){r(Ot(n))},readBytes(n,i){return e.HEAPU8.slice(Ot(n),Ot(n)+i)},writeBytes(n,i){e.HEAPU8.set(i,Ot(n))},readU8String(n){return e.UTF8ToString?.(Ot(n))??""},writeU8String(n){let i=new TextEncoder().encode(`${n}\\0`),a=ra(t(i.length));return e.HEAPU8.set(i,Ot(a)),a},readU16String(n){return e.UTF16ToString?.(Ot(n))??""},writeU16String(n){let i=(n.length+1)*2,a=ra(t(i));return e.stringToUTF16?.(n,Ot(a),i),a},peek(n,i,a=0){let o=e.getValue?.(Ot(n)+a,eg(i))??0;return i==="ptr"?ra(o):o},poke(n,i,a,o=0){let s=i==="ptr"&&typeof a=="bigint"?Number(a):a;e.setValue?.(Ot(n)+o,s,eg(i))}}}function CG(e){return{register(t,r){if(!e.addFunction)throw new Error("WASM runtime does not expose addFunction");return BigInt(e.addFunction(r,t))},dispose(t){e.removeFunction?.(Ot(t))}}}function IG(e,t){return{fromMemory(r){let n=r instanceof Uint8Array?r:new Uint8Array(r);if(n.byteLength>4294967295)throw new RangeError("FPDF_FILEACCESS on wasm supports files up to 4 GiB");let i=e.alloc(12),a=null,o=!1;try{return a=t.register("iiiii",(s,A,d,p)=>{let m=Number(A),F=Number(p);return!Number.isSafeInteger(m)||!Number.isSafeInteger(F)||m<0||F<0||m+F>n.byteLength?0:(e.writeBytes(ra(d),n.subarray(m,m+F)),1)}),e.poke(i,"i32",n.byteLength,0),e.poke(i,"i32",Ot(a),4),e.poke(i,"i32",0,8),{ptr:i,close(){o||(o=!0,t.dispose(a),e.free(i))}}}catch(s){throw a&&t.dispose(a),e.free(i),s}},fromNodeFile(){throw new Error("fromNodeFile() is only available on the native Node runtime")},readRange(){throw new Error("readRange() is only available on the native Node runtime")},sizeOf(){throw new Error("sizeOf() is only available on the native Node runtime")}}}function SG(){return{toNodeFile(){throw new Error("toNodeFile() is only available on the native Node runtime")},writeRange(){throw new Error("writeRange() is only available on the native Node runtime")},appendBytes(){throw new Error("appendBytes() is only available on the native Node runtime")},removeFile(){throw new Error("removeFile() is only available on the native Node runtime")}}}function xG(e,t){return e&&e.ts==="Ptr"&&typeof t=="bigint"?Number(t):t}function HG(e,t){if(e)return e.ts==="Ptr"&&typeof t=="number"?ra(t):e.ts==="bigint"&&typeof t=="number"?BigInt(t):t}function OG(e,t){let r=[];return e.params.forEach((n,i)=>{if(n.wasm.kind==="i64"){let a=BigInt(t[i]??0);r.push(Number(a&0xffffffffn),Number(a>>32n&0xffffffffn))}else r.push(t[i])}),r}function QG(e){let t={},r=yG;for(let[n,i]of Object.entries(r)){let a=i.params.some(s=>s.wasm.kind==="i64"),o=s=>(...A)=>{let d=A.map((p,m)=>xG(i.params[m],p));return HG(i.result,s(...a?OG(i,d):d))};if(e.cwrap){let s=i.params.flatMap(A=>A.wasm.kind==="i64"?["number","number"]:[A.wasm.cwrap]);t[n]=o(e.cwrap(n,i.result?i.result.wasm.cwrap:null,s))}else typeof e[`_${n}`]=="function"&&(t[n]=o(e[`_${n}`].bind(e)))}return t}function RG(e){let t={...e.wasm??{}};e.wasmBinary!==void 0&&t.wasmBinary===void 0&&(t.wasmBinary=e.wasmBinary instanceof Uint8Array?e.wasmBinary:new Uint8Array(e.wasmBinary));let r=e.wasmUrl;return r!==void 0&&t.locateFile===void 0&&(t.locateFile=(n,i)=>n.endsWith(".wasm")?r:i+n),t.wasmBinary!==void 0&&t.locateFile===void 0&&(t.locateFile=(n,i)=>n.endsWith(".wasm")?n:i+n),t}async function TG(e={}){let t=await Promise.resolve().then(()=>($f(),Jf)),n=await(t.default??t)(RG(e)),i=GG(n),a=CG(n);return{kind:"wasm",platform:"wasm32",mem:i,cb:a,fileAccess:IG(i,a),fileWrite:SG(),fn:QG(n),async destroy(){n._free=n._free}}}async function tg(e={}){return TG(e)}var w={};Ze(w,{BRAND:()=>dC,DIRTY:()=>Ur,EMPTY_PATH:()=>jG,INVALID:()=>ee,NEVER:()=>UC,OK:()=>$e,ParseStatus:()=>Ue,Schema:()=>le,ZodAny:()=>pr,ZodArray:()=>jn,ZodBigInt:()=>zr,ZodBoolean:()=>Zr,ZodBranded:()=>Go,ZodCatch:()=>Ai,ZodDate:()=>Jr,ZodDefault:()=>si,ZodDiscriminatedUnion:()=>sc,ZodEffects:()=>Tt,ZodEnum:()=>ai,ZodError:()=>mt,ZodFirstPartyTypeKind:()=>ne,ZodFunction:()=>cc,ZodIntersection:()=>ni,ZodIssueCode:()=>R,ZodLazy:()=>ri,ZodLiteral:()=>ii,ZodMap:()=>ca,ZodNaN:()=>ua,ZodNativeEnum:()=>oi,ZodNever:()=>zt,ZodNull:()=>ei,ZodNullable:()=>Pn,ZodNumber:()=>qr,ZodObject:()=>wt,ZodOptional:()=>Qt,ZodParsedType:()=>X,ZodPipeline:()=>Co,ZodPromise:()=>lr,ZodReadonly:()=>ci,ZodRecord:()=>Ac,ZodSchema:()=>le,ZodSet:()=>da,ZodString:()=>ur,ZodSymbol:()=>sa,ZodTransformer:()=>Tt,ZodTuple:()=>vn,ZodType:()=>le,ZodUndefined:()=>$r,ZodUnion:()=>ti,ZodUnknown:()=>Nn,ZodVoid:()=>Aa,addIssueToContext:()=>K,any:()=>FC,array:()=>kC,bigint:()=>mC,boolean:()=>pg,coerce:()=>WC,custom:()=>cg,date:()=>wC,datetimeRegex:()=>sg,defaultErrorMap:()=>Mn,discriminatedUnion:()=>_C,effect:()=>MC,enum:()=>QC,function:()=>xC,getErrorMap:()=>ia,getParsedType:()=>Fn,instanceof:()=>pC,intersection:()=>yC,isAborted:()=>ac,isAsync:()=>aa,isDirty:()=>oc,isValid:()=>dr,late:()=>uC,lazy:()=>HC,literal:()=>OC,makeIssue:()=>yo,map:()=>IC,nan:()=>lC,nativeEnum:()=>RC,never:()=>PC,null:()=>gC,nullable:()=>NC,number:()=>ug,object:()=>DC,objectUtil:()=>Pp,oboolean:()=>XC,onumber:()=>YC,optional:()=>LC,ostring:()=>VC,pipeline:()=>KC,preprocess:()=>jC,promise:()=>TC,quotelessJson:()=>MG,record:()=>CC,set:()=>SC,setErrorMap:()=>NG,strictObject:()=>BC,string:()=>dg,symbol:()=>bC,transformer:()=>MC,tuple:()=>GC,undefined:()=>fC,union:()=>EC,unknown:()=>vC,util:()=>Fe,void:()=>hC});var Fe;(function(e){e.assertEqual=i=>{};function t(i){}e.assertIs=t;function r(i){throw new Error}e.assertNever=r,e.arrayToEnum=i=>{let a={};for(let o of i)a[o]=o;return a},e.getValidEnumValues=i=>{let a=e.objectKeys(i).filter(s=>typeof i[i[s]]!="number"),o={};for(let s of a)o[s]=i[s];return e.objectValues(o)},e.objectValues=i=>e.objectKeys(i).map(function(a){return i[a]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let a=[];for(let o in i)Object.prototype.hasOwnProperty.call(i,o)&&a.push(o);return a},e.find=(i,a)=>{for(let o of i)if(a(o))return o},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function n(i,a=" | "){return i.map(o=>typeof o=="string"?`\'${o}\'`:o).join(a)}e.joinValues=n,e.jsonStringifyReplacer=(i,a)=>typeof a=="bigint"?a.toString():a})(Fe||(Fe={}));var Pp;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(Pp||(Pp={}));var X=Fe.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Fn=e=>{switch(typeof e){case"undefined":return X.undefined;case"string":return X.string;case"number":return Number.isNaN(e)?X.nan:X.number;case"boolean":return X.boolean;case"function":return X.function;case"bigint":return X.bigint;case"symbol":return X.symbol;case"object":return Array.isArray(e)?X.array:e===null?X.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?X.promise:typeof Map<"u"&&e instanceof Map?X.map:typeof Set<"u"&&e instanceof Set?X.set:typeof Date<"u"&&e instanceof Date?X.date:X.object;default:return X.unknown}};var R=Fe.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),MG=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),mt=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){let r=t||function(a){return a.message},n={_errors:[]},i=a=>{for(let o of a.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)n._errors.push(r(o));else{let s=n,A=0;for(;Ar.message){let r={},n=[];for(let i of this.issues)if(i.path.length>0){let a=i.path[0];r[a]=r[a]||[],r[a].push(t(i))}else n.push(t(i));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};mt.create=e=>new mt(e);var LG=(e,t)=>{let r;switch(e.code){case R.invalid_type:e.received===X.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case R.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,Fe.jsonStringifyReplacer)}`;break;case R.unrecognized_keys:r=`Unrecognized key(s) in object: ${Fe.joinValues(e.keys,", ")}`;break;case R.invalid_union:r="Invalid input";break;case R.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${Fe.joinValues(e.options)}`;break;case R.invalid_enum_value:r=`Invalid enum value. Expected ${Fe.joinValues(e.options)}, received \'${e.received}\'`;break;case R.invalid_arguments:r="Invalid function arguments";break;case R.invalid_return_type:r="Invalid function return type";break;case R.invalid_date:r="Invalid date";break;case R.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:Fe.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case R.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case R.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case R.custom:r="Invalid input";break;case R.invalid_intersection_types:r="Intersection results could not be merged";break;case R.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case R.not_finite:r="Number must be finite";break;default:r=t.defaultError,Fe.assertNever(e)}return{message:r}},Mn=LG;var ng=Mn;function NG(e){ng=e}function ia(){return ng}var yo=e=>{let{data:t,path:r,errorMaps:n,issueData:i}=e,a=[...r,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s="",A=n.filter(d=>!!d).slice().reverse();for(let d of A)s=d(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}},jG=[];function K(e,t){let r=ia(),n=yo({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===Mn?void 0:Mn].filter(i=>!!i)});e.common.issues.push(n)}var Ue=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){let n=[];for(let i of r){if(i.status==="aborted")return ee;i.status==="dirty"&&t.dirty(),n.push(i.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,r){let n=[];for(let i of r){let a=await i.key,o=await i.value;n.push({key:a,value:o})}return e.mergeObjectSync(t,n)}static mergeObjectSync(t,r){let n={};for(let i of r){let{key:a,value:o}=i;if(a.status==="aborted"||o.status==="aborted")return ee;a.status==="dirty"&&t.dirty(),o.status==="dirty"&&t.dirty(),a.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(n[a.value]=o.value)}return{status:t.value,value:n}}},ee=Object.freeze({status:"aborted"}),Ur=e=>({status:"dirty",value:e}),$e=e=>({status:"valid",value:e}),ac=e=>e.status==="aborted",oc=e=>e.status==="dirty",dr=e=>e.status==="valid",aa=e=>typeof Promise<"u"&&e instanceof Promise;var J;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(J||(J={}));var Rt=class{constructor(t,r,n,i){this._cachedPath=[],this.parent=t,this.data=r,this._path=n,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},rg=(e,t)=>{if(dr(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new mt(e.common.issues);return this._error=r,this._error}}};function de(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:n,description:i}=e;if(t&&(r||n))throw new Error(`Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(o,s)=>{let{message:A}=e;return o.code==="invalid_enum_value"?{message:A??s.defaultError}:typeof s.data>"u"?{message:A??n??s.defaultError}:o.code!=="invalid_type"?{message:s.defaultError}:{message:A??r??s.defaultError}},description:i}}var le=class{get description(){return this._def.description}_getType(t){return Fn(t.data)}_getOrReturnCtx(t,r){return r||{common:t.parent.common,data:t.data,parsedType:Fn(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Ue,ctx:{common:t.parent.common,data:t.data,parsedType:Fn(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let r=this._parse(t);if(aa(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){let r=this._parse(t);return Promise.resolve(r)}parse(t,r){let n=this.safeParse(t,r);if(n.success)return n.data;throw n.error}safeParse(t,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Fn(t)},i=this._parseSync({data:t,path:n.path,parent:n});return rg(n,i)}"~validate"(t){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Fn(t)};if(!this["~standard"].async)try{let n=this._parseSync({data:t,path:[],parent:r});return dr(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:r}).then(n=>dr(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(t,r){let n=await this.safeParseAsync(t,r);if(n.success)return n.data;throw n.error}async safeParseAsync(t,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Fn(t)},i=this._parse({data:t,path:n.path,parent:n}),a=await(aa(i)?i:Promise.resolve(i));return rg(n,a)}refine(t,r){let n=i=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(i):r;return this._refinement((i,a)=>{let o=t(i),s=()=>a.addIssue({code:R.custom,...n(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(A=>A?!0:(s(),!1)):o?!0:(s(),!1)})}refinement(t,r){return this._refinement((n,i)=>t(n)?!0:(i.addIssue(typeof r=="function"?r(n,i):r),!1))}_refinement(t){return new Tt({schema:this,typeName:ne.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Qt.create(this,this._def)}nullable(){return Pn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return jn.create(this)}promise(){return lr.create(this,this._def)}or(t){return ti.create([this,t],this._def)}and(t){return ni.create(this,t,this._def)}transform(t){return new Tt({...de(this._def),schema:this,typeName:ne.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let r=typeof t=="function"?t:()=>t;return new si({...de(this._def),innerType:this,defaultValue:r,typeName:ne.ZodDefault})}brand(){return new Go({typeName:ne.ZodBranded,type:this,...de(this._def)})}catch(t){let r=typeof t=="function"?t:()=>t;return new Ai({...de(this._def),innerType:this,catchValue:r,typeName:ne.ZodCatch})}describe(t){let r=this.constructor;return new r({...this._def,description:t})}pipe(t){return Co.create(this,t)}readonly(){return ci.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},KG=/^c[^\\s-]{8,}$/i,VG=/^[0-9a-z]+$/,YG=/^[0-9A-HJKMNP-TV-Z]{26}$/i,XG=/^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i,WG=/^[a-z0-9_-]{21}$/i,UG=/^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/,qG=/^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/,zG=/^(?!\\.)(?!.*\\.\\.)([A-Z0-9_\'+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i,ZG="^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$",hp,JG=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,$G=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/,eC=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,tC=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,nC=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,rC=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ag="((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))",iC=new RegExp(`^${ag}$`);function og(e){let t="[0-5]\\\\d";e.precision?t=`${t}\\\\.\\\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\\\.\\\\d+)?`);let r=e.precision?"+":"?";return`([01]\\\\d|2[0-3]):[0-5]\\\\d(:${t})${r}`}function aC(e){return new RegExp(`^${og(e)}$`)}function sg(e){let t=`${ag}T${og(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\\\d{2}:?\\\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function oC(e,t){return!!((t==="v4"||!t)&&JG.test(e)||(t==="v6"||!t)&&eC.test(e))}function sC(e,t){if(!UG.test(e))return!1;try{let[r]=e.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(n));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||t&&i.alg!==t)}catch{return!1}}function AC(e,t){return!!((t==="v4"||!t)&&$G.test(e)||(t==="v6"||!t)&&tC.test(e))}var ur=class e extends le{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==X.string){let a=this._getOrReturnCtx(t);return K(a,{code:R.invalid_type,expected:X.string,received:a.parsedType}),ee}let n=new Ue,i;for(let a of this._def.checks)if(a.kind==="min")t.data.lengtha.value&&(i=this._getOrReturnCtx(t,i),K(i,{code:R.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),n.dirty());else if(a.kind==="length"){let o=t.data.length>a.value,s=t.data.lengtht.test(i),{validation:r,code:R.invalid_string,...J.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...J.errToObj(t)})}url(t){return this._addCheck({kind:"url",...J.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...J.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...J.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...J.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...J.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...J.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...J.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...J.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...J.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...J.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...J.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...J.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...J.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...J.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...J.errToObj(t)})}regex(t,r){return this._addCheck({kind:"regex",regex:t,...J.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r?.position,...J.errToObj(r?.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...J.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...J.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...J.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...J.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...J.errToObj(r)})}nonempty(t){return this.min(1,J.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew ur({checks:[],typeName:ne.ZodString,coerce:e?.coerce??!1,...de(e)});function cC(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,i=r>n?r:n,a=Number.parseInt(e.toFixed(i).replace(".","")),o=Number.parseInt(t.toFixed(i).replace(".",""));return a%o/10**i}var qr=class e extends le{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==X.number){let a=this._getOrReturnCtx(t);return K(a,{code:R.invalid_type,expected:X.number,received:a.parsedType}),ee}let n,i=new Ue;for(let a of this._def.checks)a.kind==="int"?Fe.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),K(n,{code:R.invalid_type,expected:"integer",received:"float",message:a.message}),i.dirty()):a.kind==="min"?(a.inclusive?t.dataa.value:t.data>=a.value)&&(n=this._getOrReturnCtx(t,n),K(n,{code:R.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),i.dirty()):a.kind==="multipleOf"?cC(t.data,a.value)!==0&&(n=this._getOrReturnCtx(t,n),K(n,{code:R.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):a.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),K(n,{code:R.not_finite,message:a.message}),i.dirty()):Fe.assertNever(a);return{status:i.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,J.toString(r))}gt(t,r){return this.setLimit("min",t,!1,J.toString(r))}lte(t,r){return this.setLimit("max",t,!0,J.toString(r))}lt(t,r){return this.setLimit("max",t,!1,J.toString(r))}setLimit(t,r,n,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:J.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:J.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:J.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:J.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:J.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:J.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:J.toString(r)})}finite(t){return this._addCheck({kind:"finite",message:J.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:J.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:J.toString(t)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.valuet.kind==="int"||t.kind==="multipleOf"&&Fe.isInteger(t.value))}get isFinite(){let t=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(t===null||n.valuenew qr({checks:[],typeName:ne.ZodNumber,coerce:e?.coerce||!1,...de(e)});var zr=class e extends le{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==X.bigint)return this._getInvalidInput(t);let n,i=new Ue;for(let a of this._def.checks)a.kind==="min"?(a.inclusive?t.dataa.value:t.data>=a.value)&&(n=this._getOrReturnCtx(t,n),K(n,{code:R.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),i.dirty()):a.kind==="multipleOf"?t.data%a.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),K(n,{code:R.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):Fe.assertNever(a);return{status:i.value,value:t.data}}_getInvalidInput(t){let r=this._getOrReturnCtx(t);return K(r,{code:R.invalid_type,expected:X.bigint,received:r.parsedType}),ee}gte(t,r){return this.setLimit("min",t,!0,J.toString(r))}gt(t,r){return this.setLimit("min",t,!1,J.toString(r))}lte(t,r){return this.setLimit("max",t,!0,J.toString(r))}lt(t,r){return this.setLimit("max",t,!1,J.toString(r))}setLimit(t,r,n,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:J.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:J.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:J.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:J.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:J.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:J.toString(r)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew zr({checks:[],typeName:ne.ZodBigInt,coerce:e?.coerce??!1,...de(e)});var Zr=class extends le{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==X.boolean){let n=this._getOrReturnCtx(t);return K(n,{code:R.invalid_type,expected:X.boolean,received:n.parsedType}),ee}return $e(t.data)}};Zr.create=e=>new Zr({typeName:ne.ZodBoolean,coerce:e?.coerce||!1,...de(e)});var Jr=class e extends le{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==X.date){let a=this._getOrReturnCtx(t);return K(a,{code:R.invalid_type,expected:X.date,received:a.parsedType}),ee}if(Number.isNaN(t.data.getTime())){let a=this._getOrReturnCtx(t);return K(a,{code:R.invalid_date}),ee}let n=new Ue,i;for(let a of this._def.checks)a.kind==="min"?t.data.getTime()a.value&&(i=this._getOrReturnCtx(t,i),K(i,{code:R.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),n.dirty()):Fe.assertNever(a);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:J.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:J.toString(r)})}get minDate(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew Jr({checks:[],coerce:e?.coerce||!1,typeName:ne.ZodDate,...de(e)});var sa=class extends le{_parse(t){if(this._getType(t)!==X.symbol){let n=this._getOrReturnCtx(t);return K(n,{code:R.invalid_type,expected:X.symbol,received:n.parsedType}),ee}return $e(t.data)}};sa.create=e=>new sa({typeName:ne.ZodSymbol,...de(e)});var $r=class extends le{_parse(t){if(this._getType(t)!==X.undefined){let n=this._getOrReturnCtx(t);return K(n,{code:R.invalid_type,expected:X.undefined,received:n.parsedType}),ee}return $e(t.data)}};$r.create=e=>new $r({typeName:ne.ZodUndefined,...de(e)});var ei=class extends le{_parse(t){if(this._getType(t)!==X.null){let n=this._getOrReturnCtx(t);return K(n,{code:R.invalid_type,expected:X.null,received:n.parsedType}),ee}return $e(t.data)}};ei.create=e=>new ei({typeName:ne.ZodNull,...de(e)});var pr=class extends le{constructor(){super(...arguments),this._any=!0}_parse(t){return $e(t.data)}};pr.create=e=>new pr({typeName:ne.ZodAny,...de(e)});var Nn=class extends le{constructor(){super(...arguments),this._unknown=!0}_parse(t){return $e(t.data)}};Nn.create=e=>new Nn({typeName:ne.ZodUnknown,...de(e)});var zt=class extends le{_parse(t){let r=this._getOrReturnCtx(t);return K(r,{code:R.invalid_type,expected:X.never,received:r.parsedType}),ee}};zt.create=e=>new zt({typeName:ne.ZodNever,...de(e)});var Aa=class extends le{_parse(t){if(this._getType(t)!==X.undefined){let n=this._getOrReturnCtx(t);return K(n,{code:R.invalid_type,expected:X.void,received:n.parsedType}),ee}return $e(t.data)}};Aa.create=e=>new Aa({typeName:ne.ZodVoid,...de(e)});var jn=class e extends le{_parse(t){let{ctx:r,status:n}=this._processInputParams(t),i=this._def;if(r.parsedType!==X.array)return K(r,{code:R.invalid_type,expected:X.array,received:r.parsedType}),ee;if(i.exactLength!==null){let o=r.data.length>i.exactLength.value,s=r.data.lengthi.maxLength.value&&(K(r,{code:R.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((o,s)=>i.type._parseAsync(new Rt(r,o,r.path,s)))).then(o=>Ue.mergeArray(n,o));let a=[...r.data].map((o,s)=>i.type._parseSync(new Rt(r,o,r.path,s)));return Ue.mergeArray(n,a)}get element(){return this._def.type}min(t,r){return new e({...this._def,minLength:{value:t,message:J.toString(r)}})}max(t,r){return new e({...this._def,maxLength:{value:t,message:J.toString(r)}})}length(t,r){return new e({...this._def,exactLength:{value:t,message:J.toString(r)}})}nonempty(t){return this.min(1,t)}};jn.create=(e,t)=>new jn({type:e,minLength:null,maxLength:null,exactLength:null,typeName:ne.ZodArray,...de(t)});function oa(e){if(e instanceof wt){let t={};for(let r in e.shape){let n=e.shape[r];t[r]=Qt.create(oa(n))}return new wt({...e._def,shape:()=>t})}else return e instanceof jn?new jn({...e._def,type:oa(e.element)}):e instanceof Qt?Qt.create(oa(e.unwrap())):e instanceof Pn?Pn.create(oa(e.unwrap())):e instanceof vn?vn.create(e.items.map(t=>oa(t))):e}var wt=class e extends le{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),r=Fe.objectKeys(t);return this._cached={shape:t,keys:r},this._cached}_parse(t){if(this._getType(t)!==X.object){let d=this._getOrReturnCtx(t);return K(d,{code:R.invalid_type,expected:X.object,received:d.parsedType}),ee}let{status:n,ctx:i}=this._processInputParams(t),{shape:a,keys:o}=this._getCached(),s=[];if(!(this._def.catchall instanceof zt&&this._def.unknownKeys==="strip"))for(let d in i.data)o.includes(d)||s.push(d);let A=[];for(let d of o){let p=a[d],m=i.data[d];A.push({key:{status:"valid",value:d},value:p._parse(new Rt(i,m,i.path,d)),alwaysSet:d in i.data})}if(this._def.catchall instanceof zt){let d=this._def.unknownKeys;if(d==="passthrough")for(let p of s)A.push({key:{status:"valid",value:p},value:{status:"valid",value:i.data[p]}});else if(d==="strict")s.length>0&&(K(i,{code:R.unrecognized_keys,keys:s}),n.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let d=this._def.catchall;for(let p of s){let m=i.data[p];A.push({key:{status:"valid",value:p},value:d._parse(new Rt(i,m,i.path,p)),alwaysSet:p in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let d=[];for(let p of A){let m=await p.key,F=await p.value;d.push({key:m,value:F,alwaysSet:p.alwaysSet})}return d}).then(d=>Ue.mergeObjectSync(n,d)):Ue.mergeObjectSync(n,A)}get shape(){return this._def.shape()}strict(t){return J.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,n)=>{let i=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:J.errToObj(t).message??i}:{message:i}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:ne.ZodObject})}setKey(t,r){return this.augment({[t]:r})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let r={};for(let n of Fe.objectKeys(t))t[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}omit(t){let r={};for(let n of Fe.objectKeys(this.shape))t[n]||(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}deepPartial(){return oa(this)}partial(t){let r={};for(let n of Fe.objectKeys(this.shape)){let i=this.shape[n];t&&!t[n]?r[n]=i:r[n]=i.optional()}return new e({...this._def,shape:()=>r})}required(t){let r={};for(let n of Fe.objectKeys(this.shape))if(t&&!t[n])r[n]=this.shape[n];else{let a=this.shape[n];for(;a instanceof Qt;)a=a._def.innerType;r[n]=a}return new e({...this._def,shape:()=>r})}keyof(){return Ag(Fe.objectKeys(this.shape))}};wt.create=(e,t)=>new wt({shape:()=>e,unknownKeys:"strip",catchall:zt.create(),typeName:ne.ZodObject,...de(t)});wt.strictCreate=(e,t)=>new wt({shape:()=>e,unknownKeys:"strict",catchall:zt.create(),typeName:ne.ZodObject,...de(t)});wt.lazycreate=(e,t)=>new wt({shape:e,unknownKeys:"strip",catchall:zt.create(),typeName:ne.ZodObject,...de(t)});var ti=class extends le{_parse(t){let{ctx:r}=this._processInputParams(t),n=this._def.options;function i(a){for(let s of a)if(s.result.status==="valid")return s.result;for(let s of a)if(s.result.status==="dirty")return r.common.issues.push(...s.ctx.common.issues),s.result;let o=a.map(s=>new mt(s.ctx.common.issues));return K(r,{code:R.invalid_union,unionErrors:o}),ee}if(r.common.async)return Promise.all(n.map(async a=>{let o={...r,common:{...r.common,issues:[]},parent:null};return{result:await a._parseAsync({data:r.data,path:r.path,parent:o}),ctx:o}})).then(i);{let a,o=[];for(let A of n){let d={...r,common:{...r.common,issues:[]},parent:null},p=A._parseSync({data:r.data,path:r.path,parent:d});if(p.status==="valid")return p;p.status==="dirty"&&!a&&(a={result:p,ctx:d}),d.common.issues.length&&o.push(d.common.issues)}if(a)return r.common.issues.push(...a.ctx.common.issues),a.result;let s=o.map(A=>new mt(A));return K(r,{code:R.invalid_union,unionErrors:s}),ee}}get options(){return this._def.options}};ti.create=(e,t)=>new ti({options:e,typeName:ne.ZodUnion,...de(t)});var Ln=e=>e instanceof ri?Ln(e.schema):e instanceof Tt?Ln(e.innerType()):e instanceof ii?[e.value]:e instanceof ai?e.options:e instanceof oi?Fe.objectValues(e.enum):e instanceof si?Ln(e._def.innerType):e instanceof $r?[void 0]:e instanceof ei?[null]:e instanceof Qt?[void 0,...Ln(e.unwrap())]:e instanceof Pn?[null,...Ln(e.unwrap())]:e instanceof Go||e instanceof ci?Ln(e.unwrap()):e instanceof Ai?Ln(e._def.innerType):[],sc=class e extends le{_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==X.object)return K(r,{code:R.invalid_type,expected:X.object,received:r.parsedType}),ee;let n=this.discriminator,i=r.data[n],a=this.optionsMap.get(i);return a?r.common.async?a._parseAsync({data:r.data,path:r.path,parent:r}):a._parseSync({data:r.data,path:r.path,parent:r}):(K(r,{code:R.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),ee)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,r,n){let i=new Map;for(let a of r){let o=Ln(a.shape[t]);if(!o.length)throw new Error(`A discriminator value for key \\`${t}\\` could not be extracted from all schema options`);for(let s of o){if(i.has(s))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(s)}`);i.set(s,a)}}return new e({typeName:ne.ZodDiscriminatedUnion,discriminator:t,options:r,optionsMap:i,...de(n)})}};function kp(e,t){let r=Fn(e),n=Fn(t);if(e===t)return{valid:!0,data:e};if(r===X.object&&n===X.object){let i=Fe.objectKeys(t),a=Fe.objectKeys(e).filter(s=>i.indexOf(s)!==-1),o={...e,...t};for(let s of a){let A=kp(e[s],t[s]);if(!A.valid)return{valid:!1};o[s]=A.data}return{valid:!0,data:o}}else if(r===X.array&&n===X.array){if(e.length!==t.length)return{valid:!1};let i=[];for(let a=0;a{if(ac(a)||ac(o))return ee;let s=kp(a.value,o.value);return s.valid?((oc(a)||oc(o))&&r.dirty(),{status:r.value,value:s.data}):(K(n,{code:R.invalid_intersection_types}),ee)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([a,o])=>i(a,o)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};ni.create=(e,t,r)=>new ni({left:e,right:t,typeName:ne.ZodIntersection,...de(r)});var vn=class e extends le{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==X.array)return K(n,{code:R.invalid_type,expected:X.array,received:n.parsedType}),ee;if(n.data.lengththis._def.items.length&&(K(n,{code:R.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let a=[...n.data].map((o,s)=>{let A=this._def.items[s]||this._def.rest;return A?A._parse(new Rt(n,o,n.path,s)):null}).filter(o=>!!o);return n.common.async?Promise.all(a).then(o=>Ue.mergeArray(r,o)):Ue.mergeArray(r,a)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};vn.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new vn({items:e,typeName:ne.ZodTuple,rest:null,...de(t)})};var Ac=class e extends le{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==X.object)return K(n,{code:R.invalid_type,expected:X.object,received:n.parsedType}),ee;let i=[],a=this._def.keyType,o=this._def.valueType;for(let s in n.data)i.push({key:a._parse(new Rt(n,s,n.path,s)),value:o._parse(new Rt(n,n.data[s],n.path,s)),alwaysSet:s in n.data});return n.common.async?Ue.mergeObjectAsync(r,i):Ue.mergeObjectSync(r,i)}get element(){return this._def.valueType}static create(t,r,n){return r instanceof le?new e({keyType:t,valueType:r,typeName:ne.ZodRecord,...de(n)}):new e({keyType:ur.create(),valueType:t,typeName:ne.ZodRecord,...de(r)})}},ca=class extends le{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==X.map)return K(n,{code:R.invalid_type,expected:X.map,received:n.parsedType}),ee;let i=this._def.keyType,a=this._def.valueType,o=[...n.data.entries()].map(([s,A],d)=>({key:i._parse(new Rt(n,s,n.path,[d,"key"])),value:a._parse(new Rt(n,A,n.path,[d,"value"]))}));if(n.common.async){let s=new Map;return Promise.resolve().then(async()=>{for(let A of o){let d=await A.key,p=await A.value;if(d.status==="aborted"||p.status==="aborted")return ee;(d.status==="dirty"||p.status==="dirty")&&r.dirty(),s.set(d.value,p.value)}return{status:r.value,value:s}})}else{let s=new Map;for(let A of o){let d=A.key,p=A.value;if(d.status==="aborted"||p.status==="aborted")return ee;(d.status==="dirty"||p.status==="dirty")&&r.dirty(),s.set(d.value,p.value)}return{status:r.value,value:s}}}};ca.create=(e,t,r)=>new ca({valueType:t,keyType:e,typeName:ne.ZodMap,...de(r)});var da=class e extends le{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==X.set)return K(n,{code:R.invalid_type,expected:X.set,received:n.parsedType}),ee;let i=this._def;i.minSize!==null&&n.data.sizei.maxSize.value&&(K(n,{code:R.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),r.dirty());let a=this._def.valueType;function o(A){let d=new Set;for(let p of A){if(p.status==="aborted")return ee;p.status==="dirty"&&r.dirty(),d.add(p.value)}return{status:r.value,value:d}}let s=[...n.data.values()].map((A,d)=>a._parse(new Rt(n,A,n.path,d)));return n.common.async?Promise.all(s).then(A=>o(A)):o(s)}min(t,r){return new e({...this._def,minSize:{value:t,message:J.toString(r)}})}max(t,r){return new e({...this._def,maxSize:{value:t,message:J.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}};da.create=(e,t)=>new da({valueType:e,minSize:null,maxSize:null,typeName:ne.ZodSet,...de(t)});var cc=class e extends le{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==X.function)return K(r,{code:R.invalid_type,expected:X.function,received:r.parsedType}),ee;function n(s,A){return yo({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,ia(),Mn].filter(d=>!!d),issueData:{code:R.invalid_arguments,argumentsError:A}})}function i(s,A){return yo({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,ia(),Mn].filter(d=>!!d),issueData:{code:R.invalid_return_type,returnTypeError:A}})}let a={errorMap:r.common.contextualErrorMap},o=r.data;if(this._def.returns instanceof lr){let s=this;return $e(async function(...A){let d=new mt([]),p=await s._def.args.parseAsync(A,a).catch(k=>{throw d.addIssue(n(A,k)),d}),m=await Reflect.apply(o,this,p);return await s._def.returns._def.type.parseAsync(m,a).catch(k=>{throw d.addIssue(i(m,k)),d})})}else{let s=this;return $e(function(...A){let d=s._def.args.safeParse(A,a);if(!d.success)throw new mt([n(A,d.error)]);let p=Reflect.apply(o,this,d.data),m=s._def.returns.safeParse(p,a);if(!m.success)throw new mt([i(p,m.error)]);return m.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:vn.create(t).rest(Nn.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,r,n){return new e({args:t||vn.create([]).rest(Nn.create()),returns:r||Nn.create(),typeName:ne.ZodFunction,...de(n)})}},ri=class extends le{get schema(){return this._def.getter()}_parse(t){let{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};ri.create=(e,t)=>new ri({getter:e,typeName:ne.ZodLazy,...de(t)});var ii=class extends le{_parse(t){if(t.data!==this._def.value){let r=this._getOrReturnCtx(t);return K(r,{received:r.data,code:R.invalid_literal,expected:this._def.value}),ee}return{status:"valid",value:t.data}}get value(){return this._def.value}};ii.create=(e,t)=>new ii({value:e,typeName:ne.ZodLiteral,...de(t)});function Ag(e,t){return new ai({values:e,typeName:ne.ZodEnum,...de(t)})}var ai=class e extends le{_parse(t){if(typeof t.data!="string"){let r=this._getOrReturnCtx(t),n=this._def.values;return K(r,{expected:Fe.joinValues(n),received:r.parsedType,code:R.invalid_type}),ee}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let r=this._getOrReturnCtx(t),n=this._def.values;return K(r,{received:r.data,code:R.invalid_enum_value,options:n}),ee}return $e(t.data)}get options(){return this._def.values}get enum(){let t={};for(let r of this._def.values)t[r]=r;return t}get Values(){let t={};for(let r of this._def.values)t[r]=r;return t}get Enum(){let t={};for(let r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return e.create(t,{...this._def,...r})}exclude(t,r=this._def){return e.create(this.options.filter(n=>!t.includes(n)),{...this._def,...r})}};ai.create=Ag;var oi=class extends le{_parse(t){let r=Fe.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==X.string&&n.parsedType!==X.number){let i=Fe.objectValues(r);return K(n,{expected:Fe.joinValues(i),received:n.parsedType,code:R.invalid_type}),ee}if(this._cache||(this._cache=new Set(Fe.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let i=Fe.objectValues(r);return K(n,{received:n.data,code:R.invalid_enum_value,options:i}),ee}return $e(t.data)}get enum(){return this._def.values}};oi.create=(e,t)=>new oi({values:e,typeName:ne.ZodNativeEnum,...de(t)});var lr=class extends le{unwrap(){return this._def.type}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==X.promise&&r.common.async===!1)return K(r,{code:R.invalid_type,expected:X.promise,received:r.parsedType}),ee;let n=r.parsedType===X.promise?r.data:Promise.resolve(r.data);return $e(n.then(i=>this._def.type.parseAsync(i,{path:r.path,errorMap:r.common.contextualErrorMap})))}};lr.create=(e,t)=>new lr({type:e,typeName:ne.ZodPromise,...de(t)});var Tt=class extends le{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ne.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:r,ctx:n}=this._processInputParams(t),i=this._def.effect||null,a={addIssue:o=>{K(n,o),o.fatal?r.abort():r.dirty()},get path(){return n.path}};if(a.addIssue=a.addIssue.bind(a),i.type==="preprocess"){let o=i.transform(n.data,a);if(n.common.async)return Promise.resolve(o).then(async s=>{if(r.value==="aborted")return ee;let A=await this._def.schema._parseAsync({data:s,path:n.path,parent:n});return A.status==="aborted"?ee:A.status==="dirty"?Ur(A.value):r.value==="dirty"?Ur(A.value):A});{if(r.value==="aborted")return ee;let s=this._def.schema._parseSync({data:o,path:n.path,parent:n});return s.status==="aborted"?ee:s.status==="dirty"?Ur(s.value):r.value==="dirty"?Ur(s.value):s}}if(i.type==="refinement"){let o=s=>{let A=i.refinement(s,a);if(n.common.async)return Promise.resolve(A);if(A instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?ee:(s.status==="dirty"&&r.dirty(),o(s.value),{status:r.value,value:s.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>s.status==="aborted"?ee:(s.status==="dirty"&&r.dirty(),o(s.value).then(()=>({status:r.value,value:s.value}))))}if(i.type==="transform")if(n.common.async===!1){let o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!dr(o))return ee;let s=i.transform(o.value,a);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:s}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>dr(o)?Promise.resolve(i.transform(o.value,a)).then(s=>({status:r.value,value:s})):ee);Fe.assertNever(i)}};Tt.create=(e,t,r)=>new Tt({schema:e,typeName:ne.ZodEffects,effect:t,...de(r)});Tt.createWithPreprocess=(e,t,r)=>new Tt({schema:t,effect:{type:"preprocess",transform:e},typeName:ne.ZodEffects,...de(r)});var Qt=class extends le{_parse(t){return this._getType(t)===X.undefined?$e(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Qt.create=(e,t)=>new Qt({innerType:e,typeName:ne.ZodOptional,...de(t)});var Pn=class extends le{_parse(t){return this._getType(t)===X.null?$e(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Pn.create=(e,t)=>new Pn({innerType:e,typeName:ne.ZodNullable,...de(t)});var si=class extends le{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return r.parsedType===X.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};si.create=(e,t)=>new si({innerType:e,typeName:ne.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...de(t)});var Ai=class extends le{_parse(t){let{ctx:r}=this._processInputParams(t),n={...r,common:{...r.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return aa(i)?i.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new mt(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new mt(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Ai.create=(e,t)=>new Ai({innerType:e,typeName:ne.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...de(t)});var ua=class extends le{_parse(t){if(this._getType(t)!==X.nan){let n=this._getOrReturnCtx(t);return K(n,{code:R.invalid_type,expected:X.nan,received:n.parsedType}),ee}return{status:"valid",value:t.data}}};ua.create=e=>new ua({typeName:ne.ZodNaN,...de(e)});var dC=Symbol("zod_brand"),Go=class extends le{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},Co=class e extends le{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.common.async)return(async()=>{let a=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?ee:a.status==="dirty"?(r.dirty(),Ur(a.value)):this._def.out._parseAsync({data:a.value,path:n.path,parent:n})})();{let i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?ee:i.status==="dirty"?(r.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(t,r){return new e({in:t,out:r,typeName:ne.ZodPipeline})}},ci=class extends le{_parse(t){let r=this._def.innerType._parse(t),n=i=>(dr(i)&&(i.value=Object.freeze(i.value)),i);return aa(r)?r.then(i=>n(i)):n(r)}unwrap(){return this._def.innerType}};ci.create=(e,t)=>new ci({innerType:e,typeName:ne.ZodReadonly,...de(t)});function ig(e,t){let r=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof r=="string"?{message:r}:r}function cg(e,t={},r){return e?pr.create().superRefine((n,i)=>{let a=e(n);if(a instanceof Promise)return a.then(o=>{if(!o){let s=ig(t,n),A=s.fatal??r??!0;i.addIssue({code:"custom",...s,fatal:A})}});if(!a){let o=ig(t,n),s=o.fatal??r??!0;i.addIssue({code:"custom",...o,fatal:s})}}):pr.create()}var uC={object:wt.lazycreate},ne;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(ne||(ne={}));var pC=(e,t={message:`Input not instance of ${e.name}`})=>cg(r=>r instanceof e,t),dg=ur.create,ug=qr.create,lC=ua.create,mC=zr.create,pg=Zr.create,wC=Jr.create,bC=sa.create,fC=$r.create,gC=ei.create,FC=pr.create,vC=Nn.create,PC=zt.create,hC=Aa.create,kC=jn.create,DC=wt.create,BC=wt.strictCreate,EC=ti.create,_C=sc.create,yC=ni.create,GC=vn.create,CC=Ac.create,IC=ca.create,SC=da.create,xC=cc.create,HC=ri.create,OC=ii.create,QC=ai.create,RC=oi.create,TC=lr.create,MC=Tt.create,LC=Qt.create,NC=Pn.create,jC=Tt.createWithPreprocess,KC=Co.create,VC=()=>dg().optional(),YC=()=>ug().optional(),XC=()=>pg().optional(),WC={string:(e=>ur.create({...e,coerce:!0})),number:(e=>qr.create({...e,coerce:!0})),boolean:(e=>Zr.create({...e,coerce:!0})),bigint:(e=>zr.create({...e,coerce:!0})),date:(e=>Jr.create({...e,coerce:!0}))};var UC=ee;var qC=Symbol.for("@embedpdf/engine-core/reading");function Ep(e,t){e._def[qC]=t}function me(e){return Ep(e,{closed:!0}),e}function zC(e,t){let r=new Set(e.options),n=w.preprocess(i=>typeof i=="string"&&!r.has(i)?t:i,e);return Ep(n,{unknownAs:t}),n}function ga(e,t,r=n=>n){let{discriminator:n,optionsMap:i}=e._def,a=w.preprocess(o=>{if(typeof o!="object"||o===null||Array.isArray(o))return o;let s=o[n];return typeof s!="string"||i.has(s)?o:r({...o,[n]:t})},e);return Ep(a,{unknownAs:t}),a}var wa=w.object({kind:me(w.literal("objectNumber")),objectNumber:w.number().int().positive()}),Mt=w.string().regex(/^#[0-9a-fA-F]{6}$/,"expected a color as \'#rrggbb\'"),gg=me(w.enum(["solid","dashed","beveled","inset"])),ZC=me(w.enum(["solid","dashed","beveled","inset","underline"])),JC=me(w.enum(["check","cross","star","circle","square","diamond"])),Fg=w.enum(["solid","dashed"]),_p=w.array(w.number().nonnegative()).min(1),Dp=me(w.enum(["none","square","circle","diamond","open-arrow","closed-arrow","butt","r-open-arrow","r-closed-arrow","slash"])),vg=w.object({start:Dp,end:Dp}),Hae=w.enum(_r),Pg=me(w.enum(["left","center","right"])),$C=me(w.enum(["free-text","free-text-callout","free-text-typewriter"])),e0=w.enum(["free-text","free-text-callout"]),t0=me(w.enum(["top","middle","bottom"])),n0=me(w.literal("replace")),r0=me(w.literal("strikeout-text-edit")),i0=me(w.literal("ink-highlight")),a0=me(w.enum(["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"])),ba=me(w.discriminatedUnion("kind",[w.object({kind:w.literal("objectNumber"),page:wa,objectNumber:w.number().int().positive()}),w.object({kind:w.literal("baseIndex"),page:wa,baseIndex:w.number().int().nonnegative()})])),et=wa,bt=w.number().nullable(),yp=me(w.discriminatedUnion("kind",[w.object({kind:w.literal("xyz"),page:et,left:bt,top:bt,zoom:bt}),w.object({kind:w.literal("fit"),page:et}),w.object({kind:w.literal("fitH"),page:et,top:bt}),w.object({kind:w.literal("fitV"),page:et,left:bt}),w.object({kind:w.literal("fitR"),page:et,left:w.number(),bottom:w.number(),right:w.number(),top:w.number()}),w.object({kind:w.literal("fitB"),page:et}),w.object({kind:w.literal("fitBH"),page:et,top:bt}),w.object({kind:w.literal("fitBV"),page:et,left:bt})])),Gp=me(w.discriminatedUnion("kind",[w.object({kind:w.literal("xyz"),page:et,x:bt,y:bt,zoom:bt}),w.object({kind:w.literal("fit"),page:et}),w.object({kind:w.literal("fitH"),page:et,y:bt}),w.object({kind:w.literal("fitV"),page:et,x:bt}),w.object({kind:w.literal("fitR"),page:et,x:w.number(),y:w.number(),width:w.number().nonnegative(),height:w.number().nonnegative()}),w.object({kind:w.literal("fitB"),page:et}),w.object({kind:w.literal("fitBH"),page:et,y:bt}),w.object({kind:w.literal("fitBV"),page:et,x:bt})]));function hg(e){let t=w.object({kind:w.literal("goto"),destination:e}),r=w.object({kind:w.literal("uri"),uri:w.string()}),n=ga(w.discriminatedUnion("kind",[t,r,w.object({kind:w.literal("goto-remote"),file:w.string()}),w.object({kind:w.literal("launch"),path:w.string()}),w.object({kind:w.literal("javascript")}),w.object({kind:w.literal("named"),name:w.string()}),w.object({kind:w.literal("unsupported")})]),"unsupported").describe("Where a link goes, by its `kind`. A newer server can add kinds: read one your client doesn\'t know as `unsupported`."),i=w.object({kind:w.literal("named"),name:w.enum(["NextPage","PrevPage","FirstPage","LastPage"])});return{read:n,write:w.discriminatedUnion("kind",[t,r,i])}}var kg=hg(Gp),Dg=hg(yp),o0=kg.read,s0=kg.write,A0=Dg.read,c0=Dg.write,ma=me(w.discriminatedUnion("kind",[w.object({kind:w.literal("name"),name:w.string()}),w.object({kind:w.literal("objectNumber"),objectNumber:w.number().int().positive()})])),Bg={exclude:w.boolean(),includeNoValueFields:w.boolean(),format:me(w.enum(["fdf","html","xfdf","pdf"])),method:me(w.enum(["post","get"])),submitCoordinates:w.boolean(),includeAppendSaves:w.boolean(),includeAnnotations:w.boolean(),canonicalFormat:w.boolean(),exclNonUserAnnots:w.boolean(),exclFKey:w.boolean(),embedForm:w.boolean()},d0=Object.fromEntries(Object.entries(Bg).map(([e,t])=>[e,t.optional()]));function Eg(e){let t={subtype:w.string(),next:w.array(w.lazy(()=>i))},r=(o,s={})=>w.object({type:w.literal(o),...t,...s}),n=[r("javascript",{script:w.string()}),r("goto",{destination:e}),r("uri",{uri:w.string(),isMap:w.boolean()}),r("named",{name:w.string()}),r("hide",{targets:w.array(ma),hide:w.boolean()}),r("reset-form",{fields:w.array(ma).nullable(),exclude:w.boolean()}),r("goto-remote",{filePath:w.string()}),r("goto-embedded",{filePath:w.string()}),r("launch",{filePath:w.string()}),r("rendition",{script:w.string().optional()}),r("submit-form",{payload:w.object({url:w.string(),fields:w.array(ma).nullable(),...Bg,charSet:w.string().optional()}).optional()}),r("thread"),r("sound"),r("movie"),r("import-data"),r("set-ocg-state"),r("transition"),r("goto-3d-view"),r("unknown")],i=w.lazy(()=>ga(w.discriminatedUnion("type",[...n]),"unknown").describe("An action, by its `type`. A newer server can add types: read one your client doesn\'t know as `unknown`, keeping its `subtype` and `next`.")),a=w.object({root:i.nullable(),incomplete:w.boolean(),warnings:w.array(me(w.enum(["cycle-dropped","malformed-next","incomplete","payload-dropped"])))});return{arms:n,node:i,tree:a,fieldActions:w.object({keystroke:a.optional(),format:a.optional(),validate:a.optional(),calculate:a.optional()}),pageActions:w.object({open:a.optional(),close:a.optional()}),annotationActions:w.object({activate:a.optional(),cursorEnter:a.optional(),cursorExit:a.optional(),mouseDown:a.optional(),mouseUp:a.optional(),focus:a.optional(),blur:a.optional(),pageOpen:a.optional(),pageClose:a.optional(),pageVisible:a.optional(),pageInvisible:a.optional()}),documentActions:w.object({nameTreeScripts:w.array(w.object({name:w.string(),action:a})),openAction:a.nullable(),openDestination:e.nullable(),willClose:a.optional(),willSave:a.optional(),didSave:a.optional(),willPrint:a.optional(),didPrint:a.optional()}).superRefine((o,s)=>{o.openAction!==null&&o.openDestination!==null&&s.addIssue({code:w.ZodIssueCode.custom,message:"openAction and openDestination are mutually exclusive",path:["openDestination"]})})}}var pi=Eg(Gp),u0=Eg(yp);function _g(e){let t=()=>({next:w.array(w.lazy(()=>n)).optional()}),r=[w.object({type:w.literal("javascript"),script:w.string(),...t()}),w.object({type:w.literal("goto"),destination:e,...t()}),w.object({type:w.literal("uri"),uri:w.string().min(1),...t()}),w.object({type:w.literal("named"),name:w.string().min(1),...t()}),w.object({type:w.literal("hide"),targets:w.array(ma).min(1),hide:w.boolean(),...t()}),w.object({type:w.literal("reset-form"),fields:w.array(ma).nullable(),exclude:w.boolean(),...t()}),w.object({type:w.literal("submit-form"),url:w.string().min(1),fields:w.array(ma).nullable(),...d0,...t()})],n=w.lazy(()=>w.discriminatedUnion("type",[...r])),i=()=>n.nullable().optional();return{node:n,widgetActions:w.object({activate:i(),cursorEnter:i(),cursorExit:i(),mouseDown:i(),mouseUp:i(),focus:i(),blur:i(),pageOpen:i(),pageClose:i(),pageVisible:i(),pageInvisible:i()}).strict()}}var yg=_g(Gp),p0=_g(yp),Oae=yg.node,Gg=yg.widgetActions,l0=p0.widgetActions,Qae=pi.node,Rae=w.enum(pi.arms.map(e=>e.shape.type.value)),Tae=pi.tree,m0=pi.fieldActions,Mae=pi.pageActions,Lae=pi.documentActions,w0=pi.annotationActions,Cg=u0.annotationActions,Io=w.lazy(()=>w.object({type:w.literal("javascript"),script:w.string(),next:w.array(Io).optional()})),Ig=w.object({keystroke:Io.nullable().optional(),format:Io.nullable().optional(),validate:Io.nullable().optional(),calculate:Io.nullable().optional()});var Ke=w.object({x:w.number(),y:w.number()}),b0=w.object({start:Ke,end:Ke}),f0=w.union([w.tuple([Ke,Ke]),w.tuple([Ke,Ke,Ke])]),g0=w.array(w.array(Ke)),xo=w.object({left:w.number().finite(),bottom:w.number().finite(),right:w.number().finite(),top:w.number().finite()}),Nae=w.object({width:w.number().nonnegative(),height:w.number().nonnegative()}),Sg=w.object({upperLeft:Ke,upperRight:Ke,lowerLeft:Ke,lowerRight:Ke}),xg=me(w.union([w.literal(0),w.literal(90),w.literal(180),w.literal(270)])),dc=w.object({x:w.number(),y:w.number()}),So=w.object({x:w.number().finite(),y:w.number().finite(),width:w.number().finite().nonnegative(),height:w.number().finite().nonnegative()}),jae=w.object({upperLeft:dc,upperRight:dc,lowerLeft:dc,lowerRight:dc});function la(e,t,r){let n=i=>la(e,t,{...r,...i});return{read:e,write:t,traits:r,nullable:()=>n({readNullable:!0,writeNullable:!0}),nullableOnRead:()=>n({readNullable:!0}),optional:()=>n({required:!1}),createOnly:()=>n({createOnly:!0}),readBack:()=>n({readBack:!0}),space:i=>n({space:i}),writes:i=>la(e,i,r)}}var uc=(e,t)=>({owner:e,readNullable:!1,writeNullable:!1,required:t,createOnly:!1,readBack:!1,space:"none"}),H={data:e=>la(e,e,uc("data",!0)),attribution:e=>la(e,e,uc("attribution",!1)),engine:e=>la(e,e,uc("engine",!1)),preserved:e=>la(e,e,uc("preserved",!1))},F0={box:{read:So,write:So},linkTarget:{read:o0,write:s0},actions:{read:w0,write:Gg}};function lg(e,t,r){let n={subtype:me(w.literal(e))},i={subtype:w.literal(e)},a={subtype:w.literal(e).optional()},o={};for(let[s,A]of Object.entries(t)){let{owner:d,readNullable:p,writeNullable:m,required:F,readBack:k}=A.traits,P=r(A);if(n[s]=p?P.read.nullable():P.read,d==="data"){let B=m?P.write.nullable():P.write;i[s]=F?B:B.optional();let y=P.read===P.write?p||m?P.write.nullable():P.write:w.union([B,n[s]]);a[s]=(k?y:B).optional(),k&&(o[s]=B)}else i[s]=k?n[s].optional():w.unknown().optional(),a[s]=k?n[s].optional():w.unknown().optional(),k&&(o[s]=null)}return{read:n,create:i,update:a,readBackWrites:o}}function Me(e,t,r={}){let n=lg(e,t,a=>a),i=lg(e,t,a=>F0[a.traits.space]??a);return{subtype:e,fields:t,resources:r,readSchema:w.object(i.read),createSchema:w.object(i.create).strict(),updateSchema:w.object(i.update).strict(),fileSchemas:{read:w.object(n.read),create:w.object(n.create).strict(),update:w.object(n.update).strict()},readBackWrites:n.readBackWrites,shapes:{read:i.read,create:i.create,update:i.update}}}var Kn=w.string().datetime({offset:!0,local:!0}),mg=w.union([Kn,w.date()]),kn=w.number().finite().refine(e=>Number.isFinite(Math.fround(e)),"Outside PDF float range"),Hg=w.object({x:kn,y:kn}),Og=Hg.strict(),Qg=kn.refine(e=>Math.fround(e)>0,"Must be positive in PDF float precision"),ui=w.object({unit:w.string(),conversion:kn.optional(),fraction:me(w.enum(["decimal","fraction","round","truncate"])).optional(),precision:w.number().int().optional(),fixed:w.boolean().optional(),thousands:w.string().optional(),decimal:w.string().optional(),prefixSpacing:w.string().optional(),suffixSpacing:w.string().optional(),labelPosition:me(w.enum(["suffix","prefix"])).optional()}),Rg=w.object({subtype:w.literal("rectilinear"),ratio:w.string().optional(),x:w.array(ui),y:w.array(ui).optional(),distance:w.array(ui),area:w.array(ui),angle:w.array(ui).optional(),slope:w.array(ui).optional(),origin:Hg.optional(),cyx:kn.optional()}),pa=ui.extend({conversion:Qg,precision:w.number().int().min(1).max(2147483647).optional()}).refine($n,"Invalid number format precision"),Tg=Rg.extend({x:w.array(pa),y:w.array(pa).optional(),distance:w.array(pa),area:w.array(pa),angle:w.array(pa).optional(),slope:w.array(pa).optional(),cyx:Qg.optional(),origin:Og.optional()}),Mg=w.object({subtype:w.literal("geospatial")}),Lg=w.object({subtype:w.literal("unknown")}),v0=w.union([Mg,Lg]),Kae=w.object({measure:Tg.nullable()}),Ng=ga(w.discriminatedUnion("subtype",[Rg,Mg,Lg]),"unknown").describe("A measure, by its `subtype`. A newer server can add subtypes: read one your client doesn\'t know as `unknown`."),P0=w.object({bbox:So,name:w.string().nullable(),measure:Ng.nullable(),owned:w.boolean()}),Vae=w.object({viewports:w.array(P0)}),h0=me(w.enum(["line-arrow","line-dimension"])),k0=me(w.enum(["polygon-cloud","polygon-dimension"])),D0=me(w.literal("polyline-dimension")),B0=w.object({along:kn,perpendicular:kn}).strict(),Yae=w.object({enabled:w.boolean(),position:w.enum(["inline","top"]).optional(),offset:B0.optional()}).strict(),Xae=w.object({enabled:w.boolean(),center:Og.optional()}).strict(),jg=w.object({length:kn,extension:kn.refine(e=>e>=0).optional(),offset:kn.refine(e=>e>=0).optional()}),E0=jg.strict(),Kg=me(w.enum(["left","center","right","justify"])),Cp={family:w.string().min(1),weight:w.number().int().min(100).max(900),italic:w.boolean(),size:w.number().nonnegative(),color:Mt,decoration:w.array(me(w.enum(["underline","line-through","word"]))),script:me(w.enum(["normal","sub","super"])),letterSpacing:w.number(),horizontalScale:w.number().positive(),unknown:w.string().optional()},Ip={align:Kg,dir:me(w.enum(["ltr","rtl"])),lineHeight:w.number().positive().optional(),margins:w.object({top:w.number(),bottom:w.number(),left:w.number(),right:w.number()}).optional(),textIndent:w.number().optional(),unknown:w.string().optional()},_0=w.object(Cp).partial(),Vg=w.object({...Ip,runs:w.array(w.object({text:w.string(),style:_0.optional()}))}).partial({align:!0,dir:!0}),Yg=w.object({body:w.object({...Cp,...Ip}),paragraphs:w.array(Vg)}),Xg=w.object({body:w.object({...Cp,...Ip}).partial().optional(),paragraphs:w.array(Vg)}),y0=w.object({to:ba,type:me(w.enum(["reply","group"]))}),G0=w.object({to:ba,type:w.enum(["reply","group"]).optional()}),Sp=w.string().min(1),hn=()=>H.data(w.boolean()).optional(),Ho={ref:H.engine(ba),page:H.engine(wa),hasAppearance:H.engine(w.boolean()),appearanceState:H.engine(w.string()).nullable(),structurePosition:H.engine(w.array(w.number().int().nonnegative())).nullable(),nm:H.data(w.string()).nullable().optional().createOnly(),rect:H.data(xo).space("box"),contents:H.data(w.string()).nullable().optional(),subject:H.data(w.string()).nullable().optional(),blendMode:H.data(a0).optional(),invisible:hn(),hidden:hn(),print:hn(),noZoom:hn(),noRotate:hn(),noView:hn(),readOnly:hn(),locked:hn(),toggleNoView:hn(),lockedContents:hn(),reply:H.data(y0).writes(G0).nullable().optional(),popup:H.engine(ba).nullable(),groupId:H.data(w.string().min(1)).nullable().optional(),author:H.attribution(w.string()).nullable(),createdAt:H.attribution(Kn).writes(mg).nullable(),modifiedAt:H.attribution(Kn).writes(mg).nullable(),userId:H.attribution(w.string()).nullable(),createdBy:H.attribution(w.string()).nullable(),modifiedBy:H.attribution(w.string()).nullable(),importedBy:H.engine(w.string()).nullable(),actions:H.preserved(Cg).nullable().space("actions")},Zt={...Ho,richText:H.data(Yg).writes(Xg).nullable().optional().space("length")},Fa={color:H.data(Mt).optional(),opacity:H.data(w.number().min(0).max(1)).optional()},Wg={...Fa,color:H.data(Mt).nullable().optional(),strokeWidth:H.data(w.number().nonnegative()).optional(),borderStyle:H.data(gg).writes(Fg).readBack().optional(),dashArray:H.data(w.array(w.number().nonnegative())).writes(_p).nullable().optional()},xp={...Wg,interiorColor:H.data(Mt).nullable().optional()},va={rect:H.engine(xo).readBack().space("box")},Hp={rotation:H.data(w.number()).nullable().optional()},pc={...va,box:H.data(xo).space("box").optional(),rotation:H.data(w.number()).nullable().optional()},C0={...va,box:H.data(xo).space("box").optional(),rotation:H.data(xg).nullable().optional()},lc={...Zt,...Fa,...va,quadPoints:H.data(w.array(Sg).min(1)).space("quads")},Ug={...Zt,...xp,...pc,cloudyIntensity:H.data(w.number().positive()).nullable().optional()},qg={...Zt,...xp,...va,vertices:H.data(w.array(Ke)).space("points"),...Hp},Op=H.data(Ng).writes(w.union([Tg,v0])).nullable().optional().space("measure"),zg={captionEnabled:H.data(w.boolean()).nullable().optional(),captionCenter:H.data(Ke).nullable().optional().space("point")},Oo=Me("caret",{...Zt,...Fa,...pc,intent:H.data(n0).nullable().optional()}),I0=Oo.readSchema,S0=Oo.createSchema,x0=Oo.updateSchema,Qp={subtype:"caret",pdfSubtypeCode:L.CARET,dtoSchema:I0,draftSchema:S0,patchSchema:x0,readBackWrites:Oo.readBackWrites},Qo=Me("circle",Ug),H0=Qo.readSchema,O0=Qo.createSchema,Q0=Qo.updateSchema,Rp={subtype:"circle",pdfSubtypeCode:L.CIRCLE,dtoSchema:H0,draftSchema:O0,patchSchema:Q0,readBackWrites:Qo.readBackWrites},fa=w.string().min(1),Wae=w.object({appearance:fa.optional(),file:fa.optional()}).strict(),Uae=w.object({appearance:fa}).strict(),R0=w.object({file:fa}).strict(),qae=w.object({source:fa}).strict(),zae=w.object({image:fa}),Zae=w.object({resources:R0,name:w.string().min(1),mimeType:w.string().optional(),description:w.string().optional()}),Jae=w.object({name:w.string().min(1),mimeType:w.string().optional(),description:w.string().optional()}),T0=w.object({name:w.string(),mimeType:w.string().nullable(),description:w.string().nullable(),sizeBytes:w.number().int().nonnegative().nullable(),md5:w.string().nullable(),createdAt:Kn.nullable(),modifiedAt:Kn.nullable()}),$ae=w.object({kind:me(w.literal("key")),key:w.string().min(1)}),eoe=w.object({ref:w.object({kind:me(w.literal("key")),key:w.string()}),name:w.string(),mimeType:w.string().nullable(),description:w.string().nullable(),sizeBytes:w.number().int().nonnegative().nullable(),md5:w.string().nullable(),createdAt:Kn.nullable(),modifiedAt:Kn.nullable(),index:w.number().int().nonnegative()}),M0=me(w.enum(["push-pin","paperclip","graph","tag"])),L0=w.object({name:w.string().min(1),mimeType:w.string().nullable().optional(),description:w.string().nullable().optional()}),Ro=Me("file-attachment",{...Zt,...Fa,icon:H.data(M0).optional(),file:H.data(T0).writes(L0).nullable().optional()},{file:"required"}),To=Me("free-text",{...Zt,...pc,intent:H.data($C).writes(e0).readBack().optional(),fontFamily:H.data(Sp).optional(),fontSize:H.data(w.number().positive()).optional(),textAlign:H.data(Kg).optional(),verticalAlign:H.data(t0).optional(),richText:H.data(Yg).writes(Xg).optional().space("length"),color:H.data(Mt).optional(),fontColor:H.data(Mt).optional(),interiorColor:H.data(Mt).nullable().optional(),opacity:H.data(w.number().min(0).max(1)).optional(),strokeWidth:H.data(w.number().nonnegative()).optional(),borderStyle:H.data(gg).writes(Fg).readBack().optional(),dashArray:H.data(w.array(w.number().nonnegative())).writes(_p).nullable().optional(),cloudyIntensity:H.data(w.number().positive()).nullable().optional(),calloutLine:H.data(f0).nullable().optional().space("calloutLine"),lineEnding:H.data(Dp).nullable().optional()}),Mo=Me("highlight",lc),Lo=Me("ink",{...Zt,...Wg,strokeWidth:H.data(w.number().nonnegative()).writes(w.number().positive()).readBack().optional(),...va,inkList:H.data(g0).writes(w.array(w.array(Ke).min(1)).min(1)).readBack().space("strokes"),intent:H.data(i0).nullable().optional(),...Hp}),No=Me("line",{...Zt,...xp,...va,linePoints:H.data(b0).space("linePoints"),lineEndings:H.data(vg).optional(),...Hp,intent:H.data(h0).nullable().optional(),measure:Op,captionEnabled:H.data(w.boolean()).optional(),captionPosition:H.data(me(w.enum(["inline","top"]))).optional(),captionOffset:H.data(w.object({along:w.number(),perpendicular:w.number()})).nullable().optional(),leader:H.data(jg).writes(E0).nullable().optional()}),jo=Me("link",{...Ho,target:H.data(A0).writes(c0).nullable().readBack().space("linkTarget")}),Ko=Me("polygon",{...qg,vertices:H.data(w.array(Ke)).writes(w.array(Ke).min(3)).readBack().space("points"),...zg,intent:H.data(k0).nullable().optional(),measure:Op,cloudyIntensity:H.data(w.number().positive()).nullable().optional()}),Vo=Me("polyline",{...qg,vertices:H.data(w.array(Ke)).writes(w.array(Ke).min(2)).readBack().space("points"),...zg,intent:H.data(D0).nullable().optional(),measure:Op,lineEndings:H.data(vg).optional()}),Yo=Me("popup",{...Ho,parent:H.data(ba).nullableOnRead().readBack(),open:H.data(w.boolean()).optional()}),Xo=Me("redact",{...Zt,...Fa,rect:H.data(xo).optional().space("box"),quadPoints:H.data(w.array(Sg)).optional().space("quads"),interiorColor:H.data(Mt).nullable().optional(),overlayText:H.data(w.string()).nullable().optional(),repeat:H.data(w.boolean()).optional(),fontFamily:H.data(Sp).optional(),fontSize:H.data(w.number().nonnegative()).optional(),fontColor:H.data(Mt).optional(),textAlign:H.data(Pg).optional()}),Wo=Me("square",Ug),Uo=Me("squiggly",lc),N0=me(w.enum(["contain","cover","fill"])),qo=Me("stamp",{...Zt,...pc,name:H.data(w.string()).nullable().optional(),fit:H.data(N0).nullable().optional(),opacity:H.data(w.number().min(0).max(1)).optional()},{appearance:"required"}),zo=Me("strikeout",{...lc,intent:H.data(r0).nullable().optional()}),j0=me(w.enum(["comment","key","note","help","new-paragraph","paragraph","insert"])),Zo=Me("text",{...Zt,...Fa,icon:H.data(j0).optional(),open:H.data(w.boolean()).optional(),state:H.data(w.string().min(1)).nullable().optional(),stateModel:H.data(w.string().min(1)).nullable().optional()}),Jo=Me("underline",lc),Tp=Me("unsupported",{...Ho,rawSubtypeCode:H.engine(w.number().int()),rawSubtypeName:H.engine(w.string()).nullable()}),Mp=me(w.discriminatedUnion("kind",[w.object({kind:w.literal("objectNumber"),objectNumber:w.number().int().positive()}),w.object({kind:w.literal("fqn"),name:w.string().min(1)})])),Pa=Me("widget",{...Ho,...C0,color:H.data(Mt).nullable().optional(),interiorColor:H.data(Mt).nullable().optional(),strokeWidth:H.data(w.number().nonnegative()).optional(),borderStyle:H.data(ZC).optional(),dashArray:H.data(w.array(w.number().nonnegative())).writes(_p).nullable().optional(),fontFamily:H.data(Sp).nullable().optional(),fontSize:H.data(w.number().nonnegative()).nullable().optional(),fontColor:H.data(Mt).nullable().optional(),textAlign:H.data(Pg).optional(),caption:H.data(w.string()).nullable().optional(),checkStyle:H.data(JC).nullable().optional(),actions:H.data(Cg).writes(l0).readBack().nullable().optional().space("actions"),field:H.engine(Mp).nullable(),fieldKind:H.engine(zC(w.enum(["text","checkbox","radio","combobox","listbox","pushbutton","signature","unknown"]),"unknown").describe("Its field\'s family. A newer server can add families: read one your client doesn\'t know as `unknown`.")),hasMark:H.engine(w.boolean())}),Zg=[Mo,Jo,Uo,zo,Qo,Wo,Ko,Vo,No,jo,Lo,To,Oo,Zo,qo,Ro,Pa,Xo,Yo,Tp];function $o(e){return Zg.find(t=>t.subtype===e)??null}var K0=Ro.readSchema,V0=Ro.createSchema,Y0=Ro.updateSchema,Lp={subtype:"file-attachment",pdfSubtypeCode:L.FILEATTACHMENT,dtoSchema:K0,draftSchema:V0,patchSchema:Y0,readBackWrites:Ro.readBackWrites},X0=To.readSchema,W0=To.createSchema,U0=To.updateSchema,Np={subtype:"free-text",pdfSubtypeCode:L.FREETEXT,dtoSchema:X0,draftSchema:W0,patchSchema:U0,readBackWrites:To.readBackWrites},q0=Mo.readSchema,z0=Mo.createSchema,Z0=Mo.updateSchema,jp={subtype:"highlight",pdfSubtypeCode:L.HIGHLIGHT,dtoSchema:q0,draftSchema:z0,patchSchema:Z0,readBackWrites:Mo.readBackWrites},J0=Lo.readSchema,$0=Lo.createSchema,e9=Lo.updateSchema,Kp={subtype:"ink",pdfSubtypeCode:L.INK,dtoSchema:J0,draftSchema:$0,patchSchema:e9,readBackWrites:Lo.readBackWrites},t9=No.readSchema,n9=No.createSchema,r9=No.updateSchema,Vp={subtype:"line",pdfSubtypeCode:L.LINE,dtoSchema:t9,draftSchema:n9,patchSchema:r9,readBackWrites:No.readBackWrites},i9=jo.readSchema,a9=jo.createSchema,o9=jo.updateSchema,Yp={subtype:"link",pdfSubtypeCode:L.LINK,dtoSchema:i9,draftSchema:a9,patchSchema:o9,readBackWrites:jo.readBackWrites},s9=Ko.readSchema,A9=Ko.createSchema,c9=Ko.updateSchema,Xp={subtype:"polygon",pdfSubtypeCode:L.POLYGON,dtoSchema:s9,draftSchema:A9,patchSchema:c9,readBackWrites:Ko.readBackWrites},d9=Vo.readSchema,u9=Vo.createSchema,p9=Vo.updateSchema,Wp={subtype:"polyline",pdfSubtypeCode:L.POLYLINE,dtoSchema:d9,draftSchema:u9,patchSchema:p9,readBackWrites:Vo.readBackWrites},l9=Yo.readSchema,m9=Yo.createSchema,w9=Yo.updateSchema,Up={subtype:"popup",pdfSubtypeCode:L.POPUP,dtoSchema:l9,draftSchema:m9,patchSchema:w9,readBackWrites:Yo.readBackWrites},b9=Xo.readSchema,f9=Xo.createSchema,g9=Xo.updateSchema,qp={subtype:"redact",pdfSubtypeCode:L.REDACT,dtoSchema:b9,draftSchema:f9,patchSchema:g9,readBackWrites:Xo.readBackWrites},F9=Wo.readSchema,v9=Wo.createSchema,P9=Wo.updateSchema,zp={subtype:"square",pdfSubtypeCode:L.SQUARE,dtoSchema:F9,draftSchema:v9,patchSchema:P9,readBackWrites:Wo.readBackWrites},h9=Uo.readSchema,k9=Uo.createSchema,D9=Uo.updateSchema,Zp={subtype:"squiggly",pdfSubtypeCode:L.SQUIGGLY,dtoSchema:h9,draftSchema:k9,patchSchema:D9,readBackWrites:Uo.readBackWrites},B9=qo.readSchema,E9=qo.createSchema,_9=qo.updateSchema,Jp={subtype:"stamp",pdfSubtypeCode:L.STAMP,dtoSchema:B9,draftSchema:E9,patchSchema:_9,readBackWrites:qo.readBackWrites},y9=zo.readSchema,G9=zo.createSchema,C9=zo.updateSchema,$p={subtype:"strikeout",pdfSubtypeCode:L.STRIKEOUT,dtoSchema:y9,draftSchema:G9,patchSchema:C9,readBackWrites:zo.readBackWrites},I9=Zo.readSchema,S9=Zo.createSchema,x9=Zo.updateSchema,el={subtype:"text",pdfSubtypeCode:L.TEXT,dtoSchema:I9,draftSchema:S9,patchSchema:x9,readBackWrites:Zo.readBackWrites},H9=Jo.readSchema,O9=Jo.createSchema,Q9=Jo.updateSchema,tl={subtype:"underline",pdfSubtypeCode:L.UNDERLINE,dtoSchema:H9,draftSchema:O9,patchSchema:Q9,readBackWrites:Jo.readBackWrites},R9=Tp.readSchema,T9=w.never(),M9=w.never(),Jg={subtype:"unsupported",pdfSubtypeCode:L.UNKNOWN,dtoSchema:R9,draftSchema:T9,patchSchema:M9,readBackWrites:Tp.readBackWrites},$g=Pa.readSchema,L9=Pa.createSchema,N9=Pa.updateSchema,nl={subtype:"widget",pdfSubtypeCode:L.WIDGET,dtoSchema:$g,draftSchema:L9,patchSchema:N9,readBackWrites:Pa.readBackWrites},eF=Object.fromEntries(_o.map(e=>[e,Pa.shapes.update[e]])),toe=w.object(eF).strict(),tF=[jp,tl,Zp,$p,Rp,zp,Xp,Wp,Vp,Yp,Kp,Np,Qp,el,Jp,Lp,nl,qp,Up,Jg],nF=Object.freeze(Object.fromEntries(tF.map(e=>[e.subtype,e]))),noe=ga(w.discriminatedUnion("subtype",[jp.dtoSchema,tl.dtoSchema,Zp.dtoSchema,$p.dtoSchema,Rp.dtoSchema,zp.dtoSchema,Xp.dtoSchema,Wp.dtoSchema,Vp.dtoSchema,Yp.dtoSchema,Kp.dtoSchema,Np.dtoSchema,Qp.dtoSchema,el.dtoSchema,Jp.dtoSchema,Lp.dtoSchema,nl.dtoSchema,qp.dtoSchema,Up.dtoSchema,Jg.dtoSchema]),"unsupported",e=>({...e,rawSubtypeCode:Number.isInteger(e.rawSubtypeCode)?e.rawSubtypeCode:L.UNKNOWN,rawSubtypeName:typeof e.rawSubtypeName=="string"?e.rawSubtypeName:null})).describe("An annotation, by its `subtype`. A newer server can add subtypes: read one your client doesn\'t know as `unsupported`, keeping the fields every annotation has, with `rawSubtypeCode` 0 and `rawSubtypeName` null when the body has neither."),rF=w.discriminatedUnion("subtype",[jp.draftSchema,tl.draftSchema,Zp.draftSchema,$p.draftSchema,Rp.draftSchema,zp.draftSchema,Xp.draftSchema,Wp.draftSchema,Vp.draftSchema,Yp.draftSchema,Kp.draftSchema,Np.draftSchema,Qp.draftSchema,el.draftSchema,Jp.draftSchema,Lp.draftSchema,nl.draftSchema,qp.draftSchema,Up.draftSchema]),roe=w.union(tF.filter(e=>e.subtype!=="unsupported").map(e=>e.patchSchema));var iF=w.discriminatedUnion("subtype",Zg.filter(e=>e.subtype!=="unsupported").map(e=>e.fileSchemas.create));function aF(e){return $o(e).fileSchemas.update}var oF={ref:ba.nullable(),objectNumber:w.number().int().nonnegative(),page:wa.nullable()},j9=w.object(oF),K9=j9,wg=w.object({...oF,onState:w.string(),exportValue:w.string(),checked:w.boolean()}),bg=w.object({label:w.string(),value:w.string(),selected:w.boolean()}),fg=ga(w.discriminatedUnion("kind",[w.object({kind:w.literal("none")}),w.object({kind:w.literal("scalar"),value:w.string()}),w.object({kind:w.literal("array"),values:w.array(w.string())}),w.object({kind:w.literal("unsupported")})]),"unsupported").describe("A field\'s stored value, by its `kind`. A newer server can add kinds: read one your client doesn\'t know as `unsupported`."),mr={ref:Mp,name:w.string(),origin:me(w.enum(["acroform","recovered"])),readOnly:w.boolean(),required:w.boolean(),noExport:w.boolean(),alternateName:w.string().nullable(),mappingName:w.string().nullable(),valueEntry:fg,defaultValueEntry:fg,actions:m0.optional(),groupId:w.string().nullable(),createdBy:w.string().nullable(),createdAt:Kn.nullable(),filledBy:w.string().nullable(),filledByName:w.string().nullable(),filledAt:Kn.nullable(),importedBy:w.string().nullable(),widgets:w.array(K9)},V9=ga(w.discriminatedUnion("kind",[w.object({...mr,kind:w.literal("text"),value:w.string(),defaultValue:w.string(),maxLength:w.number().int().positive().nullable(),multiline:w.boolean(),password:w.boolean(),comb:w.boolean()}),w.object({...mr,kind:w.literal("checkbox"),checked:w.boolean(),exportValue:w.string(),widgets:w.array(wg)}),w.object({...mr,kind:w.literal("radio"),value:w.string(),radiosInUnison:w.boolean(),noToggleToOff:w.boolean(),widgets:w.array(wg)}),w.object({...mr,kind:w.literal("combobox"),value:w.string(),defaultValue:w.string(),edit:w.boolean(),options:w.array(bg)}),w.object({...mr,kind:w.literal("listbox"),selectedValues:w.array(w.string()),defaultValue:w.array(w.string()),multiSelect:w.boolean(),options:w.array(bg),topIndex:w.number().int().nonnegative()}),w.object({...mr,kind:w.literal("pushbutton")}),w.object({...mr,kind:w.literal("signature")}),w.object({...mr,kind:w.literal("unknown"),rawValue:w.string()})]),"unknown",e=>({...e,rawValue:typeof e.rawValue=="string"?e.rawValue:""})).describe("A form field, by its `family`. A newer server can add families: read one your client doesn\'t know as `unknown`, keeping the fields every field has, with `rawValue` an empty string when the body has none."),Y9=me(w.enum(["none","acroform","xfa"])),ioe=w.object({formKind:Y9,needsAppearances:w.boolean(),fields:w.array(V9),widgets:w.array($g),calculationOrder:w.array(Mp.nullable())}),aoe=w.object({value:w.string().nullable().optional(),checked:w.boolean().optional(),selectedValues:w.array(w.string()).optional()}).strict().refine(e=>[e.value,e.checked,e.selectedValues].filter(t=>t!==void 0).length===1,{message:"exactly one of value, checked or selectedValues"}),X9=w.object({page:wa,rect:So.optional(),box:So.optional(),rotation:xg.optional(),exportValue:w.string().min(1).optional(),actions:Gg.optional(),...eF}).strict(),Bp=w.object({label:w.string(),value:w.string()}),di={name:w.string().min(1),readOnly:w.boolean().optional(),required:w.boolean().optional(),noExport:w.boolean().optional(),alternateName:w.string().optional(),mappingName:w.string().optional(),groupId:w.string().min(1).max(256).optional(),actions:Ig.optional(),widgets:w.array(X9).optional()},sF=w.discriminatedUnion("kind",[w.object({...di,kind:w.literal("text"),defaultValue:w.string().optional(),maxLength:w.number().int().positive().optional(),multiline:w.boolean().optional(),password:w.boolean().optional(),comb:w.boolean().optional()}).strict(),w.object({...di,kind:w.literal("checkbox")}).strict(),w.object({...di,kind:w.literal("radio"),radiosInUnison:w.boolean().optional(),noToggleToOff:w.boolean().optional()}).strict(),w.object({...di,kind:w.literal("combobox"),edit:w.boolean().optional(),options:w.array(Bp).optional(),defaultValue:w.string().optional()}).strict(),w.object({...di,kind:w.literal("listbox"),multiSelect:w.boolean().optional(),options:w.array(Bp).optional(),defaultValue:w.array(w.string()).optional()}).strict(),w.object({...di,kind:w.literal("pushbutton")}).strict(),w.object({...di,kind:w.literal("signature")}).strict()]),W9={name:w.string().min(1).optional(),readOnly:w.boolean().optional(),required:w.boolean().optional(),noExport:w.boolean().optional(),alternateName:w.string().nullable().optional(),mappingName:w.string().nullable().optional(),groupId:w.string().min(1).max(256).optional(),actions:Ig.optional()},ooe=w.object({...W9,kind:w.enum(["text","checkbox","radio","combobox","listbox","pushbutton","signature"]).optional(),defaultValue:w.union([w.string(),w.array(w.string())]).nullable().optional(),maxLength:w.number().int().positive().nullable().optional(),multiline:w.boolean().optional(),password:w.boolean().optional(),comb:w.boolean().optional(),radiosInUnison:w.boolean().optional(),noToggleToOff:w.boolean().optional(),edit:w.boolean().optional(),multiSelect:w.boolean().optional(),options:w.array(Bp).optional()}).strict();function U9(e,t={}){let r=$o(String(e.subtype)),n=t.linked??[],i=(r&&n.length>0?r.fileSchemas.create.omit(Object.fromEntries(n.map(a=>[a,!0]))):iF).safeParse(e);if(!i.success)throw dF(i.error,`${String(e.subtype)} create`)}function q9(e,t){let r=t.subtype??e.subtype;if(r==="unsupported")return;let n=t;for(let[a,o]of Object.entries(nF[r].readBackWrites)){let s=n[a];if(!(s===void 0||o?.safeParse(s).success))throw new g(f.InvalidArg,o?`${r} update field \'${a}\': this value can be read but not written; send it back unchanged or replace it`:`${r} update field \'${a}\': the engine works this out; send it back unchanged or leave it out`,{details:{field:a}})}let i=aF(r).safeParse(t);if(!i.success)throw dF(i.error,`${r} update`)}function AF(e,t={}){let r=Db(e);return U9(r,{linked:t.linked??[]}),Bb(r,t)}function cF(e,t,r={}){let n=hb(e,t);return q9(e,n),kb(e,n,r)}function dF(e,t){let r=e.issues[0],n=r.path.join(".");return new g(f.InvalidArg,`${t}${n?` field \'${n}\'`:""}: ${r.message}`,{details:n?{field:n}:{}})}function uF(e){let{bundle:t,target:r,nameTaken:n}=e,i=t.items.map(I=>I.data),a=rA({bundlePages:t.pages,pages:e.pages??"same",target:r,named:i.flatMap(z9)}),o=new Map,s=new Map,A=new Map;i.forEach((I,S)=>{if(I.subtype==="unsupported"){o.set(S,"unsupported-kind");return}if(I.subtype==="widget"){o.set(S,"widget");return}if(I.subtype==="popup"&&I.parent===null){o.set(S,"parent-missing");return}let G=J9(I);if(G==="item"){o.set(S,"unsupported-value");return}let T=[...Z9(I),...G];T.length>0&&s.set(S,T),A.set(S,n7(I,T,a,S))});let d=new Map;i.forEach((I,S)=>{let G=U(I.ref);d.has(G)||d.set(G,S)});let p=I=>fe(a(i[I].ref.page)),m=(I,S)=>{let G=d.get(U(I));return G!==void 0&&p(G)===p(S)?G:void 0},F=I=>[I.reply?.to,I.subtype==="popup"?I.parent:null].filter(S=>S!=null);i.forEach((I,S)=>{o.has(S)||F(I).some(G=>m(G,S)===void 0)&&o.set(S,"parent-missing")});let k=new Map;i.forEach((I,S)=>{if(o.has(S)||I.subtype!=="popup"||!I.parent)return;let G=m(I.parent,S);k.has(G)?o.set(S,"popup-taken"):k.set(G,S)});let P=new Set;i.forEach((I,S)=>{if(o.has(S)||!I.nm)return;let G=a(I.ref.page),T=`${fe(G)}\\0${I.nm}`;P.has(T)||n(G,I.nm)?o.set(S,"name-conflict"):P.add(T)});for(let I=!0;I;)I=!1,i.forEach((S,G)=>{o.has(G)||F(S).some(T=>o.has(m(T,G)))&&(o.set(G,"parent-dropped"),I=!0)});let B=new Map;i.forEach((I,S)=>{o.has(S)||B.set(S,B.size)});let y=[...B.keys()].map(I=>{let S=i[I],G=S.reply?B.get(m(S.reply.to,I)):void 0,T=S.subtype==="popup"&&S.parent?B.get(m(S.parent,I)):void 0;return{item:I,page:a(S.ref.page),draft:A.get(I),...G!==void 0?{replyTo:{planned:G,type:S.reply.type}}:{},...T!==void 0?{parent:T}:{}}}),x=[];return i.forEach((I,S)=>{let G=o.get(S);if(G)x.push({ref:I.ref,reason:G});else for(let T of s.get(S)??[])x.push({ref:I.ref,...T})}),{creates:y,dropped:x}}function z9(e){let{ref:t,reply:r,popup:n,...i}=e,a={...i};return e.subtype==="popup"&&delete a.parent,[t.page,...ea(a)]}function Z9(e){let t=[],r=e.measure;r?.subtype==="geospatial"&&t.push({field:"measure",reason:"geospatial"}),r?.subtype==="unknown"&&t.push({field:"measure",reason:"unknown-measure"});let n=e.subtype==="link"?e.target:null,i=!!n&&e7(n);n&&!i&&t.push({field:"target",reason:"unsupported-action"});let{actions:a}=e;return Object.entries(a??{}).some(([o,s])=>e.subtype!=="link"||o!=="activate"?!0:i&&!$9(s))&&t.push({field:"actions",reason:"unsupported-action"}),t}function J9(e){let t=[],r=$o(e.subtype);for(let[n,i]of Object.entries(r?.fields??{})){let{owner:a,readBack:o,required:s}=i.traits;if(a!=="data"||!o||n==="target")continue;let A=e[n];if(!(A==null||i.write.safeParse(A).success)){if(s)return"item";t.push({field:n,reason:"unsupported-value"})}}return t}function $9(e){let t=e?.root;return!e||e.incomplete||!t||t.next.length>0?!1:!(t.type==="uri"&&t.isMap)}function e7(e){return e.kind==="named"?t7.has(e.name??""):e.kind==="goto"||e.kind==="uri"}var t7=new Set(["NextPage","PrevPage","FirstPage","LastPage"]);function n7(e,t,r,n){let i={...e};delete i.reply;let a=$o(e.subtype)?.fields??{};for(let{field:s}of t)a[s]?.traits.writeNullable?i[s]=null:delete i[s];let o=rF.safeParse(i);if(e.subtype==="popup"&&delete i.parent,!o.success){let s=o.error.issues[0],A=s.path.join(".");throw new g(f.InvalidArg,`import: item ${n}${A?` field \'${A}\'`:""}: ${s.message}`,{details:{item:n,...A?{field:A}:{}}})}return nc(i,r)}function pF(e){let{bundle:t,mayScript:r}=e,n=rA({bundlePages:t.pages,pages:e.pages??"same",target:e.target,named:t.widgets.flatMap(d=>ea(d.data))}),i=new Map(t.widgets.map((d,p)=>[U(d.data.ref),p])),a=new Set,o=[],s=new Set,A=[];return t.fields.forEach(({data:d},p)=>{let m=d.widgets.flatMap(P=>{let B=P.ref?i.get(U(P.ref)):void 0;return B===void 0?[]:[B]});for(let P of m)a.add(P);if(d.kind==="unknown"){o.push({ref:d.ref,reason:"unsupported-kind"});return}if(s.has(d.name)||e.nameTaken(d.name)){o.push({ref:d.ref,reason:"name-conflict"});return}s.add(d.name);let F=o7(d,r7(d,r,o),m.map(P=>i7(d,t.widgets[P].data,n,r,o)),p),k=e.values&&mF(d)?Wi(d):null;A.push({field:p,draft:F,widgets:m,flags:m.map(P=>a7(t.widgets[P].data)),...k?{value:k}:{}})}),t.widgets.forEach((d,p)=>{a.has(p)||o.push({ref:d.data.field,widget:d.data.ref,reason:"no-field"})}),{creates:A,calculationOrder:t.calculationOrder.flatMap(d=>{let p=A.findIndex(m=>Jn(t.fields[m.field].data.ref)===Jn(d)&&m.draft.actions?.calculate);return p<0?[]:[p]}),dropped:o}}function lF(e){let t=[],r=[];return e.bundle.fields.forEach(({data:n},i)=>{let a=mF(n)?Wi(n):null;if(!a)return;let o=e.target.find(s=>HA(s,{kind:"fqn",name:n.name}));if(!o)r.push({ref:n.ref,reason:"no-field"});else if(o.kind!==n.kind)r.push({ref:n.ref,reason:"wrong-kind"});else{let s=e.refusal?.(o,a);s?r.push({ref:n.ref,reason:s}):t.push({field:i,target:o,value:a})}}),{writes:t,dropped:r}}function mF(e){return e.valueEntry.kind==="scalar"||e.valueEntry.kind==="array"}function r7(e,t,r){let n={};for(let[i,a]of Object.entries(e.actions??{})){if(!a)continue;let o=mo(a),s=`actions.${i}`;o?t?n[i]=o:r.push({ref:e.ref,field:s,reason:"script-not-allowed"}):r.push({ref:e.ref,field:s,reason:"unsupported-action"})}return n}function i7(e,t,r,n,i){let a={};for(let A of Xi){let d=t.actions?.[A];if(!d)continue;let p=lo(d),m=F=>i.push({ref:e.ref,widget:t.ref,field:`actions.${A}`,reason:F});p?!n&&po(p)?m("script-not-allowed"):a[A]=nc(p,r):m("unsupported-action")}let o=e.kind==="checkbox"||e.kind==="radio"?e.widgets.find(A=>A.ref&&U(A.ref)===U(t.ref)):void 0,s={color:t.color,interiorColor:t.interiorColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,caption:e.kind==="pushbutton"?t.caption:null};return{page:r(t.page),rect:t.rect,...t.rotation?{rotation:t.rotation}:{},strokeWidth:t.strokeWidth,borderStyle:t.borderStyle,textAlign:t.textAlign,...Object.fromEntries(Object.entries(s).filter(([,A])=>A!=null)),...o&&"exportValue"in o?{exportValue:o.exportValue}:{},...Object.keys(a).length>0?{actions:a}:{}}}function a7(e){return Object.fromEntries(Ku.map(t=>[t,e[t]]))}function o7(e,t,r,n){let i={name:e.name,readOnly:e.readOnly,required:e.required,noExport:e.noExport,...e.alternateName!==null?{alternateName:e.alternateName}:{},...e.mappingName!==null?{mappingName:e.mappingName}:{},...e.groupId!==null?{groupId:e.groupId}:{},...Object.keys(t).length>0?{actions:t}:{},widgets:r},a=e.defaultValueEntry.kind!=="none",o=d=>d.map(({label:p,value:m})=>({label:p,value:m})),s;switch(e.kind){case"text":s={...i,kind:"text",...a?{defaultValue:e.defaultValue}:{},...e.maxLength!==null?{maxLength:e.maxLength}:{},multiline:e.multiline,password:e.password,comb:e.comb};break;case"radio":s={...i,kind:"radio",radiosInUnison:e.radiosInUnison,noToggleToOff:e.noToggleToOff};break;case"combobox":s={...i,kind:"combobox",edit:e.edit,options:o(e.options),...a?{defaultValue:e.defaultValue}:{}};break;case"listbox":s={...i,kind:"listbox",multiSelect:e.multiSelect,options:o(e.options),...a?{defaultValue:e.defaultValue}:{}};break;case"checkbox":case"pushbutton":case"signature":s={...i,kind:e.kind};break;default:throw new g(f.InvalidArg,`import: field ${n} has no family`)}let A=sF.safeParse(s);if(!A.success){let d=A.error.issues[0],p=d.path.join(".");throw new g(f.InvalidArg,`import: field ${n}${p?` member \'${p}\'`:""}: ${d.message}`,{details:{item:n,...p?{field:p}:{}}})}return s}var Lt=[32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,8226,8364,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,381,8216,8217,8220,8221,8211,8212,732,8482,353,8250,339,382,376,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],P7={courier:{ascent:803,descent:-248,programHash:"955500bf0048e07e3046477b3874ef9e7653010a2bc780bbf27f837d7ca34d19",codePoints:Lt,advances:[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]},"courier-bold":{ascent:811,descent:-248,programHash:"386d8684b075c7ff4911235ae9691d5e9e924fff13fa1f17841c6d4d4f3762e6",codePoints:Lt,advances:[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]},"courier-bold-oblique":{ascent:811,descent:-248,programHash:"d1dae62980ea92bfa86f9e3961a3064e164e41a5064211f2a3a8833643a322a5",codePoints:Lt,advances:[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]},"courier-oblique":{ascent:803,descent:-248,programHash:"d790f273acf84a1afada2cf96a6eb646728a1a6e7afe961a2cc846bb3a501b0b",codePoints:Lt,advances:[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]},helvetica:{ascent:945,descent:-224,programHash:"93fe419ed14bac240018cf4506dbb64643eeeee379c0b51d3c52d239f4adbc58",codePoints:Lt,advances:[278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,350,667,222,556,333,1e3,556,556,333,1e3,667,333,1e3,611,222,222,333,333,556,1e3,333,1e3,500,366,944,500,667,333,556,556,556,556,260,556,333,737,370,612,584,737,333,400,584,333,333,333,556,537,278,333,333,365,612,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,584,611,556,556,556,556,500,556,500]},"helvetica-bold":{ascent:962,descent:-227,programHash:"f11bf41cf5d115966ee4d954d9d3eab4a7d1b63d371e5d655fc82d15350bc929",codePoints:Lt,advances:[278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,1072,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,350,722,278,556,500,1e3,556,556,333,1e3,667,333,1e3,611,278,278,500,500,556,1e3,333,1e3,556,333,944,500,667,333,556,556,556,556,280,556,333,737,370,556,584,737,333,400,584,333,333,333,611,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,584,611,611,611,611,611,556,611,556]},"helvetica-bold-oblique":{ascent:962,descent:-227,programHash:"9cd559e9d134dd6bb8bb75186d4302079e78ebee53a7c9b38dea1fba52a534d8",codePoints:Lt,advances:[278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,528,556,556,556,556,333,333,584,584,584,611,1072,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,350,722,278,556,500,1e3,556,556,333,1e3,667,333,1e3,611,278,278,500,500,556,1e3,333,1e3,556,333,944,500,667,333,556,556,556,556,280,556,333,737,370,556,584,737,333,400,584,333,333,333,611,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,584,519,611,611,611,611,556,611,556]},"helvetica-oblique":{ascent:951,descent:-224,programHash:"872e4efa9cc73daff4a3fffa952663f32144db19ec91a8407afc359486eae30b",codePoints:Lt,advances:[278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1116,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,350,667,222,556,333,1e3,556,556,333,1e3,667,350,1e3,611,222,222,333,333,556,1e3,333,1e3,500,333,944,500,667,333,556,556,556,556,260,556,333,737,370,556,584,737,333,400,584,333,333,333,556,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,584,611,556,556,556,556,500,556,500]},"times-roman":{ascent:878,descent:-249,programHash:"7be927a55309ca34d67972ccf041ff3d156d774017022b18131fa365e6dd922e",codePoints:Lt,advances:[250,333,408,500,500,833,778,180,333,333,500,564,250,333,250,278,500,500,500,500,500,500,500,500,500,500,278,278,564,564,564,444,921,722,667,667,722,611,556,722,722,333,389,722,611,889,722,722,556,722,667,556,611,722,722,944,722,722,611,333,278,333,469,500,333,444,500,444,500,444,333,500,500,278,278,500,278,778,500,500,500,500,333,389,278,500,500,722,500,500,444,480,200,480,541,350,722,333,500,444,1e3,500,500,333,1e3,556,333,889,611,333,333,444,444,500,1e3,333,980,389,333,722,444,722,333,500,500,500,500,200,500,333,760,276,500,564,760,333,400,564,300,300,333,500,453,250,333,300,310,500,750,750,750,444,722,722,722,722,722,722,889,667,611,611,611,611,333,333,333,333,722,722,722,722,722,722,722,564,722,722,722,722,722,722,556,500,444,444,444,444,444,444,667,444,444,444,444,444,278,278,278,278,500,500,500,500,500,500,500,564,500,500,500,500,500,500,500,500]},"times-bold":{ascent:889,descent:-249,programHash:"f23f2efbfa079f9083d967acf695b10db7c78e39862dbeb4788a4fd0533ff29c",codePoints:Lt,advances:[250,333,555,500,500,1e3,833,278,333,333,500,570,250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,570,570,570,500,930,722,667,722,722,667,611,778,778,389,500,778,667,944,722,778,611,778,722,556,667,722,722,1e3,722,722,667,333,278,333,581,500,333,500,556,444,556,444,333,500,556,278,333,556,278,833,556,500,556,556,444,389,333,556,500,722,500,500,444,394,220,394,520,350,722,333,500,500,1e3,500,500,333,1e3,556,333,1e3,667,333,333,500,500,500,1e3,333,1e3,389,333,722,444,722,333,500,500,500,500,220,500,333,747,300,500,570,747,333,400,570,300,300,333,556,540,250,333,300,330,500,750,750,750,500,722,722,722,722,722,722,1e3,722,667,667,667,667,389,389,389,389,722,722,778,778,778,778,778,570,778,722,722,722,722,722,611,556,500,500,500,500,500,500,722,444,444,444,444,444,278,278,278,278,500,556,500,500,500,500,500,570,500,556,556,556,556,500,556,500]},"times-bold-italic":{ascent:869,descent:-249,programHash:"cf51fab68d7d965f5755218a7f99b0376bc440e1bb4e90498aef0964aac94490",codePoints:Lt,advances:[250,389,555,500,500,833,778,278,333,333,500,570,250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,570,570,570,500,832,667,667,667,722,667,667,722,778,389,500,667,611,889,722,722,611,722,667,556,611,722,667,889,667,611,611,333,278,333,570,500,333,500,500,444,500,444,333,500,556,278,278,500,278,778,556,500,500,500,389,389,278,556,444,667,500,444,389,348,220,348,570,350,667,333,500,500,1e3,500,500,333,1e3,556,333,944,611,333,333,500,500,500,1e3,333,1e3,389,333,722,389,611,389,500,500,500,500,220,500,333,747,266,500,606,747,333,400,570,300,300,333,576,500,250,333,300,300,500,750,750,750,500,667,667,667,667,667,667,944,667,667,667,667,667,389,389,389,389,722,722,722,722,722,722,722,570,722,722,722,722,722,611,611,500,500,500,500,500,500,500,722,444,444,444,444,444,278,278,278,278,500,556,500,500,500,500,500,570,500,556,556,556,556,444,500,444]},"times-italic":{ascent:868,descent:-249,programHash:"f405670768d71ff8d8a4e493cbcb9c6deff9565419bf63a38abb544789aa87b4",codePoints:Lt,advances:[250,333,420,500,500,833,778,214,333,333,500,675,250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,675,675,675,500,920,611,611,667,722,611,611,722,722,333,444,667,556,833,667,722,611,722,611,500,556,722,611,833,611,556,556,389,278,389,422,500,333,500,500,444,500,444,278,500,500,278,278,444,278,722,500,500,500,500,389,389,278,500,444,667,444,444,389,400,275,400,541,350,500,333,500,556,889,500,500,333,1e3,500,333,944,556,333,333,556,556,500,889,333,980,389,333,667,389,556,389,500,500,500,500,275,500,333,760,276,500,675,760,333,400,675,300,300,333,500,523,250,333,300,310,500,750,750,750,500,611,611,611,611,611,611,889,667,611,611,611,611,333,333,333,333,722,667,722,722,722,722,722,675,722,722,722,722,722,556,611,500,500,500,500,500,500,500,667,444,444,444,444,444,278,278,278,278,500,500,500,500,500,500,500,675,500,500,500,500,500,444,500,444]},symbol:{ascent:1010,descent:-293,programHash:"1f027bd5b336f563724a2cba62295329edbb3df7ca9efbe8f296d7a1e86849a1",codePoints:[32,33,8704,35,8707,37,38,8715,40,41,8727,43,44,8722,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,8773,913,914,935,916,917,934,915,919,921,977,922,923,924,925,927,928,920,929,931,932,933,962,937,926,936,918,91,8756,93,8869,95,63717,945,946,967,948,949,966,947,951,953,981,954,955,956,957,959,960,952,961,963,964,965,982,969,958,968,950,123,124,125,8764,8364,978,8242,8804,8260,8734,402,9827,9830,9829,9824,8596,8592,8593,8594,8595,176,177,8243,8805,215,8733,8706,8226,247,8800,8801,8776,8230,63718,63719,8629,8501,8465,8476,8472,8855,8853,8709,8745,8746,8835,8839,8836,8834,8838,8712,8713,8736,8711,63194,63193,63195,8719,8730,8901,172,8743,8744,8660,8656,8657,8658,8659,9674,9001,63720,63721,63722,8721,63723,63724,63725,63726,63727,63728,63729,63730,63731,63732,9002,8747,8992,63733,8993,63734,63735,63736,63737,63738,63739,63740,63741,63742],advances:[250,333,713,500,549,833,778,439,333,333,500,549,250,549,250,278,500,500,500,500,500,500,500,500,500,500,278,278,549,549,549,444,549,722,667,722,612,611,763,603,722,333,631,722,686,889,722,722,768,741,556,592,611,690,439,768,645,795,611,333,863,333,658,500,500,631,549,549,494,439,521,411,603,329,603,549,549,576,521,549,549,521,549,603,439,576,713,686,493,686,494,480,200,480,549,750,620,247,549,167,713,500,753,753,753,753,1042,987,603,987,603,400,549,411,549,549,713,494,460,549,549,549,549,1e3,603,1e3,658,823,686,795,987,768,768,823,768,768,713,713,713,713,713,713,713,768,713,790,790,890,823,549,250,713,603,603,1042,987,603,987,603,494,329,790,790,786,713,384,384,384,384,384,384,494,494,494,494,329,274,686,686,686,384,384,384,384,384,384,494,494,494]},"zapf-dingbats":{ascent:826,descent:-163,programHash:"0439c04b1c3ba23c2fd8c2f4a5f2c65b2b0f817588c45afd5c06a41eab70bfbd",codePoints:[32,9985,9986,9987,9988,9742,9990,9991,9992,9993,9755,9758,9996,9997,9998,9999,1e4,10001,10002,10003,10004,10005,10006,10007,10008,10009,10010,10011,10012,10013,10014,10015,10016,10017,10018,10019,10020,10021,10022,10023,9733,10025,10026,10027,10028,10029,10030,10031,10032,10033,10034,10035,10036,10037,10038,10039,10040,10041,10042,10043,10044,10045,10046,10047,10048,10049,10050,10051,10052,10053,10054,10055,10056,10057,10058,10059,9679,10061,9632,10063,10064,10065,10066,9650,9660,9670,10070,9687,10072,10073,10074,10075,10076,10077,10078,10081,10082,10083,10084,10085,10086,10087,9827,9830,9829,9824,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,10102,10103,10104,10105,10106,10107,10108,10109,10110,10111,10112,10113,10114,10115,10116,10117,10118,10119,10120,10121,10122,10123,10124,10125,10126,10127,10128,10129,10130,10131,10132,8594,8596,8597,10136,10137,10138,10139,10140,10141,10142,10143,10144,10145,10146,10147,10148,10149,10150,10151,10152,10153,10154,10155,10156,10157,10158,10159,10161,10162,10163,10164,10165,10166,10167,10168,10169,10170,10171,10172,10173,10174],advances:[278,974,961,974,980,719,789,790,791,690,960,939,549,855,911,933,911,945,974,755,846,762,761,571,677,763,760,759,754,494,552,537,577,692,786,788,788,790,793,794,816,823,789,841,823,833,816,831,923,744,723,749,790,792,695,776,768,792,759,707,708,682,701,826,815,789,789,707,687,696,689,786,787,713,791,785,791,873,761,762,762,759,759,892,892,788,784,438,138,277,415,392,392,668,668,732,544,544,910,667,760,760,776,595,694,626,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,894,838,1016,458,748,924,748,918,927,928,928,834,873,828,924,924,917,930,931,463,883,836,836,867,867,696,696,874,874,760,946,771,865,771,888,967,888,831,873,927,970,918]}};var h7="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",es=new Uint8Array(128);for(let e=0;e<64;e+=1)es[h7.charCodeAt(e)]=e;function VF(e){let t=e.endsWith("==")?2:e.endsWith("=")?1:0,r=new Uint8Array(e.length/4*3-t),n=0;for(let i=0;i>16),n>8&255),nPromise.resolve().then(()=>(bF(),wF)),"courier-bold":()=>Promise.resolve().then(()=>(gF(),fF)),"courier-bold-oblique":()=>Promise.resolve().then(()=>(vF(),FF)),"courier-oblique":()=>Promise.resolve().then(()=>(hF(),PF)),helvetica:()=>Promise.resolve().then(()=>(DF(),kF)),"helvetica-bold":()=>Promise.resolve().then(()=>(EF(),BF)),"helvetica-bold-oblique":()=>Promise.resolve().then(()=>(yF(),_F)),"helvetica-oblique":()=>Promise.resolve().then(()=>(CF(),GF)),"times-roman":()=>Promise.resolve().then(()=>(SF(),IF)),"times-bold":()=>Promise.resolve().then(()=>(HF(),xF)),"times-bold-italic":()=>Promise.resolve().then(()=>(QF(),OF)),"times-italic":()=>Promise.resolve().then(()=>(TF(),RF)),symbol:()=>Promise.resolve().then(()=>(LF(),MF)),"zapf-dingbats":()=>Promise.resolve().then(()=>(jF(),NF))},D7=e=>`epdf-${e.slice(0,16)}`,KF=new Map;function B7(e){let t=KF.get(e);if(t)return t;let r=P7[e].programHash,n=null,i={hash:r,family:D7(r),weight:pn[e].weight,style:pn[e].italic?"italic":"normal",load:()=>{if(!n){let a=k7[e]().then(o=>VF(o.default));a.catch(()=>{n===a&&(n=null)}),n=a}return n}};return KF.set(e,i),i}var E7="e9d14973462069b4906f8d22a9aaec2d6ec9eb02ac31d697631783316d8b8768",_7="AAEAAAAKAIAAAwAgT1MvMlUTUmMAAACsAAAAYGNtYXAAIrhhAAABDAAAADRnbHlmBX0EwQAAAUAAAAA4aGVhZGHSQ6EAAAF4AAAANmhoZWEFogH3AAABsAAAACRobXR4BRQAPAAAAdQAAAAIbG9jYQAcAAAAAAHcAAAABm1heHAABQAKAAAB5AAAACBuYW1lLeJOdAAAAgQAAAI6cG9zdP+fADIAAARAAAAAIAAEArwBkAAFAQACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFUERGAMAAIP//AyD/OAAAAyAAyAAAAAAAAAAAAfQCvAAAACAAAQAAAAEAAwAKAAAADAANAAAAAAAoAAAAAAAAAAIAAAAgAADX/wAAAAEAAOAAABD//wAAAAEAAgA8AAACgAK8AAMABwAAAQEBAQEBAQEAPAAAAkQAAP/EAAD+NAAAAAACvAAA/UQAPAJEAAD9vAABAAAAAQAAu91Pc18PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAAA8AAACgAK8AAAACAACAAAAAAAAAAEAAAMg/zgAAAK8AAAAAAKAAAEAAAAAAAAAAAAAAAAAAAACAlgAAAK8ADwAAAAAABwAAAABAAAAAgAIAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACQByAAMAAQQJAAAANgAAAAMAAQQJAAEAKAA2AAMAAQQJAAIADgBeAAMAAQQJAAMANABsAAMAAQQJAAQAKACgAAMAAQQJAAUAGgDIAAMAAQQJAAYANADiAAMAAQQJAA0AXAEWAAMAAQQJAA4AVgFyAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADIANgAgAEMAbABvAHUAZABQAEQARgAgAEwAVABEAEUAbQBiAGUAZABQAEQARgAgAEwAYQBzAHQAIABSAGUAcwBvAHIAdABSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBMAGEAcwB0AFIAZQBzAG8AcgB0AC0AUgBlAGcAdQBsAGEAcgBFAG0AYgBlAGQAUABEAEYAIABMAGEAcwB0ACAAUgBlAHMAbwByAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYATABhAHMAdABSAGUAcwBvAHIAdAAtAFIAZQBnAHUAbABhAHIATABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMABoAHQAdABwAHMAOgAvAC8AdwB3AHcALgBhAHAAYQBjAGgAZQAuAG8AcgBnAC8AbABpAGMAZQBuAHMAZQBzAC8ATABJAEMARQBOAFMARQAtADIALgAwAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA==";function YF(){return VF(_7)}var XF={standardDisplayHash:e=>B7(e).hash,lastResortDisplayHash:E7};var Gc=new WeakSet;function _P(e){Gc.has(e)||(e.fn.EPDF_InitThread(),Gc.add(e))}function y7(e){Gc.has(e)&&(e.fn.EPDF_ShutdownThread(),Gc.delete(e))}function O(e){if(e.aborted){let t=e.reason;throw t instanceof Error?t:new Mi(t)}}function Xn(e){let t=/^(?:D:)?(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(?:([Zz])(?:00\'?00\'?)?|([+-])(\\d{2})(?:\'?(\\d{2})\'?)?)?$/.exec(e.trim());if(!t)return null;let[,r,n="01",i="01",a="00",o="00",s="00"]=t,[,,,,,,,A,d,p,m="00"]=t;if(!yP({year:r,month:n,day:i,hour:a,minute:o,second:s}))return null;let F="";if(A)F="Z";else if(d){if(Number(p)>23||Number(m)>59)return null;F=Number(p)===0&&Number(m)===0?"Z":`${d}${p}:${m}`}return`${r}-${n}-${i}T${a}:${o}:${s}${F}`}function ft(e=new Date){if(e instanceof Date){if(Number.isNaN(e.getTime()))throw new RangeError("Cannot format an invalid Date");return ft(`${e.toISOString().slice(0,19)}Z`)}let t=/^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.\\d+)?)?(?:([Zz])|([+-])(\\d{2}):(\\d{2}))?$/.exec(e),r=t&&{year:t[1],month:t[2],day:t[3],hour:t[4],minute:t[5],second:t[6]??"00"};if(!t||!r||!yP(r))throw new g(f.InvalidArg,`not an ISO 8601 date and time: \'${e}\'`);let[,,,,,,,n,i,a,o]=t,s=n?"+00\'00\'":i?`${i}${a}\'${o}\'`:"",{year:A,month:d,day:p,hour:m,minute:F,second:k}=r;return`D:${A}${d}${p}${m}${F}${k}${s}`}function yP({year:e,month:t,day:r,hour:n,minute:i,second:a}){let o=Number(e),s=Number(t),A=Number(r);if(s<1||s>12||A<1)return!1;let d=new Date(Date.UTC(2e3,s,0)).getUTCDate(),p=o%4===0&&(o%100!==0||o%400===0);return A>(s===2&&!p?28:d)?!1:Number(n)<=23&&Number(i)<=59&&Number(a)<=59}function GP(e){return e>>>0}var UF=4294967292,rl=GP;function G7(e){return(GP(e)&UF)>>>0===UF}function ds(e){"@babel/helpers - typeof";return ds=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ds(e)}function C7(e,t){if(ds(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ds(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function I7(e){var t=C7(e,"string");return ds(t)=="symbol"?t:t+""}function j(e,t,r){return(t=I7(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var S7=class{constructor(){j(this,"byContent",null),j(this,"bySource",new Map),j(this,"hashes",new WeakMap)}forget(){this.byContent=null,this.bySource.clear()}};function ql(e,t,r){return e.FPDF_GetLastError()!==4?r:t?new g(f.DocPasswordIncorrect,"incorrect document password"):new g(f.DocPasswordRequired,"document requires a password")}function V(e,t,r){let n=e.alloc(t);try{return r(n)}finally{e.free(n)}}function he(e,t,r){let n=t.map(i=>e.alloc(i));try{return r(n)}finally{for(let i=n.length-1;i>=0;i--)e.free(n[i])}}function nn(e,t,r){return V(e,Math.max(1,t.length)*4,n=>(t.forEach((i,a)=>e.poke(n,"i32",i,a*4)),r(n,t.length)))}function we(e,t,r=""){let n=t(Y,0);return n<=0?null:n===2?r:V(e,n,i=>t(i,n)<=0?null:e.readU16String(i))}function Ye(e,t){let r=t(Y,0);return r<=0?null:V(e,r,n=>t(n,r)<=0?null:e.readU8String(n))}function Kt(e,t,r){let n=e.writeU16String(t);try{return r(n)}finally{e.free(n)}}function Wn(e,t,r){let n=e.writeU16String(t);try{return r(n)}finally{e.free(n)}}function CP(e,t,r){let n=new TextEncoder().encode(t),i=new Uint8Array(n.byteLength+1);i.set(n);let a=e.alloc(i.byteLength);try{return e.writeBytes(a,i),r(a)}finally{e.free(a)}}var tn=class{constructor(){j(this,"actions",[]),j(this,"closed",!1)}push(e){if(this.closed){e();return}this.actions.push(e)}close(){if(this.closed)return;this.closed=!0;let e=null;for(let t=this.actions.length-1;t>=0;t--)try{this.actions[t]?.()}catch(r){e??(e=r)}if(this.actions.length=0,e)throw e}};function IP(e,t,r=null){let{mem:n,fn:i}=e,a=new tn,o=n.alloc(t.byteLength);a.push(()=>n.free(o));try{n.writeBytes(o,t);let s=i.FPDF_LoadMemDocument64(o,t.byteLength,r??"");if(!s)throw ql(i,r,new g(f.DocOpenFailed,"failed to open document"));return Cc(e,s),a.push(()=>i.FPDF_CloseDocument(s)),{kind:"fat-memory",docPtr:s,source:{base:null,layer:null,password:r},close:()=>a.close()}}catch(s){throw a.close(),s}}function _n(e,t,r={kind:"fresh"},n=null){let{mem:i,fn:a}=e,o=new tn;o.push(()=>t.release());let s=null,A=i.alloc(4);try{i.poke(A,"i32",-1);let d;r.kind==="fresh"?d=a.EPDFLayer_OpenLayer(t.basePtr,Y,n??"",A):r.kind==="artifact-file"&&e.kind==="native"?d=CP(i,r.path,F=>a.EPDFLayer_OpenLayerArtifactFromPath(t.basePtr,F,n??"",A)):(s=r.kind==="artifact-file"?e.fileAccess.fromNodeFile(r.path):e.fileAccess.fromMemory(r.bytes),o.push(()=>s?.close()),d=r.kind==="artifact"||r.kind==="artifact-file"?a.EPDFLayer_OpenLayerArtifact(t.basePtr,s.ptr,n??"",A):a.EPDFLayer_OpenLayer(t.basePtr,s.ptr,n??"",A));let p=Number(i.peek(A,"i32"));if(!d||p!==0)throw x7(p);Cc(e,d),o.push(()=>a.FPDF_CloseDocument(d));let m=t.kind==="file"&&t.path!==void 0?{kind:"file",key:t.key,path:t.path}:{kind:"memory",key:t.key};return{kind:"layer",docPtr:d,source:{base:m,layer:r,password:n},close:()=>o.close()}}catch(d){throw o.close(),d}finally{i.free(A)}}function Cc(e,t){let{fn:r}=e;r.EPDF_IsEncrypted&&r.EPDF_SetRuntimeOwnerPermissions&&r.EPDF_IsEncrypted(t)&&r.EPDF_SetRuntimeOwnerPermissions(t,!0)}function x7(e){switch(e){case 1:return new g(f.DocPasswordRequired,"layer requires a password");case 2:return new g(f.MalformedPdf,"layer delta is malformed");case 3:return new g(f.MalformedPdf,"layer artifact does not match the supplied base document");default:return new g(f.DocOpenFailed,"failed to open layer document")}}function Se(e,t,r,n=0){let i=BigInt(r);e.poke(t,"i32",Number(i&4294967295n)|0,n),e.poke(t,"i32",Number(i>>32n&4294967295n)|0,n+4)}function He(e,t,r=0){let n=Number(e.peek(t,"i32",r))>>>0;return(Number(e.peek(t,"i32",r+4))>>>0)*4294967296+n}var kl={budgetBytes:384*1024*1024,idleMs:3e4},qF=64*1024,H7=40,O7=24,il={place:"elsewhere",pixels:0},Q7=1073741823,SP=class{constructor(e,t=kl,r=()=>!1){this.runtime=e,this.policy=t,this.busy=r,j(this,"pages",new Map),j(this,"closedSizes",new Map),j(this,"workingSets",new Map),j(this,"totalBytes",0),j(this,"clock",0),j(this,"timer",null)}acquire(e,t,r){let n=this.take(e,r);if(!n){this.makeRoom(this.expectedBytes(e,r));let i=this.runtime.fn.EPDFDoc_LoadPageByObjectNumberNormalized(t,r);if(!i)throw zF(r);n=this.add(e,r,i,!0)}if(n.refs++,!n.loaded){if(this.runtime.fn.EPDFPage_ContinueLoad(n.ptr,Q7)!==1)throw this.drop(n),ZF(r);n.loaded=!0}return this.measure(n),this.makeRoom(0),n.ptr}async acquireInSlices(e,t,r,n,i){O(n);let{fn:a}=this.runtime,o=this.take(e,r);if(!o){this.makeRoom(this.expectedBytes(e,r));let s=a.EPDFDoc_StartLoadPageByObjectNumber(t,r,!0);if(!s)throw zF(r);o=this.add(e,r,s,!1)}for(o.refs++;!o.loaded;){let s=a.EPDFPage_ContinueLoad(o.ptr,i.budgetMs);if(s<0)throw this.drop(o),ZF(r);if(o.loaded=s===1,this.measure(o),this.makeRoom(0),o.loaded)break;try{await i.between(),O(n)}catch(A){throw this.release(e,r),A}}return o.ptr}release(e,t){let r=this.pages.get(e)?.get(t);if(!(!r||r.refs<=0)&&(r.refs--,!(r.refs>0))){if(r.lastUsed=++this.clock,r.loaded&&!this.runtime.fn.EPDFPage_ResetRenderCache(r.ptr)){this.close(r);return}this.armTimer(),this.makeRoom(0)}}setWorkingSet(e,t,r){let n=new Map;for(let{pageObjectNumber:a,role:o,pixels:s}of r){let A={place:o,pixels:s},d=n.get(a);(!d||Xr(A,d))&&n.set(a,A)}let i=this.workingSets.get(e);n.size>0?(i||(i=new Map,this.workingSets.set(e,i)),i.set(t,n)):(i?.delete(t),i?.size===0&&this.workingSets.delete(e)),this.totalBytes>0&&this.armTimer()}isHeld(e,t){return(this.pages.get(e)?.get(t)?.refs??0)>0}isKept(e,t){return this.pages.get(e)?.has(t)??!1}closeOwner(e){for(let t of[...this.pages.get(e)?.values()??[]])this.close(t);this.pages.delete(e),this.closedSizes.delete(e),this.workingSets.delete(e)}closeIdleOf(e){for(let t of[...this.pages.get(e)?.values()??[]])t.refs===0&&this.close(t)}closeIdle(){for(let e of[...this.pages.values()])for(let t of[...e.values()])t.refs===0&&this.close(t)}closeUnshown(){for(let e of[...this.pages.values()])for(let t of[...e.values()])t.refs===0&&this.placeOf(t).place!=="visible"&&this.close(t)}get size(){let e=0;for(let t of this.pages.values())e+=t.size;return e}get bytes(){return this.totalBytes}take(e,t){let r=this.pages.get(e)?.get(t);return r?r.refs===0&&!this.runtime.fn.EPDFPage_IsContentCurrent(r.ptr)?(this.close(r),null):(r.lastUsed=++this.clock,r):null}add(e,t,r,n){let i={owner:e,pageObjectNumber:t,ptr:r,refs:0,loaded:n,bytes:qF,lastUsed:++this.clock},a=this.pages.get(e);return a||(a=new Map,this.pages.set(e,a)),a.set(t,i),this.totalBytes+=i.bytes,i}measure(e){let{fn:t,mem:r}=this.runtime,n=V(r,H7,a=>t.EPDFPage_GetParsedSize(e.ptr,a)?He(r,a,O7):0),i=qF+n;this.totalBytes+=i-e.bytes,e.bytes=i}expectedBytes(e,t){return this.closedSizes.get(e)?.get(t)??65536}makeRoom(e){let t=this.policy.budgetBytes>0?this.lastToCloseOverBudget():null;for(;this.totalBytes-(t?.bytes??0)+e>this.policy.budgetBytes;){let r=this.firstToClose(t);if(r)this.close(r);else if(t&&t.refs===0)this.close(t),t=null;else return}}firstToClose(e){let t=null,r=il;for(let n of this.pages.values())for(let i of n.values()){if(i.refs>0||i===e)continue;let a=this.placeOf(i);(!t||Xr(r,a)||!Xr(a,r)&&i.lastUsede.lastUsed)&&(e=n,t=i)}return e}placeOf(e){let t=il;for(let r of this.workingSets.get(e.owner)?.values()??[]){let n=r.get(e.pageObjectNumber);n&&Xr(n,t)&&(t=n)}return t}close(e){if(e.loaded){let t=this.closedSizes.get(e.owner);t||(t=new Map,this.closedSizes.set(e.owner,t)),t.set(e.pageObjectNumber,e.bytes)}this.drop(e)}drop(e){this.runtime.fn.FPDF_ClosePage(e.ptr);let t=this.pages.get(e.owner);t?.delete(e.pageObjectNumber),t?.size===0&&this.pages.delete(e.owner),this.totalBytes-=e.bytes,this.totalBytes<=0&&this.disarmTimer()}armTimer(){this.policy.idleMs<=0||(this.disarmTimer(),this.timer=setTimeout(()=>{this.timer=null,this.busy()?this.armTimer():this.closeUnshown()},this.policy.idleMs),this.timer.unref?.())}disarmTimer(){this.timer&&clearTimeout(this.timer),this.timer=null}};function zF(e){return new g(f.NotFound,`no page with object number ${e}`)}function ZF(e){return new g(f.RuntimeUnavailable,`failed to load page object ${e}`)}var JF=class{constructor(e,t,r=null){this.docPtr=t,j(this,"residency",void 0),this.residency=r??new SP(e,{budgetBytes:0,idleMs:0})}acquire(e){return this.residency.acquire(this,this.docPtr,e)}acquireInSlices(e,t,r){return this.residency.acquireInSlices(this,this.docPtr,e,t,r)}isHeld(e){return this.residency.isHeld(this,e)}isKept(e){return this.residency.isKept(this,e)}release(e){this.residency.release(this,e)}setWorkingSet(e,t){this.residency.setWorkingSet(this,e,t)}closeIdle(){this.residency.closeIdleOf(this)}closeAll(){this.residency.closeOwner(this)}},Dl=class{constructor(e,t){this.runtime=e,j(this,"docPtr",null),j(this,"closeDocument",null),j(this,"_kind",null),j(this,"_source",null),j(this,"_sessionId",void 0),j(this,"recordsByObjectNumber",new Map),j(this,"recordsByIndex",new Map),j(this,"fullyEnumerated",!1),j(this,"cacheSeqCounter",0),j(this,"editsSeqCounter",0),j(this,"transaction",null),j(this,"unusableReason",null),j(this,"pages",null),j(this,"residency",null),j(this,"signedDocumentPolicy","protect"),j(this,"password",null),j(this,"persistLayerArtifact",!0),j(this,"loadedSeq",0),j(this,"plainSha256",null),j(this,"pendingSigning",null),j(this,"lastCompletion",null),j(this,"drawings",null),j(this,"parkedLoad",null),j(this,"objectNumberAuthority","session"),j(this,"heldObjectNumbers",new Set),j(this,"objectNumbersInUse",[]),j(this,"retained",[]),this._sessionId=t??T7()}get sessionId(){return this._sessionId}get kind(){return this._kind}get source(){if(!this._source)throw new g(f.DocNotOpen,"document is not open");return this._source}isOpen(){return this.docPtr!==null}open(e,t=null){this.openFromHandle(IP(this.runtime,e,t))}openFromHandle(e){if(this.docPtr)throw e.close(),new g(f.InvalidArg,"document already open");this.docPtr=e.docPtr,this.closeDocument=()=>e.close(),this._kind=e.kind,this._source=e.source,this.pages=new JF(this.runtime,e.docPtr,this.residency),this.parkedLoad=null,this.drawings=null,this.loadedSeq=this.editsSeqCounter}hasUnsavedEdits(){return this.editsSeqCounter!==this.loadedSeq}cachedPlainSha256(){return this.plainSha256&&this.plainSha256.loadedSeq===this.loadedSeq?this.plainSha256.sha256:null}rememberPlainSha256(e){this.plainSha256={loadedSeq:this.loadedSeq,sha256:e}}install(e){if(!this.docPtr)throw e.close(),new g(f.DocNotOpen,"no document to replace");let t=null;try{this.pages?.closeAll()}catch(r){t=r}try{this.closeDocument?.()}catch(r){t??(t=r)}if(this.docPtr=e.docPtr,this.closeDocument=()=>e.close(),this._kind=e.kind,this._source=e.source,this.pages=new JF(this.runtime,e.docPtr,this.residency),this.recordsByIndex.clear(),this.recordsByObjectNumber.clear(),this.fullyEnumerated=!1,this.cacheSeqCounter++,this.editsSeqCounter++,this.loadedSeq=this.editsSeqCounter,this.pendingSigning=null,this.drawings=null,this.heldObjectNumbers.clear(),this.objectNumbersInUse=[],t)throw t}versionRef(e){return{baseSha256:e,editsVersion:this.editsSeqCounter}}parkLocked(e){if(this.docPtr)throw new g(f.InvalidArg,"document already open");this.parkedLoad=e}isLocked(){return this.docPtr===null&&this.parkedLoad!==null}unlockWith(e){if(!this.parkedLoad)throw new g(f.DocNotOpen,"document session is not locked");this.parkedLoad(e),this.parkedLoad=null}pageCount(){return this.runtime.fn.FPDF_GetPageCount(this.requireDocPtr())}ensureFullPageRegistry(){if(this.fullyEnumerated)return;let{fn:e}=this.runtime,t=this.requireDocPtr(),r=e.FPDF_GetPageCount(t);for(let n=0;nthis.resolvePageRef(t).pageObjectNumber)}allRecords(){return this.ensureFullPageRegistry(),Array.from(this.recordsByIndex.entries()).sort(([e],[t])=>e-t).map(([,e])=>e)}refreshPageRegistry(){this.recordsByIndex.clear(),this.recordsByObjectNumber.clear(),this.fullyEnumerated=!1,this.ensureFullPageRegistry()}cacheSeq(){return this.cacheSeqCounter}invalidateDerived(){this.cacheSeqCounter++}editsSeq(){return this.editsSeqCounter}noteEdit(){this.editsSeqCounter++}clearMissingCharacters(){this.docPtr&&this.runtime.fn.EPDFDoc_ClearMissingCharacters(this.docPtr)}missingCharacters(){if(!this.docPtr)return[];let{fn:e,mem:t}=this.runtime,r=this.docPtr,n=[],i=e.EPDFDoc_CountMissingCharacters(r);for(let a=0;ae.EPDFDoc_GetMissingCharacter(r,a,s,A));o&&n.push(o)}return n}inTransaction(){return this.transaction!==null}beginTransaction(e){let t=this.requireDocPtr();if(this.transaction)throw new g(f.Unknown,"a transaction is already open");if(!this.runtime.fn.EPDFLayer_BeginTransaction(t))throw new g(f.Unknown,"EPDFLayer_BeginTransaction refused");this.transaction={docPtr:t,opId:e,undoable:!1}}writeStamp(){let{opId:e,undoable:t}=this.requireTransaction();return{opId:e,undoable:t}}markUndoable(){this.requireTransaction().undoable=!0}commitTransaction(){let{docPtr:e}=this.requireTransaction();if(!this.runtime.fn.EPDFLayer_IsInTransaction(e))throw new g(f.Unknown,"the layer transaction is no longer open");let t=this.runtime.fn.EPDFLayer_GetLastObjectNumber(e);if(t>DA)throw new g(f.LayerFull,`the document would pass object number ${DA}`,{details:{lastObjectNumber:t}});this.transaction=null;let r=!1;try{r=this.runtime.fn.EPDFLayer_CommitTransaction(e)}finally{r||(this.unusableReason=$F)}if(!r)throw new g(f.DocNotOpen,$F);for(let n of this.objectNumbersInUse)this.heldObjectNumbers.delete(n);this.objectNumbersInUse=[]}abortTransaction(){let{docPtr:e}=this.requireTransaction();this.transaction=null,this.objectNumbersInUse=[];let t=!1;try{t=this.runtime.fn.EPDFLayer_AbortTransaction(e)}catch{}this.drawings?.forget(),this.recordsByIndex.clear(),this.recordsByObjectNumber.clear(),this.fullyEnumerated=!1,this.invalidateDerived(),t||(this.unusableReason="a layer transaction failed to abort")}lastObjectNumber(){return this.runtime.fn.EPDFLayer_GetLastObjectNumber(this.requireDocPtr())}raiseLastObjectNumber(e){if(!this.runtime.fn.EPDFLayer_RaiseLastObjectNumber(this.requireDocPtr(),e))throw new g(f.LayerFull,`the document would pass object number ${e}`,{details:{lastObjectNumber:this.lastObjectNumber()}})}reserveObjectNumbers(e){if(this.objectNumberAuthority!=="session")throw new g(f.InvalidArg,"object numbers are handed out by the caller, not this session");if(!Number.isInteger(e)||e<1)throw new g(f.InvalidArg,`cannot reserve ${e} object numbers`,{details:{field:"count"}});let{fn:t}=this.runtime,r=this.requireDocPtr(),n=t.EPDFLayer_GetLastObjectNumber(r);if(n+e>_u)throw new g(f.LayerFull,"no more object numbers to hand out",{details:{lastObjectNumber:n}});if(!t.EPDFLayer_RaiseLastObjectNumber(r,n+e))throw new g(f.Unknown,"EPDFLayer_RaiseLastObjectNumber refused");let i={first:n+1,count:e};for(let a=0;a=0;t--)try{this.retained[t]()}catch(r){e??(e=r)}if(this.retained.length=0,e)throw e}},$F="a layer transaction failed to commit",R7=0;function T7(){return`sess_${(++R7).toString(36)}_${Date.now().toString(36)}`}function us(e,t){return new g(f.ObjectNumberUnavailable,t==="not-held"?`object number ${e} isn\'t one this session holds`:`an object already has object number ${e}`,{details:{objectNumber:e,reason:t}})}function ev(e,t){return ql(e.fn,t,new g(f.DocOpenFailed,"failed to open base document"))}var M7=class{constructor(e){this.runtime=e,j(this,"entries",new Map)}acquireMemoryBase(e){let t=this.retain(e.key);if(t)return t;let{mem:r,fn:n}=this.runtime,i=new tn,a=r.alloc(e.bytes.byteLength);i.push(()=>r.free(a));try{r.writeBytes(a,e.bytes);let o=n.EPDF_LoadMemBaseDocument64(a,e.bytes.byteLength,e.password??"");if(!o)throw ev(this.runtime,e.password);return Cc(this.runtime,o),i.push(()=>n.EPDF_ReleaseBaseDocument(o)),this.supplyKnownSha(o,e.knownSha256),this.insert({key:e.key,kind:"memory",basePtr:o,refs:1,close:()=>i.close()})}catch(o){throw i.close(),o}}acquireFileBase(e){let t=this.retain(e.key);if(t)return t;let{fn:r}=this.runtime,n=new tn,i=null;try{i=this.runtime.fileAccess.fromNodeFile(e.path),n.push(()=>i?.close());let a=r.EPDF_LoadBaseDocument(i.ptr,e.password??"");if(!a)throw ev(this.runtime,e.password);return Cc(this.runtime,a),n.push(()=>r.EPDF_ReleaseBaseDocument(a)),this.supplyKnownSha(a,e.knownSha256),this.insert({key:e.key,kind:"file",path:e.path,basePtr:a,refs:1,close:()=>n.close()})}catch(a){throw n.close(),a}}retainByKey(e){return this.retain(e)}supplyKnownSha(e,t){if(!t||!/^[0-9a-fA-F]{64}$/.test(t))return;let{mem:r,fn:n}=this.runtime,i=new Uint8Array(32);for(let o=0;o<32;o++)i[o]=parseInt(t.slice(o*2,o*2+2),16);let a=r.alloc(32);try{r.writeBytes(a,i),n.EPDF_SetBaseDocumentSha256(e,a)}finally{r.free(a)}}releaseAll(){let e=Array.from(this.entries.values());this.entries.clear();let t=null;for(let r of e)try{r.close()}catch(n){t??(t=n)}if(t)throw t}getRefCountForTesting(e){return this.entries.get(e)?.refs??0}retain(e){let t=this.entries.get(e);return t?(t.refs++,this.handleFor(t)):null}insert(e){return this.entries.set(e.key,e),this.handleFor(e)}handleFor(e){let t=!1;return{key:e.key,kind:e.kind,...e.path!==void 0?{path:e.path}:{},basePtr:e.basePtr,release:()=>{if(t)return;t=!0;let r=this.entries.get(e.key);r&&(r.refs--,!(r.refs>0)&&(this.entries.delete(e.key),r.close()))}}}};function Dn(e,t,r,n){return e.EPDF_HasMetaText(r,n)?we(t,(i,a)=>e.FPDF_GetMetaText(r,n,i,a),""):null}function L7(e,t,r,n,i){return Ye(t,(a,o)=>e.EPDF_GetMetaKeyName(r,n,i,a,o))}function N7(e,t,r){let n=Number(e.EPDF_GetMetaKeyCount(r,!0))|0,i={};for(let a=0;ae.EPDF_SetMetaText(r,n,a))}var Y7=new Set(["Title","Author","Subject","Keywords","Producer","Creator","CreationDate","ModDate","Trapped"]);function X7(e){if(Y7.has(e))return`\'${e}\' is a standard key; set it with metadata.update`;if(!e||e.length>127||e[0]==="/")return`\'${e}\' can\'t be a custom key: 1 to 127 characters, no leading slash`;for(let t=0;t126)return`\'${e}\' can\'t be a custom key: printable ASCII only`}return null}function W7(e,t,r,n){let i=Object.entries(n);for(let[a]of i){let o=X7(a);if(o)throw new g(f.InvalidArg,o,{details:{field:a}})}for(let[a,o]of i)if(!os(e,t,r,a,o))throw new g(f.Unknown,`failed to write metadata ${a}`)}var U7=1,q7=2,z7=3;function Z7(e,t,r){let n=r==="true"?U7:r==="false"?q7:z7;return e.EPDF_SetMetaTrapped(t,n)}var J7=[["title","Title"],["author","Author"],["subject","Subject"],["keywords","Keywords"],["producer","Producer"],["creator","Creator"]];function $7(e,t,r,n){let i=a=>{throw new g(f.Unknown,`failed to write metadata ${a}`)};for(let[a,o]of J7){let s=n[a];s!==void 0&&(os(e,t,r,o,s)||i(o))}n.createdAt!==void 0&&(os(e,t,r,"CreationDate",n.createdAt===null?null:ft(n.createdAt))||i("CreationDate")),n.modifiedAt!==void 0&&(os(e,t,r,"ModDate",n.modifiedAt===null?null:ft(n.modifiedAt))||i("ModDate")),n.trapped!==void 0&&(Z7(e,r,n.trapped)||i("Trapped"))}var e2="http://www.w3.org/XML/1998/namespace",xP="http://www.w3.org/2000/xmlns/";function t2(e){try{return new o2(e).read()}catch(t){if(t instanceof at)return null;throw t}}function*HP(e){yield e;for(let t of e.children)yield*HP(t)}function Bl(e){return n2(e).replace(/&/g,"&").replace(//g,">").replace(/\\r/g," ")}function tv(e){return Bl(e).replace(/"/g,""").replace(/\'/g,"'").replace(/\\t/g," ").replace(/\\n/g," ")}function vc(e,t){return e?`${e}:${t}`:t}function n2(e){let t="";for(let r of e){let n=r.codePointAt(0);!(n<32&&n!==9&&n!==10&&n!==13)&&!(n>=55296&&n<=57343)&&n!==65534&&n!==65535&&(t+=r)}return t}var at=class extends Error{},nv=/&(?:#x([0-9a-fA-F]+)|#([0-9]+)|(lt|gt|amp|quot|apos));/g,r2={lt:"<",gt:">",amp:"&",quot:\'"\',apos:"\'"},i2=/[ \\t\\r\\n]/,a2=/[ \\t\\r\\n/>=<"\']/;function rv(e){if(!e.includes("&"))return e;if(e.replace(nv,"").includes("&"))throw new at;return e.replace(nv,(t,r,n,i)=>{if(i)return r2[i];let a=r?parseInt(r,16):Number(n);if(a>1114111)throw new at;return String.fromCodePoint(a)})}function iv(e){let t=e.indexOf(":");return t<0?{prefix:"",local:e}:{prefix:e.slice(0,t),local:e.slice(t+1)}}var o2=class{constructor(e){this.text=e,j(this,"at",0),j(this,"open",[]),j(this,"root",null)}read(){let{text:e}=this;for(;this.atthis.at&&this.addText(e.slice(this.at,r)),t<0)break;e.startsWith("",t+4):e.startsWith("",t+2):e.startsWith("0||!this.root)throw new at;return this.root}after(e,t){let r=this.text.indexOf(e,t);if(r<0)throw new at;return r+e.length}skipSpace(e){let t=e;for(;t",e+9);if(t<0)throw new at;this.addText(this.text.slice(e+9,t),!0),this.at=t+3}skipDeclaration(e){let t=0;for(let r=e+2;r"&&t<=0){this.at=r+1;return}}throw new at}readStartTag(e){let{text:t}=this,r=this.readName(e+1),n=[],i=e+1+r.length,a,o=!1;for(;;){let P=this.skipSpace(i);if(t.startsWith("/>",P)){a=P,o=!0;break}if(t[P]===">"){a=P;break}if(P===i||P>=t.length)throw new at;let B=this.readName(P),y=this.skipSpace(P+B.length);if(t[y]!=="=")throw new at;y=this.skipSpace(y+1);let x=t[y];if(x!==\'"\'&&x!=="\'")throw new at;let I=t.indexOf(x,y+1);if(I<0)throw new at;let S=t.slice(y+1,I);if(S.includes("<"))throw new at;n.push({qname:B,...iv(B),ns:null,value:rv(S.replace(/[\\t\\r\\n]/g," ")),start:P,end:I+1,valueStart:y+1,valueEnd:I}),i=I+1}let s=this.open[this.open.length-1]??null;if(!s&&this.root)throw new at;let A=new Map(s?.scope??[]);for(let P of n)P.qname==="xmlns"?A.set("",P.value):P.prefix==="xmlns"&&A.set(P.local,P.value);let d=P=>P==="xml"?e2:A.get(P)||null;for(let P of n)P.ns=P.qname==="xmlns"||P.prefix==="xmlns"?xP:P.prefix?d(P.prefix):null;let p=a+(o?2:1),{prefix:m,local:F}=iv(r),k={qname:r,prefix:m,local:F,ns:d(m),attributes:n,scope:A,parent:s,children:[],text:"",start:e,startTagClose:a,startTagEnd:p,selfClosing:o,endTagStart:p,end:p};s?s.children.push(k):this.root=k,o||this.open.push(k),this.at=p}readEndTag(e){let t=this.readName(e+2),r=this.skipSpace(e+2+t.length),n=this.open.pop();if(this.text[r]!==">"||!n||n.qname!==t)throw new at;n.endTagStart=e,n.end=r+1,this.at=r+1}};function s2(e,t){let r=t2(e),n=r&&[...HP(r)].find(o=>Ic(o,"RDF"));if(!n)return null;let i=n.children.filter(o=>Ic(o,"Description")),a=new d2(e,n);for(let{property:o,value:s,add:A}of t){let d=i.flatMap(B=>B.children.filter(y=>av(y,o))),p=i.flatMap(B=>B.attributes.filter(y=>av(y,o)).map(y=>({attribute:y,description:B})));if(s===null){d.forEach(B=>a.removeElement(B)),p.forEach(({attribute:B})=>a.removeAttribute(B));continue}let[m,...F]=d,[k,...P]=p;if(m)(F.length>0||p.length>0||!c2(m,s))&&(a.replaceElement(m,s),F.forEach(B=>a.removeElement(B)),p.forEach(({attribute:B})=>a.removeAttribute(B)));else if(k&&s.kind==="text")(P.length>0||k.attribute.value!==s.text)&&(a.replaceAttributeValue(k.attribute,s.text),P.forEach(({attribute:B})=>a.removeAttribute(B)));else if(k)p.forEach(({attribute:B})=>a.removeAttribute(B)),a.addProperty(k.description,o,s);else if(A){let B=i.find(y=>A2(y,o.ns))??i[0];a.addProperty(B??null,o,s)}}return a.result()}function Ic(e,t){return e.ns==="http://www.w3.org/1999/02/22-rdf-syntax-ns#"&&e.local===t}function av(e,t){return e.ns===t.ns&&e.local===t.name}function A2(e,t){return e.attributes.some(r=>r.ns==="http://www.w3.org/2000/xmlns/"&&r.value===t)}function c2(e,t){if(e.attributes.some(o=>o.ns==="http://www.w3.org/1999/02/22-rdf-syntax-ns#"))return!1;if(t.kind==="text")return e.children.length===0&&e.text===t.text;let[r,...n]=e.children,i={alt:"Alt",seq:"Seq",bag:"Bag"}[t.kind];if(!r||n.length>0||!Ic(r,i))return!1;let a=r.children;if(!a.every(o=>Ic(o,"li")&&o.children.length===0))return!1;if(t.kind==="alt"){let[o]=a,s=o?.attributes.find(A=>A.ns==="http://www.w3.org/XML/1998/namespace"&&A.local==="lang");return a.length===1&&s?.value==="x-default"&&o.text===t.text}return a.length===t.items.length&&a.every((o,s)=>o.text===t.items[s])}var d2=class{constructor(e,t){this.packet=e,this.rdf=t,j(this,"splices",[]),j(this,"additions",new Map)}removeElement(e){this.splices.push({start:this.spaceBefore(e.start),end:e.end,text:""})}removeAttribute(e){this.splices.push({start:this.spaceBefore(e.start),end:e.end,text:""})}replaceAttributeValue(e,t){this.splices.push({start:e.valueStart,end:e.valueEnd,text:tv(t)})}replaceElement(e,t){let r=e.attributes.filter(i=>i.ns===xP).map(i=>` ${this.packet.slice(i.start,i.end)}`).join(""),n=al(e.scope,"http://www.w3.org/1999/02/22-rdf-syntax-ns#")??"rdf";this.splices.push({start:e.start,end:e.end,text:ov(e.qname,r,n,t)})}addProperty(e,t,r){let n=this.additionsFor(e),i=e?.scope??this.rdf.scope,a=al(i,t.ns,!1)??this.declare(n,i,t),o=al(i,"http://www.w3.org/1999/02/22-rdf-syntax-ns#")??"rdf";n.children.push(ov(vc(a,t.name),"",o,r))}result(){for(let[n,i]of this.additions)this.writeAdditions(n,i);let e=this.splices.map((n,i)=>({splice:n,index:i})).sort((n,i)=>n.splice.start-i.splice.start||n.splice.end-n.splice.start-(i.splice.end-i.splice.start)||n.index-i.index),t="",r=0;for(let{splice:n}of e){if(n.start` xmlns:${i}="${tv(a)}"`).join("");if(!e){let i=this.rdf.prefix,a=vc(i,"Description"),o=`<${a} ${vc(i,"about")}=""${r}>${t.children.join("")}`;this.insertInto(this.rdf,o);return}r&&this.splices.push({start:e.startTagClose,end:e.startTagClose,text:r});let n=this.childIndent(e);this.insertInto(e,t.children.map(i=>n+i).join(""))}insertInto(e,t){if(e.selfClosing){this.splices.push({start:e.startTagClose,end:e.startTagEnd,text:`>${t}`});return}let r=e.children[e.children.length-1],n=r?r.end:e.startTagEnd;this.splices.push({start:n,end:n,text:t})}childIndent(e){let[t]=e.children,r=t?this.packet.slice(e.startTagEnd,t.start):this.packet.slice(e.startTagEnd,e.endTagStart);return/^\\s*$/.test(r)?t?r:r&&`${r} `:""}spaceBefore(e){let t=e;for(;t>0&&/\\s/.test(this.packet[t-1]);)t--;return t}};function al(e,t,r=!0){let n;for(let[i,a]of e)if(a===t){if(i)return i;r&&(n=i)}return n}function ov(e,t,r,n){let i=A=>vc(r,A),a=(A,d="")=>`<${i("li")}${d}>${Bl(A)}`,o=(A,d)=>`<${i(A)}>${d}`,s;switch(n.kind){case"text":s=Bl(n.text);break;case"alt":s=o("Alt",a(n.text,\' xml:lang="x-default"\'));break;case"seq":s=o("Seq",n.items.map(A=>a(A)).join(""));break;case"bag":s=o("Bag",n.items.map(A=>a(A)).join(""));break}return`<${e}${t}>${s}`}function u2(e,t,r){let n=e.EPDFCatalog_GetMetadata(r,Y,0);if(n<=0)return null;let i=V(t,n,o=>e.EPDFCatalog_GetMetadata(r,o,n)===n?t.readBytes(o,n):null),a=i&&l2(i);if(!i||!a)return null;try{return{text:new TextDecoder(a,{fatal:!0,ignoreBOM:!0}).decode(i),encoding:a}}catch{return null}}function p2(e,t,r,n){let i=m2(n);return V(t,Math.max(i.length,1),a=>(t.writeBytes(a,i),e.EPDFCatalog_SetMetadata(r,a,i.length)))}function l2(e){let[t=1,r=1,n=1,i=1]=e;return t===254&&r===255?"utf-16be":t===255&&r===254?n===0&&i===0?null:"utf-16le":t===0&&r===0?null:t===0?"utf-16be":r===0?n===0?null:"utf-16le":"utf-8"}function m2({text:e,encoding:t}){if(t==="utf-8")return new TextEncoder().encode(e);let r=new Uint8Array(e.length*2),n=new DataView(r.buffer);for(let i=0;i({ns:e,prefix:t,name:r}),b2={title:{property:en(Pc,"dc","title"),kind:"alt"},author:{property:en(Pc,"dc","creator"),kind:"seq"},subject:{property:en(Pc,"dc","description"),kind:"alt"},keywords:{property:en(El,"pdf","Keywords"),kind:"text"},creator:{property:en(zl,"xmp","CreatorTool"),kind:"text"},producer:{property:en(El,"pdf","Producer"),kind:"text"}},f2=en(zl,"xmp","CreateDate"),g2=en(zl,"xmp","ModifyDate"),F2=en(El,"pdf","Trapped"),v2=en(Pc,"dc","subject"),P2={true:"True",false:"False",unknown:"Unknown"};function h2(e){let t=[],r=(n,i,a=!0)=>t.push({property:n,value:i,add:a});for(let[n,{property:i,kind:a}]of Object.entries(b2)){let o=e[n];o!==void 0&&(o===null?r(i,null):a==="seq"?r(i,{kind:a,items:[o]}):r(i,{kind:a,text:o}))}if(e.keywords!==void 0){let n=e.keywords===null?null:D2(e.keywords);r(v2,n&&{kind:"bag",items:n},!1)}return e.createdAt!==void 0&&r(f2,Av(e.createdAt)),e.modifiedAt!==void 0&&r(g2,Av(e.modifiedAt)),e.trapped!==void 0&&r(F2,{kind:"text",text:P2[e.trapped]}),t}function k2(e){return Object.entries(e).filter(([t])=>/^[A-Za-z_][A-Za-z0-9._-]*$/.test(t)).map(([t,r])=>({property:en(w2,"pdfx",t),value:r===null?null:{kind:"text",text:r},add:!1}))}function D2(e){return e.split(/[,;]/).map(t=>t.trim()).filter(t=>t!=="")}function Av(e){if(e===null)return null;let t=ft(e);return{kind:"text",text:Xn(t)??t}}var Zl=class{constructor(e,t){this.runtime=e,this.session=t}update(e,t){O(t);let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr();return $7(r,n,i,e),sv(r,n,i,h2(e)),O(t),{metadata:new bi(this.runtime,this.session).read(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}updateCustom(e,t){O(t);let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr();return W7(r,n,i,e),sv(r,n,i,k2(e)),O(t),{custom:new bi(this.runtime,this.session).readCustom(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}},cv={bytes:124,offsets:{looseBox:0,tightBox:16,looseQuad:32,tightQuad:64,matrix:96,flags:120},flags:{hasTightBox:1,hasLooseQuad:2,hasTightQuad:4,upright:8,space:16,empty:32,synthesized:64}};function Gn(e,t,r=0){return{left:ue(e,t,r),top:ue(e,t,r+4),right:ue(e,t,r+8),bottom:ue(e,t,r+12)}}function OP(e,t,r){e.poke(t,"f32",r.left,0),e.poke(t,"f32",r.top,4),e.poke(t,"f32",r.right,8),e.poke(t,"f32",r.bottom,12)}function B2(e,t){return{a:ue(e,t,0),b:ue(e,t,4),c:ue(e,t,8),d:ue(e,t,12),e:ue(e,t,16),f:ue(e,t,20)}}function ue(e,t,r=0){return Number(e.peek(t,"f32",r))}function _e(e,t,r=0){return Number(e.peek(t,"i32",r))}var ot={unknown:0,xyz:1,fit:2,fitH:3,fitV:4,fitR:5,fitB:6,fitBH:7,fitBV:8},E2={fit:ot.fit,fitH:ot.fitH,fitV:ot.fitV,fitR:ot.fitR,fitB:ot.fitB,fitBH:ot.fitBH,fitBV:ot.fitBV},dv=4;function jc(e,t,r,n){let i=e.EPDFDest_GetPageObjectNumber(r,n);if(i===0)return null;let a=pe(i),o=he(t,[8,dv*4],([d,p])=>{let m=e.FPDFDest_GetView(n,d,p),F=Math.min(_e(t,d),dv),k=[];for(let P=0;Pdthis.limits.maxModels||this.nodes>this.limits.maxNodes||this.scriptCodeUnits>this.limits.maxScriptCodeUnits||this.targetEntries>this.limits.maxTargetEntries||this.payloadCodeUnits>this.limits.maxPayloadCodeUnits)throw new g(f.MalformedPdf,"aggregate PDF action read budget exceeded",{details:{models:this.models,nodes:this.nodes,scriptCodeUnits:this.scriptCodeUnits,targetEntries:this.targetEntries,payloadCodeUnits:this.payloadCodeUnits,limits:this.limits}})}};function fr(e,t,r,n,i){if(n===Y)return null;try{let a=e.EPDFAction_GetNodeCount(n);if(!Number.isInteger(a)||a<0)throw hc("invalid node count",{nodeCount:a});i.addModel(a);let o=e.EPDFAction_GetWarningFlags(n)>>>0,s=!e.EPDFAction_IsComplete(n),A=x2(e.EPDFAction_GetRootNode(n),a),d=new Set,p=!1,m=G=>{let T=G(Y,0);return T<=0?null:(i.reservePayloadBytes(T),Ye(t,G))},F=G=>he(t,[4],([T])=>G(T)?_e(t,T)!==0:null),k=(G,T)=>he(t,[4],([W])=>{if(!e.EPDFAction_GetNodeTargetObjectNumber(n,G,T,W))return null;let Pe=_e(t,W)>>>0;return Pe===0?null:Pe}),P=(G,T)=>{let W=[];for(let Pe=0;Pee.EPDFAction_GetNodeTargetName(n,G,Pe,q,oe));if(be!==null){W.push({kind:"name",name:be});continue}let Q=k(G,Pe);if(Q===null)return null;W.push({kind:"objectNumber",objectNumber:Q})}return W},B=G=>he(t,[4,4],([T,W])=>e.EPDFAction_GetNodeResetForm(n,G,T,W)?{hasFields:_e(t,T)!==0,exclude:_e(t,W)!==0}:null),y=G=>he(t,[4,4],([T,W])=>e.EPDFAction_GetNodeSubmitForm(n,G,T,W)?{hasFields:_e(t,T)!==0,flags:_e(t,W)>>>0}:null),x=G=>{if(d.has(G))throw hc("native action model contains a cycle",{nodeId:G});d.add(G);try{let T=S2(e.EPDFAction_GetNodeType(n,G)),W=Ye(t,(q,oe)=>e.EPDFAction_GetNodeSubtype(n,G,q,oe))??"",Pe=e.EPDFAction_GetNextCount(n,G);if(!Number.isInteger(Pe)||Pe<0)throw hc("invalid action child count",{nodeId:G,nextCount:Pe});let be=[];for(let q=0;q(p=!0,{type:"unknown",subtype:W,next:be});switch(T){case"javascript":{if(!e.EPDFAction_NodeHasJavaScript(n,G))return Q();let q=we(t,(oe,se)=>e.EPDFAction_GetNodeJavaScript(n,G,oe,se))??"";return i.addScript(q),{type:T,subtype:W,script:q,next:be}}case"rendition":{if(!e.EPDFAction_NodeHasJavaScript(n,G))return{type:T,subtype:W,next:be};let q=we(t,(oe,se)=>e.EPDFAction_GetNodeJavaScript(n,G,oe,se))??"";return i.addScript(q),{type:T,subtype:W,script:q,next:be}}case"goto":{let q=e.EPDFAction_GetNodeDest(r,n,G),oe=q!==Y?jc(e,t,r,q):null;return oe?{type:T,subtype:W,destination:oe,next:be}:Q()}case"uri":{let q=m((oe,se)=>e.EPDFAction_GetNodeURI(r,n,G,oe,se));return q===null?Q():{type:T,subtype:W,uri:q,isMap:F(oe=>e.EPDFAction_GetNodeURIIsMap(n,G,oe))??!1,next:be}}case"named":{let q=m((oe,se)=>e.EPDFAction_GetNodeName(n,G,oe,se));return q===null?Q():{type:T,subtype:W,name:q,next:be}}case"hide":{let q=e.EPDFAction_GetNodeTargetCount(n,G);if(!Number.isInteger(q)||q<0)return Q();i.reserveTargets(q);let oe=P(G,q);return oe===null?Q():{type:T,subtype:W,targets:oe,hide:F(se=>e.EPDFAction_GetNodeHideFlag(n,G,se))??!0,next:be}}case"reset-form":{let q=B(G),oe=e.EPDFAction_GetNodeTargetCount(n,G);if(q===null||!Number.isInteger(oe)||oe<0)return Q();i.reserveTargets(oe);let se=q.hasFields?P(G,oe):null;return q.hasFields&&se===null?Q():{type:T,subtype:W,fields:se,exclude:q.exclude,next:be}}case"submit-form":{if(typeof e.EPDFAction_GetNodeSubmitForm!="function")return{type:T,subtype:W,next:be};let q=y(G);if(q===null)return Q();let oe=m((Be,cn)=>e.EPDFAction_GetNodeSubmitFormURL(n,G,Be,cn));if(oe===null)return Q();let se=e.EPDFAction_GetNodeTargetCount(n,G);if(!Number.isInteger(se)||se<0)return Q();i.reserveTargets(se);let dt=q.hasFields?P(G,se):null;if(q.hasFields&&dt===null)return Q();let z=m((Be,cn)=>e.EPDFAction_GetNodeSubmitFormCharSet(n,G,Be,cn));return{type:T,subtype:W,payload:{url:oe,fields:dt,...Mu(q.flags),...z===null?{}:{charSet:z}},next:be}}case"goto-remote":case"goto-embedded":case"launch":{let q=m((oe,se)=>e.EPDFAction_GetNodeFilePath(n,G,oe,se));return q===null?Q():{type:T,subtype:W,filePath:q,next:be}}default:return{type:T,subtype:W,next:be}}}finally{d.delete(G)}},I=A===null?null:x(A),S=H2(o,s);return p&&S.push("payload-dropped"),{root:I,incomplete:s,warnings:S}}finally{e.EPDFAction_CloseModel(n)}}function x2(e,t){return e===-1||e===uv||e>>>0===uv?null:QP(e,t)}function QP(e,t){if(!Number.isInteger(e)||e<0||e>=t)throw hc("native action model returned an invalid node id",{raw:e,nodeCount:t});return e}function H2(e,t){let r=[];return(e&G2)!==0&&r.push("cycle-dropped"),(e&C2)!==0&&r.push("malformed-next"),((e&I2)!==0||t)&&r.push("incomplete"),r}function hc(e,t){return new g(f.MalformedPdf,e,{details:t})}function RP(e){return e.kind==="wasm"?4:8}function TP(e,t,r,n){e.kind==="wasm"?e.mem.poke(t,"i32",Number(n),r):e.mem.poke(t,"i64",BigInt(n),r)}function ps(e,t,r){let n=RP(e);return V(e.mem,Math.max(1,t.length*n),i=>(t.forEach((a,o)=>TP(e,i,o*n,a)),r(i,t.length)))}function Ga(e,t,r){let{mem:n}=e,i=t.map(a=>n.writeU16String(a));try{return ps(e,i,r)}finally{for(let a=i.length-1;a>=0;a--)n.free(i[a])}}var MP=[null,"decimal","upperRoman","lowerRoman","upperLetters","lowerLetters"];function LP(e,t){let{fn:r,mem:n}=e,i=r.EPDFDoc_GetPageLabelSectionCount(t),a=[];return he(n,[4,4,4],([o,s,A])=>{for(let d=0;dr.EPDFDoc_GetPageLabelSectionAt(t,d,m,F,o,s,A));a.push({firstPage:_e(n,o),style:MP[_e(n,s)]??null,firstNumber:_e(n,A),prefix:p??""})}}),a}function O2(e,t,r){let{fn:n,mem:i}=e;if(!nn(i,r.map(a=>a.firstPage),a=>nn(i,r.map(o=>MP.indexOf(o.style)),o=>nn(i,r.map(s=>s.firstNumber),s=>Ga(e,r.map(A=>A.prefix),(A,d)=>n.EPDFDoc_SetPageLabelSections(t,a,o,s,A,d))))))throw new g(f.Unknown,"EPDFDoc_SetPageLabelSections refused",{details:{sections:r.length}})}var Q2=0,R2=1,T2=2,M2=3,L2=4,En=class{constructor(e,t){this.runtime=e,this.session=t}read(e){O(e);let{fn:t,mem:r}=this.runtime,n=this.session.requireDocPtr(),i=this.session.allRecords(),a=new vi,o=LP(this.runtime,n);return he(r,[16,4,4],([s,A,d])=>{let p=i.map(m=>{O(e);let F=m.pageIndex,k=N2(t,r,n,m.pageObjectNumber,a),P=Kc(t,r,n,F,s);return{index:F,ref:pe(m.pageObjectNumber),label:Cu(o,F),size:Ld(P.crop),rotation:NP(t,r,n,F,d),userUnit:V2(t,r,n,F,A),tabOrder:X2(t,r,n,F),boxes:P,pdfCropBox:P.crop,...k?{actions:k}:{}}});return{pageCount:p.length,pages:p,labels:o,namedPages:z2(t,r,n)}})}};function N2(e,t,r,n,i){let a={},o=fr(e,t,r,e.EPDFDoc_GetPageActionModel(r,n,0),i),s=fr(e,t,r,e.EPDFDoc_GetPageActionModel(r,n,1),i);return o&&(a.open=o),s&&(a.close=s),o||s?a:void 0}function j2(e,t,r,n,i,a){if(e.EPDF_GetPageBoxByIndex(r,n,i,a))return Ce(Gn(t,a))}function mi(e,t){let r=new Map,n=null;return i=>{let a=r.get(i.objectNumber);if(a)return a;n??(n=new Map(t.allRecords().map(m=>[m.pageObjectNumber,m.pageIndex])));let o=n.get(i.objectNumber);if(o===void 0)throw new g(f.NotFound,`no page with object number ${i.objectNumber}`);let{fn:s,mem:A}=e,d=t.requireDocPtr(),p=V(A,16,m=>Kc(s,A,d,o,m).crop);return r.set(i.objectNumber,p),p}}function Kc(e,t,r,n,i){let a=o=>j2(e,t,r,n,o,i);return Zu({media:a(Q2),crop:a(R2),bleed:a(T2),trim:a(M2),art:a(L2)})}function K2(e,t,r){return V(e.mem,4,n=>NP(e.fn,e.mem,t,r,n))}function NP(e,t,r,n,i){return e.EPDF_GetPageRotateByIndex(r,n,i)?Ju(_e(t,i)):0}function V2(e,t,r,n,i){if(!e.EPDF_GetPageUserUnitByIndex(r,n,i))return 1;let a=ue(t,i,0);return Number.isFinite(a)&&a>0?a:1}var Y2={R:"rows",C:"columns",S:"structure",A:"annotations",W:"widgets"};function X2(e,t,r,n){let i=Ye(t,(a,o)=>e.EPDF_GetPageTabOrderByIndex(r,n,a,o));return i?Y2[i]??null:null}var W2=[0,1],U2=0,q2=1;function z2(e,t,r){let n=[];return he(t,[4,4],([i,a])=>{for(let o of W2){let s=e.EPDFDoc_GetNamedPageCount(r,o);for(let A=0;Ae.EPDFDoc_GetNamedPageAt(r,o,A,F,k,i,a),"");if(d===null)continue;let p=Number(t.peek(i,"i32"))>>>0,m=Number(t.peek(a,"i32"));n.push({name:d,target:m===U2?{kind:"page",page:pe(p)}:m===q2?{kind:"template",objectNumber:p}:{kind:"dangling"}})}}}),n}function kc(e,t,r){if(t==="start")return 0;if(t==="end")return r;let{pageIndex:n}=e.resolvePageRef(Rr(t));return"before"in t?n:n+1}var _l=class{constructor(e,t){this.runtime=e,this.session=t}reorder(e,t,r){let n=this.session.resolvePageRefs(e);O(r),this.requireUniquePageObjectNumbers("pages.reorder",n);let i=Rr(t);if(i&&n.includes(i.objectNumber))throw new g(f.InvalidArg,`pages.reorder: the neighbour page ${i.objectNumber} is one of the pages that move`,{details:{field:"position"}});let{fn:a,mem:o}=this.runtime,s=this.session.requireDocPtr(),A=n.map(P=>(O(r),this.session.recordByObjectNumber(P).pageIndex)),d=kc(this.session,t,a.FPDF_GetPageCount(s)),p=d-A.filter(P=>P=a)throw new g(f.InvalidArg,`pages.delete would remove every page (${r.length} of ${a}); a document must keep at least one`);let o=this.session.pagePool();for(let s of r)if(this.session.recordByObjectNumber(s),o.isHeld(s))throw new g(f.Unknown,`internal invariant violation: pagePtr for page ${s} is still held during pages.delete`);for(let s of r)if(!n.EPDFDoc_DeletePageByObjectNumber(i,s))throw new g(f.Unknown,`EPDFDoc_DeletePageByObjectNumber rejected page ${s} after validation`);return this.session.refreshPageRegistry(),{layout:new En(this.runtime,this.session).read(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}setName(e,t){if(O(t),e.name.length===0)throw new g(f.InvalidArg,"pages.setName requires a non-empty name");let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=this.session.resolvePageRef(e.page).pageObjectNumber;if(e.replace!==void 0&&e.replace!==e.name&&e.replace.length>0&&Kt(n,e.replace,o=>r.EPDFDoc_RemoveNamedPage(i,o)),!Kt(n,e.name,o=>r.EPDFDoc_SetNamedPage(i,o,a)))throw new g(f.Unknown,`EPDFDoc_SetNamedPage rejected \'${e.name}\' for page ${a}`);return{layout:new En(this.runtime,this.session).read(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}removeName(e,t){if(O(t),e.name.length===0)throw new g(f.InvalidArg,"pages.removeName requires a non-empty name");let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr();if(!Kt(n,e.name,a=>r.EPDFDoc_RemoveNamedPage(i,a)))throw new g(f.NotFound,`pages.removeName: no /Names /Pages registration \'${e.name}\'`);return{layout:new En(this.runtime,this.session).read(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}requireUniquePageObjectNumbers(e,t){if(t.length===0)throw new g(f.InvalidArg,`${e} requires at least one page`);let r=new Set;for(let n of t){if(r.has(n))throw new g(f.InvalidArg,`${e} was given duplicate page object number ${n}`);r.add(n)}}},Z2=2,J2=0,$2=1,eI=1,tI=2,nI=class{constructor(e,t){this.runtime=e,this.session=t}extract(e,t,r){if(O(r),e.length===0)throw new g(f.InvalidArg,"pages.extract requires at least one page");let n=this.session.resolvePageRefs(e),i=new Set;for(let k of n){if(i.has(k))throw new g(f.InvalidArg,`pages.extract was given duplicate page object number ${k}`);i.add(k)}let a=n.map(k=>this.session.recordByObjectNumber(k).pageIndex),{fn:o,mem:s}=this.runtime,A=this.session.requireDocPtr(),d=s.alloc(4*a.length);for(let k=0;kwe(i,(p,m)=>n.EPDFForm_GetFieldPartialName(r,d,p,m))??""),s=iI(e,t),A=new Set([...s,...o]);a.forEach((d,p)=>{let m=o[p];if(!s.has(m))return;let F=m;for(let k=2;A.has(F);k++)F=`${m}_${k}`;if(A.add(F),!Wn(i,F,k=>n.EPDFForm_SetFieldName(r,d,k)))throw new g(f.Unknown,`pages.insert could not rename the inserted field "${m}" to "${F}"`)})}function rI(e,t){let{fn:r,mem:n}=e,i=r.EPDFDoc_GetImportFieldRoots(t,Y,0,Y,0);return i<=0?[]:V(n,i*4,a=>(r.EPDFDoc_GetImportFieldRoots(t,Y,0,a,i),Array.from({length:i},(o,s)=>Number(n.peek(a,"i32",s*4)))))}function iI(e,t){let{fn:r,mem:n}=e,i=Ee(e,t),a=new Set;for(let o=0;or.EPDFForm_GetFieldName(i,o,A,d));s&&a.add(s.split(".")[0])}return a}function an(e,t,r){let{pageIndex:n}=t.resolvePageRef(pe(r)),i=e.fn.EPDFPage_PromoteInlineAnnotsRaw(t.requireDocPtr(),n);if(i<0)throw new g(f.Unknown,`the inline annotations of page ${r} could not be promoted`);return i===0?!1:(t.pagePool().closeIdle(),!0)}var aI=class{constructor(e,t){this.runtime=e,this.session=t}insert(e,t,r,n){if(O(r),e.byteLength===0)throw new g(f.InvalidArg,"pages.insert requires non-empty bytes");let{fn:i,mem:a}=this.runtime,o=this.session.requireDocPtr(),s=kc(this.session,t,i.FPDF_GetPageCount(o)),A=a.alloc(e.byteLength),d=null;try{if(a.writeBytes(A,new Uint8Array(e)),d=i.FPDF_LoadMemDocument(A,e.byteLength,""),!d)throw ql(i,null,new g(f.MalformedPdf,"pages.insert source PDF could not be opened"));let p=i.FPDF_GetPageCount(d);if(p<=0)throw new g(f.InvalidArg,"pages.insert source PDF has no pages");pv(this.runtime,this.session,d);let m=this.importInto(d,s,p,n,"pages.insert",r),F=d;return this.session.retainUntilClose(()=>{i.FPDF_CloseDocument(F),a.free(A)}),m}catch(p){throw d&&i.FPDF_CloseDocument(d),a.free(A),p}}copy(e,t,r,n){if(O(r),e.length===0)throw new g(f.InvalidArg,"pages.copy requires at least one page");let i=this.session.resolvePageRefs([...e]).map(d=>this.session.recordByObjectNumber(d).pageIndex),{fn:a}=this.runtime,o=this.session.requireDocPtr(),s=kc(this.session,t,a.FPDF_GetPageCount(o)),A=a.FPDF_CreateNewDocument();if(!A)throw new g(f.Unknown,"FPDF_CreateNewDocument failed");try{if(!nn(this.runtime.mem,i,(p,m)=>a.EPDFDoc_ImportPages(A,o,p,m,0,Y)))throw new g(f.Unknown,`EPDFDoc_ImportPages rejected copying pages [${i.join(",")}] out`);pv(this.runtime,this.session,A);let d=this.importInto(A,s,i.length,n,"pages.copy",r);return this.session.retainUntilClose(()=>a.FPDF_CloseDocument(A)),d}catch(d){throw a.FPDF_CloseDocument(A),d}}importInto(e,t,r,n,i,a){let{fn:o,mem:s}=this.runtime,A=this.session.requireDocPtr();if(n&&n.length!==r)throw new g(f.InvalidArg,`${i} needs one object number per page: ${n.length} for ${r}`,{details:{field:"objectNumbers"}});for(let m of n??[])this.session.claimObjectNumber(m);if(!(n?nn(s,n,m=>o.EPDFDoc_ImportPages(A,e,Y,0,t,m)):o.EPDFDoc_ImportPages(A,e,Y,0,t,Y)))throw new g(f.Unknown,`EPDFDoc_ImportPages rejected the ${i} at index ${t}`);this.session.refreshPageRegistry();let d=new En(this.runtime,this.session).read(a),p=d.pages.slice(t,t+r).map(m=>m.ref);for(let m of p)an(this.runtime,this.session,m.objectNumber);return{insertedPages:p,layout:d,meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}insertBlank(e,t,r,n){O(r);let{size:i}=e,a=e.count??1;if(!Number.isFinite(i?.width)||!Number.isFinite(i?.height)||i.width<=0||i.height<=0)throw new g(f.InvalidArg,`pages.insertBlank size must have positive finite dimensions, got ${i?.width}x${i?.height}`);if(!Number.isInteger(a)||a<1||a>100)throw new g(f.InvalidArg,`pages.insertBlank count ${a} out of range [1, ${100}]`);let{fn:o}=this.runtime,s=this.session.requireDocPtr(),A=kc(this.session,t,o.FPDF_GetPageCount(s));if(n&&n.length!==a)throw new g(f.InvalidArg,`pages.insertBlank needs one object number per page: ${n.length} for ${a}`,{details:{field:"objectNumbers"}});for(let p of n??[])this.session.claimObjectNumber(p);for(let p=0;pp.ref),layout:d,meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}},oI=0,sI=1,AI=2,cI=class{constructor(e,t){this.runtime=e,this.session=t}flatten(e,t,r){O(r);let n=this.session.resolvePageRefs(e);dI(n);let i=[],a=new Set;for(let o of n){O(r),an(this.runtime,this.session,o)&&a.add(o);let s=this.session.pagePool(),A=s.acquire(o),d;try{d=this.runtime.fn.EPDFPage_Flatten(A,t==="print"?1:0)}finally{s.release(o)}if(d===AI){i.push({page:pe(o),status:"unchanged"});continue}if(d!==sI)throw new g(f.Unknown,d===oI?"native page flatten failed after preflight":`native page flatten returned unexpected code ${d}`);a.add(o),i.push({page:pe(o),status:"applied"})}return a.size===0?{pages:e,usage:t,results:i,meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}:(this.session.invalidateDerived(),{pages:e,usage:t,results:i,meta:{affectedPages:[...a].map(o=>pe(o)),cacheDelta:null,...this.session.writeStamp()}})}};function dI(e){if(e.length===0)throw new g(f.InvalidArg,"pages.flatten requires at least one page");let t=new Set;for(let r of e){if(t.has(r))throw new g(f.InvalidArg,`pages.flatten was given duplicate page object number ${r}`);t.add(r)}}function Sa(e,t,r,n,i,a){let o=e.EPDFAnnot_GetObjectNumber(i);return o<=0?{kind:"baseIndex",page:n,baseIndex:a}:jP(e,t,r,n,o)}function jP(e,t,r,n,i){let a=uI(e,t,r,i);return a===null?{kind:"objectNumber",page:n,objectNumber:i}:{kind:"baseIndex",page:n,baseIndex:a}}function uI(e,t,r,n){return he(t,[8,8],([i,a])=>(Se(t,i,0),Se(t,a,0),e.EPDFLayer_GetBirthName(r,n,i,a)?He(t,a):null))}function kt(e,t,r){let{fn:n}=e,i=t.requireDocPtr(),{pageIndex:a}=t.resolvePageRef(r.page),o=r.page.objectNumber;switch(r.kind){case"objectNumber":{let s=n.EPDFPage_GetAnnotIndexByObjectNumberRaw(i,a,r.objectNumber);if(s<0)throw new g(f.NotFound,`no annotation with object number ${r.objectNumber} on page ${o}`);return{pageIndex:a,index:s}}case"baseIndex":{let s=pI(e,i,o,a,r.baseIndex);if(s<0)throw new g(f.NotFound,`no annotation born at position ${r.baseIndex} of page ${o}`);return{pageIndex:a,index:s}}}}function pI(e,t,r,n,i){let{fn:a}=e;if(a.EPDFLayer_IsPagePromoted(t,r)){let s=a.EPDFLayer_GetBirthObjectNumber(t,r,i);return s<=0?-1:a.EPDFPage_GetAnnotIndexByObjectNumberRaw(t,n,s)}if(i<0||i>=a.EPDFPage_GetAnnotCountRaw(t,n))return-1;let o=a.EPDFPage_GetAnnotRaw(t,n,i);if(!o)return-1;try{return a.EPDFAnnot_GetObjectNumber(o)>0?-1:i}finally{a.FPDFPage_CloseAnnot(o)}}function Vc(e,t,r){let{pageIndex:n,index:i}=kt(e,t,r);return wi(e,t,n,i)}function wi(e,t,r,n){let i=e.fn.EPDFPage_GetAnnotRaw(t.requireDocPtr(),r,n);if(!i)throw new g(f.Unknown,`annotation ${n} of page index ${r} could not be opened`);return i}function KP(e,t,r){let{pageIndex:n,index:i}=kt(e,t,r),a=wi(e,t,n,i),{fn:o,mem:s}=e;return{annotPtr:a,name:Sa(o,s,t.requireDocPtr(),r.page,a,i)}}function ls(e,t,r,n){let{index:i}=kt(e,t,n),a=e.fn.FPDFPage_GetAnnot(r,i);if(!a)throw new g(f.Unknown,`annotation ${i} of page ${n.page.objectNumber} could not be opened`);return a}var lI=class{constructor(e,t){this.runtime=e,this.session=t}apply(e,t){O(t);let r=this.buildPlan(e);for(let A of r.keys())this.session.recordByObjectNumber(A);this.preflight(r,t);let{fn:n}=this.runtime,i=[],a=new Set,o=0;for(let[A,d]of r){O(t),an(this.runtime,this.session,A)&&a.add(A);let p=this.session.pagePool(),m=p.acquire(A);try{let F=d===null?this.applyAllOnPage(m):this.applyRefsOnPage(m,d);F.status==="applied"&&(n.FPDFPage_GenerateContent(m),a.add(A),o+=F.removed),i.push({page:pe(A),status:F.status,removedAnnotationCount:F.removed})}finally{p.release(A)}}if(a.size===0){let A={affectedPages:[],cacheDelta:null,...this.session.writeStamp()};return{scope:e,results:i,removedAnnotationCount:o,meta:A}}this.session.invalidateDerived();let s={affectedPages:[...a].map(A=>pe(A)),cacheDelta:null,...this.session.writeStamp()};return{scope:e,results:i,removedAnnotationCount:o,meta:s}}buildPlan(e){let t=new Map;if("pages"in e){if(this.session.resolvePageRefs(e.pages).length===0)throw new g(f.InvalidArg,"redaction.apply requires at least one page");for(let r of this.session.resolvePageRefs(e.pages)){if(t.has(r))throw new g(f.InvalidArg,`redaction.apply was given duplicate page object number ${r}`);t.set(r,null)}return t}if(e.annotations.length===0)throw new g(f.InvalidArg,"redaction.apply requires at least one annotation ref");for(let r of e.annotations){let n=t.get(r.page.objectNumber);if(n===null)throw new g(f.InvalidArg,"mixed redaction scopes on one page");n?n.push(r):t.set(r.page.objectNumber,[r])}return t}preflight(e,t){let{fn:r}=this.runtime;for(let[n,i]of e){if(i===null)continue;O(t);let a=this.session.pagePool(),o=a.acquire(n);try{for(let s of i){let A=ls(this.runtime,this.session,o,s);try{let d=Yr(r.FPDFAnnot_GetSubtype(A));if(d!=="redact")throw new g(f.InvalidArg,`redaction.apply ref on page ${n} resolves to a \'${d}\' annotation, not a redact annotation`)}finally{r.FPDFPage_CloseAnnot(A)}}}finally{a.release(n)}}}applyAllOnPage(e){let{fn:t,mem:r}=this.runtime,n=this.pageHasRedactAnnotations(e);return V(r,4,i=>{if(!t.EPDFPage_ApplyRedactions(e,Y,0,i)){if(n)throw new g(f.Unknown,"native page redaction apply failed");return{status:"unchanged",removed:0}}return{status:"applied",removed:_e(r,i)>>>0}})}pageHasRedactAnnotations(e){let{fn:t}=this.runtime,r=t.FPDFPage_GetAnnotCount(e);for(let n=0;nV(n,4,A=>{let d=r.EPDFPage_ApplyRedactions(e,o,s,A);return d&&(a=_e(n,A)>>>0),d})))throw new g(f.Unknown,"native redaction apply failed after preflight")}finally{for(let o of i)r.FPDFPage_CloseAnnot(o)}return{status:"applied",removed:a}}},VP=class{constructor(e,t){this.runtime=e,this.session=t}async read(e,t,r){O(t);let{fn:n}=this.runtime,i=this.session.pagePool(),a=await i.acquireInSlices(e,t,r);try{O(t);let o=n.FPDFText_LoadPage(a);if(!o)throw new g(f.RuntimeUnavailable,`FPDFText_LoadPage returned null for page object ${e}`);try{O(t);let s=Math.max(n.FPDFText_CountChars(o),0),A=mI(this.runtime,o,s),d=bI(this.runtime,o,e),p=Au(s,A.length,d);if(p!==null)throw new g(f.RuntimeUnavailable,`char map invariant violated for page object ${e}: ${p}`);return su(d.length>0?{text:A,charCount:s,charMap:d}:{text:A,charCount:s})}finally{n.FPDFText_ClosePage(o)}}finally{i.release(e)}}};function mI(e,t,r){if(r<=0)return"";let{fn:n,mem:i}=e,a=r*2+1;return V(i,a*2,o=>{let s=n.EPDFText_GetTextFull(t,o,a);return s<=1?"":wI(i.readBytes(o,(s-1)*2))})}function wI(e){let t=new Uint16Array(e.buffer,e.byteOffset,e.byteLength>>1),r="",n=8192;for(let i=0;i{n.EPDFText_GetCharToTextMap(t,o,a);let s=i.readBytes(o,a*lv),A=new Int32Array(s.buffer,s.byteOffset,a*2),d=new Array(a);for(let p=0;p=this.slices.budgetMs}async pause(){await this.slices.between(),O(this.signal),this.started=performance.now()}},fI=.0087,YP=1,Yc=2,XP=class{constructor(e,t){this.runtime=e,this.session=t}async read(e,t,r){O(t);let{fn:n,mem:i}=this.runtime,a=this.session.pagePool(),o=await a.acquireInSlices(e,t,r);try{O(t);let s=n.FPDFText_LoadPage(o);if(!s)throw new g(f.RuntimeUnavailable,`FPDFText_LoadPage returned null for page object ${e}`);try{O(t);let A=Math.max(n.FPDFText_CountChars(s),0),d=[],p=i.alloc(cv.bytes);try{let m=new Jl(r,t),F=null;for(let k=0;k>>0;if(s&o.empty)return wv();let A=!!(s&o.upright),d={flags:s&o.space?YP:0,looseBox:Ce(Gn(i,r,a.looseBox)),upright:A,baselineAngle:0,ascentFlip:!1};if(s&o.hasTightBox&&(d.tightBox=Ce(Gn(i,r,a.tightBox))),s&o.hasLooseQuad&&(d.looseQuad=bv(i,r,a.looseQuad),s&o.hasTightQuad&&(d.tightQuad=bv(i,r,a.tightQuad)),!A)){let p=ue(i,r,a.matrix),m=ue(i,r,a.matrix+4),F=ue(i,r,a.matrix+8),k=ue(i,r,a.matrix+12);d.baselineAngle=Math.atan2(m,p),d.ascentFlip=p*k-m*F<0}return d}};function gI(e){let t=[],r=[],n=0,i,a=null,o,s=A=>{r.length>0&&(t.push(hI(r,n,i,o)),r=[],o=void 0),n=A};for(let A=0;Ao.looseQuad?{loose:o.looseQuad,...o.tightQuad?{tight:o.tightQuad}:{},...ol(o.flags)}:{loose:kI(),...ol(o.flags)});return{rect:mv(e,o=>o.looseQuad?Zs(o.looseQuad):WP),start:t,glyphs:a,rotation:vI(n.baselineAngle),ascentFlip:n.ascentFlip,...r!==void 0?{fontSize:r}:{}}}let i=e.map(a=>({loose:a.looseBox,...a.tightBox?{tight:a.tightBox}:{},...ol(a.flags)}));return{rect:mv(e,a=>a.looseBox),start:t,glyphs:i,...r!==void 0?{fontSize:r}:{}}}function ol(e){return{...e&YP?{space:!0}:{},...e&Yc?{empty:!0}:{}}}function mv(e,t){let r=null;for(let n of e){if(n.flags&Yc)continue;let i=t(n);if(!r){r={left:i.left,bottom:i.bottom,right:i.right,top:i.top};continue}r.left=Math.min(r.left,i.left),r.bottom=Math.min(r.bottom,i.bottom),r.right=Math.max(r.right,i.right),r.top=Math.max(r.top,i.top)}return r??{...WP}}var WP={left:0,bottom:0,right:0,top:0};function kI(){return{upperLeft:{x:0,y:0},upperRight:{x:0,y:0},lowerLeft:{x:0,y:0},lowerRight:{x:0,y:0}}}function wv(){return{flags:Yc,looseBox:{left:0,bottom:0,right:0,top:0},upright:!0,baselineAngle:0,ascentFlip:!1}}function bv(e,t,r){let n=i=>ue(e,t,r+i);return{upperLeft:{x:n(0),y:n(4)},upperRight:{x:n(8),y:n(12)},lowerLeft:{x:n(16),y:n(20)},lowerRight:{x:n(24),y:n(28)}}}var DI=4;function BI(e,t,r){return du({width:e.right-e.left,height:e.top-e.bottom},t,r)}function EI(e,t){let r=UP(e,t);if(!r)return null;try{return t.draw(r.bitmapPtr,r.matrixPtr,r.clipPtr)?r.read():null}finally{r.free()}}async function _I(e,t){let r=UP(e,t);if(!r)return null;try{return await t.draw(r.bitmapPtr,r.matrixPtr,r.clipPtr)?r.read():null}finally{r.free()}}function UP(e,t){let{fn:r,mem:n}=e,{rect:i,page:a,rotation:o,viewport:s,background:A}=t;if(i.right<=i.left||i.top<=i.bottom)return null;let d=GI(i,a),{width:p,height:m}=BI(d,o,s);if(t.maxOutputPixels!==void 0&&p*m>t.maxOutputPixels)throw new g(f.InvalidArg,`render output ${p}x${m} exceeds the ${t.maxOutputPixels}-pixel budget \\u2014 request a smaller width (or tiles, once available)`);let F=p*4,k=F*m,P=null,B=null,y=null,x=null,I=()=>{B&&r.FPDFBitmap_Destroy(B),x&&n.free(x),y&&n.free(y),P&&n.free(P)};try{if(P=n.alloc(k),B=r.FPDFBitmap_CreateEx(p,m,DI,P,F),!B)return I(),null;r.FPDFBitmap_FillRect(B,0,0,p,m,A==="transparent"?0:4294967295),y=n.alloc(24),CI(n,y,uu(yI(d),o,p,m)),x=n.alloc(16),n.poke(x,"f32",0,0),n.poke(x,"f32",0,4),n.poke(x,"f32",p,8),n.poke(x,"f32",m,12)}catch(G){throw I(),G}let S=P;return{bitmapPtr:B,matrixPtr:y,clipPtr:x,read:()=>({width:p,height:m,stride:F,color:"rgba8",premultipliedAlpha:!1,data:II(n.readBytes(S,k))}),free:I}}function qP(e,t){let{fn:r,mem:n}=e,i=V(n,16,a=>r.FPDF_GetPageBoundingBox(t,a)?Gn(n,a):null);return i?Ce(i):{left:0,bottom:0,right:r.FPDF_GetPageWidthF(t),top:r.FPDF_GetPageHeightF(t)}}function yI(e){return{x:e.left,y:e.bottom,width:e.right-e.left,height:e.top-e.bottom}}function GI(e,t){return{left:e.left-t.left,right:e.right-t.left,bottom:t.top-e.top,top:t.top-e.bottom}}function CI(e,t,r){for(let n=0;n<6;n++)e.poke(t,"f32",r[n],n*4)}function II(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}var SI=1,xI=32768,HI=2048,OI=1,QI=2,fv=class{constructor(e,t){this.runtime=e,this.session=t}async render(e,t,r,n){O(r);let{fn:i}=this.runtime,a=this.session.pagePool(),o=await a.acquireInSlices(e,r,n);try{O(r),iu(t,null);let s=t.usage==="print",A=qP(this.runtime,o),d=RI(t.target,A),p=t.rotation??0,m=t.viewport??{kind:"scale",scale:1},F=uA(t,{annotations:!0,formFields:!0}),k=16;F.includeAnnotations&&(k|=SI),F.includeFormFields&&(k|=xI),s&&(k|=HI);let P=await _I(this.runtime,{rect:d,page:A,rotation:p,viewport:m,...t.maxOutputPixels!==void 0?{maxOutputPixels:t.maxOutputPixels}:{},background:t.background==="transparent"?"transparent":"white",draw:async(B,y,x)=>{O(r);let I=i.EPDF_RenderPageBitmapWithMatrix_Start(B,o,y,x,k,n.budgetMs);try{for(;I===OI;)await n.between(),O(r),I=i.EPDF_RenderPage_Continue(o,n.budgetMs)}finally{i.FPDF_RenderPage_Close(o)}return I===QI}});if(!P)throw new g(f.RuntimeUnavailable,`failed to render page object ${e}`);return{raster:P,area:d}}finally{a.release(e)}}};function RI(e,t){if(!e||e.kind==="page")return t;let r=Ce(e.rect);if(!(r.right>r.left&&r.top>r.bottom))throw new g(f.InvalidArg,"render rect must have positive area");return r}function ms(e,t){return{docPtr:e.requireDocPtr(),...t?{fonts:t}:{}}}function gv(e,t){if(e.family===void 0)return e;let r=t.programOf?.(e.family),n=Gr(e.family,t.describe),i={...e,family:n.family};return n.weight!==void 0&&e.weight===void 0&&(i.weight=n.weight),n.italic!==void 0&&e.italic===void 0&&(i.italic=n.italic),r!==void 0&&(i.program=r),i}function zP(e,t={}){let r=e.body?gv(e.body,t):void 0;r&&t.bodyProgram!==void 0&&(r.program=t.bodyProgram);let n=e.paragraphs.map(i=>({...i,runs:i.runs.map(a=>({...a,text:tr(a.text,"\\r"),...a.style?{style:gv(a.style,t)}:{}}))}));return JSON.stringify(r?{body:r,paragraphs:n}:{paragraphs:n})}function TI(e){return ZP(e)?.document??null}function ZP(e){let t;try{t=JSON.parse(e)}catch{return null}if(!t||typeof t!="object"||!t.body||!Array.isArray(t.paragraphs))return null;let{source:r,...n}=t.body,i=Fv(n),a=t.paragraphs.map(o=>{let{runs:s,...A}=o;return{...A,runs:(s??[]).map(d=>{let p=d,m=typeof p.text=="string"?tr(p.text,`\n`):p.text;return p.style?{...p,text:m,style:Fv(p.style)}:{...p,text:m}})}});return{source:t.source,document:{body:i,paragraphs:a}}}function Fv(e){return typeof e.color=="string"?{...e,color:e.color.toLowerCase()}:e}function on(e,t,r){let n=Ye(t,(s,A)=>e.EPDFAnnot_GetRichTextJSON(r,s,A)),i=n?ZP(n):null;if(i?.source!=="rc")return null;let{body:a,paragraphs:o}=i.document;return{body:{...a,family:a.family||Oi.family},paragraphs:o}}function MI(e,t,r){let n=Ye(t,(i,a)=>e.EPDFAnnot_GetRichTextJSON(r,i,a));return n?TI(n):null}function yl(e){let t=Math.fround(e);if(!Number.isFinite(t))return t;for(let r=1;r<9;r++){let n=Number(t.toPrecision(r));if(Math.fround(n)===t)return n}return t}var Sc={invisible:1,hidden:2,print:4,noZoom:8,noRotate:16,noView:32,readOnly:64,locked:128,toggleNoView:256,lockedContents:512},$l=Object.keys(Sc);function LI(e){if(e===0)return{...Ks};let t={...Ks};for(let r of $l)t[r]=(e&Sc[r])!==0;return t}function NI(e,t){let r=e;for(let n of $l){let i=t[n];i!==void 0&&(i?r|=Sc[n]:r&=~Sc[n])}return r}function JP(e){let t={};for(let r of $l)e[r]!==void 0&&(t[r]=e[r]);return Object.keys(t).length>0?t:null}var $P=0,eh=1,th=2,nh=3,rh=4,ih=5,ah=6,oh=7,sh=8,Ah=9;function vv(e){switch(e){case"square":return eh;case"circle":return th;case"diamond":return nh;case"open-arrow":return rh;case"closed-arrow":return ih;case"butt":return ah;case"r-open-arrow":return oh;case"r-closed-arrow":return sh;case"slash":return Ah;default:return $P}}function Pv(e){switch(e){case eh:return"square";case th:return"circle";case nh:return"diamond";case rh:return"open-arrow";case ih:return"closed-arrow";case ah:return"butt";case oh:return"r-open-arrow";case sh:return"r-closed-arrow";case Ah:return"slash";case $P:default:return"none"}}function Yn(e,t,r,n){return e.FPDFAnnot_HasKey(r,n)?we(t,(i,a)=>e.FPDFAnnot_GetStringValue(r,n,i,a),""):null}function ks(e,t,r){return V(t,16,n=>e.FPDFAnnot_GetRect(r,n)?Gn(t,n):{left:0,bottom:0,right:0,top:0})}function jI(e,t){return LI(e.FPDFAnnot_GetFlags(t))}function Un(e,t,r,n=0){return he(t,[4,4,4],([i,a,o])=>e.EPDFAnnot_GetColor(r,n,i,a,o)?Qi(_e(t,i)&255,_e(t,a)&255,_e(t,o)&255):null)}function ws(e,t,r,n){return V(t,4,i=>e.EPDFAnnot_GetBooleanValue(r,n,i)?_e(t,i)!==0:null)}function Fr(e,t,r){return V(t,4,n=>e.EPDFAnnot_GetOpacity(r,n)?yl(ue(t,n)):null)}function Xc(e,t,r){return V(t,4,n=>({styleCode:e.EPDFAnnot_GetBorderStyle(r,n),width:ue(t,n)}))}function KI(e,t,r){let n=e.EPDFAnnot_GetBorderDashPatternCount(r);return n<=0?[]:V(t,n*4,i=>{if(!e.EPDFAnnot_GetBorderDashPattern(r,i,n))return[];let a=[];for(let o=0;o{if(!e.EPDFAnnot_GetBorderEffect(r,n))return null;let i=ue(t,n);return i>0?i:null})}function VI(e,t,r){return he(t,[4,4,4,4],([n,i,a,o])=>e.EPDFAnnot_GetRectangleDifferences(r,n,i,a,o)?{left:ue(t,n),bottom:ue(t,i),right:ue(t,a),top:ue(t,o)}:null)}function ch(e,t,r){let n=e.FPDFAnnot_GetVertices(r,Y,0);return n<=0?[]:V(t,n*8,i=>{let a=e.FPDFAnnot_GetVertices(r,i,n);if(a<=0)return[];let o=[];for(let s=0;s{let d=e.FPDFAnnot_GetInkListPath(r,a,A,o);if(d<=0)return[];let p=[];for(let m=0;m0&&i.push(s)}return i}function uh(e,t,r){return he(t,[8,8],([n,i])=>e.FPDFAnnot_GetLine(r,n,i)?{start:{x:ue(t,n,0),y:ue(t,n,4)},end:{x:ue(t,i,0),y:ue(t,i,4)}}:null)}function tm(e,t,r){return he(t,[4,4],([n,i])=>e.EPDFAnnot_GetLineEndings(r,n,i)?{start:Pv(_e(t,n)),end:Pv(_e(t,i))}:{start:"none",end:"none"})}function xa(e,t,r){return he(t,[4,4,4,4,4],([n,i,a,o,s])=>e.EPDFAnnot_GetDefaultAppearance(r,n,i,a,o,s)?{fontCode:_e(t,n),fontSize:ue(t,i),color:Qi(_e(t,a)&255,_e(t,o)&255,_e(t,s)&255)}:null)}function Wc(e,t,r){return he(t,[4,4],([n,i])=>{let a=we(t,(o,s)=>e.EPDFAnnot_GetDefaultAppearanceFontFace(r,o,s,n,i),null);return a?{family:a,weight:_e(t,n),italic:_e(t,i)!==0}:null})}function nm(e,t){return e.EPDFAnnot_GetTextAlignment(t)}function YI(e,t,r){return e.FPDFAnnot_HasKey(r,"OverlayText")?we(t,(n,i)=>e.EPDFAnnot_GetOverlayText(r,n,i),""):null}function XI(e,t){return e.EPDFAnnot_GetOverlayTextRepeat(t)}function vr(e,t,r){let n=e.EPDFAnnot_GetIntent(r,Y,0);if(n<=0)return null;let i=(n+1)*2;return V(t,i,a=>(e.EPDFAnnot_GetIntent(r,a,i),t.readU16String(a)))}function WI(e,t,r){let n=e.EPDFAnnot_GetCalloutLineCount(r);return n<=0?[]:V(t,n*8,i=>{let a=e.EPDFAnnot_GetCalloutLine(r,i,n);if(a<=0)return[];let o=[];for(let s=0;s{let a=[];for(let o=0;oue(t,i,A);a.push(Nd([{x:s(0),y:s(4)},{x:s(8),y:s(12)},{x:s(16),y:s(20)},{x:s(24),y:s(28)}]))}return a})}function im(e,t,r){return Ye(t,(n,i)=>e.EPDFAnnot_GetName(r,n,i))}function ph(e,t,r){return Ye(t,(n,i)=>e.EPDFAnnot_GetAppearanceState(r,n,i))}function UI(e,t,r){let n=e.EPDFAnnot_GetStructurePosition(r,Y,0);return n<=0?null:V(t,4*n,i=>(e.EPDFAnnot_GetStructurePosition(r,i,n),Array.from({length:n},(a,o)=>Number(t.peek(i,"i32",4*o))>>>0)))}function qI(e,t,r,n){let i=[],a=e.EPDFAnnot_GetAppearanceStateCount(r,n);for(let o=0;oe.EPDFAnnot_GetAppearanceStateName(r,n,o,A,d));s!==null&&i.push(s)}return i}var zI="Rotation";function am(e){let t=yl((-yl(e)%360+360)%360+0);return t===0||t===360?void 0:t}function Uc(e){let t=(-e%360+360)%360+0;return t>180?t-360:t}function ZI(e,t,r){if(e.EPDFAnnot_HasEmbedMetadata(r))return V(t,4,n=>{if(e.EPDFAnnot_GetEmbedMetadataNumber(r,zI,n))return am(ue(t,n))})}var lh=new Set([L.SQUARE,L.CIRCLE,L.FREETEXT,L.STAMP,L.CARET]),mh=.05,JI=.002,$I=[90,180,270],eS=.01,bs=e=>(e%360+360)%360;function om(e,t){let r=Math.abs(bs(e)-bs(t));return Math.min(r,360-r)}var As=(e,t)=>om(e,t)<=mh;function tS(e){let t=Math.hypot(e.a,e.b);if(!(t>0))return;let r=JI*t;if(Math.abs(e.a-e.d)>r||Math.abs(e.b+e.c)>r)return;let n=bs(Math.atan2(e.b,e.a)*180/Math.PI);return om(n,0)>mh?n:void 0}function nS(e,t,r){if(e.FPDFAnnot_HasKey(r,"Rotate"))return V(t,4,n=>e.EPDFAnnot_GetRotate(r,n)?ue(t,n):void 0)}function wh(e,t,r){if(!e.EPDFAnnot_HasEmbedMetadata(r))return;let n=V(t,4,a=>e.EPDFAnnot_GetEmbedMetadataNumber(r,"Rotation",a)?bs(ue(t,a)):void 0);if(n===void 0||om(n,0)e.EPDFAnnot_GetEmbedMetadataRect(r,"UnrotatedRect",a)?Ce(Gn(t,a)):void 0);if(!(!i||i.right<=i.left||i.top<=i.bottom))return{degrees:n,box:i}}function rS(e,t,r,n){return V(t,16,i=>V(t,24,a=>{if(!e.EPDFAnnot_GetAppearanceTransform(r,i,a))return;let o=B2(t,a),s=tS(o);if(s===void 0)return;let A=Ce(Gn(t,i)),d=Math.hypot(o.a,o.b),p=(A.left+A.right)/2,m=(A.bottom+A.top)/2,F=o.a*p+o.c*m+o.e,k=o.b*p+o.d*m+o.f,P=(A.right-A.left)*d/2,B=(A.top-A.bottom)*d/2;return{degrees:n!==void 0&&As(n,s)?bs(n):Math.round(s*100)/100,box:{left:F-P,bottom:k-B,right:F+P,top:k+B}}}))}function bh(e,t,r){let n=Ce(ks(e,t,r)),i=VI(e,t,r);if(!i)return n;let a={left:n.left+i.left,bottom:n.bottom+i.bottom,right:n.right-i.right,top:n.top-i.top};return a.left<=a.right&&a.bottom<=a.top?a:n}function qc(e,t,r){let n=iS(e,t,r);if(!n)return;let i=am(n.degrees);return i===void 0?void 0:{rotation:i,box:n.box}}function Ha(e,t,r){let n=qc(e,t,r);return n?{box:n.box,rotation:n.rotation}:{box:bh(e,t,r),rotation:null}}function iS(e,t,r){let n=e.FPDFAnnot_GetSubtype(r);if(!lh.has(n))return;let i=nS(e,t,r),a=rS(e,t,r,i),o=bh(e,t,r),s=n===L.FREETEXT,A=s&&i!==void 0?$I.find(P=>As(i,P)):void 0,d=wh(e,t,r);if(d&&Sr(wn(d.box,d.degrees),o)&&(a?As(a.degrees,d.degrees):!e.EPDFAnnot_HasAppearanceStream(r,0)||s&&(e.FPDFAnnot_HasKey(r,"CL")||A!==void 0&&As(A,d.degrees))))return d;if(a)return a;if(A===void 0)return;if(A===180)return{degrees:A,box:o};let p=(o.left+o.right)/2,m=(o.bottom+o.top)/2,F=(o.top-o.bottom)/2,k=(o.right-o.left)/2;return{degrees:A,box:{left:p-F,bottom:m-k,right:p+F,top:m+k}}}function aS(e,t,r){let n=wh(e,t,r);if(!n)return;let i=am(n.degrees);return i===void 0?void 0:{rotation:i,box:n.box}}function oS(e,t){return!e||!t?!e&&!t:As(e.rotation,t.rotation)&&Sr(e.box,t.box)}function sS(e,t){return lh.has(e.FPDFAnnot_GetSubtype(t))}var fh="Replace",gh="StrikeOutTextEdit";function Fh(e){if(e==="replace")return fh}function AS(e){return e===fh?"replace":null}function vh(e){if(e==="strikeout-text-edit")return gh}function cS(e){return e===gh?"strikeout-text-edit":null}var dS="#ff0000";function uS(e,t,r,n){let i=Un(e,t,r)??dS,a=Fr(e,t,r),o=a==null?1:Math.max(0,Math.min(1,a)),s=AS(vr(e,t,r));return{...n,richText:on(e,t,r),subtype:"caret",intent:s,color:i,opacity:o,...Ha(e,t,r)}}function pS(e,t,r,n){return we(t,(i,a)=>e.EPDFDoc_GetAttachmentKey(r,n,i,a))}function Bc(e,t,r,n){let i=t.writeU16String(n.key);try{return e.EPDFDoc_GetAttachmentIndexByKey(r,i)}finally{t.free(i)}}function sm(e,t,r,n,i,a){let o=a.bytes.byteLength;if(o===0){if(!e.FPDFAttachment_SetFile(r,n,Y,0))throw new g(f.Unknown,"FPDFAttachment_SetFile returned false")}else{let s=t.alloc(o);try{if(t.writeBytes(s,new Uint8Array(a.bytes)),!e.FPDFAttachment_SetFile(r,n,s,o))throw new g(f.Unknown,"FPDFAttachment_SetFile returned false")}finally{t.free(s)}}if(Kt(t,ft(new Date),s=>e.FPDFAttachment_SetStringValue(r,"CreationDate",s)),i.mimeType&&!e.EPDFAttachment_SetSubtype(r,i.mimeType))throw new g(f.Unknown,"EPDFAttachment_SetSubtype returned false");if(i.description!==void 0&&!Kt(t,i.description,s=>e.EPDFAttachment_SetDescription(r,s)))throw new g(f.Unknown,"EPDFAttachment_SetDescription returned false")}function _a(e,t,r){let n=we(t,(p,m)=>e.FPDFAttachment_GetName(r,p,m))??"",i=we(t,(p,m)=>e.FPDFAttachment_GetSubtype(r,p,m)),a=we(t,(p,m)=>e.EPDFAttachment_GetDescription(r,p,m)),o=hv(e,t,r,"CreationDate"),s=hv(e,t,r,"ModDate"),A=wS(kh(e,t,r,"CheckSum")),d=mS(e,t,r);return{name:n,mimeType:i||null,description:a||null,sizeBytes:d,md5:A||null,createdAt:o||null,modifiedAt:s||null}}function Ph(e,t,r){let{fn:n,mem:i}=e,a=i.alloc(8),o=i.alloc(4),s=i.alloc(4),A=null;try{if(i.poke(a,"ptr",0),i.poke(o,"i32",0),i.poke(s,"i32",-1),!n.EPDFAttachment_ExtractFileToOwnedBuffer(t,BigInt(r??0),a,o,s))throw hh(Number(i.peek(s,"i32")),r);let d=Number(i.peek(o,"i32"))>>>0;if(A=i.peek(a,"ptr"),d===0||!A)return{bytes:new ArrayBuffer(0),size:0};let p=i.readBytes(A,d),m=new ArrayBuffer(p.byteLength);return new Uint8Array(m).set(p),{bytes:m,size:d}}finally{A&&n.EPDF_FreeBuffer(A),i.free(s),i.free(o),i.free(a)}}function lS(e,t,r,n){let{fn:i,mem:a}=e,o=a.alloc(4),s=a.alloc(4),A=e.fileWrite.toNodeFile(r);try{if(a.poke(o,"i32",0),a.poke(s,"i32",-1),!i.EPDFAttachment_ExtractFile(t,A.ptr,BigInt(n??0),o,s))throw hh(Number(a.peek(s,"i32")),n);return{size:Number(a.peek(o,"i32"))>>>0}}finally{A.close(),a.free(s),a.free(o)}}function hh(e,t){switch(e){case 1:return new g(f.InvalidArg,"attachment has no embedded file stream (missing /EF)");case 2:return new g(f.MalformedPdf,"embedded file stream failed to decode");case 3:return new g(f.PayloadTooLarge,`the embedded file decodes to more than ${t} bytes, the limit`,{details:{limit:t}});case 4:return new g(f.Unknown,"writing the extracted attachment failed");default:return new g(f.Unknown,`attachment extraction failed (status ${e})`)}}function kh(e,t,r,n){return e.FPDFAttachment_HasKey(r,n)?we(t,(i,a)=>e.FPDFAttachment_GetStringValue(r,n,i,a),null):null}function hv(e,t,r,n){let i=kh(e,t,r,n);return i?Xn(i):null}function mS(e,t,r){let n=t.alloc(4);try{if(!e.EPDFAttachment_GetIntegerValue(r,"Size",n))return null;let i=Number(t.peek(n,"i32"));return i>=0?i:null}finally{t.free(n)}}function wS(e){if(!e)return null;let t=e.startsWith("<")&&e.endsWith(">")?e.slice(1,-1):e;return/^[0-9a-fA-F]+$/.test(t)?t.toLowerCase():e}var Dh=Object.freeze({comment:"Comment",key:"Key",note:"Note",help:"Help","new-paragraph":"NewParagraph",paragraph:"Paragraph",insert:"Insert"}),bS=Object.freeze(Object.fromEntries(Object.entries(Dh).map(([e,t])=>[t,e]))),Bh=Object.freeze({graph:"Graph","push-pin":"PushPin",paperclip:"Paperclip",tag:"Tag"}),fS=Object.freeze(Object.fromEntries(Object.entries(Bh).map(([e,t])=>[t,e]))),gS="#ffff00",FS="push-pin";function vS(e,t,r,n){let i=Un(e,t,r)??gS,a=Fr(e,t,r),o=a==null?1:Math.max(0,Math.min(1,a)),s=fS[im(e,t,r)??""]??FS,A=e.FPDFAnnot_GetFileAttachment(r),d=A?_a(e,t,A):null;return{...n,richText:on(e,t,r),subtype:"file-attachment",icon:s,file:d,color:i,opacity:o}}var Ne={Color:0,InteriorColor:1,OverlayColor:2,TextColor:3},Eh={"free-text":"FreeText","free-text-callout":"FreeTextCallout","free-text-typewriter":"FreeTextTypeWriter"};function _h(e){return Eh[e]}function yh(e){return Object.entries(Eh).find(([,t])=>t===e)?.[0]??"free-text"}var xc={courier:0,"courier-bold":1,"courier-bold-oblique":2,"courier-oblique":3,helvetica:4,"helvetica-bold":5,"helvetica-bold-oblique":6,"helvetica-oblique":7,"times-roman":8,"times-bold":9,"times-bold-italic":10,"times-italic":11,symbol:12,"zapf-dingbats":13},PS=Object.fromEntries(Object.entries(xc).map(([e,t])=>[t,e])),Gh="helvetica";function hS(e){return xc[e]??xc.helvetica}function kS(e){return Object.prototype.hasOwnProperty.call(xc,e)}function Am(e){return PS[e]??"helvetica"}var Ch=0,Ih=1,Sh=2;function Ds(e){switch(e){case"center":return Ih;case"right":return Sh;default:return Ch}}function cm(e){switch(e){case Ih:return"center";case Sh:return"right";case Ch:default:return"left"}}var DS="VerticalAlignment",xh=["top","middle","bottom"];function BS(e){return xh.indexOf(e)}function ES(e){return e!==void 0&&xh[e]||"top"}function zc(e,t,r,n,i){let a=i?.keyForFace(n.family,n.weight,n.italic);if(a!==void 0)return a;let o=Ys(n);if(yr(o))return o;let s=Wc(e,t,r);if(s&&ln(s.family)===ln(n.family)&&s.weight===n.weight&&s.italic===n.italic){let A=Ye(t,(d,p)=>e.EPDFAnnot_GetDefaultAppearanceFontPostScriptName(r,d,p));if(A)return A}return rc({familyName:n.family,weight:n.weight,italic:n.italic},null)}function _S(e,t,r){if(!e.EPDFAnnot_HasEmbedMetadata(r))return null;let n=Hh(e,t,r,"SchemaVersion"),i=Da(e,t,r,"UserID"),a=Da(e,t,r,"GroupID"),o=Da(e,t,r,"CreatedBy"),s=Da(e,t,r,"UpdatedBy"),A=Da(e,t,r,"ImportedBy"),d={};return n!==void 0&&(d.schemaVersion=n),i!==void 0&&(d.userId=i),a!==void 0&&(d.groupId=a),o!==void 0&&(d.createdBy=o),s!==void 0&&(d.modifiedBy=s),A!==void 0&&(d.importedBy=A),d}function Da(e,t,r,n){let i=e.EPDFAnnot_GetEmbedMetadataString(r,n,Y,0);if(i<=2)return;let a=t.alloc(i);try{return e.EPDFAnnot_GetEmbedMetadataString(r,n,a,i)<=0?void 0:t.readU16String(a)}finally{t.free(a)}}function Hh(e,t,r,n){let i=t.alloc(4);try{return e.EPDFAnnot_GetEmbedMetadataNumber(r,n,i)?Number(t.peek(i,"f32")):void 0}finally{t.free(i)}}var Oh=1,Qh=2,Rh=3,Th=4,Mh=5;function dm(e){switch(e){case"dashed":return Qh;case"beveled":return Rh;case"inset":return Th;default:return Oh}}function um(e){switch(e){case Qh:return"dashed";case Rh:return"beveled";case Th:return"inset";case Oh:default:return"solid"}}function yS(e){return e==="underline"?Mh:dm(e)}function Lh(e){return e===Mh?"underline":um(e)}function pm(e,t,r){let{styleCode:n,width:i}=Xc(e,t,r),a=KI(e,t,r);return{strokeWidth:i,borderStyle:um(n),dashArray:a.length>0?a:null}}function Nh(e,t,r){let n=Un(e,t,r,Ne.Color),i=Fr(e,t,r);return{color:n,opacity:i==null?1:Math.max(0,Math.min(1,i)),...pm(e,t,r)}}function Zc(e,t,r){let n=Un(e,t,r,Ne.InteriorColor);return{...Nh(e,t,r),interiorColor:n??null}}var GS="#000000",CS=12;function IS(e,t,r,n,i,a){let o=xa(e,t,r),s=o?.color??GS,A=MI(e,t,r),d=a?.fonts,p=A?zc(e,t,r,A.body,d):o?Am(o.fontCode):Gh,m=A&&A.body.size>0?A.body.size:o&&o.fontSize>0?o.fontSize:CS,F=A??{body:{family:"Helvetica",weight:400,italic:!1,size:m,color:s,decoration:[],script:"normal",letterSpacing:0,horizontalScale:1,align:"left",dir:"ltr"},paragraphs:[{runs:[{text:n.contents??""}]}]},k=F.body.color.toLowerCase(),P=Un(e,t,r,Ne.Color),B=Fr(e,t,r),y=B==null?1:Math.max(0,Math.min(1,B)),x=A?A.body.align:cm(nm(e,r)),I=ES(Hh(e,t,r,DS)),S=yh(vr(e,t,r)),G=WI(e,t,r),T=G.length===2?[G[0],G[1]]:G.length===3?[G[0],G[1],G[2]]:void 0,W=tm(e,t,r).end;return{...n,subtype:"free-text",intent:S,fontFamily:p,fontSize:m,textAlign:x,verticalAlign:I,richText:F,color:s,fontColor:k,interiorColor:P??null,opacity:y,...pm(e,t,r),cloudyIntensity:em(e,t,r),...Ha(e,t,r),calloutLine:T??null,lineEnding:T!==void 0&&W!=="none"?W:null}}function SS(e,t,r){switch(e.FPDFAnnot_GetSubtype(r)){case L.LINE:{let n=uh(e,t,r);return n?[[n.start,n.end]]:[]}case L.POLYGON:case L.POLYLINE:return[ch(e,t,r)];case L.INK:return dh(e,t,r).map(n=>[...n]);default:return[]}}function xS(e,t,r){let n=ZI(e,t,r);if(n===void 0)return;let i=V(t,16,a=>e.EPDFAnnot_GetEmbedMetadataRect(r,"UnrotatedRect",a)?Ce(Gn(t,a)):void 0);return i?{rotation:n,box:i}:void 0}function Jc(e,t,r,n){let i=n.flat();if(i.length===0)return;let a=xS(e,t,r);if(!a)return;let{box:o}=a,s={degrees:a.rotation,center:{x:(o.left+o.right)/2,y:(o.bottom+o.top)/2}};return Sr(er(i.map(A=>Hi(A,s))),o)?s:void 0}var fi=(e,t)=>t?Hi(e,t):e;function jh(e){if(e==="ink-highlight")return"InkHighlight"}function HS(e){return e==="InkHighlight"?"ink-highlight":null}function OS(e,t,r,n){let i=dh(e,t,r),a=Jc(e,t,r,i),o=HS(vr(e,t,r));return{...n,richText:on(e,t,r),subtype:"ink",...Nh(e,t,r),intent:o,inkList:i.map(s=>s.map(A=>fi(A,a))),rotation:a?.degrees??null}}var QS={"line-arrow":"LineArrow","line-dimension":"LineDimension","polygon-cloud":"PolygonCloud","polygon-dimension":"PolygonDimension","polyline-dimension":"PolyLineDimension"};function RS(e){return QS[e]}function TS(e){return e==="LineArrow"?"line-arrow":e==="LineDimension"?"line-dimension":null}function MS(e){return e==="PolygonCloud"?"polygon-cloud":e==="PolygonDimension"?"polygon-dimension":null}function LS(e){return e==="PolyLineDimension"?"polyline-dimension":null}var Kh={x:0,y:1,distance:2,area:3,angle:4,slope:5},Gl=["decimal","fraction","round","truncate"],Vh=["thousands","decimal","prefixSpacing","suffixSpacing"];function Le(e){if(!e)throw new g(f.Unknown,"Measurement native write failed after preflight")}function ha(e,t,r="f32"){return V(e,4,n=>t(n)?Number(e.peek(n,r)):void 0)}function Cl(e,t,r){return t?V(e,8,n=>(e.poke(n,"f32",t.x),e.poke(n,"f32",t.y,4),r(n))):r(Y)}function Yh(e,t,r){if(!r)return;let n=e.EPDFMeasure_GetSubtype(r);if(n!==1)return{subtype:n===2?"geospatial":"unknown"};let i=d=>Array.from({length:e.EPDFMeasure_CountFormats(r,d)},(p,m)=>{let F=e.EPDFMeasure_GetFormat(r,d,m),k={unit:we(t,(S,G)=>e.EPDFNumberFormat_GetUnit(F,S,G))??""},P=ha(t,S=>e.EPDFNumberFormat_GetConversion(F,S));P!==void 0&&(k.conversion=P);let B=ha(t,S=>e.EPDFNumberFormat_GetFraction(F,S),"i32");B!==void 0&&Gl[B]&&(k.fraction=Gl[B]);let y=ha(t,S=>e.EPDFNumberFormat_GetPrecision(F,S),"i32");y!==void 0&&(k.precision=y);let x=ha(t,S=>e.EPDFNumberFormat_GetFixedDenominator(F,S),"i32");x!==void 0&&(k.fixed=!!x);let I=ha(t,S=>e.EPDFNumberFormat_GetLabelPosition(F,S),"i32");I!==void 0&&(k.labelPosition=I===1?"prefix":"suffix");for(let[S,G]of Vh.entries()){let T=we(t,(W,Pe)=>e.EPDFNumberFormat_GetText(F,S,W,Pe));T!==null&&(k[G]=T)}return k}),a=we(t,(d,p)=>e.EPDFMeasure_GetRatio(r,d,p)),o=V(t,8,d=>e.EPDFMeasure_GetOrigin(r,d)?{x:Number(t.peek(d,"f32")),y:Number(t.peek(d,"f32",4))}:void 0),s=ha(t,d=>e.EPDFMeasure_GetCYX(r,d)),A={subtype:"rectilinear",x:i(0),distance:i(2),area:i(3),...a!==null?{ratio:a}:{},...o?{origin:o}:{},...s!==void 0?{cyx:s}:{}};for(let d of["y","angle","slope"]){let p=i(Kh[d]);p.length&&(A[d]=p)}return A}function Xh(e,t,r,n){Le(r),n.ratio!==void 0&&Le(Kt(t,n.ratio,i=>e.EPDFMeasure_SetRatio(r,i))),n.origin&&Le(Cl(t,n.origin,i=>e.EPDFMeasure_SetOrigin(r,i))),n.cyx!==void 0&&V(t,4,i=>{t.poke(i,"f32",n.cyx),Le(e.EPDFMeasure_SetCYX(r,i))});for(let[i,a]of Object.entries(Kh))for(let o of n[i]??[]){let s=t.writeU16String(o.unit),A;try{A=e.EPDFMeasure_AddFormat(r,a,s,o.conversion)}finally{t.free(s)}Le(A),o.fraction!==void 0&&Le(e.EPDFNumberFormat_SetFraction(A,Gl.indexOf(o.fraction))),o.precision!==void 0&&Le(e.EPDFNumberFormat_SetPrecision(A,o.precision)),o.fixed!==void 0&&Le(e.EPDFNumberFormat_SetFixedDenominator(A,o.fixed)),o.labelPosition!==void 0&&Le(e.EPDFNumberFormat_SetLabelPosition(A,o.labelPosition==="prefix"?1:0));for(let[d,p]of Vh.entries())o[p]!==void 0&&Le(Kt(t,o[p],m=>e.EPDFNumberFormat_SetText(A,d,m)))}}function lm(e,t,r){return{measure:Yh(e,t,e.EPDFAnnot_GetMeasure(r))??null}}function NS(e,t,r){if(["Cap","CP","CO"].some(n=>e.FPDFAnnot_HasKey(r,n)))return he(t,[4,4,8],([n,i,a])=>{if(e.EPDFAnnot_GetLineCaption(r,n,i,a))return{enabled:!!t.peek(n,"i32"),position:t.peek(i,"i32")===1?"top":"inline",...e.FPDFAnnot_HasKey(r,"CO")?{offset:{along:Number(t.peek(a,"f32")),perpendicular:Number(t.peek(a,"f32",4))}}:{}}})}function Wh(e,t,r){return he(t,[4,4,8],([n,i,a])=>{if(!e.EPDFAnnot_GetShapeCaption(r,n,i,a))return;let o=!!t.peek(n,"i32"),s=!!t.peek(i,"i32");if(!(!e.EPDFAnnot_GetEmbedMetadataBoolean(r,"MeasurementCaption",n)&&!s))return{enabled:o,...s?{center:{x:Number(t.peek(a,"f32")),y:Number(t.peek(a,"f32",4))}}:{}}})}function jS(e,t,r){if(["LL","LLE","LLO"].some(n=>e.FPDFAnnot_HasKey(r,n)))return he(t,[4,4,4],([n,i,a])=>{if(e.EPDFAnnot_GetLineLeader(r,n,i,a))return{length:Number(t.peek(n,"f32")),extension:Number(t.peek(i,"f32")),offset:Number(t.peek(a,"f32"))}})}var KS={start:{x:0,y:0},end:{x:0,y:0}};function VS(e,t,r,n){let i=uh(e,t,r)??KS,a=Jc(e,t,r,[[i.start,i.end]]),o=vr(e,t,r),s=NS(e,t,r),A=jS(e,t,r);return{...n,richText:on(e,t,r),...lm(e,t,r),intent:TS(o),captionEnabled:s?.enabled??!1,captionPosition:s?.position??"inline",captionOffset:s?.offset??null,leader:A??null,subtype:"line",...Zc(e,t,r),linePoints:{start:fi(i.start,a),end:fi(i.end,a)},lineEndings:tm(e,t,r),rotation:a?.degrees??null}}function Uh(e,t,r,n){let i=n.page.objectNumber,a=n.kind==="xyz"?e.EPDFDest_CreateXYZByObjectNumber(r,i,n.left!=null,n.left??0,n.top!=null,n.top??0,n.zoom!=null,n.zoom??0):YS(e,t,r,i,n);if(!a)throw new g(f.NotFound,`destination page not found: pageObjectNumber=${i}`);return a}function YS(e,t,r,n,i){let a=(()=>{switch(i.kind){case"fitH":case"fitBH":return i.top!=null?[i.top]:[];case"fitV":case"fitBV":return i.left!=null?[i.left]:[];case"fitR":return[i.left,i.bottom,i.right,i.top];default:return[]}})(),o=E2[i.kind];return a.length?V(t,a.length*4,s=>{for(let A=0;A!o)){e.EPDFAnnot_SetEmbedMetadataNumber(r,mm,1);for(let[o,s]of a)s&&br(e,t,r,o,s)}}function br(e,t,r,n,i){let a=t.writeU16String(i);try{e.EPDFAnnot_SetEmbedMetadataString(r,n,a)}finally{t.free(a)}}var Il="AppearanceFit",sx=["contain","cover","fill"];function fm(e,t,r){let n=Da(e,t,r,Il);return n!==void 0&&sx.includes(n)?n:null}function gm(e,t,r,n){if(n===null){e.EPDFAnnot_ClearEmbedMetadataKey(r,Il);return}e.EPDFAnnot_HasEmbedMetadata(r)||e.EPDFAnnot_SetEmbedMetadataNumber(r,"SchemaVersion",1),br(e,t,r,Il,n)}function Ax(e,t,r,n){return{...n,richText:on(e,t,r),subtype:"stamp",name:im(e,t,r),fit:fm(e,t,r),opacity:Fr(e,t,r)??1,...Ha(e,t,r)}}var r3={review:"Review",marked:"Marked"},i3={accepted:"Accepted",rejected:"Rejected",cancelled:"Cancelled",completed:"Completed",none:"None",marked:"Marked",unmarked:"Unmarked"},cx=s3(r3),dx=s3(i3);function a3(e){return r3[e]??e}function ux(e){return cx[e]??e}function o3(e){return i3[e]??e}function px(e){return dx[e]??e}function s3(e){return Object.fromEntries(Object.entries(e).map(([t,r])=>[r,t]))}var lx="#ffff00",mx="note";function wx(e,t,r,n){let i=Un(e,t,r)??lx,a=Fr(e,t,r),o=a==null?1:Math.max(0,Math.min(1,a)),s=bS[im(e,t,r)??""]??mx,A=Yn(e,t,r,"State"),d=Yn(e,t,r,"StateModel");return{...n,richText:on(e,t,r),subtype:"text",icon:s,open:ws(e,t,r,"Open")??bx(e,t,r)??!1,color:i,opacity:o,state:A===null?null:px(A),stateModel:d===null?null:ux(d)}}function bx(e,t,r){let n=e.FPDFAnnot_GetLinkedAnnot(r,"Popup");if(!n)return null;try{return ws(e,t,n,"Open")}finally{e.FPDFPage_CloseAnnot(n)}}var fx="#ffff00",gx="#000000";function $c(e,t,r,n=gx){let i=Un(e,t,r)??n,a=Fr(e,t,r);return{color:i,opacity:a==null?1:Math.max(0,Math.min(1,a)),quadPoints:rm(e,t,r),richText:on(e,t,r)}}function Fx(e,t,r,n){let i=$c(e,t,r,fx);return{...n,subtype:"highlight",...i}}function vx(e,t,r,n){let i=$c(e,t,r);return{...n,subtype:"underline",...i}}function Px(e,t,r,n){let i=$c(e,t,r);return{...n,subtype:"squiggly",...i}}function hx(e,t,r,n){let i=$c(e,t,r),a=cS(vr(e,t,r));return{...n,subtype:"strikeout",intent:a,...i}}function kx(e,t,r,n,i){let a=Yn(e,t,r,"Subtype");return{...n,subtype:"unsupported",rawSubtypeCode:i,rawSubtypeName:a}}function A3(e,t,r){let n=ch(e,t,r),i=Jc(e,t,r,[n]),a=Wh(e,t,r);return{vertices:n.map(o=>fi(o,i)),rotation:i?.degrees??null,captionEnabled:a?.enabled??null,captionCenter:a?.center?fi(a.center,i):null}}function Dx(e,t,r,n){let{captionEnabled:i,captionCenter:a,...o}=A3(e,t,r),s=vr(e,t,r);return{...n,richText:on(e,t,r),...lm(e,t,r),captionEnabled:i,captionCenter:a,intent:MS(s),subtype:"polygon",...Zc(e,t,r),...o,cloudyIntensity:em(e,t,r)}}function Bx(e,t,r,n){let{captionEnabled:i,captionCenter:a,...o}=A3(e,t,r),s=vr(e,t,r);return{...n,richText:on(e,t,r),...lm(e,t,r),captionEnabled:i,captionCenter:a,intent:LS(s),subtype:"polyline",...Zc(e,t,r),...o,lineEndings:tm(e,t,r)}}var Ex=0,_x=1,yx=0,sl=4;function Dv(e,t,r,n){return he(t,[sl,sl,sl],([i,a,o])=>e.EPDFAnnot_GetMKColor(r,n,i,a,o)?Qi(_e(t,i)&255,_e(t,a)&255,_e(t,o)&255):null)}function c3(e,t){return xi(-e.EPDFAnnot_GetMKRotation(t))||null}function Gx(e,t,r,n,i,a){let o=pm(e,t,r),s=xa(e,t,r),A=Wc(e,t,r),d=a?.fonts,p=c3(e,r);return{...n,box:Ir(n.rect,p??0),rotation:p,groupId:null,userId:null,createdBy:null,modifiedBy:null,importedBy:null,subtype:"widget",color:Dv(e,t,r,Ex),interiorColor:Dv(e,t,r,_x),strokeWidth:o.strokeWidth,borderStyle:Lh(Xc(e,t,r).styleCode),dashArray:o.dashArray,fontFamily:A?zc(e,t,r,A,d):null,fontSize:s?s.fontSize:null,fontColor:s?s.color:null,textAlign:cm(nm(e,r)),caption:we(t,(m,F)=>e.EPDFAnnot_GetMKText(r,yx,m,F)),checkStyle:null,field:null,fieldKind:"unknown",hasMark:fm(e,t,r)!==null}}var Bv={highlight:Fx,underline:vx,squiggly:Px,strikeout:hx,circle:tx,square:nx,polygon:Dx,polyline:Bx,line:VS,link:XS,ink:OS,"free-text":IS,caret:uS,text:wx,stamp:Ax,"file-attachment":vS,widget:Gx,redact:ex,popup:zS,unsupported:kx};function d3(e){let t=Yr(e),r=Bv[t];return r?{reader:r,subtype:t}:{reader:Bv.unsupported,subtype:"unsupported"}}var Cx="SchemaVersion",u3="GroupID",Fm="CreatedBy",vm="CreatedAt",ed="FilledBy",td="FilledByName",nd="FilledAt",Pm="ImportedBy",Ix={createdBy:null,createdAt:null,filledBy:null,filledByName:null,filledAt:null,importedBy:null};function Sx(e,t,r){let{fn:n,mem:i}=e;if(!n.EPDFForm_HasFieldEmbedMetadata(t,r))return Ix;let a=s=>we(i,(A,d)=>n.EPDFForm_GetFieldEmbedMetadataString(t,r,s,A,d),null),o=s=>{let A=a(s);return A===null?null:Xn(A)};return{createdBy:a(Fm),createdAt:o(vm),filledBy:a(ed),filledByName:a(td),filledAt:o(nd),importedBy:a(Pm)}}function hm(e,t,r){let{fn:n,mem:i}=e;return n.EPDFForm_HasFieldEmbedMetadata(t,r)?we(i,(a,o)=>n.EPDFForm_GetFieldEmbedMetadataString(t,r,u3,a,o),null):null}function Ev(e,t,r,n){Bs(e,t,r,[[u3,n]])}function xx(e,t,r,n,i=new Date){n.userId&&Bs(e,t,r,[[Fm,n.userId],[vm,ft(i)]])}function Hx(e,t,r,n,i=new Date){if(!n.userId){p3(e,t,r);return}Bs(e,t,r,[[ed,n.userId],[td,n.displayName??null],[nd,ft(i)]])}function Ox(e,t,r,n,i){Bs(e,t,r,[[Fm,n.createdBy],[vm,n.createdAt?ft(n.createdAt):null],[Pm,i]])}function _v(e,t,r,n,i){Bs(e,t,r,[[ed,n.filledBy],[td,n.filledByName],[nd,n.filledAt?ft(n.filledAt):null],[Pm,i]])}function p3(e,t,r){for(let n of[ed,td,nd])l3(e,t,r,n)}function Bs(e,t,r,n){let{fn:i,mem:a}=e;if(!i.EPDFForm_SetFieldEmbedMetadataNumber(t,r,Cx,1))throw Sl(r);for(let[o,s]of n){if(s===null){l3(e,t,r,o);continue}let A=a.writeU16String(s);try{if(!i.EPDFForm_SetFieldEmbedMetadataString(t,r,o,A))throw Sl(r)}finally{a.free(A)}}}function l3(e,t,r,n){if(!e.fn.EPDFForm_ClearFieldEmbedMetadataKey(t,r,n))throw Sl(r)}function Sl(e){return new g(f.Unknown,`the metadata of field ${e} could not be written`)}var km={0:"unknown",1:"pushbutton",2:"checkbox",3:"radio",4:"text",5:"combobox",6:"listbox",7:"signature"},Qx={0:"none",1:"acroform",2:"xfa"},Rx=1,Tx=2,Mx=4,Lx=4096,Nx=8192,jx=16384,Kx=1<<18,Vx=1<<21,Yx=1<<24,Xx=1<<25;function fs(e,t){return we(e.mem,t)??""}function yv(e,t){return we(e.mem,t,null)}function m3(e,t,r,n){let{fn:i}=e;return Gt(i.EPDFForm_GetFieldWidgetObjNum(t,r,n),Dm(i.EPDFForm_GetFieldWidgetPageObjNum(t,r,n)))}function Gv(e,t,r){let{fn:n}=e,i=n.EPDFForm_CountFieldWidgets(t,r),a=[];for(let o=0;on.EPDFForm_GetFieldWidgetOnState(t,r,o,s,A))??"",exportValue:fs(e,(s,A)=>n.EPDFForm_GetFieldWidgetExportValue(t,r,o,s,A)),checked:n.EPDFForm_IsFieldWidgetChecked(t,r,o)});return a}function ts(e,t,r){let n=e.fn.EPDFForm_CountFieldWidgets(t,r),i=[];for(let a=0;an.EPDFForm_GetFieldOptionLabel(t,r,o,s,A)),value:fs(e,(s,A)=>n.EPDFForm_GetFieldOptionValue(t,r,o,s,A)),selected:n.EPDFForm_IsFieldOptionSelected(t,r,o)});return a}function tt(e,t,r,n,i=new vi){let{fn:a}=e,o=a.EPDFForm_GetFieldObjNum(t,r),s=fs(e,(y,x)=>a.EPDFForm_GetFieldName(t,r,y,x)),A=a.EPDFForm_GetFieldFlags(t,r),d=km[a.EPDFForm_GetFieldFamily(t,r)]??"unknown",p=Iv(e,t,r,!1),m=Iv(e,t,r,!0),F=Ux(e,t,r,n,i),k={ref:o>0?{kind:"objectNumber",objectNumber:o}:{kind:"fqn",name:s},name:s,kind:d,origin:a.EPDFForm_GetFieldOrigin(t,r)===1?"recovered":"acroform",readOnly:(A&Rx)!==0,required:(A&Tx)!==0,noExport:(A&Mx)!==0,alternateName:yv(e,(y,x)=>a.EPDFForm_GetFieldAlternateName(t,r,y,x)),mappingName:yv(e,(y,x)=>a.EPDFForm_GetFieldMappingName(t,r,y,x)),valueEntry:p,defaultValueEntry:m,...F?{actions:F}:{},groupId:hm(e,t,r),...Sx(e,t,r),widgets:[]},P=Al(p),B=Al(m);switch(d){case"text":{let y=a.EPDFForm_GetFieldMaxLen(t,r);return{...k,kind:d,value:P,defaultValue:B,maxLength:y>0?y:null,multiline:(A&Lx)!==0,password:(A&Nx)!==0,comb:(A&Yx)!==0,widgets:ts(e,t,r)}}case"checkbox":{let y=Gv(e,t,r);return{...k,kind:d,checked:y.some(x=>x.checked),exportValue:y[0]?.exportValue??"Yes",widgets:y}}case"radio":{let y=Gv(e,t,r);return{...k,kind:d,value:y.find(x=>x.checked)?.exportValue??"Off",radiosInUnison:(A&Xx)!==0,noToggleToOff:(A&jx)!==0,widgets:y}}case"combobox":return{...k,kind:d,value:P,defaultValue:B,edit:(A&Kx)!==0,options:Cv(e,t,r),widgets:ts(e,t,r)};case"listbox":{let y=Cv(e,t,r);return{...k,kind:d,selectedValues:y.filter(x=>x.selected).map(x=>x.value),defaultValue:Wx(m),multiSelect:(A&Vx)!==0,options:y,topIndex:SA(a.EPDFForm_GetFieldTopIndex(t,r),y),widgets:ts(e,t,r)}}case"pushbutton":case"signature":return{...k,kind:d,widgets:ts(e,t,r)};default:return{...k,kind:"unknown",rawValue:p.kind==="array"?p.values.join(","):Al(p),widgets:ts(e,t,r)}}}function w3(e,t,r){let{fn:n}=e,i=n.EPDFForm_CountFields(t),a=[],o=new vi;for(let d=0;d=0&&pn?i.EPDFForm_GetFieldDefaultValueAt(t,r,A,d,p):i.EPDFForm_GetFieldValueAt(t,r,A,d,p)));return a===1?{kind:"scalar",value:s[0]??""}:{kind:"array",values:s}}function Al(e){return e.kind==="scalar"?e.value:e.kind==="array"?e.values[0]??"":""}function Wx(e){return e.kind==="scalar"?[e.value]:e.kind==="array"?[...e.values]:[]}function Ux(e,t,r,n,i){let{fn:a,mem:o}=e,s=[["keystroke",0],["format",1],["validate",2],["calculate",3]],A={};for(let[d,p]of s){let m=fr(a,o,n,a.EPDFForm_GetFieldActionModel(t,r,p),i);m&&(A[d]=m)}return Object.keys(A).length>0?A:void 0}function Dm(e){return e>0?pe(e):null}var xl={check:"4",cross:"8",star:"H",circle:"l",square:"n",diamond:"u"},qx=e=>xl[e];function zx(e){return Object.keys(xl).find(t=>e?.[0]===xl[t])??null}var Zx=0;function Jx(e,t,r){if(r<=0)return 0;let n=Ee(e,t),i=e.fn.EPDFForm_GetFieldIndexForWidget(n,r);return i<0?0:e.fn.EPDFForm_GetFieldObjNum(n,i)}function gs(e,t,r){for(let n of r){if(n.subtype!=="widget")continue;if(n.ref.kind!=="objectNumber"){n.caption=null,n.hasMark=!1;continue}let i=Ee(e,t),a=e.fn.EPDFForm_GetFieldIndexForWidget(i,n.ref.objectNumber),o=a<0?0:e.fn.EPDFForm_GetFieldObjNum(i,a);if(o<=0){n.field=null,n.fieldKind="unknown",n.caption=null,n.hasMark=!1;continue}n.field={kind:"objectNumber",objectNumber:o},n.fieldKind=km[e.fn.EPDFForm_GetFieldFamily(i,a)]??"unknown",(n.fieldKind==="checkbox"||n.fieldKind==="radio")&&(n.checkStyle=zx(n.caption??null)),n.fieldKind!=="pushbutton"&&(n.caption=null),n.hasMark=n.fieldKind==="signature"&&(n.hasMark||e.fn.EPDFForm_GetFieldValueKind(i,a)!==Zx)}}function Bm(e){return e===L.WIDGET?"widgets":"annotations"}function $x(e){switch(e){case"normal":return 0;case"multiply":return 1;case"screen":return 2;case"overlay":return 3;case"darken":return 4;case"lighten":return 5;case"color-dodge":return 6;case"color-burn":return 7;case"hard-light":return 8;case"soft-light":return 9;case"difference":return 10;case"exclusion":return 11;case"hue":return 12;case"saturation":return 13;case"color":return 14;case"luminosity":return 15}}function b3(e){switch(e){case 1:return"multiply";case 2:return"screen";case 3:return"overlay";case 4:return"darken";case 5:return"lighten";case 6:return"color-dodge";case 7:return"color-burn";case 8:return"hard-light";case 9:return"soft-light";case 10:return"difference";case 11:return"exclusion";case 12:return"hue";case 13:return"saturation";case 14:return"color";case 15:return"luminosity";default:return"normal"}}var eH=0;function f3(e,t,r,n,i,a,o=new vi){let s=pe(i),A=ks(e,t,n),d=jI(e,n),p=Yn(e,t,n,"Contents"),m=p===null?null:tr(p,`\n`),F=Yn(e,t,n,"Subj"),k=Yn(e,t,n,"T"),P=Yn(e,t,n,"CreationDate"),B=Yn(e,t,n,"M"),y=b3(e.EPDFAnnot_GetBlendMode(n)),x=_S(e,t,n),I=qS(e,t,r,n,i),S=Jh(e,t,r,n,"Popup",i),G=tH(e,t,r,n,o);return{ref:Sa(e,t,r,s,n,a),page:s,hasAppearance:e.EPDFAnnot_HasAppearanceStream(n,eH),appearanceState:ph(e,t,n),structurePosition:UI(e,t,n),nm:Yn(e,t,n,"NM"),...d,rect:A,contents:m,subject:F,author:k,createdAt:P?Xn(P):null,modifiedAt:B?Xn(B):null,blendMode:y,reply:I.inReplyTo?{to:I.inReplyTo,type:I.replyType??"reply"}:null,popup:S,groupId:x?.groupId??null,userId:x?.userId??null,createdBy:x?.createdBy??null,modifiedBy:x?.modifiedBy??null,importedBy:x?.importedBy??null,actions:G??null}}function tH(e,t,r,n,i){let a=[["activate",0],["cursorEnter",1],["cursorExit",2],["mouseDown",3],["mouseUp",4],["focus",5],["blur",6],["pageOpen",7],["pageClose",8],["pageVisible",9],["pageInvisible",10]],o={};for(let[s,A]of a){let d=fr(e,t,r,e.EPDFAnnot_GetActionModel(n,A),i);d&&(o[s]=d)}return Object.keys(o).length>0?o:void 0}function g3(e){let{runtime:t,session:r,pageObjectNumber:n,count:i,getAnnotPtrAt:a,signal:o,fonts:s,family:A}=e,{fn:d,mem:p}=t,m=[],F=new vi,k=ms(r,s);for(let P=0;PA?V(this.runtime.mem,16,B=>(OP(this.runtime.mem,B,A.box),p.EPDF_RenderAnnotBitmapUnrotated(k,e,t,r,n,Uc(A.rotation),B,P,16))):p.EPDF_RenderAnnotBitmap(k,e,t,r,n,P,16)})}},Ol=Hl[0];function aH(e,t,r){return V(t,16,n=>e.EPDFAnnot_GetDrawingRect(r,Ol.modeInt,n)?Ce(Gn(t,n)):null)}function oH(e){let t=au(e);return t?Hl.filter(r=>t.includes(r.name)):Hl}var sH=8,F3=[{draw:"",label:null}];function AH(e,t,r,n){let i=qI(e,t,r,n);return i.length===0?F3:i.length>sH?[{draw:"",label:ph(e,t,r)}]:i.map(a=>({draw:a,label:a}))}function cH(e,t,r){if(e===void 0||e.kind==="scale")return dH(e?.scale);let n=r===90||r===270?t.height:t.width;if(!Number.isFinite(e.width)||e.width<=0||!(n>0))throw new g(f.InvalidArg,"render viewport width must be positive");return e.width/n}function dH(e){return e===void 0||!Number.isFinite(e)||e<=0?1:e}var rd=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}list(e,t,r){O(t),e===void 0&&(this.session.ensureFullPageRegistry(),e=this.session.allRecords().map(i=>i.pageObjectNumber));let n=[];for(let i of e)O(t),n.push(this.listOne(i,t,r));return ep(n)}listOne(e,t,r){O(t);let{fn:n}=this.runtime,i=this.session.requireDocPtr(),a=this.session.recordByObjectNumber(e),o=n.EPDFPage_GetAnnotCountRaw(i,a.pageIndex);if(o<0)throw new g(f.Unknown,`EPDFPage_GetAnnotCountRaw returned ${o} for page ${e}`);return g3({runtime:this.runtime,session:this.session,pageObjectNumber:e,count:o,getAnnotPtrAt:s=>n.EPDFPage_GetAnnotRaw(i,a.pageIndex,s),signal:t,...this.fonts?{fonts:this.fonts}:{},...r?{family:r}:{}})}},uH=1,pH=8;function Em(e,t,r,n){return he(t,[32,pH],([i,a])=>{if(t.poke(a,"i32",32,0),t.poke(a,"i32",0,4),!e.EPDF_DigestBuffer(r,n,uH,i,a))throw new g(f.Unknown,"EPDF_DigestBuffer returned false");let o="";for(let s of t.readBytes(i,32))o+=s.toString(16).padStart(2,"0");return o})}function _m(e,t,r){let n=t.alloc(Math.max(1,r.byteLength));try{return t.writeBytes(n,r),Em(e,t,n,r.byteLength)}finally{t.free(n)}}var lH=2,mH=8,wH=14400;function bH(e,t,r,n,i,a){let o=n.hashes.get(i),s=o===void 0?void 0:n.bySource.get(o);if(s!==void 0)return s;let A=t.alloc(i.byteLength);try{t.writeBytes(A,new Uint8Array(i));let d=o??Em(e,t,A,i.byteLength);n.hashes.set(i,d);let p=n.bySource.get(d);if(p!==void 0)return p;let m=gH(e,t,A,i.byteLength,a,F=>e.EPDFDoc_CanonicalDrawing(F,0));if(!m)throw new g(f.Unknown,"EPDFDoc_CanonicalDrawing returned NULL");try{let F=v3(e,t,m),k=fH(e,t,r,n),P=k.get(F);if(P===void 0){if(P=e.EPDFDoc_ImportDrawing(r,m),!P)throw new g(f.Unknown,"EPDFDoc_ImportDrawing returned 0");k.set(F,P)}return n.bySource.set(d,P),P}finally{e.FPDF_CloseDocument(m)}}finally{t.free(A)}}function fH(e,t,r,n){if(n.byContent)return n.byContent;let i=new Map,a=e.EPDFDoc_GetStampDrawings(r,Y,0),o=a>0?V(t,4*a,s=>(e.EPDFDoc_GetStampDrawings(r,s,a),Array.from({length:a},(A,d)=>Number(t.peek(s,"i32",4*d))>>>0))):[];for(let s of o){let A=e.EPDFDoc_ExportDrawing(r,s);if(A)try{let d=v3(e,t,A);i.has(d)||i.set(d,s)}finally{e.FPDF_CloseDocument(A)}}return n.byContent=i,i}function v3(e,t,r){return V(t,mH,n=>{t.poke(n,"i32",0,0),t.poke(n,"i32",0,4);let i=e.EPDF_SaveDocumentToOwnedBuffer(r,lH,n),a=Number(t.peek(n,"i32",0));if(!i||a<=0)throw i&&e.EPDF_FreeBuffer(i),new g(f.Unknown,"failed to save a stamp drawing");try{return Em(e,t,i,a)}finally{e.EPDF_FreeBuffer(i)}})}function P3(e,t,r){let n=t.alloc(r.byteLength);try{t.writeBytes(n,new Uint8Array(r));let i=e.FPDF_LoadMemDocument(n,r.byteLength,"");if(!i)return null;try{return e.FPDF_GetPageCount(i)}finally{e.FPDF_CloseDocument(i)}}finally{t.free(n)}}function gH(e,t,r,n,i,a){if(i.mimeType==="application/pdf"){let o=e.FPDF_LoadMemDocument(r,n,"");if(!o)throw new g(f.MalformedPdf,"the stamp\'s appearance PDF could not be opened");try{return a(o)}finally{e.FPDF_CloseDocument(o)}}return FH(e,t,r,n,i,a)}function FH(e,t,r,n,i,a){if(!("width"in i))throw new g(f.InvalidArg,"the stamp image has no size");let o=Math.min(1,wH/Math.max(i.width,i.height)),s=i.width*o,A=i.height*o,d=e.FPDF_CreateNewDocument();if(!d)throw new g(f.Unknown,"FPDF_CreateNewDocument returned NULL");try{let p=e.FPDFPage_New(d,0,s,A);if(!p)throw new g(f.Unknown,"FPDFPage_New returned NULL");try{let m=e.FPDFPageObj_NewImageObj(d);if(!m)throw new g(f.Unknown,"FPDFPageObj_NewImageObj returned NULL");let F=!1;try{if(!(i.mimeType==="image/png"?e.EPDFImageObj_SetPng(Y,0,m,r,n):e.EPDFImageObj_SetJpeg(Y,0,m,r,n)))throw new g(f.InvalidArg,`${i.mimeType==="image/png"?"EPDFImageObj_SetPng":"EPDFImageObj_SetJpeg"} rejected the image data`);vH(e,t,m,s,A),e.FPDFPage_InsertObject(p,m),F=!0}finally{F||e.FPDFPageObj_Destroy(m)}if(!e.FPDFPage_GenerateContent(p))throw new g(f.Unknown,"FPDFPage_GenerateContent returned false")}finally{e.FPDF_ClosePage(p)}return a(d)}finally{e.FPDF_CloseDocument(d)}}function vH(e,t,r,n,i){V(t,24,a=>{if(t.poke(a,"f32",n,0),t.poke(a,"f32",0,4),t.poke(a,"f32",0,8),t.poke(a,"f32",i,12),t.poke(a,"f32",0,16),t.poke(a,"f32",0,20),!e.FPDFPageObj_SetMatrix(r,a))throw new g(f.Unknown,"FPDFPageObj_SetMatrix returned false")})}function qe(e,t,r,n=Ne.Color){let{r:i,g:a,b:o}=Qn(r);if(!e.EPDFAnnot_SetColor(t,n,i,a,o))throw new g(f.Unknown,"EPDFAnnot_SetColor returned false")}function Es(e,t,r){e.EPDFAnnot_ClearColor(t,r)}function PH(e,t,r=Ne.Color){if(!e.EPDFAnnot_SetNoColor(t,r))throw new g(f.Unknown,"EPDFAnnot_SetNoColor returned false")}function nt(e,t,r){if(!e.EPDFAnnot_SetOpacity(t,r))throw new g(f.Unknown,"EPDFAnnot_SetOpacity returned false")}function ym(e,t,r){let n=NI(e.FPDFAnnot_GetFlags(t),r);if(!e.FPDFAnnot_SetFlags(t,n))throw new g(f.Unknown,"FPDFAnnot_SetFlags returned false")}function rt(e,t,r,n){let i=t.alloc(16);try{if(t.poke(i,"f32",n.left,0),t.poke(i,"f32",n.top,4),t.poke(i,"f32",n.right,8),t.poke(i,"f32",n.bottom,12),!e.EPDFAnnot_SetRect(r,i))throw new g(f.Unknown,"EPDFAnnot_SetRect returned false")}finally{t.free(i)}}function gr(e,t,r,n,i){let a=t.writeU16String(i);try{e.FPDFAnnot_SetStringValue(r,n,a)}finally{t.free(a)}}function Ca(e,t,r,n,i){if(i===null){e.EPDFAnnot_RemoveKey(r,n);return}gr(e,t,r,n,i)}function h3(e,t,r,n){if(!e.EPDFAnnot_SetBorderStyle(t,r,n))throw new g(f.Unknown,"EPDFAnnot_SetBorderStyle returned false")}function Gm(e,t,r,n){let i=t.alloc(n.length*4);try{for(let a=0;aTe({x:i.x+r,y:i.y+n},{x:t[a].x,y:t[a].y}))?{dx:r,dy:n}:void 0}function Om(e,t,r,{dx:n,dy:i}){let a=Ce(ks(e,t,r));rt(e,t,r,{left:a.left+n,bottom:a.bottom+i,right:a.right+n,top:a.top+i})}var Qm="Rotation",Rm="UnrotatedRect";function x3(e,t){e.EPDFAnnot_HasEmbedMetadata(t)||e.EPDFAnnot_SetEmbedMetadataNumber(t,"SchemaVersion",1)}function H3(e,t,r){x3(e,t),e.EPDFAnnot_SetEmbedMetadataNumber(t,Qm,Uc(r))}var BH=new Set([90,180,270]);function EH(e,t,r){let n=e.FPDFAnnot_GetSubtype(t);r!==null&&(n===L.STAMP||n===L.FREETEXT&&BH.has(r))?e.EPDFAnnot_SetRotate(t,Uc(r)):(n===L.STAMP||n===L.FREETEXT)&&e.EPDFAnnot_SetRotate(t,0)}function O3(e,t,r,n){x3(e,r);let i=t.alloc(16);try{t.poke(i,"f32",n.left,0),t.poke(i,"f32",n.top,4),t.poke(i,"f32",n.right,8),t.poke(i,"f32",n.bottom,12),e.EPDFAnnot_SetEmbedMetadataRect(r,Rm,i)}finally{t.free(i)}}function Tm(e,t,r,n){n?(H3(e,r,n.rotation),O3(e,t,r,n.box)):(e.EPDFAnnot_ClearEmbedMetadataKey(r,Qm),e.EPDFAnnot_ClearEmbedMetadataKey(r,Rm)),EH(e,r,n?.rotation??null)}function _H(e,t,r){if(!sS(e,r))return;let n=qc(e,t,r);oS(n,aS(e,t,r))||(n?(H3(e,r,n.rotation),O3(e,t,r,n.box)):(e.EPDFAnnot_ClearEmbedMetadataKey(r,Qm),e.EPDFAnnot_ClearEmbedMetadataKey(r,Rm)))}var Q3=e=>e||null,Sv=e=>(e%360+360)%360;function yH(e,t){return e===null||t===null?e===t:Te(Sv(e),Sv(t))}function Ia(e,t,r,n){let i=Ce(n.box),a=Q3(n.rotation);Tm(e,t,r,a===null?null:{rotation:a,box:i}),rt(e,t,r,a===null?i:wn(i,a)),hH(e,r)}function ad(e,t,r,n){if(n.box===void 0&&n.rotation===void 0)return!1;let i=Ha(e,t,r),a=Ce(n.box??i.box),o=n.rotation===void 0?i.rotation:Q3(n.rotation),s=yH(o,i.rotation);if(s&&Te(a,i.box))return!1;let A=a.right-a.left,d=a.top-a.bottom;return s&&Te(A,i.box.right-i.box.left)&&Te(d,i.box.top-i.box.bottom)?(Om(e,t,r,{dx:a.left-i.box.left,dy:a.bottom-i.box.bottom}),o!==null&&Tm(e,t,r,{rotation:o,box:a}),!0):(Ia(e,t,r,{box:a,rotation:o}),!0)}var xv=ut.caret;function GH(e,t,r,n){At(e,t,r,n),Ia(e,t,r,{box:n.box,rotation:n.rotation??null}),qe(e,r,n.color??xv.color),nt(e,r,n.opacity??xv.opacity),n.intent!=null&&Ra(e,r,Fh(n.intent))}function CH(e,t,r,n){ct(e,t,r,n),ad(e,t,r,n),n.color!==void 0&&qe(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),n.intent!==void 0&&xm(e,r,n.intent===null?null:Fh(n.intent))}function R3(e){return e==="caret"}var cl=ut["file-attachment"];function IH(e,t){if(L3(t),Lm(t),!e.file?.name)throw new g(f.InvalidArg,"a file attachment needs the file\'s name: give file.name, or the bytes as a File",{details:{field:"file.name"}})}function SH(e,t,r,n,i){At(e,t,r,n),rt(e,t,r,n.rect),qe(e,r,n.color??cl.color),nt(e,r,n.opacity??cl.opacity),T3(e,r,n.icon??cl.icon);let a=n.file;sm(e,t,M3(e,t,r,a.name),Lm(i),QH(a),{bytes:L3(i)})}function xH(e,t,r,n,i){ct(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.color!==void 0&&qe(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),n.icon!==void 0&&T3(e,r,n.icon),HH(e,t,r,n.file,i)}function Mm(e){return e==="file-attachment"}function HH(e,t,r,n,i){let a=i?.resources?.file;if(n===void 0&&a===void 0)return;let o=e.EPDFAnnot_GetFileAttachmentForWrite(r);if(n===null){if(o)throw new g(f.InvalidArg,"a file attachment\'s file can\'t be removed");if(a===void 0)return}let s=o?_a(e,t,o):null;if(!o){if(!n||a===void 0)throw new g(f.InvalidArg,"the file attachment has no file: send the file\'s name as `file` and its bytes as the `file` resource");o=M3(e,t,r,n.name)}let A=n?n.mimeType??null:s?.mimeType??null;if(a!==void 0?sm(e,t,o,Lm(i),{mimeType:A},{bytes:a}):A!==(s?.mimeType??null)&&OH(e,o,A),!!n){if(s!==null&&n.name!==s.name&&!Kt(t,n.name,d=>e.EPDFAttachment_SetName(o,d)))throw new g(f.Unknown,"EPDFAttachment_SetName returned false");if((n.description??null)!==(s?.description??null)&&!Kt(t,n.description??"",d=>e.EPDFAttachment_SetDescription(o,d)))throw new g(f.Unknown,"EPDFAttachment_SetDescription returned false")}}function OH(e,t,r){if(!e.EPDFAttachment_SetSubtype(t,r??""))throw new g(f.InvalidArg,"the file attachment\'s file has no embedded data to give a MIME type")}function T3(e,t,r){if(!e.EPDFAnnot_SetName(t,Bh[r]))throw new g(f.Unknown,"EPDFAnnot_SetName returned false")}function M3(e,t,r,n){let i=t.writeU16String(n),a;try{a=e.FPDFAnnot_AddFileAttachment(r,i)}finally{t.free(i)}if(!a)throw new g(f.Unknown,"FPDFAnnot_AddFileAttachment returned NULL");return a}function QH(e){return{...e.mimeType!=null?{mimeType:e.mimeType}:{},...e.description!=null?{description:e.description}:{}}}function L3(e){let t=e?.resources?.file;if(t===void 0)throw new g(f.InvalidArg,"creating a file-attachment annotation needs its \'file\' resource");return t}function Lm(e){if(e?.docPtr===void 0)throw new g(f.Unknown,"file-attachment writer requires docPtr on the write context");return e.docPtr}function _s(e,t,r,n,i,a){if(kS(r)){Sm(e,t,hS(r),n,i);return}if(a?.resolveRegisteredFontId&&a.describeRegisteredFont?.(r)){kH(e,t,a.resolveRegisteredFontId(r),n,i);return}let o=a?.resolveDocumentFont?.(r);if(o){if(!o.choosable)throw new g(f.InvalidArg,`\'${r}\' can\'t be chosen for new text (${o.restrictions.join(", ")})`,{details:{field:"fontFamily",restrictions:o.restrictions}});DH(e,t,o.objectNumber,n,i);return}throw new g(f.InvalidArg,`fontFamily \'${r}\' is not a standard font, one of the engine\'s fonts or one of the document\'s`,{details:{field:"fontFamily"}})}function N3(e,t,r,n){let i=ut[n.subtype];j3(e,r,n.color===void 0?i.color:n.color),nt(e,r,n.opacity??i.opacity),K3(e,t,r,n)}function j3(e,t,r){r===null?PH(e,t):qe(e,t,r)}function K3(e,t,r,n){let i=ut[n.subtype];h3(e,r,dm(n.borderStyle??i.borderStyle),n.strokeWidth??i.strokeWidth),n.dashArray!=null&&n.dashArray.length>0&&Gm(e,t,r,n.dashArray)}function V3(e,t,r,n){n.color!==void 0&&j3(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),Y3(e,t,r,n)}function Y3(e,t,r,n){if(n.borderStyle!==void 0||n.strokeWidth!==void 0){let i=Xc(e,t,r),a=n.borderStyle??um(i.styleCode),o=n.strokeWidth??i.width;h3(e,r,dm(a),o)}n.dashArray===null||n.dashArray?.length===0?k3(e,r):n.dashArray!==void 0&&Gm(e,t,r,n.dashArray)}function od(e,t,r,n){let i=n.interiorColor??null;i===null?Es(e,r,Ne.InteriorColor):qe(e,r,i,Ne.InteriorColor),N3(e,t,r,n)}function sd(e,t,r,n){n.interiorColor!==void 0&&(n.interiorColor===null?Es(e,r,Ne.InteriorColor):qe(e,r,n.interiorColor,Ne.InteriorColor)),V3(e,t,r,n)}var $t=ut["free-text"];function X3(e,t,r,n,i){let a=zP(r,{describe:n?.describeFont,programOf:n?.documentProgramOf,bodyProgram:i===void 0?void 0:n?.documentProgramOf?.(i)});if(!e.EPDFAnnot_SetRichTextJSON(t,a))throw new g(f.InvalidArg,"rich text could not be written (empty rect, or a font resource could not be built)")}function W3(e,t,r){if(!e.EPDFAnnot_SetEmbedMetadataNumber(t,"VerticalAlignment",BS(r)))throw new g(f.Unknown,"EPDFAnnot_SetEmbedMetadataNumber returned false")}function RH(e,t,r,n,i){At(e,t,r,n),Ia(e,t,r,{box:n.box,rotation:n.rotation??null});let a=n.interiorColor??null;a===null?Es(e,r,Ne.Color):qe(e,r,a,Ne.Color),nt(e,r,n.opacity??$t.opacity),K3(e,t,r,n),n.cloudyIntensity!=null&&Oa(e,r,n.cloudyIntensity),_s(e,r,n.fontFamily??$t.fontFamily,n.fontSize??$t.fontSize,n.color??$t.color,i);let o=n.richText;id(e,r,Ds(o.body?.align??$t.textAlign)),Ra(e,r,_h(n.intent??$t.intent)),n.verticalAlign!==void 0&&n.verticalAlign!==$t.verticalAlign&&W3(e,r,n.verticalAlign),n.calloutLine!=null&&y3(e,t,r,n.calloutLine),n.lineEnding!=null&&Qa(e,r,{start:"none",end:n.lineEnding}),X3(e,r,o,i,n.fontFamily??$t.fontFamily)}function TH(e,t,r,n,i){if(ct(e,t,r,n),ad(e,t,r,n),n.interiorColor!==void 0&&(n.interiorColor===null?Es(e,r,Ne.Color):qe(e,r,n.interiorColor,Ne.Color)),n.opacity!==void 0&&nt(e,r,n.opacity),Y3(e,t,r,n),n.cloudyIntensity!==void 0&&(n.cloudyIntensity===null?Cm(e,r):Oa(e,r,n.cloudyIntensity)),n.color!==void 0){let a=xa(e,t,r);a?Sm(e,r,-1,a.fontSize>0?a.fontSize:$t.fontSize,n.color):_s(e,r,$t.fontFamily,$t.fontSize,n.color,i)}n.richText!==void 0&&X3(e,r,n.richText,i,n.fontFamily),n.textAlign!==void 0&&id(e,r,Ds(n.textAlign)),n.intent!==void 0&&Ra(e,r,_h(n.intent)),n.verticalAlign!==void 0&&W3(e,r,n.verticalAlign),n.calloutLine===null?e.EPDFAnnot_RemoveKey(r,"CL"):n.calloutLine!==void 0&&y3(e,t,r,n.calloutLine),n.lineEnding===null?e.EPDFAnnot_RemoveKey(r,"LE"):n.lineEnding!==void 0&&Qa(e,r,{start:"none",end:n.lineEnding})}function U3(e){return e==="free-text"}var q3=e=>e||null,Hv=e=>(e%360+360)%360;function z3(e,t,r,n,i){let a=n.flat(),o=i===null||a.length===0?null:Js(a,i);return Tm(e,t,r,o?{rotation:o.degrees,box:er(a)}:null),{drawn:n.map(s=>s.map(A=>o?xr(A,o):A)),turn:o}}function Ad(e,t,r,n,i){let a=z3(e,t,r,n,q3(i));return rt(e,t,r,er(a.drawn.flat())),a}function Nm(e,t,r){let n=SS(e,t,r),i=Jc(e,t,r,n);return{drawn:n,turn:i,upright:n.map(a=>a.map(o=>fi(o,i)))}}function jm(e,t,r,n,i,a){if(i===void 0&&a===void 0)return;let o=n.turn?.degrees??null,s=a===void 0?o:q3(a),A=Te(Hv(s??0),Hv(o??0));if(i===void 0&&A)return;let d=z3(e,t,r,i??n.upright,s),p=S3(n.drawn.flat(),d.drawn.flat());return p&&Om(e,t,r,p),d}function MH(e,t,r,n){At(e,t,r,n),n.intent!=null&&Ra(e,r,jh(n.intent)),N3(e,t,r,n),B3(e,t,r,Ad(e,t,r,n.inkList,n.rotation).drawn)}function LH(e,t,r,n){ct(e,t,r,n),n.intent!==void 0&&xm(e,r,n.intent===null?null:jh(n.intent)),V3(e,t,r,n);let i=jm(e,t,r,Nm(e,t,r),n.inkList,n.rotation);i&&B3(e,t,r,i.drawn)}function Z3(e){return e==="ink"}var NH=1;function ys(e,t,r,n){if(n.intent!==void 0&&(n.intent===null?e.EPDFAnnot_RemoveKey(r,"IT"):Le(e.EPDFAnnot_SetIntent(r,RS(n.intent)))),n.measure!==void 0)if(n.measure===null)Le(e.EPDFAnnot_RemoveMeasure(r));else{let i=e.EPDFAnnot_GetMeasure(r);i&&e.EPDFMeasure_GetSubtype(i)!==NH&&Le(e.EPDFAnnot_RemoveMeasure(r)),Xh(e,t,e.EPDFAnnot_AddMeasure(r),n.measure)}if(n.subtype==="line"){if(n.leader!==void 0&&Le(e.EPDFAnnot_SetLineLeader(r,n.leader?.length??0,n.leader?.extension??0,n.leader?.offset??0)),n.captionEnabled!==void 0){let i=n.captionOffset??null;Le(Cl(t,i?{x:i.along,y:i.perpendicular}:void 0,a=>e.EPDFAnnot_SetLineCaption(r,n.captionEnabled??!1,n.captionPosition==="top"?1:0,a)))}}else if(n.captionEnabled!==void 0)if(n.captionEnabled===null)e.EPDFAnnot_ClearEmbedMetadataKey(r,"MeasurementCaption"),e.EPDFAnnot_ClearEmbedMetadataKey(r,"MeasurementCaptionCenter");else{let i=n.captionEnabled;Le(Cl(t,("captionCenter"in n?n.captionCenter:null)??void 0,a=>e.EPDFAnnot_SetShapeCaption(r,i,a)))}}function jH(e,t,r,n){At(e,t,r,n),ys(e,t,r,n),od(e,t,r,n);let{start:i,end:a}=n.linePoints,[o]=Ad(e,t,r,[[i,a]],n.rotation).drawn;D3(e,t,r,{start:o[0],end:o[1]}),Qa(e,r,n.lineEndings??ut.line.lineEndings)}function KH(e,t,r,n){ct(e,t,r,n),ys(e,t,r,n),sd(e,t,r,n);let i=n.linePoints&&[[n.linePoints.start,n.linePoints.end]],a=jm(e,t,r,Nm(e,t,r),i,n.rotation);if(a){let[o]=a.drawn;D3(e,t,r,{start:o[0],end:o[1]})}n.lineEndings!==void 0&&Qa(e,r,n.lineEndings)}function J3(e){return e==="line"}function VH(e,t,r,n,i){if(At(e,t,r,n),rt(e,t,r,n.rect),!e.FPDFAnnot_SetBorder(r,0,0,0))throw new g(f.Unknown,"FPDFAnnot_SetBorder returned false");n.target&&ek(e,t,r,n.target,i)}function YH(e,t,r,n,i){if(ct(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.target===null)XH(e,r);else if(n.target!==void 0){if(n.target.kind!=="goto"&&n.target.kind!=="uri"&&n.target.kind!=="named")throw new g(f.InvalidArg,`a \'${n.target.kind}\' link target can\'t be written`,{details:{field:"target"}});ek(e,t,r,n.target,i)}}function XH(e,t){if(!e.EPDFAnnot_RemoveAction(t)||!e.EPDFAnnot_RemoveDest(t))throw new g(f.Unknown,"failed to clear link target")}function $3(e){return e==="link"}function ek(e,t,r,n,i){let a=i?.docPtr;if(!a)throw new g(f.InvalidArg,"writing a link target requires a document pointer on the write context");let o=zh(e,t,a,n);if(!e.EPDFAnnot_SetAction(r,o))throw new g(f.Unknown,"EPDFAnnot_SetAction failed for link")}function WH(e,t,r,n){At(e,t,r,n),rt(e,t,r,n.rect),n.open!==void 0&&tk(e,r,n.open)}function UH(e,t,r,n){ct(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.open!==void 0&&tk(e,r,n.open)}function tk(e,t,r){if(!e.EPDFAnnot_SetBooleanValue(t,"Open",r))throw new g(f.Unknown,"EPDFAnnot_SetBooleanValue returned false")}function nk(e){return e==="popup"}function qH(e,t,r,n){At(e,t,r,n);let i=n.quadPoints;Km(e,t,r,i),cd(e,t,r,i);let a=ut[n.subtype];qe(e,r,n.color??a.color),nt(e,r,n.opacity??a.opacity),n.subtype==="strikeout"&&n.intent!=null&&Ra(e,r,vh(n.intent))}function zH(e,t,r,n){if(ct(e,t,r,n),n.color!==void 0&&qe(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),n.subtype==="strikeout"&&n.intent!==void 0&&xm(e,r,n.intent===null?null:vh(n.intent)),n.quadPoints!==void 0){let i=S3(rm(e,t,r).flatMap(Ov),n.quadPoints.flatMap(Ov));ik(e,t,r,n.quadPoints),i?Om(e,t,r,i):cd(e,t,r,n.quadPoints)}}var Ov=e=>[e.upperLeft,e.upperRight,e.lowerLeft,e.lowerRight];function rk(e){return e==="highlight"||e==="underline"||e==="squiggly"||e==="strikeout"}function Km(e,t,r,n){let i=t.alloc(32);try{for(let a of n)if(ZH(t,i,a),!e.FPDFAnnot_AppendAttachmentPoints(r,i))throw new g(f.Unknown,"FPDFAnnot_AppendAttachmentPoints returned false")}finally{t.free(i)}}function ik(e,t,r,n){e.EPDFAnnot_RemoveKey(r,"QuadPoints"),Km(e,t,r,n)}function ZH(e,t,r){e.poke(t,"f32",r.upperLeft.x,0),e.poke(t,"f32",r.upperLeft.y,4),e.poke(t,"f32",r.upperRight.x,8),e.poke(t,"f32",r.upperRight.y,12),e.poke(t,"f32",r.lowerLeft.x,16),e.poke(t,"f32",r.lowerLeft.y,20),e.poke(t,"f32",r.lowerRight.x,24),e.poke(t,"f32",r.lowerRight.y,28)}function cd(e,t,r,n){let i=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,s=Number.NEGATIVE_INFINITY;for(let A of n)for(let d of[A.upperLeft,A.upperRight,A.lowerLeft,A.lowerRight])d.xo&&(o=d.x),d.ys&&(s=d.y);rt(e,t,r,{left:i,top:s,right:o,bottom:a})}var wr=ut.redact;function ak(e){return e.overlayText!==void 0&&e.overlayText!==null||e.fontFamily!==void 0||e.fontSize!==void 0||e.fontColor!==void 0}function JH(e){if(e.rect===void 0&&(e.quadPoints??[]).length===0)throw new g(f.InvalidArg,"redact create needs a rect or at least one of quadPoints",{details:{field:"rect"}})}function $H(e,t,r,n,i){At(e,t,r,n);let a=n.quadPoints??[];a.length>0&&Km(e,t,r,a),n.rect?rt(e,t,r,n.rect):cd(e,t,r,a),qe(e,r,n.color??wr.color,Ne.Color),nt(e,r,n.opacity??wr.opacity);let o=n.interiorColor??null;o!==null&&qe(e,r,o,Ne.InteriorColor),n.overlayText!=null&&n.overlayText.length>0&&E3(e,t,r,n.overlayText),n.repeat&&_3(e,r,!0),ak(n)&&_s(e,r,n.fontFamily??wr.fontFamily,n.fontSize??wr.fontSize,n.fontColor??wr.fontColor,i),n.textAlign!==void 0&&id(e,r,Ds(n.textAlign))}function e4(e,t,r,n,i){if(ct(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.quadPoints!==void 0&&(ik(e,t,r,n.quadPoints),n.rect===void 0&&cd(e,t,r,n.quadPoints)),n.color!==void 0&&qe(e,r,n.color,Ne.Color),n.opacity!==void 0&&nt(e,r,n.opacity),n.interiorColor!==void 0&&(n.interiorColor===null?Es(e,r,Ne.InteriorColor):qe(e,r,n.interiorColor,Ne.InteriorColor)),n.overlayText!==void 0&&E3(e,t,r,n.overlayText??""),n.repeat!==void 0&&_3(e,r,n.repeat),ak(n)){let a=xa(e,t,r);_s(e,r,n.fontFamily??(a?Am(a.fontCode):wr.fontFamily),n.fontSize??a?.fontSize??wr.fontSize,n.fontColor??a?.color??wr.fontColor,i)}n.textAlign!==void 0&&id(e,r,Ds(n.textAlign))}function Vm(e){return e==="redact"}function t4(e,t,r,n){At(e,t,r,n),Ia(e,t,r,{box:n.box,rotation:n.rotation??null}),od(e,t,r,n),n.cloudyIntensity!=null&&n.cloudyIntensity>0&&Oa(e,r,n.cloudyIntensity)}function n4(e,t,r,n){ct(e,t,r,n),ad(e,t,r,n),sd(e,t,r,n),n.cloudyIntensity!==void 0&&(n.cloudyIntensity!==null&&n.cloudyIntensity>0?Oa(e,r,n.cloudyIntensity):Cm(e,r))}function ok(e){return e==="circle"||e==="square"}var dd={contain:0,cover:1,fill:2};function r4(e,t){e.name!=null&&Ak(e.name),e.fit!=null&&ck(e.fit),uk(t?.resources?.appearance,t)}function i4(e,t){e.name!==void 0&&e.name!==null&&Ak(e.name),e.fit!=null&&ck(e.fit);let r=t?.resources?.appearance;r!==void 0&&uk(r,t)}function a4(e,t,r,n,i){At(e,t,r,n),n.name!=null&&sk(e,r,n.name),n.opacity!==void 0&&nt(e,r,n.opacity);let a=n.fit===null?"fill":n.fit??ut.stamp.fit;pk(e,t,r,dk(i),Ym(i),a,{box:n.box,rotation:n.rotation??null}),n.fit!==null&&gm(e,t,r,a)}function o4(e,t,r,n,i){ct(e,t,r,n),n.name===null?e.EPDFAnnot_RemoveKey(r,"Name"):n.name!==void 0&&sk(e,r,n.name);let a=fm(e,t,r)??"fill",o=n.fit!==void 0?n.fit??"fill":a;n.fit!==void 0&&gm(e,t,r,n.fit);let s=i?.resources?.appearance;if(s!==void 0){n.opacity!==void 0&&nt(e,r,n.opacity);let d=Ha(e,t,r);pk(e,t,r,s,Ym(i),o,{box:n.box??d.box,rotation:n.rotation===void 0?d.rotation:n.rotation});return}let A=ad(e,t,r,n);n.opacity!==void 0?A4(e,r,o,n.opacity):(A||n.fit!==void 0)&&lk(e,r,o)}function ud(e){return e==="stamp"}function sk(e,t,r){if(!e.EPDFAnnot_SetName(t,r))throw new g(f.Unknown,"EPDFAnnot_SetName returned false")}function Ak(e){if(e.length===0)throw new g(f.InvalidArg,"stamp name must be non-empty")}function ck(e){if(dd[e]===void 0)throw new g(f.InvalidArg,`unknown stamp fit \'${String(e)}\'; expected contain, cover, or fill`)}function dk(e){let t=e?.resources?.appearance;if(!t)throw new g(f.InvalidArg,"creating a stamp annotation needs its \'appearance\' resource");return t}function uk(e,t){e||dk(t);let r=e instanceof ArrayBuffer?eo(e):null;if(!r)throw new g(f.InvalidArg,"the appearance resource must be PNG, JPEG or one-page PDF bytes");if(r.mimeType==="application/pdf"){let n=t?.pdfPageCount?.(e);if(n===null)throw new g(f.MalformedPdf,"the stamp\'s appearance PDF could not be opened");if(n!==void 0&&n!==1)throw new g(f.InvalidArg,`the appearance PDF has ${n} pages; a stamp takes a one-page PDF`)}Ym(t)}function Ym(e){if(e?.docPtr===void 0||!e.drawings)throw new g(f.Unknown,"stamp writer requires docPtr/drawings on the write context");return{docPtr:e.docPtr,drawings:e.drawings}}function pk(e,t,r,n,i,a,o){Ia(e,t,r,{box:o.box,rotation:null}),s4(e,t,r,n,i,a),o.rotation&&(Ia(e,t,r,o),lk(e,r,a))}function s4(e,t,r,n,i,a){let o=eo(n);if(!o)throw new g(f.Unknown,"stamp content preflight invariant broken");let s=bH(e,t,i.docPtr,i.drawings,n,o);if(!e.EPDFAnnot_SetStampDrawing(r,s,dd[a]))throw new g(f.Unknown,"EPDFAnnot_SetStampDrawing returned false")}function A4(e,t,r,n){if(!e.EPDFAnnot_SetStampOpacity(t,dd[r],n))throw new g(f.Unknown,"EPDFAnnot_SetStampOpacity returned false")}function lk(e,t,r){if(!e.EPDFAnnot_UpdateAppearanceToRect(t,dd[r]))throw new g(f.Unknown,"EPDFAnnot_UpdateAppearanceToRect returned false")}var dl=ut.text;function c4(e,t,r,n){At(e,t,r,n),rt(e,t,r,n.rect),qe(e,r,n.color??dl.color),nt(e,r,n.opacity??dl.opacity),bk(e,r,n.icon??dl.icon),n.open!==void 0&&mk(e,r,n.open),n.stateModel!=null&&gr(e,t,r,"StateModel",a3(n.stateModel)),n.state!=null&&gr(e,t,r,"State",o3(n.state))}function d4(e,t,r,n){ct(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.color!==void 0&&qe(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),n.icon!==void 0&&bk(e,r,n.icon),n.open!==void 0&&mk(e,r,n.open),n.stateModel!==void 0&&Ca(e,t,r,"StateModel",n.stateModel===null?null:a3(n.stateModel)),n.state!==void 0&&Ca(e,t,r,"State",n.state===null?null:o3(n.state))}function mk(e,t,r){if(!e.EPDFAnnot_SetBooleanValue(t,"Open",r))throw new g(f.Unknown,"EPDFAnnot_SetBooleanValue returned false")}function wk(e){return e==="text"}function bk(e,t,r){if(!e.EPDFAnnot_SetName(t,Dh[r]))throw new g(f.Unknown,"EPDFAnnot_SetName returned false")}var Ql=(e,t)=>t?xr(e,t):e;function fk(e,t){return e.captionCenter?{...e,captionCenter:Ql(e.captionCenter,t.turn)}:e}function u4(e,t,r,n,i,a){let o=a?a.turn:i.turn;if(n.captionCenter)return{...n,captionCenter:Ql(n.captionCenter,o)};if(!a||n.captionEnabled!==void 0)return n;let s=Wh(e,t,r);return s?.center?{...n,captionEnabled:s.enabled,captionCenter:Ql(fi(s.center,i.turn),o)}:n}function p4(e,t,r,n){At(e,t,r,n);let i=Ad(e,t,r,[n.vertices],n.rotation);ys(e,t,r,fk(n,i)),od(e,t,r,n),Im(e,t,r,i.drawn[0]),n.cloudyIntensity!=null&&n.cloudyIntensity>0&&Oa(e,r,n.cloudyIntensity)}function l4(e,t,r,n){ct(e,t,r,n),gk(e,t,r,n),sd(e,t,r,n),n.cloudyIntensity!==void 0&&(n.cloudyIntensity!==null&&n.cloudyIntensity>0?Oa(e,r,n.cloudyIntensity):Cm(e,r))}function m4(e,t,r,n){At(e,t,r,n);let i=Ad(e,t,r,[n.vertices],n.rotation);ys(e,t,r,fk(n,i)),od(e,t,r,n),Im(e,t,r,i.drawn[0]),Qa(e,r,n.lineEndings??ut.polyline.lineEndings)}function w4(e,t,r,n){ct(e,t,r,n),gk(e,t,r,n),sd(e,t,r,n),n.lineEndings!==void 0&&Qa(e,r,n.lineEndings)}function gk(e,t,r,n){let i=Nm(e,t,r),a=jm(e,t,r,i,n.vertices&&[n.vertices],n.rotation);ys(e,t,r,u4(e,t,r,n,i,a)),a&&Im(e,t,r,a.drawn[0])}function Fk(e){return e==="polygon"||e==="polyline"}var b4=0,f4=1;function Xm(e,t,r){let n=(r.next??[]).map(a=>Xm(e,t,a)),i=g4(e,t,r);if(n.length>0&&!ps(e,n,(a,o)=>e.fn.EPDFAction_SetNext(t,i,a,o)))throw new g(f.Unknown,`the ${r.type} action\'s next ones could not be set`);return i}function g4(e,t,r){let{fn:n,mem:i}=e,a=(()=>{switch(r.type){case"javascript":return Wn(i,r.script,o=>n.EPDFAction_CreateJavaScript(t,o));case"goto":return n.EPDFAction_CreateGoTo(t,Uh(n,i,t,r.destination));case"uri":return n.EPDFAction_CreateURI(t,r.uri);case"named":return n.EPDFAction_CreateNamed(t,r.name);case"hide":return ul(e,r.targets,(o,s)=>n.EPDFAction_CreateHide(t,o,s,r.hide));case"reset-form":return ul(e,r.fields??[],(o,s)=>n.EPDFAction_CreateResetForm(t,o,r.fields?s:-1,r.exclude));case"submit-form":return Wn(i,r.url,o=>ul(e,r.fields??[],(s,A)=>n.EPDFAction_CreateSubmitForm(t,o,s,r.fields?A:-1,Lu(r))))}})();if(!a)throw new g(f.InvalidArg,`the ${r.type} action could not be written`);return a}function ul(e,t,r){let{mem:n}=e,i=8+RP(e),a=t.map(o=>o.kind==="name"?n.writeU16String(o.name):null);try{return V(n,Math.max(1,t.length*i),o=>(t.forEach((s,A)=>{let d=A*i,p=a[A];n.poke(o,"i32",p?b4:f4,d),n.poke(o,"i32",s.kind==="objectNumber"?s.objectNumber:0,d+4),TP(e,o,d+8,p??Y)}),r(o,t.length)))}finally{for(let o of a)o&&n.free(o)}}function vk(e,t,r,n){Xi.forEach((i,a)=>{let o=n===null?null:n[i];if(o===void 0)return;let s=o===null?Y:Xm(e,t,o);if(!e.fn.EPDFAnnot_SetEventAction(r,a,s))throw new g(f.Unknown,`the widget\'s ${i} action could not be written`)})}var Qv=0,Rv=1,Tv=0;function Pk(e){return e==="widget"}function F4(e,t){if(e.subtype!=="widget"||!e.hasMark)return;let r=t,n=_o.filter(i=>r[i]!==void 0&&!Te(r[i],e[i]));if(n.length>0)throw new g(f.InvalidArg,`the widget has a mark in it, which its style doesn\'t draw: ${n.join(", ")} can\'t change`)}function Wm(e,t,r,n,i){if(n.color===null)e.EPDFAnnot_ClearMKColor(r,Qv);else if(n.color){let{r:o,g:s,b:A}=Qn(n.color);e.EPDFAnnot_SetMKColor(r,Qv,o,s,A)}if(n.interiorColor===null)e.EPDFAnnot_ClearMKColor(r,Rv);else if(n.interiorColor){let{r:o,g:s,b:A}=Qn(n.interiorColor);e.EPDFAnnot_SetMKColor(r,Rv,o,s,A)}if(n.strokeWidth!==void 0||n.borderStyle!==void 0){let o=Xc(e,t,r);e.EPDFAnnot_SetBorderStyle(r,yS(n.borderStyle??Lh(o.styleCode)),n.strokeWidth??o.width)}n.dashArray===null?k3(e,r):n.dashArray!==void 0&&Gm(e,t,r,n.dashArray),(n.fontFamily!==void 0||n.fontSize!==void 0||n.fontColor!==void 0)&&v4(e,t,r,n,i),n.textAlign!==void 0&&e.EPDFAnnot_SetTextAlignment(r,Ds(n.textAlign));let a=n.checkStyle!==void 0?n.checkStyle&&qx(n.checkStyle):n.caption;a===null?e.EPDFAnnot_SetMKText(r,Tv,Y):a!==void 0&&Wn(t,a,o=>e.EPDFAnnot_SetMKText(r,Tv,o))}function v4(e,t,r,n,i){let a=xa(e,t,r);if([n.fontFamily,n.fontSize,n.fontColor].includes(null)&&a!==null)throw new g(f.InvalidArg,"a widget\'s font can\'t be removed: send a font, or leave the font fields out",{details:{field:"fontFamily"}});let o=n.fontFamily??void 0,s=n.fontSize??void 0,A=n.fontColor??void 0;if(o===void 0&&s===void 0&&A===void 0)return;let d=s??a?.fontSize??12,p=A??a?.color??"#000000";if(a!==null&&(o===void 0||P4(e,t,r,o,i))){Sm(e,r,-1,d,p);return}_s(e,r,o??"helvetica",d,p,i)}function P4(e,t,r,n,i){let a=Wc(e,t,r);if(!a)return!1;if(zc(e,t,r,a)===n)return!0;let o=Gr(n,i?.describeFont);return ln(o.family)===ln(a.family)&&(o.weight===void 0||o.weight===a.weight)&&(o.italic===void 0||o.italic===a.italic)}function hk(e,t,r){if(!e.EPDFAnnot_SetMKRotation(t,(360-(r??0))%360))throw new g(f.Unknown,"the widget\'s turn (/MK /R) could not be written")}function kk(e,t,r,n,i){let a=Ce(n.box),o=n.rotation?wn(a,n.rotation):a;(!i||n.rotation!==i.rotation)&&hk(e,r,n.rotation),(!i||!Te(o,i.rect))&&rt(e,t,r,o)}function h4(e,t,r,n,i){let{actions:a,...o}=n;At(e,t,r,o),kk(e,t,r,{box:n.box,rotation:n.rotation??null},null),Wm(e,t,r,n,i)}function k4(e,t,r,n){if(n.box===void 0&&n.rotation===void 0)return;let i=Ce(ks(e,t,r)),a=c3(e,r);kk(e,t,r,{box:n.box??Ir(i,a??0),rotation:n.rotation===void 0?a:n.rotation||null},{rect:i,rotation:a})}function D4(e,t,r,n,i){let{actions:a,...o}=n;if(ct(e,t,r,o),k4(e,t,r,n),Wm(e,t,r,n,i),n.actions!==void 0){if(!i?.runtime||!i.docPtr)throw new g(f.InvalidArg,"writing a widget\'s actions requires the runtime and the document on the write context");vk(i.runtime,i.docPtr,r,n.actions)}}function B4(e,t){ud(e.subtype)&&r4(e,t),Mm(e.subtype)&&IH(e,t),Vm(e.subtype)&&JH(e)}function E4(e,t){ud(Um(e))&&i4(e,t)}function _4(e,t,r,n,i){C4(e,t,r,n,i),Dk(e,r,n,i)}function y4(e,t,r,n,i){I4(e,t,r,n,i),Dk(e,r,{...n,subtype:Um(n)},i)}function Dk(e,t,r,n){if(r.subtype==="free-text"||r.richText===void 0)return;if(r.richText===null){e.EPDFAnnot_RemoveKey(t,"RC");return}let i=zP(G4(r.richText),{describe:n?.describeFont});if(!e.EPDFAnnot_SetRichTextJSON(t,i))throw new g(f.InvalidArg,`${r.subtype}: the comment\'s rich text could not be written`)}function G4(e){if(e.body?.family!==Oi.family)return e;let{family:t,...r}=e.body;return{...e,body:r}}function C4(e,t,r,n,i){if(rk(n.subtype)){qH(e,t,r,n);return}if(ok(n.subtype)){t4(e,t,r,n);return}if(Fk(n.subtype)){n.subtype==="polygon"?p4(e,t,r,n):m4(e,t,r,n);return}if(J3(n.subtype)){jH(e,t,r,n);return}if($3(n.subtype)){VH(e,t,r,n,i);return}if(Z3(n.subtype)){MH(e,t,r,n);return}if(U3(n.subtype)){RH(e,t,r,n,i);return}if(R3(n.subtype)){GH(e,t,r,n);return}if(wk(n.subtype)){c4(e,t,r,n);return}if(ud(n.subtype)){a4(e,t,r,n,i);return}if(Mm(n.subtype)){SH(e,t,r,n,i);return}if(Pk(n.subtype)){h4(e,t,r,n,i);return}if(nk(n.subtype)){WH(e,t,r,n);return}if(Vm(n.subtype)){$H(e,t,r,n,i);return}throw new g(f.NotImplemented,`no writer registered for draft.subtype=\'${n.subtype}\'`)}function I4(e,t,r,n,i){let a=Um(n);if(rk(a)){zH(e,t,r,n);return}if(ok(a)){n4(e,t,r,n);return}if(Fk(a)){a==="polygon"?l4(e,t,r,n):w4(e,t,r,n);return}if(J3(a)){KH(e,t,r,n);return}if($3(a)){YH(e,t,r,n,i);return}if(Z3(a)){LH(e,t,r,n);return}if(U3(a)){TH(e,t,r,n,i);return}if(R3(a)){CH(e,t,r,n);return}if(wk(a)){d4(e,t,r,n);return}if(ud(a)){o4(e,t,r,n,i);return}if(Mm(a)){xH(e,t,r,n,i);return}if(Pk(a)){D4(e,t,r,n,i);return}if(nk(a)){UH(e,t,r,n);return}if(Vm(a)){e4(e,t,r,n,i);return}throw new g(f.NotImplemented,`no writer registered for subtype=\'${a}\'`)}function Um(e){if(e.subtype===void 0)throw new g(f.InvalidArg,"a patch reached the writer without its subtype");return e.subtype}function S4(e,t,r){let n=AF(e,{linked:["reply","parent"],describeFont:r.describeFont});return wA(n.subtype,t,"create"),B4(n,r),n}function Bk(e,t,r,n){let{fn:i,mem:a}=e,o=a.writeU16String(n);try{return i.EPDFPage_GetAnnotIndexByNameRaw(t,r,o)}finally{a.free(o)}}function Hc(e,t,r,n,i,a){let o=f3(e,t,a.docPtr,r,n,i),s=e.FPDFAnnot_GetSubtype(r),{reader:A}=d3(s);return A(e,t,r,o,s,a)}function Ek(e,t,r){return r===void 0?e.EPDFAnnot_GenerateAppearance(t):e.EPDFAnnot_GenerateAppearanceWithBlend(t,$x(r))}function x4(e,t,r,n,i){n.author===null?e.EPDFAnnot_RemoveKey(r,"T"):C3(e,t,r,n.author),n.createdAt===null?e.EPDFAnnot_RemoveKey(r,"CreationDate"):I3(e,t,r,n.createdAt),n.modifiedAt===null?e.EPDFAnnot_RemoveKey(r,"M"):Hm(e,t,r,n.modifiedAt),ox(e,t,r,n,i)}function H4(e,t,r,n){let i=e.EPDFAnnot_GetFileAttachmentForWrite(r);if(i)for(let[a,o]of[["CreationDate",n.createdAt],["ModDate",n.modifiedAt]]){if(!o)continue;let s=t.writeU16String(ft(o));try{e.FPDFAttachment_SetStringValue(i,a,s)}finally{t.free(s)}}}function O4(e,t,r,n,i){n?.displayName&&C3(e,t,r,n.displayName),I3(e,t,r,i),Hm(e,t,r,i),ix(e,t,r,n)}function Q4(e,t,r,n,i){let{fn:a}=e;if(i.inReplyTo===null){a.EPDFAnnot_SetLinkedAnnot(r,"IRT",Y),a.EPDFAnnot_SetReplyType(r,0);return}if(i.inReplyTo){if(i.inReplyTo.page.objectNumber!==n)throw new g(f.InvalidArg,`/IRT parent must be on the same page as the reply (parent page ${i.inReplyTo.page.objectNumber}, reply page ${n})`);let o=Vc(e,t,i.inReplyTo);try{_k(e,r,o,i.replyType??"reply")}finally{a.FPDFPage_CloseAnnot(o)}return}if(i.replyType!==void 0){let o=a.FPDFAnnot_GetLinkedAnnot(r,"IRT");if(o)try{a.EPDFAnnot_SetReplyType(r,Zh(i.replyType))}finally{a.FPDFPage_CloseAnnot(o)}}}function R4(e,t,r,n,i,a){let{fn:o}=e;if(a){let d=Vc(e,t,a);try{let p=o.FPDFAnnot_GetLinkedAnnot(d,"Popup");if(p){let m=o.EPDFAnnot_GetObjectNumber(p)===o.EPDFAnnot_GetObjectNumber(r);o.FPDFPage_CloseAnnot(p),m&&o.EPDFAnnot_SetLinkedAnnot(d,"Popup",Y)}}finally{o.FPDFPage_CloseAnnot(d)}}if(i===null)return o.EPDFAnnot_SetLinkedAnnot(r,"Parent",Y),null;if(i.page.objectNumber!==n)throw new g(f.InvalidArg,`a popup\'s parent must be on the same page (parent page ${i.page.objectNumber}, popup page ${n})`);let{annotPtr:s,name:A}=KP(e,t,i);try{return yk(e,r,s),A}finally{o.FPDFPage_CloseAnnot(s)}}function _k(e,t,r,n){let{fn:i}=e;if(!i.EPDFAnnot_SetLinkedAnnot(t,"IRT",r))throw new g(f.Unknown,"failed to set /IRT linked annotation");i.EPDFAnnot_SetReplyType(t,Zh(n))}function yk(e,t,r){let{fn:n}=e;if(T4(e,t,r),!n.EPDFAnnot_SetLinkedAnnot(t,"Parent",r)||!n.EPDFAnnot_SetLinkedAnnot(r,"Popup",t))throw new g(f.Unknown,"failed to link a popup to its parent");M4(e,t,r)}function T4(e,t,r){let{fn:n}=e,i=n.FPDFAnnot_GetLinkedAnnot(r,"Popup");if(!i)return;let a=n.EPDFAnnot_GetObjectNumber(i);if(n.FPDFPage_CloseAnnot(i),a!==n.EPDFAnnot_GetObjectNumber(t))throw new g(f.InvalidArg,`the annotation already has a popup (object ${a}); delete it first`,{details:{field:"parent",popupObjectNumber:a}})}function M4(e,t,r){let{fn:n,mem:i}=e;if(n.FPDFAnnot_GetSubtype(r)!==L.TEXT)return;let a=ws(n,i,t,"Open");if(a!==null){Rl(e,r,a);return}let o=ws(n,i,r,"Open");o!==null&&Rl(e,t,o)}function L4(e,t,r,n,i){let{fn:a}=e,{annotPtr:o,name:s}=KP(e,t,r);try{return i&&a.FPDFAnnot_GetSubtype(o)!==L.TEXT?null:(Rl(e,o,n),s)}finally{a.FPDFPage_CloseAnnot(o)}}function Rl(e,t,r){if(!e.fn.EPDFAnnot_SetBooleanValue(t,"Open",r))throw new g(f.Unknown,"EPDFAnnot_SetBooleanValue returned false")}function Gk(e,t){let{mem:r}=e,n=t(Y,0);return n<=0?[]:V(r,n*8,i=>(t(i,n),Array.from({length:n},(a,o)=>({start:Number(r.peek(i,"i32",o*8))>>>0,count:Number(r.peek(i,"i32",o*8+4))>>>0}))))}var N4={0:null,1:"truetype",2:"opentype",3:"cff",4:"type1",5:"type3"},j4={0:"none",1:"whole",2:"subset"},K4={0:"installable",1:"editable",2:"preview-and-print",3:"restricted",4:"bitmap-only"},V4={0:"standard",1:"engine",2:"document-program",3:"document-font"},qm=e=>Array.from(e,t=>t.toString(16).padStart(2,"0")).join(""),pl=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}facts(){return{faces:this.faces(),engineFonts:this.fonts.engineFontFacts(),fallbacks:this.fonts.fallbackKeys()}}faces(){return pd(this.runtime,this.session)}resolve(e,t,r){let{fn:n,mem:i}=this.runtime,a=t.map(d=>this.faceOfRun(d,r)),o=t.map(d=>i.writeU16String(d.text)),s=a.map(d=>i.writeU16String(d.family)),A=e?this.openAnnotation(e):Y;try{let d=ps(this.runtime,o,p=>ps(this.runtime,s,m=>nn(i,a.map(F=>F.weight),F=>nn(i,a.map(k=>k.italic?1:0),k=>nn(i,a.map(P=>P.program),P=>n.EPDFDoc_ResolveFonts(this.session.requireDocPtr(),A,t.length,p,m,F,k,P))))));if(!d)throw new g(f.Unknown,"EPDFDoc_ResolveFonts failed");try{return this.readResolution(d,t.length)}finally{n.EPDFFontResolution_Close(d)}}finally{A&&n.FPDFPage_CloseAnnot(A);for(let d of[...o,...s])i.free(d)}}readResolution(e,t){let{fn:r,mem:n}=this.runtime,i=[];for(let s=0;s(r.EPDFFontResolution_GetFallbacks(e,s,m,d),Array.from({length:d},(F,k)=>Number(n.peek(m,"i32",k*4))>>>0)));i.push({source:V4[r.EPDFFontResolution_GetSource(e,s)]??"standard",engineFont:A?this.fonts.keyForId(A)??null:null,objectNumber:r.EPDFFontResolution_GetProgramObjNum(e,s),displaySha256:V(n,32,m=>r.EPDFFontResolution_GetProgramDisplayHash(e,s,m)?qm(n.readBytes(m,32)):null),baseFontName:Ye(n,(m,F)=>r.EPDFFontResolution_GetBaseFontName(e,s,m,F))||null,familyName:we(n,(m,F)=>r.EPDFFontResolution_GetFamily(e,s,m,F))??"",weight:r.EPDFFontResolution_GetWeight(e,s),italic:r.EPDFFontResolution_IsItalic(e,s),degraded:r.EPDFFontResolution_IsDegraded(e,s),fallbacks:p.flatMap(m=>{let F=this.fonts.keyForId(m);return F?[F]:[]})})}let a=[],o=r.EPDFFontResolution_CountMissingCharacters(e);for(let s=0;sr.EPDFFontResolution_GetMissingCharacter(e,s,d,p));A&&a.push(A)}return{runs:i,missingCharacters:a}}faceOfRun(e,t){if(!("fontFamily"in e))return{family:e.family,weight:e.weight,italic:e.italic,program:0};let r=e.fontFamily;if(yr(r)){let o=pn[r];return{family:o.family,weight:o.weight,italic:o.italic,program:0}}let n=this.fonts.describeOrUndefined(r);if(n){let{familyName:o,weight:s,italic:A}=n;return{family:o,weight:s,italic:A,program:0}}let i=na(t.faces).find(o=>o.name===r);if(i){let{familyName:o,weight:s,italic:A}=i.face,d=ic(t,r);return{family:o,weight:s,italic:A,program:d?.choosable?d.objectNumber:0}}let a=Gr(r);return{family:a.family,weight:a.weight??400,italic:a.italic??!1,program:0}}openAnnotation(e){let{pageIndex:t,index:r}=kt(this.runtime,this.session,e),n=this.runtime.fn.EPDFPage_GetAnnotRaw(this.session.requireDocPtr(),t,r);if(!n)throw new g(f.NotFound,"annotation not found");return n}program(e,t){let r=this.fonts.programFor(e);if(r)return{...r.info(),bytes:t?r.bytes():null};let n=this.faces().flatMap(s=>s.programs).find(s=>s.displaySha256===e&&s.objectNumber>0);if(!n)throw new g(f.NotFound,`no font program ${e}`);let{fn:i,mem:a}=this.runtime,o=this.session.requireDocPtr();return V(a,32,s=>{a.writeBytes(s,Y4(e));let A=Gk(this.runtime,(p,m)=>i.EPDFDoc_GetFontDisplayProgramCoverage(o,s,p,m)),d=null;if(t){let p=i.EPDFDoc_GetFontDisplayProgramData(o,s,Y,0);d=V(a,Math.max(1,p),m=>(i.EPDFDoc_GetFontDisplayProgramData(o,s,m,p),a.readBytes(m,p)))}return{covers:A,ascent:n.ascent,descent:n.descent,bytes:d}})}};function Y4(e){return Uint8Array.from({length:e.length/2},(t,r)=>parseInt(e.slice(r*2,r*2+2),16))}function pd(e,t){let{fn:r,mem:n}=e,i=r.EPDFFontFaces_Load(t.requireDocPtr());if(!i)throw new g(f.Unknown,"EPDFFontFaces_Load failed");try{let a=[],o=r.EPDFFontFaces_Count(i);for(let s=0;sr.EPDFFontFaces_GetFamily(i,s,p,m))??"",weight:r.EPDFFontFaces_GetWeight(i,s),italic:r.EPDFFontFaces_IsItalic(i,s),programs:A})}return a}finally{r.EPDFFontFaces_Close(i)}}function X4(e,t,r,n){let{fn:i,mem:a}=e,o=p=>V(a,32,m=>p(m)?qm(a.readBytes(m,32)):null),s=o(p=>i.EPDFFontFaces_GetProgramHash(t,r,n,p)),A=o(p=>i.EPDFFontFaces_GetProgramDisplayHash(t,r,n,p)),d=he(a,[4,4],([p,m])=>i.EPDFFontFaces_GetProgramMetrics(t,r,n,p,m)?{ascent:Number(a.peek(p,"f32")),descent:Number(a.peek(m,"f32"))}:{ascent:0,descent:0});return{objectNumber:i.EPDFFontFaces_GetProgramObjNum(t,r,n),format:N4[i.EPDFFontFaces_GetProgramFormat(t,r,n)]??null,embedded:j4[i.EPDFFontFaces_GetProgramEmbedded(t,r,n)]??"none",postScriptName:Ye(a,(p,m)=>i.EPDFFontFaces_GetProgramPostScriptName(t,r,n,p,m))||null,permission:K4[i.EPDFFontFaces_GetProgramEmbeddingPermission(t,r,n)]??null,mapsUnicode:i.EPDFFontFaces_ProgramMapsUnicode(t,r,n),sha256:s,displaySha256:A,ascent:Math.round(d.ascent*1e3),descent:-Math.round(d.descent*1e3)}}var Oc=new WeakMap;function Ck(e,t){let{fn:r,mem:n}=e;return V(n,32,i=>{if(!r.EPDFDoc_GetFontsFingerprint(t.requireDocPtr(),i))throw new g(f.Unknown,"EPDFDoc_GetFontsFingerprint failed");return qm(n.readBytes(i,32))})}function Ik(e,t){let r=vp({faces:pd(e,t),engineFonts:[],fallbacks:[]},XF);return JSON.stringify(r.fonts.filter(n=>n.source==="document"))}function Mv(e,t){Oc.has(t)||Oc.set(t,{fingerprint:Ck(e,t),documentFonts:Ik(e,t)})}function W4(e,t){let r=Oc.get(t);if(!r)return!1;let n=Ck(e,t);if(n===r.fingerprint)return!1;let i=Ik(e,t);return Oc.set(t,{fingerprint:n,documentFonts:i}),i!==r.documentFonts}function U4(e,t,r){return ic({faces:pd(e,t),engineFonts:[],fallbacks:[]},r)}function Qc(e,t,r){let n,i=a=>(n??(n=na(pd(e,t)))).find(o=>o.name===a);return{...r?{resolveRegisteredFontId:a=>r.idFor(a),describeRegisteredFont:a=>r.describeOrUndefined(a)}:{},describeFont:a=>{let o=r?.describeOrUndefined(a);if(o)return o;let s=i(a)?.face;return s&&{familyName:s.familyName,weight:s.weight,italic:s.italic}},documentProgramOf:a=>{if(yr(a)||r?.describeOrUndefined(a))return;let o=i(a)?.programs[0];return o&&ta(o)&&o.objectNumber>0?o.objectNumber:void 0},resolveDocumentFont:a=>U4(e,t,a)}}var Sk=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}create(e,t){O(t);let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=new Set,o=e.map(k=>{let P=this.session.resolvePageRef(k.page),B=this.writeContext(k.resources),y=li(k.label,()=>S4(k.draft,k.resources,B));li(k.label,()=>this.claimName(y.nm,P,a));let x=y.nm!==void 0||k.attribution.kind!=="stamp"?y:{...y,nm:NA()};k.objectNumber!==void 0&&li(k.label,()=>this.session.claimObjectNumber(k.objectNumber));let I=k.replyTo&&{type:k.replyTo.type,to:li(k.label,()=>this.linkTarget(k.replyTo.to,k.page,e.length,"reply"))};if(x.subtype==="popup"&&!k.parent)throw new g(f.InvalidArg,`${k.label??"create"}: a popup needs the annotation it shows (parent)`,{details:{field:"parent"}});return{create:k,record:P,ctx:B,draft:x,replyTo:I,parent:k.parent&&li(k.label,()=>this.linkTarget(k.parent,k.page,e.length,"popup"))}});if(O(t),o.length===0)return{created:[],meta:Lv(this.session.writeStamp(),[],[])};let s=o.map(({create:k,record:P,ctx:B,draft:y})=>{O(t);let x=r.EPDFPage_CreateAnnotRaw(i,P.pageIndex,tc[y.subtype],k.objectNumber??0);if(!x&&k.objectNumber!==void 0)throw us(k.objectNumber,"taken");if(!x)throw new g(f.Unknown,`${k.label??"create"}: EPDFPage_CreateAnnotRaw returned NULL`);let I;try{if(li(k.label,()=>_4(r,n,x,y,B)),Ek(r,x,y.blendMode),I=r.EPDFAnnot_GetObjectNumber(x),I<=0)throw new g(f.Unknown,`${k.label??"create"}: EPDFPage_CreateAnnotRaw made a direct object`)}finally{r.FPDFPage_CloseAnnot(x)}return{pageIndex:P.pageIndex,pageObjectNumber:P.pageObjectNumber,index:r.EPDFPage_GetAnnotCountRaw(i,P.pageIndex)-1,objectNumber:I}}),A=[],d=(k,P)=>typeof k=="number"?this.withOpen(s[k],P):this.withOpenExisting(k,P);o.forEach(({replyTo:k,parent:P},B)=>{k&&this.withOpen(s[B],y=>d(k.to,x=>_k(this.runtime,y,x,k.type))),P!==void 0&&this.withOpen(s[B],y=>d(P,x=>{yk(this.runtime,y,x),typeof P!="number"&&A.push(Sa(r,n,i,P.page,x,P.index))}))});let p=new Date;o.forEach(({create:{attribution:k,fileDates:P,label:B}},y)=>{this.withOpen(s[y],x=>li(B,()=>{k.kind==="stamp"?O4(r,n,x,k.actor,p):x4(r,n,x,k.from,k.importedBy),P&&H4(r,n,x,P)}))});let m=ms(this.session,this.fonts),F=s.map(k=>this.withOpen(k,P=>Hc(r,n,P,k.pageObjectNumber,k.index,m)));return gs(this.runtime,this.session,F),{created:F,meta:Lv(this.session.writeStamp(),s,A)}}claimName(e,t,r){if(!e)return;let n=`${t.pageIndex}\\0${e}`,i=this.session.requireDocPtr();if(r.has(n)||Bk(this.runtime,i,t.pageIndex,e)>=0)throw new g(f.InvalidArg,`nm \'${e}\' is already used on page ${t.pageObjectNumber}`,{details:{field:"nm"}});r.add(n)}linkTarget(e,t,r,n){if("planned"in e){if(e.planned<0||e.planned>=r)throw new g(f.InvalidArg,`no create ${e.planned} to link to`);return e.planned}let{existing:i}=e;if(i.page.objectNumber!==t.objectNumber)throw new g(f.InvalidArg,n==="reply"?`/IRT parent must be on the same page as the reply (parent page ${i.page.objectNumber}, reply page ${t.objectNumber})`:`a popup\'s parent must be on the same page (parent page ${i.page.objectNumber}, popup page ${t.objectNumber})`);return{page:i.page,...kt(this.runtime,this.session,i)}}writeContext(e){return{...Qc(this.runtime,this.session,this.fonts),docPtr:this.session.requireDocPtr(),drawings:this.session.drawingIndex(),pdfPageCount:t=>P3(this.runtime.fn,this.runtime.mem,t),...e?{resources:e}:{}}}withOpen(e,t){let{fn:r}=this.runtime,n=r.EPDFPage_GetAnnotRaw(this.session.requireDocPtr(),e.pageIndex,e.index);if(!n)throw new g(f.Unknown,"a created annotation is not where it was");try{if(r.EPDFAnnot_GetObjectNumber(n)!==e.objectNumber)throw new g(f.Unknown,"a created annotation is not where it was");return t(n)}finally{r.FPDFPage_CloseAnnot(n)}}withOpenExisting(e,t){let{fn:r}=this.runtime,n=r.EPDFPage_GetAnnotRaw(this.session.requireDocPtr(),e.pageIndex,e.index);if(!n)throw new g(f.Unknown,"an annotation to link to is not where it was");try{return t(n)}finally{r.FPDFPage_CloseAnnot(n)}}};function Lv(e,t,r){return{affectedPages:[...new Set(t.map(n=>n.pageObjectNumber))].map(n=>pe(n)),cacheDelta:null,...e,changedRefs:[...t.map(n=>({kind:"objectNumber",page:pe(n.pageObjectNumber),objectNumber:n.objectNumber})),...r]}}function li(e,t){try{return t()}catch(r){throw!e||!g.is(r)?r:new g(r.code,`${e}: ${r.message}`,{...r.details?{details:r.details}:{},cause:r})}}function q4(e,t,r,n){if(!(r.subtype!=="polygon"&&r.subtype!=="polyline")&&Si(n)&&e.FPDFAnnot_HasKey(t,"EMBD_Metadata")&&e.FPDFAnnot_GetValueType(t,"EMBD_Metadata")!==6)throw new g(f.InvalidArg,"Malformed annotation metadata cannot store a caption")}function z4(e){switch(e){case 1:return"editable";case 2:return"preview-and-print";default:return"installable"}}var Z4=class{constructor(e,t){this.runtime=e,this.ids=t,j(this,"fileHandles",[]),j(this,"identities",new Map),j(this,"programs",new Map),j(this,"fallbacks",[]),j(this,"builtIn",new Set),this.registerLastResort()}registerLastResort(){let e=YF(),{mem:t,fn:r}=this.runtime,n=t.alloc(e.byteLength);try{t.writeBytes(n,e);let i=r.EPDFFont_RegisterMemFont64("",0,-1,n,e.byteLength);if(i===0||!r.EPDFFont_SetLastResortFont(i))throw new g(f.RuntimeUnavailable,"the last-resort font did not register")}finally{t.free(n)}}register(e,t,r,n,i,a=!1){if(this.ids.has(e))return;if(i.byteLength===0)throw new g(f.InvalidArg,`empty font data: ${e}`);let{mem:o,fn:s}=this.runtime,A=o.alloc(i.byteLength);try{o.writeBytes(A,i);let d=s.EPDFFont_RegisterMemFont64(t,r,n,A,i.byteLength);if(d===0)throw new g(f.InvalidArg,`font registration failed (unloadable or no glyphs): ${e}`);this.ids.set(e,d),this.identities.set(e,this.readIdentity(d,{familyName:t,weight:r,italic:n})),this.programs.set(e,{...this.readProgram(d),served:!0}),a&&this.builtIn.add(e)}finally{o.free(A)}}registerFromNodeFile(e,t,r,n,i,a=!1,o=!1){if(this.ids.has(e))return;let s=this.runtime.fileAccess.fromNodeFile(i),A=0;try{A=this.runtime.fn.EPDFFont_RegisterFont(t,r,n,s.ptr)}catch(d){throw s.close(),d}if(A===0)throw s.close(),new g(f.InvalidArg,`font registration failed (unloadable or no glyphs): ${e} (${i})`);this.ids.set(e,A),this.identities.set(e,this.readIdentity(A,{familyName:t,weight:r,italic:n})),this.programs.set(e,{...this.readProgram(A),served:a}),o&&this.builtIn.add(e),this.fileHandles.push(s)}describe(e){let t=this.identities.get(e);if(!t)throw new g(f.InvalidArg,`font not registered on this thread: ${e}`);return t}describeOrUndefined(e){return this.identities.get(e)}keyForFace(e,t,r){let n=ln(e),i;for(let[a,o]of this.identities){if(ln(o.familyName)!==n)continue;let s=Math.abs(o.weight-t)+(o.italic===r?0:1e3);(!i||s{try{return a()}catch{return o}};return{familyName:i(()=>Ye(n,(a,o)=>r.EPDFFont_GetFamilyName(e,a,o))??t.familyName,t.familyName),weight:i(()=>r.EPDFFont_GetWeight(e),t.weight||400),italic:i(()=>r.EPDFFont_IsItalic(e),t.italic===1),embeddingPermission:i(()=>z4(r.EPDFFont_GetEmbeddingPermission(e)),"installable"),editingAuthorized:i(()=>r.EPDFFont_IsEditingAuthorized(e),!0),instanced:i(()=>r.EPDFFont_IsInstanced(e),!1)}}registerStartup(e){for(let t of e){let r=t.italic===void 0?-1:t.italic?1:0;this.registerFromNodeFile(t.key,t.familyName??"",t.weight??0,r,t.path,t.serve??!1,t.builtIn??!1),t.fallback&&this.addFallback(t.key,t.tier)}}addFallback(e,t=fp.own){let r=this.requireId(e);if(!this.runtime.fn.EPDFFont_AddFallbackFont(r,t))throw new g(f.InvalidArg,`addFallback failed: ${e}`);let n=this.fallbacks.find(i=>i.key===e);n?n.tier=t:this.fallbacks.push({key:e,tier:t})}clearFallbacks(){this.runtime.fn.EPDFFont_ClearFallbackFonts(),this.fallbacks=[]}fallbackKeys(){return[...this.fallbacks].sort((e,t)=>e.tier-t.tier).map(e=>e.key)}engineFontFacts(){let e=[];for(let[t,r]of this.identities){let n=this.programs.get(t);n&&e.push({key:t,identity:r,postScriptName:n.postScriptName,format:n.format,sha256:n.sha256,served:n.served,builtIn:this.builtIn.has(t)})}return e}keyForId(e){for(let[t,r]of this.ids)if(r===e)return t}programFor(e){let t=[...this.programs].find(([,a])=>a.sha256===e)?.[0];if(t===void 0)return;let r=this.requireId(t),{fn:n,mem:i}=this.runtime;return{info:()=>{let a=Gk(this.runtime,(s,A)=>n.EPDFFont_GetCoverage(r,s,A)),o=he(i,[4,4],([s,A])=>n.EPDFFont_GetMetrics(r,s,A)?{ascent:Number(i.peek(s,"f32")),descent:Number(i.peek(A,"f32"))}:{ascent:0,descent:0});return{covers:a,ascent:Math.round(o.ascent*1e3),descent:-Math.round(o.descent*1e3)}},bytes:()=>{let a=n.EPDFFont_GetProgramData(r,Y,0);return V(i,Math.max(1,a),o=>(n.EPDFFont_GetProgramData(r,o,a),i.readBytes(o,a)))}}}readProgram(e){let{fn:t,mem:r}=this.runtime;return{sha256:V(r,32,n=>t.EPDFFont_GetProgramHash(e,n)?Array.from(r.readBytes(n,32),i=>i.toString(16).padStart(2,"0")).join(""):""),format:t.EPDFFont_GetProgramFormat(e)===2?"opentype":"truetype",postScriptName:Ye(r,(n,i)=>t.EPDFFont_GetPostScriptName(e,n,i))||null}}clear(){this.runtime.fn.EPDFFont_ClearRegisteredFonts(),this.registerLastResort(),this.ids.clear(),this.identities.clear(),this.programs.clear(),this.fallbacks=[],this.builtIn.clear();for(let e of this.fileHandles)e.close();this.fileHandles.length=0}idFor(e){return this.requireId(e)}requireId(e){let t=this.ids.get(e);if(t===void 0)throw new g(f.InvalidArg,`font not registered on this thread: ${e}`);return t}};function ya(e,t,r){return{affectedPages:[pe(t)],cacheDelta:null,...e,changedRefs:[...r]}}var zm=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}writeContext(e){return{...Qc(this.runtime,this.session,this.fonts),runtime:this.runtime,docPtr:this.session.requireDocPtr(),drawings:this.session.drawingIndex(),pdfPageCount:t=>P3(this.runtime.fn,this.runtime.mem,t),...e?{resources:e}:{}}}create(e,t,r,n={}){let{actor:i,resources:a,objectNumber:o}=n,{reply:s,...A}=t,d=t.subtype==="popup"?t.parent:null;t.subtype==="popup"&&delete A.parent;let{created:p,meta:m}=new Sk(this.runtime,this.session,this.fonts).create([{page:pe(e),draft:A,...s?{replyTo:{to:{existing:s.to},type:s.type??"reply"}}:{},...d?{parent:{existing:d}}:{},...a?{resources:a}:{},...o!==void 0?{objectNumber:o}:{},attribution:{kind:"stamp",...i?{actor:i}:{}}}],r);return{annotation:p[0],meta:m}}update(e,t,r,n,i){O(n);let{fn:a,mem:o}=this.runtime,{pageIndex:s,index:A}=kt(this.runtime,this.session,e),d=wi(this.runtime,this.session,s,A);try{O(n);let p=this.writeContext(i),m=b3(a.EPDFAnnot_GetBlendMode(d)),F=Hc(a,o,d,e.page.objectNumber,A,ms(this.session,this.fonts));gs(this.runtime,this.session,[F]);let k=JA(r,F,t.groupId);q4(a,d,F,t),t=cF(F,t,{describeFont:p.describeFont}),F4(F,t),wA(F.subtype,i,"update"),E4(t,p),O(n);let P=i?.appearance?"regenerate":Ud(F,t);if(P!=="inert"&&_H(a,o,d),t.subtype!==void 0&&t.subtype!==F.subtype&&!a.EPDFAnnot_SetSubtype(d,tc[t.subtype]))throw new g(f.Unknown,"EPDFAnnot_SetSubtype returned false");y4(a,o,d,t,p),t.contents!==void 0&&t.contents!==F.contents&&oA({...F,...t})&&a.EPDFAnnot_RemoveKey(d,"RC");let B=null;t.reply!==void 0&&!eO(t.reply,F.reply)&&Q4(this.runtime,this.session,d,e.page.objectNumber,t.reply===null?{inReplyTo:null}:{inReplyTo:t.reply.to,replyType:t.reply.type??"reply"});let y=!1;t.subtype==="popup"&&F.subtype==="popup"&&t.parent!==void 0&&!xk(t.parent,F.parent)&&(y=!0,B=R4(this.runtime,this.session,d,e.page.objectNumber,t.parent,F.parent));let x=null,I=t.open;if(I!==void 0&&!y){let W=F.subtype==="text"?F.popup:F.subtype==="popup"?F.parent:null;W&&(x=L4(this.runtime,this.session,W,I,F.subtype==="popup"))}Hm(a,o,d),ax(a,o,d,k);let S;P==="inert"||P==="translation"?S={action:"preserved",changed:!1}:S=(F.subtype==="widget"?!F.hasMark&&a.EPDFAnnot_GenerateFormFieldAP(d):Ek(a,d,t.blendMode??m))?{action:"regenerated",changed:!0}:{action:"generation-unavailable",changed:P==="regenerate"},a.FPDFPage_CloseAnnot(d),d=null,d=wi(this.runtime,this.session,s,A);let G=Hc(a,o,d,e.page.objectNumber,A,ms(this.session,this.fonts));gs(this.runtime,this.session,[G]);let T=ya(this.session.writeStamp(),e.page.objectNumber,$4([G.ref,B,x]));return{annotation:G,appearance:S,meta:T}}finally{d!==null&&a.FPDFPage_CloseAnnot(d)}}assertNotAttachedWidget(e,t){let{fn:r}=this.runtime;if(r.FPDFAnnot_GetSubtype(e)!==L.WIDGET)return;let n=r.EPDFAnnot_GetObjectNumber(e);if(t>0&&n===t)return;let i=Jx(this.runtime,this.session,n);if(i!==0)throw new g(f.InvalidArg,i===n?"widget is its form field\'s own dictionary (a merged field/widget) - delete the field with doc.forms.delete":"widget is attached to a form field - use doc.forms.removeWidget or doc.forms.delete")}delete(e,t,r){O(r);let{fn:n}=this.runtime,i=this.session.requireDocPtr(),a=e.page.objectNumber,{pageIndex:o}=this.session.resolvePageRef(e.page),{annotations:s}=new rd(this.runtime,this.session,this.fonts).listOne(a,r),A=Ti(s,e);if(A.length===0)throw J4(e);$A(t,A);let d=P=>kt(this.runtime,this.session,P).index,p=A.map(P=>d(P.ref));for(let P of p)this.withAnnotAt(o,P,B=>this.assertNotAttachedWidget(B,0));let m=new Set(A.map(P=>U(P.ref))),F=A.flatMap(P=>{if(P.subtype!=="popup"||!P.parent)return[];let B=U(P.parent),y=s.find(x=>U(x.ref)===B);return y&&!m.has(B)?[d(y.ref)]:[]});O(r),an(this.runtime,this.session,a);for(let P of[...p].sort((B,y)=>y-B))if(!n.EPDFPage_RemoveAnnotRaw(i,o,P))throw new g(f.Unknown,`failed to remove annotation ${P} on page ${a}`);for(let P of F){let B=p.filter(y=>yn.EPDFAnnot_RemoveKey(y,"Popup"))}let k=[...A].reverse().map(P=>P.ref);return{meta:ya(this.session.writeStamp(),a,k)}}deleteReleasedWidget(e,t){let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=e.page.objectNumber,{pageIndex:o,index:s}=kt(this.runtime,this.session,e),A=this.withAnnotAt(o,s,d=>(this.assertNotAttachedWidget(d,t),Sa(r,n,i,e.page,d,s)));if(an(this.runtime,this.session,a),!r.EPDFPage_RemoveAnnotRaw(i,o,s))throw new g(f.Unknown,`failed to remove annotation: ${e.kind}`);return{meta:ya(this.session.writeStamp(),a,[A])}}withAnnotAt(e,t,r){let n=wi(this.runtime,this.session,e,t);try{return r(n)}finally{this.runtime.fn.FPDFPage_CloseAnnot(n)}}};function J4(e){return new g(f.NotFound,`no annotation ${U(e)} on page ${e.page.objectNumber}`)}function $4(e){let t=new Set;return e.filter(r=>r===null||t.has(U(r))?!1:(t.add(U(r)),!0))}var xk=(e,t)=>e===null||t===null?e===t:U(e)===U(t);function eO(e,t){return e===null||t===null?e===t:xk(e.to,t.to)&&(e.type??"reply")===t.type}function Hk(e,t,r){let n=qc(e,t,r);return n?V(t,16,i=>(OP(t,i,n.box),e.EPDFAnnot_ExportAppearance(r,Uc(n.rotation),i))):e.EPDFAnnot_ExportAppearance(r,0,Y)}var tO=2;function Tl(e,t,r,n){let i=null;try{return V(t,8,a=>{Se(t,a,0),i=e.EPDF_SaveDocumentToOwnedBuffer(r,tO,a);let o=Number(t.peek(a,"i32"));if(!i||o<=0)throw new g(f.DocOpenFailed,`failed to save ${n}`);let s=t.readBytes(i,o),A=new ArrayBuffer(s.byteLength);return new Uint8Array(A).set(s),{bytes:A,size:o}})}finally{i&&e.EPDF_FreeBuffer(i)}}var nO=0,rO=1,iO=0,aO=2,ll=class{constructor(e,t){this.runtime=e,this.session=t}flatten(e,t,r,n){O(n),this.requireRefs("annotations.flatten",e,t);let{fn:i,mem:a}=this.runtime,o=an(this.runtime,this.session,e),s=this.session.pagePool(),A=s.acquire(e);try{let d=this.resolveAll(A,t),p,m;try{[p,m]=this.withHandleArray(d,P=>V(a,4*t.length,B=>{let y=i.EPDFPage_FlattenAnnotations(A,P,t.length,r==="print"?1:0,B),x=[];for(let I=0;IB===aO);throw new g(P>=0?f.InvalidArg:f.Unknown,P>=0?`annotations.flatten: ref ${P} is not an annotation of page ${e}`:"native annotation flatten failed after preflight")}let F=t.map((P,B)=>({ref:P,status:m[B]===iO?"applied":"unchanged"}));if(p!==rO&&!o){let P={affectedPages:[],cacheDelta:null,...this.session.writeStamp()};return{page:pe(e),usage:r,results:F,meta:P}}this.session.invalidateDerived();let k={affectedPages:[pe(e)],cacheDelta:null,...this.session.writeStamp()};return{page:pe(e),usage:r,results:F,meta:k}}finally{s.release(e)}}exportAppearance(e,t,r){O(r),this.requireRefs("annotations.exportAppearance",e,t);let{fn:n}=this.runtime,i=this.session.pagePool(),a=i.acquire(e),o=null;try{let s=this.resolveAll(a,t);try{o=this.withHandleArray(s,A=>n.EPDFPage_ExportAnnotationsAsDocument(a,A,t.length))}finally{for(let A of s)n.FPDFPage_CloseAnnot(A)}if(!o)throw new g(f.InvalidArg,"annotations.exportAppearance: every ref must be a visible annotation of this page with a normal appearance");return Tl(this.runtime.fn,this.runtime.mem,o,"exported appearances")}finally{o&&n.FPDF_CloseDocument(o),i.release(e)}}readAppearance(e,t,r){O(r);let{fn:n}=this.runtime,i=this.session.pagePool(),a=i.acquire(e),o=null;try{let s=ls(this.runtime,this.session,a,t);try{let A=Yr(n.FPDFAnnot_GetSubtype(s));if(Ri[A]?.appearance===void 0)throw new g(f.InvalidArg,`a ${A} annotation has no \'appearance\' resource`);o=Hk(n,this.runtime.mem,s)}finally{n.FPDFPage_CloseAnnot(s)}if(!o)throw new g(f.InvalidArg,"the annotation has no normal appearance to read");return Tl(this.runtime.fn,this.runtime.mem,o,"the appearance")}finally{o&&n.FPDF_CloseDocument(o),i.release(e)}}resolveAll(e,t){let{fn:r}=this.runtime,n=[];try{for(let i of t)n.push(ls(this.runtime,this.session,e,i));return n}catch(i){for(let a of n)r.FPDFPage_CloseAnnot(a);throw i}}withHandleArray(e,t){let{mem:r}=this.runtime,n=this.runtime.kind==="wasm",i=n?4:8;return V(r,Math.max(1,e.length*i),a=>(e.forEach((o,s)=>n?r.poke(a,"i32",Number(o),s*4):r.poke(a,"i64",o,s*8)),t(a)))}requireRefs(e,t,r){if(r.length===0)throw new g(f.InvalidArg,`${e} requires at least one ref`);for(let n of r)if(n.page.objectNumber!==t)throw new g(f.InvalidArg,`${e} refs must all target page ${t}; got ref on page ${n.page.objectNumber}`)}};function Ok(e,t,r){let{fn:n,mem:i}=e,a=new Set(r.flatMap(s=>ea(s).map(fe))),o=t.requireDocPtr();return V(i,16,s=>t.allRecords().filter(A=>a.has(fe(pe(A.pageObjectNumber)))).map(A=>{let d=Kc(n,i,o,A.pageIndex,s).crop;return{page:pe(A.pageObjectNumber),position:A.pageIndex,size:{width:d.right-d.left,height:d.top-d.bottom}}}))}var oO=class{constructor(e,t,r){this.runtime=e,this.kind=t,this.limits=r,j(this,"byId",{}),j(this,"totalBytes",0)}keep(e){Ie(this.kind,this.limits,"resourceBytes",e.byteLength);let{fn:t,mem:r}=this.runtime,n=`sha256-${_m(t,r,new Uint8Array(e))}`;return n in this.byId||(this.byId[n]=e,this.totalBytes+=e.byteLength,Ie(this.kind,this.limits,"resources",Object.keys(this.byId).length),Ie(this.kind,this.limits,"bundleBytes",this.totalBytes)),n}},sO=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}export(e,t,r){O(r);let n=this.session.allRecords(),i=new rd(this.runtime,this.session,this.fonts),a=$u(e,n.map(m=>pe(m.pageObjectNumber)),m=>i.listOne(m.objectNumber,r,"annotations").annotations);Ie("annotation",t,"items",a.length);let o=new AO(this.runtime,this.session,t),s=mi(this.runtime,this.session),A=a.map(m=>(O(r),{data:Mr(m,s(m.ref.page),s),resources:o.of(m)})),d=Ok(this.runtime,this.session,A.map(m=>m.data));Ie("annotation",t,"pages",d.length);let p=Tr({pages:d,items:A});return Ie("annotation",t,"manifestBytes",p),Ie("annotation",t,"bundleBytes",p+o.totalBytes),{format:"embedpdf/annotations",version:1,pages:d,items:A,resources:o.byId}}},AO=class extends oO{constructor(e,t,r){super(e,"annotation",r),this.session=t,j(this,"drawings",new Map)}of(e){let t=Ri[e.subtype];if(!t)return{};let{fn:r}=this.runtime,n=this.rawHandleOf(e);try{let i={};if(t.appearance){let a=this.appearanceOf(n);a&&(i.appearance=a)}if(t.file){let a=this.fileOf(n);a&&(i.file=a)}return i}finally{r.FPDFPage_CloseAnnot(n)}}rawHandleOf(e){return Vc(this.runtime,this.session,e.ref)}appearanceOf(e){let{fn:t,mem:r}=this.runtime,n=t.EPDFAnnot_GetStampDrawing(e),i=n?this.drawings.get(n):void 0;if(i)return i;let a=n?t.EPDFDoc_ExportDrawing(this.session.requireDocPtr(),n):Hk(t,r,e);if(!a)return null;try{let o=this.keep(Tl(t,r,a,"a drawing").bytes);return n&&this.drawings.set(n,o),o}finally{t.FPDF_CloseDocument(a)}}fileOf(e){let t=this.runtime.fn.FPDFAnnot_GetFileAttachment(e);if(!t)return null;let r;try{r=Ph(this.runtime,t,this.limits.resourceBytes).bytes}catch(n){throw g.is(n,f.PayloadTooLarge)?new g(f.PayloadTooLarge,`the annotation bundle is past its resourceBytes limit: an attached file is larger than ${this.limits.resourceBytes}`,{details:{limit:"resourceBytes",max:this.limits.resourceBytes}}):n}return this.keep(r)}};function Ml(e,t,r,n,i){let a=new Map;for(let[d,p]of Object.entries(r.resources??{})){if(!(p instanceof ArrayBuffer))throw new g(f.InvalidArg,`${t} bundle: resource ${d} is not bytes`);a.set(d,p.byteLength)}i(r,a,n);let{fn:o,mem:s}=e,A=new Map;for(let[d,p]of Object.entries(r.resources??{})){let m=_m(o,s,new Uint8Array(p));if(`sha256-${m}`!==d)throw new g(f.InvalidArg,`${t} bundle: resource ${d} doesn\'t match its id`);A.set(p,m)}return A}function cO(e,t,r){let n=eo(r);n&&"width"in n&&Ie(e,t,"imagePixels",n.width*n.height)}var dO=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}import(e,t){O(t);let{bundle:r,limits:n}=e;this.assertBundle(r,n);let i=uF({bundle:e.attribution==="stamp"?pO(r):r,...e.pages!==void 0?{pages:e.pages}:{},target:this.session.allRecords().map(d=>({page:pe(d.pageObjectNumber),position:d.pageIndex})),nameTaken:(d,p)=>Bk(this.runtime,this.session.requireDocPtr(),this.session.resolvePageRef(d).pageIndex,p)>=0}),a=mi(this.runtime,this.session),o=i.creates.map(d=>{let p=r.items[d.item],m={};for(let[F,k]of Object.entries(p.resources))m[F]=r.resources[k];return{page:d.page,draft:no(d.draft,a(d.page),a),...d.replyTo?{replyTo:{to:{planned:d.replyTo.planned},type:d.replyTo.type}}:{},...d.parent!==void 0?{parent:{planned:d.parent}}:{},resources:m,attribution:uO(e,d.draft,p.data),...p.data.subtype==="file-attachment"&&p.data.file?{fileDates:{createdAt:p.data.file.createdAt,modifiedAt:p.data.file.modifiedAt}}:{},label:`import: item ${d.item}`}});for(let d of o)e.authorizeCreate?.(d.draft);let{created:s,meta:A}=new Sk(this.runtime,this.session,this.fonts).create(o,t);return{annotations:s,refMap:i.creates.map((d,p)=>({from:r.items[d.item].data.ref,to:s[p].ref})),dropped:[...i.dropped],meta:A}}assertBundle(e,t){let r=Ml(this.runtime,"annotation",e,t,fA),n=this.session.drawingIndex();for(let[i,a]of r)n.hashes.set(i,a);for(let i of e.items){let a=i.resources.appearance;a&&cO("annotation",t,e.resources[a])}}};function uO(e,t,r){let{actor:n}=e;if(e.attribution==="stamp"){let{groupId:i}=t,a=typeof i=="string"?{...n,groupId:i}:n;return{kind:"stamp",...a?{actor:a}:{}}}return{kind:"restore",from:{author:r.author,createdAt:r.createdAt,modifiedAt:r.modifiedAt,userId:r.userId,createdBy:r.createdBy,modifiedBy:r.modifiedBy,groupId:r.groupId??null},...n?.userId?{importedBy:n.userId}:{}}}function pO(e){return{...e,items:e.items.map(({data:{nm:t,...r},...n})=>({...n,data:r}))}}function Qk(e,t,r,n){let{fn:i,mem:a}=e;return V(a,Math.max(4,4*n.length),o=>(n.forEach((s,A)=>a.poke(o,"i32",s,4*A)),Pr(e,"annotations",s=>i.EPDFPage_ExportAnnotsRawToOwnedBuffer(t,r,o,n.length,s))))}function Rk(e,t,r,n){Ta(e,n,i=>{if(!e.fn.EPDFPage_ImportAnnotsRaw(t,r,i,n.byteLength))throw new g(f.Unknown,"EPDFPage_ImportAnnotsRaw refused a capture")})}function lO(e,t,r,n){return Pr(e,`object ${r}`,i=>e.fn.EPDFDoc_ExportDictRawToOwnedBuffer(t,r,n.join(" "),i))}function Zm(e,t,r,n,i=[]){return Pr(e,`object ${r}`,a=>e.fn.EPDFDoc_ExportDictCanonicalToOwnedBuffer(t,r,n.join(" "),i.join(" "),a))}function mO(e,t,r){Ta(e,r,n=>{if(!e.fn.EPDFDoc_ImportDictRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFDoc_ImportDictRaw refused a capture")})}function wO(e,t,r){return Pr(e,`field ${r}`,n=>e.fn.EPDFForm_ExportFieldRawToOwnedBuffer(t,r,n))}function bO(e,t,r){Ta(e,r,n=>{if(!e.fn.EPDFForm_ImportFieldRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFForm_ImportFieldRaw refused a capture")})}function fO(e,t,r){return Pr(e,`outline item ${r}`,n=>e.fn.EPDFOutline_ExportItemRawToOwnedBuffer(t,r,n))}function gO(e,t,r){Ta(e,r,n=>{if(!e.fn.EPDFOutline_ImportItemRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFOutline_ImportItemRaw refused a capture")})}function FO(e,t,r){return Pr(e,`page ${r}`,n=>e.fn.EPDFPage_ExportRawToOwnedBuffer(t,r,n))}function vO(e,t,r){Ta(e,r,n=>{if(!e.fn.EPDFPage_ImportRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFPage_ImportRaw refused a capture")})}function PO(e,t,r){return Pr(e,`attachment \'${r}\'`,n=>Wn(e.mem,r,i=>e.fn.EPDFAttachment_ExportRawToOwnedBuffer(t,i,n)))}function Tk(e,t,r){try{return Pr(e,`attachment \'${r}\'`,n=>Wn(e.mem,r,i=>e.fn.EPDFAttachment_ExportCanonicalToOwnedBuffer(t,i,n)))}catch(n){if(g.is(n))return null;throw n}}function hO(e,t,r){Ta(e,r,n=>{if(!e.fn.EPDFAttachment_ImportRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFAttachment_ImportRaw refused a capture")})}function Pr(e,t,r){let{fn:n,mem:i}=e;return V(i,8,a=>{Se(i,a,0);let o=r(a);if(!o)throw new g(f.Unknown,`the capture of ${t} failed`);try{return i.readBytes(o,Number(i.peek(a,"i32"))).slice()}finally{n.EPDF_FreeBuffer(o)}})}function Ta(e,t,r){let{mem:n}=e;return V(n,Math.max(1,t.byteLength),i=>(n.writeBytes(i,t),r(i)))}function ze(e,t,r=kO){if(Object.is(e,t))return!0;if(typeof e!="object"||typeof t!="object"||e===null||t===null)return!1;if(Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((o,s)=>ze(o,t[s]));let n=Nv(e,r),i=Nv(t,r);if(n.length!==i.length)return!1;let a=o=>o;return n.every(o=>i.includes(o)&&ze(a(e)[o],a(t)[o]))}var kO=new Set;function Nv(e,t){return Object.entries(e).filter(([r,n])=>n!==void 0&&!t.has(r)).map(([r])=>r)}function ve(e,t){return{item:{type:"skipped",op:t,meta:{affectedPages:[],cacheDelta:null,...e.session.writeStamp()}},reverse:[]}}function Cn(e,t,r){if(!r)return;let n=t,i=Object.entries(r).filter(([a,o])=>o!==void 0&&!ze(n[a],o)).map(([a])=>a);if(i.length>0)throw new g(f.ChangeConflict,`op ${e} expected other values in ${i.join(", ")}`,{details:{opIndex:e,fields:i}})}function ld(e,t){if(e.byteLength!==t.byteLength)return!1;for(let r=0;r({...n,after:Zm(e,t.requireDocPtr(),n.objectNumber,[])}))}function Ma(e,t,r){return r.every(n=>{let i=DO(e,t,n.objectNumber);return i!==null&&ld(i,n.after)})}function Gs(e,t,r){let n=sn(e,t,r),i=t.requireDocPtr();for(let a of r)a.before&&mO(e,i,a.before);return t.invalidateDerived(),Dt(e,t,n)}function DO(e,t,r){try{return Zm(e,t.requireDocPtr(),r,[])}catch(n){if(g.is(n))return null;throw n}}function BO(e,t,r,n){try{return lO(e,t.requireDocPtr(),r,n)}catch(i){if(g.is(i))return null;throw i}}function md(e,t,r){let{fn:n,mem:i}=e,a=t.requireDocPtr(),{pageIndex:o}=t.resolvePageRef(r),s=n.EPDFPage_GetAnnotCountRaw(a,o),A=[];for(let d=0;dr?.family===t?[r.ref]:[])}function Jm(e,t,r,n){if(r.length===0)throw new g(f.InvalidArg,"a reorder names at least one row",{details:{field:"refs"}});let i=new Map;e.entries.forEach((P,B)=>{P&&i.set(U(P.ref),B)});let a=Rr(n);(a?[...r,a]:r).forEach((P,B)=>{let y=a&&B===r.length?"position":"refs";if(P.page.objectNumber!==e.page.objectNumber)throw new g(f.InvalidArg,`${U(P)} is on page ${P.page.objectNumber}; a reorder stays on page ${e.page.objectNumber}`,{details:{field:y}});let x=i.get(U(P)),I=x===void 0?null:e.entries[x];if(I&&I.family!==t)throw new g(f.InvalidArg,EO(I.family),{details:{field:y}})});let o=Ll(e,t),s=mA(o,r,n,U),A=r.map(P=>i.get(U(P))),d=new Set(A),p=P=>P-A.filter(B=>Bi.get(U(P))).filter(P=>!d.has(P)),F=Math.min(...A),k;if(n==="start")k=m.length>0?p(m[0]):F;else if(n==="end")k=m.length>0?p(m.at(-1))+1:F;else{let P=p(i.get(U(a)));k="before"in n?P:P+1}return{stack:e,family:t,before:o,after:s,from:A,to:k}}function $m(e,t,r){let{fn:n,mem:i}=e;if(an(e,t,r.stack.page.objectNumber),!V(i,4*r.from.length,a=>(r.from.forEach((o,s)=>i.poke(a,"i32",o,4*s)),n.EPDFPage_MoveAnnotsRaw(t.requireDocPtr(),r.stack.pageIndex,a,r.from.length,r.to))))throw new g(f.Unknown,`the annotations of page ${r.stack.page.objectNumber} could not be reordered`)}function EO(e){return e==="widgets"?"widgets paint above every annotation and have an order of their own: reorder them with doc.forms.reorderWidgets":"annotations paint below every widget and have an order of their own: reorder them with page.annotations.reorder"}function gt(e,t,r,n=r){let i=new Set;for(let a of r)a.page&&i.add(a.page.objectNumber);return{affectedPages:[...i].map(a=>pe(a)),cacheDelta:null,...e,changedFields:t,changedWidgets:r,redrawnWidgets:n}}function Nl(e,t){return e==="checkbox"||e==="radio"?[]:[...t]}var _O=["AP","FS"];function yO(e,t){if(t.data.subtype==="widget")throw new g(f.InvalidArg,"a widget is the form\'s: create one with doc.forms.create or doc.forms.addWidget",{details:{field:"subtype"}});lt(e.authority,Ar(t.data.subtype));let r=ZA(e.authority,t.data.subtype,t.data.groupId),n=e.session.resolvePageRef(t.page).pageObjectNumber,i=nw(e).create(n,t.data,e.signal,{...r?{actor:r}:{},...t.resources?{resources:t.resources}:{},...t.objectNumber!==void 0?{objectNumber:t.objectNumber}:{}});return{item:{type:"annotations.create",page:t.page,...i},reverse:[{kind:"annotation.remove",ref:i.annotation.ref,left:[i.annotation]}]}}function GO(e,t){let r=t.attribution==="restore"?"import":void 0;r&&ew(e.authority);let n=new dO(e.runtime,e.session,e.fonts).import({bundle:t.bundle,...t.pages!==void 0?{pages:t.pages}:{},attribution:t.attribution,...t.actor?{actor:t.actor}:{},limits:t.limits,authorizeCreate:i=>{lt(e.authority,Ar(i.subtype)),r||ZA(e.authority,i.subtype,i.groupId??void 0)}},e.signal);return{item:{type:"annotations.import",...n},reverse:CO(e,n.annotations,r)}}function CO(e,t,r){let n=new Map,i=s=>{let A=n.get(s.page.objectNumber);return A||(A=Cs(e,s.page.objectNumber),n.set(s.page.objectNumber,A)),Ti(A,s)},a=t.map(s=>({ref:s.ref,left:i(s.ref)})),o=new Set(a.flatMap(s=>s.left.map(A=>U(A.ref)).filter(A=>A!==U(s.ref))));return a.filter(s=>!o.has(U(s.ref))).reverse().map(s=>({kind:"annotation.remove",ref:s.ref,left:s.left,...r?{rights:r}:{}}))}function ew(e){ge(e,"doc.annotate.modify"),ge(e,"doc.annotate.import")}function IO(e){return{...e,grants:null}}function SO(e,t,r){let n=qn(e,t.ref);if(n.subtype==="widget")throw new g(f.InvalidArg,"a widget is the form\'s: change its place and look with doc.forms.updateWidget");return lt(e.authority,Ar(n.subtype)),Cn(r,n,t.expect),tw(e,t.ref,t.patch,"annotations.update",t.resources)}function xO(e,t,r){let n=qn(e,t.ref);if(n.subtype==="widget")throw HO(n);return lt(e.authority,Ar(n.subtype)),Cn(r,n,t.expect),Kk(e,t.ref)}function HO(e){let t=e.field?.kind==="objectNumber"&&e.ref.kind==="objectNumber"&&e.field.objectNumber===e.ref.objectNumber;return new g(f.InvalidArg,t?"widget is its form field\'s own dictionary (a merged field/widget) - delete the field with doc.forms.delete":e.field?"widget is attached to a form field - use doc.forms.removeWidget or doc.forms.delete":"a widget is the form\'s: it isn\'t deleted as an annotation")}function OO(e,t){let r=Jm(md(e.runtime,e.session,t.page),"annotations",t.refs,t.position);return Lk(e,"annotations",t.refs),$m(e.runtime,e.session,r),Mk(e,r,t.refs)}function Mk(e,t,r){let{page:n}=t.stack;return{item:Nk(e,t.family,n,t.after,r),reverse:[{kind:"annotation.reorder",page:n,family:t.family,refs:r,before:t.before,after:t.after}]}}function QO(e,t){let r=t.subject.annotation,n=t.reports,i=KO(e,r);if(!i)return ve(e,n);if(lt(e.authority,Ar(i.subtype)),Ma(e.runtime,e.session,t.objects)){JA(e.authority,i,void 0);let B=Gs(e.runtime,e.session,t.objects);return{item:jk(e,n,r,{annotation:qn(e,r),appearance:{action:"restored",changed:t.appearanceChanged??!0},meta:ya(e.session.writeStamp(),r.page.objectNumber,[r])}),reverse:[{...t,objects:B,...NO(t.fallback)}]}}let a=t.fallback;if(a?.kind!=="annotation")return ve(e,n);let o=i,s=a.left,A=a.restore,d=Object.keys(s),p=d.filter(B=>ze(o[B],s[B]));if(p.length===0)return ve(e,n);let m=(B,y)=>B==="actions"&&i.subtype==="widget"?Nu(y):y,F=tw(e,r,Object.fromEntries(p.map(B=>[B,m(B,A[B])])),n),k=d.filter(B=>!p.includes(B)),P=F.item;return k.length===0||Nr(P)||P.type!==n?F:{...F,item:{...P,skipped:k}}}function RO(e,t){let r=rw(e,t.ref.page);if(!r)return ve(e,"annotations.delete");let n=Ti(r,t.ref),i=new Map(t.left.map(a=>[U(a.ref),a]));if(!(n.length>0&&n.length===i.size&&n.every(a=>{let o=i.get(U(a.ref));return o!==void 0&&ze(a,o)})))return ve(e,"annotations.delete");for(let a of Eo(n))lt(e.authority,a);return t.rights&&ew(e.authority),Kk(e,t.ref,t.rights)}function TO(e,t){let r=rw(e,t.page),n=t.members[0];if(!r||!n||r.some(A=>U(A.ref)===U(n)))return ve(e,"annotations.restore");let{pageIndex:i,pageObjectNumber:a}=e.session.resolvePageRef(t.page);Rk(e.runtime,e.session.requireDocPtr(),i,t.capture),e.session.invalidateDerived(),t.unlinked.length>0&&Ma(e.runtime,e.session,t.unlinked)&&Gs(e.runtime,e.session,t.unlinked);let o=Cs(e,a),s=t.members.map(A=>{let d=o.find(p=>U(p.ref)===U(A));if(!d)throw new Error(`a restored annotation is missing: ${U(A)}`);return d});for(let A of Eo(s))lt(e.authority,A);return t.rights?ew(e.authority):$A(e.authority,s),{item:{type:"annotations.restore",page:t.page,annotations:s,meta:ya(e.session.writeStamp(),a,t.members)},reverse:[{kind:"annotation.remove",ref:n,left:s,...t.rights?{rights:t.rights}:{}}]}}function MO(e,t){let r=t.family==="annotations"?"annotations.reorder":"forms.reorderWidgets",n=VO(e,t.page);if(!n)return ve(e,r);let i=Ll(n,t.family),a=t.refs.filter(p=>{let m=jv(i,p);return m!==void 0&&m===jv(t.after,p)});if(a.length===0)return ve(e,r);Lk(e,t.family,a);let o=new Set(a.map(U)),s=new Set(i.map(U).filter(p=>!o.has(p))),A=n;for(let p of t.before.filter(m=>o.has(U(m)))){let m=t.before.findIndex(P=>U(P)===U(p)),F=t.before.slice(0,m).reverse().find(P=>s.has(U(P))),k=Jm(A,t.family,[p],F?{after:F}:"start");$m(e.runtime,e.session,k),s.add(U(p)),A=md(e.runtime,e.session,t.page)}let d=Ll(A,t.family);return{item:Nk(e,t.family,t.page,d,a),reverse:[{...t,refs:a,before:i,after:d}]}}function jv(e,t){let r=e.findIndex(n=>U(n)===U(t));if(!(r<0))return r===0?null:U(e[r-1])}function Lk(e,t,r){if(t==="widgets"){ge(e.authority,"doc.forms.modify");return}let n=r.map(i=>qn(e,i));for(let i of Eo(n))ge(e.authority,i)}function Nk(e,t,r,n,i){let a=e.session.writeStamp();return t==="annotations"?{type:"annotations.reorder",page:r,order:n,meta:ya(a,r.objectNumber,i)}:{type:"forms.reorderWidgets",page:r,order:n,meta:gt(a,[],i.map(o=>({ref:o,objectNumber:gi(e,o),page:r})))}}function tw(e,t,r,n,i){an(e.runtime,e.session,t.page.objectNumber);let a=qn(e,t),o=a.subtype==="widget"?co(a.fieldKind,r):r,s=jO(a,o).map(m=>({objectNumber:gi(e,m),deep:[]})),A=sn(e.runtime,e.session,[{objectNumber:gi(e,t),deep:_O},...s]),d=nw(e).update(t,o,e.authority,e.signal,i),p=Dt(e.runtime,e.session,A);return{item:jk(e,n,t,d),reverse:[{kind:"objects.revert",reports:n,objects:p,subject:{annotation:t},appearanceChanged:d.appearance.changed,fallback:LO(a,d.annotation,o)}]}}function jk(e,t,r,n){if(t==="annotations.update")return{type:"annotations.update",page:r.page,...n};let i=n.annotation;if(i.subtype!=="widget")throw new Error("a widget update read back no widget");let a=Gt(gi(e,r),r.page);return{type:"forms.updateWidget",widget:i,appearance:n.appearance,meta:gt(e.session.writeStamp(),i.field?[i.field]:[],[a],n.appearance.changed?[a]:[])}}function Kk(e,t,r){let n=t.page.objectNumber;an(e.runtime,e.session,n);let i=Ti(Cs(e,n),t),a=new Set(i.map(F=>U(F.ref))),o=i.flatMap(F=>F.subtype==="popup"&&F.parent&&!a.has(U(F.parent))?[{objectNumber:gi(e,F.parent),deep:[]}]:[]),s=sn(e.runtime,e.session,o),{pageIndex:A}=e.session.resolvePageRef(t.page),d=i.length>0?Qk(e.runtime,e.session.requireDocPtr(),A,i.map(F=>kt(e.runtime,e.session,F.ref).index)):new Uint8Array,p=r?IO(e.authority):e.authority,m=nw(e).delete(t,p,e.signal);return{item:{type:"annotations.delete",page:t.page,...m},reverse:[{kind:"annotation.restore",page:t.page,members:m.meta.changedRefs,capture:d,unlinked:Dt(e.runtime,e.session,s),...r?{rights:r}:{}}]}}function LO(e,t,r){let n=e,i=t,a=Object.keys(r).filter(o=>!ze(n[o],i[o]));return{kind:"annotation",restore:Object.fromEntries(a.map(o=>[o,n[o]])),left:Object.fromEntries(a.map(o=>[o,i[o]]))}}function NO(e){return e?.kind!=="annotation"?e?{fallback:e}:{}:{fallback:{kind:"annotation",restore:e.left,left:e.restore}}}function jO(e,t){let r=[];if("open"in t&&(e.subtype==="text"&&e.popup&&r.push(e.popup),e.subtype==="popup"&&e.parent&&r.push(e.parent)),e.subtype==="popup"&&"parent"in t){e.parent&&r.push(e.parent);let n=t.parent;n&&r.push(n)}return r}function nw(e){return new zm(e.runtime,e.session,e.fonts)}function qn(e,t){kt(e.runtime,e.session,t);let r=U(t),n=Cs(e,t.page.objectNumber).find(i=>U(i.ref)===r);if(!n)throw new Error(`annotation ${r} is on its page but reads as none`);return n}function KO(e,t){return rw(e,t.page)?.find(r=>U(r.ref)===U(t))??null}function Cs(e,t){return new rd(e.runtime,e.session,e.fonts).listOne(t,e.signal).annotations}function VO(e,t){try{return md(e.runtime,e.session,t)}catch{return null}}function rw(e,t){try{return Cs(e,e.session.resolvePageRef(t).pageObjectNumber)}catch{return null}}function gi(e,t){if(t.kind==="objectNumber")return t.objectNumber;let{pageIndex:r,index:n}=kt(e.runtime,e.session,t),i=wi(e.runtime,e.session,r,n);try{return e.runtime.fn.EPDFAnnot_GetObjectNumber(i)}finally{e.runtime.fn.FPDFPage_CloseAnnot(i)}}var ml=class{constructor(e,t){this.runtime=e,this.session=t}list(e){O(e);let{fn:t,mem:r}=this.runtime,n=this.session.requireDocPtr(),i=t.FPDFDoc_GetAttachmentCount(n),a=[];for(let o=0;onew YO(e.runtime,e.session),wd=e=>ge(e.authority,"doc.attachments.modify");function XO(e,t){wd(e);let r=iw(e).create(t.file,t.resources.file,e.signal);return{item:{type:"attachments.create",...r},reverse:[Yk(e,r.attachment.ref)]}}function WO(e,t){return wd(e),Vk(e,t.ref)}function UO(e,t){let r=Tk(e.runtime,e.session.requireDocPtr(),t.ref.key);return!r||!ld(r,t.left)?ve(e,"attachments.delete"):(wd(e),Vk(e,t.ref))}function qO(e,t){let r=iw(e);if(r.find(t.ref))return ve(e,"attachments.restore");wd(e),hO(e.runtime,e.session.requireDocPtr(),t.capture);let n=r.find(t.ref);if(!n)throw new g(f.Unknown,`attachment \'${t.ref.key}\' did not come back`);return{item:{type:"attachments.restore",attachment:n,meta:r.meta(t.ref)},reverse:[Yk(e,t.ref)]}}function Vk(e,t){let r=iw(e);if(!r.find(t))throw new g(f.NotFound,`no embedded file with key \'${t.key}\' in the document`,{details:{field:"ref"}});let n=PO(e.runtime,e.session.requireDocPtr(),t.key);return{item:{type:"attachments.delete",...r.delete(t,e.signal)},reverse:[{kind:"attachments.restore",ref:t,capture:n}]}}function Yk(e,t){let r=Tk(e.runtime,e.session.requireDocPtr(),t.key);if(!r)throw new g(f.Unknown,`attachment \'${t.key}\' is not there to guard`);return{kind:"attachments.remove",ref:t,left:r}}var zO=20;function Kv(e,t,r,n,i,a){let{fn:o,mem:s}=e,A=o.EPDFPage_CreateAnnotRaw(t,r,zO,i??0);if(A===Y&&i!==void 0)throw us(i,"taken");if(A===Y)throw new g(f.Unknown,"failed to create widget annotation");try{gr(o,s,A,"NM",NA());let{page:d,rect:p,rotation:m,exportValue:F,actions:k,...P}=n;rt(o,s,A,p),m&&hk(o,A,m),Object.keys(P).length>0&&Wm(o,s,A,P,a),k&&vk(e,t,A,k);let B=o.EPDFAnnot_GetObjectNumber(A);if(B<=0)throw new g(f.Unknown,"widget annotation has no object number");return B}finally{o.FPDFPage_CloseAnnot(A)}}var ZO={readOnly:1,required:2,noExport:4,multiline:4096,password:8192,noToggleToOff:16384,edit:1<<18,multiSelect:1<<21,comb:1<<24,radiosInUnison:1<<25};function Vv(e){let t=0,r=0;for(let[n,i]of Object.entries(ZO)){let a=e[n];a===!0?t|=i:a===!1&&(r|=i)}return{setBits:t,clearBits:r}}function jt(e,t,r){let{fn:n}=e;if(r.kind==="objectNumber"){let a=n.EPDFForm_GetFieldIndexByObjNum(t,r.objectNumber);if(a<0)throw new g(f.NotFound,`form field not found: object ${r.objectNumber}`);return{fieldIndex:a,fieldObjectNumber:r.objectNumber}}let i=n.EPDFForm_CountFields(t);for(let a=0;an.EPDFForm_GetFieldName(t,a,o,s))??"")===r.name)return{fieldIndex:a,fieldObjectNumber:n.EPDFForm_GetFieldObjNum(t,a)};throw new g(f.NotFound,`form field not found: "${r.name}"`)}function Ec(e){return e.ref.kind==="objectNumber"?e.ref.objectNumber:0}var JO=1,$O={0:"whole-revision",1:"partial",2:"malformed"},eQ=0,tQ=1,nQ=2,rQ=3,iQ=4,aQ=5,oQ=6,sQ={1:"all",2:"include",3:"exclude"},AQ=0,jl=1,cQ=1,dQ=2,Yv=4,uQ=8,pQ=64,lQ=1<<17,mQ=0,wQ=1,bQ=2,fQ=2,gQ=432;function Fs(e,t){return we(e.mem,t,"")}function Xk(e){return e===1||e===2||e===3}function Wk(e,t,r){let{fn:n,mem:i}=e;return V(i,32,a=>{for(let o=0;o<4;o++)Se(i,a,0,o*8);return n.EPDFSig_GetByteRange(t,r,a)?[He(i,a,0),He(i,a,8),He(i,a,16),He(i,a,24)]:null})}function Xv(e,t,r,n){let{fn:i}=e,a=n===jl?i.EPDFSig_GetLockAction(t,r):i.EPDFSig_GetFieldMDPAction(t,r),o=sQ[a];if(!o)return null;let s=[],A=i.EPDFSig_GetFieldNameCount(t,r,n);for(let p=0;pi.EPDFSig_GetFieldNameAt(t,r,n,p,m,F))??"");let d={action:o,fields:s};if(n===jl){let p=i.EPDFSig_GetLockPermission(t,r);Xk(p)&&(d.permission=p)}return d}function FQ(e,t,r){let{fn:n}=e;if(!n.EPDFSig_HasSeedValue(t,r))return null;let i=n.EPDFSig_GetSeedValueRequiredFlags(t,r)>>>0,a=n.EPDFSig_GetSeedValuePresentFlags(t,r)>>>0,o=n.EPDFSig_GetSeedValueVersion(t,r),s=n.EPDFSig_GetSeedValueMDP(t,r),A=p=>{let m=n.EPDFSig_GetSeedValueListCount(t,r,p),F=[];for(let k=0;kn.EPDFSig_GetSeedValueListAt(t,r,p,k,P,B))??"");return F},d=p=>(i&p)!==0;return{parserVersion:o>0?o:null,parserVersionRequired:d(Yv),mdp:(a&lQ)!==0&&s>=0&&s<=3?s:null,filter:Fs(e,(p,m)=>n.EPDFSig_GetSeedValueFilter(t,r,p,m)),filterRequired:d(cQ),subFilters:A(mQ),subFiltersRequired:d(dQ),digestMethods:A(wQ),digestMethodsRequired:d(pQ),reasons:A(bQ),reasonsRequired:d(uQ),unsupportedRequired:(i&gQ)!==0||(i&Yv)!==0&&o>fQ}}function Fi(e,t){let{fn:r}=e,n=r.EPDFSig_Count(t),i=[],a=(o,s)=>Fs(e,(A,d)=>r.EPDFSig_GetString(t,o,s,A,d));for(let o=0;or.EPDFSig_GetFieldName(t,o,m,F))??"",widget:A>0?Gt(A,Dm(r.EPDFSig_GetWidgetPageObjNum(t,o))):null,signed:s,kind:r.EPDFSig_GetKind(t,o)===JO?"timestamp":"signature",filter:a(o,eQ),subFilter:a(o,tQ),byteRange:s?Wk(e,t,o):null,contentsSizeBytes:s?Math.max(0,r.EPDFSig_GetContents(t,o,Y,0)):0,coverage:s?$O[r.EPDFSig_GetCoverage(t,o)]??"malformed":null,revisionIndex:s&&d>=0?d:null,signer:{name:a(o,nQ),reason:a(o,rQ),location:a(o,iQ),contactInfo:a(o,aQ),signedAt:vQ(a(o,oQ))},docMdp:Xk(p)?p:null,catalogCertification:r.EPDFSig_IsCatalogCertification(t,o),fieldMdp:Xv(e,t,o,AQ),lock:Xv(e,t,o,jl),seedValue:FQ(e,t,o)})}return i}function Uk(e,t,r){let{fn:n,mem:i}=e,a=n.EPDFSig_GetContents(t,r,Y,0);if(a<=0)throw new g(f.NotFound,"signature has no usable /Contents (malformed encoding)");return V(i,a,o=>{if(n.EPDFSig_GetContents(t,r,o,a)!==a)throw new g(f.Unknown,"failed to read signature contents");let s=new Uint8Array(a);return s.set(i.readBytes(o,a)),s})}function Rc(e,t,r){let{fn:n,mem:i}=e,a=n.EPDFDoc_GetRevisionCount(t),o=[];return a<=0||he(i,[8,8],([s,A])=>{for(let d=0;dm.revisionIndex===d);o.push({index:d,end:He(i,s),xrefOffset:He(i,A),signatureIndex:p?p.index:null})}}),o}function Tc(e,t,r){let n=e.fn.EPDFSig_LoadModel(t);if(n===Y)throw new g(f.Unknown,"failed to build signature model");try{return r(n)}finally{e.fn.EPDFSig_CloseModel(n)}}function wl(e,t){let{fn:r,mem:n}=e,[i,a,o]=he(n,[4,4,4],([m,F,k])=>(n.poke(m,"i32",0),n.poke(F,"i32",0),n.poke(k,"i32",0),r.EPDFDoc_GetStructureObjectNumbers(t,m,F,k),[Number(n.peek(m,"i32"))>>>0,Number(n.peek(F,"i32"))>>>0,Number(n.peek(k,"i32"))>>>0])),s=[],A=r.FPDF_GetPageCount(t);for(let m=0;m{d.push({objectNumber:Ec(m),name:m.name,kind:m.kind,widgets:m.widgets.map(k=>k.objectNumber),flags:r.EPDFForm_GetFieldFlags(p,F)})})}finally{r.EPDFForm_CloseModel(p)}return{root:i,acroForm:a,pagesRoot:o,pages:s,fields:d,signatures:Tc(e,t,m=>Fi(e,m))}}function vQ(e){return e?Xn(e):null}var cs=new WeakMap;function Ba(e,t){let r=t.cacheSeq(),n=cs.get(t);if(n&&n.seq===r)return n.ptr;n&&(e.fn.EPDFSig_CloseModel(n.ptr),cs.delete(t));let i=e.fn.EPDFSig_LoadModel(t.requireDocPtr());if(i===Y)throw new g(f.Unknown,"failed to build signature model");return cs.set(t,{seq:r,ptr:i}),i}function _c(e,t){let r=cs.get(t);r&&(e.fn.EPDFSig_CloseModel(r.ptr),cs.delete(t))}var vs={sha1:0,sha256:1,sha384:2,sha512:3},PQ={sha1:20,sha256:32,sha384:48,sha512:64},st=class{constructor(e,t){this.runtime=e,this.session=t}readSnapshot(){let e=Ba(this.runtime,this.session),t=this.runtime.fn.EPDFSig_IsRevisionChainValid(e),r=Fi(this.runtime,e);return{chainValid:t,revisions:t?Rc(this.runtime,this.session.requireDocPtr(),r):[],signatures:r,protection:Ut(r)}}readProtection(){let e=Ba(this.runtime,this.session);return Ut(Fi(this.runtime,e))}readContents(e){let t=Ba(this.runtime,this.session),r=this.requireSignedIndex(t,e);return Uk(this.runtime,t,r).buffer}digest(e,t){let r=Ba(this.runtime,this.session),n=this.requireSignedIndex(r,e),i=Wk(this.runtime,r,n);if(!i)throw new g(f.NotFound,"signature has no usable /ByteRange");return this.digestRange(i,t)}revisionBytes(e){let t=this.readSnapshot();if(!t.chainValid)throw new g(f.MalformedPdf,"revision chain is not valid");let r=t.revisions[e];if(!r)throw new g(f.NotFound,`no revision ${e}`);return this.readLoadedBytes(0,r.end)}resolveField(e){let{fn:t}=this.runtime,r=Ba(this.runtime,this.session),n=this.indexOf(r,e);if(n<0)throw new g(f.NotFound,e.kind==="objectNumber"?`signature field not found: object ${e.objectNumber}`:`signature field not found: "${e.name}"`);let i=t.EPDFSig_GetWidgetObjNum(r,n);return{index:n,fieldObjectNumber:t.EPDFSig_GetFieldObjNum(r,n),signed:t.EPDFSig_IsSigned(r,n),widget:i>0?Gt(i,Dm(t.EPDFSig_GetWidgetPageObjNum(r,n))):null}}readSignatureByObjectNumber(e){let t=this.readSnapshot().signatures.find(r=>r.field.kind==="objectNumber"&&r.field.objectNumber===e);if(!t)throw new g(f.NotFound,`signature field not found: object ${e}`);return t}loadedBytes(){let e=Number(this.runtime.fn.EPDFDoc_GetLoadedBytesSize(this.session.requireDocPtr()));return this.readLoadedBytes(0,e)}version(){let{fn:e,mem:t}=this.runtime,r=this.session.requireDocPtr(),n=Number(e.EPDFDoc_GetBaseBytesSize(r));if(n<=0)throw new g(f.DocNotOpen,"document has no loaded bytes");if(this.session.kind==="layer")return{sha256:V(t,32,o=>{if(!e.EPDFLayer_GetBaseSha256(r,o))throw new g(f.Unknown,"failed to read the base hash");return Uv(t.readBytes(o,32))}),sizeBytes:n};let i=this.session.cachedPlainSha256();if(i)return{sha256:i,sizeBytes:n};let a=Uv(new Uint8Array(this.digestRange([0,n,n,0],"sha256")));return this.session.rememberPlainSha256(a),{sha256:a,sizeBytes:n}}digestRange(e,t){let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=PQ[t];return he(n,[32,a,8],([o,s,A])=>{for(let p=0;p<4;p++)Se(n,o,e[p],p*8);if(Se(n,A,a),!r.EPDFSig_DigestByteRange(i,o,vs[t],s,A))throw new g(f.InvalidArg,"byte range is not within the loaded bytes");let d=Number(n.peek(A,"i32"));return Wv(n.readBytes(s,d))})}readLoadedBytes(e,t){let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr();return t===0?new ArrayBuffer(0):V(n,t,a=>{if(r.EPDFDoc_ReadLoadedBytes(i,BigInt(e),a,t)!==t)throw new g(f.Unknown,"failed to read the loaded bytes");return Wv(n.readBytes(a,t))})}indexOf(e,t){let{fn:r}=this.runtime;if(t.kind==="objectNumber")return r.EPDFSig_GetIndexByFieldObjNum(e,t.objectNumber);let n=r.EPDFSig_Count(e);for(let i=0;ir.EPDFSig_GetFieldName(e,i,a,o))===t.name)return i;return-1}requireSignedIndex(e,t){let{fn:r}=this.runtime,n=this.indexOf(e,t);if(n<0)throw new g(f.NotFound,t.kind==="objectNumber"?`signature field not found: object ${t.objectNumber}`:`signature field not found: "${t.name}"`);if(!r.EPDFSig_IsSigned(e,n))throw new g(f.NotFound,"signature field is not signed");return n}readString(e,t,r){return this.readWide((n,i)=>this.runtime.fn.EPDFSig_GetString(e,t,r,n,i))}readWide(e){return we(this.runtime.mem,e,"")}};function Wv(e){let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(e),t}function Uv(e){let t="";for(let r of e)t+=r.toString(16).padStart(2,"0");return t}function Kl(e,t){if(t.signedDocumentPolicy!=="protect")return null;let r;try{r=new st(e,t).readProtection()}catch{return null}return r.fieldLocks.length===0?null:n=>Yu(r,n)}function hQ(e,t){let r=t?.(e);if(r)throw new g(f.ProtectedDocument,`form field "${e}" is locked by signature ${r.signatureIndex} (${r.source==="fieldmdp"?"FieldMDP":"/Lock"})`)}var kQ=0;function qk(e,t,r,n,{recordFit:i}){let{mem:a,fn:o}=e,s=new tn;try{let A=r.page?o.EPDFDoc_LoadPageByObjectNumber(t,r.page.objectNumber):Y;if(!A)throw new g(f.NotFound,"the widget page could not be loaded");s.push(()=>o.FPDF_ClosePage(A));let d=o.EPDFPage_GetAnnotByObjectNumber(A,r.objectNumber);if(!d)throw new g(f.NotFound,"the signature widget could not be loaded");s.push(()=>o.FPDFPage_CloseAnnot(d));let p=a.alloc(n.byteLength);s.push(()=>a.free(p)),a.writeBytes(p,n);let m=o.FPDF_LoadMemDocument64(p,n.byteLength,"");if(!m)throw new g(f.MalformedPdf,"the appearance PDF could not be opened");s.push(()=>o.FPDF_CloseDocument(m));let F=o.FPDF_GetPageCount(m);if(F!==1)throw new g(f.InvalidArg,`the appearance PDF has ${F} pages; a signature appearance takes a one-page PDF`);if(!o.EPDFAnnot_SetAppearanceFromPage(d,m,0))throw new g(f.InvalidArg,"the appearance page could not be drawn into the widget");if(!o.EPDFAnnot_UpdateAppearanceToRect(d,kQ))throw new g(f.Unknown,"the appearance page could not be fitted into the widget");i&&gm(o,a,d,"contain")}finally{s.close()}}function Ps(e,t){let{fn:r}=e,n=[],i=r.EPDFForm_CountCalculationOrder(t);for(let a=0;a0&&!n.includes(s)&&n.push(s)}return n}function Vl(e,t,r){let{fn:n,mem:i}=e;if(!nn(i,r,(a,o)=>n.EPDFForm_SetCalculationOrder(t,a,o)))throw new g(f.InvalidArg,"the calculation order could not be written")}function Mc(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}function DQ(e,{before:t,after:r},n){let i=r.filter(o=>!t.includes(o)),a=e.filter(o=>!i.includes(o));for(let o of t){if(r.includes(o)){if(mc(t,o)===mc(r,o)||mc(e,o)!==mc(r,o))continue;a=a.filter(p=>p!==o)}else if(a.includes(o)||!n(o))continue;let s=t.indexOf(o),A=t.slice(0,s).reverse().find(p=>a.includes(p)),d=A===void 0?0:a.indexOf(A)+1;a=[...a.slice(0,d),o,...a.slice(d)]}return a}function mc(e,t){let r=e.indexOf(t);if(!(r<0))return r===0?null:e[r-1]}var qv={keystroke:0,format:1,validate:2,calculate:3};function zv(e,t,r,n,i){for(let a of Object.keys(qv)){let o=i[a];if(o===void 0)continue;if(o!==null&&!wo(o))throw new g(f.InvalidArg,`a field\'s ${a} event takes JavaScript only`,{details:{field:`actions.${a}`}});let s=n?.[a];if(o===null?!s:s!==void 0&&BQ(s,o))continue;let A=o===null?Y:Xm(e,t,o);if(!e.fn.EPDFForm_SetFieldEventAction(t,r,qv[a],A))throw new g(f.Unknown,`the field\'s ${a} script could not be written`)}}function BQ(e,t){if(e.incomplete||!e.root)return!1;let r=(n,i)=>{if(!n||n.type!=="javascript"||n.script!==i.script)return!1;let a=i.next??[];return n.next.length===a.length&&n.next.every((o,s)=>r(o,a[s]))};return r(e.root,t)}var EQ={none:0,scalar:1,array:2};function Zv(e,t,r,n,i){let{fn:a}=e;if(n.kind==="unsupported")return!1;let o=n.kind==="scalar"?[n.value]:n.kind==="array"?n.values:[],s=i==="value"?a.EPDFForm_SetFieldValue:a.EPDFForm_SetFieldDefaultValue;return Ga(e,o,(A,d)=>s(t,r,EQ[n.kind],A,d))}function _Q(e,t,r,n){return nn(e.mem,n,(i,a)=>e.fn.EPDFForm_SetFieldSelectedIndices(t,r,i,a))}var yQ={pushbutton:1,checkbox:2,radio:3,text:4,combobox:5,listbox:6,signature:7},GQ={visible:0,hidden:1,noPrint:2,noView:3},bl=256,CQ=1,Jv=new Set(["text","checkbox","radio","combobox","listbox"]),Ft=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}setValue(e,t,r,n){O(r);let i=Ee(this.runtime,this.session),a=jt(this.runtime,i,e);this.assertWritable(a);let o=this.session.requireDocPtr(),s=tt(this.runtime,i,a.fieldIndex,o),A=Ou({field:s,widgets:[]},t).field,d=this.writeFieldAfter(a.fieldObjectNumber,s,A);return d&&Hx(this.runtime,o,a.fieldObjectNumber,n),this.readBack(a.fieldObjectNumber,d??[])}setDisplay(e,t,r){O(r);let n=jt(this.runtime,Ee(this.runtime,this.session),e);this.assertWritable(n);let i=this.session.requireDocPtr(),a=this.withChangedWidgets((o,s,A)=>this.runtime.fn.EPDFForm_SetFieldDisplay(i,n.fieldObjectNumber,GQ[t],o,s,A));if(a===null)throw new g(f.Unknown,"the field could not be shown or hidden");return this.readBack(n.fieldObjectNumber,a,!1)}setAppearanceText(e,t,r){O(r);let n=Ee(this.runtime,this.session),i=jt(this.runtime,n,e);this.assertWritable(i);let a=this.session.requireDocPtr(),o=tt(this.runtime,n,i.fieldIndex,a);if(o.kind!=="text"&&o.kind!=="combobox")throw new g(f.InvalidArg,`appearance text does not apply to a ${o.kind} field`);let s=Wn(this.runtime.mem,t,A=>this.withChangedWidgets((d,p,m)=>this.runtime.fn.EPDFForm_SetFieldAppearanceText(a,i.fieldObjectNumber,A,d,p,m)));if(s===null)throw new g(f.Unknown,"the appearance text could not be drawn");return this.readBack(i.fieldObjectNumber,s,!0)}emptyMeta(){return{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}reset(e,t){O(t);let r=this.session.requireDocPtr(),n=Ee(this.runtime,this.session),i=e===void 0?this.wholeFormTargets(n):this.namedTargets(n,e);O(t);let a=i.filter(d=>!Hu(d)).flatMap(d=>{let p=Qu({field:d,widgets:[]}).field,m=this.writeFieldAfter(Ec(d),d,p);return m?(p3(this.runtime,r,Ec(d)),[{before:d,changed:m}]):[]});a.length>0&&this.session.invalidateDerived();let o=[],s=[],A=[];for(let{before:d,changed:p}of a){let m=this.readBackField(Ec(d));if(p.length===0&&Yi(d.valueEntry,m.valueEntry))continue;o.push(m);let F=new Set(p),k=m.widgets.filter(P=>F.has(P.objectNumber)).map(P=>Gt(P.objectNumber,P.page));s.push(...k),A.push(...Nl(m.kind,k))}return{fields:o,meta:gt(this.session.writeStamp(),o.map(d=>d.ref),s,A)}}wholeFormTargets(e){let t=this.session.requireDocPtr(),r=Kl(this.runtime,this.session),n=[],i=this.runtime.fn.EPDFForm_CountFields(e);for(let a=0;a{if(!r.EPDFForm_Repair(this.session.requireDocPtr(),i,o))throw new g(f.Unknown,"form repair failed");return{acroformCreated:Number(n.peek(o,"i32",0))!==0,fieldsLinked:Number(n.peek(o,"i32",4)),widgetsLinked:Number(n.peek(o,"i32",8)),fieldsUnrepairable:Number(n.peek(o,"i32",12)),appearancesBaked:Number(n.peek(o,"i32",16)),needsAppearancesCleared:Number(n.peek(o,"i32",20))!==0}});return this.session.invalidateDerived(),{...a,meta:this.emptyMeta()}}createField(e,t,r,n={}){O(t);let{fn:i}=this.runtime,a=this.session.requireDocPtr(),o=(e.widgets??[]).map(k=>VA(co(e.kind,k))),s=o.map(k=>this.preflightPlacement(k)),A=o.map(k=>$v(e.kind,k));if(CA(e),"maxLength"in e&&e.maxLength!==void 0&&(!Number.isInteger(e.maxLength)||e.maxLength<=0))throw new g(f.InvalidArg,`maxLength must be a positive integer, got ${e.maxLength}`,{details:{field:"maxLength"}});let{objectNumber:d,widgetObjectNumbers:p}=n;if(p&&p.length!==o.length)throw new g(f.InvalidArg,`forms.create needs one widget object number per widget: ${p.length} for ${o.length}`,{details:{field:"widgetObjectNumbers"}});d!==void 0&&this.session.claimObjectNumber(d);for(let k of p??[])this.session.claimObjectNumber(k);O(t);let m=this.createFieldNode(e,d);this.configureNewField(e,m),xx(this.runtime,a,m,r),e.groupId!==void 0&&Ev(this.runtime,a,m,e.groupId),o.forEach((k,P)=>{let B=Kv(this.runtime,a,s[P],k,p?.[P],Qc(this.runtime,this.session,this.fonts));if(!i.EPDFForm_AttachWidget(a,m,B,A[P],0))throw new g(f.Unknown,"widget adoption failed")});let F=this.followCalculateScript(m,e.actions?.calculate);return this.session.invalidateDerived(),{field:this.readBackField(m),calculationOrder:F}}nativeDeleteField(e){let{fn:t,mem:r}=this.runtime;return he(r,[256*4,8],([n,i])=>(Se(r,i,0),t.EPDFForm_DeleteField(this.session.requireDocPtr(),e,n,256,i)))}preflightPlacement(e){let t=this.session.resolvePageRef(e.page),{left:r,bottom:n,right:i,top:a}=e.rect;if(![r,n,i,a].every(Number.isFinite))throw new g(f.InvalidArg,"widget rect must be finite numbers",{details:{field:"rect"}});return t.pageIndex}createFieldNode(e,t){let{fn:r,mem:n}=this.runtime,i=n.writeU16String(e.name),a;try{a=r.EPDFForm_CreateField(this.session.requireDocPtr(),yQ[e.kind],i,t??0)}finally{n.free(i)}if(a<=0)throw new g(f.InvalidArg,`cannot create field "${e.name}" (name conflict or invalid)`);return a}configureNewField(e,t){let{fn:r}=this.runtime,n=this.session.requireDocPtr(),{setBits:i,clearBits:a}=Vv(e);if((i!==0||a!==0)&&r.EPDFForm_SetFieldFlags(n,t,i,a),"options"in e&&e.options&&this.applyOptions(t,e.options),this.writeDefault(t,{kind:"none"},CA(e)),"maxLength"in e&&e.maxLength!==void 0&&!r.EPDFForm_SetFieldMaxLen(n,t,e.maxLength))throw new g(f.InvalidArg,"maxLength rejected");e.alternateName!==void 0&&this.applyWideSetter(r.EPDFForm_SetFieldAlternateName,t,e.alternateName,"alternate name rejected"),e.mappingName!==void 0&&this.applyWideSetter(r.EPDFForm_SetFieldMappingName,t,e.mappingName,"mapping name rejected"),e.actions&&zv(this.runtime,n,t,void 0,e.actions)}setSignatureAppearance(e,t,r){O(r);let n=this.session.requireDocPtr(),i=Ee(this.runtime,this.session),a=jt(this.runtime,i,e);this.assertWritable(a);let o=tt(this.runtime,i,a.fieldIndex,n);if(o.kind!=="signature")throw new g(f.InvalidArg,`\'${o.name}\' is a ${o.kind} field, not a signature field`);if(Tc(this.runtime,n,s=>Fi(this.runtime,s).some(A=>A.signed&&A.field.kind==="objectNumber"&&A.field.objectNumber===a.fieldObjectNumber)))throw new g(f.ProtectedDocument,`\'${o.name}\' is signed; its appearance is sealed with the signature`);if(o.widgets.length===0)throw new g(f.InvalidArg,`\'${o.name}\' has no widget to draw into`);for(let s of o.widgets)qk(this.runtime,n,s,t,{recordFit:!0});return this.session.invalidateDerived(),{field:this.readBackField(a.fieldObjectNumber)}}updateField(e,t,r){O(r);let{fn:n}=this.runtime,i=this.session.requireDocPtr(),a=Ee(this.runtime,this.session),o=jt(this.runtime,a,e);this.assertWritable(o);let s=tt(this.runtime,a,o.fieldIndex,this.session.requireDocPtr());xQ(t,s.kind),"defaultValue"in t&&t.defaultValue!==void 0&&IA({field:s,widgets:[]},t);let A=o.fieldObjectNumber;t.name!==void 0&&this.applyWideSetter(n.EPDFForm_SetFieldName,A,t.name,`cannot rename to "${t.name}" (sibling conflict or invalid)`);let{setBits:d,clearBits:p}=Vv(t);if((d!==0||p!==0)&&!n.EPDFForm_SetFieldFlags(i,A,d,p))throw new g(f.InvalidArg,"flag update rejected");if("maxLength"in t&&t.maxLength!==void 0&&!n.EPDFForm_SetFieldMaxLen(i,A,t.maxLength??0))throw new g(f.InvalidArg,"maxLength rejected (current value exceeds it)");t.alternateName!==void 0&&this.applyWideSetter(n.EPDFForm_SetFieldAlternateName,A,t.alternateName??"","alternate name rejected"),t.mappingName!==void 0&&this.applyWideSetter(n.EPDFForm_SetFieldMappingName,A,t.mappingName??"","mapping name rejected"),t.groupId!==void 0&&t.groupId!==s.groupId&&Ev(this.runtime,i,A,t.groupId);let m="options"in t&&t.options!==void 0,F="defaultValue"in t&&t.defaultValue!==void 0;if(m||F){let P=IA({field:s,widgets:[]},t).field;"options"in t&&t.options&&this.applyOptions(A,t.options),this.writeDefault(A,s.defaultValueEntry,P.defaultValueEntry),m&&this.writeFieldAfter(A,s,P,!0)}t.actions&&zv(this.runtime,i,A,s.actions,t.actions);let k=this.followCalculateScript(A,t.actions?.calculate);return this.session.invalidateDerived(),{field:this.readBackField(A),calculationOrder:k}}reorderCalculations(e,t,r){O(r);let n=Ee(this.runtime,this.session),i=A=>jt(this.runtime,n,A).fieldObjectNumber,a=Ps(this.runtime,n),o=e.map(i),s=mA(a,o,t==="start"||t==="end"?t:"before"in t?{before:i(t.before)}:{after:i(t.after)},String);return O(r),Mc(a,s)||(Vl(this.runtime,this.session.requireDocPtr(),s),this.session.invalidateDerived()),{before:a,after:s,moved:o}}followCalculateScript(e,t){if(t===void 0)return null;let r=Ps(this.runtime,Ee(this.runtime,this.session)),n=r.includes(e),i=t===null?r.filter(a=>a!==e):n?r:[...r,e];return Mc(r,i)?null:(Vl(this.runtime,this.session.requireDocPtr(),i),{before:r,after:i})}deleteField(e,t){O(t);let r=Ee(this.runtime,this.session),n=jt(this.runtime,r,e);this.assertWritable(n);let i=tt(this.runtime,r,n.fieldIndex,this.session.requireDocPtr()),a=i.widgets.map(A=>Gt(A.objectNumber,A.page));O(t);let o=this.followCalculateScript(n.fieldObjectNumber,null);if(!this.nativeDeleteField(n.fieldObjectNumber))throw new g(f.InvalidArg,"field cannot be deleted");this.session.invalidateDerived();let s=new zm(this.runtime,this.session);for(let A of a)A.ref&&s.deleteReleasedWidget(A.ref,n.fieldObjectNumber);return this.session.invalidateDerived(),{deleted:i.ref,removedWidgets:a,calculationOrder:o}}addWidget(e,t,r,n={}){O(r);let{fn:i}=this.runtime,a=this.session.requireDocPtr(),o=Ee(this.runtime,this.session),s=jt(this.runtime,o,e);this.assertWritable(s);let A=tt(this.runtime,o,s.fieldIndex,a),d=VA(co(A.kind,t)),p=this.preflightPlacement(d),m=$v(A.kind,d),F=A.widgets.find(B=>B.objectNumber===s.fieldObjectNumber)?.page??null;n.objectNumber!==void 0&&this.session.claimObjectNumber(n.objectNumber);let k=F?n.splitObjectNumber:void 0;k!==void 0&&this.session.claimObjectNumber(k),O(r),F&&an(this.runtime,this.session,F.objectNumber);let P=Kv(this.runtime,a,p,d,n.objectNumber,Qc(this.runtime,this.session,this.fonts));if(!i.EPDFForm_AttachWidget(a,s.fieldObjectNumber,P,m,k??0))throw new g(f.InvalidArg,"the widget could not join the field");return this.session.invalidateDerived(),{field:this.readBackField(s.fieldObjectNumber),widget:Gt(P,t.page)}}detachWidget(e,t,r){O(r);let{fn:n}=this.runtime,i=Ee(this.runtime,this.session),a=jt(this.runtime,i,e);this.assertWritable(a);let o=eP(t);if(o===a.fieldObjectNumber)throw new g(f.InvalidArg,`widget ${o} is the field\'s own dictionary (a merged field/widget) and cannot be removed from it - delete the field with doc.forms.delete`);if(!n.EPDFForm_DetachWidget(this.session.requireDocPtr(),a.fieldObjectNumber,o))throw new g(f.InvalidArg,"widget is not attached to this field");return this.session.invalidateDerived(),{field:this.readBackField(a.fieldObjectNumber),widget:Gt(eP(t),t.page)}}applyOptions(e,t){let{fn:r}=this.runtime,n=this.session.requireDocPtr();if(!Ga(this.runtime,t.map(i=>i.label),i=>Ga(this.runtime,t.map(a=>a.value),(a,o)=>r.EPDFForm_SetFieldOptions(n,e,i,a,o))))throw new g(f.InvalidArg,"options rejected")}applyWideSetter(e,t,r,n){let{mem:i}=this.runtime,a=this.session.requireDocPtr(),o=i.writeU16String(r);try{if(!e(a,t,o))throw new g(f.InvalidArg,n)}finally{i.free(o)}}writeDefault(e,t,r){if(Yi(t,r))return;let n=this.session.requireDocPtr();if(!Zv(this.runtime,n,e,r,"default"))throw new g(f.InvalidArg,"default value rejected")}readBackField(e){let t=Ee(this.runtime,this.session),r=this.runtime.fn.EPDFForm_GetFieldIndexByObjNum(t,e);if(r<0)throw new g(f.Unknown,"form field vanished after write");return tt(this.runtime,t,r,this.session.requireDocPtr())}assertWritable(e){if(e.fieldObjectNumber===0)throw new g(f.InvalidArg,"form field is stored as a direct object and cannot be written");this.assertNotLockedBySignature(e)}assertNotLockedBySignature(e){let t=Kl(this.runtime,this.session);if(!t)return;let r=Ee(this.runtime,this.session);hQ(we(this.runtime.mem,(n,i)=>this.runtime.fn.EPDFForm_GetFieldName(r,e.fieldIndex,n,i))??"",t)}writeFieldAfter(e,t,r,n=!1){let{fn:i,mem:a}=this.runtime,o=this.session.requireDocPtr(),s=r.kind==="checkbox"||r.kind==="radio"?r.widgets:null,A=!Yi(t.valueEntry,r.valueEntry),d=s?.some((F,k)=>F.checked!==t.widgets[k]?.checked)??!1;if(!A&&!d&&!n)return null;let p=()=>new g(f.InvalidArg,`\'${r.name}\' could not take the value`);if(A&&!Zv(this.runtime,o,e,r.valueEntry,"value"))throw p();if(r.kind==="combobox"||r.kind==="listbox"){let F=r.options.flatMap((k,P)=>k.selected?[P]:[]);if(!_Q(this.runtime,o,e,F))throw p()}if(s?.length===0)return[];let m=this.withChangedWidgets((F,k,P)=>s?nn(a,s.map(B=>B.checked?1:0),(B,y)=>i.EPDFForm_SetFieldWidgetsChecked(o,e,B,y,F,k,P)):i.EPDFForm_RedrawFieldWidgets(o,e,F,k,P));if(m===null)throw p();return m}withChangedWidgets(e){let{mem:t}=this.runtime;return he(t,[bl*4,8],([r,n])=>{if(Se(t,n,0),!e(r,bl,n))return null;let i=Number(t.peek(n,"i32")),a=Math.min(i,bl),o=[];for(let s=0;so.has(A.objectNumber)).map(A=>Gt(A.objectNumber,A.page));return{field:a,meta:gt(this.session.writeStamp(),[a.ref],s,r===void 0?Nl(a.kind,s):r?s:[])}}},IQ=["kind","name","readOnly","required","noExport","alternateName","mappingName","groupId","actions"],SQ={text:["defaultValue","maxLength","multiline","password","comb"],radio:["radiosInUnison","noToggleToOff"],combobox:["edit","defaultValue","options"],listbox:["multiSelect","options","defaultValue"]};function xQ(e,t){if(e.kind!==void 0&&e.kind!==t)throw new g(f.InvalidArg,`patch family \'${e.kind}\' does not match field family \'${t}\'`,{details:{field:"kind"}});let r=new Set([...IQ,...SQ[t]??[]]);for(let[i,a]of Object.entries(e))if(a!==void 0&&!r.has(i))throw new g(f.InvalidArg,`\'${i}\' does not apply to a ${t} field`,{details:{field:i}});let n="defaultValue"in e?e.defaultValue:void 0;if(n!=null&&Array.isArray(n)!==(t==="listbox"))throw new g(f.InvalidArg,t==="listbox"?"a list\'s defaultValue is a list of option values":`a ${t} field\'s defaultValue is one string`,{details:{field:"defaultValue"}})}function $v(e,t){let{exportValue:r}=t;if(e!=="checkbox"&&e!=="radio"){if(r!==void 0)throw new g(f.InvalidArg,`\'exportValue\' applies to checkbox and radio widgets, not a ${e} field\'s`,{details:{field:"exportValue"}});return""}let n=r??(e==="checkbox"?"Yes":void 0);if(!n||n==="Off")throw new g(f.InvalidArg,e==="radio"?\'every radio button needs an exportValue other than "Off"\':`a checkbox\'s exportValue can\'t be "Off"`,{details:{field:"exportValue"}});return n}function eP(e){if(e.kind!=="objectNumber")throw new g(f.InvalidArg,"widget must be addressed by object number");return e.objectNumber}function HQ(e,t,r,n){let{formKind:i,needsAppearances:a,fields:o,calculationOrder:s}=w3(e,Ee(e,t),t.requireDocPtr());return{formKind:i,needsAppearances:a,fields:o,widgets:OQ(e,t,r,n),calculationOrder:s}}function OQ(e,t,r,n){let{fn:i}=e,a=t.requireDocPtr(),o=[],s=i.FPDF_GetPageCount(a);for(let A=0;Ai.EPDFPage_GetAnnotRaw(a,A,F),signal:r,family:"widgets",...n?{fonts:n}:{}});o.push(...m)}return o}function QQ(e,t,r,n){let{fn:i,mem:a}=e,o=[],s=new Set;for(let A of r){if(!A.ref||s.has(A.objectNumber))continue;s.add(A.objectNumber);let d=RQ(e,t,A);if(!d)continue;let p=wi(e,t,d.pageIndex,d.index);try{let m=Hc(i,a,p,A.ref.page.objectNumber,d.index,ms(t,n));m.subtype==="widget"&&o.push(m)}finally{i.FPDFPage_CloseAnnot(p)}}return gs(e,t,o),o}function zk(e,t,r,n){return{...r,widgets:QQ(e,t,r.meta.changedWidgets,n)}}function RQ(e,t,r){try{return kt(e,t,r.ref)}catch(n){if(g.is(n)&&n.code===f.NotFound)return null;throw n}}var Zk=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}import(e,t){O(t);let{bundle:r}=e;Ml(this.runtime,"form",r,e.limits,ro);let n=this.fieldNames(),i=pF({bundle:r,...e.pages!==void 0?{pages:e.pages}:{},target:this.session.allRecords().map(P=>({page:pe(P.pageObjectNumber),position:P.pageIndex})),nameTaken:P=>TQ(n,P),mayScript:e.mayScript,values:e.values}),a=this.calculationOrder(),o=mi(this.runtime,this.session),s=new Ft(this.runtime,this.session,this.fonts),A=this.session.requireDocPtr(),d=e.actor.userId??null,p=i.creates.map(P=>{let B=r.fields[P.field].data,{groupId:y,...x}=ko(P.draft,o),I=e.groupOf(y),{field:S}=s.createField({...x,...I!==void 0?{groupId:I}:{}},t,e.actor);S.widgets.forEach((T,W)=>this.writeFlags(T,P.flags[W])),this.session.invalidateDerived(),P.value&&s.setValue(S.ref,P.value,t,e.actor);let G=tP(S.ref);return e.attribution==="restore"&&(Ox(this.runtime,A,G,B,d),P.value&&_v(this.runtime,A,G,B,d)),G}),m=i.calculationOrder.map(P=>nP(p[P]));m.length>0&&s.reorderCalculations(m,"end",t),this.session.invalidateDerived();let F=this.calculationOrder(),k=p.map(P=>this.readField(P));return zk(this.runtime,this.session,{fields:k,refMap:i.creates.map((P,B)=>({from:r.fields[P.field].data.ref,to:k[B].ref})),dropped:[...i.dropped],...Mc(a,F)?{}:{calculationOrder:F.map(nP)},meta:gt(this.session.writeStamp(),k.map(P=>P.ref),k.flatMap(P=>P.widgets))},this.fonts)}planValues(e,t,r,n){O(r),Ml(this.runtime,"form",e,t,ro);let i=Kl(this.runtime,this.session),a=lF({bundle:e,target:this.readFields(),refusal:(o,s)=>{if(o.ref.kind!=="objectNumber")return"value-not-allowed";try{Ao(o,s)}catch(A){if(g.is(A))return"value-not-allowed";throw A}return i?.(o.name)?"locked":n(o)?null:"fill-not-allowed"}});return{writes:a.writes.filter(({target:o,value:s})=>!xu(o,Ao(o,s))),dropped:a.dropped}}writeValue(e,t,r,n,i){new Ft(this.runtime,this.session,this.fonts).setValue(e.target.ref,e.value,i,n);let a=tP(e.target.ref);return r==="restore"&&(_v(this.runtime,this.session.requireDocPtr(),a,t.fields[e.field].data,n.userId??null),this.session.invalidateDerived()),this.readField(a)}writeFlags(e,t){if(!e.ref)return;let r=Vc(this.runtime,this.session,e.ref);try{ym(this.runtime.fn,r,t)}finally{this.runtime.fn.FPDFPage_CloseAnnot(r)}}fieldNames(){let{fn:e,mem:t}=this.runtime,r=Ee(this.runtime,this.session),n=new Set;for(let i=0;ie.EPDFForm_GetFieldName(r,i,o,s));a&&n.add(a)}return n}readFields(){let e=Ee(this.runtime,this.session),t=this.session.requireDocPtr(),r=this.runtime.fn.EPDFForm_CountFields(e);return Array.from({length:r},(n,i)=>tt(this.runtime,e,i,t))}readField(e){let t=Ee(this.runtime,this.session),r=this.runtime.fn.EPDFForm_GetFieldIndexByObjNum(t,e);return tt(this.runtime,t,r,this.session.requireDocPtr())}calculationOrder(){return Ps(this.runtime,Ee(this.runtime,this.session))}};function TQ(e,t){if(e.has(t))return!0;for(let r of e)if(r.startsWith(`${t}.`)||t.startsWith(`${r}.`))return!0;return!1}function tP(e){if(e.kind!=="objectNumber")throw new Error("a written field has an object number");return e.objectNumber}function nP(e){return{kind:"objectNumber",objectNumber:e}}var Yl=["AP","MK"],MQ=new Set(["text","checkbox","radio","combobox","listbox"]),LQ=new Set(["forms.setValue","forms.setDisplay","forms.setAppearanceText","forms.reset","forms.setSignatureAppearance"]);function NQ(e,t,r){let n=Vt(e,t.field);return aw(e,n),Cn(r,yn(n.field),t.expect),rD(e,n,t.value)}function jQ(e,t){let r=Vt(e,t.field);return oR(e,r),iD(e,"forms.setDisplay",n=>n.setDisplay(t.field,t.display,e.signal),r)}function KQ(e,t){let r=Vt(e,t.field);return aw(e,r),iD(e,"forms.setAppearanceText",n=>n.setAppearanceText(t.field,t.text,e.signal),r)}function VQ(e,t){eD(e);let r=t.fields?t.fields.map(A=>Vt(e,A)):cD(e).filter(({field:A})=>MQ.has(A.kind));for(let A of r)Tn(e.authority,A.field.groupId,"fill");let n=sn(e.runtime,e.session,r.flatMap(xs)),i=new Ft(e.runtime,e.session,e.fonts).reset(t.fields?[...t.fields]:void 0,e.signal),a=Dt(e.runtime,e.session,n),o=new Set(i.fields.map(A=>hs(A.ref))),s={type:"forms.reset",...hi(e,i)};return o.size===0?{item:s,reverse:[]}:{item:s,reverse:[{kind:"objects.revert",reports:"forms.reset",objects:a,subject:{fields:[...o]},fallback:{kind:"value",fields:r.filter(({objectNumber:A})=>o.has(A)).map(({objectNumber:A,field:d})=>({objectNumber:A,before:yn(d),left:yn(i.fields.find(p=>hs(p.ref)===A))}))}}]}}function YQ(e,t){ge(e.authority,"doc.forms.modify"),ip(t.draft)&&ge(e.authority,"doc.forms.script");let r=tD(e,t.draft.groupId),{field:n,calculationOrder:i}=new Ft(e.runtime,e.session,e.fonts).createField({...t.draft,...r!==void 0?{groupId:r}:{}},e.signal,e.authority.identity,{...t.objectNumber!==void 0?{objectNumber:t.objectNumber}:{},...t.widgetObjectNumbers?{widgetObjectNumbers:t.widgetObjectNumbers}:{}});return{item:{type:"forms.create",...cw(e,n),...sD(i)},reverse:[{kind:"field.remove",objectNumber:hs(n.ref),left:n}]}}function XQ(e,t,r){ge(e.authority,"doc.forms.modify"),or(t.patch.actions)&&ge(e.authority,"doc.forms.script");let n=Vt(e,t.field);return t.patch.groupId!==void 0&&t.patch.groupId!==n.field.groupId&&ec(e.authority,t.patch.groupId),Cn(r,Lc(n.field),t.expect),aD(e,n,t.patch)}function WQ(e,t,r){ge(e.authority,"doc.forms.modify");let n=Vt(e,t.field);return Cn(r,n.field,t.expect),Aw(e,n)}function UQ(e,t){ge(e.authority,"doc.forms.modify"),or(t.placement.actions)&&ge(e.authority,"doc.forms.script");let r=Vt(e,t.field),n=new Set([t.placement.page.objectNumber]);for(let p of r.field.widgets)p.objectNumber===r.objectNumber&&p.page&&n.add(p.page.objectNumber);let i=sn(e.runtime,e.session,[...xs(r),...[...n].map(p=>({objectNumber:p,deep:[]}))]),{field:a}=new Ft(e.runtime,e.session,e.fonts).addWidget(t.field,t.placement,e.signal,{...t.objectNumber!==void 0?{objectNumber:t.objectNumber}:{},...t.splitObjectNumber!==void 0?{splitObjectNumber:t.splitObjectNumber}:{}}),o=new Set(r.field.widgets.map(p=>p.objectNumber)),s=a.widgets.filter(p=>!o.has(p.objectNumber)),A=s.map(p=>({objectNumber:p.objectNumber,deep:Yl,before:null})),d=Dt(e.runtime,e.session,[...i,...A]);return{item:{type:"forms.addWidget",...hi(e,{field:a,meta:gt(e.session.writeStamp(),[a.ref],s)})},reverse:[Is("forms.removeWidget",d,[r.objectNumber])]}}function qQ(e,t){ge(e.authority,"doc.forms.modify");let r=Vt(e,t.field),n=t.widget.kind==="objectNumber"?t.widget.objectNumber:0,i=sn(e.runtime,e.session,[{objectNumber:r.objectNumber,deep:[]},{objectNumber:n,deep:[]}]),a=new Ft(e.runtime,e.session,e.fonts).detachWidget(t.field,t.widget,e.signal),o=Dt(e.runtime,e.session,i);return{item:{type:"forms.removeWidget",...hi(e,{field:a.field,meta:gt(e.session.writeStamp(),[a.field.ref],[a.widget])})},reverse:[Is("forms.addWidget",o,[r.objectNumber])]}}function zQ(e,t,r){ge(e.authority,"doc.forms.modify");let n=qn(e,t.widget);if(n.subtype!=="widget")throw new g(f.InvalidArg,`${n.subtype} is not a widget: delete it with page.annotations.delete`,{details:{field:"widget"}});return Cn(r,n,t.expect),nD(e,n)}function ZQ(e,t){ge(e.authority,"doc.forms.modify");let r;try{r=e.session.resolvePageRef(t.page).pageIndex}catch{return ve(e,"forms.restoreWidget")}if(AD(e,t.widget))return ve(e,"forms.restoreWidget");let n=t.detached.filter(o=>o.objectNumber===t.fieldObjectNumber);if(!Ma(e.runtime,e.session,n))return ve(e,"forms.restoreWidget");Rk(e.runtime,e.session.requireDocPtr(),r,t.capture),e.session.invalidateDerived(),t.detached.length>0&&Gs(e.runtime,e.session,t.detached);let i=gR(e,t.widget),a=t.fieldObjectNumber===null?null:Ss(e,t.fieldObjectNumber).field;return{item:{type:"forms.restoreWidget",field:a,widgets:[i],meta:gt(e.session.writeStamp(),a?[a.ref]:[],[FR(e,t.widget)])},reverse:[{kind:"widget.delete",widget:t.widget,left:i}]}}function JQ(e,t){ge(e.authority,"doc.forms.modify");let r=AD(e,t.widget);return!r||!ze(r,t.left)?ve(e,"forms.deleteWidget"):nD(e,r)}function $Q(e,t,r){ge(e.authority,"doc.forms.modify"),or(t.patch.actions)&&ge(e.authority,"doc.forms.script");let n=qn(e,t.widget);if(n.subtype!=="widget")throw new g(f.InvalidArg,`${n.subtype} is not a widget: change it with doc.annotations.update`,{details:{field:"widget"}});return Cn(r,n,t.expect),tw(e,t.widget,{...t.patch,subtype:"widget"},"forms.updateWidget")}function eR(e,t){ge(e.authority,"doc.forms.modify");let{before:r,after:n,moved:i}=new Ft(e.runtime,e.session,e.fonts).reorderCalculations(t.fields,t.position,e.signal);return{item:Jk(e,n,i),reverse:[ow({before:r,after:n})]}}function tR(e,t){ge(e.authority,"doc.forms.modify");let r=Ps(e.runtime,Ee(e.runtime,e.session)),n=DQ(r,t,i=>Pi(e,i)!==null);return Mc(r,n)?ve(e,"forms.reorderCalculations"):(Vl(e.runtime,e.session.requireDocPtr(),n),e.session.invalidateDerived(),{item:Jk(e,n,[...new Set([...r,...n])].filter(i=>r.indexOf(i)!==n.indexOf(i))),reverse:[ow({before:r,after:n})]})}function Jk(e,t,r){return{type:"forms.reorderCalculations",calculationOrder:t.map(Xl),meta:gt(e.session.writeStamp(),r.map(Xl),[])}}function nR(e,t){ge(e.authority,"doc.forms.modify");let r=Jm(md(e.runtime,e.session,t.page),"widgets",t.widgets,t.position);return $m(e.runtime,e.session,r),Mk(e,r,t.widgets)}function rR(e,t){let r=Vt(e,t.field);return Tn(e.authority,r.field.groupId,"sign"),sw(e,r,"forms.setSignatureAppearance",()=>new Ft(e.runtime,e.session,e.fonts).setSignatureAppearance(t.field,t.appearance.pdf,e.signal))}function iR(e,t){ge(e.authority,"doc.forms.modify");let r=$k(e,t),n=new Zk(e.runtime,e.session,e.fonts).import({bundle:t.bundle,...t.pages!==void 0?{pages:t.pages}:{},attribution:t.attribution,values:t.values??!0,actor:t.actor??{},limits:t.limits,mayScript:(t.mayScript??!1)&&wp(e.authority,"doc.forms.script"),groupOf:a=>r?a:tD(e,a)},e.signal),i=n.fields.map(a=>({kind:"field.remove",objectNumber:hs(a.ref),left:a,...r?{rights:r}:{}}));return{item:{type:"forms.import",...n},reverse:i.reverse()}}function aR(e,t){eD(e);let r=$k(e,t),n=new Zk(e.runtime,e.session,e.fonts),i=n.planValues(t.bundle,t.limits,e.signal,s=>cr(e.authority,s.groupId,"fill")),a=[],o=[];for(let s of i.writes){let A={objectNumber:hs(s.target.ref),field:s.target},d=sn(e.runtime,e.session,xs(A)),p=n.writeValue(s,t.bundle,t.attribution,t.actor??{},e.signal),m=Dt(e.runtime,e.session,d);a.push(p),o.push({...Is("forms.setValue",m,[A.objectNumber]),fallback:{kind:"value",fields:[{objectNumber:A.objectNumber,before:yn(s.target),left:yn(p)}]},...r?{rights:r}:{}})}return{item:{type:"forms.importValues",...hi(e,{fields:a,dropped:[...i.dropped],meta:gt(e.session.writeStamp(),a.map(s=>s.ref),a.flatMap(s=>s.widgets))})},reverse:o.reverse()}}function $k(e,t){if(t.attribution==="restore")return ge(e.authority,"doc.forms.import"),"import"}function aw(e,t){if(!cr(e.authority,t.field.groupId,"fill")){if(AR(e,t)&&e.fillsOwnField()){lt(e.authority,"doc.forms.fill");return}Tn(e.authority,t.field.groupId,"fill")}}function oR(e,t){if(!cr(e.authority,t.field.groupId,"fill")){if(e.fillsOwnField()){lt(e.authority,"doc.forms.fill");return}Tn(e.authority,t.field.groupId,"fill")}}function eD(e){bp(e.authority,"fill")||ge(e.authority,"doc.forms.fill")}function sR(e,t){let r=t.reports==="forms.setSignatureAppearance"?"sign":"fill";lt(e.authority,r==="sign"?"doc.sign":"doc.forms.fill");for(let n of t.subject.fields){let i=Pi(e,n);i&&(r==="sign"?Tn(e.authority,i.field.groupId,"sign"):aw(e,i))}}function tD(e,t){let r=t??e.authority.identity.groupId;return r!==void 0&&ec(e.authority,r),r}function AR(e,t){return t.field.actions?.calculate?Ps(e.runtime,Ee(e.runtime,e.session)).includes(t.objectNumber):!1}function cR(e,t){return t.some(r=>{if(r.type!=="forms.setValue"&&r.type!=="forms.setAppearanceText")return!1;let n=bd(e,r.field);return n!==null&&cr(e.authority,n.field.groupId,"fill")})}function dR(e,t){return t.some(r=>r.kind==="objects.revert"&&(r.reports==="forms.setValue"||r.reports==="forms.setAppearanceText")&&"fields"in r.subject&&r.subject.fields.some(n=>{let i=Pi(e,n);return i!==null&&cr(e.authority,i.field.groupId,"fill")}))}function uR(e,t){if(LQ.has(t.reports)?sR(e,t):ge(e.authority,"doc.forms.modify"),t.rights&&ge(e.authority,"doc.forms.import"),Ma(e.runtime,e.session,t.objects)){let i=Gs(e.runtime,e.session,t.objects),a=t.subject.fields.map(o=>Ss(e,o).field);return{item:pD(e,t.reports,a),reverse:[{...t,objects:i,...fR(t.fallback)}]}}if(t.fallback?.kind==="properties")return pR(e,t.fallback);if(t.fallback?.kind!=="value")return ve(e,t.reports);let r=[],n=[];for(let{objectNumber:i,before:a,left:o}of t.fallback.fields){let s=Pi(e,i);s&&ze(yn(s.field),o)?r.push(rD(e,s,a)):s&&n.push(s.field.name)}return r.length===0?ve(e,t.reports):t.reports==="forms.setValue"&&r.length===1?r[0]:{item:{...uD(e,r.map(({item:i})=>i.field)),...n.length>0?{skipped:n}:{}},reverse:r.flatMap(i=>i.reverse)}}function pR(e,t){let r=Pi(e,t.objectNumber);if(!r)return ve(e,"forms.update");let n=Lc(r.field),i=t.left,a=t.restore,o=Object.keys(i),s=o.filter(m=>ze(n[m],i[m])&&(m!=="name"||lR(e,r.field.name,String(a.name))));if(s.length===0)return ve(e,"forms.update");let A=aD(e,r,Wl(a,s)),d=o.filter(m=>!s.includes(m)),p=A.item;return d.length===0||Nr(p)||p.type!=="forms.update"?A:{...A,item:{...p,skipped:d}}}function lR(e,t,r){return bd(e,{kind:"fqn",name:t.slice(0,t.lastIndexOf(".")+1)+r})===null}function mR(e,t){ge(e.authority,"doc.forms.modify"),t.rights&&ge(e.authority,"doc.forms.import");let r=Pi(e,t.objectNumber);return!r||!ze(r.field,t.left)?ve(e,"forms.delete"):Aw(e,r,t.rights)}function wR(e,t){if(ge(e.authority,"doc.forms.modify"),t.rights&&ge(e.authority,"doc.forms.import"),bd(e,{kind:"fqn",name:t.name}))return ve(e,"forms.restore");for(let n of t.pages)try{e.session.resolvePageRef(n)}catch{return ve(e,"forms.restore")}bO(e.runtime,e.session.requireDocPtr(),t.capture),e.session.invalidateDerived();let{field:r}=Ss(e,t.objectNumber);return{item:{type:"forms.restore",...cw(e,r)},reverse:[{kind:"field.remove",objectNumber:t.objectNumber,left:r,...t.rights?{rights:t.rights}:{}}]}}function nD(e,t){let r=t.ref;an(e.runtime,e.session,r.page.objectNumber);let n=gi(e,r),i=t.field?Vt(e,t.field):null;if(i&&i.objectNumber===n)throw new g(f.InvalidArg,`widget ${n} is its field\'s own dictionary (a merged field/widget) - delete the field with doc.forms.delete`,{details:{field:"widget"}});let a=[];if(i){let p=sn(e.runtime,e.session,[{objectNumber:i.objectNumber,deep:[]},{objectNumber:n,deep:[]}]);new Ft(e.runtime,e.session,e.fonts).detachWidget({kind:"objectNumber",objectNumber:i.objectNumber},r,e.signal),a=Dt(e.runtime,e.session,p)}let{pageIndex:o,index:s}=kt(e.runtime,e.session,r),A=Qk(e.runtime,e.session.requireDocPtr(),o,[s]);new zm(e.runtime,e.session,e.fonts).deleteReleasedWidget(r,0),e.session.invalidateDerived();let d=i?Ss(e,i.objectNumber).field:null;return{item:{type:"forms.deleteWidget",widget:r,page:r.page,field:d,meta:gt(e.session.writeStamp(),d?[d.ref]:[],[{ref:r,objectNumber:n,page:r.page}])},reverse:[{kind:"widget.restore",page:r.page,widget:r,capture:A,fieldObjectNumber:i?.objectNumber??null,detached:a}]}}function rD(e,t,r){let n={kind:"objectNumber",objectNumber:t.objectNumber},i=sn(e.runtime,e.session,xs(t)),a=new Ft(e.runtime,e.session,e.fonts).setValue(n,r,e.signal,e.authority.identity),o=Dt(e.runtime,e.session,i),s={type:"forms.setValue",...hi(e,a)};return a.meta.changedWidgets.length===0&&ze(yn(t.field),yn(a.field))?{item:s,reverse:[]}:{item:s,reverse:[{...Is("forms.setValue",o,[t.objectNumber]),fallback:{kind:"value",fields:[{objectNumber:t.objectNumber,before:yn(t.field),left:yn(a.field)}]}}]}}function iD(e,t,r,n){let i=!1,a=sw(e,n,t,()=>(i=r(new Ft(e.runtime,e.session,e.fonts)).meta.changedWidgets.length>0,{field:Ss(e,n.objectNumber).field}));return i?a:{item:a.item,reverse:[]}}function aD(e,t,r){let n={kind:"objectNumber",objectNumber:t.objectNumber},i=null;return oD(e,sw(e,t,"forms.update",()=>{let a=new Ft(e.runtime,e.session,e.fonts).updateField(n,r,e.signal);return i=a.calculationOrder,a},a=>{let o=Lc(t.field),s=Lc(a),A=Object.keys(r).filter(d=>d!=="kind"&&!ze(o[d],s[d]));return{kind:"properties",objectNumber:t.objectNumber,restore:Wl(o,A),left:Wl(s,A)}}),i)}function oD(e,t,r){return!r||Nr(t.item)?t:{item:{...t.item,...sD(r)},reverse:[...t.reverse,ow(r)]}}function sD(e){return e?{calculationOrder:e.after.map(Xl)}:{}}function ow({before:e,after:t}){return{kind:"calculations.restore",before:e,after:t}}function Xl(e){return{kind:"objectNumber",objectNumber:e}}function sw(e,t,r,n,i){let a=sn(e.runtime,e.session,xs(t)),{field:o}=n(),s=Is(r,Dt(e.runtime,e.session,a),[t.objectNumber]);return{item:pD(e,r,[o]),reverse:[i?{...s,fallback:i(o)}:s]}}function Aw(e,t,r){let n=wO(e.runtime,e.session.requireDocPtr(),t.objectNumber),i={kind:"objectNumber",objectNumber:t.objectNumber},{deleted:a,removedWidgets:o,calculationOrder:s}=new Ft(e.runtime,e.session).deleteField(i,e.signal);return oD(e,{item:{type:"forms.delete",meta:gt(e.session.writeStamp(),[a],o)},reverse:[{kind:"field.restore",objectNumber:t.objectNumber,name:t.field.name,pages:t.field.widgets.flatMap(A=>A.page?[A.page]:[]),capture:n,...r?{rights:r}:{}}]},s)}function rP(e){return new Set(cD(e).map(({objectNumber:t})=>t))}function bR(e,t,r){let n=[];for(let i of t){let a=Pi(e,i);!a||!a.field.widgets.every(o=>o.page&&r.has(o.page.objectNumber))||n.push(...Aw(e,a).reverse)}return n}function Is(e,t,r){return{kind:"objects.revert",reports:e,objects:t,subject:{fields:r}}}function fR(e){switch(e?.kind){case"value":return{fallback:{kind:"value",fields:e.fields.map(({objectNumber:t,before:r,left:n})=>({objectNumber:t,before:n,left:r}))}};case"properties":return{fallback:{...e,restore:e.left,left:e.restore}};default:return{}}}function Vt(e,t){let r=Ee(e.runtime,e.session),n=jt(e.runtime,r,t),i=tt(e.runtime,r,n.fieldIndex,e.session.requireDocPtr());return{objectNumber:n.fieldObjectNumber,field:i}}function gR(e,t){let r=qn(e,t);if(r.subtype!=="widget")throw new Error(`${U(t)} reads as no widget`);return r}function AD(e,t){try{let r=qn(e,t);return r.subtype==="widget"?r:null}catch(r){if(g.is(r))return null;throw r}}function FR(e,t){return{ref:t,objectNumber:gi(e,t),page:t.page}}function Ss(e,t){return Vt(e,{kind:"objectNumber",objectNumber:t})}function bd(e,t){try{return Vt(e,t)}catch{return null}}function Pi(e,t){return bd(e,{kind:"objectNumber",objectNumber:t})}function cD(e){let t=Ee(e.runtime,e.session),r=e.runtime.fn.EPDFForm_CountFields(t),n=[];for(let i=0;i({objectNumber:r.objectNumber,deep:Yl}))]}function hs(e){return e.kind==="objectNumber"?e.objectNumber:0}function Lc(e){let t={name:e.name.slice(e.name.lastIndexOf(".")+1),readOnly:e.readOnly,required:e.required,noExport:e.noExport,alternateName:e.alternateName,mappingName:e.mappingName,...e.groupId!==null?{groupId:e.groupId}:{},actions:vR(e)},r=e.defaultValueEntry.kind!=="none",n=i=>i.map(({label:a,value:o})=>({label:a,value:o}));switch(e.kind){case"text":return{...t,defaultValue:r?e.defaultValue:null,maxLength:e.maxLength,multiline:e.multiline,password:e.password,comb:e.comb};case"radio":return{...t,radiosInUnison:e.radiosInUnison,noToggleToOff:e.noToggleToOff};case"combobox":return{...t,edit:e.edit,defaultValue:r?e.defaultValue:null,options:n(e.options)};case"listbox":return{...t,multiSelect:e.multiSelect,defaultValue:r?e.defaultValue:null,options:n(e.options)};default:return t}}function vR(e){let t={};for(let r of["keystroke","format","validate","calculate"]){let n=e.actions?.[r];if(!n){t[r]=null;continue}let i=mo(n);i&&(t[r]=i)}return t}function Wl(e,t){return Object.fromEntries(t.map(r=>[r,e[r]]))}function yn(e){return Wi(e)??{value:null}}function cw(e,t,r=t.widgets){return hi(e,{field:t,meta:gt(e.session.writeStamp(),[t.ref],t.widgets,r)})}function dD(e,t){let r=t.widgets;return e==="forms.setDisplay"?[]:e==="forms.setValue"||e==="forms.reset"?Nl(t.kind,r):r}function hi(e,t){return zk(e.runtime,e.session,t,e.fonts)}function uD(e,t){return{type:"forms.reset",...hi(e,{fields:[...t],meta:gt(e.session.writeStamp(),t.map(r=>r.ref),t.flatMap(r=>r.widgets),t.flatMap(r=>dD("forms.reset",r)))})}}function pD(e,t,r){if(t==="forms.reset")return uD(e,r);let n=r[0];return{type:t,...cw(e,n,dD(t,n))}}function PR(e,t,r){ge(e.authority,"doc.metadata.modify");let n=new bi(e.runtime,e.session).read(e.signal);Cn(r,n,t.expect);let i=new Zl(e.runtime,e.session).update(t.patch,e.signal);return{item:{type:"metadata.update",...i},reverse:[lD("metadata.update",Object.keys(t.patch),n,i.metadata)]}}function hR(e,t){ge(e.authority,"doc.metadata.modify");let r=new bi(e.runtime,e.session).readCustom(e.signal),n=new Zl(e.runtime,e.session).updateCustom(t.patch,e.signal);return{item:{type:"metadata.updateCustom",...n},reverse:[lD("metadata.updateCustom",Object.keys(t.patch),r,n.custom)]}}function kR(e,t){ge(e.authority,"doc.metadata.modify");let r=new bi(e.runtime,e.session),n=t.op==="metadata.update"?r.read(e.signal):r.readCustom(e.signal),i=t.left,a=Object.keys(i),o=a.filter(m=>ze(Ea(n,m),i[m]));if(o.length===0)return ve(e,t.op);let s=iP(t.restore,o),A=new Zl(e.runtime,e.session),d=a.filter(m=>!o.includes(m)),p={kind:"metadata.revert",op:t.op,restore:iP(t.left,o),left:s};return t.op==="metadata.update"?{item:{type:"metadata.update",...A.update(s,e.signal),...d.length>0?{skipped:d}:{}},reverse:[p]}:{item:{type:"metadata.updateCustom",...A.updateCustom(s,e.signal),...d.length>0?{skipped:d}:{}},reverse:[p]}}function lD(e,t,r,n){let i=t.filter(a=>!ze(Ea(r,a),Ea(n,a)));return{kind:"metadata.revert",op:e,restore:Object.fromEntries(i.map(a=>[a,Ea(r,a)])),left:Object.fromEntries(i.map(a=>[a,Ea(n,a)]))}}function Ea(e,t){return e[t]??null}function iP(e,t){return Object.fromEntries(t.map(r=>[r,Ea(e,r)]))}var DR=class{constructor(e,t){j(this,"childrenByParent",new Map),j(this,"parentByItem",new Map);let r=(n,i,a)=>{if(a>=Vi.depth)return;let o=[];this.childrenByParent.set(i,o);for(let s=e.FPDFBookmark_GetFirstChild(t,n);s;s=e.FPDFBookmark_GetNextSibling(t,s)){let A=e.EPDFOutline_GetObjectNumber(s);if(A){if(this.parentByItem.has(A))break;this.parentByItem.set(A,i),o.push(A),r(s,A,a+1)}}};r(Y,0,0)}has(e){return this.parentByItem.has(e)}parentOf(e){return this.parentByItem.get(e)}childrenOf(e){return this.childrenByParent.get(e)??[]}subtreeOf(e){let t=[e];for(let r of this.childrenOf(e))t.push(...this.subtreeOf(r));return t}levelOf(e){let t=-1;for(let r=e;r;r=this.parentOf(r))t+=1;return this.has(e)?t:void 0}isAtOrUnder(e,t){for(let r=e;r;r=this.parentOf(r))if(r===t)return!0;return!1}items(){return this.childrenOf(0).flatMap(e=>this.subtreeOf(e))}},BR={maxModels:5e4,maxNodes:2e5,maxScriptCodeUnits:16e6,maxTargetEntries:65536,maxPayloadCodeUnits:16e6},ER=1,_R=2;function aP(){return new vi(BR)}function oP(e,t,r,n,i,a){let{fn:o,mem:s}=e,A=we(s,(P,B)=>o.FPDFBookmark_GetTitle(r,P,B))??"",d=o.FPDFBookmark_GetFirstChild(t,r)!==Y,p=o.FPDFBookmark_GetStyle(r),{action:m,target:F,complete:k}=yR(e,t,r,a);return{item:{ref:ht(n),parent:i===0?null:ht(i),title:A,target:F,action:m,open:d&&o.FPDFBookmark_GetCount(r)>0,color:GR(e,r),bold:(p&_R)!==0,italic:(p&ER)!==0},complete:k}}function yR(e,t,r,n){let{fn:i,mem:a}=e,o=i.FPDFBookmark_GetAction(r);if(o)try{let d=fr(i,a,t,i.EPDFAction_LoadModel(o),n);return{action:d,target:d?qh(d):{kind:"unsupported"},complete:d!==null&&!d.incomplete}}catch(d){if(!g.is(d))throw d;return{action:null,target:{kind:"unsupported"},complete:!1}}let s=i.FPDFBookmark_GetDest(t,r);if(!s)return{action:null,target:null,complete:!0};let A=jc(i,a,t,s);return{action:null,target:A?{kind:"goto",destination:A}:{kind:"unsupported"},complete:!0}}function GR(e,t){let{fn:r,mem:n}=e;return he(n,[4,4,4],([i,a,o])=>{if(!r.FPDFBookmark_GetColor(t,i,a,o))return null;let s=A=>Math.min(255,Math.max(0,Math.round(ue(n,A)*255)));return Qi(s(i),s(a),s(o))})}var mD=class{constructor(e,t){this.runtime=e,this.session=t}read(e){let{fn:t}=this.runtime,r=this.session.requireDocPtr(),n=aP(),i=[],a=new Set,o=!1,s=(A,d,p)=>{for(let m=t.FPDFBookmark_GetFirstChild(r,A);m;m=t.FPDFBookmark_GetNextSibling(r,m)){O(e);let F=t.EPDFOutline_GetObjectNumber(m);if(!F){o=!0;continue}if(a.has(F)){o=!0;break}if(i.length>=Vi.items)return o=!0,!1;a.add(F);let k=oP(this.runtime,r,m,F,d,n);if(i.push(k.item),k.complete||(o=!0),t.FPDFBookmark_GetFirstChild(r,m)!==Y){if(p+1>=Vi.depth){o=!0;continue}if(!s(m,F,p+1))return!1}}return!0};return s(Y,0,0),{items:i,incomplete:o}}readItem(e,t){let r=this.session.requireDocPtr(),n=this.runtime.fn.EPDFOutline_GetItem(r,e);if(!n)throw new g(f.NotFound,`no outline item ${e}`,{details:{field:"ref"}});return oP(this.runtime,r,n,e,t,aP()).item}},CR=1,IR=2,sP=32767,SR=/^#[0-9a-fA-F]{6}$/;function AP(e){let t=(n,i)=>{throw new g(f.InvalidArg,i,{details:{field:n}})};e.title!==void 0&&(typeof e.title!="string"&&t("title","a title is a string"),e.title.length>sP&&t("title",`a title holds at most ${sP} characters`)),e.color!=null&&!SR.test(e.color)&&t("color","expected a color as \'#rrggbb\'");let r=e.target;r!=null&&(r.kind==="goto"||r.kind==="uri"||r.kind==="named"&&["NextPage","PrevPage","FirstPage","LastPage"].includes(r.name??"")||t("target",`a \'${r.kind}\' target can\'t be written`))}function fl(e,t,r,n){let{fn:i,mem:a}=e,o=(s,A)=>{if(!s)throw new g(f.Unknown,`the ${A} of outline item ${r} could not be written`)};if(n.title!==void 0){let s=n.title;o(Wn(a,s,A=>i.EPDFOutline_SetTitle(t,r,A)),"title")}if(n.target!==void 0){let s=n.target===null?Y:zh(i,a,t,n.target);o(i.EPDFOutline_SetAction(t,r,s),"target")}if(n.color!==void 0)if(n.color===null)o(i.EPDFOutline_SetColor(t,r,!1,0,0,0),"colour");else{let{r:s,g:A,b:d}=Qn(n.color);o(i.EPDFOutline_SetColor(t,r,!0,s/255,A/255,d/255),"colour")}if(n.bold!==void 0||n.italic!==void 0){let s=i.FPDFBookmark_GetStyle(i.EPDFOutline_GetItem(t,r));n.bold!==void 0&&(s=n.bold?s|IR:s&-3),n.italic!==void 0&&(s=n.italic?s|CR:s&-2),o(i.EPDFOutline_SetStyle(t,r,s),"style")}n.open!==void 0&&o(i.EPDFOutline_SetOpen(t,r,n.open),"open state")}var xR=class{constructor(e,t){this.runtime=e,this.session=t,j(this,"reader",void 0),this.reader=new mD(e,t)}tree(){return new DR(this.runtime.fn,this.session.requireDocPtr())}create(e,t,r,n){AP(r);let i=this.tree(),a=this.parentNumberOf(i,e),o=i.childrenOf(a),s=$a(o.map(ht),t,cP),A=s===0?0:o[s-1];n!==void 0&&this.session.claimObjectNumber(n);let{fn:d,mem:p}=this.runtime,m=this.session.requireDocPtr(),F=Wn(p,r.title,y=>d.EPDFOutline_CreateItem(m,n??0,a,A,y));if(!F)throw rs("create the item");let{title:k,...P}=r;fl(this.runtime,m,F,P);let B=this.reader.readItem(F,a);return{item:B,order:this.orderOf(this.tree(),a),meta:this.meta([B.ref])}}update(e,t){AP(t);let r=this.tree(),n=this.requireItem(r,e,"ref");return fl(this.runtime,this.session.requireDocPtr(),e.objectNumber,t),{item:this.reader.readItem(e.objectNumber,n),meta:this.meta([e])}}move(e,t,r){let n=this.tree(),i=e.map(m=>(this.requireItem(n,m,"refs"),m.objectNumber)),a=new Set(i);a.size!==i.length&&ns("refs","an item is named twice");for(let m of i)i.some(F=>F!==m&&n.isAtOrUnder(m,F))&&ns("refs",`item ${m} is under another item that moves`);let o=this.parentNumberOf(n,t);i.some(m=>n.isAtOrUnder(o,m))&&ns("parent","an item would go under itself");let s=n.childrenOf(o).filter(m=>!a.has(m)),A=r==="start"||r==="end"?null:"before"in r?r.before:r.after;A&&a.has(A.objectNumber)&&ns("position",`the neighbour ${A.objectNumber} is one of the items that move`);let d=$a(s.map(ht),r,cP),p=d===0?0:s[d-1];return this.place(i.map(m=>{let F={item:m,parent:o,after:p};return p=m,F}),n)}place(e,t=this.tree()){let{fn:r}=this.runtime,n=this.session.requireDocPtr(),i=new Set;for(let{item:o,parent:s,after:A}of e){i.add(t.parentOf(o)??0),i.add(s);let d=this.tree(),p=A&&d.parentOf(A)===s?A:0;if(!r.EPDFOutline_MoveItem(n,o,s,p))throw rs(`move item ${o}`)}let a=this.tree();return{orders:[...i].map(o=>this.orderOf(a,o)),meta:this.meta(e.map(({item:o})=>ht(o)))}}placementsOf(e,t=this.tree()){let r=new Set(e);return t.items().filter(n=>r.has(n)).map(n=>{let i=t.parentOf(n),a=t.childrenOf(i),o=a.indexOf(n);return{item:n,parent:i,after:o>0?a[o-1]:0}})}delete(e){let t=this.tree();this.requireItem(t,e,"ref");let r=t.subtreeOf(e.objectNumber);if(!this.runtime.fn.EPDFOutline_DeleteItem(this.session.requireDocPtr(),e.objectNumber))throw rs(`delete item ${e.objectNumber}`);return{meta:this.meta(r.map(ht))}}restored(e){let t=this.tree(),r=t.parentOf(e);if(r===void 0)throw rs(`restore item ${e}`);let n=this.subtree(e,t);return{items:n,order:this.orderOf(t,r),meta:this.meta(n.map(i=>i.ref))}}find(e,t=this.tree()){let r=t.parentOf(e.objectNumber);return r===void 0?null:this.reader.readItem(e.objectNumber,r)}subtree(e,t=this.tree()){return t.subtreeOf(e).map(r=>this.reader.readItem(r,t.parentOf(r)))}updated(e){let t=this.find(e);if(!t)throw rs(`read item ${e.objectNumber}`);return{item:t,meta:this.meta([e])}}countAgain(e){let t=this.find(e);t&&fl(this.runtime,this.session.requireDocPtr(),e.objectNumber,{open:t.open})}parentNumberOf(e,t){return t===null?0:(this.requireItem(e,t,"parent"),(e.levelOf(t.objectNumber)??0)>=Vi.depth-1&&ns("parent",`an item under ${t.objectNumber} would be deeper than reads go`),t.objectNumber)}requireItem(e,t,r){let n=e.parentOf(t.objectNumber);if(n===void 0)throw new g(f.NotFound,`no outline item ${t.objectNumber}`,{details:{field:r}});return n}orderOf(e,t){return{parent:t===0?null:ht(t),children:e.childrenOf(t).map(ht)}}meta(e){return{affectedPages:[],cacheDelta:null,...this.session.writeStamp(),changedRefs:e}}},cP=e=>String(e.objectNumber);function ns(e,t){throw new g(f.InvalidArg,t,{details:{field:e}})}function rs(e){return new g(f.MalformedPdf,`could not ${e}: the outline holds an item that isn\'t an indirect object`)}var HR=["title","target","color","bold","italic","open"],OR=["A","Dest"],An=e=>new xR(e.runtime,e.session),zn=e=>ge(e.authority,"doc.outline.modify");function QR(e,t){zn(e);let r=An(e).create(t.parent,t.position??"end",t.data,t.objectNumber);return{item:{type:"outline.create",...r},reverse:[{kind:"outline.remove",ref:r.item.ref,left:fD(e,[r.item.ref])}]}}function RR(e,t,r){zn(e);let n=gD(e,t.ref);return Cn(r,n,t.expect),wD(e,t.ref,t.patch,n)}function TR(e,t){zn(e);let r=An(e),n=r.tree(),i=t.refs.map(d=>d.objectNumber),a=r.placementsOf(i,n),o=dw(e,n,i),s=r.move(t.refs,t.parent,t.position),A=t.parent?.objectNumber??0;return{item:{type:"outline.move",...s},reverse:[{kind:"outline.move",placements:a,left:i.map(d=>({item:d,parent:A}))},...o]}}function MR(e,t,r){return zn(e),Cn(r,gD(e,t.ref),t.expect),bD(e,t.ref)}function LR(e,t){let r=t.subject.outlineItem,n=An(e),i=n.find(r);if(!i)return ve(e,"outline.update");if(zn(e),Ma(e.runtime,e.session,t.objects)){let k=Gs(e.runtime,e.session,t.objects);n.countAgain(r);let P=Dt(e.runtime,e.session,k);return{item:{type:"outline.update",...n.updated(r)},reverse:[{...t,objects:P,...WR(t.fallback)}]}}let a=t.fallback;if(a?.kind!=="outline")return ve(e,"outline.update");let o=i,s=a.left,A=a.restore,d=Object.keys(s),p=d.filter(k=>ze(o[k],s[k])&&XR(e,k,A[k]));if(p.length===0)return ve(e,"outline.update");let m=wD(e,r,Object.fromEntries(p.map(k=>[k,A[k]])),i),F=d.filter(k=>!p.includes(k));return F.length===0||m.item.type!=="outline.update"?m:{...m,item:{...m.item,skipped:F}}}function NR(e,t){let r=An(e).tree();return!r.has(t.ref.objectNumber)||(zn(e),!ze(r.subtreeOf(t.ref.objectNumber),t.left.map(n=>n.objectNumber))||!Ma(e.runtime,e.session,t.left))?ve(e,"outline.delete"):bD(e,t.ref)}function jR(e,t){let r=An(e),n=r.tree();if(n.has(t.ref.objectNumber)||t.parent&&!n.has(t.parent.objectNumber))return ve(e,"outline.restore");zn(e),gO(e.runtime,e.session.requireDocPtr(),t.capture);let i=r.restored(t.ref.objectNumber);return{item:{type:"outline.restore",...i},reverse:[{kind:"outline.remove",ref:t.ref,left:fD(e,i.items.map(a=>a.ref))}]}}function KR(e,t){let r=An(e),n=r.tree(),i=new Map(t.left.map(({item:d,parent:p})=>[d,p])),a=t.placements.filter(({item:d,parent:p})=>n.parentOf(d)===i.get(d)&&(p===0||n.has(p))&&!n.isAtOrUnder(p,d));if(a.length===0)return ve(e,"outline.move");zn(e);let o=a.map(({item:d})=>d),s=r.placementsOf(o,n),A=dw(e,n,o);return{item:{type:"outline.move",...r.place(a,n)},reverse:[{kind:"outline.move",placements:s,left:a.map(({item:d,parent:p})=>({item:d,parent:p}))},...A]}}function VR(e,t){let r=An(e),n=r.tree(),i=r.find(t.ref,n),a=n.childrenOf(t.ref.objectNumber),o=a.length===t.children.length&&a.every(s=>t.children.includes(s));return!i||i.open||!o?ve(e,"outline.update"):(zn(e),{item:{type:"outline.update",...r.update(t.ref,{open:!0})},reverse:[]})}function wD(e,t,r,n){let i=sn(e.runtime,e.session,[{objectNumber:t.objectNumber,deep:OR}]),a=An(e).update(t,r),o=Dt(e.runtime,e.session,i);return{item:{type:"outline.update",...a},reverse:[{kind:"objects.revert",reports:"outline.update",objects:o,subject:{outlineItem:t},fallback:YR(n,a.item,r)}]}}function bD(e,t){let r=An(e),n=r.tree(),i=n.parentOf(t.objectNumber),a=dw(e,n,[t.objectNumber]),o=fO(e.runtime,e.session.requireDocPtr(),t.objectNumber);return{item:{type:"outline.delete",...r.delete(t)},reverse:[{kind:"outline.restore",ref:t,parent:i===void 0||i===0?null:ht(i),capture:o},...a]}}function dw(e,t,r){let n=new Set(r),i=new Set(r.map(a=>t.parentOf(a)??0));return i.delete(0),[...i].flatMap(a=>{let o=t.childrenOf(a);return o.every(s=>n.has(s))?An(e).find(ht(a),t)?.open?[{kind:"outline.reopen",ref:ht(a),children:o}]:[]:[]})}function fD(e,t){return Dt(e.runtime,e.session,t.map(r=>({objectNumber:r.objectNumber,deep:[],before:null})))}function gD(e,t){let r=An(e).find(t);if(!r)throw new g(f.NotFound,`no outline item ${t.objectNumber}`,{details:{field:"ref"}});return r}function YR(e,t,r){let n=HR.filter(i=>r[i]!==void 0&&!ze(e[i],t[i]));return{kind:"outline",restore:Object.fromEntries(n.map(i=>[i,e[i]])),left:Object.fromEntries(n.map(i=>[i,t[i]]))}}function XR(e,t,r){if(t!=="target"||r===null)return!0;let n=r;if(n.kind==="goto"){let i=n.destination?.page.objectNumber;return e.session.allRecords().some(a=>a.pageObjectNumber===i)}return n.kind==="uri"?!0:n.kind==="named"&&["NextPage","PrevPage","FirstPage","LastPage"].includes(n.name??"")}function WR(e){return e?.kind!=="outline"?e?{fallback:e}:{}:{fallback:{kind:"outline",restore:e.left,left:e.restore}}}var UR=["Annots","Contents","Resources"],qR=["Parent","Rotate"];function Bn(e,t){let r=e.session.pagePool();r.closeIdle();try{return t()}finally{r.closeIdle()}}var Hs=e=>new _l(e.runtime,e.session),uw=e=>new aI(e.runtime,e.session),In=e=>ge(e.authority,"doc.pages.assemble");function zR(e,t){In(e);let r=kD(Rs(e)),n=Hs(e).rotate([...t.pages],t.rotation,e.signal),i=t.pages.map(a=>a.objectNumber);return{item:{type:"pages.rotate",pages:[...t.pages],rotation:t.rotation,...n},reverse:oT(i,r,t.rotation)}}function ZR(e,t){let r=kD(Rs(e)),n=t.pages.filter(o=>r.get(o)===t.left);if(n.length===0)return ve(e,"pages.rotate");In(e);let i=n.map(pe),a=Hs(e).rotate(i,t.rotation,e.signal);return{item:{type:"pages.rotate",pages:i,rotation:t.rotation,...a},reverse:[{kind:"pages.rotate",pages:n,rotation:t.left,left:t.rotation}]}}function JR(e,t){In(e);let r=t.pages.map(d=>d.objectNumber),n=rn(e),i=Os(e),a=Nc(n,r),o=Hs(e).reorder([...t.pages],t.position,e.signal),s=rn(e),A=Qs(e,i,PD(i,n,s,r));return{item:{type:"pages.reorder",...o,...mw(e,A)},reverse:[{kind:"pages.reorder",placements:a,left:Nc(s,r),...A?{labels:A}:{}}]}}function $R(e,t){let r=rn(e),n=new Map(t.left.map(({page:k,after:P})=>[k,P])),i=t.placements.filter(({page:k,after:P})=>{let B=r.indexOf(k);return B>=0&&(r[B-1]??0)===n.get(k)&&(P===0||r.includes(P))});if(i.length===0)return ve(e,"pages.reorder");In(e);let a=i.map(({page:k})=>k),o=Nc(r,a),s=Os(e),A=Hs(e),d=null,p=s,m=r;for(let{page:k,after:P}of i){let B=P===0?"start":{after:pe(P)};({layout:d}=A.reorder([pe(k)],B,e.signal));let y=rn(e);p=PD(p,m,y,[k]),m=y}let F=Qs(e,s,lw(s,p,t.labels));return{item:{type:"pages.reorder",pages:a.map(pe),layout:F?Rs(e):d,meta:DD(e)},reverse:[{kind:"pages.reorder",placements:o,left:Nc(rn(e),a),...F?{labels:F}:{}}]}}function eT(e,t){return In(e),FD(e,fd(rn(e),e.session.resolvePageRefs(t.pages)))}function tT(e,t){let r=rn(e),n=t.pages.filter(({page:d})=>!r.includes(d));if(n.length===0)return ve(e,"pages.restore");In(e);let i=Os(e),a=e.session.requireDocPtr();for(let{capture:d}of n)vO(e.runtime,a,d);e.session.refreshPageRegistry(),e.session.invalidateDerived();let o=rn(e),s=fd(o,n.map(({page:d})=>d)),A=Qs(e,i,lw(i,s.reduce((d,p)=>oo(d,o.indexOf(p),1),i),t.labels));return{item:{type:"pages.restore",pages:s.map(pe),layout:Rs(e),meta:DD(e)},reverse:[vD(e,s,A)]}}function nT(e,t){let r=rn(e),n=t.pages.filter(({page:o,left:s})=>r.includes(o)&&hD(e,o)===s).map(({page:o})=>o);if(n.length===0||n.length>=r.length)return ve(e,"pages.delete");In(e);let i=bR(e,t.fields??[],new Set(n)),a=FD(e,fd(r,n),t.labels);return{item:a.item,reverse:[...a.reverse,...i]}}function rT(e,t){return In(e),pw(e,"pages.insertBlank",()=>uw(e).insertBlank(t.spec,t.position??"end",e.signal,t.objectNumbers))}function iT(e,t){return In(e),pw(e,"pages.insert",()=>uw(e).insert(sT(t.source),t.position??"end",e.signal,t.objectNumbers))}function aT(e,t){return In(e),pw(e,"pages.copy",()=>uw(e).copy(t.pages,t.position??"end",e.signal,t.objectNumbers))}function pw(e,t,r){let n=t!=="pages.insertBlank",i=Os(e),a=n?rP(e):new Set,o=r();n&&e.session.invalidateDerived();let s=n?[...rP(e)].filter(p=>!a.has(p)):[],A=o.insertedPages.map(p=>p.objectNumber),d=Qs(e,i,oo(i,rn(e).indexOf(A[0]),A.length));return{item:{type:t,...o,...mw(e,d)},reverse:[vD(e,A,d,s)]}}function FD(e,t,r){let n=e.session.requireDocPtr(),i=rn(e),a=Os(e),o=t.map(p=>({page:p,capture:FO(e.runtime,n,p)})),s=t.map(pe),A=Hs(e).delete(s,e.signal);e.session.invalidateDerived();let d=Qs(e,a,lw(a,GA(a,i.length,t.map(p=>i.indexOf(p))),r));return{item:{type:"pages.delete",pages:s,...A,...mw(e,d)},reverse:[{kind:"pages.restore",pages:o,...d?{labels:d}:{}}]}}function vD(e,t,r,n=[]){return{kind:"pages.remove",pages:t.map(i=>({page:i,left:hD(e,i)})),...r?{labels:r}:{},...n.length>0?{fields:n}:{}}}function Os(e){return LP(e.runtime,e.session.requireDocPtr())}function lw(e,t,r){return r&&so(e,r.left)?r.sections:t}function Qs(e,t,r){if(!so(t,r))return O2(e.runtime,e.session.requireDocPtr(),r),{sections:t,left:r}}function PD(e,t,r,n){return t.every((i,a)=>r[a]===i)?e:Iu(e,t.length,n.map(i=>t.indexOf(i)),r.indexOf(n[0]))}function mw(e,t){return t?{layout:Rs(e)}:{}}function hD(e,t){let{fn:r,mem:n}=e.runtime,i=e.session.requireDocPtr(),a=Zm(e.runtime,i,t,UR,qR),o=e.session.allRecords().find(p=>p.pageObjectNumber===t),s=o?K2(e.runtime,i,o.pageIndex):0,A=new TextEncoder().encode(`\nturn ${s}`),d=new Uint8Array(a.byteLength+A.byteLength);return d.set(a),d.set(A,a.byteLength),_m(r,n,d)}function oT(e,t,r){let n=new Map;for(let i of e){let a=t.get(i);n.set(a,[...n.get(a)??[],i])}return[...n].map(([i,a])=>({kind:"pages.rotate",pages:a,rotation:i,left:r}))}function Nc(e,t){return fd(e,t).map(r=>({page:r,after:e[e.indexOf(r)-1]??0}))}function fd(e,t){return[...t].sort((r,n)=>e.indexOf(r)-e.indexOf(n))}function rn(e){return e.session.allRecords().map(t=>t.pageObjectNumber)}function Rs(e){return new En(e.runtime,e.session).read(e.signal)}function kD(e){return new Map(e.pages.map(t=>[t.ref.objectNumber,t.rotation]))}function DD(e){return{affectedPages:[],cacheDelta:null,...e.session.writeStamp()}}function sT(e){return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.slice().buffer}var AT={opInFileSpace:e=>e,itemOut:e=>e},gl=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}apply(e,t,r,n){let i=this.context(t,r,a=>cR(a,e));return dP(this.session,t,e.map((a,o)=>()=>cT(i,n.opInFileSpace(a),o)),n,r)}undo(e,t,r,n){let i=this.context(t,r,a=>dR(a,e.steps));return dP(this.session,t,e.steps.map(a=>()=>dT(i,a)),n,r)}context(e,t,r){let n,i={runtime:this.runtime,session:this.session,...this.fonts?{fonts:this.fonts}:{},authority:e,signal:t,fillsOwnField:()=>n??(n=r(i))};return i}};function dP(e,t,r,n,i){let a=[],o=[];for(let s of r){O(i),e.clearMissingCharacters();let A=s(),d=e.missingCharacters(),p=d.length===0?A.item:{...A.item,meta:{...A.item.meta,missingCharacters:d}};a.push(n.itemOut(p)),o.push(A.reverse)}return{items:a,record:{userId:t.identity.userId??null,steps:o.reverse().flat()}}}function cT(e,t,r){switch(t.type){case"annotations.create":return yO(e,t);case"annotations.import":return GO(e,t);case"annotations.update":return SO(e,t,r);case"annotations.delete":return xO(e,t,r);case"annotations.reorder":return OO(e,t);case"forms.setValue":return NQ(e,t,r);case"forms.setDisplay":return jQ(e,t);case"forms.setAppearanceText":return KQ(e,t);case"forms.reset":return VQ(e,t);case"forms.create":return YQ(e,t);case"forms.update":return XQ(e,t,r);case"forms.delete":return WQ(e,t,r);case"forms.addWidget":return UQ(e,t);case"forms.removeWidget":return qQ(e,t);case"forms.deleteWidget":return zQ(e,t,r);case"forms.updateWidget":return $Q(e,t,r);case"forms.reorderWidgets":return nR(e,t);case"forms.reorderCalculations":return eR(e,t);case"forms.setSignatureAppearance":return rR(e,t);case"forms.import":return iR(e,t);case"forms.importValues":return aR(e,t);case"metadata.update":return PR(e,t,r);case"metadata.updateCustom":return hR(e,t);case"outline.create":return QR(e,t);case"outline.update":return RR(e,t,r);case"outline.move":return TR(e,t);case"outline.delete":return MR(e,t,r);case"pages.rotate":return Bn(e,()=>zR(e,t));case"pages.reorder":return Bn(e,()=>JR(e,t));case"pages.delete":return Bn(e,()=>eT(e,t));case"pages.insertBlank":return Bn(e,()=>rT(e,t));case"pages.insert":return Bn(e,()=>iT(e,t));case"pages.copy":return Bn(e,()=>aT(e,t));case"attachments.create":return XO(e,t);case"attachments.delete":return WO(e,t)}}function dT(e,t){switch(t.kind){case"objects.revert":return"annotation"in t.subject?QO(e,{...t,subject:t.subject}):"outlineItem"in t.subject?LR(e,{...t,subject:t.subject}):uR(e,{...t,subject:t.subject});case"annotation.remove":return RO(e,t);case"annotation.restore":return TO(e,t);case"annotation.reorder":return MO(e,t);case"field.remove":return mR(e,t);case"field.restore":return wR(e,t);case"widget.restore":return ZQ(e,t);case"widget.delete":return JQ(e,t);case"calculations.restore":return tR(e,t);case"metadata.revert":return kR(e,t);case"outline.remove":return NR(e,t);case"outline.restore":return jR(e,t);case"outline.move":return KR(e,t);case"outline.reopen":return VR(e,t);case"pages.rotate":return Bn(e,()=>ZR(e,t));case"pages.reorder":return Bn(e,()=>$R(e,t));case"pages.restore":return Bn(e,()=>tT(e,t));case"pages.remove":return Bn(e,()=>nT(e,t));case"attachments.remove":return UO(e,t);case"attachments.restore":return qO(e,t)}}function uT(e){let t=0,r=n=>{for(let i of n)t+=(i.before?.byteLength??0)+i.after.byteLength};for(let n of e.steps)switch(n.kind){case"objects.revert":r(n.objects);break;case"annotation.restore":t+=n.capture.byteLength,r(n.unlinked);break;case"field.restore":case"outline.restore":t+=n.capture.byteLength;break;case"outline.remove":r(n.left);break;case"pages.restore":for(let{capture:i}of n.pages)t+=i.byteLength;break;case"attachments.remove":t+=n.left.byteLength;break;case"attachments.restore":t+=n.capture.byteLength;break;default:break}return t}var pT=64*1024*1024,lT=4096,mT=class{constructor(){j(this,"entries",new Map),j(this,"bytes",0)}outcome(e){return this.entries.get(e)?.outcome}record(e){let t=this.entries.get(e);if(t)return t.unavailable?{unavailable:t.unavailable}:{record:t.record}}keepApplied(e,t,r,n){let i=n?uT(n):0;this.add(e,{outcome:{kind:"applied",fingerprint:t,result:r},record:n,bytes:i}),this.bytes+=i,this.trimCaptures()}keepRefused(e,t,r){this.add(e,{outcome:{kind:"refused",fingerprint:t,error:r},record:null,bytes:0})}endUndo(){for(let e of this.entries.values())e.outcome.kind==="applied"&&!e.unavailable&&this.drop(e,"final-change")}add(e,t){this.entries.set(e,t);for(let[r,n]of this.entries){if(this.entries.size<=lT)break;this.drop(n,"expired"),this.entries.delete(r)}}trimCaptures(){for(let e of this.entries.values()){if(this.bytes<=pT)break;e.bytes>0&&this.drop(e,"expired")}}drop(e,t){this.bytes-=e.bytes,e.record=null,e.bytes=0,e.unavailable=t}},uP=new WeakMap;function is(e){let t=uP.get(e);return t||(t=new mT,uP.set(e,t)),t}function Fl(e){let t=e.openedAs!=="none";return{encryptionState:t?"encrypted":"none",encryptionRequiresPassword:!1,securityHandlerRevision:t?e.securityHandlerRevision:null,pdfPermissionsBits:e.permissionsBits,pdfPermissionsAllAllowed:G7(e.permissionsBits),pdfOpenedAs:e.openedAs,securityProbedAt:e.probedAt}}function wT(e){return e===3?"owner":e===2?"user":"none"}var vl=class{constructor(e){this.runtime=e,_P(this.runtime)}probeFile(e,t=null){let r=Date.now(),n=null,i=null;try{if(n=this.runtime.fileAccess.fromNodeFile(e),i=this.runtime.fn.FPDF_LoadCustomDocument(n.ptr,t??""),!i){let s=this.runtime.fn.FPDF_GetLastError();return s===4?{encryptionState:"encrypted",encryptionRequiresPassword:!0,securityHandlerRevision:null,pdfPermissionsBits:null,pdfPermissionsAllAllowed:null,pdfOpenedAs:null,securityProbedAt:r}:s===5?{encryptionState:"unsupported",encryptionRequiresPassword:null,securityHandlerRevision:null,pdfPermissionsBits:null,pdfPermissionsAllAllowed:null,pdfOpenedAs:null,securityProbedAt:r}:bT(r)}let a=this.runtime.fn.EPDF_IsEncrypted(i),o=rl(this.runtime.fn.FPDF_GetDocPermissions(i));return Fl({openedAs:a?this.runtime.fn.EPDF_IsOwnerUnlocked(i)?"owner":"user":"none",permissionsBits:o,securityHandlerRevision:a?this.runtime.fn.FPDF_GetSecurityHandlerRevision(i):null,probedAt:r})}finally{i&&this.runtime.fn.FPDF_CloseDocument(i),n?.close()}}readLiveSecurityInfo(e){let{fn:t}=this.runtime,r=e.requireDocPtr(),n=t.EPDF_IsEncrypted(r),i=rl(t.FPDF_GetDocUserPermissions(r));return Fl({openedAs:n?t.EPDF_IsOwnerUnlocked(r)?"owner":"user":"none",permissionsBits:i,securityHandlerRevision:n?t.FPDF_GetSecurityHandlerRevision(r):null,probedAt:Date.now()})}checkPasswordPermissions(e,t,r="any"){let n=e.requireDocPtr(),{mem:i,fn:a}=this.runtime,o=i.alloc(4),s=i.alloc(4),A=i.alloc(4),d=i.alloc(4);try{if(i.poke(o,"i32",0),i.poke(s,"i32",0),i.poke(A,"i32",0),i.poke(d,"i32",0),!a.EPDF_CheckPasswordPermissions(n,t,o,s,A,d))throw new g(f.DocPasswordIncorrect,"incorrect document password");let p=wT(Number(i.peek(o,"i32")));if(r==="owner"&&p!=="owner")throw new g(f.DocPasswordIncorrect,"owner password required");return Fl({openedAs:p,permissionsBits:rl(Number(i.peek(A,"i32"))),securityHandlerRevision:Number(i.peek(d,"i32")),probedAt:Date.now()})}finally{i.free(d),i.free(A),i.free(s),i.free(o)}}};function bT(e){return{encryptionState:"unknown",encryptionRequiresPassword:null,securityHandlerRevision:null,pdfPermissionsBits:null,pdfPermissionsAllAllowed:null,pdfOpenedAs:null,securityProbedAt:e}}var fT=1,gT=2;function wc(e){return e==="incremental"?fT:gT}function ka(e){return e===1?new g(f.DocOpenFailed,"layer artifact cannot be saved because append-only offsets exceed the supported range"):new g(f.DocOpenFailed,"failed to save layer artifact")}function pP(e,t,r){let n=e.readBytes(t,r);return n.buffer instanceof ArrayBuffer&&n.byteOffset===0&&n.byteLength===n.buffer.byteLength?n.buffer:new Uint8Array(n).buffer}var FT=1,lP=2,Vn=class{constructor(e,t){this.runtime=e,this.session=t}snapshot(){if(!this.session.hasUnsavedEdits())return{bytes:this.loadedBytes(),source:"loaded"};let e=this.saveStandaloneToBufferEx("incremental");return e.unchangedSinceLoad?{bytes:this.loadedBytes(),source:"loaded"}:{bytes:e.bytes,source:"working-copy"}}loadedBytes(){return new st(this.runtime,this.session).loadedBytes()}copyLoadedBytesToFile(e){let t=new st(this.runtime,this.session),r=Number(this.runtime.fn.EPDFDoc_GetLoadedBytesSize(this.session.requireDocPtr())),n=4*1024*1024;this.runtime.fileWrite.removeFile(e);for(let i=0;i{for(let p=0;p<4;p++)Se(o,s,0,p*8);if(Se(o,A,0),Se(o,d,0),!a.EPDFSig_SealSpan(t,BigInt(r),BigInt(n),BigInt(i),s,A,d))throw new g(f.Unknown,"failed to seal the signing candidate");return{byteRange:[He(o,s,0),He(o,s,8),He(o,s,16),He(o,s,24)],contentsOffset:He(o,A),contentsHexLength:He(o,d)}})}function ww(e,t,r,n,i,a){let{fn:o,mem:s}=e,A=s.alloc(a.byteLength);try{if(s.writeBytes(A,a),!o.EPDFSig_WriteContents(t,BigInt(r),BigInt(i.contentsOffset-n),BigInt(i.contentsHexLength),A,a.byteLength))throw new g(f.SignatureRefused,"the CMS is not one DER object that fits the reserved /Contents")}finally{s.free(A)}}function PT(e,t,r,n){let{mem:i}=e,a=e.fileAccess.readRange(t,r.holeOffset,r.hexLength+2);if(a.byteLength!==r.hexLength+2||a[0]!==60||a[a.byteLength-1]!==62)throw new g(f.InvalidArg,"the byteRange gap is not a <\\u2026> /Contents hole of the candidate");let o=i.alloc(a.byteLength);try{i.writeBytes(o,a),ww(e,o,a.byteLength,r.holeOffset,{byteRange:[0,0,0,0],contentsOffset:r.holeOffset+1,contentsHexLength:r.hexLength,digest:new Uint8Array},n),e.fileWrite.writeRange(t,r.holeOffset,i.readBytes(o,a.byteLength))}finally{i.free(o)}}var hT=class{constructor(e,t){this.runtime=e,this.baseDocuments=t}save(e,t){let{mem:r,fn:n}=this.runtime;return he(r,[8,8,8],([i,a,o])=>{Se(r,i,0),Se(r,a,0),Se(r,o,0);let s=n.EPDFSig_SaveCandidateToOwnedBuffer(e,t,i,a,o);if(!s)throw new g(f.Unknown,"failed to save the signing candidate");try{let A=He(r,i);return{kind:"memory",bytes:as(r.readBytes(s,A)),size:A,objectOffset:He(r,a),objectLength:He(r,o)}}finally{n.EPDF_FreeBuffer(s)}})}seal(e,t){if(e.kind!=="memory")throw new g(f.InvalidArg,"not a memory candidate");let{mem:r,fn:n}=this.runtime,i=r.alloc(e.bytes.byteLength);try{return r.writeBytes(i,e.bytes),he(r,[32,8,8,64,8],([a,o,s,A,d])=>{for(let m=0;m<4;m++)Se(r,a,0,m*8);if(Se(r,o,0),Se(r,s,0),Se(r,d,64),!n.EPDFSig_Seal(i,BigInt(e.bytes.byteLength),BigInt(e.objectOffset),BigInt(e.objectLength),vs[t],a,o,s,A,d))throw new g(f.Unknown,"failed to seal the signing candidate");e.bytes=as(r.readBytes(i,e.bytes.byteLength));let p=Number(r.peek(d,"i32"));return{byteRange:[He(r,a,0),He(r,a,8),He(r,a,16),He(r,a,24)],contentsOffset:He(r,o),contentsHexLength:He(r,s),digest:as(r.readBytes(A,p))}})}finally{r.free(i)}}writeContents(e,t,r){if(e.kind!=="memory")throw new g(f.InvalidArg,"not a memory candidate");let{mem:n}=this.runtime,i=n.alloc(e.bytes.byteLength);try{n.writeBytes(i,e.bytes),ww(this.runtime,i,e.bytes.byteLength,0,t,r),e.bytes=as(n.readBytes(i,e.bytes.byteLength))}finally{n.free(i)}}openSealed(e,t){if(e.kind!=="memory")throw new g(f.InvalidArg,"not a memory candidate");let r=this.baseDocuments.acquireMemoryBase({key:`signed:${Kr()}`,bytes:e.bytes,password:t});return _n(this.runtime,r,{kind:"fresh"},t)}discard(){}},kT=class{constructor(e,t,r,n=DT){this.runtime=e,this.baseDocuments=t,this.basePath=r,this.candidatePath=n}save(e,t,r){let{mem:n,fn:i}=this.runtime,a=this.candidatePath(this.basePath,r);this.runtime.fileWrite.removeFile(a);let o=this.runtime.fileWrite.toNodeFile(a);try{return he(n,[8,8,8],([s,A,d])=>{if(Se(n,s,0),Se(n,A,0),Se(n,d,0),!i.EPDFSig_SaveCandidate(e,t,o.ptr,s,A,d))throw new g(f.Unknown,"failed to save the signing candidate");return{kind:"file",path:a,size:He(n,s),objectOffset:He(n,A),objectLength:He(n,d)}})}catch(s){throw o.close(),this.runtime.fileWrite.removeFile(a),s}finally{o.close()}}seal(e,t){if(e.kind!=="file")throw new g(f.InvalidArg,"not a file candidate");let{mem:r,fn:n}=this.runtime,i=this.runtime.fileAccess.readRange(e.path,e.objectOffset,e.objectLength);if(i.byteLength!==e.objectLength)throw new g(f.Unknown,"the signing candidate file is shorter than its object span");let a=r.alloc(i.byteLength),o;try{r.writeBytes(a,i),o=vT(this.runtime,a,i.byteLength,e.objectOffset,e.size),this.runtime.fileWrite.writeRange(e.path,e.objectOffset,r.readBytes(a,i.byteLength))}finally{r.free(a)}let s=this.runtime.fileAccess.fromNodeFile(e.path);try{let A=he(r,[32,64,8],([d,p,m])=>{for(let F=0;F<4;F++)Se(r,d,o.byteRange[F],F*8);if(Se(r,m,64),!n.EPDFSig_DigestFileRange(s.ptr,d,vs[t],p,m))throw new g(f.Unknown,"failed to digest the signing candidate file");return as(r.readBytes(p,Number(r.peek(m,"i32"))))});return{...o,digest:A}}finally{s.close()}}writeContents(e,t,r){if(e.kind!=="file")throw new g(f.InvalidArg,"not a file candidate");let{mem:n}=this.runtime,i=this.runtime.fileAccess.readRange(e.path,e.objectOffset,e.objectLength),a=n.alloc(i.byteLength);try{n.writeBytes(a,i),ww(this.runtime,a,i.byteLength,e.objectOffset,t,r),this.runtime.fileWrite.writeRange(e.path,e.objectOffset,n.readBytes(a,i.byteLength))}finally{n.free(a)}}openSealed(e,t){if(e.kind!=="file")throw new g(f.InvalidArg,"not a file candidate");let r=this.baseDocuments.acquireFileBase({key:`signed:${e.path}`,path:e.path,password:t});return _n(this.runtime,r,{kind:"fresh"},t)}discard(e){e.kind==="file"&&this.runtime.fileWrite.removeFile(e.path)}};function DT(e,t){return`${e}.signing-${t}.pdf`}function Ul(e,t,r,n){return`${e}.${t}-${r}.${n}`}function BD(e,t,r,n){let i=A=>new g(f.SignatureRefused,`the sealed bytes ${A}`),a=Fi(e,r),o=a.find(A=>A.field.kind==="objectNumber"&&A.field.objectNumber===n.fieldObjectNumber);if(!o)throw i("lost the signature field");if(!o.signed||o.coverage!=="whole-revision"||!o.byteRange)throw i("do not carry a whole-revision signature on the field");if(!BT(o.byteRange,n.byteRange))throw i(`carry /ByteRange [${o.byteRange.join(" ")}] where [${n.byteRange.join(" ")}] was sealed`);if(!e.fn.EPDFSig_IsRevisionChainValid(r))throw i("have a broken cross-reference chain");let s=Rc(e,t,a);if(o.revisionIndex!==s.length-1)throw i("seal an earlier revision than the candidate");if(!ld(Uk(e,r,o.index),n.cms))throw i("carry /Contents that are not the CMS installed");return o}function BT(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}function mP(e,t,r){let n=Ee(e,t),i=e.fn.EPDFForm_GetFieldIndexByObjNum(n,r);return i<0?null:hm(e,n,i)}function ET(e,t,r){let{fn:n,mem:i}=e,a=Ee(e,t),o=[],s=n.EPDFForm_CountFields(a);for(let A=0;An.EPDFForm_GetFieldName(a,A,p,m));d&&o.push(d)}return o}var wP={"adbe.pkcs7.detached":0,"ETSI.CAdES.detached":1,"ETSI.RFC3161":2},_T={all:1,include:2,exclude:3},yT=8192,bP=256,fP=4*1024*1024,GT={bytes:52,ptrBytes:4,subfilter:0,digest:4,contentsSize:8,name:12,reason:16,location:20,contactInfo:24,signingTime:28,docmdpPermission:32,fieldmdpAction:36,fieldmdpFields:40,fieldmdpFieldCount:44,lockPermission:48},CT={bytes:80,ptrBytes:8,subfilter:0,digest:4,contentsSize:8,name:16,reason:24,location:32,contactInfo:40,signingTime:48,docmdpPermission:56,fieldmdpAction:60,fieldmdpFields:64,fieldmdpFieldCount:72,lockPermission:76},Pl=class{constructor(e,t,r,n){this.runtime=e,this.session=t,this.baseDocuments=r,this.candidatePath=n}prepare(e,t){if(this.session.pendingSigning)throw new g(f.SigningPending,`a signing is pending (${this.session.pendingSigning.prepared.signingId}); complete or cancel it first`);let r=new st(this.runtime,this.session),n=r.resolveField(e.field),i=mP(this.runtime,this.session,n.fieldObjectNumber);Tn(t,i,"sign");let a=e.lock??(i!==null?{action:"include",fields:ET(this.runtime,this.session,i)}:void 0);if(n.signed)throw new g(f.SignatureRefused,"the signature field is already signed");if(e.appearance&&!n.widget)throw new g(f.SignatureRefused,"the signature field has no widget to carry an appearance");let o=e.digest??"sha256";if(!(o in vs)||o==="sha1")throw new g(f.SignatureRefused,`unsupported digest \'${o}\'`);let s=(e.kind??"signature")==="timestamp"?"ETSI.RFC3161":e.subFilter??"ETSI.CAdES.detached";if(!(s in wP))throw new g(f.SignatureRefused,`unsupported subFilter \'${s}\'`);let A=e.contentsSizeBytes??yT;if(!Number.isInteger(A)||AfP)throw new g(f.SignatureRefused,`contentsSize must be an integer in [${bP}, ${fP}]`);let d=this.session.versionRef(r.version().sha256),p=Kr(),m=new tn;try{let F=this.openCandidate(p,m);m.push(()=>F.close());let k=e.signer,P=this.callPrepare(F.docPtr,n.fieldObjectNumber,{subfilter:wP[s],digest:vs[o],contentsSize:A,name:k?.name??null,reason:k?.reason??null,location:k?.location??null,contactInfo:k?.contactInfo??null,signingTime:k?.signedAt!==void 0?ft(k.signedAt):null,docmdpPermission:e.certify?.permission??0,fieldmdpAction:a?_T[a.action]:0,fieldmdpFields:a?.action==="all"?[]:a?.fields??[],lockPermission:a?.permission??0});if(P===0)throw new g(f.SignatureRefused,"the engine refused to author the signature (the field is signed, read-only or locked, a certification is not allowed here, the seed value requires what is not implemented, or the request is inconsistent)");e.appearance&&n.widget&&qk(this.runtime,F.docPtr,n.widget,e.appearance.pdf,{recordFit:!1});let B=this.storeFor(),y=B.save(F.docPtr,P,p),x;try{x=B.seal(y,o)}catch(S){throw B.discard(y),S}let I={signingId:p,digest:x.digest,algorithm:o,byteRange:x.byteRange,contentsSizeBytes:A,subFilter:s,expectedVersion:d,expiresAt:null};return this.session.pendingSigning={prepared:I,fieldObjectNumber:n.fieldObjectNumber,saved:y,contentsOffset:x.contentsOffset,contentsHexLength:x.contentsHexLength},I}finally{m.close()}}complete(e,t,r){let n=this.session.pendingSigning;if(!n||n.prepared.signingId!==e.signingId){let m=this.session.lastCompletion;if(m&&m.signingId===e.signingId){if(!ld(m.cms,e.cms))throw new g(f.SignatureRefused,"this signing already completed with a different CMS");return{...m.result,status:"already-completed"}}throw new g(f.NotFound,`no pending signing \'${e.signingId}\'`)}if(Tn(r,mP(this.runtime,this.session,n.fieldObjectNumber),"sign"),!IT(n.prepared.expectedVersion,e.expectedVersion))throw new g(f.SigningVersionMismatch,"expectedVersion is not the version the candidate was prepared on");if(e.cms.byteLength===0||e.cms[0]!==48)throw new g(f.SignatureRefused,"the CMS is not a DER SEQUENCE");if(e.cms.byteLength>n.prepared.contentsSizeBytes)throw new g(f.SignatureRefused,`the CMS (${e.cms.byteLength} bytes) does not fit the reserved ${n.prepared.contentsSizeBytes} bytes`);let i=this.storeFor(),a={byteRange:n.prepared.byteRange,contentsOffset:n.contentsOffset,contentsHexLength:n.contentsHexLength,digest:n.prepared.digest};i.writeContents(n.saved,a,e.cms);let o=i.openSealed(n.saved,this.session.password);this.verifySealed(o,{fieldObjectNumber:n.fieldObjectNumber,byteRange:n.prepared.byteRange,cms:e.cms}),this.session.install(o),Dc(this.runtime,this.session),_c(this.runtime,this.session);let s=new st(this.runtime,this.session),A=s.readSnapshot(),d=A.signatures.find(m=>m.field.kind==="objectNumber"&&m.field.objectNumber===n.fieldObjectNumber);if(!d)throw new g(f.Unknown,"the installed document lost the signature field");let p={status:"completed",signature:d,version:s.version(),previous:n.prepared.expectedVersion,protection:A.protection,meta:{affectedPages:this.session.allRecords().map(m=>pe(m.pageObjectNumber)),cacheDelta:null,opId:t,undoable:!1}};return this.session.lastCompletion={signingId:e.signingId,cms:e.cms.slice(),result:p},p}cancel(e){let t=this.session.pendingSigning;return t&&t.prepared.signingId===e?(this.session.pendingSigning=null,this.storeFor().discard(t.saved),{status:"cancelled"}):this.session.lastCompletion?.signingId===e?{status:"already-completed"}:{status:"unknown"}}callPrepare(e,t,r){let{mem:n,fn:i}=this.runtime,a=this.runtime.kind==="wasm"?GT:CT,o=[],s=d=>{if(d===null)return Y;let p=n.writeU16String(d);return o.push(p),p},A=d=>{if(d===null)return Y;let p=n.writeU8String(d);return o.push(p),p};try{return Ga(this.runtime,r.fieldmdpFields,(d,p)=>V(n,a.bytes,m=>{for(let k=0;k{a.ptrBytes===4?n.poke(m,"i32",Number(P),k):n.poke(m,"i64",P,k)};return n.poke(m,"i32",r.subfilter,a.subfilter),n.poke(m,"i32",r.digest,a.digest),n.poke(m,"i32",r.contentsSize,a.contentsSize),F(a.name,s(r.name)),F(a.reason,s(r.reason)),F(a.location,s(r.location)),F(a.contactInfo,s(r.contactInfo)),F(a.signingTime,A(r.signingTime)),n.poke(m,"i32",r.docmdpPermission,a.docmdpPermission),n.poke(m,"i32",r.fieldmdpAction,a.fieldmdpAction),F(a.fieldmdpFields,p>0?d:Y),n.poke(m,"i32",p,a.fieldmdpFieldCount),n.poke(m,"i32",r.lockPermission,a.lockPermission),i.EPDFSig_Prepare(e,t,m)}))}finally{for(let d=o.length-1;d>=0;d--)n.free(o[d])}}storeFor(){let e=this.session.source.base;return e?.kind==="file"?new kT(this.runtime,this.baseDocuments,e.path,this.candidatePath):new hT(this.runtime,this.baseDocuments)}verifySealed(e,t){let{fn:r}=this.runtime;try{let n=r.EPDFSig_LoadModel(e.docPtr);if(!n)throw new g(f.Unknown,"the sealed bytes have no signature model");try{BD(this.runtime,e.docPtr,n,t)}finally{r.EPDFSig_CloseModel(n)}this.session.kind!=="layer"&&(this.session.persistLayerArtifact=!1)}catch(n){throw e.close(),n}}openCandidate(e,t){let r=this.session.password,n=this.session.source,i=new Vn(this.runtime,this.session),a=i.canWriteScratchFiles()&&n.base?.kind==="file"?n.base.path:null;if(this.session.kind==="layer"&&n.base&&!this.loadedDeltaHoldsSignedBytes()){let A=this.baseDocuments.retainByKey(n.base.key);if(A){let d=n.layer??{kind:"fresh"};if(this.session.hasUnsavedEdits())if(a){let p=Ul(a,"signing",e,"layer");t.push(()=>this.runtime.fileWrite.removeFile(p)),i.saveLayerArtifactToFileEx(p).changedSinceLoad&&(d={kind:"artifact-file",path:p})}else{let p=i.saveLayerArtifactEx();p.changedSinceLoad&&(d={kind:"artifact",bytes:p.bytes})}return _n(this.runtime,A,d,r)}}if(a){let A=Ul(a,"signing",e,"base.pdf");t.push(()=>this.runtime.fileWrite.removeFile(A)),i.snapshotToFile(A);let d=this.baseDocuments.acquireFileBase({key:`candidate:${e}`,path:A,password:r});return _n(this.runtime,d,{kind:"fresh"},r)}let o=i.snapshot().bytes,s=this.baseDocuments.acquireMemoryBase({key:`candidate:${e}`,bytes:new Uint8Array(o),password:r});return _n(this.runtime,s,{kind:"fresh"},r)}loadedDeltaHoldsSignedBytes(){let e=this.session.source.layer;if(!e||e.kind==="fresh")return!1;let t=Number(this.runtime.fn.EPDFDoc_GetBaseBytesSize(this.session.requireDocPtr()));return new st(this.runtime,this.session).readSnapshot().signatures.some(r=>r.signed&&r.byteRange!==null&&r.byteRange[2]+r.byteRange[3]>t)}};function IT(e,t){return e.baseSha256===t.baseSha256&&e.editsVersion===t.editsVersion}var ST={0:"added",1:"modified",2:"freed"},xT={0:"dictionary",1:"stream",2:"array",3:"scalar",4:"xref",5:"objstm",6:"trailer"},bc=0,fc=1,gP={0:"ok",1:"failed",2:"absent"};function FP(e,t){let r=new Set([0,e.root,e.pagesRoot,...e.pages,...t]);e.acroForm&&r.add(e.acroForm);for(let n of e.fields){r.add(n.objectNumber);for(let i of n.widgets)r.add(i)}return r}var vP=class{constructor(e,t){this.runtime=e,this.session=t}readWorkingCopySnapshot(){let e=new tn;try{let t=this.openWorkingCopy(e);if(t.source==="loaded")return new st(this.runtime,this.session).readSnapshot();let r=t.target;return Tc(this.runtime,r,n=>{let i=this.runtime.fn.EPDFSig_IsRevisionChainValid(n),a=Fi(this.runtime,n);return{chainValid:i,revisions:i?Rc(this.runtime,r,a):[],signatures:a,protection:Ut(a)}})}finally{e.close()}}analyze(e){let t=new st(this.runtime,this.session),r=t.readSnapshot(),n=t.version(),i=e.exploratoryLevel?"exploratory":"authoritative",a=e.detail??"summary",o="persisted",s=this.session.editsSeq(),A,d=null;if("signatureIndex"in e.since){let m=r.signatures[e.since.signatureIndex];if(!m)throw new g(f.NotFound,`no signature ${e.since.signatureIndex}`);if(!m.signed||m.revisionIndex===null)throw new g(f.InvalidArg,`signature ${e.since.signatureIndex} seals no whole revision; nothing to analyze from`);A=m.revisionIndex,d=m.index}else A=e.since.revisionIndex;if(!r.chainValid){let m={verdict:"indeterminate",complete:!1,findings:[{rule:"revision-chain",verdict:"incomplete",objectNumber:0,detail:"the cross-reference chain is broken or was rebuilt: no revision can be told from another"}],method:"net-state"};return{mode:i,policyVersion:RA,basis:{version:n,editsVersion:s,source:"persisted"},since:{revisionIndex:A,signatureIndex:d},until:{revisionIndex:A},restrictions:[],current:{...m,primary:m.findings[0]},later:{revisionCount:0,undoneObjectNumbers:[]},verdict:"indeterminate",steps:[]}}if(!Number.isInteger(A)||A<0||A>=r.revisions.length)throw new g(f.InvalidArg,`no revision ${A}`);let p=new tn;try{let m=this.session.requireDocPtr(),F=r.revisions,k=e.until==="working-copy"?this.openWorkingCopy(p):null;if(k&&k.source==="working-copy"){o="working-copy",m=k.target;let se=Tc(this.runtime,m,dt=>Fi(this.runtime,dt));if(F=Rc(this.runtime,m,se),F.length===0)throw new g(f.MalformedPdf,"the working copy has no valid revision chain")}let P=F.length-1;if(typeof e.until=="object"&&(P=e.until.revisionIndex,!Number.isInteger(P)||P=F.length))throw new g(f.InvalidArg,`no revision ${P} at or after ${A}`);let B=new tn,y,x,I=[],S;try{let se=this.openPrefix(m,F,A,B),dt=P===F.length-1?m:this.openPrefix(m,F,P,B);y=wl(this.runtime,se),x=P===A?y:wl(this.runtime,dt),P>A&&({changes:I,health:S}=this.compare(se,dt,y,x))}finally{B.close()}let G=d===null?null:y.signatures[d]??null,T=pp(y,G),W=e.exploratoryLevel,Pe=XA({older:A,newer:P,changes:I,before:y,after:x,health:S,restrictions:{level:T.level,locks:T.locks},levelOverride:W}),be=T.anchors.some(se=>se.source==="docmdp"&&se.own),Q=P-A,q;Q<=1?q=Q===1?[Pe]:[]:be||a==="full"?q=this.walkSteps(m,F,A,P,y,{level:T.level,locks:T.locks,levelOverride:W}):q=[];let oe=be?{...Ap(Pe,q),method:"net-state+replay"}:{...sp(Pe),method:"net-state"};return{mode:i,policyVersion:RA,basis:{version:n,editsVersion:s,source:o},since:{revisionIndex:A,signatureIndex:d},until:{revisionIndex:P},restrictions:T.anchors,current:oe,later:{revisionCount:Q,undoneObjectNumbers:I.filter(WA).map(se=>se.objectNumber)},verdict:oe.verdict,steps:q}}finally{p.close()}}openPrefix(e,t,r,n){let i=this.runtime.fn.EPDFDoc_OpenRevision(e,BigInt(t[r].end));if(i===Y)throw new g(f.MalformedPdf,`revision ${r} does not open as a document`);return n.push(()=>this.runtime.fn.FPDF_CloseDocument(i)),i}walkSteps(e,t,r,n,i,a){let{fn:o}=this.runtime,s=[],A=this.openPrefix(e,t,r,new tn),d=i;try{for(let p=r+1;p<=n;p++){let m=p===t.length-1?e:this.openPrefix(e,t,p,new tn);try{let F=wl(this.runtime,m),{changes:k,health:P}=this.compare(A,m,d,F);s.push(XA({older:p-1,newer:p,changes:k,before:d,after:F,health:P,restrictions:{level:a.level,locks:a.locks},levelOverride:a.levelOverride})),d=F}finally{o.FPDF_CloseDocument(A),A=m}}}finally{A!==e&&o.FPDF_CloseDocument(A)}return s}openWorkingCopy(e){let{fn:t,mem:r}=this.runtime,n=this.session.requireDocPtr();if(!this.session.hasUnsavedEdits())return{target:n,source:"loaded"};let i=new Vn(this.runtime,this.session);if(this.session.kind==="layer"){let s=this.session.source.base;if(i.canWriteScratchFiles()&&s?.kind==="file"){let m=Ul(s.path,"working-copy",Kr(),"delta");if(e.push(()=>this.runtime.fileWrite.removeFile(m)),!i.saveLayerDeltaToFileEx(m).changedSinceLoad)return{target:n,source:"loaded"};if(this.runtime.fileAccess.sizeOf(m)===0)return this.freshLayerOverBase(e);let F=CP(r,m,k=>t.EPDFDoc_OpenBaseOverlayFromPath(n,k));if(F===Y)throw new g(f.MalformedPdf,"the working copy does not compose with its base");return e.push(()=>t.FPDF_CloseDocument(F)),{target:F,source:"working-copy"}}let A=i.saveLayerDeltaEx();if(!A.changedSinceLoad)return{target:n,source:"loaded"};if(A.size===0)return this.freshLayerOverBase(e);let d=new Uint8Array(A.bytes),p=r.alloc(d.byteLength);try{r.writeBytes(p,d);let m=t.EPDFDoc_OpenBaseOverlay(n,p,d.byteLength);if(m===Y)throw new g(f.MalformedPdf,"the working copy does not compose with its base");return e.push(()=>t.FPDF_CloseDocument(m)),{target:m,source:"working-copy"}}finally{r.free(p)}}let a=i.saveStandaloneToBufferEx("incremental");if(a.unchangedSinceLoad)return{target:n,source:"loaded"};let o=IP(this.runtime,new Uint8Array(a.bytes),this.session.password);return e.push(()=>o.close()),{target:o.docPtr,source:"working-copy"}}freshLayerOverBase(e){let{fn:t,mem:r}=this.runtime,n=t.EPDFLayer_GetBaseDocument(this.session.requireDocPtr()),i=r.alloc(4);try{r.poke(i,"i32",-1);let a=t.EPDFLayer_OpenLayer(n,Y,this.session.password??"",i);if(a===Y||Number(r.peek(i,"i32"))!==0)throw new g(f.MalformedPdf,"the working copy could not be opened over its base");return e.push(()=>t.FPDF_CloseDocument(a)),{target:a,source:"working-copy"}}finally{r.free(i)}}compare(e,t,r,n){let{fn:i,mem:a}=this.runtime,o=i.EPDFDoc_CompareRevisions(e,t);if(o===Y)throw new g(f.MalformedPdf,"the revisions do not share a byte history");try{let s=i.EPDFObjectDiff_GetCount(o),A=[];return he(a,[4,4,4,4,4,4],([d,p,m,F,k,P])=>{for(let B=0;B>>0,x=Number(a.peek(F,"i32")),I=Number(a.peek(k,"i32")),S=this.readValue(o,B,bc),G=this.readValue(o,B,fc),T=S.truncated||G.truncated,W=null,Pe=null;try{W=S.text===null||S.truncated?null:YA(S.text),Pe=G.text===null||G.truncated?null:YA(G.text)}catch{T=!0}let be=ST[Number(a.peek(p,"i32"))]??"modified";A.push({objectNumber:y,change:be,kind:xT[Number(a.peek(m,"i32"))]??"scalar",present:{old:be!=="added",new:be!=="freed"},generation:{old:x<0?null:x,new:I<0?null:I},value:{old:W,new:Pe,truncated:T},raw:{old:S.text,new:G.text},read:{old:gP[i.EPDFObjectDiff_GetReadStatus(o,B,bc)]??"failed",new:gP[i.EPDFObjectDiff_GetReadStatus(o,B,fc)]??"failed"},streamDataChanged:Number(a.peek(P,"i32"))!==0,usage:{old:[],new:[]}})}}),{changes:this.withAnchoredUsage(o,A,r,n),health:{old:this.readHealth(o,bc),new:this.readHealth(o,fc)}}}finally{i.EPDFObjectDiff_Close(o)}}readHealth(e,t){let{fn:r,mem:n}=this.runtime;return he(n,[4,4,4],([i,a,o])=>{for(let s of[i,a,o])n.poke(s,"i32",0);if(!r.EPDFObjectDiff_GetRevisionHealth(e,t,i,a,o))throw new g(f.Unknown,"failed to read revision health");return{sparseXref:Number(n.peek(i,"i32"))!==0,bareReferences:Number(n.peek(a,"i32"))>>>0,referrersComplete:Number(n.peek(o,"i32"))!==0}})}withAnchoredUsage(e,t,r,n){let i=new Set(t.map(o=>o.objectNumber)),a={old:new UA(o=>this.readReferrers(e,bc,o),FP(r,i)),new:new UA(o=>this.readReferrers(e,fc,o),FP(n,i))};return t.map(o=>{let s=o.present.old?a.old.resolve(o.objectNumber):[],A=o.present.new?a.new.resolve(o.objectNumber):[];return{...o,usage:{old:s===$i?[]:s,new:A===$i?[]:A},...s===$i||A===$i?{usageIncomplete:!0}:{}}})}readValue(e,t,r){let{fn:n,mem:i}=this.runtime;return V(i,4,a=>{i.poke(a,"i32",0);let o=n.EPDFObjectDiff_GetValue(e,t,r,Y,0,a),s=Number(i.peek(a,"i32"))!==0;return o<=0?{text:null,truncated:s}:V(i,o,A=>{i.poke(a,"i32",0);let d=n.EPDFObjectDiff_GetValue(e,t,r,A,o,a),p=Number(i.peek(a,"i32"))!==0;if(d<=0)return{text:null,truncated:p};let m=i.readBytes(A,d-1),F="";for(let k of m)F+=String.fromCharCode(k);return{text:F,truncated:p}})})}readReferrers(e,t,r){let{fn:n,mem:i}=this.runtime,a=n.EPDFObjectDiff_GetReferrerCount(e,t,r),o=[];return a<=0||V(i,4,s=>{for(let A=0;A{let F=n.EPDFObjectDiff_GetReferrer(e,t,r,A,s,m,d);if(F<=0)return"";let k=i.readBytes(m,F-1),P="";for(let B of k)P+=String.fromCharCode(B);return P});o.push({parent:Number(i.peek(s,"i32"))>>>0,label:p})}}),o}},HT=class{constructor(e,t){this.runtime=e,this.baseDocuments=t}finalize(e){let[t,r,n,i]=e.byteRange,a=this.runtime.fileAccess.sizeOf(e.path),o=p=>Number.isSafeInteger(p)&&p>=0;if(!e.byteRange.every(o)||t!==0||r>=n||n+i!==a)throw new g(f.InvalidArg,`byteRange [${e.byteRange.join(" ")}] does not span a ${a}-byte candidate`);let s=n-r-2;if(!Number.isSafeInteger(e.contentsSizeBytes)||s!==2*e.contentsSizeBytes)throw new g(f.InvalidArg,`the /Contents hole holds ${s} hex digits, not the ${2*e.contentsSizeBytes} of contentsSize`);if(e.cms.byteLength===0||e.cms[0]!==48)throw new g(f.SignatureRefused,"the CMS is not a DER SEQUENCE");if(e.cms.byteLength>e.contentsSizeBytes)throw new g(f.SignatureRefused,`the CMS (${e.cms.byteLength} bytes) does not fit the reserved ${e.contentsSizeBytes} bytes`);PT(this.runtime,e.path,{holeOffset:r,hexLength:s},e.cms);let A=new Dl(this.runtime),d=this.baseDocuments.acquireFileBase({key:`finalize:${Kr()}`,path:e.path,password:e.password});try{A.openFromHandle(_n(this.runtime,d,{kind:"fresh"},e.password));let p=Ba(this.runtime,A);BD(this.runtime,A.requireDocPtr(),p,{fieldObjectNumber:e.fieldObjectNumber,byteRange:e.byteRange,cms:e.cms});let m=new st(this.runtime,A),F=m.readSnapshot();return{signature:F.signatures.find(k=>k.field.kind==="objectNumber"&&k.field.objectNumber===e.fieldObjectNumber),protection:F.protection,version:m.version(),lastObjectNumber:A.lastObjectNumber()}}finally{A.close()}}},ED=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}snapshot(e){return O(e),HQ(this.runtime,this.session,e,this.fonts)}field(e,t){O(t);let r=Ee(this.runtime,this.session),{fieldIndex:n}=jt(this.runtime,r,e);return tt(this.runtime,r,n,this.session.requireDocPtr())}},OT=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}export(e,t,r){O(r);let{fields:n,widgets:i,calculationOrder:a}=ju(KA(new ED(this.runtime,this.session,this.fonts).snapshot(r),mi(this.runtime,this.session)),e,this.session.allRecords().map(A=>pe(A.pageObjectNumber)));Ie("form",t,"items",n.length+i.length);let o={pages:Ok(this.runtime,this.session,i),fields:n.map(A=>({data:A})),widgets:i.map(A=>({data:A,resources:{}})),calculationOrder:a};Ie("form",t,"pages",o.pages.length);let s=Tr(o);return Ie("form",t,"manifestBytes",s),Ie("form",t,"bundleBytes",s),{format:"embedpdf/form",version:1,...o,resources:{}}}},QT=512,PP=new WeakMap;async function RT(e,t,r,n,i){let a=t.cacheSeq(),o=PP.get(t);o||(o=new Map,PP.set(t,o));let s=o.get(r);if(s&&s.seq===a)return s;let A=await new VP(e,t).read(r,n,i),d={seq:a,folded:ir(A.text),snapshot:A};if(o.delete(r),o.set(r,d),o.size>QT){let p=o.keys().next().value;p!==void 0&&o.delete(p)}return d}function TT(e,t){return JSON.stringify([e.regex?"r":"l",e.text,e.matchCase?1:0,e.matchDiacritics?1:0,e.wholeWord?1:0,e.ignoreWhitespace?1:0,t?"snippets":"matches"])}function MT(e){return JSON.stringify(e)}function LT(e,t,r,n){let i;try{i=JSON.parse(t)}catch{throw new g(f.InvalidArg,"malformed search cursor")}if(i?.v!==1||typeof i.scanned!="number"||typeof i.key!="string")throw new g(f.InvalidArg,"malformed search cursor");if(i.key!==n)throw new g(f.InvalidArg,"search cursor belongs to a different query \\u2014 restart the search");if(i.seq!==r)throw new g(f.InvalidArg,"document changed since this search cursor was issued \\u2014 restart the search",{details:{cursorSeq:i.seq,currentSeq:r}});if(e.from!==void 0&&e.from.objectNumber!==i.start)throw new g(f.InvalidArg,"`from` conflicts with the cursor \\u2014 omit it when resuming");return i}var NT=64,jT=256,KT=256,VT=1024,YT=class{constructor(e,t){this.runtime=e,this.session=t}async query(e,t,r){O(t);let n=lp(e),i=e.snippets??!1,a=_A(n);if(!a.ok)throw new g(f.InvalidArg,`invalid search query (${a.issue}): ${a.message}`);let o=this.session.allRecords(),s=o.length;if(!n.regex&&ir(n.text).folded.trim().length===0)return{matches:[],nextCursor:null,pagesSearched:0,pageCount:s};let A=this.session.cacheSeq(),d=TT(n,i),p=0,m=0;if(e.cursor!==void 0){let I=LT(e,e.cursor,A,d);p=I.start,m=I.scanned}else e.from!==void 0&&(p=this.session.resolvePageRef(e.from).pageObjectNumber),e.skip!==void 0&&(m=Math.min(Math.max(0,Math.floor(e.skip)),s));let F=o;if(p!==0){let I=o.findIndex(S=>S.pageObjectNumber===p);F=o.slice(I).concat(o.slice(0,I))}let k=hP(e.limit?.pages,NT,jT),P=hP(e.limit?.matches,KT,VT),B=[],y=0,x=new Jl(r,t);for(;m0){let W=Du(await new XP(this.runtime,this.session).read(I,t,r));for(let Pe of T){let be=ou(S.snapshot,Pe);B.push({page:pe(I),start:be.start,count:be.count,segments:W.segments(be),...i?{snippet:mp(G,Pe)}:{}})}}m++,y++}return{matches:B,nextCursor:mt.FPDFJavaScriptAction_GetName(F,B,y))??""}finally{t.FPDFDoc_CloseJavaScriptAction(F)}i.reservePayloadBytes(k.length);let P=UT(fr(t,r,n,t.EPDFDoc_GetNamedJavaScriptActionModel(n,m),i),"name-tree script",m);o.push({name:k,action:P})}let s=fr(t,r,n,t.EPDFDoc_GetOpenActionModel(n),i),A=s?Y:t.EPDFDoc_GetOpenActionDest(n),d=A!==Y?jc(t,r,n,A):null,p={};for(let[m,F]of XT){O(e);let k=fr(t,r,n,t.EPDFDoc_GetAdditionalActionModel(n,F),i);k&&(p[m]=k)}return{nameTreeScripts:o,openAction:s,openDestination:d,...p}}};function UT(e,t,r){if(e)return e;throw new g(f.MalformedPdf,`failed to read ${t}`,{details:{index:r}})}function qT(e,t){let r=a=>Rn(a,t),n=a=>Mr(a,t(a.page),t),i=a=>a.map(o=>Vr(o,t));switch(e.tag){case"pages.list":return{...e,snapshot:Po(e.snapshot)};case"pages.setName":case"pages.removeName":return{...e,result:{...e.result,layout:Po(e.result.layout)}};case"pages.geometry":return{...e,snapshot:Bu(e.snapshot,t(e.page))};case"pages.render":return{...e,area:Je(e.area,t(e.page))};case"search.query":return{...e,slice:Eu(e.slice,t)};case"annotations.renderAppearances":{let a=jA(e.result.appearances,t(e.page));return{...e,result:{...e.result,appearances:a}}}case"annotations.renderAppearancesEncoded":{let a=jA(e.result.appearances,t(e.page));return{...e,result:{...e.result,appearances:a}}}case"actions.read":return{...e,snapshot:Fu(e.snapshot,r)};case"outline.read":return{...e,outline:np(e.outline,t)};case"annotations.list":return{...e,list:{...e.list,annotations:e.list.annotations.map(n)}};case"annotations.create":return{...e,result:{...e.result,annotation:n(e.result.annotation)}};case"annotations.update":return{...e,result:{...e.result,annotation:n(e.result.annotation)}};case"document.apply":case"document.applyChanges":return e;case"annotations.import":return{...e,result:{...e.result,annotations:e.result.annotations.map(n)}};case"measure.viewports":return{...e,viewports:Pu(e.viewports,t(e.page))};case"forms.list":return{...e,snapshot:KA(e.snapshot,t)};case"forms.import":return{...e,result:{...e.result,fields:e.result.fields.map(a=>Ht(a,t)),widgets:i(e.result.widgets)}};case"forms.importValues":return{...e,result:{...e.result,fields:e.result.fields.map(a=>Ht(a,t)),widgets:i(e.result.widgets)}};case"forms.setValue":case"forms.createField":case"forms.updateField":case"forms.setSignatureAppearance":case"forms.addWidget":case"forms.detachWidget":return{...e,result:{...e.result,field:Ht(e.result.field,t),widgets:i(e.result.widgets)}};case"forms.reset":return{...e,result:{...e.result,fields:e.result.fields.map(a=>Ht(a,t)),widgets:i(e.result.widgets)}};case"forms.updateWidget":return{...e,result:{...e.result,widget:Vr(e.result.widget,t)}};case"forms.deleteWidget":return{...e,result:{...e.result,field:e.result.field&&Ht(e.result.field,t)}};default:return e}}function zT(e,t){switch(e.kind){case"annotations.create":return{...e,draft:no(e.draft,t(e.page),t)};case"annotations.update":return{...e,patch:Lr(e.patch,t(e.ref.page),t)};case"forms.updateWidget":return{...e,patch:yc(e.patch,t(e.widget.page),t)};case"forms.createField":return{...e,draft:ko(e.draft,t)};case"document.apply":case"document.applyChanges":return e;case"forms.addWidget":return{...e,placement:ho(e.placement,t)};case"measure.setScale":return e.measure?{...e,measure:vA(e.measure,t(e.page))}:e;case"pages.render":return kP(e,t);case"pages.renderEncoded":return kP(e,t);default:return e}}function kP(e,t){let{options:r,...n}=e;return r?{...n,options:_D(r,()=>t(e.page))}:n}function _D(e,t){let{target:r,...n}=e;return r?{...n,target:r.kind==="rect"?tp(r,t()):r}:n}function ZT(e,t){switch(e.type){case"annotations.import":case"forms.import":case"forms.importValues":return e;case"annotations.create":return{...e,data:no(e.data,t(e.page),t)};case"annotations.update":{let r=t(e.ref.page),{expect:n,...i}=e;return{...i,patch:Lr(e.patch,r,t),...n?{expect:Lr(n,r,t)}:{}}}case"annotations.delete":{let{expect:r,...n}=e;return r?{...n,expect:Lr(r,t(e.ref.page),t)}:n}case"forms.create":return{...e,draft:ko(e.draft,t)};case"forms.addWidget":return{...e,placement:ho(e.placement,t)};case"forms.updateWidget":{let r=t(e.widget.page),{expect:n,...i}=e;return{...i,patch:yc(e.patch,r,t),...n?{expect:yc(n,r,t)}:{}}}case"forms.deleteWidget":{let{expect:r,...n}=e;return r?{...n,expect:yc(r,t(e.widget.page),t)}:n}case"outline.create":return{...e,data:rp(e.data,t)};case"outline.update":{let{expect:r,...n}=e;return{...n,patch:Bo(e.patch,t),...r?{expect:Bo(r,t)}:{}}}case"outline.delete":{let{expect:r,...n}=e;return r?{...n,expect:Bo(r,t)}:n}default:return e}}function JT(e,t){if(Nr(e))return e;let r=i=>Mr(i,t(i.page),t),n=i=>i.map(a=>Vr(a,t));switch(e.type){case"annotations.create":case"annotations.update":return{...e,annotation:r(e.annotation)};case"annotations.restore":return{...e,annotations:e.annotations.map(r)};case"annotations.import":return{...e,annotations:e.annotations.map(r)};case"forms.setValue":case"forms.setDisplay":case"forms.setAppearanceText":case"forms.setSignatureAppearance":case"forms.create":case"forms.update":case"forms.restore":case"forms.addWidget":case"forms.removeWidget":return{...e,field:Ht(e.field,t),widgets:n(e.widgets)};case"forms.reset":case"forms.import":case"forms.importValues":return{...e,fields:e.fields.map(i=>Ht(i,t)),widgets:n(e.widgets)};case"forms.updateWidget":return{...e,widget:Vr(e.widget,t)};case"forms.deleteWidget":return{...e,field:e.field&&Ht(e.field,t)};case"forms.restoreWidget":return{...e,field:e.field&&Ht(e.field,t),widgets:n(e.widgets)};case"outline.create":case"outline.update":return{...e,item:Do(e.item,t)};case"outline.restore":return{...e,items:e.items.map(i=>Do(i,t))};case"pages.rotate":case"pages.reorder":case"pages.delete":case"pages.insertBlank":case"pages.insert":case"pages.copy":case"pages.restore":return{...e,layout:Po(e.layout)};default:return e}}function yc(e,t,r){return Lr({...e,subtype:"widget"},t,r)}var $T=128*1024*1024,e6=class{constructor(e,t=$T){this.runtime=e,this.budgetBytes=t,j(this,"enabled",void 0),j(this,"on",!1),this.enabled=t>0&&typeof e.fn.EPDF_SetDecodedImageBudget=="function"}beginJob(e){!this.enabled||e===this.on||(this.runtime.fn.EPDF_SetDecodedImageBudget(e?this.budgetBytes:0),this.on=e)}},t6="EmbedPDF";function n6(e,t,r){let n=[];for(let i=0;ie.EPDFViewport_GetBBox(a,d)?Ce(Gn(t,d)):void 0);if(!o)continue;let s=we(t,(d,p)=>e.EPDFViewport_GetName(a,d,p)),A=Yh(e,t,e.EPDFViewport_GetMeasure(a));n.push({bbox:o,owned:s==="EmbedPDF"&&(!A||A.subtype==="rectilinear"),name:s,measure:A??null})}return n}var r6=class{constructor(e,t){this.runtime=e,this.session=t}async viewports(e,t,r){O(t);let n=this.session.pagePool(),i=await n.acquireInSlices(e,t,r);try{return n6(this.runtime.fn,this.runtime.mem,i)}finally{n.release(e)}}},i6=class{constructor(e,t){this.runtime=e,this.session=t}setScale(e,t,r){if(O(r),t!==null)try{qa(t)}catch(s){throw new g(f.InvalidArg,s.message)}let{fn:n,mem:i}=this.runtime,a=this.session.pagePool(),o=a.acquire(e);try{let s=[];for(let d=0;dn.EPDFViewport_GetName(p,F,k))!=="EmbedPDF")continue;let m=n.EPDFViewport_GetMeasure(p);(!m||n.EPDFMeasure_GetSubtype(m)===1)&&s.push(d)}let A=V(i,16,d=>{let p=this.session.recordByObjectNumber(e).pageIndex;return Kc(n,i,this.session.requireDocPtr(),p,d).crop});if(![A.left,A.right,A.bottom,A.top].every(Number.isFinite))throw new g(f.InvalidArg,"Invalid calibration box");if(O(r),t===null){for(let d of s.reverse())Le(n.EPDFPage_RemoveViewport(o,d));return}V(i,16,d=>{i.poke(d,"f32",A.left),i.poke(d,"f32",A.top,4),i.poke(d,"f32",A.right,8),i.poke(d,"f32",A.bottom,12);let p=s.length?n.EPDFPage_GetViewport(o,s[s.length-1]):n.EPDFPage_AddViewport(o,d);Le(p),Le(n.EPDFViewport_SetBBox(p,d)),Le(Kt(i,t6,m=>n.EPDFViewport_SetName(p,m))),Xh(n,i,n.EPDFViewport_AddMeasure(p),t)})}finally{a.release(e)}}},a6=1,o6=2,s6=3,A6=4,c6=5,gc=class{constructor(e,t,r){this.runtime=e,this.session=t,this.pageObjectNumber=r,r!==void 0&&t.recordByObjectNumber(r)}read(e,t){O(t),hl(e);let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=this.pageObjectNumber;if(!(a===void 0?r.EPDFDoc_HasPieceInfoEntry(i,e):r.EPDFDoc_HasPagePieceInfoEntry(i,a,e)))return null;let o=a===void 0?r.EPDFDoc_GetPieceInfoKeyCount(i,e):r.EPDFDoc_GetPagePieceInfoKeyCount(i,a,e),s={};for(let d=0;da===void 0?r.EPDFDoc_GetPieceInfoKeyAt(i,e,d,m,F):r.EPDFDoc_GetPagePieceInfoKeyAt(i,a,e,d,m,F));p!==null&&(s[p]=this.readEntry(e,p))}let A=we(n,(d,p)=>a===void 0?r.EPDFDoc_GetPieceInfoLastModified(i,e,d,p):r.EPDFDoc_GetPagePieceInfoLastModified(i,a,e,d,p),null);return{entries:s,modifiedAt:A?Xn(A):null}}update(e,t,r){O(r),hl(e),d6(t);let n=Object.keys(t);if(n.length===0)return;u6(t,n),O(r);let{mem:i}=this.runtime,a=ft(new Date),o=i.writeU16String(a);try{for(let s of n){let A=t[s];if(!this.writeEntry(e,s,A,o))throw new g(f.Unknown,`pieceInfo write rejected for key \'${s}\' after validation`)}}finally{i.free(o)}}applications(e){O(e);let{fn:t,mem:r}=this.runtime,n=this.session.requireDocPtr(),i=this.pageObjectNumber,a=i===void 0?t.EPDFDoc_GetPieceInfoEntryCount(n):t.EPDFDoc_GetPagePieceInfoEntryCount(n,i),o=[];for(let s=0;si===void 0?t.EPDFDoc_GetPieceInfoEntryAt(n,s,d,p):t.EPDFDoc_GetPagePieceInfoEntryAt(n,i,s,d,p));A!==null&&o.push(A)}return o}delete(e,t){O(t),hl(e);let{fn:r}=this.runtime,n=this.session.requireDocPtr(),i=this.pageObjectNumber;if(!(i===void 0?r.EPDFDoc_ClearPieceInfoEntry(n,e):r.EPDFDoc_ClearPagePieceInfoEntry(n,i,e)))throw new g(f.Unknown,`pieceInfo delete rejected for application \'${e}\'`)}readEntry(e,t){let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=this.pageObjectNumber;switch(a===void 0?r.EPDFDoc_GetPieceInfoValueType(i,e,t):r.EPDFDoc_GetPagePieceInfoValueType(i,a,e,t)){case s6:{let o=we(n,(s,A)=>a===void 0?r.EPDFDoc_GetPieceInfoString(i,e,t,s,A):r.EPDFDoc_GetPagePieceInfoString(i,a,e,t,s,A),"");return o===null?{type:"unknown"}:{type:"string",value:o}}case A6:{let o=Ye(n,(s,A)=>a===void 0?r.EPDFDoc_GetPieceInfoName(i,e,t,s,A):r.EPDFDoc_GetPagePieceInfoName(i,a,e,t,s,A));return o===null?{type:"unknown"}:{type:"name",value:o}}case o6:{let o=n.alloc(4);try{return(a===void 0?r.EPDFDoc_GetPieceInfoNumber(i,e,t,o):r.EPDFDoc_GetPagePieceInfoNumber(i,a,e,t,o))?{type:"number",value:Number(n.peek(o,"f32"))}:{type:"unknown"}}finally{n.free(o)}}case a6:{let o=n.alloc(4);try{return(a===void 0?r.EPDFDoc_GetPieceInfoBoolean(i,e,t,o):r.EPDFDoc_GetPagePieceInfoBoolean(i,a,e,t,o))?{type:"boolean",value:Number(n.peek(o,"i32"))!==0}:{type:"unknown"}}finally{n.free(o)}}case c6:{let o=a===void 0?r.EPDFDoc_GetPieceInfoStringArrayCount(i,e,t):r.EPDFDoc_GetPagePieceInfoStringArrayCount(i,a,e,t);if(o<0)return{type:"unknown"};let s=[];for(let A=0;Aa===void 0?r.EPDFDoc_GetPieceInfoStringArrayAt(i,e,t,A,p,m):r.EPDFDoc_GetPagePieceInfoStringArrayAt(i,a,e,t,A,p,m),"");if(d===null)return{type:"unknown"};s.push(d)}return{type:"string-array",value:s}}default:return{type:"unknown"}}}writeEntry(e,t,r,n){let{fn:i,mem:a}=this.runtime,o=this.session.requireDocPtr(),s=this.pageObjectNumber;if(r===null)return s===void 0?i.EPDFDoc_ClearPieceInfoKey(o,e,t,n):i.EPDFDoc_ClearPagePieceInfoKey(o,s,e,t,n);if(typeof r=="string")return Kt(a,r,A=>s===void 0?i.EPDFDoc_SetPieceInfoString(o,e,t,A,n):i.EPDFDoc_SetPagePieceInfoString(o,s,e,t,A,n));if(typeof r=="number")return s===void 0?i.EPDFDoc_SetPieceInfoNumber(o,e,t,r,n):i.EPDFDoc_SetPagePieceInfoNumber(o,s,e,t,r,n);if(typeof r=="boolean")return s===void 0?i.EPDFDoc_SetPieceInfoBoolean(o,e,t,r,n):i.EPDFDoc_SetPagePieceInfoBoolean(o,s,e,t,r,n);if(Array.isArray(r))return Ga(this.runtime,r,(A,d)=>s===void 0?i.EPDFDoc_SetPieceInfoStringArray(o,e,t,A,d,n):i.EPDFDoc_SetPagePieceInfoStringArray(o,s,e,t,A,d,n));if(typeof r=="object"&&r!==null&&"name"in r)return s===void 0?i.EPDFDoc_SetPieceInfoName(o,e,t,r.name,n):i.EPDFDoc_SetPagePieceInfoName(o,s,e,t,r.name,n);throw new g(f.Unknown,`unvalidated pieceInfo value for \'${t}\'`)}};function hl(e){if(typeof e!="string"||e.length===0)throw new g(f.InvalidArg,"pieceInfo application must be non-empty")}function d6(e){if(typeof e!="object"||e===null||Array.isArray(e))throw new g(f.InvalidArg,"pieceInfo patch must be an object")}function u6(e,t){for(let r of t){if(r.length===0)throw new g(f.InvalidArg,"pieceInfo keys must be non-empty");p6(r,e[r])}}function p6(e,t){if(!(t===null||typeof t=="string"||typeof t=="boolean")){if(typeof t=="number"){if(!Number.isFinite(t))throw new g(f.InvalidArg,`pieceInfo number for \'${e}\' must be finite`);return}if(Array.isArray(t)){if(!t.every(r=>typeof r=="string"))throw new g(f.InvalidArg,`pieceInfo string array for \'${e}\' must contain only strings`);return}if(typeof t=="object"&&t!==null&&"name"in t){if(typeof t.name!="string"||t.name.length===0)throw new g(f.InvalidArg,`pieceInfo PDF name for \'${e}\' must be a non-empty string`);return}throw new g(f.InvalidArg,`unsupported pieceInfo value for \'${e}\': string | number | boolean | string[] | { name } | null`)}}function l6(){if(typeof setImmediate=="function")return()=>new Promise(e=>setImmediate(e));if(typeof MessageChannel=="function"){let e=new MessageChannel,t=[];return e.port1.onmessage=()=>t.shift()?.(),()=>new Promise(r=>{t.push(r),e.port2.postMessage(null)})}return()=>new Promise(e=>setTimeout(e,0))}function DP(e){return e.kind==="pages.render"||e.kind==="pages.renderEncoded"||e.kind==="document.renderPageFile"||e.kind==="document.renderPageFileEncoded"}var yD=class{constructor(e,t,r={}){this.runtime=e,this.post=t,this.options=r,j(this,"sessions",new Map),j(this,"baseDocuments",void 0),j(this,"aborts",new Map),j(this,"fontIds",new Map),j(this,"fonts",void 0),j(this,"residency",void 0),j(this,"decodedImages",void 0),j(this,"slices",void 0),j(this,"busy",!1),j(this,"held",[]),j(this,"destroyed",!1),_P(this.runtime),this.baseDocuments=new M7(this.runtime),this.fonts=new Z4(this.runtime,this.fontIds),this.residency=new SP(this.runtime,{...kl,budgetBytes:this.options.parsedPageBudgetBytes??kl.budgetBytes},()=>this.busy),this.decodedImages=new e6(this.runtime,this.options.decodedImageBudgetBytes),this.slices={budgetMs:this.options.sliceMs??8,between:l6()}}registerStartupFonts(e){this.fonts.registerStartup(e)}receive(e){if(e.kind==="abort"){this.abort(e.jobId);return}if(e.kind==="pages.workingSet"){this.setWorkingSet(e);return}if(this.busy||this.held.length>0){this.held.push(e);return}this.run(e)}setWorkingSet(e){let t=this.sessions.get(Nt(e.docId,e.layerName));t?.isOpen()&&t.pagePool().setWorkingSet(e.view,e.pages.map(({page:r,role:n,pixels:i})=>({pageObjectNumber:r.objectNumber,role:n,pixels:i})))}abort(e){let t=this.held.findIndex(n=>n.jobId===e);if(t<0){this.aborts.get(e)?.abort();return}this.held.splice(t,1);let r=On(new Mi("aborted before it ran"));this.post(N({kind:"reject",jobId:e,error:r},Wr))}drain(){for(;!this.busy;){let e=this.takeHeld();if(!e)return;this.run(e)}}takeHeld(){let e=this.held[0];if(!e||!DP(e))return this.held.shift();let t=0,r=e;for(let n=1;n{if(!("docId"in e))throw new g(f.InvalidArg,`${e.kind} has no document`);return t??(t=mi(this.runtime,this.requireSession(e))),t(r)}}handleOpen(e){let t=Nt(e.docId,e.kind==="open.fatMem"?void 0:e.layerName);if(this.sessions.has(t))throw new g(f.InvalidArg,`document session already open: ${t}`);let r=new Dl(this.runtime);r.residency=this.residency,r.signedDocumentPolicy=e.signedDocumentPolicy??"protect",r.password=e.password,r.objectNumberAuthority=e.objectNumbers??"session";let n;if(e.kind==="open.fatMem"){let i=new Uint8Array(e.bytes);n=a=>this.openBytesAsLayer(r,i,a)}else if(e.kind==="open.layerMemBase"){let i=new Uint8Array(e.baseBytes);n=a=>{let o=this.baseDocuments.acquireMemoryBase({key:e.baseKey,bytes:i,password:a,knownSha256:e.baseSha256});r.openFromHandle(_n(this.runtime,o,e.layer,a))}}else{if(this.runtime.kind!=="native")throw new g(f.NotImplemented,"\'layerFile\' needs the native Node runtime; open the file\'s bytes instead");n=i=>{let a=this.baseDocuments.acquireFileBase({key:e.baseKey,path:e.basePath,password:i,knownSha256:e.baseSha256});r.openFromHandle(_n(this.runtime,a,e.layer,i))}}try{n(e.password)}catch(i){if(!k6(i))throw i;return r.parkLocked(n),this.sessions.set(t,r),N({tag:"open",docId:e.docId,security:D6(),...e.password?{passwordRejected:!0}:{}})}return this.sessions.set(t,r),N({tag:"open",docId:e.docId,security:new vl(this.runtime).checkPasswordPermissions(r,e.password??""),protection:this.probeProtection(r),...e.reserveObjectNumbers?{objectNumbers:r.reserveObjectNumbers(e.reserveObjectNumbers)}:{},lastObjectNumber:r.lastObjectNumber()})}openBytesAsLayer(e,t,r){let n=this.baseDocuments.acquireMemoryBase({key:`bytes-open:${Kr()}`,bytes:t,password:r});e.openFromHandle(_n(this.runtime,n,{kind:"fresh"},r)),e.persistLayerArtifact=!1}probeProtection(e){try{return new st(this.runtime,e).readProtection()}catch{return null}}handleSignaturesList(e){let t=this.requireSession(e);return N({tag:"signatures.list",snapshot:e.workingCopy?new vP(this.runtime,t).readWorkingCopySnapshot():new st(this.runtime,t).readSnapshot()})}handleSignaturesContents(e){let t=this.requireSession(e),r=new st(this.runtime,t).readContents(e.ref);return N({tag:"signatures.contents",bytes:r},[r])}handleSignaturesDigest(e){let t=this.requireSession(e),r=new st(this.runtime,t).digest(e.ref,e.algorithm);return N({tag:"signatures.digest",digest:r},[r])}handleSignaturesRevisionBytes(e){let t=this.requireSession(e),r=new st(this.runtime,t).revisionBytes(e.revisionIndex);return N({tag:"signatures.revisionBytes",bytes:r,size:r.byteLength},[r])}handleDocumentVersion(e){let t=this.requireSession(e);return N({tag:"document.version",version:new st(this.runtime,t).version()})}handleSignaturesPrepare(e){let t=this.requireSession(e);return N({tag:"signatures.prepare",result:new Pl(this.runtime,t,this.baseDocuments,this.options.signingCandidatePath).prepare(e.input,e.authority)})}handleSignaturesComplete(e){let t=this.requireSession(e),r=new Pl(this.runtime,t,this.baseDocuments,this.options.signingCandidatePath).complete(e.input,e.opId,e.authority);return r.status==="already-completed"?N({tag:"signatures.complete",result:r}):this.finishMutation(t,{tag:"signatures.complete",result:r},e.artifactPath)}handleSignaturesAnalyze(e){let t=this.requireSession(e);return N({tag:"signatures.analyze",analysis:new vP(this.runtime,t).analyze(e.input)})}handleSignaturesFinalizeCandidate(e){return N({tag:"signatures.finalizeCandidate",...new HT(this.runtime,this.baseDocuments).finalize({path:e.path,byteRange:e.byteRange,contentsSizeBytes:e.contentsSizeBytes,fieldObjectNumber:e.fieldObjectNumber,cms:new Uint8Array(e.cms),password:e.password??null})})}handleSignaturesCancel(e){let t=this.requireSession(e);return N({tag:"signatures.cancel",result:new Pl(this.runtime,t,this.baseDocuments,this.options.signingCandidatePath).cancel(e.signingId)})}assertNoPendingSigning(e){if(!Fc(e))return;let t="layerName"in e?e.layerName:void 0,r=this.sessions.get(Nt(e.docId,t));if(r?.pendingSigning)throw new g(f.SigningPending,`a signing is pending (${r.pendingSigning.prepared.signingId}); complete or cancel it before mutating the document`)}handleMetadataRead(e,t){let r=this.requireSession(e);return N({tag:"metadata.read",metadata:new bi(this.runtime,r).read(t)})}handleMetadataUpdate(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"metadata.update",patch:e.patch},Jt(),t);return this.finishMutation(r,{tag:"metadata.update",result:a},e.artifactPath)}handleMetadataReadCustom(e,t){let r=this.requireSession(e);return N({tag:"metadata.readCustom",custom:new bi(this.runtime,r).readCustom(t)})}handleMetadataUpdateCustom(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"metadata.updateCustom",patch:e.patch},Jt(),t);return this.finishMutation(r,{tag:"metadata.updateCustom",result:a},e.artifactPath)}handleActionsRead(e,t){let r=this.requireSession(e);return N({tag:"actions.read",snapshot:new WT(this.runtime,r).read(t)})}handleOutlineRead(e,t){let r=this.requireSession(e);return N({tag:"outline.read",outline:new mD(this.runtime,r).read(t)})}handleAnnotationsList(e,t){let r=this.requireSession(e),n=e.pages?.map(i=>r.resolvePageRef(i).pageObjectNumber);return N({tag:"annotations.list",list:new rd(this.runtime,r,this.fonts).list(n,t,"annotations")})}async handleAnnotationsRenderAppearances(e,t){let r=this.requireSession(e),n=r.resolvePageRef(e.page).pageObjectNumber,i=await new iH(this.runtime,r).render(n,e.family,e.options??{},t,this.slices),a=i.appearances.map(o=>o.raster.data);return N({tag:"annotations.renderAppearances",page:e.page,result:i},a)}handleAnnotationsCreate(e,t){let r=this.requireSession(e),{type:n,page:i,...a}=this.applyOne(r,e.opId,{type:"annotations.create",page:e.page,data:e.draft,...e.resources?{resources:e.resources}:{},...e.objectNumber!==void 0?{objectNumber:e.objectNumber}:{}},Jt(e.actor),t);return this.finishMutation(r,{tag:"annotations.create",result:a},e.artifactPath)}handleAnnotationsUpdate(e,t){let r=this.requireSession(e),{type:n,page:i,skipped:a,...o}=this.applyOne(r,e.opId,{type:"annotations.update",ref:e.ref,patch:e.patch,...e.resources?{resources:e.resources}:{}},{...e.authority,protection:null},t);return this.finishMutation(r,{tag:"annotations.update",result:o},e.artifactPath)}handleAnnotationsDelete(e,t){let r=this.requireSession(e),{type:n,page:i,...a}=this.applyOne(r,e.opId,{type:"annotations.delete",ref:e.ref},{...e.authority,protection:null},t);return this.finishMutation(r,{tag:"annotations.delete",result:a},e.artifactPath)}handleAnnotationsFlatten(e,t){let r=this.requireSession(e),n=r.resolvePageRef(e.page).pageObjectNumber,i=new ll(this.runtime,r).flatten(n,e.refs,e.usage,t),a=i.meta.affectedPages.length>0;return a?this.finishMutation(r,{tag:"annotations.flatten",result:i,wrote:a},e.artifactPath):N({tag:"annotations.flatten",result:i,wrote:a})}handleAnnotationsExportAppearance(e,t){let r=this.requireSession(e),n=r.resolvePageRef(e.page).pageObjectNumber,i=new ll(this.runtime,r).exportAppearance(n,e.refs,t);return N({tag:"annotations.exportAppearance",bytes:i.bytes,size:i.size},[i.bytes])}handleAnnotationsExport(e,t){let r=this.requireSession(e),n=new sO(this.runtime,r,this.fonts).export(e.selection,e.limits??bn,t);return N({tag:"annotations.export",bundle:n},Object.values(n.resources))}handleAnnotationsImport(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"annotations.import",bundle:e.bundle,...e.pages!==void 0?{pages:e.pages}:{},attribution:e.attribution,...e.actor?{actor:e.actor}:{},limits:e.limits??bn},Jt(e.actor),t);return i.annotations.length===0?N({tag:"annotations.import",result:i}):this.finishMutation(r,{tag:"annotations.import",result:i},e.artifactPath)}handleAnnotationsReadAppearance(e,t){let r=this.requireSession(e),n=r.resolvePageRef(e.page).pageObjectNumber,i=new ll(this.runtime,r).readAppearance(n,e.ref,t);return N({tag:"annotations.readAppearance",bytes:i.bytes,size:i.size},[i.bytes])}handleAnnotationsReorder(e,t){let r=this.requireSession(e),{type:n,page:i,...a}=this.applyOne(r,e.opId,{type:"annotations.reorder",page:e.page,refs:e.refs,position:e.position},{...e.authority,protection:null},t);return this.finishMutation(r,{tag:"annotations.reorder",result:a},e.artifactPath)}handleDocumentApply(e,t){let r=this.requireSession(e);B6(e.change);let n=zA(e.change),i=is(r).outcome(e.opId);if(i)return N({tag:"document.apply",result:this.replayed(i,n,e.opId),replayed:!0});let a=this.recorded(r,e.opId,n,()=>this.runChange(r,e,t)),o={tag:"document.apply",result:a,replayed:!1};return a.items.some(xA)?this.finishMutation(r,o,e.artifactPath):N(o)}applyOne(e,t,r,n,i){let a={ops:[r]},o=is(e),s=zA(a),A=o.outcome(t),d;A?d=this.replayed(A,s,t):d=this.recorded(e,t,s,()=>new gl(this.runtime,e,this.fonts).apply(a.ops,n,i,AT));let p=d.items[0];if(!p||Nr(p))throw new g(f.Unknown,`${r.type} wrote nothing`);return p}replayed(e,t,r){if(e.fingerprint!==t)throw new g(f.IdempotencyKeyReused,`opId ${r} already answered a different change`);if(e.kind==="refused")throw Gd(e.error);return e.result}recorded(e,t,r,n){let i=is(e);try{let a=n(),o=EP(e,a);return i.keepApplied(t,r,o,o.meta.undoable?a.record:null),o}catch(a){throw g.is(a)&&qA(a.code)&&i.keepRefused(t,r,On(a)),a}}handleDocumentApplyChanges(e,t){let r=this.requireSession(e);r.assertUsable(),e.objectNumberFloor!==void 0&&r.raiseLastObjectNumber(e.objectNumberFloor-1);let n=new gl(this.runtime,r,this.fonts),i=this.pageSpaceOf(r),a=new Map,o=[];for(let A of e.changes){r.beginTransaction(A.opId);try{let d=f6(n,A,a,t,i),p=EP(r,d);r.commitTransaction();let m=p.meta.undoable?d.record:null;a.set(A.opId,m),o.push({opId:A.opId,status:"applied",result:p,record:m})}catch(d){if(r.inTransaction()&&r.abortTransaction(),!g.is(d)||!qA(d.code))throw d;a.set(A.opId,null),o.push({opId:A.opId,status:"refused",error:On(d)})}}let s={tag:"document.applyChanges",outcomes:o};return o.some(A=>A.status==="applied"&&A.result.items.some(xA))?this.finishMutation(r,s,e.artifactPath):N(s)}pageSpaceOf(e){return{opInFileSpace:t=>ZT(t,mi(this.runtime,e)),itemOut:t=>JT(t,mi(this.runtime,e))}}runChange(e,t,r){let n=new gl(this.runtime,e,this.fonts),i=this.pageSpaceOf(e),a=t.authority.identity.userId??null;if(!uo(t.change))return n.apply(t.change.ops,t.authority,r,i);let o=is(e).record(t.change.undoOf);if(!o||"unavailable"in o)throw new g(f.UndoUnavailable,`change ${t.change.undoOf} can no longer be undone`,{details:{reason:o?o.unavailable:"expired"}});if(!o.record)return{items:[],record:{userId:a,steps:[]}};if(o.record.userId!==null&&o.record.userId!==a)throw new je("changes:undo","target");return n.undo(o.record,t.authority,r,i)}handlePagesList(e,t){let r=this.requireSession(e);return N({tag:"pages.list",snapshot:new En(this.runtime,r).read(t)})}handlePagesSetName(e,t){let r=this.requireSession(e),n=new _l(this.runtime,r).setName({name:e.name,page:e.page,...e.replace!==void 0?{replace:e.replace}:{}},t);return this.finishMutation(r,{tag:"pages.setName",result:n},e.artifactPath)}handlePagesRemoveName(e,t){let r=this.requireSession(e),n=new _l(this.runtime,r).removeName({name:e.name},t);return this.finishMutation(r,{tag:"pages.removeName",result:n},e.artifactPath)}handlePagesFlatten(e,t){let r=this.requireSession(e),n=new cI(this.runtime,r).flatten(e.pages,e.usage,t),i=n.meta.affectedPages.length>0;return i?this.finishMutation(r,{tag:"pages.flatten",result:n,wrote:i},e.artifactPath):N({tag:"pages.flatten",result:n,wrote:i})}handleRedactionApply(e,t){let r=this.requireSession(e),n=new lI(this.runtime,r).apply(e.scope,t),i=n.meta.affectedPages.length>0;return i?this.finishMutation(r,{tag:"redaction.apply",result:n,wrote:i},e.artifactPath):N({tag:"redaction.apply",result:n,wrote:i})}handlePagesExtract(e,t){let r=this.requireSession(e),n=new nI(this.runtime,r).extract(e.pages,e.flatten,t);return N({tag:"pages.extract",bytes:n.bytes,size:n.size},[n.bytes])}handleDocumentFontsList(e){let t=this.requireSession(e);return Mv(this.runtime,t),N({tag:"document.fonts.list",facts:new pl(this.runtime,t,this.fonts).facts()})}handleDocumentFontsResolve(e){let t=new pl(this.runtime,this.requireSession(e),this.fonts),r=t.facts(),{runs:n,missingCharacters:i}=t.resolve(e.annotation,e.runs,r);return N({tag:"document.fonts.resolve",runs:n,missingCharacters:i,facts:r})}handleDocumentFontsProgram(e){let t=new pl(this.runtime,this.requireSession(e),this.fonts).program(e.displaySha256,e.part==="data"),r=t.bytes?t.bytes.buffer.slice(t.bytes.byteOffset,t.bytes.byteOffset+t.bytes.byteLength):null;return N({tag:"document.fonts.program",covers:t.covers,ascent:t.ascent,descent:t.descent,bytes:r},r?[r]:[])}handleAttachmentsList(e,t){let r=this.requireSession(e);return N({tag:"attachments.list",attachments:new ml(this.runtime,r).list(t)})}handleAttachmentsReadFile(e,t){let r=this.requireSession(e),n=new ml(this.runtime,r).readFile(e.ref,e.path,e.maxDecodedBytes,t);return N({tag:"attachments.readFile",content:n},n.bytes!==void 0?[n.bytes]:[])}async handleAnnotationsReadFile(e,t){let r=this.requireSession(e),n=await new ml(this.runtime,r).readAnnotationFile(r.resolvePageRef(e.page).pageObjectNumber,e.ref,e.path,e.maxDecodedBytes,t,this.slices);return N({tag:"annotations.readFile",content:n},n.bytes!==void 0?[n.bytes]:[])}async handleMeasureViewports(e,t){let r=this.requireSession(e),n=await new r6(this.runtime,r).viewports(r.resolvePageRef(e.page).pageObjectNumber,t,this.slices);return N({tag:"measure.viewports",page:e.page,viewports:n})}handleMeasureSetScale(e,t){let r=this.requireSession(e);return new i6(this.runtime,r).setScale(r.resolvePageRef(e.page).pageObjectNumber,e.measure,t),this.finishMutation(r,{tag:"measure.setScale",result:{page:e.page,meta:{affectedPages:[],cacheDelta:null,...r.writeStamp()}}},e.artifactPath)}handlePieceInfoRead(e,t){let r=this.requireSession(e);return N({tag:"pieceInfo.read",snapshot:new gc(this.runtime,r,e.page?r.resolvePageRef(e.page).pageObjectNumber:void 0).read(e.application,t)})}handlePieceInfoUpdate(e,t){let r=this.requireSession(e),n=new gc(this.runtime,r,e.page?r.resolvePageRef(e.page).pageObjectNumber:void 0);n.update(e.application,e.patch,t);let i={pieceInfo:n.read(e.application,t),meta:{affectedPages:[],cacheDelta:null,...r.writeStamp()}};return this.finishMutation(r,{tag:"pieceInfo.update",result:i},e.artifactPath)}handlePieceInfoApplications(e,t){let r=this.requireSession(e);return N({tag:"pieceInfo.applications",applications:new gc(this.runtime,r,e.page?r.resolvePageRef(e.page).pageObjectNumber:void 0).applications(t)})}handlePieceInfoDelete(e,t){let r=this.requireSession(e);new gc(this.runtime,r,e.page?r.resolvePageRef(e.page).pageObjectNumber:void 0).delete(e.application,t);let n={meta:{affectedPages:[],cacheDelta:null,...r.writeStamp()}};return this.finishMutation(r,{tag:"pieceInfo.delete",result:n},e.artifactPath)}async handlePagesText(e,t){let r=this.requireSession(e),n=new VP(this.runtime,r),i=r.resolvePageRef(e.page).pageObjectNumber;return N({tag:"pages.text",snapshot:await n.read(i,t,this.slices)})}async handlePagesGeometry(e,t){let r=this.requireSession(e),n=new XP(this.runtime,r),i=r.resolvePageRef(e.page).pageObjectNumber,a=await n.read(i,t,this.slices);return N({tag:"pages.geometry",page:e.page,snapshot:a})}async handleSearchQuery(e,t){let r=this.requireSession(e);return N({tag:"search.query",slice:await new YT(this.runtime,r).query(e.request,t,this.slices)})}async handlePagesRender(e,t){let r=this.requireSession(e),{raster:n,area:i}=await new fv(this.runtime,r).render(r.resolvePageRef(e.page).pageObjectNumber,e.options??{},t,this.slices);return N({tag:"pages.render",page:e.page,area:i,raster:n},[n.data])}slicedWork(e){switch(e.kind){case"pages.render":return{pdfium:t=>this.handlePagesRender(e,t)};case"pages.renderEncoded":return{pdfium:t=>this.handlePagesRender({...e,kind:"pages.render"},t),encode:(t,r)=>this.encodeRendered(t,e.encode,r)};case"document.renderPageFile":return{pdfium:t=>this.handleDocumentRenderPageFile(e,t)};case"document.renderPageFileEncoded":return{pdfium:t=>this.handleDocumentRenderPageFile({...e,kind:"document.renderPageFile"},t),encode:(t,r)=>this.encodeRendered(t,e.encode,r)};case"annotations.renderAppearances":return{pdfium:t=>this.handleAnnotationsRenderAppearances(e,t)};case"annotations.renderAppearancesEncoded":return{pdfium:t=>this.handleAnnotationsRenderAppearances({...e,kind:"annotations.renderAppearances"},t),encode:(t,r)=>this.encodeAppearances(t,e.page,e.encode,r)};case"pages.text":return{pdfium:t=>this.handlePagesText(e,t)};case"pages.geometry":return{pdfium:t=>this.handlePagesGeometry(e,t)};case"measure.viewports":return{pdfium:t=>this.handleMeasureViewports(e,t)};case"annotations.readFile":return{pdfium:t=>this.handleAnnotationsReadFile(e,t)};case"search.query":return{pdfium:t=>this.handleSearchQuery(e,t)};default:return null}}async runSliced(e,t,r,n){if(n.encode&&!this.options.imageEncoder){this.post(N({kind:"reject",jobId:t.jobId,error:P6()},Wr));return}let i=new AbortController;this.aborts.set(t.jobId,i),this.busy=!0;try{let a;try{a=await n.pdfium(i.signal)}finally{this.busy=!1,queueMicrotask(()=>this.drain())}this.resolve(t,n.encode?await n.encode(a,i.signal):a)}catch(a){this.post(N({kind:"reject",jobId:t.jobId,error:On(a)},Wr))}finally{this.aborts.delete(t.jobId),this.closePagesChangedBy(e,r)}}async encodeRaster(e,t,r){let n=this.options.imageEncoder;if(!n)throw new g(f.NotImplemented,GD);let{bytes:i,mimeType:a}=await n.encode(e,t);if(r.aborted)throw new g(f.Aborted,"aborted during image encode");return{mimeType:a,width:e.width,height:e.height,bytes:i}}async encodeRendered(e,t,r){let{payload:n}=e;if(n.tag==="pages.render"){let i=await this.encodeRaster(n.raster,t,r);return N({tag:"pages.renderEncoded",image:i},[i.bytes.buffer])}if(n.tag==="document.renderPageFile"){let i=await this.encodeRaster(n.raster,t,r);return N({tag:"document.renderPageFileEncoded",page:n.page,pageCount:n.pageCount,image:i},[i.bytes.buffer])}throw new g(f.WireFormat,`unexpected ${n.tag}`)}async encodeAppearances(e,t,r,n){if(e.payload.tag!=="annotations.renderAppearances")throw new g(f.WireFormat,`unexpected ${e.payload.tag}`);let{appearances:i}=e.payload.result,a=[];for(let o of i)a.push({ref:o.ref,mode:o.mode,state:o.state,rect:o.rect,image:await this.encodeRaster(o.raster,r,n)});return N({tag:"annotations.renderAppearancesEncoded",page:t,result:{page:e.payload.result.page,appearances:a}},a.map(o=>o.image.bytes.buffer))}assertRewriteKeepsSignatures(e,t){if(t!=="rewrite"||e.signedDocumentPolicy!=="protect")return;let r=this.probeProtection(e);if(r&&r.judged!==null)throw new g(f.ProtectedDocument,"the document is signed: a rewrite save would void every signature (use an incremental save)")}handleDocumentSaveBuffer(e){let t=this.requireSession(e);if(this.assertRewriteKeepsSignatures(t,e.mode),e.mode==="incremental"){let n=new Vn(this.runtime,t).snapshot();return N({tag:"document.saveBuffer",bytes:n.bytes,size:n.bytes.byteLength},[n.bytes])}let r=new Vn(this.runtime,t).saveStandaloneToBuffer(e.mode);return N({tag:"document.saveBuffer",bytes:r.bytes,size:r.size},[r.bytes])}handleDocumentSaveFile(e){let t=this.requireSession(e);return this.assertRewriteKeepsSignatures(t,e.mode),e.mode==="incremental"&&(!t.hasUnsavedEdits()||new Vn(this.runtime,t).saveStandaloneToFileEx(e.path,e.mode).unchangedSinceLoad)?(new Vn(this.runtime,t).copyLoadedBytesToFile(e.path),N({tag:"document.saveFile",path:e.path})):e.mode==="incremental"?N({tag:"document.saveFile",path:e.path}):N({tag:"document.saveFile",path:new Vn(this.runtime,t).saveStandaloneToFile(e.path,e.mode).path})}handleDocumentSaveLayerBuffer(e){let t=this.requireSession(e);if(t.kind!=="layer")throw new g(f.InvalidArg,"document has no layer to export (opened without a layer)");let r=new Vn(this.runtime,t).saveLayerArtifact();return N({tag:"document.saveLayerBuffer",bytes:r.bytes,size:r.size},[r.bytes])}handleDocumentProbeSecurityFile(e){return N({tag:"document.probeSecurityFile",security:new vl(this.runtime).probeFile(e.path,e.password)})}async handleDocumentRenderPageFile(e,t){let r=new Dl(this.runtime),n=this.baseDocuments.acquireFileBase({key:`adhoc-file:${e.path}`,path:e.path,password:e.password});try{r.openFromHandle(_n(this.runtime,n,{kind:"fresh"},e.password));let i=new En(this.runtime,r).read(t),a=i.pages[e.pageIndex];if(!a)throw new g(f.NotFound,`renderPageFile: no page at index ${e.pageIndex} (pageCount=${i.pageCount})`);let{raster:o}=await new fv(this.runtime,r).render(a.ref.objectNumber,_D(e.options??{},()=>a.pdfCropBox),t,this.slices);return N({tag:"document.renderPageFile",page:a.ref,pageCount:i.pageCount,raster:o},[o.data])}finally{r.close()}}handleDocumentCheckPasswordPermissions(e){let t=this.sessions.get(Nt(e.docId)),r;return t?.isLocked()?(t.unlockWith(e.password),t.password=e.password,r=t):r=this.requireSession(e),N({tag:"document.checkPasswordPermissions",security:new vl(this.runtime).checkPasswordPermissions(r,e.password,e.mode??"any"),protection:this.probeProtection(r)})}handleFontsRegister(e){return this.fonts.register(e.fontKey,e.familyName,e.weight,e.italic,new Uint8Array(e.data),e.builtIn??!1),N({tag:"fonts.register",fontKey:e.fontKey,identity:this.fonts.describe(e.fontKey)})}handleFontsAuthorizeEditing(e){return N({tag:"fonts.authorizeEditing",identity:this.fonts.authorizeEditing(e.fontKey)})}handleDocumentSetFontSettings(e){let t=this.requireSession(e).requireDocPtr(),{fn:r}=this.runtime;if(e.embeddingPolicy!==void 0){let n={default:0,subset:1,full:2}[e.embeddingPolicy];if(!r.EPDFDoc_SetFontEmbeddingPolicy(t,n))throw new g(f.InvalidArg,"EPDFDoc_SetFontEmbeddingPolicy failed")}if(e.typographicFeatures!==void 0&&!r.EPDFDoc_SetTypographicFeatures(t,e.typographicFeatures))throw new g(f.InvalidArg,"EPDFDoc_SetTypographicFeatures failed");return N({tag:"document.setFontSettings"})}handleFontsAddFallback(e){return this.fonts.addFallback(e.fontKey,e.tier),N({tag:"fonts.addFallback"})}handleFontsClearFallbacks(e){return this.fonts.clearFallbacks(),N({tag:"fonts.clearFallbacks"})}handleFontsProgram(e){let t=this.fonts.engineFontFacts().some(i=>i.sha256===e.sha256&&i.served)?this.fonts.programFor(e.sha256):void 0;if(!t)throw new g(f.NotFound,`no served font has the program ${e.sha256}`);let r=t.bytes(),n=r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength);return N({tag:"fonts.program",bytes:n},[n])}handleFontsClear(e){return this.fonts.clear(),N({tag:"fonts.clear"})}handleLayerClose(e){let t=Nt(e.docId,e.layerName),r=this.sessions.get(t);return r&&(Dc(this.runtime,r),_c(this.runtime,r),r.close(),this.sessions.delete(t)),N({tag:"close"})}handleClose(e){for(let[t,r]of Array.from(this.sessions.entries()))h6(t,e.docId)&&(Dc(this.runtime,r),_c(this.runtime,r),r.close(),this.sessions.delete(t));return N({tag:"close"})}handleShutdown(e){if(!this.destroyed){this.destroyed=!0;for(let t of this.sessions.values())Dc(this.runtime,t),_c(this.runtime,t),t.close();this.sessions.clear(),this.residency.closeIdle(),this.baseDocuments.releaseAll(),y7(this.runtime)}return N({tag:"shutdown"})}requireSession(e){let t=Nt(e.docId,e.layerName),r=this.sessions.get(t);if(r?.isLocked())throw new g(f.DocPasswordRequired,`document session is password-locked: ${t}`);if(!r||!r.isOpen())throw new g(f.DocNotOpen,`document session not open: ${t}`);return r.assertUsable(),r}handleFormsList(e,t){let r=this.requireSession(e);return N({tag:"forms.list",snapshot:new ED(this.runtime,r,this.fonts).snapshot(t)})}handleFormsSetValue(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.setValue",field:e.ref,value:e.value},e.authority,t);return this.finishMutation(r,{tag:"forms.setValue",result:i},e.artifactPath)}handleFormsReset(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"forms.reset",...e.refs?{fields:e.refs}:{}},e.authority,t);return this.finishMutation(r,{tag:"forms.reset",result:a},e.artifactPath)}handleFormsExport(e,t){let r=this.requireSession(e),n=new OT(this.runtime,r,this.fonts).export(e.selection,e.limits??bn,t);return N({tag:"forms.export",bundle:n},Object.values(n.resources))}handleFormsImport(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.import",bundle:e.bundle,...e.pages!==void 0?{pages:e.pages}:{},attribution:e.attribution,values:e.values,actor:BP(e.authority),limits:e.limits??bn,mayScript:e.mayScript},e.authority,t);return i.fields.length===0?N({tag:"forms.import",result:i}):this.finishMutation(r,{tag:"forms.import",result:i},e.artifactPath)}handleFormsImportValues(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.importValues",bundle:e.bundle,attribution:e.attribution,actor:BP(e.authority),limits:e.limits??bn},e.authority,t);return i.fields.length===0?N({tag:"forms.importValues",result:i}):this.finishMutation(r,{tag:"forms.importValues",result:i},e.artifactPath)}handleFormsRepair(e,t){let r=this.requireSession(e),n=new Ft(this.runtime,r,this.fonts).repair(e.bakeAppearances??!1,t);return this.finishMutation(r,{tag:"forms.repair",result:n},e.artifactPath)}handleFormsCreateField(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.create",draft:e.draft,...e.objectNumber!==void 0?{objectNumber:e.objectNumber}:{},...e.widgetObjectNumbers?{widgetObjectNumbers:e.widgetObjectNumbers}:{}},e.authority,t);return this.finishMutation(r,{tag:"forms.createField",result:i},e.artifactPath)}handleFormsUpdateField(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"forms.update",field:e.ref,patch:e.patch},e.authority,t);return this.finishMutation(r,{tag:"forms.updateField",result:a},e.artifactPath)}handleFormsSetSignatureAppearance(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.setSignatureAppearance",field:e.ref,appearance:{pdf:new Uint8Array(e.pdf)}},e.authority,t);return this.finishMutation(r,{tag:"forms.setSignatureAppearance",result:i},e.artifactPath)}handleFormsDeleteField(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.delete",field:e.ref},Jt(),t);return this.finishMutation(r,{tag:"forms.deleteField",result:i},e.artifactPath)}handleFormsAddWidget(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.addWidget",field:e.ref,placement:e.placement,...e.objectNumber!==void 0?{objectNumber:e.objectNumber}:{},...e.splitObjectNumber!==void 0?{splitObjectNumber:e.splitObjectNumber}:{}},Jt(),t);return this.finishMutation(r,{tag:"forms.addWidget",result:i},e.artifactPath)}handleFormsDetachWidget(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.removeWidget",field:e.ref,widget:e.widget},Jt(),t);return this.finishMutation(r,{tag:"forms.detachWidget",result:i},e.artifactPath)}handleFormsUpdateWidget(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"forms.updateWidget",widget:e.widget,patch:e.patch},Jt(),t);return this.finishMutation(r,{tag:"forms.updateWidget",result:a},e.artifactPath)}handleFormsDeleteWidget(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.deleteWidget",widget:e.widget},Jt(),t);return this.finishMutation(r,{tag:"forms.deleteWidget",result:i},e.artifactPath)}handleFormsReorderCalculations(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.reorderCalculations",fields:e.fields,position:e.position},Jt(),t);return this.finishMutation(r,{tag:"forms.reorderCalculations",result:i},e.artifactPath)}handleFormsReorderWidgets(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.reorderWidgets",page:e.page,widgets:e.widgets,position:e.position},Jt(),t);return this.finishMutation(r,{tag:"forms.reorderWidgets",result:i},e.artifactPath)}finishMutation(e,t,r){e.inTransaction()&&e.commitTransaction(),F6.has(t.tag)&&is(e).endUndo(),!t.tag.startsWith("forms.")&&t.tag!=="pages.flatten"&&t.tag!=="redaction.apply"&&t.tag!=="signatures.complete"&&e.invalidateDerived(),t.tag!=="signatures.complete"&&e.noteEdit();let n=b6(t,e.missingCharacters()),i=W4(this.runtime,e)?{...n,fontsChanged:!0}:n;if(e.kind!=="layer"||!e.persistLayerArtifact)return N(i);let a=this.saveLayerArtifact(e,r);return N({...i,...a.payload},a.transfer)}saveLayerArtifact(e,t){let r=new Vn(this.runtime,e),n=e.lastObjectNumber();if(t)return{payload:{artifactFile:{...r.saveLayerArtifactToFile(t),lastObjectNumber:n}},transfer:[]};let i={...r.saveLayerArtifact(),lastObjectNumber:n};return{payload:{artifact:i},transfer:[i.bytes]}}},m6={read:"none",snapshot:"none",session:"none",open:"none",close:"none",write:"keepsPages",contentWrite:"document",runtimeWrite:"runtime"};function w6(e){return e.kind==="shutdown"?"none":m6[e.effect]}function Jt(e){return{identity:e??{},grants:null,protection:null}}function BP({identity:e}){return{...e.userId!==void 0?{userId:e.userId}:{},...e.groupId!==void 0?{groupId:e.groupId}:{},...e.displayName!==void 0?{displayName:e.displayName}:{}}}function b6(e,t){if(t.length===0||!("result"in e))return e;let r=e.result;if(typeof r!="object"||r===null||!("meta"in r))return e;let{meta:n}=r;return typeof n!="object"||n===null||"missingCharacters"in n?e:{...e,result:{...r,meta:{...n,missingCharacters:t}}}}function EP(e,t){let r=t.record.steps.length>0;r&&e.markUndoable();let n=t.items.map(a=>({...a,meta:{...a.meta,undoable:r}})),i=[...new Set(n.flatMap(a=>a.meta.missingCharacters??[]))];return{items:n,meta:{affectedPages:g6(n),cacheDelta:null,...e.writeStamp(),...i.length>0?{missingCharacters:i}:{}}}}function f6(e,t,r,n,i){let{change:a,authority:o}=t;if(!uo(a))return e.apply(a.ops,o,n,i);let s=o.identity.userId??null,A=r.has(a.undoOf)?r.get(a.undoOf):t.record;if(A===void 0)throw new g(f.UndoUnavailable,`change ${a.undoOf} can no longer be undone`,{details:{reason:"expired"}});return A?e.undo(A,o,n,i):{items:[],record:{userId:s,steps:[]}}}function g6(e){let t=new Map;for(let r of e)for(let n of r.meta.affectedPages)t.set(n.objectNumber,n);return[...t.values()]}function Fc(e){return e.kind==="shutdown"||e.kind==="signatures.complete"||e.kind==="document.applyChanges"||e.effect!=="write"&&e.effect!=="contentWrite"?!1:"docId"in e}var F6=new Set(["redaction.apply","pages.flatten","annotations.flatten","forms.repair","signatures.complete"]),v6="__base__";function Nt(e,t){return`${e}::${t?`layer:${t}`:v6}`}var GD="this engine has no image encoder (the *.renderEncoded kinds are cloud-server surface)";function P6(){return On(new g(f.NotImplemented,GD))}function h6(e,t){return e===Nt(t)||e.startsWith(`${t}::layer:`)}function k6(e){return e instanceof g&&(e.code===f.DocPasswordRequired||e.code===f.DocPasswordIncorrect)}function D6(){return{encryptionState:"encrypted",encryptionRequiresPassword:!0,securityHandlerRevision:null,pdfPermissionsBits:null,pdfPermissionsAllAllowed:null,pdfOpenedAs:null,securityProbedAt:Date.now()}}function B6(e){if(uo(e))return;let t={"annotations.import":"doc.annotations.import","forms.import":"doc.forms.import","forms.importValues":"doc.forms.importValues"},r=e.ops.find(({type:n})=>n in t);if(r)throw new g(f.InvalidArg,`doc.apply takes no import: import a bundle with ${t[r.type]}`)}function CD(e){e.onmessage=t=>{let r=t.data;!r||typeof r!="object"||r.kind!=="init"||E6(e,r)}}function E6(e,t){(async()=>{let r=_6(t),n=await tg({prefer:"wasm",wasmUrl:r.wasmUrl,wasmBinary:r.wasmBinary}),i=new yD(n,a=>{e.postMessage(a.payload,a.transfer)});e.onmessage=a=>{i.receive(a.data)},e.postMessage({kind:"ready"})})().catch(r=>{e.postMessage({kind:"init-error",error:y6(r,t)})})}function _6(e){return{wasmUrl:e.wasmUrl,wasmBinary:e.wasmBinary}}function y6(e,t){let r=String(e?.stack??e);return t.wasmBinary?r:`${t.wasmUrl?`failed to load embedpdf.wasm from ${t.wasmUrl}`:"failed to load embedpdf.wasm (resolved relative to the worker script)"}. Your build did not ship the wasm at that location \\u2014 either import \\`localEngine\\` from \\`@embedpdf/engine/portable\\` (the wasm travels inside your build), or self-host the file and pass \\`assetsUrl\\`/\\`wasmUrl\\` to localEngine(), or provide the bytes via \\`wasmBinary\\`. See https://www.embedpdf.com/docs/viewer/self-hosting \\u2014 ${r}`}CD(self);})();\n'; -export { - e as default -}; -//# sourceMappingURL=embedpdf-worker.source-Bj9KREQ9-zQG3AtU_.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/embedpdf-worker.source-Ckg6uFZ3-Dkca2Kjg.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/embedpdf-worker.source-Ckg6uFZ3-Dkca2Kjg.js new file mode 100644 index 00000000..5e0be9b7 --- /dev/null +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/embedpdf-worker.source-Ckg6uFZ3-Dkca2Kjg.js @@ -0,0 +1,5 @@ +var e = '"use strict";(()=>{var ub=Object.defineProperty;var l_=(e,t,r)=>t in e?ub(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var pb=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error(\'Dynamic require of "\'+e+\'" is not supported\')});var it=(e,t,r)=>()=>{if(r)throw r[0];try{return e&&(t=e(e=0)),t}catch(n){throw r=[n],n}};var Je=(e,t)=>{for(var r in t)ub(e,r,{get:t[r],enumerable:!0})};var Ut=(e,t,r)=>l_(e,typeof t!="symbol"?t+"":t,r);var Fg={};Je(Fg,{default:()=>AC});var sC,AC,vg=it(()=>{"use strict";sC=(()=>{var e=self.location.href;return(function(t={}){var r,n=t,i,a,o=new Promise((u,l)=>{i=u,a=l});["_EPDF_CheckPasswordPermissions","_EPDF_DigestBuffer","_EPDF_FreeBuffer","_EPDF_GetDecodedImageBytes","_EPDF_GetMetaKeyCount","_EPDF_GetMetaKeyName","_EPDF_GetMetaTrapped","_EPDF_GetPageBoxByIndex","_EPDF_GetPageRotateByIndex","_EPDF_GetPageTabOrderByIndex","_EPDF_GetPageUserUnitByIndex","_EPDF_HasMetaText","_EPDF_InitThread","_EPDF_IsEncrypted","_EPDF_IsOwnerUnlocked","_EPDF_LoadBaseDocument","_EPDF_LoadMemBaseDocument","_EPDF_LoadMemBaseDocument64","_EPDF_LoadPageNormalized","_EPDF_PNG_EncodeRGBA","_EPDF_ReleaseBaseDocument","_EPDF_RemoveEncryption","_EPDF_RenderAnnotBitmap","_EPDF_RenderAnnotBitmapUnrotated","_EPDF_RenderPage_Continue","_EPDF_RenderPageBitmapWithMatrix_Start","_EPDF_SaveAsCopyEx","_EPDF_SaveDocumentToOwnedBuffer","_EPDF_SaveDocumentToOwnedBufferEx","_EPDF_SaveDocumentToOwnedBufferWithVersion","_EPDF_SetBaseDocumentSha256","_EPDF_SetDecodedImageBudget","_EPDF_SetEncryption","_EPDF_SetMetaText","_EPDF_SetMetaTrapped","_EPDF_SetRuntimeOwnerPermissions","_EPDF_ShutdownThread","_EPDF_UnlockOwnerPermissions","_EPDFAction_CloseModel","_EPDFAction_CreateGoTo","_EPDFAction_CreateGoToNamed","_EPDFAction_CreateHide","_EPDFAction_CreateJavaScript","_EPDFAction_CreateLaunch","_EPDFAction_CreateNamed","_EPDFAction_CreateRemoteGoToByName","_EPDFAction_CreateRemoteGoToDest","_EPDFAction_CreateResetForm","_EPDFAction_CreateSubmitForm","_EPDFAction_CreateURI","_EPDFAction_GetNextAt","_EPDFAction_GetNextCount","_EPDFAction_GetNodeCount","_EPDFAction_GetNodeDest","_EPDFAction_GetNodeFilePath","_EPDFAction_GetNodeHideFlag","_EPDFAction_GetNodeJavaScript","_EPDFAction_GetNodeName","_EPDFAction_GetNodeResetForm","_EPDFAction_GetNodeSubmitForm","_EPDFAction_GetNodeSubmitFormCharSet","_EPDFAction_GetNodeSubmitFormURL","_EPDFAction_GetNodeSubtype","_EPDFAction_GetNodeTargetCount","_EPDFAction_GetNodeTargetName","_EPDFAction_GetNodeTargetObjectNumber","_EPDFAction_GetNodeType","_EPDFAction_GetNodeURI","_EPDFAction_GetNodeURIIsMap","_EPDFAction_GetRootNode","_EPDFAction_GetWarningFlags","_EPDFAction_IsComplete","_EPDFAction_LoadModel","_EPDFAction_NodeHasJavaScript","_EPDFAction_SetNext","_EPDFAnnot_AddMeasure","_EPDFAnnot_ClearBorderEffect","_EPDFAnnot_ClearColor","_EPDFAnnot_ClearEmbedMetadata","_EPDFAnnot_ClearEmbedMetadataKey","_EPDFAnnot_ClearMKColor","_EPDFAnnot_ClearRectangleDifferences","_EPDFAnnot_ExportAppearance","_EPDFAnnot_GenerateAppearance","_EPDFAnnot_GenerateAppearanceWithBlend","_EPDFAnnot_GenerateFormFieldAP","_EPDFAnnot_GetActionModel","_EPDFAnnot_GetAPMatrix","_EPDFAnnot_GetAppearanceState","_EPDFAnnot_GetAppearanceStateCount","_EPDFAnnot_GetAppearanceStateName","_EPDFAnnot_GetAppearanceTransform","_EPDFAnnot_GetAvailableAppearanceModes","_EPDFAnnot_GetBlendMode","_EPDFAnnot_GetBooleanValue","_EPDFAnnot_GetBorderDashPattern","_EPDFAnnot_GetBorderDashPatternCount","_EPDFAnnot_GetBorderEffect","_EPDFAnnot_GetBorderStyle","_EPDFAnnot_GetCalloutLine","_EPDFAnnot_GetCalloutLineCount","_EPDFAnnot_GetColor","_EPDFAnnot_GetDefaultAppearance","_EPDFAnnot_GetDefaultAppearanceFontFace","_EPDFAnnot_GetDefaultAppearanceFontPostScriptName","_EPDFAnnot_GetDrawingRect","_EPDFAnnot_GetEmbedMetadataBoolean","_EPDFAnnot_GetEmbedMetadataJSON","_EPDFAnnot_GetEmbedMetadataNumber","_EPDFAnnot_GetEmbedMetadataRect","_EPDFAnnot_GetEmbedMetadataString","_EPDFAnnot_GetFileAttachmentForWrite","_EPDFAnnot_GetIntent","_EPDFAnnot_GetLineCaption","_EPDFAnnot_GetLineEndings","_EPDFAnnot_GetLineLeader","_EPDFAnnot_GetMeasure","_EPDFAnnot_GetMKColor","_EPDFAnnot_GetMKRotation","_EPDFAnnot_GetMKText","_EPDFAnnot_GetMKTextPosition","_EPDFAnnot_GetName","_EPDFAnnot_GetObjectNumber","_EPDFAnnot_GetOpacity","_EPDFAnnot_GetOverlayText","_EPDFAnnot_GetOverlayTextRepeat","_EPDFAnnot_GetRect","_EPDFAnnot_GetRectangleDifferences","_EPDFAnnot_GetReplyType","_EPDFAnnot_GetRichContent","_EPDFAnnot_GetRichTextJSON","_EPDFAnnot_GetRotate","_EPDFAnnot_GetShapeCaption","_EPDFAnnot_GetStampDrawing","_EPDFAnnot_GetStructurePosition","_EPDFAnnot_GetTextAlignment","_EPDFAnnot_HasAppearanceStream","_EPDFAnnot_HasEmbedMetadata","_EPDFAnnot_IsValid","_EPDFAnnot_RemoveAction","_EPDFAnnot_RemoveDest","_EPDFAnnot_RemoveKey","_EPDFAnnot_RemoveMeasure","_EPDFAnnot_SetAction","_EPDFAnnot_SetAPMatrix","_EPDFAnnot_SetAppearanceFromPage","_EPDFAnnot_SetBooleanValue","_EPDFAnnot_SetBorderDashPattern","_EPDFAnnot_SetBorderEffect","_EPDFAnnot_SetBorderStyle","_EPDFAnnot_SetCalloutLine","_EPDFAnnot_SetColor","_EPDFAnnot_SetDefaultAppearance","_EPDFAnnot_SetDefaultAppearanceDocumentFont","_EPDFAnnot_SetDefaultAppearanceRegisteredFont","_EPDFAnnot_SetEmbedMetadataBoolean","_EPDFAnnot_SetEmbedMetadataJSON","_EPDFAnnot_SetEmbedMetadataNumber","_EPDFAnnot_SetEmbedMetadataRect","_EPDFAnnot_SetEmbedMetadataString","_EPDFAnnot_SetEventAction","_EPDFAnnot_SetIntent","_EPDFAnnot_SetLine","_EPDFAnnot_SetLineCaption","_EPDFAnnot_SetLineEndings","_EPDFAnnot_SetLineLeader","_EPDFAnnot_SetLinkedAnnot","_EPDFAnnot_SetMKColor","_EPDFAnnot_SetMKRotation","_EPDFAnnot_SetMKText","_EPDFAnnot_SetMKTextPosition","_EPDFAnnot_SetName","_EPDFAnnot_SetNoColor","_EPDFAnnot_SetNumberValue","_EPDFAnnot_SetOpacity","_EPDFAnnot_SetOverlayText","_EPDFAnnot_SetOverlayTextRepeat","_EPDFAnnot_SetRect","_EPDFAnnot_SetReplyType","_EPDFAnnot_SetRichTextJSON","_EPDFAnnot_SetRichTextXHTML","_EPDFAnnot_SetRotate","_EPDFAnnot_SetShapeCaption","_EPDFAnnot_SetStampDrawing","_EPDFAnnot_SetStampOpacity","_EPDFAnnot_SetSubtype","_EPDFAnnot_SetTextAlignment","_EPDFAnnot_SetVertices","_EPDFAnnot_UpdateAppearanceToRect","_EPDFAttachment_ExportCanonicalToOwnedBuffer","_EPDFAttachment_ExportRawToOwnedBuffer","_EPDFAttachment_ExtractFile","_EPDFAttachment_ExtractFileToOwnedBuffer","_EPDFAttachment_GetDescription","_EPDFAttachment_GetIntegerValue","_EPDFAttachment_ImportRaw","_EPDFAttachment_SetDescription","_EPDFAttachment_SetName","_EPDFAttachment_SetSubtype","_EPDFCatalog_GetLanguage","_EPDFCatalog_GetMetadata","_EPDFCatalog_SetMetadata","_EPDFDest_CreateRemoteView","_EPDFDest_CreateRemoteXYZ","_EPDFDest_CreateView","_EPDFDest_CreateViewByObjectNumber","_EPDFDest_CreateXYZ","_EPDFDest_CreateXYZByObjectNumber","_EPDFDest_GetPageObjectNumber","_EPDFDest_GetViewNullParams","_EPDFDoc_CanonicalDrawing","_EPDFDoc_ClearMissingCharacters","_EPDFDoc_ClearPagePieceInfoEntry","_EPDFDoc_ClearPagePieceInfoKey","_EPDFDoc_ClearPieceInfoEntry","_EPDFDoc_ClearPieceInfoKey","_EPDFDoc_CompareRevisions","_EPDFDoc_CountMissingCharacters","_EPDFDoc_DeletePageByObjectNumber","_EPDFDoc_ExportDictCanonicalToOwnedBuffer","_EPDFDoc_ExportDictRawToOwnedBuffer","_EPDFDoc_ExportDrawing","_EPDFDoc_ExportPagesFlattened","_EPDFDoc_GetAdditionalActionModel","_EPDFDoc_GetAttachmentIndexByKey","_EPDFDoc_GetAttachmentKey","_EPDFDoc_GetBaseBytesSize","_EPDFDoc_GetFontDisplayProgramCoverage","_EPDFDoc_GetFontDisplayProgramData","_EPDFDoc_GetFontEmbeddingPolicy","_EPDFDoc_GetFontProgramData","_EPDFDoc_GetFontsFingerprint","_EPDFDoc_GetImportFieldRoots","_EPDFDoc_GetLastModified","_EPDFDoc_GetLoadedBytesSize","_EPDFDoc_GetMissingCharacter","_EPDFDoc_GetNamedJavaScriptActionModel","_EPDFDoc_GetNamedPageAt","_EPDFDoc_GetNamedPageCount","_EPDFDoc_GetOpenActionDest","_EPDFDoc_GetOpenActionModel","_EPDFDoc_GetPageActionModel","_EPDFDoc_GetPageLabelSectionAt","_EPDFDoc_GetPageLabelSectionCount","_EPDFDoc_GetPageLastModified","_EPDFDoc_GetPageObjectNumberByIndex","_EPDFDoc_GetPagePieceInfoBoolean","_EPDFDoc_GetPagePieceInfoEntryAt","_EPDFDoc_GetPagePieceInfoEntryCount","_EPDFDoc_GetPagePieceInfoKeyAt","_EPDFDoc_GetPagePieceInfoKeyCount","_EPDFDoc_GetPagePieceInfoLastModified","_EPDFDoc_GetPagePieceInfoName","_EPDFDoc_GetPagePieceInfoNumber","_EPDFDoc_GetPagePieceInfoString","_EPDFDoc_GetPagePieceInfoStringArrayAt","_EPDFDoc_GetPagePieceInfoStringArrayCount","_EPDFDoc_GetPagePieceInfoValueType","_EPDFDoc_GetPieceInfoBoolean","_EPDFDoc_GetPieceInfoEntryAt","_EPDFDoc_GetPieceInfoEntryCount","_EPDFDoc_GetPieceInfoKeyAt","_EPDFDoc_GetPieceInfoKeyCount","_EPDFDoc_GetPieceInfoLastModified","_EPDFDoc_GetPieceInfoName","_EPDFDoc_GetPieceInfoNumber","_EPDFDoc_GetPieceInfoString","_EPDFDoc_GetPieceInfoStringArrayAt","_EPDFDoc_GetPieceInfoStringArrayCount","_EPDFDoc_GetPieceInfoValueType","_EPDFDoc_GetRevision","_EPDFDoc_GetRevisionCount","_EPDFDoc_GetStampDrawings","_EPDFDoc_GetStructureObjectNumbers","_EPDFDoc_GetTypographicFeatures","_EPDFDoc_HasPagePieceInfoEntry","_EPDFDoc_HasPieceInfoEntry","_EPDFDoc_ImportDictRaw","_EPDFDoc_ImportDrawing","_EPDFDoc_ImportPages","_EPDFDoc_LoadPageByObjectNumber","_EPDFDoc_LoadPageByObjectNumberNormalized","_EPDFDoc_OpenBaseOverlay","_EPDFDoc_OpenBaseOverlayFromPath","_EPDFDoc_OpenRevision","_EPDFDoc_ReadLoadedBytes","_EPDFDoc_RemoveNamedPage","_EPDFDoc_RemoveNamedPagesForPage","_EPDFDoc_ResolveFonts","_EPDFDoc_SetFontEmbeddingPolicy","_EPDFDoc_SetNamedPage","_EPDFDoc_SetPageLabelSections","_EPDFDoc_SetPagePieceInfoBoolean","_EPDFDoc_SetPagePieceInfoName","_EPDFDoc_SetPagePieceInfoNumber","_EPDFDoc_SetPagePieceInfoString","_EPDFDoc_SetPagePieceInfoStringArray","_EPDFDoc_SetPageRotationByObjectNumber","_EPDFDoc_SetPieceInfoBoolean","_EPDFDoc_SetPieceInfoName","_EPDFDoc_SetPieceInfoNumber","_EPDFDoc_SetPieceInfoString","_EPDFDoc_SetPieceInfoStringArray","_EPDFDoc_SetTypographicFeatures","_EPDFDoc_StartLoadPageByObjectNumber","_EPDFDocument_ClearEmbedMetadata","_EPDFFont_AddFallbackFont","_EPDFFont_AuthorizeEditing","_EPDFFont_ClearFallbackFonts","_EPDFFont_ClearRegisteredFonts","_EPDFFont_GetCoverage","_EPDFFont_GetEmbeddingPermission","_EPDFFont_GetFallbackOrder","_EPDFFont_GetFamilyName","_EPDFFont_GetLastResortFont","_EPDFFont_GetMetrics","_EPDFFont_GetPostScriptName","_EPDFFont_GetProgramData","_EPDFFont_GetProgramFormat","_EPDFFont_GetProgramHash","_EPDFFont_GetWeight","_EPDFFont_IsEditingAuthorized","_EPDFFont_IsInstanced","_EPDFFont_IsItalic","_EPDFFont_RegisterFont","_EPDFFont_RegisterMemFont","_EPDFFont_RegisterMemFont64","_EPDFFont_SetLastResortFont","_EPDFFontFaces_Close","_EPDFFontFaces_Count","_EPDFFontFaces_CountPrograms","_EPDFFontFaces_GetFamily","_EPDFFontFaces_GetProgramDisplayHash","_EPDFFontFaces_GetProgramEmbedded","_EPDFFontFaces_GetProgramEmbeddingPermission","_EPDFFontFaces_GetProgramFormat","_EPDFFontFaces_GetProgramHash","_EPDFFontFaces_GetProgramMetrics","_EPDFFontFaces_GetProgramObjNum","_EPDFFontFaces_GetProgramPostScriptName","_EPDFFontFaces_GetWeight","_EPDFFontFaces_IsItalic","_EPDFFontFaces_Load","_EPDFFontFaces_ProgramMapsUnicode","_EPDFFontResolution_Close","_EPDFFontResolution_CountMissingCharacters","_EPDFFontResolution_GetBaseFontName","_EPDFFontResolution_GetFallbacks","_EPDFFontResolution_GetFamily","_EPDFFontResolution_GetMissingCharacter","_EPDFFontResolution_GetProgramDisplayHash","_EPDFFontResolution_GetProgramObjNum","_EPDFFontResolution_GetRegisteredFont","_EPDFFontResolution_GetSource","_EPDFFontResolution_GetWeight","_EPDFFontResolution_IsDegraded","_EPDFFontResolution_IsItalic","_EPDFForm_AttachWidget","_EPDFForm_ClearFieldEmbedMetadata","_EPDFForm_ClearFieldEmbedMetadataKey","_EPDFForm_CloseModel","_EPDFForm_CountCalculationOrder","_EPDFForm_CountFieldDefaultValues","_EPDFForm_CountFieldOptions","_EPDFForm_CountFields","_EPDFForm_CountFieldValues","_EPDFForm_CountFieldWidgets","_EPDFForm_CreateField","_EPDFForm_DeleteField","_EPDFForm_DetachWidget","_EPDFForm_ExportFDF","_EPDFForm_ExportFieldRawToOwnedBuffer","_EPDFForm_ExportXFDF","_EPDFForm_GetCalculationOrderFieldIndex","_EPDFForm_GetFieldActionModel","_EPDFForm_GetFieldAlternateName","_EPDFForm_GetFieldDefaultValueAt","_EPDFForm_GetFieldDefaultValueKind","_EPDFForm_GetFieldEmbedMetadataBoolean","_EPDFForm_GetFieldEmbedMetadataJSON","_EPDFForm_GetFieldEmbedMetadataNumber","_EPDFForm_GetFieldEmbedMetadataString","_EPDFForm_GetFieldFamily","_EPDFForm_GetFieldFlags","_EPDFForm_GetFieldIndexByObjNum","_EPDFForm_GetFieldIndexForWidget","_EPDFForm_GetFieldMappingName","_EPDFForm_GetFieldMaxLen","_EPDFForm_GetFieldName","_EPDFForm_GetFieldObjNum","_EPDFForm_GetFieldOptionLabel","_EPDFForm_GetFieldOptionValue","_EPDFForm_GetFieldOrigin","_EPDFForm_GetFieldPartialName","_EPDFForm_GetFieldTopIndex","_EPDFForm_GetFieldValueAt","_EPDFForm_GetFieldValueKind","_EPDFForm_GetFieldWidgetExportValue","_EPDFForm_GetFieldWidgetObjNum","_EPDFForm_GetFieldWidgetOnState","_EPDFForm_GetFieldWidgetPageObjNum","_EPDFForm_GetFieldWidgetRect","_EPDFForm_GetFormKind","_EPDFForm_GetNeedAppearances","_EPDFForm_HasFieldEmbedMetadata","_EPDFForm_ImportFieldRaw","_EPDFForm_IsFieldOptionSelected","_EPDFForm_IsFieldWidgetChecked","_EPDFForm_LoadModel","_EPDFForm_RedrawFieldWidgets","_EPDFForm_Repair","_EPDFForm_SetCalculationOrder","_EPDFForm_SetFieldAlternateName","_EPDFForm_SetFieldAppearanceText","_EPDFForm_SetFieldDefaultValue","_EPDFForm_SetFieldDisplay","_EPDFForm_SetFieldEmbedMetadataBoolean","_EPDFForm_SetFieldEmbedMetadataJSON","_EPDFForm_SetFieldEmbedMetadataNumber","_EPDFForm_SetFieldEmbedMetadataString","_EPDFForm_SetFieldEventAction","_EPDFForm_SetFieldFlags","_EPDFForm_SetFieldMappingName","_EPDFForm_SetFieldMaxLen","_EPDFForm_SetFieldName","_EPDFForm_SetFieldOptions","_EPDFForm_SetFieldSelectedIndices","_EPDFForm_SetFieldValue","_EPDFForm_SetFieldWidgetsChecked","_EPDFImageObj_SetJpeg","_EPDFImageObj_SetPng","_EPDFLayer_AbortTransaction","_EPDFLayer_BeginTransaction","_EPDFLayer_CommitTransaction","_EPDFLayer_GetBaseDocument","_EPDFLayer_GetBaseSha256","_EPDFLayer_GetBirthName","_EPDFLayer_GetBirthObjectNumber","_EPDFLayer_GetLastObjectNumber","_EPDFLayer_GetPromotedObjectCount","_EPDFLayer_IsInTransaction","_EPDFLayer_IsObjectPromoted","_EPDFLayer_IsPagePromoted","_EPDFLayer_OpenLayer","_EPDFLayer_OpenLayerArtifact","_EPDFLayer_OpenLayerArtifactFromPath","_EPDFLayer_RaiseLastObjectNumber","_EPDFLayer_SaveDelta","_EPDFLayer_SaveDeltaEx","_EPDFLayer_SaveDeltaToOwnedBuffer","_EPDFLayer_SaveDeltaToOwnedBufferEx","_EPDFLayer_SaveLayerArtifact","_EPDFLayer_SaveLayerArtifactEx","_EPDFLayer_SaveLayerArtifactToOwnedBuffer","_EPDFLayer_SaveLayerArtifactToOwnedBufferEx","_EPDFMeasure_AddFormat","_EPDFMeasure_CountFormats","_EPDFMeasure_GetCYX","_EPDFMeasure_GetFormat","_EPDFMeasure_GetOrigin","_EPDFMeasure_GetRatio","_EPDFMeasure_GetSubtype","_EPDFMeasure_RemoveFormats","_EPDFMeasure_SetCYX","_EPDFMeasure_SetOrigin","_EPDFMeasure_SetRatio","_EPDFNamedDest_Remove","_EPDFNamedDest_SetDest","_EPDFNumberFormat_GetConversion","_EPDFNumberFormat_GetFixedDenominator","_EPDFNumberFormat_GetFraction","_EPDFNumberFormat_GetLabelPosition","_EPDFNumberFormat_GetPrecision","_EPDFNumberFormat_GetText","_EPDFNumberFormat_GetUnit","_EPDFNumberFormat_SetConversion","_EPDFNumberFormat_SetFixedDenominator","_EPDFNumberFormat_SetFraction","_EPDFNumberFormat_SetLabelPosition","_EPDFNumberFormat_SetPrecision","_EPDFNumberFormat_SetText","_EPDFNumberFormat_SetUnit","_EPDFObjectDiff_Close","_EPDFObjectDiff_GetCount","_EPDFObjectDiff_GetEntry","_EPDFObjectDiff_GetReadStatus","_EPDFObjectDiff_GetReferrer","_EPDFObjectDiff_GetReferrerCount","_EPDFObjectDiff_GetRevisionHealth","_EPDFObjectDiff_GetValue","_EPDFOutline_CreateItem","_EPDFOutline_DeleteItem","_EPDFOutline_ExportItemRawToOwnedBuffer","_EPDFOutline_GetItem","_EPDFOutline_GetObjectNumber","_EPDFOutline_ImportItemRaw","_EPDFOutline_MoveItem","_EPDFOutline_SetAction","_EPDFOutline_SetColor","_EPDFOutline_SetOpen","_EPDFOutline_SetStyle","_EPDFOutline_SetTitle","_EPDFPage_AddViewport","_EPDFPage_AddViewportRaw","_EPDFPage_ApplyRedactions","_EPDFPage_ContinueLoad","_EPDFPage_CountViewports","_EPDFPage_CountViewportsRaw","_EPDFPage_CreateAnnot","_EPDFPage_CreateAnnotRaw","_EPDFPage_ExportAnnotationsAsDocument","_EPDFPage_ExportAnnotsRawToOwnedBuffer","_EPDFPage_ExportRawToOwnedBuffer","_EPDFPage_FindViewport","_EPDFPage_Flatten","_EPDFPage_FlattenAnnotations","_EPDFPage_GetAnnotByName","_EPDFPage_GetAnnotByObjectNumber","_EPDFPage_GetAnnotCountRaw","_EPDFPage_GetAnnotIndexByNameRaw","_EPDFPage_GetAnnotIndexByObjectNumberRaw","_EPDFPage_GetAnnotRaw","_EPDFPage_GetObjectNumber","_EPDFPage_GetParsedSize","_EPDFPage_GetViewport","_EPDFPage_GetViewportRaw","_EPDFPage_ImportAnnotsRaw","_EPDFPage_ImportRaw","_EPDFPage_InsertBlankRaw","_EPDFPage_IsContentCurrent","_EPDFPage_IsValid","_EPDFPage_MoveAnnots","_EPDFPage_MoveAnnotsRaw","_EPDFPage_PromoteInlineAnnotsRaw","_EPDFPage_RemoveAnnot","_EPDFPage_RemoveAnnotByName","_EPDFPage_RemoveAnnotByObjectNumber","_EPDFPage_RemoveAnnotRaw","_EPDFPage_RemoveViewport","_EPDFPage_RemoveViewportRaw","_EPDFPage_ResetRenderCache","_EPDFSig_CloseModel","_EPDFSig_Count","_EPDFSig_DigestByteRange","_EPDFSig_DigestFileRange","_EPDFSig_GetByteRange","_EPDFSig_GetContents","_EPDFSig_GetCoverage","_EPDFSig_GetDocMDPPermission","_EPDFSig_GetFieldMDPAction","_EPDFSig_GetFieldName","_EPDFSig_GetFieldNameAt","_EPDFSig_GetFieldNameCount","_EPDFSig_GetFieldObjNum","_EPDFSig_GetIndexByFieldObjNum","_EPDFSig_GetKind","_EPDFSig_GetLockAction","_EPDFSig_GetLockPermission","_EPDFSig_GetRevisionIndex","_EPDFSig_GetSeedValueFilter","_EPDFSig_GetSeedValueListAt","_EPDFSig_GetSeedValueListCount","_EPDFSig_GetSeedValueMDP","_EPDFSig_GetSeedValuePresentFlags","_EPDFSig_GetSeedValueRequiredFlags","_EPDFSig_GetSeedValueVersion","_EPDFSig_GetString","_EPDFSig_GetValueObjNum","_EPDFSig_GetWidgetObjNum","_EPDFSig_GetWidgetPageObjNum","_EPDFSig_HasSeedValue","_EPDFSig_IsCatalogCertification","_EPDFSig_IsRevisionChainValid","_EPDFSig_IsSigned","_EPDFSig_LoadModel","_EPDFSig_Prepare","_EPDFSig_SaveCandidate","_EPDFSig_SaveCandidateToOwnedBuffer","_EPDFSig_Seal","_EPDFSig_SealSpan","_EPDFSig_SetFieldLock","_EPDFSig_WriteContents","_EPDFText_GetCharGeometry","_EPDFText_GetCharToTextMap","_EPDFText_GetTextFull","_EPDFText_RedactInQuads","_EPDFText_RedactInRect","_EPDFViewport_AddMeasure","_EPDFViewport_Close","_EPDFViewport_GetBBox","_EPDFViewport_GetMeasure","_EPDFViewport_GetName","_EPDFViewport_RemoveMeasure","_EPDFViewport_SetBBox","_EPDFViewport_SetName","_FORM_CanRedo","_FORM_CanUndo","_FORM_DoDocumentAAction","_FORM_DoDocumentJSAction","_FORM_DoDocumentOpenAction","_FORM_DoPageAAction","_FORM_ForceToKillFocus","_FORM_GetFocusedAnnot","_FORM_GetFocusedText","_FORM_GetSelectedText","_FORM_GetTextDirection","_FORM_IsIndexSelected","_FORM_OnAfterLoadPage","_FORM_OnBeforeClosePage","_FORM_OnChar","_FORM_OnFocus","_FORM_OnKeyDown","_FORM_OnKeyUp","_FORM_OnLButtonDoubleClick","_FORM_OnLButtonDown","_FORM_OnLButtonUp","_FORM_OnMouseMove","_FORM_OnMouseWheel","_FORM_OnRButtonDown","_FORM_OnRButtonUp","_FORM_Redo","_FORM_ReplaceAndKeepSelection","_FORM_ReplaceSelection","_FORM_SelectAllText","_FORM_SetFocusedAnnot","_FORM_SetIndexSelected","_FORM_SetTextDirection","_FORM_Undo","_FPDF_AddInstalledFont","_FPDF_CloseDocument","_FPDF_ClosePage","_FPDF_CloseXObject","_FPDF_CopyViewerPreferences","_FPDF_CountNamedDests","_FPDF_CreateClipPath","_FPDF_CreateNewDocument","_FPDF_DestroyClipPath","_FPDF_DestroyLibrary","_FPDF_DeviceToPage","_FPDF_DocumentHasValidCrossReferenceTable","_FPDF_FFLDraw","_FPDF_FreeDefaultSystemFontInfo","_FPDF_GetDefaultSystemFontInfo","_FPDF_GetDefaultTTFMap","_FPDF_GetDefaultTTFMapCount","_FPDF_GetDefaultTTFMapEntry","_FPDF_GetDocPermissions","_FPDF_GetDocUserPermissions","_FPDF_GetFileIdentifier","_FPDF_GetFileVersion","_FPDF_GetFormType","_FPDF_GetLastError","_FPDF_GetMetaText","_FPDF_GetNamedDest","_FPDF_GetNamedDestByName","_FPDF_GetPageAAction","_FPDF_GetPageBoundingBox","_FPDF_GetPageCount","_FPDF_GetPageHeight","_FPDF_GetPageHeightF","_FPDF_GetPageLabel","_FPDF_GetPageSizeByIndex","_FPDF_GetPageSizeByIndexF","_FPDF_GetPageWidth","_FPDF_GetPageWidthF","_FPDF_GetSecurityHandlerRevision","_FPDF_GetSignatureCount","_FPDF_GetSignatureObject","_FPDF_GetTrailerEnds","_FPDF_GetXFAPacketContent","_FPDF_GetXFAPacketCount","_FPDF_GetXFAPacketName","_FPDF_ImportNPagesToOne","_FPDF_ImportPages","_FPDF_ImportPagesByIndex","_FPDF_InitLibrary","_FPDF_InitLibraryWithConfig","_FPDF_LoadCustomDocument","_FPDF_LoadDocument","_FPDF_LoadMemDocument","_FPDF_LoadMemDocument64","_FPDF_LoadPage","_FPDF_LoadXFA","_FPDF_MovePages","_FPDF_NewFormObjectFromXObject","_FPDF_NewXObjectFromPage","_FPDF_PageToDevice","_FPDF_RemoveFormFieldHighlight","_FPDF_RenderPage_Close","_FPDF_RenderPage_Continue","_FPDF_RenderPageBitmap","_FPDF_RenderPageBitmap_Start","_FPDF_RenderPageBitmapWithColorScheme_Start","_FPDF_RenderPageBitmapWithMatrix","_FPDF_SaveAsCopy","_FPDF_SaveWithVersion","_FPDF_SetFormFieldHighlightAlpha","_FPDF_SetFormFieldHighlightColor","_FPDF_SetSandBoxPolicy","_FPDF_SetSystemFontInfo","_FPDF_StructElement_Attr_CountChildren","_FPDF_StructElement_Attr_GetBlobValue","_FPDF_StructElement_Attr_GetBooleanValue","_FPDF_StructElement_Attr_GetChildAtIndex","_FPDF_StructElement_Attr_GetCount","_FPDF_StructElement_Attr_GetName","_FPDF_StructElement_Attr_GetNumberValue","_FPDF_StructElement_Attr_GetStringValue","_FPDF_StructElement_Attr_GetType","_FPDF_StructElement_Attr_GetValue","_FPDF_StructElement_CountChildren","_FPDF_StructElement_GetActualText","_FPDF_StructElement_GetAltText","_FPDF_StructElement_GetAttributeAtIndex","_FPDF_StructElement_GetAttributeCount","_FPDF_StructElement_GetChildAtIndex","_FPDF_StructElement_GetChildMarkedContentID","_FPDF_StructElement_GetExpansion","_FPDF_StructElement_GetID","_FPDF_StructElement_GetLang","_FPDF_StructElement_GetMarkedContentID","_FPDF_StructElement_GetMarkedContentIdAtIndex","_FPDF_StructElement_GetMarkedContentIdCount","_FPDF_StructElement_GetObjType","_FPDF_StructElement_GetParent","_FPDF_StructElement_GetRawType","_FPDF_StructElement_GetStringAttribute","_FPDF_StructElement_GetTitle","_FPDF_StructElement_GetType","_FPDF_StructTree_Close","_FPDF_StructTree_CountChildren","_FPDF_StructTree_GetChildAtIndex","_FPDF_StructTree_GetForPage","_FPDF_VIEWERREF_GetDuplex","_FPDF_VIEWERREF_GetName","_FPDF_VIEWERREF_GetNumCopies","_FPDF_VIEWERREF_GetPrintPageRange","_FPDF_VIEWERREF_GetPrintPageRangeCount","_FPDF_VIEWERREF_GetPrintPageRangeElement","_FPDF_VIEWERREF_GetPrintScaling","_FPDFAction_GetDest","_FPDFAction_GetFilePath","_FPDFAction_GetType","_FPDFAction_GetURIPath","_FPDFAnnot_AddFileAttachment","_FPDFAnnot_AddInkStroke","_FPDFAnnot_AppendAttachmentPoints","_FPDFAnnot_AppendObject","_FPDFAnnot_CountAttachmentPoints","_FPDFAnnot_GetAP","_FPDFAnnot_GetAttachmentPoints","_FPDFAnnot_GetBorder","_FPDFAnnot_GetColor","_FPDFAnnot_GetFileAttachment","_FPDFAnnot_GetFlags","_FPDFAnnot_GetFocusableSubtypes","_FPDFAnnot_GetFocusableSubtypesCount","_FPDFAnnot_GetFontColor","_FPDFAnnot_GetFontSize","_FPDFAnnot_GetFormAdditionalActionJavaScript","_FPDFAnnot_GetFormControlCount","_FPDFAnnot_GetFormControlIndex","_FPDFAnnot_GetFormFieldAlternateName","_FPDFAnnot_GetFormFieldAtPoint","_FPDFAnnot_GetFormFieldExportValue","_FPDFAnnot_GetFormFieldFlags","_FPDFAnnot_GetFormFieldName","_FPDFAnnot_GetFormFieldType","_FPDFAnnot_GetFormFieldValue","_FPDFAnnot_GetInkListCount","_FPDFAnnot_GetInkListPath","_FPDFAnnot_GetLine","_FPDFAnnot_GetLink","_FPDFAnnot_GetLinkedAnnot","_FPDFAnnot_GetNumberValue","_FPDFAnnot_GetObject","_FPDFAnnot_GetObjectCount","_FPDFAnnot_GetOptionCount","_FPDFAnnot_GetOptionLabel","_FPDFAnnot_GetRect","_FPDFAnnot_GetStringValue","_FPDFAnnot_GetSubtype","_FPDFAnnot_GetValueType","_FPDFAnnot_GetVertices","_FPDFAnnot_HasAttachmentPoints","_FPDFAnnot_HasKey","_FPDFAnnot_IsChecked","_FPDFAnnot_IsObjectSupportedSubtype","_FPDFAnnot_IsOptionSelected","_FPDFAnnot_IsSupportedSubtype","_FPDFAnnot_RemoveInkList","_FPDFAnnot_RemoveObject","_FPDFAnnot_SetAP","_FPDFAnnot_SetAttachmentPoints","_FPDFAnnot_SetBorder","_FPDFAnnot_SetColor","_FPDFAnnot_SetFlags","_FPDFAnnot_SetFocusableSubtypes","_FPDFAnnot_SetFontColor","_FPDFAnnot_SetFormFieldFlags","_FPDFAnnot_SetRect","_FPDFAnnot_SetStringValue","_FPDFAnnot_SetURI","_FPDFAnnot_UpdateObject","_FPDFAttachment_GetAFRelationship","_FPDFAttachment_GetDescription","_FPDFAttachment_GetFile","_FPDFAttachment_GetName","_FPDFAttachment_GetStringValue","_FPDFAttachment_GetSubtype","_FPDFAttachment_GetValueType","_FPDFAttachment_HasKey","_FPDFAttachment_SetDescription","_FPDFAttachment_SetFile","_FPDFAttachment_SetStringValue","_FPDFAvail_Create","_FPDFAvail_Destroy","_FPDFAvail_GetDocument","_FPDFAvail_GetFirstPageNum","_FPDFAvail_IsDocAvail","_FPDFAvail_IsFormAvail","_FPDFAvail_IsLinearized","_FPDFAvail_IsPageAvail","_FPDFBitmap_Create","_FPDFBitmap_CreateEx","_FPDFBitmap_Destroy","_FPDFBitmap_FillRect","_FPDFBitmap_GetBuffer","_FPDFBitmap_GetFormat","_FPDFBitmap_GetHeight","_FPDFBitmap_GetStride","_FPDFBitmap_GetWidth","_FPDFBookmark_Find","_FPDFBookmark_GetAction","_FPDFBookmark_GetColor","_FPDFBookmark_GetCount","_FPDFBookmark_GetDest","_FPDFBookmark_GetFirstChild","_FPDFBookmark_GetNextSibling","_FPDFBookmark_GetStyle","_FPDFBookmark_GetTitle","_FPDFCatalog_GetLanguage","_FPDFCatalog_IsTagged","_FPDFCatalog_SetLanguage","_FPDFClipPath_CountPaths","_FPDFClipPath_CountPathSegments","_FPDFClipPath_GetPathSegment","_FPDFDest_GetDestPageIndex","_FPDFDest_GetLocationInPage","_FPDFDest_GetView","_FPDFDoc_AddAttachment","_FPDFDoc_CloseJavaScriptAction","_FPDFDoc_DeleteAttachment","_FPDFDOC_ExitFormFillEnvironment","_FPDFDoc_GetAttachment","_FPDFDoc_GetAttachmentCount","_FPDFDoc_GetJavaScriptAction","_FPDFDoc_GetJavaScriptActionCount","_FPDFDoc_GetPageMode","_FPDFDOC_InitFormFillEnvironment","_FPDFFont_Close","_FPDFFont_GetAscent","_FPDFFont_GetBaseFontName","_FPDFFont_GetDescent","_FPDFFont_GetFamilyName","_FPDFFont_GetFlags","_FPDFFont_GetFontData","_FPDFFont_GetGlyphPath","_FPDFFont_GetGlyphWidth","_FPDFFont_GetIsEmbedded","_FPDFFont_GetItalicAngle","_FPDFFont_GetWeight","_FPDFFormObj_CountObjects","_FPDFFormObj_GetObject","_FPDFFormObj_RemoveObject","_FPDFGlyphPath_CountGlyphSegments","_FPDFGlyphPath_GetGlyphPathSegment","_FPDFImageObj_GetBitmap","_FPDFImageObj_GetIccProfileDataDecoded","_FPDFImageObj_GetImageDataDecoded","_FPDFImageObj_GetImageDataRaw","_FPDFImageObj_GetImageFilter","_FPDFImageObj_GetImageFilterCount","_FPDFImageObj_GetImageMetadata","_FPDFImageObj_GetImagePixelSize","_FPDFImageObj_GetRenderedBitmap","_FPDFImageObj_LoadJpegFile","_FPDFImageObj_LoadJpegFileInline","_FPDFImageObj_SetBitmap","_FPDFImageObj_SetMatrix","_FPDFJavaScriptAction_GetName","_FPDFJavaScriptAction_GetScript","_FPDFLink_CloseWebLinks","_FPDFLink_CountQuadPoints","_FPDFLink_CountRects","_FPDFLink_CountWebLinks","_FPDFLink_Enumerate","_FPDFLink_GetAction","_FPDFLink_GetAnnot","_FPDFLink_GetAnnotRect","_FPDFLink_GetDest","_FPDFLink_GetLinkAtPoint","_FPDFLink_GetLinkZOrderAtPoint","_FPDFLink_GetQuadPoints","_FPDFLink_GetRect","_FPDFLink_GetTextRange","_FPDFLink_GetURL","_FPDFLink_LoadWebLinks","_FPDFPage_CloseAnnot","_FPDFPage_CountObjects","_FPDFPage_CreateAnnot","_FPDFPage_Delete","_FPDFPage_Flatten","_FPDFPage_FormFieldZOrderAtPoint","_FPDFPage_GenerateContent","_FPDFPage_GetAnnot","_FPDFPage_GetAnnotCount","_FPDFPage_GetAnnotIndex","_FPDFPage_GetArtBox","_FPDFPage_GetBleedBox","_FPDFPage_GetCropBox","_FPDFPage_GetDecodedThumbnailData","_FPDFPage_GetMediaBox","_FPDFPage_GetObject","_FPDFPage_GetRawThumbnailData","_FPDFPage_GetRotation","_FPDFPage_GetThumbnailAsBitmap","_FPDFPage_GetTrimBox","_FPDFPage_HasFormFieldAtPoint","_FPDFPage_HasTransparency","_FPDFPage_InsertClipPath","_FPDFPage_InsertObject","_FPDFPage_InsertObjectAtIndex","_FPDFPage_New","_FPDFPage_RemoveAnnot","_FPDFPage_RemoveObject","_FPDFPage_SetArtBox","_FPDFPage_SetBleedBox","_FPDFPage_SetCropBox","_FPDFPage_SetMediaBox","_FPDFPage_SetRotation","_FPDFPage_SetTrimBox","_FPDFPage_TransformAnnots","_FPDFPage_TransFormWithClip","_FPDFPageObj_AddExistingMark","_FPDFPageObj_AddMark","_FPDFPageObj_CountMarks","_FPDFPageObj_CreateNewPath","_FPDFPageObj_CreateNewRect","_FPDFPageObj_CreateTextObj","_FPDFPageObj_Destroy","_FPDFPageObj_GetBounds","_FPDFPageObj_GetClipPath","_FPDFPageObj_GetDashArray","_FPDFPageObj_GetDashCount","_FPDFPageObj_GetDashPhase","_FPDFPageObj_GetFillColor","_FPDFPageObj_GetIsActive","_FPDFPageObj_GetLineCap","_FPDFPageObj_GetLineJoin","_FPDFPageObj_GetMark","_FPDFPageObj_GetMarkedContentID","_FPDFPageObj_GetMatrix","_FPDFPageObj_GetRenderedFillPattern","_FPDFPageObj_GetRenderedStrokePattern","_FPDFPageObj_GetRotatedBounds","_FPDFPageObj_GetStrokeColor","_FPDFPageObj_GetStrokeWidth","_FPDFPageObj_GetType","_FPDFPageObj_HasTransparency","_FPDFPageObj_NewImageObj","_FPDFPageObj_NewTextObj","_FPDFPageObj_RemoveMark","_FPDFPageObj_SetBlendMode","_FPDFPageObj_SetDashArray","_FPDFPageObj_SetDashPhase","_FPDFPageObj_SetFillColor","_FPDFPageObj_SetIsActive","_FPDFPageObj_SetLineCap","_FPDFPageObj_SetLineJoin","_FPDFPageObj_SetMatrix","_FPDFPageObj_SetStrokeColor","_FPDFPageObj_SetStrokeWidth","_FPDFPageObj_Transform","_FPDFPageObj_TransformClipPath","_FPDFPageObj_TransformF","_FPDFPageObjMark_CountParams","_FPDFPageObjMark_GetName","_FPDFPageObjMark_GetParamBlobValue","_FPDFPageObjMark_GetParamFloatValue","_FPDFPageObjMark_GetParamIntValue","_FPDFPageObjMark_GetParamKey","_FPDFPageObjMark_GetParamStringValue","_FPDFPageObjMark_GetParamValueType","_FPDFPageObjMark_RemoveParam","_FPDFPageObjMark_SetBlobParam","_FPDFPageObjMark_SetFloatParam","_FPDFPageObjMark_SetIntParam","_FPDFPageObjMark_SetStringParam","_FPDFPath_BezierTo","_FPDFPath_Close","_FPDFPath_CountSegments","_FPDFPath_GetBezierControlPoints","_FPDFPath_GetDrawMode","_FPDFPath_GetPathSegment","_FPDFPath_LineTo","_FPDFPath_MoveTo","_FPDFPath_SetDrawMode","_FPDFPathSegment_GetClose","_FPDFPathSegment_GetPoint","_FPDFPathSegment_GetType","_FPDFSignatureObj_GetByteRange","_FPDFSignatureObj_GetContents","_FPDFSignatureObj_GetDocMDPPermission","_FPDFSignatureObj_GetReason","_FPDFSignatureObj_GetSubFilter","_FPDFSignatureObj_GetTime","_FPDFText_ClosePage","_FPDFText_CountChars","_FPDFText_CountRects","_FPDFText_FindClose","_FPDFText_FindNext","_FPDFText_FindPrev","_FPDFText_FindStart","_FPDFText_GetBoundedText","_FPDFText_GetCharAngle","_FPDFText_GetCharBox","_FPDFText_GetCharIndexAtPos","_FPDFText_GetCharIndexFromTextIndex","_FPDFText_GetCharOrigin","_FPDFText_GetFillColor","_FPDFText_GetFontInfo","_FPDFText_GetFontSize","_FPDFText_GetFontWeight","_FPDFText_GetLooseCharBox","_FPDFText_GetMatrix","_FPDFText_GetRect","_FPDFText_GetSchCount","_FPDFText_GetSchResultIndex","_FPDFText_GetStrokeColor","_FPDFText_GetText","_FPDFText_GetTextIndexFromCharIndex","_FPDFText_GetTextObject","_FPDFText_GetUnicode","_FPDFText_HasUnicodeMapError","_FPDFText_IsGenerated","_FPDFText_IsHyphen","_FPDFText_LoadCidType2Font","_FPDFText_LoadFont","_FPDFText_LoadPage","_FPDFText_LoadStandardFont","_FPDFText_SetCharcodes","_FPDFText_SetPositions","_FPDFText_SetText","_FPDFTextObj_GetFont","_FPDFTextObj_GetFontSize","_FPDFTextObj_GetRenderedBitmap","_FPDFTextObj_GetText","_FPDFTextObj_GetTextRenderMode","_FPDFTextObj_SetFontSize","_FPDFTextObj_SetTextRenderMode","_malloc","_free","_memory","___indirect_function_table","onRuntimeInitialized"].forEach(u=>{Object.getOwnPropertyDescriptor(o,u)||Object.defineProperty(o,u,{get:()=>Oe("You are getting "+u+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>Oe("You are setting "+u+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})});var s=typeof window=="object",A=typeof WorkerGlobalScope<"u",d=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer",p=!s&&!d&&!A,m=Object.assign({},n),F=[],h="./this.program",P=(u,l)=>{throw l},B="";function y(u){return n.locateFile?n.locateFile(u,B):B+u}var x,I;if(p){if(typeof process=="object"&&typeof pb=="function"||typeof window=="object"||typeof WorkerGlobalScope<"u")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)")}else if(s||A){if(A?B=self.location.href:typeof document<"u"&&document.currentScript&&(B=document.currentScript.src),e&&(B=e),B.startsWith("blob:")?B="":B=B.substr(0,B.replace(/[?#].*/,"").lastIndexOf("/")+1),!(typeof window=="object"||typeof WorkerGlobalScope<"u"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");A&&(I=u=>{var l=new XMLHttpRequest;return l.open("GET",u,!1),l.responseType="arraybuffer",l.send(null),new Uint8Array(l.response)}),x=u=>(R(!Lw(u),"readAsync does not work with file:// URLs"),fetch(u,{credentials:"same-origin"}).then(l=>l.ok?l.arrayBuffer():Promise.reject(new Error(l.status+" : "+l.url))))}else throw new Error("environment detection error");var S=n.print||console.log.bind(console),G=n.printErr||console.error.bind(console);Object.assign(n,m),m=null,YE(),n.arguments&&(F=n.arguments),_r("arguments","arguments_"),n.thisProgram&&(h=n.thisProgram),_r("thisProgram","thisProgram"),R(typeof n.memoryInitializerPrefixURL>"u","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),R(typeof n.pthreadMainPrefixURL>"u","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),R(typeof n.cdInitializerPrefixURL>"u","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),R(typeof n.filePackagePrefixURL>"u","Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),R(typeof n.read>"u","Module.read option was removed"),R(typeof n.readAsync>"u","Module.readAsync option was removed (modify readAsync in JS)"),R(typeof n.readBinary>"u","Module.readBinary option was removed (modify readBinary in JS)"),R(typeof n.setWindowTitle>"u","Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)"),R(typeof n.TOTAL_MEMORY>"u","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),_r("asm","wasmExports"),_r("readAsync","readAsync"),_r("readBinary","readBinary"),_r("setWindowTitle","setWindowTitle"),R(!d,"node environment detected but not enabled at build time. Add `node` to `-sENVIRONMENT` to enable."),R(!p,"shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.");var Q=n.wasmBinary;_r("wasmBinary","wasmBinary"),typeof WebAssembly!="object"&&G("no native wasm support detected");var K,ve=!1,ge;function R(u,l){u||Oe("Assertion failed"+(l?": "+l:""))}var q,oe,se,ut,z,Be,un,_i;function Hw(){var u=K.buffer;n.HEAP8=q=new Int8Array(u),n.HEAP16=se=new Int16Array(u),n.HEAPU8=oe=new Uint8Array(u),n.HEAPU16=ut=new Uint16Array(u),n.HEAP32=z=new Int32Array(u),n.HEAPU32=Be=new Uint32Array(u),n.HEAPF32=un=new Float32Array(u),n.HEAPF64=_i=new Float64Array(u)}R(!n.STACK_SIZE,"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time"),R(typeof Int32Array<"u"&&typeof Float64Array<"u"&&Int32Array.prototype.subarray!=null&&Int32Array.prototype.set!=null,"JS engine does not provide full typed array support"),R(!n.wasmMemory,"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"),R(!n.INITIAL_MEMORY,"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically");function cB(){var u=Td();R((u&3)==0),u==0&&(u+=4),Be[u>>>2>>>0]=34821223,Be[u+4>>>2>>>0]=2310721022,Be[0]=1668509029}function yd(){if(!ve){var u=Td();u==0&&(u+=4);var l=Be[u>>>2>>>0],b=Be[u+4>>>2>>>0];(l!=34821223||b!=2310721022)&&Oe(`Stack overflow! Stack cookie has been overwritten at ${Va(u)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${Va(b)} ${Va(l)}`),Be[0]!=1668509029&&Oe("Runtime error: The application has corrupted its heap memory area (address zero)!")}}var Ow=[],Qw=[],Rw=[],Xs=!1;function dB(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)lB(n.preRun.shift());Cd(Ow)}function uB(){R(!Xs),Xs=!0,yd(),!n.noFSInit&&!k.initialized&&k.init(),k.ignorePermissions=!1,Hn.init(),Cd(Qw)}function pB(){if(yd(),n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)wB(n.postRun.shift());Cd(Rw)}function lB(u){Ow.unshift(u)}function mB(u){Qw.unshift(u)}function wB(u){Rw.unshift(u)}R(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),R(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),R(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),R(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var Br=0,Er=null,ja=null,yi={};function Tw(u){for(var l=u;;){if(!yi[u])return u;u=l+Math.random()}}function Gd(u){Br++,n.monitorRunDependencies?.(Br),u?(R(!yi[u]),yi[u]=1,Er===null&&typeof setInterval<"u"&&(Er=setInterval(()=>{if(ve){clearInterval(Er),Er=null;return}var l=!1;for(var b in yi)l||(l=!0,G("still waiting on run dependencies:")),G(`dependency: ${b}`);l&&G("(end of list)")},1e4))):G("warning: run dependency added without ID")}function Ws(u){if(Br--,n.monitorRunDependencies?.(Br),u?(R(yi[u]),delete yi[u]):G("warning: run dependency removed without ID"),Br==0&&(Er!==null&&(clearInterval(Er),Er=null),ja)){var l=ja;ja=null,l()}}function Oe(u){n.onAbort?.(u),u="Aborted("+u+")",G(u),ve=!0;var l=new WebAssembly.RuntimeError(u);throw a(l),l}var bB="data:application/octet-stream;base64,",Mw=u=>u.startsWith(bB),Lw=u=>u.startsWith("file://");function c(u,l){return(...b)=>{R(Xs,`native function \\`${u}\\` called before runtime initialization`);var v=Xe[u];return R(v,`exported native function \\`${u}\\` not found`),R(b.length<=l,`native function \\`${u}\\` called with ${b.length} args but expects ${l}`),v(...b)}}function fB(){if(n.locateFile){var u="embedpdf.wasm";return Mw(u)?u:y(u)}return new URL("embedpdf.wasm",self.location.href).href}var Ka;function Nw(u){if(u==Ka&&Q)return new Uint8Array(Q);if(I)return I(u);throw"both async and sync fetching of the wasm failed"}function gB(u){return Q?Promise.resolve().then(()=>Nw(u)):x(u).then(l=>new Uint8Array(l),()=>Nw(u))}function jw(u,l,b){return gB(u).then(v=>WebAssembly.instantiate(v,l)).then(b,v=>{G(`failed to asynchronously prepare wasm: ${v}`),Lw(Ka)&&G(`warning: Loading from a file URI (${Ka}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`),Oe(v)})}function FB(u,l,b,v){return!u&&typeof WebAssembly.instantiateStreaming=="function"&&!Mw(l)&&typeof fetch=="function"?fetch(l,{credentials:"same-origin"}).then(D=>{var E=WebAssembly.instantiateStreaming(D,b);return E.then(v,function(_){return G(`wasm streaming compile failed: ${_}`),G("falling back to ArrayBuffer instantiation"),jw(l,b,v)})}):jw(l,b,v)}function vB(){return{env:ib,wasi_snapshot_preview1:ib}}function PB(){function u(D,E){return Xe=D.exports,Xe=A_(Xe),n.wasmExports=Xe,K=Xe.memory,R(K,"memory not found in wasm exports"),Hw(),On=Xe.__indirect_function_table,R(On,"table not found in wasm exports"),mB(Xe.__wasm_call_ctors),Ws("wasm-instantiate"),Xe}Gd("wasm-instantiate");var l=n;function b(D){R(n===l,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),l=null,u(D.instance)}var v=vB();if(n.instantiateWasm)try{return n.instantiateWasm(v,u)}catch(D){G(`Module.instantiateWasm callback failed with error: ${D}`),a(D)}return Ka??(Ka=fB()),FB(Q,Ka,v,b).catch(a),{}}var re,Qe;if((()=>{var u=new Int16Array(1),l=new Int8Array(u.buffer);if(u[0]=25459,l[0]!==115||l[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})(),n.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");function _r(u,l,b=!0){Object.getOwnPropertyDescriptor(n,u)||Object.defineProperty(n,u,{configurable:!0,get(){let v=b?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":"";Oe(`\\`Module.${u}\\` has been replaced by \\`${l}\\``+v)}})}function hB(u){Object.getOwnPropertyDescriptor(n,u)&&Oe(`\\`Module.${u}\\` was supplied but \\`${u}\\` not included in INCOMING_MODULE_JS_API`)}function Kw(u){return u==="FS_createPath"||u==="FS_createDataFile"||u==="FS_createPreloadedFile"||u==="FS_unlink"||u==="addRunDependency"||u==="FS_createLazyFile"||u==="FS_createDevice"||u==="removeRunDependency"}function Vw(u,l){typeof globalThis<"u"&&!Object.getOwnPropertyDescriptor(globalThis,u)&&Object.defineProperty(globalThis,u,{configurable:!0,get(){l()}})}function Yw(u,l){Vw(u,()=>{pn(`\\`${u}\\` is not longer defined by emscripten. ${l}`)})}Yw("buffer","Please use HEAP8.buffer or wasmMemory.buffer"),Yw("asm","Please use wasmExports instead");function kB(u){Vw(u,()=>{var l=`\\`${u}\\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`,b=u;b.startsWith("_")||(b="$"+u),l+=` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE=\'${b}\')`,Kw(u)&&(l+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),pn(l)}),Xw(u)}function Xw(u){Object.getOwnPropertyDescriptor(n,u)||Object.defineProperty(n,u,{configurable:!0,get(){var l=`\'${u}\' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;Kw(u)&&(l+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),Oe(l)}})}class DB{constructor(l){Ut(this,"name","ExitStatus");this.message=`Program terminated with exit(${l})`,this.status=l}}var Cd=u=>{for(;u.length>0;)u.shift()(n)};function BB(u,l="i8"){switch(l.endsWith("*")&&(l="*"),l){case"i1":return q[u>>>0];case"i8":return q[u>>>0];case"i16":return se[u>>>1>>>0];case"i32":return z[u>>>2>>>0];case"i64":Oe("to do getValue(i64) use WASM_BIGINT");case"float":return un[u>>>2>>>0];case"double":return _i[u>>>3>>>0];case"*":return Be[u>>>2>>>0];default:Oe(`invalid type for getValue: ${l}`)}}var EB=n.noExitRuntime||!0,Va=u=>(R(typeof u=="number"),"0x"+u.toString(16).padStart(8,"0"));function _B(u,l,b="i8"){switch(b.endsWith("*")&&(b="*"),b){case"i1":q[u>>>0]=l;break;case"i8":q[u>>>0]=l;break;case"i16":se[u>>>1>>>0]=l;break;case"i32":z[u>>>2>>>0]=l;break;case"i64":Oe("to do setValue(i64) use WASM_BIGINT");case"float":un[u>>>2>>>0]=l;break;case"double":_i[u>>>3>>>0]=l;break;case"*":Be[u>>>2>>>0]=l;break;default:Oe(`invalid type for setValue: ${b}`)}}var Pt=u=>sb(u),ht=()=>cb(),pn=u=>{pn.shown||(pn.shown={}),pn.shown[u]||(pn.shown[u]=1,G(u))},Gi=(u,l)=>(R(u==u>>>0||u==(u|0)),R(l===(l|0)),l+2097152>>>0<4194305-!!u?(u>>>0)+l*4294967296:NaN),Ww=typeof TextDecoder<"u"?new TextDecoder:void 0,Ci=(u,l=0,b=NaN)=>{l>>>=0;for(var v=l+b,D=l;u[D]&&!(D>=v);)++D;if(D-l>16&&u.buffer&&Ww)return Ww.decode(u.subarray(l,D));for(var E="";l>10,56320|$&1023)}}return E},er=(u,l)=>(R(typeof u=="number",`UTF8ToString expects a number (got ${typeof u})`),u>>>=0,u?Ci(oe,u,l):"");function yB(u,l,b,v){u>>>=0,l>>>=0,v>>>=0,Oe(`Assertion failed: ${er(u)}, at: `+[l?er(l):"unknown filename",b,v?er(v):"unknown function"])}var Us=()=>{R(ke.varargs!=null);var u=z[+ke.varargs>>>2>>>0];return ke.varargs+=4,u},Ii=Us,Ge={isAbs:u=>u.charAt(0)==="/",splitPath:u=>{var l=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return l.exec(u).slice(1)},normalizeArray:(u,l)=>{for(var b=0,v=u.length-1;v>=0;v--){var D=u[v];D==="."?u.splice(v,1):D===".."?(u.splice(v,1),b++):b&&(u.splice(v,1),b--)}if(l)for(;b;b--)u.unshift("..");return u},normalize:u=>{var l=Ge.isAbs(u),b=u.substr(-1)==="/";return u=Ge.normalizeArray(u.split("/").filter(v=>!!v),!l).join("/"),!u&&!l&&(u="."),u&&b&&(u+="/"),(l?"/":"")+u},dirname:u=>{var l=Ge.splitPath(u),b=l[0],v=l[1];return!b&&!v?".":(v&&(v=v.substr(0,v.length-1)),b+v)},basename:u=>{if(u==="/")return"/";u=Ge.normalize(u),u=u.replace(/\\/$/,"");var l=u.lastIndexOf("/");return l===-1?u:u.substr(l+1)},join:(...u)=>Ge.normalize(u.join("/")),join2:(u,l)=>Ge.normalize(u+"/"+l)},GB=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return u=>crypto.getRandomValues(u);Oe("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")},Id=u=>(Id=GB())(u),xn={resolve:(...u)=>{for(var l="",b=!1,v=u.length-1;v>=-1&&!b;v--){var D=v>=0?u[v]:k.cwd();if(typeof D!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!D)return"";l=D+"/"+l,b=Ge.isAbs(D)}return l=Ge.normalizeArray(l.split("/").filter(E=>!!E),!b).join("/"),(b?"/":"")+l||"."},relative:(u,l)=>{u=xn.resolve(u).substr(1),l=xn.resolve(l).substr(1);function b($){for(var te=0;te<$.length&&$[te]==="";te++);for(var ae=$.length-1;ae>=0&&$[ae]==="";ae--);return te>ae?[]:$.slice(te,ae-te+1)}for(var v=b(u.split("/")),D=b(l.split("/")),E=Math.min(v.length,D.length),_=E,C=0;C{for(var l=0,b=0;b=55296&&v<=57343?(l+=4,++b):l+=3}return l},xd=(u,l,b,v)=>{if(b>>>=0,R(typeof u=="string",`stringToUTF8Array expects a string (got ${typeof u})`),!(v>0))return 0;for(var D=b,E=b+v-1,_=0;_=55296&&C<=57343){var T=u.charCodeAt(++_);C=65536+((C&1023)<<10)|T&1023}if(C<=127){if(b>=E)break;l[b++>>>0]=C}else if(C<=2047){if(b+1>=E)break;l[b++>>>0]=192|C>>6,l[b++>>>0]=128|C&63}else if(C<=65535){if(b+2>=E)break;l[b++>>>0]=224|C>>12,l[b++>>>0]=128|C>>6&63,l[b++>>>0]=128|C&63}else{if(b+3>=E)break;C>1114111&&pn("Invalid Unicode code point "+Va(C)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."),l[b++>>>0]=240|C>>18,l[b++>>>0]=128|C>>12&63,l[b++>>>0]=128|C>>6&63,l[b++>>>0]=128|C&63}}return l[b>>>0]=0,b-D};function Uw(u,l,b){var v=b>0?b:Ya(u)+1,D=new Array(v),E=xd(u,D,0,D.length);return l&&(D.length=E),D}var CB=()=>{if(!Sd.length){var u=null;if(typeof window<"u"&&typeof window.prompt=="function"&&(u=window.prompt("Input: "),u!==null&&(u+=`\n`)),!u)return null;Sd=Uw(u,!0)}return Sd.shift()},Hn={ttys:[],init(){},shutdown(){},register(u,l){Hn.ttys[u]={input:[],output:[],ops:l},k.registerDevice(u,Hn.stream_ops)},stream_ops:{open(u){var l=Hn.ttys[u.node.rdev];if(!l)throw new k.ErrnoError(43);u.tty=l,u.seekable=!1},close(u){u.tty.ops.fsync(u.tty)},fsync(u){u.tty.ops.fsync(u.tty)},read(u,l,b,v,D){if(!u.tty||!u.tty.ops.get_char)throw new k.ErrnoError(60);for(var E=0,_=0;_0&&(S(Ci(u.output)),u.output=[])},ioctl_tcgets(u){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(u,l,b){return 0},ioctl_tiocgwinsz(u){return[24,80]}},default_tty1_ops:{put_char(u,l){l===null||l===10?(G(Ci(u.output)),u.output=[]):l!=0&&u.output.push(l)},fsync(u){u.output&&u.output.length>0&&(G(Ci(u.output)),u.output=[])}}},IB=(u,l)=>{oe.fill(0,u,u+l)},qw=(u,l)=>(R(l,"alignment argument is required"),Math.ceil(u/l)*l),zw=u=>{u=qw(u,65536);var l=WE(65536,u);return l&&IB(l,u),l},Ae={ops_table:null,mount(u){return Ae.createNode(null,"/",16895,0)},createNode(u,l,b,v){if(k.isBlkdev(b)||k.isFIFO(b))throw new k.ErrnoError(63);Ae.ops_table||(Ae.ops_table={dir:{node:{getattr:Ae.node_ops.getattr,setattr:Ae.node_ops.setattr,lookup:Ae.node_ops.lookup,mknod:Ae.node_ops.mknod,rename:Ae.node_ops.rename,unlink:Ae.node_ops.unlink,rmdir:Ae.node_ops.rmdir,readdir:Ae.node_ops.readdir,symlink:Ae.node_ops.symlink},stream:{llseek:Ae.stream_ops.llseek}},file:{node:{getattr:Ae.node_ops.getattr,setattr:Ae.node_ops.setattr},stream:{llseek:Ae.stream_ops.llseek,read:Ae.stream_ops.read,write:Ae.stream_ops.write,allocate:Ae.stream_ops.allocate,mmap:Ae.stream_ops.mmap,msync:Ae.stream_ops.msync}},link:{node:{getattr:Ae.node_ops.getattr,setattr:Ae.node_ops.setattr,readlink:Ae.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Ae.node_ops.getattr,setattr:Ae.node_ops.setattr},stream:k.chrdev_stream_ops}});var D=k.createNode(u,l,b,v);return k.isDir(D.mode)?(D.node_ops=Ae.ops_table.dir.node,D.stream_ops=Ae.ops_table.dir.stream,D.contents={}):k.isFile(D.mode)?(D.node_ops=Ae.ops_table.file.node,D.stream_ops=Ae.ops_table.file.stream,D.usedBytes=0,D.contents=null):k.isLink(D.mode)?(D.node_ops=Ae.ops_table.link.node,D.stream_ops=Ae.ops_table.link.stream):k.isChrdev(D.mode)&&(D.node_ops=Ae.ops_table.chrdev.node,D.stream_ops=Ae.ops_table.chrdev.stream),D.timestamp=Date.now(),u&&(u.contents[l]=D,u.timestamp=D.timestamp),D},getFileDataAsTypedArray(u){return u.contents?u.contents.subarray?u.contents.subarray(0,u.usedBytes):new Uint8Array(u.contents):new Uint8Array(0)},expandFileStorage(u,l){var b=u.contents?u.contents.length:0;if(!(b>=l)){var v=1024*1024;l=Math.max(l,b*(b>>0),b!=0&&(l=Math.max(l,256));var D=u.contents;u.contents=new Uint8Array(l),u.usedBytes>0&&u.contents.set(D.subarray(0,u.usedBytes),0)}},resizeFileStorage(u,l){if(u.usedBytes!=l)if(l==0)u.contents=null,u.usedBytes=0;else{var b=u.contents;u.contents=new Uint8Array(l),b&&u.contents.set(b.subarray(0,Math.min(l,u.usedBytes))),u.usedBytes=l}},node_ops:{getattr(u){var l={};return l.dev=k.isChrdev(u.mode)?u.id:1,l.ino=u.id,l.mode=u.mode,l.nlink=1,l.uid=0,l.gid=0,l.rdev=u.rdev,k.isDir(u.mode)?l.size=4096:k.isFile(u.mode)?l.size=u.usedBytes:k.isLink(u.mode)?l.size=u.link.length:l.size=0,l.atime=new Date(u.timestamp),l.mtime=new Date(u.timestamp),l.ctime=new Date(u.timestamp),l.blksize=4096,l.blocks=Math.ceil(l.size/l.blksize),l},setattr(u,l){l.mode!==void 0&&(u.mode=l.mode),l.timestamp!==void 0&&(u.timestamp=l.timestamp),l.size!==void 0&&Ae.resizeFileStorage(u,l.size)},lookup(u,l){throw new k.ErrnoError(44)},mknod(u,l,b,v){return Ae.createNode(u,l,b,v)},rename(u,l,b){if(k.isDir(u.mode)){var v;try{v=k.lookupNode(l,b)}catch{}if(v)for(var D in v.contents)throw new k.ErrnoError(55)}delete u.parent.contents[u.name],u.parent.timestamp=Date.now(),u.name=b,l.contents[b]=u,l.timestamp=u.parent.timestamp},unlink(u,l){delete u.contents[l],u.timestamp=Date.now()},rmdir(u,l){var b=k.lookupNode(u,l);for(var v in b.contents)throw new k.ErrnoError(55);delete u.contents[l],u.timestamp=Date.now()},readdir(u){var l=[".",".."];for(var b of Object.keys(u.contents))l.push(b);return l},symlink(u,l,b){var v=Ae.createNode(u,l,41471,0);return v.link=b,v},readlink(u){if(!k.isLink(u.mode))throw new k.ErrnoError(28);return u.link}},stream_ops:{read(u,l,b,v,D){var E=u.node.contents;if(D>=u.node.usedBytes)return 0;var _=Math.min(u.node.usedBytes-D,v);if(R(_>=0),_>8&&E.subarray)l.set(E.subarray(D,D+_),b);else for(var C=0;C<_;C++)l[b+C]=E[D+C];return _},write(u,l,b,v,D,E){if(R(!(l instanceof ArrayBuffer)),l.buffer===q.buffer&&(E=!1),!v)return 0;var _=u.node;if(_.timestamp=Date.now(),l.subarray&&(!_.contents||_.contents.subarray)){if(E)return R(D===0,"canOwn must imply no weird position inside the file"),_.contents=l.subarray(b,b+v),_.usedBytes=v,v;if(_.usedBytes===0&&D===0)return _.contents=l.slice(b,b+v),_.usedBytes=v,v;if(D+v<=_.usedBytes)return _.contents.set(l.subarray(b,b+v),D),v}if(Ae.expandFileStorage(_,D+v),_.contents.subarray&&l.subarray)_.contents.set(l.subarray(b,b+v),D);else for(var C=0;C0||b+l>>0))}return{ptr:E,allocated:_}},msync(u,l,b,v,D){return Ae.stream_ops.write(u,l,0,v,b,!1),0}}},SB=(u,l,b,v)=>{var D=v?"":Tw(`al ${u}`);x(u).then(E=>{R(E,`Loading data file "${u}" failed (no arrayBuffer).`),l(new Uint8Array(E)),D&&Ws(D)},E=>{if(b)b();else throw`Loading data file "${u}" failed.`}),D&&Gd(D)},xB=(u,l,b,v,D,E)=>{k.createDataFile(u,l,b,v,D,E)},HB=n.preloadPlugins||[],OB=(u,l,b,v)=>{typeof Browser<"u"&&Browser.init();var D=!1;return HB.forEach(E=>{D||E.canHandle(l)&&(E.handle(u,l,b,v),D=!0)}),D},QB=(u,l,b,v,D,E,_,C,T,$)=>{var te=l?xn.resolve(Ge.join2(u,l)):u,ae=Tw(`cp ${te}`);function ce(Z){function ie(ye){$?.(),C||xB(u,l,ye,v,D,T),E?.(),Ws(ae)}OB(Z,te,ie,()=>{_?.(),Ws(ae)})||ie(Z)}Gd(ae),typeof b=="string"?SB(b,ce,_):ce(b)},RB=u=>{var l={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},b=l[u];if(typeof b>"u")throw new Error(`Unknown file open mode: ${u}`);return b},Hd=(u,l)=>{var b=0;return u&&(b|=365),l&&(b|=146),b},TB=u=>er(XE(u)),Zw={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},k={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class extends Error{constructor(l){super(Xs?TB(l):"");Ut(this,"name","ErrnoError");this.errno=l;for(var b in Zw)if(Zw[b]===l){this.code=b;break}}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){Ut(this,"shared",{})}get object(){return this.node}set object(u){this.node=u}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(u){this.shared.flags=u}get position(){return this.shared.position}set position(u){this.shared.position=u}},FSNode:class{constructor(u,l,b,v){Ut(this,"node_ops",{});Ut(this,"stream_ops",{});Ut(this,"readMode",365);Ut(this,"writeMode",146);Ut(this,"mounted",null);u||(u=this),this.parent=u,this.mount=u.mount,this.id=k.nextInode++,this.name=l,this.mode=b,this.rdev=v}get read(){return(this.mode&this.readMode)===this.readMode}set read(u){u?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(u){u?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return k.isDir(this.mode)}get isDevice(){return k.isChrdev(this.mode)}},lookupPath(u,l={}){if(u=xn.resolve(u),!u)return{path:"",node:null};var b={follow_mount:!0,recurse_count:0};if(l=Object.assign(b,l),l.recurse_count>8)throw new k.ErrnoError(32);for(var v=u.split("/").filter(ae=>!!ae),D=k.root,E="/",_=0;_40)throw new k.ErrnoError(32)}}return{path:E,node:D}},getPath(u){for(var l;;){if(k.isRoot(u)){var b=u.mount.mountpoint;return l?b[b.length-1]!=="/"?`${b}/${l}`:b+l:b}l=l?`${u.name}/${l}`:u.name,u=u.parent}},hashName(u,l){for(var b=0,v=0;v>>0)%k.nameTable.length},hashAddNode(u){var l=k.hashName(u.parent.id,u.name);u.name_next=k.nameTable[l],k.nameTable[l]=u},hashRemoveNode(u){var l=k.hashName(u.parent.id,u.name);if(k.nameTable[l]===u)k.nameTable[l]=u.name_next;else for(var b=k.nameTable[l];b;){if(b.name_next===u){b.name_next=u.name_next;break}b=b.name_next}},lookupNode(u,l){var b=k.mayLookup(u);if(b)throw new k.ErrnoError(b);for(var v=k.hashName(u.id,l),D=k.nameTable[v];D;D=D.name_next){var E=D.name;if(D.parent.id===u.id&&E===l)return D}return k.lookup(u,l)},createNode(u,l,b,v){R(typeof u=="object");var D=new k.FSNode(u,l,b,v);return k.hashAddNode(D),D},destroyNode(u){k.hashRemoveNode(u)},isRoot(u){return u===u.parent},isMountpoint(u){return!!u.mounted},isFile(u){return(u&61440)===32768},isDir(u){return(u&61440)===16384},isLink(u){return(u&61440)===40960},isChrdev(u){return(u&61440)===8192},isBlkdev(u){return(u&61440)===24576},isFIFO(u){return(u&61440)===4096},isSocket(u){return(u&49152)===49152},flagsToPermissionString(u){var l=["r","w","rw"][u&3];return u&512&&(l+="w"),l},nodePermissions(u,l){return k.ignorePermissions?0:l.includes("r")&&!(u.mode&292)||l.includes("w")&&!(u.mode&146)||l.includes("x")&&!(u.mode&73)?2:0},mayLookup(u){if(!k.isDir(u.mode))return 54;var l=k.nodePermissions(u,"x");return l||(u.node_ops.lookup?0:2)},mayCreate(u,l){try{var b=k.lookupNode(u,l);return 20}catch{}return k.nodePermissions(u,"wx")},mayDelete(u,l,b){var v;try{v=k.lookupNode(u,l)}catch(E){return E.errno}var D=k.nodePermissions(u,"wx");if(D)return D;if(b){if(!k.isDir(v.mode))return 54;if(k.isRoot(v)||k.getPath(v)===k.cwd())return 10}else if(k.isDir(v.mode))return 31;return 0},mayOpen(u,l){return u?k.isLink(u.mode)?32:k.isDir(u.mode)&&(k.flagsToPermissionString(l)!=="r"||l&512)?31:k.nodePermissions(u,k.flagsToPermissionString(l)):44},MAX_OPEN_FDS:4096,nextfd(){for(var u=0;u<=k.MAX_OPEN_FDS;u++)if(!k.streams[u])return u;throw new k.ErrnoError(33)},getStreamChecked(u){var l=k.getStream(u);if(!l)throw new k.ErrnoError(8);return l},getStream:u=>k.streams[u],createStream(u,l=-1){return R(l>=-1),u=Object.assign(new k.FSStream,u),l==-1&&(l=k.nextfd()),u.fd=l,k.streams[l]=u,u},closeStream(u){k.streams[u]=null},dupStream(u,l=-1){var b=k.createStream(u,l);return b.stream_ops?.dup?.(b),b},chrdev_stream_ops:{open(u){var l=k.getDevice(u.node.rdev);u.stream_ops=l.stream_ops,u.stream_ops.open?.(u)},llseek(){throw new k.ErrnoError(70)}},major:u=>u>>8,minor:u=>u&255,makedev:(u,l)=>u<<8|l,registerDevice(u,l){k.devices[u]={stream_ops:l}},getDevice:u=>k.devices[u],getMounts(u){for(var l=[],b=[u];b.length;){var v=b.pop();l.push(v),b.push(...v.mounts)}return l},syncfs(u,l){typeof u=="function"&&(l=u,u=!1),k.syncFSRequests++,k.syncFSRequests>1&&G(`warning: ${k.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var b=k.getMounts(k.root.mount),v=0;function D(_){return R(k.syncFSRequests>0),k.syncFSRequests--,l(_)}function E(_){if(_)return E.errored?void 0:(E.errored=!0,D(_));++v>=b.length&&D(null)}b.forEach(_=>{if(!_.type.syncfs)return E(null);_.type.syncfs(_,u,E)})},mount(u,l,b){if(typeof u=="string")throw u;var v=b==="/",D=!b,E;if(v&&k.root)throw new k.ErrnoError(10);if(!v&&!D){var _=k.lookupPath(b,{follow_mount:!1});if(b=_.path,E=_.node,k.isMountpoint(E))throw new k.ErrnoError(10);if(!k.isDir(E.mode))throw new k.ErrnoError(54)}var C={type:u,opts:l,mountpoint:b,mounts:[]},T=u.mount(C);return T.mount=C,C.root=T,v?k.root=T:E&&(E.mounted=C,E.mount&&E.mount.mounts.push(C)),T},unmount(u){var l=k.lookupPath(u,{follow_mount:!1});if(!k.isMountpoint(l.node))throw new k.ErrnoError(28);var b=l.node,v=b.mounted,D=k.getMounts(v);Object.keys(k.nameTable).forEach(_=>{for(var C=k.nameTable[_];C;){var T=C.name_next;D.includes(C.mount)&&k.destroyNode(C),C=T}}),b.mounted=null;var E=b.mount.mounts.indexOf(v);R(E!==-1),b.mount.mounts.splice(E,1)},lookup(u,l){return u.node_ops.lookup(u,l)},mknod(u,l,b){var v=k.lookupPath(u,{parent:!0}),D=v.node,E=Ge.basename(u);if(!E||E==="."||E==="..")throw new k.ErrnoError(28);var _=k.mayCreate(D,E);if(_)throw new k.ErrnoError(_);if(!D.node_ops.mknod)throw new k.ErrnoError(63);return D.node_ops.mknod(D,E,l,b)},create(u,l){return l=l!==void 0?l:438,l&=4095,l|=32768,k.mknod(u,l,0)},mkdir(u,l){return l=l!==void 0?l:511,l&=1023,l|=16384,k.mknod(u,l,0)},mkdirTree(u,l){for(var b=u.split("/"),v="",D=0;D"u"&&(b=l,l=438),l|=8192,k.mknod(u,l,b)},symlink(u,l){if(!xn.resolve(u))throw new k.ErrnoError(44);var b=k.lookupPath(l,{parent:!0}),v=b.node;if(!v)throw new k.ErrnoError(44);var D=Ge.basename(l),E=k.mayCreate(v,D);if(E)throw new k.ErrnoError(E);if(!v.node_ops.symlink)throw new k.ErrnoError(63);return v.node_ops.symlink(v,D,u)},rename(u,l){var b=Ge.dirname(u),v=Ge.dirname(l),D=Ge.basename(u),E=Ge.basename(l),_,C,T;if(_=k.lookupPath(u,{parent:!0}),C=_.node,_=k.lookupPath(l,{parent:!0}),T=_.node,!C||!T)throw new k.ErrnoError(44);if(C.mount!==T.mount)throw new k.ErrnoError(75);var $=k.lookupNode(C,D),te=xn.relative(u,v);if(te.charAt(0)!==".")throw new k.ErrnoError(28);if(te=xn.relative(l,b),te.charAt(0)!==".")throw new k.ErrnoError(55);var ae;try{ae=k.lookupNode(T,E)}catch{}if($!==ae){var ce=k.isDir($.mode),Z=k.mayDelete(C,D,ce);if(Z)throw new k.ErrnoError(Z);if(Z=ae?k.mayDelete(T,E,ce):k.mayCreate(T,E),Z)throw new k.ErrnoError(Z);if(!C.node_ops.rename)throw new k.ErrnoError(63);if(k.isMountpoint($)||ae&&k.isMountpoint(ae))throw new k.ErrnoError(10);if(T!==C&&(Z=k.nodePermissions(C,"w"),Z))throw new k.ErrnoError(Z);k.hashRemoveNode($);try{C.node_ops.rename($,T,E),$.parent=T}catch(ie){throw ie}finally{k.hashAddNode($)}}},rmdir(u){var l=k.lookupPath(u,{parent:!0}),b=l.node,v=Ge.basename(u),D=k.lookupNode(b,v),E=k.mayDelete(b,v,!0);if(E)throw new k.ErrnoError(E);if(!b.node_ops.rmdir)throw new k.ErrnoError(63);if(k.isMountpoint(D))throw new k.ErrnoError(10);b.node_ops.rmdir(b,v),k.destroyNode(D)},readdir(u){var l=k.lookupPath(u,{follow:!0}),b=l.node;if(!b.node_ops.readdir)throw new k.ErrnoError(54);return b.node_ops.readdir(b)},unlink(u){var l=k.lookupPath(u,{parent:!0}),b=l.node;if(!b)throw new k.ErrnoError(44);var v=Ge.basename(u),D=k.lookupNode(b,v),E=k.mayDelete(b,v,!1);if(E)throw new k.ErrnoError(E);if(!b.node_ops.unlink)throw new k.ErrnoError(63);if(k.isMountpoint(D))throw new k.ErrnoError(10);b.node_ops.unlink(b,v),k.destroyNode(D)},readlink(u){var l=k.lookupPath(u),b=l.node;if(!b)throw new k.ErrnoError(44);if(!b.node_ops.readlink)throw new k.ErrnoError(28);return xn.resolve(k.getPath(b.parent),b.node_ops.readlink(b))},stat(u,l){var b=k.lookupPath(u,{follow:!l}),v=b.node;if(!v)throw new k.ErrnoError(44);if(!v.node_ops.getattr)throw new k.ErrnoError(63);return v.node_ops.getattr(v)},lstat(u){return k.stat(u,!0)},chmod(u,l,b){var v;if(typeof u=="string"){var D=k.lookupPath(u,{follow:!b});v=D.node}else v=u;if(!v.node_ops.setattr)throw new k.ErrnoError(63);v.node_ops.setattr(v,{mode:l&4095|v.mode&-4096,timestamp:Date.now()})},lchmod(u,l){k.chmod(u,l,!0)},fchmod(u,l){var b=k.getStreamChecked(u);k.chmod(b.node,l)},chown(u,l,b,v){var D;if(typeof u=="string"){var E=k.lookupPath(u,{follow:!v});D=E.node}else D=u;if(!D.node_ops.setattr)throw new k.ErrnoError(63);D.node_ops.setattr(D,{timestamp:Date.now()})},lchown(u,l,b){k.chown(u,l,b,!0)},fchown(u,l,b){var v=k.getStreamChecked(u);k.chown(v.node,l,b)},truncate(u,l){if(l<0)throw new k.ErrnoError(28);var b;if(typeof u=="string"){var v=k.lookupPath(u,{follow:!0});b=v.node}else b=u;if(!b.node_ops.setattr)throw new k.ErrnoError(63);if(k.isDir(b.mode))throw new k.ErrnoError(31);if(!k.isFile(b.mode))throw new k.ErrnoError(28);var D=k.nodePermissions(b,"w");if(D)throw new k.ErrnoError(D);b.node_ops.setattr(b,{size:l,timestamp:Date.now()})},ftruncate(u,l){var b=k.getStreamChecked(u);if((b.flags&2097155)===0)throw new k.ErrnoError(28);k.truncate(b.node,l)},utime(u,l,b){var v=k.lookupPath(u,{follow:!0}),D=v.node;D.node_ops.setattr(D,{timestamp:Math.max(l,b)})},open(u,l,b){if(u==="")throw new k.ErrnoError(44);l=typeof l=="string"?RB(l):l,l&64?(b=typeof b>"u"?438:b,b=b&4095|32768):b=0;var v;if(typeof u=="object")v=u;else{u=Ge.normalize(u);try{var D=k.lookupPath(u,{follow:!(l&131072)});v=D.node}catch{}}var E=!1;if(l&64)if(v){if(l&128)throw new k.ErrnoError(20)}else v=k.mknod(u,b,0),E=!0;if(!v)throw new k.ErrnoError(44);if(k.isChrdev(v.mode)&&(l&=-513),l&65536&&!k.isDir(v.mode))throw new k.ErrnoError(54);if(!E){var _=k.mayOpen(v,l);if(_)throw new k.ErrnoError(_)}l&512&&!E&&k.truncate(v,0),l&=-131713;var C=k.createStream({node:v,path:k.getPath(v),flags:l,seekable:!0,position:0,stream_ops:v.stream_ops,ungotten:[],error:!1});return C.stream_ops.open&&C.stream_ops.open(C),n.logReadFiles&&!(l&1)&&(u in k.readFiles||(k.readFiles[u]=1)),C},close(u){if(k.isClosed(u))throw new k.ErrnoError(8);u.getdents&&(u.getdents=null);try{u.stream_ops.close&&u.stream_ops.close(u)}catch(l){throw l}finally{k.closeStream(u.fd)}u.fd=null},isClosed(u){return u.fd===null},llseek(u,l,b){if(k.isClosed(u))throw new k.ErrnoError(8);if(!u.seekable||!u.stream_ops.llseek)throw new k.ErrnoError(70);if(b!=0&&b!=1&&b!=2)throw new k.ErrnoError(28);return u.position=u.stream_ops.llseek(u,l,b),u.ungotten=[],u.position},read(u,l,b,v,D){if(R(b>=0),v<0||D<0)throw new k.ErrnoError(28);if(k.isClosed(u))throw new k.ErrnoError(8);if((u.flags&2097155)===1)throw new k.ErrnoError(8);if(k.isDir(u.node.mode))throw new k.ErrnoError(31);if(!u.stream_ops.read)throw new k.ErrnoError(28);var E=typeof D<"u";if(!E)D=u.position;else if(!u.seekable)throw new k.ErrnoError(70);var _=u.stream_ops.read(u,l,b,v,D);return E||(u.position+=_),_},write(u,l,b,v,D,E){if(R(b>=0),v<0||D<0)throw new k.ErrnoError(28);if(k.isClosed(u))throw new k.ErrnoError(8);if((u.flags&2097155)===0)throw new k.ErrnoError(8);if(k.isDir(u.node.mode))throw new k.ErrnoError(31);if(!u.stream_ops.write)throw new k.ErrnoError(28);u.seekable&&u.flags&1024&&k.llseek(u,0,2);var _=typeof D<"u";if(!_)D=u.position;else if(!u.seekable)throw new k.ErrnoError(70);var C=u.stream_ops.write(u,l,b,v,D,E);return _||(u.position+=C),C},allocate(u,l,b){if(k.isClosed(u))throw new k.ErrnoError(8);if(l<0||b<=0)throw new k.ErrnoError(28);if((u.flags&2097155)===0)throw new k.ErrnoError(8);if(!k.isFile(u.node.mode)&&!k.isDir(u.node.mode))throw new k.ErrnoError(43);if(!u.stream_ops.allocate)throw new k.ErrnoError(138);u.stream_ops.allocate(u,l,b)},mmap(u,l,b,v,D){if((v&2)!==0&&(D&2)===0&&(u.flags&2097155)!==2)throw new k.ErrnoError(2);if((u.flags&2097155)===1)throw new k.ErrnoError(2);if(!u.stream_ops.mmap)throw new k.ErrnoError(43);if(!l)throw new k.ErrnoError(28);return u.stream_ops.mmap(u,l,b,v,D)},msync(u,l,b,v,D){return R(b>=0),u.stream_ops.msync?u.stream_ops.msync(u,l,b,v,D):0},ioctl(u,l,b){if(!u.stream_ops.ioctl)throw new k.ErrnoError(59);return u.stream_ops.ioctl(u,l,b)},readFile(u,l={}){if(l.flags=l.flags||0,l.encoding=l.encoding||"binary",l.encoding!=="utf8"&&l.encoding!=="binary")throw new Error(`Invalid encoding type "${l.encoding}"`);var b,v=k.open(u,l.flags),D=k.stat(u),E=D.size,_=new Uint8Array(E);return k.read(v,_,0,E,0),l.encoding==="utf8"?b=Ci(_):l.encoding==="binary"&&(b=_),k.close(v),b},writeFile(u,l,b={}){b.flags=b.flags||577;var v=k.open(u,b.flags,b.mode);if(typeof l=="string"){var D=new Uint8Array(Ya(l)+1),E=xd(l,D,0,D.length);k.write(v,D,0,E,void 0,b.canOwn)}else if(ArrayBuffer.isView(l))k.write(v,l,0,l.byteLength,void 0,b.canOwn);else throw new Error("Unsupported data type");k.close(v)},cwd:()=>k.currentPath,chdir(u){var l=k.lookupPath(u,{follow:!0});if(l.node===null)throw new k.ErrnoError(44);if(!k.isDir(l.node.mode))throw new k.ErrnoError(54);var b=k.nodePermissions(l.node,"x");if(b)throw new k.ErrnoError(b);k.currentPath=l.path},createDefaultDirectories(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:()=>0,write:(v,D,E,_,C)=>_,llseek:()=>0}),k.mkdev("/dev/null",k.makedev(1,3)),Hn.register(k.makedev(5,0),Hn.default_tty_ops),Hn.register(k.makedev(6,0),Hn.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var u=new Uint8Array(1024),l=0,b=()=>(l===0&&(l=Id(u).byteLength),u[--l]);k.createDevice("/dev","random",b),k.createDevice("/dev","urandom",b),k.mkdir("/dev/shm"),k.mkdir("/dev/shm/tmp")},createSpecialDirectories(){k.mkdir("/proc");var u=k.mkdir("/proc/self");k.mkdir("/proc/self/fd"),k.mount({mount(){var l=k.createNode(u,"fd",16895,73);return l.node_ops={lookup(b,v){var D=+v,E=k.getStreamChecked(D),_={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>E.path}};return _.parent=_,_}},l}},{},"/proc/self/fd")},createStandardStreams(u,l,b){u?k.createDevice("/dev","stdin",u):k.symlink("/dev/tty","/dev/stdin"),l?k.createDevice("/dev","stdout",null,l):k.symlink("/dev/tty","/dev/stdout"),b?k.createDevice("/dev","stderr",null,b):k.symlink("/dev/tty1","/dev/stderr");var v=k.open("/dev/stdin",0),D=k.open("/dev/stdout",1),E=k.open("/dev/stderr",1);R(v.fd===0,`invalid handle for stdin (${v.fd})`),R(D.fd===1,`invalid handle for stdout (${D.fd})`),R(E.fd===2,`invalid handle for stderr (${E.fd})`)},staticInit(){k.nameTable=new Array(4096),k.mount(Ae,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices(),k.createSpecialDirectories(),k.filesystems={MEMFS:Ae}},init(u,l,b){R(!k.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),k.initialized=!0,u??(u=n.stdin),l??(l=n.stdout),b??(b=n.stderr),k.createStandardStreams(u,l,b)},quit(){k.initialized=!1,ab(0);for(var u=0;uthis.length-1||Z<0)){var ie=Z%this.chunkSize,ye=Z/this.chunkSize|0;return this.getter(ye)[ie]}}setDataGetter(Z){this.getter=Z}cacheLength(){var Z=new XMLHttpRequest;if(Z.open("HEAD",b,!1),Z.send(null),!(Z.status>=200&&Z.status<300||Z.status===304))throw new Error("Couldn\'t load "+b+". Status: "+Z.status);var ie=Number(Z.getResponseHeader("Content-length")),ye,yt=(ye=Z.getResponseHeader("Accept-Ranges"))&&ye==="bytes",kt=(ye=Z.getResponseHeader("Content-Encoding"))&&ye==="gzip",Gt=1024*1024;yt||(Gt=ie);var Wt=(ln,Si)=>{if(ln>Si)throw new Error("invalid range ("+ln+", "+Si+") or no bytes requested!");if(Si>ie-1)throw new Error("only "+ie+" bytes available! programmer error!");var We=new XMLHttpRequest;if(We.open("GET",b,!1),ie!==Gt&&We.setRequestHeader("Range","bytes="+ln+"-"+Si),We.responseType="arraybuffer",We.overrideMimeType&&We.overrideMimeType("text/plain; charset=x-user-defined"),We.send(null),!(We.status>=200&&We.status<300||We.status===304))throw new Error("Couldn\'t load "+b+". Status: "+We.status);return We.response!==void 0?new Uint8Array(We.response||[]):Uw(We.responseText||"",!0)},Ua=this;Ua.setDataGetter(ln=>{var Si=ln*Gt,We=(ln+1)*Gt-1;if(We=Math.min(We,ie-1),typeof Ua.chunks[ln]>"u"&&(Ua.chunks[ln]=Wt(Si,We)),typeof Ua.chunks[ln]>"u")throw new Error("doXHR failed!");return Ua.chunks[ln]}),(kt||!ie)&&(Gt=ie=1,ie=this.getter(0).length,Gt=ie,S("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=ie,this._chunkSize=Gt,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<"u"){if(!A)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var _=new E,C={isDevice:!1,contents:_}}else var C={isDevice:!1,url:b};var T=k.createFile(u,l,C,v,D);C.contents?T.contents=C.contents:C.url&&(T.contents=null,T.url=C.url),Object.defineProperties(T,{usedBytes:{get:function(){return this.contents.length}}});var $={},te=Object.keys(T.stream_ops);te.forEach(ce=>{var Z=T.stream_ops[ce];$[ce]=(...ie)=>(k.forceLoadFile(T),Z(...ie))});function ae(ce,Z,ie,ye,yt){var kt=ce.node.contents;if(yt>=kt.length)return 0;var Gt=Math.min(kt.length-yt,ye);if(R(Gt>=0),kt.slice)for(var Wt=0;Wt(k.forceLoadFile(T),ae(ce,Z,ie,ye,yt)),$.mmap=(ce,Z,ie,ye,yt)=>{k.forceLoadFile(T);var kt=zw(Z);if(!kt)throw new k.ErrnoError(48);return ae(ce,q,kt,Z,ie),{ptr:kt,allocated:!0}},T.stream_ops=$,T},absolutePath(){Oe("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder(){Oe("FS.createFolder has been removed; use FS.mkdir instead")},createLink(){Oe("FS.createLink has been removed; use FS.symlink instead")},joinPath(){Oe("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc(){Oe("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath(){Oe("FS.standardizePath has been removed; use PATH.normalize instead")}},ke={DEFAULT_POLLMASK:5,calculateAt(u,l,b){if(Ge.isAbs(l))return l;var v;if(u===-100)v=k.cwd();else{var D=ke.getStreamFromFD(u);v=D.path}if(l.length==0){if(!b)throw new k.ErrnoError(44);return v}return Ge.join2(v,l)},doStat(u,l,b){var v=u(l);z[b>>>2>>>0]=v.dev,z[b+4>>>2>>>0]=v.mode,Be[b+8>>>2>>>0]=v.nlink,z[b+12>>>2>>>0]=v.uid,z[b+16>>>2>>>0]=v.gid,z[b+20>>>2>>>0]=v.rdev,Qe=[v.size>>>0,(re=v.size,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+24>>>2>>>0]=Qe[0],z[b+28>>>2>>>0]=Qe[1],z[b+32>>>2>>>0]=4096,z[b+36>>>2>>>0]=v.blocks;var D=v.atime.getTime(),E=v.mtime.getTime(),_=v.ctime.getTime();return Qe=[Math.floor(D/1e3)>>>0,(re=Math.floor(D/1e3),+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+40>>>2>>>0]=Qe[0],z[b+44>>>2>>>0]=Qe[1],Be[b+48>>>2>>>0]=D%1e3*1e3*1e3,Qe=[Math.floor(E/1e3)>>>0,(re=Math.floor(E/1e3),+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+56>>>2>>>0]=Qe[0],z[b+60>>>2>>>0]=Qe[1],Be[b+64>>>2>>>0]=E%1e3*1e3*1e3,Qe=[Math.floor(_/1e3)>>>0,(re=Math.floor(_/1e3),+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+72>>>2>>>0]=Qe[0],z[b+76>>>2>>>0]=Qe[1],Be[b+80>>>2>>>0]=_%1e3*1e3*1e3,Qe=[v.ino>>>0,(re=v.ino,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+88>>>2>>>0]=Qe[0],z[b+92>>>2>>>0]=Qe[1],0},doMsync(u,l,b,v,D){if(!k.isFile(l.node.mode))throw new k.ErrnoError(43);if(v&2)return 0;var E=oe.slice(u,u+b);k.msync(l,E,D,b,v)},getStreamFromFD(u){var l=k.getStreamChecked(u);return l},varargs:void 0,getStr(u){var l=er(u);return l}};function MB(u,l,b){b>>>=0,ke.varargs=b;try{var v=ke.getStreamFromFD(u);switch(l){case 0:{var D=Us();if(D<0)return-28;for(;k.streams[D];)D++;var E;return E=k.dupStream(v,D),E.fd}case 1:case 2:return 0;case 3:return v.flags;case 4:{var D=Us();return v.flags|=D,0}case 12:{var D=Ii(),_=0;return se[D+_>>>1>>>0]=2,0}case 13:case 14:return 0}return-28}catch(C){if(typeof k>"u"||C.name!=="ErrnoError")throw C;return-C.errno}}function LB(u,l){l>>>=0;try{var b=ke.getStreamFromFD(u);return ke.doStat(k.stat,b.path,l)}catch(v){if(typeof k>"u"||v.name!=="ErrnoError")throw v;return-v.errno}}function NB(u,l,b){var v=Gi(l,b);try{return isNaN(v)?61:(k.ftruncate(u,v),0)}catch(D){if(typeof k>"u"||D.name!=="ErrnoError")throw D;return-D.errno}}var yr=(u,l,b)=>(R(typeof b=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),xd(u,oe,l,b));function jB(u,l,b){l>>>=0,b>>>=0;try{var v=ke.getStreamFromFD(u);v.getdents||(v.getdents=k.readdir(v.path));for(var D=280,E=0,_=k.llseek(v,0,1),C=Math.floor(_/D);C>>0,(re=T,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[l+E>>>2>>>0]=Qe[0],z[l+E+4>>>2>>>0]=Qe[1],Qe=[(C+1)*D>>>0,(re=(C+1)*D,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[l+E+8>>>2>>>0]=Qe[0],z[l+E+12>>>2>>>0]=Qe[1],se[l+E+16>>>1>>>0]=280,q[l+E+18>>>0]=$,yr(te,l+E+19,256),E+=D,C+=1}return k.llseek(v,C*D,0),E}catch(Z){if(typeof k>"u"||Z.name!=="ErrnoError")throw Z;return-Z.errno}}function KB(u,l,b){b>>>=0,ke.varargs=b;try{var v=ke.getStreamFromFD(u);switch(l){case 21509:return v.tty?0:-59;case 21505:{if(!v.tty)return-59;if(v.tty.ops.ioctl_tcgets){var D=v.tty.ops.ioctl_tcgets(v),E=Ii();z[E>>>2>>>0]=D.c_iflag||0,z[E+4>>>2>>>0]=D.c_oflag||0,z[E+8>>>2>>>0]=D.c_cflag||0,z[E+12>>>2>>>0]=D.c_lflag||0;for(var _=0;_<32;_++)q[E+_+17>>>0]=D.c_cc[_]||0;return 0}return 0}case 21510:case 21511:case 21512:return v.tty?0:-59;case 21506:case 21507:case 21508:{if(!v.tty)return-59;if(v.tty.ops.ioctl_tcsets){for(var E=Ii(),C=z[E>>>2>>>0],T=z[E+4>>>2>>>0],$=z[E+8>>>2>>>0],te=z[E+12>>>2>>>0],ae=[],_=0;_<32;_++)ae.push(q[E+_+17>>>0]);return v.tty.ops.ioctl_tcsets(v.tty,l,{c_iflag:C,c_oflag:T,c_cflag:$,c_lflag:te,c_cc:ae})}return 0}case 21519:{if(!v.tty)return-59;var E=Ii();return z[E>>>2>>>0]=0,0}case 21520:return v.tty?-28:-59;case 21531:{var E=Ii();return k.ioctl(v,l,E)}case 21523:{if(!v.tty)return-59;if(v.tty.ops.ioctl_tiocgwinsz){var ce=v.tty.ops.ioctl_tiocgwinsz(v.tty),E=Ii();se[E>>>1>>>0]=ce[0],se[E+2>>>1>>>0]=ce[1]}return 0}case 21524:return v.tty?0:-59;case 21515:return v.tty?0:-59;default:return-28}}catch(Z){if(typeof k>"u"||Z.name!=="ErrnoError")throw Z;return-Z.errno}}function VB(u,l){u>>>=0,l>>>=0;try{return u=ke.getStr(u),ke.doStat(k.lstat,u,l)}catch(b){if(typeof k>"u"||b.name!=="ErrnoError")throw b;return-b.errno}}function YB(u,l,b,v){l>>>=0,b>>>=0;try{l=ke.getStr(l);var D=v&256,E=v&4096;return v=v&-6401,R(!v,`unknown flags in __syscall_newfstatat: ${v}`),l=ke.calculateAt(u,l,E),ke.doStat(D?k.lstat:k.stat,l,b)}catch(_){if(typeof k>"u"||_.name!=="ErrnoError")throw _;return-_.errno}}function XB(u,l,b,v){l>>>=0,v>>>=0,ke.varargs=v;try{l=ke.getStr(l),l=ke.calculateAt(u,l);var D=v?Us():0;return k.open(l,b,D).fd}catch(E){if(typeof k>"u"||E.name!=="ErrnoError")throw E;return-E.errno}}function WB(u){u>>>=0;try{return u=ke.getStr(u),k.rmdir(u),0}catch(l){if(typeof k>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}function UB(u,l){u>>>=0,l>>>=0;try{return u=ke.getStr(u),ke.doStat(k.stat,u,l)}catch(b){if(typeof k>"u"||b.name!=="ErrnoError")throw b;return-b.errno}}function qB(u,l,b){l>>>=0;try{return l=ke.getStr(l),l=ke.calculateAt(u,l),b===0?k.unlink(l):b===512?k.rmdir(l):Oe("Invalid flags passed to unlinkat"),0}catch(v){if(typeof k>"u"||v.name!=="ErrnoError")throw v;return-v.errno}}var zB=()=>{Oe("native code called abort()")},ZB=1,JB=()=>ZB;function $B(u,l,b){return u>>>=0,l>>>=0,b>>>=0,oe.copyWithin(u>>>0,l>>>0,l+b>>>0)}var eE=()=>{throw 1/0};function tE(u,l,b){var v=Gi(u,l);b>>>=0;var D=new Date(v*1e3);z[b>>>2>>>0]=D.getUTCSeconds(),z[b+4>>>2>>>0]=D.getUTCMinutes(),z[b+8>>>2>>>0]=D.getUTCHours(),z[b+12>>>2>>>0]=D.getUTCDate(),z[b+16>>>2>>>0]=D.getUTCMonth(),z[b+20>>>2>>>0]=D.getUTCFullYear()-1900,z[b+24>>>2>>>0]=D.getUTCDay();var E=Date.UTC(D.getUTCFullYear(),0,1,0,0,0,0),_=(D.getTime()-E)/(1e3*60*60*24)|0;z[b+28>>>2>>>0]=_}var nE=u=>u%4===0&&(u%100!==0||u%400===0),rE=[0,31,60,91,121,152,182,213,244,274,305,335],iE=[0,31,59,90,120,151,181,212,243,273,304,334],aE=u=>{var l=nE(u.getFullYear()),b=l?rE:iE,v=b[u.getMonth()]+u.getDate()-1;return v};function oE(u,l,b){var v=Gi(u,l);b>>>=0;var D=new Date(v*1e3);z[b>>>2>>>0]=D.getSeconds(),z[b+4>>>2>>>0]=D.getMinutes(),z[b+8>>>2>>>0]=D.getHours(),z[b+12>>>2>>>0]=D.getDate(),z[b+16>>>2>>>0]=D.getMonth(),z[b+20>>>2>>>0]=D.getFullYear()-1900,z[b+24>>>2>>>0]=D.getDay();var E=aE(D)|0;z[b+28>>>2>>>0]=E,z[b+36>>>2>>>0]=-(D.getTimezoneOffset()*60);var _=new Date(D.getFullYear(),0,1),C=new Date(D.getFullYear(),6,1).getTimezoneOffset(),T=_.getTimezoneOffset(),$=(C!=T&&D.getTimezoneOffset()==Math.min(T,C))|0;z[b+32>>>2>>>0]=$}function sE(u,l,b,v,D,E,_,C){u>>>=0;var T=Gi(D,E);_>>>=0,C>>>=0;try{if(isNaN(T))return 61;var $=ke.getStreamFromFD(v),te=k.mmap($,u,T,l,b),ae=te.ptr;return z[_>>>2>>>0]=te.allocated,Be[C>>>2>>>0]=ae,0}catch(ce){if(typeof k>"u"||ce.name!=="ErrnoError")throw ce;return-ce.errno}}function AE(u,l,b,v,D,E,_){u>>>=0,l>>>=0;var C=Gi(E,_);try{var T=ke.getStreamFromFD(D);b&2&&ke.doMsync(u,T,l,v,C)}catch($){if(typeof k>"u"||$.name!=="ErrnoError")throw $;return-$.errno}}var cE=function(u,l,b,v){u>>>=0,l>>>=0,b>>>=0,v>>>=0;var D=new Date().getFullYear(),E=new Date(D,0,1),_=new Date(D,6,1),C=E.getTimezoneOffset(),T=_.getTimezoneOffset(),$=Math.max(C,T);Be[u>>>2>>>0]=$*60,z[l>>>2>>>0]=+(C!=T);var te=Z=>{var ie=Z>=0?"-":"+",ye=Math.abs(Z),yt=String(Math.floor(ye/60)).padStart(2,"0"),kt=String(ye%60).padStart(2,"0");return`UTC${ie}${yt}${kt}`},ae=te(C),ce=te(T);R(ae),R(ce),R(Ya(ae)<=16,`timezone name truncated to fit in TZNAME_MAX (${ae})`),R(Ya(ce)<=16,`timezone name truncated to fit in TZNAME_MAX (${ce})`),TDate.now();function uE(u){return u>>>=0,G(er(u))}var pE=()=>performance.now(),lE=()=>4294901760,mE=u=>{var l=K.buffer,b=(u-l.byteLength+65535)/65536|0;try{return K.grow(b),Hw(),1}catch(v){G(`growMemory: Attempted to grow heap from ${l.byteLength} bytes to ${u} bytes, but got error: ${v}`)}};function wE(u){u>>>=0;var l=oe.length;R(u>l);var b=lE();if(u>b)return G(`Cannot enlarge memory, requested ${u} bytes, but the limit is ${b} bytes!`),!1;for(var v=1;v<=4;v*=2){var D=l*(1+.2/v);D=Math.min(D,u+100663296);var E=Math.min(b,qw(Math.max(u,D),65536)),_=mE(E);if(_)return!0}return G(`Failed to grow the heap from ${l} bytes to ${E} bytes, not enough memory!`),!1}var Od={},bE=()=>h||"./this.program",Xa=()=>{if(!Xa.strings){var u=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",l={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:u,_:bE()};for(var b in Od)Od[b]===void 0?delete l[b]:l[b]=Od[b];var v=[];for(var b in l)v.push(`${b}=${l[b]}`);Xa.strings=v}return Xa.strings},fE=(u,l)=>{for(var b=0;b>>0]=u.charCodeAt(b);q[l>>>0]=0},gE=function(u,l){u>>>=0,l>>>=0;var b=0;return Xa().forEach((v,D)=>{var E=l+b;Be[u+D*4>>>2>>>0]=E,fE(v,E),b+=v.length+1}),0},FE=function(u,l){u>>>=0,l>>>=0;var b=Xa();Be[u>>>2>>>0]=b.length;var v=0;return b.forEach(D=>v+=D.length+1),Be[l>>>2>>>0]=v,0},Jw=0,$w=()=>EB||Jw>0,vE=u=>{ge=u,$w()||(n.onExit?.(u),ve=!0),P(u,new DB(u))},PE=(u,l)=>{if(ge=u,p_(),$w()&&!l){var b=`program exited (with status: ${u}), but keepRuntimeAlive() is set (counter=${Jw}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`;a(b),G(b)}vE(u)},hE=PE;function kE(u){try{var l=ke.getStreamFromFD(u);return k.close(l),0}catch(b){if(typeof k>"u"||b.name!=="ErrnoError")throw b;return b.errno}}var DE=(u,l,b,v)=>{for(var D=0,E=0;E>>2>>>0],C=Be[l+4>>>2>>>0];l+=8;var T=k.read(u,q,_,C,v);if(T<0)return-1;if(D+=T,T>>=0,b>>>=0,v>>>=0;try{var D=ke.getStreamFromFD(u),E=DE(D,l,b);return Be[v>>>2>>>0]=E,0}catch(_){if(typeof k>"u"||_.name!=="ErrnoError")throw _;return _.errno}}function EE(u,l,b,v,D){var E=Gi(l,b);D>>>=0;try{if(isNaN(E))return 61;var _=ke.getStreamFromFD(u);return k.llseek(_,E,v),Qe=[_.position>>>0,(re=_.position,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[D>>>2>>>0]=Qe[0],z[D+4>>>2>>>0]=Qe[1],_.getdents&&E===0&&v===0&&(_.getdents=null),0}catch(C){if(typeof k>"u"||C.name!=="ErrnoError")throw C;return C.errno}}function _E(u){try{var l=ke.getStreamFromFD(u);return l.stream_ops?.fsync?l.stream_ops.fsync(l):0}catch(b){if(typeof k>"u"||b.name!=="ErrnoError")throw b;return b.errno}}var yE=(u,l,b,v)=>{for(var D=0,E=0;E>>2>>>0],C=Be[l+4>>>2>>>0];l+=8;var T=k.write(u,q,_,C,v);if(T<0)return-1;if(D+=T,T>>=0,b>>>=0,v>>>=0;try{var D=ke.getStreamFromFD(u),E=yE(D,l,b);return Be[v>>>2>>>0]=E,0}catch(_){if(typeof k>"u"||_.name!=="ErrnoError")throw _;return _.errno}}function CE(u,l){u>>>=0,l>>>=0;try{return Id(oe.subarray(u>>>0,u+l>>>0)),0}catch(b){if(typeof k>"u"||b.name!=="ErrnoError")throw b;return b.errno}}var Wa=[],On,pt=u=>{var l=Wa[u];return l||(u>=Wa.length&&(Wa.length=u+1),Wa[u]=l=On.get(u)),R(On.get(u)==l,"JavaScript-side Wasm function table mirror is out of date!"),l},eb=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,IE=(u,l)=>{R(u%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var b=u,v=b>>1,D=v+l/2;!(v>=D)&&ut[v>>>0];)++v;if(b=v<<1,b-u>32&&eb)return eb.decode(oe.subarray(u>>>0,b>>>0));for(var E="",_=0;!(_>=l/2);++_){var C=se[u+_*2>>>1>>>0];if(C==0)break;E+=String.fromCharCode(C)}return E},tb=(u,l)=>{R(u<16384),u<128?l.push(u):l.push(u%128|128,u>>7)},SE=u=>{R(!u.includes("j"),"i64 not permitted in function signatures when WASM_BIGINT is disabled");for(var l={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},b={parameters:[],results:u[0]=="v"?[]:[l[u[0]]]},v=1;v{var b=u.slice(0,1),v=u.slice(1),D={i:127,p:127,j:126,f:125,d:124,e:111};l.push(96),tb(v.length,l);for(var E=0;E{if(R(!l.includes("j"),"i64 not permitted in function signatures when WASM_BIGINT is disabled"),typeof WebAssembly.Function=="function")return new WebAssembly.Function(SE(l),u);var b=[1];xE(l,b);var v=[0,97,115,109,1,0,0,0,1];tb(b.length,v),v.push(...b),v.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var D=new WebAssembly.Module(new Uint8Array(v)),E=new WebAssembly.Instance(D,{e:{f:u}}),_=E.exports.f;return _},OE=(u,l)=>{if(Gr)for(var b=u;b(Gr||(Gr=new WeakMap,OE(0,On.length)),Gr.get(u)||0),Qd=[],RE=()=>{if(Qd.length)return Qd.pop();try{On.grow(1)}catch(u){throw u instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":u}return On.length-1},Rd=(u,l)=>{On.set(u,l),Wa[u]=On.get(u)},TE=(u,l)=>{R(typeof u<"u");var b=QE(u);if(b)return b;var v=RE();try{Rd(v,u)}catch(E){if(!(E instanceof TypeError))throw E;R(typeof l<"u","Missing signature argument to addFunction: "+u);var D=HE(u,l);Rd(v,D)}return Gr.set(u,v),v},ME=u=>{var l=n["_"+u];return R(l,"Cannot call unknown function "+u+", make sure it is exported"),l},LE=(u,l)=>{R(u.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)"),q.set(u,l>>>0)},nb=u=>Ab(u),NE=u=>{var l=Ya(u)+1,b=nb(l);return yr(u,b,l),b},rb=(u,l,b,v,D)=>{var E={string:ie=>{var ye=0;return ie!=null&&ie!==0&&(ye=NE(ie)),ye},array:ie=>{var ye=nb(ie.length);return LE(ie,ye),ye}};function _(ie){return l==="string"?er(ie):l==="boolean"?!!ie:ie}var C=ME(u),T=[],$=0;if(R(l!=="array",\'Return type should not be "array".\'),v)for(var te=0;te(...D)=>rb(u,l,b,D,v),KE=u=>{Gr.delete(pt(u)),Rd(u,null),Qd.push(u)},VE=(u,l,b)=>{if(R(l%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),R(typeof b=="number","stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),b??(b=2147483647),b<2)return 0;b-=2;for(var v=l,D=b>>1>>>0]=_,l+=2}return se[l>>>1>>>0]=0,l-v};k.createPreloadedFile=QB,k.staticInit();function YE(){hB("fetchSettings")}var ib={__assert_fail:yB,__syscall_fcntl64:MB,__syscall_fstat64:LB,__syscall_ftruncate64:NB,__syscall_getdents64:jB,__syscall_ioctl:KB,__syscall_lstat64:VB,__syscall_newfstatat:YB,__syscall_openat:XB,__syscall_rmdir:WB,__syscall_stat64:UB,__syscall_unlinkat:qB,_abort_js:zB,_emscripten_get_now_is_monotonic:JB,_emscripten_memcpy_js:$B,_emscripten_throw_longjmp:eE,_gmtime_js:tE,_localtime_js:oE,_mmap_js:sE,_munmap_js:AE,_tzset_js:cE,emscripten_date_now:dE,emscripten_err:uE,emscripten_get_now:pE,emscripten_resize_heap:wE,environ_get:gE,environ_sizes_get:FE,exit:hE,fd_close:kE,fd_read:BE,fd_seek:EE,fd_sync:_E,fd_write:GE,invoke_ii:i_,invoke_iii:ZE,invoke_iiii:JE,invoke_iiiii:n_,invoke_iiiiii:o_,invoke_iiiiiii:t_,invoke_v:a_,invoke_vi:$E,invoke_vii:e_,invoke_viii:r_,invoke_viiii:zE,invoke_viiiiiiiii:s_,random_get:CE},Xe=PB(),oM=c("__wasm_call_ctors",0),sM=n._EPDFAction_CloseModel=c("EPDFAction_CloseModel",1),AM=n._EPDFAction_LoadModel=c("EPDFAction_LoadModel",1),cM=n._EPDFAction_GetRootNode=c("EPDFAction_GetRootNode",1),dM=n._EPDFAction_GetNodeCount=c("EPDFAction_GetNodeCount",1),uM=n._EPDFAction_GetNodeType=c("EPDFAction_GetNodeType",2),pM=n._EPDFAction_GetNodeSubtype=c("EPDFAction_GetNodeSubtype",4),lM=n._EPDFAction_NodeHasJavaScript=c("EPDFAction_NodeHasJavaScript",2),mM=n._EPDFAction_GetNodeJavaScript=c("EPDFAction_GetNodeJavaScript",4),wM=n._EPDFAction_GetNodeDest=c("EPDFAction_GetNodeDest",3),bM=n._EPDFAction_GetNodeURI=c("EPDFAction_GetNodeURI",5),fM=n._EPDFAction_GetNodeFilePath=c("EPDFAction_GetNodeFilePath",4),gM=n._EPDFAction_GetNodeName=c("EPDFAction_GetNodeName",4),FM=n._EPDFAction_GetNodeTargetCount=c("EPDFAction_GetNodeTargetCount",2),vM=n._EPDFAction_GetNodeTargetName=c("EPDFAction_GetNodeTargetName",5),PM=n._EPDFAction_GetNodeTargetObjectNumber=c("EPDFAction_GetNodeTargetObjectNumber",4),hM=n._EPDFAction_GetNodeHideFlag=c("EPDFAction_GetNodeHideFlag",3),kM=n._EPDFAction_GetNodeResetForm=c("EPDFAction_GetNodeResetForm",4),DM=n._EPDFAction_GetNodeSubmitForm=c("EPDFAction_GetNodeSubmitForm",4),BM=n._EPDFAction_GetNodeSubmitFormURL=c("EPDFAction_GetNodeSubmitFormURL",4),EM=n._EPDFAction_GetNodeSubmitFormCharSet=c("EPDFAction_GetNodeSubmitFormCharSet",4),_M=n._EPDFAction_GetNodeURIIsMap=c("EPDFAction_GetNodeURIIsMap",3),yM=n._EPDFAction_GetNextCount=c("EPDFAction_GetNextCount",2),GM=n._EPDFAction_GetNextAt=c("EPDFAction_GetNextAt",3),CM=n._EPDFAction_GetWarningFlags=c("EPDFAction_GetWarningFlags",1),IM=n._EPDFAction_IsComplete=c("EPDFAction_IsComplete",1),SM=n._EPDFDoc_GetOpenActionModel=c("EPDFDoc_GetOpenActionModel",1),xM=n._EPDFDoc_GetOpenActionDest=c("EPDFDoc_GetOpenActionDest",1),HM=n._EPDFDoc_GetAdditionalActionModel=c("EPDFDoc_GetAdditionalActionModel",2),OM=n._EPDFDoc_GetPageActionModel=c("EPDFDoc_GetPageActionModel",3),QM=n._EPDFAnnot_GetActionModel=c("EPDFAnnot_GetActionModel",2),RM=n._EPDFAction_CreateJavaScript=c("EPDFAction_CreateJavaScript",2),TM=n._EPDFAction_CreateHide=c("EPDFAction_CreateHide",4),MM=n._EPDFAction_CreateResetForm=c("EPDFAction_CreateResetForm",4),LM=n._EPDFAction_CreateSubmitForm=c("EPDFAction_CreateSubmitForm",5),NM=n._EPDFAction_SetNext=c("EPDFAction_SetNext",4),jM=n._EPDFAnnot_SetEventAction=c("EPDFAnnot_SetEventAction",3),KM=n._EPDFAnnot_SetNumberValue=c("EPDFAnnot_SetNumberValue",3),VM=n._EPDFAnnot_HasEmbedMetadata=c("EPDFAnnot_HasEmbedMetadata",1),YM=n._EPDFAnnot_ClearEmbedMetadata=c("EPDFAnnot_ClearEmbedMetadata",1),XM=n._EPDFAnnot_ClearEmbedMetadataKey=c("EPDFAnnot_ClearEmbedMetadataKey",2),WM=n._EPDFAnnot_SetEmbedMetadataString=c("EPDFAnnot_SetEmbedMetadataString",3),UM=n._EPDFAnnot_GetEmbedMetadataString=c("EPDFAnnot_GetEmbedMetadataString",4),qM=n._EPDFAnnot_SetEmbedMetadataNumber=c("EPDFAnnot_SetEmbedMetadataNumber",3),zM=n._EPDFAnnot_GetEmbedMetadataNumber=c("EPDFAnnot_GetEmbedMetadataNumber",3),ZM=n._EPDFAnnot_SetEmbedMetadataBoolean=c("EPDFAnnot_SetEmbedMetadataBoolean",3),JM=n._EPDFAnnot_GetEmbedMetadataBoolean=c("EPDFAnnot_GetEmbedMetadataBoolean",3),$M=n._EPDFAnnot_SetEmbedMetadataRect=c("EPDFAnnot_SetEmbedMetadataRect",3),eL=n._EPDFAnnot_GetEmbedMetadataRect=c("EPDFAnnot_GetEmbedMetadataRect",3),tL=n._EPDFAnnot_SetEmbedMetadataJSON=c("EPDFAnnot_SetEmbedMetadataJSON",2),nL=n._EPDFAnnot_GetEmbedMetadataJSON=c("EPDFAnnot_GetEmbedMetadataJSON",3),rL=n._EPDFDocument_ClearEmbedMetadata=c("EPDFDocument_ClearEmbedMetadata",1),iL=n._EPDFAnnot_SetAction=c("EPDFAnnot_SetAction",2),aL=n._EPDFAnnot_RemoveAction=c("EPDFAnnot_RemoveAction",1),oL=n._EPDFAnnot_RemoveDest=c("EPDFAnnot_RemoveDest",1),sL=n._EPDFAnnot_RemoveKey=c("EPDFAnnot_RemoveKey",2),AL=n._EPDFAnnot_GetFileAttachmentForWrite=c("EPDFAnnot_GetFileAttachmentForWrite",1),cL=n._EPDFAnnot_SetColor=c("EPDFAnnot_SetColor",5),dL=n._EPDFAnnot_GetColor=c("EPDFAnnot_GetColor",5),uL=n._EPDFAnnot_ClearColor=c("EPDFAnnot_ClearColor",2),pL=n._EPDFAnnot_SetNoColor=c("EPDFAnnot_SetNoColor",2),lL=n._EPDFAnnot_SetOpacity=c("EPDFAnnot_SetOpacity",2),mL=n._EPDFAnnot_GetOpacity=c("EPDFAnnot_GetOpacity",2),wL=n._EPDFAnnot_GetBorderEffect=c("EPDFAnnot_GetBorderEffect",2),bL=n._EPDFAnnot_SetBorderEffect=c("EPDFAnnot_SetBorderEffect",2),fL=n._EPDFAnnot_ClearBorderEffect=c("EPDFAnnot_ClearBorderEffect",1),gL=n._EPDFAnnot_GetRectangleDifferences=c("EPDFAnnot_GetRectangleDifferences",5),FL=n._EPDFAnnot_ClearRectangleDifferences=c("EPDFAnnot_ClearRectangleDifferences",1),vL=n._EPDFAnnot_GetBorderDashPatternCount=c("EPDFAnnot_GetBorderDashPatternCount",1),PL=n._EPDFAnnot_GetBorderDashPattern=c("EPDFAnnot_GetBorderDashPattern",3),hL=n._EPDFAnnot_SetBorderDashPattern=c("EPDFAnnot_SetBorderDashPattern",3),kL=n._EPDFAnnot_GetBorderStyle=c("EPDFAnnot_GetBorderStyle",2),DL=n._EPDFAnnot_SetBorderStyle=c("EPDFAnnot_SetBorderStyle",3),BL=n._EPDFAnnot_GenerateAppearance=c("EPDFAnnot_GenerateAppearance",1),EL=n._EPDFAnnot_GenerateAppearanceWithBlend=c("EPDFAnnot_GenerateAppearanceWithBlend",2),_L=n._EPDFAnnot_GetBlendMode=c("EPDFAnnot_GetBlendMode",1),yL=n._EPDFAnnot_SetIntent=c("EPDFAnnot_SetIntent",2),GL=n._EPDFAnnot_GetIntent=c("EPDFAnnot_GetIntent",3),CL=n._EPDFAnnot_GetRichContent=c("EPDFAnnot_GetRichContent",3),IL=n._EPDFAnnot_GetRichTextJSON=c("EPDFAnnot_GetRichTextJSON",3),SL=n._EPDFAnnot_SetRichTextJSON=c("EPDFAnnot_SetRichTextJSON",2),xL=n._EPDFAnnot_SetRichTextXHTML=c("EPDFAnnot_SetRichTextXHTML",2),HL=n._EPDFDoc_SetTypographicFeatures=c("EPDFDoc_SetTypographicFeatures",2),OL=n._EPDFDoc_GetTypographicFeatures=c("EPDFDoc_GetTypographicFeatures",1),QL=n._EPDFAnnot_SetLineEndings=c("EPDFAnnot_SetLineEndings",3),RL=n._EPDFAnnot_GetLineEndings=c("EPDFAnnot_GetLineEndings",3),TL=n._EPDFAnnot_SetVertices=c("EPDFAnnot_SetVertices",3),ML=n._EPDFAnnot_SetLine=c("EPDFAnnot_SetLine",3),LL=n._EPDFAnnot_SetDefaultAppearance=c("EPDFAnnot_SetDefaultAppearance",6),NL=n._EPDFAnnot_SetDefaultAppearanceRegisteredFont=c("EPDFAnnot_SetDefaultAppearanceRegisteredFont",6),jL=n._EPDFAnnot_GetDefaultAppearance=c("EPDFAnnot_GetDefaultAppearance",6),KL=n._EPDFAnnot_GetDefaultAppearanceFontFace=c("EPDFAnnot_GetDefaultAppearanceFontFace",5),VL=n._EPDFAnnot_GetDefaultAppearanceFontPostScriptName=c("EPDFAnnot_GetDefaultAppearanceFontPostScriptName",3),YL=n._EPDFAnnot_SetDefaultAppearanceDocumentFont=c("EPDFAnnot_SetDefaultAppearanceDocumentFont",6),XL=n._EPDFAnnot_SetTextAlignment=c("EPDFAnnot_SetTextAlignment",2),WL=n._EPDFAnnot_GetTextAlignment=c("EPDFAnnot_GetTextAlignment",1),UL=n._EPDFPage_GetAnnotByName=c("EPDFPage_GetAnnotByName",2),qL=n._EPDFPage_RemoveAnnotByName=c("EPDFPage_RemoveAnnotByName",2),zL=n._EPDFAnnot_SetLinkedAnnot=c("EPDFAnnot_SetLinkedAnnot",3),ZL=n._EPDFPage_GetAnnotIndexByNameRaw=c("EPDFPage_GetAnnotIndexByNameRaw",3),JL=n._EPDFPage_GetAnnotIndexByObjectNumberRaw=c("EPDFPage_GetAnnotIndexByObjectNumberRaw",3),$L=n._EPDFPage_GetAnnotCountRaw=c("EPDFPage_GetAnnotCountRaw",2),eN=n._EPDFPage_GetAnnotRaw=c("EPDFPage_GetAnnotRaw",3),tN=n._EPDFPage_CreateAnnotRaw=c("EPDFPage_CreateAnnotRaw",4),nN=n._EPDFPage_RemoveAnnotRaw=c("EPDFPage_RemoveAnnotRaw",3),rN=n._EPDFPage_PromoteInlineAnnotsRaw=c("EPDFPage_PromoteInlineAnnotsRaw",2),iN=n._EPDFAnnot_IsValid=c("EPDFAnnot_IsValid",1),aN=n._EPDFAnnot_SetSubtype=c("EPDFAnnot_SetSubtype",2),oN=n._EPDFAnnot_SetName=c("EPDFAnnot_SetName",2),sN=n._EPDFAnnot_GetName=c("EPDFAnnot_GetName",3),AN=n._EPDFAnnot_UpdateAppearanceToRect=c("EPDFAnnot_UpdateAppearanceToRect",2),cN=n._EPDFAnnot_SetStampOpacity=c("EPDFAnnot_SetStampOpacity",3),dN=n._EPDFPage_CreateAnnot=c("EPDFPage_CreateAnnot",2),uN=n._EPDFAnnot_SetRotate=c("EPDFAnnot_SetRotate",2),pN=n._EPDFAnnot_GetRotate=c("EPDFAnnot_GetRotate",2),lN=n._EPDFAnnot_GetAppearanceTransform=c("EPDFAnnot_GetAppearanceTransform",3),mN=n._EPDFAnnot_GetReplyType=c("EPDFAnnot_GetReplyType",1),wN=n._EPDFAnnot_SetReplyType=c("EPDFAnnot_SetReplyType",2),bN=n._EPDFAnnot_GetBooleanValue=c("EPDFAnnot_GetBooleanValue",3),fN=n._EPDFAnnot_SetBooleanValue=c("EPDFAnnot_SetBooleanValue",3),gN=n._EPDFAnnot_SetOverlayText=c("EPDFAnnot_SetOverlayText",2),FN=n._EPDFAnnot_GetOverlayText=c("EPDFAnnot_GetOverlayText",3),vN=n._EPDFAnnot_SetOverlayTextRepeat=c("EPDFAnnot_SetOverlayTextRepeat",2),PN=n._EPDFAnnot_GetOverlayTextRepeat=c("EPDFAnnot_GetOverlayTextRepeat",1),hN=n._EPDFAnnot_SetAppearanceFromPage=c("EPDFAnnot_SetAppearanceFromPage",3),kN=n._EPDFAnnot_ExportAppearance=c("EPDFAnnot_ExportAppearance",3),DN=n._EPDFDoc_CanonicalDrawing=c("EPDFDoc_CanonicalDrawing",2),BN=n._EPDFDoc_ImportDrawing=c("EPDFDoc_ImportDrawing",2),EN=n._EPDFDoc_ExportDrawing=c("EPDFDoc_ExportDrawing",2),_N=n._EPDFDoc_GetStampDrawings=c("EPDFDoc_GetStampDrawings",3),yN=n._EPDFAnnot_SetStampDrawing=c("EPDFAnnot_SetStampDrawing",3),GN=n._EPDFAnnot_GetStampDrawing=c("EPDFAnnot_GetStampDrawing",1),CN=n._EPDFAnnot_GetRect=c("EPDFAnnot_GetRect",2),IN=n._EPDFAnnot_SetRect=c("EPDFAnnot_SetRect",2),SN=n._EPDFAnnot_SetAPMatrix=c("EPDFAnnot_SetAPMatrix",3),xN=n._EPDFAnnot_GetAPMatrix=c("EPDFAnnot_GetAPMatrix",3),HN=n._EPDFAnnot_GetAvailableAppearanceModes=c("EPDFAnnot_GetAvailableAppearanceModes",1),ON=n._EPDFAnnot_GetAppearanceStateCount=c("EPDFAnnot_GetAppearanceStateCount",2),QN=n._EPDFAnnot_GetAppearanceStateName=c("EPDFAnnot_GetAppearanceStateName",5),RN=n._EPDFAnnot_GetAppearanceState=c("EPDFAnnot_GetAppearanceState",3),TN=n._EPDFAnnot_HasAppearanceStream=c("EPDFAnnot_HasAppearanceStream",2),MN=n._EPDFAnnot_GetDrawingRect=c("EPDFAnnot_GetDrawingRect",3),LN=n._EPDFAnnot_SetMKColor=c("EPDFAnnot_SetMKColor",5),NN=n._EPDFAnnot_GetMKColor=c("EPDFAnnot_GetMKColor",5),jN=n._EPDFAnnot_ClearMKColor=c("EPDFAnnot_ClearMKColor",2),KN=n._EPDFAnnot_SetMKText=c("EPDFAnnot_SetMKText",3),VN=n._EPDFAnnot_GetMKText=c("EPDFAnnot_GetMKText",4),YN=n._EPDFAnnot_SetMKTextPosition=c("EPDFAnnot_SetMKTextPosition",2),XN=n._EPDFAnnot_GetMKTextPosition=c("EPDFAnnot_GetMKTextPosition",1),WN=n._EPDFAnnot_SetMKRotation=c("EPDFAnnot_SetMKRotation",2),UN=n._EPDFAnnot_GetMKRotation=c("EPDFAnnot_GetMKRotation",1),qN=n._EPDFAnnot_GenerateFormFieldAP=c("EPDFAnnot_GenerateFormFieldAP",1),zN=n._EPDFAnnot_GetCalloutLineCount=c("EPDFAnnot_GetCalloutLineCount",1),ZN=n._EPDFAnnot_GetCalloutLine=c("EPDFAnnot_GetCalloutLine",3),JN=n._EPDFAnnot_SetCalloutLine=c("EPDFAnnot_SetCalloutLine",3),$N=n._EPDFAnnot_GetObjectNumber=c("EPDFAnnot_GetObjectNumber",1),ej=n._EPDFAnnot_GetStructurePosition=c("EPDFAnnot_GetStructurePosition",3),tj=n._EPDFPage_GetAnnotByObjectNumber=c("EPDFPage_GetAnnotByObjectNumber",2),nj=n._EPDFPage_RemoveAnnot=c("EPDFPage_RemoveAnnot",2),rj=n._EPDFPage_RemoveAnnotByObjectNumber=c("EPDFPage_RemoveAnnotByObjectNumber",2),ij=n._EPDFPage_MoveAnnots=c("EPDFPage_MoveAnnots",4),aj=n._EPDFPage_MoveAnnotsRaw=c("EPDFPage_MoveAnnotsRaw",5),oj=n._EPDF_LoadBaseDocument=c("EPDF_LoadBaseDocument",2),sj=n._EPDF_LoadMemBaseDocument=c("EPDF_LoadMemBaseDocument",3),Aj=n._EPDF_LoadMemBaseDocument64=c("EPDF_LoadMemBaseDocument64",3),cj=n._EPDF_ReleaseBaseDocument=c("EPDF_ReleaseBaseDocument",1),dj=n._EPDFPage_ExportAnnotsRawToOwnedBuffer=c("EPDFPage_ExportAnnotsRawToOwnedBuffer",5),uj=n._EPDFPage_ImportAnnotsRaw=c("EPDFPage_ImportAnnotsRaw",4),pj=n._EPDFDoc_ExportDictRawToOwnedBuffer=c("EPDFDoc_ExportDictRawToOwnedBuffer",4),lj=n._EPDFDoc_ExportDictCanonicalToOwnedBuffer=c("EPDFDoc_ExportDictCanonicalToOwnedBuffer",5),mj=n._EPDFDoc_ImportDictRaw=c("EPDFDoc_ImportDictRaw",3),wj=n._EPDFForm_ExportFieldRawToOwnedBuffer=c("EPDFForm_ExportFieldRawToOwnedBuffer",3),bj=n._EPDFForm_ImportFieldRaw=c("EPDFForm_ImportFieldRaw",3),fj=n._EPDFOutline_ExportItemRawToOwnedBuffer=c("EPDFOutline_ExportItemRawToOwnedBuffer",3),gj=n._EPDFOutline_ImportItemRaw=c("EPDFOutline_ImportItemRaw",3),Fj=n._EPDFPage_ExportRawToOwnedBuffer=c("EPDFPage_ExportRawToOwnedBuffer",3),vj=n._EPDFPage_ImportRaw=c("EPDFPage_ImportRaw",3),Pj=n._EPDFAttachment_ExportRawToOwnedBuffer=c("EPDFAttachment_ExportRawToOwnedBuffer",3),hj=n._EPDFAttachment_ExportCanonicalToOwnedBuffer=c("EPDFAttachment_ExportCanonicalToOwnedBuffer",3),kj=n._EPDFAttachment_ImportRaw=c("EPDFAttachment_ImportRaw",3),Dj=n._EPDFCatalog_GetMetadata=c("EPDFCatalog_GetMetadata",3),Bj=n._EPDFCatalog_SetMetadata=c("EPDFCatalog_SetMetadata",3),Ej=n._EPDFFont_RegisterFont=c("EPDFFont_RegisterFont",4),_j=n._EPDFFont_RegisterMemFont=c("EPDFFont_RegisterMemFont",5),yj=n._EPDFFont_RegisterMemFont64=c("EPDFFont_RegisterMemFont64",5),Gj=n._EPDFFont_ClearRegisteredFonts=c("EPDFFont_ClearRegisteredFonts",0),Cj=n._EPDFFont_GetEmbeddingPermission=c("EPDFFont_GetEmbeddingPermission",1),Ij=n._EPDFFont_IsEditingAuthorized=c("EPDFFont_IsEditingAuthorized",1),Sj=n._EPDFFont_AuthorizeEditing=c("EPDFFont_AuthorizeEditing",1),xj=n._EPDFFont_IsInstanced=c("EPDFFont_IsInstanced",1),Hj=n._EPDFFont_GetFamilyName=c("EPDFFont_GetFamilyName",3),Oj=n._EPDFFont_GetWeight=c("EPDFFont_GetWeight",1),Qj=n._EPDFFont_IsItalic=c("EPDFFont_IsItalic",1),Rj=n._EPDFDoc_SetFontEmbeddingPolicy=c("EPDFDoc_SetFontEmbeddingPolicy",2),Tj=n._EPDFDoc_GetFontEmbeddingPolicy=c("EPDFDoc_GetFontEmbeddingPolicy",1),Mj=n._EPDFFont_AddFallbackFont=c("EPDFFont_AddFallbackFont",2),Lj=n._EPDFFont_ClearFallbackFonts=c("EPDFFont_ClearFallbackFonts",0),Nj=n._EPDFFont_SetLastResortFont=c("EPDFFont_SetLastResortFont",1),jj=n._EPDFFont_GetLastResortFont=c("EPDFFont_GetLastResortFont",0),Kj=n._EPDFFont_GetFallbackOrder=c("EPDFFont_GetFallbackOrder",4),Vj=n._EPDFFont_GetProgramData=c("EPDFFont_GetProgramData",3),Yj=n._EPDFFont_GetProgramFormat=c("EPDFFont_GetProgramFormat",1),Xj=n._EPDFFont_GetProgramHash=c("EPDFFont_GetProgramHash",2),Wj=n._EPDFFont_GetCoverage=c("EPDFFont_GetCoverage",3),Uj=n._EPDFFont_GetMetrics=c("EPDFFont_GetMetrics",3),qj=n._EPDFFont_GetPostScriptName=c("EPDFFont_GetPostScriptName",3),zj=n._EPDFFontFaces_Load=c("EPDFFontFaces_Load",1),Zj=n._EPDFFontFaces_Close=c("EPDFFontFaces_Close",1),Jj=n._EPDFDoc_GetFontsFingerprint=c("EPDFDoc_GetFontsFingerprint",2),$j=n._EPDFFontFaces_Count=c("EPDFFontFaces_Count",1),e1=n._EPDFFontFaces_GetFamily=c("EPDFFontFaces_GetFamily",4),t1=n._EPDFFontFaces_GetWeight=c("EPDFFontFaces_GetWeight",2),n1=n._EPDFFontFaces_IsItalic=c("EPDFFontFaces_IsItalic",2),r1=n._EPDFFontFaces_CountPrograms=c("EPDFFontFaces_CountPrograms",2),i1=n._EPDFFontFaces_GetProgramObjNum=c("EPDFFontFaces_GetProgramObjNum",3),a1=n._EPDFFontFaces_GetProgramFormat=c("EPDFFontFaces_GetProgramFormat",3),o1=n._EPDFFontFaces_GetProgramEmbedded=c("EPDFFontFaces_GetProgramEmbedded",3),s1=n._EPDFFontFaces_GetProgramPostScriptName=c("EPDFFontFaces_GetProgramPostScriptName",5),A1=n._EPDFFontFaces_GetProgramEmbeddingPermission=c("EPDFFontFaces_GetProgramEmbeddingPermission",3),c1=n._EPDFFontFaces_ProgramMapsUnicode=c("EPDFFontFaces_ProgramMapsUnicode",3),d1=n._EPDFFontFaces_GetProgramHash=c("EPDFFontFaces_GetProgramHash",4),u1=n._EPDFFontFaces_GetProgramDisplayHash=c("EPDFFontFaces_GetProgramDisplayHash",4),p1=n._EPDFFontFaces_GetProgramMetrics=c("EPDFFontFaces_GetProgramMetrics",5),l1=n._EPDFDoc_GetFontProgramData=c("EPDFDoc_GetFontProgramData",4),m1=n._EPDFDoc_GetFontDisplayProgramData=c("EPDFDoc_GetFontDisplayProgramData",4),w1=n._EPDFDoc_GetFontDisplayProgramCoverage=c("EPDFDoc_GetFontDisplayProgramCoverage",4),b1=n._EPDFDoc_ResolveFonts=c("EPDFDoc_ResolveFonts",8),f1=n._EPDFFontResolution_Close=c("EPDFFontResolution_Close",1),g1=n._EPDFFontResolution_GetSource=c("EPDFFontResolution_GetSource",2),F1=n._EPDFFontResolution_GetRegisteredFont=c("EPDFFontResolution_GetRegisteredFont",2),v1=n._EPDFFontResolution_GetProgramObjNum=c("EPDFFontResolution_GetProgramObjNum",2),P1=n._EPDFFontResolution_GetProgramDisplayHash=c("EPDFFontResolution_GetProgramDisplayHash",3),h1=n._EPDFFontResolution_GetBaseFontName=c("EPDFFontResolution_GetBaseFontName",4),k1=n._EPDFFontResolution_GetFamily=c("EPDFFontResolution_GetFamily",4),D1=n._EPDFFontResolution_GetWeight=c("EPDFFontResolution_GetWeight",2),B1=n._EPDFFontResolution_IsItalic=c("EPDFFontResolution_IsItalic",2),E1=n._EPDFFontResolution_IsDegraded=c("EPDFFontResolution_IsDegraded",2),_1=n._EPDFFontResolution_GetFallbacks=c("EPDFFontResolution_GetFallbacks",4),y1=n._EPDFFontResolution_CountMissingCharacters=c("EPDFFontResolution_CountMissingCharacters",1),G1=n._EPDFFontResolution_GetMissingCharacter=c("EPDFFontResolution_GetMissingCharacter",4),C1=n._EPDFDoc_ClearMissingCharacters=c("EPDFDoc_ClearMissingCharacters",1),I1=n._EPDFDoc_CountMissingCharacters=c("EPDFDoc_CountMissingCharacters",1),S1=n._EPDFDoc_GetMissingCharacter=c("EPDFDoc_GetMissingCharacter",4),x1=n._EPDFForm_LoadModel=c("EPDFForm_LoadModel",1),H1=n._EPDFForm_CloseModel=c("EPDFForm_CloseModel",1),O1=n._EPDFForm_GetFormKind=c("EPDFForm_GetFormKind",1),Q1=n._EPDFForm_GetNeedAppearances=c("EPDFForm_GetNeedAppearances",1),R1=n._EPDFForm_CountFields=c("EPDFForm_CountFields",1),T1=n._EPDFForm_GetFieldActionModel=c("EPDFForm_GetFieldActionModel",3),M1=n._EPDFForm_CountCalculationOrder=c("EPDFForm_CountCalculationOrder",1),L1=n._EPDFForm_GetCalculationOrderFieldIndex=c("EPDFForm_GetCalculationOrderFieldIndex",2),N1=n._EPDFForm_GetFieldObjNum=c("EPDFForm_GetFieldObjNum",2),j1=n._EPDFForm_GetFieldFamily=c("EPDFForm_GetFieldFamily",2),K1=n._EPDFForm_GetFieldFlags=c("EPDFForm_GetFieldFlags",2),V1=n._EPDFForm_GetFieldOrigin=c("EPDFForm_GetFieldOrigin",2),Y1=n._EPDFForm_GetFieldName=c("EPDFForm_GetFieldName",4),X1=n._EPDFForm_GetFieldAlternateName=c("EPDFForm_GetFieldAlternateName",4),W1=n._EPDFForm_GetFieldMappingName=c("EPDFForm_GetFieldMappingName",4),U1=n._EPDFForm_HasFieldEmbedMetadata=c("EPDFForm_HasFieldEmbedMetadata",2),q1=n._EPDFForm_GetFieldEmbedMetadataString=c("EPDFForm_GetFieldEmbedMetadataString",5),z1=n._EPDFForm_GetFieldEmbedMetadataNumber=c("EPDFForm_GetFieldEmbedMetadataNumber",4),Z1=n._EPDFForm_GetFieldEmbedMetadataBoolean=c("EPDFForm_GetFieldEmbedMetadataBoolean",4),J1=n._EPDFForm_GetFieldEmbedMetadataJSON=c("EPDFForm_GetFieldEmbedMetadataJSON",4),$1=n._EPDFForm_GetFieldValueKind=c("EPDFForm_GetFieldValueKind",2),e5=n._EPDFForm_CountFieldValues=c("EPDFForm_CountFieldValues",2),t5=n._EPDFForm_GetFieldValueAt=c("EPDFForm_GetFieldValueAt",5),n5=n._EPDFForm_GetFieldDefaultValueKind=c("EPDFForm_GetFieldDefaultValueKind",2),r5=n._EPDFForm_CountFieldDefaultValues=c("EPDFForm_CountFieldDefaultValues",2),i5=n._EPDFForm_GetFieldDefaultValueAt=c("EPDFForm_GetFieldDefaultValueAt",5),a5=n._EPDFForm_GetFieldMaxLen=c("EPDFForm_GetFieldMaxLen",2),o5=n._EPDFForm_GetFieldTopIndex=c("EPDFForm_GetFieldTopIndex",2),s5=n._EPDFForm_CountFieldOptions=c("EPDFForm_CountFieldOptions",2),A5=n._EPDFForm_GetFieldOptionLabel=c("EPDFForm_GetFieldOptionLabel",5),c5=n._EPDFForm_GetFieldOptionValue=c("EPDFForm_GetFieldOptionValue",5),d5=n._EPDFForm_IsFieldOptionSelected=c("EPDFForm_IsFieldOptionSelected",3),u5=n._EPDFForm_CountFieldWidgets=c("EPDFForm_CountFieldWidgets",2),p5=n._EPDFForm_GetFieldWidgetObjNum=c("EPDFForm_GetFieldWidgetObjNum",3),l5=n._EPDFForm_GetFieldWidgetPageObjNum=c("EPDFForm_GetFieldWidgetPageObjNum",3),m5=n._EPDFForm_GetFieldWidgetRect=c("EPDFForm_GetFieldWidgetRect",4),w5=n._EPDFForm_GetFieldWidgetOnState=c("EPDFForm_GetFieldWidgetOnState",5),b5=n._EPDFForm_GetFieldWidgetExportValue=c("EPDFForm_GetFieldWidgetExportValue",5),f5=n._EPDFForm_IsFieldWidgetChecked=c("EPDFForm_IsFieldWidgetChecked",3),g5=n._EPDFForm_GetFieldIndexByObjNum=c("EPDFForm_GetFieldIndexByObjNum",2),F5=n._EPDFForm_GetFieldIndexForWidget=c("EPDFForm_GetFieldIndexForWidget",2),v5=n._EPDFForm_SetFieldValue=c("EPDFForm_SetFieldValue",5),P5=n._EPDFForm_SetFieldDefaultValue=c("EPDFForm_SetFieldDefaultValue",5),h5=n._EPDFForm_SetFieldSelectedIndices=c("EPDFForm_SetFieldSelectedIndices",4),k5=n._EPDFForm_SetFieldWidgetsChecked=c("EPDFForm_SetFieldWidgetsChecked",7),D5=n._EPDFForm_RedrawFieldWidgets=c("EPDFForm_RedrawFieldWidgets",5),B5=n._EPDFForm_SetFieldDisplay=c("EPDFForm_SetFieldDisplay",6),E5=n._EPDFForm_SetFieldAppearanceText=c("EPDFForm_SetFieldAppearanceText",6),_5=n._EPDFForm_ExportFDF=c("EPDFForm_ExportFDF",5),y5=n._EPDFForm_ExportXFDF=c("EPDFForm_ExportXFDF",5),G5=n._EPDFForm_Repair=c("EPDFForm_Repair",3),C5=n._EPDFForm_CreateField=c("EPDFForm_CreateField",4),I5=n._EPDFForm_AttachWidget=c("EPDFForm_AttachWidget",5),S5=n._EPDFForm_DetachWidget=c("EPDFForm_DetachWidget",3),x5=n._EPDFForm_DeleteField=c("EPDFForm_DeleteField",5),H5=n._EPDFForm_SetFieldName=c("EPDFForm_SetFieldName",3),O5=n._EPDFForm_GetFieldPartialName=c("EPDFForm_GetFieldPartialName",4),Q5=n._EPDFForm_SetFieldFlags=c("EPDFForm_SetFieldFlags",4),R5=n._EPDFForm_SetFieldEventAction=c("EPDFForm_SetFieldEventAction",4),T5=n._EPDFForm_SetCalculationOrder=c("EPDFForm_SetCalculationOrder",3),M5=n._EPDFForm_SetFieldMaxLen=c("EPDFForm_SetFieldMaxLen",3),L5=n._EPDFForm_SetFieldAlternateName=c("EPDFForm_SetFieldAlternateName",3),N5=n._EPDFForm_SetFieldMappingName=c("EPDFForm_SetFieldMappingName",3),j5=n._EPDFForm_SetFieldEmbedMetadataString=c("EPDFForm_SetFieldEmbedMetadataString",4),K5=n._EPDFForm_SetFieldEmbedMetadataNumber=c("EPDFForm_SetFieldEmbedMetadataNumber",4),V5=n._EPDFForm_SetFieldEmbedMetadataBoolean=c("EPDFForm_SetFieldEmbedMetadataBoolean",4),Y5=n._EPDFForm_SetFieldEmbedMetadataJSON=c("EPDFForm_SetFieldEmbedMetadataJSON",3),X5=n._EPDFForm_ClearFieldEmbedMetadataKey=c("EPDFForm_ClearFieldEmbedMetadataKey",3),W5=n._EPDFForm_ClearFieldEmbedMetadata=c("EPDFForm_ClearFieldEmbedMetadata",2),U5=n._EPDFForm_SetFieldOptions=c("EPDFForm_SetFieldOptions",5),q5=n._EPDFPage_Flatten=c("EPDFPage_Flatten",2),z5=n._EPDFPage_FlattenAnnotations=c("EPDFPage_FlattenAnnotations",5),Z5=n._EPDFPage_ExportAnnotationsAsDocument=c("EPDFPage_ExportAnnotationsAsDocument",3),J5=n._EPDFDoc_ExportPagesFlattened=c("EPDFDoc_ExportPagesFlattened",5),$5=n._EPDFLayer_OpenLayer=c("EPDFLayer_OpenLayer",4),eK=n._EPDFLayer_OpenLayerArtifact=c("EPDFLayer_OpenLayerArtifact",4),tK=n._EPDFLayer_OpenLayerArtifactFromPath=c("EPDFLayer_OpenLayerArtifactFromPath",4),nK=n._EPDFLayer_IsObjectPromoted=c("EPDFLayer_IsObjectPromoted",2),rK=n._EPDFPage_IsValid=c("EPDFPage_IsValid",1),iK=n._EPDFLayer_IsPagePromoted=c("EPDFLayer_IsPagePromoted",2),aK=n._EPDFLayer_GetBirthObjectNumber=c("EPDFLayer_GetBirthObjectNumber",3),oK=n._EPDFLayer_GetBirthName=c("EPDFLayer_GetBirthName",4),sK=n._EPDFLayer_BeginTransaction=c("EPDFLayer_BeginTransaction",1),AK=n._EPDFLayer_CommitTransaction=c("EPDFLayer_CommitTransaction",1),cK=n._EPDFLayer_AbortTransaction=c("EPDFLayer_AbortTransaction",1),dK=n._EPDFLayer_IsInTransaction=c("EPDFLayer_IsInTransaction",1),uK=n._EPDFLayer_GetLastObjectNumber=c("EPDFLayer_GetLastObjectNumber",1),pK=n._EPDFLayer_RaiseLastObjectNumber=c("EPDFLayer_RaiseLastObjectNumber",2),lK=n._EPDFLayer_GetPromotedObjectCount=c("EPDFLayer_GetPromotedObjectCount",1),mK=n._EPDFLayer_GetBaseDocument=c("EPDFLayer_GetBaseDocument",1),wK=n._EPDF_SetBaseDocumentSha256=c("EPDF_SetBaseDocumentSha256",2),bK=n._EPDFLayer_GetBaseSha256=c("EPDFLayer_GetBaseSha256",2),fK=n._EPDFLayer_SaveDelta=c("EPDFLayer_SaveDelta",3),gK=n._EPDFLayer_SaveDeltaEx=c("EPDFLayer_SaveDeltaEx",4),FK=n._EPDFLayer_SaveDeltaToOwnedBuffer=c("EPDFLayer_SaveDeltaToOwnedBuffer",3),vK=n._EPDFLayer_SaveDeltaToOwnedBufferEx=c("EPDFLayer_SaveDeltaToOwnedBufferEx",4),PK=n._EPDFLayer_SaveLayerArtifact=c("EPDFLayer_SaveLayerArtifact",3),hK=n._EPDFLayer_SaveLayerArtifactEx=c("EPDFLayer_SaveLayerArtifactEx",4),kK=n._EPDFLayer_SaveLayerArtifactToOwnedBuffer=c("EPDFLayer_SaveLayerArtifactToOwnedBuffer",3),DK=n._EPDFLayer_SaveLayerArtifactToOwnedBufferEx=c("EPDFLayer_SaveLayerArtifactToOwnedBufferEx",4),BK=n._EPDFNamedDest_SetDest=c("EPDFNamedDest_SetDest",3),EK=n._EPDFNamedDest_Remove=c("EPDFNamedDest_Remove",2),_K=n._EPDFDest_CreateView=c("EPDFDest_CreateView",4),yK=n._EPDFDest_CreateXYZ=c("EPDFDest_CreateXYZ",7),GK=n._EPDFDest_CreateRemoteView=c("EPDFDest_CreateRemoteView",5),CK=n._EPDFDest_CreateRemoteXYZ=c("EPDFDest_CreateRemoteXYZ",8),IK=n._EPDFDest_CreateXYZByObjectNumber=c("EPDFDest_CreateXYZByObjectNumber",8),SK=n._EPDFDest_CreateViewByObjectNumber=c("EPDFDest_CreateViewByObjectNumber",5),xK=n._EPDFDest_GetViewNullParams=c("EPDFDest_GetViewNullParams",1),HK=n._EPDFAction_CreateGoTo=c("EPDFAction_CreateGoTo",2),OK=n._EPDFAction_CreateGoToNamed=c("EPDFAction_CreateGoToNamed",2),QK=n._EPDFAction_CreateLaunch=c("EPDFAction_CreateLaunch",2),RK=n._EPDFAction_CreateRemoteGoToByName=c("EPDFAction_CreateRemoteGoToByName",3),TK=n._EPDFAction_CreateRemoteGoToDest=c("EPDFAction_CreateRemoteGoToDest",3),MK=n._EPDFAction_CreateURI=c("EPDFAction_CreateURI",2),LK=n._EPDFAction_CreateNamed=c("EPDFAction_CreateNamed",2),NK=n._EPDFOutline_GetObjectNumber=c("EPDFOutline_GetObjectNumber",1),jK=n._EPDFOutline_GetItem=c("EPDFOutline_GetItem",2),KK=n._EPDFOutline_CreateItem=c("EPDFOutline_CreateItem",5),VK=n._EPDFOutline_MoveItem=c("EPDFOutline_MoveItem",4),YK=n._EPDFOutline_DeleteItem=c("EPDFOutline_DeleteItem",2),XK=n._EPDFOutline_SetTitle=c("EPDFOutline_SetTitle",3),WK=n._EPDFOutline_SetOpen=c("EPDFOutline_SetOpen",3),UK=n._EPDFOutline_SetColor=c("EPDFOutline_SetColor",6),qK=n._EPDFOutline_SetStyle=c("EPDFOutline_SetStyle",3),zK=n._EPDFOutline_SetAction=c("EPDFOutline_SetAction",3),ZK=n._EPDFDoc_GetNamedPageCount=c("EPDFDoc_GetNamedPageCount",2),JK=n._EPDFDoc_GetNamedPageAt=c("EPDFDoc_GetNamedPageAt",7),$K=n._EPDFDoc_SetNamedPage=c("EPDFDoc_SetNamedPage",3),eV=n._EPDFDoc_RemoveNamedPage=c("EPDFDoc_RemoveNamedPage",2),tV=n._EPDFDoc_RemoveNamedPagesForPage=c("EPDFDoc_RemoveNamedPagesForPage",2),nV=n._EPDFDoc_GetPageLabelSectionCount=c("EPDFDoc_GetPageLabelSectionCount",1),rV=n._EPDFDoc_GetPageLabelSectionAt=c("EPDFDoc_GetPageLabelSectionAt",7),iV=n._EPDFDoc_SetPageLabelSections=c("EPDFDoc_SetPageLabelSections",6),aV=n._EPDF_DigestBuffer=c("EPDF_DigestBuffer",5),oV=n._EPDFDoc_GetRevisionCount=c("EPDFDoc_GetRevisionCount",1),sV=n._EPDFDoc_GetRevision=c("EPDFDoc_GetRevision",4),AV=n._EPDFDoc_OpenRevision=c("EPDFDoc_OpenRevision",3),cV=n._EPDFDoc_OpenBaseOverlayFromPath=c("EPDFDoc_OpenBaseOverlayFromPath",2),dV=n._EPDFDoc_OpenBaseOverlay=c("EPDFDoc_OpenBaseOverlay",3),uV=n._EPDFSig_LoadModel=c("EPDFSig_LoadModel",1),pV=n._EPDFSig_CloseModel=c("EPDFSig_CloseModel",1),lV=n._EPDFSig_Count=c("EPDFSig_Count",1),mV=n._EPDFSig_IsRevisionChainValid=c("EPDFSig_IsRevisionChainValid",1),wV=n._EPDFSig_GetIndexByFieldObjNum=c("EPDFSig_GetIndexByFieldObjNum",2),bV=n._EPDFSig_GetFieldObjNum=c("EPDFSig_GetFieldObjNum",2),fV=n._EPDFSig_GetWidgetObjNum=c("EPDFSig_GetWidgetObjNum",2),gV=n._EPDFSig_GetWidgetPageObjNum=c("EPDFSig_GetWidgetPageObjNum",2),FV=n._EPDFSig_GetValueObjNum=c("EPDFSig_GetValueObjNum",2),vV=n._EPDFSig_GetFieldName=c("EPDFSig_GetFieldName",4),PV=n._EPDFSig_IsSigned=c("EPDFSig_IsSigned",2),hV=n._EPDFSig_GetKind=c("EPDFSig_GetKind",2),kV=n._EPDFSig_GetByteRange=c("EPDFSig_GetByteRange",3),DV=n._EPDFSig_GetCoverage=c("EPDFSig_GetCoverage",2),BV=n._EPDFSig_GetRevisionIndex=c("EPDFSig_GetRevisionIndex",2),EV=n._EPDFSig_GetContents=c("EPDFSig_GetContents",4),_V=n._EPDFSig_GetString=c("EPDFSig_GetString",5),yV=n._EPDFSig_GetDocMDPPermission=c("EPDFSig_GetDocMDPPermission",2),GV=n._EPDFSig_IsCatalogCertification=c("EPDFSig_IsCatalogCertification",2),CV=n._EPDFSig_GetFieldMDPAction=c("EPDFSig_GetFieldMDPAction",2),IV=n._EPDFSig_GetLockAction=c("EPDFSig_GetLockAction",2),SV=n._EPDFSig_GetLockPermission=c("EPDFSig_GetLockPermission",2),xV=n._EPDFSig_GetFieldNameCount=c("EPDFSig_GetFieldNameCount",3),HV=n._EPDFSig_GetFieldNameAt=c("EPDFSig_GetFieldNameAt",6),OV=n._EPDFSig_HasSeedValue=c("EPDFSig_HasSeedValue",2),QV=n._EPDFSig_GetSeedValueRequiredFlags=c("EPDFSig_GetSeedValueRequiredFlags",2),RV=n._EPDFSig_GetSeedValuePresentFlags=c("EPDFSig_GetSeedValuePresentFlags",2),TV=n._EPDFSig_GetSeedValueMDP=c("EPDFSig_GetSeedValueMDP",2),MV=n._EPDFSig_GetSeedValueVersion=c("EPDFSig_GetSeedValueVersion",2),LV=n._EPDFSig_GetSeedValueFilter=c("EPDFSig_GetSeedValueFilter",4),NV=n._EPDFSig_GetSeedValueListCount=c("EPDFSig_GetSeedValueListCount",3),jV=n._EPDFSig_GetSeedValueListAt=c("EPDFSig_GetSeedValueListAt",6),KV=n._EPDFSig_DigestByteRange=c("EPDFSig_DigestByteRange",5),VV=n._EPDFSig_DigestFileRange=c("EPDFSig_DigestFileRange",5),YV=n._EPDFDoc_GetLoadedBytesSize=c("EPDFDoc_GetLoadedBytesSize",1),XV=n._EPDFDoc_GetBaseBytesSize=c("EPDFDoc_GetBaseBytesSize",1),WV=n._EPDFDoc_GetStructureObjectNumbers=c("EPDFDoc_GetStructureObjectNumbers",4),UV=n._EPDFDoc_ReadLoadedBytes=c("EPDFDoc_ReadLoadedBytes",5),qV=n._EPDFSig_Prepare=c("EPDFSig_Prepare",3),zV=n._EPDFSig_SetFieldLock=c("EPDFSig_SetFieldLock",6),ZV=n._EPDFSig_SaveCandidateToOwnedBuffer=c("EPDFSig_SaveCandidateToOwnedBuffer",5),JV=n._EPDFSig_SaveCandidate=c("EPDFSig_SaveCandidate",6),$V=n._EPDFSig_Seal=c("EPDFSig_Seal",13),eY=n._EPDFSig_SealSpan=c("EPDFSig_SealSpan",10),tY=n._EPDFSig_WriteContents=c("EPDFSig_WriteContents",9),nY=n._EPDFDoc_CompareRevisions=c("EPDFDoc_CompareRevisions",2),rY=n._EPDFObjectDiff_Close=c("EPDFObjectDiff_Close",1),iY=n._EPDFObjectDiff_GetCount=c("EPDFObjectDiff_GetCount",1),aY=n._EPDFObjectDiff_GetEntry=c("EPDFObjectDiff_GetEntry",8),oY=n._EPDFObjectDiff_GetValue=c("EPDFObjectDiff_GetValue",6),sY=n._EPDFObjectDiff_GetReadStatus=c("EPDFObjectDiff_GetReadStatus",3),AY=n._EPDFObjectDiff_GetRevisionHealth=c("EPDFObjectDiff_GetRevisionHealth",5),cY=n._EPDFObjectDiff_GetReferrerCount=c("EPDFObjectDiff_GetReferrerCount",3),dY=n._EPDFObjectDiff_GetReferrer=c("EPDFObjectDiff_GetReferrer",7),uY=n._EPDFDoc_HasPieceInfoEntry=c("EPDFDoc_HasPieceInfoEntry",2),pY=n._EPDFDoc_GetPieceInfoEntryCount=c("EPDFDoc_GetPieceInfoEntryCount",1),lY=n._EPDFDoc_GetPieceInfoEntryAt=c("EPDFDoc_GetPieceInfoEntryAt",4),mY=n._EPDFDoc_GetLastModified=c("EPDFDoc_GetLastModified",3),wY=n._EPDFDoc_GetPieceInfoLastModified=c("EPDFDoc_GetPieceInfoLastModified",4),bY=n._EPDFDoc_GetPieceInfoKeyCount=c("EPDFDoc_GetPieceInfoKeyCount",2),fY=n._EPDFDoc_GetPieceInfoKeyAt=c("EPDFDoc_GetPieceInfoKeyAt",5),gY=n._EPDFDoc_GetPieceInfoValueType=c("EPDFDoc_GetPieceInfoValueType",3),FY=n._EPDFDoc_SetPieceInfoString=c("EPDFDoc_SetPieceInfoString",5),vY=n._EPDFDoc_GetPieceInfoString=c("EPDFDoc_GetPieceInfoString",5),PY=n._EPDFDoc_SetPieceInfoNumber=c("EPDFDoc_SetPieceInfoNumber",5),hY=n._EPDFDoc_GetPieceInfoNumber=c("EPDFDoc_GetPieceInfoNumber",4),kY=n._EPDFDoc_SetPieceInfoBoolean=c("EPDFDoc_SetPieceInfoBoolean",5),DY=n._EPDFDoc_GetPieceInfoBoolean=c("EPDFDoc_GetPieceInfoBoolean",4),BY=n._EPDFDoc_SetPieceInfoName=c("EPDFDoc_SetPieceInfoName",5),EY=n._EPDFDoc_GetPieceInfoName=c("EPDFDoc_GetPieceInfoName",5),_Y=n._EPDFDoc_SetPieceInfoStringArray=c("EPDFDoc_SetPieceInfoStringArray",6),yY=n._EPDFDoc_GetPieceInfoStringArrayCount=c("EPDFDoc_GetPieceInfoStringArrayCount",3),GY=n._EPDFDoc_GetPieceInfoStringArrayAt=c("EPDFDoc_GetPieceInfoStringArrayAt",6),CY=n._EPDFDoc_ClearPieceInfoKey=c("EPDFDoc_ClearPieceInfoKey",4),IY=n._EPDFDoc_ClearPieceInfoEntry=c("EPDFDoc_ClearPieceInfoEntry",2),SY=n._EPDFDoc_HasPagePieceInfoEntry=c("EPDFDoc_HasPagePieceInfoEntry",3),xY=n._EPDFDoc_GetPagePieceInfoEntryCount=c("EPDFDoc_GetPagePieceInfoEntryCount",2),HY=n._EPDFDoc_GetPagePieceInfoEntryAt=c("EPDFDoc_GetPagePieceInfoEntryAt",5),OY=n._EPDFDoc_GetPageLastModified=c("EPDFDoc_GetPageLastModified",4),QY=n._EPDFDoc_GetPagePieceInfoLastModified=c("EPDFDoc_GetPagePieceInfoLastModified",5),RY=n._EPDFDoc_GetPagePieceInfoKeyCount=c("EPDFDoc_GetPagePieceInfoKeyCount",3),TY=n._EPDFDoc_GetPagePieceInfoKeyAt=c("EPDFDoc_GetPagePieceInfoKeyAt",6),MY=n._EPDFDoc_GetPagePieceInfoValueType=c("EPDFDoc_GetPagePieceInfoValueType",4),LY=n._EPDFDoc_SetPagePieceInfoString=c("EPDFDoc_SetPagePieceInfoString",6),NY=n._EPDFDoc_GetPagePieceInfoString=c("EPDFDoc_GetPagePieceInfoString",6),jY=n._EPDFDoc_SetPagePieceInfoNumber=c("EPDFDoc_SetPagePieceInfoNumber",6),KY=n._EPDFDoc_GetPagePieceInfoNumber=c("EPDFDoc_GetPagePieceInfoNumber",5),VY=n._EPDFDoc_SetPagePieceInfoBoolean=c("EPDFDoc_SetPagePieceInfoBoolean",6),YY=n._EPDFDoc_GetPagePieceInfoBoolean=c("EPDFDoc_GetPagePieceInfoBoolean",5),XY=n._EPDFDoc_SetPagePieceInfoName=c("EPDFDoc_SetPagePieceInfoName",6),WY=n._EPDFDoc_GetPagePieceInfoName=c("EPDFDoc_GetPagePieceInfoName",6),UY=n._EPDFDoc_SetPagePieceInfoStringArray=c("EPDFDoc_SetPagePieceInfoStringArray",7),qY=n._EPDFDoc_GetPagePieceInfoStringArrayCount=c("EPDFDoc_GetPagePieceInfoStringArrayCount",4),zY=n._EPDFDoc_GetPagePieceInfoStringArrayAt=c("EPDFDoc_GetPagePieceInfoStringArrayAt",7),ZY=n._EPDFDoc_ClearPagePieceInfoKey=c("EPDFDoc_ClearPagePieceInfoKey",5),JY=n._EPDFDoc_ClearPagePieceInfoEntry=c("EPDFDoc_ClearPagePieceInfoEntry",3),$Y=n._EPDFAnnot_GetMeasure=c("EPDFAnnot_GetMeasure",1),e8=n._EPDFAnnot_AddMeasure=c("EPDFAnnot_AddMeasure",1),t8=n._EPDFAnnot_RemoveMeasure=c("EPDFAnnot_RemoveMeasure",1),n8=n._EPDFPage_CountViewports=c("EPDFPage_CountViewports",1),r8=n._EPDFPage_GetViewport=c("EPDFPage_GetViewport",2),i8=n._EPDFPage_AddViewport=c("EPDFPage_AddViewport",2),a8=n._EPDFPage_RemoveViewport=c("EPDFPage_RemoveViewport",2),o8=n._EPDFPage_CountViewportsRaw=c("EPDFPage_CountViewportsRaw",2),s8=n._EPDFPage_GetViewportRaw=c("EPDFPage_GetViewportRaw",3),A8=n._EPDFPage_AddViewportRaw=c("EPDFPage_AddViewportRaw",3),c8=n._EPDFPage_RemoveViewportRaw=c("EPDFPage_RemoveViewportRaw",3),d8=n._EPDFViewport_Close=c("EPDFViewport_Close",1),u8=n._EPDFPage_FindViewport=c("EPDFPage_FindViewport",2),p8=n._EPDFViewport_GetBBox=c("EPDFViewport_GetBBox",2),l8=n._EPDFViewport_SetBBox=c("EPDFViewport_SetBBox",2),m8=n._EPDFViewport_GetMeasure=c("EPDFViewport_GetMeasure",1),w8=n._EPDFViewport_AddMeasure=c("EPDFViewport_AddMeasure",1),b8=n._EPDFViewport_RemoveMeasure=c("EPDFViewport_RemoveMeasure",1),f8=n._EPDFMeasure_GetSubtype=c("EPDFMeasure_GetSubtype",1),g8=n._EPDFMeasure_GetOrigin=c("EPDFMeasure_GetOrigin",2),F8=n._EPDFMeasure_SetOrigin=c("EPDFMeasure_SetOrigin",2),v8=n._EPDFMeasure_GetCYX=c("EPDFMeasure_GetCYX",2),P8=n._EPDFMeasure_SetCYX=c("EPDFMeasure_SetCYX",2),h8=n._EPDFMeasure_CountFormats=c("EPDFMeasure_CountFormats",2),k8=n._EPDFMeasure_GetFormat=c("EPDFMeasure_GetFormat",3),D8=n._EPDFMeasure_AddFormat=c("EPDFMeasure_AddFormat",4),B8=n._EPDFMeasure_RemoveFormats=c("EPDFMeasure_RemoveFormats",2),E8=n._EPDFViewport_GetName=c("EPDFViewport_GetName",3),_8=n._EPDFViewport_SetName=c("EPDFViewport_SetName",2),y8=n._EPDFMeasure_GetRatio=c("EPDFMeasure_GetRatio",3),G8=n._EPDFMeasure_SetRatio=c("EPDFMeasure_SetRatio",2),C8=n._EPDFNumberFormat_GetUnit=c("EPDFNumberFormat_GetUnit",3),I8=n._EPDFNumberFormat_SetUnit=c("EPDFNumberFormat_SetUnit",2),S8=n._EPDFNumberFormat_GetConversion=c("EPDFNumberFormat_GetConversion",2),x8=n._EPDFNumberFormat_SetConversion=c("EPDFNumberFormat_SetConversion",2),H8=n._EPDFNumberFormat_GetPrecision=c("EPDFNumberFormat_GetPrecision",2),O8=n._EPDFNumberFormat_SetPrecision=c("EPDFNumberFormat_SetPrecision",2),Q8=n._EPDFNumberFormat_GetFixedDenominator=c("EPDFNumberFormat_GetFixedDenominator",2),R8=n._EPDFNumberFormat_SetFixedDenominator=c("EPDFNumberFormat_SetFixedDenominator",2),T8=n._EPDFNumberFormat_GetText=c("EPDFNumberFormat_GetText",4),M8=n._EPDFNumberFormat_SetText=c("EPDFNumberFormat_SetText",3),L8=n._EPDFNumberFormat_GetFraction=c("EPDFNumberFormat_GetFraction",2),N8=n._EPDFNumberFormat_SetFraction=c("EPDFNumberFormat_SetFraction",2),j8=n._EPDFNumberFormat_GetLabelPosition=c("EPDFNumberFormat_GetLabelPosition",2),K8=n._EPDFNumberFormat_SetLabelPosition=c("EPDFNumberFormat_SetLabelPosition",2),V8=n._EPDFAnnot_SetLineLeader=c("EPDFAnnot_SetLineLeader",4),Y8=n._EPDFAnnot_GetLineLeader=c("EPDFAnnot_GetLineLeader",4),X8=n._EPDFAnnot_SetLineCaption=c("EPDFAnnot_SetLineCaption",4),W8=n._EPDFAnnot_GetLineCaption=c("EPDFAnnot_GetLineCaption",4),U8=n._EPDFAnnot_SetShapeCaption=c("EPDFAnnot_SetShapeCaption",3),q8=n._EPDFAnnot_GetShapeCaption=c("EPDFAnnot_GetShapeCaption",4),z8=n._EPDFPage_GetParsedSize=c("EPDFPage_GetParsedSize",2),Z8=n._EPDFPage_IsContentCurrent=c("EPDFPage_IsContentCurrent",1),J8=n._EPDF_PNG_EncodeRGBA=c("EPDF_PNG_EncodeRGBA",6),$8=n._EPDFDoc_ImportPages=c("EPDFDoc_ImportPages",6),eX=n._EPDFDoc_GetImportFieldRoots=c("EPDFDoc_GetImportFieldRoots",5),tX=n._EPDFPage_ApplyRedactions=c("EPDFPage_ApplyRedactions",4),nX=n._EPDF_InitThread=c("EPDF_InitThread",0),rX=n._EPDF_ShutdownThread=c("EPDF_ShutdownThread",0),iX=n._FPDFAnnot_IsSupportedSubtype=c("FPDFAnnot_IsSupportedSubtype",1),aX=n._FPDFPage_CreateAnnot=c("FPDFPage_CreateAnnot",2),oX=n._FPDFPage_GetAnnotCount=c("FPDFPage_GetAnnotCount",1),sX=n._FPDFPage_GetAnnot=c("FPDFPage_GetAnnot",2),AX=n._FPDFPage_GetAnnotIndex=c("FPDFPage_GetAnnotIndex",2),cX=n._FPDFPage_CloseAnnot=c("FPDFPage_CloseAnnot",1),dX=n._FPDFPage_RemoveAnnot=c("FPDFPage_RemoveAnnot",2),uX=n._FPDFAnnot_GetSubtype=c("FPDFAnnot_GetSubtype",1),pX=n._FPDFAnnot_IsObjectSupportedSubtype=c("FPDFAnnot_IsObjectSupportedSubtype",1),lX=n._FPDFAnnot_UpdateObject=c("FPDFAnnot_UpdateObject",2),mX=n._FPDFAnnot_AddInkStroke=c("FPDFAnnot_AddInkStroke",3),wX=n._FPDFAnnot_RemoveInkList=c("FPDFAnnot_RemoveInkList",1),bX=n._FPDFAnnot_AppendObject=c("FPDFAnnot_AppendObject",2),fX=n._FPDFAnnot_GetObjectCount=c("FPDFAnnot_GetObjectCount",1),gX=n._FPDFAnnot_GetObject=c("FPDFAnnot_GetObject",2),FX=n._FPDFAnnot_RemoveObject=c("FPDFAnnot_RemoveObject",2),vX=n._FPDFAnnot_SetColor=c("FPDFAnnot_SetColor",6),PX=n._FPDFAnnot_GetColor=c("FPDFAnnot_GetColor",6),hX=n._FPDFAnnot_HasAttachmentPoints=c("FPDFAnnot_HasAttachmentPoints",1),kX=n._FPDFAnnot_SetAttachmentPoints=c("FPDFAnnot_SetAttachmentPoints",3),DX=n._FPDFAnnot_AppendAttachmentPoints=c("FPDFAnnot_AppendAttachmentPoints",2),BX=n._FPDFAnnot_CountAttachmentPoints=c("FPDFAnnot_CountAttachmentPoints",1),EX=n._FPDFAnnot_GetAttachmentPoints=c("FPDFAnnot_GetAttachmentPoints",3),_X=n._FPDFAnnot_SetRect=c("FPDFAnnot_SetRect",2),yX=n._FPDFAnnot_GetRect=c("FPDFAnnot_GetRect",2),GX=n._FPDFAnnot_GetVertices=c("FPDFAnnot_GetVertices",3),CX=n._FPDFAnnot_GetInkListCount=c("FPDFAnnot_GetInkListCount",1),IX=n._FPDFAnnot_GetInkListPath=c("FPDFAnnot_GetInkListPath",4),SX=n._FPDFAnnot_GetLine=c("FPDFAnnot_GetLine",3),xX=n._FPDFAnnot_SetBorder=c("FPDFAnnot_SetBorder",4),HX=n._FPDFAnnot_GetBorder=c("FPDFAnnot_GetBorder",4),OX=n._FPDFAnnot_HasKey=c("FPDFAnnot_HasKey",2),QX=n._FPDFAnnot_GetValueType=c("FPDFAnnot_GetValueType",2),RX=n._FPDFAnnot_SetStringValue=c("FPDFAnnot_SetStringValue",3),TX=n._FPDFAnnot_GetStringValue=c("FPDFAnnot_GetStringValue",4),MX=n._FPDFAnnot_GetNumberValue=c("FPDFAnnot_GetNumberValue",3),LX=n._FPDFAnnot_SetAP=c("FPDFAnnot_SetAP",3),NX=n._FPDFAnnot_GetAP=c("FPDFAnnot_GetAP",4),jX=n._FPDFAnnot_GetLinkedAnnot=c("FPDFAnnot_GetLinkedAnnot",2),KX=n._FPDFAnnot_GetFlags=c("FPDFAnnot_GetFlags",1),VX=n._FPDFAnnot_SetFlags=c("FPDFAnnot_SetFlags",2),YX=n._FPDFAnnot_GetFormFieldFlags=c("FPDFAnnot_GetFormFieldFlags",2),XX=n._FPDFAnnot_SetFormFieldFlags=c("FPDFAnnot_SetFormFieldFlags",3),WX=n._FPDFAnnot_GetFormFieldAtPoint=c("FPDFAnnot_GetFormFieldAtPoint",3),UX=n._FPDFAnnot_GetFormFieldName=c("FPDFAnnot_GetFormFieldName",4),qX=n._FPDFAnnot_GetFormFieldType=c("FPDFAnnot_GetFormFieldType",2),zX=n._FPDFAnnot_GetFormAdditionalActionJavaScript=c("FPDFAnnot_GetFormAdditionalActionJavaScript",5),ZX=n._FPDFAnnot_GetFormFieldAlternateName=c("FPDFAnnot_GetFormFieldAlternateName",4),JX=n._FPDFAnnot_GetFormFieldValue=c("FPDFAnnot_GetFormFieldValue",4),$X=n._FPDFAnnot_GetOptionCount=c("FPDFAnnot_GetOptionCount",2),eW=n._FPDFAnnot_GetOptionLabel=c("FPDFAnnot_GetOptionLabel",5),tW=n._FPDFAnnot_IsOptionSelected=c("FPDFAnnot_IsOptionSelected",3),nW=n._FPDFAnnot_GetFontSize=c("FPDFAnnot_GetFontSize",3),rW=n._FPDFAnnot_SetFontColor=c("FPDFAnnot_SetFontColor",5),iW=n._FPDFAnnot_GetFontColor=c("FPDFAnnot_GetFontColor",5),aW=n._FPDFAnnot_IsChecked=c("FPDFAnnot_IsChecked",2),oW=n._FPDFAnnot_SetFocusableSubtypes=c("FPDFAnnot_SetFocusableSubtypes",3),sW=n._FPDFAnnot_GetFocusableSubtypesCount=c("FPDFAnnot_GetFocusableSubtypesCount",1),AW=n._FPDFAnnot_GetFocusableSubtypes=c("FPDFAnnot_GetFocusableSubtypes",3),cW=n._FPDFAnnot_GetLink=c("FPDFAnnot_GetLink",1),dW=n._FPDFAnnot_GetFormControlCount=c("FPDFAnnot_GetFormControlCount",2),uW=n._FPDFAnnot_GetFormControlIndex=c("FPDFAnnot_GetFormControlIndex",2),pW=n._FPDFAnnot_GetFormFieldExportValue=c("FPDFAnnot_GetFormFieldExportValue",4),lW=n._FPDFAnnot_SetURI=c("FPDFAnnot_SetURI",2),mW=n._FPDFAnnot_GetFileAttachment=c("FPDFAnnot_GetFileAttachment",1),wW=n._FPDFAnnot_AddFileAttachment=c("FPDFAnnot_AddFileAttachment",2),bW=n._FPDFDoc_GetAttachmentCount=c("FPDFDoc_GetAttachmentCount",1),fW=n._FPDFDoc_AddAttachment=c("FPDFDoc_AddAttachment",2),gW=n._FPDFDoc_GetAttachment=c("FPDFDoc_GetAttachment",2),FW=n._EPDFDoc_GetAttachmentKey=c("EPDFDoc_GetAttachmentKey",4),vW=n._EPDFDoc_GetAttachmentIndexByKey=c("EPDFDoc_GetAttachmentIndexByKey",2),PW=n._FPDFDoc_DeleteAttachment=c("FPDFDoc_DeleteAttachment",2),hW=n._FPDFAttachment_GetName=c("FPDFAttachment_GetName",3),kW=n._FPDFAttachment_HasKey=c("FPDFAttachment_HasKey",2),DW=n._FPDFAttachment_GetValueType=c("FPDFAttachment_GetValueType",2),BW=n._FPDFAttachment_SetStringValue=c("FPDFAttachment_SetStringValue",3),EW=n._FPDFAttachment_GetStringValue=c("FPDFAttachment_GetStringValue",4),_W=n._FPDFAttachment_SetDescription=c("FPDFAttachment_SetDescription",2),yW=n._FPDFAttachment_GetDescription=c("FPDFAttachment_GetDescription",3),GW=n._FPDFAttachment_SetFile=c("FPDFAttachment_SetFile",4),CW=n._FPDFAttachment_GetFile=c("FPDFAttachment_GetFile",4),IW=n._FPDFAttachment_GetSubtype=c("FPDFAttachment_GetSubtype",3),SW=n._FPDFAttachment_GetAFRelationship=c("FPDFAttachment_GetAFRelationship",3),xW=n._EPDFAttachment_SetSubtype=c("EPDFAttachment_SetSubtype",2),HW=n._EPDFAttachment_SetDescription=c("EPDFAttachment_SetDescription",2),OW=n._EPDFAttachment_SetName=c("EPDFAttachment_SetName",2),QW=n._EPDFAttachment_GetDescription=c("EPDFAttachment_GetDescription",3),RW=n._EPDFAttachment_GetIntegerValue=c("EPDFAttachment_GetIntegerValue",3),TW=n._EPDFAttachment_ExtractFile=c("EPDFAttachment_ExtractFile",6),MW=n._EPDFAttachment_ExtractFileToOwnedBuffer=c("EPDFAttachment_ExtractFileToOwnedBuffer",6),LW=n._FPDFCatalog_IsTagged=c("FPDFCatalog_IsTagged",1),NW=n._FPDFCatalog_GetLanguage=c("FPDFCatalog_GetLanguage",3),jW=n._FPDFCatalog_SetLanguage=c("FPDFCatalog_SetLanguage",2),KW=n._EPDFCatalog_GetLanguage=c("EPDFCatalog_GetLanguage",3),VW=n._FPDFAvail_Create=c("FPDFAvail_Create",2),YW=n._FPDFAvail_Destroy=c("FPDFAvail_Destroy",1),XW=n._FPDFAvail_IsDocAvail=c("FPDFAvail_IsDocAvail",2),WW=n._FPDFAvail_GetDocument=c("FPDFAvail_GetDocument",2),UW=n._FPDFAvail_GetFirstPageNum=c("FPDFAvail_GetFirstPageNum",1),qW=n._FPDFAvail_IsPageAvail=c("FPDFAvail_IsPageAvail",3),zW=n._FPDFAvail_IsFormAvail=c("FPDFAvail_IsFormAvail",2),ZW=n._FPDFAvail_IsLinearized=c("FPDFAvail_IsLinearized",1),JW=n._FPDFBookmark_GetFirstChild=c("FPDFBookmark_GetFirstChild",2),$W=n._FPDFBookmark_GetNextSibling=c("FPDFBookmark_GetNextSibling",2),eU=n._FPDFBookmark_GetTitle=c("FPDFBookmark_GetTitle",3),tU=n._FPDFBookmark_GetCount=c("FPDFBookmark_GetCount",1),nU=n._FPDFBookmark_Find=c("FPDFBookmark_Find",2),rU=n._FPDFBookmark_GetDest=c("FPDFBookmark_GetDest",2),iU=n._FPDFBookmark_GetAction=c("FPDFBookmark_GetAction",1),aU=n._FPDFBookmark_GetColor=c("FPDFBookmark_GetColor",4),oU=n._FPDFBookmark_GetStyle=c("FPDFBookmark_GetStyle",1),sU=n._FPDFAction_GetType=c("FPDFAction_GetType",1),AU=n._FPDFAction_GetDest=c("FPDFAction_GetDest",2),cU=n._FPDFAction_GetFilePath=c("FPDFAction_GetFilePath",3),dU=n._FPDFAction_GetURIPath=c("FPDFAction_GetURIPath",4),uU=n._FPDFDest_GetDestPageIndex=c("FPDFDest_GetDestPageIndex",2),pU=n._EPDFDest_GetPageObjectNumber=c("EPDFDest_GetPageObjectNumber",2),lU=n._FPDFDest_GetView=c("FPDFDest_GetView",3),mU=n._FPDFDest_GetLocationInPage=c("FPDFDest_GetLocationInPage",7),wU=n._FPDFLink_GetLinkAtPoint=c("FPDFLink_GetLinkAtPoint",3),bU=n._FPDFLink_GetLinkZOrderAtPoint=c("FPDFLink_GetLinkZOrderAtPoint",3),fU=n._FPDFLink_GetDest=c("FPDFLink_GetDest",2),gU=n._FPDFLink_GetAction=c("FPDFLink_GetAction",1),FU=n._FPDFLink_Enumerate=c("FPDFLink_Enumerate",3),vU=n._FPDFLink_GetAnnot=c("FPDFLink_GetAnnot",2),PU=n._FPDFLink_GetAnnotRect=c("FPDFLink_GetAnnotRect",2),hU=n._FPDFLink_CountQuadPoints=c("FPDFLink_CountQuadPoints",1),kU=n._FPDFLink_GetQuadPoints=c("FPDFLink_GetQuadPoints",3),DU=n._FPDF_GetPageAAction=c("FPDF_GetPageAAction",2),BU=n._FPDF_GetFileIdentifier=c("FPDF_GetFileIdentifier",4),EU=n._FPDF_GetMetaText=c("FPDF_GetMetaText",4),_U=n._FPDF_GetPageLabel=c("FPDF_GetPageLabel",4),yU=n._EPDF_SetMetaText=c("EPDF_SetMetaText",3),GU=n._EPDF_HasMetaText=c("EPDF_HasMetaText",2),CU=n._EPDF_GetMetaTrapped=c("EPDF_GetMetaTrapped",1),IU=n._EPDF_SetMetaTrapped=c("EPDF_SetMetaTrapped",2),SU=n._EPDF_GetMetaKeyCount=c("EPDF_GetMetaKeyCount",2),xU=n._EPDF_GetMetaKeyName=c("EPDF_GetMetaKeyName",5),HU=n._FPDFPageObj_NewImageObj=c("FPDFPageObj_NewImageObj",1),OU=n._FPDFImageObj_LoadJpegFile=c("FPDFImageObj_LoadJpegFile",4),QU=n._FPDFImageObj_LoadJpegFileInline=c("FPDFImageObj_LoadJpegFileInline",4),RU=n._FPDFImageObj_SetMatrix=c("FPDFImageObj_SetMatrix",7),TU=n._FPDFImageObj_SetBitmap=c("FPDFImageObj_SetBitmap",4),MU=n._FPDFImageObj_GetBitmap=c("FPDFImageObj_GetBitmap",1),LU=n._FPDFImageObj_GetRenderedBitmap=c("FPDFImageObj_GetRenderedBitmap",3),NU=n._FPDFImageObj_GetImageDataDecoded=c("FPDFImageObj_GetImageDataDecoded",3),jU=n._FPDFImageObj_GetImageDataRaw=c("FPDFImageObj_GetImageDataRaw",3),KU=n._FPDFImageObj_GetImageFilterCount=c("FPDFImageObj_GetImageFilterCount",1),VU=n._FPDFImageObj_GetImageFilter=c("FPDFImageObj_GetImageFilter",4),YU=n._FPDFImageObj_GetImageMetadata=c("FPDFImageObj_GetImageMetadata",3),XU=n._FPDFImageObj_GetImagePixelSize=c("FPDFImageObj_GetImagePixelSize",3),WU=n._FPDFImageObj_GetIccProfileDataDecoded=c("FPDFImageObj_GetIccProfileDataDecoded",5),UU=n._EPDFImageObj_SetPng=c("EPDFImageObj_SetPng",5),qU=n._EPDFImageObj_SetJpeg=c("EPDFImageObj_SetJpeg",5),zU=n._FPDF_CreateNewDocument=c("FPDF_CreateNewDocument",0),ZU=n._FPDFPage_Delete=c("FPDFPage_Delete",2),JU=n._FPDF_MovePages=c("FPDF_MovePages",4),$U=n._FPDFPage_New=c("FPDFPage_New",4),eq=n._EPDFPage_InsertBlankRaw=c("EPDFPage_InsertBlankRaw",5),tq=n._FPDFPage_GetRotation=c("FPDFPage_GetRotation",1),nq=n._FPDFPage_InsertObject=c("FPDFPage_InsertObject",2),rq=n._FPDFPage_InsertObjectAtIndex=c("FPDFPage_InsertObjectAtIndex",3),iq=n._FPDFPage_RemoveObject=c("FPDFPage_RemoveObject",2),aq=n._FPDFPage_CountObjects=c("FPDFPage_CountObjects",1),oq=n._FPDFPage_GetObject=c("FPDFPage_GetObject",2),sq=n._FPDFPage_HasTransparency=c("FPDFPage_HasTransparency",1),Aq=n._FPDFPageObj_Destroy=c("FPDFPageObj_Destroy",1),cq=n._FPDFPageObj_GetMarkedContentID=c("FPDFPageObj_GetMarkedContentID",1),dq=n._FPDFPageObj_CountMarks=c("FPDFPageObj_CountMarks",1),uq=n._FPDFPageObj_GetMark=c("FPDFPageObj_GetMark",2),pq=n._FPDFPageObj_AddExistingMark=c("FPDFPageObj_AddExistingMark",2),lq=n._FPDFPageObj_AddMark=c("FPDFPageObj_AddMark",2),mq=n._FPDFPageObj_RemoveMark=c("FPDFPageObj_RemoveMark",2),wq=n._FPDFPageObjMark_GetName=c("FPDFPageObjMark_GetName",4),bq=n._FPDFPageObjMark_CountParams=c("FPDFPageObjMark_CountParams",1),fq=n._FPDFPageObjMark_GetParamKey=c("FPDFPageObjMark_GetParamKey",5),gq=n._FPDFPageObjMark_GetParamValueType=c("FPDFPageObjMark_GetParamValueType",2),Fq=n._FPDFPageObjMark_GetParamIntValue=c("FPDFPageObjMark_GetParamIntValue",3),vq=n._FPDFPageObjMark_GetParamFloatValue=c("FPDFPageObjMark_GetParamFloatValue",3),Pq=n._FPDFPageObjMark_GetParamStringValue=c("FPDFPageObjMark_GetParamStringValue",5),hq=n._FPDFPageObjMark_GetParamBlobValue=c("FPDFPageObjMark_GetParamBlobValue",5),kq=n._FPDFPageObj_HasTransparency=c("FPDFPageObj_HasTransparency",1),Dq=n._FPDFPageObjMark_SetIntParam=c("FPDFPageObjMark_SetIntParam",5),Bq=n._FPDFPageObjMark_SetFloatParam=c("FPDFPageObjMark_SetFloatParam",5),Eq=n._FPDFPageObjMark_SetStringParam=c("FPDFPageObjMark_SetStringParam",5),_q=n._FPDFPageObjMark_SetBlobParam=c("FPDFPageObjMark_SetBlobParam",6),yq=n._FPDFPageObjMark_RemoveParam=c("FPDFPageObjMark_RemoveParam",3),Gq=n._FPDFPageObj_GetType=c("FPDFPageObj_GetType",1),Cq=n._FPDFPageObj_GetIsActive=c("FPDFPageObj_GetIsActive",2),Iq=n._FPDFPageObj_SetIsActive=c("FPDFPageObj_SetIsActive",2),Sq=n._FPDFPage_GenerateContent=c("FPDFPage_GenerateContent",1),xq=n._FPDFPageObj_Transform=c("FPDFPageObj_Transform",7),Hq=n._FPDFPageObj_TransformF=c("FPDFPageObj_TransformF",2),Oq=n._FPDFPageObj_GetMatrix=c("FPDFPageObj_GetMatrix",2),Qq=n._FPDFPageObj_SetMatrix=c("FPDFPageObj_SetMatrix",2),Rq=n._FPDFPageObj_SetBlendMode=c("FPDFPageObj_SetBlendMode",2),Tq=n._FPDFPage_TransformAnnots=c("FPDFPage_TransformAnnots",7),Mq=n._FPDFPage_SetRotation=c("FPDFPage_SetRotation",2),Lq=n._FPDFPageObj_SetFillColor=c("FPDFPageObj_SetFillColor",5),Nq=n._FPDFPageObj_GetFillColor=c("FPDFPageObj_GetFillColor",5),jq=n._FPDFPageObj_GetBounds=c("FPDFPageObj_GetBounds",5),Kq=n._FPDFPageObj_GetRotatedBounds=c("FPDFPageObj_GetRotatedBounds",2),Vq=n._FPDFPageObj_SetStrokeColor=c("FPDFPageObj_SetStrokeColor",5),Yq=n._FPDFPageObj_GetStrokeColor=c("FPDFPageObj_GetStrokeColor",5),Xq=n._FPDFPageObj_SetStrokeWidth=c("FPDFPageObj_SetStrokeWidth",2),Wq=n._FPDFPageObj_GetStrokeWidth=c("FPDFPageObj_GetStrokeWidth",2),Uq=n._FPDFPageObj_GetLineJoin=c("FPDFPageObj_GetLineJoin",1),qq=n._FPDFPageObj_SetLineJoin=c("FPDFPageObj_SetLineJoin",2),zq=n._FPDFPageObj_GetLineCap=c("FPDFPageObj_GetLineCap",1),Zq=n._FPDFPageObj_SetLineCap=c("FPDFPageObj_SetLineCap",2),Jq=n._FPDFPageObj_GetDashPhase=c("FPDFPageObj_GetDashPhase",2),$q=n._FPDFPageObj_SetDashPhase=c("FPDFPageObj_SetDashPhase",2),ez=n._FPDFPageObj_GetDashCount=c("FPDFPageObj_GetDashCount",1),tz=n._FPDFPageObj_GetDashArray=c("FPDFPageObj_GetDashArray",3),nz=n._FPDFPageObj_SetDashArray=c("FPDFPageObj_SetDashArray",4),rz=n._FPDFPageObj_GetRenderedStrokePattern=c("FPDFPageObj_GetRenderedStrokePattern",2),iz=n._FPDFPageObj_GetRenderedFillPattern=c("FPDFPageObj_GetRenderedFillPattern",2),az=n._FPDFFormObj_CountObjects=c("FPDFFormObj_CountObjects",1),oz=n._FPDFFormObj_GetObject=c("FPDFFormObj_GetObject",2),sz=n._FPDFFormObj_RemoveObject=c("FPDFFormObj_RemoveObject",2),Az=n._FPDFPageObj_CreateNewPath=c("FPDFPageObj_CreateNewPath",2),cz=n._FPDFPageObj_CreateNewRect=c("FPDFPageObj_CreateNewRect",4),dz=n._FPDFPath_CountSegments=c("FPDFPath_CountSegments",1),uz=n._FPDFPath_GetPathSegment=c("FPDFPath_GetPathSegment",2),pz=n._FPDFPath_MoveTo=c("FPDFPath_MoveTo",3),lz=n._FPDFPath_LineTo=c("FPDFPath_LineTo",3),mz=n._FPDFPath_BezierTo=c("FPDFPath_BezierTo",7),wz=n._FPDFPath_GetBezierControlPoints=c("FPDFPath_GetBezierControlPoints",4),bz=n._FPDFPath_Close=c("FPDFPath_Close",1),fz=n._FPDFPath_SetDrawMode=c("FPDFPath_SetDrawMode",3),gz=n._FPDFPath_GetDrawMode=c("FPDFPath_GetDrawMode",3),Fz=n._FPDFPathSegment_GetPoint=c("FPDFPathSegment_GetPoint",3),vz=n._FPDFPathSegment_GetType=c("FPDFPathSegment_GetType",1),Pz=n._FPDFPathSegment_GetClose=c("FPDFPathSegment_GetClose",1),hz=n._FPDFPageObj_NewTextObj=c("FPDFPageObj_NewTextObj",3),kz=n._FPDFText_SetText=c("FPDFText_SetText",2),Dz=n._FPDFText_SetCharcodes=c("FPDFText_SetCharcodes",3),Bz=n._FPDFText_SetPositions=c("FPDFText_SetPositions",3),Ez=n._FPDFText_LoadFont=c("FPDFText_LoadFont",5),_z=n._FPDFText_LoadStandardFont=c("FPDFText_LoadStandardFont",2),yz=n._FPDFText_LoadCidType2Font=c("FPDFText_LoadCidType2Font",6),Gz=n._FPDFTextObj_GetFontSize=c("FPDFTextObj_GetFontSize",2),Cz=n._FPDFTextObj_SetFontSize=c("FPDFTextObj_SetFontSize",2),Iz=n._FPDFTextObj_GetText=c("FPDFTextObj_GetText",4),Sz=n._FPDFTextObj_GetRenderedBitmap=c("FPDFTextObj_GetRenderedBitmap",4),xz=n._FPDFFont_Close=c("FPDFFont_Close",1),Hz=n._FPDFPageObj_CreateTextObj=c("FPDFPageObj_CreateTextObj",3),Oz=n._FPDFTextObj_GetTextRenderMode=c("FPDFTextObj_GetTextRenderMode",1),Qz=n._FPDFTextObj_SetTextRenderMode=c("FPDFTextObj_SetTextRenderMode",2),Rz=n._FPDFTextObj_GetFont=c("FPDFTextObj_GetFont",1),Tz=n._FPDFFont_GetBaseFontName=c("FPDFFont_GetBaseFontName",3),Mz=n._FPDFFont_GetFamilyName=c("FPDFFont_GetFamilyName",3),Lz=n._FPDFFont_GetFontData=c("FPDFFont_GetFontData",4),Nz=n._FPDFFont_GetIsEmbedded=c("FPDFFont_GetIsEmbedded",1),jz=n._FPDFFont_GetFlags=c("FPDFFont_GetFlags",1),Kz=n._FPDFFont_GetWeight=c("FPDFFont_GetWeight",1),Vz=n._FPDFFont_GetItalicAngle=c("FPDFFont_GetItalicAngle",2),Yz=n._FPDFFont_GetAscent=c("FPDFFont_GetAscent",3),Xz=n._FPDFFont_GetDescent=c("FPDFFont_GetDescent",3),Wz=n._FPDFFont_GetGlyphWidth=c("FPDFFont_GetGlyphWidth",4),Uz=n._FPDFFont_GetGlyphPath=c("FPDFFont_GetGlyphPath",3),qz=n._FPDFGlyphPath_CountGlyphSegments=c("FPDFGlyphPath_CountGlyphSegments",1),zz=n._FPDFGlyphPath_GetGlyphPathSegment=c("FPDFGlyphPath_GetGlyphPathSegment",2),Zz=n._EPDFText_RedactInRect=c("EPDFText_RedactInRect",4),Jz=n._EPDFText_RedactInQuads=c("EPDFText_RedactInQuads",5),$z=n._FPDFDoc_GetPageMode=c("FPDFDoc_GetPageMode",1),eZ=n._FPDFPage_Flatten=c("FPDFPage_Flatten",2),tZ=n._FPDFPage_HasFormFieldAtPoint=c("FPDFPage_HasFormFieldAtPoint",4),nZ=n._FPDFPage_FormFieldZOrderAtPoint=c("FPDFPage_FormFieldZOrderAtPoint",4),rZ=n._FPDFDOC_InitFormFillEnvironment=c("FPDFDOC_InitFormFillEnvironment",2),iZ=n._FPDFDOC_ExitFormFillEnvironment=c("FPDFDOC_ExitFormFillEnvironment",1),aZ=n._FORM_OnMouseMove=c("FORM_OnMouseMove",5),oZ=n._FORM_OnMouseWheel=c("FORM_OnMouseWheel",6),sZ=n._FORM_OnFocus=c("FORM_OnFocus",5),AZ=n._FORM_OnLButtonDown=c("FORM_OnLButtonDown",5),cZ=n._FORM_OnLButtonUp=c("FORM_OnLButtonUp",5),dZ=n._FORM_OnLButtonDoubleClick=c("FORM_OnLButtonDoubleClick",5),uZ=n._FORM_OnRButtonDown=c("FORM_OnRButtonDown",5),pZ=n._FORM_OnRButtonUp=c("FORM_OnRButtonUp",5),lZ=n._FORM_OnKeyDown=c("FORM_OnKeyDown",4),mZ=n._FORM_OnKeyUp=c("FORM_OnKeyUp",4),wZ=n._FORM_OnChar=c("FORM_OnChar",4),bZ=n._FORM_GetFocusedText=c("FORM_GetFocusedText",4),fZ=n._FORM_GetSelectedText=c("FORM_GetSelectedText",4),gZ=n._FORM_ReplaceAndKeepSelection=c("FORM_ReplaceAndKeepSelection",3),FZ=n._FORM_ReplaceSelection=c("FORM_ReplaceSelection",3),vZ=n._FORM_SelectAllText=c("FORM_SelectAllText",2),PZ=n._FORM_CanUndo=c("FORM_CanUndo",2),hZ=n._FORM_CanRedo=c("FORM_CanRedo",2),kZ=n._FORM_Undo=c("FORM_Undo",2),DZ=n._FORM_Redo=c("FORM_Redo",2),BZ=n._FORM_ForceToKillFocus=c("FORM_ForceToKillFocus",1),EZ=n._FORM_GetFocusedAnnot=c("FORM_GetFocusedAnnot",3),_Z=n._FORM_SetFocusedAnnot=c("FORM_SetFocusedAnnot",2),yZ=n._FPDF_FFLDraw=c("FPDF_FFLDraw",9),GZ=n._FPDF_SetFormFieldHighlightColor=c("FPDF_SetFormFieldHighlightColor",3),CZ=n._FPDF_SetFormFieldHighlightAlpha=c("FPDF_SetFormFieldHighlightAlpha",2),IZ=n._FPDF_RemoveFormFieldHighlight=c("FPDF_RemoveFormFieldHighlight",1),SZ=n._FORM_OnAfterLoadPage=c("FORM_OnAfterLoadPage",2),xZ=n._FORM_OnBeforeClosePage=c("FORM_OnBeforeClosePage",2),HZ=n._FORM_DoDocumentJSAction=c("FORM_DoDocumentJSAction",1),OZ=n._FORM_DoDocumentOpenAction=c("FORM_DoDocumentOpenAction",1),QZ=n._FORM_DoDocumentAAction=c("FORM_DoDocumentAAction",2),RZ=n._FORM_DoPageAAction=c("FORM_DoPageAAction",3),TZ=n._FORM_SetIndexSelected=c("FORM_SetIndexSelected",4),MZ=n._FORM_IsIndexSelected=c("FORM_IsIndexSelected",3),LZ=n._FORM_GetTextDirection=c("FORM_GetTextDirection",2),NZ=n._FORM_SetTextDirection=c("FORM_SetTextDirection",3),jZ=n._FPDFDoc_GetJavaScriptActionCount=c("FPDFDoc_GetJavaScriptActionCount",1),KZ=n._FPDFDoc_GetJavaScriptAction=c("FPDFDoc_GetJavaScriptAction",2),VZ=n._EPDFDoc_GetNamedJavaScriptActionModel=c("EPDFDoc_GetNamedJavaScriptActionModel",2),YZ=n._FPDFDoc_CloseJavaScriptAction=c("FPDFDoc_CloseJavaScriptAction",1),XZ=n._FPDFJavaScriptAction_GetName=c("FPDFJavaScriptAction_GetName",3),WZ=n._FPDFJavaScriptAction_GetScript=c("FPDFJavaScriptAction_GetScript",3),UZ=n._FPDF_ImportPagesByIndex=c("FPDF_ImportPagesByIndex",5),qZ=n._FPDF_ImportPages=c("FPDF_ImportPages",4),zZ=n._FPDF_ImportNPagesToOne=c("FPDF_ImportNPagesToOne",5),ZZ=n._FPDF_NewXObjectFromPage=c("FPDF_NewXObjectFromPage",3),JZ=n._FPDF_CloseXObject=c("FPDF_CloseXObject",1),$Z=n._FPDF_NewFormObjectFromXObject=c("FPDF_NewFormObjectFromXObject",1),eJ=n._FPDF_CopyViewerPreferences=c("FPDF_CopyViewerPreferences",2),tJ=n._FPDF_RenderPageBitmapWithColorScheme_Start=c("FPDF_RenderPageBitmapWithColorScheme_Start",10),nJ=n._FPDF_RenderPageBitmap_Start=c("FPDF_RenderPageBitmap_Start",9),rJ=n._FPDF_RenderPage_Continue=c("FPDF_RenderPage_Continue",2),iJ=n._FPDF_RenderPage_Close=c("FPDF_RenderPage_Close",1),aJ=n._EPDF_RenderPageBitmapWithMatrix_Start=c("EPDF_RenderPageBitmapWithMatrix_Start",6),oJ=n._EPDF_RenderPage_Continue=c("EPDF_RenderPage_Continue",2),sJ=n._EPDF_FreeBuffer=c("EPDF_FreeBuffer",1),AJ=n._FPDF_SaveAsCopy=c("FPDF_SaveAsCopy",3),cJ=n._FPDF_SaveWithVersion=c("FPDF_SaveWithVersion",4),dJ=n._EPDF_SaveDocumentToOwnedBuffer=c("EPDF_SaveDocumentToOwnedBuffer",3),uJ=n._EPDF_SaveDocumentToOwnedBufferWithVersion=c("EPDF_SaveDocumentToOwnedBufferWithVersion",4),pJ=n._EPDF_SaveDocumentToOwnedBufferEx=c("EPDF_SaveDocumentToOwnedBufferEx",5),lJ=n._EPDF_SaveAsCopyEx=c("EPDF_SaveAsCopyEx",4),mJ=n._FPDFText_GetCharIndexFromTextIndex=c("FPDFText_GetCharIndexFromTextIndex",2),wJ=n._FPDFText_GetTextIndexFromCharIndex=c("FPDFText_GetTextIndexFromCharIndex",2),bJ=n._FPDF_GetSignatureCount=c("FPDF_GetSignatureCount",1),fJ=n._FPDF_GetSignatureObject=c("FPDF_GetSignatureObject",2),gJ=n._FPDFSignatureObj_GetContents=c("FPDFSignatureObj_GetContents",3),FJ=n._FPDFSignatureObj_GetByteRange=c("FPDFSignatureObj_GetByteRange",3),vJ=n._FPDFSignatureObj_GetSubFilter=c("FPDFSignatureObj_GetSubFilter",3),PJ=n._FPDFSignatureObj_GetReason=c("FPDFSignatureObj_GetReason",3),hJ=n._FPDFSignatureObj_GetTime=c("FPDFSignatureObj_GetTime",3),kJ=n._FPDFSignatureObj_GetDocMDPPermission=c("FPDFSignatureObj_GetDocMDPPermission",1),DJ=n._FPDF_StructTree_GetForPage=c("FPDF_StructTree_GetForPage",1),BJ=n._FPDF_StructTree_Close=c("FPDF_StructTree_Close",1),EJ=n._FPDF_StructTree_CountChildren=c("FPDF_StructTree_CountChildren",1),_J=n._FPDF_StructTree_GetChildAtIndex=c("FPDF_StructTree_GetChildAtIndex",2),yJ=n._FPDF_StructElement_GetAltText=c("FPDF_StructElement_GetAltText",3),GJ=n._FPDF_StructElement_GetActualText=c("FPDF_StructElement_GetActualText",3),CJ=n._FPDF_StructElement_GetExpansion=c("FPDF_StructElement_GetExpansion",3),IJ=n._FPDF_StructElement_GetID=c("FPDF_StructElement_GetID",3),SJ=n._FPDF_StructElement_GetLang=c("FPDF_StructElement_GetLang",3),xJ=n._FPDF_StructElement_GetAttributeCount=c("FPDF_StructElement_GetAttributeCount",1),HJ=n._FPDF_StructElement_GetAttributeAtIndex=c("FPDF_StructElement_GetAttributeAtIndex",2),OJ=n._FPDF_StructElement_GetStringAttribute=c("FPDF_StructElement_GetStringAttribute",4),QJ=n._FPDF_StructElement_GetMarkedContentID=c("FPDF_StructElement_GetMarkedContentID",1),RJ=n._FPDF_StructElement_GetRawType=c("FPDF_StructElement_GetRawType",3),TJ=n._FPDF_StructElement_GetType=c("FPDF_StructElement_GetType",3),MJ=n._FPDF_StructElement_GetObjType=c("FPDF_StructElement_GetObjType",3),LJ=n._FPDF_StructElement_GetTitle=c("FPDF_StructElement_GetTitle",3),NJ=n._FPDF_StructElement_CountChildren=c("FPDF_StructElement_CountChildren",1),jJ=n._FPDF_StructElement_GetChildAtIndex=c("FPDF_StructElement_GetChildAtIndex",2),KJ=n._FPDF_StructElement_GetChildMarkedContentID=c("FPDF_StructElement_GetChildMarkedContentID",2),VJ=n._FPDF_StructElement_GetParent=c("FPDF_StructElement_GetParent",1),YJ=n._FPDF_StructElement_Attr_GetCount=c("FPDF_StructElement_Attr_GetCount",1),XJ=n._FPDF_StructElement_Attr_GetName=c("FPDF_StructElement_Attr_GetName",5),WJ=n._FPDF_StructElement_Attr_GetValue=c("FPDF_StructElement_Attr_GetValue",2),UJ=n._FPDF_StructElement_Attr_GetType=c("FPDF_StructElement_Attr_GetType",1),qJ=n._FPDF_StructElement_Attr_GetBooleanValue=c("FPDF_StructElement_Attr_GetBooleanValue",2),zJ=n._FPDF_StructElement_Attr_GetNumberValue=c("FPDF_StructElement_Attr_GetNumberValue",2),ZJ=n._FPDF_StructElement_Attr_GetStringValue=c("FPDF_StructElement_Attr_GetStringValue",4),JJ=n._FPDF_StructElement_Attr_GetBlobValue=c("FPDF_StructElement_Attr_GetBlobValue",4),$J=n._FPDF_StructElement_Attr_CountChildren=c("FPDF_StructElement_Attr_CountChildren",1),e$=n._FPDF_StructElement_Attr_GetChildAtIndex=c("FPDF_StructElement_Attr_GetChildAtIndex",2),t$=n._FPDF_StructElement_GetMarkedContentIdCount=c("FPDF_StructElement_GetMarkedContentIdCount",1),n$=n._FPDF_StructElement_GetMarkedContentIdAtIndex=c("FPDF_StructElement_GetMarkedContentIdAtIndex",2),r$=n._FPDF_AddInstalledFont=c("FPDF_AddInstalledFont",3),i$=n._FPDF_SetSystemFontInfo=c("FPDF_SetSystemFontInfo",1),a$=n._FPDF_GetDefaultTTFMap=c("FPDF_GetDefaultTTFMap",0),o$=n._FPDF_GetDefaultTTFMapCount=c("FPDF_GetDefaultTTFMapCount",0),s$=n._FPDF_GetDefaultTTFMapEntry=c("FPDF_GetDefaultTTFMapEntry",1),A$=n._FPDF_GetDefaultSystemFontInfo=c("FPDF_GetDefaultSystemFontInfo",0),c$=n._FPDF_FreeDefaultSystemFontInfo=c("FPDF_FreeDefaultSystemFontInfo",1),d$=n._FPDFText_LoadPage=c("FPDFText_LoadPage",1),u$=n._FPDFText_ClosePage=c("FPDFText_ClosePage",1),p$=n._FPDFText_CountChars=c("FPDFText_CountChars",1),l$=n._FPDFText_GetUnicode=c("FPDFText_GetUnicode",2),m$=n._FPDFText_GetTextObject=c("FPDFText_GetTextObject",2),w$=n._FPDFText_IsGenerated=c("FPDFText_IsGenerated",2),b$=n._FPDFText_IsHyphen=c("FPDFText_IsHyphen",2),f$=n._FPDFText_HasUnicodeMapError=c("FPDFText_HasUnicodeMapError",2),g$=n._FPDFText_GetFontSize=c("FPDFText_GetFontSize",2),F$=n._FPDFText_GetFontInfo=c("FPDFText_GetFontInfo",5),v$=n._FPDFText_GetFontWeight=c("FPDFText_GetFontWeight",2),P$=n._FPDFText_GetFillColor=c("FPDFText_GetFillColor",6),h$=n._FPDFText_GetStrokeColor=c("FPDFText_GetStrokeColor",6),k$=n._FPDFText_GetCharAngle=c("FPDFText_GetCharAngle",2),D$=n._FPDFText_GetCharBox=c("FPDFText_GetCharBox",6),B$=n._FPDFText_GetLooseCharBox=c("FPDFText_GetLooseCharBox",3),E$=n._EPDFText_GetCharGeometry=c("EPDFText_GetCharGeometry",3),_$=n._EPDFText_GetTextFull=c("EPDFText_GetTextFull",3),y$=n._EPDFText_GetCharToTextMap=c("EPDFText_GetCharToTextMap",3),G$=n._FPDFText_GetMatrix=c("FPDFText_GetMatrix",3),C$=n._FPDFText_GetCharOrigin=c("FPDFText_GetCharOrigin",4),I$=n._FPDFText_GetCharIndexAtPos=c("FPDFText_GetCharIndexAtPos",5),S$=n._FPDFText_GetText=c("FPDFText_GetText",4),x$=n._FPDFText_CountRects=c("FPDFText_CountRects",3),H$=n._FPDFText_GetRect=c("FPDFText_GetRect",6),O$=n._FPDFText_GetBoundedText=c("FPDFText_GetBoundedText",7),Q$=n._FPDFText_FindStart=c("FPDFText_FindStart",4),R$=n._FPDFText_FindNext=c("FPDFText_FindNext",1),T$=n._FPDFText_FindPrev=c("FPDFText_FindPrev",1),M$=n._FPDFText_GetSchResultIndex=c("FPDFText_GetSchResultIndex",1),L$=n._FPDFText_GetSchCount=c("FPDFText_GetSchCount",1),N$=n._FPDFText_FindClose=c("FPDFText_FindClose",1),j$=n._FPDFLink_LoadWebLinks=c("FPDFLink_LoadWebLinks",1),K$=n._FPDFLink_CountWebLinks=c("FPDFLink_CountWebLinks",1),V$=n._FPDFLink_GetURL=c("FPDFLink_GetURL",4),Y$=n._FPDFLink_CountRects=c("FPDFLink_CountRects",2),X$=n._FPDFLink_GetRect=c("FPDFLink_GetRect",7),W$=n._FPDFLink_GetTextRange=c("FPDFLink_GetTextRange",4),U$=n._FPDFLink_CloseWebLinks=c("FPDFLink_CloseWebLinks",1),q$=n._FPDFPage_GetDecodedThumbnailData=c("FPDFPage_GetDecodedThumbnailData",3),z$=n._FPDFPage_GetRawThumbnailData=c("FPDFPage_GetRawThumbnailData",3),Z$=n._FPDFPage_GetThumbnailAsBitmap=c("FPDFPage_GetThumbnailAsBitmap",1),J$=n._FPDFPage_SetMediaBox=c("FPDFPage_SetMediaBox",5),$$=n._FPDFPage_SetCropBox=c("FPDFPage_SetCropBox",5),eee=n._FPDFPage_SetBleedBox=c("FPDFPage_SetBleedBox",5),tee=n._FPDFPage_SetTrimBox=c("FPDFPage_SetTrimBox",5),nee=n._FPDFPage_SetArtBox=c("FPDFPage_SetArtBox",5),ree=n._FPDFPage_GetMediaBox=c("FPDFPage_GetMediaBox",5),iee=n._FPDFPage_GetCropBox=c("FPDFPage_GetCropBox",5),aee=n._FPDFPage_GetBleedBox=c("FPDFPage_GetBleedBox",5),oee=n._FPDFPage_GetTrimBox=c("FPDFPage_GetTrimBox",5),see=n._FPDFPage_GetArtBox=c("FPDFPage_GetArtBox",5),Aee=n._FPDFPage_TransFormWithClip=c("FPDFPage_TransFormWithClip",3),cee=n._FPDFPageObj_TransformClipPath=c("FPDFPageObj_TransformClipPath",7),dee=n._FPDFPageObj_GetClipPath=c("FPDFPageObj_GetClipPath",1),uee=n._FPDFClipPath_CountPaths=c("FPDFClipPath_CountPaths",1),pee=n._FPDFClipPath_CountPathSegments=c("FPDFClipPath_CountPathSegments",2),lee=n._FPDFClipPath_GetPathSegment=c("FPDFClipPath_GetPathSegment",3),mee=n._FPDF_CreateClipPath=c("FPDF_CreateClipPath",4),wee=n._FPDF_DestroyClipPath=c("FPDF_DestroyClipPath",1),bee=n._FPDFPage_InsertClipPath=c("FPDFPage_InsertClipPath",2),fee=n._FPDF_InitLibrary=c("FPDF_InitLibrary",0),gee=n._FPDF_InitLibraryWithConfig=c("FPDF_InitLibraryWithConfig",1),Fee=n._FPDF_DestroyLibrary=c("FPDF_DestroyLibrary",0),vee=n._FPDF_SetSandBoxPolicy=c("FPDF_SetSandBoxPolicy",2),Pee=n._FPDF_LoadDocument=c("FPDF_LoadDocument",2),hee=n._FPDF_GetFormType=c("FPDF_GetFormType",1),kee=n._FPDF_LoadXFA=c("FPDF_LoadXFA",1),Dee=n._FPDF_LoadMemDocument=c("FPDF_LoadMemDocument",3),Bee=n._FPDF_LoadMemDocument64=c("FPDF_LoadMemDocument64",3),Eee=n._FPDF_LoadCustomDocument=c("FPDF_LoadCustomDocument",2),_ee=n._FPDF_GetFileVersion=c("FPDF_GetFileVersion",2),yee=n._FPDF_DocumentHasValidCrossReferenceTable=c("FPDF_DocumentHasValidCrossReferenceTable",1),Gee=n._FPDF_GetDocPermissions=c("FPDF_GetDocPermissions",1),Cee=n._FPDF_GetDocUserPermissions=c("FPDF_GetDocUserPermissions",1),Iee=n._FPDF_GetSecurityHandlerRevision=c("FPDF_GetSecurityHandlerRevision",1),See=n._EPDF_SetEncryption=c("EPDF_SetEncryption",4),xee=n._EPDF_RemoveEncryption=c("EPDF_RemoveEncryption",1),Hee=n._EPDF_UnlockOwnerPermissions=c("EPDF_UnlockOwnerPermissions",2),Oee=n._EPDF_CheckPasswordPermissions=c("EPDF_CheckPasswordPermissions",6),Qee=n._EPDF_SetRuntimeOwnerPermissions=c("EPDF_SetRuntimeOwnerPermissions",2),Ree=n._EPDF_IsEncrypted=c("EPDF_IsEncrypted",1),Tee=n._EPDF_IsOwnerUnlocked=c("EPDF_IsOwnerUnlocked",1),Mee=n._FPDF_GetPageCount=c("FPDF_GetPageCount",1),Lee=n._FPDF_LoadPage=c("FPDF_LoadPage",2),Nee=n._EPDFDoc_LoadPageByObjectNumber=c("EPDFDoc_LoadPageByObjectNumber",2),jee=n._EPDFDoc_LoadPageByObjectNumberNormalized=c("EPDFDoc_LoadPageByObjectNumberNormalized",2),Kee=n._EPDFDoc_GetPageObjectNumberByIndex=c("EPDFDoc_GetPageObjectNumberByIndex",2),Vee=n._EPDFDoc_DeletePageByObjectNumber=c("EPDFDoc_DeletePageByObjectNumber",2),Yee=n._EPDFDoc_SetPageRotationByObjectNumber=c("EPDFDoc_SetPageRotationByObjectNumber",3),Xee=n._EPDFDoc_StartLoadPageByObjectNumber=c("EPDFDoc_StartLoadPageByObjectNumber",3),Wee=n._EPDFPage_ContinueLoad=c("EPDFPage_ContinueLoad",2),Uee=n._EPDFPage_GetObjectNumber=c("EPDFPage_GetObjectNumber",1),qee=n._FPDF_GetPageWidthF=c("FPDF_GetPageWidthF",1),zee=n._FPDF_GetPageWidth=c("FPDF_GetPageWidth",1),Zee=n._FPDF_GetPageHeightF=c("FPDF_GetPageHeightF",1),Jee=n._FPDF_GetPageHeight=c("FPDF_GetPageHeight",1),$ee=n._FPDF_GetPageBoundingBox=c("FPDF_GetPageBoundingBox",2),ete=n._FPDF_RenderPageBitmap=c("FPDF_RenderPageBitmap",8),tte=n._FPDF_RenderPageBitmapWithMatrix=c("FPDF_RenderPageBitmapWithMatrix",5),nte=n._EPDF_RenderAnnotBitmap=c("EPDF_RenderAnnotBitmap",7),rte=n._EPDF_RenderAnnotBitmapUnrotated=c("EPDF_RenderAnnotBitmapUnrotated",9),ite=n._EPDF_SetDecodedImageBudget=c("EPDF_SetDecodedImageBudget",1),ate=n._EPDF_GetDecodedImageBytes=c("EPDF_GetDecodedImageBytes",0),ote=n._EPDFPage_ResetRenderCache=c("EPDFPage_ResetRenderCache",1),ste=n._FPDF_ClosePage=c("FPDF_ClosePage",1),Ate=n._FPDF_CloseDocument=c("FPDF_CloseDocument",1),cte=n._FPDF_GetLastError=c("FPDF_GetLastError",0),dte=n._FPDF_DeviceToPage=c("FPDF_DeviceToPage",10),ute=n._FPDF_PageToDevice=c("FPDF_PageToDevice",10),pte=n._FPDFBitmap_Create=c("FPDFBitmap_Create",3),lte=n._FPDFBitmap_CreateEx=c("FPDFBitmap_CreateEx",5),mte=n._FPDFBitmap_GetFormat=c("FPDFBitmap_GetFormat",1),wte=n._FPDFBitmap_FillRect=c("FPDFBitmap_FillRect",6),bte=n._FPDFBitmap_GetBuffer=c("FPDFBitmap_GetBuffer",1),fte=n._FPDFBitmap_GetWidth=c("FPDFBitmap_GetWidth",1),gte=n._FPDFBitmap_GetHeight=c("FPDFBitmap_GetHeight",1),Fte=n._FPDFBitmap_GetStride=c("FPDFBitmap_GetStride",1),vte=n._FPDFBitmap_Destroy=c("FPDFBitmap_Destroy",1),Pte=n._FPDF_GetPageSizeByIndexF=c("FPDF_GetPageSizeByIndexF",3),hte=n._EPDF_GetPageRotateByIndex=c("EPDF_GetPageRotateByIndex",3),kte=n._EPDF_GetPageTabOrderByIndex=c("EPDF_GetPageTabOrderByIndex",4),Dte=n._EPDF_GetPageBoxByIndex=c("EPDF_GetPageBoxByIndex",4),Bte=n._EPDF_GetPageUserUnitByIndex=c("EPDF_GetPageUserUnitByIndex",3),Ete=n._EPDF_LoadPageNormalized=c("EPDF_LoadPageNormalized",3),_te=n._FPDF_GetPageSizeByIndex=c("FPDF_GetPageSizeByIndex",4),yte=n._FPDF_VIEWERREF_GetPrintScaling=c("FPDF_VIEWERREF_GetPrintScaling",1),Gte=n._FPDF_VIEWERREF_GetNumCopies=c("FPDF_VIEWERREF_GetNumCopies",1),Cte=n._FPDF_VIEWERREF_GetPrintPageRange=c("FPDF_VIEWERREF_GetPrintPageRange",1),Ite=n._FPDF_VIEWERREF_GetPrintPageRangeCount=c("FPDF_VIEWERREF_GetPrintPageRangeCount",1),Ste=n._FPDF_VIEWERREF_GetPrintPageRangeElement=c("FPDF_VIEWERREF_GetPrintPageRangeElement",2),xte=n._FPDF_VIEWERREF_GetDuplex=c("FPDF_VIEWERREF_GetDuplex",1),Hte=n._FPDF_VIEWERREF_GetName=c("FPDF_VIEWERREF_GetName",4),Ote=n._FPDF_CountNamedDests=c("FPDF_CountNamedDests",1),Qte=n._FPDF_GetNamedDestByName=c("FPDF_GetNamedDestByName",2),Rte=n._FPDF_GetNamedDest=c("FPDF_GetNamedDest",4),Tte=n._FPDF_GetXFAPacketCount=c("FPDF_GetXFAPacketCount",1),Mte=n._FPDF_GetXFAPacketName=c("FPDF_GetXFAPacketName",4),Lte=n._FPDF_GetXFAPacketContent=c("FPDF_GetXFAPacketContent",5),Nte=n._FPDF_GetTrailerEnds=c("FPDF_GetTrailerEnds",3),ab=c("fflush",1),XE=c("strerror",1),WE=c("emscripten_builtin_memalign",2),jte=n._malloc=c("malloc",1),Kte=n._free=c("free",1),_t=c("setThrew",2),Vte=c("_emscripten_tempret_set",1),ob=()=>(ob=Xe.emscripten_stack_init)(),UE=()=>(UE=Xe.emscripten_stack_get_free)(),qE=()=>(qE=Xe.emscripten_stack_get_base)(),Td=()=>(Td=Xe.emscripten_stack_get_end)(),sb=u=>(sb=Xe._emscripten_stack_restore)(u),Ab=u=>(Ab=Xe._emscripten_stack_alloc)(u),cb=()=>(cb=Xe.emscripten_stack_get_current)(),Yte=n.dynCall_jiji=c("dynCall_jiji",5),Xte=n.dynCall_iiiiij=c("dynCall_iiiiij",7),Wte=n.dynCall_iiiiijj=c("dynCall_iiiiijj",9),Ute=n.dynCall_iiiiiijj=c("dynCall_iiiiiijj",10),qte=n.dynCall_viijii=c("dynCall_viijii",7),zte=n.dynCall_ji=c("dynCall_ji",2),Zte=n.dynCall_iiij=c("dynCall_iiij",5),Jte=n.dynCall_j=c("dynCall_j",1),$te=n.dynCall_iji=c("dynCall_iji",4),ene=n.dynCall_jji=c("dynCall_jji",4),tne=n.dynCall_iiji=c("dynCall_iiji",5),nne=n.dynCall_viijj=c("dynCall_viijj",7),rne=n.dynCall_jij=c("dynCall_jij",4),ine=n.dynCall_iij=c("dynCall_iij",4),ane=n.dynCall_viji=c("dynCall_viji",5);function zE(u,l,b,v,D){var E=ht();try{pt(u)(l,b,v,D)}catch(_){if(Pt(E),_!==_+0)throw _;_t(1,0)}}function ZE(u,l,b){var v=ht();try{return pt(u)(l,b)}catch(D){if(Pt(v),D!==D+0)throw D;_t(1,0)}}function JE(u,l,b,v){var D=ht();try{return pt(u)(l,b,v)}catch(E){if(Pt(D),E!==E+0)throw E;_t(1,0)}}function $E(u,l){var b=ht();try{pt(u)(l)}catch(v){if(Pt(b),v!==v+0)throw v;_t(1,0)}}function e_(u,l,b){var v=ht();try{pt(u)(l,b)}catch(D){if(Pt(v),D!==D+0)throw D;_t(1,0)}}function t_(u,l,b,v,D,E,_){var C=ht();try{return pt(u)(l,b,v,D,E,_)}catch(T){if(Pt(C),T!==T+0)throw T;_t(1,0)}}function n_(u,l,b,v,D){var E=ht();try{return pt(u)(l,b,v,D)}catch(_){if(Pt(E),_!==_+0)throw _;_t(1,0)}}function r_(u,l,b,v){var D=ht();try{pt(u)(l,b,v)}catch(E){if(Pt(D),E!==E+0)throw E;_t(1,0)}}function i_(u,l){var b=ht();try{return pt(u)(l)}catch(v){if(Pt(b),v!==v+0)throw v;_t(1,0)}}function a_(u){var l=ht();try{pt(u)()}catch(b){if(Pt(l),b!==b+0)throw b;_t(1,0)}}function o_(u,l,b,v,D,E){var _=ht();try{return pt(u)(l,b,v,D,E)}catch(C){if(Pt(_),C!==C+0)throw C;_t(1,0)}}function s_(u,l,b,v,D,E,_,C,T,$){var te=ht();try{pt(u)(l,b,v,D,E,_,C,T,$)}catch(ae){if(Pt(te),ae!==ae+0)throw ae;_t(1,0)}}function A_(u){u=Object.assign({},u);var l=E=>_=>E(_)>>>0,b=E=>(_,C)=>E(_,C)>>>0,v=E=>_=>E(_)>>>0,D=E=>()=>E()>>>0;return u.strerror=l(u.strerror),u.emscripten_builtin_memalign=b(u.emscripten_builtin_memalign),u.malloc=v(u.malloc),u.emscripten_stack_get_base=D(u.emscripten_stack_get_base),u.emscripten_stack_get_end=D(u.emscripten_stack_get_end),u._emscripten_stack_alloc=v(u._emscripten_stack_alloc),u.emscripten_stack_get_current=D(u.emscripten_stack_get_current),u}n.wasmExports=Xe,n.ccall=rb,n.cwrap=jE,n.addFunction=TE,n.removeFunction=KE,n.setValue=_B,n.getValue=BB,n.UTF8ToString=er,n.stringToUTF8=yr,n.UTF16ToString=IE,n.stringToUTF16=VE;var c_=["writeI53ToI64","writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","readI53FromI64","readI53FromU64","convertI32PairToI53","convertU32PairToI53","getTempRet0","setTempRet0","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","emscriptenLog","readEmAsmArgs","jstoi_q","listenOnce","autoResumeAudioContext","dynCallLegacy","getDynCaller","dynCall","handleException","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","asmjsMangle","HandleAllocator","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","reallyNegative","unSign","strLen","reSign","formatString","intArrayToString","AsciiToString","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","stringToNewUTF8","registerKeyEventCallback","maybeCStringToJsString","findEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","jsStackTrace","getCallstack","convertPCtoSourceLocation","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","safeSetTimeout","setImmediateWrapped","safeRequestAnimationFrame","clearImmediateWrapped","polyfillSetImmediate","registerPostMainLoop","registerPreMainLoop","getPromise","makePromise","idsToPromises","makePromiseCallback","ExceptionInfo","findMatchingCatch","Browser_asyncPrepareDataCounter","arraySum","addDays","getSocketFromFD","getSocketAddress","FS_unlink","FS_mkdirTree","_setNetworkCallback","heapObjectForWebGLType","toTypedArrayIndex","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","webgl_enable_EXT_polygon_offset_clamp","webgl_enable_EXT_clip_control","webgl_enable_WEBGL_polygon_mode","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","emscriptenWebGLGetUniform","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","writeGLArray","registerWebGlEventCallback","runAndAbortIfError","ALLOC_NORMAL","ALLOC_STACK","allocate","writeStringToMemory","writeAsciiToMemory","setErrNo","demangle","stackTrace"];c_.forEach(kB);var d_=["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","out","err","callMain","abort","wasmMemory","writeStackCookie","checkStackCookie","convertI32PairToI53Checked","stackSave","stackRestore","stackAlloc","ptrToString","zeroMemory","exitJS","getHeapMax","growMemory","ENV","ERRNO_CODES","strError","DNS","Protocols","Sockets","timers","warnOnce","readEmAsmArgsArray","jstoi_s","getExecutableName","keepRuntimeAlive","asyncLoad","alignMemory","mmapAlloc","wasmTable","noExitRuntime","getCFunc","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","freeTableIndexes","functionsInTableMap","getEmptyTableSlot","updateTableMap","getFunctionAddress","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","stringToUTF8Array","lengthBytesUTF8","intArrayFromString","stringToAscii","UTF16Decoder","stringToUTF8OnStack","writeArrayToMemory","JSEvents","specialHTMLTargets","findCanvasEventTarget","currentFullscreenStrategy","restoreOldWindowedStyle","UNWIND_CACHE","ExitStatus","getEnvStrings","doReadv","doWritev","initRandomFill","randomFill","promiseMap","uncaughtExceptionCount","exceptionLast","exceptionCaught","Browser","getPreloadedImageData__data","wget","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","isLeapYear","ydayFromDate","SYSCALLS","preloadPlugins","FS_createPreloadedFile","FS_modeStringToFlags","FS_getMode","FS_stdin_getChar_buffer","FS_stdin_getChar","FS_createPath","FS_createDevice","FS_readFile","FS","FS_createDataFile","FS_createLazyFile","MEMFS","TTY","PIPEFS","SOCKFS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","GL","AL","GLUT","EGL","GLEW","IDBStore","SDL","SDL_gfx","allocateUTF8","allocateUTF8OnStack","print","printErr"];d_.forEach(Xw);var qs;ja=function u(){qs||db(),qs||(ja=u)};function u_(){ob(),cB()}function db(){if(Br>0||(u_(),dB(),Br>0))return;function u(){qs||(qs=!0,n.calledRun=!0,!ve&&(uB(),i(n),n.onRuntimeInitialized?.(),R(!n._main,\'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]\'),pB()))}n.setStatus?(n.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n.setStatus(""),1),u()},1)):u(),yd()}function p_(){var u=S,l=G,b=!1;S=G=v=>{b=!0};try{ab(0),["stdout","stderr"].forEach(v=>{var D=k.analyzePath("/dev/"+v);if(D){var E=D.object,_=E.rdev,C=Hn.ttys[_];C?.output?.length&&(b=!0)}})}catch{}S=u,G=l,b&&pn("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.")}if(n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();db(),r=o;for(let u of Object.keys(n))u in t||Object.defineProperty(t,u,{configurable:!0,get(){Oe(`Access to module property (\'${u}\') is no longer possible via the module constructor argument; Instead, use the result of the module constructor.`)}});return r})})(),AC=sC});var LF={};Je(LF,{default:()=>x7});var x7,NF=it(()=>{"use strict";x7="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AF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv//AAAAIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL//wC5AF0ApACFAEwAlwAkAKYAkgCSACkAlQA7AGUAjwCpAMMAfwCwAKoAUQBNAKEAnwBAAG0ALACaAGAAPwBNAIUAFP/A/8f/x//I/8j/zv/O/8//z//V/9X/1f/W/9b/1//e/97/3v/e/+D/4f/l/+X/5f/l/+cAAP/7////8wCKACr/4v/0//0ABgAOABoAIAAoACoALwAvAC8AMwA3ADoASABSAFwAXgBnAG8AdAB0AHQAdAB3/97/3P/d/9T/3v/CADf/xQBL/7gALf/G/78ACv/h//IAIf/y/70AEAAxACz/kv/uAAMAB/+r//r/+//S//b/9AAgAAb/Rv9C/0L/Rf9B/0L/PP9E/0n/Rf9F/0X/Uv9N/03/Tf9C/1T/Wf9V/1X/WP9U/83/VP9h/13/Xf9d/2L/V/+q/2n/Y/9j/3L/Y/9m/2L/e/+P/4v/i/+L/6v/p/+n/6f/jf+2/73/t/+3/8L/tv94/77/7//r/+v/6//x/97/8P7V/1r+0v9x/sj+xf90/vL9n/4E4GjgZuCy4LLgsuCs4KzgqeBL4EvgPeBT4I/gVeBV32ffvwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAIRI0x5fDzz1AAMD6AAAAAAAAAAAAAAAAAAAAAD/5P8HAnQDIwAAAAgAAgAAAAAAAAABAAADI/8IAAACWAAAAAACdAABAAAAAAAAAAAAAAAAAAAA9AJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAAAAFAAAPQAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACAA4A0gADAAEECQADAEQA4AADAAEECQAEACwBJAADAAEECQAFABoBUAADAAEECQAGACgBagADAAEECQANAQIBkgADAAEECQAOAIAClABDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwBSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwA7AEMAaAByAG8AbQBGAGkAeABlAGQATwBUAEYARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwBWAGUAcgBzAGkAbwBuACAAMQAuADAAMAAwAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAAAAwAAAAAAAP+cADIAAAABAAAAAAAAAAAAAAAAAAAAAA=="});var jF={};Je(jF,{default:()=>H7});var H7,KF=it(()=>{"use strict";H7="T1RUTwAJAIAAAwAQQ0ZGIGfz9ycAAACcAABGh09TLzJSxXDpAABHJAAAAGBjbWFwr59WwQAAR4QAAAbkaGVhZGFwQxcAAE5oAAAANmhoZWEF9gJVAABOoAAAACRobXR4O+AAAAAATsQAAAPQbWF4cAD0UAAAAFKUAAAABm5hbWVTxG/IAABSnAAAA6Rwb3N0/58AMwAAVkAAAAAgAQAEAgABAQETQ2hyb21GaXhlZE9URi1Cb2xkAAEBAST4EAD4KgH4KwL4LAP4FAT7BfuN+V35vwX3oA/5BhGuHEDIEgASAQEFBwkRGR8lKS05QklTXGWPo7JJZG90SUppalNjZWRpbGxhc2NlZGlsbGFHY2Fyb25nY2Fyb25saXJhRXVyb3ByZXNjcmlwdGlvbmFycm93bGVmdGFycm93dXBhcnJvd3JpZ2h0YXJyb3dkb3duYXJyb3dib3RoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hyb20gRml4ZWQgT1RGIEJvbGRDaHJvbSBGaXhlZCBPVEYAAAEAAQYAaAAACTcAfAAAQiAAZwAAZAAAoAAAZgAAgwAAqgAAiwAAagAAlwAApQAAgAAAoQAAnAAApAAAqQAAfQAAmAAAcwAAcgAAhQAAlgAAjwAAeAAAngAAmwAAowAAewAArgAAqwEAsAAArQAArwAAigAAsQAAtQAAsgIAuQAAtgIAmgAAugAAvgAAuwEAvwAAvQAAqAAAjQAAxAAAwQIAxQAAnQAAlQAAywAAyAEAzQAAygAAzAAAkAAAzgAA0gAAzwIA1gAA0wIApwAA1wAA2wAA2AEA3AAA2gAAnwAAkwAA4QAA3gIA4gAAogAA4wABhwAAkQABiAEAjAAAkgAAjgAAlAABigEAwAAA3QAAxgEA5AAAZQABjAEAfgAAiAAAgQEAhAAAhwAAfwAAhgAAbwAAiQAAQQAACAAAdQAAaQAAdwAAdgAAcAEAdAAAeQEAawEAYwABjgIAmQABkQQApgAAbQEA9AIAAQACAAMANABgAMEBQgHMAlICaAKdAtIDAgMmAzkDTgNnA34DxAPoBC8EjgTBBQ8FdwWWBgwGcwaGBqkGxgbkBwEHXwf/CD0IoAjuCSIJaQmwCdgKEgomClcKlAq2CvgLLQt2C7cMMgyGDPoNJg1kDZQNzA4PDkUObw6LDp8Ouw7qDvYPDA9zD9QQHRB8EMgRBhFDEZARwxIHEkMSVhK2Ev0TOROXE90UHRSVFNQVKRVRFZEV0BYHFj8WpRa1FxsXYheUF+YYZBjUGSkZQRnhGgcakBr2GykbRBvRG+QcHhxLHJUc/h0UHXYdox2/HfkeJR5fHpMe9h9kH/8gYCCBIKAgyiEjIUwhjSH4InsijiLBIvUjMSNJI2gjkyPBJAwkfySgJLok3yUzJVoliSYGJh4mNSZdJpIm3ScmJ7Qn1Sf2KCYoiyjMKQgpsCosKkYqXyqDKqIquCrNKvUrOiurLDUsVCxwLJUs5y0KLSktvS3ULeouDi5aLoYu5i8hL0svXC+hMBQwTjB7MOgxZTIUMsUzYDP0NFc0ojTyNU81mzXrNg42GzZKNmE2ljbKNwk3MTdEN1c3bjeAN5Q3oje3N8437jgiOEM4kDk0OU05azmCOgg6iTrwOzQ7QTtjO3E7lDuoO7Q8ETxqDg589zH4RHcB9373FwP3ifdLFfcCBp/4GQX7KwZ1/JAVX7dowcG3rre3X61VVV9pXx4O97h297d3Afco9wbW9wUD9+X3qRX3BQaaWQr7Igb7Q/uxFfcGBptZCvsjBg5edvd15vPm91R3Afck4/PnA/cdXhXkBpj3YAX0Bnz7YAXoBpj3YAX3AeYkBpHzBezmMAaS92IFMQaD+2IFJAaS92IFMgaC+2IF+wQw9gaEIwUnMOoG6eYVk/MF8QaFIwUOInb3E/dU91b3UyD3VxLg78vvv+467hPd3IwV76kGhJ+mhqAb+yXv9yQHsZL3F6H3ExrzN54gpx5ilyadwRrA2ZSqHhPusLCBfKwfUO73UyhsB3uTepF4jggT3fEnJgdGgixn+wcaId529w5pHraA4YNWGlUlh29mZ5GaaB7FJwcOkXb3X9Hd0Pcc0hLH0vcJ0mTR9wrSE/vH+HEVQsNM44oe283F29FSzzQ2TkhDH9KMFa6lq7oeE+u6qGxnXWR0ZV5wrK8fE/33Cfv3FUPFSuOKHhNF2s3F3NJSzjU2TElCH9KMFa2mrbseEwW5p2poXGZ2ZV1vq68f+2uzFRMA+Eb3Y2/P/Ef7agUOfOc76PcK6Pco6RK47GjsE7j3L/fEFU1tW09FGka9MfcL262tnaMeE3SzYwX3N+j7DAZvpJ+ol6yYqhne6PsnBoZzd1J8cTD3DRh8n2W9ohqqqJWutb5zeZgewtAFs2ZLpk8bOD1jLlqyZJN7H75DFedqChO4dHdtfWwbVHi1qbixpKSaHw5MCvd99xkD94T3qRX3CwaZWQr7JgYOOnb5YncB90f3AQP30yUV8QZT4j73D/dSGvcrxMDX9wYeKQYyJ1Qn+wsa+xeg+wD3C/s0Hg46dvlidwH3zPcBA/dHJRXxBvcL9zSg9wD3Fxr3C1TvMu8eKQbX+wbEVvsrGvtSPvsPUzQeDveO8QP3IvesFd9O1vcM1vsL38gz8vcdrWnt+xRZlfcbBWsKk/sZ+xO7Zyj3IGoFDsd290Hp90BnCu0D0vdoFfdI+0Ht90H3SOn7SPdAKftA+0gGDjFFCvc5+wMV9xQG9yJZCvs9Bg73X/cCAe/4JAPv918V+CT3AvwkBg58905tCtkVWLxhxsa8tb6+WrVQUFphWB4OU3b5U3cB7fgoA+1dFdBs9+P5NEWqBQ586PhR6AHi7fd86wPi974VQpn7hPdc92CT94TV1Hj3iPtT+2aF+4Y/Hu2MFcaNkPc59wEb9wOQ+zxQO3z7HigggPcf3R8Oi+j4n3cB95HsA9IW+F7o+0f4nwb7nlYFMAf3Pa0F/DH7SgcOi+os9zT3/ukS8u33b+4TeNwW+Er3NCwGE7hK+0wH9wHo9z73F+8a70Ls+x05Q2lNVx407Qff4ZCmyrZoSFj7Cyj7cPtFHg586PdQ6Pc36RL4G/JE6xPo3LMVeb7MZu0b2/ckt/cj4V6qW6wfE/C6oaHEwRr3BooquiMbQGpvZk8frUIFstOfkLYbyLB3UD4zhE4fLgcT6ObkfzlNT2tGV1abr0AfDovp3+n37HcB9+PrA9T3RhX3mjcjLfe86Svf6Oku9+wkBvuT+/kF9wKYFfcs93MF+3MHDnzn93Xl9wjoAfcJ6/ds6wPVrxV7seto4Rv3MdXu9vcHP+H7CmdjiX5hH/cX97Lo/BL7rwe8UrOovZi4ihnQisZkQRpMW1s2SE2joVEeDnzk92np9xzmAd/3Avdq7AP3UffuFfcZpfcBsfcNG6Cgj4egH5LpBY5zc4V1G/sPMWxARh9fWWgyMBr7Ic77Jvcw9ube9wP3EkXX+xZWdX90Yh6Q+xcVi6LT39ylWlNIXmJRQ2TWzR4OoHb4kOgB5e0D910W9gb3XPiOjOoF/Df7SO3i924GDnzo91Pp9yLpEt7uMu73bOw27BPy9z331RVYaWhXTRr7E/cJTu/3EOjH9xLMbLxVsB4T7LesqLjJGvA0xfsK+xY+QzFUp1y7Zx6i9xkVu7eqy+Cia11RVGxWUFquwB4T8oH7rxXAwrjK3rBXXU9pbTc+YLa6Hg586Pca7fdo6QHl8fdt9QPfgRWIpqWJpBv3PPcPzfcotx+Xs5G4vxr3A233QvtO+wsxLSb7ANgj9xO2rJyapB77DW87XPsUG3V0jY1zH/fT980Vh4xvPDcbUFy40dTKprnhl0JQlR8OfPdE4fdEbQr35RU3CvucBDcKDjF2+Af3RAH3dvdsA/cx+wMV9xwG9yn3rQX7RgZl9zsVNwoOXgr3XBX4XftNBekH+/b3Kvf29ygF6Qf8XftMBQ73CvHX8QHS+F4D0ve8Ffhe8fxeBvusBPhe8fxeBg5eCpoV+F33TQX3CQf8XfdMBS0H9/n7KPv5+yoFDoD3Kvfx5xLt7H73Qb3rE+j3cPdFFezIBsCX9xew9xAa9wErx/sNUz59d1Ye+yPs1geokq6PrYoIxorAdlQaE5BAK3oyfR4T2GX7iBVisWm7u7KttLRkrVtbZWliHg5509LU94V35tABnt/M0Peb2wP36vc7FWqhr4KdG8jwwPcmvYG8crMf3lcvrDAb+y37HiP7XfsBv/tL93j3E9TEpLEfb88FVD1MdD8b+y1n9xvjyaL3P/dM9wvSRCM8aVFjfXeRo5CLj42RH773UgVGBoV5BaN0fot9G/sEY/sOOjW+cq2sq5ykox8i0BXDpdS8o410gnB3+wBPe4adnx4Oi+bY5vdo5gGCFveN5jEGq9gF94AGrj4FNTD3huZSBvti+GsF+5Aw9xUG+z/8EAVOBvd89zwV2/dA1/tABQ6L5vcu5vcb5hL3Auv3f+pO6xP0pxb3xAb3ScXP67h4tT+3HxP4sqigtLcazVri+y0e+8Yw3fwQOQb3RveJFfcb9xIH5p1nbk0+g2sf+xL7iRX3LvcSBxP0pPcKijtKVYMyHw555/gz5gGq7Pft6wP4lfcgFXRqQGA3G/scUvP19y73CL7WwcF3cLkfIuv3hythB5V9Vas0G/s6+w37EPs/+wjP+0/3ddrgkNHbH4yKBQ4yCvDr96/xA50W94cG9zD3Oc73dfdH+wnm+0Uf+6J6Cgb3Rxb4EAf3kKo5JvsdQU/7ZR8Oi+Yw91i45az3WjDmEvcH7/cD7rbuE3exFvil91goBhOvIvuR9yr3A0ru93AoSvsD9yD3kQcTtyDu91r8pQcTrzDY/BA+Bw6L5vco5q73WDHlkHcS9wbt9wjtsu8T160W99Xm+yP3KPcIS+33cClK+wj3IfeRBhPnIe8HE8/3XQcT1/ynKwbbjAX8EDsHDnnp8er3bOYBme33x+0DRgra9xf3IebJ7UEK+wX7Tfti9zMt9zZYCg6L5vcj5vcm5gHs6Pdw6AOfFveM5j33I/dw+yM+MPeL5j74ENjm+4gw1fsm+3D3Jtfm+4ow2PwQPgYOMgr3j/BgCub7P/gQdAr8EPtCBg555fgi5wGd7feF6wOdvRV6q+9Y9Rv3EtLV9x8f96f3Fef8JC/3Q/uoB0mAUy49UHgKMgrp7gOWFvec5jn3AgbGwM80xSq+RRn3NOYgBl3OTOFUz/dE9zMYz+b7hjC2Bvs++y0F9y3a5vuZegoHDjIK9xfs94buA6kW+K/3kij7N/uG+BD3FOb72jDw/BAmBg4yCtLn96vnA4kW95DmLAab987x+6IFxgb095+W+8sFMjD3huZNBoH4EAXU5vtSBiD7rCX3rAX7XzDaBnv8EAVKBg5/6PgY6AHY6Pea5QOKfxX3jug899EG95r8LgXl+HXa6PuWLuD7xQb7i/giBftKLtn8GD0GDnnn+DDpAaHu9/3rA6H3qxX7XPclKvca8vdC1fd29yEv9zH7TftCIvsl+zAe644V6cr3AvcM9x25+xZEOFr7FPsa+w1N9wDvHg6L5u/n91DmAfcT7fd97AO3FvfK5vsV7wb3jdy99xf3X/s2ePvxkR96Cgf3SfdUFfdQB/cghOiZJBomJZv7F4QeDvsJdrj3Sfgk5xKm6/f36hf3CkYVtkYFq8elmK8bqaSAgaQfgaOkgqgbwqqmuLkfUcoFaGZ+g3kbc3CboWsf9yaxyvcP9xAa3lr3a/t1+x/7GSf7Vvsg0S/wYh5A96YV9y72utAeE1j3C8ckJR8TUPssIWBBOyy89yoeDovm9xjm9zHmAezv93ruA5cW953mO/cY3gbk+wm2TalfCPcl5jMG+wT3KgX2navP0Rr3CCe8+wge+7ow3PwQNgb3TfdzFfcxB/dJvJI5MTmT+ygfDovj+BfjlHcS0+ZB5/eA5kXlE9LTFuauBoGfuXLVG/cO8sz19yT7Kochmh8TzHKPSZXFGrW5rtyysIh9rB4u5gcTtPdjMHYHE8qZamSJYhv7IkIyPfsi9x2B9waCH72Hu3hiGltkaCseE9RYXJujYR/TMAcOMgq07vcD7fcD7hQ49w4W9+bm+wP4EPcD+wXu92D8mvtg7vcF9wP8EPsVBg555/gg5wHe6feL6QOP+GoV2vuiBvso0kX3JfcT58T3IR73ttnn+5Yv4fuaBzVzWyT7BIPLwB73q9/n+5UHDqB2+GvmAX73ivca94oD95AW6wb3WPhrBdDm+4ow3gb7KPv0+x/39AXR5vuKMNgGDqB2+GvmAe0W3gb3Cve89wz7vAXdBs/4awW85vt4MOEGafurIfeUBUUGI/uWZ/etBeDm+3kwvAYOMgqXFveM5kUG9wH3G/cB+xsFTTD3huZHBvs391/3I/dFBdHm+3cwuwY0+wAy9wAFt+b7ejDSBvcl+0X7OftfBUcGDjIK947sA/cSFvfs5vsP9xwG9zX3iAXb5vuBMMIGIvsxIvcxBcDm+4Iw2gb3NPuIBfsc+xAHDjIKzO33quwDyBb4cfdwKvsV+40G99b4KgXM/FX7Ye33BvdsB/vS/CUFDiXn+KrnAfdN7QP3TSUV93rn+xj4qvcY5/t6Bg5TdvlTdwH4Qz4V0qj74fk2RG4FDiXn+KrnAffS7AP3TYEVL/d6+WL7ei/3GfyqBw73o3b4AncB9wD3jhXTsc7MwdjCOstO02YIywcw9wJswmb3HAhHBmv7FGhFMSMIDvsRvQFABFn47L0HDvildvctdwH3PPjNFfeJTp27+3v0BQ586Trp8e3Q6DQKE7z0988VmqjmqtMbvrR1XB9/B5JnaJBsG/szK0gtLetX7cjJnrSzHxN6XPdG6QcTfDj3Ogb3EW7S+ykxKGd1WB731/uDFRO8YFtPaEcbYGKeq7jXnsbGtoaJoh8OfOg76fed597pEpP3TCju97/wE3qUiRX3S7EGE7pou8J7wBv3EvcK6vcf9xv7B+r7ElVTfWdaH/d3+0wtBxN24PxMNwb3SPcQFda4zfcA9wC0NFkeE7o+S0o0XSKm9wMeDnzp97LpAbrr96vrA/g694sV6/doK3gGmGhlkWUb+0k4+xH7BPsr9xE19xLr5LTC0B9V1QViUlRoPBs5Obvp3MvK87KzgXqrHw586Trp953p3OkSmez3vuwq90QTevgviRX3Quk8BhN8+Kr7ci33EfsXB61lUptTG/skJ/sD+w77EfT7APcjHxO8wsGcq7Mf+8D3ThXZzcbi5sFMPvsN+wd6aTpHyNseDnzo7urj6QH3IvdFFfgiBvc6nyn3A/s3G/sO+x88+zL7DuT7AvdB6OeqttcfX9oFbEpEbj0b+xBrzK2GH43qFcWgzqnJG8nJeEaeHw58Cujr5wH3RPUDzxb4UOn7eveP93ro+3quBrGNotu9qYSAuR615wWWNU2SWhskU1EkH3D7AC73APuP+wAHDvsm5PHj93HkPuNpChPsUArp8h/3wwcT6tfk+zxuBhPcWgr7Ce429yHAvpSnsR9nB1GIXkIKYzNDRLfSHg6L6feL6O3pEpH3SCrs93fsE/SRFveW6T33YQa91cKUqBvDmGppH/tZPS33luk491IH2HHl+x9OW3VxWR73c/tILQcT7N78SgYT9DgGDovq95Lr0fcjEveD9wMp7RPw94P4l3kKawr7Nv0mFfhS6vtB9/L7fysGE+j3HfuS+0MGDvsm5/g35sX3JBL39PcKNfMT8Pf0+JZzCvtt/UkVczAFgcLEgcQbE+j3Y4z3G8Yf+Cz8AjD3mvvNB0aBZjFVTZiRah4OfArp6OkB7O0DnBb3Rvc+Bq+i9w4oBXAt95Tp+wAG+0H3Jfc39QXa6fuxLdIG+xo5Bff/+0Yt2/xKOwcOi+n4SkAK+Kj7ki33L/xK+0EGDpDp95npAcHp9wPm9wXnA3MW947pPfd7Bp6dopujG7GTancf+8f3OOlC93MHraSmlJwbrJZtgR/71Pc16Ub3cgfXWsk4YmF5bHEetXJmknMbbG1/dHgfoftALdn7kT0HDovp95HpO+gSmPdI93XqE7iaFveX6Tr3Zwa3vc+XqRvRklVkH/tCRi33gulB90IH9xJgx/sMUlF5b2EeE9Cs+0gt3vuROgcOfOn3relLCqn3bRX7QPcvT/cG9w73Kc73Ofcx+xjb+x/7HfsYO/sxHu8W4tbD6efbUDcoNmQ0PDGy7h4O+yLj1uL3ieNA4xKc90Ms6ve96xPanFUVM/fM4/sd9w4HfaHBatkb9x/v7fcN9yj7Ic0lVlJ7bWMfE+as+0Yz3vwrBxPa5ve4FfcB9wSetNnRXjg8Q1g+X/sApPQeDvjaVRUz+8zj9x33Dgd9dVVqPRv7Hyft9w33KPchzfHAxHttsx+s90YzOPwrBzD3uBX3AfsEnmI9RV44PNNY2Lf3AKT0Hg6L6feQ6TvpEvco7hOwrBb4Ien7S/c1Bq660dHWG6WPgXGOH+mZBbOJd9ciG0FLXmNVHxPQ0vtqLfcH+5D7BwcOeuvr45v3SCvrEs3tNuA26veE7kDqE+iAzXoV7a0GcrnBgsIb9wvqxOb1IZ81kR8T0wArk0SRshq15ZCit8KAcqceE+UAW+73SChpB6BuUJhcGy4gZCX7EvcqgdaEHxPogK+I7YpjGmlHeVNEVJaecx4T6QDQKQcOfOb3mej3GHcB9xHuA8T35RXP+1cG+x33AHfX3N2rptEeeugFemX7AF9HGzmGt7Yf90L3nuj7nvcYKPsYRwcOfOc86feR6RKa90Ms6vci90Ir6yv3QxO0mvftFROq2/tOBvsF0E73AcDCpqeoHhNxYfdD6QcTdDz37/tCLQYTstn7VgZsaWVgTRs4iMSiH/eu+0MHDqB29+3pAfeYFuMG9zz37QXg6fuGLcgG+wf7gvsI94IFz+n7li3gBg6gdvft6QF59233ZPdnA/ckFtoG1fdo4ftoBdcG9wL37QW86ftnLdMGT/tXNvdvBUkGPftvTvdXBdHp+20tvAYOfArpAZEW95HpYgba2N0+BWQt95LpNwb7KPcc9xD3BwXc6ft1LZ4GT1JJxAWh6fuCLeEG9xT7Cfsi+xoFNgYO+yLj+CnjEhPAtFUVM/e040gH9574KQXW4/uAM8MG+xT7VfsG91UFxuP7hjPXBvc7+6g1+xUFDovpLfdR1PdFLugS6uz3euwTbNsW+Ev3USoGE6ws+1EH97L3qQXP/Dz7RewHE5zf90EH+7H7pgUO94bkA/hr+4gV6AdlZIuVaR91koSloRr3KAfUat5Nrh7Jrqzc1Br3KAehkqWhkh6VrbKLsRvoB1tPi3ldH1Z2dVJcGvsJB/sAgkkifB4tB/R8lEn7ABr7CQdcoVLAdh55uceLuxsO+3l2+nxuCvuOFeX6fDEGDveg5AP3FPssFS8Hu8aLnbofv5+ixboa9wkH9wCUzPSbHukHIpuCzPcAGvcJB7p1xVafHp1cUItbGy4HsrCLga4fooSRcnQa+ygHQ6w5yWgeTWhqOEIa+ygHdIVydIQegGdni2QbDvdF72LwEhNA0fdnFcxRBaugnb6zG6iydXqyHxOAgKSlgqMbtMOv4K8fTsUFdX1rUnEbc3SXmXEfE0Cba2edXRtHZUVTah8O+xF2+Er3MQH3fvcXA/d0+yYV9ysGd/giBfsCBmD3ChVft2nBwbett7dfrlVVX2hfHg5vdgHV7NnsyOkD941aFez3FAbOlcWvwrJe0hhhQWBzShv7Bn3nosnAytqvsXx6qR9U6fdELWwHe5dylHeOCPIqJQf7C3JTLjEa+yT3Ely8fh4OhHb3uej3NOgS9w/pXewT6N+vFb5LBZOXzrC7G6GsgoOmH4Sio4WfG9OytnEKcHlkCnWUfBt4YYSFfx+frJurrhqhi6OEpR73X9j7dAYT8H+khrSibAq9fF6gH9W5BblwXchjCnaPZpN3Hj0+7wYT6JJ2jHZ1GopJZklgaggOz+P3kuMB3OX3l+UDwfUVyFLIxAVxrrh/uRu4t5ilrR/JUcbGTMUFo6qYtbUat3+3cqweysVRxE5QaKdamFuKGV+KYH9qck7EGE9QylEFc2p/YGEaYZdgpGsewPcKFdDExdPTxVFGRVFSQ0NSxNEeDovixMG1wPdK4gGV94Tz94AD9yIW99Pi+wXD9yXB+yW29yXA+yAG9zT3SgXY4vuANLcGK/sHKvcHBbji+4Q03Ab3NvtKBfskVvcmYPsmVfcmU/sFBg77Lnb55m4K97EV5fgaMQb95gTl+BsxBg5F6C73QPfV90D7AekS4/H3YPETnONFFfeEBujNpNSxfZ91nx+llrOqwRqvdKtroh77kfdBBYuGjpAalpiMoh73LkwGE6zx90D7iAZJNngmbqB0oXgfc3tmclAaWadxu2se9177HQWhfY6IghqCfop6Hvs62gYTbCUG96zMFfs39wEFgJKCl5caoKWVmJIe90j7DQWUhpKDghpxaIR6iR4O+Hn3IAH3FPcX3vcWA/fq+HkV9xb3IPsWBvtq+yAV9xf3IPsXBg55uOe594261bgBi7jzuff8uAP3rQT7Ofca+xr3Ofc69xv3Gvc59zn7G/ca+zr7Ofsa+xr7OR64Fvch9wX3Bfch9yH3B/sF+yH7IfsH+wX7Ifsh+wX3BfchHvgJSRVxc2FzZBtGWsfMzcDFy66neXWhH7GyBahqX55eGzc7Qyk1zTXyxMm3oJsfDvdY3vdx2xL3J8/3Dc5I9wkT6Pfk92AV9wndWQYT8PcjB96Gz/sIXFl8d20en0cFmaXGlKIbrZ5+Yh+Ud3WOdhskdD1bRLhKzqenoKigH/cSBGOAa1ZnG21/pJ24tpWxmpqIiZUfDnsKuviLA/ej95gV93f7UsHJ+y33E/cr9xBUygX8VPtOFfds+1LCyfso9xP3JvcQU8oFDvcQdvdd9wEB+EXrA9L3xBX3/vtd6/fK/F4GDnm49/a59wC4AYu49y+79wW99yS4A/etBPs59xv7Gvc59zr3Gvca9zn3Ofsa9xr7Ovs5+xv7Gvs5HrgW9yD3B/cG9yD3IvcF+wb7IPsg+wX7Bvsi+yD7B/cG9yAe9y/7JxW79wjBBr77CAXFBlT3EwWeka+kxxrtQob7Ho0eu/spFfIH3qmDX19khEEfDviN2wHj+DwD4/iNFfg82/w8Bg73h+b3U+YB9er3W+kD9fhBFSThOPcA9wHg3vLzNt77AfsANTgjHuoWwba1w8S2YVVWYGFSU2C1wB4Oo9z3SuP3IGcK6wPS97MV90j7J+v3J/dK4/tK9yAr+yD7SAb78wT4Xtz8XgYO93rW9zn3Jj7YEvgA3ROw9y33ehX3udb7OAb3AeAFp6ClsLcarm7k+wVUV3NWbB4T0EbeBxOwoYe6xqSvgmR4gnx5fB77TPsnBQ73ctbu1PcndxL3g/dQO9tO3BPk9yz3lhVxy7KBsxvpxcbOrnqubaIfE+iXl5qhqxrXUKxKV1R4amketUsFnaqvoa8bnKKEcHB1gHAfE/CIe4xjG0LOBxPktpx0cm5zdWQfXoxmmWedCA74pXb3LXcB9074kBX3icxr4/t7JAUO+w129zbZPeX3g+USmvdFKuz3HPdGKuwq90QT2QDq+yIV7PdRBneeqoOrG8DGoamiH1gHE7iA90TlBhO6ADz33ftGMQYT2QDc+1YGa3FVclwbW2Ggyh/3lftFMQcT1gDbBg5advkAqQH31MLrwAP31EUVwvkA6/0AwPkAyKn7mAb7YCFP+wz7AvVX91uKHw73OfdOAfdY95YVWLphxMS6tb6+XLVSUlxhWB4O+01292J3EveRFoAtBY+Smo2ZG52bhXd9foN7HxPAfHSQlIIfcFMFeaSmgakbybG4wshgmnuPH6UHDvd62PfJdxL3OvdFO9sT4Pct93oV97rYI/fJBvtFdQU/BxPQ7JEF+237AgcO91je927eAfcnz/c/zgP3J/gYFSHKNefa09b3CelT7SkqVCQyHs+JFb6nx8XFpkxdSWZgW1NtvsMeDnsKvPiLA/DRFfd391L7dPdOVEz3K/sQ+y37EwX3tU0V92z3Uvtp905TTPcm+xD7KPsTBQ5kdqLEWnb3Bsr3Q9CL90/hdxK/1fgI1xPfgPfwyxX3Kl8/UvdZxF63uMpe90FCBvst+1IF45wVydcFPwf8cfsQFRM/gGUKUMYF/RL76hX3oNAt96QG+zd4BUcH5JAF+1InBw5Rzvcz9xZHz4rRi/dS4newdxK80RPL+CCXFVH3kM77Igf3CuuiqrMaqXHbKV1idWdtHkPSBxOrnoe2vaGsgml5gn77QfskHhOb/E/3sRX3kdE096gGE537LngFRgffkAX7VSsHx/wAFWUKUMYFDl7EWHaqdvXL9zzQ5cvIzZF3sHcSE16A9+fDFfcpBhOegF9BUvdWxF23uctd90ZFB/st+1YF45sVyNkFPQf8qPdfFXHHr4KzG+G+wcmqfKpwnx+WlZigqRrJVqhPW1d7bWsetFYFnZmtmrAbpJ+DeXF2gnMfVUvKBrKadnVxdXZpH4kGYYxpmGmaCKj8ExUTPoBlCgUTXQBQxgUO+ybn9/H3LhLt7Lr3RHztE+j3rfdZFVd/+xdm+w8a+wLrTvcNwtman8Ae9yQpPweFb22GbhtIVaPC1emc5Jkf9xMHE1AqBhPwZPcHFWCyabweE1C8sq22tmStWlpkaWAfDovlzOX3euX3b3dECvcZ+TwV989ApcX7vvcNBftN/aQiCovlzOX3beX3fHdECoIWIAr7YPf8FffS1WL0+71qCg6L5M3k923k93p3RAr3IPjvFfcs8fcrJcev+zb3IQUqBvs5+yAFM/0UIgqL5czl923lx9503o93EoL3l/T3khPr3vkQFeNxBa+ZmKWnG6+feHukHxP3fp+hf64b2b3GypofNaQFdYR9YWYbbXaZmnUfE+uadHObZhs4XklWfB8v/RAiCovjzOP3aePf9w5ECvfa+RAV9wP3DmsK+0v7DhX3BfcO+wUG+yz9iiIKi+jP6fd+6J7J18kB903M28sD9035URVUul7FxLq4wsJcuFJRXF5UHs0WoJycoaGdenZ2eXp1dXqcoB77mP1RIgqL5TH3QH7mSPdQnfdBMeUS977ttdqd3BOrgHwW94nlPgap0AX3B/sz99IGE1uA90A6BxOXgDn7H/citVra91A8WmH3KvcfBxOrgDjc90H8ewcTp4Ax6gf7QPwSBUgG94P3NBXV9zkF+zkHDvtNdvdU5/gu5wGq7PcW9yLL7AP3m4IVgi4FjpifjpcblJmEf3yAhH19eZGVfR9vUgVxrKCJoRvCuazKmIvDT5kfjJjjj8+y07kZUs8FcmBKYzYb+yFZ9xXX9y/3Br3Xwb14cbUfIez3hypgB6RqVZ1OG/se+ycq+177Ier7E/cddR8OSArB7QOxFjUK9vjiFffSQKZ3CkgKv+4DsRb4pQaK914FKPsE+5E4CveR+wbu92D8oTHX/Ag8Bvcr+JcV99jVYfT7w2oKDovk9ybk9x3k93p3AfcJ7PHuwO4D9yv47xX3LfH3LSXIr/s39yEFJwb7O/sgBVn9FBU1Cg6L4/ck4vcb49/3DhL3CexP9wa77kD3BJztE/WA9+j5EBX3BPcO+wRWCvsI/YoV+KX3Xin7BAYT+oAtCg6L5fgIXwr3kO8D2BYxCs344hX31ECldwqL5fgIXwr3kO8D91D48RX32dVg9PvCagow/SwVMQoOi+T4COT3emcK7wP3KfjvFfcu8fctJciv+zj3IQUoBvs8+yAFgv0UFTEKDovj+ALj3/cOEvct9wZ87373BRP09+f5EBX3BfcO+wVWCj/9ihX4UuUGE+gwCg6L5vcwzvcx5gHw6/e16wOdFvehBvcv9yDO93X3OTn0+04f+7ww3vsxQ0jT+zA4BvdHFvcw9xLO+xL3MfcLB/cPujgn+xJGRPsaHw5/5/gT58HfEtno95foF4p/FfeZ5zL31gb3m/wyBeT4ednn+54v6vvLBvuL+CcF+0wv2vwdPAbo+McV4HEFr5qXpqcbsp95eqIfE2B9np9/rBvXu8fLmh84pQV1hHxfaBtve5mZeR+bd3OcXBs6X0hVfB8OYQr3clQKofeiLwr3Ky73HyYKo/gqFffQQKXF+7/3DgUOYQr3clQKofeiJQrQ998V99TVYfX7vvsNBQ5hCvduVAr3K/juFfcs8vcsJMav+zX3IgUpBvs6+yEFSPwFJQoOYQq733PfkHcSoe33/+oT1uf5DhXjcQWumZmmphusnn19oB8T7n2gonm2G9m+xsuaHzalBXWDfGBmG2p8nZt0HxPWmHhymF8bOV5JVXsfRfwAJQoOeeT4FebY9xABoe2u9wXR9wWr6gP35vkOUwr7S/sQUwr7Gfx8JQoOx3b4S3cB3O8VyE73Mvcz9zL7M8jI+zH3Mvcw9zBPyPsz+zD7MvczTk/3M/szBQ585j52+JPojXcSoe74AuYTbK2jFcxdur8FE5xtu8F8whvy90DR93bOeNNhxB+8xku7YlgFE6ypYVaeTBv7RIoi+yT7MBo4o0uyWh7N2hV3qYG5tBrpx/cG9w6yq4B6pB77VPv6FfeK970FoWqXVGwaOFj7DvsZZWqVnHIeDk8K9yD5OxX3ykGlxfu59w0F+0f72BUnCk8K90348RX3zdRi9fu5agr7NPtgFScKeeb4FuX3e1IK9yb47xX3KvH3KCXFrvsy9yIFLAb7N/shBTn7RxUnCnnk+BHj4fcOEt/qbfcD0PcCfOoT7Pfd+RAV9wL3DvsCBvtI+w4V9wP3DmsK+yX7vhUT8icKi+X4CeX3e3cB947sA/cSFvfr5fsO9wYG9zT3lwXc5fuCMcIGIftBJPdBBcDl+4Ix2gb3NPuXBfsG+xAHyfiYFffO1GL0+7v7CwUOi+a+2/cJ27/mAfcq3veB3wO4FvfF5vsJvvcPBu7unPcT9yn7HXsoHza/9wvm+8Uw8vwQIgb3UPcXFfcJ9xYHsdCMUEhHk2ofDnzpOen3kOnq6RKY90Yr6/d463LsE3qYiBX3RvhWBtyrj8/Xv4dwblV9YnUeZndjbloaONRx2W8eE7mrgMd/YhppWnNOZkKXpXMebjQFZ8izgsEb9xje1ODlPaJCox9bm1+bpBqhr5uwnB4Ttsamsp/LGtVRvPtA+zpzSvsQHhO6OS0GE3bd+5AGE3o5Bg45Cvd4dzsK9xP4wRX31T+ixfvC9w4FQvv4UQqqcFuKIQo5Cvd4dzsK90L4dRX31ddh8/vC+w4FVPt+UQqrcFuJIQo5Cvd0dzsK9xr4chX3LPP3LSPHrvs29yQFJwb7OvsjBaT7ZRWbqfSk1xu/qXBbIQo5CvcH4I53NAoTuwD3Mvh6FaOYlLGxG6CoenupH32lpn+kG/Ks462WHxO3ADWkBWF4gHZuG3d0lph0HxO7AJxta55sGyhsPV95H6T7YhWbqfSk1xs9ChN6gE0KE3sAKwoTuwApCjkKz/cQEqvskPcF1PcEYOos90YTvwD31PiJFfcE9xD7BAb7TvsQUwpl+9Q/ChO+gD0KE35ATQoTfoArChO+gCkKOQq691o7CvdG+OAVVbxiyMi8tMHBWq9OTlpnVR7MFqCglaOknoF2dXh+cnN2mKEe+yf7r1EKpnBbjiEKfO0/dvdT6EDm1ekSiez3Ke4Trve5xRVSpsZ7zBvAxpmguh9r5wVzTWKGdBs3fdGgH473iQeNn4yenhr3EV3p+wpfW3hobh5/sFuaVIxIjD54bnSlORibtcCZthu7l3pNiR8TXo1zeI5mG/sLXDFEPcRO4dO7uaWrHxOuvfdoFciPs6i1G8SWR3WNH/uT+x0Vbm9pc2IbeW+YrR8TnrCjqsOeooiEph4O+01291vn96LpErrs9xP3IZXrF/eA+0UVeqCmf6obzKu+vaaCt1qXH50H1ZfQrcK3VdQYYlFVajwbOTq46dvKvvOys4t8qx8w6/dcK4IHlWhlimUb+0k4+wT7A/sh9wM59wmBH4QuBYyVoJGbG5eUhXx9gIR9enePlIIfDlUK93d3Afce+MMV99I/ocb7vfcLBV78fyQKVQr3d3cB9034dhX309dg8vu/agpx/AckClUK93N3Afcj+HMV9yzy9ywkx637NvckBSgG+zn7IwXC++wkClUKzPcSAfck9wTS9wQD99v4h3IK+0v7EnIKg/xbJApXCvcX+MIV99RAo8X7wfcMBSr9KTMKVwr3SPh3FffS1mHy+8BqCjz8sTMKi+X3hOb3gHcB943xA9H4mBXLZ/cx8fcxJcmu+zv3IgUkBvsw/SUzCovm94bm1/cREvcg9wSK7HL3BRP099f4iBX3BfcR+wUG+0v7ERX3BPcR+wQGTP0FFfhS5gYT6PtD9+H7fjD3HfuG+0IGDnDj95bk9253AcTo98HmA/dR+EgV9wXC0WK3R4yHGZ1td5dMG/s5OfsA+wP7AN37APc39zrV9wP3F/dE+wr2Waof6rVswfsVTm+dPLBjkhlwT62DrXurfRk7ZQWG+8IV59uy0fW4SUwwPWVFQD2w5R4Oi+f3l+Ux5/dVdxKY90Yr6/dy6xPa6PiVFeFxlp+TraGNGaGNpIKxdwh+pKh+rBvwq+Otlx81owVieYF2bht5d5SWdx+ca2qiahsqbT1geR88/JUV95XnO/dWBra9zqGpG9CRbGQf+1E9L/eQ5z33ZgfmQ7sxU1FwcGEeE7rD+0YvBxO23fuXOgYOe+f3oOf3dXdLCvck+MEV99pAosX7x/cNBfsw/FojCmIK93V3Swr3U/h2Fffa1mHz+8f7DQX7HvvhIwpiCvdxd0sK9yr4chX3MPP3LyPHrfs49yUFJAb7O/sjBVL7xyMKYgr3BeCNdxKp7/fp7hPs4/iUFeRxBaWWmLCuG5+gfn2jH3unqXqwG/Ws5K2VHxPcM6MFYnmBdm0bdHGZmnAfE+yab26bbxsmaz1feh9R+8UjCmIKyvcSAanvoPcG1fcGne4D9+f4h3AK+1D7EnAK+w38NiMKm/cdvfcCvfcdAfd59ygU4FwK9zL3ChVJCvvvBEkKDnrpO3b4HOoSqe337ewTeLKpFY3BVoqNH4uhnqqnHhO4cra+fMMb9yn3Dfb3GMB3vWmzH6emm5yLi1O/ihqLd39sbh6mYFacUhv7KfsN+wH7GFOgWa9iH21veXqLGvcK9wMVeKKBpqka29jO6qeng4GjHkVKNjtHSwjNWhXQy+HbzsoInXWVcG4aOz1LLG9xkJV0Hg48CvcX+MMV98w9osf7vPcMBfsv+94oCjwK90P4dhX3z9di8vu9agr7HftmKApKCvd/Ngr3HfhxFfcq9PcpIsau+zT3JQUrBvs3+yQFTvtKKApKCtn3ERKa90Iu6Fr3AtD3Ain3QS3pLfdDE7MA99P4iG8K+0f7EW8KE7kA+xH7uhUTtEAuChN4IGT3Q+YHE3iAOvfh+0EwBhO4QCwK+yLi+Cbi93d3AfdZ+H8V98/SYu77vvsHBfsZ/O0VNPfJ4jM6CvunNfsTBQ77IuTg4/ea5M3kEpP3SSnt98TuE/qTVhUy9+Hk+yz3GAd9ocNq3hv3IfDu9xD3K/sjzCRRUXttYh/3XftJMgcT9t784gYT+un3xhX3AvcJnrTb0V04O0NWPFz7AqX2Hg77IuH4JuLT9wwB9zH3A9L3AwP35/iNFfcD9wxrCvtK+wwV9wP3DGsK+wn9PRU197/hPToK+6U1+xUFDovm9/LmTua29yMS94/wE7hmCub7PwYT2PfydAr78vtCB/c9+JZ5CmsKDnwKQAr37ft/Lfcc+4/7QQYOeeb4IuYBy/Dz7fDrA3x5FfeZ5jr4Itnm+5Uw2fwiPAb3sHQVeJ6iWvUb9xKg1fcfH/envuf7mi/3B/uoB0mKU1ZbjHgK+yPkMur4MeaAd+T3JBKu9yX7A/cDKe33n/cKE6yA0PiXeQoGE1qAawpW/VYVLPd36kz4gQcTnID7JSsGE2mAuvwhBvgB+MZzCvsk/UkVczAFh6mae8gb92OC9xvGH/gs+4Aw9xj7zQdGgWY7ZH2UlWoeDjIK9xft94XuA6kW+K/3nCj7QfuF9y4G9za7BckH+zZdBfc29xPm+9ow8PtQBzZzBUwH4KEF+xMmBw6L6fhKQAr3aAb3Eq8FzQf7EmcF95L7ni33O/tPB/sJaQVLB/cJqwX7TftBBw6L5jD3PqD3T5T3QzDmEoHp92/qr9al1hOvgPgi5hX3K69Y1vdPQF1n9x/3HQcTt4A31vdD/BYH+w77BPsH+0P7Q/cFKvIf+CgGE3eA9z5ABxOvgDwH+3y8FVxdiXkjWNP3AfcP0tfom7KKZh4OfOns6uPqAX3t9zrtA/f190QV948G9w+dYfcv+yMbXGB4aGofsWpYm1cb+xhPIvscSZv7Nvc50bq4op0faqqoaOUbxL6aoMIfc+YFc01TgnQbOH3Wnx+G7BWzj6e7wRvPk0h2jB/8P1EVq4v3BubTjvsCZ2eHKTpHfu+tHg77TXb3ffT3DPH3CvcCErr3ADDx2fcupfY58xP6gLqmFfcAuQamgKl+q4II+xMHjZWckp0bnZWBeHx+fn2KH3SJeJOBlG5VGHmhqX6sG9CuwsCogbtXlx+MrwX3DJDrzfIa9xH7DKoviB4T9wAokj+Ttxq/7ZKjub9zdbEeVPb3ZyBjB5tiVaNZGyf7B137Dfsl9zV/24UfE/qAs4jzmE4aYkNvTz5Ss5ZvHtL7AAcO+01291nj8eGZ90Yu6BLN7zXhNerT9yOj7j/rE/SgzYIV77EGpIKmgKiECPsAB42VmpGbG52Tgnx+gIB9ih92iXqSgZNxXRh8n6eAqRvMq7m4o4K0W5UfjKoF9wKQ5MLhGvX7A6Y2iB4T6cAvkUWSrxq45ZCitrt3ea4eE/LAXO73RihpB5llWZ9dGy4gZCT7DvcqgtWGHxP0oK+I7JVYGmlIc1NEWK6UcR4T9MDHJwcOdeaL9yf3l+aLtm229zx3ErrxNuA28veZ8T3wE+0gunUV8a4GgqG8cdwb9x33B8z3AOc+tTqYHxP0wFOT+0B+5xq1vLvmtrV/fK8eIvH3cyVzB5pnX5ReG/syOiY7+y73SIX3CoIfE+0gw4eteWAaW2Bp+wBUV5qkXh7eBxPuQCUGE/VA92L4NRX1Bvc+9yRMr/s1JPsx80lpBQ564e3fi+s690Ev5325Es3tN9836veD7kDqE+Yg95n4eRXwBvc49yVNsPsuIvsu9ExnBXD9HBXtsQZ7ucN1wBv3C+rC4vL7A6U2iB8T5MAwkkSRrxoT6kC15pChtrp4eq8eE9FAXu73QShqB5lkWp5dGy4gZSj7DPcqgtWFHxPmIK+I7ZZZGmpHdFNFVquUcB7GKQcOi+P4G+jj9xUSmfeAK/cE0fcEKPeAE+z3Exb36ej7DvcUBvc095YFE+ra6PuALsMGIvs9I/c9BRP0wej7gC7YBvc0+5YF+xT7EAf3YvjLFfcB9xX7AQb7SPsVFfcC9xX7AgYOi+b4DOWLwfdHdxLN7feo7RfIFvhx924p+xP7igb31fgmBRN4y/xV+1/t9wX3bQf71PwiBfdP+LIV8Ab3NvciUa/7MCX7K/JNaQUOi+f3L/dDMOaLyPdMdxLp7vd57BPe95T4dxXwBvc29yZOsfssIfsu9UxmBYL9ChX4S/dOKi37UQb3svecBc38PftD7gcTvt/3QAf7sfuYBQ77F+n4Cejr5gGkbBVxLwWHsauHtxvd3qnynx/R9+IF9gad6AX7AQblk62R1xurqoeJnx+b5QWNaGeQZhv7EIpLX3v7IgglBnguBfMGT/uuBT19eX5RG3Naj41zHw556Yvxi+qL0fcm5ouv90J3Epnt993qNe0T/4BGCtD3F/ch5tPtHxP/QEEK+w/7Tfti9zM39zYfE/+AWApk9+sV5wb3KfceBRP/QD4K+ybk7eM94/dr5D7ji7L3QndpChPXgFAK8/If97kHE9dA1+T7PG4GE8+AWgofE6+A+wnuPPchwL6Yp7EeZwdRiFRCCmkzQ0Sx0h73HfeJQwr4jHb3QncB9zX4dxX3IPcC9yD7AsOs+yn3IQUuBvss+yAFDviWdvdCdwH3lPiBQwr4aN449zcSE0De+QsVQ5jLMPchG/cyvfcEvpMfLgYTgGN6cGM8GxNAPWa2sIMfDvh59yAB93r3IAP3evh5Ffcg9yD7IAYO+HX3WQH3WsjdyAP3WvjXFVa5XsLEubjAwV24UlRdXlUeyBainZ2ho515dHV5eXN1eZ2hHg77W/dbEvdd5DL3URPA974WfYg4aEIaXa9hwB4ToKu5nqChH9cHE8B5czlgxRq23q2lmh4O4/g7A+P4mhXccgWjmJWurBueoH59oh99pKd8qxvsqt+rlR86owVkeIN2bht4dpaXdR+bb26dbhstb0Fiex8O+I9290N3AbP4nAP3k/iPFch294j3JSipBfw5+y4VyHb3ivclKKkFDvdf7wHM+GoDzPdfFfhq7/xqBg73X+8BgfkAA4H3XxX5AO/9AAYO975297V3AffH96kV9woGK/e1BfsuBg5MCvdC96kV9woG9xpZCvswBg77DUUK90L7IhX3DQb3F1kK+y8GDkwK+DP3qV0KNvuxXQoOTAr3rfepFfcLBvcYWQr7LQb7y04K+w1FCvet+yIV9woG9xlZCvsuBvvKTgr33O0B947vA/eORRXv+Cn3JO37JPcdJ/sd+yQp9yQGDlp291Pt9u33MHcB95DuA/X3DRX3JvtT7vdT9yPt+yP29yPt+yP3MCj7MPsmKfcmIPsmBg73DPf+AfcM9/wD+HT3wRXvO9wnJzs6JyfbOu/v29zvHg589xcBpfcc0fcc0fccFHD4Sr0VbKNpubairautdapeWndmbh77YhZso2m5t6Gtq611ql5bdmZuHvtiFmykabi3oa2rrXaqXVt2Zm4eDnzR9x3R2dH3HNES+wXY89d01/PYo9f3MtgT+8D4JvcPFUPGSuuKHuHRxtvST84tL0poCsC9qGtnXGN1Y1hwrK8e/OP39RVDxkvqih7i0Mba0lDOLC9LSUIf2IwVrqSsv76oa2ddZHVhWnCrrx4T/cDz+/cVQ8VK6ooe4tHG29JPziwvTGgKvr6oa2dcZHVhWnCsrx77W8AV+FX3UmzK/Fb7UQUOewr3IfeWFfef+1C8yvtL9xX3S/cNWsoFDnsK9yH30AP3UvhSFVpM90v7DftL+xW8TPef91AFDmR2+WV3AaP4uwOjgxXRV/h1+TREvAUOhHb3X9S61Pcr6AH3D+kDx68VvksFk5fssLsboaaCg6YfhKKthZ8b06i9cQp6cmQKa5R8G3pQhoV8H6aak7eJoAj3RdT7UAaIk4ejipoI91jU+1oGiaiKpJRsCrpyXqAf3q8FuXBX3GMKg4t3jXMeR0LQBo51i3mNhAhBQuEGkVljTVpwCA6L3uXVwdT03gHY7vfd7QOC90wV7wb7Dq73CE33DRvj4aq80x9TwwVjZTp5SBtGjESzbcwI90AGpdUF+24GipGLlJGSjJOSGvd7BqbUBfuDBtWj1arTG7+Kv3muYwhH7fdmKVwHql5Wm1Qb+wr7A0P7CGofQwZwQgXheQaMcgVPBg586Pcc6Pc26AHs7vd77QOXfBX3nOg79xzeBq1dsF2ha1tVGNFYqqmVfI2Ik38Z9yLoMgZ/n8zkRLxcSl3IBfWeq9HTGvcLKL37CB77ui7c/Bs2BvdM93kV9zYH90q8kjcuOZP7KR8O94929668AfcEu/cLuvdYuwP3q/d6Fbr3tQbR+7UFxwbN97QF+7S79+AyB1L7l1H3lwU0Bvs7++AVu/eu3bz7aVreBg51Cvczdgr4fuH8eVsKjvkDAfeS4QP3ko4V4fhbBr9Fy737MfdQ+y/7TcpYusoFDnUKbveWFfh+Rwr8eQYOkXYB95LhA/ck9z4V9y/7Tfcx91BLvVdFBfhbNfxWB1zKBQ73luEBc/kcA/c4dgr3zEcK+8JbCvdf9wIB0vheA1wKDovl94fl1/cTc3cS9OX3EvdCL+cT6vgn+IcV5/cTLwYv/QYV96vlLPfhBhPs+0IxBhPa3fuHLwb7wjEV967lK/eH6+Urvwa034ekHo7lBSErjPsdH2ArMev7hysHDovo95Do6uWOdxL05fc99xcx5RPc98wW96roLPip+xcGE+wuBxPqtPxMLgb7wy4V96zoLfeQ6egtvgartpaxjB6ljKOLkYmM5hgg+w2L+yAfXisu6/uQKwcOeZ34S5/ynZ+VlZUG+yaPBx6gOWP/DAnoCugLjAwO+OwUrhMAXQIAAQA1AEMARwB6ALoAxADpARcBNAFMAWUBfQGUAagBuwHKAdwB4gHpAfwCBgIQAiQCNgJDAkwCbAJxAngCfwKNApUCoAK4As8C2ALhAucC+gMNAxwDLgM2Az4DQwNJA1cDYQNxA3UDfgOHA5ADlwOlA7EDvwPDA9AD2wPnA/ID/gQEBAgEDgQUBB8EKgQxBDYEOwRFBE8EUwRXBGAEaQRyBHsEhASNBJYEnwSoBLEEugTBBMgEzgTUBNkE3veX5ScGqcwF94YGqUoFKjH3kuVRBvti+GIF+48x9xUG+z/8CAVOBvd69y8V3PdH3PtHBQsqChN9TQoTfisKE74pChUgCg4V+zn3KlH3CvcP9ynL9zP3JPsG4Psy+yH7Ez37Kx7vFt/UwOr3B8VSOzQoW0FHJ7fmHg4V+CMG9xylMvcU+0Mb+wz7Hz/7K/sI4yH3QeXrqbTXH1/aBW1LO21BG/sQaceuhh+S5hXDoM6kyBvHynpLnh8OLwr3Li73HCYKC/tM+0Ii+yH7Kx7tjhXmyPb3DPccufsTRzpa+xD7GfsNT/PtHgvb+6IG+xHTOPcl9xHo3PcSHvej2Ob7ljDh+40HNXRXJfsEg+LAHveL3+b7lwcOFRO1AC4KE3iAZPdD5gcTegA69+H7QTAGE7kALAphW09pRxtgYpyrt7+dxowfx4zNhaKJCA4fj2djjmYb+3+C+xl4S8s+9wrasKGuxh8LOPc3BvcOXcj7EPsA+w5mf3oe99b7fBUL2vtPBnVjUnFZighaimCgvxr3pftCBw77kzgK95P7Bu33YPyiMdf8CDwGC9z7SAb7AsdU9wqKHr++oamsHwsV+1b3JS33GvP3QdL3bwv7P/gI9zbl/D8x9zn8CPtDBgv4UuUwCguL5vgQ5gELFfhS5vtD9+D7fjD3HfuF+0IGDhKr7PeY6iz3Rgv4pfdeKfsELQoLdxKa90Iu6Pci90Et6S33QxO6AAtau2THx7uyvLxbsk9PW2RaHgv3J/FL7vdsKEsl9x0LfOY85fDlz+ILB/ee+CYF1+L7djS4BvsU+1T7BvdUBbzi+3s01wb3Ogs0ChO+C0oK94M2Cgu/qXBbKgoLU6/7IPsB+yD3AVFoBQ4Vm6n0pNcbC+kB947uYArp+0ILya91bb4fLe33gSlcB6ViZqBBG/sy+xIL+wpCOaOVZB6n96MV0s262d/GXz9CUwsV5wb3KfcePgoBgveX9PeSAwt297F3AQv3xPdGFfcdMgaBYmSIZxv7FDYLBkVXvUz3UPcw+033MFhMylsFC4vl9yfj9x1fCvcJ7PHuC2asbLS0rKqwsmqpYmJqbWQeC3znPOb3huYLAanv9+nuAwv3vkUKC173RuUHC/uxFfcJBvcaWQr7LgYOeeb4F+b3fVIKC+d0FXUyBXnfyHvVG/dQoQs/Cr8LdwHf6veJ6gMLFfcF9xD7BQYLdwGh7ff/6gMLfOXq5tznCwb7TvsOFfcG9w77BgYLi+b3heb3gmcK7AML0tKcqsYf9yi96vuuBwv3sQULp2Zal1Yb+yMnMPsICwbKu1jK+037MAUO0vdfFfhe9wL8XgYLFfcJBitZCvssBguvdvh6dwHS+F0D0gvl93x3AQsDZgoLeeT4JOYLfOf3n+cL+xIb+xtFKyyMHwtnG4F8j5F7H5J2C8NW+ND5DwvYFvhSC3cB948LSUIf14wVrqWsCxKk6vez5y/3PAv7DAUL+wMGCxq8irKx1Ru/CwH3VPdsA/dUC3cB95PlA/eTCxX3AvcR+wIGCxX3BvcS+wYGC6SgH1PKBXdxCxX3BPcS+wQGCxX3Cvck+woGC/c85vxMMPc/C/eW4QFu+SYDC/cjFb3KRb8FC8X7w/cNBQ6h2B72KQcOFfcD9yMLMN78EDgL0fgMAQuL6fePCwAABAJYArwABQAAAooCWAAAAEsCigJYAAABXgAyAPoAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAARVBERgCgACAhIgMr/wgAAAMrAPgAAAABAAAAAAAAAAAAAAAgAAEAAAABAAMAAQAAAAwABAbYAAABsgEAAAcAsgAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv//AAAAIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL////h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/v/+//7//v/+//7//v/+//7//v/+//7//vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv9y/3L/aP9o/1L/Tv9O/zv+Cv364MXgxeDC4MLgwuDB4MHgweDA4MDgwOC94LTgrOCs4D3fyQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAACLrmuRfDzz1AAMD6AAAAAAAAAAAAAAAAAAAAAD/j/8HAskDKwABAAgAAgAAAAAAAAABAAADK/8IAAACWAAAAAACyQABAAAAAAAAAAAAAAAAAAAA9AJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAAAAFAAAPQAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACAAgA0gADAAEECQADAFYA2gADAAEECQAEADYBMAADAAEECQAFABoBZgADAAEECQAGADABgAADAAEECQANAQIBsAADAAEECQAOAIACsgBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwBCAG8AbABkAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBCAG8AbABkADsAQwBoAHIAbwBtAEYAaQB4AGUAZABPAFQARgAtAEIAbwBsAGQARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAE0AbwBuAG8AQgBvAGwAZABVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAAAAAAD/nAAyAAAAAQAAAAAAAAAAAAAAAAAAAAA="});var VF={};Je(VF,{default:()=>O7});var O7,YF=it(()=>{"use strict";O7="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APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL//wAAACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AuQBdAKQAhQBMAJcAJACmAJIAkgApAJUAOwBlAI8AqQDDAH8AsACqAFEATQChAJ8AQABtACwAmgBgAD8ATQCFABT/wP/H/8f/yP/I/87/zv/P/8//1f/V/9X/1v/W/9f/3v/e/97/3v/g/+H/5f/l/+X/5f/nAAD/+/////MAigAq/+L/9P/9AAYADgAaACAAKAAqAC8ALwAvADMANwA6AEgAUgBcAF4AZwBvAHQAdAB0AHQAd//e/9z/3f/U/97/wgA3/8UAS/+4AC3/xv+/AAr/4f/yACH/8v+9ABAAMQAs/5L/7gADAAf/q//6//v/0v/2//QAIAAG/0b/Qv9C/0X/Qf9C/zz/RP9J/0X/Rf9F/1L/Tf9N/03/Qv9U/1n/Vf9V/1j/VP/N/1T/Yf9d/13/Xf9i/1f/qv9p/2P/Y/9y/2P/Zv9i/3v/j/+L/4v/i/+r/6f/p/+n/43/tv+9/7f/t//C/7b/eP++/+//6//r/+v/8f/e//D+1f9a/tL/cf7I/sX/dP7y/Z/+BOBo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AG8AZgB0AHcAYQByAGUAIABJAG4AYwAuAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAE0AbwBuAG8AQgBvAGwAZAAgAEkAdABhAGwAaQBjAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBCAG8AbABkAEkAdABhAGwAaQBjADsAQwBoAHIAbwBtAEYAaQB4AGUAZABPAFQARgAtAEIAbwBsAGQASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwAgAEIAbwBsAGQAIABJAHQAYQBsAGkAYwBWAGUAcgBzAGkAbwBuACAAMQAuADAAMAAwAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBCAG8AbABkAEkAdABhAGwAaQBjAFUAcwBlACAAbwBmACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABnAG8AdgBlAHIAbgBlAGQAIABiAHkAIAB0AGgAZQAgAEIAUwBEAC0AcwB0AHkAbABlACAAbABpAGMAZQBuAHMAZQAgAG8AZgAgAFAARABGAGkAdQBtADoAIABoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAAwAAAAAAAP+cADIAAAABAAAAAAAAAAAAAAAAAAAAAA=="});var XF={};Je(XF,{default:()=>Q7});var Q7,WF=it(()=>{"use strict";Q7="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BgsAAAAEAlgBkAAFAAACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAABFUERGAIEAICEiAyP/CAAAAyMA+AAAAAEAAAAAAAAAAAAAACAAAQAAAAEAAwABAAAADAAEBtgAAAGyAQAABwCyACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv///+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f+//7//v/+//7//v/+//7//v/+//7//v/++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv+//73/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/3L/cv9o/2j/Uv9O/07/O/4K/frgxeDF4MLgwuDC4MHgweDB4MDgwODA4L3gtOCs4KzgPd/JAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAPObZYV8PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAP/Q/wcClwMjAAIACAACAAAAAAAAAAEAAAMj/wgAAAJYAAAAAAKXAAEAAAAAAAAAAAAAAAAAAAD0AlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAAAUAAA9AAAAAAACQByAAMAAQQJAAAApgAAAAMAAQQJAAEALACmAAMAAQQJAAIADADSAAMAAQQJAAMAXgDeAAMAAQQJAAQAOgE8AAMAAQQJAAUAGgF2AAMAAQQJAAYANAGQAAMAAQQJAA0BAgHEAAMAAQQJAA4AgALGAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAFQAaABlACAAUABEAEYAaQB1AG0AIABBAHUAdABoAG8AcgBzAC4AIABPAHIAaQBnAGkAbgBhAGwAIABjAG8AZABlACAAYwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAARgBvAHgAaQB0ACAAUwBvAGYAdAB3AGEAcgBlACAASQBuAGMALgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABNAG8AbgBvAEkAdABhAGwAaQBjAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBJAHQAYQBsAGkAYwA7AEMAaAByAG8AbQBGAGkAeABlAGQATwBUAEYALQBJAHQAYQBsAGkAYwBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABNAG8AbgBvACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAE0AbwBuAG8ASQB0AGEAbABpAGMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQADAAAAAAAA/5wAMgAAAAEAAAAAAAAAAAAAAAAAAAAA"});var UF={};Je(UF,{default:()=>R7});var R7,qF=it(()=>{"use strict";R7="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AQAABwCyACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv//AKsAVACXAHkAQwCLACAAmQCGAIYAIACJ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AiwAAAIsAAACLAAAAiwAAAH0AAAC0gAAAfQAAAH0AAAB9AAAAfQAAAIsAAAB9AAAAfQAAAIsAAAAAFAAAOYAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACAA4A0gADAAEECQADAEIA4AADAAEECQAEACwBIgADAAEECQAFABoBTgADAAEECQAGACgBaAADAAEECQANAQIBkAADAAEECQAOAIACkgBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBhAG4AcwBSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQAUwBhAG4AcwA7AEMAaAByAG8AbQBTAGEAbgBzAE8AVABGAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAYQBuAHMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQADAAAAAAAA/5wAMgAAAAAAAAAAAAAAAAAAAAAAAAAA"});var zF={};Je(zF,{default:()=>T7});var T7,ZF=it(()=>{"use strict";T7="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AGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBhAG4AcwAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMAQgBvAGwAZABVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="});var JF={};Je(JF,{default:()=>M7});var M7,$F=it(()=>{"use strict";M7="T1RUTwAJAIAAAwAQQ0ZGIH28hugAAACcAABAIk9TLzJTR3FqAABAwAAAAGBjbWFwtEBbHAAAQSAAAAbkaGVhZGLGQ8MAAEgEAAAANmhoZWEIHgQ0AABIPAAAACRobXR489UAAAAASGAAAAOYbWF4cADmUAAAAEv4AAAABm5hbWVa5nUnAABMAAAAA+Bwb3N0/5MAMgAAT+AAAAAgAQAEAgABAQEXQ2hyb21TYW5zUFMtQm9sZEl0YWxpYwABAQEn+BAA+BwB+B0C+B4D+BQEfwwC+0L7ePru+lYF9zwP+JwRsRw5/BIABAEBBS9IVUV1cm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaHJvbSBTYW5zIFBTIEJvbGQgSXRhbGljQ2hyb20gU2FucyBQUwAAAQABAACBAQCEAACGAgCRAABjAABtAQCMAACSAADHAADkAAACBQBoAAAJNwB8AABCHQGHAAB1AABlAAB2AAB5AABwAQB+AAB6AADAAABrAACOAABBAAAIAABpAAB3AAB0AABvAACJAAB/AACZAADdAABsAACUAADGAABgAgBnAABkAACgAABmAACDAACqAACLAABqAACXAACmAAClAACAAAChAACcAACkAACpAAB9AACYAABzAAByAACFAACWAACPAAB4AACeAACbAACjAAB7AACuAACrAQCwAACtAACvAACKAACxAAC1AACyAgC5AAC2AgCaAAC6AAC+AAC7AQC/AAC9AACoAACNAADEAADBAgDFAACdAACVAADLAADIAQDNAADKAADMAACQAADOAADSAADPAgDWAADTAgCnAADXAADbAADYAQDcAADaAACfAACTAADhAADeAgDiAACiAADjAADmAgABAAQABwA3AEwAdgCJALkAzwDeAPYBSAGUAbwB4AIrAnACmQLTAzkDyQRaBQQFIQVfBZcFzAXzBhoGLgZABlUGngbKBx8HgwfFCCUIkAjBCTUJnwnCCfoKHwo/CmIKtwtlC5YL7ww5DGsMlwy6DRoNSA1YDYkNtw3JDgcOLQ58DrgPLQ+KD+YQChBZEHQQshDhEQMRMRFTEWwRjRGuEbwRyxIdEn0SxxMhE3MTsRQcFGQUghTGFPIU/hVlFa8VyRYkFoAWvxcWF1oXqBfFGAEYLxhrGJgY6xkEGVsZ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IBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv///+H/7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/yf/Mv8X/yL/Dv6R/pH+3v2v/aXgbOBs4GLgYuBV4GDgYOBT4FPgU+Bc4EzgRuA/4Erfwt9g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AGMARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAGEAbgBzAEIAbwBsAGQASQB0AGEAbABpAGMAOwBDAGgAcgBvAG0AUwBhAG4AcwBQAFMALQBCAG8AbABkAEkAdABhAGwAaQBjAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAYQBuAHMAIABCAG8AbABkACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMAQgBvAGwAZABJAHQAYQBsAGkAYwBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAP/0AAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="});var ev={};Je(ev,{default:()=>L7});var L7,tv=it(()=>{"use strict";L7="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AGkAYwBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGEAbgBzACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMASQB0AGEAbABpAGMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQAAAAMAAP/0AAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="});var nv={};Je(nv,{default:()=>N7});var N7,rv=it(()=>{"use strict";N7="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ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv//AAAAIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL////h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h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AABQAADmAAAAAAAJAHIAAwABBAkAAACmAAAAAwABBAkAAQAuAKYAAwABBAkAAgAOANQAAwABBAkAAwBGAOIAAwABBAkABAAuASgAAwABBAkABQAaAVYAAwABBAkABgAqAXAAAwABBAkADQECAZoAAwABBAkADgCAApwAQwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAAVABoAGUAIABQAEQARgBpAHUAbQAgAEEAdQB0AGgAbwByAHMALgAgAE8AcgBpAGcAaQBuAGEAbAAgAGMAbwBkAGUAIABjAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABGAG8AeABpAHQAIABTAG8AZgB0AHcAYQByAGUAIABJAG4AYwAuAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAZQByAGkAZgBSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQAUwBlAHIAaQBmADsAQwBoAHIAbwBtAFMAZQByAGkAZgBPAFQARgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGUAcgBpAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="});var iv={};Je(iv,{default:()=>j7});var j7,av=it(()=>{"use strict";j7="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AF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv///+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h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AAEECQAFABoBbAADAAEECQAGADIBhgADAAEECQANAQIBuAADAAEECQAOAIACugBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBlAHIAaQBmAEIAbwBsAGQARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAGUAcgBpAGYAQgBvAGwAZAA7AEMAaAByAG8AbQBTAGUAcgBpAGYATwBUAEYALQBCAG8AbABkAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAZQByAGkAZgAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBCAG8AbABkAFUAcwBlACAAbwBmACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABnAG8AdgBlAHIAbgBlAGQAIABiAHkAIAB0AGgAZQAgAEIAUwBEAC0AcwB0AHkAbABlACAAbABpAGMAZQBuAHMAZQAgAG8AZgAgAFAARABGAGkAdQBtADoAIABoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="});var ov={};Je(ov,{default:()=>K7});var K7,sv=it(()=>{"use strict";K7="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Dvvd+K12CwW0lquImhv3NYwLH6uFvvd+BW0GewttCqypjWgfDvcLQNYLaal5prGkpri3C3cS8fcN9xD3DQvji/cp+yJ28cgL+2Gw9y+u+AXSCxuFhwshl3apdvga0wuDkxuQj4+XHwvHi65udvkdrguDHRILdvlTdwELFXUdC36o+DOoC6WvoaQLAQABBgBoAAAJNwB8AABCIABnAABkAACgAABmAACDAACqAACLAABqAACXAAClAACAAAChAACcAACkAACpAAB9AACYAABzAAByAACFAACWAACPAAB4AACeAACbAACjAAB7AACuAACrAQCwAACtAACvAACKAACxAAC1AACyAgC5AAC2AgCaAAC6AAC+AAC7AQC/AAC9AACoAACNAADEAADBAgDFAACdAACVAADLAADIAQDNAADKAADMAACQAADOAADSAADPAgDWAADTAgCnAADXAADbAADYAQDcAADaAACfAACTAADhAADeAgDiAACiAADjAACRAACMAACSAACOAACUAADAAADdAADGAQDkAABlAAB+AACIAACBAQCEAACHAAB/AACGAABvAACJAABBAAAIAAB1AABpAAB3AAB2AABwAQB0AAB5AQBrAQBjAAGHAACZAACmAABtAQDmAgABAAQABwBeAJ0BFAGpAeMCuALkAxcDSQQlBFEEgASWBKQEuQUDBUQFmgYCBkcGmAcCBy4HrggOCDoIiwivCNEI8glXChEKOwrBCxcLVwt2C9kMWgzaDRUNdA3tDhQOlA7RDxQPbBAHEH4Q/xFBEYwR2xJZEtUTGRMfE00TZBOVE7YTwhPkFBwUbRS8FTgVcBXuFpsW/xceF3IX0BgAGKAY0xkQGUUZshn9GmQaqxrZGy0bpRwxHFMclxz1HRAdah21HgMeeR8xH6cgMCBfISghQiHfIk0igSKgI1UjaSOcI9sj/yQyJEQkxyUQJSAlVyWQJcol9CYuJnkm0yc0J1EnYydvJ8wn9SggKMYpXSmbKd8qByo2KlgqhyqrKtErKSuEK4wrlCulK9Ir9SwlLKQszCz3LSQtWS2fLhMutS7eLvUvCy9FL2cv0TCKMQ4xGzEkMTwxXzFuMYIxojHLMjEyhTKUMroyxzL0MxUzRzO+M9wz8DQGNCI0TTR/NLs0wjUENVA2AzaaNy83nDgLOBk4ZTjuOP45Cjk1OUk5cDmj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AGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBCAG8AbABkAEkAdABhAGwAaQBjAFUAcwBlACAAbwBmACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABnAG8AdgBlAHIAbgBlAGQAIABiAHkAIAB0AGgAZQAgAEIAUwBEAC0AcwB0AHkAbABlACAAbABpAGMAZQBuAHMAZQAgAG8AZgAgAFAARABGAGkAdQBtADoAIABoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAAwAA//IAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="});var Av={};Je(Av,{default:()=>V7});var V7,cv=it(()=>{"use strict";V7="T1RUTwAJAIAAAwAQQ0ZGIPXJ5WAAAACcAABS609TLzJR03CmAABTiAAAAGBjbWFwr01WZwAAU+gAAAbkaGVhZGJOQ08AAFrMAAAANmhoZWEHQwPWAABbBAAAACRobXR4yLAAAAAAWygAAAOYbWF4cADmUAAAAF7AAAAABm5hbWVXLXKpAABeyAAAA8Bwb3N0/4+ZzAAAYogAAAAgAQAEAgABAQEVQ2hyb21TZXJpZk9URi1JdGFsaWMAAQEBKvgQAPgcAfgdAvgeA/gYBB7hWk8MAvs8+476cfn4Bfc8D/iTEbAcRtYSAAQBAQUvRVRFdXJvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hyb20gU2VyaWYgT1RGIEl0YWxpY0Nocm9tIFNlcmlmIE9URgAAAQABBgBoAAAJNwB8AABCIABnAABkAACgAABmAACDAACqAACLAABqAACXAAClAACAAAChAACcAACkAACpAAB9AACYAABzAAByAACFAACWAACPAAB4AACeAACbAACjAAB7AACuAACrAQCwAACtAACvAACKAACxAAC1AACyAgC5AAC2AgCaAAC6AAC+AAC7AQC/AAC9AACoAACNAADEAADBAgDFAACdAACVAADLAADIAQDNAADKAADMAACQAADOAADSAADPAgDWAADTAgCnAADXAADbAADYAQDcAADaAACfAACTAADhAADeAgDiAACiAADjAACRAACMAACSAACOAACUAADAAADdAADGAQDkAABlAAB+AACIAACBAQCEAACHAAB/AACGAABvAACJAABBAAAIAAB1AABpAAB3AAB2AABwAQB0AAB5AQBrAQBjAAGHAACZAACmAABtAQDmAgABAAMABQBKAIIA+AGMAbcCcwKgAtkDFwPtBBoESQRgBG0EiATPBR0FcAXjBioGegbTBv8HfQfhB/4IRghxCJUItQksCeYKLgq2CuQLLguMC/UMbgz3DTANhw4LDjoOtQ8fD2IPyBBMEMYRAhFNEaYR9hJ1EvYTTxNZE4UToxPSE/kUChQmFGMU0xURFZ4V6hZuFxoXjhfGGDMYqRjhGYUZqxnqGioalRrxG1MbsRvvHFYc8R2VHdceGR51Hose6R82H4Ef9yCZIQwhoSHAIpcipSNMI8MkBCQlJRMlKiViJZoltiX9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AE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL//wAAACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi////4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h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AAIADADUAAMAAQQJAAMAYADgAAMAAQQJAAQAPAFAAAMAAQQJAAUAGgF8AAMAAQQJAAYANgGWAAMAAQQJAA0BAgHMAAMAAQQJAA4AgALOAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAFQAaABlACAAUABEAEYAaQB1AG0AIABBAHUAdABoAG8AcgBzAC4AIABPAHIAaQBnAGkAbgBhAGwAIABjAG8AZABlACAAYwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAARgBvAHgAaQB0ACAAUwBvAGYAdAB3AGEAcgBlACAASQBuAGMALgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGUAcgBpAGYASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAGUAcgBpAGYASQB0AGEAbABpAGMAOwBDAGgAcgBvAG0AUwBlAHIAaQBmAE8AVABGAC0ASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBlAHIAaQBmACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBJAHQAYQBsAGkAYwBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAP/wmZr/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="});var dv={};Je(dv,{default:()=>Y7});var Y7,uv=it(()=>{"use strict";Y7="T1RUTwAJAIAAAwAQQ0ZGIOGW9BwAAACcAABBWU9TLzJShslxAABB+AAAAGBjbWFwuS2uQQAAQlgAAAYMaGVhZGKlQ7EAAEhkAAAANmhoZWEINgOtAABInAAAACRobXR4tWgAAAAASMAAAAL8bWF4cAC/UAAAAEu8AAAABm5hbWVTi27TAABLxAAAA5hwb3N0/58AMgAAT1wAAAAgAQAEAgABAQEPQ2hyb21TeW1ib2xPVEYAAQEBJvgQAPitAfiuAviuA/gYBPtI+7r61vqGBRwGPQ8cBokRqxw+ohIAlAIAAQAGAAoADwAWABoAHQAiACYAKwAxADMANQA3AD4AQABDAEgASwBSAFUAWABbAGAAZABpAG4AdQB5AHwAgQCFAIoAkACSAJQAmwCdAKAApgCrAK4AtQC4ALsAvgDDAMkA0QDVANsA4QDnAOsA8wD+AQYBCwEQARkBIAEqATMBPAFKAVYBYAFtAXkBhQGOAZkBpAGsAbEBuQHAAcoB0gHZAeIB7gH1AgECCQIOAhgCIQItAjICOgJDAkoCUwJeAmYCcQJ6AoYCkgKgAqkCtQLDAs0C2wLoAu8C+QMDAwwDFgMdAyIDJgMrAzIDQANNA1sDZANvA3sDhwOUA6EDrAO3A8IDzwPcA+kD9AQABAsEEgQcBCgENARABE4EXARqBHYEgwSPBJQEvgTOQWxwaGFCZXRhR2FtbWFFcHNpbG9uWmV0YUV0YVRoZXRhSW90YUthcHBhTGFtYmRhTXVOdVhpT21pY3JvblBpUmhvU2lnbWFUYXVVcHNpbG9uUGhpQ2hpUHNpYWxwaGFiZXRhZ2FtbWFkZWx0YWVwc2lsb256ZXRhZXRhdGhldGFpb3Rha2FwcGFsYW1iZGFudXhpb21pY3JvbnBpcmhvc2lnbWExc2lnbWF0YXV1cHNpbG9ucGhpY2hpcHNpb21lZ2F0aGV0YTFVcHNpbG9uMXBoaTFvbWVnYTFtaW51dGVzZWNvbmRFdXJvSWZyYWt0dXJ3ZWllcnN0cmFzc1JmcmFrdHVyT21lZ2FhbGVwaGFycm93bGVmdGFycm93dXBhcnJvd3JpZ2h0YXJyb3dkb3duYXJyb3dib3RoY2FycmlhZ2VyZXR1cm5hcnJvd2RibGxlZnRhcnJvd2RibHVwYXJyb3dkYmxyaWdodGFycm93ZGJsZG93bmFycm93ZGJsYm90aHVuaXZlcnNhbHBhcnRpYWxkaWZmZXhpc3RlbnRpYWxlbXB0eXNldERlbHRhZ3JhZGllbnRlbGVtZW50bm90ZWxlbWVudHN1Y2h0aGF0cHJvZHVjdHN1bW1hdGlvbmFzdGVyaXNrbWF0aHJhZGljYWxwcm9wb3J0aW9uYWxpbmZpbml0eWFuZ2xlbG9naWNhbGFuZGxvZ2ljYWxvcmludGVyc2VjdGlvbnVuaW9uaW50ZWdyYWx0aGVyZWZvcmVzaW1pbGFyY29uZ3J1ZW50YXBwcm94ZXF1YWxub3RlcXVhbGVxdWl2YWxlbmNlbGVzc2VxdWFsZ3JlYXRlcmVxdWFscHJvcGVyc3Vic2V0cHJvcGVyc3VwZXJzZXRub3RzdWJzZXRyZWZsZXhzdWJzZXRyZWZsZXhzdXBlcnNldGNpcmNsZXBsdXNjaXJjbGVtdWx0aXBseXBlcnBlbmRpY3VsYXJkb3RtYXRoaW50ZWdyYWx0cGludGVncmFsYnRhbmdsZWxlZnRhbmdsZXJpZ2h0bG96ZW5nZXNwYWRlY2x1YmhlYXJ0ZGlhbW9uZGNvcHlyaWdodHNlcmlmcmVnaXN0ZXJzZXJpZnRyYWRlbWFya3NlcmlmcmFkaWNhbGV4YXJyb3d2ZXJ0ZXhhcnJvd2hvcml6ZXhyZWdpc3RlcnNhbnNjb3B5cmlnaHRzYW5zdHJhZGVtYXJrc2Fuc3BhcmVubGVmdHRwcGFyZW5sZWZ0ZXhwYXJlbmxlZnRidGJyYWNrZXRsZWZ0dHBicmFja2V0bGVmdGV4YnJhY2tldGxlZnRidGJyYWNlbGVmdHRwYnJhY2VsZWZ0bWlkYnJhY2VsZWZ0YnRicmFjZWV4aW50ZWdyYWxleHBhcmVucmlnaHR0cHBhcmVucmlnaHRleHBhcmVucmlnaHRidGJyYWNrZXRyaWdodHRwYnJhY2tldHJpZ2h0ZXhicmFja2V0cmlnaHRidGJyYWNlcmlnaHR0cGJyYWNlcmlnaHRtaWRicmFjZXJpZ2h0YnRhcHBsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENocm9tIFN5bWJvbCBPVEYAAAEAAQEABAAABgEACQEADAEADxEAPAAAPgAAQAAAXAIAlwAAoQAAnAAAmAAAqAAAnwAAZQABhzEAdAAAeQABuQEAYwABuxsApgAB10EAvwIAAQAEAAcAOwCtAWgCJgJcAo8CsAMEAxMDJwNzA6MD9QRlBJkE8gVTBXoF8QZWBm0G2QbwBwMHHAd5B5oHvAfMCBcILQh5CJEIyQj4CW4JnQm9CjwKoAsKC0wLqQvoDBgMtQzEDR4Nbw3KDhEOiA7dDxwPaQ+lD94QLhCrEUARqxIaEqgTAhOHFAoUkBT2FU0ViRYEFmEWrBdiF6gYEBhxGOMZLhmAGeMaRxqjGxgbkxwkHIUc8h2HHasd0B3yHh8eOB7DH1ggDCDpIXIiGiJLInkipSLUIzEjUyOWI9UkDyROJK0k3iVGJWsl6iYOJjMmdCbmJzEngCfYJ+Mo8ykWKYgp8yoKKiYqSSp/KrUrDCtUK6Ar+yxGLIQsoSyzLMgs+i0kLXotti3vLjEufS6YLrcu8S8tL0UvXy+VL/8wjjDaMPkxVTHrMocymTKrMsAzRTOSM9s0BjQSNDo0VzRoNIQ0pzTVNPQ0+zUONTU1QzVrNYo1njW7Ndc2BTYhNpf8RQ78RQ778nr3BPjVdwH3FPcEA/dC92QVf4yQhY8bj4+Rl40fsPe4lMG2GstplnV1aYFKHvzCBCIK+0uQdvdkufdKufdjdwGf+GED6XsVugao92QF9xAGb/tkBboGp/dkBfMGkbkFJAaj90oF8gaRuQUlBqf3YwVcBm/7YwX7EQao92MFXAZu+2MFJwaFXQXvBnL7SgUkBoVdBfIGwLkVpPdKBfcQBnP7SgUO9ypdsfemvHyx93Cn0HcSytz3cKi31vd5qhPfgPc/ZxXCBvhN+UcFVAZmgjNrXBtTimykg48IoHF5n2Mb+wT7Bvsj+xlAuWXH9xrk9yXvjB+gi6CInx6cgaqFrIywjLOTpJsI+2mHFY12jYBvGjpF+w8nZn6zrePa9xTNlR6bfqx9oYII2Px+FTu8Xtj3DOT3KvIeE7+AwnbNNfsYK/sg+wEe1oAV6N/3FtOKHsaZXGA4OPsRJmx9sLIfDup5xlDW9+2d912zErToydeL9ziLvRN/+D7dFXag0jzbGxO/27K02Kwfe5kFZmFkd3MbT1bCqmwfzNeft7LICK+io7W9G537Z3kHrqJ9cVJI+wp1ex9N02DWackI4rHVq+gayU3DSSdNVCQeE59Wnm+cWx77AkQ6X/sNGvsA4lvk9xHC0KqoHvsN99wVfLB5vLgatrGwuq+2alJRPGpXbR7o+8QVE7+Cg05TSBtEUsna5NKxtKofujuiW94kCA5QCsDdA/e2+1MVlZwF+w7mYPc19zoa90Ct9y/3F+AegZwF+wBy+xX7KvuVGvt69yL7SOp1Hg5QCvdY3QO0+1MV6qH3IvdI93oa95X7Ffcq+wCkHoF6BfcXNq37L/tAGvs6YPs1+w4wHg73vosB94vCA5X3hxX3gfuHwveH94HC+4H3f1T7f/uBBg78RfsXdvck9wQi9BLD9x4T0MO4FWuedq8eE7CXmZOKkx+Pio2JhBpUUWJzeR6Gh4OGhBqEkIeSj5KMkJIenJWspJ+kCK+5jbSnGrplp2dfd2xvHg78RXr3BAHQ9wQD0LIVIgr8KY52+Sx3AXkEtwb3ZvksBV8GDvtLeqv5FKkBou73k+kD9w734xXUi/eL9xT3FIr7i0I4jPuB+xT7FIv3f+AeKBb7Ebb7d/dM90yw93f3EfcPZvd3+0z7TGD7d/sPHg77SzsK92nfA/cJFvelnQZ+O5bSH/jReQf7NjIFeQfEoAWnlZZ+dxr8ZAdEOIB+Hg77S4vX+Byd9wzbAffg5QOkFvgdBsT3HX6QBUxkbohkG/t3BvdY91zt9wb1GvcNQdAiMy1a+yttHqCGBcGhqdLmG/cHoTBcN100RkAf+1T7ZgUO+0t6svjvxxL3z91l1xPQ9yX36BXxjPcEXPsBGjdiPC5udJecdh6cdneYdBtofX5uWPcQhp73IPcF5fcn9xY2tV2bHxPgzbimtsEatHDp+xVILGv7F2MemocFp5q72uYb1axWWC9AWyxxH4aLhoYaDvtLoHb3M9H4XHcBm7j3gd8Dm/czFfeu+zPf9zPi0TT4XFkG+9D8WwW4ihX3gffkBfvkBw77S3qz+Bzg6doB9/fSA8f4MxX3B4b3SFn7NBr7DkJUSnB4nZ13Hp14d51tG2x1emtX5YC99zLu9wH3GfctMPcE+1eVH6/pBfd5BrHhfJAFgYFuiWQb+0gGDvtLfaf4BLn3lXcBrej3j+UD+FH5QRX7hYL7PvtK+18a+2bxLPcK90av9zPU9xo91yJUdH9sUh6g9wzu9xv3SKcI+8773BWtr6+TsBvyqSck+wVdV0xASNX3PK2MpZOjHw77S5J2+OnlAfdDexXHBvdp+SUFq/v/B077NKGCBbOjprLDG/dtBg77S3mr+Q6wEsHZRdH3csxV1hPk92P3zRX3BDi5bUEaRV1hTDpgzNjms7Kuph5vphU0SmVhNBo9zzX3EPc6p/cIv858yPsW4R4T2MGx0bznGtdMzfsFNSxVJjqraeBAHt69FWihMMTZGrurwNbYrVVUM1ZmZHMeDvtLjnb3jbb4DqwBqub3hO0Dwo0VkHcF946Y9yr3SPd1Gvc7KvcK+w/7Fjz7BfsZObj7EvcavcCdsLceh3BU+237h2MI98P32BVpamF5ahshdfcT192i6N/3F437T0p2iWmJeB8O/Cl69wT3kfcEAdz3BAPcsjcK+AEEIgr8KfsXdvc7dqZ29/D3BBLe9x77FfcEE9jetRVym3SwkJGMjZAeE7iNkZGMjxuRj4eAb3txe3offHx6f3+DCH6ChYiAGoaNiJGOj4uMkB6VjberpaoIqK6Ut6sasmqvXWpxdWceE9SU9/4VIgqgdviedwGl93oV+IX7egXJB/xF91s+CvchwvcfwgGW9+MVOgr7jQQ6Cg6gdviedwH4n/d6FVEK+ET7W/xE+1sFTQcO+4N69wT4w6sB90L3BKbrA/d09zsVoAaY57HDrbMIn6PG1tYavXf2+zL7BVsySmmfaKihm5elnoCZgZoegpiCmZ4asrmfvsG3VkFLdlZ1UR53U3dIhU0IWfsUFSIKTgrh2APh+y8V92mkPAZkeaOwH/klB7Cdo7Ie2qT7aQYOTgr3PdgDrPsWFXL3afnR+2ly2geynXNmH/0lB2Z5c2QeDvtL+5C5AYn7YhVd+Iy5Bw5NCvdO1gPF93wVxH/Siyca+1MHOaxt2B7wpFoGUm2qwx/3UwfbKLRbjh64k/Gv3Rr3UwfFqajEHrykJgY/aXE1H/tTBydEi1J/Hg78d/swdvnmdwHM0QPM+0UV0fnmRQYOTQr3a9YD2vsyFXLwB9isp98f91MH79KLxJcepQdSl0SL7xr3Uwfda6k9HiZyvAa9sHRLH/tTBznzZbaDHl6JJWM7GvtTB0tmdFkeDqn3fcIB+PHCA673tBX5Bfu0VPd9/M4GDvuv+BW09260Ab2292u1A734qxU4zkje3c/O3t1Hzzk4SEk3HrYWx7m8x8i7Wk9OW1tPTl27yB4Oi8L3vsL3gXcB94vCA5X39RX3gfuCwveC94HC+4H3gVT7gfuBBvwsBPilwvylBg4g+15292G9WdL4U3cSyOH3Y+ET3OyqFWycvXm0G8rT0rGaH1KMuFfPG9GnxscfdwZygYBfZxtpe72tH/gUNfv+BxO8XW9iZFwbSnG/yR/34TX8gAdziHiHex6Da35yYxpmnmWopp6ysLB+oYKvHoebiJ+KowgOqHb4mHcBnLgVr2b3cvdy93L7cq+w+3D3cfdw93FosPtz+3L7cvdyZ2b3cPtxBQ7S9wTAwsD3BAH3aPcEFOCV94AVOgr3XvcBNwr7pQQiCvtL+Aqs95GlAY3f99zbA/D4ChX3CQZt+6uFT4RTCGqHdvsFUxuCgI2QH5qXi7Aan3ieeHZyfWVatnS1HuiMsOac16f3HJz3FqL3GQj3DgaVrAX7FAb3PaCc374bm5SHgx+EhXuBGnacc6Sll56os2ena/smZfsw+w97HvsEBg6yoHb3brX4MXcBj/cT+AT3TQOPFvdUnQZ8WZC1lI2Vj5cfu/cOBfeXBrz7DgWPf42BghphWYZ8Hnn3jp0HXX2vsXof+4/42QVxBvuN/NkFZ3t5ZWAb91z3hhX3Bfeg9wX7oAUOe4u197K195i2EvcL8/eB8jb3BhP0qBb35wb3EO/V9wLWXdD7AqMfjQcT+OOlsrvTGvcy+zKaKDMK9/QVE3j3jweZ0oaX9wytQk77DfsKhmMePGEV3gYT9PHRaPsJOk9WSx8zBmGKq6MfDjugdvkIuHefEvcR8/f3pBPQoxb3u50GKgoTWPis91QH6sxqN44fpAZ69zYF/MwGE7B3B5+K3IYjGvxXB1RdeFQeDkOLufeztfeOu3mdEvcO8/eWoqimE+6rFvipBrn3PgVsBlhzckIhG/szBnZ4ma4f94L3MAfboWlPH6L3enQGT3VpOx77MPeO92sG4YdVXZgfpvco/KcGE9x5ByUKDkOLtfjhtQG3+OQDtxb4ywak90kFbgZcfXgv+x8b+4cG+DH48AWm/J4HfPtDBaQG0Z+ayvcSG/dvBvxB/PgFDrKgdvfXtffIdwH3FfP3wvMDsiQK93v3wvt7Jwp597CdByoK+H0HPAr7bPvC92wmCsV6sveuzvelsgG09wb4UPcIA7T35hX7QvcU+0n3Y/dj9xj3SfdC9z77G/dD+2D7YPsX+0P7Ph73Bhb3Irz3OPdA90G9+zj7IvsaUPtK+zj7PVf3SvcaHtk1FZqKBa2Wnp6wG/cSBrCeeGmWH5qMBYesiaekGqSNp4+rHnyMBWqAeHdmG/sSBmZ4n6yAH3yKBY9rjW9yGnKJb4dqHg778jsK9w7zA6skCvh9JgqyOwr3EfP3mvdCA64kCvdhB6yp92b7gQWaeZN9gBp3coJXHnn3xJ0HapFziEPc+5X3thjV0L27zdAIxcaunrgbnfuYeQe9r4F0gIR8eXkfPz09QzhHCPdxJgqOi535KHcBkfco9933WQORFvdrnQZtZpG0l46akp4f9yb4Ffc2/BcFkXyQdYEaX1GLeh5596SdB4BTodBtH/uH+M0Fgwb7bPzLBVJ0Rmd5Gw73YjsK9w28+J/zA6cW93ydBlhkprof+FcH95j8swWdBveJ+NAF/HQnCnn3sJ0HVGiUzB/4dgfSyJWoHp37XAf7dPyS+374kgX7XXkG2oWZZUka/FkHXGFwWB4Osph2+T13AfcLvPgxvAOogxX3eZ0GWGSmuh/4Wwf4TPy3BaH44QYxCvt5RQr8IAf8E/h8Bfs9eQa+lHlpqR/8mwdcZHBYHg5li+j3aer3SuUBr53onffJneSdA8f4nhWbBp2OjbbNG/fsBs2OYHmOH5v3K/ybBuL8OxWdBruOo5OuG/dNBq6jg1uOH533Y3kGW4hzg2gb+00GaHOTu4gfeQb7A/xdFfjH91Z5BkeCe2pDG/vdBkN3rM+CH3kGDrJ6svkEsgG09wj4T/cHA7T35BX7QvcW+0f3Y/dj9xb3R/dC9z77GfdH+2D7YPsZ+0f7Ph73CBb3G8b3Q/c29zvC+z/7IPsbU/tG+zr7PFb3SPcaHg7goHb5DLR5nRL3B/L34fIT2KQkCor4sAX34fywBigKefewnQcqCor4bwUTuNTMmqUenf1keQely3xCH/xvOQr7E6B298C097izeZ0S9wrz92r2E9ynJAr3ZAf3voqi1fcPGvcFasv7YTMK9+MV95QHE+yenZCcHvcJjMl3+woa+xJrbvstf4GSkIQeDjCL6fipuQGQFvi3BrD3YQV3BiptXH1LG/uvBveA96f7XfeWBfdmBu6mSGWVH54GgfcrBfyaBveh++4FDkOgdvkOsgGuo/dl8/dlogP3RiQK+LIH9wyM5W+KIKWNGIb3PwX8yAaG+z+liYz226f3FIoZ/LI5CpI7Cve68wP3YCQK92AH9033vgXKsrCJrhud+3x5B7+bf3yBhH6EgB/7IPt7+zD3gwWFlYiUkhqdpZS/Hp37vXkHwKxke5cf92D7wAX7ZDkK24ud4q74IarinQGl9w33T/H3T/cKA/d8FvfGnQYyfrS5H/chivc41fctGvcj+yvp+y4euZe05B6d+8R5B+SXYl0f+zf7JS/7Jfsv9zVD9yeMH11+YjIe92D3DhX4IQf3BNYx+wg9WvsF+x4fJRb7HFj3BNr3Ac7r9wyMHw6yoHb5NXcSgvc4+zj5XftG9zUT6IIW93qdBll7n6CVkJaSlB/3Ofdf9yH7ZwWRgY6Cgxp2cnxWHnkHE9D3wJ0GYl+5m38f+2f3u/dC92UFE/Cuqcevphud+3x5B8Cdfnp9g3yCfx/7IPs/+w/3RwWElomVlBqfpJjAHp37wHkHuLdbe5cf91H7lvtd+4gFZmxRaXMbDvcEoHb3trP32Z2WdxLS9wf3NPP3NPcHFA4T3veUJAr3Wgf3G/cgrfcg9wWC5MwfnQf7GWU6+xv7EimATYof948HE+48CvuPB02MKZb3EhoT3vcebNn7IB55B9J8M/sG+yH3H2r3HB/7WjkKV3mtadH4JrkStPUTcPhO9hVJrqVQtxvUjfcEth95Bn2MdkRrG2lry8F9H/cH994FMwZL+1MF3HxV9wL7Ahv7IkL7APsT+zWv+w73O+rh66icH2j3CBUTsCBwQCdPGyuJ90LU9JLh89HM+yg4mR8O+15292G7+AXC95GtEtjZ92HyVvQT+vcysBW9Zcl5xowI6Izo2vceGvJV4S+2HhP8yKKsx8ga9wc0vfsAPPsEUSge/SMHWIBZhlge4gaOpJCkpBqK94UV+IwHx7y9wNamT0mMHlyMeztleneRdBt3eIF0c56BoB+jnpGfGxP6wLn7OktAaksxWVSmr3AfDvuk+2B2+RvYAZCb9zL3CwP3g8cVeFpiK0UaY55tp72hysHPfNSIpB73YPhNBSMG+wX7+QWJBuh5bPec+wAbTGVUPYofdIt3insemwazjprWwBvvrfufLJgfDvtReLr5NLMSs+5hvPeC7BPo95P4UxX7K2hLNPsXGiXn+wP3GPcL7fcA9wj3D1TPQ8QeE9gh3iW5zxqnsaGtsqR7d50ea6maYLUbqKOcqs/7Cq49Szh4QDP3Ali7Tx+qbhWXiOYkhvsCCDKHXzZBG2ZtpK13HxPodq58t7Ea77Dg9wKoHg77iHi591i6ZLz3Tq8SofMw5hO49xn3kBVlhkJmMBoo9wRk5vcE5aftHnGSBUl3Y3ZPG02KLqbbGsWws84eE9iml4OwG52blKIfE7ideZJ5HhPUZ3yBbxtaWrHPsrO+wB+vjKt2km4IXJaohp4bpJyipcUwqVM3+xZnIB+MVbdpwHgIDvtR+3Xv9xft+SB3Ese7hcb3nLUT9PdZ+NwVPDNR+zUtGvtU9wBg90S4r3dicHZDUZgejnxomHIbY31vd2PAf6rxy9n3DfcS+xOP+wL7An/st/cgzvcCzOIfvob3I7zFGqt3mnNPJyV8fx4T7HKOa6KuGrK1npaQHomdBWdBWF1yoWbUfh8OO/tJdvdzdvhP0mJ2Eoud8uD3YeQT7vcNFuD36wa3nqzDvhvGs3RBjh+Z/FyNVpJ8j3MZ5AaCnoS3lxqA+IUF2olbzDkbQE9vM20fv45sw1MbNmk5Sx+dBhPeqYygya4bs5FSWB8O+zZ6sfe7v/e0rQG28feG7QP3n3oV9z+693H3HfckT/dh+zT7NU77cPsR+xjF+3r3Oh/7DvgVFfcdrvcr4fCe+0kgjB77hVcV94QGMnH7Yi4scfdl4R4O+/Z6vfhqdwHj4AP31fAVeAZuiX5kYRtaiM6uH/gEB1d4bHsxeQh3B6vDj/sXH/t4B1+nW831k+ikkB4OoHb4QdNIoBL3C9YT0PcLFtb3lgb3L/tVBZKCkIGDGoCBgm8eefd/nQdQca+wbB/7PPdqvr6qpqumGZmclpCVG5eKlYGefpOEm4ebjAikjKWYsBqvYp5qb22Ae3geQU9ISUNLCBNQ920HE7A5aWWCYogIdgeuir6FNRoOeuL45dcBxp73Z7H3Xp4Do3oV5wb3P/gSBY0G+ySqifuC9w8b4aD21B94BnCKd0FXG2JuurZ/H1/3MGX3UWD3Ogi1gGutWhtFbfsSVo0fngajiqPawRu/qi9CnB8O+zaQdvifdwH3fHsVsAaht+L3RMH3AgilwJy1tRqmgqhdWIlQWpQej3WOenwabYN0eGYeP/ss+zL4KFFyiIxFhBl4B7SGpIeZZwgO+1L7X3b3cOv3uOf3tncSprx/wHSy97O8E/v3LfguFUJQVlMxGvtD9zdp9yinwYlRU2RtaJceapZykHmJCG2JfHtuGmDAgab0xtz3DddDsT37PUHIzuHh1bKbHoWMuIW7G8bBl7mma5JyUTlsfHEfZKN+rKsataizqpgerYX3GbDAGqF+m29aRU9zbh4T9W6NcpynGqyelpeQHomdBVhsbGJktm6pgx8T+29rfGhoGmadZrRrHg54t/hPqgGu6vet5QOu94AV+w7v+xn3Ifcj3fcX9yr3JCDo+xv7HTT7G/sUHuqqFd6h9wrw9w2w+zQpM2gqMPsCXvco6R4OeOn32uEBlffcFZwGxKucm6cbxAZu+2yLbXxzCHdrZHJjGn2VZLiymqe0lB6XwZ33Apv3Twj3BQZ6+zUFOoKH+0b3CRvTr9jyH3YGdnhKXGZ1v7Kxi9uX9wke9xrh/BEGM2P7AFiAHw77ZXb5NsIBxuP3keUD9yezFbBpq2/KjAj3K43H7/dKGvdPRbz7LfscQCb7Cowej/w7BW2HaYR0HuIGlbOLrrMaiPdwFYX3ewXCiqvAwhv3GLdP+yL7B20w+w1kXaK5dx8O+4j7aHb3dfT3vvQ72xKztffQsRPcs/dmFfsV1DL3G/cKq3RiaHhmZYoefXyQkXsfkXt6knsbcnF4aGyqcL7T4dL3BfFQtzQgJoj3H/HK39yMH5+ghISgHxPshZychpobuamcp75SlGL7OPsD+xT7Nh8OO3a3+BvhAanw98LpA/jg+DIV4fuXB/sU+z9C+zH7F9n7NPdD907F9wzs7kbRNLofjQdWFuBAqUj7ABo+YEs7Kzj3DfcK8ee96h4O+4h46Pfh6AH3StUDp/fBFa+YsNGtG+YGhVZ8+xEoGiO1XsbonfcHzYceeQaEYn1bXYxYjIHKj72b93AY9y6KBej7fwdmYHtvch9rZ3xidj0IDiB5u/hxdwH3IeH3edoDkvfuFaEGl6yeva+MCJiWe3+NH5Jml/sCQBomxyr3DPch1PcJ9yb3A2Xi+yzLHoV6BZ2J7k/7Rxooc/sML0tay9nHgvcUgdMevIRupWUbOGkvRoEfDvs2+192+hN3Aabm9wi7Xrj3DOMD94V+FY37W7J/BfdnB7X3Oqr3fPdG+yrTUR/3LgdanI37PwVo+0Fj+3D7UvckTNEftLAV+EwHm/NV+zz7SChndokfYRZyKrj3QPc+6cCiHw77e+P4ytcBmPt7FfEG9y73rgWNBjqaoftd6Rvnpfcfv40feAZvimxAThs8cfdctYIf93b4JAUlBvsv+6EF9yBzefcVJRs0e/sfWoUfnQaokKPevhvbqPtDRp4fDo77Y3b5bHcB99nKA/fZcBX7Xcr3XQfAls2jusqqtaO+l/eBjsKqj7mVCJ0Hl3Vpi38b+xeL+4v7EX0fgz9XbWOBCPhvTPxvB2OVV6mD1wj3EX6V94v7Iht/aYt/dR95B7mBqoeOVJf7gaNYqmG6TM1zwIAIDo56ufhrdwG18vc59fc48wP3/9MVXKnDYcUb9wXL9wn29yo29yP7Ph96B/cHdK/7CCYaRoP7JTlBa+Kkjh6XmJzUzhrJf8RiYn9STUicQpd+HnONbjNBGz189xjQ86v3EfcMox+cB/s6MvsV+yb7Asb7GPcQw8C3uKgfDld5p/gV0fdDtBL3Hd1I5ZKt91DZE+6d99YVkImQipCJCLGhpLOvG6SUeHeNHxP2j094Qk4a+wbESfL3N+T3KPdRHtVdBcAHQbAF8mb3a/s6SG1gVfsK8Fb3DUkeN4x++5H7JhtHccTMHxPu26La2xq/YrVcU0xCRXoe+FjPFWOf+yfN8Bqtn6iz9wqU+3NwHg5MoHb4i/dKZrAS94TzE7D3KyQKivdqBdqRsfeb9wQbnZqBfR91ZXJtGhPQa6V/pq2ntLTMba5W+x1Y+yoqdh73MX37HeH7Jxt+goOEh4+Hkokf91lerC6M+2uM+2cYKAoOO/tfdvdosfgh1wGv9PcazPcn7wP3qX8V+2jK92gH9xuK9wTu9yca9ydJ9wv7ECZzSD6NHo773QUoZvcH8Neb9xXmrR+dB/sQM/sd+xD7NvcEMvcVjB/KsRX33geljIq0txvYpSgy+whTLjAfDql5tPhv4AGu9fc37PdA7QP3+NAVYZu8XtYb9wzC9x33Eew+9xckpR/3SIwF3/ydB2tHZiVlH52HxrerlOSSGSZOQTb7Bhr7FLf7Fvcbxcq7sqAectQVYo1ePVIbNob3LNH3CsLw7a0f9xAG8G3B+wkjGj2L+yIwTl7Puo0emMWV0a0aq43cWleOP2eKHopglUGdXQgO+3P3Gnb3/HcBvff8A/d69wUV7tzb7+463CgnOzooJ9s77x8O99F69wQB9wP3BPdx9wT3cfcEFHD3A7EVKQr34RYpCvfhFikKDvxI+HR296h3Aan4fRU4ClkKHvcx91pACm2hbHt9hYGHHg77pPh0dveqdwG5+F8VWQof9zI2CiP7fAU4Ch73VBZZCh/3MTYKJPt8BTgKHg78mJR2+UV3AfsQfxX4ZPlFBVMG/GT9RQUOzn/K91TKysr3UsoB9wfOA5/3hxX3AAb7JrD3G/sB9zkb6taws70f5QdLVzljNRv7ESXb9wRkH/f4BqnKBfwlBoqWipSVGpWMlYyYHvhCBqnKBfxRBvcArfbd9xEb5dxhT7wfqMgFy0sxsywb+zX7HyL7KGYfPQZtTAXrBop+i4KBGoKLgox+HkkGDo5W3q3P93Ci96njAcSy96zRw9cDpbcVmKabkpsbmcJvbsMfbcXGbZkbrPdg9z7NsF3QZc8fcbp1ua8an9rns8MesUIluzIb+wX7F0T7FPsG7z/3AIwfjaIFQYoqzdwa39C43Y0ezY3xZL5xCDkjg3V0GmOiXKVdHq5NtU1cGl9LTVt3V6emVx6lWVygdxtyLVB/dx8O98T7Z6z3Oa/4S7XQdwH3M6ue27jTrLn3su0D94z3EBVnS1ZQQBpFqEjl7qnb2O5kv2reHu/W91z3SvAbsKNrRvsmJvtUL0hxrK6inpGXH6eMoKejGqN2nnOKHluKal5YGkO+UOT3QfcJ94f3Btla3TP7Pvsf+1AhJR51tYGmpRra9xb3AcnLHoKbBSdI+zf7CPsRGopWpFiZZgiabRXB+wCdXWUaY39jXFxlt8u8r8WvxB4O9wSRdsLf+KTdUsQSpaz3JMDl4xPu0awVkoaQhpKGCJqem5KXG6qnZHukH/csw8j3QvcZGhOu0IvlfOMets6YmaAbovMqhJIf+1X7JJZ3BdOeOSH7DZpM03Af9wLjfKIFhn9veXwbaYa07e+C9wFGox/3SvcfBRMe9yb7OIqPext5+w4veHEfznZBt0Qb+x09R/sRLt1b02MfmoKTgYEaeHd/hYIeonsFtriYoJ4aqWCpXqYeV6hSqcwaE97I1bjE9xye+yn7H/sVZPslYFAexjWdlHobdYhANoCICA7gi/D4v6sSrZqR9wj4QPcJkJoXrRYT3Pe4Bnv3LAX7Aalt9w/0GvcW2/cI9xr3INX7CPsaJ2X7FCZxHnv7LAUT/Pe49zYGE9x8Blp/dX9hG/soBo2nBfceodr3GPcQGvdS+z/m+zT7M/s+L/tNih6K+xLW+xv3InaNbxgToPsoBmF1l7x/H3wGDvcgjnaydvhp9xjEdxL3Q+YTePdDFvdHBpu2hp6ZGqxusHCxHnWrdqysGqqmoaChHhO493z7obtPl10InpOvq80aw2qxa6wea6tspqwa2dDgwX4ekOAFrYZ0pGoben2LjH8fVY6HlpC1CFyEdlRbGkfLfcKOHmJdf2F3Xfts95J5mYO7CHCCZVpgGmTQQLRdHktKXW8+GnSgcZtqHpV2lHNvGm5njHceDkYKq/oiA6v3jBXpMdFF4iSurhhbxy3xZLEI+bnD/bkGsrHp8bvHaK4YNCRFRS0xCA47oHb6IkkK96wWw/m5BrFk8S3HW66uGCTiRdEx6TEtRUUkNK5oGMe78emxsggORgq893AV+bkGZGUtJVtPrmgY4vLR0enlLeVF0TTyaGgYu0/pJbJlCP25Bg47inb6IkkKuPd5FfI00UXlLeXp0dHy4miuGE9bJS1lZAj5uVP9uQdlsiXpT7sIDvf7kXb3gb/3gXcBo/p8A6P3jBX3ByXCSNotsKsYR+pvoDbkCPmqBjYycHVGLbBrGNrpws73B/H7B/FUzjzpZmsY0C6lc+EzCP2qBuDkp6DP6marGDwtVEj7ByUIDnKQdunC+IR3Afi3wgOa9RX3OvsOBen4Ofi7VPyE/ALpBw73xOvA91zA2ayLdwGp+iEDqfeNFfcK+wO0YeX7A7SsGE3ZBfk9wP1lBiPv8+8F+WXA/T0GydlirDH7A2Jh+wr7AxkOO6J2+iF3Afc+wPc0wAP3Po0VwPl8Btvc2zoF/XzA+UwH7T6stPsD5WG0+wP3Chn7A/sKYWL7AzGsYhjt2AUO98TuwPdRwAG47hX5PQZINblq5fcDtLX3CvcDGfsK9wNitTH3A11qGM46Bf09VvloBvAqJi8F/WgGDjuNdvohdwH3Q8D3NMADt/d6FfcDMbVi9wP7CvcD9wq1tPcD5Wq0GCk+BflMVv18Bzs6O9wF+XxW/UwHKdgFDvf79wG990C9Aab6eAOm94kV9wghsmHt+wmzrRg/6gX4xgY/LLNp7fcJsrX3CPUZ+wj1ZLUp9wljaRjXLAX8xgbX6mOtKfsJZGH7CCEZ90E1FTTh4uEF+R8G4jU0NQUOqaB2+F3C91V3AffdFsYG97n5VQVSBjn7VQX8BQY291UFUgb33v0PFfs4+BcF99YGDvtRd6j4ALL3srsBpeH3n94D+A/37BW/SG6bUBv7Cjsn+w77EN819vdWvve09xH3MEj3WftZV1h7fm0fslkFoLSkldIb8bb7NvtUhB+DaBUrd3r7YPsbG0B/6rfZsfcn9wDIqmJ0oB8Oi8L3s8L3k8IB+DvCA6QW+Fn5V/xZVPgi+5P79lT39vuz/CIGDvcgc8D5FL0BssP5C8ID92z3ABX4QvhWBbpVrEA8GvtA+yD7KftAPEituFceZrEVc6hPxfcOGvcu9yT3NPc/19BtXcIe/Mv83BWsau7lBVPK3mnoG/df9zj3P/df6GXkUcwf5ONnrTM0BcJLN6svG/tf+zz7P/tV+xC8O71bHw5Ei7z5E3cBkfjuA5EW+O4G+8P5RAX7iP0TFfdu+Gj3W/xoBQ6pjXb5Qr4Br/kZA/fleBX37Pl1Bf0ZBvfp/MAV+2L4jQX4RwYOqYvB9y3B9y3BAbj4YBTg7/djFfgpwfwpBuKV183dG/eBwfuBBvsqQvsN+wX7Btf7DPcnH/eBwfuBBjk/zeKBHw6pZnbFwfctwfctweJ3AbjCA+lqFbdyuNgFgJqpg6Eb95PB+4kGf3ONlXwf2/chBfdswftOBuL3LQXuwUcGrsldpFo0BfsIBin7Ci77GzinV8xPH2X3bBXSkdbf1RvoBjL7LwUu+zsVbqZws4O5CPcUBg77iHq690vC90q9AffU6QO7jhWFnat9vhv3IvcP9wH3PeNQ9yv7Q2xpiIJkH2AHjpiZjZgb8PJF+wQf+1xU91oGJC87JXJxj5RyHg73ICai+bqiAfcO9wX3+vcFA6Q9FXT3x6IHUGWg0R/5Q/f6/UMHRWV2UR5098aiB1BloNEf+PIH6NCbpx6i/Z50B6fQey4f/PIHRWZ2Tx4OqSfy+U24AfjvnwOZ+wAVn6aTnxv4eI4FpK+Eh6UfmPGQn6TxCHQGMmhrcz0b+/0G97r35/ul9/oF95EG9xSaWkqfH58GhfczBfyFBmllkI1pH/fx/FoFDvd9wgGW930VQgoO+0v3L3b3T7me2+B3AfeBnQPM95QVdZ5/n6KToKGfHp6gl5arnwiOkJKMjRuRin+HdoZ6hnwfg3OAd20adJZ2pqWVoqCMHqmBn4OkHoaah5ugGo+JlpGOjoqHkh6mep56mH4Ic6OZdaYbm5mXoapolG6TH2+Ta5N0lwiEj4WOkBqOj4+UkB7Nqo2Cs5UIl46mmKMapHqXeG55a29wHn9/en99gwiIhYaIiBuHipCYppKekp8fkZyRnaQanYOhcHCDdnlzkXmReB6Sd5J3cRp/ioWHiIeNj4QedZZ9l4CWCKN1gK5qG3N7enVxn4OzhB+ohouNxXAIloaQh4gaiIeHgoYecHtxhHKGCGuGY39sGg5l+k8BlfiNA/gBZRX3KvpKaJD7E/2y+1n4MfsmQ5tq67oFDqn3D773Rr8BpsAD+AH3gRVgttpE0ButqJufnx9rrQV/fXuEehtdWbLEUB+8v7qwuBugn4V7nx+osQWTfnKjYxs3aGROPx/GRFG0RxszVT9RPsNF3tbHv8nLH2KrFXN9O0VPG1ZmwrKlo8TPvuFMd5ofDqn3EL73SLwBpb74wsAD9/n3gBV2o88w3xv0vdLV0UrMMTZnWlZUH8VNYbc0G0KKSE9BGkG6ROjyy+agox5prBVYXVpgTRtcYa7GsKa8yb+za1XMH84WwsqhqMUb1qZRcUlWbVphYbLEUB8O4IvC+P53AaUW+VzC/NYG+Nb42WKwBQ47oHb4WncBohbMBvdr9/L3a/vyBcwG+6z4WgUOO6B2+HF3Aan4uAOp+FQV96b8VPem+FRfqPt6/Av7evgLBQ7goHb4YbtVChbC91EG9yP3J/cV9yT3MvcZ+yf7ER77UcL3UQf3Qfsv9yf7U/tT+y/7J/tBHg7gerr4YndVCvfBFftB9y/7JUsK9y/3JfdBHvdTVPtSB/sR+xn7J/sy+yT7J/cV9yMe91JUBw78LSD3BPm49gH3DNEDjVgVaqp0rvcnbvhd9x6PHvccdvcxjbAelYyOkpSbmnGsG6SdnaaycqJn+wuU+4r7Jx+K+8qQLo1BCFyNinN8fHqpcRtvc35gHw73SIv3Ffdv9xYB9zf3Fdb3Ftb3FRQ49zfMFVIKb6dnZ25vZx74LRZSCm2nZ2dwb2ce+2H38BVnqG6vr6ior69uqGdnbm5nHg73X7+LvxKc+JQXE2C8918Vqaaqobgbqap/fLoff7HAfroboqGSlJ8fqpqloJSdaq0YfH1vZlMbY1+WmGUfE+CZY2aZXBtAamFzcB8Oi8L3FcL3G7qQuxKW90wVOgr7gwQ6ChMwuvfPFauooqO+G6WthHu5HxMgeMC0ga8bpKGQlqIft6CWpJOaZqMYe31zZUsbcmOUl2wfExBmmWCcXowINF5da3cfDvcbvvS+Epn4lhe597dXCrN7fbwfgLC2MgqXmGUfmGNimVwbQGhjcm0fq/tWVwq1e328HxOggLC0MgqYmGQfmGNjmFwbQGhicm0fDod29zXC9x/C9zh3AekWvXLm9zUF98XC+6cG2PcfBfdawvs8Btf3HFqnMPs4Bfu5VPeaBj77HwX7TVT3LwYO3cLtwu3CAZn4oBTgmfgYFUIK+2QEQgr7ZARCCg49Cve4BPiF+3YFyQf8RfdXPgo9Cs0E+IX3dgVRCvhF+1v8RftXBQ6pi0cKscUD+UYWwvwpByGMOePiGvDh3vMe+CfC/CgG+zM0+xH7Boof+xmK9wYp9xYbDqmLRwr4+8UD+EAW9xb3B+33GfcGMfcR+zMf/ChU+CcG8+M4JjQ3MyFYCqladtHC9/vC0ncBr8UD941FFccGr9EF9+3C+9AG90T3+wX3IML7BAaw0gVPBmdEBfuKBvsE+xE2+yv7MfcRP/cQih+nwhX7FIww3O4a4tnn9R73aAYOqfsRwtFHCrDDA7BFFVT5IcIH0QTC/CkH+xCMRu6M3Aj3AIzq0u0b+CfC/CgG+0A++xb7AfsZ8yn3IR8OqfsRwtFHCvj9wwOf+xEV+SHC/SEG+CzRFfch8+33GfcBPvcW+0Af/ChU+CcG7etE+wA6Ryj7EFgK4HzA953B953AAbbE95nB953AFOD3JPfDFfdt+3HB93H3bsH7bvdvVftv+20GX3AV9zX3EzAK+xP3F/c1HlIWIQoO4HrA+NzAAbbA+NzAA/dU9z8VsmT3Mfcy9zL7M7Kx+zL3M/cw9zBksfsw+zD7MfcyZGT3MfsxBfvGFiEKwBb3NfcXMAr7F/cX9zUeDnKLwvj/dwH3xsIDmhb5EcL7t/j/VPz/+7cGDvxF92bvAdDvA9D3mBVvoXWnpqKhp6Z0onBvdXRwHg6OTXb56fcrAffg0QP34DgV0fgTBviI9zPQrpOSiYmPHoKGgHl4GnOdbrG3n7Oyr2ivXk/7h1n80x4Ojjr3KfnpdwH37tAD9x5wFZSQlp2eGqN5qGVfeGRkZ61ouMf3gbv40x74D0b8Ewf8iPsuRmiDhI2Nhx4OTAqk96YV93r8bL6k+274U/du+FRYowUOTArT+1oV93r4bPt6+GxYc/du/FT7bvxTBQ77UaB2+X13AZ3H997HA/doFscG91j4DftY+AQFTwb7VvwEBfd0+9YV+zj31vc49873OvvOBQ7RfHb43HcB9+zBA/e7ZxX3LAaElWKsis4Ir4qUoJ0bkY+GgZAfXaKiXswbu6rEu8B0smHCHy33EG+uRPcERPsEb2gt+xAIYVR0ZFYaX6FMy8imxrGcHpKOj5CUG5iXd2WKH4pIYmqEgQgO0YZ29zz3FxL35dJPvRPQ979xFfcoBnCsdZ/NGqqOnpmVmn5voh5rpquBshvFtMfJ0WfGR19ebYN8HxPgcH16kpoako+SkJAenZ7NsNEa2UuoS0pLbDhI0Weaex6QhY6FhBp8eYZylx6TfGSpXxtGYlNGR7VQzK+omKmlH6ekm5eUGxPQmYtxdEl0dnFrHw7Rf3b4yXcB+ApqFdn3B5qn5vcJCLTAq8DEGvcIQ6VhXV12SHIeeIOIdXwbfIihnoMfznJdoF0bYUNx+whSq1a0Vh/m+wmab9n7BwgO0Xx2+N53Afci+F4D9yL3lRX3fPu593b3uft297kFDvZ8s/Ox99ul9wezAb6z9wrM95Kf9y2zA/iv93AVYllqf14bQE3H8dW45tzGxmxClR+fBof3FAV4Boh9fIZ5jwiQdmuXZBskNjEj+wnbO/cL17e9oqEf/If3FCMK9nqz9xid9zGi9zKj7bMBvbP3Ucv3F8/3MrMDvffcTwr3Uvcv9y73U0gK+y/7L/tSjCwKHvs9ivscQwoa9yD7QBX3NJ0GdXKaox/3CqUH9xn7QwXqnQZ+f4uZgB/7DPcsBcWctqLJGtg7nE8e+zt5BrOPgG4f+6AHeHF6dB73BfdIFfcSB5yVmpXPtXlYjB45Q4VQih4O92P3znb3+aJ5nRKdnfcGxvcGnd2m97zGE9/u97kV9zSdBmx4mqIf98IHsIrDiaJuiV8ZnYyI7AX70QaIKp2KibeiqMONGbCMBfvCSgr3pXkV9xWdBmx3mqIf948H9yT7xwWdBvca99cF+59KCnn3NJ0HbHiaoh/3rQcTv6aoiaAenfsFB/sS+7T7GPe0BfsGeQaroI5lH/ujSgoO+0v6Ba8B+HT6BRX49q/89gYOOyh2+v5JCves+wwVw/r+UwYO99H3cMMBT/rqA0/3cBX66sP+6gYO9nez97S29xe29LMBvbP3RLz3VLn3J7MDvffZTwoe91KM9y/3LfdTGkgK+y77L/tSLAr7Pfsc9xz3PB73RPtQFbz3QPcRBtKCPGeMH4xvk4mUeQieoYueG3Onh6OwGr58pmygHrCnmJ28GuFNllAe+z4GvPtCFfcX9w4HqbODSlpmgmofDvZ8s++598y29wGzAbyz9x6894C49yKzA/iU96YVUlldUjVg5dbdt8zYzrNvWI0evgbliUSrMxv7AE4zI/sEzSr3BPcAuefEH/ySwyMK8vfOdvfltgH3Frz3ULz3mLwD9xb3uRW89+X3Ebb7v2D3EQb3gfvlFbz3yQb0+8QFvQb098QF+8m8+BBEB/sA+9L7APfSBUQGDvu/+7kcBLkBo98Do/u5Fd/4Lgb38/X3yfdy9x8efpUF+1cq+2D7YvyOGg77v/oxiwGj3wOjVAo/CqPfA/hB+7kVkpUF+3L3KSH3v/fzGvguN/wuB/yO92X7WPdXIB4O+7/6CbQBi9gDOwTY+dIG9xGblfcRHvcXtPvxBg77vzz6gAGL2AM8BNj6gD4GDvu/O7QBi9gDOwT36LT7Dgb7EXuV9xEf+dI+Bw77UfoTqTUK97A2FfnIB/cCkb3bHtapQAb7Alhu+zUf/cgHDi0K938G9y1M3vscsh73HLLK3vctGvd/QPt/Bydn+wf7LV4ebQf3LV6v+wcnGg5TCvdl+jsV/cwH+zW0cvcCHuCpNgY7j7n3Ah/5zAcOLQr6kEAGDo4z+rsB98jRA/fIMxXR+rtFBg4/CvgS3wP4Evu5Fd/4OAb4jvtg91j7V+wefoEF93L7H/X7v/vzGg77vzb6hgH4Et8D+BJUCj8K+BLfA8H7rxWYgQX3V+z3YPdd+I4a+DM3/DMH+/Mh+8T7cvsfHg77v/oJtAH3udkD97k7Fdn6gvvxYvcbBvcRloD7ER8O+788+oAB97rYA/e6PBXY+oA+Bg77vzu0Afe62AOhZBVi9/H6gj79zwf7E3mA+xEeDvtR+hOpLgr5yAb3LHSx+xkeO23bBtGWX/sIHw4tCveABu+v9wb3LbgeqQf7Lbhn9wbvGveAQPuAB/styjn3HGQe+xxkTDn7LRoOUwq7XhVt2wf3FqWz9ysf+cdA/ccH+xaAbEUeDvaddvj/91QB+XH3aRU/oGXT1BrOqc3KqR6/bkGkUhtudoSDdh+DdnWDbhtydZOTdh+UdHWUcBv7AyUr+yH7GtL7kvc3pZ6WlKAfkpubkaAboZuFhZofgqGdf6cb4bXi9xXWH/vb+CcV5ojl8HbpCDw1KyuQHw54nvh7mPdBmgYeoDlj/wwJ5wrgC5/TDAz4uRT5PxWrEwA6AgABABMALQAwAEcATwBWAF0AYQBnAHwAggCLAKYArgC0ALoAxwDOAOMA7QD2APwBCgEOARkBHAEjASoBMQFAAU0BVgFfAWYBbQFyAXcBfAGIAY4BmQGgAacBrAG2AcABygHOAdgB4gHsAfMB+wIEAgkCEgIZAh9spHKqqqSkqqpypGxscnJsHgsrCvdT9y73LksK+y73LvtT+1P7Lvsu+1MeCyAKDhUhCrMW9zz3HUMK9zz3HTQKNApDCh4OFvewnQYqCgsvCvx9JwoLBzwK/H05CgcoCgtUaHhUHgttpHKqHqmMpaOqGqlxpW1scnFsHgtUaJ7CHwv7U/cu+y73Uwses4oV9z33HEMK9z33Hfsd+zz7Pfsd+xz7PAv7UTb6kC4KC0QKNhXWC8KueFQfC/cX9zX3NfcXVgpBCgvCrp7CHp0Lgrkbxce0qJofaKwFfH1yZlMbYmYLHvupeQYlCvdWC/sd+zz7PPsdCwH3ZdYDC/dcQApvoWx7e4WBhx4LFSAKC4iFi4mKGnyahZYLJwoO+KLC/KIGC6B2+TV3AQsxCvuwRQoLi8L43HcBqBb4hcL8hQYL+EX3WwXJB/yF+3oFDvu/+7kcBMMBCwWPj42VkRqoC/sX+zX7NQv4oML8oAYL9x33PAs1CvdlC3kHLwoL98SRdvd/w/d/dwELwvf8wgEL91L7L/cv+1L7Uwt3AfeswwMLB3R3fGweC/dT91ML+/b7RXb6RHcBC/tf+0uk+bqkAQv78vsvpPmfpAELFSsKC/vy+z52+fR3AQvJB/yF93oFTQcLZ6hur6+nqK+vC/tRQKk1Cgs2Fd/6hjcGDgGzwvjawgOzC0EK+xcLFammqp+4G6oLih/8KVQGDpCQj46NCwAAAAAEAkoBkAAFAAACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFUERGAMAAIPj+A/L+2wAAA/IBJYAAAAAAAAAAAAAAAAAAACAAAQAAAAEAAwABAAAADAAEBgAAAAF8AQAABwB8ACAAIQAjACUAJgAoACkAKwAsAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AFsAXQBfAHsAfAB9AKwAsACxANcA9wGSA5EDkgOTA5QDlQOWA5cDmAOZA5oDmwOcA50DngOfA6ADoQOjA6QDpQOmA6cDqAOpA7EDsgOzA7QDtQO2A7cDuAO5A7oDuwO8A70DvgO/A8ADwQPCA8MDxAPFA8YDxwPIA8kD0QPSA9UD1iAiICYgMiAzIEQgrCERIRghHCE1IZAhkSGSIZMhlCG1IdAh0SHSIdMh1CIAIgIiAyIFIgciCCIJIgsiDyIRIhIiFyIaIh0iHiIgIiciKCIpIioiKyI0IjwiRSJIImAiYSJkImUigiKDIoQihiKHIpUilyKlIsUjICMhIykjKiXKJmAmYyZlJmb22fba9tv45fjm+Of46Pjp+Or46/js+O347vjv+PD48fjy+PP49Pj1+Pb49/j4+Pn4+vj7+Pz4/fj+//8AAAAgACEAIwAlACYAKAApACsALAAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBbAF0AXwB7AHwAfQCsALAAsQDXAPcBkgORA5IDkwOUA5UDlgOXA5gDmQOaA5sDnAOdA54DnwOgA6EDowOkA6UDpgOnA6gDqQOxA7IDswO0A7UDtgO3A7gDuQO6A7sDvAO9A74DvwPAA8EDwgPDA8QDxQPGA8cDyAPJA9ED0gPVA9YgIiAmIDIgMyBEIKwhESEYIRwhNSGQIZEhkiGTIZQhtSHQIdEh0iHTIdQiACICIgMiBSIHIggiCSILIg8iESISIhciGiIdIh4iICInIigiKSIqIisiNCI8IkUiSCJgImEiZCJlIoIigyKEIoYihyKVIpcipSLFIyAjISMpIyolyiZgJmMmZSZm9tn22vbb+OX45vjn+Oj46fjq+Ov47Pjt+O747/jw+PH48vjz+PT49fj2+Pf4+Pj5+Pr4+/j8+P34/v///+H/4f/g/9//3//e/97/3f/d/9z/3P/c/9z/3P/c/9z/3P/c/9z/3P/c/9z/3P/c/9z/3P/c/8H/wP+//6T/pP+k/3b/c/9z/0//MP6W/Jj8mPyY/OH8l/yX/Jf8l/yX/Jf8l/yX/Jf8l/yX/Jf8l/yW/Jb8lvyW/Jb8lvy7/I78jvyO/I78jvyO/I78jvyO/I78jvxp/I38jfyN/I38jfyN/I38jfyN/I38jfyN/I38hvyG/IT8hOA54DbgK+Ar4BvftN9Q30rfR98w3tbe1t7W3tbe1t623pzenN6c3pzenN5x3nDecN5v3m/eb95v3m7ea95q3mreZt5k3mLeYt5h3lveW95b3lveW95T3kzeRN5C3iveK94p3ineDd4N3g3eDN4M3f/d/t3x3dLdeN143XHdcdrS2j3aO9o62joJyAnICcgHvwe/B78Hvwe/B78Hvwe/B78Hvwe/B78Hvwe/B78Hvwe/B78Hvwe/B78Hvwe/B78Hvwe/AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAI+h20F8PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAP9M/toEQgPyAAAACAACAAAAAAAAAAEAAAPy/tsAAAQSAAAAAARCAAEAAAAAAAAAAAAAAAAAAAC/APoAAAD6AAABTQAAAfQAAANBAAADCgAAAU0AAAFNAAACJQAAAPoAAAD6AAABFgAAAfQAAAH0AAAB9AAAAfQAAAH0AAAB9AAAAfQAAAH0AAAB9AAAAfQAAAEWAAABFgAAAiUAAAIlAAACJQAAAbwAAAFNAAABTQAAAfQAAAHgAAAAyAAAAeAAAALJAAABkAAAAiUAAAJAAAACJQAAAiUAAAH0AAAC0gAAApsAAAJbAAACYwAAAmMAAALSAAAC5QAAAU0AAALSAAACrgAAA3kAAALSAAAChQAAAtIAAAMAAAACLAAAAlAAAAJjAAACsgAAAvsAAALSAAADGwAAAncAAAIlAAABmwAAAe4AAAG3AAAB7gAAAlsAAAIJAAABSQAAAiUAAAIlAAACCQAAAe0AAAIlAAACJQAAAiUAAAG3AAACWwAAAbcAAAJAAAACCQAAAiUAAAKuAAACrgAAAncAAAJsAAACWwAAAskAAAHMAAAD6AAAAPcAAAGbAAAApwAAAu4AAAKuAAAD2wAAAxsAAAMAAAADNwAAA9sAAAJbAAAD2wAAAlsAAAQSAAACkgAAA9sAAAJbAAAD2wAAAlsAAAQSAAACyQAAAe4AAAIlAAADNwAAAmQAAALJAAACyQAAAskAAAG3AAADNwAAAskAAAIlAAAB9AAAAiUAAALJAAACyQAAAwAAAAJbAAACWwAAAwAAAAMAAAABEgAAA18AAAIlAAACJQAAAiUAAAIlAAACJQAAAiUAAAIlAAACyQAAAskAAALJAAACyQAAAskAAAMAAAADAAAAApIAAAD6AAACrgAAAq4AAAFJAAABSQAAAe4AAALxAAAC8QAAAvEAAALxAAADFgAAAxYAAAN6AAAB9AAAAlsAAAPoAAADFgAAAxYAAAMSAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB7gAAAe4AAAHuAAAB7gAAAq4AAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHuAAAB7gAAAe4AAAMWAAAAAFAAAL8AAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABADAApgADAAEECQACAA4A1gADAAEECQADAEoA5AADAAEECQAEADABLgADAAEECQAFABoBXgADAAEECQAGACwBeAADAAEECQANAQIBpAADAAEECQAOAIACpgBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwB5AG0AYgBvAGwAUgBlAGcAdQBsAGEAcgBFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAeQBtAGIAbwBsADsAQwBoAHIAbwBtAFMAeQBtAGIAbwBsAE8AVABGAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAeQBtAGIAbwBsAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADAARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAHkAbQBiAG8AbABVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAAAAAAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="});var pv={};Je(pv,{default:()=>X7});var X7,lv=it(()=>{"use strict";X7="T1RUTwAJAIAAAwAQQ0ZGILA37xgAAACcAABzSU9TLzJRS/iZAABz6AAAAGBjbWFwmWw2ygAAdEgAAAYEaGVhZGLrQ3sAAHpMAAAANmhoZWEHEQQhAAB6hAAAACRobXR4Tb8AAAAAeqgAAAMsbWF4cADLUAAAAH3UAAAABm5hbWVVsHCsAAB93AAAA6xwb3N0/58AMgAAgYgAAAAgAQAEAgABAQERQ2hyb21EaW5nYmF0c09URgABAQEl+BAA+OQB+OUC+OUD+OYEivs4+mn5zgUcBNwPHATjEaccbj8SAMwCAAEAAwAGAAoADgASABYAGgAeACIAJgAqAC4AMQA1ADkAPQBBAEUASQBMAFAAVABYAFwAYABkAGgAbABwAHQAdwB7AH8AgwCHAIsAjwCTAJcAmwCfAKIApgCqAK4AsgC2ALoAvgDCAMYAygDNANEA1QDZAN0A4QDlAOkA7QDxAPUA+AD8AQABBAEIAQwBEAEUARgBHAEgASMBJwErAS8BMwE3ATsBPwFDAUcBSwFOAVIBVgFaAV4BYgFmAWoBbgFyAXYBeQF9AYEBhQGJAY0BkQGVAZkBnQGhAaMBpgGqAa4BsgG2AboBvgHCAcUByAHLAc4B0QHUAdcB2gHdAd8B4gHlAegB6wHuAfEB9AH3AfoB/QH/AgICBQIIAgsCDgIRAhQCFwIaAh0CHwIiAiUCKAIrAi4CMQI0AjcCOgI9Aj8CQgJFAkgCSwJOAlECVAJXAloCXQJfAmICZQJoAmsCbgJxAnQCdwJ6An0CfwKCAoUCiAKLAo4CkQKUApcCmgKcAp8CogKlAqgCqwKuArECtAK3AroC5AL2AvxhMWExMGExMDBhMTAxYTEwMmExMDNhMTA0YTEwNWExMDZhMTA3YTEwOGExMDlhMTFhMTEwYTExMWExMTJhMTE3YTExOGExMTlhMTJhMTIwYTEyMWExMjJhMTIzYTEyNGExMjVhMTI2YTEyN2ExMjhhMTI5YTEzYTEzMGExMzFhMTMyYTEzM2ExMzRhMTM1YTEzNmExMzdhMTM4YTEzOWExNGExNDBhMTQxYTE0MmExNDNhMTQ0YTE0NWExNDZhMTQ3YTE0OGExNDlhMTVhMTUwYTE1MWExNTJhMTUzYTE1NGExNTVhMTU2YTE1N2ExNThhMTU5YTE2YTE2MGExNjFhMTYyYTE2M2ExNjRhMTY1YTE2NmExNjdhMTY4YTE2OWExN2ExNzBhMTcxYTE3MmExNzNhMTc0YTE3NWExNzZhMTc3YTE3OGExNzlhMThhMTgwYTE4MWExODJhMTgzYTE4NGExODVhMTg2YTE4N2ExODhhMTg5YTE5YTE5MGExOTFhMTkyYTE5M2ExOTRhMTk1YTE5NmExOTdhMTk4YTE5OWEyYTIwYTIwMGEyMDFhMjAyYTIwM2EyMDRhMjA1YTIwNmEyMWEyMmEyM2EyNGEyNWEyNmEyN2EyOGEyOWEzYTMwYTMxYTMyYTMzYTM0YTM1YTM2YTM3YTM4YTM5YTRhNDBhNDFhNDJhNDNhNDRhNDVhNDZhNDdhNDhhNDlhNWE1MGE1MWE1MmE1M2E1NGE1NWE1NmE1N2E1OGE1OWE2YTYwYTYxYTYyYTYzYTY0YTY1YTY2YTY3YTY4YTY5YTdhNzBhNzFhNzJhNzNhNzRhNzVhNzZhNzdhNzhhNzlhOGE4MWE4MmE4M2E4NGE4NWE4NmE4N2E4OGE4OWE5YTkwYTkxYTkyYTkzYTk0YTk1YTk2YTk3YTk4YTk5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hyb20gRGluZ2JhdHMgT1RGTm9ybWFsAAABAYfIAAEAAMsCAAEABAEDAY0B+gJKApUC4wMlA3EDyQTgBi8GnwfMCAkITgjOCV0LHQz4DicOdA7nD1UPpxA2EJAQ3hFxEiISqhQhFF4UyhVvFc4WXhbpFy0XohgcGKoaHxpFGpUa/hs0G5EcChw+HL8dNR2XHeMeAR5WHrwe+h9FH6MfzSBCIKkhFCFXIYchtyHMIhUiXyKPIxUjaSOPI7YkXyShJPclGCUrJUAlciWiJcQl9CY4Jqcm/Cc8J4InyCgiKGcoyik/KaUpyyooKk0qgSqwKvMrTiu8K+wsRyy1LQwtzS43Lnguvy+EL7gv3zAQMC0wrzE0MfIyzTMaM0YzfjO2Ngg28jhSOT87lzwaPII8sT0GPWA9sD3dQEtAdkCxQRtBgUG/QhtCokMCRa9F5UcMR7hH/EhVSZFK2kvuTLFOZ082UUlRb1TeVV5Y2VnHWrlbpVyxXblelWDvYUViDWI4YotimmLLYvVjCWMgYzZjjmP3ZBdkJGQyZEJkcmSMZKpkymUCZXRlrWXF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APoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARVBERgDAACAnvgM6/10AAAM6AKOAAAAAAAAAAAAAAAAAAAAgAAEAAAABAAMAAQAAAAwABAX4AAABegEAAAcAegAgIZIhlCGVJGAkYSRiJGMkZCRlJGYkZyRoJGkloCWyJbwlxiXPJdcmBSYOJhsmHiZgJmMmZSZmJwEnAicDJwQnBicHJwgnCScMJw0nDicPJxAnEScSJxMnFCcVJxYnFycYJxknGicbJxwnHSceJx8nICchJyInIyckJyUnJicnJyknKicrJywnLScuJy8nMCcxJzInMyc0JzUnNic3JzgnOSc6JzsnPCc9Jz4nPydAJ0EnQidDJ0QnRSdGJ0cnSCdJJ0onSydNJ08nUCdRJ1InVidYJ1knWidbJ1wnXSdeJ2EnYidjJ2QnZSdmJ2cndid3J3gneSd6J3snfCd9J34nfyeAJ4EngieDJ4QnhSeGJ4cniCeJJ4oniyeMJ40njiePJ5AnkSeSJ5MnlCeYJ5knmiebJ5wnnSeeJ58noCehJ6InoyekJ6UnpienJ6gnqSeqJ6snrCetJ64nryexJ7Insye0J7Untie3J7gnuSe6J7snvCe9J77//wAAACAhkiGUIZUkYCRhJGIkYyRkJGUkZiRnJGgkaSWgJbIlvCXGJc8l1yYFJg4mGyYeJmAmYyZlJmYnAScCJwMnBCcGJwcnCCcJJwwnDScOJw8nECcRJxInEycUJxUnFicXJxgnGScaJxsnHCcdJx4nHycgJyEnIicjJyQnJScmJycnKScqJysnLCctJy4nLycwJzEnMiczJzQnNSc2JzcnOCc5JzonOyc8Jz0nPic/J0AnQSdCJ0MnRCdFJ0YnRydIJ0knSidLJ00nTydQJ1EnUidWJ1gnWSdaJ1snXCddJ14nYSdiJ2MnZCdlJ2YnZyd2J3cneCd5J3oneyd8J30nfid/J4AngSeCJ4MnhCeFJ4YnhyeIJ4kniieLJ4wnjSeOJ48nkCeRJ5InkyeUJ5gnmSeaJ5snnCedJ54nnyegJ6EnoiejJ6QnpSemJ6cnqCepJ6onqyesJ60nrievJ7EnsiezJ7QntSe2J7cnuCe5J7onuye8J70nvv//AKresN6w3rDbtdu127Xbtdu127Xbtdu127XbtdsO2v/a9trt2t3a39p/2nvZ8tn2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AC4AIABPAHIAaQBnAGkAbgBhAGwAIABjAG8AZABlACAAYwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAARgBvAHgAaQB0ACAAUwBvAGYAdAB3AGEAcgBlACAASQBuAGMALgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABEAGkAbgBnAGIAYQB0AHMAUgBlAGcAdQBsAGEAcgBFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAEQAaQBuAGcAYgBhAHQAcwA7AEMAaAByAG8AbQBEAGkAbgBnAGIAYQB0AHMATwBUAEYARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAARABpAG4AZwBiAGEAdABzAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADAARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABEAGkAbgBnAGIAYQB0AHMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQADAAAAAAAA/5wAMgAAAAAAAAAAAAAAAAAAAAAAAAAA"});var f={Unknown:"Unknown",InvalidArg:"InvalidArg",DocNotOpen:"DocNotOpen",DocOpenFailed:"DocOpenFailed",DocPasswordRequired:"DocPasswordRequired",DocPasswordIncorrect:"DocPasswordIncorrect",GrantPassphraseRequired:"GrantPassphraseRequired",Aborted:"Aborted",Network:"Network",Unauthenticated:"Unauthenticated",Forbidden:"Forbidden",NotFound:"NotFound",WireFormat:"WireFormat",RuntimeUnavailable:"RuntimeUnavailable",LayerVersionConflict:"LayerVersionConflict",NotImplemented:"NotImplemented",MalformedPdf:"MalformedPdf",SigningPending:"SigningPending",SigningExpired:"SigningExpired",SigningVersionMismatch:"SigningVersionMismatch",SignatureRefused:"SignatureRefused",ProtectedDocument:"ProtectedDocument",PayloadTooLarge:"PayloadTooLarge",ObjectNumberUnavailable:"ObjectNumberUnavailable",LayerFull:"LayerFull",ChangeConflict:"ChangeConflict",UndoUnavailable:"UndoUnavailable",IdempotencyKeyReused:"IdempotencyKeyReused",LayerDeleted:"LayerDeleted",VisitorIdentityRequired:"VisitorIdentityRequired",Conflict:"Conflict",EngineBusy:"EngineBusy",EngineRestarting:"EngineRestarting",DocumentQuarantined:"DocumentQuarantined",ThumbnailNotReady:"ThumbnailNotReady",TooManyRequests:"TooManyRequests",GrantExpired:"GrantExpired",OriginRequired:"OriginRequired",OriginNotAllowed:"OriginNotAllowed",FeatureNotEnabled:"FeatureNotEnabled",FeatureStopped:"FeatureStopped",LicenseInvalid:"LicenseInvalid",LicenseUsageLimit:"LicenseUsageLimit",UpstreamError:"UpstreamError"},sne=new Set(Object.values(f));function qa(e){"@babel/helpers - typeof";return qa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qa(e)}function m_(e,t){if(qa(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(qa(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function w_(e){var t=m_(e,"string");return qa(t)=="symbol"?t:t+""}function xe(e,t,r){return(t=w_(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var g=class lb extends Error{constructor(t,r,n={}){super(r??t,n.cause===void 0?void 0:{cause:n.cause}),xe(this,"name","EngineError"),xe(this,"code",void 0),xe(this,"details",void 0),this.code=t,this.details=n.details}static is(t,r){return!(t instanceof lb)&&t?.name!=="EngineError"?!1:r===void 0?!0:t.code===r}toJSON(){return{code:this.code,message:this.message,details:this.details}}};function Qn(e){return g.is(e)?e.toJSON():e instanceof Error?{code:e.name==="AbortError"?f.Aborted:f.Unknown,message:e.message}:{code:f.Unknown,message:String(e??"unknown error")}}function Md(e){return new g(e.code,e.message,{details:e.details})}function zs(e){return typeof e=="number"&&Number.isInteger(e)&&e>0}function ue(e){return{kind:"objectNumber",objectNumber:e}}function le(e){if(!zs(e.objectNumber))throw new RangeError(`encodePageKey: objectNumber must be a positive integer, got ${e.objectNumber}`);return`obj:${e.objectNumber}`}function j(e){switch(e.kind){case"objectNumber":return`obj:${e.objectNumber}`;case"baseIndex":return`base:${e.page.objectNumber}:${e.baseIndex}`}}var Cr=["courier","courier-bold","courier-bold-oblique","courier-oblique","helvetica","helvetica-bold","helvetica-bold-oblique","helvetica-oblique","times-roman","times-bold","times-bold-italic","times-italic","symbol","zapf-dingbats"],Zs={invisible:!1,hidden:!1,print:!1,noZoom:!1,noRotate:!1,noView:!1,readOnly:!1,locked:!1,toggleNoView:!1,lockedContents:!1};function Rn(e){if(e.kind==="objectNumber"){if(!Number.isInteger(e.objectNumber)||e.objectNumber<=0)throw new RangeError(`encodeFieldRefKey: objectNumber must be a positive integer, got ${e.objectNumber}`);return`obj:${e.objectNumber}`}return`fqn:${e.name}`}function Ct(e,t){return{ref:e>0&&t?{kind:"objectNumber",page:t,objectNumber:e}:null,objectNumber:e,page:t}}var xi=(e,t)=>e.replace(/\\B(?=(\\d{3})+(?!\\d))/g,()=>t),mb=(e,t)=>t?mb(t,e%t):e;function tr(e){let t=Math.fround(e.conversion??NaN);if(!Number.isFinite(t)||t<=0)return!1;let r=e.precision??(e.fraction==="fraction"?16:100);return!(!Number.isInteger(r)||r<1||r>2147483647||(e.fraction??"decimal")==="decimal"&&!Number.isInteger(Math.log10(r)))}function b_(e,t){let r=t.fraction??"decimal",n=t.thousands??",";if(r==="round")return xi(String(Math.round(e)),n);if(r==="truncate")return xi(String(Math.trunc(e)),n);if(r==="fraction"){let s=t.precision??16,A=Math.floor(e),d=Math.round((e-A)*s);if(d===s&&(A++,d=0),!d)return xi(String(A),n);let p=t.fixed?1:mb(d,s);return`${A?`${xi(String(A),n)} `:""}${d/p}/${s/p}`}let i=Math.log10(t.precision??100),[a,o=""]=e.toFixed(i).split(".");return xi(a,n)+(o?(t.decimal||".")+o:"")}function Js(e,t){if(!Number.isFinite(e)||!t.length||!t.every(tr))throw new g(f.InvalidArg,"Measurement requires a finite value and valid number formats");let r=Math.abs(e),n=[];for(let[i,a]of t.entries()){if(r*=Math.fround(a.conversion),!Number.isFinite(r))throw new g(f.InvalidArg,"Measurement overflow");let o=Math.floor(r),s=r-o,A=i===t.length-1,d=A||s===0,p=A?b_(r,a):xi(String(o),a.thousands??","),m=a.labelPosition==="prefix",F=a.prefixSpacing??(m&&i===0?"":" "),h=a.suffixSpacing??(!m&&d?"":" "),P=F+a.unit+h;if(n.push(m?P+p:p+P),d)break;r=s}return(e<0?"-":"")+n.join("")}var mn={courier:{family:"Courier",weight:400,italic:!1},"courier-bold":{family:"Courier",weight:700,italic:!1},"courier-bold-oblique":{family:"Courier",weight:700,italic:!0},"courier-oblique":{family:"Courier",weight:400,italic:!0},helvetica:{family:"Helvetica",weight:400,italic:!1},"helvetica-bold":{family:"Helvetica",weight:700,italic:!1},"helvetica-bold-oblique":{family:"Helvetica",weight:700,italic:!0},"helvetica-oblique":{family:"Helvetica",weight:400,italic:!0},"times-roman":{family:"Times",weight:400,italic:!1},"times-bold":{family:"Times",weight:700,italic:!1},"times-bold-italic":{family:"Times",weight:700,italic:!0},"times-italic":{family:"Times",weight:400,italic:!0},symbol:{family:"Symbol",weight:400,italic:!1},"zapf-dingbats":{family:"ZapfDingbats",weight:400,italic:!1}},Ir=e=>Cr.includes(e);function Sr(e,t){if(Ir(e)){let n=mn[e];return{family:n.family,weight:n.weight,italic:n.italic}}let r=t?.(e);return r?{family:r.familyName,weight:r.weight,italic:r.italic}:{family:e}}function wn(e){return e.toLowerCase().replace(/[\\s\\-_\'"]/g,"")}var wb={helvetica:"Helvetica",arial:"Helvetica",arialmt:"Helvetica",sansserif:"Helvetica",times:"Times",timesroman:"Times",timesnewroman:"Times",timesnewromanpsmt:"Times",serif:"Times",courier:"Courier",couriernew:"Courier",couriernewpsmt:"Courier",monospace:"Courier",symbol:"Symbol",zapfdingbats:"ZapfDingbats",dingbats:"ZapfDingbats"};function Ld(e){return wb[wn(e)]}function $s(e,t){let r=t?.(e.family,e.weight,e.italic);if(r!==void 0)return r;let n=wb[wn(e.family)];if(n){let i=Object.entries(mn),a=e.weight>=600,o=i.find(([,s])=>s.family===n&&s.weight>=600===a&&s.italic===e.italic)??i.find(([,s])=>s.family===n);if(o)return o[0]}return e.family}function Fb(e){if(typeof e!="object"||e===null)return!1;let{left:t,bottom:r,right:n,top:i}=e;return[t,r,n,i].every(a=>typeof a=="number"&&Number.isFinite(a))}function Ce(e){return{left:Math.min(e.left,e.right),right:Math.max(e.left,e.right),bottom:Math.min(e.top,e.bottom),top:Math.max(e.top,e.bottom)}}function Zd(e){return{width:e.right-e.left,height:e.top-e.bottom}}function aA(e){let t=[e.upperLeft.x,e.upperRight.x,e.lowerLeft.x,e.lowerRight.x],r=[e.upperLeft.y,e.upperRight.y,e.lowerLeft.y,e.lowerRight.y];return{left:Math.min(...t),right:Math.max(...t),bottom:Math.min(...r),top:Math.max(...r)}}var Nd=1e-6,vb=e=>Number.isFinite(e.x)&&Number.isFinite(e.y);function bb([e,t,r,n]){if(![e,t,r,n].every(vb))return!1;let i={x:t.x-e.x,y:t.y-e.y},a={x:n.x-r.x,y:n.y-r.y},o={x:r.x-e.x,y:r.y-e.y},s={x:n.x-t.x,y:n.y-t.y},A=[i,a,o,s].map(m=>Math.hypot(m.x,m.y));if(A.some(m=>m<=Nd)||i.x*a.x+i.y*a.y<=0||o.x*s.x+o.y*s.y<=0)return!1;let d=i.x*o.y-i.y*o.x,p=a.x*s.y-a.y*s.x;return Math.abs(d)<=Nd*A[0]*A[2]||Math.abs(p)<=Nd*A[1]*A[3]?!1:Math.sign(d)===Math.sign(p)}function Jd(e){let[t,r,n,i]=e;if(bb(e))return{upperLeft:t,upperRight:r,lowerLeft:n,lowerRight:i};if(bb([t,r,i,n]))return{upperLeft:t,upperRight:r,lowerLeft:i,lowerRight:n};let a=e.map(F=>vb(F)?F:{x:0,y:0}),o=a.reduce((F,h)=>F+h.x,0)/4,s=a.reduce((F,h)=>F+h.y,0)/4,A=[...a].sort((F,h)=>Math.atan2(F.y-s,F.x-o)-Math.atan2(h.y-s,h.x-o)),d=0;for(let F=1;F<4;F++)A[F].y+A[(F+1)%4].y>A[d].y+A[(d+1)%4].y&&(d=F);let p=[A[d],A[(d+1)%4]],m=[A[(d+3)%4],A[(d+2)%4]];return p[0].x<=p[1].x?{upperLeft:p[0],upperRight:p[1],lowerLeft:m[0],lowerRight:m[1]}:{upperLeft:p[1],upperRight:p[0],lowerLeft:m[1],lowerRight:m[0]}}function fn(e,t){let r=Ri(t);if(r!==null)return Hr(e,r);let n=t*Math.PI/180,i=Math.abs(Math.cos(n)),a=Math.abs(Math.sin(n)),o=e.right-e.left,s=e.top-e.bottom,A=(o*i+s*a)/2,d=(o*a+s*i)/2,p=(e.left+e.right)/2,m=(e.bottom+e.top)/2;return{left:p-A,bottom:m-d,right:p+A,top:m+d}}function Ri(e){let t=(e%360+360)%360;return t%90===0?t:null}function Hr(e,t){if(t===0||t===180)return e;let r=(e.left+e.right)/2,n=(e.bottom+e.top)/2,i=(e.top-e.bottom)/2,a=(e.right-e.left)/2;return{left:r-i,bottom:n-a,right:r+i,top:n+a}}function $d(e,t){let r=Math.max(e.left,t.left),n=Math.min(e.right,t.right),i=Math.max(e.bottom,t.bottom),a=Math.min(e.top,t.top);return r({x:(e.left+e.right)/2,y:(e.bottom+e.top)/2});function oA(e,t){return{degrees:t,center:f_(nr(e))}}function rr(e,t){return e.replace(/\\r\\n|\\r|\\n/g,t)}var Mi={family:"Helvetica",weight:400,italic:!1,size:12,color:"#000000",decoration:[],script:"normal",letterSpacing:0,horizontalScale:1,align:"left",dir:"ltr"};function xr(e){return rr(e.paragraphs.map(t=>t.runs.map(r=>r.text).join("")).join(`\n`),`\n`)}function sA(e){return e.split(/\\r\\n|\\r|\\n/).map(t=>({runs:[{text:t}]}))}var jd=e=>Math.max(0,Math.min(255,Math.round(e))).toString(16).padStart(2,"0");function Li(e,t,r){return`#${jd(e)}${jd(t)}${jd(r)}`}function Tn(e){let t=Number.parseInt(e.slice(1),16);return{r:t>>16&255,g:t>>8&255,b:t&255}}function Pb(e,t){return e.toLowerCase()===t.toLowerCase()}var rA={highlight:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},underline:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},squiggly:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},strikeout:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data",intent:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},circle:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",box:"data",rotation:"data",cloudyIntensity:"data"},readBack:["rect","borderStyle"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",box:"box"},resources:{}},square:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",box:"data",rotation:"data",cloudyIntensity:"data"},readBack:["rect","borderStyle"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",box:"box"},resources:{}},polygon:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",vertices:"data",rotation:"data",captionEnabled:"data",captionCenter:"data",intent:"data",measure:"data",cloudyIntensity:"data"},readBack:["rect","borderStyle","vertices"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",vertices:"points",captionCenter:"point",measure:"measure"},resources:{}},polyline:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",vertices:"data",rotation:"data",captionEnabled:"data",captionCenter:"data",intent:"data",measure:"data",lineEndings:"data"},readBack:["rect","borderStyle","vertices"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",vertices:"points",captionCenter:"point",measure:"measure"},resources:{}},line:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",linePoints:"data",lineEndings:"data",rotation:"data",intent:"data",measure:"data",captionEnabled:"data",captionPosition:"data",captionOffset:"data",leader:"data"},readBack:["rect","borderStyle"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",linePoints:"linePoints",measure:"measure"},resources:{}},link:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",target:"data"},readBack:["target"],colors:[],spaces:{rect:"box",actions:"actions",target:"linkTarget"},resources:{}},ink:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",inkList:"data",intent:"data",rotation:"data"},readBack:["rect","strokeWidth","borderStyle","inkList"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",inkList:"strokes"},resources:{}},"free-text":{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",box:"data",rotation:"data",intent:"data",fontFamily:"data",fontSize:"data",textAlign:"data",verticalAlign:"data",color:"data",fontColor:"data",interiorColor:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",cloudyIntensity:"data",calloutLine:"data",lineEnding:"data"},readBack:["rect","intent","borderStyle"],colors:["color","fontColor","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",box:"box",calloutLine:"calloutLine"},resources:{}},caret:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",box:"data",rotation:"data",intent:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",box:"box"},resources:{}},text:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",icon:"data",open:"data",state:"data",stateModel:"data"},readBack:[],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length"},resources:{}},stamp:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",box:"data",rotation:"data",name:"data",fit:"data",opacity:"data"},readBack:["rect"],colors:[],spaces:{rect:"box",actions:"actions",richText:"length",box:"box"},resources:{appearance:"required"}},"file-attachment":{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",icon:"data",file:"data"},readBack:[],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length"},resources:{file:"required"}},widget:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"data",box:"data",rotation:"data",color:"data",interiorColor:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",fontFamily:"data",fontSize:"data",fontColor:"data",textAlign:"data",caption:"data",checkStyle:"data",field:"engine",fieldKind:"engine",hasMark:"engine"},readBack:["rect","actions"],colors:["color","interiorColor","fontColor"],spaces:{rect:"box",actions:"actions",box:"box"},resources:{}},redact:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data",interiorColor:"data",overlayText:"data",repeat:"data",fontFamily:"data",fontSize:"data",fontColor:"data",textAlign:"data"},readBack:[],colors:["color","interiorColor","fontColor"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},popup:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",parent:"data",open:"data"},readBack:["parent"],colors:[],spaces:{rect:"box",actions:"actions"},resources:{}},unsupported:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",rawSubtypeCode:"engine",rawSubtypeName:"engine"},readBack:[],colors:[],spaces:{rect:"box",actions:"actions"},resources:{}}};function eu(e){let t={};for(let r of Object.keys(rA))t[r]=e(rA[r]);return t}function Oi(e){return Object.prototype.hasOwnProperty.call(rA,e)?rA[e]:null}var tu=eu(e=>Object.keys(e.owners)),Rr=eu(e=>e.resources),ir=eu(e=>e.spaces),hb=Object.assign({},...Object.values(ir)),g_=[["highlight","underline","squiggly","strikeout"],["square","circle"]];function kb(e){let t=g_.find(r=>r.includes(e));return t?t.filter(r=>r!==e):[]}function Db(e,t){let r=Oi(t)?.owners??{},n=e;for(let i of Object.keys(Oi(e.subtype)?.owners??{})){let a=n[i];if(!(i in r)&&a!==null&&a!==void 0)return i}return null}var Bb=/^sha256-[0-9a-f]{64}$/,F_=["page","position","size"];async function Eb(e){let t=new Uint8Array(await crypto.subtle.digest("SHA-256",e)),r="";for(let n of t)r+=n.toString(16).padStart(2,"0");return`sha256-${r}`}async function nu(e,t){for(let[r,n]of Object.entries(t))await Eb(n)!==r&&De(e,`resource ${r} doesn\'t match its id`)}function AA(e,t){let r=new Set,n=new Set;for(let i of t){(!Ve(i)||!za(i.page)||!v_(i.size))&&De(e,"a page needs a page ref, a position and a size"),ar(e,"a page",i,F_);let{position:a}=i;(!Number.isInteger(a)||a<0)&&De(e,`page position ${JSON.stringify(a)} is not a position`);let o=le(i.page);r.has(o)&&De(e,`page ${o} is listed twice`),n.has(a)&&De(e,`position ${a} is listed twice`),r.add(o),n.add(a)}return r}function cA(e,t,r,n,i,a){Ve(r)||De(e,`${t} has no resources`);for(let[o,s]of Object.entries(r))n.includes(o)||De(e,`${t} names an unknown resource role \'${o}\'`),(typeof s!="string"||!Bb.test(s))&&De(e,`${t} names ${JSON.stringify(s)}, which is not a resource id`),i.has(s)||De(e,`${t} names ${s}, which the bundle doesn\'t hold`),a.add(s)}function dA(e,t,r,n){for(let i of r.keys())Bb.test(i)||De(e,`${JSON.stringify(i)} is not a resource id`),n.has(i)||De(e,`resource ${i} is named by no ${t}`)}function ar(e,t,r,n){for(let i of Object.keys(r))n.includes(i)||De(e,`${t} has an unknown field \'${i}\'`)}function De(e,t){throw new g(f.InvalidArg,`${e} bundle: ${t}`)}function Ve(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function za(e){return Ve(e)&&e.kind==="objectNumber"&&Number.isInteger(e.objectNumber)&&e.objectNumber>0}function v_(e){return Ve(e)&&[e.width,e.height].every(t=>typeof t=="number"&&Number.isFinite(t)&&t>=0)}function uA(e){let t=P_(e.bundlePages,e.pages,e.target),r=new Set;for(let n of e.named)t.has(le(n))||r.add(le(n));if(r.size>0){let n=[...r];throw new g(f.InvalidArg,`import: ${n.length===1?"page":"pages"} ${n.join(", ")} map to no page of this document`,{details:{pages:n}})}return n=>t.get(le(n))}function P_(e,t,r){let n=new Map(r.map(a=>[le(a.page),a.page])),i=new Map;if(t==="same")for(let a of e){let o=n.get(le(a.page));o&&i.set(le(a.page),o)}else if(t==="by-position"){let a=new Map(r.map(o=>[o.position,o.page]));for(let o of e){let s=a.get(o.position);s&&i.set(le(o.page),s)}}else for(let{from:a,to:o}of t){let s=le(a);if(i.has(s))throw new g(f.InvalidArg,`import: page ${s} is mapped twice`);let A=n.get(le(o));if(!A)throw new g(f.NotFound,`import: the document has no page ${le(o)}`);i.set(s,A)}return i}var h_=.001,k_=new Set(["subtype","invisible","hidden","print","noZoom","noRotate","noView","readOnly","locked","toggleNoView","lockedContents","nm","reply","popup","parent","open","groupId","subject","state","stateModel","ref","page","hasAppearance","appearanceState","author","createdAt","modifiedAt","userId","createdBy","modifiedBy","importedBy","actions","file","field","fieldKind"]),D_=new Set(["free-text","redact"]),B_=new Set(["square","circle","free-text","stamp","caret","widget","line","polyline","polygon","ink"]),_b={square:["box"],circle:["box"],"free-text":["box","calloutLine"],line:["linePoints"],polygon:["vertices"],polyline:["vertices"],ink:["inkList"],highlight:["quadPoints"],underline:["quadPoints"],squiggly:["quadPoints"],strikeout:["quadPoints"],redact:["rect","quadPoints"],caret:["box"],text:["rect"],stamp:["box"],"file-attachment":["rect"],link:["rect"],widget:["box"]},ru=(e,t)=>Math.abs(e-t)<=h_,fb=e=>typeof e=="number"?(e%360+360)%360:0;function Te(e,t){if(e==null||t==null)return e==null&&t==null;if(typeof e=="number"&&typeof t=="number")return ru(e,t);if(Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((r,n)=>Te(r,t[n]));if(typeof e=="object"&&typeof t=="object"){let r=new Set([...Object.keys(e),...Object.keys(t)]);for(let n of r)if(!Te(e[n],t[n]))return!1;return!0}return e===t}function Xd(e,t,r,n){if(e==null||t==null)return e==null&&t==null;if(Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((i,a)=>Xd(i,t[a],r,n));if(typeof e=="object"&&typeof t=="object"){let i=new Set([...Object.keys(e),...Object.keys(t)]);for(let a of i){let o=e[a],s=t[a];if(typeof o=="number"&&typeof s=="number"){if(!ru(o+(a==="left"||a==="right"||a==="x"?r:a==="bottom"||a==="top"||a==="y"?n:0),s))return!1}else if(!Xd(o,s,r,n))return!1}return!0}return e===t}function iA(e){if(e==null||typeof e!="object")return;if(Array.isArray(e))return e.length>0?iA(e[0]):void 0;let t=e;return typeof t.x=="number"&&typeof t.y=="number"?{x:t.x,y:t.y}:typeof t.left=="number"&&typeof t.bottom=="number"?{x:t.left,y:t.bottom}:iA(t.start??t.upperLeft)}function E_(e,t,r,n){let[i]=n,a=iA(e[i]),o=iA(t[i]);if(!a||!o)return null;let s=o.x-a.x,A=o.y-a.y;if(B_.has(r)){let d=t.rotation===void 0?e.rotation:t.rotation;if(!ru(fb(e.rotation),fb(d)))return null}for(let d of n){let p=e[d],m=t[d];if(!(p==null&&m==null)&&(p==null||m==null||!Xd(p,m,s,A)))return null}return{x:s,y:A}}function Wd(e,t,r){return Array.isArray(e)?e.map(n=>Wd(n,t,r)):e===null||typeof e!="object"?e:Object.fromEntries(Object.entries(e).map(([n,i])=>typeof i!="number"?[n,Wd(i,t,r)]:[n,i+(n==="left"||n==="right"||n==="x"?t:n==="bottom"||n==="top"||n==="y"?r:0)]))}function iu(e,t){if(t.x===0&&t.y===0)return e;let r=e,n=new Set(["rect","captionCenter",..._b[e.subtype]??[]]),i={...r};for(let a of n)r[a]!=null&&(i[a]=Wd(r[a],t.x,t.y));return i}var __={impact:"inert"},eA={impact:"regenerate"};function yb(e,t){if(t.subtype!==void 0&&t.subtype!==e.subtype)return eA;let r=e,n=t,i=e.subtype,a=n.captionEnabled===void 0?r.captionEnabled:n.captionEnabled,o=D_.has(i)||["line","polygon","polyline"].includes(i)&&a===!0,s=[];for(let[m,F]of Object.entries(n))F===void 0||k_.has(m)||m==="contents"&&!o||Te(F,r[m])||s.push(m);if(s.length===0)return __;let A=_b[i],d=A&&(i==="polygon"||i==="polyline")&&r.captionCenter?[...A,"captionCenter"]:A;if(!d||!s.every(m=>d.includes(m)))return eA;let p=E_(r,n,i,d);return p?{impact:"translation",by:p}:eA}function au(e,t){return yb(e,t).impact}function Ni(e,t){let r=new Map(e.map(p=>[j(p.ref),p])),n=r.get(j(t));if(!n)return[];let i=new Map,a=new Map,o=(p,m,F)=>p.set(m,[...p.get(m)??[],F]);for(let p of e){let m=p.reply?r.get(j(p.reply.to)):void 0;m&&m!==p&&o(i,m,p);let F=p.subtype==="popup"&&p.parent?r.get(j(p.parent)):void 0;F&&F!==p&&o(a,F,p);let h=p.popup?r.get(j(p.popup)):void 0;h&&h!==p&&h.subtype==="popup"&&o(a,p,h)}let s=[],A=new Set,d=p=>{if(!A.has(p)){A.add(p);for(let m of i.get(p)??[])d(m);for(let m of a.get(p)??[])A.has(m)||(A.add(m),s.push(m));s.push(p)}};return d(n),s}var y_=new Set(["accepted","rejected","cancelled","completed","none"]),G_=new Set(["marked","unmarked"]);function ou(e){return y_.has(e)?"review":G_.has(e)?"marked":null}var pA=new Set(["highlight","underline","squiggly","strikeout","square","circle","free-text","stamp","caret","widget","line","polyline","polygon","ink"]),C_=new Set(["box","point","points","strokes","quads","linePoints","calloutLine"]);function su(e){return[...Object.entries(ir[e]).filter(([t,r])=>t!=="rect"&&C_.has(r)).map(([t])=>t),"rotation"]}function Gb(e,t){let r=e.subtype;if(!pA.has(r))return{rect:t};let n=Ce(t),i=Ce(e.rect),a=n.right-n.left,o=n.top-n.bottom,s=i.right-i.left,A=i.top-i.bottom,d=Te(a,s),p=Te(o,A);if(!d&&a<=0||!p&&o<=0)throw Kd(r,"a rect needs a width and a height");let m=e.rotation??0,F=ir[r],h=F.box==="box"?Ri(m):null;if(!Te((m%360+360)%360,0)&&h===null&&(!d||!p))throw Kd(r,"a turned drawing\'s rect can only move; resize its shape instead");if(!d&&s<=0||!p&&A<=0)throw Kd(r,"its rect has no width or height to stretch; it can only move");let P=d?1:a/s,B=p?1:o/A,y=G=>({x:n.left+(G.x-i.left)*P,y:n.bottom+(G.y-i.bottom)*B}),x=G=>{let Q=y({x:G.left,y:G.bottom}),K=y({x:G.right,y:G.top});return Ce({left:Q.x,bottom:Q.y,right:K.x,top:K.y})},I={box:G=>h===null||h===0||h===180?x(G):Hr(x(fn(G,h)),h),point:y,points:G=>G.map(y),strokes:G=>G.map(Q=>Q.map(y)),quads:G=>G.map(Q=>({upperLeft:y(Q.upperLeft),upperRight:y(Q.upperRight),lowerLeft:y(Q.lowerLeft),lowerRight:y(Q.lowerRight)})),linePoints:G=>({start:y(G.start),end:y(G.end)}),calloutLine:G=>G.map(y)},S={};for(let G of su(r)){let Q=e[G],K=F[G];Q!=null&&K&&(S[G]=I[K](Q))}return S}function Kd(e,t){return new g(f.InvalidArg,`${e} field \'rect\': ${t}`,{details:{field:"rect"}})}var tA=e=>Number.isFinite(e)&&e>0;function Cb(e){let t=Math.fround(e.x[0]?.conversion??NaN);if(!tA(t))return null;if(!e.y)return{sx:t,sy:t};let r=Math.fround(e.y[0]?.conversion??NaN),n=Math.fround(e.cyx??NaN),i=r*n;return tA(r)&&tA(n)&&tA(i)?{sx:t,sy:i}:null}var lA=e=>({x:Math.fround(e.x),y:Math.fround(e.y)});function Ud(e,t,r){let n=0,i=e.map(lA);for(let a=0;a<(t?i.length:i.length-1);a++){let o=i[a],s=i[(a+1)%i.length];n+=Math.hypot((s.x-o.x)*r.sx,(s.y-o.y)*r.sy)}return n}function Au(e,t){if(e.length<3)return 0;let r=e.map(lA),n=r[0],i=0;for(let a=1;aa.x===o.x&&a.y===o.y;if(t.length>1&&r(t[0],t[t.length-1])&&t.pop(),t.length<3||Au(t,{sx:1,sy:1})===0)return!1;let n=(a,o,s)=>(o.x-a.x)*(s.y-a.y)-(o.y-a.y)*(s.x-a.x),i=(a,o,s)=>n(a,o,s)===0&&s.x>=Math.min(a.x,o.x)&&s.x<=Math.max(a.x,o.x)&&s.y>=Math.min(a.y,o.y)&&s.y<=Math.max(a.y,o.y);for(let a=0;a!("unavailable"in e);function du(e){if(!mA(e))return{unavailable:"not-dimension"};if(!e.measure)return{unavailable:"no-measure"};if(e.measure.subtype!=="rectilinear")return{unavailable:"foreign-measure"};let t=e.measure,r=Cb(t);if(!r)return{unavailable:"no-scale"};let n=e.subtype==="line"?e.linePoints?[e.linePoints.start,e.linePoints.end]:[]:e.vertices??[];if(n.length<(e.subtype==="polygon"?3:2)||n.some(s=>!Number.isFinite(Math.fround(s.x))||!Number.isFinite(Math.fround(s.y))))return{unavailable:"invalid-geometry"};let i=e.subtype==="polygon";if(i&&!Ib(n))return{unavailable:"invalid-geometry"};let a=i?t.area:t.distance;if(!a.length)return{unavailable:i?"no-area-format":"no-distance-format"};if(!a.every(tr))return{unavailable:"invalid-format"};let o=i?Au(n,r):Ud(n,!1,r);try{return{kind:i?"area":e.subtype==="line"?"distance":"perimeter",value:o*Math.fround(a[0].conversion),label:Js(o,a),...i&&t.distance.length&&t.distance.every(tr)?{perimeter:Js(Ud(n,!0,r),t.distance)}:{}}}catch{return{unavailable:"invalid-format"}}}function Sb(e){let t=du(e);return cu(t)&&e.contents!==t.label?{...e,contents:t.label}:e}function Za(e){if(e.subtype!=="rectilinear")throw new g(f.InvalidArg,"Only rectilinear measures can be authored");if(e.ratio!==void 0&&(typeof e.ratio!="string"||e.ratio.includes("\\0")))throw new g(f.InvalidArg,"Invalid scale ratio");for(let t of["x","y","distance","area","angle","slope"]){let r=e[t];if(!(r===void 0&&(t==="y"||t==="angle"||t==="slope"))){if(!Array.isArray(r))throw new g(f.InvalidArg,`Missing ${t} formats`);for(let n of r){if(!n||typeof n.unit!="string"||!tr(n))throw new g(f.InvalidArg,"Invalid number format");if(n.fraction!==void 0&&!["decimal","fraction","round","truncate"].includes(n.fraction))throw new g(f.InvalidArg,"Invalid fraction mode");if(n.labelPosition!==void 0&&!["prefix","suffix"].includes(n.labelPosition))throw new g(f.InvalidArg,"Invalid label position");if(n.fixed!==void 0&&typeof n.fixed!="boolean")throw new g(f.InvalidArg,"Invalid fixed precision");for(let i of["unit","thousands","decimal","prefixSpacing","suffixSpacing"]){let a=n[i];if(a!==void 0&&(typeof a!="string"||a.includes("\\0")))throw new g(f.InvalidArg,"Invalid measurement text")}}}}if(e.origin!==void 0)for(let t of[e.origin.x,e.origin.y])bn(t);if(e.cyx!==void 0&&(bn(e.cyx),Math.fround(e.cyx)<=0))throw new g(f.InvalidArg,"Invalid CYX")}function bn(e){if(typeof e!="number"||!Number.isFinite(Math.fround(e)))throw new g(f.InvalidArg,"Value is outside PDF float range")}var I_=["linePoints","vertices","measure","intent","contents"],S_=["captionEnabled","captionPosition","captionOffset","captionCenter"],x_=e=>e==="line"||e==="polygon"||e==="polyline",Qi=e=>S_.some(t=>e[t]!==void 0);function qd(e,t){try{if(t.measure!=null&&t.measure.subtype==="rectilinear"&&Za(t.measure),e==="line"&&"leader"in t&&t.leader!=null&&(typeof t.leader!="object"||Array.isArray(t.leader)))throw new g(f.InvalidArg,"Invalid line leader");let r=e==="line"?["line-dimension","line-arrow"]:e==="polygon"?["polygon-dimension","polygon-cloud"]:["polyline-dimension"];if(t.intent!=null&&!r.includes(t.intent))throw new g(f.InvalidArg,"Invalid measurement intent");if(t.captionEnabled!=null&&typeof t.captionEnabled!="boolean")throw new g(f.InvalidArg,"Invalid caption visibility");if("captionPosition"in t&&t.captionPosition!=null&&!["inline","top"].includes(t.captionPosition))throw new g(f.InvalidArg,"Invalid caption position");if("captionOffset"in t&&t.captionOffset&&(bn(t.captionOffset.along),bn(t.captionOffset.perpendicular)),"captionCenter"in t&&t.captionCenter&&(bn(t.captionCenter.x),bn(t.captionCenter.y)),"leader"in t&&t.leader){for(let i of[t.leader.length,t.leader.extension??0,t.leader.offset??0])bn(i);if((t.leader.extension??0)<0||(t.leader.offset??0)<0)throw new g(f.InvalidArg,"Leader extension and offset must be nonnegative")}let n="linePoints"in t?t.linePoints?[t.linePoints.start,t.linePoints.end]:[]:"vertices"in t?t.vertices??[]:[];for(let i of n)bn(i.x),bn(i.y)}catch(r){throw new g(f.InvalidArg,r.message)}}function H_(e,t,r){if(e.length!==t.length||e.length<2)return;let n=e[0],i=t[0],a=e.findIndex(F=>Math.hypot(F.x-n.x,F.y-n.y)>1e-6);if(a<0)return;let o={x:e[a].x-n.x,y:e[a].y-n.y},s={x:t[a].x-i.x,y:t[a].y-i.y},A=o.x*o.x+o.y*o.y,d=(o.x*s.x+o.y*s.y)/A,p=(o.x*s.y-o.y*s.x)/A;if(Math.abs(d*d+p*p-1)>1e-5)return;let m=F=>({x:i.x+d*(F.x-n.x)-p*(F.y-n.y),y:i.y+p*(F.x-n.x)+d*(F.y-n.y)});if(e.every((F,h)=>{let P=m(F);return Math.hypot(P.x-t[h].x,P.y-t[h].y)<=.001}))return m(r)}function xb(e){if(!x_(e.subtype))return e;let t=e;if(qd(e.subtype,t),t.measure!=null&&t.measure.subtype!=="rectilinear")throw new g(f.InvalidArg,`A ${t.measure.subtype==="geospatial"?"geospatial":"foreign"} measure can\'t be written; leave measure out`);let r=e;return Qi(e)&&(e.subtype==="line"?r={...e,captionEnabled:e.captionEnabled??!1,captionPosition:e.captionPosition??"inline",captionOffset:e.captionOffset??null}:(e.subtype==="polygon"||e.subtype==="polyline")&&(r={...e,captionEnabled:e.captionEnabled??(e.captionCenter!=null?!1:null),captionCenter:e.captionCenter??null})),Sb(r)}function O_(e,t){if(e.subtype!=="line"&&e.subtype!=="polygon"&&e.subtype!=="polyline")return t;let r=e.subtype,n={...t,subtype:r};if(qd(r,n),n.measure!=null&&n.measure.subtype!=="rectilinear"){if(e.measure?.subtype!==n.measure.subtype)throw new g(f.InvalidArg,`A ${n.measure.subtype==="geospatial"?"geospatial":"foreign"} measure can\'t be written; leave measure out`);n={...n,measure:void 0}}if(e.subtype==="line"&&n.subtype==="line")Qi(n)&&(n={...n,captionEnabled:n.captionEnabled===void 0?e.captionEnabled:n.captionEnabled,captionPosition:n.captionPosition??e.captionPosition,captionOffset:n.captionOffset===void 0?e.captionOffset:n.captionOffset});else if(e.subtype!=="line"&&n.subtype!=="line"){if(n.vertices&&n.captionEnabled!==null&&n.captionCenter===void 0&&e.captionCenter){let i=H_(e.vertices,n.vertices,e.captionCenter);i&&(n={...n,captionCenter:i})}Qi(n)&&(n=n.captionEnabled===null?{...n,captionEnabled:null,captionCenter:null}:{...n,captionEnabled:n.captionEnabled??e.captionEnabled??!1,captionCenter:n.captionCenter===void 0?e.captionCenter:n.captionCenter})}if(I_.some(i=>n[i]!==void 0)){let i=du({...e,...n});cu(i)&&(n={...n,contents:i.label})}return qd(r,n),n}function uu(e){if(!(e.richText===void 0||e.richText===null)&&!(e.contents===void 0||e.contents===null)&&rr(e.contents,`\n`)!==xr(e.richText))throw new g(f.InvalidArg,`${e.subtype??"annotation"}: \\`contents\\` must equal the plain projection of \\`richText\\` when both are given`)}function Hb(e){return e===void 0||e==="free-text"?!1:tu[e]?.includes("richText")??!1}function Q_(e){if(!Hb(e.subtype))return e;let{richText:t}=e;return t?{...e,contents:xr(t)}:e}function R_(e,t){if(!Hb(t.subtype??e.subtype))return t;let{richText:r}=t;if(r)return{...t,contents:xr(r)};if(r===null||t.contents===void 0||!e.richText)return t;if(t.contents===null)return{...t,richText:null};let n={paragraphs:sA(t.contents)};return{...t,richText:n,contents:xr(n)}}var zd="#ff0000",nA="#000000",Vd="#ffff00",It={invisible:!1,hidden:!1,print:!0,noZoom:!1,noRotate:!1,noView:!1,readOnly:!1,locked:!1,toggleNoView:!1,lockedContents:!1,blendMode:"normal"},Hi={...It,color:zd,opacity:1,strokeWidth:1,borderStyle:"solid"},gb={start:"none",end:"none"},Yd={...It,color:nA,opacity:1},lt={square:Hi,circle:Hi,line:{...Hi,lineEndings:gb,captionEnabled:!1,captionPosition:"inline"},polygon:Hi,polyline:{...Hi,lineEndings:gb},ink:Hi,highlight:{...It,blendMode:"multiply",color:Vd,opacity:1},underline:Yd,squiggly:Yd,strikeout:Yd,caret:{...It,color:zd,opacity:1},"free-text":{...It,contents:"",intent:"free-text",fontFamily:"helvetica",fontSize:12,textAlign:"left",verticalAlign:"top",color:nA,fontColor:nA,opacity:1,strokeWidth:1,borderStyle:"solid"},text:{...It,icon:"note",open:!1,color:Vd,opacity:1},"file-attachment":{...It,icon:"paperclip",color:Vd,opacity:1},link:It,redact:{...It,quadPoints:[],color:zd,opacity:1,repeat:!1,fontFamily:"helvetica",fontSize:12,fontColor:nA,textAlign:"left"},stamp:{...It,fit:"contain",opacity:1},widget:{...It,strokeWidth:1,borderStyle:"solid",textAlign:"left"},popup:{...It,print:!1,open:!1}};function Ja(e){return e==="unsupported"?{}:lt[e]}var wA=[3,3];function bA(e,t){return e==="dashed"&&t===void 0}var Ob=e=>Oi(e)?.owners.dashArray!==void 0;function T_(e){if(!Ob(e.subtype))return e;let t=e;return bA(t.borderStyle??Ja(e.subtype).borderStyle,t.dashArray)?{...e,dashArray:[...wA]}:e}function M_(e,t){if(!Ob(e.subtype))return t;let r=t;return!bA(r.borderStyle,r.dashArray)||e.dashArray!=null?t:{...t,dashArray:[...wA]}}function L_(e,t,r){let n={x:(e.left+e.right)/2,y:(e.bottom+e.top)/2},i={degrees:r,center:n},a=r?Ti(t,i):t,o=a.x-n.x,s=a.y-n.y,A=Math.abs(o)>=Math.abs(s)?{x:o>=0?e.right:e.left,y:n.y}:{x:n.x,y:s>0?e.top:e.bottom};return r?Qr(A,i):A}function Qb(e,t,r){let n={...e};if(t.fontFamily!==void 0){let i=Sr(t.fontFamily,r);n.family=i.family,i.weight!==void 0&&(n.weight=i.weight),i.italic!==void 0&&(n.italic=i.italic)}return t.fontSize!==void 0&&(n.size=t.fontSize),t.fontColor!=null&&(n.color=t.fontColor),t.textAlign!==void 0&&(n.align=t.textAlign),n}function Rb(e,t){if(t!=null&&e!=="free-text-callout")throw new g(f.InvalidArg,`free-text: a callout line needs intent \'free-text-callout\', not \'${e}\'`,{details:{field:"intent"}})}function N_(e,t,r){let n={};return r.fontSize===void 0&&e.size!==void 0&&e.size!==t.fontSize&&(n.fontSize=e.size),r.fontColor===void 0&&e.color!==void 0&&e.color.toLowerCase()!==t.fontColor?.toLowerCase()&&(n.fontColor=e.color.toLowerCase()),r.textAlign===void 0&&e.align!==void 0&&e.align!==t.textAlign&&(n.textAlign=e.align),n}function j_(e,t,r){if(e.subtype!=="free-text"||t.subtype!=="free-text")return t;let n=t;(n.intent!==void 0||n.calloutLine!==void 0)&&Rb(n.intent??e.intent,n.calloutLine!==void 0?n.calloutLine:e.calloutLine);let i=Qb({},n,r),a=n.richText!==void 0||n.contents!==void 0;if(!a&&Object.keys(i).length===0)return n;let o={...n.richText?.body?{...Mi,...n.richText.body}:e.richText.body,...i},s={body:o,paragraphs:n.richText?.paragraphs??(n.contents!==void 0?sA(n.contents??""):e.richText.paragraphs)};return{...n,...N_(o,e,n),richText:s,...a?{contents:xr(s)}:{}}}function K_(e,t){if(e.subtype!=="free-text"||t.subtype!=="free-text")return t;let r=t,n=e.calloutLine;if(!n||r.calloutLine!==void 0||r.box===void 0&&r.rotation===void 0)return r;let i=r.box??e.box,a=(r.rotation===void 0?e.rotation:r.rotation)??0,o=n.length===3?n[1]:void 0,s=L_(i,o??n[0],a);return{...r,calloutLine:o?[n[0],o,s]:[n[0],s]}}function V_(e,t){if(e.subtype!=="free-text")return e;let r=e.intent??(e.calloutLine!=null?"free-text-callout":"free-text");Rb(r,e.calloutLine);let n={body:Qb(e.richText?.body??{},e,t),paragraphs:e.richText?.paragraphs??sA(e.contents??"")};return{...e,intent:r,richText:n,contents:xr(n)}}function Tb(e,t){let{rect:r,...n}=t;if(r===void 0||!pA.has(e.subtype))return t;if(!Fb(r))throw new g(f.InvalidArg,`${e.subtype} update field \'rect\': not a rect of finite numbers`,{details:{field:"rect"}});if(Te(Ce(r),e.rect))return n;let i=e,a=su(e.subtype).find(p=>{let m=t[p];return m!==void 0&&!Te(m,i[p])});if(a)throw new g(f.InvalidArg,`${e.subtype} update field \'rect\': a new rect moves the shape, so it can\'t come with a new \'${a}\'`,{details:{field:"rect"}});let{left:o,bottom:s,right:A,top:d}=r;return{...n,...Gb(e,{left:o,bottom:s,right:A,top:d})}}function Mb(e,t){let r=Object.entries(e).filter(([n,i])=>n==="subtype"||!t(n,i));return Object.fromEntries(r)}function Y_(e,t){let r=Oi(e.subtype)?.colors??[],n=e;return Mb(t,(i,a)=>{let o=n[i];return r.includes(i)&&typeof a=="string"&&typeof o=="string"&&Pb(a,o)})}function X_(e,t){let r=e;return Mb(t,(n,i)=>i!==void 0&&Te(i,r[n]))}function Lb(e){return new g(f.InvalidArg,`text: the custom state \'${e}\' needs a stateModel`,{details:{field:"stateModel"}})}function W_(e){if(e.subtype!=="text"||e.state==null||e.stateModel!=null)return e;let t=ou(e.state);if(!t)throw Lb(e.state);return{...e,stateModel:t}}function U_(e,t){if(e.subtype!=="text"||t.subtype!=="text"||t.state==null||t.stateModel!==void 0)return t;let r=ou(t.state);if(r)return{...t,stateModel:r};if(!e.stateModel)throw Lb(t.state);return t}function pu(e,t){let r=tu[e],n=Object.keys(t).filter(i=>i!=="subtype"&&!r.includes(i));if(n.length>0)throw new g(f.InvalidArg,`${e} has no field ${n.map(i=>`\'${i}\'`).join(", ")}`)}function q_(e){return e.length<2?e.join(""):`${e.slice(0,-1).join(", ")} or ${e.at(-1)}`}function z_(e,t){if(t===void 0||t===e.subtype)return e.subtype;let r=kb(e.subtype);if(!r.includes(t))throw new g(f.InvalidArg,r.length===0?`${e.subtype} has no other kind it can become`:`${e.subtype} can become ${q_(r)}, not ${t}`,{details:{field:"subtype"}});let n=Db(e,t);if(n!==null){let i=e[n];throw new g(f.InvalidArg,`${e.subtype} field \'${n}\' holds ${typeof i=="string"?`\'${i}\'`:JSON.stringify(i)}, and ${t} has no such field: clear it first, in the same change`,{details:{field:n}})}return t}function Z_(e,t){let r=z_(e,t.subtype);if(e.subtype==="unsupported")throw new g(f.InvalidArg,"an annotation of a type the engine doesn\'t model can\'t be updated");return pu(r,t),{...t,subtype:r}}function Nb(e,t){return X_(e,Y_(e,Tb(e,Z_(e,t))))}function jb(e,t,r={}){let n=M_(e,U_(e,t));return uu(n),O_(e,K_(e,R_(e,j_(e,n,r.describeFont))))}function J_(e){if(ir[e.subtype]?.box!=="box")return e;let t=e;if(t.box!==void 0)return e;if(t.rect===void 0)throw new g(f.InvalidArg,`${e.subtype} create: give its \\`box\\`, or its \\`rect\\` with a quarter turn`,{details:{field:"box"}});if(!Fb(t.rect))throw new g(f.InvalidArg,`${e.subtype} create field \'rect\': not a rect of finite numbers`,{details:{field:"rect"}});let r=t.rotation??0,n=Ri(r);if(n===null)throw new g(f.InvalidArg,`${e.subtype} create field \'rect\': a rect places a box at a quarter turn; at ${r}\\xB0 give its \\`box\\``,{details:{field:"rect"}});let{rect:i,...a}=e;return{...a,box:Hr(Ce(t.rect),n)}}function $_(e){if(e.subtype!=="redact"||e.rect!=null)return e;let t=e.quadPoints??[];if(t.length===0)return e;let r=nr(t.flatMap(n=>[n.upperLeft,n.upperRight,n.lowerLeft,n.lowerRight]));return{...e,rect:r}}function Kb(e){return pu(e.subtype,e),J_(e)}function Vb(e,t={}){return uu(e),xb($_(Q_(V_(T_(W_(e)),t.describeFont))))}var mt=class extends g{constructor(e,t){super(f.InvalidArg,`invalid scope "${e}": ${t}`,{details:{scope:e,reason:t}}),this.scope=e,xe(this,"name","InvalidScope")}},je=class extends g{constructor(e,t,r,n){super(f.Forbidden,`permission denied${t?` (${t})`:""}: ${r?`one of ${r.join(", ")}`:e}${n?` for ${n.length} annotation${n.length===1?"":"s"}`:""}`,{details:{required:e,...t===void 0?{}:{context:t},...r===void 0?{}:{anyOf:[...r]},...n===void 0?{}:{refs:[...n]}}}),this.required=e,this.context=t,this.anyOf=r,this.refs=n,xe(this,"name","PermissionDenied")}};var ji=class extends g{constructor(e){super(f.Aborted,ey(e)),xe(this,"name","AbortError"),xe(this,"reason",void 0),this.reason=e}};function ey(e){if(e==null)return"aborted";if(typeof e=="string")return e;if(e instanceof Error)return e.message||"aborted";try{return JSON.stringify(e)}catch{return"aborted"}}var Yb;Yb=Symbol.species;var ty=class fA extends Promise{static get[Yb](){return Promise}constructor(t){let r=new AbortController,n=new Set,i={settled:!1},a;super((o,s)=>{a=s,t(m=>{i.settled||(i.settled=!0,o(m))},m=>{i.settled||(i.settled=!0,s(m))},m=>{if(!i.settled)for(let F of n)try{F(m)}catch{}},r.signal)}),xe(this,"signal",void 0),xe(this,"_ctrl",void 0),xe(this,"_progressCbs",void 0),xe(this,"_state",void 0),xe(this,"_internalReject",void 0),this._ctrl=r,this.signal=r.signal,this._progressCbs=n,this._state=i,this._internalReject=a}abort(t){if(this._state.settled||this._ctrl.signal.aborted)return;let r=t instanceof ji?t:new ji(t);this._state.settled=!0,this._ctrl.abort(r),this._internalReject(r)}abortWith(t){if(t.aborted)return this.abort(t.reason),this;let r=()=>this.abort(t.reason);t.addEventListener("abort",r,{once:!0});let n=()=>t.removeEventListener("abort",r);return Promise.prototype.then.call(this,n,n),this}onProgress(t){return this._progressCbs.add(t),()=>{this._progressCbs.delete(t)}}static resolveValue(t){return new fA(r=>r(t))}static rejectReason(t){return new fA((r,n)=>n(t))}static run(t){return new fA((r,n,i,a)=>{t(a,i).then(r,n)})}};function FA(e,t){let{includeAnnotations:r,includeFormFields:n}=e??{};if(r===!0&&!t.annotations)throw new je("doc.annotate.read","includeAnnotations");if(n===!0&&!t.formFields)throw new je("doc.forms.read","includeFormFields");return{includeAnnotations:r??t.annotations,includeFormFields:n??(r===!1?!1:t.formFields)}}function bu(e,t){let{usage:r,viewport:n}=e??{};if(r===void 0||r==="display"){if(n?.kind==="dpi"&&$a("viewport",\'a dpi viewport is only for a print picture (usage: "print")\'),n?.kind==="thumbnail"){if(e?.target!==void 0&&e.target.kind!=="page"&&$a("target","a thumbnail is the whole page: it takes no target"),t!==null&&!t.thumbnail)throw new je("doc.render.thumbnail","viewport");return}if(t!==null&&!t.render)throw new je("doc.render","usage");return}r!=="print"&&$a("usage",\'usage must be "display" or "print"\'),(n?.kind!=="dpi"||n.dpi!==150&&n.dpi!==300)&&$a("viewport","a print picture needs viewport: { kind: \'dpi\', dpi: 150 or 300 }");for(let i of["target","rotation","background"])e?.[i]!==void 0&&$a(i,`a print picture takes no ${i}: it is the whole page, upright, on white`);if(t!==null){if(!t.print)throw new je("doc.print","usage");if(n.dpi===300&&!t.printHigh)throw new je("doc.print.high","viewport")}}function $a(e,t){throw new g(f.InvalidArg,t,{details:{field:e}})}var lu=["normal","rollover","down"];function fu(e){if(e===void 0)return;if(e.length===0)throw new g(f.InvalidArg,"modes must name at least one mode",{details:{field:"modes"}});let t=lu.filter(r=>e.includes(r));return t.length===lu.length?void 0:t}var Xb="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",mu=61,Tr=Uint8Array.from(Xb,e=>e.charCodeAt(0)),ny=(()=>{let e=new Int16Array(128).fill(-1);for(let t=0;t<64;t++)e[Xb.charCodeAt(t)]=t;return e})();function Wb(e){let t=new Uint8Array(4*Math.ceil(e.length/3)),r=0,n=0;for(;n+2>18],t[r++]=Tr[a>>12&63],t[r++]=Tr[a>>6&63],t[r++]=Tr[a&63]}let i=e.length-n;if(i>0){let a=e[n]<<16|(i===2?e[n+1]<<8:0);t[r++]=Tr[a>>18],t[r++]=Tr[a>>12&63],t[r++]=i===2?Tr[a>>6&63]:mu,t[r++]=mu}return new TextDecoder().decode(t)}function Ub(e){let t=zb(e);return t%4===1?null:Math.floor(t*3/4)}function qb(e){let t=zb(e);if(t%4===1)throw new Error("malformed base64");let r=new Uint8Array(Math.floor(t*3/4)),n=0,i=0,a=0;for(let o=0;o=8&&(a-=8,r[n++]=i>>a&255)}return r}function zb(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===mu;)t-=1;return t}var Zb=(e,t,r)=>Math.min(Math.max(Math.floor(e),t),r);function ry(e,t){let r=0,n=e.length-1,i=null;for(;r<=n;){let a=r+n>>1;e[a][0]<=t?(i=e[a],r=a+1):n=a-1}return i??[0,0]}function wu(e,t){let r=Zb(t,0,e.charCount),n=e.charMap;if(!n||n.length===0)return Math.min(r,e.text.length);let[i,a]=ry(n,r);return a+(r-i)}function gA(e,t,r){let n=Zb(t,0,e.text.length),i=0,a=e.charCount;if(r==="start"){for(;i>1;wu(e,o)>=n?a=o:i=o+1}return i}function gu(e,t){let r=t.start,n=t.start+t.count;if(n<=r)return{start:gA(e,r,"end"),count:0};let i=gA(e,r,"start");return{start:i,count:gA(e,n,"end")-i}}function Jb(e){return e>=64976&&e<=65007||(e&65534)===65534}var iy=/[\\r\\p{Noncharacter_Code_Point}]/u;function Fu(e){let{text:t,charCount:r}=e;if(!iy.test(t))return e;let n=e.charMap??[],i=[],a=[],o=0,s=0,A=0;for(let p=0;p0?{text:d,charCount:r,charMap:a}:{text:d,charCount:r}}function ay(e,t){return e==="\\r"?t===`\n`?"":`\n`:e!==""&&Jb(e.codePointAt(0))?"":e}function vu(e,t,r){if(!r||r.length===0)return e===t?null:`identity map requires charCount (${e}) === text length (${t})`;let n=0,i=0;for(let o=0;oe)return`anchor ${o} char ${s} outside [1, ${e}]`;let d=A-(i+(s-n-1));if(d!==0&&d!==2)return`anchor ${o} implies a character contributing ${d} text units (expected 0 or 2)`;n=s,i=A}let a=i+(e-n);return a!==t?`map projects charCount to ${a}, but text length is ${t}`:null}function Nr(e){return e==="start"||e==="end"?null:"before"in e?e.before:e.after}function to(e,t,r){if(t==="start")return 0;if(t==="end")return e.length;let n=Nr(t),i=e.findIndex(a=>r(a)===r(n));if(i<0)throw new g(f.NotFound,`no neighbour ${r(n)} in the list`,{details:{field:"position"}});return"before"in t?i:i+1}function hA(e,t,r,n){let i=new Set(t.map(n));if(i.size!==t.length)throw new g(f.InvalidArg,"a row is named twice",{details:{field:"refs"}});let a=new Set(e.map(n)),o=t.find(p=>!a.has(n(p)));if(o!==void 0)throw new g(f.NotFound,`no row ${n(o)} in the list`,{details:{field:"refs"}});let s=Nr(r);if(s!==null&&i.has(n(s)))throw new g(f.InvalidArg,`the neighbour ${n(s)} is one of the rows that move`,{details:{field:"position"}});let A=e.filter(p=>!i.has(n(p))),d=to(A,r,n);return[...A.slice(0,d),...t,...A.slice(d)]}var no="EmbedPDF";var Pu={long:842,short:612};function cf(e,t){let r=Math.max(e.width,e.height),n=Math.min(e.width,e.height),i=Math.min(1,Pu.long/r,Pu.short/n);return t/72*i}function hu(e,t,r){let n=t===90||t===270,i=n?e.height:e.width,a=n?e.width:e.height;if(r.kind==="width"){if(!Number.isFinite(r.width)||r.width<=0)throw new g(f.InvalidArg,"render viewport width must be positive");let s=Math.max(1,Math.round(r.width));return{width:s,height:Math.max(1,Math.round(s*a/i))}}let o=r.kind==="dpi"?cf(e,r.dpi):r.kind==="thumbnail"?512/Math.max(e.width,e.height):r.scale??1;if(!Number.isFinite(o)||o<=0)throw new g(f.InvalidArg,"render viewport scale must be positive");return{width:Math.max(1,Math.round(i*o)),height:Math.max(1,Math.round(a*o))}}function ku(e,t,r,n){let{x:i,y:a}=e,o=e.width,s=e.height;switch(t){case 0:return[r/o,0,0,n/s,-r/o*i,-n/s*a];case 90:return[0,n/o,-r/s,0,r/s*(a+s),-n/o*i];case 180:return[-r/o,0,0,-n/s,r/o*(i+o),n/s*(a+s)];case 270:return[0,-n/o,r/s,0,-r/s*a,n/o*(i+o)]}}function St(e,t){return{x:e.x-t.left,y:t.top-e.y}}function xt(e,t){return{x:e.x+t.left,y:t.top-e.y}}function $e(e,t){return{x:e.left-t.left,y:t.top-e.top,width:e.right-e.left,height:e.top-e.bottom}}function Ki(e,t){let r=e.x+t.left,n=t.top-e.y;return{left:r,right:r+e.width,bottom:n-e.height,top:n}}function eo(e,t){return{upperLeft:St(e.upperLeft,t),upperRight:St(e.upperRight,t),lowerLeft:St(e.lowerLeft,t),lowerRight:St(e.lowerRight,t)}}function df(e,t){return{upperLeft:xt(e.upperLeft,t),upperRight:xt(e.upperRight,t),lowerLeft:xt(e.lowerLeft,t),lowerRight:xt(e.lowerRight,t)}}function Du(e){return"rotation"in e}function Dt(e){return{kind:"objectNumber",objectNumber:e}}function ro(e){if(e.byteLength<4)return null;let t=new Uint8Array(e);return t[0]===137&&t[1]===80&&t[2]===78&&t[3]===71?Ay(e):t[0]===255&&t[1]===216&&t[2]===255?cy(e):t[0]===37&&t[1]===80&&t[2]===68&&t[3]===70?{mimeType:"application/pdf"}:null}function Ay(e){if(e.byteLength<24)return null;let t=new DataView(e),r=t.getUint32(16),n=t.getUint32(20);return r===0||n===0?null:{mimeType:"image/png",width:r,height:n}}function cy(e){let t=new Uint8Array(e),r=2;for(;r+4=192&&n<=195){if(r+9>t.byteLength)return null;let i=new DataView(e,r+5),a=i.getUint16(0),o=i.getUint16(2);return o===0||a===0?null:{mimeType:"image/jpeg",width:o,height:a}}if(n===216||n===217)r+=2;else if(n===255)r+=1;else{let i=t[r+2]<<8|t[r+3];r+=2+i}}return null}var Bu=["appearance","file"];function kA(e,t,r){let n=Rr[e]??{};for(let i of Bu){let a=t?.[i]!==void 0;if(a&&n[i]===void 0)throw new g(f.InvalidArg,`a ${e} annotation takes no \'${i}\' resource`);if(!a&&r==="create"&&n[i]==="required")throw new g(f.InvalidArg,`creating a ${e} annotation needs its \'${i}\' resource`)}}var qt=Object.freeze({bundleBytes:50*1024*1024,manifestBytes:16*1024*1024,items:1e4,pages:2e3,resources:2e3,resourceBytes:50*1024*1024,imagePixels:4e7});function jr(e){return new TextEncoder().encode(JSON.stringify(e)).length}function Ie(e,t,r,n){let i=t[r];if(!(n<=i))throw new g(f.PayloadTooLarge,`the ${e} bundle is past its ${r} limit: ${n} > ${i}`,{details:{limit:r,max:i,value:n}})}var dy=81,uy=256,py={annotation:"an annotation bundle",form:"a form bundle"};function DA(e){let t=r=>new g(f.InvalidArg,`the file is not ${py[e.kind]}`,r===void 0?void 0:{cause:r});return{stringify(r,n){let i=n?.limits??qt,a=new Map;for(let[A,d]of Object.entries(r.resources))a.set(A,d.length);e.assertManifest(r,a,i);let o={};for(let A of e.keys)o[A]=r[A];let s={};for(let[A,d]of Object.entries(r.resources))s[A]=Wb(d);return o.resources=s,JSON.stringify(o)},async parse(r,n){let i=n?.limits??qt,a=Math.ceil(i.bundleBytes*4/3)+i.resources*dy+uy;if(r.length>a)throw new g(f.PayloadTooLarge,`the file is ${r.length} characters, more than a bundle within ${i.bundleBytes} bytes can be`,{details:{limit:"bundleBytes",max:i.bundleBytes,fileLength:r.length}});let o;try{o=JSON.parse(r)}catch(m){throw t(m)}let s=typeof o=="object"&&o!==null?o.resources:null;if(typeof s!="object"||s===null||Array.isArray(s))throw t();let A=new Map;for(let[m,F]of Object.entries(s)){let h=typeof F=="string"?Ub(F):null;if(h===null)throw new g(f.InvalidArg,`resource ${m} is not base64`);A.set(m,h)}e.assertManifest(o,A,i);let d={};for(let[m,F]of Object.entries(s))try{d[m]=qb(F)}catch(h){throw new g(f.InvalidArg,`resource ${m} is not base64`,{cause:h})}await nu(e.kind,d);let p={};for(let m of e.keys)p[m]=o[m];return p.resources=d,p}}}var uf=["format","version","pages","items"],ly=[...uf,"resources"],my=["data","resources"];function BA(e,t,r){Ve(e)||De("annotation","not an annotation bundle"),ar("annotation","the bundle",e,ly),e.format!=="embedpdf/annotations"&&De("annotation",`unknown format ${JSON.stringify(e.format)}`),e.version!==1&&De("annotation",`unknown version ${JSON.stringify(e.version)}`);let{pages:n,items:i}=e;Array.isArray(n)||De("annotation","pages is not a list"),Array.isArray(i)||De("annotation","items is not a list"),Ie("annotation",r,"items",i.length),Ie("annotation",r,"pages",n.length),Ie("annotation",r,"resources",t.size);let a=jr({pages:n,items:i});Ie("annotation",r,"manifestBytes",a);for(let A of t.values())Ie("annotation",r,"resourceBytes",A),a+=A;Ie("annotation",r,"bundleBytes",a);let o=AA("annotation",n),s=new Set;i.forEach((A,d)=>{(!Ve(A)||!Ve(A.data)||typeof A.data.subtype!="string")&&De("annotation",`item ${d} has no annotation data`),ar("annotation",`item ${d}`,A,my);let p=A.data.ref,m=Ve(p)?p.page:void 0;(!za(m)||!o.has(le(m)))&&De("annotation",`item ${d} is on a page the bundle doesn\'t list`),cA("annotation",`item ${d}`,A.resources,Bu,t,s)}),dA("annotation","item",t,s)}var wy=DA({kind:"annotation",keys:uf,assertManifest:BA}),by={decodedBytes:256*1024*1024};function EA(e){return{kind:"key",key:e}}var fy=new Set(["square","circle","free-text","stamp","caret"]);function Eu(e){let{subtype:t,rect:r,box:n,rotation:i,intent:a}=e;return!fy.has(t)||!n||!i||t==="free-text"&&a==="free-text-callout"?null:Or(fn(n,i),r)?i:null}var pf=(e,t)=>typeof t=="function"?t(e):t,PA=(e,t)=>e===null?null:t(e);function Mn(e,t){let{left:r,top:n}=pf(e.page,t),i=o=>PA(o,s=>s-r),a=o=>PA(o,s=>n-s);switch(e.kind){case"xyz":{let{left:o,top:s,...A}=e;return{...A,x:i(o),y:a(s)}}case"fitH":case"fitBH":{let{top:o,...s}=e;return{...s,y:a(o)}}case"fitV":case"fitBV":{let{left:o,...s}=e;return{...s,x:i(o)}}case"fitR":{let{left:o,bottom:s,right:A,top:d,...p}=e,m=Math.min(s,d),F=Math.max(s,d);return{...p,x:Math.min(o,A)-r,y:n-F,width:Math.abs(A-o),height:F-m}}case"fit":case"fitB":return e}}function Mr(e,t){let{left:r,top:n}=pf(e.page,t),i=o=>PA(o,s=>s+r),a=o=>PA(o,s=>n-s);switch(e.kind){case"xyz":{let{x:o,y:s,...A}=e;return{...A,left:i(o),top:a(s)}}case"fitH":case"fitBH":{let{y:o,...s}=e;return{...s,top:a(o)}}case"fitV":case"fitBV":{let{x:o,...s}=e;return{...s,left:i(o)}}case"fitR":{let{x:o,y:s,width:A,height:d,...p}=e,m=n-s;return{...p,left:o+r,bottom:m-d,right:o+r+A,top:m}}case"fit":case"fitB":return e}}function io(e,t){return e.kind==="goto"?{...e,destination:t(e.destination)}:e}function _u(e,t){let r=e.next.map(n=>_u(n,t));return e.type==="goto"?{...e,next:r,destination:t(e.destination)}:{...e,next:r}}function Lr(e,t){return{...e,root:e.root?_u(e.root,t):null}}function lf(e,t){let r=e.next?.map(i=>lf(i,t)),n=e.type==="goto"?{...e,destination:t(e.destination)}:e;return r?{...n,next:r}:n}function _A(e,t){return Object.fromEntries(Object.entries(e).map(([r,n])=>n==null?[r,n]:[r,"root"in n?Lr(n,t):lf(n,t)]))}function yu(e,t){return Object.fromEntries(Object.entries(e).map(([r,n])=>[r,n&&Lr(n,t)]))}function Gu(e,t){return yu(e,t)}function Cu(e,t){return yu(e,t)}function Iu(e,t){let{nameTreeScripts:r,openAction:n,openDestination:i,...a}=e;return{...yu(a,t),nameTreeScripts:r.map(o=>({...o,action:Lr(o.action,t)})),openAction:n?Lr(n,t):null,..."openDestination"in e?{openDestination:i&&t(i)}:{}}}var mf=(e,t)=>e.subtype==="rectilinear"&&e.origin?{...e,origin:t(e.origin)}:e;function ao(e,t){return mf(e,r=>St(r,t))}function oo(e,t){return mf(e,r=>xt(r,t))}function so(e,t){return e.map(r=>({...r,bbox:$e(r.bbox,t),measure:r.measure?ao(r.measure,t):null}))}var gy={length:e=>e,point:(e,{visible:t})=>St(e,t),points:(e,{visible:t})=>e.map(r=>St(r,t)),strokes:(e,{visible:t})=>e.map(r=>r.map(n=>St(n,t))),box:(e,{visible:t})=>$e(e,t),quads:(e,{visible:t})=>e.map(r=>eo(r,t)),linePoints:(e,{visible:t})=>({start:St(e.start,t),end:St(e.end,t)}),calloutLine:(e,{visible:t})=>e.map(r=>St(r,t)),measure:(e,{visible:t})=>ao(e,t),linkTarget:(e,{boxOf:t})=>io(e,r=>Mn(r,t)),actions:(e,{boxOf:t})=>_A(e,r=>Mn(r,t))},Su={length:e=>e,point:(e,{visible:t})=>xt(e,t),points:(e,{visible:t})=>e.map(r=>xt(r,t)),strokes:(e,{visible:t})=>e.map(r=>r.map(n=>xt(n,t))),box:(e,{visible:t})=>Ki(e,t),quads:(e,{visible:t})=>e.map(r=>df(r,t)),linePoints:(e,{visible:t})=>({start:xt(e.start,t),end:xt(e.end,t)}),calloutLine:(e,{visible:t})=>e.map(r=>xt(r,t)),measure:(e,{visible:t})=>oo(e,t),linkTarget:(e,{boxOf:t})=>io(e,r=>Mr(r,t)),actions:(e,{boxOf:t})=>_A(e,r=>Mr(r,t))},Fy=e=>e===void 0?hb:ir[e]??ir.unsupported;function xu(e,t,r,n){let i=Fy(e);return Object.fromEntries(Object.entries(t).map(([a,o])=>{let s=i[a];if(!s||o==null)return[a,o];let A=n[s](o,r);if(n===Su&&wf(A))throw vy(a,s);return[a,A]}))}function wf(e){return typeof e=="number"?Number.isNaN(e):typeof e!="object"||e===null?!1:Object.values(e).some(wf)}function vy(e,t){let r=t==="box"?"{ x, y, width, height }":"points as { x, y }";return new g(f.InvalidArg,`field \'${e}\': expected page space, ${r} from the page\'s top-left`,{details:{field:e}})}function or(e,t,r){return xu(e.subtype,e,{visible:t,boxOf:r},gy)}function Vi(e,t,r){return xu(e.subtype,e,{visible:t,boxOf:r},Su)}function Kr(e,t,r){return xu(e.subtype,e,{visible:t,boxOf:r},Su)}var $b=e=>!!(e.space||e.empty),Yi=e=>!!e.empty,Py=2.5,hy=1.5,ky=.8,Dy=.5,By=Math.cos(.0087),bf=1e-6;function Hu(e){let t=yy(e),r=t.glyphs.length,n=a=>typeof a!="number"?rf(t,a):Number.isInteger(a)&&a>=0&&a({start:a,count:o-a+1});return{charCount:r,runs:e.runs,charAt:a=>rf(t,a),wordAt:a=>{let o=n(a);return o===null?null:i(Iy(t,o))},lineAt:a=>{let o=n(a);return o===null?null:i(Sy(t,o))},segments:a=>Hy(t,a.start,a.count),charQuad:a=>xy(t,a)}}var Ey={baseline:{x:1,y:0},ascent:{x:0,y:1}},ff=(e,t)=>({x:t.x*e.baseline.x+t.y*e.baseline.y,y:t.x*e.ascent.x+t.y*e.ascent.y}),vA=(e,t)=>({x:e.baseline.x*t.x+e.ascent.x*t.y,y:e.baseline.y*t.x+e.ascent.y*t.y}),ef={left:0,bottom:0,right:0,top:0};function tf(e,t){let r=[t.upperLeft,t.upperRight,t.lowerLeft,t.lowerRight].map(a=>ff(e,a)),n=r.map(a=>a.x),i=r.map(a=>a.y);return{left:Math.min(...n),bottom:Math.min(...i),right:Math.max(...n),top:Math.max(...i)}}function _y(e,t){let r=t.glyphs.find(F=>!Yi(F));if(!r)return 0;let n=r.loose,i=n.upperRight.x-n.upperLeft.x,a=n.upperRight.y-n.upperLeft.y,o=Math.hypot(i,a);if(o<=bf)return 0;let s={x:i/o,y:a/o},A=n.upperLeft.x-n.lowerLeft.x,d=n.upperLeft.y-n.lowerLeft.y,p=s.x*d-s.y*A>=0?1:-1,m={x:-s.y*p,y:s.x*p};for(let F=0;F0;if(P>=By&&B)return F}return e.push({baseline:s,ascent:m}),e.length-1}function yy(e){let t=[],r=[],n=[Ey];for(let i of e.runs){if(!Du(i)){for(let A of i.glyphs)t.push({loose:A.loose,tight:A.tight,space:A.space,empty:A.empty});r.push({start:i.start,count:i.glyphs.length,rect:i.rect,fontSize:i.fontSize,frame:0});continue}let a=_y(n,i),o=n[a],s=null;for(let A of i.glyphs){if(Yi(A)){t.push({loose:ef,space:A.space,empty:!0});continue}let d=tf(o,A.loose),p=A.tight?tf(o,A.tight):void 0;t.push({loose:d,tight:p,space:A.space}),s=s?{left:Math.min(s.left,d.left),bottom:Math.min(s.bottom,d.bottom),right:Math.max(s.right,d.right),top:Math.max(s.top,d.top)}:d}r.push({start:i.start,count:i.glyphs.length,rect:s??ef,fontSize:i.fontSize,frame:a})}return{glyphs:t,runs:r,frames:n}}var nf=(e,t)=>t.x>=e.left&&t.x<=e.right&&t.y>=e.bottom&&t.y<=e.top;function Gy(e){let t=0,r=0;for(let n of e.glyphs)Yi(n)||(t+=n.loose.top-n.loose.bottom,r++);return r===0?0:t/r}function Cy(e,t){return e.frames.map((r,n)=>n===0?t:ff(r,t))}function rf(e,t,r=1.5){let n=Cy(e,t);for(let s of e.runs){let A=n[s.frame];if(nf(s.rect,A))for(let d=0;dd.right+i||A.yd.top+i))for(let p=0;pF.right+i||A.yF.top+i)continue;let h=Math.min(Math.abs(A.x-F.left),Math.abs(A.x-F.right)),P=Math.min(Math.abs(A.y-F.bottom),Math.abs(A.y-F.top));h+P=0?a:null}function Iy(e,t){let r=e.glyphs.length;if(t<0||t>=r)return[t,t];let n=t;for(;n>0&&!$b(e.glyphs[n-1]);)n--;let i=t;for(;it>=A.start&&t=0;A--){let d=e.runs[A];if(!af(d.rect)){if(d.frame!==n.frame||!of(d.rect.bottom,d.rect.top,i,a))break;o=d.start}}for(let A=r+1;At>=o.start&&ti)continue;let A=Math.max(n,o.start),d=Math.min(i,s),p=1/0,m=-1/0,F=1/0,h=-1/0,P=0,B=0,y=-1/0,x=0,I=0,S=()=>{P>0&&p!==1/0&&a.push({rect:{left:p,bottom:F,right:m,top:h},charCount:P,fontSize:o.fontSize,frame:o.frame,firstX:x,lastX:I}),p=1/0,m=-1/0,F=1/0,h=-1/0,P=0,B=0,y=-1/0};for(let G=A;G<=d;G++){let Q=e.glyphs[G];if(Yi(Q))continue;let K=Q.loose;if(P>0&&y>-1/0){let ge=B/P;ge>0&&Math.abs(K.left-y)>Py*ge&&S()}let ve=(K.left+K.right)/2;P===0&&(x=ve),I=ve,p=Math.min(p,K.left),m=Math.max(m,K.right),F=Math.min(F,K.bottom),h=Math.max(h,K.top),P++,B+=K.right-K.left,y=K.right}S()}return Oy(a).map(o=>Qy(e,o))}function Oy(e){let t=[],r=null,n=null;for(let i of e)r&&n&&r.frame===i.frame&&Ry(r,i)?n={rect:{left:Math.min(n.rect.left,i.rect.left),bottom:Math.min(n.rect.bottom,i.rect.bottom),right:Math.max(n.rect.right,i.rect.right),top:Math.max(n.rect.top,i.rect.top)},frame:n.frame,firstX:n.firstX,lastX:i.lastX}:(n&&t.push(n),n={rect:i.rect,frame:i.frame,firstX:i.firstX,lastX:i.lastX}),r=i;return n&&n.rect.right>n.rect.left&&n.rect.top>n.rect.bottom&&t.push(n),t}function gf(e,t,r){return t===0?{upperLeft:{x:r.left,y:r.top},upperRight:{x:r.right,y:r.top},lowerLeft:{x:r.left,y:r.bottom},lowerRight:{x:r.right,y:r.bottom}}:{upperLeft:vA(e,{x:r.left,y:r.top}),upperRight:vA(e,{x:r.right,y:r.top}),lowerLeft:vA(e,{x:r.left,y:r.bottom}),lowerRight:vA(e,{x:r.right,y:r.bottom})}}function Qy(e,t){let r=e.frames[t.frame],n=gf(r,t.frame,t.rect);return{quad:n,rect:t.frame===0?t.rect:{left:Math.min(n.upperLeft.x,n.upperRight.x,n.lowerLeft.x,n.lowerRight.x),bottom:Math.min(n.upperLeft.y,n.upperRight.y,n.lowerLeft.y,n.lowerRight.y),right:Math.max(n.upperLeft.x,n.upperRight.x,n.lowerLeft.x,n.lowerRight.x),top:Math.max(n.upperLeft.y,n.upperRight.y,n.lowerLeft.y,n.lowerRight.y)},advance:t.lastX>=t.firstX?1:-1}}function Ry(e,t){if(e.fontSize!=null&&t.fontSize!=null&&e.fontSize>0&&t.fontSize>0&&Math.max(e.fontSize,t.fontSize)/Math.min(e.fontSize,t.fontSize)>hy||Ty(e.rect,t.rect)o}function Ty(e,t){let r=e.top-e.bottom,n=t.top-t.bottom;if(r<=0||n<=0)return 0;let i=Math.max(e.top,t.top)-Math.min(e.bottom,t.bottom);return i===r||i===n?1:Math.max(0,Math.min(e.top,t.top)-Math.max(e.bottom,t.bottom))/i}var af=e=>e.right===e.left&&e.top===e.bottom;function of(e,t,r,n){let i=Math.max(t,n)-Math.min(e,r);return i===0?!1:Math.max(0,Math.min(t,n)-Math.max(e,r))/i>=Dy}var sf={x:0,y:0,width:0,height:0};var My={upperLeft:{x:0,y:0},upperRight:{x:0,y:0},lowerLeft:{x:0,y:0},lowerRight:{x:0,y:0}},Ly=e=>e.glyphs.some(t=>!t.empty);function Ou(e,t){return{...e,runs:e.runs.map(r=>{let n=Ly(r)?$e(r.rect,t):sf;return Du(r)?{...r,rect:n,glyphs:r.glyphs.map(({loose:i,tight:a,...o})=>({...o,loose:o.empty?My:eo(i,t),...a?{tight:eo(a,t)}:{}}))}:{...r,rect:n,glyphs:r.glyphs.map(({loose:i,tight:a,...o})=>({...o,loose:o.empty?sf:$e(i,t),...a?{tight:$e(a,t)}:{}}))}})}}function Ff(e,t){return{...e,quad:eo(e.quad,t),rect:$e(e.rect,t)}}function Qu(e,t){return{...e,matches:e.matches.map(r=>{let n=t(r.page);return{...r,segments:r.segments.map(i=>Ff(i,n))}})}}var Af=/\\s/,Ny=/\\p{M}/gu,jy=/^(?![\\t\\n\\v\\f\\r])[\\p{Cf}\\p{Cc}\\p{Noncharacter_Code_Point}]$/u;function sr(e,t={}){let r=[],n=[],i=!1,a=0;for(let o of e){if(jy.test(o)){a+=o.length;continue}let s;Af.test(o)?s=" ":(s=o.normalize("NFKD"),t.keepMarks||(s=s.replace(Ny,"")),t.keepCase||(s=s.toUpperCase().toLowerCase()));for(let A=0;A=55296&&r<=56319&&t+1=56320&&n<=57343)return 2}return 1}function yA(e,t,r){let n=e.map[t],i=e.map[t+r-1];return{start:n,count:i+Ky(e.original,i)-n}}var Vy={pt:.0254/72,mm:.001,cm:.01,m:1,km:1e3,in:.0254,ft:.3048,yd:.9144,mi:1609.344};var IA=8388607,Ru=8e6;var vf=["format","version","pages","fields","widgets","calculationOrder"],Yy=[],Xy=[...vf,"resources"],Wy=["data"],Uy=["data","resources"];function Ao(e,t,r){Ve(e)||De("form","not a form bundle"),ar("form","the bundle",e,Xy),e.format!=="embedpdf/form"&&De("form",`unknown format ${JSON.stringify(e.format)}`),e.version!==1&&De("form",`unknown version ${JSON.stringify(e.version)}`);let{pages:n,fields:i,widgets:a,calculationOrder:o}=e;Array.isArray(n)||De("form","pages is not a list"),Array.isArray(i)||De("form","fields is not a list"),Array.isArray(a)||De("form","widgets is not a list"),Array.isArray(o)||De("form","calculationOrder is not a list"),Ie("form",r,"items",i.length+a.length),Ie("form",r,"pages",n.length),Ie("form",r,"resources",t.size);let s=jr({pages:n,fields:i,widgets:a,calculationOrder:o});Ie("form",r,"manifestBytes",s);for(let p of t.values())Ie("form",r,"resourceBytes",p),s+=p;Ie("form",r,"bundleBytes",s);let A=AA("form",n);i.forEach((p,m)=>{(!Ve(p)||!Ve(p.data)||typeof p.data.kind!="string"||typeof p.data.name!="string"||!Ve(p.data.ref))&&De("form",`field ${m} has no field data`),ar("form",`field ${m}`,p,Wy)});let d=new Set;a.forEach((p,m)=>{(!Ve(p)||!Ve(p.data)||p.data.subtype!=="widget")&&De("form",`widget ${m} has no widget data`),ar("form",`widget ${m}`,p,Uy);let F=p.data.ref,h=Ve(F)?F.page:void 0;(!za(h)||!A.has(le(h)))&&De("form",`widget ${m} is on a page the bundle doesn\'t list`),cA("form",`widget ${m}`,p.resources,Yy,t,d)}),o.forEach((p,m)=>{Ve(p)||De("form",`calculation order entry ${m} is not a field ref`)}),dA("form","widget",t,d)}var qy=DA({kind:"form",keys:vf,assertManifest:Ao});function SA(e){return{keepCase:!!e.matchCase,keepMarks:!!e.matchDiacritics,dropWhitespace:!!e.ignoreWhitespace}}var Pf=/[\\p{L}\\p{N}_]/u,zy=/\\p{M}/u;function GA(e,t){if(t<=0)return!1;let r=e.charCodeAt(t-1),n=r>=56320&&r<=57343&&t>=2?t-2:t-1;return Pf.test(String.fromCodePoint(e.codePointAt(n)))}function CA(e,t){return t>=e.length?!1:Pf.test(String.fromCodePoint(e.codePointAt(t)))}function Zy(e,t,r,n){if(!n.ignoreWhitespace)return!GA(e.folded,t)&&!CA(e.folded,t+r);let{start:i,count:a}=yA(e,t,r);return!GA(e.original,i)&&!CA(e.original,i+a)}function xA(e,t){let r=sr(t.text,SA(t)).folded;if(r.trim().length===0)return[];let n=[],i=0;for(;i<=e.folded.length-r.length;){let a=e.folded.indexOf(r,i);if(a<0)break;if(t.wholeWord&&!Zy(e,a,r.length,t)){i=a+1;continue}if(t.matchDiacritics&&a+r.length512)return{ok:!1,issue:"too-long",message:"Pattern exceeds 512 characters."};let t=!1;for(let r=0;r="1"&&i<="9")return{ok:!1,issue:"backreference",message:`Backreference \\\\${i} is not supported.`};if(!t&&i==="k"&&e[r+2]==="<")return{ok:!1,issue:"backreference",message:"Named backreferences (\\\\k<\\u2026>) are not supported."};r++;continue}if(t){n==="]"&&(t=!1);continue}if(n==="["){t=!0;continue}if(n==="("&&e[r+1]==="?"){let i=e[r+2]??"";if(i==="="||i==="!")return{ok:!1,issue:"lookaround",message:"Lookahead ((?=\\u2026), (?!\\u2026)) is not supported."};if(i==="<"&&(e[r+3]==="="||e[r+3]==="!"))return{ok:!1,issue:"lookaround",message:"Lookbehind ((?<=\\u2026), (?=55296&&o<=56319?2:1;continue}t.wholeWord&&(GA(e,a.index)||CA(e,a.index+a[0].length))||i.push({start:a.index,count:a[0].length})}return i}var Ui={items:5e4,depth:128};function Lu(e,t){let r;for(let i of e){if(i.firstPage>t)break;r=i}if(!r)return null;let n=r.prefix+$y(r.style,r.firstNumber+t-r.firstPage);return n===""?null:n}function QA(e,t,r){if(e.length===0||r.length===0)return e;let n=new Set(r),i=[0];for(let s=0;si[Math.min(Math.max(s,0),t)],o=[];return e.forEach((s,A)=>{let d=e[A+1]?.firstPage??t;if(a(d)===a(s.firstPage))return;let p=a(s.firstPage);o.push(p===s.firstPage?s:{...s,firstPage:p})}),lo(o,e)?e:o}function po(e,t,r){if(r<=0)return e;let n=!1,i=e.map(a=>a.firstPage===0||a.firstPage{let i=t[n];return r.firstPage===i.firstPage&&r.style===i.style&&r.firstNumber===i.firstNumber&&r.prefix===i.prefix})}var Jy=[[1e3,"m"],[900,"cm"],[500,"d"],[400,"cd"],[100,"c"],[90,"xc"],[50,"l"],[40,"xl"],[10,"x"],[9,"ix"],[5,"v"],[4,"iv"],[1,"i"]];function $y(e,t){switch(e){case null:return"";case"decimal":return String(t);case"upperRoman":return kf(t).toUpperCase();case"lowerRoman":return kf(t);case"upperLetters":return Df(t).toUpperCase();case"lowerLetters":return Df(t)}}function kf(e){let t=e%1e6,r="";for(let[n,i]of Jy)for(;t>=n;)r+=i,t-=n;return r}function Df(e){if(e<=0)return"";let t=e-1;return String.fromCharCode(97+t%26).repeat((Math.floor(t/26)+1)%1e3)}var eG={text:"{ value }",checkbox:"{ checked } or { value }",radio:"{ value }",combobox:"{ value }",listbox:"{ selectedValues }"};function mo(e,t){switch(e.kind){case"text":if("value"in t)return{kind:"text",value:t.value??""};break;case"checkbox":if("checked"in t){if(!t.checked)return{kind:"toggle",state:null};let r=e.widgets[0];if(!r)throw Ar(`\'${e.name}\' has no widget to check`);return{kind:"toggle",state:r.onState}}if("value"in t)return{kind:"toggle",state:Bf(e,t.value)};break;case"radio":if("value"in t){let r=Bf(e,t.value);if(r===null&&e.noToggleToOff)throw Ar(`\'${e.name}\' must keep a choice: it can\'t be cleared`);return{kind:"toggle",state:r}}break;case"combobox":if("value"in t)return Ef(e,t.value===null?[]:[t.value]);break;case"listbox":if("selectedValues"in t)return Ef(e,t.selectedValues);break;default:throw Ar(`${e.kind} fields hold no value you can set`)}throw Ar(`a ${e.kind} field takes ${eG[e.kind]}, not ${tG(t)}`)}function ju(e,t){let r=o=>new g(f.InvalidArg,o,{details:{field:"defaultValue"}});if(new Set(t).size!==t.length)throw r("the default values must not repeat");if(t.length>1&&!(e.kind==="listbox"&&e.multiSelect))throw r(`a ${e.kind==="listbox"?"list without multiSelect":"dropdown"} has one default`);let n=e.kind==="combobox"&&e.edit===!0,i=new Set(e.options.map(o=>o.value)),a=t.find(o=>!i.has(o));if(a!==void 0&&!n)throw r(`\'${a}\' is not an option value of the ${e.kind==="listbox"?"list":"dropdown"}`)}function Ku(e,t){switch(t.kind){case"text":return e.kind==="text"&&e.value===t.value;case"toggle":return(e.kind==="checkbox"||e.kind==="radio")&&e.widgets.every(r=>r.checked===(r.onState===t.state));case"choice":return e.kind==="combobox"?t.values.length===0?e.value==="":e.value===t.values[0]:e.kind==="listbox"&&e.selectedValues.length===t.values.length&&e.selectedValues.every((r,n)=>r===t.values[n])}}function Vu(e){if(e.valueEntry.kind==="unsupported"||!qi(e.valueEntry,e.defaultValueEntry))return!1;if(e.kind!=="checkbox"&&e.kind!=="radio")return!0;let t=e.defaultValueEntry,r=t.kind==="scalar"?t.value:null;return e.widgets.every(n=>n.checked===(n.onState===r))}function qi(e,t){return e.kind!==t.kind?!1:e.kind==="scalar"&&t.kind==="scalar"?e.value===t.value:e.kind==="array"&&t.kind==="array"?e.values.length===t.values.length&&e.values.every((r,n)=>r===t.values[n]):!0}function Bf(e,t){if(t===null||t==="Off")return null;let r=e.widgets.find(n=>n.exportValue===t);if(!r)throw Ar(`no widget of \'${e.name}\' has the export value \'${t}\'`);return r.onState}function Ef(e,t){if(new Set(t).size!==t.length)throw Ar("the values must not repeat");if(e.kind==="listbox"&&!e.multiSelect&&t.length>1)throw Ar(`\'${e.name}\' takes one value (it has no multiSelect)`);let r=new Set(e.options.map(a=>a.value)),n=e.kind==="combobox"&&e.edit&&t.length===1,i=t.find(a=>!r.has(a));if(!n&&i!==void 0)throw Ar(`\'${i}\' is not an option value of \'${e.name}\'`);return{kind:"choice",values:t}}function tG(e){return"checked"in e?"{ checked }":"selectedValues"in e?"{ selectedValues }":"{ value }"}function Ar(e){return new g(f.InvalidArg,e,{details:{field:"value"}})}function wo(e,t){let r=e==="checkbox"||e==="radio";return _f(e,_f(e,t,"caption",e==="pushbutton","a push button\'s"),"checkStyle",r,"a checkbox\'s or radio button\'s")}function _f(e,t,r,n,i){if(n||t[r]===void 0)return t;if(t[r]!==null){let s=e==="unknown"?"this widget":`a ${e} field\'s widget`;throw new g(f.InvalidArg,`\'${r}\' applies to ${i} widgets, not to ${s}`,{details:{field:r}})}let{[r]:a,...o}=t;return o}function Yu(e,t){let{field:r}=e,n=mo(r,t);switch(n.kind){case"text":{if(r.kind!=="text")return e;let i=rG(n.value,r.maxLength);return i===r.value?e:co({...r,value:i,valueEntry:{kind:"scalar",value:i}},e)}case"toggle":{if(r.kind!=="checkbox"&&r.kind!=="radio")return e;let i=r.widgets.findIndex(a=>a.onState===n.state);return Mu(e,n.state===null?-1:i)}case"choice":return r.kind!=="combobox"&&r.kind!=="listbox"?e:co(Wu(r,n.values),e)}}function Xu(e){let{field:t}=e,r=t.defaultValueEntry;switch(t.kind){case"text":{if(r.kind==="array"||r.kind==="unsupported")throw Xi(t);let n=r.kind==="scalar"?r.value:"",i=r.kind==="scalar"?r:{kind:"none"};return co({...t,value:n,valueEntry:i},e)}case"checkbox":case"radio":{if(r.kind==="array"||r.kind==="unsupported")throw Xi(t);let n=r.kind==="scalar"?r.value:null;if(n===null||n==="Off")return Mu(e,-1);let i=iG(t.widgets,n);if(i<0)throw Xi(t);return Mu(e,i)}case"combobox":case"listbox":{if(r.kind==="unsupported")throw Xi(t);let n=r.kind==="scalar"?[r.value]:r.kind==="array"?[...r.values]:[];if(n.length===1&&n[0]===""&&!OA(t,n)&&(n=[]),!OA(t,n)&&!aG(t,n))throw Xi(t);return co(Wu(t,n),e)}default:throw Xi(t)}}function RA(e){if((e.kind==="combobox"||e.kind==="listbox")&&e.defaultValue!==void 0){let t=Array.isArray(e.defaultValue)?e.defaultValue:[e.defaultValue];ju({...e,options:e.options??[]},t)}switch(e.kind){case"text":case"combobox":return e.defaultValue!==void 0?Wi(e.defaultValue):uo();case"listbox":return Uu(Cf((e.options??[]).map(Sf),e.defaultValue??[]));default:return uo()}}function TA(e,t){let r=t,n={...e.field};if(t.name!==void 0){let o=n.name.lastIndexOf(".");n.name=o<0?t.name:`${n.name.slice(0,o+1)}${t.name}`}for(let o of nG)typeof r[o]=="boolean"&&o in n&&(n[o]=r[o]);if(t.alternateName!==void 0&&(n.alternateName=t.alternateName||null),t.mappingName!==void 0&&(n.mappingName=t.mappingName||null),t.groupId!==void 0&&(n.groupId=t.groupId),n.kind==="text"&&("maxLength"in t&&t.maxLength!==void 0&&(n.maxLength=t.maxLength),"defaultValue"in t&&t.defaultValue!==void 0)){let o=t.defaultValue;n.defaultValue=o??"",n.defaultValueEntry=o===null?uo():Wi(o)}let i=!1;if((n.kind==="combobox"||n.kind==="listbox")&&("options"in t&&t.options&&(n=oG(n,t.options.map(Sf)),i=!0),"defaultValue"in t&&t.defaultValue!==void 0)){let o=t.defaultValue===null?[]:Array.isArray(t.defaultValue)?t.defaultValue:[t.defaultValue];ju(n,o),n=If(n,o)}let a={...e,field:n};return i?co(a.field,a):a}var nG=["readOnly","required","noExport","multiline","password","comb","radiosInUnison","noToggleToOff","edit","multiSelect"];function rG(e,t){if(!t)return e;let r=Array.from(e);return r.length>t?r.slice(0,t).join(""):e}function co(e,t){return{field:e,widgets:t.widgets.map(r=>r.hasAppearance?r:{...r,hasAppearance:!0})}}function iG(e,t){let r=e.findIndex(n=>n.onState===t);return r>=0||!/^\\d+$/.test(t)?r:Number(t)=0?r.widgets[t]:null,a=r.widgets.map((d,p)=>{let m=i!==null&&(n?d.exportValue===i.exportValue&&d.onState===i.onState:p===t);return d.checked===m?d:{...d,checked:m}}),o=Wi(i?i.onState:"Off"),s=r.kind==="checkbox"?{...r,widgets:a,valueEntry:o,checked:a.some(d=>d.checked)}:{...r,widgets:a,valueEntry:o,value:a.find(d=>d.checked)?.exportValue??"Off"},A=new Map(a.map(d=>[d.objectNumber,d.checked?d.onState:"Off"]));return{field:s,widgets:e.widgets.map(d=>{let p=A.get(AG(d.ref));return p===void 0||d.appearanceState===p?d:{...d,appearanceState:p}})}}function Gf(e,t){let r=new Set;for(let n of t){let i=e.findIndex(a=>a.value===n);i>=0&&r.add(i)}return[...r].sort((n,i)=>n-i)}var OA=(e,t)=>t.every(r=>e.options.some(n=>n.value===r)),aG=(e,t)=>e.kind==="combobox"&&e.edit&&t.length===1;function Wu(e,t){let r=OA(e,t)?Gf(e.options,t):[],n=t.length>0&&r.length===0,i=e.options.map((s,A)=>{let d=r.includes(A);return s.selected===d?s:{...s,selected:d}}),a=n?[...t]:r.map(s=>e.options[s].value),o=Uu(a);return e.kind==="combobox"?{...e,options:i,valueEntry:o,value:a[0]??""}:{...e,options:i,valueEntry:o,selectedValues:a}}function Uu(e){return e.length===0?uo():e.length===1?Wi(e[0]):{kind:"array",values:[...e]}}function Cf(e,t){return Gf(e,t).map(r=>e[r].value)}function oG(e,t){let r=t.map(s=>s.value),n=e.kind==="combobox"&&e.edit,i=yf(e.kind==="combobox"?e.value===""?[]:[e.value]:e.selectedValues,r,n),a=Wu(e.kind==="listbox"?{...e,options:t,topIndex:MA(e.topIndex,t)}:{...e,options:t},i),o=sG(e.defaultValueEntry);return e.defaultValueEntry.kind==="none"?a:If(a,yf(o,r,n),!0)}function MA(e,t){return Math.max(0,Math.min(e,t.length-1))}function yf(e,t,r){let n=e.filter(i=>t.includes(i));return n.length===0&&r&&e.length>0?[...e]:n}function If(e,t,r=!1){if(t.length===0){let o=r?e.kind==="listbox"&&e.multiSelect?{kind:"array",values:[]}:Wi(""):uo();return e.kind==="combobox"?{...e,defaultValueEntry:o,defaultValue:""}:{...e,defaultValueEntry:o,defaultValue:[]}}let n=OA(e,t),i=n?Cf(e.options,t):[...t],a=n?Uu(i):Wi(t[0]);return e.kind==="combobox"?{...e,defaultValueEntry:a,defaultValue:i[0]??""}:{...e,defaultValueEntry:a,defaultValue:i}}function sG(e){return e.kind==="scalar"?[e.value]:e.kind==="array"?[...e.values]:[]}var Sf=e=>({label:e.label,value:e.value,selected:!1}),AG=e=>e.kind==="objectNumber"?e.objectNumber:0,Wi=e=>({kind:"scalar",value:e}),uo=()=>({kind:"none"});function Xi(e){return new g(f.Unknown,`\'${e.name}\' could not be reset`)}function Vr(e){return e.type==="skipped"}function LA(e){switch(e.type){case"skipped":return!1;case"annotations.import":case"annotations.copy":return e.annotations.length>0;case"forms.import":case"forms.importValues":case"forms.copy":return e.fields.length>0;default:return!0}}function bo(e){return"undoOf"in e}function NA(e){let t=[],r=e.measure;r?.subtype==="geospatial"&&t.push({field:"measure",reason:"geospatial"}),r?.subtype==="unknown"&&t.push({field:"measure",reason:"unknown-measure"});let n=e.subtype==="link"?e.target:null,i=!!n&&dG(n);n&&!i&&t.push({field:"target",reason:"unsupported-action"});let{actions:a}=e;return Object.entries(a??{}).some(([o,s])=>e.subtype!=="link"||o!=="activate"?!0:i&&!cG(s))&&t.push({field:"actions",reason:"unsupported-action"}),t}function cG(e){let t=e?.root;return!e||e.incomplete||!t||t.next.length>0?!1:!(t.type==="uri"&&t.isMap)}function dG(e){return e.kind==="named"?uG.has(e.name??""):e.kind==="goto"||e.kind==="uri"}var uG=new Set(["NextPage","PrevPage","FirstPage","LastPage"]);function qu(e,t,r=()=>!1){let n=new Map;e.forEach((F,h)=>{F.subtype==="unsupported"?n.set(h,"unsupported-kind"):F.subtype==="widget"?n.set(h,"widget"):r(h)&&n.set(h,"unsupported-value")});let i=new Map;e.forEach((F,h)=>{let P=j(F.ref);i.has(P)||i.set(P,h)});let a=F=>t.page??e[F].ref.page,o=(F,h)=>{let P=i.get(j(F));if(!(P===void 0||n.has(P)))return le(a(P))===le(a(h))?P:void 0},s=new Set;e.forEach((F,h)=>{if(n.has(h)||F.subtype!=="popup")return;let P=F.parent?i.get(j(F.parent)):void 0,B=F.parent?o(F.parent,h):void 0;B===void 0?n.set(h,P!==void 0&&n.has(P)?"parent-dropped":"parent-missing"):s.has(B)?n.set(h,"popup-taken"):s.add(B)});let A=new Map;e.forEach((F,h)=>{n.has(h)||A.set(h,A.size)});let d=t.offset??{x:0,y:0},p=[...A.keys()].map(F=>{let h=e[F],P=h.reply?o(h.reply.to,F):void 0,B=h.subtype==="popup"&&h.parent?o(h.parent,F):void 0,{nm:y,groupId:x,reply:I,popup:S,...G}=h;for(let{field:Q}of NA(h))delete G[Q];return{source:F,page:a(F),data:iu(G,d),...P!==void 0?{replyTo:{copy:A.get(P),type:h.reply.type}}:{},...B!==void 0?{parent:A.get(B)}:{}}}),m=[];return e.forEach((F,h)=>{let P=n.get(h);P&&m.push({ref:F.ref,reason:P})}),{copies:p,dropped:m}}function zi(e){let t=[],r=(n,i)=>{if(!(typeof n!="object"||n===null)){if(Array.isArray(n)){n.forEach(a=>r(a));return}if(i==="page"&&xf(n)){t.push(n);return}Object.entries(n).forEach(([a,o])=>r(o,a))}};return r(e),t}function fo(e,t){let r=(n,i)=>typeof n!="object"||n===null?n:Array.isArray(n)?n.map(a=>r(a)):i==="page"&&xf(n)?t(n):Object.fromEntries(Object.entries(n).map(([a,o])=>[a,r(o,a)]));return r(e)}function xf(e){return Object.keys(e).length===2&&e.kind==="objectNumber"&&typeof e.objectNumber=="number"}var zu=e=>{let t=n=>(e&1<[[1,e.exclude],[2,e.includeNoValueFields],[3,e.format==="html"],[4,e.method==="get"],[5,e.submitCoordinates],[6,e.format==="xfdf"],[7,e.includeAppendSaves],[8,e.includeAnnotations],[9,e.format==="pdf"],[10,e.canonicalFormat],[11,e.exclNonUserAnnots],[12,e.exclFKey],[14,e.embedForm]].reduce((t,[r,n])=>n?t|1<t!=null&&!("root"in t)&&jA(t))}function KA(e){return e.incomplete||!e.root?null:Hf(e.root)}function Ju(e){let t={};for(let r of go){let n=e?.[r];if(!n){t[r]=null;continue}let i=KA(n);i&&(t[r]=i)}return t}var go=["activate","cursorEnter","cursorExit","mouseDown","mouseUp","focus","blur","pageOpen","pageClose","pageVisible","pageInvisible"];function VA(e){let t=KA(e);return t&&Fo(t)?t:null}function Fo(e){return e.type==="javascript"&&(e.next??[]).every(Fo)}function Hf(e){let t=[];for(let n of e.next){let i=Hf(n);if(!i)return null;t.push(i)}let r=t.length>0?{next:t}:{};switch(e.type){case"javascript":return{type:"javascript",script:e.script,...r};case"goto":return{type:"goto",destination:e.destination,...r};case"uri":return{type:"uri",uri:e.uri,...r};case"named":return{type:"named",name:e.name,...r};case"hide":return{type:"hide",targets:e.targets,hide:e.hide,...r};case"reset-form":return{type:"reset-form",fields:e.fields,exclude:e.exclude,...r};case"submit-form":return e.payload?{...pG(e.payload),type:"submit-form",url:e.payload.url,fields:e.payload.fields,...r}:null;default:return null}}function $u(e,t,r){let n=new Set;for(let F of t.fields??[]){let h=e.fields.find(P=>cr(P,F));if(!h)throw new g(f.NotFound,`export: the form has no field ${F.kind==="fqn"?F.name:Rn(F)}`);n.add(h)}let i=new Set(r.map(le)),a=new Set;for(let F of t.pages??[]){if(!i.has(le(F)))throw new g(f.NotFound,`export: the document has no page ${le(F)}`);a.add(le(F))}for(let F of e.fields)F.widgets.some(h=>h.page&&a.has(le(h.page)))&&n.add(F);let o=!t.fields&&!t.pages,s=e.fields.filter(F=>o||n.has(F)),A=new Map(e.widgets.map(F=>[j(F.ref),F])),d=s.flatMap(F=>F.widgets.flatMap(h=>{let P=h.ref?A.get(j(h.ref)):void 0;return P?[P]:[]})),p=new Set(s.map(F=>Rn(F.ref))),m=e.calculationOrder.filter(F=>F!==null&&p.has(Rn(F)));return{fields:s.map(lG),widgets:d,calculationOrder:m}}function cr(e,t){return t.kind==="fqn"?e.name===t.name:e.ref.kind==="objectNumber"&&e.ref.objectNumber===t.objectNumber}function lG(e){if(e.kind==="signature")return{...e,valueEntry:{kind:"none"}};if(!e.noExport)return e;let t={...e,valueEntry:{kind:"none"},filledBy:null,filledByName:null,filledAt:null};switch(e.kind){case"text":case"combobox":return{...t,kind:e.kind,value:""};case"checkbox":return{...t,kind:"checkbox",checked:!1,widgets:e.widgets.map(r=>({...r,checked:!1}))};case"radio":return{...t,kind:"radio",value:"Off",widgets:e.widgets.map(r=>({...r,checked:!1}))};case"listbox":return{...t,kind:"listbox",selectedValues:[],options:e.options.map(r=>({...r,selected:!1}))};default:return t}}var Of=["invisible","hidden","print","noZoom","noRotate","noView","readOnly","locked","toggleNoView","lockedContents"];function YA(e){return e.valueEntry.kind==="scalar"||e.valueEntry.kind==="array"}function ep(e,t,r){let n={};for(let[i,a]of Object.entries(e.actions??{})){if(!a)continue;let o=VA(a),s=`actions.${i}`;o?t?n[i]=o:r.push({ref:e.ref,field:s,reason:"script-not-allowed"}):r.push({ref:e.ref,field:s,reason:"unsupported-action"})}return n}function XA(e,t,r,n,i){let a={};for(let A of go){let d=t.actions?.[A];if(!d)continue;let p=KA(d),m=F=>i.push({ref:e.ref,widget:t.ref,field:`actions.${A}`,reason:F});p?!n&&jA(p)?m("script-not-allowed"):a[A]=fo(p,r):m("unsupported-action")}let o=e.kind==="checkbox"||e.kind==="radio"?e.widgets.find(A=>A.ref&&j(A.ref)===j(t.ref)):void 0,s={color:t.color,interiorColor:t.interiorColor,dashArray:t.dashArray,checkStyle:t.checkStyle,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,caption:e.kind==="pushbutton"?t.caption:null};return{page:r(t.page),rect:t.rect,...t.rotation?{rotation:t.rotation}:{},strokeWidth:t.strokeWidth,borderStyle:t.borderStyle,textAlign:t.textAlign,...Object.fromEntries(Object.entries(s).filter(([,A])=>A!=null)),...o&&"exportValue"in o?{exportValue:o.exportValue}:{},...Object.keys(a).length>0?{actions:a}:{}}}function WA(e){return Object.fromEntries(Of.map(t=>[t,e[t]]))}function tp(e,t,r,n,i){let a={name:t,readOnly:e.readOnly,required:e.required,noExport:e.noExport,...e.alternateName!==null?{alternateName:e.alternateName}:{},...e.mappingName!==null?{mappingName:e.mappingName}:{},...e.groupId!==null?{groupId:e.groupId}:{},...Object.keys(r).length>0?{actions:r}:{},widgets:n},o=e.defaultValueEntry.kind!=="none",s=A=>A.map(({label:d,value:p})=>({label:d,value:p}));switch(e.kind){case"text":return{...a,kind:"text",...o?{defaultValue:e.defaultValue}:{},...e.maxLength!==null?{maxLength:e.maxLength}:{},multiline:e.multiline,password:e.password,comb:e.comb};case"radio":return{...a,kind:"radio",radiosInUnison:e.radiosInUnison,noToggleToOff:e.noToggleToOff};case"combobox":return{...a,kind:"combobox",edit:e.edit,options:s(e.options),...o?{defaultValue:e.defaultValue}:{}};case"listbox":return{...a,kind:"listbox",multiSelect:e.multiSelect,options:s(e.options),...o?{defaultValue:e.defaultValue}:{}};case"checkbox":case"pushbutton":case"signature":return{...a,kind:e.kind};default:throw new g(f.InvalidArg,`${i} has no family`)}}function Yr(e){switch(e.kind){case"checkbox":return{checked:e.checked};case"listbox":return{selectedValues:e.selectedValues};case"radio":return{value:e.value==="Off"?null:e.value};case"text":case"combobox":return{value:e.value};default:return null}}function UA(e,t){if(e.has(t))return!0;for(let r of e)if(r.startsWith(`${t}.`)||t.startsWith(`${r}.`))return!0;return!1}function Qf(e,t){let r=e.lastIndexOf("."),n=e.slice(0,r+1),i=e.slice(r+1),a=/^(.*)_(\\d+)$/.exec(i),o=a?a[1]:i,s=a?Number(a[2])+1:2;for(;t(`${n}${o}_${s}`);)s+=1;return`${n}${o}_${s}`}function np(e){let{form:t,mayScript:r,placement:n}=e,i=new Map(t.widgets.map(h=>[j(h.ref),h])),a=e.widgets?new Set(e.widgets.map(j)):null,o=new Set(t.fields.map(h=>h.name)),s=n.offset??{x:0,y:0},A=h=>({...h,...n.page?{page:n.page}:{},...h.rect?{rect:{...h.rect,x:h.rect.x+s.x,y:h.rect.y+s.y}}:{}}),d=[],p=[],m=[],F=new Set;e.fields.forEach((h,P)=>{let B=t.fields.find(Q=>cr(Q,h));if(!B)throw new g(f.NotFound,`copy: no form field ${Rn(h)}`,{details:{item:P}});let y=B.widgets.flatMap(Q=>{let K=Q.ref?i.get(j(Q.ref)):void 0;return K&&(!a||a.has(j(K.ref)))?[K]:[]});for(let Q of y)F.add(j(Q.ref));if(a&&y.length===0)throw new g(f.InvalidArg,`copy: \'widgets\' names no widget of field ${P}`,{details:{item:P,field:"widgets"}});if(B.kind==="unknown"){d.push({ref:B.ref,reason:"unsupported-kind"});return}let x=Qf(B.name,Q=>UA(o,Q));o.add(x);let I=ep(B,r,d),S=y.map(Q=>A(XA(B,Q,K=>K,r,d))),G=e.values&&B.kind!=="signature"&&YA(B)?Yr(B):null;m.push(B),p.push({source:P,draft:tp(B,x,I,S,`copy: field ${P}`),widgets:y.map(Q=>Q.ref),flags:y.map(WA),...G?{value:G}:{}})});for(let h of a??[])if(!F.has(h))throw new g(f.InvalidArg,`copy: widget ${h} is a widget of none of the fields`,{details:{field:"widgets"}});return{creates:p,calculationOrder:t.calculationOrder.flatMap(h=>h?p.flatMap((P,B)=>cr(m[B],h)&&P.draft.actions?.calculate?[B]:[]):[]),dropped:d}}var Hne={doc:{open:()=>"doc.open",render:Object.assign(()=>"doc.render",{thumbnail:()=>"doc.render.thumbnail"}),text:{select:()=>"doc.text.select",copy:()=>"doc.text.copy",search:()=>"doc.text.search"},content:{copy:()=>"doc.content.copy"},download:Object.assign(()=>"doc.download",{flattened:()=>"doc.download.flattened"}),print:Object.assign(()=>"doc.print",{high:()=>"doc.print.high"}),pages:{modify:()=>"doc.pages.modify",assemble:()=>"doc.pages.assemble"},forms:{read:()=>"doc.forms.read",fill:()=>"doc.forms.fill",modify:()=>"doc.forms.modify",import:()=>"doc.forms.import",script:()=>"doc.forms.script",submit:()=>"doc.forms.submit"},annotate:{read:()=>"doc.annotate.read",modify:()=>"doc.annotate.modify",import:()=>"doc.annotate.import"},metadata:{modify:()=>"doc.metadata.modify"},attachments:{modify:()=>"doc.attachments.modify"},outline:{modify:()=>"doc.outline.modify"},redact:()=>"doc.redact",sign:Object.assign(()=>"doc.sign",{certify:()=>"doc.sign.certify"})}},One={annotations:{create:qA("annotations","create"),update:qA("annotations","update"),delete:qA("annotations","delete"),setGroup:vo("annotations","set-group"),all:qA("annotations","*")},fields:{fill:vo("fields","fill"),sign:vo("fields","sign"),setGroup:vo("fields","set-group"),all:vo("fields","*")}};function qA(e,t){return{all:()=>`${e}:${t}:all`,self:()=>`${e}:${t}:self`,createdBy:r=>`${e}:${t}:createdBy=${r}`,group:r=>`${e}:${t}:group=${r}`}}function vo(e,t){return{all:()=>`${e}:${t}:all`,group:r=>`${e}:${t}:group=${r}`}}function Rf(e){let t=new Set;return t.add("doc.open"),t.add("doc.render"),t.add("doc.annotate.read"),t.add("doc.forms.read"),t.add("doc.text.search"),t.add("doc.text.select"),e.copy&&(t.add("doc.text.copy"),t.add("doc.content.copy")),e.print&&t.add("doc.print"),e.printHighQuality&&e.print&&t.add("doc.print.high"),e.modifyContents&&(t.add("doc.pages.modify"),t.add("doc.redact"),t.add("doc.metadata.modify"),t.add("doc.attachments.modify")),(e.modifyContents||e.assemble)&&(t.add("doc.pages.assemble"),t.add("doc.outline.modify")),e.modifyAnnotations&&t.add("doc.annotate.modify"),(e.modifyContents||e.modifyAnnotations||e.fillForms)&&(t.add("doc.forms.fill"),t.add("doc.sign")),e.modifyAnnotations&&e.modifyContents&&t.add("doc.forms.modify"),[...t]}var ZA=4;var zA={none:0,lta:1,fill:2,annotate:3};function Zi(e){return e===1?"lta":e===2?"fill":"annotate"}function Ji(e,t){return zA[e]<=zA[t]?e:t}function Po(e,t){return e===null||zA[e]>=zA[t]}function rp(e,t){return t===e||t.startsWith(`${e}.`)}function JA(e,t){switch(e.action){case"all":return!0;case"include":return e.fields.some(r=>rp(r,t));case"exclude":return!e.fields.some(r=>rp(r,t))}}function zt(e){let t=!1,r=null,n=null,i=[];for(let a of e)a.signed&&(t=!0,a.catalogCertification&&a.docMdp!==null&&n===null&&(n={signatureIndex:a.index,permission:a.docMdp},r=Ji(r??"annotate",Zi(a.docMdp))),a.fieldMdp&&i.push({signatureIndex:a.index,source:"fieldmdp",spec:a.fieldMdp}),a.lock&&(i.push({signatureIndex:a.index,source:"lock",spec:a.lock}),a.lock.permission!==void 0&&(r=Ji(r??"annotate",Zi(a.lock.permission)))));return{enforced:r,judged:t?r??"annotate":null,certification:n,fieldLocks:i,policyVersion:4}}function ip(e,t){for(let r of e.fieldLocks)if(JA(r.spec,t))return r;return null}var Tf=["doc.download.flattened","doc.pages.modify","doc.pages.assemble","doc.redact","doc.attachments.modify","doc.outline.modify","doc.forms.modify","doc.forms.script","doc.annotate.modify","doc.annotate.import","doc.forms.fill","doc.forms.import"],Mne=new Set(Tf);function gn(e){let t=new Set;return!e||e.judged===null||(t.add("doc.download.flattened"),e.enforced===null)||(t.add("doc.pages.modify"),t.add("doc.pages.assemble"),t.add("doc.redact"),t.add("doc.attachments.modify"),t.add("doc.outline.modify"),t.add("doc.forms.modify"),t.add("doc.forms.script"),Po(e.enforced,"annotate")||(t.add("doc.annotate.modify"),t.add("doc.annotate.import")),Po(e.enforced,"fill")||(t.add("doc.forms.fill"),t.add("doc.forms.import"))),t}function ap(e,t){return`the document is signed: ${t.certification?`certification signature ${t.certification.signatureIndex} (permission ${t.certification.permission})`:`an existing signature (declared level \'${t.enforced??"none declared"}\')`} forbids \'${e}\'`}var mG=new Set(["doc.open","doc.render","doc.render.thumbnail","doc.text.select","doc.text.copy","doc.text.search","doc.content.copy","doc.download","doc.download.flattened","doc.print","doc.print.high","doc.pages.modify","doc.pages.assemble","doc.forms.read","doc.forms.fill","doc.forms.modify","doc.forms.import","doc.forms.script","doc.forms.submit","doc.annotate.read","doc.annotate.modify","doc.annotate.import","doc.metadata.modify","doc.attachments.modify","doc.outline.modify","doc.redact","doc.sign","doc.sign.certify"]);function Xr(e){if(e==="*")return{kind:"wildcard"};if(e==="pdf.permissions")return{kind:"virtual",name:"pdf.permissions"};if(e.includes(":"))return wG(e);let t=Lf(e);return t!==null?FG(e,t):vG(e)}var Mf=new Set(["doc","docs","pdf","annotations","fields","tokens","grants","shares","tenants","layer","visitor","document","submission","signature"]);function Lf(e){if(e.includes(":"))return null;let t=e.indexOf(".");if(t<=0)return null;let r=e.slice(0,t);return Mf.has(r)?null:r}function wG(e){let t=e.indexOf(":"),r=e.indexOf(":",t+1);if(t===-1||r===-1)throw new mt(e,"collab scope requires entity:action:filter");let n=e.slice(0,t),i=e.slice(t+1,r),a=e.slice(r+1);if(n==="fields")return bG(e,i,a);if(n!=="annotations")throw new mt(e,`unknown collab entity: ${n}`);if(i!=="create"&&i!=="update"&&i!=="delete"&&i!=="set-group"&&i!=="*")throw new mt(e,`unknown collab action: ${i}`);let o=Nf(a,e);if(i==="set-group"&&(o.kind==="self"||o.kind==="createdBy"))throw new mt(e,`set-group only supports :all or :group= filters (got :${o.kind})`);return{kind:"collab",entity:n,action:i,filter:o}}function bG(e,t,r){if(t!=="fill"&&t!=="sign"&&t!=="set-group"&&t!=="*")throw new mt(e,`unknown fields action: ${t}`);let n=Nf(r,e);if(n.kind!=="all"&&n.kind!=="group")throw new mt(e,`fields only support :all or :group= filters (got :${n.kind})`);return{kind:"collab",entity:"fields",action:t,filter:n}}function Nf(e,t){if(e==="all")return{kind:"all"};if(e==="self")return{kind:"self"};if(e.startsWith("createdBy=")){let r=e.slice(10);if(!r)throw new mt(t,"createdBy= requires a value");return{kind:"createdBy",userId:r}}if(e.startsWith("group=")){let r=e.slice(6);if(!r)throw new mt(t,"group= requires a value");return{kind:"group",groupId:r}}throw new mt(t,`unknown filter: ${e}`)}var fG=/^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*)+$/;var gG=/^[a-z][a-z0-9]*(-[a-z0-9]+)*(\\.[a-z][a-z0-9]*(-[a-z0-9]+)*)+$/;function FG(e,t){if(!gG.test(e))throw new mt(e,"invalid plugin permission shape (expected .)");return{kind:"plugin",name:e,plugin:t}}function vG(e){if(!fG.test(e))throw new mt(e,"invalid capability name shape");if(!mG.has(e))throw new mt(e,`unknown capability: ${e}`);return{kind:"capability",name:e}}function ho(e){return{...e.userId?{userId:e.userId}:{},...e.groupId?{groupId:e.groupId}:{}}}function $i(e,t,r,n=null){if(gn(n).has(e))return!1;let i=t.map(Xr);return i.some(a=>a.kind==="wildcard")?!0:ea(i,r,n).has(e)}function ko(e,t,r,n,i){let a=r.map(Xr);if(a.some(s=>s.kind==="wildcard"))return!0;let o=a.filter(s=>s.kind==="collab"&&s.entity==="annotations"&&(s.action===e||s.action==="*"));return o.length>0?o.some(s=>jf(s.filter,t,n)):ea(a,i).has("doc.annotate.modify")}function ea(e,t,r=null){let n=new Set,i=!1,a=!1;for(let o of e)o.kind==="capability"?n.add(o.name):o.kind==="virtual"&&o.name==="pdf.permissions"?PG(n,t):o.kind==="collab"&&o.entity==="annotations"?i=!0:o.kind==="collab"&&o.entity==="fields"&&(a=!0);n.has("doc.render")&&n.add("doc.render.thumbnail"),n.has("doc.annotate.modify")&&n.add("doc.annotate.read"),n.has("doc.forms.modify")&&(n.add("doc.forms.fill"),n.add("doc.forms.read")),n.has("doc.forms.fill")&&n.add("doc.forms.read"),i&&n.add("doc.annotate.read"),a&&n.add("doc.forms.read");for(let o of gn(r))n.delete(o);return n}function Do(e,t,r,n){if(t===r)return!0;let i=n.map(Xr);if(i.some(a=>a.kind==="wildcard"))return!0;for(let a of i)if(a.kind==="collab"&&a.entity===e&&!(a.action!=="set-group"&&a.action!=="*")&&(a.filter.kind==="all"||a.filter.kind==="group"&&a.filter.groupId===t))return!0;return!1}function op(e,t,r,n,i=null){let a=e==="fill"?"doc.forms.fill":"doc.sign";if(gn(i).has(a))return!1;let o=r.map(Xr);if(o.some(A=>A.kind==="wildcard"))return!0;let s=o.filter(A=>A.kind==="collab"&&A.entity==="fields"&&(A.action===e||A.action==="*"));return s.length>0?s.some(A=>A.filter.kind==="all"||t!==null&&A.filter.groupId===t):ea(o,n,i).has(a)}function sp(e,t,r,n=null){let i=e==="fill"?"doc.forms.fill":"doc.sign";if(gn(n).has(i))return!1;let a=t.map(Xr);return a.some(o=>o.kind==="wildcard")||a.some(o=>o.kind==="collab"&&o.entity==="fields"&&(o.action===e||o.action==="*"))?!0:ea(a,r,n).has(i)}function jf(e,t,r){switch(e.kind){case"all":return!0;case"self":return!!r.userId&&t.userId===r.userId;case"createdBy":return t.userId===e.userId;case"group":return t.groupId===e.groupId}}function PG(e,t){for(let r of Rf(t))e.add(r)}var $f={left:0,bottom:0,right:612,top:792},kG={left:0,right:0,bottom:0,top:0};function dp(e){let t=e.media??$f,r=i=>$d(i,t)??kG,n=r(e.crop??t);return{media:t,crop:n,bleed:r(e.bleed??n),trim:r(e.trim??n),art:r(e.art??n)}}function up(e){return!Number.isInteger(e)||e%90!==0?0:(e%360+360)%360}function Wr(){let e=globalThis.crypto.getRandomValues(new Uint8Array(16));return e[6]=e[6]&15|64,e[8]=e[8]&63|128,eg(e)}function tc(e=Date.now()){let t=globalThis.crypto.getRandomValues(new Uint8Array(16)),r=Math.max(0,Math.floor(e));for(let n=5;n>=0;n--)t[n]=r%256,r=Math.floor(r/256);return t[6]=t[6]&15|112,t[8]=t[8]&63|128,eg(t)}function eg(e){let t=Array.from(e,r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function pp(e,t,r){let n=new Set(t.map(le)),i=new Map,a=new Map,o=P=>{let B=le(P);if(i.has(B)||!n.has(B))return;let y=r(P);i.set(B,y);for(let x of y)a.set(j(x.ref),x)},s=P=>(o(P.page),a.get(j(P)));for(let P of e.pages??[])if(!n.has(le(P)))throw new g(f.NotFound,`export: the document has no page ${le(P)}`);let A=!e.refs&&!e.pages,d=(e.include??"threads")==="threads";for(let P of A?t:e.pages??[])o(P);let p=new Set,m=[],F=P=>{if(!P)return;let B=j(P.ref);p.has(B)||(p.add(B),m.push(P))};if(A)for(let P of i.values())P.forEach(F);else{for(let P of e.pages??[])i.get(le(P))?.forEach(F);for(let P of e.refs??[]){let B=s(P);if(!B)throw new g(f.NotFound,`export: the document has no annotation ${j(P)}`);F(B)}}if(d){for(let B of[...m])B.subtype==="popup"&&B.parent&&F(s(B.parent));let P=new Map;for(let B of i.values())for(let y of B){let x=y.reply?s(y.reply.to):void 0;if(!x)continue;let I=j(x.ref);P.set(I,[...P.get(I)??[],y])}for(let B=0;Bt.annotations),pages:e.flatMap(t=>t.pages)}}function tg(e){let t=e.crop;return{media:$e(e.media,t),crop:$e(e.crop,t),bleed:$e(e.bleed,t),trim:$e(e.trim,t),art:$e(e.art,t)}}function ng(e,t){let{actions:r,viewports:n,...i}=e;return{...i,boxes:tg(e.boxes),...r?{actions:Gu(r,a=>Mn(a,t))}:{},...n?{viewports:so(n,e.boxes.crop)}:{}}}function rg(e){let t=new Map(e.map(r=>[r.ref.objectNumber,r.boxes.crop]));return r=>{let n=t.get(r.objectNumber);if(!n)throw new g(f.InvalidArg,`No page ${r.objectNumber} in this document`);return n}}function Bo(e){let t=rg(e.pages);return{...e,pages:e.pages.map(r=>ng(r,t))}}function mp(e,t){return e.kind==="rect"?{...e,rect:Ki(e.rect,t)}:e}function nc(e,t){return e.map(r=>({...r,rect:$e(r.rect,t)}))}function Eo(e,t){let{actions:r,...n}=e,i=t(e.page);return{...n,...e.rect?{rect:Ki(e.rect,i)}:{},...e.box?{box:Ki(e.box,i)}:{},...r?{actions:_A(r,a=>Mr(a,t))}:{}}}function _o(e,t){return e.widgets?{...e,widgets:e.widgets.map(r=>Eo(r,t))}:e}function ig(e,t){return Cu(e,r=>Mn(r,t))}function Ot(e,t){return e.actions?{...e,actions:ig(e.actions,t)}:e}function Ur(e,t){return or(e,t(e.page),t)}function yo(e,t){return{...e,fields:e.fields.map(r=>Ot(r,t)),widgets:e.widgets.map(r=>Ur(r,t))}}function ag(e,t){return{...e,target:e.target&&io(e.target,t),action:e.action&&Lr(e.action,t)}}function og(e,t){let{target:r,...n}=e;return r===void 0?n:{...n,target:r&&r.kind==="goto"?{...r,destination:t(r.destination)}:r}}function wp(e,t){return{...e,items:e.items.map(r=>Go(r,t))}}function Go(e,t){return ag(e,r=>Mn(r,t))}function bp(e,t){return og(e,r=>Mr(r,t))}function Co(e,t){return og(e,r=>Mr(r,t))}function fp(e){return dr(e.actions)||(e.widgets??[]).some(t=>dr(t.actions))}function rc(e){let{box:t,rect:r,rotation:n,...i}=e;if(n!==void 0&&![0,90,180,270].includes(n))throw new g(f.InvalidArg,`a widget turns by a quarter turn (0, 90, 180 or 270), not ${n}`,{details:{field:"rotation"}});let a=t?fn(Ce(t),n??0):r;if(!a)throw new g(f.InvalidArg,"a widget\'s placement needs its `rect` or its `box`",{details:{field:"rect"}});return{...i,rect:a,...n!==void 0?{rotation:n}:{},...bA(i.borderStyle,i.dashArray)?{dashArray:[...wA]}:{}}}function ic(e){let t=new DG(e),r=t.value();if(t.skipSpaces(),!t.atEnd())throw new Error(`trailing input at ${t.pos}: ${e.slice(t.pos,t.pos+20)}`);return r}var DG=class{constructor(e){this.text=e,xe(this,"pos",0)}atEnd(){return this.pos>=this.text.length}skipSpaces(){for(;this.pos>",this.pos))return this.pos+=2,e;if(this.text[this.pos]!=="/")throw new Error(`expected a key at ${this.pos}`);let t=this.name();this.skipSpaces(),e[t]=this.value()}}stream(){let e=/^stream\\((\\d+),([0-9a-fA-F]*)\\)/.exec(this.text.slice(this.pos));if(!e)throw new Error(`malformed stream signature at ${this.pos}`);this.pos+=e[0].length;let t=this.dictEntries();return{t:"stream",length:Number(e[1]),sha256:e[2].toLowerCase(),dict:t}}array(){this.expect("[");let e=[];for(;;){if(this.skipSpaces(),this.text[this.pos]==="]")return this.pos++,{t:"array",items:e};e.push(this.value())}}name(){this.expect("/");let e="";for(;this.pos"||t==="("||t===")")break;if(t==="#"&&/^[0-9A-Fa-f]{2}/.test(this.text.slice(this.pos+1,this.pos+3))){e+=String.fromCharCode(parseInt(this.text.slice(this.pos+1,this.pos+3),16)),this.pos+=3;continue}e+=t,this.pos++}return e}literalString(){this.expect("(");let e=1,t="";for(;this.pos",this.pos);if(e<0)throw new Error("unterminated hex string");let t=this.text.slice(this.pos,e).replace(/\\s+/g,"");this.pos=e+1;let r="";for(let n=0;n`/${t} ${ta(e.entries[t])}`).join("")}>>`;case"stream":return`stream(${e.length},${e.sha256})${ta({t:"dict",entries:e.dict})}`;case"array":return`[${e.items.map(ta).join(" ")}]`;case"ref":return`${e.num} 0 R`;case"name":return`/${BG(e.v)}`;case"string":return`(${e.v.replace(/[\\\\()]/g,t=>`\\\\${t}`)})`;case"number":return String(e.v);case"bool":return e.v?"true":"false";case"null":return"null"}}function Re(e){return e?e.t==="dict"?e.entries:e.t==="stream"?e.dict:null:null}function Ht(e,t){let r=Re(e)??{},n=Re(t)??{},i=new Set;for(let a of new Set([...Object.keys(r),...Object.keys(n)]))$A(r[a]??null,n[a]??null)||i.add(a);return i}function Fn(e){return e?e.t==="ref"?[e.num]:e.t==="array"?e.items.flatMap(Fn):[]:[]}function BG(e){let t="";for(let r of e){let n=r.charCodeAt(0);n<33||n>126||"#/[]<>(){}%".includes(r)?t+=`#${n.toString(16).toUpperCase().padStart(2,"0")}`:t+=r}return t}function gp(e,t){return e.some(r=>r.verdict==="forbidden")?"forbidden":e.some(r=>r.verdict==="incomplete")?"indeterminate":t?"permitted":"unchanged"}function Fp(e){return e.find(t=>t.verdict==="forbidden")??e.find(t=>t.verdict==="incomplete")??e.find(t=>t.verdict==="permitted")}function vp(e){let t=Fp(e.findings);return{verdict:e.verdict,complete:!e.findings.some(r=>r.verdict==="incomplete"),...t?{primary:t}:{},findings:e.findings}}function Pp(e,t){let r=[...e.findings];for(let a of t)if(a!==e)for(let o of a.findings)o.verdict!=="permitted"&&r.push({...o,detail:`revision ${a.newer}: ${o.detail??o.rule}`});let n=gp(r,e.verdict!=="unchanged"||t.some(a=>a.verdict!=="unchanged")),i=Fp(r);return{verdict:n,complete:!r.some(a=>a.verdict==="incomplete"),...i?{primary:i}:{},findings:r}}var Zt=["old","new"],EG=new Set(["Size","Prev","XRefStm","Info","ID","Root","Type","W","Index","Filter","DecodeParms","Length","Encrypt"]),_G=new Set(["Metadata","Extensions","Version","DSS","AcroForm","Perms"]),yG=new Set(["DR","DA","Q","SigFlags","NeedAppearances","Fields"]),Kf={annotate:new Set(["V","AS","AP","I","DA","Ff","RV","MK","Q","TU","F","Rect","BS","Opt","DV","MaxLen"]),fill:new Set(["V","AS","AP","I","RV","DA","Ff"])},Vf={annotate:new Set(["AS","AP","DA","MK","Q","TU","F","Rect","BS"]),fill:new Set(["AS","AP","DA"])},Yf={annotate:new Set(["V","AP","AS","Ff","TU","Lock"]),fill:new Set(["V","AP","AS","Ff"])},GG=new Set(["AP","AS"]),CG=1;function IG(e){return e==="annotate"?Kf.annotate:Kf.fill}function SG(e){return e==="annotate"?Vf.annotate:Vf.fill}function Xf(e){return e==="annotate"?Yf.annotate:Yf.fill}var xG=new Set(["identical-rewrite","orphan","xref-container","trailer"]);function sg(e){let t=zt(e.signatures);return{level:t.judged??"annotate",locks:t.fieldLocks}}function ac(e){let t=HG(e.changes),{level:r,locks:n}=e.restrictions??sg(e.before),i=e.levelOverride??r,a=new QG({...e,changes:t},i,n);OG(a),RG(a),TG(a),qG(a),MG(a),LG(a),NG(a),jG(a),KG(a),VG(a),YG(a),XG(a),WG(a),UG(a),zG(a);let o=gp(a.findings,a.findings.some(s=>s.verdict==="permitted"&&!xG.has(s.rule)));return{older:e.older,newer:e.newer,levelInForce:i,locks:n,verdict:o,findings:a.findings,changes:t}}function HG(e){return e.map(t=>{if(t.value.truncated||t.kind==="xref"||t.kind==="objstm")return t;let r=t.present.old&&(t.value.old===null||t.read?.old==="failed"),n=t.present.new&&(t.value.new===null||t.read?.new==="failed");return r||n?{...t,value:{...t.value,truncated:!0}}:t})}function OG(e){let t=e.input.health;if(!t)return;let r=t.old;if(r.sparseXref||r.bareReferences>0){let n=[r.sparseXref?"its cross-reference table has no entry for some object numbers below /Size":null,r.bareReferences>0?`${r.bareReferences} reachable indirect object(s) consist of a bare reference`:null].filter(i=>i!==null).join("; ");e.findings.push({rule:"base-unverifiable",verdict:"incomplete",objectNumber:0,detail:`the signed revision cannot be verified against later changes by Acrobat (${n}); no verdict is given rather than one Acrobat would contradict`})}for(let n of Zt)t[n].referrersComplete||e.findings.push({rule:"unexplained",verdict:"incomplete",objectNumber:0,detail:`the ${n==="old"?"older":"newer"} revision\'s reachability walk hit its budget; not every use of a changed object is known`})}function oc(e){return e.change==="modified"&&!e.value.truncated&&e.read?.old!=="failed"&&e.read?.new!=="failed"&&e.raw.old!==null&&e.raw.new!==null&&e.raw.old===e.raw.new&&!e.streamDataChanged}function Wf(e){let t=new Map,r=new Map,n=new Set;for(let a of e.fields){t.set(a.objectNumber,a),a.kind==="signature"&&n.add(a.objectNumber);for(let o of a.widgets)r.set(o,a.objectNumber)}let i=new Set;for(let a of e.signatures)a.signed&&a.field.kind==="objectNumber"&&i.add(a.field.objectNumber);return{fieldByObj:t,widgetToField:r,pages:new Set(e.pages),signedFields:i,sigFields:n}}function ur(e){return`${e.parent}:${e.label}`}var QG=class{constructor(e,t,r){this.input=e,this.level=t,this.locks=r,xe(this,"findings",[]),xe(this,"byNum",new Map),xe(this,"before",void 0),xe(this,"after",void 0),xe(this,"claims",new Map),xe(this,"locked",new Set);for(let n of e.changes)this.byNum.set(n.objectNumber,n);this.before=Wf(e.before),this.after=Wf(e.after)}get changes(){return this.input.changes}allows(e){return Po(this.level,e)}claimEdge(e,t,r,n,i=!0){if(this.locked.has(e.objectNumber))return;let a=`${e.objectNumber}:${t}:${ur(r)}`;this.claims.has(a)||this.claims.set(a,{rule:n,allow:i})}claimAll(e,t,r=!0){for(let n of Zt)for(let i of e.usage[n])this.claimEdge(e,n,i,t,r)}claimStable(e,t,r=!0){let n=new Set(e.usage.old.map(ur)),i=new Set(e.usage.new.map(ur));for(let a of e.usage.old)i.has(ur(a))&&this.claimEdge(e,"old",a,t,r);for(let a of e.usage.new)n.has(ur(a))&&this.claimEdge(e,"new",a,t,r)}isClaimed(e,t,r){return this.claims.has(`${e.objectNumber}:${t}:${ur(r)}`)}isAllowed(e,t,r){return this.claims.get(`${e.objectNumber}:${t}:${ur(r)}`)?.allow===!0}permitted(e,t,r){this.locked.has(e.objectNumber)||this.findings.push({rule:t,verdict:"permitted",objectNumber:e.objectNumber,detail:r})}forbidden(e,t,r,n){this.findings.push({rule:t,verdict:e.value.truncated?"incomplete":"forbidden",objectNumber:e.objectNumber,edge:n?ur(n):void 0,detail:e.value.truncated?`${r} (judged on missing evidence: not proven)`:r})}claimSubtree(e,t,r,n){let i=new Set,a=!0;for(;a;){a=!1;for(let o of this.changes){if(t.has(o.objectNumber)||i.has(o.objectNumber)||this.locked.has(o.objectNumber))continue;let s=o.usage[e];if(s.length===0)continue;let A=s.filter(d=>t.has(d.parent)&&r(d.label)||i.has(d.parent));if(A.length!==0){for(let d of A)this.claimEdge(o,e,d,n);s.every(d=>A.includes(d)||this.isAllowed(o,e,d))&&(i.add(o.objectNumber),a=!0)}}}}isIdentical(e){return oc(e)}newlySigned(){let e=[];for(let t of this.input.after.signatures)!t.signed||t.field.kind!=="objectNumber"||this.before.signedFields.has(t.field.objectNumber)||e.push({fieldObjectNumber:t.field.objectNumber,sig:t});return e}};function RG(e){for(let t of e.changes)(t.kind==="xref"||t.kind==="objstm")&&(e.claimAll(t,"xref-container"),e.permitted(t,"xref-container","cross-reference container; members are judged on their own"))}function TG(e){for(let t of e.changes)e.isIdentical(t)&&(e.allows("fill")?(e.claimAll(t,"identical-rewrite"),e.permitted(t,"identical-rewrite","written again with the sealed value")):(e.claimAll(t,"identical-rewrite",!1),e.forbidden(t,"identical-rewrite",`written again with the sealed value under level \'${e.level}\' (not established for this level)`)))}function MG(e){let t=e.byNum.get(0);if(!t)return;let r=Ht(t.value.old,t.value.new),n=[...r].filter(o=>!EG.has(o)),i=Re(t.value.old)?.Root,a=Re(t.value.new)?.Root;if(n.length>0){e.forbidden(t,"trailer",`trailer keys changed: ${n.join(", ")}`);return}if(r.has("Root")&&!$A(i??null,a??null)){e.forbidden(t,"trailer","the trailer points at a different catalog");return}if(r.has("Encrypt")&&!$A(Re(t.value.old)?.Encrypt??null,Re(t.value.new)?.Encrypt??null)){e.forbidden(t,"trailer","the trailer points at a different encryption dictionary");return}e.claimAll(t,"trailer"),e.permitted(t,"trailer")}function hp(e,t){let r=[...e.usage.old,...e.usage.new];return r.length>0&&r.every(t)}function LG(e){for(let t of e.changes)e.isIdentical(t)||t.objectNumber!==0&&hp(t,r=>r.parent===0&&r.label==="Info")&&(e.claimAll(t,"info"),e.permitted(t,"info","document information dictionary"))}function NG(e){let t=new Set([e.input.before.root,e.input.after.root]);for(let r of e.changes)e.isIdentical(r)||hp(r,n=>t.has(n.parent)&&n.label==="Metadata")&&(e.claimAll(r,"metadata"),e.permitted(r,"metadata","XMP metadata stream"))}function jG(e){let t=e.input.after.root,r=e.byNum.get(t);if(!r||e.isIdentical(r))return;let n=Ht(r.value.old,r.value.new),i=[...n].filter(a=>!_G.has(a));if(i.length>0){e.forbidden(r,"catalog-housekeeping",`catalog keys changed: ${i.join(", ")}`);return}if(n.has("AcroForm")&&!e.input.after.acroForm&&!e.input.before.acroForm){let a=Ag(e,Re(r.value.old)?.AcroForm??null,Re(r.value.new)?.AcroForm??null);if(a){e.forbidden(r,"acroform-housekeeping",a);return}for(let o of Zt)e.claimSubtree(o,new Set([t]),s=>s.startsWith("AcroForm/DR/"),"acroform-housekeeping")}if(n.has("Perms")){let a=zt(e.input.after.signatures),o=zt(e.input.before.signatures);if(!a.certification||o.judged!==null){e.forbidden(r,"catalog-housekeeping","/Perms may only appear with the certification signature, in the first signed revision");return}}e.claimAll(r,"catalog-housekeeping"),e.permitted(r,"catalog-housekeeping")}function KG(e){let t=e.input.after.acroForm||e.input.before.acroForm;if(!t)return;let r=e.byNum.get(t);if(!r||e.isIdentical(r))return;let n=Ag(e,r.value.old,r.value.new);if(n){e.forbidden(r,"acroform-housekeeping",n);return}e.claimAll(r,"acroform-housekeeping"),e.permitted(r,"acroform-housekeeping");for(let i of Zt)e.claimSubtree(i,new Set([t]),a=>a.startsWith("DR/"),"acroform-housekeeping")}function Ag(e,t,r){let n=Ht(t,r),i=[...n].filter(a=>!yG.has(a));if(i.length>0)return`AcroForm keys changed: ${i.join(", ")}`;if(n.has("Fields")){let a=Fn(Re(t)?.Fields),o=Fn(Re(r)?.Fields);if(a.length>o.length||a.some((d,p)=>o[p]!==d))return"/AcroForm /Fields is not append-only";let s=kp(e),A=o.slice(a.length).filter(d=>!s.has(d));if(A.length>0)return`/AcroForm /Fields gained non-signature fields: ${A.join(", ")}`}return null}function Uf(e,t){let r=Re(e.value.old)?.[t],n=Re(e.value.new)?.[t],i=Fn(r),a=Fn(n);if(r&&r.t!=="array"||!n||n.t!=="array"||i.length>a.length)return null;for(let o=0;on==="DSS"||n.startsWith("DSS/"),"dss");for(let r of e.changes)r.usage.new.some(n=>t.has(n.parent)&&n.label==="DSS")&&!e.findings.some(n=>n.objectNumber===r.objectNumber)&&e.permitted(r,"dss","document security store")}function YG(e){let t=kp(e);if(t.size===0)return;let r="signature-field-added";if(!e.allows("fill")){for(let i of t){let a=e.byNum.get(i);a&&e.forbidden(a,r,`a signature field was added under level \'${e.level}\'`)}return}let n=new Set;for(let i of t){let a=e.after.fieldByObj.get(i),o=e.byNum.get(i);o&&(e.claimAll(o,r),e.permitted(o,r,`new signature field "${a.name}"`));for(let s of a.widgets){if(n.add(s),s===i)continue;let A=e.byNum.get(s);A&&(e.claimAll(A,r),e.permitted(A,r,`widget of new signature field "${a.name}"`))}}for(let i of e.after.pages){let a=e.byNum.get(i);if(!a||e.isIdentical(a))continue;let o=Ht(a.value.old,a.value.new);if(o.size!==1||!o.has("Annots"))continue;let s=Uf(a,"Annots");s&&s.every(A=>n.has(A))&&(e.claimAll(a,r),e.permitted(a,r,"page /Annots gained the new signature widget"))}for(let i of e.changes){if(i.kind!=="dictionary"||e.isIdentical(i))continue;let a=Ht(i.value.old,i.value.new);if(a.size!==1||!a.has("Kids"))continue;let o=Uf(i,"Kids");o&&o.length>0&&o.every(s=>t.has(s)||n.has(s))&&(e.claimAll(i,r),e.permitted(i,r,"field /Kids gained the new signature field"))}}function XG(e){let t="signature-added",r=e.newlySigned();if(r.length===0)return;let n=kp(e),i=zt(e.input.before.signatures),a=zt(e.input.after.signatures),o=new Set,s=new Set;for(let{fieldObjectNumber:A,sig:d}of r){let p=d.kind==="timestamp"?"lta":"fill";if(!e.allows(p)){let B=e.byNum.get(A);B&&e.forbidden(B,t,`a ${d.kind} was added under level \'${e.level}\'`);continue}if(d.catalogCertification&&i.judged!==null){let B=e.byNum.get(A);B&&e.forbidden(B,t,"a certification signature after another signature");continue}let m=e.after.fieldByObj.get(A);o.add(A);for(let B of m?.widgets??[])o.add(B);let F=n.has(A),h=i.judged===null?new Set([...Xf(e.level),"Lock"]):Xf(e.level),P=e.byNum.get(A);if(P&&F)e.permitted(P,t,`new field "${d.fieldName}" signed`);else if(P&&!e.isIdentical(P)){let B=Ht(P.value.old,P.value.new),y=[...B].filter(x=>!h.has(x));y.length>0?(e.forbidden(P,t,`signature field keys changed: ${y.join(", ")}`),e.claimStable(P,t,!1)):B.has("Ff")&&!Dp(P,e.before.fieldByObj.get(A)?.flags)?(e.forbidden(P,t,"signature field flags changed beyond ReadOnly"),e.claimStable(P,t,!1)):(e.claimStable(P,t),e.permitted(P,t,`field "${d.fieldName}" signed`))}for(let B of m?.widgets??[]){if(B===A||F)continue;let y=e.byNum.get(B);if(!y||e.isIdentical(y))continue;let x=[...Ht(y.value.old,y.value.new)].filter(I=>!GG.has(I));if(x.length>0){e.forbidden(y,t,`signature widget keys changed: ${x.join(", ")}`),e.claimStable(y,t,!1);continue}e.claimStable(y,t),e.permitted(y,t,"signature widget appearance")}for(let B of e.changes){if(B.change!=="added")continue;let y=B.usage.new.filter(S=>S.parent===A&&S.label==="V"),x=B.usage.new.filter(S=>S.parent===A&&S.label==="Lock"),I=Re(B.value.new)?.Type;if(y.length>0){if(!(I?.t==="name"&&(I.v==="Sig"||I.v==="DocTimeStamp"))&&I!==void 0)continue;for(let S of B.usage.new)(S.parent===A&&S.label==="V"||S.label==="DocMDP")&&e.claimEdge(B,"new",S,t);e.permitted(B,t,"signature value"),s.add(B.objectNumber)}else if(x.length>0){if(!(I===void 0||I.t==="name"&&I.v==="SigFieldLock"))continue;for(let S of x)e.claimEdge(B,"new",S,t);e.permitted(B,t,"field lock installed with the signature")}}}if(a.certification&&i.judged===null){let A=e.input.after.root;for(let d of e.changes)d.change==="added"&&hp(d,p=>p.parent===A&&p.label==="Perms")&&(e.claimAll(d,t),e.permitted(d,t,"certification permissions"))}for(let A of Zt)e.claimSubtree(A,o,d=>d==="AP"||d.startsWith("AP/"),t);s.size>0&&e.claimSubtree("new",s,()=>!0,t)}function Dp(e,t){let r=Re(e.value.old)?.Ff,n=Re(e.value.new)?.Ff,i=r?.t==="number"?r.v:t??0,a=n?.t==="number"?n.v:0;return(i|CG)===a}function WG(e){let t="form-fill",r=IG(e.level),n=SG(e.level),i=new Set,a=new Map([...e.before.fieldByObj,...e.after.fieldByObj]);for(let[o,s]of a){if(s.kind==="signature")continue;let A=e.byNum.get(o),d=s.widgets.filter(P=>P!==o).map(P=>e.byNum.get(P)).filter(Boolean),p=new Set([o,...s.widgets]),m=P=>P==="AP"||P.startsWith("AP/"),F=!A&&d.length===0?e.changes.filter(P=>Zt.some(B=>P.usage[B].some(y=>p.has(y.parent)&&m(y.label)))&&Zt.every(B=>P.usage[B].every(y=>!m(y.label)||p.has(y.parent)))):[];if(!A&&d.length===0&&F.length===0)continue;if(!e.allows("fill")){for(let P of[A,...d,...F])P&&!e.isIdentical(P)&&e.forbidden(P,t,`form fill under level \'${e.level}\'`);continue}if(F.length>0){for(let P of F)e.permitted(P,t,`appearance of field "${s.name}" regenerated`);i.add(o);for(let P of s.widgets)i.add(P);continue}let h=!0;if(A&&!e.isIdentical(A)){let P=Ht(A.value.old,A.value.new),B=[...P].filter(y=>!r.has(y));if(B.length>0)e.forbidden(A,t,`field "${s.name}" keys changed: ${B.join(", ")}`),e.claimStable(A,t,!1),h=!1;else if(P.has("Ff")&&!Dp(A,e.before.fieldByObj.get(o)?.flags))e.forbidden(A,t,`field "${s.name}" flags changed beyond adding ReadOnly`),e.claimStable(A,t,!1),h=!1;else{e.claimStable(A,t);let y=[...P].filter(x=>x!=="V"&&x!=="AP"&&x!=="AS"&&x!=="I"&&x!=="RV");e.permitted(A,t,y.length>0?`field "${s.name}" ${P.has("V")||P.has("AS")?"filled, ":""}properties changed: ${y.join(", ")}`:`field "${s.name}" filled`)}}for(let P of d){if(e.isIdentical(P))continue;let B=[...Ht(P.value.old,P.value.new)].filter(y=>!n.has(y));if(B.length>0){e.forbidden(P,t,`widget of "${s.name}" keys changed: ${B.join(", ")}`),e.claimStable(P,t,!1),h=!1;continue}e.claimStable(P,t),e.permitted(P,t,`widget of "${s.name}" appearance`)}if(h){i.add(o);for(let P of s.widgets)i.add(P)}}for(let o of Zt)e.claimSubtree(o,i,s=>s==="AP"||s.startsWith("AP/"),t)}function UG(e){let t="annotation",r=new Set([...e.before.pages,...e.after.pages]),n=new Set([...e.before.widgetToField.keys(),...e.after.widgetToField.keys()]),i=s=>{if(n.has(s.objectNumber))return!0;let A=Re(s.value.new??s.value.old)?.Subtype;return A?.t==="name"&&A.v==="Widget"},a=[];for(let s of e.changes)s.kind!=="dictionary"||e.isIdentical(s)||[...s.usage.old,...s.usage.new].some(A=>r.has(A.parent)&&A.label.startsWith("Annots/"))&&!i(s)&&a.push(s);if(a.length,!e.allows("annotate")){for(let s of a)e.forbidden(s,t,`annotation change under level \'${e.level}\'`);return}let o=new Set;for(let s of a)e.claimAll(s,t),e.permitted(s,t,`${s.change} annotation`),o.add(s.objectNumber);for(let s of r){let A=e.byNum.get(s);if(!A||e.isIdentical(A))continue;let d=Ht(A.value.old,A.value.new);if(d.size===1&&d.has("Annots")){let p=Fn(Re(A.value.old)?.Annots).filter(F=>!Fn(Re(A.value.new)?.Annots).includes(F)),m=Fn(Re(A.value.new)?.Annots).filter(F=>!Fn(Re(A.value.old)?.Annots).includes(F));if([...p,...m].some(F=>n.has(F)&&!e.findings.some(h=>h.objectNumber===F&&h.verdict==="permitted"))){e.forbidden(A,t,"page /Annots added or removed a form widget");continue}e.claimAll(A,t),e.permitted(A,t,"page /Annots changed")}}for(let s of Zt)e.claimSubtree(s,o,A=>A==="AP"||A.startsWith("AP/")||A==="Popup"||A==="IRT",t)}function qG(e){if(e.locks.length===0)return;let t=e.input.before.fields.filter(a=>e.locks.some(o=>JA(o.spec,a.name))),r=new Set;for(let a of t){r.add(a.objectNumber);for(let o of a.widgets)r.add(o)}let n=new Set(r),i=!0;for(;i;){i=!1;for(let a of e.changes)n.has(a.objectNumber)||a.usage.old.length>0&&a.usage.old.every(o=>n.has(o.parent))&&(n.add(a.objectNumber),i=!0)}for(let a of e.changes){if(!n.has(a.objectNumber)||e.isIdentical(a))continue;let o=t.find(s=>s.objectNumber===a.objectNumber||s.widgets.includes(a.objectNumber));if(o&&o.objectNumber===a.objectNumber){let s=Ht(a.value.old,a.value.new);if(s.size===1&&s.has("Ff")&&Dp(a,e.before.fieldByObj.get(a.objectNumber)?.flags)){e.claimStable(a,"field-lock"),e.permitted(a,"field-lock",`ReadOnly set on locked field "${o.name}"`);continue}}e.locked.add(a.objectNumber),e.forbidden(a,"field-lock",o?`field "${o.name}" is locked by the signature`:"part of a locked field changed")}}function zG(e){for(let t of e.changes){if(t.value.truncated){e.findings.push({rule:"unexplained",verdict:"incomplete",objectNumber:t.objectNumber,detail:"value too large to inspect"});continue}if(t.usageIncomplete){e.findings.push({rule:"unexplained",verdict:"incomplete",objectNumber:t.objectNumber,detail:"references could not be resolved within budget (depth, fan-out or total reads)"});continue}if(!e.locked.has(t.objectNumber)){for(let r of Zt)for(let n of t.usage[r])e.isClaimed(t,r,n)||e.forbidden(t,"unexplained",`${r==="old"?"was":"is"} referenced from object ${n.parent} at ${n.label} and no rule explains it`,n);t.usage.old.length===0&&t.usage.new.length===0&&!e.findings.some(r=>r.objectNumber===t.objectNumber)&&e.permitted(t,"orphan","referenced from nowhere reachable")}}}function Bp(e,t){let r=[],n=[],i=null,a=!1;for(let o of e.signatures){if(!o.signed||o.revisionIndex===null)continue;a=!0;let s=t!==null&&o.index===t.index;o.catalogCertification&&o.docMdp!==null&&(r.push({signatureIndex:o.index,revisionIndex:o.revisionIndex,source:"docmdp",own:s,permission:o.docMdp}),i=Ji(i??"annotate",Zi(o.docMdp))),o.lock?.permission!==void 0&&(i=Ji(i??"annotate",Zi(o.lock.permission))),!(t!==null&&!s)&&(o.fieldMdp&&(r.push({signatureIndex:o.index,revisionIndex:o.revisionIndex,source:"fieldmdp",own:s,fields:o.fieldMdp}),n.push({signatureIndex:o.index,source:"fieldmdp",spec:o.fieldMdp})),o.lock&&(r.push({signatureIndex:o.index,revisionIndex:o.revisionIndex,source:"lock",own:s,fields:o.lock}),n.push({signatureIndex:o.index,source:"lock",spec:o.lock})))}return{anchors:r,level:a?i??"annotate":"annotate",locks:n}}var cg={maxDepth:16,maxEdgesPerObject:256,maxReads:2e4},na="incomplete",dg="\\u2026",sc=class{constructor(e,t,r=cg){this.read=e,this.anchors=t,this.budget=r,xe(this,"referrers",new Map),xe(this,"resolved",new Map),xe(this,"reads",0),xe(this,"exhausted",!1)}resolve(e){if(!this.resolved.has(e)){let t=this.componentsAbove(e);for(let r of t??[])if(!this.resolveComponent(r))break}return this.resolved.get(e)??"incomplete"}readReferrers(e){let t=this.referrers.get(e);if(t)return t;if(this.exhausted||this.reads>=this.budget.maxReads)return this.exhausted=!0,null;this.reads+=1;let r=this.read(e);return this.referrers.set(e,r),r}pendingParents(e){let t=new Set;for(let r of e)!this.anchors.has(r.parent)&&!this.resolved.has(r.parent)&&t.add(r.parent);return[...t]}componentsAbove(e){let t=new Map,r=new Map,n=[],i=new Set,a=[],o=[],s=A=>{let d=this.readReferrers(A);return d?(t.set(A,t.size),r.set(A,t.get(A)),n.push(A),i.add(A),a.push({node:A,parents:this.pendingParents(d),next:0}),!0):!1};if(!s(e))return null;for(;a.length>0;){let A=a[a.length-1];if(A.next0){let p=a[a.length-1].node;r.set(p,Math.min(r.get(p),r.get(d)))}if(r.get(d)===t.get(d)){let p=[],m;do m=n.pop(),i.delete(m),p.push(m);while(m!==d);o.push(p)}}return o}resolveComponent(e){let t=new Set(e),r=e.length===1?this.edgesOfSingle(e[0]):this.edgesOfLoop(e,t);if(!r){for(let n of e)this.resolved.set(n,null);return!1}for(let n of e)this.resolved.set(n,r.get(n));return!0}edgesOfSingle(e){let t=[];for(let n of this.referrers.get(e)){if(n.parent===e)continue;let i=this.through(n);if(!i)return null;t.push(...i)}let r=zf(t);return r.length>this.budget.maxEdgesPerObject?null:new Map([[e,r]])}edgesOfLoop(e,t){let r=new Map,n=new Map;for(let o of e){let s=[];for(let A of this.referrers.get(o)){if(t.has(A.parent))continue;let d=this.through(A);if(!d)return null;for(let p of d){s.push(p);let m=[...p.via??[],o];if(m.length>=this.budget.maxDepth)return null;let F={parent:p.parent,label:`${p.label}/${dg}`,via:m},h=n.get(Ap(F));h?h.length===1&&qf(h[0])!==o&&h.push(F):n.set(Ap(F),[F])}if(s.length>this.budget.maxEdgesPerObject)return null}s.length>0&&r.set(o,zf(s))}if(n.size>this.budget.maxEdgesPerObject)return null;let i=new Map,a=[...n.values()].map(o=>o[0]);for(let o of e){let s=r.get(o);if(!s){i.set(o,a);continue}let A=[];for(let p of n.values()){let m=p.find(F=>qf(F)!==o);m&&A.push(m)}let d=[...s,...A];if(d.length>this.budget.maxEdgesPerObject)return null;i.set(o,d)}return i}through(e){if(this.anchors.has(e.parent))return[e];let t=this.resolved.get(e.parent);if(!t)return null;let r=[];for(let n of t){let i=[...n.via??[],e.parent];if(i.length>=this.budget.maxDepth)return null;r.push({parent:n.parent,label:`${n.label}/${e.label}`,via:i})}return r}};function Ap(e){return`${e.parent}:${e.label}`}function qf(e){return e.via[e.via.length-1]}function zf(e){let t=new Set;return e.filter(r=>{if(!r.label.includes(dg))return!0;let n=Ap(r);return t.has(n)?!1:(t.add(n),!0)})}function Ep(e){return{text:e.text,...e.regex?{regex:!0}:{},...e.matchCase?{matchCase:!0}:{},...e.wholeWord?{wholeWord:!0}:{},...e.matchDiacritics?{matchDiacritics:!0}:{},...e.ignoreWhitespace?{ignoreWhitespace:!0}:{}}}var Zf=/\\s/,ZG=/\\s/g,Jf=(e,t)=>{let r=e.charCodeAt(t);return r>=56320&&r<=57343};function _p(e,t,r=48){let n=t.start+t.count,i=Math.max(0,t.start-r);if(i>0){for(let s=i;s=n;s--)if(Zf.test(e[s])){a=s;break}Jf(e,a)&&a--}let o=(s,A)=>e.slice(s,A).replace(ZG," ");return{before:o(i,t.start),match:o(t.start,n),after:o(n,a)}}var JG=new Set([f.InvalidArg,f.NotFound,f.Forbidden,f.ProtectedDocument,f.MalformedPdf,f.PayloadTooLarge,f.ObjectNumberUnavailable,f.LayerFull,f.ChangeConflict,f.UndoUnavailable]);function Ac(e){return JG.has(e)}function cc(e){let t=cp(e);return`${t.length.toString(36)}-${$G(t)}`}function cp(e){if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){let t=e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return JSON.stringify({$bytes:`${t.byteLength.toString(36)}-${eC(t)}`})}return Array.isArray(e)?`[${e.map(cp).join(",")}]`:e!==null&&typeof e=="object"?`{${Object.entries(e).filter(([,t])=>t!==void 0).sort(([t],[r])=>tr?1:0).map(([t,r])=>`${JSON.stringify(t)}:${cp(r)}`).join(",")}}`:JSON.stringify(e)??"null"}function $G(e){let t=3735928559,r=1103547991;for(let n=0;n>>16,2246822507),e^=Math.imul(t^t>>>13,3266489909),t=Math.imul(t^t>>>16,2246822507),t^=Math.imul(e^e>>>13,3266489909),(4294967296*(2097151&t)+(e>>>0)).toString(36)}function me(e,t){at(e,t);let{grants:r,protection:n}=e;if(r&&!$i(t,r.scope,r.permissionFlags,n))throw new je(t,"target")}function dc(e,t){let{grants:r,protection:n}=e;return n&&gn(n).has(t)?!1:!r||$i(t,r.scope,r.permissionFlags,n)}function at(e,t){let{protection:r}=e;if(r&&gn(r).has(t))throw new g(f.ProtectedDocument,ap(t,r))}function Ln(e){return e==="widget"?"doc.forms.modify":"doc.annotate.modify"}function Io(e){return[...new Set(e.map(t=>Ln(t.subtype)))]}function pg(e,t){let{identity:r,grants:n}=e;if(n&&!$i("doc.forms.modify",n.scope,n.permissionFlags))throw new je("doc.forms.modify","target");if(typeof t=="string")throw new g(f.InvalidArg,"a widget has no group of its own: a form field\'s group is the field\'s");let i={...r.userId!==void 0?{userId:r.userId}:{},...r.displayName!==void 0?{displayName:r.displayName}:{}};return i.userId||i.displayName?i:void 0}function So(e,t,r){if(t==="widget")return pg(e,r);let{identity:n,grants:i}=e;if(r===null&&n.groupId!==void 0)throw new g(f.InvalidArg,"your annotations have a group: leave groupId out for your own, or name another",{details:{field:"groupId"}});let a=r===void 0?n.groupId:r??void 0;if(i){if(a!==void 0&&!Do("annotations",a,n.groupId,i.scope))throw new je(`annotations:set-group:group=${a}`,"target");if(!ko("create",ho({userId:n.userId,groupId:a}),i.scope,n,i.permissionFlags))throw new je("annotations:create","target")}let o={...n.userId!==void 0?{userId:n.userId}:{},...a!==void 0?{groupId:a}:{},...n.displayName!==void 0?{displayName:n.displayName}:{}};return o.userId||o.groupId||o.displayName?o:void 0}function uc(e,t,r){if(t.subtype==="widget")return pg(e,r);let{identity:n,grants:i}=e,a=ho(t);if(i&&!ko("update",a,i.scope,n,i.permissionFlags))throw new je("annotations:update","target");if(r===null&&a.groupId!==void 0)throw new g(f.InvalidArg,"an annotation\'s group can\'t be removed");let o=typeof r=="string"&&r!==a.groupId;if(o&&i&&!Do("annotations",r,n.groupId,i.scope))throw new je(`annotations:set-group:group=${r}`,"target");let s={...n.userId!==void 0?{userId:n.userId}:{},...n.displayName!==void 0?{displayName:n.displayName}:{},...o?{groupId:r}:{}};return s.userId||s.groupId||s.displayName?s:void 0}function pc(e,t){let{identity:r,grants:n}=e;if(!n)return;let i=$i("doc.forms.modify",n.scope,n.permissionFlags),a=t.filter(o=>o.subtype==="widget"?!i:!ko("delete",ho(o),n.scope,r,n.permissionFlags));if(a.length>0)throw new je("annotations:delete","target",void 0,a.map(o=>o.ref))}function Nn(e,t,r){if(at(e,ec(r)),!pr(e,t,r))throw new je(t===null?ec(r):`fields:${r}:group=${t}`,"target")}function pr(e,t,r){let{grants:n,protection:i}=e;return i&&gn(i).has(ec(r))?!1:!n||op(r,t,n.scope,n.permissionFlags,i)}function yp(e,t){let{grants:r,protection:n}=e;return n&&gn(n).has(ec(t))?!1:!r||sp(t,r.scope,r.permissionFlags,n)}function lc(e,t){let{identity:r,grants:n}=e;if(n&&!Do("fields",t,r.groupId,n.scope))throw new je(`fields:set-group:group=${t}`,"target")}function ec(e){return e==="fill"?"doc.forms.fill":"doc.sign"}var Une=Array.from({length:128},(e,t)=>({print:(t&1)!==0,modifyContents:(t&2)!==0,copy:(t&4)!==0,modifyAnnotations:(t&8)!==0,fillForms:(t&16)!==0,copyForAccessibility:!1,assemble:(t&32)!==0,printHighQuality:(t&64)!==0}));var L={UNKNOWN:0,TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,RICHMEDIA:26,XFAWIDGET:27,REDACT:28},lg=Object.freeze({[L.TEXT]:"text",[L.LINK]:"link",[L.FREETEXT]:"free-text",[L.LINE]:"line",[L.SQUARE]:"square",[L.CIRCLE]:"circle",[L.POLYGON]:"polygon",[L.POLYLINE]:"polyline",[L.HIGHLIGHT]:"highlight",[L.UNDERLINE]:"underline",[L.SQUIGGLY]:"squiggly",[L.STRIKEOUT]:"strikeout",[L.STAMP]:"stamp",[L.CARET]:"caret",[L.INK]:"ink",[L.POPUP]:"popup",[L.FILEATTACHMENT]:"file-attachment",[L.WIDGET]:"widget",[L.REDACT]:"redact"}),mc=Object.freeze({text:L.TEXT,link:L.LINK,"free-text":L.FREETEXT,line:L.LINE,square:L.SQUARE,circle:L.CIRCLE,polygon:L.POLYGON,polyline:L.POLYLINE,highlight:L.HIGHLIGHT,underline:L.UNDERLINE,squiggly:L.SQUIGGLY,strikeout:L.STRIKEOUT,stamp:L.STAMP,caret:L.CARET,ink:L.INK,popup:L.POPUP,"file-attachment":L.FILEATTACHMENT,redact:L.REDACT,widget:L.WIDGET,unsupported:L.UNKNOWN});function qr(e){return lg[e]??"unsupported"}var xo=["color","interiorColor","strokeWidth","borderStyle","dashArray","fontFamily","fontSize","fontColor","textAlign","caption","checkStyle"];var Gp={own:0,builtIn:1},wg=e=>e==="truetype"||e==="opentype",Cp=e=>e==="installable"||e==="editable";function ra(e){return e.embedded==="whole"&&wg(e.format)&&e.mapsUnicode&&Cp(e.permission)}function bg(e){return e.displaySha256!==null&&(e.permission===null||Cp(e.permission))}function Ip(e){let t=[];return e.embedded==="none"?(t.push(e.format==="type3"?"unsupported-format":"not-embedded"),t):(e.embedded==="subset"&&t.push("subset"),wg(e.format)?e.mapsUnicode||t.push("no-unicode-map"):t.push("unsupported-format"),e.permission!==null&&!Cp(e.permission)&&t.push("preview-and-print"),t)}function nC(e){let t=bg(e);return{displaySha256:t?e.displaySha256:null,sourceSha256:e.embedded==="none"?null:e.sha256,embedded:e.embedded,format:e.embedded==="none"?null:e.format,embeddingPermission:e.permission==="restricted"||e.permission==="bitmap-only"?"preview-and-print":e.permission,canDownload:t}}var mg=e=>ra(e)?0:bg(e)?1:e.embedded!=="none"?2:3,rC={100:"Thin",200:"ExtraLight",300:"Light",400:"",500:"Medium",600:"SemiBold",700:"Bold",800:"ExtraBold",900:"Black"};function wc(e,t){if(t)return t;let r=`${rC[e.weight]??String(e.weight)}${e.italic?"Italic":""}`;return r?`${e.familyName},${r}`:e.familyName}function ia(e){let t=new Map;for(let r of e)for(let n of r.programs){if(!n.postScriptName&&r.familyName==="")continue;let i=wc(r,n.postScriptName),a=t.get(i)??[];a.some(({program:o})=>n.objectNumber>0?o.objectNumber===n.objectNumber&&o.displaySha256===n.displaySha256:o.objectNumber===0&&o.embedded===n.embedded&&o.format===n.format&&o.sha256===n.sha256)||a.push({face:r,program:n}),t.set(i,a)}return[...t].map(([r,n])=>{let i=[...n].sort((A,d)=>mg(A.program)-mg(d.program)),{familyName:a,weight:o,italic:s}=i[0].face;return{name:r,face:{familyName:a,weight:o,italic:s},programs:i.map(({program:A})=>A)}})}function fg(e){return Ld(e.face.familyName)!==void 0&&e.programs.every(t=>t.embedded==="none")}function iC(e){let t=e.programs[0];return{name:e.name,source:"document",builtIn:!1,familyName:e.face.familyName,weight:e.face.weight,italic:e.face.italic,postScriptName:t?.postScriptName??null,canChoose:t?ra(t):!1,restrictions:t?Ip(t):["not-embedded"],programs:e.programs.map(nC)}}function aC(e){let{identity:t}=e,r=[];return t.editingAuthorized||r.push("preview-and-print"),e.served||r.push("not-served"),{name:e.key,source:"engine",builtIn:e.builtIn,familyName:t.familyName,weight:t.weight,italic:t.italic,postScriptName:e.postScriptName,canChoose:t.editingAuthorized,restrictions:r,programs:[{displaySha256:e.sha256,sourceSha256:e.sha256,embedded:"none",format:e.format,embeddingPermission:t.embeddingPermission,canDownload:e.served}]}}function oC(e,t){let r=mn[e];return{name:e,source:"standard",builtIn:!0,familyName:r.family,weight:r.weight,italic:r.italic,postScriptName:null,canChoose:!0,restrictions:[],programs:[{displaySha256:t.standardDisplayHash(e),sourceSha256:null,embedded:"none",format:null,embeddingPermission:null,canDownload:!0}]}}function Sp(e,t){let r=i=>i.programs.some(a=>a.sha256===t.lastResortDisplayHash),n=ia(e.faces).filter(i=>!fg(i)&&!r(i)).map(iC);return{fonts:[...Cr.map(i=>oC(i,t)),...e.engineFonts.map(aC),...n],fallbacks:[...e.fallbacks],lastResort:{displaySha256:t.lastResortDisplayHash,sourceSha256:null,embedded:"none",format:"truetype",embeddingPermission:"installable",canDownload:!0}}}function bc(e,t){let r=ia(e.faces).find(i=>i.name===t&&!fg(i));if(!r)return;let n=r.programs[0];return n?{objectNumber:n.objectNumber,choosable:ra(n)&&n.objectNumber>0,restrictions:Ip(n)}:{objectNumber:0,choosable:!1,restrictions:["not-embedded"]}}var gg={elsewhere:0,near:1,visible:2},Mae=2**40;function zr(e,t){let r=gg[e.place]-gg[t.place];return r!==0?r>0:e.pixels>t.pixels}var Zr=Object.freeze([]);function N(e,t=Zr){return{payload:e,transfer:t}}var W=0n;var cC={EPDF_CheckPasswordPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_DigestBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_FreeBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDF_GetDecodedImageBytes:{params:[],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetMetaKeyCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetMetaKeyName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetMetaTrapped:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetPageBoxByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_GetPageRotateByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_GetPageTabOrderByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetPageUserUnitByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_HasMetaText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_InitThread:{params:[],result:null},EPDF_IsEncrypted:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_IsOwnerUnlocked:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_LoadBaseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_LoadMemBaseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_LoadMemBaseDocument64:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_LoadPageNormalized:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_PNG_EncodeRGBA:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_ReleaseBaseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDF_RemoveEncryption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_RenderAnnotBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_RenderAnnotBitmapUnrotated:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_RenderPage_Continue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_RenderPageBitmapWithMatrix_Start:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_SaveAsCopyEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_SaveDocumentToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_SaveDocumentToOwnedBufferEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_SaveDocumentToOwnedBufferWithVersion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_SetBaseDocumentSha256:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:null},EPDF_SetDecodedImageBudget:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},EPDF_SetEncryption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_SetMetaText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_SetMetaTrapped:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_SetRuntimeOwnerPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_ShutdownThread:{params:[],result:null},EPDF_UnlockOwnerPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_CloseModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFAction_CreateGoTo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateGoToNamed:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateHide:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateJavaScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateLaunch:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateNamed:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateRemoteGoToByName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateRemoteGoToDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateResetForm:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateSubmitForm:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateURI:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_GetNextAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNextCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_GetNodeFilePath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeHideFlag:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetNodeJavaScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeResetForm:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetNodeSubmitForm:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetNodeSubmitFormCharSet:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeSubmitFormURL:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeTargetCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeTargetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeTargetObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetNodeType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeURI:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeURIIsMap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetRootNode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetWarningFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_IsComplete:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_LoadModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_NodeHasJavaScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_SetNext:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_AddMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_ClearBorderEffect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearEmbedMetadataKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearMKColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearRectangleDifferences:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ExportAppearance:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_GenerateAppearance:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GenerateAppearanceWithBlend:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GenerateFormFieldAP:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_GetAPMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetAppearanceState:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetAppearanceStateCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetAppearanceStateName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetAppearanceTransform:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetAvailableAppearanceModes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetBlendMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetBooleanValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetBorderDashPattern:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetBorderDashPatternCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetBorderEffect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetBorderStyle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetCalloutLine:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetCalloutLineCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetDefaultAppearance:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetDefaultAppearanceFontFace:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetDefaultAppearanceFontPostScriptName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetDrawingRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetEmbedMetadataBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetEmbedMetadataJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetEmbedMetadataNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetEmbedMetadataRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetEmbedMetadataString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetFileAttachmentForWrite:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_GetIntent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetLineCaption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetLineEndings:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetLineLeader:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_GetMKColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetMKRotation:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetMKText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetMKTextPosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetOpacity:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetOverlayText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetOverlayTextRepeat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetRectangleDifferences:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetReplyType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetRichContent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetRichTextJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetRotate:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetShapeCaption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetStampDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetStructurePosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetTextAlignment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_HasAppearanceStream:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_HasEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_IsValid:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_RemoveAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_RemoveDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_RemoveKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_RemoveMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetAPMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetAppearanceFromPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetBooleanValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetBorderDashPattern:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetBorderEffect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetBorderStyle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetCalloutLine:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetDefaultAppearance:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetDefaultAppearanceDocumentFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetDefaultAppearanceRegisteredFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEventAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetIntent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLine:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLineCaption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLineEndings:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLineLeader:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLinkedAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetMKColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetMKRotation:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetMKText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetMKTextPosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetNoColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetNumberValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetOpacity:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetOverlayText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetOverlayTextRepeat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetReplyType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetRichTextJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetRichTextXHTML:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetRotate:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetShapeCaption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetStampDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetStampOpacity:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetTextAlignment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetVertices:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_UpdateAppearanceToRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_ExportCanonicalToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAttachment_ExportRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAttachment_ExtractFile:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_ExtractFileToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_GetDescription:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAttachment_GetIntegerValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_ImportRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_SetDescription:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_SetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_SetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFCatalog_GetLanguage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFCatalog_GetMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFCatalog_SetMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDest_CreateRemoteView:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateRemoteXYZ:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateView:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateViewByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateXYZ:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateXYZByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_GetPageObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDest_GetViewNullParams:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_CanonicalDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ClearMissingCharacters:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFDoc_ClearPagePieceInfoEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ClearPagePieceInfoKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ClearPieceInfoEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ClearPieceInfoKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_CompareRevisions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_CountMissingCharacters:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_DeletePageByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ExportDictCanonicalToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ExportDictRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ExportDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ExportPagesFlattened:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetAdditionalActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetAttachmentIndexByKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetAttachmentKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetBaseBytesSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}}},EPDFDoc_GetFontDisplayProgramCoverage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetFontDisplayProgramData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetFontEmbeddingPolicy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetFontProgramData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetFontsFingerprint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetImportFieldRoots:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetLastModified:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetLoadedBytesSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}}},EPDFDoc_GetMissingCharacter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetNamedJavaScriptActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetNamedPageAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetNamedPageCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetOpenActionDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetOpenActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetPageActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetPageLabelSectionAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPageLabelSectionCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPageLastModified:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPageObjectNumberByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetPagePieceInfoEntryAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoEntryCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoKeyAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoKeyCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoLastModified:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetPagePieceInfoString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoStringArrayAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoStringArrayCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetPieceInfoEntryAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoEntryCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoKeyAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoKeyCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoLastModified:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetPieceInfoString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoStringArrayAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoStringArrayCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetRevision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetRevisionCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetStampDrawings:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetStructureObjectNumbers:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetTypographicFeatures:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_HasPagePieceInfoEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_HasPieceInfoEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ImportDictRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ImportDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_ImportPages:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_LoadPageByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_LoadPageByObjectNumberNormalized:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_OpenBaseOverlay:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_OpenBaseOverlayFromPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_OpenRevision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ReadLoadedBytes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_RemoveNamedPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_RemoveNamedPagesForPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_ResolveFonts:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_SetFontEmbeddingPolicy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetNamedPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPageLabelSections:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoStringArray:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPageRotationByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoStringArray:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetTypographicFeatures:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_StartLoadPageByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDocument_ClearEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_AddFallbackFont:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_AuthorizeEditing:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_ClearFallbackFonts:{params:[],result:null},EPDFFont_ClearRegisteredFonts:{params:[],result:null},EPDFFont_GetCoverage:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetEmbeddingPermission:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetFallbackOrder:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetFamilyName:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetLastResortFont:{params:[],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetMetrics:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_GetPostScriptName:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetProgramData:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetProgramFormat:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetProgramHash:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_GetWeight:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_IsEditingAuthorized:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_IsInstanced:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_IsItalic:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_RegisterFont:{params:[{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_RegisterMemFont:{params:[{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_RegisterMemFont64:{params:[{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_SetLastResortFont:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFFontFaces_Count:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_CountPrograms:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetFamily:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramDisplayHash:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_GetProgramEmbedded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramEmbeddingPermission:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramFormat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramHash:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_GetProgramMetrics:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_GetProgramObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramPostScriptName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetWeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_IsItalic:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_Load:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFFontFaces_ProgramMapsUnicode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontResolution_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFFontResolution_CountMissingCharacters:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetBaseFontName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetFallbacks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetFamily:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetMissingCharacter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetProgramDisplayHash:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontResolution_GetProgramObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetRegisteredFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetSource:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetWeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_IsDegraded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontResolution_IsItalic:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_AttachWidget:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_ClearFieldEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_ClearFieldEmbedMetadataKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_CloseModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFForm_CountCalculationOrder:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFieldDefaultValues:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFieldOptions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFields:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFieldValues:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFieldWidgets:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CreateField:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_DeleteField:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_DetachWidget:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_ExportFDF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_ExportFieldRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFForm_ExportXFDF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetCalculationOrderFieldIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFForm_GetFieldAlternateName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldDefaultValueAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldDefaultValueKind:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldEmbedMetadataBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_GetFieldEmbedMetadataJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldEmbedMetadataNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_GetFieldEmbedMetadataString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldFamily:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldIndexByObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldIndexForWidget:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldMappingName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldMaxLen:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldOptionLabel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldOptionValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldOrigin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldPartialName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldTopIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldValueAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldValueKind:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetExportValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetOnState:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetPageObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_GetFormKind:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetNeedAppearances:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_HasFieldEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_ImportFieldRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_IsFieldOptionSelected:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_IsFieldWidgetChecked:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_LoadModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFForm_RedrawFieldWidgets:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_Repair:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetCalculationOrder:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldAlternateName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldAppearanceText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldDefaultValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldDisplay:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEmbedMetadataBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEmbedMetadataJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEmbedMetadataNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEmbedMetadataString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEventAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldMappingName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldMaxLen:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldOptions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldSelectedIndices:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldWidgetsChecked:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFImageObj_SetJpeg:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFImageObj_SetPng:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_AbortTransaction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_BeginTransaction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_CommitTransaction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_GetBaseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_GetBaseSha256:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_GetBirthName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_GetBirthObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFLayer_GetLastObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFLayer_GetPromotedObjectCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFLayer_IsInTransaction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_IsObjectPromoted:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_IsPagePromoted:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_OpenLayer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_OpenLayerArtifact:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_OpenLayerArtifactFromPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_RaiseLastObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveDelta:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveDeltaEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveDeltaToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_SaveDeltaToOwnedBufferEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_SaveLayerArtifact:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveLayerArtifactEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveLayerArtifactToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_SaveLayerArtifactToOwnedBufferEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFMeasure_AddFormat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFMeasure_CountFormats:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFMeasure_GetCYX:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_GetFormat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFMeasure_GetOrigin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_GetRatio:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFMeasure_GetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFMeasure_RemoveFormats:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_SetCYX:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_SetOrigin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_SetRatio:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNamedDest_Remove:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNamedDest_SetDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetConversion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetFixedDenominator:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetFraction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetLabelPosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetPrecision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFNumberFormat_GetUnit:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFNumberFormat_SetConversion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetFixedDenominator:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetFraction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetLabelPosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetPrecision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetUnit:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFObjectDiff_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFObjectDiff_GetCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFObjectDiff_GetEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFObjectDiff_GetReadStatus:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFObjectDiff_GetReferrer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFObjectDiff_GetReferrerCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFObjectDiff_GetRevisionHealth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFObjectDiff_GetValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFOutline_CreateItem:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFOutline_DeleteItem:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_ExportItemRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFOutline_GetItem:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFOutline_GetObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFOutline_ImportItemRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_MoveItem:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetOpen:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetStyle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetTitle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_AddViewport:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_AddViewportRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ApplyRedactions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_ContinueLoad:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_CountViewports:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_CountViewportsRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_CreateAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_CreateAnnotRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ExportAnnotationsAsDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ExportAnnotsRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ExportRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_FindViewport:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_Flatten:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_FlattenAnnotations:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetAnnotByName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_GetAnnotByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_GetAnnotCountRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetAnnotIndexByNameRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetAnnotIndexByObjectNumberRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetAnnotRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_GetObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetParsedSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_GetViewport:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_GetViewportRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ImportAnnotsRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_ImportRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_InsertBlankRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_IsContentCurrent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_IsValid:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_MoveAnnots:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_MoveAnnotsRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_PromoteInlineAnnotsRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_RemoveAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_RemoveAnnotByName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_RemoveAnnotByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_RemoveAnnotRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_RemoveViewport:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_RemoveViewportRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_ResetRenderCache:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_CloseModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFSig_Count:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_DigestByteRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_DigestFileRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_GetByteRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_GetContents:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetCoverage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetDocMDPPermission:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldMDPAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldNameAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldNameCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetIndexByFieldObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetKind:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetLockAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetLockPermission:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetRevisionIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueFilter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueListAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueListCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueMDP:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValuePresentFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueRequiredFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueVersion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetValueObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetWidgetObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetWidgetPageObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_HasSeedValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_IsCatalogCertification:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_IsRevisionChainValid:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_IsSigned:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_LoadModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFSig_Prepare:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_SaveCandidate:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_SaveCandidateToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFSig_Seal:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_SealSpan:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_SetFieldLock:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_WriteContents:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFText_GetCharGeometry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFText_GetCharToTextMap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFText_GetTextFull:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFText_RedactInQuads:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFText_RedactInRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFViewport_AddMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFViewport_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFViewport_GetBBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFViewport_GetMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFViewport_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFViewport_RemoveMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFViewport_SetBBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFViewport_SetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_CanRedo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_CanUndo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_DoDocumentAAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FORM_DoDocumentJSAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_DoDocumentOpenAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_DoPageAAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FORM_ForceToKillFocus:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_GetFocusedAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_GetFocusedText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FORM_GetSelectedText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FORM_GetTextDirection:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FORM_IsIndexSelected:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnAfterLoadPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_OnBeforeClosePage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_OnChar:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnFocus:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnKeyDown:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnKeyUp:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnLButtonDoubleClick:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnLButtonDown:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnLButtonUp:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnMouseMove:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnMouseWheel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnRButtonDown:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnRButtonUp:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_Redo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_ReplaceAndKeepSelection:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_ReplaceSelection:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_SelectAllText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_SetFocusedAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_SetIndexSelected:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_SetTextDirection:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_Undo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_AddInstalledFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_CloseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_ClosePage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_CloseXObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_CopyViewerPreferences:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_CountNamedDests:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_CreateClipPath:{params:[{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_CreateNewDocument:{params:[],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_DestroyClipPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_DestroyLibrary:{params:[],result:null},FPDF_DeviceToPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_DocumentHasValidCrossReferenceTable:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_FFLDraw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_FreeDefaultSystemFontInfo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_GetDefaultSystemFontInfo:{params:[],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetDefaultTTFMap:{params:[],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetDefaultTTFMapCount:{params:[],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetDefaultTTFMapEntry:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetDocPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetDocUserPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetFileIdentifier:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetFileVersion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_GetFormType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetLastError:{params:[],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetMetaText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetNamedDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetNamedDestByName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetPageAAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetPageBoundingBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_GetPageCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetPageHeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}},FPDF_GetPageHeightF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}},FPDF_GetPageLabel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetPageSizeByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetPageSizeByIndexF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_GetPageWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}},FPDF_GetPageWidthF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}},FPDF_GetSecurityHandlerRevision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetSignatureCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetSignatureObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetTrailerEnds:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetXFAPacketContent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_GetXFAPacketCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetXFAPacketName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_ImportNPagesToOne:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_ImportPages:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_ImportPagesByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_InitLibrary:{params:[],result:null},FPDF_InitLibraryWithConfig:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_LoadCustomDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadDocument:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadMemDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadMemDocument64:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadXFA:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_MovePages:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_NewFormObjectFromXObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_NewXObjectFromPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_PageToDevice:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_RemoveFormFieldHighlight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_RenderPage_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_RenderPage_Continue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_RenderPageBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_RenderPageBitmap_Start:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_RenderPageBitmapWithColorScheme_Start:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_RenderPageBitmapWithMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_SaveAsCopy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_SaveWithVersion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_SetFormFieldHighlightAlpha:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_SetFormFieldHighlightColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_SetSandBoxPolicy:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:null},FPDF_SetSystemFontInfo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_StructElement_Attr_CountChildren:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_Attr_GetBlobValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetBooleanValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetChildAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_Attr_GetCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_Attr_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetNumberValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_Attr_GetValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_CountChildren:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetActualText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetAltText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetAttributeAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_GetAttributeCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetChildAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_GetChildMarkedContentID:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetExpansion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetID:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetLang:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetMarkedContentID:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetMarkedContentIdAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetMarkedContentIdCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetObjType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetParent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_GetRawType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetStringAttribute:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetTitle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructTree_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_StructTree_CountChildren:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructTree_GetChildAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructTree_GetForPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_VIEWERREF_GetDuplex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetNumCopies:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetPrintPageRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_VIEWERREF_GetPrintPageRangeCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetPrintPageRangeElement:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetPrintScaling:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAction_GetDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAction_GetFilePath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAction_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAction_GetURIPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_AddFileAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_AddInkStroke:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_AppendAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_AppendObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_CountAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetAP:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetBorder:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetFileAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFocusableSubtypes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetFocusableSubtypesCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFontColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetFontSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetFormAdditionalActionJavaScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormControlCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormControlIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldAlternateName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetFormFieldExportValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetInkListCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetInkListPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetLine:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetLink:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetLinkedAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetNumberValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetObjectCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetOptionCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetOptionLabel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetVertices:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_HasAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_HasKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_IsChecked:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_IsObjectSupportedSubtype:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_IsOptionSelected:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_IsSupportedSubtype:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_RemoveInkList:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_RemoveObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetAP:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetBorder:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetFocusableSubtypes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetFontColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetFormFieldFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetURI:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_UpdateObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_GetAFRelationship:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetDescription:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetFile:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_HasKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_SetDescription:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_SetFile:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_SetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAvail_Create:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAvail_Destroy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFAvail_GetDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAvail_GetFirstPageNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAvail_IsDocAvail:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAvail_IsFormAvail:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAvail_IsLinearized:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAvail_IsPageAvail:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBitmap_Create:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBitmap_CreateEx:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBitmap_Destroy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFBitmap_FillRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFBitmap_GetBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBitmap_GetFormat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBitmap_GetHeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBitmap_GetStride:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBitmap_GetWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBookmark_Find:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFBookmark_GetCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBookmark_GetDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetFirstChild:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetNextSibling:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetStyle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBookmark_GetTitle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFCatalog_GetLanguage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFCatalog_IsTagged:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFCatalog_SetLanguage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFClipPath_CountPaths:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFClipPath_CountPathSegments:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFClipPath_GetPathSegment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFDest_GetDestPageIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDest_GetLocationInPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFDest_GetView:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDoc_AddAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFDoc_CloseJavaScriptAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFDoc_DeleteAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFDOC_ExitFormFillEnvironment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFDoc_GetAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFDoc_GetAttachmentCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDoc_GetJavaScriptAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFDoc_GetJavaScriptActionCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDoc_GetPageMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDOC_InitFormFillEnvironment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFFont_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFFont_GetAscent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetBaseFontName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFont_GetDescent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetFamilyName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFont_GetFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFont_GetFontData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetGlyphPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFFont_GetGlyphWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetIsEmbedded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFont_GetItalicAngle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetWeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFormObj_CountObjects:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFormObj_GetObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFFormObj_RemoveObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFGlyphPath_CountGlyphSegments:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFGlyphPath_GetGlyphPathSegment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFImageObj_GetBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFImageObj_GetIccProfileDataDecoded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_GetImageDataDecoded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFImageObj_GetImageDataRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFImageObj_GetImageFilter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFImageObj_GetImageFilterCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFImageObj_GetImageMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_GetImagePixelSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_GetRenderedBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFImageObj_LoadJpegFile:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_LoadJpegFileInline:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_SetBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_SetMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFJavaScriptAction_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFJavaScriptAction_GetScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_CloseWebLinks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFLink_CountQuadPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_CountRects:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_CountWebLinks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_Enumerate:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFLink_GetAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFLink_GetAnnotRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFLink_GetLinkAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFLink_GetLinkZOrderAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_GetQuadPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetTextRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetURL:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_LoadWebLinks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_CloseAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFPage_CountObjects:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_CreateAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_Delete:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDFPage_Flatten:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_FormFieldZOrderAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GenerateContent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_GetAnnotCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetAnnotIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetArtBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetBleedBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetCropBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetDecodedThumbnailData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetMediaBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_GetRawThumbnailData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetRotation:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetThumbnailAsBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_GetTrimBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_HasFormFieldAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_HasTransparency:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_InsertClipPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFPage_InsertObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_InsertObjectAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_New:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_RemoveAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_RemoveObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_SetArtBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_SetBleedBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_SetCropBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_SetMediaBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_SetRotation:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDFPage_SetTrimBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_TransformAnnots:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:null},FPDFPage_TransFormWithClip:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_AddExistingMark:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_AddMark:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_CountMarks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_CreateNewPath:{params:[{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_CreateNewRect:{params:[{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_CreateTextObj:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_Destroy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFPageObj_GetBounds:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetClipPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_GetDashArray:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetDashCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_GetDashPhase:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetFillColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetIsActive:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetLineCap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_GetLineJoin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_GetMark:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_GetMarkedContentID:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_GetMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetRenderedFillPattern:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_GetRenderedStrokePattern:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_GetRotatedBounds:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetStrokeColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetStrokeWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_HasTransparency:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_NewImageObj:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_NewTextObj:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_RemoveMark:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetBlendMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:null},FPDFPageObj_SetDashArray:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetDashPhase:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetFillColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetIsActive:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetLineCap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetLineJoin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetStrokeColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetStrokeWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_Transform:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:null},FPDFPageObj_TransformClipPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:null},FPDFPageObj_TransformF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_CountParams:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObjMark_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamBlobValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamFloatValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamIntValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObjMark_RemoveParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_SetBlobParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_SetFloatParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_SetIntParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_SetStringParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_BezierTo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_CountSegments:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPath_GetBezierControlPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_GetDrawMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_GetPathSegment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPath_LineTo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_MoveTo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_SetDrawMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPathSegment_GetClose:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPathSegment_GetPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPathSegment_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetByteRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetContents:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetDocMDPPermission:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetReason:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetSubFilter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetTime:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_ClosePage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFText_CountChars:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_CountRects:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_FindClose:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFText_FindNext:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_FindPrev:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_FindStart:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_GetBoundedText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetCharAngle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}},FPDFText_GetCharBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetCharIndexAtPos:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetCharIndexFromTextIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetCharOrigin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetFillColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetFontInfo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetFontSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}},FPDFText_GetFontWeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetLooseCharBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetSchCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetSchResultIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetStrokeColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetTextIndexFromCharIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetTextObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_GetUnicode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_HasUnicodeMapError:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_IsGenerated:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_IsHyphen:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_LoadCidType2Font:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_LoadFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_LoadPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_LoadStandardFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_SetCharcodes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_SetPositions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_SetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFTextObj_GetFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFTextObj_GetFontSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFTextObj_GetRenderedBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFTextObj_GetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFTextObj_GetTextRenderMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFTextObj_SetFontSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFTextObj_SetTextRenderMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}}};function aa(e){return BigInt(typeof e=="number"?e>>>0:e)}function Qt(e){return Number(e)}function Pg(e){switch(e){case"i8":return"i8";case"i16":return"i16";case"i32":return"i32";case"i64":return"i64";case"f32":return"float";case"f64":return"double";case"ptr":return"*"}}function dC(e){let t=e._malloc??e.wasmExports?.malloc,r=e._free??e.wasmExports?.free;if(!t||!r)throw new Error("WASM runtime does not expose malloc/free");return{alloc(n){return aa(t(n))},free(n){r(Qt(n))},readBytes(n,i){return e.HEAPU8.slice(Qt(n),Qt(n)+i)},writeBytes(n,i){e.HEAPU8.set(i,Qt(n))},readU8String(n){return e.UTF8ToString?.(Qt(n))??""},writeU8String(n){let i=new TextEncoder().encode(`${n}\\0`),a=aa(t(i.length));return e.HEAPU8.set(i,Qt(a)),a},readU16String(n){return e.UTF16ToString?.(Qt(n))??""},writeU16String(n){let i=(n.length+1)*2,a=aa(t(i));return e.stringToUTF16?.(n,Qt(a),i),a},peek(n,i,a=0){let o=e.getValue?.(Qt(n)+a,Pg(i))??0;return i==="ptr"?aa(o):o},poke(n,i,a,o=0){let s=i==="ptr"&&typeof a=="bigint"?Number(a):a;e.setValue?.(Qt(n)+o,s,Pg(i))}}}function uC(e){return{register(t,r){if(!e.addFunction)throw new Error("WASM runtime does not expose addFunction");return BigInt(e.addFunction(r,t))},dispose(t){e.removeFunction?.(Qt(t))}}}function pC(e,t){return{fromMemory(r){let n=r instanceof Uint8Array?r:new Uint8Array(r);if(n.byteLength>4294967295)throw new RangeError("FPDF_FILEACCESS on wasm supports files up to 4 GiB");let i=e.alloc(12),a=null,o=!1;try{return a=t.register("iiiii",(s,A,d,p)=>{let m=Number(A),F=Number(p);return!Number.isSafeInteger(m)||!Number.isSafeInteger(F)||m<0||F<0||m+F>n.byteLength?0:(e.writeBytes(aa(d),n.subarray(m,m+F)),1)}),e.poke(i,"i32",n.byteLength,0),e.poke(i,"i32",Qt(a),4),e.poke(i,"i32",0,8),{ptr:i,close(){o||(o=!0,t.dispose(a),e.free(i))}}}catch(s){throw a&&t.dispose(a),e.free(i),s}},fromNodeFile(){throw new Error("fromNodeFile() is only available on the native Node runtime")},readRange(){throw new Error("readRange() is only available on the native Node runtime")},sizeOf(){throw new Error("sizeOf() is only available on the native Node runtime")}}}function lC(){return{toNodeFile(){throw new Error("toNodeFile() is only available on the native Node runtime")},writeRange(){throw new Error("writeRange() is only available on the native Node runtime")},appendBytes(){throw new Error("appendBytes() is only available on the native Node runtime")},removeFile(){throw new Error("removeFile() is only available on the native Node runtime")}}}function mC(e,t){return e&&e.ts==="Ptr"&&typeof t=="bigint"?Number(t):t}function wC(e,t){if(e)return e.ts==="Ptr"&&typeof t=="number"?aa(t):e.ts==="bigint"&&typeof t=="number"?BigInt(t):t}function bC(e,t){let r=[];return e.params.forEach((n,i)=>{if(n.wasm.kind==="i64"){let a=BigInt(t[i]??0);r.push(Number(a&0xffffffffn),Number(a>>32n&0xffffffffn))}else r.push(t[i])}),r}function fC(e){let t={},r=cC;for(let[n,i]of Object.entries(r)){let a=i.params.some(s=>s.wasm.kind==="i64"),o=s=>(...A)=>{let d=A.map((p,m)=>mC(i.params[m],p));return wC(i.result,s(...a?bC(i,d):d))};if(e.cwrap){let s=i.params.flatMap(A=>A.wasm.kind==="i64"?["number","number"]:[A.wasm.cwrap]);t[n]=o(e.cwrap(n,i.result?i.result.wasm.cwrap:null,s))}else typeof e[`_${n}`]=="function"&&(t[n]=o(e[`_${n}`].bind(e)))}return t}function gC(e){let t={...e.wasm??{}};e.wasmBinary!==void 0&&t.wasmBinary===void 0&&(t.wasmBinary=e.wasmBinary instanceof Uint8Array?e.wasmBinary:new Uint8Array(e.wasmBinary));let r=e.wasmUrl;return r!==void 0&&t.locateFile===void 0&&(t.locateFile=(n,i)=>n.endsWith(".wasm")?r:i+n),t.wasmBinary!==void 0&&t.locateFile===void 0&&(t.locateFile=(n,i)=>n.endsWith(".wasm")?n:i+n),t}async function FC(e={}){let t=await Promise.resolve().then(()=>(vg(),Fg)),n=await(t.default??t)(gC(e)),i=dC(n),a=uC(n);return{kind:"wasm",platform:"wasm32",mem:i,cb:a,fileAccess:pC(i,a),fileWrite:lC(),fn:fC(n),async destroy(){n._free=n._free}}}async function hg(e={}){return FC(e)}var w={};Je(w,{BRAND:()=>YC,DIRTY:()=>Jr,EMPTY_PATH:()=>kC,INVALID:()=>ee,NEVER:()=>G0,OK:()=>et,ParseStatus:()=>Ue,Schema:()=>we,ZodAny:()=>wr,ZodArray:()=>Yn,ZodBigInt:()=>ei,ZodBoolean:()=>ti,ZodBranded:()=>Oo,ZodCatch:()=>pi,ZodDate:()=>ni,ZodDefault:()=>ui,ZodDiscriminatedUnion:()=>Fc,ZodEffects:()=>Mt,ZodEnum:()=>ci,ZodError:()=>wt,ZodFirstPartyTypeKind:()=>ne,ZodFunction:()=>Pc,ZodIntersection:()=>oi,ZodIssueCode:()=>M,ZodLazy:()=>si,ZodLiteral:()=>Ai,ZodMap:()=>ua,ZodNaN:()=>la,ZodNativeEnum:()=>di,ZodNever:()=>Jt,ZodNull:()=>ii,ZodNullable:()=>hn,ZodNumber:()=>$r,ZodObject:()=>bt,ZodOptional:()=>Rt,ZodParsedType:()=>U,ZodPipeline:()=>Qo,ZodPromise:()=>br,ZodReadonly:()=>li,ZodRecord:()=>vc,ZodSchema:()=>we,ZodSet:()=>pa,ZodString:()=>mr,ZodSymbol:()=>ca,ZodTransformer:()=>Mt,ZodTuple:()=>Pn,ZodType:()=>we,ZodUndefined:()=>ri,ZodUnion:()=>ai,ZodUnknown:()=>Vn,ZodVoid:()=>da,addIssueToContext:()=>X,any:()=>e0,array:()=>i0,bigint:()=>qC,boolean:()=>xg,coerce:()=>y0,custom:()=>Cg,date:()=>zC,datetimeRegex:()=>yg,defaultErrorMap:()=>jn,discriminatedUnion:()=>A0,effect:()=>v0,enum:()=>f0,function:()=>m0,getErrorMap:()=>oa,getParsedType:()=>vn,instanceof:()=>WC,intersection:()=>c0,isAborted:()=>fc,isAsync:()=>sa,isDirty:()=>gc,isValid:()=>lr,late:()=>XC,lazy:()=>w0,literal:()=>b0,makeIssue:()=>Ho,map:()=>p0,nan:()=>UC,nativeEnum:()=>g0,never:()=>n0,null:()=>$C,nullable:()=>h0,number:()=>Sg,object:()=>a0,objectUtil:()=>xp,oboolean:()=>_0,onumber:()=>E0,optional:()=>P0,ostring:()=>B0,pipeline:()=>D0,preprocess:()=>k0,promise:()=>F0,quotelessJson:()=>vC,record:()=>u0,set:()=>l0,setErrorMap:()=>hC,strictObject:()=>o0,string:()=>Ig,symbol:()=>ZC,transformer:()=>v0,tuple:()=>d0,undefined:()=>JC,union:()=>s0,unknown:()=>t0,util:()=>Pe,void:()=>r0});var Pe;(function(e){e.assertEqual=i=>{};function t(i){}e.assertIs=t;function r(i){throw new Error}e.assertNever=r,e.arrayToEnum=i=>{let a={};for(let o of i)a[o]=o;return a},e.getValidEnumValues=i=>{let a=e.objectKeys(i).filter(s=>typeof i[i[s]]!="number"),o={};for(let s of a)o[s]=i[s];return e.objectValues(o)},e.objectValues=i=>e.objectKeys(i).map(function(a){return i[a]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let a=[];for(let o in i)Object.prototype.hasOwnProperty.call(i,o)&&a.push(o);return a},e.find=(i,a)=>{for(let o of i)if(a(o))return o},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function n(i,a=" | "){return i.map(o=>typeof o=="string"?`\'${o}\'`:o).join(a)}e.joinValues=n,e.jsonStringifyReplacer=(i,a)=>typeof a=="bigint"?a.toString():a})(Pe||(Pe={}));var xp;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(xp||(xp={}));var U=Pe.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),vn=e=>{switch(typeof e){case"undefined":return U.undefined;case"string":return U.string;case"number":return Number.isNaN(e)?U.nan:U.number;case"boolean":return U.boolean;case"function":return U.function;case"bigint":return U.bigint;case"symbol":return U.symbol;case"object":return Array.isArray(e)?U.array:e===null?U.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?U.promise:typeof Map<"u"&&e instanceof Map?U.map:typeof Set<"u"&&e instanceof Set?U.set:typeof Date<"u"&&e instanceof Date?U.date:U.object;default:return U.unknown}};var M=Pe.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),vC=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),wt=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){let r=t||function(a){return a.message},n={_errors:[]},i=a=>{for(let o of a.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)n._errors.push(r(o));else{let s=n,A=0;for(;Ar.message){let r={},n=[];for(let i of this.issues)if(i.path.length>0){let a=i.path[0];r[a]=r[a]||[],r[a].push(t(i))}else n.push(t(i));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};wt.create=e=>new wt(e);var PC=(e,t)=>{let r;switch(e.code){case M.invalid_type:e.received===U.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case M.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,Pe.jsonStringifyReplacer)}`;break;case M.unrecognized_keys:r=`Unrecognized key(s) in object: ${Pe.joinValues(e.keys,", ")}`;break;case M.invalid_union:r="Invalid input";break;case M.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${Pe.joinValues(e.options)}`;break;case M.invalid_enum_value:r=`Invalid enum value. Expected ${Pe.joinValues(e.options)}, received \'${e.received}\'`;break;case M.invalid_arguments:r="Invalid function arguments";break;case M.invalid_return_type:r="Invalid function return type";break;case M.invalid_date:r="Invalid date";break;case M.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:Pe.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case M.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case M.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case M.custom:r="Invalid input";break;case M.invalid_intersection_types:r="Intersection results could not be merged";break;case M.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case M.not_finite:r="Number must be finite";break;default:r=t.defaultError,Pe.assertNever(e)}return{message:r}},jn=PC;var kg=jn;function hC(e){kg=e}function oa(){return kg}var Ho=e=>{let{data:t,path:r,errorMaps:n,issueData:i}=e,a=[...r,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s="",A=n.filter(d=>!!d).slice().reverse();for(let d of A)s=d(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}},kC=[];function X(e,t){let r=oa(),n=Ho({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===jn?void 0:jn].filter(i=>!!i)});e.common.issues.push(n)}var Ue=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){let n=[];for(let i of r){if(i.status==="aborted")return ee;i.status==="dirty"&&t.dirty(),n.push(i.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,r){let n=[];for(let i of r){let a=await i.key,o=await i.value;n.push({key:a,value:o})}return e.mergeObjectSync(t,n)}static mergeObjectSync(t,r){let n={};for(let i of r){let{key:a,value:o}=i;if(a.status==="aborted"||o.status==="aborted")return ee;a.status==="dirty"&&t.dirty(),o.status==="dirty"&&t.dirty(),a.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(n[a.value]=o.value)}return{status:t.value,value:n}}},ee=Object.freeze({status:"aborted"}),Jr=e=>({status:"dirty",value:e}),et=e=>({status:"valid",value:e}),fc=e=>e.status==="aborted",gc=e=>e.status==="dirty",lr=e=>e.status==="valid",sa=e=>typeof Promise<"u"&&e instanceof Promise;var J;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(J||(J={}));var Tt=class{constructor(t,r,n,i){this._cachedPath=[],this.parent=t,this.data=r,this._path=n,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Dg=(e,t)=>{if(lr(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new wt(e.common.issues);return this._error=r,this._error}}};function de(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:n,description:i}=e;if(t&&(r||n))throw new Error(`Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(o,s)=>{let{message:A}=e;return o.code==="invalid_enum_value"?{message:A??s.defaultError}:typeof s.data>"u"?{message:A??n??s.defaultError}:o.code!=="invalid_type"?{message:s.defaultError}:{message:A??r??s.defaultError}},description:i}}var we=class{get description(){return this._def.description}_getType(t){return vn(t.data)}_getOrReturnCtx(t,r){return r||{common:t.parent.common,data:t.data,parsedType:vn(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Ue,ctx:{common:t.parent.common,data:t.data,parsedType:vn(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let r=this._parse(t);if(sa(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){let r=this._parse(t);return Promise.resolve(r)}parse(t,r){let n=this.safeParse(t,r);if(n.success)return n.data;throw n.error}safeParse(t,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:vn(t)},i=this._parseSync({data:t,path:n.path,parent:n});return Dg(n,i)}"~validate"(t){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:vn(t)};if(!this["~standard"].async)try{let n=this._parseSync({data:t,path:[],parent:r});return lr(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:r}).then(n=>lr(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(t,r){let n=await this.safeParseAsync(t,r);if(n.success)return n.data;throw n.error}async safeParseAsync(t,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:vn(t)},i=this._parse({data:t,path:n.path,parent:n}),a=await(sa(i)?i:Promise.resolve(i));return Dg(n,a)}refine(t,r){let n=i=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(i):r;return this._refinement((i,a)=>{let o=t(i),s=()=>a.addIssue({code:M.custom,...n(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(A=>A?!0:(s(),!1)):o?!0:(s(),!1)})}refinement(t,r){return this._refinement((n,i)=>t(n)?!0:(i.addIssue(typeof r=="function"?r(n,i):r),!1))}_refinement(t){return new Mt({schema:this,typeName:ne.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Rt.create(this,this._def)}nullable(){return hn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Yn.create(this)}promise(){return br.create(this,this._def)}or(t){return ai.create([this,t],this._def)}and(t){return oi.create(this,t,this._def)}transform(t){return new Mt({...de(this._def),schema:this,typeName:ne.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let r=typeof t=="function"?t:()=>t;return new ui({...de(this._def),innerType:this,defaultValue:r,typeName:ne.ZodDefault})}brand(){return new Oo({typeName:ne.ZodBranded,type:this,...de(this._def)})}catch(t){let r=typeof t=="function"?t:()=>t;return new pi({...de(this._def),innerType:this,catchValue:r,typeName:ne.ZodCatch})}describe(t){let r=this.constructor;return new r({...this._def,description:t})}pipe(t){return Qo.create(this,t)}readonly(){return li.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},DC=/^c[^\\s-]{8,}$/i,BC=/^[0-9a-z]+$/,EC=/^[0-9A-HJKMNP-TV-Z]{26}$/i,_C=/^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i,yC=/^[a-z0-9_-]{21}$/i,GC=/^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/,CC=/^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/,IC=/^(?!\\.)(?!.*\\.\\.)([A-Z0-9_\'+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i,SC="^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$",Hp,xC=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,HC=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/,OC=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,QC=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,RC=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,TC=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Eg="((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))",MC=new RegExp(`^${Eg}$`);function _g(e){let t="[0-5]\\\\d";e.precision?t=`${t}\\\\.\\\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\\\.\\\\d+)?`);let r=e.precision?"+":"?";return`([01]\\\\d|2[0-3]):[0-5]\\\\d(:${t})${r}`}function LC(e){return new RegExp(`^${_g(e)}$`)}function yg(e){let t=`${Eg}T${_g(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\\\d{2}:?\\\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function NC(e,t){return!!((t==="v4"||!t)&&xC.test(e)||(t==="v6"||!t)&&OC.test(e))}function jC(e,t){if(!GC.test(e))return!1;try{let[r]=e.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(n));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||t&&i.alg!==t)}catch{return!1}}function KC(e,t){return!!((t==="v4"||!t)&&HC.test(e)||(t==="v6"||!t)&&QC.test(e))}var mr=class e extends we{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==U.string){let a=this._getOrReturnCtx(t);return X(a,{code:M.invalid_type,expected:U.string,received:a.parsedType}),ee}let n=new Ue,i;for(let a of this._def.checks)if(a.kind==="min")t.data.lengtha.value&&(i=this._getOrReturnCtx(t,i),X(i,{code:M.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),n.dirty());else if(a.kind==="length"){let o=t.data.length>a.value,s=t.data.lengtht.test(i),{validation:r,code:M.invalid_string,...J.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...J.errToObj(t)})}url(t){return this._addCheck({kind:"url",...J.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...J.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...J.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...J.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...J.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...J.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...J.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...J.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...J.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...J.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...J.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...J.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...J.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...J.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...J.errToObj(t)})}regex(t,r){return this._addCheck({kind:"regex",regex:t,...J.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r?.position,...J.errToObj(r?.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...J.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...J.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...J.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...J.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...J.errToObj(r)})}nonempty(t){return this.min(1,J.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew mr({checks:[],typeName:ne.ZodString,coerce:e?.coerce??!1,...de(e)});function VC(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,i=r>n?r:n,a=Number.parseInt(e.toFixed(i).replace(".","")),o=Number.parseInt(t.toFixed(i).replace(".",""));return a%o/10**i}var $r=class e extends we{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==U.number){let a=this._getOrReturnCtx(t);return X(a,{code:M.invalid_type,expected:U.number,received:a.parsedType}),ee}let n,i=new Ue;for(let a of this._def.checks)a.kind==="int"?Pe.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),X(n,{code:M.invalid_type,expected:"integer",received:"float",message:a.message}),i.dirty()):a.kind==="min"?(a.inclusive?t.dataa.value:t.data>=a.value)&&(n=this._getOrReturnCtx(t,n),X(n,{code:M.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),i.dirty()):a.kind==="multipleOf"?VC(t.data,a.value)!==0&&(n=this._getOrReturnCtx(t,n),X(n,{code:M.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):a.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),X(n,{code:M.not_finite,message:a.message}),i.dirty()):Pe.assertNever(a);return{status:i.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,J.toString(r))}gt(t,r){return this.setLimit("min",t,!1,J.toString(r))}lte(t,r){return this.setLimit("max",t,!0,J.toString(r))}lt(t,r){return this.setLimit("max",t,!1,J.toString(r))}setLimit(t,r,n,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:J.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:J.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:J.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:J.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:J.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:J.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:J.toString(r)})}finite(t){return this._addCheck({kind:"finite",message:J.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:J.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:J.toString(t)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.valuet.kind==="int"||t.kind==="multipleOf"&&Pe.isInteger(t.value))}get isFinite(){let t=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(t===null||n.valuenew $r({checks:[],typeName:ne.ZodNumber,coerce:e?.coerce||!1,...de(e)});var ei=class e extends we{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==U.bigint)return this._getInvalidInput(t);let n,i=new Ue;for(let a of this._def.checks)a.kind==="min"?(a.inclusive?t.dataa.value:t.data>=a.value)&&(n=this._getOrReturnCtx(t,n),X(n,{code:M.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),i.dirty()):a.kind==="multipleOf"?t.data%a.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),X(n,{code:M.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):Pe.assertNever(a);return{status:i.value,value:t.data}}_getInvalidInput(t){let r=this._getOrReturnCtx(t);return X(r,{code:M.invalid_type,expected:U.bigint,received:r.parsedType}),ee}gte(t,r){return this.setLimit("min",t,!0,J.toString(r))}gt(t,r){return this.setLimit("min",t,!1,J.toString(r))}lte(t,r){return this.setLimit("max",t,!0,J.toString(r))}lt(t,r){return this.setLimit("max",t,!1,J.toString(r))}setLimit(t,r,n,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:J.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:J.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:J.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:J.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:J.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:J.toString(r)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew ei({checks:[],typeName:ne.ZodBigInt,coerce:e?.coerce??!1,...de(e)});var ti=class extends we{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==U.boolean){let n=this._getOrReturnCtx(t);return X(n,{code:M.invalid_type,expected:U.boolean,received:n.parsedType}),ee}return et(t.data)}};ti.create=e=>new ti({typeName:ne.ZodBoolean,coerce:e?.coerce||!1,...de(e)});var ni=class e extends we{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==U.date){let a=this._getOrReturnCtx(t);return X(a,{code:M.invalid_type,expected:U.date,received:a.parsedType}),ee}if(Number.isNaN(t.data.getTime())){let a=this._getOrReturnCtx(t);return X(a,{code:M.invalid_date}),ee}let n=new Ue,i;for(let a of this._def.checks)a.kind==="min"?t.data.getTime()a.value&&(i=this._getOrReturnCtx(t,i),X(i,{code:M.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),n.dirty()):Pe.assertNever(a);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:J.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:J.toString(r)})}get minDate(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew ni({checks:[],coerce:e?.coerce||!1,typeName:ne.ZodDate,...de(e)});var ca=class extends we{_parse(t){if(this._getType(t)!==U.symbol){let n=this._getOrReturnCtx(t);return X(n,{code:M.invalid_type,expected:U.symbol,received:n.parsedType}),ee}return et(t.data)}};ca.create=e=>new ca({typeName:ne.ZodSymbol,...de(e)});var ri=class extends we{_parse(t){if(this._getType(t)!==U.undefined){let n=this._getOrReturnCtx(t);return X(n,{code:M.invalid_type,expected:U.undefined,received:n.parsedType}),ee}return et(t.data)}};ri.create=e=>new ri({typeName:ne.ZodUndefined,...de(e)});var ii=class extends we{_parse(t){if(this._getType(t)!==U.null){let n=this._getOrReturnCtx(t);return X(n,{code:M.invalid_type,expected:U.null,received:n.parsedType}),ee}return et(t.data)}};ii.create=e=>new ii({typeName:ne.ZodNull,...de(e)});var wr=class extends we{constructor(){super(...arguments),this._any=!0}_parse(t){return et(t.data)}};wr.create=e=>new wr({typeName:ne.ZodAny,...de(e)});var Vn=class extends we{constructor(){super(...arguments),this._unknown=!0}_parse(t){return et(t.data)}};Vn.create=e=>new Vn({typeName:ne.ZodUnknown,...de(e)});var Jt=class extends we{_parse(t){let r=this._getOrReturnCtx(t);return X(r,{code:M.invalid_type,expected:U.never,received:r.parsedType}),ee}};Jt.create=e=>new Jt({typeName:ne.ZodNever,...de(e)});var da=class extends we{_parse(t){if(this._getType(t)!==U.undefined){let n=this._getOrReturnCtx(t);return X(n,{code:M.invalid_type,expected:U.void,received:n.parsedType}),ee}return et(t.data)}};da.create=e=>new da({typeName:ne.ZodVoid,...de(e)});var Yn=class e extends we{_parse(t){let{ctx:r,status:n}=this._processInputParams(t),i=this._def;if(r.parsedType!==U.array)return X(r,{code:M.invalid_type,expected:U.array,received:r.parsedType}),ee;if(i.exactLength!==null){let o=r.data.length>i.exactLength.value,s=r.data.lengthi.maxLength.value&&(X(r,{code:M.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((o,s)=>i.type._parseAsync(new Tt(r,o,r.path,s)))).then(o=>Ue.mergeArray(n,o));let a=[...r.data].map((o,s)=>i.type._parseSync(new Tt(r,o,r.path,s)));return Ue.mergeArray(n,a)}get element(){return this._def.type}min(t,r){return new e({...this._def,minLength:{value:t,message:J.toString(r)}})}max(t,r){return new e({...this._def,maxLength:{value:t,message:J.toString(r)}})}length(t,r){return new e({...this._def,exactLength:{value:t,message:J.toString(r)}})}nonempty(t){return this.min(1,t)}};Yn.create=(e,t)=>new Yn({type:e,minLength:null,maxLength:null,exactLength:null,typeName:ne.ZodArray,...de(t)});function Aa(e){if(e instanceof bt){let t={};for(let r in e.shape){let n=e.shape[r];t[r]=Rt.create(Aa(n))}return new bt({...e._def,shape:()=>t})}else return e instanceof Yn?new Yn({...e._def,type:Aa(e.element)}):e instanceof Rt?Rt.create(Aa(e.unwrap())):e instanceof hn?hn.create(Aa(e.unwrap())):e instanceof Pn?Pn.create(e.items.map(t=>Aa(t))):e}var bt=class e extends we{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),r=Pe.objectKeys(t);return this._cached={shape:t,keys:r},this._cached}_parse(t){if(this._getType(t)!==U.object){let d=this._getOrReturnCtx(t);return X(d,{code:M.invalid_type,expected:U.object,received:d.parsedType}),ee}let{status:n,ctx:i}=this._processInputParams(t),{shape:a,keys:o}=this._getCached(),s=[];if(!(this._def.catchall instanceof Jt&&this._def.unknownKeys==="strip"))for(let d in i.data)o.includes(d)||s.push(d);let A=[];for(let d of o){let p=a[d],m=i.data[d];A.push({key:{status:"valid",value:d},value:p._parse(new Tt(i,m,i.path,d)),alwaysSet:d in i.data})}if(this._def.catchall instanceof Jt){let d=this._def.unknownKeys;if(d==="passthrough")for(let p of s)A.push({key:{status:"valid",value:p},value:{status:"valid",value:i.data[p]}});else if(d==="strict")s.length>0&&(X(i,{code:M.unrecognized_keys,keys:s}),n.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let d=this._def.catchall;for(let p of s){let m=i.data[p];A.push({key:{status:"valid",value:p},value:d._parse(new Tt(i,m,i.path,p)),alwaysSet:p in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let d=[];for(let p of A){let m=await p.key,F=await p.value;d.push({key:m,value:F,alwaysSet:p.alwaysSet})}return d}).then(d=>Ue.mergeObjectSync(n,d)):Ue.mergeObjectSync(n,A)}get shape(){return this._def.shape()}strict(t){return J.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,n)=>{let i=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:J.errToObj(t).message??i}:{message:i}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:ne.ZodObject})}setKey(t,r){return this.augment({[t]:r})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let r={};for(let n of Pe.objectKeys(t))t[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}omit(t){let r={};for(let n of Pe.objectKeys(this.shape))t[n]||(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}deepPartial(){return Aa(this)}partial(t){let r={};for(let n of Pe.objectKeys(this.shape)){let i=this.shape[n];t&&!t[n]?r[n]=i:r[n]=i.optional()}return new e({...this._def,shape:()=>r})}required(t){let r={};for(let n of Pe.objectKeys(this.shape))if(t&&!t[n])r[n]=this.shape[n];else{let a=this.shape[n];for(;a instanceof Rt;)a=a._def.innerType;r[n]=a}return new e({...this._def,shape:()=>r})}keyof(){return Gg(Pe.objectKeys(this.shape))}};bt.create=(e,t)=>new bt({shape:()=>e,unknownKeys:"strip",catchall:Jt.create(),typeName:ne.ZodObject,...de(t)});bt.strictCreate=(e,t)=>new bt({shape:()=>e,unknownKeys:"strict",catchall:Jt.create(),typeName:ne.ZodObject,...de(t)});bt.lazycreate=(e,t)=>new bt({shape:e,unknownKeys:"strip",catchall:Jt.create(),typeName:ne.ZodObject,...de(t)});var ai=class extends we{_parse(t){let{ctx:r}=this._processInputParams(t),n=this._def.options;function i(a){for(let s of a)if(s.result.status==="valid")return s.result;for(let s of a)if(s.result.status==="dirty")return r.common.issues.push(...s.ctx.common.issues),s.result;let o=a.map(s=>new wt(s.ctx.common.issues));return X(r,{code:M.invalid_union,unionErrors:o}),ee}if(r.common.async)return Promise.all(n.map(async a=>{let o={...r,common:{...r.common,issues:[]},parent:null};return{result:await a._parseAsync({data:r.data,path:r.path,parent:o}),ctx:o}})).then(i);{let a,o=[];for(let A of n){let d={...r,common:{...r.common,issues:[]},parent:null},p=A._parseSync({data:r.data,path:r.path,parent:d});if(p.status==="valid")return p;p.status==="dirty"&&!a&&(a={result:p,ctx:d}),d.common.issues.length&&o.push(d.common.issues)}if(a)return r.common.issues.push(...a.ctx.common.issues),a.result;let s=o.map(A=>new wt(A));return X(r,{code:M.invalid_union,unionErrors:s}),ee}}get options(){return this._def.options}};ai.create=(e,t)=>new ai({options:e,typeName:ne.ZodUnion,...de(t)});var Kn=e=>e instanceof si?Kn(e.schema):e instanceof Mt?Kn(e.innerType()):e instanceof Ai?[e.value]:e instanceof ci?e.options:e instanceof di?Pe.objectValues(e.enum):e instanceof ui?Kn(e._def.innerType):e instanceof ri?[void 0]:e instanceof ii?[null]:e instanceof Rt?[void 0,...Kn(e.unwrap())]:e instanceof hn?[null,...Kn(e.unwrap())]:e instanceof Oo||e instanceof li?Kn(e.unwrap()):e instanceof pi?Kn(e._def.innerType):[],Fc=class e extends we{_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==U.object)return X(r,{code:M.invalid_type,expected:U.object,received:r.parsedType}),ee;let n=this.discriminator,i=r.data[n],a=this.optionsMap.get(i);return a?r.common.async?a._parseAsync({data:r.data,path:r.path,parent:r}):a._parseSync({data:r.data,path:r.path,parent:r}):(X(r,{code:M.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),ee)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,r,n){let i=new Map;for(let a of r){let o=Kn(a.shape[t]);if(!o.length)throw new Error(`A discriminator value for key \\`${t}\\` could not be extracted from all schema options`);for(let s of o){if(i.has(s))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(s)}`);i.set(s,a)}}return new e({typeName:ne.ZodDiscriminatedUnion,discriminator:t,options:r,optionsMap:i,...de(n)})}};function Op(e,t){let r=vn(e),n=vn(t);if(e===t)return{valid:!0,data:e};if(r===U.object&&n===U.object){let i=Pe.objectKeys(t),a=Pe.objectKeys(e).filter(s=>i.indexOf(s)!==-1),o={...e,...t};for(let s of a){let A=Op(e[s],t[s]);if(!A.valid)return{valid:!1};o[s]=A.data}return{valid:!0,data:o}}else if(r===U.array&&n===U.array){if(e.length!==t.length)return{valid:!1};let i=[];for(let a=0;a{if(fc(a)||fc(o))return ee;let s=Op(a.value,o.value);return s.valid?((gc(a)||gc(o))&&r.dirty(),{status:r.value,value:s.data}):(X(n,{code:M.invalid_intersection_types}),ee)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([a,o])=>i(a,o)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};oi.create=(e,t,r)=>new oi({left:e,right:t,typeName:ne.ZodIntersection,...de(r)});var Pn=class e extends we{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==U.array)return X(n,{code:M.invalid_type,expected:U.array,received:n.parsedType}),ee;if(n.data.lengththis._def.items.length&&(X(n,{code:M.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let a=[...n.data].map((o,s)=>{let A=this._def.items[s]||this._def.rest;return A?A._parse(new Tt(n,o,n.path,s)):null}).filter(o=>!!o);return n.common.async?Promise.all(a).then(o=>Ue.mergeArray(r,o)):Ue.mergeArray(r,a)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Pn.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Pn({items:e,typeName:ne.ZodTuple,rest:null,...de(t)})};var vc=class e extends we{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==U.object)return X(n,{code:M.invalid_type,expected:U.object,received:n.parsedType}),ee;let i=[],a=this._def.keyType,o=this._def.valueType;for(let s in n.data)i.push({key:a._parse(new Tt(n,s,n.path,s)),value:o._parse(new Tt(n,n.data[s],n.path,s)),alwaysSet:s in n.data});return n.common.async?Ue.mergeObjectAsync(r,i):Ue.mergeObjectSync(r,i)}get element(){return this._def.valueType}static create(t,r,n){return r instanceof we?new e({keyType:t,valueType:r,typeName:ne.ZodRecord,...de(n)}):new e({keyType:mr.create(),valueType:t,typeName:ne.ZodRecord,...de(r)})}},ua=class extends we{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==U.map)return X(n,{code:M.invalid_type,expected:U.map,received:n.parsedType}),ee;let i=this._def.keyType,a=this._def.valueType,o=[...n.data.entries()].map(([s,A],d)=>({key:i._parse(new Tt(n,s,n.path,[d,"key"])),value:a._parse(new Tt(n,A,n.path,[d,"value"]))}));if(n.common.async){let s=new Map;return Promise.resolve().then(async()=>{for(let A of o){let d=await A.key,p=await A.value;if(d.status==="aborted"||p.status==="aborted")return ee;(d.status==="dirty"||p.status==="dirty")&&r.dirty(),s.set(d.value,p.value)}return{status:r.value,value:s}})}else{let s=new Map;for(let A of o){let d=A.key,p=A.value;if(d.status==="aborted"||p.status==="aborted")return ee;(d.status==="dirty"||p.status==="dirty")&&r.dirty(),s.set(d.value,p.value)}return{status:r.value,value:s}}}};ua.create=(e,t,r)=>new ua({valueType:t,keyType:e,typeName:ne.ZodMap,...de(r)});var pa=class e extends we{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==U.set)return X(n,{code:M.invalid_type,expected:U.set,received:n.parsedType}),ee;let i=this._def;i.minSize!==null&&n.data.sizei.maxSize.value&&(X(n,{code:M.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),r.dirty());let a=this._def.valueType;function o(A){let d=new Set;for(let p of A){if(p.status==="aborted")return ee;p.status==="dirty"&&r.dirty(),d.add(p.value)}return{status:r.value,value:d}}let s=[...n.data.values()].map((A,d)=>a._parse(new Tt(n,A,n.path,d)));return n.common.async?Promise.all(s).then(A=>o(A)):o(s)}min(t,r){return new e({...this._def,minSize:{value:t,message:J.toString(r)}})}max(t,r){return new e({...this._def,maxSize:{value:t,message:J.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}};pa.create=(e,t)=>new pa({valueType:e,minSize:null,maxSize:null,typeName:ne.ZodSet,...de(t)});var Pc=class e extends we{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==U.function)return X(r,{code:M.invalid_type,expected:U.function,received:r.parsedType}),ee;function n(s,A){return Ho({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,oa(),jn].filter(d=>!!d),issueData:{code:M.invalid_arguments,argumentsError:A}})}function i(s,A){return Ho({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,oa(),jn].filter(d=>!!d),issueData:{code:M.invalid_return_type,returnTypeError:A}})}let a={errorMap:r.common.contextualErrorMap},o=r.data;if(this._def.returns instanceof br){let s=this;return et(async function(...A){let d=new wt([]),p=await s._def.args.parseAsync(A,a).catch(h=>{throw d.addIssue(n(A,h)),d}),m=await Reflect.apply(o,this,p);return await s._def.returns._def.type.parseAsync(m,a).catch(h=>{throw d.addIssue(i(m,h)),d})})}else{let s=this;return et(function(...A){let d=s._def.args.safeParse(A,a);if(!d.success)throw new wt([n(A,d.error)]);let p=Reflect.apply(o,this,d.data),m=s._def.returns.safeParse(p,a);if(!m.success)throw new wt([i(p,m.error)]);return m.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:Pn.create(t).rest(Vn.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,r,n){return new e({args:t||Pn.create([]).rest(Vn.create()),returns:r||Vn.create(),typeName:ne.ZodFunction,...de(n)})}},si=class extends we{get schema(){return this._def.getter()}_parse(t){let{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};si.create=(e,t)=>new si({getter:e,typeName:ne.ZodLazy,...de(t)});var Ai=class extends we{_parse(t){if(t.data!==this._def.value){let r=this._getOrReturnCtx(t);return X(r,{received:r.data,code:M.invalid_literal,expected:this._def.value}),ee}return{status:"valid",value:t.data}}get value(){return this._def.value}};Ai.create=(e,t)=>new Ai({value:e,typeName:ne.ZodLiteral,...de(t)});function Gg(e,t){return new ci({values:e,typeName:ne.ZodEnum,...de(t)})}var ci=class e extends we{_parse(t){if(typeof t.data!="string"){let r=this._getOrReturnCtx(t),n=this._def.values;return X(r,{expected:Pe.joinValues(n),received:r.parsedType,code:M.invalid_type}),ee}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let r=this._getOrReturnCtx(t),n=this._def.values;return X(r,{received:r.data,code:M.invalid_enum_value,options:n}),ee}return et(t.data)}get options(){return this._def.values}get enum(){let t={};for(let r of this._def.values)t[r]=r;return t}get Values(){let t={};for(let r of this._def.values)t[r]=r;return t}get Enum(){let t={};for(let r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return e.create(t,{...this._def,...r})}exclude(t,r=this._def){return e.create(this.options.filter(n=>!t.includes(n)),{...this._def,...r})}};ci.create=Gg;var di=class extends we{_parse(t){let r=Pe.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==U.string&&n.parsedType!==U.number){let i=Pe.objectValues(r);return X(n,{expected:Pe.joinValues(i),received:n.parsedType,code:M.invalid_type}),ee}if(this._cache||(this._cache=new Set(Pe.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let i=Pe.objectValues(r);return X(n,{received:n.data,code:M.invalid_enum_value,options:i}),ee}return et(t.data)}get enum(){return this._def.values}};di.create=(e,t)=>new di({values:e,typeName:ne.ZodNativeEnum,...de(t)});var br=class extends we{unwrap(){return this._def.type}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==U.promise&&r.common.async===!1)return X(r,{code:M.invalid_type,expected:U.promise,received:r.parsedType}),ee;let n=r.parsedType===U.promise?r.data:Promise.resolve(r.data);return et(n.then(i=>this._def.type.parseAsync(i,{path:r.path,errorMap:r.common.contextualErrorMap})))}};br.create=(e,t)=>new br({type:e,typeName:ne.ZodPromise,...de(t)});var Mt=class extends we{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ne.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:r,ctx:n}=this._processInputParams(t),i=this._def.effect||null,a={addIssue:o=>{X(n,o),o.fatal?r.abort():r.dirty()},get path(){return n.path}};if(a.addIssue=a.addIssue.bind(a),i.type==="preprocess"){let o=i.transform(n.data,a);if(n.common.async)return Promise.resolve(o).then(async s=>{if(r.value==="aborted")return ee;let A=await this._def.schema._parseAsync({data:s,path:n.path,parent:n});return A.status==="aborted"?ee:A.status==="dirty"?Jr(A.value):r.value==="dirty"?Jr(A.value):A});{if(r.value==="aborted")return ee;let s=this._def.schema._parseSync({data:o,path:n.path,parent:n});return s.status==="aborted"?ee:s.status==="dirty"?Jr(s.value):r.value==="dirty"?Jr(s.value):s}}if(i.type==="refinement"){let o=s=>{let A=i.refinement(s,a);if(n.common.async)return Promise.resolve(A);if(A instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?ee:(s.status==="dirty"&&r.dirty(),o(s.value),{status:r.value,value:s.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>s.status==="aborted"?ee:(s.status==="dirty"&&r.dirty(),o(s.value).then(()=>({status:r.value,value:s.value}))))}if(i.type==="transform")if(n.common.async===!1){let o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!lr(o))return ee;let s=i.transform(o.value,a);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:s}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>lr(o)?Promise.resolve(i.transform(o.value,a)).then(s=>({status:r.value,value:s})):ee);Pe.assertNever(i)}};Mt.create=(e,t,r)=>new Mt({schema:e,typeName:ne.ZodEffects,effect:t,...de(r)});Mt.createWithPreprocess=(e,t,r)=>new Mt({schema:t,effect:{type:"preprocess",transform:e},typeName:ne.ZodEffects,...de(r)});var Rt=class extends we{_parse(t){return this._getType(t)===U.undefined?et(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Rt.create=(e,t)=>new Rt({innerType:e,typeName:ne.ZodOptional,...de(t)});var hn=class extends we{_parse(t){return this._getType(t)===U.null?et(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};hn.create=(e,t)=>new hn({innerType:e,typeName:ne.ZodNullable,...de(t)});var ui=class extends we{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return r.parsedType===U.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};ui.create=(e,t)=>new ui({innerType:e,typeName:ne.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...de(t)});var pi=class extends we{_parse(t){let{ctx:r}=this._processInputParams(t),n={...r,common:{...r.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return sa(i)?i.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new wt(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new wt(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};pi.create=(e,t)=>new pi({innerType:e,typeName:ne.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...de(t)});var la=class extends we{_parse(t){if(this._getType(t)!==U.nan){let n=this._getOrReturnCtx(t);return X(n,{code:M.invalid_type,expected:U.nan,received:n.parsedType}),ee}return{status:"valid",value:t.data}}};la.create=e=>new la({typeName:ne.ZodNaN,...de(e)});var YC=Symbol("zod_brand"),Oo=class extends we{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},Qo=class e extends we{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.common.async)return(async()=>{let a=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?ee:a.status==="dirty"?(r.dirty(),Jr(a.value)):this._def.out._parseAsync({data:a.value,path:n.path,parent:n})})();{let i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?ee:i.status==="dirty"?(r.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(t,r){return new e({in:t,out:r,typeName:ne.ZodPipeline})}},li=class extends we{_parse(t){let r=this._def.innerType._parse(t),n=i=>(lr(i)&&(i.value=Object.freeze(i.value)),i);return sa(r)?r.then(i=>n(i)):n(r)}unwrap(){return this._def.innerType}};li.create=(e,t)=>new li({innerType:e,typeName:ne.ZodReadonly,...de(t)});function Bg(e,t){let r=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof r=="string"?{message:r}:r}function Cg(e,t={},r){return e?wr.create().superRefine((n,i)=>{let a=e(n);if(a instanceof Promise)return a.then(o=>{if(!o){let s=Bg(t,n),A=s.fatal??r??!0;i.addIssue({code:"custom",...s,fatal:A})}});if(!a){let o=Bg(t,n),s=o.fatal??r??!0;i.addIssue({code:"custom",...o,fatal:s})}}):wr.create()}var XC={object:bt.lazycreate},ne;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(ne||(ne={}));var WC=(e,t={message:`Input not instance of ${e.name}`})=>Cg(r=>r instanceof e,t),Ig=mr.create,Sg=$r.create,UC=la.create,qC=ei.create,xg=ti.create,zC=ni.create,ZC=ca.create,JC=ri.create,$C=ii.create,e0=wr.create,t0=Vn.create,n0=Jt.create,r0=da.create,i0=Yn.create,a0=bt.create,o0=bt.strictCreate,s0=ai.create,A0=Fc.create,c0=oi.create,d0=Pn.create,u0=vc.create,p0=ua.create,l0=pa.create,m0=Pc.create,w0=si.create,b0=Ai.create,f0=ci.create,g0=di.create,F0=br.create,v0=Mt.create,P0=Rt.create,h0=hn.create,k0=Mt.createWithPreprocess,D0=Qo.create,B0=()=>Ig().optional(),E0=()=>Sg().optional(),_0=()=>xg().optional(),y0={string:(e=>mr.create({...e,coerce:!0})),number:(e=>$r.create({...e,coerce:!0})),boolean:(e=>ti.create({...e,coerce:!0})),bigint:(e=>ei.create({...e,coerce:!0})),date:(e=>ni.create({...e,coerce:!0}))};var G0=ee;var C0=Symbol.for("@embedpdf/engine-core/reading");function Tp(e,t){e._def[C0]=t}function be(e){return Tp(e,{closed:!0}),e}function I0(e,t){let r=new Set(e.options),n=w.preprocess(i=>typeof i=="string"&&!r.has(i)?t:i,e);return Tp(n,{unknownAs:t}),n}function va(e,t,r=n=>n){let{discriminator:n,optionsMap:i}=e._def,a=w.preprocess(o=>{if(typeof o!="object"||o===null||Array.isArray(o))return o;let s=o[n];return typeof s!="string"||i.has(s)?o:r({...o,[n]:t})},e);return Tp(a,{unknownAs:t}),a}var fa=w.object({kind:be(w.literal("objectNumber")),objectNumber:w.number().int().positive()}),Lt=w.string().regex(/^#[0-9a-fA-F]{6}$/,"expected a color as \'#rrggbb\'"),Mg=be(w.enum(["solid","dashed","beveled","inset"])),S0=be(w.enum(["solid","dashed","beveled","inset","underline"])),x0=be(w.enum(["check","cross","star","circle","square","diamond"])),Lg=w.enum(["solid","dashed"]),Mp=w.array(w.number().nonnegative()).min(1),Qp=be(w.enum(["none","square","circle","diamond","open-arrow","closed-arrow","butt","r-open-arrow","r-closed-arrow","slash"])),Ng=w.object({start:Qp,end:Qp}),Poe=w.enum(Cr),jg=be(w.enum(["left","center","right"])),H0=be(w.enum(["free-text","free-text-callout","free-text-typewriter"])),O0=w.enum(["free-text","free-text-callout"]),Q0=be(w.enum(["top","middle","bottom"])),R0=be(w.literal("replace")),T0=be(w.literal("strikeout-text-edit")),M0=be(w.literal("ink-highlight")),L0=be(w.enum(["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"])),ga=be(w.discriminatedUnion("kind",[w.object({kind:w.literal("objectNumber"),page:fa,objectNumber:w.number().int().positive()}),w.object({kind:w.literal("baseIndex"),page:fa,baseIndex:w.number().int().nonnegative()})])),tt=fa,ft=w.number().nullable(),Lp=be(w.discriminatedUnion("kind",[w.object({kind:w.literal("xyz"),page:tt,left:ft,top:ft,zoom:ft}),w.object({kind:w.literal("fit"),page:tt}),w.object({kind:w.literal("fitH"),page:tt,top:ft}),w.object({kind:w.literal("fitV"),page:tt,left:ft}),w.object({kind:w.literal("fitR"),page:tt,left:w.number(),bottom:w.number(),right:w.number(),top:w.number()}),w.object({kind:w.literal("fitB"),page:tt}),w.object({kind:w.literal("fitBH"),page:tt,top:ft}),w.object({kind:w.literal("fitBV"),page:tt,left:ft})])),Np=be(w.discriminatedUnion("kind",[w.object({kind:w.literal("xyz"),page:tt,x:ft,y:ft,zoom:ft}),w.object({kind:w.literal("fit"),page:tt}),w.object({kind:w.literal("fitH"),page:tt,y:ft}),w.object({kind:w.literal("fitV"),page:tt,x:ft}),w.object({kind:w.literal("fitR"),page:tt,x:w.number(),y:w.number(),width:w.number().nonnegative(),height:w.number().nonnegative()}),w.object({kind:w.literal("fitB"),page:tt}),w.object({kind:w.literal("fitBH"),page:tt,y:ft}),w.object({kind:w.literal("fitBV"),page:tt,x:ft})]));function Kg(e){let t=w.object({kind:w.literal("goto"),destination:e}),r=w.object({kind:w.literal("uri"),uri:w.string()}),n=va(w.discriminatedUnion("kind",[t,r,w.object({kind:w.literal("goto-remote"),file:w.string()}),w.object({kind:w.literal("launch"),path:w.string()}),w.object({kind:w.literal("javascript")}),w.object({kind:w.literal("named"),name:w.string()}),w.object({kind:w.literal("unsupported")})]),"unsupported").describe("Where a link goes, by its `kind`. A newer server can add kinds: read one your client doesn\'t know as `unsupported`."),i=w.object({kind:w.literal("named"),name:w.enum(["NextPage","PrevPage","FirstPage","LastPage"])});return{read:n,write:w.discriminatedUnion("kind",[t,r,i])}}var Vg=Kg(Np),Yg=Kg(Lp),N0=Vg.read,j0=Vg.write,K0=Yg.read,V0=Yg.write,ba=be(w.discriminatedUnion("kind",[w.object({kind:w.literal("name"),name:w.string()}),w.object({kind:w.literal("objectNumber"),objectNumber:w.number().int().positive()})])),Xg={exclude:w.boolean(),includeNoValueFields:w.boolean(),format:be(w.enum(["fdf","html","xfdf","pdf"])),method:be(w.enum(["post","get"])),submitCoordinates:w.boolean(),includeAppendSaves:w.boolean(),includeAnnotations:w.boolean(),canonicalFormat:w.boolean(),exclNonUserAnnots:w.boolean(),exclFKey:w.boolean(),embedForm:w.boolean()},Y0=Object.fromEntries(Object.entries(Xg).map(([e,t])=>[e,t.optional()]));function Wg(e){let t={subtype:w.string(),next:w.array(w.lazy(()=>i))},r=(o,s={})=>w.object({type:w.literal(o),...t,...s}),n=[r("javascript",{script:w.string()}),r("goto",{destination:e}),r("uri",{uri:w.string(),isMap:w.boolean()}),r("named",{name:w.string()}),r("hide",{targets:w.array(ba),hide:w.boolean()}),r("reset-form",{fields:w.array(ba).nullable(),exclude:w.boolean()}),r("goto-remote",{filePath:w.string()}),r("goto-embedded",{filePath:w.string()}),r("launch",{filePath:w.string()}),r("rendition",{script:w.string().optional()}),r("submit-form",{payload:w.object({url:w.string(),fields:w.array(ba).nullable(),...Xg,charSet:w.string().optional()}).optional()}),r("thread"),r("sound"),r("movie"),r("import-data"),r("set-ocg-state"),r("transition"),r("goto-3d-view"),r("unknown")],i=w.lazy(()=>va(w.discriminatedUnion("type",[...n]),"unknown").describe("An action, by its `type`. A newer server can add types: read one your client doesn\'t know as `unknown`, keeping its `subtype` and `next`.")),a=w.object({root:i.nullable(),incomplete:w.boolean(),warnings:w.array(be(w.enum(["cycle-dropped","malformed-next","incomplete","payload-dropped"])))});return{arms:n,node:i,tree:a,fieldActions:w.object({keystroke:a.optional(),format:a.optional(),validate:a.optional(),calculate:a.optional()}),pageActions:w.object({open:a.optional(),close:a.optional()}),annotationActions:w.object({activate:a.optional(),cursorEnter:a.optional(),cursorExit:a.optional(),mouseDown:a.optional(),mouseUp:a.optional(),focus:a.optional(),blur:a.optional(),pageOpen:a.optional(),pageClose:a.optional(),pageVisible:a.optional(),pageInvisible:a.optional()}),documentActions:w.object({nameTreeScripts:w.array(w.object({name:w.string(),action:a})),openAction:a.nullable(),openDestination:e.nullable(),willClose:a.optional(),willSave:a.optional(),didSave:a.optional(),willPrint:a.optional(),didPrint:a.optional()}).superRefine((o,s)=>{o.openAction!==null&&o.openDestination!==null&&s.addIssue({code:w.ZodIssueCode.custom,message:"openAction and openDestination are mutually exclusive",path:["openDestination"]})})}}var bi=Wg(Np),X0=Wg(Lp);function Ug(e){let t=()=>({next:w.array(w.lazy(()=>n)).optional()}),r=[w.object({type:w.literal("javascript"),script:w.string(),...t()}),w.object({type:w.literal("goto"),destination:e,...t()}),w.object({type:w.literal("uri"),uri:w.string().min(1),...t()}),w.object({type:w.literal("named"),name:w.string().min(1),...t()}),w.object({type:w.literal("hide"),targets:w.array(ba).min(1),hide:w.boolean(),...t()}),w.object({type:w.literal("reset-form"),fields:w.array(ba).nullable(),exclude:w.boolean(),...t()}),w.object({type:w.literal("submit-form"),url:w.string().min(1),fields:w.array(ba).nullable(),...Y0,...t()})],n=w.lazy(()=>w.discriminatedUnion("type",[...r])),i=()=>n.nullable().optional();return{node:n,widgetActions:w.object({activate:i(),cursorEnter:i(),cursorExit:i(),mouseDown:i(),mouseUp:i(),focus:i(),blur:i(),pageOpen:i(),pageClose:i(),pageVisible:i(),pageInvisible:i()}).strict()}}var qg=Ug(Np),W0=Ug(Lp),hoe=qg.node,zg=qg.widgetActions,U0=W0.widgetActions,koe=bi.node,Doe=w.enum(bi.arms.map(e=>e.shape.type.value)),Boe=bi.tree,q0=bi.fieldActions,Eoe=bi.pageActions,_oe=bi.documentActions,z0=bi.annotationActions,Zg=X0.annotationActions,Ro=w.lazy(()=>w.object({type:w.literal("javascript"),script:w.string(),next:w.array(Ro).optional()})),Jg=w.object({keystroke:Ro.nullable().optional(),format:Ro.nullable().optional(),validate:Ro.nullable().optional(),calculate:Ro.nullable().optional()});var Ke=w.object({x:w.number(),y:w.number()}),Z0=w.object({start:Ke,end:Ke}),J0=w.union([w.tuple([Ke,Ke]),w.tuple([Ke,Ke,Ke])]),$0=w.array(w.array(Ke)),Mo=w.object({left:w.number().finite(),bottom:w.number().finite(),right:w.number().finite(),top:w.number().finite()}),yoe=w.object({width:w.number().nonnegative(),height:w.number().nonnegative()}),$g=w.object({upperLeft:Ke,upperRight:Ke,lowerLeft:Ke,lowerRight:Ke}),eF=be(w.union([w.literal(0),w.literal(90),w.literal(180),w.literal(270)])),hc=w.object({x:w.number(),y:w.number()}),To=w.object({x:w.number().finite(),y:w.number().finite(),width:w.number().finite().nonnegative(),height:w.number().finite().nonnegative()}),Goe=w.object({upperLeft:hc,upperRight:hc,lowerLeft:hc,lowerRight:hc});function wa(e,t,r){let n=i=>wa(e,t,{...r,...i});return{read:e,write:t,traits:r,nullable:()=>n({readNullable:!0,writeNullable:!0}),nullableOnRead:()=>n({readNullable:!0}),optional:()=>n({required:!1}),readBack:()=>n({readBack:!0}),space:i=>n({space:i}),writes:i=>wa(e,i,r)}}var kc=(e,t)=>({owner:e,readNullable:!1,writeNullable:!1,required:t,readBack:!1,space:"none"}),H={data:e=>wa(e,e,kc("data",!0)),attribution:e=>wa(e,e,kc("attribution",!1)),engine:e=>wa(e,e,kc("engine",!1)),preserved:e=>wa(e,e,kc("preserved",!1))},e9={box:{read:To,write:To},linkTarget:{read:N0,write:j0},actions:{read:z0,write:zg}};function Hg(e,t,r){let n={subtype:be(w.literal(e))},i={subtype:w.literal(e)},a={subtype:w.literal(e).optional()},o={};for(let[s,A]of Object.entries(t)){let{owner:d,readNullable:p,writeNullable:m,required:F,readBack:h}=A.traits,P=r(A);if(n[s]=p?P.read.nullable():P.read,d==="data"){let B=m?P.write.nullable():P.write;i[s]=F?B:B.optional();let y=P.read===P.write?p||m?P.write.nullable():P.write:w.union([B,n[s]]);a[s]=(h?y:B).optional(),h&&(o[s]=B)}else i[s]=h?n[s].optional():w.unknown().optional(),a[s]=h?n[s].optional():w.unknown().optional(),h&&(o[s]=null)}return{read:n,create:i,update:a,readBackWrites:o}}function Me(e,t,r={}){let n=Hg(e,t,a=>a),i=Hg(e,t,a=>e9[a.traits.space]??a);return{subtype:e,fields:t,resources:r,readSchema:w.object(i.read),createSchema:w.object(i.create).strict(),updateSchema:w.object(i.update).strict(),fileSchemas:{read:w.object(n.read),create:w.object(n.create).strict(),update:w.object(n.update).strict()},readBackWrites:n.readBackWrites,shapes:{read:i.read,create:i.create,update:i.update}}}var Xn=w.string().datetime({offset:!0,local:!0}),Og=w.union([Xn,w.date()]),Dn=w.number().finite().refine(e=>Number.isFinite(Math.fround(e)),"Outside PDF float range"),tF=w.object({x:Dn,y:Dn}),nF=tF.strict(),rF=Dn.refine(e=>Math.fround(e)>0,"Must be positive in PDF float precision"),wi=w.object({unit:w.string(),conversion:Dn.optional(),fraction:be(w.enum(["decimal","fraction","round","truncate"])).optional(),precision:w.number().int().optional(),fixed:w.boolean().optional(),thousands:w.string().optional(),decimal:w.string().optional(),prefixSpacing:w.string().optional(),suffixSpacing:w.string().optional(),labelPosition:be(w.enum(["suffix","prefix"])).optional()}),iF=w.object({subtype:w.literal("rectilinear"),ratio:w.string().optional(),x:w.array(wi),y:w.array(wi).optional(),distance:w.array(wi),area:w.array(wi),angle:w.array(wi).optional(),slope:w.array(wi).optional(),origin:tF.optional(),cyx:Dn.optional()}),ma=wi.extend({conversion:rF,precision:w.number().int().min(1).max(2147483647).optional()}).refine(tr,"Invalid number format precision"),aF=iF.extend({x:w.array(ma),y:w.array(ma).optional(),distance:w.array(ma),area:w.array(ma),angle:w.array(ma).optional(),slope:w.array(ma).optional(),cyx:rF.optional(),origin:nF.optional()}),oF=w.object({subtype:w.literal("geospatial")}),sF=w.object({subtype:w.literal("unknown")}),t9=w.union([oF,sF]),Coe=w.object({measure:aF.nullable()}),AF=va(w.discriminatedUnion("subtype",[iF,oF,sF]),"unknown").describe("A measure, by its `subtype`. A newer server can add subtypes: read one your client doesn\'t know as `unknown`."),n9=w.object({bbox:To,name:w.string().nullable(),measure:AF.nullable(),owned:w.boolean()}),Ioe=w.object({viewports:w.array(n9)}),r9=be(w.enum(["line-arrow","line-dimension"])),i9=be(w.enum(["polygon-cloud","polygon-dimension"])),a9=be(w.literal("polyline-dimension")),o9=w.object({along:Dn,perpendicular:Dn}).strict(),Soe=w.object({enabled:w.boolean(),position:w.enum(["inline","top"]).optional(),offset:o9.optional()}).strict(),xoe=w.object({enabled:w.boolean(),center:nF.optional()}).strict(),cF=w.object({length:Dn,extension:Dn.refine(e=>e>=0).optional(),offset:Dn.refine(e=>e>=0).optional()}),s9=cF.strict(),dF=be(w.enum(["left","center","right","justify"])),jp={family:w.string().min(1),weight:w.number().int().min(100).max(900),italic:w.boolean(),size:w.number().nonnegative(),color:Lt,decoration:w.array(be(w.enum(["underline","line-through","word"]))),script:be(w.enum(["normal","sub","super"])),letterSpacing:w.number(),horizontalScale:w.number().positive(),unknown:w.string().optional()},Kp={align:dF,dir:be(w.enum(["ltr","rtl"])),lineHeight:w.number().positive().optional(),margins:w.object({top:w.number(),bottom:w.number(),left:w.number(),right:w.number()}).optional(),textIndent:w.number().optional(),unknown:w.string().optional()},A9=w.object(jp).partial(),uF=w.object({...Kp,runs:w.array(w.object({text:w.string(),style:A9.optional()}))}).partial({align:!0,dir:!0}),pF=w.object({body:w.object({...jp,...Kp}),paragraphs:w.array(uF)}),lF=w.object({body:w.object({...jp,...Kp}).partial().optional(),paragraphs:w.array(uF)}),c9=w.object({to:ga,type:be(w.enum(["reply","group"]))}),d9=w.object({to:ga,type:w.enum(["reply","group"]).optional()}),Vp=w.string().min(1),kn=()=>H.data(w.boolean()).optional(),Lo={ref:H.engine(ga),page:H.engine(fa),hasAppearance:H.engine(w.boolean()),appearanceState:H.engine(w.string()).nullable(),structurePosition:H.engine(w.array(w.number().int().nonnegative())).nullable(),nm:H.data(w.string()).nullable().optional(),rect:H.data(Mo).space("box"),contents:H.data(w.string()).nullable().optional(),subject:H.data(w.string()).nullable().optional(),blendMode:H.data(L0).optional(),invisible:kn(),hidden:kn(),print:kn(),noZoom:kn(),noRotate:kn(),noView:kn(),readOnly:kn(),locked:kn(),toggleNoView:kn(),lockedContents:kn(),reply:H.data(c9).writes(d9).nullable().optional(),popup:H.engine(ga).nullable(),groupId:H.data(w.string().min(1)).nullable().optional(),author:H.attribution(w.string()).nullable(),createdAt:H.attribution(Xn).writes(Og).nullable(),modifiedAt:H.attribution(Xn).writes(Og).nullable(),userId:H.attribution(w.string()).nullable(),createdBy:H.attribution(w.string()).nullable(),modifiedBy:H.attribution(w.string()).nullable(),importedBy:H.engine(w.string()).nullable(),actions:H.preserved(Zg).nullable().space("actions")},$t={...Lo,richText:H.data(pF).writes(lF).nullable().optional().space("length")},Pa={color:H.data(Lt).optional(),opacity:H.data(w.number().min(0).max(1)).optional()},mF={...Pa,color:H.data(Lt).nullable().optional(),strokeWidth:H.data(w.number().nonnegative()).optional(),borderStyle:H.data(Mg).writes(Lg).readBack().optional(),dashArray:H.data(w.array(w.number().nonnegative())).writes(Mp).nullable().optional()},Yp={...mF,interiorColor:H.data(Lt).nullable().optional()},ha={rect:H.engine(Mo).readBack().space("box")},Xp={rotation:H.data(w.number()).nullable().optional()},Dc={...ha,box:H.data(Mo).space("box").optional(),rotation:H.data(w.number()).nullable().optional()},u9={...ha,box:H.data(Mo).space("box").optional(),rotation:H.data(eF).nullable().optional()},Bc={...$t,...Pa,...ha,quadPoints:H.data(w.array($g).min(1)).space("quads")},wF={...$t,...Yp,...Dc,cloudyIntensity:H.data(w.number().positive()).nullable().optional()},bF={...$t,...Yp,...ha,vertices:H.data(w.array(Ke)).space("points"),...Xp},Wp=H.data(AF).writes(w.union([aF,t9])).nullable().optional().space("measure"),fF={captionEnabled:H.data(w.boolean()).nullable().optional(),captionCenter:H.data(Ke).nullable().optional().space("point")},No=Me("caret",{...$t,...Pa,...Dc,intent:H.data(R0).nullable().optional()}),p9=No.readSchema,l9=No.createSchema,m9=No.updateSchema,Up={subtype:"caret",pdfSubtypeCode:L.CARET,dtoSchema:p9,draftSchema:l9,patchSchema:m9,readBackWrites:No.readBackWrites},jo=Me("circle",wF),w9=jo.readSchema,b9=jo.createSchema,f9=jo.updateSchema,qp={subtype:"circle",pdfSubtypeCode:L.CIRCLE,dtoSchema:w9,draftSchema:b9,patchSchema:f9,readBackWrites:jo.readBackWrites},Fa=w.string().min(1),Hoe=w.object({appearance:Fa.optional(),file:Fa.optional()}).strict(),Ooe=w.object({appearance:Fa}).strict(),g9=w.object({file:Fa}).strict(),Qoe=w.object({source:Fa}).strict(),Roe=w.object({image:Fa}),Toe=w.object({resources:g9,name:w.string().min(1),mimeType:w.string().optional(),description:w.string().optional()}),Moe=w.object({name:w.string().min(1),mimeType:w.string().optional(),description:w.string().optional()}),F9=w.object({name:w.string(),mimeType:w.string().nullable(),description:w.string().nullable(),sizeBytes:w.number().int().nonnegative().nullable(),md5:w.string().nullable(),createdAt:Xn.nullable(),modifiedAt:Xn.nullable()}),Loe=w.object({kind:be(w.literal("key")),key:w.string().min(1)}),Noe=w.object({ref:w.object({kind:be(w.literal("key")),key:w.string()}),name:w.string(),mimeType:w.string().nullable(),description:w.string().nullable(),sizeBytes:w.number().int().nonnegative().nullable(),md5:w.string().nullable(),createdAt:Xn.nullable(),modifiedAt:Xn.nullable(),index:w.number().int().nonnegative()}),v9=be(w.enum(["push-pin","paperclip","graph","tag"])),P9=w.object({name:w.string().min(1),mimeType:w.string().nullable().optional(),description:w.string().nullable().optional()}),Ko=Me("file-attachment",{...$t,...Pa,icon:H.data(v9).optional(),file:H.data(F9).writes(P9).nullable().optional()},{file:"required"}),Vo=Me("free-text",{...$t,...Dc,intent:H.data(H0).writes(O0).readBack().optional(),fontFamily:H.data(Vp).optional(),fontSize:H.data(w.number().positive()).optional(),textAlign:H.data(dF).optional(),verticalAlign:H.data(Q0).optional(),richText:H.data(pF).writes(lF).optional().space("length"),color:H.data(Lt).optional(),fontColor:H.data(Lt).optional(),interiorColor:H.data(Lt).nullable().optional(),opacity:H.data(w.number().min(0).max(1)).optional(),strokeWidth:H.data(w.number().nonnegative()).optional(),borderStyle:H.data(Mg).writes(Lg).readBack().optional(),dashArray:H.data(w.array(w.number().nonnegative())).writes(Mp).nullable().optional(),cloudyIntensity:H.data(w.number().positive()).nullable().optional(),calloutLine:H.data(J0).nullable().optional().space("calloutLine"),lineEnding:H.data(Qp).nullable().optional()}),Yo=Me("highlight",Bc),Xo=Me("ink",{...$t,...mF,strokeWidth:H.data(w.number().nonnegative()).writes(w.number().positive()).readBack().optional(),...ha,inkList:H.data($0).writes(w.array(w.array(Ke).min(1)).min(1)).readBack().space("strokes"),intent:H.data(M0).nullable().optional(),...Xp}),Wo=Me("line",{...$t,...Yp,...ha,linePoints:H.data(Z0).space("linePoints"),lineEndings:H.data(Ng).optional(),...Xp,intent:H.data(r9).nullable().optional(),measure:Wp,captionEnabled:H.data(w.boolean()).optional(),captionPosition:H.data(be(w.enum(["inline","top"]))).optional(),captionOffset:H.data(w.object({along:w.number(),perpendicular:w.number()})).nullable().optional(),leader:H.data(cF).writes(s9).nullable().optional()}),Uo=Me("link",{...Lo,target:H.data(K0).writes(V0).nullable().readBack().space("linkTarget")}),qo=Me("polygon",{...bF,vertices:H.data(w.array(Ke)).writes(w.array(Ke).min(3)).readBack().space("points"),...fF,intent:H.data(i9).nullable().optional(),measure:Wp,cloudyIntensity:H.data(w.number().positive()).nullable().optional()}),zo=Me("polyline",{...bF,vertices:H.data(w.array(Ke)).writes(w.array(Ke).min(2)).readBack().space("points"),...fF,intent:H.data(a9).nullable().optional(),measure:Wp,lineEndings:H.data(Ng).optional()}),Zo=Me("popup",{...Lo,parent:H.data(ga).nullableOnRead().readBack(),open:H.data(w.boolean()).optional()}),Jo=Me("redact",{...$t,...Pa,rect:H.data(Mo).optional().space("box"),quadPoints:H.data(w.array($g)).optional().space("quads"),interiorColor:H.data(Lt).nullable().optional(),overlayText:H.data(w.string()).nullable().optional(),repeat:H.data(w.boolean()).optional(),fontFamily:H.data(Vp).optional(),fontSize:H.data(w.number().nonnegative()).optional(),fontColor:H.data(Lt).optional(),textAlign:H.data(jg).optional()}),$o=Me("square",wF),es=Me("squiggly",Bc),h9=be(w.enum(["contain","cover","fill"])),ts=Me("stamp",{...$t,...Dc,name:H.data(w.string()).nullable().optional(),fit:H.data(h9).nullable().optional(),opacity:H.data(w.number().min(0).max(1)).optional()},{appearance:"required"}),ns=Me("strikeout",{...Bc,intent:H.data(T0).nullable().optional()}),k9=be(w.enum(["comment","key","note","help","new-paragraph","paragraph","insert"])),rs=Me("text",{...$t,...Pa,icon:H.data(k9).optional(),open:H.data(w.boolean()).optional(),state:H.data(w.string().min(1)).nullable().optional(),stateModel:H.data(w.string().min(1)).nullable().optional()}),is=Me("underline",Bc),zp=Me("unsupported",{...Lo,rawSubtypeCode:H.engine(w.number().int()),rawSubtypeName:H.engine(w.string()).nullable()}),Zp=be(w.discriminatedUnion("kind",[w.object({kind:w.literal("objectNumber"),objectNumber:w.number().int().positive()}),w.object({kind:w.literal("fqn"),name:w.string().min(1)})])),ka=Me("widget",{...Lo,...u9,color:H.data(Lt).nullable().optional(),interiorColor:H.data(Lt).nullable().optional(),strokeWidth:H.data(w.number().nonnegative()).optional(),borderStyle:H.data(S0).optional(),dashArray:H.data(w.array(w.number().nonnegative())).writes(Mp).nullable().optional(),fontFamily:H.data(Vp).nullable().optional(),fontSize:H.data(w.number().nonnegative()).nullable().optional(),fontColor:H.data(Lt).nullable().optional(),textAlign:H.data(jg).optional(),caption:H.data(w.string()).nullable().optional(),checkStyle:H.data(x0).nullable().optional(),actions:H.data(Zg).writes(U0).readBack().nullable().optional().space("actions"),field:H.engine(Zp).nullable(),fieldKind:H.engine(I0(w.enum(["text","checkbox","radio","combobox","listbox","pushbutton","signature","unknown"]),"unknown").describe("Its field\'s family. A newer server can add families: read one your client doesn\'t know as `unknown`.")),hasMark:H.engine(w.boolean())}),gF=[Yo,is,es,ns,jo,$o,qo,zo,Wo,Uo,Xo,Vo,No,rs,ts,Ko,ka,Jo,Zo,zp];function as(e){return gF.find(t=>t.subtype===e)??null}var D9=Ko.readSchema,B9=Ko.createSchema,E9=Ko.updateSchema,Jp={subtype:"file-attachment",pdfSubtypeCode:L.FILEATTACHMENT,dtoSchema:D9,draftSchema:B9,patchSchema:E9,readBackWrites:Ko.readBackWrites},_9=Vo.readSchema,y9=Vo.createSchema,G9=Vo.updateSchema,$p={subtype:"free-text",pdfSubtypeCode:L.FREETEXT,dtoSchema:_9,draftSchema:y9,patchSchema:G9,readBackWrites:Vo.readBackWrites},C9=Yo.readSchema,I9=Yo.createSchema,S9=Yo.updateSchema,el={subtype:"highlight",pdfSubtypeCode:L.HIGHLIGHT,dtoSchema:C9,draftSchema:I9,patchSchema:S9,readBackWrites:Yo.readBackWrites},x9=Xo.readSchema,H9=Xo.createSchema,O9=Xo.updateSchema,tl={subtype:"ink",pdfSubtypeCode:L.INK,dtoSchema:x9,draftSchema:H9,patchSchema:O9,readBackWrites:Xo.readBackWrites},Q9=Wo.readSchema,R9=Wo.createSchema,T9=Wo.updateSchema,nl={subtype:"line",pdfSubtypeCode:L.LINE,dtoSchema:Q9,draftSchema:R9,patchSchema:T9,readBackWrites:Wo.readBackWrites},M9=Uo.readSchema,L9=Uo.createSchema,N9=Uo.updateSchema,rl={subtype:"link",pdfSubtypeCode:L.LINK,dtoSchema:M9,draftSchema:L9,patchSchema:N9,readBackWrites:Uo.readBackWrites},j9=qo.readSchema,K9=qo.createSchema,V9=qo.updateSchema,il={subtype:"polygon",pdfSubtypeCode:L.POLYGON,dtoSchema:j9,draftSchema:K9,patchSchema:V9,readBackWrites:qo.readBackWrites},Y9=zo.readSchema,X9=zo.createSchema,W9=zo.updateSchema,al={subtype:"polyline",pdfSubtypeCode:L.POLYLINE,dtoSchema:Y9,draftSchema:X9,patchSchema:W9,readBackWrites:zo.readBackWrites},U9=Zo.readSchema,q9=Zo.createSchema,z9=Zo.updateSchema,ol={subtype:"popup",pdfSubtypeCode:L.POPUP,dtoSchema:U9,draftSchema:q9,patchSchema:z9,readBackWrites:Zo.readBackWrites},Z9=Jo.readSchema,J9=Jo.createSchema,$9=Jo.updateSchema,sl={subtype:"redact",pdfSubtypeCode:L.REDACT,dtoSchema:Z9,draftSchema:J9,patchSchema:$9,readBackWrites:Jo.readBackWrites},e7=$o.readSchema,t7=$o.createSchema,n7=$o.updateSchema,Al={subtype:"square",pdfSubtypeCode:L.SQUARE,dtoSchema:e7,draftSchema:t7,patchSchema:n7,readBackWrites:$o.readBackWrites},r7=es.readSchema,i7=es.createSchema,a7=es.updateSchema,cl={subtype:"squiggly",pdfSubtypeCode:L.SQUIGGLY,dtoSchema:r7,draftSchema:i7,patchSchema:a7,readBackWrites:es.readBackWrites},o7=ts.readSchema,s7=ts.createSchema,A7=ts.updateSchema,dl={subtype:"stamp",pdfSubtypeCode:L.STAMP,dtoSchema:o7,draftSchema:s7,patchSchema:A7,readBackWrites:ts.readBackWrites},c7=ns.readSchema,d7=ns.createSchema,u7=ns.updateSchema,ul={subtype:"strikeout",pdfSubtypeCode:L.STRIKEOUT,dtoSchema:c7,draftSchema:d7,patchSchema:u7,readBackWrites:ns.readBackWrites},p7=rs.readSchema,l7=rs.createSchema,m7=rs.updateSchema,pl={subtype:"text",pdfSubtypeCode:L.TEXT,dtoSchema:p7,draftSchema:l7,patchSchema:m7,readBackWrites:rs.readBackWrites},w7=is.readSchema,b7=is.createSchema,f7=is.updateSchema,ll={subtype:"underline",pdfSubtypeCode:L.UNDERLINE,dtoSchema:w7,draftSchema:b7,patchSchema:f7,readBackWrites:is.readBackWrites},g7=zp.readSchema,F7=w.never(),v7=w.never(),FF={subtype:"unsupported",pdfSubtypeCode:L.UNKNOWN,dtoSchema:g7,draftSchema:F7,patchSchema:v7,readBackWrites:zp.readBackWrites},vF=ka.readSchema,P7=ka.createSchema,h7=ka.updateSchema,ml={subtype:"widget",pdfSubtypeCode:L.WIDGET,dtoSchema:vF,draftSchema:P7,patchSchema:h7,readBackWrites:ka.readBackWrites},PF=Object.fromEntries(xo.map(e=>[e,ka.shapes.update[e]])),joe=w.object(PF).strict(),hF=[el,ll,cl,ul,qp,Al,il,al,nl,rl,tl,$p,Up,pl,dl,Jp,ml,sl,ol,FF],kF=Object.freeze(Object.fromEntries(hF.map(e=>[e.subtype,e]))),Koe=va(w.discriminatedUnion("subtype",[el.dtoSchema,ll.dtoSchema,cl.dtoSchema,ul.dtoSchema,qp.dtoSchema,Al.dtoSchema,il.dtoSchema,al.dtoSchema,nl.dtoSchema,rl.dtoSchema,tl.dtoSchema,$p.dtoSchema,Up.dtoSchema,pl.dtoSchema,dl.dtoSchema,Jp.dtoSchema,ml.dtoSchema,sl.dtoSchema,ol.dtoSchema,FF.dtoSchema]),"unsupported",e=>({...e,rawSubtypeCode:Number.isInteger(e.rawSubtypeCode)?e.rawSubtypeCode:L.UNKNOWN,rawSubtypeName:typeof e.rawSubtypeName=="string"?e.rawSubtypeName:null})).describe("An annotation, by its `subtype`. A newer server can add subtypes: read one your client doesn\'t know as `unsupported`, keeping the fields every annotation has, with `rawSubtypeCode` 0 and `rawSubtypeName` null when the body has neither."),DF=w.discriminatedUnion("subtype",[el.draftSchema,ll.draftSchema,cl.draftSchema,ul.draftSchema,qp.draftSchema,Al.draftSchema,il.draftSchema,al.draftSchema,nl.draftSchema,rl.draftSchema,tl.draftSchema,$p.draftSchema,Up.draftSchema,pl.draftSchema,dl.draftSchema,Jp.draftSchema,ml.draftSchema,sl.draftSchema,ol.draftSchema]),Voe=w.union(hF.filter(e=>e.subtype!=="unsupported").map(e=>e.patchSchema));var BF=w.discriminatedUnion("subtype",gF.filter(e=>e.subtype!=="unsupported").map(e=>e.fileSchemas.create));function EF(e){return as(e).fileSchemas.update}var _F={ref:ga.nullable(),objectNumber:w.number().int().nonnegative(),page:fa.nullable()},k7=w.object(_F),D7=k7,Qg=w.object({..._F,onState:w.string(),exportValue:w.string(),checked:w.boolean()}),Rg=w.object({label:w.string(),value:w.string(),selected:w.boolean()}),Tg=va(w.discriminatedUnion("kind",[w.object({kind:w.literal("none")}),w.object({kind:w.literal("scalar"),value:w.string()}),w.object({kind:w.literal("array"),values:w.array(w.string())}),w.object({kind:w.literal("unsupported")})]),"unsupported").describe("A field\'s stored value, by its `kind`. A newer server can add kinds: read one your client doesn\'t know as `unsupported`."),fr={ref:Zp,name:w.string(),origin:be(w.enum(["acroform","recovered"])),readOnly:w.boolean(),required:w.boolean(),noExport:w.boolean(),alternateName:w.string().nullable(),mappingName:w.string().nullable(),valueEntry:Tg,defaultValueEntry:Tg,actions:q0.optional(),groupId:w.string().nullable(),createdBy:w.string().nullable(),createdAt:Xn.nullable(),filledBy:w.string().nullable(),filledByName:w.string().nullable(),filledAt:Xn.nullable(),importedBy:w.string().nullable(),widgets:w.array(D7)},B7=va(w.discriminatedUnion("kind",[w.object({...fr,kind:w.literal("text"),value:w.string(),defaultValue:w.string(),maxLength:w.number().int().positive().nullable(),multiline:w.boolean(),password:w.boolean(),comb:w.boolean()}),w.object({...fr,kind:w.literal("checkbox"),checked:w.boolean(),exportValue:w.string(),widgets:w.array(Qg)}),w.object({...fr,kind:w.literal("radio"),value:w.string(),radiosInUnison:w.boolean(),noToggleToOff:w.boolean(),widgets:w.array(Qg)}),w.object({...fr,kind:w.literal("combobox"),value:w.string(),defaultValue:w.string(),edit:w.boolean(),options:w.array(Rg)}),w.object({...fr,kind:w.literal("listbox"),selectedValues:w.array(w.string()),defaultValue:w.array(w.string()),multiSelect:w.boolean(),options:w.array(Rg),topIndex:w.number().int().nonnegative()}),w.object({...fr,kind:w.literal("pushbutton")}),w.object({...fr,kind:w.literal("signature")}),w.object({...fr,kind:w.literal("unknown"),rawValue:w.string()})]),"unknown",e=>({...e,rawValue:typeof e.rawValue=="string"?e.rawValue:""})).describe("A form field, by its `family`. A newer server can add families: read one your client doesn\'t know as `unknown`, keeping the fields every field has, with `rawValue` an empty string when the body has none."),E7=be(w.enum(["none","acroform","xfa"])),Yoe=w.object({formKind:E7,needsAppearances:w.boolean(),fields:w.array(B7),widgets:w.array(vF),calculationOrder:w.array(Zp.nullable())}),Xoe=w.object({value:w.string().nullable().optional(),checked:w.boolean().optional(),selectedValues:w.array(w.string()).optional()}).strict().refine(e=>[e.value,e.checked,e.selectedValues].filter(t=>t!==void 0).length===1,{message:"exactly one of value, checked or selectedValues"}),_7=w.object({page:fa,rect:To.optional(),box:To.optional(),rotation:eF.optional(),exportValue:w.string().min(1).optional(),actions:zg.optional(),...PF}).strict(),Rp=w.object({label:w.string(),value:w.string()}),mi={name:w.string().min(1),readOnly:w.boolean().optional(),required:w.boolean().optional(),noExport:w.boolean().optional(),alternateName:w.string().optional(),mappingName:w.string().optional(),groupId:w.string().min(1).max(256).optional(),actions:Jg.optional(),widgets:w.array(_7).optional()},yF=w.discriminatedUnion("kind",[w.object({...mi,kind:w.literal("text"),defaultValue:w.string().optional(),maxLength:w.number().int().positive().optional(),multiline:w.boolean().optional(),password:w.boolean().optional(),comb:w.boolean().optional()}).strict(),w.object({...mi,kind:w.literal("checkbox")}).strict(),w.object({...mi,kind:w.literal("radio"),radiosInUnison:w.boolean().optional(),noToggleToOff:w.boolean().optional()}).strict(),w.object({...mi,kind:w.literal("combobox"),edit:w.boolean().optional(),options:w.array(Rp).optional(),defaultValue:w.string().optional()}).strict(),w.object({...mi,kind:w.literal("listbox"),multiSelect:w.boolean().optional(),options:w.array(Rp).optional(),defaultValue:w.array(w.string()).optional()}).strict(),w.object({...mi,kind:w.literal("pushbutton")}).strict(),w.object({...mi,kind:w.literal("signature")}).strict()]),y7={name:w.string().min(1).optional(),readOnly:w.boolean().optional(),required:w.boolean().optional(),noExport:w.boolean().optional(),alternateName:w.string().nullable().optional(),mappingName:w.string().nullable().optional(),groupId:w.string().min(1).max(256).optional(),actions:Jg.optional()},Woe=w.object({...y7,kind:w.enum(["text","checkbox","radio","combobox","listbox","pushbutton","signature"]).optional(),defaultValue:w.union([w.string(),w.array(w.string())]).nullable().optional(),maxLength:w.number().int().positive().nullable().optional(),multiline:w.boolean().optional(),password:w.boolean().optional(),comb:w.boolean().optional(),radiosInUnison:w.boolean().optional(),noToggleToOff:w.boolean().optional(),edit:w.boolean().optional(),multiSelect:w.boolean().optional(),options:w.array(Rp).optional()}).strict();function G7(e,t={}){let r=as(String(e.subtype)),n=t.linked??[],i=(r&&n.length>0?r.fileSchemas.create.omit(Object.fromEntries(n.map(a=>[a,!0]))):BF).safeParse(e);if(!i.success)throw IF(i.error,`${String(e.subtype)} create`)}function C7(e,t){let r=t.subtype??e.subtype;if(r==="unsupported")return;let n=t;for(let[a,o]of Object.entries(kF[r].readBackWrites)){let s=n[a];if(!(s===void 0||o?.safeParse(s).success))throw new g(f.InvalidArg,o?`${r} update field \'${a}\': this value can be read but not written; send it back unchanged or replace it`:`${r} update field \'${a}\': the engine works this out; send it back unchanged or leave it out`,{details:{field:a}})}let i=EF(r).safeParse(t);if(!i.success)throw IF(i.error,`${r} update`)}function GF(e,t={}){let r=Kb(e);return G7(r,{linked:t.linked??[]}),Vb(r,t)}function CF(e,t,r={}){let n=Nb(e,t);return C7(e,n),jb(e,n,r)}function IF(e,t){let r=e.issues[0],n=r.path.join(".");return new g(f.InvalidArg,`${t}${n?` field \'${n}\'`:""}: ${r.message}`,{details:n?{field:n}:{}})}function SF(e){let{bundle:t,target:r,nameTaken:n}=e,i=t.items.map(I=>I.data),a=uA({bundlePages:t.pages,pages:e.pages??"same",target:r,named:i.flatMap(I7)}),o=new Map,s=new Map,A=new Map;i.forEach((I,S)=>{if(I.subtype==="unsupported"){o.set(S,"unsupported-kind");return}if(I.subtype==="widget"){o.set(S,"widget");return}if(I.subtype==="popup"&&I.parent===null){o.set(S,"parent-missing");return}let G=xF(I);if(G==="item"){o.set(S,"unsupported-value");return}let Q=[...NA(I),...G];Q.length>0&&s.set(S,Q),A.set(S,HF(I,Q,a,{label:`import: item ${S}`,details:{item:S}}))});let d=new Map;i.forEach((I,S)=>{let G=j(I.ref);d.has(G)||d.set(G,S)});let p=I=>le(a(i[I].ref.page)),m=(I,S)=>{let G=d.get(j(I));return G!==void 0&&p(G)===p(S)?G:void 0},F=I=>[I.reply?.to,I.subtype==="popup"?I.parent:null].filter(S=>S!=null);i.forEach((I,S)=>{o.has(S)||F(I).some(G=>m(G,S)===void 0)&&o.set(S,"parent-missing")});let h=new Map;i.forEach((I,S)=>{if(o.has(S)||I.subtype!=="popup"||!I.parent)return;let G=m(I.parent,S);h.has(G)?o.set(S,"popup-taken"):h.set(G,S)});let P=new Set;i.forEach((I,S)=>{if(o.has(S)||!I.nm)return;let G=a(I.ref.page),Q=`${le(G)}\\0${I.nm}`;P.has(Q)||n(G,I.nm)?o.set(S,"name-conflict"):P.add(Q)});for(let I=!0;I;)I=!1,i.forEach((S,G)=>{o.has(G)||F(S).some(Q=>o.has(m(Q,G)))&&(o.set(G,"parent-dropped"),I=!0)});let B=new Map;i.forEach((I,S)=>{o.has(S)||B.set(S,B.size)});let y=[...B.keys()].map(I=>{let S=i[I],G=S.reply?B.get(m(S.reply.to,I)):void 0,Q=S.subtype==="popup"&&S.parent?B.get(m(S.parent,I)):void 0;return{item:I,page:a(S.ref.page),draft:A.get(I),...G!==void 0?{replyTo:{planned:G,type:S.reply.type}}:{},...Q!==void 0?{parent:Q}:{}}}),x=[];return i.forEach((I,S)=>{let G=o.get(S);if(G)x.push({ref:I.ref,reason:G});else for(let Q of s.get(S)??[])x.push({ref:I.ref,...Q})}),{creates:y,dropped:x}}function I7(e){let{ref:t,reply:r,popup:n,...i}=e,a={...i};return e.subtype==="popup"&&delete a.parent,[t.page,...zi(a)]}function xF(e){let t=[],r=as(e.subtype);for(let[n,i]of Object.entries(r?.fields??{})){let{owner:a,readBack:o,required:s}=i.traits;if(a!=="data"||!o||n==="target")continue;let A=e[n];if(!(A==null||i.write.safeParse(A).success)){if(s)return"item";t.push({field:n,reason:"unsupported-value"})}}return t}function HF(e,t,r,n){let i={...e};delete i.reply;let a=as(e.subtype)?.fields??{};for(let{field:s}of t)a[s]?.traits.writeNullable?i[s]=null:delete i[s];let o=DF.safeParse(i);if(e.subtype==="popup"&&delete i.parent,!o.success){let s=o.error.issues[0],A=s.path.join(".");throw new g(f.InvalidArg,`${n.label}${A?` field \'${A}\'`:""}: ${s.message}`,{details:{...n.details,...A?{field:A}:{}}})}return fo(i,r)}function OF(e,t){let r=new Map;e.forEach((d,p)=>{if(d.subtype==="unsupported"||d.subtype==="widget")return;let m=xF(d);r.set(p,m==="item"?"item":[...NA(d),...m])});let n=d=>{let p=r.get(d);return p===void 0||p==="item"?[]:p},i=qu(e,t,d=>r.get(d)==="item"),a=i.copies.map(({data:d,...p})=>({...p,draft:HF(d,n(p.source),m=>m,{label:`copy: annotation ${p.source}`,details:{annotation:p.source}})})),o=new Set(a.map(d=>d.source)),s=i.dropped[Symbol.iterator](),A=[];return e.forEach((d,p)=>{if(!o.has(p))A.push(s.next().value);else for(let m of n(p))A.push({ref:d.ref,...m})}),{creates:a,dropped:A}}function QF(e){let{bundle:t,mayScript:r}=e,n=uA({bundlePages:t.pages,pages:e.pages??"same",target:e.target,named:t.widgets.flatMap(d=>zi(d.data))}),i=new Map(t.widgets.map((d,p)=>[j(d.data.ref),p])),a=new Set,o=[],s=new Set,A=[];return t.fields.forEach(({data:d},p)=>{let m=d.widgets.flatMap(P=>{let B=P.ref?i.get(j(P.ref)):void 0;return B===void 0?[]:[B]});for(let P of m)a.add(P);if(d.kind==="unknown"){o.push({ref:d.ref,reason:"unsupported-kind"});return}if(s.has(d.name)||e.nameTaken(d.name)){o.push({ref:d.ref,reason:"name-conflict"});return}s.add(d.name);let F=S7(d,ep(d,r,o),m.map(P=>XA(d,t.widgets[P].data,n,r,o)),p),h=e.values&&YA(d)?Yr(d):null;A.push({field:p,draft:F,widgets:m,flags:m.map(P=>WA(t.widgets[P].data)),...h?{value:h}:{}})}),t.widgets.forEach((d,p)=>{a.has(p)||o.push({ref:d.data.field,widget:d.data.ref,reason:"no-field"})}),{creates:A,calculationOrder:t.calculationOrder.flatMap(d=>{let p=A.findIndex(m=>Rn(t.fields[m.field].data.ref)===Rn(d)&&m.draft.actions?.calculate);return p<0?[]:[p]}),dropped:o}}function RF(e){let t=[],r=[];return e.bundle.fields.forEach(({data:n},i)=>{let a=YA(n)?Yr(n):null;if(!a)return;let o=e.target.find(s=>cr(s,{kind:"fqn",name:n.name}));if(!o)r.push({ref:n.ref,reason:"no-field"});else if(o.kind!==n.kind)r.push({ref:n.ref,reason:"wrong-kind"});else{let s=e.refusal?.(o,a);s?r.push({ref:n.ref,reason:s}):t.push({field:i,target:o,value:a})}}),{writes:t,dropped:r}}function TF(e,t,r){let n=yF.safeParse(e);if(!n.success){let i=n.error.issues[0],a=i.path.join(".");throw new g(f.InvalidArg,`${t}${a?` member \'${a}\'`:""}: ${i.message}`,{details:{...r,...a?{field:a}:{}}})}return e}function S7(e,t,r,n){let i=`import: field ${n}`;return TF(tp(e,e.name,t,r,i),i,{item:n})}function MF(e){let t=np(e);for(let r of t.creates)TF(r.draft,`copy: field ${r.source}`,{item:r.source});return t}var Nt=[32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,8226,8364,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,381,8216,8217,8220,8221,8211,8212,732,8482,353,8250,339,382,376,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],W7={courier:{ascent:803,descent:-248,programHash:"955500bf0048e07e3046477b3874ef9e7653010a2bc780bbf27f837d7ca34d19",codePoints:Nt,advances:[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]},"courier-bold":{ascent:811,descent:-248,programHash:"386d8684b075c7ff4911235ae9691d5e9e924fff13fa1f17841c6d4d4f3762e6",codePoints:Nt,advances:[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]},"courier-bold-oblique":{ascent:811,descent:-248,programHash:"d1dae62980ea92bfa86f9e3961a3064e164e41a5064211f2a3a8833643a322a5",codePoints:Nt,advances:[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]},"courier-oblique":{ascent:803,descent:-248,programHash:"d790f273acf84a1afada2cf96a6eb646728a1a6e7afe961a2cc846bb3a501b0b",codePoints:Nt,advances:[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]},helvetica:{ascent:945,descent:-224,programHash:"93fe419ed14bac240018cf4506dbb64643eeeee379c0b51d3c52d239f4adbc58",codePoints:Nt,advances:[278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,350,667,222,556,333,1e3,556,556,333,1e3,667,333,1e3,611,222,222,333,333,556,1e3,333,1e3,500,366,944,500,667,333,556,556,556,556,260,556,333,737,370,612,584,737,333,400,584,333,333,333,556,537,278,333,333,365,612,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,584,611,556,556,556,556,500,556,500]},"helvetica-bold":{ascent:962,descent:-227,programHash:"f11bf41cf5d115966ee4d954d9d3eab4a7d1b63d371e5d655fc82d15350bc929",codePoints:Nt,advances:[278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,1072,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,350,722,278,556,500,1e3,556,556,333,1e3,667,333,1e3,611,278,278,500,500,556,1e3,333,1e3,556,333,944,500,667,333,556,556,556,556,280,556,333,737,370,556,584,737,333,400,584,333,333,333,611,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,584,611,611,611,611,611,556,611,556]},"helvetica-bold-oblique":{ascent:962,descent:-227,programHash:"9cd559e9d134dd6bb8bb75186d4302079e78ebee53a7c9b38dea1fba52a534d8",codePoints:Nt,advances:[278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,528,556,556,556,556,333,333,584,584,584,611,1072,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,350,722,278,556,500,1e3,556,556,333,1e3,667,333,1e3,611,278,278,500,500,556,1e3,333,1e3,556,333,944,500,667,333,556,556,556,556,280,556,333,737,370,556,584,737,333,400,584,333,333,333,611,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,584,519,611,611,611,611,556,611,556]},"helvetica-oblique":{ascent:951,descent:-224,programHash:"872e4efa9cc73daff4a3fffa952663f32144db19ec91a8407afc359486eae30b",codePoints:Nt,advances:[278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1116,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,350,667,222,556,333,1e3,556,556,333,1e3,667,350,1e3,611,222,222,333,333,556,1e3,333,1e3,500,333,944,500,667,333,556,556,556,556,260,556,333,737,370,556,584,737,333,400,584,333,333,333,556,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,584,611,556,556,556,556,500,556,500]},"times-roman":{ascent:878,descent:-249,programHash:"7be927a55309ca34d67972ccf041ff3d156d774017022b18131fa365e6dd922e",codePoints:Nt,advances:[250,333,408,500,500,833,778,180,333,333,500,564,250,333,250,278,500,500,500,500,500,500,500,500,500,500,278,278,564,564,564,444,921,722,667,667,722,611,556,722,722,333,389,722,611,889,722,722,556,722,667,556,611,722,722,944,722,722,611,333,278,333,469,500,333,444,500,444,500,444,333,500,500,278,278,500,278,778,500,500,500,500,333,389,278,500,500,722,500,500,444,480,200,480,541,350,722,333,500,444,1e3,500,500,333,1e3,556,333,889,611,333,333,444,444,500,1e3,333,980,389,333,722,444,722,333,500,500,500,500,200,500,333,760,276,500,564,760,333,400,564,300,300,333,500,453,250,333,300,310,500,750,750,750,444,722,722,722,722,722,722,889,667,611,611,611,611,333,333,333,333,722,722,722,722,722,722,722,564,722,722,722,722,722,722,556,500,444,444,444,444,444,444,667,444,444,444,444,444,278,278,278,278,500,500,500,500,500,500,500,564,500,500,500,500,500,500,500,500]},"times-bold":{ascent:889,descent:-249,programHash:"f23f2efbfa079f9083d967acf695b10db7c78e39862dbeb4788a4fd0533ff29c",codePoints:Nt,advances:[250,333,555,500,500,1e3,833,278,333,333,500,570,250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,570,570,570,500,930,722,667,722,722,667,611,778,778,389,500,778,667,944,722,778,611,778,722,556,667,722,722,1e3,722,722,667,333,278,333,581,500,333,500,556,444,556,444,333,500,556,278,333,556,278,833,556,500,556,556,444,389,333,556,500,722,500,500,444,394,220,394,520,350,722,333,500,500,1e3,500,500,333,1e3,556,333,1e3,667,333,333,500,500,500,1e3,333,1e3,389,333,722,444,722,333,500,500,500,500,220,500,333,747,300,500,570,747,333,400,570,300,300,333,556,540,250,333,300,330,500,750,750,750,500,722,722,722,722,722,722,1e3,722,667,667,667,667,389,389,389,389,722,722,778,778,778,778,778,570,778,722,722,722,722,722,611,556,500,500,500,500,500,500,722,444,444,444,444,444,278,278,278,278,500,556,500,500,500,500,500,570,500,556,556,556,556,500,556,500]},"times-bold-italic":{ascent:869,descent:-249,programHash:"cf51fab68d7d965f5755218a7f99b0376bc440e1bb4e90498aef0964aac94490",codePoints:Nt,advances:[250,389,555,500,500,833,778,278,333,333,500,570,250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,570,570,570,500,832,667,667,667,722,667,667,722,778,389,500,667,611,889,722,722,611,722,667,556,611,722,667,889,667,611,611,333,278,333,570,500,333,500,500,444,500,444,333,500,556,278,278,500,278,778,556,500,500,500,389,389,278,556,444,667,500,444,389,348,220,348,570,350,667,333,500,500,1e3,500,500,333,1e3,556,333,944,611,333,333,500,500,500,1e3,333,1e3,389,333,722,389,611,389,500,500,500,500,220,500,333,747,266,500,606,747,333,400,570,300,300,333,576,500,250,333,300,300,500,750,750,750,500,667,667,667,667,667,667,944,667,667,667,667,667,389,389,389,389,722,722,722,722,722,722,722,570,722,722,722,722,722,611,611,500,500,500,500,500,500,500,722,444,444,444,444,444,278,278,278,278,500,556,500,500,500,500,500,570,500,556,556,556,556,444,500,444]},"times-italic":{ascent:868,descent:-249,programHash:"f405670768d71ff8d8a4e493cbcb9c6deff9565419bf63a38abb544789aa87b4",codePoints:Nt,advances:[250,333,420,500,500,833,778,214,333,333,500,675,250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,675,675,675,500,920,611,611,667,722,611,611,722,722,333,444,667,556,833,667,722,611,722,611,500,556,722,611,833,611,556,556,389,278,389,422,500,333,500,500,444,500,444,278,500,500,278,278,444,278,722,500,500,500,500,389,389,278,500,444,667,444,444,389,400,275,400,541,350,500,333,500,556,889,500,500,333,1e3,500,333,944,556,333,333,556,556,500,889,333,980,389,333,667,389,556,389,500,500,500,500,275,500,333,760,276,500,675,760,333,400,675,300,300,333,500,523,250,333,300,310,500,750,750,750,500,611,611,611,611,611,611,889,667,611,611,611,611,333,333,333,333,722,667,722,722,722,722,722,675,722,722,722,722,722,556,611,500,500,500,500,500,500,500,667,444,444,444,444,444,278,278,278,278,500,500,500,500,500,500,500,675,500,500,500,500,500,444,500,444]},symbol:{ascent:1010,descent:-293,programHash:"1f027bd5b336f563724a2cba62295329edbb3df7ca9efbe8f296d7a1e86849a1",codePoints:[32,33,8704,35,8707,37,38,8715,40,41,8727,43,44,8722,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,8773,913,914,935,916,917,934,915,919,921,977,922,923,924,925,927,928,920,929,931,932,933,962,937,926,936,918,91,8756,93,8869,95,63717,945,946,967,948,949,966,947,951,953,981,954,955,956,957,959,960,952,961,963,964,965,982,969,958,968,950,123,124,125,8764,8364,978,8242,8804,8260,8734,402,9827,9830,9829,9824,8596,8592,8593,8594,8595,176,177,8243,8805,215,8733,8706,8226,247,8800,8801,8776,8230,63718,63719,8629,8501,8465,8476,8472,8855,8853,8709,8745,8746,8835,8839,8836,8834,8838,8712,8713,8736,8711,63194,63193,63195,8719,8730,8901,172,8743,8744,8660,8656,8657,8658,8659,9674,9001,63720,63721,63722,8721,63723,63724,63725,63726,63727,63728,63729,63730,63731,63732,9002,8747,8992,63733,8993,63734,63735,63736,63737,63738,63739,63740,63741,63742],advances:[250,333,713,500,549,833,778,439,333,333,500,549,250,549,250,278,500,500,500,500,500,500,500,500,500,500,278,278,549,549,549,444,549,722,667,722,612,611,763,603,722,333,631,722,686,889,722,722,768,741,556,592,611,690,439,768,645,795,611,333,863,333,658,500,500,631,549,549,494,439,521,411,603,329,603,549,549,576,521,549,549,521,549,603,439,576,713,686,493,686,494,480,200,480,549,750,620,247,549,167,713,500,753,753,753,753,1042,987,603,987,603,400,549,411,549,549,713,494,460,549,549,549,549,1e3,603,1e3,658,823,686,795,987,768,768,823,768,768,713,713,713,713,713,713,713,768,713,790,790,890,823,549,250,713,603,603,1042,987,603,987,603,494,329,790,790,786,713,384,384,384,384,384,384,494,494,494,494,329,274,686,686,686,384,384,384,384,384,384,494,494,494]},"zapf-dingbats":{ascent:826,descent:-163,programHash:"0439c04b1c3ba23c2fd8c2f4a5f2c65b2b0f817588c45afd5c06a41eab70bfbd",codePoints:[32,9985,9986,9987,9988,9742,9990,9991,9992,9993,9755,9758,9996,9997,9998,9999,1e4,10001,10002,10003,10004,10005,10006,10007,10008,10009,10010,10011,10012,10013,10014,10015,10016,10017,10018,10019,10020,10021,10022,10023,9733,10025,10026,10027,10028,10029,10030,10031,10032,10033,10034,10035,10036,10037,10038,10039,10040,10041,10042,10043,10044,10045,10046,10047,10048,10049,10050,10051,10052,10053,10054,10055,10056,10057,10058,10059,9679,10061,9632,10063,10064,10065,10066,9650,9660,9670,10070,9687,10072,10073,10074,10075,10076,10077,10078,10081,10082,10083,10084,10085,10086,10087,9827,9830,9829,9824,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,10102,10103,10104,10105,10106,10107,10108,10109,10110,10111,10112,10113,10114,10115,10116,10117,10118,10119,10120,10121,10122,10123,10124,10125,10126,10127,10128,10129,10130,10131,10132,8594,8596,8597,10136,10137,10138,10139,10140,10141,10142,10143,10144,10145,10146,10147,10148,10149,10150,10151,10152,10153,10154,10155,10156,10157,10158,10159,10161,10162,10163,10164,10165,10166,10167,10168,10169,10170,10171,10172,10173,10174],advances:[278,974,961,974,980,719,789,790,791,690,960,939,549,855,911,933,911,945,974,755,846,762,761,571,677,763,760,759,754,494,552,537,577,692,786,788,788,790,793,794,816,823,789,841,823,833,816,831,923,744,723,749,790,792,695,776,768,792,759,707,708,682,701,826,815,789,789,707,687,696,689,786,787,713,791,785,791,873,761,762,762,759,759,892,892,788,784,438,138,277,415,392,392,668,668,732,544,544,910,667,760,760,776,595,694,626,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,894,838,1016,458,748,924,748,918,927,928,928,834,873,828,924,924,917,930,931,463,883,836,836,867,867,696,696,874,874,760,946,771,865,771,888,967,888,831,873,927,970,918]}};var U7="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",os=new Uint8Array(128);for(let e=0;e<64;e+=1)os[U7.charCodeAt(e)]=e;function wv(e){let t=e.endsWith("==")?2:e.endsWith("=")?1:0,r=new Uint8Array(e.length/4*3-t),n=0;for(let i=0;i>16),n>8&255),nPromise.resolve().then(()=>(NF(),LF)),"courier-bold":()=>Promise.resolve().then(()=>(KF(),jF)),"courier-bold-oblique":()=>Promise.resolve().then(()=>(YF(),VF)),"courier-oblique":()=>Promise.resolve().then(()=>(WF(),XF)),helvetica:()=>Promise.resolve().then(()=>(qF(),UF)),"helvetica-bold":()=>Promise.resolve().then(()=>(ZF(),zF)),"helvetica-bold-oblique":()=>Promise.resolve().then(()=>($F(),JF)),"helvetica-oblique":()=>Promise.resolve().then(()=>(tv(),ev)),"times-roman":()=>Promise.resolve().then(()=>(rv(),nv)),"times-bold":()=>Promise.resolve().then(()=>(av(),iv)),"times-bold-italic":()=>Promise.resolve().then(()=>(sv(),ov)),"times-italic":()=>Promise.resolve().then(()=>(cv(),Av)),symbol:()=>Promise.resolve().then(()=>(uv(),dv)),"zapf-dingbats":()=>Promise.resolve().then(()=>(lv(),pv))},z7=e=>`epdf-${e.slice(0,16)}`,mv=new Map;function Z7(e){let t=mv.get(e);if(t)return t;let r=W7[e].programHash,n=null,i={hash:r,family:z7(r),weight:mn[e].weight,style:mn[e].italic?"italic":"normal",load:()=>{if(!n){let a=q7[e]().then(o=>wv(o.default));a.catch(()=>{n===a&&(n=null)}),n=a}return n}};return mv.set(e,i),i}var J7="e9d14973462069b4906f8d22a9aaec2d6ec9eb02ac31d697631783316d8b8768",$7="AAEAAAAKAIAAAwAgT1MvMlUTUmMAAACsAAAAYGNtYXAAIrhhAAABDAAAADRnbHlmBX0EwQAAAUAAAAA4aGVhZGHSQ6EAAAF4AAAANmhoZWEFogH3AAABsAAAACRobXR4BRQAPAAAAdQAAAAIbG9jYQAcAAAAAAHcAAAABm1heHAABQAKAAAB5AAAACBuYW1lLeJOdAAAAgQAAAI6cG9zdP+fADIAAARAAAAAIAAEArwBkAAFAQACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFUERGAMAAIP//AyD/OAAAAyAAyAAAAAAAAAAAAfQCvAAAACAAAQAAAAEAAwAKAAAADAANAAAAAAAoAAAAAAAAAAIAAAAgAADX/wAAAAEAAOAAABD//wAAAAEAAgA8AAACgAK8AAMABwAAAQEBAQEBAQEAPAAAAkQAAP/EAAD+NAAAAAACvAAA/UQAPAJEAAD9vAABAAAAAQAAu91Pc18PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAAA8AAACgAK8AAAACAACAAAAAAAAAAEAAAMg/zgAAAK8AAAAAAKAAAEAAAAAAAAAAAAAAAAAAAACAlgAAAK8ADwAAAAAABwAAAABAAAAAgAIAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACQByAAMAAQQJAAAANgAAAAMAAQQJAAEAKAA2AAMAAQQJAAIADgBeAAMAAQQJAAMANABsAAMAAQQJAAQAKACgAAMAAQQJAAUAGgDIAAMAAQQJAAYANADiAAMAAQQJAA0AXAEWAAMAAQQJAA4AVgFyAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADIANgAgAEMAbABvAHUAZABQAEQARgAgAEwAVABEAEUAbQBiAGUAZABQAEQARgAgAEwAYQBzAHQAIABSAGUAcwBvAHIAdABSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBMAGEAcwB0AFIAZQBzAG8AcgB0AC0AUgBlAGcAdQBsAGEAcgBFAG0AYgBlAGQAUABEAEYAIABMAGEAcwB0ACAAUgBlAHMAbwByAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYATABhAHMAdABSAGUAcwBvAHIAdAAtAFIAZQBnAHUAbABhAHIATABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMABoAHQAdABwAHMAOgAvAC8AdwB3AHcALgBhAHAAYQBjAGgAZQAuAG8AcgBnAC8AbABpAGMAZQBuAHMAZQBzAC8ATABJAEMARQBOAFMARQAtADIALgAwAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA==";function bv(){return wv($7)}var fv={standardDisplayHash:e=>Z7(e).hash,lastResortDisplayHash:J7};var Nc=new WeakSet;function ZP(e){Nc.has(e)||(e.fn.EPDF_InitThread(),Nc.add(e))}function e2(e){Nc.has(e)&&(e.fn.EPDF_ShutdownThread(),Nc.delete(e))}function O(e){if(e.aborted){let t=e.reason;throw t instanceof Error?t:new ji(t)}}function zn(e){let t=/^(?:D:)?(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(?:([Zz])(?:00\'?00\'?)?|([+-])(\\d{2})(?:\'?(\\d{2})\'?)?)?$/.exec(e.trim());if(!t)return null;let[,r,n="01",i="01",a="00",o="00",s="00"]=t,[,,,,,,,A,d,p,m="00"]=t;if(!JP({year:r,month:n,day:i,hour:a,minute:o,second:s}))return null;let F="";if(A)F="Z";else if(d){if(Number(p)>23||Number(m)>59)return null;F=Number(p)===0&&Number(m)===0?"Z":`${d}${p}:${m}`}return`${r}-${n}-${i}T${a}:${o}:${s}${F}`}function gt(e=new Date){if(e instanceof Date){if(Number.isNaN(e.getTime()))throw new RangeError("Cannot format an invalid Date");return gt(`${e.toISOString().slice(0,19)}Z`)}let t=/^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.\\d+)?)?(?:([Zz])|([+-])(\\d{2}):(\\d{2}))?$/.exec(e),r=t&&{year:t[1],month:t[2],day:t[3],hour:t[4],minute:t[5],second:t[6]??"00"};if(!t||!r||!JP(r))throw new g(f.InvalidArg,`not an ISO 8601 date and time: \'${e}\'`);let[,,,,,,,n,i,a,o]=t,s=n?"+00\'00\'":i?`${i}${a}\'${o}\'`:"",{year:A,month:d,day:p,hour:m,minute:F,second:h}=r;return`D:${A}${d}${p}${m}${F}${h}${s}`}function JP({year:e,month:t,day:r,hour:n,minute:i,second:a}){let o=Number(e),s=Number(t),A=Number(r);if(s<1||s>12||A<1)return!1;let d=new Date(Date.UTC(2e3,s,0)).getUTCDate(),p=o%4===0&&(o%100!==0||o%400===0);return A>(s===2&&!p?28:d)?!1:Number(n)<=23&&Number(i)<=59&&Number(a)<=59}function $P(e){return e>>>0}var Fv=4294967292,wl=$P;function t2(e){return($P(e)&Fv)>>>0===Fv}function fs(e){"@babel/helpers - typeof";return fs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fs(e)}function n2(e,t){if(fs(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(fs(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function r2(e){var t=n2(e,"string");return fs(t)=="symbol"?t:t+""}function V(e,t,r){return(t=r2(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var i2=class{constructor(){V(this,"byContent",null),V(this,"bySource",new Map),V(this,"hashes",new WeakMap)}forget(){this.byContent=null,this.bySource.clear()}};function Am(e,t,r){return e.FPDF_GetLastError()!==4?r:t?new g(f.DocPasswordIncorrect,"incorrect document password"):new g(f.DocPasswordRequired,"document requires a password")}function Y(e,t,r){let n=e.alloc(t);try{return r(n)}finally{e.free(n)}}function he(e,t,r){let n=t.map(i=>e.alloc(i));try{return r(n)}finally{for(let i=n.length-1;i>=0;i--)e.free(n[i])}}function an(e,t,r){return Y(e,Math.max(1,t.length)*4,n=>(t.forEach((i,a)=>e.poke(n,"i32",i,a*4)),r(n,t.length)))}function fe(e,t,r=""){let n=t(W,0);return n<=0?null:n===2?r:Y(e,n,i=>t(i,n)<=0?null:e.readU16String(i))}function Ye(e,t){let r=t(W,0);return r<=0?null:Y(e,r,n=>t(n,r)<=0?null:e.readU8String(n))}function Yt(e,t,r){let n=e.writeU16String(t);try{return r(n)}finally{e.free(n)}}function Zn(e,t,r){let n=e.writeU16String(t);try{return r(n)}finally{e.free(n)}}function eh(e,t,r){let n=new TextEncoder().encode(t),i=new Uint8Array(n.byteLength+1);i.set(n);let a=e.alloc(i.byteLength);try{return e.writeBytes(a,i),r(a)}finally{e.free(a)}}var rn=class{constructor(){V(this,"actions",[]),V(this,"closed",!1)}push(e){if(this.closed){e();return}this.actions.push(e)}close(){if(this.closed)return;this.closed=!0;let e=null;for(let t=this.actions.length-1;t>=0;t--)try{this.actions[t]?.()}catch(r){e??(e=r)}if(this.actions.length=0,e)throw e}};function th(e,t,r=null){let{mem:n,fn:i}=e,a=new rn,o=n.alloc(t.byteLength);a.push(()=>n.free(o));try{n.writeBytes(o,t);let s=i.FPDF_LoadMemDocument64(o,t.byteLength,r??"");if(!s)throw Am(i,r,new g(f.DocOpenFailed,"failed to open document"));return jc(e,s),a.push(()=>i.FPDF_CloseDocument(s)),{kind:"fat-memory",docPtr:s,source:{base:null,layer:null,password:r},close:()=>a.close()}}catch(s){throw a.close(),s}}function _n(e,t,r={kind:"fresh"},n=null){let{mem:i,fn:a}=e,o=new rn;o.push(()=>t.release());let s=null,A=i.alloc(4);try{i.poke(A,"i32",-1);let d;r.kind==="fresh"?d=a.EPDFLayer_OpenLayer(t.basePtr,W,n??"",A):r.kind==="artifact-file"&&e.kind==="native"?d=eh(i,r.path,F=>a.EPDFLayer_OpenLayerArtifactFromPath(t.basePtr,F,n??"",A)):(s=r.kind==="artifact-file"?e.fileAccess.fromNodeFile(r.path):e.fileAccess.fromMemory(r.bytes),o.push(()=>s?.close()),d=r.kind==="artifact"||r.kind==="artifact-file"?a.EPDFLayer_OpenLayerArtifact(t.basePtr,s.ptr,n??"",A):a.EPDFLayer_OpenLayer(t.basePtr,s.ptr,n??"",A));let p=Number(i.peek(A,"i32"));if(!d||p!==0)throw a2(p);jc(e,d),o.push(()=>a.FPDF_CloseDocument(d));let m=t.kind==="file"&&t.path!==void 0?{kind:"file",key:t.key,path:t.path}:{kind:"memory",key:t.key};return{kind:"layer",docPtr:d,source:{base:m,layer:r,password:n},close:()=>o.close()}}catch(d){throw o.close(),d}finally{i.free(A)}}function jc(e,t){let{fn:r}=e;r.EPDF_IsEncrypted&&r.EPDF_SetRuntimeOwnerPermissions&&r.EPDF_IsEncrypted(t)&&r.EPDF_SetRuntimeOwnerPermissions(t,!0)}function a2(e){switch(e){case 1:return new g(f.DocPasswordRequired,"layer requires a password");case 2:return new g(f.MalformedPdf,"layer delta is malformed");case 3:return new g(f.MalformedPdf,"layer artifact does not match the supplied base document");default:return new g(f.DocOpenFailed,"failed to open layer document")}}function Se(e,t,r,n=0){let i=BigInt(r);e.poke(t,"i32",Number(i&4294967295n)|0,n),e.poke(t,"i32",Number(i>>32n&4294967295n)|0,n+4)}function He(e,t,r=0){let n=Number(e.peek(t,"i32",r))>>>0;return(Number(e.peek(t,"i32",r+4))>>>0)*4294967296+n}var Ol={budgetBytes:384*1024*1024,idleMs:3e4},vv=64*1024,o2=40,s2=24,bl={place:"elsewhere",pixels:0},A2=1073741823,nh=class{constructor(e,t=Ol,r=()=>!1){this.runtime=e,this.policy=t,this.busy=r,V(this,"pages",new Map),V(this,"closedSizes",new Map),V(this,"workingSets",new Map),V(this,"totalBytes",0),V(this,"clock",0),V(this,"timer",null)}acquire(e,t,r){let n=this.take(e,r);if(!n){this.makeRoom(this.expectedBytes(e,r));let i=this.runtime.fn.EPDFDoc_LoadPageByObjectNumberNormalized(t,r);if(!i)throw Pv(r);n=this.add(e,r,i,!0)}if(n.refs++,!n.loaded){if(this.runtime.fn.EPDFPage_ContinueLoad(n.ptr,A2)!==1)throw this.drop(n),hv(r);n.loaded=!0}return this.measure(n),this.makeRoom(0),n.ptr}async acquireInSlices(e,t,r,n,i){O(n);let{fn:a}=this.runtime,o=this.take(e,r);if(!o){this.makeRoom(this.expectedBytes(e,r));let s=a.EPDFDoc_StartLoadPageByObjectNumber(t,r,!0);if(!s)throw Pv(r);o=this.add(e,r,s,!1)}for(o.refs++;!o.loaded;){let s=a.EPDFPage_ContinueLoad(o.ptr,i.budgetMs);if(s<0)throw this.drop(o),hv(r);if(o.loaded=s===1,this.measure(o),this.makeRoom(0),o.loaded)break;try{await i.between(),O(n)}catch(A){throw this.release(e,r),A}}return o.ptr}release(e,t){let r=this.pages.get(e)?.get(t);if(!(!r||r.refs<=0)&&(r.refs--,!(r.refs>0))){if(r.lastUsed=++this.clock,r.loaded&&!this.runtime.fn.EPDFPage_ResetRenderCache(r.ptr)){this.close(r);return}this.armTimer(),this.makeRoom(0)}}setWorkingSet(e,t,r){let n=new Map;for(let{pageObjectNumber:a,role:o,pixels:s}of r){let A={place:o,pixels:s},d=n.get(a);(!d||zr(A,d))&&n.set(a,A)}let i=this.workingSets.get(e);n.size>0?(i||(i=new Map,this.workingSets.set(e,i)),i.set(t,n)):(i?.delete(t),i?.size===0&&this.workingSets.delete(e)),this.totalBytes>0&&this.armTimer()}isHeld(e,t){return(this.pages.get(e)?.get(t)?.refs??0)>0}isKept(e,t){return this.pages.get(e)?.has(t)??!1}closeOwner(e){for(let t of[...this.pages.get(e)?.values()??[]])this.close(t);this.pages.delete(e),this.closedSizes.delete(e),this.workingSets.delete(e)}closeIdleOf(e){for(let t of[...this.pages.get(e)?.values()??[]])t.refs===0&&this.close(t)}closeIdle(){for(let e of[...this.pages.values()])for(let t of[...e.values()])t.refs===0&&this.close(t)}closeUnshown(){for(let e of[...this.pages.values()])for(let t of[...e.values()])t.refs===0&&this.placeOf(t).place!=="visible"&&this.close(t)}get size(){let e=0;for(let t of this.pages.values())e+=t.size;return e}get bytes(){return this.totalBytes}take(e,t){let r=this.pages.get(e)?.get(t);return r?r.refs===0&&!this.runtime.fn.EPDFPage_IsContentCurrent(r.ptr)?(this.close(r),null):(r.lastUsed=++this.clock,r):null}add(e,t,r,n){let i={owner:e,pageObjectNumber:t,ptr:r,refs:0,loaded:n,bytes:vv,lastUsed:++this.clock},a=this.pages.get(e);return a||(a=new Map,this.pages.set(e,a)),a.set(t,i),this.totalBytes+=i.bytes,i}measure(e){let{fn:t,mem:r}=this.runtime,n=Y(r,o2,a=>t.EPDFPage_GetParsedSize(e.ptr,a)?He(r,a,s2):0),i=vv+n;this.totalBytes+=i-e.bytes,e.bytes=i}expectedBytes(e,t){return this.closedSizes.get(e)?.get(t)??65536}makeRoom(e){let t=this.policy.budgetBytes>0?this.lastToCloseOverBudget():null;for(;this.totalBytes-(t?.bytes??0)+e>this.policy.budgetBytes;){let r=this.firstToClose(t);if(r)this.close(r);else if(t&&t.refs===0)this.close(t),t=null;else return}}firstToClose(e){let t=null,r=bl;for(let n of this.pages.values())for(let i of n.values()){if(i.refs>0||i===e)continue;let a=this.placeOf(i);(!t||zr(r,a)||!zr(a,r)&&i.lastUsede.lastUsed)&&(e=n,t=i)}return e}placeOf(e){let t=bl;for(let r of this.workingSets.get(e.owner)?.values()??[]){let n=r.get(e.pageObjectNumber);n&&zr(n,t)&&(t=n)}return t}close(e){if(e.loaded){let t=this.closedSizes.get(e.owner);t||(t=new Map,this.closedSizes.set(e.owner,t)),t.set(e.pageObjectNumber,e.bytes)}this.drop(e)}drop(e){this.runtime.fn.FPDF_ClosePage(e.ptr);let t=this.pages.get(e.owner);t?.delete(e.pageObjectNumber),t?.size===0&&this.pages.delete(e.owner),this.totalBytes-=e.bytes,this.totalBytes<=0&&this.disarmTimer()}armTimer(){this.policy.idleMs<=0||(this.disarmTimer(),this.timer=setTimeout(()=>{this.timer=null,this.busy()?this.armTimer():this.closeUnshown()},this.policy.idleMs),this.timer.unref?.())}disarmTimer(){this.timer&&clearTimeout(this.timer),this.timer=null}};function Pv(e){return new g(f.NotFound,`no page with object number ${e}`)}function hv(e){return new g(f.RuntimeUnavailable,`failed to load page object ${e}`)}var kv=class{constructor(e,t,r=null){this.docPtr=t,V(this,"residency",void 0),this.residency=r??new nh(e,{budgetBytes:0,idleMs:0})}acquire(e){return this.residency.acquire(this,this.docPtr,e)}acquireInSlices(e,t,r){return this.residency.acquireInSlices(this,this.docPtr,e,t,r)}isHeld(e){return this.residency.isHeld(this,e)}isKept(e){return this.residency.isKept(this,e)}release(e){this.residency.release(this,e)}setWorkingSet(e,t){this.residency.setWorkingSet(this,e,t)}closeIdle(){this.residency.closeIdleOf(this)}closeAll(){this.residency.closeOwner(this)}},Ql=class{constructor(e,t){this.runtime=e,V(this,"docPtr",null),V(this,"closeDocument",null),V(this,"_kind",null),V(this,"_source",null),V(this,"_sessionId",void 0),V(this,"recordsByObjectNumber",new Map),V(this,"recordsByIndex",new Map),V(this,"fullyEnumerated",!1),V(this,"cacheSeqCounter",0),V(this,"editsSeqCounter",0),V(this,"transaction",null),V(this,"unusableReason",null),V(this,"pages",null),V(this,"residency",null),V(this,"signedDocumentPolicy","protect"),V(this,"password",null),V(this,"persistLayerArtifact",!0),V(this,"loadedSeq",0),V(this,"plainSha256",null),V(this,"pendingSigning",null),V(this,"lastCompletion",null),V(this,"drawings",null),V(this,"parkedLoad",null),V(this,"objectNumberAuthority","session"),V(this,"heldObjectNumbers",new Set),V(this,"objectNumbersInUse",[]),V(this,"retained",[]),this._sessionId=t??d2()}get sessionId(){return this._sessionId}get kind(){return this._kind}get source(){if(!this._source)throw new g(f.DocNotOpen,"document is not open");return this._source}isOpen(){return this.docPtr!==null}open(e,t=null){this.openFromHandle(th(this.runtime,e,t))}openFromHandle(e){if(this.docPtr)throw e.close(),new g(f.InvalidArg,"document already open");this.docPtr=e.docPtr,this.closeDocument=()=>e.close(),this._kind=e.kind,this._source=e.source,this.pages=new kv(this.runtime,e.docPtr,this.residency),this.parkedLoad=null,this.drawings=null,this.loadedSeq=this.editsSeqCounter}hasUnsavedEdits(){return this.editsSeqCounter!==this.loadedSeq}cachedPlainSha256(){return this.plainSha256&&this.plainSha256.loadedSeq===this.loadedSeq?this.plainSha256.sha256:null}rememberPlainSha256(e){this.plainSha256={loadedSeq:this.loadedSeq,sha256:e}}install(e){if(!this.docPtr)throw e.close(),new g(f.DocNotOpen,"no document to replace");let t=null;try{this.pages?.closeAll()}catch(r){t=r}try{this.closeDocument?.()}catch(r){t??(t=r)}if(this.docPtr=e.docPtr,this.closeDocument=()=>e.close(),this._kind=e.kind,this._source=e.source,this.pages=new kv(this.runtime,e.docPtr,this.residency),this.recordsByIndex.clear(),this.recordsByObjectNumber.clear(),this.fullyEnumerated=!1,this.cacheSeqCounter++,this.editsSeqCounter++,this.loadedSeq=this.editsSeqCounter,this.pendingSigning=null,this.drawings=null,this.heldObjectNumbers.clear(),this.objectNumbersInUse=[],t)throw t}versionRef(e){return{baseSha256:e,editsVersion:this.editsSeqCounter}}parkLocked(e){if(this.docPtr)throw new g(f.InvalidArg,"document already open");this.parkedLoad=e}isLocked(){return this.docPtr===null&&this.parkedLoad!==null}unlockWith(e){if(!this.parkedLoad)throw new g(f.DocNotOpen,"document session is not locked");this.parkedLoad(e),this.parkedLoad=null}pageCount(){return this.runtime.fn.FPDF_GetPageCount(this.requireDocPtr())}ensureFullPageRegistry(){if(this.fullyEnumerated)return;let{fn:e}=this.runtime,t=this.requireDocPtr(),r=e.FPDF_GetPageCount(t);for(let n=0;nthis.resolvePageRef(t).pageObjectNumber)}allRecords(){return this.ensureFullPageRegistry(),Array.from(this.recordsByIndex.entries()).sort(([e],[t])=>e-t).map(([,e])=>e)}refreshPageRegistry(){this.recordsByIndex.clear(),this.recordsByObjectNumber.clear(),this.fullyEnumerated=!1,this.ensureFullPageRegistry()}cacheSeq(){return this.cacheSeqCounter}invalidateDerived(){this.cacheSeqCounter++}editsSeq(){return this.editsSeqCounter}noteEdit(){this.editsSeqCounter++}clearMissingCharacters(){this.docPtr&&this.runtime.fn.EPDFDoc_ClearMissingCharacters(this.docPtr)}missingCharacters(){if(!this.docPtr)return[];let{fn:e,mem:t}=this.runtime,r=this.docPtr,n=[],i=e.EPDFDoc_CountMissingCharacters(r);for(let a=0;ae.EPDFDoc_GetMissingCharacter(r,a,s,A));o&&n.push(o)}return n}inTransaction(){return this.transaction!==null}beginTransaction(e){let t=this.requireDocPtr();if(this.transaction)throw new g(f.Unknown,"a transaction is already open");if(!this.runtime.fn.EPDFLayer_BeginTransaction(t))throw new g(f.Unknown,"EPDFLayer_BeginTransaction refused");this.transaction={docPtr:t,opId:e,undoable:!1}}writeStamp(){let{opId:e,undoable:t}=this.requireTransaction();return{opId:e,undoable:t}}markUndoable(){this.requireTransaction().undoable=!0}commitTransaction(){let{docPtr:e}=this.requireTransaction();if(!this.runtime.fn.EPDFLayer_IsInTransaction(e))throw new g(f.Unknown,"the layer transaction is no longer open");let t=this.runtime.fn.EPDFLayer_GetLastObjectNumber(e);if(t>IA)throw new g(f.LayerFull,`the document would pass object number ${IA}`,{details:{lastObjectNumber:t}});this.transaction=null;let r=!1;try{r=this.runtime.fn.EPDFLayer_CommitTransaction(e)}finally{r||(this.unusableReason=Dv)}if(!r)throw new g(f.DocNotOpen,Dv);for(let n of this.objectNumbersInUse)this.heldObjectNumbers.delete(n);this.objectNumbersInUse=[]}abortTransaction(){let{docPtr:e}=this.requireTransaction();this.transaction=null,this.objectNumbersInUse=[];let t=!1;try{t=this.runtime.fn.EPDFLayer_AbortTransaction(e)}catch{}this.drawings?.forget(),this.recordsByIndex.clear(),this.recordsByObjectNumber.clear(),this.fullyEnumerated=!1,this.invalidateDerived(),t||(this.unusableReason="a layer transaction failed to abort")}lastObjectNumber(){return this.runtime.fn.EPDFLayer_GetLastObjectNumber(this.requireDocPtr())}raiseLastObjectNumber(e){if(!this.runtime.fn.EPDFLayer_RaiseLastObjectNumber(this.requireDocPtr(),e))throw new g(f.LayerFull,`the document would pass object number ${e}`,{details:{lastObjectNumber:this.lastObjectNumber()}})}reserveObjectNumbers(e){if(this.objectNumberAuthority!=="session")throw new g(f.InvalidArg,"object numbers are handed out by the caller, not this session");if(!Number.isInteger(e)||e<1)throw new g(f.InvalidArg,`cannot reserve ${e} object numbers`,{details:{field:"count"}});let{fn:t}=this.runtime,r=this.requireDocPtr(),n=t.EPDFLayer_GetLastObjectNumber(r);if(n+e>Ru)throw new g(f.LayerFull,"no more object numbers to hand out",{details:{lastObjectNumber:n}});if(!t.EPDFLayer_RaiseLastObjectNumber(r,n+e))throw new g(f.Unknown,"EPDFLayer_RaiseLastObjectNumber refused");let i={first:n+1,count:e};for(let a=0;a=0;t--)try{this.retained[t]()}catch(r){e??(e=r)}if(this.retained.length=0,e)throw e}},Dv="a layer transaction failed to commit",c2=0;function d2(){return`sess_${(++c2).toString(36)}_${Date.now().toString(36)}`}function gs(e,t){return new g(f.ObjectNumberUnavailable,t==="not-held"?`object number ${e} isn\'t one this session holds`:`an object already has object number ${e}`,{details:{objectNumber:e,reason:t}})}function Bv(e,t){return Am(e.fn,t,new g(f.DocOpenFailed,"failed to open base document"))}var u2=class{constructor(e){this.runtime=e,V(this,"entries",new Map)}acquireMemoryBase(e){let t=this.retain(e.key);if(t)return t;let{mem:r,fn:n}=this.runtime,i=new rn,a=r.alloc(e.bytes.byteLength);i.push(()=>r.free(a));try{r.writeBytes(a,e.bytes);let o=n.EPDF_LoadMemBaseDocument64(a,e.bytes.byteLength,e.password??"");if(!o)throw Bv(this.runtime,e.password);return jc(this.runtime,o),i.push(()=>n.EPDF_ReleaseBaseDocument(o)),this.supplyKnownSha(o,e.knownSha256),this.insert({key:e.key,kind:"memory",basePtr:o,refs:1,close:()=>i.close()})}catch(o){throw i.close(),o}}acquireFileBase(e){let t=this.retain(e.key);if(t)return t;let{fn:r}=this.runtime,n=new rn,i=null;try{i=this.runtime.fileAccess.fromNodeFile(e.path),n.push(()=>i?.close());let a=r.EPDF_LoadBaseDocument(i.ptr,e.password??"");if(!a)throw Bv(this.runtime,e.password);return jc(this.runtime,a),n.push(()=>r.EPDF_ReleaseBaseDocument(a)),this.supplyKnownSha(a,e.knownSha256),this.insert({key:e.key,kind:"file",path:e.path,basePtr:a,refs:1,close:()=>n.close()})}catch(a){throw n.close(),a}}retainByKey(e){return this.retain(e)}supplyKnownSha(e,t){if(!t||!/^[0-9a-fA-F]{64}$/.test(t))return;let{mem:r,fn:n}=this.runtime,i=new Uint8Array(32);for(let o=0;o<32;o++)i[o]=parseInt(t.slice(o*2,o*2+2),16);let a=r.alloc(32);try{r.writeBytes(a,i),n.EPDF_SetBaseDocumentSha256(e,a)}finally{r.free(a)}}releaseAll(){let e=Array.from(this.entries.values());this.entries.clear();let t=null;for(let r of e)try{r.close()}catch(n){t??(t=n)}if(t)throw t}getRefCountForTesting(e){return this.entries.get(e)?.refs??0}retain(e){let t=this.entries.get(e);return t?(t.refs++,this.handleFor(t)):null}insert(e){return this.entries.set(e.key,e),this.handleFor(e)}handleFor(e){let t=!1;return{key:e.key,kind:e.kind,...e.path!==void 0?{path:e.path}:{},basePtr:e.basePtr,release:()=>{if(t)return;t=!0;let r=this.entries.get(e.key);r&&(r.refs--,!(r.refs>0)&&(this.entries.delete(e.key),r.close()))}}}};function Bn(e,t,r,n){return e.EPDF_HasMetaText(r,n)?fe(t,(i,a)=>e.FPDF_GetMetaText(r,n,i,a),""):null}function p2(e,t,r,n,i){return Ye(t,(a,o)=>e.EPDF_GetMetaKeyName(r,n,i,a,o))}function l2(e,t,r){let n=Number(e.EPDF_GetMetaKeyCount(r,!0))|0,i={};for(let a=0;ae.EPDF_SetMetaText(r,n,a))}var f2=new Set(["Title","Author","Subject","Keywords","Producer","Creator","CreationDate","ModDate","Trapped"]);function g2(e){if(f2.has(e))return`\'${e}\' is a standard key; set it with metadata.update`;if(!e||e.length>127||e[0]==="/")return`\'${e}\' can\'t be a custom key: 1 to 127 characters, no leading slash`;for(let t=0;t126)return`\'${e}\' can\'t be a custom key: printable ASCII only`}return null}function F2(e,t,r,n){let i=Object.entries(n);for(let[a]of i){let o=g2(a);if(o)throw new g(f.InvalidArg,o,{details:{field:a}})}for(let[a,o]of i)if(!ls(e,t,r,a,o))throw new g(f.Unknown,`failed to write metadata ${a}`)}var v2=1,P2=2,h2=3;function k2(e,t,r){let n=r==="true"?v2:r==="false"?P2:h2;return e.EPDF_SetMetaTrapped(t,n)}var D2=[["title","Title"],["author","Author"],["subject","Subject"],["keywords","Keywords"],["producer","Producer"],["creator","Creator"]];function B2(e,t,r,n){let i=a=>{throw new g(f.Unknown,`failed to write metadata ${a}`)};for(let[a,o]of D2){let s=n[a];s!==void 0&&(ls(e,t,r,o,s)||i(o))}n.createdAt!==void 0&&(ls(e,t,r,"CreationDate",n.createdAt===null?null:gt(n.createdAt))||i("CreationDate")),n.modifiedAt!==void 0&&(ls(e,t,r,"ModDate",n.modifiedAt===null?null:gt(n.modifiedAt))||i("ModDate")),n.trapped!==void 0&&(k2(e,r,n.trapped)||i("Trapped"))}var E2="http://www.w3.org/XML/1998/namespace",rh="http://www.w3.org/2000/xmlns/";function _2(e){try{return new S2(e).read()}catch(t){if(t instanceof ot)return null;throw t}}function*ih(e){yield e;for(let t of e.children)yield*ih(t)}function Rl(e){return y2(e).replace(/&/g,"&").replace(//g,">").replace(/\\r/g," ")}function Ev(e){return Rl(e).replace(/"/g,""").replace(/\'/g,"'").replace(/\\t/g," ").replace(/\\n/g," ")}function Sc(e,t){return e?`${e}:${t}`:t}function y2(e){let t="";for(let r of e){let n=r.codePointAt(0);!(n<32&&n!==9&&n!==10&&n!==13)&&!(n>=55296&&n<=57343)&&n!==65534&&n!==65535&&(t+=r)}return t}var ot=class extends Error{},_v=/&(?:#x([0-9a-fA-F]+)|#([0-9]+)|(lt|gt|amp|quot|apos));/g,G2={lt:"<",gt:">",amp:"&",quot:\'"\',apos:"\'"},C2=/[ \\t\\r\\n]/,I2=/[ \\t\\r\\n/>=<"\']/;function yv(e){if(!e.includes("&"))return e;if(e.replace(_v,"").includes("&"))throw new ot;return e.replace(_v,(t,r,n,i)=>{if(i)return G2[i];let a=r?parseInt(r,16):Number(n);if(a>1114111)throw new ot;return String.fromCodePoint(a)})}function Gv(e){let t=e.indexOf(":");return t<0?{prefix:"",local:e}:{prefix:e.slice(0,t),local:e.slice(t+1)}}var S2=class{constructor(e){this.text=e,V(this,"at",0),V(this,"open",[]),V(this,"root",null)}read(){let{text:e}=this;for(;this.atthis.at&&this.addText(e.slice(this.at,r)),t<0)break;e.startsWith("",t+4):e.startsWith("",t+2):e.startsWith("0||!this.root)throw new ot;return this.root}after(e,t){let r=this.text.indexOf(e,t);if(r<0)throw new ot;return r+e.length}skipSpace(e){let t=e;for(;t",e+9);if(t<0)throw new ot;this.addText(this.text.slice(e+9,t),!0),this.at=t+3}skipDeclaration(e){let t=0;for(let r=e+2;r"&&t<=0){this.at=r+1;return}}throw new ot}readStartTag(e){let{text:t}=this,r=this.readName(e+1),n=[],i=e+1+r.length,a,o=!1;for(;;){let P=this.skipSpace(i);if(t.startsWith("/>",P)){a=P,o=!0;break}if(t[P]===">"){a=P;break}if(P===i||P>=t.length)throw new ot;let B=this.readName(P),y=this.skipSpace(P+B.length);if(t[y]!=="=")throw new ot;y=this.skipSpace(y+1);let x=t[y];if(x!==\'"\'&&x!=="\'")throw new ot;let I=t.indexOf(x,y+1);if(I<0)throw new ot;let S=t.slice(y+1,I);if(S.includes("<"))throw new ot;n.push({qname:B,...Gv(B),ns:null,value:yv(S.replace(/[\\t\\r\\n]/g," ")),start:P,end:I+1,valueStart:y+1,valueEnd:I}),i=I+1}let s=this.open[this.open.length-1]??null;if(!s&&this.root)throw new ot;let A=new Map(s?.scope??[]);for(let P of n)P.qname==="xmlns"?A.set("",P.value):P.prefix==="xmlns"&&A.set(P.local,P.value);let d=P=>P==="xml"?E2:A.get(P)||null;for(let P of n)P.ns=P.qname==="xmlns"||P.prefix==="xmlns"?rh:P.prefix?d(P.prefix):null;let p=a+(o?2:1),{prefix:m,local:F}=Gv(r),h={qname:r,prefix:m,local:F,ns:d(m),attributes:n,scope:A,parent:s,children:[],text:"",start:e,startTagClose:a,startTagEnd:p,selfClosing:o,endTagStart:p,end:p};s?s.children.push(h):this.root=h,o||this.open.push(h),this.at=p}readEndTag(e){let t=this.readName(e+2),r=this.skipSpace(e+2+t.length),n=this.open.pop();if(this.text[r]!==">"||!n||n.qname!==t)throw new ot;n.endTagStart=e,n.end=r+1,this.at=r+1}};function x2(e,t){let r=_2(e),n=r&&[...ih(r)].find(o=>Kc(o,"RDF"));if(!n)return null;let i=n.children.filter(o=>Kc(o,"Description")),a=new Q2(e,n);for(let{property:o,value:s,add:A}of t){let d=i.flatMap(B=>B.children.filter(y=>Cv(y,o))),p=i.flatMap(B=>B.attributes.filter(y=>Cv(y,o)).map(y=>({attribute:y,description:B})));if(s===null){d.forEach(B=>a.removeElement(B)),p.forEach(({attribute:B})=>a.removeAttribute(B));continue}let[m,...F]=d,[h,...P]=p;if(m)(F.length>0||p.length>0||!O2(m,s))&&(a.replaceElement(m,s),F.forEach(B=>a.removeElement(B)),p.forEach(({attribute:B})=>a.removeAttribute(B)));else if(h&&s.kind==="text")(P.length>0||h.attribute.value!==s.text)&&(a.replaceAttributeValue(h.attribute,s.text),P.forEach(({attribute:B})=>a.removeAttribute(B)));else if(h)p.forEach(({attribute:B})=>a.removeAttribute(B)),a.addProperty(h.description,o,s);else if(A){let B=i.find(y=>H2(y,o.ns))??i[0];a.addProperty(B??null,o,s)}}return a.result()}function Kc(e,t){return e.ns==="http://www.w3.org/1999/02/22-rdf-syntax-ns#"&&e.local===t}function Cv(e,t){return e.ns===t.ns&&e.local===t.name}function H2(e,t){return e.attributes.some(r=>r.ns==="http://www.w3.org/2000/xmlns/"&&r.value===t)}function O2(e,t){if(e.attributes.some(o=>o.ns==="http://www.w3.org/1999/02/22-rdf-syntax-ns#"))return!1;if(t.kind==="text")return e.children.length===0&&e.text===t.text;let[r,...n]=e.children,i={alt:"Alt",seq:"Seq",bag:"Bag"}[t.kind];if(!r||n.length>0||!Kc(r,i))return!1;let a=r.children;if(!a.every(o=>Kc(o,"li")&&o.children.length===0))return!1;if(t.kind==="alt"){let[o]=a,s=o?.attributes.find(A=>A.ns==="http://www.w3.org/XML/1998/namespace"&&A.local==="lang");return a.length===1&&s?.value==="x-default"&&o.text===t.text}return a.length===t.items.length&&a.every((o,s)=>o.text===t.items[s])}var Q2=class{constructor(e,t){this.packet=e,this.rdf=t,V(this,"splices",[]),V(this,"additions",new Map)}removeElement(e){this.splices.push({start:this.spaceBefore(e.start),end:e.end,text:""})}removeAttribute(e){this.splices.push({start:this.spaceBefore(e.start),end:e.end,text:""})}replaceAttributeValue(e,t){this.splices.push({start:e.valueStart,end:e.valueEnd,text:Ev(t)})}replaceElement(e,t){let r=e.attributes.filter(i=>i.ns===rh).map(i=>` ${this.packet.slice(i.start,i.end)}`).join(""),n=fl(e.scope,"http://www.w3.org/1999/02/22-rdf-syntax-ns#")??"rdf";this.splices.push({start:e.start,end:e.end,text:Iv(e.qname,r,n,t)})}addProperty(e,t,r){let n=this.additionsFor(e),i=e?.scope??this.rdf.scope,a=fl(i,t.ns,!1)??this.declare(n,i,t),o=fl(i,"http://www.w3.org/1999/02/22-rdf-syntax-ns#")??"rdf";n.children.push(Iv(Sc(a,t.name),"",o,r))}result(){for(let[n,i]of this.additions)this.writeAdditions(n,i);let e=this.splices.map((n,i)=>({splice:n,index:i})).sort((n,i)=>n.splice.start-i.splice.start||n.splice.end-n.splice.start-(i.splice.end-i.splice.start)||n.index-i.index),t="",r=0;for(let{splice:n}of e){if(n.start` xmlns:${i}="${Ev(a)}"`).join("");if(!e){let i=this.rdf.prefix,a=Sc(i,"Description"),o=`<${a} ${Sc(i,"about")}=""${r}>${t.children.join("")}`;this.insertInto(this.rdf,o);return}r&&this.splices.push({start:e.startTagClose,end:e.startTagClose,text:r});let n=this.childIndent(e);this.insertInto(e,t.children.map(i=>n+i).join(""))}insertInto(e,t){if(e.selfClosing){this.splices.push({start:e.startTagClose,end:e.startTagEnd,text:`>${t}`});return}let r=e.children[e.children.length-1],n=r?r.end:e.startTagEnd;this.splices.push({start:n,end:n,text:t})}childIndent(e){let[t]=e.children,r=t?this.packet.slice(e.startTagEnd,t.start):this.packet.slice(e.startTagEnd,e.endTagStart);return/^\\s*$/.test(r)?t?r:r&&`${r} `:""}spaceBefore(e){let t=e;for(;t>0&&/\\s/.test(this.packet[t-1]);)t--;return t}};function fl(e,t,r=!0){let n;for(let[i,a]of e)if(a===t){if(i)return i;r&&(n=i)}return n}function Iv(e,t,r,n){let i=A=>Sc(r,A),a=(A,d="")=>`<${i("li")}${d}>${Rl(A)}`,o=(A,d)=>`<${i(A)}>${d}`,s;switch(n.kind){case"text":s=Rl(n.text);break;case"alt":s=o("Alt",a(n.text,\' xml:lang="x-default"\'));break;case"seq":s=o("Seq",n.items.map(A=>a(A)).join(""));break;case"bag":s=o("Bag",n.items.map(A=>a(A)).join(""));break}return`<${e}${t}>${s}`}function R2(e,t,r){let n=e.EPDFCatalog_GetMetadata(r,W,0);if(n<=0)return null;let i=Y(t,n,o=>e.EPDFCatalog_GetMetadata(r,o,n)===n?t.readBytes(o,n):null),a=i&&M2(i);if(!i||!a)return null;try{return{text:new TextDecoder(a,{fatal:!0,ignoreBOM:!0}).decode(i),encoding:a}}catch{return null}}function T2(e,t,r,n){let i=L2(n);return Y(t,Math.max(i.length,1),a=>(t.writeBytes(a,i),e.EPDFCatalog_SetMetadata(r,a,i.length)))}function M2(e){let[t=1,r=1,n=1,i=1]=e;return t===254&&r===255?"utf-16be":t===255&&r===254?n===0&&i===0?null:"utf-16le":t===0&&r===0?null:t===0?"utf-16be":r===0?n===0?null:"utf-16le":"utf-8"}function L2({text:e,encoding:t}){if(t==="utf-8")return new TextEncoder().encode(e);let r=new Uint8Array(e.length*2),n=new DataView(r.buffer);for(let i=0;i({ns:e,prefix:t,name:r}),j2={title:{property:nn(xc,"dc","title"),kind:"alt"},author:{property:nn(xc,"dc","creator"),kind:"seq"},subject:{property:nn(xc,"dc","description"),kind:"alt"},keywords:{property:nn(Tl,"pdf","Keywords"),kind:"text"},creator:{property:nn(cm,"xmp","CreatorTool"),kind:"text"},producer:{property:nn(Tl,"pdf","Producer"),kind:"text"}},K2=nn(cm,"xmp","CreateDate"),V2=nn(cm,"xmp","ModifyDate"),Y2=nn(Tl,"pdf","Trapped"),X2=nn(xc,"dc","subject"),W2={true:"True",false:"False",unknown:"Unknown"};function U2(e){let t=[],r=(n,i,a=!0)=>t.push({property:n,value:i,add:a});for(let[n,{property:i,kind:a}]of Object.entries(j2)){let o=e[n];o!==void 0&&(o===null?r(i,null):a==="seq"?r(i,{kind:a,items:[o]}):r(i,{kind:a,text:o}))}if(e.keywords!==void 0){let n=e.keywords===null?null:z2(e.keywords);r(X2,n&&{kind:"bag",items:n},!1)}return e.createdAt!==void 0&&r(K2,xv(e.createdAt)),e.modifiedAt!==void 0&&r(V2,xv(e.modifiedAt)),e.trapped!==void 0&&r(Y2,{kind:"text",text:W2[e.trapped]}),t}function q2(e){return Object.entries(e).filter(([t])=>/^[A-Za-z_][A-Za-z0-9._-]*$/.test(t)).map(([t,r])=>({property:nn(N2,"pdfx",t),value:r===null?null:{kind:"text",text:r},add:!1}))}function z2(e){return e.split(/[,;]/).map(t=>t.trim()).filter(t=>t!=="")}function xv(e){if(e===null)return null;let t=gt(e);return{kind:"text",text:zn(t)??t}}var dm=class{constructor(e,t){this.runtime=e,this.session=t}update(e,t){O(t);let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr();return B2(r,n,i,e),Sv(r,n,i,U2(e)),O(t),{metadata:new vi(this.runtime,this.session).read(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}updateCustom(e,t){O(t);let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr();return F2(r,n,i,e),Sv(r,n,i,q2(e)),O(t),{custom:new vi(this.runtime,this.session).readCustom(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}},Hv={bytes:124,offsets:{looseBox:0,tightBox:16,looseQuad:32,tightQuad:64,matrix:96,flags:120},flags:{hasTightBox:1,hasLooseQuad:2,hasTightQuad:4,upright:8,space:16,empty:32,synthesized:64}};function Gn(e,t,r=0){return{left:pe(e,t,r),top:pe(e,t,r+4),right:pe(e,t,r+8),bottom:pe(e,t,r+12)}}function ah(e,t,r){e.poke(t,"f32",r.left,0),e.poke(t,"f32",r.top,4),e.poke(t,"f32",r.right,8),e.poke(t,"f32",r.bottom,12)}function Z2(e,t){return{a:pe(e,t,0),b:pe(e,t,4),c:pe(e,t,8),d:pe(e,t,12),e:pe(e,t,16),f:pe(e,t,20)}}function pe(e,t,r=0){return Number(e.peek(t,"f32",r))}function _e(e,t,r=0){return Number(e.peek(t,"i32",r))}var st={unknown:0,xyz:1,fit:2,fitH:3,fitV:4,fitR:5,fitB:6,fitBH:7,fitBV:8},J2={fit:st.fit,fitH:st.fitH,fitV:st.fitV,fitR:st.fitR,fitB:st.fitB,fitBH:st.fitBH,fitBV:st.fitBV},Ov=4;function ed(e,t,r,n){let i=e.EPDFDest_GetPageObjectNumber(r,n);if(i===0)return null;let a=ue(i),o=he(t,[8,Ov*4],([d,p])=>{let m=e.FPDFDest_GetView(n,d,p),F=Math.min(_e(t,d),Ov),h=[];for(let P=0;Pdthis.limits.maxModels||this.nodes>this.limits.maxNodes||this.scriptCodeUnits>this.limits.maxScriptCodeUnits||this.targetEntries>this.limits.maxTargetEntries||this.payloadCodeUnits>this.limits.maxPayloadCodeUnits)throw new g(f.MalformedPdf,"aggregate PDF action read budget exceeded",{details:{models:this.models,nodes:this.nodes,scriptCodeUnits:this.scriptCodeUnits,targetEntries:this.targetEntries,payloadCodeUnits:this.payloadCodeUnits,limits:this.limits}})}};function vr(e,t,r,n,i){if(n===W)return null;try{let a=e.EPDFAction_GetNodeCount(n);if(!Number.isInteger(a)||a<0)throw Hc("invalid node count",{nodeCount:a});i.addModel(a);let o=e.EPDFAction_GetWarningFlags(n)>>>0,s=!e.EPDFAction_IsComplete(n),A=aI(e.EPDFAction_GetRootNode(n),a),d=new Set,p=!1,m=G=>{let Q=G(W,0);return Q<=0?null:(i.reservePayloadBytes(Q),Ye(t,G))},F=G=>he(t,[4],([Q])=>G(Q)?_e(t,Q)!==0:null),h=(G,Q)=>he(t,[4],([K])=>{if(!e.EPDFAction_GetNodeTargetObjectNumber(n,G,Q,K))return null;let ve=_e(t,K)>>>0;return ve===0?null:ve}),P=(G,Q)=>{let K=[];for(let ve=0;vee.EPDFAction_GetNodeTargetName(n,G,ve,q,oe));if(ge!==null){K.push({kind:"name",name:ge});continue}let R=h(G,ve);if(R===null)return null;K.push({kind:"objectNumber",objectNumber:R})}return K},B=G=>he(t,[4,4],([Q,K])=>e.EPDFAction_GetNodeResetForm(n,G,Q,K)?{hasFields:_e(t,Q)!==0,exclude:_e(t,K)!==0}:null),y=G=>he(t,[4,4],([Q,K])=>e.EPDFAction_GetNodeSubmitForm(n,G,Q,K)?{hasFields:_e(t,Q)!==0,flags:_e(t,K)>>>0}:null),x=G=>{if(d.has(G))throw Hc("native action model contains a cycle",{nodeId:G});d.add(G);try{let Q=iI(e.EPDFAction_GetNodeType(n,G)),K=Ye(t,(q,oe)=>e.EPDFAction_GetNodeSubtype(n,G,q,oe))??"",ve=e.EPDFAction_GetNextCount(n,G);if(!Number.isInteger(ve)||ve<0)throw Hc("invalid action child count",{nodeId:G,nextCount:ve});let ge=[];for(let q=0;q(p=!0,{type:"unknown",subtype:K,next:ge});switch(Q){case"javascript":{if(!e.EPDFAction_NodeHasJavaScript(n,G))return R();let q=fe(t,(oe,se)=>e.EPDFAction_GetNodeJavaScript(n,G,oe,se))??"";return i.addScript(q),{type:Q,subtype:K,script:q,next:ge}}case"rendition":{if(!e.EPDFAction_NodeHasJavaScript(n,G))return{type:Q,subtype:K,next:ge};let q=fe(t,(oe,se)=>e.EPDFAction_GetNodeJavaScript(n,G,oe,se))??"";return i.addScript(q),{type:Q,subtype:K,script:q,next:ge}}case"goto":{let q=e.EPDFAction_GetNodeDest(r,n,G),oe=q!==W?ed(e,t,r,q):null;return oe?{type:Q,subtype:K,destination:oe,next:ge}:R()}case"uri":{let q=m((oe,se)=>e.EPDFAction_GetNodeURI(r,n,G,oe,se));return q===null?R():{type:Q,subtype:K,uri:q,isMap:F(oe=>e.EPDFAction_GetNodeURIIsMap(n,G,oe))??!1,next:ge}}case"named":{let q=m((oe,se)=>e.EPDFAction_GetNodeName(n,G,oe,se));return q===null?R():{type:Q,subtype:K,name:q,next:ge}}case"hide":{let q=e.EPDFAction_GetNodeTargetCount(n,G);if(!Number.isInteger(q)||q<0)return R();i.reserveTargets(q);let oe=P(G,q);return oe===null?R():{type:Q,subtype:K,targets:oe,hide:F(se=>e.EPDFAction_GetNodeHideFlag(n,G,se))??!0,next:ge}}case"reset-form":{let q=B(G),oe=e.EPDFAction_GetNodeTargetCount(n,G);if(q===null||!Number.isInteger(oe)||oe<0)return R();i.reserveTargets(oe);let se=q.hasFields?P(G,oe):null;return q.hasFields&&se===null?R():{type:Q,subtype:K,fields:se,exclude:q.exclude,next:ge}}case"submit-form":{if(typeof e.EPDFAction_GetNodeSubmitForm!="function")return{type:Q,subtype:K,next:ge};let q=y(G);if(q===null)return R();let oe=m((Be,un)=>e.EPDFAction_GetNodeSubmitFormURL(n,G,Be,un));if(oe===null)return R();let se=e.EPDFAction_GetNodeTargetCount(n,G);if(!Number.isInteger(se)||se<0)return R();i.reserveTargets(se);let ut=q.hasFields?P(G,se):null;if(q.hasFields&&ut===null)return R();let z=m((Be,un)=>e.EPDFAction_GetNodeSubmitFormCharSet(n,G,Be,un));return{type:Q,subtype:K,payload:{url:oe,fields:ut,...zu(q.flags),...z===null?{}:{charSet:z}},next:ge}}case"goto-remote":case"goto-embedded":case"launch":{let q=m((oe,se)=>e.EPDFAction_GetNodeFilePath(n,G,oe,se));return q===null?R():{type:Q,subtype:K,filePath:q,next:ge}}default:return{type:Q,subtype:K,next:ge}}}finally{d.delete(G)}},I=A===null?null:x(A),S=oI(o,s);return p&&S.push("payload-dropped"),{root:I,incomplete:s,warnings:S}}finally{e.EPDFAction_CloseModel(n)}}function aI(e,t){return e===-1||e===Qv||e>>>0===Qv?null:oh(e,t)}function oh(e,t){if(!Number.isInteger(e)||e<0||e>=t)throw Hc("native action model returned an invalid node id",{raw:e,nodeCount:t});return e}function oI(e,t){let r=[];return(e&tI)!==0&&r.push("cycle-dropped"),(e&nI)!==0&&r.push("malformed-next"),((e&rI)!==0||t)&&r.push("incomplete"),r}function Hc(e,t){return new g(f.MalformedPdf,e,{details:t})}var sh={x:0,y:1,distance:2,area:3,angle:4,slope:5},Ml=["decimal","fraction","round","truncate"],Ah=["thousands","decimal","prefixSpacing","suffixSpacing"];function Le(e){if(!e)throw new g(f.Unknown,"Measurement native write failed after preflight")}function Da(e,t,r="f32"){return Y(e,4,n=>t(n)?Number(e.peek(n,r)):void 0)}function Ll(e,t,r){return t?Y(e,8,n=>(e.poke(n,"f32",t.x),e.poke(n,"f32",t.y,4),r(n))):r(W)}function ch(e,t,r){if(!r)return;let n=e.EPDFMeasure_GetSubtype(r);if(n!==1)return{subtype:n===2?"geospatial":"unknown"};let i=d=>Array.from({length:e.EPDFMeasure_CountFormats(r,d)},(p,m)=>{let F=e.EPDFMeasure_GetFormat(r,d,m),h={unit:fe(t,(S,G)=>e.EPDFNumberFormat_GetUnit(F,S,G))??""},P=Da(t,S=>e.EPDFNumberFormat_GetConversion(F,S));P!==void 0&&(h.conversion=P);let B=Da(t,S=>e.EPDFNumberFormat_GetFraction(F,S),"i32");B!==void 0&&Ml[B]&&(h.fraction=Ml[B]);let y=Da(t,S=>e.EPDFNumberFormat_GetPrecision(F,S),"i32");y!==void 0&&(h.precision=y);let x=Da(t,S=>e.EPDFNumberFormat_GetFixedDenominator(F,S),"i32");x!==void 0&&(h.fixed=!!x);let I=Da(t,S=>e.EPDFNumberFormat_GetLabelPosition(F,S),"i32");I!==void 0&&(h.labelPosition=I===1?"prefix":"suffix");for(let[S,G]of Ah.entries()){let Q=fe(t,(K,ve)=>e.EPDFNumberFormat_GetText(F,S,K,ve));Q!==null&&(h[G]=Q)}return h}),a=fe(t,(d,p)=>e.EPDFMeasure_GetRatio(r,d,p)),o=Y(t,8,d=>e.EPDFMeasure_GetOrigin(r,d)?{x:Number(t.peek(d,"f32")),y:Number(t.peek(d,"f32",4))}:void 0),s=Da(t,d=>e.EPDFMeasure_GetCYX(r,d)),A={subtype:"rectilinear",x:i(0),distance:i(2),area:i(3),...a!==null?{ratio:a}:{},...o?{origin:o}:{},...s!==void 0?{cyx:s}:{}};for(let d of["y","angle","slope"]){let p=i(sh[d]);p.length&&(A[d]=p)}return A}function dh(e,t,r,n){Le(r),n.ratio!==void 0&&Le(Yt(t,n.ratio,i=>e.EPDFMeasure_SetRatio(r,i))),n.origin&&Le(Ll(t,n.origin,i=>e.EPDFMeasure_SetOrigin(r,i))),n.cyx!==void 0&&Y(t,4,i=>{t.poke(i,"f32",n.cyx),Le(e.EPDFMeasure_SetCYX(r,i))});for(let[i,a]of Object.entries(sh))for(let o of n[i]??[]){let s=t.writeU16String(o.unit),A;try{A=e.EPDFMeasure_AddFormat(r,a,s,o.conversion)}finally{t.free(s)}Le(A),o.fraction!==void 0&&Le(e.EPDFNumberFormat_SetFraction(A,Ml.indexOf(o.fraction))),o.precision!==void 0&&Le(e.EPDFNumberFormat_SetPrecision(A,o.precision)),o.fixed!==void 0&&Le(e.EPDFNumberFormat_SetFixedDenominator(A,o.fixed)),o.labelPosition!==void 0&&Le(e.EPDFNumberFormat_SetLabelPosition(A,o.labelPosition==="prefix"?1:0));for(let[d,p]of Ah.entries())o[p]!==void 0&&Le(Yt(t,o[p],m=>e.EPDFNumberFormat_SetText(A,d,m)))}}function um(e,t,r,n){let i=[],a=e.EPDFPage_CountViewportsRaw(r,n);for(let o=0;oe.EPDFViewport_GetBBox(s,m)?Ce(Gn(t,m)):void 0);if(!A)continue;let d=fe(t,(m,F)=>e.EPDFViewport_GetName(s,m,F)),p=ch(e,t,e.EPDFViewport_GetMeasure(s));i.push({bbox:A,owned:d===no&&(!p||p.subtype==="rectilinear"),name:d,measure:p??null})}finally{e.EPDFViewport_Close(s)}}return i}function uh(e){return e.kind==="wasm"?4:8}function ph(e,t,r,n){e.kind==="wasm"?e.mem.poke(t,"i32",Number(n),r):e.mem.poke(t,"i64",BigInt(n),r)}function Fs(e,t,r){let n=uh(e);return Y(e.mem,Math.max(1,t.length*n),i=>(t.forEach((a,o)=>ph(e,i,o*n,a)),r(i,t.length)))}function Ia(e,t,r){let{mem:n}=e,i=t.map(a=>n.writeU16String(a));try{return Fs(e,i,r)}finally{for(let a=i.length-1;a>=0;a--)n.free(i[a])}}var lh=[null,"decimal","upperRoman","lowerRoman","upperLetters","lowerLetters"];function mh(e,t){let{fn:r,mem:n}=e,i=r.EPDFDoc_GetPageLabelSectionCount(t),a=[];return he(n,[4,4,4],([o,s,A])=>{for(let d=0;dr.EPDFDoc_GetPageLabelSectionAt(t,d,m,F,o,s,A));a.push({firstPage:_e(n,o),style:lh[_e(n,s)]??null,firstNumber:_e(n,A),prefix:p??""})}}),a}function sI(e,t,r){let{fn:n,mem:i}=e;if(!an(i,r.map(a=>a.firstPage),a=>an(i,r.map(o=>lh.indexOf(o.style)),o=>an(i,r.map(s=>s.firstNumber),s=>Ia(e,r.map(A=>A.prefix),(A,d)=>n.EPDFDoc_SetPageLabelSections(t,a,o,s,A,d))))))throw new g(f.Unknown,"EPDFDoc_SetPageLabelSections refused",{details:{sections:r.length}})}var AI=0,cI=1,dI=2,uI=3,pI=4,Vt=class{constructor(e,t){this.runtime=e,this.session=t}read(e){O(e);let{fn:t,mem:r}=this.runtime,n=this.session.requireDocPtr(),i=this.session.allRecords(),a=new Di,o=mh(this.runtime,n);return he(r,[16,4,4],([s,A,d])=>{let p=i.map(m=>{O(e);let F=m.pageIndex,h=lI(t,r,n,m.pageObjectNumber,a),P=um(t,r,n,F),B=Gs(t,r,n,F,s);return{index:F,ref:ue(m.pageObjectNumber),label:Lu(o,F),size:Zd(B.crop),rotation:wh(t,r,n,F,d),userUnit:bI(t,r,n,F,A),tabOrder:gI(t,r,n,F),boxes:B,pdfCropBox:B.crop,...h?{actions:h}:{},...P.length?{viewports:P}:{}}});return{pageCount:p.length,pages:p,labels:o,namedPages:hI(t,r,n)}})}};function lI(e,t,r,n,i){let a={},o=vr(e,t,r,e.EPDFDoc_GetPageActionModel(r,n,0),i),s=vr(e,t,r,e.EPDFDoc_GetPageActionModel(r,n,1),i);return o&&(a.open=o),s&&(a.close=s),o||s?a:void 0}function mI(e,t,r,n,i,a){if(e.EPDF_GetPageBoxByIndex(r,n,i,a))return Ce(Gn(t,a))}function qn(e,t){let r=new Map,n=null;return i=>{let a=r.get(i.objectNumber);if(a)return a;n??(n=new Map(t.allRecords().map(m=>[m.pageObjectNumber,m.pageIndex])));let o=n.get(i.objectNumber);if(o===void 0)throw new g(f.NotFound,`no page with object number ${i.objectNumber}`);let{fn:s,mem:A}=e,d=t.requireDocPtr(),p=Y(A,16,m=>Gs(s,A,d,o,m).crop);return r.set(i.objectNumber,p),p}}function Gs(e,t,r,n,i){let a=o=>mI(e,t,r,n,o,i);return dp({media:a(AI),crop:a(cI),bleed:a(dI),trim:a(uI),art:a(pI)})}function wI(e,t,r){return Y(e.mem,4,n=>wh(e.fn,e.mem,t,r,n))}function wh(e,t,r,n,i){return e.EPDF_GetPageRotateByIndex(r,n,i)?up(_e(t,i)):0}function bI(e,t,r,n,i){if(!e.EPDF_GetPageUserUnitByIndex(r,n,i))return 1;let a=pe(t,i,0);return Number.isFinite(a)&&a>0?a:1}var fI={R:"rows",C:"columns",S:"structure",A:"annotations",W:"widgets"};function gI(e,t,r,n){let i=Ye(t,(a,o)=>e.EPDF_GetPageTabOrderByIndex(r,n,a,o));return i?fI[i]??null:null}var FI=[0,1],vI=0,PI=1;function hI(e,t,r){let n=[];return he(t,[4,4],([i,a])=>{for(let o of FI){let s=e.EPDFDoc_GetNamedPageCount(r,o);for(let A=0;Ae.EPDFDoc_GetNamedPageAt(r,o,A,F,h,i,a),"");if(d===null)continue;let p=Number(t.peek(i,"i32"))>>>0,m=Number(t.peek(a,"i32"));n.push({name:d,target:m===vI?{kind:"page",page:ue(p)}:m===PI?{kind:"template",objectNumber:p}:{kind:"dangling"}})}}}),n}function Oc(e,t,r){if(t==="start")return 0;if(t==="end")return r;let{pageIndex:n}=e.resolvePageRef(Nr(t));return"before"in t?n:n+1}var Nl=class{constructor(e,t){this.runtime=e,this.session=t}reorder(e,t,r){let n=this.session.resolvePageRefs(e);O(r),this.requireUniquePageObjectNumbers("pages.reorder",n);let i=Nr(t);if(i&&n.includes(i.objectNumber))throw new g(f.InvalidArg,`pages.reorder: the neighbour page ${i.objectNumber} is one of the pages that move`,{details:{field:"position"}});let{fn:a,mem:o}=this.runtime,s=this.session.requireDocPtr(),A=n.map(P=>(O(r),this.session.recordByObjectNumber(P).pageIndex)),d=Oc(this.session,t,a.FPDF_GetPageCount(s)),p=d-A.filter(P=>P=a)throw new g(f.InvalidArg,`pages.delete would remove every page (${r.length} of ${a}); a document must keep at least one`);let o=this.session.pagePool();for(let s of r)if(this.session.recordByObjectNumber(s),o.isHeld(s))throw new g(f.Unknown,`internal invariant violation: pagePtr for page ${s} is still held during pages.delete`);for(let s of r)if(!n.EPDFDoc_DeletePageByObjectNumber(i,s))throw new g(f.Unknown,`EPDFDoc_DeletePageByObjectNumber rejected page ${s} after validation`);return this.session.refreshPageRegistry(),{layout:new Vt(this.runtime,this.session).read(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}setName(e,t){if(O(t),e.name.length===0)throw new g(f.InvalidArg,"pages.setName requires a non-empty name");let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=this.session.resolvePageRef(e.page).pageObjectNumber;if(e.replace!==void 0&&e.replace!==e.name&&e.replace.length>0&&Yt(n,e.replace,o=>r.EPDFDoc_RemoveNamedPage(i,o)),!Yt(n,e.name,o=>r.EPDFDoc_SetNamedPage(i,o,a)))throw new g(f.Unknown,`EPDFDoc_SetNamedPage rejected \'${e.name}\' for page ${a}`);return{layout:new Vt(this.runtime,this.session).read(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}removeName(e,t){if(O(t),e.name.length===0)throw new g(f.InvalidArg,"pages.removeName requires a non-empty name");let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr();if(!Yt(n,e.name,a=>r.EPDFDoc_RemoveNamedPage(i,a)))throw new g(f.NotFound,`pages.removeName: no /Names /Pages registration \'${e.name}\'`);return{layout:new Vt(this.runtime,this.session).read(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}requireUniquePageObjectNumbers(e,t){if(t.length===0)throw new g(f.InvalidArg,`${e} requires at least one page`);let r=new Set;for(let n of t){if(r.has(n))throw new g(f.InvalidArg,`${e} was given duplicate page object number ${n}`);r.add(n)}}},kI=2,DI=0,BI=1,EI=1,_I=2,yI=class{constructor(e,t){this.runtime=e,this.session=t}extract(e,t,r){if(O(r),e.length===0)throw new g(f.InvalidArg,"pages.extract requires at least one page");let n=this.session.resolvePageRefs(e),i=new Set;for(let h of n){if(i.has(h))throw new g(f.InvalidArg,`pages.extract was given duplicate page object number ${h}`);i.add(h)}let a=n.map(h=>this.session.recordByObjectNumber(h).pageIndex),{fn:o,mem:s}=this.runtime,A=this.session.requireDocPtr(),d=s.alloc(4*a.length);for(let h=0;hfe(i,(p,m)=>n.EPDFForm_GetFieldPartialName(r,d,p,m))??""),s=CI(e,t),A=new Set([...s,...o]);a.forEach((d,p)=>{let m=o[p];if(!s.has(m))return;let F=m;for(let h=2;A.has(F);h++)F=`${m}_${h}`;if(A.add(F),!Zn(i,F,h=>n.EPDFForm_SetFieldName(r,d,h)))throw new g(f.Unknown,`pages.insert could not rename the inserted field "${m}" to "${F}"`)})}function GI(e,t){let{fn:r,mem:n}=e,i=r.EPDFDoc_GetImportFieldRoots(t,W,0,W,0);return i<=0?[]:Y(n,i*4,a=>(r.EPDFDoc_GetImportFieldRoots(t,W,0,a,i),Array.from({length:i},(o,s)=>Number(n.peek(a,"i32",s*4)))))}function CI(e,t){let{fn:r,mem:n}=e,i=Ee(e,t),a=new Set;for(let o=0;or.EPDFForm_GetFieldName(i,o,A,d));s&&a.add(s.split(".")[0])}return a}function sn(e,t,r){let{pageIndex:n}=t.resolvePageRef(ue(r)),i=e.fn.EPDFPage_PromoteInlineAnnotsRaw(t.requireDocPtr(),n);if(i<0)throw new g(f.Unknown,`the inline annotations of page ${r} could not be promoted`);return i===0?!1:(t.pagePool().closeIdle(),!0)}var II=class{constructor(e,t){this.runtime=e,this.session=t}insert(e,t,r,n){if(O(r),e.byteLength===0)throw new g(f.InvalidArg,"pages.insert requires non-empty bytes");let{fn:i,mem:a}=this.runtime,o=this.session.requireDocPtr(),s=Oc(this.session,t,i.FPDF_GetPageCount(o)),A=a.alloc(e.byteLength),d=null;try{if(a.writeBytes(A,new Uint8Array(e)),d=i.FPDF_LoadMemDocument(A,e.byteLength,""),!d)throw Am(i,null,new g(f.MalformedPdf,"pages.insert source PDF could not be opened"));let p=i.FPDF_GetPageCount(d);if(p<=0)throw new g(f.InvalidArg,"pages.insert source PDF has no pages");Rv(this.runtime,this.session,d);let m=this.importInto(d,s,p,n,"pages.insert",r),F=d;return this.session.retainUntilClose(()=>{i.FPDF_CloseDocument(F),a.free(A)}),m}catch(p){throw d&&i.FPDF_CloseDocument(d),a.free(A),p}}copy(e,t,r,n){if(O(r),e.length===0)throw new g(f.InvalidArg,"pages.copy requires at least one page");let i=this.session.resolvePageRefs([...e]).map(d=>this.session.recordByObjectNumber(d).pageIndex),{fn:a}=this.runtime,o=this.session.requireDocPtr(),s=Oc(this.session,t,a.FPDF_GetPageCount(o)),A=a.FPDF_CreateNewDocument();if(!A)throw new g(f.Unknown,"FPDF_CreateNewDocument failed");try{if(!an(this.runtime.mem,i,(p,m)=>a.EPDFDoc_ImportPages(A,o,p,m,0,W)))throw new g(f.Unknown,`EPDFDoc_ImportPages rejected copying pages [${i.join(",")}] out`);Rv(this.runtime,this.session,A);let d=this.importInto(A,s,i.length,n,"pages.copy",r);return this.session.retainUntilClose(()=>a.FPDF_CloseDocument(A)),d}catch(d){throw a.FPDF_CloseDocument(A),d}}importInto(e,t,r,n,i,a){let{fn:o,mem:s}=this.runtime,A=this.session.requireDocPtr();if(n&&n.length!==r)throw new g(f.InvalidArg,`${i} needs one object number per page: ${n.length} for ${r}`,{details:{field:"objectNumbers"}});for(let m of n??[])this.session.claimObjectNumber(m);if(!(n?an(s,n,m=>o.EPDFDoc_ImportPages(A,e,W,0,t,m)):o.EPDFDoc_ImportPages(A,e,W,0,t,W)))throw new g(f.Unknown,`EPDFDoc_ImportPages rejected the ${i} at index ${t}`);this.session.refreshPageRegistry();let d=new Vt(this.runtime,this.session).read(a),p=d.pages.slice(t,t+r).map(m=>m.ref);for(let m of p)sn(this.runtime,this.session,m.objectNumber);return{insertedPages:p,layout:d,meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}insertBlank(e,t,r,n){O(r);let{size:i}=e,a=e.count??1;if(!Number.isFinite(i?.width)||!Number.isFinite(i?.height)||i.width<=0||i.height<=0)throw new g(f.InvalidArg,`pages.insertBlank size must have positive finite dimensions, got ${i?.width}x${i?.height}`);if(!Number.isInteger(a)||a<1||a>100)throw new g(f.InvalidArg,`pages.insertBlank count ${a} out of range [1, ${100}]`);let{fn:o}=this.runtime,s=this.session.requireDocPtr(),A=Oc(this.session,t,o.FPDF_GetPageCount(s));if(n&&n.length!==a)throw new g(f.InvalidArg,`pages.insertBlank needs one object number per page: ${n.length} for ${a}`,{details:{field:"objectNumbers"}});for(let p of n??[])this.session.claimObjectNumber(p);for(let p=0;pp.ref),layout:d,meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}},SI=0,xI=1,HI=2,OI=class{constructor(e,t){this.runtime=e,this.session=t}flatten(e,t,r){O(r);let n=this.session.resolvePageRefs(e);QI(n);let i=[],a=new Set;for(let o of n){O(r),sn(this.runtime,this.session,o)&&a.add(o);let s=this.session.pagePool(),A=s.acquire(o),d;try{d=this.runtime.fn.EPDFPage_Flatten(A,t==="print"?1:0)}finally{s.release(o)}if(d===HI){i.push({page:ue(o),status:"unchanged"});continue}if(d!==xI)throw new g(f.Unknown,d===SI?"native page flatten failed after preflight":`native page flatten returned unexpected code ${d}`);a.add(o),i.push({page:ue(o),status:"applied"})}return a.size===0?{pages:e,usage:t,results:i,meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}:(this.session.invalidateDerived(),{pages:e,usage:t,results:i,meta:{affectedPages:[...a].map(o=>ue(o)),cacheDelta:null,...this.session.writeStamp()}})}};function QI(e){if(e.length===0)throw new g(f.InvalidArg,"pages.flatten requires at least one page");let t=new Set;for(let r of e){if(t.has(r))throw new g(f.InvalidArg,`pages.flatten was given duplicate page object number ${r}`);t.add(r)}}function Ha(e,t,r,n,i,a){let o=e.EPDFAnnot_GetObjectNumber(i);return o<=0?{kind:"baseIndex",page:n,baseIndex:a}:bh(e,t,r,n,o)}function bh(e,t,r,n,i){let a=RI(e,t,r,i);return a===null?{kind:"objectNumber",page:n,objectNumber:i}:{kind:"baseIndex",page:n,baseIndex:a}}function RI(e,t,r,n){return he(t,[8,8],([i,a])=>(Se(t,i,0),Se(t,a,0),e.EPDFLayer_GetBirthName(r,n,i,a)?He(t,a):null))}function Bt(e,t,r){let{fn:n}=e,i=t.requireDocPtr(),{pageIndex:a}=t.resolvePageRef(r.page),o=r.page.objectNumber;switch(r.kind){case"objectNumber":{let s=n.EPDFPage_GetAnnotIndexByObjectNumberRaw(i,a,r.objectNumber);if(s<0)throw new g(f.NotFound,`no annotation with object number ${r.objectNumber} on page ${o}`);return{pageIndex:a,index:s}}case"baseIndex":{let s=TI(e,i,o,a,r.baseIndex);if(s<0)throw new g(f.NotFound,`no annotation born at position ${r.baseIndex} of page ${o}`);return{pageIndex:a,index:s}}}}function TI(e,t,r,n,i){let{fn:a}=e;if(a.EPDFLayer_IsPagePromoted(t,r)){let s=a.EPDFLayer_GetBirthObjectNumber(t,r,i);return s<=0?-1:a.EPDFPage_GetAnnotIndexByObjectNumberRaw(t,n,s)}if(i<0||i>=a.EPDFPage_GetAnnotCountRaw(t,n))return-1;let o=a.EPDFPage_GetAnnotRaw(t,n,i);if(!o)return-1;try{return a.EPDFAnnot_GetObjectNumber(o)>0?-1:i}finally{a.FPDFPage_CloseAnnot(o)}}function Cs(e,t,r){let{pageIndex:n,index:i}=Bt(e,t,r);return gi(e,t,n,i)}function gi(e,t,r,n){let i=e.fn.EPDFPage_GetAnnotRaw(t.requireDocPtr(),r,n);if(!i)throw new g(f.Unknown,`annotation ${n} of page index ${r} could not be opened`);return i}function fh(e,t,r){let{pageIndex:n,index:i}=Bt(e,t,r),a=gi(e,t,n,i),{fn:o,mem:s}=e;return{annotPtr:a,name:Ha(o,s,t.requireDocPtr(),r.page,a,i)}}function vs(e,t,r,n){let{index:i}=Bt(e,t,n),a=e.fn.FPDFPage_GetAnnot(r,i);if(!a)throw new g(f.Unknown,`annotation ${i} of page ${n.page.objectNumber} could not be opened`);return a}var MI=class{constructor(e,t){this.runtime=e,this.session=t}apply(e,t){O(t);let r=this.buildPlan(e);for(let A of r.keys())this.session.recordByObjectNumber(A);this.preflight(r,t);let{fn:n}=this.runtime,i=[],a=new Set,o=0;for(let[A,d]of r){O(t),sn(this.runtime,this.session,A)&&a.add(A);let p=this.session.pagePool(),m=p.acquire(A);try{let F=d===null?this.applyAllOnPage(m):this.applyRefsOnPage(m,d);F.status==="applied"&&(n.FPDFPage_GenerateContent(m),a.add(A),o+=F.removed),i.push({page:ue(A),status:F.status,removedAnnotationCount:F.removed})}finally{p.release(A)}}if(a.size===0){let A={affectedPages:[],cacheDelta:null,...this.session.writeStamp()};return{scope:e,results:i,removedAnnotationCount:o,meta:A}}this.session.invalidateDerived();let s={affectedPages:[...a].map(A=>ue(A)),cacheDelta:null,...this.session.writeStamp()};return{scope:e,results:i,removedAnnotationCount:o,meta:s}}buildPlan(e){let t=new Map;if("pages"in e){if(this.session.resolvePageRefs(e.pages).length===0)throw new g(f.InvalidArg,"redaction.apply requires at least one page");for(let r of this.session.resolvePageRefs(e.pages)){if(t.has(r))throw new g(f.InvalidArg,`redaction.apply was given duplicate page object number ${r}`);t.set(r,null)}return t}if(e.annotations.length===0)throw new g(f.InvalidArg,"redaction.apply requires at least one annotation ref");for(let r of e.annotations){let n=t.get(r.page.objectNumber);if(n===null)throw new g(f.InvalidArg,"mixed redaction scopes on one page");n?n.push(r):t.set(r.page.objectNumber,[r])}return t}preflight(e,t){let{fn:r}=this.runtime;for(let[n,i]of e){if(i===null)continue;O(t);let a=this.session.pagePool(),o=a.acquire(n);try{for(let s of i){let A=vs(this.runtime,this.session,o,s);try{let d=qr(r.FPDFAnnot_GetSubtype(A));if(d!=="redact")throw new g(f.InvalidArg,`redaction.apply ref on page ${n} resolves to a \'${d}\' annotation, not a redact annotation`)}finally{r.FPDFPage_CloseAnnot(A)}}}finally{a.release(n)}}}applyAllOnPage(e){let{fn:t,mem:r}=this.runtime,n=this.pageHasRedactAnnotations(e);return Y(r,4,i=>{if(!t.EPDFPage_ApplyRedactions(e,W,0,i)){if(n)throw new g(f.Unknown,"native page redaction apply failed");return{status:"unchanged",removed:0}}return{status:"applied",removed:_e(r,i)>>>0}})}pageHasRedactAnnotations(e){let{fn:t}=this.runtime,r=t.FPDFPage_GetAnnotCount(e);for(let n=0;nY(n,4,A=>{let d=r.EPDFPage_ApplyRedactions(e,o,s,A);return d&&(a=_e(n,A)>>>0),d})))throw new g(f.Unknown,"native redaction apply failed after preflight")}finally{for(let o of i)r.FPDFPage_CloseAnnot(o)}return{status:"applied",removed:a}}},gh=class{constructor(e,t){this.runtime=e,this.session=t}async read(e,t,r){O(t);let{fn:n}=this.runtime,i=this.session.pagePool(),a=await i.acquireInSlices(e,t,r);try{O(t);let o=n.FPDFText_LoadPage(a);if(!o)throw new g(f.RuntimeUnavailable,`FPDFText_LoadPage returned null for page object ${e}`);try{O(t);let s=Math.max(n.FPDFText_CountChars(o),0),A=LI(this.runtime,o,s),d=jI(this.runtime,o,e),p=vu(s,A.length,d);if(p!==null)throw new g(f.RuntimeUnavailable,`char map invariant violated for page object ${e}: ${p}`);return Fu(d.length>0?{text:A,charCount:s,charMap:d}:{text:A,charCount:s})}finally{n.FPDFText_ClosePage(o)}}finally{i.release(e)}}};function LI(e,t,r){if(r<=0)return"";let{fn:n,mem:i}=e,a=r*2+1;return Y(i,a*2,o=>{let s=n.EPDFText_GetTextFull(t,o,a);return s<=1?"":NI(i.readBytes(o,(s-1)*2))})}function NI(e){let t=new Uint16Array(e.buffer,e.byteOffset,e.byteLength>>1),r="",n=8192;for(let i=0;i{n.EPDFText_GetCharToTextMap(t,o,a);let s=i.readBytes(o,a*Tv),A=new Int32Array(s.buffer,s.byteOffset,a*2),d=new Array(a);for(let p=0;p=this.slices.budgetMs}async pause(){await this.slices.between(),O(this.signal),this.started=performance.now()}},KI=.0087,Fh=1,td=2,vh=class{constructor(e,t){this.runtime=e,this.session=t}async read(e,t,r){O(t);let{fn:n,mem:i}=this.runtime,a=this.session.pagePool(),o=await a.acquireInSlices(e,t,r);try{O(t);let s=n.FPDFText_LoadPage(o);if(!s)throw new g(f.RuntimeUnavailable,`FPDFText_LoadPage returned null for page object ${e}`);try{O(t);let A=Math.max(n.FPDFText_CountChars(s),0),d=[],p=i.alloc(Hv.bytes);try{let m=new pm(r,t),F=null;for(let h=0;h>>0;if(s&o.empty)return Lv();let A=!!(s&o.upright),d={flags:s&o.space?Fh:0,looseBox:Ce(Gn(i,r,a.looseBox)),upright:A,baselineAngle:0,ascentFlip:!1};if(s&o.hasTightBox&&(d.tightBox=Ce(Gn(i,r,a.tightBox))),s&o.hasLooseQuad&&(d.looseQuad=Nv(i,r,a.looseQuad),s&o.hasTightQuad&&(d.tightQuad=Nv(i,r,a.tightQuad)),!A)){let p=pe(i,r,a.matrix),m=pe(i,r,a.matrix+4),F=pe(i,r,a.matrix+8),h=pe(i,r,a.matrix+12);d.baselineAngle=Math.atan2(m,p),d.ascentFlip=p*h-m*F<0}return d}};function VI(e){let t=[],r=[],n=0,i,a=null,o,s=A=>{r.length>0&&(t.push(UI(r,n,i,o)),r=[],o=void 0),n=A};for(let A=0;Ao.looseQuad?{loose:o.looseQuad,...o.tightQuad?{tight:o.tightQuad}:{},...gl(o.flags)}:{loose:qI(),...gl(o.flags)});return{rect:Mv(e,o=>o.looseQuad?aA(o.looseQuad):Ph),start:t,glyphs:a,rotation:XI(n.baselineAngle),ascentFlip:n.ascentFlip,...r!==void 0?{fontSize:r}:{}}}let i=e.map(a=>({loose:a.looseBox,...a.tightBox?{tight:a.tightBox}:{},...gl(a.flags)}));return{rect:Mv(e,a=>a.looseBox),start:t,glyphs:i,...r!==void 0?{fontSize:r}:{}}}function gl(e){return{...e&Fh?{space:!0}:{},...e&td?{empty:!0}:{}}}function Mv(e,t){let r=null;for(let n of e){if(n.flags&td)continue;let i=t(n);if(!r){r={left:i.left,bottom:i.bottom,right:i.right,top:i.top};continue}r.left=Math.min(r.left,i.left),r.bottom=Math.min(r.bottom,i.bottom),r.right=Math.max(r.right,i.right),r.top=Math.max(r.top,i.top)}return r??{...Ph}}var Ph={left:0,bottom:0,right:0,top:0};function qI(){return{upperLeft:{x:0,y:0},upperRight:{x:0,y:0},lowerLeft:{x:0,y:0},lowerRight:{x:0,y:0}}}function Lv(){return{flags:td,looseBox:{left:0,bottom:0,right:0,top:0},upright:!0,baselineAngle:0,ascentFlip:!1}}function Nv(e,t,r){let n=i=>pe(e,t,r+i);return{upperLeft:{x:n(0),y:n(4)},upperRight:{x:n(8),y:n(12)},lowerLeft:{x:n(16),y:n(20)},lowerRight:{x:n(24),y:n(28)}}}var zI=4;function ZI(e,t,r){return hu({width:e.right-e.left,height:e.top-e.bottom},t,r)}function JI(e,t){let r=hh(e,t);if(!r)return null;try{return t.draw(r.bitmapPtr,r.matrixPtr,r.clipPtr)?r.read():null}finally{r.free()}}async function $I(e,t){let r=hh(e,t);if(!r)return null;try{return await t.draw(r.bitmapPtr,r.matrixPtr,r.clipPtr)?r.read():null}finally{r.free()}}function hh(e,t){let{fn:r,mem:n}=e,{rect:i,page:a,rotation:o,viewport:s,background:A}=t;if(i.right<=i.left||i.top<=i.bottom)return null;let d=tS(i,a),{width:p,height:m}=ZI(d,o,s);if(t.maxOutputPixels!==void 0&&p*m>t.maxOutputPixels)throw new g(f.InvalidArg,`render output ${p}x${m} exceeds the ${t.maxOutputPixels}-pixel budget \\u2014 request a smaller width (or tiles, once available)`);let F=p*4,h=F*m,P=null,B=null,y=null,x=null,I=()=>{B&&r.FPDFBitmap_Destroy(B),x&&n.free(x),y&&n.free(y),P&&n.free(P)};try{if(P=n.alloc(h),B=r.FPDFBitmap_CreateEx(p,m,zI,P,F),!B)return I(),null;r.FPDFBitmap_FillRect(B,0,0,p,m,A==="transparent"?0:4294967295),y=n.alloc(24),nS(n,y,ku(eS(d),o,p,m)),x=n.alloc(16),n.poke(x,"f32",0,0),n.poke(x,"f32",0,4),n.poke(x,"f32",p,8),n.poke(x,"f32",m,12)}catch(G){throw I(),G}let S=P;return{bitmapPtr:B,matrixPtr:y,clipPtr:x,read:()=>({width:p,height:m,stride:F,color:"rgba8",premultipliedAlpha:!1,data:rS(n.readBytes(S,h))}),free:I}}function kh(e,t){let{fn:r,mem:n}=e,i=Y(n,16,a=>r.FPDF_GetPageBoundingBox(t,a)?Gn(n,a):null);return i?Ce(i):{left:0,bottom:0,right:r.FPDF_GetPageWidthF(t),top:r.FPDF_GetPageHeightF(t)}}function eS(e){return{x:e.left,y:e.bottom,width:e.right-e.left,height:e.top-e.bottom}}function tS(e,t){return{left:e.left-t.left,right:e.right-t.left,bottom:t.top-e.top,top:t.top-e.bottom}}function nS(e,t,r){for(let n=0;n<6;n++)e.poke(t,"f32",r[n],n*4)}function rS(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}var iS=1,aS=32768,oS=2048,sS=1,AS=2,jv=class{constructor(e,t){this.runtime=e,this.session=t}async render(e,t,r,n){O(r);let{fn:i}=this.runtime,a=this.session.pagePool(),o=await a.acquireInSlices(e,r,n);try{O(r),bu(t,null);let s=t.usage==="print",A=kh(this.runtime,o),d=cS(t.target,A),p=t.rotation??0,m=t.viewport??{kind:"scale",scale:1},F=FA(t,{annotations:!0,formFields:!0}),h=16;F.includeAnnotations&&(h|=iS),F.includeFormFields&&(h|=aS),s&&(h|=oS);let P=await $I(this.runtime,{rect:d,page:A,rotation:p,viewport:m,...t.maxOutputPixels!==void 0?{maxOutputPixels:t.maxOutputPixels}:{},background:t.background==="transparent"?"transparent":"white",draw:async(B,y,x)=>{O(r);let I=i.EPDF_RenderPageBitmapWithMatrix_Start(B,o,y,x,h,n.budgetMs);try{for(;I===sS;)await n.between(),O(r),I=i.EPDF_RenderPage_Continue(o,n.budgetMs)}finally{i.FPDF_RenderPage_Close(o)}return I===AS}});if(!P)throw new g(f.RuntimeUnavailable,`failed to render page object ${e}`);return{raster:P,area:d}}finally{a.release(e)}}};function cS(e,t){if(!e||e.kind==="page")return t;let r=Ce(e.rect);if(!(r.right>r.left&&r.top>r.bottom))throw new g(f.InvalidArg,"render rect must have positive area");return r}function Ps(e,t){return{docPtr:e.requireDocPtr(),...t?{fonts:t}:{}}}function Kv(e,t){if(e.family===void 0)return e;let r=t.programOf?.(e.family),n=Sr(e.family,t.describe),i={...e,family:n.family};return n.weight!==void 0&&e.weight===void 0&&(i.weight=n.weight),n.italic!==void 0&&e.italic===void 0&&(i.italic=n.italic),r!==void 0&&(i.program=r),i}function Dh(e,t={}){let r=e.body?Kv(e.body,t):void 0;r&&t.bodyProgram!==void 0&&(r.program=t.bodyProgram);let n=e.paragraphs.map(i=>({...i,runs:i.runs.map(a=>({...a,text:rr(a.text,"\\r"),...a.style?{style:Kv(a.style,t)}:{}}))}));return JSON.stringify(r?{body:r,paragraphs:n}:{paragraphs:n})}function dS(e){return Bh(e)?.document??null}function Bh(e){let t;try{t=JSON.parse(e)}catch{return null}if(!t||typeof t!="object"||!t.body||!Array.isArray(t.paragraphs))return null;let{source:r,...n}=t.body,i=Vv(n),a=t.paragraphs.map(o=>{let{runs:s,...A}=o;return{...A,runs:(s??[]).map(d=>{let p=d,m=typeof p.text=="string"?rr(p.text,`\n`):p.text;return p.style?{...p,text:m,style:Vv(p.style)}:{...p,text:m}})}});return{source:t.source,document:{body:i,paragraphs:a}}}function Vv(e){return typeof e.color=="string"?{...e,color:e.color.toLowerCase()}:e}function An(e,t,r){let n=Ye(t,(s,A)=>e.EPDFAnnot_GetRichTextJSON(r,s,A)),i=n?Bh(n):null;if(i?.source!=="rc")return null;let{body:a,paragraphs:o}=i.document;return{body:{...a,family:a.family||Mi.family},paragraphs:o}}function uS(e,t,r){let n=Ye(t,(i,a)=>e.EPDFAnnot_GetRichTextJSON(r,i,a));return n?dS(n):null}function jl(e){let t=Math.fround(e);if(!Number.isFinite(t))return t;for(let r=1;r<9;r++){let n=Number(t.toPrecision(r));if(Math.fround(n)===t)return n}return t}var Vc={invisible:1,hidden:2,print:4,noZoom:8,noRotate:16,noView:32,readOnly:64,locked:128,toggleNoView:256,lockedContents:512},lm=Object.keys(Vc);function pS(e){if(e===0)return{...Zs};let t={...Zs};for(let r of lm)t[r]=(e&Vc[r])!==0;return t}function lS(e,t){let r=e;for(let n of lm){let i=t[n];i!==void 0&&(i?r|=Vc[n]:r&=~Vc[n])}return r}function Eh(e){let t={};for(let r of lm)e[r]!==void 0&&(t[r]=e[r]);return Object.keys(t).length>0?t:null}var _h=0,yh=1,Gh=2,Ch=3,Ih=4,Sh=5,xh=6,Hh=7,Oh=8,Qh=9;function Yv(e){switch(e){case"square":return yh;case"circle":return Gh;case"diamond":return Ch;case"open-arrow":return Ih;case"closed-arrow":return Sh;case"butt":return xh;case"r-open-arrow":return Hh;case"r-closed-arrow":return Oh;case"slash":return Qh;default:return _h}}function Xv(e){switch(e){case yh:return"square";case Gh:return"circle";case Ch:return"diamond";case Ih:return"open-arrow";case Sh:return"closed-arrow";case xh:return"butt";case Hh:return"r-open-arrow";case Oh:return"r-closed-arrow";case Qh:return"slash";case _h:default:return"none"}}function Un(e,t,r,n){return e.FPDFAnnot_HasKey(r,n)?fe(t,(i,a)=>e.FPDFAnnot_GetStringValue(r,n,i,a),""):null}function Is(e,t,r){return Y(t,16,n=>e.FPDFAnnot_GetRect(r,n)?Gn(t,n):{left:0,bottom:0,right:0,top:0})}function mS(e,t){return pS(e.FPDFAnnot_GetFlags(t))}function Jn(e,t,r,n=0){return he(t,[4,4,4],([i,a,o])=>e.EPDFAnnot_GetColor(r,n,i,a,o)?Li(_e(t,i)&255,_e(t,a)&255,_e(t,o)&255):null)}function hs(e,t,r,n){return Y(t,4,i=>e.EPDFAnnot_GetBooleanValue(r,n,i)?_e(t,i)!==0:null)}function hr(e,t,r){return Y(t,4,n=>e.EPDFAnnot_GetOpacity(r,n)?jl(pe(t,n)):null)}function nd(e,t,r){return Y(t,4,n=>({styleCode:e.EPDFAnnot_GetBorderStyle(r,n),width:pe(t,n)}))}function wS(e,t,r){let n=e.EPDFAnnot_GetBorderDashPatternCount(r);return n<=0?[]:Y(t,n*4,i=>{if(!e.EPDFAnnot_GetBorderDashPattern(r,i,n))return[];let a=[];for(let o=0;o{if(!e.EPDFAnnot_GetBorderEffect(r,n))return null;let i=pe(t,n);return i>0?i:null})}function bS(e,t,r){return he(t,[4,4,4,4],([n,i,a,o])=>e.EPDFAnnot_GetRectangleDifferences(r,n,i,a,o)?{left:pe(t,n),bottom:pe(t,i),right:pe(t,a),top:pe(t,o)}:null)}function Rh(e,t,r){let n=e.FPDFAnnot_GetVertices(r,W,0);return n<=0?[]:Y(t,n*8,i=>{let a=e.FPDFAnnot_GetVertices(r,i,n);if(a<=0)return[];let o=[];for(let s=0;s{let d=e.FPDFAnnot_GetInkListPath(r,a,A,o);if(d<=0)return[];let p=[];for(let m=0;m0&&i.push(s)}return i}function Mh(e,t,r){return he(t,[8,8],([n,i])=>e.FPDFAnnot_GetLine(r,n,i)?{start:{x:pe(t,n,0),y:pe(t,n,4)},end:{x:pe(t,i,0),y:pe(t,i,4)}}:null)}function wm(e,t,r){return he(t,[4,4],([n,i])=>e.EPDFAnnot_GetLineEndings(r,n,i)?{start:Xv(_e(t,n)),end:Xv(_e(t,i))}:{start:"none",end:"none"})}function Oa(e,t,r){return he(t,[4,4,4,4,4],([n,i,a,o,s])=>e.EPDFAnnot_GetDefaultAppearance(r,n,i,a,o,s)?{fontCode:_e(t,n),fontSize:pe(t,i),color:Li(_e(t,a)&255,_e(t,o)&255,_e(t,s)&255)}:null)}function rd(e,t,r){return he(t,[4,4],([n,i])=>{let a=fe(t,(o,s)=>e.EPDFAnnot_GetDefaultAppearanceFontFace(r,o,s,n,i),null);return a?{family:a,weight:_e(t,n),italic:_e(t,i)!==0}:null})}function bm(e,t){return e.EPDFAnnot_GetTextAlignment(t)}function fS(e,t,r){return e.FPDFAnnot_HasKey(r,"OverlayText")?fe(t,(n,i)=>e.EPDFAnnot_GetOverlayText(r,n,i),""):null}function gS(e,t){return e.EPDFAnnot_GetOverlayTextRepeat(t)}function kr(e,t,r){let n=e.EPDFAnnot_GetIntent(r,W,0);if(n<=0)return null;let i=(n+1)*2;return Y(t,i,a=>(e.EPDFAnnot_GetIntent(r,a,i),t.readU16String(a)))}function FS(e,t,r){let n=e.EPDFAnnot_GetCalloutLineCount(r);return n<=0?[]:Y(t,n*8,i=>{let a=e.EPDFAnnot_GetCalloutLine(r,i,n);if(a<=0)return[];let o=[];for(let s=0;s{let a=[];for(let o=0;ope(t,i,A);a.push(Jd([{x:s(0),y:s(4)},{x:s(8),y:s(12)},{x:s(16),y:s(20)},{x:s(24),y:s(28)}]))}return a})}function gm(e,t,r){return Ye(t,(n,i)=>e.EPDFAnnot_GetName(r,n,i))}function Lh(e,t,r){return Ye(t,(n,i)=>e.EPDFAnnot_GetAppearanceState(r,n,i))}function vS(e,t,r){let n=e.EPDFAnnot_GetStructurePosition(r,W,0);return n<=0?null:Y(t,4*n,i=>(e.EPDFAnnot_GetStructurePosition(r,i,n),Array.from({length:n},(a,o)=>Number(t.peek(i,"i32",4*o))>>>0)))}function PS(e,t,r,n){let i=[],a=e.EPDFAnnot_GetAppearanceStateCount(r,n);for(let o=0;oe.EPDFAnnot_GetAppearanceStateName(r,n,o,A,d));s!==null&&i.push(s)}return i}var hS="Rotation";function Fm(e){let t=jl((-jl(e)%360+360)%360+0);return t===0||t===360?void 0:t}function id(e){let t=(-e%360+360)%360+0;return t>180?t-360:t}function kS(e,t,r){if(e.EPDFAnnot_HasEmbedMetadata(r))return Y(t,4,n=>{if(e.EPDFAnnot_GetEmbedMetadataNumber(r,hS,n))return Fm(pe(t,n))})}var Nh=new Set([L.SQUARE,L.CIRCLE,L.FREETEXT,L.STAMP,L.CARET]),jh=.05,DS=.002,BS=[90,180,270],ES=.01,ks=e=>(e%360+360)%360;function vm(e,t){let r=Math.abs(ks(e)-ks(t));return Math.min(r,360-r)}var ws=(e,t)=>vm(e,t)<=jh;function _S(e){let t=Math.hypot(e.a,e.b);if(!(t>0))return;let r=DS*t;if(Math.abs(e.a-e.d)>r||Math.abs(e.b+e.c)>r)return;let n=ks(Math.atan2(e.b,e.a)*180/Math.PI);return vm(n,0)>jh?n:void 0}function yS(e,t,r){if(e.FPDFAnnot_HasKey(r,"Rotate"))return Y(t,4,n=>e.EPDFAnnot_GetRotate(r,n)?pe(t,n):void 0)}function Kh(e,t,r){if(!e.EPDFAnnot_HasEmbedMetadata(r))return;let n=Y(t,4,a=>e.EPDFAnnot_GetEmbedMetadataNumber(r,"Rotation",a)?ks(pe(t,a)):void 0);if(n===void 0||vm(n,0)e.EPDFAnnot_GetEmbedMetadataRect(r,"UnrotatedRect",a)?Ce(Gn(t,a)):void 0);if(!(!i||i.right<=i.left||i.top<=i.bottom))return{degrees:n,box:i}}function GS(e,t,r,n){return Y(t,16,i=>Y(t,24,a=>{if(!e.EPDFAnnot_GetAppearanceTransform(r,i,a))return;let o=Z2(t,a),s=_S(o);if(s===void 0)return;let A=Ce(Gn(t,i)),d=Math.hypot(o.a,o.b),p=(A.left+A.right)/2,m=(A.bottom+A.top)/2,F=o.a*p+o.c*m+o.e,h=o.b*p+o.d*m+o.f,P=(A.right-A.left)*d/2,B=(A.top-A.bottom)*d/2;return{degrees:n!==void 0&&ws(n,s)?ks(n):Math.round(s*100)/100,box:{left:F-P,bottom:h-B,right:F+P,top:h+B}}}))}function Vh(e,t,r){let n=Ce(Is(e,t,r)),i=bS(e,t,r);if(!i)return n;let a={left:n.left+i.left,bottom:n.bottom+i.bottom,right:n.right-i.right,top:n.top-i.top};return a.left<=a.right&&a.bottom<=a.top?a:n}function ad(e,t,r){let n=CS(e,t,r);if(!n)return;let i=Fm(n.degrees);return i===void 0?void 0:{rotation:i,box:n.box}}function Qa(e,t,r){let n=ad(e,t,r);return n?{box:n.box,rotation:n.rotation}:{box:Vh(e,t,r),rotation:null}}function CS(e,t,r){let n=e.FPDFAnnot_GetSubtype(r);if(!Nh.has(n))return;let i=yS(e,t,r),a=GS(e,t,r,i),o=Vh(e,t,r),s=n===L.FREETEXT,A=s&&i!==void 0?BS.find(P=>ws(i,P)):void 0,d=Kh(e,t,r);if(d&&Or(fn(d.box,d.degrees),o)&&(a?ws(a.degrees,d.degrees):!e.EPDFAnnot_HasAppearanceStream(r,0)||s&&(e.FPDFAnnot_HasKey(r,"CL")||A!==void 0&&ws(A,d.degrees))))return d;if(a)return a;if(A===void 0)return;if(A===180)return{degrees:A,box:o};let p=(o.left+o.right)/2,m=(o.bottom+o.top)/2,F=(o.top-o.bottom)/2,h=(o.right-o.left)/2;return{degrees:A,box:{left:p-F,bottom:m-h,right:p+F,top:m+h}}}function IS(e,t,r){let n=Kh(e,t,r);if(!n)return;let i=Fm(n.degrees);return i===void 0?void 0:{rotation:i,box:n.box}}function SS(e,t){return!e||!t?!e&&!t:ws(e.rotation,t.rotation)&&Or(e.box,t.box)}function xS(e,t){return Nh.has(e.FPDFAnnot_GetSubtype(t))}var Yh="Replace",Xh="StrikeOutTextEdit";function Wh(e){if(e==="replace")return Yh}function HS(e){return e===Yh?"replace":null}function Uh(e){if(e==="strikeout-text-edit")return Xh}function OS(e){return e===Xh?"strikeout-text-edit":null}var QS="#ff0000";function RS(e,t,r,n){let i=Jn(e,t,r)??QS,a=hr(e,t,r),o=a==null?1:Math.max(0,Math.min(1,a)),s=HS(kr(e,t,r));return{...n,richText:An(e,t,r),subtype:"caret",intent:s,color:i,opacity:o,...Qa(e,t,r)}}function TS(e,t,r,n){return fe(t,(i,a)=>e.EPDFDoc_GetAttachmentKey(r,n,i,a))}function Rc(e,t,r,n){let i=t.writeU16String(n.key);try{return e.EPDFDoc_GetAttachmentIndexByKey(r,i)}finally{t.free(i)}}function Pm(e,t,r,n,i,a){let o=a.bytes.byteLength;if(o===0){if(!e.FPDFAttachment_SetFile(r,n,W,0))throw new g(f.Unknown,"FPDFAttachment_SetFile returned false")}else{let s=t.alloc(o);try{if(t.writeBytes(s,new Uint8Array(a.bytes)),!e.FPDFAttachment_SetFile(r,n,s,o))throw new g(f.Unknown,"FPDFAttachment_SetFile returned false")}finally{t.free(s)}}if(Yt(t,gt(new Date),s=>e.FPDFAttachment_SetStringValue(r,"CreationDate",s)),i.mimeType&&!e.EPDFAttachment_SetSubtype(r,i.mimeType))throw new g(f.Unknown,"EPDFAttachment_SetSubtype returned false");if(i.description!==void 0&&!Yt(t,i.description,s=>e.EPDFAttachment_SetDescription(r,s)))throw new g(f.Unknown,"EPDFAttachment_SetDescription returned false")}function Ga(e,t,r){let n=fe(t,(p,m)=>e.FPDFAttachment_GetName(r,p,m))??"",i=fe(t,(p,m)=>e.FPDFAttachment_GetSubtype(r,p,m)),a=fe(t,(p,m)=>e.EPDFAttachment_GetDescription(r,p,m)),o=Wv(e,t,r,"CreationDate"),s=Wv(e,t,r,"ModDate"),A=NS(Zh(e,t,r,"CheckSum")),d=LS(e,t,r);return{name:n,mimeType:i||null,description:a||null,sizeBytes:d,md5:A||null,createdAt:o||null,modifiedAt:s||null}}function qh(e,t,r){let{fn:n,mem:i}=e,a=i.alloc(8),o=i.alloc(4),s=i.alloc(4),A=null;try{if(i.poke(a,"ptr",0),i.poke(o,"i32",0),i.poke(s,"i32",-1),!n.EPDFAttachment_ExtractFileToOwnedBuffer(t,BigInt(r??0),a,o,s))throw zh(Number(i.peek(s,"i32")),r);let d=Number(i.peek(o,"i32"))>>>0;if(A=i.peek(a,"ptr"),d===0||!A)return{bytes:new ArrayBuffer(0),size:0};let p=i.readBytes(A,d),m=new ArrayBuffer(p.byteLength);return new Uint8Array(m).set(p),{bytes:m,size:d}}finally{A&&n.EPDF_FreeBuffer(A),i.free(s),i.free(o),i.free(a)}}function MS(e,t,r,n){let{fn:i,mem:a}=e,o=a.alloc(4),s=a.alloc(4),A=e.fileWrite.toNodeFile(r);try{if(a.poke(o,"i32",0),a.poke(s,"i32",-1),!i.EPDFAttachment_ExtractFile(t,A.ptr,BigInt(n??0),o,s))throw zh(Number(a.peek(s,"i32")),n);return{size:Number(a.peek(o,"i32"))>>>0}}finally{A.close(),a.free(s),a.free(o)}}function zh(e,t){switch(e){case 1:return new g(f.InvalidArg,"attachment has no embedded file stream (missing /EF)");case 2:return new g(f.MalformedPdf,"embedded file stream failed to decode");case 3:return new g(f.PayloadTooLarge,`the embedded file decodes to more than ${t} bytes, the limit`,{details:{limit:t}});case 4:return new g(f.Unknown,"writing the extracted attachment failed");default:return new g(f.Unknown,`attachment extraction failed (status ${e})`)}}function Zh(e,t,r,n){return e.FPDFAttachment_HasKey(r,n)?fe(t,(i,a)=>e.FPDFAttachment_GetStringValue(r,n,i,a),null):null}function Wv(e,t,r,n){let i=Zh(e,t,r,n);return i?zn(i):null}function LS(e,t,r){let n=t.alloc(4);try{if(!e.EPDFAttachment_GetIntegerValue(r,"Size",n))return null;let i=Number(t.peek(n,"i32"));return i>=0?i:null}finally{t.free(n)}}function NS(e){if(!e)return null;let t=e.startsWith("<")&&e.endsWith(">")?e.slice(1,-1):e;return/^[0-9a-fA-F]+$/.test(t)?t.toLowerCase():e}var Jh=Object.freeze({comment:"Comment",key:"Key",note:"Note",help:"Help","new-paragraph":"NewParagraph",paragraph:"Paragraph",insert:"Insert"}),jS=Object.freeze(Object.fromEntries(Object.entries(Jh).map(([e,t])=>[t,e]))),$h=Object.freeze({graph:"Graph","push-pin":"PushPin",paperclip:"Paperclip",tag:"Tag"}),KS=Object.freeze(Object.fromEntries(Object.entries($h).map(([e,t])=>[t,e]))),VS="#ffff00",YS="push-pin";function XS(e,t,r,n){let i=Jn(e,t,r)??VS,a=hr(e,t,r),o=a==null?1:Math.max(0,Math.min(1,a)),s=KS[gm(e,t,r)??""]??YS,A=e.FPDFAnnot_GetFileAttachment(r),d=A?Ga(e,t,A):null;return{...n,richText:An(e,t,r),subtype:"file-attachment",icon:s,file:d,color:i,opacity:o}}var Ne={Color:0,InteriorColor:1,OverlayColor:2,TextColor:3},e3={"free-text":"FreeText","free-text-callout":"FreeTextCallout","free-text-typewriter":"FreeTextTypeWriter"};function t3(e){return e3[e]}function n3(e){return Object.entries(e3).find(([,t])=>t===e)?.[0]??"free-text"}var Yc={courier:0,"courier-bold":1,"courier-bold-oblique":2,"courier-oblique":3,helvetica:4,"helvetica-bold":5,"helvetica-bold-oblique":6,"helvetica-oblique":7,"times-roman":8,"times-bold":9,"times-bold-italic":10,"times-italic":11,symbol:12,"zapf-dingbats":13},WS=Object.fromEntries(Object.entries(Yc).map(([e,t])=>[t,e])),r3="helvetica";function US(e){return Yc[e]??Yc.helvetica}function qS(e){return Object.prototype.hasOwnProperty.call(Yc,e)}function hm(e){return WS[e]??"helvetica"}var i3=0,a3=1,o3=2;function Ss(e){switch(e){case"center":return a3;case"right":return o3;default:return i3}}function km(e){switch(e){case a3:return"center";case o3:return"right";case i3:default:return"left"}}var zS="VerticalAlignment",s3=["top","middle","bottom"];function ZS(e){return s3.indexOf(e)}function JS(e){return e!==void 0&&s3[e]||"top"}function od(e,t,r,n,i){let a=i?.keyForFace(n.family,n.weight,n.italic);if(a!==void 0)return a;let o=$s(n);if(Ir(o))return o;let s=rd(e,t,r);if(s&&wn(s.family)===wn(n.family)&&s.weight===n.weight&&s.italic===n.italic){let A=Ye(t,(d,p)=>e.EPDFAnnot_GetDefaultAppearanceFontPostScriptName(r,d,p));if(A)return A}return wc({familyName:n.family,weight:n.weight,italic:n.italic},null)}function $S(e,t,r){if(!e.EPDFAnnot_HasEmbedMetadata(r))return null;let n=A3(e,t,r,"SchemaVersion"),i=Ea(e,t,r,"UserID"),a=Ea(e,t,r,"GroupID"),o=Ea(e,t,r,"CreatedBy"),s=Ea(e,t,r,"UpdatedBy"),A=Ea(e,t,r,"ImportedBy"),d={};return n!==void 0&&(d.schemaVersion=n),i!==void 0&&(d.userId=i),a!==void 0&&(d.groupId=a),o!==void 0&&(d.createdBy=o),s!==void 0&&(d.modifiedBy=s),A!==void 0&&(d.importedBy=A),d}function Ea(e,t,r,n){let i=e.EPDFAnnot_GetEmbedMetadataString(r,n,W,0);if(i<=2)return;let a=t.alloc(i);try{return e.EPDFAnnot_GetEmbedMetadataString(r,n,a,i)<=0?void 0:t.readU16String(a)}finally{t.free(a)}}function A3(e,t,r,n){let i=t.alloc(4);try{return e.EPDFAnnot_GetEmbedMetadataNumber(r,n,i)?Number(t.peek(i,"f32")):void 0}finally{t.free(i)}}var c3=1,d3=2,u3=3,p3=4,l3=5;function Dm(e){switch(e){case"dashed":return d3;case"beveled":return u3;case"inset":return p3;default:return c3}}function Bm(e){switch(e){case d3:return"dashed";case u3:return"beveled";case p3:return"inset";case c3:default:return"solid"}}function ex(e){return e==="underline"?l3:Dm(e)}function m3(e){return e===l3?"underline":Bm(e)}function Em(e,t,r){let{styleCode:n,width:i}=nd(e,t,r),a=wS(e,t,r);return{strokeWidth:i,borderStyle:Bm(n),dashArray:a.length>0?a:null}}function w3(e,t,r){let n=Jn(e,t,r,Ne.Color),i=hr(e,t,r);return{color:n,opacity:i==null?1:Math.max(0,Math.min(1,i)),...Em(e,t,r)}}function sd(e,t,r){let n=Jn(e,t,r,Ne.InteriorColor);return{...w3(e,t,r),interiorColor:n??null}}var tx="#000000",nx=12;function rx(e,t,r,n,i,a){let o=Oa(e,t,r),s=o?.color??tx,A=uS(e,t,r),d=a?.fonts,p=A?od(e,t,r,A.body,d):o?hm(o.fontCode):r3,m=A&&A.body.size>0?A.body.size:o&&o.fontSize>0?o.fontSize:nx,F=A??{body:{family:"Helvetica",weight:400,italic:!1,size:m,color:s,decoration:[],script:"normal",letterSpacing:0,horizontalScale:1,align:"left",dir:"ltr"},paragraphs:[{runs:[{text:n.contents??""}]}]},h=F.body.color.toLowerCase(),P=Jn(e,t,r,Ne.Color),B=hr(e,t,r),y=B==null?1:Math.max(0,Math.min(1,B)),x=A?A.body.align:km(bm(e,r)),I=JS(A3(e,t,r,zS)),S=n3(kr(e,t,r)),G=FS(e,t,r),Q=G.length===2?[G[0],G[1]]:G.length===3?[G[0],G[1],G[2]]:void 0,K=wm(e,t,r).end;return{...n,subtype:"free-text",intent:S,fontFamily:p,fontSize:m,textAlign:x,verticalAlign:I,richText:F,color:s,fontColor:h,interiorColor:P??null,opacity:y,...Em(e,t,r),cloudyIntensity:mm(e,t,r),...Qa(e,t,r),calloutLine:Q??null,lineEnding:Q!==void 0&&K!=="none"?K:null}}function ix(e,t,r){switch(e.FPDFAnnot_GetSubtype(r)){case L.LINE:{let n=Mh(e,t,r);return n?[[n.start,n.end]]:[]}case L.POLYGON:case L.POLYLINE:return[Rh(e,t,r)];case L.INK:return Th(e,t,r).map(n=>[...n]);default:return[]}}function ax(e,t,r){let n=kS(e,t,r);if(n===void 0)return;let i=Y(t,16,a=>e.EPDFAnnot_GetEmbedMetadataRect(r,"UnrotatedRect",a)?Ce(Gn(t,a)):void 0);return i?{rotation:n,box:i}:void 0}function Ad(e,t,r,n){let i=n.flat();if(i.length===0)return;let a=ax(e,t,r);if(!a)return;let{box:o}=a,s={degrees:a.rotation,center:{x:(o.left+o.right)/2,y:(o.bottom+o.top)/2}};return Or(nr(i.map(A=>Ti(A,s))),o)?s:void 0}var Pi=(e,t)=>t?Ti(e,t):e;function b3(e){if(e==="ink-highlight")return"InkHighlight"}function ox(e){return e==="InkHighlight"?"ink-highlight":null}function sx(e,t,r,n){let i=Th(e,t,r),a=Ad(e,t,r,i),o=ox(kr(e,t,r));return{...n,richText:An(e,t,r),subtype:"ink",...w3(e,t,r),intent:o,inkList:i.map(s=>s.map(A=>Pi(A,a))),rotation:a?.degrees??null}}var Ax={"line-arrow":"LineArrow","line-dimension":"LineDimension","polygon-cloud":"PolygonCloud","polygon-dimension":"PolygonDimension","polyline-dimension":"PolyLineDimension"};function cx(e){return Ax[e]}function dx(e){return e==="LineArrow"?"line-arrow":e==="LineDimension"?"line-dimension":null}function ux(e){return e==="PolygonCloud"?"polygon-cloud":e==="PolygonDimension"?"polygon-dimension":null}function px(e){return e==="PolyLineDimension"?"polyline-dimension":null}function _m(e,t,r){return{measure:ch(e,t,e.EPDFAnnot_GetMeasure(r))??null}}function lx(e,t,r){if(["Cap","CP","CO"].some(n=>e.FPDFAnnot_HasKey(r,n)))return he(t,[4,4,8],([n,i,a])=>{if(e.EPDFAnnot_GetLineCaption(r,n,i,a))return{enabled:!!t.peek(n,"i32"),position:t.peek(i,"i32")===1?"top":"inline",...e.FPDFAnnot_HasKey(r,"CO")?{offset:{along:Number(t.peek(a,"f32")),perpendicular:Number(t.peek(a,"f32",4))}}:{}}})}function f3(e,t,r){return he(t,[4,4,8],([n,i,a])=>{if(!e.EPDFAnnot_GetShapeCaption(r,n,i,a))return;let o=!!t.peek(n,"i32"),s=!!t.peek(i,"i32");if(!(!e.EPDFAnnot_GetEmbedMetadataBoolean(r,"MeasurementCaption",n)&&!s))return{enabled:o,...s?{center:{x:Number(t.peek(a,"f32")),y:Number(t.peek(a,"f32",4))}}:{}}})}function mx(e,t,r){if(["LL","LLE","LLO"].some(n=>e.FPDFAnnot_HasKey(r,n)))return he(t,[4,4,4],([n,i,a])=>{if(e.EPDFAnnot_GetLineLeader(r,n,i,a))return{length:Number(t.peek(n,"f32")),extension:Number(t.peek(i,"f32")),offset:Number(t.peek(a,"f32"))}})}var wx={start:{x:0,y:0},end:{x:0,y:0}};function bx(e,t,r,n){let i=Mh(e,t,r)??wx,a=Ad(e,t,r,[[i.start,i.end]]),o=kr(e,t,r),s=lx(e,t,r),A=mx(e,t,r);return{...n,richText:An(e,t,r),..._m(e,t,r),intent:dx(o),captionEnabled:s?.enabled??!1,captionPosition:s?.position??"inline",captionOffset:s?.offset??null,leader:A??null,subtype:"line",...sd(e,t,r),linePoints:{start:Pi(i.start,a),end:Pi(i.end,a)},lineEndings:wm(e,t,r),rotation:a?.degrees??null}}function g3(e,t,r,n){let i=n.page.objectNumber,a=n.kind==="xyz"?e.EPDFDest_CreateXYZByObjectNumber(r,i,n.left!=null,n.left??0,n.top!=null,n.top??0,n.zoom!=null,n.zoom??0):fx(e,t,r,i,n);if(!a)throw new g(f.NotFound,`destination page not found: pageObjectNumber=${i}`);return a}function fx(e,t,r,n,i){let a=(()=>{switch(i.kind){case"fitH":case"fitBH":return i.top!=null?[i.top]:[];case"fitV":case"fitBV":return i.left!=null?[i.left]:[];case"fitR":return[i.left,i.bottom,i.right,i.top];default:return[]}})(),o=J2[i.kind];return a.length?Y(t,a.length*4,s=>{for(let A=0;A!o)){e.EPDFAnnot_SetEmbedMetadataNumber(r,ym,1);for(let[o,s]of a)s&&Fr(e,t,r,o,s)}}function Fr(e,t,r,n,i){let a=t.writeU16String(i);try{e.EPDFAnnot_SetEmbedMetadataString(r,n,a)}finally{t.free(a)}}var Kl="AppearanceFit",xx=["contain","cover","fill"];function Im(e,t,r){let n=Ea(e,t,r,Kl);return n!==void 0&&xx.includes(n)?n:null}function Sm(e,t,r,n){if(n===null){e.EPDFAnnot_ClearEmbedMetadataKey(r,Kl);return}e.EPDFAnnot_HasEmbedMetadata(r)||e.EPDFAnnot_SetEmbedMetadataNumber(r,"SchemaVersion",1),Fr(e,t,r,Kl,n)}function Hx(e,t,r,n){return{...n,richText:An(e,t,r),subtype:"stamp",name:gm(e,t,r),fit:Im(e,t,r),opacity:hr(e,t,r)??1,...Qa(e,t,r)}}var _3={review:"Review",marked:"Marked"},y3={accepted:"Accepted",rejected:"Rejected",cancelled:"Cancelled",completed:"Completed",none:"None",marked:"Marked",unmarked:"Unmarked"},Ox=I3(_3),Qx=I3(y3);function G3(e){return _3[e]??e}function Rx(e){return Ox[e]??e}function C3(e){return y3[e]??e}function Tx(e){return Qx[e]??e}function I3(e){return Object.fromEntries(Object.entries(e).map(([t,r])=>[r,t]))}var Mx="#ffff00",Lx="note";function Nx(e,t,r,n){let i=Jn(e,t,r)??Mx,a=hr(e,t,r),o=a==null?1:Math.max(0,Math.min(1,a)),s=jS[gm(e,t,r)??""]??Lx,A=Un(e,t,r,"State"),d=Un(e,t,r,"StateModel");return{...n,richText:An(e,t,r),subtype:"text",icon:s,open:hs(e,t,r,"Open")??jx(e,t,r)??!1,color:i,opacity:o,state:A===null?null:Tx(A),stateModel:d===null?null:Rx(d)}}function jx(e,t,r){let n=e.FPDFAnnot_GetLinkedAnnot(r,"Popup");if(!n)return null;try{return hs(e,t,n,"Open")}finally{e.FPDFPage_CloseAnnot(n)}}var Kx="#ffff00",Vx="#000000";function cd(e,t,r,n=Vx){let i=Jn(e,t,r)??n,a=hr(e,t,r);return{color:i,opacity:a==null?1:Math.max(0,Math.min(1,a)),quadPoints:fm(e,t,r),richText:An(e,t,r)}}function Yx(e,t,r,n){let i=cd(e,t,r,Kx);return{...n,subtype:"highlight",...i}}function Xx(e,t,r,n){let i=cd(e,t,r);return{...n,subtype:"underline",...i}}function Wx(e,t,r,n){let i=cd(e,t,r);return{...n,subtype:"squiggly",...i}}function Ux(e,t,r,n){let i=cd(e,t,r),a=OS(kr(e,t,r));return{...n,subtype:"strikeout",intent:a,...i}}function qx(e,t,r,n,i){let a=Un(e,t,r,"Subtype");return{...n,subtype:"unsupported",rawSubtypeCode:i,rawSubtypeName:a}}function S3(e,t,r){let n=Rh(e,t,r),i=Ad(e,t,r,[n]),a=f3(e,t,r);return{vertices:n.map(o=>Pi(o,i)),rotation:i?.degrees??null,captionEnabled:a?.enabled??null,captionCenter:a?.center?Pi(a.center,i):null}}function zx(e,t,r,n){let{captionEnabled:i,captionCenter:a,...o}=S3(e,t,r),s=kr(e,t,r);return{...n,richText:An(e,t,r),..._m(e,t,r),captionEnabled:i,captionCenter:a,intent:ux(s),subtype:"polygon",...sd(e,t,r),...o,cloudyIntensity:mm(e,t,r)}}function Zx(e,t,r,n){let{captionEnabled:i,captionCenter:a,...o}=S3(e,t,r),s=kr(e,t,r);return{...n,richText:An(e,t,r),..._m(e,t,r),captionEnabled:i,captionCenter:a,intent:px(s),subtype:"polyline",...sd(e,t,r),...o,lineEndings:wm(e,t,r)}}var Jx=0,$x=1,eH=0,Fl=4;function qv(e,t,r,n){return he(t,[Fl,Fl,Fl],([i,a,o])=>e.EPDFAnnot_GetMKColor(r,n,i,a,o)?Li(_e(t,i)&255,_e(t,a)&255,_e(t,o)&255):null)}function x3(e,t){return Ri(-e.EPDFAnnot_GetMKRotation(t))||null}function tH(e,t,r,n,i,a){let o=Em(e,t,r),s=Oa(e,t,r),A=rd(e,t,r),d=a?.fonts,p=x3(e,r);return{...n,box:Hr(n.rect,p??0),rotation:p,groupId:null,userId:null,createdBy:null,modifiedBy:null,importedBy:null,subtype:"widget",color:qv(e,t,r,Jx),interiorColor:qv(e,t,r,$x),strokeWidth:o.strokeWidth,borderStyle:m3(nd(e,t,r).styleCode),dashArray:o.dashArray,fontFamily:A?od(e,t,r,A,d):null,fontSize:s?s.fontSize:null,fontColor:s?s.color:null,textAlign:km(bm(e,r)),caption:fe(t,(m,F)=>e.EPDFAnnot_GetMKText(r,eH,m,F)),checkStyle:null,field:null,fieldKind:"unknown",hasMark:Im(e,t,r)!==null}}var zv={highlight:Yx,underline:Xx,squiggly:Wx,strikeout:Ux,circle:_x,square:yx,polygon:zx,polyline:Zx,line:bx,link:gx,ink:sx,"free-text":rx,caret:RS,text:Nx,stamp:Hx,"file-attachment":XS,widget:tH,redact:Ex,popup:hx,unsupported:qx};function H3(e){let t=qr(e),r=zv[t];return r?{reader:r,subtype:t}:{reader:zv.unsupported,subtype:"unsupported"}}var nH="SchemaVersion",O3="GroupID",xm="CreatedBy",Hm="CreatedAt",dd="FilledBy",ud="FilledByName",pd="FilledAt",Om="ImportedBy",rH={createdBy:null,createdAt:null,filledBy:null,filledByName:null,filledAt:null,importedBy:null};function iH(e,t,r){let{fn:n,mem:i}=e;if(!n.EPDFForm_HasFieldEmbedMetadata(t,r))return rH;let a=s=>fe(i,(A,d)=>n.EPDFForm_GetFieldEmbedMetadataString(t,r,s,A,d),null),o=s=>{let A=a(s);return A===null?null:zn(A)};return{createdBy:a(xm),createdAt:o(Hm),filledBy:a(dd),filledByName:a(ud),filledAt:o(pd),importedBy:a(Om)}}function Qm(e,t,r){let{fn:n,mem:i}=e;return n.EPDFForm_HasFieldEmbedMetadata(t,r)?fe(i,(a,o)=>n.EPDFForm_GetFieldEmbedMetadataString(t,r,O3,a,o),null):null}function Zv(e,t,r,n){xs(e,t,r,[[O3,n]])}function aH(e,t,r,n,i=new Date){n.userId&&xs(e,t,r,[[xm,n.userId],[Hm,gt(i)]])}function oH(e,t,r,n,i=new Date){if(!n.userId){Q3(e,t,r);return}xs(e,t,r,[[dd,n.userId],[ud,n.displayName??null],[pd,gt(i)]])}function sH(e,t,r,n,i){xs(e,t,r,[[xm,n.createdBy],[Hm,n.createdAt?gt(n.createdAt):null],[Om,i]])}function Jv(e,t,r,n,i){xs(e,t,r,[[dd,n.filledBy],[ud,n.filledByName],[pd,n.filledAt?gt(n.filledAt):null],[Om,i]])}function Q3(e,t,r){for(let n of[dd,ud,pd])R3(e,t,r,n)}function xs(e,t,r,n){let{fn:i,mem:a}=e;if(!i.EPDFForm_SetFieldEmbedMetadataNumber(t,r,nH,1))throw Vl(r);for(let[o,s]of n){if(s===null){R3(e,t,r,o);continue}let A=a.writeU16String(s);try{if(!i.EPDFForm_SetFieldEmbedMetadataString(t,r,o,A))throw Vl(r)}finally{a.free(A)}}}function R3(e,t,r,n){if(!e.fn.EPDFForm_ClearFieldEmbedMetadataKey(t,r,n))throw Vl(r)}function Vl(e){return new g(f.Unknown,`the metadata of field ${e} could not be written`)}var Rm={0:"unknown",1:"pushbutton",2:"checkbox",3:"radio",4:"text",5:"combobox",6:"listbox",7:"signature"},AH={0:"none",1:"acroform",2:"xfa"},cH=1,dH=2,uH=4,pH=4096,lH=8192,mH=16384,wH=1<<18,bH=1<<21,fH=1<<24,gH=1<<25;function Ds(e,t){return fe(e.mem,t)??""}function $v(e,t){return fe(e.mem,t,null)}function T3(e,t,r,n){let{fn:i}=e;return Ct(i.EPDFForm_GetFieldWidgetObjNum(t,r,n),Tm(i.EPDFForm_GetFieldWidgetPageObjNum(t,r,n)))}function eP(e,t,r){let{fn:n}=e,i=n.EPDFForm_CountFieldWidgets(t,r),a=[];for(let o=0;on.EPDFForm_GetFieldWidgetOnState(t,r,o,s,A))??"",exportValue:Ds(e,(s,A)=>n.EPDFForm_GetFieldWidgetExportValue(t,r,o,s,A)),checked:n.EPDFForm_IsFieldWidgetChecked(t,r,o)});return a}function ss(e,t,r){let n=e.fn.EPDFForm_CountFieldWidgets(t,r),i=[];for(let a=0;an.EPDFForm_GetFieldOptionLabel(t,r,o,s,A)),value:Ds(e,(s,A)=>n.EPDFForm_GetFieldOptionValue(t,r,o,s,A)),selected:n.EPDFForm_IsFieldOptionSelected(t,r,o)});return a}function qe(e,t,r,n,i=new Di){let{fn:a}=e,o=a.EPDFForm_GetFieldObjNum(t,r),s=Ds(e,(y,x)=>a.EPDFForm_GetFieldName(t,r,y,x)),A=a.EPDFForm_GetFieldFlags(t,r),d=Rm[a.EPDFForm_GetFieldFamily(t,r)]??"unknown",p=nP(e,t,r,!1),m=nP(e,t,r,!0),F=vH(e,t,r,n,i),h={ref:o>0?{kind:"objectNumber",objectNumber:o}:{kind:"fqn",name:s},name:s,kind:d,origin:a.EPDFForm_GetFieldOrigin(t,r)===1?"recovered":"acroform",readOnly:(A&cH)!==0,required:(A&dH)!==0,noExport:(A&uH)!==0,alternateName:$v(e,(y,x)=>a.EPDFForm_GetFieldAlternateName(t,r,y,x)),mappingName:$v(e,(y,x)=>a.EPDFForm_GetFieldMappingName(t,r,y,x)),valueEntry:p,defaultValueEntry:m,...F?{actions:F}:{},groupId:Qm(e,t,r),...iH(e,t,r),widgets:[]},P=vl(p),B=vl(m);switch(d){case"text":{let y=a.EPDFForm_GetFieldMaxLen(t,r);return{...h,kind:d,value:P,defaultValue:B,maxLength:y>0?y:null,multiline:(A&pH)!==0,password:(A&lH)!==0,comb:(A&fH)!==0,widgets:ss(e,t,r)}}case"checkbox":{let y=eP(e,t,r);return{...h,kind:d,checked:y.some(x=>x.checked),exportValue:y[0]?.exportValue??"Yes",widgets:y}}case"radio":{let y=eP(e,t,r);return{...h,kind:d,value:y.find(x=>x.checked)?.exportValue??"Off",radiosInUnison:(A&gH)!==0,noToggleToOff:(A&mH)!==0,widgets:y}}case"combobox":return{...h,kind:d,value:P,defaultValue:B,edit:(A&wH)!==0,options:tP(e,t,r),widgets:ss(e,t,r)};case"listbox":{let y=tP(e,t,r);return{...h,kind:d,selectedValues:y.filter(x=>x.selected).map(x=>x.value),defaultValue:FH(m),multiSelect:(A&bH)!==0,options:y,topIndex:MA(a.EPDFForm_GetFieldTopIndex(t,r),y),widgets:ss(e,t,r)}}case"pushbutton":case"signature":return{...h,kind:d,widgets:ss(e,t,r)};default:return{...h,kind:"unknown",rawValue:p.kind==="array"?p.values.join(","):vl(p),widgets:ss(e,t,r)}}}function M3(e,t,r){let{fn:n}=e,i=n.EPDFForm_CountFields(t),a=[],o=new Di;for(let d=0;d=0&&pn?i.EPDFForm_GetFieldDefaultValueAt(t,r,A,d,p):i.EPDFForm_GetFieldValueAt(t,r,A,d,p)));return a===1?{kind:"scalar",value:s[0]??""}:{kind:"array",values:s}}function vl(e){return e.kind==="scalar"?e.value:e.kind==="array"?e.values[0]??"":""}function FH(e){return e.kind==="scalar"?[e.value]:e.kind==="array"?[...e.values]:[]}function vH(e,t,r,n,i){let{fn:a,mem:o}=e,s=[["keystroke",0],["format",1],["validate",2],["calculate",3]],A={};for(let[d,p]of s){let m=vr(a,o,n,a.EPDFForm_GetFieldActionModel(t,r,p),i);m&&(A[d]=m)}return Object.keys(A).length>0?A:void 0}function Tm(e){return e>0?ue(e):null}var Yl={check:"4",cross:"8",star:"H",circle:"l",square:"n",diamond:"u"},PH=e=>Yl[e];function hH(e){return Object.keys(Yl).find(t=>e?.[0]===Yl[t])??null}var kH=0;function DH(e,t,r){if(r<=0)return 0;let n=Ee(e,t),i=e.fn.EPDFForm_GetFieldIndexForWidget(n,r);return i<0?0:e.fn.EPDFForm_GetFieldObjNum(n,i)}function Bs(e,t,r){for(let n of r){if(n.subtype!=="widget")continue;if(n.ref.kind!=="objectNumber"){n.caption=null,n.hasMark=!1;continue}let i=Ee(e,t),a=e.fn.EPDFForm_GetFieldIndexForWidget(i,n.ref.objectNumber),o=a<0?0:e.fn.EPDFForm_GetFieldObjNum(i,a);if(o<=0){n.field=null,n.fieldKind="unknown",n.caption=null,n.hasMark=!1;continue}n.field={kind:"objectNumber",objectNumber:o},n.fieldKind=Rm[e.fn.EPDFForm_GetFieldFamily(i,a)]??"unknown",(n.fieldKind==="checkbox"||n.fieldKind==="radio")&&(n.checkStyle=hH(n.caption??null)),n.fieldKind!=="pushbutton"&&(n.caption=null),n.hasMark=n.fieldKind==="signature"&&(n.hasMark||e.fn.EPDFForm_GetFieldValueKind(i,a)!==kH)}}function Mm(e){return e===L.WIDGET?"widgets":"annotations"}function BH(e){switch(e){case"normal":return 0;case"multiply":return 1;case"screen":return 2;case"overlay":return 3;case"darken":return 4;case"lighten":return 5;case"color-dodge":return 6;case"color-burn":return 7;case"hard-light":return 8;case"soft-light":return 9;case"difference":return 10;case"exclusion":return 11;case"hue":return 12;case"saturation":return 13;case"color":return 14;case"luminosity":return 15}}function L3(e){switch(e){case 1:return"multiply";case 2:return"screen";case 3:return"overlay";case 4:return"darken";case 5:return"lighten";case 6:return"color-dodge";case 7:return"color-burn";case 8:return"hard-light";case 9:return"soft-light";case 10:return"difference";case 11:return"exclusion";case 12:return"hue";case 13:return"saturation";case 14:return"color";case 15:return"luminosity";default:return"normal"}}var EH=0;function N3(e,t,r,n,i,a,o=new Di){let s=ue(i),A=Is(e,t,n),d=mS(e,n),p=Un(e,t,n,"Contents"),m=p===null?null:rr(p,`\n`),F=Un(e,t,n,"Subj"),h=Un(e,t,n,"T"),P=Un(e,t,n,"CreationDate"),B=Un(e,t,n,"M"),y=L3(e.EPDFAnnot_GetBlendMode(n)),x=$S(e,t,n),I=Px(e,t,r,n,i),S=h3(e,t,r,n,"Popup",i),G=_H(e,t,r,n,o);return{ref:Ha(e,t,r,s,n,a),page:s,hasAppearance:e.EPDFAnnot_HasAppearanceStream(n,EH),appearanceState:Lh(e,t,n),structurePosition:vS(e,t,n),nm:Un(e,t,n,"NM"),...d,rect:A,contents:m,subject:F,author:h,createdAt:P?zn(P):null,modifiedAt:B?zn(B):null,blendMode:y,reply:I.inReplyTo?{to:I.inReplyTo,type:I.replyType??"reply"}:null,popup:S,groupId:x?.groupId??null,userId:x?.userId??null,createdBy:x?.createdBy??null,modifiedBy:x?.modifiedBy??null,importedBy:x?.importedBy??null,actions:G??null}}function _H(e,t,r,n,i){let a=[["activate",0],["cursorEnter",1],["cursorExit",2],["mouseDown",3],["mouseUp",4],["focus",5],["blur",6],["pageOpen",7],["pageClose",8],["pageVisible",9],["pageInvisible",10]],o={};for(let[s,A]of a){let d=vr(e,t,r,e.EPDFAnnot_GetActionModel(n,A),i);d&&(o[s]=d)}return Object.keys(o).length>0?o:void 0}function j3(e){let{runtime:t,session:r,pageObjectNumber:n,count:i,getAnnotPtrAt:a,signal:o,fonts:s,family:A}=e,{fn:d,mem:p}=t,m=[],F=new Di,h=Ps(r,s);for(let P=0;PA?Y(this.runtime.mem,16,B=>(ah(this.runtime.mem,B,A.box),p.EPDF_RenderAnnotBitmapUnrotated(h,e,t,r,n,id(A.rotation),B,P,16))):p.EPDF_RenderAnnotBitmap(h,e,t,r,n,P,16)})}},Wl=Xl[0];function IH(e,t,r){return Y(t,16,n=>e.EPDFAnnot_GetDrawingRect(r,Wl.modeInt,n)?Ce(Gn(t,n)):null)}function SH(e){let t=fu(e);return t?Xl.filter(r=>t.includes(r.name)):Xl}var xH=8,K3=[{draw:"",label:null}];function HH(e,t,r,n){let i=PS(e,t,r,n);return i.length===0?K3:i.length>xH?[{draw:"",label:Lh(e,t,r)}]:i.map(a=>({draw:a,label:a}))}function OH(e,t,r){if(e===void 0||e.kind==="scale")return QH(e?.scale);let n=r===90||r===270?t.height:t.width;if(!Number.isFinite(e.width)||e.width<=0||!(n>0))throw new g(f.InvalidArg,"render viewport width must be positive");return e.width/n}function QH(e){return e===void 0||!Number.isFinite(e)||e<=0?1:e}var ld=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}list(e,t,r){O(t),e===void 0&&(this.session.ensureFullPageRegistry(),e=this.session.allRecords().map(i=>i.pageObjectNumber));let n=[];for(let i of e)O(t),n.push(this.listOne(i,t,r));return lp(n)}listOne(e,t,r){O(t);let{fn:n}=this.runtime,i=this.session.requireDocPtr(),a=this.session.recordByObjectNumber(e),o=n.EPDFPage_GetAnnotCountRaw(i,a.pageIndex);if(o<0)throw new g(f.Unknown,`EPDFPage_GetAnnotCountRaw returned ${o} for page ${e}`);return j3({runtime:this.runtime,session:this.session,pageObjectNumber:e,count:o,getAnnotPtrAt:s=>n.EPDFPage_GetAnnotRaw(i,a.pageIndex,s),signal:t,...this.fonts?{fonts:this.fonts}:{},...r?{family:r}:{}})}},RH=1,TH=8;function Lm(e,t,r,n){return he(t,[32,TH],([i,a])=>{if(t.poke(a,"i32",32,0),t.poke(a,"i32",0,4),!e.EPDF_DigestBuffer(r,n,RH,i,a))throw new g(f.Unknown,"EPDF_DigestBuffer returned false");let o="";for(let s of t.readBytes(i,32))o+=s.toString(16).padStart(2,"0");return o})}function Nm(e,t,r){let n=t.alloc(Math.max(1,r.byteLength));try{return t.writeBytes(n,r),Lm(e,t,n,r.byteLength)}finally{t.free(n)}}var MH=2,LH=8,NH=14400;function jH(e,t,r,n,i,a){let o=n.hashes.get(i),s=o===void 0?void 0:n.bySource.get(o);if(s!==void 0)return s;let A=t.alloc(i.byteLength);try{t.writeBytes(A,new Uint8Array(i));let d=o??Lm(e,t,A,i.byteLength);n.hashes.set(i,d);let p=n.bySource.get(d);if(p!==void 0)return p;let m=VH(e,t,A,i.byteLength,a,F=>e.EPDFDoc_CanonicalDrawing(F,0));if(!m)throw new g(f.Unknown,"EPDFDoc_CanonicalDrawing returned NULL");try{let F=V3(e,t,m),h=KH(e,t,r,n),P=h.get(F);if(P===void 0){if(P=e.EPDFDoc_ImportDrawing(r,m),!P)throw new g(f.Unknown,"EPDFDoc_ImportDrawing returned 0");h.set(F,P)}return n.bySource.set(d,P),P}finally{e.FPDF_CloseDocument(m)}}finally{t.free(A)}}function KH(e,t,r,n){if(n.byContent)return n.byContent;let i=new Map,a=e.EPDFDoc_GetStampDrawings(r,W,0),o=a>0?Y(t,4*a,s=>(e.EPDFDoc_GetStampDrawings(r,s,a),Array.from({length:a},(A,d)=>Number(t.peek(s,"i32",4*d))>>>0))):[];for(let s of o){let A=e.EPDFDoc_ExportDrawing(r,s);if(A)try{let d=V3(e,t,A);i.has(d)||i.set(d,s)}finally{e.FPDF_CloseDocument(A)}}return n.byContent=i,i}function V3(e,t,r){return Y(t,LH,n=>{t.poke(n,"i32",0,0),t.poke(n,"i32",0,4);let i=e.EPDF_SaveDocumentToOwnedBuffer(r,MH,n),a=Number(t.peek(n,"i32",0));if(!i||a<=0)throw i&&e.EPDF_FreeBuffer(i),new g(f.Unknown,"failed to save a stamp drawing");try{return Lm(e,t,i,a)}finally{e.EPDF_FreeBuffer(i)}})}function Y3(e,t,r){let n=t.alloc(r.byteLength);try{t.writeBytes(n,new Uint8Array(r));let i=e.FPDF_LoadMemDocument(n,r.byteLength,"");if(!i)return null;try{return e.FPDF_GetPageCount(i)}finally{e.FPDF_CloseDocument(i)}}finally{t.free(n)}}function VH(e,t,r,n,i,a){if(i.mimeType==="application/pdf"){let o=e.FPDF_LoadMemDocument(r,n,"");if(!o)throw new g(f.MalformedPdf,"the stamp\'s appearance PDF could not be opened");try{return a(o)}finally{e.FPDF_CloseDocument(o)}}return YH(e,t,r,n,i,a)}function YH(e,t,r,n,i,a){if(!("width"in i))throw new g(f.InvalidArg,"the stamp image has no size");let o=Math.min(1,NH/Math.max(i.width,i.height)),s=i.width*o,A=i.height*o,d=e.FPDF_CreateNewDocument();if(!d)throw new g(f.Unknown,"FPDF_CreateNewDocument returned NULL");try{let p=e.FPDFPage_New(d,0,s,A);if(!p)throw new g(f.Unknown,"FPDFPage_New returned NULL");try{let m=e.FPDFPageObj_NewImageObj(d);if(!m)throw new g(f.Unknown,"FPDFPageObj_NewImageObj returned NULL");let F=!1;try{if(!(i.mimeType==="image/png"?e.EPDFImageObj_SetPng(W,0,m,r,n):e.EPDFImageObj_SetJpeg(W,0,m,r,n)))throw new g(f.InvalidArg,`${i.mimeType==="image/png"?"EPDFImageObj_SetPng":"EPDFImageObj_SetJpeg"} rejected the image data`);XH(e,t,m,s,A),e.FPDFPage_InsertObject(p,m),F=!0}finally{F||e.FPDFPageObj_Destroy(m)}if(!e.FPDFPage_GenerateContent(p))throw new g(f.Unknown,"FPDFPage_GenerateContent returned false")}finally{e.FPDF_ClosePage(p)}return a(d)}finally{e.FPDF_CloseDocument(d)}}function XH(e,t,r,n,i){Y(t,24,a=>{if(t.poke(a,"f32",n,0),t.poke(a,"f32",0,4),t.poke(a,"f32",0,8),t.poke(a,"f32",i,12),t.poke(a,"f32",0,16),t.poke(a,"f32",0,20),!e.FPDFPageObj_SetMatrix(r,a))throw new g(f.Unknown,"FPDFPageObj_SetMatrix returned false")})}function ze(e,t,r,n=Ne.Color){let{r:i,g:a,b:o}=Tn(r);if(!e.EPDFAnnot_SetColor(t,n,i,a,o))throw new g(f.Unknown,"EPDFAnnot_SetColor returned false")}function Hs(e,t,r){e.EPDFAnnot_ClearColor(t,r)}function WH(e,t,r=Ne.Color){if(!e.EPDFAnnot_SetNoColor(t,r))throw new g(f.Unknown,"EPDFAnnot_SetNoColor returned false")}function nt(e,t,r){if(!e.EPDFAnnot_SetOpacity(t,r))throw new g(f.Unknown,"EPDFAnnot_SetOpacity returned false")}function jm(e,t,r){let n=lS(e.FPDFAnnot_GetFlags(t),r);if(!e.FPDFAnnot_SetFlags(t,n))throw new g(f.Unknown,"FPDFAnnot_SetFlags returned false")}function rt(e,t,r,n){let i=t.alloc(16);try{if(t.poke(i,"f32",n.left,0),t.poke(i,"f32",n.top,4),t.poke(i,"f32",n.right,8),t.poke(i,"f32",n.bottom,12),!e.EPDFAnnot_SetRect(r,i))throw new g(f.Unknown,"EPDFAnnot_SetRect returned false")}finally{t.free(i)}}function Pr(e,t,r,n,i){let a=t.writeU16String(i);try{e.FPDFAnnot_SetStringValue(r,n,a)}finally{t.free(a)}}function Fi(e,t,r,n,i){if(i===null){e.EPDFAnnot_RemoveKey(r,n);return}Pr(e,t,r,n,i)}function X3(e,t,r,n){if(!e.EPDFAnnot_SetBorderStyle(t,r,n))throw new g(f.Unknown,"EPDFAnnot_SetBorderStyle returned false")}function Km(e,t,r,n){let i=t.alloc(n.length*4);try{for(let a=0;aTe({x:i.x+r,y:i.y+n},{x:t[a].x,y:t[a].y}))?{dx:r,dy:n}:void 0}function qm(e,t,r,{dx:n,dy:i}){let a=Ce(Is(e,t,r));rt(e,t,r,{left:a.left+n,bottom:a.bottom+i,right:a.right+n,top:a.top+i})}var zm="Rotation",Zm="UnrotatedRect";function rk(e,t){e.EPDFAnnot_HasEmbedMetadata(t)||e.EPDFAnnot_SetEmbedMetadataNumber(t,"SchemaVersion",1)}function ik(e,t,r){rk(e,t),e.EPDFAnnot_SetEmbedMetadataNumber(t,zm,id(r))}var ZH=new Set([90,180,270]);function JH(e,t,r){let n=e.FPDFAnnot_GetSubtype(t);r!==null&&(n===L.STAMP||n===L.FREETEXT&&ZH.has(r))?e.EPDFAnnot_SetRotate(t,id(r)):(n===L.STAMP||n===L.FREETEXT)&&e.EPDFAnnot_SetRotate(t,0)}function ak(e,t,r,n){rk(e,r);let i=t.alloc(16);try{t.poke(i,"f32",n.left,0),t.poke(i,"f32",n.top,4),t.poke(i,"f32",n.right,8),t.poke(i,"f32",n.bottom,12),e.EPDFAnnot_SetEmbedMetadataRect(r,Zm,i)}finally{t.free(i)}}function Jm(e,t,r,n){n?(ik(e,r,n.rotation),ak(e,t,r,n.box)):(e.EPDFAnnot_ClearEmbedMetadataKey(r,zm),e.EPDFAnnot_ClearEmbedMetadataKey(r,Zm)),JH(e,r,n?.rotation??null)}function $H(e,t,r){if(!xS(e,r))return;let n=ad(e,t,r);SS(n,IS(e,t,r))||(n?(ik(e,r,n.rotation),ak(e,t,r,n.box)):(e.EPDFAnnot_ClearEmbedMetadataKey(r,zm),e.EPDFAnnot_ClearEmbedMetadataKey(r,Zm)))}var ok=e=>e||null,rP=e=>(e%360+360)%360;function e4(e,t){return e===null||t===null?e===t:Te(rP(e),rP(t))}function Sa(e,t,r,n){let i=Ce(n.box),a=ok(n.rotation);Jm(e,t,r,a===null?null:{rotation:a,box:i}),rt(e,t,r,a===null?i:fn(i,a)),UH(e,r)}function wd(e,t,r,n){if(n.box===void 0&&n.rotation===void 0)return!1;let i=Qa(e,t,r),a=Ce(n.box??i.box),o=n.rotation===void 0?i.rotation:ok(n.rotation),s=e4(o,i.rotation);if(s&&Te(a,i.box))return!1;let A=a.right-a.left,d=a.top-a.bottom;return s&&Te(A,i.box.right-i.box.left)&&Te(d,i.box.top-i.box.bottom)?(qm(e,t,r,{dx:a.left-i.box.left,dy:a.bottom-i.box.bottom}),o!==null&&Jm(e,t,r,{rotation:o,box:a}),!0):(Sa(e,t,r,{box:a,rotation:o}),!0)}var iP=lt.caret;function t4(e,t,r,n){ct(e,t,r,n),Sa(e,t,r,{box:n.box,rotation:n.rotation??null}),ze(e,r,n.color??iP.color),nt(e,r,n.opacity??iP.opacity),n.intent!=null&&Ma(e,r,Wh(n.intent))}function n4(e,t,r,n){dt(e,t,r,n),wd(e,t,r,n),n.color!==void 0&&ze(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),n.intent!==void 0&&Wm(e,r,n.intent===null?null:Wh(n.intent))}function sk(e){return e==="caret"}var Pl=lt["file-attachment"];function r4(e,t){if(dk(t),ew(t),!e.file?.name)throw new g(f.InvalidArg,"a file attachment needs the file\'s name: give file.name, or the bytes as a File",{details:{field:"file.name"}})}function i4(e,t,r,n,i){ct(e,t,r,n),rt(e,t,r,n.rect),ze(e,r,n.color??Pl.color),nt(e,r,n.opacity??Pl.opacity),Ak(e,r,n.icon??Pl.icon);let a=n.file;Pm(e,t,ck(e,t,r,a.name),ew(i),A4(a),{bytes:dk(i)})}function a4(e,t,r,n,i){dt(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.color!==void 0&&ze(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),n.icon!==void 0&&Ak(e,r,n.icon),o4(e,t,r,n.file,i)}function $m(e){return e==="file-attachment"}function o4(e,t,r,n,i){let a=i?.resources?.file;if(n===void 0&&a===void 0)return;let o=e.EPDFAnnot_GetFileAttachmentForWrite(r);if(n===null){if(o)throw new g(f.InvalidArg,"a file attachment\'s file can\'t be removed");if(a===void 0)return}let s=o?Ga(e,t,o):null;if(!o){if(!n||a===void 0)throw new g(f.InvalidArg,"the file attachment has no file: send the file\'s name as `file` and its bytes as the `file` resource");o=ck(e,t,r,n.name)}let A=n?n.mimeType??null:s?.mimeType??null;if(a!==void 0?Pm(e,t,o,ew(i),{mimeType:A},{bytes:a}):A!==(s?.mimeType??null)&&s4(e,o,A),!!n){if(s!==null&&n.name!==s.name&&!Yt(t,n.name,d=>e.EPDFAttachment_SetName(o,d)))throw new g(f.Unknown,"EPDFAttachment_SetName returned false");if((n.description??null)!==(s?.description??null)&&!Yt(t,n.description??"",d=>e.EPDFAttachment_SetDescription(o,d)))throw new g(f.Unknown,"EPDFAttachment_SetDescription returned false")}}function s4(e,t,r){if(!e.EPDFAttachment_SetSubtype(t,r??""))throw new g(f.InvalidArg,"the file attachment\'s file has no embedded data to give a MIME type")}function Ak(e,t,r){if(!e.EPDFAnnot_SetName(t,$h[r]))throw new g(f.Unknown,"EPDFAnnot_SetName returned false")}function ck(e,t,r,n){let i=t.writeU16String(n),a;try{a=e.FPDFAnnot_AddFileAttachment(r,i)}finally{t.free(i)}if(!a)throw new g(f.Unknown,"FPDFAnnot_AddFileAttachment returned NULL");return a}function A4(e){return{...e.mimeType!=null?{mimeType:e.mimeType}:{},...e.description!=null?{description:e.description}:{}}}function dk(e){let t=e?.resources?.file;if(t===void 0)throw new g(f.InvalidArg,"creating a file-attachment annotation needs its \'file\' resource");return t}function ew(e){if(e?.docPtr===void 0)throw new g(f.Unknown,"file-attachment writer requires docPtr on the write context");return e.docPtr}function Os(e,t,r,n,i,a){if(qS(r)){Xm(e,t,US(r),n,i);return}if(a?.resolveRegisteredFontId&&a.describeRegisteredFont?.(r)){qH(e,t,a.resolveRegisteredFontId(r),n,i);return}let o=a?.resolveDocumentFont?.(r);if(o){if(!o.choosable)throw new g(f.InvalidArg,`\'${r}\' can\'t be chosen for new text (${o.restrictions.join(", ")})`,{details:{field:"fontFamily",restrictions:o.restrictions}});zH(e,t,o.objectNumber,n,i);return}throw new g(f.InvalidArg,`fontFamily \'${r}\' is not a standard font, one of the engine\'s fonts or one of the document\'s`,{details:{field:"fontFamily"}})}function uk(e,t,r,n){let i=lt[n.subtype];pk(e,r,n.color===void 0?i.color:n.color),nt(e,r,n.opacity??i.opacity),lk(e,t,r,n)}function pk(e,t,r){r===null?WH(e,t):ze(e,t,r)}function lk(e,t,r,n){let i=lt[n.subtype];X3(e,r,Dm(n.borderStyle??i.borderStyle),n.strokeWidth??i.strokeWidth),n.dashArray!=null&&n.dashArray.length>0&&Km(e,t,r,n.dashArray)}function mk(e,t,r,n){n.color!==void 0&&pk(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),wk(e,t,r,n)}function wk(e,t,r,n){if(n.borderStyle!==void 0||n.strokeWidth!==void 0){let i=nd(e,t,r),a=n.borderStyle??Bm(i.styleCode),o=n.strokeWidth??i.width;X3(e,r,Dm(a),o)}n.dashArray===null||n.dashArray?.length===0?W3(e,r):n.dashArray!==void 0&&Km(e,t,r,n.dashArray)}function bd(e,t,r,n){let i=n.interiorColor??null;i===null?Hs(e,r,Ne.InteriorColor):ze(e,r,i,Ne.InteriorColor),uk(e,t,r,n)}function fd(e,t,r,n){n.interiorColor!==void 0&&(n.interiorColor===null?Hs(e,r,Ne.InteriorColor):ze(e,r,n.interiorColor,Ne.InteriorColor)),mk(e,t,r,n)}var tn=lt["free-text"];function bk(e,t,r,n,i){let a=Dh(r,{describe:n?.describeFont,programOf:n?.documentProgramOf,bodyProgram:i===void 0?void 0:n?.documentProgramOf?.(i)});if(!e.EPDFAnnot_SetRichTextJSON(t,a))throw new g(f.InvalidArg,"rich text could not be written (empty rect, or a font resource could not be built)")}function fk(e,t,r){if(!e.EPDFAnnot_SetEmbedMetadataNumber(t,"VerticalAlignment",ZS(r)))throw new g(f.Unknown,"EPDFAnnot_SetEmbedMetadataNumber returned false")}function c4(e,t,r,n,i){ct(e,t,r,n),Sa(e,t,r,{box:n.box,rotation:n.rotation??null});let a=n.interiorColor??null;a===null?Hs(e,r,Ne.Color):ze(e,r,a,Ne.Color),nt(e,r,n.opacity??tn.opacity),lk(e,t,r,n),n.cloudyIntensity!=null&&Ra(e,r,n.cloudyIntensity),Os(e,r,n.fontFamily??tn.fontFamily,n.fontSize??tn.fontSize,n.color??tn.color,i);let o=n.richText;md(e,r,Ss(o.body?.align??tn.textAlign)),Ma(e,r,t3(n.intent??tn.intent)),n.verticalAlign!==void 0&&n.verticalAlign!==tn.verticalAlign&&fk(e,r,n.verticalAlign),n.calloutLine!=null&&J3(e,t,r,n.calloutLine),n.lineEnding!=null&&Ta(e,r,{start:"none",end:n.lineEnding}),bk(e,r,o,i,n.fontFamily??tn.fontFamily)}function d4(e,t,r,n,i){if(dt(e,t,r,n),wd(e,t,r,n),n.interiorColor!==void 0&&(n.interiorColor===null?Hs(e,r,Ne.Color):ze(e,r,n.interiorColor,Ne.Color)),n.opacity!==void 0&&nt(e,r,n.opacity),wk(e,t,r,n),n.cloudyIntensity!==void 0&&(n.cloudyIntensity===null?Vm(e,r):Ra(e,r,n.cloudyIntensity)),n.color!==void 0){let a=Oa(e,t,r);a?Xm(e,r,-1,a.fontSize>0?a.fontSize:tn.fontSize,n.color):Os(e,r,tn.fontFamily,tn.fontSize,n.color,i)}n.richText!==void 0&&bk(e,r,n.richText,i,n.fontFamily),n.textAlign!==void 0&&md(e,r,Ss(n.textAlign)),n.intent!==void 0&&Ma(e,r,t3(n.intent)),n.verticalAlign!==void 0&&fk(e,r,n.verticalAlign),n.calloutLine===null?e.EPDFAnnot_RemoveKey(r,"CL"):n.calloutLine!==void 0&&J3(e,t,r,n.calloutLine),n.lineEnding===null?e.EPDFAnnot_RemoveKey(r,"LE"):n.lineEnding!==void 0&&Ta(e,r,{start:"none",end:n.lineEnding})}function gk(e){return e==="free-text"}var Fk=e=>e||null,aP=e=>(e%360+360)%360;function vk(e,t,r,n,i){let a=n.flat(),o=i===null||a.length===0?null:oA(a,i);return Jm(e,t,r,o?{rotation:o.degrees,box:nr(a)}:null),{drawn:n.map(s=>s.map(A=>o?Qr(A,o):A)),turn:o}}function gd(e,t,r,n,i){let a=vk(e,t,r,n,Fk(i));return rt(e,t,r,nr(a.drawn.flat())),a}function tw(e,t,r){let n=ix(e,t,r),i=Ad(e,t,r,n);return{drawn:n,turn:i,upright:n.map(a=>a.map(o=>Pi(o,i)))}}function nw(e,t,r,n,i,a){if(i===void 0&&a===void 0)return;let o=n.turn?.degrees??null,s=a===void 0?o:Fk(a),A=Te(aP(s??0),aP(o??0));if(i===void 0&&A)return;let d=vk(e,t,r,i??n.upright,s),p=nk(n.drawn.flat(),d.drawn.flat());return p&&qm(e,t,r,p),d}function u4(e,t,r,n){ct(e,t,r,n),n.intent!=null&&Ma(e,r,b3(n.intent)),uk(e,t,r,n),q3(e,t,r,gd(e,t,r,n.inkList,n.rotation).drawn)}function p4(e,t,r,n){dt(e,t,r,n),n.intent!==void 0&&Wm(e,r,n.intent===null?null:b3(n.intent)),mk(e,t,r,n);let i=nw(e,t,r,tw(e,t,r),n.inkList,n.rotation);i&&q3(e,t,r,i.drawn)}function Pk(e){return e==="ink"}var l4=1;function Qs(e,t,r,n){if(n.intent!==void 0&&(n.intent===null?e.EPDFAnnot_RemoveKey(r,"IT"):Le(e.EPDFAnnot_SetIntent(r,cx(n.intent)))),n.measure!==void 0)if(n.measure===null)Le(e.EPDFAnnot_RemoveMeasure(r));else{let i=e.EPDFAnnot_GetMeasure(r);i&&e.EPDFMeasure_GetSubtype(i)!==l4&&Le(e.EPDFAnnot_RemoveMeasure(r)),dh(e,t,e.EPDFAnnot_AddMeasure(r),n.measure)}if(n.subtype==="line"){if(n.leader!==void 0&&Le(e.EPDFAnnot_SetLineLeader(r,n.leader?.length??0,n.leader?.extension??0,n.leader?.offset??0)),n.captionEnabled!==void 0){let i=n.captionOffset??null;Le(Ll(t,i?{x:i.along,y:i.perpendicular}:void 0,a=>e.EPDFAnnot_SetLineCaption(r,n.captionEnabled??!1,n.captionPosition==="top"?1:0,a)))}}else if(n.captionEnabled!==void 0)if(n.captionEnabled===null)e.EPDFAnnot_ClearEmbedMetadataKey(r,"MeasurementCaption"),e.EPDFAnnot_ClearEmbedMetadataKey(r,"MeasurementCaptionCenter");else{let i=n.captionEnabled;Le(Ll(t,("captionCenter"in n?n.captionCenter:null)??void 0,a=>e.EPDFAnnot_SetShapeCaption(r,i,a)))}}function m4(e,t,r,n){ct(e,t,r,n),Qs(e,t,r,n),bd(e,t,r,n);let{start:i,end:a}=n.linePoints,[o]=gd(e,t,r,[[i,a]],n.rotation).drawn;U3(e,t,r,{start:o[0],end:o[1]}),Ta(e,r,n.lineEndings??lt.line.lineEndings)}function w4(e,t,r,n){dt(e,t,r,n),Qs(e,t,r,n),fd(e,t,r,n);let i=n.linePoints&&[[n.linePoints.start,n.linePoints.end]],a=nw(e,t,r,tw(e,t,r),i,n.rotation);if(a){let[o]=a.drawn;U3(e,t,r,{start:o[0],end:o[1]})}n.lineEndings!==void 0&&Ta(e,r,n.lineEndings)}function hk(e){return e==="line"}function b4(e,t,r,n,i){if(ct(e,t,r,n),rt(e,t,r,n.rect),!e.FPDFAnnot_SetBorder(r,0,0,0))throw new g(f.Unknown,"FPDFAnnot_SetBorder returned false");n.target&&Dk(e,t,r,n.target,i)}function f4(e,t,r,n,i){if(dt(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.target===null)g4(e,r);else if(n.target!==void 0){if(n.target.kind!=="goto"&&n.target.kind!=="uri"&&n.target.kind!=="named")throw new g(f.InvalidArg,`a \'${n.target.kind}\' link target can\'t be written`,{details:{field:"target"}});Dk(e,t,r,n.target,i)}}function g4(e,t){if(!e.EPDFAnnot_RemoveAction(t)||!e.EPDFAnnot_RemoveDest(t))throw new g(f.Unknown,"failed to clear link target")}function kk(e){return e==="link"}function Dk(e,t,r,n,i){let a=i?.docPtr;if(!a)throw new g(f.InvalidArg,"writing a link target requires a document pointer on the write context");let o=v3(e,t,a,n);if(!e.EPDFAnnot_SetAction(r,o))throw new g(f.Unknown,"EPDFAnnot_SetAction failed for link")}function F4(e,t,r,n){ct(e,t,r,n),rt(e,t,r,n.rect),n.open!==void 0&&Bk(e,r,n.open)}function v4(e,t,r,n){dt(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.open!==void 0&&Bk(e,r,n.open)}function Bk(e,t,r){if(!e.EPDFAnnot_SetBooleanValue(t,"Open",r))throw new g(f.Unknown,"EPDFAnnot_SetBooleanValue returned false")}function Ek(e){return e==="popup"}function P4(e,t,r,n){ct(e,t,r,n);let i=n.quadPoints;rw(e,t,r,i),Fd(e,t,r,i);let a=lt[n.subtype];ze(e,r,n.color??a.color),nt(e,r,n.opacity??a.opacity),n.subtype==="strikeout"&&n.intent!=null&&Ma(e,r,Uh(n.intent))}function h4(e,t,r,n){if(dt(e,t,r,n),n.color!==void 0&&ze(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),n.subtype==="strikeout"&&n.intent!==void 0&&Wm(e,r,n.intent===null?null:Uh(n.intent)),n.quadPoints!==void 0){let i=nk(fm(e,t,r).flatMap(oP),n.quadPoints.flatMap(oP));yk(e,t,r,n.quadPoints),i?qm(e,t,r,i):Fd(e,t,r,n.quadPoints)}}var oP=e=>[e.upperLeft,e.upperRight,e.lowerLeft,e.lowerRight];function _k(e){return e==="highlight"||e==="underline"||e==="squiggly"||e==="strikeout"}function rw(e,t,r,n){let i=t.alloc(32);try{for(let a of n)if(k4(t,i,a),!e.FPDFAnnot_AppendAttachmentPoints(r,i))throw new g(f.Unknown,"FPDFAnnot_AppendAttachmentPoints returned false")}finally{t.free(i)}}function yk(e,t,r,n){e.EPDFAnnot_RemoveKey(r,"QuadPoints"),rw(e,t,r,n)}function k4(e,t,r){e.poke(t,"f32",r.upperLeft.x,0),e.poke(t,"f32",r.upperLeft.y,4),e.poke(t,"f32",r.upperRight.x,8),e.poke(t,"f32",r.upperRight.y,12),e.poke(t,"f32",r.lowerLeft.x,16),e.poke(t,"f32",r.lowerLeft.y,20),e.poke(t,"f32",r.lowerRight.x,24),e.poke(t,"f32",r.lowerRight.y,28)}function Fd(e,t,r,n){let i=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,s=Number.NEGATIVE_INFINITY;for(let A of n)for(let d of[A.upperLeft,A.upperRight,A.lowerLeft,A.lowerRight])d.xo&&(o=d.x),d.ys&&(s=d.y);rt(e,t,r,{left:i,top:s,right:o,bottom:a})}var gr=lt.redact;function Gk(e){return e.overlayText!==void 0&&e.overlayText!==null||e.fontFamily!==void 0||e.fontSize!==void 0||e.fontColor!==void 0}function D4(e){if(e.rect===void 0&&(e.quadPoints??[]).length===0)throw new g(f.InvalidArg,"redact create needs a rect or at least one of quadPoints",{details:{field:"rect"}})}function B4(e,t,r,n,i){ct(e,t,r,n);let a=n.quadPoints??[];a.length>0&&rw(e,t,r,a),n.rect?rt(e,t,r,n.rect):Fd(e,t,r,a),ze(e,r,n.color??gr.color,Ne.Color),nt(e,r,n.opacity??gr.opacity);let o=n.interiorColor??null;o!==null&&ze(e,r,o,Ne.InteriorColor),n.overlayText!=null&&n.overlayText.length>0&&z3(e,t,r,n.overlayText),n.repeat&&Z3(e,r,!0),Gk(n)&&Os(e,r,n.fontFamily??gr.fontFamily,n.fontSize??gr.fontSize,n.fontColor??gr.fontColor,i),n.textAlign!==void 0&&md(e,r,Ss(n.textAlign))}function E4(e,t,r,n,i){if(dt(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.quadPoints!==void 0&&(yk(e,t,r,n.quadPoints),n.rect===void 0&&Fd(e,t,r,n.quadPoints)),n.color!==void 0&&ze(e,r,n.color,Ne.Color),n.opacity!==void 0&&nt(e,r,n.opacity),n.interiorColor!==void 0&&(n.interiorColor===null?Hs(e,r,Ne.InteriorColor):ze(e,r,n.interiorColor,Ne.InteriorColor)),n.overlayText!==void 0&&z3(e,t,r,n.overlayText??""),n.repeat!==void 0&&Z3(e,r,n.repeat),Gk(n)){let a=Oa(e,t,r);Os(e,r,n.fontFamily??(a?hm(a.fontCode):gr.fontFamily),n.fontSize??a?.fontSize??gr.fontSize,n.fontColor??a?.color??gr.fontColor,i)}n.textAlign!==void 0&&md(e,r,Ss(n.textAlign))}function iw(e){return e==="redact"}function _4(e,t,r,n){ct(e,t,r,n),Sa(e,t,r,{box:n.box,rotation:n.rotation??null}),bd(e,t,r,n),n.cloudyIntensity!=null&&n.cloudyIntensity>0&&Ra(e,r,n.cloudyIntensity)}function y4(e,t,r,n){dt(e,t,r,n),wd(e,t,r,n),fd(e,t,r,n),n.cloudyIntensity!==void 0&&(n.cloudyIntensity!==null&&n.cloudyIntensity>0?Ra(e,r,n.cloudyIntensity):Vm(e,r))}function Ck(e){return e==="circle"||e==="square"}var vd={contain:0,cover:1,fill:2};function G4(e,t){e.name!=null&&Sk(e.name),e.fit!=null&&xk(e.fit),Ok(t?.resources?.appearance,t)}function C4(e,t){e.name!==void 0&&e.name!==null&&Sk(e.name),e.fit!=null&&xk(e.fit);let r=t?.resources?.appearance;r!==void 0&&Ok(r,t)}function I4(e,t,r,n,i){ct(e,t,r,n),n.name!=null&&Ik(e,r,n.name),n.opacity!==void 0&&nt(e,r,n.opacity);let a=n.fit===null?"fill":n.fit??lt.stamp.fit;Qk(e,t,r,Hk(i),aw(i),a,{box:n.box,rotation:n.rotation??null}),n.fit!==null&&Sm(e,t,r,a)}function S4(e,t,r,n,i){dt(e,t,r,n),n.name===null?e.EPDFAnnot_RemoveKey(r,"Name"):n.name!==void 0&&Ik(e,r,n.name);let a=Im(e,t,r)??"fill",o=n.fit!==void 0?n.fit??"fill":a;n.fit!==void 0&&Sm(e,t,r,n.fit);let s=i?.resources?.appearance;if(s!==void 0){n.opacity!==void 0&&nt(e,r,n.opacity);let d=Qa(e,t,r);Qk(e,t,r,s,aw(i),o,{box:n.box??d.box,rotation:n.rotation===void 0?d.rotation:n.rotation});return}let A=wd(e,t,r,n);n.opacity!==void 0?H4(e,r,o,n.opacity):(A||n.fit!==void 0)&&Rk(e,r,o)}function Pd(e){return e==="stamp"}function Ik(e,t,r){if(!e.EPDFAnnot_SetName(t,r))throw new g(f.Unknown,"EPDFAnnot_SetName returned false")}function Sk(e){if(e.length===0)throw new g(f.InvalidArg,"stamp name must be non-empty")}function xk(e){if(vd[e]===void 0)throw new g(f.InvalidArg,`unknown stamp fit \'${String(e)}\'; expected contain, cover, or fill`)}function Hk(e){let t=e?.resources?.appearance;if(!t)throw new g(f.InvalidArg,"creating a stamp annotation needs its \'appearance\' resource");return t}function Ok(e,t){e||Hk(t);let r=e instanceof ArrayBuffer?ro(e):null;if(!r)throw new g(f.InvalidArg,"the appearance resource must be PNG, JPEG or one-page PDF bytes");if(r.mimeType==="application/pdf"){let n=t?.pdfPageCount?.(e);if(n===null)throw new g(f.MalformedPdf,"the stamp\'s appearance PDF could not be opened");if(n!==void 0&&n!==1)throw new g(f.InvalidArg,`the appearance PDF has ${n} pages; a stamp takes a one-page PDF`)}aw(t)}function aw(e){if(e?.docPtr===void 0||!e.drawings)throw new g(f.Unknown,"stamp writer requires docPtr/drawings on the write context");return{docPtr:e.docPtr,drawings:e.drawings}}function Qk(e,t,r,n,i,a,o){Sa(e,t,r,{box:o.box,rotation:null}),x4(e,t,r,n,i,a),o.rotation&&(Sa(e,t,r,o),Rk(e,r,a))}function x4(e,t,r,n,i,a){let o=ro(n);if(!o)throw new g(f.Unknown,"stamp content preflight invariant broken");let s=jH(e,t,i.docPtr,i.drawings,n,o);if(!e.EPDFAnnot_SetStampDrawing(r,s,vd[a]))throw new g(f.Unknown,"EPDFAnnot_SetStampDrawing returned false")}function H4(e,t,r,n){if(!e.EPDFAnnot_SetStampOpacity(t,vd[r],n))throw new g(f.Unknown,"EPDFAnnot_SetStampOpacity returned false")}function Rk(e,t,r){if(!e.EPDFAnnot_UpdateAppearanceToRect(t,vd[r]))throw new g(f.Unknown,"EPDFAnnot_UpdateAppearanceToRect returned false")}var hl=lt.text;function O4(e,t,r,n){ct(e,t,r,n),rt(e,t,r,n.rect),ze(e,r,n.color??hl.color),nt(e,r,n.opacity??hl.opacity),Lk(e,r,n.icon??hl.icon),n.open!==void 0&&Tk(e,r,n.open),n.stateModel!=null&&Pr(e,t,r,"StateModel",G3(n.stateModel)),n.state!=null&&Pr(e,t,r,"State",C3(n.state))}function Q4(e,t,r,n){dt(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.color!==void 0&&ze(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),n.icon!==void 0&&Lk(e,r,n.icon),n.open!==void 0&&Tk(e,r,n.open),n.stateModel!==void 0&&Fi(e,t,r,"StateModel",n.stateModel===null?null:G3(n.stateModel)),n.state!==void 0&&Fi(e,t,r,"State",n.state===null?null:C3(n.state))}function Tk(e,t,r){if(!e.EPDFAnnot_SetBooleanValue(t,"Open",r))throw new g(f.Unknown,"EPDFAnnot_SetBooleanValue returned false")}function Mk(e){return e==="text"}function Lk(e,t,r){if(!e.EPDFAnnot_SetName(t,Jh[r]))throw new g(f.Unknown,"EPDFAnnot_SetName returned false")}var Ul=(e,t)=>t?Qr(e,t):e;function Nk(e,t){return e.captionCenter?{...e,captionCenter:Ul(e.captionCenter,t.turn)}:e}function R4(e,t,r,n,i,a){let o=a?a.turn:i.turn;if(n.captionCenter)return{...n,captionCenter:Ul(n.captionCenter,o)};if(!a||n.captionEnabled!==void 0)return n;let s=f3(e,t,r);return s?.center?{...n,captionEnabled:s.enabled,captionCenter:Ul(Pi(s.center,i.turn),o)}:n}function T4(e,t,r,n){ct(e,t,r,n);let i=gd(e,t,r,[n.vertices],n.rotation);Qs(e,t,r,Nk(n,i)),bd(e,t,r,n),Ym(e,t,r,i.drawn[0]),n.cloudyIntensity!=null&&n.cloudyIntensity>0&&Ra(e,r,n.cloudyIntensity)}function M4(e,t,r,n){dt(e,t,r,n),jk(e,t,r,n),fd(e,t,r,n),n.cloudyIntensity!==void 0&&(n.cloudyIntensity!==null&&n.cloudyIntensity>0?Ra(e,r,n.cloudyIntensity):Vm(e,r))}function L4(e,t,r,n){ct(e,t,r,n);let i=gd(e,t,r,[n.vertices],n.rotation);Qs(e,t,r,Nk(n,i)),bd(e,t,r,n),Ym(e,t,r,i.drawn[0]),Ta(e,r,n.lineEndings??lt.polyline.lineEndings)}function N4(e,t,r,n){dt(e,t,r,n),jk(e,t,r,n),fd(e,t,r,n),n.lineEndings!==void 0&&Ta(e,r,n.lineEndings)}function jk(e,t,r,n){let i=tw(e,t,r),a=nw(e,t,r,i,n.vertices&&[n.vertices],n.rotation);Qs(e,t,r,R4(e,t,r,n,i,a)),a&&Ym(e,t,r,a.drawn[0])}function Kk(e){return e==="polygon"||e==="polyline"}var j4=0,K4=1;function ow(e,t,r){let n=(r.next??[]).map(a=>ow(e,t,a)),i=V4(e,t,r);if(n.length>0&&!Fs(e,n,(a,o)=>e.fn.EPDFAction_SetNext(t,i,a,o)))throw new g(f.Unknown,`the ${r.type} action\'s next ones could not be set`);return i}function V4(e,t,r){let{fn:n,mem:i}=e,a=(()=>{switch(r.type){case"javascript":return Zn(i,r.script,o=>n.EPDFAction_CreateJavaScript(t,o));case"goto":return n.EPDFAction_CreateGoTo(t,g3(n,i,t,r.destination));case"uri":return n.EPDFAction_CreateURI(t,r.uri);case"named":return n.EPDFAction_CreateNamed(t,r.name);case"hide":return kl(e,r.targets,(o,s)=>n.EPDFAction_CreateHide(t,o,s,r.hide));case"reset-form":return kl(e,r.fields??[],(o,s)=>n.EPDFAction_CreateResetForm(t,o,r.fields?s:-1,r.exclude));case"submit-form":return Zn(i,r.url,o=>kl(e,r.fields??[],(s,A)=>n.EPDFAction_CreateSubmitForm(t,o,s,r.fields?A:-1,Zu(r))))}})();if(!a)throw new g(f.InvalidArg,`the ${r.type} action could not be written`);return a}function kl(e,t,r){let{mem:n}=e,i=8+uh(e),a=t.map(o=>o.kind==="name"?n.writeU16String(o.name):null);try{return Y(n,Math.max(1,t.length*i),o=>(t.forEach((s,A)=>{let d=A*i,p=a[A];n.poke(o,"i32",p?j4:K4,d),n.poke(o,"i32",s.kind==="objectNumber"?s.objectNumber:0,d+4),ph(e,o,d+8,p??W)}),r(o,t.length)))}finally{for(let o of a)o&&n.free(o)}}function Vk(e,t,r,n){go.forEach((i,a)=>{let o=n===null?null:n[i];if(o===void 0)return;let s=o===null?W:ow(e,t,o);if(!e.fn.EPDFAnnot_SetEventAction(r,a,s))throw new g(f.Unknown,`the widget\'s ${i} action could not be written`)})}var sP=0,AP=1,cP=0;function Yk(e){return e==="widget"}function Y4(e,t){if(e.subtype!=="widget"||!e.hasMark)return;let r=t,n=xo.filter(i=>r[i]!==void 0&&!Te(r[i],e[i]));if(n.length>0)throw new g(f.InvalidArg,`the widget has a mark in it, which its style doesn\'t draw: ${n.join(", ")} can\'t change`)}function sw(e,t,r,n,i){if(n.color===null)e.EPDFAnnot_ClearMKColor(r,sP);else if(n.color){let{r:o,g:s,b:A}=Tn(n.color);e.EPDFAnnot_SetMKColor(r,sP,o,s,A)}if(n.interiorColor===null)e.EPDFAnnot_ClearMKColor(r,AP);else if(n.interiorColor){let{r:o,g:s,b:A}=Tn(n.interiorColor);e.EPDFAnnot_SetMKColor(r,AP,o,s,A)}if(n.strokeWidth!==void 0||n.borderStyle!==void 0){let o=nd(e,t,r);e.EPDFAnnot_SetBorderStyle(r,ex(n.borderStyle??m3(o.styleCode)),n.strokeWidth??o.width)}n.dashArray===null?W3(e,r):n.dashArray!==void 0&&Km(e,t,r,n.dashArray),(n.fontFamily!==void 0||n.fontSize!==void 0||n.fontColor!==void 0)&&X4(e,t,r,n,i),n.textAlign!==void 0&&e.EPDFAnnot_SetTextAlignment(r,Ss(n.textAlign));let a=n.checkStyle!==void 0?n.checkStyle&&PH(n.checkStyle):n.caption;a===null?e.EPDFAnnot_SetMKText(r,cP,W):a!==void 0&&Zn(t,a,o=>e.EPDFAnnot_SetMKText(r,cP,o))}function X4(e,t,r,n,i){let a=Oa(e,t,r);if([n.fontFamily,n.fontSize,n.fontColor].includes(null)&&a!==null)throw new g(f.InvalidArg,"a widget\'s font can\'t be removed: send a font, or leave the font fields out",{details:{field:"fontFamily"}});let o=n.fontFamily??void 0,s=n.fontSize??void 0,A=n.fontColor??void 0;if(o===void 0&&s===void 0&&A===void 0)return;let d=s??a?.fontSize??12,p=A??a?.color??"#000000";if(a!==null&&(o===void 0||W4(e,t,r,o,i))){Xm(e,r,-1,d,p);return}Os(e,r,o??"helvetica",d,p,i)}function W4(e,t,r,n,i){let a=rd(e,t,r);if(!a)return!1;if(od(e,t,r,a)===n)return!0;let o=Sr(n,i?.describeFont);return wn(o.family)===wn(a.family)&&(o.weight===void 0||o.weight===a.weight)&&(o.italic===void 0||o.italic===a.italic)}function Xk(e,t,r){if(!e.EPDFAnnot_SetMKRotation(t,(360-(r??0))%360))throw new g(f.Unknown,"the widget\'s turn (/MK /R) could not be written")}function Wk(e,t,r,n,i){let a=Ce(n.box),o=n.rotation?fn(a,n.rotation):a;(!i||n.rotation!==i.rotation)&&Xk(e,r,n.rotation),(!i||!Te(o,i.rect))&&rt(e,t,r,o)}function U4(e,t,r,n,i){let{actions:a,...o}=n;ct(e,t,r,o),Wk(e,t,r,{box:n.box,rotation:n.rotation??null},null),sw(e,t,r,n,i)}function q4(e,t,r,n){if(n.box===void 0&&n.rotation===void 0)return;let i=Ce(Is(e,t,r)),a=x3(e,r);Wk(e,t,r,{box:n.box??Hr(i,a??0),rotation:n.rotation===void 0?a:n.rotation||null},{rect:i,rotation:a})}function z4(e,t,r,n,i){let{actions:a,...o}=n;if(dt(e,t,r,o),q4(e,t,r,n),sw(e,t,r,n,i),n.actions!==void 0){if(!i?.runtime||!i.docPtr)throw new g(f.InvalidArg,"writing a widget\'s actions requires the runtime and the document on the write context");Vk(i.runtime,i.docPtr,r,n.actions)}}function Z4(e,t){Pd(e.subtype)&&G4(e,t),$m(e.subtype)&&r4(e,t),iw(e.subtype)&&D4(e)}function J4(e,t){Pd(Aw(e))&&C4(e,t)}function $4(e,t,r,n,i){nO(e,t,r,n,i),Uk(e,r,n,i)}function eO(e,t,r,n,i){rO(e,t,r,n,i),Uk(e,r,{...n,subtype:Aw(n)},i)}function Uk(e,t,r,n){if(r.subtype==="free-text"||r.richText===void 0)return;if(r.richText===null){e.EPDFAnnot_RemoveKey(t,"RC");return}let i=Dh(tO(r.richText),{describe:n?.describeFont});if(!e.EPDFAnnot_SetRichTextJSON(t,i))throw new g(f.InvalidArg,`${r.subtype}: the comment\'s rich text could not be written`)}function tO(e){if(e.body?.family!==Mi.family)return e;let{family:t,...r}=e.body;return{...e,body:r}}function nO(e,t,r,n,i){if(_k(n.subtype)){P4(e,t,r,n);return}if(Ck(n.subtype)){_4(e,t,r,n);return}if(Kk(n.subtype)){n.subtype==="polygon"?T4(e,t,r,n):L4(e,t,r,n);return}if(hk(n.subtype)){m4(e,t,r,n);return}if(kk(n.subtype)){b4(e,t,r,n,i);return}if(Pk(n.subtype)){u4(e,t,r,n);return}if(gk(n.subtype)){c4(e,t,r,n,i);return}if(sk(n.subtype)){t4(e,t,r,n);return}if(Mk(n.subtype)){O4(e,t,r,n);return}if(Pd(n.subtype)){I4(e,t,r,n,i);return}if($m(n.subtype)){i4(e,t,r,n,i);return}if(Yk(n.subtype)){U4(e,t,r,n,i);return}if(Ek(n.subtype)){F4(e,t,r,n);return}if(iw(n.subtype)){B4(e,t,r,n,i);return}throw new g(f.NotImplemented,`no writer registered for draft.subtype=\'${n.subtype}\'`)}function rO(e,t,r,n,i){let a=Aw(n);if(_k(a)){h4(e,t,r,n);return}if(Ck(a)){y4(e,t,r,n);return}if(Kk(a)){a==="polygon"?M4(e,t,r,n):N4(e,t,r,n);return}if(hk(a)){w4(e,t,r,n);return}if(kk(a)){f4(e,t,r,n,i);return}if(Pk(a)){p4(e,t,r,n);return}if(gk(a)){d4(e,t,r,n,i);return}if(sk(a)){n4(e,t,r,n);return}if(Mk(a)){Q4(e,t,r,n);return}if(Pd(a)){S4(e,t,r,n,i);return}if($m(a)){a4(e,t,r,n,i);return}if(Yk(a)){z4(e,t,r,n,i);return}if(Ek(a)){v4(e,t,r,n);return}if(iw(a)){E4(e,t,r,n,i);return}throw new g(f.NotImplemented,`no writer registered for subtype=\'${a}\'`)}function Aw(e){if(e.subtype===void 0)throw new g(f.InvalidArg,"a patch reached the writer without its subtype");return e.subtype}function iO(e,t,r){let n=GF(e,{linked:["reply","parent"],describeFont:r.describeFont});return kA(n.subtype,t,"create"),Z4(n,r),n}function cw(e,t,r,n){let{fn:i,mem:a}=e,o=a.writeU16String(n);try{return i.EPDFPage_GetAnnotIndexByNameRaw(t,r,o)}finally{a.free(o)}}function qk(e,t){return new g(f.InvalidArg,`nm \'${e}\' is already used on page ${t}`,{details:{field:"nm"}})}function Xc(e,t,r,n,i,a){let o=N3(e,t,a.docPtr,r,n,i),s=e.FPDFAnnot_GetSubtype(r),{reader:A}=H3(s);return A(e,t,r,o,s,a)}function zk(e,t,r){return r===void 0?e.EPDFAnnot_GenerateAppearance(t):e.EPDFAnnot_GenerateAppearanceWithBlend(t,BH(r))}function aO(e,t,r,n,i){n.author===null?e.EPDFAnnot_RemoveKey(r,"T"):ek(e,t,r,n.author),n.createdAt===null?e.EPDFAnnot_RemoveKey(r,"CreationDate"):tk(e,t,r,n.createdAt),n.modifiedAt===null?e.EPDFAnnot_RemoveKey(r,"M"):Um(e,t,r,n.modifiedAt),Sx(e,t,r,n,i)}function oO(e,t,r,n){let i=e.EPDFAnnot_GetFileAttachmentForWrite(r);if(i)for(let[a,o]of[["CreationDate",n.createdAt],["ModDate",n.modifiedAt]]){if(!o)continue;let s=t.writeU16String(gt(o));try{e.FPDFAttachment_SetStringValue(i,a,s)}finally{t.free(s)}}}function sO(e,t,r,n,i){n?.displayName&&ek(e,t,r,n.displayName),tk(e,t,r,i),Um(e,t,r,i),Cx(e,t,r,n)}function AO(e,t,r,n,i){let{fn:a}=e;if(i.inReplyTo===null){a.EPDFAnnot_SetLinkedAnnot(r,"IRT",W),a.EPDFAnnot_SetReplyType(r,0);return}if(i.inReplyTo){if(i.inReplyTo.page.objectNumber!==n)throw new g(f.InvalidArg,`/IRT parent must be on the same page as the reply (parent page ${i.inReplyTo.page.objectNumber}, reply page ${n})`);let o=Cs(e,t,i.inReplyTo);try{Zk(e,r,o,i.replyType??"reply")}finally{a.FPDFPage_CloseAnnot(o)}return}if(i.replyType!==void 0){let o=a.FPDFAnnot_GetLinkedAnnot(r,"IRT");if(o)try{a.EPDFAnnot_SetReplyType(r,P3(i.replyType))}finally{a.FPDFPage_CloseAnnot(o)}}}function cO(e,t,r,n,i,a){let{fn:o}=e;if(a){let d=Cs(e,t,a);try{let p=o.FPDFAnnot_GetLinkedAnnot(d,"Popup");if(p){let m=o.EPDFAnnot_GetObjectNumber(p)===o.EPDFAnnot_GetObjectNumber(r);o.FPDFPage_CloseAnnot(p),m&&o.EPDFAnnot_SetLinkedAnnot(d,"Popup",W)}}finally{o.FPDFPage_CloseAnnot(d)}}if(i===null)return o.EPDFAnnot_SetLinkedAnnot(r,"Parent",W),null;if(i.page.objectNumber!==n)throw new g(f.InvalidArg,`a popup\'s parent must be on the same page (parent page ${i.page.objectNumber}, popup page ${n})`);let{annotPtr:s,name:A}=fh(e,t,i);try{return Jk(e,r,s),A}finally{o.FPDFPage_CloseAnnot(s)}}function Zk(e,t,r,n){let{fn:i}=e;if(!i.EPDFAnnot_SetLinkedAnnot(t,"IRT",r))throw new g(f.Unknown,"failed to set /IRT linked annotation");i.EPDFAnnot_SetReplyType(t,P3(n))}function Jk(e,t,r){let{fn:n}=e;if(dO(e,t,r),!n.EPDFAnnot_SetLinkedAnnot(t,"Parent",r)||!n.EPDFAnnot_SetLinkedAnnot(r,"Popup",t))throw new g(f.Unknown,"failed to link a popup to its parent");uO(e,t,r)}function dO(e,t,r){let{fn:n}=e,i=n.FPDFAnnot_GetLinkedAnnot(r,"Popup");if(!i)return;let a=n.EPDFAnnot_GetObjectNumber(i);if(n.FPDFPage_CloseAnnot(i),a!==n.EPDFAnnot_GetObjectNumber(t))throw new g(f.InvalidArg,`the annotation already has a popup (object ${a}); delete it first`,{details:{field:"parent",popupObjectNumber:a}})}function uO(e,t,r){let{fn:n,mem:i}=e;if(n.FPDFAnnot_GetSubtype(r)!==L.TEXT)return;let a=hs(n,i,t,"Open");if(a!==null){ql(e,r,a);return}let o=hs(n,i,r,"Open");o!==null&&ql(e,t,o)}function pO(e,t,r,n,i){let{fn:a}=e,{annotPtr:o,name:s}=fh(e,t,r);try{return i&&a.FPDFAnnot_GetSubtype(o)!==L.TEXT?null:(ql(e,o,n),s)}finally{a.FPDFPage_CloseAnnot(o)}}function ql(e,t,r){if(!e.fn.EPDFAnnot_SetBooleanValue(t,"Open",r))throw new g(f.Unknown,"EPDFAnnot_SetBooleanValue returned false")}function $k(e,t){let{mem:r}=e,n=t(W,0);return n<=0?[]:Y(r,n*8,i=>(t(i,n),Array.from({length:n},(a,o)=>({start:Number(r.peek(i,"i32",o*8))>>>0,count:Number(r.peek(i,"i32",o*8+4))>>>0}))))}var lO={0:null,1:"truetype",2:"opentype",3:"cff",4:"type1",5:"type3"},mO={0:"none",1:"whole",2:"subset"},wO={0:"installable",1:"editable",2:"preview-and-print",3:"restricted",4:"bitmap-only"},bO={0:"standard",1:"engine",2:"document-program",3:"document-font"},dw=e=>Array.from(e,t=>t.toString(16).padStart(2,"0")).join(""),Dl=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}facts(){return{faces:this.faces(),engineFonts:this.fonts.engineFontFacts(),fallbacks:this.fonts.fallbackKeys()}}faces(){return hd(this.runtime,this.session)}resolve(e,t,r){let{fn:n,mem:i}=this.runtime,a=t.map(d=>this.faceOfRun(d,r)),o=t.map(d=>i.writeU16String(d.text)),s=a.map(d=>i.writeU16String(d.family)),A=e?this.openAnnotation(e):W;try{let d=Fs(this.runtime,o,p=>Fs(this.runtime,s,m=>an(i,a.map(F=>F.weight),F=>an(i,a.map(h=>h.italic?1:0),h=>an(i,a.map(P=>P.program),P=>n.EPDFDoc_ResolveFonts(this.session.requireDocPtr(),A,t.length,p,m,F,h,P))))));if(!d)throw new g(f.Unknown,"EPDFDoc_ResolveFonts failed");try{return this.readResolution(d,t.length)}finally{n.EPDFFontResolution_Close(d)}}finally{A&&n.FPDFPage_CloseAnnot(A);for(let d of[...o,...s])i.free(d)}}readResolution(e,t){let{fn:r,mem:n}=this.runtime,i=[];for(let s=0;s(r.EPDFFontResolution_GetFallbacks(e,s,m,d),Array.from({length:d},(F,h)=>Number(n.peek(m,"i32",h*4))>>>0)));i.push({source:bO[r.EPDFFontResolution_GetSource(e,s)]??"standard",engineFont:A?this.fonts.keyForId(A)??null:null,objectNumber:r.EPDFFontResolution_GetProgramObjNum(e,s),displaySha256:Y(n,32,m=>r.EPDFFontResolution_GetProgramDisplayHash(e,s,m)?dw(n.readBytes(m,32)):null),baseFontName:Ye(n,(m,F)=>r.EPDFFontResolution_GetBaseFontName(e,s,m,F))||null,familyName:fe(n,(m,F)=>r.EPDFFontResolution_GetFamily(e,s,m,F))??"",weight:r.EPDFFontResolution_GetWeight(e,s),italic:r.EPDFFontResolution_IsItalic(e,s),degraded:r.EPDFFontResolution_IsDegraded(e,s),fallbacks:p.flatMap(m=>{let F=this.fonts.keyForId(m);return F?[F]:[]})})}let a=[],o=r.EPDFFontResolution_CountMissingCharacters(e);for(let s=0;sr.EPDFFontResolution_GetMissingCharacter(e,s,d,p));A&&a.push(A)}return{runs:i,missingCharacters:a}}faceOfRun(e,t){if(!("fontFamily"in e))return{family:e.family,weight:e.weight,italic:e.italic,program:0};let r=e.fontFamily;if(Ir(r)){let o=mn[r];return{family:o.family,weight:o.weight,italic:o.italic,program:0}}let n=this.fonts.describeOrUndefined(r);if(n){let{familyName:o,weight:s,italic:A}=n;return{family:o,weight:s,italic:A,program:0}}let i=ia(t.faces).find(o=>o.name===r);if(i){let{familyName:o,weight:s,italic:A}=i.face,d=bc(t,r);return{family:o,weight:s,italic:A,program:d?.choosable?d.objectNumber:0}}let a=Sr(r);return{family:a.family,weight:a.weight??400,italic:a.italic??!1,program:0}}openAnnotation(e){let{pageIndex:t,index:r}=Bt(this.runtime,this.session,e),n=this.runtime.fn.EPDFPage_GetAnnotRaw(this.session.requireDocPtr(),t,r);if(!n)throw new g(f.NotFound,"annotation not found");return n}program(e,t){let r=this.fonts.programFor(e);if(r)return{...r.info(),bytes:t?r.bytes():null};let n=this.faces().flatMap(s=>s.programs).find(s=>s.displaySha256===e&&s.objectNumber>0);if(!n)throw new g(f.NotFound,`no font program ${e}`);let{fn:i,mem:a}=this.runtime,o=this.session.requireDocPtr();return Y(a,32,s=>{a.writeBytes(s,fO(e));let A=$k(this.runtime,(p,m)=>i.EPDFDoc_GetFontDisplayProgramCoverage(o,s,p,m)),d=null;if(t){let p=i.EPDFDoc_GetFontDisplayProgramData(o,s,W,0);d=Y(a,Math.max(1,p),m=>(i.EPDFDoc_GetFontDisplayProgramData(o,s,m,p),a.readBytes(m,p)))}return{covers:A,ascent:n.ascent,descent:n.descent,bytes:d}})}};function fO(e){return Uint8Array.from({length:e.length/2},(t,r)=>parseInt(e.slice(r*2,r*2+2),16))}function hd(e,t){let{fn:r,mem:n}=e,i=r.EPDFFontFaces_Load(t.requireDocPtr());if(!i)throw new g(f.Unknown,"EPDFFontFaces_Load failed");try{let a=[],o=r.EPDFFontFaces_Count(i);for(let s=0;sr.EPDFFontFaces_GetFamily(i,s,p,m))??"",weight:r.EPDFFontFaces_GetWeight(i,s),italic:r.EPDFFontFaces_IsItalic(i,s),programs:A})}return a}finally{r.EPDFFontFaces_Close(i)}}function gO(e,t,r,n){let{fn:i,mem:a}=e,o=p=>Y(a,32,m=>p(m)?dw(a.readBytes(m,32)):null),s=o(p=>i.EPDFFontFaces_GetProgramHash(t,r,n,p)),A=o(p=>i.EPDFFontFaces_GetProgramDisplayHash(t,r,n,p)),d=he(a,[4,4],([p,m])=>i.EPDFFontFaces_GetProgramMetrics(t,r,n,p,m)?{ascent:Number(a.peek(p,"f32")),descent:Number(a.peek(m,"f32"))}:{ascent:0,descent:0});return{objectNumber:i.EPDFFontFaces_GetProgramObjNum(t,r,n),format:lO[i.EPDFFontFaces_GetProgramFormat(t,r,n)]??null,embedded:mO[i.EPDFFontFaces_GetProgramEmbedded(t,r,n)]??"none",postScriptName:Ye(a,(p,m)=>i.EPDFFontFaces_GetProgramPostScriptName(t,r,n,p,m))||null,permission:wO[i.EPDFFontFaces_GetProgramEmbeddingPermission(t,r,n)]??null,mapsUnicode:i.EPDFFontFaces_ProgramMapsUnicode(t,r,n),sha256:s,displaySha256:A,ascent:Math.round(d.ascent*1e3),descent:-Math.round(d.descent*1e3)}}var Wc=new WeakMap;function eD(e,t){let{fn:r,mem:n}=e;return Y(n,32,i=>{if(!r.EPDFDoc_GetFontsFingerprint(t.requireDocPtr(),i))throw new g(f.Unknown,"EPDFDoc_GetFontsFingerprint failed");return dw(n.readBytes(i,32))})}function tD(e,t){let r=Sp({faces:hd(e,t),engineFonts:[],fallbacks:[]},fv);return JSON.stringify(r.fonts.filter(n=>n.source==="document"))}function dP(e,t){Wc.has(t)||Wc.set(t,{fingerprint:eD(e,t),documentFonts:tD(e,t)})}function FO(e,t){let r=Wc.get(t);if(!r)return!1;let n=eD(e,t);if(n===r.fingerprint)return!1;let i=tD(e,t);return Wc.set(t,{fingerprint:n,documentFonts:i}),i!==r.documentFonts}function vO(e,t,r){return bc({faces:hd(e,t),engineFonts:[],fallbacks:[]},r)}function Uc(e,t,r){let n,i=a=>(n??(n=ia(hd(e,t)))).find(o=>o.name===a);return{...r?{resolveRegisteredFontId:a=>r.idFor(a),describeRegisteredFont:a=>r.describeOrUndefined(a)}:{},describeFont:a=>{let o=r?.describeOrUndefined(a);if(o)return o;let s=i(a)?.face;return s&&{familyName:s.familyName,weight:s.weight,italic:s.italic}},documentProgramOf:a=>{if(Ir(a)||r?.describeOrUndefined(a))return;let o=i(a)?.programs[0];return o&&ra(o)&&o.objectNumber>0?o.objectNumber:void 0},resolveDocumentFont:a=>vO(e,t,a)}}var uw=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}create(e,t){O(t);let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=new Set,o=e.map(h=>{let P=this.session.resolvePageRef(h.page),B=this.writeContext(h.resources),y=fi(h.label,()=>iO(h.draft,h.resources,B));fi(h.label,()=>this.claimName(y.nm,P,a));let x=y.nm!==void 0||h.attribution.kind!=="stamp"?y:{...y,nm:tc()};h.objectNumber!==void 0&&fi(h.label,()=>this.session.claimObjectNumber(h.objectNumber));let I=h.replyTo&&{type:h.replyTo.type,to:fi(h.label,()=>this.linkTarget(h.replyTo.to,h.page,e.length,"reply"))};if(x.subtype==="popup"&&!h.parent)throw new g(f.InvalidArg,`${h.label??"create"}: a popup needs the annotation it shows (parent)`,{details:{field:"parent"}});return{create:h,record:P,ctx:B,draft:x,replyTo:I,parent:h.parent&&fi(h.label,()=>this.linkTarget(h.parent,h.page,e.length,"popup"))}});if(O(t),o.length===0)return{created:[],meta:uP(this.session.writeStamp(),[],[])};let s=o.map(({create:h,record:P,ctx:B,draft:y})=>{O(t);let x=r.EPDFPage_CreateAnnotRaw(i,P.pageIndex,mc[y.subtype],h.objectNumber??0);if(!x&&h.objectNumber!==void 0)throw gs(h.objectNumber,"taken");if(!x)throw new g(f.Unknown,`${h.label??"create"}: EPDFPage_CreateAnnotRaw returned NULL`);let I;try{if(fi(h.label,()=>$4(r,n,x,y,B)),zk(r,x,y.blendMode),I=r.EPDFAnnot_GetObjectNumber(x),I<=0)throw new g(f.Unknown,`${h.label??"create"}: EPDFPage_CreateAnnotRaw made a direct object`)}finally{r.FPDFPage_CloseAnnot(x)}return{pageIndex:P.pageIndex,pageObjectNumber:P.pageObjectNumber,index:r.EPDFPage_GetAnnotCountRaw(i,P.pageIndex)-1,objectNumber:I}}),A=[],d=(h,P)=>typeof h=="number"?this.withOpen(s[h],P):this.withOpenExisting(h,P);o.forEach(({replyTo:h,parent:P},B)=>{h&&this.withOpen(s[B],y=>d(h.to,x=>Zk(this.runtime,y,x,h.type))),P!==void 0&&this.withOpen(s[B],y=>d(P,x=>{Jk(this.runtime,y,x),typeof P!="number"&&A.push(Ha(r,n,i,P.page,x,P.index))}))});let p=new Date;o.forEach(({create:{attribution:h,fileDates:P,label:B}},y)=>{this.withOpen(s[y],x=>fi(B,()=>{h.kind==="stamp"?sO(r,n,x,h.actor,p):aO(r,n,x,h.from,h.importedBy),P&&oO(r,n,x,P)}))});let m=Ps(this.session,this.fonts),F=s.map(h=>this.withOpen(h,P=>Xc(r,n,P,h.pageObjectNumber,h.index,m)));return Bs(this.runtime,this.session,F),{created:F,meta:uP(this.session.writeStamp(),s,A)}}claimName(e,t,r){if(!e)return;let n=`${t.pageIndex}\\0${e}`,i=this.session.requireDocPtr();if(r.has(n)||cw(this.runtime,i,t.pageIndex,e)>=0)throw qk(e,t.pageObjectNumber);r.add(n)}linkTarget(e,t,r,n){if("planned"in e){if(e.planned<0||e.planned>=r)throw new g(f.InvalidArg,`no create ${e.planned} to link to`);return e.planned}let{existing:i}=e;if(i.page.objectNumber!==t.objectNumber)throw new g(f.InvalidArg,n==="reply"?`/IRT parent must be on the same page as the reply (parent page ${i.page.objectNumber}, reply page ${t.objectNumber})`:`a popup\'s parent must be on the same page (parent page ${i.page.objectNumber}, popup page ${t.objectNumber})`);return{page:i.page,...Bt(this.runtime,this.session,i)}}writeContext(e){return{...Uc(this.runtime,this.session,this.fonts),docPtr:this.session.requireDocPtr(),drawings:this.session.drawingIndex(),pdfPageCount:t=>Y3(this.runtime.fn,this.runtime.mem,t),...e?{resources:e}:{}}}withOpen(e,t){let{fn:r}=this.runtime,n=r.EPDFPage_GetAnnotRaw(this.session.requireDocPtr(),e.pageIndex,e.index);if(!n)throw new g(f.Unknown,"a created annotation is not where it was");try{if(r.EPDFAnnot_GetObjectNumber(n)!==e.objectNumber)throw new g(f.Unknown,"a created annotation is not where it was");return t(n)}finally{r.FPDFPage_CloseAnnot(n)}}withOpenExisting(e,t){let{fn:r}=this.runtime,n=r.EPDFPage_GetAnnotRaw(this.session.requireDocPtr(),e.pageIndex,e.index);if(!n)throw new g(f.Unknown,"an annotation to link to is not where it was");try{return t(n)}finally{r.FPDFPage_CloseAnnot(n)}}};function uP(e,t,r){return{affectedPages:[...new Set(t.map(n=>n.pageObjectNumber))].map(n=>ue(n)),cacheDelta:null,...e,changedRefs:[...t.map(n=>({kind:"objectNumber",page:ue(n.pageObjectNumber),objectNumber:n.objectNumber})),...r]}}function fi(e,t){try{return t()}catch(r){throw!e||!g.is(r)?r:new g(r.code,`${e}: ${r.message}`,{...r.details?{details:r.details}:{},cause:r})}}function PO(e,t,r,n){if(!(r.subtype!=="polygon"&&r.subtype!=="polyline")&&Qi(n)&&e.FPDFAnnot_HasKey(t,"EMBD_Metadata")&&e.FPDFAnnot_GetValueType(t,"EMBD_Metadata")!==6)throw new g(f.InvalidArg,"Malformed annotation metadata cannot store a caption")}function hO(e){switch(e){case 1:return"editable";case 2:return"preview-and-print";default:return"installable"}}var kO=class{constructor(e,t){this.runtime=e,this.ids=t,V(this,"fileHandles",[]),V(this,"identities",new Map),V(this,"programs",new Map),V(this,"fallbacks",[]),V(this,"builtIn",new Set),this.registerLastResort()}registerLastResort(){let e=bv(),{mem:t,fn:r}=this.runtime,n=t.alloc(e.byteLength);try{t.writeBytes(n,e);let i=r.EPDFFont_RegisterMemFont64("",0,-1,n,e.byteLength);if(i===0||!r.EPDFFont_SetLastResortFont(i))throw new g(f.RuntimeUnavailable,"the last-resort font did not register")}finally{t.free(n)}}register(e,t,r,n,i,a=!1){if(this.ids.has(e))return;if(i.byteLength===0)throw new g(f.InvalidArg,`empty font data: ${e}`);let{mem:o,fn:s}=this.runtime,A=o.alloc(i.byteLength);try{o.writeBytes(A,i);let d=s.EPDFFont_RegisterMemFont64(t,r,n,A,i.byteLength);if(d===0)throw new g(f.InvalidArg,`font registration failed (unloadable or no glyphs): ${e}`);this.ids.set(e,d),this.identities.set(e,this.readIdentity(d,{familyName:t,weight:r,italic:n})),this.programs.set(e,{...this.readProgram(d),served:!0}),a&&this.builtIn.add(e)}finally{o.free(A)}}registerFromNodeFile(e,t,r,n,i,a=!1,o=!1){if(this.ids.has(e))return;let s=this.runtime.fileAccess.fromNodeFile(i),A=0;try{A=this.runtime.fn.EPDFFont_RegisterFont(t,r,n,s.ptr)}catch(d){throw s.close(),d}if(A===0)throw s.close(),new g(f.InvalidArg,`font registration failed (unloadable or no glyphs): ${e} (${i})`);this.ids.set(e,A),this.identities.set(e,this.readIdentity(A,{familyName:t,weight:r,italic:n})),this.programs.set(e,{...this.readProgram(A),served:a}),o&&this.builtIn.add(e),this.fileHandles.push(s)}describe(e){let t=this.identities.get(e);if(!t)throw new g(f.InvalidArg,`font not registered on this thread: ${e}`);return t}describeOrUndefined(e){return this.identities.get(e)}keyForFace(e,t,r){let n=wn(e),i;for(let[a,o]of this.identities){if(wn(o.familyName)!==n)continue;let s=Math.abs(o.weight-t)+(o.italic===r?0:1e3);(!i||s{try{return a()}catch{return o}};return{familyName:i(()=>Ye(n,(a,o)=>r.EPDFFont_GetFamilyName(e,a,o))??t.familyName,t.familyName),weight:i(()=>r.EPDFFont_GetWeight(e),t.weight||400),italic:i(()=>r.EPDFFont_IsItalic(e),t.italic===1),embeddingPermission:i(()=>hO(r.EPDFFont_GetEmbeddingPermission(e)),"installable"),editingAuthorized:i(()=>r.EPDFFont_IsEditingAuthorized(e),!0),instanced:i(()=>r.EPDFFont_IsInstanced(e),!1)}}registerStartup(e){for(let t of e){let r=t.italic===void 0?-1:t.italic?1:0;this.registerFromNodeFile(t.key,t.familyName??"",t.weight??0,r,t.path,t.serve??!1,t.builtIn??!1),t.fallback&&this.addFallback(t.key,t.tier)}}addFallback(e,t=Gp.own){let r=this.requireId(e);if(!this.runtime.fn.EPDFFont_AddFallbackFont(r,t))throw new g(f.InvalidArg,`addFallback failed: ${e}`);let n=this.fallbacks.find(i=>i.key===e);n?n.tier=t:this.fallbacks.push({key:e,tier:t})}clearFallbacks(){this.runtime.fn.EPDFFont_ClearFallbackFonts(),this.fallbacks=[]}fallbackKeys(){return[...this.fallbacks].sort((e,t)=>e.tier-t.tier).map(e=>e.key)}engineFontFacts(){let e=[];for(let[t,r]of this.identities){let n=this.programs.get(t);n&&e.push({key:t,identity:r,postScriptName:n.postScriptName,format:n.format,sha256:n.sha256,served:n.served,builtIn:this.builtIn.has(t)})}return e}keyForId(e){for(let[t,r]of this.ids)if(r===e)return t}programFor(e){let t=[...this.programs].find(([,a])=>a.sha256===e)?.[0];if(t===void 0)return;let r=this.requireId(t),{fn:n,mem:i}=this.runtime;return{info:()=>{let a=$k(this.runtime,(s,A)=>n.EPDFFont_GetCoverage(r,s,A)),o=he(i,[4,4],([s,A])=>n.EPDFFont_GetMetrics(r,s,A)?{ascent:Number(i.peek(s,"f32")),descent:Number(i.peek(A,"f32"))}:{ascent:0,descent:0});return{covers:a,ascent:Math.round(o.ascent*1e3),descent:-Math.round(o.descent*1e3)}},bytes:()=>{let a=n.EPDFFont_GetProgramData(r,W,0);return Y(i,Math.max(1,a),o=>(n.EPDFFont_GetProgramData(r,o,a),i.readBytes(o,a)))}}}readProgram(e){let{fn:t,mem:r}=this.runtime;return{sha256:Y(r,32,n=>t.EPDFFont_GetProgramHash(e,n)?Array.from(r.readBytes(n,32),i=>i.toString(16).padStart(2,"0")).join(""):""),format:t.EPDFFont_GetProgramFormat(e)===2?"opentype":"truetype",postScriptName:Ye(r,(n,i)=>t.EPDFFont_GetPostScriptName(e,n,i))||null}}clear(){this.runtime.fn.EPDFFont_ClearRegisteredFonts(),this.registerLastResort(),this.ids.clear(),this.identities.clear(),this.programs.clear(),this.fallbacks=[],this.builtIn.clear();for(let e of this.fileHandles)e.close();this.fileHandles.length=0}idFor(e){return this.requireId(e)}requireId(e){let t=this.ids.get(e);if(t===void 0)throw new g(f.InvalidArg,`font not registered on this thread: ${e}`);return t}};function Ca(e,t,r){return{affectedPages:[ue(t)],cacheDelta:null,...e,changedRefs:[...r]}}var pw=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}writeContext(e){return{...Uc(this.runtime,this.session,this.fonts),runtime:this.runtime,docPtr:this.session.requireDocPtr(),drawings:this.session.drawingIndex(),pdfPageCount:t=>Y3(this.runtime.fn,this.runtime.mem,t),...e?{resources:e}:{}}}create(e,t,r,n={}){let{actor:i,resources:a,objectNumber:o}=n,{reply:s,...A}=t,d=t.subtype==="popup"?t.parent:null;t.subtype==="popup"&&delete A.parent;let{created:p,meta:m}=new uw(this.runtime,this.session,this.fonts).create([{page:ue(e),draft:A,...s?{replyTo:{to:{existing:s.to},type:s.type??"reply"}}:{},...d?{parent:{existing:d}}:{},...a?{resources:a}:{},...o!==void 0?{objectNumber:o}:{},attribution:{kind:"stamp",...i?{actor:i}:{}}}],r);return{annotation:p[0],meta:m}}update(e,t,r,n,i){O(n);let{fn:a,mem:o}=this.runtime,{pageIndex:s,index:A}=Bt(this.runtime,this.session,e),d=gi(this.runtime,this.session,s,A);try{O(n);let p=this.writeContext(i),m=L3(a.EPDFAnnot_GetBlendMode(d)),F=Xc(a,o,d,e.page.objectNumber,A,Ps(this.session,this.fonts));Bs(this.runtime,this.session,[F]);let h=uc(r,F,t.groupId);PO(a,d,F,t),t=CF(F,t,{describeFont:p.describeFont}),Y4(F,t),kA(F.subtype,i,"update"),J4(t,p),O(n);let P=i?.appearance?"regenerate":au(F,t);if(P!=="inert"&&$H(a,o,d),t.subtype!==void 0&&t.subtype!==F.subtype&&!a.EPDFAnnot_SetSubtype(d,mc[t.subtype]))throw new g(f.Unknown,"EPDFAnnot_SetSubtype returned false");eO(a,o,d,t,p),t.contents!==void 0&&t.contents!==F.contents&&mA({...F,...t})&&a.EPDFAnnot_RemoveKey(d,"RC");let B=null;t.reply!==void 0&&!EO(t.reply,F.reply)&&AO(this.runtime,this.session,d,e.page.objectNumber,t.reply===null?{inReplyTo:null}:{inReplyTo:t.reply.to,replyType:t.reply.type??"reply"});let y=!1;t.subtype==="popup"&&F.subtype==="popup"&&t.parent!==void 0&&!nD(t.parent,F.parent)&&(y=!0,B=cO(this.runtime,this.session,d,e.page.objectNumber,t.parent,F.parent));let x=null,I=t.open;if(I!==void 0&&!y){let K=F.subtype==="text"?F.popup:F.subtype==="popup"?F.parent:null;K&&(x=pO(this.runtime,this.session,K,I,F.subtype==="popup"))}Um(a,o,d),Ix(a,o,d,h);let S;P==="inert"||P==="translation"?S={action:"preserved",changed:!1}:S=(F.subtype==="widget"?!F.hasMark&&a.EPDFAnnot_GenerateFormFieldAP(d):zk(a,d,t.blendMode??m))?{action:"regenerated",changed:!0}:{action:"generation-unavailable",changed:P==="regenerate"},a.FPDFPage_CloseAnnot(d),d=null,d=gi(this.runtime,this.session,s,A);let G=Xc(a,o,d,e.page.objectNumber,A,Ps(this.session,this.fonts));Bs(this.runtime,this.session,[G]);let Q=Ca(this.session.writeStamp(),e.page.objectNumber,BO([G.ref,B,x]));return{annotation:G,appearance:S,meta:Q}}finally{d!==null&&a.FPDFPage_CloseAnnot(d)}}assertNotAttachedWidget(e,t){let{fn:r}=this.runtime;if(r.FPDFAnnot_GetSubtype(e)!==L.WIDGET)return;let n=r.EPDFAnnot_GetObjectNumber(e);if(t>0&&n===t)return;let i=DH(this.runtime,this.session,n);if(i!==0)throw new g(f.InvalidArg,i===n?"widget is its form field\'s own dictionary (a merged field/widget) - delete the field with doc.forms.delete":"widget is attached to a form field - use doc.forms.removeWidget or doc.forms.delete")}delete(e,t,r){O(r);let{fn:n}=this.runtime,i=this.session.requireDocPtr(),a=e.page.objectNumber,{pageIndex:o}=this.session.resolvePageRef(e.page),{annotations:s}=new ld(this.runtime,this.session,this.fonts).listOne(a,r),A=Ni(s,e);if(A.length===0)throw DO(e);pc(t,A);let d=P=>Bt(this.runtime,this.session,P).index,p=A.map(P=>d(P.ref));for(let P of p)this.withAnnotAt(o,P,B=>this.assertNotAttachedWidget(B,0));let m=new Set(A.map(P=>j(P.ref))),F=A.flatMap(P=>{if(P.subtype!=="popup"||!P.parent)return[];let B=j(P.parent),y=s.find(x=>j(x.ref)===B);return y&&!m.has(B)?[d(y.ref)]:[]});O(r),sn(this.runtime,this.session,a);for(let P of[...p].sort((B,y)=>y-B))if(!n.EPDFPage_RemoveAnnotRaw(i,o,P))throw new g(f.Unknown,`failed to remove annotation ${P} on page ${a}`);for(let P of F){let B=p.filter(y=>yn.EPDFAnnot_RemoveKey(y,"Popup"))}let h=[...A].reverse().map(P=>P.ref);return{meta:Ca(this.session.writeStamp(),a,h)}}deleteReleasedWidget(e,t){let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=e.page.objectNumber,{pageIndex:o,index:s}=Bt(this.runtime,this.session,e),A=this.withAnnotAt(o,s,d=>(this.assertNotAttachedWidget(d,t),Ha(r,n,i,e.page,d,s)));if(sn(this.runtime,this.session,a),!r.EPDFPage_RemoveAnnotRaw(i,o,s))throw new g(f.Unknown,`failed to remove annotation: ${e.kind}`);return{meta:Ca(this.session.writeStamp(),a,[A])}}withAnnotAt(e,t,r){let n=gi(this.runtime,this.session,e,t);try{return r(n)}finally{this.runtime.fn.FPDFPage_CloseAnnot(n)}}};function DO(e){return new g(f.NotFound,`no annotation ${j(e)} on page ${e.page.objectNumber}`)}function BO(e){let t=new Set;return e.filter(r=>r===null||t.has(j(r))?!1:(t.add(j(r)),!0))}var nD=(e,t)=>e===null||t===null?e===t:j(e)===j(t);function EO(e,t){return e===null||t===null?e===t:nD(e.to,t.to)&&(e.type??"reply")===t.type}function rD(e,t,r){let n=ad(e,t,r);return n?Y(t,16,i=>(ah(t,i,n.box),e.EPDFAnnot_ExportAppearance(r,id(n.rotation),i))):e.EPDFAnnot_ExportAppearance(r,0,W)}var _O=2;function zl(e,t,r,n){let i=null;try{return Y(t,8,a=>{Se(t,a,0),i=e.EPDF_SaveDocumentToOwnedBuffer(r,_O,a);let o=Number(t.peek(a,"i32"));if(!i||o<=0)throw new g(f.DocOpenFailed,`failed to save ${n}`);let s=t.readBytes(i,o),A=new ArrayBuffer(s.byteLength);return new Uint8Array(A).set(s),{bytes:A,size:o}})}finally{i&&e.EPDF_FreeBuffer(i)}}var yO=0,GO=1,CO=0,IO=2,Bl=class{constructor(e,t){this.runtime=e,this.session=t}flatten(e,t,r,n){O(n),this.requireRefs("annotations.flatten",e,t);let{fn:i,mem:a}=this.runtime,o=sn(this.runtime,this.session,e),s=this.session.pagePool(),A=s.acquire(e);try{let d=this.resolveAll(A,t),p,m;try{[p,m]=this.withHandleArray(d,P=>Y(a,4*t.length,B=>{let y=i.EPDFPage_FlattenAnnotations(A,P,t.length,r==="print"?1:0,B),x=[];for(let I=0;IB===IO);throw new g(P>=0?f.InvalidArg:f.Unknown,P>=0?`annotations.flatten: ref ${P} is not an annotation of page ${e}`:"native annotation flatten failed after preflight")}let F=t.map((P,B)=>({ref:P,status:m[B]===CO?"applied":"unchanged"}));if(p!==GO&&!o){let P={affectedPages:[],cacheDelta:null,...this.session.writeStamp()};return{page:ue(e),usage:r,results:F,meta:P}}this.session.invalidateDerived();let h={affectedPages:[ue(e)],cacheDelta:null,...this.session.writeStamp()};return{page:ue(e),usage:r,results:F,meta:h}}finally{s.release(e)}}exportAppearance(e,t,r){O(r),this.requireRefs("annotations.exportAppearance",e,t);let{fn:n}=this.runtime,i=this.session.pagePool(),a=i.acquire(e),o=null;try{let s=this.resolveAll(a,t);try{o=this.withHandleArray(s,A=>n.EPDFPage_ExportAnnotationsAsDocument(a,A,t.length))}finally{for(let A of s)n.FPDFPage_CloseAnnot(A)}if(!o)throw new g(f.InvalidArg,"annotations.exportAppearance: every ref must be a visible annotation of this page with a normal appearance");return zl(this.runtime.fn,this.runtime.mem,o,"exported appearances")}finally{o&&n.FPDF_CloseDocument(o),i.release(e)}}readAppearance(e,t,r){O(r);let{fn:n}=this.runtime,i=this.session.pagePool(),a=i.acquire(e),o=null;try{let s=vs(this.runtime,this.session,a,t);try{let A=qr(n.FPDFAnnot_GetSubtype(s));if(Rr[A]?.appearance===void 0)throw new g(f.InvalidArg,`a ${A} annotation has no \'appearance\' resource`);o=rD(n,this.runtime.mem,s)}finally{n.FPDFPage_CloseAnnot(s)}if(!o)throw new g(f.InvalidArg,"the annotation has no normal appearance to read");return zl(this.runtime.fn,this.runtime.mem,o,"the appearance")}finally{o&&n.FPDF_CloseDocument(o),i.release(e)}}resolveAll(e,t){let{fn:r}=this.runtime,n=[];try{for(let i of t)n.push(vs(this.runtime,this.session,e,i));return n}catch(i){for(let a of n)r.FPDFPage_CloseAnnot(a);throw i}}withHandleArray(e,t){let{mem:r}=this.runtime,n=this.runtime.kind==="wasm",i=n?4:8;return Y(r,Math.max(1,e.length*i),a=>(e.forEach((o,s)=>n?r.poke(a,"i32",Number(o),s*4):r.poke(a,"i64",o,s*8)),t(a)))}requireRefs(e,t,r){if(r.length===0)throw new g(f.InvalidArg,`${e} requires at least one ref`);for(let n of r)if(n.page.objectNumber!==t)throw new g(f.InvalidArg,`${e} refs must all target page ${t}; got ref on page ${n.page.objectNumber}`)}};function iD(e,t,r,n){let{fn:i,mem:a}=e,o=n?i.EPDFDoc_ExportDrawing(t,n):rD(i,a,r);if(!o)return null;try{return zl(i,a,o,"a drawing").bytes}finally{i.FPDF_CloseDocument(o)}}function aD(e,t,r){let n=e.fn.FPDFAnnot_GetFileAttachment(t);return n?qh(e,n,r).bytes:null}function oD(e){return g.is(e,f.PayloadTooLarge)}function sD(e,t,r){let{fn:n,mem:i}=e,a=new Set(r.flatMap(s=>zi(s).map(le))),o=t.requireDocPtr();return Y(i,16,s=>t.allRecords().filter(A=>a.has(le(ue(A.pageObjectNumber)))).map(A=>{let d=Gs(n,i,o,A.pageIndex,s).crop;return{page:ue(A.pageObjectNumber),position:A.pageIndex,size:{width:d.right-d.left,height:d.top-d.bottom}}}))}var SO=class{constructor(e,t,r){this.runtime=e,this.kind=t,this.limits=r,V(this,"byId",{}),V(this,"totalBytes",0)}keep(e){Ie(this.kind,this.limits,"resourceBytes",e.byteLength);let{fn:t,mem:r}=this.runtime,n=`sha256-${Nm(t,r,new Uint8Array(e))}`;return n in this.byId||(this.byId[n]=e,this.totalBytes+=e.byteLength,Ie(this.kind,this.limits,"resources",Object.keys(this.byId).length),Ie(this.kind,this.limits,"bundleBytes",this.totalBytes)),n}},xO=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}export(e,t,r){O(r);let n=this.session.allRecords(),i=new ld(this.runtime,this.session,this.fonts),a=pp(e,n.map(m=>ue(m.pageObjectNumber)),m=>i.listOne(m.objectNumber,r,"annotations").annotations);Ie("annotation",t,"items",a.length);let o=new HO(this.runtime,this.session,t),s=qn(this.runtime,this.session),A=a.map(m=>(O(r),{data:or(m,s(m.ref.page),s),resources:o.of(m)})),d=sD(this.runtime,this.session,A.map(m=>m.data));Ie("annotation",t,"pages",d.length);let p=jr({pages:d,items:A});return Ie("annotation",t,"manifestBytes",p),Ie("annotation",t,"bundleBytes",p+o.totalBytes),{format:"embedpdf/annotations",version:1,pages:d,items:A,resources:o.byId}}},HO=class extends SO{constructor(e,t,r){super(e,"annotation",r),this.session=t,V(this,"drawings",new Map)}of(e){let t=Rr[e.subtype];if(!t)return{};let{fn:r}=this.runtime,n=this.rawHandleOf(e);try{let i={};if(t.appearance){let a=this.appearanceOf(n);a&&(i.appearance=a)}if(t.file){let a=this.fileOf(n);a&&(i.file=a)}return i}finally{r.FPDFPage_CloseAnnot(n)}}rawHandleOf(e){return Cs(this.runtime,this.session,e.ref)}appearanceOf(e){let t=this.runtime.fn.EPDFAnnot_GetStampDrawing(e),r=t?this.drawings.get(t):void 0;if(r)return r;let n=iD(this.runtime,this.session.requireDocPtr(),e,t);if(!n)return null;let i=this.keep(n);return t&&this.drawings.set(t,i),i}fileOf(e){let t;try{t=aD(this.runtime,e,this.limits.resourceBytes)}catch(r){throw oD(r)?new g(f.PayloadTooLarge,`the annotation bundle is past its resourceBytes limit: an attached file is larger than ${this.limits.resourceBytes}`,{details:{limit:"resourceBytes",max:this.limits.resourceBytes}}):r}return t?this.keep(t):null}};function Zl(e,t,r,n,i){let a=new Map;for(let[d,p]of Object.entries(r.resources??{})){if(!(p instanceof ArrayBuffer))throw new g(f.InvalidArg,`${t} bundle: resource ${d} is not bytes`);a.set(d,p.byteLength)}i(r,a,n);let{fn:o,mem:s}=e,A=new Map;for(let[d,p]of Object.entries(r.resources??{})){let m=Nm(o,s,new Uint8Array(p));if(`sha256-${m}`!==d)throw new g(f.InvalidArg,`${t} bundle: resource ${d} doesn\'t match its id`);A.set(p,m)}return A}function OO(e,t,r){let n=ro(r);n&&"width"in n&&Ie(e,t,"imagePixels",n.width*n.height)}var QO=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}import(e,t){O(t);let{bundle:r,limits:n}=e;this.assertBundle(r,n);let i=SF({bundle:e.attribution==="stamp"?TO(r):r,...e.pages!==void 0?{pages:e.pages}:{},target:this.session.allRecords().map(d=>({page:ue(d.pageObjectNumber),position:d.pageIndex})),nameTaken:(d,p)=>cw(this.runtime,this.session.requireDocPtr(),this.session.resolvePageRef(d).pageIndex,p)>=0}),a=qn(this.runtime,this.session),o=i.creates.map(d=>{let p=r.items[d.item],m={};for(let[F,h]of Object.entries(p.resources))m[F]=r.resources[h];return{page:d.page,draft:Vi(d.draft,a(d.page),a),...d.replyTo?{replyTo:{to:{planned:d.replyTo.planned},type:d.replyTo.type}}:{},...d.parent!==void 0?{parent:{planned:d.parent}}:{},resources:m,attribution:RO(e,d.draft,p.data),...p.data.subtype==="file-attachment"&&p.data.file?{fileDates:{createdAt:p.data.file.createdAt,modifiedAt:p.data.file.modifiedAt}}:{},label:`import: item ${d.item}`}});for(let d of o)e.authorizeCreate?.(d.draft);let{created:s,meta:A}=new uw(this.runtime,this.session,this.fonts).create(o,t);return{annotations:s,refMap:i.creates.map((d,p)=>({from:r.items[d.item].data.ref,to:s[p].ref})),dropped:[...i.dropped],meta:A}}assertBundle(e,t){let r=Zl(this.runtime,"annotation",e,t,BA),n=this.session.drawingIndex();for(let[i,a]of r)n.hashes.set(i,a);for(let i of e.items){let a=i.resources.appearance;a&&OO("annotation",t,e.resources[a])}}};function RO(e,t,r){let{actor:n}=e;if(e.attribution==="stamp"){let{groupId:i}=t,a=typeof i=="string"?{...n,groupId:i}:n;return{kind:"stamp",...a?{actor:a}:{}}}return{kind:"restore",from:{author:r.author,createdAt:r.createdAt,modifiedAt:r.modifiedAt,userId:r.userId,createdBy:r.createdBy,modifiedBy:r.modifiedBy,groupId:r.groupId??null},...n?.userId?{importedBy:n.userId}:{}}}function TO(e){return{...e,items:e.items.map(({data:{nm:t,...r},...n})=>({...n,data:r}))}}function AD(e,t,r,n){let{fn:i,mem:a}=e;return Y(a,Math.max(4,4*n.length),o=>(n.forEach((s,A)=>a.poke(o,"i32",s,4*A)),Dr(e,"annotations",s=>i.EPDFPage_ExportAnnotsRawToOwnedBuffer(t,r,o,n.length,s))))}function cD(e,t,r,n){La(e,n,i=>{if(!e.fn.EPDFPage_ImportAnnotsRaw(t,r,i,n.byteLength))throw new g(f.Unknown,"EPDFPage_ImportAnnotsRaw refused a capture")})}function MO(e,t,r,n){return Dr(e,`object ${r}`,i=>e.fn.EPDFDoc_ExportDictRawToOwnedBuffer(t,r,n.join(" "),i))}function lw(e,t,r,n,i=[]){return Dr(e,`object ${r}`,a=>e.fn.EPDFDoc_ExportDictCanonicalToOwnedBuffer(t,r,n.join(" "),i.join(" "),a))}function LO(e,t,r){La(e,r,n=>{if(!e.fn.EPDFDoc_ImportDictRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFDoc_ImportDictRaw refused a capture")})}function NO(e,t,r){return Dr(e,`field ${r}`,n=>e.fn.EPDFForm_ExportFieldRawToOwnedBuffer(t,r,n))}function jO(e,t,r){La(e,r,n=>{if(!e.fn.EPDFForm_ImportFieldRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFForm_ImportFieldRaw refused a capture")})}function KO(e,t,r){return Dr(e,`outline item ${r}`,n=>e.fn.EPDFOutline_ExportItemRawToOwnedBuffer(t,r,n))}function VO(e,t,r){La(e,r,n=>{if(!e.fn.EPDFOutline_ImportItemRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFOutline_ImportItemRaw refused a capture")})}function YO(e,t,r){return Dr(e,`page ${r}`,n=>e.fn.EPDFPage_ExportRawToOwnedBuffer(t,r,n))}function XO(e,t,r){La(e,r,n=>{if(!e.fn.EPDFPage_ImportRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFPage_ImportRaw refused a capture")})}function WO(e,t,r){return Dr(e,`attachment \'${r}\'`,n=>Zn(e.mem,r,i=>e.fn.EPDFAttachment_ExportRawToOwnedBuffer(t,i,n)))}function dD(e,t,r){try{return Dr(e,`attachment \'${r}\'`,n=>Zn(e.mem,r,i=>e.fn.EPDFAttachment_ExportCanonicalToOwnedBuffer(t,i,n)))}catch(n){if(g.is(n))return null;throw n}}function UO(e,t,r){La(e,r,n=>{if(!e.fn.EPDFAttachment_ImportRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFAttachment_ImportRaw refused a capture")})}function Dr(e,t,r){let{fn:n,mem:i}=e;return Y(i,8,a=>{Se(i,a,0);let o=r(a);if(!o)throw new g(f.Unknown,`the capture of ${t} failed`);try{return i.readBytes(o,Number(i.peek(a,"i32"))).slice()}finally{n.EPDF_FreeBuffer(o)}})}function La(e,t,r){let{mem:n}=e;return Y(n,Math.max(1,t.byteLength),i=>(n.writeBytes(i,t),r(i)))}function Ze(e,t,r=qO){if(Object.is(e,t))return!0;if(typeof e!="object"||typeof t!="object"||e===null||t===null)return!1;if(Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((o,s)=>Ze(o,t[s]));let n=pP(e,r),i=pP(t,r);if(n.length!==i.length)return!1;let a=o=>o;return n.every(o=>i.includes(o)&&Ze(a(e)[o],a(t)[o]))}var qO=new Set;function pP(e,t){return Object.entries(e).filter(([r,n])=>n!==void 0&&!t.has(r)).map(([r])=>r)}function Fe(e,t){return{item:{type:"skipped",op:t,meta:{affectedPages:[],cacheDelta:null,...e.session.writeStamp()}},reverse:[]}}function Cn(e,t,r){if(!r)return;let n=t,i=Object.entries(r).filter(([a,o])=>o!==void 0&&!Ze(n[a],o)).map(([a])=>a);if(i.length>0)throw new g(f.ChangeConflict,`op ${e} expected other values in ${i.join(", ")}`,{details:{opIndex:e,fields:i}})}function kd(e,t){if(e.byteLength!==t.byteLength)return!1;for(let r=0;r({...n,after:lw(e,t.requireDocPtr(),n.objectNumber,[])}))}function Na(e,t,r){return r.every(n=>{let i=zO(e,t,n.objectNumber);return i!==null&&kd(i,n.after)})}function Rs(e,t,r){let n=cn(e,t,r),i=t.requireDocPtr();for(let a of r)a.before&&LO(e,i,a.before);return t.invalidateDerived(),Et(e,t,n)}function zO(e,t,r){try{return lw(e,t.requireDocPtr(),r,[])}catch(n){if(g.is(n))return null;throw n}}function ZO(e,t,r,n){try{return MO(e,t.requireDocPtr(),r,n)}catch(i){if(g.is(i))return null;throw i}}function us(e,t,r){let n=e[t];if(!(r<=n))throw new g(f.PayloadTooLarge,`copy: past the ${t} limit: ${r} > ${n}`,{details:{limit:t,max:n,value:r}})}var JO=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}copy(e,t){O(t);let{refs:r,objectNumbers:n,limits:i}=e;if(n&&n.length!==r.length)throw new g(f.InvalidArg,`copy: objectNumbers names ${n.length} copies of ${r.length}`,{details:{field:"objectNumbers"}});us(i,"items",r.length),e.page&&this.session.resolvePageRef(e.page);let a=r.map(F=>e.read(F)),o=qn(this.runtime,this.session),s=OF(a.map(F=>or(F,o(F.ref.page),o)),{...e.page?{page:e.page}:{},...e.offset?{offset:e.offset}:{}}),A=this.resourceReader(i),d=s.creates.map(F=>{O(t);let h=a[F.source],P=Vi(F.draft,o(F.page),o),B=e.authorizeCreate(P);return{page:F.page,draft:P,...F.replyTo?{replyTo:{to:{planned:F.replyTo.copy},type:F.replyTo.type}}:{},...F.parent!==void 0?{parent:{planned:F.parent}}:{},resources:A(h),...n?{objectNumber:n[F.source]}:{},attribution:{kind:"stamp",...B?{actor:B}:{}},...h.subtype==="file-attachment"&&h.file?{fileDates:{createdAt:h.file.createdAt,modifiedAt:h.file.modifiedAt}}:{},label:`copy: annotation ${F.source}`}}),{created:p,meta:m}=new uw(this.runtime,this.session,this.fonts).create(d,t);return{annotations:p,refMap:s.creates.map((F,h)=>({from:a[F.source].ref,to:p[h].ref})),dropped:[...s.dropped],meta:m}}resourceReader(e){let{fn:t}=this.runtime,r=new Map,n=0,i=0,a=o=>(us(e,"resourceBytes",o.byteLength),n+=1,us(e,"resources",n),i+=o.byteLength,us(e,"bundleBytes",i),o);return o=>{let s=Rr[o.subtype];if(!s)return{};let A=Cs(this.runtime,this.session,o.ref);try{let d={};if(s.appearance){let p=t.EPDFAnnot_GetStampDrawing(A),m=r.get(p),F=m??iD(this.runtime,this.session.requireDocPtr(),A,p);F&&(d.appearance=m??a(F)),F&&p&&r.set(p,F)}if(s.file){let p=this.fileOf(A,e.resourceBytes);p&&(d.file=a(p))}return d}finally{t.FPDFPage_CloseAnnot(A)}}}fileOf(e,t){try{return aD(this.runtime,e,t)}catch(r){throw oD(r)?new g(f.PayloadTooLarge,`copy: an attached file is larger than ${t} bytes`,{details:{limit:"resourceBytes",max:t}}):r}}};function Dd(e,t,r){let{fn:n,mem:i}=e,a=t.requireDocPtr(),{pageIndex:o}=t.resolvePageRef(r),s=n.EPDFPage_GetAnnotCountRaw(a,o),A=[];for(let d=0;dr?.family===t?[r.ref]:[])}function mw(e,t,r,n){if(r.length===0)throw new g(f.InvalidArg,"a reorder names at least one row",{details:{field:"refs"}});let i=new Map;e.entries.forEach((P,B)=>{P&&i.set(j(P.ref),B)});let a=Nr(n);(a?[...r,a]:r).forEach((P,B)=>{let y=a&&B===r.length?"position":"refs";if(P.page.objectNumber!==e.page.objectNumber)throw new g(f.InvalidArg,`${j(P)} is on page ${P.page.objectNumber}; a reorder stays on page ${e.page.objectNumber}`,{details:{field:y}});let x=i.get(j(P)),I=x===void 0?null:e.entries[x];if(I&&I.family!==t)throw new g(f.InvalidArg,$O(I.family),{details:{field:y}})});let o=Jl(e,t),s=hA(o,r,n,j),A=r.map(P=>i.get(j(P))),d=new Set(A),p=P=>P-A.filter(B=>Bi.get(j(P))).filter(P=>!d.has(P)),F=Math.min(...A),h;if(n==="start")h=m.length>0?p(m[0]):F;else if(n==="end")h=m.length>0?p(m.at(-1))+1:F;else{let P=p(i.get(j(a)));h="before"in n?P:P+1}return{stack:e,family:t,before:o,after:s,from:A,to:h}}function ww(e,t,r){let{fn:n,mem:i}=e;if(sn(e,t,r.stack.page.objectNumber),!Y(i,4*r.from.length,a=>(r.from.forEach((o,s)=>i.poke(a,"i32",o,4*s)),n.EPDFPage_MoveAnnotsRaw(t.requireDocPtr(),r.stack.pageIndex,a,r.from.length,r.to))))throw new g(f.Unknown,`the annotations of page ${r.stack.page.objectNumber} could not be reordered`)}function $O(e){return e==="widgets"?"widgets paint above every annotation and have an order of their own: reorder them with doc.forms.reorderWidgets":"annotations paint below every widget and have an order of their own: reorder them with page.annotations.reorder"}function Ft(e,t,r,n=r){let i=new Set;for(let a of r)a.page&&i.add(a.page.objectNumber);return{affectedPages:[...i].map(a=>ue(a)),cacheDelta:null,...e,changedFields:t,changedWidgets:r,redrawnWidgets:n}}function $l(e,t){return e==="checkbox"||e==="radio"?[]:[...t]}var eQ=["AP","FS"];function tQ(e,t){if(t.data.subtype==="widget")throw new g(f.InvalidArg,"a widget is the form\'s: create one with doc.forms.create or doc.forms.addWidget",{details:{field:"subtype"}});at(e.authority,Ln(t.data.subtype));let r=So(e.authority,t.data.subtype,t.data.groupId),n=e.session.resolvePageRef(t.page).pageObjectNumber,i=gw(e).create(n,t.data,e.signal,{...r?{actor:r}:{},...t.resources?{resources:t.resources}:{},...t.objectNumber!==void 0?{objectNumber:t.objectNumber}:{}});return{item:{type:"annotations.create",page:t.page,...i},reverse:[{kind:"annotation.remove",ref:i.annotation.ref,left:[i.annotation]}]}}function nQ(e,t){let r=t.attribution==="restore"?"import":void 0;r&&bw(e.authority);let n=new QO(e.runtime,e.session,e.fonts).import({bundle:t.bundle,...t.pages!==void 0?{pages:t.pages}:{},attribution:t.attribution,...t.actor?{actor:t.actor}:{},limits:t.limits,authorizeCreate:i=>{at(e.authority,Ln(i.subtype)),r||So(e.authority,i.subtype,i.groupId??void 0)}},e.signal);return{item:{type:"annotations.import",...n},reverse:uD(e,n.annotations,r)}}function rQ(e,t){me(e.authority,"doc.annotate.read");let r=new JO(e.runtime,e.session,e.fonts).copy({refs:t.refs,...t.page?{page:t.page}:{},...t.offset?{offset:t.offset}:{},...t.objectNumbers?{objectNumbers:t.objectNumbers}:{},read:n=>In(e,n),authorizeCreate:n=>(at(e.authority,Ln(n.subtype)),So(e.authority,n.subtype,void 0)),limits:e.limits},e.signal);return{item:{type:"annotations.copy",...r},reverse:uD(e,r.annotations,void 0)}}function uD(e,t,r){let n=new Map,i=s=>{let A=n.get(s.page.objectNumber);return A||(A=Ts(e,s.page.objectNumber),n.set(s.page.objectNumber,A)),Ni(A,s)},a=t.map(s=>({ref:s.ref,left:i(s.ref)})),o=new Set(a.flatMap(s=>s.left.map(A=>j(A.ref)).filter(A=>A!==j(s.ref))));return a.filter(s=>!o.has(j(s.ref))).reverse().map(s=>({kind:"annotation.remove",ref:s.ref,left:s.left,...r?{rights:r}:{}}))}function bw(e){me(e,"doc.annotate.modify"),me(e,"doc.annotate.import")}function iQ(e){return{...e,grants:null}}function aQ(e,t,r){let n=In(e,t.ref);if(n.subtype==="widget")throw new g(f.InvalidArg,"a widget is the form\'s: change its place and look with doc.forms.updateWidget");return at(e.authority,Ln(n.subtype)),Cn(r,n,t.expect),pD(e,n,t.patch.nm),fw(e,t.ref,t.patch,"annotations.update",t.resources)}function pD(e,t,r){if(!r||r===t.nm)return;let n=e.session.resolvePageRef(t.ref.page);if(cw(e.runtime,e.session.requireDocPtr(),n.pageIndex,r)>=0)throw qk(r,n.pageObjectNumber)}function oQ(e,t,r){let n=In(e,t.ref);if(n.subtype==="widget")throw sQ(n);return at(e.authority,Ln(n.subtype)),Cn(r,n,t.expect),fD(e,t.ref)}function sQ(e){let t=e.field?.kind==="objectNumber"&&e.ref.kind==="objectNumber"&&e.field.objectNumber===e.ref.objectNumber;return new g(f.InvalidArg,t?"widget is its form field\'s own dictionary (a merged field/widget) - delete the field with doc.forms.delete":e.field?"widget is attached to a form field - use doc.forms.removeWidget or doc.forms.delete":"a widget is the form\'s: it isn\'t deleted as an annotation")}function AQ(e,t){let r=mw(Dd(e.runtime,e.session,t.page),"annotations",t.refs,t.position);return mD(e,"annotations",t.refs),ww(e.runtime,e.session,r),lD(e,r,t.refs)}function lD(e,t,r){let{page:n}=t.stack;return{item:wD(e,t.family,n,t.after,r),reverse:[{kind:"annotation.reorder",page:n,family:t.family,refs:r,before:t.before,after:t.after}]}}function cQ(e,t){let r=t.subject.annotation,n=t.reports,i=bQ(e,r);if(!i)return Fe(e,n);if(at(e.authority,Ln(i.subtype)),Na(e.runtime,e.session,t.objects)){uc(e.authority,i,void 0);let B=Rs(e.runtime,e.session,t.objects);return{item:bD(e,n,r,{annotation:In(e,r),appearance:{action:"restored",changed:t.appearanceChanged??!0},meta:Ca(e.session.writeStamp(),r.page.objectNumber,[r])}),reverse:[{...t,objects:B,...mQ(t.fallback)}]}}let a=t.fallback;if(a?.kind!=="annotation")return Fe(e,n);let o=i,s=a.left,A=a.restore,d=Object.keys(s),p=d.filter(B=>Ze(o[B],s[B]));if(p.length===0)return Fe(e,n);let m=(B,y)=>B==="actions"&&i.subtype==="widget"?Ju(y):y,F=fw(e,r,Object.fromEntries(p.map(B=>[B,m(B,A[B])])),n),h=d.filter(B=>!p.includes(B)),P=F.item;return h.length===0||Vr(P)||P.type!==n?F:{...F,item:{...P,skipped:h}}}function dQ(e,t){let r=Fw(e,t.ref.page);if(!r)return Fe(e,"annotations.delete");let n=Ni(r,t.ref),i=new Map(t.left.map(a=>[j(a.ref),a]));if(!(n.length>0&&n.length===i.size&&n.every(a=>{let o=i.get(j(a.ref));return o!==void 0&&Ze(a,o)})))return Fe(e,"annotations.delete");for(let a of Io(n))at(e.authority,a);return t.rights&&bw(e.authority),fD(e,t.ref,t.rights)}function uQ(e,t){let r=Fw(e,t.page),n=t.members[0];if(!r||!n||r.some(A=>j(A.ref)===j(n)))return Fe(e,"annotations.restore");let{pageIndex:i,pageObjectNumber:a}=e.session.resolvePageRef(t.page);cD(e.runtime,e.session.requireDocPtr(),i,t.capture),e.session.invalidateDerived(),t.unlinked.length>0&&Na(e.runtime,e.session,t.unlinked)&&Rs(e.runtime,e.session,t.unlinked);let o=Ts(e,a),s=t.members.map(A=>{let d=o.find(p=>j(p.ref)===j(A));if(!d)throw new Error(`a restored annotation is missing: ${j(A)}`);return d});for(let A of Io(s))at(e.authority,A);return t.rights?bw(e.authority):pc(e.authority,s),{item:{type:"annotations.restore",page:t.page,annotations:s,meta:Ca(e.session.writeStamp(),a,t.members)},reverse:[{kind:"annotation.remove",ref:n,left:s,...t.rights?{rights:t.rights}:{}}]}}function pQ(e,t){let r=t.family==="annotations"?"annotations.reorder":"forms.reorderWidgets",n=fQ(e,t.page);if(!n)return Fe(e,r);let i=Jl(n,t.family),a=t.refs.filter(p=>{let m=lP(i,p);return m!==void 0&&m===lP(t.after,p)});if(a.length===0)return Fe(e,r);mD(e,t.family,a);let o=new Set(a.map(j)),s=new Set(i.map(j).filter(p=>!o.has(p))),A=n;for(let p of t.before.filter(m=>o.has(j(m)))){let m=t.before.findIndex(P=>j(P)===j(p)),F=t.before.slice(0,m).reverse().find(P=>s.has(j(P))),h=mw(A,t.family,[p],F?{after:F}:"start");ww(e.runtime,e.session,h),s.add(j(p)),A=Dd(e.runtime,e.session,t.page)}let d=Jl(A,t.family);return{item:wD(e,t.family,t.page,d,a),reverse:[{...t,refs:a,before:i,after:d}]}}function lP(e,t){let r=e.findIndex(n=>j(n)===j(t));if(!(r<0))return r===0?null:j(e[r-1])}function mD(e,t,r){if(t==="widgets"){me(e.authority,"doc.forms.modify");return}let n=r.map(i=>In(e,i));for(let i of Io(n))me(e.authority,i)}function wD(e,t,r,n,i){let a=e.session.writeStamp();return t==="annotations"?{type:"annotations.reorder",page:r,order:n,meta:Ca(a,r.objectNumber,i)}:{type:"forms.reorderWidgets",page:r,order:n,meta:Ft(a,[],i.map(o=>({ref:o,objectNumber:hi(e,o),page:r})))}}function fw(e,t,r,n,i){sn(e.runtime,e.session,t.page.objectNumber);let a=In(e,t),o=a.subtype==="widget"?wo(a.fieldKind,r):r,s=wQ(a,o).map(m=>({objectNumber:hi(e,m),deep:[]})),A=cn(e.runtime,e.session,[{objectNumber:hi(e,t),deep:eQ},...s]),d=gw(e).update(t,o,e.authority,e.signal,i),p=Et(e.runtime,e.session,A);return{item:bD(e,n,t,d),reverse:[{kind:"objects.revert",reports:n,objects:p,subject:{annotation:t},appearanceChanged:d.appearance.changed,fallback:lQ(a,d.annotation,o)}]}}function bD(e,t,r,n){if(t==="annotations.update")return{type:"annotations.update",page:r.page,...n};let i=n.annotation;if(i.subtype!=="widget")throw new Error("a widget update read back no widget");let a=Ct(hi(e,r),r.page);return{type:"forms.updateWidget",widget:i,appearance:n.appearance,meta:Ft(e.session.writeStamp(),i.field?[i.field]:[],[a],n.appearance.changed?[a]:[])}}function fD(e,t,r){let n=t.page.objectNumber;sn(e.runtime,e.session,n);let i=Ni(Ts(e,n),t),a=new Set(i.map(F=>j(F.ref))),o=i.flatMap(F=>F.subtype==="popup"&&F.parent&&!a.has(j(F.parent))?[{objectNumber:hi(e,F.parent),deep:[]}]:[]),s=cn(e.runtime,e.session,o),{pageIndex:A}=e.session.resolvePageRef(t.page),d=i.length>0?AD(e.runtime,e.session.requireDocPtr(),A,i.map(F=>Bt(e.runtime,e.session,F.ref).index)):new Uint8Array,p=r?iQ(e.authority):e.authority,m=gw(e).delete(t,p,e.signal);return{item:{type:"annotations.delete",page:t.page,...m},reverse:[{kind:"annotation.restore",page:t.page,members:m.meta.changedRefs,capture:d,unlinked:Et(e.runtime,e.session,s),...r?{rights:r}:{}}]}}function lQ(e,t,r){let n=e,i=t,a=Object.keys(r).filter(o=>!Ze(n[o],i[o]));return{kind:"annotation",restore:Object.fromEntries(a.map(o=>[o,n[o]])),left:Object.fromEntries(a.map(o=>[o,i[o]]))}}function mQ(e){return e?.kind!=="annotation"?e?{fallback:e}:{}:{fallback:{kind:"annotation",restore:e.left,left:e.restore}}}function wQ(e,t){let r=[];if("open"in t&&(e.subtype==="text"&&e.popup&&r.push(e.popup),e.subtype==="popup"&&e.parent&&r.push(e.parent)),e.subtype==="popup"&&"parent"in t){e.parent&&r.push(e.parent);let n=t.parent;n&&r.push(n)}return r}function gw(e){return new pw(e.runtime,e.session,e.fonts)}function In(e,t){Bt(e.runtime,e.session,t);let r=j(t),n=Ts(e,t.page.objectNumber).find(i=>j(i.ref)===r);if(!n)throw new Error(`annotation ${r} is on its page but reads as none`);return n}function bQ(e,t){return Fw(e,t.page)?.find(r=>j(r.ref)===j(t))??null}function Ts(e,t){return new ld(e.runtime,e.session,e.fonts).listOne(t,e.signal).annotations}function fQ(e,t){try{return Dd(e.runtime,e.session,t)}catch{return null}}function Fw(e,t){try{return Ts(e,e.session.resolvePageRef(t).pageObjectNumber)}catch{return null}}function hi(e,t){if(t.kind==="objectNumber")return t.objectNumber;let{pageIndex:r,index:n}=Bt(e.runtime,e.session,t),i=gi(e.runtime,e.session,r,n);try{return e.runtime.fn.EPDFAnnot_GetObjectNumber(i)}finally{e.runtime.fn.FPDFPage_CloseAnnot(i)}}var El=class{constructor(e,t){this.runtime=e,this.session=t}list(e){O(e);let{fn:t,mem:r}=this.runtime,n=this.session.requireDocPtr(),i=t.FPDFDoc_GetAttachmentCount(n),a=[];for(let o=0;onew gQ(e.runtime,e.session),Bd=e=>me(e.authority,"doc.attachments.modify");function FQ(e,t){Bd(e);let r=vw(e).create(t.file,t.resources.file,e.signal);return{item:{type:"attachments.create",...r},reverse:[FD(e,r.attachment.ref)]}}function vQ(e,t){return Bd(e),gD(e,t.ref)}function PQ(e,t){let r=dD(e.runtime,e.session.requireDocPtr(),t.ref.key);return!r||!kd(r,t.left)?Fe(e,"attachments.delete"):(Bd(e),gD(e,t.ref))}function hQ(e,t){let r=vw(e);if(r.find(t.ref))return Fe(e,"attachments.restore");Bd(e),UO(e.runtime,e.session.requireDocPtr(),t.capture);let n=r.find(t.ref);if(!n)throw new g(f.Unknown,`attachment \'${t.ref.key}\' did not come back`);return{item:{type:"attachments.restore",attachment:n,meta:r.meta(t.ref)},reverse:[FD(e,t.ref)]}}function gD(e,t){let r=vw(e);if(!r.find(t))throw new g(f.NotFound,`no embedded file with key \'${t.key}\' in the document`,{details:{field:"ref"}});let n=WO(e.runtime,e.session.requireDocPtr(),t.key);return{item:{type:"attachments.delete",...r.delete(t,e.signal)},reverse:[{kind:"attachments.restore",ref:t,capture:n}]}}function FD(e,t){let r=dD(e.runtime,e.session.requireDocPtr(),t.key);if(!r)throw new g(f.Unknown,`attachment \'${t.key}\' is not there to guard`);return{kind:"attachments.remove",ref:t,left:r}}function Kt(e,t,r){let{fn:n}=e;if(r.kind==="objectNumber"){let a=n.EPDFForm_GetFieldIndexByObjNum(t,r.objectNumber);if(a<0)throw new g(f.NotFound,`form field not found: object ${r.objectNumber}`);return{fieldIndex:a,fieldObjectNumber:r.objectNumber}}let i=n.EPDFForm_CountFields(t);for(let a=0;an.EPDFForm_GetFieldName(t,a,o,s))??"")===r.name)return{fieldIndex:a,fieldObjectNumber:n.EPDFForm_GetFieldObjNum(t,a)};throw new g(f.NotFound,`form field not found: "${r.name}"`)}function Tc(e){return e.ref.kind==="objectNumber"?e.ref.objectNumber:0}function kQ(e,t,r,n){let{formKind:i,needsAppearances:a,fields:o,calculationOrder:s}=M3(e,Ee(e,t),t.requireDocPtr());return{formKind:i,needsAppearances:a,fields:o,widgets:DQ(e,t,r,n),calculationOrder:s}}function DQ(e,t,r,n){let{fn:i}=e,a=t.requireDocPtr(),o=[],s=i.FPDF_GetPageCount(a);for(let A=0;Ai.EPDFPage_GetAnnotRaw(a,A,F),signal:r,family:"widgets",...n?{fonts:n}:{}});o.push(...m)}return o}function BQ(e,t,r,n){let{fn:i,mem:a}=e,o=[],s=new Set;for(let A of r){if(!A.ref||s.has(A.objectNumber))continue;s.add(A.objectNumber);let d=EQ(e,t,A);if(!d)continue;let p=gi(e,t,d.pageIndex,d.index);try{let m=Xc(i,a,p,A.ref.page.objectNumber,d.index,Ps(t,n));m.subtype==="widget"&&o.push(m)}finally{i.FPDFPage_CloseAnnot(p)}}return Bs(e,t,o),o}function vD(e,t,r,n){return{...r,widgets:BQ(e,t,r.meta.changedWidgets,n)}}function EQ(e,t,r){try{return Bt(e,t,r.ref)}catch(n){if(g.is(n)&&n.code===f.NotFound)return null;throw n}}var Pw=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}snapshot(e){return O(e),kQ(this.runtime,this.session,e,this.fonts)}field(e,t){O(t);let r=Ee(this.runtime,this.session),{fieldIndex:n}=Kt(this.runtime,r,e);return qe(this.runtime,r,n,this.session.requireDocPtr())}};function Es(e,t){let{fn:r}=e,n=[],i=r.EPDFForm_CountCalculationOrder(t);for(let a=0;a0&&!n.includes(s)&&n.push(s)}return n}function em(e,t,r){let{fn:n,mem:i}=e;if(!an(i,r,(a,o)=>n.EPDFForm_SetCalculationOrder(t,a,o)))throw new g(f.InvalidArg,"the calculation order could not be written")}function qc(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}function _Q(e,{before:t,after:r},n){let i=r.filter(o=>!t.includes(o)),a=e.filter(o=>!i.includes(o));for(let o of t){if(r.includes(o)){if(Ec(t,o)===Ec(r,o)||Ec(e,o)!==Ec(r,o))continue;a=a.filter(p=>p!==o)}else if(a.includes(o)||!n(o))continue;let s=t.indexOf(o),A=t.slice(0,s).reverse().find(p=>a.includes(p)),d=A===void 0?0:a.indexOf(A)+1;a=[...a.slice(0,d),o,...a.slice(d)]}return a}function Ec(e,t){let r=e.indexOf(t);if(!(r<0))return r===0?null:e[r-1]}var yQ=20;function mP(e,t,r,n,i,a){let{fn:o,mem:s}=e,A=o.EPDFPage_CreateAnnotRaw(t,r,yQ,i??0);if(A===W&&i!==void 0)throw gs(i,"taken");if(A===W)throw new g(f.Unknown,"failed to create widget annotation");try{Pr(o,s,A,"NM",tc());let{page:d,rect:p,rotation:m,exportValue:F,actions:h,...P}=n;rt(o,s,A,p),m&&Xk(o,A,m),Object.keys(P).length>0&&sw(o,s,A,P,a),h&&Vk(e,t,A,h);let B=o.EPDFAnnot_GetObjectNumber(A);if(B<=0)throw new g(f.Unknown,"widget annotation has no object number");return B}finally{o.FPDFPage_CloseAnnot(A)}}var GQ={readOnly:1,required:2,noExport:4,multiline:4096,password:8192,noToggleToOff:16384,edit:1<<18,multiSelect:1<<21,comb:1<<24,radiosInUnison:1<<25};function wP(e){let t=0,r=0;for(let[n,i]of Object.entries(GQ)){let a=e[n];a===!0?t|=i:a===!1&&(r|=i)}return{setBits:t,clearBits:r}}var CQ=1,IQ={0:"whole-revision",1:"partial",2:"malformed"},SQ=0,xQ=1,HQ=2,OQ=3,QQ=4,RQ=5,TQ=6,MQ={1:"all",2:"include",3:"exclude"},LQ=0,tm=1,NQ=1,jQ=2,bP=4,KQ=8,VQ=64,YQ=1<<17,XQ=0,WQ=1,UQ=2,qQ=2,zQ=432;function _s(e,t){return fe(e.mem,t,"")}function PD(e){return e===1||e===2||e===3}function hD(e,t,r){let{fn:n,mem:i}=e;return Y(i,32,a=>{for(let o=0;o<4;o++)Se(i,a,0,o*8);return n.EPDFSig_GetByteRange(t,r,a)?[He(i,a,0),He(i,a,8),He(i,a,16),He(i,a,24)]:null})}function fP(e,t,r,n){let{fn:i}=e,a=n===tm?i.EPDFSig_GetLockAction(t,r):i.EPDFSig_GetFieldMDPAction(t,r),o=MQ[a];if(!o)return null;let s=[],A=i.EPDFSig_GetFieldNameCount(t,r,n);for(let p=0;pi.EPDFSig_GetFieldNameAt(t,r,n,p,m,F))??"");let d={action:o,fields:s};if(n===tm){let p=i.EPDFSig_GetLockPermission(t,r);PD(p)&&(d.permission=p)}return d}function ZQ(e,t,r){let{fn:n}=e;if(!n.EPDFSig_HasSeedValue(t,r))return null;let i=n.EPDFSig_GetSeedValueRequiredFlags(t,r)>>>0,a=n.EPDFSig_GetSeedValuePresentFlags(t,r)>>>0,o=n.EPDFSig_GetSeedValueVersion(t,r),s=n.EPDFSig_GetSeedValueMDP(t,r),A=p=>{let m=n.EPDFSig_GetSeedValueListCount(t,r,p),F=[];for(let h=0;hn.EPDFSig_GetSeedValueListAt(t,r,p,h,P,B))??"");return F},d=p=>(i&p)!==0;return{parserVersion:o>0?o:null,parserVersionRequired:d(bP),mdp:(a&YQ)!==0&&s>=0&&s<=3?s:null,filter:_s(e,(p,m)=>n.EPDFSig_GetSeedValueFilter(t,r,p,m)),filterRequired:d(NQ),subFilters:A(XQ),subFiltersRequired:d(jQ),digestMethods:A(WQ),digestMethodsRequired:d(VQ),reasons:A(UQ),reasonsRequired:d(KQ),unsupportedRequired:(i&zQ)!==0||(i&bP)!==0&&o>qQ}}function ki(e,t){let{fn:r}=e,n=r.EPDFSig_Count(t),i=[],a=(o,s)=>_s(e,(A,d)=>r.EPDFSig_GetString(t,o,s,A,d));for(let o=0;or.EPDFSig_GetFieldName(t,o,m,F))??"",widget:A>0?Ct(A,Tm(r.EPDFSig_GetWidgetPageObjNum(t,o))):null,signed:s,kind:r.EPDFSig_GetKind(t,o)===CQ?"timestamp":"signature",filter:a(o,SQ),subFilter:a(o,xQ),byteRange:s?hD(e,t,o):null,contentsSizeBytes:s?Math.max(0,r.EPDFSig_GetContents(t,o,W,0)):0,coverage:s?IQ[r.EPDFSig_GetCoverage(t,o)]??"malformed":null,revisionIndex:s&&d>=0?d:null,signer:{name:a(o,HQ),reason:a(o,OQ),location:a(o,QQ),contactInfo:a(o,RQ),signedAt:JQ(a(o,TQ))},docMdp:PD(p)?p:null,catalogCertification:r.EPDFSig_IsCatalogCertification(t,o),fieldMdp:fP(e,t,o,LQ),lock:fP(e,t,o,tm),seedValue:ZQ(e,t,o)})}return i}function kD(e,t,r){let{fn:n,mem:i}=e,a=n.EPDFSig_GetContents(t,r,W,0);if(a<=0)throw new g(f.NotFound,"signature has no usable /Contents (malformed encoding)");return Y(i,a,o=>{if(n.EPDFSig_GetContents(t,r,o,a)!==a)throw new g(f.Unknown,"failed to read signature contents");let s=new Uint8Array(a);return s.set(i.readBytes(o,a)),s})}function zc(e,t,r){let{fn:n,mem:i}=e,a=n.EPDFDoc_GetRevisionCount(t),o=[];return a<=0||he(i,[8,8],([s,A])=>{for(let d=0;dm.revisionIndex===d);o.push({index:d,end:He(i,s),xrefOffset:He(i,A),signatureIndex:p?p.index:null})}}),o}function Zc(e,t,r){let n=e.fn.EPDFSig_LoadModel(t);if(n===W)throw new g(f.Unknown,"failed to build signature model");try{return r(n)}finally{e.fn.EPDFSig_CloseModel(n)}}function _l(e,t){let{fn:r,mem:n}=e,[i,a,o]=he(n,[4,4,4],([m,F,h])=>(n.poke(m,"i32",0),n.poke(F,"i32",0),n.poke(h,"i32",0),r.EPDFDoc_GetStructureObjectNumbers(t,m,F,h),[Number(n.peek(m,"i32"))>>>0,Number(n.peek(F,"i32"))>>>0,Number(n.peek(h,"i32"))>>>0])),s=[],A=r.FPDF_GetPageCount(t);for(let m=0;m{d.push({objectNumber:Tc(m),name:m.name,kind:m.kind,widgets:m.widgets.map(h=>h.objectNumber),flags:r.EPDFForm_GetFieldFlags(p,F)})})}finally{r.EPDFForm_CloseModel(p)}return{root:i,acroForm:a,pagesRoot:o,pages:s,fields:d,signatures:Zc(e,t,m=>ki(e,m))}}function JQ(e){return e?zn(e):null}var bs=new WeakMap;function _a(e,t){let r=t.cacheSeq(),n=bs.get(t);if(n&&n.seq===r)return n.ptr;n&&(e.fn.EPDFSig_CloseModel(n.ptr),bs.delete(t));let i=e.fn.EPDFSig_LoadModel(t.requireDocPtr());if(i===W)throw new g(f.Unknown,"failed to build signature model");return bs.set(t,{seq:r,ptr:i}),i}function Mc(e,t){let r=bs.get(t);r&&(e.fn.EPDFSig_CloseModel(r.ptr),bs.delete(t))}var ys={sha1:0,sha256:1,sha384:2,sha512:3},$Q={sha1:20,sha256:32,sha384:48,sha512:64},At=class{constructor(e,t){this.runtime=e,this.session=t}readSnapshot(){let e=_a(this.runtime,this.session),t=this.runtime.fn.EPDFSig_IsRevisionChainValid(e),r=ki(this.runtime,e);return{chainValid:t,revisions:t?zc(this.runtime,this.session.requireDocPtr(),r):[],signatures:r,protection:zt(r)}}readProtection(){let e=_a(this.runtime,this.session);return zt(ki(this.runtime,e))}readContents(e){let t=_a(this.runtime,this.session),r=this.requireSignedIndex(t,e);return kD(this.runtime,t,r).buffer}digest(e,t){let r=_a(this.runtime,this.session),n=this.requireSignedIndex(r,e),i=hD(this.runtime,r,n);if(!i)throw new g(f.NotFound,"signature has no usable /ByteRange");return this.digestRange(i,t)}revisionBytes(e){let t=this.readSnapshot();if(!t.chainValid)throw new g(f.MalformedPdf,"revision chain is not valid");let r=t.revisions[e];if(!r)throw new g(f.NotFound,`no revision ${e}`);return this.readLoadedBytes(0,r.end)}resolveField(e){let{fn:t}=this.runtime,r=_a(this.runtime,this.session),n=this.indexOf(r,e);if(n<0)throw new g(f.NotFound,e.kind==="objectNumber"?`signature field not found: object ${e.objectNumber}`:`signature field not found: "${e.name}"`);let i=t.EPDFSig_GetWidgetObjNum(r,n);return{index:n,fieldObjectNumber:t.EPDFSig_GetFieldObjNum(r,n),signed:t.EPDFSig_IsSigned(r,n),widget:i>0?Ct(i,Tm(t.EPDFSig_GetWidgetPageObjNum(r,n))):null}}readSignatureByObjectNumber(e){let t=this.readSnapshot().signatures.find(r=>r.field.kind==="objectNumber"&&r.field.objectNumber===e);if(!t)throw new g(f.NotFound,`signature field not found: object ${e}`);return t}loadedBytes(){let e=Number(this.runtime.fn.EPDFDoc_GetLoadedBytesSize(this.session.requireDocPtr()));return this.readLoadedBytes(0,e)}version(){let{fn:e,mem:t}=this.runtime,r=this.session.requireDocPtr(),n=Number(e.EPDFDoc_GetBaseBytesSize(r));if(n<=0)throw new g(f.DocNotOpen,"document has no loaded bytes");if(this.session.kind==="layer")return{sha256:Y(t,32,o=>{if(!e.EPDFLayer_GetBaseSha256(r,o))throw new g(f.Unknown,"failed to read the base hash");return FP(t.readBytes(o,32))}),sizeBytes:n};let i=this.session.cachedPlainSha256();if(i)return{sha256:i,sizeBytes:n};let a=FP(new Uint8Array(this.digestRange([0,n,n,0],"sha256")));return this.session.rememberPlainSha256(a),{sha256:a,sizeBytes:n}}digestRange(e,t){let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=$Q[t];return he(n,[32,a,8],([o,s,A])=>{for(let p=0;p<4;p++)Se(n,o,e[p],p*8);if(Se(n,A,a),!r.EPDFSig_DigestByteRange(i,o,ys[t],s,A))throw new g(f.InvalidArg,"byte range is not within the loaded bytes");let d=Number(n.peek(A,"i32"));return gP(n.readBytes(s,d))})}readLoadedBytes(e,t){let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr();return t===0?new ArrayBuffer(0):Y(n,t,a=>{if(r.EPDFDoc_ReadLoadedBytes(i,BigInt(e),a,t)!==t)throw new g(f.Unknown,"failed to read the loaded bytes");return gP(n.readBytes(a,t))})}indexOf(e,t){let{fn:r}=this.runtime;if(t.kind==="objectNumber")return r.EPDFSig_GetIndexByFieldObjNum(e,t.objectNumber);let n=r.EPDFSig_Count(e);for(let i=0;ir.EPDFSig_GetFieldName(e,i,a,o))===t.name)return i;return-1}requireSignedIndex(e,t){let{fn:r}=this.runtime,n=this.indexOf(e,t);if(n<0)throw new g(f.NotFound,t.kind==="objectNumber"?`signature field not found: object ${t.objectNumber}`:`signature field not found: "${t.name}"`);if(!r.EPDFSig_IsSigned(e,n))throw new g(f.NotFound,"signature field is not signed");return n}readString(e,t,r){return this.readWide((n,i)=>this.runtime.fn.EPDFSig_GetString(e,t,r,n,i))}readWide(e){return fe(this.runtime.mem,e,"")}};function gP(e){let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(e),t}function FP(e){let t="";for(let r of e)t+=r.toString(16).padStart(2,"0");return t}function nm(e,t){if(t.signedDocumentPolicy!=="protect")return null;let r;try{r=new At(e,t).readProtection()}catch{return null}return r.fieldLocks.length===0?null:n=>ip(r,n)}function eR(e,t){let r=t?.(e);if(r)throw new g(f.ProtectedDocument,`form field "${e}" is locked by signature ${r.signatureIndex} (${r.source==="fieldmdp"?"FieldMDP":"/Lock"})`)}var tR=0;function DD(e,t,r,n,{recordFit:i}){let{mem:a,fn:o}=e,s=new rn;try{let A=r.page?o.EPDFDoc_LoadPageByObjectNumber(t,r.page.objectNumber):W;if(!A)throw new g(f.NotFound,"the widget page could not be loaded");s.push(()=>o.FPDF_ClosePage(A));let d=o.EPDFPage_GetAnnotByObjectNumber(A,r.objectNumber);if(!d)throw new g(f.NotFound,"the signature widget could not be loaded");s.push(()=>o.FPDFPage_CloseAnnot(d));let p=a.alloc(n.byteLength);s.push(()=>a.free(p)),a.writeBytes(p,n);let m=o.FPDF_LoadMemDocument64(p,n.byteLength,"");if(!m)throw new g(f.MalformedPdf,"the appearance PDF could not be opened");s.push(()=>o.FPDF_CloseDocument(m));let F=o.FPDF_GetPageCount(m);if(F!==1)throw new g(f.InvalidArg,`the appearance PDF has ${F} pages; a signature appearance takes a one-page PDF`);if(!o.EPDFAnnot_SetAppearanceFromPage(d,m,0))throw new g(f.InvalidArg,"the appearance page could not be drawn into the widget");if(!o.EPDFAnnot_UpdateAppearanceToRect(d,tR))throw new g(f.Unknown,"the appearance page could not be fitted into the widget");i&&Sm(o,a,d,"contain")}finally{s.close()}}var vP={keystroke:0,format:1,validate:2,calculate:3};function PP(e,t,r,n,i){for(let a of Object.keys(vP)){let o=i[a];if(o===void 0)continue;if(o!==null&&!Fo(o))throw new g(f.InvalidArg,`a field\'s ${a} event takes JavaScript only`,{details:{field:`actions.${a}`}});let s=n?.[a];if(o===null?!s:s!==void 0&&nR(s,o))continue;let A=o===null?W:ow(e,t,o);if(!e.fn.EPDFForm_SetFieldEventAction(t,r,vP[a],A))throw new g(f.Unknown,`the field\'s ${a} script could not be written`)}}function nR(e,t){if(e.incomplete||!e.root)return!1;let r=(n,i)=>{if(!n||n.type!=="javascript"||n.script!==i.script)return!1;let a=i.next??[];return n.next.length===a.length&&n.next.every((o,s)=>r(o,a[s]))};return r(e.root,t)}var rR={none:0,scalar:1,array:2};function hP(e,t,r,n,i){let{fn:a}=e;if(n.kind==="unsupported")return!1;let o=n.kind==="scalar"?[n.value]:n.kind==="array"?n.values:[],s=i==="value"?a.EPDFForm_SetFieldValue:a.EPDFForm_SetFieldDefaultValue;return Ia(e,o,(A,d)=>s(t,r,rR[n.kind],A,d))}function iR(e,t,r,n){return an(e.mem,n,(i,a)=>e.fn.EPDFForm_SetFieldSelectedIndices(t,r,i,a))}var aR={pushbutton:1,checkbox:2,radio:3,text:4,combobox:5,listbox:6,signature:7},oR={visible:0,hidden:1,noPrint:2,noView:3},yl=256,sR=1,kP=new Set(["text","checkbox","radio","combobox","listbox"]),vt=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}setValue(e,t,r,n){O(r);let i=Ee(this.runtime,this.session),a=Kt(this.runtime,i,e);this.assertWritable(a);let o=this.session.requireDocPtr(),s=qe(this.runtime,i,a.fieldIndex,o),A=Yu({field:s,widgets:[]},t).field,d=this.writeFieldAfter(a.fieldObjectNumber,s,A);return d&&oH(this.runtime,o,a.fieldObjectNumber,n),this.readBack(a.fieldObjectNumber,d??[])}setDisplay(e,t,r){O(r);let n=Kt(this.runtime,Ee(this.runtime,this.session),e);this.assertWritable(n);let i=this.session.requireDocPtr(),a=this.withChangedWidgets((o,s,A)=>this.runtime.fn.EPDFForm_SetFieldDisplay(i,n.fieldObjectNumber,oR[t],o,s,A));if(a===null)throw new g(f.Unknown,"the field could not be shown or hidden");return this.readBack(n.fieldObjectNumber,a,!1)}setAppearanceText(e,t,r){O(r);let n=Ee(this.runtime,this.session),i=Kt(this.runtime,n,e);this.assertWritable(i);let a=this.session.requireDocPtr(),o=qe(this.runtime,n,i.fieldIndex,a);if(o.kind!=="text"&&o.kind!=="combobox")throw new g(f.InvalidArg,`appearance text does not apply to a ${o.kind} field`);let s=Zn(this.runtime.mem,t,A=>this.withChangedWidgets((d,p,m)=>this.runtime.fn.EPDFForm_SetFieldAppearanceText(a,i.fieldObjectNumber,A,d,p,m)));if(s===null)throw new g(f.Unknown,"the appearance text could not be drawn");return this.readBack(i.fieldObjectNumber,s,!0)}emptyMeta(){return{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}reset(e,t){O(t);let r=this.session.requireDocPtr(),n=Ee(this.runtime,this.session),i=e===void 0?this.wholeFormTargets(n):this.namedTargets(n,e);O(t);let a=i.filter(d=>!Vu(d)).flatMap(d=>{let p=Xu({field:d,widgets:[]}).field,m=this.writeFieldAfter(Tc(d),d,p);return m?(Q3(this.runtime,r,Tc(d)),[{before:d,changed:m}]):[]});a.length>0&&this.session.invalidateDerived();let o=[],s=[],A=[];for(let{before:d,changed:p}of a){let m=this.readBackField(Tc(d));if(p.length===0&&qi(d.valueEntry,m.valueEntry))continue;o.push(m);let F=new Set(p),h=m.widgets.filter(P=>F.has(P.objectNumber)).map(P=>Ct(P.objectNumber,P.page));s.push(...h),A.push(...$l(m.kind,h))}return{fields:o,meta:Ft(this.session.writeStamp(),o.map(d=>d.ref),s,A)}}wholeFormTargets(e){let t=this.session.requireDocPtr(),r=nm(this.runtime,this.session),n=[],i=this.runtime.fn.EPDFForm_CountFields(e);for(let a=0;a{if(!r.EPDFForm_Repair(this.session.requireDocPtr(),i,o))throw new g(f.Unknown,"form repair failed");return{acroformCreated:Number(n.peek(o,"i32",0))!==0,fieldsLinked:Number(n.peek(o,"i32",4)),widgetsLinked:Number(n.peek(o,"i32",8)),fieldsUnrepairable:Number(n.peek(o,"i32",12)),appearancesBaked:Number(n.peek(o,"i32",16)),needsAppearancesCleared:Number(n.peek(o,"i32",20))!==0}});return this.session.invalidateDerived(),{...a,meta:this.emptyMeta()}}createField(e,t,r,n={}){O(t);let{fn:i}=this.runtime,a=this.session.requireDocPtr(),o=(e.widgets??[]).map(h=>rc(wo(e.kind,h))),s=o.map(h=>this.preflightPlacement(h)),A=o.map(h=>DP(e.kind,h));if(RA(e),"maxLength"in e&&e.maxLength!==void 0&&(!Number.isInteger(e.maxLength)||e.maxLength<=0))throw new g(f.InvalidArg,`maxLength must be a positive integer, got ${e.maxLength}`,{details:{field:"maxLength"}});let{objectNumber:d,widgetObjectNumbers:p}=n;if(p&&p.length!==o.length)throw new g(f.InvalidArg,`forms.create needs one widget object number per widget: ${p.length} for ${o.length}`,{details:{field:"widgetObjectNumbers"}});d!==void 0&&this.session.claimObjectNumber(d);for(let h of p??[])this.session.claimObjectNumber(h);O(t);let m=this.createFieldNode(e,d);this.configureNewField(e,m),aH(this.runtime,a,m,r),e.groupId!==void 0&&Zv(this.runtime,a,m,e.groupId),o.forEach((h,P)=>{let B=mP(this.runtime,a,s[P],h,p?.[P],Uc(this.runtime,this.session,this.fonts));if(!i.EPDFForm_AttachWidget(a,m,B,A[P],0))throw new g(f.Unknown,"widget adoption failed")});let F=this.followCalculateScript(m,e.actions?.calculate);return this.session.invalidateDerived(),{field:this.readBackField(m),calculationOrder:F}}nativeDeleteField(e){let{fn:t,mem:r}=this.runtime;return he(r,[256*4,8],([n,i])=>(Se(r,i,0),t.EPDFForm_DeleteField(this.session.requireDocPtr(),e,n,256,i)))}preflightPlacement(e){let t=this.session.resolvePageRef(e.page),{left:r,bottom:n,right:i,top:a}=e.rect;if(![r,n,i,a].every(Number.isFinite))throw new g(f.InvalidArg,"widget rect must be finite numbers",{details:{field:"rect"}});return t.pageIndex}createFieldNode(e,t){let{fn:r,mem:n}=this.runtime,i=n.writeU16String(e.name),a;try{a=r.EPDFForm_CreateField(this.session.requireDocPtr(),aR[e.kind],i,t??0)}finally{n.free(i)}if(a<=0)throw new g(f.InvalidArg,`cannot create field "${e.name}" (name conflict or invalid)`);return a}configureNewField(e,t){let{fn:r}=this.runtime,n=this.session.requireDocPtr(),{setBits:i,clearBits:a}=wP(e);if((i!==0||a!==0)&&r.EPDFForm_SetFieldFlags(n,t,i,a),"options"in e&&e.options&&this.applyOptions(t,e.options),this.writeDefault(t,{kind:"none"},RA(e)),"maxLength"in e&&e.maxLength!==void 0&&!r.EPDFForm_SetFieldMaxLen(n,t,e.maxLength))throw new g(f.InvalidArg,"maxLength rejected");e.alternateName!==void 0&&this.applyWideSetter(r.EPDFForm_SetFieldAlternateName,t,e.alternateName,"alternate name rejected"),e.mappingName!==void 0&&this.applyWideSetter(r.EPDFForm_SetFieldMappingName,t,e.mappingName,"mapping name rejected"),e.actions&&PP(this.runtime,n,t,void 0,e.actions)}setSignatureAppearance(e,t,r){O(r);let n=this.session.requireDocPtr(),i=Ee(this.runtime,this.session),a=Kt(this.runtime,i,e);this.assertWritable(a);let o=qe(this.runtime,i,a.fieldIndex,n);if(o.kind!=="signature")throw new g(f.InvalidArg,`\'${o.name}\' is a ${o.kind} field, not a signature field`);if(Zc(this.runtime,n,s=>ki(this.runtime,s).some(A=>A.signed&&A.field.kind==="objectNumber"&&A.field.objectNumber===a.fieldObjectNumber)))throw new g(f.ProtectedDocument,`\'${o.name}\' is signed; its appearance is sealed with the signature`);if(o.widgets.length===0)throw new g(f.InvalidArg,`\'${o.name}\' has no widget to draw into`);for(let s of o.widgets)DD(this.runtime,n,s,t,{recordFit:!0});return this.session.invalidateDerived(),{field:this.readBackField(a.fieldObjectNumber)}}updateField(e,t,r){O(r);let{fn:n}=this.runtime,i=this.session.requireDocPtr(),a=Ee(this.runtime,this.session),o=Kt(this.runtime,a,e);this.assertWritable(o);let s=qe(this.runtime,a,o.fieldIndex,this.session.requireDocPtr());dR(t,s.kind),"defaultValue"in t&&t.defaultValue!==void 0&&TA({field:s,widgets:[]},t);let A=o.fieldObjectNumber;t.name!==void 0&&this.applyWideSetter(n.EPDFForm_SetFieldName,A,t.name,`cannot rename to "${t.name}" (sibling conflict or invalid)`);let{setBits:d,clearBits:p}=wP(t);if((d!==0||p!==0)&&!n.EPDFForm_SetFieldFlags(i,A,d,p))throw new g(f.InvalidArg,"flag update rejected");if("maxLength"in t&&t.maxLength!==void 0&&!n.EPDFForm_SetFieldMaxLen(i,A,t.maxLength??0))throw new g(f.InvalidArg,"maxLength rejected (current value exceeds it)");t.alternateName!==void 0&&this.applyWideSetter(n.EPDFForm_SetFieldAlternateName,A,t.alternateName??"","alternate name rejected"),t.mappingName!==void 0&&this.applyWideSetter(n.EPDFForm_SetFieldMappingName,A,t.mappingName??"","mapping name rejected"),t.groupId!==void 0&&t.groupId!==s.groupId&&Zv(this.runtime,i,A,t.groupId);let m="options"in t&&t.options!==void 0,F="defaultValue"in t&&t.defaultValue!==void 0;if(m||F){let P=TA({field:s,widgets:[]},t).field;"options"in t&&t.options&&this.applyOptions(A,t.options),this.writeDefault(A,s.defaultValueEntry,P.defaultValueEntry),m&&this.writeFieldAfter(A,s,P,!0)}t.actions&&PP(this.runtime,i,A,s.actions,t.actions);let h=this.followCalculateScript(A,t.actions?.calculate);return this.session.invalidateDerived(),{field:this.readBackField(A),calculationOrder:h}}reorderCalculations(e,t,r){O(r);let n=Ee(this.runtime,this.session),i=A=>Kt(this.runtime,n,A).fieldObjectNumber,a=Es(this.runtime,n),o=e.map(i),s=hA(a,o,t==="start"||t==="end"?t:"before"in t?{before:i(t.before)}:{after:i(t.after)},String);return O(r),qc(a,s)||(em(this.runtime,this.session.requireDocPtr(),s),this.session.invalidateDerived()),{before:a,after:s,moved:o}}followCalculateScript(e,t){if(t===void 0)return null;let r=Es(this.runtime,Ee(this.runtime,this.session)),n=r.includes(e),i=t===null?r.filter(a=>a!==e):n?r:[...r,e];return qc(r,i)?null:(em(this.runtime,this.session.requireDocPtr(),i),{before:r,after:i})}deleteField(e,t){O(t);let r=Ee(this.runtime,this.session),n=Kt(this.runtime,r,e);this.assertWritable(n);let i=qe(this.runtime,r,n.fieldIndex,this.session.requireDocPtr()),a=i.widgets.map(A=>Ct(A.objectNumber,A.page));O(t);let o=this.followCalculateScript(n.fieldObjectNumber,null);if(!this.nativeDeleteField(n.fieldObjectNumber))throw new g(f.InvalidArg,"field cannot be deleted");this.session.invalidateDerived();let s=new pw(this.runtime,this.session);for(let A of a)A.ref&&s.deleteReleasedWidget(A.ref,n.fieldObjectNumber);return this.session.invalidateDerived(),{deleted:i.ref,removedWidgets:a,calculationOrder:o}}addWidget(e,t,r,n={}){O(r);let{fn:i}=this.runtime,a=this.session.requireDocPtr(),o=Ee(this.runtime,this.session),s=Kt(this.runtime,o,e);this.assertWritable(s);let A=qe(this.runtime,o,s.fieldIndex,a),d=rc(wo(A.kind,t)),p=this.preflightPlacement(d),m=DP(A.kind,d),F=A.widgets.find(B=>B.objectNumber===s.fieldObjectNumber)?.page??null;n.objectNumber!==void 0&&this.session.claimObjectNumber(n.objectNumber);let h=F?n.splitObjectNumber:void 0;h!==void 0&&this.session.claimObjectNumber(h),O(r),F&&sn(this.runtime,this.session,F.objectNumber);let P=mP(this.runtime,a,p,d,n.objectNumber,Uc(this.runtime,this.session,this.fonts));if(!i.EPDFForm_AttachWidget(a,s.fieldObjectNumber,P,m,h??0))throw new g(f.InvalidArg,"the widget could not join the field");return this.session.invalidateDerived(),{field:this.readBackField(s.fieldObjectNumber),widget:Ct(P,t.page)}}detachWidget(e,t,r){O(r);let{fn:n}=this.runtime,i=Ee(this.runtime,this.session),a=Kt(this.runtime,i,e);this.assertWritable(a);let o=BP(t);if(o===a.fieldObjectNumber)throw new g(f.InvalidArg,`widget ${o} is the field\'s own dictionary (a merged field/widget) and cannot be removed from it - delete the field with doc.forms.delete`);if(!n.EPDFForm_DetachWidget(this.session.requireDocPtr(),a.fieldObjectNumber,o))throw new g(f.InvalidArg,"widget is not attached to this field");return this.session.invalidateDerived(),{field:this.readBackField(a.fieldObjectNumber),widget:Ct(BP(t),t.page)}}applyOptions(e,t){let{fn:r}=this.runtime,n=this.session.requireDocPtr();if(!Ia(this.runtime,t.map(i=>i.label),i=>Ia(this.runtime,t.map(a=>a.value),(a,o)=>r.EPDFForm_SetFieldOptions(n,e,i,a,o))))throw new g(f.InvalidArg,"options rejected")}applyWideSetter(e,t,r,n){let{mem:i}=this.runtime,a=this.session.requireDocPtr(),o=i.writeU16String(r);try{if(!e(a,t,o))throw new g(f.InvalidArg,n)}finally{i.free(o)}}writeDefault(e,t,r){if(qi(t,r))return;let n=this.session.requireDocPtr();if(!hP(this.runtime,n,e,r,"default"))throw new g(f.InvalidArg,"default value rejected")}readBackField(e){let t=Ee(this.runtime,this.session),r=this.runtime.fn.EPDFForm_GetFieldIndexByObjNum(t,e);if(r<0)throw new g(f.Unknown,"form field vanished after write");return qe(this.runtime,t,r,this.session.requireDocPtr())}assertWritable(e){if(e.fieldObjectNumber===0)throw new g(f.InvalidArg,"form field is stored as a direct object and cannot be written");this.assertNotLockedBySignature(e)}assertNotLockedBySignature(e){let t=nm(this.runtime,this.session);if(!t)return;let r=Ee(this.runtime,this.session);eR(fe(this.runtime.mem,(n,i)=>this.runtime.fn.EPDFForm_GetFieldName(r,e.fieldIndex,n,i))??"",t)}writeFieldAfter(e,t,r,n=!1){let{fn:i,mem:a}=this.runtime,o=this.session.requireDocPtr(),s=r.kind==="checkbox"||r.kind==="radio"?r.widgets:null,A=!qi(t.valueEntry,r.valueEntry),d=s?.some((F,h)=>F.checked!==t.widgets[h]?.checked)??!1;if(!A&&!d&&!n)return null;let p=()=>new g(f.InvalidArg,`\'${r.name}\' could not take the value`);if(A&&!hP(this.runtime,o,e,r.valueEntry,"value"))throw p();if(r.kind==="combobox"||r.kind==="listbox"){let F=r.options.flatMap((h,P)=>h.selected?[P]:[]);if(!iR(this.runtime,o,e,F))throw p()}if(s?.length===0)return[];let m=this.withChangedWidgets((F,h,P)=>s?an(a,s.map(B=>B.checked?1:0),(B,y)=>i.EPDFForm_SetFieldWidgetsChecked(o,e,B,y,F,h,P)):i.EPDFForm_RedrawFieldWidgets(o,e,F,h,P));if(m===null)throw p();return m}withChangedWidgets(e){let{mem:t}=this.runtime;return he(t,[yl*4,8],([r,n])=>{if(Se(t,n,0),!e(r,yl,n))return null;let i=Number(t.peek(n,"i32")),a=Math.min(i,yl),o=[];for(let s=0;so.has(A.objectNumber)).map(A=>Ct(A.objectNumber,A.page));return{field:a,meta:Ft(this.session.writeStamp(),[a.ref],s,r===void 0?$l(a.kind,s):r?s:[])}}},AR=["kind","name","readOnly","required","noExport","alternateName","mappingName","groupId","actions"],cR={text:["defaultValue","maxLength","multiline","password","comb"],radio:["radiosInUnison","noToggleToOff"],combobox:["edit","defaultValue","options"],listbox:["multiSelect","options","defaultValue"]};function dR(e,t){if(e.kind!==void 0&&e.kind!==t)throw new g(f.InvalidArg,`patch family \'${e.kind}\' does not match field family \'${t}\'`,{details:{field:"kind"}});let r=new Set([...AR,...cR[t]??[]]);for(let[i,a]of Object.entries(e))if(a!==void 0&&!r.has(i))throw new g(f.InvalidArg,`\'${i}\' does not apply to a ${t} field`,{details:{field:i}});let n="defaultValue"in e?e.defaultValue:void 0;if(n!=null&&Array.isArray(n)!==(t==="listbox"))throw new g(f.InvalidArg,t==="listbox"?"a list\'s defaultValue is a list of option values":`a ${t} field\'s defaultValue is one string`,{details:{field:"defaultValue"}})}function DP(e,t){let{exportValue:r}=t;if(e!=="checkbox"&&e!=="radio"){if(r!==void 0)throw new g(f.InvalidArg,`\'exportValue\' applies to checkbox and radio widgets, not a ${e} field\'s`,{details:{field:"exportValue"}});return""}let n=r??(e==="checkbox"?"Yes":void 0);if(!n||n==="Off")throw new g(f.InvalidArg,e==="radio"?\'every radio button needs an exportValue other than "Off"\':`a checkbox\'s exportValue can\'t be "Off"`,{details:{field:"exportValue"}});return n}function BP(e){if(e.kind!=="objectNumber")throw new g(f.InvalidArg,"widget must be addressed by object number");return e.objectNumber}function BD(e,t,r,n,i,a){let o=()=>Es(e,Ee(e,t)),s=o(),A=qn(e,t),d=new vt(e,t,r),p=n.map((P,B)=>{let{groupId:y,...x}=_o(P.draft,A),I=a.groupOf(y),[S,...G]=P.objectNumbers??[],{field:Q}=d.createField({...x,...I!==void 0?{groupId:I}:{}},a.signal,a.actor,S===void 0?{}:{objectNumber:S,widgetObjectNumbers:G});Q.widgets.forEach((ve,ge)=>uR(e,t,ve,P.flags[ge])),t.invalidateDerived(),P.value&&d.setValue(Q.ref,P.value,a.signal,a.actor);let K=pR(Q.ref);return a.made?.(K,B),K}),m=i.map(P=>EP(p[P]));m.length>0&&d.reorderCalculations(m,"end",a.signal),t.invalidateDerived();let F=o(),h=p.map(P=>{let B=Ee(e,t);return qe(e,B,e.fn.EPDFForm_GetFieldIndexByObjNum(B,P),t.requireDocPtr())});return vD(e,t,{fields:h,...qc(s,F)?{}:{calculationOrder:F.map(EP)},meta:Ft(t.writeStamp(),h.map(P=>P.ref),h.flatMap(P=>P.widgets))},r)}function uR(e,t,r,n){if(!r.ref)return;let i=Cs(e,t,r.ref);try{jm(e.fn,i,n)}finally{e.fn.FPDFPage_CloseAnnot(i)}}function pR(e){if(e.kind!=="objectNumber")throw new Error("a written field has an object number");return e.objectNumber}function EP(e){return{kind:"objectNumber",objectNumber:e}}var lR=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}copy(e,t){O(t),us(e.limits,"items",e.fields.length),e.page&&this.session.resolvePageRef(e.page);let r=yo(new Pw(this.runtime,this.session,this.fonts).snapshot(t),qn(this.runtime,this.session)),n=MF({form:r,fields:e.fields,...e.widgets?{widgets:e.widgets}:{},placement:{...e.page?{page:e.page}:{},...e.offset?{offset:e.offset}:{}},values:e.values,mayScript:e.mayScript}),{objectNumbers:i}=e,a=n.creates.reduce((A,d)=>A+1+d.widgets.length,0);if(i&&i.length!==a)throw new g(f.InvalidArg,`copy: objectNumbers names ${i.length} objects of ${a}`,{details:{field:"objectNumbers"}});let o=0,s=BD(this.runtime,this.session,this.fonts,n.creates.map(A=>{let d=1+A.widgets.length,p=i?.slice(o,o+d);return o+=d,{...A,...p?{objectNumbers:p}:{}}}),n.calculationOrder,{actor:e.actor,groupOf:e.groupOf,signal:t});return{...s,refMap:n.creates.map((A,d)=>({from:r.fields.find(p=>cr(p,e.fields[A.source])).ref,to:s.fields[d].ref})),dropped:[...n.dropped]}}},ED=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}import(e,t){O(t);let{bundle:r}=e;Zl(this.runtime,"form",r,e.limits,Ao);let n=this.fieldNames(),i=QF({bundle:r,...e.pages!==void 0?{pages:e.pages}:{},target:this.session.allRecords().map(d=>({page:ue(d.pageObjectNumber),position:d.pageIndex})),nameTaken:d=>UA(n,d),mayScript:e.mayScript,values:e.values}),a=this.session.requireDocPtr(),o=e.actor.userId??null,s=e.attribution==="restore",A=BD(this.runtime,this.session,this.fonts,i.creates,i.calculationOrder,{actor:e.actor,groupOf:e.groupOf,signal:t,made:(d,p)=>{if(!s)return;let m=i.creates[p],F=r.fields[m.field].data;sH(this.runtime,a,d,F,o),m.value&&Jv(this.runtime,a,d,F,o)}});return{...A,refMap:i.creates.map((d,p)=>({from:r.fields[d.field].data.ref,to:A.fields[p].ref})),dropped:[...i.dropped]}}planValues(e,t,r,n){O(r),Zl(this.runtime,"form",e,t,Ao);let i=nm(this.runtime,this.session),a=RF({bundle:e,target:this.readFields(),refusal:(o,s)=>{if(o.ref.kind!=="objectNumber")return"value-not-allowed";try{mo(o,s)}catch(A){if(g.is(A))return"value-not-allowed";throw A}return i?.(o.name)?"locked":n(o)?null:"fill-not-allowed"}});return{writes:a.writes.filter(({target:o,value:s})=>!Ku(o,mo(o,s))),dropped:a.dropped}}writeValue(e,t,r,n,i){new vt(this.runtime,this.session,this.fonts).setValue(e.target.ref,e.value,i,n);let a=mR(e.target.ref);return r==="restore"&&(Jv(this.runtime,this.session.requireDocPtr(),a,t.fields[e.field].data,n.userId??null),this.session.invalidateDerived()),this.readField(a)}fieldNames(){let{fn:e,mem:t}=this.runtime,r=Ee(this.runtime,this.session),n=new Set;for(let i=0;ie.EPDFForm_GetFieldName(r,i,o,s));a&&n.add(a)}return n}readFields(){let e=Ee(this.runtime,this.session),t=this.session.requireDocPtr(),r=this.runtime.fn.EPDFForm_CountFields(e);return Array.from({length:r},(n,i)=>qe(this.runtime,e,i,t))}readField(e){let t=Ee(this.runtime,this.session),r=this.runtime.fn.EPDFForm_GetFieldIndexByObjNum(t,e);return qe(this.runtime,t,r,this.session.requireDocPtr())}};function mR(e){if(e.kind!=="objectNumber")throw new Error("a written field has an object number");return e.objectNumber}var rm=["AP","MK"],wR=new Set(["text","checkbox","radio","combobox","listbox"]),bR=new Set(["forms.setValue","forms.setDisplay","forms.setAppearanceText","forms.reset","forms.setSignatureAppearance"]);function fR(e,t,r){let n=Xt(e,t.field);return hw(e,n),Cn(r,yn(n.field),t.expect),ID(e,n,t.value)}function gR(e,t){let r=Xt(e,t.field);return RR(e,r),SD(e,"forms.setDisplay",n=>n.setDisplay(t.field,t.display,e.signal),r)}function FR(e,t){let r=Xt(e,t.field);return hw(e,r),SD(e,"forms.setAppearanceText",n=>n.setAppearanceText(t.field,t.text,e.signal),r)}function vR(e,t){GD(e);let r=t.fields?t.fields.map(A=>Xt(e,A)):RD(e).filter(({field:A})=>wR.has(A.kind));for(let A of r)Nn(e.authority,A.field.groupId,"fill");let n=cn(e.runtime,e.session,r.flatMap(Ns)),i=new vt(e.runtime,e.session,e.fonts).reset(t.fields?[...t.fields]:void 0,e.signal),a=Et(e.runtime,e.session,n),o=new Set(i.fields.map(A=>xa(A.ref))),s={type:"forms.reset",...Ei(e,i)};return o.size===0?{item:s,reverse:[]}:{item:s,reverse:[{kind:"objects.revert",reports:"forms.reset",objects:a,subject:{fields:[...o]},fallback:{kind:"value",fields:r.filter(({objectNumber:A})=>o.has(A)).map(({objectNumber:A,field:d})=>({objectNumber:A,before:yn(d),left:yn(i.fields.find(p=>xa(p.ref)===A))}))}}]}}function PR(e,t){me(e.authority,"doc.forms.modify"),fp(t.draft)&&me(e.authority,"doc.forms.script");let r=kw(e,t.draft.groupId),{field:n,calculationOrder:i}=new vt(e.runtime,e.session,e.fonts).createField({...t.draft,...r!==void 0?{groupId:r}:{}},e.signal,e.authority.identity,{...t.objectNumber!==void 0?{objectNumber:t.objectNumber}:{},...t.widgetObjectNumbers?{widgetObjectNumbers:t.widgetObjectNumbers}:{}});return{item:{type:"forms.create",..._w(e,n),...OD(i)},reverse:[{kind:"field.remove",objectNumber:xa(n.ref),left:n}]}}function hR(e,t){me(e.authority,"doc.forms.modify");let r=new lR(e.runtime,e.session,e.fonts).copy({fields:t.fields,...t.widgets?{widgets:t.widgets}:{},...t.page?{page:t.page}:{},...t.offset?{offset:t.offset}:{},values:t.values??!0,...t.objectNumbers?{objectNumbers:t.objectNumbers}:{},actor:e.authority.identity,mayScript:dc(e.authority,"doc.forms.script"),groupOf:i=>kw(e,i),limits:e.limits},e.signal),n=r.fields.map(i=>({kind:"field.remove",objectNumber:xa(i.ref),left:i}));return{item:{type:"forms.copy",...r},reverse:n.reverse()}}function kR(e,t,r){me(e.authority,"doc.forms.modify"),dr(t.patch.actions)&&me(e.authority,"doc.forms.script");let n=Xt(e,t.field);return t.patch.groupId!==void 0&&t.patch.groupId!==n.field.groupId&&lc(e.authority,t.patch.groupId),Cn(r,Jc(n.field),t.expect),xD(e,n,t.patch)}function DR(e,t,r){me(e.authority,"doc.forms.modify");let n=Xt(e,t.field);return Cn(r,n.field,t.expect),Ew(e,n)}function BR(e,t){me(e.authority,"doc.forms.modify"),dr(t.placement.actions)&&me(e.authority,"doc.forms.script");let r=Xt(e,t.field),n=new Set([t.placement.page.objectNumber]);for(let p of r.field.widgets)p.objectNumber===r.objectNumber&&p.page&&n.add(p.page.objectNumber);let i=cn(e.runtime,e.session,[...Ns(r),...[...n].map(p=>({objectNumber:p,deep:[]}))]),{field:a}=new vt(e.runtime,e.session,e.fonts).addWidget(t.field,t.placement,e.signal,{...t.objectNumber!==void 0?{objectNumber:t.objectNumber}:{},...t.splitObjectNumber!==void 0?{splitObjectNumber:t.splitObjectNumber}:{}}),o=new Set(r.field.widgets.map(p=>p.objectNumber)),s=a.widgets.filter(p=>!o.has(p.objectNumber)),A=s.map(p=>({objectNumber:p.objectNumber,deep:rm,before:null})),d=Et(e.runtime,e.session,[...i,...A]);return{item:{type:"forms.addWidget",...Ei(e,{field:a,meta:Ft(e.session.writeStamp(),[a.ref],s)})},reverse:[Ms("forms.removeWidget",d,[r.objectNumber])]}}function ER(e,t){me(e.authority,"doc.forms.modify");let r=Xt(e,t.field),n=t.widget.kind==="objectNumber"?t.widget.objectNumber:0,i=cn(e.runtime,e.session,[{objectNumber:r.objectNumber,deep:[]},{objectNumber:n,deep:[]}]),a=new vt(e.runtime,e.session,e.fonts).detachWidget(t.field,t.widget,e.signal),o=Et(e.runtime,e.session,i);return{item:{type:"forms.removeWidget",...Ei(e,{field:a.field,meta:Ft(e.session.writeStamp(),[a.field.ref],[a.widget])})},reverse:[Ms("forms.addWidget",o,[r.objectNumber])]}}function _R(e,t,r){me(e.authority,"doc.forms.modify");let n=In(e,t.widget);if(n.subtype!=="widget")throw new g(f.InvalidArg,`${n.subtype} is not a widget: delete it with page.annotations.delete`,{details:{field:"widget"}});return Cn(r,n,t.expect),CD(e,n)}function yR(e,t){me(e.authority,"doc.forms.modify");let r;try{r=e.session.resolvePageRef(t.page).pageIndex}catch{return Fe(e,"forms.restoreWidget")}if(QD(e,t.widget))return Fe(e,"forms.restoreWidget");let n=t.detached.filter(o=>o.objectNumber===t.fieldObjectNumber);if(!Na(e.runtime,e.session,n))return Fe(e,"forms.restoreWidget");cD(e.runtime,e.session.requireDocPtr(),r,t.capture),e.session.invalidateDerived(),t.detached.length>0&&Rs(e.runtime,e.session,t.detached);let i=qR(e,t.widget),a=t.fieldObjectNumber===null?null:Ls(e,t.fieldObjectNumber).field;return{item:{type:"forms.restoreWidget",field:a,widgets:[i],meta:Ft(e.session.writeStamp(),a?[a.ref]:[],[zR(e,t.widget)])},reverse:[{kind:"widget.delete",widget:t.widget,left:i}]}}function GR(e,t){me(e.authority,"doc.forms.modify");let r=QD(e,t.widget);return!r||!Ze(r,t.left)?Fe(e,"forms.deleteWidget"):CD(e,r)}function CR(e,t,r){me(e.authority,"doc.forms.modify"),dr(t.patch.actions)&&me(e.authority,"doc.forms.script");let n=In(e,t.widget);if(n.subtype!=="widget")throw new g(f.InvalidArg,`${n.subtype} is not a widget: change it with doc.annotations.update`,{details:{field:"widget"}});return Cn(r,n,t.expect),pD(e,n,t.patch.nm),fw(e,t.widget,{...t.patch,subtype:"widget"},"forms.updateWidget")}function IR(e,t){me(e.authority,"doc.forms.modify");let{before:r,after:n,moved:i}=new vt(e.runtime,e.session,e.fonts).reorderCalculations(t.fields,t.position,e.signal);return{item:_D(e,n,i),reverse:[Dw({before:r,after:n})]}}function SR(e,t){me(e.authority,"doc.forms.modify");let r=Es(e.runtime,Ee(e.runtime,e.session)),n=_Q(r,t,i=>Bi(e,i)!==null);return qc(r,n)?Fe(e,"forms.reorderCalculations"):(em(e.runtime,e.session.requireDocPtr(),n),e.session.invalidateDerived(),{item:_D(e,n,[...new Set([...r,...n])].filter(i=>r.indexOf(i)!==n.indexOf(i))),reverse:[Dw({before:r,after:n})]})}function _D(e,t,r){return{type:"forms.reorderCalculations",calculationOrder:t.map(im),meta:Ft(e.session.writeStamp(),r.map(im),[])}}function xR(e,t){me(e.authority,"doc.forms.modify");let r=mw(Dd(e.runtime,e.session,t.page),"widgets",t.widgets,t.position);return ww(e.runtime,e.session,r),lD(e,r,t.widgets)}function HR(e,t){let r=Xt(e,t.field);return Nn(e.authority,r.field.groupId,"sign"),Bw(e,r,"forms.setSignatureAppearance",()=>new vt(e.runtime,e.session,e.fonts).setSignatureAppearance(t.field,t.appearance.pdf,e.signal))}function OR(e,t){me(e.authority,"doc.forms.modify");let r=yD(e,t),n=new ED(e.runtime,e.session,e.fonts).import({bundle:t.bundle,...t.pages!==void 0?{pages:t.pages}:{},attribution:t.attribution,values:t.values??!0,actor:t.actor??{},limits:t.limits,mayScript:(t.mayScript??!1)&&dc(e.authority,"doc.forms.script"),groupOf:a=>r?a:kw(e,a)},e.signal),i=n.fields.map(a=>({kind:"field.remove",objectNumber:xa(a.ref),left:a,...r?{rights:r}:{}}));return{item:{type:"forms.import",...n},reverse:i.reverse()}}function QR(e,t){GD(e);let r=yD(e,t),n=new ED(e.runtime,e.session,e.fonts),i=n.planValues(t.bundle,t.limits,e.signal,s=>pr(e.authority,s.groupId,"fill")),a=[],o=[];for(let s of i.writes){let A={objectNumber:xa(s.target.ref),field:s.target},d=cn(e.runtime,e.session,Ns(A)),p=n.writeValue(s,t.bundle,t.attribution,t.actor??{},e.signal),m=Et(e.runtime,e.session,d);a.push(p),o.push({...Ms("forms.setValue",m,[A.objectNumber]),fallback:{kind:"value",fields:[{objectNumber:A.objectNumber,before:yn(s.target),left:yn(p)}]},...r?{rights:r}:{}})}return{item:{type:"forms.importValues",...Ei(e,{fields:a,dropped:[...i.dropped],meta:Ft(e.session.writeStamp(),a.map(s=>s.ref),a.flatMap(s=>s.widgets))})},reverse:o.reverse()}}function yD(e,t){if(t.attribution==="restore")return me(e.authority,"doc.forms.import"),"import"}function hw(e,t){if(!pr(e.authority,t.field.groupId,"fill")){if(MR(e,t)&&e.fillsOwnField()){at(e.authority,"doc.forms.fill");return}Nn(e.authority,t.field.groupId,"fill")}}function RR(e,t){if(!pr(e.authority,t.field.groupId,"fill")){if(e.fillsOwnField()){at(e.authority,"doc.forms.fill");return}Nn(e.authority,t.field.groupId,"fill")}}function GD(e){yp(e.authority,"fill")||me(e.authority,"doc.forms.fill")}function TR(e,t){let r=t.reports==="forms.setSignatureAppearance"?"sign":"fill";at(e.authority,r==="sign"?"doc.sign":"doc.forms.fill");for(let n of t.subject.fields){let i=Bi(e,n);i&&(r==="sign"?Nn(e.authority,i.field.groupId,"sign"):hw(e,i))}}function kw(e,t){let r=t??e.authority.identity.groupId;return r!==void 0&&lc(e.authority,r),r}function MR(e,t){return t.field.actions?.calculate?Es(e.runtime,Ee(e.runtime,e.session)).includes(t.objectNumber):!1}function LR(e,t){return t.some(r=>{if(r.type!=="forms.setValue"&&r.type!=="forms.setAppearanceText")return!1;let n=Ed(e,r.field);return n!==null&&pr(e.authority,n.field.groupId,"fill")})}function NR(e,t){return t.some(r=>r.kind==="objects.revert"&&(r.reports==="forms.setValue"||r.reports==="forms.setAppearanceText")&&"fields"in r.subject&&r.subject.fields.some(n=>{let i=Bi(e,n);return i!==null&&pr(e.authority,i.field.groupId,"fill")}))}function jR(e,t){if(bR.has(t.reports)?TR(e,t):me(e.authority,"doc.forms.modify"),t.rights&&me(e.authority,"doc.forms.import"),Na(e.runtime,e.session,t.objects)){let i=Rs(e.runtime,e.session,t.objects),a=t.subject.fields.map(o=>Ls(e,o).field);return{item:LD(e,t.reports,a),reverse:[{...t,objects:i,...UR(t.fallback)}]}}if(t.fallback?.kind==="properties")return KR(e,t.fallback);if(t.fallback?.kind!=="value")return Fe(e,t.reports);let r=[],n=[];for(let{objectNumber:i,before:a,left:o}of t.fallback.fields){let s=Bi(e,i);s&&Ze(yn(s.field),o)?r.push(ID(e,s,a)):s&&n.push(s.field.name)}return r.length===0?Fe(e,t.reports):t.reports==="forms.setValue"&&r.length===1?r[0]:{item:{...MD(e,r.map(({item:i})=>i.field)),...n.length>0?{skipped:n}:{}},reverse:r.flatMap(i=>i.reverse)}}function KR(e,t){let r=Bi(e,t.objectNumber);if(!r)return Fe(e,"forms.update");let n=Jc(r.field),i=t.left,a=t.restore,o=Object.keys(i),s=o.filter(m=>Ze(n[m],i[m])&&(m!=="name"||VR(e,r.field.name,String(a.name))));if(s.length===0)return Fe(e,"forms.update");let A=xD(e,r,am(a,s)),d=o.filter(m=>!s.includes(m)),p=A.item;return d.length===0||Vr(p)||p.type!=="forms.update"?A:{...A,item:{...p,skipped:d}}}function VR(e,t,r){return Ed(e,{kind:"fqn",name:t.slice(0,t.lastIndexOf(".")+1)+r})===null}function YR(e,t){me(e.authority,"doc.forms.modify"),t.rights&&me(e.authority,"doc.forms.import");let r=Bi(e,t.objectNumber);return!r||!Ze(r.field,t.left)?Fe(e,"forms.delete"):Ew(e,r,t.rights)}function XR(e,t){if(me(e.authority,"doc.forms.modify"),t.rights&&me(e.authority,"doc.forms.import"),Ed(e,{kind:"fqn",name:t.name}))return Fe(e,"forms.restore");for(let n of t.pages)try{e.session.resolvePageRef(n)}catch{return Fe(e,"forms.restore")}jO(e.runtime,e.session.requireDocPtr(),t.capture),e.session.invalidateDerived();let{field:r}=Ls(e,t.objectNumber);return{item:{type:"forms.restore",..._w(e,r)},reverse:[{kind:"field.remove",objectNumber:t.objectNumber,left:r,...t.rights?{rights:t.rights}:{}}]}}function CD(e,t){let r=t.ref;sn(e.runtime,e.session,r.page.objectNumber);let n=hi(e,r),i=t.field?Xt(e,t.field):null;if(i&&i.objectNumber===n)throw new g(f.InvalidArg,`widget ${n} is its field\'s own dictionary (a merged field/widget) - delete the field with doc.forms.delete`,{details:{field:"widget"}});let a=[];if(i){let p=cn(e.runtime,e.session,[{objectNumber:i.objectNumber,deep:[]},{objectNumber:n,deep:[]}]);new vt(e.runtime,e.session,e.fonts).detachWidget({kind:"objectNumber",objectNumber:i.objectNumber},r,e.signal),a=Et(e.runtime,e.session,p)}let{pageIndex:o,index:s}=Bt(e.runtime,e.session,r),A=AD(e.runtime,e.session.requireDocPtr(),o,[s]);new pw(e.runtime,e.session,e.fonts).deleteReleasedWidget(r,0),e.session.invalidateDerived();let d=i?Ls(e,i.objectNumber).field:null;return{item:{type:"forms.deleteWidget",widget:r,page:r.page,field:d,meta:Ft(e.session.writeStamp(),d?[d.ref]:[],[{ref:r,objectNumber:n,page:r.page}])},reverse:[{kind:"widget.restore",page:r.page,widget:r,capture:A,fieldObjectNumber:i?.objectNumber??null,detached:a}]}}function ID(e,t,r){let n={kind:"objectNumber",objectNumber:t.objectNumber},i=cn(e.runtime,e.session,Ns(t)),a=new vt(e.runtime,e.session,e.fonts).setValue(n,r,e.signal,e.authority.identity),o=Et(e.runtime,e.session,i),s={type:"forms.setValue",...Ei(e,a)};return a.meta.changedWidgets.length===0&&Ze(yn(t.field),yn(a.field))?{item:s,reverse:[]}:{item:s,reverse:[{...Ms("forms.setValue",o,[t.objectNumber]),fallback:{kind:"value",fields:[{objectNumber:t.objectNumber,before:yn(t.field),left:yn(a.field)}]}}]}}function SD(e,t,r,n){let i=!1,a=Bw(e,n,t,()=>(i=r(new vt(e.runtime,e.session,e.fonts)).meta.changedWidgets.length>0,{field:Ls(e,n.objectNumber).field}));return i?a:{item:a.item,reverse:[]}}function xD(e,t,r){let n={kind:"objectNumber",objectNumber:t.objectNumber},i=null;return HD(e,Bw(e,t,"forms.update",()=>{let a=new vt(e.runtime,e.session,e.fonts).updateField(n,r,e.signal);return i=a.calculationOrder,a},a=>{let o=Jc(t.field),s=Jc(a),A=Object.keys(r).filter(d=>d!=="kind"&&!Ze(o[d],s[d]));return{kind:"properties",objectNumber:t.objectNumber,restore:am(o,A),left:am(s,A)}}),i)}function HD(e,t,r){return!r||Vr(t.item)?t:{item:{...t.item,...OD(r)},reverse:[...t.reverse,Dw(r)]}}function OD(e){return e?{calculationOrder:e.after.map(im)}:{}}function Dw({before:e,after:t}){return{kind:"calculations.restore",before:e,after:t}}function im(e){return{kind:"objectNumber",objectNumber:e}}function Bw(e,t,r,n,i){let a=cn(e.runtime,e.session,Ns(t)),{field:o}=n(),s=Ms(r,Et(e.runtime,e.session,a),[t.objectNumber]);return{item:LD(e,r,[o]),reverse:[i?{...s,fallback:i(o)}:s]}}function Ew(e,t,r){let n=NO(e.runtime,e.session.requireDocPtr(),t.objectNumber),i={kind:"objectNumber",objectNumber:t.objectNumber},{deleted:a,removedWidgets:o,calculationOrder:s}=new vt(e.runtime,e.session).deleteField(i,e.signal);return HD(e,{item:{type:"forms.delete",meta:Ft(e.session.writeStamp(),[a],o)},reverse:[{kind:"field.restore",objectNumber:t.objectNumber,name:t.field.name,pages:t.field.widgets.flatMap(A=>A.page?[A.page]:[]),capture:n,...r?{rights:r}:{}}]},s)}function _P(e){return new Set(RD(e).map(({objectNumber:t})=>t))}function WR(e,t,r){let n=[];for(let i of t){let a=Bi(e,i);!a||!a.field.widgets.every(o=>o.page&&r.has(o.page.objectNumber))||n.push(...Ew(e,a).reverse)}return n}function Ms(e,t,r){return{kind:"objects.revert",reports:e,objects:t,subject:{fields:r}}}function UR(e){switch(e?.kind){case"value":return{fallback:{kind:"value",fields:e.fields.map(({objectNumber:t,before:r,left:n})=>({objectNumber:t,before:n,left:r}))}};case"properties":return{fallback:{...e,restore:e.left,left:e.restore}};default:return{}}}function Xt(e,t){let r=Ee(e.runtime,e.session),n=Kt(e.runtime,r,t),i=qe(e.runtime,r,n.fieldIndex,e.session.requireDocPtr());return{objectNumber:n.fieldObjectNumber,field:i}}function qR(e,t){let r=In(e,t);if(r.subtype!=="widget")throw new Error(`${j(t)} reads as no widget`);return r}function QD(e,t){try{let r=In(e,t);return r.subtype==="widget"?r:null}catch(r){if(g.is(r))return null;throw r}}function zR(e,t){return{ref:t,objectNumber:hi(e,t),page:t.page}}function Ls(e,t){return Xt(e,{kind:"objectNumber",objectNumber:t})}function Ed(e,t){try{return Xt(e,t)}catch{return null}}function Bi(e,t){return Ed(e,{kind:"objectNumber",objectNumber:t})}function RD(e){let t=Ee(e.runtime,e.session),r=e.runtime.fn.EPDFForm_CountFields(t),n=[];for(let i=0;i({objectNumber:r.objectNumber,deep:rm}))]}function xa(e){return e.kind==="objectNumber"?e.objectNumber:0}function Jc(e){let t={name:e.name.slice(e.name.lastIndexOf(".")+1),readOnly:e.readOnly,required:e.required,noExport:e.noExport,alternateName:e.alternateName,mappingName:e.mappingName,...e.groupId!==null?{groupId:e.groupId}:{},actions:ZR(e)},r=e.defaultValueEntry.kind!=="none",n=i=>i.map(({label:a,value:o})=>({label:a,value:o}));switch(e.kind){case"text":return{...t,defaultValue:r?e.defaultValue:null,maxLength:e.maxLength,multiline:e.multiline,password:e.password,comb:e.comb};case"radio":return{...t,radiosInUnison:e.radiosInUnison,noToggleToOff:e.noToggleToOff};case"combobox":return{...t,edit:e.edit,defaultValue:r?e.defaultValue:null,options:n(e.options)};case"listbox":return{...t,multiSelect:e.multiSelect,defaultValue:r?e.defaultValue:null,options:n(e.options)};default:return t}}function ZR(e){let t={};for(let r of["keystroke","format","validate","calculate"]){let n=e.actions?.[r];if(!n){t[r]=null;continue}let i=VA(n);i&&(t[r]=i)}return t}function am(e,t){return Object.fromEntries(t.map(r=>[r,e[r]]))}function yn(e){return Yr(e)??{value:null}}function _w(e,t,r=t.widgets){return Ei(e,{field:t,meta:Ft(e.session.writeStamp(),[t.ref],t.widgets,r)})}function TD(e,t){let r=t.widgets;return e==="forms.setDisplay"?[]:e==="forms.setValue"||e==="forms.reset"?$l(t.kind,r):r}function Ei(e,t){return vD(e.runtime,e.session,t,e.fonts)}function MD(e,t){return{type:"forms.reset",...Ei(e,{fields:[...t],meta:Ft(e.session.writeStamp(),t.map(r=>r.ref),t.flatMap(r=>r.widgets),t.flatMap(r=>TD("forms.reset",r)))})}}function LD(e,t,r){if(t==="forms.reset")return MD(e,r);let n=r[0];return{type:t,..._w(e,n,TD(t,n))}}function JR(e,t,r){me(e.authority,"doc.metadata.modify");let n=new vi(e.runtime,e.session).read(e.signal);Cn(r,n,t.expect);let i=new dm(e.runtime,e.session).update(t.patch,e.signal);return{item:{type:"metadata.update",...i},reverse:[ND("metadata.update",Object.keys(t.patch),n,i.metadata)]}}function $R(e,t){me(e.authority,"doc.metadata.modify");let r=new vi(e.runtime,e.session).readCustom(e.signal),n=new dm(e.runtime,e.session).updateCustom(t.patch,e.signal);return{item:{type:"metadata.updateCustom",...n},reverse:[ND("metadata.updateCustom",Object.keys(t.patch),r,n.custom)]}}function eT(e,t){me(e.authority,"doc.metadata.modify");let r=new vi(e.runtime,e.session),n=t.op==="metadata.update"?r.read(e.signal):r.readCustom(e.signal),i=t.left,a=Object.keys(i),o=a.filter(m=>Ze(ya(n,m),i[m]));if(o.length===0)return Fe(e,t.op);let s=yP(t.restore,o),A=new dm(e.runtime,e.session),d=a.filter(m=>!o.includes(m)),p={kind:"metadata.revert",op:t.op,restore:yP(t.left,o),left:s};return t.op==="metadata.update"?{item:{type:"metadata.update",...A.update(s,e.signal),...d.length>0?{skipped:d}:{}},reverse:[p]}:{item:{type:"metadata.updateCustom",...A.updateCustom(s,e.signal),...d.length>0?{skipped:d}:{}},reverse:[p]}}function ND(e,t,r,n){let i=t.filter(a=>!Ze(ya(r,a),ya(n,a)));return{kind:"metadata.revert",op:e,restore:Object.fromEntries(i.map(a=>[a,ya(r,a)])),left:Object.fromEntries(i.map(a=>[a,ya(n,a)]))}}function ya(e,t){return e[t]??null}function yP(e,t){return Object.fromEntries(t.map(r=>[r,ya(e,r)]))}var tT=class{constructor(e,t){V(this,"childrenByParent",new Map),V(this,"parentByItem",new Map);let r=(n,i,a)=>{if(a>=Ui.depth)return;let o=[];this.childrenByParent.set(i,o);for(let s=e.FPDFBookmark_GetFirstChild(t,n);s;s=e.FPDFBookmark_GetNextSibling(t,s)){let A=e.EPDFOutline_GetObjectNumber(s);if(A){if(this.parentByItem.has(A))break;this.parentByItem.set(A,i),o.push(A),r(s,A,a+1)}}};r(W,0,0)}has(e){return this.parentByItem.has(e)}parentOf(e){return this.parentByItem.get(e)}childrenOf(e){return this.childrenByParent.get(e)??[]}subtreeOf(e){let t=[e];for(let r of this.childrenOf(e))t.push(...this.subtreeOf(r));return t}levelOf(e){let t=-1;for(let r=e;r;r=this.parentOf(r))t+=1;return this.has(e)?t:void 0}isAtOrUnder(e,t){for(let r=e;r;r=this.parentOf(r))if(r===t)return!0;return!1}items(){return this.childrenOf(0).flatMap(e=>this.subtreeOf(e))}},nT={maxModels:5e4,maxNodes:2e5,maxScriptCodeUnits:16e6,maxTargetEntries:65536,maxPayloadCodeUnits:16e6},rT=1,iT=2;function GP(){return new Di(nT)}function CP(e,t,r,n,i,a){let{fn:o,mem:s}=e,A=fe(s,(P,B)=>o.FPDFBookmark_GetTitle(r,P,B))??"",d=o.FPDFBookmark_GetFirstChild(t,r)!==W,p=o.FPDFBookmark_GetStyle(r),{action:m,target:F,complete:h}=aT(e,t,r,a);return{item:{ref:Dt(n),parent:i===0?null:Dt(i),title:A,target:F,action:m,open:d&&o.FPDFBookmark_GetCount(r)>0,color:oT(e,r),bold:(p&iT)!==0,italic:(p&rT)!==0},complete:h}}function aT(e,t,r,n){let{fn:i,mem:a}=e,o=i.FPDFBookmark_GetAction(r);if(o)try{let d=vr(i,a,t,i.EPDFAction_LoadModel(o),n);return{action:d,target:d?F3(d):{kind:"unsupported"},complete:d!==null&&!d.incomplete}}catch(d){if(!g.is(d))throw d;return{action:null,target:{kind:"unsupported"},complete:!1}}let s=i.FPDFBookmark_GetDest(t,r);if(!s)return{action:null,target:null,complete:!0};let A=ed(i,a,t,s);return{action:null,target:A?{kind:"goto",destination:A}:{kind:"unsupported"},complete:!0}}function oT(e,t){let{fn:r,mem:n}=e;return he(n,[4,4,4],([i,a,o])=>{if(!r.FPDFBookmark_GetColor(t,i,a,o))return null;let s=A=>Math.min(255,Math.max(0,Math.round(pe(n,A)*255)));return Li(s(i),s(a),s(o))})}var jD=class{constructor(e,t){this.runtime=e,this.session=t}read(e){let{fn:t}=this.runtime,r=this.session.requireDocPtr(),n=GP(),i=[],a=new Set,o=!1,s=(A,d,p)=>{for(let m=t.FPDFBookmark_GetFirstChild(r,A);m;m=t.FPDFBookmark_GetNextSibling(r,m)){O(e);let F=t.EPDFOutline_GetObjectNumber(m);if(!F){o=!0;continue}if(a.has(F)){o=!0;break}if(i.length>=Ui.items)return o=!0,!1;a.add(F);let h=CP(this.runtime,r,m,F,d,n);if(i.push(h.item),h.complete||(o=!0),t.FPDFBookmark_GetFirstChild(r,m)!==W){if(p+1>=Ui.depth){o=!0;continue}if(!s(m,F,p+1))return!1}}return!0};return s(W,0,0),{items:i,incomplete:o}}readItem(e,t){let r=this.session.requireDocPtr(),n=this.runtime.fn.EPDFOutline_GetItem(r,e);if(!n)throw new g(f.NotFound,`no outline item ${e}`,{details:{field:"ref"}});return CP(this.runtime,r,n,e,t,GP()).item}},sT=1,AT=2,IP=32767,cT=/^#[0-9a-fA-F]{6}$/;function SP(e){let t=(n,i)=>{throw new g(f.InvalidArg,i,{details:{field:n}})};e.title!==void 0&&(typeof e.title!="string"&&t("title","a title is a string"),e.title.length>IP&&t("title",`a title holds at most ${IP} characters`)),e.color!=null&&!cT.test(e.color)&&t("color","expected a color as \'#rrggbb\'");let r=e.target;r!=null&&(r.kind==="goto"||r.kind==="uri"||r.kind==="named"&&["NextPage","PrevPage","FirstPage","LastPage"].includes(r.name??"")||t("target",`a \'${r.kind}\' target can\'t be written`))}function Gl(e,t,r,n){let{fn:i,mem:a}=e,o=(s,A)=>{if(!s)throw new g(f.Unknown,`the ${A} of outline item ${r} could not be written`)};if(n.title!==void 0){let s=n.title;o(Zn(a,s,A=>i.EPDFOutline_SetTitle(t,r,A)),"title")}if(n.target!==void 0){let s=n.target===null?W:v3(i,a,t,n.target);o(i.EPDFOutline_SetAction(t,r,s),"target")}if(n.color!==void 0)if(n.color===null)o(i.EPDFOutline_SetColor(t,r,!1,0,0,0),"colour");else{let{r:s,g:A,b:d}=Tn(n.color);o(i.EPDFOutline_SetColor(t,r,!0,s/255,A/255,d/255),"colour")}if(n.bold!==void 0||n.italic!==void 0){let s=i.FPDFBookmark_GetStyle(i.EPDFOutline_GetItem(t,r));n.bold!==void 0&&(s=n.bold?s|AT:s&-3),n.italic!==void 0&&(s=n.italic?s|sT:s&-2),o(i.EPDFOutline_SetStyle(t,r,s),"style")}n.open!==void 0&&o(i.EPDFOutline_SetOpen(t,r,n.open),"open state")}var dT=class{constructor(e,t){this.runtime=e,this.session=t,V(this,"reader",void 0),this.reader=new jD(e,t)}tree(){return new tT(this.runtime.fn,this.session.requireDocPtr())}create(e,t,r,n){SP(r);let i=this.tree(),a=this.parentNumberOf(i,e),o=i.childrenOf(a),s=to(o.map(Dt),t,xP),A=s===0?0:o[s-1];n!==void 0&&this.session.claimObjectNumber(n);let{fn:d,mem:p}=this.runtime,m=this.session.requireDocPtr(),F=Zn(p,r.title,y=>d.EPDFOutline_CreateItem(m,n??0,a,A,y));if(!F)throw cs("create the item");let{title:h,...P}=r;Gl(this.runtime,m,F,P);let B=this.reader.readItem(F,a);return{item:B,order:this.orderOf(this.tree(),a),meta:this.meta([B.ref])}}update(e,t){SP(t);let r=this.tree(),n=this.requireItem(r,e,"ref");return Gl(this.runtime,this.session.requireDocPtr(),e.objectNumber,t),{item:this.reader.readItem(e.objectNumber,n),meta:this.meta([e])}}move(e,t,r){let n=this.tree(),i=e.map(m=>(this.requireItem(n,m,"refs"),m.objectNumber)),a=new Set(i);a.size!==i.length&&As("refs","an item is named twice");for(let m of i)i.some(F=>F!==m&&n.isAtOrUnder(m,F))&&As("refs",`item ${m} is under another item that moves`);let o=this.parentNumberOf(n,t);i.some(m=>n.isAtOrUnder(o,m))&&As("parent","an item would go under itself");let s=n.childrenOf(o).filter(m=>!a.has(m)),A=r==="start"||r==="end"?null:"before"in r?r.before:r.after;A&&a.has(A.objectNumber)&&As("position",`the neighbour ${A.objectNumber} is one of the items that move`);let d=to(s.map(Dt),r,xP),p=d===0?0:s[d-1];return this.place(i.map(m=>{let F={item:m,parent:o,after:p};return p=m,F}),n)}place(e,t=this.tree()){let{fn:r}=this.runtime,n=this.session.requireDocPtr(),i=new Set;for(let{item:o,parent:s,after:A}of e){i.add(t.parentOf(o)??0),i.add(s);let d=this.tree(),p=A&&d.parentOf(A)===s?A:0;if(!r.EPDFOutline_MoveItem(n,o,s,p))throw cs(`move item ${o}`)}let a=this.tree();return{orders:[...i].map(o=>this.orderOf(a,o)),meta:this.meta(e.map(({item:o})=>Dt(o)))}}placementsOf(e,t=this.tree()){let r=new Set(e);return t.items().filter(n=>r.has(n)).map(n=>{let i=t.parentOf(n),a=t.childrenOf(i),o=a.indexOf(n);return{item:n,parent:i,after:o>0?a[o-1]:0}})}delete(e){let t=this.tree();this.requireItem(t,e,"ref");let r=t.subtreeOf(e.objectNumber);if(!this.runtime.fn.EPDFOutline_DeleteItem(this.session.requireDocPtr(),e.objectNumber))throw cs(`delete item ${e.objectNumber}`);return{meta:this.meta(r.map(Dt))}}restored(e){let t=this.tree(),r=t.parentOf(e);if(r===void 0)throw cs(`restore item ${e}`);let n=this.subtree(e,t);return{items:n,order:this.orderOf(t,r),meta:this.meta(n.map(i=>i.ref))}}find(e,t=this.tree()){let r=t.parentOf(e.objectNumber);return r===void 0?null:this.reader.readItem(e.objectNumber,r)}subtree(e,t=this.tree()){return t.subtreeOf(e).map(r=>this.reader.readItem(r,t.parentOf(r)))}updated(e){let t=this.find(e);if(!t)throw cs(`read item ${e.objectNumber}`);return{item:t,meta:this.meta([e])}}countAgain(e){let t=this.find(e);t&&Gl(this.runtime,this.session.requireDocPtr(),e.objectNumber,{open:t.open})}parentNumberOf(e,t){return t===null?0:(this.requireItem(e,t,"parent"),(e.levelOf(t.objectNumber)??0)>=Ui.depth-1&&As("parent",`an item under ${t.objectNumber} would be deeper than reads go`),t.objectNumber)}requireItem(e,t,r){let n=e.parentOf(t.objectNumber);if(n===void 0)throw new g(f.NotFound,`no outline item ${t.objectNumber}`,{details:{field:r}});return n}orderOf(e,t){return{parent:t===0?null:Dt(t),children:e.childrenOf(t).map(Dt)}}meta(e){return{affectedPages:[],cacheDelta:null,...this.session.writeStamp(),changedRefs:e}}},xP=e=>String(e.objectNumber);function As(e,t){throw new g(f.InvalidArg,t,{details:{field:e}})}function cs(e){return new g(f.MalformedPdf,`could not ${e}: the outline holds an item that isn\'t an indirect object`)}var uT=["title","target","color","bold","italic","open"],pT=["A","Dest"],dn=e=>new dT(e.runtime,e.session),$n=e=>me(e.authority,"doc.outline.modify");function lT(e,t){$n(e);let r=dn(e).create(t.parent,t.position??"end",t.data,t.objectNumber);return{item:{type:"outline.create",...r},reverse:[{kind:"outline.remove",ref:r.item.ref,left:YD(e,[r.item.ref])}]}}function mT(e,t,r){$n(e);let n=XD(e,t.ref);return Cn(r,n,t.expect),KD(e,t.ref,t.patch,n)}function wT(e,t){$n(e);let r=dn(e),n=r.tree(),i=t.refs.map(d=>d.objectNumber),a=r.placementsOf(i,n),o=yw(e,n,i),s=r.move(t.refs,t.parent,t.position),A=t.parent?.objectNumber??0;return{item:{type:"outline.move",...s},reverse:[{kind:"outline.move",placements:a,left:i.map(d=>({item:d,parent:A}))},...o]}}function bT(e,t,r){return $n(e),Cn(r,XD(e,t.ref),t.expect),VD(e,t.ref)}function fT(e,t){let r=t.subject.outlineItem,n=dn(e),i=n.find(r);if(!i)return Fe(e,"outline.update");if($n(e),Na(e.runtime,e.session,t.objects)){let h=Rs(e.runtime,e.session,t.objects);n.countAgain(r);let P=Et(e.runtime,e.session,h);return{item:{type:"outline.update",...n.updated(r)},reverse:[{...t,objects:P,...DT(t.fallback)}]}}let a=t.fallback;if(a?.kind!=="outline")return Fe(e,"outline.update");let o=i,s=a.left,A=a.restore,d=Object.keys(s),p=d.filter(h=>Ze(o[h],s[h])&&kT(e,h,A[h]));if(p.length===0)return Fe(e,"outline.update");let m=KD(e,r,Object.fromEntries(p.map(h=>[h,A[h]])),i),F=d.filter(h=>!p.includes(h));return F.length===0||m.item.type!=="outline.update"?m:{...m,item:{...m.item,skipped:F}}}function gT(e,t){let r=dn(e).tree();return!r.has(t.ref.objectNumber)||($n(e),!Ze(r.subtreeOf(t.ref.objectNumber),t.left.map(n=>n.objectNumber))||!Na(e.runtime,e.session,t.left))?Fe(e,"outline.delete"):VD(e,t.ref)}function FT(e,t){let r=dn(e),n=r.tree();if(n.has(t.ref.objectNumber)||t.parent&&!n.has(t.parent.objectNumber))return Fe(e,"outline.restore");$n(e),VO(e.runtime,e.session.requireDocPtr(),t.capture);let i=r.restored(t.ref.objectNumber);return{item:{type:"outline.restore",...i},reverse:[{kind:"outline.remove",ref:t.ref,left:YD(e,i.items.map(a=>a.ref))}]}}function vT(e,t){let r=dn(e),n=r.tree(),i=new Map(t.left.map(({item:d,parent:p})=>[d,p])),a=t.placements.filter(({item:d,parent:p})=>n.parentOf(d)===i.get(d)&&(p===0||n.has(p))&&!n.isAtOrUnder(p,d));if(a.length===0)return Fe(e,"outline.move");$n(e);let o=a.map(({item:d})=>d),s=r.placementsOf(o,n),A=yw(e,n,o);return{item:{type:"outline.move",...r.place(a,n)},reverse:[{kind:"outline.move",placements:s,left:a.map(({item:d,parent:p})=>({item:d,parent:p}))},...A]}}function PT(e,t){let r=dn(e),n=r.tree(),i=r.find(t.ref,n),a=n.childrenOf(t.ref.objectNumber),o=a.length===t.children.length&&a.every(s=>t.children.includes(s));return!i||i.open||!o?Fe(e,"outline.update"):($n(e),{item:{type:"outline.update",...r.update(t.ref,{open:!0})},reverse:[]})}function KD(e,t,r,n){let i=cn(e.runtime,e.session,[{objectNumber:t.objectNumber,deep:pT}]),a=dn(e).update(t,r),o=Et(e.runtime,e.session,i);return{item:{type:"outline.update",...a},reverse:[{kind:"objects.revert",reports:"outline.update",objects:o,subject:{outlineItem:t},fallback:hT(n,a.item,r)}]}}function VD(e,t){let r=dn(e),n=r.tree(),i=n.parentOf(t.objectNumber),a=yw(e,n,[t.objectNumber]),o=KO(e.runtime,e.session.requireDocPtr(),t.objectNumber);return{item:{type:"outline.delete",...r.delete(t)},reverse:[{kind:"outline.restore",ref:t,parent:i===void 0||i===0?null:Dt(i),capture:o},...a]}}function yw(e,t,r){let n=new Set(r),i=new Set(r.map(a=>t.parentOf(a)??0));return i.delete(0),[...i].flatMap(a=>{let o=t.childrenOf(a);return o.every(s=>n.has(s))?dn(e).find(Dt(a),t)?.open?[{kind:"outline.reopen",ref:Dt(a),children:o}]:[]:[]})}function YD(e,t){return Et(e.runtime,e.session,t.map(r=>({objectNumber:r.objectNumber,deep:[],before:null})))}function XD(e,t){let r=dn(e).find(t);if(!r)throw new g(f.NotFound,`no outline item ${t.objectNumber}`,{details:{field:"ref"}});return r}function hT(e,t,r){let n=uT.filter(i=>r[i]!==void 0&&!Ze(e[i],t[i]));return{kind:"outline",restore:Object.fromEntries(n.map(i=>[i,e[i]])),left:Object.fromEntries(n.map(i=>[i,t[i]]))}}function kT(e,t,r){if(t!=="target"||r===null)return!0;let n=r;if(n.kind==="goto"){let i=n.destination?.page.objectNumber;return e.session.allRecords().some(a=>a.pageObjectNumber===i)}return n.kind==="uri"?!0:n.kind==="named"&&["NextPage","PrevPage","FirstPage","LastPage"].includes(n.name??"")}function DT(e){return e?.kind!=="outline"?e?{fallback:e}:{}:{fallback:{kind:"outline",restore:e.left,left:e.restore}}}var BT=["Annots","Contents","Resources"],ET=["Parent","Rotate"];function En(e,t){let r=e.session.pagePool();r.closeIdle();try{return t()}finally{r.closeIdle()}}var js=e=>new Nl(e.runtime,e.session),Gw=e=>new II(e.runtime,e.session),Sn=e=>me(e.authority,"doc.pages.assemble");function _T(e,t){Sn(e);let r=ZD(Ys(e)),n=js(e).rotate([...t.pages],t.rotation,e.signal),i=t.pages.map(a=>a.objectNumber);return{item:{type:"pages.rotate",pages:[...t.pages],rotation:t.rotation,...n},reverse:RT(i,r,t.rotation)}}function yT(e,t){let r=ZD(Ys(e)),n=t.pages.filter(o=>r.get(o)===t.left);if(n.length===0)return Fe(e,"pages.rotate");Sn(e);let i=n.map(ue),a=js(e).rotate(i,t.rotation,e.signal);return{item:{type:"pages.rotate",pages:i,rotation:t.rotation,...a},reverse:[{kind:"pages.rotate",pages:n,rotation:t.left,left:t.rotation}]}}function GT(e,t){Sn(e);let r=t.pages.map(d=>d.objectNumber),n=on(e),i=Ks(e),a=$c(n,r),o=js(e).reorder([...t.pages],t.position,e.signal),s=on(e),A=Vs(e,i,qD(i,n,s,r));return{item:{type:"pages.reorder",...o,...Sw(e,A)},reverse:[{kind:"pages.reorder",placements:a,left:$c(s,r),...A?{labels:A}:{}}]}}function CT(e,t){let r=on(e),n=new Map(t.left.map(({page:h,after:P})=>[h,P])),i=t.placements.filter(({page:h,after:P})=>{let B=r.indexOf(h);return B>=0&&(r[B-1]??0)===n.get(h)&&(P===0||r.includes(P))});if(i.length===0)return Fe(e,"pages.reorder");Sn(e);let a=i.map(({page:h})=>h),o=$c(r,a),s=Ks(e),A=js(e),d=null,p=s,m=r;for(let{page:h,after:P}of i){let B=P===0?"start":{after:ue(P)};({layout:d}=A.reorder([ue(h)],B,e.signal));let y=on(e);p=qD(p,m,y,[h]),m=y}let F=Vs(e,s,Iw(s,p,t.labels));return{item:{type:"pages.reorder",pages:a.map(ue),layout:F?Ys(e):d,meta:JD(e)},reverse:[{kind:"pages.reorder",placements:o,left:$c(on(e),a),...F?{labels:F}:{}}]}}function IT(e,t){return Sn(e),WD(e,_d(on(e),e.session.resolvePageRefs(t.pages)))}function ST(e,t){let r=on(e),n=t.pages.filter(({page:d})=>!r.includes(d));if(n.length===0)return Fe(e,"pages.restore");Sn(e);let i=Ks(e),a=e.session.requireDocPtr();for(let{capture:d}of n)XO(e.runtime,a,d);e.session.refreshPageRegistry(),e.session.invalidateDerived();let o=on(e),s=_d(o,n.map(({page:d})=>d)),A=Vs(e,i,Iw(i,s.reduce((d,p)=>po(d,o.indexOf(p),1),i),t.labels));return{item:{type:"pages.restore",pages:s.map(ue),layout:Ys(e),meta:JD(e)},reverse:[UD(e,s,A)]}}function xT(e,t){let r=on(e),n=t.pages.filter(({page:o,left:s})=>r.includes(o)&&zD(e,o)===s).map(({page:o})=>o);if(n.length===0||n.length>=r.length)return Fe(e,"pages.delete");Sn(e);let i=WR(e,t.fields??[],new Set(n)),a=WD(e,_d(r,n),t.labels);return{item:a.item,reverse:[...a.reverse,...i]}}function HT(e,t){return Sn(e),Cw(e,"pages.insertBlank",()=>Gw(e).insertBlank(t.spec,t.position??"end",e.signal,t.objectNumbers))}function OT(e,t){return Sn(e),Cw(e,"pages.insert",()=>Gw(e).insert(TT(t.source),t.position??"end",e.signal,t.objectNumbers))}function QT(e,t){return Sn(e),Cw(e,"pages.copy",()=>Gw(e).copy(t.pages,t.position??"end",e.signal,t.objectNumbers))}function Cw(e,t,r){let n=t!=="pages.insertBlank",i=Ks(e),a=n?_P(e):new Set,o=r();n&&e.session.invalidateDerived();let s=n?[..._P(e)].filter(p=>!a.has(p)):[],A=o.insertedPages.map(p=>p.objectNumber),d=Vs(e,i,po(i,on(e).indexOf(A[0]),A.length));return{item:{type:t,...o,...Sw(e,d)},reverse:[UD(e,A,d,s)]}}function WD(e,t,r){let n=e.session.requireDocPtr(),i=on(e),a=Ks(e),o=t.map(p=>({page:p,capture:YO(e.runtime,n,p)})),s=t.map(ue),A=js(e).delete(s,e.signal);e.session.invalidateDerived();let d=Vs(e,a,Iw(a,QA(a,i.length,t.map(p=>i.indexOf(p))),r));return{item:{type:"pages.delete",pages:s,...A,...Sw(e,d)},reverse:[{kind:"pages.restore",pages:o,...d?{labels:d}:{}}]}}function UD(e,t,r,n=[]){return{kind:"pages.remove",pages:t.map(i=>({page:i,left:zD(e,i)})),...r?{labels:r}:{},...n.length>0?{fields:n}:{}}}function Ks(e){return mh(e.runtime,e.session.requireDocPtr())}function Iw(e,t,r){return r&&lo(e,r.left)?r.sections:t}function Vs(e,t,r){if(!lo(t,r))return sI(e.runtime,e.session.requireDocPtr(),r),{sections:t,left:r}}function qD(e,t,r,n){return t.every((i,a)=>r[a]===i)?e:Nu(e,t.length,n.map(i=>t.indexOf(i)),r.indexOf(n[0]))}function Sw(e,t){return t?{layout:Ys(e)}:{}}function zD(e,t){let{fn:r,mem:n}=e.runtime,i=e.session.requireDocPtr(),a=lw(e.runtime,i,t,BT,ET),o=e.session.allRecords().find(p=>p.pageObjectNumber===t),s=o?wI(e.runtime,i,o.pageIndex):0,A=new TextEncoder().encode(`\nturn ${s}`),d=new Uint8Array(a.byteLength+A.byteLength);return d.set(a),d.set(A,a.byteLength),Nm(r,n,d)}function RT(e,t,r){let n=new Map;for(let i of e){let a=t.get(i);n.set(a,[...n.get(a)??[],i])}return[...n].map(([i,a])=>({kind:"pages.rotate",pages:a,rotation:i,left:r}))}function $c(e,t){return _d(e,t).map(r=>({page:r,after:e[e.indexOf(r)-1]??0}))}function _d(e,t){return[...t].sort((r,n)=>e.indexOf(r)-e.indexOf(n))}function on(e){return e.session.allRecords().map(t=>t.pageObjectNumber)}function Ys(e){return new Vt(e.runtime,e.session).read(e.signal)}function ZD(e){return new Map(e.pages.map(t=>[t.ref.objectNumber,t.rotation]))}function JD(e){return{affectedPages:[],cacheDelta:null,...e.session.writeStamp()}}function TT(e){return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.slice().buffer}var $D=class{constructor(e,t){this.runtime=e,this.session=t}setScale(e,t,r){if(O(r),t!==null)try{Za(t)}catch(d){throw new g(f.InvalidArg,d.message)}let{fn:n,mem:i}=this.runtime,a=this.session.requireDocPtr(),o=this.session.recordByObjectNumber(e).pageIndex,s=[];for(let d=0;dn.EPDFViewport_GetName(p,F,h))!==no)continue;let m=n.EPDFViewport_GetMeasure(p);(!m||n.EPDFMeasure_GetSubtype(m)===1)&&s.push(d)}finally{n.EPDFViewport_Close(p)}}let A=Y(i,16,d=>Gs(n,i,a,o,d).crop);if(![A.left,A.right,A.bottom,A.top].every(Number.isFinite))throw new g(f.InvalidArg,"Invalid calibration box");if(O(r),t===null){for(let d of s.reverse())Le(n.EPDFPage_RemoveViewportRaw(a,o,d));return}Y(i,16,d=>{i.poke(d,"f32",A.left),i.poke(d,"f32",A.top,4),i.poke(d,"f32",A.right,8),i.poke(d,"f32",A.bottom,12);let p=s.length?n.EPDFPage_GetViewportRaw(a,o,s[s.length-1]):n.EPDFPage_AddViewportRaw(a,o,d);Le(p);try{Le(n.EPDFViewport_SetBBox(p,d)),Le(Yt(i,no,m=>n.EPDFViewport_SetName(p,m))),dh(n,i,n.EPDFViewport_AddMeasure(p),t)}finally{n.EPDFViewport_Close(p)}})}},eB=e=>me(e.authority,"doc.annotate.modify");function MT(e,t){eB(e);let r=t.pages.map(a=>a.objectNumber);if(new Set(r).size!==r.length)throw new g(f.InvalidArg,"pages.setScale names a page twice",{details:{field:"pages"}});let n=r.map(a=>{let o=rB(e,a),s=om(e,a);return tB(e,a,t.measure&&oo(t.measure,o)),{page:a,box:o,before:s,left:om(e,a)}}),i=new Map;for(let{page:a,box:o,before:s,left:A}of n){let d=JSON.stringify([s,A,o]),p=i.get(d)??{pages:[],measure:s,left:A};p.pages.push(a),i.set(d,p)}return{item:{type:"pages.setScale",pages:[...t.pages],measure:t.measure,...nB(e,t.pages[0])},reverse:[...i.values()].map(a=>({kind:"pages.setScale",...a}))}}function LT(e,t){let r=t.pages.filter(i=>NT(om(e,i),t.left));if(r.length===0)return Fe(e,"pages.setScale");eB(e);for(let i of r)tB(e,i,t.measure);let n=r.map(ue);return{item:{type:"pages.setScale",pages:n,measure:t.measure&&ao(t.measure,rB(e,r[0])),...nB(e,n[0])},reverse:[{kind:"pages.setScale",pages:r,measure:t.left,left:t.measure}]}}function tB(e,t,r){new $D(e.runtime,e.session).setScale(t,r,e.signal)}function nB(e,t){return{page:t,layout:new Vt(e.runtime,e.session).read(e.signal),meta:{affectedPages:[],cacheDelta:null,...e.session.writeStamp()}}}function om(e,t){let{fn:r,mem:n}=e.runtime,i=e.session.recordByObjectNumber(t).pageIndex,a=um(r,n,e.session.requireDocPtr(),i).filter(o=>o.owned).pop();return a?.measure?.subtype==="rectilinear"?a.measure:null}var NT=(e,t)=>JSON.stringify(e)===JSON.stringify(t);function rB(e,t){let{fn:r,mem:n}=e.runtime,i=e.session.recordByObjectNumber(t).pageIndex;return Y(n,16,a=>Gs(r,n,e.session.requireDocPtr(),i,a).crop)}var jT={opInFileSpace:e=>e,itemOut:e=>e},Cl=class{constructor(e,t,r,n=qt){this.runtime=e,this.session=t,this.fonts=r,this.limits=n}apply(e,t,r,n){let i=this.context(t,r,a=>LR(a,e));return HP(this.session,t,e.map((a,o)=>()=>KT(i,n.opInFileSpace(a),o)),n,r)}undo(e,t,r,n){let i=this.context(t,r,a=>NR(a,e.steps));return HP(this.session,t,e.steps.map(a=>()=>VT(i,a)),n,r)}context(e,t,r){let n,i={runtime:this.runtime,session:this.session,...this.fonts?{fonts:this.fonts}:{},authority:e,signal:t,limits:this.limits,fillsOwnField:()=>n??(n=r(i))};return i}};function HP(e,t,r,n,i){let a=[],o=[];for(let s of r){O(i),e.clearMissingCharacters();let A=s(),d=e.missingCharacters(),p=d.length===0?A.item:{...A.item,meta:{...A.item.meta,missingCharacters:d}};a.push(n.itemOut(p)),o.push(A.reverse)}return{items:a,record:{userId:t.identity.userId??null,steps:o.reverse().flat()}}}function KT(e,t,r){switch(t.type){case"annotations.create":return tQ(e,t);case"annotations.import":return nQ(e,t);case"annotations.update":return aQ(e,t,r);case"annotations.delete":return oQ(e,t,r);case"annotations.reorder":return AQ(e,t);case"annotations.copy":return rQ(e,t);case"forms.setValue":return fR(e,t,r);case"forms.setDisplay":return gR(e,t);case"forms.setAppearanceText":return FR(e,t);case"forms.reset":return vR(e,t);case"forms.create":return PR(e,t);case"forms.copy":return hR(e,t);case"forms.update":return kR(e,t,r);case"forms.delete":return DR(e,t,r);case"forms.addWidget":return BR(e,t);case"forms.removeWidget":return ER(e,t);case"forms.deleteWidget":return _R(e,t,r);case"forms.updateWidget":return CR(e,t,r);case"forms.reorderWidgets":return xR(e,t);case"forms.reorderCalculations":return IR(e,t);case"forms.setSignatureAppearance":return HR(e,t);case"forms.import":return OR(e,t);case"forms.importValues":return QR(e,t);case"metadata.update":return JR(e,t,r);case"metadata.updateCustom":return $R(e,t);case"outline.create":return lT(e,t);case"outline.update":return mT(e,t,r);case"outline.move":return wT(e,t);case"outline.delete":return bT(e,t,r);case"pages.rotate":return En(e,()=>_T(e,t));case"pages.setScale":return MT(e,t);case"pages.reorder":return En(e,()=>GT(e,t));case"pages.delete":return En(e,()=>IT(e,t));case"pages.insertBlank":return En(e,()=>HT(e,t));case"pages.insert":return En(e,()=>OT(e,t));case"pages.copy":return En(e,()=>QT(e,t));case"attachments.create":return FQ(e,t);case"attachments.delete":return vQ(e,t)}}function VT(e,t){switch(t.kind){case"objects.revert":return"annotation"in t.subject?cQ(e,{...t,subject:t.subject}):"outlineItem"in t.subject?fT(e,{...t,subject:t.subject}):jR(e,{...t,subject:t.subject});case"annotation.remove":return dQ(e,t);case"annotation.restore":return uQ(e,t);case"annotation.reorder":return pQ(e,t);case"field.remove":return YR(e,t);case"field.restore":return XR(e,t);case"widget.restore":return yR(e,t);case"widget.delete":return GR(e,t);case"calculations.restore":return SR(e,t);case"metadata.revert":return eT(e,t);case"outline.remove":return gT(e,t);case"outline.restore":return FT(e,t);case"outline.move":return vT(e,t);case"outline.reopen":return PT(e,t);case"pages.rotate":return En(e,()=>yT(e,t));case"pages.setScale":return LT(e,t);case"pages.reorder":return En(e,()=>CT(e,t));case"pages.restore":return En(e,()=>ST(e,t));case"pages.remove":return En(e,()=>xT(e,t));case"attachments.remove":return PQ(e,t);case"attachments.restore":return hQ(e,t)}}function YT(e){let t=0,r=n=>{for(let i of n)t+=(i.before?.byteLength??0)+i.after.byteLength};for(let n of e.steps)switch(n.kind){case"objects.revert":r(n.objects);break;case"annotation.restore":t+=n.capture.byteLength,r(n.unlinked);break;case"field.restore":case"outline.restore":t+=n.capture.byteLength;break;case"outline.remove":r(n.left);break;case"pages.restore":for(let{capture:i}of n.pages)t+=i.byteLength;break;case"attachments.remove":t+=n.left.byteLength;break;case"attachments.restore":t+=n.capture.byteLength;break;default:break}return t}var XT=64*1024*1024,WT=4096,UT=class{constructor(){V(this,"entries",new Map),V(this,"bytes",0)}outcome(e){return this.entries.get(e)?.outcome}record(e){let t=this.entries.get(e);if(t)return t.unavailable?{unavailable:t.unavailable}:{record:t.record}}keepApplied(e,t,r,n){let i=n?YT(n):0;this.add(e,{outcome:{kind:"applied",fingerprint:t,result:r},record:n,bytes:i}),this.bytes+=i,this.trimCaptures()}keepRefused(e,t,r){this.add(e,{outcome:{kind:"refused",fingerprint:t,error:r},record:null,bytes:0})}endUndo(){for(let e of this.entries.values())e.outcome.kind==="applied"&&!e.unavailable&&this.drop(e,"final-change")}add(e,t){this.entries.set(e,t);for(let[r,n]of this.entries){if(this.entries.size<=WT)break;this.drop(n,"expired"),this.entries.delete(r)}}trimCaptures(){for(let e of this.entries.values()){if(this.bytes<=XT)break;e.bytes>0&&this.drop(e,"expired")}}drop(e,t){this.bytes-=e.bytes,e.record=null,e.bytes=0,e.unavailable=t}},OP=new WeakMap;function ds(e){let t=OP.get(e);return t||(t=new UT,OP.set(e,t)),t}function Il(e){let t=e.openedAs!=="none";return{encryptionState:t?"encrypted":"none",encryptionRequiresPassword:!1,securityHandlerRevision:t?e.securityHandlerRevision:null,pdfPermissionsBits:e.permissionsBits,pdfPermissionsAllAllowed:t2(e.permissionsBits),pdfOpenedAs:e.openedAs,securityProbedAt:e.probedAt}}function qT(e){return e===3?"owner":e===2?"user":"none"}var Sl=class{constructor(e){this.runtime=e,ZP(this.runtime)}probeFile(e,t=null){let r=Date.now(),n=null,i=null;try{if(n=this.runtime.fileAccess.fromNodeFile(e),i=this.runtime.fn.FPDF_LoadCustomDocument(n.ptr,t??""),!i){let s=this.runtime.fn.FPDF_GetLastError();return s===4?{encryptionState:"encrypted",encryptionRequiresPassword:!0,securityHandlerRevision:null,pdfPermissionsBits:null,pdfPermissionsAllAllowed:null,pdfOpenedAs:null,securityProbedAt:r}:s===5?{encryptionState:"unsupported",encryptionRequiresPassword:null,securityHandlerRevision:null,pdfPermissionsBits:null,pdfPermissionsAllAllowed:null,pdfOpenedAs:null,securityProbedAt:r}:zT(r)}let a=this.runtime.fn.EPDF_IsEncrypted(i),o=wl(this.runtime.fn.FPDF_GetDocPermissions(i));return Il({openedAs:a?this.runtime.fn.EPDF_IsOwnerUnlocked(i)?"owner":"user":"none",permissionsBits:o,securityHandlerRevision:a?this.runtime.fn.FPDF_GetSecurityHandlerRevision(i):null,probedAt:r})}finally{i&&this.runtime.fn.FPDF_CloseDocument(i),n?.close()}}readLiveSecurityInfo(e){let{fn:t}=this.runtime,r=e.requireDocPtr(),n=t.EPDF_IsEncrypted(r),i=wl(t.FPDF_GetDocUserPermissions(r));return Il({openedAs:n?t.EPDF_IsOwnerUnlocked(r)?"owner":"user":"none",permissionsBits:i,securityHandlerRevision:n?t.FPDF_GetSecurityHandlerRevision(r):null,probedAt:Date.now()})}checkPasswordPermissions(e,t,r="any"){let n=e.requireDocPtr(),{mem:i,fn:a}=this.runtime,o=i.alloc(4),s=i.alloc(4),A=i.alloc(4),d=i.alloc(4);try{if(i.poke(o,"i32",0),i.poke(s,"i32",0),i.poke(A,"i32",0),i.poke(d,"i32",0),!a.EPDF_CheckPasswordPermissions(n,t,o,s,A,d))throw new g(f.DocPasswordIncorrect,"incorrect document password");let p=qT(Number(i.peek(o,"i32")));if(r==="owner"&&p!=="owner")throw new g(f.DocPasswordIncorrect,"owner password required");return Il({openedAs:p,permissionsBits:wl(Number(i.peek(A,"i32"))),securityHandlerRevision:Number(i.peek(d,"i32")),probedAt:Date.now()})}finally{i.free(d),i.free(A),i.free(s),i.free(o)}}};function zT(e){return{encryptionState:"unknown",encryptionRequiresPassword:null,securityHandlerRevision:null,pdfPermissionsBits:null,pdfPermissionsAllAllowed:null,pdfOpenedAs:null,securityProbedAt:e}}var ZT=1,JT=2;function _c(e){return e==="incremental"?ZT:JT}function Ba(e){return e===1?new g(f.DocOpenFailed,"layer artifact cannot be saved because append-only offsets exceed the supported range"):new g(f.DocOpenFailed,"failed to save layer artifact")}function QP(e,t,r){let n=e.readBytes(t,r);return n.buffer instanceof ArrayBuffer&&n.byteOffset===0&&n.byteLength===n.buffer.byteLength?n.buffer:new Uint8Array(n).buffer}var $T=1,RP=2,Wn=class{constructor(e,t){this.runtime=e,this.session=t}snapshot(){if(!this.session.hasUnsavedEdits())return{bytes:this.loadedBytes(),source:"loaded"};let e=this.saveStandaloneToBufferEx("incremental");return e.unchangedSinceLoad?{bytes:this.loadedBytes(),source:"loaded"}:{bytes:e.bytes,source:"working-copy"}}loadedBytes(){return new At(this.runtime,this.session).loadedBytes()}copyLoadedBytesToFile(e){let t=new At(this.runtime,this.session),r=Number(this.runtime.fn.EPDFDoc_GetLoadedBytesSize(this.session.requireDocPtr())),n=4*1024*1024;this.runtime.fileWrite.removeFile(e);for(let i=0;i{for(let p=0;p<4;p++)Se(o,s,0,p*8);if(Se(o,A,0),Se(o,d,0),!a.EPDFSig_SealSpan(t,BigInt(r),BigInt(n),BigInt(i),s,A,d))throw new g(f.Unknown,"failed to seal the signing candidate");return{byteRange:[He(o,s,0),He(o,s,8),He(o,s,16),He(o,s,24)],contentsOffset:He(o,A),contentsHexLength:He(o,d)}})}function xw(e,t,r,n,i,a){let{fn:o,mem:s}=e,A=s.alloc(a.byteLength);try{if(s.writeBytes(A,a),!o.EPDFSig_WriteContents(t,BigInt(r),BigInt(i.contentsOffset-n),BigInt(i.contentsHexLength),A,a.byteLength))throw new g(f.SignatureRefused,"the CMS is not one DER object that fits the reserved /Contents")}finally{s.free(A)}}function t6(e,t,r,n){let{mem:i}=e,a=e.fileAccess.readRange(t,r.holeOffset,r.hexLength+2);if(a.byteLength!==r.hexLength+2||a[0]!==60||a[a.byteLength-1]!==62)throw new g(f.InvalidArg,"the byteRange gap is not a <\\u2026> /Contents hole of the candidate");let o=i.alloc(a.byteLength);try{i.writeBytes(o,a),xw(e,o,a.byteLength,r.holeOffset,{byteRange:[0,0,0,0],contentsOffset:r.holeOffset+1,contentsHexLength:r.hexLength,digest:new Uint8Array},n),e.fileWrite.writeRange(t,r.holeOffset,i.readBytes(o,a.byteLength))}finally{i.free(o)}}var n6=class{constructor(e,t){this.runtime=e,this.baseDocuments=t}save(e,t){let{mem:r,fn:n}=this.runtime;return he(r,[8,8,8],([i,a,o])=>{Se(r,i,0),Se(r,a,0),Se(r,o,0);let s=n.EPDFSig_SaveCandidateToOwnedBuffer(e,t,i,a,o);if(!s)throw new g(f.Unknown,"failed to save the signing candidate");try{let A=He(r,i);return{kind:"memory",bytes:ps(r.readBytes(s,A)),size:A,objectOffset:He(r,a),objectLength:He(r,o)}}finally{n.EPDF_FreeBuffer(s)}})}seal(e,t){if(e.kind!=="memory")throw new g(f.InvalidArg,"not a memory candidate");let{mem:r,fn:n}=this.runtime,i=r.alloc(e.bytes.byteLength);try{return r.writeBytes(i,e.bytes),he(r,[32,8,8,64,8],([a,o,s,A,d])=>{for(let m=0;m<4;m++)Se(r,a,0,m*8);if(Se(r,o,0),Se(r,s,0),Se(r,d,64),!n.EPDFSig_Seal(i,BigInt(e.bytes.byteLength),BigInt(e.objectOffset),BigInt(e.objectLength),ys[t],a,o,s,A,d))throw new g(f.Unknown,"failed to seal the signing candidate");e.bytes=ps(r.readBytes(i,e.bytes.byteLength));let p=Number(r.peek(d,"i32"));return{byteRange:[He(r,a,0),He(r,a,8),He(r,a,16),He(r,a,24)],contentsOffset:He(r,o),contentsHexLength:He(r,s),digest:ps(r.readBytes(A,p))}})}finally{r.free(i)}}writeContents(e,t,r){if(e.kind!=="memory")throw new g(f.InvalidArg,"not a memory candidate");let{mem:n}=this.runtime,i=n.alloc(e.bytes.byteLength);try{n.writeBytes(i,e.bytes),xw(this.runtime,i,e.bytes.byteLength,0,t,r),e.bytes=ps(n.readBytes(i,e.bytes.byteLength))}finally{n.free(i)}}openSealed(e,t){if(e.kind!=="memory")throw new g(f.InvalidArg,"not a memory candidate");let r=this.baseDocuments.acquireMemoryBase({key:`signed:${Wr()}`,bytes:e.bytes,password:t});return _n(this.runtime,r,{kind:"fresh"},t)}discard(){}},r6=class{constructor(e,t,r,n=i6){this.runtime=e,this.baseDocuments=t,this.basePath=r,this.candidatePath=n}save(e,t,r){let{mem:n,fn:i}=this.runtime,a=this.candidatePath(this.basePath,r);this.runtime.fileWrite.removeFile(a);let o=this.runtime.fileWrite.toNodeFile(a);try{return he(n,[8,8,8],([s,A,d])=>{if(Se(n,s,0),Se(n,A,0),Se(n,d,0),!i.EPDFSig_SaveCandidate(e,t,o.ptr,s,A,d))throw new g(f.Unknown,"failed to save the signing candidate");return{kind:"file",path:a,size:He(n,s),objectOffset:He(n,A),objectLength:He(n,d)}})}catch(s){throw o.close(),this.runtime.fileWrite.removeFile(a),s}finally{o.close()}}seal(e,t){if(e.kind!=="file")throw new g(f.InvalidArg,"not a file candidate");let{mem:r,fn:n}=this.runtime,i=this.runtime.fileAccess.readRange(e.path,e.objectOffset,e.objectLength);if(i.byteLength!==e.objectLength)throw new g(f.Unknown,"the signing candidate file is shorter than its object span");let a=r.alloc(i.byteLength),o;try{r.writeBytes(a,i),o=e6(this.runtime,a,i.byteLength,e.objectOffset,e.size),this.runtime.fileWrite.writeRange(e.path,e.objectOffset,r.readBytes(a,i.byteLength))}finally{r.free(a)}let s=this.runtime.fileAccess.fromNodeFile(e.path);try{let A=he(r,[32,64,8],([d,p,m])=>{for(let F=0;F<4;F++)Se(r,d,o.byteRange[F],F*8);if(Se(r,m,64),!n.EPDFSig_DigestFileRange(s.ptr,d,ys[t],p,m))throw new g(f.Unknown,"failed to digest the signing candidate file");return ps(r.readBytes(p,Number(r.peek(m,"i32"))))});return{...o,digest:A}}finally{s.close()}}writeContents(e,t,r){if(e.kind!=="file")throw new g(f.InvalidArg,"not a file candidate");let{mem:n}=this.runtime,i=this.runtime.fileAccess.readRange(e.path,e.objectOffset,e.objectLength),a=n.alloc(i.byteLength);try{n.writeBytes(a,i),xw(this.runtime,a,i.byteLength,e.objectOffset,t,r),this.runtime.fileWrite.writeRange(e.path,e.objectOffset,n.readBytes(a,i.byteLength))}finally{n.free(a)}}openSealed(e,t){if(e.kind!=="file")throw new g(f.InvalidArg,"not a file candidate");let r=this.baseDocuments.acquireFileBase({key:`signed:${e.path}`,path:e.path,password:t});return _n(this.runtime,r,{kind:"fresh"},t)}discard(e){e.kind==="file"&&this.runtime.fileWrite.removeFile(e.path)}};function i6(e,t){return`${e}.signing-${t}.pdf`}function sm(e,t,r,n){return`${e}.${t}-${r}.${n}`}function iB(e,t,r,n){let i=A=>new g(f.SignatureRefused,`the sealed bytes ${A}`),a=ki(e,r),o=a.find(A=>A.field.kind==="objectNumber"&&A.field.objectNumber===n.fieldObjectNumber);if(!o)throw i("lost the signature field");if(!o.signed||o.coverage!=="whole-revision"||!o.byteRange)throw i("do not carry a whole-revision signature on the field");if(!a6(o.byteRange,n.byteRange))throw i(`carry /ByteRange [${o.byteRange.join(" ")}] where [${n.byteRange.join(" ")}] was sealed`);if(!e.fn.EPDFSig_IsRevisionChainValid(r))throw i("have a broken cross-reference chain");let s=zc(e,t,a);if(o.revisionIndex!==s.length-1)throw i("seal an earlier revision than the candidate");if(!kd(kD(e,r,o.index),n.cms))throw i("carry /Contents that are not the CMS installed");return o}function a6(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}function TP(e,t,r){let n=Ee(e,t),i=e.fn.EPDFForm_GetFieldIndexByObjNum(n,r);return i<0?null:Qm(e,n,i)}function o6(e,t,r){let{fn:n,mem:i}=e,a=Ee(e,t),o=[],s=n.EPDFForm_CountFields(a);for(let A=0;An.EPDFForm_GetFieldName(a,A,p,m));d&&o.push(d)}return o}var MP={"adbe.pkcs7.detached":0,"ETSI.CAdES.detached":1,"ETSI.RFC3161":2},s6={all:1,include:2,exclude:3},A6=8192,LP=256,NP=4*1024*1024,c6={bytes:52,ptrBytes:4,subfilter:0,digest:4,contentsSize:8,name:12,reason:16,location:20,contactInfo:24,signingTime:28,docmdpPermission:32,fieldmdpAction:36,fieldmdpFields:40,fieldmdpFieldCount:44,lockPermission:48},d6={bytes:80,ptrBytes:8,subfilter:0,digest:4,contentsSize:8,name:16,reason:24,location:32,contactInfo:40,signingTime:48,docmdpPermission:56,fieldmdpAction:60,fieldmdpFields:64,fieldmdpFieldCount:72,lockPermission:76},xl=class{constructor(e,t,r,n){this.runtime=e,this.session=t,this.baseDocuments=r,this.candidatePath=n}prepare(e,t){if(this.session.pendingSigning)throw new g(f.SigningPending,`a signing is pending (${this.session.pendingSigning.prepared.signingId}); complete or cancel it first`);let r=new At(this.runtime,this.session),n=r.resolveField(e.field),i=TP(this.runtime,this.session,n.fieldObjectNumber);Nn(t,i,"sign");let a=e.lock??(i!==null?{action:"include",fields:o6(this.runtime,this.session,i)}:void 0);if(n.signed)throw new g(f.SignatureRefused,"the signature field is already signed");if(e.appearance&&!n.widget)throw new g(f.SignatureRefused,"the signature field has no widget to carry an appearance");let o=e.digest??"sha256";if(!(o in ys)||o==="sha1")throw new g(f.SignatureRefused,`unsupported digest \'${o}\'`);let s=(e.kind??"signature")==="timestamp"?"ETSI.RFC3161":e.subFilter??"ETSI.CAdES.detached";if(!(s in MP))throw new g(f.SignatureRefused,`unsupported subFilter \'${s}\'`);let A=e.contentsSizeBytes??A6;if(!Number.isInteger(A)||ANP)throw new g(f.SignatureRefused,`contentsSize must be an integer in [${LP}, ${NP}]`);let d=this.session.versionRef(r.version().sha256),p=Wr(),m=new rn;try{let F=this.openCandidate(p,m);m.push(()=>F.close());let h=e.signer,P=this.callPrepare(F.docPtr,n.fieldObjectNumber,{subfilter:MP[s],digest:ys[o],contentsSize:A,name:h?.name??null,reason:h?.reason??null,location:h?.location??null,contactInfo:h?.contactInfo??null,signingTime:h?.signedAt!==void 0?gt(h.signedAt):null,docmdpPermission:e.certify?.permission??0,fieldmdpAction:a?s6[a.action]:0,fieldmdpFields:a?.action==="all"?[]:a?.fields??[],lockPermission:a?.permission??0});if(P===0)throw new g(f.SignatureRefused,"the engine refused to author the signature (the field is signed, read-only or locked, a certification is not allowed here, the seed value requires what is not implemented, or the request is inconsistent)");e.appearance&&n.widget&&DD(this.runtime,F.docPtr,n.widget,e.appearance.pdf,{recordFit:!1});let B=this.storeFor(),y=B.save(F.docPtr,P,p),x;try{x=B.seal(y,o)}catch(S){throw B.discard(y),S}let I={signingId:p,digest:x.digest,algorithm:o,byteRange:x.byteRange,contentsSizeBytes:A,subFilter:s,expectedVersion:d,expiresAt:null};return this.session.pendingSigning={prepared:I,fieldObjectNumber:n.fieldObjectNumber,saved:y,contentsOffset:x.contentsOffset,contentsHexLength:x.contentsHexLength},I}finally{m.close()}}complete(e,t,r){let n=this.session.pendingSigning;if(!n||n.prepared.signingId!==e.signingId){let m=this.session.lastCompletion;if(m&&m.signingId===e.signingId){if(!kd(m.cms,e.cms))throw new g(f.SignatureRefused,"this signing already completed with a different CMS");return{...m.result,status:"already-completed"}}throw new g(f.NotFound,`no pending signing \'${e.signingId}\'`)}if(Nn(r,TP(this.runtime,this.session,n.fieldObjectNumber),"sign"),!u6(n.prepared.expectedVersion,e.expectedVersion))throw new g(f.SigningVersionMismatch,"expectedVersion is not the version the candidate was prepared on");if(e.cms.byteLength===0||e.cms[0]!==48)throw new g(f.SignatureRefused,"the CMS is not a DER SEQUENCE");if(e.cms.byteLength>n.prepared.contentsSizeBytes)throw new g(f.SignatureRefused,`the CMS (${e.cms.byteLength} bytes) does not fit the reserved ${n.prepared.contentsSizeBytes} bytes`);let i=this.storeFor(),a={byteRange:n.prepared.byteRange,contentsOffset:n.contentsOffset,contentsHexLength:n.contentsHexLength,digest:n.prepared.digest};i.writeContents(n.saved,a,e.cms);let o=i.openSealed(n.saved,this.session.password);this.verifySealed(o,{fieldObjectNumber:n.fieldObjectNumber,byteRange:n.prepared.byteRange,cms:e.cms}),this.session.install(o),Qc(this.runtime,this.session),Mc(this.runtime,this.session);let s=new At(this.runtime,this.session),A=s.readSnapshot(),d=A.signatures.find(m=>m.field.kind==="objectNumber"&&m.field.objectNumber===n.fieldObjectNumber);if(!d)throw new g(f.Unknown,"the installed document lost the signature field");let p={status:"completed",signature:d,version:s.version(),previous:n.prepared.expectedVersion,protection:A.protection,meta:{affectedPages:this.session.allRecords().map(m=>ue(m.pageObjectNumber)),cacheDelta:null,opId:t,undoable:!1}};return this.session.lastCompletion={signingId:e.signingId,cms:e.cms.slice(),result:p},p}cancel(e){let t=this.session.pendingSigning;return t&&t.prepared.signingId===e?(this.session.pendingSigning=null,this.storeFor().discard(t.saved),{status:"cancelled"}):this.session.lastCompletion?.signingId===e?{status:"already-completed"}:{status:"unknown"}}callPrepare(e,t,r){let{mem:n,fn:i}=this.runtime,a=this.runtime.kind==="wasm"?c6:d6,o=[],s=d=>{if(d===null)return W;let p=n.writeU16String(d);return o.push(p),p},A=d=>{if(d===null)return W;let p=n.writeU8String(d);return o.push(p),p};try{return Ia(this.runtime,r.fieldmdpFields,(d,p)=>Y(n,a.bytes,m=>{for(let h=0;h{a.ptrBytes===4?n.poke(m,"i32",Number(P),h):n.poke(m,"i64",P,h)};return n.poke(m,"i32",r.subfilter,a.subfilter),n.poke(m,"i32",r.digest,a.digest),n.poke(m,"i32",r.contentsSize,a.contentsSize),F(a.name,s(r.name)),F(a.reason,s(r.reason)),F(a.location,s(r.location)),F(a.contactInfo,s(r.contactInfo)),F(a.signingTime,A(r.signingTime)),n.poke(m,"i32",r.docmdpPermission,a.docmdpPermission),n.poke(m,"i32",r.fieldmdpAction,a.fieldmdpAction),F(a.fieldmdpFields,p>0?d:W),n.poke(m,"i32",p,a.fieldmdpFieldCount),n.poke(m,"i32",r.lockPermission,a.lockPermission),i.EPDFSig_Prepare(e,t,m)}))}finally{for(let d=o.length-1;d>=0;d--)n.free(o[d])}}storeFor(){let e=this.session.source.base;return e?.kind==="file"?new r6(this.runtime,this.baseDocuments,e.path,this.candidatePath):new n6(this.runtime,this.baseDocuments)}verifySealed(e,t){let{fn:r}=this.runtime;try{let n=r.EPDFSig_LoadModel(e.docPtr);if(!n)throw new g(f.Unknown,"the sealed bytes have no signature model");try{iB(this.runtime,e.docPtr,n,t)}finally{r.EPDFSig_CloseModel(n)}this.session.kind!=="layer"&&(this.session.persistLayerArtifact=!1)}catch(n){throw e.close(),n}}openCandidate(e,t){let r=this.session.password,n=this.session.source,i=new Wn(this.runtime,this.session),a=i.canWriteScratchFiles()&&n.base?.kind==="file"?n.base.path:null;if(this.session.kind==="layer"&&n.base&&!this.loadedDeltaHoldsSignedBytes()){let A=this.baseDocuments.retainByKey(n.base.key);if(A){let d=n.layer??{kind:"fresh"};if(this.session.hasUnsavedEdits())if(a){let p=sm(a,"signing",e,"layer");t.push(()=>this.runtime.fileWrite.removeFile(p)),i.saveLayerArtifactToFileEx(p).changedSinceLoad&&(d={kind:"artifact-file",path:p})}else{let p=i.saveLayerArtifactEx();p.changedSinceLoad&&(d={kind:"artifact",bytes:p.bytes})}return _n(this.runtime,A,d,r)}}if(a){let A=sm(a,"signing",e,"base.pdf");t.push(()=>this.runtime.fileWrite.removeFile(A)),i.snapshotToFile(A);let d=this.baseDocuments.acquireFileBase({key:`candidate:${e}`,path:A,password:r});return _n(this.runtime,d,{kind:"fresh"},r)}let o=i.snapshot().bytes,s=this.baseDocuments.acquireMemoryBase({key:`candidate:${e}`,bytes:new Uint8Array(o),password:r});return _n(this.runtime,s,{kind:"fresh"},r)}loadedDeltaHoldsSignedBytes(){let e=this.session.source.layer;if(!e||e.kind==="fresh")return!1;let t=Number(this.runtime.fn.EPDFDoc_GetBaseBytesSize(this.session.requireDocPtr()));return new At(this.runtime,this.session).readSnapshot().signatures.some(r=>r.signed&&r.byteRange!==null&&r.byteRange[2]+r.byteRange[3]>t)}};function u6(e,t){return e.baseSha256===t.baseSha256&&e.editsVersion===t.editsVersion}var p6={0:"added",1:"modified",2:"freed"},l6={0:"dictionary",1:"stream",2:"array",3:"scalar",4:"xref",5:"objstm",6:"trailer"},yc=0,Gc=1,jP={0:"ok",1:"failed",2:"absent"};function KP(e,t){let r=new Set([0,e.root,e.pagesRoot,...e.pages,...t]);e.acroForm&&r.add(e.acroForm);for(let n of e.fields){r.add(n.objectNumber);for(let i of n.widgets)r.add(i)}return r}var VP=class{constructor(e,t){this.runtime=e,this.session=t}readWorkingCopySnapshot(){let e=new rn;try{let t=this.openWorkingCopy(e);if(t.source==="loaded")return new At(this.runtime,this.session).readSnapshot();let r=t.target;return Zc(this.runtime,r,n=>{let i=this.runtime.fn.EPDFSig_IsRevisionChainValid(n),a=ki(this.runtime,n);return{chainValid:i,revisions:i?zc(this.runtime,r,a):[],signatures:a,protection:zt(a)}})}finally{e.close()}}analyze(e){let t=new At(this.runtime,this.session),r=t.readSnapshot(),n=t.version(),i=e.exploratoryLevel?"exploratory":"authoritative",a=e.detail??"summary",o="persisted",s=this.session.editsSeq(),A,d=null;if("signatureIndex"in e.since){let m=r.signatures[e.since.signatureIndex];if(!m)throw new g(f.NotFound,`no signature ${e.since.signatureIndex}`);if(!m.signed||m.revisionIndex===null)throw new g(f.InvalidArg,`signature ${e.since.signatureIndex} seals no whole revision; nothing to analyze from`);A=m.revisionIndex,d=m.index}else A=e.since.revisionIndex;if(!r.chainValid){let m={verdict:"indeterminate",complete:!1,findings:[{rule:"revision-chain",verdict:"incomplete",objectNumber:0,detail:"the cross-reference chain is broken or was rebuilt: no revision can be told from another"}],method:"net-state"};return{mode:i,policyVersion:ZA,basis:{version:n,editsVersion:s,source:"persisted"},since:{revisionIndex:A,signatureIndex:d},until:{revisionIndex:A},restrictions:[],current:{...m,primary:m.findings[0]},later:{revisionCount:0,undoneObjectNumbers:[]},verdict:"indeterminate",steps:[]}}if(!Number.isInteger(A)||A<0||A>=r.revisions.length)throw new g(f.InvalidArg,`no revision ${A}`);let p=new rn;try{let m=this.session.requireDocPtr(),F=r.revisions,h=e.until==="working-copy"?this.openWorkingCopy(p):null;if(h&&h.source==="working-copy"){o="working-copy",m=h.target;let se=Zc(this.runtime,m,ut=>ki(this.runtime,ut));if(F=zc(this.runtime,m,se),F.length===0)throw new g(f.MalformedPdf,"the working copy has no valid revision chain")}let P=F.length-1;if(typeof e.until=="object"&&(P=e.until.revisionIndex,!Number.isInteger(P)||P=F.length))throw new g(f.InvalidArg,`no revision ${P} at or after ${A}`);let B=new rn,y,x,I=[],S;try{let se=this.openPrefix(m,F,A,B),ut=P===F.length-1?m:this.openPrefix(m,F,P,B);y=_l(this.runtime,se),x=P===A?y:_l(this.runtime,ut),P>A&&({changes:I,health:S}=this.compare(se,ut,y,x))}finally{B.close()}let G=d===null?null:y.signatures[d]??null,Q=Bp(y,G),K=e.exploratoryLevel,ve=ac({older:A,newer:P,changes:I,before:y,after:x,health:S,restrictions:{level:Q.level,locks:Q.locks},levelOverride:K}),ge=Q.anchors.some(se=>se.source==="docmdp"&&se.own),R=P-A,q;R<=1?q=R===1?[ve]:[]:ge||a==="full"?q=this.walkSteps(m,F,A,P,y,{level:Q.level,locks:Q.locks,levelOverride:K}):q=[];let oe=ge?{...Pp(ve,q),method:"net-state+replay"}:{...vp(ve),method:"net-state"};return{mode:i,policyVersion:ZA,basis:{version:n,editsVersion:s,source:o},since:{revisionIndex:A,signatureIndex:d},until:{revisionIndex:P},restrictions:Q.anchors,current:oe,later:{revisionCount:R,undoneObjectNumbers:I.filter(oc).map(se=>se.objectNumber)},verdict:oe.verdict,steps:q}}finally{p.close()}}openPrefix(e,t,r,n){let i=this.runtime.fn.EPDFDoc_OpenRevision(e,BigInt(t[r].end));if(i===W)throw new g(f.MalformedPdf,`revision ${r} does not open as a document`);return n.push(()=>this.runtime.fn.FPDF_CloseDocument(i)),i}walkSteps(e,t,r,n,i,a){let{fn:o}=this.runtime,s=[],A=this.openPrefix(e,t,r,new rn),d=i;try{for(let p=r+1;p<=n;p++){let m=p===t.length-1?e:this.openPrefix(e,t,p,new rn);try{let F=_l(this.runtime,m),{changes:h,health:P}=this.compare(A,m,d,F);s.push(ac({older:p-1,newer:p,changes:h,before:d,after:F,health:P,restrictions:{level:a.level,locks:a.locks},levelOverride:a.levelOverride})),d=F}finally{o.FPDF_CloseDocument(A),A=m}}}finally{A!==e&&o.FPDF_CloseDocument(A)}return s}openWorkingCopy(e){let{fn:t,mem:r}=this.runtime,n=this.session.requireDocPtr();if(!this.session.hasUnsavedEdits())return{target:n,source:"loaded"};let i=new Wn(this.runtime,this.session);if(this.session.kind==="layer"){let s=this.session.source.base;if(i.canWriteScratchFiles()&&s?.kind==="file"){let m=sm(s.path,"working-copy",Wr(),"delta");if(e.push(()=>this.runtime.fileWrite.removeFile(m)),!i.saveLayerDeltaToFileEx(m).changedSinceLoad)return{target:n,source:"loaded"};if(this.runtime.fileAccess.sizeOf(m)===0)return this.freshLayerOverBase(e);let F=eh(r,m,h=>t.EPDFDoc_OpenBaseOverlayFromPath(n,h));if(F===W)throw new g(f.MalformedPdf,"the working copy does not compose with its base");return e.push(()=>t.FPDF_CloseDocument(F)),{target:F,source:"working-copy"}}let A=i.saveLayerDeltaEx();if(!A.changedSinceLoad)return{target:n,source:"loaded"};if(A.size===0)return this.freshLayerOverBase(e);let d=new Uint8Array(A.bytes),p=r.alloc(d.byteLength);try{r.writeBytes(p,d);let m=t.EPDFDoc_OpenBaseOverlay(n,p,d.byteLength);if(m===W)throw new g(f.MalformedPdf,"the working copy does not compose with its base");return e.push(()=>t.FPDF_CloseDocument(m)),{target:m,source:"working-copy"}}finally{r.free(p)}}let a=i.saveStandaloneToBufferEx("incremental");if(a.unchangedSinceLoad)return{target:n,source:"loaded"};let o=th(this.runtime,new Uint8Array(a.bytes),this.session.password);return e.push(()=>o.close()),{target:o.docPtr,source:"working-copy"}}freshLayerOverBase(e){let{fn:t,mem:r}=this.runtime,n=t.EPDFLayer_GetBaseDocument(this.session.requireDocPtr()),i=r.alloc(4);try{r.poke(i,"i32",-1);let a=t.EPDFLayer_OpenLayer(n,W,this.session.password??"",i);if(a===W||Number(r.peek(i,"i32"))!==0)throw new g(f.MalformedPdf,"the working copy could not be opened over its base");return e.push(()=>t.FPDF_CloseDocument(a)),{target:a,source:"working-copy"}}finally{r.free(i)}}compare(e,t,r,n){let{fn:i,mem:a}=this.runtime,o=i.EPDFDoc_CompareRevisions(e,t);if(o===W)throw new g(f.MalformedPdf,"the revisions do not share a byte history");try{let s=i.EPDFObjectDiff_GetCount(o),A=[];return he(a,[4,4,4,4,4,4],([d,p,m,F,h,P])=>{for(let B=0;B>>0,x=Number(a.peek(F,"i32")),I=Number(a.peek(h,"i32")),S=this.readValue(o,B,yc),G=this.readValue(o,B,Gc),Q=S.truncated||G.truncated,K=null,ve=null;try{K=S.text===null||S.truncated?null:ic(S.text),ve=G.text===null||G.truncated?null:ic(G.text)}catch{Q=!0}let ge=p6[Number(a.peek(p,"i32"))]??"modified";A.push({objectNumber:y,change:ge,kind:l6[Number(a.peek(m,"i32"))]??"scalar",present:{old:ge!=="added",new:ge!=="freed"},generation:{old:x<0?null:x,new:I<0?null:I},value:{old:K,new:ve,truncated:Q},raw:{old:S.text,new:G.text},read:{old:jP[i.EPDFObjectDiff_GetReadStatus(o,B,yc)]??"failed",new:jP[i.EPDFObjectDiff_GetReadStatus(o,B,Gc)]??"failed"},streamDataChanged:Number(a.peek(P,"i32"))!==0,usage:{old:[],new:[]}})}}),{changes:this.withAnchoredUsage(o,A,r,n),health:{old:this.readHealth(o,yc),new:this.readHealth(o,Gc)}}}finally{i.EPDFObjectDiff_Close(o)}}readHealth(e,t){let{fn:r,mem:n}=this.runtime;return he(n,[4,4,4],([i,a,o])=>{for(let s of[i,a,o])n.poke(s,"i32",0);if(!r.EPDFObjectDiff_GetRevisionHealth(e,t,i,a,o))throw new g(f.Unknown,"failed to read revision health");return{sparseXref:Number(n.peek(i,"i32"))!==0,bareReferences:Number(n.peek(a,"i32"))>>>0,referrersComplete:Number(n.peek(o,"i32"))!==0}})}withAnchoredUsage(e,t,r,n){let i=new Set(t.map(o=>o.objectNumber)),a={old:new sc(o=>this.readReferrers(e,yc,o),KP(r,i)),new:new sc(o=>this.readReferrers(e,Gc,o),KP(n,i))};return t.map(o=>{let s=o.present.old?a.old.resolve(o.objectNumber):[],A=o.present.new?a.new.resolve(o.objectNumber):[];return{...o,usage:{old:s===na?[]:s,new:A===na?[]:A},...s===na||A===na?{usageIncomplete:!0}:{}}})}readValue(e,t,r){let{fn:n,mem:i}=this.runtime;return Y(i,4,a=>{i.poke(a,"i32",0);let o=n.EPDFObjectDiff_GetValue(e,t,r,W,0,a),s=Number(i.peek(a,"i32"))!==0;return o<=0?{text:null,truncated:s}:Y(i,o,A=>{i.poke(a,"i32",0);let d=n.EPDFObjectDiff_GetValue(e,t,r,A,o,a),p=Number(i.peek(a,"i32"))!==0;if(d<=0)return{text:null,truncated:p};let m=i.readBytes(A,d-1),F="";for(let h of m)F+=String.fromCharCode(h);return{text:F,truncated:p}})})}readReferrers(e,t,r){let{fn:n,mem:i}=this.runtime,a=n.EPDFObjectDiff_GetReferrerCount(e,t,r),o=[];return a<=0||Y(i,4,s=>{for(let A=0;A{let F=n.EPDFObjectDiff_GetReferrer(e,t,r,A,s,m,d);if(F<=0)return"";let h=i.readBytes(m,F-1),P="";for(let B of h)P+=String.fromCharCode(B);return P});o.push({parent:Number(i.peek(s,"i32"))>>>0,label:p})}}),o}},m6=class{constructor(e,t){this.runtime=e,this.baseDocuments=t}finalize(e){let[t,r,n,i]=e.byteRange,a=this.runtime.fileAccess.sizeOf(e.path),o=p=>Number.isSafeInteger(p)&&p>=0;if(!e.byteRange.every(o)||t!==0||r>=n||n+i!==a)throw new g(f.InvalidArg,`byteRange [${e.byteRange.join(" ")}] does not span a ${a}-byte candidate`);let s=n-r-2;if(!Number.isSafeInteger(e.contentsSizeBytes)||s!==2*e.contentsSizeBytes)throw new g(f.InvalidArg,`the /Contents hole holds ${s} hex digits, not the ${2*e.contentsSizeBytes} of contentsSize`);if(e.cms.byteLength===0||e.cms[0]!==48)throw new g(f.SignatureRefused,"the CMS is not a DER SEQUENCE");if(e.cms.byteLength>e.contentsSizeBytes)throw new g(f.SignatureRefused,`the CMS (${e.cms.byteLength} bytes) does not fit the reserved ${e.contentsSizeBytes} bytes`);t6(this.runtime,e.path,{holeOffset:r,hexLength:s},e.cms);let A=new Ql(this.runtime),d=this.baseDocuments.acquireFileBase({key:`finalize:${Wr()}`,path:e.path,password:e.password});try{A.openFromHandle(_n(this.runtime,d,{kind:"fresh"},e.password));let p=_a(this.runtime,A);iB(this.runtime,A.requireDocPtr(),p,{fieldObjectNumber:e.fieldObjectNumber,byteRange:e.byteRange,cms:e.cms});let m=new At(this.runtime,A),F=m.readSnapshot();return{signature:F.signatures.find(h=>h.field.kind==="objectNumber"&&h.field.objectNumber===e.fieldObjectNumber),protection:F.protection,version:m.version(),lastObjectNumber:A.lastObjectNumber()}}finally{A.close()}}},w6=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}export(e,t,r){O(r);let{fields:n,widgets:i,calculationOrder:a}=$u(yo(new Pw(this.runtime,this.session,this.fonts).snapshot(r),qn(this.runtime,this.session)),e,this.session.allRecords().map(A=>ue(A.pageObjectNumber)));Ie("form",t,"items",n.length+i.length);let o={pages:sD(this.runtime,this.session,i),fields:n.map(A=>({data:A})),widgets:i.map(A=>({data:A,resources:{}})),calculationOrder:a};Ie("form",t,"pages",o.pages.length);let s=jr(o);return Ie("form",t,"manifestBytes",s),Ie("form",t,"bundleBytes",s),{format:"embedpdf/form",version:1,...o,resources:{}}}},b6=512,YP=new WeakMap;async function f6(e,t,r,n,i){let a=t.cacheSeq(),o=YP.get(t);o||(o=new Map,YP.set(t,o));let s=o.get(r);if(s&&s.seq===a)return s;let A=await new gh(e,t).read(r,n,i),d={seq:a,folded:sr(A.text),snapshot:A};if(o.delete(r),o.set(r,d),o.size>b6){let p=o.keys().next().value;p!==void 0&&o.delete(p)}return d}function g6(e,t){return JSON.stringify([e.regex?"r":"l",e.text,e.matchCase?1:0,e.matchDiacritics?1:0,e.wholeWord?1:0,e.ignoreWhitespace?1:0,t?"snippets":"matches"])}function F6(e){return JSON.stringify(e)}function v6(e,t,r,n){let i;try{i=JSON.parse(t)}catch{throw new g(f.InvalidArg,"malformed search cursor")}if(i?.v!==1||typeof i.scanned!="number"||typeof i.key!="string")throw new g(f.InvalidArg,"malformed search cursor");if(i.key!==n)throw new g(f.InvalidArg,"search cursor belongs to a different query \\u2014 restart the search");if(i.seq!==r)throw new g(f.InvalidArg,"document changed since this search cursor was issued \\u2014 restart the search",{details:{cursorSeq:i.seq,currentSeq:r}});if(e.from!==void 0&&e.from.objectNumber!==i.start)throw new g(f.InvalidArg,"`from` conflicts with the cursor \\u2014 omit it when resuming");return i}var P6=64,h6=256,k6=256,D6=1024,B6=class{constructor(e,t){this.runtime=e,this.session=t}async query(e,t,r){O(t);let n=Ep(e),i=e.snippets??!1,a=HA(n);if(!a.ok)throw new g(f.InvalidArg,`invalid search query (${a.issue}): ${a.message}`);let o=this.session.allRecords(),s=o.length;if(!n.regex&&sr(n.text).folded.trim().length===0)return{matches:[],nextCursor:null,pagesSearched:0,pageCount:s};let A=this.session.cacheSeq(),d=g6(n,i),p=0,m=0;if(e.cursor!==void 0){let I=v6(e,e.cursor,A,d);p=I.start,m=I.scanned}else e.from!==void 0&&(p=this.session.resolvePageRef(e.from).pageObjectNumber),e.skip!==void 0&&(m=Math.min(Math.max(0,Math.floor(e.skip)),s));let F=o;if(p!==0){let I=o.findIndex(S=>S.pageObjectNumber===p);F=o.slice(I).concat(o.slice(0,I))}let h=XP(e.limit?.pages,P6,h6),P=XP(e.limit?.matches,k6,D6),B=[],y=0,x=new pm(r,t);for(;m0){let K=Hu(await new vh(this.runtime,this.session).read(I,t,r));for(let ve of Q){let ge=gu(S.snapshot,ve);B.push({page:ue(I),start:ge.start,count:ge.count,segments:K.segments(ge),...i?{snippet:_p(G,ve)}:{}})}}m++,y++}return{matches:B,nextCursor:mt.FPDFJavaScriptAction_GetName(F,B,y))??""}finally{t.FPDFDoc_CloseJavaScriptAction(F)}i.reservePayloadBytes(h.length);let P=y6(vr(t,r,n,t.EPDFDoc_GetNamedJavaScriptActionModel(n,m),i),"name-tree script",m);o.push({name:h,action:P})}let s=vr(t,r,n,t.EPDFDoc_GetOpenActionModel(n),i),A=s?W:t.EPDFDoc_GetOpenActionDest(n),d=A!==W?ed(t,r,n,A):null,p={};for(let[m,F]of E6){O(e);let h=vr(t,r,n,t.EPDFDoc_GetAdditionalActionModel(n,F),i);h&&(p[m]=h)}return{nameTreeScripts:o,openAction:s,openDestination:d,...p}}};function y6(e,t,r){if(e)return e;throw new g(f.MalformedPdf,`failed to read ${t}`,{details:{index:r}})}function G6(e,t){let r=a=>Mn(a,t),n=a=>or(a,t(a.page),t),i=a=>a.map(o=>Ur(o,t));switch(e.tag){case"pages.list":return{...e,snapshot:Bo(e.snapshot)};case"pages.setName":case"pages.removeName":case"measure.setScale":return{...e,result:{...e.result,layout:Bo(e.result.layout)}};case"pages.geometry":return{...e,snapshot:Ou(e.snapshot,t(e.page))};case"pages.render":return{...e,area:$e(e.area,t(e.page))};case"search.query":return{...e,slice:Qu(e.slice,t)};case"annotations.renderAppearances":{let a=nc(e.result.appearances,t(e.page));return{...e,result:{...e.result,appearances:a}}}case"annotations.renderAppearancesEncoded":{let a=nc(e.result.appearances,t(e.page));return{...e,result:{...e.result,appearances:a}}}case"actions.read":return{...e,snapshot:Iu(e.snapshot,r)};case"outline.read":return{...e,outline:wp(e.outline,t)};case"annotations.list":return{...e,list:{...e.list,annotations:e.list.annotations.map(n)}};case"annotations.create":return{...e,result:{...e.result,annotation:n(e.result.annotation)}};case"annotations.update":return{...e,result:{...e.result,annotation:n(e.result.annotation)}};case"document.apply":case"document.applyChanges":return e;case"annotations.import":return{...e,result:{...e.result,annotations:e.result.annotations.map(n)}};case"measure.viewports":return{...e,viewports:so(e.viewports,t(e.page))};case"forms.list":return{...e,snapshot:yo(e.snapshot,t)};case"forms.import":return{...e,result:{...e.result,fields:e.result.fields.map(a=>Ot(a,t)),widgets:i(e.result.widgets)}};case"forms.importValues":return{...e,result:{...e.result,fields:e.result.fields.map(a=>Ot(a,t)),widgets:i(e.result.widgets)}};case"forms.setValue":case"forms.createField":case"forms.updateField":case"forms.setSignatureAppearance":case"forms.addWidget":case"forms.detachWidget":return{...e,result:{...e.result,field:Ot(e.result.field,t),widgets:i(e.result.widgets)}};case"forms.reset":return{...e,result:{...e.result,fields:e.result.fields.map(a=>Ot(a,t)),widgets:i(e.result.widgets)}};case"forms.updateWidget":return{...e,result:{...e.result,widget:Ur(e.result.widget,t)}};case"forms.deleteWidget":return{...e,result:{...e.result,field:e.result.field&&Ot(e.result.field,t)}};default:return e}}function C6(e,t){switch(e.kind){case"annotations.create":return{...e,draft:Vi(e.draft,t(e.page),t)};case"annotations.update":return{...e,patch:Kr(e.patch,t(e.ref.page),t)};case"forms.updateWidget":return{...e,patch:Lc(e.patch,t(e.widget.page),t)};case"forms.createField":return{...e,draft:_o(e.draft,t)};case"document.apply":case"document.applyChanges":return e;case"forms.addWidget":return{...e,placement:Eo(e.placement,t)};case"measure.setScale":return e.measure?{...e,measure:oo(e.measure,t(e.page))}:e;case"pages.render":return WP(e,t);case"pages.renderEncoded":return WP(e,t);default:return e}}function WP(e,t){let{options:r,...n}=e;return r?{...n,options:aB(r,()=>t(e.page))}:n}function aB(e,t){let{target:r,...n}=e;return r?{...n,target:r.kind==="rect"?mp(r,t()):r}:n}function I6(e,t){switch(e.type){case"annotations.import":case"forms.import":case"forms.importValues":return e;case"annotations.copy":case"forms.copy":return e;case"annotations.create":return{...e,data:Vi(e.data,t(e.page),t)};case"annotations.update":{let r=t(e.ref.page),{expect:n,...i}=e;return{...i,patch:Kr(e.patch,r,t),...n?{expect:Kr(n,r,t)}:{}}}case"annotations.delete":{let{expect:r,...n}=e;return r?{...n,expect:Kr(r,t(e.ref.page),t)}:n}case"forms.create":return{...e,draft:_o(e.draft,t)};case"forms.addWidget":return{...e,placement:Eo(e.placement,t)};case"forms.updateWidget":{let r=t(e.widget.page),{expect:n,...i}=e;return{...i,patch:Lc(e.patch,r,t),...n?{expect:Lc(n,r,t)}:{}}}case"forms.deleteWidget":{let{expect:r,...n}=e;return r?{...n,expect:Lc(r,t(e.widget.page),t)}:n}case"pages.setScale":return e;case"outline.create":return{...e,data:bp(e.data,t)};case"outline.update":{let{expect:r,...n}=e;return{...n,patch:Co(e.patch,t),...r?{expect:Co(r,t)}:{}}}case"outline.delete":{let{expect:r,...n}=e;return r?{...n,expect:Co(r,t)}:n}default:return e}}function S6(e,t){if(Vr(e))return e;let r=i=>or(i,t(i.page),t),n=i=>i.map(a=>Ur(a,t));switch(e.type){case"annotations.create":case"annotations.update":return{...e,annotation:r(e.annotation)};case"annotations.restore":return{...e,annotations:e.annotations.map(r)};case"annotations.import":case"annotations.copy":return{...e,annotations:e.annotations.map(r)};case"forms.setValue":case"forms.setDisplay":case"forms.setAppearanceText":case"forms.setSignatureAppearance":case"forms.create":case"forms.update":case"forms.restore":case"forms.addWidget":case"forms.removeWidget":return{...e,field:Ot(e.field,t),widgets:n(e.widgets)};case"forms.reset":case"forms.import":case"forms.importValues":case"forms.copy":return{...e,fields:e.fields.map(i=>Ot(i,t)),widgets:n(e.widgets)};case"forms.updateWidget":return{...e,widget:Ur(e.widget,t)};case"forms.deleteWidget":return{...e,field:e.field&&Ot(e.field,t)};case"forms.restoreWidget":return{...e,field:e.field&&Ot(e.field,t),widgets:n(e.widgets)};case"outline.create":case"outline.update":return{...e,item:Go(e.item,t)};case"outline.restore":return{...e,items:e.items.map(i=>Go(i,t))};case"pages.rotate":case"pages.setScale":case"pages.reorder":case"pages.delete":case"pages.insertBlank":case"pages.insert":case"pages.copy":case"pages.restore":return{...e,layout:Bo(e.layout)};default:return e}}function Lc(e,t,r){return Kr({...e,subtype:"widget"},t,r)}var x6=128*1024*1024,H6=class{constructor(e,t=x6){this.runtime=e,this.budgetBytes=t,V(this,"enabled",void 0),V(this,"on",!1),this.enabled=t>0&&typeof e.fn.EPDF_SetDecodedImageBudget=="function"}beginJob(e){!this.enabled||e===this.on||(this.runtime.fn.EPDF_SetDecodedImageBudget(e?this.budgetBytes:0),this.on=e)}},O6=class{constructor(e,t){this.runtime=e,this.session=t}viewports(e,t){O(t);let r=this.session.recordByObjectNumber(e).pageIndex;return um(this.runtime.fn,this.runtime.mem,this.session.requireDocPtr(),r)}},Q6=1,R6=2,T6=3,M6=4,L6=5,Cc=class{constructor(e,t,r){this.runtime=e,this.session=t,this.pageObjectNumber=r,r!==void 0&&t.recordByObjectNumber(r)}read(e,t){O(t),Hl(e);let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=this.pageObjectNumber;if(!(a===void 0?r.EPDFDoc_HasPieceInfoEntry(i,e):r.EPDFDoc_HasPagePieceInfoEntry(i,a,e)))return null;let o=a===void 0?r.EPDFDoc_GetPieceInfoKeyCount(i,e):r.EPDFDoc_GetPagePieceInfoKeyCount(i,a,e),s={};for(let d=0;da===void 0?r.EPDFDoc_GetPieceInfoKeyAt(i,e,d,m,F):r.EPDFDoc_GetPagePieceInfoKeyAt(i,a,e,d,m,F));p!==null&&(s[p]=this.readEntry(e,p))}let A=fe(n,(d,p)=>a===void 0?r.EPDFDoc_GetPieceInfoLastModified(i,e,d,p):r.EPDFDoc_GetPagePieceInfoLastModified(i,a,e,d,p),null);return{entries:s,modifiedAt:A?zn(A):null}}update(e,t,r){O(r),Hl(e),N6(t);let n=Object.keys(t);if(n.length===0)return;j6(t,n),O(r);let{mem:i}=this.runtime,a=gt(new Date),o=i.writeU16String(a);try{for(let s of n){let A=t[s];if(!this.writeEntry(e,s,A,o))throw new g(f.Unknown,`pieceInfo write rejected for key \'${s}\' after validation`)}}finally{i.free(o)}}applications(e){O(e);let{fn:t,mem:r}=this.runtime,n=this.session.requireDocPtr(),i=this.pageObjectNumber,a=i===void 0?t.EPDFDoc_GetPieceInfoEntryCount(n):t.EPDFDoc_GetPagePieceInfoEntryCount(n,i),o=[];for(let s=0;si===void 0?t.EPDFDoc_GetPieceInfoEntryAt(n,s,d,p):t.EPDFDoc_GetPagePieceInfoEntryAt(n,i,s,d,p));A!==null&&o.push(A)}return o}delete(e,t){O(t),Hl(e);let{fn:r}=this.runtime,n=this.session.requireDocPtr(),i=this.pageObjectNumber;if(!(i===void 0?r.EPDFDoc_ClearPieceInfoEntry(n,e):r.EPDFDoc_ClearPagePieceInfoEntry(n,i,e)))throw new g(f.Unknown,`pieceInfo delete rejected for application \'${e}\'`)}readEntry(e,t){let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=this.pageObjectNumber;switch(a===void 0?r.EPDFDoc_GetPieceInfoValueType(i,e,t):r.EPDFDoc_GetPagePieceInfoValueType(i,a,e,t)){case T6:{let o=fe(n,(s,A)=>a===void 0?r.EPDFDoc_GetPieceInfoString(i,e,t,s,A):r.EPDFDoc_GetPagePieceInfoString(i,a,e,t,s,A),"");return o===null?{type:"unknown"}:{type:"string",value:o}}case M6:{let o=Ye(n,(s,A)=>a===void 0?r.EPDFDoc_GetPieceInfoName(i,e,t,s,A):r.EPDFDoc_GetPagePieceInfoName(i,a,e,t,s,A));return o===null?{type:"unknown"}:{type:"name",value:o}}case R6:{let o=n.alloc(4);try{return(a===void 0?r.EPDFDoc_GetPieceInfoNumber(i,e,t,o):r.EPDFDoc_GetPagePieceInfoNumber(i,a,e,t,o))?{type:"number",value:Number(n.peek(o,"f32"))}:{type:"unknown"}}finally{n.free(o)}}case Q6:{let o=n.alloc(4);try{return(a===void 0?r.EPDFDoc_GetPieceInfoBoolean(i,e,t,o):r.EPDFDoc_GetPagePieceInfoBoolean(i,a,e,t,o))?{type:"boolean",value:Number(n.peek(o,"i32"))!==0}:{type:"unknown"}}finally{n.free(o)}}case L6:{let o=a===void 0?r.EPDFDoc_GetPieceInfoStringArrayCount(i,e,t):r.EPDFDoc_GetPagePieceInfoStringArrayCount(i,a,e,t);if(o<0)return{type:"unknown"};let s=[];for(let A=0;Aa===void 0?r.EPDFDoc_GetPieceInfoStringArrayAt(i,e,t,A,p,m):r.EPDFDoc_GetPagePieceInfoStringArrayAt(i,a,e,t,A,p,m),"");if(d===null)return{type:"unknown"};s.push(d)}return{type:"string-array",value:s}}default:return{type:"unknown"}}}writeEntry(e,t,r,n){let{fn:i,mem:a}=this.runtime,o=this.session.requireDocPtr(),s=this.pageObjectNumber;if(r===null)return s===void 0?i.EPDFDoc_ClearPieceInfoKey(o,e,t,n):i.EPDFDoc_ClearPagePieceInfoKey(o,s,e,t,n);if(typeof r=="string")return Yt(a,r,A=>s===void 0?i.EPDFDoc_SetPieceInfoString(o,e,t,A,n):i.EPDFDoc_SetPagePieceInfoString(o,s,e,t,A,n));if(typeof r=="number")return s===void 0?i.EPDFDoc_SetPieceInfoNumber(o,e,t,r,n):i.EPDFDoc_SetPagePieceInfoNumber(o,s,e,t,r,n);if(typeof r=="boolean")return s===void 0?i.EPDFDoc_SetPieceInfoBoolean(o,e,t,r,n):i.EPDFDoc_SetPagePieceInfoBoolean(o,s,e,t,r,n);if(Array.isArray(r))return Ia(this.runtime,r,(A,d)=>s===void 0?i.EPDFDoc_SetPieceInfoStringArray(o,e,t,A,d,n):i.EPDFDoc_SetPagePieceInfoStringArray(o,s,e,t,A,d,n));if(typeof r=="object"&&r!==null&&"name"in r)return s===void 0?i.EPDFDoc_SetPieceInfoName(o,e,t,r.name,n):i.EPDFDoc_SetPagePieceInfoName(o,s,e,t,r.name,n);throw new g(f.Unknown,`unvalidated pieceInfo value for \'${t}\'`)}};function Hl(e){if(typeof e!="string"||e.length===0)throw new g(f.InvalidArg,"pieceInfo application must be non-empty")}function N6(e){if(typeof e!="object"||e===null||Array.isArray(e))throw new g(f.InvalidArg,"pieceInfo patch must be an object")}function j6(e,t){for(let r of t){if(r.length===0)throw new g(f.InvalidArg,"pieceInfo keys must be non-empty");K6(r,e[r])}}function K6(e,t){if(!(t===null||typeof t=="string"||typeof t=="boolean")){if(typeof t=="number"){if(!Number.isFinite(t))throw new g(f.InvalidArg,`pieceInfo number for \'${e}\' must be finite`);return}if(Array.isArray(t)){if(!t.every(r=>typeof r=="string"))throw new g(f.InvalidArg,`pieceInfo string array for \'${e}\' must contain only strings`);return}if(typeof t=="object"&&t!==null&&"name"in t){if(typeof t.name!="string"||t.name.length===0)throw new g(f.InvalidArg,`pieceInfo PDF name for \'${e}\' must be a non-empty string`);return}throw new g(f.InvalidArg,`unsupported pieceInfo value for \'${e}\': string | number | boolean | string[] | { name } | null`)}}function V6(){if(typeof setImmediate=="function")return()=>new Promise(e=>setImmediate(e));if(typeof MessageChannel=="function"){let e=new MessageChannel,t=[];return e.port1.onmessage=()=>t.shift()?.(),()=>new Promise(r=>{t.push(r),e.port2.postMessage(null)})}return()=>new Promise(e=>setTimeout(e,0))}function UP(e){return e.kind==="pages.render"||e.kind==="pages.renderEncoded"||e.kind==="document.renderPageFile"||e.kind==="document.renderPageFileEncoded"}var oB=class{constructor(e,t,r={}){this.runtime=e,this.post=t,this.options=r,V(this,"sessions",new Map),V(this,"baseDocuments",void 0),V(this,"aborts",new Map),V(this,"fontIds",new Map),V(this,"fonts",void 0),V(this,"residency",void 0),V(this,"decodedImages",void 0),V(this,"slices",void 0),V(this,"busy",!1),V(this,"held",[]),V(this,"destroyed",!1),ZP(this.runtime),this.baseDocuments=new u2(this.runtime),this.fonts=new kO(this.runtime,this.fontIds),this.residency=new nh(this.runtime,{...Ol,budgetBytes:this.options.parsedPageBudgetBytes??Ol.budgetBytes},()=>this.busy),this.decodedImages=new H6(this.runtime,this.options.decodedImageBudgetBytes),this.slices={budgetMs:this.options.sliceMs??8,between:V6()}}registerStartupFonts(e){this.fonts.registerStartup(e)}receive(e){if(e.kind==="abort"){this.abort(e.jobId);return}if(e.kind==="pages.workingSet"){this.setWorkingSet(e);return}if(this.busy||this.held.length>0){this.held.push(e);return}this.run(e)}setWorkingSet(e){let t=this.sessions.get(jt(e.docId,e.layerName));t?.isOpen()&&t.pagePool().setWorkingSet(e.view,e.pages.map(({page:r,role:n,pixels:i})=>({pageObjectNumber:r.objectNumber,role:n,pixels:i})))}abort(e){let t=this.held.findIndex(n=>n.jobId===e);if(t<0){this.aborts.get(e)?.abort();return}this.held.splice(t,1);let r=Qn(new ji("aborted before it ran"));this.post(N({kind:"reject",jobId:e,error:r},Zr))}drain(){for(;!this.busy;){let e=this.takeHeld();if(!e)return;this.run(e)}}takeHeld(){let e=this.held[0];if(!e||!UP(e))return this.held.shift();let t=0,r=e;for(let n=1;n{if(!("docId"in e))throw new g(f.InvalidArg,`${e.kind} has no document`);return t??(t=qn(this.runtime,this.requireSession(e))),t(r)}}handleOpen(e){let t=jt(e.docId,e.kind==="open.fatMem"?void 0:e.layerName);if(this.sessions.has(t))throw new g(f.InvalidArg,`document session already open: ${t}`);let r=new Ql(this.runtime);r.residency=this.residency,r.signedDocumentPolicy=e.signedDocumentPolicy??"protect",r.password=e.password,r.objectNumberAuthority=e.objectNumbers??"session";let n;if(e.kind==="open.fatMem"){let i=new Uint8Array(e.bytes);n=a=>this.openBytesAsLayer(r,i,a)}else if(e.kind==="open.layerMemBase"){let i=new Uint8Array(e.baseBytes);n=a=>{let o=this.baseDocuments.acquireMemoryBase({key:e.baseKey,bytes:i,password:a,knownSha256:e.baseSha256});r.openFromHandle(_n(this.runtime,o,e.layer,a))}}else{if(this.runtime.kind!=="native")throw new g(f.NotImplemented,"\'layerFile\' needs the native Node runtime; open the file\'s bytes instead");n=i=>{let a=this.baseDocuments.acquireFileBase({key:e.baseKey,path:e.basePath,password:i,knownSha256:e.baseSha256});r.openFromHandle(_n(this.runtime,a,e.layer,i))}}try{n(e.password)}catch(i){if(!eM(i))throw i;return r.parkLocked(n),this.sessions.set(t,r),N({tag:"open",docId:e.docId,security:tM(),...e.password?{passwordRejected:!0}:{}})}return this.sessions.set(t,r),N({tag:"open",docId:e.docId,security:new Sl(this.runtime).checkPasswordPermissions(r,e.password??""),protection:this.probeProtection(r),...e.reserveObjectNumbers?{objectNumbers:r.reserveObjectNumbers(e.reserveObjectNumbers)}:{},lastObjectNumber:r.lastObjectNumber()})}openBytesAsLayer(e,t,r){let n=this.baseDocuments.acquireMemoryBase({key:`bytes-open:${Wr()}`,bytes:t,password:r});e.openFromHandle(_n(this.runtime,n,{kind:"fresh"},r)),e.persistLayerArtifact=!1}probeProtection(e){try{return new At(this.runtime,e).readProtection()}catch{return null}}handleSignaturesList(e){let t=this.requireSession(e);return N({tag:"signatures.list",snapshot:e.workingCopy?new VP(this.runtime,t).readWorkingCopySnapshot():new At(this.runtime,t).readSnapshot()})}handleSignaturesContents(e){let t=this.requireSession(e),r=new At(this.runtime,t).readContents(e.ref);return N({tag:"signatures.contents",bytes:r},[r])}handleSignaturesDigest(e){let t=this.requireSession(e),r=new At(this.runtime,t).digest(e.ref,e.algorithm);return N({tag:"signatures.digest",digest:r},[r])}handleSignaturesRevisionBytes(e){let t=this.requireSession(e),r=new At(this.runtime,t).revisionBytes(e.revisionIndex);return N({tag:"signatures.revisionBytes",bytes:r,size:r.byteLength},[r])}handleDocumentVersion(e){let t=this.requireSession(e);return N({tag:"document.version",version:new At(this.runtime,t).version()})}handleSignaturesPrepare(e){let t=this.requireSession(e);return N({tag:"signatures.prepare",result:new xl(this.runtime,t,this.baseDocuments,this.options.signingCandidatePath).prepare(e.input,e.authority)})}handleSignaturesComplete(e){let t=this.requireSession(e),r=new xl(this.runtime,t,this.baseDocuments,this.options.signingCandidatePath).complete(e.input,e.opId,e.authority);return r.status==="already-completed"?N({tag:"signatures.complete",result:r}):this.finishMutation(t,{tag:"signatures.complete",result:r},e.artifactPath)}handleSignaturesAnalyze(e){let t=this.requireSession(e);return N({tag:"signatures.analyze",analysis:new VP(this.runtime,t).analyze(e.input)})}handleSignaturesFinalizeCandidate(e){return N({tag:"signatures.finalizeCandidate",...new m6(this.runtime,this.baseDocuments).finalize({path:e.path,byteRange:e.byteRange,contentsSizeBytes:e.contentsSizeBytes,fieldObjectNumber:e.fieldObjectNumber,cms:new Uint8Array(e.cms),password:e.password??null})})}handleSignaturesCancel(e){let t=this.requireSession(e);return N({tag:"signatures.cancel",result:new xl(this.runtime,t,this.baseDocuments,this.options.signingCandidatePath).cancel(e.signingId)})}assertNoPendingSigning(e){if(!Ic(e))return;let t="layerName"in e?e.layerName:void 0,r=this.sessions.get(jt(e.docId,t));if(r?.pendingSigning)throw new g(f.SigningPending,`a signing is pending (${r.pendingSigning.prepared.signingId}); complete or cancel it before mutating the document`)}handleMetadataRead(e,t){let r=this.requireSession(e);return N({tag:"metadata.read",metadata:new vi(this.runtime,r).read(t)})}handleMetadataUpdate(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"metadata.update",patch:e.patch},en(),t);return this.finishMutation(r,{tag:"metadata.update",result:a},e.artifactPath)}handleMetadataReadCustom(e,t){let r=this.requireSession(e);return N({tag:"metadata.readCustom",custom:new vi(this.runtime,r).readCustom(t)})}handleMetadataUpdateCustom(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"metadata.updateCustom",patch:e.patch},en(),t);return this.finishMutation(r,{tag:"metadata.updateCustom",result:a},e.artifactPath)}handleActionsRead(e,t){let r=this.requireSession(e);return N({tag:"actions.read",snapshot:new _6(this.runtime,r).read(t)})}handleOutlineRead(e,t){let r=this.requireSession(e);return N({tag:"outline.read",outline:new jD(this.runtime,r).read(t)})}handleAnnotationsList(e,t){let r=this.requireSession(e),n=e.pages?.map(i=>r.resolvePageRef(i).pageObjectNumber);return N({tag:"annotations.list",list:new ld(this.runtime,r,this.fonts).list(n,t,"annotations")})}async handleAnnotationsRenderAppearances(e,t){let r=this.requireSession(e),n=r.resolvePageRef(e.page).pageObjectNumber,i=await new CH(this.runtime,r).render(n,e.family,e.options??{},t,this.slices),a=i.appearances.map(o=>o.raster.data);return N({tag:"annotations.renderAppearances",page:e.page,result:i},a)}handleAnnotationsCreate(e,t){let r=this.requireSession(e),{type:n,page:i,...a}=this.applyOne(r,e.opId,{type:"annotations.create",page:e.page,data:e.draft,...e.resources?{resources:e.resources}:{},...e.objectNumber!==void 0?{objectNumber:e.objectNumber}:{}},en(e.actor),t);return this.finishMutation(r,{tag:"annotations.create",result:a},e.artifactPath)}handleAnnotationsUpdate(e,t){let r=this.requireSession(e),{type:n,page:i,skipped:a,...o}=this.applyOne(r,e.opId,{type:"annotations.update",ref:e.ref,patch:e.patch,...e.resources?{resources:e.resources}:{}},{...e.authority,protection:null},t);return this.finishMutation(r,{tag:"annotations.update",result:o},e.artifactPath)}handleAnnotationsDelete(e,t){let r=this.requireSession(e),{type:n,page:i,...a}=this.applyOne(r,e.opId,{type:"annotations.delete",ref:e.ref},{...e.authority,protection:null},t);return this.finishMutation(r,{tag:"annotations.delete",result:a},e.artifactPath)}handleAnnotationsFlatten(e,t){let r=this.requireSession(e),n=r.resolvePageRef(e.page).pageObjectNumber,i=new Bl(this.runtime,r).flatten(n,e.refs,e.usage,t),a=i.meta.affectedPages.length>0;return a?this.finishMutation(r,{tag:"annotations.flatten",result:i,wrote:a},e.artifactPath):N({tag:"annotations.flatten",result:i,wrote:a})}handleAnnotationsExportAppearance(e,t){let r=this.requireSession(e),n=r.resolvePageRef(e.page).pageObjectNumber,i=new Bl(this.runtime,r).exportAppearance(n,e.refs,t);return N({tag:"annotations.exportAppearance",bytes:i.bytes,size:i.size},[i.bytes])}handleAnnotationsExport(e,t){let r=this.requireSession(e),n=new xO(this.runtime,r,this.fonts).export(e.selection,e.limits??qt,t);return N({tag:"annotations.export",bundle:n},Object.values(n.resources))}handleAnnotationsImport(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"annotations.import",bundle:e.bundle,...e.pages!==void 0?{pages:e.pages}:{},attribution:e.attribution,...e.actor?{actor:e.actor}:{},limits:e.limits??qt},en(e.actor),t);return i.annotations.length===0?N({tag:"annotations.import",result:i}):this.finishMutation(r,{tag:"annotations.import",result:i},e.artifactPath)}handleAnnotationsReadAppearance(e,t){let r=this.requireSession(e),n=r.resolvePageRef(e.page).pageObjectNumber,i=new Bl(this.runtime,r).readAppearance(n,e.ref,t);return N({tag:"annotations.readAppearance",bytes:i.bytes,size:i.size},[i.bytes])}handleAnnotationsReorder(e,t){let r=this.requireSession(e),{type:n,page:i,...a}=this.applyOne(r,e.opId,{type:"annotations.reorder",page:e.page,refs:e.refs,position:e.position},{...e.authority,protection:null},t);return this.finishMutation(r,{tag:"annotations.reorder",result:a},e.artifactPath)}handleDocumentApply(e,t){let r=this.requireSession(e);nM(e.change);let n=cc(e.change),i=ds(r).outcome(e.opId);if(i)return N({tag:"document.apply",result:this.replayed(i,n,e.opId),replayed:!0});let a=this.recorded(r,e.opId,n,()=>this.runChange(r,e,t)),o={tag:"document.apply",result:a,replayed:!1};return a.items.some(LA)?this.finishMutation(r,o,e.artifactPath):N(o)}applyOne(e,t,r,n,i){let a={ops:[r]},o=ds(e),s=cc(a),A=o.outcome(t),d;A?d=this.replayed(A,s,t):d=this.recorded(e,t,s,()=>new Cl(this.runtime,e,this.fonts).apply(a.ops,n,i,jT));let p=d.items[0];if(!p||Vr(p))throw new g(f.Unknown,`${r.type} wrote nothing`);return p}replayed(e,t,r){if(e.fingerprint!==t)throw new g(f.IdempotencyKeyReused,`opId ${r} already answered a different change`);if(e.kind==="refused")throw Md(e.error);return e.result}recorded(e,t,r,n){let i=ds(e);try{let a=n(),o=zP(e,a);return i.keepApplied(t,r,o,o.meta.undoable?a.record:null),o}catch(a){throw g.is(a)&&Ac(a.code)&&i.keepRefused(t,r,Qn(a)),a}}handleDocumentApplyChanges(e,t){let r=this.requireSession(e);r.assertUsable(),e.objectNumberFloor!==void 0&&r.raiseLastObjectNumber(e.objectNumberFloor-1);let n=new Cl(this.runtime,r,this.fonts,e.limits),i=this.pageSpaceOf(r),a=new Map,o=[];for(let A of e.changes){r.beginTransaction(A.opId);try{let d=U6(n,A,a,t,i),p=zP(r,d);r.commitTransaction();let m=p.meta.undoable?d.record:null;a.set(A.opId,m),o.push({opId:A.opId,status:"applied",result:p,record:m})}catch(d){if(r.inTransaction()&&r.abortTransaction(),!g.is(d)||!Ac(d.code))throw d;a.set(A.opId,null),o.push({opId:A.opId,status:"refused",error:Qn(d)})}}let s={tag:"document.applyChanges",outcomes:o};return o.some(A=>A.status==="applied"&&A.result.items.some(LA))?this.finishMutation(r,s,e.artifactPath):N(s)}pageSpaceOf(e){return{opInFileSpace:t=>I6(t,qn(this.runtime,e)),itemOut:t=>S6(t,qn(this.runtime,e))}}runChange(e,t,r){let n=new Cl(this.runtime,e,this.fonts),i=this.pageSpaceOf(e),a=t.authority.identity.userId??null;if(!bo(t.change))return n.apply(t.change.ops,t.authority,r,i);let o=ds(e).record(t.change.undoOf);if(!o||"unavailable"in o)throw new g(f.UndoUnavailable,`change ${t.change.undoOf} can no longer be undone`,{details:{reason:o?o.unavailable:"expired"}});if(!o.record)return{items:[],record:{userId:a,steps:[]}};if(o.record.userId!==null&&o.record.userId!==a)throw new je("changes:undo","target");return n.undo(o.record,t.authority,r,i)}handlePagesList(e,t){let r=this.requireSession(e);return N({tag:"pages.list",snapshot:new Vt(this.runtime,r).read(t)})}handlePagesSetName(e,t){let r=this.requireSession(e),n=new Nl(this.runtime,r).setName({name:e.name,page:e.page,...e.replace!==void 0?{replace:e.replace}:{}},t);return this.finishMutation(r,{tag:"pages.setName",result:n},e.artifactPath)}handlePagesRemoveName(e,t){let r=this.requireSession(e),n=new Nl(this.runtime,r).removeName({name:e.name},t);return this.finishMutation(r,{tag:"pages.removeName",result:n},e.artifactPath)}handlePagesFlatten(e,t){let r=this.requireSession(e),n=new OI(this.runtime,r).flatten(e.pages,e.usage,t),i=n.meta.affectedPages.length>0;return i?this.finishMutation(r,{tag:"pages.flatten",result:n,wrote:i},e.artifactPath):N({tag:"pages.flatten",result:n,wrote:i})}handleRedactionApply(e,t){let r=this.requireSession(e),n=new MI(this.runtime,r).apply(e.scope,t),i=n.meta.affectedPages.length>0;return i?this.finishMutation(r,{tag:"redaction.apply",result:n,wrote:i},e.artifactPath):N({tag:"redaction.apply",result:n,wrote:i})}handlePagesExtract(e,t){let r=this.requireSession(e),n=new yI(this.runtime,r).extract(e.pages,e.flatten,t);return N({tag:"pages.extract",bytes:n.bytes,size:n.size},[n.bytes])}handleDocumentFontsList(e){let t=this.requireSession(e);return dP(this.runtime,t),N({tag:"document.fonts.list",facts:new Dl(this.runtime,t,this.fonts).facts()})}handleDocumentFontsResolve(e){let t=new Dl(this.runtime,this.requireSession(e),this.fonts),r=t.facts(),{runs:n,missingCharacters:i}=t.resolve(e.annotation,e.runs,r);return N({tag:"document.fonts.resolve",runs:n,missingCharacters:i,facts:r})}handleDocumentFontsProgram(e){let t=new Dl(this.runtime,this.requireSession(e),this.fonts).program(e.displaySha256,e.part==="data"),r=t.bytes?t.bytes.buffer.slice(t.bytes.byteOffset,t.bytes.byteOffset+t.bytes.byteLength):null;return N({tag:"document.fonts.program",covers:t.covers,ascent:t.ascent,descent:t.descent,bytes:r},r?[r]:[])}handleAttachmentsList(e,t){let r=this.requireSession(e);return N({tag:"attachments.list",attachments:new El(this.runtime,r).list(t)})}handleAttachmentsReadFile(e,t){let r=this.requireSession(e),n=new El(this.runtime,r).readFile(e.ref,e.path,e.maxDecodedBytes,t);return N({tag:"attachments.readFile",content:n},n.bytes!==void 0?[n.bytes]:[])}async handleAnnotationsReadFile(e,t){let r=this.requireSession(e),n=await new El(this.runtime,r).readAnnotationFile(r.resolvePageRef(e.page).pageObjectNumber,e.ref,e.path,e.maxDecodedBytes,t,this.slices);return N({tag:"annotations.readFile",content:n},n.bytes!==void 0?[n.bytes]:[])}async handleMeasureViewports(e,t){let r=this.requireSession(e),n=new O6(this.runtime,r).viewports(r.resolvePageRef(e.page).pageObjectNumber,t);return N({tag:"measure.viewports",page:e.page,viewports:n})}handleMeasureSetScale(e,t){let r=this.requireSession(e);return new $D(this.runtime,r).setScale(r.resolvePageRef(e.page).pageObjectNumber,e.measure,t),this.finishMutation(r,{tag:"measure.setScale",result:{page:e.page,layout:new Vt(this.runtime,r).read(t),meta:{affectedPages:[],cacheDelta:null,...r.writeStamp()}}},e.artifactPath)}handlePieceInfoRead(e,t){let r=this.requireSession(e);return N({tag:"pieceInfo.read",snapshot:new Cc(this.runtime,r,e.page?r.resolvePageRef(e.page).pageObjectNumber:void 0).read(e.application,t)})}handlePieceInfoUpdate(e,t){let r=this.requireSession(e),n=new Cc(this.runtime,r,e.page?r.resolvePageRef(e.page).pageObjectNumber:void 0);n.update(e.application,e.patch,t);let i={pieceInfo:n.read(e.application,t),meta:{affectedPages:[],cacheDelta:null,...r.writeStamp()}};return this.finishMutation(r,{tag:"pieceInfo.update",result:i},e.artifactPath)}handlePieceInfoApplications(e,t){let r=this.requireSession(e);return N({tag:"pieceInfo.applications",applications:new Cc(this.runtime,r,e.page?r.resolvePageRef(e.page).pageObjectNumber:void 0).applications(t)})}handlePieceInfoDelete(e,t){let r=this.requireSession(e);new Cc(this.runtime,r,e.page?r.resolvePageRef(e.page).pageObjectNumber:void 0).delete(e.application,t);let n={meta:{affectedPages:[],cacheDelta:null,...r.writeStamp()}};return this.finishMutation(r,{tag:"pieceInfo.delete",result:n},e.artifactPath)}async handlePagesText(e,t){let r=this.requireSession(e),n=new gh(this.runtime,r),i=r.resolvePageRef(e.page).pageObjectNumber;return N({tag:"pages.text",snapshot:await n.read(i,t,this.slices)})}async handlePagesGeometry(e,t){let r=this.requireSession(e),n=new vh(this.runtime,r),i=r.resolvePageRef(e.page).pageObjectNumber,a=await n.read(i,t,this.slices);return N({tag:"pages.geometry",page:e.page,snapshot:a})}async handleSearchQuery(e,t){let r=this.requireSession(e);return N({tag:"search.query",slice:await new B6(this.runtime,r).query(e.request,t,this.slices)})}async handlePagesRender(e,t){let r=this.requireSession(e),{raster:n,area:i}=await new jv(this.runtime,r).render(r.resolvePageRef(e.page).pageObjectNumber,e.options??{},t,this.slices);return N({tag:"pages.render",page:e.page,area:i,raster:n},[n.data])}slicedWork(e){switch(e.kind){case"pages.render":return{pdfium:t=>this.handlePagesRender(e,t)};case"pages.renderEncoded":return{pdfium:t=>this.handlePagesRender({...e,kind:"pages.render"},t),encode:(t,r)=>this.encodeRendered(t,e.encode,r)};case"document.renderPageFile":return{pdfium:t=>this.handleDocumentRenderPageFile(e,t)};case"document.renderPageFileEncoded":return{pdfium:t=>this.handleDocumentRenderPageFile({...e,kind:"document.renderPageFile"},t),encode:(t,r)=>this.encodeRendered(t,e.encode,r)};case"annotations.renderAppearances":return{pdfium:t=>this.handleAnnotationsRenderAppearances(e,t)};case"annotations.renderAppearancesEncoded":return{pdfium:t=>this.handleAnnotationsRenderAppearances({...e,kind:"annotations.renderAppearances"},t),encode:(t,r)=>this.encodeAppearances(t,e.page,e.encode,r)};case"pages.text":return{pdfium:t=>this.handlePagesText(e,t)};case"pages.geometry":return{pdfium:t=>this.handlePagesGeometry(e,t)};case"measure.viewports":return{pdfium:t=>this.handleMeasureViewports(e,t)};case"annotations.readFile":return{pdfium:t=>this.handleAnnotationsReadFile(e,t)};case"search.query":return{pdfium:t=>this.handleSearchQuery(e,t)};default:return null}}async runSliced(e,t,r,n){if(n.encode&&!this.options.imageEncoder){this.post(N({kind:"reject",jobId:t.jobId,error:J6()},Zr));return}let i=new AbortController;this.aborts.set(t.jobId,i),this.busy=!0;try{let a;try{a=await n.pdfium(i.signal)}finally{this.busy=!1,queueMicrotask(()=>this.drain())}this.resolve(t,n.encode?await n.encode(a,i.signal):a)}catch(a){this.post(N({kind:"reject",jobId:t.jobId,error:Qn(a)},Zr))}finally{this.aborts.delete(t.jobId),this.closePagesChangedBy(e,r)}}async encodeRaster(e,t,r){let n=this.options.imageEncoder;if(!n)throw new g(f.NotImplemented,sB);let{bytes:i,mimeType:a}=await n.encode(e,t);if(r.aborted)throw new g(f.Aborted,"aborted during image encode");return{mimeType:a,width:e.width,height:e.height,bytes:i}}async encodeRendered(e,t,r){let{payload:n}=e;if(n.tag==="pages.render"){let i=await this.encodeRaster(n.raster,t,r);return N({tag:"pages.renderEncoded",image:i},[i.bytes.buffer])}if(n.tag==="document.renderPageFile"){let i=await this.encodeRaster(n.raster,t,r);return N({tag:"document.renderPageFileEncoded",page:n.page,pageCount:n.pageCount,image:i},[i.bytes.buffer])}throw new g(f.WireFormat,`unexpected ${n.tag}`)}async encodeAppearances(e,t,r,n){if(e.payload.tag!=="annotations.renderAppearances")throw new g(f.WireFormat,`unexpected ${e.payload.tag}`);let{appearances:i}=e.payload.result,a=[];for(let o of i)a.push({ref:o.ref,mode:o.mode,state:o.state,rect:o.rect,image:await this.encodeRaster(o.raster,r,n)});return N({tag:"annotations.renderAppearancesEncoded",page:t,result:{page:e.payload.result.page,appearances:a}},a.map(o=>o.image.bytes.buffer))}assertRewriteKeepsSignatures(e,t){if(t!=="rewrite"||e.signedDocumentPolicy!=="protect")return;let r=this.probeProtection(e);if(r&&r.judged!==null)throw new g(f.ProtectedDocument,"the document is signed: a rewrite save would void every signature (use an incremental save)")}handleDocumentSaveBuffer(e){let t=this.requireSession(e);if(this.assertRewriteKeepsSignatures(t,e.mode),e.mode==="incremental"){let n=new Wn(this.runtime,t).snapshot();return N({tag:"document.saveBuffer",bytes:n.bytes,size:n.bytes.byteLength},[n.bytes])}let r=new Wn(this.runtime,t).saveStandaloneToBuffer(e.mode);return N({tag:"document.saveBuffer",bytes:r.bytes,size:r.size},[r.bytes])}handleDocumentSaveFile(e){let t=this.requireSession(e);return this.assertRewriteKeepsSignatures(t,e.mode),e.mode==="incremental"&&(!t.hasUnsavedEdits()||new Wn(this.runtime,t).saveStandaloneToFileEx(e.path,e.mode).unchangedSinceLoad)?(new Wn(this.runtime,t).copyLoadedBytesToFile(e.path),N({tag:"document.saveFile",path:e.path})):e.mode==="incremental"?N({tag:"document.saveFile",path:e.path}):N({tag:"document.saveFile",path:new Wn(this.runtime,t).saveStandaloneToFile(e.path,e.mode).path})}handleDocumentSaveLayerBuffer(e){let t=this.requireSession(e);if(t.kind!=="layer")throw new g(f.InvalidArg,"document has no layer to export (opened without a layer)");let r=new Wn(this.runtime,t).saveLayerArtifact();return N({tag:"document.saveLayerBuffer",bytes:r.bytes,size:r.size},[r.bytes])}handleDocumentProbeSecurityFile(e){return N({tag:"document.probeSecurityFile",security:new Sl(this.runtime).probeFile(e.path,e.password)})}async handleDocumentRenderPageFile(e,t){let r=new Ql(this.runtime),n=this.baseDocuments.acquireFileBase({key:`adhoc-file:${e.path}`,path:e.path,password:e.password});try{r.openFromHandle(_n(this.runtime,n,{kind:"fresh"},e.password));let i=new Vt(this.runtime,r).read(t),a=i.pages[e.pageIndex];if(!a)throw new g(f.NotFound,`renderPageFile: no page at index ${e.pageIndex} (pageCount=${i.pageCount})`);let{raster:o}=await new jv(this.runtime,r).render(a.ref.objectNumber,aB(e.options??{},()=>a.pdfCropBox),t,this.slices);return N({tag:"document.renderPageFile",page:a.ref,pageCount:i.pageCount,raster:o},[o.data])}finally{r.close()}}handleDocumentCheckPasswordPermissions(e){let t=this.sessions.get(jt(e.docId)),r;return t?.isLocked()?(t.unlockWith(e.password),t.password=e.password,r=t):r=this.requireSession(e),N({tag:"document.checkPasswordPermissions",security:new Sl(this.runtime).checkPasswordPermissions(r,e.password,e.mode??"any"),protection:this.probeProtection(r)})}handleFontsRegister(e){return this.fonts.register(e.fontKey,e.familyName,e.weight,e.italic,new Uint8Array(e.data),e.builtIn??!1),N({tag:"fonts.register",fontKey:e.fontKey,identity:this.fonts.describe(e.fontKey)})}handleFontsAuthorizeEditing(e){return N({tag:"fonts.authorizeEditing",identity:this.fonts.authorizeEditing(e.fontKey)})}handleDocumentSetFontSettings(e){let t=this.requireSession(e).requireDocPtr(),{fn:r}=this.runtime;if(e.embeddingPolicy!==void 0){let n={default:0,subset:1,full:2}[e.embeddingPolicy];if(!r.EPDFDoc_SetFontEmbeddingPolicy(t,n))throw new g(f.InvalidArg,"EPDFDoc_SetFontEmbeddingPolicy failed")}if(e.typographicFeatures!==void 0&&!r.EPDFDoc_SetTypographicFeatures(t,e.typographicFeatures))throw new g(f.InvalidArg,"EPDFDoc_SetTypographicFeatures failed");return N({tag:"document.setFontSettings"})}handleFontsAddFallback(e){return this.fonts.addFallback(e.fontKey,e.tier),N({tag:"fonts.addFallback"})}handleFontsClearFallbacks(e){return this.fonts.clearFallbacks(),N({tag:"fonts.clearFallbacks"})}handleFontsProgram(e){let t=this.fonts.engineFontFacts().some(i=>i.sha256===e.sha256&&i.served)?this.fonts.programFor(e.sha256):void 0;if(!t)throw new g(f.NotFound,`no served font has the program ${e.sha256}`);let r=t.bytes(),n=r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength);return N({tag:"fonts.program",bytes:n},[n])}handleFontsClear(e){return this.fonts.clear(),N({tag:"fonts.clear"})}handleLayerClose(e){let t=jt(e.docId,e.layerName),r=this.sessions.get(t);return r&&(Qc(this.runtime,r),Mc(this.runtime,r),r.close(),this.sessions.delete(t)),N({tag:"close"})}handleClose(e){for(let[t,r]of Array.from(this.sessions.entries()))$6(t,e.docId)&&(Qc(this.runtime,r),Mc(this.runtime,r),r.close(),this.sessions.delete(t));return N({tag:"close"})}handleShutdown(e){if(!this.destroyed){this.destroyed=!0;for(let t of this.sessions.values())Qc(this.runtime,t),Mc(this.runtime,t),t.close();this.sessions.clear(),this.residency.closeIdle(),this.baseDocuments.releaseAll(),e2(this.runtime)}return N({tag:"shutdown"})}requireSession(e){let t=jt(e.docId,e.layerName),r=this.sessions.get(t);if(r?.isLocked())throw new g(f.DocPasswordRequired,`document session is password-locked: ${t}`);if(!r||!r.isOpen())throw new g(f.DocNotOpen,`document session not open: ${t}`);return r.assertUsable(),r}handleFormsList(e,t){let r=this.requireSession(e);return N({tag:"forms.list",snapshot:new Pw(this.runtime,r,this.fonts).snapshot(t)})}handleFormsSetValue(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.setValue",field:e.ref,value:e.value},e.authority,t);return this.finishMutation(r,{tag:"forms.setValue",result:i},e.artifactPath)}handleFormsReset(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"forms.reset",...e.refs?{fields:e.refs}:{}},e.authority,t);return this.finishMutation(r,{tag:"forms.reset",result:a},e.artifactPath)}handleFormsExport(e,t){let r=this.requireSession(e),n=new w6(this.runtime,r,this.fonts).export(e.selection,e.limits??qt,t);return N({tag:"forms.export",bundle:n},Object.values(n.resources))}handleFormsImport(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.import",bundle:e.bundle,...e.pages!==void 0?{pages:e.pages}:{},attribution:e.attribution,values:e.values,actor:qP(e.authority),limits:e.limits??qt,mayScript:e.mayScript},e.authority,t);return i.fields.length===0?N({tag:"forms.import",result:i}):this.finishMutation(r,{tag:"forms.import",result:i},e.artifactPath)}handleFormsImportValues(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.importValues",bundle:e.bundle,attribution:e.attribution,actor:qP(e.authority),limits:e.limits??qt},e.authority,t);return i.fields.length===0?N({tag:"forms.importValues",result:i}):this.finishMutation(r,{tag:"forms.importValues",result:i},e.artifactPath)}handleFormsRepair(e,t){let r=this.requireSession(e),n=new vt(this.runtime,r,this.fonts).repair(e.bakeAppearances??!1,t);return this.finishMutation(r,{tag:"forms.repair",result:n},e.artifactPath)}handleFormsCreateField(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.create",draft:e.draft,...e.objectNumber!==void 0?{objectNumber:e.objectNumber}:{},...e.widgetObjectNumbers?{widgetObjectNumbers:e.widgetObjectNumbers}:{}},e.authority,t);return this.finishMutation(r,{tag:"forms.createField",result:i},e.artifactPath)}handleFormsUpdateField(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"forms.update",field:e.ref,patch:e.patch},e.authority,t);return this.finishMutation(r,{tag:"forms.updateField",result:a},e.artifactPath)}handleFormsSetSignatureAppearance(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.setSignatureAppearance",field:e.ref,appearance:{pdf:new Uint8Array(e.pdf)}},e.authority,t);return this.finishMutation(r,{tag:"forms.setSignatureAppearance",result:i},e.artifactPath)}handleFormsDeleteField(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.delete",field:e.ref},en(),t);return this.finishMutation(r,{tag:"forms.deleteField",result:i},e.artifactPath)}handleFormsAddWidget(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.addWidget",field:e.ref,placement:e.placement,...e.objectNumber!==void 0?{objectNumber:e.objectNumber}:{},...e.splitObjectNumber!==void 0?{splitObjectNumber:e.splitObjectNumber}:{}},en(),t);return this.finishMutation(r,{tag:"forms.addWidget",result:i},e.artifactPath)}handleFormsDetachWidget(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.removeWidget",field:e.ref,widget:e.widget},en(),t);return this.finishMutation(r,{tag:"forms.detachWidget",result:i},e.artifactPath)}handleFormsUpdateWidget(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"forms.updateWidget",widget:e.widget,patch:e.patch},en(),t);return this.finishMutation(r,{tag:"forms.updateWidget",result:a},e.artifactPath)}handleFormsDeleteWidget(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.deleteWidget",widget:e.widget},en(),t);return this.finishMutation(r,{tag:"forms.deleteWidget",result:i},e.artifactPath)}handleFormsReorderCalculations(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.reorderCalculations",fields:e.fields,position:e.position},en(),t);return this.finishMutation(r,{tag:"forms.reorderCalculations",result:i},e.artifactPath)}handleFormsReorderWidgets(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.reorderWidgets",page:e.page,widgets:e.widgets,position:e.position},en(),t);return this.finishMutation(r,{tag:"forms.reorderWidgets",result:i},e.artifactPath)}finishMutation(e,t,r){e.inTransaction()&&e.commitTransaction(),z6.has(t.tag)&&ds(e).endUndo(),!t.tag.startsWith("forms.")&&t.tag!=="pages.flatten"&&t.tag!=="redaction.apply"&&t.tag!=="signatures.complete"&&e.invalidateDerived(),t.tag!=="signatures.complete"&&e.noteEdit();let n=W6(t,e.missingCharacters()),i=FO(this.runtime,e)?{...n,fontsChanged:!0}:n;if(e.kind!=="layer"||!e.persistLayerArtifact)return N(i);let a=this.saveLayerArtifact(e,r);return N({...i,...a.payload},a.transfer)}saveLayerArtifact(e,t){let r=new Wn(this.runtime,e),n=e.lastObjectNumber();if(t)return{payload:{artifactFile:{...r.saveLayerArtifactToFile(t),lastObjectNumber:n}},transfer:[]};let i={...r.saveLayerArtifact(),lastObjectNumber:n};return{payload:{artifact:i},transfer:[i.bytes]}}},Y6={read:"none",snapshot:"none",session:"none",open:"none",close:"none",write:"keepsPages",contentWrite:"document",runtimeWrite:"runtime"};function X6(e){return e.kind==="shutdown"?"none":Y6[e.effect]}function en(e){return{identity:e??{},grants:null,protection:null}}function qP({identity:e}){return{...e.userId!==void 0?{userId:e.userId}:{},...e.groupId!==void 0?{groupId:e.groupId}:{},...e.displayName!==void 0?{displayName:e.displayName}:{}}}function W6(e,t){if(t.length===0||!("result"in e))return e;let r=e.result;if(typeof r!="object"||r===null||!("meta"in r))return e;let{meta:n}=r;return typeof n!="object"||n===null||"missingCharacters"in n?e:{...e,result:{...r,meta:{...n,missingCharacters:t}}}}function zP(e,t){let r=t.record.steps.length>0;r&&e.markUndoable();let n=t.items.map(a=>({...a,meta:{...a.meta,undoable:r}})),i=[...new Set(n.flatMap(a=>a.meta.missingCharacters??[]))];return{items:n,meta:{affectedPages:q6(n),cacheDelta:null,...e.writeStamp(),...i.length>0?{missingCharacters:i}:{}}}}function U6(e,t,r,n,i){let{change:a,authority:o}=t;if(!bo(a))return e.apply(a.ops,o,n,i);let s=o.identity.userId??null,A=r.has(a.undoOf)?r.get(a.undoOf):t.record;if(A===void 0)throw new g(f.UndoUnavailable,`change ${a.undoOf} can no longer be undone`,{details:{reason:"expired"}});return A?e.undo(A,o,n,i):{items:[],record:{userId:s,steps:[]}}}function q6(e){let t=new Map;for(let r of e)for(let n of r.meta.affectedPages)t.set(n.objectNumber,n);return[...t.values()]}function Ic(e){return e.kind==="shutdown"||e.kind==="signatures.complete"||e.kind==="document.applyChanges"||e.effect!=="write"&&e.effect!=="contentWrite"?!1:"docId"in e}var z6=new Set(["redaction.apply","pages.flatten","annotations.flatten","forms.repair","signatures.complete"]),Z6="__base__";function jt(e,t){return`${e}::${t?`layer:${t}`:Z6}`}var sB="this engine has no image encoder (the *.renderEncoded kinds are cloud-server surface)";function J6(){return Qn(new g(f.NotImplemented,sB))}function $6(e,t){return e===jt(t)||e.startsWith(`${t}::layer:`)}function eM(e){return e instanceof g&&(e.code===f.DocPasswordRequired||e.code===f.DocPasswordIncorrect)}function tM(){return{encryptionState:"encrypted",encryptionRequiresPassword:!0,securityHandlerRevision:null,pdfPermissionsBits:null,pdfPermissionsAllAllowed:null,pdfOpenedAs:null,securityProbedAt:Date.now()}}function nM(e){if(bo(e))return;let t={"annotations.import":"doc.annotations.import","forms.import":"doc.forms.import","forms.importValues":"doc.forms.importValues"},r=e.ops.find(({type:n})=>n in t);if(r)throw new g(f.InvalidArg,`doc.apply takes no import: import a bundle with ${t[r.type]}`)}function AB(e){e.onmessage=t=>{let r=t.data;!r||typeof r!="object"||r.kind!=="init"||rM(e,r)}}function rM(e,t){(async()=>{let r=iM(t),n=await hg({prefer:"wasm",wasmUrl:r.wasmUrl,wasmBinary:r.wasmBinary}),i=new oB(n,a=>{e.postMessage(a.payload,a.transfer)});e.onmessage=a=>{i.receive(a.data)},e.postMessage({kind:"ready"})})().catch(r=>{e.postMessage({kind:"init-error",error:aM(r,t)})})}function iM(e){return{wasmUrl:e.wasmUrl,wasmBinary:e.wasmBinary}}function aM(e,t){let r=String(e?.stack??e);return t.wasmBinary?r:`${t.wasmUrl?`failed to load embedpdf.wasm from ${t.wasmUrl}`:"failed to load embedpdf.wasm (resolved relative to the worker script)"}. Your build did not ship the wasm at that location \\u2014 either import \\`localEngine\\` from \\`@embedpdf/engine/portable\\` (the wasm travels inside your build), or self-host the file and pass \\`assetsUrl\\`/\\`wasmUrl\\` to localEngine(), or provide the bytes via \\`wasmBinary\\`. See https://www.embedpdf.com/docs/viewer/self-hosting \\u2014 ${r}`}AB(self);})();\n'; +export { + e as default +}; +//# sourceMappingURL=embedpdf-worker.source-Ckg6uFZ3-Dkca2Kjg.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/es-MfgrlNdR-DW332Lm9.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/es-BrwadaBk-BGCvUgEY.js similarity index 99% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/es-MfgrlNdR-DW332Lm9.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/es-BrwadaBk-BGCvUgEY.js index 20d29fe8..d4c77f79 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/es-MfgrlNdR-DW332Lm9.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/es-BrwadaBk-BGCvUgEY.js @@ -99,6 +99,7 @@ const e = { saveFile: "Guardar archivo", removeLink: "Quitar enlace", delete: "Eliminar", + duplicate: "Duplicar", group: "Agrupar", ungroup: "Desagrupar", stampFromSelection: "Crear sello", @@ -476,7 +477,8 @@ const e = { boxes: "Casillas", box: "Casilla {number}", addButton: "Añadir botón", - addBox: "Añadir casilla" + addBox: "Añadir casilla", + duplicateGroup: "Duplicar grupo" }, stylePanel: { mixed: "(mixto)", @@ -740,4 +742,4 @@ const e = { export { e as es }; -//# sourceMappingURL=es-MfgrlNdR-DW332Lm9.js.map +//# sourceMappingURL=es-BrwadaBk-BGCvUgEY.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/form-design-panel-wzDO2bUT-BI1FHAFA.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/form-design-panel-BLoqGIJY-D9AquL8W.js similarity index 53% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/form-design-panel-wzDO2bUT-BI1FHAFA.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/form-design-panel-BLoqGIJY-D9AquL8W.js index 18bc0bf9..32b115b3 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/form-design-panel-wzDO2bUT-BI1FHAFA.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/form-design-panel-BLoqGIJY-D9AquL8W.js @@ -1,23 +1,23 @@ -import { Z as x, $ as h, l as e, u as N, m as p, aq as T, q as w, ar as O, as as F, at as A, x as I, T as L, k as $, v as j } from "./init-DY-DOXIU.js"; -import { u as z } from "./labels-C6_i87Oj-Cv-9cmmX.js"; -import { FormToken as u } from "@embedpdf/plugin-form"; -import { AnnotationToken as B } from "@embedpdf/plugin-annotation"; -import { InteractionToken as v } from "@embedpdf/plugin-interaction"; -const D = "border-border bg-surface text-fg w-full rounded-md border px-2 py-1.5 text-sm"; -function E({ field: t }) { - const n = x(u), s = h(u, (c) => c.getFieldSettings(t.ref), null); +import { _ as h, a0 as v, l as e, u as w, m as p, aq as j, q as $, ar as E, as as F, at as A, x as M, T as _, k as B, v as K } from "./init-tVr9KnGC.js"; +import { u as P } from "./labels-C6_i87Oj-DU31Mm-N.js"; +import { FormToken as f } from "@embedpdf/plugin-form"; +import { AnnotationToken as G } from "@embedpdf/plugin-annotation"; +import { InteractionToken as z } from "@embedpdf/plugin-interaction"; +const I = "border-border bg-surface text-fg w-full rounded-md border px-2 py-1.5 text-sm"; +function R({ field: t }) { + const n = h(f), s = v(f, (r) => r.getFieldSettings(t.ref), null); if (!n || !s || !n.canDesign()) return null; - const l = (c) => void n.update(t.ref, c).catch(() => { + const c = (r) => void n.update(t.ref, r).catch(() => { }); - return /* @__PURE__ */ e("div", { children: s.properties.map((c) => /* @__PURE__ */ e(M, { + return /* @__PURE__ */ e("div", { children: s.properties.map((r) => /* @__PURE__ */ e(W, { fieldKey: JSON.stringify(t.ref), - spec: c, - value: s.values[c.key], - onChange: (a) => l({ [c.key]: a }) - }, `${c.key}:${c.control}`)) }); + spec: r, + value: s.values[r.key], + onChange: (a) => c({ [r.key]: a }) + }, `${r.key}:${r.control}`)) }); } -function M({ fieldKey: t, spec: n, value: s, onChange: l }) { - const c = N(), a = z(); +function W({ fieldKey: t, spec: n, value: s, onChange: c }) { + const r = w(), a = P(); switch (n.control) { case "flag": return /* @__PURE__ */ e("label", { @@ -25,48 +25,48 @@ function M({ fieldKey: t, spec: n, value: s, onChange: l }) { children: [/* @__PURE__ */ e("input", { type: "checkbox", checked: s === !0, - onChange: (o) => l(o.target.checked) + onChange: (o) => c(o.target.checked) }), a(n)] }); case "text": - return /* @__PURE__ */ e(b, { + return /* @__PURE__ */ e(g, { label: a(n), - children: /* @__PURE__ */ e(g, { + children: /* @__PURE__ */ e(k, { value: typeof s == "string" ? s : "", - onCommit: l + onCommit: c }, t) }); case "number": - return /* @__PURE__ */ e(b, { + return /* @__PURE__ */ e(g, { label: a(n), - children: /* @__PURE__ */ e(g, { + children: /* @__PURE__ */ e(k, { type: "number", min: n.min, - placeholder: c("demo.fieldNone"), + placeholder: r("demo.fieldNone"), value: typeof s == "number" ? String(s) : "", - onCommit: (o) => l(o === "" ? null : Math.max(n.min, Number(o))) + onCommit: (o) => c(o === "" ? null : Math.max(n.min, Number(o))) }, t) }); case "choice": - return n.free ? /* @__PURE__ */ e(b, { + return n.free ? /* @__PURE__ */ e(g, { label: a(n), - children: [/* @__PURE__ */ e(g, { + children: [/* @__PURE__ */ e(k, { list: `${t}-choices`, value: typeof s == "string" ? s : "", - onCommit: l + onCommit: c }, t), /* @__PURE__ */ e("datalist", { id: `${t}-choices`, children: n.options.map((o) => /* @__PURE__ */ e("option", { value: o }, o)) })] - }) : /* @__PURE__ */ e(b, { + }) : /* @__PURE__ */ e(g, { label: a(n), children: /* @__PURE__ */ e("select", { - className: D, + className: I, value: typeof s == "string" ? s : "", - onChange: (o) => l(o.target.value === "" ? null : o.target.value), + onChange: (o) => c(o.target.value === "" ? null : o.target.value), children: [/* @__PURE__ */ e("option", { value: "", - children: c("demo.fieldNone") + children: r("demo.fieldNone") }), n.options.map((o) => /* @__PURE__ */ e("option", { value: o, children: o @@ -75,29 +75,29 @@ function M({ fieldKey: t, spec: n, value: s, onChange: l }) { }); case "choices": { const o = new Set(Array.isArray(s) ? s : []); - return /* @__PURE__ */ e(b, { + return /* @__PURE__ */ e(g, { label: a(n), - children: n.options.map((i) => /* @__PURE__ */ e("label", { + children: n.options.map((l) => /* @__PURE__ */ e("label", { className: "text-fg mb-1 flex items-center gap-2 text-sm", children: [/* @__PURE__ */ e("input", { type: "checkbox", - checked: o.has(i), - onChange: (d) => l(n.options.filter((r) => r === i ? d.target.checked : o.has(r))) - }), i] - }, i)) + checked: o.has(l), + onChange: (d) => c(n.options.filter((i) => i === l ? d.target.checked : o.has(i))) + }), l] + }, l)) }); } case "options": - return /* @__PURE__ */ e(b, { + return /* @__PURE__ */ e(g, { label: a(n), - children: /* @__PURE__ */ e(K, { + children: /* @__PURE__ */ e(V, { options: Array.isArray(s) ? s : [], - onCommit: l + onCommit: c }, t) }); } } -function b({ label: t, children: n }) { +function g({ label: t, children: n }) { return /* @__PURE__ */ e("section", { className: "mb-3", children: [/* @__PURE__ */ e("span", { @@ -106,49 +106,49 @@ function b({ label: t, children: n }) { }), n] }); } -function g({ value: t, onCommit: n, ...s }) { - const [l, c] = $(null); - j(() => c(null), [t]); +function k({ value: t, onCommit: n, ...s }) { + const [c, r] = B(null); + K(() => r(null), [t]); const a = () => { - l === null || l === t || n(l); + c === null || c === t || n(c); }; return /* @__PURE__ */ e("input", { ...s, - className: D, - value: l ?? t, - onChange: (o) => c(o.target.value), + className: I, + value: c ?? t, + onChange: (o) => r(o.target.value), onBlur: a, onKeyDown: (o) => o.key === "Enter" && a() }); } -function K({ options: t, onCommit: n }) { - const s = N(), l = t.map((a) => ({ +function V({ options: t, onCommit: n }) { + const s = w(), c = t.map((a) => ({ label: a.label, value: a.value - })), c = (a, o) => n(o === null ? l.filter((i, d) => d !== a) : l.map((i, d) => d === a ? o : i)); - return /* @__PURE__ */ e("div", { children: [l.map((a, o) => /* @__PURE__ */ e("div", { + })), r = (a, o) => n(o === null ? c.filter((l, d) => d !== a) : c.map((l, d) => d === a ? o : l)); + return /* @__PURE__ */ e("div", { children: [c.map((a, o) => /* @__PURE__ */ e("div", { className: "mb-1 flex gap-1", children: [ - /* @__PURE__ */ e(g, { + /* @__PURE__ */ e(k, { "aria-label": s("demo.fieldOptionLabel"), value: a.label, - onCommit: (i) => c(o, { + onCommit: (l) => r(o, { ...a, - label: i + label: l }) }), - /* @__PURE__ */ e(g, { + /* @__PURE__ */ e(k, { "aria-label": s("demo.fieldOptionValue"), value: a.value, - onCommit: (i) => c(o, { + onCommit: (l) => r(o, { ...a, - value: i + value: l }) }), - /* @__PURE__ */ e(L, { + /* @__PURE__ */ e(_, { label: s("demo.fieldOptionRemove"), className: "text-fg-muted hover:text-fg px-1", - onClick: () => c(o, null), + onClick: () => r(o, null), children: "×" }) ] @@ -156,8 +156,8 @@ function K({ options: t, onCommit: n }) { type: "button", className: "text-accent text-sm", onClick: () => { - const a = `Option ${l.length + 1}`; - n([...l, { + const a = `Option ${c.length + 1}`; + n([...c, { label: a, value: a }]); @@ -165,7 +165,7 @@ function K({ options: t, onCommit: n }) { children: s("demo.fieldOptionAdd") })] }); } -const S = { +const L = { text: { icon: "formTextfield", labelKey: "commands.form.textfield" @@ -194,39 +194,45 @@ const S = { icon: "signature", labelKey: "commands.form.signature" } -}, _ = [], R = [], y = (t) => t.ref.kind === "objectNumber" ? t.ref.objectNumber : -1; -function k() { - const t = x(B), n = x(v), s = O(), l = h(v, (c) => c.getActiveToolId(), null); +}, q = [], J = [], C = (t) => t.ref.kind === "objectNumber" ? t.ref.objectNumber : -1; +function S() { + const t = h(G), n = h(z), s = E(), c = v(z, (r) => r.getActiveToolId(), null); return { - select(c) { - F(l) || n?.activateTool(A), t?.selection.select([c.ref]), s.reveal(c.page, { rect: c.box }); + select(r) { + F(c) || n?.activateTool(A), t?.selection.select([r.ref]), s.reveal(r.page, { rect: r.box }); + }, + /** Several widgets as the selection (a group just copied), so one drag moves them all. */ + selectAll(r) { + const [a] = r; + a && (F(c) || n?.activateTool(A), t?.selection.select(r.map((o) => o.ref)), s.reveal(a.page, { rect: a.box })); }, clear() { t?.selection.select([]); } }; } -function Q() { - const t = x(u), n = h(u, (s) => s.getSelectedField(), null); - return t ? n ? /* @__PURE__ */ e(P, { field: n }) : /* @__PURE__ */ e(W, {}) : null; +const D = 10; +function ne() { + const t = h(f), n = v(f, (s) => s.getSelectedField(), null); + return t ? n ? /* @__PURE__ */ e(H, { field: n }) : /* @__PURE__ */ e(Y, {}) : null; } -function W() { - const t = N(), n = k(), s = T(), l = x(u), c = h(u, (o) => o.list(), _), a = w(() => { - const o = new Map(s.map((r) => [r.ref.objectNumber, r.index])), i = c.flatMap((r) => { - const m = l?.getWidgets(r.ref)[0], f = m ? o.get(m.page.objectNumber) : void 0; - return m && f !== void 0 ? [{ - field: r, - place: m, - index: f +function Y() { + const t = w(), n = S(), s = j(), c = h(f), r = v(f, (o) => o.list(), q), a = $(() => { + const o = new Map(s.map((i) => [i.ref.objectNumber, i.index])), l = r.flatMap((i) => { + const u = c?.getWidgets(i.ref)[0], m = u ? o.get(u.page.objectNumber) : void 0; + return u && m !== void 0 ? [{ + field: i, + place: u, + index: m }] : []; }); - i.sort((r, m) => r.index - m.index || r.place.box.y - m.place.box.y || r.place.box.x - m.place.box.x); + l.sort((i, u) => i.index - u.index || i.place.box.y - u.place.box.y || i.place.box.x - u.place.box.x); const d = /* @__PURE__ */ new Map(); - for (const r of i) d.set(r.index, [...d.get(r.index) ?? [], r]); + for (const i of l) d.set(i.index, [...d.get(i.index) ?? [], i]); return [...d]; }, [ + r, c, - l, s ]); return a.length === 0 ? /* @__PURE__ */ e("div", { @@ -241,22 +247,22 @@ function W() { })] }) : /* @__PURE__ */ e("div", { className: "min-h-0 flex-1 overflow-y-auto p-2", - children: a.map(([o, i]) => /* @__PURE__ */ e("section", { + children: a.map(([o, l]) => /* @__PURE__ */ e("section", { className: "mb-3", children: [/* @__PURE__ */ e("h3", { className: "text-fg-muted px-2 pb-1 text-[11px] font-semibold uppercase tracking-wide", children: t("formDesign.page", { params: { page: o + 1 } }) }), /* @__PURE__ */ e("ul", { className: "flex flex-col", - children: i.map(({ field: d, place: r }) => { - const m = S[d.kind]; + children: l.map(({ field: d, place: i }) => { + const u = L[d.kind]; return /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e("button", { type: "button", - onClick: () => n.select(r), + onClick: () => n.select(i), className: "hover:bg-hover flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start", children: [ /* @__PURE__ */ e(p, { - name: m?.icon ?? "formTextfield", + name: u?.icon ?? "formTextfield", size: 16, className: "text-fg-muted shrink-0" }), @@ -264,9 +270,9 @@ function W() { className: "text-fg min-w-0 flex-1 truncate text-sm", children: d.name }), - m && /* @__PURE__ */ e("span", { + u && /* @__PURE__ */ e("span", { className: "sr-only", - children: t(m.labelKey) + children: t(u.labelKey) }) ] }) }, d.name); @@ -275,8 +281,8 @@ function W() { }, o)) }); } -function P({ field: t }) { - const n = N(), s = k(), l = S[t.kind]; +function H({ field: t }) { + const n = w(), s = S(), c = L[t.kind]; return /* @__PURE__ */ e("div", { className: "min-h-0 flex-1 overflow-y-auto p-4", children: [ @@ -292,7 +298,7 @@ function P({ field: t }) { /* @__PURE__ */ e("p", { className: "text-fg mb-4 flex items-center gap-2 text-sm font-semibold", children: [/* @__PURE__ */ e(p, { - name: l?.icon ?? "formTextfield", + name: c?.icon ?? "formTextfield", size: 16, className: "text-fg-muted shrink-0" }), /* @__PURE__ */ e("span", { @@ -304,58 +310,78 @@ function P({ field: t }) { className: "text-fg-muted mb-3 text-[11px] font-semibold uppercase tracking-wide", children: n("demo.fieldSettingsTitle") }), - /* @__PURE__ */ e(E, { field: t }), - (t.kind === "radio" || t.kind === "checkbox") && /* @__PURE__ */ e(V, { field: t }) + /* @__PURE__ */ e(R, { field: t }), + (t.kind === "radio" || t.kind === "checkbox") && /* @__PURE__ */ e(Q, { field: t }) ] }); } -function V({ field: t }) { - const n = N(), s = k(), l = x(u), c = h(u, (r) => r.getWidgets(t.ref), R), a = I((r) => r.selected), o = (r) => a.some((m) => m.ref.kind === "objectNumber" && m.ref.objectNumber === y(r)), i = t.kind === "radio", d = async () => { - if (!l) return; - const { widget: r } = await l.addWidget(t.ref); - s.select(r); +function Q({ field: t }) { + const n = w(), s = S(), c = h(f), r = v(f, (m) => m.getWidgets(t.ref), J), a = M((m) => m.selected), o = (m) => a.some((b) => b.ref.kind === "objectNumber" && b.ref.objectNumber === C(m)), l = t.kind === "radio", d = j(), i = async () => { + if (!c) return; + const { widget: m } = await c.addWidget(t.ref); + s.select(m); + }, u = async () => { + if (!c) return; + const m = new Map(d.map((x) => [x.ref.objectNumber, x.size])), b = (x, T) => r.some((y) => { + const O = m.get(y.page.objectNumber); + return !!O && y.box[x] + y.box[T] + D > O[T]; + }) && r.every((y) => y.box[x] - D >= 0) ? -10 : D, { widgets: N } = await c.duplicate([t.ref], { offset: { + x: b("x", "width"), + y: b("y", "height") + } }); + s.selectAll(N); }; return /* @__PURE__ */ e("section", { className: "border-border-subtle mt-4 border-t pt-4", children: [ /* @__PURE__ */ e("p", { className: "text-fg-muted mb-2 text-[11px] font-semibold uppercase tracking-wide", - children: n(i ? "formDesign.buttons" : "formDesign.boxes") + children: n(l ? "formDesign.buttons" : "formDesign.boxes") }), /* @__PURE__ */ e("ul", { className: "mb-2 flex flex-col", - children: c.map((r, m) => { - const f = t.widgets.find((C) => C.objectNumber === y(r)); + children: r.map((m, b) => { + const N = t.widgets.find((x) => x.objectNumber === C(m)); return /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e("button", { type: "button", - "aria-pressed": o(r), - onClick: () => s.select(r), - className: `hover:bg-hover flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-sm ${o(r) ? "bg-selected text-accent" : "text-fg"}`, + "aria-pressed": o(m), + onClick: () => s.select(m), + className: `hover:bg-hover flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-sm ${o(m) ? "bg-selected text-accent" : "text-fg"}`, children: [/* @__PURE__ */ e(p, { - name: i ? "formRadio" : "formCheckbox", + name: l ? "formRadio" : "formCheckbox", size: 14, className: "shrink-0" }), /* @__PURE__ */ e("span", { className: "min-w-0 flex-1 truncate", - children: i && f && "exportValue" in f ? f.exportValue : n("formDesign.box", { params: { number: m + 1 } }) + children: l && N && "exportValue" in N ? N.exportValue : n("formDesign.box", { params: { number: b + 1 } }) })] - }) }, y(r)); + }) }, C(m)); }) }), /* @__PURE__ */ e("button", { type: "button", - onClick: () => void d().catch(() => { + onClick: () => void i().catch(() => { }), className: "text-accent flex items-center gap-1 text-sm", children: [/* @__PURE__ */ e(p, { name: "plus", size: 14 - }), n(i ? "formDesign.addButton" : "formDesign.addBox")] + }), n(l ? "formDesign.addButton" : "formDesign.addBox")] + }), + l && /* @__PURE__ */ e("button", { + type: "button", + onClick: () => void u().catch(() => { + }), + className: "text-accent mt-2 flex items-center gap-1 text-sm", + children: [/* @__PURE__ */ e(p, { + name: "duplicate", + size: 14 + }), n("formDesign.duplicateGroup")] }) ] }); } export { - Q as FormDesignPanel + ne as FormDesignPanel }; -//# sourceMappingURL=form-design-panel-wzDO2bUT-BI1FHAFA.js.map +//# sourceMappingURL=form-design-panel-BLoqGIJY-D9AquL8W.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/form-design-panel-wzDO2bUT-GN0HL8gx.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/form-design-panel-BLoqGIJY-DEciaS3X.js similarity index 61% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/form-design-panel-wzDO2bUT-GN0HL8gx.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/form-design-panel-BLoqGIJY-DEciaS3X.js index 06bc901d..7209ddfd 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/form-design-panel-wzDO2bUT-GN0HL8gx.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/form-design-panel-BLoqGIJY-DEciaS3X.js @@ -1,20 +1,20 @@ -import { U as x, ap as u, Z as h, e, u as N, I as p, an as T, i as w, s as O, aq as v, ar as F, as as I, at as A, o as L, T as $, d as j, m as z } from "./wasm-url-asset-DQFmMC86.js"; -import { u as B } from "./labels-C6_i87Oj-BwatX9VH.js"; -const D = "border-border bg-surface text-fg w-full rounded-md border px-2 py-1.5 text-sm"; -function E({ field: t }) { - const n = x(u), s = h(u, (c) => c.getFieldSettings(t.ref), null); +import { V as h, an as f, _ as v, e, u as w, I as p, al as I, i as $, s as E, ao as F, ap as M, aq as A, ar as z, o as _, T as B, d as K, m as P } from "./wasm-url-asset-BJXsMWLm.js"; +import { u as G } from "./labels-C6_i87Oj-CUYif8yN.js"; +const j = "border-border bg-surface text-fg w-full rounded-md border px-2 py-1.5 text-sm"; +function R({ field: t }) { + const n = h(f), s = v(f, (c) => c.getFieldSettings(t.ref), null); if (!n || !s || !n.canDesign()) return null; const r = (c) => void n.update(t.ref, c).catch(() => { }); - return /* @__PURE__ */ e("div", { children: s.properties.map((c) => /* @__PURE__ */ e(M, { + return /* @__PURE__ */ e("div", { children: s.properties.map((c) => /* @__PURE__ */ e(V, { fieldKey: JSON.stringify(t.ref), spec: c, value: s.values[c.key], onChange: (a) => r({ [c.key]: a }) }, `${c.key}:${c.control}`)) }); } -function M({ fieldKey: t, spec: n, value: s, onChange: r }) { - const c = N(), a = B(); +function V({ fieldKey: t, spec: n, value: s, onChange: r }) { + const c = w(), a = G(); switch (n.control) { case "flag": return /* @__PURE__ */ e("label", { @@ -26,17 +26,17 @@ function M({ fieldKey: t, spec: n, value: s, onChange: r }) { }), a(n)] }); case "text": - return /* @__PURE__ */ e(b, { + return /* @__PURE__ */ e(g, { label: a(n), - children: /* @__PURE__ */ e(g, { + children: /* @__PURE__ */ e(k, { value: typeof s == "string" ? s : "", onCommit: r }, t) }); case "number": - return /* @__PURE__ */ e(b, { + return /* @__PURE__ */ e(g, { label: a(n), - children: /* @__PURE__ */ e(g, { + children: /* @__PURE__ */ e(k, { type: "number", min: n.min, placeholder: c("demo.fieldNone"), @@ -45,9 +45,9 @@ function M({ fieldKey: t, spec: n, value: s, onChange: r }) { }, t) }); case "choice": - return n.free ? /* @__PURE__ */ e(b, { + return n.free ? /* @__PURE__ */ e(g, { label: a(n), - children: [/* @__PURE__ */ e(g, { + children: [/* @__PURE__ */ e(k, { list: `${t}-choices`, value: typeof s == "string" ? s : "", onCommit: r @@ -55,10 +55,10 @@ function M({ fieldKey: t, spec: n, value: s, onChange: r }) { id: `${t}-choices`, children: n.options.map((o) => /* @__PURE__ */ e("option", { value: o }, o)) })] - }) : /* @__PURE__ */ e(b, { + }) : /* @__PURE__ */ e(g, { label: a(n), children: /* @__PURE__ */ e("select", { - className: D, + className: j, value: typeof s == "string" ? s : "", onChange: (o) => r(o.target.value === "" ? null : o.target.value), children: [/* @__PURE__ */ e("option", { @@ -72,29 +72,29 @@ function M({ fieldKey: t, spec: n, value: s, onChange: r }) { }); case "choices": { const o = new Set(Array.isArray(s) ? s : []); - return /* @__PURE__ */ e(b, { + return /* @__PURE__ */ e(g, { label: a(n), - children: n.options.map((i) => /* @__PURE__ */ e("label", { + children: n.options.map((l) => /* @__PURE__ */ e("label", { className: "text-fg mb-1 flex items-center gap-2 text-sm", children: [/* @__PURE__ */ e("input", { type: "checkbox", - checked: o.has(i), - onChange: (d) => r(n.options.filter((l) => l === i ? d.target.checked : o.has(l))) - }), i] - }, i)) + checked: o.has(l), + onChange: (d) => r(n.options.filter((i) => i === l ? d.target.checked : o.has(i))) + }), l] + }, l)) }); } case "options": - return /* @__PURE__ */ e(b, { + return /* @__PURE__ */ e(g, { label: a(n), - children: /* @__PURE__ */ e(K, { + children: /* @__PURE__ */ e(W, { options: Array.isArray(s) ? s : [], onCommit: r }, t) }); } } -function b({ label: t, children: n }) { +function g({ label: t, children: n }) { return /* @__PURE__ */ e("section", { className: "mb-3", children: [/* @__PURE__ */ e("span", { @@ -103,46 +103,46 @@ function b({ label: t, children: n }) { }), n] }); } -function g({ value: t, onCommit: n, ...s }) { - const [r, c] = j(null); - z(() => c(null), [t]); +function k({ value: t, onCommit: n, ...s }) { + const [r, c] = K(null); + P(() => c(null), [t]); const a = () => { r === null || r === t || n(r); }; return /* @__PURE__ */ e("input", { ...s, - className: D, + className: j, value: r ?? t, onChange: (o) => c(o.target.value), onBlur: a, onKeyDown: (o) => o.key === "Enter" && a() }); } -function K({ options: t, onCommit: n }) { - const s = N(), r = t.map((a) => ({ +function W({ options: t, onCommit: n }) { + const s = w(), r = t.map((a) => ({ label: a.label, value: a.value - })), c = (a, o) => n(o === null ? r.filter((i, d) => d !== a) : r.map((i, d) => d === a ? o : i)); + })), c = (a, o) => n(o === null ? r.filter((l, d) => d !== a) : r.map((l, d) => d === a ? o : l)); return /* @__PURE__ */ e("div", { children: [r.map((a, o) => /* @__PURE__ */ e("div", { className: "mb-1 flex gap-1", children: [ - /* @__PURE__ */ e(g, { + /* @__PURE__ */ e(k, { "aria-label": s("demo.fieldOptionLabel"), value: a.label, - onCommit: (i) => c(o, { + onCommit: (l) => c(o, { ...a, - label: i + label: l }) }), - /* @__PURE__ */ e(g, { + /* @__PURE__ */ e(k, { "aria-label": s("demo.fieldOptionValue"), value: a.value, - onCommit: (i) => c(o, { + onCommit: (l) => c(o, { ...a, - value: i + value: l }) }), - /* @__PURE__ */ e($, { + /* @__PURE__ */ e(B, { label: s("demo.fieldOptionRemove"), className: "text-fg-muted hover:text-fg px-1", onClick: () => c(o, null), @@ -162,7 +162,7 @@ function K({ options: t, onCommit: n }) { children: s("demo.fieldOptionAdd") })] }); } -const S = { +const L = { text: { icon: "formTextfield", labelKey: "commands.form.textfield" @@ -191,35 +191,41 @@ const S = { icon: "signature", labelKey: "commands.form.signature" } -}, _ = [], R = [], y = (t) => t.ref.kind === "objectNumber" ? t.ref.objectNumber : -1; -function k() { - const t = x(O), n = x(v), s = F(), r = h(v, (c) => c.getActiveToolId(), null); +}, q = [], J = [], C = (t) => t.ref.kind === "objectNumber" ? t.ref.objectNumber : -1; +function S() { + const t = h(E), n = h(F), s = M(), r = v(F, (c) => c.getActiveToolId(), null); return { select(c) { - I(r) || n?.activateTool(A), t?.selection.select([c.ref]), s.reveal(c.page, { rect: c.box }); + A(r) || n?.activateTool(z), t?.selection.select([c.ref]), s.reveal(c.page, { rect: c.box }); + }, + /** Several widgets as the selection (a group just copied), so one drag moves them all. */ + selectAll(c) { + const [a] = c; + a && (A(r) || n?.activateTool(z), t?.selection.select(c.map((o) => o.ref)), s.reveal(a.page, { rect: a.box })); }, clear() { t?.selection.select([]); } }; } -function J() { - const t = x(u), n = h(u, (s) => s.getSelectedField(), null); - return t ? n ? /* @__PURE__ */ e(P, { field: n }) : /* @__PURE__ */ e(W, {}) : null; +const D = 10; +function Z() { + const t = h(f), n = v(f, (s) => s.getSelectedField(), null); + return t ? n ? /* @__PURE__ */ e(H, { field: n }) : /* @__PURE__ */ e(Y, {}) : null; } -function W() { - const t = N(), n = k(), s = T(), r = x(u), c = h(u, (o) => o.list(), _), a = w(() => { - const o = new Map(s.map((l) => [l.ref.objectNumber, l.index])), i = c.flatMap((l) => { - const m = r?.getWidgets(l.ref)[0], f = m ? o.get(m.page.objectNumber) : void 0; - return m && f !== void 0 ? [{ - field: l, - place: m, - index: f +function Y() { + const t = w(), n = S(), s = I(), r = h(f), c = v(f, (o) => o.list(), q), a = $(() => { + const o = new Map(s.map((i) => [i.ref.objectNumber, i.index])), l = c.flatMap((i) => { + const u = r?.getWidgets(i.ref)[0], m = u ? o.get(u.page.objectNumber) : void 0; + return u && m !== void 0 ? [{ + field: i, + place: u, + index: m }] : []; }); - i.sort((l, m) => l.index - m.index || l.place.box.y - m.place.box.y || l.place.box.x - m.place.box.x); + l.sort((i, u) => i.index - u.index || i.place.box.y - u.place.box.y || i.place.box.x - u.place.box.x); const d = /* @__PURE__ */ new Map(); - for (const l of i) d.set(l.index, [...d.get(l.index) ?? [], l]); + for (const i of l) d.set(i.index, [...d.get(i.index) ?? [], i]); return [...d]; }, [ c, @@ -238,22 +244,22 @@ function W() { })] }) : /* @__PURE__ */ e("div", { className: "min-h-0 flex-1 overflow-y-auto p-2", - children: a.map(([o, i]) => /* @__PURE__ */ e("section", { + children: a.map(([o, l]) => /* @__PURE__ */ e("section", { className: "mb-3", children: [/* @__PURE__ */ e("h3", { className: "text-fg-muted px-2 pb-1 text-[11px] font-semibold uppercase tracking-wide", children: t("formDesign.page", { params: { page: o + 1 } }) }), /* @__PURE__ */ e("ul", { className: "flex flex-col", - children: i.map(({ field: d, place: l }) => { - const m = S[d.kind]; + children: l.map(({ field: d, place: i }) => { + const u = L[d.kind]; return /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e("button", { type: "button", - onClick: () => n.select(l), + onClick: () => n.select(i), className: "hover:bg-hover flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start", children: [ /* @__PURE__ */ e(p, { - name: m?.icon ?? "formTextfield", + name: u?.icon ?? "formTextfield", size: 16, className: "text-fg-muted shrink-0" }), @@ -261,9 +267,9 @@ function W() { className: "text-fg min-w-0 flex-1 truncate text-sm", children: d.name }), - m && /* @__PURE__ */ e("span", { + u && /* @__PURE__ */ e("span", { className: "sr-only", - children: t(m.labelKey) + children: t(u.labelKey) }) ] }) }, d.name); @@ -272,8 +278,8 @@ function W() { }, o)) }); } -function P({ field: t }) { - const n = N(), s = k(), r = S[t.kind]; +function H({ field: t }) { + const n = w(), s = S(), r = L[t.kind]; return /* @__PURE__ */ e("div", { className: "min-h-0 flex-1 overflow-y-auto p-4", children: [ @@ -301,58 +307,78 @@ function P({ field: t }) { className: "text-fg-muted mb-3 text-[11px] font-semibold uppercase tracking-wide", children: n("demo.fieldSettingsTitle") }), - /* @__PURE__ */ e(E, { field: t }), - (t.kind === "radio" || t.kind === "checkbox") && /* @__PURE__ */ e(V, { field: t }) + /* @__PURE__ */ e(R, { field: t }), + (t.kind === "radio" || t.kind === "checkbox") && /* @__PURE__ */ e(Q, { field: t }) ] }); } -function V({ field: t }) { - const n = N(), s = k(), r = x(u), c = h(u, (l) => l.getWidgets(t.ref), R), a = L((l) => l.selected), o = (l) => a.some((m) => m.ref.kind === "objectNumber" && m.ref.objectNumber === y(l)), i = t.kind === "radio", d = async () => { +function Q({ field: t }) { + const n = w(), s = S(), r = h(f), c = v(f, (m) => m.getWidgets(t.ref), J), a = _((m) => m.selected), o = (m) => a.some((b) => b.ref.kind === "objectNumber" && b.ref.objectNumber === C(m)), l = t.kind === "radio", d = I(), i = async () => { + if (!r) return; + const { widget: m } = await r.addWidget(t.ref); + s.select(m); + }, u = async () => { if (!r) return; - const { widget: l } = await r.addWidget(t.ref); - s.select(l); + const m = new Map(d.map((x) => [x.ref.objectNumber, x.size])), b = (x, T) => c.some((y) => { + const O = m.get(y.page.objectNumber); + return !!O && y.box[x] + y.box[T] + D > O[T]; + }) && c.every((y) => y.box[x] - D >= 0) ? -10 : D, { widgets: N } = await r.duplicate([t.ref], { offset: { + x: b("x", "width"), + y: b("y", "height") + } }); + s.selectAll(N); }; return /* @__PURE__ */ e("section", { className: "border-border-subtle mt-4 border-t pt-4", children: [ /* @__PURE__ */ e("p", { className: "text-fg-muted mb-2 text-[11px] font-semibold uppercase tracking-wide", - children: n(i ? "formDesign.buttons" : "formDesign.boxes") + children: n(l ? "formDesign.buttons" : "formDesign.boxes") }), /* @__PURE__ */ e("ul", { className: "mb-2 flex flex-col", - children: c.map((l, m) => { - const f = t.widgets.find((C) => C.objectNumber === y(l)); + children: c.map((m, b) => { + const N = t.widgets.find((x) => x.objectNumber === C(m)); return /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e("button", { type: "button", - "aria-pressed": o(l), - onClick: () => s.select(l), - className: `hover:bg-hover flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-sm ${o(l) ? "bg-selected text-accent" : "text-fg"}`, + "aria-pressed": o(m), + onClick: () => s.select(m), + className: `hover:bg-hover flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-sm ${o(m) ? "bg-selected text-accent" : "text-fg"}`, children: [/* @__PURE__ */ e(p, { - name: i ? "formRadio" : "formCheckbox", + name: l ? "formRadio" : "formCheckbox", size: 14, className: "shrink-0" }), /* @__PURE__ */ e("span", { className: "min-w-0 flex-1 truncate", - children: i && f && "exportValue" in f ? f.exportValue : n("formDesign.box", { params: { number: m + 1 } }) + children: l && N && "exportValue" in N ? N.exportValue : n("formDesign.box", { params: { number: b + 1 } }) })] - }) }, y(l)); + }) }, C(m)); }) }), /* @__PURE__ */ e("button", { type: "button", - onClick: () => void d().catch(() => { + onClick: () => void i().catch(() => { }), className: "text-accent flex items-center gap-1 text-sm", children: [/* @__PURE__ */ e(p, { name: "plus", size: 14 - }), n(i ? "formDesign.addButton" : "formDesign.addBox")] + }), n(l ? "formDesign.addButton" : "formDesign.addBox")] + }), + l && /* @__PURE__ */ e("button", { + type: "button", + onClick: () => void u().catch(() => { + }), + className: "text-accent mt-2 flex items-center gap-1 text-sm", + children: [/* @__PURE__ */ e(p, { + name: "duplicate", + size: 14 + }), n("formDesign.duplicateGroup")] }) ] }); } export { - J as FormDesignPanel + Z as FormDesignPanel }; -//# sourceMappingURL=form-design-panel-wzDO2bUT-GN0HL8gx.js.map +//# sourceMappingURL=form-design-panel-BLoqGIJY-DEciaS3X.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/fr-CxJ-h5zO-Ct_Z5wYg.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/fr-BgJ8dOAI-D1-gtQTu.js similarity index 99% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/fr-CxJ-h5zO-Ct_Z5wYg.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/fr-BgJ8dOAI-D1-gtQTu.js index aea89cde..2414a728 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/fr-CxJ-h5zO-Ct_Z5wYg.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/fr-BgJ8dOAI-D1-gtQTu.js @@ -99,6 +99,7 @@ const e = { saveFile: "Enregistrer le fichier", removeLink: "Supprimer le lien", delete: "Supprimer", + duplicate: "Dupliquer", group: "Grouper", ungroup: "Dissocier", stampFromSelection: "Créer un tampon", @@ -476,7 +477,8 @@ const e = { boxes: "Cases", box: "Case {number}", addButton: "Ajouter un bouton", - addBox: "Ajouter une case" + addBox: "Ajouter une case", + duplicateGroup: "Dupliquer le groupe" }, stylePanel: { mixed: "(mixte)", @@ -740,4 +742,4 @@ const e = { export { e as fr }; -//# sourceMappingURL=fr-CxJ-h5zO-Ct_Z5wYg.js.map +//# sourceMappingURL=fr-BgJ8dOAI-D1-gtQTu.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/grant-prompt-BDEos2cl-4vCbb2Va.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/grant-prompt-Co4bzHaR-BWhYzDFb.js similarity index 95% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/grant-prompt-BDEos2cl-4vCbb2Va.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/grant-prompt-Co4bzHaR-BWhYzDFb.js index 41fbe771..0972ec7d 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/grant-prompt-BDEos2cl-4vCbb2Va.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/grant-prompt-Co4bzHaR-BWhYzDFb.js @@ -1,11 +1,11 @@ -import { U as k, aD as F, l as e, aE as L, aB as v, u as x, al as y, k as p, P as T, m as U } from "./init-DY-DOXIU.js"; +import { V as k, aD as F, l as e, aE as L, aB as v, u as x, am as y, k as p, Q as T, m as R } from "./init-tVr9KnGC.js"; const N = [ "displayName", "email", "title", "organization", "organizationalUnit" -], R = { +], U = { displayName: "name", email: "email", title: "organization-title", @@ -59,7 +59,7 @@ function A({ request: t, answers: n, onChange: a, invalid: l, disabled: c }) { /* @__PURE__ */ e("input", { id: i, type: o === "email" ? "email" : "text", - autoComplete: R[o], + autoComplete: U[o], value: n[o] ?? "", onChange: (f) => a({ ...n, @@ -102,11 +102,11 @@ function _() { className: "bg-app flex h-full w-full items-center justify-center overflow-auto p-8", children: /* @__PURE__ */ e("div", { className: "bg-surface border-border w-full max-w-sm rounded-xl border p-6 shadow-lg", - children: a.kind === "passphrase" ? /* @__PURE__ */ e(B, { + children: a.kind === "passphrase" ? /* @__PURE__ */ e(V, { docId: t, name: n.name, passphraseProvided: a.passphraseProvided - }) : /* @__PURE__ */ e(O, { + }) : /* @__PURE__ */ e(B, { docId: t, name: n.name, request: a.request @@ -120,7 +120,7 @@ function z({ title: t, name: n }) { children: [ /* @__PURE__ */ e("div", { className: "bg-accent-light mb-4 rounded-full p-4", - children: /* @__PURE__ */ e(U, { + children: /* @__PURE__ */ e(R, { name: "lock", size: 28, className: "text-accent" @@ -137,7 +137,7 @@ function z({ title: t, name: n }) { ] }); } -function B({ docId: t, name: n, passphraseProvided: a }) { +function V({ docId: t, name: n, passphraseProvided: a }) { const { retry: l, close: c } = v(), s = x(), r = y(), [d, o] = p(""); return /* @__PURE__ */ e("form", { onSubmit: (i) => { @@ -185,7 +185,7 @@ function B({ docId: t, name: n, passphraseProvided: a }) { ] }); } -function O({ docId: t, name: n, request: a }) { +function B({ docId: t, name: n, request: a }) { const { retry: l, close: c } = v(), s = x(), [r, d] = p({}), [o, m] = p(!1), i = o ? h(r) : a.invalid; return /* @__PURE__ */ e("form", { onSubmit: (f) => { @@ -288,4 +288,4 @@ export { _ as GrantPrompt, M as VisitorIdentityDialog }; -//# sourceMappingURL=grant-prompt-BDEos2cl-4vCbb2Va.js.map +//# sourceMappingURL=grant-prompt-Co4bzHaR-BWhYzDFb.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/grant-prompt-BDEos2cl-rK3RzVh7.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/grant-prompt-Co4bzHaR-Cd5zAJXq.js similarity index 94% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/grant-prompt-BDEos2cl-rK3RzVh7.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/grant-prompt-Co4bzHaR-Cd5zAJXq.js index 13459c5f..786309db 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/grant-prompt-BDEos2cl-rK3RzVh7.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/grant-prompt-Co4bzHaR-Cd5zAJXq.js @@ -1,4 +1,4 @@ -import { N as k, aF as L, e, aG as T, aD as v, u as x, au as y, d as p, K as E, I as R } from "./wasm-url-asset-DQFmMC86.js"; +import { O as k, aD as E, e, aE as F, aB as v, u as x, as as y, d as p, L as T, I as R } from "./wasm-url-asset-BJXsMWLm.js"; const N = [ "displayName", "email", @@ -96,8 +96,8 @@ function A({ request: t, answers: n, onChange: a, invalid: l, disabled: c }) { ] }); } -function B() { - const t = k(), n = L((l) => l.documents).find((l) => l.id === t), a = n?.openRequest; +function _() { + const t = k(), n = E((l) => l.documents).find((l) => l.id === t), a = n?.openRequest; return !t || !n || !a ? null : /* @__PURE__ */ e("div", { className: "bg-app flex h-full w-full items-center justify-center overflow-auto p-8", children: /* @__PURE__ */ e("div", { @@ -106,7 +106,7 @@ function B() { docId: t, name: n.name, passphraseProvided: a.passphraseProvided - }) : /* @__PURE__ */ e(V, { + }) : /* @__PURE__ */ e(B, { docId: t, name: n.name, request: a.request @@ -114,7 +114,7 @@ function B() { }) }); } -function F({ title: t, name: n }) { +function L({ title: t, name: n }) { return /* @__PURE__ */ e("div", { className: "flex flex-col items-center text-center", children: [ @@ -144,7 +144,7 @@ function O({ docId: t, name: n, passphraseProvided: a }) { i.preventDefault(), d && l(t, { passphrase: d }).catch(() => o("")); }, children: [ - /* @__PURE__ */ e(F, { + /* @__PURE__ */ e(L, { title: s("grantPrompt.passphraseTitle"), name: n }), @@ -185,7 +185,7 @@ function O({ docId: t, name: n, passphraseProvided: a }) { ] }); } -function V({ docId: t, name: n, request: a }) { +function B({ docId: t, name: n, request: a }) { const { retry: l, close: c } = v(), s = x(), [r, d] = p({}), [o, m] = p(!1), i = o ? h(r) : a.invalid; return /* @__PURE__ */ e("form", { onSubmit: (f) => { @@ -194,7 +194,7 @@ function V({ docId: t, name: n, request: a }) { }, noValidate: !0, children: [ - /* @__PURE__ */ e(F, { + /* @__PURE__ */ e(L, { title: s("grantPrompt.openTitle"), name: n }), @@ -226,7 +226,7 @@ function V({ docId: t, name: n, request: a }) { }); } function M() { - const t = k(), n = T((g) => g.identityRequest), { identify: a, declineIdentity: l } = v(), c = x(), s = y(), [r, d] = p({}), [o, m] = p(!1), [i, u] = p(!1); + const t = k(), n = F((g) => g.identityRequest), { identify: a, declineIdentity: l } = v(), c = x(), s = y(), [r, d] = p({}), [o, m] = p(!1), [i, u] = p(!1); if (!t || !n) return null; const f = o ? h(r) : n.invalid, C = () => { i || l(t); @@ -242,7 +242,7 @@ function M() { } } }; - return /* @__PURE__ */ e(E, { + return /* @__PURE__ */ e(T, { labelledBy: s, onClose: C, className: "bg-surface border-border w-full max-w-sm rounded-xl border p-6 shadow-lg", @@ -285,7 +285,7 @@ function M() { }); } export { - B as GrantPrompt, + _ as GrantPrompt, M as VisitorIdentityDialog }; -//# sourceMappingURL=grant-prompt-BDEos2cl-rK3RzVh7.js.map +//# sourceMappingURL=grant-prompt-Co4bzHaR-Cd5zAJXq.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/he-DdQ5RKLM-DWlzNFC0.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/he-DDOO6ydF-B5WmpXLy.js similarity index 99% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/he-DdQ5RKLM-DWlzNFC0.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/he-DDOO6ydF-B5WmpXLy.js index 81ded3a6..c597952b 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/he-DdQ5RKLM-DWlzNFC0.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/he-DDOO6ydF-B5WmpXLy.js @@ -100,6 +100,7 @@ const e = { saveFile: "שמירת הקובץ", removeLink: "הסר קישור", delete: "מחק", + duplicate: "שכפל", group: "קבץ", ungroup: "פרק קבוצה", stampFromSelection: "צור חותמת", @@ -477,7 +478,8 @@ const e = { boxes: "תיבות", box: "תיבה {number}", addButton: "הוסף לחצן", - addBox: "הוסף תיבה" + addBox: "הוסף תיבה", + duplicateGroup: "שכפל קבוצה" }, stylePanel: { mixed: "(מעורב)", @@ -741,4 +743,4 @@ const e = { export { e as he }; -//# sourceMappingURL=he-DdQ5RKLM-DWlzNFC0.js.map +//# sourceMappingURL=he-DDOO6ydF-B5WmpXLy.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/index--xJY1YJM.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/index-DdNeh5iP.js similarity index 99% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/index--xJY1YJM.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/index-DdNeh5iP.js index f337c0aa..883498f8 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/index--xJY1YJM.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/index-DdNeh5iP.js @@ -1,4 +1,4 @@ -import { aV as _ } from "./wasm-url-asset-DQFmMC86.js"; +import { aV as _ } from "./wasm-url-asset-BJXsMWLm.js"; function Te(u) { const a = u, p = Date; let r = null; @@ -886,4 +886,4 @@ export { W as QuickJsSandbox, He as createQuickJsSandbox }; -//# sourceMappingURL=index--xJY1YJM.js.map +//# sourceMappingURL=index-DdNeh5iP.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/index-DSy5zKh6.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/index-iBTPgwni.js similarity index 92% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/index-DSy5zKh6.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/index-iBTPgwni.js index 6b63c83e..b994d0a4 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/index-DSy5zKh6.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/index-iBTPgwni.js @@ -1,10 +1,10 @@ -import { p as f, C as g, r as E, b as I } from "./timestamp-D87vPTni.js"; -import { a as _ } from "./timestamp-D87vPTni.js"; +import { p as f, C as g, r as E, b as I } from "./timestamp-CjD6uYGV.js"; +import { a as _ } from "./timestamp-CjD6uYGV.js"; import { e as k, t as p, i as m, q as T, C as $, u as D } from "./engine-CcsIvE98.js"; -import { aj as C, aW as v, aX as y } from "./wasm-url-asset-DQFmMC86.js"; -import { aY as Z, aZ as G, a_ as J, a$ as Q, b0 as ee, b1 as te, b2 as ie, b3 as ne } from "./wasm-url-asset-DQFmMC86.js"; -import { certificateCommonName as q } from "./self-signed-DGAIwro5.js"; -import { selfSignedCertificate as se } from "./self-signed-DGAIwro5.js"; +import { aI as C, aW as v, aX as y } from "./wasm-url-asset-BJXsMWLm.js"; +import { aY as Z, aZ as G, a_ as J, a$ as Q, b0 as ee, b1 as te, b2 as ie, b3 as ne } from "./wasm-url-asset-BJXsMWLm.js"; +import { certificateCommonName as q } from "./self-signed-CTqGwK0Q.js"; +import { selfSignedCertificate as se } from "./self-signed-CTqGwK0Q.js"; function x(t) { const n = new T({ value: (t.signedAttrs?.attributes ?? []).map((e) => e.toSchema()) @@ -133,7 +133,7 @@ async function F(t, n) { detail: i === "unsupported" ? "the signature algorithm is not supported" : "the token signature does not verify" } : { ok: !0 }; } -async function j(t, n, e = { kind: "now" }) { +async function B(t, n, e = { kind: "now" }) { if (!n) return { status: "unknown", reason: "no trust anchors configured" }; const r = await n.anchors(); if (r.length === 0) return { status: "unknown", reason: "no trust anchors configured" }; @@ -164,7 +164,7 @@ async function j(t, n, e = { kind: "now" }) { return { status: "untrusted", reason: a.message }; } } -function B(t, n) { +function M(t, n) { return new v( y.SignatureRefused, `signing refused (${t}): ${n}`, @@ -173,7 +173,7 @@ function B(t, n) { } ); } -function M(t) { +function j(t) { switch (t) { case "adbe.pkcs7.detached": return "pkcs7"; @@ -199,14 +199,14 @@ async function z(t, n) { "a document timestamp needs a timestamp authority: a CMS key that returns an RFC 3161 token", { details: { field: "key" } } ); - const i = s ? "ETSI.RFC3161" : r.subFilter ?? "ETSI.CAdES.detached", o = M(i), a = r.digest ?? (e.kind === "raw" ? e.hash : "sha256"), d = await t.signatures.prepare({ + const i = s ? "ETSI.RFC3161" : r.subFilter ?? "ETSI.CAdES.detached", o = j(i), a = r.digest ?? (e.kind === "raw" ? e.hash : "sha256"), d = await t.signatures.prepare({ ...r, ...s ? {} : { subFilter: i }, digest: a }); try { const c = await P(e, d, i, o), u = await R({ cms: c, prepared: d, profile: o }); - if (!u.ok) throw B(u.reason, u.detail); + if (!u.ok) throw M(u.reason, u.detail); return await t.signatures.complete({ signingId: d.signingId, cms: c, @@ -253,7 +253,7 @@ async function U(t, n, e, r) { } if (c) { o = await b(c); - const l = await j(c, r.trust ?? null, s); + const l = await B(c, r.trust ?? null, s); a = l.status, d = l.reason; } const w = await V( @@ -315,14 +315,14 @@ export { ee as memoryKeyStore, _ as parseDetachedCms, te as personalSigner, - M as profileFor, + j as profileFor, ie as remoteSigner, se as selfSignedCertificate, z as sign, - j as validateChain, + B as validateChain, W as validateSignatures, b as verifyCmsSignature, R as verifyForCompletion, ne as webCryptoSigner }; -//# sourceMappingURL=index-DSy5zKh6.js.map +//# sourceMappingURL=index-iBTPgwni.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/init-DY-DOXIU.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/init-tVr9KnGC.js similarity index 60% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/init-DY-DOXIU.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/init-tVr9KnGC.js index e25e805f..69af0ffc 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/init-DY-DOXIU.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/init-tVr9KnGC.js @@ -1,71 +1,71 @@ -var oi = (e) => { +var ci = (e) => { throw TypeError(e); }; -var tr = (e, t, n) => t.has(e) || oi("Cannot " + n); -var $ = (e, t, n) => (tr(e, t, "read from private field"), n ? n.call(e) : t.get(e)), ge = (e, t, n) => t.has(e) ? oi("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, n), ue = (e, t, n, o) => (tr(e, t, "write to private field"), o ? o.call(e, n) : t.set(e, n), n), pe = (e, t, n) => (tr(e, t, "access private method"), n); -import { CommandsToken as De, resolvedCommandsEqual as Jd, unknownCommandWarning as Qd, boundCommandOf as eu, unregisteredCommand as tu, commandsPlugin as nu } from "@embedpdf/plugin-commands"; -import { formatShortcut as Qs, modesOf as el, barsInMode as ou, modeCommandOf as po, panelCommandOf as It, createLayout as ru, EXPANDED_MIN_WIDTH_PX as au, menuOf as tl, barsAt as iu, compileBar as nl, sameShortcut as su, normalizeBar as Jr, stripGroupsOf as lu, sameStripGroups as cu, layoutToolbar as du, groupMenuView as Pn, VIEW_MODE_COMMAND as ol, tabsOf as uu, hostOf as pu, sizeOf as fu, resolveLayout as mu, validateLayout as hu, edgeStackOf as gu, floatStackOf as bu, omittedCommandsOf as vu, barsInPanel as wu, panelPresentationsOf as yu, hideWhenIdleOf as _u, panelWidthFieldsOf as xu, hasVisibleUnits as ku, commandOfUnit as Su, didYouMean as Mu } from "@embedpdf/core-ui"; -import { CommandsToken as Qr } from "@embedpdf/plugin-commands/contract/host"; -import { createStandardCommands as Pu } from "@embedpdf/plugin-commands/standard"; -import { browserTextMeasurer as Ou, browserPrinter as Tu, browserClock as Cu, observeAnchoredFit as Eu, sameAnchoredFit as Au, projectAnchoredTarget as Nu, scrollbarLayout as ri, paintDefault as On, createScrollbarPresses as Iu, createStageSurface as Lu, pageSurfaceLayout as Ru, makePageContext as Du, stagePageDemand as $u, paint as We, ZOOM_BOX_DASH as zu, zoomBoxPaint as Fu, stageViewProjector as Bu, pageLayersOf as Ao, rectInPixels as Lt, SNAPSHOT_BOX_DASH as Ku, snapshotBoxPaint as Hu, pictureLayerOptionsOf as rl, partsDrawnTwice as ju, whenPresented as Uu, bindPaintedImage as Gu, toolCursorsOf as Wu, wireSelectionClipboard as Vu, mixAccent as qu, svgPoints as Yu, quadInPixels as Xu, samePageBounds as Zu, sameSelectionEndpoints as Ju, attachSelectionHandle as Qu, createFontMounts as ep, fontProgramsOf as tp, sameSelectionAnchor as np, sameRotationAnchor as op, pickRequestedFile as rp, installFilePickerProvider as ap, loadAppearanceUrls as al, editingTextKeyOf as ip, pictureOrPainting as il, shownAppearance as sl, rasterInFrame as sp, annotationDrawingOf as lp, layerTextBoxesOf as cp, frameInPixels as ll, bakedAppearanceOf as dp, lookFrameOf as up, registerRendererBehaviors as pp, sceneViewBox as fp, svgShapesOf as cl, ghostOpacity as dl, freeTextBoxOf as mp, loadObjectUrl as hp, chromeInPixels as gp, annotationChromePaint as bp, createTextBoxEditorFollower as vp, createShownUrls as ul, enrichCommentThreads as wp, objectUrlOf as yp, isolateWheel as _p, createOptimisticSelection as xp, formFocusRingStyleOf as kp, formColorsOf as Sp, FORM_CONTROL_FILL as ea, listBoxControlStyleOf as Mp, createTextFieldEditor as Pp, textFieldEditorStyleOf as Op, bindFieldFocus as Tp, widgetBoxStyleOf as Cp, pressToggle as Ep, isolatePointerDown as ta, navigableLinksOf as Ap, linkAnchorOf as Np, linkActivateContextOf as Ip, sendLinkEvent as Kn, hoverLink as Lp, isModifiedClick as Rp, openExternalUri as Dp, bindCommandShortcuts as ai, isMacPlatform as No, standardCommandsBrowser as $p, createSurfaceFocusFollower as zp, copySelection as Fp, copyImage as Bp, saveFile as na, pickFile as oa, deepActiveElementOf as xn, moveFocusInto as Kp, attachFocusTrap as Hp, observeClientGeometry as Io, directionOf as ra, anchoredViewOf as pl, fitAnchoredRect as jp, indexedDbByteStore as Up, observeOutsidePress as aa, computeReleaseVelocity as Gp, observeContentLength as Wp, attachToolbarFocus as Vp, toolbarMeasureKey as ii, TOOLBAR_ITEM_ATTRIBUTE as fl, focusablesIn as qp, attachMenuKeys as ia, observeLength as ml, observeOwnLength as Yp, createToolbarLengths as Xp, ownLengthOf as Zp, isUnavailable as Jp, createDefaultActionsUiAdapter as Qp, searchHighlightsOf as ef, createClickDetector as tf, observeWidth as sa, isFromTextField as nf, observeHeight as of, vibrationFeedback as rf } from "@embedpdf/web"; -import { standInFor as af, documentsState as si, DocumentsToken as Oe, documentState as li, shallowEqual as Tn, viewerSettingsOf as sf, isLocalEngine as hl, createKernel as lf, toPageRef as fo, annotationKey as nr, createCapabilityToken as cf, mergeSettings as df, isPluginError as ci, isReadMember as uf, PluginError as mo, isPdf as pf } from "@embedpdf/core"; -import { ShellToken as K, shellState as ff, shellPlugin as mf } from "@embedpdf/plugin-shell"; -import { interactionState as hf, InteractionToken as Cn, interactionPlugin as gf, feedbackPlugin as bf } from "@embedpdf/plugin-interaction"; -import { createScrollHandler as vf, createZoomDragHandler as wf, stageState as di, ZoomMode as or, StageToken as lt, stagePlugin as ui } from "@embedpdf/plugin-stage"; -import { RenderToken as tn, SNAPSHOT_TOOL as rr, renderPlugin as yf } from "@embedpdf/plugin-render"; -import { RedactionToken as gt, redactionPlugin as _f } from "@embedpdf/plugin-redaction"; -import { measurementState as xf, NO_PAGE_SCALE as kf, MeasurementToken as xt, measurementPlugin as Sf } from "@embedpdf/plugin-measurement"; -import { StampToken as Pe, stampState as Mf, persistStampLibraries as Pf, restoreStampLibraries as Of, stampPlugin as Tf } from "@embedpdf/plugin-stamp"; -import { i18nState as Cf, I18nToken as En, negotiateLocale as la, i18nPlugin as Ef } from "@embedpdf/plugin-i18n"; -import { LinkToken as ho, linkPlugin as Af } from "@embedpdf/plugin-link"; -import { HistoryToken as Hn, historyPlugin as Nf } from "@embedpdf/plugin-history"; -import { FormToken as nn, formState as If, formPlugin as Lf } from "@embedpdf/plugin-form"; -import { annotationKey as Ut, AnnotationToken as we, annotationPlugin as Rf } from "@embedpdf/plugin-annotation"; -import { selectionHandleViewOf as pi, SelectionToken as An, selectionHandleEndpointsOf as Df, selectionHandleGeometry as $f, HANDLE_BAR as jn, HANDLE_PAD as Pt, HANDLE_HEAD as cn, armSelectionHandle as zf, selectionState as Ff, selectionPlugin as Bf } from "@embedpdf/plugin-selection"; -import { outlineState as Kf, OutlineToken as Lo, outlinePlugin as Hf } from "@embedpdf/plugin-outline"; -import { attachmentState as jf, AttachmentToken as Ro, attachmentPlugin as Uf } from "@embedpdf/plugin-attachment"; -import { PageEditToken as Do, pageEditState as Gf, pageEditPlugin as Wf } from "@embedpdf/plugin-page-edit"; -import { SignatureToken as on, signatureState as Vf, SIGNATURES_LIBRARY_KIND as qf, signerRowsOf as Yf, signaturePlugin as Xf } from "@embedpdf/plugin-signature"; -import { LOCALES as Zf, loadDefaultLibrary as Jf } from "@embedpdf/default-stamps/library"; -import { InteractionToken as Sr } from "@embedpdf/plugin-interaction/contract"; -import { InteractionToken as $o } from "@embedpdf/plugin-interaction/contract/host"; -import { StageToken as gl } from "@embedpdf/plugin-stage/contract"; -import { resolvedCommandsEqual as Qf, unregisteredCommand as em } from "@embedpdf/plugin-commands/contract"; -import { fontProgramFamily as tm } from "@embedpdf/core-fonts"; -import { DEFAULT_SIGNATURE_FONTS as nm, loadSignatureFont as om } from "@embedpdf/default-signature-fonts/library"; -import { RenderToken as Be } from "@embedpdf/plugin-render/contract/host"; -import { SelectionToken as Gt } from "@embedpdf/plugin-selection/contract/host"; -import { hasLiveDrawing as rm, scene as am, MITER_LIMIT as bl } from "@embedpdf/core-annotation"; -import { AnnotationToken as Ue, previewBucket as im } from "@embedpdf/plugin-annotation/contract/host"; -import { AnnotationToken as vl, annotationState as sm } from "@embedpdf/plugin-annotation/contract"; -import { ActionsToken as wl, actionsPlugin as lm } from "@embedpdf/plugin-actions"; -import { FontsToken as cm } from "@embedpdf/plugin-fonts/contract"; +var ir = (e, t, n) => t.has(e) || ci("Cannot " + n); +var $ = (e, t, n) => (ir(e, t, "read from private field"), n ? n.call(e) : t.get(e)), ge = (e, t, n) => t.has(e) ? ci("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, n), pe = (e, t, n, o) => (ir(e, t, "write to private field"), o ? o.call(e, n) : t.set(e, n), n), fe = (e, t, n) => (ir(e, t, "access private method"), n); +import { CommandsToken as $e, resolvedCommandsEqual as au, unknownCommandWarning as iu, boundCommandOf as su, unregisteredCommand as lu, commandsPlugin as cu } from "@embedpdf/plugin-commands"; +import { formatShortcut as al, modesOf as il, barsInMode as du, modeCommandOf as mo, panelCommandOf as It, createLayout as uu, EXPANDED_MIN_WIDTH_PX as pu, barsAt as fu, menuOf as sl, compileBar as ll, sameShortcut as mu, normalizeBar as ra, stripGroupsOf as hu, sameStripGroups as gu, layoutToolbar as bu, groupMenuView as Tn, VIEW_MODE_COMMAND as cl, resolveLayout as vu, tabsOf as wu, edgeStackOf as yu, hostOf as _u, sizeOf as xu, omittedCommandsOf as ku, validateLayout as Su, floatStackOf as Mu, barsInPanel as Ou, panelPresentationsOf as Pu, hideWhenIdleOf as Tu, panelWidthFieldsOf as Cu, hasVisibleUnits as Eu, commandOfUnit as Au, didYouMean as Nu } from "@embedpdf/core-ui"; +import { CommandsToken as aa } from "@embedpdf/plugin-commands/contract/host"; +import { createStandardCommands as Lu } from "@embedpdf/plugin-commands/standard"; +import { browserTextMeasurer as Iu, browserPrinter as Ru, browserClock as Du, observeAnchoredFit as $u, sameAnchoredFit as zu, projectAnchoredTarget as Fu, scrollbarLayout as di, createScrollbarPresses as Bu, paintDefault as Cn, stageViewProjector as Ku, createStageSurface as ju, pageSurfaceLayout as Hu, makePageContext as Uu, stagePageDemand as Gu, paint as We, ZOOM_BOX_DASH as Wu, zoomBoxPaint as Vu, pageLayersOf as Io, rectInPixels as Qt, SNAPSHOT_BOX_DASH as qu, snapshotBoxPaint as Yu, pictureLayerOptionsOf as dl, partsDrawnTwice as Xu, whenPresented as Zu, bindPaintedImage as Ju, toolCursorsOf as Qu, wireSelectionClipboard as ep, mixAccent as tp, svgPoints as np, quadInPixels as op, attachSelectionHandle as rp, samePageBounds as ap, sameSelectionEndpoints as ip, createFontMounts as sp, fontProgramsOf as lp, sameSelectionAnchor as cp, sameRotationAnchor as dp, pickRequestedFile as up, installFilePickerProvider as pp, loadAppearanceUrls as ul, editingTextKeyOf as fp, pictureOrPainting as pl, shownAppearance as fl, rasterInFrame as mp, annotationDrawingOf as hp, layerTextBoxesOf as gp, frameInPixels as ml, bakedAppearanceOf as bp, lookFrameOf as vp, registerRendererBehaviors as wp, sceneViewBox as yp, svgShapesOf as hl, ghostOpacity as gl, freeTextBoxOf as _p, loadObjectUrl as xp, chromeInPixels as kp, annotationChromePaint as Sp, createTextBoxEditorFollower as Mp, createShownUrls as bl, enrichCommentThreads as Op, objectUrlOf as Pp, isolateWheel as Tp, createOptimisticSelection as Cp, formFocusRingStyleOf as Ep, formColorsOf as Ap, FORM_CONTROL_FILL as ia, listBoxControlStyleOf as Np, createTextFieldEditor as Lp, textFieldEditorStyleOf as Ip, bindFieldFocus as Rp, widgetBoxStyleOf as Dp, pressToggle as $p, isolatePointerDown as sa, navigableLinksOf as zp, linkAnchorOf as Fp, linkActivateContextOf as Bp, sendLinkEvent as Hn, hoverLink as Kp, isModifiedClick as jp, openExternalUri as Hp, bindCommandShortcuts as ui, isMacPlatform as Ro, standardCommandsBrowser as Up, createSurfaceFocusFollower as Gp, copySelection as Wp, copyImage as Vp, saveFile as la, pickFile as ca, deepActiveElementOf as kn, moveFocusInto as qp, attachFocusTrap as Yp, observeClientGeometry as Do, directionOf as da, anchoredViewOf as vl, fitAnchoredRect as Xp, indexedDbByteStore as Zp, observeOutsidePress as ua, computeReleaseVelocity as Jp, observeContentLength as Qp, attachToolbarFocus as ef, toolbarMeasureKey as pi, TOOLBAR_ITEM_ATTRIBUTE as wl, focusablesIn as tf, attachMenuKeys as pa, observeLength as yl, observeOwnLength as nf, createToolbarLengths as of, ownLengthOf as rf, isUnavailable as af, createDefaultActionsUiAdapter as sf, searchHighlightsOf as lf, createClickDetector as cf, observeWidth as fa, isFromTextField as df, observeHeight as uf, vibrationFeedback as pf } from "@embedpdf/web"; +import { standInFor as ff, documentsState as fi, DocumentsToken as Pe, documentState as mi, shallowEqual as En, viewerSettingsOf as mf, isLocalEngine as _l, createKernel as hf, toPageRef as ho, annotationKey as sr, createCapabilityToken as gf, mergeSettings as bf, isPluginError as hi, isReadMember as vf, PluginError as go, isPdf as wf } from "@embedpdf/core"; +import { ShellToken as H, shellState as yf, shellPlugin as _f } from "@embedpdf/plugin-shell"; +import { interactionState as xf, InteractionToken as An, interactionPlugin as kf, feedbackPlugin as Sf } from "@embedpdf/plugin-interaction"; +import { createScrollHandler as Mf, createZoomDragHandler as Of, stageState as gi, ZoomMode as lr, StageToken as ct, stagePlugin as bi } from "@embedpdf/plugin-stage"; +import { RenderToken as en, SNAPSHOT_TOOL as cr, renderPlugin as Pf } from "@embedpdf/plugin-render"; +import { RedactionToken as ht, redactionPlugin as Tf } from "@embedpdf/plugin-redaction"; +import { measurementState as Cf, NO_PAGE_SCALE as Ef, MeasurementToken as _t, measurementPlugin as Af } from "@embedpdf/plugin-measurement"; +import { StampToken as Oe, stampState as Nf, persistStampLibraries as Lf, restoreStampLibraries as If, stampPlugin as Rf } from "@embedpdf/plugin-stamp"; +import { i18nState as Df, I18nToken as $o, negotiateLocale as zo, i18nPlugin as $f } from "@embedpdf/plugin-i18n"; +import { LinkToken as bo, linkPlugin as zf } from "@embedpdf/plugin-link"; +import { HistoryToken as Un, historyPlugin as Ff } from "@embedpdf/plugin-history"; +import { FormToken as tn, formState as Bf, formPlugin as Kf } from "@embedpdf/plugin-form"; +import { annotationKey as jt, AnnotationToken as ye, annotationPlugin as jf } from "@embedpdf/plugin-annotation"; +import { armSelectionHandle as Hf, selectionHandleViewOf as vi, SelectionToken as Nn, selectionState as Uf, selectionHandleEndpointsOf as Gf, selectionHandleGeometry as Wf, HANDLE_BAR as Gn, HANDLE_PAD as Pt, HANDLE_HEAD as dn, selectionPlugin as Vf } from "@embedpdf/plugin-selection"; +import { outlineState as qf, OutlineToken as Fo, outlinePlugin as Yf } from "@embedpdf/plugin-outline"; +import { attachmentState as Xf, AttachmentToken as Bo, attachmentPlugin as Zf } from "@embedpdf/plugin-attachment"; +import { PageEditToken as Ko, pageEditState as Jf, pageEditPlugin as Qf } from "@embedpdf/plugin-page-edit"; +import { SignatureToken as nn, signatureState as em, SIGNATURES_LIBRARY_KIND as tm, signerRowsOf as nm, signaturePlugin as om } from "@embedpdf/plugin-signature"; +import { LOCALES as rm, loadDefaultLibrary as am } from "@embedpdf/default-stamps/library"; +import { InteractionToken as Er } from "@embedpdf/plugin-interaction/contract"; +import { InteractionToken as jo } from "@embedpdf/plugin-interaction/contract/host"; +import { StageToken as xl } from "@embedpdf/plugin-stage/contract"; +import { resolvedCommandsEqual as im, unregisteredCommand as sm } from "@embedpdf/plugin-commands/contract"; +import { fontProgramFamily as lm } from "@embedpdf/core-fonts"; +import { DEFAULT_SIGNATURE_FONTS as cm, loadSignatureFont as dm } from "@embedpdf/default-signature-fonts/library"; +import { RenderToken as Ke } from "@embedpdf/plugin-render/contract/host"; +import { SelectionToken as Ht } from "@embedpdf/plugin-selection/contract/host"; +import { hasLiveDrawing as um, scene as pm, MITER_LIMIT as kl } from "@embedpdf/core-annotation"; +import { AnnotationToken as Ue, previewBucket as fm } from "@embedpdf/plugin-annotation/contract/host"; +import { annotationState as mm, AnnotationToken as Sl } from "@embedpdf/plugin-annotation/contract"; +import { ActionsToken as Ml, actionsPlugin as hm } from "@embedpdf/plugin-actions"; +import { FontsToken as gm } from "@embedpdf/plugin-fonts/contract"; import { FormToken as Te } from "@embedpdf/plugin-form/contract/host"; -import { SignatureToken as fi } from "@embedpdf/plugin-signature/contract"; -import { createHoverPump as dm, ActionsToken as um } from "@embedpdf/plugin-actions/contract"; -import { LinkToken as yl } from "@embedpdf/plugin-link/contract/host"; -import { searchState as pm, SearchToken as rn, searchPlugin as fm } from "@embedpdf/plugin-search"; -import { FontsToken as mm, fontsPlugin as hm } from "@embedpdf/plugin-fonts"; -import { MetadataToken as gm, metadataPlugin as bm } from "@embedpdf/plugin-metadata"; -var Nn, I, _l, mt, mi, xl, kl, ar, oo, hn, Sl, ca, Mr, Pr, Ml, go = {}, bo = [], vm = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, In = Array.isArray; +import { SignatureToken as wi } from "@embedpdf/plugin-signature/contract"; +import { createHoverPump as bm, ActionsToken as vm } from "@embedpdf/plugin-actions/contract"; +import { LinkToken as Ol } from "@embedpdf/plugin-link/contract/host"; +import { searchState as wm, SearchToken as on, searchPlugin as ym } from "@embedpdf/plugin-search"; +import { FontsToken as _m, fontsPlugin as xm } from "@embedpdf/plugin-fonts"; +import { MetadataToken as km, metadataPlugin as Sm } from "@embedpdf/plugin-metadata"; +var Ln, N, Pl, ft, yi, Tl, Cl, dr, ao, gn, El, ma, Ar, Nr, Al, vo = {}, wo = [], Mm = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, In = Array.isArray; function Ge(e, t) { for (var n in t) e[n] = t[n]; return e; } -function da(e) { +function ha(e) { e && e.parentNode && e.parentNode.removeChild(e); } function Ee(e, t, n) { var o, r, a, s = {}; for (a in t) a == "key" ? o = t[a] : a == "ref" ? r = t[a] : s[a] = t[a]; - if (arguments.length > 2 && (s.children = arguments.length > 3 ? Nn.call(arguments, 2) : n), typeof e == "function" && e.defaultProps != null) for (a in e.defaultProps) s[a] === void 0 && (s[a] = e.defaultProps[a]); - return gn(e, s, o, r, null); + if (arguments.length > 2 && (s.children = arguments.length > 3 ? Ln.call(arguments, 2) : n), typeof e == "function" && e.defaultProps != null) for (a in e.defaultProps) s[a] === void 0 && (s[a] = e.defaultProps[a]); + return bn(e, s, o, r, null); } -function gn(e, t, n, o, r) { - var a = { type: e, props: t, key: n, ref: o, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: r ?? ++_l, __i: -1, __u: 0 }; - return r == null && I.vnode != null && I.vnode(a), a; +function bn(e, t, n, o, r) { + var a = { type: e, props: t, key: n, ref: o, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: r ?? ++Pl, __i: -1, __u: 0 }; + return r == null && N.vnode != null && N.vnode(a), a; } -function wm() { +function Om() { return { current: null }; } function D(e) { @@ -74,61 +74,61 @@ function D(e) { function xe(e, t) { this.props = e, this.context = t; } -function Xt(e, t) { - if (t == null) return e.__ ? Xt(e.__, e.__i + 1) : null; +function qt(e, t) { + if (t == null) return e.__ ? qt(e.__, e.__i + 1) : null; for (var n; t < e.__k.length; t++) if ((n = e.__k[t]) != null && n.__e != null) return n.__e; - return typeof e.type == "function" ? Xt(e) : null; + return typeof e.type == "function" ? qt(e) : null; } -function ym(e) { +function Pm(e) { if (e.__P && e.__d) { var t = e.__v, n = t.__e, o = [], r = [], a = Ge({}, t); - a.__v = t.__v + 1, I.vnode && I.vnode(a), ua(e.__P, a, t, e.__n, e.__P.namespaceURI, 32 & t.__u ? [n] : null, o, n ?? Xt(t), !!(32 & t.__u), r), a.__v = t.__v, a.__.__k[a.__i] = a, El(o, a, r), t.__e = t.__ = null, a.__e != n && Pl(a); + a.__v = t.__v + 1, N.vnode && N.vnode(a), ga(e.__P, a, t, e.__n, e.__P.namespaceURI, 32 & t.__u ? [n] : null, o, n ?? qt(t), !!(32 & t.__u), r), a.__v = t.__v, a.__.__k[a.__i] = a, Dl(o, a, r), t.__e = t.__ = null, a.__e != n && Nl(a); } } -function Pl(e) { +function Nl(e) { if ((e = e.__) != null && e.__c != null) return e.__e = e.__c.base = null, e.__k.some(function(t) { if (t != null && t.__e != null) return e.__e = e.__c.base = t.__e; - }), Pl(e); + }), Nl(e); } -function Or(e) { - (!e.__d && (e.__d = !0) && mt.push(e) && !vo.__r++ || mi != I.debounceRendering) && ((mi = I.debounceRendering) || xl)(vo); +function Lr(e) { + (!e.__d && (e.__d = !0) && ft.push(e) && !yo.__r++ || yi != N.debounceRendering) && ((yi = N.debounceRendering) || Tl)(yo); } -function vo() { +function yo() { try { - for (var e, t = 1; mt.length; ) mt.length > t && mt.sort(kl), e = mt.shift(), t = mt.length, ym(e); + for (var e, t = 1; ft.length; ) ft.length > t && ft.sort(Cl), e = ft.shift(), t = ft.length, Pm(e); } finally { - mt.length = vo.__r = 0; + ft.length = yo.__r = 0; } } -function Ol(e, t, n, o, r, a, s, l, d, c, p) { - var f, u, m, b, h, g, y, v = o && o.__k || bo, _ = t.length; - for (d = _m(n, t, v, d, _), f = 0; f < _; f++) (m = n.__k[f]) != null && (u = m.__i != -1 && v[m.__i] || go, m.__i = f, g = ua(e, m, u, r, a, s, l, d, c, p), b = m.__e, m.ref && u.ref != m.ref && (u.ref && pa(u.ref, null, m), p.push(m.ref, m.__c || b, m)), h == null && b != null && (h = b), (y = !!(4 & m.__u)) || u.__k === m.__k ? (d = Tl(m, d, e, y), y && u.__e && (u.__e = null)) : typeof m.type == "function" && g !== void 0 ? d = g : b && (d = b.nextSibling), m.__u &= -7); +function Ll(e, t, n, o, r, a, s, l, d, c, p) { + var f, u, m, g, h, b, y, v = o && o.__k || wo, _ = t.length; + for (d = Tm(n, t, v, d, _), f = 0; f < _; f++) (m = n.__k[f]) != null && (u = m.__i != -1 && v[m.__i] || vo, m.__i = f, b = ga(e, m, u, r, a, s, l, d, c, p), g = m.__e, m.ref && u.ref != m.ref && (u.ref && ba(u.ref, null, m), p.push(m.ref, m.__c || g, m)), h == null && g != null && (h = g), (y = !!(4 & m.__u)) || u.__k === m.__k ? (d = Il(m, d, e, y), y && u.__e && (u.__e = null)) : typeof m.type == "function" && b !== void 0 ? d = b : g && (d = g.nextSibling), m.__u &= -7); return n.__e = h, d; } -function _m(e, t, n, o, r) { +function Tm(e, t, n, o, r) { var a, s, l, d, c, p = n.length, f = p, u = 0; - for (e.__k = new Array(r), a = 0; a < r; a++) (s = t[a]) != null && typeof s != "boolean" && typeof s != "function" ? (typeof s == "string" || typeof s == "number" || typeof s == "bigint" || s.constructor == String ? s = e.__k[a] = gn(null, s, null, null, null) : In(s) ? s = e.__k[a] = gn(D, { children: s }, null, null, null) : s.constructor === void 0 && s.__b > 0 ? s = e.__k[a] = gn(s.type, s.props, s.key, s.ref ? s.ref : null, s.__v) : e.__k[a] = s, d = a + u, s.__ = e, s.__b = e.__b + 1, l = null, (c = s.__i = xm(s, n, d, f)) != -1 && (f--, (l = n[c]) && (l.__u |= 2)), l == null || l.__v == null ? (c == -1 && (r > p ? u-- : r < p && u++), typeof s.type != "function" && (s.__u |= 4)) : c != d && (c == d - 1 ? u-- : c == d + 1 ? u++ : (c > d ? u-- : u++, s.__u |= 4))) : e.__k[a] = null; - if (f) for (a = 0; a < p; a++) (l = n[a]) != null && (2 & l.__u) == 0 && (l.__e == o && (o = Xt(l)), Nl(l, l)); + for (e.__k = new Array(r), a = 0; a < r; a++) (s = t[a]) != null && typeof s != "boolean" && typeof s != "function" ? (typeof s == "string" || typeof s == "number" || typeof s == "bigint" || s.constructor == String ? s = e.__k[a] = bn(null, s, null, null, null) : In(s) ? s = e.__k[a] = bn(D, { children: s }, null, null, null) : s.constructor === void 0 && s.__b > 0 ? s = e.__k[a] = bn(s.type, s.props, s.key, s.ref ? s.ref : null, s.__v) : e.__k[a] = s, d = a + u, s.__ = e, s.__b = e.__b + 1, l = null, (c = s.__i = Cm(s, n, d, f)) != -1 && (f--, (l = n[c]) && (l.__u |= 2)), l == null || l.__v == null ? (c == -1 && (r > p ? u-- : r < p && u++), typeof s.type != "function" && (s.__u |= 4)) : c != d && (c == d - 1 ? u-- : c == d + 1 ? u++ : (c > d ? u-- : u++, s.__u |= 4))) : e.__k[a] = null; + if (f) for (a = 0; a < p; a++) (l = n[a]) != null && (2 & l.__u) == 0 && (l.__e == o && (o = qt(l)), zl(l, l)); return o; } -function Tl(e, t, n, o) { +function Il(e, t, n, o) { var r, a; if (typeof e.type == "function") { - for (r = e.__k, a = 0; r && a < r.length; a++) r[a] && (r[a].__ = e, t = Tl(r[a], t, n, o)); + for (r = e.__k, a = 0; r && a < r.length; a++) r[a] && (r[a].__ = e, t = Il(r[a], t, n, o)); return t; } - e.__e != t && (o && (t && e.type && !t.parentNode && (t = Xt(e)), n.insertBefore(e.__e, t || null)), t = e.__e); + e.__e != t && (o && (t && e.type && !t.parentNode && (t = qt(e)), n.insertBefore(e.__e, t || null)), t = e.__e); do t = t && t.nextSibling; while (t != null && t.nodeType == 8); return t; } -function Le(e, t) { +function Re(e, t) { return t = t || [], e == null || typeof e == "boolean" || (In(e) ? e.some(function(n) { - Le(n, t); + Re(n, t); }) : t.push(e)), t; } -function xm(e, t, n, o) { +function Cm(e, t, n, o) { var r, a, s, l = e.key, d = e.type, c = t[n], p = c != null && (2 & c.__u) == 0; if (c === null && l == null || p && l == c.key && d == c.type) return n; if (o > (p ? 1 : 0)) { @@ -136,17 +136,17 @@ function xm(e, t, n, o) { } return -1; } -function hi(e, t, n) { - t[0] == "-" ? e.setProperty(t, n ?? "") : e[t] = n == null ? "" : typeof n != "number" || vm.test(t) ? n : n + "px"; +function _i(e, t, n) { + t[0] == "-" ? e.setProperty(t, n ?? "") : e[t] = n == null ? "" : typeof n != "number" || Mm.test(t) ? n : n + "px"; } -function Un(e, t, n, o, r) { +function Wn(e, t, n, o, r) { var a, s; e: if (t == "style") if (typeof n == "string") e.style.cssText = n; else { - if (typeof o == "string" && (e.style.cssText = o = ""), o) for (t in o) n && t in n || hi(e.style, t, ""); - if (n) for (t in n) o && n[t] == o[t] || hi(e.style, t, n[t]); + if (typeof o == "string" && (e.style.cssText = o = ""), o) for (t in o) n && t in n || _i(e.style, t, ""); + if (n) for (t in n) o && n[t] == o[t] || _i(e.style, t, n[t]); } - else if (t[0] == "o" && t[1] == "n") a = t != (t = t.replace(Sl, "$1")), s = t.toLowerCase(), t = s in e || t == "onFocusOut" || t == "onFocusIn" ? s.slice(2) : t.slice(2), e.l || (e.l = {}), e.l[t + a] = n, n ? o ? n[hn] = o[hn] : (n[hn] = ca, e.addEventListener(t, a ? Pr : Mr, a)) : e.removeEventListener(t, a ? Pr : Mr, a); + else if (t[0] == "o" && t[1] == "n") a = t != (t = t.replace(El, "$1")), s = t.toLowerCase(), t = s in e || t == "onFocusOut" || t == "onFocusIn" ? s.slice(2) : t.slice(2), e.l || (e.l = {}), e.l[t + a] = n, n ? o ? n[gn] = o[gn] : (n[gn] = ma, e.addEventListener(t, a ? Nr : Ar, a)) : e.removeEventListener(t, a ? Nr : Ar, a); else { if (r == "http://www.w3.org/2000/svg") t = t.replace(/xlink(H|:h)/, "h").replace(/sName$/, "s"); else if (t != "width" && t != "height" && t != "href" && t != "list" && t != "form" && t != "tabIndex" && t != "download" && t != "rowSpan" && t != "colSpan" && t != "role" && t != "popover" && t in e) try { @@ -157,72 +157,72 @@ function Un(e, t, n, o, r) { typeof n == "function" || (n == null || n === !1 && t[4] != "-" ? e.removeAttribute(t) : e.setAttribute(t, t == "popover" && n == 1 ? "" : n)); } } -function gi(e) { +function xi(e) { return function(t) { if (this.l) { var n = this.l[t.type + e]; - if (t[oo] == null) t[oo] = ca++; - else if (t[oo] < n[hn]) return; - return n(I.event ? I.event(t) : t); + if (t[ao] == null) t[ao] = ma++; + else if (t[ao] < n[gn]) return; + return n(N.event ? N.event(t) : t); } }; } -function ua(e, t, n, o, r, a, s, l, d, c) { - var p, f, u, m, b, h, g, y, v, _, O, S, x, P, M, T, L = t.type; +function ga(e, t, n, o, r, a, s, l, d, c) { + var p, f, u, m, g, h, b, y, v, _, P, S, x, O, M, T, L = t.type; if (t.constructor !== void 0) return null; - 128 & n.__u && (d = !!(32 & n.__u), a = [l = t.__e = n.__e]), (p = I.__b) && p(t); + 128 & n.__u && (d = !!(32 & n.__u), a = [l = t.__e = n.__e]), (p = N.__b) && p(t); e: if (typeof L == "function") { f = s.length; try { - if (v = t.props, _ = L.prototype && L.prototype.render, O = (p = L.contextType) && o[p.__c], S = p ? O ? O.props.value : p.__ : o, n.__c ? y = (u = t.__c = n.__c).__ = u.__E : (_ ? t.__c = u = new L(v, S) : (t.__c = u = new xe(v, S), u.constructor = L, u.render = Sm), O && O.sub(u), u.state || (u.state = {}), u.__n = o, m = u.__d = !0, u.__h = [], u._sb = []), _ && u.__s == null && (u.__s = u.state), _ && L.getDerivedStateFromProps != null && (u.__s == u.state && (u.__s = Ge({}, u.__s)), Ge(u.__s, L.getDerivedStateFromProps(v, u.__s))), b = u.props, h = u.state, u.__v = t, m) _ && L.getDerivedStateFromProps == null && u.componentWillMount != null && u.componentWillMount(), _ && u.componentDidMount != null && u.__h.push(u.componentDidMount); + if (v = t.props, _ = L.prototype && L.prototype.render, P = (p = L.contextType) && o[p.__c], S = p ? P ? P.props.value : p.__ : o, n.__c ? y = (u = t.__c = n.__c).__ = u.__E : (_ ? t.__c = u = new L(v, S) : (t.__c = u = new xe(v, S), u.constructor = L, u.render = Am), P && P.sub(u), u.state || (u.state = {}), u.__n = o, m = u.__d = !0, u.__h = [], u._sb = []), _ && u.__s == null && (u.__s = u.state), _ && L.getDerivedStateFromProps != null && (u.__s == u.state && (u.__s = Ge({}, u.__s)), Ge(u.__s, L.getDerivedStateFromProps(v, u.__s))), g = u.props, h = u.state, u.__v = t, m) _ && L.getDerivedStateFromProps == null && u.componentWillMount != null && u.componentWillMount(), _ && u.componentDidMount != null && u.__h.push(u.componentDidMount); else { - if (_ && L.getDerivedStateFromProps == null && v !== b && u.componentWillReceiveProps != null && u.componentWillReceiveProps(v, S), t.__v == n.__v || !u.__e && u.shouldComponentUpdate != null && u.shouldComponentUpdate(v, u.__s, S) === !1) { - t.__v != n.__v && (u.props = v, u.state = u.__s, u.__d = !1), t.__e = n.__e, t.__k = n.__k, t.__k.some(function(A) { - A && (A.__ = t); - }), bo.push.apply(u.__h, u._sb), u._sb = [], u.__h.length && s.push(u); + if (_ && L.getDerivedStateFromProps == null && v !== g && u.componentWillReceiveProps != null && u.componentWillReceiveProps(v, S), t.__v == n.__v || !u.__e && u.shouldComponentUpdate != null && u.shouldComponentUpdate(v, u.__s, S) === !1) { + t.__v != n.__v && (u.props = v, u.state = u.__s, u.__d = !1), t.__e = n.__e, t.__k = n.__k, t.__k.some(function(B) { + B && (B.__ = t); + }), wo.push.apply(u.__h, u._sb), u._sb = [], u.__h.length && s.push(u); break e; } u.componentWillUpdate != null && u.componentWillUpdate(v, u.__s, S), _ && u.componentDidUpdate != null && u.__h.push(function() { - u.componentDidUpdate(b, h, g); + u.componentDidUpdate(g, h, b); }); } - if (u.context = S, u.props = v, u.__P = e, u.__e = !1, x = I.__r, P = 0, _) u.state = u.__s, u.__d = !1, x && x(t), p = u.render(u.props, u.state, u.context), bo.push.apply(u.__h, u._sb), u._sb = []; + if (u.context = S, u.props = v, u.__P = e, u.__e = !1, x = N.__r, O = 0, _) u.state = u.__s, u.__d = !1, x && x(t), p = u.render(u.props, u.state, u.context), wo.push.apply(u.__h, u._sb), u._sb = []; else do u.__d = !1, x && x(t), p = u.render(u.props, u.state, u.context), u.state = u.__s; - while (u.__d && ++P < 25); - u.state = u.__s, u.getChildContext != null && (o = Ge(Ge({}, o), u.getChildContext())), _ && !m && u.getSnapshotBeforeUpdate != null && (g = u.getSnapshotBeforeUpdate(b, h)), M = p != null && p.type === D && p.key == null ? Al(p.props.children) : p, l = Ol(e, In(M) ? M : [M], t, n, o, r, a, s, l, d, c), u.base = t.__e, t.__u &= -161, u.__h.length && s.push(u), y && (u.__E = u.__ = null); - } catch (A) { + while (u.__d && ++O < 25); + u.state = u.__s, u.getChildContext != null && (o = Ge(Ge({}, o), u.getChildContext())), _ && !m && u.getSnapshotBeforeUpdate != null && (b = u.getSnapshotBeforeUpdate(g, h)), M = p != null && p.type === D && p.key == null ? $l(p.props.children) : p, l = Ll(e, In(M) ? M : [M], t, n, o, r, a, s, l, d, c), u.base = t.__e, t.__u &= -161, u.__h.length && s.push(u), y && (u.__E = u.__ = null); + } catch (B) { if (s.length = f, t.__v = null, d || a != null) { - if (A.then) { + if (B.then) { for (t.__u |= d ? 160 : 128; l && l.nodeType == 8 && l.nextSibling; ) l = l.nextSibling; a != null && (a[a.indexOf(l)] = null), t.__e = l; - } else if (a != null) for (T = a.length; T--; ) da(a[T]); + } else if (a != null) for (T = a.length; T--; ) ha(a[T]); } else t.__e = n.__e; - t.__k == null && (t.__k = n.__k || []), A.then || Cl(t), I.__e(A, t, n); + t.__k == null && (t.__k = n.__k || []), B.then || Rl(t), N.__e(B, t, n); } - } else a == null && t.__v == n.__v ? (t.__k = n.__k, t.__e = n.__e) : l = t.__e = km(n.__e, t, n, o, r, a, s, d, c); - return (p = I.diffed) && p(t), 128 & t.__u ? void 0 : l; + } else a == null && t.__v == n.__v ? (t.__k = n.__k, t.__e = n.__e) : l = t.__e = Em(n.__e, t, n, o, r, a, s, d, c); + return (p = N.diffed) && p(t), 128 & t.__u ? void 0 : l; } -function Cl(e) { - e && (e.__c && (e.__c.__e = !0), e.__k && e.__k.some(Cl)); +function Rl(e) { + e && (e.__c && (e.__c.__e = !0), e.__k && e.__k.some(Rl)); } -function El(e, t, n) { - for (var o = 0; o < n.length; o++) pa(n[o], n[++o], n[++o]); - I.__c && I.__c(t, e), e.some(function(r) { +function Dl(e, t, n) { + for (var o = 0; o < n.length; o++) ba(n[o], n[++o], n[++o]); + N.__c && N.__c(t, e), e.some(function(r) { try { e = r.__h, r.__h = [], e.some(function(a) { a.call(r); }); } catch (a) { - I.__e(a, r.__v); + N.__e(a, r.__v); } }); } -function Al(e) { - return typeof e != "object" || e == null || e.__b > 0 ? e : In(e) ? e.map(Al) : e.constructor !== void 0 ? null : Ge({}, e); +function $l(e) { + return typeof e != "object" || e == null || e.__b > 0 ? e : In(e) ? e.map($l) : e.constructor !== void 0 ? null : Ge({}, e); } -function km(e, t, n, o, r, a, s, l, d) { - var c, p, f, u, m, b, h, g = n.props || go, y = t.props, v = t.type; +function Em(e, t, n, o, r, a, s, l, d) { + var c, p, f, u, m, g, h, b = n.props || vo, y = t.props, v = t.type; if (v == "svg" ? r = "http://www.w3.org/2000/svg" : v == "math" ? r = "http://www.w3.org/1998/Math/MathML" : r || (r = "http://www.w3.org/1999/xhtml"), a != null) { for (c = 0; c < a.length; c++) if ((m = a[c]) && "setAttribute" in m == !!v && (v ? m.localName == v : m.nodeType == 3)) { e = m, a[c] = null; @@ -231,56 +231,56 @@ function km(e, t, n, o, r, a, s, l, d) { } if (e == null) { if (v == null) return document.createTextNode(y); - e = document.createElementNS(r, v, y.is && y), l && (I.__m && I.__m(t, a), l = !1), a = null; + e = document.createElementNS(r, v, y.is && y), l && (N.__m && N.__m(t, a), l = !1), a = null; } - if (v == null) g === y || l && e.data == y || (e.data = y); + if (v == null) b === y || l && e.data == y || (e.data = y); else { - if (a = v == "textarea" && y.defaultValue != null ? null : a && Nn.call(e.childNodes), !l && a != null) for (g = {}, c = 0; c < e.attributes.length; c++) g[(m = e.attributes[c]).name] = m.value; - for (c in g) m = g[c], c == "dangerouslySetInnerHTML" ? f = m : c == "children" || c in y || c == "value" && "defaultValue" in y || c == "checked" && "defaultChecked" in y || Un(e, c, null, m, r); - for (c in y) m = y[c], c == "children" ? u = m : c == "dangerouslySetInnerHTML" ? p = m : c == "value" ? b = m : c == "checked" ? h = m : l && typeof m != "function" || g[c] === m || Un(e, c, m, g[c], r); + if (a = v == "textarea" && y.defaultValue != null ? null : a && Ln.call(e.childNodes), !l && a != null) for (b = {}, c = 0; c < e.attributes.length; c++) b[(m = e.attributes[c]).name] = m.value; + for (c in b) m = b[c], c == "dangerouslySetInnerHTML" ? f = m : c == "children" || c in y || c == "value" && "defaultValue" in y || c == "checked" && "defaultChecked" in y || Wn(e, c, null, m, r); + for (c in y) m = y[c], c == "children" ? u = m : c == "dangerouslySetInnerHTML" ? p = m : c == "value" ? g = m : c == "checked" ? h = m : l && typeof m != "function" || b[c] === m || Wn(e, c, m, b[c], r); if (p) l || f && (p.__html == f.__html || p.__html == e.innerHTML) || (e.innerHTML = p.__html), t.__k = []; - else if (f && (e.innerHTML = ""), Ol(t.type == "template" ? e.content : e, In(u) ? u : [u], t, n, o, v == "foreignObject" ? "http://www.w3.org/1999/xhtml" : r, a, s, a ? a[0] : n.__k && Xt(n, 0), l, d), a != null) for (c = a.length; c--; ) da(a[c]); - l && v != "textarea" || (c = "value", v == "progress" && b == null ? e.removeAttribute("value") : b != null && (b !== e[c] || v == "progress" && !b || v == "option" && b != g[c]) && Un(e, c, b, g[c], r), c = "checked", h != null && h != e[c] && Un(e, c, h, g[c], r)); + else if (f && (e.innerHTML = ""), Ll(t.type == "template" ? e.content : e, In(u) ? u : [u], t, n, o, v == "foreignObject" ? "http://www.w3.org/1999/xhtml" : r, a, s, a ? a[0] : n.__k && qt(n, 0), l, d), a != null) for (c = a.length; c--; ) ha(a[c]); + l && v != "textarea" || (c = "value", v == "progress" && g == null ? e.removeAttribute("value") : g != null && (g !== e[c] || v == "progress" && !g || v == "option" && g != b[c]) && Wn(e, c, g, b[c], r), c = "checked", h != null && h != e[c] && Wn(e, c, h, b[c], r)); } return e; } -function pa(e, t, n) { +function ba(e, t, n) { try { if (typeof e == "function") { var o = typeof e.__u == "function"; o && e.__u(), o && t == null || (e.__u = e(t)); } else e.current = t; } catch (r) { - I.__e(r, n); + N.__e(r, n); } } -function Nl(e, t, n) { +function zl(e, t, n) { var o, r; - if (I.unmount && I.unmount(e), (o = e.ref) && (o.current && o.current != e.__e || pa(o, null, t)), (o = e.__c) != null) { + if (N.unmount && N.unmount(e), (o = e.ref) && (o.current && o.current != e.__e || ba(o, null, t)), (o = e.__c) != null) { if (o.componentWillUnmount) try { o.componentWillUnmount(); } catch (a) { - I.__e(a, t); + N.__e(a, t); } o.base = o.__P = o.__n = null; } - if (o = e.__k) for (r = 0; r < o.length; r++) o[r] && Nl(o[r], t, n || typeof e.type != "function"); - n || da(e.__e), e.__c = e.__ = e.__e = void 0; + if (o = e.__k) for (r = 0; r < o.length; r++) o[r] && zl(o[r], t, n || typeof e.type != "function"); + n || ha(e.__e), e.__c = e.__ = e.__e = void 0; } -function Sm(e, t, n) { +function Am(e, t, n) { return this.constructor(e, n); } function Rt(e, t, n) { var o, r, a, s; - t == document && (t = document.documentElement), I.__ && I.__(e, t), r = (o = typeof n == "function") ? null : n && n.__k || t.__k, a = [], s = [], ua(t, e = (!o && n || t).__k = Ee(D, null, [e]), r || go, go, t.namespaceURI, !o && n ? [n] : r ? null : t.firstChild ? Nn.call(t.childNodes) : null, a, !o && n ? n : r ? r.__e : t.firstChild, o, s), El(a, e, s), e.props.children = null; + t == document && (t = document.documentElement), N.__ && N.__(e, t), r = (o = typeof n == "function") ? null : n && n.__k || t.__k, a = [], s = [], ga(t, e = (!o && n || t).__k = Ee(D, null, [e]), r || vo, vo, t.namespaceURI, !o && n ? [n] : r ? null : t.firstChild ? Ln.call(t.childNodes) : null, a, !o && n ? n : r ? r.__e : t.firstChild, o, s), Dl(a, e, s), e.props.children = null; } -function Il(e, t) { - Rt(e, t, Il); +function Fl(e, t) { + Rt(e, t, Fl); } -function Mm(e, t, n) { +function Nm(e, t, n) { var o, r, a, s, l = Ge({}, e.props); for (a in e.type && e.type.defaultProps && (s = e.type.defaultProps), t) a == "key" ? o = t[a] : a == "ref" ? r = t[a] : l[a] = t[a] === void 0 && s != null ? s[a] : t[a]; - return arguments.length > 2 && (l.children = arguments.length > 3 ? Nn.call(arguments, 2) : n), gn(e.type, l, o || e.key, r || e.ref, null); + return arguments.length > 2 && (l.children = arguments.length > 3 ? Ln.call(arguments, 2) : n), bn(e.type, l, o || e.key, r || e.ref, null); } function be(e) { function t(n) { @@ -291,7 +291,7 @@ function be(e) { o = null; }, this.shouldComponentUpdate = function(a) { this.props.value != a.value && o.forEach(function(s) { - s.__e = !0, Or(s); + s.__e = !0, Lr(s); }); }, this.sub = function(a) { o.add(a); @@ -301,48 +301,48 @@ function be(e) { }; }), n.children; } - return t.__c = "__cC" + Ml++, t.__ = e, t.Provider = t.__l = (t.Consumer = function(n, o) { + return t.__c = "__cC" + Al++, t.__ = e, t.Provider = t.__l = (t.Consumer = function(n, o) { return n.children(o); }).contextType = t, t; } -Nn = bo.slice, I = { __e: function(e, t, n, o) { +Ln = wo.slice, N = { __e: function(e, t, n, o) { for (var r, a, s; t = t.__; ) if ((r = t.__c) && !r.__) try { if ((a = r.constructor) && a.getDerivedStateFromError != null && (r.setState(a.getDerivedStateFromError(e)), s = r.__d), r.componentDidCatch != null && (r.componentDidCatch(e, o || {}), s = r.__d), s) return r.__E = r; } catch (l) { e = l; } throw e; -} }, _l = 0, xe.prototype.setState = function(e, t) { +} }, Pl = 0, xe.prototype.setState = function(e, t) { var n; - n = this.__s != null && this.__s != this.state ? this.__s : this.__s = Ge({}, this.state), typeof e == "function" && (e = e(Ge({}, n), this.props)), e && Ge(n, e), e != null && this.__v && (t && this._sb.push(t), Or(this)); + n = this.__s != null && this.__s != this.state ? this.__s : this.__s = Ge({}, this.state), typeof e == "function" && (e = e(Ge({}, n), this.props)), e && Ge(n, e), e != null && this.__v && (t && this._sb.push(t), Lr(this)); }, xe.prototype.forceUpdate = function(e) { - this.__v && (this.__e = !0, e && this.__h.push(e), Or(this)); -}, xe.prototype.render = D, mt = [], xl = typeof Promise == "function" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, kl = function(e, t) { + this.__v && (this.__e = !0, e && this.__h.push(e), Lr(this)); +}, xe.prototype.render = D, ft = [], Tl = typeof Promise == "function" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, Cl = function(e, t) { return e.__v.__b - t.__v.__b; -}, vo.__r = 0, ar = Math.random().toString(8), oo = "__d" + ar, hn = "__a" + ar, Sl = /(PointerCapture)$|Capture$/i, ca = 0, Mr = gi(!1), Pr = gi(!0), Ml = 0; -var kt, ae, ir, bi, Zt = 0, Ll = [], de = I, vi = de.__b, wi = de.__r, yi = de.diffed, _i = de.__c, xi = de.unmount, ki = de.__; -function an(e, t) { - de.__h && de.__h(ae, e, Zt || t), Zt = 0; - var n = ae.__H || (ae.__H = { __: [], __h: [] }); +}, yo.__r = 0, dr = Math.random().toString(8), ao = "__d" + dr, gn = "__a" + dr, El = /(PointerCapture)$|Capture$/i, ma = 0, Ar = xi(!1), Nr = xi(!0), Al = 0; +var xt, se, ur, ki, Yt = 0, Bl = [], ue = N, Si = ue.__b, Mi = ue.__r, Oi = ue.diffed, Pi = ue.__c, Ti = ue.unmount, Ci = ue.__; +function rn(e, t) { + ue.__h && ue.__h(se, e, Yt || t), Yt = 0; + var n = se.__H || (se.__H = { __: [], __h: [] }); return e >= n.__.length && n.__.push({}), n.__[e]; } function C(e) { - return Zt = 1, St(Dl, e); + return Yt = 1, kt(jl, e); } -function St(e, t, n) { - var o = an(kt++, 2); - if (o.t = e, !o.__c && (o.__ = [n ? n(t) : Dl(void 0, t), function(l) { +function kt(e, t, n) { + var o = rn(xt++, 2); + if (o.t = e, !o.__c && (o.__ = [n ? n(t) : jl(void 0, t), function(l) { var d = o.__N ? o.__N[0] : o.__[0], c = o.t(d, l); d !== c && (o.__N = [c, o.__[1]], o.__c.setState({})); - }], o.__c = ae, !ae.__f)) { + }], o.__c = se, !se.__f)) { var r = function(l, d, c) { if (!o.__c.__H) return !0; var p = !1, f = o.__c.props !== l; if (o.__c.__H.__.some(function(m) { if (m.__N) { p = !0; - var b = m.__[0]; - m.__ = m.__N, m.__N = void 0, b !== m.__[0] && (f = !0); + var g = m.__[0]; + m.__ = m.__N, m.__N = void 0, g !== m.__[0] && (f = !0); } }), a) { var u = a.call(this, l, d, c); @@ -350,33 +350,33 @@ function St(e, t, n) { } return !p || f; }; - ae.__f = !0; - var a = ae.shouldComponentUpdate, s = ae.componentWillUpdate; - ae.componentWillUpdate = function(l, d, c) { + se.__f = !0; + var a = se.shouldComponentUpdate, s = se.componentWillUpdate; + se.componentWillUpdate = function(l, d, c) { if (this.__e) { var p = a; a = void 0, r(l, d, c), a = p; } s && s.call(this, l, d, c); - }, ae.shouldComponentUpdate = r; + }, se.shouldComponentUpdate = r; } return o.__N || o.__; } function E(e, t) { - var n = an(kt++, 3); - !de.__s && ma(n.__H, t) && (n.__ = e, n.u = t, ae.__H.__h.push(n)); + var n = rn(xt++, 3); + !ue.__s && wa(n.__H, t) && (n.__ = e, n.u = t, se.__H.__h.push(n)); } function R(e, t) { - var n = an(kt++, 4); - !de.__s && ma(n.__H, t) && (n.__ = e, n.u = t, ae.__h.push(n)); + var n = rn(xt++, 4); + !ue.__s && wa(n.__H, t) && (n.__ = e, n.u = t, se.__h.push(n)); } function k(e) { - return Zt = 5, H(function() { + return Yt = 5, j(function() { return { current: e }; }, []); } -function fa(e, t, n) { - Zt = 6, R(function() { +function va(e, t, n) { + Yt = 6, R(function() { if (typeof e == "function") { var o = e(t()); return function() { @@ -388,108 +388,108 @@ function fa(e, t, n) { }; }, n == null ? n : n.concat(e)); } -function H(e, t) { - var n = an(kt++, 7); - return ma(n.__H, t) && (n.__ = e(), n.__H = t, n.__h = e), n.__; +function j(e, t) { + var n = rn(xt++, 7); + return wa(n.__H, t) && (n.__ = e(), n.__H = t, n.__h = e), n.__; } function Ve(e, t) { - return Zt = 8, H(function() { + return Yt = 8, j(function() { return e; }, t); } function X(e) { - var t = ae.context[e.__c], n = an(kt++, 9); - return n.c = e, t ? (n.__ == null && (n.__ = !0, t.sub(ae)), t.props.value) : e.__; + var t = se.context[e.__c], n = rn(xt++, 9); + return n.c = e, t ? (n.__ == null && (n.__ = !0, t.sub(se)), t.props.value) : e.__; } -function Rl(e, t) { - de.useDebugValue && de.useDebugValue(t ? t(e) : e); +function Kl(e, t) { + ue.useDebugValue && ue.useDebugValue(t ? t(e) : e); } function Je() { - var e = an(kt++, 11); + var e = rn(xt++, 11); if (!e.__) { - for (var t = ae.__v; t !== null && !t.__m && t.__ !== null; ) t = t.__; + for (var t = se.__v; t !== null && !t.__m && t.__ !== null; ) t = t.__; var n = t.__m || (t.__m = [0, 0]); e.__ = "P" + n[0] + "-" + n[1]++; } return e.__; } -function Pm() { - for (var e; e = Ll.shift(); ) { +function Lm() { + for (var e; e = Bl.shift(); ) { var t = e.__H; if (e.__P && t) try { - t.__h.some(ro), t.__h.some(Tr), t.__h = []; + t.__h.some(io), t.__h.some(Ir), t.__h = []; } catch (n) { - t.__h = [], de.__e(n, e.__v); + t.__h = [], ue.__e(n, e.__v); } } } -de.__b = function(e) { - ae = null, vi && vi(e); -}, de.__ = function(e, t) { - e && t.__k && t.__k.__m && (e.__m = t.__k.__m), ki && ki(e, t); -}, de.__r = function(e) { - wi && wi(e), kt = 0; - var t = (ae = e.__c).__H; - t && (ir === ae ? (t.__h = [], ae.__h = [], t.__.some(function(n) { +ue.__b = function(e) { + se = null, Si && Si(e); +}, ue.__ = function(e, t) { + e && t.__k && t.__k.__m && (e.__m = t.__k.__m), Ci && Ci(e, t); +}, ue.__r = function(e) { + Mi && Mi(e), xt = 0; + var t = (se = e.__c).__H; + t && (ur === se ? (t.__h = [], se.__h = [], t.__.some(function(n) { n.__N && (n.__ = n.__N), n.u = n.__N = void 0; - })) : (t.__h.some(ro), t.__h.some(Tr), t.__h = [], kt = 0)), ir = ae; -}, de.diffed = function(e) { - yi && yi(e); + })) : (t.__h.some(io), t.__h.some(Ir), t.__h = [], xt = 0)), ur = se; +}, ue.diffed = function(e) { + Oi && Oi(e); var t = e.__c; - t && t.__H && (t.__H.__h.length && (Ll.push(t) !== 1 && bi === de.requestAnimationFrame || ((bi = de.requestAnimationFrame) || Om)(Pm)), t.__H.__.some(function(n) { + t && t.__H && (t.__H.__h.length && (Bl.push(t) !== 1 && ki === ue.requestAnimationFrame || ((ki = ue.requestAnimationFrame) || Im)(Lm)), t.__H.__.some(function(n) { n.u && (n.__H = n.u, n.u = void 0); - })), ir = ae = null; -}, de.__c = function(e, t) { + })), ur = se = null; +}, ue.__c = function(e, t) { t.some(function(n) { try { - n.__h.some(ro), n.__h = n.__h.filter(function(o) { - return !o.__ || Tr(o); + n.__h.some(io), n.__h = n.__h.filter(function(o) { + return !o.__ || Ir(o); }); } catch (o) { t.some(function(r) { r.__h && (r.__h = []); - }), t = [], de.__e(o, n.__v); + }), t = [], ue.__e(o, n.__v); } - }), _i && _i(e, t); -}, de.unmount = function(e) { - xi && xi(e); + }), Pi && Pi(e, t); +}, ue.unmount = function(e) { + Ti && Ti(e); var t, n = e.__c; n && n.__H && (n.__H.__.some(function(o) { try { - ro(o); + io(o); } catch (r) { t = r; } - }), n.__H = void 0, t && de.__e(t, n.__v)); + }), n.__H = void 0, t && ue.__e(t, n.__v)); }; -var Si = typeof requestAnimationFrame == "function"; -function Om(e) { +var Ei = typeof requestAnimationFrame == "function"; +function Im(e) { var t, n = function() { - clearTimeout(o), Si && cancelAnimationFrame(t), setTimeout(e); + clearTimeout(o), Ei && cancelAnimationFrame(t), setTimeout(e); }, o = setTimeout(n, 35); - Si && (t = requestAnimationFrame(n)); + Ei && (t = requestAnimationFrame(n)); } -function ro(e) { - var t = ae, n = e.__c; - typeof n == "function" && (e.__c = void 0, n()), ae = t; +function io(e) { + var t = se, n = e.__c; + typeof n == "function" && (e.__c = void 0, n()), se = t; } -function Tr(e) { - var t = ae; - e.__c = e.__(), ae = t; +function Ir(e) { + var t = se; + e.__c = e.__(), se = t; } -function ma(e, t) { +function wa(e, t) { return !e || e.length !== t.length || t.some(function(n, o) { return n !== e[o]; }); } -function Dl(e, t) { +function jl(e, t) { return typeof t == "function" ? t(e) : t; } -function $l(e, t) { +function Hl(e, t) { for (var n in t) e[n] = t[n]; return e; } -function Cr(e, t) { +function Rr(e, t) { for (var n in e) if (n !== "__source" && !(n in t)) return !0; for (var o in t) if (o !== "__source" && e[o] !== t[o]) return !0; return !1; @@ -497,14 +497,14 @@ function Cr(e, t) { function Xe(e, t) { var n = t(), o = C({ t: { __: n, u: t } }), r = o[0].t, a = o[1]; return R(function() { - r.__ = n, r.u = t, sr(r) && a({ t: r }); + r.__ = n, r.u = t, pr(r) && a({ t: r }); }, [e, n, t]), E(function() { - return sr(r) && a({ t: r }), e(function() { - sr(r) && a({ t: r }); + return pr(r) && a({ t: r }), e(function() { + pr(r) && a({ t: r }); }); }, [e]), n; } -function sr(e) { +function pr(e) { try { return !((t = e.__) === (n = e.u()) && (t !== 0 || 1 / t == 1 / n) || t != t && n != n); } catch { @@ -512,80 +512,80 @@ function sr(e) { } var t, n; } -function zl(e) { +function Ul(e) { e(); } -function Fl(e) { +function Gl(e) { return e; } -function Bl() { - return [!1, zl]; +function Wl() { + return [!1, Ul]; } -var ha = R; -function Er(e, t) { +var ya = R; +function Dr(e, t) { this.props = e, this.context = t; } -function Tm(e, t) { +function Rm(e, t) { function n(r) { var a = this.props.ref; - return a != r.ref && a && (typeof a == "function" ? a(null) : a.current = null), t ? !t(this.props, r) || a != r.ref : Cr(this.props, r); + return a != r.ref && a && (typeof a == "function" ? a(null) : a.current = null), t ? !t(this.props, r) || a != r.ref : Rr(this.props, r); } function o(r) { return this.shouldComponentUpdate = n, Ee(e, r); } return o.displayName = "Memo(" + (e.displayName || e.name) + ")", o.__f = o.prototype.isReactComponent = !0, o.type = e, o; } -(Er.prototype = new xe()).isPureReactComponent = !0, Er.prototype.shouldComponentUpdate = function(e, t) { - return Cr(this.props, e) || Cr(this.state, t); +(Dr.prototype = new xe()).isPureReactComponent = !0, Dr.prototype.shouldComponentUpdate = function(e, t) { + return Rr(this.props, e) || Rr(this.state, t); }; -var Mi = I.__b; -I.__b = function(e) { - e.type && e.type.__f && e.ref && (e.props.ref = e.ref, e.ref = null), Mi && Mi(e); +var Ai = N.__b; +N.__b = function(e) { + e.type && e.type.__f && e.ref && (e.props.ref = e.ref, e.ref = null), Ai && Ai(e); }; -var Cm = typeof Symbol < "u" && Symbol.for && Symbol.for("react.forward_ref") || 3911; -function Kl(e) { +var Dm = typeof Symbol < "u" && Symbol.for && Symbol.for("react.forward_ref") || 3911; +function Vl(e) { function t(n) { - var o = $l({}, n); + var o = Hl({}, n); return delete o.ref, e(o, n.ref || null); } - return t.$$typeof = Cm, t.render = e, t.prototype.isReactComponent = t.__f = !0, t.displayName = "ForwardRef(" + (e.displayName || e.name) + ")", t; + return t.$$typeof = Dm, t.render = e, t.prototype.isReactComponent = t.__f = !0, t.displayName = "ForwardRef(" + (e.displayName || e.name) + ")", t; } -var Pi = function(e, t) { - return e == null ? null : Le(Le(e).map(t)); -}, Em = { map: Pi, forEach: Pi, count: function(e) { - return e ? Le(e).length : 0; +var Ni = function(e, t) { + return e == null ? null : Re(Re(e).map(t)); +}, $m = { map: Ni, forEach: Ni, count: function(e) { + return e ? Re(e).length : 0; }, only: function(e) { - var t = Le(e); + var t = Re(e); if (t.length !== 1) throw "Children.only"; return t[0]; -}, toArray: Le }, Am = I.__e; -I.__e = function(e, t, n, o) { +}, toArray: Re }, zm = N.__e; +N.__e = function(e, t, n, o) { if (e.then) { for (var r, a = t; a = a.__; ) if ((r = a.__c) && r.__c) return t.__e == null && (t.__e = n.__e, t.__k = n.__k || []), r.__c(e, t); } - Am(e, t, n, o); + zm(e, t, n, o); }; -var Oi = I.unmount; -function Hl(e, t, n) { +var Li = N.unmount; +function ql(e, t, n) { return e && (e.__c && e.__c.__H && (e.__c.__H.__.forEach(function(o) { typeof o.__c == "function" && o.__c(); - }), e.__c.__H = null), (e = $l({}, e)).__c != null && (e.__c.__P === n && (e.__c.__P = t), e.__c.__e = !0, e.__c = null), e.__k = e.__k && e.__k.map(function(o) { - return Hl(o, t, n); + }), e.__c.__H = null), (e = Hl({}, e)).__c != null && (e.__c.__P === n && (e.__c.__P = t), e.__c.__e = !0, e.__c = null), e.__k = e.__k && e.__k.map(function(o) { + return ql(o, t, n); })), e; } -function jl(e, t, n) { +function Yl(e, t, n) { return e && n && (e.__v = null, e.__k = e.__k && e.__k.map(function(o) { - return jl(o, t, n); + return Yl(o, t, n); }), e.__c && e.__c.__P === t && (e.__e && n.appendChild(e.__e), e.__c.__e = !0, e.__c.__P = n)), e; } -function bn() { +function vn() { this.__u = 0, this.o = null, this.__b = null; } -function Ul(e) { +function Xl(e) { var t = e.__ && e.__.__c; return t && t.__a && t.__a(e); } -function Gl(e) { +function Zl(e) { var t, n, o, r = null; function a(s) { if (t || (t = e()).then(function(l) { @@ -598,16 +598,16 @@ function Gl(e) { } return a.displayName = "Lazy", a.__f = !0, a; } -function mn() { +function hn() { this.i = null, this.l = null; } -I.unmount = function(e) { +N.unmount = function(e) { var t = e.__c; - t && (t.__z = !0), t && t.__R && t.__R(), t && 32 & e.__u && (e.type = null), Oi && Oi(e); -}, (bn.prototype = new xe()).__c = function(e, t) { + t && (t.__z = !0), t && t.__R && t.__R(), t && 32 & e.__u && (e.type = null), Li && Li(e); +}, (vn.prototype = new xe()).__c = function(e, t) { var n = t.__c, o = this; o.o == null && (o.o = []), o.o.push(n); - var r = Ul(o.__v), a = !1, s = function() { + var r = Xl(o.__v), a = !1, s = function() { a || o.__z || (a = !0, n.__R = null, r ? r(d) : d()); }; n.__R = s; @@ -617,39 +617,39 @@ I.unmount = function(e) { if (!--o.__u) { if (o.state.__a) { var c = o.state.__a; - o.__v.__k[0] = jl(c, c.__c.__P, c.__c.__O); + o.__v.__k[0] = Yl(c, c.__c.__P, c.__c.__O); } var p; for (o.setState({ __a: o.__b = null }); p = o.o.pop(); ) p.__P = l, p.forceUpdate(); } }; o.__u++ || 32 & t.__u || o.setState({ __a: o.__b = o.__v.__k[0] }), e.then(s, s); -}, bn.prototype.componentWillUnmount = function() { +}, vn.prototype.componentWillUnmount = function() { this.o = []; -}, bn.prototype.render = function(e, t) { +}, vn.prototype.render = function(e, t) { if (this.__b) { if (this.__v.__k) { var n = document.createElement("div"), o = this.__v.__k[0].__c; - this.__v.__k[0] = Hl(this.__b, n, o.__O = o.__P); + this.__v.__k[0] = ql(this.__b, n, o.__O = o.__P); } this.__b = null; } var r = t.__a && Ee(D, null, e.fallback); return r && (r.__u &= -33), [Ee(D, null, t.__a ? null : e.children), r]; }; -var Ti = function(e, t, n) { +var Ii = function(e, t, n) { if (++n[1] === n[0] && e.l.delete(t), e.props.revealOrder && (e.props.revealOrder[0] !== "t" || !e.l.size)) for (n = e.i; n; ) { for (; n.length > 3; ) n.pop()(); if (n[1] < n[0]) break; e.i = n = n[2]; } }; -function Nm(e) { +function Fm(e) { return this.getChildContext = function() { return e.context; }, e.children; } -function Im(e) { +function Bm(e) { var t = this, n = e.h; if (t.componentWillUnmount = function() { Rt(null, t.v), t.v = null, t.h = null; @@ -663,40 +663,40 @@ function Im(e) { this.childNodes.splice(this.childNodes.indexOf(r) >>> 1, 1), t.h.removeChild(r); } }; } - Rt(Ee(Nm, { context: t.context }, e.__v), t.v); + Rt(Ee(Fm, { context: t.context }, e.__v), t.v); } -function ga(e, t) { - var n = Ee(Im, { __v: e, h: t }); +function _a(e, t) { + var n = Ee(Bm, { __v: e, h: t }); return n.containerInfo = t, n; } -(mn.prototype = new xe()).__a = function(e) { - var t = this, n = Ul(t.__v), o = t.l.get(e); +(hn.prototype = new xe()).__a = function(e) { + var t = this, n = Xl(t.__v), o = t.l.get(e); return o[0]++, function(r) { var a = function() { - t.props.revealOrder ? (o.push(r), Ti(t, e, o)) : r(); + t.props.revealOrder ? (o.push(r), Ii(t, e, o)) : r(); }; n ? n(a) : a(); }; -}, mn.prototype.render = function(e) { +}, hn.prototype.render = function(e) { this.i = null, this.l = /* @__PURE__ */ new Map(); - var t = Le(e.children); + var t = Re(e.children); e.revealOrder && e.revealOrder[0] === "b" && t.reverse(); for (var n = t.length; n--; ) this.l.set(t[n], this.i = [1, 0, this.i]); return e.children; -}, mn.prototype.componentDidUpdate = mn.prototype.componentDidMount = function() { +}, hn.prototype.componentDidUpdate = hn.prototype.componentDidMount = function() { var e = this; this.l.forEach(function(t, n) { - Ti(e, n, t); + Ii(e, n, t); }); }; -var Wl = typeof Symbol < "u" && Symbol.for && Symbol.for("react.element") || 60103, Lm = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, Rm = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, Dm = /[A-Z0-9]/g, $m = typeof document < "u", zm = function(e) { +var Jl = typeof Symbol < "u" && Symbol.for && Symbol.for("react.element") || 60103, Km = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, jm = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, Hm = /[A-Z0-9]/g, Um = typeof document < "u", Gm = function(e) { return (typeof Symbol < "u" && typeof Symbol() == "symbol" ? /fil|che|rad/ : /fil|che|ra/).test(e); }; -function Fm(e, t, n) { +function Wm(e, t, n) { return t.__k == null && (t.textContent = ""), Rt(e, t), typeof n == "function" && n(), e ? e.__c : null; } -function Bm(e, t, n) { - return Il(e, t), typeof n == "function" && n(), e ? e.__c : null; +function Vm(e, t, n) { + return Fl(e, t), typeof n == "function" && n(), e ? e.__c : null; } xe.prototype.isReactComponent = !0, ["componentWillMount", "componentWillReceiveProps", "componentWillUpdate"].forEach(function(e) { Object.defineProperty(xe.prototype, e, { configurable: !0, get: function() { @@ -705,135 +705,135 @@ xe.prototype.isReactComponent = !0, ["componentWillMount", "componentWillReceive Object.defineProperty(this, e, { configurable: !0, writable: !0, value: t }); } }); }); -var Ci = I.event; -I.event = function(e) { - return Ci && (e = Ci(e)), e.persist = function() { +var Ri = N.event; +N.event = function(e) { + return Ri && (e = Ri(e)), e.persist = function() { }, e.isPropagationStopped = function() { return this.cancelBubble; }, e.isDefaultPrevented = function() { return this.defaultPrevented; }, e.nativeEvent = e; }; -var ba, Km = { configurable: !0, get: function() { +var xa, qm = { configurable: !0, get: function() { return this.class; -} }, Ei = I.vnode; -I.vnode = function(e) { +} }, Di = N.vnode; +N.vnode = function(e) { typeof e.type == "string" && (function(t) { var n = t.props, o = t.type, r = {}, a = o.indexOf("-") == -1; for (var s in n) { var l = n[s]; - if (!(s === "value" && "defaultValue" in n && l == null || $m && s === "children" && o === "noscript" || s === "class" || s === "className")) { + if (!(s === "value" && "defaultValue" in n && l == null || Um && s === "children" && o === "noscript" || s === "class" || s === "className")) { var d = s.toLowerCase(); - s === "defaultValue" && "value" in n && n.value == null ? s = "value" : s === "download" && l === !0 ? l = "" : d === "translate" && l === "no" ? l = !1 : d[0] === "o" && d[1] === "n" ? d === "ondoubleclick" ? s = "ondblclick" : d !== "onchange" || o !== "input" && o !== "textarea" || zm(n.type) ? d === "onfocus" ? s = "onfocusin" : d === "onblur" ? s = "onfocusout" : Rm.test(s) && (s = d) : d = s = "oninput" : a && Lm.test(s) ? s = s.replace(Dm, "-$&").toLowerCase() : l === null && (l = void 0), d === "oninput" && r[s = d] && (s = "oninputCapture"), r[s] = l; + s === "defaultValue" && "value" in n && n.value == null ? s = "value" : s === "download" && l === !0 ? l = "" : d === "translate" && l === "no" ? l = !1 : d[0] === "o" && d[1] === "n" ? d === "ondoubleclick" ? s = "ondblclick" : d !== "onchange" || o !== "input" && o !== "textarea" || Gm(n.type) ? d === "onfocus" ? s = "onfocusin" : d === "onblur" ? s = "onfocusout" : jm.test(s) && (s = d) : d = s = "oninput" : a && Km.test(s) ? s = s.replace(Hm, "-$&").toLowerCase() : l === null && (l = void 0), d === "oninput" && r[s = d] && (s = "oninputCapture"), r[s] = l; } } - o == "select" && (r.multiple && Array.isArray(r.value) && (r.value = Le(n.children).forEach(function(c) { + o == "select" && (r.multiple && Array.isArray(r.value) && (r.value = Re(n.children).forEach(function(c) { c.props.selected = r.value.indexOf(c.props.value) != -1; - })), r.defaultValue != null && (r.value = Le(n.children).forEach(function(c) { + })), r.defaultValue != null && (r.value = Re(n.children).forEach(function(c) { c.props.selected = r.multiple ? r.defaultValue.indexOf(c.props.value) != -1 : r.defaultValue == c.props.value; - }))), n.class && !n.className ? (r.class = n.class, Object.defineProperty(r, "className", Km)) : n.className && (r.class = r.className = n.className), t.props = r; - })(e), e.$$typeof = Wl, Ei && Ei(e); + }))), n.class && !n.className ? (r.class = n.class, Object.defineProperty(r, "className", qm)) : n.className && (r.class = r.className = n.className), t.props = r; + })(e), e.$$typeof = Jl, Di && Di(e); }; -var Ai = I.__r; -I.__r = function(e) { - Ai && Ai(e), ba = e.__c; +var $i = N.__r; +N.__r = function(e) { + $i && $i(e), xa = e.__c; }; -var Ni = I.diffed; -I.diffed = function(e) { - Ni && Ni(e); +var zi = N.diffed; +N.diffed = function(e) { + zi && zi(e); var t = e.props, n = e.__e; - n != null && e.type === "textarea" && "value" in t && t.value !== n.value && (n.value = t.value == null ? "" : t.value), ba = null; + n != null && e.type === "textarea" && "value" in t && t.value !== n.value && (n.value = t.value == null ? "" : t.value), xa = null; }; -var Hm = { ReactCurrentDispatcher: { current: { readContext: function(e) { - return ba.__n[e.__c].props.value; -}, useCallback: Ve, useContext: X, useDebugValue: Rl, useDeferredValue: Fl, useEffect: E, useId: Je, useImperativeHandle: fa, useInsertionEffect: ha, useLayoutEffect: R, useMemo: H, useReducer: St, useRef: k, useState: C, useSyncExternalStore: Xe, useTransition: Bl } } }, jm = "18.3.1"; -function Um(e) { +var Ym = { ReactCurrentDispatcher: { current: { readContext: function(e) { + return xa.__n[e.__c].props.value; +}, useCallback: Ve, useContext: X, useDebugValue: Kl, useDeferredValue: Gl, useEffect: E, useId: Je, useImperativeHandle: va, useInsertionEffect: ya, useLayoutEffect: R, useMemo: j, useReducer: kt, useRef: k, useState: C, useSyncExternalStore: Xe, useTransition: Wl } } }, Xm = "18.3.1"; +function Zm(e) { return Ee.bind(null, e); } -function zo(e) { - return !!e && e.$$typeof === Wl; +function Ho(e) { + return !!e && e.$$typeof === Jl; } -function Gm(e) { - return zo(e) && e.type === D; +function Jm(e) { + return Ho(e) && e.type === D; } -function Wm(e) { +function Qm(e) { return !!e && typeof e.displayName == "string" && e.displayName.indexOf("Memo(") == 0; } -function Vm(e) { - return zo(e) ? Mm.apply(null, arguments) : e; +function eh(e) { + return Ho(e) ? Nm.apply(null, arguments) : e; } -function qm(e) { +function th(e) { return !!e.__k && (Rt(null, e), !0); } -function Ym(e) { +function nh(e) { return e && (e.base || e.nodeType === 1 && e) || null; } -var Xm = function(e, t) { +var oh = function(e, t) { return e(t); -}, Zm = function(e, t) { - var n = I.debounceRendering; - I.debounceRendering = function(r) { +}, rh = function(e, t) { + var n = N.debounceRendering; + N.debounceRendering = function(r) { return r(); }; var o = e(t); - return I.debounceRendering = n, o; -}, Jm = zo, Qm = { useState: C, useId: Je, useReducer: St, useEffect: E, useLayoutEffect: R, useInsertionEffect: ha, useTransition: Bl, useDeferredValue: Fl, useSyncExternalStore: Xe, startTransition: zl, useRef: k, useImperativeHandle: fa, useMemo: H, useCallback: Ve, useContext: X, useDebugValue: Rl, version: "18.3.1", Children: Em, render: Fm, hydrate: Bm, unmountComponentAtNode: qm, createPortal: ga, createElement: Ee, createContext: be, createFactory: Um, cloneElement: Vm, createRef: wm, Fragment: D, isValidElement: zo, isElement: Jm, isFragment: Gm, isMemo: Wm, findDOMNode: Ym, Component: xe, PureComponent: Er, memo: Tm, forwardRef: Kl, flushSync: Zm, unstable_batchedUpdates: Xm, StrictMode: D, Suspense: bn, SuspenseList: mn, lazy: Gl, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: Hm }; -function eh(e, t) { + return N.debounceRendering = n, o; +}, ah = Ho, ih = { useState: C, useId: Je, useReducer: kt, useEffect: E, useLayoutEffect: R, useInsertionEffect: ya, useTransition: Wl, useDeferredValue: Gl, useSyncExternalStore: Xe, startTransition: Ul, useRef: k, useImperativeHandle: va, useMemo: j, useCallback: Ve, useContext: X, useDebugValue: Kl, version: "18.3.1", Children: $m, render: Wm, hydrate: Vm, unmountComponentAtNode: th, createPortal: _a, createElement: Ee, createContext: be, createFactory: Zm, cloneElement: eh, createRef: Om, Fragment: D, isValidElement: Ho, isElement: ah, isFragment: Jm, isMemo: Qm, findDOMNode: nh, Component: xe, PureComponent: Dr, memo: Rm, forwardRef: Vl, flushSync: rh, unstable_batchedUpdates: oh, StrictMode: D, Suspense: vn, SuspenseList: hn, lazy: Zl, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: Ym }; +function sh(e, t) { for (var n in t) e[n] = t[n]; return e; } -function Ii(e, t) { +function Fi(e, t) { for (var n in e) if (n !== "__source" && !(n in t)) return !0; for (var o in t) if (o !== "__source" && e[o] !== t[o]) return !0; return !1; } -function Li(e, t) { +function Bi(e, t) { this.props = e, this.context = t; } -(Li.prototype = new xe()).isPureReactComponent = !0, Li.prototype.shouldComponentUpdate = function(e, t) { - return Ii(this.props, e) || Ii(this.state, t); +(Bi.prototype = new xe()).isPureReactComponent = !0, Bi.prototype.shouldComponentUpdate = function(e, t) { + return Fi(this.props, e) || Fi(this.state, t); }; -var Ri = I.__b; -I.__b = function(e) { - e.type && e.type.__f && e.ref && (e.props.ref = e.ref, e.ref = null), Ri && Ri(e); +var Ki = N.__b; +N.__b = function(e) { + e.type && e.type.__f && e.ref && (e.props.ref = e.ref, e.ref = null), Ki && Ki(e); }; -var th = I.__e; -I.__e = function(e, t, n, o) { +var lh = N.__e; +N.__e = function(e, t, n, o) { if (e.then) { for (var r, a = t; a = a.__; ) if ((r = a.__c) && r.__c) return t.__e == null && (t.__e = n.__e, t.__k = n.__k || []), r.__c(e, t); } - th(e, t, n, o); + lh(e, t, n, o); }; -var Di = I.unmount; -function Vl(e, t, n) { +var ji = N.unmount; +function Ql(e, t, n) { return e && (e.__c && e.__c.__H && (e.__c.__H.__.forEach(function(o) { typeof o.__c == "function" && o.__c(); - }), e.__c.__H = null), (e = eh({}, e)).__c != null && (e.__c.__P === n && (e.__c.__P = t), e.__c.__e = !0, e.__c = null), e.__k = e.__k && e.__k.map(function(o) { - return Vl(o, t, n); + }), e.__c.__H = null), (e = sh({}, e)).__c != null && (e.__c.__P === n && (e.__c.__P = t), e.__c.__e = !0, e.__c = null), e.__k = e.__k && e.__k.map(function(o) { + return Ql(o, t, n); })), e; } -function ql(e, t, n) { +function ec(e, t, n) { return e && n && (e.__v = null, e.__k = e.__k && e.__k.map(function(o) { - return ql(o, t, n); + return ec(o, t, n); }), e.__c && e.__c.__P === t && (e.__e && n.appendChild(e.__e), e.__c.__e = !0, e.__c.__P = n)), e; } -function lr() { +function fr() { this.__u = 0, this.o = null, this.__b = null; } -function Yl(e) { +function tc(e) { var t = e.__ && e.__.__c; return t && t.__a && t.__a(e); } -function Gn() { +function Vn() { this.i = null, this.l = null; } -I.unmount = function(e) { +N.unmount = function(e) { var t = e.__c; - t && (t.__z = !0), t && t.__R && t.__R(), t && 32 & e.__u && (e.type = null), Di && Di(e); -}, (lr.prototype = new xe()).__c = function(e, t) { + t && (t.__z = !0), t && t.__R && t.__R(), t && 32 & e.__u && (e.type = null), ji && ji(e); +}, (fr.prototype = new xe()).__c = function(e, t) { var n = t.__c, o = this; o.o == null && (o.o = []), o.o.push(n); - var r = Yl(o.__v), a = !1, s = function() { + var r = tc(o.__v), a = !1, s = function() { a || o.__z || (a = !0, n.__R = null, r ? r(d) : d()); }; n.__R = s; @@ -843,57 +843,57 @@ I.unmount = function(e) { if (!--o.__u) { if (o.state.__a) { var c = o.state.__a; - o.__v.__k[0] = ql(c, c.__c.__P, c.__c.__O); + o.__v.__k[0] = ec(c, c.__c.__P, c.__c.__O); } var p; for (o.setState({ __a: o.__b = null }); p = o.o.pop(); ) p.__P = l, p.forceUpdate(); } }; o.__u++ || 32 & t.__u || o.setState({ __a: o.__b = o.__v.__k[0] }), e.then(s, s); -}, lr.prototype.componentWillUnmount = function() { +}, fr.prototype.componentWillUnmount = function() { this.o = []; -}, lr.prototype.render = function(e, t) { +}, fr.prototype.render = function(e, t) { if (this.__b) { if (this.__v.__k) { var n = document.createElement("div"), o = this.__v.__k[0].__c; - this.__v.__k[0] = Vl(this.__b, n, o.__O = o.__P); + this.__v.__k[0] = Ql(this.__b, n, o.__O = o.__P); } this.__b = null; } var r = t.__a && Ee(D, null, e.fallback); return r && (r.__u &= -33), [Ee(D, null, t.__a ? null : e.children), r]; }; -var $i = function(e, t, n) { +var Hi = function(e, t, n) { if (++n[1] === n[0] && e.l.delete(t), e.props.revealOrder && (e.props.revealOrder[0] !== "t" || !e.l.size)) for (n = e.i; n; ) { for (; n.length > 3; ) n.pop()(); if (n[1] < n[0]) break; e.i = n = n[2]; } }; -(Gn.prototype = new xe()).__a = function(e) { - var t = this, n = Yl(t.__v), o = t.l.get(e); +(Vn.prototype = new xe()).__a = function(e) { + var t = this, n = tc(t.__v), o = t.l.get(e); return o[0]++, function(r) { var a = function() { - t.props.revealOrder ? (o.push(r), $i(t, e, o)) : r(); + t.props.revealOrder ? (o.push(r), Hi(t, e, o)) : r(); }; n ? n(a) : a(); }; -}, Gn.prototype.render = function(e) { +}, Vn.prototype.render = function(e) { this.i = null, this.l = /* @__PURE__ */ new Map(); - var t = Le(e.children); + var t = Re(e.children); e.revealOrder && e.revealOrder[0] === "b" && t.reverse(); for (var n = t.length; n--; ) this.l.set(t[n], this.i = [1, 0, this.i]); return e.children; -}, Gn.prototype.componentDidUpdate = Gn.prototype.componentDidMount = function() { +}, Vn.prototype.componentDidUpdate = Vn.prototype.componentDidMount = function() { var e = this; this.l.forEach(function(t, n) { - $i(e, n, t); + Hi(e, n, t); }); }; -var nh = typeof Symbol < "u" && Symbol.for && Symbol.for("react.element") || 60103, oh = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, rh = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, ah = /[A-Z0-9]/g, ih = typeof document < "u", sh = function(e) { +var ch = typeof Symbol < "u" && Symbol.for && Symbol.for("react.element") || 60103, dh = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, uh = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, ph = /[A-Z0-9]/g, fh = typeof document < "u", mh = function(e) { return (typeof Symbol < "u" && typeof Symbol() == "symbol" ? /fil|che|rad/ : /fil|che|ra/).test(e); }; -function lh(e, t, n) { +function hh(e, t, n) { return t.__k == null && (t.textContent = ""), Rt(e, t), typeof n == "function" && n(), e ? e.__c : null; } xe.prototype.isReactComponent = !0, ["componentWillMount", "componentWillReceiveProps", "componentWillUpdate"].forEach(function(e) { @@ -903,125 +903,125 @@ xe.prototype.isReactComponent = !0, ["componentWillMount", "componentWillReceive Object.defineProperty(this, e, { configurable: !0, writable: !0, value: t }); } }); }); -var zi = I.event; -I.event = function(e) { - return zi && (e = zi(e)), e.persist = function() { +var Ui = N.event; +N.event = function(e) { + return Ui && (e = Ui(e)), e.persist = function() { }, e.isPropagationStopped = function() { return this.cancelBubble; }, e.isDefaultPrevented = function() { return this.defaultPrevented; }, e.nativeEvent = e; }; -var ch = { configurable: !0, get: function() { +var gh = { configurable: !0, get: function() { return this.class; -} }, Fi = I.vnode; -I.vnode = function(e) { +} }, Gi = N.vnode; +N.vnode = function(e) { typeof e.type == "string" && (function(t) { var n = t.props, o = t.type, r = {}, a = o.indexOf("-") == -1; for (var s in n) { var l = n[s]; - if (!(s === "value" && "defaultValue" in n && l == null || ih && s === "children" && o === "noscript" || s === "class" || s === "className")) { + if (!(s === "value" && "defaultValue" in n && l == null || fh && s === "children" && o === "noscript" || s === "class" || s === "className")) { var d = s.toLowerCase(); - s === "defaultValue" && "value" in n && n.value == null ? s = "value" : s === "download" && l === !0 ? l = "" : d === "translate" && l === "no" ? l = !1 : d[0] === "o" && d[1] === "n" ? d === "ondoubleclick" ? s = "ondblclick" : d !== "onchange" || o !== "input" && o !== "textarea" || sh(n.type) ? d === "onfocus" ? s = "onfocusin" : d === "onblur" ? s = "onfocusout" : rh.test(s) && (s = d) : d = s = "oninput" : a && oh.test(s) ? s = s.replace(ah, "-$&").toLowerCase() : l === null && (l = void 0), d === "oninput" && r[s = d] && (s = "oninputCapture"), r[s] = l; + s === "defaultValue" && "value" in n && n.value == null ? s = "value" : s === "download" && l === !0 ? l = "" : d === "translate" && l === "no" ? l = !1 : d[0] === "o" && d[1] === "n" ? d === "ondoubleclick" ? s = "ondblclick" : d !== "onchange" || o !== "input" && o !== "textarea" || mh(n.type) ? d === "onfocus" ? s = "onfocusin" : d === "onblur" ? s = "onfocusout" : uh.test(s) && (s = d) : d = s = "oninput" : a && dh.test(s) ? s = s.replace(ph, "-$&").toLowerCase() : l === null && (l = void 0), d === "oninput" && r[s = d] && (s = "oninputCapture"), r[s] = l; } } - o == "select" && (r.multiple && Array.isArray(r.value) && (r.value = Le(n.children).forEach(function(c) { + o == "select" && (r.multiple && Array.isArray(r.value) && (r.value = Re(n.children).forEach(function(c) { c.props.selected = r.value.indexOf(c.props.value) != -1; - })), r.defaultValue != null && (r.value = Le(n.children).forEach(function(c) { + })), r.defaultValue != null && (r.value = Re(n.children).forEach(function(c) { c.props.selected = r.multiple ? r.defaultValue.indexOf(c.props.value) != -1 : r.defaultValue == c.props.value; - }))), n.class && !n.className ? (r.class = n.class, Object.defineProperty(r, "className", ch)) : n.className && (r.class = r.className = n.className), t.props = r; - })(e), e.$$typeof = nh, Fi && Fi(e); + }))), n.class && !n.className ? (r.class = n.class, Object.defineProperty(r, "className", gh)) : n.className && (r.class = r.className = n.className), t.props = r; + })(e), e.$$typeof = ch, Gi && Gi(e); }; -var Bi = I.__r; -I.__r = function(e) { - Bi && Bi(e), e.__c; +var Wi = N.__r; +N.__r = function(e) { + Wi && Wi(e), e.__c; }; -var Ki = I.diffed; -I.diffed = function(e) { - Ki && Ki(e); +var Vi = N.diffed; +N.diffed = function(e) { + Vi && Vi(e); var t = e.props, n = e.__e; n != null && e.type === "textarea" && "value" in t && t.value !== n.value && (n.value = t.value == null ? "" : t.value); }; -function dh(e) { +function bh(e) { return !!e.__k && (Rt(null, e), !0); } -function uh(e) { +function vh(e) { return { // eslint-disable-next-line render: function(t) { - lh(t, e); + hh(t, e); }, // eslint-disable-next-line unmount: function() { - dh(e); + bh(e); } }; } -var ph = 0; +var wh = 0; function i(e, t, n, o, r, a) { t || (t = {}); var s, l, d = t; if ("ref" in d) for (l in d = {}, t) l == "ref" ? s = t[l] : d[l] = t[l]; - var c = { type: e, props: d, key: n, ref: s, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: --ph, __i: -1, __u: 0, __source: r, __self: a }; + var c = { type: e, props: d, key: n, ref: s, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: --wh, __i: -1, __u: 0, __source: r, __self: a }; if (typeof e == "function" && (s = e.defaultProps)) for (l in s) d[l] === void 0 && (d[l] = s[l]); - return I.vnode && I.vnode(c), c; + return N.vnode && N.vnode(c), c; } -const Hi = /* @__PURE__ */ new Set(); -function Xl() { +const qi = /* @__PURE__ */ new Set(); +function nc() { try { return !1; } catch { return !0; } } -function Ln(e, t) { - !Xl() || Hi.has(e) || (Hi.add(e), console.warn(`[embedpdf] ${t}`)); +function Rn(e, t) { + !nc() || qi.has(e) || (qi.add(e), console.warn(`[embedpdf] ${t}`)); } -const Zl = be(null), fh = be(null); -function ct() { - const e = X(Zl); +const oc = be(null), yh = be(null); +function dt() { + const e = X(oc); if (!e) throw new Error("useKernel must be used within /"); return e; } const qe = (e, t) => e === t || e.length === t.length && e.every((n, o) => n === t[o]); -function ie(e, t = Object.is) { - const n = ct(), o = k(null), r = () => { +function le(e, t = Object.is) { + const n = dt(), o = k(null), r = () => { const a = e(n); return o.current && t(o.current.v, a) ? o.current.v : (o.current = { v: a }, a); }; return Xe(n.subscribe, r); } -function mh() { - return ie((e) => e.documents.getActiveId()); +function _h() { + return le((e) => e.documents.getActiveId()); } -function ye() { - const e = Ze(), t = mh(); +function _e() { + const e = Ze(), t = _h(); return e ?? t; } function Ze() { - return X(fh); + return X(yh); } -function hh({ fallback: e = null, locked: t, error: n, children: o }) { - const r = wo(); +function xh({ fallback: e = null, locked: t, error: n, children: o }) { + const r = _o(); return r.status === "ready" ? /* @__PURE__ */ i(D, { children: o }) : r.status === "locked" && t ? /* @__PURE__ */ i(D, { children: t(r) }) : r.status === "error" && n ? /* @__PURE__ */ i(D, { children: n(r) }) : /* @__PURE__ */ i(D, { children: e }); } -function j(e) { - const t = ct(), n = Q(e); - return n || (t.scopeOf(e) === "document" ? af(t, e) : t.capability(e)); +function U(e) { + const t = dt(), n = ee(e); + return n || (t.scopeOf(e) === "document" ? ff(t, e) : t.capability(e)); } -function Q(e) { +function ee(e) { const t = Ze(); - return ie((n) => n.tryCapability(e, t ?? void 0)); + return le((n) => n.tryCapability(e, t ?? void 0)); } -function W(e, t, n = Object.is) { - const o = ct(), r = Ze(), a = Q(e) ?? o.capability(e, r ?? void 0), s = k(null), l = () => { +function V(e, t, n = Object.is) { + const o = dt(), r = Ze(), a = ee(e) ?? o.capability(e, r ?? void 0), s = k(null), l = () => { const d = t(a); return s.current && n(s.current.v, d) ? s.current.v : (s.current = { v: d }, d); }; return Xe(o.subscribe, l); } -function oe(e, t, n, o = Object.is) { - const r = ct(), a = Q(e), s = k(null), l = () => { +function ae(e, t, n, o = Object.is) { + const r = dt(), a = ee(e), s = k(null), l = () => { let d; if (a === null) d = n; @@ -1035,8 +1035,8 @@ function oe(e, t, n, o = Object.is) { }; return Xe(r.subscribe, l); } -function va(e, t, n) { - const o = Q(e), r = k(n); +function ka(e, t, n) { + const o = ee(e), r = k(n); r.current = n; const a = k(t); a.current = t, E(() => { @@ -1044,36 +1044,36 @@ function va(e, t, n) { return a.current(o)((s) => r.current(s)); }, [o]); } -function wa() { - return j(Oe); +function Sa() { + return U(Pe); } -function Jl(e, t, n, o) { +function rc(e, t, n, o) { const r = Ze(); - return ie((a) => { + return le((a) => { const s = a.tryCapability(e, r ?? void 0), l = s ? t(s) : n; return o ? o(l) : l; - }, Tn); + }, En); } -function wo(e) { - return Jl(Oe, li.read, li.empty, e); +function _o(e) { + return rc(Pe, mi.read, mi.empty, e); } -function Fo(e) { - return Jl(Oe, si.read, si.empty, e); +function Uo(e) { + return rc(Pe, fi.read, fi.empty, e); } -const gh = Object.freeze([]); -function bh() { - const e = ye(); - return ie( - (t) => e ? t.documents.listPages(e) : gh +const kh = Object.freeze([]); +function Sh() { + const e = _e(); + return le( + (t) => e ? t.documents.listPages(e) : kh ); } function Dt(e) { - return ie((t) => { + return le((t) => { const n = t.getSettings(); return e ? e(n) : n; - }, Tn); + }, En); } -const vh = Kl(function({ +const Mh = Vl(function({ engine: t, plugins: n, initialDocuments: o, @@ -1087,100 +1087,100 @@ const vh = Kl(function({ fetch: f, children: u }, m) { - const b = k({ engine: t, plugins: n, initialDocuments: o }), h = sf({ identity: l, scope: d, accent: c, page: p }), g = k(h); - g.current = h; + const g = k({ engine: t, plugins: n, initialDocuments: o }), h = mf({ identity: l, scope: d, accent: c, page: p }), b = k(h); + b.current = h; const y = k(!1); - Xl() && !y.current && (b.current.engine !== t || b.current.plugins !== n) && (y.current = !0, console.warn( + nc() && !y.current && (g.current.engine !== t || g.current.plugins !== n) && (y.current = !0, console.warn( "[embedpdf] engine/plugins are init-only. A changed identity is ignored — pass stable references (module scope, useState, or useMemo). An inline `plugins={[...]}` array recreates its identity every render." )); - const [v, _] = C({ phase: "booting", kernel: null }), O = k(s); - O.current = s; + const [v, _] = C({ phase: "booting", kernel: null }), P = k(s); + P.current = s; const S = k(f); - S.current = f, fa( + S.current = f, va( m, () => v.phase === "ready" ? v.kernel : null, [v] ), E(() => { - const P = b.current, M = typeof P.engine == "function", T = M ? P.engine() : P.engine; - hl(T) && T.warmup(); + const O = g.current, M = typeof O.engine == "function", T = M ? O.engine() : O.engine; + _l(T) && T.warmup(); let L; try { - L = lf({ + L = hf({ engine: T, - plugins: P.plugins, - settings: g.current, - clock: Cu(), - printer: Tu(), - measurer: Ou(), - fetch: (F, ce) => (S.current ?? globalThis.fetch)(F, ce) + plugins: O.plugins, + settings: b.current, + clock: Du(), + printer: Ru(), + measurer: Iu(), + fetch: (I, K) => (S.current ?? globalThis.fetch)(I, K) }); - } catch (F) { - _({ phase: "error", error: F }), M && T.destroy(); + } catch (I) { + _({ phase: "error", error: I }), M && T.destroy(); return; } - let A = !0; + let B = !0; return _({ phase: "booting", kernel: L }), L.start().then( () => { - A && (O.current?.(L), _({ phase: "ready", kernel: L }), L.documents.openAll(P.initialDocuments ?? [])); + B && (P.current?.(L), _({ phase: "ready", kernel: L }), L.documents.openAll(O.initialDocuments ?? [])); }, - (F) => { - A && _({ phase: "error", error: F }); + (I) => { + B && _({ phase: "error", error: I }); } ), () => { - A = !1, L.destroy().then(() => { + B = !1, L.destroy().then(() => { M && T.destroy(); }); }; }, []); const x = v.phase === "error" ? null : v.kernel; return E(() => { - x?.updateSettings(g.current); - }), v.phase === "error" ? /* @__PURE__ */ i(D, { children: a ? a(v.error) : null }) : v.kernel ? /* @__PURE__ */ i(Zl.Provider, { value: v.kernel, children: v.phase === "ready" ? u : r ?? null }) : null; -}), Ql = be(null), wh = Ql.Provider; -function $e() { - const e = X(Ql); + x?.updateSettings(b.current); + }), v.phase === "error" ? /* @__PURE__ */ i(D, { children: a ? a(v.error) : null }) : v.kernel ? /* @__PURE__ */ i(oc.Provider, { value: v.kernel, children: v.phase === "ready" ? u : r ?? null }) : null; +}), ac = be(null), Oh = ac.Provider; +function ze() { + const e = X(ac); if (!e) throw new Error("usePage must be used inside or a page"); return e; } -const ya = be(null), yh = ya.Provider, ec = be(null), _h = ec.Provider; -function xh() { - return X(ya); +const Ma = be(null), Ph = Ma.Provider, ic = be(null), Th = ic.Provider; +function Ch() { + return X(Ma); } -function tc() { - const e = X(ya); +function sc() { + const e = X(Ma); if (!e) throw new Error( "No ViewProjector in scope: mount anchored UI under (overlay slot) or ." ); return e; } -function Bo(e) { - const t = X(ec); - return !e.anchor?.bounds || t && !t.has(e.anchor.page.objectNumber) ? null : /* @__PURE__ */ i(kh, { ...e }); +function Go(e) { + const t = X(ic); + return !e.anchor?.bounds || t && !t.has(e.anchor.page.objectNumber) ? null : /* @__PURE__ */ i(Eh, { ...e }); } -function kh({ +function Eh({ anchor: e, placement: t = "top", gap: n = 8, pinned: o = !1, children: r }) { - const { projector: a, subscribe: s } = tc(), [l, d] = C(null), [c, p] = C(null), [, f] = St((b) => b + 1, 0); + const { projector: a, subscribe: s } = sc(), [l, d] = C(null), [c, p] = C(null), [, f] = kt((g) => g + 1, 0); if (R(() => s ? s(f) : void 0, [s]), R(() => { a.space === "client" && f(); }, [a, e]), R(() => { if (l) - return Eu( + return $u( l, a.space, - (b) => p((h) => Au(h, b) ? h : b) + (g) => p((h) => zu(h, g) ? h : g) ); }, [l, a.space]), E(() => { if (!l) return; - const b = (h) => h.stopPropagation(); - return l.addEventListener("pointerdown", b), () => l.removeEventListener("pointerdown", b); + const g = (h) => h.stopPropagation(); + return l.addEventListener("pointerdown", g), () => l.removeEventListener("pointerdown", g); }, [l]), !e?.bounds) return null; - const u = Nu( + const u = Fu( a, { ...e, bounds: e.bounds }, { placement: t, gap: n, pinned: o }, @@ -1204,17 +1204,17 @@ function kh({ children: r } ); - return a.space === "client" ? typeof document > "u" ? null : ga(m, document.body) : m; + return a.space === "client" ? typeof document > "u" ? null : _a(m, document.body) : m; } -const nc = be(null); -function Sh({ token: e, children: t }) { - return /* @__PURE__ */ i(nc.Provider, { value: e, children: t }); +const lc = be(null); +function Ah({ token: e, children: t }) { + return /* @__PURE__ */ i(lc.Provider, { value: e, children: t }); } function $t(e) { - const t = X(nc); - return e ?? t ?? gl; + const t = X(lc); + return e ?? t ?? xl; } -const Mh = Object.freeze({ +const Nh = Object.freeze({ scrollLeft: 0, scrollTop: 0, scrollWidth: 0, @@ -1224,14 +1224,14 @@ const Mh = Object.freeze({ scrollableX: !1, scrollableY: !1 }); -function Ph(e) { - const t = oc($t(e)), n = Ze(); - return ie( - (o) => o.tryCapability(t, n ?? void 0)?.getScrollMetrics() ?? Mh +function Lh(e) { + const t = cc($t(e)), n = Ze(); + return le( + (o) => o.tryCapability(t, n ?? void 0)?.getScrollMetrics() ?? Nh ); } -const oc = (e) => e; -function Ar({ +const cc = (e) => e; +function $r({ axis: e, token: t, autoHide: n = 1200, @@ -1242,7 +1242,7 @@ function Ar({ thumbClassName: l, thumbStyle: d }) { - const c = $t(t), p = j(oc(c)), f = Ph(c), u = e === "y", m = u ? f.scrollableY : f.scrollableX, b = k(null), [h, g] = C(0), [y, v] = C(!1), [_, O] = C(!1), [S, x] = C(!0), P = ri(f, u, h, o), M = n === !1 ? 0 : n; + const c = $t(t), p = U(cc(c)), f = Lh(c), u = e === "y", m = u ? f.scrollableY : f.scrollableX, g = k(null), [h, b] = C(0), [y, v] = C(!1), [_, P] = C(!1), [S, x] = C(!0), O = di(f, u, h, o), M = n === !1 ? 0 : n; E(() => { if (!M) return; x(!0); @@ -1251,49 +1251,49 @@ function Ar({ }, [f, M]); const T = !M || S || _ || y; E(() => { - const te = b.current; + const te = g.current; if (!te) return; - const se = () => g(u ? te.clientHeight : te.clientWidth), nt = new ResizeObserver(se); - return nt.observe(te), se(), () => nt.disconnect(); + const Fe = () => b(u ? te.clientHeight : te.clientWidth), ne = new ResizeObserver(Fe); + return ne.observe(te), Fe(), () => ne.disconnect(); }, [u, m]); - const L = H(() => Iu(v), []), A = () => ({ + const L = j(() => Bu(v), []), B = () => ({ stage: p, vertical: u, - element: b.current, - layout: P, + element: g.current, + layout: O, // Fresh geometry for paging steps — read from the capability, never a stale render. - liveLayout: () => ri(p.getScrollMetrics(), u, h, o) + liveLayout: () => di(p.getScrollMetrics(), u, h, o) }); if (E(() => () => L.release(), [L]), !m) return null; - const F = u ? { position: "absolute", top: 0, right: 0, bottom: 0, width: 12 } : { position: "absolute", left: 0, right: 0, bottom: 0, height: 12 }, ce = u ? { + const I = u ? { position: "absolute", top: 0, right: 0, bottom: 0, width: 12 } : { position: "absolute", left: 0, right: 0, bottom: 0, height: 12 }, K = u ? { position: "absolute", left: 2, right: 2, - top: P.thumbPosition, - height: P.thumbLength + top: O.thumbPosition, + height: O.thumbLength } : { position: "absolute", top: 2, bottom: 2, - left: P.thumbPosition, - width: P.thumbLength + left: O.thumbPosition, + width: O.thumbLength }; return /* @__PURE__ */ i( "div", { - ref: b, + ref: g, role: "scrollbar", "aria-orientation": u ? "vertical" : "horizontal", "aria-valuemin": 0, - "aria-valuemax": Math.round(P.maxOffset), - "aria-valuenow": Math.round(P.offset), + "aria-valuemax": Math.round(O.maxOffset), + "aria-valuenow": Math.round(O.offset), "data-embedpdf-scrollbar": "", "data-axis": e, "data-state": T ? "visible" : "hidden", "data-dragging": y ? "" : void 0, className: a, style: { - ...F, + ...I, touchAction: "none", userSelect: "none", opacity: T ? 1 : 0, @@ -1302,30 +1302,30 @@ function Ar({ pointerEvents: T ? "auto" : "none", ...s }, - onPointerDown: (te) => L.pressTrack(te, A(), r), - onPointerMove: (te) => L.move(te, A()), + onPointerDown: (te) => L.pressTrack(te, B(), r), + onPointerMove: (te) => L.move(te, B()), onPointerUp: () => L.release(), onPointerCancel: () => L.release(), - onPointerEnter: () => O(!0), - onPointerLeave: () => O(!1), + onPointerEnter: () => P(!0), + onPointerLeave: () => P(!1), children: /* @__PURE__ */ i( "div", { "data-embedpdf-scrollbar-thumb": "", className: l, style: { - ...ce, + ...K, borderRadius: 6, - background: On("scrollbar-thumb"), + background: Cn("scrollbar-thumb"), ...d }, - onPointerDown: (te) => L.pressThumb(te, A()) + onPointerDown: (te) => L.pressThumb(te, B()) } ) } ); } -function Oh({ +function Ih({ documentId: e, page: t, frame: n, @@ -1333,8 +1333,8 @@ function Oh({ render: r, chrome: a }) { - const s = k(null), l = t.transform, d = Dt((m) => m.page), c = Ru(l, n, { x: t.screenX, y: t.screenY }), p = t.ref.objectNumber, f = H(() => fo(p), [p]), u = H( - () => Du( + const s = k(null), l = t.transform, d = Dt((m) => m.page), c = Hu(l, n, { x: t.screenX, y: t.screenY }), p = t.ref.objectNumber, f = j(() => ho(p), [p]), u = j( + () => Uu( e, // the hosting lens — per-view raster planning keys tile state by it, // so a thumbnail rail and the main view never fight over one plan @@ -1344,11 +1344,11 @@ function Oh({ n, l, () => s.current.getBoundingClientRect(), - () => $u(o, p, l.deviceWidth) + () => Gu(o, p, l.deviceWidth) ), [e, f, p, t.pageIndex, n, l, o] ); - return /* @__PURE__ */ i("div", { style: { position: "absolute", ...c.outer }, children: /* @__PURE__ */ i(wh, { value: u, children: [ + return /* @__PURE__ */ i("div", { style: { position: "absolute", ...c.outer }, children: /* @__PURE__ */ i(Oh, { value: u, children: [ /* @__PURE__ */ i( "div", { @@ -1379,8 +1379,8 @@ function Oh({ a?.(u) ] }) }); } -function Th({ token: e }) { - const n = W(e, (a) => a.getZoomBox()), o = W(e, (a) => a.getSettings().zoomBox), r = Dt((a) => a.accent); +function Rh({ token: e }) { + const n = V(e, (a) => a.getZoomBox()), o = V(e, (a) => a.getSettings().zoomBox), r = Dt((a) => a.accent); return n ? /* @__PURE__ */ i( "svg", { @@ -1400,14 +1400,14 @@ function Th({ token: e }) { width: n.width, height: n.height, strokeWidth: 1, - strokeDasharray: zu, - style: Fu(o, r) + strokeDasharray: Wu, + style: Vu(o, r) } ) } ) : null; } -function rc({ +function dc({ children: e, pageChrome: t, overlay: n, @@ -1417,51 +1417,51 @@ function rc({ className: s, style: l }) { - const d = $t(a), c = j(d), p = Q($o); + const d = $t(a), c = U(d), p = ee(jo); E(() => { o === void 0 || !p || p.getActiveToolId() !== o && p.activateTool(o); - }, [o, p]), va( - Sr, + }, [o, p]), ka( + Er, (M) => M.onToolChanged, (M) => r?.(M.toolId) ); - const f = W(d, (M) => M.getSettings().interaction), u = W(d, (M) => M.getSettings().panFallback), m = W(d, (M) => M.getSettings().zoomGestures), b = f && !!p, h = ie(() => p?.getCursor() ?? "default"), g = k(null), y = ye(), v = W(d, (M) => M.listVisiblePages()), _ = W( + const f = V(d, (M) => M.getSettings().interaction), u = V(d, (M) => M.getSettings().panFallback), m = V(d, (M) => M.getSettings().zoomGestures), g = f && !!p, h = le(() => p?.getCursor() ?? "default"), b = k(null), y = _e(), v = V(d, (M) => M.listVisiblePages()), _ = V( d, (M) => M.getSettings().pageFrame, (M, T) => M.top === T.top && M.right === T.right && M.bottom === T.bottom && M.left === T.left - ), O = H(() => Bu(() => c), [c]), S = H( - () => ({ projector: O, revision: v }), - [O, v] - ), x = v.map((M) => M.ref.objectNumber).join(","), P = H( + ), P = j(() => Ku(() => c), [c]), S = j( + () => ({ projector: P, revision: v }), + [P, v] + ), x = v.map((M) => M.ref.objectNumber).join(","), O = j( () => new Set(x ? x.split(",").map(Number) : []), [x] ); return R(() => { - const M = g.current, T = Lu(M, c, { - hub: b ? p : null, + const M = b.current, T = ju(M, c, { + hub: g ? p : null, source: c.getLensId(), zoomGestures: m - }), L = b && p ? p.registerHandler(vf(c, p, { panFallback: u }), { + }), L = g && p ? p.registerHandler(Mf(c, p, { panFallback: u }), { source: c.getLensId() - }) : null, A = b && p ? p.registerHandler(wf(c, p), { source: c.getLensId() }) : null; + }) : null, B = g && p ? p.registerHandler(Of(c, p), { source: c.getLensId() }) : null; return () => { - A?.(), L?.(), T(); + B?.(), L?.(), T(); }; - }, [c, p, b, m, u]), /* @__PURE__ */ i( + }, [c, p, g, m, u]), /* @__PURE__ */ i( "div", { - ref: g, + ref: b, className: s, style: { position: "relative", overflow: "hidden", touchAction: "none", - ...b ? { cursor: h } : null, + ...g ? { cursor: h } : null, ...l }, - children: /* @__PURE__ */ i(Sh, { token: d, children: [ + children: /* @__PURE__ */ i(Ah, { token: d, children: [ v.map((M) => /* @__PURE__ */ i( - Oh, + Ih, { documentId: y ?? "", page: M, @@ -1472,39 +1472,39 @@ function rc({ }, M.ref.objectNumber )), - /* @__PURE__ */ i(Th, { token: d }), - /* @__PURE__ */ i(_h, { value: P, children: /* @__PURE__ */ i(yh, { value: S, children: n }) }) + /* @__PURE__ */ i(Rh, { token: d }), + /* @__PURE__ */ i(Th, { value: O, children: /* @__PURE__ */ i(Ph, { value: S, children: n }) }) ] }) } ); } -function ji(e) { - return j($t(e)); +function Yi(e) { + return U($t(e)); } -function Jt(e, t) { +function Xt(e, t) { const n = $t(t), o = Ze(); - return ie((r) => { - const a = r.tryCapability(n, o ?? void 0), s = a ? di.read(a) : di.empty; + return le((r) => { + const a = r.tryCapability(n, o ?? void 0), s = a ? gi.read(a) : gi.empty; return e ? e(s) : s; - }, Tn); + }, En); } -function ac(e, t) { - ha(() => Ao(e).paint(t), [e, t]); +function uc(e, t) { + ya(() => Io(e).paint(t), [e, t]); } -function Ch(e) { - const t = Ao(e); +function Dh(e) { + const t = Io(e); return Xe(t.subscribe, t.painted, t.painted); } function Ae(e) { const { ensure: t } = e, n = function(r) { const a = Ze(); - return ie((s) => { + return le((s) => { const l = s.tryCapability(e.token, a ?? void 0), d = l ? e.read(l) : e.empty; return r ? r(d) : d; - }, Tn); + }, En); }; return t ? function(r) { - const a = Ze(), s = ie( + const a = Ze(), s = le( (l) => l.tryCapability(e.token, a ?? void 0), Object.is ); @@ -1514,30 +1514,30 @@ function Ae(e) { }, [s]), n(r); } : n; } -function zt(e) { +function an(e) { return function(n) { - return ie((o) => { + return le((o) => { const r = o.settingsOf(e).getSettings(); return n ? n(r) : r; - }, Tn); + }, En); }; } -const Eh = zt(tn), Ah = Object.freeze({ status: "idle", slow: !1 }); -function Nh() { - const e = $e(); - return oe( - tn, +const $h = an(en), zh = Object.freeze({ status: "idle", slow: !1 }); +function Fh() { + const e = ze(); + return ae( + en, (t) => t.getPictureState(e.ref, e.view), - Ah + zh ); } -let Ui = !1; -function ic(e = {}) { - const t = $e(), n = W(Be, (o) => o.getPicturePainter()); - return n?.paints(t.view) ? /* @__PURE__ */ i(Ih, { painter: n }) : /* @__PURE__ */ i(Lh, { ...e }); +let Xi = !1; +function pc(e = {}) { + const t = ze(), n = V(Ke, (o) => o.getPicturePainter()); + return n?.paints(t.view) ? /* @__PURE__ */ i(Bh, { painter: n }) : /* @__PURE__ */ i(Kh, { ...e }); } -function Ih({ painter: e }) { - const t = $e(), n = k(null), o = j(Be), r = k(null); +function Bh({ painter: e }) { + const t = ze(), n = k(null), o = U(Ke), r = k(null); return R(() => { const a = o.reportPicture(t.view, t.ref); return r.current = { picture: e.paint(n.current, t, a), page: t }, () => { @@ -1560,32 +1560,32 @@ function Ih({ painter: e }) { } ); } -function Lh({ +function Kh({ annotations: e, formFields: t, tiles: n = !0, thumbnail: o = !1 }) { - const r = $e(), a = j(Be), s = W(Be, (h) => h.getPaintSettings()), l = k(null), d = k(null), c = { annotations: e, formFields: t }, p = Ch(r.ref), f = W(Be, (h) => h.getLayerRights()), u = rl(p, c, f); - ju(p, c).length > 0 && Ln( + const r = ze(), a = U(Ke), s = V(Ke, (h) => h.getPaintSettings()), l = k(null), d = k(null), c = { annotations: e, formFields: t }, p = Dh(r.ref), f = V(Ke, (h) => h.getLayerRights()), u = dl(p, c, f); + Xu(p, c).length > 0 && Rn( "render-layer-draws-what-a-layer-paints", " or draws what an or a on the page paints too, so it shows twice. Leave the prop out: the picture leaves out what a layer paints." ); - const m = o ? { thumbnail: !0 } : {}, b = W( - Be, + const m = o ? { thumbnail: !0 } : {}, g = V( + Ke, (h) => h.getSourceKey(r.ref, { scale: r.transform.renderScale, ...m, ...u }) ); return R(() => { const h = a.reportPicture(r.view, r.ref); d.current = h; - const g = Uu(l.current, () => h.shown()); + const b = Zu(l.current, () => h.shown()); return () => { - g(), h.close(), d.current === h && (d.current = null); + b(), h.close(), d.current === h && (d.current = null); }; }, [a, r.view, r.ref]), E(() => { - if (Ao(r.ref).painted() !== p) return; + if (Io(r.ref).painted() !== p) return; const h = new AbortController(); - let g; + let b; return (async () => { try { const v = await (await a.renderSource(r.ref, { @@ -1599,14 +1599,14 @@ function Lh({ v.revoke(); return; } - g = v.revoke, l.current && (l.current.src = v.url); + b = v.revoke, l.current && (l.current.src = v.url); } catch (y) { h.signal.aborted || d.current?.failed(y); } })(), () => { - h.abort(), g?.(); + h.abort(), b?.(); }; - }, [a, r.ref, b, p]), /* @__PURE__ */ i(D, { children: [ + }, [a, r.ref, g, p]), /* @__PURE__ */ i(D, { children: [ /* @__PURE__ */ i( "img", { @@ -1622,18 +1622,18 @@ function Lh({ } } ), - n && !o && s.tiles ? /* @__PURE__ */ i(Rh, { parts: c }) : null + n && !o && s.tiles ? /* @__PURE__ */ i(jh, { parts: c }) : null ] }); } -function Rh({ parts: e }) { - const t = $e(), n = j(Be), o = t.getViewDemand?.() ?? { +function jh({ parts: e }) { + const t = ze(), n = U(Ke), o = t.getViewDemand?.() ?? { desiredDeviceWidth: t.transform.deviceWidth - }, r = H(() => n.createViewDemand(t.view), [n, t.view]); + }, r = j(() => n.createViewDemand(t.view), [n, t.view]); E(() => () => r.destroy(), [r]), R(() => { - const d = Ao(t.ref).painted(), c = rl(d, e, n.getLayerRights()); + const d = Io(t.ref).painted(), c = dl(d, e, n.getLayerRights()); r.setDemand(t.ref, o, c); }); - const a = W(Be, () => r.getPlan(t.ref)); + const a = V(Ke, () => r.getPlan(t.ref)); if (E(() => () => r.release(t.ref), [r, t.ref]), a.paint.length === 0) return null; const s = t.transform, l = s.viewScale; return /* @__PURE__ */ i( @@ -1656,7 +1656,7 @@ function Rh({ parts: e }) { isolation: "isolate" }, children: a.paint.map((d) => /* @__PURE__ */ i( - Dh, + Hh, { source: d, view: { @@ -1673,7 +1673,7 @@ function Rh({ parts: e }) { } ); } -function Dh({ +function Hh({ source: e, view: t, onPainted: n, @@ -1682,7 +1682,7 @@ function Dh({ const r = k(null); return R(() => { if (r.current) - return Gu(r.current, e.handle, { onPainted: n, onUnpainted: o }); + return Ju(r.current, e.handle, { onPainted: n, onUnpainted: o }); }, [e.handle]), /* @__PURE__ */ i( "img", { @@ -1691,9 +1691,9 @@ function Dh({ draggable: !1, onLoad: (a) => { const s = a.currentTarget.naturalWidth; - if (s > 0 && !Ui) { + if (s > 0 && !Xi) { const l = Math.round(e.rect.width * e.scale); - Math.abs(s - l) > 1 && (Ui = !0, console.warn( + Math.abs(s - l) > 1 && (Xi = !0, console.warn( `[render] tile bitmap ${s}px wide does not match its rect (expected ~${l}px) — stale raster identity? key=${e.key}` )); } @@ -1709,20 +1709,20 @@ function Dh({ } ); } -function $h() { - return oe(tn, (e) => e.getSnapshot(), null); +function Uh() { + return ae(en, (e) => e.getSnapshot(), null); } -function zh({ children: e, gap: t = 8, placement: n = "bottom" }) { - const o = $h(), r = H( +function Gh({ children: e, gap: t = 8, placement: n = "bottom" }) { + const o = Uh(), r = j( () => o && { page: o.page, bounds: o.rect }, [o] ); - return r ? /* @__PURE__ */ i(Bo, { anchor: r, placement: n, gap: t, children: e }) : null; + return r ? /* @__PURE__ */ i(Go, { anchor: r, placement: n, gap: t, children: e }) : null; } -function Fh() { - const e = $e(), t = oe(Be, (d) => d.getSnapshotBox(e.ref), null), n = Eh((d) => d.snapshot.box), o = Dt((d) => d.accent); +function Wh() { + const e = ze(), t = ae(Ke, (d) => d.getSnapshotBox(e.ref), null), n = $h((d) => d.snapshot.box), o = Dt((d) => d.accent); if (!t) return null; - const { left: r, top: a, width: s, height: l } = Lt(t, e.transform); + const { left: r, top: a, width: s, height: l } = Qt(t, e.transform); return /* @__PURE__ */ i( "svg", { @@ -1736,43 +1736,43 @@ function Fh() { width: s, height: l, strokeWidth: 1, - strokeDasharray: Ku, - style: Hu(n, o) + strokeDasharray: qu, + style: Yu(n, o) } ) } ); } -function Bh() { - return j(Do); +function Vh() { + return U(Ko); } -const Kh = Ae(Gf); -function L_() { - return j(Lo); +const qh = Ae(Jf); +function W_() { + return U(Fo); } -const Hh = Ae(Kf); -function R_() { - return j(Ro); +const Yh = Ae(qf); +function V_() { + return U(Bo); } -const sc = Ae(jf), jh = Ae(hf); -function Uh(e) { - const t = Q($o), n = e && JSON.stringify(e), o = k(e); +const fc = Ae(Xf), Xh = Ae(xf); +function Zh(e) { + const t = ee(jo), n = e && JSON.stringify(e), o = k(e); o.current = e, E(() => { const r = o.current; if (!(!r || !t)) - return t.setToolCursor(r.toolId, Wu(r.cursors)), () => t.setToolCursor(r.toolId, null); + return t.setToolCursor(r.toolId, Qu(r.cursors)), () => t.setToolCursor(r.toolId, null); }, [t, n]); } -function Gh() { - const e = $e(), t = j(Gt), n = W( - Gt, +function Jh() { + const e = ze(), t = U(Ht), n = V( + Ht, (l) => l.listSegments(e.ref), qe - ), o = W(Gt, (l) => l.isHighlightVisible()), r = cc((l) => l.color), a = Dt((l) => l.accent); + ), o = V(Ht, (l) => l.isHighlightVisible()), r = hc((l) => l.color), a = Dt((l) => l.accent); if (E(() => { t.ensureLoaded(e.ref); }, [t, e.ref]), !o) return null; - const s = We("text-selection", r ?? qu("text-selection", a)); + const s = We("text-selection", r ?? tp("text-selection", a)); return /* @__PURE__ */ i( "svg", { @@ -1790,7 +1790,7 @@ function Gh() { /* @__PURE__ */ i( "polygon", { - points: Yu(Xu(l.quad, e.transform)), + points: np(op(l.quad, e.transform)), style: { fill: s } }, d @@ -1799,46 +1799,46 @@ function Gh() { } ); } -const lc = Ae(Ff), cc = zt(An); -function Wh({ children: e, gap: t = 8, placement: n = "top" }) { - const o = lc((a) => a.isSelecting), r = W(An, (a) => a.getAnchor(), Zu); - return o || !r ? null : /* @__PURE__ */ i(Bo, { anchor: r, placement: n, gap: t, children: e }); +const mc = Ae(Uf), hc = an(Nn); +function Qh({ children: e, gap: t = 8, placement: n = "top" }) { + const o = mc((a) => a.isSelecting), r = V(Nn, (a) => a.getAnchor(), ap); + return o || !r ? null : /* @__PURE__ */ i(Go, { anchor: r, placement: n, gap: t, children: e }); } -function Vh({ token: e } = {}) { - const t = $t(e), n = j(Gt), o = Q(t), r = xh(); - (!r || r.projector.space !== "overlay") && Ln( +function eg({ token: e } = {}) { + const t = $t(e), n = U(Ht), o = ee(t), r = Ch(); + (!r || r.projector.space !== "overlay") && Rn( "selection-handles-outside-stage", " renders nothing here: mount it in the overlay slot (a has no camera to project the handles through)." ); - const a = lc((v) => v.isSelecting), s = W(Gt, (v) => v.isHighlightVisible()), l = cc((v) => v.handles), d = Dt((v) => v.accent), c = W( - Gt, - (v) => Df(v.getSnapshot()), - Ju + const a = mc((v) => v.isSelecting), s = V(Ht, (v) => v.isHighlightVisible()), l = hc((v) => v.handles), d = Dt((v) => v.accent), c = V( + Ht, + (v) => Gf(v.getSnapshot()), + ip ); - ie(() => o?.listVisiblePages() ?? null); + le(() => o?.listVisiblePages() ?? null); const [p, f] = C(null), u = k( null ); u.current = o && c ? { stage: o, endpoints: c } : null; - const m = H(() => { - const v = {}, _ = (O) => (S) => { - v[O]?.(), delete v[O], S && (v[O] = Qu(S, { + const m = j(() => { + const v = {}, _ = (P) => (S) => { + v[P]?.(), delete v[P], S && (v[P] = rp(S, { arm: () => { const x = u.current; if (!x) return null; - const P = zf( + const O = Hf( n, - pi(x.stage), + vi(x.stage), x.endpoints, - O + P ); - return P ? (f(O), { + return O ? (f(P), { // the point the user grabbed: the bar's midpoint - base: P.base, + base: O.base, session: { - move: P.drag.move, + move: O.drag.move, end: () => { - P.drag.end(), f(null); + O.drag.end(), f(null); } } }) : null; @@ -1848,10 +1848,10 @@ function Vh({ token: e } = {}) { return { start: _("start"), end: _("end") }; }, [n]); if (!o || !c || !s || a && !p) return null; - const b = pi(o), h = We("text-selection-handle", l.color ?? d), g = We("text-selection-handle-shadow", l.shadow), y = (v) => { - const _ = $f(b, c[v], v); + const g = vi(o), h = We("text-selection-handle", l.color ?? d), b = We("text-selection-handle-shadow", l.shadow), y = (v) => { + const _ = Wf(g, c[v], v); if (!_) return null; - const O = Pt + (v === "start" ? cn : 0), S = Pt + jn / 2; + const P = Pt + (v === "start" ? dn : 0), S = Pt + Gn / 2; return /* @__PURE__ */ i( "div", { @@ -1859,14 +1859,14 @@ function Vh({ token: e } = {}) { style: { position: "absolute", left: _.bar.from.x - S, - top: _.bar.from.y - O, - width: jn + 2 * Pt, - height: _.length + cn + 2 * Pt, + top: _.bar.from.y - P, + width: Gn + 2 * Pt, + height: _.length + dn + 2 * Pt, // Upright text carries no transform — pixel-identical to an // axis-aligned box (the geometry's float-noise guard decides). ..._.upright ? null : { transform: `rotate(${_.rotation}deg)`, - transformOrigin: `${S}px ${O}px` + transformOrigin: `${S}px ${P}px` }, touchAction: "none", cursor: "grab", @@ -1879,11 +1879,11 @@ function Vh({ token: e } = {}) { style: { position: "absolute", left: Pt, - top: O, - width: jn, + top: P, + width: Gn, height: _.length, background: h, - borderRadius: jn / 2 + borderRadius: Gn / 2 } } ), @@ -1892,13 +1892,13 @@ function Vh({ token: e } = {}) { { style: { position: "absolute", - left: S - cn / 2, + left: S - dn / 2, top: v === "start" ? Pt : Pt + _.length, - width: cn, - height: cn, + width: dn, + height: dn, borderRadius: "50%", background: h, - boxShadow: g + boxShadow: b } } ) @@ -1912,52 +1912,52 @@ function Vh({ token: e } = {}) { y("end") ] }); } -function qh({ prefetch: e, onRefused: t, target: n } = {}) { - const o = Q(An), r = k(t); +function tg({ prefetch: e, onRefused: t, target: n } = {}) { + const o = ee(Nn), r = k(t); return r.current = t, E(() => { const a = n ? n.current : void 0; if (!(!o || a === null)) - return Vu(o, { + return ep(o, { ...e === void 0 ? {} : { prefetch: e }, ...a ? { target: a } : {}, onRefused: () => r.current?.() }); }, [o, e, n]), null; } -function Ko(e) { - const [t] = C(() => ep()); +function Wo(e) { + const [t] = C(() => sp()); E(() => () => t.release(), [t]), E(() => t.mount(e)); } -const Yh = Ae(sm), dc = zt(vl), uc = Number.parseInt(jm, 10) >= 19 ? { inert: !0 } : { inert: "true" }; -function pc({ shapes: e }) { - return Ko(tp(e)), /* @__PURE__ */ i(D, { children: mc(e) }); +const ng = Ae(mm), gc = an(Sl), bc = Number.parseInt(Xm, 10) >= 19 ? { inert: !0 } : { inert: "true" }; +function vc({ shapes: e }) { + return Wo(lp(e)), /* @__PURE__ */ i(D, { children: yc(e) }); } -const fc = (e) => e.replace(/-([a-z])/g, (t, n) => n.toUpperCase()); -function Xh(e) { +const wc = (e) => e.replace(/-([a-z])/g, (t, n) => n.toUpperCase()); +function og(e) { return Object.fromEntries( - Object.entries(e).map(([t, n]) => [fc(t), n]) + Object.entries(e).map(([t, n]) => [wc(t), n]) ); } -function Zh(e) { +function rg(e) { return Object.fromEntries( - Object.entries(e).map(([t, n]) => [fc(t), n]) + Object.entries(e).map(([t, n]) => [wc(t), n]) ); } -function mc(e) { +function yc(e) { return e.map( - (t, n) => Qm.createElement( + (t, n) => ih.createElement( t.tag, { key: n, - ...Xh(t.attributes), - ...t.style ? { style: Zh(t.style) } : {} + ...og(t.attributes), + ...t.style ? { style: rg(t.style) } : {} }, - t.children ? mc(t.children) : t.text + t.children ? yc(t.children) : t.text ) ); } -function Jh({ children: e, gap: t = 15, placement: n = "top" }) { - const { projector: o } = tc(), r = oe( +function ag({ children: e, gap: t = 15, placement: n = "top" }) { + const { projector: o } = sc(), r = ae( Ue, (a) => { const s = a.selection.getAnchor(); @@ -1966,10 +1966,10 @@ function Jh({ children: e, gap: t = 15, placement: n = "top" }) { return l ? a.getSelectionAnchorIn(l) : s; }, null, - np + cp ); return r ? /* @__PURE__ */ i( - Bo, + Go, { anchor: { page: r.page, @@ -1982,19 +1982,19 @@ function Jh({ children: e, gap: t = 15, placement: n = "top" }) { } ) : null; } -function Qh({ +function ig({ children: e, gap: t = 16, placement: n = "right" }) { - const o = oe( - vl, + const o = ae( + Sl, (a) => a.selection.getRotationAnchor(), null, - op - ), r = dc((a) => a.chrome.readout); + dp + ), r = gc((a) => a.chrome.readout); return !o || !e && !r.enabled ? null : /* @__PURE__ */ i( - Bo, + Go, { anchor: { page: o.page, bounds: { ...o.at, width: 0, height: 0 } }, placement: n, @@ -2007,7 +2007,7 @@ function Qh({ whiteSpace: "nowrap", borderRadius: 4, padding: "2px 6px", - fontFamily: On("font-mono"), + fontFamily: Cn("font-mono"), fontSize: 12, background: We("readout-background", r.background), color: We("readout-color", r.color) @@ -2021,19 +2021,19 @@ function Qh({ } ); } -const eg = be(1); -function tg({ +const sg = be(1); +function lg({ item: e, page: t, interactive: n = !1, inert: o = !1, children: r }) { - const a = ll(e.frame, t.transform); + const a = ml(e.frame, t.transform); return /* @__PURE__ */ i( "div", { - ...o ? uc : {}, + ...o ? bc : {}, style: { position: "absolute", left: a.left, @@ -2052,8 +2052,8 @@ function tg({ } ); } -function ng({ item: e }) { - const t = fp(e.box); +function cg({ item: e }) { + const t = yp(e.box); return t ? /* @__PURE__ */ i( "svg", { @@ -2067,13 +2067,13 @@ function ng({ item: e }) { overflow: "visible", pointerEvents: "none", // A ghost is see-through as a whole, so its fill and stroke don't stack. - ...e.source === "ghost" ? { opacity: dl(e.ghostOpacity ?? 0.5) } : {} + ...e.source === "ghost" ? { opacity: gl(e.ghostOpacity ?? 0.5) } : {} }, - children: /* @__PURE__ */ i(pc, { shapes: cl(am(e), { miterLimit: bl }) }) + children: /* @__PURE__ */ i(vc, { shapes: hl(pm(e), { miterLimit: kl }) }) } ) : null; } -function og({ url: e, box: t }) { +function dg({ url: e, box: t }) { return /* @__PURE__ */ i( "img", { @@ -2101,19 +2101,19 @@ function og({ url: e, box: t }) { } ); } -function rg({ page: e }) { - const t = j(Ue), n = W( +function ug({ page: e }) { + const t = U(Ue), n = V( Ue, (d) => d.getImageGhost(e.ref) - ), o = W(Ue, (d) => d.getArmedStamp()), [r, a] = C(null), s = n ? im(n.box.width * e.transform.renderScale) : 0; + ), o = V(Ue, (d) => d.getArmedStamp()), [r, a] = C(null), s = n ? fm(n.box.width * e.transform.renderScale) : 0; if (E(() => { if (!s) { a(null); return; } - return hp(() => t.renderArmedStampPreview(s), a); + return xp(() => t.renderArmedStampPreview(s), a); }, [t, o, s]), !n || !r) return null; - const l = Lt(n.box, e.transform); + const l = Qt(n.box, e.transform); return /* @__PURE__ */ i( "img", { @@ -2131,17 +2131,17 @@ function rg({ page: e }) { maxWidth: "none", maxHeight: "none", pointerEvents: "none", - opacity: dl(n.opacity), + opacity: gl(n.opacity), ...n.rot ? { transform: `rotate(${n.rot}deg)`, transformOrigin: "center" } : {} } } ); } -function hc() { - const e = dc((o) => o.chrome), t = Dt((o) => o.accent), n = H(() => bp(e, t), [e, t]); +function _c() { + const e = gc((o) => o.chrome), t = Dt((o) => o.accent), n = j(() => Sp(e, t), [e, t]); return { chrome: e, painted: n }; } -function ag({ +function pg({ at: e, size: t, rotation: n, @@ -2161,15 +2161,15 @@ function ag({ } ); } -function ig({ +function fg({ page: e, components: t }) { - const n = e.transform.viewScale, o = e.transform.rotation, r = e.transform.zoom, a = W( + const n = e.transform.viewScale, o = e.transform.rotation, r = e.transform.zoom, a = V( Ue, (u) => u.listChromeNodes(e.ref, n, o, r), qe - ), { chrome: s, painted: l } = hc(), d = t?.Handle, c = t?.RotationHandle, p = [], f = gp(a, e.transform).map((u, m) => { + ), { chrome: s, painted: l } = _c(), d = t?.Handle, c = t?.RotationHandle, p = [], f = kp(a, e.transform).map((u, m) => { switch (u.kind) { case "handle": return d ? (p.push( @@ -2185,7 +2185,7 @@ function ig({ m ) ), null) : /* @__PURE__ */ i( - ag, + pg, { at: u.at, size: s.handles.size, @@ -2211,14 +2211,14 @@ function ig({ case "turned-outline": return /* @__PURE__ */ i("polygon", { points: u.points, fill: "none", style: l.outline }, m); case "rotation-guides": - return /* @__PURE__ */ i("g", { children: u.lines.map((b, h) => /* @__PURE__ */ i( + return /* @__PURE__ */ i("g", { children: u.lines.map((g, h) => /* @__PURE__ */ i( "line", { - x1: b.from.x, - y1: b.from.y, - x2: b.to.x, - y2: b.to.y, - opacity: b.opacity, + x1: g.from.x, + y1: g.from.y, + x2: g.to.x, + y2: g.to.y, + opacity: g.opacity, style: l.rotationGuide }, h @@ -2295,107 +2295,107 @@ function ig({ p.length > 0 && /* @__PURE__ */ i("div", { style: { position: "absolute", inset: 0, pointerEvents: "none" }, children: p }) ] }); } -function sg(e, t) { - const n = j(Ue), [o, r] = C(null), [a] = C(() => vp()); +function mg(e, t) { + const n = U(Ue), [o, r] = C(null), [a] = C(() => Mp()); return E( () => a.follow(o, n, e, t), [a, n, o, e, t] ), E(() => () => a.detach(), [a]), r; } -function lg({ item: e, page: t }) { - const { painted: n } = hc(); - Ko(e.programs); - const o = mp(e, t.transform, n.textOutline), r = sg(e, o.scale); +function hg({ item: e, page: t }) { + const { painted: n } = _c(); + Wo(e.programs); + const o = _p(e, t.transform, n.textOutline), r = mg(e, o.scale); return /* @__PURE__ */ i("div", { ref: r, suppressContentEditableWarning: !0, style: o.style }); } -function cg(e, t, n) { +function gg(e, t, n) { const o = k(t); o.current = t; const [, r] = C(0); E(() => { if (!n) return; - const a = pp(e, n, () => o.current()); + const a = wp(e, n, () => o.current()); return r((s) => s + 1), a; }, [e, n]); } -function dg({ renderers: e, components: t } = {}) { - const n = $e(), o = j(Ue); - oe(Sr, (g) => g.getActiveToolId(), ""); - const r = Q(Sr), a = n.transform.zoom, s = n.transform.rotation, l = W( +function bg({ renderers: e, components: t } = {}) { + const n = ze(), o = U(Ue); + ae(Er, (b) => b.getActiveToolId(), ""); + const r = ee(Er), a = n.transform.zoom, s = n.transform.rotation, l = V( Ue, - (g) => g.listPageItems(n.ref, { zoom: a, rotation: s }), + (b) => b.listPageItems(n.ref, { zoom: a, rotation: s }), qe - ), d = W( + ), d = V( Ue, - (g) => g.listTextItems(n.ref, { zoom: a, rotation: s }), + (b) => b.listTextItems(n.ref, { zoom: a, rotation: s }), qe - ), [c, p] = C(null), [f] = C(ul); - E(() => () => f.release(), [f]), cg(o, () => r?.getActiveToolId() ?? "", e), ac(n.ref, "annotations"); + ), [c, p] = C(null), [f] = C(bl); + E(() => () => f.release(), [f]), gg(o, () => r?.getActiveToolId() ?? "", e), uc(n.ref, "annotations"); const u = k(e); - e && u.current && e !== u.current && qe(e, u.current) && Ln( + e && u.current && e !== u.current && qe(e, u.current) && Rn( "annotation-renderers-inline", " was given a new array with the same entries — define it outside render (module scope or useMemo), because entry identity keys the behavior registration." ), u.current = e; - const m = W( + const m = V( Ue, - (g) => g.getAppearanceEpoch(n.ref) - ), b = oe( - Be, - (g) => g.getAppearanceScale(n.transform.renderScale), + (b) => b.getAppearanceEpoch(n.ref) + ), g = ae( + Ke, + (b) => b.getAppearanceScale(n.transform.renderScale), n.transform.renderScale ); E( - () => al( + () => ul( f, - (g) => o.renderAppearances(n.ref, b, g), - Ut, + (b) => o.renderAppearances(n.ref, g, b), + jt, p ), - [f, o, n.ref, b, m] + [f, o, n.ref, g, m] ); - const h = ip(d, Ut); + const h = fp(d, jt); return /* @__PURE__ */ i("div", { style: { position: "absolute", inset: 0, pointerEvents: "none" }, children: [ - l.map((g) => { - const y = g.annotation?.appearanceState ?? null, v = il({ - pending: g.source !== "baked", - picture: c && sl(c, g.id, y), - version: g.pictureVersion ?? 0, + l.map((b) => { + const y = b.annotation?.appearanceState ?? null, v = pl({ + pending: b.source !== "baked", + picture: c && fl(c, b.id, y), + version: b.pictureVersion ?? 0, loaded: c !== null, - paint: () => rm(g) ? g : null + paint: () => um(b) ? b : null }), _ = v?.kind === "painting" ? ( // shapes, cloudy, markup: all painted via scene() - /* @__PURE__ */ i(ng, { item: g }) - ) : v?.kind === "picture" && g.raster ? /* @__PURE__ */ i(og, { url: v.picture.url, box: sp(g.raster, g.frame) }) : null, O = (T, L) => /* @__PURE__ */ i(tg, { item: g, page: n, ...L, children: T }, g.id), S = g.annotation; - if (!S) return O(_); + /* @__PURE__ */ i(cg, { item: b }) + ) : v?.kind === "picture" && b.raster ? /* @__PURE__ */ i(dg, { url: v.picture.url, box: mp(b.raster, b.frame) }) : null, P = (T, L) => /* @__PURE__ */ i(lg, { item: b, page: n, ...L, children: T }, b.id), S = b.annotation; + if (!S) return P(_); const x = (T, L) => { - const A = ll(g.frame, n.transform), F = T.scale !== !1, ce = T.component, te = /* @__PURE__ */ i( - ce, + const B = ml(b.frame, n.transform), I = T.scale !== !1, K = T.component, te = /* @__PURE__ */ i( + K, { annotation: S, - frame: up(A, F), + frame: vp(B, I), native: _, - appearance: c && dp(c, g.id, y), - hovered: g.hovered ?? !1, - selected: g.selected, + appearance: c && bp(c, b.id, y), + hovered: b.hovered ?? !1, + selected: b.selected, interactive: L } ); - return F ? /* @__PURE__ */ i( + return I ? /* @__PURE__ */ i( "div", { style: { position: "absolute", left: 0, top: 0, - width: A.design.width, - height: A.design.height, - transform: `scale(${A.scale})`, + width: B.design.width, + height: B.design.height, + transform: `scale(${B.scale})`, transformOrigin: "0 0" }, - children: /* @__PURE__ */ i(eg.Provider, { value: A.scale, children: te }) + children: /* @__PURE__ */ i(sg.Provider, { value: B.scale, children: te }) } ) : te; - }, P = h !== null && Ut(S.ref) === h, M = lp(S, o, e, P); + }, O = h !== null && jt(S.ref) === h, M = hp(S, o, e, O); switch (M.kind) { case "owned": { const T = M.entry.component; @@ -2403,121 +2403,121 @@ function dg({ renderers: e, components: t } = {}) { T, { annotation: S, - item: g, + item: b, page: n, - native: O(_), - hovered: g.hovered ?? !1, - selected: g.selected, + native: P(_), + hovered: b.hovered ?? !1, + selected: b.selected, interactive: !0 }, - g.id + b.id ); } case "look": - return O(x(M.entry, M.interactive), { + return P(x(M.entry, M.interactive), { interactive: M.interactive, inert: M.inert }); case "native": - return O(_, { inert: M.inert }); + return P(_, { inert: M.inert }); } }), - cp(d, l, e, Ut).map((g) => /* @__PURE__ */ i(lg, { item: g, page: n }, g.id)), - /* @__PURE__ */ i(rg, { page: n }), - /* @__PURE__ */ i(ig, { page: n, components: t }) + gp(d, l, e, jt).map((b) => /* @__PURE__ */ i(hg, { item: b, page: n }, b.id)), + /* @__PURE__ */ i(ug, { page: n }), + /* @__PURE__ */ i(fg, { page: n, components: t }) ] }); } -const ug = rp; -function pg(e = ug) { - const t = Q(we); +const vg = up; +function wg(e = vg) { + const t = ee(ye); E(() => { if (t) - return ap( + return pp( t, e, - () => Ln( + () => Rn( "file-picker-provider-twice", "useFilePickerProvider() is called from two mounted components for the same document — the later one wins. Call it once, at a document-scoped spot." ) ); }, [t, e]); } -function fg() { - return j(we); +function yg() { + return U(ye); } -const mg = {}; -function hg(e) { - return oe( - we, +const _g = {}; +function xg(e) { + return ae( + ye, (t) => t.tools.getDefaults(e), - mg + _g ); } -const gg = { properties: [], values: {}, mixed: [] }; -function D_(e) { - return oe( - we, +const kg = { properties: [], values: {}, mixed: [] }; +function q_(e) { + return ae( + ye, (t) => e === void 0 ? t.selection.getProperties() : t.tools.getProperties(e), - gg + kg ); } -function $_() { - return j(we).comments; +function Y_() { + return U(ye).comments; } -const bg = [], vg = []; -function z_() { - const e = ye(), t = oe( - we, +const Sg = [], Mg = []; +function X_() { + const e = _e(), t = ae( + ye, (o) => o.comments.listThreads(), - vg - ), n = ie( - (o) => e ? o.documents.listPages(e) : bg + Mg + ), n = le( + (o) => e ? o.documents.listPages(e) : Sg ); - return H(() => wp(t, n), [t, n]); + return j(() => Op(t, n), [t, n]); } -function _a() { - return j(Pe); +function Oa() { + return U(Oe); } -const wg = Ae(Mf); -function yg(e) { +const Og = Ae(Nf); +function Pg(e) { const t = e?.kind === void 0 ? void 0 : [].concat(e.kind).join("\0"); - return W( - Pe, + return V( + Oe, (n) => n.listLibraries(t === void 0 ? void 0 : { kind: t.split("\0") }), qe ); } -function gc(e) { +function xc(e) { const t = e?.libraryId, n = e?.kind, o = e?.category; - return W( - Pe, + return V( + Oe, (r) => r.listAssets({ libraryId: t, kind: n, category: o }), qe ); } -function _g(e) { - const t = _a(), [n, o] = C(null); +function Tg(e) { + const t = Oa(), [n, o] = C(null); return E(() => { const r = e ? t.getAssetPreview(e) : null; if (!r) { o(null); return; } - const a = yp(r); + const a = Pp(r); return o(a.url), () => { a.revoke(), o(null); }; }, [t, e]), n; } -function F_() { - return j(xt); +function Z_() { + return U(_t); } -const xg = Ae(xf); -function kg(e) { +const Cg = Ae(Cf); +function Eg(e) { const t = Ze(); - return ie((n) => e === null ? null : n.tryCapability(xt, t ?? void 0)?.getPageScale(e) ?? kf); + return le((n) => e === null ? null : n.tryCapability(_t, t ?? void 0)?.getPageScale(e) ?? Ef); } -function Sg({ +function Ag({ ariaLabel: e, disabled: t, multi: n, @@ -2528,8 +2528,8 @@ function Sg({ onBlur: l, style: d }) { - const [c] = C(() => xp(r)), p = Xe(c.subscribe, c.get, c.get), f = k(null); - return E(() => f.current ? _p(f.current) : void 0, []), E(() => c.setConfirmed(r), [c, r]), /* @__PURE__ */ i( + const [c] = C(() => Cp(r)), p = Xe(c.subscribe, c.get, c.get), f = k(null); + return E(() => f.current ? Tp(f.current) : void 0, []), E(() => c.setConfirmed(r), [c, r]), /* @__PURE__ */ i( "select", { ref: f, @@ -2549,23 +2549,23 @@ function Sg({ } ); } -function xa({ visible: e, color: t }) { - return e ? /* @__PURE__ */ i("span", { "aria-hidden": "true", "data-embedpdf-form-focus-ring": "", style: kp(t) }) : null; +function Pa({ visible: e, color: t }) { + return e ? /* @__PURE__ */ i("span", { "aria-hidden": "true", "data-embedpdf-form-focus-ring": "", style: Ep(t) }) : null; } -function Mg() { - const e = Dt((o) => o.accent), t = Gi((o) => o.focus), n = Gi((o) => o.fields); - return H(() => Sp({ focus: t, fields: n }, e), [e, t, n]); +function Ng() { + const e = Dt((o) => o.accent), t = Zi((o) => o.focus), n = Zi((o) => o.fields); + return j(() => Ap({ focus: t, fields: n }, e), [e, t, n]); } -function Pg(e) { +function Lg(e) { const t = k(null), n = k(e); return n.current = e, E( - () => t.current ? ta(t.current, () => n.current?.()) : void 0, + () => t.current ? sa(t.current, () => n.current?.()) : void 0, [] ), t; } -function Og(e, t) { - const n = j(Te), o = k(t); - return o.current = t, H(() => { +function Ig(e, t) { + const n = U(Te), o = k(t); + return o.current = t, j(() => { const r = (a) => { const s = o.current; s && n.notifyWidgetEvent(e, s, a); @@ -2584,8 +2584,8 @@ function Og(e, t) { }; }, [n, e]); } -function Rn(e) { - const t = j(Te), n = k(e); +function Dn(e) { + const t = U(Te), n = k(e); return n.current = e, Ve(() => { const o = n.current; o && t.activateWidget(o); @@ -2601,31 +2601,31 @@ function sn({ children: s, ...l }) { - const d = j(Te), { onPress: c, ...p } = Og(e.fieldRef, e.annotationRef), f = Pg(c), u = Lt(e.box, t.transform), m = e.annotationRef, b = r && !e.disabled, h = e.control === "toggle" && e.kind === "radio"; + const d = U(Te), { onPress: c, ...p } = Ig(e.fieldRef, e.annotationRef), f = Lg(c), u = Qt(e.box, t.transform), m = e.annotationRef, g = r && !e.disabled, h = e.control === "toggle" && e.kind === "radio"; return E( - () => f.current && m && b ? Tp(f.current, d, m, { radio: h }) : void 0, - [f, d, m, b, h] + () => f.current && m && g ? Rp(f.current, d, m, { radio: h }) : void 0, + [f, d, m, g, h] ), /* @__PURE__ */ i( "div", { ref: f, ...p, ...l, - onFocus: (g) => { - p.onFocus?.(g), l.onFocus?.(g); + onFocus: (b) => { + p.onFocus?.(b), l.onFocus?.(b); }, - onBlur: (g) => { - p.onBlur?.(g), l.onBlur?.(g); + onBlur: (b) => { + p.onBlur?.(b), l.onBlur?.(b); }, onClick: a, - style: { ...Cp(e, u, n, { edge: o }), ...l.style }, + style: { ...Dp(e, u, n, { edge: o }), ...l.style }, children: s } ); } -function Tg({ item: e, page: t, colors: n }) { - const o = j(Te), r = Rn(e.annotationRef), a = H( - () => Pp(o, e.fieldRef, e.value), +function Rg({ item: e, page: t, colors: n }) { + const o = U(Te), r = Dn(e.annotationRef), a = j( + () => Lp(o, e.fieldRef, e.value), // eslint-disable-next-line react-hooks/exhaustive-deps [o, e.key] ), { focused: s, draft: l } = Xe( @@ -2634,10 +2634,10 @@ function Tg({ item: e, page: t, colors: n }) { a.getState ); E(() => a.setValue(e.value), [a, e.value]); - const d = Lt(e.box, t.transform); - oe(cm, (f) => f.getPaintFontsEpoch(), 0); + const d = Qt(e.box, t.transform); + ae(gm, (f) => f.getPaintFontsEpoch(), 0); const c = e.annotationRef ? o.getTextEditorLayout(e.annotationRef, l) : null; - Ko(c ? c.programs : bc); + Wo(c ? c.programs : kc); const p = { value: l, maxLength: e.maxLength ?? void 0, @@ -2649,7 +2649,7 @@ function Tg({ item: e, page: t, colors: n }) { onKeyDown: (f) => { a.keyDown(f.key, e.multiline) && f.currentTarget.blur(); }, - style: Op(e, d, n, s, c) + style: Ip(e, d, n, s, c) }; return ( // A click runs the widget's action too, as in Acrobat: the editor's @@ -2657,8 +2657,8 @@ function Tg({ item: e, page: t, colors: n }) { /* @__PURE__ */ i(sn, { item: e, page: t, colors: n, onClick: r, children: e.multiline ? /* @__PURE__ */ i("textarea", { ...p }) : /* @__PURE__ */ i("input", { ...p, type: e.password ? "password" : "text" }) }) ); } -function Cg({ item: e, page: t, colors: n }) { - const o = j(Te), r = Rn(e.annotationRef), [a, s] = C(!1), l = () => Ep(o, e, r); +function Dg({ item: e, page: t, colors: n }) { + const o = U(Te), r = Dn(e.annotationRef), [a, s] = C(!1), l = () => $p(o, e, r); return /* @__PURE__ */ i( sn, { @@ -2676,12 +2676,12 @@ function Cg({ item: e, page: t, colors: n }) { (d.key === " " || d.key === "Enter") && (d.preventDefault(), l()); }, style: { cursor: e.disabled ? "default" : "pointer", outline: "none" }, - children: /* @__PURE__ */ i(xa, { visible: a, color: n.focus }) + children: /* @__PURE__ */ i(Pa, { visible: a, color: n.focus }) } ); } -function Eg({ item: e, page: t, colors: n }) { - const o = j(Te), r = Rn(e.annotationRef), [a, s] = C(!1); +function $g({ item: e, page: t, colors: n }) { + const o = U(Te), r = Dn(e.annotationRef), [a, s] = C(!1); return /* @__PURE__ */ i(sn, { item: e, page: t, colors: n, onClick: r, children: [ /* @__PURE__ */ i( "select", @@ -2693,7 +2693,7 @@ function Eg({ item: e, page: t, colors: n }) { onBlur: () => s(!1), onChange: (l) => void o.setValue(e.fieldRef, { value: l.currentTarget.value || null }), style: { - ...ea, + ...ia, opacity: 0, cursor: e.disabled ? "default" : "pointer", ...e.disabled ? { pointerEvents: "none" } : {} @@ -2705,17 +2705,17 @@ function Eg({ item: e, page: t, colors: n }) { }, e.selected.join("\0") ), - /* @__PURE__ */ i(xa, { visible: a, color: n.focus }) + /* @__PURE__ */ i(Pa, { visible: a, color: n.focus }) ] }); } -function Ag({ item: e, page: t, colors: n }) { - const o = j(Te), r = Rn(e.annotationRef), [a, s] = C(!1), l = Lt(e.box, t.transform), d = W( +function zg({ item: e, page: t, colors: n }) { + const o = U(Te), r = Dn(e.annotationRef), [a, s] = C(!1), l = Qt(e.box, t.transform), d = V( Te, (c) => e.annotationRef ? c.getWidgetFontCss(e.annotationRef) : null ); - return Ko(d ? d.programs : bc), /* @__PURE__ */ i(sn, { item: e, page: t, colors: n, edge: !1, onClick: r, children: [ + return Wo(d ? d.programs : kc), /* @__PURE__ */ i(sn, { item: e, page: t, colors: n, edge: !1, onClick: r, children: [ /* @__PURE__ */ i( - Sg, + Ag, { ariaLabel: e.label, disabled: e.disabled, @@ -2727,14 +2727,14 @@ function Ag({ item: e, page: t, colors: n }) { onSelect: async (c) => { await o.setValue(e.fieldRef, { selectedValues: c }); }, - style: Mp(e, l, n, d) + style: Np(e, l, n, d) } ), - /* @__PURE__ */ i(xa, { visible: a, color: n.focus }) + /* @__PURE__ */ i(Pa, { visible: a, color: n.focus }) ] }); } -function Ng({ item: e, page: t, colors: n }) { - const o = Rn(e.annotationRef); +function Fg({ item: e, page: t, colors: n }) { + const o = Dn(e.annotationRef); return /* @__PURE__ */ i( sn, { @@ -2751,7 +2751,7 @@ function Ng({ item: e, page: t, colors: n }) { disabled: e.disabled, onClick: o, style: { - ...ea, + ...ia, padding: 0, border: 0, background: "transparent", @@ -2764,9 +2764,9 @@ function Ng({ item: e, page: t, colors: n }) { } ); } -function Ig({ item: e, page: t, colors: n }) { - const o = Q(fi), r = e.fieldRef, a = oe( - fi, +function Bg({ item: e, page: t, colors: n }) { + const o = ee(wi), r = e.fieldRef, a = ae( + wi, (l) => l.getSignature(r)?.signed ?? e.signed, e.signed ), s = o !== null && (a || !e.disabled); @@ -2786,7 +2786,7 @@ function Ig({ item: e, page: t, colors: n }) { "data-signed": a ? "" : void 0, onClick: () => a ? o.requestInspection(r) : o.setTarget(r), style: { - ...ea, + ...ia, padding: 0, border: 0, background: "transparent", @@ -2797,61 +2797,61 @@ function Ig({ item: e, page: t, colors: n }) { } ); } -function Lg() { - const e = $e(), t = j(Te), n = Mg(), o = W( - $o, +function Kg() { + const e = ze(), t = U(Te), n = Ng(), o = V( + jo, (a) => a.activeToolEnables("form-fill") ); - ac(e.ref, "formFields"), E(() => { + uc(e.ref, "formFields"), E(() => { t.ensureLoaded(e.ref); }, [t, e.ref]); - const r = W( + const r = V( Te, (a) => a.listWidgets(e.ref), qe ); return /* @__PURE__ */ i("div", { style: { position: "absolute", inset: 0, pointerEvents: "none" }, children: [ - /* @__PURE__ */ i(Rg, { page: e }), + /* @__PURE__ */ i(jg, { page: e }), (o ? r : []).map((a) => { const s = `${a.key}:${a.annotObjectNumber}`; switch (a.control) { case "text": - return /* @__PURE__ */ i(Tg, { item: a, page: e, colors: n }, s); + return /* @__PURE__ */ i(Rg, { item: a, page: e, colors: n }, s); case "toggle": - return /* @__PURE__ */ i(Cg, { item: a, page: e, colors: n }, s); + return /* @__PURE__ */ i(Dg, { item: a, page: e, colors: n }, s); case "choice": - return a.kind === "list" ? /* @__PURE__ */ i(Ag, { item: a, page: e, colors: n }, s) : /* @__PURE__ */ i(Eg, { item: a, page: e, colors: n }, s); + return a.kind === "list" ? /* @__PURE__ */ i(zg, { item: a, page: e, colors: n }, s) : /* @__PURE__ */ i($g, { item: a, page: e, colors: n }, s); case "button": - return /* @__PURE__ */ i(Ng, { item: a, page: e, colors: n }, s); + return /* @__PURE__ */ i(Fg, { item: a, page: e, colors: n }, s); case "signature": - return /* @__PURE__ */ i(Ig, { item: a, page: e, colors: n }, s); + return /* @__PURE__ */ i(Bg, { item: a, page: e, colors: n }, s); } }) ] }); } -function Rg({ page: e }) { - const t = j(Te), n = W( +function jg({ page: e }) { + const t = U(Te), n = V( Te, (c) => c.listShownWidgets(e.ref), qe - ), o = W(Te, (c) => c.getAppearanceEpoch(e.ref)), r = oe( - Be, + ), o = V(Te, (c) => c.getAppearanceEpoch(e.ref)), r = ae( + Ke, (c) => c.getAppearanceScale(e.transform.renderScale), 0 - ), [a, s] = C(null), [l] = C(ul); + ), [a, s] = C(null), [l] = C(bl); E(() => () => l.release(), [l]), E(() => { if (r) - return al( + return ul( l, (c) => t.renderAppearances(e.ref, r, c), - nr, + sr, s ); }, [l, t, e.ref, r, o]); const d = n.map( - (c) => il({ + (c) => pl({ pending: c.pending, - picture: a && sl(a, nr(c.ref), c.appearanceState), + picture: a && fl(a, sr(c.ref), c.appearanceState), version: c.pictureVersion, loaded: a !== null, paint: () => t.getWidgetPainting(c.ref) @@ -2860,28 +2860,27 @@ function Rg({ page: e }) { return /* @__PURE__ */ i(D, { children: n.map((c, p) => { const f = d[p]; if (!f) return null; - const u = nr(c.ref); + const u = sr(c.ref), m = Qt(c.rect, e.transform); if (f.kind === "painting") { - const { x: b, y: h, width: g, height: y } = c.rect, v = Lt(c.rect, e.transform); + const { x: g, y: h, width: b, height: y } = c.rect; return /* @__PURE__ */ i( "svg", { - viewBox: `${b} ${h} ${g} ${y}`, + viewBox: `${g} ${h} ${b} ${y}`, style: { position: "absolute", - left: v.left, - top: v.top, - width: v.width, - height: v.height, + left: m.left, + top: m.top, + width: m.width, + height: m.height, overflow: "visible", pointerEvents: "none" }, - children: /* @__PURE__ */ i(pc, { shapes: cl(f.painting.scene, { miterLimit: bl }) }) + children: /* @__PURE__ */ i(vc, { shapes: hl(f.painting.scene, { miterLimit: kl }) }) }, u ); } - const m = Lt(f.picture.box, e.transform); return /* @__PURE__ */ i( "img", { @@ -2904,55 +2903,55 @@ function Rg({ page: e }) { ); }) }); } -const bc = Object.freeze([]); -Ae(If); -const Gi = zt(nn); -function B_() { - return j(on); +const kc = Object.freeze([]); +Ae(Bf); +const Zi = an(tn); +function J_() { + return U(nn); } -const K_ = Ae(Vf); -function Wn(e, t) { - va(on, e, t); +const Q_ = Ae(em); +function qn(e, t) { + ka(nn, e, t); } -function H_() { - const e = yg({ kind: qf }), t = gc(); - return H(() => Yf(e, t), [e, t]); +function ex() { + const e = Pg({ kind: tm }), t = xc(); + return j(() => nm(e, t), [e, t]); } -function Dg({ +function Hg({ onPress: e, ...t }) { const n = k(null), o = k(e); return o.current = e, E( - () => n.current ? ta(n.current, () => o.current()) : void 0, + () => n.current ? sa(n.current, () => o.current()) : void 0, [] ), /* @__PURE__ */ i("a", { ref: n, ...t }); } -function $g() { - const e = Q(yl); - E(() => e?.registerUriOpener(Dp), [e]); +function Ug() { + const e = ee(Ol); + E(() => e?.registerUriOpener(Hp), [e]); } -function zg({ renderLink: e } = {}) { - const t = $e(), n = j(ho); - $g(); - const o = Q($t()), r = Q(um), a = H(() => r ? dm(r.dispatch) : null, [r]), s = W(ho, (p) => p.listLinks(t.ref), qe), l = W(yl, (p) => p.isNavigationEngaged()), d = oe( - $o, +function Gg({ renderLink: e } = {}) { + const t = ze(), n = U(bo); + Ug(); + const o = ee($t()), r = ee(vm), a = j(() => r ? bm(r.dispatch) : null, [r]), s = V(bo, (p) => p.listLinks(t.ref), qe), l = V(Ol, (p) => p.isNavigationEngaged()), d = ae( + jo, (p) => p.activeToolEnables("annotation-edit"), !1 ); if (E(() => { n.ensureLoaded(t.ref); }, [n, t.ref]), !l || !s.length) return null; - const c = Ap(s, d); + const c = zp(s, d); return c.length ? /* @__PURE__ */ i("div", { style: { position: "absolute", inset: 0, pointerEvents: "none" }, children: c.map((p) => { - const { box: f, href: u, label: m } = Np( + const { box: f, href: u, label: m } = Fp( p, t.transform, (y) => n.getLabel(y) - ), b = Ip(p, t.ref, o), h = /* @__PURE__ */ i( - Dg, + ), g = Bp(p, t.ref, o), h = /* @__PURE__ */ i( + Hg, { - onPress: () => Kn(r, p, t.ref, "mouseDown"), + onPress: () => Hn(r, p, t.ref, "mouseDown"), href: u ?? void 0, target: "_blank", rel: "noopener noreferrer", @@ -2961,16 +2960,16 @@ function zg({ renderLink: e } = {}) { title: m, "aria-label": m, onClick: (y) => { - u && Rp(y) || (y.preventDefault(), n.activate(p, b)); + u && jp(y) || (y.preventDefault(), n.activate(p, g)); }, onKeyDown: (y) => { - (y.key === "Enter" || y.key === " ") && (y.preventDefault(), n.activate(p, b)); + (y.key === "Enter" || y.key === " ") && (y.preventDefault(), n.activate(p, g)); }, - onPointerEnter: () => Lp(a, p, t.ref), + onPointerEnter: () => Kp(a, p, t.ref), onPointerLeave: () => a?.hover(null), - onPointerUp: () => Kn(r, p, t.ref, "mouseUp"), - onFocus: () => Kn(r, p, t.ref, "focus"), - onBlur: () => Kn(r, p, t.ref, "blur"), + onPointerUp: () => Hn(r, p, t.ref, "mouseUp"), + onFocus: () => Hn(r, p, t.ref, "focus"), + onBlur: () => Hn(r, p, t.ref, "blur"), style: { position: "absolute", left: f.left, @@ -2981,57 +2980,57 @@ function zg({ renderLink: e } = {}) { pointerEvents: "auto" } } - ), g = e?.({ link: p, native: h }) ?? h; - return /* @__PURE__ */ i(D, { children: g }, p.id); + ), b = e?.({ link: p, native: h }) ?? h; + return /* @__PURE__ */ i(D, { children: b }, p.id); }) }) : null; } -const vc = Ae(Cf), j_ = zt(En); -function Z() { - return W(En, (e) => e.getTranslator()); +const xo = Ae(Df); +function Q() { + return V($o, (e) => e.getTranslator()); } -const Fg = /* @__PURE__ */ Pu($p); +const Wg = /* @__PURE__ */ Lu(Up); function ke() { - return j(De); + return U($e); } -const Bg = zt(De); -function wc(e, t = {}) { - return Qs(e, { isMac: t.isMac ?? No() }); +const Vg = an($e); +function Sc(e, t = {}) { + return al(e, { isMac: t.isMac ?? Ro() }); } function Ce(e) { - const t = j(De), n = ye() ?? void 0, o = ie( + const t = U($e), n = _e() ?? void 0, o = le( () => t.resolveCommand(e, n), - Jd + au ); - return o === null && Ln(`useCommand:${e}`, `useCommand(): ${Qd(e, t.listCommandIds())}`), H( - () => eu( - o ?? tu(e), + return o === null && Rn(`useCommand:${e}`, `useCommand(): ${iu(e, t.listCommandIds())}`), j( + () => su( + o ?? lu(e), (r) => t.execute(r, { documentId: n }), - { isMac: No() } + { isMac: Ro() } ), [o, t, n, e] ); } -function Kg(e) { - const t = j(Qr), n = e?.isMac, o = e?.target, r = k(e?.onRefused); +function qg(e) { + const t = U(aa), n = e?.isMac, o = e?.target, r = k(e?.onRefused); r.current = e?.onRefused, E(() => { const a = (s, l) => r.current?.(s, l); - return o ? o.current ? ai(t, { isMac: n, target: o.current, onRefused: a }) : void 0 : ai(t, { isMac: n, onRefused: a }); + return o ? o.current ? ui(t, { isMac: n, target: o.current, onRefused: a }) : void 0 : ui(t, { isMac: n, onRefused: a }); }, [t, n, o]); } -function Hg() { - return j(K); +function Yg() { + return U(H); } -function jg(e, t) { - va(K, e, t); +function Xg(e, t) { + ka(H, e, t); } -const Ug = Ae(ff), Wi = Object.freeze({}); +const Zg = Ae(yf), Ji = Object.freeze({}); function Qe(e) { - const t = Q(K), n = oe(K, (r) => r.isOpen(e), !1), o = oe( - K, - (r) => r.getSurface(e)?.props ?? Wi, - Wi + const t = ee(H), n = ae(H, (r) => r.isOpen(e), !1), o = ae( + H, + (r) => r.getSurface(e)?.props ?? Ji, + Ji ); - return H( + return j( () => ({ isOpen: n, props: o, @@ -3042,77 +3041,77 @@ function Qe(e) { [t, e, n, o] ); } -function U_(e, t, n = {}) { - const o = Q(K), r = oe( - K, +function tx(e, t, n = {}) { + const o = ee(H), r = ae( + H, (l) => l.getSurface(e)?.focusRequest ?? 0, 0 - ), [a] = C(zp), s = n.select ?? !1; + ), [a] = C(Gp), s = n.select ?? !1; E(() => a.follow(t.current, o, r, { select: s })); } -const Gg = "attachments", Wg = "attachment-item", je = (e) => e.tryGet(Ro), Ot = (e) => je(e)?.getSelected()[0] ?? null; -async function Vi(e, t) { +const Jg = "attachments", Qg = "attachment-item", He = (e) => e.tryGet(Bo), Tt = (e) => He(e)?.getSelected()[0] ?? null; +async function Qi(e, t) { const { bytes: n, name: o, mimeType: r } = await e.download(t); - na(n, o, r ?? void 0); + la(n, o, r ?? void 0); } -const qi = (e) => { - const t = e.tryGet(we)?.selection.getSelected() ?? [], [n] = t; +const es = (e) => { + const t = e.tryGet(ye)?.selection.getSelected() ?? [], [n] = t; if (t.length !== 1 || n?.subtype !== "file-attachment") return null; - const o = Ut(n.ref); - return (je(e)?.list() ?? []).find((r) => r.home.kind === "page" && Ut(r.home.ref) === o) ?? null; -}, Yi = { + const o = jt(n.ref); + return (He(e)?.list() ?? []).find((r) => r.home.kind === "page" && jt(r.home.ref) === o) ?? null; +}, ts = { categories: ["documents.download"], - allowed: (e) => je(e)?.canDownload() ?? !0, + allowed: (e) => He(e)?.canDownload() ?? !0, notAllowedKey: "commands.notAllowed.doc-download" -}, Xi = { +}, ns = { categories: ["attachments.adding"], - allowed: (e) => je(e)?.canCreate() ?? !0, + allowed: (e) => He(e)?.canCreate() ?? !0, notAllowedKey: "commands.notAllowed.doc-attachments-modify" -}, Vg = [ +}, eb = [ { id: "attachment:add", labelKey: "commands.attachment.add", icon: "plus", - ...Xi, + ...ns, run: async (e) => { - const t = je(e); + const t = He(e); if (!t) return; - const n = e.args?.files ?? [await oa()].filter((o) => o !== null); - n.length !== 0 && (e.tryGet(K)?.open(Gg), await t.create(n.map((o) => ({ data: o })))); + const n = e.args?.files ?? [await ca()].filter((o) => o !== null); + n.length !== 0 && (e.tryGet(H)?.open(Jg), await t.create(n.map((o) => ({ data: o })))); } }, { id: "attachment:save", labelKey: "commands.attachment.save", icon: "download", - ...Yi, - enabled: (e) => Ot(e) !== null, + ...ts, + enabled: (e) => Tt(e) !== null, run: async (e) => { - const t = je(e), n = Ot(e); - t && n && await Vi(t, n); + const t = He(e), n = Tt(e); + t && n && await Qi(t, n); } }, { id: "attachment:go-to", labelKey: "commands.attachment.goTo", - visible: (e) => Ot(e)?.home.kind === "page", + visible: (e) => Tt(e)?.home.kind === "page", run: (e) => { - const t = Ot(e); - t && je(e)?.reveal(t); + const t = Tt(e); + t && He(e)?.reveal(t); } }, { id: "attachment:delete", labelKey: "commands.attachment.delete", icon: "trash", - ...Xi, + ...ns, allowed: (e) => { - const t = je(e), n = Ot(e); + const t = He(e), n = Tt(e); return t ? n ? t.canDelete(n) : t.canCreate() : !0; }, - enabled: (e) => Ot(e) !== null, + enabled: (e) => Tt(e) !== null, run: async (e) => { - const t = je(e), n = Ot(e); + const t = He(e), n = Tt(e); t && n && await t.delete(n); } }, @@ -3120,81 +3119,81 @@ const qi = (e) => { id: "menu:attachment-item", labelKey: "commands.attachment.more", icon: "dots", - menu: Wg, + menu: Qg, categories: ["attachments"] }, { id: "annotation:save-file", labelKey: "commands.annotate.saveFile", icon: "download", - ...Yi, - visible: (e) => qi(e) !== null, + ...ts, + visible: (e) => es(e) !== null, run: async (e) => { - const t = je(e), n = qi(e); - t && n && await Vi(t, n); + const t = He(e), n = es(e); + t && n && await Qi(t, n); } } -], qg = "comment-item", Yg = [ +], tb = "comment-item", nb = [ "accepted", "rejected", "cancelled", "completed", "none" -], Xg = { +], ob = { none: "comments.statusNone", accepted: "comments.statusAccepted", rejected: "comments.statusRejected", cancelled: "comments.statusCancelled", completed: "comments.statusCompleted" -}, Zg = (e) => !!e.root.contents?.trim() || e.replies.length > 0, Jg = (e) => e.review.lastChange?.state ?? "none", yo = (e) => e.tryGet(we)?.comments ?? null, kn = (e) => { - const t = e.tryGet(we), [n] = t?.selection.getSelected() ?? []; +}, rb = (e) => !!e.root.contents?.trim() || e.replies.length > 0, ab = (e) => e.review.lastChange?.state ?? "none", ko = (e) => e.tryGet(ye)?.comments ?? null, Sn = (e) => { + const t = e.tryGet(ye), [n] = t?.selection.getSelected() ?? []; return n ? t?.comments.getThread(n.ref) ?? null : null; -}, Qg = (e) => { - const t = kn(e); - return t !== null && Zg(t) && !!yo(e)?.canSetStatus(t.root.ref); -}, eb = (e) => ({ +}, ib = (e) => { + const t = Sn(e); + return t !== null && rb(t) && !!ko(e)?.canSetStatus(t.root.ref); +}, sb = (e) => ({ id: `comment:status-${e}`, - labelKey: Xg[e], + labelKey: ob[e], categories: ["comments.writing"], - visible: Qg, + visible: ib, active: (t) => { - const n = kn(t); - return n !== null && Jg(n) === e; + const n = Sn(t); + return n !== null && ab(n) === e; }, run: async (t) => { - const n = kn(t); - n && await yo(t)?.setStatus(n.root.ref, e); + const n = Sn(t); + n && await ko(t)?.setStatus(n.root.ref, e); } -}), tb = [ - ...Yg.map(eb), +}), lb = [ + ...nb.map(sb), { id: "comment:delete-thread", labelKey: "comments.deleteThread", icon: "trash", categories: ["comments.writing"], enabled: (e) => { - const t = kn(e); - return t !== null && !!yo(e)?.canDeleteThread(t.root.ref); + const t = Sn(e); + return t !== null && !!ko(e)?.canDeleteThread(t.root.ref); }, run: async (e) => { - const t = kn(e); - t && await yo(e)?.deleteThread(t.root.ref); + const t = Sn(e); + t && await ko(e)?.deleteThread(t.root.ref); } }, { id: "menu:comment-item", labelKey: "commands.commentThread.more", icon: "dots", - menu: qg, + menu: tb, categories: ["comments.writing"] } -], nb = "mode"; -function _o(e) { +], cb = "mode"; +function So(e) { return e.listOpenSurfaces().find((t) => t.exclusive === "mode")?.id ?? null; } -function ob(e) { - return el(e).map((t) => { - const n = ou(e, t).map((o) => e.bars[o]).find((o) => o.title !== void 0 || o.titleKey !== void 0); +function db(e) { + return il(e).map((t) => { + const n = du(e, t).map((o) => e.bars[o]).find((o) => o.title !== void 0 || o.titleKey !== void 0); return { mode: t, title: n?.title, @@ -3202,32 +3201,32 @@ function ob(e) { }; }); } -const rb = (e, t) => e.length === t.length && e.every((n, o) => n.mode === t[o].mode && n.title === t[o].title && n.titleKey === t[o].titleKey); -function ab(e, t) { - return e.filter((n) => !t(po(n.mode))).map((n) => { - const o = po(n.mode); +const ub = (e, t) => e.length === t.length && e.every((n, o) => n.mode === t[o].mode && n.title === t[o].title && n.titleKey === t[o].titleKey); +function pb(e, t) { + return e.filter((n) => !t(mo(n.mode))).map((n) => { + const o = mo(n.mode); return { id: o, label: n.title ?? (n.titleKey === void 0 ? n.mode : void 0), labelKey: n.titleKey, run: (r) => { - r.tryGet(K)?.toggle(o, { exclusive: nb }), r.tryGet(Cn)?.activateTool("pointer"); + r.tryGet(H)?.toggle(o, { exclusive: cb }), r.tryGet(An)?.activateTool("pointer"); }, - active: (r) => r.tryGet(K)?.isOpen(o) ?? !1 + active: (r) => r.tryGet(H)?.isOpen(o) ?? !1 }; }); } -const Nr = "document:open", ka = "application/pdf", Sa = (e) => e.type === ka || /\.pdf$/i.test(e.name); -function yc(e) { +const zr = "document:open", Ta = "application/pdf", Ca = (e) => e.type === Ta || /\.pdf$/i.test(e.name); +function Mc(e) { if (!e || !Array.from(e.types).includes("Files")) return !1; const t = Array.from(e.items ?? []).filter((n) => n.kind === "file"); - return t.length === 0 || t.some((n) => n.type === ka || n.type === ""); + return t.length === 0 || t.some((n) => n.type === Ta || n.type === ""); } -const ib = (e) => { +const fb = (e) => { const t = e?.files; return Array.isArray(t) ? t : null; -}, sb = () => oa({ accept: `.pdf,${ka}` }).then((e) => e ? [e] : []); -function lb(e, t) { +}, mb = () => ca({ accept: `.pdf,${Ta}` }).then((e) => e ? [e] : []); +function hb(e, t) { e.openAll(t.map((n) => ({ name: n.name.replace(/\.pdf$/i, "") || n.name, source: async () => ({ @@ -3236,44 +3235,44 @@ function lb(e, t) { }) }))); } -const cb = { - id: Nr, +const gb = { + id: zr, labelKey: "commands.open", icon: "fileImport", shortcut: "Mod+O", categories: ["documents.open"], - visible: (e) => e.tryGet(Oe)?.canOpenFiles() ?? !1, + visible: (e) => e.tryGet(Pe)?.canOpenFiles() ?? !1, run: async (e) => { - const t = e.tryGet(Oe); - t && lb(t, ib(e.args) ?? await sb()); + const t = e.tryGet(Pe); + t && hb(t, fb(e.args) ?? await mb()); } -}, db = "outline", Ir = "outline-rename", _c = "outline-properties", ub = "outline-item", bt = (e) => e.tryGet(Lo), vn = (e) => { - const t = bt(e), [n] = t?.getSelected() ?? []; +}, bb = "outline", Fr = "outline-rename", Oc = "outline-properties", vb = "outline-item", gt = (e) => e.tryGet(Fo), wn = (e) => { + const t = gt(e), [n] = t?.getSelected() ?? []; return n ? t?.get(n) ?? null : null; -}, dn = (e) => vn(e) !== null, Tt = { +}, un = (e) => wn(e) !== null, Ct = { categories: ["outline.editing"], - allowed: (e) => bt(e)?.canEdit() ?? !0, + allowed: (e) => gt(e)?.canEdit() ?? !0, notAllowedKey: "commands.notAllowed.doc-outline-modify" }; -async function Zi(e, t) { - const n = bt(e); +async function os(e, t) { + const n = gt(e); if (!n) return; - const o = e.tryGet(K), r = vn(e); - o?.open(db), o?.open(Ir, { props: { after: r?.ref.objectNumber ?? null } }); + const o = e.tryGet(H), r = wn(e); + o?.open(bb), o?.open(Fr, { props: { after: r?.ref.objectNumber ?? null } }); try { await n.create(t(r), { select: !0 }); } catch (a) { - throw o?.close(Ir), a; + throw o?.close(Fr), a; } } -const pb = [ +const wb = [ { id: "outline:add", labelKey: "commands.outline.add", icon: "plus", shortcut: "Mod+B", - ...Tt, - run: (e) => Zi(e, (t) => t ? { + ...Ct, + run: (e) => os(e, (t) => t ? { parent: t.parent, position: { after: t.ref } } : {}) @@ -3281,38 +3280,38 @@ const pb = [ { id: "outline:add-child", labelKey: "commands.outline.addChild", - ...Tt, - enabled: dn, - run: (e) => Zi(e, (t) => t ? { parent: t.ref } : {}) + ...Ct, + enabled: un, + run: (e) => os(e, (t) => t ? { parent: t.ref } : {}) }, { id: "outline:rename", labelKey: "commands.outline.rename", - ...Tt, - enabled: dn, + ...Ct, + enabled: un, run: (e) => { - const t = vn(e); - t && e.tryGet(K)?.open(Ir, { props: { item: t.ref.objectNumber } }); + const t = wn(e); + t && e.tryGet(H)?.open(Fr, { props: { item: t.ref.objectNumber } }); } }, { id: "outline:set-destination", labelKey: "commands.outline.setDestination", - ...Tt, - enabled: (e) => dn(e) && bt(e)?.getCurrentViewTarget() != null, + ...Ct, + enabled: (e) => un(e) && gt(e)?.getCurrentViewTarget() != null, run: async (e) => { - const t = bt(e), n = vn(e), o = t?.getCurrentViewTarget() ?? null; + const t = gt(e), n = wn(e), o = t?.getCurrentViewTarget() ?? null; t && n && o && await t.update(n.ref, { target: o }); } }, { id: "outline:properties", labelKey: "commands.outline.properties", - ...Tt, - enabled: dn, + ...Ct, + enabled: un, run: (e) => { - const t = vn(e); - t && e.tryGet(K)?.open(_c, { + const t = wn(e); + t && e.tryGet(H)?.open(Oc, { exclusive: "modal", props: { item: t.ref.objectNumber } }); @@ -3322,10 +3321,10 @@ const pb = [ id: "outline:delete", labelKey: "commands.outline.delete", icon: "trash", - ...Tt, - enabled: dn, + ...Ct, + enabled: un, run: async (e) => { - const t = bt(e), n = t?.getSelected() ?? []; + const t = gt(e), n = t?.getSelected() ?? []; t && n.length > 0 && await t.delete(n); } }, @@ -3333,79 +3332,79 @@ const pb = [ id: "menu:outline-item", labelKey: "commands.outline.more", icon: "dots", - menu: ub, - ...Tt + menu: vb, + ...Ct }, { id: "outline:expand-all", labelKey: "commands.outline.expandAll", icon: "chevronsDown", categories: ["outline"], - run: (e) => bt(e)?.expandAll() + run: (e) => gt(e)?.expandAll() }, { id: "outline:collapse-all", labelKey: "commands.outline.collapseAll", icon: "chevronsUp", categories: ["outline"], - run: (e) => bt(e)?.collapseAll() + run: (e) => gt(e)?.collapseAll() } -], fb = "page", xc = "application/pdf", He = (e) => e.tryGet(Do), vt = (e) => He(e)?.getSelected() ?? [], Lr = (e) => vt(e).length > 0, ao = (e) => e.tryGet(Oe)?.listPages(e.documentId ?? void 0) ?? [], kc = (e) => e.args ?? {}, Ct = { +], yb = "page", Pc = "application/pdf", je = (e) => e.tryGet(Ko), bt = (e) => je(e)?.getSelected() ?? [], Br = (e) => bt(e).length > 0, so = (e) => e.tryGet(Pe)?.listPages(e.documentId ?? void 0) ?? [], Tc = (e) => e.args ?? {}, Et = { categories: ["pages"], - allowed: (e) => He(e)?.canEdit() ?? !0, + allowed: (e) => je(e)?.canEdit() ?? !0, notAllowedKey: "commands.notAllowed.doc-pages-assemble" }; -function Ji(e) { - const t = kc(e).position; +function rs(e) { + const t = Tc(e).position; if (t) return t; - const n = new Set(vt(e).map((r) => r.objectNumber)), o = ao(e).filter((r) => n.has(r.ref.objectNumber)).pop(); + const n = new Set(bt(e).map((r) => r.objectNumber)), o = so(e).filter((r) => n.has(r.ref.objectNumber)).pop(); return o ? { after: o.ref } : "end"; } -async function mb(e) { - const t = kc(e).files; - if (t) return t.filter(Sa); - const n = await oa({ accept: `.pdf,${xc}` }); +async function _b(e) { + const t = Tc(e).files; + if (t) return t.filter(Ca); + const n = await ca({ accept: `.pdf,${Pc}` }); return n ? [n] : []; } -function hb(e) { +function xb(e) { const t = e.documentId ?? void 0; - return `${e.tryGet(Oe)?.get(t)?.name?.replace(/\.pdf$/i, "") || "document"}-pages.pdf`; + return `${e.tryGet(Pe)?.get(t)?.name?.replace(/\.pdf$/i, "") || "document"}-pages.pdf`; } -const Qi = (e, t, n, o) => ({ +const as = (e, t, n, o) => ({ id: e, labelKey: t, icon: n, - ...Ct, - enabled: Lr, + ...Et, + enabled: Br, run: async (r) => { - const a = vt(r); - a.length > 0 && await He(r)?.rotateBy(a, o); + const a = bt(r); + a.length > 0 && await je(r)?.rotateBy(a, o); } -}), gb = [ - Qi("page:rotate-clockwise", "commands.pages.rotateClockwise", "pageRotateClockwise", 90), - Qi("page:rotate-counterclockwise", "commands.pages.rotateCounterclockwise", "pageRotateCounterClockwise", -90), +}), kb = [ + as("page:rotate-clockwise", "commands.pages.rotateClockwise", "pageRotateClockwise", 90), + as("page:rotate-counterclockwise", "commands.pages.rotateCounterclockwise", "pageRotateCounterClockwise", -90), { id: "page:delete", labelKey: "commands.pages.delete", icon: "trash", - ...Ct, + ...Et, enabled: (e) => { - const t = vt(e).length; - return t > 0 && t < ao(e).length; + const t = bt(e).length; + return t > 0 && t < so(e).length; }, run: async (e) => { - const t = vt(e); - t.length > 0 && await He(e)?.delete(t); + const t = bt(e); + t.length > 0 && await je(e)?.delete(t); } }, { id: "page:duplicate", labelKey: "commands.pages.duplicate", icon: "copy", - ...Ct, - enabled: Lr, + ...Et, + enabled: Br, run: async (e) => { - const t = He(e), n = vt(e); + const t = je(e), n = bt(e); if (!t || n.length === 0) return; const { pages: o } = await t.duplicate(n); t.select(o); @@ -3415,11 +3414,11 @@ const Qi = (e, t, n, o) => ({ id: "page:insert-blank", labelKey: "commands.pages.insertBlank", icon: "filePlus", - ...Ct, + ...Et, run: async (e) => { - const t = He(e); + const t = je(e); if (!t) return; - const { pages: n } = await t.insertBlank({ position: Ji(e) }); + const { pages: n } = await t.insertBlank({ position: rs(e) }); t.select(n); } }, @@ -3427,12 +3426,12 @@ const Qi = (e, t, n, o) => ({ id: "page:insert-file", labelKey: "commands.pages.insertFile", icon: "fileImport", - ...Ct, + ...Et, run: async (e) => { - const t = He(e); + const t = je(e); if (!t) return; - let n = Ji(e); - const o = await mb(e), r = []; + let n = rs(e); + const o = await _b(e), r = []; for (const a of o) { const { pages: s } = await t.insertFromBytes(new Uint8Array(await a.arrayBuffer()), { position: n }); r.push(...s); @@ -3447,29 +3446,29 @@ const Qi = (e, t, n, o) => ({ labelKey: "commands.pages.extract", icon: "fileExport", categories: ["documents.download"], - allowed: (e) => He(e)?.canExtract() ?? !0, + allowed: (e) => je(e)?.canExtract() ?? !0, notAllowedKey: "commands.notAllowed.doc-download", - enabled: Lr, + enabled: Br, run: async (e) => { - const t = vt(e), n = He(e); - !n || t.length === 0 || na(await n.extract(t), hb(e), xc); + const t = bt(e), n = je(e); + !n || t.length === 0 || la(await n.extract(t), xb(e), Pc); } }, { id: "page:select-all", labelKey: "commands.pages.selectAll", - categories: Ct.categories, - enabled: (e) => vt(e).length < ao(e).length, - run: (e) => He(e)?.select(ao(e).map((t) => t.ref)) + categories: Et.categories, + enabled: (e) => bt(e).length < so(e).length, + run: (e) => je(e)?.select(so(e).map((t) => t.ref)) }, { id: "menu:page", labelKey: "commands.pages.more", icon: "dots", - menu: fb, - ...Ct + menu: yb, + ...Et } -], Sc = "go-to-page", Mc = "shortcuts", es = "redact-confirm", bb = "print", ts = "form-design", vb = "form-edit", wb = [ +], Cc = "go-to-page", Ec = "shortcuts", is = "redact-confirm", Sb = "print", ss = "form-design", Mb = "form-edit", Ob = [ "form-text", "form-checkbox", "form-radio", @@ -3477,79 +3476,79 @@ const Qi = (e, t, n, o) => ({ "form-listbox", "form-button", "form-signature" -], yb = (e) => e === "form-edit" || e != null && wb.includes(e), ns = (e) => yb(e.tryGet(Cn)?.getActiveToolId()), _b = "embedpdf-custom", z = (e) => e.tryGet(lt), Vn = (e) => (z(e)?.getPageCount() ?? 0) > 1, me = (e) => e.tryGet(Cn), he = (e) => e.tryGet(we), io = (e) => e.tryGet(An), so = (e) => e.tryGet(tn), qn = (e) => so(e)?.getSnapshot() ?? null, xb = Fg.find((e) => "id" in e && e.id === "document:download"), kb = (e, t) => { - const n = e.tryGet(Oe), o = e.documentId ?? void 0; +], Pb = (e) => e === "form-edit" || e != null && Ob.includes(e), ls = (e) => Pb(e.tryGet(An)?.getActiveToolId()), Tb = "embedpdf-custom", z = (e) => e.tryGet(ct), Yn = (e) => (z(e)?.getPageCount() ?? 0) > 1, he = (e) => e.tryGet(An), de = (e) => e.tryGet(ye), lo = (e) => e.tryGet(Nn), co = (e) => e.tryGet(en), Xn = (e) => co(e)?.getSnapshot() ?? null, Cb = Wg.find((e) => "id" in e && e.id === "document:download"), Eb = (e, t) => { + const n = e.tryGet(Pe), o = e.documentId ?? void 0; return `${(n?.get(o)?.name ?? "document").replace(/\.pdf$/i, "")} p${(n?.listPages(o).findIndex((r) => r.ref.objectNumber === t.objectNumber) ?? -1) + 1}.png`; }, re = { - allowed: (e) => he(e)?.canCreate() ?? !0, + allowed: (e) => de(e)?.canCreate() ?? !0, notAllowedKey: "commands.notAllowed.annotations-create" }, pt = { - allowed: (e) => e.tryGet(nn)?.canDesign() ?? !0, + allowed: (e) => e.tryGet(tn)?.canDesign() ?? !0, notAllowedKey: "commands.notAllowed.doc-forms-modify" -}, os = { - allowed: (e) => e.tryGet(Pe)?.canPlace(e.documentId ?? void 0) ?? !0, +}, cs = { + allowed: (e) => e.tryGet(Oe)?.canPlace(e.documentId ?? void 0) ?? !0, notAllowedKey: "commands.notAllowed.annotations-create" -}, Sb = (e, t) => e === t || !!e && !!t && e.start.page.objectNumber === t.start.page.objectNumber && e.start.index === t.start.index && e.end.page.objectNumber === t.end.page.objectNumber && e.end.index === t.end.index, Yn = (e, t) => ({ - run: (n) => n.tryGet(De)?.execute(It(e), { documentId: n.documentId ?? void 0 }), - active: (n) => n.tryGet(K)?.isOpen(e) ?? !1, - visible: (n) => (n.tryGet(De)?.hasCommand(It(e)) ?? !1) && (t?.(n) ?? !0) -}), cr = (e) => { +}, Ab = (e, t) => e === t || !!e && !!t && e.start.page.objectNumber === t.start.page.objectNumber && e.start.index === t.start.index && e.end.page.objectNumber === t.end.page.objectNumber && e.end.index === t.end.index, Zn = (e, t) => ({ + run: (n) => n.tryGet($e)?.execute(It(e), { documentId: n.documentId ?? void 0 }), + active: (n) => n.tryGet(H)?.isOpen(e) ?? !1, + visible: (n) => (n.tryGet($e)?.hasCommand(It(e)) ?? !1) && (t?.(n) ?? !0) +}), mr = (e) => { const t = z(e)?.getCurrentPage(); - return t != null && (e.tryGet(xt)?.canMeasure(t) ?? !1); -}, dr = (e) => (he(e)?.selection.getSelected().length ?? 0) > 0, rs = (e) => { - const t = he(e); + return t != null && (e.tryGet(_t)?.canMeasure(t) ?? !1); +}, hr = (e) => (de(e)?.selection.getSelected().length ?? 0) > 0, gr = (e) => { + const t = de(e); return (t?.selection.getSelected() ?? []).every(({ ref: n }) => t.isEditable(n)); -}, ur = (e) => new Set((he(e)?.selection.getSelected() ?? []).map((t) => t.subtype)), pr = (e) => { - const t = he(e)?.selection.getSelected() ?? []; +}, br = (e) => new Set((de(e)?.selection.getSelected() ?? []).map((t) => t.subtype)), vr = (e) => { + const t = de(e)?.selection.getSelected() ?? []; return t.every((n) => n.subtype === "redact") ? t.map((n) => n.ref) : []; -}, Xn = (e) => { - const t = he(e)?.selection.getProperties(); +}, Jn = (e) => { + const t = de(e)?.selection.getProperties(); if (!(!t || !t.properties.some((n) => n.key === "link") || t.mixed.includes("link"))) return t.values.link ?? null; -}, Wt = {}; -Wt.stamp = { icon: "rubberStamp" }; -const Pc = (e, t, n) => { +}, Ut = {}; +Ut.stamp = { icon: "rubberStamp" }; +const Ac = (e, t, n) => { if (!n) return null; - const o = e.tryGet(we); + const o = e.tryGet(ye); if (!o) return null; const r = o.tools.getDefaults(t), a = (s) => r[s] ?? void 0; return { primary: a(n.primary), secondary: n.secondary ? a(n.secondary) : void 0 }; -}, Oc = {}, Tc = (e, t, n, { feature: o, check: r, accent: a }) => (n && (Wt[t] = { +}, Nc = {}, Lc = (e, t, n, { feature: o, check: r, accent: a }) => (n && (Ut[t] = { icon: n, ...a ? { accent: a } : {} -}), Oc[t] = o, { +}), Nc[t] = o, { id: e, ...n ? { icon: n } : {}, categories: [o], ...r, - run: (s) => me(s)?.activateTool(t), - active: (s) => me(s)?.getActiveToolId() === t, - enabled: (s) => me(s) != null, - iconAccent: (s) => Pc(s, t, a) -}), Y = (e, t, n, o, r) => ({ - ...Tc(e, t, o, r), + run: (s) => he(s)?.activateTool(t), + active: (s) => he(s)?.getActiveToolId() === t, + enabled: (s) => he(s) != null, + iconAccent: (s) => Ac(s, t, a) +}), Z = (e, t, n, o, r) => ({ + ...Lc(e, t, o, r), labelKey: n -}), fr = (e, t, n, o, r) => ({ +}), wr = (e, t, n, o, r) => ({ id: e, labelKey: n, icon: o, categories: [r], ...re, - visible: (a) => io(a)?.hasSelection() ?? !1, - run: (a) => he(a)?.createFromSelection(t), - iconAccent: (a) => Pc(a, t, { primary: "color" }) -}), Mb = (e) => { + visible: (a) => lo(a)?.hasSelection() ?? !1, + run: (a) => de(a)?.createFromSelection(t), + iconAccent: (a) => Ac(a, t, { primary: "color" }) +}), Nb = (e) => { const t = e?.page; return typeof t == "number" && Number.isFinite(t) ? Math.round(t) : null; -}, un = (e, t, n) => ({ +}, pn = (e, t, n) => ({ id: e, labelKey: n, run: (o) => z(o)?.zoomTo({ level: t }), enabled: (o) => z(o) != null -}), mr = (e, t, n, o) => ({ +}), yr = (e, t, n, o) => ({ id: e, labelKey: n, icon: o, @@ -3557,7 +3556,7 @@ const Pc = (e, t, n) => { active: (r) => z(r)?.getSettings().spread === t, enabled: (r) => z(r) != null, locked: (r) => z(r)?.getLock("spread") ?? null -}), as = (e, t, n, o) => ({ +}), ds = (e, t, n, o) => ({ id: e, labelKey: n, icon: o, @@ -3571,7 +3570,7 @@ const Pc = (e, t, n) => { }, enabled: (r) => z(r) != null, locked: (r) => z(r)?.getLock("flow") ?? z(r)?.getLock("layout") ?? null -}), is = [ +}), us = [ { id: "zoom:in", labelKey: "commands.zoom.in", @@ -3594,7 +3593,7 @@ const Pc = (e, t, n) => { icon: "fitToPage", shortcut: "Mod+0", run: (e) => z(e)?.fitPage(), - active: (e) => z(e)?.getZoomMode() === or.FitPage, + active: (e) => z(e)?.getZoomMode() === lr.FitPage, enabled: (e) => z(e) != null }, { @@ -3603,21 +3602,21 @@ const Pc = (e, t, n) => { icon: "fitToWidth", shortcut: "Mod+1", run: (e) => z(e)?.fitWidth(), - active: (e) => z(e)?.getZoomMode() === or.FitWidth, + active: (e) => z(e)?.getZoomMode() === lr.FitWidth, enabled: (e) => z(e) != null }, { id: "zoom:automatic", labelKey: "commands.zoom.automatic", run: (e) => z(e)?.fitAutomatic(), - active: (e) => z(e)?.getZoomMode() === or.Automatic, + active: (e) => z(e)?.getZoomMode() === lr.Automatic, enabled: (e) => z(e) != null }, - un("zoom:50", 0.5, "commands.zoom.p50"), - un("zoom:100", 1, "commands.zoom.p100"), - un("zoom:150", 1.5, "commands.zoom.p150"), - un("zoom:200", 2, "commands.zoom.p200"), - un("zoom:400", 4, "commands.zoom.p400"), + pn("zoom:50", 0.5, "commands.zoom.p50"), + pn("zoom:100", 1, "commands.zoom.p100"), + pn("zoom:150", 1.5, "commands.zoom.p150"), + pn("zoom:200", 2, "commands.zoom.p200"), + pn("zoom:400", 4, "commands.zoom.p400"), { id: "menu:zoom", labelKey: "commands.zoom.menu", @@ -3631,7 +3630,7 @@ const Pc = (e, t, n) => { shortcut: "ArrowRight", run: (e) => z(e)?.nextPage(), enabled: (e) => z(e)?.canGoNext() ?? !1, - visible: Vn + visible: Yn }, { id: "page:previous", @@ -3640,7 +3639,7 @@ const Pc = (e, t, n) => { shortcut: "ArrowLeft", run: (e) => z(e)?.previousPage(), enabled: (e) => z(e)?.canGoPrevious() ?? !1, - visible: Vn + visible: Yn }, { id: "page:first", @@ -3648,7 +3647,7 @@ const Pc = (e, t, n) => { shortcut: "Home", run: (e) => z(e)?.goToFirstPage(), enabled: (e) => z(e)?.canGoPrevious() ?? !1, - visible: Vn + visible: Yn }, { id: "page:last", @@ -3656,7 +3655,7 @@ const Pc = (e, t, n) => { shortcut: "End", run: (e) => z(e)?.goToLastPage(), enabled: (e) => z(e)?.canGoNext() ?? !1, - visible: Vn + visible: Yn }, { id: "page:go-to", @@ -3664,9 +3663,9 @@ const Pc = (e, t, n) => { run: (e) => { const t = z(e); if (!t) return; - const n = Mb(e.args); + const n = Nb(e.args); if (n === null) { - e.tryGet(K)?.open(Sc, { exclusive: "modal" }); + e.tryGet(H)?.open(Cc, { exclusive: "modal" }); return; } t.goToPage(Math.min(Math.max(n, 1), t.getPageCount()) - 1); @@ -3677,36 +3676,36 @@ const Pc = (e, t, n) => { id: "tool:pan", labelKey: "commands.pan", icon: "hand", - run: (e) => me(e)?.activateTool("pan"), - active: (e) => me(e)?.getActiveToolId() === "pan", - enabled: (e) => me(e) != null + run: (e) => he(e)?.activateTool("pan"), + active: (e) => he(e)?.getActiveToolId() === "pan", + enabled: (e) => he(e) != null }, { id: "tool:pointer", labelKey: "commands.pointer", icon: "pointer", - run: (e) => me(e)?.activateTool("pointer"), - active: (e) => me(e)?.getActiveToolId() === "pointer", - enabled: (e) => me(e) != null + run: (e) => he(e)?.activateTool("pointer"), + active: (e) => he(e)?.getActiveToolId() === "pointer", + enabled: (e) => he(e) != null }, { id: "tool:zoom", labelKey: "commands.zoom.marquee", icon: "zoomInArea", - run: (e) => me(e)?.activateTool("zoom"), - active: (e) => me(e)?.getActiveToolId() === "zoom", - enabled: (e) => me(e) != null + run: (e) => he(e)?.activateTool("zoom"), + active: (e) => he(e)?.getActiveToolId() === "zoom", + enabled: (e) => he(e) != null }, { id: "tool:snapshot", labelKey: "commands.snapshot.tool", icon: "screenshot", categories: ["snapshots"], - allowed: (e) => so(e)?.canSnapshot() ?? !0, + allowed: (e) => co(e)?.canSnapshot() ?? !0, notAllowedKey: "commands.notAllowed.doc-content-copy", - run: (e) => me(e)?.activateTool(rr), - active: (e) => me(e)?.getActiveToolId() === rr, - enabled: (e) => me(e)?.hasTool(rr) ?? !1 + run: (e) => he(e)?.activateTool(cr), + active: (e) => he(e)?.getActiveToolId() === cr, + enabled: (e) => he(e)?.hasTool(cr) ?? !1 }, { id: "menu:document", @@ -3720,21 +3719,21 @@ const Pc = (e, t, n) => { icon: "viewSettings", menu: "view" }, - ...pb, - ...Vg, - ...tb, - ...gb, - cb, + ...wb, + ...eb, + ...lb, + ...kb, + gb, { id: "document:download", labelKey: "commands.download", icon: "download", shortcut: "Mod+S", categories: ["documents.download"], - allowed: (e) => e.tryGet(Oe)?.canDownload() ?? !0, + allowed: (e) => e.tryGet(Pe)?.canDownload() ?? !0, notAllowedKey: "commands.notAllowed.doc-download", run: (e) => { - e.tryGet(Oe) && Promise.resolve(xb.run?.(e)).catch((t) => console.warn("[embedpdf] download failed", t)); + e.tryGet(Pe) && Promise.resolve(Cb.run?.(e)).catch((t) => console.warn("[embedpdf] download failed", t)); }, enabled: (e) => e.documentId != null }, @@ -3744,16 +3743,16 @@ const Pc = (e, t, n) => { icon: "print", shortcut: "Mod+P", categories: ["documents.print"], - allowed: (e) => e.tryGet(Oe)?.canPrint() ?? !0, + allowed: (e) => e.tryGet(Pe)?.canPrint() ?? !0, notAllowedKey: "commands.notAllowed.doc-print", - modal: bb, + modal: Sb, enabled: (e) => e.documentId != null }, - mr("view:single-page", "none", "commands.spread.none", "singlePage"), - mr("view:two-pages", "odd", "commands.spread.odd", "doublePage"), - mr("view:cover-page", "even", "commands.spread.even", "book2"), - as("view:scroll-vertical", "vertical", "commands.scroll.vertical", "vertical"), - as("view:scroll-horizontal", "horizontal", "commands.scroll.horizontal", "horizontal"), + yr("view:single-page", "none", "commands.spread.none", "singlePage"), + yr("view:two-pages", "odd", "commands.spread.odd", "doublePage"), + yr("view:cover-page", "even", "commands.spread.even", "book2"), + ds("view:scroll-vertical", "vertical", "commands.scroll.vertical", "vertical"), + ds("view:scroll-horizontal", "horizontal", "commands.scroll.horizontal", "horizontal"), { id: "view:scroll-paged", labelKey: "commands.scroll.paged", @@ -3783,66 +3782,66 @@ const Pc = (e, t, n) => { id: "mode:view", labelKey: "commands.mode.view", run: (e) => { - const t = e.tryGet(K), n = t ? _o(t) : null; - n && t?.close(n), me(e)?.activateTool("pointer"); + const t = e.tryGet(H), n = t ? So(t) : null; + n && t?.close(n), he(e)?.activateTool("pointer"); }, active: (e) => { - const t = e.tryGet(K); - return t ? _o(t) === null : !0; + const t = e.tryGet(H); + return t ? So(t) === null : !0; } }, - Bt("mode:annotate", "commands.mode.annotate", { feature: "annotations" }), - Bt("mode:shapes", "commands.mode.shapes", { feature: "shapes" }), - Bt("mode:insert", "commands.mode.insert"), - Bt("mode:form", "commands.mode.form", { feature: "forms.building" }), - Bt("mode:redact", "commands.mode.redact", { feature: "redaction" }), - Bt("mode:measure", "commands.mode.measure", { feature: "measurement" }), - Y("tool:highlight", "highlight", "commands.annotate.highlight", "highlight", { + zt("mode:annotate", "commands.mode.annotate", { feature: "annotations" }), + zt("mode:shapes", "commands.mode.shapes", { feature: "shapes" }), + zt("mode:insert", "commands.mode.insert"), + zt("mode:form", "commands.mode.form", { feature: "forms.building" }), + zt("mode:redact", "commands.mode.redact", { feature: "redaction" }), + zt("mode:measure", "commands.mode.measure", { feature: "measurement" }), + Z("tool:highlight", "highlight", "commands.annotate.highlight", "highlight", { feature: "annotations.highlight", check: re, accent: { primary: "color" } }), - Y("tool:strikeout", "strikeout", "commands.annotate.strikeout", "strikethrough", { + Z("tool:strikeout", "strikeout", "commands.annotate.strikeout", "strikethrough", { feature: "annotations.markup", check: re, accent: { primary: "color" } }), - Y("tool:underline", "underline", "commands.annotate.underline", "underline", { + Z("tool:underline", "underline", "commands.annotate.underline", "underline", { feature: "annotations.markup", check: re, accent: { primary: "color" } }), - Y("tool:squiggly", "squiggly", "commands.annotate.squiggly", "squiggly", { + Z("tool:squiggly", "squiggly", "commands.annotate.squiggly", "squiggly", { feature: "annotations.markup", check: re, accent: { primary: "color" } }), - Y("tool:ink", "ink", "commands.annotate.ink", "pencilMarker", { + Z("tool:ink", "ink", "commands.annotate.ink", "pencilMarker", { feature: "annotations.drawing", check: re, accent: { primary: "color" } }), - Y("tool:ink-highlight", "ink-highlight", "commands.annotate.inkHighlight", "inkHighlighter", { + Z("tool:ink-highlight", "ink-highlight", "commands.annotate.inkHighlight", "inkHighlighter", { feature: "annotations.drawing", check: re, accent: { primary: "color" } }), - Y("tool:free-text", "free-text", "commands.annotate.text", "freeText", { + Z("tool:free-text", "free-text", "commands.annotate.text", "freeText", { feature: "annotations.text", check: re, accent: { primary: "fontColor" } }), - Y("tool:insert-text", "insert-text", "commands.annotate.insertText", "insertText", { + Z("tool:insert-text", "insert-text", "commands.annotate.insertText", "insertText", { feature: "annotations.text", check: re, accent: { primary: "color" } }), - Y("tool:replace-text", "replace-text", "commands.annotate.replaceText", "replaceText", { + Z("tool:replace-text", "replace-text", "commands.annotate.replaceText", "replaceText", { feature: "annotations.text", check: re, accent: { primary: "color" } }), - Y("tool:callout", "free-text-callout", "commands.annotate.callout", "callout", { + Z("tool:callout", "free-text-callout", "commands.annotate.callout", "callout", { feature: "annotations.text", check: re, accent: { @@ -3850,15 +3849,15 @@ const Pc = (e, t, n) => { secondary: "interiorColor" } }), - Y("tool:note", "note", "commands.annotate.note", "message", { + Z("tool:note", "note", "commands.annotate.note", "message", { feature: "annotations.notes", check: re }), - Y("tool:link", "link", "commands.annotate.link", "link", { + Z("tool:link", "link", "commands.annotate.link", "link", { feature: "annotations.links", check: re }), - Y("tool:square", "square", "commands.shapes.rectangle", "square", { + Z("tool:square", "square", "commands.shapes.rectangle", "square", { feature: "shapes", check: re, accent: { @@ -3866,7 +3865,7 @@ const Pc = (e, t, n) => { secondary: "interiorColor" } }), - Y("tool:circle", "circle", "commands.shapes.circle", "circle", { + Z("tool:circle", "circle", "commands.shapes.circle", "circle", { feature: "shapes", check: re, accent: { @@ -3874,17 +3873,17 @@ const Pc = (e, t, n) => { secondary: "interiorColor" } }), - Y("tool:line", "line", "commands.shapes.line", "line", { + Z("tool:line", "line", "commands.shapes.line", "line", { feature: "shapes", check: re, accent: { primary: "color" } }), - Y("tool:arrow", "arrow", "commands.shapes.arrow", "lineArrow", { + Z("tool:arrow", "arrow", "commands.shapes.arrow", "lineArrow", { feature: "shapes", check: re, accent: { primary: "color" } }), - Y("tool:polygon", "polygon", "commands.shapes.polygon", "polygon", { + Z("tool:polygon", "polygon", "commands.shapes.polygon", "polygon", { feature: "shapes", check: re, accent: { @@ -3892,7 +3891,7 @@ const Pc = (e, t, n) => { secondary: "interiorColor" } }), - Y("tool:polyline", "polyline", "commands.shapes.polyline", "zigzag", { + Z("tool:polyline", "polyline", "commands.shapes.polyline", "zigzag", { feature: "shapes", check: re, accent: { primary: "color" } @@ -3902,10 +3901,10 @@ const Pc = (e, t, n) => { labelKey: "commands.insert.stamp", icon: "rubberStamp", categories: ["stamps"], - ...os, - ...Yn("stamps", (e) => e.tryGet(Pe) != null) + ...cs, + ...Zn("stamps", (e) => e.tryGet(Oe) != null) }, - Y("tool:attachment", "attachment", "commands.insert.attachment", "paperclip", { + Z("tool:attachment", "attachment", "commands.insert.attachment", "paperclip", { feature: "attachments.adding", check: re }), @@ -3914,10 +3913,10 @@ const Pc = (e, t, n) => { labelKey: "commands.insert.signature", icon: "signature", categories: ["signatures.signing"], - ...os, - ...Yn("signatures", (e) => e.tryGet(Pe) != null && e.tryGet(on) != null) + ...cs, + ...Zn("signatures", (e) => e.tryGet(Oe) != null && e.tryGet(nn) != null) }, - Y("tool:image", "image", "commands.insert.image", "photo", { + Z("tool:image", "image", "commands.insert.image", "photo", { feature: "stamps", check: re }), @@ -3928,50 +3927,50 @@ const Pc = (e, t, n) => { categories: ["forms.building"], ...pt, run: (e) => { - const t = me(e), n = e.tryGet(K); + const t = he(e), n = e.tryGet(H); if (t) { - if (ns(e)) { - t.activateTool("pointer"), n?.close(ts); + if (ls(e)) { + t.activateTool("pointer"), n?.close(ss); return; } - n && !n.isOpen("mode:form") && n.open("mode:form", { exclusive: "mode" }), t.activateTool(vb), n?.open(ts); + n && !n.isOpen("mode:form") && n.open("mode:form", { exclusive: "mode" }), t.activateTool(Mb), n?.open(ss); } }, - active: ns, - enabled: (e) => me(e) != null + active: ls, + enabled: (e) => he(e) != null }, - Y("tool:text-field", "form-text", "commands.form.textfield", "formTextfield", { + Z("tool:text-field", "form-text", "commands.form.textfield", "formTextfield", { feature: "forms.building", check: pt }), - Y("tool:checkbox", "form-checkbox", "commands.form.checkbox", "formCheckbox", { + Z("tool:checkbox", "form-checkbox", "commands.form.checkbox", "formCheckbox", { feature: "forms.building", check: pt }), - Y("tool:radio", "form-radio", "commands.form.radio", "formRadio", { + Z("tool:radio", "form-radio", "commands.form.radio", "formRadio", { feature: "forms.building", check: pt }), - Y("tool:combo-box", "form-combobox", "commands.form.select", "formSelect", { + Z("tool:combo-box", "form-combobox", "commands.form.select", "formSelect", { feature: "forms.building", check: pt }), - Y("tool:list-box", "form-listbox", "commands.form.listbox", "formListbox", { + Z("tool:list-box", "form-listbox", "commands.form.listbox", "formListbox", { feature: "forms.building", check: pt }), - Y("tool:button", "form-button", "commands.form.button", "formButton", { + Z("tool:button", "form-button", "commands.form.button", "formButton", { feature: "forms.building", check: pt }), - Y("tool:signature-field", "form-signature", "commands.form.signature", "signature", { + Z("tool:signature-field", "form-signature", "commands.form.signature", "signature", { feature: "forms.building", check: pt }), - Y("tool:redact", "redact", "commands.redact.mark", "redactArea", { + Z("tool:redact", "redact", "commands.redact.mark", "redactArea", { feature: "redaction", check: { - allowed: (e) => e.tryGet(gt)?.canMark() ?? !0, + allowed: (e) => e.tryGet(ht)?.canMark() ?? !0, notAllowedKey: "commands.notAllowed.annotations-create" } }), @@ -3980,71 +3979,71 @@ const Pc = (e, t, n) => { labelKey: "commands.redact.applyAll", icon: "redact", categories: ["redaction"], - allowed: (e) => e.tryGet(gt)?.canApply() ?? !0, - modal: es, + allowed: (e) => e.tryGet(ht)?.canApply() ?? !0, + modal: is, enabled: (e) => { - const t = e.tryGet(gt); + const t = e.tryGet(ht); return !!t && t.getPendingCount() > 0 && !t.isApplying(); } }, { id: "annotation:apply-redaction", labelKey: "commands.redact.apply", - labelParams: (e) => ({ count: pr(e).length }), + labelParams: (e) => ({ count: vr(e).length }), icon: "check", categories: ["redaction"], - allowed: (e) => e.tryGet(gt)?.canApply() ?? !0, - run: (e) => e.tryGet(K)?.open(es, { + allowed: (e) => e.tryGet(ht)?.canApply() ?? !0, + run: (e) => e.tryGet(H)?.open(is, { exclusive: "modal", - props: { refs: pr(e) } + props: { refs: vr(e) } }), - visible: (e) => pr(e).length > 0, + visible: (e) => vr(e).length > 0, enabled: (e) => { - const t = e.tryGet(gt); + const t = e.tryGet(ht); return !!t && !t.isApplying(); } }, { - ...Y("tool:distance", "distance", "measurement.distance", "distance", { + ...Z("tool:distance", "distance", "measurement.distance", "distance", { feature: "measurement", check: re, accent: { primary: "color" } }), - enabled: cr + enabled: mr }, { - ...Y("tool:perimeter", "perimeter", "measurement.perimeter", "perimeter", { + ...Z("tool:perimeter", "perimeter", "measurement.perimeter", "perimeter", { feature: "measurement", check: re, accent: { primary: "color" } }), - enabled: cr + enabled: mr }, { - ...Y("tool:area", "area", "measurement.area", "area", { + ...Z("tool:area", "area", "measurement.area", "area", { feature: "measurement", check: re, accent: { primary: "color" } }), - enabled: cr + enabled: mr }, { id: "measurement:calibrate", labelKey: "measurement.calibrate", icon: "calibrate", categories: ["measurement"], - allowed: (e) => e.tryGet(xt)?.canCalibrate() ?? !0, + allowed: (e) => e.tryGet(_t)?.canCalibrate() ?? !0, notAllowedKey: "commands.notAllowed.doc-annotate-modify", - enabled: (e) => e.tryGet(xt) != null, - active: (e) => me(e)?.getActiveToolId() === "calibrate", - run: (e) => e.tryGet(xt)?.startCalibration() + enabled: (e) => e.tryGet(_t) != null, + active: (e) => he(e)?.getActiveToolId() === "calibrate", + run: (e) => e.tryGet(_t)?.startCalibration() }, { id: "annotation:cancel-creation", labelKey: "commands.annotate.cancelCreation", shortcut: "Escape", - enabled: (e) => he(e)?.draft.get() != null, - run: (e) => he(e)?.draft.cancel() + enabled: (e) => de(e)?.draft.get() != null, + run: (e) => de(e)?.draft.cancel() }, { id: "annotation:delete", @@ -4052,10 +4051,10 @@ const Pc = (e, t, n) => { icon: "trash", shortcut: ["Delete", "Backspace"], categories: ["annotations"], - run: (e) => void he(e)?.selection.delete(), - visible: dr, + run: (e) => void de(e)?.selection.delete(), + visible: hr, enabled: (e) => { - const t = he(e), n = t?.selection.getSelected() ?? []; + const t = de(e), n = t?.selection.getSelected() ?? []; return n.length > 0 && n.every(({ ref: o }) => t.canDelete(o) && t.isEditable(o)); } }, @@ -4064,28 +4063,28 @@ const Pc = (e, t, n) => { labelKey: "commands.comment", icon: "comment", categories: ["comments"], - ...Yn("comments", (e) => dr(e) && !ur(e).has("widget")) + ...Zn("comments", (e) => hr(e) && !br(e).has("widget")) }, { id: "annotation:style", labelKey: "commands.style", icon: "palette", categories: ["annotations"], - ...Yn("style", (e) => (he(e)?.selection.getProperties().properties.length ?? 0) > 0) + ...Zn("style", (e) => (de(e)?.selection.getProperties().properties.length ?? 0) > 0) }, { id: "annotation:stamp-from-selection", labelKey: "commands.annotate.stampFromSelection", icon: "rubberStampPlus", categories: ["stamps"], - allowed: (e) => e.tryGet(Pe)?.canCreateFromAnnotations(e.documentId ?? void 0) ?? !0, + allowed: (e) => e.tryGet(Oe)?.canCreateFromAnnotations(e.documentId ?? void 0) ?? !0, notAllowedKey: "commands.notAllowed.doc-download", run: (e) => { - const t = he(e), n = e.tryGet(Pe), o = e.documentId; + const t = de(e), n = e.tryGet(Oe), o = e.documentId; if (!t || !n || o == null) return; const r = t.selection.getSelected(), a = r[0]?.ref.page; if (a === void 0) return; - const s = e.tryGet(En), l = s?.t("demo.stampsCustomLabel") ?? "Custom stamp", d = s?.t("demo.stampsCustomLibrary") ?? "My stamps", c = _b; + const s = e.tryGet($o), l = s?.t("demo.stampsCustomLabel") ?? "Custom stamp", d = s?.t("demo.stampsCustomLibrary") ?? "My stamps", c = Tb; (n.getLibrary(c) ? Promise.resolve(c) : n.createLibrary(d, { id: c, categories: ["custom"] @@ -4093,59 +4092,78 @@ const Pc = (e, t, n) => { libraryId: p, label: `${l} ${n.listAssets({ libraryId: p }).length + 1}` }, { documentId: o })).then(async () => { - const p = e.tryGet(K); - p && (p.isOpen("stamps") || await e.tryGet(De)?.execute(It("stamps"), { documentId: o }), p.updateSurfaceProps("stamps", { libraryId: c })); + const p = e.tryGet(H); + p && (p.isOpen("stamps") || await e.tryGet($e)?.execute(It("stamps"), { documentId: o }), p.updateSurfaceProps("stamps", { libraryId: c })); }).catch((p) => console.warn("[embedpdf] stamp from selection failed", p)); }, - visible: (e) => e.tryGet(Pe) != null && dr(e) && !ur(e).has("widget") && !ur(e).has("redact") && new Set((he(e)?.selection.getSelected() ?? []).map((t) => t.ref.page.objectNumber)).size === 1 + visible: (e) => e.tryGet(Oe) != null && hr(e) && !br(e).has("widget") && !br(e).has("redact") && new Set((de(e)?.selection.getSelected() ?? []).map((t) => t.ref.page.objectNumber)).size === 1 + }, + { + id: "annotation:duplicate", + labelKey: "commands.annotate.duplicate", + icon: "duplicate", + shortcut: "Mod+D", + categories: ["annotations"], + allowed: (e) => { + const t = de(e); + return (t?.selection.getSelected() ?? []).some(({ subtype: n }) => n !== "widget") ? t?.canCreate() ?? !0 : !0; + }, + notAllowedKey: re.notAllowedKey, + run: (e) => void de(e)?.selection.duplicate().catch(() => { + }), + visible: (e) => { + const t = de(e), n = t?.selection.getSelected() ?? []; + return n.length > 0 && gr(e) && n.every(({ ref: o }) => t.isMovable(o)); + }, + enabled: (e) => de(e)?.selection.canDuplicate() ?? !1 }, { id: "annotation:group", labelKey: "commands.annotate.group", icon: "group", categories: ["annotations"], - run: (e) => void he(e)?.selection.group(), - visible: (e) => (he(e)?.selection.canGroup() ?? !1) && rs(e) + run: (e) => void de(e)?.selection.group(), + visible: (e) => (de(e)?.selection.canGroup() ?? !1) && gr(e) }, { id: "annotation:ungroup", labelKey: "commands.annotate.ungroup", icon: "ungroup", categories: ["annotations"], - run: (e) => void he(e)?.selection.ungroup(), - visible: (e) => (he(e)?.selection.canUngroup() ?? !1) && rs(e) + run: (e) => void de(e)?.selection.ungroup(), + visible: (e) => (de(e)?.selection.canUngroup() ?? !1) && gr(e) }, { id: "selection:copy", labelKey: "commands.selection.copy", icon: "copy", categories: ["text.copy"], - allowed: (e) => io(e)?.canCopy() ?? !0, + allowed: (e) => lo(e)?.canCopy() ?? !0, notAllowedKey: "commands.notAllowed.doc-text-copy", - visible: (e) => io(e)?.hasSelection() ?? !1, + visible: (e) => lo(e)?.hasSelection() ?? !1, run: (e) => { - const t = io(e); + const t = lo(e); if (!t) return; const n = t.getRange(); - Fp(t).then((o) => { - o !== "" && Sb(t.getRange(), n) && t.clear(); + Wp(t).then((o) => { + o !== "" && Ab(t.getRange(), n) && t.clear(); }, () => { }); } }, - fr("selection:highlight", "highlight", "commands.annotate.highlight", "highlight", "annotations.highlight"), - fr("selection:underline", "underline", "commands.annotate.underline", "underline", "annotations.markup"), - fr("selection:strikeout", "strikeout", "commands.annotate.strikeout", "strikethrough", "annotations.markup"), + wr("selection:highlight", "highlight", "commands.annotate.highlight", "highlight", "annotations.highlight"), + wr("selection:underline", "underline", "commands.annotate.underline", "underline", "annotations.markup"), + wr("selection:strikeout", "strikeout", "commands.annotate.strikeout", "strikethrough", "annotations.markup"), { id: "snapshot:copy", labelKey: "commands.snapshot.copy", icon: "copy", shortcut: "Mod+C", categories: ["snapshots"], - visible: (e) => qn(e) != null, + visible: (e) => Xn(e) != null, run: (e) => { - const t = so(e), n = t?.getSnapshot(); - !t || !n || Bp(n.image).then(() => { + const t = co(e), n = t?.getSnapshot(); + !t || !n || Vp(n.image).then(() => { t.getSnapshot() === n && t.clearSnapshot(); }, () => { }); @@ -4156,12 +4174,12 @@ const Pc = (e, t, n) => { labelKey: "commands.snapshot.save", icon: "download", categories: ["snapshots"], - visible: (e) => qn(e) != null, + visible: (e) => Xn(e) != null, run: (e) => { - const t = qn(e); + const t = Xn(e); if (!t) return; - const n = kb(e, t.page); - t.image.then((o) => o.blob()).then((o) => na(o, n, "image/png")).catch((o) => console.warn("[snippet-react] snapshot save failed", o)); + const n = Eb(e, t.page); + t.image.then((o) => o.blob()).then((o) => la(o, n, "image/png")).catch((o) => console.warn("[snippet-react] snapshot save failed", o)); } }, { @@ -4170,97 +4188,97 @@ const Pc = (e, t, n) => { icon: "x", shortcut: "Escape", categories: ["snapshots"], - visible: (e) => qn(e) != null, - run: (e) => so(e)?.clearSnapshot() + visible: (e) => Xn(e) != null, + run: (e) => co(e)?.clearSnapshot() }, { id: "annotation:link", labelKey: "commands.annotate.link", icon: "link", categories: ["annotations.links"], - run: (e) => e.tryGet(K)?.toggle("link-editor"), - active: (e) => e.tryGet(K)?.isOpen("link-editor") ?? !1, - visible: (e) => Xn(e) === null + run: (e) => e.tryGet(H)?.toggle("link-editor"), + active: (e) => e.tryGet(H)?.isOpen("link-editor") ?? !1, + visible: (e) => Jn(e) === null }, { id: "annotation:goto-link", labelKey: "commands.annotate.gotoLink", icon: "externalLink", run: (e) => { - const t = Xn(e); - t && e.tryGet(ho)?.activate(t); + const t = Jn(e); + t && e.tryGet(bo)?.activate(t); }, - visible: (e) => Xn(e) != null + visible: (e) => Jn(e) != null }, { id: "annotation:remove-link", labelKey: "commands.annotate.removeLink", icon: "linkOff", categories: ["annotations.links"], - run: (e) => he(e)?.selection.updateLink(null), - visible: (e) => Xn(e) != null + run: (e) => de(e)?.selection.updateLink(null), + visible: (e) => Jn(e) != null }, { id: "help:shortcuts", labelKey: "commands.shortcuts", shortcut: "?", - modal: Mc, - enabled: (e) => e.tryGet(K) != null + modal: Ec, + enabled: (e) => e.tryGet(H) != null }, { id: "history:undo", labelKey: "commands.undo", icon: "arrowBackUp", shortcut: "Mod+z", - run: (e) => e.tryGet(Hn)?.undo(), - enabled: (e) => e.tryGet(Hn)?.canUndo() ?? !1 + run: (e) => e.tryGet(Un)?.undo(), + enabled: (e) => e.tryGet(Un)?.canUndo() ?? !1 }, { id: "history:redo", labelKey: "commands.redo", icon: "arrowForwardUp", shortcut: ["Shift+Mod+z", "Mod+y"], - run: (e) => e.tryGet(Hn)?.redo(), - enabled: (e) => e.tryGet(Hn)?.canRedo() ?? !1 + run: (e) => e.tryGet(Un)?.redo(), + enabled: (e) => e.tryGet(Un)?.canRedo() ?? !1 } ]; -function Bt(e, t, { feature: n } = {}) { +function zt(e, t, { feature: n } = {}) { return { id: e, labelKey: t, ...n ? { categories: [n] } : {}, run: (o) => { - o.tryGet(K)?.toggle(e, { exclusive: "mode" }), me(o)?.activateTool("pointer"); + o.tryGet(H)?.toggle(e, { exclusive: "mode" }), he(o)?.activateTool("pointer"); }, - active: (o) => o.tryGet(K)?.isOpen(e) ?? !1 + active: (o) => o.tryGet(H)?.isOpen(e) ?? !1 }; } -function Pb(e, t) { +function Lb(e, t) { return e.flatMap((n) => { const o = `tool:${n.id}`; if (t(o)) return []; - const r = n.extends, a = n.meta ?? {}, s = typeof a.icon == "string" ? a.icon : r && Wt[r]?.icon; + const r = n.extends, a = n.meta ?? {}, s = typeof a.icon == "string" ? a.icon : r && Ut[r]?.icon; return [{ - ...Tc(o, n.id, s || void 0, { - feature: r && Oc[r] || "annotations", + ...Lc(o, n.id, s || void 0, { + feature: r && Nc[r] || "annotations", check: re, - ...r && Wt[r]?.accent ? { accent: Wt[r].accent } : {} + ...r && Ut[r]?.accent ? { accent: Ut[r].accent } : {} }), label: typeof a.label == "string" ? a.label : n.id }]; }); } -const Kt = { +const Ft = { id: "style", items: ["panel:style"], importance: 4, dependent: !0 -}, Ht = { +}, Bt = { id: "history", items: ["history:undo", "history:redo"], importance: 3, dependent: !0 -}, Cc = { +}, Ic = { bars: { main: { place: "top", @@ -4303,14 +4321,7 @@ const Kt = { }], end: [{ id: "panels", - items: [ - { - custom: "view-only", - variants: ["label", "icon"] - }, - "panel:search", - "panel:comments" - ], + items: ["panel:search", "panel:comments"], importance: 5 }] }, @@ -4349,8 +4360,8 @@ const Kt = { ], importance: 2 }, - Kt, - Ht + Ft, + Bt ] }, shapes: { @@ -4373,8 +4384,8 @@ const Kt = { items: ["tool:polygon", "tool:polyline"], importance: 2 }, - Kt, - Ht + Ft, + Bt ] }, insert: { @@ -4397,8 +4408,8 @@ const Kt = { ], importance: 4 }, - Kt, - Ht + Ft, + Bt ] }, form: { @@ -4435,8 +4446,8 @@ const Kt = { items: ["tool:signature-field"], importance: 2 }, - Kt, - Ht + Ft, + Bt ] }, redact: { @@ -4449,8 +4460,8 @@ const Kt = { items: ["tool:redact", "panel:redaction"], importance: 4 }, - Kt, - Ht + Ft, + Bt ] }, measure: { @@ -4477,7 +4488,7 @@ const Kt = { }], importance: 4 }, - Kt + Ft ] }, pager: { @@ -4525,6 +4536,7 @@ const Kt = { "annotation:goto-link", "annotation:save-file", "annotation:remove-link", + "annotation:duplicate", "annotation:group", "annotation:ungroup" ], @@ -4555,7 +4567,7 @@ const Kt = { ], importance: 1 }], - end: [Ht] + end: [Bt] }, outline: { place: { panel: "outline" }, @@ -4684,7 +4696,7 @@ const Kt = { measurement: { side: "end" }, "form-design": { side: "end" } } -}, Ob = ru(Cc), Tb = [ +}, Ib = uu(Ic), Rb = [ "iconAccent", "allowed", "enabled", @@ -4692,13 +4704,13 @@ const Kt = { "visible", "labelParams", "run" -], Cb = [["label", "labelKey"], [ +], Db = [["label", "labelKey"], [ "run", "menu", "panel", "modal" ]]; -function Eb(e, t) { +function $b(e, t) { const n = (a) => typeof a != "string" ? a : Object.prototype.hasOwnProperty.call(t.plugins, a) ? t.plugins[a] ?? null : null, o = ((a) => { const s = n(a); if (!s) throw new Error(`[embedpdf] the viewer has no plugin named "${String(a)}". Its plugins: ${Object.keys(t.plugins).join(", ")}.`); @@ -4721,45 +4733,45 @@ function Eb(e, t) { } }; } -function Ab(e, t) { +function zb(e, t) { const n = /* @__PURE__ */ new WeakMap(), o = (a) => { let s = n.get(a); - return s || (s = Eb(a, t), n.set(a, s)), s; + return s || (s = $b(a, t), n.set(a, s)), s; }, r = { ...e }; - for (const a of Tb) { + for (const a of Rb) { const s = e[a]; s && (r[a] = (l) => s(o(l))); } return r; } -function Nb(e, t) { +function Fb(e, t) { const n = { ...e }; - for (const o of Cb) + for (const o of Db) if (o.some((r) => t[r] !== void 0)) for (const r of o) delete n[r]; for (const [o, r] of Object.entries(t)) r !== void 0 && (n[o] = r); return n; } -const ss = (e) => e.shortcut === void 0 ? [] : [].concat(e.shortcut), Ib = { +const ps = (e) => e.shortcut === void 0 ? [] : [].concat(e.shortcut), Bb = { commands: [], isYours: () => !1, over: (e) => e }; -function Lb(e, t, n, o) { +function Kb(e, t, n, o) { const r = /* @__PURE__ */ new Map(); - for (const c of t) r.set(c.id, Ab(c, n)); - const a = [...r.values()].flatMap(ss), s = (c) => a.some((p) => { + for (const c of t) r.set(c.id, zb(c, n)); + const a = [...r.values()].flatMap(ps), s = (c) => a.some((p) => { try { - return su(p, c, o); + return mu(p, c, o); } catch { return !1; } }), l = (c) => { - const p = ss(c), f = p.filter((b) => !s(b)), u = f.length === p.length ? c : { + const p = ps(c), f = p.filter((g) => !s(g)), u = f.length === p.length ? c : { ...c, shortcut: f }, m = r.get(c.id); - return m ? Nb(u, m) : u; + return m ? Fb(u, m) : u; }, d = new Set(e.map((c) => c.id)); return { commands: [...e.map(l), ...[...r.values()].filter((c) => !d.has(c.id))], @@ -4769,37 +4781,37 @@ function Lb(e, t, n, o) { } const et = be({ icons: {}, - viewerCommands: Ib, + viewerCommands: Bb, stamp: {}, signature: {}, fonts: [], warnBeforeLeaving: !0 -}), Rb = et.Provider; -function Db() { +}), jb = et.Provider; +function Hb() { return X(et).layout; } -function $b() { +function Ub() { const { size: e, touch: t } = X(et); return { size: e, touch: t }; } -function zb() { +function Gb() { return X(et).warnBeforeLeaving; } -function Ec() { +function Rc() { const { onPanelResize: e } = X(et); return (t) => e?.(t); } -const Ma = { +const Ea = { size: "expanded", - width: au, + width: pu, touch: !1, dir: "ltr" }; -function lo(e, t, n) { - const o = iu(e, t).map(n).filter((a) => a !== null); +function uo(e, t, n) { + const o = fu(e, t).map(n).filter((a) => a !== null); if (o.length <= 1) return o[0] ?? null; const r = {}; for (const a of [ @@ -4818,61 +4830,61 @@ function lo(e, t, n) { sections: r }; } -function Fb(e, t) { - const n = (o) => nl(e, o); +function Wb(e, t) { + const n = (o) => ll(e, o); return { data: e, env: t, bar: n, - strip: (o) => lo(e, o, n), - menu: (o) => tl(e, o) + strip: (o) => uo(e, o, n), + menu: (o) => sl(e, o) }; } -const Dn = be(Fb(Cc, Ma)), Bb = Dn.Provider; +const $n = be(Wb(Ic, Ea)), Vb = $n.Provider; function tt() { - return X(Dn); + return X($n); } -function dt() { - return X(Dn).env; +function ut() { + return X($n).env; } -function Kb(e) { - return X(Dn).menu(e); +function qb(e) { + return X($n).menu(e); } -function Pa(e) { - return X(Dn).strip(e) ?? void 0; +function Aa(e) { + return X($n).strip(e) ?? void 0; } -function Oa() { +function Na() { return X(et).viewerCommands; } -function Ac() { +function Dc() { return X(et).icons; } -function Hb() { +function Yb() { return X(et).stamp; } -function G_() { +function nx() { return X(et).signature; } -function jb() { +function Xb() { return X(et).fonts; } -const Ub = (e) => Array.isArray(e); -function Gb(e) { +const Zb = (e) => Array.isArray(e); +function Jb(e) { if (typeof e == "string") return [e]; - if (Ub(e)) return e; + if (Zb(e)) return e; const t = typeof e.paths == "string" ? [e.paths] : e.paths; return e.fill ? t.map((n) => typeof n == "string" ? { d: n, fill: !0 } : n) : t; } -const ls = [{ +const fs = [{ d: "M5 4H19M20 5V19M19 20H5M4 19V5", stroke: "primary" }, { d: "M3.1 3.1h1.8v1.8H3.1zM19.1 3.1h1.8v1.8h-1.8zM3.1 19.1h1.8v1.8H3.1zM19.1 19.1h1.8v1.8h-1.8z", stroke: "primary" -}], Nc = { +}], $c = { ruler: ["M3 8h18v8H3z", "M7 8v4M11 8v2M15 8v4M19 8v2"], distance: [{ d: "M5 12H19", @@ -4884,7 +4896,7 @@ const ls = [{ fill: "primary", fillOpacity: 0.25 }], - perimeter: ls, + perimeter: fs, area: [ { d: "M5 4H19V5H20V19H19V20H5V19H4V5H5Z", @@ -4897,7 +4909,7 @@ const ls = [{ strokeWidth: 0.6, strokeOpacity: 0.5 }, - ...ls + ...fs ], alertTriangle: ["M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"], alignBottom: [ @@ -5003,6 +5015,12 @@ const ls = [{ "M7 11l5 5l5 -5", "M12 4l0 12" ], + duplicate: [ + "M7 7m0 2.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667z", + "M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1", + "M11 14h6", + "M14 11v6" + ], externalLink: [ "M12 6h-6a2 2 0 0 0 -2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-6", "M11 13l9 -9", @@ -5458,14 +5476,14 @@ const ls = [{ "M15 3h1a2 2 0 0 1 2 2v1" ], zoomOut: ["M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0", "M9 12l6 0"] -}, Ic = Nc, Wb = (e) => Object.prototype.hasOwnProperty.call(Ic, e); -function Lc(e, t) { +}, zc = $c, Qb = (e) => Object.prototype.hasOwnProperty.call(zc, e); +function Fc(e, t) { const n = Object.prototype.hasOwnProperty.call(t, e) ? t[e] : void 0; - return n !== void 0 ? Gb(n) : Wb(e) ? Ic[e] : null; + return n !== void 0 ? Jb(n) : Qb(e) ? zc[e] : null; } -const Vb = /* @__PURE__ */ new Set(["chevronLeft", "chevronRight"]), Qt = (e) => Vb.has(e) ? "rtl:-scale-x-100" : ""; -function q({ name: e, size: t = 20, strokeWidth: n = 2, className: o, title: r, accent: a }) { - const s = Lc(e, Ac()); +const ev = /* @__PURE__ */ new Set(["chevronLeft", "chevronRight"]), Zt = (e) => ev.has(e) ? "rtl:-scale-x-100" : ""; +function Y({ name: e, size: t = 20, strokeWidth: n = 2, className: o, title: r, accent: a }) { + const s = Fc(e, Dc()); return s ? /* @__PURE__ */ i("svg", { width: t, height: t, @@ -5494,3266 +5512,3347 @@ function q({ name: e, size: t = 20, strokeWidth: n = 2, className: o, title: r, }) }) : null; } -const qb = { - top: !1, - right: !1, - bottom: !1, - left: !1 -}, Zn = 1; -function Rc(e, t) { - const n = e.right > 0 && e.left < t.width, o = e.bottom > 0 && e.top < t.height; - return { - top: n && e.top <= Zn && e.bottom > 0, - right: o && e.right >= t.width - Zn && e.left < t.width, - bottom: n && e.bottom >= t.height - Zn && e.top < t.height, - left: o && e.left <= Zn && e.right > 0 - }; -} -const Yb = (e, t) => e.top === t.top && e.right === t.right && e.bottom === t.bottom && e.left === t.left, Xb = { - top: "paddingTop", - right: "paddingRight", - bottom: "paddingBottom", - left: "paddingLeft" -}; -function Dc(e, t = [ - "top", - "right", - "bottom", - "left" -]) { - const n = {}; - for (const o of t) e[o] && (n[Xb[o]] = `env(safe-area-inset-${o}, 0px)`); - return n; -} -function $c(e) { - const { clientWidth: t, clientHeight: n } = e.ownerDocument.documentElement; - return { - width: t, - height: n - }; -} -const Ta = { popover: "manual" }, zc = "text-fg m-0 overflow-clip border-0 bg-transparent", Zb = "data-epdf-focus-root", Rr = (e) => e.getRootNode().fullscreenElement === e; -function Jb(e) { - for (let t = e; t; ) { - if (Rr(t)) return !0; - t = t.parentElement ?? t.getRootNode().host ?? null; - } - return !1; -} -function Qb(e, t) { - e.style.left = `${t.left}px`, e.style.top = `${t.top}px`, e.style.width = `${t.width}px`, e.style.height = `${t.height}px`; - const n = e.getBoundingClientRect(); - (Math.abs(n.left - t.left) > 0.5 || Math.abs(n.top - t.top) > 0.5) && (e.style.left = `${2 * t.left - n.left}px`, e.style.top = `${2 * t.top - n.top}px`); -} -function Fc(e, t) { - const n = e.parentElement?.closest("[data-embedpdf-root]") ?? null; - typeof e.showPopover == "function" && e.showPopover(); - let o = ""; - const r = () => { - const f = $c(e), u = n?.getBoundingClientRect() ?? { - left: 0, - top: 0, - right: f.width, - bottom: f.height - }, m = Math.max(0, u.left), b = Math.max(0, u.top), h = { - left: m, - top: b, - width: Math.max(0, Math.min(f.width, u.right) - m), - height: Math.max(0, Math.min(f.height, u.bottom) - b) - }, g = `${h.left},${h.top},${h.width},${h.height},${f.width},${f.height}`; - g !== o && (o = g, Qb(e, h), t?.(Rc(u, f))); - }; - r(); - const a = new ResizeObserver(r); - n && a.observe(n); - const s = Io(r), l = e.ownerDocument, d = () => { - if (typeof e.showPopover != "function" || !e.matches(":popover-open")) return; - const f = xn(l); - e.hidePopover(), e.showPopover(), f && f !== xn(l) && f.focus({ preventScroll: !0 }); - }, c = () => { - n && Jb(n) && d(); - }, p = (f) => { - f.newState === "open" && d(); - }; - return l.addEventListener("fullscreenchange", c), n?.addEventListener("toggle", p), () => { - l.removeEventListener("fullscreenchange", c), n?.removeEventListener("toggle", p), s(), a.disconnect(), typeof e.hidePopover == "function" && e.matches(":popover-open") && e.hidePopover(); - }; -} -function Ho(e, t) { - const n = e.ownerDocument, o = xn(n), r = (l) => { - l.key !== "Escape" || l.defaultPrevented || (l.preventDefault(), l.stopPropagation(), t.onEscape()); - }; - e.addEventListener("keydown", r); - let a = null; - t.trap === !1 ? Kp(e, t.initialFocus) : a = Hp(e, { - initialFocus: t.initialFocus, - returnFocus: !1 - }); - const s = () => { - a?.(), a = null, e.removeEventListener("keydown", r); - }; - return { - standDown: s, - release: () => { - s(); - const l = xn(n), d = l === null || e.contains(l) || l.hasAttribute("data-epdf-focus-root"); - o?.isConnected && d && o.focus(); - } - }; -} -const Bc = be("top"), $n = Bc.Provider; -function Ca() { - return X(Bc); -} -function Kc(e, t, n = "start", o = "above") { - return e === "start" || e === "end" ? `${e === "start" == (t === "ltr") ? "right" : "left"}-${n}` : `${e === "bottom" || e === "float-bottom" || e === "selection" && o === "above" ? "top" : "bottom"}-${n === "start" == (t === "ltr") ? "start" : "end"}`; -} -function Hc(e) { - return e === "ltr" ? "right-start" : "left-start"; -} -function ev(e, t, n = !1, o = "above") { - return (n ? Hc(t) : Kc(e, t, "start", o)).split("-")[0]; -} -function jc(e) { - return e === "ltr" ? { - open: "ArrowRight", - close: "ArrowLeft" - } : { - open: "ArrowLeft", - close: "ArrowRight" - }; -} -const xo = (e) => { - const t = e.getBoundingClientRect(); - return { - x: t.left, - y: t.top, - width: t.width, - height: t.height - }; -}, Uc = (e) => e.closest("[data-placement]")?.getAttribute("data-placement")?.startsWith("bottom") ? "below" : "above"; -function Gc(e, t, n, o) { - const r = pl(e, "client"); - if (!r) return; - const { left: a, top: s } = jp(t, n, o, { - size: { - width: e.offsetWidth, - height: e.offsetHeight - }, - view: r - }); - e.style.left = `${a}px`, e.style.top = `${s}px`; - const l = e.getBoundingClientRect(); - (Math.abs(l.left - a) > 0.5 || Math.abs(l.top - s) > 0.5) && (e.style.left = `${2 * a - l.left}px`, e.style.top = `${2 * s - l.top}px`); -} -let jt = null, cs = Number.NEGATIVE_INFINITY; -const ds = (e) => e.pointerType === "touch"; -function tv(e, t, n) { - let o = null, r = !1, a = !1, s = !1, l = !1, d, c; - const p = { hide: () => h() }, f = () => { - clearTimeout(d), clearTimeout(c); - }, u = () => e.getAttribute("aria-expanded") === "true", m = () => jt !== null || Date.now() - cs < 300, b = (P) => { - if (f(), !(o === P || o === "pointer")) { - if (o === null) { - if (t.canShow && !t.canShow()) return; - jt !== p && jt?.hide(), jt = p, n.addEventListener("keydown", x, !0); - } - o = P, t.show(P); - } - }, h = () => { - f(), o !== null && (o = null, jt === p && (jt = null), cs = Date.now(), n.removeEventListener("keydown", x, !0), t.hide()); - }, g = () => { - clearTimeout(c), c = setTimeout(h, 100); - }, y = (P) => { - ds(P) || (r = !0, clearTimeout(c), !(l || u()) && (o !== null || m() ? b("pointer") : d = setTimeout(() => b("pointer"), 500))); - }, v = (P) => { - ds(P) || (r = !1, clearTimeout(d), !s && (l = !1, o !== null && !a && g())); - }, _ = () => { - e.matches(":focus-visible") && (s = !0, !l && !u() && b("focus")); - }, O = () => { - s = !1, !(r || a) && (l = !1, h()); - }, S = () => { - l = !0, h(); - }, x = (P) => { - P.key === "Escape" && (l = !0, h()); - }; - return e.addEventListener("pointerenter", y), e.addEventListener("pointerleave", v), e.addEventListener("focus", _), e.addEventListener("blur", O), e.addEventListener("pointerdown", S), { - enterTooltip() { - a = !0, clearTimeout(c); - }, - leaveTooltip() { - a = !1, !r && !s && g(); - }, - detach() { - e.removeEventListener("pointerenter", y), e.removeEventListener("pointerleave", v), e.removeEventListener("focus", _), e.removeEventListener("blur", O), e.removeEventListener("pointerdown", S), h(); - } - }; -} -const nv = 6, ov = '[inert], [aria-hidden="true"]', rv = "bg-tooltip text-tooltip-fg m-0 max-w-64 overflow-visible rounded-sm border border-transparent px-2 py-1 text-start text-xs font-normal leading-4 tracking-normal normal-case whitespace-normal shadow-md transition-opacity duration-100 starting:opacity-0 motion-reduce:transition-none", us = (e) => e.label !== "" && (!e.labelShown || !!e.shortcut || !!e.reason), av = (e) => e !== null && (e.scrollWidth > e.clientWidth || e.scrollHeight > e.clientHeight); -function ve(e, t = {}) { - const [n, o] = C(null), [r, a] = C(null), s = k(null), l = Ca(), d = Je(), c = t.clipped !== void 0 && e !== null && !us(e), p = e !== null && (us(e) || c && e.label !== ""), f = k(t.clipped); - f.current = t.clipped, R(() => { - if (!n || !p || n.closest(ov)) return; - const b = n.ownerDocument.defaultView ?? n.ownerDocument, h = tv(n, { - show: a, - hide: () => a(null), - canShow: c ? () => av(f.current?.(n) ?? null) : void 0 - }, b); - return s.current = h, () => { - s.current = null, h.detach(); - }; - }, [ - n, - p, - c - ]); - const u = p && e !== null && r !== null && n !== null, m = u && (e.labelShown === !0 || t.clipped !== void 0 || n.getAttribute("aria-label") === e.label); - return { - trigger: { - ref: o, - "aria-describedby": u && (!m || e.shortcut || e.reason) ? d : void 0 +const ms = { + code: "en", + name: "English", + translations: { + measurement: { + title: "Measurements", + distance: "Distance", + perimeter: "Perimeter", + area: "Area", + areaUnit: "Area unit", + resetLabel: "Reset label position", + calibrate: "Calibrate scale", + scale: "Scale", + custom: "Custom", + unavailable: "Unavailable", + instructions: "Drag to measure a distance, then click to place its dimension line. Click vertices for a perimeter or area and double-click to finish. Area boundaries must not cross; an unavailable preview cannot be finished. Press Escape to cancel. Drag the label itself to move it.", + sessionOnly: "This engine keeps page calibration for this session only.", + allPages: "Apply to all pages", + recalculate: "Recalculate existing measurements", + preset: "Scale preset", + choosePreset: "Choose a preset", + unit: "Unit", + precision: "Precision", + selection: "Selected measurements", + report: "{updated} updated · {skipped} skipped · {failed} failed", + knownLength: "Enter the real length represented by the line you just drew.", + length: "Known length", + apply: "Apply scale", + applying: "Applying…" }, - element: u ? /* @__PURE__ */ i(iv, { - id: d, - button: n, - content: e, - named: m, - interactive: r === "pointer", - placement: () => ev(l, ra(n), t.inMenu === !0, l === "selection" ? Uc(n) : void 0), - timing: s - }) : null - }; -} -function jo({ content: e, options: t, children: n }) { - const o = ve(e, t); - return /* @__PURE__ */ i(D, { children: [n(o.trigger), o.element] }); -} -function Wc({ label: e, reason: t, inMenu: n, ...o }) { - const r = ve({ - label: e, - reason: t - }, { inMenu: n }); - return /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("button", { - type: "button", - "aria-label": e, - ...o, - ...r.trigger - }), r.element] }); -} -function iv({ id: e, button: t, content: n, named: o, interactive: r, placement: a, timing: s }) { - const l = k(null), d = k(a); - return d.current = a, R(() => { - const c = l.current; - if (!c) return; - typeof c.showPopover == "function" && c.showPopover(); - const p = () => Gc(c, xo(t), d.current(), nv); - p(); - const f = new ResizeObserver(p); - f.observe(c), f.observe(t); - const u = Io(p); - return () => { - u(), f.disconnect(), typeof c.hidePopover == "function" && c.matches(":popover-open") && c.hidePopover(); - }; - }, [t]), /* @__PURE__ */ i("div", { - ref: l, - ...Ta, - id: e, - role: "tooltip", - part: "tooltip", - className: `${rv} ${r ? "pointer-events-auto" : "pointer-events-none"}`, - style: { - position: "fixed", - right: "auto", - bottom: "auto", - fontFamily: "var(--epdf-font)" - }, - onPointerEnter: () => s.current?.enterTooltip(), - onPointerLeave: () => s.current?.leaveTooltip(), - children: [ - /* @__PURE__ */ i("span", { - className: "flex items-baseline gap-2", - children: [ - /* @__PURE__ */ i("span", { - "aria-hidden": o || void 0, - children: n.label - }), - " ", - n.shortcut && /* @__PURE__ */ i("kbd", { - className: "opacity-75 [font-variant-emoji:text]", - style: { fontFamily: "inherit" }, - children: n.shortcut - }) - ] - }), - " ", - n.reason && /* @__PURE__ */ i("span", { - className: "mt-0.5 block opacity-80", - children: n.reason - }) - ] - }); -} -const Sn = "embedpdf-standard", sv = "standard"; -function lv(e) { - const t = `${sv}:`; - return e.startsWith(t) ? `${Sn}:${e.slice(t.length)}` : e; -} -function cv(e) { - return la(Zf, [e, ...typeof navigator < "u" ? navigator.languages ?? [] : []]) ?? "en"; -} -const dv = async (e) => { - const t = await fetch(e); - if (!t.ok) throw new Error(`${e}: HTTP ${t.status}`); - return new Uint8Array(await t.arrayBuffer()); -}, uv = (e, t) => t ? dv(t.replace("{locale}", e)) : Jf(e), ps = /* @__PURE__ */ new WeakMap(); -function pv(e, t, n) { - if (n === !1) return Promise.resolve(); - const o = typeof n == "string" ? n : void 0, r = ps.get(e); - if (r?.locale === t) return r.promise; - const s = (async () => { - await r?.promise.catch(() => { - }); - const l = e.getLibrary(Sn); - l?.locale !== t && (r && !l || (l && await e.deleteLibrary(Sn), await e.importLibrary(await uv(t, o)))); - })(); - return ps.set(e, { - locale: t, - promise: s - }), s; -} -const ko = typeof indexedDB > "u" ? null : Up("embedpdf-stamps", { storeName: "libraries" }), fs = /* @__PURE__ */ new WeakMap(), Vc = (e) => { - let t = fs.get(e); - return t || (t = ko ? Of(e, ko) : Promise.resolve(), fs.set(e, t)), t; -}; -function fv() { - const e = _a(); - return E(() => (Vc(e), ko ? Pf(e, ko, { except: [Sn] }) : void 0), [e]), null; -} -const mv = 0.5; -function hv(e, t, n) { - if (e.length === 0) return null; - if (n >= 500) { - const o = e.filter((r) => r < t - 1); - return o.length > 0 ? o[o.length - 1] : null; - } - return n <= -500 ? e.find((o) => o > t + 1) ?? e[e.length - 1] : t < e[0] / 2 ? null : e.reduce((o, r) => Math.abs(r - t) < Math.abs(o - t) ? r : o); -} -function ms(e) { - const t = Math.max(0, Math.round(e - 40)), n = Math.min(t, Math.round(e * mv)); - return n < t ? [n, t] : [t]; -} -const gv = 'button, a[href], input, select, textarea, [role="tab"], [contenteditable]:not([contenteditable="false"])', Ea = "bg-black/30 transition-opacity duration-200 starting:opacity-0", qc = () => { -}, Yc = be(qc), Xc = Yc.Provider; -function bv() { - return X(Yc); -} -const vv = (e, t) => e.composedPath().some((n) => n instanceof Element && n !== t && n.matches('[aria-modal="true"]')), wv = (e) => Object.fromEntries(Object.entries(e ?? {}).map(([t, n]) => [`data-${t}`, n])), yv = 8; -function Zc({ label: e, onClose: t, size: n = "content", list: o = !1, trapFocus: r = !0, header: a, width: s, part: l, data: d, children: c }) { - const p = k(null), f = k(null), u = k(null), m = k(t); - m.current = t; - const b = k(0), h = k(null), g = () => n === "panel" ? ms(p.current?.offsetHeight ?? 0) : [u.current?.offsetHeight ?? 0], y = (S, x) => { - const P = u.current; - if (!P || x.length === 0) return; - const M = x[0], T = x[x.length - 1]; - n === "panel" && (P.style.height = `${Math.min(T, Math.max(M, S))}px`); - const L = Math.max(0, M - S); - P.style.translate = L > 0 ? `0 ${L}px` : "", f.current && (f.current.style.opacity = L > 0 ? `${Math.max(0, 1 - L / M)}` : ""); - }; - R(() => { - const S = p.current, x = u.current; - if (!S || !x) return; - const P = Fc(S, (L) => { - const A = Dc(L, [ - "right", - "bottom", - "left" - ]); - if (x.style.paddingLeft = A.paddingLeft ?? "", x.style.paddingRight = A.paddingRight ?? "", x.style.paddingBottom = A.paddingBottom ?? "", x.style.maxHeight = `${Math.max(0, S.offsetHeight - 40)}px`, n === "panel" && !h.current) { - const F = ms(S.offsetHeight); - y(F[Math.min(b.current, F.length - 1)], F); - } - }), M = r ? Ho(x, { onEscape: () => m.current() }) : null, T = aa(S, (L) => { - vv(L, x) || m.current(); - }); - return () => { - T(), M?.release(), P(); - }; - }, []); - const v = (S) => { - if (S.pointerType === "mouse" && S.button !== 0 || S.target.closest(gv)) return; - const x = u.current; - if (!x) return; - S.currentTarget.setPointerCapture(S.pointerId); - const P = x.offsetHeight; - h.current = { - pointerId: S.pointerId, - startY: S.clientY, - startHeight: P, - heights: g(), - samples: [{ - t: S.timeStamp, - x: S.clientX, - y: S.clientY - }], - height: P - }, p.current?.setAttribute("data-dragging", ""); - }, _ = (S) => { - const x = h.current; - !x || x.pointerId !== S.pointerId || (x.height = x.startHeight - (S.clientY - x.startY), x.samples.push({ - t: S.timeStamp, - x: S.clientX, - y: S.clientY - }), x.samples.length > yv && x.samples.shift(), y(x.height, x.heights)); - }, O = (S) => { - const x = h.current; - if (!x || x.pointerId !== S.pointerId) return; - h.current = null, p.current?.removeAttribute("data-dragging"); - const P = S.type === "pointercancel", M = P ? 0 : Gp(x.samples, S.timeStamp)?.vy ?? 0, T = P ? x.heights[b.current] : hv(x.heights, x.height, M); - if (T === null) { - m.current(); - return; - } - b.current = Math.max(0, x.heights.indexOf(T)), y(T, x.heights); - }; - return /* @__PURE__ */ i("div", { - ref: p, - ...Ta, - "data-epdf-layer": "", - className: `${zc} p-0 open:flex open:flex-col open:justify-end`, - style: { - position: "fixed", - inset: "auto", - maxWidth: "none", - maxHeight: "none" - }, - children: [/* @__PURE__ */ i("div", { - ref: f, - "aria-hidden": "true", - className: `absolute inset-0 ${Ea} in-data-dragging:transition-none`, - onClick: () => m.current() - }), /* @__PURE__ */ i("div", { - ref: u, - role: r ? "dialog" : void 0, - "aria-modal": r ? !0 : void 0, - "aria-label": r ? e : void 0, - part: l, - ...wv(d), - "data-epdf-sheet": "", - className: `border-border-subtle bg-elevated starting:translate-y-full in-data-dragging:transition-none relative flex shrink-0 flex-col rounded-t-2xl border-t shadow-2xl transition-[translate,height] duration-200 ease-out motion-reduce:transition-none ${s === void 0 ? "w-full" : "max-w-full self-center border-x"}`, - style: s === void 0 ? void 0 : { width: s }, - children: [/* @__PURE__ */ i("div", { - className: "shrink-0 touch-pan-x select-none", - onPointerDown: v, - onPointerMove: _, - onPointerUp: O, - onPointerCancel: O, - children: [/* @__PURE__ */ i("div", { - "data-epdf-sheet-handle": "", - className: "flex h-6 cursor-grab items-center justify-center active:cursor-grabbing", - children: /* @__PURE__ */ i("span", { className: "bg-border-strong h-1 w-10 rounded-full" }) - }), a] - }), /* @__PURE__ */ i("div", { - className: "flex min-h-0 flex-1 flex-col overflow-y-auto overflow-x-hidden overscroll-contain", - children: /* @__PURE__ */ i(Xc, { - value: o ? () => m.current() : qc, - children: c - }) - })] - })] - }); -} -const _v = (e, t) => cu(e, t, Qf), xv = []; -function Aa(e) { - const t = j(Qr), n = ye(), o = H(() => e ? Jr(e) : null, [e]), r = ie( - () => o ? lu(o, (a) => t.resolveCommand(a, n ?? void 0)) : xv, - _v - ); - return H( - () => r.length === 0 ? null : { - groups: r, - execute: (a) => void t.execute(a, { documentId: n ?? void 0 }) - }, - [r, t, n] - ); -} -function hs({ - k: e, - orientation: t, - onLength: n, - children: o -}) { - const r = k(null); - return R( - () => r.current ? ml(r.current, t, (a) => n(e, a)) : void 0, - [e, t, n] - ), /* @__PURE__ */ i("span", { ref: r, style: { display: "inline-flex", flexShrink: 0 }, children: o }); -} -function kv({ - name: e, - k: t, - orientation: n, - grow: o, - onLength: r, - children: a -}) { - const s = k(null); - return R(() => { - const l = s.current; - if (!l) return; - const d = (c) => r(t, c); - return o ? Yp(l, n, d) : ml(l, n, d); - }, [t, n, o, r]), /* @__PURE__ */ i( - "slot", - { - ref: s, - name: e, - style: { - display: "inline-flex", - alignItems: "center", - flexShrink: 0, - flexGrow: o ? 1 : 0 + commands: { + zoom: { + in: "Zoom In", + out: "Zoom Out", + fitPage: "Fit to Page", + fitWidth: "Fit to Width", + automatic: "Automatic", + marquee: "Marquee Zoom", + menu: "Zoom", + level: "Zoom Level", + p50: "50%", + p100: "100%", + p150: "150%", + p200: "200%", + p400: "400%" }, - children: a - } - ); -} -const Sv = (e) => ({ - position: "absolute", - left: 0, - top: 0, - height: 0, - overflow: "hidden", - visibility: "hidden", - pointerEvents: "none", - display: "flex", - whiteSpace: "nowrap", - ...e === "vertical" ? { flexDirection: "column", alignItems: "flex-start" } : null -}), gs = { [fl]: "" }, Mv = { display: "contents" }, Pv = (e) => ({ - display: "flex", - flexDirection: e === "vertical" ? "column" : "row", - alignItems: "center", - flex: "1 0 auto" -}), Jc = On("toolbar-surface"), en = On("toolbar-border"), Na = On("toolbar-active"), Ov = (e, t, n) => /* @__PURE__ */ i( - "button", - { - type: "button", - onClick: n, - disabled: !e.enabled, - "aria-pressed": e.pressable ? e.active : void 0, - "aria-haspopup": e.menu ? "menu" : void 0, - "aria-expanded": e.menu ? e.active : void 0, - title: e.label, - style: { - display: "inline-flex", - alignItems: "center", - gap: 4, - padding: "4px 8px", - whiteSpace: "nowrap", - color: "inherit", - font: "inherit", - background: e.active ? Na : "transparent", - border: `1px solid ${en}`, - borderRadius: 4, - cursor: e.enabled ? "pointer" : "default", - opacity: e.enabled ? 1 : 0.4 - }, - children: e.label - } -); -function Tv({ orientation: e }) { - return /* @__PURE__ */ i( - "span", - { - style: { ...e === "vertical" ? { height: 1 } : { width: 1 }, alignSelf: "stretch", background: "currentColor", opacity: 0.2 } - } - ); -} -const Qc = (e, t) => /* @__PURE__ */ i( - "button", - { - type: "button", - onClick: t, - "aria-haspopup": "menu", - "aria-expanded": e, - title: "More", - style: { - display: "inline-flex", - alignItems: "center", - padding: "4px 8px", - color: "inherit", - font: "inherit", - border: `1px solid ${en}`, - borderRadius: 4, - background: e ? Na : "transparent", - cursor: "pointer" - }, - children: "⋯" - } -), Cv = (e) => e === "vertical" ? { top: 0, insetInlineStart: "100%" } : { top: "100%", insetInlineEnd: 0 }; -function Ia({ - view: e, - orientation: t -}) { - const n = k(null), o = k(e.close); - return o.current = e.close, R(() => { - const r = n.current; - if (!e.isOpen || !r) return; - const a = r.parentElement ?? r, s = qp(a).find((c) => !r.contains(c)) ?? null, l = aa(a, () => o.current()), d = ia(r, { trigger: s, close: () => o.current() }); - return () => { - l(), d(); - }; - }, [e.isOpen]), e.isOpen ? /* @__PURE__ */ i( - "div", - { - ref: n, - role: "menu", - style: { - position: "absolute", - ...Cv(t), - zIndex: 41, - minWidth: 200, - padding: 4, - background: Jc, - border: `1px solid ${en}`, - borderRadius: 6, - boxShadow: "0 4px 16px rgba(0,0,0,0.15)" + pan: "Pan", + pointer: "Pointer", + comment: "Comment", + style: "Style", + menu: "Menu", + viewControls: "View Controls", + open: "Open", + download: "Download", + print: "Print", + fullscreen: "Full Screen", + spread: { + group: "Page Layout", + none: "Single Page", + odd: "Two Page", + even: "Cover Page" }, - children: e.sections.map((r, a) => /* @__PURE__ */ i(D, { children: [ - a > 0 && /* @__PURE__ */ i("div", { style: { height: 1, background: en, margin: "4px 0" } }), - r.rows.map((s) => { - const l = e.resolve(s.command); - if (!l) return null; - const d = s.kind === "submenu"; - return /* @__PURE__ */ i( - "button", - { - type: "button", - role: r.role === "radio" ? "menuitemradio" : "menuitem", - "aria-checked": r.role === "radio" ? l.active : void 0, - disabled: !l.enabled, - tabIndex: -1, - onClick: () => { - e.execute(s.command), d || e.close(); - }, - style: { - display: "flex", - width: "100%", - alignItems: "center", - justifyContent: "space-between", - gap: 16, - padding: "6px 8px", - border: "none", - color: "inherit", - font: "inherit", - background: "transparent", - cursor: l.enabled ? "pointer" : "default", - opacity: l.enabled ? 1 : 0.4, - whiteSpace: "nowrap" - }, - children: [ - /* @__PURE__ */ i("span", { children: [ - l.active && r.role === "radio" ? "• " : "", - l.label - ] }), - d ? /* @__PURE__ */ i("span", { children: "▸" }) : null - ] - }, - s.command - ); - }) - ] }, a)) - } - ) : null; -} -function Ev({ - view: e, - orientation: t -}) { - if (e.collapse === "select") { - const n = e.commands.find((o) => o.active); - return /* @__PURE__ */ i( - "select", - { - value: n?.id ?? "", - onChange: (o) => e.execute(o.target.value), - style: { - padding: "4px 6px", - font: "inherit", - borderRadius: 4, - border: `1px solid ${en}`, - background: Jc - }, - children: e.commands.map((o) => /* @__PURE__ */ i("option", { value: o.id, disabled: !o.enabled, children: o.label }, o.id)) - } - ); - } - return /* @__PURE__ */ i(Av, { view: e, orientation: t }); -} -function Av({ - view: e, - orientation: t -}) { - const [n, o] = C(!1); - return /* @__PURE__ */ i("span", { style: { position: "relative", display: "inline-flex" }, children: [ - Qc(n, () => o((r) => !r)), - /* @__PURE__ */ i( - Ia, - { - view: Pn(e, n, () => o(!1)), - orientation: t - } - ) - ] }); -} -function Nv({ - view: e, - orientation: t -}) { - const [n, o] = C(!1), r = e.commands.some((a) => a.active); - return /* @__PURE__ */ i("span", { style: { position: "relative", display: "inline-flex" }, children: [ - /* @__PURE__ */ i( - "button", - { - type: "button", - onClick: () => o((a) => !a), - "aria-haspopup": "menu", - "aria-expanded": n, - title: "More", - style: { - display: "inline-flex", - alignItems: "center", - padding: "4px 6px", - color: "inherit", - font: "inherit", - border: `1px solid ${en}`, - borderRadius: 4, - // A hint that the active item is in here. - background: n || r ? Na : "transparent", - cursor: "pointer" - }, - children: "▾" - } - ), - /* @__PURE__ */ i( - Ia, - { - view: Pn(e, n, () => o(!1)), - orientation: t - } - ) - ] }); -} -function Iv({ - bar: e, - orientation: t = "horizontal", - gap: n = 8, - separatorWidth: o = 1, - "aria-label": r, - className: a, - style: s, - renderCommand: l = Ov, - renderCustom: d, - renderCollapsed: c, - renderGroupTrigger: p, - renderSeparator: f, - renderOverflowTrigger: u = Qc, - renderOverflowMenu: m -}) { - const b = ct(), h = j(Qr), g = ye(), y = t === "vertical", [, v] = St((N) => N + 1, 0); - E(() => b.subscribe(v), [b]); - const _ = k(null), [O, S] = C(0); - R( - () => _.current ? Wp(_.current, t, S) : void 0, - [t] - ); - const [x] = C(Xp), [, P] = St((N) => N + 1, 0), M = H( - () => (N, ee) => { - x.report(t, N, ee) && P(); - }, - [x, t] - ), T = k(null); - R(() => { - const N = _.current; - if (!N) return; - const ee = Vp(N, t); - return T.current = ee, () => { - ee.detach(), T.current = null; - }; - }, [t]), R(() => T.current?.refresh()); - const L = (N) => h.resolveCommand(N, g ?? void 0), A = (N) => void h.execute(N, { documentId: g ?? void 0 }), F = H(() => Jr(e), [e]), ce = du({ - bar: F, - resolve: L, - unregistered: em, - execute: A, - menuTarget: (N) => h.getMenuTarget(N), - metrics: x.metrics(t, n, o), - measureKey: ii, - containerLength: O, - orientation: t - }), [te, se] = C(!1); - E(() => { - ce.hasOverflow || se(!1); - }, [ce.hasOverflow]); - const nt = (N) => N.kind === "custom" && !d?.[N.name], ot = (N, ee) => { - switch (N.kind) { - case "command": - return l(N.command, N.variant, N.run); - case "custom": { - const _e = () => N.terminal ? l(N.terminal, "icon", N.runTerminal) : null, Me = d?.[N.name]; - if (Me) { - const ze = Me(N.variant, { - layer: ee, - measure: (ut) => M(N.measureKey, ut) - }); - return ze === void 0 ? _e() : ze; - } - return ee === "measure" ? null : /* @__PURE__ */ i( - kv, - { - name: N.name, - k: N.measureKey, - orientation: t, - grow: N.grow, - onLength: M, - children: _e() - } - ); - } - case "collapsed": { - const _e = c?.(N.view); - return _e === void 0 ? /* @__PURE__ */ i(Ev, { view: N.view, orientation: t }) : _e; - } - case "disclosure": { - const _e = p?.(N.view); - return _e === void 0 ? /* @__PURE__ */ i(Nv, { view: N.view, orientation: t }) : _e; - } - } - }, Mt = (N) => N.groups.map((ee, _e) => /* @__PURE__ */ i(D, { children: [ - _e > 0 && (f ? f() : /* @__PURE__ */ i(Tv, { orientation: t })), - ee.parts.map((Me) => /* @__PURE__ */ i( - "span", - { - ...gs, - style: Me.kind === "custom" && Me.grow ? Pv(t) : Mv, - children: ot(Me, "live") + scroll: { + group: "Scrolling", + vertical: "Vertical", + horizontal: "Horizontal", + paged: "Page by page" }, - Me.key - )) - ] }, ee.id)), Ft = (N) => ({ - display: "flex", - flexDirection: y ? "column" : "row", - alignItems: "center", - gap: n, - flex: N.grows ? "1 0 auto" : "0 0 auto", - ...N.spacing === "balance" ? y ? { marginTop: "auto", marginBottom: "auto" } : { marginLeft: "auto", marginRight: "auto" } : N.spacing === "gap" ? y ? { marginTop: n } : { marginInlineStart: n } : null - }), Ke = { - sections: ce.overflow, - isOpen: te, - close: () => se(!1), - resolve: L, - execute: A - }; - return /* @__PURE__ */ i( - "div", - { - ref: _, - role: "toolbar", - "aria-orientation": t, - "aria-label": r, - className: a, - style: { - position: "relative", - display: "flex", - flexDirection: y ? "column" : "row", - alignItems: "center", - ...s + rotate: { + group: "Rotate", + clockwise: "Rotate Clockwise", + counterclockwise: "Rotate Counter-Clockwise" }, - children: [ - ce.sections.map((N) => /* @__PURE__ */ i("div", { style: Ft(N), children: [ - Mt(N), - N.name === "end" && ce.hasOverflow && /* @__PURE__ */ i("span", { ...gs, style: { position: "relative", display: "inline-flex" }, children: [ - u(te, () => se((ee) => !ee)), - m ? m(Ke) : /* @__PURE__ */ i(Ia, { view: Ke, orientation: t }) - ] }) - ] }, N.name)), - /* @__PURE__ */ i("div", { "aria-hidden": !0, ...uc, style: Sv(t), children: [ - ce.measured.filter((N) => !nt(N)).map((N) => { - const ee = ot(N, "measure"); - return N.kind === "custom" && ee === null ? null : /* @__PURE__ */ i( - hs, - { - k: N.measureKey, - orientation: t, - onLength: M, - children: ee - }, - N.measureKey - ); - }), - /* @__PURE__ */ i( - hs, - { - k: ii.overflowTrigger, - orientation: t, - onLength: M, - children: u(!1, () => { - }) - } - ) - ] }) - ] - } - ); -} -const Lv = { - annotations: [ - "highlight", - "markup", - "drawing", - "text", - "notes", - "links" - ], - shapes: [], - stamps: [], - comments: ["writing"], - forms: ["filling", "building"], - signatures: ["signing", "checking"], - redaction: [], - measurement: [], - pages: [], - attachments: ["adding"], - text: ["selection", "copy"], - snapshots: [], - search: [], - thumbnails: [], - outline: ["editing"], - documents: [ - "open", - "download", - "print", - "tabs" - ] -}, ed = [ - "annotations", - "shapes", - "stamps", - "comments.writing", - "forms", - "signatures.signing", - "redaction", - "measurement", - "pages", - "attachments.adding", - "outline.editing" -], Dr = (e, t) => e === t || e.startsWith(`${t}.`), Rv = (e) => ed.every(e), Dv = { - "annotations.highlight": ["highlight"], - "annotations.markup": [ - "underline", - "strikeout", - "squiggly" - ], - "annotations.drawing": ["ink"], - "annotations.text": ["free-text", "caret"], - "annotations.notes": ["text"], - "annotations.links": ["link"], - shapes: [ - "square", - "circle", - "line", - "polygon", - "polyline" - ], - stamps: ["stamp"], - redaction: ["redact"], - measurement: [ - "line-dimension", - "polyline-dimension", - "polygon-dimension" - ], - "attachments.adding": ["file-attachment"], - "forms.building": ["widget"] -}, $v = { - "forms.filling": [ - "text", - "checkbox", - "radio", - "combobox", - "listbox", - "pushbutton" - ], - "signatures.signing": ["signature"] -}; -function bs(e, t) { - const n = Object.keys(e), o = n.filter((r) => !t.some((a) => Dr(r, a))); - return o.length === n.length ? !0 : o.length === 0 ? !1 : o.flatMap((r) => e[r]); -} -const zv = (e) => Lv[e] ?? []; -function Fv(e) { - if (!e) return []; - const t = e === !0 ? [] : e.except, n = [], o = (r) => { - if (t.some((s) => Dr(r, s))) return; - const a = zv(r); - if (a.length === 0 || !t.some((s) => Dr(s, r))) { - n.push(r); - return; - } - for (const s of a) o(`${r}.${s}`); - }; - for (const r of ed) o(r); - return n; -} -function td(e, t) { - const n = (e ?? []).filter((o) => !o.includes(":")); - return [.../* @__PURE__ */ new Set([...n, ...Fv(t)])]; -} -function Bv(e, t) { - const n = new Set((e ?? []).filter((o) => o.includes(":"))); - return { - disabledCategories: td(e, t), - disabledCommands: [...n] - }; -} -function Kv(e, t) { - const n = td(e, t); - return { - editable: bs(Dv, n), - fillable: bs($v, n) - }; -} -function vs(e, t) { - return e === !0 ? t : t === !0 ? e : e === !1 || t === !1 ? !1 : e.filter((n) => t.includes(n)); -} -const ws = (e, t) => typeof e == "boolean" || typeof t == "boolean" ? e === t : e.length === t.length && e.every((n, o) => n === t[o]); -function Hv() { - const e = Z(), t = kg(W(lt, (r) => r.getCurrentPage())), n = Qe("measurement"), o = ve({ label: e("measurement.title") }); - return /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("button", { - ...o.trigger, - type: "button", - part: Se(n.isOpen), - className: Re(n.isOpen), - "aria-pressed": n.isOpen, - onClick: () => n.toggle(), - children: /* @__PURE__ */ i("span", { - className: "flex items-center whitespace-nowrap text-sm", - children: [/* @__PURE__ */ i(q, { - name: "updateScale", - size: 20, - className: "me-1.5 shrink-0" - }), /* @__PURE__ */ i("span", { children: [ - e("measurement.scale"), - ":", - " ", - t?.measure?.subtype === "rectilinear" ? t.measure.ratio ?? e("measurement.custom") : e("measurement.unavailable") - ] })] - }) - }), o.element] }); -} -function jv() { - const e = Z(), { files: t } = sc(); - return /* @__PURE__ */ i("span", { - className: "text-fg-muted whitespace-nowrap text-xs", - children: e("attachments.count", { params: { count: t.length } }) - }); -} -const La = be(null); -function Uv({ children: e }) { - const t = ye() ?? "", [n, o] = C(() => /* @__PURE__ */ new Map()), r = Ve((l) => o((d) => new Map(d).set(t, l)), [t]), a = n.get(t) ?? "", s = H(() => [a, r], [a, r]); - return /* @__PURE__ */ i(La.Provider, { - value: s, - children: e - }); -} -const Gv = ["", () => { -}]; -function W_() { - return X(La) ?? Gv; -} -function Wv({ variant: e }) { - const t = Z(), n = X(La); - if (!n) return null; - const [o, r] = n; - return /* @__PURE__ */ i("div", { - className: `relative ${e === "narrow" ? "w-24" : "w-36"}`, - children: [/* @__PURE__ */ i("div", { - className: "text-fg-muted pointer-events-none absolute inset-y-0 start-0 flex items-center ps-2", - children: /* @__PURE__ */ i(q, { - name: "search", - size: 14 - }) - }), /* @__PURE__ */ i("input", { - type: "search", - value: o, - placeholder: t("outline.filter"), - "aria-label": t("outline.filter"), - onChange: (a) => r(a.target.value), - className: "border-border bg-surface text-fg focus:border-accent focus:ring-accent w-full rounded-md border py-1 pe-2 ps-7 text-sm outline-none focus:ring-1" - })] - }); -} -function Vv(e) { - const t = e.listCurrentPages().map((n) => n.index + 1); - return t.length ? { - first: Math.min(...t), - last: Math.max(...t) - } : null; -} -const qv = (e, t) => e?.first === t?.first && e?.last === t?.last; -function Yv() { - const e = Z(), t = Q(lt), n = Jt((O) => O.currentPageIndex + 1), o = Jt((O) => O.pageCount), r = oe(lt, Vv, null, qv), a = r !== null && r.last > r.first, s = a ? r.first : n, [l, d] = C(null), c = k(null), p = k(null), f = k(!1), u = l !== null, m = ve({ label: e("pageNumber.goToPage") }), b = m.trigger.ref, h = Ve((O) => { - p.current = O, b(O); - }, [b]); - if (R(() => { - u ? (c.current?.focus(), c.current?.select()) : f.current && (f.current = !1, p.current?.focus()); - }, [u]), o <= 1) return null; - const g = () => { - f.current = !0, d(null); - }, y = () => { - const O = Number.parseInt(l ?? "", 10); - Number.isFinite(O) && t?.goToPage(Math.min(Math.max(O, 1), o) - 1), g(); - }, [v, _ = ""] = (a ? e("pageNumber.pages", { params: { - first: "", - last: r.last, - total: o - } }) : e("pageNumber.page", { params: { - current: "", - total: o - } })).split(""); - return /* @__PURE__ */ i("span", { - className: "text-fg-secondary flex whitespace-nowrap text-sm", - children: u ? /* @__PURE__ */ i("span", { - className: "block h-8 px-2 leading-8", - children: [ - v, - /* @__PURE__ */ i("input", { - ref: c, - type: "text", - inputMode: "numeric", - "aria-label": e("pageNumber.goToPage"), - value: l, - onChange: (O) => d(O.target.value.replace(/[^0-9]/g, "")), - onKeyDown: (O) => { - O.key === "Enter" ? (O.preventDefault(), y()) : O.key === "Escape" && (O.preventDefault(), g()); - }, - onBlur: () => d(null), - style: { width: `${String(o).length + 1}ch` }, - className: "bg-hover ring-accent text-fg rounded text-center tabular-nums outline-none ring-1" - }), - _ - ] - }) : /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("button", { - ...m.trigger, - ref: h, - type: "button", - onClick: () => d(String(s)), - className: "hover:bg-hover hover:text-fg block h-8 cursor-pointer rounded-md px-2 tabular-nums leading-8", - children: [ - v, - s, - _ - ] - }), m.element] }) - }); -} -function Xv() { - const e = Z(), t = _a(), { standard: n, quick: o } = Hb(), { locale: r } = vc(), a = gc(), s = ye(), l = oe(Cn, (u) => u.getActiveToolId(), null), d = wg((u) => u.armedAsset?.id ?? null), c = (o ?? []).map(lv), p = c.some((u) => u.startsWith(`${Sn}:`)); - E(() => { - p && Vc(t).then(() => pv(t, cv(r), n)).catch((u) => console.error("[embedpdf] quick stamps failed:", u)); - }, [ - t, - r, - p - ]); - const f = c.map((u) => a.find((m) => m.id === u)).filter((u) => !!u); - return f.length === 0 || !s ? null : /* @__PURE__ */ i("div", { - className: "flex items-center gap-1", - role: "group", - "aria-label": e("demo.quickStampsLabel"), - children: f.map((u) => /* @__PURE__ */ i(Zv, { - asset: u, - active: l === "stamp" && d === u.id, - onArm: () => void t.armAsset(u.id).catch((m) => console.error("[embedpdf] arm failed", m)) - }, u.id)) - }); -} -function Zv({ asset: e, active: t, onArm: n }) { - const o = _g(e.id), r = ve({ - label: e.label, - labelShown: !o - }); - return /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("button", { - ...r.trigger, - type: "button", - onClick: n, - "aria-label": e.label, - "aria-pressed": t, - part: Se(t), - className: Re(t, !0), - children: o ? /* @__PURE__ */ i("img", { - src: o, - alt: "", - className: "h-5 w-5 object-contain", - draggable: !1 - }) : /* @__PURE__ */ i("span", { - className: "text-xs", - children: e.label - }) - }), r.element] }); -} -function Jv(e) { - return e.canCreate() ? !0 : e.list().some(({ ref: t }) => e.canUpdate(t) || e.canDelete(t)); -} -function Qv(e, t) { - return e.canDesign() ? !0 : e.list().some((n) => n.kind === "signature" ? t?.canSign(n.ref) ?? !1 : e.canFill(n.ref)); -} -function e0() { - const e = Q(we) !== null, t = Q(on), n = oe(we, Jv, !1), o = oe(nn, (s) => Qv(s, t), !1), r = oe(Do, (s) => s.canEdit(), !1), a = oe(gt, (s) => s.canApply(), !1); - return e && !n && !o && !r && !a; -} -function t0({ compact: e = !1 }) { - const t = Z(), n = ke(); - Bg((a) => a.disabledCategories); - const o = Rv((a) => n.isCategoryDisabled(a)), r = e0(); - return !o && !r ? null : /* @__PURE__ */ i(jo, { - content: { label: t(o ? "viewOnly.turnedOff" : "viewOnly.notAllowed") }, - children: (a) => /* @__PURE__ */ i("span", { - ...a, - className: "bg-hover text-fg-secondary flex h-7 shrink-0 select-none items-center gap-1.5 whitespace-nowrap rounded-full px-2.5 text-xs font-medium", - children: [/* @__PURE__ */ i(q, { - name: "eye", - size: 16, - className: "shrink-0" - }), /* @__PURE__ */ i("span", { - className: e ? "sr-only" : void 0, - children: t("viewOnly.label") - })] - }) - }); -} -const n0 = { - orientation: "data-orientation", - edge: "data-edge", - variant: "data-variant", - size: "data-size" -}, o0 = (e) => e === "float-top" || e === "float-bottom" ? "float" : e; -function r0(e, t) { - for (const [n, o] of Object.entries(n0)) { - const r = t[n]; - r === null ? e.removeAttribute(o) : e.getAttribute(o) !== r && e.setAttribute(o, r); - } -} -const a0 = (e) => e.parentElement ?? e.getRootNode().host ?? null; -function nd() { - const e = /* @__PURE__ */ new WeakMap(), t = /* @__PURE__ */ new Set(); - let n = 0; - return { - set(o, r) { - if (e.get(o) !== r) { - e.set(o, r), n += 1; - for (const a of [...t]) a(); - } + mode: { + measure: "Measure", + group: "Mode", + view: "View", + annotate: "Annotate", + shapes: "Shapes", + insert: "Insert", + form: "Form", + redact: "Redact" + }, + annotate: { + cancelCreation: "Cancel drawing", + highlight: "Highlight", + strikeout: "Strikeout", + underline: "Underline", + squiggly: "Squiggly", + ink: "Draw", + inkHighlight: "Ink Highlighter", + text: "Text", + insertText: "Insert Text", + replaceText: "Replace Text", + callout: "Callout", + note: "Comment", + link: "Link", + gotoLink: "Go to link", + saveFile: "Save file", + removeLink: "Remove link", + delete: "Delete", + duplicate: "Duplicate", + group: "Group", + ungroup: "Ungroup", + stampFromSelection: "Make stamp", + strip: "Annotation actions" + }, + selection: { + copy: "Copy", + strip: "Text selection actions" + }, + snapshot: { + tool: "Take a Snapshot", + copy: "Copy", + save: "Save Image", + clear: "Clear Snapshot", + strip: "Snapshot actions" + }, + shapes: { + rectangle: "Rectangle", + circle: "Circle", + line: "Line", + arrow: "Arrow", + polygon: "Polygon", + polyline: "Polyline" + }, + insert: { + stamp: "Rubber Stamp", + attachment: "Attach File", + signature: "Signature", + image: "Image" + }, + form: { + textfield: "Text Field", + checkbox: "Checkbox", + radio: "Radio Button", + select: "Dropdown", + listbox: "List Box", + button: "Button", + signature: "Signature Field", + design: "Form design" + }, + redact: { + mark: "Mark for Redaction", + applyAll: "Apply Redactions", + apply: { + one: "Apply Redaction", + other: "Apply {count} Redactions" + }, + clearAll: "Clear Marks" + }, + undo: "Undo", + redo: "Redo", + page: { + next: "Next Page", + previous: "Previous Page", + first: "First Page", + last: "Last Page", + goTo: "Go to Page" + }, + find: "Find", + shortcuts: "Keyboard Shortcuts", + notAllowed: { + default: "{label} isn't allowed", + "annotations-create": "Adding annotations isn't allowed", + "doc-annotate-modify": "Changing annotations isn't allowed", + "doc-annotate-read": "Viewing annotations isn't allowed", + "doc-attachments-modify": "Adding files isn’t allowed", + "doc-content-copy": "Taking snapshots isn't allowed", + "doc-download": "Downloading isn't allowed", + "doc-forms-modify": "Editing form fields isn't allowed", + "doc-outline-modify": "Changing the outline isn’t allowed", + "doc-pages-assemble": "Changing pages isn’t allowed", + "doc-print": "Printing isn't allowed", + "doc-render-thumbnail": "Showing thumbnails isn't allowed", + "doc-text-copy": "Copying isn't allowed", + "doc-text-search": "Searching isn't allowed" + }, + commentThread: { more: "More options" }, + attachment: { + add: "Add file", + save: "Save", + goTo: "Go to page", + delete: "Delete", + more: "More options" + }, + outline: { + add: "Add item", + addChild: "Add child item", + rename: "Rename", + setDestination: "Set destination to current view", + properties: "Properties…", + delete: "Delete", + expandAll: "Expand all", + collapseAll: "Collapse all", + more: "More options" + }, + pages: { + rotateClockwise: "Rotate Page Clockwise", + rotateCounterclockwise: "Rotate Page Counter-Clockwise", + delete: "Delete Pages", + duplicate: "Duplicate Pages", + insertBlank: "Insert Blank Page", + insertFile: "Insert from File…", + extract: "Extract Pages", + selectAll: "Select All Pages", + more: "Page Options" + }, + turnedOff: "{label} isn't available", + locked: { default: "{label} can't be changed in this document" } }, - edgeOf(o) { - for (let r = o; r; r = a0(r)) { - const a = e.get(r); - if (a) return a; - } - return "top"; + passwordPrompt: { + title: "Password required", + required: "This document is password protected. Enter the password to open it.", + incorrect: "The password was incorrect. Please try again.", + incorrectWarning: "Incorrect password", + label: "Password", + placeholder: "Enter password", + cancel: "Cancel", + open: "Open", + opening: "Opening…" }, - subscribe(o) { - return t.add(o), () => { - t.delete(o); - }; + grantPrompt: { + passphraseTitle: "Passphrase required", + passphraseRequired: "This link is protected. Enter the passphrase you were given to open the document.", + passphraseIncorrect: "That passphrase didn’t work. Please try again.", + passphraseLabel: "Passphrase", + openTitle: "Before you open this document", + changeTitle: "Before you make changes", + asks: "The owner of this document asks who you are.", + shownOnChanges: "Your name is shown on what you add.", + final: "You can’t change your answers later.", + privacy: "Privacy notice", + optional: "optional", + invalid: "Check this answer.", + invalidEmail: "Enter a valid email address.", + fields: { + displayName: "Name", + email: "Email", + title: "Job title", + organization: "Organization", + organizationalUnit: "Department" + }, + open: "Open", + cancel: "Cancel", + continue: "Continue", + saving: "Saving…", + notNow: "Not now" }, - version: () => n - }; -} -const od = be(nd()), i0 = od.Provider; -function rd() { - return X(od); -} -const ad = { - display: "inline-flex", - alignItems: "center", - flexShrink: 0 -}, s0 = { - ...ad, - flexGrow: 1 -}; -function l0({ id: e, variant: t, orientation: n, grow: o = !1, measure: r, children: a }) { - const s = k(null), l = Ca(), { size: d } = dt(), c = rd(), p = k(r); - p.current = r; - const f = k(null), u = t !== null; - return R(() => { - const m = s.current; - if (!m) return; - const b = n === "vertical" ? "height" : "width", h = () => p.current(o ? Zp(m, n) : m.getBoundingClientRect()[b]); - u || h(); - const g = new ResizeObserver(h); - return g.observe(m), f.current = g, () => { - g.disconnect(), f.current = null; - }; - }, [ - n, - u, - o - ]), R(() => { - const m = s.current, b = f.current; - !m || !b || (b.unobserve(m), b.observe(m)); - }, [t]), R(() => { - const m = s.current; - if (!m) return; - const b = { - orientation: n, - edge: o0(l), - variant: t, - size: d - }, h = () => { - for (const g of m.assignedElements()) - r0(g, b), c.set(g, l); - }; - return h(), m.addEventListener("slotchange", h), () => m.removeEventListener("slotchange", h); - }, [ - n, - l, - t, - d, - c - ]), /* @__PURE__ */ i("slot", { - ref: s, - name: `item:${e}`, - style: o ? s0 : ad, - children: a - }); -} -const id = 4, c0 = { popover: "manual" }, d0 = '[role="menuitem"], [role="menuitemradio"], [role="menuitemcheckbox"]', sd = '[inert], [aria-hidden="true"]', $r = be(!1), wn = (e) => [...e.querySelectorAll(d0)].filter((t) => t.closest('[role="menu"]') === e), ld = (e) => e?.getAttribute("aria-label") || e?.textContent?.trim() || void 0, cd = (e, t) => [...e.querySelectorAll("[aria-haspopup]")].find((n) => !t.contains(n)) ?? null; -function u0(e, t) { - const n = xo(e), o = e.closest('[role="menu"]'), r = o ? xo(o) : n, a = t.clientTop + parseFloat(getComputedStyle(t).paddingTop || "0"); - return { - x: r.x, - y: n.y - a, - width: r.width, - height: n.height - }; -} -function p0(e, t, n, o) { - const r = pl(e, "client"); - r && (e.style.maxHeight = `${Math.max(0, r.height - 2 * id)}px`, Gc(e, t, n, o)); -} -function f0(e, t, n) { - const { nested: o, close: r } = n, a = cd(t, e), s = ra(t), l = n.placement(s), d = ld(a); - d && e.setAttribute("aria-label", d), typeof e.showPopover == "function" && e.showPopover(); - const c = () => p0(e, o ? u0(t, e) : xo(t), l, o ? 0 : id); - c(); - const p = new ResizeObserver(c); - p.observe(e), p.observe(t); - const f = Io(c), u = aa(e, (g) => { - (!a || !g.composedPath().includes(a)) && r(); - }), m = ia(e, { - trigger: a, - close: r, - items: () => wn(e) - }), b = jc(s), h = (g) => { - const y = g.target, v = !g.defaultPrevented, _ = y.getAttribute("aria-haspopup") === "menu"; - if (v && g.key === b.open && _ && wn(e).includes(y)) - if (g.preventDefault(), y.getAttribute("aria-expanded") !== "true") y.click(); - else { - const O = y.parentElement?.querySelector('[role="menu"]'); - O && wn(O)[0]?.focus(); - } - else v && g.key === b.close && o && (g.preventDefault(), r(), a?.focus()); - o && g.key !== "Tab" && g.stopPropagation(); - }; - return e.addEventListener("keydown", h), () => { - e.removeEventListener("keydown", h), m(), u(), f(), p.disconnect(), typeof e.hidePopover == "function" && e.matches(":popover-open") && e.hidePopover(); - }; -} -function zn(e) { - const t = k(null), [n, o] = C(!1), r = dt().size === "compact"; - return R(() => { - const a = t.current?.parentElement; - a && !a.closest(sd) && o(!0); - }, []), n ? r ? /* @__PURE__ */ i(g0, { ...e }) : /* @__PURE__ */ i(m0, { ...e }) : /* @__PURE__ */ i("span", { - ref: t, - hidden: !0 - }); -} -function m0({ children: e, onClose: t, align: n = "start" }) { - const o = k(null), r = Ca(), a = X($r), s = k(t); - return s.current = t, R(() => { - const l = o.current, d = l?.parentElement; - if (!(!l || !d)) - return f0(l, d, { - placement: (c) => a ? Hc(c) : Kc(r, c, n, r === "selection" ? Uc(d) : void 0), - nested: a, - close: () => s.current() - }); - }, []), /* @__PURE__ */ i("div", { - ref: o, - ...c0, - role: "menu", - part: "menu", - className: "border-border-subtle bg-elevated text-fg z-50 overflow-y-auto rounded-lg border shadow-xl", - style: { - position: "fixed", - right: "auto", - bottom: "auto", - margin: 0 + dropToOpen: { label: "Drop a PDF to open it" }, + documentError: { + title: "Couldn’t open document", + unknown: "The document could not be opened.", + notFound: "The file wasn’t found.", + notAllowed: "You don’t have access to this document.", + damaged: "This file isn’t a PDF, or it’s damaged.", + unsupported: "This viewer can’t open this kind of document.", + retry: "Try again", + close: "Close document" }, - children: /* @__PURE__ */ i($r.Provider, { - value: !0, - children: e - }) - }); -} -const dd = be(null); -function h0(e) { - const t = e.closest("[data-epdf-layer]"), n = t?.parentElement; - return t && n ? cd(n, t) : null; -} -function g0({ children: e, onClose: t }) { - const [n, o] = C([]), r = k(n); - r.current = n; - const a = k(null), s = k(t); - s.current = t; - const l = (c) => o([...r.current, c]), d = () => { - const c = r.current; - c.length !== 0 && (a.current = c[c.length - 1].opener, o(c.slice(0, -1))); - }; - return R(() => { - a.current?.focus(), a.current = null; - }, [n]), /* @__PURE__ */ i(Zc, { - label: "", - onClose: t, - trapFocus: !1, - children: /* @__PURE__ */ i(dd.Provider, { - value: l, - children: /* @__PURE__ */ i("div", { - className: "grid", - children: [/* @__PURE__ */ i(ys, { - covered: n.length > 0, - close: () => s.current(), - children: e - }), n.map((c, p) => /* @__PURE__ */ i(ys, { - covered: p < n.length - 1, - close: d, - opener: c.opener, - label: c.label, - onBack: d, - children: /* @__PURE__ */ i(Da, { - menuId: c.menuId, - onRun: c.onRun - }) - }, p))] - }) - }) - }); -} -function ys({ covered: e, close: t, opener: n, label: o, onBack: r, children: a }) { - const s = Z(), l = k(null), d = k({ - close: t, - onBack: r - }); - return d.current = { - close: t, - onBack: r - }, R(() => { - const c = l.current; - if (!c) return; - const p = n ?? h0(c), f = o ?? ld(p); - f && c.setAttribute("aria-label", f); - const u = ia(c, { - trigger: p, - close: () => d.current.close(), - items: () => wn(c), - initialFocus: "none" - }); - queueMicrotask(() => { - c.isConnected && !c.inert && wn(c).find((h) => !Jp(h))?.focus(); - }); - const m = jc(ra(c)), b = (h) => { - if (h.defaultPrevented) return; - const g = h.target; - h.key === m.open && g.getAttribute("aria-haspopup") === "menu" ? (h.preventDefault(), g.click()) : h.key === m.close && d.current.onBack && (h.preventDefault(), d.current.onBack()); - }; - return c.addEventListener("keydown", b), () => { - c.removeEventListener("keydown", b), u(); - }; - }, []), R(() => { - l.current && (l.current.inert = e); - }, [e]), /* @__PURE__ */ i("div", { - ref: l, - role: "menu", - part: "menu", - className: `bg-elevated isolate col-start-1 row-start-1 min-w-0 ${r ? "starting:translate-x-full rtl:starting:-translate-x-full transition-[translate] duration-200 ease-out motion-reduce:transition-none" : ""}`, - children: [r && /* @__PURE__ */ i("div", { - className: "p-1 pb-0", - children: [/* @__PURE__ */ i("button", { - type: "button", - tabIndex: -1, - role: "menuitem", - part: "menu-item", - "data-epdf-menu-back": "", - onClick: r, - className: Ra, - children: [/* @__PURE__ */ i(q, { - name: "chevronLeft", - size: 16, - className: "text-fg-muted rtl:-scale-x-100" - }), /* @__PURE__ */ i("span", { - className: "flex-1 truncate", - children: s("menu.back") - })] - }), o && /* @__PURE__ */ i("div", { - className: "text-fg px-2.5 pb-1 pt-2 text-sm font-semibold", - children: o - })] - }), /* @__PURE__ */ i($r.Provider, { - value: !0, - children: a - })] - }); -} -const _s = /* @__PURE__ */ new WeakMap(); -function hr(e) { - let t = _s.get(e); - return t || (t = /* @__PURE__ */ new Map(), _s.set(e, t)), t; -} -function Uo({ menuId: e, className: t = "relative inline-flex", children: n }) { - const o = Q(K), r = Ug((c) => c.openMenus.includes(e)), a = k(null), [, s] = St((c) => c + 1, 0), l = o ? hr(o).get(e) : void 0, d = r && l !== void 0 && l === a.current; - return R(() => { - const c = a.current; - if (!o || !c) return; - const p = hr(o), f = p.get(e); - if (!r) { - f === c && p.delete(e); - return; - } - !f?.isConnected && !c.closest(sd) && (p.set(e, c), s()); - }), /* @__PURE__ */ i("span", { - ref: a, - className: t, - onClickCapture: (c) => { - const p = c.target, f = p.closest("[aria-haspopup]") && !p.closest('[role="menu"]'); - o && a.current && f && hr(o).set(e, a.current); + tabs: { + close: "Close {name}", + loading: "Loading", + untitled: "Document {id}" }, - children: [n(d), d && /* @__PURE__ */ i(zn, { - onClose: () => o?.closeMenu(e), - children: /* @__PURE__ */ i(Da, { - menuId: e, - onRun: () => o?.closeMenu(e) - }) - })] - }); -} -const ud = (e) => { - const t = e.filter((o) => !o.menu), n = t.filter((o) => o.active).length; - return n === 0 ? "none" : n === 1 && t.length > 1 ? "radio" : "checkbox"; -}, b0 = { - none: "menuitem", - radio: "menuitemradio", - checkbox: "menuitemcheckbox" -}, pd = "flex w-full items-center gap-3 rounded-md px-2.5 py-1.5 text-start text-sm outline-none transition-colors aria-disabled:cursor-not-allowed aria-disabled:opacity-40", Ra = `${pd} text-fg-secondary hover:bg-hover focus-visible:bg-hover aria-disabled:hover:bg-transparent`, v0 = `${pd} bg-selected text-accent focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-accent forced-colors:outline-2 forced-colors:outline-solid forced-colors:-outline-offset-2`, fd = (e) => ve(e.enabled ? null : { - label: e.label, - reason: e.disabledReason, - labelShown: !0 -}, { inMenu: !0 }); -function Fn({ command: e, choice: t, onSelect: n }) { - const o = t !== "none" && e.active, [r] = e.shortcuts, a = fd(e); - return /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("button", { - ...a.trigger, - type: "button", - tabIndex: -1, - role: b0[t], - "aria-checked": t === "none" ? void 0 : e.active, - "aria-disabled": e.enabled ? void 0 : !0, - part: o ? "menu-item menu-item-active" : "menu-item", - onClick: () => { - e.enabled && n(); + closeUnsaved: { + title: "Close without saving?", + body: "“{name}” has changes that weren’t downloaded. They’ll be lost.", + cancel: "Cancel", + close: "Close without saving" }, - className: o ? v0 : Ra, - children: [ - e.icon && /* @__PURE__ */ i(q, { - name: e.icon, - size: 16, - accent: e.iconAccent, - className: `${o ? "text-accent" : "text-fg-muted"} ${Qt(e.icon)}` - }), - /* @__PURE__ */ i("span", { - className: "flex-1 truncate", - children: e.label - }), - r && /* @__PURE__ */ i("span", { - className: "text-fg-muted ms-4 text-xs [font-variant-emoji:text]", - children: wc(r) - }) - ] - }), a.element] }); -} -function md({ command: e, menuId: t, onRun: n }) { - const [o, r] = C(!1), a = X(dd), s = fd(e); - return /* @__PURE__ */ i("div", { - role: "none", - className: "relative", - children: [ - /* @__PURE__ */ i("button", { - ...s.trigger, - type: "button", - tabIndex: -1, - role: "menuitem", - "aria-haspopup": "menu", - "aria-expanded": o, - "aria-disabled": e.enabled ? void 0 : !0, - part: "menu-item", - onClick: (l) => { - e.enabled && (a ? a({ - menuId: t, - label: e.label, - opener: l.currentTarget, - onRun: n - }) : r((d) => !d)); - }, - className: `${Ra} ${o ? "bg-hover" : ""}`, - children: [ - e.icon && /* @__PURE__ */ i(q, { - name: e.icon, - size: 16, - accent: e.iconAccent, - className: `text-fg-muted ${Qt(e.icon)}` - }), - /* @__PURE__ */ i("span", { - className: "flex-1 truncate", - children: e.label - }), - /* @__PURE__ */ i(q, { - name: "chevronRight", - size: 16, - className: "text-fg-muted rtl:-scale-x-100" - }) - ] - }), - s.element, - o && /* @__PURE__ */ i(zn, { - onClose: () => r(!1), - children: /* @__PURE__ */ i(Da, { - menuId: t, - onRun: n - }) - }) - ] - }); -} -function w0({ commandId: e, choice: t, onRun: n }) { - const o = Ce(e); - return o.visible ? o.menu ? /* @__PURE__ */ i(md, { - command: o, - menuId: o.menu, - onRun: n - }) : /* @__PURE__ */ i(Fn, { - command: o, - choice: t, - onSelect: () => { - o.run(), n?.(); - } - }) : null; -} -function hd({ title: e, first: t, children: n }) { - const o = Je(); - return /* @__PURE__ */ i(D, { children: [!t && /* @__PURE__ */ i("div", { - role: "separator", - className: "bg-border-subtle my-1 h-px" - }), /* @__PURE__ */ i("div", { - role: "group", - "aria-labelledby": e ? o : void 0, - children: [e && /* @__PURE__ */ i("div", { - id: o, - className: "text-fg-muted px-2.5 pb-1 pt-1.5 text-[11px] font-semibold uppercase tracking-wide", - children: e - }), n] - })] }); -} -const y0 = (e, t) => e.length === t.length && e.every((n, o) => n === t[o]); -function Da({ menuId: e, onRun: t }) { - const n = Z(), o = Kb(e), r = ke(), a = ye() ?? void 0, s = ie(() => (o ?? []).map((d) => { - const c = d.items.map((p) => r.resolveCommand(p, a)).filter((p) => p?.visible === !0); - return c.length === 0 ? null : ud(c); - }), y0); - if (!o) return null; - const l = o.flatMap((d, c) => { - const p = s[c]; - return p ? [{ - section: d, - choice: p - }] : []; - }); - return l.length === 0 ? null : /* @__PURE__ */ i("div", { - className: "min-w-52 p-1", - children: l.map(({ section: d, choice: c }, p) => /* @__PURE__ */ i(hd, { - first: p === 0, - title: d.title ?? (d.titleKey ? n(d.titleKey) : void 0), - children: d.items.map((f) => /* @__PURE__ */ i(w0, { - commandId: f, - choice: c, - onRun: t - }, f)) - }, p)) - }); -} -function Go({ view: e, align: t }) { - const n = Z(); - if (!e.isOpen) return null; - const o = e.sections.map((r) => { - const a = r.rows.flatMap((s) => { - const l = e.resolve(s.command); - return l ? [{ - row: s, - command: l - }] : []; - }); - return { - section: r, - rows: a, - choice: r.role === "radio" ? "radio" : ud(a.map(({ command: s }) => s)) - }; - }); - return /* @__PURE__ */ i(zn, { - onClose: e.close, - align: t, - children: /* @__PURE__ */ i("div", { - className: "min-w-56 p-1", - children: o.map(({ section: r, rows: a, choice: s }, l) => /* @__PURE__ */ i(hd, { - first: l === 0, - title: r.labelKey ? n(r.labelKey) : void 0, - children: a.map(({ row: d, command: c }) => d.kind === "submenu" ? /* @__PURE__ */ i(md, { - command: c, - menuId: d.menu, - onRun: e.close - }, d.command) : /* @__PURE__ */ i(Fn, { - command: c, - choice: s, - onSelect: () => { - e.execute(d.command), e.close(); - } - }, d.command)) - }, l)) - }) - }); -} -const xs = "flex h-8 w-auto min-w-8 cursor-pointer items-center justify-center rounded-md p-[5px] transition-colors", _0 = "hover:bg-hover hover:ring hover:ring-accent", x0 = "border-none bg-selected text-accent shadow ring ring-accent", k0 = "cursor-not-allowed opacity-50 hover:bg-transparent hover:ring-0", S0 = "bg-accent text-on-accent hover:bg-accent-hover", M0 = "border-none bg-accent-active text-on-accent shadow", P0 = "cursor-not-allowed opacity-50 hover:bg-accent"; -function Re(e, t = !0, n) { - return n === "primary" ? `${xs} ${e ? M0 : S0} ${t ? "" : P0}` : `${xs} ${e ? x0 : _0} ${t ? "" : k0}`; -} -const Se = (e, t) => [ - "toolbar-button", - t === "primary" ? "toolbar-button-primary" : null, - e ? "toolbar-button-active" : null -].filter(Boolean).join(" "), Wo = (e) => `toolbar toolbar-${e}`, gd = (e) => e ? "mode-tab mode-tab-active" : "mode-tab", O0 = "flex h-8 w-auto min-w-8 cursor-pointer items-center justify-center rounded-none border-b-2 px-2 py-1 text-sm transition-colors hover:bg-transparent hover:border-b-fg-muted", T0 = "border-b-accent text-accent hover:border-b-accent", C0 = "border-b-transparent", bd = (e, t = !0) => `${O0} ${e ? T0 : C0} ${t ? "" : "cursor-not-allowed opacity-50"}`; -function Vt(e, t = !1) { - const [n] = e.shortcuts; - return { - label: e.label, - shortcut: n === void 0 ? null : wc(n), - reason: e.enabled ? null : e.disabledReason ?? null, - labelShown: t - }; -} -function Vo({ cmd: e, variant: t, run: n, emphasis: o }) { - const r = t === "label", a = ve(Vt(e, r || t === "icon+label" || !e.icon)), s = (l) => /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("button", { - ...a.trigger, - type: "button", - onClick: n, - disabled: !e.enabled, - "aria-pressed": e.pressable ? l : void 0, - "aria-haspopup": e.menu ? "menu" : void 0, - "aria-expanded": e.menu ? l : void 0, - "aria-label": e.label, - part: r ? gd(l) : Se(l, o), - className: r ? bd(l, e.enabled) : `${Re(l, e.enabled, o)} ${o === "primary" && t === "icon+label" ? "px-2.5" : ""}`, - children: r ? /* @__PURE__ */ i("span", { - className: "whitespace-nowrap px-1", - children: e.label - }) : t === "icon+label" ? /* @__PURE__ */ i("span", { - className: "flex items-center whitespace-nowrap text-sm", - children: [e.icon && /* @__PURE__ */ i(q, { - name: e.icon, - size: 20, - accent: e.iconAccent, - className: `me-1.5 shrink-0 ${Qt(e.icon)}` - }), /* @__PURE__ */ i("span", { children: e.label })] - }) : e.icon ? /* @__PURE__ */ i(q, { - name: e.icon, - size: 20, - accent: e.iconAccent, - className: Qt(e.icon) - }) : /* @__PURE__ */ i("span", { - className: "text-sm", - children: e.label - }) - }), a.element] }); - return e.menu ? /* @__PURE__ */ i(Uo, { - menuId: e.menu, - children: s - }) : s(e.active); -} -const gr = { - [fl]: "", - className: "contents" -}; -function E0() { - const e = Z(), t = ke(), n = Ce("zoom:in"), o = Ce("zoom:out"), r = Ce("menu:zoom"), a = ve(Vt(n)), s = ve(Vt(o)), l = ve(Vt(r)), d = Q(K), c = Q(lt), p = oe(lt, (h) => h.getZoomLevel(), 1), f = Math.round((p ?? 1) * 100), [u, m] = C(String(f)); - E(() => m(String(f)), [f]); - const b = (h) => { - h.preventDefault(); - const g = parseFloat(u); - !isNaN(g) && g > 0 && c?.zoomTo({ level: g / 100 }); - }; - return /* @__PURE__ */ i(Uo, { - menuId: "zoom", - className: "relative block", - children: (h) => /* @__PURE__ */ i("div", { - className: "bg-hover flex items-center rounded", - children: [ - /* @__PURE__ */ i("form", { - onSubmit: b, - className: "flex min-w-0 flex-nowrap items-center overflow-hidden whitespace-nowrap", - children: [/* @__PURE__ */ i("input", { - name: "zoom", - type: "text", - inputMode: "numeric", - pattern: "\\d*", - "aria-label": e("commands.zoom.level"), - className: "h-6 w-8 min-w-0 shrink border-0 bg-transparent p-0 text-end text-sm outline-none focus:outline-none", - value: u, - onChange: (g) => m(g.target.value.replace(/[^0-9]/g, "")), - onBlur: () => { - (!u || parseFloat(u) <= 0) && m(String(f)); - } - }), /* @__PURE__ */ i("span", { - className: "shrink-0 text-sm", - children: "%" - })] - }), - /* @__PURE__ */ i("span", { - ...gr, - children: [/* @__PURE__ */ i("button", { - ...l.trigger, - type: "button", - "aria-haspopup": "menu", - "aria-expanded": h, - "aria-label": r.label, - part: Se(!1), - className: Re(!1), - onClick: () => d?.toggleMenu("zoom"), - children: /* @__PURE__ */ i(q, { - name: "chevronDown", - size: 20 - }) - }), l.element] - }), - /* @__PURE__ */ i("span", { - ...gr, - children: [/* @__PURE__ */ i("button", { - ...s.trigger, - type: "button", - "aria-label": o.label, - disabled: !o.enabled, - part: Se(!1), - className: Re(!1, o.enabled), - onClick: () => t.execute("zoom:out"), - children: /* @__PURE__ */ i(q, { - name: "zoomOut", - size: 20 - }) - }), s.element] - }), - /* @__PURE__ */ i("span", { - ...gr, - children: [/* @__PURE__ */ i("button", { - ...a.trigger, - type: "button", - "aria-label": n.label, - disabled: !n.enabled, - part: Se(!1), - className: Re(!1, n.enabled), - onClick: () => t.execute("zoom:in"), - children: /* @__PURE__ */ i(q, { - name: "zoomIn", - size: 20 - }) - }), a.element] - }) - ] - }) - }); -} -function A0() { - const e = Q(K), t = Ce("menu:zoom"), n = ve(Vt(t)); - return /* @__PURE__ */ i(Uo, { - menuId: "zoom", - children: (o) => /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("button", { - ...n.trigger, - type: "button", - "aria-label": t.label, - "aria-haspopup": "menu", - "aria-expanded": o, - part: Se(o), - className: Re(o), - onClick: () => e?.toggleMenu("zoom"), - children: /* @__PURE__ */ i(q, { - name: "zoomIn", - size: 20 - }) - }), n.element] }) - }); -} -function N0({ view: e }) { - const [t, n] = C(!1), o = e.commands.some((r) => r.active); - return /* @__PURE__ */ i("span", { - className: "relative inline-flex", - children: [/* @__PURE__ */ i("button", { - type: "button", - onClick: () => n((r) => !r), - "aria-haspopup": "menu", - "aria-expanded": t, - part: e.id === "modes" ? gd(o) : Se(t), - className: bd(o), - children: /* @__PURE__ */ i(q, { - name: "chevronDown", - size: 18 - }) - }), /* @__PURE__ */ i(Go, { view: Pn(e, t, () => n(!1)) })] - }); -} -function I0({ view: e }) { - const [t, n] = C(!1), o = e.commands.find((a) => a.active) ?? e.commands[0], r = !!(o?.active && o.id !== ol); - return /* @__PURE__ */ i("div", { - style: { width: 100 }, - className: "relative", - children: [/* @__PURE__ */ i("button", { - type: "button", - onClick: () => n((a) => !a), - "aria-haspopup": "menu", - "aria-expanded": t, - part: Se(t), - className: "bg-surface hover:bg-hover flex w-full cursor-pointer appearance-none items-center rounded-md py-1.5 pe-2 ps-3 text-[13px] transition-colors", - children: [/* @__PURE__ */ i("span", { - className: `min-w-0 flex-1 truncate text-start ${r ? "text-accent" : "text-fg"}`, - children: o?.label - }), /* @__PURE__ */ i(q, { - name: "chevronDown", - size: 16, - className: r ? "text-accent" : "text-fg-secondary" - })] - }), /* @__PURE__ */ i(Go, { view: Pn(e, t, () => n(!1)) })] - }); -} -function L0({ view: e }) { - const t = Z(), [n, o] = C(!1), r = e.commands.find((l) => l.active) ?? e.commands[0], a = e.labelKey ? t(e.labelKey) : r?.label, s = ve(a ? { - label: a, - labelShown: !r?.icon - } : null); - return /* @__PURE__ */ i("span", { - className: "relative inline-flex", - children: [ - /* @__PURE__ */ i("button", { - ...s.trigger, - type: "button", - onClick: () => o((l) => !l), - "aria-haspopup": "menu", - "aria-expanded": n, - "aria-label": a, - part: Se(n), - className: Re(n), - children: [r?.icon ? /* @__PURE__ */ i(q, { - name: r.icon, - size: 20, - accent: r.iconAccent, - className: Qt(r.icon) - }) : /* @__PURE__ */ i("span", { - className: "whitespace-nowrap px-1 text-sm", - children: a - }), /* @__PURE__ */ i(q, { - name: "chevronDown", - size: 14, - className: "text-fg-secondary" - })] - }), - s.element, - /* @__PURE__ */ i(Go, { view: Pn(e, n, () => o(!1)) }) - ] - }); -} -function R0({ view: e }) { - return /* @__PURE__ */ i(Go, { - view: e, - align: "end" - }); -} -function D0({ isOpen: e, toggle: t }) { - const n = Z()("demo.more"), o = ve({ label: n }); - return /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("button", { - ...o.trigger, - type: "button", - onClick: t, - "aria-haspopup": "menu", - "aria-expanded": e, - "aria-label": n, - part: Se(e), - className: Re(e), - children: /* @__PURE__ */ i(q, { - name: "dots", - size: 20 - }) - }), o.element] }); -} -const vd = (e) => [ - ...e.sections.start ?? [], - ...e.sections.center ?? [], - ...e.sections.end ?? [] -].flatMap((t) => t.items); -function $0(e) { - return vd(e).filter((t) => typeof t == "object" && "slot" in t); -} -function wd(e) { - return new Set(vd(e).flatMap((t) => typeof t == "object" && "command" in t && t.emphasis === "primary" ? [t.command] : [])); -} -function z0({ commandId: e }) { - const t = Ce(e); - return t.visible ? /* @__PURE__ */ i(Vo, { - cmd: t, - variant: "icon", - run: () => void t.run() - }) : null; -} -function $a({ bar: e, orientation: t = "horizontal", gap: n = 8, className: o }) { - const r = t === "vertical", a = H(() => wd(e), [e]), s = { - "measurement-scale": () => /* @__PURE__ */ i(Hv, {}), - zoom: (l) => l === "button" || r ? /* @__PURE__ */ i(A0, {}) : /* @__PURE__ */ i(E0, {}), - "quick-stamps": () => /* @__PURE__ */ i(Xv, {}), - "page-number": () => /* @__PURE__ */ i(Yv, {}), - "view-only": (l) => /* @__PURE__ */ i(t0, { compact: l === "icon" || r }), - "outline-filter": (l) => /* @__PURE__ */ i(Wv, { variant: l }), - "attachments-count": () => /* @__PURE__ */ i(jv, {}) - }; - return /* @__PURE__ */ i(Iv, { - bar: e, - orientation: t, - gap: n, - separatorWidth: 1, - className: o, - renderCommand: (l, d, c) => /* @__PURE__ */ i(Vo, { - cmd: l, - variant: d, - run: c, - emphasis: a.has(l.id) ? "primary" : void 0 - }), - renderCustom: { - ...Object.fromEntries($0(e).filter((l) => !Object.prototype.hasOwnProperty.call(s, l.slot)).map((l) => [l.slot, (d, c) => c.layer === "measure" ? null : /* @__PURE__ */ i(l0, { - id: l.slot, - variant: l.variants ? d : null, - orientation: t, - grow: l.grow === !0, - measure: c.measure, - children: l.terminal ? /* @__PURE__ */ i(z0, { commandId: l.terminal }) : null - })])), - ...s - }, - renderCollapsed: (l) => l.id === "modes" ? /* @__PURE__ */ i(I0, { view: l }) : l.collapse === "menu" ? /* @__PURE__ */ i(L0, { view: l }) : void 0, - renderGroupTrigger: (l) => /* @__PURE__ */ i(N0, { view: l }), - renderSeparator: () => /* @__PURE__ */ i("span", { className: `bg-border self-center ${r ? "h-px w-6" : "h-6 w-px"}` }), - renderOverflowTrigger: (l, d) => /* @__PURE__ */ i(D0, { - isOpen: l, - toggle: d - }), - renderOverflowMenu: (l) => /* @__PURE__ */ i(R0, { view: l }) - }); -} -const F0 = [ - "accent", - "background", - "surface", - "surface-raised", - "text", - "text-muted", - "border", - "hover", - "canvas", - "page-background", - "page-shadow", - "tooltip", - "tooltip-text", - "radius", - "font" -], yd = (e) => typeof e == "string" ? { preference: e } : e ?? {}, B0 = (e) => F0.includes(e); -function K0(e) { - return Object.entries(e).filter(([t, n]) => n === void 0 ? !1 : B0(t) ? typeof n != "string" || /[{};]/.test(n) ? (console.warn(`[embedpdf] theme: ignoring the invalid value of "${t}"`), !1) : !0 : (console.warn(`[embedpdf] theme: "${t}" isn't a token, ignored`), !1)).map(([t, n]) => `--epdf-${t}:var(--embedpdf-host-${t},${n});`).join(""); -} -function br(e, t) { - const n = t ? K0(t) : ""; - return n ? `${e}{${n}}` : ""; -} -function H0(e, t) { - const { accent: n, tokens: o, light: r, dark: a } = yd(e); - return br(t, { - ...n === void 0 ? null : { accent: n }, - ...o - }) + br(`${t}:not(.dark)`, r) + br(`${t}.dark`, a); -} -const _d = be(null), xd = "(prefers-color-scheme: dark)", j0 = () => typeof window < "u" && window.matchMedia?.(xd).matches ? "dark" : "light"; -function U0({ children: e, preference: t = "system", target: n }) { - const [o, r] = C(j0); - E(() => { - if (t !== "system" || typeof window > "u" || !window.matchMedia) return; - const l = window.matchMedia(xd), d = () => r(l.matches ? "dark" : "light"); - return d(), l.addEventListener("change", d), () => l.removeEventListener("change", d); - }, [t]); - const a = t === "system" ? o : t; - R(() => { - (n ?? document.documentElement).classList.toggle("dark", a === "dark"); - }, [a, n]); - const s = H(() => ({ mode: a }), [a]); - return /* @__PURE__ */ i(_d.Provider, { - value: s, - children: e - }); -} -function V_() { - const e = X(_d); - if (!e) throw new Error("useTheme must be used within "); - return e; -} -function za({ labelledBy: e, onClose: t, className: n, children: o }) { - const r = k(null), a = k(null), s = k(t); - return s.current = t, R(() => { - const l = r.current, d = a.current; - if (!l || !d) return; - const c = Fc(l), p = Ho(d, { onEscape: () => s.current() }); - return () => { - p.release(), c(); - }; - }, []), /* @__PURE__ */ i("div", { - ref: r, - ...Ta, - "data-epdf-layer": "", - className: `${zc} place-items-center p-4 open:grid`, - style: { - position: "fixed", - inset: "auto", - maxWidth: "none", - maxHeight: "none" - }, - children: [/* @__PURE__ */ i("div", { - "aria-hidden": "true", - className: `absolute inset-0 ${Ea}` - }), /* @__PURE__ */ i("div", { - ref: a, - role: "dialog", - "aria-modal": "true", - "aria-labelledby": e, - className: `relative max-h-full max-w-full overflow-y-auto ${n}`, - children: o - })] - }); -} -function kd(e) { - let t = null; - return () => { - if (!t) { - const n = e(); - n.catch(() => { - t === n && (t = null); - }), t = n; - } - return t; - }; -} -const G0 = nm.map((e) => ({ - key: e.key, - label: e.label, - bytes: kd(() => om(e.key)) -})), W0 = (e) => async () => { - if (e.data) return new Uint8Array(e.data); - if (!e.url) throw new Error(`[embedpdf] signature font "${e.key}" has no url or data`); - const t = await fetch(e.url); - if (!t.ok) throw new Error(`${e.url}: HTTP ${t.status}`); - return new Uint8Array(await t.arrayBuffer()); -}, ks = /* @__PURE__ */ new WeakMap(); -function V0(e) { - if (!e) return G0; - let t = ks.get(e); - return t || (t = e.map((n) => ({ - key: n.key, - label: n.label, - bytes: kd(W0(n)) - })), ks.set(e, t)), t; -} -const q0 = (e) => V0(e).map((t) => ({ - key: t.key, - load: t.bytes -})), vr = /* @__PURE__ */ new WeakMap(); -function q_(e) { - let t = vr.get(e); - return t || (t = (async () => { - if (!globalThis.crypto?.subtle) return null; - const n = await e.bytes(), o = new Uint8Array(await crypto.subtle.digest("SHA-256", n)), r = Array.from(o, (a) => a.toString(16).padStart(2, "0")).join(""); - return { - hash: r, - family: tm(r), - weight: 400, - style: "normal", - load: async () => n - }; - })(), vr.set(e, t), t.catch(() => vr.delete(e))), t; -} -function Y0(e) { - const t = Q(wl), n = Q(gl), o = k(e); - o.current = e, E(() => { - if (!t) return; - const r = Qp({ - overrides: () => o.current, - goToPage: (a) => n?.goToPage(a) - }); - return t.setUiAdapter(r); - }, [t, n]); -} -function X0({ onHitClick: e }) { - const t = $e(), n = e1(t.ref), o = Z0((u) => u.activeHit), r = J0((u) => u.highlight), [a] = C(tf); - if (n.length === 0) return null; - const s = We("search-highlight", r.color), l = We("search-highlight-active", r.activeColor), d = We( - "search-blend-mode", - r.blendMode - ), c = e ? { pointerEvents: "auto", cursor: "pointer" } : null, p = (u) => e && { - onPointerDown: (m) => a.press(m), - onClick: (m) => { - a.isClick(m) && e(u); - } - }, f = ef(n, { - active: o, - page: t.transform, - color: s, - activeColor: l - }); - return /* @__PURE__ */ i("div", { style: { position: "absolute", inset: 0, pointerEvents: "none" }, children: f.map( - (u) => u.box ? /* @__PURE__ */ i( - "div", - { - ...p(u.hit), - style: { - position: "absolute", - left: u.box.left, - top: u.box.top, - width: u.box.width, - height: u.box.height, - backgroundColor: u.fill, - mixBlendMode: d, - borderRadius: 2, - ...c - } - }, - u.key - ) : /* @__PURE__ */ i( - "svg", - { - style: { - position: "absolute", - inset: 0, - width: "100%", - height: "100%", - overflow: "visible", - mixBlendMode: d - }, - children: /* @__PURE__ */ i( - "polygon", - { - points: u.points ?? void 0, - ...p(u.hit), - style: { fill: u.fill, ...c } - } - ) - }, - u.key - ) - ) }); -} -function Y_() { - return j(rn); -} -const Z0 = Ae(pm), J0 = zt(rn), Q0 = Object.freeze([]); -function e1(e) { - const t = Ze(); - return ie( - (n) => n.tryCapability(rn, t ?? void 0)?.listHits(e === void 0 ? void 0 : { page: e }) ?? Q0 - ); -} -const yn = cf("stage-thumbs"), Ss = { - code: "en", - name: "English", - translations: { - measurement: { - title: "Measurements", - distance: "Distance", - perimeter: "Perimeter", - area: "Area", - areaUnit: "Area unit", - resetLabel: "Reset label position", - calibrate: "Calibrate scale", - scale: "Scale", - custom: "Custom", - unavailable: "Unavailable", - instructions: "Drag to measure a distance, then click to place its dimension line. Click vertices for a perimeter or area and double-click to finish. Area boundaries must not cross; an unavailable preview cannot be finished. Press Escape to cancel. Drag the label itself to move it.", - sessionOnly: "This engine keeps page calibration for this session only.", - allPages: "Apply to all pages", - recalculate: "Recalculate existing measurements", - preset: "Scale preset", - choosePreset: "Choose a preset", - unit: "Unit", - precision: "Precision", - selection: "Selected measurements", - report: "{updated} updated · {skipped} skipped · {failed} failed", - knownLength: "Enter the real length represented by the line you just drew.", - length: "Known length", - apply: "Apply scale", - applying: "Applying…" + viewOnly: { + label: "View only", + turnedOff: "The tools that change this document are turned off", + notAllowed: "You can read this document, but not change it" }, - commands: { - zoom: { - in: "Zoom In", - out: "Zoom Out", - fitPage: "Fit to Page", - fitWidth: "Fit to Width", - automatic: "Automatic", - marquee: "Marquee Zoom", - menu: "Zoom", - level: "Zoom Level", - p50: "50%", - p100: "100%", - p150: "150%", - p200: "200%", - p400: "400%" - }, - pan: "Pan", - pointer: "Pointer", - comment: "Comment", + panel: { + close: "Close", + resize: "Resize {title}" + }, + menu: { back: "Back" }, + shortcuts: { + document: "Document", + viewing: "Viewing", + editing: "Editing", + other: "Other" + }, + goToPage: { go: "Go" }, + print: { + title: "Print", + pages: "Pages", + allPages: "All pages", + currentPage: "Current page", + range: "Custom", + rangeLabel: "Pages to print", + rangePlaceholder: "e.g. 1-3, 5", + rangeInvalid: "Use page numbers from 1 to {total}, such as 1-3, 5", + annotations: "Print annotations", + preparing: "Preparing…", + preparingPage: "Preparing page {page} of {total}…", + ready: "Ready to print.", + images: "Pages print as images at {dpi} DPI.", + lowResolution: "This document allows only low-resolution printing ({dpi} DPI).", + failed: "The printout couldn’t be prepared.", + cancel: "Cancel", + print: "Print" + }, + panels: { + thumbnails: "Thumbnails", + outline: "Outline", + attachments: "Attachments", + search: "Search", + comments: "Comments", style: "Style", - menu: "Menu", - viewControls: "View Controls", - open: "Open", - download: "Download", - print: "Print", - fullscreen: "Full Screen", - spread: { - group: "Page Layout", - none: "Single Page", - odd: "Two Page", - even: "Cover Page" - }, - scroll: { - group: "Scrolling", - vertical: "Vertical", - horizontal: "Horizontal", - paged: "Page by page" - }, - rotate: { - group: "Rotate", - clockwise: "Rotate Clockwise", - counterclockwise: "Rotate Counter-Clockwise" - }, - mode: { - measure: "Measure", - group: "Mode", - view: "View", - annotate: "Annotate", - shapes: "Shapes", - insert: "Insert", - form: "Form", - redact: "Redact" - }, - annotate: { - cancelCreation: "Cancel drawing", - highlight: "Highlight", - strikeout: "Strikeout", + stamps: "Stamps", + signatures: "Signatures", + redaction: "Redactions", + measurement: "Measurements", + formDesign: "Form design", + switch: "Switch panel" + }, + annotation: { + comment: "Comment", + highlight: "Highlight", + underline: "Underline", + squiggly: "Squiggly", + strikeout: "Strikethrough", + square: "Square", + circle: "Circle", + line: "Line", + polygon: "Polygon", + polyline: "Polyline", + ink: "Ink", + freeText: "Text", + stamp: "Stamp", + caret: "Caret", + redact: "Redact", + fileAttachment: "Attachment", + style: { + kind: "Type", + opacity: "Opacity", + stroke: "Stroke", + fill: "Fill", + color: "Color", + strokeWidth: "Stroke width", + border: "Border", + borderStyle: "Border style", + borderColor: "Border color", + borderWidth: "Border width", + background: "Background", + outline: "Outline", + lineEndings: "Line endings", + blendMode: "Blend mode", + font: "Font", + fontSize: "Font size", + textColor: "Text color", + bold: "Bold", + italic: "Italic", underline: "Underline", - squiggly: "Squiggly", - ink: "Draw", - inkHighlight: "Ink Highlighter", - text: "Text", - insertText: "Insert Text", - replaceText: "Replace Text", - callout: "Callout", - note: "Comment", - link: "Link", - gotoLink: "Go to link", - saveFile: "Save file", - removeLink: "Remove link", - delete: "Delete", - group: "Group", - ungroup: "Ungroup", - stampFromSelection: "Make stamp", - strip: "Annotation actions" + align: "Align", + alignment: "Alignment", + label: "Label", + labelFont: "Label font", + labelSize: "Label size", + labelColor: "Label color", + icon: "Icon", + link: "Link" }, - selection: { - copy: "Copy", - strip: "Text selection actions" + flags: { + print: "Print", + hidden: "Hidden", + noView: "No view", + toggleNoView: "Toggle no view", + readOnly: "Read only", + locked: "Locked", + lockedContents: "Locked contents", + noZoom: "No zoom", + noRotate: "No rotate", + invisible: "Invisible" }, - snapshot: { - tool: "Take a Snapshot", - copy: "Copy", - save: "Save Image", - clear: "Clear Snapshot", - strip: "Snapshot actions" + borderStyles: { + solid: "Solid", + dashed: "Dashed", + cloudy: "Cloudy" }, - shapes: { - rectangle: "Rectangle", + lineEndings: { + none: "None", + square: "Square", circle: "Circle", - line: "Line", - arrow: "Arrow", - polygon: "Polygon", - polyline: "Polyline" + diamond: "Diamond", + openArrow: "Open arrow", + closedArrow: "Closed arrow", + butt: "Butt", + reverseOpenArrow: "Reverse open arrow", + reverseClosedArrow: "Reverse closed arrow", + slash: "Slash" }, - insert: { - stamp: "Rubber Stamp", - attachment: "Attach File", - signature: "Signature", - image: "Image" + blendModes: { + normal: "Normal", + multiply: "Multiply", + screen: "Screen", + overlay: "Overlay", + darken: "Darken", + lighten: "Lighten", + colorDodge: "Color dodge", + colorBurn: "Color burn", + hardLight: "Hard light", + softLight: "Soft light", + difference: "Difference", + exclusion: "Exclusion", + hue: "Hue", + saturation: "Saturation", + color: "Color", + luminosity: "Luminosity" }, - form: { - textfield: "Text Field", - checkbox: "Checkbox", - radio: "Radio Button", - select: "Dropdown", - listbox: "List Box", - button: "Button", - signature: "Signature Field", - design: "Form design" + fonts: { + courier: "Courier", + courierBold: "Courier Bold", + courierBoldOblique: "Courier Bold Oblique", + courierOblique: "Courier Oblique", + helvetica: "Helvetica", + helveticaBold: "Helvetica Bold", + helveticaBoldOblique: "Helvetica Bold Oblique", + helveticaOblique: "Helvetica Oblique", + timesRoman: "Times Roman", + timesBold: "Times Bold", + timesBoldItalic: "Times Bold Italic", + timesItalic: "Times Italic", + symbol: "Symbol", + zapfDingbats: "Zapf Dingbats" }, - redact: { - mark: "Mark for Redaction", - applyAll: "Apply Redactions", - apply: { - one: "Apply Redaction", - other: "Apply {count} Redactions" - }, - clearAll: "Clear Marks" + alignments: { + left: "Left", + center: "Center", + right: "Right" }, - undo: "Undo", - redo: "Redo", - page: { - next: "Next Page", - previous: "Previous Page", - first: "First Page", - last: "Last Page", - goTo: "Go to Page" + noteIcons: { + comment: "Comment", + key: "Key", + note: "Note", + help: "Help", + newParagraph: "New paragraph", + paragraph: "Paragraph", + insert: "Insert" }, - find: "Find", - shortcuts: "Keyboard Shortcuts", - notAllowed: { - default: "{label} isn't allowed", - "annotations-create": "Adding annotations isn't allowed", - "doc-annotate-modify": "Changing annotations isn't allowed", - "doc-annotate-read": "Viewing annotations isn't allowed", - "doc-attachments-modify": "Adding files isn’t allowed", - "doc-content-copy": "Taking snapshots isn't allowed", - "doc-download": "Downloading isn't allowed", - "doc-forms-modify": "Editing form fields isn't allowed", - "doc-outline-modify": "Changing the outline isn’t allowed", - "doc-pages-assemble": "Changing pages isn’t allowed", - "doc-print": "Printing isn't allowed", - "doc-render-thumbnail": "Showing thumbnails isn't allowed", - "doc-text-copy": "Copying isn't allowed", - "doc-text-search": "Searching isn't allowed" + attachmentIcons: { + pushPin: "Push pin", + paperclip: "Paperclip", + graph: "Graph", + tag: "Tag" + } + }, + form: { settings: { + name: "Name", + tooltip: "Tooltip", + required: "Required", + readOnly: "Read-only", + noExport: "Don't export", + defaultValue: "Default value", + maxLength: "Maximum length", + multiline: "Several lines", + password: "Password", + comb: "One character per box", + radiosInUnison: "Buttons with one value turn on together", + keepOneOn: "Keep one on", + options: "Options", + allowTyping: "Allow typing", + multiSelect: "Several choices" + } }, + thumbnails: { page: "Page {page}" }, + formDesign: { + empty: "No fields yet. Pick a field tool to add one.", + page: "Page {page}", + allFields: "All fields", + buttons: "Buttons", + boxes: "Boxes", + box: "Box {number}", + addButton: "Add a button", + addBox: "Add a box", + duplicateGroup: "Duplicate group" + }, + stylePanel: { + mixed: "(mixed)", + transparent: "Transparent", + lineStart: "Start", + lineEnd: "End", + empty: "Pick a draw tool or select an annotation to edit its style.", + selected: { + one: "{count} selected", + other: "{count} selected" + }, + toolDefaults: "{tool} defaults", + defaults: "Defaults", + fontGroups: { + document: "In this document", + yours: "Your fonts", + server: "Server fonts", + standard: "Standard" + }, + fontStyles: { + bold: "Bold", + italic: "Italic", + boldItalic: "Bold Italic" + }, + fontRestrictions: { + notEmbedded: "The document only names it", + subset: "The document holds only the characters it uses", + previewAndPrint: "Its licence allows viewing and printing only", + unsupportedFormat: "New text can’t be written in this kind of font", + noUnicodeMap: "It doesn’t say which characters it draws", + other: "New text can’t be written in it" + } + }, + attachments: { + loading: "Loading attachments…", + failed: "The attachments couldn’t be read.", + empty: "This document has no attached files", + drop: "Drop files to attach them", + dropHint: "Or drop files here", + adding: "Adding…", + onPage: "Page {page}", + count: { + one: "{count} file", + other: "{count} files" + } + }, + outline: { + filter: "Filter outline", + loading: "Loading outline…", + failed: "The outline couldn’t be read.", + empty: "This document has no outline", + noMatches: "No items match", + incomplete: "Part of the outline couldn’t be read.", + untitled: "Untitled", + properties: { + title: "Item properties", + name: "Title", + color: "Color", + noColor: "None", + customColor: "Custom color", + bold: "Bold", + italic: "Italic", + open: "Expanded when the document opens", + target: "Destination", + targetNone: "None", + targetView: "Current view", + targetNamed: "Page action", + targetKept: "Kept as it is", + keptNote: "This item runs a script or opens another file. It can’t be changed here.", + fit: "Fit", + fitKept: "As it is", + save: "Save", + cancel: "Cancel" + } + }, + linkEditor: { + toUrl: "Link to a URL", + url: "URL", + toPage: "Link to a page", + page: "Page", + urlPlaceholder: "https://…", + pagePlaceholder: "Page number", + add: "Add link", + update: "Update link" + }, + pageNumber: { + page: "{current} / {total}", + pages: "{first}–{last} / {total}", + goToPage: "Go to page" + }, + comments: { + forbidden: "You don’t have access to comments on this document.", + loading: "Loading comments…", + error: "Comments failed to load.", + retry: "Retry", + empty: "No comments yet. Use the note tool to start a thread.", + emptyReadOnly: "No comments on this document.", + anonymous: "Guest", + page: "Page {page}", + count: { + one: "{count} comment", + other: "{count} comments" }, - commentThread: { more: "More options" }, - attachment: { - add: "Add file", - save: "Save", - goTo: "Go to page", - delete: "Delete", - more: "More options" + reply: "Reply", + replyPlaceholder: "Reply…", + addPlaceholder: "Add a comment…", + delete: "Delete comment", + deleteThread: "Delete thread", + edit: "Edit comment", + status: "Status", + statusNone: "No status", + statusAccepted: "Accepted", + statusRejected: "Rejected", + statusCancelled: "Cancelled", + statusCompleted: "Completed", + markCompleted: "Mark as completed" + }, + demo: { + starting: "Starting viewer…", + opening: "Opening document…", + pageLoading: "Loading page {page}…", + pageError: "This page couldn’t load.", + pageForbidden: "You don’t have access to this page.", + more: "More", + searchPlaceholder: "Search document…", + searchCaseSensitive: "Case sensitive", + searchWholeWord: "Whole word", + searchRegex: "Regular expression", + searchSearching: "Searching…", + searchResults: { + one: "{count} result found", + other: "{count} results found" }, - outline: { - add: "Add item", - addChild: "Add child item", - rename: "Rename", - setDestination: "Set destination to current view", - properties: "Properties…", - delete: "Delete", - expandAll: "Expand all", - collapseAll: "Collapse all", - more: "More options" + searchNoResults: "No results", + searchPrevious: "Previous result", + searchNext: "Next result", + searchPage: "Page {page}", + searchHitOf: "{current} of {total}", + searchResult: "Result {index}", + searchOptions: "Search options", + empty: "Nothing here yet in this demo panel.", + cancel: "Cancel", + pageBadge: "p. {page}", + redactionEmpty: "No pending redactions. Use the Redact tool to mark text or areas.", + redactionArea: "Area mark", + redactionText: "Text mark", + redactionRemove: "Remove mark", + redactConfirmTitle: { + one: "Apply redaction?", + other: "Apply redactions?" }, - pages: { - rotateClockwise: "Rotate Page Clockwise", - rotateCounterclockwise: "Rotate Page Counter-Clockwise", - delete: "Delete Pages", - duplicate: "Duplicate Pages", - insertBlank: "Insert Blank Page", - insertFile: "Insert from File…", - extract: "Extract Pages", - selectAll: "Select All Pages", - more: "Page Options" + redactConfirmBody: { + one: "Permanently remove the content under {count} redaction mark. This cannot be undone.", + other: "Permanently remove the content under {count} redaction marks. This cannot be undone." }, - turnedOff: "{label} isn't available", - locked: { default: "{label} can't be changed in this document" } - }, - passwordPrompt: { - title: "Password required", - required: "This document is password protected. Enter the password to open it.", - incorrect: "The password was incorrect. Please try again.", - incorrectWarning: "Incorrect password", - label: "Password", - placeholder: "Enter password", - cancel: "Cancel", - open: "Open", - opening: "Opening…" - }, - grantPrompt: { - passphraseTitle: "Passphrase required", - passphraseRequired: "This link is protected. Enter the passphrase you were given to open the document.", - passphraseIncorrect: "That passphrase didn’t work. Please try again.", - passphraseLabel: "Passphrase", - openTitle: "Before you open this document", - changeTitle: "Before you make changes", - asks: "The owner of this document asks who you are.", - shownOnChanges: "Your name is shown on what you add.", - final: "You can’t change your answers later.", - privacy: "Privacy notice", - optional: "optional", - invalid: "Check this answer.", - invalidEmail: "Enter a valid email address.", - fields: { - displayName: "Name", - email: "Email", - title: "Job title", - organization: "Organization", - organizationalUnit: "Department" + redactConfirmCollateral: { + one: "{count} other annotation will also be removed.", + other: "{count} other annotations will also be removed." }, - open: "Open", - cancel: "Cancel", - continue: "Continue", - saving: "Saving…", - notNow: "Not now" - }, - dropToOpen: { label: "Drop a PDF to open it" }, - documentError: { - title: "Couldn’t open document", - unknown: "The document could not be opened.", - notFound: "The file wasn’t found.", - notAllowed: "You don’t have access to this document.", - damaged: "This file isn’t a PDF, or it’s damaged.", - unsupported: "This viewer can’t open this kind of document.", - retry: "Try again", - close: "Close document" + redactApply: "Apply", + redactApplying: "Applying…", + formatLabel: "Format", + fieldSettingsTitle: "Field", + fieldOptionLabel: "Label", + fieldOptionValue: "Value", + fieldOptionAdd: "Add option", + fieldOptionRemove: "Remove option", + fieldNone: "None", + redactLabelTitle: "Redaction label", + redactLabelPlaceholder: "e.g. REDACTED", + redactLabelRepeat: "Repeat label across region", + stampsAll: "All stamps", + stampsLoading: "Loading stamps…", + stampsEmpty: "No stamps yet. Import a PDF to turn each of its pages into a stamp.", + stampsRemoveStamp: "Remove stamp", + stampsArmedHint: "Click a page to place the stamp.", + stampsImport: "Import PDF…", + stampsImporting: "Importing…", + stampsImportHint: "Import a PDF as a stamp library — each page becomes one stamp.", + stampsRemoveLibrary: "Remove library", + stampsExportLibrary: "Export library as PDF", + stampsCustomLibrary: "My stamps", + stampsCustomLabel: "Custom stamp", + stampsError: "The built-in stamps could not be loaded.", + stampsArmError: "That stamp could not be armed.", + stampsImportError: "That PDF could not be imported as a stamp library.", + quickStampsLabel: "Quick stamps", + signaturesEmpty: "No signatures yet. Create one to sign with.", + signaturesNew: "New signature…", + signaturesArmedHint: "Click a signature field to sign it, or anywhere on a page to place the mark.", + signaturesTargetHint: "Pick a mark for the selected field.", + signaturesInDocument: "In this document", + signaturesNone: "This document has no signature fields.", + signaturesValidate: "Validate", + signaturesValidating: "Validating…", + signaturesSigned: "Signed", + signaturesUnsigned: "Unsigned", + signaturesRename: "Rename", + signaturesRemove: "Remove", + signaturesExport: "Export as PDF", + signaturesAddInitials: "Add initials", + signatureLabel: "Signature", + initialsLabel: "Initials", + makerTitle: "New signature", + makerName: "Name", + makerNamePlaceholder: "Your name", + makerDraw: "Draw", + makerType: "Type", + makerUpload: "Upload", + makerTypePlaceholder: "Type your name", + makerFont: "Font", + makerUploadHint: "Choose a PNG, JPEG, or one-page PDF", + makerClear: "Clear", + makerOptional: "(optional)", + makerSave: "Save", + makerSaving: "Saving…", + makerError: "The signature could not be saved.", + signTitle: "Sign this field", + signReason: "Reason", + signLocation: "Location", + signKind: "What may change afterwards", + signKindApproval: "Approval signature — form filling and more signatures stay valid", + signKindCertifyAnnotate: "Certify — allow comments, form filling and signatures", + signKindCertifyFill: "Certify — allow form filling and signatures only", + signKindCertifyLocked: "Certify — allow no changes", + signButton: "Sign", + signSigning: "Signing…", + signFill: "Place without signing", + signError: "The field could not be signed.", + inspectTitle: "Signature", + inspectSigner: "Signed by", + inspectReason: "Reason", + inspectLocation: "Location", + inspectTime: "Time", + inspectIntegrity: "Document", + inspectCryptography: "Signature", + inspectTrust: "Signer", + inspectChanges: "Changes since", + inspectDownload: "Download signed version", + verdictValid: "Valid", + verdictValidUntrusted: "Valid, signer not trusted", + verdictInvalid: "Invalid — modified after signing", + verdictWillInvalidate: "Valid, invalid once saved", + signaturesInvalidating: "This change will invalidate {field} when the document is saved. Undo it to keep the signature.", + verdictIndeterminate: "Could not be verified", + verdictUnchanged: "None", + verdictRestored: "Changed, then restored", + inspectLaterRevisions: "Revisions after signing", + verdictPermitted: "Permitted", + verdictForbidden: "Not permitted" + } + } +}, hs = { + de: () => import("./de-DAeMkxx6-Bxe1Z0it.js").then((e) => e.de), + fr: () => import("./fr-BgJ8dOAI-D1-gtQTu.js").then((e) => e.fr), + es: () => import("./es-BrwadaBk-BGCvUgEY.js").then((e) => e.es), + it: () => import("./it-BmmNdibU-CfnkmlJc.js").then((e) => e.it), + nl: () => import("./nl-DNuIdcyV-Dte7eubE.js").then((e) => e.nl), + pt: () => import("./pt-nD3P1M4h-BWUeQmPp.js").then((e) => e.pt), + pl: () => import("./pl-ZVxF5BV2-CbfU8VmS.js").then((e) => e.pl), + sv: () => import("./sv-CvLfpN-U-DJtc8253.js").then((e) => e.sv), + ja: () => import("./ja-DYL0fhQg-DqJ--L75.js").then((e) => e.ja), + "zh-CN": () => import("./zh-cn-C-XTtOHZ-sfngNd4o.js").then((e) => e.zhCN), + "zh-TW": () => import("./zh-tw-CO5cxPs5-C70V5LyG.js").then((e) => e.zhTW), + ko: () => import("./ko-D0EydnVj-gXBpgabc.js").then((e) => e.ko), + ar: () => import("./ar-C75qD9T8-Wu6Q7ZC4.js").then((e) => e.ar), + he: () => import("./he-DDOO6ydF-B5WmpXLy.js").then((e) => e.he) +}, Bc = () => typeof navigator < "u" ? navigator.languages ?? [] : [], gs = (e, t, n = "en") => zo(t, e !== "auto" ? [e] : Bc()) ?? n, tv = (e) => [...e !== "auto" ? [e] : [], ...Bc()]; +function nv(e) { + try { + return new Intl.Locale(e).region; + } catch { + return; + } +} +function ov(e, t, n) { + const o = n.find((r) => nv(r) !== void 0 && zo(t, [r]) === e); + try { + return Intl.getCanonicalLocales(o ?? e)[0]; + } catch { + return; + } +} +const rv = (e, t) => e === void 0 ? "en" : zo(t, [e]), Kr = (e) => typeof e == "object" && e !== null; +function Mo(e, t) { + const n = { ...e }; + for (const [o, r] of Object.entries(t)) { + const a = o.split("."); + let s = n; + for (let c = 0; c < a.length - 1; c++) { + const p = s[a[c]]; + s = s[a[c]] = Kr(p) ? { ...p } : {}; + } + const l = a[a.length - 1], d = s[l]; + s[l] = typeof r == "string" ? r : Mo(Kr(d) ? d : {}, r); + } + return n; +} +const Qn = (e, t) => t ? { + ...e, + translations: Mo(e.translations, t) +} : e, _r = (e) => typeof e == "function", av = (e) => Kr(e.default) ? e.default : e; +function iv(e) { + const t = e.filter((o) => !_r(o)).reduce((o, r) => Mo(o ?? {}, r), void 0); + return e.some(_r) ? { + words: t, + load: () => Promise.all(e.map((o) => _r(o) ? o().then(av) : Promise.resolve(o))).then((o) => o.reduce(Mo, {})) + } : { + words: t, + load: void 0 + }; +} +const sv = /* @__PURE__ */ new Set([ + "Adlm", + "Arab", + "Aran", + "Hebr", + "Mand", + "Mend", + "Nkoo", + "Rohg", + "Samr", + "Syrc", + "Thaa", + "Yezi" +]); +function lv(e) { + try { + const { script: t } = new Intl.Locale(e).maximize(); + return t !== void 0 && sv.has(t) ? "rtl" : "ltr"; + } catch { + return "ltr"; + } +} +function cv(e) { + try { + return new Intl.DisplayNames([e], { type: "language" }).of(e) ?? e; + } catch { + return e; + } +} +function dv(e = {}) { + const t = ["en", ...Object.keys(hs)], n = (d) => t.find((c) => c.toLowerCase() === d.toLowerCase()), o = /* @__PURE__ */ new Map(); + for (const [d, c] of Object.entries(e)) { + const p = n(d) ?? d; + o.set(p, [...o.get(p) ?? [], c]); + } + const r = new Map([...o].map(([d, c]) => [d, iv(c)])), a = r.get("en"), s = [Qn(ms, a?.words)], l = {}; + if (a?.load) { + const d = a.load; + l.en = () => d().then((c) => Qn(ms, c)); + } + for (const [d, c] of Object.entries(hs)) { + const p = r.get(d), f = p?.load, u = p?.words; + l[d] = f ? () => Promise.all([c(), f()]).then(([m, g]) => Qn(m, g)) : u ? () => c().then((m) => Qn(m, u)) : c; + } + for (const [d, { words: c, load: p }] of r) { + if (n(d) !== void 0) continue; + const f = { + code: d, + name: cv(d), + direction: lv(d) + }; + p ? l[d] = () => p().then((u) => ({ + ...f, + translations: u + })) : s.push({ + ...f, + translations: c ?? {} + }); + } + return { + locales: s, + loaders: l, + codes: [.../* @__PURE__ */ new Set([...t, ...o.keys()])] + }; +} +const Kc = be(void 0); +function uv({ locale: e, children: t }) { + const n = xo((a) => a.locale), o = xo((a) => a.locales), r = j(() => ov(n, o.map((a) => a.code), tv(e)), [ + n, + o, + e + ]); + return /* @__PURE__ */ i(Kc.Provider, { + value: r, + children: t + }); +} +function ox() { + return X(Kc); +} +const pv = { + top: !1, + right: !1, + bottom: !1, + left: !1 +}, eo = 1; +function jc(e, t) { + const n = e.right > 0 && e.left < t.width, o = e.bottom > 0 && e.top < t.height; + return { + top: n && e.top <= eo && e.bottom > 0, + right: o && e.right >= t.width - eo && e.left < t.width, + bottom: n && e.bottom >= t.height - eo && e.top < t.height, + left: o && e.left <= eo && e.right > 0 + }; +} +const fv = (e, t) => e.top === t.top && e.right === t.right && e.bottom === t.bottom && e.left === t.left, mv = { + top: "paddingTop", + right: "paddingRight", + bottom: "paddingBottom", + left: "paddingLeft" +}; +function Hc(e, t = [ + "top", + "right", + "bottom", + "left" +]) { + const n = {}; + for (const o of t) e[o] && (n[mv[o]] = `env(safe-area-inset-${o}, 0px)`); + return n; +} +function Uc(e) { + const { clientWidth: t, clientHeight: n } = e.ownerDocument.documentElement; + return { + width: t, + height: n + }; +} +const La = { popover: "manual" }, Gc = "text-fg m-0 overflow-clip border-0 bg-transparent", hv = "data-epdf-focus-root", jr = (e) => e.getRootNode().fullscreenElement === e; +function gv(e) { + for (let t = e; t; ) { + if (jr(t)) return !0; + t = t.parentElement ?? t.getRootNode().host ?? null; + } + return !1; +} +function bv(e, t) { + e.style.left = `${t.left}px`, e.style.top = `${t.top}px`, e.style.width = `${t.width}px`, e.style.height = `${t.height}px`; + const n = e.getBoundingClientRect(); + (Math.abs(n.left - t.left) > 0.5 || Math.abs(n.top - t.top) > 0.5) && (e.style.left = `${2 * t.left - n.left}px`, e.style.top = `${2 * t.top - n.top}px`); +} +function Wc(e, t) { + const n = e.parentElement?.closest("[data-embedpdf-root]") ?? null; + typeof e.showPopover == "function" && e.showPopover(); + let o = ""; + const r = () => { + const f = Uc(e), u = n?.getBoundingClientRect() ?? { + left: 0, + top: 0, + right: f.width, + bottom: f.height + }, m = Math.max(0, u.left), g = Math.max(0, u.top), h = { + left: m, + top: g, + width: Math.max(0, Math.min(f.width, u.right) - m), + height: Math.max(0, Math.min(f.height, u.bottom) - g) + }, b = `${h.left},${h.top},${h.width},${h.height},${f.width},${f.height}`; + b !== o && (o = b, bv(e, h), t?.(jc(u, f))); + }; + r(); + const a = new ResizeObserver(r); + n && a.observe(n); + const s = Do(r), l = e.ownerDocument, d = () => { + if (typeof e.showPopover != "function" || !e.matches(":popover-open")) return; + const f = kn(l); + e.hidePopover(), e.showPopover(), f && f !== kn(l) && f.focus({ preventScroll: !0 }); + }, c = () => { + n && gv(n) && d(); + }, p = (f) => { + f.newState === "open" && d(); + }; + return l.addEventListener("fullscreenchange", c), n?.addEventListener("toggle", p), () => { + l.removeEventListener("fullscreenchange", c), n?.removeEventListener("toggle", p), s(), a.disconnect(), typeof e.hidePopover == "function" && e.matches(":popover-open") && e.hidePopover(); + }; +} +function Vo(e, t) { + const n = e.ownerDocument, o = kn(n), r = (l) => { + l.key !== "Escape" || l.defaultPrevented || (l.preventDefault(), l.stopPropagation(), t.onEscape()); + }; + e.addEventListener("keydown", r); + let a = null; + t.trap === !1 ? qp(e, t.initialFocus) : a = Yp(e, { + initialFocus: t.initialFocus, + returnFocus: !1 + }); + const s = () => { + a?.(), a = null, e.removeEventListener("keydown", r); + }; + return { + standDown: s, + release: () => { + s(); + const l = kn(n), d = l === null || e.contains(l) || l.hasAttribute("data-epdf-focus-root"); + o?.isConnected && d && o.focus(); + } + }; +} +const Vc = be("top"), zn = Vc.Provider; +function Ia() { + return X(Vc); +} +function qc(e, t, n = "start", o = "above") { + return e === "start" || e === "end" ? `${e === "start" == (t === "ltr") ? "right" : "left"}-${n}` : `${e === "bottom" || e === "float-bottom" || e === "selection" && o === "above" ? "top" : "bottom"}-${n === "start" == (t === "ltr") ? "start" : "end"}`; +} +function Yc(e) { + return e === "ltr" ? "right-start" : "left-start"; +} +function vv(e, t, n = !1, o = "above") { + return (n ? Yc(t) : qc(e, t, "start", o)).split("-")[0]; +} +function Xc(e) { + return e === "ltr" ? { + open: "ArrowRight", + close: "ArrowLeft" + } : { + open: "ArrowLeft", + close: "ArrowRight" + }; +} +const Oo = (e) => { + const t = e.getBoundingClientRect(); + return { + x: t.left, + y: t.top, + width: t.width, + height: t.height + }; +}, Zc = (e) => e.closest("[data-placement]")?.getAttribute("data-placement")?.startsWith("bottom") ? "below" : "above"; +function Jc(e, t, n, o) { + const r = vl(e, "client"); + if (!r) return; + const { left: a, top: s } = Xp(t, n, o, { + size: { + width: e.offsetWidth, + height: e.offsetHeight }, - tabs: { - close: "Close {name}", - loading: "Loading", - untitled: "Document {id}" + view: r + }); + e.style.left = `${a}px`, e.style.top = `${s}px`; + const l = e.getBoundingClientRect(); + (Math.abs(l.left - a) > 0.5 || Math.abs(l.top - s) > 0.5) && (e.style.left = `${2 * a - l.left}px`, e.style.top = `${2 * s - l.top}px`); +} +let Kt = null, bs = Number.NEGATIVE_INFINITY; +const vs = (e) => e.pointerType === "touch"; +function wv(e, t, n) { + let o = null, r = !1, a = !1, s = !1, l = !1, d, c; + const p = { hide: () => h() }, f = () => { + clearTimeout(d), clearTimeout(c); + }, u = () => e.getAttribute("aria-expanded") === "true", m = () => Kt !== null || Date.now() - bs < 300, g = (O) => { + if (f(), !(o === O || o === "pointer")) { + if (o === null) { + if (t.canShow && !t.canShow()) return; + Kt !== p && Kt?.hide(), Kt = p, n.addEventListener("keydown", x, !0); + } + o = O, t.show(O); + } + }, h = () => { + f(), o !== null && (o = null, Kt === p && (Kt = null), bs = Date.now(), n.removeEventListener("keydown", x, !0), t.hide()); + }, b = () => { + clearTimeout(c), c = setTimeout(h, 100); + }, y = (O) => { + vs(O) || (r = !0, clearTimeout(c), !(l || u()) && (o !== null || m() ? g("pointer") : d = setTimeout(() => g("pointer"), 500))); + }, v = (O) => { + vs(O) || (r = !1, clearTimeout(d), !s && (l = !1, o !== null && !a && b())); + }, _ = () => { + e.matches(":focus-visible") && (s = !0, !l && !u() && g("focus")); + }, P = () => { + s = !1, !(r || a) && (l = !1, h()); + }, S = () => { + l = !0, h(); + }, x = (O) => { + O.key === "Escape" && (l = !0, h()); + }; + return e.addEventListener("pointerenter", y), e.addEventListener("pointerleave", v), e.addEventListener("focus", _), e.addEventListener("blur", P), e.addEventListener("pointerdown", S), { + enterTooltip() { + a = !0, clearTimeout(c); }, - closeUnsaved: { - title: "Close without saving?", - body: "“{name}” has changes that weren’t downloaded. They’ll be lost.", - cancel: "Cancel", - close: "Close without saving" + leaveTooltip() { + a = !1, !r && !s && b(); }, - viewOnly: { - label: "View only", - turnedOff: "The tools that change this document are turned off", - notAllowed: "You can read this document, but not change it" + detach() { + e.removeEventListener("pointerenter", y), e.removeEventListener("pointerleave", v), e.removeEventListener("focus", _), e.removeEventListener("blur", P), e.removeEventListener("pointerdown", S), h(); + } + }; +} +const yv = 6, _v = '[inert], [aria-hidden="true"]', xv = "bg-tooltip text-tooltip-fg m-0 max-w-64 overflow-visible rounded-sm border border-transparent px-2 py-1 text-start text-xs font-normal leading-4 tracking-normal normal-case whitespace-normal shadow-md transition-opacity duration-100 starting:opacity-0 motion-reduce:transition-none", ws = (e) => e.label !== "" && (!e.labelShown || !!e.shortcut || !!e.reason), kv = (e) => e !== null && (e.scrollWidth > e.clientWidth || e.scrollHeight > e.clientHeight); +function we(e, t = {}) { + const [n, o] = C(null), [r, a] = C(null), s = k(null), l = Ia(), d = Je(), c = t.clipped !== void 0 && e !== null && !ws(e), p = e !== null && (ws(e) || c && e.label !== ""), f = k(t.clipped); + f.current = t.clipped, R(() => { + if (!n || !p || n.closest(_v)) return; + const g = n.ownerDocument.defaultView ?? n.ownerDocument, h = wv(n, { + show: a, + hide: () => a(null), + canShow: c ? () => kv(f.current?.(n) ?? null) : void 0 + }, g); + return s.current = h, () => { + s.current = null, h.detach(); + }; + }, [ + n, + p, + c + ]); + const u = p && e !== null && r !== null && n !== null, m = u && (e.labelShown === !0 || t.clipped !== void 0 || n.getAttribute("aria-label") === e.label); + return { + trigger: { + ref: o, + "aria-describedby": u && (!m || e.shortcut || e.reason) ? d : void 0 }, - panel: { - close: "Close", - resize: "Resize {title}" + element: u ? /* @__PURE__ */ i(Sv, { + id: d, + button: n, + content: e, + named: m, + interactive: r === "pointer", + placement: () => vv(l, da(n), t.inMenu === !0, l === "selection" ? Zc(n) : void 0), + timing: s + }) : null + }; +} +function qo({ content: e, options: t, children: n }) { + const o = we(e, t); + return /* @__PURE__ */ i(D, { children: [n(o.trigger), o.element] }); +} +function Qc({ label: e, reason: t, inMenu: n, ...o }) { + const r = we({ + label: e, + reason: t + }, { inMenu: n }); + return /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("button", { + type: "button", + "aria-label": e, + ...o, + ...r.trigger + }), r.element] }); +} +function Sv({ id: e, button: t, content: n, named: o, interactive: r, placement: a, timing: s }) { + const l = k(null), d = k(a); + return d.current = a, R(() => { + const c = l.current; + if (!c) return; + typeof c.showPopover == "function" && c.showPopover(); + const p = () => Jc(c, Oo(t), d.current(), yv); + p(); + const f = new ResizeObserver(p); + f.observe(c), f.observe(t); + const u = Do(p); + return () => { + u(), f.disconnect(), typeof c.hidePopover == "function" && c.matches(":popover-open") && c.hidePopover(); + }; + }, [t]), /* @__PURE__ */ i("div", { + ref: l, + ...La, + id: e, + role: "tooltip", + part: "tooltip", + className: `${xv} ${r ? "pointer-events-auto" : "pointer-events-none"}`, + style: { + position: "fixed", + right: "auto", + bottom: "auto", + fontFamily: "var(--epdf-font)" }, - menu: { back: "Back" }, - shortcuts: { - document: "Document", - viewing: "Viewing", - editing: "Editing", - other: "Other" + onPointerEnter: () => s.current?.enterTooltip(), + onPointerLeave: () => s.current?.leaveTooltip(), + children: [ + /* @__PURE__ */ i("span", { + className: "flex items-baseline gap-2", + children: [ + /* @__PURE__ */ i("span", { + "aria-hidden": o || void 0, + children: n.label + }), + " ", + n.shortcut && /* @__PURE__ */ i("kbd", { + className: "opacity-75 [font-variant-emoji:text]", + style: { fontFamily: "inherit" }, + children: n.shortcut + }) + ] + }), + " ", + n.reason && /* @__PURE__ */ i("span", { + className: "mt-0.5 block opacity-80", + children: n.reason + }) + ] + }); +} +const Mn = "embedpdf-standard", Mv = "standard"; +function Ov(e) { + const t = `${Mv}:`; + return e.startsWith(t) ? `${Mn}:${e.slice(t.length)}` : e; +} +function Pv(e) { + return zo(rm, [e, ...typeof navigator < "u" ? navigator.languages ?? [] : []]) ?? "en"; +} +const Tv = async (e) => { + const t = await fetch(e); + if (!t.ok) throw new Error(`${e}: HTTP ${t.status}`); + return new Uint8Array(await t.arrayBuffer()); +}, Cv = (e, t) => t ? Tv(t.replace("{locale}", e)) : am(e), ys = /* @__PURE__ */ new WeakMap(); +function Ev(e, t, n) { + if (n === !1) return Promise.resolve(); + const o = typeof n == "string" ? n : void 0, r = ys.get(e); + if (r?.locale === t) return r.promise; + const s = (async () => { + await r?.promise.catch(() => { + }); + const l = e.getLibrary(Mn); + l?.locale !== t && (r && !l || (l && await e.deleteLibrary(Mn), await e.importLibrary(await Cv(t, o)))); + })(); + return ys.set(e, { + locale: t, + promise: s + }), s; +} +const Po = typeof indexedDB > "u" ? null : Zp("embedpdf-stamps", { storeName: "libraries" }), _s = /* @__PURE__ */ new WeakMap(), ed = (e) => { + let t = _s.get(e); + return t || (t = Po ? If(e, Po) : Promise.resolve(), _s.set(e, t)), t; +}; +function Av() { + const e = Oa(); + return E(() => (ed(e), Po ? Lf(e, Po, { except: [Mn] }) : void 0), [e]), null; +} +const Nv = 0.5; +function Lv(e, t, n) { + if (e.length === 0) return null; + if (n >= 500) { + const o = e.filter((r) => r < t - 1); + return o.length > 0 ? o[o.length - 1] : null; + } + return n <= -500 ? e.find((o) => o > t + 1) ?? e[e.length - 1] : t < e[0] / 2 ? null : e.reduce((o, r) => Math.abs(r - t) < Math.abs(o - t) ? r : o); +} +function xs(e) { + const t = Math.max(0, Math.round(e - 40)), n = Math.min(t, Math.round(e * Nv)); + return n < t ? [n, t] : [t]; +} +const Iv = 'button, a[href], input, select, textarea, [role="tab"], [contenteditable]:not([contenteditable="false"])', Ra = "bg-black/30 transition-opacity duration-200 starting:opacity-0", td = () => { +}, nd = be(td), od = nd.Provider; +function Rv() { + return X(nd); +} +const Dv = (e, t) => e.composedPath().some((n) => n instanceof Element && n !== t && n.matches('[aria-modal="true"]')), $v = (e) => Object.fromEntries(Object.entries(e ?? {}).map(([t, n]) => [`data-${t}`, n])), zv = 8; +function rd({ label: e, onClose: t, size: n = "content", list: o = !1, trapFocus: r = !0, header: a, width: s, part: l, data: d, children: c }) { + const p = k(null), f = k(null), u = k(null), m = k(t); + m.current = t; + const g = k(0), h = k(null), b = () => n === "panel" ? xs(p.current?.offsetHeight ?? 0) : [u.current?.offsetHeight ?? 0], y = (S, x) => { + const O = u.current; + if (!O || x.length === 0) return; + const M = x[0], T = x[x.length - 1]; + n === "panel" && (O.style.height = `${Math.min(T, Math.max(M, S))}px`); + const L = Math.max(0, M - S); + O.style.translate = L > 0 ? `0 ${L}px` : "", f.current && (f.current.style.opacity = L > 0 ? `${Math.max(0, 1 - L / M)}` : ""); + }; + R(() => { + const S = p.current, x = u.current; + if (!S || !x) return; + const O = Wc(S, (L) => { + const B = Hc(L, [ + "right", + "bottom", + "left" + ]); + if (x.style.paddingLeft = B.paddingLeft ?? "", x.style.paddingRight = B.paddingRight ?? "", x.style.paddingBottom = B.paddingBottom ?? "", x.style.maxHeight = `${Math.max(0, S.offsetHeight - 40)}px`, n === "panel" && !h.current) { + const I = xs(S.offsetHeight); + y(I[Math.min(g.current, I.length - 1)], I); + } + }), M = r ? Vo(x, { onEscape: () => m.current() }) : null, T = ua(S, (L) => { + Dv(L, x) || m.current(); + }); + return () => { + T(), M?.release(), O(); + }; + }, []); + const v = (S) => { + if (S.pointerType === "mouse" && S.button !== 0 || S.target.closest(Iv)) return; + const x = u.current; + if (!x) return; + S.currentTarget.setPointerCapture(S.pointerId); + const O = x.offsetHeight; + h.current = { + pointerId: S.pointerId, + startY: S.clientY, + startHeight: O, + heights: b(), + samples: [{ + t: S.timeStamp, + x: S.clientX, + y: S.clientY + }], + height: O + }, p.current?.setAttribute("data-dragging", ""); + }, _ = (S) => { + const x = h.current; + !x || x.pointerId !== S.pointerId || (x.height = x.startHeight - (S.clientY - x.startY), x.samples.push({ + t: S.timeStamp, + x: S.clientX, + y: S.clientY + }), x.samples.length > zv && x.samples.shift(), y(x.height, x.heights)); + }, P = (S) => { + const x = h.current; + if (!x || x.pointerId !== S.pointerId) return; + h.current = null, p.current?.removeAttribute("data-dragging"); + const O = S.type === "pointercancel", M = O ? 0 : Jp(x.samples, S.timeStamp)?.vy ?? 0, T = O ? x.heights[g.current] : Lv(x.heights, x.height, M); + if (T === null) { + m.current(); + return; + } + g.current = Math.max(0, x.heights.indexOf(T)), y(T, x.heights); + }; + return /* @__PURE__ */ i("div", { + ref: p, + ...La, + "data-epdf-layer": "", + className: `${Gc} p-0 open:flex open:flex-col open:justify-end`, + style: { + position: "fixed", + inset: "auto", + maxWidth: "none", + maxHeight: "none" }, - goToPage: { go: "Go" }, - print: { - title: "Print", - pages: "Pages", - allPages: "All pages", - currentPage: "Current page", - range: "Custom", - rangeLabel: "Pages to print", - rangePlaceholder: "e.g. 1-3, 5", - rangeInvalid: "Use page numbers from 1 to {total}, such as 1-3, 5", - annotations: "Print annotations", - preparing: "Preparing…", - preparingPage: "Preparing page {page} of {total}…", - ready: "Ready to print.", - images: "Pages print as images at {dpi} DPI.", - lowResolution: "This document allows only low-resolution printing ({dpi} DPI).", - failed: "The printout couldn’t be prepared.", - cancel: "Cancel", - print: "Print" + children: [/* @__PURE__ */ i("div", { + ref: f, + "aria-hidden": "true", + className: `absolute inset-0 ${Ra} in-data-dragging:transition-none`, + onClick: () => m.current() + }), /* @__PURE__ */ i("div", { + ref: u, + role: r ? "dialog" : void 0, + "aria-modal": r ? !0 : void 0, + "aria-label": r ? e : void 0, + part: l, + ...$v(d), + "data-epdf-sheet": "", + className: `border-border-subtle bg-elevated starting:translate-y-full in-data-dragging:transition-none relative flex shrink-0 flex-col rounded-t-2xl border-t shadow-2xl transition-[translate,height] duration-200 ease-out motion-reduce:transition-none ${s === void 0 ? "w-full" : "max-w-full self-center border-x"}`, + style: s === void 0 ? void 0 : { width: s }, + children: [/* @__PURE__ */ i("div", { + className: "shrink-0 touch-pan-x select-none", + onPointerDown: v, + onPointerMove: _, + onPointerUp: P, + onPointerCancel: P, + children: [/* @__PURE__ */ i("div", { + "data-epdf-sheet-handle": "", + className: "flex h-6 cursor-grab items-center justify-center active:cursor-grabbing", + children: /* @__PURE__ */ i("span", { className: "bg-border-strong h-1 w-10 rounded-full" }) + }), a] + }), /* @__PURE__ */ i("div", { + className: "flex min-h-0 flex-1 flex-col overflow-y-auto overflow-x-hidden overscroll-contain", + children: /* @__PURE__ */ i(od, { + value: o ? () => m.current() : td, + children: c + }) + })] + })] + }); +} +const Fv = (e, t) => gu(e, t, im), Bv = []; +function Da(e) { + const t = U(aa), n = _e(), o = j(() => e ? ra(e) : null, [e]), r = le( + () => o ? hu(o, (a) => t.resolveCommand(a, n ?? void 0)) : Bv, + Fv + ); + return j( + () => r.length === 0 ? null : { + groups: r, + execute: (a) => void t.execute(a, { documentId: n ?? void 0 }) }, - panels: { - thumbnails: "Thumbnails", - outline: "Outline", - attachments: "Attachments", - search: "Search", - comments: "Comments", - style: "Style", - stamps: "Stamps", - signatures: "Signatures", - redaction: "Redactions", - measurement: "Measurements", - formDesign: "Form design", - switch: "Switch panel" + [r, t, n] + ); +} +function ks({ + k: e, + orientation: t, + onLength: n, + children: o +}) { + const r = k(null); + return R( + () => r.current ? yl(r.current, t, (a) => n(e, a)) : void 0, + [e, t, n] + ), /* @__PURE__ */ i("span", { ref: r, style: { display: "inline-flex", flexShrink: 0 }, children: o }); +} +function Kv({ + name: e, + k: t, + orientation: n, + grow: o, + onLength: r, + children: a +}) { + const s = k(null); + return R(() => { + const l = s.current; + if (!l) return; + const d = (c) => r(t, c); + return o ? nf(l, n, d) : yl(l, n, d); + }, [t, n, o, r]), /* @__PURE__ */ i( + "slot", + { + ref: s, + name: e, + style: { + display: "inline-flex", + alignItems: "center", + flexShrink: 0, + flexGrow: o ? 1 : 0 + }, + children: a + } + ); +} +const jv = (e) => ({ + position: "absolute", + left: 0, + top: 0, + height: 0, + overflow: "hidden", + visibility: "hidden", + pointerEvents: "none", + display: "flex", + whiteSpace: "nowrap", + ...e === "vertical" ? { flexDirection: "column", alignItems: "flex-start" } : null +}), Ss = { [wl]: "" }, Hv = { display: "contents" }, Uv = (e) => ({ + display: "flex", + flexDirection: e === "vertical" ? "column" : "row", + alignItems: "center", + flex: "1 0 auto" +}), ad = Cn("toolbar-surface"), Jt = Cn("toolbar-border"), $a = Cn("toolbar-active"), Gv = (e, t, n) => /* @__PURE__ */ i( + "button", + { + type: "button", + onClick: n, + disabled: !e.enabled, + "aria-pressed": e.pressable ? e.active : void 0, + "aria-haspopup": e.menu ? "menu" : void 0, + "aria-expanded": e.menu ? e.active : void 0, + title: e.label, + style: { + display: "inline-flex", + alignItems: "center", + gap: 4, + padding: "4px 8px", + whiteSpace: "nowrap", + color: "inherit", + font: "inherit", + background: e.active ? $a : "transparent", + border: `1px solid ${Jt}`, + borderRadius: 4, + cursor: e.enabled ? "pointer" : "default", + opacity: e.enabled ? 1 : 0.4 }, - annotation: { - comment: "Comment", - highlight: "Highlight", - underline: "Underline", - squiggly: "Squiggly", - strikeout: "Strikethrough", - square: "Square", - circle: "Circle", - line: "Line", - polygon: "Polygon", - polyline: "Polyline", - ink: "Ink", - freeText: "Text", - stamp: "Stamp", - caret: "Caret", - redact: "Redact", - fileAttachment: "Attachment", + children: e.label + } +); +function Wv({ orientation: e }) { + return /* @__PURE__ */ i( + "span", + { + style: { ...e === "vertical" ? { height: 1 } : { width: 1 }, alignSelf: "stretch", background: "currentColor", opacity: 0.2 } + } + ); +} +const id = (e, t) => /* @__PURE__ */ i( + "button", + { + type: "button", + onClick: t, + "aria-haspopup": "menu", + "aria-expanded": e, + title: "More", + style: { + display: "inline-flex", + alignItems: "center", + padding: "4px 8px", + color: "inherit", + font: "inherit", + border: `1px solid ${Jt}`, + borderRadius: 4, + background: e ? $a : "transparent", + cursor: "pointer" + }, + children: "⋯" + } +), Vv = (e) => e === "vertical" ? { top: 0, insetInlineStart: "100%" } : { top: "100%", insetInlineEnd: 0 }; +function za({ + view: e, + orientation: t +}) { + const n = k(null), o = k(e.close); + return o.current = e.close, R(() => { + const r = n.current; + if (!e.isOpen || !r) return; + const a = r.parentElement ?? r, s = tf(a).find((c) => !r.contains(c)) ?? null, l = ua(a, () => o.current()), d = pa(r, { trigger: s, close: () => o.current() }); + return () => { + l(), d(); + }; + }, [e.isOpen]), e.isOpen ? /* @__PURE__ */ i( + "div", + { + ref: n, + role: "menu", style: { - kind: "Type", - opacity: "Opacity", - stroke: "Stroke", - fill: "Fill", - color: "Color", - strokeWidth: "Stroke width", - border: "Border", - borderStyle: "Border style", - borderColor: "Border color", - borderWidth: "Border width", - background: "Background", - outline: "Outline", - lineEndings: "Line endings", - blendMode: "Blend mode", - font: "Font", - fontSize: "Font size", - textColor: "Text color", - bold: "Bold", - italic: "Italic", - underline: "Underline", - align: "Align", - alignment: "Alignment", - label: "Label", - labelFont: "Label font", - labelSize: "Label size", - labelColor: "Label color", - icon: "Icon", - link: "Link" - }, - flags: { - print: "Print", - hidden: "Hidden", - noView: "No view", - toggleNoView: "Toggle no view", - readOnly: "Read only", - locked: "Locked", - lockedContents: "Locked contents", - noZoom: "No zoom", - noRotate: "No rotate", - invisible: "Invisible" - }, - borderStyles: { - solid: "Solid", - dashed: "Dashed", - cloudy: "Cloudy" - }, - lineEndings: { - none: "None", - square: "Square", - circle: "Circle", - diamond: "Diamond", - openArrow: "Open arrow", - closedArrow: "Closed arrow", - butt: "Butt", - reverseOpenArrow: "Reverse open arrow", - reverseClosedArrow: "Reverse closed arrow", - slash: "Slash" - }, - blendModes: { - normal: "Normal", - multiply: "Multiply", - screen: "Screen", - overlay: "Overlay", - darken: "Darken", - lighten: "Lighten", - colorDodge: "Color dodge", - colorBurn: "Color burn", - hardLight: "Hard light", - softLight: "Soft light", - difference: "Difference", - exclusion: "Exclusion", - hue: "Hue", - saturation: "Saturation", - color: "Color", - luminosity: "Luminosity" - }, - fonts: { - courier: "Courier", - courierBold: "Courier Bold", - courierBoldOblique: "Courier Bold Oblique", - courierOblique: "Courier Oblique", - helvetica: "Helvetica", - helveticaBold: "Helvetica Bold", - helveticaBoldOblique: "Helvetica Bold Oblique", - helveticaOblique: "Helvetica Oblique", - timesRoman: "Times Roman", - timesBold: "Times Bold", - timesBoldItalic: "Times Bold Italic", - timesItalic: "Times Italic", - symbol: "Symbol", - zapfDingbats: "Zapf Dingbats" + position: "absolute", + ...Vv(t), + zIndex: 41, + minWidth: 200, + padding: 4, + background: ad, + border: `1px solid ${Jt}`, + borderRadius: 6, + boxShadow: "0 4px 16px rgba(0,0,0,0.15)" }, - alignments: { - left: "Left", - center: "Center", - right: "Right" + children: e.sections.map((r, a) => /* @__PURE__ */ i(D, { children: [ + a > 0 && /* @__PURE__ */ i("div", { style: { height: 1, background: Jt, margin: "4px 0" } }), + r.rows.map((s) => { + const l = e.resolve(s.command); + if (!l) return null; + const d = s.kind === "submenu"; + return /* @__PURE__ */ i( + "button", + { + type: "button", + role: r.role === "radio" ? "menuitemradio" : "menuitem", + "aria-checked": r.role === "radio" ? l.active : void 0, + disabled: !l.enabled, + tabIndex: -1, + onClick: () => { + e.execute(s.command), d || e.close(); + }, + style: { + display: "flex", + width: "100%", + alignItems: "center", + justifyContent: "space-between", + gap: 16, + padding: "6px 8px", + border: "none", + color: "inherit", + font: "inherit", + background: "transparent", + cursor: l.enabled ? "pointer" : "default", + opacity: l.enabled ? 1 : 0.4, + whiteSpace: "nowrap" + }, + children: [ + /* @__PURE__ */ i("span", { children: [ + l.active && r.role === "radio" ? "• " : "", + l.label + ] }), + d ? /* @__PURE__ */ i("span", { children: "▸" }) : null + ] + }, + s.command + ); + }) + ] }, a)) + } + ) : null; +} +function qv({ + view: e, + orientation: t +}) { + if (e.collapse === "select") { + const n = e.commands.find((o) => o.active); + return /* @__PURE__ */ i( + "select", + { + value: n?.id ?? "", + onChange: (o) => e.execute(o.target.value), + style: { + padding: "4px 6px", + font: "inherit", + borderRadius: 4, + border: `1px solid ${Jt}`, + background: ad + }, + children: e.commands.map((o) => /* @__PURE__ */ i("option", { value: o.id, disabled: !o.enabled, children: o.label }, o.id)) + } + ); + } + return /* @__PURE__ */ i(Yv, { view: e, orientation: t }); +} +function Yv({ + view: e, + orientation: t +}) { + const [n, o] = C(!1); + return /* @__PURE__ */ i("span", { style: { position: "relative", display: "inline-flex" }, children: [ + id(n, () => o((r) => !r)), + /* @__PURE__ */ i( + za, + { + view: Tn(e, n, () => o(!1)), + orientation: t + } + ) + ] }); +} +function Xv({ + view: e, + orientation: t +}) { + const [n, o] = C(!1), r = e.commands.some((a) => a.active); + return /* @__PURE__ */ i("span", { style: { position: "relative", display: "inline-flex" }, children: [ + /* @__PURE__ */ i( + "button", + { + type: "button", + onClick: () => o((a) => !a), + "aria-haspopup": "menu", + "aria-expanded": n, + title: "More", + style: { + display: "inline-flex", + alignItems: "center", + padding: "4px 6px", + color: "inherit", + font: "inherit", + border: `1px solid ${Jt}`, + borderRadius: 4, + // A hint that the active item is in here. + background: n || r ? $a : "transparent", + cursor: "pointer" + }, + children: "▾" + } + ), + /* @__PURE__ */ i( + za, + { + view: Tn(e, n, () => o(!1)), + orientation: t + } + ) + ] }); +} +function Zv({ + bar: e, + orientation: t = "horizontal", + gap: n = 8, + separatorWidth: o = 1, + "aria-label": r, + className: a, + style: s, + renderCommand: l = Gv, + renderCustom: d, + renderCollapsed: c, + renderGroupTrigger: p, + renderSeparator: f, + renderOverflowTrigger: u = id, + renderOverflowMenu: m +}) { + const g = dt(), h = U(aa), b = _e(), y = t === "vertical", [, v] = kt((A) => A + 1, 0); + E(() => g.subscribe(v), [g]); + const _ = k(null), [P, S] = C(0); + R( + () => _.current ? Qp(_.current, t, S) : void 0, + [t] + ); + const [x] = C(of), [, O] = kt((A) => A + 1, 0), M = j( + () => (A, ie) => { + x.report(t, A, ie) && O(); + }, + [x, t] + ), T = k(null); + R(() => { + const A = _.current; + if (!A) return; + const ie = ef(A, t); + return T.current = ie, () => { + ie.detach(), T.current = null; + }; + }, [t]), R(() => T.current?.refresh()); + const L = (A) => h.resolveCommand(A, b ?? void 0), B = (A) => void h.execute(A, { documentId: b ?? void 0 }), I = j(() => ra(e), [e]), K = bu({ + bar: I, + resolve: L, + unregistered: sm, + execute: B, + menuTarget: (A) => h.getMenuTarget(A), + metrics: x.metrics(t, n, o), + measureKey: pi, + containerLength: P, + orientation: t + }), [te, Fe] = C(!1); + E(() => { + K.hasOverflow || Fe(!1); + }, [K.hasOverflow]); + const ne = (A) => A.kind === "custom" && !d?.[A.name], nt = (A, ie) => { + switch (A.kind) { + case "command": + return l(A.command, A.variant, A.run); + case "custom": { + const ve = () => A.terminal ? l(A.terminal, "icon", A.runTerminal) : null, Se = d?.[A.name]; + if (Se) { + const Mt = Se(A.variant, { + layer: ie, + measure: (Ot) => M(A.measureKey, Ot) + }); + return Mt === void 0 ? ve() : Mt; + } + return ie === "measure" ? null : /* @__PURE__ */ i( + Kv, + { + name: A.name, + k: A.measureKey, + orientation: t, + grow: A.grow, + onLength: M, + children: ve() + } + ); + } + case "collapsed": { + const ve = c?.(A.view); + return ve === void 0 ? /* @__PURE__ */ i(qv, { view: A.view, orientation: t }) : ve; + } + case "disclosure": { + const ve = p?.(A.view); + return ve === void 0 ? /* @__PURE__ */ i(Xv, { view: A.view, orientation: t }) : ve; + } + } + }, ln = (A) => A.groups.map((ie, ve) => /* @__PURE__ */ i(D, { children: [ + ve > 0 && (f ? f() : /* @__PURE__ */ i(Wv, { orientation: t })), + ie.parts.map((Se) => /* @__PURE__ */ i( + "span", + { + ...Ss, + style: Se.kind === "custom" && Se.grow ? Uv(t) : Hv, + children: nt(Se, "live") }, - noteIcons: { - comment: "Comment", - key: "Key", - note: "Note", - help: "Help", - newParagraph: "New paragraph", - paragraph: "Paragraph", - insert: "Insert" + Se.key + )) + ] }, ie.id)), St = (A) => ({ + display: "flex", + flexDirection: y ? "column" : "row", + alignItems: "center", + gap: n, + flex: A.grows ? "1 0 auto" : "0 0 auto", + ...A.spacing === "balance" ? y ? { marginTop: "auto", marginBottom: "auto" } : { marginLeft: "auto", marginRight: "auto" } : A.spacing === "gap" ? y ? { marginTop: n } : { marginInlineStart: n } : null + }), ot = { + sections: K.overflow, + isOpen: te, + close: () => Fe(!1), + resolve: L, + execute: B + }; + return /* @__PURE__ */ i( + "div", + { + ref: _, + role: "toolbar", + "aria-orientation": t, + "aria-label": r, + className: a, + style: { + position: "relative", + display: "flex", + flexDirection: y ? "column" : "row", + alignItems: "center", + ...s }, - attachmentIcons: { - pushPin: "Push pin", - paperclip: "Paperclip", - graph: "Graph", - tag: "Tag" + children: [ + K.sections.map((A) => /* @__PURE__ */ i("div", { style: St(A), children: [ + ln(A), + A.name === "end" && K.hasOverflow && /* @__PURE__ */ i("span", { ...Ss, style: { position: "relative", display: "inline-flex" }, children: [ + u(te, () => Fe((ie) => !ie)), + m ? m(ot) : /* @__PURE__ */ i(za, { view: ot, orientation: t }) + ] }) + ] }, A.name)), + /* @__PURE__ */ i("div", { "aria-hidden": !0, ...bc, style: jv(t), children: [ + K.measured.filter((A) => !ne(A)).map((A) => { + const ie = nt(A, "measure"); + return A.kind === "custom" && ie === null ? null : /* @__PURE__ */ i( + ks, + { + k: A.measureKey, + orientation: t, + onLength: M, + children: ie + }, + A.measureKey + ); + }), + /* @__PURE__ */ i( + ks, + { + k: pi.overflowTrigger, + orientation: t, + onLength: M, + children: u(!1, () => { + }) + } + ) + ] }) + ] + } + ); +} +const sd = { + annotations: [ + "highlight", + "markup", + "drawing", + "text", + "notes", + "links" + ], + shapes: [], + stamps: [], + comments: ["writing"], + forms: ["filling", "building"], + signatures: ["signing", "checking"], + redaction: [], + measurement: [], + pages: [], + attachments: ["adding"], + text: ["selection", "copy"], + snapshots: [], + search: [], + thumbnails: [], + outline: ["editing"], + documents: [ + "open", + "download", + "print", + "tabs" + ] +}, Jv = [ + "forms.building", + "redaction", + "measurement", + "snapshots" +], ld = [ + "annotations", + "shapes", + "stamps", + "comments.writing", + "forms", + "signatures.signing", + "redaction", + "measurement", + "pages", + "attachments.adding", + "outline.editing" +], Hr = (e, t) => e === t || e.startsWith(`${t}.`), Qv = (e) => ld.every(e), e0 = { + "annotations.highlight": ["highlight"], + "annotations.markup": [ + "underline", + "strikeout", + "squiggly" + ], + "annotations.drawing": ["ink"], + "annotations.text": ["free-text", "caret"], + "annotations.notes": ["text"], + "annotations.links": ["link"], + shapes: [ + "square", + "circle", + "line", + "polygon", + "polyline" + ], + stamps: ["stamp"], + redaction: ["redact"], + measurement: [ + "line-dimension", + "polyline-dimension", + "polygon-dimension" + ], + "attachments.adding": ["file-attachment"], + "forms.building": ["widget"] +}, t0 = { + "forms.filling": [ + "text", + "checkbox", + "radio", + "combobox", + "listbox", + "pushbutton" + ], + "signatures.signing": ["signature"] +}; +function Ms(e, t) { + const n = Object.keys(e), o = n.filter((r) => !t.some((a) => Hr(r, a))); + return o.length === n.length ? !0 : o.length === 0 ? !1 : o.flatMap((r) => e[r]); +} +const n0 = (e) => sd[e] ?? []; +function o0(e) { + if (!e) return []; + const t = e === !0 ? [] : e.except, n = [], o = (r) => { + if (t.some((s) => Hr(r, s))) return; + const a = n0(r); + if (a.length === 0 || !t.some((s) => Hr(s, r))) { + n.push(r); + return; + } + for (const s of a) o(`${r}.${s}`); + }; + for (const r of ld) o(r); + return n; +} +const Fa = (e) => { + const t = e.indexOf("."); + return t < 0 ? [e, void 0] : [e.slice(0, t), e.slice(t + 1)]; +}; +function cd(e) { + const t = new Map(Object.entries(sd).map(([n, o]) => [n, [...o]])); + for (const n of e) { + const [o, r] = Fa(n), a = t.get(o) ?? []; + r !== void 0 && !a.includes(r) && a.push(r), t.set(o, a); + } + return t; +} +function dd({ features: e, disable: t, readOnly: n }, o) { + const r = cd(o), a = /* @__PURE__ */ new Map(), s = (c) => { + let p = a.get(c); + if (!p) { + const f = r.get(c) ?? []; + p = { + on: !0, + parts: new Map(f.map((u) => [u, !0])) + }, a.set(c, p); + } + return p; + }, l = (c) => { + const p = [...c].sort(([f], [u]) => Number(f.includes(".")) - Number(u.includes("."))); + for (const [f, u] of p) { + const [m, g] = Fa(f), h = s(m); + if (g !== void 0) { + h.parts.set(g, u); + continue; + } + h.on = u; + for (const b of h.parts.keys()) h.parts.set(b, u); + } + }, d = (c) => c.map((p) => [p, !1]); + return l(d(Jv)), l(d((t ?? []).filter((c) => !c.includes(":")))), l(Object.entries(e ?? {}).filter((c) => typeof c[1] == "boolean")), l(d(o0(n))), [...r.keys(), ...a.keys()].filter((c, p, f) => f.indexOf(c) === p && a.has(c)).flatMap((c) => { + const { on: p, parts: f } = a.get(c), u = [...f].filter(([, m]) => !m); + return !p && u.length === f.size ? [c] : u.map(([m]) => `${c}.${m}`); + }); +} +function r0(e, t) { + const n = cd(t); + return Object.keys(e ?? {}).filter((o) => { + const [r, a] = Fa(o), s = n.get(r); + return !s || a !== void 0 && !s.includes(a); + }); +} +function a0(e, t = []) { + const n = new Set((e.disable ?? []).filter((o) => o.includes(":"))); + return { + disabledCategories: dd(e, t), + disabledCommands: [...n] + }; +} +function i0(e, t = []) { + const n = dd(e, t); + return { + editable: Ms(e0, n), + fillable: Ms(t0, n) + }; +} +function Os(e, t) { + return e === !0 ? t : t === !0 ? e : e === !1 || t === !1 ? !1 : e.filter((n) => t.includes(n)); +} +const Ps = (e, t) => typeof e == "boolean" || typeof t == "boolean" ? e === t : e.length === t.length && e.every((n, o) => n === t[o]); +function s0() { + const e = Q(), t = Eg(V(ct, (r) => r.getCurrentPage())), n = Qe("measurement"), o = we({ label: e("measurement.title") }); + return /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("button", { + ...o.trigger, + type: "button", + part: Me(n.isOpen), + className: De(n.isOpen), + "aria-pressed": n.isOpen, + onClick: () => n.toggle(), + children: /* @__PURE__ */ i("span", { + className: "flex items-center whitespace-nowrap text-sm", + children: [/* @__PURE__ */ i(Y, { + name: "updateScale", + size: 20, + className: "me-1.5 shrink-0" + }), /* @__PURE__ */ i("span", { children: [ + e("measurement.scale"), + ":", + " ", + t?.measure?.subtype === "rectilinear" ? t.measure.ratio ?? e("measurement.custom") : e("measurement.unavailable") + ] })] + }) + }), o.element] }); +} +function l0() { + const e = Q(), { files: t } = fc(); + return /* @__PURE__ */ i("span", { + className: "text-fg-muted whitespace-nowrap text-xs", + children: e("attachments.count", { params: { count: t.length } }) + }); +} +const Ba = be(null); +function c0({ children: e }) { + const t = _e() ?? "", [n, o] = C(() => /* @__PURE__ */ new Map()), r = Ve((l) => o((d) => new Map(d).set(t, l)), [t]), a = n.get(t) ?? "", s = j(() => [a, r], [a, r]); + return /* @__PURE__ */ i(Ba.Provider, { + value: s, + children: e + }); +} +const d0 = ["", () => { +}]; +function rx() { + return X(Ba) ?? d0; +} +function u0({ variant: e }) { + const t = Q(), n = X(Ba); + if (!n) return null; + const [o, r] = n; + return /* @__PURE__ */ i("div", { + className: `relative ${e === "narrow" ? "w-24" : "w-36"}`, + children: [/* @__PURE__ */ i("div", { + className: "text-fg-muted pointer-events-none absolute inset-y-0 start-0 flex items-center ps-2", + children: /* @__PURE__ */ i(Y, { + name: "search", + size: 14 + }) + }), /* @__PURE__ */ i("input", { + type: "search", + value: o, + placeholder: t("outline.filter"), + "aria-label": t("outline.filter"), + onChange: (a) => r(a.target.value), + className: "border-border bg-surface text-fg focus:border-accent focus:ring-accent w-full rounded-md border py-1 pe-2 ps-7 text-sm outline-none focus:ring-1" + })] + }); +} +function p0(e) { + const t = e.listCurrentPages().map((n) => n.index + 1); + return t.length ? { + first: Math.min(...t), + last: Math.max(...t) + } : null; +} +const f0 = (e, t) => e?.first === t?.first && e?.last === t?.last; +function m0() { + const e = Q(), t = ee(ct), n = Xt((P) => P.currentPageIndex + 1), o = Xt((P) => P.pageCount), r = ae(ct, p0, null, f0), a = r !== null && r.last > r.first, s = a ? r.first : n, [l, d] = C(null), c = k(null), p = k(null), f = k(!1), u = l !== null, m = we({ label: e("pageNumber.goToPage") }), g = m.trigger.ref, h = Ve((P) => { + p.current = P, g(P); + }, [g]); + if (R(() => { + u ? (c.current?.focus(), c.current?.select()) : f.current && (f.current = !1, p.current?.focus()); + }, [u]), o <= 1) return null; + const b = () => { + f.current = !0, d(null); + }, y = () => { + const P = Number.parseInt(l ?? "", 10); + Number.isFinite(P) && t?.goToPage(Math.min(Math.max(P, 1), o) - 1), b(); + }, [v, _ = ""] = (a ? e("pageNumber.pages", { params: { + first: "", + last: r.last, + total: o + } }) : e("pageNumber.page", { params: { + current: "", + total: o + } })).split(""); + return /* @__PURE__ */ i("span", { + className: "text-fg-secondary flex whitespace-nowrap text-sm", + children: u ? /* @__PURE__ */ i("span", { + className: "block h-8 px-2 leading-8", + children: [ + v, + /* @__PURE__ */ i("input", { + ref: c, + type: "text", + inputMode: "numeric", + "aria-label": e("pageNumber.goToPage"), + value: l, + onChange: (P) => d(P.target.value.replace(/[^0-9]/g, "")), + onKeyDown: (P) => { + P.key === "Enter" ? (P.preventDefault(), y()) : P.key === "Escape" && (P.preventDefault(), b()); + }, + onBlur: () => d(null), + style: { width: `${String(o).length + 1}ch` }, + className: "bg-hover ring-accent text-fg rounded text-center tabular-nums outline-none ring-1" + }), + _ + ] + }) : /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("button", { + ...m.trigger, + ref: h, + type: "button", + onClick: () => d(String(s)), + className: "hover:bg-hover hover:text-fg block h-8 cursor-pointer rounded-md px-2 tabular-nums leading-8", + children: [ + v, + s, + _ + ] + }), m.element] }) + }); +} +function h0() { + const e = Q(), t = Oa(), { standard: n, quick: o } = Yb(), { locale: r } = xo(), a = xc(), s = _e(), l = ae(An, (u) => u.getActiveToolId(), null), d = Og((u) => u.armedAsset?.id ?? null), c = (o ?? []).map(Ov), p = c.some((u) => u.startsWith(`${Mn}:`)); + E(() => { + p && ed(t).then(() => Ev(t, Pv(r), n)).catch((u) => console.error("[embedpdf] quick stamps failed:", u)); + }, [ + t, + r, + p + ]); + const f = c.map((u) => a.find((m) => m.id === u)).filter((u) => !!u); + return f.length === 0 || !s ? null : /* @__PURE__ */ i("div", { + className: "flex items-center gap-1", + role: "group", + "aria-label": e("demo.quickStampsLabel"), + children: f.map((u) => /* @__PURE__ */ i(g0, { + asset: u, + active: l === "stamp" && d === u.id, + onArm: () => void t.armAsset(u.id).catch((m) => console.error("[embedpdf] arm failed", m)) + }, u.id)) + }); +} +function g0({ asset: e, active: t, onArm: n }) { + const o = Tg(e.id), r = we({ + label: e.label, + labelShown: !o + }); + return /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("button", { + ...r.trigger, + type: "button", + onClick: n, + "aria-label": e.label, + "aria-pressed": t, + part: Me(t), + className: De(t, !0), + children: o ? /* @__PURE__ */ i("img", { + src: o, + alt: "", + className: "h-5 w-5 object-contain", + draggable: !1 + }) : /* @__PURE__ */ i("span", { + className: "text-xs", + children: e.label + }) + }), r.element] }); +} +function b0(e) { + return e.canCreate() ? !0 : e.list().some(({ ref: t }) => e.canUpdate(t) || e.canDelete(t)); +} +function v0(e, t) { + return e.canDesign() ? !0 : e.list().some((n) => n.kind === "signature" ? t?.canSign(n.ref) ?? !1 : e.canFill(n.ref)); +} +function w0() { + const e = ee(ye) !== null, t = ee(nn), n = ae(ye, b0, !1), o = ae(tn, (s) => v0(s, t), !1), r = ae(Ko, (s) => s.canEdit(), !1), a = ae(ht, (s) => s.canApply(), !1); + return e && !n && !o && !r && !a; +} +function y0({ compact: e = !1 }) { + const t = Q(), n = ke(); + Vg((a) => a.disabledCategories); + const o = Qv((a) => n.isCategoryDisabled(a)), r = w0(); + return !o && !r ? null : /* @__PURE__ */ i(qo, { + content: { label: t(o ? "viewOnly.turnedOff" : "viewOnly.notAllowed") }, + children: (a) => /* @__PURE__ */ i("span", { + ...a, + className: "bg-hover text-fg-secondary flex h-7 shrink-0 select-none items-center gap-1.5 whitespace-nowrap rounded-full px-2.5 text-xs font-medium", + children: [/* @__PURE__ */ i(Y, { + name: "eye", + size: 16, + className: "shrink-0" + }), /* @__PURE__ */ i("span", { + className: e ? "sr-only" : void 0, + children: t("viewOnly.label") + })] + }) + }); +} +const _0 = { + orientation: "data-orientation", + edge: "data-edge", + variant: "data-variant", + size: "data-size" +}, x0 = (e) => e === "float-top" || e === "float-bottom" ? "float" : e; +function k0(e, t) { + for (const [n, o] of Object.entries(_0)) { + const r = t[n]; + r === null ? e.removeAttribute(o) : e.getAttribute(o) !== r && e.setAttribute(o, r); + } +} +const S0 = (e) => e.parentElement ?? e.getRootNode().host ?? null; +function ud() { + const e = /* @__PURE__ */ new WeakMap(), t = /* @__PURE__ */ new Set(); + let n = 0; + return { + set(o, r) { + if (e.get(o) !== r) { + e.set(o, r), n += 1; + for (const a of [...t]) a(); } }, - form: { settings: { - name: "Name", - tooltip: "Tooltip", - required: "Required", - readOnly: "Read-only", - noExport: "Don't export", - defaultValue: "Default value", - maxLength: "Maximum length", - multiline: "Several lines", - password: "Password", - comb: "One character per box", - radiosInUnison: "Buttons with one value turn on together", - keepOneOn: "Keep one on", - options: "Options", - allowTyping: "Allow typing", - multiSelect: "Several choices" - } }, - thumbnails: { page: "Page {page}" }, - formDesign: { - empty: "No fields yet. Pick a field tool to add one.", - page: "Page {page}", - allFields: "All fields", - buttons: "Buttons", - boxes: "Boxes", - box: "Box {number}", - addButton: "Add a button", - addBox: "Add a box" - }, - stylePanel: { - mixed: "(mixed)", - transparent: "Transparent", - lineStart: "Start", - lineEnd: "End", - empty: "Pick a draw tool or select an annotation to edit its style.", - selected: { - one: "{count} selected", - other: "{count} selected" - }, - toolDefaults: "{tool} defaults", - defaults: "Defaults", - fontGroups: { - document: "In this document", - yours: "Your fonts", - server: "Server fonts", - standard: "Standard" - }, - fontStyles: { - bold: "Bold", - italic: "Italic", - boldItalic: "Bold Italic" - }, - fontRestrictions: { - notEmbedded: "The document only names it", - subset: "The document holds only the characters it uses", - previewAndPrint: "Its licence allows viewing and printing only", - unsupportedFormat: "New text can’t be written in this kind of font", - noUnicodeMap: "It doesn’t say which characters it draws", - other: "New text can’t be written in it" + edgeOf(o) { + for (let r = o; r; r = S0(r)) { + const a = e.get(r); + if (a) return a; } + return "top"; }, - attachments: { - loading: "Loading attachments…", - failed: "The attachments couldn’t be read.", - empty: "This document has no attached files", - drop: "Drop files to attach them", - dropHint: "Or drop files here", - adding: "Adding…", - onPage: "Page {page}", - count: { - one: "{count} file", - other: "{count} files" - } + subscribe(o) { + return t.add(o), () => { + t.delete(o); + }; }, - outline: { - filter: "Filter outline", - loading: "Loading outline…", - failed: "The outline couldn’t be read.", - empty: "This document has no outline", - noMatches: "No items match", - incomplete: "Part of the outline couldn’t be read.", - untitled: "Untitled", - properties: { - title: "Item properties", - name: "Title", - color: "Color", - noColor: "None", - customColor: "Custom color", - bold: "Bold", - italic: "Italic", - open: "Expanded when the document opens", - target: "Destination", - targetNone: "None", - targetView: "Current view", - targetNamed: "Page action", - targetKept: "Kept as it is", - keptNote: "This item runs a script or opens another file. It can’t be changed here.", - fit: "Fit", - fitKept: "As it is", - save: "Save", - cancel: "Cancel" + version: () => n + }; +} +const pd = be(ud()), M0 = pd.Provider; +function fd() { + return X(pd); +} +const md = { + display: "inline-flex", + alignItems: "center", + flexShrink: 0 +}, O0 = { + ...md, + flexGrow: 1 +}; +function P0({ id: e, variant: t, orientation: n, grow: o = !1, measure: r, children: a }) { + const s = k(null), l = Ia(), { size: d } = ut(), c = fd(), p = k(r); + p.current = r; + const f = k(null), u = t !== null; + return R(() => { + const m = s.current; + if (!m) return; + const g = n === "vertical" ? "height" : "width", h = () => p.current(o ? rf(m, n) : m.getBoundingClientRect()[g]); + u || h(); + const b = new ResizeObserver(h); + return b.observe(m), f.current = b, () => { + b.disconnect(), f.current = null; + }; + }, [ + n, + u, + o + ]), R(() => { + const m = s.current, g = f.current; + !m || !g || (g.unobserve(m), g.observe(m)); + }, [t]), R(() => { + const m = s.current; + if (!m) return; + const g = { + orientation: n, + edge: x0(l), + variant: t, + size: d + }, h = () => { + for (const b of m.assignedElements()) + k0(b, g), c.set(b, l); + }; + return h(), m.addEventListener("slotchange", h), () => m.removeEventListener("slotchange", h); + }, [ + n, + l, + t, + d, + c + ]), /* @__PURE__ */ i("slot", { + ref: s, + name: `item:${e}`, + style: o ? O0 : md, + children: a + }); +} +const hd = 4, T0 = { popover: "manual" }, C0 = '[role="menuitem"], [role="menuitemradio"], [role="menuitemcheckbox"]', gd = '[inert], [aria-hidden="true"]', Ur = be(!1), yn = (e) => [...e.querySelectorAll(C0)].filter((t) => t.closest('[role="menu"]') === e), bd = (e) => e?.getAttribute("aria-label") || e?.textContent?.trim() || void 0, vd = (e, t) => [...e.querySelectorAll("[aria-haspopup]")].find((n) => !t.contains(n)) ?? null; +function E0(e, t) { + const n = Oo(e), o = e.closest('[role="menu"]'), r = o ? Oo(o) : n, a = t.clientTop + parseFloat(getComputedStyle(t).paddingTop || "0"); + return { + x: r.x, + y: n.y - a, + width: r.width, + height: n.height + }; +} +function A0(e, t, n, o) { + const r = vl(e, "client"); + r && (e.style.maxHeight = `${Math.max(0, r.height - 2 * hd)}px`, Jc(e, t, n, o)); +} +function N0(e, t, n) { + const { nested: o, close: r } = n, a = vd(t, e), s = da(t), l = n.placement(s), d = bd(a); + d && e.setAttribute("aria-label", d), typeof e.showPopover == "function" && e.showPopover(); + const c = () => A0(e, o ? E0(t, e) : Oo(t), l, o ? 0 : hd); + c(); + const p = new ResizeObserver(c); + p.observe(e), p.observe(t); + const f = Do(c), u = ua(e, (b) => { + (!a || !b.composedPath().includes(a)) && r(); + }), m = pa(e, { + trigger: a, + close: r, + items: () => yn(e) + }), g = Xc(s), h = (b) => { + const y = b.target, v = !b.defaultPrevented, _ = y.getAttribute("aria-haspopup") === "menu"; + if (v && b.key === g.open && _ && yn(e).includes(y)) + if (b.preventDefault(), y.getAttribute("aria-expanded") !== "true") y.click(); + else { + const P = y.parentElement?.querySelector('[role="menu"]'); + P && yn(P)[0]?.focus(); } + else v && b.key === g.close && o && (b.preventDefault(), r(), a?.focus()); + o && b.key !== "Tab" && b.stopPropagation(); + }; + return e.addEventListener("keydown", h), () => { + e.removeEventListener("keydown", h), m(), u(), f(), p.disconnect(), typeof e.hidePopover == "function" && e.matches(":popover-open") && e.hidePopover(); + }; +} +function Fn(e) { + const t = k(null), [n, o] = C(!1), r = ut().size === "compact"; + return R(() => { + const a = t.current?.parentElement; + a && !a.closest(gd) && o(!0); + }, []), n ? r ? /* @__PURE__ */ i(R0, { ...e }) : /* @__PURE__ */ i(L0, { ...e }) : /* @__PURE__ */ i("span", { + ref: t, + hidden: !0 + }); +} +function L0({ children: e, onClose: t, align: n = "start" }) { + const o = k(null), r = Ia(), a = X(Ur), s = k(t); + return s.current = t, R(() => { + const l = o.current, d = l?.parentElement; + if (!(!l || !d)) + return N0(l, d, { + placement: (c) => a ? Yc(c) : qc(r, c, n, r === "selection" ? Zc(d) : void 0), + nested: a, + close: () => s.current() + }); + }, []), /* @__PURE__ */ i("div", { + ref: o, + ...T0, + role: "menu", + part: "menu", + className: "border-border-subtle bg-elevated text-fg z-50 overflow-y-auto rounded-lg border shadow-xl", + style: { + position: "fixed", + right: "auto", + bottom: "auto", + margin: 0 }, - linkEditor: { - toUrl: "Link to a URL", - url: "URL", - toPage: "Link to a page", - page: "Page", - urlPlaceholder: "https://…", - pagePlaceholder: "Page number", - add: "Add link", - update: "Update link" + children: /* @__PURE__ */ i(Ur.Provider, { + value: !0, + children: e + }) + }); +} +const wd = be(null); +function I0(e) { + const t = e.closest("[data-epdf-layer]"), n = t?.parentElement; + return t && n ? vd(n, t) : null; +} +function R0({ children: e, onClose: t }) { + const [n, o] = C([]), r = k(n); + r.current = n; + const a = k(null), s = k(t); + s.current = t; + const l = (c) => o([...r.current, c]), d = () => { + const c = r.current; + c.length !== 0 && (a.current = c[c.length - 1].opener, o(c.slice(0, -1))); + }; + return R(() => { + a.current?.focus(), a.current = null; + }, [n]), /* @__PURE__ */ i(rd, { + label: "", + onClose: t, + trapFocus: !1, + children: /* @__PURE__ */ i(wd.Provider, { + value: l, + children: /* @__PURE__ */ i("div", { + className: "grid", + children: [/* @__PURE__ */ i(Ts, { + covered: n.length > 0, + close: () => s.current(), + children: e + }), n.map((c, p) => /* @__PURE__ */ i(Ts, { + covered: p < n.length - 1, + close: d, + opener: c.opener, + label: c.label, + onBack: d, + children: /* @__PURE__ */ i(ja, { + menuId: c.menuId, + onRun: c.onRun + }) + }, p))] + }) + }) + }); +} +function Ts({ covered: e, close: t, opener: n, label: o, onBack: r, children: a }) { + const s = Q(), l = k(null), d = k({ + close: t, + onBack: r + }); + return d.current = { + close: t, + onBack: r + }, R(() => { + const c = l.current; + if (!c) return; + const p = n ?? I0(c), f = o ?? bd(p); + f && c.setAttribute("aria-label", f); + const u = pa(c, { + trigger: p, + close: () => d.current.close(), + items: () => yn(c), + initialFocus: "none" + }); + queueMicrotask(() => { + c.isConnected && !c.inert && yn(c).find((h) => !af(h))?.focus(); + }); + const m = Xc(da(c)), g = (h) => { + if (h.defaultPrevented) return; + const b = h.target; + h.key === m.open && b.getAttribute("aria-haspopup") === "menu" ? (h.preventDefault(), b.click()) : h.key === m.close && d.current.onBack && (h.preventDefault(), d.current.onBack()); + }; + return c.addEventListener("keydown", g), () => { + c.removeEventListener("keydown", g), u(); + }; + }, []), R(() => { + l.current && (l.current.inert = e); + }, [e]), /* @__PURE__ */ i("div", { + ref: l, + role: "menu", + part: "menu", + className: `bg-elevated isolate col-start-1 row-start-1 min-w-0 ${r ? "starting:translate-x-full rtl:starting:-translate-x-full transition-[translate] duration-200 ease-out motion-reduce:transition-none" : ""}`, + children: [r && /* @__PURE__ */ i("div", { + className: "p-1 pb-0", + children: [/* @__PURE__ */ i("button", { + type: "button", + tabIndex: -1, + role: "menuitem", + part: "menu-item", + "data-epdf-menu-back": "", + onClick: r, + className: Ka, + children: [/* @__PURE__ */ i(Y, { + name: "chevronLeft", + size: 16, + className: "text-fg-muted rtl:-scale-x-100" + }), /* @__PURE__ */ i("span", { + className: "flex-1 truncate", + children: s("menu.back") + })] + }), o && /* @__PURE__ */ i("div", { + className: "text-fg px-2.5 pb-1 pt-2 text-sm font-semibold", + children: o + })] + }), /* @__PURE__ */ i(Ur.Provider, { + value: !0, + children: a + })] + }); +} +const Cs = /* @__PURE__ */ new WeakMap(); +function xr(e) { + let t = Cs.get(e); + return t || (t = /* @__PURE__ */ new Map(), Cs.set(e, t)), t; +} +function Yo({ menuId: e, className: t = "relative inline-flex", children: n }) { + const o = ee(H), r = Zg((c) => c.openMenus.includes(e)), a = k(null), [, s] = kt((c) => c + 1, 0), l = o ? xr(o).get(e) : void 0, d = r && l !== void 0 && l === a.current; + return R(() => { + const c = a.current; + if (!o || !c) return; + const p = xr(o), f = p.get(e); + if (!r) { + f === c && p.delete(e); + return; + } + !f?.isConnected && !c.closest(gd) && (p.set(e, c), s()); + }), /* @__PURE__ */ i("span", { + ref: a, + className: t, + onClickCapture: (c) => { + const p = c.target, f = p.closest("[aria-haspopup]") && !p.closest('[role="menu"]'); + o && a.current && f && xr(o).set(e, a.current); }, - pageNumber: { - page: "{current} / {total}", - pages: "{first}–{last} / {total}", - goToPage: "Go to page" + children: [n(d), d && /* @__PURE__ */ i(Fn, { + onClose: () => o?.closeMenu(e), + children: /* @__PURE__ */ i(ja, { + menuId: e, + onRun: () => o?.closeMenu(e) + }) + })] + }); +} +const yd = (e) => { + const t = e.filter((o) => !o.menu), n = t.filter((o) => o.active).length; + return n === 0 ? "none" : n === 1 && t.length > 1 ? "radio" : "checkbox"; +}, D0 = { + none: "menuitem", + radio: "menuitemradio", + checkbox: "menuitemcheckbox" +}, _d = "flex w-full items-center gap-3 rounded-md px-2.5 py-1.5 text-start text-sm outline-none transition-colors aria-disabled:cursor-not-allowed aria-disabled:opacity-40", Ka = `${_d} text-fg-secondary hover:bg-hover focus-visible:bg-hover aria-disabled:hover:bg-transparent`, $0 = `${_d} bg-selected text-accent focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-accent forced-colors:outline-2 forced-colors:outline-solid forced-colors:-outline-offset-2`, xd = (e) => we(e.enabled ? null : { + label: e.label, + reason: e.disabledReason, + labelShown: !0 +}, { inMenu: !0 }); +function Bn({ command: e, choice: t, onSelect: n }) { + const o = t !== "none" && e.active, [r] = e.shortcuts, a = xd(e); + return /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("button", { + ...a.trigger, + type: "button", + tabIndex: -1, + role: D0[t], + "aria-checked": t === "none" ? void 0 : e.active, + "aria-disabled": e.enabled ? void 0 : !0, + part: o ? "menu-item menu-item-active" : "menu-item", + onClick: () => { + e.enabled && n(); }, - comments: { - forbidden: "You don’t have access to comments on this document.", - loading: "Loading comments…", - error: "Comments failed to load.", - retry: "Retry", - empty: "No comments yet. Use the note tool to start a thread.", - emptyReadOnly: "No comments on this document.", - anonymous: "Guest", - page: "Page {page}", - count: { - one: "{count} comment", - other: "{count} comments" - }, - reply: "Reply", - replyPlaceholder: "Reply…", - addPlaceholder: "Add a comment…", - delete: "Delete comment", - deleteThread: "Delete thread", - edit: "Edit comment", - status: "Status", - statusNone: "No status", - statusAccepted: "Accepted", - statusRejected: "Rejected", - statusCancelled: "Cancelled", - statusCompleted: "Completed", - markCompleted: "Mark as completed" + className: o ? $0 : Ka, + children: [ + e.icon && /* @__PURE__ */ i(Y, { + name: e.icon, + size: 16, + accent: e.iconAccent, + className: `${o ? "text-accent" : "text-fg-muted"} ${Zt(e.icon)}` + }), + /* @__PURE__ */ i("span", { + className: "flex-1 truncate", + children: e.label + }), + r && /* @__PURE__ */ i("span", { + className: "text-fg-muted ms-4 text-xs [font-variant-emoji:text]", + children: Sc(r) + }) + ] + }), a.element] }); +} +function kd({ command: e, menuId: t, onRun: n }) { + const [o, r] = C(!1), a = X(wd), s = xd(e); + return /* @__PURE__ */ i("div", { + role: "none", + className: "relative", + children: [ + /* @__PURE__ */ i("button", { + ...s.trigger, + type: "button", + tabIndex: -1, + role: "menuitem", + "aria-haspopup": "menu", + "aria-expanded": o, + "aria-disabled": e.enabled ? void 0 : !0, + part: "menu-item", + onClick: (l) => { + e.enabled && (a ? a({ + menuId: t, + label: e.label, + opener: l.currentTarget, + onRun: n + }) : r((d) => !d)); + }, + className: `${Ka} ${o ? "bg-hover" : ""}`, + children: [ + e.icon && /* @__PURE__ */ i(Y, { + name: e.icon, + size: 16, + accent: e.iconAccent, + className: `text-fg-muted ${Zt(e.icon)}` + }), + /* @__PURE__ */ i("span", { + className: "flex-1 truncate", + children: e.label + }), + /* @__PURE__ */ i(Y, { + name: "chevronRight", + size: 16, + className: "text-fg-muted rtl:-scale-x-100" + }) + ] + }), + s.element, + o && /* @__PURE__ */ i(Fn, { + onClose: () => r(!1), + children: /* @__PURE__ */ i(ja, { + menuId: t, + onRun: n + }) + }) + ] + }); +} +function z0({ commandId: e, choice: t, onRun: n }) { + const o = Ce(e); + return o.visible ? o.menu ? /* @__PURE__ */ i(kd, { + command: o, + menuId: o.menu, + onRun: n + }) : /* @__PURE__ */ i(Bn, { + command: o, + choice: t, + onSelect: () => { + o.run(), n?.(); + } + }) : null; +} +function Sd({ title: e, first: t, children: n }) { + const o = Je(); + return /* @__PURE__ */ i(D, { children: [!t && /* @__PURE__ */ i("div", { + role: "separator", + className: "bg-border-subtle my-1 h-px" + }), /* @__PURE__ */ i("div", { + role: "group", + "aria-labelledby": e ? o : void 0, + children: [e && /* @__PURE__ */ i("div", { + id: o, + className: "text-fg-muted px-2.5 pb-1 pt-1.5 text-[11px] font-semibold uppercase tracking-wide", + children: e + }), n] + })] }); +} +const F0 = (e, t) => e.length === t.length && e.every((n, o) => n === t[o]); +function ja({ menuId: e, onRun: t }) { + const n = Q(), o = qb(e), r = ke(), a = _e() ?? void 0, s = le(() => (o ?? []).map((d) => { + const c = d.items.map((p) => r.resolveCommand(p, a)).filter((p) => p?.visible === !0); + return c.length === 0 ? null : yd(c); + }), F0); + if (!o) return null; + const l = o.flatMap((d, c) => { + const p = s[c]; + return p ? [{ + section: d, + choice: p + }] : []; + }); + return l.length === 0 ? null : /* @__PURE__ */ i("div", { + className: "min-w-52 p-1", + children: l.map(({ section: d, choice: c }, p) => /* @__PURE__ */ i(Sd, { + first: p === 0, + title: d.title ?? (d.titleKey ? n(d.titleKey) : void 0), + children: d.items.map((f) => /* @__PURE__ */ i(z0, { + commandId: f, + choice: c, + onRun: t + }, f)) + }, p)) + }); +} +function Xo({ view: e, align: t }) { + const n = Q(); + if (!e.isOpen) return null; + const o = e.sections.map((r) => { + const a = r.rows.flatMap((s) => { + const l = e.resolve(s.command); + return l ? [{ + row: s, + command: l + }] : []; + }); + return { + section: r, + rows: a, + choice: r.role === "radio" ? "radio" : yd(a.map(({ command: s }) => s)) + }; + }); + return /* @__PURE__ */ i(Fn, { + onClose: e.close, + align: t, + children: /* @__PURE__ */ i("div", { + className: "min-w-56 p-1", + children: o.map(({ section: r, rows: a, choice: s }, l) => /* @__PURE__ */ i(Sd, { + first: l === 0, + title: r.labelKey ? n(r.labelKey) : void 0, + children: a.map(({ row: d, command: c }) => d.kind === "submenu" ? /* @__PURE__ */ i(kd, { + command: c, + menuId: d.menu, + onRun: e.close + }, d.command) : /* @__PURE__ */ i(Bn, { + command: c, + choice: s, + onSelect: () => { + e.execute(d.command), e.close(); + } + }, d.command)) + }, l)) + }) + }); +} +const Es = "flex h-8 w-auto min-w-8 cursor-pointer items-center justify-center rounded-md p-[5px] transition-colors", B0 = "hover:bg-hover hover:ring hover:ring-accent", K0 = "border-none bg-selected text-accent shadow ring ring-accent", j0 = "cursor-not-allowed opacity-50 hover:bg-transparent hover:ring-0", H0 = "bg-accent text-on-accent hover:bg-accent-hover", U0 = "border-none bg-accent-active text-on-accent shadow", G0 = "cursor-not-allowed opacity-50 hover:bg-accent"; +function De(e, t = !0, n) { + return n === "primary" ? `${Es} ${e ? U0 : H0} ${t ? "" : G0}` : `${Es} ${e ? K0 : B0} ${t ? "" : j0}`; +} +const Me = (e, t) => [ + "toolbar-button", + t === "primary" ? "toolbar-button-primary" : null, + e ? "toolbar-button-active" : null +].filter(Boolean).join(" "), Zo = (e) => `toolbar toolbar-${e}`, Md = (e) => e ? "mode-tab mode-tab-active" : "mode-tab", W0 = "flex h-8 w-auto min-w-8 cursor-pointer items-center justify-center rounded-none border-b-2 px-2 py-1 text-sm transition-colors hover:bg-transparent hover:border-b-fg-muted", V0 = "border-b-accent text-accent hover:border-b-accent", q0 = "border-b-transparent", Od = (e, t = !0) => `${W0} ${e ? V0 : q0} ${t ? "" : "cursor-not-allowed opacity-50"}`; +function Gt(e, t = !1) { + const [n] = e.shortcuts; + return { + label: e.label, + shortcut: n === void 0 ? null : Sc(n), + reason: e.enabled ? null : e.disabledReason ?? null, + labelShown: t + }; +} +function Jo({ cmd: e, variant: t, run: n, emphasis: o }) { + const r = t === "label", a = we(Gt(e, r || t === "icon+label" || !e.icon)), s = (l) => /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("button", { + ...a.trigger, + type: "button", + onClick: n, + disabled: !e.enabled, + "aria-pressed": e.pressable ? l : void 0, + "aria-haspopup": e.menu ? "menu" : void 0, + "aria-expanded": e.menu ? l : void 0, + "aria-label": e.label, + part: r ? Md(l) : Me(l, o), + className: r ? Od(l, e.enabled) : `${De(l, e.enabled, o)} ${o === "primary" && t === "icon+label" ? "px-2.5" : ""}`, + children: r ? /* @__PURE__ */ i("span", { + className: "whitespace-nowrap px-1", + children: e.label + }) : t === "icon+label" ? /* @__PURE__ */ i("span", { + className: "flex items-center whitespace-nowrap text-sm", + children: [e.icon && /* @__PURE__ */ i(Y, { + name: e.icon, + size: 20, + accent: e.iconAccent, + className: `me-1.5 shrink-0 ${Zt(e.icon)}` + }), /* @__PURE__ */ i("span", { children: e.label })] + }) : e.icon ? /* @__PURE__ */ i(Y, { + name: e.icon, + size: 20, + accent: e.iconAccent, + className: Zt(e.icon) + }) : /* @__PURE__ */ i("span", { + className: "text-sm", + children: e.label + }) + }), a.element] }); + return e.menu ? /* @__PURE__ */ i(Yo, { + menuId: e.menu, + children: s + }) : s(e.active); +} +const kr = { + [wl]: "", + className: "contents" +}; +function Y0() { + const e = Q(), t = ke(), n = Ce("zoom:in"), o = Ce("zoom:out"), r = Ce("menu:zoom"), a = we(Gt(n)), s = we(Gt(o)), l = we(Gt(r)), d = ee(H), c = ee(ct), p = ae(ct, (h) => h.getZoomLevel(), 1), f = Math.round((p ?? 1) * 100), [u, m] = C(String(f)); + E(() => m(String(f)), [f]); + const g = (h) => { + h.preventDefault(); + const b = parseFloat(u); + !isNaN(b) && b > 0 && c?.zoomTo({ level: b / 100 }); + }; + return /* @__PURE__ */ i(Yo, { + menuId: "zoom", + className: "relative block", + children: (h) => /* @__PURE__ */ i("div", { + className: "bg-hover flex items-center rounded", + children: [ + /* @__PURE__ */ i("form", { + onSubmit: g, + className: "flex min-w-0 flex-nowrap items-center overflow-hidden whitespace-nowrap", + children: [/* @__PURE__ */ i("input", { + name: "zoom", + type: "text", + inputMode: "numeric", + pattern: "\\d*", + "aria-label": e("commands.zoom.level"), + className: "h-6 w-8 min-w-0 shrink border-0 bg-transparent p-0 text-end text-sm outline-none focus:outline-none", + value: u, + onChange: (b) => m(b.target.value.replace(/[^0-9]/g, "")), + onBlur: () => { + (!u || parseFloat(u) <= 0) && m(String(f)); + } + }), /* @__PURE__ */ i("span", { + className: "shrink-0 text-sm", + children: "%" + })] + }), + /* @__PURE__ */ i("span", { + ...kr, + children: [/* @__PURE__ */ i("button", { + ...l.trigger, + type: "button", + "aria-haspopup": "menu", + "aria-expanded": h, + "aria-label": r.label, + part: Me(!1), + className: De(!1), + onClick: () => d?.toggleMenu("zoom"), + children: /* @__PURE__ */ i(Y, { + name: "chevronDown", + size: 20 + }) + }), l.element] + }), + /* @__PURE__ */ i("span", { + ...kr, + children: [/* @__PURE__ */ i("button", { + ...s.trigger, + type: "button", + "aria-label": o.label, + disabled: !o.enabled, + part: Me(!1), + className: De(!1, o.enabled), + onClick: () => t.execute("zoom:out"), + children: /* @__PURE__ */ i(Y, { + name: "zoomOut", + size: 20 + }) + }), s.element] + }), + /* @__PURE__ */ i("span", { + ...kr, + children: [/* @__PURE__ */ i("button", { + ...a.trigger, + type: "button", + "aria-label": n.label, + disabled: !n.enabled, + part: Me(!1), + className: De(!1, n.enabled), + onClick: () => t.execute("zoom:in"), + children: /* @__PURE__ */ i(Y, { + name: "zoomIn", + size: 20 + }) + }), a.element] + }) + ] + }) + }); +} +function X0() { + const e = ee(H), t = Ce("menu:zoom"), n = we(Gt(t)); + return /* @__PURE__ */ i(Yo, { + menuId: "zoom", + children: (o) => /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("button", { + ...n.trigger, + type: "button", + "aria-label": t.label, + "aria-haspopup": "menu", + "aria-expanded": o, + part: Me(o), + className: De(o), + onClick: () => e?.toggleMenu("zoom"), + children: /* @__PURE__ */ i(Y, { + name: "zoomIn", + size: 20 + }) + }), n.element] }) + }); +} +function Z0({ view: e }) { + const [t, n] = C(!1), o = e.commands.some((r) => r.active); + return /* @__PURE__ */ i("span", { + className: "relative inline-flex", + children: [/* @__PURE__ */ i("button", { + type: "button", + onClick: () => n((r) => !r), + "aria-haspopup": "menu", + "aria-expanded": t, + part: e.id === "modes" ? Md(o) : Me(t), + className: Od(o), + children: /* @__PURE__ */ i(Y, { + name: "chevronDown", + size: 18 + }) + }), /* @__PURE__ */ i(Xo, { view: Tn(e, t, () => n(!1)) })] + }); +} +function J0({ view: e }) { + const [t, n] = C(!1), o = e.commands.find((a) => a.active) ?? e.commands[0], r = !!(o?.active && o.id !== cl); + return /* @__PURE__ */ i("div", { + style: { width: 100 }, + className: "relative", + children: [/* @__PURE__ */ i("button", { + type: "button", + onClick: () => n((a) => !a), + "aria-haspopup": "menu", + "aria-expanded": t, + part: Me(t), + className: "bg-surface hover:bg-hover flex w-full cursor-pointer appearance-none items-center rounded-md py-1.5 pe-2 ps-3 text-[13px] transition-colors", + children: [/* @__PURE__ */ i("span", { + className: `min-w-0 flex-1 truncate text-start ${r ? "text-accent" : "text-fg"}`, + children: o?.label + }), /* @__PURE__ */ i(Y, { + name: "chevronDown", + size: 16, + className: r ? "text-accent" : "text-fg-secondary" + })] + }), /* @__PURE__ */ i(Xo, { view: Tn(e, t, () => n(!1)) })] + }); +} +function Q0({ view: e }) { + const t = Q(), [n, o] = C(!1), r = e.commands.find((l) => l.active) ?? e.commands[0], a = e.labelKey ? t(e.labelKey) : r?.label, s = we(a ? { + label: a, + labelShown: !r?.icon + } : null); + return /* @__PURE__ */ i("span", { + className: "relative inline-flex", + children: [ + /* @__PURE__ */ i("button", { + ...s.trigger, + type: "button", + onClick: () => o((l) => !l), + "aria-haspopup": "menu", + "aria-expanded": n, + "aria-label": a, + part: Me(n), + className: De(n), + children: [r?.icon ? /* @__PURE__ */ i(Y, { + name: r.icon, + size: 20, + accent: r.iconAccent, + className: Zt(r.icon) + }) : /* @__PURE__ */ i("span", { + className: "whitespace-nowrap px-1 text-sm", + children: a + }), /* @__PURE__ */ i(Y, { + name: "chevronDown", + size: 14, + className: "text-fg-secondary" + })] + }), + s.element, + /* @__PURE__ */ i(Xo, { view: Tn(e, n, () => o(!1)) }) + ] + }); +} +function e1({ view: e }) { + return /* @__PURE__ */ i(Xo, { + view: e, + align: "end" + }); +} +function t1({ isOpen: e, toggle: t }) { + const n = Q()("demo.more"), o = we({ label: n }); + return /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("button", { + ...o.trigger, + type: "button", + onClick: t, + "aria-haspopup": "menu", + "aria-expanded": e, + "aria-label": n, + part: Me(e), + className: De(e), + children: /* @__PURE__ */ i(Y, { + name: "dots", + size: 20 + }) + }), o.element] }); +} +const Pd = (e) => [ + ...e.sections.start ?? [], + ...e.sections.center ?? [], + ...e.sections.end ?? [] +].flatMap((t) => t.items); +function n1(e) { + return Pd(e).filter((t) => typeof t == "object" && "slot" in t); +} +function Td(e) { + return new Set(Pd(e).flatMap((t) => typeof t == "object" && "command" in t && t.emphasis === "primary" ? [t.command] : [])); +} +function o1({ commandId: e }) { + const t = Ce(e); + return t.visible ? /* @__PURE__ */ i(Jo, { + cmd: t, + variant: "icon", + run: () => void t.run() + }) : null; +} +function Ha({ bar: e, orientation: t = "horizontal", gap: n = 8, className: o }) { + const r = t === "vertical", a = j(() => Td(e), [e]), s = { + "measurement-scale": () => /* @__PURE__ */ i(s0, {}), + zoom: (l) => l === "button" || r ? /* @__PURE__ */ i(X0, {}) : /* @__PURE__ */ i(Y0, {}), + "quick-stamps": () => /* @__PURE__ */ i(h0, {}), + "page-number": () => /* @__PURE__ */ i(m0, {}), + "view-only": (l) => /* @__PURE__ */ i(y0, { compact: l === "icon" || r }), + "outline-filter": (l) => /* @__PURE__ */ i(u0, { variant: l }), + "attachments-count": () => /* @__PURE__ */ i(l0, {}) + }; + return /* @__PURE__ */ i(Zv, { + bar: e, + orientation: t, + gap: n, + separatorWidth: 1, + className: o, + renderCommand: (l, d, c) => /* @__PURE__ */ i(Jo, { + cmd: l, + variant: d, + run: c, + emphasis: a.has(l.id) ? "primary" : void 0 + }), + renderCustom: { + ...Object.fromEntries(n1(e).filter((l) => !Object.prototype.hasOwnProperty.call(s, l.slot)).map((l) => [l.slot, (d, c) => c.layer === "measure" ? null : /* @__PURE__ */ i(P0, { + id: l.slot, + variant: l.variants ? d : null, + orientation: t, + grow: l.grow === !0, + measure: c.measure, + children: l.terminal ? /* @__PURE__ */ i(o1, { commandId: l.terminal }) : null + })])), + ...s }, - demo: { - starting: "Starting viewer…", - opening: "Opening document…", - pageLoading: "Loading page {page}…", - pageError: "This page couldn’t load.", - pageForbidden: "You don’t have access to this page.", - more: "More", - searchPlaceholder: "Search document…", - searchCaseSensitive: "Case sensitive", - searchWholeWord: "Whole word", - searchRegex: "Regular expression", - searchSearching: "Searching…", - searchResults: { - one: "{count} result found", - other: "{count} results found" - }, - searchNoResults: "No results", - searchPrevious: "Previous result", - searchNext: "Next result", - searchPage: "Page {page}", - searchHitOf: "{current} of {total}", - searchResult: "Result {index}", - searchOptions: "Search options", - empty: "Nothing here yet in this demo panel.", - cancel: "Cancel", - pageBadge: "p. {page}", - redactionEmpty: "No pending redactions. Use the Redact tool to mark text or areas.", - redactionArea: "Area mark", - redactionText: "Text mark", - redactionRemove: "Remove mark", - redactConfirmTitle: { - one: "Apply redaction?", - other: "Apply redactions?" - }, - redactConfirmBody: { - one: "Permanently remove the content under {count} redaction mark. This cannot be undone.", - other: "Permanently remove the content under {count} redaction marks. This cannot be undone." - }, - redactConfirmCollateral: { - one: "{count} other annotation will also be removed.", - other: "{count} other annotations will also be removed." - }, - redactApply: "Apply", - redactApplying: "Applying…", - formatLabel: "Format", - fieldSettingsTitle: "Field", - fieldOptionLabel: "Label", - fieldOptionValue: "Value", - fieldOptionAdd: "Add option", - fieldOptionRemove: "Remove option", - fieldNone: "None", - redactLabelTitle: "Redaction label", - redactLabelPlaceholder: "e.g. REDACTED", - redactLabelRepeat: "Repeat label across region", - stampsAll: "All stamps", - stampsLoading: "Loading stamps…", - stampsEmpty: "No stamps yet. Import a PDF to turn each of its pages into a stamp.", - stampsRemoveStamp: "Remove stamp", - stampsArmedHint: "Click a page to place the stamp.", - stampsImport: "Import PDF…", - stampsImporting: "Importing…", - stampsImportHint: "Import a PDF as a stamp library — each page becomes one stamp.", - stampsRemoveLibrary: "Remove library", - stampsExportLibrary: "Export library as PDF", - stampsCustomLibrary: "My stamps", - stampsCustomLabel: "Custom stamp", - stampsError: "The built-in stamps could not be loaded.", - stampsArmError: "That stamp could not be armed.", - stampsImportError: "That PDF could not be imported as a stamp library.", - quickStampsLabel: "Quick stamps", - signaturesEmpty: "No signatures yet. Create one to sign with.", - signaturesNew: "New signature…", - signaturesArmedHint: "Click a signature field to sign it, or anywhere on a page to place the mark.", - signaturesTargetHint: "Pick a mark for the selected field.", - signaturesInDocument: "In this document", - signaturesNone: "This document has no signature fields.", - signaturesValidate: "Validate", - signaturesValidating: "Validating…", - signaturesSigned: "Signed", - signaturesUnsigned: "Unsigned", - signaturesRename: "Rename", - signaturesRemove: "Remove", - signaturesExport: "Export as PDF", - signaturesAddInitials: "Add initials", - signatureLabel: "Signature", - initialsLabel: "Initials", - makerTitle: "New signature", - makerName: "Name", - makerNamePlaceholder: "Your name", - makerDraw: "Draw", - makerType: "Type", - makerUpload: "Upload", - makerTypePlaceholder: "Type your name", - makerFont: "Font", - makerUploadHint: "Choose a PNG, JPEG, or one-page PDF", - makerClear: "Clear", - makerOptional: "(optional)", - makerSave: "Save", - makerSaving: "Saving…", - makerError: "The signature could not be saved.", - signTitle: "Sign this field", - signReason: "Reason", - signLocation: "Location", - signKind: "What may change afterwards", - signKindApproval: "Approval signature — form filling and more signatures stay valid", - signKindCertifyAnnotate: "Certify — allow comments, form filling and signatures", - signKindCertifyFill: "Certify — allow form filling and signatures only", - signKindCertifyLocked: "Certify — allow no changes", - signButton: "Sign", - signSigning: "Signing…", - signFill: "Place without signing", - signError: "The field could not be signed.", - inspectTitle: "Signature", - inspectSigner: "Signed by", - inspectReason: "Reason", - inspectLocation: "Location", - inspectTime: "Time", - inspectIntegrity: "Document", - inspectCryptography: "Signature", - inspectTrust: "Signer", - inspectChanges: "Changes since", - inspectDownload: "Download signed version", - verdictValid: "Valid", - verdictValidUntrusted: "Valid, signer not trusted", - verdictInvalid: "Invalid — modified after signing", - verdictWillInvalidate: "Valid, invalid once saved", - signaturesInvalidating: "This change will invalidate {field} when the document is saved. Undo it to keep the signature.", - verdictIndeterminate: "Could not be verified", - verdictUnchanged: "None", - verdictRestored: "Changed, then restored", - inspectLaterRevisions: "Revisions after signing", - verdictPermitted: "Permitted", - verdictForbidden: "Not permitted" - } - } -}, Ms = { - de: () => import("./de-Brfb8qPY-DjSVSg7f.js").then((e) => e.de), - fr: () => import("./fr-CxJ-h5zO-Ct_Z5wYg.js").then((e) => e.fr), - es: () => import("./es-MfgrlNdR-DW332Lm9.js").then((e) => e.es), - it: () => import("./it-B0rNVsFK-C9JKRTCT.js").then((e) => e.it), - nl: () => import("./nl-DMicqqYw-jDRpgMWC.js").then((e) => e.nl), - pt: () => import("./pt-DyQ0sdQk-DbzdajDg.js").then((e) => e.pt), - pl: () => import("./pl-BrqfUcaS-BK8oIkBd.js").then((e) => e.pl), - sv: () => import("./sv-BU7Kv6y9-DVYIsZF9.js").then((e) => e.sv), - ja: () => import("./ja-NIsVo9eS-TU5VOOvE.js").then((e) => e.ja), - "zh-CN": () => import("./zh-cn-CJUxCiaS-DJhfzusu.js").then((e) => e.zhCN), - "zh-TW": () => import("./zh-tw-C8JAsPYs-Ct2GX9YM.js").then((e) => e.zhTW), - ko: () => import("./ko-DGQjyIlu-BBjTyYlT.js").then((e) => e.ko), - ar: () => import("./ar-8tnB9ZtN-6jbI8wNW.js").then((e) => e.ar), - he: () => import("./he-DdQ5RKLM-DWlzNFC0.js").then((e) => e.he) -}, Ps = (e, t, n = "en") => la(t, e !== "auto" ? [e] : typeof navigator < "u" ? navigator.languages : []) ?? n, t1 = (e, t) => e === void 0 ? "en" : la(t, [e]), zr = (e) => typeof e == "object" && e !== null; -function So(e, t) { - const n = { ...e }; - for (const [o, r] of Object.entries(t)) { - const a = o.split("."); - let s = n; - for (let c = 0; c < a.length - 1; c++) { - const p = s[a[c]]; - s = s[a[c]] = zr(p) ? { ...p } : {}; - } - const l = a[a.length - 1], d = s[l]; - s[l] = typeof r == "string" ? r : So(zr(d) ? d : {}, r); - } - return n; + renderCollapsed: (l) => l.id === "modes" ? /* @__PURE__ */ i(J0, { view: l }) : l.collapse === "menu" ? /* @__PURE__ */ i(Q0, { view: l }) : void 0, + renderGroupTrigger: (l) => /* @__PURE__ */ i(Z0, { view: l }), + renderSeparator: () => /* @__PURE__ */ i("span", { className: `bg-border self-center ${r ? "h-px w-6" : "h-6 w-px"}` }), + renderOverflowTrigger: (l, d) => /* @__PURE__ */ i(t1, { + isOpen: l, + toggle: d + }), + renderOverflowMenu: (l) => /* @__PURE__ */ i(e1, { view: l }) + }); } -const Jn = (e, t) => t ? { - ...e, - translations: So(e.translations, t) -} : e, wr = (e) => typeof e == "function", n1 = (e) => zr(e.default) ? e.default : e; -function o1(e) { - const t = e.filter((o) => !wr(o)).reduce((o, r) => So(o ?? {}, r), void 0); - return e.some(wr) ? { - words: t, - load: () => Promise.all(e.map((o) => wr(o) ? o().then(n1) : Promise.resolve(o))).then((o) => o.reduce(So, {})) - } : { - words: t, - load: void 0 - }; +const r1 = [ + "accent", + "background", + "surface", + "surface-raised", + "text", + "text-muted", + "border", + "hover", + "canvas", + "page-background", + "page-shadow", + "tooltip", + "tooltip-text", + "radius", + "font" +], Cd = (e) => typeof e == "string" ? { preference: e } : e ?? {}, a1 = (e) => r1.includes(e); +function i1(e) { + return Object.entries(e).filter(([t, n]) => n === void 0 ? !1 : a1(t) ? typeof n != "string" || /[{};]/.test(n) ? (console.warn(`[embedpdf] theme: ignoring the invalid value of "${t}"`), !1) : !0 : (console.warn(`[embedpdf] theme: "${t}" isn't a token, ignored`), !1)).map(([t, n]) => `--epdf-${t}:var(--embedpdf-host-${t},${n});`).join(""); } -const r1 = /* @__PURE__ */ new Set([ - "Adlm", - "Arab", - "Aran", - "Hebr", - "Mand", - "Mend", - "Nkoo", - "Rohg", - "Samr", - "Syrc", - "Thaa", - "Yezi" -]); -function a1(e) { - try { - const { script: t } = new Intl.Locale(e).maximize(); - return t !== void 0 && r1.has(t) ? "rtl" : "ltr"; - } catch { - return "ltr"; - } +function Sr(e, t) { + const n = t ? i1(t) : ""; + return n ? `${e}{${n}}` : ""; } -function i1(e) { - try { - return new Intl.DisplayNames([e], { type: "language" }).of(e) ?? e; - } catch { - return e; - } +function s1(e, t) { + const { accent: n, tokens: o, light: r, dark: a } = Cd(e); + return Sr(t, { + ...n === void 0 ? null : { accent: n }, + ...o + }) + Sr(`${t}:not(.dark)`, r) + Sr(`${t}.dark`, a); } -function s1(e = {}) { - const t = ["en", ...Object.keys(Ms)], n = (d) => t.find((c) => c.toLowerCase() === d.toLowerCase()), o = /* @__PURE__ */ new Map(); - for (const [d, c] of Object.entries(e)) { - const p = n(d) ?? d; - o.set(p, [...o.get(p) ?? [], c]); - } - const r = new Map([...o].map(([d, c]) => [d, o1(c)])), a = r.get("en"), s = [Jn(Ss, a?.words)], l = {}; - if (a?.load) { - const d = a.load; - l.en = () => d().then((c) => Jn(Ss, c)); - } - for (const [d, c] of Object.entries(Ms)) { - const p = r.get(d), f = p?.load, u = p?.words; - l[d] = f ? () => Promise.all([c(), f()]).then(([m, b]) => Jn(m, b)) : u ? () => c().then((m) => Jn(m, u)) : c; - } - for (const [d, { words: c, load: p }] of r) { - if (n(d) !== void 0) continue; - const f = { - code: d, - name: i1(d), - direction: a1(d) +const Ed = be(null), Ad = "(prefers-color-scheme: dark)", l1 = () => typeof window < "u" && window.matchMedia?.(Ad).matches ? "dark" : "light"; +function c1({ children: e, preference: t = "system", target: n }) { + const [o, r] = C(l1); + E(() => { + if (t !== "system" || typeof window > "u" || !window.matchMedia) return; + const l = window.matchMedia(Ad), d = () => r(l.matches ? "dark" : "light"); + return d(), l.addEventListener("change", d), () => l.removeEventListener("change", d); + }, [t]); + const a = t === "system" ? o : t; + R(() => { + (n ?? document.documentElement).classList.toggle("dark", a === "dark"); + }, [a, n]); + const s = j(() => ({ mode: a }), [a]); + return /* @__PURE__ */ i(Ed.Provider, { + value: s, + children: e + }); +} +function ax() { + const e = X(Ed); + if (!e) throw new Error("useTheme must be used within "); + return e; +} +function Ua({ labelledBy: e, onClose: t, className: n, children: o }) { + const r = k(null), a = k(null), s = k(t); + return s.current = t, R(() => { + const l = r.current, d = a.current; + if (!l || !d) return; + const c = Wc(l), p = Vo(d, { onEscape: () => s.current() }); + return () => { + p.release(), c(); }; - p ? l[d] = () => p().then((u) => ({ - ...f, - translations: u - })) : s.push({ - ...f, - translations: c ?? {} - }); - } - return { - locales: s, - loaders: l, - codes: [.../* @__PURE__ */ new Set([...t, ...o.keys()])] + }, []), /* @__PURE__ */ i("div", { + ref: r, + ...La, + "data-epdf-layer": "", + className: `${Gc} place-items-center p-4 open:grid`, + style: { + position: "fixed", + inset: "auto", + maxWidth: "none", + maxHeight: "none" + }, + children: [/* @__PURE__ */ i("div", { + "aria-hidden": "true", + className: `absolute inset-0 ${Ra}` + }), /* @__PURE__ */ i("div", { + ref: a, + role: "dialog", + "aria-modal": "true", + "aria-labelledby": e, + className: `relative max-h-full max-w-full overflow-y-auto ${n}`, + children: o + })] + }); +} +function Nd(e) { + let t = null; + return () => { + if (!t) { + const n = e(); + n.catch(() => { + t === n && (t = null); + }), t = n; + } + return t; }; } -const Fa = { - stage: lt, - thumbnails: yn, - render: tn, - link: ho, - selection: An, - search: rn, - annotation: we, - stamp: Pe, - measurement: xt, - redaction: gt, - form: nn, - signature: on, - pageEdit: Do, - metadata: gm, - fonts: mm, - outline: Lo, - attachment: Ro, - actions: wl, - documents: Oe, - interaction: Cn, - commands: De, - shell: K, - i18n: En -}, l1 = Symbol.for("@embedpdf/viewer/kernel"), c1 = "this viewer is gone: it was unmounted, or mounted again with a new config. Use the viewer the new onReady gives you.", d1 = /^(?:on|register)(?:[A-Z]|$)/, u1 = (e) => { +const d1 = cm.map((e) => ({ + key: e.key, + label: e.label, + bytes: Nd(() => dm(e.key)) +})), u1 = (e) => async () => { + if (e.data) return new Uint8Array(e.data); + if (!e.url) throw new Error(`[embedpdf] signature font "${e.key}" has no url or data`); + const t = await fetch(e.url); + if (!t.ok) throw new Error(`${e.url}: HTTP ${t.status}`); + return new Uint8Array(await t.arrayBuffer()); +}, As = /* @__PURE__ */ new WeakMap(); +function p1(e) { + if (!e) return d1; + let t = As.get(e); + return t || (t = e.map((n) => ({ + key: n.key, + label: n.label, + bytes: Nd(u1(n)) + })), As.set(e, t)), t; +} +const f1 = (e) => p1(e).map((t) => ({ + key: t.key, + load: t.bytes +})), Mr = /* @__PURE__ */ new WeakMap(); +function ix(e) { + let t = Mr.get(e); + return t || (t = (async () => { + if (!globalThis.crypto?.subtle) return null; + const n = await e.bytes(), o = new Uint8Array(await crypto.subtle.digest("SHA-256", n)), r = Array.from(o, (a) => a.toString(16).padStart(2, "0")).join(""); + return { + hash: r, + family: lm(r), + weight: 400, + style: "normal", + load: async () => n + }; + })(), Mr.set(e, t), t.catch(() => Mr.delete(e))), t; +} +function m1(e) { + const t = ee(Ml), n = ee(xl), o = k(e); + o.current = e, E(() => { + if (!t) return; + const r = sf({ + overrides: () => o.current, + goToPage: (a) => n?.goToPage(a) + }); + return t.setUiAdapter(r); + }, [t, n]); +} +function h1({ onHitClick: e }) { + const t = ze(), n = w1(t.ref), o = g1((u) => u.activeHit), r = b1((u) => u.highlight), [a] = C(cf); + if (n.length === 0) return null; + const s = We("search-highlight", r.color), l = We("search-highlight-active", r.activeColor), d = We( + "search-blend-mode", + r.blendMode + ), c = e ? { pointerEvents: "auto", cursor: "pointer" } : null, p = (u) => e && { + onPointerDown: (m) => a.press(m), + onClick: (m) => { + a.isClick(m) && e(u); + } + }, f = lf(n, { + active: o, + page: t.transform, + color: s, + activeColor: l + }); + return /* @__PURE__ */ i("div", { style: { position: "absolute", inset: 0, pointerEvents: "none" }, children: f.map( + (u) => u.box ? /* @__PURE__ */ i( + "div", + { + ...p(u.hit), + style: { + position: "absolute", + left: u.box.left, + top: u.box.top, + width: u.box.width, + height: u.box.height, + backgroundColor: u.fill, + mixBlendMode: d, + borderRadius: 2, + ...c + } + }, + u.key + ) : /* @__PURE__ */ i( + "svg", + { + style: { + position: "absolute", + inset: 0, + width: "100%", + height: "100%", + overflow: "visible", + mixBlendMode: d + }, + children: /* @__PURE__ */ i( + "polygon", + { + points: u.points ?? void 0, + ...p(u.hit), + style: { fill: u.fill, ...c } + } + ) + }, + u.key + ) + ) }); +} +function sx() { + return U(on); +} +const g1 = Ae(wm), b1 = an(on), v1 = Object.freeze([]); +function w1(e) { + const t = Ze(); + return le( + (n) => n.tryCapability(on, t ?? void 0)?.listHits(e === void 0 ? void 0 : { page: e }) ?? v1 + ); +} +const _n = gf("stage-thumbs"), Ga = { + stage: ct, + thumbnails: _n, + render: en, + link: bo, + selection: Nn, + search: on, + annotation: ye, + stamp: Oe, + measurement: _t, + redaction: ht, + form: tn, + signature: nn, + pageEdit: Ko, + metadata: km, + fonts: _m, + outline: Fo, + attachment: Bo, + actions: Ml, + documents: Pe, + interaction: An, + commands: $e, + shell: H, + i18n: $o +}, y1 = Symbol.for("@embedpdf/viewer/kernel"), _1 = "this viewer is gone: it was unmounted, or mounted again with a new config. Use the viewer the new onReady gives you.", x1 = /^(?:on|register)(?:[A-Z]|$)/, k1 = (e) => { if (typeof e != "object" || e === null) return !1; const t = Object.getPrototypeOf(e); return t === Object.prototype || t === null; }; -function p1(e, t) { +function S1(e, t) { let n = !1; - const o = /* @__PURE__ */ new Set(), r = (h) => new mo("instance-closed", h, c1), a = (h) => { - const g = () => { - o.delete(g), h(); + const o = /* @__PURE__ */ new Set(), r = (h) => new go("instance-closed", h, _1), a = (h) => { + const b = () => { + o.delete(b), h(); }; - return o.add(g), g; - }, s = /* @__PURE__ */ new WeakMap(), l = (h, g) => { + return o.add(b), b; + }, s = /* @__PURE__ */ new WeakMap(), l = (h, b) => { const y = s.get(h); if (y) return y; - const v = /* @__PURE__ */ new Map(), _ = (x, P) => d1.test(x) ? (...M) => { + const v = /* @__PURE__ */ new Map(), _ = (x, O) => x1.test(x) ? (...M) => { if (n) return () => { }; - const T = P.apply(h, M); + const T = O.apply(h, M); return typeof T == "function" ? a(T) : T; - } : uf(x) ? (...M) => { - if (n) throw r(g); - return P.apply(h, M); - } : (...M) => n ? Promise.reject(r(g)) : P.apply(h, M), O = (x) => { - const P = Reflect.get(h, x, h); - if (typeof x == "symbol") return P; - if (u1(P)) return l(P, g); - if (typeof P != "function") return P; + } : vf(x) ? (...M) => { + if (n) throw r(b); + return O.apply(h, M); + } : (...M) => n ? Promise.reject(r(b)) : O.apply(h, M), P = (x) => { + const O = Reflect.get(h, x, h); + if (typeof x == "symbol") return O; + if (k1(O)) return l(O, b); + if (typeof O != "function") return O; const M = v.get(x); - if (M?.value === P) return M.member; - const T = _(x, P); + if (M?.value === O) return M.member; + const T = _(x, O); return v.set(x, { - value: P, + value: O, member: T }), T; }, S = new Proxy({}, { - get: (x, P) => O(P), - has: (x, P) => Reflect.has(h, P), + get: (x, O) => P(O), + has: (x, O) => Reflect.has(h, O), ownKeys: () => Reflect.ownKeys(h), - getOwnPropertyDescriptor: (x, P) => { - const M = Reflect.getOwnPropertyDescriptor(h, P); + getOwnPropertyDescriptor: (x, O) => { + const M = Reflect.getOwnPropertyDescriptor(h, O); return M && { configurable: !0, enumerable: M.enumerable, - value: O(P) + value: P(O) }; } }); return s.set(h, S), S; }, d = (h) => Object.prototype.hasOwnProperty.call(t, h) ? t[h] ?? null : null, c = (h) => { if (typeof h != "string") return h; - const g = d(h); - if (!g) throw new Error(`[embedpdf] the viewer has no plugin named "${h}". Its plugins: ${Object.keys(t).join(", ")}.`); - return g; - }, p = (h, g) => { + const b = d(h); + if (!b) throw new Error(`[embedpdf] the viewer has no plugin named "${h}". Its plugins: ${Object.keys(t).join(", ")}.`); + return b; + }, p = (h, b) => { try { - return e.capability(h, g); + return e.capability(h, b); } catch (y) { - if (ci(y) || e.scopeOf(h) !== "document") throw y; + if (hi(y) || e.scopeOf(h) !== "document") throw y; const v = y instanceof Error ? y.message : String(y); - throw new mo("not-ready", h.name, v, { cause: y }); + throw new go("not-ready", h.name, v, { cause: y }); } }, f = (h) => { - function g(v) { + function b(v) { const _ = c(v); if (n) throw r(_.name); return l(p(_, h), _.name); } function y(v) { - const _ = typeof v == "string" ? d(v) : v, O = _ && !n ? e.tryCapability(_, h) : null; - return O === null ? null : l(O, _.name); + const _ = typeof v == "string" ? d(v) : v, P = _ && !n ? e.tryCapability(_, h) : null; + return P === null ? null : l(P, _.name); } return { - get: g, + get: b, tryGet: y }; - }, u = (h, g, y = {}) => { + }, u = (h, b, y = {}) => { if (n) return () => { }; - const { immediate: v = !1, isEqual: _ = Object.is } = y, O = g; + const { immediate: v = !1, isEqual: _ = Object.is } = y, P = b; let S = null; const x = () => { - let P; + let O; try { - P = h(); + O = h(); } catch (T) { - if (ci(T, "not-ready")) return; + if (hi(T, "not-ready")) return; throw T; } if (S === null) { - S = { value: P }, v && O(P, void 0); + S = { value: O }, v && P(O, void 0); return; } - if (_(S.value, P)) return; + if (_(S.value, O)) return; const M = S.value; - S = { value: P }, O(P, M); + S = { value: O }, P(O, M); }; return x(), a(e.subscribe(x)); }, m = { ...f(void 0), - documents: l(e.documents, Oe.name), - commands: l(e.capability(De), De.name), + documents: l(e.documents, Pe.name), + commands: l(e.capability($e), $e.name), forDocument: f, watch: u }; - return Object.defineProperty(m, l1, { value: e }), { + return Object.defineProperty(m, y1, { value: e }), { viewer: m, destroy: () => { if (!n) { @@ -8763,12 +8862,12 @@ function p1(e, t) { } }; } -function f1(e) { +function M1(e) { let t = null; return { attach: (n) => (t?.kernel !== n && (t?.lifetime.destroy(), t = { kernel: n, - lifetime: p1(n, e) + lifetime: S1(n, e) }), t.lifetime.viewer), current: () => t?.lifetime.viewer ?? null, release: (n) => { @@ -8776,15 +8875,15 @@ function f1(e) { } }; } -const m1 = [ +const O1 = [ "standard", "quick", "sidebar" -], h1 = [ +], P1 = [ "kinds", "fonts", "libraries" -], g1 = /* @__PURE__ */ new Set([ +], T1 = /* @__PURE__ */ new Set([ "link", "pageEdit", "metadata", @@ -8793,35 +8892,35 @@ const m1 = [ "attachment", "documents", "shell" -]), b1 = (e) => Object.prototype.hasOwnProperty.call(Fa, e), Sd = (e) => typeof e == "object" && e !== null; -function Os(e) { - if (!Sd(e)) return !1; +]), C1 = (e) => Object.prototype.hasOwnProperty.call(Ga, e), Ld = (e) => typeof e == "object" && e !== null; +function Ns(e) { + if (!Ld(e)) return !1; const { id: t, create: n } = e; return typeof t == "string" && typeof n == "function"; } -function v1(e) { +function E1(e) { const t = {}, n = [], o = []; for (const [r, a] of Object.entries(e ?? {})) - a !== void 0 && (b1(r) ? Os(a) ? o.push(`"${r}" is the viewer's own ${r} plugin: give it settings, or give your plugin a name of its own`) : g1.has(r) ? o.push(`the ${r} plugin takes no settings`) : !Sd(a) || Array.isArray(a) ? o.push(`the ${r} plugin's settings are an object`) : t[r] = a : Os(a) ? n.push({ + a !== void 0 && (C1(r) ? Ns(a) ? o.push(`"${r}" is the viewer's own ${r} plugin: give it settings, or give your plugin a name of its own`) : T1.has(r) ? o.push(`the ${r} plugin takes no settings`) : !Ld(a) || Array.isArray(a) ? o.push(`the ${r} plugin's settings are an object`) : t[r] = a : Ns(a) ? n.push({ name: r, plugin: a - }) : o.push(`"${r}" is not one of the viewer's plugins, and not a plugin definition` + Mu(r, Object.keys(Fa)))); - return t.i18n && (t.i18n = w1(t.i18n, o)), { + }) : o.push(`"${r}" is not one of the viewer's plugins, and not a plugin definition` + Nu(r, Object.keys(Ga)))); + return t.i18n && (t.i18n = A1(t.i18n, o)), { settings: t, viewer: { - stamp: Ts(t, "stamp", m1), - signature: Ts(t, "signature", h1) + stamp: Ls(t, "stamp", O1), + signature: Ls(t, "signature", P1) }, own: n, problems: o }; } -function w1(e, t) { +function A1(e, t) { const { fallbackLocale: n, ...o } = e; for (const r of Object.keys(o)) t.push(r === "locale" ? "the i18n plugin's locale is the viewer's `locale`" : `the i18n plugin's ${r} are the viewer's \`strings\`: give your words there`); return n === void 0 ? {} : { fallbackLocale: n }; } -function Ts(e, t, n) { +function Ls(e, t, n) { const o = e[t]; if (!o) return {}; const r = {}, a = { ...o }; @@ -8829,13 +8928,13 @@ function Ts(e, t, n) { a[s] !== void 0 && (r[s] = a[s]), delete a[s]; return e[t] = a, r; } -function Cs(e, t) { - return df(e, t); +function Is(e, t) { + return bf(e, t); } -function y1(e) { +function N1(e) { return e.screen ? "screen" : e.topLevel && e.popover ? "window" : null; } -function Md(e) { +function Id(e) { const t = e.ownerDocument, n = t.defaultView; return { screen: t.fullscreenEnabled === !0 && typeof e.requestFullscreen == "function", @@ -8843,73 +8942,73 @@ function Md(e) { popover: typeof e.showPopover == "function" }; } -const Pd = (e) => e.closest("[data-embedpdf-root]") ?? e, Ba = "data-epdf-fills-window"; -function qt(e) { - if (e.hasAttribute(Ba)) return "window"; +const Rd = (e) => e.closest("[data-embedpdf-root]") ?? e, Wa = "data-epdf-fills-window"; +function Wt(e) { + if (e.hasAttribute(Wa)) return "window"; const t = e.getRootNode().host ?? null; - return Rr(e) || t !== null && Rr(t) ? "screen" : null; + return jr(e) || t !== null && jr(t) ? "screen" : null; } -async function _1(e) { - if (qt(e) !== null) return; - const t = Md(e); +async function L1(e) { + if (Wt(e) !== null) return; + const t = Id(e); if (t.screen) try { await e.requestFullscreen({ navigationUI: "hide" }); return; } catch { } - t.topLevel && t.popover && k1(e); + t.topLevel && t.popover && R1(e); } -async function x1(e) { - const t = qt(e); - t === "window" ? Fr(e) : t === "screen" && await e.ownerDocument.exitFullscreen(); +async function I1(e) { + const t = Wt(e); + t === "window" ? Gr(e) : t === "screen" && await e.ownerDocument.exitFullscreen(); } -function k1(e) { - e.setAttribute(Ba, ""), e.setAttribute("popover", "manual"), e.showPopover(); +function R1(e) { + e.setAttribute(Wa, ""), e.setAttribute("popover", "manual"), e.showPopover(); } -function Fr(e) { - e.matches(":popover-open") && e.hidePopover(), e.removeAttribute("popover"), e.removeAttribute(Ba); +function Gr(e) { + e.matches(":popover-open") && e.hidePopover(), e.removeAttribute("popover"), e.removeAttribute(Wa); } -const S1 = { +const D1 = { way: null, current: null }; -function M1(e) { - const [t, n] = C(S1); +function $1(e) { + const [t, n] = C(D1); return R(() => { const o = e.current; if (!o) return; - const r = Pd(o), a = y1(Md(r)), s = () => { - const c = qt(r); + const r = Rd(o), a = N1(Id(r)), s = () => { + const c = Wt(r); n((p) => p.way === a && p.current === c ? p : { way: a, current: c }); }, l = (c) => { - c.key !== "Escape" || c.defaultPrevented || nf(c) || qt(r) === "window" && (c.preventDefault(), Fr(r)); + c.key !== "Escape" || c.defaultPrevented || df(c) || Wt(r) === "window" && (c.preventDefault(), Gr(r)); }, d = r.ownerDocument; return s(), d.addEventListener("fullscreenchange", s), r.addEventListener("toggle", s), r.addEventListener("keydown", l), () => { - d.removeEventListener("fullscreenchange", s), r.removeEventListener("toggle", s), r.removeEventListener("keydown", l), qt(r) === "window" && Fr(r); + d.removeEventListener("fullscreenchange", s), r.removeEventListener("toggle", s), r.removeEventListener("keydown", l), Wt(r) === "window" && Gr(r); }; }, [e]), t; } -const P1 = "view:fullscreen"; -function O1(e, t, n) { +const z1 = "view:fullscreen"; +function F1(e, t, n) { const o = t.current !== null, r = o || t.way === "screen" || t.way === "window" && !n; return { - id: P1, + id: z1, labelKey: "commands.fullscreen", icon: o ? "fullscreenExit" : "fullscreen", visible: () => r, active: () => o, - run: () => qt(e) === null ? _1(e) : x1(e) + run: () => Wt(e) === null ? L1(e) : I1(e) }; } -const Ka = (e) => typeof e == "object" && e !== null, T1 = (e) => e.side === "start" ? "start" : "end"; -function C1(e, t) { - return Object.entries(e.panels ?? {}).filter(([, n]) => Ka(n) && T1(n) === t).map(([n]) => n); +const Va = (e) => typeof e == "object" && e !== null, B1 = (e) => e.side === "start" ? "start" : "end"; +function K1(e, t) { + return Object.entries(e.panels ?? {}).filter(([, n]) => Va(n) && B1(n) === t).map(([n]) => n); } -function E1(e, t, n) { - const o = t.ids.filter((a) => t.shown.includes(a) && Ka(e[a])), r = o.filter((a) => e[a].open === !0 && !n.has(a)); +function j1(e, t, n) { + const o = t.ids.filter((a) => t.shown.includes(a) && Va(e[a])), r = o.filter((a) => e[a].open === !0 && !n.has(a)); return t.current !== null ? { open: null, started: r @@ -8918,24 +9017,24 @@ function E1(e, t, n) { started: r }; } -const Es = (e, t, n, o) => t > 0 || n && !(e.tryGet(De)?.isCategoryDisabled(o) ?? !1), Ha = "search", Od = { +const Rs = (e, t, n, o) => t > 0 || n && !(e.tryGet($e)?.isCategoryDisabled(o) ?? !1), qa = "search", Dd = { categories: ["search"], - allowed: (e) => e.tryGet(rn)?.canSearch() ?? !0, + allowed: (e) => e.tryGet(on)?.canSearch() ?? !0, notAllowedKey: "commands.notAllowed.doc-text-search" -}, As = { +}, Ds = { id: "search:find", labelKey: "commands.find", icon: "search", shortcut: "Mod+F", shortcutInTextFields: !0, - ...Od, - run: (e) => e.tryGet(K)?.open(Ha, { focus: !0 }) -}, A1 = /* @__PURE__ */ new Map([ + ...Dd, + run: (e) => e.tryGet(H)?.open(qa, { focus: !0 }) +}, H1 = /* @__PURE__ */ new Map([ ["thumbnails", { titleKey: "panels.thumbnails", icon: "sidebar", categories: ["thumbnails"], - allowed: (e) => e.tryGet(tn)?.canRenderThumbnail() ?? !0, + allowed: (e) => e.tryGet(en)?.canRenderThumbnail() ?? !0, notAllowedKey: "commands.notAllowed.doc-render-thumbnail" }], ["outline", { @@ -8943,8 +9042,8 @@ const Es = (e, t, n, o) => t > 0 || n && !(e.tryGet(De)?.isCategoryDisabled(o) ? icon: "listTree", categories: ["outline"], visible: (e) => { - const t = e.tryGet(Lo); - return t != null && Es(e, t.list().length, t.canEdit(), "outline.editing"); + const t = e.tryGet(Fo); + return t != null && Rs(e, t.list().length, t.canEdit(), "outline.editing"); } }], ["attachments", { @@ -8952,21 +9051,21 @@ const Es = (e, t, n, o) => t > 0 || n && !(e.tryGet(De)?.isCategoryDisabled(o) ? icon: "paperclip", categories: ["attachments"], visible: (e) => { - const t = e.tryGet(Ro); - return t != null && Es(e, t.list().length, t.canCreate(), "attachments.adding"); + const t = e.tryGet(Bo); + return t != null && Rs(e, t.list().length, t.canCreate(), "attachments.adding"); } }], - [Ha, { + [qa, { titleKey: "panels.search", icon: "search", - ...Od, + ...Dd, focus: !0 }], ["comments", { titleKey: "panels.comments", icon: "comment", categories: ["comments"], - allowed: (e) => e.tryGet(we)?.canRead() ?? !0, + allowed: (e) => e.tryGet(ye)?.canRead() ?? !0, notAllowedKey: "commands.notAllowed.doc-annotate-read" }], ["style", { @@ -8978,22 +9077,22 @@ const Es = (e, t, n, o) => t > 0 || n && !(e.tryGet(De)?.isCategoryDisabled(o) ? titleKey: "panels.stamps", icon: "rubberStamp", categories: ["stamps"], - allowed: (e) => e.tryGet(Pe)?.canPlace(e.documentId ?? void 0) ?? !0, + allowed: (e) => e.tryGet(Oe)?.canPlace(e.documentId ?? void 0) ?? !0, notAllowedKey: "commands.notAllowed.annotations-create", - visible: (e) => e.tryGet(Pe) != null + visible: (e) => e.tryGet(Oe) != null }], ["signatures", { titleKey: "panels.signatures", icon: "signature", categories: ["signatures"], - visible: (e) => e.tryGet(Pe) != null && e.tryGet(on) != null + visible: (e) => e.tryGet(Oe) != null && e.tryGet(nn) != null }], ["redaction", { titleKey: "panels.redaction", icon: "redactionSidebar", categories: ["redaction"], allowed: (e) => { - const t = e.tryGet(gt); + const t = e.tryGet(ht); return t ? t.canMark() || t.canApply() : !0; } }], @@ -9002,7 +9101,7 @@ const Es = (e, t, n, o) => t > 0 || n && !(e.tryGet(De)?.isCategoryDisabled(o) ? icon: "updateScale", categories: ["measurement"], allowed: (e) => { - const t = e.tryGet(xt), n = e.tryGet(we); + const t = e.tryGet(_t), n = e.tryGet(ye); return t ? t.canCalibrate() || (n?.canCreate() ?? !0) : !0; } }], @@ -9010,35 +9109,35 @@ const Es = (e, t, n, o) => t > 0 || n && !(e.tryGet(De)?.isCategoryDisabled(o) ? titleKey: "panels.formDesign", icon: "formDesign", categories: ["forms.building"], - allowed: (e) => e.tryGet(nn)?.canDesign() ?? !0, - visible: (e) => e.tryGet(K)?.isOpen("mode:form") ?? !1 + allowed: (e) => e.tryGet(tn)?.canDesign() ?? !0, + visible: (e) => e.tryGet(H)?.isOpen("mode:form") ?? !1 }] -]), N1 = (e, t, n) => n ? { panel: t ? { +]), U1 = (e, t, n) => n ? { panel: t ? { id: e, focus: t } : e } : { - run: (o) => o.tryGet(K)?.open(e, t ? { focus: t } : void 0), - active: (o) => o.tryGet(K)?.isOpen(e) ?? !1 + run: (o) => o.tryGet(H)?.open(e, t ? { focus: t } : void 0), + active: (o) => o.tryGet(H)?.isOpen(e) ?? !1 }; -function I1(e, t) { +function G1(e, t) { return Object.entries(e ?? {}).flatMap(([n, o]) => { const r = It(n); - if (!Ka(o)) return []; - const a = n === Ha && !t(As.id) ? [As] : []; + if (!Va(o)) return []; + const a = n === qa && !t(Ds.id) ? [Ds] : []; if (t(r)) return a; - const s = A1.get(n), { focus: l, titleKey: d, icon: c, ...p } = s ?? {}, f = o.titleKey ?? (o.title === void 0 ? s?.titleKey : void 0); + const s = H1.get(n), { focus: l, titleKey: d, icon: c, ...p } = s ?? {}, f = o.titleKey ?? (o.title === void 0 ? s?.titleKey : void 0); return [{ id: r, label: o.title ?? (f === void 0 ? n : void 0), labelKey: f, icon: o.icon ?? s?.icon, - ...N1(n, l, o.closable !== !1), + ...U1(n, l, o.closable !== !1), ...p }, ...a]; }); } -const L1 = (e, t) => e === t || JSON.stringify(e ?? {}) === JSON.stringify(t ?? {}), R1 = 2e3; -function D1(e, t) { +const W1 = (e, t) => e === t || JSON.stringify(e ?? {}) === JSON.stringify(t ?? {}), V1 = 2e3; +function q1(e, t) { const { start: n = [], center: o = [], end: r = [] } = e.sections; return [ ...n, @@ -9046,20 +9145,20 @@ function D1(e, t) { ...r ].some((a) => a.items.some((s) => typeof s == "object" && "slot" in s && s.slot === t)); } -function $1(e, t) { - return t === null ? !1 : e ?? D1(t, "page-number"); +function Y1(e, t) { + return t === null ? !1 : e ?? q1(t, "page-number"); } -function z1(e, t) { - const n = Q(lt), [o, r] = C(!1); +function X1(e, t) { + const n = ee(ct), [o, r] = C(!1); return E(() => { const a = t.current; if (!e || !a) return; let s = !1, l; const d = () => { - const g = xn(a.ownerDocument); - return s || g !== null && a.contains(g) && g.matches(":focus-visible") || a.querySelector('[aria-expanded="true"]') !== null; + const b = kn(a.ownerDocument); + return s || b !== null && a.contains(b) && b.matches(":focus-visible") || a.querySelector('[aria-expanded="true"]') !== null; }, c = () => { - r(!1), clearTimeout(l), l = setTimeout(p, R1); + r(!1), clearTimeout(l), l = setTimeout(p, V1); }; function p() { d() ? c() : r(!0); @@ -9068,14 +9167,14 @@ function z1(e, t) { s = !0, c(); }, u = () => { s = !1, c(); - }, m = a.closest("[data-float]")?.offsetParent ?? null, b = { + }, m = a.closest("[data-float]")?.offsetParent ?? null, g = { capture: !0, passive: !0 }; - m?.addEventListener("pointermove", c, b), m?.addEventListener("pointerdown", c, b), a.addEventListener("pointerenter", f), a.addEventListener("pointerleave", u), a.addEventListener("focusin", c); + m?.addEventListener("pointermove", c, g), m?.addEventListener("pointerdown", c, g), a.addEventListener("pointerenter", f), a.addEventListener("pointerleave", u), a.addEventListener("focusin", c); const h = n?.onCameraChanged(c); return c(), () => { - h?.(), m?.removeEventListener("pointermove", c, b), m?.removeEventListener("pointerdown", c, b), a.removeEventListener("pointerenter", f), a.removeEventListener("pointerleave", u), a.removeEventListener("focusin", c), clearTimeout(l), r(!1); + h?.(), m?.removeEventListener("pointermove", c, g), m?.removeEventListener("pointerdown", c, g), a.removeEventListener("pointerenter", f), a.removeEventListener("pointerleave", u), a.removeEventListener("focusin", c), clearTimeout(l), r(!1); }; }, [ e, @@ -9083,57 +9182,57 @@ function z1(e, t) { t ]), o; } -function F1(e) { - const [t, n] = C(qb); +function Z1(e) { + const [t, n] = C(pv); return R(() => { const o = e.current; if (!o) return; const r = () => { - const l = Rc(o.getBoundingClientRect(), $c(o)); - n((d) => Yb(d, l) ? d : l); + const l = jc(o.getBoundingClientRect(), Uc(o)); + n((d) => fv(d, l) ? d : l); }; r(); const a = new ResizeObserver(r); a.observe(o); - const s = Io(r); + const s = Do(r); return () => { s(), a.disconnect(); }; }, [e]), t; } -const Td = "(pointer: coarse)", B1 = () => typeof matchMedia == "function" && matchMedia(Td).matches, Ns = (e, t) => e.length === t.length && e.every((n, o) => n === t[o]); -function Is(e, t) { +const $d = "(pointer: coarse)", J1 = () => typeof matchMedia == "function" && matchMedia($d).matches, $s = (e, t) => e.length === t.length && e.every((n, o) => n === t[o]); +function zs(e, t) { const n = k(e); return n.current !== e && !t(n.current, e) && (n.current = e), n.current; } -const Ls = [ +const Fs = [ "compact", "medium", "expanded" ]; -function K1(e, t) { +function Q1(e, t) { const n = [], o = (r) => r === void 0 || r === "auto"; - return !o(e) && !Ls.includes(e) && n.push(`size: ${JSON.stringify(e)} is not auto, compact, medium or expanded; the viewer measures its width`), !o(t) && typeof t != "boolean" && n.push(`touch: ${JSON.stringify(t)} is not auto, true or false; the viewer asks the browser`), { - size: Ls.includes(e) ? e : null, + return !o(e) && !Fs.includes(e) && n.push(`size: ${JSON.stringify(e)} is not auto, compact, medium or expanded; the viewer measures its width`), !o(t) && typeof t != "boolean" && n.push(`touch: ${JSON.stringify(t)} is not auto, true or false; the viewer asks the browser`), { + size: Fs.includes(e) ? e : null, touch: typeof t == "boolean" ? t : null, problems: n }; } -function H1(e, t) { - const n = vc((p) => p.direction), [o, r] = C(null), [a, s] = C(B1); +function ew(e, t) { + const n = xo((p) => p.direction), [o, r] = C(null), [a, s] = C(J1); R(() => { const p = e.current; - return p ? sa(p, (f) => r(Math.round(f))) : void 0; + return p ? fa(p, (f) => r(Math.round(f))) : void 0; }, [e]); const l = t.touch === null; E(() => { if (!l || typeof matchMedia != "function") return; - const p = matchMedia(Td), f = () => s(p.matches); + const p = matchMedia($d), f = () => s(p.matches); return p.addEventListener("change", f), () => p.removeEventListener("change", f); }, [l]); const d = t.size, c = t.touch ?? a; - return H(() => o === null ? null : { - size: d ?? fu(o), + return j(() => o === null ? null : { + size: d ?? xu(o), width: o, touch: c, dir: n @@ -9144,58 +9243,58 @@ function H1(e, t) { n ]); } -function j1({ className: e, rootRef: t, children: n }) { - const o = k(null), r = t ?? o, a = $b(), [s] = C(() => K1(a.size, a.touch)); +function tw({ className: e, rootRef: t, children: n }) { + const o = k(null), r = t ?? o, a = Ub(), [s] = C(() => Q1(a.size, a.touch)); E(() => { for (const _ of s.problems) console.warn(`[embedpdf] ${_}`); }, [s]); - const l = H1(r, s), d = l ?? Ma, c = Db(), p = H(() => mu(c, Ob, d), [c, d]), f = p.toJSON(), u = ke(), m = ye() ?? void 0, b = ie(() => vu(f, (_) => u.resolveCommand(_, m)), Ns), h = k(/* @__PURE__ */ new Map()), g = H(() => { + const l = ew(r, s), d = l ?? Ea, c = Hb(), p = j(() => vu(c, Ib, d), [c, d]), f = p.toJSON(), u = ke(), m = _e() ?? void 0, g = le(() => ku(f, (_) => u.resolveCommand(_, m), (_) => u.getCommand(_)), $s), h = k(/* @__PURE__ */ new Map()), b = j(() => { const _ = (T, L) => { - const A = JSON.stringify(L), F = h.current.get(T); - return F?.key === A ? F.value : (h.current.set(T, { - key: A, + const B = JSON.stringify(L), I = h.current.get(T); + return I?.key === B ? I.value : (h.current.set(T, { + key: B, value: L }), L); - }, O = new Set(b), S = /* @__PURE__ */ new Map(); - for (const T of Object.keys(f.bars ?? {})) S.set(T, _(`bar:${T}`, nl(f, T, { omit: O }))); - const x = (T) => S.get(T) ?? null, P = { - selection: _("strip:selection", lo(f, "selection", x)), - annotation: _("strip:annotation", lo(f, "annotation", x)), - snapshot: _("strip:snapshot", lo(f, "snapshot", x)) + }, P = new Set(g), S = /* @__PURE__ */ new Map(); + for (const T of Object.keys(f.bars ?? {})) S.set(T, _(`bar:${T}`, ll(f, T, { omit: P }))); + const x = (T) => S.get(T) ?? null, O = { + selection: _("strip:selection", uo(f, "selection", x)), + annotation: _("strip:annotation", uo(f, "annotation", x)), + snapshot: _("strip:snapshot", uo(f, "snapshot", x)) }, M = /* @__PURE__ */ new Map(); - for (const T of Object.keys(f.menus ?? {})) M.set(T, _(`menu:${T}`, tl(f, T))); + for (const T of Object.keys(f.menus ?? {})) M.set(T, _(`menu:${T}`, sl(f, T))); return { data: f, env: d, bar: x, - strip: (T) => P[T], + strip: (T) => O[T], menu: (T) => M.get(T) ?? null }; }, [ f, d, - b - ]), y = ie(() => el(f).map(po).filter((_) => !b.includes(_) && u.resolveCommand(_, m)?.visible === !0), Ns); - U1(Is(ob(f), rb)), G1(Is(f.panels, L1)), V1(y), q1(l === null ? null : p); - const v = F1(r); - return W1(r, v.top && v.right && v.bottom && v.left), /* @__PURE__ */ i("div", { + g + ]), y = le(() => il(f).map(mo).filter((_) => !g.includes(_) && u.resolveCommand(_, m)?.visible === !0), $s); + nw(zs(db(f), ub)), ow(zs(f.panels, W1)), aw(y), iw(l === null ? null : p); + const v = Z1(r); + return rw(r, v.top && v.right && v.bottom && v.left), /* @__PURE__ */ i("div", { ref: r, tabIndex: -1, - [Zb]: "", + [hv]: "", dir: d.dir, "data-touch": d.touch ? "" : void 0, className: e, - style: Dc(v), - children: /* @__PURE__ */ i(Bb, { - value: g, + style: Hc(v), + children: /* @__PURE__ */ i(Vb, { + value: b, children: n }) }); } -function U1(e) { - const t = ke(), n = Oa(); +function nw(e) { + const t = ke(), n = Na(); R(() => { - const o = ab(e, (r) => t.hasCommand(r) && !n.isYours(r)).map(n.over); + const o = pb(e, (r) => t.hasCommand(r) && !n.isYours(r)).map(n.over); return o.length > 0 ? t.registerCommands(o, { replace: !0 }) : void 0; }, [ t, @@ -9203,10 +9302,10 @@ function U1(e) { n ]); } -function G1(e) { - const t = ke(), n = Oa(); +function ow(e) { + const t = ke(), n = Na(); R(() => { - const o = I1(e, (r) => t.hasCommand(r) && !n.isYours(r)).map(n.over); + const o = G1(e, (r) => t.hasCommand(r) && !n.isYours(r)).map(n.over); return o.length > 0 ? t.registerCommands(o, { replace: !0 }) : void 0; }, [ t, @@ -9214,12 +9313,12 @@ function G1(e) { n ]); } -function W1(e, t) { - const n = ke(), o = Oa(), r = M1(e); +function rw(e, t) { + const n = ke(), o = Na(), r = $1(e); R(() => { const a = e.current; if (!a) return; - const s = O1(Pd(a), r, t); + const s = F1(Rd(a), r, t); return n.registerCommands([o.over(s)], { replace: !0 }); }, [ n, @@ -9229,10 +9328,10 @@ function W1(e, t) { t ]); } -function V1(e) { - const t = ke(), n = Q(K), o = oe(K, _o, null); +function aw(e) { + const t = ke(), n = ee(H), o = ae(H, So, null); E(() => { - o === null || e.includes(o) || (n?.close(o), t.execute(ol).catch(() => { + o === null || e.includes(o) || (n?.close(o), t.execute(cl).catch(() => { })); }, [ t, @@ -9241,11 +9340,11 @@ function V1(e) { e ]); } -function q1(e) { +function iw(e) { const t = ke(), n = k(/* @__PURE__ */ new Set()); E(() => { if (e === null) return; - const o = hu(e, { + const o = Su(e, { commands: t.listCommandIds(), hasCommand: (r) => t.hasCommand(r) }); @@ -9253,7 +9352,7 @@ function q1(e) { n.current.has(r) || (n.current.add(r), console.warn(`[embedpdf] layout: ${r}`)); }, [t, e]); } -const Y1 = { +const sw = { top: { start: "top-start", middle: "top", @@ -9269,12 +9368,12 @@ const Y1 = { middle: "bottom", end: "bottom-end" } -}, rt = { +}, at = { insetStart: 0, insetEnd: 0, offset: 0 -}, ht = (e) => e !== null && e.width > 0; -function X1(e, t, n, o) { +}, mt = (e) => e !== null && e.width > 0; +function lw(e, t, n, o) { const r = n + t / 2, a = e - o - t / 2; if (r > a) return null; const s = Math.min(Math.max(e / 2, r), a), l = Math.min(s - n, e - o - s); @@ -9284,68 +9383,68 @@ function X1(e, t, n, o) { offset: 0 }; } -function Z1({ length: e, gap: t, start: n, middle: o, end: r }) { - const a = ht(n) ? n.width + t : 0, s = ht(r) ? r.width + t : 0, l = ht(o) ? X1(e, o.width, a, s) : null, d = ht(o) && l === null ? o.height + t : 0, c = ht(n) && ht(r) && n.width + t + r.width > e; +function cw({ length: e, gap: t, start: n, middle: o, end: r }) { + const a = mt(n) ? n.width + t : 0, s = mt(r) ? r.width + t : 0, l = mt(o) ? lw(e, o.width, a, s) : null, d = mt(o) && l === null ? o.height + t : 0, c = mt(n) && mt(r) && n.width + t + r.width > e; return { start: { - ...rt, + ...at, offset: d }, - middle: l ?? rt, + middle: l ?? at, end: { - ...rt, + ...at, offset: d + (c ? n.height + t : 0) } }; } -function J1({ length: e, gap: t, start: n, end: o }) { - return ht(n) && ht(o) && n.width + t + o.width > e ? { +function dw({ length: e, gap: t, start: n, end: o }) { + return mt(n) && mt(o) && n.width + t + o.width > e ? { start: { - ...rt, + ...at, offset: o.height + t }, - middle: rt, + middle: at, end: { - ...rt, + ...at, offset: n.height + t } } : { - start: rt, - middle: rt, - end: rt + start: at, + middle: at, + end: at }; } -function ja(e) { - const t = ke(), n = ye() ?? void 0, o = H(() => e ? Jr(e) : null, [e]); - return ie(() => o !== null && ku(o, (r) => { - const a = Su(r); +function Ya(e) { + const t = ke(), n = _e() ?? void 0, o = j(() => e ? ra(e) : null, [e]); + return le(() => o !== null && Eu(o, (r) => { + const a = Au(r); return a !== null && t.resolveCommand(a, n)?.visible === !0; })); } -function Ua(e) { - const { data: t } = tt(), n = oe(K, _o, null); +function Xa(e) { + const { data: t } = tt(), n = ae(H, So, null); return e.filter((o) => { const r = t.bars?.[o]?.mode; - return r === void 0 || n === po(r); + return r === void 0 || n === mo(r); }); } -const Q1 = { +const uw = { top: "border-b", bottom: "border-t", start: "border-e", end: "border-s" }; -function ew({ id: e, edge: t, rides: n }) { - const o = tt().bar(e), r = ja(o); +function pw({ id: e, edge: t, rides: n }) { + const o = tt().bar(e), r = Ya(o); if (!o || !r) return null; const a = t === "start" || t === "end"; - return /* @__PURE__ */ i($n, { + return /* @__PURE__ */ i(zn, { value: t, children: /* @__PURE__ */ i("div", { - part: Wo(e), + part: Zo(e), "data-bar": e, - className: `border-border flex shrink-0 ${a ? "flex-col px-2 py-4" : "items-center px-4 py-2"} ${n ? "bg-surface-alt" : "bg-surface"} ${Q1[t]}`, - children: /* @__PURE__ */ i($a, { + className: `border-border flex shrink-0 ${a ? "flex-col px-2 py-4" : "items-center px-4 py-2"} ${n ? "bg-surface-alt" : "bg-surface"} ${uw[t]}`, + children: /* @__PURE__ */ i(Ha, { bar: o, orientation: a ? "vertical" : "horizontal", className: a ? "min-h-0 flex-1" : "w-full" @@ -9353,15 +9452,15 @@ function ew({ id: e, edge: t, rides: n }) { }) }); } -function Qn({ edge: e }) { - const { data: t } = tt(), n = Ua(H(() => gu(t, e), [t, e])); - return /* @__PURE__ */ i(D, { children: (e === "top" || e === "start" ? n : [...n].reverse()).map((o) => /* @__PURE__ */ i(ew, { +function to({ edge: e }) { + const { data: t } = tt(), n = Xa(j(() => yu(t, e), [t, e])); + return /* @__PURE__ */ i(D, { children: (e === "top" || e === "start" ? n : [...n].reverse()).map((o) => /* @__PURE__ */ i(pw, { id: o, edge: e, - rides: pu(t.bars?.[o]?.place) !== null + rides: _u(t.bars?.[o]?.place) !== null }, o)) }); } -const Rs = { +const Bs = { "top-start": "start", top: "center", "top-end": "end", @@ -9370,12 +9469,12 @@ const Rs = { "bottom-start": "start", bottom: "center", "bottom-end": "end" -}, tw = [ +}, fw = [ "start", "center", "end" -], nw = (e) => e.startsWith("bottom") ? "float-bottom" : "float-top"; -function ow(e, t) { +], mw = (e) => e.startsWith("bottom") ? "float-bottom" : "float-top"; +function hw(e, t) { const n = [ ...e.sections.start ?? [], ...e.sections.center ?? [], @@ -9386,18 +9485,18 @@ function ow(e, t) { sections: { [t]: n } }; } -const Cd = be(() => { +const zd = be(() => { }); -function rw({ id: e, position: t }) { - const { data: n, bar: o } = tt(), r = o(e), a = ja(r), s = H(() => r ? ow(r, Rs[t]) : null, [r, t]), l = k(null), d = s !== null && a; - E(() => d && l.current ? ta(l.current) : void 0, [d]); - const c = z1(d && $1(_u(n, e), r), l), p = X(Cd); +function gw({ id: e, position: t }) { + const { data: n, bar: o } = tt(), r = o(e), a = Ya(r), s = j(() => r ? hw(r, Bs[t]) : null, [r, t]), l = k(null), d = s !== null && a; + E(() => d && l.current ? sa(l.current) : void 0, [d]); + const c = X1(d && Y1(Tu(n, e), r), l), p = X(zd); return R(() => { let f = null; - if (l.current?.querySelectorAll(':scope > [role="toolbar"] > div')?.forEach((m, b) => { - tw[b] === Rs[t] ? (m.setAttribute("part", Wo(e)), f = m) : m.removeAttribute("part"); + if (l.current?.querySelectorAll(':scope > [role="toolbar"] > div')?.forEach((m, g) => { + fw[g] === Bs[t] ? (m.setAttribute("part", Zo(e)), f = m) : m.removeAttribute("part"); }), f === null) return; - const u = sa(f, (m) => p(e, m)); + const u = fa(f, (m) => p(e, m)); return () => { u(), p(e, null); }; @@ -9406,114 +9505,114 @@ function rw({ id: e, position: t }) { t, e, p - ]), d ? /* @__PURE__ */ i($n, { - value: nw(t), + ]), d ? /* @__PURE__ */ i(zn, { + value: mw(t), children: /* @__PURE__ */ i("div", { ref: l, "data-bar": e, "data-idle-hidden": c ? "" : void 0, className: "flex w-full", - children: /* @__PURE__ */ i($a, { + children: /* @__PURE__ */ i(Ha, { bar: s, className: "float-pill:pointer-events-auto float-pill:rounded-lg float-pill:border float-pill:border-border-subtle float-pill:bg-elevated/95 float-pill:p-0.5 float-pill:shadow-lg pointer-events-none w-full" }) }) }) : null; } -const aw = 8, _t = 20, iw = [ +const bw = 8, yt = 20, vw = [ "top", "sides", "bottom" -], sw = [ +], ww = [ "start", "middle", "end" -], lw = { - top: { top: _t }, +], yw = { + top: { top: yt }, sides: { - top: _t, - bottom: _t, + top: yt, + bottom: yt, display: "flex", flexDirection: "column", justifyContent: "center" }, - bottom: { bottom: _t } -}, cw = (e, t) => e === "top" || e === "sides" && t === "end" ? "paddingTop" : "paddingBottom"; -function dw() { + bottom: { bottom: yt } +}, _w = (e, t) => e === "top" || e === "sides" && t === "end" ? "paddingTop" : "paddingBottom"; +function xw() { const e = k(null), [t, n] = C(0); - return R(() => e.current ? sa(e.current, n) : void 0, []), /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("div", { + return R(() => e.current ? fa(e.current, n) : void 0, []), /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("div", { ref: e, "aria-hidden": !0, className: "pointer-events-none absolute top-0 h-0", style: { - insetInlineStart: _t, - insetInlineEnd: _t + insetInlineStart: yt, + insetInlineEnd: yt } - }), iw.map((o) => /* @__PURE__ */ i(fw, { + }), vw.map((o) => /* @__PURE__ */ i(Mw, { row: o, length: t }, o))] }); } -const uw = { +const kw = { start: null, middle: null, end: null -}, pw = (e, t) => e === t || e !== null && t !== null && Math.abs(e.width - t.width) <= 0.5 && Math.abs(e.height - t.height) <= 0.5; -function fw({ row: e, length: t }) { - const { data: n } = tt(), o = Y1[e], [r, a] = C(uw), s = Ve((d, c) => a((p) => pw(p[d], c) ? p : { +}, Sw = (e, t) => e === t || e !== null && t !== null && Math.abs(e.width - t.width) <= 0.5 && Math.abs(e.height - t.height) <= 0.5; +function Mw({ row: e, length: t }) { + const { data: n } = tt(), o = sw[e], [r, a] = C(kw), s = Ve((d, c) => a((p) => Sw(p[d], c) ? p : { ...p, [d]: c - }), []), l = (e === "sides" ? J1 : Z1)({ + }), []), l = (e === "sides" ? dw : cw)({ length: t, - gap: aw, + gap: bw, ...r }); - return /* @__PURE__ */ i(D, { children: sw.map((d) => { + return /* @__PURE__ */ i(D, { children: ww.map((d) => { const c = o[d]; - return c === null ? null : /* @__PURE__ */ i(mw, { + return c === null ? null : /* @__PURE__ */ i(Ow, { row: e, slot: d, position: c, - stack: bu(n, c), + stack: Mu(n, c), spot: l[d], onColumn: s }, c); }) }); } -function mw({ row: e, slot: t, position: n, stack: o, spot: r, onColumn: a }) { - const s = Ua(o), l = k(null), [d, c] = C(0), [p, f] = C(() => /* @__PURE__ */ new Map()), u = Ve((h, g) => f((y) => { +function Ow({ row: e, slot: t, position: n, stack: o, spot: r, onColumn: a }) { + const s = Xa(o), l = k(null), [d, c] = C(0), [p, f] = C(() => /* @__PURE__ */ new Map()), u = Ve((h, b) => f((y) => { const v = y.get(h); - if (g === null ? v === void 0 : v !== void 0 && Math.abs(v - g) <= 0.5) return y; + if (b === null ? v === void 0 : v !== void 0 && Math.abs(v - b) <= 0.5) return y; const _ = new Map(y); - return g === null ? _.delete(h) : _.set(h, g), _; + return b === null ? _.delete(h) : _.set(h, b), _; }), []), m = o.length > 0; - R(() => m && l.current ? of(l.current, c) : void 0, [m]); - const b = Math.max(0, ...p.values()); + R(() => m && l.current ? uf(l.current, c) : void 0, [m]); + const g = Math.max(0, ...p.values()); return R(() => { - a(t, b > 0 ? { - width: b, + a(t, g > 0 ? { + width: g, height: d } : null); }, [ a, t, - b, + g, d ]), R(() => () => a(t, null), [a, t]), m ? /* @__PURE__ */ i("div", { "data-float": n, className: "pointer-events-none absolute", style: { - ...lw[e], - insetInlineStart: _t + r.insetStart, - insetInlineEnd: _t + r.insetEnd, - [cw(e, t)]: r.offset + ...yw[e], + insetInlineStart: yt + r.insetStart, + insetInlineEnd: yt + r.insetEnd, + [_w(e, t)]: r.offset }, children: /* @__PURE__ */ i("div", { ref: l, className: `flex gap-2 ${e === "bottom" ? "flex-col-reverse" : "flex-col"}`, - children: /* @__PURE__ */ i(Cd.Provider, { + children: /* @__PURE__ */ i(zd.Provider, { value: u, - children: s.map((h) => /* @__PURE__ */ i(rw, { + children: s.map((h) => /* @__PURE__ */ i(gw, { id: h, position: n }, h)) @@ -9521,15 +9620,15 @@ function mw({ row: e, slot: t, position: n, stack: o, spot: r, onColumn: a }) { }) }) : null; } -function hw({ id: e }) { - const t = tt().bar(e), n = ja(t); - return !t || !n ? null : /* @__PURE__ */ i($n, { +function Pw({ id: e }) { + const t = tt().bar(e), n = Ya(t); + return !t || !n ? null : /* @__PURE__ */ i(zn, { value: "top", children: /* @__PURE__ */ i("div", { - part: Wo(e), + part: Zo(e), "data-bar": e, className: "border-border-subtle flex shrink-0 items-center border-b p-2", - children: /* @__PURE__ */ i($a, { + children: /* @__PURE__ */ i(Ha, { bar: t, gap: 4, className: "w-full" @@ -9537,28 +9636,28 @@ function hw({ id: e }) { }) }); } -function gw({ panel: e }) { +function Tw({ panel: e }) { const { data: t } = tt(); - return /* @__PURE__ */ i(D, { children: Ua(H(() => wu(t, e), [t, e])).map((n) => /* @__PURE__ */ i(hw, { id: n }, n)) }); + return /* @__PURE__ */ i(D, { children: Xa(j(() => Ou(t, e), [t, e])).map((n) => /* @__PURE__ */ i(Pw, { id: n }, n)) }); } -async function bw(e) { +async function Cw(e) { if (e.data) return new Uint8Array(e.data); if (!e.url) throw new Error("a font needs a url or its data"); const t = await fetch(e.url); if (!t.ok) throw new Error(`${e.url}: HTTP ${t.status}`); return new Uint8Array(await t.arrayBuffer()); } -function vw() { - const e = ct(), t = jb(); +function Ew() { + const e = dt(), t = Xb(); return E(() => { if (!t.length) return; - if (!hl(e.engine)) { + if (!_l(e.engine)) { console.warn("[embedpdf] the `fonts` setting is ignored: only a local engine takes an app’s fonts. A cloud engine’s fonts are its server’s."); return; } const n = e.engine.fonts; let o = !1; - const r = t.map((a) => bw(a)); + const r = t.map((a) => Cw(a)); return (async () => { for (const [a, s] of t.entries()) try { const l = await r[a]; @@ -9578,14 +9677,14 @@ function vw() { }; }, [e, t]), null; } -const Ed = []; -function fe(e, { shownWhile: t, prefetch: n = !0 } = {}) { +const Fd = []; +function me(e, { shownWhile: t, prefetch: n = !0 } = {}) { let o = null; const r = () => o ?? (o = e().catch((l) => { throw o = null, l; })); - n && Ed.push(r); - const a = Gl(async () => ({ default: await r() })), s = (l) => /* @__PURE__ */ i(bn, { + n && Fd.push(r); + const a = Zl(async () => ({ default: await r() })), s = (l) => /* @__PURE__ */ i(vn, { fallback: null, children: /* @__PURE__ */ i(a, { ...l }) }); @@ -9593,45 +9692,45 @@ function fe(e, { shownWhile: t, prefetch: n = !0 } = {}) { return t() ? /* @__PURE__ */ i(s, { ...d }) : null; } : s; } -const ww = 1e4, yw = 1e3; -function _w(e) { +const Aw = 1e4, Nw = 1e3; +function Lw(e) { if (typeof requestIdleCallback == "function") { - const n = requestIdleCallback(e, { timeout: ww }); + const n = requestIdleCallback(e, { timeout: Aw }); return () => cancelIdleCallback(n); } - const t = setTimeout(e, yw); + const t = setTimeout(e, Nw); return () => clearTimeout(t); } -let pn = "not-yet"; -function xw() { - if (pn !== "not-yet") return () => { +let fn = "not-yet"; +function Iw() { + if (fn !== "not-yet") return () => { }; - pn = "running"; - const e = [...Ed]; + fn = "running"; + const e = [...Fd]; let t = () => { }, n = !1; const o = () => { const r = e.shift(); if (!n) { if (!r) { - pn = "done"; + fn = "done"; return; } - t = _w(() => { + t = Lw(() => { r().catch(() => { }).finally(o); }); } }; return o(), () => { - n = !0, t(), pn === "running" && (pn = "not-yet"); + n = !0, t(), fn === "running" && (fn = "not-yet"); }; } -function kw() { - return E(() => xw(), []), null; +function Rw() { + return E(() => Iw(), []), null; } -function Sw({ cmd: e, run: t, emphasis: n }) { - const o = ve(Vt(e)), r = (a) => /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("button", { +function Dw({ cmd: e, run: t, emphasis: n }) { + const o = we(Gt(e)), r = (a) => /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("button", { ...o.trigger, type: "button", onClick: t, @@ -9640,33 +9739,33 @@ function Sw({ cmd: e, run: t, emphasis: n }) { "aria-haspopup": e.menu ? "menu" : void 0, "aria-expanded": e.menu ? a : void 0, "aria-label": e.label, - part: Se(a, n), - className: Re(a, e.enabled, n), - children: e.icon && /* @__PURE__ */ i(q, { + part: Me(a, n), + className: De(a, e.enabled, n), + children: e.icon && /* @__PURE__ */ i(Y, { name: e.icon, size: 20, accent: e.iconAccent, - className: Qt(e.icon) + className: Zt(e.icon) }) }), o.element] }); - return e.menu ? /* @__PURE__ */ i(Uo, { + return e.menu ? /* @__PURE__ */ i(Yo, { menuId: e.menu, children: r }) : r(e.active); } -function Ga({ bar: e, view: t, label: n }) { - const o = H(() => wd(e), [e]); - return /* @__PURE__ */ i($n, { +function Za({ bar: e, view: t, label: n }) { + const o = j(() => Td(e), [e]); + return /* @__PURE__ */ i(zn, { value: "selection", children: /* @__PURE__ */ i("div", { role: "toolbar", "aria-label": n, - part: Wo(e.id), + part: Zo(e.id), className: "border-border-subtle bg-elevated flex items-center gap-1 rounded-lg border p-1 shadow-xl", children: t.groups.map((r, a) => /* @__PURE__ */ i(D, { children: [a > 0 && /* @__PURE__ */ i("span", { "aria-hidden": !0, className: "bg-border h-5 w-px" - }), r.commands.map((s) => /* @__PURE__ */ i(Sw, { + }), r.commands.map((s) => /* @__PURE__ */ i(Dw, { cmd: s, run: () => t.execute(s.id), emphasis: o.has(s.id) ? "primary" : void 0 @@ -9674,23 +9773,23 @@ function Ga({ bar: e, view: t, label: n }) { }) }); } -const Mw = fe(() => import("./link-editor-CVY83aSe-Ceo9-oRp.js").then((e) => e.LinkEditorCard)); -function Pw() { - const e = Z(), t = Pa("annotation"), n = Aa(t), o = Qe("link-editor"), r = Yh((a) => a.selected); +const $w = me(() => import("./link-editor-BQl5WwML-DV9l5HaH.js").then((e) => e.LinkEditorCard)); +function zw() { + const e = Q(), t = Aa("annotation"), n = Da(t), o = Qe("link-editor"), r = ng((a) => a.selected); return E(() => { !r.length && o.isOpen && o.close(); - }, [r.length, o.isOpen]), !t || !n ? null : /* @__PURE__ */ i(Jh, { + }, [r.length, o.isOpen]), !t || !n ? null : /* @__PURE__ */ i(ag, { placement: "bottom", gap: 15, - children: o.isOpen ? /* @__PURE__ */ i(Mw, { onClose: o.close }) : /* @__PURE__ */ i(Ga, { + children: o.isOpen ? /* @__PURE__ */ i($w, { onClose: o.close }) : /* @__PURE__ */ i(Za, { bar: t, view: n, label: e("commands.annotate.strip") }) }); } -function Ow() { - const e = ye(), { unlock: t, close: n } = wa(), o = Fo((b) => b.documents), r = Z(), [a, s] = C(""), [l, d] = C(!1), [c, p] = C(!1), f = o.find((b) => b.id === e); +function Fw() { + const e = _e(), { unlock: t, close: n } = Sa(), o = Uo((g) => g.documents), r = Q(), [a, s] = C(""), [l, d] = C(!1), [c, p] = C(!1), f = o.find((g) => g.id === e); if (!e || !f) return null; const u = l || f.passwordProvided === !0, m = async () => { if (!(c || !a.trim())) { @@ -9714,7 +9813,7 @@ function Ow() { children: [ /* @__PURE__ */ i("div", { className: "bg-accent-light mb-4 rounded-full p-4", - children: /* @__PURE__ */ i(q, { + children: /* @__PURE__ */ i(Y, { name: "lock", size: 28, className: "text-accent" @@ -9744,8 +9843,8 @@ function Ow() { id: "doc-password", type: "password", value: a, - onChange: (b) => s(b.target.value), - onKeyDown: (b) => b.key === "Enter" && void m(), + onChange: (g) => s(g.target.value), + onKeyDown: (g) => g.key === "Enter" && void m(), disabled: c, placeholder: r("passwordPrompt.placeholder"), className: "bg-surface border-border focus:border-accent focus:ring-accent text-fg placeholder:text-fg-muted block w-full rounded-md border px-3 py-2.5 text-sm focus:outline-none focus:ring-1 disabled:opacity-50", @@ -9754,7 +9853,7 @@ function Ow() { }), u && /* @__PURE__ */ i("div", { className: "mt-3 flex items-center gap-2 rounded-md border border-red-500/40 bg-red-500/10 p-3", - children: [/* @__PURE__ */ i(q, { + children: [/* @__PURE__ */ i(Y, { name: "alertTriangle", size: 16, className: "flex-shrink-0 text-red-500" @@ -9783,7 +9882,7 @@ function Ow() { }) }); } -function Br(e) { +function Wr(e) { switch (e?.code) { case "not-found": return "documentError.notFound"; @@ -9797,8 +9896,8 @@ function Br(e) { return "documentError.unknown"; } } -function Tw() { - const e = ye(), { close: t, retry: n } = wa(), o = Fo((s) => s.documents), r = Z(), a = o.find((s) => s.id === e); +function Bw() { + const e = _e(), { close: t, retry: n } = Sa(), o = Uo((s) => s.documents), r = Q(), a = o.find((s) => s.id === e); return !e || !a ? null : /* @__PURE__ */ i("div", { className: "bg-app flex h-full w-full items-center justify-center p-8", children: /* @__PURE__ */ i("div", { @@ -9807,7 +9906,7 @@ function Tw() { children: [ /* @__PURE__ */ i("div", { className: "mb-4 rounded-full bg-red-500/10 p-4", - children: /* @__PURE__ */ i(q, { + children: /* @__PURE__ */ i(Y, { name: "alertTriangle", size: 28, className: "text-red-500" @@ -9824,7 +9923,7 @@ function Tw() { /* @__PURE__ */ i("p", { className: "text-fg-secondary mt-2 text-sm", "data-epdf-error-reason": "", - children: r(Br(a.error)) + children: r(Wr(a.error)) }), /* @__PURE__ */ i("div", { className: "mt-5 flex w-full gap-3", @@ -9845,8 +9944,8 @@ function Tw() { }) }); } -function Cw({ className: e, children: t }) { - const n = Z(), o = ke(), r = Ce(Nr), a = r.visible && r.enabled, s = k(0), [l, d] = C(!1), c = (f) => a && yc(f.dataTransfer), p = () => { +function Kw({ className: e, children: t }) { + const n = Q(), o = ke(), r = Ce(zr), a = r.visible && r.enabled, s = k(0), [l, d] = C(!1), c = (f) => a && Mc(f.dataTransfer), p = () => { s.current = 0, d(!1); }; return /* @__PURE__ */ i("div", { @@ -9863,10 +9962,10 @@ function Cw({ className: e, children: t }) { onDrop: (f) => { if (p(), !c(f)) return; f.preventDefault(), f.stopPropagation(); - const u = Array.from(f.dataTransfer.files).filter(Sa); + const u = Array.from(f.dataTransfer.files).filter(Ca); if (u.length === 0) return; const m = { files: u }; - o.execute(Nr, { args: m }).catch(() => { + o.execute(zr, { args: m }).catch(() => { }); }, children: [t, l && /* @__PURE__ */ i("div", { @@ -9879,19 +9978,19 @@ function Cw({ className: e, children: t }) { })] }); } -function Ew() { - const e = Qe(Sc); - return e.isOpen ? /* @__PURE__ */ i(Aw, { onClose: e.close }) : null; +function jw() { + const e = Qe(Cc); + return e.isOpen ? /* @__PURE__ */ i(Hw, { onClose: e.close }) : null; } -function Aw({ onClose: e }) { - const t = Z(), n = Je(), o = Q(lt), r = Jt((f) => f.currentPageIndex + 1), a = Jt((f) => f.pageCount), [s, l] = C(() => String(r)), d = () => { +function Hw({ onClose: e }) { + const t = Q(), n = Je(), o = ee(ct), r = Xt((f) => f.currentPageIndex + 1), a = Xt((f) => f.pageCount), [s, l] = C(() => String(r)), d = () => { const f = Number.parseInt(s, 10); Number.isFinite(f) && a > 0 && o?.goToPage(Math.min(Math.max(f, 1), a) - 1), e(); }, [c, p = ""] = t("pageNumber.page", { params: { current: "", total: a } }).split(""); - return /* @__PURE__ */ i(za, { + return /* @__PURE__ */ i(Ua, { labelledBy: n, onClose: e, className: "border-border bg-surface w-80 rounded-lg border p-4 shadow-xl", @@ -9939,8 +10038,8 @@ function Aw({ onClose: e }) { }) }); } -function Ad({ small: e = !1 }) { - const t = Z(), n = $e(), { status: o, slow: r } = Nh(), a = o === "loading" && r; +function Bd({ small: e = !1 }) { + const t = Q(), n = ze(), { status: o, slow: r } = Fh(), a = o === "loading" && r; if (!a && !(o === "error" || o === "forbidden")) return null; const { viewScale: s, rotation: l } = n.transform, d = n.getViewDemand?.().visibleRect, c = d && d.width > 0 && d.height > 0 ? { x: (d.x + d.width / 2) * s, @@ -9975,57 +10074,57 @@ function Ad({ small: e = !1 }) { children: t(o === "forbidden" ? "demo.pageForbidden" : "demo.pageError") }); } -const yr = { +const Or = { initial: 288, min: 200, max: 640 -}, Nw = { +}, Uw = { compact: "sheet", medium: "overlay", expanded: "dock" }; -function Nd(e, t) { - return (t === void 0 ? void 0 : yu(t)[e]) ?? Nw[e]; +function Kd(e, t) { + return (t === void 0 ? void 0 : Pu(t)[e]) ?? Uw[e]; } -function Wa(e) { - const t = e === void 0 ? {} : xu(e), n = t.max ?? yr.max, o = Math.min(t.min ?? yr.min, n); +function Ja(e) { + const t = e === void 0 ? {} : Cu(e), n = t.max ?? Or.max, o = Math.min(t.min ?? Or.min, n); return { - initial: t.initial ?? yr.initial, + initial: t.initial ?? Or.initial, min: o, max: n }; } -function Va(e, t) { +function Qa(e, t) { return Math.max(t.min, Math.min(t.max, Math.floor(e / 2))); } -function qo(e, t, n) { - const o = Va(t, n); +function Qo(e, t, n) { + const o = Qa(t, n); return Math.round(Math.min(o, Math.max(n.min, e))); } -function Iw(e, t) { +function Gw(e, t) { return Math.round(Math.max(0, Math.min(e, t - 48))); } -function Lw(e, t, n) { +function Ww(e, t, n) { const o = Math.min(n.max, Math.max(n.min, e)); return Math.round(Math.max(0, Math.min(o, t))); } -const Rw = (e, t) => Nd(e, t) === "dock"; -function Dw(e, t) { +const Vw = (e, t) => Kd(e, t) === "dock"; +function qw(e, t) { return e === "start" == (t === "ltr") ? 1 : -1; } -function Kr(e, t, n) { - return qo(e + t * Dw(n.side, n.dir), n.viewerWidth, n.widths); +function Vr(e, t, n) { + return Qo(e + t * qw(n.side, n.dir), n.viewerWidth, n.widths); } -function $w(e, t, n, o) { +function Yw(e, t, n, o) { const r = 16 * (n ? 4 : 1); - return t === "ArrowRight" ? Kr(e, r, o) : t === "ArrowLeft" ? Kr(e, -r, o) : t === "Home" ? qo(o.widths.min, o.viewerWidth, o.widths) : t === "End" ? Va(o.viewerWidth, o.widths) : null; + return t === "ArrowRight" ? Vr(e, r, o) : t === "ArrowLeft" ? Vr(e, -r, o) : t === "Home" ? Qo(o.widths.min, o.viewerWidth, o.widths) : t === "End" ? Qa(o.viewerWidth, o.widths) : null; } -function zw(e) { - const { size: t } = dt(), n = Nd(t, e.present); - return n === "sheet" ? /* @__PURE__ */ i(jw, { ...e }) : n === "overlay" ? /* @__PURE__ */ i(Hw, { ...e }) : /* @__PURE__ */ i(Bw, { ...e }); +function Xw(e) { + const { size: t } = ut(), n = Kd(t, e.present); + return n === "sheet" ? /* @__PURE__ */ i(ty, { ...e }) : n === "overlay" ? /* @__PURE__ */ i(ey, { ...e }) : /* @__PURE__ */ i(Jw, { ...e }); } -function qa({ title: e, header: t, onClose: n }) { - const o = Z(); +function ei({ title: e, header: t, onClose: n }) { + const o = Q(); return /* @__PURE__ */ i("div", { part: "panel-header", "data-epdf-panel-header": "", @@ -10036,7 +10135,7 @@ function qa({ title: e, header: t, onClose: n }) { className: "text-fg truncate text-sm font-semibold", children: e }) - }), n && /* @__PURE__ */ i(jo, { + }), n && /* @__PURE__ */ i(qo, { content: { label: o("panel.close") }, children: (r) => /* @__PURE__ */ i("button", { ...r, @@ -10044,7 +10143,7 @@ function qa({ title: e, header: t, onClose: n }) { onClick: n, "aria-label": o("panel.close"), className: "text-fg-muted hover:bg-hover grid h-7 w-7 shrink-0 place-items-center rounded-md", - children: /* @__PURE__ */ i(q, { + children: /* @__PURE__ */ i(Y, { name: "x", size: 16 }) @@ -10052,19 +10151,19 @@ function qa({ title: e, header: t, onClose: n }) { })] }); } -const Ds = /* @__PURE__ */ new WeakMap(); -function Fw(e) { - let t = Ds.get(e); - return t || (t = /* @__PURE__ */ new Map(), Ds.set(e, t)), t; +const Ks = /* @__PURE__ */ new WeakMap(); +function Zw(e) { + let t = Ks.get(e); + return t || (t = /* @__PURE__ */ new Map(), Ks.set(e, t)), t; } -function Ya(e, t) { - const n = Fw(ct()), [, o] = St((s) => s + 1, 0); +function ti(e, t) { + const n = Zw(dt()), [, o] = kt((s) => s + 1, 0); return [n.get(e) ?? t.initial, (s) => { n.get(e) !== s && (n.set(e, s), o()); }]; } -function Bw({ id: e, side: t, width: n, resizable: o = !0, closable: r = !0, title: a, onClose: s, header: l, bars: d, children: c }) { - const p = dt(), f = Je(), u = Wa(n), [m, b] = Ya(e, u), h = qo(m, p.width, u), g = Ec(), y = { +function Jw({ id: e, side: t, width: n, resizable: o = !0, closable: r = !0, title: a, onClose: s, header: l, bars: d, children: c }) { + const p = ut(), f = Je(), u = Ja(n), [m, g] = ti(e, u), h = Qo(m, p.width, u), b = Rc(), y = { side: t, dir: p.dir, viewerWidth: p.width, @@ -10080,7 +10179,7 @@ function Bw({ id: e, side: t, width: n, resizable: o = !0, closable: r = !0, tit className: `bg-surface border-border-subtle relative z-[35] flex shrink-0 flex-col ${t === "start" ? "border-e" : "border-s"}`, style: { width: h }, children: [ - /* @__PURE__ */ i(qa, { + /* @__PURE__ */ i(ei, { title: a, header: l, onClose: r ? s : void 0 @@ -10090,13 +10189,13 @@ function Bw({ id: e, side: t, width: n, resizable: o = !0, closable: r = !0, tit className: "flex min-h-0 flex-1 flex-col", children: c }), - o && /* @__PURE__ */ i(Id, { + o && /* @__PURE__ */ i(jd, { regionId: f, edge: y, title: a, width: h, - onWidth: b, - onResized: (v) => g({ + onWidth: g, + onResized: (v) => b({ id: e, width: v }) @@ -10104,8 +10203,8 @@ function Bw({ id: e, side: t, width: n, resizable: o = !0, closable: r = !0, tit ] }); } -function Id({ regionId: e, edge: t, title: n, width: o, onWidth: r, onResized: a }) { - const s = Z(), l = k(null), d = (f) => { +function jd({ regionId: e, edge: t, title: n, width: o, onWidth: r, onResized: a }) { + const s = Q(), l = k(null), d = (f) => { f.pointerType === "mouse" && f.button !== 0 || (f.preventDefault(), f.currentTarget.setPointerCapture(f.pointerId), l.current = { pointerId: f.pointerId, startX: f.clientX, @@ -10114,7 +10213,7 @@ function Id({ regionId: e, edge: t, title: n, width: o, onWidth: r, onResized: a }); }, c = (f) => { const u = l.current; - !u || u.pointerId !== f.pointerId || (u.width = Kr(u.startWidth, f.clientX - u.startX, t), r(u.width)); + !u || u.pointerId !== f.pointerId || (u.width = Vr(u.startWidth, f.clientX - u.startX, t), r(u.width)); }, p = (f) => { const u = l.current; u?.pointerId === f.pointerId && (l.current = null, u.width !== u.startWidth && a(u.width)); @@ -10126,7 +10225,7 @@ function Id({ regionId: e, edge: t, title: n, width: o, onWidth: r, onResized: a "aria-label": s("panel.resize", { params: { title: n } }), "aria-valuenow": o, "aria-valuemin": t.widths.min, - "aria-valuemax": Va(t.viewerWidth, t.widths), + "aria-valuemax": Qa(t.viewerWidth, t.widths), tabIndex: 0, "data-epdf-panel-edge": "", className: `focus-visible:bg-accent/40 hover:bg-accent/20 absolute inset-y-0 z-10 w-2 cursor-col-resize touch-none outline-none transition-colors ${t.side === "start" ? "-end-1" : "-start-1"}`, @@ -10135,26 +10234,26 @@ function Id({ regionId: e, edge: t, title: n, width: o, onWidth: r, onResized: a onPointerUp: p, onPointerCancel: p, onKeyDown: (f) => { - const u = $w(o, f.key, f.shiftKey, t); + const u = Yw(o, f.key, f.shiftKey, t); u !== null && (f.preventDefault(), u !== o && (r(u), a(u))); } }); } -const Kw = { +const Qw = { start: "start-0 border-e starting:-translate-x-full rtl:starting:translate-x-full", end: "end-0 border-s starting:translate-x-full rtl:starting:-translate-x-full" }; -function Hw({ id: e, side: t, width: n, resizable: o = !0, title: r, onClose: a, header: s, bars: l, list: d, children: c }) { - const p = dt(), f = Je(), u = Wa(n), [m, b] = Ya(e, u), h = qo(m, p.width, u), g = Ec(), y = { +function ey({ id: e, side: t, width: n, resizable: o = !0, title: r, onClose: a, header: s, bars: l, list: d, children: c }) { + const p = ut(), f = Je(), u = Ja(n), [m, g] = ti(e, u), h = Qo(m, p.width, u), b = Rc(), y = { side: t, dir: p.dir, viewerWidth: p.width, widths: u }, v = k(null), _ = k(a); return _.current = a, R(() => { - const O = v.current; - if (!O) return; - const S = Ho(O, { + const P = v.current; + if (!P) return; + const S = Vo(P, { onEscape: () => _.current(), trap: !1 }); @@ -10162,7 +10261,7 @@ function Hw({ id: e, side: t, width: n, resizable: o = !0, title: r, onClose: a, }, []), /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i("div", { "aria-hidden": "true", "data-epdf-scrim": "", - className: `absolute inset-0 z-30 ${Ea}`, + className: `absolute inset-0 z-30 ${Ra}`, onClick: () => _.current() }), /* @__PURE__ */ i("section", { ref: v, @@ -10172,10 +10271,10 @@ function Hw({ id: e, side: t, width: n, resizable: o = !0, title: r, onClose: a, part: "panel", "data-epdf-panel": e, "data-present": "overlay", - className: `bg-surface border-border-subtle absolute inset-y-0 z-40 flex flex-col shadow-xl transition-[translate] duration-200 ease-out motion-reduce:transition-none ${Kw[t]}`, - style: { width: Iw(h, p.width) }, + className: `bg-surface border-border-subtle absolute inset-y-0 z-40 flex flex-col shadow-xl transition-[translate] duration-200 ease-out motion-reduce:transition-none ${Qw[t]}`, + style: { width: Gw(h, p.width) }, children: [ - /* @__PURE__ */ i(qa, { + /* @__PURE__ */ i(ei, { title: r, header: s, onClose: a @@ -10183,40 +10282,40 @@ function Hw({ id: e, side: t, width: n, resizable: o = !0, title: r, onClose: a, l, /* @__PURE__ */ i("div", { className: "flex min-h-0 flex-1 flex-col", - children: /* @__PURE__ */ i(Xc, { + children: /* @__PURE__ */ i(od, { value: d ? () => _.current() : () => { }, children: c }) }), - o && /* @__PURE__ */ i(Id, { + o && /* @__PURE__ */ i(jd, { regionId: f, edge: y, title: r, width: h, - onWidth: b, - onResized: (O) => g({ + onWidth: g, + onResized: (P) => b({ id: e, - width: O + width: P }) }) ] })] }); } -function jw({ id: e, width: t, title: n, onClose: o, header: r, bars: a, list: s, children: l }) { - const d = dt(), c = Wa(t), [p] = Ya(e, c); - return /* @__PURE__ */ i(Zc, { +function ty({ id: e, width: t, title: n, onClose: o, header: r, bars: a, list: s, children: l }) { + const d = ut(), c = Ja(t), [p] = ti(e, c); + return /* @__PURE__ */ i(rd, { label: n, onClose: o, size: "panel", - width: d.size === "compact" ? void 0 : Lw(p, d.width, c), + width: d.size === "compact" ? void 0 : Ww(p, d.width, c), list: s, part: "panel", data: { "epdf-panel": e, present: "sheet" }, - header: /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i(qa, { + header: /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i(ei, { title: n, header: r, onClose: o @@ -10224,12 +10323,12 @@ function jw({ id: e, width: t, title: n, onClose: o, header: r, bars: a, list: s children: l }); } -function Uw({ id: e, side: t, title: n, onClose: o, children: r }) { - const a = Z(), { size: s } = dt(), l = k(null), d = k(o); +function ny({ id: e, side: t, title: n, onClose: o, children: r }) { + const a = Q(), { size: s } = ut(), l = k(null), d = k(o); return d.current = o, R(() => { const c = l.current; if (!c) return; - const p = Ho(c, { + const p = Vo(c, { onEscape: () => d.current(), trap: !1 }); @@ -10245,7 +10344,7 @@ function Uw({ id: e, side: t, title: n, onClose: o, children: r }) { children: [/* @__PURE__ */ i("div", { className: "min-w-0 flex-1", children: r - }), /* @__PURE__ */ i(jo, { + }), /* @__PURE__ */ i(qo, { content: { label: a("panel.close") }, children: (c) => /* @__PURE__ */ i("button", { ...c, @@ -10253,7 +10352,7 @@ function Uw({ id: e, side: t, title: n, onClose: o, children: r }) { onClick: o, "aria-label": a("panel.close"), className: "text-fg-muted hover:bg-hover grid h-8 w-8 shrink-0 place-items-center rounded-md", - children: /* @__PURE__ */ i(q, { + children: /* @__PURE__ */ i(Y, { name: "x", size: 16 }) @@ -10261,8 +10360,8 @@ function Uw({ id: e, side: t, title: n, onClose: o, children: r }) { })] }); } -function Gw({ id: e, title: t, panels: n }) { - const o = Z(), [r, a] = C(!1), s = ve({ label: o("panels.switch") }); +function oy({ id: e, title: t, panels: n }) { + const o = Q(), [r, a] = C(!1), s = we({ label: o("panels.switch") }); return /* @__PURE__ */ i("div", { className: "relative flex min-w-0", children: [ @@ -10277,18 +10376,18 @@ function Gw({ id: e, title: t, panels: n }) { children: [/* @__PURE__ */ i("span", { className: "truncate", children: t - }), /* @__PURE__ */ i(q, { + }), /* @__PURE__ */ i(Y, { name: "chevronDown", size: 16, className: "text-fg-muted shrink-0" })] }), s.element, - r && /* @__PURE__ */ i(zn, { + r && /* @__PURE__ */ i(Fn, { onClose: () => a(!1), children: /* @__PURE__ */ i("div", { className: "min-w-48 p-1", - children: n.map((l) => /* @__PURE__ */ i(Ww, { + children: n.map((l) => /* @__PURE__ */ i(ry, { panel: l, current: l === e, onPicked: () => a(!1) @@ -10298,9 +10397,9 @@ function Gw({ id: e, title: t, panels: n }) { ] }); } -function Ww({ panel: e, current: t, onPicked: n }) { +function ry({ panel: e, current: t, onPicked: n }) { const o = Ce(It(e)); - return o.visible ? /* @__PURE__ */ i(Fn, { + return o.visible ? /* @__PURE__ */ i(Bn, { command: { ...o, active: t @@ -10311,16 +10410,16 @@ function Ww({ panel: e, current: t, onPicked: n }) { } }) : null; } -const eo = 2; -function Ld(e) { +const no = 2; +function Hd(e) { const t = e[0]; return t ? Math.max(1, e.filter((n) => Math.abs(n.y - t.y) < 1).length) : 1; } -function $s(e, t, n) { +function js(e, t, n) { const o = Math.max(e.x - t, 0, t - (e.x + e.width)), r = Math.max(e.y - n, 0, n - (e.y + e.height)); return Math.hypot(o, r); } -function Vw(e, t, n) { +function ay(e, t, n) { const o = e.filter((l) => !t.has(l)), r = "before" in n ? n.before : n.after, a = o.indexOf(r) + ("after" in n ? 1 : 0), s = e.filter((l) => t.has(l)); return [ ...o.slice(0, a), @@ -10328,30 +10427,30 @@ function Vw(e, t, n) { ...o.slice(a) ]; } -function qw(e, t, n, o, r) { +function iy(e, t, n, o, r) { let a = null; - for (const p of e) (!a || $s(p, t.x, t.y) < $s(a, t.x, t.y)) && (a = p); + for (const p of e) (!a || js(p, t.x, t.y) < js(a, t.x, t.y)) && (a = p); if (!a || r.has(a.page)) return null; - const s = Ld(e) > 1, l = s ? t.x < a.x + a.width / 2 : t.y < a.y + a.height / 2, d = l ? { before: a.page } : { after: a.page }; - if (r.size > 0 && Vw(o, r, d).every((p, f) => p === o[f])) + const s = Hd(e) > 1, l = s ? t.x < a.x + a.width / 2 : t.y < a.y + a.height / 2, d = l ? { before: a.page } : { after: a.page }; + if (r.size > 0 && ay(o, r, d).every((p, f) => p === o[f])) return null; const c = n.gap / 2; return { position: d, line: s ? { - x: (l ? a.x - c : a.x + a.width + c) - eo / 2, + x: (l ? a.x - c : a.x + a.width + c) - no / 2, y: a.y, - width: eo, + width: no, height: a.height } : { x: a.x, - y: (l ? a.y - c : a.y + a.height + n.band + c) - eo / 2, + y: (l ? a.y - c : a.y + a.height + n.band + c) - no / 2, width: a.width, - height: eo + height: no } }; } -function Yw(e, t, n) { +function sy(e, t, n) { const o = e.flatMap((r, a) => t.has(r) ? [a] : []); if (o.length === 0) return null; if (n < 0) { @@ -10361,8 +10460,8 @@ function Yw(e, t, n) { for (let r = o[o.length - 1] + 1; r < e.length; r += 1) if (!t.has(e[r])) return { after: e[r] }; return null; } -const Xw = 4, Zw = 450, zs = 28, Jw = 16; -function Fs(e) { +const ly = 4, cy = 450, Hs = 28, dy = 16; +function Us(e) { return e.listVisiblePages().map((t) => ({ page: t.ref.objectNumber, x: t.screenX, @@ -10371,187 +10470,187 @@ function Fs(e) { height: t.transform.viewHeight })); } -const _r = (e) => "before" in e ? { before: fo(e.before) } : { after: fo(e.after) }; -function Qw() { - const e = Z(), t = Je(), n = ji(), o = ji(yn), r = Jt((w) => w.currentPageIndex), a = bh(), s = Bh(), l = Kh((w) => w.selected), d = ke(), c = Ce("page:insert-file"), p = Ce("page:insert-blank"), f = p.visible && p.enabled, u = bv(), m = k(null), [b, h] = C(null), [g, y] = C(null), [v, _] = C(!1), [O, S] = C(null), x = k(null); - x.current = O; - const [P, M] = C(null), T = k(null), L = k(!1), A = a.map((w) => w.ref.objectNumber), F = (w) => w === null ? -1 : A.indexOf(w), ce = new Set(l.map((w) => w.objectNumber)), te = F(b) >= 0 ? F(b) : r; +const Pr = (e) => "before" in e ? { before: ho(e.before) } : { after: ho(e.after) }; +function uy() { + const e = Q(), t = Je(), n = Yi(), o = Yi(_n), r = Xt((w) => w.currentPageIndex), a = Sh(), s = Vh(), l = qh((w) => w.selected), d = ke(), c = Ce("page:insert-file"), p = Ce("page:insert-blank"), f = p.visible && p.enabled, u = Rv(), m = k(null), [g, h] = C(null), [b, y] = C(null), [v, _] = C(!1), [P, S] = C(null), x = k(null); + x.current = P; + const [O, M] = C(null), T = k(null), L = k(!1), B = a.map((w) => w.ref.objectNumber), I = (w) => w === null ? -1 : B.indexOf(w), K = new Set(l.map((w) => w.objectNumber)), te = I(g) >= 0 ? I(g) : r; E(() => o.reveal(r), [r, o]); - const se = Jt((w) => w.pageCount, yn), nt = l[l.length - 1]?.objectNumber ?? null, ot = nt === null ? -1 : A.indexOf(nt); + const Fe = Xt((w) => w.pageCount, _n), ne = l[l.length - 1]?.objectNumber ?? null, nt = ne === null ? -1 : B.indexOf(ne); E(() => { - ot >= 0 && ot < se && o.reveal(ot); + nt >= 0 && nt < Fe && o.reveal(nt); }, [ - ot, - se, + nt, + Fe, o ]); - const Mt = () => { - const { gap: w, pageFrame: B } = o.getSettings(); + const ln = () => { + const { gap: w, pageFrame: F } = o.getSettings(); return { - gap: typeof w == "object" && w !== null && "px" in w ? w.px : Jw, - band: B.bottom + gap: typeof w == "object" && w !== null && "px" in w ? w.px : dy, + band: F.bottom }; - }, Ft = (w, B) => { - const G = m.current?.getBoundingClientRect(); - return G ? { - x: w - G.left, - y: B - G.top + }, St = (w, F) => { + const W = m.current?.getBoundingClientRect(); + return W ? { + x: w - W.left, + y: F - W.top } : null; - }, Ke = (w, B, G) => { - const ne = Ft(w, B); - return ne ? qw(Fs(o), ne, Mt(), A, G) : null; - }, N = (w) => { + }, ot = (w, F, W) => { + const oe = St(w, F); + return oe ? iy(Us(o), oe, ln(), B, W) : null; + }, A = (w) => { n.goToPage(w), u(); - }, ee = (w) => s.select(w), _e = (w, B, G) => { + }, ie = (w) => s.select(w), ve = (w, F, W) => { if (L.current) { L.current = !1; return; } - const ne = w.objectNumber; - if (h(ne), f && (G.metaKey || G.ctrlKey)) { - ee(ce.has(ne) ? l.filter((U) => U.objectNumber !== ne) : [...l, w]), y(ne); + const oe = w.objectNumber; + if (h(oe), f && (W.metaKey || W.ctrlKey)) { + ie(K.has(oe) ? l.filter((G) => G.objectNumber !== oe) : [...l, w]), y(oe); return; } - if (f && G.shiftKey && F(g) >= 0) { - const U = F(g), [le, V] = U < B ? [U, B] : [B, U]; - ee(a.slice(le, V + 1).map((Qo) => Qo.ref)); + if (f && W.shiftKey && I(b) >= 0) { + const G = I(b), [ce, q] = G < F ? [G, F] : [F, G]; + ie(a.slice(ce, q + 1).map((rr) => rr.ref)); return; } - y(ne), f && ee([w]), N(B); - }, Me = (w) => { - h(w.objectNumber), ce.has(w.objectNumber) || ee([w]); - }, ze = (w) => m.current?.querySelector(`[data-epdf-page-menu="${w}"] button`)?.click(), ut = () => { + y(oe), f && ie([w]), A(F); + }, Se = (w) => { + h(w.objectNumber), K.has(w.objectNumber) || ie([w]); + }, Mt = (w) => m.current?.querySelector(`[data-epdf-page-menu="${w}"] button`)?.click(), Ot = () => { T.current !== null && clearTimeout(T.current), T.current = null; - }, Vd = (w, B) => { - if (!f || B.button !== 0 || B.target.closest("[data-epdf-page-menu]")) return; - const G = w.objectNumber, ne = ce.has(G) ? ce : /* @__PURE__ */ new Set([G]); + }, Kn = (w, F) => { + if (!f || F.button !== 0 || F.target.closest("[data-epdf-page-menu]")) return; + const W = w.objectNumber, oe = K.has(W) ? K : /* @__PURE__ */ new Set([W]); S({ - pointerId: B.pointerId, - startX: B.clientX, - startY: B.clientY, - page: G, - moving: ne, + pointerId: F.pointerId, + startX: F.clientX, + startY: F.clientY, + page: W, + moving: oe, held: !1, active: !1, drop: null - }), B.pointerType !== "mouse" && (T.current = setTimeout(() => { - const U = x.current; - U && !U.active && S({ - ...U, + }), F.pointerType !== "mouse" && (T.current = setTimeout(() => { + const G = x.current; + G && !G.active && S({ + ...G, held: !0 }); - }, Zw)); - }, Bn = O?.active === !0, qd = O !== null; + }, cy)); + }, Ne = P?.active === !0, jn = P !== null; E(() => { - if (!qd) return; - const w = (U) => { - const le = x.current; - if (!le || U.pointerId !== le.pointerId) return; - if (!le.active) { - if (Math.hypot(U.clientX - le.startX, U.clientY - le.startY) <= Xw) return; - if (U.pointerType !== "mouse" && !le.held) { - ut(), S(null); + if (!jn) return; + const w = (G) => { + const ce = x.current; + if (!ce || G.pointerId !== ce.pointerId) return; + if (!ce.active) { + if (Math.hypot(G.clientX - ce.startX, G.clientY - ce.startY) <= ly) return; + if (G.pointerType !== "mouse" && !ce.held) { + Ot(), S(null); return; } } - const V = m.current?.getBoundingClientRect(); - V && U.clientY < V.top + zs ? o.scrollBy({ top: -8 }) : V && U.clientY > V.bottom - zs && o.scrollBy({ top: 8 }), S({ - ...le, + const q = m.current?.getBoundingClientRect(); + q && G.clientY < q.top + Hs ? o.scrollBy({ top: -8 }) : q && G.clientY > q.bottom - Hs && o.scrollBy({ top: 8 }), S({ + ...ce, active: !0, - drop: Ke(U.clientX, U.clientY, le.moving) + drop: ot(G.clientX, G.clientY, ce.moving) }); - }, B = (U, le) => { - ut(); - const V = x.current; - if (!V || U.pointerId !== V.pointerId) return; - if (S(null), !V.active) { - V.held && le && (L.current = !0, Me(fo(V.page)), ze(V.page)); + }, F = (G, ce) => { + Ot(); + const q = x.current; + if (!q || G.pointerId !== q.pointerId) return; + if (S(null), !q.active) { + q.held && ce && (L.current = !0, Se(ho(q.page)), Mt(q.page)); return; } if (L.current = !0, setTimeout(() => { L.current = !1; - }, 0), !le || !V.drop) return; - const Qo = a.filter((er) => V.moving.has(er.ref.objectNumber)); - s.reorder(Qo.map((er) => er.ref), _r(V.drop.position)).catch(() => { + }, 0), !ce || !q.drop) return; + const rr = a.filter((ar) => q.moving.has(ar.ref.objectNumber)); + s.reorder(rr.map((ar) => ar.ref), Pr(q.drop.position)).catch(() => { }); - }, G = (U) => B(U, !0), ne = (U) => B(U, !1); - return window.addEventListener("pointermove", w), window.addEventListener("pointerup", G), window.addEventListener("pointercancel", ne), () => { - window.removeEventListener("pointermove", w), window.removeEventListener("pointerup", G), window.removeEventListener("pointercancel", ne); + }, W = (G) => F(G, !0), oe = (G) => F(G, !1); + return window.addEventListener("pointermove", w), window.addEventListener("pointerup", W), window.addEventListener("pointercancel", oe), () => { + window.removeEventListener("pointermove", w), window.removeEventListener("pointerup", W), window.removeEventListener("pointercancel", oe); }; }), E(() => { - if (!Bn) return; - const w = (B) => B.preventDefault(); + if (!Ne) return; + const w = (F) => F.preventDefault(); return document.addEventListener("touchmove", w, { passive: !1 }), () => document.removeEventListener("touchmove", w); - }, [Bn]), E(() => ut, []); - const Zo = (w) => f && c.visible && c.enabled && yc(w.dataTransfer), ti = (w) => { - Zo(w) && (w.preventDefault(), w.stopPropagation(), w.dataTransfer.dropEffect = "copy", M(Ke(w.clientX, w.clientY, /* @__PURE__ */ new Set()))); - }, Yd = (w) => { - if (!Zo(w)) return; + }, [Ne]), E(() => Ot, []); + const nr = (w) => f && c.visible && c.enabled && Mc(w.dataTransfer), si = (w) => { + nr(w) && (w.preventDefault(), w.stopPropagation(), w.dataTransfer.dropEffect = "copy", M(ot(w.clientX, w.clientY, /* @__PURE__ */ new Set()))); + }, nu = (w) => { + if (!nr(w)) return; w.stopPropagation(); - const B = w.relatedTarget; - (!B || !m.current?.contains(B)) && M(null); - }, Xd = (w) => { - if (!Zo(w)) return; + const F = w.relatedTarget; + (!F || !m.current?.contains(F)) && M(null); + }, ou = (w) => { + if (!nr(w)) return; w.preventDefault(), w.stopPropagation(); - const B = Ke(w.clientX, w.clientY, /* @__PURE__ */ new Set()); + const F = ot(w.clientX, w.clientY, /* @__PURE__ */ new Set()); M(null); - const G = Array.from(w.dataTransfer.files).filter(Sa); - if (G.length === 0) return; - const ne = { - files: G, - ...B ? { position: _r(B.position) } : {} + const W = Array.from(w.dataTransfer.files).filter(Ca); + if (W.length === 0) return; + const oe = { + files: W, + ...F ? { position: Pr(F.position) } : {} }; - d.execute("page:insert-file", { args: ne }).catch(() => { + d.execute("page:insert-file", { args: oe }).catch(() => { }); - }, ni = (w, B) => { - const G = a[w]; - if (G) { - if (h(G.ref.objectNumber), o.reveal(w), !f) { + }, li = (w, F) => { + const W = a[w]; + if (W) { + if (h(W.ref.objectNumber), o.reveal(w), !f) { n.goToPage(w); return; } - if (B && F(g) >= 0) { - const ne = F(g), [U, le] = ne < w ? [ne, w] : [w, ne]; - ee(a.slice(U, le + 1).map((V) => V.ref)); + if (F && I(b) >= 0) { + const oe = I(b), [G, ce] = oe < w ? [oe, w] : [w, oe]; + ie(a.slice(G, ce + 1).map((q) => q.ref)); return; } - y(G.ref.objectNumber), ee([G.ref]), n.goToPage(w); + y(W.ref.objectNumber), ie([W.ref]), n.goToPage(w); } - }, Zd = (w) => { + }, ru = (w) => { if (w.target !== w.currentTarget || a.length === 0) return; _(!0); - const B = Ld(Fs(o)), G = { + const F = Hd(Us(o)), W = { ArrowLeft: -1, ArrowRight: 1, - ArrowUp: -B, - ArrowDown: B - }[w.key], ne = w.metaKey || w.ctrlKey; - if (G !== void 0 && w.altKey && f) { + ArrowUp: -F, + ArrowDown: F + }[w.key], oe = w.metaKey || w.ctrlKey; + if (W !== void 0 && w.altKey && f) { w.preventDefault(); - const U = Yw(A, ce, G < 0 ? -1 : 1), le = a.filter((V) => ce.has(V.ref.objectNumber)); - U && le.length > 0 && s.reorder(le.map((V) => V.ref), _r(U)).catch(() => { + const G = sy(B, K, W < 0 ? -1 : 1), ce = a.filter((q) => K.has(q.ref.objectNumber)); + G && ce.length > 0 && s.reorder(ce.map((q) => q.ref), Pr(G)).catch(() => { }); return; } - if (G !== void 0) { - w.preventDefault(), ni(Math.max(0, Math.min(a.length - 1, te + G)), w.shiftKey); + if (W !== void 0) { + w.preventDefault(), li(Math.max(0, Math.min(a.length - 1, te + W)), w.shiftKey); return; } switch (w.key) { case "Home": case "End": - w.preventDefault(), ni(w.key === "Home" ? 0 : a.length - 1, w.shiftKey); + w.preventDefault(), li(w.key === "Home" ? 0 : a.length - 1, w.shiftKey); return; case "Enter": - w.preventDefault(), N(te); + w.preventDefault(), A(te); return; case " ": { if (!f) return; w.preventDefault(); - const U = a[te]; - if (!U) return; - const le = U.ref.objectNumber; - y(le), ee(ce.has(le) ? l.filter((V) => V.objectNumber !== le) : [...l, U.ref]); + const G = a[te]; + if (!G) return; + const ce = G.ref.objectNumber; + y(ce), ie(K.has(ce) ? l.filter((q) => q.objectNumber !== ce) : [...l, G.ref]); return; } case "Delete": @@ -10562,12 +10661,12 @@ function Qw() { return; case "a": case "A": - if (!ne || !f) return; + if (!oe || !f) return; w.preventDefault(), d.execute("page:select-all").catch(() => { }); return; } - }, Jo = a[te]?.ref ?? null, ln = Bn ? O.drop : P; + }, or = a[te]?.ref ?? null, cn = Ne ? P.drop : O; return /* @__PURE__ */ i("div", { className: "flex min-h-0 flex-1 flex-col", children: /* @__PURE__ */ i("div", { @@ -10576,31 +10675,31 @@ function Qw() { "aria-label": e("panels.thumbnails"), "aria-multiselectable": f || void 0, tabIndex: 0, - "aria-activedescendant": v && Jo ? `${t}-${Jo.objectNumber}` : void 0, - onKeyDown: Zd, + "aria-activedescendant": v && or ? `${t}-${or.objectNumber}` : void 0, + onKeyDown: ru, onFocus: (w) => w.target === w.currentTarget && _(w.currentTarget.matches(":focus-visible")), onBlur: (w) => w.target === w.currentTarget && _(!1), - onDragEnter: ti, - onDragOver: ti, - onDragLeave: Yd, - onDrop: Xd, + onDragEnter: si, + onDragOver: si, + onDragLeave: nu, + onDrop: ou, className: "focus-visible:ring-accent relative flex min-h-0 flex-1 flex-col outline-none focus-visible:ring-2 focus-visible:ring-inset", - children: /* @__PURE__ */ i(rc, { - token: yn, + children: /* @__PURE__ */ i(dc, { + token: _n, className: "flex-1", style: { position: "relative" }, - overlay: /* @__PURE__ */ i(D, { children: [ln && /* @__PURE__ */ i("div", { + overlay: /* @__PURE__ */ i(D, { children: [cn && /* @__PURE__ */ i("div", { "aria-hidden": !0, className: "bg-accent pointer-events-none absolute rounded-full", style: { - left: ln.line.x, - top: ln.line.y, - width: ln.line.width, - height: ln.line.height + left: cn.line.x, + top: cn.line.y, + width: cn.line.width, + height: cn.line.height } - }), /* @__PURE__ */ i(Ar, { axis: "y" })] }), + }), /* @__PURE__ */ i($r, { axis: "y" })] }), pageChrome: (w) => { - const B = w.ref.objectNumber, G = f && ce.has(B), ne = w.pageIndex === r, U = v && Jo?.objectNumber === B, le = Bn && O.moving.has(B); + const F = w.ref.objectNumber, W = f && K.has(F), oe = w.pageIndex === r, G = v && or?.objectNumber === F, ce = Ne && P.moving.has(F); return /* @__PURE__ */ i("div", { className: "group", style: { @@ -10608,19 +10707,19 @@ function Qw() { inset: 0 }, children: [ - /* @__PURE__ */ i(Wc, { + /* @__PURE__ */ i(Qc, { label: e("thumbnails.page", { params: { page: w.pageIndex + 1 } }), - id: `${t}-${B}`, + id: `${t}-${F}`, role: "option", - "aria-selected": f ? G : ne, - "aria-current": ne ? "page" : void 0, + "aria-selected": f ? W : oe, + "aria-current": oe ? "page" : void 0, tabIndex: -1, - onClick: (V) => _e(w.ref, w.pageIndex, V), - onPointerDown: (V) => Vd(w.ref, V), - onContextMenu: (V) => { - f && (V.preventDefault(), Me(w.ref), ze(B)); + onClick: (q) => ve(w.ref, w.pageIndex, q), + onPointerDown: (q) => Kn(w.ref, q), + onContextMenu: (q) => { + f && (q.preventDefault(), Se(w.ref), Mt(F)); }, - className: `box-border cursor-pointer touch-manipulation rounded ${G || ne ? "border-accent border-2" : "border-border-subtle border"} ${ne ? "ring-accent-light ring-2" : ""} ${G ? "bg-accent/10" : ""} ${U ? "outline-accent outline outline-2 outline-offset-2" : ""} ${le ? "bg-surface/60" : ""}`, + className: `box-border cursor-pointer touch-manipulation rounded ${W || oe ? "border-accent border-2" : "border-border-subtle border"} ${oe ? "ring-accent-light ring-2" : ""} ${W ? "bg-accent/10" : ""} ${G ? "outline-accent outline outline-2 outline-offset-2" : ""} ${ce ? "bg-surface/60" : ""}`, style: { position: "absolute", top: w.frame.top, @@ -10630,15 +10729,15 @@ function Qw() { } }), f && /* @__PURE__ */ i("span", { - "data-epdf-page-menu": B, - onClick: (V) => V.stopPropagation(), - onPointerDownCapture: () => Me(w.ref), - className: `bg-elevated absolute rounded shadow-sm ${G || U ? "" : "opacity-0 focus-within:opacity-100 group-hover:opacity-100"}`, + "data-epdf-page-menu": F, + onClick: (q) => q.stopPropagation(), + onPointerDownCapture: () => Se(w.ref), + className: `bg-elevated absolute rounded shadow-sm ${W || G ? "" : "opacity-0 focus-within:opacity-100 group-hover:opacity-100"}`, style: { top: w.frame.top + 4, right: w.frame.right + 4 }, - children: /* @__PURE__ */ i(ey, {}) + children: /* @__PURE__ */ i(py, {}) }), /* @__PURE__ */ i("div", { style: { @@ -10659,67 +10758,67 @@ function Qw() { ] }); }, - children: () => /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i(ic, { thumbnail: !0 }), /* @__PURE__ */ i(Ad, { small: !0 })] }) + children: () => /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i(pc, { thumbnail: !0 }), /* @__PURE__ */ i(Bd, { small: !0 })] }) }) }) }); } -function ey() { +function py() { const e = Ce("menu:page"); - return e.visible ? /* @__PURE__ */ i(Vo, { + return e.visible ? /* @__PURE__ */ i(Jo, { cmd: e, variant: "icon", run: () => void e.run() }) : null; } -const ty = fe(() => import("./search-panel-Eivx6mw6-Dhc9WWk-.js").then((e) => e.SearchPanel)), ny = fe(() => import("./search-panel-Eivx6mw6-Dhc9WWk-.js").then((e) => e.FindBar)), oy = fe(() => import("./comments-panel-WWRsL--Q-H14drDZj.js").then((e) => e.CommentsPanel)), ry = fe(() => import("./measurement-DZOOYxOT-DhLpoEY8.js").then((e) => e.MeasurementSection)), ay = fe(() => import("./annotation-style-CF_uQ82y-CRTERsP6.js").then((e) => e.AnnotationStylePanel)), iy = fe(() => import("./stamps-panel-vnotr2Nq-BTL56Bnw.js").then((e) => e.StampsPanel)), sy = fe(() => import("./signatures-panel-DKFVlxyM-D_imZbgh.js").then((e) => e.SignaturesPanel)), ly = fe(() => import("./redaction-panel-BJvgl75F-QBtkOm4Z.js").then((e) => e.RedactionPanel)), cy = fe(() => import("./outline-panel-BgbrOoBa-D3gSj0ae.js").then((e) => e.OutlinePanel)), dy = fe(() => import("./attachments-panel-CPssFrCE-DZDhBoxx.js").then((e) => e.AttachmentsPanel)), uy = fe(() => import("./form-design-panel-wzDO2bUT-BI1FHAFA.js").then((e) => e.FormDesignPanel)), Rd = /* @__PURE__ */ new Map([ +const fy = me(() => import("./search-panel-Bg1iPcy6-DPYp_NzQ.js").then((e) => e.SearchPanel)), my = me(() => import("./search-panel-Bg1iPcy6-DPYp_NzQ.js").then((e) => e.FindBar)), hy = me(() => import("./comments-panel-DfUngPkF-BdOkNWgM.js").then((e) => e.CommentsPanel)), gy = me(() => import("./measurement-6M_KEsFK-Bw9_NzWx.js").then((e) => e.MeasurementSection)), by = me(() => import("./annotation-style-CNXq5gcp-C8ZPUht3.js").then((e) => e.AnnotationStylePanel)), vy = me(() => import("./stamps-panel-moG5l7rv-BeT889q9.js").then((e) => e.StampsPanel)), wy = me(() => import("./signatures-panel-QneSliC6-DeuWjIuE.js").then((e) => e.SignaturesPanel)), yy = me(() => import("./redaction-panel-Djm12Ydh-CzJptj00.js").then((e) => e.RedactionPanel)), _y = me(() => import("./outline-panel-qcEnzfex-CzT-23Th.js").then((e) => e.OutlinePanel)), xy = me(() => import("./attachments-panel-YtEhxrto-No2qmrx-.js").then((e) => e.AttachmentsPanel)), ky = me(() => import("./form-design-panel-BLoqGIJY-D9AquL8W.js").then((e) => e.FormDesignPanel)), Ud = /* @__PURE__ */ new Map([ ["thumbnails", { - draw: () => /* @__PURE__ */ i(Qw, {}), + draw: () => /* @__PURE__ */ i(uy, {}), list: !0 }], ["outline", { - draw: (e) => /* @__PURE__ */ i(cy, {}, e ?? "none"), + draw: (e) => /* @__PURE__ */ i(_y, {}, e ?? "none"), list: !0, - scope: Uv + scope: c0 }], ["attachments", { - draw: (e) => /* @__PURE__ */ i(dy, {}, e ?? "none"), + draw: (e) => /* @__PURE__ */ i(xy, {}, e ?? "none"), list: !0 }], ["search", { - draw: (e) => /* @__PURE__ */ i(ty, {}, e ?? "none"), + draw: (e) => /* @__PURE__ */ i(fy, {}, e ?? "none"), list: !0, bar: { - when: (e, t) => e.tryCapability(rn, t ?? void 0)?.canSearch({ snippets: !0 }) === !1, - draw: (e) => /* @__PURE__ */ i(ny, {}, e ?? "none") + when: (e, t) => e.tryCapability(on, t ?? void 0)?.canSearch({ snippets: !0 }) === !1, + draw: (e) => /* @__PURE__ */ i(my, {}, e ?? "none") } }], - ["comments", { draw: (e) => /* @__PURE__ */ i(oy, {}, e ?? "none") }], - ["measurement", { draw: (e) => /* @__PURE__ */ i(ry, {}, e ?? "none") }], - ["style", { draw: () => /* @__PURE__ */ i(ay, {}) }], - ["stamps", { draw: () => /* @__PURE__ */ i(iy, {}) }], - ["signatures", { draw: () => /* @__PURE__ */ i(sy, {}) }], - ["redaction", { draw: () => /* @__PURE__ */ i(ly, {}) }], - ["form-design", { draw: (e) => /* @__PURE__ */ i(uy, {}, e ?? "none") }] -]), py = [], to = (e, t) => e.length === t.length && e.every((n, o) => n === t[o]), fy = (e, t) => to(e.shown, t.shown) && to(e.off, t.off) && to(e.open, t.open) && to(e.bars, t.bars), Bs = /* @__PURE__ */ new WeakMap(); -function my(e, t) { - let n = Bs.get(e); + ["comments", { draw: (e) => /* @__PURE__ */ i(hy, {}, e ?? "none") }], + ["measurement", { draw: (e) => /* @__PURE__ */ i(gy, {}, e ?? "none") }], + ["style", { draw: () => /* @__PURE__ */ i(by, {}) }], + ["stamps", { draw: () => /* @__PURE__ */ i(vy, {}) }], + ["signatures", { draw: () => /* @__PURE__ */ i(wy, {}) }], + ["redaction", { draw: () => /* @__PURE__ */ i(yy, {}) }], + ["form-design", { draw: (e) => /* @__PURE__ */ i(ky, {}, e ?? "none") }] +]), Sy = [], oo = (e, t) => e.length === t.length && e.every((n, o) => n === t[o]), My = (e, t) => oo(e.shown, t.shown) && oo(e.off, t.off) && oo(e.open, t.open) && oo(e.bars, t.bars), Gs = /* @__PURE__ */ new WeakMap(); +function Oy(e, t) { + let n = Gs.get(e); return n || (n = { start: /* @__PURE__ */ new Set(), end: /* @__PURE__ */ new Set() - }, Bs.set(e, n)), n[t]; + }, Gs.set(e, n)), n[t]; } -function Ks({ side: e }) { - const { data: t, env: n } = tt(), o = ke(), r = Q(K), a = ye(), s = H(() => C1(t, e), [t, e]), { shown: l, off: d, open: c, bars: p } = ie((u) => { - const m = (b) => o.resolveCommand(It(b), a ?? void 0)?.visible; +function Ws({ side: e }) { + const { data: t, env: n } = tt(), o = ke(), r = ee(H), a = _e(), s = j(() => K1(t, e), [t, e]), { shown: l, off: d, open: c, bars: p } = le((u) => { + const m = (g) => o.resolveCommand(It(g), a ?? void 0)?.visible; return { - shown: s.filter((b) => m(b) === !0), - off: s.filter((b) => m(b) === !1), - open: r ? s.filter((b) => r.isOpen(b)) : py, - bars: s.filter((b) => Rd.get(b)?.bar?.when(u, a) === !0) + shown: s.filter((g) => m(g) === !0), + off: s.filter((g) => m(g) === !1), + open: r ? s.filter((g) => r.isOpen(g)) : Sy, + bars: s.filter((g) => Ud.get(g)?.bar?.when(u, a) === !0) }; - }, fy); - jg((u) => u.onSurfaceOpened, (u) => { + }, My); + Xg((u) => u.onSurfaceOpened, (u) => { if (!(!r || !s.includes(u.id))) for (const m of s) m !== u.id && r.isOpen(m) && r.close(m); }); @@ -10727,15 +10826,15 @@ function Ks({ side: e }) { return R(() => { if (!r) return; for (const h of c) h !== f && (f !== null || d.includes(h)) && r.close(h); - if (n === Ma) return; - const u = t.panels ?? {}, m = my(r, e), b = E1(u, { + if (n === Ea) return; + const u = t.panels ?? {}, m = Oy(r, e), g = j1(u, { ids: s, shown: l, current: f, - docks: (h) => Rw(n.size, u[h]?.present) && !p.includes(h) + docks: (h) => Vw(n.size, u[h]?.present) && !p.includes(h) }, m); - for (const h of b.started) m.add(h); - b.open !== null && r.open(b.open); + for (const h of g.started) m.add(h); + g.open !== null && r.open(g.open); }, [ r, e, @@ -10747,17 +10846,17 @@ function Ks({ side: e }) { d, p, f - ]), f === null ? null : /* @__PURE__ */ i(hy, { + ]), f === null ? null : /* @__PURE__ */ i(Py, { id: f, side: e, siblings: l }, f); } -function hy({ id: e, side: t, siblings: n }) { - const o = tt().data.panels?.[e], r = ke(), a = Q(K), s = ye(), l = Rd.get(e), d = ie((f) => l?.bar?.when(f, s) === !0), c = ie(() => r.resolveCommand(It(e), s ?? void 0)?.label ?? null); +function Py({ id: e, side: t, siblings: n }) { + const o = tt().data.panels?.[e], r = ke(), a = ee(H), s = _e(), l = Ud.get(e), d = le((f) => l?.bar?.when(f, s) === !0), c = le(() => r.resolveCommand(It(e), s ?? void 0)?.label ?? null); if (!o) return null; const p = c ?? o.title ?? e; - return d ? /* @__PURE__ */ i(Uw, { + return d ? /* @__PURE__ */ i(ny, { id: e, side: t, title: p, @@ -10766,7 +10865,7 @@ function hy({ id: e, side: t, siblings: n }) { name: `panel:${e}`, children: l?.bar?.draw(s) }) - }) : /* @__PURE__ */ i(l?.scope ?? D, { children: /* @__PURE__ */ i(zw, { + }) : /* @__PURE__ */ i(l?.scope ?? D, { children: /* @__PURE__ */ i(Xw, { id: e, side: t, present: o.present, @@ -10774,12 +10873,12 @@ function hy({ id: e, side: t, siblings: n }) { resizable: o.resizable, closable: o.closable !== !1, title: p, - header: n.length > 1 ? /* @__PURE__ */ i(Gw, { + header: n.length > 1 ? /* @__PURE__ */ i(oy, { id: e, title: p, panels: n }) : void 0, - bars: /* @__PURE__ */ i(gw, { panel: e }), + bars: /* @__PURE__ */ i(Tw, { panel: e }), list: l?.list, onClose: () => a?.close(e), children: /* @__PURE__ */ i("slot", { @@ -10788,7 +10887,7 @@ function hy({ id: e, side: t, siblings: n }) { }) }) }); } -function gy() { +function Ty() { let e = []; const t = /* @__PURE__ */ new Set(), n = (o) => { e = o; @@ -10810,19 +10909,19 @@ function gy() { } }; } -const xr = /* @__PURE__ */ new WeakSet(); -function by(e, t) { +const Tr = /* @__PURE__ */ new WeakSet(); +function Cy(e, t) { const { visible: n, enabled: o } = t; R(() => { - !n && !e.hidden ? (e.hidden = !0, xr.add(e)) : n && xr.has(e) && (e.hidden = !1, xr.delete(e)), o ? e.removeAttribute("aria-disabled") : e.setAttribute("aria-disabled", "true"); + !n && !e.hidden ? (e.hidden = !0, Tr.add(e)) : n && Tr.has(e) && (e.hidden = !1, Tr.delete(e)), o ? e.removeAttribute("aria-disabled") : e.setAttribute("aria-disabled", "true"); }, [ e, n, o ]); } -function Dd({ icon: e, label: t }) { - return e ? /* @__PURE__ */ i(q, { +function Gd({ icon: e, label: t }) { + return e ? /* @__PURE__ */ i(Y, { name: e, size: 20 }) : /* @__PURE__ */ i("span", { @@ -10830,9 +10929,9 @@ function Dd({ icon: e, label: t }) { children: t }); } -function vy({ host: e, commandId: t, active: n }) { +function Ey({ host: e, commandId: t, active: n }) { const o = Ce(t); - return by(e, o), o.visible ? /* @__PURE__ */ i(Vo, { + return Cy(e, o), o.visible ? /* @__PURE__ */ i(Jo, { cmd: n ? { ...o, active: n @@ -10841,8 +10940,8 @@ function vy({ host: e, commandId: t, active: n }) { run: () => void o.run() }) : null; } -function wy({ icon: e, label: t, active: n }) { - const o = ve(t ? { +function Ay({ icon: e, label: t, active: n }) { + const o = we(t ? { label: t, labelShown: !e } : null); @@ -10851,26 +10950,26 @@ function wy({ icon: e, label: t, active: n }) { type: "button", "aria-label": t ?? void 0, "aria-pressed": n || void 0, - part: Se(n), - className: Re(n), - children: /* @__PURE__ */ i(Dd, { + part: Me(n), + className: De(n), + children: /* @__PURE__ */ i(Gd, { icon: e, label: t }) }), o.element] }); } -function yy({ button: e }) { - return e.command ? /* @__PURE__ */ i(vy, { +function Ny({ button: e }) { + return e.command ? /* @__PURE__ */ i(Ey, { host: e.host, commandId: e.command, active: e.active - }) : /* @__PURE__ */ i(wy, { + }) : /* @__PURE__ */ i(Ay, { icon: e.icon, label: e.label, active: e.active }); } -const _y = (e) => ({ +const Ly = (e) => ({ id: "", label: e.label, icon: e.icon ?? void 0, @@ -10881,7 +10980,7 @@ const _y = (e) => ({ visible: !0, categories: [] }); -function xy({ item: e, commandId: t, onPicked: n }) { +function Iy({ item: e, commandId: t, onPicked: n }) { const o = Ce(t); if (!o.visible) return null; const r = { @@ -10890,7 +10989,7 @@ function xy({ item: e, commandId: t, onPicked: n }) { icon: e.icon ?? o.icon, active: e.active || o.active }; - return /* @__PURE__ */ i(Fn, { + return /* @__PURE__ */ i(Bn, { command: r, choice: r.active ? "checkbox" : "none", onSelect: () => { @@ -10898,8 +10997,8 @@ function xy({ item: e, commandId: t, onPicked: n }) { } }); } -function ky({ menu: e }) { - const [t, n] = C(!1), o = () => n(!1), r = ve(e.label ? { +function Ry({ menu: e }) { + const [t, n] = C(!1), o = () => n(!1), r = we(e.label ? { label: e.label, labelShown: !e.icon } : null); @@ -10912,25 +11011,25 @@ function ky({ menu: e }) { "aria-haspopup": "menu", "aria-expanded": t, "aria-label": e.label ?? void 0, - part: Se(t), - className: Re(t), + part: Me(t), + className: De(t), onClick: () => n((a) => !a), - children: /* @__PURE__ */ i(Dd, { + children: /* @__PURE__ */ i(Gd, { icon: e.icon, label: e.label }) }), r.element, - t && /* @__PURE__ */ i(zn, { + t && /* @__PURE__ */ i(Fn, { onClose: o, children: /* @__PURE__ */ i("div", { className: "min-w-52 p-1", - children: e.items.map((a, s) => a.command ? /* @__PURE__ */ i(xy, { + children: e.items.map((a, s) => a.command ? /* @__PURE__ */ i(Iy, { item: a, commandId: a.command, onPicked: o - }, s) : /* @__PURE__ */ i(Fn, { - command: _y(a), + }, s) : /* @__PURE__ */ i(Bn, { + command: Ly(a), choice: a.active ? "checkbox" : "none", onSelect: () => { a.select(), o(); @@ -10941,36 +11040,36 @@ function ky({ menu: e }) { ] }); } -function Sy({ icon: e }) { - return e.icon ? /* @__PURE__ */ i(q, { +function Dy({ icon: e }) { + return e.icon ? /* @__PURE__ */ i(Y, { name: e.icon, size: e.size ?? 20, title: e.label ?? void 0, className: "block" }) : null; } -const Hs = /* @__PURE__ */ new WeakMap(); -let My = 0; -const Py = (e) => { - let t = Hs.get(e); - return t === void 0 && (t = My++, Hs.set(e, t)), t; +const Vs = /* @__PURE__ */ new WeakMap(); +let $y = 0; +const zy = (e) => { + let t = Vs.get(e); + return t === void 0 && (t = $y++, Vs.set(e, t)), t; }; -function Oy({ components: e }) { - const t = Xe(e.subscribe, e.list, e.list), n = rd(); - return Xe(n.subscribe, n.version, n.version), /* @__PURE__ */ i(D, { children: t.map((o) => /* @__PURE__ */ i(D, { children: ga(/* @__PURE__ */ i($n, { +function Fy({ components: e }) { + const t = Xe(e.subscribe, e.list, e.list), n = fd(); + return Xe(n.subscribe, n.version, n.version), /* @__PURE__ */ i(D, { children: t.map((o) => /* @__PURE__ */ i(D, { children: _a(/* @__PURE__ */ i(zn, { value: n.edgeOf(o.host), - children: o.kind === "button" ? /* @__PURE__ */ i(yy, { button: o }) : o.kind === "menu" ? /* @__PURE__ */ i(ky, { menu: o }) : /* @__PURE__ */ i(Sy, { icon: o }) - }), o.root) }, Py(o.host))) }); + children: o.kind === "button" ? /* @__PURE__ */ i(Ny, { button: o }) : o.kind === "menu" ? /* @__PURE__ */ i(Ry, { menu: o }) : /* @__PURE__ */ i(Dy, { icon: o }) + }), o.root) }, zy(o.host))) }); } -const Ty = 2500; -function Cy() { - const e = Z(), [t, n] = C(null), o = Ve((r) => n((a) => ({ +const By = 2500; +function Ky() { + const e = Q(), [t, n] = C(null), o = Ve((r) => n((a) => ({ message: r, count: (a?.count ?? 0) + 1 })), []); return E(() => { if (!t) return; - const r = setTimeout(() => n(null), Ty); + const r = setTimeout(() => n(null), By); return () => clearTimeout(r); }, [t]), { onShortcutRefused: Ve((r, a) => o(a.message), [o]), @@ -10987,39 +11086,39 @@ function Cy() { }) }; } -function Ey() { - return /* @__PURE__ */ i(Qh, { children: ({ angle: e }) => /* @__PURE__ */ i("div", { +function jy() { + return /* @__PURE__ */ i(ig, { children: ({ angle: e }) => /* @__PURE__ */ i("div", { className: "pointer-events-none whitespace-nowrap rounded bg-black/80 px-1.5 py-0.5 font-mono text-xs text-white", children: [e, "°"] }) }); } -const Ay = 12, Ny = 38; -function Iy() { - const e = Z(), { touch: t } = dt(), n = Pa("selection"), o = Aa(n); - return !n || !o ? null : /* @__PURE__ */ i(Wh, { +const Hy = 12, Uy = 38; +function Gy() { + const e = Q(), { touch: t } = ut(), n = Aa("selection"), o = Da(n); + return !n || !o ? null : /* @__PURE__ */ i(Qh, { placement: "bottom", - gap: t ? Ny : Ay, - children: /* @__PURE__ */ i(Ga, { + gap: t ? Uy : Hy, + children: /* @__PURE__ */ i(Za, { bar: n, view: o, label: e("commands.selection.strip") }) }); } -const Ly = 12; -function Ry() { - const e = Z(), t = Pa("snapshot"), n = Aa(t); - return !t || !n ? null : /* @__PURE__ */ i(zh, { +const Wy = 12; +function Vy() { + const e = Q(), t = Aa("snapshot"), n = Da(t); + return !t || !n ? null : /* @__PURE__ */ i(Gh, { placement: "bottom", - gap: Ly, - children: /* @__PURE__ */ i(Ga, { + gap: Wy, + children: /* @__PURE__ */ i(Za, { bar: t, view: n, label: e("commands.snapshot.strip") }) }); } -const js = [ +const qs = [ { titleKey: "shortcuts.document", areas: ["document"] @@ -11050,34 +11149,34 @@ const js = [ "outline" ] } -], Us = "shortcuts.other", Dy = /* @__PURE__ */ new Set([ +], Ys = "shortcuts.other", qy = /* @__PURE__ */ new Set([ "selection", "annotation", "snapshot" -]), Gs = (e) => e.split(":")[0] ?? e; -function $y(e, t) { +]), Xs = (e) => e.split(":")[0] ?? e; +function Yy(e, t) { const n = [...new Set(e.listShortcuts().map((r) => r.commandId))].flatMap((r) => { if (e.getRefusal(r, t)) return []; const a = e.resolveCommand(r, t); - return !a || a.shortcuts.length === 0 ? [] : !a.visible && !Dy.has(Gs(r)) ? [] : [{ + return !a || a.shortcuts.length === 0 ? [] : !a.visible && !qy.has(Xs(r)) ? [] : [{ commandId: r, label: a.label, shortcuts: a.shortcuts }]; - }), o = (r) => js.find((a) => a.areas.includes(Gs(r.commandId)))?.titleKey ?? Us; - return [...js.map((r) => r.titleKey), Us].map((r) => ({ + }), o = (r) => qs.find((a) => a.areas.includes(Xs(r.commandId)))?.titleKey ?? Ys; + return [...qs.map((r) => r.titleKey), Ys].map((r) => ({ titleKey: r, rows: n.filter((a) => o(a) === r) })).filter((r) => r.rows.length > 0); } -const zy = (e, t) => JSON.stringify(e) === JSON.stringify(t); -function Fy() { - const e = Qe(Mc); - return e.isOpen ? /* @__PURE__ */ i(By, { onClose: e.close }) : null; +const Xy = (e, t) => JSON.stringify(e) === JSON.stringify(t); +function Zy() { + const e = Qe(Ec); + return e.isOpen ? /* @__PURE__ */ i(Jy, { onClose: e.close }) : null; } -function By({ onClose: e }) { - const t = Z(), n = Je(), o = ke(), r = ye() ?? void 0, a = ie(() => $y(o, r), zy), s = No(); - return /* @__PURE__ */ i(za, { +function Jy({ onClose: e }) { + const t = Q(), n = Je(), o = ke(), r = _e() ?? void 0, a = le(() => Yy(o, r), Xy), s = Ro(); + return /* @__PURE__ */ i(Ua, { labelledBy: n, onClose: e, className: "border-border bg-surface w-96 rounded-lg border p-4 shadow-xl", @@ -11089,11 +11188,11 @@ function By({ onClose: e }) { id: n, className: "text-fg text-base font-semibold", children: t("commands.shortcuts") - }), /* @__PURE__ */ i(Wc, { + }), /* @__PURE__ */ i(Qc, { label: t("panel.close"), onClick: e, className: "text-fg-muted hover:bg-hover hover:text-fg grid h-7 w-7 place-items-center rounded-md", - children: /* @__PURE__ */ i(q, { + children: /* @__PURE__ */ i(Y, { name: "x", size: 16 }) @@ -11115,7 +11214,7 @@ function By({ onClose: e }) { className: "flex shrink-0 gap-1", children: d.shortcuts.map((c) => /* @__PURE__ */ i("kbd", { className: "border-border-subtle bg-surface-alt text-fg-secondary rounded border px-1.5 py-0.5 font-sans text-xs", - children: Qs(c, { isMac: s }) + children: al(c, { isMac: s }) }, c)) })] }, d.commandId)) @@ -11124,23 +11223,23 @@ function By({ onClose: e }) { }) }); } -function Ky() { - return Hh((e) => e.status), sc((e) => e.status), null; +function Qy() { + return Yh((e) => e.status), fc((e) => e.status), null; } -function Hy() { - const e = Hg(); - return Wn((t) => t.onTargetChanged, (t) => { +function e2() { + const e = Yg(); + return qn((t) => t.onTargetChanged, (t) => { t.field && e.open("signatures"); - }), Wn((t) => t.onSignRequested, (t) => e.open("signature-sign", { + }), qn((t) => t.onSignRequested, (t) => e.open("signature-sign", { exclusive: "modal", props: { field: t.field, mark: t.mark } - })), Wn((t) => t.onInspectionRequested, (t) => e.open("signature-inspector", { props: { field: t.field } })), Wn((t) => t.onInvalidationPredicted, () => e.open("signatures")), null; + })), qn((t) => t.onInspectionRequested, (t) => e.open("signature-inspector", { props: { field: t.field } })), qn((t) => t.onInvalidationPredicted, () => e.open("signatures")), null; } -function jy() { - const e = zb(), t = Fo((n) => n.documents.some((o) => o.hasUnsavedChanges)); +function t2() { + const e = Gb(), t = Uo((n) => n.documents.some((o) => o.hasUnsavedChanges)); return E(() => { if (!e || !t) return; const n = (o) => { @@ -11149,9 +11248,9 @@ function jy() { return window.addEventListener("beforeunload", n), () => window.removeEventListener("beforeunload", n); }, [e, t]), null; } -function Uy({ name: e, onCancel: t, onClose: n }) { - const o = Z(), r = Je(); - return /* @__PURE__ */ i(za, { +function n2({ name: e, onCancel: t, onClose: n }) { + const o = Q(), r = Je(); + return /* @__PURE__ */ i(Ua, { labelledBy: r, onClose: t, className: "border-border bg-surface w-96 rounded-lg border p-4 shadow-xl", @@ -11182,8 +11281,8 @@ function Uy({ name: e, onCancel: t, onClose: n }) { ] }); } -function Gy({ visibility: e }) { - const { setActive: t, close: n } = wa(), { documents: o, activeId: r } = Fo(), a = Z(), [s, l] = C(null); +function o2({ visibility: e }) { + const { setActive: t, close: n } = Sa(), { documents: o, activeId: r } = Uo(), a = Q(), [s, l] = C(null); if (!(e === "always" || e === "multiple" && o.length > 1)) return null; const d = (c, p) => { c.hasUnsavedChanges ? l({ @@ -11212,24 +11311,24 @@ function Gy({ visibility: e }) { className: "border-border-subtle border-t-accent h-3 w-3 flex-shrink-0 animate-spin rounded-full border", "aria-label": a("tabs.loading") }), - c.status === "locked" && /* @__PURE__ */ i(q, { + c.status === "locked" && /* @__PURE__ */ i(Y, { name: "lock", size: 13, className: "text-fg-muted flex-shrink-0" }), - c.status === "error" && c.openRequest && /* @__PURE__ */ i(q, { + c.status === "error" && c.openRequest && /* @__PURE__ */ i(Y, { name: "lock", size: 13, className: "text-fg-muted flex-shrink-0" }), - c.status === "error" && !c.openRequest && /* @__PURE__ */ i(jo, { - content: { label: a(Br(c.error)) }, + c.status === "error" && !c.openRequest && /* @__PURE__ */ i(qo, { + content: { label: a(Wr(c.error)) }, children: (u) => /* @__PURE__ */ i("span", { ...u, className: "flex flex-shrink-0", role: "img", - "aria-label": a(Br(c.error)), - children: /* @__PURE__ */ i(q, { + "aria-label": a(Wr(c.error)), + children: /* @__PURE__ */ i(Y, { name: "alertTriangle", size: 13, className: "text-red-500" @@ -11247,7 +11346,7 @@ function Gy({ visibility: e }) { }, "aria-label": a("tabs.close", { params: { name: f } }), className: "hover:bg-hover flex-shrink-0 cursor-pointer rounded-full p-1 opacity-100 transition-all", - children: /* @__PURE__ */ i(q, { + children: /* @__PURE__ */ i(Y, { name: "x", size: 14 }) @@ -11255,7 +11354,7 @@ function Gy({ visibility: e }) { ] }, c.id); }) - }), s && /* @__PURE__ */ i(Uy, { + }), s && /* @__PURE__ */ i(n2, { name: s.name, onCancel: () => l(null), onClose: () => { @@ -11264,12 +11363,12 @@ function Gy({ visibility: e }) { })] }); } -const no = 40, $d = { +const ro = 40, Wd = { x: 8, y: 28 -}, co = "#1a1a1a", _n = "#ffffff", Wy = "#34a853"; -function Vy(e, t, n) { - const o = Lc(e, n); +}, po = "#1a1a1a", xn = "#ffffff", r2 = "#34a853"; +function a2(e, t, n) { + const o = Fc(e, n); if (!o) return null; const r = [], a = []; for (const s of o) { @@ -11277,8 +11376,8 @@ function Vy(e, t, n) { d: s, fill: void 0, stroke: void 0 - } : s, d = l.fill === !0 ? co : l.fill ? t?.[l.fill] : void 0, c = l.stroke ? t?.[l.stroke] ?? co : l.fill ? "none" : co; - r.push(``); + } : s, d = l.fill === !0 ? po : l.fill ? t?.[l.fill] : void 0, c = l.stroke ? t?.[l.stroke] ?? po : l.fill ? "none" : po; + r.push(``); const p = [ ["stroke-width", l.strokeWidth], ["stroke-dasharray", l.strokeDasharray], @@ -11289,46 +11388,46 @@ function Vy(e, t, n) { } return r.join("") + a.join(""); } -const fn = (e, t, n, o) => ``; -function qy(e) { - const { x: t, y: n } = $d; - return e === "crosshair" ? fn(t, n - 6, t, n + 6) + fn(t - 6, n, t + 6, n) : e === "ibeam" ? fn(t, n - 6.5, t, n + 6.5) + fn(t - 2.5, n - 6.5, t + 2.5, n - 6.5) + fn(t - 2.5, n + 6.5, t + 2.5, n + 6.5) : ``; +const mn = (e, t, n, o) => ``; +function i2(e) { + const { x: t, y: n } = Wd; + return e === "crosshair" ? mn(t, n - 6, t, n + 6) + mn(t - 6, n, t + 6, n) : e === "ibeam" ? mn(t, n - 6.5, t, n + 6.5) + mn(t - 2.5, n - 6.5, t + 2.5, n - 6.5) + mn(t - 2.5, n + 6.5, t + 2.5, n + 6.5) : ``; } -function Yy(e, t, n, o) { - const r = Vy(t, n, o); - return `` + qy(e) + (r ? `${r}` : "") + ""; +function s2(e, t, n, o) { + const r = a2(t, n, o); + return `` + i2(e) + (r ? `${r}` : "") + ""; } -const Xy = { +const l2 = { crosshair: "crosshair", text: "ibeam", copy: "plus" }; -function Zy() { - const e = jh((s) => s.activeToolId) ?? "pointer", t = hg(e), n = Ac(), o = fg().tools.get(e)?.ghost ? void 0 : Wt[e], r = (s) => t[s] ?? void 0, a = o?.accent ? { +function c2() { + const e = Xh((s) => s.activeToolId) ?? "pointer", t = xg(e), n = Dc(), o = yg().tools.get(e)?.ghost ? void 0 : Ut[e], r = (s) => t[s] ?? void 0, a = o?.accent ? { primary: r(o.accent.primary), secondary: o.accent.secondary ? r(o.accent.secondary) : void 0 } : void 0; - return Uh(o ? { + return Zh(o ? { toolId: e, - cursors: Object.fromEntries(Object.entries(Xy).map(([s, l]) => [s, { - svg: Yy(l, o.icon, a, n), - hotspot: $d + cursors: Object.fromEntries(Object.entries(l2).map(([s, l]) => [s, { + svg: s2(l, o.icon, a, n), + hotspot: Wd }])) } : null), null; } -const Jy = () => Qe("redact-confirm").isOpen, Qy = () => xg((e) => e.calibrationRequest !== null), e2 = () => Qe("signature-sign").isOpen, t2 = () => Qe("signature-maker").isOpen, n2 = () => Qe("signature-inspector").isOpen, o2 = () => Qe("print").isOpen, r2 = fe(() => import("./redact-confirm-C0AI8Tbt-kx6yQn1w.js").then((e) => e.RedactConfirmModal), { shownWhile: Jy }), a2 = fe(() => import("./measurement-DZOOYxOT-DhLpoEY8.js").then((e) => e.CalibrationDialog), { shownWhile: Qy }), i2 = fe(() => import("./sign-dialog-DETgmjof-E3lEsjm-.js").then((e) => e.SignDialog), { shownWhile: e2 }), s2 = fe(() => import("./signature-maker-DmqserJG-Dqe4dnaT.js").then((e) => e.SignatureMakerModal), { shownWhile: t2 }), l2 = fe(() => import("./signature-inspector-DkpEvdof-B8jYrCeN.js").then((e) => e.SignatureInspector), { shownWhile: n2 }), c2 = fe(() => import("./print-dialog-Bloq0P0B-BhaTDpmp.js").then((e) => e.PrintDialog), { shownWhile: o2 }), d2 = () => Qe(_c).isOpen, Ws = fe(() => import("./grant-prompt-BDEos2cl-4vCbb2Va.js").then((e) => e.GrantPrompt), { prefetch: !1 }), u2 = () => wo((e) => e.identityRequest !== void 0), p2 = fe(() => import("./grant-prompt-BDEos2cl-4vCbb2Va.js").then((e) => e.VisitorIdentityDialog), { - shownWhile: u2, +const d2 = () => Qe("redact-confirm").isOpen, u2 = () => Cg((e) => e.calibrationRequest !== null), p2 = () => Qe("signature-sign").isOpen, f2 = () => Qe("signature-maker").isOpen, m2 = () => Qe("signature-inspector").isOpen, h2 = () => Qe("print").isOpen, g2 = me(() => import("./redact-confirm-C0AI8Tbt-Cbju2sek.js").then((e) => e.RedactConfirmModal), { shownWhile: d2 }), b2 = me(() => import("./measurement-6M_KEsFK-Bw9_NzWx.js").then((e) => e.CalibrationDialog), { shownWhile: u2 }), v2 = me(() => import("./sign-dialog-DETgmjof-CFdMBob_.js").then((e) => e.SignDialog), { shownWhile: p2 }), w2 = me(() => import("./signature-maker-CnLiLraV-CuBdj7zM.js").then((e) => e.SignatureMakerModal), { shownWhile: f2 }), y2 = me(() => import("./signature-inspector-PcOYwkvA-CNbyzJ36.js").then((e) => e.SignatureInspector), { shownWhile: m2 }), _2 = me(() => import("./print-dialog-Cx4W9E8--RwbM3d9Y.js").then((e) => e.PrintDialog), { shownWhile: h2 }), x2 = () => Qe(Oc).isOpen, Zs = me(() => import("./grant-prompt-Co4bzHaR-BWhYzDFb.js").then((e) => e.GrantPrompt), { prefetch: !1 }), k2 = () => _o((e) => e.identityRequest !== void 0), S2 = me(() => import("./grant-prompt-Co4bzHaR-BWhYzDFb.js").then((e) => e.VisitorIdentityDialog), { + shownWhile: k2, prefetch: !1 -}), f2 = fe(() => import("./outline-properties-Fm45njZA-CIdMmLmr.js").then((e) => e.OutlinePropertiesDialog), { shownWhile: d2 }); -function m2() { - const e = uu(tt().data); +}), M2 = me(() => import("./outline-properties-D8sxr4I4-DAOfIx49.js").then((e) => e.OutlinePropertiesDialog), { shownWhile: x2 }); +function O2() { + const e = wu(tt().data); return e === "never" ? null : /* @__PURE__ */ i("slot", { name: "tabs", - children: /* @__PURE__ */ i(Gy, { visibility: e }) + children: /* @__PURE__ */ i(o2, { visibility: e }) }); } -function h2() { - const e = Z(); +function P2() { + const e = Q(); return /* @__PURE__ */ i("div", { className: "grid h-full w-full place-items-center", children: /* @__PURE__ */ i("div", { @@ -11340,70 +11439,70 @@ function h2() { }) }); } -function g2({ children: e }) { - const t = ye(), n = wo((r) => r.status), o = wo((r) => r.openRequest !== void 0); +function T2({ children: e }) { + const t = _e(), n = _o((r) => r.status), o = _o((r) => r.openRequest !== void 0); return t === null ? /* @__PURE__ */ i("div", { className: "min-w-0 flex-1 overflow-auto", children: /* @__PURE__ */ i("slot", { name: "empty" }) - }) : n === "locked" ? /* @__PURE__ */ i(Ow, {}, t) : n === "error" ? o ? /* @__PURE__ */ i(Ws, {}, t) : /* @__PURE__ */ i(Tw, {}, t) : /* @__PURE__ */ i(hh, { - fallback: /* @__PURE__ */ i(h2, {}), + }) : n === "locked" ? /* @__PURE__ */ i(Fw, {}, t) : n === "error" ? o ? /* @__PURE__ */ i(Zs, {}, t) : /* @__PURE__ */ i(Bw, {}, t) : /* @__PURE__ */ i(xh, { + fallback: /* @__PURE__ */ i(P2, {}), children: [e, o && /* @__PURE__ */ i("div", { className: "absolute inset-0 z-40", - children: /* @__PURE__ */ i(Ws, {}, t) + children: /* @__PURE__ */ i(Zs, {}, t) })] }); } -function b2({ children: e }) { - const { dir: t } = dt(); +function C2({ children: e }) { + const { dir: t } = ut(); return /* @__PURE__ */ i("div", { dir: t, className: "contents", children: e }); } -function v2({ components: e }) { - const t = Cy(), n = k(null); - return Kg({ +function E2({ components: e }) { + const t = Ky(), n = k(null); + return qg({ target: n, onRefused: t.onShortcutRefused - }), pg(), Y0(), /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i(vw, {}), /* @__PURE__ */ i(j1, { + }), wg(), m1(), /* @__PURE__ */ i(D, { children: [/* @__PURE__ */ i(Ew, {}), /* @__PURE__ */ i(tw, { rootRef: n, className: "bg-app text-fg flex h-full flex-col outline-none", children: [ - e && /* @__PURE__ */ i(Oy, { components: e }), - /* @__PURE__ */ i(fv, {}), - /* @__PURE__ */ i(jy, {}), + e && /* @__PURE__ */ i(Fy, { components: e }), + /* @__PURE__ */ i(Av, {}), + /* @__PURE__ */ i(t2, {}), /* @__PURE__ */ i("slot", { name: "header" }), - /* @__PURE__ */ i(m2, {}), - /* @__PURE__ */ i(Qn, { edge: "top" }), + /* @__PURE__ */ i(O2, {}), + /* @__PURE__ */ i(to, { edge: "top" }), /* @__PURE__ */ i("div", { className: "relative flex min-h-0 flex-1", children: [ t.element, - /* @__PURE__ */ i(Qn, { edge: "start" }), - /* @__PURE__ */ i(Cw, { + /* @__PURE__ */ i(to, { edge: "start" }), + /* @__PURE__ */ i(Kw, { className: "relative flex min-w-0 flex-1", - children: /* @__PURE__ */ i(g2, { children: [ - /* @__PURE__ */ i(Ks, { side: "start" }), + children: /* @__PURE__ */ i(T2, { children: [ + /* @__PURE__ */ i(Ws, { side: "start" }), /* @__PURE__ */ i("div", { className: "relative min-w-0 flex-1", children: [ - /* @__PURE__ */ i(Zy, {}), - /* @__PURE__ */ i(qh, { + /* @__PURE__ */ i(c2, {}), + /* @__PURE__ */ i(tg, { target: n, onRefused: t.onCopyRefused }), - /* @__PURE__ */ i(rc, { - overlay: /* @__PURE__ */ i(b2, { children: [ - /* @__PURE__ */ i(dw, {}), - /* @__PURE__ */ i(Pw, {}), - /* @__PURE__ */ i(Ey, {}), - /* @__PURE__ */ i(Iy, {}), - /* @__PURE__ */ i(Ry, {}), - /* @__PURE__ */ i(l2, {}), - /* @__PURE__ */ i(Vh, {}), - /* @__PURE__ */ i(Ar, { axis: "y" }), - /* @__PURE__ */ i(Ar, { axis: "x" }) + /* @__PURE__ */ i(dc, { + overlay: /* @__PURE__ */ i(C2, { children: [ + /* @__PURE__ */ i(xw, {}), + /* @__PURE__ */ i(zw, {}), + /* @__PURE__ */ i(jy, {}), + /* @__PURE__ */ i(Gy, {}), + /* @__PURE__ */ i(Vy, {}), + /* @__PURE__ */ i(y2, {}), + /* @__PURE__ */ i(eg, {}), + /* @__PURE__ */ i($r, { axis: "y" }), + /* @__PURE__ */ i($r, { axis: "x" }) ] }), className: "h-full w-full", style: { @@ -11411,43 +11510,43 @@ function v2({ components: e }) { direction: "ltr" }, children: () => /* @__PURE__ */ i(D, { children: [ - /* @__PURE__ */ i(ic, {}), - /* @__PURE__ */ i(Ad, {}), - /* @__PURE__ */ i(Gh, {}), - /* @__PURE__ */ i(X0, {}), - /* @__PURE__ */ i(zg, {}), - /* @__PURE__ */ i(dg, {}), - /* @__PURE__ */ i(Lg, {}), - /* @__PURE__ */ i(Fh, {}) + /* @__PURE__ */ i(pc, {}), + /* @__PURE__ */ i(Bd, {}), + /* @__PURE__ */ i(Jh, {}), + /* @__PURE__ */ i(h1, {}), + /* @__PURE__ */ i(Gg, {}), + /* @__PURE__ */ i(bg, {}), + /* @__PURE__ */ i(Kg, {}), + /* @__PURE__ */ i(Wh, {}) ] }) }) ] }), - /* @__PURE__ */ i(Ks, { side: "end" }), - /* @__PURE__ */ i(r2, {}), - /* @__PURE__ */ i(a2, {}), - /* @__PURE__ */ i(Ew, {}), - /* @__PURE__ */ i(c2, {}), - /* @__PURE__ */ i(f2, {}), - /* @__PURE__ */ i(Fy, {}), - /* @__PURE__ */ i(Hy, {}), - /* @__PURE__ */ i(Ky, {}), - /* @__PURE__ */ i(kw, {}), - /* @__PURE__ */ i(i2, {}), - /* @__PURE__ */ i(s2, {}), - /* @__PURE__ */ i(p2, {}) + /* @__PURE__ */ i(Ws, { side: "end" }), + /* @__PURE__ */ i(g2, {}), + /* @__PURE__ */ i(b2, {}), + /* @__PURE__ */ i(jw, {}), + /* @__PURE__ */ i(_2, {}), + /* @__PURE__ */ i(M2, {}), + /* @__PURE__ */ i(Zy, {}), + /* @__PURE__ */ i(e2, {}), + /* @__PURE__ */ i(Qy, {}), + /* @__PURE__ */ i(Rw, {}), + /* @__PURE__ */ i(v2, {}), + /* @__PURE__ */ i(w2, {}), + /* @__PURE__ */ i(S2, {}) ] }) }), - /* @__PURE__ */ i(Qn, { edge: "end" }) + /* @__PURE__ */ i(to, { edge: "end" }) ] }), - /* @__PURE__ */ i(Qn, { edge: "bottom" }), + /* @__PURE__ */ i(to, { edge: "bottom" }), /* @__PURE__ */ i("slot", { name: "footer" }) ] })] }); } -function w2({ slot: e, onReady: t, onDocumentChange: n }) { - const o = ct(); +function A2({ slot: e, onReady: t, onDocumentChange: n }) { + const o = dt(); return R(() => { const r = e.attach(o); if (t?.(r), n) { @@ -11458,85 +11557,97 @@ function w2({ slot: e, onReady: t, onDocumentChange: n }) { return () => e.release(o); }, [o]), null; } -const Vs = (e, t) => e.length === t.length && e.every((n, o) => n === t[o]); -function zd(e, t, n) { - const o = Bv(e, t), r = Kv(e, t), a = (s, l) => l?.length ? [.../* @__PURE__ */ new Set([...s, ...l])] : s; +const Js = /* @__PURE__ */ new Set(), Qs = (e, t) => e.length === t.length && e.every((n, o) => n === t[o]); +function Vd(e, t, n) { + const o = a0(e, t), r = i0(e, t), a = (s, l) => l?.length ? [.../* @__PURE__ */ new Set([...s, ...l])] : s; return { disabled: { disabledCategories: a(o.disabledCategories, n.commands?.disabledCategories), disabledCommands: a(o.disabledCommands, n.commands?.disabledCommands) }, byHand: { - editable: vs(r.editable, n.annotation?.editable ?? !0), - fillable: vs(r.fillable, n.form?.fillable ?? !0) + editable: Os(n.annotation?.editable ?? !0, r.editable), + fillable: Os(n.form?.fillable ?? !0, r.fillable) } }; } -function y2({ registered: e, settings: t, locale: n, disable: o, readOnly: r, appState: a }) { - const s = ct(), l = k(e); +function N2({ registered: e, settings: t, yours: n, locale: o, features: r, disable: a, readOnly: s, appState: l }) { + const d = dt(), c = k(e); return R(() => { - const { disabled: d, byHand: c } = zd(o, r, t), p = l.current; - l.current = { - locale: n, - disabled: d, - byHand: c, - appState: a - }, Object.is(p.appState, a) || s.capability(De).updateSettings({ appState: a }), ws(p.byHand.editable, c.editable) || s.settingsOf(we).updateSettings({ editable: c.editable }), ws(p.byHand.fillable, c.fillable) || s.settingsOf(nn).updateSettings({ fillable: c.fillable }), (!Vs(p.disabled.disabledCategories, d.disabledCategories) || !Vs(p.disabled.disabledCommands, d.disabledCommands)) && s.capability(De).updateSettings(d), p.locale !== n && s.capability(En).setLocale(n).catch(() => { + const { disabled: p, byHand: f } = Vd({ + features: r, + disable: a, + readOnly: s + }, n, t), u = c.current; + c.current = { + locale: o, + disabled: p, + byHand: f, + appState: l + }, Object.is(u.appState, l) || d.capability($e).updateSettings({ appState: l }), Ps(u.byHand.editable, f.editable) || d.settingsOf(ye).updateSettings({ editable: f.editable }), Ps(u.byHand.fillable, f.fillable) || d.settingsOf(tn).updateSettings({ fillable: f.fillable }), (!Qs(u.disabled.disabledCategories, p.disabledCategories) || !Qs(u.disabled.disabledCommands, p.disabledCommands)) && d.capability($e).updateSettings(p), u.locale !== o && d.capability($o).setLocale(o).catch(() => { }); }), null; } -function _2() { +function L2() { return /* @__PURE__ */ i("div", { className: "bg-app text-fg-muted grid h-full place-items-center", children: /* @__PURE__ */ i("div", { className: "animate-pulse text-sm", - children: Z()("demo.starting") + children: Q()("demo.starting") }) }); } -function qs({ engine: e, initialDocuments: t, fetch: n, fallback: o, commands: r, appState: a, icons: s, strings: l, locale: d = "auto", disable: c, readOnly: p, scope: f, identity: u, notAllowed: m, layout: b, size: h, touch: g, plugins: y, fonts: v, warnBeforeLeaving: _, theme: O, themeTarget: S, components: x, onReady: P, onDocumentChange: M, onPanelResize: T }) { - const [L] = C(nd), [A] = C(() => { - const se = v1(y), { locales: nt, loaders: ot, codes: Mt } = s1(l), Ft = se.settings.i18n?.fallbackLocale, Ke = t1(Ft, Mt), N = Ke === null ? [`the viewer has no language "${Ft}" to fall back to, so it falls back to English: give its words in \`strings\``] : [], ee = { ...Fa }; - for (const { name: ze, plugin: ut } of se.own) ut.token && (ee[ze] = ut.token); - const _e = f1(ee), Me = new Set(is.map((ze) => ze.id)); +function el({ engine: e, initialDocuments: t, fetch: n, fallback: o, commands: r, appState: a, icons: s, strings: l, locale: d = "auto", features: c, disable: p, readOnly: f, scope: u, identity: m, notAllowed: g, layout: h, size: b, touch: y, plugins: v, fonts: _, warnBeforeLeaving: P, theme: S, themeTarget: x, components: O, onReady: M, onDocumentChange: T, onPanelResize: L }) { + const [B] = C(ud), [I] = C(() => { + const ne = E1(v), { locales: nt, loaders: ln, codes: St } = dv(l), ot = ne.settings.i18n?.fallbackLocale, A = rv(ot, St), ie = A === null ? [`the viewer has no language "${ot}" to fall back to, so it falls back to English: give its words in \`strings\``] : [], ve = { ...Ga }; + for (const { name: Ne, plugin: jn } of ne.own) jn.token && (ve[Ne] = jn.token); + const Se = M1(ve), Mt = new Set(us.map((Ne) => Ne.id)), Ot = Kb([...us, ...Lb(ne.settings.annotation?.tools ?? [], (Ne) => Mt.has(Ne))], r ?? [], { + plugins: ve, + viewer: Se.current + }, { isMac: Ro() }), Kn = (r ?? []).flatMap((Ne) => Ne.categories ?? []); return { - slot: _e, - viewerCommands: Lb([...is, ...Pb(se.settings.annotation?.tools ?? [], (ze) => Me.has(ze))], r ?? [], { - plugins: ee, - viewer: _e.current - }, { isMac: No() }), - layout: b, - size: h, - touch: g, + slot: Se, + viewerCommands: Ot, + layout: h, + size: b, + touch: y, icons: s ?? {}, - stamp: se.viewer.stamp, - signature: se.viewer.signature, - fonts: v ?? [], - warnBeforeLeaving: _ !== !1, - onPanelResize: T, + stamp: ne.viewer.stamp, + signature: ne.viewer.signature, + fonts: _ ?? [], + warnBeforeLeaving: P !== !1, + onPanelResize: L, i18n: { locales: nt, - loaders: ot, - codes: Mt, - fallback: Ke ?? "en", - initial: Ps(d, Mt, Ke ?? "en") + loaders: ln, + codes: St, + fallback: A ?? "en", + initial: gs(d, St, A ?? "en") }, plugins: { - ...se, - problems: [...se.problems, ...N] + ...ne, + problems: [...ne.problems, ...ie] }, - tokens: ee, - ...zd(c, p, se.settings), + tokens: ve, + yourCategories: Kn, + ...Vd({ + features: c, + disable: p, + readOnly: f + }, Kn, ne.settings), appState: a }; }); E(() => { - }, [A]), E(() => { - for (const se of A.plugins.problems) console.warn(`[embedpdf] plugins: ${se}`); - }, [A]); - const { settings: F } = A.plugins, [ce] = C(() => [ - ui(Cs({ layout: "vertical" }, F.stage)), - ui({ + }, [I]), E(() => { + for (const ne of I.plugins.problems) console.warn(`[embedpdf] plugins: ${ne}`); + }, [I]), E(() => { + for (const ne of r0(c, I.yourCategories)) + Js.has(ne) || (Js.add(ne), console.warn(`[embedpdf] features: no feature or part is called "${ne}"`)); + }, [c, I]); + const { settings: K } = I.plugins, [te] = C(() => [ + bi(Is({ layout: "vertical" }, K.stage)), + bi({ layout: "grid", columns: "auto", sizing: "uniform", @@ -11557,21 +11668,21 @@ function qs({ engine: e, initialDocuments: t, fetch: n, fallback: o, commands: r scrollBehavior: "instant", interaction: !1, zoomGestures: !1, - ...F.thumbnails, + ...K.thumbnails, id: "stage-thumbs", - token: yn + token: _n }), - yf(F.render), - Wf(), - bm(), - hm(), - Hf(), - Uf(), - gf(F.interaction), - bf({ provider: rf }), - Bf(F.selection), - Rf({ - ...F.annotation, + Pf(K.render), + Qf(), + Sm(), + xm(), + Yf(), + Zf(), + kf(K.interaction), + Sf({ provider: pf }), + Vf(K.selection), + jf({ + ...K.annotation, tools: [ { id: "square", @@ -11601,104 +11712,110 @@ function qs({ engine: e, initialDocuments: t, fetch: n, fallback: o, commands: r accept: "image/png,image/jpeg" } }, - ...F.annotation?.tools ?? [] + ...K.annotation?.tools ?? [] ], - editable: A.byHand.editable + editable: I.byHand.editable }), - Nf(), - Tf({ - fonts: q0(A.signature.fonts), - ...F.stamp + Ff(), + Rf({ + fonts: f1(I.signature.fonts), + ...K.stamp }), - lm(Cs({ javascript: { enabled: !0 } }, F.actions)), - Lf({ - ...F.form, - fillable: A.byHand.fillable + hm(Is({ javascript: { enabled: !0 } }, K.actions)), + Kf({ + ...K.form, + fillable: I.byHand.fillable }), - Xf(F.signature), - Af(), - _f(F.redaction), - Sf(F.measurement), - fm(F.search), - Ef({ - locale: A.i18n.initial, - fallbackLocale: A.i18n.fallback, - locales: A.i18n.locales, - loaders: A.i18n.loaders + om(K.signature), + zf(), + Tf(K.redaction), + Af(K.measurement), + ym(K.search), + $f({ + locale: I.i18n.initial, + fallbackLocale: I.i18n.fallback, + locales: I.i18n.locales, + loaders: I.i18n.loaders }), - nu({ - ...F.commands, - commands: [...A.viewerCommands.commands, ...F.commands?.commands ?? []], - ...A.appState === void 0 ? {} : { appState: A.appState }, - ...A.disabled, - ...m ? { notAllowed: m } : {} + cu({ + ...K.commands, + commands: [...I.viewerCommands.commands, ...K.commands?.commands ?? []], + ...I.appState === void 0 ? {} : { appState: I.appState }, + ...I.disabled, + ...g ? { notAllowed: g } : {} }), - mf(), - ...A.plugins.own.map(({ plugin: se }) => se) - ]), te = A; - return /* @__PURE__ */ i(U0, { - preference: yd(O).preference, - target: S, - children: /* @__PURE__ */ i(vh, { + _f(), + ...I.plugins.own.map(({ plugin: ne }) => ne) + ]), Fe = I; + return /* @__PURE__ */ i(c1, { + preference: Cd(S).preference, + target: x, + children: /* @__PURE__ */ i(Mh, { engine: e, - plugins: ce, + plugins: te, initialDocuments: t, fetch: n, - scope: f, - identity: u, - fallback: o ?? /* @__PURE__ */ i(_2, {}), - onReady: (se) => void A.slot.attach(se), - children: /* @__PURE__ */ i(Rb, { - value: te, + scope: u, + identity: m, + fallback: o ?? /* @__PURE__ */ i(L2, {}), + onReady: (ne) => void I.slot.attach(ne), + children: /* @__PURE__ */ i(jb, { + value: Fe, children: [ - /* @__PURE__ */ i(y2, { + /* @__PURE__ */ i(N2, { registered: { - locale: A.i18n.initial, - disabled: A.disabled, - byHand: A.byHand, - appState: A.appState + locale: I.i18n.initial, + disabled: I.disabled, + byHand: I.byHand, + appState: I.appState }, - settings: F, - locale: Ps(d, A.i18n.codes, A.i18n.fallback), - disable: c, - readOnly: p, + settings: K, + yours: I.yourCategories, + locale: gs(d, I.i18n.codes, I.i18n.fallback), + features: c, + disable: p, + readOnly: f, appState: a }), - /* @__PURE__ */ i(w2, { - slot: A.slot, - onReady: P, - onDocumentChange: M + /* @__PURE__ */ i(A2, { + slot: I.slot, + onReady: M, + onDocumentChange: T }), - /* @__PURE__ */ i(i0, { - value: L, - children: /* @__PURE__ */ i(v2, { components: x }) + /* @__PURE__ */ i(M0, { + value: B, + children: /* @__PURE__ */ i(uv, { + locale: d, + children: /* @__PURE__ */ i(E2, { components: O }) + }) }) ] }) }) }); } -const x2 = /* @__PURE__ */ new Set([ +const I2 = /* @__PURE__ */ new Set([ "src", "theme", "locale", + "features", "disable", "readOnly", "fetch", "appState" -]), k2 = (e) => x2.has(e), Ys = (e) => { +]), R2 = (e) => I2.has(e), tl = (e) => { if (typeof e != "object" || e === null) return !1; const t = Object.getPrototypeOf(e); return t === Object.prototype || t === null; }; -function Hr(e, t) { - return Object.is(e, t) ? !0 : Array.isArray(e) && Array.isArray(t) ? e.length === t.length && e.every((n, o) => Hr(n, t[o])) : Ys(e) && Ys(t) ? [.../* @__PURE__ */ new Set([...Object.keys(e), ...Object.keys(t)])].every((o) => Hr(e[o], t[o])) : !1; +function qr(e, t) { + return Object.is(e, t) ? !0 : Array.isArray(e) && Array.isArray(t) ? e.length === t.length && e.every((n, o) => qr(n, t[o])) : tl(e) && tl(t) ? [.../* @__PURE__ */ new Set([...Object.keys(e), ...Object.keys(t)])].every((o) => qr(e[o], t[o])) : !1; } -function S2(e, t) { +function D2(e, t) { const n = e, o = t; - return [.../* @__PURE__ */ new Set([...Object.keys(n), ...Object.keys(o)])].filter((a) => !Hr(n[a], o[a])); + return [.../* @__PURE__ */ new Set([...Object.keys(n), ...Object.keys(o)])].filter((a) => !qr(n[a], o[a])); } -function M2(e, t) { +function $2(e, t) { if (!e) return t; const n = { ...e }; for (const [o, r] of Object.entries(t ?? {})) { @@ -11707,33 +11824,33 @@ function M2(e, t) { } return n; } -const Yo = (e) => typeof e == "object" && "kind" in e, P2 = (e) => typeof e == "string" || e instanceof ArrayBuffer || e instanceof Uint8Array || typeof Blob < "u" && e instanceof Blob; -function O2(e) { +const er = (e) => typeof e == "object" && "kind" in e, z2 = (e) => typeof e == "string" || e instanceof ArrayBuffer || e instanceof Uint8Array || typeof Blob < "u" && e instanceof Blob; +function F2(e) { return (typeof e == "string" ? decodeURIComponent(e.split("?")[0].split("/").pop() ?? "") : typeof File < "u" && e instanceof File ? e.name : "").replace(/\.pdf$/i, "") || "Document"; } -const Fd = (e) => typeof e == "string" ? e : Yo(e) ? "id" in e && typeof e.id == "string" ? e.id : "document" : typeof File < "u" && e instanceof File ? e.name : "document"; -function Bd(e, t, n = Promise.resolve()) { - if (Yo(e)) +const qd = (e) => typeof e == "string" ? e : er(e) ? "id" in e && typeof e.id == "string" ? e.id : "document" : typeof File < "u" && e instanceof File ? e.name : "document"; +function Yd(e, t, n = Promise.resolve()) { + if (er(e)) return { source: async () => (await n, e) }; - if (!P2(e)) + if (!z2(e)) return { source: async () => { - throw new mo("invalid-input", "documents", "this viewer can't open that document"); + throw new go("invalid-input", "documents", "this viewer can't open that document"); } }; - const o = O2(e); + const o = F2(e); return typeof e == "string" ? { name: o, source: async () => ({ kind: "url", url: e, id: t }) } : { name: o, source: async () => { const r = e instanceof Blob ? new Uint8Array(await e.arrayBuffer()) : new Uint8Array(e); - if (!pf(r)) throw new mo("invalid-input", "documents", `${o} isn't a PDF`); + if (!wf(r)) throw new go("invalid-input", "documents", `${o} isn't a PDF`); return { kind: "bytes", id: t, bytes: r }; } }; } -function T2(e, t = (n) => n) { +function B2(e, t = (n) => n) { const n = /* @__PURE__ */ new Set(), o = (r) => { let a = r; for (let s = 2; n.has(a); s++) a = `${r}#${s}`; @@ -11742,38 +11859,38 @@ function T2(e, t = (n) => n) { return e.map(({ src: r, name: a, password: s, active: l }) => { const d = t(r); return { - ...Yo(d) ? { source: d } : Bd(d, o(Fd(d))), + ...er(d) ? { source: d } : Yd(d, o(qd(d))), ...a !== void 0 ? { name: a } : {}, ...s !== void 0 ? { password: s } : {}, ...l ? { active: l } : {} }; }); } -function C2(e, t) { +function K2(e, t) { if (!t) return e; const n = { ...e }; for (const [o, r] of Object.entries(t)) r !== void 0 && (n[o] = r); return n; } -function E2(e) { +function j2(e) { const t = {}, n = e.getAttribute("src"), o = e.getAttribute("locale"), r = e.getAttribute("theme"); return n && (t.src = n), o && (t.locale = o), (r === "light" || r === "dark" || r === "system") && (t.theme = r), t; } -const A2 = '/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-green-600:oklch(62.7% .194 149.214);--color-black:#000;--color-white:#fff;--spacing:4px;--container-sm:384px;--text-xs:12px;--text-xs--line-height:calc(1/.75);--text-sm:14px;--text-sm--line-height:calc(1.25/.875);--text-base:16px;--text-base--line-height: 1.5 ;--text-lg:18px;--text-lg--line-height:calc(1.75/1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-normal:0em;--tracking-wide:.025em;--ease-out:cubic-bezier(0,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-1{inset:calc(var(--spacing)*1)}.inset-2{inset:calc(var(--spacing)*2)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-x-2{inset-inline:calc(var(--spacing)*2)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.inset-y-1{inset-block:calc(var(--spacing)*1)}.-start-1{inset-inline-start:calc(var(--spacing)*-1)}.start-0{inset-inline-start:calc(var(--spacing)*0)}.start-2{inset-inline-start:calc(var(--spacing)*2)}.-end-1{inset-inline-end:calc(var(--spacing)*-1)}.end-0{inset-inline-end:calc(var(--spacing)*0)}.end-1{inset-inline-end:calc(var(--spacing)*1)}.end-2{inset-inline-end:calc(var(--spacing)*2)}.end-4{inset-inline-end:calc(var(--spacing)*4)}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.bottom-16{bottom:calc(var(--spacing)*16)}.isolate{isolation:isolate}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\\[35\\]{z-index:35}.col-start-1{grid-column-start:1}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.m-0{margin:calc(var(--spacing)*0)}.my-1{margin-block:calc(var(--spacing)*1)}.-ms-1\\.5{margin-inline-start:calc(var(--spacing)*-1.5)}.ms-1{margin-inline-start:calc(var(--spacing)*1)}.ms-1\\.5{margin-inline-start:calc(var(--spacing)*1.5)}.ms-4{margin-inline-start:calc(var(--spacing)*4)}.me-1\\.5{margin-inline-end:calc(var(--spacing)*1.5)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-2\\.5{margin-top:calc(var(--spacing)*2.5)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.box-border{box-sizing:border-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.h-0{height:calc(var(--spacing)*0)}.h-0\\.5{height:calc(var(--spacing)*.5)}.h-1{height:calc(var(--spacing)*1)}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-16{height:calc(var(--spacing)*16)}.h-24{height:calc(var(--spacing)*24)}.h-full{height:100%}.h-px{height:1px}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-5{min-height:calc(var(--spacing)*5)}.min-h-11{min-height:calc(var(--spacing)*11)}.w-0\\.5{width:calc(var(--spacing)*.5)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-24{width:calc(var(--spacing)*24)}.w-36{width:calc(var(--spacing)*36)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-\\[24rem\\]{width:384px}.w-\\[26rem\\]{width:416px}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-64{max-width:calc(var(--spacing)*64)}.max-w-\\[16rem\\]{max-width:256px}.max-w-\\[180px\\]{max-width:180px}.max-w-\\[240px\\]{max-width:240px}.max-w-\\[calc\\(100\\%-1rem\\)\\]{max-width:calc(100% - 16px)}.max-w-\\[calc\\(100vw-2rem\\)\\]{max-width:calc(100vw - 32px)}.max-w-full{max-width:100%}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-8{min-width:calc(var(--spacing)*8)}.min-w-48{min-width:calc(var(--spacing)*48)}.min-w-52{min-width:calc(var(--spacing)*52)}.min-w-56{min-width:calc(var(--spacing)*56)}.min-w-\\[120px\\]{min-width:120px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-top-left{transform-origin:0 0}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pan-x{--tw-pan-x:pan-x;touch-action:var(--tw-pan-x,)var(--tw-pan-y,)var(--tw-pinch-zoom,)}.touch-manipulation{touch-action:manipulation}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\\[2fr_1fr\\]{grid-template-columns:2fr 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-x-1{column-gap:calc(var(--spacing)*1)}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.gap-y-3{row-gap:calc(var(--spacing)*3)}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:calc(var(--epdf-radius)*2/3)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:calc(var(--epdf-radius)*4/3)}.rounded-md{border-radius:var(--epdf-radius)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--epdf-radius)*2/3)}.rounded-xl{border-radius:calc(var(--epdf-radius)*2)}.rounded-xs{border-radius:calc(var(--epdf-radius)/2)}.rounded-t-2xl{border-top-left-radius:calc(var(--epdf-radius)*8/3);border-top-right-radius:calc(var(--epdf-radius)*8/3)}.rounded-t-lg{border-top-left-radius:calc(var(--epdf-radius)*4/3);border-top-right-radius:calc(var(--epdf-radius)*4/3)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-s-2{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-accent{border-color:var(--epdf-accent)}.border-border,.border-border-strong{border-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.border-border-strong{border-color:color-mix(in srgb,var(--epdf-border)75%,var(--epdf-text))}}.border-border-subtle{border-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.border-border-subtle{border-color:color-mix(in srgb,var(--epdf-border)50%,var(--epdf-surface))}}.border-red-400{border-color:var(--color-red-400)}.border-red-500\\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\\/40{border-color:color-mix(in oklab,var(--color-red-500)40%,transparent)}}.border-transparent{border-color:#0000}.border-t-accent{border-top-color:var(--epdf-accent)}.border-b-accent{border-bottom-color:var(--epdf-accent)}.border-b-transparent{border-bottom-color:#0000}.bg-accent,.bg-accent-active{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent-active{background-color:color-mix(in srgb,var(--epdf-accent)65%,black)}}.bg-accent-light,.bg-accent-light\\/60{background-color:var(--embedpdf-accent-tint)}@supports (color:color-mix(in lab,red,red)){.bg-accent-light\\/60{background-color:color-mix(in oklab,var(--embedpdf-accent-tint)60%,transparent)}}.bg-accent\\/10{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\\/10{background-color:color-mix(in oklab,var(--epdf-accent)10%,transparent)}}.bg-app{background-color:var(--epdf-background)}.bg-black\\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-border,.bg-border-strong{background-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.bg-border-strong{background-color:color-mix(in srgb,var(--epdf-border)75%,var(--epdf-text))}}.bg-border-subtle{background-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.bg-border-subtle{background-color:color-mix(in srgb,var(--epdf-border)50%,var(--epdf-surface))}}.bg-elevated,.bg-elevated\\/95{background-color:var(--epdf-surface-raised)}@supports (color:color-mix(in lab,red,red)){.bg-elevated\\/95{background-color:color-mix(in oklab,var(--epdf-surface-raised)95%,transparent)}}.bg-hover{background-color:var(--epdf-hover)}.bg-red-500\\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-selected{background-color:var(--embedpdf-accent-tint)}.bg-surface,.bg-surface-alt{background-color:var(--epdf-surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface-alt{background-color:color-mix(in srgb,var(--epdf-surface),var(--epdf-text)6%)}}.bg-surface\\/60{background-color:var(--epdf-surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface\\/60{background-color:color-mix(in oklab,var(--epdf-surface)60%,transparent)}}.bg-surface\\/80{background-color:var(--epdf-surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface\\/80{background-color:color-mix(in oklab,var(--epdf-surface)80%,transparent)}}.bg-tooltip{background-color:var(--epdf-tooltip)}.bg-transparent{background-color:#0000}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-\\[5px\\]{padding:5px}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.ps-2{padding-inline-start:calc(var(--spacing)*2)}.ps-2\\.5{padding-inline-start:calc(var(--spacing)*2.5)}.ps-3{padding-inline-start:calc(var(--spacing)*3)}.ps-7{padding-inline-start:calc(var(--spacing)*7)}.ps-8{padding-inline-start:calc(var(--spacing)*8)}.pe-1{padding-inline-end:calc(var(--spacing)*1)}.pe-2{padding-inline-end:calc(var(--spacing)*2)}.pe-2\\.5{padding-inline-end:calc(var(--spacing)*2.5)}.pe-7{padding-inline-end:calc(var(--spacing)*7)}.pe-9{padding-inline-end:calc(var(--spacing)*9)}.pt-1\\.5{padding-top:calc(var(--spacing)*1.5)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-1\\.5{padding-bottom:calc(var(--spacing)*1.5)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.text-center{text-align:center}.text-end{text-align:end}.text-left{text-align:left}.text-start{text-align:start}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[11px\\]{font-size:11px}.text-\\[13px\\]{font-size:13px}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-8{--tw-leading:calc(var(--spacing)*8);line-height:calc(var(--spacing)*8)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent{color:var(--epdf-accent)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-fg{color:var(--epdf-text)}.text-fg-disabled{color:var(--epdf-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-fg-disabled{color:color-mix(in srgb,var(--epdf-text-muted)60%,var(--epdf-surface))}}.text-fg-muted{color:var(--epdf-text-muted)}.text-fg-secondary{color:var(--epdf-text)}@supports (color:color-mix(in lab,red,red)){.text-fg-secondary{color:color-mix(in srgb,var(--epdf-text)65%,var(--epdf-text-muted))}}.text-green-600{color:var(--color-green-600)}.text-on-accent{color:var(--epdf-surface)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-tooltip-fg{color:var(--epdf-tooltip-text)}.text-white{color:var(--color-white)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.accent-accent{accent-color:var(--epdf-accent)}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-accent{--tw-ring-color:var(--epdf-accent)}.ring-accent-light{--tw-ring-color:var(--embedpdf-accent-tint)}.ring-accent\\/40{--tw-ring-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.ring-accent\\/40{--tw-ring-color:color-mix(in oklab,var(--epdf-accent)40%,transparent)}}.ring-accent\\/60{--tw-ring-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.ring-accent\\/60{--tw-ring-color:color-mix(in oklab,var(--epdf-accent)60%,transparent)}}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.\\!outline{outline-style:var(--tw-outline-style)!important;outline-width:1px!important}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-offset-2{outline-offset:2px}.outline-accent{outline-color:var(--epdf-accent)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-\\[translate\\,height\\]{transition-property:translate,height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[translate\\]{transition-property:translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\\[font-variant-emoji\\:text\\]{font-variant-emoji:text}.ring-inset{--tw-ring-inset:inset}@media(hover:hover){.group-hover\\:opacity-100:is(:where(.group):hover *),.group-hover\\/body\\:opacity-100:is(:where(.group\\/body):hover *){opacity:1}}.peer-checked\\:opacity-100:is(:where(.peer):checked~*){opacity:1}.selection\\:underline ::selection{text-decoration-line:underline}.selection\\:underline::selection{text-decoration-line:underline}.placeholder\\:text-fg-muted::placeholder{color:var(--epdf-text-muted)}.first\\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}.open\\:flex:is([open],:popover-open,:open){display:flex}.open\\:grid:is([open],:popover-open,:open){display:grid}.open\\:flex-col:is([open],:popover-open,:open){flex-direction:column}.open\\:justify-end:is([open],:popover-open,:open){justify-content:flex-end}.checked\\:border-accent:checked{border-color:var(--epdf-accent)}.checked\\:bg-accent:checked{background-color:var(--epdf-accent)}.focus-within\\:opacity-100:focus-within{opacity:1}@media(hover:hover){.hover\\:border-border:hover{border-color:var(--epdf-border)}.hover\\:border-b-accent:hover{border-bottom-color:var(--epdf-accent)}.hover\\:border-b-fg-muted:hover{border-bottom-color:var(--epdf-text-muted)}.hover\\:bg-accent:hover,.hover\\:bg-accent-hover:hover{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-accent-hover:hover{background-color:color-mix(in srgb,var(--epdf-accent)80%,black)}}.hover\\:bg-accent\\/20:hover{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-accent\\/20:hover{background-color:color-mix(in oklab,var(--epdf-accent)20%,transparent)}}.hover\\:bg-hover:hover{background-color:var(--epdf-hover)}.hover\\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\\:bg-transparent:hover{background-color:#0000}.hover\\:text-fg:hover,.hover\\:text-fg-secondary:hover{color:var(--epdf-text)}@supports (color:color-mix(in lab,red,red)){.hover\\:text-fg-secondary:hover{color:color-mix(in srgb,var(--epdf-text)65%,var(--epdf-text-muted))}}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:ring:hover{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:ring-0:hover{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:ring-accent:hover{--tw-ring-color:var(--epdf-accent)}}.focus\\:border-accent:focus{border-color:var(--epdf-accent)}.focus\\:border-red-400:focus{border-color:var(--color-red-400)}.focus\\:opacity-100:focus{opacity:1}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-accent:focus{--tw-ring-color:var(--epdf-accent)}.focus\\:ring-red-400:focus{--tw-ring-color:var(--color-red-400)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:bg-accent\\/40:focus-visible{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.focus-visible\\:bg-accent\\/40:focus-visible{background-color:color-mix(in oklab,var(--epdf-accent)40%,transparent)}}.focus-visible\\:bg-hover:focus-visible{background-color:var(--epdf-hover)}.focus-visible\\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-accent:focus-visible{--tw-ring-color:var(--epdf-accent)}.focus-visible\\:ring-inset:focus-visible{--tw-ring-inset:inset}.active\\:cursor-grabbing:active{cursor:grabbing}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:opacity-60:disabled{opacity:.6}:where([data-dragging]) .in-data-dragging\\:transition-none{transition-property:none}.aria-disabled\\:cursor-not-allowed[aria-disabled=true]{cursor:not-allowed}.aria-disabled\\:opacity-40[aria-disabled=true]{opacity:.4}@media(hover:hover){.aria-disabled\\:hover\\:bg-transparent[aria-disabled=true]:hover{background-color:#0000}}.aria-\\[invalid\\=true\\]\\:border-red-600[aria-invalid=true]{border-color:var(--color-red-600)}@media(prefers-reduced-motion:no-preference){.motion-safe\\:animate-spin{animation:var(--animate-spin)}}@media(prefers-reduced-motion:reduce){.motion-reduce\\:transition-none{transition-property:none}}.rtl\\:origin-top-right:where(:dir(rtl),[dir=rtl],[dir=rtl] *){transform-origin:100% 0}.rtl\\:-scale-x-100:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-scale-x: -100% ;scale:var(--tw-scale-x)var(--tw-scale-y)}.rtl\\:-rotate-90:where(:dir(rtl),[dir=rtl],[dir=rtl] *){rotate:-90deg}@starting-style{.starting\\:-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@starting-style{.starting\\:translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@starting-style{.starting\\:translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@starting-style{.starting\\:opacity-0{opacity:0}}@starting-style{.rtl\\:starting\\:-translate-x-full:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@starting-style{.rtl\\:starting\\:translate-x-full:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@media(forced-colors:active){.forced-colors\\:outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.forced-colors\\:-outline-offset-2{outline-offset:-2px}.forced-colors\\:outline-solid{--tw-outline-style:solid;outline-style:solid}}.float-pill\\:pointer-events-auto>div:has(>[data-epdf-toolbar-item]:not(:empty)){pointer-events:auto}.float-pill\\:rounded-lg>div:has(>[data-epdf-toolbar-item]:not(:empty)){border-radius:calc(var(--epdf-radius)*4/3)}.float-pill\\:border>div:has(>[data-epdf-toolbar-item]:not(:empty)){border-style:var(--tw-border-style);border-width:1px}.float-pill\\:border-border-subtle>div:has(>[data-epdf-toolbar-item]:not(:empty)){border-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.float-pill\\:border-border-subtle>div:has(>[data-epdf-toolbar-item]:not(:empty)){border-color:color-mix(in srgb,var(--epdf-border)50%,var(--epdf-surface))}}.float-pill\\:bg-elevated\\/95>div:has(>[data-epdf-toolbar-item]:not(:empty)){background-color:var(--epdf-surface-raised)}@supports (color:color-mix(in lab,red,red)){.float-pill\\:bg-elevated\\/95>div:has(>[data-epdf-toolbar-item]:not(:empty)){background-color:color-mix(in oklab,var(--epdf-surface-raised)95%,transparent)}}.float-pill\\:p-0\\.5>div:has(>[data-epdf-toolbar-item]:not(:empty)){padding:calc(var(--spacing)*.5)}.float-pill\\:shadow-lg>div:has(>[data-epdf-toolbar-item]:not(:empty)){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}:host{--embedpdf-host-accent:var(--epdf-accent);--embedpdf-host-background:var(--epdf-background);--embedpdf-host-surface:var(--epdf-surface);--embedpdf-host-surface-raised:var(--epdf-surface-raised);--embedpdf-host-text:var(--epdf-text);--embedpdf-host-text-muted:var(--epdf-text-muted);--embedpdf-host-border:var(--epdf-border);--embedpdf-host-hover:var(--epdf-hover);--embedpdf-host-canvas:var(--epdf-canvas);--embedpdf-host-page-background:var(--epdf-page-background);--embedpdf-host-page-shadow:var(--epdf-page-shadow);--embedpdf-host-tooltip:var(--epdf-tooltip);--embedpdf-host-tooltip-text:var(--epdf-tooltip-text);--embedpdf-host-radius:var(--epdf-radius);--embedpdf-host-font:var(--epdf-font);--embedpdf-host-scrollbar-thumb:var(--epdf-scrollbar-thumb);--embedpdf-host-toolbar-surface:var(--epdf-toolbar-surface);--embedpdf-host-toolbar-border:var(--epdf-toolbar-border);--embedpdf-host-toolbar-active:var(--epdf-toolbar-active)}:root,[data-embedpdf-root]{--epdf-accent:var(--embedpdf-host-accent,#3b82f6);--epdf-background:var(--embedpdf-host-background,#f3f4f6);--epdf-surface:var(--embedpdf-host-surface,#fff);--epdf-surface-raised:var(--embedpdf-host-surface-raised,#fff);--epdf-text:var(--embedpdf-host-text,#111827);--epdf-text-muted:var(--embedpdf-host-text-muted,#6b7280);--epdf-border:var(--embedpdf-host-border,#d1d5db);--epdf-hover:var(--embedpdf-host-hover,#f3f4f6);--epdf-canvas:var(--embedpdf-host-canvas,#f3f4f6);--epdf-page-background:var(--embedpdf-host-page-background,#fff);--epdf-page-shadow:var(--embedpdf-host-page-shadow,0 6px 18px #0000002e);--epdf-tooltip:var(--embedpdf-host-tooltip,var(--epdf-text));--epdf-tooltip-text:var(--embedpdf-host-tooltip-text,var(--epdf-surface));--epdf-radius:var(--embedpdf-host-radius,6px);--epdf-font:var(--embedpdf-host-font,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");--epdf-scrollbar-thumb:var(--embedpdf-host-scrollbar-thumb,var(--epdf-text))}@supports (color:color-mix(in lab,red,red)){:root,[data-embedpdf-root]{--epdf-scrollbar-thumb:var(--embedpdf-host-scrollbar-thumb,color-mix(in srgb,var(--epdf-text)35%,transparent))}}:root,[data-embedpdf-root]{--epdf-toolbar-surface:var(--embedpdf-host-toolbar-surface,var(--epdf-surface-raised));--epdf-toolbar-border:var(--embedpdf-host-toolbar-border,var(--epdf-border));--epdf-toolbar-active:var(--embedpdf-host-toolbar-active,var(--epdf-hover))}@supports (color:color-mix(in lab,red,red)){:root,[data-embedpdf-root]{--epdf-toolbar-active:var(--embedpdf-host-toolbar-active,color-mix(in srgb,var(--epdf-hover)90%,var(--epdf-text)))}}:root,[data-embedpdf-root]{--embedpdf-accent-tint:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){:root,[data-embedpdf-root]{--embedpdf-accent-tint:color-mix(in srgb,var(--epdf-accent)8%,var(--epdf-surface))}}.dark{--epdf-accent:var(--embedpdf-host-accent,#60a5fa);--epdf-background:var(--embedpdf-host-background,#111827);--epdf-surface:var(--embedpdf-host-surface,#1f2937);--epdf-surface-raised:var(--embedpdf-host-surface-raised,#1f2937);--epdf-text:var(--embedpdf-host-text,#f9fafb);--epdf-text-muted:var(--embedpdf-host-text-muted,#9ca3af);--epdf-border:var(--embedpdf-host-border,#4b5563);--epdf-hover:var(--embedpdf-host-hover,#374151);--epdf-canvas:var(--embedpdf-host-canvas,#0d1117);--epdf-tooltip:var(--embedpdf-host-tooltip,var(--epdf-text));--epdf-tooltip-text:var(--embedpdf-host-tooltip-text,var(--epdf-surface));--epdf-scrollbar-thumb:var(--embedpdf-host-scrollbar-thumb,var(--epdf-text))}@supports (color:color-mix(in lab,red,red)){.dark{--epdf-scrollbar-thumb:var(--embedpdf-host-scrollbar-thumb,color-mix(in srgb,var(--epdf-text)28%,transparent))}}.dark{--embedpdf-accent-tint:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.dark{--embedpdf-accent-tint:color-mix(in srgb,var(--epdf-accent)25%,var(--epdf-surface))}}html,body,#root{height:100%;margin:0}body{font-family:var(--epdf-font);color:var(--epdf-text);background:var(--epdf-background)}[data-measure-layer]{pointer-events:none}[data-embedpdf-scrollbar-thumb]{transition:background .15s}[data-embedpdf-scrollbar-thumb]:hover,[data-embedpdf-scrollbar][data-dragging] [data-embedpdf-scrollbar-thumb]{background:var(--epdf-text-muted)}[data-epdf-fills-window]:popover-open{border:0;width:auto;max-width:none;height:auto;max-height:none;margin:0;padding:0;position:fixed;inset:0}[data-touch] [role=toolbar] button,[data-touch] [role=tab],[data-touch] [data-epdf-panel-header] button,[data-touch] [role=menu] :is([role=menuitem],[role=menuitemradio],[role=menuitemcheckbox]){min-height:44px}[data-touch] [role=toolbar] button,[data-touch] [data-epdf-panel-header] button{min-width:44px}[data-touch] :is(input,textarea,select){font-size:16px}[data-float] [data-bar]{transition:opacity .15s}[data-float] [data-idle-hidden]{opacity:0;transition:opacity .5s}[data-idle-hidden] *{pointer-events:none}@media(prefers-reduced-motion:reduce){[data-float] [data-bar]{transition:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}'; -function Xo(e) { +const H2 = '/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-green-600:oklch(62.7% .194 149.214);--color-black:#000;--color-white:#fff;--spacing:4px;--container-sm:384px;--text-xs:12px;--text-xs--line-height:calc(1/.75);--text-sm:14px;--text-sm--line-height:calc(1.25/.875);--text-base:16px;--text-base--line-height: 1.5 ;--text-lg:18px;--text-lg--line-height:calc(1.75/1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-normal:0em;--tracking-wide:.025em;--ease-out:cubic-bezier(0,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-1{inset:calc(var(--spacing)*1)}.inset-2{inset:calc(var(--spacing)*2)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-x-2{inset-inline:calc(var(--spacing)*2)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.inset-y-1{inset-block:calc(var(--spacing)*1)}.-start-1{inset-inline-start:calc(var(--spacing)*-1)}.start-0{inset-inline-start:calc(var(--spacing)*0)}.start-2{inset-inline-start:calc(var(--spacing)*2)}.-end-1{inset-inline-end:calc(var(--spacing)*-1)}.end-0{inset-inline-end:calc(var(--spacing)*0)}.end-1{inset-inline-end:calc(var(--spacing)*1)}.end-2{inset-inline-end:calc(var(--spacing)*2)}.end-4{inset-inline-end:calc(var(--spacing)*4)}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.bottom-16{bottom:calc(var(--spacing)*16)}.isolate{isolation:isolate}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\\[35\\]{z-index:35}.col-start-1{grid-column-start:1}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.m-0{margin:calc(var(--spacing)*0)}.my-1{margin-block:calc(var(--spacing)*1)}.-ms-1\\.5{margin-inline-start:calc(var(--spacing)*-1.5)}.ms-1{margin-inline-start:calc(var(--spacing)*1)}.ms-1\\.5{margin-inline-start:calc(var(--spacing)*1.5)}.ms-4{margin-inline-start:calc(var(--spacing)*4)}.me-1\\.5{margin-inline-end:calc(var(--spacing)*1.5)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-2\\.5{margin-top:calc(var(--spacing)*2.5)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.box-border{box-sizing:border-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.h-0{height:calc(var(--spacing)*0)}.h-0\\.5{height:calc(var(--spacing)*.5)}.h-1{height:calc(var(--spacing)*1)}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-16{height:calc(var(--spacing)*16)}.h-24{height:calc(var(--spacing)*24)}.h-full{height:100%}.h-px{height:1px}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-5{min-height:calc(var(--spacing)*5)}.min-h-11{min-height:calc(var(--spacing)*11)}.w-0\\.5{width:calc(var(--spacing)*.5)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-24{width:calc(var(--spacing)*24)}.w-36{width:calc(var(--spacing)*36)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-\\[24rem\\]{width:384px}.w-\\[26rem\\]{width:416px}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-64{max-width:calc(var(--spacing)*64)}.max-w-\\[16rem\\]{max-width:256px}.max-w-\\[180px\\]{max-width:180px}.max-w-\\[240px\\]{max-width:240px}.max-w-\\[calc\\(100\\%-1rem\\)\\]{max-width:calc(100% - 16px)}.max-w-\\[calc\\(100vw-2rem\\)\\]{max-width:calc(100vw - 32px)}.max-w-full{max-width:100%}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-8{min-width:calc(var(--spacing)*8)}.min-w-48{min-width:calc(var(--spacing)*48)}.min-w-52{min-width:calc(var(--spacing)*52)}.min-w-56{min-width:calc(var(--spacing)*56)}.min-w-\\[120px\\]{min-width:120px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-top-left{transform-origin:0 0}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pan-x{--tw-pan-x:pan-x;touch-action:var(--tw-pan-x,)var(--tw-pan-y,)var(--tw-pinch-zoom,)}.touch-manipulation{touch-action:manipulation}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\\[2fr_1fr\\]{grid-template-columns:2fr 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-x-1{column-gap:calc(var(--spacing)*1)}.gap-x-1\\.5{column-gap:calc(var(--spacing)*1.5)}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-y-0\\.5{row-gap:calc(var(--spacing)*.5)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.gap-y-3{row-gap:calc(var(--spacing)*3)}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:calc(var(--epdf-radius)*2/3)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:calc(var(--epdf-radius)*4/3)}.rounded-md{border-radius:var(--epdf-radius)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--epdf-radius)*2/3)}.rounded-xl{border-radius:calc(var(--epdf-radius)*2)}.rounded-xs{border-radius:calc(var(--epdf-radius)/2)}.rounded-t-2xl{border-top-left-radius:calc(var(--epdf-radius)*8/3);border-top-right-radius:calc(var(--epdf-radius)*8/3)}.rounded-t-lg{border-top-left-radius:calc(var(--epdf-radius)*4/3);border-top-right-radius:calc(var(--epdf-radius)*4/3)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-s-2{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-accent{border-color:var(--epdf-accent)}.border-border,.border-border-strong{border-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.border-border-strong{border-color:color-mix(in srgb,var(--epdf-border)75%,var(--epdf-text))}}.border-border-subtle{border-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.border-border-subtle{border-color:color-mix(in srgb,var(--epdf-border)50%,var(--epdf-surface))}}.border-red-400{border-color:var(--color-red-400)}.border-red-500\\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\\/40{border-color:color-mix(in oklab,var(--color-red-500)40%,transparent)}}.border-transparent{border-color:#0000}.border-t-accent{border-top-color:var(--epdf-accent)}.border-b-accent{border-bottom-color:var(--epdf-accent)}.border-b-transparent{border-bottom-color:#0000}.bg-accent,.bg-accent-active{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent-active{background-color:color-mix(in srgb,var(--epdf-accent)65%,black)}}.bg-accent-light,.bg-accent-light\\/60{background-color:var(--embedpdf-accent-tint)}@supports (color:color-mix(in lab,red,red)){.bg-accent-light\\/60{background-color:color-mix(in oklab,var(--embedpdf-accent-tint)60%,transparent)}}.bg-accent\\/10{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\\/10{background-color:color-mix(in oklab,var(--epdf-accent)10%,transparent)}}.bg-app{background-color:var(--epdf-background)}.bg-black\\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-border,.bg-border-strong{background-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.bg-border-strong{background-color:color-mix(in srgb,var(--epdf-border)75%,var(--epdf-text))}}.bg-border-subtle{background-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.bg-border-subtle{background-color:color-mix(in srgb,var(--epdf-border)50%,var(--epdf-surface))}}.bg-elevated,.bg-elevated\\/95{background-color:var(--epdf-surface-raised)}@supports (color:color-mix(in lab,red,red)){.bg-elevated\\/95{background-color:color-mix(in oklab,var(--epdf-surface-raised)95%,transparent)}}.bg-hover{background-color:var(--epdf-hover)}.bg-red-500\\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-selected{background-color:var(--embedpdf-accent-tint)}.bg-surface,.bg-surface-alt{background-color:var(--epdf-surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface-alt{background-color:color-mix(in srgb,var(--epdf-surface),var(--epdf-text)6%)}}.bg-surface\\/60{background-color:var(--epdf-surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface\\/60{background-color:color-mix(in oklab,var(--epdf-surface)60%,transparent)}}.bg-surface\\/80{background-color:var(--epdf-surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface\\/80{background-color:color-mix(in oklab,var(--epdf-surface)80%,transparent)}}.bg-tooltip{background-color:var(--epdf-tooltip)}.bg-transparent{background-color:#0000}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-\\[5px\\]{padding:5px}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.ps-2{padding-inline-start:calc(var(--spacing)*2)}.ps-2\\.5{padding-inline-start:calc(var(--spacing)*2.5)}.ps-3{padding-inline-start:calc(var(--spacing)*3)}.ps-7{padding-inline-start:calc(var(--spacing)*7)}.ps-8{padding-inline-start:calc(var(--spacing)*8)}.pe-1{padding-inline-end:calc(var(--spacing)*1)}.pe-2{padding-inline-end:calc(var(--spacing)*2)}.pe-2\\.5{padding-inline-end:calc(var(--spacing)*2.5)}.pe-7{padding-inline-end:calc(var(--spacing)*7)}.pe-9{padding-inline-end:calc(var(--spacing)*9)}.pt-1\\.5{padding-top:calc(var(--spacing)*1.5)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-1\\.5{padding-bottom:calc(var(--spacing)*1.5)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.text-center{text-align:center}.text-end{text-align:end}.text-left{text-align:left}.text-start{text-align:start}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[11px\\]{font-size:11px}.text-\\[13px\\]{font-size:13px}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-8{--tw-leading:calc(var(--spacing)*8);line-height:calc(var(--spacing)*8)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent{color:var(--epdf-accent)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-fg{color:var(--epdf-text)}.text-fg-disabled{color:var(--epdf-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-fg-disabled{color:color-mix(in srgb,var(--epdf-text-muted)60%,var(--epdf-surface))}}.text-fg-muted{color:var(--epdf-text-muted)}.text-fg-secondary{color:var(--epdf-text)}@supports (color:color-mix(in lab,red,red)){.text-fg-secondary{color:color-mix(in srgb,var(--epdf-text)65%,var(--epdf-text-muted))}}.text-green-600{color:var(--color-green-600)}.text-on-accent{color:var(--epdf-surface)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-tooltip-fg{color:var(--epdf-tooltip-text)}.text-white{color:var(--color-white)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.accent-accent{accent-color:var(--epdf-accent)}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-accent{--tw-ring-color:var(--epdf-accent)}.ring-accent-light{--tw-ring-color:var(--embedpdf-accent-tint)}.ring-accent\\/40{--tw-ring-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.ring-accent\\/40{--tw-ring-color:color-mix(in oklab,var(--epdf-accent)40%,transparent)}}.ring-accent\\/60{--tw-ring-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.ring-accent\\/60{--tw-ring-color:color-mix(in oklab,var(--epdf-accent)60%,transparent)}}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.\\!outline{outline-style:var(--tw-outline-style)!important;outline-width:1px!important}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-offset-2{outline-offset:2px}.outline-accent{outline-color:var(--epdf-accent)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-\\[translate\\,height\\]{transition-property:translate,height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[translate\\]{transition-property:translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\\[font-variant-emoji\\:text\\]{font-variant-emoji:text}.ring-inset{--tw-ring-inset:inset}@media(hover:hover){.group-hover\\:opacity-100:is(:where(.group):hover *),.group-hover\\/body\\:opacity-100:is(:where(.group\\/body):hover *){opacity:1}}.peer-checked\\:opacity-100:is(:where(.peer):checked~*){opacity:1}.selection\\:underline ::selection{text-decoration-line:underline}.selection\\:underline::selection{text-decoration-line:underline}.placeholder\\:text-fg-muted::placeholder{color:var(--epdf-text-muted)}.first\\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}.open\\:flex:is([open],:popover-open,:open){display:flex}.open\\:grid:is([open],:popover-open,:open){display:grid}.open\\:flex-col:is([open],:popover-open,:open){flex-direction:column}.open\\:justify-end:is([open],:popover-open,:open){justify-content:flex-end}.checked\\:border-accent:checked{border-color:var(--epdf-accent)}.checked\\:bg-accent:checked{background-color:var(--epdf-accent)}.focus-within\\:opacity-100:focus-within{opacity:1}@media(hover:hover){.hover\\:border-border:hover{border-color:var(--epdf-border)}.hover\\:border-b-accent:hover{border-bottom-color:var(--epdf-accent)}.hover\\:border-b-fg-muted:hover{border-bottom-color:var(--epdf-text-muted)}.hover\\:bg-accent:hover,.hover\\:bg-accent-hover:hover{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-accent-hover:hover{background-color:color-mix(in srgb,var(--epdf-accent)80%,black)}}.hover\\:bg-accent\\/20:hover{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-accent\\/20:hover{background-color:color-mix(in oklab,var(--epdf-accent)20%,transparent)}}.hover\\:bg-hover:hover{background-color:var(--epdf-hover)}.hover\\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\\:bg-transparent:hover{background-color:#0000}.hover\\:text-fg:hover,.hover\\:text-fg-secondary:hover{color:var(--epdf-text)}@supports (color:color-mix(in lab,red,red)){.hover\\:text-fg-secondary:hover{color:color-mix(in srgb,var(--epdf-text)65%,var(--epdf-text-muted))}}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:ring:hover{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:ring-0:hover{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:ring-accent:hover{--tw-ring-color:var(--epdf-accent)}}.focus\\:border-accent:focus{border-color:var(--epdf-accent)}.focus\\:border-red-400:focus{border-color:var(--color-red-400)}.focus\\:opacity-100:focus{opacity:1}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-accent:focus{--tw-ring-color:var(--epdf-accent)}.focus\\:ring-red-400:focus{--tw-ring-color:var(--color-red-400)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:bg-accent\\/40:focus-visible{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.focus-visible\\:bg-accent\\/40:focus-visible{background-color:color-mix(in oklab,var(--epdf-accent)40%,transparent)}}.focus-visible\\:bg-hover:focus-visible{background-color:var(--epdf-hover)}.focus-visible\\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-accent:focus-visible{--tw-ring-color:var(--epdf-accent)}.focus-visible\\:ring-inset:focus-visible{--tw-ring-inset:inset}.active\\:cursor-grabbing:active{cursor:grabbing}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:opacity-60:disabled{opacity:.6}:where([data-dragging]) .in-data-dragging\\:transition-none{transition-property:none}.aria-disabled\\:cursor-not-allowed[aria-disabled=true]{cursor:not-allowed}.aria-disabled\\:opacity-40[aria-disabled=true]{opacity:.4}@media(hover:hover){.aria-disabled\\:hover\\:bg-transparent[aria-disabled=true]:hover{background-color:#0000}}.aria-\\[invalid\\=true\\]\\:border-red-600[aria-invalid=true]{border-color:var(--color-red-600)}@media(prefers-reduced-motion:no-preference){.motion-safe\\:animate-spin{animation:var(--animate-spin)}}@media(prefers-reduced-motion:reduce){.motion-reduce\\:transition-none{transition-property:none}}.rtl\\:origin-top-right:where(:dir(rtl),[dir=rtl],[dir=rtl] *){transform-origin:100% 0}.rtl\\:-scale-x-100:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-scale-x: -100% ;scale:var(--tw-scale-x)var(--tw-scale-y)}.rtl\\:-rotate-90:where(:dir(rtl),[dir=rtl],[dir=rtl] *){rotate:-90deg}@starting-style{.starting\\:-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@starting-style{.starting\\:translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@starting-style{.starting\\:translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@starting-style{.starting\\:opacity-0{opacity:0}}@starting-style{.rtl\\:starting\\:-translate-x-full:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@starting-style{.rtl\\:starting\\:translate-x-full:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@media(forced-colors:active){.forced-colors\\:outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.forced-colors\\:-outline-offset-2{outline-offset:-2px}.forced-colors\\:outline-solid{--tw-outline-style:solid;outline-style:solid}}.float-pill\\:pointer-events-auto>div:has(>[data-epdf-toolbar-item]:not(:empty)){pointer-events:auto}.float-pill\\:rounded-lg>div:has(>[data-epdf-toolbar-item]:not(:empty)){border-radius:calc(var(--epdf-radius)*4/3)}.float-pill\\:border>div:has(>[data-epdf-toolbar-item]:not(:empty)){border-style:var(--tw-border-style);border-width:1px}.float-pill\\:border-border-subtle>div:has(>[data-epdf-toolbar-item]:not(:empty)){border-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.float-pill\\:border-border-subtle>div:has(>[data-epdf-toolbar-item]:not(:empty)){border-color:color-mix(in srgb,var(--epdf-border)50%,var(--epdf-surface))}}.float-pill\\:bg-elevated\\/95>div:has(>[data-epdf-toolbar-item]:not(:empty)){background-color:var(--epdf-surface-raised)}@supports (color:color-mix(in lab,red,red)){.float-pill\\:bg-elevated\\/95>div:has(>[data-epdf-toolbar-item]:not(:empty)){background-color:color-mix(in oklab,var(--epdf-surface-raised)95%,transparent)}}.float-pill\\:p-0\\.5>div:has(>[data-epdf-toolbar-item]:not(:empty)){padding:calc(var(--spacing)*.5)}.float-pill\\:shadow-lg>div:has(>[data-epdf-toolbar-item]:not(:empty)){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}:host{--embedpdf-host-accent:var(--epdf-accent);--embedpdf-host-background:var(--epdf-background);--embedpdf-host-surface:var(--epdf-surface);--embedpdf-host-surface-raised:var(--epdf-surface-raised);--embedpdf-host-text:var(--epdf-text);--embedpdf-host-text-muted:var(--epdf-text-muted);--embedpdf-host-border:var(--epdf-border);--embedpdf-host-hover:var(--epdf-hover);--embedpdf-host-canvas:var(--epdf-canvas);--embedpdf-host-page-background:var(--epdf-page-background);--embedpdf-host-page-shadow:var(--epdf-page-shadow);--embedpdf-host-tooltip:var(--epdf-tooltip);--embedpdf-host-tooltip-text:var(--epdf-tooltip-text);--embedpdf-host-radius:var(--epdf-radius);--embedpdf-host-font:var(--epdf-font);--embedpdf-host-scrollbar-thumb:var(--epdf-scrollbar-thumb);--embedpdf-host-toolbar-surface:var(--epdf-toolbar-surface);--embedpdf-host-toolbar-border:var(--epdf-toolbar-border);--embedpdf-host-toolbar-active:var(--epdf-toolbar-active)}:root,[data-embedpdf-root]{--epdf-accent:var(--embedpdf-host-accent,#3b82f6);--epdf-background:var(--embedpdf-host-background,#f3f4f6);--epdf-surface:var(--embedpdf-host-surface,#fff);--epdf-surface-raised:var(--embedpdf-host-surface-raised,#fff);--epdf-text:var(--embedpdf-host-text,#111827);--epdf-text-muted:var(--embedpdf-host-text-muted,#6b7280);--epdf-border:var(--embedpdf-host-border,#d1d5db);--epdf-hover:var(--embedpdf-host-hover,#f3f4f6);--epdf-canvas:var(--embedpdf-host-canvas,#f3f4f6);--epdf-page-background:var(--embedpdf-host-page-background,#fff);--epdf-page-shadow:var(--embedpdf-host-page-shadow,0 6px 18px #0000002e);--epdf-tooltip:var(--embedpdf-host-tooltip,var(--epdf-text));--epdf-tooltip-text:var(--embedpdf-host-tooltip-text,var(--epdf-surface));--epdf-radius:var(--embedpdf-host-radius,6px);--epdf-font:var(--embedpdf-host-font,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");--epdf-scrollbar-thumb:var(--embedpdf-host-scrollbar-thumb,var(--epdf-text))}@supports (color:color-mix(in lab,red,red)){:root,[data-embedpdf-root]{--epdf-scrollbar-thumb:var(--embedpdf-host-scrollbar-thumb,color-mix(in srgb,var(--epdf-text)35%,transparent))}}:root,[data-embedpdf-root]{--epdf-toolbar-surface:var(--embedpdf-host-toolbar-surface,var(--epdf-surface-raised));--epdf-toolbar-border:var(--embedpdf-host-toolbar-border,var(--epdf-border));--epdf-toolbar-active:var(--embedpdf-host-toolbar-active,var(--epdf-hover))}@supports (color:color-mix(in lab,red,red)){:root,[data-embedpdf-root]{--epdf-toolbar-active:var(--embedpdf-host-toolbar-active,color-mix(in srgb,var(--epdf-hover)90%,var(--epdf-text)))}}:root,[data-embedpdf-root]{--embedpdf-accent-tint:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){:root,[data-embedpdf-root]{--embedpdf-accent-tint:color-mix(in srgb,var(--epdf-accent)8%,var(--epdf-surface))}}.dark{--epdf-accent:var(--embedpdf-host-accent,#60a5fa);--epdf-background:var(--embedpdf-host-background,#111827);--epdf-surface:var(--embedpdf-host-surface,#1f2937);--epdf-surface-raised:var(--embedpdf-host-surface-raised,#1f2937);--epdf-text:var(--embedpdf-host-text,#f9fafb);--epdf-text-muted:var(--embedpdf-host-text-muted,#9ca3af);--epdf-border:var(--embedpdf-host-border,#4b5563);--epdf-hover:var(--embedpdf-host-hover,#374151);--epdf-canvas:var(--embedpdf-host-canvas,#0d1117);--epdf-tooltip:var(--embedpdf-host-tooltip,var(--epdf-text));--epdf-tooltip-text:var(--embedpdf-host-tooltip-text,var(--epdf-surface));--epdf-scrollbar-thumb:var(--embedpdf-host-scrollbar-thumb,var(--epdf-text))}@supports (color:color-mix(in lab,red,red)){.dark{--epdf-scrollbar-thumb:var(--embedpdf-host-scrollbar-thumb,color-mix(in srgb,var(--epdf-text)28%,transparent))}}.dark{--embedpdf-accent-tint:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.dark{--embedpdf-accent-tint:color-mix(in srgb,var(--epdf-accent)25%,var(--epdf-surface))}}html,body,#root{height:100%;margin:0}body{font-family:var(--epdf-font);color:var(--epdf-text);background:var(--epdf-background)}[data-measure-layer]{pointer-events:none}[data-embedpdf-scrollbar-thumb]{transition:background .15s}[data-embedpdf-scrollbar-thumb]:hover,[data-embedpdf-scrollbar][data-dragging] [data-embedpdf-scrollbar-thumb]{background:var(--epdf-text-muted)}[data-epdf-fills-window]:popover-open{border:0;width:auto;max-width:none;height:auto;max-height:none;margin:0;padding:0;position:fixed;inset:0}[data-touch] [role=toolbar] button,[data-touch] [role=tab],[data-touch] [data-epdf-panel-header] button,[data-touch] [role=menu] :is([role=menuitem],[role=menuitemradio],[role=menuitemcheckbox]){min-height:44px}[data-touch] [role=toolbar] button,[data-touch] [data-epdf-panel-header] button{min-width:44px}[data-touch] :is(input,textarea,select){font-size:16px}[data-float] [data-bar]{transition:opacity .15s}[data-float] [data-idle-hidden]{opacity:0;transition:opacity .5s}[data-idle-hidden] *{pointer-events:none}@media(prefers-reduced-motion:reduce){[data-float] [data-bar]{transition:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}'; +function tr(e) { const t = new CSSStyleSheet(); return t.replaceSync(e), t; } -let Xs = null; -function Kd() { - return Xs ?? (Xs = Xo(A2)), Xs; +let nl = null; +function Xd() { + return nl ?? (nl = tr(H2)), nl; } -const kr = Symbol.for("@embedpdf/viewer/placed-components"); -function jr(e) { +const Cr = Symbol.for("@embedpdf/viewer/placed-components"); +function Yr(e) { const t = e; - return t[kr] || Object.defineProperty(t, kr, { value: gy() }), t[kr]; + return t[Cr] || Object.defineProperty(t, Cr, { value: Ty() }), t[Cr]; } -function N2(e) { +function U2(e) { for (let t = e.parentNode; t; ) if (t instanceof ShadowRoot) t = t.host; else { @@ -11782,43 +11899,43 @@ function N2(e) { } return null; } -const I2 = ":host{display:inline-flex;vertical-align:middle}:host([hidden]){display:none}"; -let Zs = null; -const L2 = () => (Zs ?? (Zs = [Kd(), Xo(I2)]), Zs), Hd = typeof HTMLElement > "u" ? class { +const G2 = ":host{display:inline-flex;vertical-align:middle}:host([hidden]){display:none}"; +let ol = null; +const W2 = () => (ol ?? (ol = [Xd(), tr(G2)]), ol), Zd = typeof HTMLElement > "u" ? class { } : HTMLElement, Ie = (e, t) => e.getAttribute(t); function Ye(e, t, n) { n === null ? e.removeAttribute(t) : e.setAttribute(t, n); } -const Xa = (e) => e.hasAttribute("active"), jd = (e, t) => { +const ni = (e) => e.hasAttribute("active"), Jd = (e, t) => { e.toggleAttribute("active", !!t); }; -var at, wt; -class Za extends Hd { +var it, vt; +class oi extends Zd { constructor() { super(...arguments); - ge(this, at, null); - ge(this, wt, null); + ge(this, it, null); + ge(this, vt, null); } /** Whether what it draws takes focus: a button does, an icon doesn't. */ get focusable() { return !0; } connectedCallback() { - $(this, wt) || (ue(this, wt, this.attachShadow({ mode: "open", delegatesFocus: this.focusable })), $(this, wt).adoptedStyleSheets = L2()), this.focusable && !this.hasAttribute("tabindex") && (this.tabIndex = 0), ue(this, at, N2(this)), this.changed(); + $(this, vt) || (pe(this, vt, this.attachShadow({ mode: "open", delegatesFocus: this.focusable })), $(this, vt).adoptedStyleSheets = W2()), this.focusable && !this.hasAttribute("tabindex") && (this.tabIndex = 0), pe(this, it, U2(this)), this.changed(); } disconnectedCallback() { - $(this, at) && jr($(this, at)).remove(this), ue(this, at, null); + $(this, it) && Yr($(this, it)).remove(this), pe(this, it, null); } attributeChangedCallback() { this.changed(); } /** Tells the viewer what this element says now. */ changed() { - $(this, at) && $(this, wt) && jr($(this, at)).place(this.describe($(this, wt))); + $(this, it) && $(this, vt) && Yr($(this, it)).place(this.describe($(this, vt))); } } -at = new WeakMap(), wt = new WeakMap(); -const Ja = class Ja extends Za { +it = new WeakMap(), vt = new WeakMap(); +const ri = class ri extends oi { /** The command it is, by id. */ get command() { return Ie(this, "command"); @@ -11842,10 +11959,10 @@ const Ja = class Ja extends Za { } /** Shown pressed: the `active` attribute, there or not. */ get active() { - return Xa(this); + return ni(this); } set active(t) { - jd(this, t); + Jd(this, t); } describe(t) { return { @@ -11859,9 +11976,9 @@ const Ja = class Ja extends Za { }; } }; -Ja.observedAttributes = ["command", "icon", "label", "active"]; -let Ur = Ja; -class R2 extends Hd { +ri.observedAttributes = ["command", "icon", "label", "active"]; +let Xr = ri; +class V2 extends Zd { /** The command it is, by id. */ get command() { return Ie(this, "command"); @@ -11878,17 +11995,17 @@ class R2 extends Hd { } /** Shown checked: the `active` attribute, there or not. */ get active() { - return Xa(this); + return ni(this); } set active(t) { - jd(this, t); + Jd(this, t); } } -var Yt; -const Qa = class Qa extends Za { +var Vt; +const ai = class ai extends oi { constructor() { super(...arguments); - ge(this, Yt, null); + ge(this, Vt, null); } /** Its icon, by name: the viewer's or one of yours. */ get icon() { @@ -11905,7 +12022,7 @@ const Qa = class Qa extends Za { Ye(this, "label", n); } connectedCallback() { - $(this, Yt) ?? ue(this, Yt, new MutationObserver(() => this.changed())), $(this, Yt).observe(this, { + $(this, Vt) ?? pe(this, Vt, new MutationObserver(() => this.changed())), $(this, Vt).observe(this, { childList: !0, subtree: !0, characterData: !0, @@ -11914,7 +12031,7 @@ const Qa = class Qa extends Za { }), super.connectedCallback(); } disconnectedCallback() { - $(this, Yt)?.disconnect(), super.disconnectedCallback(); + $(this, Vt)?.disconnect(), super.disconnectedCallback(); } describe(n) { const o = [...this.children].filter((r) => r.localName === "epdf-menu-item").map( @@ -11922,16 +12039,16 @@ const Qa = class Qa extends Za { command: Ie(r, "command"), icon: Ie(r, "icon"), label: r.textContent?.trim() ?? "", - active: Xa(r), + active: ni(r), select: () => r.dispatchEvent(new CustomEvent("select", { bubbles: !0 })) }) ); return { kind: "menu", host: this, root: n, icon: this.icon, label: this.label, items: o }; } }; -Yt = new WeakMap(), Qa.observedAttributes = ["icon", "label"]; -let Gr = Qa; -const ei = class ei extends Za { +Vt = new WeakMap(), ai.observedAttributes = ["icon", "label"]; +let Zr = ai; +const ii = class ii extends oi { get focusable() { return !1; } @@ -11968,84 +12085,87 @@ const ei = class ei extends Za { }; } }; -ei.observedAttributes = ["name", "size", "label"]; -let Wr = ei; +ii.observedAttributes = ["name", "size", "label"]; +let Jr = ii; if (typeof customElements < "u") { const e = [ - ["epdf-button", Ur], - ["epdf-menu", Gr], - ["epdf-menu-item", R2], - ["epdf-icon", Wr] + ["epdf-button", Xr], + ["epdf-menu", Zr], + ["epdf-menu-item", V2], + ["epdf-icon", Jr] ]; for (const [t, n] of e) customElements.get(t) || customElements.define(t, n); } -const Ud = "data-embedpdf-root", Vr = `[${Ud}]`, D2 = `:host{display:block;height:100%}${Vr}{all:initial;visibility:inherit;pointer-events:inherit;display:block;position:relative;isolation:isolate;contain:layout;box-sizing:border-box;height:100%;font-family:var(--epdf-font);font-size:16px;line-height:1.5;color:var(--epdf-text);color-scheme:light;tab-size:4;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}${Vr}.dark{color-scheme:dark}`; -let Js = null; -const $2 = () => (Js ?? (Js = [Xo(D2), Kd()]), Js); -function z2(e) { +const Qd = "data-embedpdf-root", Qr = `[${Qd}]`, q2 = `:host{display:block;height:100%}${Qr}{all:initial;visibility:inherit;pointer-events:inherit;display:block;position:relative;isolation:isolate;contain:layout;box-sizing:border-box;height:100%;font-family:var(--epdf-font);font-size:16px;line-height:1.5;color:var(--epdf-text);color-scheme:light;tab-size:4;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}${Qr}.dark{color-scheme:dark}`; +let rl = null; +const Y2 = () => (rl ?? (rl = [tr(q2), Xd()]), rl); +function X2(e) { const t = e.engine; if (typeof t == "function") return { engine: t }; if (t && typeof t.open == "function") return { engine: t }; - const n = Mo.defaultEngineProvider; + const n = To.defaultEngineProvider; if (!n) throw new Error( "[embedpdf] no engine: this build has no default engine. Pass one in the config (`engine: () => yourEngine()`), or import '@embedpdf/viewer' (which bundles the bundled local engine) instead of '@embedpdf/viewer/core'." ); return n(t); } -function F2(e) { +function Z2(e) { try { for (const t of e.commands ?? []) - t.icon && !(t.icon in Nc) && !(e.icons && t.icon in e.icons) && console.warn(`[embedpdf] command "${t.id}": unknown icon "${t.icon}"`); + t.icon && !(t.icon in $c) && !(e.icons && t.icon in e.icons) && console.warn(`[embedpdf] command "${t.id}": unknown icon "${t.icon}"`); } catch (t) { console.warn("[embedpdf] invalid config:", t); } } -const B2 = typeof HTMLElement > "u" ? class { -} : HTMLElement, K2 = [ +const J2 = typeof HTMLElement > "u" ? class { +} : HTMLElement, Q2 = [ "config", "src", "theme", "locale", + "features", "disable", "readOnly", "fetch", "appState" -], H2 = "data-epdf-wrapped"; -var Et, yt, Fe, Ne, it, Mn, st, At, Nt, Po, J, ft, qr, Yr, Oo, To, Co, Xr, Gd, Wd, Zr, uo; -const Eo = class Eo extends B2 { +], e_ = "data-epdf-wrapped"; +var At, wt, Be, Le, st, On, Pn, lt, Nt, Lt, Co, J, rt, ea, ta, Eo, Ao, No, na, eu, tu, oa, fo; +const Lo = class Lo extends J2 { constructor() { super(...arguments); ge(this, J); - ge(this, Et, null); - ge(this, yt, null); - ge(this, Fe, null); + ge(this, At, null); + ge(this, wt, null); + ge(this, Be, null); /** The config the running viewer shows, and the props it renders with. */ - ge(this, Ne, null); - ge(this, it, null); - /** What the running viewer's door makes of a `src` (`DoorEngine.sourceOf`). */ - ge(this, Mn, (n) => n); + ge(this, Le, null); ge(this, st, null); - ge(this, At, null); + /** What the running viewer's door makes of a `src` (`DoorEngine.sourceOf`). */ + ge(this, On, (n) => n); + /** Whether the running viewer's door keeps a document open under a new `src` (`DoorEngine.follows`). */ + ge(this, Pn); + ge(this, lt, null); + ge(this, Nt, null); /** The ids of `src` documents still closing, which a new one must not take. */ - ge(this, Nt, /* @__PURE__ */ new Set()); + ge(this, Lt, /* @__PURE__ */ new Set()); /** * How the viewer downloads a URL: the shown config's `fetch`, read at each download, so a new * one needs no new viewer. */ - ge(this, Po, (n, o) => ($(this, Ne)?.fetch ?? globalThis.fetch)(n, o)); + ge(this, Co, (n, o) => ($(this, Le)?.fetch ?? globalThis.fetch)(n, o)); /** The viewer is live: `src` opens, then `epdf:ready` and the config's `onReady` say so. */ - ge(this, Oo, (n) => { - ue(this, st, n), pe(this, J, Xr).call(this), this.dispatchEvent(new CustomEvent("epdf:ready", { detail: { viewer: n } })), $(this, Ne)?.onReady?.(n); + ge(this, Eo, (n) => { + pe(this, lt, n), fe(this, J, na).call(this), this.dispatchEvent(new CustomEvent("epdf:ready", { detail: { viewer: n } })), $(this, Le)?.onReady?.(n); }); /** The active document changed: `epdf:documentchange` and the config's `onDocumentChange`. */ - ge(this, To, (n) => { - this.dispatchEvent(new CustomEvent("epdf:documentchange", { detail: { documentId: n } })), $(this, Ne)?.onDocumentChange?.(n); + ge(this, Ao, (n) => { + this.dispatchEvent(new CustomEvent("epdf:documentchange", { detail: { documentId: n } })), $(this, Le)?.onDocumentChange?.(n); }); /** The user resized a panel: `epdf:panelresize` and the config's `onPanelResize`. */ - ge(this, Co, (n) => { - this.dispatchEvent(new CustomEvent("epdf:panelresize", { detail: n })), $(this, Ne)?.onPanelResize?.(n); + ge(this, No, (n) => { + this.dispatchEvent(new CustomEvent("epdf:panelresize", { detail: n })), $(this, Le)?.onPanelResize?.(n); }); } /** @@ -12053,59 +12173,69 @@ const Eo = class Eo extends B2 { * live keys change in place and any other change builds a new viewer. */ set config(n) { - ue(this, Et, n), pe(this, J, qr).call(this); + pe(this, At, n), fe(this, J, ea).call(this); } get config() { - return C2(E2(this), $(this, Et)); + return K2(j2(this), $(this, At)); } /** * The document: a URL, a `File`, or bytes (or what the door's engine opens). Another one opens * in its place, `null` closes it, and `undefined` goes back to the `src` attribute. */ set src(n) { - pe(this, J, ft).call(this, { src: n }); + fe(this, J, rt).call(this, { src: n }); } get src() { return this.config.src ?? null; } /** `'light'`, `'dark'`, `'system'`, or the theme config. */ set theme(n) { - pe(this, J, ft).call(this, { theme: n }); + fe(this, J, rt).call(this, { theme: n }); } get theme() { return this.config.theme; } /** `'auto'` or a language code. */ set locale(n) { - pe(this, J, ft).call(this, { locale: n }); + fe(this, J, rt).call(this, { locale: n }); } get locale() { return this.config.locale; } - /** The features and commands this viewer doesn't have. */ + /** What people can do in this viewer: features and their parts, on or off. */ + set features(n) { + fe(this, J, rt).call(this, { features: n }); + } + get features() { + return this.config.features; + } + /** + * The features and commands this viewer doesn't have. + * @deprecated Use `features`; goes in 4.0. + */ set disable(n) { - pe(this, J, ft).call(this, { disable: n }); + fe(this, J, rt).call(this, { disable: n }); } get disable() { return this.config.disable; } /** Every feature that changes the document off, or all but `except`. */ set readOnly(n) { - pe(this, J, ft).call(this, { readOnly: n }); + fe(this, J, rt).call(this, { readOnly: n }); } get readOnly() { return this.config.readOnly; } /** How a document at a URL downloads: your own `fetch`. The next download uses a new one. */ set fetch(n) { - pe(this, J, ft).call(this, { fetch: n }); + fe(this, J, rt).call(this, { fetch: n }); } get fetch() { return this.config.fetch; } /** Your app's state, which your commands read: a new value, and every button asks again. */ set appState(n) { - pe(this, J, ft).call(this, { appState: n }); + fe(this, J, rt).call(this, { appState: n }); } get appState() { return this.config.appState; @@ -12116,99 +12246,106 @@ const Eo = class Eo extends B2 { * builds a new viewer. */ get viewer() { - return $(this, st); + return $(this, lt); } connectedCallback() { - for (const n of K2) { + for (const n of Q2) { if (!Object.prototype.hasOwnProperty.call(this, n)) continue; const o = Reflect.get(this, n); Reflect.deleteProperty(this, n), Reflect.set(this, n, o); } - this.hasAttribute(H2) && $(this, Et) === null || queueMicrotask(() => { - this.isConnected && !$(this, Fe) && pe(this, J, uo).call(this); + this.hasAttribute(e_) && $(this, At) === null || queueMicrotask(() => { + this.isConnected && !$(this, Be) && fe(this, J, fo).call(this); }); } disconnectedCallback() { - pe(this, J, Yr).call(this); + fe(this, J, ta).call(this); } attributeChangedCallback() { - $(this, Fe) && pe(this, J, qr).call(this); + $(this, Be) && fe(this, J, ea).call(this); } }; -Et = new WeakMap(), yt = new WeakMap(), Fe = new WeakMap(), Ne = new WeakMap(), it = new WeakMap(), Mn = new WeakMap(), st = new WeakMap(), At = new WeakMap(), Nt = new WeakMap(), Po = new WeakMap(), J = new WeakSet(), ft = function(n) { - this.config = { ...$(this, Et), ...n }; +At = new WeakMap(), wt = new WeakMap(), Be = new WeakMap(), Le = new WeakMap(), st = new WeakMap(), On = new WeakMap(), Pn = new WeakMap(), lt = new WeakMap(), Nt = new WeakMap(), Lt = new WeakMap(), Co = new WeakMap(), J = new WeakSet(), rt = function(n) { + this.config = { ...$(this, At), ...n }; }, /** Show the current config: in place when only live keys changed, else on a new viewer. */ -qr = function() { +ea = function() { if (!this.isConnected) return; - const n = $(this, Ne); - if (!$(this, Fe) || !n) { - pe(this, J, uo).call(this); + const n = $(this, Le); + if (!$(this, Be) || !n) { + fe(this, J, fo).call(this); return; } - const o = this.config, r = S2(n, o); + const o = this.config, r = D2(n, o); if (r.length !== 0) { - if (!r.every(k2)) { - pe(this, J, uo).call(this); + if (!r.every(R2)) { + fe(this, J, fo).call(this); return; } - if (ue(this, Ne, o), r.includes("theme") && pe(this, J, Zr).call(this, o.theme), r.some((a) => a !== "src" && a !== "fetch")) { - const { theme: a, locale: s, disable: l, readOnly: d, appState: c } = o; - ue(this, it, { ...$(this, it), theme: a, locale: s, disable: l, readOnly: d, appState: c }), $(this, Fe).render(Ee(qs, $(this, it))); + if (pe(this, Le, o), r.includes("theme") && fe(this, J, oa).call(this, o.theme), r.some((a) => a !== "src" && a !== "fetch")) { + const { theme: a, locale: s, features: l, disable: d, readOnly: c, appState: p } = o; + pe(this, st, { ...$(this, st), theme: a, locale: s, features: l, disable: d, readOnly: c, appState: p }), $(this, Be).render(Ee(el, $(this, st))); } - r.includes("src") && pe(this, J, Xr).call(this); + r.includes("src") && fe(this, J, na).call(this); } -}, Yr = function() { - ue(this, st, null), ue(this, At, null), $(this, Nt).clear(), ue(this, Ne, null), ue(this, it, null), $(this, Fe)?.unmount(), ue(this, Fe, null); -}, Oo = new WeakMap(), To = new WeakMap(), Co = new WeakMap(), /** +}, ta = function() { + pe(this, lt, null), pe(this, Nt, null), $(this, Lt).clear(), pe(this, Le, null), pe(this, st, null), $(this, Be)?.unmount(), pe(this, Be, null); +}, Eo = new WeakMap(), Ao = new WeakMap(), No = new WeakMap(), /** * Open the document `src` names in the place of the one the previous `src` opened, which * closes. `documents` takes over from `src` when the config has them. */ -Xr = function() { - const n = $(this, st), o = $(this, Ne); +na = function() { + var p; + const n = $(this, lt), o = $(this, Le); if (!n || !o || o.documents) return; - const { documents: r } = n, a = $(this, At); - ue(this, At, null); + const { documents: r } = n, a = $(this, Nt); + if (a && o.src != null && ((p = $(this, Pn)) != null && p.call(this, a.input, o.src))) return; + pe(this, Nt, null); const s = a && r.has(a.id) ? a.id : a?.reserved, l = s ? r.getOrder().indexOf(s) : -1; let d = () => { }; - const c = new Promise((p) => d = p); - if (o.src != null && pe(this, J, Gd).call(this, o.src, l, a ? c : void 0), a) { - const p = a.id; - $(this, Nt).add(p); - const f = /* @__PURE__ */ new Set([a.reserved, p]), u = () => { - $(this, Nt).delete(p), d(); + const c = new Promise((f) => d = f); + if (o.src != null && fe(this, J, eu).call(this, o.src, l, a ? c : void 0), a) { + const f = a.id; + $(this, Lt).add(f); + const u = /* @__PURE__ */ new Set([a.reserved, f]), m = () => { + $(this, Lt).delete(f), d(); }; - Promise.all([...f].map((m) => r.close(m))).then(() => a.opened).then((m) => m !== null && !f.has(m) ? r.close(m) : void 0).then(u, u); + Promise.all([...u].map((g) => r.close(g))).then(() => a.opened).then((g) => g !== null && !u.has(g) ? r.close(g) : void 0).then(m, m); } }, /** Open `src` as the `src` document, at `position` in the tabs, once `after` settles. */ -Gd = function(n, o, r) { - const { documents: a } = $(this, st), s = $(this, Mn).call(this, n), l = pe(this, J, Wd).call(this, s), { source: d, name: c } = Bd(s, l, r), p = new Set(a.getOrder()), f = a.open(d, c !== void 0 ? { name: c } : {}), u = a.getOrder().find((h) => !p.has(h)), m = f.then( +eu = function(n, o, r) { + const { documents: a } = $(this, lt), s = $(this, On).call(this, n), l = fe(this, J, tu).call(this, s), { source: d, name: c } = Yd(s, l, r), p = new Set(a.getOrder()), f = a.open(d, c !== void 0 ? { name: c } : {}), u = a.getOrder().find((h) => !p.has(h)), m = f.then( ({ document: h }) => h.id, () => null ); if (!u) return; - const b = { reserved: u, id: Yo(s) ? u : l, opened: m }; - ue(this, At, b), m.then((h) => { - h !== null && (b.id = h); + const g = { + reserved: u, + id: er(s) ? u : l, + opened: m, + input: s + }; + pe(this, Nt, g), m.then((h) => { + h !== null && (g.id = h); }), o >= 0 && a.move(u, o); }, /** The id `src` asks for, or with a number after it while a document still has it. */ -Wd = function(n) { - const o = Fd(n), r = (s) => $(this, Nt).has(s) || !!$(this, st)?.documents.has(s); +tu = function(n) { + const o = qd(n), r = (s) => $(this, Lt).has(s) || !!$(this, lt)?.documents.has(s); let a = o; for (let s = 2; r(a); s++) a = `${o}#${s}`; return a; }, /** The chrome's sheets, and the theme's tokens after them, so they win over its defaults. */ -Zr = function(n) { - const o = H0(n, Vr); - this.shadowRoot.adoptedStyleSheets = [...$2(), ...o ? [Xo(o)] : []]; -}, uo = function() { +oa = function(n) { + const o = s1(n, Qr); + this.shadowRoot.adoptedStyleSheets = [...Y2(), ...o ? [tr(o)] : []]; +}, fo = function() { if (!this.shadowRoot) { - const u = this.attachShadow({ mode: "open" }); - ue(this, yt, document.createElement("div")), $(this, yt).setAttribute(Ud, ""), u.appendChild($(this, yt)); + const m = this.attachShadow({ mode: "open" }); + pe(this, wt, document.createElement("div")), $(this, wt).setAttribute(Qd, ""), m.appendChild($(this, wt)); } - pe(this, J, Yr).call(this); + fe(this, J, ta).call(this); const n = this.config; - F2(n); + Z2(n); const { src: o, documents: r, @@ -12217,128 +12354,128 @@ Zr = function(n) { fetch: l, ...d } = n; - pe(this, J, Zr).call(this, s), ue(this, Ne, n); - const { engine: c, sourceOf: p = (u) => u, plugins: f } = z2(n); - ue(this, Mn, p), ue(this, it, { + fe(this, J, oa).call(this, s), pe(this, Le, n); + const { engine: c, sourceOf: p = (m) => m, follows: f, plugins: u } = X2(n); + pe(this, On, p), pe(this, Pn, f), pe(this, st, { engine: c, - initialDocuments: r && T2(r, p), - fetch: $(this, Po), + initialDocuments: r && B2(r, p), + fetch: $(this, Co), theme: s, - themeTarget: $(this, yt), + themeTarget: $(this, wt), // The viewer's own components among the children (``, ``). - components: jr(this), + components: Yr(this), ...d, - plugins: M2(f, d.plugins), + plugins: $2(u, d.plugins), // The element's own, which call the config's after its events. - onReady: $(this, Oo), - onDocumentChange: $(this, To), - onPanelResize: $(this, Co) - }), ue(this, Fe, uh($(this, yt))), $(this, Fe).render(Ee(qs, $(this, it))); -}, Eo.observedAttributes = ["src", "locale", "theme"], Eo.defaultEngineProvider = null; -let Mo = Eo; -typeof customElements < "u" && !customElements.get("embedpdf-viewer") && customElements.define("embedpdf-viewer", Mo); -function X_(e) { + onReady: $(this, Eo), + onDocumentChange: $(this, Ao), + onPanelResize: $(this, No) + }), pe(this, Be, vh($(this, wt))), $(this, Be).render(Ee(el, $(this, st))); +}, Lo.observedAttributes = ["src", "locale", "theme"], Lo.defaultEngineProvider = null; +let To = Lo; +typeof customElements < "u" && !customElements.get("embedpdf-viewer") && customElements.define("embedpdf-viewer", To); +function lx(e) { const { target: t, ...n } = e, o = typeof t == "string" ? document.querySelector(t) : t; if (!o) throw new Error(`[embedpdf] init: target not found: ${String(t)}`); const r = document.createElement("embedpdf-viewer"); return r.config = n, o.appendChild(r), r; } export { - oe as $, + Xb as $, k as A, - j as B, + U as B, ke as C, - Bg as D, - Mo as E, - dt as F, - Zg as G, - Jg as H, - Nc as I, - Se as J, - Ce as K, - Vo as L, - F_ as M, - xg as N, - W as O, - za as P, - kg as Q, - Xg as R, + Vg as D, + To as E, + ut as F, + rb as G, + ab as H, + $c as I, + Me as J, + ox as K, + Ce as L, + Jo as M, + Z_ as N, + Cg as O, + V as P, + Ua as Q, + ob as R, D as S, - Wc as T, - ye as U, - jh as V, - jo as W, - hg as X, - ie as Y, - Q as Z, - jb as _, - Ur as a, - _a as a0, - Hb as a1, - yg as a2, - gc as a3, - vc as a4, - Qe as a5, - Vc as a6, - pv as a7, - cv as a8, - Sn as a9, - bb as aA, - wa as aB, - Jt as aC, - Fo as aD, - wo as aE, - _c as aF, - _g as aa, - B_ as ab, - G_ as ac, - H_ as ad, - K_ as ae, - Wn as af, - L_ as ag, - Hh as ah, - V_ as ai, - W_ as aj, - Ir as ak, - Je as al, - R as am, - j_ as an, - R_ as ao, - sc as ap, - bh as aq, - ji as ar, - yb as as, - vb as at, + Qc as T, + Eg as U, + _e as V, + qo as W, + Xh as X, + xg as Y, + le as Z, + ee as _, + Xr as a, + ae as a0, + Oa as a1, + Yb as a2, + Pg as a3, + xc as a4, + xo as a5, + Qe as a6, + ed as a7, + Ev as a8, + Pv as a9, + Sb as aA, + Sa as aB, + Xt as aC, + Uo as aD, + _o as aE, + Oc as aF, + Mn as aa, + Tg as ab, + J_ as ac, + nx as ad, + ex as ae, + Q_ as af, + qn as ag, + W_ as ah, + Yh as ai, + ax as aj, + rx as ak, + Fr as al, + Je as am, + R as an, + V_ as ao, + fc as ap, + Sh as aq, + Yi as ar, + Pb as as, + Mb as at, Ae as au, Ze as av, - q_ as aw, - Ko as ax, - V0 as ay, - Bo as az, - Wr as b, - Gr as c, - R2 as d, - is as e, - Ob as f, - ct as g, - fg as h, - X_ as i, - D_ as j, + ix as aw, + Wo as ax, + p1 as ay, + Go as az, + Jr as b, + Zr as c, + V2 as d, + us as e, + Ib as f, + dt as g, + yg as h, + lx as i, + q_ as j, C as k, i as l, - q as m, - ve as n, - e1 as o, - bv as p, - H as q, - Re as r, - Y_ as s, - Z0 as t, - Z as u, + Y as m, + we as n, + w1 as o, + Rv as p, + j as q, + De as r, + sx as s, + g1 as t, + Q as u, E as v, - U_ as w, - Yh as x, - $_ as y, - z_ as z + tx as w, + ng as x, + Y_ as y, + X_ as z }; -//# sourceMappingURL=init-DY-DOXIU.js.map +//# sourceMappingURL=init-tVr9KnGC.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/inline-transport-CUNc827b.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/inline-transport-DOhLr0Ey.js similarity index 72% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/inline-transport-CUNc827b.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/inline-transport-DOhLr0Ey.js index 069a83bb..23ece7d5 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/inline-transport-CUNc827b.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/inline-transport-DOhLr0Ey.js @@ -1,9 +1,9 @@ -const HB = () => import( +const oD = () => import( /* webpackIgnore: true */ /* @vite-ignore */ ["@embedpdf/engine", "workers", "inline-transport.node.js"].join("/") ); -var db = Object.defineProperty, IB = (e, t, r) => t in e ? db(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, QB = ((e) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(e, { get: (t, r) => (typeof require < "u" ? require : t)[r] }) : e)(function(e) { +var Db = Object.defineProperty, sD = (e, t, r) => t in e ? Db(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, cD = ((e) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(e, { get: (t, r) => (typeof require < "u" ? require : t)[r] }) : e)(function(e) { if (typeof require < "u") return require.apply(this, arguments); throw Error('Dynamic require of "' + e + '" is not supported'); }), it = (e, t, r) => () => { @@ -14,584 +14,584 @@ var db = Object.defineProperty, IB = (e, t, r) => t in e ? db(e, t, { enumerable throw r = [n], n; } }, ze = (e, t) => { - for (var r in t) db(e, r, { get: t[r], enumerable: !0 }); -}, wt = (e, t, r) => IB(e, typeof t != "symbol" ? t + "" : t, r), pb = {}; -ze(pb, { default: () => lb }); -var ku, lb, SB = it(() => { + for (var r in t) Db(e, r, { get: t[r], enumerable: !0 }); +}, gt = (e, t, r) => sD(e, typeof t != "symbol" ? t + "" : t, r), yb = {}; +ze(yb, { default: () => Eb }); +var Rl, Eb, dD = it(() => { "use strict"; - ku = (() => { + Rl = (() => { var e = self.location.href; return (function(t = {}) { - var r, n = t, i, a, A = new Promise((p, u) => { - i = p, a = u; + var r, n = t, i, a, A = new Promise((p, l) => { + i = p, a = l; }); - ["_EPDF_CheckPasswordPermissions", "_EPDF_DigestBuffer", "_EPDF_FreeBuffer", "_EPDF_GetDecodedImageBytes", "_EPDF_GetMetaKeyCount", "_EPDF_GetMetaKeyName", "_EPDF_GetMetaTrapped", "_EPDF_GetPageBoxByIndex", "_EPDF_GetPageRotateByIndex", "_EPDF_GetPageTabOrderByIndex", "_EPDF_GetPageUserUnitByIndex", "_EPDF_HasMetaText", "_EPDF_InitThread", "_EPDF_IsEncrypted", "_EPDF_IsOwnerUnlocked", "_EPDF_LoadBaseDocument", "_EPDF_LoadMemBaseDocument", "_EPDF_LoadMemBaseDocument64", "_EPDF_LoadPageNormalized", "_EPDF_PNG_EncodeRGBA", "_EPDF_ReleaseBaseDocument", "_EPDF_RemoveEncryption", "_EPDF_RenderAnnotBitmap", "_EPDF_RenderAnnotBitmapUnrotated", "_EPDF_RenderPage_Continue", "_EPDF_RenderPageBitmapWithMatrix_Start", "_EPDF_SaveAsCopyEx", "_EPDF_SaveDocumentToOwnedBuffer", "_EPDF_SaveDocumentToOwnedBufferEx", "_EPDF_SaveDocumentToOwnedBufferWithVersion", "_EPDF_SetBaseDocumentSha256", "_EPDF_SetDecodedImageBudget", "_EPDF_SetEncryption", "_EPDF_SetMetaText", "_EPDF_SetMetaTrapped", "_EPDF_SetRuntimeOwnerPermissions", "_EPDF_ShutdownThread", "_EPDF_UnlockOwnerPermissions", "_EPDFAction_CloseModel", "_EPDFAction_CreateGoTo", "_EPDFAction_CreateGoToNamed", "_EPDFAction_CreateHide", "_EPDFAction_CreateJavaScript", "_EPDFAction_CreateLaunch", "_EPDFAction_CreateNamed", "_EPDFAction_CreateRemoteGoToByName", "_EPDFAction_CreateRemoteGoToDest", "_EPDFAction_CreateResetForm", "_EPDFAction_CreateSubmitForm", "_EPDFAction_CreateURI", "_EPDFAction_GetNextAt", "_EPDFAction_GetNextCount", "_EPDFAction_GetNodeCount", "_EPDFAction_GetNodeDest", "_EPDFAction_GetNodeFilePath", "_EPDFAction_GetNodeHideFlag", "_EPDFAction_GetNodeJavaScript", "_EPDFAction_GetNodeName", "_EPDFAction_GetNodeResetForm", "_EPDFAction_GetNodeSubmitForm", "_EPDFAction_GetNodeSubmitFormCharSet", "_EPDFAction_GetNodeSubmitFormURL", "_EPDFAction_GetNodeSubtype", "_EPDFAction_GetNodeTargetCount", "_EPDFAction_GetNodeTargetName", "_EPDFAction_GetNodeTargetObjectNumber", "_EPDFAction_GetNodeType", "_EPDFAction_GetNodeURI", "_EPDFAction_GetNodeURIIsMap", "_EPDFAction_GetRootNode", "_EPDFAction_GetWarningFlags", "_EPDFAction_IsComplete", "_EPDFAction_LoadModel", "_EPDFAction_NodeHasJavaScript", "_EPDFAction_SetNext", "_EPDFAnnot_AddMeasure", "_EPDFAnnot_ClearBorderEffect", "_EPDFAnnot_ClearColor", "_EPDFAnnot_ClearEmbedMetadata", "_EPDFAnnot_ClearEmbedMetadataKey", "_EPDFAnnot_ClearMKColor", "_EPDFAnnot_ClearRectangleDifferences", "_EPDFAnnot_ExportAppearance", "_EPDFAnnot_GenerateAppearance", "_EPDFAnnot_GenerateAppearanceWithBlend", "_EPDFAnnot_GenerateFormFieldAP", "_EPDFAnnot_GetActionModel", "_EPDFAnnot_GetAPMatrix", "_EPDFAnnot_GetAppearanceState", "_EPDFAnnot_GetAppearanceStateCount", "_EPDFAnnot_GetAppearanceStateName", "_EPDFAnnot_GetAppearanceTransform", "_EPDFAnnot_GetAvailableAppearanceModes", "_EPDFAnnot_GetBlendMode", "_EPDFAnnot_GetBooleanValue", "_EPDFAnnot_GetBorderDashPattern", "_EPDFAnnot_GetBorderDashPatternCount", "_EPDFAnnot_GetBorderEffect", "_EPDFAnnot_GetBorderStyle", "_EPDFAnnot_GetCalloutLine", "_EPDFAnnot_GetCalloutLineCount", "_EPDFAnnot_GetColor", "_EPDFAnnot_GetDefaultAppearance", "_EPDFAnnot_GetDefaultAppearanceFontFace", "_EPDFAnnot_GetDefaultAppearanceFontPostScriptName", "_EPDFAnnot_GetDrawingRect", "_EPDFAnnot_GetEmbedMetadataBoolean", "_EPDFAnnot_GetEmbedMetadataJSON", "_EPDFAnnot_GetEmbedMetadataNumber", "_EPDFAnnot_GetEmbedMetadataRect", "_EPDFAnnot_GetEmbedMetadataString", "_EPDFAnnot_GetFileAttachmentForWrite", "_EPDFAnnot_GetIntent", "_EPDFAnnot_GetLineCaption", "_EPDFAnnot_GetLineEndings", "_EPDFAnnot_GetLineLeader", "_EPDFAnnot_GetMeasure", "_EPDFAnnot_GetMKColor", "_EPDFAnnot_GetMKRotation", "_EPDFAnnot_GetMKText", "_EPDFAnnot_GetMKTextPosition", "_EPDFAnnot_GetName", "_EPDFAnnot_GetObjectNumber", "_EPDFAnnot_GetOpacity", "_EPDFAnnot_GetOverlayText", "_EPDFAnnot_GetOverlayTextRepeat", "_EPDFAnnot_GetRect", "_EPDFAnnot_GetRectangleDifferences", "_EPDFAnnot_GetReplyType", "_EPDFAnnot_GetRichContent", "_EPDFAnnot_GetRichTextJSON", "_EPDFAnnot_GetRotate", "_EPDFAnnot_GetShapeCaption", "_EPDFAnnot_GetStampDrawing", "_EPDFAnnot_GetStructurePosition", "_EPDFAnnot_GetTextAlignment", "_EPDFAnnot_HasAppearanceStream", "_EPDFAnnot_HasEmbedMetadata", "_EPDFAnnot_IsValid", "_EPDFAnnot_RemoveAction", "_EPDFAnnot_RemoveDest", "_EPDFAnnot_RemoveKey", "_EPDFAnnot_RemoveMeasure", "_EPDFAnnot_SetAction", "_EPDFAnnot_SetAPMatrix", "_EPDFAnnot_SetAppearanceFromPage", "_EPDFAnnot_SetBooleanValue", "_EPDFAnnot_SetBorderDashPattern", "_EPDFAnnot_SetBorderEffect", "_EPDFAnnot_SetBorderStyle", "_EPDFAnnot_SetCalloutLine", "_EPDFAnnot_SetColor", "_EPDFAnnot_SetDefaultAppearance", "_EPDFAnnot_SetDefaultAppearanceDocumentFont", "_EPDFAnnot_SetDefaultAppearanceRegisteredFont", "_EPDFAnnot_SetEmbedMetadataBoolean", "_EPDFAnnot_SetEmbedMetadataJSON", "_EPDFAnnot_SetEmbedMetadataNumber", "_EPDFAnnot_SetEmbedMetadataRect", "_EPDFAnnot_SetEmbedMetadataString", "_EPDFAnnot_SetEventAction", "_EPDFAnnot_SetIntent", "_EPDFAnnot_SetLine", "_EPDFAnnot_SetLineCaption", "_EPDFAnnot_SetLineEndings", "_EPDFAnnot_SetLineLeader", "_EPDFAnnot_SetLinkedAnnot", "_EPDFAnnot_SetMKColor", "_EPDFAnnot_SetMKRotation", "_EPDFAnnot_SetMKText", "_EPDFAnnot_SetMKTextPosition", "_EPDFAnnot_SetName", "_EPDFAnnot_SetNoColor", "_EPDFAnnot_SetNumberValue", "_EPDFAnnot_SetOpacity", "_EPDFAnnot_SetOverlayText", "_EPDFAnnot_SetOverlayTextRepeat", "_EPDFAnnot_SetRect", "_EPDFAnnot_SetReplyType", "_EPDFAnnot_SetRichTextJSON", "_EPDFAnnot_SetRichTextXHTML", "_EPDFAnnot_SetRotate", "_EPDFAnnot_SetShapeCaption", "_EPDFAnnot_SetStampDrawing", "_EPDFAnnot_SetStampOpacity", "_EPDFAnnot_SetSubtype", "_EPDFAnnot_SetTextAlignment", "_EPDFAnnot_SetVertices", "_EPDFAnnot_UpdateAppearanceToRect", "_EPDFAttachment_ExportCanonicalToOwnedBuffer", "_EPDFAttachment_ExportRawToOwnedBuffer", "_EPDFAttachment_ExtractFile", "_EPDFAttachment_ExtractFileToOwnedBuffer", "_EPDFAttachment_GetDescription", "_EPDFAttachment_GetIntegerValue", "_EPDFAttachment_ImportRaw", "_EPDFAttachment_SetDescription", "_EPDFAttachment_SetName", "_EPDFAttachment_SetSubtype", "_EPDFCatalog_GetLanguage", "_EPDFCatalog_GetMetadata", "_EPDFCatalog_SetMetadata", "_EPDFDest_CreateRemoteView", "_EPDFDest_CreateRemoteXYZ", "_EPDFDest_CreateView", "_EPDFDest_CreateViewByObjectNumber", "_EPDFDest_CreateXYZ", "_EPDFDest_CreateXYZByObjectNumber", "_EPDFDest_GetPageObjectNumber", "_EPDFDest_GetViewNullParams", "_EPDFDoc_CanonicalDrawing", "_EPDFDoc_ClearMissingCharacters", "_EPDFDoc_ClearPagePieceInfoEntry", "_EPDFDoc_ClearPagePieceInfoKey", "_EPDFDoc_ClearPieceInfoEntry", "_EPDFDoc_ClearPieceInfoKey", "_EPDFDoc_CompareRevisions", "_EPDFDoc_CountMissingCharacters", "_EPDFDoc_DeletePageByObjectNumber", "_EPDFDoc_ExportDictCanonicalToOwnedBuffer", "_EPDFDoc_ExportDictRawToOwnedBuffer", "_EPDFDoc_ExportDrawing", "_EPDFDoc_ExportPagesFlattened", "_EPDFDoc_GetAdditionalActionModel", "_EPDFDoc_GetAttachmentIndexByKey", "_EPDFDoc_GetAttachmentKey", "_EPDFDoc_GetBaseBytesSize", "_EPDFDoc_GetFontDisplayProgramCoverage", "_EPDFDoc_GetFontDisplayProgramData", "_EPDFDoc_GetFontEmbeddingPolicy", "_EPDFDoc_GetFontProgramData", "_EPDFDoc_GetFontsFingerprint", "_EPDFDoc_GetImportFieldRoots", "_EPDFDoc_GetLastModified", "_EPDFDoc_GetLoadedBytesSize", "_EPDFDoc_GetMissingCharacter", "_EPDFDoc_GetNamedJavaScriptActionModel", "_EPDFDoc_GetNamedPageAt", "_EPDFDoc_GetNamedPageCount", "_EPDFDoc_GetOpenActionDest", "_EPDFDoc_GetOpenActionModel", "_EPDFDoc_GetPageActionModel", "_EPDFDoc_GetPageLabelSectionAt", "_EPDFDoc_GetPageLabelSectionCount", "_EPDFDoc_GetPageLastModified", "_EPDFDoc_GetPageObjectNumberByIndex", "_EPDFDoc_GetPagePieceInfoBoolean", "_EPDFDoc_GetPagePieceInfoEntryAt", "_EPDFDoc_GetPagePieceInfoEntryCount", "_EPDFDoc_GetPagePieceInfoKeyAt", "_EPDFDoc_GetPagePieceInfoKeyCount", "_EPDFDoc_GetPagePieceInfoLastModified", "_EPDFDoc_GetPagePieceInfoName", "_EPDFDoc_GetPagePieceInfoNumber", "_EPDFDoc_GetPagePieceInfoString", "_EPDFDoc_GetPagePieceInfoStringArrayAt", "_EPDFDoc_GetPagePieceInfoStringArrayCount", "_EPDFDoc_GetPagePieceInfoValueType", "_EPDFDoc_GetPieceInfoBoolean", "_EPDFDoc_GetPieceInfoEntryAt", "_EPDFDoc_GetPieceInfoEntryCount", "_EPDFDoc_GetPieceInfoKeyAt", "_EPDFDoc_GetPieceInfoKeyCount", "_EPDFDoc_GetPieceInfoLastModified", "_EPDFDoc_GetPieceInfoName", "_EPDFDoc_GetPieceInfoNumber", "_EPDFDoc_GetPieceInfoString", "_EPDFDoc_GetPieceInfoStringArrayAt", "_EPDFDoc_GetPieceInfoStringArrayCount", "_EPDFDoc_GetPieceInfoValueType", "_EPDFDoc_GetRevision", "_EPDFDoc_GetRevisionCount", "_EPDFDoc_GetStampDrawings", "_EPDFDoc_GetStructureObjectNumbers", "_EPDFDoc_GetTypographicFeatures", "_EPDFDoc_HasPagePieceInfoEntry", "_EPDFDoc_HasPieceInfoEntry", "_EPDFDoc_ImportDictRaw", "_EPDFDoc_ImportDrawing", "_EPDFDoc_ImportPages", "_EPDFDoc_LoadPageByObjectNumber", "_EPDFDoc_LoadPageByObjectNumberNormalized", "_EPDFDoc_OpenBaseOverlay", "_EPDFDoc_OpenBaseOverlayFromPath", "_EPDFDoc_OpenRevision", "_EPDFDoc_ReadLoadedBytes", "_EPDFDoc_RemoveNamedPage", "_EPDFDoc_RemoveNamedPagesForPage", "_EPDFDoc_ResolveFonts", "_EPDFDoc_SetFontEmbeddingPolicy", "_EPDFDoc_SetNamedPage", "_EPDFDoc_SetPageLabelSections", "_EPDFDoc_SetPagePieceInfoBoolean", "_EPDFDoc_SetPagePieceInfoName", "_EPDFDoc_SetPagePieceInfoNumber", "_EPDFDoc_SetPagePieceInfoString", "_EPDFDoc_SetPagePieceInfoStringArray", "_EPDFDoc_SetPageRotationByObjectNumber", "_EPDFDoc_SetPieceInfoBoolean", "_EPDFDoc_SetPieceInfoName", "_EPDFDoc_SetPieceInfoNumber", "_EPDFDoc_SetPieceInfoString", "_EPDFDoc_SetPieceInfoStringArray", "_EPDFDoc_SetTypographicFeatures", "_EPDFDoc_StartLoadPageByObjectNumber", "_EPDFDocument_ClearEmbedMetadata", "_EPDFFont_AddFallbackFont", "_EPDFFont_AuthorizeEditing", "_EPDFFont_ClearFallbackFonts", "_EPDFFont_ClearRegisteredFonts", "_EPDFFont_GetCoverage", "_EPDFFont_GetEmbeddingPermission", "_EPDFFont_GetFallbackOrder", "_EPDFFont_GetFamilyName", "_EPDFFont_GetLastResortFont", "_EPDFFont_GetMetrics", "_EPDFFont_GetPostScriptName", "_EPDFFont_GetProgramData", "_EPDFFont_GetProgramFormat", "_EPDFFont_GetProgramHash", "_EPDFFont_GetWeight", "_EPDFFont_IsEditingAuthorized", "_EPDFFont_IsInstanced", "_EPDFFont_IsItalic", "_EPDFFont_RegisterFont", "_EPDFFont_RegisterMemFont", "_EPDFFont_RegisterMemFont64", "_EPDFFont_SetLastResortFont", "_EPDFFontFaces_Close", "_EPDFFontFaces_Count", "_EPDFFontFaces_CountPrograms", "_EPDFFontFaces_GetFamily", "_EPDFFontFaces_GetProgramDisplayHash", "_EPDFFontFaces_GetProgramEmbedded", "_EPDFFontFaces_GetProgramEmbeddingPermission", "_EPDFFontFaces_GetProgramFormat", "_EPDFFontFaces_GetProgramHash", "_EPDFFontFaces_GetProgramMetrics", "_EPDFFontFaces_GetProgramObjNum", "_EPDFFontFaces_GetProgramPostScriptName", "_EPDFFontFaces_GetWeight", "_EPDFFontFaces_IsItalic", "_EPDFFontFaces_Load", "_EPDFFontFaces_ProgramMapsUnicode", "_EPDFFontResolution_Close", "_EPDFFontResolution_CountMissingCharacters", "_EPDFFontResolution_GetBaseFontName", "_EPDFFontResolution_GetFallbacks", "_EPDFFontResolution_GetFamily", "_EPDFFontResolution_GetMissingCharacter", "_EPDFFontResolution_GetProgramDisplayHash", "_EPDFFontResolution_GetProgramObjNum", "_EPDFFontResolution_GetRegisteredFont", "_EPDFFontResolution_GetSource", "_EPDFFontResolution_GetWeight", "_EPDFFontResolution_IsDegraded", "_EPDFFontResolution_IsItalic", "_EPDFForm_AttachWidget", "_EPDFForm_ClearFieldEmbedMetadata", "_EPDFForm_ClearFieldEmbedMetadataKey", "_EPDFForm_CloseModel", "_EPDFForm_CountCalculationOrder", "_EPDFForm_CountFieldDefaultValues", "_EPDFForm_CountFieldOptions", "_EPDFForm_CountFields", "_EPDFForm_CountFieldValues", "_EPDFForm_CountFieldWidgets", "_EPDFForm_CreateField", "_EPDFForm_DeleteField", "_EPDFForm_DetachWidget", "_EPDFForm_ExportFDF", "_EPDFForm_ExportFieldRawToOwnedBuffer", "_EPDFForm_ExportXFDF", "_EPDFForm_GetCalculationOrderFieldIndex", "_EPDFForm_GetFieldActionModel", "_EPDFForm_GetFieldAlternateName", "_EPDFForm_GetFieldDefaultValueAt", "_EPDFForm_GetFieldDefaultValueKind", "_EPDFForm_GetFieldEmbedMetadataBoolean", "_EPDFForm_GetFieldEmbedMetadataJSON", "_EPDFForm_GetFieldEmbedMetadataNumber", "_EPDFForm_GetFieldEmbedMetadataString", "_EPDFForm_GetFieldFamily", "_EPDFForm_GetFieldFlags", "_EPDFForm_GetFieldIndexByObjNum", "_EPDFForm_GetFieldIndexForWidget", "_EPDFForm_GetFieldMappingName", "_EPDFForm_GetFieldMaxLen", "_EPDFForm_GetFieldName", "_EPDFForm_GetFieldObjNum", "_EPDFForm_GetFieldOptionLabel", "_EPDFForm_GetFieldOptionValue", "_EPDFForm_GetFieldOrigin", "_EPDFForm_GetFieldPartialName", "_EPDFForm_GetFieldTopIndex", "_EPDFForm_GetFieldValueAt", "_EPDFForm_GetFieldValueKind", "_EPDFForm_GetFieldWidgetExportValue", "_EPDFForm_GetFieldWidgetObjNum", "_EPDFForm_GetFieldWidgetOnState", "_EPDFForm_GetFieldWidgetPageObjNum", "_EPDFForm_GetFieldWidgetRect", "_EPDFForm_GetFormKind", "_EPDFForm_GetNeedAppearances", "_EPDFForm_HasFieldEmbedMetadata", "_EPDFForm_ImportFieldRaw", "_EPDFForm_IsFieldOptionSelected", "_EPDFForm_IsFieldWidgetChecked", "_EPDFForm_LoadModel", "_EPDFForm_RedrawFieldWidgets", "_EPDFForm_Repair", "_EPDFForm_SetCalculationOrder", "_EPDFForm_SetFieldAlternateName", "_EPDFForm_SetFieldAppearanceText", "_EPDFForm_SetFieldDefaultValue", "_EPDFForm_SetFieldDisplay", "_EPDFForm_SetFieldEmbedMetadataBoolean", "_EPDFForm_SetFieldEmbedMetadataJSON", "_EPDFForm_SetFieldEmbedMetadataNumber", "_EPDFForm_SetFieldEmbedMetadataString", "_EPDFForm_SetFieldEventAction", "_EPDFForm_SetFieldFlags", "_EPDFForm_SetFieldMappingName", "_EPDFForm_SetFieldMaxLen", "_EPDFForm_SetFieldName", "_EPDFForm_SetFieldOptions", "_EPDFForm_SetFieldSelectedIndices", "_EPDFForm_SetFieldValue", "_EPDFForm_SetFieldWidgetsChecked", "_EPDFImageObj_SetJpeg", "_EPDFImageObj_SetPng", "_EPDFLayer_AbortTransaction", "_EPDFLayer_BeginTransaction", "_EPDFLayer_CommitTransaction", "_EPDFLayer_GetBaseDocument", "_EPDFLayer_GetBaseSha256", "_EPDFLayer_GetBirthName", "_EPDFLayer_GetBirthObjectNumber", "_EPDFLayer_GetLastObjectNumber", "_EPDFLayer_GetPromotedObjectCount", "_EPDFLayer_IsInTransaction", "_EPDFLayer_IsObjectPromoted", "_EPDFLayer_IsPagePromoted", "_EPDFLayer_OpenLayer", "_EPDFLayer_OpenLayerArtifact", "_EPDFLayer_OpenLayerArtifactFromPath", "_EPDFLayer_RaiseLastObjectNumber", "_EPDFLayer_SaveDelta", "_EPDFLayer_SaveDeltaEx", "_EPDFLayer_SaveDeltaToOwnedBuffer", "_EPDFLayer_SaveDeltaToOwnedBufferEx", "_EPDFLayer_SaveLayerArtifact", "_EPDFLayer_SaveLayerArtifactEx", "_EPDFLayer_SaveLayerArtifactToOwnedBuffer", "_EPDFLayer_SaveLayerArtifactToOwnedBufferEx", "_EPDFMeasure_AddFormat", "_EPDFMeasure_CountFormats", "_EPDFMeasure_GetCYX", "_EPDFMeasure_GetFormat", "_EPDFMeasure_GetOrigin", "_EPDFMeasure_GetRatio", "_EPDFMeasure_GetSubtype", "_EPDFMeasure_RemoveFormats", "_EPDFMeasure_SetCYX", "_EPDFMeasure_SetOrigin", "_EPDFMeasure_SetRatio", "_EPDFNamedDest_Remove", "_EPDFNamedDest_SetDest", "_EPDFNumberFormat_GetConversion", "_EPDFNumberFormat_GetFixedDenominator", "_EPDFNumberFormat_GetFraction", "_EPDFNumberFormat_GetLabelPosition", "_EPDFNumberFormat_GetPrecision", "_EPDFNumberFormat_GetText", "_EPDFNumberFormat_GetUnit", "_EPDFNumberFormat_SetConversion", "_EPDFNumberFormat_SetFixedDenominator", "_EPDFNumberFormat_SetFraction", "_EPDFNumberFormat_SetLabelPosition", "_EPDFNumberFormat_SetPrecision", "_EPDFNumberFormat_SetText", "_EPDFNumberFormat_SetUnit", "_EPDFObjectDiff_Close", "_EPDFObjectDiff_GetCount", "_EPDFObjectDiff_GetEntry", "_EPDFObjectDiff_GetReadStatus", "_EPDFObjectDiff_GetReferrer", "_EPDFObjectDiff_GetReferrerCount", "_EPDFObjectDiff_GetRevisionHealth", "_EPDFObjectDiff_GetValue", "_EPDFOutline_CreateItem", "_EPDFOutline_DeleteItem", "_EPDFOutline_ExportItemRawToOwnedBuffer", "_EPDFOutline_GetItem", "_EPDFOutline_GetObjectNumber", "_EPDFOutline_ImportItemRaw", "_EPDFOutline_MoveItem", "_EPDFOutline_SetAction", "_EPDFOutline_SetColor", "_EPDFOutline_SetOpen", "_EPDFOutline_SetStyle", "_EPDFOutline_SetTitle", "_EPDFPage_AddViewport", "_EPDFPage_ApplyRedactions", "_EPDFPage_ContinueLoad", "_EPDFPage_CountViewports", "_EPDFPage_CreateAnnot", "_EPDFPage_CreateAnnotRaw", "_EPDFPage_ExportAnnotationsAsDocument", "_EPDFPage_ExportAnnotsRawToOwnedBuffer", "_EPDFPage_ExportRawToOwnedBuffer", "_EPDFPage_FindViewport", "_EPDFPage_Flatten", "_EPDFPage_FlattenAnnotations", "_EPDFPage_GetAnnotByName", "_EPDFPage_GetAnnotByObjectNumber", "_EPDFPage_GetAnnotCountRaw", "_EPDFPage_GetAnnotIndexByNameRaw", "_EPDFPage_GetAnnotIndexByObjectNumberRaw", "_EPDFPage_GetAnnotRaw", "_EPDFPage_GetObjectNumber", "_EPDFPage_GetParsedSize", "_EPDFPage_GetViewport", "_EPDFPage_ImportAnnotsRaw", "_EPDFPage_ImportRaw", "_EPDFPage_InsertBlankRaw", "_EPDFPage_IsContentCurrent", "_EPDFPage_IsValid", "_EPDFPage_MoveAnnots", "_EPDFPage_MoveAnnotsRaw", "_EPDFPage_PromoteInlineAnnotsRaw", "_EPDFPage_RemoveAnnot", "_EPDFPage_RemoveAnnotByName", "_EPDFPage_RemoveAnnotByObjectNumber", "_EPDFPage_RemoveAnnotRaw", "_EPDFPage_RemoveViewport", "_EPDFPage_ResetRenderCache", "_EPDFSig_CloseModel", "_EPDFSig_Count", "_EPDFSig_DigestByteRange", "_EPDFSig_DigestFileRange", "_EPDFSig_GetByteRange", "_EPDFSig_GetContents", "_EPDFSig_GetCoverage", "_EPDFSig_GetDocMDPPermission", "_EPDFSig_GetFieldMDPAction", "_EPDFSig_GetFieldName", "_EPDFSig_GetFieldNameAt", "_EPDFSig_GetFieldNameCount", "_EPDFSig_GetFieldObjNum", "_EPDFSig_GetIndexByFieldObjNum", "_EPDFSig_GetKind", "_EPDFSig_GetLockAction", "_EPDFSig_GetLockPermission", "_EPDFSig_GetRevisionIndex", "_EPDFSig_GetSeedValueFilter", "_EPDFSig_GetSeedValueListAt", "_EPDFSig_GetSeedValueListCount", "_EPDFSig_GetSeedValueMDP", "_EPDFSig_GetSeedValuePresentFlags", "_EPDFSig_GetSeedValueRequiredFlags", "_EPDFSig_GetSeedValueVersion", "_EPDFSig_GetString", "_EPDFSig_GetValueObjNum", "_EPDFSig_GetWidgetObjNum", "_EPDFSig_GetWidgetPageObjNum", "_EPDFSig_HasSeedValue", "_EPDFSig_IsCatalogCertification", "_EPDFSig_IsRevisionChainValid", "_EPDFSig_IsSigned", "_EPDFSig_LoadModel", "_EPDFSig_Prepare", "_EPDFSig_SaveCandidate", "_EPDFSig_SaveCandidateToOwnedBuffer", "_EPDFSig_Seal", "_EPDFSig_SealSpan", "_EPDFSig_SetFieldLock", "_EPDFSig_WriteContents", "_EPDFText_GetCharGeometry", "_EPDFText_GetCharToTextMap", "_EPDFText_GetTextFull", "_EPDFText_RedactInQuads", "_EPDFText_RedactInRect", "_EPDFViewport_AddMeasure", "_EPDFViewport_GetBBox", "_EPDFViewport_GetMeasure", "_EPDFViewport_GetName", "_EPDFViewport_RemoveMeasure", "_EPDFViewport_SetBBox", "_EPDFViewport_SetName", "_FORM_CanRedo", "_FORM_CanUndo", "_FORM_DoDocumentAAction", "_FORM_DoDocumentJSAction", "_FORM_DoDocumentOpenAction", "_FORM_DoPageAAction", "_FORM_ForceToKillFocus", "_FORM_GetFocusedAnnot", "_FORM_GetFocusedText", "_FORM_GetSelectedText", "_FORM_GetTextDirection", "_FORM_IsIndexSelected", "_FORM_OnAfterLoadPage", "_FORM_OnBeforeClosePage", "_FORM_OnChar", "_FORM_OnFocus", "_FORM_OnKeyDown", "_FORM_OnKeyUp", "_FORM_OnLButtonDoubleClick", "_FORM_OnLButtonDown", "_FORM_OnLButtonUp", "_FORM_OnMouseMove", "_FORM_OnMouseWheel", "_FORM_OnRButtonDown", "_FORM_OnRButtonUp", "_FORM_Redo", "_FORM_ReplaceAndKeepSelection", "_FORM_ReplaceSelection", "_FORM_SelectAllText", "_FORM_SetFocusedAnnot", "_FORM_SetIndexSelected", "_FORM_SetTextDirection", "_FORM_Undo", "_FPDF_AddInstalledFont", "_FPDF_CloseDocument", "_FPDF_ClosePage", "_FPDF_CloseXObject", "_FPDF_CopyViewerPreferences", "_FPDF_CountNamedDests", "_FPDF_CreateClipPath", "_FPDF_CreateNewDocument", "_FPDF_DestroyClipPath", "_FPDF_DestroyLibrary", "_FPDF_DeviceToPage", "_FPDF_DocumentHasValidCrossReferenceTable", "_FPDF_FFLDraw", "_FPDF_FreeDefaultSystemFontInfo", "_FPDF_GetDefaultSystemFontInfo", "_FPDF_GetDefaultTTFMap", "_FPDF_GetDefaultTTFMapCount", "_FPDF_GetDefaultTTFMapEntry", "_FPDF_GetDocPermissions", "_FPDF_GetDocUserPermissions", "_FPDF_GetFileIdentifier", "_FPDF_GetFileVersion", "_FPDF_GetFormType", "_FPDF_GetLastError", "_FPDF_GetMetaText", "_FPDF_GetNamedDest", "_FPDF_GetNamedDestByName", "_FPDF_GetPageAAction", "_FPDF_GetPageBoundingBox", "_FPDF_GetPageCount", "_FPDF_GetPageHeight", "_FPDF_GetPageHeightF", "_FPDF_GetPageLabel", "_FPDF_GetPageSizeByIndex", "_FPDF_GetPageSizeByIndexF", "_FPDF_GetPageWidth", "_FPDF_GetPageWidthF", "_FPDF_GetSecurityHandlerRevision", "_FPDF_GetSignatureCount", "_FPDF_GetSignatureObject", "_FPDF_GetTrailerEnds", "_FPDF_GetXFAPacketContent", "_FPDF_GetXFAPacketCount", "_FPDF_GetXFAPacketName", "_FPDF_ImportNPagesToOne", "_FPDF_ImportPages", "_FPDF_ImportPagesByIndex", "_FPDF_InitLibrary", "_FPDF_InitLibraryWithConfig", "_FPDF_LoadCustomDocument", "_FPDF_LoadDocument", "_FPDF_LoadMemDocument", "_FPDF_LoadMemDocument64", "_FPDF_LoadPage", "_FPDF_LoadXFA", "_FPDF_MovePages", "_FPDF_NewFormObjectFromXObject", "_FPDF_NewXObjectFromPage", "_FPDF_PageToDevice", "_FPDF_RemoveFormFieldHighlight", "_FPDF_RenderPage_Close", "_FPDF_RenderPage_Continue", "_FPDF_RenderPageBitmap", "_FPDF_RenderPageBitmap_Start", "_FPDF_RenderPageBitmapWithColorScheme_Start", "_FPDF_RenderPageBitmapWithMatrix", "_FPDF_SaveAsCopy", "_FPDF_SaveWithVersion", "_FPDF_SetFormFieldHighlightAlpha", "_FPDF_SetFormFieldHighlightColor", "_FPDF_SetSandBoxPolicy", "_FPDF_SetSystemFontInfo", "_FPDF_StructElement_Attr_CountChildren", "_FPDF_StructElement_Attr_GetBlobValue", "_FPDF_StructElement_Attr_GetBooleanValue", "_FPDF_StructElement_Attr_GetChildAtIndex", "_FPDF_StructElement_Attr_GetCount", "_FPDF_StructElement_Attr_GetName", "_FPDF_StructElement_Attr_GetNumberValue", "_FPDF_StructElement_Attr_GetStringValue", "_FPDF_StructElement_Attr_GetType", "_FPDF_StructElement_Attr_GetValue", "_FPDF_StructElement_CountChildren", "_FPDF_StructElement_GetActualText", "_FPDF_StructElement_GetAltText", "_FPDF_StructElement_GetAttributeAtIndex", "_FPDF_StructElement_GetAttributeCount", "_FPDF_StructElement_GetChildAtIndex", "_FPDF_StructElement_GetChildMarkedContentID", "_FPDF_StructElement_GetExpansion", "_FPDF_StructElement_GetID", "_FPDF_StructElement_GetLang", "_FPDF_StructElement_GetMarkedContentID", "_FPDF_StructElement_GetMarkedContentIdAtIndex", "_FPDF_StructElement_GetMarkedContentIdCount", "_FPDF_StructElement_GetObjType", "_FPDF_StructElement_GetParent", "_FPDF_StructElement_GetRawType", "_FPDF_StructElement_GetStringAttribute", "_FPDF_StructElement_GetTitle", "_FPDF_StructElement_GetType", "_FPDF_StructTree_Close", "_FPDF_StructTree_CountChildren", "_FPDF_StructTree_GetChildAtIndex", "_FPDF_StructTree_GetForPage", "_FPDF_VIEWERREF_GetDuplex", "_FPDF_VIEWERREF_GetName", "_FPDF_VIEWERREF_GetNumCopies", "_FPDF_VIEWERREF_GetPrintPageRange", "_FPDF_VIEWERREF_GetPrintPageRangeCount", "_FPDF_VIEWERREF_GetPrintPageRangeElement", "_FPDF_VIEWERREF_GetPrintScaling", "_FPDFAction_GetDest", "_FPDFAction_GetFilePath", "_FPDFAction_GetType", "_FPDFAction_GetURIPath", "_FPDFAnnot_AddFileAttachment", "_FPDFAnnot_AddInkStroke", "_FPDFAnnot_AppendAttachmentPoints", "_FPDFAnnot_AppendObject", "_FPDFAnnot_CountAttachmentPoints", "_FPDFAnnot_GetAP", "_FPDFAnnot_GetAttachmentPoints", "_FPDFAnnot_GetBorder", "_FPDFAnnot_GetColor", "_FPDFAnnot_GetFileAttachment", "_FPDFAnnot_GetFlags", "_FPDFAnnot_GetFocusableSubtypes", "_FPDFAnnot_GetFocusableSubtypesCount", "_FPDFAnnot_GetFontColor", "_FPDFAnnot_GetFontSize", "_FPDFAnnot_GetFormAdditionalActionJavaScript", "_FPDFAnnot_GetFormControlCount", "_FPDFAnnot_GetFormControlIndex", "_FPDFAnnot_GetFormFieldAlternateName", "_FPDFAnnot_GetFormFieldAtPoint", "_FPDFAnnot_GetFormFieldExportValue", "_FPDFAnnot_GetFormFieldFlags", "_FPDFAnnot_GetFormFieldName", "_FPDFAnnot_GetFormFieldType", "_FPDFAnnot_GetFormFieldValue", "_FPDFAnnot_GetInkListCount", "_FPDFAnnot_GetInkListPath", "_FPDFAnnot_GetLine", "_FPDFAnnot_GetLink", "_FPDFAnnot_GetLinkedAnnot", "_FPDFAnnot_GetNumberValue", "_FPDFAnnot_GetObject", "_FPDFAnnot_GetObjectCount", "_FPDFAnnot_GetOptionCount", "_FPDFAnnot_GetOptionLabel", "_FPDFAnnot_GetRect", "_FPDFAnnot_GetStringValue", "_FPDFAnnot_GetSubtype", "_FPDFAnnot_GetValueType", "_FPDFAnnot_GetVertices", "_FPDFAnnot_HasAttachmentPoints", "_FPDFAnnot_HasKey", "_FPDFAnnot_IsChecked", "_FPDFAnnot_IsObjectSupportedSubtype", "_FPDFAnnot_IsOptionSelected", "_FPDFAnnot_IsSupportedSubtype", "_FPDFAnnot_RemoveInkList", "_FPDFAnnot_RemoveObject", "_FPDFAnnot_SetAP", "_FPDFAnnot_SetAttachmentPoints", "_FPDFAnnot_SetBorder", "_FPDFAnnot_SetColor", "_FPDFAnnot_SetFlags", "_FPDFAnnot_SetFocusableSubtypes", "_FPDFAnnot_SetFontColor", "_FPDFAnnot_SetFormFieldFlags", "_FPDFAnnot_SetRect", "_FPDFAnnot_SetStringValue", "_FPDFAnnot_SetURI", "_FPDFAnnot_UpdateObject", "_FPDFAttachment_GetAFRelationship", "_FPDFAttachment_GetDescription", "_FPDFAttachment_GetFile", "_FPDFAttachment_GetName", "_FPDFAttachment_GetStringValue", "_FPDFAttachment_GetSubtype", "_FPDFAttachment_GetValueType", "_FPDFAttachment_HasKey", "_FPDFAttachment_SetDescription", "_FPDFAttachment_SetFile", "_FPDFAttachment_SetStringValue", "_FPDFAvail_Create", "_FPDFAvail_Destroy", "_FPDFAvail_GetDocument", "_FPDFAvail_GetFirstPageNum", "_FPDFAvail_IsDocAvail", "_FPDFAvail_IsFormAvail", "_FPDFAvail_IsLinearized", "_FPDFAvail_IsPageAvail", "_FPDFBitmap_Create", "_FPDFBitmap_CreateEx", "_FPDFBitmap_Destroy", "_FPDFBitmap_FillRect", "_FPDFBitmap_GetBuffer", "_FPDFBitmap_GetFormat", "_FPDFBitmap_GetHeight", "_FPDFBitmap_GetStride", "_FPDFBitmap_GetWidth", "_FPDFBookmark_Find", "_FPDFBookmark_GetAction", "_FPDFBookmark_GetColor", "_FPDFBookmark_GetCount", "_FPDFBookmark_GetDest", "_FPDFBookmark_GetFirstChild", "_FPDFBookmark_GetNextSibling", "_FPDFBookmark_GetStyle", "_FPDFBookmark_GetTitle", "_FPDFCatalog_GetLanguage", "_FPDFCatalog_IsTagged", "_FPDFCatalog_SetLanguage", "_FPDFClipPath_CountPaths", "_FPDFClipPath_CountPathSegments", "_FPDFClipPath_GetPathSegment", "_FPDFDest_GetDestPageIndex", "_FPDFDest_GetLocationInPage", "_FPDFDest_GetView", "_FPDFDoc_AddAttachment", "_FPDFDoc_CloseJavaScriptAction", "_FPDFDoc_DeleteAttachment", "_FPDFDOC_ExitFormFillEnvironment", "_FPDFDoc_GetAttachment", "_FPDFDoc_GetAttachmentCount", "_FPDFDoc_GetJavaScriptAction", "_FPDFDoc_GetJavaScriptActionCount", "_FPDFDoc_GetPageMode", "_FPDFDOC_InitFormFillEnvironment", "_FPDFFont_Close", "_FPDFFont_GetAscent", "_FPDFFont_GetBaseFontName", "_FPDFFont_GetDescent", "_FPDFFont_GetFamilyName", "_FPDFFont_GetFlags", "_FPDFFont_GetFontData", "_FPDFFont_GetGlyphPath", "_FPDFFont_GetGlyphWidth", "_FPDFFont_GetIsEmbedded", "_FPDFFont_GetItalicAngle", "_FPDFFont_GetWeight", "_FPDFFormObj_CountObjects", "_FPDFFormObj_GetObject", "_FPDFFormObj_RemoveObject", "_FPDFGlyphPath_CountGlyphSegments", "_FPDFGlyphPath_GetGlyphPathSegment", "_FPDFImageObj_GetBitmap", "_FPDFImageObj_GetIccProfileDataDecoded", "_FPDFImageObj_GetImageDataDecoded", "_FPDFImageObj_GetImageDataRaw", "_FPDFImageObj_GetImageFilter", "_FPDFImageObj_GetImageFilterCount", "_FPDFImageObj_GetImageMetadata", "_FPDFImageObj_GetImagePixelSize", "_FPDFImageObj_GetRenderedBitmap", "_FPDFImageObj_LoadJpegFile", "_FPDFImageObj_LoadJpegFileInline", "_FPDFImageObj_SetBitmap", "_FPDFImageObj_SetMatrix", "_FPDFJavaScriptAction_GetName", "_FPDFJavaScriptAction_GetScript", "_FPDFLink_CloseWebLinks", "_FPDFLink_CountQuadPoints", "_FPDFLink_CountRects", "_FPDFLink_CountWebLinks", "_FPDFLink_Enumerate", "_FPDFLink_GetAction", "_FPDFLink_GetAnnot", "_FPDFLink_GetAnnotRect", "_FPDFLink_GetDest", "_FPDFLink_GetLinkAtPoint", "_FPDFLink_GetLinkZOrderAtPoint", "_FPDFLink_GetQuadPoints", "_FPDFLink_GetRect", "_FPDFLink_GetTextRange", "_FPDFLink_GetURL", "_FPDFLink_LoadWebLinks", "_FPDFPage_CloseAnnot", "_FPDFPage_CountObjects", "_FPDFPage_CreateAnnot", "_FPDFPage_Delete", "_FPDFPage_Flatten", "_FPDFPage_FormFieldZOrderAtPoint", "_FPDFPage_GenerateContent", "_FPDFPage_GetAnnot", "_FPDFPage_GetAnnotCount", "_FPDFPage_GetAnnotIndex", "_FPDFPage_GetArtBox", "_FPDFPage_GetBleedBox", "_FPDFPage_GetCropBox", "_FPDFPage_GetDecodedThumbnailData", "_FPDFPage_GetMediaBox", "_FPDFPage_GetObject", "_FPDFPage_GetRawThumbnailData", "_FPDFPage_GetRotation", "_FPDFPage_GetThumbnailAsBitmap", "_FPDFPage_GetTrimBox", "_FPDFPage_HasFormFieldAtPoint", "_FPDFPage_HasTransparency", "_FPDFPage_InsertClipPath", "_FPDFPage_InsertObject", "_FPDFPage_InsertObjectAtIndex", "_FPDFPage_New", "_FPDFPage_RemoveAnnot", "_FPDFPage_RemoveObject", "_FPDFPage_SetArtBox", "_FPDFPage_SetBleedBox", "_FPDFPage_SetCropBox", "_FPDFPage_SetMediaBox", "_FPDFPage_SetRotation", "_FPDFPage_SetTrimBox", "_FPDFPage_TransformAnnots", "_FPDFPage_TransFormWithClip", "_FPDFPageObj_AddExistingMark", "_FPDFPageObj_AddMark", "_FPDFPageObj_CountMarks", "_FPDFPageObj_CreateNewPath", "_FPDFPageObj_CreateNewRect", "_FPDFPageObj_CreateTextObj", "_FPDFPageObj_Destroy", "_FPDFPageObj_GetBounds", "_FPDFPageObj_GetClipPath", "_FPDFPageObj_GetDashArray", "_FPDFPageObj_GetDashCount", "_FPDFPageObj_GetDashPhase", "_FPDFPageObj_GetFillColor", "_FPDFPageObj_GetIsActive", "_FPDFPageObj_GetLineCap", "_FPDFPageObj_GetLineJoin", "_FPDFPageObj_GetMark", "_FPDFPageObj_GetMarkedContentID", "_FPDFPageObj_GetMatrix", "_FPDFPageObj_GetRenderedFillPattern", "_FPDFPageObj_GetRenderedStrokePattern", "_FPDFPageObj_GetRotatedBounds", "_FPDFPageObj_GetStrokeColor", "_FPDFPageObj_GetStrokeWidth", "_FPDFPageObj_GetType", "_FPDFPageObj_HasTransparency", "_FPDFPageObj_NewImageObj", "_FPDFPageObj_NewTextObj", "_FPDFPageObj_RemoveMark", "_FPDFPageObj_SetBlendMode", "_FPDFPageObj_SetDashArray", "_FPDFPageObj_SetDashPhase", "_FPDFPageObj_SetFillColor", "_FPDFPageObj_SetIsActive", "_FPDFPageObj_SetLineCap", "_FPDFPageObj_SetLineJoin", "_FPDFPageObj_SetMatrix", "_FPDFPageObj_SetStrokeColor", "_FPDFPageObj_SetStrokeWidth", "_FPDFPageObj_Transform", "_FPDFPageObj_TransformClipPath", "_FPDFPageObj_TransformF", "_FPDFPageObjMark_CountParams", "_FPDFPageObjMark_GetName", "_FPDFPageObjMark_GetParamBlobValue", "_FPDFPageObjMark_GetParamFloatValue", "_FPDFPageObjMark_GetParamIntValue", "_FPDFPageObjMark_GetParamKey", "_FPDFPageObjMark_GetParamStringValue", "_FPDFPageObjMark_GetParamValueType", "_FPDFPageObjMark_RemoveParam", "_FPDFPageObjMark_SetBlobParam", "_FPDFPageObjMark_SetFloatParam", "_FPDFPageObjMark_SetIntParam", "_FPDFPageObjMark_SetStringParam", "_FPDFPath_BezierTo", "_FPDFPath_Close", "_FPDFPath_CountSegments", "_FPDFPath_GetBezierControlPoints", "_FPDFPath_GetDrawMode", "_FPDFPath_GetPathSegment", "_FPDFPath_LineTo", "_FPDFPath_MoveTo", "_FPDFPath_SetDrawMode", "_FPDFPathSegment_GetClose", "_FPDFPathSegment_GetPoint", "_FPDFPathSegment_GetType", "_FPDFSignatureObj_GetByteRange", "_FPDFSignatureObj_GetContents", "_FPDFSignatureObj_GetDocMDPPermission", "_FPDFSignatureObj_GetReason", "_FPDFSignatureObj_GetSubFilter", "_FPDFSignatureObj_GetTime", "_FPDFText_ClosePage", "_FPDFText_CountChars", "_FPDFText_CountRects", "_FPDFText_FindClose", "_FPDFText_FindNext", "_FPDFText_FindPrev", "_FPDFText_FindStart", "_FPDFText_GetBoundedText", "_FPDFText_GetCharAngle", "_FPDFText_GetCharBox", "_FPDFText_GetCharIndexAtPos", "_FPDFText_GetCharIndexFromTextIndex", "_FPDFText_GetCharOrigin", "_FPDFText_GetFillColor", "_FPDFText_GetFontInfo", "_FPDFText_GetFontSize", "_FPDFText_GetFontWeight", "_FPDFText_GetLooseCharBox", "_FPDFText_GetMatrix", "_FPDFText_GetRect", "_FPDFText_GetSchCount", "_FPDFText_GetSchResultIndex", "_FPDFText_GetStrokeColor", "_FPDFText_GetText", "_FPDFText_GetTextIndexFromCharIndex", "_FPDFText_GetTextObject", "_FPDFText_GetUnicode", "_FPDFText_HasUnicodeMapError", "_FPDFText_IsGenerated", "_FPDFText_IsHyphen", "_FPDFText_LoadCidType2Font", "_FPDFText_LoadFont", "_FPDFText_LoadPage", "_FPDFText_LoadStandardFont", "_FPDFText_SetCharcodes", "_FPDFText_SetPositions", "_FPDFText_SetText", "_FPDFTextObj_GetFont", "_FPDFTextObj_GetFontSize", "_FPDFTextObj_GetRenderedBitmap", "_FPDFTextObj_GetText", "_FPDFTextObj_GetTextRenderMode", "_FPDFTextObj_SetFontSize", "_FPDFTextObj_SetTextRenderMode", "_malloc", "_free", "_memory", "___indirect_function_table", "onRuntimeInitialized"].forEach((p) => { + ["_EPDF_CheckPasswordPermissions", "_EPDF_DigestBuffer", "_EPDF_FreeBuffer", "_EPDF_GetDecodedImageBytes", "_EPDF_GetMetaKeyCount", "_EPDF_GetMetaKeyName", "_EPDF_GetMetaTrapped", "_EPDF_GetPageBoxByIndex", "_EPDF_GetPageRotateByIndex", "_EPDF_GetPageTabOrderByIndex", "_EPDF_GetPageUserUnitByIndex", "_EPDF_HasMetaText", "_EPDF_InitThread", "_EPDF_IsEncrypted", "_EPDF_IsOwnerUnlocked", "_EPDF_LoadBaseDocument", "_EPDF_LoadMemBaseDocument", "_EPDF_LoadMemBaseDocument64", "_EPDF_LoadPageNormalized", "_EPDF_PNG_EncodeRGBA", "_EPDF_ReleaseBaseDocument", "_EPDF_RemoveEncryption", "_EPDF_RenderAnnotBitmap", "_EPDF_RenderAnnotBitmapUnrotated", "_EPDF_RenderPage_Continue", "_EPDF_RenderPageBitmapWithMatrix_Start", "_EPDF_SaveAsCopyEx", "_EPDF_SaveDocumentToOwnedBuffer", "_EPDF_SaveDocumentToOwnedBufferEx", "_EPDF_SaveDocumentToOwnedBufferWithVersion", "_EPDF_SetBaseDocumentSha256", "_EPDF_SetDecodedImageBudget", "_EPDF_SetEncryption", "_EPDF_SetMetaText", "_EPDF_SetMetaTrapped", "_EPDF_SetRuntimeOwnerPermissions", "_EPDF_ShutdownThread", "_EPDF_UnlockOwnerPermissions", "_EPDFAction_CloseModel", "_EPDFAction_CreateGoTo", "_EPDFAction_CreateGoToNamed", "_EPDFAction_CreateHide", "_EPDFAction_CreateJavaScript", "_EPDFAction_CreateLaunch", "_EPDFAction_CreateNamed", "_EPDFAction_CreateRemoteGoToByName", "_EPDFAction_CreateRemoteGoToDest", "_EPDFAction_CreateResetForm", "_EPDFAction_CreateSubmitForm", "_EPDFAction_CreateURI", "_EPDFAction_GetNextAt", "_EPDFAction_GetNextCount", "_EPDFAction_GetNodeCount", "_EPDFAction_GetNodeDest", "_EPDFAction_GetNodeFilePath", "_EPDFAction_GetNodeHideFlag", "_EPDFAction_GetNodeJavaScript", "_EPDFAction_GetNodeName", "_EPDFAction_GetNodeResetForm", "_EPDFAction_GetNodeSubmitForm", "_EPDFAction_GetNodeSubmitFormCharSet", "_EPDFAction_GetNodeSubmitFormURL", "_EPDFAction_GetNodeSubtype", "_EPDFAction_GetNodeTargetCount", "_EPDFAction_GetNodeTargetName", "_EPDFAction_GetNodeTargetObjectNumber", "_EPDFAction_GetNodeType", "_EPDFAction_GetNodeURI", "_EPDFAction_GetNodeURIIsMap", "_EPDFAction_GetRootNode", "_EPDFAction_GetWarningFlags", "_EPDFAction_IsComplete", "_EPDFAction_LoadModel", "_EPDFAction_NodeHasJavaScript", "_EPDFAction_SetNext", "_EPDFAnnot_AddMeasure", "_EPDFAnnot_ClearBorderEffect", "_EPDFAnnot_ClearColor", "_EPDFAnnot_ClearEmbedMetadata", "_EPDFAnnot_ClearEmbedMetadataKey", "_EPDFAnnot_ClearMKColor", "_EPDFAnnot_ClearRectangleDifferences", "_EPDFAnnot_ExportAppearance", "_EPDFAnnot_GenerateAppearance", "_EPDFAnnot_GenerateAppearanceWithBlend", "_EPDFAnnot_GenerateFormFieldAP", "_EPDFAnnot_GetActionModel", "_EPDFAnnot_GetAPMatrix", "_EPDFAnnot_GetAppearanceState", "_EPDFAnnot_GetAppearanceStateCount", "_EPDFAnnot_GetAppearanceStateName", "_EPDFAnnot_GetAppearanceTransform", "_EPDFAnnot_GetAvailableAppearanceModes", "_EPDFAnnot_GetBlendMode", "_EPDFAnnot_GetBooleanValue", "_EPDFAnnot_GetBorderDashPattern", "_EPDFAnnot_GetBorderDashPatternCount", "_EPDFAnnot_GetBorderEffect", "_EPDFAnnot_GetBorderStyle", "_EPDFAnnot_GetCalloutLine", "_EPDFAnnot_GetCalloutLineCount", "_EPDFAnnot_GetColor", "_EPDFAnnot_GetDefaultAppearance", "_EPDFAnnot_GetDefaultAppearanceFontFace", "_EPDFAnnot_GetDefaultAppearanceFontPostScriptName", "_EPDFAnnot_GetDrawingRect", "_EPDFAnnot_GetEmbedMetadataBoolean", "_EPDFAnnot_GetEmbedMetadataJSON", "_EPDFAnnot_GetEmbedMetadataNumber", "_EPDFAnnot_GetEmbedMetadataRect", "_EPDFAnnot_GetEmbedMetadataString", "_EPDFAnnot_GetFileAttachmentForWrite", "_EPDFAnnot_GetIntent", "_EPDFAnnot_GetLineCaption", "_EPDFAnnot_GetLineEndings", "_EPDFAnnot_GetLineLeader", "_EPDFAnnot_GetMeasure", "_EPDFAnnot_GetMKColor", "_EPDFAnnot_GetMKRotation", "_EPDFAnnot_GetMKText", "_EPDFAnnot_GetMKTextPosition", "_EPDFAnnot_GetName", "_EPDFAnnot_GetObjectNumber", "_EPDFAnnot_GetOpacity", "_EPDFAnnot_GetOverlayText", "_EPDFAnnot_GetOverlayTextRepeat", "_EPDFAnnot_GetRect", "_EPDFAnnot_GetRectangleDifferences", "_EPDFAnnot_GetReplyType", "_EPDFAnnot_GetRichContent", "_EPDFAnnot_GetRichTextJSON", "_EPDFAnnot_GetRotate", "_EPDFAnnot_GetShapeCaption", "_EPDFAnnot_GetStampDrawing", "_EPDFAnnot_GetStructurePosition", "_EPDFAnnot_GetTextAlignment", "_EPDFAnnot_HasAppearanceStream", "_EPDFAnnot_HasEmbedMetadata", "_EPDFAnnot_IsValid", "_EPDFAnnot_RemoveAction", "_EPDFAnnot_RemoveDest", "_EPDFAnnot_RemoveKey", "_EPDFAnnot_RemoveMeasure", "_EPDFAnnot_SetAction", "_EPDFAnnot_SetAPMatrix", "_EPDFAnnot_SetAppearanceFromPage", "_EPDFAnnot_SetBooleanValue", "_EPDFAnnot_SetBorderDashPattern", "_EPDFAnnot_SetBorderEffect", "_EPDFAnnot_SetBorderStyle", "_EPDFAnnot_SetCalloutLine", "_EPDFAnnot_SetColor", "_EPDFAnnot_SetDefaultAppearance", "_EPDFAnnot_SetDefaultAppearanceDocumentFont", "_EPDFAnnot_SetDefaultAppearanceRegisteredFont", "_EPDFAnnot_SetEmbedMetadataBoolean", "_EPDFAnnot_SetEmbedMetadataJSON", "_EPDFAnnot_SetEmbedMetadataNumber", "_EPDFAnnot_SetEmbedMetadataRect", "_EPDFAnnot_SetEmbedMetadataString", "_EPDFAnnot_SetEventAction", "_EPDFAnnot_SetIntent", "_EPDFAnnot_SetLine", "_EPDFAnnot_SetLineCaption", "_EPDFAnnot_SetLineEndings", "_EPDFAnnot_SetLineLeader", "_EPDFAnnot_SetLinkedAnnot", "_EPDFAnnot_SetMKColor", "_EPDFAnnot_SetMKRotation", "_EPDFAnnot_SetMKText", "_EPDFAnnot_SetMKTextPosition", "_EPDFAnnot_SetName", "_EPDFAnnot_SetNoColor", "_EPDFAnnot_SetNumberValue", "_EPDFAnnot_SetOpacity", "_EPDFAnnot_SetOverlayText", "_EPDFAnnot_SetOverlayTextRepeat", "_EPDFAnnot_SetRect", "_EPDFAnnot_SetReplyType", "_EPDFAnnot_SetRichTextJSON", "_EPDFAnnot_SetRichTextXHTML", "_EPDFAnnot_SetRotate", "_EPDFAnnot_SetShapeCaption", "_EPDFAnnot_SetStampDrawing", "_EPDFAnnot_SetStampOpacity", "_EPDFAnnot_SetSubtype", "_EPDFAnnot_SetTextAlignment", "_EPDFAnnot_SetVertices", "_EPDFAnnot_UpdateAppearanceToRect", "_EPDFAttachment_ExportCanonicalToOwnedBuffer", "_EPDFAttachment_ExportRawToOwnedBuffer", "_EPDFAttachment_ExtractFile", "_EPDFAttachment_ExtractFileToOwnedBuffer", "_EPDFAttachment_GetDescription", "_EPDFAttachment_GetIntegerValue", "_EPDFAttachment_ImportRaw", "_EPDFAttachment_SetDescription", "_EPDFAttachment_SetName", "_EPDFAttachment_SetSubtype", "_EPDFCatalog_GetLanguage", "_EPDFCatalog_GetMetadata", "_EPDFCatalog_SetMetadata", "_EPDFDest_CreateRemoteView", "_EPDFDest_CreateRemoteXYZ", "_EPDFDest_CreateView", "_EPDFDest_CreateViewByObjectNumber", "_EPDFDest_CreateXYZ", "_EPDFDest_CreateXYZByObjectNumber", "_EPDFDest_GetPageObjectNumber", "_EPDFDest_GetViewNullParams", "_EPDFDoc_CanonicalDrawing", "_EPDFDoc_ClearMissingCharacters", "_EPDFDoc_ClearPagePieceInfoEntry", "_EPDFDoc_ClearPagePieceInfoKey", "_EPDFDoc_ClearPieceInfoEntry", "_EPDFDoc_ClearPieceInfoKey", "_EPDFDoc_CompareRevisions", "_EPDFDoc_CountMissingCharacters", "_EPDFDoc_DeletePageByObjectNumber", "_EPDFDoc_ExportDictCanonicalToOwnedBuffer", "_EPDFDoc_ExportDictRawToOwnedBuffer", "_EPDFDoc_ExportDrawing", "_EPDFDoc_ExportPagesFlattened", "_EPDFDoc_GetAdditionalActionModel", "_EPDFDoc_GetAttachmentIndexByKey", "_EPDFDoc_GetAttachmentKey", "_EPDFDoc_GetBaseBytesSize", "_EPDFDoc_GetFontDisplayProgramCoverage", "_EPDFDoc_GetFontDisplayProgramData", "_EPDFDoc_GetFontEmbeddingPolicy", "_EPDFDoc_GetFontProgramData", "_EPDFDoc_GetFontsFingerprint", "_EPDFDoc_GetImportFieldRoots", "_EPDFDoc_GetLastModified", "_EPDFDoc_GetLoadedBytesSize", "_EPDFDoc_GetMissingCharacter", "_EPDFDoc_GetNamedJavaScriptActionModel", "_EPDFDoc_GetNamedPageAt", "_EPDFDoc_GetNamedPageCount", "_EPDFDoc_GetOpenActionDest", "_EPDFDoc_GetOpenActionModel", "_EPDFDoc_GetPageActionModel", "_EPDFDoc_GetPageLabelSectionAt", "_EPDFDoc_GetPageLabelSectionCount", "_EPDFDoc_GetPageLastModified", "_EPDFDoc_GetPageObjectNumberByIndex", "_EPDFDoc_GetPagePieceInfoBoolean", "_EPDFDoc_GetPagePieceInfoEntryAt", "_EPDFDoc_GetPagePieceInfoEntryCount", "_EPDFDoc_GetPagePieceInfoKeyAt", "_EPDFDoc_GetPagePieceInfoKeyCount", "_EPDFDoc_GetPagePieceInfoLastModified", "_EPDFDoc_GetPagePieceInfoName", "_EPDFDoc_GetPagePieceInfoNumber", "_EPDFDoc_GetPagePieceInfoString", "_EPDFDoc_GetPagePieceInfoStringArrayAt", "_EPDFDoc_GetPagePieceInfoStringArrayCount", "_EPDFDoc_GetPagePieceInfoValueType", "_EPDFDoc_GetPieceInfoBoolean", "_EPDFDoc_GetPieceInfoEntryAt", "_EPDFDoc_GetPieceInfoEntryCount", "_EPDFDoc_GetPieceInfoKeyAt", "_EPDFDoc_GetPieceInfoKeyCount", "_EPDFDoc_GetPieceInfoLastModified", "_EPDFDoc_GetPieceInfoName", "_EPDFDoc_GetPieceInfoNumber", "_EPDFDoc_GetPieceInfoString", "_EPDFDoc_GetPieceInfoStringArrayAt", "_EPDFDoc_GetPieceInfoStringArrayCount", "_EPDFDoc_GetPieceInfoValueType", "_EPDFDoc_GetRevision", "_EPDFDoc_GetRevisionCount", "_EPDFDoc_GetStampDrawings", "_EPDFDoc_GetStructureObjectNumbers", "_EPDFDoc_GetTypographicFeatures", "_EPDFDoc_HasPagePieceInfoEntry", "_EPDFDoc_HasPieceInfoEntry", "_EPDFDoc_ImportDictRaw", "_EPDFDoc_ImportDrawing", "_EPDFDoc_ImportPages", "_EPDFDoc_LoadPageByObjectNumber", "_EPDFDoc_LoadPageByObjectNumberNormalized", "_EPDFDoc_OpenBaseOverlay", "_EPDFDoc_OpenBaseOverlayFromPath", "_EPDFDoc_OpenRevision", "_EPDFDoc_ReadLoadedBytes", "_EPDFDoc_RemoveNamedPage", "_EPDFDoc_RemoveNamedPagesForPage", "_EPDFDoc_ResolveFonts", "_EPDFDoc_SetFontEmbeddingPolicy", "_EPDFDoc_SetNamedPage", "_EPDFDoc_SetPageLabelSections", "_EPDFDoc_SetPagePieceInfoBoolean", "_EPDFDoc_SetPagePieceInfoName", "_EPDFDoc_SetPagePieceInfoNumber", "_EPDFDoc_SetPagePieceInfoString", "_EPDFDoc_SetPagePieceInfoStringArray", "_EPDFDoc_SetPageRotationByObjectNumber", "_EPDFDoc_SetPieceInfoBoolean", "_EPDFDoc_SetPieceInfoName", "_EPDFDoc_SetPieceInfoNumber", "_EPDFDoc_SetPieceInfoString", "_EPDFDoc_SetPieceInfoStringArray", "_EPDFDoc_SetTypographicFeatures", "_EPDFDoc_StartLoadPageByObjectNumber", "_EPDFDocument_ClearEmbedMetadata", "_EPDFFont_AddFallbackFont", "_EPDFFont_AuthorizeEditing", "_EPDFFont_ClearFallbackFonts", "_EPDFFont_ClearRegisteredFonts", "_EPDFFont_GetCoverage", "_EPDFFont_GetEmbeddingPermission", "_EPDFFont_GetFallbackOrder", "_EPDFFont_GetFamilyName", "_EPDFFont_GetLastResortFont", "_EPDFFont_GetMetrics", "_EPDFFont_GetPostScriptName", "_EPDFFont_GetProgramData", "_EPDFFont_GetProgramFormat", "_EPDFFont_GetProgramHash", "_EPDFFont_GetWeight", "_EPDFFont_IsEditingAuthorized", "_EPDFFont_IsInstanced", "_EPDFFont_IsItalic", "_EPDFFont_RegisterFont", "_EPDFFont_RegisterMemFont", "_EPDFFont_RegisterMemFont64", "_EPDFFont_SetLastResortFont", "_EPDFFontFaces_Close", "_EPDFFontFaces_Count", "_EPDFFontFaces_CountPrograms", "_EPDFFontFaces_GetFamily", "_EPDFFontFaces_GetProgramDisplayHash", "_EPDFFontFaces_GetProgramEmbedded", "_EPDFFontFaces_GetProgramEmbeddingPermission", "_EPDFFontFaces_GetProgramFormat", "_EPDFFontFaces_GetProgramHash", "_EPDFFontFaces_GetProgramMetrics", "_EPDFFontFaces_GetProgramObjNum", "_EPDFFontFaces_GetProgramPostScriptName", "_EPDFFontFaces_GetWeight", "_EPDFFontFaces_IsItalic", "_EPDFFontFaces_Load", "_EPDFFontFaces_ProgramMapsUnicode", "_EPDFFontResolution_Close", "_EPDFFontResolution_CountMissingCharacters", "_EPDFFontResolution_GetBaseFontName", "_EPDFFontResolution_GetFallbacks", "_EPDFFontResolution_GetFamily", "_EPDFFontResolution_GetMissingCharacter", "_EPDFFontResolution_GetProgramDisplayHash", "_EPDFFontResolution_GetProgramObjNum", "_EPDFFontResolution_GetRegisteredFont", "_EPDFFontResolution_GetSource", "_EPDFFontResolution_GetWeight", "_EPDFFontResolution_IsDegraded", "_EPDFFontResolution_IsItalic", "_EPDFForm_AttachWidget", "_EPDFForm_ClearFieldEmbedMetadata", "_EPDFForm_ClearFieldEmbedMetadataKey", "_EPDFForm_CloseModel", "_EPDFForm_CountCalculationOrder", "_EPDFForm_CountFieldDefaultValues", "_EPDFForm_CountFieldOptions", "_EPDFForm_CountFields", "_EPDFForm_CountFieldValues", "_EPDFForm_CountFieldWidgets", "_EPDFForm_CreateField", "_EPDFForm_DeleteField", "_EPDFForm_DetachWidget", "_EPDFForm_ExportFDF", "_EPDFForm_ExportFieldRawToOwnedBuffer", "_EPDFForm_ExportXFDF", "_EPDFForm_GetCalculationOrderFieldIndex", "_EPDFForm_GetFieldActionModel", "_EPDFForm_GetFieldAlternateName", "_EPDFForm_GetFieldDefaultValueAt", "_EPDFForm_GetFieldDefaultValueKind", "_EPDFForm_GetFieldEmbedMetadataBoolean", "_EPDFForm_GetFieldEmbedMetadataJSON", "_EPDFForm_GetFieldEmbedMetadataNumber", "_EPDFForm_GetFieldEmbedMetadataString", "_EPDFForm_GetFieldFamily", "_EPDFForm_GetFieldFlags", "_EPDFForm_GetFieldIndexByObjNum", "_EPDFForm_GetFieldIndexForWidget", "_EPDFForm_GetFieldMappingName", "_EPDFForm_GetFieldMaxLen", "_EPDFForm_GetFieldName", "_EPDFForm_GetFieldObjNum", "_EPDFForm_GetFieldOptionLabel", "_EPDFForm_GetFieldOptionValue", "_EPDFForm_GetFieldOrigin", "_EPDFForm_GetFieldPartialName", "_EPDFForm_GetFieldTopIndex", "_EPDFForm_GetFieldValueAt", "_EPDFForm_GetFieldValueKind", "_EPDFForm_GetFieldWidgetExportValue", "_EPDFForm_GetFieldWidgetObjNum", "_EPDFForm_GetFieldWidgetOnState", "_EPDFForm_GetFieldWidgetPageObjNum", "_EPDFForm_GetFieldWidgetRect", "_EPDFForm_GetFormKind", "_EPDFForm_GetNeedAppearances", "_EPDFForm_HasFieldEmbedMetadata", "_EPDFForm_ImportFieldRaw", "_EPDFForm_IsFieldOptionSelected", "_EPDFForm_IsFieldWidgetChecked", "_EPDFForm_LoadModel", "_EPDFForm_RedrawFieldWidgets", "_EPDFForm_Repair", "_EPDFForm_SetCalculationOrder", "_EPDFForm_SetFieldAlternateName", "_EPDFForm_SetFieldAppearanceText", "_EPDFForm_SetFieldDefaultValue", "_EPDFForm_SetFieldDisplay", "_EPDFForm_SetFieldEmbedMetadataBoolean", "_EPDFForm_SetFieldEmbedMetadataJSON", "_EPDFForm_SetFieldEmbedMetadataNumber", "_EPDFForm_SetFieldEmbedMetadataString", "_EPDFForm_SetFieldEventAction", "_EPDFForm_SetFieldFlags", "_EPDFForm_SetFieldMappingName", "_EPDFForm_SetFieldMaxLen", "_EPDFForm_SetFieldName", "_EPDFForm_SetFieldOptions", "_EPDFForm_SetFieldSelectedIndices", "_EPDFForm_SetFieldValue", "_EPDFForm_SetFieldWidgetsChecked", "_EPDFImageObj_SetJpeg", "_EPDFImageObj_SetPng", "_EPDFLayer_AbortTransaction", "_EPDFLayer_BeginTransaction", "_EPDFLayer_CommitTransaction", "_EPDFLayer_GetBaseDocument", "_EPDFLayer_GetBaseSha256", "_EPDFLayer_GetBirthName", "_EPDFLayer_GetBirthObjectNumber", "_EPDFLayer_GetLastObjectNumber", "_EPDFLayer_GetPromotedObjectCount", "_EPDFLayer_IsInTransaction", "_EPDFLayer_IsObjectPromoted", "_EPDFLayer_IsPagePromoted", "_EPDFLayer_OpenLayer", "_EPDFLayer_OpenLayerArtifact", "_EPDFLayer_OpenLayerArtifactFromPath", "_EPDFLayer_RaiseLastObjectNumber", "_EPDFLayer_SaveDelta", "_EPDFLayer_SaveDeltaEx", "_EPDFLayer_SaveDeltaToOwnedBuffer", "_EPDFLayer_SaveDeltaToOwnedBufferEx", "_EPDFLayer_SaveLayerArtifact", "_EPDFLayer_SaveLayerArtifactEx", "_EPDFLayer_SaveLayerArtifactToOwnedBuffer", "_EPDFLayer_SaveLayerArtifactToOwnedBufferEx", "_EPDFMeasure_AddFormat", "_EPDFMeasure_CountFormats", "_EPDFMeasure_GetCYX", "_EPDFMeasure_GetFormat", "_EPDFMeasure_GetOrigin", "_EPDFMeasure_GetRatio", "_EPDFMeasure_GetSubtype", "_EPDFMeasure_RemoveFormats", "_EPDFMeasure_SetCYX", "_EPDFMeasure_SetOrigin", "_EPDFMeasure_SetRatio", "_EPDFNamedDest_Remove", "_EPDFNamedDest_SetDest", "_EPDFNumberFormat_GetConversion", "_EPDFNumberFormat_GetFixedDenominator", "_EPDFNumberFormat_GetFraction", "_EPDFNumberFormat_GetLabelPosition", "_EPDFNumberFormat_GetPrecision", "_EPDFNumberFormat_GetText", "_EPDFNumberFormat_GetUnit", "_EPDFNumberFormat_SetConversion", "_EPDFNumberFormat_SetFixedDenominator", "_EPDFNumberFormat_SetFraction", "_EPDFNumberFormat_SetLabelPosition", "_EPDFNumberFormat_SetPrecision", "_EPDFNumberFormat_SetText", "_EPDFNumberFormat_SetUnit", "_EPDFObjectDiff_Close", "_EPDFObjectDiff_GetCount", "_EPDFObjectDiff_GetEntry", "_EPDFObjectDiff_GetReadStatus", "_EPDFObjectDiff_GetReferrer", "_EPDFObjectDiff_GetReferrerCount", "_EPDFObjectDiff_GetRevisionHealth", "_EPDFObjectDiff_GetValue", "_EPDFOutline_CreateItem", "_EPDFOutline_DeleteItem", "_EPDFOutline_ExportItemRawToOwnedBuffer", "_EPDFOutline_GetItem", "_EPDFOutline_GetObjectNumber", "_EPDFOutline_ImportItemRaw", "_EPDFOutline_MoveItem", "_EPDFOutline_SetAction", "_EPDFOutline_SetColor", "_EPDFOutline_SetOpen", "_EPDFOutline_SetStyle", "_EPDFOutline_SetTitle", "_EPDFPage_AddViewport", "_EPDFPage_AddViewportRaw", "_EPDFPage_ApplyRedactions", "_EPDFPage_ContinueLoad", "_EPDFPage_CountViewports", "_EPDFPage_CountViewportsRaw", "_EPDFPage_CreateAnnot", "_EPDFPage_CreateAnnotRaw", "_EPDFPage_ExportAnnotationsAsDocument", "_EPDFPage_ExportAnnotsRawToOwnedBuffer", "_EPDFPage_ExportRawToOwnedBuffer", "_EPDFPage_FindViewport", "_EPDFPage_Flatten", "_EPDFPage_FlattenAnnotations", "_EPDFPage_GetAnnotByName", "_EPDFPage_GetAnnotByObjectNumber", "_EPDFPage_GetAnnotCountRaw", "_EPDFPage_GetAnnotIndexByNameRaw", "_EPDFPage_GetAnnotIndexByObjectNumberRaw", "_EPDFPage_GetAnnotRaw", "_EPDFPage_GetObjectNumber", "_EPDFPage_GetParsedSize", "_EPDFPage_GetViewport", "_EPDFPage_GetViewportRaw", "_EPDFPage_ImportAnnotsRaw", "_EPDFPage_ImportRaw", "_EPDFPage_InsertBlankRaw", "_EPDFPage_IsContentCurrent", "_EPDFPage_IsValid", "_EPDFPage_MoveAnnots", "_EPDFPage_MoveAnnotsRaw", "_EPDFPage_PromoteInlineAnnotsRaw", "_EPDFPage_RemoveAnnot", "_EPDFPage_RemoveAnnotByName", "_EPDFPage_RemoveAnnotByObjectNumber", "_EPDFPage_RemoveAnnotRaw", "_EPDFPage_RemoveViewport", "_EPDFPage_RemoveViewportRaw", "_EPDFPage_ResetRenderCache", "_EPDFSig_CloseModel", "_EPDFSig_Count", "_EPDFSig_DigestByteRange", "_EPDFSig_DigestFileRange", "_EPDFSig_GetByteRange", "_EPDFSig_GetContents", "_EPDFSig_GetCoverage", "_EPDFSig_GetDocMDPPermission", "_EPDFSig_GetFieldMDPAction", "_EPDFSig_GetFieldName", "_EPDFSig_GetFieldNameAt", "_EPDFSig_GetFieldNameCount", "_EPDFSig_GetFieldObjNum", "_EPDFSig_GetIndexByFieldObjNum", "_EPDFSig_GetKind", "_EPDFSig_GetLockAction", "_EPDFSig_GetLockPermission", "_EPDFSig_GetRevisionIndex", "_EPDFSig_GetSeedValueFilter", "_EPDFSig_GetSeedValueListAt", "_EPDFSig_GetSeedValueListCount", "_EPDFSig_GetSeedValueMDP", "_EPDFSig_GetSeedValuePresentFlags", "_EPDFSig_GetSeedValueRequiredFlags", "_EPDFSig_GetSeedValueVersion", "_EPDFSig_GetString", "_EPDFSig_GetValueObjNum", "_EPDFSig_GetWidgetObjNum", "_EPDFSig_GetWidgetPageObjNum", "_EPDFSig_HasSeedValue", "_EPDFSig_IsCatalogCertification", "_EPDFSig_IsRevisionChainValid", "_EPDFSig_IsSigned", "_EPDFSig_LoadModel", "_EPDFSig_Prepare", "_EPDFSig_SaveCandidate", "_EPDFSig_SaveCandidateToOwnedBuffer", "_EPDFSig_Seal", "_EPDFSig_SealSpan", "_EPDFSig_SetFieldLock", "_EPDFSig_WriteContents", "_EPDFText_GetCharGeometry", "_EPDFText_GetCharToTextMap", "_EPDFText_GetTextFull", "_EPDFText_RedactInQuads", "_EPDFText_RedactInRect", "_EPDFViewport_AddMeasure", "_EPDFViewport_Close", "_EPDFViewport_GetBBox", "_EPDFViewport_GetMeasure", "_EPDFViewport_GetName", "_EPDFViewport_RemoveMeasure", "_EPDFViewport_SetBBox", "_EPDFViewport_SetName", "_FORM_CanRedo", "_FORM_CanUndo", "_FORM_DoDocumentAAction", "_FORM_DoDocumentJSAction", "_FORM_DoDocumentOpenAction", "_FORM_DoPageAAction", "_FORM_ForceToKillFocus", "_FORM_GetFocusedAnnot", "_FORM_GetFocusedText", "_FORM_GetSelectedText", "_FORM_GetTextDirection", "_FORM_IsIndexSelected", "_FORM_OnAfterLoadPage", "_FORM_OnBeforeClosePage", "_FORM_OnChar", "_FORM_OnFocus", "_FORM_OnKeyDown", "_FORM_OnKeyUp", "_FORM_OnLButtonDoubleClick", "_FORM_OnLButtonDown", "_FORM_OnLButtonUp", "_FORM_OnMouseMove", "_FORM_OnMouseWheel", "_FORM_OnRButtonDown", "_FORM_OnRButtonUp", "_FORM_Redo", "_FORM_ReplaceAndKeepSelection", "_FORM_ReplaceSelection", "_FORM_SelectAllText", "_FORM_SetFocusedAnnot", "_FORM_SetIndexSelected", "_FORM_SetTextDirection", "_FORM_Undo", "_FPDF_AddInstalledFont", "_FPDF_CloseDocument", "_FPDF_ClosePage", "_FPDF_CloseXObject", "_FPDF_CopyViewerPreferences", "_FPDF_CountNamedDests", "_FPDF_CreateClipPath", "_FPDF_CreateNewDocument", "_FPDF_DestroyClipPath", "_FPDF_DestroyLibrary", "_FPDF_DeviceToPage", "_FPDF_DocumentHasValidCrossReferenceTable", "_FPDF_FFLDraw", "_FPDF_FreeDefaultSystemFontInfo", "_FPDF_GetDefaultSystemFontInfo", "_FPDF_GetDefaultTTFMap", "_FPDF_GetDefaultTTFMapCount", "_FPDF_GetDefaultTTFMapEntry", "_FPDF_GetDocPermissions", "_FPDF_GetDocUserPermissions", "_FPDF_GetFileIdentifier", "_FPDF_GetFileVersion", "_FPDF_GetFormType", "_FPDF_GetLastError", "_FPDF_GetMetaText", "_FPDF_GetNamedDest", "_FPDF_GetNamedDestByName", "_FPDF_GetPageAAction", "_FPDF_GetPageBoundingBox", "_FPDF_GetPageCount", "_FPDF_GetPageHeight", "_FPDF_GetPageHeightF", "_FPDF_GetPageLabel", "_FPDF_GetPageSizeByIndex", "_FPDF_GetPageSizeByIndexF", "_FPDF_GetPageWidth", "_FPDF_GetPageWidthF", "_FPDF_GetSecurityHandlerRevision", "_FPDF_GetSignatureCount", "_FPDF_GetSignatureObject", "_FPDF_GetTrailerEnds", "_FPDF_GetXFAPacketContent", "_FPDF_GetXFAPacketCount", "_FPDF_GetXFAPacketName", "_FPDF_ImportNPagesToOne", "_FPDF_ImportPages", "_FPDF_ImportPagesByIndex", "_FPDF_InitLibrary", "_FPDF_InitLibraryWithConfig", "_FPDF_LoadCustomDocument", "_FPDF_LoadDocument", "_FPDF_LoadMemDocument", "_FPDF_LoadMemDocument64", "_FPDF_LoadPage", "_FPDF_LoadXFA", "_FPDF_MovePages", "_FPDF_NewFormObjectFromXObject", "_FPDF_NewXObjectFromPage", "_FPDF_PageToDevice", "_FPDF_RemoveFormFieldHighlight", "_FPDF_RenderPage_Close", "_FPDF_RenderPage_Continue", "_FPDF_RenderPageBitmap", "_FPDF_RenderPageBitmap_Start", "_FPDF_RenderPageBitmapWithColorScheme_Start", "_FPDF_RenderPageBitmapWithMatrix", "_FPDF_SaveAsCopy", "_FPDF_SaveWithVersion", "_FPDF_SetFormFieldHighlightAlpha", "_FPDF_SetFormFieldHighlightColor", "_FPDF_SetSandBoxPolicy", "_FPDF_SetSystemFontInfo", "_FPDF_StructElement_Attr_CountChildren", "_FPDF_StructElement_Attr_GetBlobValue", "_FPDF_StructElement_Attr_GetBooleanValue", "_FPDF_StructElement_Attr_GetChildAtIndex", "_FPDF_StructElement_Attr_GetCount", "_FPDF_StructElement_Attr_GetName", "_FPDF_StructElement_Attr_GetNumberValue", "_FPDF_StructElement_Attr_GetStringValue", "_FPDF_StructElement_Attr_GetType", "_FPDF_StructElement_Attr_GetValue", "_FPDF_StructElement_CountChildren", "_FPDF_StructElement_GetActualText", "_FPDF_StructElement_GetAltText", "_FPDF_StructElement_GetAttributeAtIndex", "_FPDF_StructElement_GetAttributeCount", "_FPDF_StructElement_GetChildAtIndex", "_FPDF_StructElement_GetChildMarkedContentID", "_FPDF_StructElement_GetExpansion", "_FPDF_StructElement_GetID", "_FPDF_StructElement_GetLang", "_FPDF_StructElement_GetMarkedContentID", "_FPDF_StructElement_GetMarkedContentIdAtIndex", "_FPDF_StructElement_GetMarkedContentIdCount", "_FPDF_StructElement_GetObjType", "_FPDF_StructElement_GetParent", "_FPDF_StructElement_GetRawType", "_FPDF_StructElement_GetStringAttribute", "_FPDF_StructElement_GetTitle", "_FPDF_StructElement_GetType", "_FPDF_StructTree_Close", "_FPDF_StructTree_CountChildren", "_FPDF_StructTree_GetChildAtIndex", "_FPDF_StructTree_GetForPage", "_FPDF_VIEWERREF_GetDuplex", "_FPDF_VIEWERREF_GetName", "_FPDF_VIEWERREF_GetNumCopies", "_FPDF_VIEWERREF_GetPrintPageRange", "_FPDF_VIEWERREF_GetPrintPageRangeCount", "_FPDF_VIEWERREF_GetPrintPageRangeElement", "_FPDF_VIEWERREF_GetPrintScaling", "_FPDFAction_GetDest", "_FPDFAction_GetFilePath", "_FPDFAction_GetType", "_FPDFAction_GetURIPath", "_FPDFAnnot_AddFileAttachment", "_FPDFAnnot_AddInkStroke", "_FPDFAnnot_AppendAttachmentPoints", "_FPDFAnnot_AppendObject", "_FPDFAnnot_CountAttachmentPoints", "_FPDFAnnot_GetAP", "_FPDFAnnot_GetAttachmentPoints", "_FPDFAnnot_GetBorder", "_FPDFAnnot_GetColor", "_FPDFAnnot_GetFileAttachment", "_FPDFAnnot_GetFlags", "_FPDFAnnot_GetFocusableSubtypes", "_FPDFAnnot_GetFocusableSubtypesCount", "_FPDFAnnot_GetFontColor", "_FPDFAnnot_GetFontSize", "_FPDFAnnot_GetFormAdditionalActionJavaScript", "_FPDFAnnot_GetFormControlCount", "_FPDFAnnot_GetFormControlIndex", "_FPDFAnnot_GetFormFieldAlternateName", "_FPDFAnnot_GetFormFieldAtPoint", "_FPDFAnnot_GetFormFieldExportValue", "_FPDFAnnot_GetFormFieldFlags", "_FPDFAnnot_GetFormFieldName", "_FPDFAnnot_GetFormFieldType", "_FPDFAnnot_GetFormFieldValue", "_FPDFAnnot_GetInkListCount", "_FPDFAnnot_GetInkListPath", "_FPDFAnnot_GetLine", "_FPDFAnnot_GetLink", "_FPDFAnnot_GetLinkedAnnot", "_FPDFAnnot_GetNumberValue", "_FPDFAnnot_GetObject", "_FPDFAnnot_GetObjectCount", "_FPDFAnnot_GetOptionCount", "_FPDFAnnot_GetOptionLabel", "_FPDFAnnot_GetRect", "_FPDFAnnot_GetStringValue", "_FPDFAnnot_GetSubtype", "_FPDFAnnot_GetValueType", "_FPDFAnnot_GetVertices", "_FPDFAnnot_HasAttachmentPoints", "_FPDFAnnot_HasKey", "_FPDFAnnot_IsChecked", "_FPDFAnnot_IsObjectSupportedSubtype", "_FPDFAnnot_IsOptionSelected", "_FPDFAnnot_IsSupportedSubtype", "_FPDFAnnot_RemoveInkList", "_FPDFAnnot_RemoveObject", "_FPDFAnnot_SetAP", "_FPDFAnnot_SetAttachmentPoints", "_FPDFAnnot_SetBorder", "_FPDFAnnot_SetColor", "_FPDFAnnot_SetFlags", "_FPDFAnnot_SetFocusableSubtypes", "_FPDFAnnot_SetFontColor", "_FPDFAnnot_SetFormFieldFlags", "_FPDFAnnot_SetRect", "_FPDFAnnot_SetStringValue", "_FPDFAnnot_SetURI", "_FPDFAnnot_UpdateObject", "_FPDFAttachment_GetAFRelationship", "_FPDFAttachment_GetDescription", "_FPDFAttachment_GetFile", "_FPDFAttachment_GetName", "_FPDFAttachment_GetStringValue", "_FPDFAttachment_GetSubtype", "_FPDFAttachment_GetValueType", "_FPDFAttachment_HasKey", "_FPDFAttachment_SetDescription", "_FPDFAttachment_SetFile", "_FPDFAttachment_SetStringValue", "_FPDFAvail_Create", "_FPDFAvail_Destroy", "_FPDFAvail_GetDocument", "_FPDFAvail_GetFirstPageNum", "_FPDFAvail_IsDocAvail", "_FPDFAvail_IsFormAvail", "_FPDFAvail_IsLinearized", "_FPDFAvail_IsPageAvail", "_FPDFBitmap_Create", "_FPDFBitmap_CreateEx", "_FPDFBitmap_Destroy", "_FPDFBitmap_FillRect", "_FPDFBitmap_GetBuffer", "_FPDFBitmap_GetFormat", "_FPDFBitmap_GetHeight", "_FPDFBitmap_GetStride", "_FPDFBitmap_GetWidth", "_FPDFBookmark_Find", "_FPDFBookmark_GetAction", "_FPDFBookmark_GetColor", "_FPDFBookmark_GetCount", "_FPDFBookmark_GetDest", "_FPDFBookmark_GetFirstChild", "_FPDFBookmark_GetNextSibling", "_FPDFBookmark_GetStyle", "_FPDFBookmark_GetTitle", "_FPDFCatalog_GetLanguage", "_FPDFCatalog_IsTagged", "_FPDFCatalog_SetLanguage", "_FPDFClipPath_CountPaths", "_FPDFClipPath_CountPathSegments", "_FPDFClipPath_GetPathSegment", "_FPDFDest_GetDestPageIndex", "_FPDFDest_GetLocationInPage", "_FPDFDest_GetView", "_FPDFDoc_AddAttachment", "_FPDFDoc_CloseJavaScriptAction", "_FPDFDoc_DeleteAttachment", "_FPDFDOC_ExitFormFillEnvironment", "_FPDFDoc_GetAttachment", "_FPDFDoc_GetAttachmentCount", "_FPDFDoc_GetJavaScriptAction", "_FPDFDoc_GetJavaScriptActionCount", "_FPDFDoc_GetPageMode", "_FPDFDOC_InitFormFillEnvironment", "_FPDFFont_Close", "_FPDFFont_GetAscent", "_FPDFFont_GetBaseFontName", "_FPDFFont_GetDescent", "_FPDFFont_GetFamilyName", "_FPDFFont_GetFlags", "_FPDFFont_GetFontData", "_FPDFFont_GetGlyphPath", "_FPDFFont_GetGlyphWidth", "_FPDFFont_GetIsEmbedded", "_FPDFFont_GetItalicAngle", "_FPDFFont_GetWeight", "_FPDFFormObj_CountObjects", "_FPDFFormObj_GetObject", "_FPDFFormObj_RemoveObject", "_FPDFGlyphPath_CountGlyphSegments", "_FPDFGlyphPath_GetGlyphPathSegment", "_FPDFImageObj_GetBitmap", "_FPDFImageObj_GetIccProfileDataDecoded", "_FPDFImageObj_GetImageDataDecoded", "_FPDFImageObj_GetImageDataRaw", "_FPDFImageObj_GetImageFilter", "_FPDFImageObj_GetImageFilterCount", "_FPDFImageObj_GetImageMetadata", "_FPDFImageObj_GetImagePixelSize", "_FPDFImageObj_GetRenderedBitmap", "_FPDFImageObj_LoadJpegFile", "_FPDFImageObj_LoadJpegFileInline", "_FPDFImageObj_SetBitmap", "_FPDFImageObj_SetMatrix", "_FPDFJavaScriptAction_GetName", "_FPDFJavaScriptAction_GetScript", "_FPDFLink_CloseWebLinks", "_FPDFLink_CountQuadPoints", "_FPDFLink_CountRects", "_FPDFLink_CountWebLinks", "_FPDFLink_Enumerate", "_FPDFLink_GetAction", "_FPDFLink_GetAnnot", "_FPDFLink_GetAnnotRect", "_FPDFLink_GetDest", "_FPDFLink_GetLinkAtPoint", "_FPDFLink_GetLinkZOrderAtPoint", "_FPDFLink_GetQuadPoints", "_FPDFLink_GetRect", "_FPDFLink_GetTextRange", "_FPDFLink_GetURL", "_FPDFLink_LoadWebLinks", "_FPDFPage_CloseAnnot", "_FPDFPage_CountObjects", "_FPDFPage_CreateAnnot", "_FPDFPage_Delete", "_FPDFPage_Flatten", "_FPDFPage_FormFieldZOrderAtPoint", "_FPDFPage_GenerateContent", "_FPDFPage_GetAnnot", "_FPDFPage_GetAnnotCount", "_FPDFPage_GetAnnotIndex", "_FPDFPage_GetArtBox", "_FPDFPage_GetBleedBox", "_FPDFPage_GetCropBox", "_FPDFPage_GetDecodedThumbnailData", "_FPDFPage_GetMediaBox", "_FPDFPage_GetObject", "_FPDFPage_GetRawThumbnailData", "_FPDFPage_GetRotation", "_FPDFPage_GetThumbnailAsBitmap", "_FPDFPage_GetTrimBox", "_FPDFPage_HasFormFieldAtPoint", "_FPDFPage_HasTransparency", "_FPDFPage_InsertClipPath", "_FPDFPage_InsertObject", "_FPDFPage_InsertObjectAtIndex", "_FPDFPage_New", "_FPDFPage_RemoveAnnot", "_FPDFPage_RemoveObject", "_FPDFPage_SetArtBox", "_FPDFPage_SetBleedBox", "_FPDFPage_SetCropBox", "_FPDFPage_SetMediaBox", "_FPDFPage_SetRotation", "_FPDFPage_SetTrimBox", "_FPDFPage_TransformAnnots", "_FPDFPage_TransFormWithClip", "_FPDFPageObj_AddExistingMark", "_FPDFPageObj_AddMark", "_FPDFPageObj_CountMarks", "_FPDFPageObj_CreateNewPath", "_FPDFPageObj_CreateNewRect", "_FPDFPageObj_CreateTextObj", "_FPDFPageObj_Destroy", "_FPDFPageObj_GetBounds", "_FPDFPageObj_GetClipPath", "_FPDFPageObj_GetDashArray", "_FPDFPageObj_GetDashCount", "_FPDFPageObj_GetDashPhase", "_FPDFPageObj_GetFillColor", "_FPDFPageObj_GetIsActive", "_FPDFPageObj_GetLineCap", "_FPDFPageObj_GetLineJoin", "_FPDFPageObj_GetMark", "_FPDFPageObj_GetMarkedContentID", "_FPDFPageObj_GetMatrix", "_FPDFPageObj_GetRenderedFillPattern", "_FPDFPageObj_GetRenderedStrokePattern", "_FPDFPageObj_GetRotatedBounds", "_FPDFPageObj_GetStrokeColor", "_FPDFPageObj_GetStrokeWidth", "_FPDFPageObj_GetType", "_FPDFPageObj_HasTransparency", "_FPDFPageObj_NewImageObj", "_FPDFPageObj_NewTextObj", "_FPDFPageObj_RemoveMark", "_FPDFPageObj_SetBlendMode", "_FPDFPageObj_SetDashArray", "_FPDFPageObj_SetDashPhase", "_FPDFPageObj_SetFillColor", "_FPDFPageObj_SetIsActive", "_FPDFPageObj_SetLineCap", "_FPDFPageObj_SetLineJoin", "_FPDFPageObj_SetMatrix", "_FPDFPageObj_SetStrokeColor", "_FPDFPageObj_SetStrokeWidth", "_FPDFPageObj_Transform", "_FPDFPageObj_TransformClipPath", "_FPDFPageObj_TransformF", "_FPDFPageObjMark_CountParams", "_FPDFPageObjMark_GetName", "_FPDFPageObjMark_GetParamBlobValue", "_FPDFPageObjMark_GetParamFloatValue", "_FPDFPageObjMark_GetParamIntValue", "_FPDFPageObjMark_GetParamKey", "_FPDFPageObjMark_GetParamStringValue", "_FPDFPageObjMark_GetParamValueType", "_FPDFPageObjMark_RemoveParam", "_FPDFPageObjMark_SetBlobParam", "_FPDFPageObjMark_SetFloatParam", "_FPDFPageObjMark_SetIntParam", "_FPDFPageObjMark_SetStringParam", "_FPDFPath_BezierTo", "_FPDFPath_Close", "_FPDFPath_CountSegments", "_FPDFPath_GetBezierControlPoints", "_FPDFPath_GetDrawMode", "_FPDFPath_GetPathSegment", "_FPDFPath_LineTo", "_FPDFPath_MoveTo", "_FPDFPath_SetDrawMode", "_FPDFPathSegment_GetClose", "_FPDFPathSegment_GetPoint", "_FPDFPathSegment_GetType", "_FPDFSignatureObj_GetByteRange", "_FPDFSignatureObj_GetContents", "_FPDFSignatureObj_GetDocMDPPermission", "_FPDFSignatureObj_GetReason", "_FPDFSignatureObj_GetSubFilter", "_FPDFSignatureObj_GetTime", "_FPDFText_ClosePage", "_FPDFText_CountChars", "_FPDFText_CountRects", "_FPDFText_FindClose", "_FPDFText_FindNext", "_FPDFText_FindPrev", "_FPDFText_FindStart", "_FPDFText_GetBoundedText", "_FPDFText_GetCharAngle", "_FPDFText_GetCharBox", "_FPDFText_GetCharIndexAtPos", "_FPDFText_GetCharIndexFromTextIndex", "_FPDFText_GetCharOrigin", "_FPDFText_GetFillColor", "_FPDFText_GetFontInfo", "_FPDFText_GetFontSize", "_FPDFText_GetFontWeight", "_FPDFText_GetLooseCharBox", "_FPDFText_GetMatrix", "_FPDFText_GetRect", "_FPDFText_GetSchCount", "_FPDFText_GetSchResultIndex", "_FPDFText_GetStrokeColor", "_FPDFText_GetText", "_FPDFText_GetTextIndexFromCharIndex", "_FPDFText_GetTextObject", "_FPDFText_GetUnicode", "_FPDFText_HasUnicodeMapError", "_FPDFText_IsGenerated", "_FPDFText_IsHyphen", "_FPDFText_LoadCidType2Font", "_FPDFText_LoadFont", "_FPDFText_LoadPage", "_FPDFText_LoadStandardFont", "_FPDFText_SetCharcodes", "_FPDFText_SetPositions", "_FPDFText_SetText", "_FPDFTextObj_GetFont", "_FPDFTextObj_GetFontSize", "_FPDFTextObj_GetRenderedBitmap", "_FPDFTextObj_GetText", "_FPDFTextObj_GetTextRenderMode", "_FPDFTextObj_SetFontSize", "_FPDFTextObj_SetTextRenderMode", "_malloc", "_free", "_memory", "___indirect_function_table", "onRuntimeInitialized"].forEach((p) => { Object.getOwnPropertyDescriptor(A, p) || Object.defineProperty(A, p, { get: () => He("You are getting " + p + " on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"), set: () => He("You are setting " + p + " on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js") }); }); - var o = typeof window == "object", s = typeof WorkerGlobalScope < "u", d = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string" && process.type != "renderer", l = !o && !d && !s, m = Object.assign({}, n), F = [], k = "./this.program", P = (p, u) => { - throw u; + var o = typeof window == "object", s = typeof WorkerGlobalScope < "u", d = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string" && process.type != "renderer", u = !o && !d && !s, m = Object.assign({}, n), F = [], h = "./this.program", P = (p, l) => { + throw l; }, D = ""; function G(p) { return n.locateFile ? n.locateFile(p, D) : D + p; } var I, _; - if (l) { - if (typeof process == "object" && typeof QB == "function" || typeof window == "object" || typeof WorkerGlobalScope < "u") throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)"); + if (u) { + if (typeof process == "object" && typeof cD == "function" || typeof window == "object" || typeof WorkerGlobalScope < "u") throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)"); } else if (o || s) { if (s ? D = self.location.href : typeof document < "u" && document.currentScript && (D = document.currentScript.src), e && (D = e), D.startsWith("blob:") ? D = "" : D = D.substr(0, D.replace(/[?#].*/, "").lastIndexOf("/") + 1), !(typeof window == "object" || typeof WorkerGlobalScope < "u")) throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)"); s && (_ = (p) => { - var u = new XMLHttpRequest(); - return u.open("GET", p, !1), u.responseType = "arraybuffer", u.send(null), new Uint8Array(u.response); - }), I = (p) => (O(!Jl(p), "readAsync does not work with file:// URLs"), fetch(p, { credentials: "same-origin" }).then((u) => u.ok ? u.arrayBuffer() : Promise.reject(new Error(u.status + " : " + u.url)))); + var l = new XMLHttpRequest(); + return l.open("GET", p, !1), l.responseType = "arraybuffer", l.send(null), new Uint8Array(l.response); + }), I = (p) => (M(!ml(p), "readAsync does not work with file:// URLs"), fetch(p, { credentials: "same-origin" }).then((l) => l.ok ? l.arrayBuffer() : Promise.reject(new Error(l.status + " : " + l.url)))); } else throw new Error("environment detection error"); var H = n.print || console.log.bind(console), C = n.printErr || console.error.bind(console); - Object.assign(n, m), m = null, pB(), n.arguments && (F = n.arguments), tr("arguments", "arguments_"), n.thisProgram && (k = n.thisProgram), tr("thisProgram", "thisProgram"), O(typeof n.memoryInitializerPrefixURL > "u", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"), O(typeof n.pthreadMainPrefixURL > "u", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"), O(typeof n.cdInitializerPrefixURL > "u", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"), O(typeof n.filePackagePrefixURL > "u", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead"), O(typeof n.read > "u", "Module.read option was removed"), O(typeof n.readAsync > "u", "Module.readAsync option was removed (modify readAsync in JS)"), O(typeof n.readBinary > "u", "Module.readBinary option was removed (modify readBinary in JS)"), O(typeof n.setWindowTitle > "u", "Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)"), O(typeof n.TOTAL_MEMORY > "u", "Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"), tr("asm", "wasmExports"), tr("readAsync", "readAsync"), tr("readBinary", "readBinary"), tr("setWindowTitle", "setWindowTitle"), O(!d, "node environment detected but not enabled at build time. Add `node` to `-sENVIRONMENT` to enable."), O(!l, "shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable."); - var j = n.wasmBinary; - tr("wasmBinary", "wasmBinary"), typeof WebAssembly != "object" && C("no native wasm support detected"); - var X, ge = !1, we; - function O(p, u) { - p || He("Assertion failed" + (u ? ": " + u : "")); + Object.assign(n, m), m = null, RB(), n.arguments && (F = n.arguments), nr("arguments", "arguments_"), n.thisProgram && (h = n.thisProgram), nr("thisProgram", "thisProgram"), M(typeof n.memoryInitializerPrefixURL > "u", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"), M(typeof n.pthreadMainPrefixURL > "u", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"), M(typeof n.cdInitializerPrefixURL > "u", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"), M(typeof n.filePackagePrefixURL > "u", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead"), M(typeof n.read > "u", "Module.read option was removed"), M(typeof n.readAsync > "u", "Module.readAsync option was removed (modify readAsync in JS)"), M(typeof n.readBinary > "u", "Module.readBinary option was removed (modify readBinary in JS)"), M(typeof n.setWindowTitle > "u", "Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)"), M(typeof n.TOTAL_MEMORY > "u", "Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"), nr("asm", "wasmExports"), nr("readAsync", "readAsync"), nr("readBinary", "readBinary"), nr("setWindowTitle", "setWindowTitle"), M(!d, "node environment detected but not enabled at build time. Add `node` to `-sENVIRONMENT` to enable."), M(!u, "shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable."); + var O = n.wasmBinary; + nr("wasmBinary", "wasmBinary"), typeof WebAssembly != "object" && C("no native wasm support detected"); + var K, fe = !1, we; + function M(p, l) { + p || He("Assertion failed" + (l ? ": " + l : "")); } - var U, ae, Ae, ot, q, ke, nn, hr; - function Xl() { - var p = X.buffer; - n.HEAP8 = U = new Int8Array(p), n.HEAP16 = Ae = new Int16Array(p), n.HEAPU8 = ae = new Uint8Array(p), n.HEAPU16 = ot = new Uint16Array(p), n.HEAP32 = q = new Int32Array(p), n.HEAPU32 = ke = new Uint32Array(p), n.HEAPF32 = nn = new Float32Array(p), n.HEAPF64 = hr = new Float64Array(p); + var q, ae, Ae, ot, Z, ke, rn, Br; + function sl() { + var p = K.buffer; + n.HEAP8 = q = new Int8Array(p), n.HEAP16 = Ae = new Int16Array(p), n.HEAPU8 = ae = new Uint8Array(p), n.HEAPU16 = ot = new Uint16Array(p), n.HEAP32 = Z = new Int32Array(p), n.HEAPU32 = ke = new Uint32Array(p), n.HEAPF32 = rn = new Float32Array(p), n.HEAPF64 = Br = new Float64Array(p); } - O(!n.STACK_SIZE, "STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time"), O(typeof Int32Array < "u" && typeof Float64Array < "u" && Int32Array.prototype.subarray != null && Int32Array.prototype.set != null, "JS engine does not provide full typed array support"), O(!n.wasmMemory, "Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"), O(!n.INITIAL_MEMORY, "Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically"); - function Ch() { - var p = Hs(); - O((p & 3) == 0), p == 0 && (p += 4), ke[p >>> 2 >>> 0] = 34821223, ke[p + 4 >>> 2 >>> 0] = 2310721022, ke[0] = 1668509029; + M(!n.STACK_SIZE, "STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time"), M(typeof Int32Array < "u" && typeof Float64Array < "u" && Int32Array.prototype.subarray != null && Int32Array.prototype.set != null, "JS engine does not provide full typed array support"), M(!n.wasmMemory, "Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"), M(!n.INITIAL_MEMORY, "Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically"); + function rk() { + var p = Ms(); + M((p & 3) == 0), p == 0 && (p += 4), ke[p >>> 2 >>> 0] = 34821223, ke[p + 4 >>> 2 >>> 0] = 2310721022, ke[0] = 1668509029; } - function hs() { - if (!ge) { - var p = Hs(); + function Es() { + if (!fe) { + var p = Ms(); p == 0 && (p += 4); - var u = ke[p >>> 2 >>> 0], b = ke[p + 4 >>> 2 >>> 0]; - (u != 34821223 || b != 2310721022) && He(`Stack overflow! Stack cookie has been overwritten at ${Ei(p)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${Ei(b)} ${Ei(u)}`), ke[0] != 1668509029 && He("Runtime error: The application has corrupted its heap memory area (address zero)!"); + var l = ke[p >>> 2 >>> 0], b = ke[p + 4 >>> 2 >>> 0]; + (l != 34821223 || b != 2310721022) && He(`Stack overflow! Stack cookie has been overwritten at ${xi(p)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${xi(b)} ${xi(l)}`), ke[0] != 1668509029 && He("Runtime error: The application has corrupted its heap memory area (address zero)!"); } } - var Wl = [], Ul = [], ql = [], PA = !1; - function xh() { - if (n.preRun) for (typeof n.preRun == "function" && (n.preRun = [n.preRun]); n.preRun.length; ) Ih(n.preRun.shift()); - Bs(Wl); + var cl = [], dl = [], pl = [], yA = !1; + function ik() { + if (n.preRun) for (typeof n.preRun == "function" && (n.preRun = [n.preRun]); n.preRun.length; ) ok(n.preRun.shift()); + Cs(cl); } - function _h() { - O(!PA), PA = !0, hs(), !n.noFSInit && !h.initialized && h.init(), h.ignorePermissions = !1, Pn.init(), Bs(Ul); + function ak() { + M(!yA), yA = !0, Es(), !n.noFSInit && !k.initialized && k.init(), k.ignorePermissions = !1, hn.init(), Cs(dl); } - function Hh() { - if (hs(), n.postRun) for (typeof n.postRun == "function" && (n.postRun = [n.postRun]); n.postRun.length; ) Sh(n.postRun.shift()); - Bs(ql); + function Ak() { + if (Es(), n.postRun) for (typeof n.postRun == "function" && (n.postRun = [n.postRun]); n.postRun.length; ) ck(n.postRun.shift()); + Cs(pl); } - function Ih(p) { - Wl.unshift(p); + function ok(p) { + cl.unshift(p); } - function Qh(p) { - Ul.unshift(p); + function sk(p) { + dl.unshift(p); } - function Sh(p) { - ql.unshift(p); + function ck(p) { + pl.unshift(p); } - O(Math.imul, "This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"), O(Math.fround, "This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"), O(Math.clz32, "This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"), O(Math.trunc, "This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); - var $n = 0, er = null, yi = null, kr = {}; - function Zl(p) { - for (var u = p; ; ) { - if (!kr[p]) return p; - p = u + Math.random(); + M(Math.imul, "This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"), M(Math.fround, "This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"), M(Math.clz32, "This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"), M(Math.trunc, "This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); + var er = 0, tr = null, Ci = null, Dr = {}; + function ul(p) { + for (var l = p; ; ) { + if (!Dr[p]) return p; + p = l + Math.random(); } } - function ks(p) { - $n++, n.monitorRunDependencies?.($n), p ? (O(!kr[p]), kr[p] = 1, er === null && typeof setInterval < "u" && (er = setInterval(() => { - if (ge) { - clearInterval(er), er = null; + function Gs(p) { + er++, n.monitorRunDependencies?.(er), p ? (M(!Dr[p]), Dr[p] = 1, tr === null && typeof setInterval < "u" && (tr = setInterval(() => { + if (fe) { + clearInterval(tr), tr = null; return; } - var u = !1; - for (var b in kr) u || (u = !0, C("still waiting on run dependencies:")), C(`dependency: ${b}`); - u && C("(end of list)"); + var l = !1; + for (var b in Dr) l || (l = !0, C("still waiting on run dependencies:")), C(`dependency: ${b}`); + l && C("(end of list)"); }, 1e4))) : C("warning: run dependency added without ID"); } - function hA(p) { - if ($n--, n.monitorRunDependencies?.($n), p ? (O(kr[p]), delete kr[p]) : C("warning: run dependency removed without ID"), $n == 0 && (er !== null && (clearInterval(er), er = null), yi)) { - var u = yi; - yi = null, u(); + function EA(p) { + if (er--, n.monitorRunDependencies?.(er), p ? (M(Dr[p]), delete Dr[p]) : C("warning: run dependency removed without ID"), er == 0 && (tr !== null && (clearInterval(tr), tr = null), Ci)) { + var l = Ci; + Ci = null, l(); } } function He(p) { - n.onAbort?.(p), p = "Aborted(" + p + ")", C(p), ge = !0; - var u = new WebAssembly.RuntimeError(p); - throw a(u), u; + n.onAbort?.(p), p = "Aborted(" + p + ")", C(p), fe = !0; + var l = new WebAssembly.RuntimeError(p); + throw a(l), l; } - var Oh = "data:application/octet-stream;base64,", zl = (p) => p.startsWith(Oh), Jl = (p) => p.startsWith("file://"); - function c(p, u) { + var dk = "data:application/octet-stream;base64,", ll = (p) => p.startsWith(dk), ml = (p) => p.startsWith("file://"); + function c(p, l) { return (...b) => { - O(PA, `native function \`${p}\` called before runtime initialization`); + M(yA, `native function \`${p}\` called before runtime initialization`); var v = Ne[p]; - return O(v, `exported native function \`${p}\` not found`), O(b.length <= u, `native function \`${p}\` called with ${b.length} args but expects ${u}`), v(...b); + return M(v, `exported native function \`${p}\` not found`), M(b.length <= l, `native function \`${p}\` called with ${b.length} args but expects ${l}`), v(...b); }; } - function Mh() { + function pk() { if (n.locateFile) { var p = "embedpdf.wasm"; - return zl(p) ? p : G(p); + return ll(p) ? p : G(p); } return new URL("embedpdf.wasm", self.location.href).href; } - var Br; - function $l(p) { - if (p == Br && j) return new Uint8Array(j); + var yr; + function wl(p) { + if (p == yr && O) return new Uint8Array(O); if (_) return _(p); throw "both async and sync fetching of the wasm failed"; } - function jh(p) { - return j ? Promise.resolve().then(() => $l(p)) : I(p).then((u) => new Uint8Array(u), () => $l(p)); + function uk(p) { + return O ? Promise.resolve().then(() => wl(p)) : I(p).then((l) => new Uint8Array(l), () => wl(p)); } - function eu(p, u, b) { - return jh(p).then((v) => WebAssembly.instantiate(v, u)).then(b, (v) => { - C(`failed to asynchronously prepare wasm: ${v}`), Jl(Br) && C(`warning: Loading from a file URI (${Br}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`), He(v); + function bl(p, l, b) { + return uk(p).then((v) => WebAssembly.instantiate(v, l)).then(b, (v) => { + C(`failed to asynchronously prepare wasm: ${v}`), ml(yr) && C(`warning: Loading from a file URI (${yr}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`), He(v); }); } - function Rh(p, u, b, v) { - return !p && typeof WebAssembly.instantiateStreaming == "function" && !zl(u) && typeof fetch == "function" ? fetch(u, { credentials: "same-origin" }).then((B) => { + function lk(p, l, b, v) { + return !p && typeof WebAssembly.instantiateStreaming == "function" && !ll(l) && typeof fetch == "function" ? fetch(l, { credentials: "same-origin" }).then((B) => { var y = WebAssembly.instantiateStreaming(B, b); return y.then(v, function(E) { - return C(`wasm streaming compile failed: ${E}`), C("falling back to ArrayBuffer instantiation"), eu(u, b, v); + return C(`wasm streaming compile failed: ${E}`), C("falling back to ArrayBuffer instantiation"), bl(l, b, v); }); - }) : eu(u, b, v); + }) : bl(l, b, v); } - function Lh() { - return { env: bu, wasi_snapshot_preview1: bu }; + function mk() { + return { env: Hl, wasi_snapshot_preview1: Hl }; } - function Th() { + function wk() { function p(B, y) { - return Ne = B.exports, Ne = EB(Ne), n.wasmExports = Ne, X = Ne.memory, O(X, "memory not found in wasm exports"), Xl(), hn = Ne.__indirect_function_table, O(hn, "table not found in wasm exports"), Qh(Ne.__wasm_call_ctors), hA("wasm-instantiate"), Ne; + return Ne = B.exports, Ne = nD(Ne), n.wasmExports = Ne, K = Ne.memory, M(K, "memory not found in wasm exports"), sl(), kn = Ne.__indirect_function_table, M(kn, "table not found in wasm exports"), sk(Ne.__wasm_call_ctors), EA("wasm-instantiate"), Ne; } - ks("wasm-instantiate"); - var u = n; + Gs("wasm-instantiate"); + var l = n; function b(B) { - O(n === u, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"), u = null, p(B.instance); + M(n === l, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"), l = null, p(B.instance); } - var v = Lh(); + var v = mk(); if (n.instantiateWasm) try { return n.instantiateWasm(v, p); } catch (B) { C(`Module.instantiateWasm callback failed with error: ${B}`), a(B); } - return Br ?? (Br = Mh()), Rh(j, Br, v, b).catch(a), {}; + return yr ?? (yr = pk()), lk(O, yr, v, b).catch(a), {}; } var re, Ie; if ((() => { - var p = new Int16Array(1), u = new Int8Array(p.buffer); - if (p[0] = 25459, u[0] !== 115 || u[1] !== 99) throw "Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"; + var p = new Int16Array(1), l = new Int8Array(p.buffer); + if (p[0] = 25459, l[0] !== 115 || l[1] !== 99) throw "Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"; })(), n.ENVIRONMENT) throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)"); - function tr(p, u, b = !0) { + function nr(p, l, b = !0) { Object.getOwnPropertyDescriptor(n, p) || Object.defineProperty(n, p, { configurable: !0, get() { let v = b ? " (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)" : ""; - He(`\`Module.${p}\` has been replaced by \`${u}\`` + v); + He(`\`Module.${p}\` has been replaced by \`${l}\`` + v); } }); } - function Kh(p) { + function bk(p) { Object.getOwnPropertyDescriptor(n, p) && He(`\`Module.${p}\` was supplied but \`${p}\` not included in INCOMING_MODULE_JS_API`); } - function tu(p) { + function gl(p) { return p === "FS_createPath" || p === "FS_createDataFile" || p === "FS_createPreloadedFile" || p === "FS_unlink" || p === "addRunDependency" || p === "FS_createLazyFile" || p === "FS_createDevice" || p === "removeRunDependency"; } - function nu(p, u) { + function fl(p, l) { typeof globalThis < "u" && !Object.getOwnPropertyDescriptor(globalThis, p) && Object.defineProperty(globalThis, p, { configurable: !0, get() { - u(); + l(); } }); } - function ru(p, u) { - nu(p, () => { - Fn(`\`${p}\` is not longer defined by emscripten. ${u}`); + function Fl(p, l) { + fl(p, () => { + vn(`\`${p}\` is not longer defined by emscripten. ${l}`); }); } - ru("buffer", "Please use HEAP8.buffer or wasmMemory.buffer"), ru("asm", "Please use wasmExports instead"); - function Nh(p) { - nu(p, () => { - var u = `\`${p}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`, b = p; - b.startsWith("_") || (b = "$" + p), u += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${b}')`, tu(p) && (u += ". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"), Fn(u); - }), iu(p); + Fl("buffer", "Please use HEAP8.buffer or wasmMemory.buffer"), Fl("asm", "Please use wasmExports instead"); + function gk(p) { + fl(p, () => { + var l = `\`${p}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`, b = p; + b.startsWith("_") || (b = "$" + p), l += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${b}')`, gl(p) && (l += ". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"), vn(l); + }), vl(p); } - function iu(p) { + function vl(p) { Object.getOwnPropertyDescriptor(n, p) || Object.defineProperty(n, p, { configurable: !0, get() { - var u = `'${p}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - tu(p) && (u += ". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"), He(u); + var l = `'${p}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; + gl(p) && (l += ". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"), He(l); } }); } - class Vh { - constructor(u) { - wt(this, "name", "ExitStatus"), this.message = `Program terminated with exit(${u})`, this.status = u; + class fk { + constructor(l) { + gt(this, "name", "ExitStatus"), this.message = `Program terminated with exit(${l})`, this.status = l; } } - var Bs = (p) => { + var Cs = (p) => { for (; p.length > 0; ) p.shift()(n); }; - function Yh(p, u = "i8") { - switch (u.endsWith("*") && (u = "*"), u) { + function Fk(p, l = "i8") { + switch (l.endsWith("*") && (l = "*"), l) { case "i1": - return U[p >>> 0]; + return q[p >>> 0]; case "i8": - return U[p >>> 0]; + return q[p >>> 0]; case "i16": return Ae[p >>> 1 >>> 0]; case "i32": - return q[p >>> 2 >>> 0]; + return Z[p >>> 2 >>> 0]; case "i64": He("to do getValue(i64) use WASM_BIGINT"); case "float": - return nn[p >>> 2 >>> 0]; + return rn[p >>> 2 >>> 0]; case "double": - return hr[p >>> 3 >>> 0]; + return Br[p >>> 3 >>> 0]; case "*": return ke[p >>> 2 >>> 0]; default: - He(`invalid type for getValue: ${u}`); + He(`invalid type for getValue: ${l}`); } } - var Xh = n.noExitRuntime || !0, Ei = (p) => (O(typeof p == "number"), "0x" + p.toString(16).padStart(8, "0")); - function Wh(p, u, b = "i8") { + var vk = n.noExitRuntime || !0, xi = (p) => (M(typeof p == "number"), "0x" + p.toString(16).padStart(8, "0")); + function Pk(p, l, b = "i8") { switch (b.endsWith("*") && (b = "*"), b) { case "i1": - U[p >>> 0] = u; + q[p >>> 0] = l; break; case "i8": - U[p >>> 0] = u; + q[p >>> 0] = l; break; case "i16": - Ae[p >>> 1 >>> 0] = u; + Ae[p >>> 1 >>> 0] = l; break; case "i32": - q[p >>> 2 >>> 0] = u; + Z[p >>> 2 >>> 0] = l; break; case "i64": He("to do setValue(i64) use WASM_BIGINT"); case "float": - nn[p >>> 2 >>> 0] = u; + rn[p >>> 2 >>> 0] = l; break; case "double": - hr[p >>> 3 >>> 0] = u; + Br[p >>> 3 >>> 0] = l; break; case "*": - ke[p >>> 2 >>> 0] = u; + ke[p >>> 2 >>> 0] = l; break; default: He(`invalid type for setValue: ${b}`); } } - var Ft = (p) => Fu(p), vt = () => Pu(), Fn = (p) => { - Fn.shown || (Fn.shown = {}), Fn.shown[p] || (Fn.shown[p] = 1, C(p)); - }, Dr = (p, u) => (O(p == p >>> 0 || p == (p | 0)), O(u === (u | 0)), u + 2097152 >>> 0 < 4194305 - !!p ? (p >>> 0) + u * 4294967296 : NaN), au = typeof TextDecoder < "u" ? new TextDecoder() : void 0, yr = (p, u = 0, b = NaN) => { - u >>>= 0; - for (var v = u + b, B = u; p[B] && !(B >= v); ) ++B; - if (B - u > 16 && p.buffer && au) return au.decode(p.subarray(u, B)); - for (var y = ""; u < B; ) { - var E = p[u++]; + var mt = (p) => Sl(p), wt = () => Ml(), vn = (p) => { + vn.shown || (vn.shown = {}), vn.shown[p] || (vn.shown[p] = 1, C(p)); + }, Er = (p, l) => (M(p == p >>> 0 || p == (p | 0)), M(l === (l | 0)), l + 2097152 >>> 0 < 4194305 - !!p ? (p >>> 0) + l * 4294967296 : NaN), Pl = typeof TextDecoder < "u" ? new TextDecoder() : void 0, Gr = (p, l = 0, b = NaN) => { + l >>>= 0; + for (var v = l + b, B = l; p[B] && !(B >= v); ) ++B; + if (B - l > 16 && p.buffer && Pl) return Pl.decode(p.subarray(l, B)); + for (var y = ""; l < B; ) { + var E = p[l++]; if (!(E & 128)) { y += String.fromCharCode(E); continue; } - var x = p[u++] & 63; + var x = p[l++] & 63; if ((E & 224) == 192) { y += String.fromCharCode((E & 31) << 6 | x); continue; } - var R = p[u++] & 63; - if ((E & 240) == 224 ? E = (E & 15) << 12 | x << 6 | R : ((E & 248) != 240 && Fn("Invalid UTF-8 leading byte " + Ei(E) + " encountered when deserializing a UTF-8 string in wasm memory to a JS string!"), E = (E & 7) << 18 | x << 12 | R << 6 | p[u++] & 63), E < 65536) y += String.fromCharCode(E); + var j = p[l++] & 63; + if ((E & 240) == 224 ? E = (E & 15) << 12 | x << 6 | j : ((E & 248) != 240 && vn("Invalid UTF-8 leading byte " + xi(E) + " encountered when deserializing a UTF-8 string in wasm memory to a JS string!"), E = (E & 7) << 18 | x << 12 | j << 6 | p[l++] & 63), E < 65536) y += String.fromCharCode(E); else { var $ = E - 65536; y += String.fromCharCode(55296 | $ >> 10, 56320 | $ & 1023); } } return y; - }, On = (p, u) => (O(typeof p == "number", `UTF8ToString expects a number (got ${typeof p})`), p >>>= 0, p ? yr(ae, p, u) : ""); - function Uh(p, u, b, v) { - p >>>= 0, u >>>= 0, v >>>= 0, He(`Assertion failed: ${On(p)}, at: ` + [u ? On(u) : "unknown filename", b, v ? On(v) : "unknown function"]); + }, Mn = (p, l) => (M(typeof p == "number", `UTF8ToString expects a number (got ${typeof p})`), p >>>= 0, p ? Gr(ae, p, l) : ""); + function hk(p, l, b, v) { + p >>>= 0, l >>>= 0, v >>>= 0, He(`Assertion failed: ${Mn(p)}, at: ` + [l ? Mn(l) : "unknown filename", b, v ? Mn(v) : "unknown function"]); } - var kA = () => { - O(he.varargs != null); - var p = q[+he.varargs >>> 2 >>> 0]; + var GA = () => { + M(he.varargs != null); + var p = Z[+he.varargs >>> 2 >>> 0]; return he.varargs += 4, p; - }, Er = kA, Ge = { isAbs: (p) => p.charAt(0) === "/", splitPath: (p) => { - var u = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return u.exec(p).slice(1); - }, normalizeArray: (p, u) => { + }, Cr = GA, Ge = { isAbs: (p) => p.charAt(0) === "/", splitPath: (p) => { + var l = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return l.exec(p).slice(1); + }, normalizeArray: (p, l) => { for (var b = 0, v = p.length - 1; v >= 0; v--) { var B = p[v]; B === "." ? p.splice(v, 1) : B === ".." ? (p.splice(v, 1), b++) : b && (p.splice(v, 1), b--); } - if (u) for (; b; b--) p.unshift(".."); + if (l) for (; b; b--) p.unshift(".."); return p; }, normalize: (p) => { - var u = Ge.isAbs(p), b = p.substr(-1) === "/"; - return p = Ge.normalizeArray(p.split("/").filter((v) => !!v), !u).join("/"), !p && !u && (p = "."), p && b && (p += "/"), (u ? "/" : "") + p; + var l = Ge.isAbs(p), b = p.substr(-1) === "/"; + return p = Ge.normalizeArray(p.split("/").filter((v) => !!v), !l).join("/"), !p && !l && (p = "."), p && b && (p += "/"), (l ? "/" : "") + p; }, dirname: (p) => { - var u = Ge.splitPath(p), b = u[0], v = u[1]; + var l = Ge.splitPath(p), b = l[0], v = l[1]; return !b && !v ? "." : (v && (v = v.substr(0, v.length - 1)), b + v); }, basename: (p) => { if (p === "/") return "/"; p = Ge.normalize(p), p = p.replace(/\/$/, ""); - var u = p.lastIndexOf("/"); - return u === -1 ? p : p.substr(u + 1); - }, join: (...p) => Ge.normalize(p.join("/")), join2: (p, u) => Ge.normalize(p + "/" + u) }, qh = () => { + var l = p.lastIndexOf("/"); + return l === -1 ? p : p.substr(l + 1); + }, join: (...p) => Ge.normalize(p.join("/")), join2: (p, l) => Ge.normalize(p + "/" + l) }, kk = () => { if (typeof crypto == "object" && typeof crypto.getRandomValues == "function") return (p) => crypto.getRandomValues(p); He("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };"); - }, Ds = (p) => (Ds = qh())(p), vn = { resolve: (...p) => { - for (var u = "", b = !1, v = p.length - 1; v >= -1 && !b; v--) { - var B = v >= 0 ? p[v] : h.cwd(); + }, xs = (p) => (xs = kk())(p), Pn = { resolve: (...p) => { + for (var l = "", b = !1, v = p.length - 1; v >= -1 && !b; v--) { + var B = v >= 0 ? p[v] : k.cwd(); if (typeof B != "string") throw new TypeError("Arguments to path.resolve must be strings"); if (!B) return ""; - u = B + "/" + u, b = Ge.isAbs(B); + l = B + "/" + l, b = Ge.isAbs(B); } - return u = Ge.normalizeArray(u.split("/").filter((y) => !!y), !b).join("/"), (b ? "/" : "") + u || "."; - }, relative: (p, u) => { - p = vn.resolve(p).substr(1), u = vn.resolve(u).substr(1); + return l = Ge.normalizeArray(l.split("/").filter((y) => !!y), !b).join("/"), (b ? "/" : "") + l || "."; + }, relative: (p, l) => { + p = Pn.resolve(p).substr(1), l = Pn.resolve(l).substr(1); function b($) { for (var ee = 0; ee < $.length && $[ee] === ""; ee++) ; for (var ie = $.length - 1; ie >= 0 && $[ie] === ""; ie--) ; return ee > ie ? [] : $.slice(ee, ie - ee + 1); } - for (var v = b(p.split("/")), B = b(u.split("/")), y = Math.min(v.length, B.length), E = y, x = 0; x < y; x++) if (v[x] !== B[x]) { + for (var v = b(p.split("/")), B = b(l.split("/")), y = Math.min(v.length, B.length), E = y, x = 0; x < y; x++) if (v[x] !== B[x]) { E = x; break; } - for (var R = [], x = E; x < v.length; x++) R.push(".."); - return R = R.concat(B.slice(E)), R.join("/"); - } }, ys = [], Gi = (p) => { - for (var u = 0, b = 0; b < p.length; ++b) { + for (var j = [], x = E; x < v.length; x++) j.push(".."); + return j = j.concat(B.slice(E)), j.join("/"); + } }, _s = [], _i = (p) => { + for (var l = 0, b = 0; b < p.length; ++b) { var v = p.charCodeAt(b); - v <= 127 ? u++ : v <= 2047 ? u += 2 : v >= 55296 && v <= 57343 ? (u += 4, ++b) : u += 3; + v <= 127 ? l++ : v <= 2047 ? l += 2 : v >= 55296 && v <= 57343 ? (l += 4, ++b) : l += 3; } - return u; - }, Es = (p, u, b, v) => { - if (b >>>= 0, O(typeof p == "string", `stringToUTF8Array expects a string (got ${typeof p})`), !(v > 0)) return 0; + return l; + }, Hs = (p, l, b, v) => { + if (b >>>= 0, M(typeof p == "string", `stringToUTF8Array expects a string (got ${typeof p})`), !(v > 0)) return 0; for (var B = b, y = b + v - 1, E = 0; E < p.length; ++E) { var x = p.charCodeAt(E); if (x >= 55296 && x <= 57343) { - var R = p.charCodeAt(++E); - x = 65536 + ((x & 1023) << 10) | R & 1023; + var j = p.charCodeAt(++E); + x = 65536 + ((x & 1023) << 10) | j & 1023; } if (x <= 127) { if (b >= y) break; - u[b++ >>> 0] = x; + l[b++ >>> 0] = x; } else if (x <= 2047) { if (b + 1 >= y) break; - u[b++ >>> 0] = 192 | x >> 6, u[b++ >>> 0] = 128 | x & 63; + l[b++ >>> 0] = 192 | x >> 6, l[b++ >>> 0] = 128 | x & 63; } else if (x <= 65535) { if (b + 2 >= y) break; - u[b++ >>> 0] = 224 | x >> 12, u[b++ >>> 0] = 128 | x >> 6 & 63, u[b++ >>> 0] = 128 | x & 63; + l[b++ >>> 0] = 224 | x >> 12, l[b++ >>> 0] = 128 | x >> 6 & 63, l[b++ >>> 0] = 128 | x & 63; } else { if (b + 3 >= y) break; - x > 1114111 && Fn("Invalid Unicode code point " + Ei(x) + " encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."), u[b++ >>> 0] = 240 | x >> 18, u[b++ >>> 0] = 128 | x >> 12 & 63, u[b++ >>> 0] = 128 | x >> 6 & 63, u[b++ >>> 0] = 128 | x & 63; + x > 1114111 && vn("Invalid Unicode code point " + xi(x) + " encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."), l[b++ >>> 0] = 240 | x >> 18, l[b++ >>> 0] = 128 | x >> 12 & 63, l[b++ >>> 0] = 128 | x >> 6 & 63, l[b++ >>> 0] = 128 | x & 63; } } - return u[b >>> 0] = 0, b - B; + return l[b >>> 0] = 0, b - B; }; - function Au(p, u, b) { - var v = b > 0 ? b : Gi(p) + 1, B = new Array(v), y = Es(p, B, 0, B.length); - return u && (B.length = y), B; + function hl(p, l, b) { + var v = b > 0 ? b : _i(p) + 1, B = new Array(v), y = Hs(p, B, 0, B.length); + return l && (B.length = y), B; } - var Zh = () => { - if (!ys.length) { + var Bk = () => { + if (!_s.length) { var p = null; if (typeof window < "u" && typeof window.prompt == "function" && (p = window.prompt("Input: "), p !== null && (p += ` `)), !p) return null; - ys = Au(p, !0); + _s = hl(p, !0); } - return ys.shift(); - }, Pn = { ttys: [], init() { + return _s.shift(); + }, hn = { ttys: [], init() { }, shutdown() { - }, register(p, u) { - Pn.ttys[p] = { input: [], output: [], ops: u }, h.registerDevice(p, Pn.stream_ops); + }, register(p, l) { + hn.ttys[p] = { input: [], output: [], ops: l }, k.registerDevice(p, hn.stream_ops); }, stream_ops: { open(p) { - var u = Pn.ttys[p.node.rdev]; - if (!u) throw new h.ErrnoError(43); - p.tty = u, p.seekable = !1; + var l = hn.ttys[p.node.rdev]; + if (!l) throw new k.ErrnoError(43); + p.tty = l, p.seekable = !1; }, close(p) { p.tty.ops.fsync(p.tty); }, fsync(p) { p.tty.ops.fsync(p.tty); - }, read(p, u, b, v, B) { - if (!p.tty || !p.tty.ops.get_char) throw new h.ErrnoError(60); + }, read(p, l, b, v, B) { + if (!p.tty || !p.tty.ops.get_char) throw new k.ErrnoError(60); for (var y = 0, E = 0; E < v; E++) { var x; try { x = p.tty.ops.get_char(p.tty); } catch { - throw new h.ErrnoError(29); + throw new k.ErrnoError(29); } - if (x === void 0 && y === 0) throw new h.ErrnoError(6); + if (x === void 0 && y === 0) throw new k.ErrnoError(6); if (x == null) break; - y++, u[b + E] = x; + y++, l[b + E] = x; } return y && (p.node.timestamp = Date.now()), y; - }, write(p, u, b, v, B) { - if (!p.tty || !p.tty.ops.put_char) throw new h.ErrnoError(60); + }, write(p, l, b, v, B) { + if (!p.tty || !p.tty.ops.put_char) throw new k.ErrnoError(60); try { - for (var y = 0; y < v; y++) p.tty.ops.put_char(p.tty, u[b + y]); + for (var y = 0; y < v; y++) p.tty.ops.put_char(p.tty, l[b + y]); } catch { - throw new h.ErrnoError(29); + throw new k.ErrnoError(29); } return v && (p.node.timestamp = Date.now()), y; } }, default_tty_ops: { get_char(p) { - return Zh(); - }, put_char(p, u) { - u === null || u === 10 ? (H(yr(p.output)), p.output = []) : u != 0 && p.output.push(u); + return Bk(); + }, put_char(p, l) { + l === null || l === 10 ? (H(Gr(p.output)), p.output = []) : l != 0 && p.output.push(l); }, fsync(p) { - p.output && p.output.length > 0 && (H(yr(p.output)), p.output = []); + p.output && p.output.length > 0 && (H(Gr(p.output)), p.output = []); }, ioctl_tcgets(p) { return { c_iflag: 25856, c_oflag: 5, c_cflag: 191, c_lflag: 35387, c_cc: [3, 28, 127, 21, 4, 0, 1, 0, 17, 19, 26, 0, 18, 15, 23, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }; - }, ioctl_tcsets(p, u, b) { + }, ioctl_tcsets(p, l, b) { return 0; }, ioctl_tiocgwinsz(p) { return [24, 80]; - } }, default_tty1_ops: { put_char(p, u) { - u === null || u === 10 ? (C(yr(p.output)), p.output = []) : u != 0 && p.output.push(u); + } }, default_tty1_ops: { put_char(p, l) { + l === null || l === 10 ? (C(Gr(p.output)), p.output = []) : l != 0 && p.output.push(l); }, fsync(p) { - p.output && p.output.length > 0 && (C(yr(p.output)), p.output = []); - } } }, zh = (p, u) => { - ae.fill(0, p, p + u); - }, ou = (p, u) => (O(u, "alignment argument is required"), Math.ceil(p / u) * u), su = (p) => { - p = ou(p, 65536); - var u = uB(65536, p); - return u && zh(u, p), u; + p.output && p.output.length > 0 && (C(Gr(p.output)), p.output = []); + } } }, Dk = (p, l) => { + ae.fill(0, p, p + l); + }, kl = (p, l) => (M(l, "alignment argument is required"), Math.ceil(p / l) * l), Bl = (p) => { + p = kl(p, 65536); + var l = TB(65536, p); + return l && Dk(l, p), l; }, se = { ops_table: null, mount(p) { return se.createNode(null, "/", 16895, 0); - }, createNode(p, u, b, v) { - if (h.isBlkdev(b) || h.isFIFO(b)) throw new h.ErrnoError(63); - se.ops_table || (se.ops_table = { dir: { node: { getattr: se.node_ops.getattr, setattr: se.node_ops.setattr, lookup: se.node_ops.lookup, mknod: se.node_ops.mknod, rename: se.node_ops.rename, unlink: se.node_ops.unlink, rmdir: se.node_ops.rmdir, readdir: se.node_ops.readdir, symlink: se.node_ops.symlink }, stream: { llseek: se.stream_ops.llseek } }, file: { node: { getattr: se.node_ops.getattr, setattr: se.node_ops.setattr }, stream: { llseek: se.stream_ops.llseek, read: se.stream_ops.read, write: se.stream_ops.write, allocate: se.stream_ops.allocate, mmap: se.stream_ops.mmap, msync: se.stream_ops.msync } }, link: { node: { getattr: se.node_ops.getattr, setattr: se.node_ops.setattr, readlink: se.node_ops.readlink }, stream: {} }, chrdev: { node: { getattr: se.node_ops.getattr, setattr: se.node_ops.setattr }, stream: h.chrdev_stream_ops } }); - var B = h.createNode(p, u, b, v); - return h.isDir(B.mode) ? (B.node_ops = se.ops_table.dir.node, B.stream_ops = se.ops_table.dir.stream, B.contents = {}) : h.isFile(B.mode) ? (B.node_ops = se.ops_table.file.node, B.stream_ops = se.ops_table.file.stream, B.usedBytes = 0, B.contents = null) : h.isLink(B.mode) ? (B.node_ops = se.ops_table.link.node, B.stream_ops = se.ops_table.link.stream) : h.isChrdev(B.mode) && (B.node_ops = se.ops_table.chrdev.node, B.stream_ops = se.ops_table.chrdev.stream), B.timestamp = Date.now(), p && (p.contents[u] = B, p.timestamp = B.timestamp), B; + }, createNode(p, l, b, v) { + if (k.isBlkdev(b) || k.isFIFO(b)) throw new k.ErrnoError(63); + se.ops_table || (se.ops_table = { dir: { node: { getattr: se.node_ops.getattr, setattr: se.node_ops.setattr, lookup: se.node_ops.lookup, mknod: se.node_ops.mknod, rename: se.node_ops.rename, unlink: se.node_ops.unlink, rmdir: se.node_ops.rmdir, readdir: se.node_ops.readdir, symlink: se.node_ops.symlink }, stream: { llseek: se.stream_ops.llseek } }, file: { node: { getattr: se.node_ops.getattr, setattr: se.node_ops.setattr }, stream: { llseek: se.stream_ops.llseek, read: se.stream_ops.read, write: se.stream_ops.write, allocate: se.stream_ops.allocate, mmap: se.stream_ops.mmap, msync: se.stream_ops.msync } }, link: { node: { getattr: se.node_ops.getattr, setattr: se.node_ops.setattr, readlink: se.node_ops.readlink }, stream: {} }, chrdev: { node: { getattr: se.node_ops.getattr, setattr: se.node_ops.setattr }, stream: k.chrdev_stream_ops } }); + var B = k.createNode(p, l, b, v); + return k.isDir(B.mode) ? (B.node_ops = se.ops_table.dir.node, B.stream_ops = se.ops_table.dir.stream, B.contents = {}) : k.isFile(B.mode) ? (B.node_ops = se.ops_table.file.node, B.stream_ops = se.ops_table.file.stream, B.usedBytes = 0, B.contents = null) : k.isLink(B.mode) ? (B.node_ops = se.ops_table.link.node, B.stream_ops = se.ops_table.link.stream) : k.isChrdev(B.mode) && (B.node_ops = se.ops_table.chrdev.node, B.stream_ops = se.ops_table.chrdev.stream), B.timestamp = Date.now(), p && (p.contents[l] = B, p.timestamp = B.timestamp), B; }, getFileDataAsTypedArray(p) { return p.contents ? p.contents.subarray ? p.contents.subarray(0, p.usedBytes) : new Uint8Array(p.contents) : new Uint8Array(0); - }, expandFileStorage(p, u) { + }, expandFileStorage(p, l) { var b = p.contents ? p.contents.length : 0; - if (!(b >= u)) { + if (!(b >= l)) { var v = 1048576; - u = Math.max(u, b * (b < v ? 2 : 1.125) >>> 0), b != 0 && (u = Math.max(u, 256)); + l = Math.max(l, b * (b < v ? 2 : 1.125) >>> 0), b != 0 && (l = Math.max(l, 256)); var B = p.contents; - p.contents = new Uint8Array(u), p.usedBytes > 0 && p.contents.set(B.subarray(0, p.usedBytes), 0); + p.contents = new Uint8Array(l), p.usedBytes > 0 && p.contents.set(B.subarray(0, p.usedBytes), 0); } - }, resizeFileStorage(p, u) { - if (p.usedBytes != u) if (u == 0) p.contents = null, p.usedBytes = 0; + }, resizeFileStorage(p, l) { + if (p.usedBytes != l) if (l == 0) p.contents = null, p.usedBytes = 0; else { var b = p.contents; - p.contents = new Uint8Array(u), b && p.contents.set(b.subarray(0, Math.min(u, p.usedBytes))), p.usedBytes = u; + p.contents = new Uint8Array(l), b && p.contents.set(b.subarray(0, Math.min(l, p.usedBytes))), p.usedBytes = l; } }, node_ops: { getattr(p) { - var u = {}; - return u.dev = h.isChrdev(p.mode) ? p.id : 1, u.ino = p.id, u.mode = p.mode, u.nlink = 1, u.uid = 0, u.gid = 0, u.rdev = p.rdev, h.isDir(p.mode) ? u.size = 4096 : h.isFile(p.mode) ? u.size = p.usedBytes : h.isLink(p.mode) ? u.size = p.link.length : u.size = 0, u.atime = new Date(p.timestamp), u.mtime = new Date(p.timestamp), u.ctime = new Date(p.timestamp), u.blksize = 4096, u.blocks = Math.ceil(u.size / u.blksize), u; - }, setattr(p, u) { - u.mode !== void 0 && (p.mode = u.mode), u.timestamp !== void 0 && (p.timestamp = u.timestamp), u.size !== void 0 && se.resizeFileStorage(p, u.size); - }, lookup(p, u) { - throw new h.ErrnoError(44); - }, mknod(p, u, b, v) { - return se.createNode(p, u, b, v); - }, rename(p, u, b) { - if (h.isDir(p.mode)) { + var l = {}; + return l.dev = k.isChrdev(p.mode) ? p.id : 1, l.ino = p.id, l.mode = p.mode, l.nlink = 1, l.uid = 0, l.gid = 0, l.rdev = p.rdev, k.isDir(p.mode) ? l.size = 4096 : k.isFile(p.mode) ? l.size = p.usedBytes : k.isLink(p.mode) ? l.size = p.link.length : l.size = 0, l.atime = new Date(p.timestamp), l.mtime = new Date(p.timestamp), l.ctime = new Date(p.timestamp), l.blksize = 4096, l.blocks = Math.ceil(l.size / l.blksize), l; + }, setattr(p, l) { + l.mode !== void 0 && (p.mode = l.mode), l.timestamp !== void 0 && (p.timestamp = l.timestamp), l.size !== void 0 && se.resizeFileStorage(p, l.size); + }, lookup(p, l) { + throw new k.ErrnoError(44); + }, mknod(p, l, b, v) { + return se.createNode(p, l, b, v); + }, rename(p, l, b) { + if (k.isDir(p.mode)) { var v; try { - v = h.lookupNode(u, b); + v = k.lookupNode(l, b); } catch { } - if (v) for (var B in v.contents) throw new h.ErrnoError(55); + if (v) for (var B in v.contents) throw new k.ErrnoError(55); } - delete p.parent.contents[p.name], p.parent.timestamp = Date.now(), p.name = b, u.contents[b] = p, u.timestamp = p.parent.timestamp; - }, unlink(p, u) { - delete p.contents[u], p.timestamp = Date.now(); - }, rmdir(p, u) { - var b = h.lookupNode(p, u); - for (var v in b.contents) throw new h.ErrnoError(55); - delete p.contents[u], p.timestamp = Date.now(); + delete p.parent.contents[p.name], p.parent.timestamp = Date.now(), p.name = b, l.contents[b] = p, l.timestamp = p.parent.timestamp; + }, unlink(p, l) { + delete p.contents[l], p.timestamp = Date.now(); + }, rmdir(p, l) { + var b = k.lookupNode(p, l); + for (var v in b.contents) throw new k.ErrnoError(55); + delete p.contents[l], p.timestamp = Date.now(); }, readdir(p) { - var u = [".", ".."]; - for (var b of Object.keys(p.contents)) u.push(b); - return u; - }, symlink(p, u, b) { - var v = se.createNode(p, u, 41471, 0); + var l = [".", ".."]; + for (var b of Object.keys(p.contents)) l.push(b); + return l; + }, symlink(p, l, b) { + var v = se.createNode(p, l, 41471, 0); return v.link = b, v; }, readlink(p) { - if (!h.isLink(p.mode)) throw new h.ErrnoError(28); + if (!k.isLink(p.mode)) throw new k.ErrnoError(28); return p.link; - } }, stream_ops: { read(p, u, b, v, B) { + } }, stream_ops: { read(p, l, b, v, B) { var y = p.node.contents; if (B >= p.node.usedBytes) return 0; var E = Math.min(p.node.usedBytes - B, v); - if (O(E >= 0), E > 8 && y.subarray) u.set(y.subarray(B, B + E), b); - else for (var x = 0; x < E; x++) u[b + x] = y[B + x]; + if (M(E >= 0), E > 8 && y.subarray) l.set(y.subarray(B, B + E), b); + else for (var x = 0; x < E; x++) l[b + x] = y[B + x]; return E; - }, write(p, u, b, v, B, y) { - if (O(!(u instanceof ArrayBuffer)), u.buffer === U.buffer && (y = !1), !v) return 0; + }, write(p, l, b, v, B, y) { + if (M(!(l instanceof ArrayBuffer)), l.buffer === q.buffer && (y = !1), !v) return 0; var E = p.node; - if (E.timestamp = Date.now(), u.subarray && (!E.contents || E.contents.subarray)) { - if (y) return O(B === 0, "canOwn must imply no weird position inside the file"), E.contents = u.subarray(b, b + v), E.usedBytes = v, v; - if (E.usedBytes === 0 && B === 0) return E.contents = u.slice(b, b + v), E.usedBytes = v, v; - if (B + v <= E.usedBytes) return E.contents.set(u.subarray(b, b + v), B), v; + if (E.timestamp = Date.now(), l.subarray && (!E.contents || E.contents.subarray)) { + if (y) return M(B === 0, "canOwn must imply no weird position inside the file"), E.contents = l.subarray(b, b + v), E.usedBytes = v, v; + if (E.usedBytes === 0 && B === 0) return E.contents = l.slice(b, b + v), E.usedBytes = v, v; + if (B + v <= E.usedBytes) return E.contents.set(l.subarray(b, b + v), B), v; } - if (se.expandFileStorage(E, B + v), E.contents.subarray && u.subarray) E.contents.set(u.subarray(b, b + v), B); - else for (var x = 0; x < v; x++) E.contents[B + x] = u[b + x]; + if (se.expandFileStorage(E, B + v), E.contents.subarray && l.subarray) E.contents.set(l.subarray(b, b + v), B); + else for (var x = 0; x < v; x++) E.contents[B + x] = l[b + x]; return E.usedBytes = Math.max(E.usedBytes, B + v), v; - }, llseek(p, u, b) { - var v = u; - if (b === 1 ? v += p.position : b === 2 && h.isFile(p.node.mode) && (v += p.node.usedBytes), v < 0) throw new h.ErrnoError(28); + }, llseek(p, l, b) { + var v = l; + if (b === 1 ? v += p.position : b === 2 && k.isFile(p.node.mode) && (v += p.node.usedBytes), v < 0) throw new k.ErrnoError(28); return v; - }, allocate(p, u, b) { - se.expandFileStorage(p.node, u + b), p.node.usedBytes = Math.max(p.node.usedBytes, u + b); - }, mmap(p, u, b, v, B) { - if (!h.isFile(p.node.mode)) throw new h.ErrnoError(43); + }, allocate(p, l, b) { + se.expandFileStorage(p.node, l + b), p.node.usedBytes = Math.max(p.node.usedBytes, l + b); + }, mmap(p, l, b, v, B) { + if (!k.isFile(p.node.mode)) throw new k.ErrnoError(43); var y, E, x = p.node.contents; - if (!(B & 2) && x && x.buffer === U.buffer) E = !1, y = x.byteOffset; + if (!(B & 2) && x && x.buffer === q.buffer) E = !1, y = x.byteOffset; else { - if (E = !0, y = su(u), !y) throw new h.ErrnoError(48); - x && ((b > 0 || b + u < x.length) && (x.subarray ? x = x.subarray(b, b + u) : x = Array.prototype.slice.call(x, b, b + u)), U.set(x, y >>> 0)); + if (E = !0, y = Bl(l), !y) throw new k.ErrnoError(48); + x && ((b > 0 || b + l < x.length) && (x.subarray ? x = x.subarray(b, b + l) : x = Array.prototype.slice.call(x, b, b + l)), q.set(x, y >>> 0)); } return { ptr: y, allocated: E }; - }, msync(p, u, b, v, B) { - return se.stream_ops.write(p, u, 0, v, b, !1), 0; - } } }, Jh = (p, u, b, v) => { - var B = v ? "" : Zl(`al ${p}`); + }, msync(p, l, b, v, B) { + return se.stream_ops.write(p, l, 0, v, b, !1), 0; + } } }, yk = (p, l, b, v) => { + var B = v ? "" : ul(`al ${p}`); I(p).then((y) => { - O(y, `Loading data file "${p}" failed (no arrayBuffer).`), u(new Uint8Array(y)), B && hA(B); + M(y, `Loading data file "${p}" failed (no arrayBuffer).`), l(new Uint8Array(y)), B && EA(B); }, (y) => { if (b) b(); else throw `Loading data file "${p}" failed.`; - }), B && ks(B); - }, $h = (p, u, b, v, B, y) => { - h.createDataFile(p, u, b, v, B, y); - }, ek = n.preloadPlugins || [], tk = (p, u, b, v) => { + }), B && Gs(B); + }, Ek = (p, l, b, v, B, y) => { + k.createDataFile(p, l, b, v, B, y); + }, Gk = n.preloadPlugins || [], Ck = (p, l, b, v) => { typeof Browser < "u" && Browser.init(); var B = !1; - return ek.forEach((y) => { - B || y.canHandle(u) && (y.handle(p, u, b, v), B = !0); + return Gk.forEach((y) => { + B || y.canHandle(l) && (y.handle(p, l, b, v), B = !0); }), B; - }, nk = (p, u, b, v, B, y, E, x, R, $) => { - var ee = u ? vn.resolve(Ge.join2(p, u)) : p, ie = Zl(`cp ${ee}`); + }, xk = (p, l, b, v, B, y, E, x, j, $) => { + var ee = l ? Pn.resolve(Ge.join2(p, l)) : p, ie = ul(`cp ${ee}`); function ce(z) { function oe(Ce) { - $?.(), x || $h(p, u, Ce, v, B, R), y?.(), hA(ie); + $?.(), x || Ek(p, l, Ce, v, B, j), y?.(), EA(ie); } - tk(z, ee, oe, () => { - E?.(), hA(ie); + Ck(z, ee, oe, () => { + E?.(), EA(ie); }) || oe(z); } - ks(ie), typeof b == "string" ? Jh(b, ce, E) : ce(b); - }, rk = (p) => { - var u = { r: 0, "r+": 2, w: 577, "w+": 578, a: 1089, "a+": 1090 }, b = u[p]; + Gs(ie), typeof b == "string" ? yk(b, ce, E) : ce(b); + }, _k = (p) => { + var l = { r: 0, "r+": 2, w: 577, "w+": 578, a: 1089, "a+": 1090 }, b = l[p]; if (typeof b > "u") throw new Error(`Unknown file open mode: ${p}`); return b; - }, Gs = (p, u) => { + }, Is = (p, l) => { var b = 0; - return p && (b |= 365), u && (b |= 146), b; - }, ik = (p) => On(lB(p)), cu = { EPERM: 63, ENOENT: 44, ESRCH: 71, EINTR: 27, EIO: 29, ENXIO: 60, E2BIG: 1, ENOEXEC: 45, EBADF: 8, ECHILD: 12, EAGAIN: 6, EWOULDBLOCK: 6, ENOMEM: 48, EACCES: 2, EFAULT: 21, ENOTBLK: 105, EBUSY: 10, EEXIST: 20, EXDEV: 75, ENODEV: 43, ENOTDIR: 54, EISDIR: 31, EINVAL: 28, ENFILE: 41, EMFILE: 33, ENOTTY: 59, ETXTBSY: 74, EFBIG: 22, ENOSPC: 51, ESPIPE: 70, EROFS: 69, EMLINK: 34, EPIPE: 64, EDOM: 18, ERANGE: 68, ENOMSG: 49, EIDRM: 24, ECHRNG: 106, EL2NSYNC: 156, EL3HLT: 107, EL3RST: 108, ELNRNG: 109, EUNATCH: 110, ENOCSI: 111, EL2HLT: 112, EDEADLK: 16, ENOLCK: 46, EBADE: 113, EBADR: 114, EXFULL: 115, ENOANO: 104, EBADRQC: 103, EBADSLT: 102, EDEADLOCK: 16, EBFONT: 101, ENOSTR: 100, ENODATA: 116, ETIME: 117, ENOSR: 118, ENONET: 119, ENOPKG: 120, EREMOTE: 121, ENOLINK: 47, EADV: 122, ESRMNT: 123, ECOMM: 124, EPROTO: 65, EMULTIHOP: 36, EDOTDOT: 125, EBADMSG: 9, ENOTUNIQ: 126, EBADFD: 127, EREMCHG: 128, ELIBACC: 129, ELIBBAD: 130, ELIBSCN: 131, ELIBMAX: 132, ELIBEXEC: 133, ENOSYS: 52, ENOTEMPTY: 55, ENAMETOOLONG: 37, ELOOP: 32, EOPNOTSUPP: 138, EPFNOSUPPORT: 139, ECONNRESET: 15, ENOBUFS: 42, EAFNOSUPPORT: 5, EPROTOTYPE: 67, ENOTSOCK: 57, ENOPROTOOPT: 50, ESHUTDOWN: 140, ECONNREFUSED: 14, EADDRINUSE: 3, ECONNABORTED: 13, ENETUNREACH: 40, ENETDOWN: 38, ETIMEDOUT: 73, EHOSTDOWN: 142, EHOSTUNREACH: 23, EINPROGRESS: 26, EALREADY: 7, EDESTADDRREQ: 17, EMSGSIZE: 35, EPROTONOSUPPORT: 66, ESOCKTNOSUPPORT: 137, EADDRNOTAVAIL: 4, ENETRESET: 39, EISCONN: 30, ENOTCONN: 53, ETOOMANYREFS: 141, EUSERS: 136, EDQUOT: 19, ESTALE: 72, ENOTSUP: 138, ENOMEDIUM: 148, EILSEQ: 25, EOVERFLOW: 61, ECANCELED: 11, ENOTRECOVERABLE: 56, EOWNERDEAD: 62, ESTRPIPE: 135 }, h = { root: null, mounts: [], devices: {}, streams: [], nextInode: 1, nameTable: null, currentPath: "/", initialized: !1, ignorePermissions: !0, ErrnoError: class extends Error { + return p && (b |= 365), l && (b |= 146), b; + }, Hk = (p) => Mn(LB(p)), Dl = { EPERM: 63, ENOENT: 44, ESRCH: 71, EINTR: 27, EIO: 29, ENXIO: 60, E2BIG: 1, ENOEXEC: 45, EBADF: 8, ECHILD: 12, EAGAIN: 6, EWOULDBLOCK: 6, ENOMEM: 48, EACCES: 2, EFAULT: 21, ENOTBLK: 105, EBUSY: 10, EEXIST: 20, EXDEV: 75, ENODEV: 43, ENOTDIR: 54, EISDIR: 31, EINVAL: 28, ENFILE: 41, EMFILE: 33, ENOTTY: 59, ETXTBSY: 74, EFBIG: 22, ENOSPC: 51, ESPIPE: 70, EROFS: 69, EMLINK: 34, EPIPE: 64, EDOM: 18, ERANGE: 68, ENOMSG: 49, EIDRM: 24, ECHRNG: 106, EL2NSYNC: 156, EL3HLT: 107, EL3RST: 108, ELNRNG: 109, EUNATCH: 110, ENOCSI: 111, EL2HLT: 112, EDEADLK: 16, ENOLCK: 46, EBADE: 113, EBADR: 114, EXFULL: 115, ENOANO: 104, EBADRQC: 103, EBADSLT: 102, EDEADLOCK: 16, EBFONT: 101, ENOSTR: 100, ENODATA: 116, ETIME: 117, ENOSR: 118, ENONET: 119, ENOPKG: 120, EREMOTE: 121, ENOLINK: 47, EADV: 122, ESRMNT: 123, ECOMM: 124, EPROTO: 65, EMULTIHOP: 36, EDOTDOT: 125, EBADMSG: 9, ENOTUNIQ: 126, EBADFD: 127, EREMCHG: 128, ELIBACC: 129, ELIBBAD: 130, ELIBSCN: 131, ELIBMAX: 132, ELIBEXEC: 133, ENOSYS: 52, ENOTEMPTY: 55, ENAMETOOLONG: 37, ELOOP: 32, EOPNOTSUPP: 138, EPFNOSUPPORT: 139, ECONNRESET: 15, ENOBUFS: 42, EAFNOSUPPORT: 5, EPROTOTYPE: 67, ENOTSOCK: 57, ENOPROTOOPT: 50, ESHUTDOWN: 140, ECONNREFUSED: 14, EADDRINUSE: 3, ECONNABORTED: 13, ENETUNREACH: 40, ENETDOWN: 38, ETIMEDOUT: 73, EHOSTDOWN: 142, EHOSTUNREACH: 23, EINPROGRESS: 26, EALREADY: 7, EDESTADDRREQ: 17, EMSGSIZE: 35, EPROTONOSUPPORT: 66, ESOCKTNOSUPPORT: 137, EADDRNOTAVAIL: 4, ENETRESET: 39, EISCONN: 30, ENOTCONN: 53, ETOOMANYREFS: 141, EUSERS: 136, EDQUOT: 19, ESTALE: 72, ENOTSUP: 138, ENOMEDIUM: 148, EILSEQ: 25, EOVERFLOW: 61, ECANCELED: 11, ENOTRECOVERABLE: 56, EOWNERDEAD: 62, ESTRPIPE: 135 }, k = { root: null, mounts: [], devices: {}, streams: [], nextInode: 1, nameTable: null, currentPath: "/", initialized: !1, ignorePermissions: !0, ErrnoError: class extends Error { constructor(p) { - super(PA ? ik(p) : ""), wt(this, "name", "ErrnoError"), this.errno = p; - for (var u in cu) if (cu[u] === p) { - this.code = u; + super(yA ? Hk(p) : ""), gt(this, "name", "ErrnoError"), this.errno = p; + for (var l in Dl) if (Dl[l] === p) { + this.code = l; break; } } }, filesystems: null, syncFSRequests: 0, readFiles: {}, FSStream: class { constructor() { - wt(this, "shared", {}); + gt(this, "shared", {}); } get object() { return this.node; @@ -621,8 +621,8 @@ var ku, lb, SB = it(() => { this.shared.position = p; } }, FSNode: class { - constructor(p, u, b, v) { - wt(this, "node_ops", {}), wt(this, "stream_ops", {}), wt(this, "readMode", 365), wt(this, "writeMode", 146), wt(this, "mounted", null), p || (p = this), this.parent = p, this.mount = p.mount, this.id = h.nextInode++, this.name = u, this.mode = b, this.rdev = v; + constructor(p, l, b, v) { + gt(this, "node_ops", {}), gt(this, "stream_ops", {}), gt(this, "readMode", 365), gt(this, "writeMode", 146), gt(this, "mounted", null), p || (p = this), this.parent = p, this.mount = p.mount, this.id = k.nextInode++, this.name = l, this.mode = b, this.rdev = v; } get read() { return (this.mode & this.readMode) === this.readMode; @@ -637,64 +637,64 @@ var ku, lb, SB = it(() => { p ? this.mode |= this.writeMode : this.mode &= ~this.writeMode; } get isFolder() { - return h.isDir(this.mode); + return k.isDir(this.mode); } get isDevice() { - return h.isChrdev(this.mode); + return k.isChrdev(this.mode); } - }, lookupPath(p, u = {}) { - if (p = vn.resolve(p), !p) return { path: "", node: null }; + }, lookupPath(p, l = {}) { + if (p = Pn.resolve(p), !p) return { path: "", node: null }; var b = { follow_mount: !0, recurse_count: 0 }; - if (u = Object.assign(b, u), u.recurse_count > 8) throw new h.ErrnoError(32); - for (var v = p.split("/").filter((ie) => !!ie), B = h.root, y = "/", E = 0; E < v.length; E++) { + if (l = Object.assign(b, l), l.recurse_count > 8) throw new k.ErrnoError(32); + for (var v = p.split("/").filter((ie) => !!ie), B = k.root, y = "/", E = 0; E < v.length; E++) { var x = E === v.length - 1; - if (x && u.parent) break; - if (B = h.lookupNode(B, v[E]), y = Ge.join2(y, v[E]), h.isMountpoint(B) && (!x || x && u.follow_mount) && (B = B.mounted.root), !x || u.follow) for (var R = 0; h.isLink(B.mode); ) { - var $ = h.readlink(y); - y = vn.resolve(Ge.dirname(y), $); - var ee = h.lookupPath(y, { recurse_count: u.recurse_count + 1 }); - if (B = ee.node, R++ > 40) throw new h.ErrnoError(32); + if (x && l.parent) break; + if (B = k.lookupNode(B, v[E]), y = Ge.join2(y, v[E]), k.isMountpoint(B) && (!x || x && l.follow_mount) && (B = B.mounted.root), !x || l.follow) for (var j = 0; k.isLink(B.mode); ) { + var $ = k.readlink(y); + y = Pn.resolve(Ge.dirname(y), $); + var ee = k.lookupPath(y, { recurse_count: l.recurse_count + 1 }); + if (B = ee.node, j++ > 40) throw new k.ErrnoError(32); } } return { path: y, node: B }; }, getPath(p) { - for (var u; ; ) { - if (h.isRoot(p)) { + for (var l; ; ) { + if (k.isRoot(p)) { var b = p.mount.mountpoint; - return u ? b[b.length - 1] !== "/" ? `${b}/${u}` : b + u : b; + return l ? b[b.length - 1] !== "/" ? `${b}/${l}` : b + l : b; } - u = u ? `${p.name}/${u}` : p.name, p = p.parent; + l = l ? `${p.name}/${l}` : p.name, p = p.parent; } - }, hashName(p, u) { - for (var b = 0, v = 0; v < u.length; v++) b = (b << 5) - b + u.charCodeAt(v) | 0; - return (p + b >>> 0) % h.nameTable.length; + }, hashName(p, l) { + for (var b = 0, v = 0; v < l.length; v++) b = (b << 5) - b + l.charCodeAt(v) | 0; + return (p + b >>> 0) % k.nameTable.length; }, hashAddNode(p) { - var u = h.hashName(p.parent.id, p.name); - p.name_next = h.nameTable[u], h.nameTable[u] = p; + var l = k.hashName(p.parent.id, p.name); + p.name_next = k.nameTable[l], k.nameTable[l] = p; }, hashRemoveNode(p) { - var u = h.hashName(p.parent.id, p.name); - if (h.nameTable[u] === p) h.nameTable[u] = p.name_next; - else for (var b = h.nameTable[u]; b; ) { + var l = k.hashName(p.parent.id, p.name); + if (k.nameTable[l] === p) k.nameTable[l] = p.name_next; + else for (var b = k.nameTable[l]; b; ) { if (b.name_next === p) { b.name_next = p.name_next; break; } b = b.name_next; } - }, lookupNode(p, u) { - var b = h.mayLookup(p); - if (b) throw new h.ErrnoError(b); - for (var v = h.hashName(p.id, u), B = h.nameTable[v]; B; B = B.name_next) { + }, lookupNode(p, l) { + var b = k.mayLookup(p); + if (b) throw new k.ErrnoError(b); + for (var v = k.hashName(p.id, l), B = k.nameTable[v]; B; B = B.name_next) { var y = B.name; - if (B.parent.id === p.id && y === u) return B; + if (B.parent.id === p.id && y === l) return B; } - return h.lookup(p, u); - }, createNode(p, u, b, v) { - O(typeof p == "object"); - var B = new h.FSNode(p, u, b, v); - return h.hashAddNode(B), B; + return k.lookup(p, l); + }, createNode(p, l, b, v) { + M(typeof p == "object"); + var B = new k.FSNode(p, l, b, v); + return k.hashAddNode(B), B; }, destroyNode(p) { - h.hashRemoveNode(p); + k.hashRemoveNode(p); }, isRoot(p) { return p === p.parent; }, isMountpoint(p) { @@ -714,69 +714,69 @@ var ku, lb, SB = it(() => { }, isSocket(p) { return (p & 49152) === 49152; }, flagsToPermissionString(p) { - var u = ["r", "w", "rw"][p & 3]; - return p & 512 && (u += "w"), u; - }, nodePermissions(p, u) { - return h.ignorePermissions ? 0 : u.includes("r") && !(p.mode & 292) || u.includes("w") && !(p.mode & 146) || u.includes("x") && !(p.mode & 73) ? 2 : 0; + var l = ["r", "w", "rw"][p & 3]; + return p & 512 && (l += "w"), l; + }, nodePermissions(p, l) { + return k.ignorePermissions ? 0 : l.includes("r") && !(p.mode & 292) || l.includes("w") && !(p.mode & 146) || l.includes("x") && !(p.mode & 73) ? 2 : 0; }, mayLookup(p) { - if (!h.isDir(p.mode)) return 54; - var u = h.nodePermissions(p, "x"); - return u || (p.node_ops.lookup ? 0 : 2); - }, mayCreate(p, u) { + if (!k.isDir(p.mode)) return 54; + var l = k.nodePermissions(p, "x"); + return l || (p.node_ops.lookup ? 0 : 2); + }, mayCreate(p, l) { try { - var b = h.lookupNode(p, u); + var b = k.lookupNode(p, l); return 20; } catch { } - return h.nodePermissions(p, "wx"); - }, mayDelete(p, u, b) { + return k.nodePermissions(p, "wx"); + }, mayDelete(p, l, b) { var v; try { - v = h.lookupNode(p, u); + v = k.lookupNode(p, l); } catch (y) { return y.errno; } - var B = h.nodePermissions(p, "wx"); + var B = k.nodePermissions(p, "wx"); if (B) return B; if (b) { - if (!h.isDir(v.mode)) return 54; - if (h.isRoot(v) || h.getPath(v) === h.cwd()) return 10; - } else if (h.isDir(v.mode)) return 31; + if (!k.isDir(v.mode)) return 54; + if (k.isRoot(v) || k.getPath(v) === k.cwd()) return 10; + } else if (k.isDir(v.mode)) return 31; return 0; - }, mayOpen(p, u) { - return p ? h.isLink(p.mode) ? 32 : h.isDir(p.mode) && (h.flagsToPermissionString(u) !== "r" || u & 512) ? 31 : h.nodePermissions(p, h.flagsToPermissionString(u)) : 44; + }, mayOpen(p, l) { + return p ? k.isLink(p.mode) ? 32 : k.isDir(p.mode) && (k.flagsToPermissionString(l) !== "r" || l & 512) ? 31 : k.nodePermissions(p, k.flagsToPermissionString(l)) : 44; }, MAX_OPEN_FDS: 4096, nextfd() { - for (var p = 0; p <= h.MAX_OPEN_FDS; p++) if (!h.streams[p]) return p; - throw new h.ErrnoError(33); + for (var p = 0; p <= k.MAX_OPEN_FDS; p++) if (!k.streams[p]) return p; + throw new k.ErrnoError(33); }, getStreamChecked(p) { - var u = h.getStream(p); - if (!u) throw new h.ErrnoError(8); - return u; - }, getStream: (p) => h.streams[p], createStream(p, u = -1) { - return O(u >= -1), p = Object.assign(new h.FSStream(), p), u == -1 && (u = h.nextfd()), p.fd = u, h.streams[u] = p, p; + var l = k.getStream(p); + if (!l) throw new k.ErrnoError(8); + return l; + }, getStream: (p) => k.streams[p], createStream(p, l = -1) { + return M(l >= -1), p = Object.assign(new k.FSStream(), p), l == -1 && (l = k.nextfd()), p.fd = l, k.streams[l] = p, p; }, closeStream(p) { - h.streams[p] = null; - }, dupStream(p, u = -1) { - var b = h.createStream(p, u); + k.streams[p] = null; + }, dupStream(p, l = -1) { + var b = k.createStream(p, l); return b.stream_ops?.dup?.(b), b; }, chrdev_stream_ops: { open(p) { - var u = h.getDevice(p.node.rdev); - p.stream_ops = u.stream_ops, p.stream_ops.open?.(p); + var l = k.getDevice(p.node.rdev); + p.stream_ops = l.stream_ops, p.stream_ops.open?.(p); }, llseek() { - throw new h.ErrnoError(70); - } }, major: (p) => p >> 8, minor: (p) => p & 255, makedev: (p, u) => p << 8 | u, registerDevice(p, u) { - h.devices[p] = { stream_ops: u }; - }, getDevice: (p) => h.devices[p], getMounts(p) { - for (var u = [], b = [p]; b.length; ) { + throw new k.ErrnoError(70); + } }, major: (p) => p >> 8, minor: (p) => p & 255, makedev: (p, l) => p << 8 | l, registerDevice(p, l) { + k.devices[p] = { stream_ops: l }; + }, getDevice: (p) => k.devices[p], getMounts(p) { + for (var l = [], b = [p]; b.length; ) { var v = b.pop(); - u.push(v), b.push(...v.mounts); + l.push(v), b.push(...v.mounts); } - return u; - }, syncfs(p, u) { - typeof p == "function" && (u = p, p = !1), h.syncFSRequests++, h.syncFSRequests > 1 && C(`warning: ${h.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); - var b = h.getMounts(h.root.mount), v = 0; + return l; + }, syncfs(p, l) { + typeof p == "function" && (l = p, p = !1), k.syncFSRequests++, k.syncFSRequests > 1 && C(`warning: ${k.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); + var b = k.getMounts(k.root.mount), v = 0; function B(E) { - return O(h.syncFSRequests > 0), h.syncFSRequests--, u(E); + return M(k.syncFSRequests > 0), k.syncFSRequests--, l(E); } function y(E) { if (E) return y.errored ? void 0 : (y.errored = !0, B(E)); @@ -786,388 +786,388 @@ var ku, lb, SB = it(() => { if (!E.type.syncfs) return y(null); E.type.syncfs(E, p, y); }); - }, mount(p, u, b) { + }, mount(p, l, b) { if (typeof p == "string") throw p; var v = b === "/", B = !b, y; - if (v && h.root) throw new h.ErrnoError(10); + if (v && k.root) throw new k.ErrnoError(10); if (!v && !B) { - var E = h.lookupPath(b, { follow_mount: !1 }); - if (b = E.path, y = E.node, h.isMountpoint(y)) throw new h.ErrnoError(10); - if (!h.isDir(y.mode)) throw new h.ErrnoError(54); + var E = k.lookupPath(b, { follow_mount: !1 }); + if (b = E.path, y = E.node, k.isMountpoint(y)) throw new k.ErrnoError(10); + if (!k.isDir(y.mode)) throw new k.ErrnoError(54); } - var x = { type: p, opts: u, mountpoint: b, mounts: [] }, R = p.mount(x); - return R.mount = x, x.root = R, v ? h.root = R : y && (y.mounted = x, y.mount && y.mount.mounts.push(x)), R; + var x = { type: p, opts: l, mountpoint: b, mounts: [] }, j = p.mount(x); + return j.mount = x, x.root = j, v ? k.root = j : y && (y.mounted = x, y.mount && y.mount.mounts.push(x)), j; }, unmount(p) { - var u = h.lookupPath(p, { follow_mount: !1 }); - if (!h.isMountpoint(u.node)) throw new h.ErrnoError(28); - var b = u.node, v = b.mounted, B = h.getMounts(v); - Object.keys(h.nameTable).forEach((E) => { - for (var x = h.nameTable[E]; x; ) { - var R = x.name_next; - B.includes(x.mount) && h.destroyNode(x), x = R; + var l = k.lookupPath(p, { follow_mount: !1 }); + if (!k.isMountpoint(l.node)) throw new k.ErrnoError(28); + var b = l.node, v = b.mounted, B = k.getMounts(v); + Object.keys(k.nameTable).forEach((E) => { + for (var x = k.nameTable[E]; x; ) { + var j = x.name_next; + B.includes(x.mount) && k.destroyNode(x), x = j; } }), b.mounted = null; var y = b.mount.mounts.indexOf(v); - O(y !== -1), b.mount.mounts.splice(y, 1); - }, lookup(p, u) { - return p.node_ops.lookup(p, u); - }, mknod(p, u, b) { - var v = h.lookupPath(p, { parent: !0 }), B = v.node, y = Ge.basename(p); - if (!y || y === "." || y === "..") throw new h.ErrnoError(28); - var E = h.mayCreate(B, y); - if (E) throw new h.ErrnoError(E); - if (!B.node_ops.mknod) throw new h.ErrnoError(63); - return B.node_ops.mknod(B, y, u, b); - }, create(p, u) { - return u = u !== void 0 ? u : 438, u &= 4095, u |= 32768, h.mknod(p, u, 0); - }, mkdir(p, u) { - return u = u !== void 0 ? u : 511, u &= 1023, u |= 16384, h.mknod(p, u, 0); - }, mkdirTree(p, u) { + M(y !== -1), b.mount.mounts.splice(y, 1); + }, lookup(p, l) { + return p.node_ops.lookup(p, l); + }, mknod(p, l, b) { + var v = k.lookupPath(p, { parent: !0 }), B = v.node, y = Ge.basename(p); + if (!y || y === "." || y === "..") throw new k.ErrnoError(28); + var E = k.mayCreate(B, y); + if (E) throw new k.ErrnoError(E); + if (!B.node_ops.mknod) throw new k.ErrnoError(63); + return B.node_ops.mknod(B, y, l, b); + }, create(p, l) { + return l = l !== void 0 ? l : 438, l &= 4095, l |= 32768, k.mknod(p, l, 0); + }, mkdir(p, l) { + return l = l !== void 0 ? l : 511, l &= 1023, l |= 16384, k.mknod(p, l, 0); + }, mkdirTree(p, l) { for (var b = p.split("/"), v = "", B = 0; B < b.length; ++B) if (b[B]) { v += "/" + b[B]; try { - h.mkdir(v, u); + k.mkdir(v, l); } catch (y) { if (y.errno != 20) throw y; } } - }, mkdev(p, u, b) { - return typeof b > "u" && (b = u, u = 438), u |= 8192, h.mknod(p, u, b); - }, symlink(p, u) { - if (!vn.resolve(p)) throw new h.ErrnoError(44); - var b = h.lookupPath(u, { parent: !0 }), v = b.node; - if (!v) throw new h.ErrnoError(44); - var B = Ge.basename(u), y = h.mayCreate(v, B); - if (y) throw new h.ErrnoError(y); - if (!v.node_ops.symlink) throw new h.ErrnoError(63); + }, mkdev(p, l, b) { + return typeof b > "u" && (b = l, l = 438), l |= 8192, k.mknod(p, l, b); + }, symlink(p, l) { + if (!Pn.resolve(p)) throw new k.ErrnoError(44); + var b = k.lookupPath(l, { parent: !0 }), v = b.node; + if (!v) throw new k.ErrnoError(44); + var B = Ge.basename(l), y = k.mayCreate(v, B); + if (y) throw new k.ErrnoError(y); + if (!v.node_ops.symlink) throw new k.ErrnoError(63); return v.node_ops.symlink(v, B, p); - }, rename(p, u) { - var b = Ge.dirname(p), v = Ge.dirname(u), B = Ge.basename(p), y = Ge.basename(u), E, x, R; - if (E = h.lookupPath(p, { parent: !0 }), x = E.node, E = h.lookupPath(u, { parent: !0 }), R = E.node, !x || !R) throw new h.ErrnoError(44); - if (x.mount !== R.mount) throw new h.ErrnoError(75); - var $ = h.lookupNode(x, B), ee = vn.relative(p, v); - if (ee.charAt(0) !== ".") throw new h.ErrnoError(28); - if (ee = vn.relative(u, b), ee.charAt(0) !== ".") throw new h.ErrnoError(55); + }, rename(p, l) { + var b = Ge.dirname(p), v = Ge.dirname(l), B = Ge.basename(p), y = Ge.basename(l), E, x, j; + if (E = k.lookupPath(p, { parent: !0 }), x = E.node, E = k.lookupPath(l, { parent: !0 }), j = E.node, !x || !j) throw new k.ErrnoError(44); + if (x.mount !== j.mount) throw new k.ErrnoError(75); + var $ = k.lookupNode(x, B), ee = Pn.relative(p, v); + if (ee.charAt(0) !== ".") throw new k.ErrnoError(28); + if (ee = Pn.relative(l, b), ee.charAt(0) !== ".") throw new k.ErrnoError(55); var ie; try { - ie = h.lookupNode(R, y); + ie = k.lookupNode(j, y); } catch { } if ($ !== ie) { - var ce = h.isDir($.mode), z = h.mayDelete(x, B, ce); - if (z) throw new h.ErrnoError(z); - if (z = ie ? h.mayDelete(R, y, ce) : h.mayCreate(R, y), z) throw new h.ErrnoError(z); - if (!x.node_ops.rename) throw new h.ErrnoError(63); - if (h.isMountpoint($) || ie && h.isMountpoint(ie)) throw new h.ErrnoError(10); - if (R !== x && (z = h.nodePermissions(x, "w"), z)) throw new h.ErrnoError(z); - h.hashRemoveNode($); + var ce = k.isDir($.mode), z = k.mayDelete(x, B, ce); + if (z) throw new k.ErrnoError(z); + if (z = ie ? k.mayDelete(j, y, ce) : k.mayCreate(j, y), z) throw new k.ErrnoError(z); + if (!x.node_ops.rename) throw new k.ErrnoError(63); + if (k.isMountpoint($) || ie && k.isMountpoint(ie)) throw new k.ErrnoError(10); + if (j !== x && (z = k.nodePermissions(x, "w"), z)) throw new k.ErrnoError(z); + k.hashRemoveNode($); try { - x.node_ops.rename($, R, y), $.parent = R; + x.node_ops.rename($, j, y), $.parent = j; } catch (oe) { throw oe; } finally { - h.hashAddNode($); + k.hashAddNode($); } } }, rmdir(p) { - var u = h.lookupPath(p, { parent: !0 }), b = u.node, v = Ge.basename(p), B = h.lookupNode(b, v), y = h.mayDelete(b, v, !0); - if (y) throw new h.ErrnoError(y); - if (!b.node_ops.rmdir) throw new h.ErrnoError(63); - if (h.isMountpoint(B)) throw new h.ErrnoError(10); - b.node_ops.rmdir(b, v), h.destroyNode(B); + var l = k.lookupPath(p, { parent: !0 }), b = l.node, v = Ge.basename(p), B = k.lookupNode(b, v), y = k.mayDelete(b, v, !0); + if (y) throw new k.ErrnoError(y); + if (!b.node_ops.rmdir) throw new k.ErrnoError(63); + if (k.isMountpoint(B)) throw new k.ErrnoError(10); + b.node_ops.rmdir(b, v), k.destroyNode(B); }, readdir(p) { - var u = h.lookupPath(p, { follow: !0 }), b = u.node; - if (!b.node_ops.readdir) throw new h.ErrnoError(54); + var l = k.lookupPath(p, { follow: !0 }), b = l.node; + if (!b.node_ops.readdir) throw new k.ErrnoError(54); return b.node_ops.readdir(b); }, unlink(p) { - var u = h.lookupPath(p, { parent: !0 }), b = u.node; - if (!b) throw new h.ErrnoError(44); - var v = Ge.basename(p), B = h.lookupNode(b, v), y = h.mayDelete(b, v, !1); - if (y) throw new h.ErrnoError(y); - if (!b.node_ops.unlink) throw new h.ErrnoError(63); - if (h.isMountpoint(B)) throw new h.ErrnoError(10); - b.node_ops.unlink(b, v), h.destroyNode(B); + var l = k.lookupPath(p, { parent: !0 }), b = l.node; + if (!b) throw new k.ErrnoError(44); + var v = Ge.basename(p), B = k.lookupNode(b, v), y = k.mayDelete(b, v, !1); + if (y) throw new k.ErrnoError(y); + if (!b.node_ops.unlink) throw new k.ErrnoError(63); + if (k.isMountpoint(B)) throw new k.ErrnoError(10); + b.node_ops.unlink(b, v), k.destroyNode(B); }, readlink(p) { - var u = h.lookupPath(p), b = u.node; - if (!b) throw new h.ErrnoError(44); - if (!b.node_ops.readlink) throw new h.ErrnoError(28); - return vn.resolve(h.getPath(b.parent), b.node_ops.readlink(b)); - }, stat(p, u) { - var b = h.lookupPath(p, { follow: !u }), v = b.node; - if (!v) throw new h.ErrnoError(44); - if (!v.node_ops.getattr) throw new h.ErrnoError(63); + var l = k.lookupPath(p), b = l.node; + if (!b) throw new k.ErrnoError(44); + if (!b.node_ops.readlink) throw new k.ErrnoError(28); + return Pn.resolve(k.getPath(b.parent), b.node_ops.readlink(b)); + }, stat(p, l) { + var b = k.lookupPath(p, { follow: !l }), v = b.node; + if (!v) throw new k.ErrnoError(44); + if (!v.node_ops.getattr) throw new k.ErrnoError(63); return v.node_ops.getattr(v); }, lstat(p) { - return h.stat(p, !0); - }, chmod(p, u, b) { + return k.stat(p, !0); + }, chmod(p, l, b) { var v; if (typeof p == "string") { - var B = h.lookupPath(p, { follow: !b }); + var B = k.lookupPath(p, { follow: !b }); v = B.node; } else v = p; - if (!v.node_ops.setattr) throw new h.ErrnoError(63); - v.node_ops.setattr(v, { mode: u & 4095 | v.mode & -4096, timestamp: Date.now() }); - }, lchmod(p, u) { - h.chmod(p, u, !0); - }, fchmod(p, u) { - var b = h.getStreamChecked(p); - h.chmod(b.node, u); - }, chown(p, u, b, v) { + if (!v.node_ops.setattr) throw new k.ErrnoError(63); + v.node_ops.setattr(v, { mode: l & 4095 | v.mode & -4096, timestamp: Date.now() }); + }, lchmod(p, l) { + k.chmod(p, l, !0); + }, fchmod(p, l) { + var b = k.getStreamChecked(p); + k.chmod(b.node, l); + }, chown(p, l, b, v) { var B; if (typeof p == "string") { - var y = h.lookupPath(p, { follow: !v }); + var y = k.lookupPath(p, { follow: !v }); B = y.node; } else B = p; - if (!B.node_ops.setattr) throw new h.ErrnoError(63); + if (!B.node_ops.setattr) throw new k.ErrnoError(63); B.node_ops.setattr(B, { timestamp: Date.now() }); - }, lchown(p, u, b) { - h.chown(p, u, b, !0); - }, fchown(p, u, b) { - var v = h.getStreamChecked(p); - h.chown(v.node, u, b); - }, truncate(p, u) { - if (u < 0) throw new h.ErrnoError(28); + }, lchown(p, l, b) { + k.chown(p, l, b, !0); + }, fchown(p, l, b) { + var v = k.getStreamChecked(p); + k.chown(v.node, l, b); + }, truncate(p, l) { + if (l < 0) throw new k.ErrnoError(28); var b; if (typeof p == "string") { - var v = h.lookupPath(p, { follow: !0 }); + var v = k.lookupPath(p, { follow: !0 }); b = v.node; } else b = p; - if (!b.node_ops.setattr) throw new h.ErrnoError(63); - if (h.isDir(b.mode)) throw new h.ErrnoError(31); - if (!h.isFile(b.mode)) throw new h.ErrnoError(28); - var B = h.nodePermissions(b, "w"); - if (B) throw new h.ErrnoError(B); - b.node_ops.setattr(b, { size: u, timestamp: Date.now() }); - }, ftruncate(p, u) { - var b = h.getStreamChecked(p); - if ((b.flags & 2097155) === 0) throw new h.ErrnoError(28); - h.truncate(b.node, u); - }, utime(p, u, b) { - var v = h.lookupPath(p, { follow: !0 }), B = v.node; - B.node_ops.setattr(B, { timestamp: Math.max(u, b) }); - }, open(p, u, b) { - if (p === "") throw new h.ErrnoError(44); - u = typeof u == "string" ? rk(u) : u, u & 64 ? (b = typeof b > "u" ? 438 : b, b = b & 4095 | 32768) : b = 0; + if (!b.node_ops.setattr) throw new k.ErrnoError(63); + if (k.isDir(b.mode)) throw new k.ErrnoError(31); + if (!k.isFile(b.mode)) throw new k.ErrnoError(28); + var B = k.nodePermissions(b, "w"); + if (B) throw new k.ErrnoError(B); + b.node_ops.setattr(b, { size: l, timestamp: Date.now() }); + }, ftruncate(p, l) { + var b = k.getStreamChecked(p); + if ((b.flags & 2097155) === 0) throw new k.ErrnoError(28); + k.truncate(b.node, l); + }, utime(p, l, b) { + var v = k.lookupPath(p, { follow: !0 }), B = v.node; + B.node_ops.setattr(B, { timestamp: Math.max(l, b) }); + }, open(p, l, b) { + if (p === "") throw new k.ErrnoError(44); + l = typeof l == "string" ? _k(l) : l, l & 64 ? (b = typeof b > "u" ? 438 : b, b = b & 4095 | 32768) : b = 0; var v; if (typeof p == "object") v = p; else { p = Ge.normalize(p); try { - var B = h.lookupPath(p, { follow: !(u & 131072) }); + var B = k.lookupPath(p, { follow: !(l & 131072) }); v = B.node; } catch { } } var y = !1; - if (u & 64) if (v) { - if (u & 128) throw new h.ErrnoError(20); - } else v = h.mknod(p, b, 0), y = !0; - if (!v) throw new h.ErrnoError(44); - if (h.isChrdev(v.mode) && (u &= -513), u & 65536 && !h.isDir(v.mode)) throw new h.ErrnoError(54); + if (l & 64) if (v) { + if (l & 128) throw new k.ErrnoError(20); + } else v = k.mknod(p, b, 0), y = !0; + if (!v) throw new k.ErrnoError(44); + if (k.isChrdev(v.mode) && (l &= -513), l & 65536 && !k.isDir(v.mode)) throw new k.ErrnoError(54); if (!y) { - var E = h.mayOpen(v, u); - if (E) throw new h.ErrnoError(E); + var E = k.mayOpen(v, l); + if (E) throw new k.ErrnoError(E); } - u & 512 && !y && h.truncate(v, 0), u &= -131713; - var x = h.createStream({ node: v, path: h.getPath(v), flags: u, seekable: !0, position: 0, stream_ops: v.stream_ops, ungotten: [], error: !1 }); - return x.stream_ops.open && x.stream_ops.open(x), n.logReadFiles && !(u & 1) && (p in h.readFiles || (h.readFiles[p] = 1)), x; + l & 512 && !y && k.truncate(v, 0), l &= -131713; + var x = k.createStream({ node: v, path: k.getPath(v), flags: l, seekable: !0, position: 0, stream_ops: v.stream_ops, ungotten: [], error: !1 }); + return x.stream_ops.open && x.stream_ops.open(x), n.logReadFiles && !(l & 1) && (p in k.readFiles || (k.readFiles[p] = 1)), x; }, close(p) { - if (h.isClosed(p)) throw new h.ErrnoError(8); + if (k.isClosed(p)) throw new k.ErrnoError(8); p.getdents && (p.getdents = null); try { p.stream_ops.close && p.stream_ops.close(p); - } catch (u) { - throw u; + } catch (l) { + throw l; } finally { - h.closeStream(p.fd); + k.closeStream(p.fd); } p.fd = null; }, isClosed(p) { return p.fd === null; - }, llseek(p, u, b) { - if (h.isClosed(p)) throw new h.ErrnoError(8); - if (!p.seekable || !p.stream_ops.llseek) throw new h.ErrnoError(70); - if (b != 0 && b != 1 && b != 2) throw new h.ErrnoError(28); - return p.position = p.stream_ops.llseek(p, u, b), p.ungotten = [], p.position; - }, read(p, u, b, v, B) { - if (O(b >= 0), v < 0 || B < 0) throw new h.ErrnoError(28); - if (h.isClosed(p)) throw new h.ErrnoError(8); - if ((p.flags & 2097155) === 1) throw new h.ErrnoError(8); - if (h.isDir(p.node.mode)) throw new h.ErrnoError(31); - if (!p.stream_ops.read) throw new h.ErrnoError(28); + }, llseek(p, l, b) { + if (k.isClosed(p)) throw new k.ErrnoError(8); + if (!p.seekable || !p.stream_ops.llseek) throw new k.ErrnoError(70); + if (b != 0 && b != 1 && b != 2) throw new k.ErrnoError(28); + return p.position = p.stream_ops.llseek(p, l, b), p.ungotten = [], p.position; + }, read(p, l, b, v, B) { + if (M(b >= 0), v < 0 || B < 0) throw new k.ErrnoError(28); + if (k.isClosed(p)) throw new k.ErrnoError(8); + if ((p.flags & 2097155) === 1) throw new k.ErrnoError(8); + if (k.isDir(p.node.mode)) throw new k.ErrnoError(31); + if (!p.stream_ops.read) throw new k.ErrnoError(28); var y = typeof B < "u"; if (!y) B = p.position; - else if (!p.seekable) throw new h.ErrnoError(70); - var E = p.stream_ops.read(p, u, b, v, B); + else if (!p.seekable) throw new k.ErrnoError(70); + var E = p.stream_ops.read(p, l, b, v, B); return y || (p.position += E), E; - }, write(p, u, b, v, B, y) { - if (O(b >= 0), v < 0 || B < 0) throw new h.ErrnoError(28); - if (h.isClosed(p)) throw new h.ErrnoError(8); - if ((p.flags & 2097155) === 0) throw new h.ErrnoError(8); - if (h.isDir(p.node.mode)) throw new h.ErrnoError(31); - if (!p.stream_ops.write) throw new h.ErrnoError(28); - p.seekable && p.flags & 1024 && h.llseek(p, 0, 2); + }, write(p, l, b, v, B, y) { + if (M(b >= 0), v < 0 || B < 0) throw new k.ErrnoError(28); + if (k.isClosed(p)) throw new k.ErrnoError(8); + if ((p.flags & 2097155) === 0) throw new k.ErrnoError(8); + if (k.isDir(p.node.mode)) throw new k.ErrnoError(31); + if (!p.stream_ops.write) throw new k.ErrnoError(28); + p.seekable && p.flags & 1024 && k.llseek(p, 0, 2); var E = typeof B < "u"; if (!E) B = p.position; - else if (!p.seekable) throw new h.ErrnoError(70); - var x = p.stream_ops.write(p, u, b, v, B, y); + else if (!p.seekable) throw new k.ErrnoError(70); + var x = p.stream_ops.write(p, l, b, v, B, y); return E || (p.position += x), x; - }, allocate(p, u, b) { - if (h.isClosed(p)) throw new h.ErrnoError(8); - if (u < 0 || b <= 0) throw new h.ErrnoError(28); - if ((p.flags & 2097155) === 0) throw new h.ErrnoError(8); - if (!h.isFile(p.node.mode) && !h.isDir(p.node.mode)) throw new h.ErrnoError(43); - if (!p.stream_ops.allocate) throw new h.ErrnoError(138); - p.stream_ops.allocate(p, u, b); - }, mmap(p, u, b, v, B) { - if ((v & 2) !== 0 && (B & 2) === 0 && (p.flags & 2097155) !== 2) throw new h.ErrnoError(2); - if ((p.flags & 2097155) === 1) throw new h.ErrnoError(2); - if (!p.stream_ops.mmap) throw new h.ErrnoError(43); - if (!u) throw new h.ErrnoError(28); - return p.stream_ops.mmap(p, u, b, v, B); - }, msync(p, u, b, v, B) { - return O(b >= 0), p.stream_ops.msync ? p.stream_ops.msync(p, u, b, v, B) : 0; - }, ioctl(p, u, b) { - if (!p.stream_ops.ioctl) throw new h.ErrnoError(59); - return p.stream_ops.ioctl(p, u, b); - }, readFile(p, u = {}) { - if (u.flags = u.flags || 0, u.encoding = u.encoding || "binary", u.encoding !== "utf8" && u.encoding !== "binary") throw new Error(`Invalid encoding type "${u.encoding}"`); - var b, v = h.open(p, u.flags), B = h.stat(p), y = B.size, E = new Uint8Array(y); - return h.read(v, E, 0, y, 0), u.encoding === "utf8" ? b = yr(E) : u.encoding === "binary" && (b = E), h.close(v), b; - }, writeFile(p, u, b = {}) { + }, allocate(p, l, b) { + if (k.isClosed(p)) throw new k.ErrnoError(8); + if (l < 0 || b <= 0) throw new k.ErrnoError(28); + if ((p.flags & 2097155) === 0) throw new k.ErrnoError(8); + if (!k.isFile(p.node.mode) && !k.isDir(p.node.mode)) throw new k.ErrnoError(43); + if (!p.stream_ops.allocate) throw new k.ErrnoError(138); + p.stream_ops.allocate(p, l, b); + }, mmap(p, l, b, v, B) { + if ((v & 2) !== 0 && (B & 2) === 0 && (p.flags & 2097155) !== 2) throw new k.ErrnoError(2); + if ((p.flags & 2097155) === 1) throw new k.ErrnoError(2); + if (!p.stream_ops.mmap) throw new k.ErrnoError(43); + if (!l) throw new k.ErrnoError(28); + return p.stream_ops.mmap(p, l, b, v, B); + }, msync(p, l, b, v, B) { + return M(b >= 0), p.stream_ops.msync ? p.stream_ops.msync(p, l, b, v, B) : 0; + }, ioctl(p, l, b) { + if (!p.stream_ops.ioctl) throw new k.ErrnoError(59); + return p.stream_ops.ioctl(p, l, b); + }, readFile(p, l = {}) { + if (l.flags = l.flags || 0, l.encoding = l.encoding || "binary", l.encoding !== "utf8" && l.encoding !== "binary") throw new Error(`Invalid encoding type "${l.encoding}"`); + var b, v = k.open(p, l.flags), B = k.stat(p), y = B.size, E = new Uint8Array(y); + return k.read(v, E, 0, y, 0), l.encoding === "utf8" ? b = Gr(E) : l.encoding === "binary" && (b = E), k.close(v), b; + }, writeFile(p, l, b = {}) { b.flags = b.flags || 577; - var v = h.open(p, b.flags, b.mode); - if (typeof u == "string") { - var B = new Uint8Array(Gi(u) + 1), y = Es(u, B, 0, B.length); - h.write(v, B, 0, y, void 0, b.canOwn); - } else if (ArrayBuffer.isView(u)) h.write(v, u, 0, u.byteLength, void 0, b.canOwn); + var v = k.open(p, b.flags, b.mode); + if (typeof l == "string") { + var B = new Uint8Array(_i(l) + 1), y = Hs(l, B, 0, B.length); + k.write(v, B, 0, y, void 0, b.canOwn); + } else if (ArrayBuffer.isView(l)) k.write(v, l, 0, l.byteLength, void 0, b.canOwn); else throw new Error("Unsupported data type"); - h.close(v); - }, cwd: () => h.currentPath, chdir(p) { - var u = h.lookupPath(p, { follow: !0 }); - if (u.node === null) throw new h.ErrnoError(44); - if (!h.isDir(u.node.mode)) throw new h.ErrnoError(54); - var b = h.nodePermissions(u.node, "x"); - if (b) throw new h.ErrnoError(b); - h.currentPath = u.path; + k.close(v); + }, cwd: () => k.currentPath, chdir(p) { + var l = k.lookupPath(p, { follow: !0 }); + if (l.node === null) throw new k.ErrnoError(44); + if (!k.isDir(l.node.mode)) throw new k.ErrnoError(54); + var b = k.nodePermissions(l.node, "x"); + if (b) throw new k.ErrnoError(b); + k.currentPath = l.path; }, createDefaultDirectories() { - h.mkdir("/tmp"), h.mkdir("/home"), h.mkdir("/home/web_user"); + k.mkdir("/tmp"), k.mkdir("/home"), k.mkdir("/home/web_user"); }, createDefaultDevices() { - h.mkdir("/dev"), h.registerDevice(h.makedev(1, 3), { read: () => 0, write: (v, B, y, E, x) => E, llseek: () => 0 }), h.mkdev("/dev/null", h.makedev(1, 3)), Pn.register(h.makedev(5, 0), Pn.default_tty_ops), Pn.register(h.makedev(6, 0), Pn.default_tty1_ops), h.mkdev("/dev/tty", h.makedev(5, 0)), h.mkdev("/dev/tty1", h.makedev(6, 0)); - var p = new Uint8Array(1024), u = 0, b = () => (u === 0 && (u = Ds(p).byteLength), p[--u]); - h.createDevice("/dev", "random", b), h.createDevice("/dev", "urandom", b), h.mkdir("/dev/shm"), h.mkdir("/dev/shm/tmp"); + k.mkdir("/dev"), k.registerDevice(k.makedev(1, 3), { read: () => 0, write: (v, B, y, E, x) => E, llseek: () => 0 }), k.mkdev("/dev/null", k.makedev(1, 3)), hn.register(k.makedev(5, 0), hn.default_tty_ops), hn.register(k.makedev(6, 0), hn.default_tty1_ops), k.mkdev("/dev/tty", k.makedev(5, 0)), k.mkdev("/dev/tty1", k.makedev(6, 0)); + var p = new Uint8Array(1024), l = 0, b = () => (l === 0 && (l = xs(p).byteLength), p[--l]); + k.createDevice("/dev", "random", b), k.createDevice("/dev", "urandom", b), k.mkdir("/dev/shm"), k.mkdir("/dev/shm/tmp"); }, createSpecialDirectories() { - h.mkdir("/proc"); - var p = h.mkdir("/proc/self"); - h.mkdir("/proc/self/fd"), h.mount({ mount() { - var u = h.createNode(p, "fd", 16895, 73); - return u.node_ops = { lookup(b, v) { - var B = +v, y = h.getStreamChecked(B), E = { parent: null, mount: { mountpoint: "fake" }, node_ops: { readlink: () => y.path } }; + k.mkdir("/proc"); + var p = k.mkdir("/proc/self"); + k.mkdir("/proc/self/fd"), k.mount({ mount() { + var l = k.createNode(p, "fd", 16895, 73); + return l.node_ops = { lookup(b, v) { + var B = +v, y = k.getStreamChecked(B), E = { parent: null, mount: { mountpoint: "fake" }, node_ops: { readlink: () => y.path } }; return E.parent = E, E; - } }, u; + } }, l; } }, {}, "/proc/self/fd"); - }, createStandardStreams(p, u, b) { - p ? h.createDevice("/dev", "stdin", p) : h.symlink("/dev/tty", "/dev/stdin"), u ? h.createDevice("/dev", "stdout", null, u) : h.symlink("/dev/tty", "/dev/stdout"), b ? h.createDevice("/dev", "stderr", null, b) : h.symlink("/dev/tty1", "/dev/stderr"); - var v = h.open("/dev/stdin", 0), B = h.open("/dev/stdout", 1), y = h.open("/dev/stderr", 1); - O(v.fd === 0, `invalid handle for stdin (${v.fd})`), O(B.fd === 1, `invalid handle for stdout (${B.fd})`), O(y.fd === 2, `invalid handle for stderr (${y.fd})`); + }, createStandardStreams(p, l, b) { + p ? k.createDevice("/dev", "stdin", p) : k.symlink("/dev/tty", "/dev/stdin"), l ? k.createDevice("/dev", "stdout", null, l) : k.symlink("/dev/tty", "/dev/stdout"), b ? k.createDevice("/dev", "stderr", null, b) : k.symlink("/dev/tty1", "/dev/stderr"); + var v = k.open("/dev/stdin", 0), B = k.open("/dev/stdout", 1), y = k.open("/dev/stderr", 1); + M(v.fd === 0, `invalid handle for stdin (${v.fd})`), M(B.fd === 1, `invalid handle for stdout (${B.fd})`), M(y.fd === 2, `invalid handle for stderr (${y.fd})`); }, staticInit() { - h.nameTable = new Array(4096), h.mount(se, {}, "/"), h.createDefaultDirectories(), h.createDefaultDevices(), h.createSpecialDirectories(), h.filesystems = { MEMFS: se }; - }, init(p, u, b) { - O(!h.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"), h.initialized = !0, p ?? (p = n.stdin), u ?? (u = n.stdout), b ?? (b = n.stderr), h.createStandardStreams(p, u, b); + k.nameTable = new Array(4096), k.mount(se, {}, "/"), k.createDefaultDirectories(), k.createDefaultDevices(), k.createSpecialDirectories(), k.filesystems = { MEMFS: se }; + }, init(p, l, b) { + M(!k.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"), k.initialized = !0, p ?? (p = n.stdin), l ?? (l = n.stdout), b ?? (b = n.stderr), k.createStandardStreams(p, l, b); }, quit() { - h.initialized = !1, gu(0); - for (var p = 0; p < h.streams.length; p++) { - var u = h.streams[p]; - u && h.close(u); + k.initialized = !1, Il(0); + for (var p = 0; p < k.streams.length; p++) { + var l = k.streams[p]; + l && k.close(l); } - }, findObject(p, u) { - var b = h.analyzePath(p, u); + }, findObject(p, l) { + var b = k.analyzePath(p, l); return b.exists ? b.object : null; - }, analyzePath(p, u) { + }, analyzePath(p, l) { try { - var b = h.lookupPath(p, { follow: !u }); + var b = k.lookupPath(p, { follow: !l }); p = b.path; } catch { } var v = { isRoot: !1, exists: !1, error: 0, name: null, path: null, object: null, parentExists: !1, parentPath: null, parentObject: null }; try { - var b = h.lookupPath(p, { parent: !0 }); - v.parentExists = !0, v.parentPath = b.path, v.parentObject = b.node, v.name = Ge.basename(p), b = h.lookupPath(p, { follow: !u }), v.exists = !0, v.path = b.path, v.object = b.node, v.name = b.node.name, v.isRoot = b.path === "/"; + var b = k.lookupPath(p, { parent: !0 }); + v.parentExists = !0, v.parentPath = b.path, v.parentObject = b.node, v.name = Ge.basename(p), b = k.lookupPath(p, { follow: !l }), v.exists = !0, v.path = b.path, v.object = b.node, v.name = b.node.name, v.isRoot = b.path === "/"; } catch (B) { v.error = B.errno; } return v; - }, createPath(p, u, b, v) { - p = typeof p == "string" ? p : h.getPath(p); - for (var B = u.split("/").reverse(); B.length; ) { + }, createPath(p, l, b, v) { + p = typeof p == "string" ? p : k.getPath(p); + for (var B = l.split("/").reverse(); B.length; ) { var y = B.pop(); if (y) { var E = Ge.join2(p, y); try { - h.mkdir(E); + k.mkdir(E); } catch { } p = E; } } return E; - }, createFile(p, u, b, v, B) { - var y = Ge.join2(typeof p == "string" ? p : h.getPath(p), u), E = Gs(v, B); - return h.create(y, E); - }, createDataFile(p, u, b, v, B, y) { - var E = u; - p && (p = typeof p == "string" ? p : h.getPath(p), E = u ? Ge.join2(p, u) : p); - var x = Gs(v, B), R = h.create(E, x); + }, createFile(p, l, b, v, B) { + var y = Ge.join2(typeof p == "string" ? p : k.getPath(p), l), E = Is(v, B); + return k.create(y, E); + }, createDataFile(p, l, b, v, B, y) { + var E = l; + p && (p = typeof p == "string" ? p : k.getPath(p), E = l ? Ge.join2(p, l) : p); + var x = Is(v, B), j = k.create(E, x); if (b) { if (typeof b == "string") { for (var $ = new Array(b.length), ee = 0, ie = b.length; ee < ie; ++ee) $[ee] = b.charCodeAt(ee); b = $; } - h.chmod(R, x | 146); - var ce = h.open(R, 577); - h.write(ce, b, 0, b.length, 0, y), h.close(ce), h.chmod(R, x); + k.chmod(j, x | 146); + var ce = k.open(j, 577); + k.write(ce, b, 0, b.length, 0, y), k.close(ce), k.chmod(j, x); } - }, createDevice(p, u, b, v) { - var B, y = Ge.join2(typeof p == "string" ? p : h.getPath(p), u), E = Gs(!!b, !!v); - (B = h.createDevice).major ?? (B.major = 64); - var x = h.makedev(h.createDevice.major++, 0); - return h.registerDevice(x, { open(R) { - R.seekable = !1; - }, close(R) { + }, createDevice(p, l, b, v) { + var B, y = Ge.join2(typeof p == "string" ? p : k.getPath(p), l), E = Is(!!b, !!v); + (B = k.createDevice).major ?? (B.major = 64); + var x = k.makedev(k.createDevice.major++, 0); + return k.registerDevice(x, { open(j) { + j.seekable = !1; + }, close(j) { v?.buffer?.length && v(10); - }, read(R, $, ee, ie, ce) { + }, read(j, $, ee, ie, ce) { for (var z = 0, oe = 0; oe < ie; oe++) { var Ce; try { Ce = b(); } catch { - throw new h.ErrnoError(29); + throw new k.ErrnoError(29); } - if (Ce === void 0 && z === 0) throw new h.ErrnoError(6); + if (Ce === void 0 && z === 0) throw new k.ErrnoError(6); if (Ce == null) break; z++, $[ee + oe] = Ce; } - return z && (R.node.timestamp = Date.now()), z; - }, write(R, $, ee, ie, ce) { + return z && (j.node.timestamp = Date.now()), z; + }, write(j, $, ee, ie, ce) { for (var z = 0; z < ie; z++) try { v($[ee + z]); } catch { - throw new h.ErrnoError(29); + throw new k.ErrnoError(29); } - return ie && (R.node.timestamp = Date.now()), z; - } }), h.mkdev(y, E, x); + return ie && (j.node.timestamp = Date.now()), z; + } }), k.mkdev(y, E, x); }, forceLoadFile(p) { if (p.isDevice || p.isFolder || p.link || p.contents) return !0; if (typeof XMLHttpRequest < "u") throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); try { p.contents = _(p.url), p.usedBytes = p.contents.length; } catch { - throw new h.ErrnoError(29); + throw new k.ErrnoError(29); } - }, createLazyFile(p, u, b, v, B) { + }, createLazyFile(p, l, b, v, B) { class y { constructor() { - wt(this, "lengthKnown", !1), wt(this, "chunks", []); + gt(this, "lengthKnown", !1), gt(this, "chunks", []); } get(z) { if (!(z > this.length - 1 || z < 0)) { @@ -1181,20 +1181,20 @@ var ku, lb, SB = it(() => { cacheLength() { var z = new XMLHttpRequest(); if (z.open("HEAD", b, !1), z.send(null), !(z.status >= 200 && z.status < 300 || z.status === 304)) throw new Error("Couldn't load " + b + ". Status: " + z.status); - var oe = Number(z.getResponseHeader("Content-length")), Ce, St = (Ce = z.getResponseHeader("Accept-Ranges")) && Ce === "bytes", mt = (Ce = z.getResponseHeader("Content-Encoding")) && Ce === "gzip", Pt = 1024 * 1024; - St || (Pt = oe); - var Ot = (rn, Gr) => { - if (rn > Gr) throw new Error("invalid range (" + rn + ", " + Gr + ") or no bytes requested!"); - if (Gr > oe - 1) throw new Error("only " + oe + " bytes available! programmer error!"); + var oe = Number(z.getResponseHeader("Content-length")), Ce, Ot = (Ce = z.getResponseHeader("Accept-Ranges")) && Ce === "bytes", bt = (Ce = z.getResponseHeader("Content-Encoding")) && Ce === "gzip", kt = 1024 * 1024; + Ot || (kt = oe); + var Mt = (an, xr) => { + if (an > xr) throw new Error("invalid range (" + an + ", " + xr + ") or no bytes requested!"); + if (xr > oe - 1) throw new Error("only " + oe + " bytes available! programmer error!"); var Ve = new XMLHttpRequest(); - if (Ve.open("GET", b, !1), oe !== Pt && Ve.setRequestHeader("Range", "bytes=" + rn + "-" + Gr), Ve.responseType = "arraybuffer", Ve.overrideMimeType && Ve.overrideMimeType("text/plain; charset=x-user-defined"), Ve.send(null), !(Ve.status >= 200 && Ve.status < 300 || Ve.status === 304)) throw new Error("Couldn't load " + b + ". Status: " + Ve.status); - return Ve.response !== void 0 ? new Uint8Array(Ve.response || []) : Au(Ve.responseText || "", !0); - }, _i = this; - _i.setDataGetter((rn) => { - var Gr = rn * Pt, Ve = (rn + 1) * Pt - 1; - if (Ve = Math.min(Ve, oe - 1), typeof _i.chunks[rn] > "u" && (_i.chunks[rn] = Ot(Gr, Ve)), typeof _i.chunks[rn] > "u") throw new Error("doXHR failed!"); - return _i.chunks[rn]; - }), (mt || !oe) && (Pt = oe = 1, oe = this.getter(0).length, Pt = oe, H("LazyFiles on gzip forces download of the whole file when length is accessed")), this._length = oe, this._chunkSize = Pt, this.lengthKnown = !0; + if (Ve.open("GET", b, !1), oe !== kt && Ve.setRequestHeader("Range", "bytes=" + an + "-" + xr), Ve.responseType = "arraybuffer", Ve.overrideMimeType && Ve.overrideMimeType("text/plain; charset=x-user-defined"), Ve.send(null), !(Ve.status >= 200 && Ve.status < 300 || Ve.status === 304)) throw new Error("Couldn't load " + b + ". Status: " + Ve.status); + return Ve.response !== void 0 ? new Uint8Array(Ve.response || []) : hl(Ve.responseText || "", !0); + }, Qi = this; + Qi.setDataGetter((an) => { + var xr = an * kt, Ve = (an + 1) * kt - 1; + if (Ve = Math.min(Ve, oe - 1), typeof Qi.chunks[an] > "u" && (Qi.chunks[an] = Mt(xr, Ve)), typeof Qi.chunks[an] > "u") throw new Error("doXHR failed!"); + return Qi.chunks[an]; + }), (bt || !oe) && (kt = oe = 1, oe = this.getter(0).length, kt = oe, H("LazyFiles on gzip forces download of the whole file when length is accessed")), this._length = oe, this._chunkSize = kt, this.lengthKnown = !0; } get length() { return this.lengthKnown || this.cacheLength(), this._length; @@ -1207,29 +1207,29 @@ var ku, lb, SB = it(() => { if (!s) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; var E = new y(), x = { isDevice: !1, contents: E }; } else var x = { isDevice: !1, url: b }; - var R = h.createFile(p, u, x, v, B); - x.contents ? R.contents = x.contents : x.url && (R.contents = null, R.url = x.url), Object.defineProperties(R, { usedBytes: { get: function() { + var j = k.createFile(p, l, x, v, B); + x.contents ? j.contents = x.contents : x.url && (j.contents = null, j.url = x.url), Object.defineProperties(j, { usedBytes: { get: function() { return this.contents.length; } } }); - var $ = {}, ee = Object.keys(R.stream_ops); + var $ = {}, ee = Object.keys(j.stream_ops); ee.forEach((ce) => { - var z = R.stream_ops[ce]; - $[ce] = (...oe) => (h.forceLoadFile(R), z(...oe)); + var z = j.stream_ops[ce]; + $[ce] = (...oe) => (k.forceLoadFile(j), z(...oe)); }); - function ie(ce, z, oe, Ce, St) { - var mt = ce.node.contents; - if (St >= mt.length) return 0; - var Pt = Math.min(mt.length - St, Ce); - if (O(Pt >= 0), mt.slice) for (var Ot = 0; Ot < Pt; Ot++) z[oe + Ot] = mt[St + Ot]; - else for (var Ot = 0; Ot < Pt; Ot++) z[oe + Ot] = mt.get(St + Ot); - return Pt; + function ie(ce, z, oe, Ce, Ot) { + var bt = ce.node.contents; + if (Ot >= bt.length) return 0; + var kt = Math.min(bt.length - Ot, Ce); + if (M(kt >= 0), bt.slice) for (var Mt = 0; Mt < kt; Mt++) z[oe + Mt] = bt[Ot + Mt]; + else for (var Mt = 0; Mt < kt; Mt++) z[oe + Mt] = bt.get(Ot + Mt); + return kt; } - return $.read = (ce, z, oe, Ce, St) => (h.forceLoadFile(R), ie(ce, z, oe, Ce, St)), $.mmap = (ce, z, oe, Ce, St) => { - h.forceLoadFile(R); - var mt = su(z); - if (!mt) throw new h.ErrnoError(48); - return ie(ce, U, mt, z, oe), { ptr: mt, allocated: !0 }; - }, R.stream_ops = $, R; + return $.read = (ce, z, oe, Ce, Ot) => (k.forceLoadFile(j), ie(ce, z, oe, Ce, Ot)), $.mmap = (ce, z, oe, Ce, Ot) => { + k.forceLoadFile(j); + var bt = Bl(z); + if (!bt) throw new k.ErrnoError(48); + return ie(ce, q, bt, z, oe), { ptr: bt, allocated: !0 }; + }, j.stream_ops = $, j; }, absolutePath() { He("FS.absolutePath has been removed; use PATH_FS.resolve instead"); }, createFolder() { @@ -1242,47 +1242,47 @@ var ku, lb, SB = it(() => { He("FS.mmapAlloc has been replaced by the top level function mmapAlloc"); }, standardizePath() { He("FS.standardizePath has been removed; use PATH.normalize instead"); - } }, he = { DEFAULT_POLLMASK: 5, calculateAt(p, u, b) { - if (Ge.isAbs(u)) return u; + } }, he = { DEFAULT_POLLMASK: 5, calculateAt(p, l, b) { + if (Ge.isAbs(l)) return l; var v; - if (p === -100) v = h.cwd(); + if (p === -100) v = k.cwd(); else { var B = he.getStreamFromFD(p); v = B.path; } - if (u.length == 0) { - if (!b) throw new h.ErrnoError(44); + if (l.length == 0) { + if (!b) throw new k.ErrnoError(44); return v; } - return Ge.join2(v, u); - }, doStat(p, u, b) { - var v = p(u); - q[b >>> 2 >>> 0] = v.dev, q[b + 4 >>> 2 >>> 0] = v.mode, ke[b + 8 >>> 2 >>> 0] = v.nlink, q[b + 12 >>> 2 >>> 0] = v.uid, q[b + 16 >>> 2 >>> 0] = v.gid, q[b + 20 >>> 2 >>> 0] = v.rdev, Ie = [v.size >>> 0, (re = v.size, +Math.abs(re) >= 1 ? re > 0 ? +Math.floor(re / 4294967296) >>> 0 : ~~+Math.ceil((re - +(~~re >>> 0)) / 4294967296) >>> 0 : 0)], q[b + 24 >>> 2 >>> 0] = Ie[0], q[b + 28 >>> 2 >>> 0] = Ie[1], q[b + 32 >>> 2 >>> 0] = 4096, q[b + 36 >>> 2 >>> 0] = v.blocks; + return Ge.join2(v, l); + }, doStat(p, l, b) { + var v = p(l); + Z[b >>> 2 >>> 0] = v.dev, Z[b + 4 >>> 2 >>> 0] = v.mode, ke[b + 8 >>> 2 >>> 0] = v.nlink, Z[b + 12 >>> 2 >>> 0] = v.uid, Z[b + 16 >>> 2 >>> 0] = v.gid, Z[b + 20 >>> 2 >>> 0] = v.rdev, Ie = [v.size >>> 0, (re = v.size, +Math.abs(re) >= 1 ? re > 0 ? +Math.floor(re / 4294967296) >>> 0 : ~~+Math.ceil((re - +(~~re >>> 0)) / 4294967296) >>> 0 : 0)], Z[b + 24 >>> 2 >>> 0] = Ie[0], Z[b + 28 >>> 2 >>> 0] = Ie[1], Z[b + 32 >>> 2 >>> 0] = 4096, Z[b + 36 >>> 2 >>> 0] = v.blocks; var B = v.atime.getTime(), y = v.mtime.getTime(), E = v.ctime.getTime(); - return Ie = [Math.floor(B / 1e3) >>> 0, (re = Math.floor(B / 1e3), +Math.abs(re) >= 1 ? re > 0 ? +Math.floor(re / 4294967296) >>> 0 : ~~+Math.ceil((re - +(~~re >>> 0)) / 4294967296) >>> 0 : 0)], q[b + 40 >>> 2 >>> 0] = Ie[0], q[b + 44 >>> 2 >>> 0] = Ie[1], ke[b + 48 >>> 2 >>> 0] = B % 1e3 * 1e3 * 1e3, Ie = [Math.floor(y / 1e3) >>> 0, (re = Math.floor(y / 1e3), +Math.abs(re) >= 1 ? re > 0 ? +Math.floor(re / 4294967296) >>> 0 : ~~+Math.ceil((re - +(~~re >>> 0)) / 4294967296) >>> 0 : 0)], q[b + 56 >>> 2 >>> 0] = Ie[0], q[b + 60 >>> 2 >>> 0] = Ie[1], ke[b + 64 >>> 2 >>> 0] = y % 1e3 * 1e3 * 1e3, Ie = [Math.floor(E / 1e3) >>> 0, (re = Math.floor(E / 1e3), +Math.abs(re) >= 1 ? re > 0 ? +Math.floor(re / 4294967296) >>> 0 : ~~+Math.ceil((re - +(~~re >>> 0)) / 4294967296) >>> 0 : 0)], q[b + 72 >>> 2 >>> 0] = Ie[0], q[b + 76 >>> 2 >>> 0] = Ie[1], ke[b + 80 >>> 2 >>> 0] = E % 1e3 * 1e3 * 1e3, Ie = [v.ino >>> 0, (re = v.ino, +Math.abs(re) >= 1 ? re > 0 ? +Math.floor(re / 4294967296) >>> 0 : ~~+Math.ceil((re - +(~~re >>> 0)) / 4294967296) >>> 0 : 0)], q[b + 88 >>> 2 >>> 0] = Ie[0], q[b + 92 >>> 2 >>> 0] = Ie[1], 0; - }, doMsync(p, u, b, v, B) { - if (!h.isFile(u.node.mode)) throw new h.ErrnoError(43); + return Ie = [Math.floor(B / 1e3) >>> 0, (re = Math.floor(B / 1e3), +Math.abs(re) >= 1 ? re > 0 ? +Math.floor(re / 4294967296) >>> 0 : ~~+Math.ceil((re - +(~~re >>> 0)) / 4294967296) >>> 0 : 0)], Z[b + 40 >>> 2 >>> 0] = Ie[0], Z[b + 44 >>> 2 >>> 0] = Ie[1], ke[b + 48 >>> 2 >>> 0] = B % 1e3 * 1e3 * 1e3, Ie = [Math.floor(y / 1e3) >>> 0, (re = Math.floor(y / 1e3), +Math.abs(re) >= 1 ? re > 0 ? +Math.floor(re / 4294967296) >>> 0 : ~~+Math.ceil((re - +(~~re >>> 0)) / 4294967296) >>> 0 : 0)], Z[b + 56 >>> 2 >>> 0] = Ie[0], Z[b + 60 >>> 2 >>> 0] = Ie[1], ke[b + 64 >>> 2 >>> 0] = y % 1e3 * 1e3 * 1e3, Ie = [Math.floor(E / 1e3) >>> 0, (re = Math.floor(E / 1e3), +Math.abs(re) >= 1 ? re > 0 ? +Math.floor(re / 4294967296) >>> 0 : ~~+Math.ceil((re - +(~~re >>> 0)) / 4294967296) >>> 0 : 0)], Z[b + 72 >>> 2 >>> 0] = Ie[0], Z[b + 76 >>> 2 >>> 0] = Ie[1], ke[b + 80 >>> 2 >>> 0] = E % 1e3 * 1e3 * 1e3, Ie = [v.ino >>> 0, (re = v.ino, +Math.abs(re) >= 1 ? re > 0 ? +Math.floor(re / 4294967296) >>> 0 : ~~+Math.ceil((re - +(~~re >>> 0)) / 4294967296) >>> 0 : 0)], Z[b + 88 >>> 2 >>> 0] = Ie[0], Z[b + 92 >>> 2 >>> 0] = Ie[1], 0; + }, doMsync(p, l, b, v, B) { + if (!k.isFile(l.node.mode)) throw new k.ErrnoError(43); if (v & 2) return 0; var y = ae.slice(p, p + b); - h.msync(u, y, B, b, v); + k.msync(l, y, B, b, v); }, getStreamFromFD(p) { - var u = h.getStreamChecked(p); - return u; + var l = k.getStreamChecked(p); + return l; }, varargs: void 0, getStr(p) { - var u = On(p); - return u; + var l = Mn(p); + return l; } }; - function ak(p, u, b) { + function Ik(p, l, b) { b >>>= 0, he.varargs = b; try { var v = he.getStreamFromFD(p); - switch (u) { + switch (l) { case 0: { - var B = kA(); + var B = GA(); if (B < 0) return -28; - for (; h.streams[B]; ) B++; + for (; k.streams[B]; ) B++; var y; - return y = h.dupStream(v, B), y.fd; + return y = k.dupStream(v, B), y.fd; } case 1: case 2: @@ -1290,11 +1290,11 @@ var ku, lb, SB = it(() => { case 3: return v.flags; case 4: { - var B = kA(); + var B = GA(); return v.flags |= B, 0; } case 12: { - var B = Er(), E = 0; + var B = Cr(), E = 0; return Ae[B + E >>> 1 >>> 0] = 2, 0; } case 13: @@ -1303,66 +1303,66 @@ var ku, lb, SB = it(() => { } return -28; } catch (x) { - if (typeof h > "u" || x.name !== "ErrnoError") throw x; + if (typeof k > "u" || x.name !== "ErrnoError") throw x; return -x.errno; } } - function Ak(p, u) { - u >>>= 0; + function Qk(p, l) { + l >>>= 0; try { var b = he.getStreamFromFD(p); - return he.doStat(h.stat, b.path, u); + return he.doStat(k.stat, b.path, l); } catch (v) { - if (typeof h > "u" || v.name !== "ErrnoError") throw v; + if (typeof k > "u" || v.name !== "ErrnoError") throw v; return -v.errno; } } - function ok(p, u, b) { - var v = Dr(u, b); + function Sk(p, l, b) { + var v = Er(l, b); try { - return isNaN(v) ? 61 : (h.ftruncate(p, v), 0); + return isNaN(v) ? 61 : (k.ftruncate(p, v), 0); } catch (B) { - if (typeof h > "u" || B.name !== "ErrnoError") throw B; + if (typeof k > "u" || B.name !== "ErrnoError") throw B; return -B.errno; } } - var nr = (p, u, b) => (O(typeof b == "number", "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"), Es(p, ae, u, b)); - function sk(p, u, b) { - u >>>= 0, b >>>= 0; + var rr = (p, l, b) => (M(typeof b == "number", "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"), Hs(p, ae, l, b)); + function Ok(p, l, b) { + l >>>= 0, b >>>= 0; try { var v = he.getStreamFromFD(p); - v.getdents || (v.getdents = h.readdir(v.path)); - for (var B = 280, y = 0, E = h.llseek(v, 0, 1), x = Math.floor(E / B); x < v.getdents.length && y + B <= b; ) { - var R, $, ee = v.getdents[x]; - if (ee === ".") R = v.node.id, $ = 4; + v.getdents || (v.getdents = k.readdir(v.path)); + for (var B = 280, y = 0, E = k.llseek(v, 0, 1), x = Math.floor(E / B); x < v.getdents.length && y + B <= b; ) { + var j, $, ee = v.getdents[x]; + if (ee === ".") j = v.node.id, $ = 4; else if (ee === "..") { - var ie = h.lookupPath(v.path, { parent: !0 }); - R = ie.node.id, $ = 4; + var ie = k.lookupPath(v.path, { parent: !0 }); + j = ie.node.id, $ = 4; } else { - var ce = h.lookupNode(v.node, ee); - R = ce.id, $ = h.isChrdev(ce.mode) ? 2 : h.isDir(ce.mode) ? 4 : h.isLink(ce.mode) ? 10 : 8; + var ce = k.lookupNode(v.node, ee); + j = ce.id, $ = k.isChrdev(ce.mode) ? 2 : k.isDir(ce.mode) ? 4 : k.isLink(ce.mode) ? 10 : 8; } - O(R), Ie = [R >>> 0, (re = R, +Math.abs(re) >= 1 ? re > 0 ? +Math.floor(re / 4294967296) >>> 0 : ~~+Math.ceil((re - +(~~re >>> 0)) / 4294967296) >>> 0 : 0)], q[u + y >>> 2 >>> 0] = Ie[0], q[u + y + 4 >>> 2 >>> 0] = Ie[1], Ie = [(x + 1) * B >>> 0, (re = (x + 1) * B, +Math.abs(re) >= 1 ? re > 0 ? +Math.floor(re / 4294967296) >>> 0 : ~~+Math.ceil((re - +(~~re >>> 0)) / 4294967296) >>> 0 : 0)], q[u + y + 8 >>> 2 >>> 0] = Ie[0], q[u + y + 12 >>> 2 >>> 0] = Ie[1], Ae[u + y + 16 >>> 1 >>> 0] = 280, U[u + y + 18 >>> 0] = $, nr(ee, u + y + 19, 256), y += B, x += 1; + M(j), Ie = [j >>> 0, (re = j, +Math.abs(re) >= 1 ? re > 0 ? +Math.floor(re / 4294967296) >>> 0 : ~~+Math.ceil((re - +(~~re >>> 0)) / 4294967296) >>> 0 : 0)], Z[l + y >>> 2 >>> 0] = Ie[0], Z[l + y + 4 >>> 2 >>> 0] = Ie[1], Ie = [(x + 1) * B >>> 0, (re = (x + 1) * B, +Math.abs(re) >= 1 ? re > 0 ? +Math.floor(re / 4294967296) >>> 0 : ~~+Math.ceil((re - +(~~re >>> 0)) / 4294967296) >>> 0 : 0)], Z[l + y + 8 >>> 2 >>> 0] = Ie[0], Z[l + y + 12 >>> 2 >>> 0] = Ie[1], Ae[l + y + 16 >>> 1 >>> 0] = 280, q[l + y + 18 >>> 0] = $, rr(ee, l + y + 19, 256), y += B, x += 1; } - return h.llseek(v, x * B, 0), y; + return k.llseek(v, x * B, 0), y; } catch (z) { - if (typeof h > "u" || z.name !== "ErrnoError") throw z; + if (typeof k > "u" || z.name !== "ErrnoError") throw z; return -z.errno; } } - function ck(p, u, b) { + function Mk(p, l, b) { b >>>= 0, he.varargs = b; try { var v = he.getStreamFromFD(p); - switch (u) { + switch (l) { case 21509: return v.tty ? 0 : -59; case 21505: { if (!v.tty) return -59; if (v.tty.ops.ioctl_tcgets) { - var B = v.tty.ops.ioctl_tcgets(v), y = Er(); - q[y >>> 2 >>> 0] = B.c_iflag || 0, q[y + 4 >>> 2 >>> 0] = B.c_oflag || 0, q[y + 8 >>> 2 >>> 0] = B.c_cflag || 0, q[y + 12 >>> 2 >>> 0] = B.c_lflag || 0; - for (var E = 0; E < 32; E++) U[y + E + 17 >>> 0] = B.c_cc[E] || 0; + var B = v.tty.ops.ioctl_tcgets(v), y = Cr(); + Z[y >>> 2 >>> 0] = B.c_iflag || 0, Z[y + 4 >>> 2 >>> 0] = B.c_oflag || 0, Z[y + 8 >>> 2 >>> 0] = B.c_cflag || 0, Z[y + 12 >>> 2 >>> 0] = B.c_lflag || 0; + for (var E = 0; E < 32; E++) q[y + E + 17 >>> 0] = B.c_cc[E] || 0; return 0; } return 0; @@ -1376,26 +1376,26 @@ var ku, lb, SB = it(() => { case 21508: { if (!v.tty) return -59; if (v.tty.ops.ioctl_tcsets) { - for (var y = Er(), x = q[y >>> 2 >>> 0], R = q[y + 4 >>> 2 >>> 0], $ = q[y + 8 >>> 2 >>> 0], ee = q[y + 12 >>> 2 >>> 0], ie = [], E = 0; E < 32; E++) ie.push(U[y + E + 17 >>> 0]); - return v.tty.ops.ioctl_tcsets(v.tty, u, { c_iflag: x, c_oflag: R, c_cflag: $, c_lflag: ee, c_cc: ie }); + for (var y = Cr(), x = Z[y >>> 2 >>> 0], j = Z[y + 4 >>> 2 >>> 0], $ = Z[y + 8 >>> 2 >>> 0], ee = Z[y + 12 >>> 2 >>> 0], ie = [], E = 0; E < 32; E++) ie.push(q[y + E + 17 >>> 0]); + return v.tty.ops.ioctl_tcsets(v.tty, l, { c_iflag: x, c_oflag: j, c_cflag: $, c_lflag: ee, c_cc: ie }); } return 0; } case 21519: { if (!v.tty) return -59; - var y = Er(); - return q[y >>> 2 >>> 0] = 0, 0; + var y = Cr(); + return Z[y >>> 2 >>> 0] = 0, 0; } case 21520: return v.tty ? -28 : -59; case 21531: { - var y = Er(); - return h.ioctl(v, u, y); + var y = Cr(); + return k.ioctl(v, l, y); } case 21523: { if (!v.tty) return -59; if (v.tty.ops.ioctl_tiocgwinsz) { - var ce = v.tty.ops.ioctl_tiocgwinsz(v.tty), y = Er(); + var ce = v.tty.ops.ioctl_tiocgwinsz(v.tty), y = Cr(); Ae[y >>> 1 >>> 0] = ce[0], Ae[y + 2 >>> 1 >>> 0] = ce[1]; } return 0; @@ -1408,607 +1408,616 @@ var ku, lb, SB = it(() => { return -28; } } catch (z) { - if (typeof h > "u" || z.name !== "ErrnoError") throw z; + if (typeof k > "u" || z.name !== "ErrnoError") throw z; return -z.errno; } } - function dk(p, u) { - p >>>= 0, u >>>= 0; + function jk(p, l) { + p >>>= 0, l >>>= 0; try { - return p = he.getStr(p), he.doStat(h.lstat, p, u); + return p = he.getStr(p), he.doStat(k.lstat, p, l); } catch (b) { - if (typeof h > "u" || b.name !== "ErrnoError") throw b; + if (typeof k > "u" || b.name !== "ErrnoError") throw b; return -b.errno; } } - function pk(p, u, b, v) { - u >>>= 0, b >>>= 0; + function Rk(p, l, b, v) { + l >>>= 0, b >>>= 0; try { - u = he.getStr(u); + l = he.getStr(l); var B = v & 256, y = v & 4096; - return v = v & -6401, O(!v, `unknown flags in __syscall_newfstatat: ${v}`), u = he.calculateAt(p, u, y), he.doStat(B ? h.lstat : h.stat, u, b); + return v = v & -6401, M(!v, `unknown flags in __syscall_newfstatat: ${v}`), l = he.calculateAt(p, l, y), he.doStat(B ? k.lstat : k.stat, l, b); } catch (E) { - if (typeof h > "u" || E.name !== "ErrnoError") throw E; + if (typeof k > "u" || E.name !== "ErrnoError") throw E; return -E.errno; } } - function lk(p, u, b, v) { - u >>>= 0, v >>>= 0, he.varargs = v; + function Lk(p, l, b, v) { + l >>>= 0, v >>>= 0, he.varargs = v; try { - u = he.getStr(u), u = he.calculateAt(p, u); - var B = v ? kA() : 0; - return h.open(u, b, B).fd; + l = he.getStr(l), l = he.calculateAt(p, l); + var B = v ? GA() : 0; + return k.open(l, b, B).fd; } catch (y) { - if (typeof h > "u" || y.name !== "ErrnoError") throw y; + if (typeof k > "u" || y.name !== "ErrnoError") throw y; return -y.errno; } } - function uk(p) { + function Tk(p) { p >>>= 0; try { - return p = he.getStr(p), h.rmdir(p), 0; - } catch (u) { - if (typeof h > "u" || u.name !== "ErrnoError") throw u; - return -u.errno; + return p = he.getStr(p), k.rmdir(p), 0; + } catch (l) { + if (typeof k > "u" || l.name !== "ErrnoError") throw l; + return -l.errno; } } - function mk(p, u) { - p >>>= 0, u >>>= 0; + function Kk(p, l) { + p >>>= 0, l >>>= 0; try { - return p = he.getStr(p), he.doStat(h.stat, p, u); + return p = he.getStr(p), he.doStat(k.stat, p, l); } catch (b) { - if (typeof h > "u" || b.name !== "ErrnoError") throw b; + if (typeof k > "u" || b.name !== "ErrnoError") throw b; return -b.errno; } } - function wk(p, u, b) { - u >>>= 0; + function Nk(p, l, b) { + l >>>= 0; try { - return u = he.getStr(u), u = he.calculateAt(p, u), b === 0 ? h.unlink(u) : b === 512 ? h.rmdir(u) : He("Invalid flags passed to unlinkat"), 0; + return l = he.getStr(l), l = he.calculateAt(p, l), b === 0 ? k.unlink(l) : b === 512 ? k.rmdir(l) : He("Invalid flags passed to unlinkat"), 0; } catch (v) { - if (typeof h > "u" || v.name !== "ErrnoError") throw v; + if (typeof k > "u" || v.name !== "ErrnoError") throw v; return -v.errno; } } - var bk = () => { + var Vk = () => { He("native code called abort()"); - }, gk = 1, fk = () => gk; - function Fk(p, u, b) { - return p >>>= 0, u >>>= 0, b >>>= 0, ae.copyWithin(p >>> 0, u >>> 0, u + b >>> 0); + }, Yk = 1, Xk = () => Yk; + function Wk(p, l, b) { + return p >>>= 0, l >>>= 0, b >>>= 0, ae.copyWithin(p >>> 0, l >>> 0, l + b >>> 0); } - var vk = () => { + var Uk = () => { throw 1 / 0; }; - function Pk(p, u, b) { - var v = Dr(p, u); + function qk(p, l, b) { + var v = Er(p, l); b >>>= 0; var B = new Date(v * 1e3); - q[b >>> 2 >>> 0] = B.getUTCSeconds(), q[b + 4 >>> 2 >>> 0] = B.getUTCMinutes(), q[b + 8 >>> 2 >>> 0] = B.getUTCHours(), q[b + 12 >>> 2 >>> 0] = B.getUTCDate(), q[b + 16 >>> 2 >>> 0] = B.getUTCMonth(), q[b + 20 >>> 2 >>> 0] = B.getUTCFullYear() - 1900, q[b + 24 >>> 2 >>> 0] = B.getUTCDay(); + Z[b >>> 2 >>> 0] = B.getUTCSeconds(), Z[b + 4 >>> 2 >>> 0] = B.getUTCMinutes(), Z[b + 8 >>> 2 >>> 0] = B.getUTCHours(), Z[b + 12 >>> 2 >>> 0] = B.getUTCDate(), Z[b + 16 >>> 2 >>> 0] = B.getUTCMonth(), Z[b + 20 >>> 2 >>> 0] = B.getUTCFullYear() - 1900, Z[b + 24 >>> 2 >>> 0] = B.getUTCDay(); var y = Date.UTC(B.getUTCFullYear(), 0, 1, 0, 0, 0, 0), E = (B.getTime() - y) / (1e3 * 60 * 60 * 24) | 0; - q[b + 28 >>> 2 >>> 0] = E; + Z[b + 28 >>> 2 >>> 0] = E; } - var hk = (p) => p % 4 === 0 && (p % 100 !== 0 || p % 400 === 0), kk = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335], Bk = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334], Dk = (p) => { - var u = hk(p.getFullYear()), b = u ? kk : Bk, v = b[p.getMonth()] + p.getDate() - 1; + var Zk = (p) => p % 4 === 0 && (p % 100 !== 0 || p % 400 === 0), zk = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335], Jk = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334], $k = (p) => { + var l = Zk(p.getFullYear()), b = l ? zk : Jk, v = b[p.getMonth()] + p.getDate() - 1; return v; }; - function yk(p, u, b) { - var v = Dr(p, u); + function eB(p, l, b) { + var v = Er(p, l); b >>>= 0; var B = new Date(v * 1e3); - q[b >>> 2 >>> 0] = B.getSeconds(), q[b + 4 >>> 2 >>> 0] = B.getMinutes(), q[b + 8 >>> 2 >>> 0] = B.getHours(), q[b + 12 >>> 2 >>> 0] = B.getDate(), q[b + 16 >>> 2 >>> 0] = B.getMonth(), q[b + 20 >>> 2 >>> 0] = B.getFullYear() - 1900, q[b + 24 >>> 2 >>> 0] = B.getDay(); - var y = Dk(B) | 0; - q[b + 28 >>> 2 >>> 0] = y, q[b + 36 >>> 2 >>> 0] = -(B.getTimezoneOffset() * 60); - var E = new Date(B.getFullYear(), 0, 1), x = new Date(B.getFullYear(), 6, 1).getTimezoneOffset(), R = E.getTimezoneOffset(), $ = (x != R && B.getTimezoneOffset() == Math.min(R, x)) | 0; - q[b + 32 >>> 2 >>> 0] = $; + Z[b >>> 2 >>> 0] = B.getSeconds(), Z[b + 4 >>> 2 >>> 0] = B.getMinutes(), Z[b + 8 >>> 2 >>> 0] = B.getHours(), Z[b + 12 >>> 2 >>> 0] = B.getDate(), Z[b + 16 >>> 2 >>> 0] = B.getMonth(), Z[b + 20 >>> 2 >>> 0] = B.getFullYear() - 1900, Z[b + 24 >>> 2 >>> 0] = B.getDay(); + var y = $k(B) | 0; + Z[b + 28 >>> 2 >>> 0] = y, Z[b + 36 >>> 2 >>> 0] = -(B.getTimezoneOffset() * 60); + var E = new Date(B.getFullYear(), 0, 1), x = new Date(B.getFullYear(), 6, 1).getTimezoneOffset(), j = E.getTimezoneOffset(), $ = (x != j && B.getTimezoneOffset() == Math.min(j, x)) | 0; + Z[b + 32 >>> 2 >>> 0] = $; } - function Ek(p, u, b, v, B, y, E, x) { + function tB(p, l, b, v, B, y, E, x) { p >>>= 0; - var R = Dr(B, y); + var j = Er(B, y); E >>>= 0, x >>>= 0; try { - if (isNaN(R)) return 61; - var $ = he.getStreamFromFD(v), ee = h.mmap($, p, R, u, b), ie = ee.ptr; - return q[E >>> 2 >>> 0] = ee.allocated, ke[x >>> 2 >>> 0] = ie, 0; + if (isNaN(j)) return 61; + var $ = he.getStreamFromFD(v), ee = k.mmap($, p, j, l, b), ie = ee.ptr; + return Z[E >>> 2 >>> 0] = ee.allocated, ke[x >>> 2 >>> 0] = ie, 0; } catch (ce) { - if (typeof h > "u" || ce.name !== "ErrnoError") throw ce; + if (typeof k > "u" || ce.name !== "ErrnoError") throw ce; return -ce.errno; } } - function Gk(p, u, b, v, B, y, E) { - p >>>= 0, u >>>= 0; - var x = Dr(y, E); + function nB(p, l, b, v, B, y, E) { + p >>>= 0, l >>>= 0; + var x = Er(y, E); try { - var R = he.getStreamFromFD(B); - b & 2 && he.doMsync(p, R, u, v, x); + var j = he.getStreamFromFD(B); + b & 2 && he.doMsync(p, j, l, v, x); } catch ($) { - if (typeof h > "u" || $.name !== "ErrnoError") throw $; + if (typeof k > "u" || $.name !== "ErrnoError") throw $; return -$.errno; } } - var Ck = function(p, u, b, v) { - p >>>= 0, u >>>= 0, b >>>= 0, v >>>= 0; - var B = (/* @__PURE__ */ new Date()).getFullYear(), y = new Date(B, 0, 1), E = new Date(B, 6, 1), x = y.getTimezoneOffset(), R = E.getTimezoneOffset(), $ = Math.max(x, R); - ke[p >>> 2 >>> 0] = $ * 60, q[u >>> 2 >>> 0] = +(x != R); + var rB = function(p, l, b, v) { + p >>>= 0, l >>>= 0, b >>>= 0, v >>>= 0; + var B = (/* @__PURE__ */ new Date()).getFullYear(), y = new Date(B, 0, 1), E = new Date(B, 6, 1), x = y.getTimezoneOffset(), j = E.getTimezoneOffset(), $ = Math.max(x, j); + ke[p >>> 2 >>> 0] = $ * 60, Z[l >>> 2 >>> 0] = +(x != j); var ee = (z) => { - var oe = z >= 0 ? "-" : "+", Ce = Math.abs(z), St = String(Math.floor(Ce / 60)).padStart(2, "0"), mt = String(Ce % 60).padStart(2, "0"); - return `UTC${oe}${St}${mt}`; - }, ie = ee(x), ce = ee(R); - O(ie), O(ce), O(Gi(ie) <= 16, `timezone name truncated to fit in TZNAME_MAX (${ie})`), O(Gi(ce) <= 16, `timezone name truncated to fit in TZNAME_MAX (${ce})`), R < x ? (nr(ie, b, 17), nr(ce, v, 17)) : (nr(ie, v, 17), nr(ce, b, 17)); - }, xk = () => Date.now(); - function _k(p) { - return p >>>= 0, C(On(p)); + var oe = z >= 0 ? "-" : "+", Ce = Math.abs(z), Ot = String(Math.floor(Ce / 60)).padStart(2, "0"), bt = String(Ce % 60).padStart(2, "0"); + return `UTC${oe}${Ot}${bt}`; + }, ie = ee(x), ce = ee(j); + M(ie), M(ce), M(_i(ie) <= 16, `timezone name truncated to fit in TZNAME_MAX (${ie})`), M(_i(ce) <= 16, `timezone name truncated to fit in TZNAME_MAX (${ce})`), j < x ? (rr(ie, b, 17), rr(ce, v, 17)) : (rr(ie, v, 17), rr(ce, b, 17)); + }, iB = () => Date.now(); + function aB(p) { + return p >>>= 0, C(Mn(p)); } - var Hk = () => performance.now(), Ik = () => 4294901760, Qk = (p) => { - var u = X.buffer, b = (p - u.byteLength + 65535) / 65536 | 0; + var AB = () => performance.now(), oB = () => 4294901760, sB = (p) => { + var l = K.buffer, b = (p - l.byteLength + 65535) / 65536 | 0; try { - return X.grow(b), Xl(), 1; + return K.grow(b), sl(), 1; } catch (v) { - C(`growMemory: Attempted to grow heap from ${u.byteLength} bytes to ${p} bytes, but got error: ${v}`); + C(`growMemory: Attempted to grow heap from ${l.byteLength} bytes to ${p} bytes, but got error: ${v}`); } }; - function Sk(p) { + function cB(p) { p >>>= 0; - var u = ae.length; - O(p > u); - var b = Ik(); + var l = ae.length; + M(p > l); + var b = oB(); if (p > b) return C(`Cannot enlarge memory, requested ${p} bytes, but the limit is ${b} bytes!`), !1; for (var v = 1; v <= 4; v *= 2) { - var B = u * (1 + 0.2 / v); + var B = l * (1 + 0.2 / v); B = Math.min(B, p + 100663296); - var y = Math.min(b, ou(Math.max(p, B), 65536)), E = Qk(y); + var y = Math.min(b, kl(Math.max(p, B), 65536)), E = sB(y); if (E) return !0; } - return C(`Failed to grow the heap from ${u} bytes to ${y} bytes, not enough memory!`), !1; + return C(`Failed to grow the heap from ${l} bytes to ${y} bytes, not enough memory!`), !1; } - var Cs = {}, Ok = () => k || "./this.program", Ci = () => { - if (!Ci.strings) { - var p = (typeof navigator == "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8", u = { USER: "web_user", LOGNAME: "web_user", PATH: "/", PWD: "/", HOME: "/home/web_user", LANG: p, _: Ok() }; - for (var b in Cs) Cs[b] === void 0 ? delete u[b] : u[b] = Cs[b]; + var Qs = {}, dB = () => h || "./this.program", Hi = () => { + if (!Hi.strings) { + var p = (typeof navigator == "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8", l = { USER: "web_user", LOGNAME: "web_user", PATH: "/", PWD: "/", HOME: "/home/web_user", LANG: p, _: dB() }; + for (var b in Qs) Qs[b] === void 0 ? delete l[b] : l[b] = Qs[b]; var v = []; - for (var b in u) v.push(`${b}=${u[b]}`); - Ci.strings = v; + for (var b in l) v.push(`${b}=${l[b]}`); + Hi.strings = v; } - return Ci.strings; - }, Mk = (p, u) => { - for (var b = 0; b < p.length; ++b) O(p.charCodeAt(b) === (p.charCodeAt(b) & 255)), U[u++ >>> 0] = p.charCodeAt(b); - U[u >>> 0] = 0; - }, jk = function(p, u) { - p >>>= 0, u >>>= 0; + return Hi.strings; + }, pB = (p, l) => { + for (var b = 0; b < p.length; ++b) M(p.charCodeAt(b) === (p.charCodeAt(b) & 255)), q[l++ >>> 0] = p.charCodeAt(b); + q[l >>> 0] = 0; + }, uB = function(p, l) { + p >>>= 0, l >>>= 0; var b = 0; - return Ci().forEach((v, B) => { - var y = u + b; - ke[p + B * 4 >>> 2 >>> 0] = y, Mk(v, y), b += v.length + 1; + return Hi().forEach((v, B) => { + var y = l + b; + ke[p + B * 4 >>> 2 >>> 0] = y, pB(v, y), b += v.length + 1; }), 0; - }, Rk = function(p, u) { - p >>>= 0, u >>>= 0; - var b = Ci(); + }, lB = function(p, l) { + p >>>= 0, l >>>= 0; + var b = Hi(); ke[p >>> 2 >>> 0] = b.length; var v = 0; - return b.forEach((B) => v += B.length + 1), ke[u >>> 2 >>> 0] = v, 0; - }, du = 0, pu = () => Xh || du > 0, Lk = (p) => { - we = p, pu() || (n.onExit?.(p), ge = !0), P(p, new Vh(p)); - }, Tk = (p, u) => { - if (we = p, _B(), pu() && !u) { - var b = `program exited (with status: ${p}), but keepRuntimeAlive() is set (counter=${du}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; + return b.forEach((B) => v += B.length + 1), ke[l >>> 2 >>> 0] = v, 0; + }, yl = 0, El = () => vk || yl > 0, mB = (p) => { + we = p, El() || (n.onExit?.(p), fe = !0), P(p, new fk(p)); + }, wB = (p, l) => { + if (we = p, AD(), El() && !l) { + var b = `program exited (with status: ${p}), but keepRuntimeAlive() is set (counter=${yl}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; a(b), C(b); } - Lk(p); - }, Kk = Tk; - function Nk(p) { + mB(p); + }, bB = wB; + function gB(p) { try { - var u = he.getStreamFromFD(p); - return h.close(u), 0; + var l = he.getStreamFromFD(p); + return k.close(l), 0; } catch (b) { - if (typeof h > "u" || b.name !== "ErrnoError") throw b; + if (typeof k > "u" || b.name !== "ErrnoError") throw b; return b.errno; } } - var Vk = (p, u, b, v) => { + var fB = (p, l, b, v) => { for (var B = 0, y = 0; y < b; y++) { - var E = ke[u >>> 2 >>> 0], x = ke[u + 4 >>> 2 >>> 0]; - u += 8; - var R = h.read(p, U, E, x, v); - if (R < 0) return -1; - if (B += R, R < x) break; - typeof v < "u" && (v += R); + var E = ke[l >>> 2 >>> 0], x = ke[l + 4 >>> 2 >>> 0]; + l += 8; + var j = k.read(p, q, E, x, v); + if (j < 0) return -1; + if (B += j, j < x) break; + typeof v < "u" && (v += j); } return B; }; - function Yk(p, u, b, v) { - u >>>= 0, b >>>= 0, v >>>= 0; + function FB(p, l, b, v) { + l >>>= 0, b >>>= 0, v >>>= 0; try { - var B = he.getStreamFromFD(p), y = Vk(B, u, b); + var B = he.getStreamFromFD(p), y = fB(B, l, b); return ke[v >>> 2 >>> 0] = y, 0; } catch (E) { - if (typeof h > "u" || E.name !== "ErrnoError") throw E; + if (typeof k > "u" || E.name !== "ErrnoError") throw E; return E.errno; } } - function Xk(p, u, b, v, B) { - var y = Dr(u, b); + function vB(p, l, b, v, B) { + var y = Er(l, b); B >>>= 0; try { if (isNaN(y)) return 61; var E = he.getStreamFromFD(p); - return h.llseek(E, y, v), Ie = [E.position >>> 0, (re = E.position, +Math.abs(re) >= 1 ? re > 0 ? +Math.floor(re / 4294967296) >>> 0 : ~~+Math.ceil((re - +(~~re >>> 0)) / 4294967296) >>> 0 : 0)], q[B >>> 2 >>> 0] = Ie[0], q[B + 4 >>> 2 >>> 0] = Ie[1], E.getdents && y === 0 && v === 0 && (E.getdents = null), 0; + return k.llseek(E, y, v), Ie = [E.position >>> 0, (re = E.position, +Math.abs(re) >= 1 ? re > 0 ? +Math.floor(re / 4294967296) >>> 0 : ~~+Math.ceil((re - +(~~re >>> 0)) / 4294967296) >>> 0 : 0)], Z[B >>> 2 >>> 0] = Ie[0], Z[B + 4 >>> 2 >>> 0] = Ie[1], E.getdents && y === 0 && v === 0 && (E.getdents = null), 0; } catch (x) { - if (typeof h > "u" || x.name !== "ErrnoError") throw x; + if (typeof k > "u" || x.name !== "ErrnoError") throw x; return x.errno; } } - function Wk(p) { + function PB(p) { try { - var u = he.getStreamFromFD(p); - return u.stream_ops?.fsync ? u.stream_ops.fsync(u) : 0; + var l = he.getStreamFromFD(p); + return l.stream_ops?.fsync ? l.stream_ops.fsync(l) : 0; } catch (b) { - if (typeof h > "u" || b.name !== "ErrnoError") throw b; + if (typeof k > "u" || b.name !== "ErrnoError") throw b; return b.errno; } } - var Uk = (p, u, b, v) => { + var hB = (p, l, b, v) => { for (var B = 0, y = 0; y < b; y++) { - var E = ke[u >>> 2 >>> 0], x = ke[u + 4 >>> 2 >>> 0]; - u += 8; - var R = h.write(p, U, E, x, v); - if (R < 0) return -1; - if (B += R, R < x) break; - typeof v < "u" && (v += R); + var E = ke[l >>> 2 >>> 0], x = ke[l + 4 >>> 2 >>> 0]; + l += 8; + var j = k.write(p, q, E, x, v); + if (j < 0) return -1; + if (B += j, j < x) break; + typeof v < "u" && (v += j); } return B; }; - function qk(p, u, b, v) { - u >>>= 0, b >>>= 0, v >>>= 0; + function kB(p, l, b, v) { + l >>>= 0, b >>>= 0, v >>>= 0; try { - var B = he.getStreamFromFD(p), y = Uk(B, u, b); + var B = he.getStreamFromFD(p), y = hB(B, l, b); return ke[v >>> 2 >>> 0] = y, 0; } catch (E) { - if (typeof h > "u" || E.name !== "ErrnoError") throw E; + if (typeof k > "u" || E.name !== "ErrnoError") throw E; return E.errno; } } - function Zk(p, u) { - p >>>= 0, u >>>= 0; + function BB(p, l) { + p >>>= 0, l >>>= 0; try { - return Ds(ae.subarray(p >>> 0, p + u >>> 0)), 0; + return xs(ae.subarray(p >>> 0, p + l >>> 0)), 0; } catch (b) { - if (typeof h > "u" || b.name !== "ErrnoError") throw b; + if (typeof k > "u" || b.name !== "ErrnoError") throw b; return b.errno; } } - var xi = [], hn, ut = (p) => { - var u = xi[p]; - return u || (p >= xi.length && (xi.length = p + 1), xi[p] = u = hn.get(p)), O(hn.get(p) == u, "JavaScript-side Wasm function table mirror is out of date!"), u; - }, lu = typeof TextDecoder < "u" ? new TextDecoder("utf-16le") : void 0, zk = (p, u) => { - O(p % 2 == 0, "Pointer passed to UTF16ToString must be aligned to two bytes!"); - for (var b = p, v = b >> 1, B = v + u / 2; !(v >= B) && ot[v >>> 0]; ) ++v; - if (b = v << 1, b - p > 32 && lu) return lu.decode(ae.subarray(p >>> 0, b >>> 0)); - for (var y = "", E = 0; !(E >= u / 2); ++E) { + var Ii = [], kn, st = (p) => { + var l = Ii[p]; + return l || (p >= Ii.length && (Ii.length = p + 1), Ii[p] = l = kn.get(p)), M(kn.get(p) == l, "JavaScript-side Wasm function table mirror is out of date!"), l; + }, Gl = typeof TextDecoder < "u" ? new TextDecoder("utf-16le") : void 0, DB = (p, l) => { + M(p % 2 == 0, "Pointer passed to UTF16ToString must be aligned to two bytes!"); + for (var b = p, v = b >> 1, B = v + l / 2; !(v >= B) && ot[v >>> 0]; ) ++v; + if (b = v << 1, b - p > 32 && Gl) return Gl.decode(ae.subarray(p >>> 0, b >>> 0)); + for (var y = "", E = 0; !(E >= l / 2); ++E) { var x = Ae[p + E * 2 >>> 1 >>> 0]; if (x == 0) break; y += String.fromCharCode(x); } return y; - }, uu = (p, u) => { - O(p < 16384), p < 128 ? u.push(p) : u.push(p % 128 | 128, p >> 7); - }, Jk = (p) => { - O(!p.includes("j"), "i64 not permitted in function signatures when WASM_BIGINT is disabled"); - for (var u = { i: "i32", j: "i64", f: "f32", d: "f64", e: "externref", p: "i32" }, b = { parameters: [], results: p[0] == "v" ? [] : [u[p[0]]] }, v = 1; v < p.length; ++v) O(p[v] in u, "invalid signature char: " + p[v]), b.parameters.push(u[p[v]]); + }, Cl = (p, l) => { + M(p < 16384), p < 128 ? l.push(p) : l.push(p % 128 | 128, p >> 7); + }, yB = (p) => { + M(!p.includes("j"), "i64 not permitted in function signatures when WASM_BIGINT is disabled"); + for (var l = { i: "i32", j: "i64", f: "f32", d: "f64", e: "externref", p: "i32" }, b = { parameters: [], results: p[0] == "v" ? [] : [l[p[0]]] }, v = 1; v < p.length; ++v) M(p[v] in l, "invalid signature char: " + p[v]), b.parameters.push(l[p[v]]); return b; - }, $k = (p, u) => { + }, EB = (p, l) => { var b = p.slice(0, 1), v = p.slice(1), B = { i: 127, p: 127, j: 126, f: 125, d: 124, e: 111 }; - u.push(96), uu(v.length, u); - for (var y = 0; y < v.length; ++y) O(v[y] in B, "invalid signature char: " + v[y]), u.push(B[v[y]]); - b == "v" ? u.push(0) : u.push(1, B[b]); - }, eB = (p, u) => { - if (O(!u.includes("j"), "i64 not permitted in function signatures when WASM_BIGINT is disabled"), typeof WebAssembly.Function == "function") return new WebAssembly.Function(Jk(u), p); + l.push(96), Cl(v.length, l); + for (var y = 0; y < v.length; ++y) M(v[y] in B, "invalid signature char: " + v[y]), l.push(B[v[y]]); + b == "v" ? l.push(0) : l.push(1, B[b]); + }, GB = (p, l) => { + if (M(!l.includes("j"), "i64 not permitted in function signatures when WASM_BIGINT is disabled"), typeof WebAssembly.Function == "function") return new WebAssembly.Function(yB(l), p); var b = [1]; - $k(u, b); + EB(l, b); var v = [0, 97, 115, 109, 1, 0, 0, 0, 1]; - uu(b.length, v), v.push(...b), v.push(2, 7, 1, 1, 101, 1, 102, 0, 0, 7, 5, 1, 1, 102, 0, 0); + Cl(b.length, v), v.push(...b), v.push(2, 7, 1, 1, 101, 1, 102, 0, 0, 7, 5, 1, 1, 102, 0, 0); var B = new WebAssembly.Module(new Uint8Array(v)), y = new WebAssembly.Instance(B, { e: { f: p } }), E = y.exports.f; return E; - }, tB = (p, u) => { - if (rr) for (var b = p; b < p + u; b++) { - var v = ut(b); - v && rr.set(v, b); + }, CB = (p, l) => { + if (ir) for (var b = p; b < p + l; b++) { + var v = st(b); + v && ir.set(v, b); } - }, rr, nB = (p) => (rr || (rr = /* @__PURE__ */ new WeakMap(), tB(0, hn.length)), rr.get(p) || 0), xs = [], rB = () => { - if (xs.length) return xs.pop(); + }, ir, xB = (p) => (ir || (ir = /* @__PURE__ */ new WeakMap(), CB(0, kn.length)), ir.get(p) || 0), Ss = [], _B = () => { + if (Ss.length) return Ss.pop(); try { - hn.grow(1); + kn.grow(1); } catch (p) { throw p instanceof RangeError ? "Unable to grow wasm table. Set ALLOW_TABLE_GROWTH." : p; } - return hn.length - 1; - }, _s = (p, u) => { - hn.set(p, u), xi[p] = hn.get(p); - }, iB = (p, u) => { - O(typeof p < "u"); - var b = nB(p); + return kn.length - 1; + }, Os = (p, l) => { + kn.set(p, l), Ii[p] = kn.get(p); + }, HB = (p, l) => { + M(typeof p < "u"); + var b = xB(p); if (b) return b; - var v = rB(); + var v = _B(); try { - _s(v, p); + Os(v, p); } catch (y) { if (!(y instanceof TypeError)) throw y; - O(typeof u < "u", "Missing signature argument to addFunction: " + p); - var B = eB(p, u); - _s(v, B); + M(typeof l < "u", "Missing signature argument to addFunction: " + p); + var B = GB(p, l); + Os(v, B); } - return rr.set(p, v), v; - }, aB = (p) => { - var u = n["_" + p]; - return O(u, "Cannot call unknown function " + p + ", make sure it is exported"), u; - }, AB = (p, u) => { - O(p.length >= 0, "writeArrayToMemory array must have a length (should be an array or typed array)"), U.set(p, u >>> 0); - }, mu = (p) => vu(p), oB = (p) => { - var u = Gi(p) + 1, b = mu(u); - return nr(p, b, u), b; - }, wu = (p, u, b, v, B) => { + return ir.set(p, v), v; + }, IB = (p) => { + var l = n["_" + p]; + return M(l, "Cannot call unknown function " + p + ", make sure it is exported"), l; + }, QB = (p, l) => { + M(p.length >= 0, "writeArrayToMemory array must have a length (should be an array or typed array)"), q.set(p, l >>> 0); + }, xl = (p) => Ol(p), SB = (p) => { + var l = _i(p) + 1, b = xl(l); + return rr(p, b, l), b; + }, _l = (p, l, b, v, B) => { var y = { string: (oe) => { var Ce = 0; - return oe != null && oe !== 0 && (Ce = oB(oe)), Ce; + return oe != null && oe !== 0 && (Ce = SB(oe)), Ce; }, array: (oe) => { - var Ce = mu(oe.length); - return AB(oe, Ce), Ce; + var Ce = xl(oe.length); + return QB(oe, Ce), Ce; } }; function E(oe) { - return u === "string" ? On(oe) : u === "boolean" ? !!oe : oe; + return l === "string" ? Mn(oe) : l === "boolean" ? !!oe : oe; } - var x = aB(p), R = [], $ = 0; - if (O(u !== "array", 'Return type should not be "array".'), v) for (var ee = 0; ee < v.length; ee++) { + var x = IB(p), j = [], $ = 0; + if (M(l !== "array", 'Return type should not be "array".'), v) for (var ee = 0; ee < v.length; ee++) { var ie = y[b[ee]]; - ie ? ($ === 0 && ($ = vt()), R[ee] = ie(v[ee])) : R[ee] = v[ee]; + ie ? ($ === 0 && ($ = wt()), j[ee] = ie(v[ee])) : j[ee] = v[ee]; } - var ce = x(...R); + var ce = x(...j); function z(oe) { - return $ !== 0 && Ft($), E(oe); + return $ !== 0 && mt($), E(oe); } return ce = z(ce), ce; - }, sB = (p, u, b, v) => (...B) => wu(p, u, b, B, v), cB = (p) => { - rr.delete(ut(p)), _s(p, null), xs.push(p); - }, dB = (p, u, b) => { - if (O(u % 2 == 0, "Pointer passed to stringToUTF16 must be aligned to two bytes!"), O(typeof b == "number", "stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"), b ?? (b = 2147483647), b < 2) return 0; + }, OB = (p, l, b, v) => (...B) => _l(p, l, b, B, v), MB = (p) => { + ir.delete(st(p)), Os(p, null), Ss.push(p); + }, jB = (p, l, b) => { + if (M(l % 2 == 0, "Pointer passed to stringToUTF16 must be aligned to two bytes!"), M(typeof b == "number", "stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"), b ?? (b = 2147483647), b < 2) return 0; b -= 2; - for (var v = u, B = b < p.length * 2 ? b / 2 : p.length, y = 0; y < B; ++y) { + for (var v = l, B = b < p.length * 2 ? b / 2 : p.length, y = 0; y < B; ++y) { var E = p.charCodeAt(y); - Ae[u >>> 1 >>> 0] = E, u += 2; + Ae[l >>> 1 >>> 0] = E, l += 2; } - return Ae[u >>> 1 >>> 0] = 0, u - v; + return Ae[l >>> 1 >>> 0] = 0, l - v; }; - h.createPreloadedFile = nk, h.staticInit(); - function pB() { - Kh("fetchSettings"); + k.createPreloadedFile = xk, k.staticInit(); + function RB() { + bk("fetchSettings"); } - var bu = { __assert_fail: Uh, __syscall_fcntl64: ak, __syscall_fstat64: Ak, __syscall_ftruncate64: ok, __syscall_getdents64: sk, __syscall_ioctl: ck, __syscall_lstat64: dk, __syscall_newfstatat: pk, __syscall_openat: lk, __syscall_rmdir: uk, __syscall_stat64: mk, __syscall_unlinkat: wk, _abort_js: bk, _emscripten_get_now_is_monotonic: fk, _emscripten_memcpy_js: Fk, _emscripten_throw_longjmp: vk, _gmtime_js: Pk, _localtime_js: yk, _mmap_js: Ek, _munmap_js: Gk, _tzset_js: Ck, emscripten_date_now: xk, emscripten_err: _k, emscripten_get_now: Hk, emscripten_resize_heap: Sk, environ_get: jk, environ_sizes_get: Rk, exit: Kk, fd_close: Nk, fd_read: Yk, fd_seek: Xk, fd_sync: Wk, fd_write: qk, invoke_ii: vB, invoke_iii: gB, invoke_iiii: PB, invoke_iiiii: fB, invoke_iiiiii: DB, invoke_v: BB, invoke_vi: kB, invoke_vii: hB, invoke_viii: FB, invoke_viiii: bB, invoke_viiiiiiiii: yB, random_get: Zk }, Ne = Th(), gj = c("__wasm_call_ctors", 0), fj = n._EPDFAction_CloseModel = c("EPDFAction_CloseModel", 1), Fj = n._EPDFAction_LoadModel = c("EPDFAction_LoadModel", 1), vj = n._EPDFAction_GetRootNode = c("EPDFAction_GetRootNode", 1), Pj = n._EPDFAction_GetNodeCount = c("EPDFAction_GetNodeCount", 1), hj = n._EPDFAction_GetNodeType = c("EPDFAction_GetNodeType", 2), kj = n._EPDFAction_GetNodeSubtype = c("EPDFAction_GetNodeSubtype", 4), Bj = n._EPDFAction_NodeHasJavaScript = c("EPDFAction_NodeHasJavaScript", 2), Dj = n._EPDFAction_GetNodeJavaScript = c("EPDFAction_GetNodeJavaScript", 4), yj = n._EPDFAction_GetNodeDest = c("EPDFAction_GetNodeDest", 3), Ej = n._EPDFAction_GetNodeURI = c("EPDFAction_GetNodeURI", 5), Gj = n._EPDFAction_GetNodeFilePath = c("EPDFAction_GetNodeFilePath", 4), Cj = n._EPDFAction_GetNodeName = c("EPDFAction_GetNodeName", 4), xj = n._EPDFAction_GetNodeTargetCount = c("EPDFAction_GetNodeTargetCount", 2), _j = n._EPDFAction_GetNodeTargetName = c("EPDFAction_GetNodeTargetName", 5), Hj = n._EPDFAction_GetNodeTargetObjectNumber = c("EPDFAction_GetNodeTargetObjectNumber", 4), Ij = n._EPDFAction_GetNodeHideFlag = c("EPDFAction_GetNodeHideFlag", 3), Qj = n._EPDFAction_GetNodeResetForm = c("EPDFAction_GetNodeResetForm", 4), Sj = n._EPDFAction_GetNodeSubmitForm = c("EPDFAction_GetNodeSubmitForm", 4), Oj = n._EPDFAction_GetNodeSubmitFormURL = c("EPDFAction_GetNodeSubmitFormURL", 4), Mj = n._EPDFAction_GetNodeSubmitFormCharSet = c("EPDFAction_GetNodeSubmitFormCharSet", 4), jj = n._EPDFAction_GetNodeURIIsMap = c("EPDFAction_GetNodeURIIsMap", 3), Rj = n._EPDFAction_GetNextCount = c("EPDFAction_GetNextCount", 2), Lj = n._EPDFAction_GetNextAt = c("EPDFAction_GetNextAt", 3), Tj = n._EPDFAction_GetWarningFlags = c("EPDFAction_GetWarningFlags", 1), Kj = n._EPDFAction_IsComplete = c("EPDFAction_IsComplete", 1), Nj = n._EPDFDoc_GetOpenActionModel = c("EPDFDoc_GetOpenActionModel", 1), Vj = n._EPDFDoc_GetOpenActionDest = c("EPDFDoc_GetOpenActionDest", 1), Yj = n._EPDFDoc_GetAdditionalActionModel = c("EPDFDoc_GetAdditionalActionModel", 2), Xj = n._EPDFDoc_GetPageActionModel = c("EPDFDoc_GetPageActionModel", 3), Wj = n._EPDFAnnot_GetActionModel = c("EPDFAnnot_GetActionModel", 2), Uj = n._EPDFAction_CreateJavaScript = c("EPDFAction_CreateJavaScript", 2), qj = n._EPDFAction_CreateHide = c("EPDFAction_CreateHide", 4), Zj = n._EPDFAction_CreateResetForm = c("EPDFAction_CreateResetForm", 4), zj = n._EPDFAction_CreateSubmitForm = c("EPDFAction_CreateSubmitForm", 5), Jj = n._EPDFAction_SetNext = c("EPDFAction_SetNext", 4), $j = n._EPDFAnnot_SetEventAction = c("EPDFAnnot_SetEventAction", 3), e1 = n._EPDFAnnot_SetNumberValue = c("EPDFAnnot_SetNumberValue", 3), t1 = n._EPDFAnnot_HasEmbedMetadata = c("EPDFAnnot_HasEmbedMetadata", 1), n1 = n._EPDFAnnot_ClearEmbedMetadata = c("EPDFAnnot_ClearEmbedMetadata", 1), r1 = n._EPDFAnnot_ClearEmbedMetadataKey = c("EPDFAnnot_ClearEmbedMetadataKey", 2), i1 = n._EPDFAnnot_SetEmbedMetadataString = c("EPDFAnnot_SetEmbedMetadataString", 3), a1 = n._EPDFAnnot_GetEmbedMetadataString = c("EPDFAnnot_GetEmbedMetadataString", 4), A1 = n._EPDFAnnot_SetEmbedMetadataNumber = c("EPDFAnnot_SetEmbedMetadataNumber", 3), o1 = n._EPDFAnnot_GetEmbedMetadataNumber = c("EPDFAnnot_GetEmbedMetadataNumber", 3), s1 = n._EPDFAnnot_SetEmbedMetadataBoolean = c("EPDFAnnot_SetEmbedMetadataBoolean", 3), c1 = n._EPDFAnnot_GetEmbedMetadataBoolean = c("EPDFAnnot_GetEmbedMetadataBoolean", 3), d1 = n._EPDFAnnot_SetEmbedMetadataRect = c("EPDFAnnot_SetEmbedMetadataRect", 3), p1 = n._EPDFAnnot_GetEmbedMetadataRect = c("EPDFAnnot_GetEmbedMetadataRect", 3), l1 = n._EPDFAnnot_SetEmbedMetadataJSON = c("EPDFAnnot_SetEmbedMetadataJSON", 2), u1 = n._EPDFAnnot_GetEmbedMetadataJSON = c("EPDFAnnot_GetEmbedMetadataJSON", 3), m1 = n._EPDFDocument_ClearEmbedMetadata = c("EPDFDocument_ClearEmbedMetadata", 1), w1 = n._EPDFAnnot_SetAction = c("EPDFAnnot_SetAction", 2), b1 = n._EPDFAnnot_RemoveAction = c("EPDFAnnot_RemoveAction", 1), g1 = n._EPDFAnnot_RemoveDest = c("EPDFAnnot_RemoveDest", 1), f1 = n._EPDFAnnot_RemoveKey = c("EPDFAnnot_RemoveKey", 2), F1 = n._EPDFAnnot_GetFileAttachmentForWrite = c("EPDFAnnot_GetFileAttachmentForWrite", 1), v1 = n._EPDFAnnot_SetColor = c("EPDFAnnot_SetColor", 5), P1 = n._EPDFAnnot_GetColor = c("EPDFAnnot_GetColor", 5), h1 = n._EPDFAnnot_ClearColor = c("EPDFAnnot_ClearColor", 2), k1 = n._EPDFAnnot_SetNoColor = c("EPDFAnnot_SetNoColor", 2), B1 = n._EPDFAnnot_SetOpacity = c("EPDFAnnot_SetOpacity", 2), D1 = n._EPDFAnnot_GetOpacity = c("EPDFAnnot_GetOpacity", 2), y1 = n._EPDFAnnot_GetBorderEffect = c("EPDFAnnot_GetBorderEffect", 2), E1 = n._EPDFAnnot_SetBorderEffect = c("EPDFAnnot_SetBorderEffect", 2), G1 = n._EPDFAnnot_ClearBorderEffect = c("EPDFAnnot_ClearBorderEffect", 1), C1 = n._EPDFAnnot_GetRectangleDifferences = c("EPDFAnnot_GetRectangleDifferences", 5), x1 = n._EPDFAnnot_ClearRectangleDifferences = c("EPDFAnnot_ClearRectangleDifferences", 1), _1 = n._EPDFAnnot_GetBorderDashPatternCount = c("EPDFAnnot_GetBorderDashPatternCount", 1), H1 = n._EPDFAnnot_GetBorderDashPattern = c("EPDFAnnot_GetBorderDashPattern", 3), I1 = n._EPDFAnnot_SetBorderDashPattern = c("EPDFAnnot_SetBorderDashPattern", 3), Q1 = n._EPDFAnnot_GetBorderStyle = c("EPDFAnnot_GetBorderStyle", 2), S1 = n._EPDFAnnot_SetBorderStyle = c("EPDFAnnot_SetBorderStyle", 3), O1 = n._EPDFAnnot_GenerateAppearance = c("EPDFAnnot_GenerateAppearance", 1), M1 = n._EPDFAnnot_GenerateAppearanceWithBlend = c("EPDFAnnot_GenerateAppearanceWithBlend", 2), j1 = n._EPDFAnnot_GetBlendMode = c("EPDFAnnot_GetBlendMode", 1), R1 = n._EPDFAnnot_SetIntent = c("EPDFAnnot_SetIntent", 2), L1 = n._EPDFAnnot_GetIntent = c("EPDFAnnot_GetIntent", 3), T1 = n._EPDFAnnot_GetRichContent = c("EPDFAnnot_GetRichContent", 3), K1 = n._EPDFAnnot_GetRichTextJSON = c("EPDFAnnot_GetRichTextJSON", 3), N1 = n._EPDFAnnot_SetRichTextJSON = c("EPDFAnnot_SetRichTextJSON", 2), V1 = n._EPDFAnnot_SetRichTextXHTML = c("EPDFAnnot_SetRichTextXHTML", 2), Y1 = n._EPDFDoc_SetTypographicFeatures = c("EPDFDoc_SetTypographicFeatures", 2), X1 = n._EPDFDoc_GetTypographicFeatures = c("EPDFDoc_GetTypographicFeatures", 1), W1 = n._EPDFAnnot_SetLineEndings = c("EPDFAnnot_SetLineEndings", 3), U1 = n._EPDFAnnot_GetLineEndings = c("EPDFAnnot_GetLineEndings", 3), q1 = n._EPDFAnnot_SetVertices = c("EPDFAnnot_SetVertices", 3), Z1 = n._EPDFAnnot_SetLine = c("EPDFAnnot_SetLine", 3), z1 = n._EPDFAnnot_SetDefaultAppearance = c("EPDFAnnot_SetDefaultAppearance", 6), J1 = n._EPDFAnnot_SetDefaultAppearanceRegisteredFont = c("EPDFAnnot_SetDefaultAppearanceRegisteredFont", 6), $1 = n._EPDFAnnot_GetDefaultAppearance = c("EPDFAnnot_GetDefaultAppearance", 6), e5 = n._EPDFAnnot_GetDefaultAppearanceFontFace = c("EPDFAnnot_GetDefaultAppearanceFontFace", 5), t5 = n._EPDFAnnot_GetDefaultAppearanceFontPostScriptName = c("EPDFAnnot_GetDefaultAppearanceFontPostScriptName", 3), n5 = n._EPDFAnnot_SetDefaultAppearanceDocumentFont = c("EPDFAnnot_SetDefaultAppearanceDocumentFont", 6), r5 = n._EPDFAnnot_SetTextAlignment = c("EPDFAnnot_SetTextAlignment", 2), i5 = n._EPDFAnnot_GetTextAlignment = c("EPDFAnnot_GetTextAlignment", 1), a5 = n._EPDFPage_GetAnnotByName = c("EPDFPage_GetAnnotByName", 2), A5 = n._EPDFPage_RemoveAnnotByName = c("EPDFPage_RemoveAnnotByName", 2), o5 = n._EPDFAnnot_SetLinkedAnnot = c("EPDFAnnot_SetLinkedAnnot", 3), s5 = n._EPDFPage_GetAnnotIndexByNameRaw = c("EPDFPage_GetAnnotIndexByNameRaw", 3), c5 = n._EPDFPage_GetAnnotIndexByObjectNumberRaw = c("EPDFPage_GetAnnotIndexByObjectNumberRaw", 3), d5 = n._EPDFPage_GetAnnotCountRaw = c("EPDFPage_GetAnnotCountRaw", 2), p5 = n._EPDFPage_GetAnnotRaw = c("EPDFPage_GetAnnotRaw", 3), l5 = n._EPDFPage_CreateAnnotRaw = c("EPDFPage_CreateAnnotRaw", 4), u5 = n._EPDFPage_RemoveAnnotRaw = c("EPDFPage_RemoveAnnotRaw", 3), m5 = n._EPDFPage_PromoteInlineAnnotsRaw = c("EPDFPage_PromoteInlineAnnotsRaw", 2), w5 = n._EPDFAnnot_IsValid = c("EPDFAnnot_IsValid", 1), b5 = n._EPDFAnnot_SetSubtype = c("EPDFAnnot_SetSubtype", 2), g5 = n._EPDFAnnot_SetName = c("EPDFAnnot_SetName", 2), f5 = n._EPDFAnnot_GetName = c("EPDFAnnot_GetName", 3), F5 = n._EPDFAnnot_UpdateAppearanceToRect = c("EPDFAnnot_UpdateAppearanceToRect", 2), v5 = n._EPDFAnnot_SetStampOpacity = c("EPDFAnnot_SetStampOpacity", 3), P5 = n._EPDFPage_CreateAnnot = c("EPDFPage_CreateAnnot", 2), h5 = n._EPDFAnnot_SetRotate = c("EPDFAnnot_SetRotate", 2), k5 = n._EPDFAnnot_GetRotate = c("EPDFAnnot_GetRotate", 2), B5 = n._EPDFAnnot_GetAppearanceTransform = c("EPDFAnnot_GetAppearanceTransform", 3), D5 = n._EPDFAnnot_GetReplyType = c("EPDFAnnot_GetReplyType", 1), y5 = n._EPDFAnnot_SetReplyType = c("EPDFAnnot_SetReplyType", 2), E5 = n._EPDFAnnot_GetBooleanValue = c("EPDFAnnot_GetBooleanValue", 3), G5 = n._EPDFAnnot_SetBooleanValue = c("EPDFAnnot_SetBooleanValue", 3), C5 = n._EPDFAnnot_SetOverlayText = c("EPDFAnnot_SetOverlayText", 2), x5 = n._EPDFAnnot_GetOverlayText = c("EPDFAnnot_GetOverlayText", 3), _5 = n._EPDFAnnot_SetOverlayTextRepeat = c("EPDFAnnot_SetOverlayTextRepeat", 2), H5 = n._EPDFAnnot_GetOverlayTextRepeat = c("EPDFAnnot_GetOverlayTextRepeat", 1), I5 = n._EPDFAnnot_SetAppearanceFromPage = c("EPDFAnnot_SetAppearanceFromPage", 3), Q5 = n._EPDFAnnot_ExportAppearance = c("EPDFAnnot_ExportAppearance", 3), S5 = n._EPDFDoc_CanonicalDrawing = c("EPDFDoc_CanonicalDrawing", 2), O5 = n._EPDFDoc_ImportDrawing = c("EPDFDoc_ImportDrawing", 2), M5 = n._EPDFDoc_ExportDrawing = c("EPDFDoc_ExportDrawing", 2), j5 = n._EPDFDoc_GetStampDrawings = c("EPDFDoc_GetStampDrawings", 3), R5 = n._EPDFAnnot_SetStampDrawing = c("EPDFAnnot_SetStampDrawing", 3), L5 = n._EPDFAnnot_GetStampDrawing = c("EPDFAnnot_GetStampDrawing", 1), T5 = n._EPDFAnnot_GetRect = c("EPDFAnnot_GetRect", 2), K5 = n._EPDFAnnot_SetRect = c("EPDFAnnot_SetRect", 2), N5 = n._EPDFAnnot_SetAPMatrix = c("EPDFAnnot_SetAPMatrix", 3), V5 = n._EPDFAnnot_GetAPMatrix = c("EPDFAnnot_GetAPMatrix", 3), Y5 = n._EPDFAnnot_GetAvailableAppearanceModes = c("EPDFAnnot_GetAvailableAppearanceModes", 1), X5 = n._EPDFAnnot_GetAppearanceStateCount = c("EPDFAnnot_GetAppearanceStateCount", 2), W5 = n._EPDFAnnot_GetAppearanceStateName = c("EPDFAnnot_GetAppearanceStateName", 5), U5 = n._EPDFAnnot_GetAppearanceState = c("EPDFAnnot_GetAppearanceState", 3), q5 = n._EPDFAnnot_HasAppearanceStream = c("EPDFAnnot_HasAppearanceStream", 2), Z5 = n._EPDFAnnot_GetDrawingRect = c("EPDFAnnot_GetDrawingRect", 3), z5 = n._EPDFAnnot_SetMKColor = c("EPDFAnnot_SetMKColor", 5), J5 = n._EPDFAnnot_GetMKColor = c("EPDFAnnot_GetMKColor", 5), $5 = n._EPDFAnnot_ClearMKColor = c("EPDFAnnot_ClearMKColor", 2), eR = n._EPDFAnnot_SetMKText = c("EPDFAnnot_SetMKText", 3), tR = n._EPDFAnnot_GetMKText = c("EPDFAnnot_GetMKText", 4), nR = n._EPDFAnnot_SetMKTextPosition = c("EPDFAnnot_SetMKTextPosition", 2), rR = n._EPDFAnnot_GetMKTextPosition = c("EPDFAnnot_GetMKTextPosition", 1), iR = n._EPDFAnnot_SetMKRotation = c("EPDFAnnot_SetMKRotation", 2), aR = n._EPDFAnnot_GetMKRotation = c("EPDFAnnot_GetMKRotation", 1), AR = n._EPDFAnnot_GenerateFormFieldAP = c("EPDFAnnot_GenerateFormFieldAP", 1), oR = n._EPDFAnnot_GetCalloutLineCount = c("EPDFAnnot_GetCalloutLineCount", 1), sR = n._EPDFAnnot_GetCalloutLine = c("EPDFAnnot_GetCalloutLine", 3), cR = n._EPDFAnnot_SetCalloutLine = c("EPDFAnnot_SetCalloutLine", 3), dR = n._EPDFAnnot_GetObjectNumber = c("EPDFAnnot_GetObjectNumber", 1), pR = n._EPDFAnnot_GetStructurePosition = c("EPDFAnnot_GetStructurePosition", 3), lR = n._EPDFPage_GetAnnotByObjectNumber = c("EPDFPage_GetAnnotByObjectNumber", 2), uR = n._EPDFPage_RemoveAnnot = c("EPDFPage_RemoveAnnot", 2), mR = n._EPDFPage_RemoveAnnotByObjectNumber = c("EPDFPage_RemoveAnnotByObjectNumber", 2), wR = n._EPDFPage_MoveAnnots = c("EPDFPage_MoveAnnots", 4), bR = n._EPDFPage_MoveAnnotsRaw = c("EPDFPage_MoveAnnotsRaw", 5), gR = n._EPDF_LoadBaseDocument = c("EPDF_LoadBaseDocument", 2), fR = n._EPDF_LoadMemBaseDocument = c("EPDF_LoadMemBaseDocument", 3), FR = n._EPDF_LoadMemBaseDocument64 = c("EPDF_LoadMemBaseDocument64", 3), vR = n._EPDF_ReleaseBaseDocument = c("EPDF_ReleaseBaseDocument", 1), PR = n._EPDFPage_ExportAnnotsRawToOwnedBuffer = c("EPDFPage_ExportAnnotsRawToOwnedBuffer", 5), hR = n._EPDFPage_ImportAnnotsRaw = c("EPDFPage_ImportAnnotsRaw", 4), kR = n._EPDFDoc_ExportDictRawToOwnedBuffer = c("EPDFDoc_ExportDictRawToOwnedBuffer", 4), BR = n._EPDFDoc_ExportDictCanonicalToOwnedBuffer = c("EPDFDoc_ExportDictCanonicalToOwnedBuffer", 5), DR = n._EPDFDoc_ImportDictRaw = c("EPDFDoc_ImportDictRaw", 3), yR = n._EPDFForm_ExportFieldRawToOwnedBuffer = c("EPDFForm_ExportFieldRawToOwnedBuffer", 3), ER = n._EPDFForm_ImportFieldRaw = c("EPDFForm_ImportFieldRaw", 3), GR = n._EPDFOutline_ExportItemRawToOwnedBuffer = c("EPDFOutline_ExportItemRawToOwnedBuffer", 3), CR = n._EPDFOutline_ImportItemRaw = c("EPDFOutline_ImportItemRaw", 3), xR = n._EPDFPage_ExportRawToOwnedBuffer = c("EPDFPage_ExportRawToOwnedBuffer", 3), _R = n._EPDFPage_ImportRaw = c("EPDFPage_ImportRaw", 3), HR = n._EPDFAttachment_ExportRawToOwnedBuffer = c("EPDFAttachment_ExportRawToOwnedBuffer", 3), IR = n._EPDFAttachment_ExportCanonicalToOwnedBuffer = c("EPDFAttachment_ExportCanonicalToOwnedBuffer", 3), QR = n._EPDFAttachment_ImportRaw = c("EPDFAttachment_ImportRaw", 3), SR = n._EPDFCatalog_GetMetadata = c("EPDFCatalog_GetMetadata", 3), OR = n._EPDFCatalog_SetMetadata = c("EPDFCatalog_SetMetadata", 3), MR = n._EPDFFont_RegisterFont = c("EPDFFont_RegisterFont", 4), jR = n._EPDFFont_RegisterMemFont = c("EPDFFont_RegisterMemFont", 5), RR = n._EPDFFont_RegisterMemFont64 = c("EPDFFont_RegisterMemFont64", 5), LR = n._EPDFFont_ClearRegisteredFonts = c("EPDFFont_ClearRegisteredFonts", 0), TR = n._EPDFFont_GetEmbeddingPermission = c("EPDFFont_GetEmbeddingPermission", 1), KR = n._EPDFFont_IsEditingAuthorized = c("EPDFFont_IsEditingAuthorized", 1), NR = n._EPDFFont_AuthorizeEditing = c("EPDFFont_AuthorizeEditing", 1), VR = n._EPDFFont_IsInstanced = c("EPDFFont_IsInstanced", 1), YR = n._EPDFFont_GetFamilyName = c("EPDFFont_GetFamilyName", 3), XR = n._EPDFFont_GetWeight = c("EPDFFont_GetWeight", 1), WR = n._EPDFFont_IsItalic = c("EPDFFont_IsItalic", 1), UR = n._EPDFDoc_SetFontEmbeddingPolicy = c("EPDFDoc_SetFontEmbeddingPolicy", 2), qR = n._EPDFDoc_GetFontEmbeddingPolicy = c("EPDFDoc_GetFontEmbeddingPolicy", 1), ZR = n._EPDFFont_AddFallbackFont = c("EPDFFont_AddFallbackFont", 2), zR = n._EPDFFont_ClearFallbackFonts = c("EPDFFont_ClearFallbackFonts", 0), JR = n._EPDFFont_SetLastResortFont = c("EPDFFont_SetLastResortFont", 1), $R = n._EPDFFont_GetLastResortFont = c("EPDFFont_GetLastResortFont", 0), eL = n._EPDFFont_GetFallbackOrder = c("EPDFFont_GetFallbackOrder", 4), tL = n._EPDFFont_GetProgramData = c("EPDFFont_GetProgramData", 3), nL = n._EPDFFont_GetProgramFormat = c("EPDFFont_GetProgramFormat", 1), rL = n._EPDFFont_GetProgramHash = c("EPDFFont_GetProgramHash", 2), iL = n._EPDFFont_GetCoverage = c("EPDFFont_GetCoverage", 3), aL = n._EPDFFont_GetMetrics = c("EPDFFont_GetMetrics", 3), AL = n._EPDFFont_GetPostScriptName = c("EPDFFont_GetPostScriptName", 3), oL = n._EPDFFontFaces_Load = c("EPDFFontFaces_Load", 1), sL = n._EPDFFontFaces_Close = c("EPDFFontFaces_Close", 1), cL = n._EPDFDoc_GetFontsFingerprint = c("EPDFDoc_GetFontsFingerprint", 2), dL = n._EPDFFontFaces_Count = c("EPDFFontFaces_Count", 1), pL = n._EPDFFontFaces_GetFamily = c("EPDFFontFaces_GetFamily", 4), lL = n._EPDFFontFaces_GetWeight = c("EPDFFontFaces_GetWeight", 2), uL = n._EPDFFontFaces_IsItalic = c("EPDFFontFaces_IsItalic", 2), mL = n._EPDFFontFaces_CountPrograms = c("EPDFFontFaces_CountPrograms", 2), wL = n._EPDFFontFaces_GetProgramObjNum = c("EPDFFontFaces_GetProgramObjNum", 3), bL = n._EPDFFontFaces_GetProgramFormat = c("EPDFFontFaces_GetProgramFormat", 3), gL = n._EPDFFontFaces_GetProgramEmbedded = c("EPDFFontFaces_GetProgramEmbedded", 3), fL = n._EPDFFontFaces_GetProgramPostScriptName = c("EPDFFontFaces_GetProgramPostScriptName", 5), FL = n._EPDFFontFaces_GetProgramEmbeddingPermission = c("EPDFFontFaces_GetProgramEmbeddingPermission", 3), vL = n._EPDFFontFaces_ProgramMapsUnicode = c("EPDFFontFaces_ProgramMapsUnicode", 3), PL = n._EPDFFontFaces_GetProgramHash = c("EPDFFontFaces_GetProgramHash", 4), hL = n._EPDFFontFaces_GetProgramDisplayHash = c("EPDFFontFaces_GetProgramDisplayHash", 4), kL = n._EPDFFontFaces_GetProgramMetrics = c("EPDFFontFaces_GetProgramMetrics", 5), BL = n._EPDFDoc_GetFontProgramData = c("EPDFDoc_GetFontProgramData", 4), DL = n._EPDFDoc_GetFontDisplayProgramData = c("EPDFDoc_GetFontDisplayProgramData", 4), yL = n._EPDFDoc_GetFontDisplayProgramCoverage = c("EPDFDoc_GetFontDisplayProgramCoverage", 4), EL = n._EPDFDoc_ResolveFonts = c("EPDFDoc_ResolveFonts", 8), GL = n._EPDFFontResolution_Close = c("EPDFFontResolution_Close", 1), CL = n._EPDFFontResolution_GetSource = c("EPDFFontResolution_GetSource", 2), xL = n._EPDFFontResolution_GetRegisteredFont = c("EPDFFontResolution_GetRegisteredFont", 2), _L = n._EPDFFontResolution_GetProgramObjNum = c("EPDFFontResolution_GetProgramObjNum", 2), HL = n._EPDFFontResolution_GetProgramDisplayHash = c("EPDFFontResolution_GetProgramDisplayHash", 3), IL = n._EPDFFontResolution_GetBaseFontName = c("EPDFFontResolution_GetBaseFontName", 4), QL = n._EPDFFontResolution_GetFamily = c("EPDFFontResolution_GetFamily", 4), SL = n._EPDFFontResolution_GetWeight = c("EPDFFontResolution_GetWeight", 2), OL = n._EPDFFontResolution_IsItalic = c("EPDFFontResolution_IsItalic", 2), ML = n._EPDFFontResolution_IsDegraded = c("EPDFFontResolution_IsDegraded", 2), jL = n._EPDFFontResolution_GetFallbacks = c("EPDFFontResolution_GetFallbacks", 4), RL = n._EPDFFontResolution_CountMissingCharacters = c("EPDFFontResolution_CountMissingCharacters", 1), LL = n._EPDFFontResolution_GetMissingCharacter = c("EPDFFontResolution_GetMissingCharacter", 4), TL = n._EPDFDoc_ClearMissingCharacters = c("EPDFDoc_ClearMissingCharacters", 1), KL = n._EPDFDoc_CountMissingCharacters = c("EPDFDoc_CountMissingCharacters", 1), NL = n._EPDFDoc_GetMissingCharacter = c("EPDFDoc_GetMissingCharacter", 4), VL = n._EPDFForm_LoadModel = c("EPDFForm_LoadModel", 1), YL = n._EPDFForm_CloseModel = c("EPDFForm_CloseModel", 1), XL = n._EPDFForm_GetFormKind = c("EPDFForm_GetFormKind", 1), WL = n._EPDFForm_GetNeedAppearances = c("EPDFForm_GetNeedAppearances", 1), UL = n._EPDFForm_CountFields = c("EPDFForm_CountFields", 1), qL = n._EPDFForm_GetFieldActionModel = c("EPDFForm_GetFieldActionModel", 3), ZL = n._EPDFForm_CountCalculationOrder = c("EPDFForm_CountCalculationOrder", 1), zL = n._EPDFForm_GetCalculationOrderFieldIndex = c("EPDFForm_GetCalculationOrderFieldIndex", 2), JL = n._EPDFForm_GetFieldObjNum = c("EPDFForm_GetFieldObjNum", 2), $L = n._EPDFForm_GetFieldFamily = c("EPDFForm_GetFieldFamily", 2), eT = n._EPDFForm_GetFieldFlags = c("EPDFForm_GetFieldFlags", 2), tT = n._EPDFForm_GetFieldOrigin = c("EPDFForm_GetFieldOrigin", 2), nT = n._EPDFForm_GetFieldName = c("EPDFForm_GetFieldName", 4), rT = n._EPDFForm_GetFieldAlternateName = c("EPDFForm_GetFieldAlternateName", 4), iT = n._EPDFForm_GetFieldMappingName = c("EPDFForm_GetFieldMappingName", 4), aT = n._EPDFForm_HasFieldEmbedMetadata = c("EPDFForm_HasFieldEmbedMetadata", 2), AT = n._EPDFForm_GetFieldEmbedMetadataString = c("EPDFForm_GetFieldEmbedMetadataString", 5), oT = n._EPDFForm_GetFieldEmbedMetadataNumber = c("EPDFForm_GetFieldEmbedMetadataNumber", 4), sT = n._EPDFForm_GetFieldEmbedMetadataBoolean = c("EPDFForm_GetFieldEmbedMetadataBoolean", 4), cT = n._EPDFForm_GetFieldEmbedMetadataJSON = c("EPDFForm_GetFieldEmbedMetadataJSON", 4), dT = n._EPDFForm_GetFieldValueKind = c("EPDFForm_GetFieldValueKind", 2), pT = n._EPDFForm_CountFieldValues = c("EPDFForm_CountFieldValues", 2), lT = n._EPDFForm_GetFieldValueAt = c("EPDFForm_GetFieldValueAt", 5), uT = n._EPDFForm_GetFieldDefaultValueKind = c("EPDFForm_GetFieldDefaultValueKind", 2), mT = n._EPDFForm_CountFieldDefaultValues = c("EPDFForm_CountFieldDefaultValues", 2), wT = n._EPDFForm_GetFieldDefaultValueAt = c("EPDFForm_GetFieldDefaultValueAt", 5), bT = n._EPDFForm_GetFieldMaxLen = c("EPDFForm_GetFieldMaxLen", 2), gT = n._EPDFForm_GetFieldTopIndex = c("EPDFForm_GetFieldTopIndex", 2), fT = n._EPDFForm_CountFieldOptions = c("EPDFForm_CountFieldOptions", 2), FT = n._EPDFForm_GetFieldOptionLabel = c("EPDFForm_GetFieldOptionLabel", 5), vT = n._EPDFForm_GetFieldOptionValue = c("EPDFForm_GetFieldOptionValue", 5), PT = n._EPDFForm_IsFieldOptionSelected = c("EPDFForm_IsFieldOptionSelected", 3), hT = n._EPDFForm_CountFieldWidgets = c("EPDFForm_CountFieldWidgets", 2), kT = n._EPDFForm_GetFieldWidgetObjNum = c("EPDFForm_GetFieldWidgetObjNum", 3), BT = n._EPDFForm_GetFieldWidgetPageObjNum = c("EPDFForm_GetFieldWidgetPageObjNum", 3), DT = n._EPDFForm_GetFieldWidgetRect = c("EPDFForm_GetFieldWidgetRect", 4), yT = n._EPDFForm_GetFieldWidgetOnState = c("EPDFForm_GetFieldWidgetOnState", 5), ET = n._EPDFForm_GetFieldWidgetExportValue = c("EPDFForm_GetFieldWidgetExportValue", 5), GT = n._EPDFForm_IsFieldWidgetChecked = c("EPDFForm_IsFieldWidgetChecked", 3), CT = n._EPDFForm_GetFieldIndexByObjNum = c("EPDFForm_GetFieldIndexByObjNum", 2), xT = n._EPDFForm_GetFieldIndexForWidget = c("EPDFForm_GetFieldIndexForWidget", 2), _T = n._EPDFForm_SetFieldValue = c("EPDFForm_SetFieldValue", 5), HT = n._EPDFForm_SetFieldDefaultValue = c("EPDFForm_SetFieldDefaultValue", 5), IT = n._EPDFForm_SetFieldSelectedIndices = c("EPDFForm_SetFieldSelectedIndices", 4), QT = n._EPDFForm_SetFieldWidgetsChecked = c("EPDFForm_SetFieldWidgetsChecked", 7), ST = n._EPDFForm_RedrawFieldWidgets = c("EPDFForm_RedrawFieldWidgets", 5), OT = n._EPDFForm_SetFieldDisplay = c("EPDFForm_SetFieldDisplay", 6), MT = n._EPDFForm_SetFieldAppearanceText = c("EPDFForm_SetFieldAppearanceText", 6), jT = n._EPDFForm_ExportFDF = c("EPDFForm_ExportFDF", 5), RT = n._EPDFForm_ExportXFDF = c("EPDFForm_ExportXFDF", 5), LT = n._EPDFForm_Repair = c("EPDFForm_Repair", 3), TT = n._EPDFForm_CreateField = c("EPDFForm_CreateField", 4), KT = n._EPDFForm_AttachWidget = c("EPDFForm_AttachWidget", 5), NT = n._EPDFForm_DetachWidget = c("EPDFForm_DetachWidget", 3), VT = n._EPDFForm_DeleteField = c("EPDFForm_DeleteField", 5), YT = n._EPDFForm_SetFieldName = c("EPDFForm_SetFieldName", 3), XT = n._EPDFForm_GetFieldPartialName = c("EPDFForm_GetFieldPartialName", 4), WT = n._EPDFForm_SetFieldFlags = c("EPDFForm_SetFieldFlags", 4), UT = n._EPDFForm_SetFieldEventAction = c("EPDFForm_SetFieldEventAction", 4), qT = n._EPDFForm_SetCalculationOrder = c("EPDFForm_SetCalculationOrder", 3), ZT = n._EPDFForm_SetFieldMaxLen = c("EPDFForm_SetFieldMaxLen", 3), zT = n._EPDFForm_SetFieldAlternateName = c("EPDFForm_SetFieldAlternateName", 3), JT = n._EPDFForm_SetFieldMappingName = c("EPDFForm_SetFieldMappingName", 3), $T = n._EPDFForm_SetFieldEmbedMetadataString = c("EPDFForm_SetFieldEmbedMetadataString", 4), eK = n._EPDFForm_SetFieldEmbedMetadataNumber = c("EPDFForm_SetFieldEmbedMetadataNumber", 4), tK = n._EPDFForm_SetFieldEmbedMetadataBoolean = c("EPDFForm_SetFieldEmbedMetadataBoolean", 4), nK = n._EPDFForm_SetFieldEmbedMetadataJSON = c("EPDFForm_SetFieldEmbedMetadataJSON", 3), rK = n._EPDFForm_ClearFieldEmbedMetadataKey = c("EPDFForm_ClearFieldEmbedMetadataKey", 3), iK = n._EPDFForm_ClearFieldEmbedMetadata = c("EPDFForm_ClearFieldEmbedMetadata", 2), aK = n._EPDFForm_SetFieldOptions = c("EPDFForm_SetFieldOptions", 5), AK = n._EPDFPage_Flatten = c("EPDFPage_Flatten", 2), oK = n._EPDFPage_FlattenAnnotations = c("EPDFPage_FlattenAnnotations", 5), sK = n._EPDFPage_ExportAnnotationsAsDocument = c("EPDFPage_ExportAnnotationsAsDocument", 3), cK = n._EPDFDoc_ExportPagesFlattened = c("EPDFDoc_ExportPagesFlattened", 5), dK = n._EPDFLayer_OpenLayer = c("EPDFLayer_OpenLayer", 4), pK = n._EPDFLayer_OpenLayerArtifact = c("EPDFLayer_OpenLayerArtifact", 4), lK = n._EPDFLayer_OpenLayerArtifactFromPath = c("EPDFLayer_OpenLayerArtifactFromPath", 4), uK = n._EPDFLayer_IsObjectPromoted = c("EPDFLayer_IsObjectPromoted", 2), mK = n._EPDFPage_IsValid = c("EPDFPage_IsValid", 1), wK = n._EPDFLayer_IsPagePromoted = c("EPDFLayer_IsPagePromoted", 2), bK = n._EPDFLayer_GetBirthObjectNumber = c("EPDFLayer_GetBirthObjectNumber", 3), gK = n._EPDFLayer_GetBirthName = c("EPDFLayer_GetBirthName", 4), fK = n._EPDFLayer_BeginTransaction = c("EPDFLayer_BeginTransaction", 1), FK = n._EPDFLayer_CommitTransaction = c("EPDFLayer_CommitTransaction", 1), vK = n._EPDFLayer_AbortTransaction = c("EPDFLayer_AbortTransaction", 1), PK = n._EPDFLayer_IsInTransaction = c("EPDFLayer_IsInTransaction", 1), hK = n._EPDFLayer_GetLastObjectNumber = c("EPDFLayer_GetLastObjectNumber", 1), kK = n._EPDFLayer_RaiseLastObjectNumber = c("EPDFLayer_RaiseLastObjectNumber", 2), BK = n._EPDFLayer_GetPromotedObjectCount = c("EPDFLayer_GetPromotedObjectCount", 1), DK = n._EPDFLayer_GetBaseDocument = c("EPDFLayer_GetBaseDocument", 1), yK = n._EPDF_SetBaseDocumentSha256 = c("EPDF_SetBaseDocumentSha256", 2), EK = n._EPDFLayer_GetBaseSha256 = c("EPDFLayer_GetBaseSha256", 2), GK = n._EPDFLayer_SaveDelta = c("EPDFLayer_SaveDelta", 3), CK = n._EPDFLayer_SaveDeltaEx = c("EPDFLayer_SaveDeltaEx", 4), xK = n._EPDFLayer_SaveDeltaToOwnedBuffer = c("EPDFLayer_SaveDeltaToOwnedBuffer", 3), _K = n._EPDFLayer_SaveDeltaToOwnedBufferEx = c("EPDFLayer_SaveDeltaToOwnedBufferEx", 4), HK = n._EPDFLayer_SaveLayerArtifact = c("EPDFLayer_SaveLayerArtifact", 3), IK = n._EPDFLayer_SaveLayerArtifactEx = c("EPDFLayer_SaveLayerArtifactEx", 4), QK = n._EPDFLayer_SaveLayerArtifactToOwnedBuffer = c("EPDFLayer_SaveLayerArtifactToOwnedBuffer", 3), SK = n._EPDFLayer_SaveLayerArtifactToOwnedBufferEx = c("EPDFLayer_SaveLayerArtifactToOwnedBufferEx", 4), OK = n._EPDFNamedDest_SetDest = c("EPDFNamedDest_SetDest", 3), MK = n._EPDFNamedDest_Remove = c("EPDFNamedDest_Remove", 2), jK = n._EPDFDest_CreateView = c("EPDFDest_CreateView", 4), RK = n._EPDFDest_CreateXYZ = c("EPDFDest_CreateXYZ", 7), LK = n._EPDFDest_CreateRemoteView = c("EPDFDest_CreateRemoteView", 5), TK = n._EPDFDest_CreateRemoteXYZ = c("EPDFDest_CreateRemoteXYZ", 8), KK = n._EPDFDest_CreateXYZByObjectNumber = c("EPDFDest_CreateXYZByObjectNumber", 8), NK = n._EPDFDest_CreateViewByObjectNumber = c("EPDFDest_CreateViewByObjectNumber", 5), VK = n._EPDFDest_GetViewNullParams = c("EPDFDest_GetViewNullParams", 1), YK = n._EPDFAction_CreateGoTo = c("EPDFAction_CreateGoTo", 2), XK = n._EPDFAction_CreateGoToNamed = c("EPDFAction_CreateGoToNamed", 2), WK = n._EPDFAction_CreateLaunch = c("EPDFAction_CreateLaunch", 2), UK = n._EPDFAction_CreateRemoteGoToByName = c("EPDFAction_CreateRemoteGoToByName", 3), qK = n._EPDFAction_CreateRemoteGoToDest = c("EPDFAction_CreateRemoteGoToDest", 3), ZK = n._EPDFAction_CreateURI = c("EPDFAction_CreateURI", 2), zK = n._EPDFAction_CreateNamed = c("EPDFAction_CreateNamed", 2), JK = n._EPDFOutline_GetObjectNumber = c("EPDFOutline_GetObjectNumber", 1), $K = n._EPDFOutline_GetItem = c("EPDFOutline_GetItem", 2), eN = n._EPDFOutline_CreateItem = c("EPDFOutline_CreateItem", 5), tN = n._EPDFOutline_MoveItem = c("EPDFOutline_MoveItem", 4), nN = n._EPDFOutline_DeleteItem = c("EPDFOutline_DeleteItem", 2), rN = n._EPDFOutline_SetTitle = c("EPDFOutline_SetTitle", 3), iN = n._EPDFOutline_SetOpen = c("EPDFOutline_SetOpen", 3), aN = n._EPDFOutline_SetColor = c("EPDFOutline_SetColor", 6), AN = n._EPDFOutline_SetStyle = c("EPDFOutline_SetStyle", 3), oN = n._EPDFOutline_SetAction = c("EPDFOutline_SetAction", 3), sN = n._EPDFDoc_GetNamedPageCount = c("EPDFDoc_GetNamedPageCount", 2), cN = n._EPDFDoc_GetNamedPageAt = c("EPDFDoc_GetNamedPageAt", 7), dN = n._EPDFDoc_SetNamedPage = c("EPDFDoc_SetNamedPage", 3), pN = n._EPDFDoc_RemoveNamedPage = c("EPDFDoc_RemoveNamedPage", 2), lN = n._EPDFDoc_RemoveNamedPagesForPage = c("EPDFDoc_RemoveNamedPagesForPage", 2), uN = n._EPDFDoc_GetPageLabelSectionCount = c("EPDFDoc_GetPageLabelSectionCount", 1), mN = n._EPDFDoc_GetPageLabelSectionAt = c("EPDFDoc_GetPageLabelSectionAt", 7), wN = n._EPDFDoc_SetPageLabelSections = c("EPDFDoc_SetPageLabelSections", 6), bN = n._EPDF_DigestBuffer = c("EPDF_DigestBuffer", 5), gN = n._EPDFDoc_GetRevisionCount = c("EPDFDoc_GetRevisionCount", 1), fN = n._EPDFDoc_GetRevision = c("EPDFDoc_GetRevision", 4), FN = n._EPDFDoc_OpenRevision = c("EPDFDoc_OpenRevision", 3), vN = n._EPDFDoc_OpenBaseOverlayFromPath = c("EPDFDoc_OpenBaseOverlayFromPath", 2), PN = n._EPDFDoc_OpenBaseOverlay = c("EPDFDoc_OpenBaseOverlay", 3), hN = n._EPDFSig_LoadModel = c("EPDFSig_LoadModel", 1), kN = n._EPDFSig_CloseModel = c("EPDFSig_CloseModel", 1), BN = n._EPDFSig_Count = c("EPDFSig_Count", 1), DN = n._EPDFSig_IsRevisionChainValid = c("EPDFSig_IsRevisionChainValid", 1), yN = n._EPDFSig_GetIndexByFieldObjNum = c("EPDFSig_GetIndexByFieldObjNum", 2), EN = n._EPDFSig_GetFieldObjNum = c("EPDFSig_GetFieldObjNum", 2), GN = n._EPDFSig_GetWidgetObjNum = c("EPDFSig_GetWidgetObjNum", 2), CN = n._EPDFSig_GetWidgetPageObjNum = c("EPDFSig_GetWidgetPageObjNum", 2), xN = n._EPDFSig_GetValueObjNum = c("EPDFSig_GetValueObjNum", 2), _N = n._EPDFSig_GetFieldName = c("EPDFSig_GetFieldName", 4), HN = n._EPDFSig_IsSigned = c("EPDFSig_IsSigned", 2), IN = n._EPDFSig_GetKind = c("EPDFSig_GetKind", 2), QN = n._EPDFSig_GetByteRange = c("EPDFSig_GetByteRange", 3), SN = n._EPDFSig_GetCoverage = c("EPDFSig_GetCoverage", 2), ON = n._EPDFSig_GetRevisionIndex = c("EPDFSig_GetRevisionIndex", 2), MN = n._EPDFSig_GetContents = c("EPDFSig_GetContents", 4), jN = n._EPDFSig_GetString = c("EPDFSig_GetString", 5), RN = n._EPDFSig_GetDocMDPPermission = c("EPDFSig_GetDocMDPPermission", 2), LN = n._EPDFSig_IsCatalogCertification = c("EPDFSig_IsCatalogCertification", 2), TN = n._EPDFSig_GetFieldMDPAction = c("EPDFSig_GetFieldMDPAction", 2), KN = n._EPDFSig_GetLockAction = c("EPDFSig_GetLockAction", 2), NN = n._EPDFSig_GetLockPermission = c("EPDFSig_GetLockPermission", 2), VN = n._EPDFSig_GetFieldNameCount = c("EPDFSig_GetFieldNameCount", 3), YN = n._EPDFSig_GetFieldNameAt = c("EPDFSig_GetFieldNameAt", 6), XN = n._EPDFSig_HasSeedValue = c("EPDFSig_HasSeedValue", 2), WN = n._EPDFSig_GetSeedValueRequiredFlags = c("EPDFSig_GetSeedValueRequiredFlags", 2), UN = n._EPDFSig_GetSeedValuePresentFlags = c("EPDFSig_GetSeedValuePresentFlags", 2), qN = n._EPDFSig_GetSeedValueMDP = c("EPDFSig_GetSeedValueMDP", 2), ZN = n._EPDFSig_GetSeedValueVersion = c("EPDFSig_GetSeedValueVersion", 2), zN = n._EPDFSig_GetSeedValueFilter = c("EPDFSig_GetSeedValueFilter", 4), JN = n._EPDFSig_GetSeedValueListCount = c("EPDFSig_GetSeedValueListCount", 3), $N = n._EPDFSig_GetSeedValueListAt = c("EPDFSig_GetSeedValueListAt", 6), eV = n._EPDFSig_DigestByteRange = c("EPDFSig_DigestByteRange", 5), tV = n._EPDFSig_DigestFileRange = c("EPDFSig_DigestFileRange", 5), nV = n._EPDFDoc_GetLoadedBytesSize = c("EPDFDoc_GetLoadedBytesSize", 1), rV = n._EPDFDoc_GetBaseBytesSize = c("EPDFDoc_GetBaseBytesSize", 1), iV = n._EPDFDoc_GetStructureObjectNumbers = c("EPDFDoc_GetStructureObjectNumbers", 4), aV = n._EPDFDoc_ReadLoadedBytes = c("EPDFDoc_ReadLoadedBytes", 5), AV = n._EPDFSig_Prepare = c("EPDFSig_Prepare", 3), oV = n._EPDFSig_SetFieldLock = c("EPDFSig_SetFieldLock", 6), sV = n._EPDFSig_SaveCandidateToOwnedBuffer = c("EPDFSig_SaveCandidateToOwnedBuffer", 5), cV = n._EPDFSig_SaveCandidate = c("EPDFSig_SaveCandidate", 6), dV = n._EPDFSig_Seal = c("EPDFSig_Seal", 13), pV = n._EPDFSig_SealSpan = c("EPDFSig_SealSpan", 10), lV = n._EPDFSig_WriteContents = c("EPDFSig_WriteContents", 9), uV = n._EPDFDoc_CompareRevisions = c("EPDFDoc_CompareRevisions", 2), mV = n._EPDFObjectDiff_Close = c("EPDFObjectDiff_Close", 1), wV = n._EPDFObjectDiff_GetCount = c("EPDFObjectDiff_GetCount", 1), bV = n._EPDFObjectDiff_GetEntry = c("EPDFObjectDiff_GetEntry", 8), gV = n._EPDFObjectDiff_GetValue = c("EPDFObjectDiff_GetValue", 6), fV = n._EPDFObjectDiff_GetReadStatus = c("EPDFObjectDiff_GetReadStatus", 3), FV = n._EPDFObjectDiff_GetRevisionHealth = c("EPDFObjectDiff_GetRevisionHealth", 5), vV = n._EPDFObjectDiff_GetReferrerCount = c("EPDFObjectDiff_GetReferrerCount", 3), PV = n._EPDFObjectDiff_GetReferrer = c("EPDFObjectDiff_GetReferrer", 7), hV = n._EPDFDoc_HasPieceInfoEntry = c("EPDFDoc_HasPieceInfoEntry", 2), kV = n._EPDFDoc_GetPieceInfoEntryCount = c("EPDFDoc_GetPieceInfoEntryCount", 1), BV = n._EPDFDoc_GetPieceInfoEntryAt = c("EPDFDoc_GetPieceInfoEntryAt", 4), DV = n._EPDFDoc_GetLastModified = c("EPDFDoc_GetLastModified", 3), yV = n._EPDFDoc_GetPieceInfoLastModified = c("EPDFDoc_GetPieceInfoLastModified", 4), EV = n._EPDFDoc_GetPieceInfoKeyCount = c("EPDFDoc_GetPieceInfoKeyCount", 2), GV = n._EPDFDoc_GetPieceInfoKeyAt = c("EPDFDoc_GetPieceInfoKeyAt", 5), CV = n._EPDFDoc_GetPieceInfoValueType = c("EPDFDoc_GetPieceInfoValueType", 3), xV = n._EPDFDoc_SetPieceInfoString = c("EPDFDoc_SetPieceInfoString", 5), _V = n._EPDFDoc_GetPieceInfoString = c("EPDFDoc_GetPieceInfoString", 5), HV = n._EPDFDoc_SetPieceInfoNumber = c("EPDFDoc_SetPieceInfoNumber", 5), IV = n._EPDFDoc_GetPieceInfoNumber = c("EPDFDoc_GetPieceInfoNumber", 4), QV = n._EPDFDoc_SetPieceInfoBoolean = c("EPDFDoc_SetPieceInfoBoolean", 5), SV = n._EPDFDoc_GetPieceInfoBoolean = c("EPDFDoc_GetPieceInfoBoolean", 4), OV = n._EPDFDoc_SetPieceInfoName = c("EPDFDoc_SetPieceInfoName", 5), MV = n._EPDFDoc_GetPieceInfoName = c("EPDFDoc_GetPieceInfoName", 5), jV = n._EPDFDoc_SetPieceInfoStringArray = c("EPDFDoc_SetPieceInfoStringArray", 6), RV = n._EPDFDoc_GetPieceInfoStringArrayCount = c("EPDFDoc_GetPieceInfoStringArrayCount", 3), LV = n._EPDFDoc_GetPieceInfoStringArrayAt = c("EPDFDoc_GetPieceInfoStringArrayAt", 6), TV = n._EPDFDoc_ClearPieceInfoKey = c("EPDFDoc_ClearPieceInfoKey", 4), KV = n._EPDFDoc_ClearPieceInfoEntry = c("EPDFDoc_ClearPieceInfoEntry", 2), NV = n._EPDFDoc_HasPagePieceInfoEntry = c("EPDFDoc_HasPagePieceInfoEntry", 3), VV = n._EPDFDoc_GetPagePieceInfoEntryCount = c("EPDFDoc_GetPagePieceInfoEntryCount", 2), YV = n._EPDFDoc_GetPagePieceInfoEntryAt = c("EPDFDoc_GetPagePieceInfoEntryAt", 5), XV = n._EPDFDoc_GetPageLastModified = c("EPDFDoc_GetPageLastModified", 4), WV = n._EPDFDoc_GetPagePieceInfoLastModified = c("EPDFDoc_GetPagePieceInfoLastModified", 5), UV = n._EPDFDoc_GetPagePieceInfoKeyCount = c("EPDFDoc_GetPagePieceInfoKeyCount", 3), qV = n._EPDFDoc_GetPagePieceInfoKeyAt = c("EPDFDoc_GetPagePieceInfoKeyAt", 6), ZV = n._EPDFDoc_GetPagePieceInfoValueType = c("EPDFDoc_GetPagePieceInfoValueType", 4), zV = n._EPDFDoc_SetPagePieceInfoString = c("EPDFDoc_SetPagePieceInfoString", 6), JV = n._EPDFDoc_GetPagePieceInfoString = c("EPDFDoc_GetPagePieceInfoString", 6), $V = n._EPDFDoc_SetPagePieceInfoNumber = c("EPDFDoc_SetPagePieceInfoNumber", 6), eY = n._EPDFDoc_GetPagePieceInfoNumber = c("EPDFDoc_GetPagePieceInfoNumber", 5), tY = n._EPDFDoc_SetPagePieceInfoBoolean = c("EPDFDoc_SetPagePieceInfoBoolean", 6), nY = n._EPDFDoc_GetPagePieceInfoBoolean = c("EPDFDoc_GetPagePieceInfoBoolean", 5), rY = n._EPDFDoc_SetPagePieceInfoName = c("EPDFDoc_SetPagePieceInfoName", 6), iY = n._EPDFDoc_GetPagePieceInfoName = c("EPDFDoc_GetPagePieceInfoName", 6), aY = n._EPDFDoc_SetPagePieceInfoStringArray = c("EPDFDoc_SetPagePieceInfoStringArray", 7), AY = n._EPDFDoc_GetPagePieceInfoStringArrayCount = c("EPDFDoc_GetPagePieceInfoStringArrayCount", 4), oY = n._EPDFDoc_GetPagePieceInfoStringArrayAt = c("EPDFDoc_GetPagePieceInfoStringArrayAt", 7), sY = n._EPDFDoc_ClearPagePieceInfoKey = c("EPDFDoc_ClearPagePieceInfoKey", 5), cY = n._EPDFDoc_ClearPagePieceInfoEntry = c("EPDFDoc_ClearPagePieceInfoEntry", 3), dY = n._EPDFAnnot_GetMeasure = c("EPDFAnnot_GetMeasure", 1), pY = n._EPDFAnnot_AddMeasure = c("EPDFAnnot_AddMeasure", 1), lY = n._EPDFAnnot_RemoveMeasure = c("EPDFAnnot_RemoveMeasure", 1), uY = n._EPDFPage_CountViewports = c("EPDFPage_CountViewports", 1), mY = n._EPDFPage_GetViewport = c("EPDFPage_GetViewport", 2), wY = n._EPDFPage_AddViewport = c("EPDFPage_AddViewport", 2), bY = n._EPDFPage_RemoveViewport = c("EPDFPage_RemoveViewport", 2), gY = n._EPDFPage_FindViewport = c("EPDFPage_FindViewport", 2), fY = n._EPDFViewport_GetBBox = c("EPDFViewport_GetBBox", 2), FY = n._EPDFViewport_SetBBox = c("EPDFViewport_SetBBox", 2), vY = n._EPDFViewport_GetMeasure = c("EPDFViewport_GetMeasure", 1), PY = n._EPDFViewport_AddMeasure = c("EPDFViewport_AddMeasure", 1), hY = n._EPDFViewport_RemoveMeasure = c("EPDFViewport_RemoveMeasure", 1), kY = n._EPDFMeasure_GetSubtype = c("EPDFMeasure_GetSubtype", 1), BY = n._EPDFMeasure_GetOrigin = c("EPDFMeasure_GetOrigin", 2), DY = n._EPDFMeasure_SetOrigin = c("EPDFMeasure_SetOrigin", 2), yY = n._EPDFMeasure_GetCYX = c("EPDFMeasure_GetCYX", 2), EY = n._EPDFMeasure_SetCYX = c("EPDFMeasure_SetCYX", 2), GY = n._EPDFMeasure_CountFormats = c("EPDFMeasure_CountFormats", 2), CY = n._EPDFMeasure_GetFormat = c("EPDFMeasure_GetFormat", 3), xY = n._EPDFMeasure_AddFormat = c("EPDFMeasure_AddFormat", 4), _Y = n._EPDFMeasure_RemoveFormats = c("EPDFMeasure_RemoveFormats", 2), HY = n._EPDFViewport_GetName = c("EPDFViewport_GetName", 3), IY = n._EPDFViewport_SetName = c("EPDFViewport_SetName", 2), QY = n._EPDFMeasure_GetRatio = c("EPDFMeasure_GetRatio", 3), SY = n._EPDFMeasure_SetRatio = c("EPDFMeasure_SetRatio", 2), OY = n._EPDFNumberFormat_GetUnit = c("EPDFNumberFormat_GetUnit", 3), MY = n._EPDFNumberFormat_SetUnit = c("EPDFNumberFormat_SetUnit", 2), jY = n._EPDFNumberFormat_GetConversion = c("EPDFNumberFormat_GetConversion", 2), RY = n._EPDFNumberFormat_SetConversion = c("EPDFNumberFormat_SetConversion", 2), LY = n._EPDFNumberFormat_GetPrecision = c("EPDFNumberFormat_GetPrecision", 2), TY = n._EPDFNumberFormat_SetPrecision = c("EPDFNumberFormat_SetPrecision", 2), KY = n._EPDFNumberFormat_GetFixedDenominator = c("EPDFNumberFormat_GetFixedDenominator", 2), NY = n._EPDFNumberFormat_SetFixedDenominator = c("EPDFNumberFormat_SetFixedDenominator", 2), VY = n._EPDFNumberFormat_GetText = c("EPDFNumberFormat_GetText", 4), YY = n._EPDFNumberFormat_SetText = c("EPDFNumberFormat_SetText", 3), XY = n._EPDFNumberFormat_GetFraction = c("EPDFNumberFormat_GetFraction", 2), WY = n._EPDFNumberFormat_SetFraction = c("EPDFNumberFormat_SetFraction", 2), UY = n._EPDFNumberFormat_GetLabelPosition = c("EPDFNumberFormat_GetLabelPosition", 2), qY = n._EPDFNumberFormat_SetLabelPosition = c("EPDFNumberFormat_SetLabelPosition", 2), ZY = n._EPDFAnnot_SetLineLeader = c("EPDFAnnot_SetLineLeader", 4), zY = n._EPDFAnnot_GetLineLeader = c("EPDFAnnot_GetLineLeader", 4), JY = n._EPDFAnnot_SetLineCaption = c("EPDFAnnot_SetLineCaption", 4), $Y = n._EPDFAnnot_GetLineCaption = c("EPDFAnnot_GetLineCaption", 4), e8 = n._EPDFAnnot_SetShapeCaption = c("EPDFAnnot_SetShapeCaption", 3), t8 = n._EPDFAnnot_GetShapeCaption = c("EPDFAnnot_GetShapeCaption", 4), n8 = n._EPDFPage_GetParsedSize = c("EPDFPage_GetParsedSize", 2), r8 = n._EPDFPage_IsContentCurrent = c("EPDFPage_IsContentCurrent", 1), i8 = n._EPDF_PNG_EncodeRGBA = c("EPDF_PNG_EncodeRGBA", 6), a8 = n._EPDFDoc_ImportPages = c("EPDFDoc_ImportPages", 6), A8 = n._EPDFDoc_GetImportFieldRoots = c("EPDFDoc_GetImportFieldRoots", 5), o8 = n._EPDFPage_ApplyRedactions = c("EPDFPage_ApplyRedactions", 4), s8 = n._EPDF_InitThread = c("EPDF_InitThread", 0), c8 = n._EPDF_ShutdownThread = c("EPDF_ShutdownThread", 0), d8 = n._FPDFAnnot_IsSupportedSubtype = c("FPDFAnnot_IsSupportedSubtype", 1), p8 = n._FPDFPage_CreateAnnot = c("FPDFPage_CreateAnnot", 2), l8 = n._FPDFPage_GetAnnotCount = c("FPDFPage_GetAnnotCount", 1), u8 = n._FPDFPage_GetAnnot = c("FPDFPage_GetAnnot", 2), m8 = n._FPDFPage_GetAnnotIndex = c("FPDFPage_GetAnnotIndex", 2), w8 = n._FPDFPage_CloseAnnot = c("FPDFPage_CloseAnnot", 1), b8 = n._FPDFPage_RemoveAnnot = c("FPDFPage_RemoveAnnot", 2), g8 = n._FPDFAnnot_GetSubtype = c("FPDFAnnot_GetSubtype", 1), f8 = n._FPDFAnnot_IsObjectSupportedSubtype = c("FPDFAnnot_IsObjectSupportedSubtype", 1), F8 = n._FPDFAnnot_UpdateObject = c("FPDFAnnot_UpdateObject", 2), v8 = n._FPDFAnnot_AddInkStroke = c("FPDFAnnot_AddInkStroke", 3), P8 = n._FPDFAnnot_RemoveInkList = c("FPDFAnnot_RemoveInkList", 1), h8 = n._FPDFAnnot_AppendObject = c("FPDFAnnot_AppendObject", 2), k8 = n._FPDFAnnot_GetObjectCount = c("FPDFAnnot_GetObjectCount", 1), B8 = n._FPDFAnnot_GetObject = c("FPDFAnnot_GetObject", 2), D8 = n._FPDFAnnot_RemoveObject = c("FPDFAnnot_RemoveObject", 2), y8 = n._FPDFAnnot_SetColor = c("FPDFAnnot_SetColor", 6), E8 = n._FPDFAnnot_GetColor = c("FPDFAnnot_GetColor", 6), G8 = n._FPDFAnnot_HasAttachmentPoints = c("FPDFAnnot_HasAttachmentPoints", 1), C8 = n._FPDFAnnot_SetAttachmentPoints = c("FPDFAnnot_SetAttachmentPoints", 3), x8 = n._FPDFAnnot_AppendAttachmentPoints = c("FPDFAnnot_AppendAttachmentPoints", 2), _8 = n._FPDFAnnot_CountAttachmentPoints = c("FPDFAnnot_CountAttachmentPoints", 1), H8 = n._FPDFAnnot_GetAttachmentPoints = c("FPDFAnnot_GetAttachmentPoints", 3), I8 = n._FPDFAnnot_SetRect = c("FPDFAnnot_SetRect", 2), Q8 = n._FPDFAnnot_GetRect = c("FPDFAnnot_GetRect", 2), S8 = n._FPDFAnnot_GetVertices = c("FPDFAnnot_GetVertices", 3), O8 = n._FPDFAnnot_GetInkListCount = c("FPDFAnnot_GetInkListCount", 1), M8 = n._FPDFAnnot_GetInkListPath = c("FPDFAnnot_GetInkListPath", 4), j8 = n._FPDFAnnot_GetLine = c("FPDFAnnot_GetLine", 3), R8 = n._FPDFAnnot_SetBorder = c("FPDFAnnot_SetBorder", 4), L8 = n._FPDFAnnot_GetBorder = c("FPDFAnnot_GetBorder", 4), T8 = n._FPDFAnnot_HasKey = c("FPDFAnnot_HasKey", 2), K8 = n._FPDFAnnot_GetValueType = c("FPDFAnnot_GetValueType", 2), N8 = n._FPDFAnnot_SetStringValue = c("FPDFAnnot_SetStringValue", 3), V8 = n._FPDFAnnot_GetStringValue = c("FPDFAnnot_GetStringValue", 4), Y8 = n._FPDFAnnot_GetNumberValue = c("FPDFAnnot_GetNumberValue", 3), X8 = n._FPDFAnnot_SetAP = c("FPDFAnnot_SetAP", 3), W8 = n._FPDFAnnot_GetAP = c("FPDFAnnot_GetAP", 4), U8 = n._FPDFAnnot_GetLinkedAnnot = c("FPDFAnnot_GetLinkedAnnot", 2), q8 = n._FPDFAnnot_GetFlags = c("FPDFAnnot_GetFlags", 1), Z8 = n._FPDFAnnot_SetFlags = c("FPDFAnnot_SetFlags", 2), z8 = n._FPDFAnnot_GetFormFieldFlags = c("FPDFAnnot_GetFormFieldFlags", 2), J8 = n._FPDFAnnot_SetFormFieldFlags = c("FPDFAnnot_SetFormFieldFlags", 3), $8 = n._FPDFAnnot_GetFormFieldAtPoint = c("FPDFAnnot_GetFormFieldAtPoint", 3), eX = n._FPDFAnnot_GetFormFieldName = c("FPDFAnnot_GetFormFieldName", 4), tX = n._FPDFAnnot_GetFormFieldType = c("FPDFAnnot_GetFormFieldType", 2), nX = n._FPDFAnnot_GetFormAdditionalActionJavaScript = c("FPDFAnnot_GetFormAdditionalActionJavaScript", 5), rX = n._FPDFAnnot_GetFormFieldAlternateName = c("FPDFAnnot_GetFormFieldAlternateName", 4), iX = n._FPDFAnnot_GetFormFieldValue = c("FPDFAnnot_GetFormFieldValue", 4), aX = n._FPDFAnnot_GetOptionCount = c("FPDFAnnot_GetOptionCount", 2), AX = n._FPDFAnnot_GetOptionLabel = c("FPDFAnnot_GetOptionLabel", 5), oX = n._FPDFAnnot_IsOptionSelected = c("FPDFAnnot_IsOptionSelected", 3), sX = n._FPDFAnnot_GetFontSize = c("FPDFAnnot_GetFontSize", 3), cX = n._FPDFAnnot_SetFontColor = c("FPDFAnnot_SetFontColor", 5), dX = n._FPDFAnnot_GetFontColor = c("FPDFAnnot_GetFontColor", 5), pX = n._FPDFAnnot_IsChecked = c("FPDFAnnot_IsChecked", 2), lX = n._FPDFAnnot_SetFocusableSubtypes = c("FPDFAnnot_SetFocusableSubtypes", 3), uX = n._FPDFAnnot_GetFocusableSubtypesCount = c("FPDFAnnot_GetFocusableSubtypesCount", 1), mX = n._FPDFAnnot_GetFocusableSubtypes = c("FPDFAnnot_GetFocusableSubtypes", 3), wX = n._FPDFAnnot_GetLink = c("FPDFAnnot_GetLink", 1), bX = n._FPDFAnnot_GetFormControlCount = c("FPDFAnnot_GetFormControlCount", 2), gX = n._FPDFAnnot_GetFormControlIndex = c("FPDFAnnot_GetFormControlIndex", 2), fX = n._FPDFAnnot_GetFormFieldExportValue = c("FPDFAnnot_GetFormFieldExportValue", 4), FX = n._FPDFAnnot_SetURI = c("FPDFAnnot_SetURI", 2), vX = n._FPDFAnnot_GetFileAttachment = c("FPDFAnnot_GetFileAttachment", 1), PX = n._FPDFAnnot_AddFileAttachment = c("FPDFAnnot_AddFileAttachment", 2), hX = n._FPDFDoc_GetAttachmentCount = c("FPDFDoc_GetAttachmentCount", 1), kX = n._FPDFDoc_AddAttachment = c("FPDFDoc_AddAttachment", 2), BX = n._FPDFDoc_GetAttachment = c("FPDFDoc_GetAttachment", 2), DX = n._EPDFDoc_GetAttachmentKey = c("EPDFDoc_GetAttachmentKey", 4), yX = n._EPDFDoc_GetAttachmentIndexByKey = c("EPDFDoc_GetAttachmentIndexByKey", 2), EX = n._FPDFDoc_DeleteAttachment = c("FPDFDoc_DeleteAttachment", 2), GX = n._FPDFAttachment_GetName = c("FPDFAttachment_GetName", 3), CX = n._FPDFAttachment_HasKey = c("FPDFAttachment_HasKey", 2), xX = n._FPDFAttachment_GetValueType = c("FPDFAttachment_GetValueType", 2), _X = n._FPDFAttachment_SetStringValue = c("FPDFAttachment_SetStringValue", 3), HX = n._FPDFAttachment_GetStringValue = c("FPDFAttachment_GetStringValue", 4), IX = n._FPDFAttachment_SetDescription = c("FPDFAttachment_SetDescription", 2), QX = n._FPDFAttachment_GetDescription = c("FPDFAttachment_GetDescription", 3), SX = n._FPDFAttachment_SetFile = c("FPDFAttachment_SetFile", 4), OX = n._FPDFAttachment_GetFile = c("FPDFAttachment_GetFile", 4), MX = n._FPDFAttachment_GetSubtype = c("FPDFAttachment_GetSubtype", 3), jX = n._FPDFAttachment_GetAFRelationship = c("FPDFAttachment_GetAFRelationship", 3), RX = n._EPDFAttachment_SetSubtype = c("EPDFAttachment_SetSubtype", 2), LX = n._EPDFAttachment_SetDescription = c("EPDFAttachment_SetDescription", 2), TX = n._EPDFAttachment_SetName = c("EPDFAttachment_SetName", 2), KX = n._EPDFAttachment_GetDescription = c("EPDFAttachment_GetDescription", 3), NX = n._EPDFAttachment_GetIntegerValue = c("EPDFAttachment_GetIntegerValue", 3), VX = n._EPDFAttachment_ExtractFile = c("EPDFAttachment_ExtractFile", 6), YX = n._EPDFAttachment_ExtractFileToOwnedBuffer = c("EPDFAttachment_ExtractFileToOwnedBuffer", 6), XX = n._FPDFCatalog_IsTagged = c("FPDFCatalog_IsTagged", 1), WX = n._FPDFCatalog_GetLanguage = c("FPDFCatalog_GetLanguage", 3), UX = n._FPDFCatalog_SetLanguage = c("FPDFCatalog_SetLanguage", 2), qX = n._EPDFCatalog_GetLanguage = c("EPDFCatalog_GetLanguage", 3), ZX = n._FPDFAvail_Create = c("FPDFAvail_Create", 2), zX = n._FPDFAvail_Destroy = c("FPDFAvail_Destroy", 1), JX = n._FPDFAvail_IsDocAvail = c("FPDFAvail_IsDocAvail", 2), $X = n._FPDFAvail_GetDocument = c("FPDFAvail_GetDocument", 2), eW = n._FPDFAvail_GetFirstPageNum = c("FPDFAvail_GetFirstPageNum", 1), tW = n._FPDFAvail_IsPageAvail = c("FPDFAvail_IsPageAvail", 3), nW = n._FPDFAvail_IsFormAvail = c("FPDFAvail_IsFormAvail", 2), rW = n._FPDFAvail_IsLinearized = c("FPDFAvail_IsLinearized", 1), iW = n._FPDFBookmark_GetFirstChild = c("FPDFBookmark_GetFirstChild", 2), aW = n._FPDFBookmark_GetNextSibling = c("FPDFBookmark_GetNextSibling", 2), AW = n._FPDFBookmark_GetTitle = c("FPDFBookmark_GetTitle", 3), oW = n._FPDFBookmark_GetCount = c("FPDFBookmark_GetCount", 1), sW = n._FPDFBookmark_Find = c("FPDFBookmark_Find", 2), cW = n._FPDFBookmark_GetDest = c("FPDFBookmark_GetDest", 2), dW = n._FPDFBookmark_GetAction = c("FPDFBookmark_GetAction", 1), pW = n._FPDFBookmark_GetColor = c("FPDFBookmark_GetColor", 4), lW = n._FPDFBookmark_GetStyle = c("FPDFBookmark_GetStyle", 1), uW = n._FPDFAction_GetType = c("FPDFAction_GetType", 1), mW = n._FPDFAction_GetDest = c("FPDFAction_GetDest", 2), wW = n._FPDFAction_GetFilePath = c("FPDFAction_GetFilePath", 3), bW = n._FPDFAction_GetURIPath = c("FPDFAction_GetURIPath", 4), gW = n._FPDFDest_GetDestPageIndex = c("FPDFDest_GetDestPageIndex", 2), fW = n._EPDFDest_GetPageObjectNumber = c("EPDFDest_GetPageObjectNumber", 2), FW = n._FPDFDest_GetView = c("FPDFDest_GetView", 3), vW = n._FPDFDest_GetLocationInPage = c("FPDFDest_GetLocationInPage", 7), PW = n._FPDFLink_GetLinkAtPoint = c("FPDFLink_GetLinkAtPoint", 3), hW = n._FPDFLink_GetLinkZOrderAtPoint = c("FPDFLink_GetLinkZOrderAtPoint", 3), kW = n._FPDFLink_GetDest = c("FPDFLink_GetDest", 2), BW = n._FPDFLink_GetAction = c("FPDFLink_GetAction", 1), DW = n._FPDFLink_Enumerate = c("FPDFLink_Enumerate", 3), yW = n._FPDFLink_GetAnnot = c("FPDFLink_GetAnnot", 2), EW = n._FPDFLink_GetAnnotRect = c("FPDFLink_GetAnnotRect", 2), GW = n._FPDFLink_CountQuadPoints = c("FPDFLink_CountQuadPoints", 1), CW = n._FPDFLink_GetQuadPoints = c("FPDFLink_GetQuadPoints", 3), xW = n._FPDF_GetPageAAction = c("FPDF_GetPageAAction", 2), _W = n._FPDF_GetFileIdentifier = c("FPDF_GetFileIdentifier", 4), HW = n._FPDF_GetMetaText = c("FPDF_GetMetaText", 4), IW = n._FPDF_GetPageLabel = c("FPDF_GetPageLabel", 4), QW = n._EPDF_SetMetaText = c("EPDF_SetMetaText", 3), SW = n._EPDF_HasMetaText = c("EPDF_HasMetaText", 2), OW = n._EPDF_GetMetaTrapped = c("EPDF_GetMetaTrapped", 1), MW = n._EPDF_SetMetaTrapped = c("EPDF_SetMetaTrapped", 2), jW = n._EPDF_GetMetaKeyCount = c("EPDF_GetMetaKeyCount", 2), RW = n._EPDF_GetMetaKeyName = c("EPDF_GetMetaKeyName", 5), LW = n._FPDFPageObj_NewImageObj = c("FPDFPageObj_NewImageObj", 1), TW = n._FPDFImageObj_LoadJpegFile = c("FPDFImageObj_LoadJpegFile", 4), KW = n._FPDFImageObj_LoadJpegFileInline = c("FPDFImageObj_LoadJpegFileInline", 4), NW = n._FPDFImageObj_SetMatrix = c("FPDFImageObj_SetMatrix", 7), VW = n._FPDFImageObj_SetBitmap = c("FPDFImageObj_SetBitmap", 4), YW = n._FPDFImageObj_GetBitmap = c("FPDFImageObj_GetBitmap", 1), XW = n._FPDFImageObj_GetRenderedBitmap = c("FPDFImageObj_GetRenderedBitmap", 3), WW = n._FPDFImageObj_GetImageDataDecoded = c("FPDFImageObj_GetImageDataDecoded", 3), UW = n._FPDFImageObj_GetImageDataRaw = c("FPDFImageObj_GetImageDataRaw", 3), qW = n._FPDFImageObj_GetImageFilterCount = c("FPDFImageObj_GetImageFilterCount", 1), ZW = n._FPDFImageObj_GetImageFilter = c("FPDFImageObj_GetImageFilter", 4), zW = n._FPDFImageObj_GetImageMetadata = c("FPDFImageObj_GetImageMetadata", 3), JW = n._FPDFImageObj_GetImagePixelSize = c("FPDFImageObj_GetImagePixelSize", 3), $W = n._FPDFImageObj_GetIccProfileDataDecoded = c("FPDFImageObj_GetIccProfileDataDecoded", 5), eU = n._EPDFImageObj_SetPng = c("EPDFImageObj_SetPng", 5), tU = n._EPDFImageObj_SetJpeg = c("EPDFImageObj_SetJpeg", 5), nU = n._FPDF_CreateNewDocument = c("FPDF_CreateNewDocument", 0), rU = n._FPDFPage_Delete = c("FPDFPage_Delete", 2), iU = n._FPDF_MovePages = c("FPDF_MovePages", 4), aU = n._FPDFPage_New = c("FPDFPage_New", 4), AU = n._EPDFPage_InsertBlankRaw = c("EPDFPage_InsertBlankRaw", 5), oU = n._FPDFPage_GetRotation = c("FPDFPage_GetRotation", 1), sU = n._FPDFPage_InsertObject = c("FPDFPage_InsertObject", 2), cU = n._FPDFPage_InsertObjectAtIndex = c("FPDFPage_InsertObjectAtIndex", 3), dU = n._FPDFPage_RemoveObject = c("FPDFPage_RemoveObject", 2), pU = n._FPDFPage_CountObjects = c("FPDFPage_CountObjects", 1), lU = n._FPDFPage_GetObject = c("FPDFPage_GetObject", 2), uU = n._FPDFPage_HasTransparency = c("FPDFPage_HasTransparency", 1), mU = n._FPDFPageObj_Destroy = c("FPDFPageObj_Destroy", 1), wU = n._FPDFPageObj_GetMarkedContentID = c("FPDFPageObj_GetMarkedContentID", 1), bU = n._FPDFPageObj_CountMarks = c("FPDFPageObj_CountMarks", 1), gU = n._FPDFPageObj_GetMark = c("FPDFPageObj_GetMark", 2), fU = n._FPDFPageObj_AddExistingMark = c("FPDFPageObj_AddExistingMark", 2), FU = n._FPDFPageObj_AddMark = c("FPDFPageObj_AddMark", 2), vU = n._FPDFPageObj_RemoveMark = c("FPDFPageObj_RemoveMark", 2), PU = n._FPDFPageObjMark_GetName = c("FPDFPageObjMark_GetName", 4), hU = n._FPDFPageObjMark_CountParams = c("FPDFPageObjMark_CountParams", 1), kU = n._FPDFPageObjMark_GetParamKey = c("FPDFPageObjMark_GetParamKey", 5), BU = n._FPDFPageObjMark_GetParamValueType = c("FPDFPageObjMark_GetParamValueType", 2), DU = n._FPDFPageObjMark_GetParamIntValue = c("FPDFPageObjMark_GetParamIntValue", 3), yU = n._FPDFPageObjMark_GetParamFloatValue = c("FPDFPageObjMark_GetParamFloatValue", 3), EU = n._FPDFPageObjMark_GetParamStringValue = c("FPDFPageObjMark_GetParamStringValue", 5), GU = n._FPDFPageObjMark_GetParamBlobValue = c("FPDFPageObjMark_GetParamBlobValue", 5), CU = n._FPDFPageObj_HasTransparency = c("FPDFPageObj_HasTransparency", 1), xU = n._FPDFPageObjMark_SetIntParam = c("FPDFPageObjMark_SetIntParam", 5), _U = n._FPDFPageObjMark_SetFloatParam = c("FPDFPageObjMark_SetFloatParam", 5), HU = n._FPDFPageObjMark_SetStringParam = c("FPDFPageObjMark_SetStringParam", 5), IU = n._FPDFPageObjMark_SetBlobParam = c("FPDFPageObjMark_SetBlobParam", 6), QU = n._FPDFPageObjMark_RemoveParam = c("FPDFPageObjMark_RemoveParam", 3), SU = n._FPDFPageObj_GetType = c("FPDFPageObj_GetType", 1), OU = n._FPDFPageObj_GetIsActive = c("FPDFPageObj_GetIsActive", 2), MU = n._FPDFPageObj_SetIsActive = c("FPDFPageObj_SetIsActive", 2), jU = n._FPDFPage_GenerateContent = c("FPDFPage_GenerateContent", 1), RU = n._FPDFPageObj_Transform = c("FPDFPageObj_Transform", 7), LU = n._FPDFPageObj_TransformF = c("FPDFPageObj_TransformF", 2), TU = n._FPDFPageObj_GetMatrix = c("FPDFPageObj_GetMatrix", 2), KU = n._FPDFPageObj_SetMatrix = c("FPDFPageObj_SetMatrix", 2), NU = n._FPDFPageObj_SetBlendMode = c("FPDFPageObj_SetBlendMode", 2), VU = n._FPDFPage_TransformAnnots = c("FPDFPage_TransformAnnots", 7), YU = n._FPDFPage_SetRotation = c("FPDFPage_SetRotation", 2), XU = n._FPDFPageObj_SetFillColor = c("FPDFPageObj_SetFillColor", 5), WU = n._FPDFPageObj_GetFillColor = c("FPDFPageObj_GetFillColor", 5), UU = n._FPDFPageObj_GetBounds = c("FPDFPageObj_GetBounds", 5), qU = n._FPDFPageObj_GetRotatedBounds = c("FPDFPageObj_GetRotatedBounds", 2), ZU = n._FPDFPageObj_SetStrokeColor = c("FPDFPageObj_SetStrokeColor", 5), zU = n._FPDFPageObj_GetStrokeColor = c("FPDFPageObj_GetStrokeColor", 5), JU = n._FPDFPageObj_SetStrokeWidth = c("FPDFPageObj_SetStrokeWidth", 2), $U = n._FPDFPageObj_GetStrokeWidth = c("FPDFPageObj_GetStrokeWidth", 2), eq = n._FPDFPageObj_GetLineJoin = c("FPDFPageObj_GetLineJoin", 1), tq = n._FPDFPageObj_SetLineJoin = c("FPDFPageObj_SetLineJoin", 2), nq = n._FPDFPageObj_GetLineCap = c("FPDFPageObj_GetLineCap", 1), rq = n._FPDFPageObj_SetLineCap = c("FPDFPageObj_SetLineCap", 2), iq = n._FPDFPageObj_GetDashPhase = c("FPDFPageObj_GetDashPhase", 2), aq = n._FPDFPageObj_SetDashPhase = c("FPDFPageObj_SetDashPhase", 2), Aq = n._FPDFPageObj_GetDashCount = c("FPDFPageObj_GetDashCount", 1), oq = n._FPDFPageObj_GetDashArray = c("FPDFPageObj_GetDashArray", 3), sq = n._FPDFPageObj_SetDashArray = c("FPDFPageObj_SetDashArray", 4), cq = n._FPDFPageObj_GetRenderedStrokePattern = c("FPDFPageObj_GetRenderedStrokePattern", 2), dq = n._FPDFPageObj_GetRenderedFillPattern = c("FPDFPageObj_GetRenderedFillPattern", 2), pq = n._FPDFFormObj_CountObjects = c("FPDFFormObj_CountObjects", 1), lq = n._FPDFFormObj_GetObject = c("FPDFFormObj_GetObject", 2), uq = n._FPDFFormObj_RemoveObject = c("FPDFFormObj_RemoveObject", 2), mq = n._FPDFPageObj_CreateNewPath = c("FPDFPageObj_CreateNewPath", 2), wq = n._FPDFPageObj_CreateNewRect = c("FPDFPageObj_CreateNewRect", 4), bq = n._FPDFPath_CountSegments = c("FPDFPath_CountSegments", 1), gq = n._FPDFPath_GetPathSegment = c("FPDFPath_GetPathSegment", 2), fq = n._FPDFPath_MoveTo = c("FPDFPath_MoveTo", 3), Fq = n._FPDFPath_LineTo = c("FPDFPath_LineTo", 3), vq = n._FPDFPath_BezierTo = c("FPDFPath_BezierTo", 7), Pq = n._FPDFPath_GetBezierControlPoints = c("FPDFPath_GetBezierControlPoints", 4), hq = n._FPDFPath_Close = c("FPDFPath_Close", 1), kq = n._FPDFPath_SetDrawMode = c("FPDFPath_SetDrawMode", 3), Bq = n._FPDFPath_GetDrawMode = c("FPDFPath_GetDrawMode", 3), Dq = n._FPDFPathSegment_GetPoint = c("FPDFPathSegment_GetPoint", 3), yq = n._FPDFPathSegment_GetType = c("FPDFPathSegment_GetType", 1), Eq = n._FPDFPathSegment_GetClose = c("FPDFPathSegment_GetClose", 1), Gq = n._FPDFPageObj_NewTextObj = c("FPDFPageObj_NewTextObj", 3), Cq = n._FPDFText_SetText = c("FPDFText_SetText", 2), xq = n._FPDFText_SetCharcodes = c("FPDFText_SetCharcodes", 3), _q = n._FPDFText_SetPositions = c("FPDFText_SetPositions", 3), Hq = n._FPDFText_LoadFont = c("FPDFText_LoadFont", 5), Iq = n._FPDFText_LoadStandardFont = c("FPDFText_LoadStandardFont", 2), Qq = n._FPDFText_LoadCidType2Font = c("FPDFText_LoadCidType2Font", 6), Sq = n._FPDFTextObj_GetFontSize = c("FPDFTextObj_GetFontSize", 2), Oq = n._FPDFTextObj_SetFontSize = c("FPDFTextObj_SetFontSize", 2), Mq = n._FPDFTextObj_GetText = c("FPDFTextObj_GetText", 4), jq = n._FPDFTextObj_GetRenderedBitmap = c("FPDFTextObj_GetRenderedBitmap", 4), Rq = n._FPDFFont_Close = c("FPDFFont_Close", 1), Lq = n._FPDFPageObj_CreateTextObj = c("FPDFPageObj_CreateTextObj", 3), Tq = n._FPDFTextObj_GetTextRenderMode = c("FPDFTextObj_GetTextRenderMode", 1), Kq = n._FPDFTextObj_SetTextRenderMode = c("FPDFTextObj_SetTextRenderMode", 2), Nq = n._FPDFTextObj_GetFont = c("FPDFTextObj_GetFont", 1), Vq = n._FPDFFont_GetBaseFontName = c("FPDFFont_GetBaseFontName", 3), Yq = n._FPDFFont_GetFamilyName = c("FPDFFont_GetFamilyName", 3), Xq = n._FPDFFont_GetFontData = c("FPDFFont_GetFontData", 4), Wq = n._FPDFFont_GetIsEmbedded = c("FPDFFont_GetIsEmbedded", 1), Uq = n._FPDFFont_GetFlags = c("FPDFFont_GetFlags", 1), qq = n._FPDFFont_GetWeight = c("FPDFFont_GetWeight", 1), Zq = n._FPDFFont_GetItalicAngle = c("FPDFFont_GetItalicAngle", 2), zq = n._FPDFFont_GetAscent = c("FPDFFont_GetAscent", 3), Jq = n._FPDFFont_GetDescent = c("FPDFFont_GetDescent", 3), $q = n._FPDFFont_GetGlyphWidth = c("FPDFFont_GetGlyphWidth", 4), eZ = n._FPDFFont_GetGlyphPath = c("FPDFFont_GetGlyphPath", 3), tZ = n._FPDFGlyphPath_CountGlyphSegments = c("FPDFGlyphPath_CountGlyphSegments", 1), nZ = n._FPDFGlyphPath_GetGlyphPathSegment = c("FPDFGlyphPath_GetGlyphPathSegment", 2), rZ = n._EPDFText_RedactInRect = c("EPDFText_RedactInRect", 4), iZ = n._EPDFText_RedactInQuads = c("EPDFText_RedactInQuads", 5), aZ = n._FPDFDoc_GetPageMode = c("FPDFDoc_GetPageMode", 1), AZ = n._FPDFPage_Flatten = c("FPDFPage_Flatten", 2), oZ = n._FPDFPage_HasFormFieldAtPoint = c("FPDFPage_HasFormFieldAtPoint", 4), sZ = n._FPDFPage_FormFieldZOrderAtPoint = c("FPDFPage_FormFieldZOrderAtPoint", 4), cZ = n._FPDFDOC_InitFormFillEnvironment = c("FPDFDOC_InitFormFillEnvironment", 2), dZ = n._FPDFDOC_ExitFormFillEnvironment = c("FPDFDOC_ExitFormFillEnvironment", 1), pZ = n._FORM_OnMouseMove = c("FORM_OnMouseMove", 5), lZ = n._FORM_OnMouseWheel = c("FORM_OnMouseWheel", 6), uZ = n._FORM_OnFocus = c("FORM_OnFocus", 5), mZ = n._FORM_OnLButtonDown = c("FORM_OnLButtonDown", 5), wZ = n._FORM_OnLButtonUp = c("FORM_OnLButtonUp", 5), bZ = n._FORM_OnLButtonDoubleClick = c("FORM_OnLButtonDoubleClick", 5), gZ = n._FORM_OnRButtonDown = c("FORM_OnRButtonDown", 5), fZ = n._FORM_OnRButtonUp = c("FORM_OnRButtonUp", 5), FZ = n._FORM_OnKeyDown = c("FORM_OnKeyDown", 4), vZ = n._FORM_OnKeyUp = c("FORM_OnKeyUp", 4), PZ = n._FORM_OnChar = c("FORM_OnChar", 4), hZ = n._FORM_GetFocusedText = c("FORM_GetFocusedText", 4), kZ = n._FORM_GetSelectedText = c("FORM_GetSelectedText", 4), BZ = n._FORM_ReplaceAndKeepSelection = c("FORM_ReplaceAndKeepSelection", 3), DZ = n._FORM_ReplaceSelection = c("FORM_ReplaceSelection", 3), yZ = n._FORM_SelectAllText = c("FORM_SelectAllText", 2), EZ = n._FORM_CanUndo = c("FORM_CanUndo", 2), GZ = n._FORM_CanRedo = c("FORM_CanRedo", 2), CZ = n._FORM_Undo = c("FORM_Undo", 2), xZ = n._FORM_Redo = c("FORM_Redo", 2), _Z = n._FORM_ForceToKillFocus = c("FORM_ForceToKillFocus", 1), HZ = n._FORM_GetFocusedAnnot = c("FORM_GetFocusedAnnot", 3), IZ = n._FORM_SetFocusedAnnot = c("FORM_SetFocusedAnnot", 2), QZ = n._FPDF_FFLDraw = c("FPDF_FFLDraw", 9), SZ = n._FPDF_SetFormFieldHighlightColor = c("FPDF_SetFormFieldHighlightColor", 3), OZ = n._FPDF_SetFormFieldHighlightAlpha = c("FPDF_SetFormFieldHighlightAlpha", 2), MZ = n._FPDF_RemoveFormFieldHighlight = c("FPDF_RemoveFormFieldHighlight", 1), jZ = n._FORM_OnAfterLoadPage = c("FORM_OnAfterLoadPage", 2), RZ = n._FORM_OnBeforeClosePage = c("FORM_OnBeforeClosePage", 2), LZ = n._FORM_DoDocumentJSAction = c("FORM_DoDocumentJSAction", 1), TZ = n._FORM_DoDocumentOpenAction = c("FORM_DoDocumentOpenAction", 1), KZ = n._FORM_DoDocumentAAction = c("FORM_DoDocumentAAction", 2), NZ = n._FORM_DoPageAAction = c("FORM_DoPageAAction", 3), VZ = n._FORM_SetIndexSelected = c("FORM_SetIndexSelected", 4), YZ = n._FORM_IsIndexSelected = c("FORM_IsIndexSelected", 3), XZ = n._FORM_GetTextDirection = c("FORM_GetTextDirection", 2), WZ = n._FORM_SetTextDirection = c("FORM_SetTextDirection", 3), UZ = n._FPDFDoc_GetJavaScriptActionCount = c("FPDFDoc_GetJavaScriptActionCount", 1), qZ = n._FPDFDoc_GetJavaScriptAction = c("FPDFDoc_GetJavaScriptAction", 2), ZZ = n._EPDFDoc_GetNamedJavaScriptActionModel = c("EPDFDoc_GetNamedJavaScriptActionModel", 2), zZ = n._FPDFDoc_CloseJavaScriptAction = c("FPDFDoc_CloseJavaScriptAction", 1), JZ = n._FPDFJavaScriptAction_GetName = c("FPDFJavaScriptAction_GetName", 3), $Z = n._FPDFJavaScriptAction_GetScript = c("FPDFJavaScriptAction_GetScript", 3), ez = n._FPDF_ImportPagesByIndex = c("FPDF_ImportPagesByIndex", 5), tz = n._FPDF_ImportPages = c("FPDF_ImportPages", 4), nz = n._FPDF_ImportNPagesToOne = c("FPDF_ImportNPagesToOne", 5), rz = n._FPDF_NewXObjectFromPage = c("FPDF_NewXObjectFromPage", 3), iz = n._FPDF_CloseXObject = c("FPDF_CloseXObject", 1), az = n._FPDF_NewFormObjectFromXObject = c("FPDF_NewFormObjectFromXObject", 1), Az = n._FPDF_CopyViewerPreferences = c("FPDF_CopyViewerPreferences", 2), oz = n._FPDF_RenderPageBitmapWithColorScheme_Start = c("FPDF_RenderPageBitmapWithColorScheme_Start", 10), sz = n._FPDF_RenderPageBitmap_Start = c("FPDF_RenderPageBitmap_Start", 9), cz = n._FPDF_RenderPage_Continue = c("FPDF_RenderPage_Continue", 2), dz = n._FPDF_RenderPage_Close = c("FPDF_RenderPage_Close", 1), pz = n._EPDF_RenderPageBitmapWithMatrix_Start = c("EPDF_RenderPageBitmapWithMatrix_Start", 6), lz = n._EPDF_RenderPage_Continue = c("EPDF_RenderPage_Continue", 2), uz = n._EPDF_FreeBuffer = c("EPDF_FreeBuffer", 1), mz = n._FPDF_SaveAsCopy = c("FPDF_SaveAsCopy", 3), wz = n._FPDF_SaveWithVersion = c("FPDF_SaveWithVersion", 4), bz = n._EPDF_SaveDocumentToOwnedBuffer = c("EPDF_SaveDocumentToOwnedBuffer", 3), gz = n._EPDF_SaveDocumentToOwnedBufferWithVersion = c("EPDF_SaveDocumentToOwnedBufferWithVersion", 4), fz = n._EPDF_SaveDocumentToOwnedBufferEx = c("EPDF_SaveDocumentToOwnedBufferEx", 5), Fz = n._EPDF_SaveAsCopyEx = c("EPDF_SaveAsCopyEx", 4), vz = n._FPDFText_GetCharIndexFromTextIndex = c("FPDFText_GetCharIndexFromTextIndex", 2), Pz = n._FPDFText_GetTextIndexFromCharIndex = c("FPDFText_GetTextIndexFromCharIndex", 2), hz = n._FPDF_GetSignatureCount = c("FPDF_GetSignatureCount", 1), kz = n._FPDF_GetSignatureObject = c("FPDF_GetSignatureObject", 2), Bz = n._FPDFSignatureObj_GetContents = c("FPDFSignatureObj_GetContents", 3), Dz = n._FPDFSignatureObj_GetByteRange = c("FPDFSignatureObj_GetByteRange", 3), yz = n._FPDFSignatureObj_GetSubFilter = c("FPDFSignatureObj_GetSubFilter", 3), Ez = n._FPDFSignatureObj_GetReason = c("FPDFSignatureObj_GetReason", 3), Gz = n._FPDFSignatureObj_GetTime = c("FPDFSignatureObj_GetTime", 3), Cz = n._FPDFSignatureObj_GetDocMDPPermission = c("FPDFSignatureObj_GetDocMDPPermission", 1), xz = n._FPDF_StructTree_GetForPage = c("FPDF_StructTree_GetForPage", 1), _z = n._FPDF_StructTree_Close = c("FPDF_StructTree_Close", 1), Hz = n._FPDF_StructTree_CountChildren = c("FPDF_StructTree_CountChildren", 1), Iz = n._FPDF_StructTree_GetChildAtIndex = c("FPDF_StructTree_GetChildAtIndex", 2), Qz = n._FPDF_StructElement_GetAltText = c("FPDF_StructElement_GetAltText", 3), Sz = n._FPDF_StructElement_GetActualText = c("FPDF_StructElement_GetActualText", 3), Oz = n._FPDF_StructElement_GetExpansion = c("FPDF_StructElement_GetExpansion", 3), Mz = n._FPDF_StructElement_GetID = c("FPDF_StructElement_GetID", 3), jz = n._FPDF_StructElement_GetLang = c("FPDF_StructElement_GetLang", 3), Rz = n._FPDF_StructElement_GetAttributeCount = c("FPDF_StructElement_GetAttributeCount", 1), Lz = n._FPDF_StructElement_GetAttributeAtIndex = c("FPDF_StructElement_GetAttributeAtIndex", 2), Tz = n._FPDF_StructElement_GetStringAttribute = c("FPDF_StructElement_GetStringAttribute", 4), Kz = n._FPDF_StructElement_GetMarkedContentID = c("FPDF_StructElement_GetMarkedContentID", 1), Nz = n._FPDF_StructElement_GetRawType = c("FPDF_StructElement_GetRawType", 3), Vz = n._FPDF_StructElement_GetType = c("FPDF_StructElement_GetType", 3), Yz = n._FPDF_StructElement_GetObjType = c("FPDF_StructElement_GetObjType", 3), Xz = n._FPDF_StructElement_GetTitle = c("FPDF_StructElement_GetTitle", 3), Wz = n._FPDF_StructElement_CountChildren = c("FPDF_StructElement_CountChildren", 1), Uz = n._FPDF_StructElement_GetChildAtIndex = c("FPDF_StructElement_GetChildAtIndex", 2), qz = n._FPDF_StructElement_GetChildMarkedContentID = c("FPDF_StructElement_GetChildMarkedContentID", 2), Zz = n._FPDF_StructElement_GetParent = c("FPDF_StructElement_GetParent", 1), zz = n._FPDF_StructElement_Attr_GetCount = c("FPDF_StructElement_Attr_GetCount", 1), Jz = n._FPDF_StructElement_Attr_GetName = c("FPDF_StructElement_Attr_GetName", 5), $z = n._FPDF_StructElement_Attr_GetValue = c("FPDF_StructElement_Attr_GetValue", 2), eJ = n._FPDF_StructElement_Attr_GetType = c("FPDF_StructElement_Attr_GetType", 1), tJ = n._FPDF_StructElement_Attr_GetBooleanValue = c("FPDF_StructElement_Attr_GetBooleanValue", 2), nJ = n._FPDF_StructElement_Attr_GetNumberValue = c("FPDF_StructElement_Attr_GetNumberValue", 2), rJ = n._FPDF_StructElement_Attr_GetStringValue = c("FPDF_StructElement_Attr_GetStringValue", 4), iJ = n._FPDF_StructElement_Attr_GetBlobValue = c("FPDF_StructElement_Attr_GetBlobValue", 4), aJ = n._FPDF_StructElement_Attr_CountChildren = c("FPDF_StructElement_Attr_CountChildren", 1), AJ = n._FPDF_StructElement_Attr_GetChildAtIndex = c("FPDF_StructElement_Attr_GetChildAtIndex", 2), oJ = n._FPDF_StructElement_GetMarkedContentIdCount = c("FPDF_StructElement_GetMarkedContentIdCount", 1), sJ = n._FPDF_StructElement_GetMarkedContentIdAtIndex = c("FPDF_StructElement_GetMarkedContentIdAtIndex", 2), cJ = n._FPDF_AddInstalledFont = c("FPDF_AddInstalledFont", 3), dJ = n._FPDF_SetSystemFontInfo = c("FPDF_SetSystemFontInfo", 1), pJ = n._FPDF_GetDefaultTTFMap = c("FPDF_GetDefaultTTFMap", 0), lJ = n._FPDF_GetDefaultTTFMapCount = c("FPDF_GetDefaultTTFMapCount", 0), uJ = n._FPDF_GetDefaultTTFMapEntry = c("FPDF_GetDefaultTTFMapEntry", 1), mJ = n._FPDF_GetDefaultSystemFontInfo = c("FPDF_GetDefaultSystemFontInfo", 0), wJ = n._FPDF_FreeDefaultSystemFontInfo = c("FPDF_FreeDefaultSystemFontInfo", 1), bJ = n._FPDFText_LoadPage = c("FPDFText_LoadPage", 1), gJ = n._FPDFText_ClosePage = c("FPDFText_ClosePage", 1), fJ = n._FPDFText_CountChars = c("FPDFText_CountChars", 1), FJ = n._FPDFText_GetUnicode = c("FPDFText_GetUnicode", 2), vJ = n._FPDFText_GetTextObject = c("FPDFText_GetTextObject", 2), PJ = n._FPDFText_IsGenerated = c("FPDFText_IsGenerated", 2), hJ = n._FPDFText_IsHyphen = c("FPDFText_IsHyphen", 2), kJ = n._FPDFText_HasUnicodeMapError = c("FPDFText_HasUnicodeMapError", 2), BJ = n._FPDFText_GetFontSize = c("FPDFText_GetFontSize", 2), DJ = n._FPDFText_GetFontInfo = c("FPDFText_GetFontInfo", 5), yJ = n._FPDFText_GetFontWeight = c("FPDFText_GetFontWeight", 2), EJ = n._FPDFText_GetFillColor = c("FPDFText_GetFillColor", 6), GJ = n._FPDFText_GetStrokeColor = c("FPDFText_GetStrokeColor", 6), CJ = n._FPDFText_GetCharAngle = c("FPDFText_GetCharAngle", 2), xJ = n._FPDFText_GetCharBox = c("FPDFText_GetCharBox", 6), _J = n._FPDFText_GetLooseCharBox = c("FPDFText_GetLooseCharBox", 3), HJ = n._EPDFText_GetCharGeometry = c("EPDFText_GetCharGeometry", 3), IJ = n._EPDFText_GetTextFull = c("EPDFText_GetTextFull", 3), QJ = n._EPDFText_GetCharToTextMap = c("EPDFText_GetCharToTextMap", 3), SJ = n._FPDFText_GetMatrix = c("FPDFText_GetMatrix", 3), OJ = n._FPDFText_GetCharOrigin = c("FPDFText_GetCharOrigin", 4), MJ = n._FPDFText_GetCharIndexAtPos = c("FPDFText_GetCharIndexAtPos", 5), jJ = n._FPDFText_GetText = c("FPDFText_GetText", 4), RJ = n._FPDFText_CountRects = c("FPDFText_CountRects", 3), LJ = n._FPDFText_GetRect = c("FPDFText_GetRect", 6), TJ = n._FPDFText_GetBoundedText = c("FPDFText_GetBoundedText", 7), KJ = n._FPDFText_FindStart = c("FPDFText_FindStart", 4), NJ = n._FPDFText_FindNext = c("FPDFText_FindNext", 1), VJ = n._FPDFText_FindPrev = c("FPDFText_FindPrev", 1), YJ = n._FPDFText_GetSchResultIndex = c("FPDFText_GetSchResultIndex", 1), XJ = n._FPDFText_GetSchCount = c("FPDFText_GetSchCount", 1), WJ = n._FPDFText_FindClose = c("FPDFText_FindClose", 1), UJ = n._FPDFLink_LoadWebLinks = c("FPDFLink_LoadWebLinks", 1), qJ = n._FPDFLink_CountWebLinks = c("FPDFLink_CountWebLinks", 1), ZJ = n._FPDFLink_GetURL = c("FPDFLink_GetURL", 4), zJ = n._FPDFLink_CountRects = c("FPDFLink_CountRects", 2), JJ = n._FPDFLink_GetRect = c("FPDFLink_GetRect", 7), $J = n._FPDFLink_GetTextRange = c("FPDFLink_GetTextRange", 4), e$ = n._FPDFLink_CloseWebLinks = c("FPDFLink_CloseWebLinks", 1), t$ = n._FPDFPage_GetDecodedThumbnailData = c("FPDFPage_GetDecodedThumbnailData", 3), n$ = n._FPDFPage_GetRawThumbnailData = c("FPDFPage_GetRawThumbnailData", 3), r$ = n._FPDFPage_GetThumbnailAsBitmap = c("FPDFPage_GetThumbnailAsBitmap", 1), i$ = n._FPDFPage_SetMediaBox = c("FPDFPage_SetMediaBox", 5), a$ = n._FPDFPage_SetCropBox = c("FPDFPage_SetCropBox", 5), A$ = n._FPDFPage_SetBleedBox = c("FPDFPage_SetBleedBox", 5), o$ = n._FPDFPage_SetTrimBox = c("FPDFPage_SetTrimBox", 5), s$ = n._FPDFPage_SetArtBox = c("FPDFPage_SetArtBox", 5), c$ = n._FPDFPage_GetMediaBox = c("FPDFPage_GetMediaBox", 5), d$ = n._FPDFPage_GetCropBox = c("FPDFPage_GetCropBox", 5), p$ = n._FPDFPage_GetBleedBox = c("FPDFPage_GetBleedBox", 5), l$ = n._FPDFPage_GetTrimBox = c("FPDFPage_GetTrimBox", 5), u$ = n._FPDFPage_GetArtBox = c("FPDFPage_GetArtBox", 5), m$ = n._FPDFPage_TransFormWithClip = c("FPDFPage_TransFormWithClip", 3), w$ = n._FPDFPageObj_TransformClipPath = c("FPDFPageObj_TransformClipPath", 7), b$ = n._FPDFPageObj_GetClipPath = c("FPDFPageObj_GetClipPath", 1), g$ = n._FPDFClipPath_CountPaths = c("FPDFClipPath_CountPaths", 1), f$ = n._FPDFClipPath_CountPathSegments = c("FPDFClipPath_CountPathSegments", 2), F$ = n._FPDFClipPath_GetPathSegment = c("FPDFClipPath_GetPathSegment", 3), v$ = n._FPDF_CreateClipPath = c("FPDF_CreateClipPath", 4), P$ = n._FPDF_DestroyClipPath = c("FPDF_DestroyClipPath", 1), h$ = n._FPDFPage_InsertClipPath = c("FPDFPage_InsertClipPath", 2), k$ = n._FPDF_InitLibrary = c("FPDF_InitLibrary", 0), B$ = n._FPDF_InitLibraryWithConfig = c("FPDF_InitLibraryWithConfig", 1), D$ = n._FPDF_DestroyLibrary = c("FPDF_DestroyLibrary", 0), y$ = n._FPDF_SetSandBoxPolicy = c("FPDF_SetSandBoxPolicy", 2), E$ = n._FPDF_LoadDocument = c("FPDF_LoadDocument", 2), G$ = n._FPDF_GetFormType = c("FPDF_GetFormType", 1), C$ = n._FPDF_LoadXFA = c("FPDF_LoadXFA", 1), x$ = n._FPDF_LoadMemDocument = c("FPDF_LoadMemDocument", 3), _$ = n._FPDF_LoadMemDocument64 = c("FPDF_LoadMemDocument64", 3), H$ = n._FPDF_LoadCustomDocument = c("FPDF_LoadCustomDocument", 2), I$ = n._FPDF_GetFileVersion = c("FPDF_GetFileVersion", 2), Q$ = n._FPDF_DocumentHasValidCrossReferenceTable = c("FPDF_DocumentHasValidCrossReferenceTable", 1), S$ = n._FPDF_GetDocPermissions = c("FPDF_GetDocPermissions", 1), O$ = n._FPDF_GetDocUserPermissions = c("FPDF_GetDocUserPermissions", 1), M$ = n._FPDF_GetSecurityHandlerRevision = c("FPDF_GetSecurityHandlerRevision", 1), j$ = n._EPDF_SetEncryption = c("EPDF_SetEncryption", 4), R$ = n._EPDF_RemoveEncryption = c("EPDF_RemoveEncryption", 1), L$ = n._EPDF_UnlockOwnerPermissions = c("EPDF_UnlockOwnerPermissions", 2), T$ = n._EPDF_CheckPasswordPermissions = c("EPDF_CheckPasswordPermissions", 6), K$ = n._EPDF_SetRuntimeOwnerPermissions = c("EPDF_SetRuntimeOwnerPermissions", 2), N$ = n._EPDF_IsEncrypted = c("EPDF_IsEncrypted", 1), V$ = n._EPDF_IsOwnerUnlocked = c("EPDF_IsOwnerUnlocked", 1), Y$ = n._FPDF_GetPageCount = c("FPDF_GetPageCount", 1), X$ = n._FPDF_LoadPage = c("FPDF_LoadPage", 2), W$ = n._EPDFDoc_LoadPageByObjectNumber = c("EPDFDoc_LoadPageByObjectNumber", 2), U$ = n._EPDFDoc_LoadPageByObjectNumberNormalized = c("EPDFDoc_LoadPageByObjectNumberNormalized", 2), q$ = n._EPDFDoc_GetPageObjectNumberByIndex = c("EPDFDoc_GetPageObjectNumberByIndex", 2), Z$ = n._EPDFDoc_DeletePageByObjectNumber = c("EPDFDoc_DeletePageByObjectNumber", 2), z$ = n._EPDFDoc_SetPageRotationByObjectNumber = c("EPDFDoc_SetPageRotationByObjectNumber", 3), J$ = n._EPDFDoc_StartLoadPageByObjectNumber = c("EPDFDoc_StartLoadPageByObjectNumber", 3), $$ = n._EPDFPage_ContinueLoad = c("EPDFPage_ContinueLoad", 2), eee = n._EPDFPage_GetObjectNumber = c("EPDFPage_GetObjectNumber", 1), tee = n._FPDF_GetPageWidthF = c("FPDF_GetPageWidthF", 1), nee = n._FPDF_GetPageWidth = c("FPDF_GetPageWidth", 1), ree = n._FPDF_GetPageHeightF = c("FPDF_GetPageHeightF", 1), iee = n._FPDF_GetPageHeight = c("FPDF_GetPageHeight", 1), aee = n._FPDF_GetPageBoundingBox = c("FPDF_GetPageBoundingBox", 2), Aee = n._FPDF_RenderPageBitmap = c("FPDF_RenderPageBitmap", 8), oee = n._FPDF_RenderPageBitmapWithMatrix = c("FPDF_RenderPageBitmapWithMatrix", 5), see = n._EPDF_RenderAnnotBitmap = c("EPDF_RenderAnnotBitmap", 7), cee = n._EPDF_RenderAnnotBitmapUnrotated = c("EPDF_RenderAnnotBitmapUnrotated", 9), dee = n._EPDF_SetDecodedImageBudget = c("EPDF_SetDecodedImageBudget", 1), pee = n._EPDF_GetDecodedImageBytes = c("EPDF_GetDecodedImageBytes", 0), lee = n._EPDFPage_ResetRenderCache = c("EPDFPage_ResetRenderCache", 1), uee = n._FPDF_ClosePage = c("FPDF_ClosePage", 1), mee = n._FPDF_CloseDocument = c("FPDF_CloseDocument", 1), wee = n._FPDF_GetLastError = c("FPDF_GetLastError", 0), bee = n._FPDF_DeviceToPage = c("FPDF_DeviceToPage", 10), gee = n._FPDF_PageToDevice = c("FPDF_PageToDevice", 10), fee = n._FPDFBitmap_Create = c("FPDFBitmap_Create", 3), Fee = n._FPDFBitmap_CreateEx = c("FPDFBitmap_CreateEx", 5), vee = n._FPDFBitmap_GetFormat = c("FPDFBitmap_GetFormat", 1), Pee = n._FPDFBitmap_FillRect = c("FPDFBitmap_FillRect", 6), hee = n._FPDFBitmap_GetBuffer = c("FPDFBitmap_GetBuffer", 1), kee = n._FPDFBitmap_GetWidth = c("FPDFBitmap_GetWidth", 1), Bee = n._FPDFBitmap_GetHeight = c("FPDFBitmap_GetHeight", 1), Dee = n._FPDFBitmap_GetStride = c("FPDFBitmap_GetStride", 1), yee = n._FPDFBitmap_Destroy = c("FPDFBitmap_Destroy", 1), Eee = n._FPDF_GetPageSizeByIndexF = c("FPDF_GetPageSizeByIndexF", 3), Gee = n._EPDF_GetPageRotateByIndex = c("EPDF_GetPageRotateByIndex", 3), Cee = n._EPDF_GetPageTabOrderByIndex = c("EPDF_GetPageTabOrderByIndex", 4), xee = n._EPDF_GetPageBoxByIndex = c("EPDF_GetPageBoxByIndex", 4), _ee = n._EPDF_GetPageUserUnitByIndex = c("EPDF_GetPageUserUnitByIndex", 3), Hee = n._EPDF_LoadPageNormalized = c("EPDF_LoadPageNormalized", 3), Iee = n._FPDF_GetPageSizeByIndex = c("FPDF_GetPageSizeByIndex", 4), Qee = n._FPDF_VIEWERREF_GetPrintScaling = c("FPDF_VIEWERREF_GetPrintScaling", 1), See = n._FPDF_VIEWERREF_GetNumCopies = c("FPDF_VIEWERREF_GetNumCopies", 1), Oee = n._FPDF_VIEWERREF_GetPrintPageRange = c("FPDF_VIEWERREF_GetPrintPageRange", 1), Mee = n._FPDF_VIEWERREF_GetPrintPageRangeCount = c("FPDF_VIEWERREF_GetPrintPageRangeCount", 1), jee = n._FPDF_VIEWERREF_GetPrintPageRangeElement = c("FPDF_VIEWERREF_GetPrintPageRangeElement", 2), Ree = n._FPDF_VIEWERREF_GetDuplex = c("FPDF_VIEWERREF_GetDuplex", 1), Lee = n._FPDF_VIEWERREF_GetName = c("FPDF_VIEWERREF_GetName", 4), Tee = n._FPDF_CountNamedDests = c("FPDF_CountNamedDests", 1), Kee = n._FPDF_GetNamedDestByName = c("FPDF_GetNamedDestByName", 2), Nee = n._FPDF_GetNamedDest = c("FPDF_GetNamedDest", 4), Vee = n._FPDF_GetXFAPacketCount = c("FPDF_GetXFAPacketCount", 1), Yee = n._FPDF_GetXFAPacketName = c("FPDF_GetXFAPacketName", 4), Xee = n._FPDF_GetXFAPacketContent = c("FPDF_GetXFAPacketContent", 5), Wee = n._FPDF_GetTrailerEnds = c("FPDF_GetTrailerEnds", 3), gu = c("fflush", 1), lB = c("strerror", 1), uB = c("emscripten_builtin_memalign", 2), Uee = n._malloc = c("malloc", 1), qee = n._free = c("free", 1), Qt = c("setThrew", 2), Zee = c("_emscripten_tempret_set", 1), fu = () => (fu = Ne.emscripten_stack_init)(), mB = () => (mB = Ne.emscripten_stack_get_free)(), wB = () => (wB = Ne.emscripten_stack_get_base)(), Hs = () => (Hs = Ne.emscripten_stack_get_end)(), Fu = (p) => (Fu = Ne._emscripten_stack_restore)(p), vu = (p) => (vu = Ne._emscripten_stack_alloc)(p), Pu = () => (Pu = Ne.emscripten_stack_get_current)(), zee = n.dynCall_jiji = c("dynCall_jiji", 5), Jee = n.dynCall_iiiiij = c("dynCall_iiiiij", 7), $ee = n.dynCall_iiiiijj = c("dynCall_iiiiijj", 9), ete = n.dynCall_iiiiiijj = c("dynCall_iiiiiijj", 10), tte = n.dynCall_viijii = c("dynCall_viijii", 7), nte = n.dynCall_ji = c("dynCall_ji", 2), rte = n.dynCall_iiij = c("dynCall_iiij", 5), ite = n.dynCall_j = c("dynCall_j", 1), ate = n.dynCall_iji = c("dynCall_iji", 4), Ate = n.dynCall_jji = c("dynCall_jji", 4), ote = n.dynCall_iiji = c("dynCall_iiji", 5), ste = n.dynCall_viijj = c("dynCall_viijj", 7), cte = n.dynCall_jij = c("dynCall_jij", 4), dte = n.dynCall_iij = c("dynCall_iij", 4), pte = n.dynCall_viji = c("dynCall_viji", 5); - function bB(p, u, b, v, B) { - var y = vt(); + var Hl = { __assert_fail: hk, __syscall_fcntl64: Ik, __syscall_fstat64: Qk, __syscall_ftruncate64: Sk, __syscall_getdents64: Ok, __syscall_ioctl: Mk, __syscall_lstat64: jk, __syscall_newfstatat: Rk, __syscall_openat: Lk, __syscall_rmdir: Tk, __syscall_stat64: Kk, __syscall_unlinkat: Nk, _abort_js: Vk, _emscripten_get_now_is_monotonic: Xk, _emscripten_memcpy_js: Wk, _emscripten_throw_longjmp: Uk, _gmtime_js: qk, _localtime_js: eB, _mmap_js: tB, _munmap_js: nB, _tzset_js: rB, emscripten_date_now: iB, emscripten_err: aB, emscripten_get_now: AB, emscripten_resize_heap: cB, environ_get: uB, environ_sizes_get: lB, exit: bB, fd_close: gB, fd_read: FB, fd_seek: vB, fd_sync: PB, fd_write: kB, invoke_ii: JB, invoke_iii: YB, invoke_iiii: XB, invoke_iiiii: ZB, invoke_iiiiii: eD, invoke_iiiiiii: qB, invoke_v: $B, invoke_vi: WB, invoke_vii: UB, invoke_viii: zB, invoke_viiii: VB, invoke_viiiiiiiii: tD, random_get: BB }, Ne = wk(), Uj = c("__wasm_call_ctors", 0), qj = n._EPDFAction_CloseModel = c("EPDFAction_CloseModel", 1), Zj = n._EPDFAction_LoadModel = c("EPDFAction_LoadModel", 1), zj = n._EPDFAction_GetRootNode = c("EPDFAction_GetRootNode", 1), Jj = n._EPDFAction_GetNodeCount = c("EPDFAction_GetNodeCount", 1), $j = n._EPDFAction_GetNodeType = c("EPDFAction_GetNodeType", 2), e1 = n._EPDFAction_GetNodeSubtype = c("EPDFAction_GetNodeSubtype", 4), t1 = n._EPDFAction_NodeHasJavaScript = c("EPDFAction_NodeHasJavaScript", 2), n1 = n._EPDFAction_GetNodeJavaScript = c("EPDFAction_GetNodeJavaScript", 4), r1 = n._EPDFAction_GetNodeDest = c("EPDFAction_GetNodeDest", 3), i1 = n._EPDFAction_GetNodeURI = c("EPDFAction_GetNodeURI", 5), a1 = n._EPDFAction_GetNodeFilePath = c("EPDFAction_GetNodeFilePath", 4), A1 = n._EPDFAction_GetNodeName = c("EPDFAction_GetNodeName", 4), o1 = n._EPDFAction_GetNodeTargetCount = c("EPDFAction_GetNodeTargetCount", 2), s1 = n._EPDFAction_GetNodeTargetName = c("EPDFAction_GetNodeTargetName", 5), c1 = n._EPDFAction_GetNodeTargetObjectNumber = c("EPDFAction_GetNodeTargetObjectNumber", 4), d1 = n._EPDFAction_GetNodeHideFlag = c("EPDFAction_GetNodeHideFlag", 3), p1 = n._EPDFAction_GetNodeResetForm = c("EPDFAction_GetNodeResetForm", 4), u1 = n._EPDFAction_GetNodeSubmitForm = c("EPDFAction_GetNodeSubmitForm", 4), l1 = n._EPDFAction_GetNodeSubmitFormURL = c("EPDFAction_GetNodeSubmitFormURL", 4), m1 = n._EPDFAction_GetNodeSubmitFormCharSet = c("EPDFAction_GetNodeSubmitFormCharSet", 4), w1 = n._EPDFAction_GetNodeURIIsMap = c("EPDFAction_GetNodeURIIsMap", 3), b1 = n._EPDFAction_GetNextCount = c("EPDFAction_GetNextCount", 2), g1 = n._EPDFAction_GetNextAt = c("EPDFAction_GetNextAt", 3), f1 = n._EPDFAction_GetWarningFlags = c("EPDFAction_GetWarningFlags", 1), F1 = n._EPDFAction_IsComplete = c("EPDFAction_IsComplete", 1), v1 = n._EPDFDoc_GetOpenActionModel = c("EPDFDoc_GetOpenActionModel", 1), P1 = n._EPDFDoc_GetOpenActionDest = c("EPDFDoc_GetOpenActionDest", 1), h1 = n._EPDFDoc_GetAdditionalActionModel = c("EPDFDoc_GetAdditionalActionModel", 2), k1 = n._EPDFDoc_GetPageActionModel = c("EPDFDoc_GetPageActionModel", 3), B1 = n._EPDFAnnot_GetActionModel = c("EPDFAnnot_GetActionModel", 2), D1 = n._EPDFAction_CreateJavaScript = c("EPDFAction_CreateJavaScript", 2), y1 = n._EPDFAction_CreateHide = c("EPDFAction_CreateHide", 4), E1 = n._EPDFAction_CreateResetForm = c("EPDFAction_CreateResetForm", 4), G1 = n._EPDFAction_CreateSubmitForm = c("EPDFAction_CreateSubmitForm", 5), C1 = n._EPDFAction_SetNext = c("EPDFAction_SetNext", 4), x1 = n._EPDFAnnot_SetEventAction = c("EPDFAnnot_SetEventAction", 3), _1 = n._EPDFAnnot_SetNumberValue = c("EPDFAnnot_SetNumberValue", 3), H1 = n._EPDFAnnot_HasEmbedMetadata = c("EPDFAnnot_HasEmbedMetadata", 1), I1 = n._EPDFAnnot_ClearEmbedMetadata = c("EPDFAnnot_ClearEmbedMetadata", 1), Q1 = n._EPDFAnnot_ClearEmbedMetadataKey = c("EPDFAnnot_ClearEmbedMetadataKey", 2), S1 = n._EPDFAnnot_SetEmbedMetadataString = c("EPDFAnnot_SetEmbedMetadataString", 3), O1 = n._EPDFAnnot_GetEmbedMetadataString = c("EPDFAnnot_GetEmbedMetadataString", 4), M1 = n._EPDFAnnot_SetEmbedMetadataNumber = c("EPDFAnnot_SetEmbedMetadataNumber", 3), j1 = n._EPDFAnnot_GetEmbedMetadataNumber = c("EPDFAnnot_GetEmbedMetadataNumber", 3), R1 = n._EPDFAnnot_SetEmbedMetadataBoolean = c("EPDFAnnot_SetEmbedMetadataBoolean", 3), L1 = n._EPDFAnnot_GetEmbedMetadataBoolean = c("EPDFAnnot_GetEmbedMetadataBoolean", 3), T1 = n._EPDFAnnot_SetEmbedMetadataRect = c("EPDFAnnot_SetEmbedMetadataRect", 3), K1 = n._EPDFAnnot_GetEmbedMetadataRect = c("EPDFAnnot_GetEmbedMetadataRect", 3), N1 = n._EPDFAnnot_SetEmbedMetadataJSON = c("EPDFAnnot_SetEmbedMetadataJSON", 2), V1 = n._EPDFAnnot_GetEmbedMetadataJSON = c("EPDFAnnot_GetEmbedMetadataJSON", 3), Y1 = n._EPDFDocument_ClearEmbedMetadata = c("EPDFDocument_ClearEmbedMetadata", 1), X1 = n._EPDFAnnot_SetAction = c("EPDFAnnot_SetAction", 2), W1 = n._EPDFAnnot_RemoveAction = c("EPDFAnnot_RemoveAction", 1), U1 = n._EPDFAnnot_RemoveDest = c("EPDFAnnot_RemoveDest", 1), q1 = n._EPDFAnnot_RemoveKey = c("EPDFAnnot_RemoveKey", 2), Z1 = n._EPDFAnnot_GetFileAttachmentForWrite = c("EPDFAnnot_GetFileAttachmentForWrite", 1), z1 = n._EPDFAnnot_SetColor = c("EPDFAnnot_SetColor", 5), J1 = n._EPDFAnnot_GetColor = c("EPDFAnnot_GetColor", 5), $1 = n._EPDFAnnot_ClearColor = c("EPDFAnnot_ClearColor", 2), eR = n._EPDFAnnot_SetNoColor = c("EPDFAnnot_SetNoColor", 2), tR = n._EPDFAnnot_SetOpacity = c("EPDFAnnot_SetOpacity", 2), nR = n._EPDFAnnot_GetOpacity = c("EPDFAnnot_GetOpacity", 2), rR = n._EPDFAnnot_GetBorderEffect = c("EPDFAnnot_GetBorderEffect", 2), iR = n._EPDFAnnot_SetBorderEffect = c("EPDFAnnot_SetBorderEffect", 2), aR = n._EPDFAnnot_ClearBorderEffect = c("EPDFAnnot_ClearBorderEffect", 1), AR = n._EPDFAnnot_GetRectangleDifferences = c("EPDFAnnot_GetRectangleDifferences", 5), oR = n._EPDFAnnot_ClearRectangleDifferences = c("EPDFAnnot_ClearRectangleDifferences", 1), sR = n._EPDFAnnot_GetBorderDashPatternCount = c("EPDFAnnot_GetBorderDashPatternCount", 1), cR = n._EPDFAnnot_GetBorderDashPattern = c("EPDFAnnot_GetBorderDashPattern", 3), dR = n._EPDFAnnot_SetBorderDashPattern = c("EPDFAnnot_SetBorderDashPattern", 3), pR = n._EPDFAnnot_GetBorderStyle = c("EPDFAnnot_GetBorderStyle", 2), uR = n._EPDFAnnot_SetBorderStyle = c("EPDFAnnot_SetBorderStyle", 3), lR = n._EPDFAnnot_GenerateAppearance = c("EPDFAnnot_GenerateAppearance", 1), mR = n._EPDFAnnot_GenerateAppearanceWithBlend = c("EPDFAnnot_GenerateAppearanceWithBlend", 2), wR = n._EPDFAnnot_GetBlendMode = c("EPDFAnnot_GetBlendMode", 1), bR = n._EPDFAnnot_SetIntent = c("EPDFAnnot_SetIntent", 2), gR = n._EPDFAnnot_GetIntent = c("EPDFAnnot_GetIntent", 3), fR = n._EPDFAnnot_GetRichContent = c("EPDFAnnot_GetRichContent", 3), FR = n._EPDFAnnot_GetRichTextJSON = c("EPDFAnnot_GetRichTextJSON", 3), vR = n._EPDFAnnot_SetRichTextJSON = c("EPDFAnnot_SetRichTextJSON", 2), PR = n._EPDFAnnot_SetRichTextXHTML = c("EPDFAnnot_SetRichTextXHTML", 2), hR = n._EPDFDoc_SetTypographicFeatures = c("EPDFDoc_SetTypographicFeatures", 2), kR = n._EPDFDoc_GetTypographicFeatures = c("EPDFDoc_GetTypographicFeatures", 1), BR = n._EPDFAnnot_SetLineEndings = c("EPDFAnnot_SetLineEndings", 3), DR = n._EPDFAnnot_GetLineEndings = c("EPDFAnnot_GetLineEndings", 3), yR = n._EPDFAnnot_SetVertices = c("EPDFAnnot_SetVertices", 3), ER = n._EPDFAnnot_SetLine = c("EPDFAnnot_SetLine", 3), GR = n._EPDFAnnot_SetDefaultAppearance = c("EPDFAnnot_SetDefaultAppearance", 6), CR = n._EPDFAnnot_SetDefaultAppearanceRegisteredFont = c("EPDFAnnot_SetDefaultAppearanceRegisteredFont", 6), xR = n._EPDFAnnot_GetDefaultAppearance = c("EPDFAnnot_GetDefaultAppearance", 6), _R = n._EPDFAnnot_GetDefaultAppearanceFontFace = c("EPDFAnnot_GetDefaultAppearanceFontFace", 5), HR = n._EPDFAnnot_GetDefaultAppearanceFontPostScriptName = c("EPDFAnnot_GetDefaultAppearanceFontPostScriptName", 3), IR = n._EPDFAnnot_SetDefaultAppearanceDocumentFont = c("EPDFAnnot_SetDefaultAppearanceDocumentFont", 6), QR = n._EPDFAnnot_SetTextAlignment = c("EPDFAnnot_SetTextAlignment", 2), SR = n._EPDFAnnot_GetTextAlignment = c("EPDFAnnot_GetTextAlignment", 1), OR = n._EPDFPage_GetAnnotByName = c("EPDFPage_GetAnnotByName", 2), MR = n._EPDFPage_RemoveAnnotByName = c("EPDFPage_RemoveAnnotByName", 2), jR = n._EPDFAnnot_SetLinkedAnnot = c("EPDFAnnot_SetLinkedAnnot", 3), RR = n._EPDFPage_GetAnnotIndexByNameRaw = c("EPDFPage_GetAnnotIndexByNameRaw", 3), LR = n._EPDFPage_GetAnnotIndexByObjectNumberRaw = c("EPDFPage_GetAnnotIndexByObjectNumberRaw", 3), TR = n._EPDFPage_GetAnnotCountRaw = c("EPDFPage_GetAnnotCountRaw", 2), KR = n._EPDFPage_GetAnnotRaw = c("EPDFPage_GetAnnotRaw", 3), NR = n._EPDFPage_CreateAnnotRaw = c("EPDFPage_CreateAnnotRaw", 4), VR = n._EPDFPage_RemoveAnnotRaw = c("EPDFPage_RemoveAnnotRaw", 3), YR = n._EPDFPage_PromoteInlineAnnotsRaw = c("EPDFPage_PromoteInlineAnnotsRaw", 2), XR = n._EPDFAnnot_IsValid = c("EPDFAnnot_IsValid", 1), WR = n._EPDFAnnot_SetSubtype = c("EPDFAnnot_SetSubtype", 2), UR = n._EPDFAnnot_SetName = c("EPDFAnnot_SetName", 2), qR = n._EPDFAnnot_GetName = c("EPDFAnnot_GetName", 3), ZR = n._EPDFAnnot_UpdateAppearanceToRect = c("EPDFAnnot_UpdateAppearanceToRect", 2), zR = n._EPDFAnnot_SetStampOpacity = c("EPDFAnnot_SetStampOpacity", 3), JR = n._EPDFPage_CreateAnnot = c("EPDFPage_CreateAnnot", 2), $R = n._EPDFAnnot_SetRotate = c("EPDFAnnot_SetRotate", 2), e5 = n._EPDFAnnot_GetRotate = c("EPDFAnnot_GetRotate", 2), t5 = n._EPDFAnnot_GetAppearanceTransform = c("EPDFAnnot_GetAppearanceTransform", 3), n5 = n._EPDFAnnot_GetReplyType = c("EPDFAnnot_GetReplyType", 1), r5 = n._EPDFAnnot_SetReplyType = c("EPDFAnnot_SetReplyType", 2), i5 = n._EPDFAnnot_GetBooleanValue = c("EPDFAnnot_GetBooleanValue", 3), a5 = n._EPDFAnnot_SetBooleanValue = c("EPDFAnnot_SetBooleanValue", 3), A5 = n._EPDFAnnot_SetOverlayText = c("EPDFAnnot_SetOverlayText", 2), o5 = n._EPDFAnnot_GetOverlayText = c("EPDFAnnot_GetOverlayText", 3), s5 = n._EPDFAnnot_SetOverlayTextRepeat = c("EPDFAnnot_SetOverlayTextRepeat", 2), c5 = n._EPDFAnnot_GetOverlayTextRepeat = c("EPDFAnnot_GetOverlayTextRepeat", 1), d5 = n._EPDFAnnot_SetAppearanceFromPage = c("EPDFAnnot_SetAppearanceFromPage", 3), p5 = n._EPDFAnnot_ExportAppearance = c("EPDFAnnot_ExportAppearance", 3), u5 = n._EPDFDoc_CanonicalDrawing = c("EPDFDoc_CanonicalDrawing", 2), l5 = n._EPDFDoc_ImportDrawing = c("EPDFDoc_ImportDrawing", 2), m5 = n._EPDFDoc_ExportDrawing = c("EPDFDoc_ExportDrawing", 2), w5 = n._EPDFDoc_GetStampDrawings = c("EPDFDoc_GetStampDrawings", 3), b5 = n._EPDFAnnot_SetStampDrawing = c("EPDFAnnot_SetStampDrawing", 3), g5 = n._EPDFAnnot_GetStampDrawing = c("EPDFAnnot_GetStampDrawing", 1), f5 = n._EPDFAnnot_GetRect = c("EPDFAnnot_GetRect", 2), F5 = n._EPDFAnnot_SetRect = c("EPDFAnnot_SetRect", 2), v5 = n._EPDFAnnot_SetAPMatrix = c("EPDFAnnot_SetAPMatrix", 3), P5 = n._EPDFAnnot_GetAPMatrix = c("EPDFAnnot_GetAPMatrix", 3), h5 = n._EPDFAnnot_GetAvailableAppearanceModes = c("EPDFAnnot_GetAvailableAppearanceModes", 1), k5 = n._EPDFAnnot_GetAppearanceStateCount = c("EPDFAnnot_GetAppearanceStateCount", 2), B5 = n._EPDFAnnot_GetAppearanceStateName = c("EPDFAnnot_GetAppearanceStateName", 5), D5 = n._EPDFAnnot_GetAppearanceState = c("EPDFAnnot_GetAppearanceState", 3), y5 = n._EPDFAnnot_HasAppearanceStream = c("EPDFAnnot_HasAppearanceStream", 2), E5 = n._EPDFAnnot_GetDrawingRect = c("EPDFAnnot_GetDrawingRect", 3), G5 = n._EPDFAnnot_SetMKColor = c("EPDFAnnot_SetMKColor", 5), C5 = n._EPDFAnnot_GetMKColor = c("EPDFAnnot_GetMKColor", 5), x5 = n._EPDFAnnot_ClearMKColor = c("EPDFAnnot_ClearMKColor", 2), _5 = n._EPDFAnnot_SetMKText = c("EPDFAnnot_SetMKText", 3), H5 = n._EPDFAnnot_GetMKText = c("EPDFAnnot_GetMKText", 4), I5 = n._EPDFAnnot_SetMKTextPosition = c("EPDFAnnot_SetMKTextPosition", 2), Q5 = n._EPDFAnnot_GetMKTextPosition = c("EPDFAnnot_GetMKTextPosition", 1), S5 = n._EPDFAnnot_SetMKRotation = c("EPDFAnnot_SetMKRotation", 2), O5 = n._EPDFAnnot_GetMKRotation = c("EPDFAnnot_GetMKRotation", 1), M5 = n._EPDFAnnot_GenerateFormFieldAP = c("EPDFAnnot_GenerateFormFieldAP", 1), j5 = n._EPDFAnnot_GetCalloutLineCount = c("EPDFAnnot_GetCalloutLineCount", 1), R5 = n._EPDFAnnot_GetCalloutLine = c("EPDFAnnot_GetCalloutLine", 3), L5 = n._EPDFAnnot_SetCalloutLine = c("EPDFAnnot_SetCalloutLine", 3), T5 = n._EPDFAnnot_GetObjectNumber = c("EPDFAnnot_GetObjectNumber", 1), K5 = n._EPDFAnnot_GetStructurePosition = c("EPDFAnnot_GetStructurePosition", 3), N5 = n._EPDFPage_GetAnnotByObjectNumber = c("EPDFPage_GetAnnotByObjectNumber", 2), V5 = n._EPDFPage_RemoveAnnot = c("EPDFPage_RemoveAnnot", 2), Y5 = n._EPDFPage_RemoveAnnotByObjectNumber = c("EPDFPage_RemoveAnnotByObjectNumber", 2), X5 = n._EPDFPage_MoveAnnots = c("EPDFPage_MoveAnnots", 4), W5 = n._EPDFPage_MoveAnnotsRaw = c("EPDFPage_MoveAnnotsRaw", 5), U5 = n._EPDF_LoadBaseDocument = c("EPDF_LoadBaseDocument", 2), q5 = n._EPDF_LoadMemBaseDocument = c("EPDF_LoadMemBaseDocument", 3), Z5 = n._EPDF_LoadMemBaseDocument64 = c("EPDF_LoadMemBaseDocument64", 3), z5 = n._EPDF_ReleaseBaseDocument = c("EPDF_ReleaseBaseDocument", 1), J5 = n._EPDFPage_ExportAnnotsRawToOwnedBuffer = c("EPDFPage_ExportAnnotsRawToOwnedBuffer", 5), $5 = n._EPDFPage_ImportAnnotsRaw = c("EPDFPage_ImportAnnotsRaw", 4), eL = n._EPDFDoc_ExportDictRawToOwnedBuffer = c("EPDFDoc_ExportDictRawToOwnedBuffer", 4), tL = n._EPDFDoc_ExportDictCanonicalToOwnedBuffer = c("EPDFDoc_ExportDictCanonicalToOwnedBuffer", 5), nL = n._EPDFDoc_ImportDictRaw = c("EPDFDoc_ImportDictRaw", 3), rL = n._EPDFForm_ExportFieldRawToOwnedBuffer = c("EPDFForm_ExportFieldRawToOwnedBuffer", 3), iL = n._EPDFForm_ImportFieldRaw = c("EPDFForm_ImportFieldRaw", 3), aL = n._EPDFOutline_ExportItemRawToOwnedBuffer = c("EPDFOutline_ExportItemRawToOwnedBuffer", 3), AL = n._EPDFOutline_ImportItemRaw = c("EPDFOutline_ImportItemRaw", 3), oL = n._EPDFPage_ExportRawToOwnedBuffer = c("EPDFPage_ExportRawToOwnedBuffer", 3), sL = n._EPDFPage_ImportRaw = c("EPDFPage_ImportRaw", 3), cL = n._EPDFAttachment_ExportRawToOwnedBuffer = c("EPDFAttachment_ExportRawToOwnedBuffer", 3), dL = n._EPDFAttachment_ExportCanonicalToOwnedBuffer = c("EPDFAttachment_ExportCanonicalToOwnedBuffer", 3), pL = n._EPDFAttachment_ImportRaw = c("EPDFAttachment_ImportRaw", 3), uL = n._EPDFCatalog_GetMetadata = c("EPDFCatalog_GetMetadata", 3), lL = n._EPDFCatalog_SetMetadata = c("EPDFCatalog_SetMetadata", 3), mL = n._EPDFFont_RegisterFont = c("EPDFFont_RegisterFont", 4), wL = n._EPDFFont_RegisterMemFont = c("EPDFFont_RegisterMemFont", 5), bL = n._EPDFFont_RegisterMemFont64 = c("EPDFFont_RegisterMemFont64", 5), gL = n._EPDFFont_ClearRegisteredFonts = c("EPDFFont_ClearRegisteredFonts", 0), fL = n._EPDFFont_GetEmbeddingPermission = c("EPDFFont_GetEmbeddingPermission", 1), FL = n._EPDFFont_IsEditingAuthorized = c("EPDFFont_IsEditingAuthorized", 1), vL = n._EPDFFont_AuthorizeEditing = c("EPDFFont_AuthorizeEditing", 1), PL = n._EPDFFont_IsInstanced = c("EPDFFont_IsInstanced", 1), hL = n._EPDFFont_GetFamilyName = c("EPDFFont_GetFamilyName", 3), kL = n._EPDFFont_GetWeight = c("EPDFFont_GetWeight", 1), BL = n._EPDFFont_IsItalic = c("EPDFFont_IsItalic", 1), DL = n._EPDFDoc_SetFontEmbeddingPolicy = c("EPDFDoc_SetFontEmbeddingPolicy", 2), yL = n._EPDFDoc_GetFontEmbeddingPolicy = c("EPDFDoc_GetFontEmbeddingPolicy", 1), EL = n._EPDFFont_AddFallbackFont = c("EPDFFont_AddFallbackFont", 2), GL = n._EPDFFont_ClearFallbackFonts = c("EPDFFont_ClearFallbackFonts", 0), CL = n._EPDFFont_SetLastResortFont = c("EPDFFont_SetLastResortFont", 1), xL = n._EPDFFont_GetLastResortFont = c("EPDFFont_GetLastResortFont", 0), _L = n._EPDFFont_GetFallbackOrder = c("EPDFFont_GetFallbackOrder", 4), HL = n._EPDFFont_GetProgramData = c("EPDFFont_GetProgramData", 3), IL = n._EPDFFont_GetProgramFormat = c("EPDFFont_GetProgramFormat", 1), QL = n._EPDFFont_GetProgramHash = c("EPDFFont_GetProgramHash", 2), SL = n._EPDFFont_GetCoverage = c("EPDFFont_GetCoverage", 3), OL = n._EPDFFont_GetMetrics = c("EPDFFont_GetMetrics", 3), ML = n._EPDFFont_GetPostScriptName = c("EPDFFont_GetPostScriptName", 3), jL = n._EPDFFontFaces_Load = c("EPDFFontFaces_Load", 1), RL = n._EPDFFontFaces_Close = c("EPDFFontFaces_Close", 1), LL = n._EPDFDoc_GetFontsFingerprint = c("EPDFDoc_GetFontsFingerprint", 2), TL = n._EPDFFontFaces_Count = c("EPDFFontFaces_Count", 1), KL = n._EPDFFontFaces_GetFamily = c("EPDFFontFaces_GetFamily", 4), NL = n._EPDFFontFaces_GetWeight = c("EPDFFontFaces_GetWeight", 2), VL = n._EPDFFontFaces_IsItalic = c("EPDFFontFaces_IsItalic", 2), YL = n._EPDFFontFaces_CountPrograms = c("EPDFFontFaces_CountPrograms", 2), XL = n._EPDFFontFaces_GetProgramObjNum = c("EPDFFontFaces_GetProgramObjNum", 3), WL = n._EPDFFontFaces_GetProgramFormat = c("EPDFFontFaces_GetProgramFormat", 3), UL = n._EPDFFontFaces_GetProgramEmbedded = c("EPDFFontFaces_GetProgramEmbedded", 3), qL = n._EPDFFontFaces_GetProgramPostScriptName = c("EPDFFontFaces_GetProgramPostScriptName", 5), ZL = n._EPDFFontFaces_GetProgramEmbeddingPermission = c("EPDFFontFaces_GetProgramEmbeddingPermission", 3), zL = n._EPDFFontFaces_ProgramMapsUnicode = c("EPDFFontFaces_ProgramMapsUnicode", 3), JL = n._EPDFFontFaces_GetProgramHash = c("EPDFFontFaces_GetProgramHash", 4), $L = n._EPDFFontFaces_GetProgramDisplayHash = c("EPDFFontFaces_GetProgramDisplayHash", 4), eT = n._EPDFFontFaces_GetProgramMetrics = c("EPDFFontFaces_GetProgramMetrics", 5), tT = n._EPDFDoc_GetFontProgramData = c("EPDFDoc_GetFontProgramData", 4), nT = n._EPDFDoc_GetFontDisplayProgramData = c("EPDFDoc_GetFontDisplayProgramData", 4), rT = n._EPDFDoc_GetFontDisplayProgramCoverage = c("EPDFDoc_GetFontDisplayProgramCoverage", 4), iT = n._EPDFDoc_ResolveFonts = c("EPDFDoc_ResolveFonts", 8), aT = n._EPDFFontResolution_Close = c("EPDFFontResolution_Close", 1), AT = n._EPDFFontResolution_GetSource = c("EPDFFontResolution_GetSource", 2), oT = n._EPDFFontResolution_GetRegisteredFont = c("EPDFFontResolution_GetRegisteredFont", 2), sT = n._EPDFFontResolution_GetProgramObjNum = c("EPDFFontResolution_GetProgramObjNum", 2), cT = n._EPDFFontResolution_GetProgramDisplayHash = c("EPDFFontResolution_GetProgramDisplayHash", 3), dT = n._EPDFFontResolution_GetBaseFontName = c("EPDFFontResolution_GetBaseFontName", 4), pT = n._EPDFFontResolution_GetFamily = c("EPDFFontResolution_GetFamily", 4), uT = n._EPDFFontResolution_GetWeight = c("EPDFFontResolution_GetWeight", 2), lT = n._EPDFFontResolution_IsItalic = c("EPDFFontResolution_IsItalic", 2), mT = n._EPDFFontResolution_IsDegraded = c("EPDFFontResolution_IsDegraded", 2), wT = n._EPDFFontResolution_GetFallbacks = c("EPDFFontResolution_GetFallbacks", 4), bT = n._EPDFFontResolution_CountMissingCharacters = c("EPDFFontResolution_CountMissingCharacters", 1), gT = n._EPDFFontResolution_GetMissingCharacter = c("EPDFFontResolution_GetMissingCharacter", 4), fT = n._EPDFDoc_ClearMissingCharacters = c("EPDFDoc_ClearMissingCharacters", 1), FT = n._EPDFDoc_CountMissingCharacters = c("EPDFDoc_CountMissingCharacters", 1), vT = n._EPDFDoc_GetMissingCharacter = c("EPDFDoc_GetMissingCharacter", 4), PT = n._EPDFForm_LoadModel = c("EPDFForm_LoadModel", 1), hT = n._EPDFForm_CloseModel = c("EPDFForm_CloseModel", 1), kT = n._EPDFForm_GetFormKind = c("EPDFForm_GetFormKind", 1), BT = n._EPDFForm_GetNeedAppearances = c("EPDFForm_GetNeedAppearances", 1), DT = n._EPDFForm_CountFields = c("EPDFForm_CountFields", 1), yT = n._EPDFForm_GetFieldActionModel = c("EPDFForm_GetFieldActionModel", 3), ET = n._EPDFForm_CountCalculationOrder = c("EPDFForm_CountCalculationOrder", 1), GT = n._EPDFForm_GetCalculationOrderFieldIndex = c("EPDFForm_GetCalculationOrderFieldIndex", 2), CT = n._EPDFForm_GetFieldObjNum = c("EPDFForm_GetFieldObjNum", 2), xT = n._EPDFForm_GetFieldFamily = c("EPDFForm_GetFieldFamily", 2), _T = n._EPDFForm_GetFieldFlags = c("EPDFForm_GetFieldFlags", 2), HT = n._EPDFForm_GetFieldOrigin = c("EPDFForm_GetFieldOrigin", 2), IT = n._EPDFForm_GetFieldName = c("EPDFForm_GetFieldName", 4), QT = n._EPDFForm_GetFieldAlternateName = c("EPDFForm_GetFieldAlternateName", 4), ST = n._EPDFForm_GetFieldMappingName = c("EPDFForm_GetFieldMappingName", 4), OT = n._EPDFForm_HasFieldEmbedMetadata = c("EPDFForm_HasFieldEmbedMetadata", 2), MT = n._EPDFForm_GetFieldEmbedMetadataString = c("EPDFForm_GetFieldEmbedMetadataString", 5), jT = n._EPDFForm_GetFieldEmbedMetadataNumber = c("EPDFForm_GetFieldEmbedMetadataNumber", 4), RT = n._EPDFForm_GetFieldEmbedMetadataBoolean = c("EPDFForm_GetFieldEmbedMetadataBoolean", 4), LT = n._EPDFForm_GetFieldEmbedMetadataJSON = c("EPDFForm_GetFieldEmbedMetadataJSON", 4), TT = n._EPDFForm_GetFieldValueKind = c("EPDFForm_GetFieldValueKind", 2), KT = n._EPDFForm_CountFieldValues = c("EPDFForm_CountFieldValues", 2), NT = n._EPDFForm_GetFieldValueAt = c("EPDFForm_GetFieldValueAt", 5), VT = n._EPDFForm_GetFieldDefaultValueKind = c("EPDFForm_GetFieldDefaultValueKind", 2), YT = n._EPDFForm_CountFieldDefaultValues = c("EPDFForm_CountFieldDefaultValues", 2), XT = n._EPDFForm_GetFieldDefaultValueAt = c("EPDFForm_GetFieldDefaultValueAt", 5), WT = n._EPDFForm_GetFieldMaxLen = c("EPDFForm_GetFieldMaxLen", 2), UT = n._EPDFForm_GetFieldTopIndex = c("EPDFForm_GetFieldTopIndex", 2), qT = n._EPDFForm_CountFieldOptions = c("EPDFForm_CountFieldOptions", 2), ZT = n._EPDFForm_GetFieldOptionLabel = c("EPDFForm_GetFieldOptionLabel", 5), zT = n._EPDFForm_GetFieldOptionValue = c("EPDFForm_GetFieldOptionValue", 5), JT = n._EPDFForm_IsFieldOptionSelected = c("EPDFForm_IsFieldOptionSelected", 3), $T = n._EPDFForm_CountFieldWidgets = c("EPDFForm_CountFieldWidgets", 2), eK = n._EPDFForm_GetFieldWidgetObjNum = c("EPDFForm_GetFieldWidgetObjNum", 3), tK = n._EPDFForm_GetFieldWidgetPageObjNum = c("EPDFForm_GetFieldWidgetPageObjNum", 3), nK = n._EPDFForm_GetFieldWidgetRect = c("EPDFForm_GetFieldWidgetRect", 4), rK = n._EPDFForm_GetFieldWidgetOnState = c("EPDFForm_GetFieldWidgetOnState", 5), iK = n._EPDFForm_GetFieldWidgetExportValue = c("EPDFForm_GetFieldWidgetExportValue", 5), aK = n._EPDFForm_IsFieldWidgetChecked = c("EPDFForm_IsFieldWidgetChecked", 3), AK = n._EPDFForm_GetFieldIndexByObjNum = c("EPDFForm_GetFieldIndexByObjNum", 2), oK = n._EPDFForm_GetFieldIndexForWidget = c("EPDFForm_GetFieldIndexForWidget", 2), sK = n._EPDFForm_SetFieldValue = c("EPDFForm_SetFieldValue", 5), cK = n._EPDFForm_SetFieldDefaultValue = c("EPDFForm_SetFieldDefaultValue", 5), dK = n._EPDFForm_SetFieldSelectedIndices = c("EPDFForm_SetFieldSelectedIndices", 4), pK = n._EPDFForm_SetFieldWidgetsChecked = c("EPDFForm_SetFieldWidgetsChecked", 7), uK = n._EPDFForm_RedrawFieldWidgets = c("EPDFForm_RedrawFieldWidgets", 5), lK = n._EPDFForm_SetFieldDisplay = c("EPDFForm_SetFieldDisplay", 6), mK = n._EPDFForm_SetFieldAppearanceText = c("EPDFForm_SetFieldAppearanceText", 6), wK = n._EPDFForm_ExportFDF = c("EPDFForm_ExportFDF", 5), bK = n._EPDFForm_ExportXFDF = c("EPDFForm_ExportXFDF", 5), gK = n._EPDFForm_Repair = c("EPDFForm_Repair", 3), fK = n._EPDFForm_CreateField = c("EPDFForm_CreateField", 4), FK = n._EPDFForm_AttachWidget = c("EPDFForm_AttachWidget", 5), vK = n._EPDFForm_DetachWidget = c("EPDFForm_DetachWidget", 3), PK = n._EPDFForm_DeleteField = c("EPDFForm_DeleteField", 5), hK = n._EPDFForm_SetFieldName = c("EPDFForm_SetFieldName", 3), kK = n._EPDFForm_GetFieldPartialName = c("EPDFForm_GetFieldPartialName", 4), BK = n._EPDFForm_SetFieldFlags = c("EPDFForm_SetFieldFlags", 4), DK = n._EPDFForm_SetFieldEventAction = c("EPDFForm_SetFieldEventAction", 4), yK = n._EPDFForm_SetCalculationOrder = c("EPDFForm_SetCalculationOrder", 3), EK = n._EPDFForm_SetFieldMaxLen = c("EPDFForm_SetFieldMaxLen", 3), GK = n._EPDFForm_SetFieldAlternateName = c("EPDFForm_SetFieldAlternateName", 3), CK = n._EPDFForm_SetFieldMappingName = c("EPDFForm_SetFieldMappingName", 3), xK = n._EPDFForm_SetFieldEmbedMetadataString = c("EPDFForm_SetFieldEmbedMetadataString", 4), _K = n._EPDFForm_SetFieldEmbedMetadataNumber = c("EPDFForm_SetFieldEmbedMetadataNumber", 4), HK = n._EPDFForm_SetFieldEmbedMetadataBoolean = c("EPDFForm_SetFieldEmbedMetadataBoolean", 4), IK = n._EPDFForm_SetFieldEmbedMetadataJSON = c("EPDFForm_SetFieldEmbedMetadataJSON", 3), QK = n._EPDFForm_ClearFieldEmbedMetadataKey = c("EPDFForm_ClearFieldEmbedMetadataKey", 3), SK = n._EPDFForm_ClearFieldEmbedMetadata = c("EPDFForm_ClearFieldEmbedMetadata", 2), OK = n._EPDFForm_SetFieldOptions = c("EPDFForm_SetFieldOptions", 5), MK = n._EPDFPage_Flatten = c("EPDFPage_Flatten", 2), jK = n._EPDFPage_FlattenAnnotations = c("EPDFPage_FlattenAnnotations", 5), RK = n._EPDFPage_ExportAnnotationsAsDocument = c("EPDFPage_ExportAnnotationsAsDocument", 3), LK = n._EPDFDoc_ExportPagesFlattened = c("EPDFDoc_ExportPagesFlattened", 5), TK = n._EPDFLayer_OpenLayer = c("EPDFLayer_OpenLayer", 4), KK = n._EPDFLayer_OpenLayerArtifact = c("EPDFLayer_OpenLayerArtifact", 4), NK = n._EPDFLayer_OpenLayerArtifactFromPath = c("EPDFLayer_OpenLayerArtifactFromPath", 4), VK = n._EPDFLayer_IsObjectPromoted = c("EPDFLayer_IsObjectPromoted", 2), YK = n._EPDFPage_IsValid = c("EPDFPage_IsValid", 1), XK = n._EPDFLayer_IsPagePromoted = c("EPDFLayer_IsPagePromoted", 2), WK = n._EPDFLayer_GetBirthObjectNumber = c("EPDFLayer_GetBirthObjectNumber", 3), UK = n._EPDFLayer_GetBirthName = c("EPDFLayer_GetBirthName", 4), qK = n._EPDFLayer_BeginTransaction = c("EPDFLayer_BeginTransaction", 1), ZK = n._EPDFLayer_CommitTransaction = c("EPDFLayer_CommitTransaction", 1), zK = n._EPDFLayer_AbortTransaction = c("EPDFLayer_AbortTransaction", 1), JK = n._EPDFLayer_IsInTransaction = c("EPDFLayer_IsInTransaction", 1), $K = n._EPDFLayer_GetLastObjectNumber = c("EPDFLayer_GetLastObjectNumber", 1), eN = n._EPDFLayer_RaiseLastObjectNumber = c("EPDFLayer_RaiseLastObjectNumber", 2), tN = n._EPDFLayer_GetPromotedObjectCount = c("EPDFLayer_GetPromotedObjectCount", 1), nN = n._EPDFLayer_GetBaseDocument = c("EPDFLayer_GetBaseDocument", 1), rN = n._EPDF_SetBaseDocumentSha256 = c("EPDF_SetBaseDocumentSha256", 2), iN = n._EPDFLayer_GetBaseSha256 = c("EPDFLayer_GetBaseSha256", 2), aN = n._EPDFLayer_SaveDelta = c("EPDFLayer_SaveDelta", 3), AN = n._EPDFLayer_SaveDeltaEx = c("EPDFLayer_SaveDeltaEx", 4), oN = n._EPDFLayer_SaveDeltaToOwnedBuffer = c("EPDFLayer_SaveDeltaToOwnedBuffer", 3), sN = n._EPDFLayer_SaveDeltaToOwnedBufferEx = c("EPDFLayer_SaveDeltaToOwnedBufferEx", 4), cN = n._EPDFLayer_SaveLayerArtifact = c("EPDFLayer_SaveLayerArtifact", 3), dN = n._EPDFLayer_SaveLayerArtifactEx = c("EPDFLayer_SaveLayerArtifactEx", 4), pN = n._EPDFLayer_SaveLayerArtifactToOwnedBuffer = c("EPDFLayer_SaveLayerArtifactToOwnedBuffer", 3), uN = n._EPDFLayer_SaveLayerArtifactToOwnedBufferEx = c("EPDFLayer_SaveLayerArtifactToOwnedBufferEx", 4), lN = n._EPDFNamedDest_SetDest = c("EPDFNamedDest_SetDest", 3), mN = n._EPDFNamedDest_Remove = c("EPDFNamedDest_Remove", 2), wN = n._EPDFDest_CreateView = c("EPDFDest_CreateView", 4), bN = n._EPDFDest_CreateXYZ = c("EPDFDest_CreateXYZ", 7), gN = n._EPDFDest_CreateRemoteView = c("EPDFDest_CreateRemoteView", 5), fN = n._EPDFDest_CreateRemoteXYZ = c("EPDFDest_CreateRemoteXYZ", 8), FN = n._EPDFDest_CreateXYZByObjectNumber = c("EPDFDest_CreateXYZByObjectNumber", 8), vN = n._EPDFDest_CreateViewByObjectNumber = c("EPDFDest_CreateViewByObjectNumber", 5), PN = n._EPDFDest_GetViewNullParams = c("EPDFDest_GetViewNullParams", 1), hN = n._EPDFAction_CreateGoTo = c("EPDFAction_CreateGoTo", 2), kN = n._EPDFAction_CreateGoToNamed = c("EPDFAction_CreateGoToNamed", 2), BN = n._EPDFAction_CreateLaunch = c("EPDFAction_CreateLaunch", 2), DN = n._EPDFAction_CreateRemoteGoToByName = c("EPDFAction_CreateRemoteGoToByName", 3), yN = n._EPDFAction_CreateRemoteGoToDest = c("EPDFAction_CreateRemoteGoToDest", 3), EN = n._EPDFAction_CreateURI = c("EPDFAction_CreateURI", 2), GN = n._EPDFAction_CreateNamed = c("EPDFAction_CreateNamed", 2), CN = n._EPDFOutline_GetObjectNumber = c("EPDFOutline_GetObjectNumber", 1), xN = n._EPDFOutline_GetItem = c("EPDFOutline_GetItem", 2), _N = n._EPDFOutline_CreateItem = c("EPDFOutline_CreateItem", 5), HN = n._EPDFOutline_MoveItem = c("EPDFOutline_MoveItem", 4), IN = n._EPDFOutline_DeleteItem = c("EPDFOutline_DeleteItem", 2), QN = n._EPDFOutline_SetTitle = c("EPDFOutline_SetTitle", 3), SN = n._EPDFOutline_SetOpen = c("EPDFOutline_SetOpen", 3), ON = n._EPDFOutline_SetColor = c("EPDFOutline_SetColor", 6), MN = n._EPDFOutline_SetStyle = c("EPDFOutline_SetStyle", 3), jN = n._EPDFOutline_SetAction = c("EPDFOutline_SetAction", 3), RN = n._EPDFDoc_GetNamedPageCount = c("EPDFDoc_GetNamedPageCount", 2), LN = n._EPDFDoc_GetNamedPageAt = c("EPDFDoc_GetNamedPageAt", 7), TN = n._EPDFDoc_SetNamedPage = c("EPDFDoc_SetNamedPage", 3), KN = n._EPDFDoc_RemoveNamedPage = c("EPDFDoc_RemoveNamedPage", 2), NN = n._EPDFDoc_RemoveNamedPagesForPage = c("EPDFDoc_RemoveNamedPagesForPage", 2), VN = n._EPDFDoc_GetPageLabelSectionCount = c("EPDFDoc_GetPageLabelSectionCount", 1), YN = n._EPDFDoc_GetPageLabelSectionAt = c("EPDFDoc_GetPageLabelSectionAt", 7), XN = n._EPDFDoc_SetPageLabelSections = c("EPDFDoc_SetPageLabelSections", 6), WN = n._EPDF_DigestBuffer = c("EPDF_DigestBuffer", 5), UN = n._EPDFDoc_GetRevisionCount = c("EPDFDoc_GetRevisionCount", 1), qN = n._EPDFDoc_GetRevision = c("EPDFDoc_GetRevision", 4), ZN = n._EPDFDoc_OpenRevision = c("EPDFDoc_OpenRevision", 3), zN = n._EPDFDoc_OpenBaseOverlayFromPath = c("EPDFDoc_OpenBaseOverlayFromPath", 2), JN = n._EPDFDoc_OpenBaseOverlay = c("EPDFDoc_OpenBaseOverlay", 3), $N = n._EPDFSig_LoadModel = c("EPDFSig_LoadModel", 1), eV = n._EPDFSig_CloseModel = c("EPDFSig_CloseModel", 1), tV = n._EPDFSig_Count = c("EPDFSig_Count", 1), nV = n._EPDFSig_IsRevisionChainValid = c("EPDFSig_IsRevisionChainValid", 1), rV = n._EPDFSig_GetIndexByFieldObjNum = c("EPDFSig_GetIndexByFieldObjNum", 2), iV = n._EPDFSig_GetFieldObjNum = c("EPDFSig_GetFieldObjNum", 2), aV = n._EPDFSig_GetWidgetObjNum = c("EPDFSig_GetWidgetObjNum", 2), AV = n._EPDFSig_GetWidgetPageObjNum = c("EPDFSig_GetWidgetPageObjNum", 2), oV = n._EPDFSig_GetValueObjNum = c("EPDFSig_GetValueObjNum", 2), sV = n._EPDFSig_GetFieldName = c("EPDFSig_GetFieldName", 4), cV = n._EPDFSig_IsSigned = c("EPDFSig_IsSigned", 2), dV = n._EPDFSig_GetKind = c("EPDFSig_GetKind", 2), pV = n._EPDFSig_GetByteRange = c("EPDFSig_GetByteRange", 3), uV = n._EPDFSig_GetCoverage = c("EPDFSig_GetCoverage", 2), lV = n._EPDFSig_GetRevisionIndex = c("EPDFSig_GetRevisionIndex", 2), mV = n._EPDFSig_GetContents = c("EPDFSig_GetContents", 4), wV = n._EPDFSig_GetString = c("EPDFSig_GetString", 5), bV = n._EPDFSig_GetDocMDPPermission = c("EPDFSig_GetDocMDPPermission", 2), gV = n._EPDFSig_IsCatalogCertification = c("EPDFSig_IsCatalogCertification", 2), fV = n._EPDFSig_GetFieldMDPAction = c("EPDFSig_GetFieldMDPAction", 2), FV = n._EPDFSig_GetLockAction = c("EPDFSig_GetLockAction", 2), vV = n._EPDFSig_GetLockPermission = c("EPDFSig_GetLockPermission", 2), PV = n._EPDFSig_GetFieldNameCount = c("EPDFSig_GetFieldNameCount", 3), hV = n._EPDFSig_GetFieldNameAt = c("EPDFSig_GetFieldNameAt", 6), kV = n._EPDFSig_HasSeedValue = c("EPDFSig_HasSeedValue", 2), BV = n._EPDFSig_GetSeedValueRequiredFlags = c("EPDFSig_GetSeedValueRequiredFlags", 2), DV = n._EPDFSig_GetSeedValuePresentFlags = c("EPDFSig_GetSeedValuePresentFlags", 2), yV = n._EPDFSig_GetSeedValueMDP = c("EPDFSig_GetSeedValueMDP", 2), EV = n._EPDFSig_GetSeedValueVersion = c("EPDFSig_GetSeedValueVersion", 2), GV = n._EPDFSig_GetSeedValueFilter = c("EPDFSig_GetSeedValueFilter", 4), CV = n._EPDFSig_GetSeedValueListCount = c("EPDFSig_GetSeedValueListCount", 3), xV = n._EPDFSig_GetSeedValueListAt = c("EPDFSig_GetSeedValueListAt", 6), _V = n._EPDFSig_DigestByteRange = c("EPDFSig_DigestByteRange", 5), HV = n._EPDFSig_DigestFileRange = c("EPDFSig_DigestFileRange", 5), IV = n._EPDFDoc_GetLoadedBytesSize = c("EPDFDoc_GetLoadedBytesSize", 1), QV = n._EPDFDoc_GetBaseBytesSize = c("EPDFDoc_GetBaseBytesSize", 1), SV = n._EPDFDoc_GetStructureObjectNumbers = c("EPDFDoc_GetStructureObjectNumbers", 4), OV = n._EPDFDoc_ReadLoadedBytes = c("EPDFDoc_ReadLoadedBytes", 5), MV = n._EPDFSig_Prepare = c("EPDFSig_Prepare", 3), jV = n._EPDFSig_SetFieldLock = c("EPDFSig_SetFieldLock", 6), RV = n._EPDFSig_SaveCandidateToOwnedBuffer = c("EPDFSig_SaveCandidateToOwnedBuffer", 5), LV = n._EPDFSig_SaveCandidate = c("EPDFSig_SaveCandidate", 6), TV = n._EPDFSig_Seal = c("EPDFSig_Seal", 13), KV = n._EPDFSig_SealSpan = c("EPDFSig_SealSpan", 10), NV = n._EPDFSig_WriteContents = c("EPDFSig_WriteContents", 9), VV = n._EPDFDoc_CompareRevisions = c("EPDFDoc_CompareRevisions", 2), YV = n._EPDFObjectDiff_Close = c("EPDFObjectDiff_Close", 1), XV = n._EPDFObjectDiff_GetCount = c("EPDFObjectDiff_GetCount", 1), WV = n._EPDFObjectDiff_GetEntry = c("EPDFObjectDiff_GetEntry", 8), UV = n._EPDFObjectDiff_GetValue = c("EPDFObjectDiff_GetValue", 6), qV = n._EPDFObjectDiff_GetReadStatus = c("EPDFObjectDiff_GetReadStatus", 3), ZV = n._EPDFObjectDiff_GetRevisionHealth = c("EPDFObjectDiff_GetRevisionHealth", 5), zV = n._EPDFObjectDiff_GetReferrerCount = c("EPDFObjectDiff_GetReferrerCount", 3), JV = n._EPDFObjectDiff_GetReferrer = c("EPDFObjectDiff_GetReferrer", 7), $V = n._EPDFDoc_HasPieceInfoEntry = c("EPDFDoc_HasPieceInfoEntry", 2), eY = n._EPDFDoc_GetPieceInfoEntryCount = c("EPDFDoc_GetPieceInfoEntryCount", 1), tY = n._EPDFDoc_GetPieceInfoEntryAt = c("EPDFDoc_GetPieceInfoEntryAt", 4), nY = n._EPDFDoc_GetLastModified = c("EPDFDoc_GetLastModified", 3), rY = n._EPDFDoc_GetPieceInfoLastModified = c("EPDFDoc_GetPieceInfoLastModified", 4), iY = n._EPDFDoc_GetPieceInfoKeyCount = c("EPDFDoc_GetPieceInfoKeyCount", 2), aY = n._EPDFDoc_GetPieceInfoKeyAt = c("EPDFDoc_GetPieceInfoKeyAt", 5), AY = n._EPDFDoc_GetPieceInfoValueType = c("EPDFDoc_GetPieceInfoValueType", 3), oY = n._EPDFDoc_SetPieceInfoString = c("EPDFDoc_SetPieceInfoString", 5), sY = n._EPDFDoc_GetPieceInfoString = c("EPDFDoc_GetPieceInfoString", 5), cY = n._EPDFDoc_SetPieceInfoNumber = c("EPDFDoc_SetPieceInfoNumber", 5), dY = n._EPDFDoc_GetPieceInfoNumber = c("EPDFDoc_GetPieceInfoNumber", 4), pY = n._EPDFDoc_SetPieceInfoBoolean = c("EPDFDoc_SetPieceInfoBoolean", 5), uY = n._EPDFDoc_GetPieceInfoBoolean = c("EPDFDoc_GetPieceInfoBoolean", 4), lY = n._EPDFDoc_SetPieceInfoName = c("EPDFDoc_SetPieceInfoName", 5), mY = n._EPDFDoc_GetPieceInfoName = c("EPDFDoc_GetPieceInfoName", 5), wY = n._EPDFDoc_SetPieceInfoStringArray = c("EPDFDoc_SetPieceInfoStringArray", 6), bY = n._EPDFDoc_GetPieceInfoStringArrayCount = c("EPDFDoc_GetPieceInfoStringArrayCount", 3), gY = n._EPDFDoc_GetPieceInfoStringArrayAt = c("EPDFDoc_GetPieceInfoStringArrayAt", 6), fY = n._EPDFDoc_ClearPieceInfoKey = c("EPDFDoc_ClearPieceInfoKey", 4), FY = n._EPDFDoc_ClearPieceInfoEntry = c("EPDFDoc_ClearPieceInfoEntry", 2), vY = n._EPDFDoc_HasPagePieceInfoEntry = c("EPDFDoc_HasPagePieceInfoEntry", 3), PY = n._EPDFDoc_GetPagePieceInfoEntryCount = c("EPDFDoc_GetPagePieceInfoEntryCount", 2), hY = n._EPDFDoc_GetPagePieceInfoEntryAt = c("EPDFDoc_GetPagePieceInfoEntryAt", 5), kY = n._EPDFDoc_GetPageLastModified = c("EPDFDoc_GetPageLastModified", 4), BY = n._EPDFDoc_GetPagePieceInfoLastModified = c("EPDFDoc_GetPagePieceInfoLastModified", 5), DY = n._EPDFDoc_GetPagePieceInfoKeyCount = c("EPDFDoc_GetPagePieceInfoKeyCount", 3), yY = n._EPDFDoc_GetPagePieceInfoKeyAt = c("EPDFDoc_GetPagePieceInfoKeyAt", 6), EY = n._EPDFDoc_GetPagePieceInfoValueType = c("EPDFDoc_GetPagePieceInfoValueType", 4), GY = n._EPDFDoc_SetPagePieceInfoString = c("EPDFDoc_SetPagePieceInfoString", 6), CY = n._EPDFDoc_GetPagePieceInfoString = c("EPDFDoc_GetPagePieceInfoString", 6), xY = n._EPDFDoc_SetPagePieceInfoNumber = c("EPDFDoc_SetPagePieceInfoNumber", 6), _Y = n._EPDFDoc_GetPagePieceInfoNumber = c("EPDFDoc_GetPagePieceInfoNumber", 5), HY = n._EPDFDoc_SetPagePieceInfoBoolean = c("EPDFDoc_SetPagePieceInfoBoolean", 6), IY = n._EPDFDoc_GetPagePieceInfoBoolean = c("EPDFDoc_GetPagePieceInfoBoolean", 5), QY = n._EPDFDoc_SetPagePieceInfoName = c("EPDFDoc_SetPagePieceInfoName", 6), SY = n._EPDFDoc_GetPagePieceInfoName = c("EPDFDoc_GetPagePieceInfoName", 6), OY = n._EPDFDoc_SetPagePieceInfoStringArray = c("EPDFDoc_SetPagePieceInfoStringArray", 7), MY = n._EPDFDoc_GetPagePieceInfoStringArrayCount = c("EPDFDoc_GetPagePieceInfoStringArrayCount", 4), jY = n._EPDFDoc_GetPagePieceInfoStringArrayAt = c("EPDFDoc_GetPagePieceInfoStringArrayAt", 7), RY = n._EPDFDoc_ClearPagePieceInfoKey = c("EPDFDoc_ClearPagePieceInfoKey", 5), LY = n._EPDFDoc_ClearPagePieceInfoEntry = c("EPDFDoc_ClearPagePieceInfoEntry", 3), TY = n._EPDFAnnot_GetMeasure = c("EPDFAnnot_GetMeasure", 1), KY = n._EPDFAnnot_AddMeasure = c("EPDFAnnot_AddMeasure", 1), NY = n._EPDFAnnot_RemoveMeasure = c("EPDFAnnot_RemoveMeasure", 1), VY = n._EPDFPage_CountViewports = c("EPDFPage_CountViewports", 1), YY = n._EPDFPage_GetViewport = c("EPDFPage_GetViewport", 2), XY = n._EPDFPage_AddViewport = c("EPDFPage_AddViewport", 2), WY = n._EPDFPage_RemoveViewport = c("EPDFPage_RemoveViewport", 2), UY = n._EPDFPage_CountViewportsRaw = c("EPDFPage_CountViewportsRaw", 2), qY = n._EPDFPage_GetViewportRaw = c("EPDFPage_GetViewportRaw", 3), ZY = n._EPDFPage_AddViewportRaw = c("EPDFPage_AddViewportRaw", 3), zY = n._EPDFPage_RemoveViewportRaw = c("EPDFPage_RemoveViewportRaw", 3), JY = n._EPDFViewport_Close = c("EPDFViewport_Close", 1), $Y = n._EPDFPage_FindViewport = c("EPDFPage_FindViewport", 2), e8 = n._EPDFViewport_GetBBox = c("EPDFViewport_GetBBox", 2), t8 = n._EPDFViewport_SetBBox = c("EPDFViewport_SetBBox", 2), n8 = n._EPDFViewport_GetMeasure = c("EPDFViewport_GetMeasure", 1), r8 = n._EPDFViewport_AddMeasure = c("EPDFViewport_AddMeasure", 1), i8 = n._EPDFViewport_RemoveMeasure = c("EPDFViewport_RemoveMeasure", 1), a8 = n._EPDFMeasure_GetSubtype = c("EPDFMeasure_GetSubtype", 1), A8 = n._EPDFMeasure_GetOrigin = c("EPDFMeasure_GetOrigin", 2), o8 = n._EPDFMeasure_SetOrigin = c("EPDFMeasure_SetOrigin", 2), s8 = n._EPDFMeasure_GetCYX = c("EPDFMeasure_GetCYX", 2), c8 = n._EPDFMeasure_SetCYX = c("EPDFMeasure_SetCYX", 2), d8 = n._EPDFMeasure_CountFormats = c("EPDFMeasure_CountFormats", 2), p8 = n._EPDFMeasure_GetFormat = c("EPDFMeasure_GetFormat", 3), u8 = n._EPDFMeasure_AddFormat = c("EPDFMeasure_AddFormat", 4), l8 = n._EPDFMeasure_RemoveFormats = c("EPDFMeasure_RemoveFormats", 2), m8 = n._EPDFViewport_GetName = c("EPDFViewport_GetName", 3), w8 = n._EPDFViewport_SetName = c("EPDFViewport_SetName", 2), b8 = n._EPDFMeasure_GetRatio = c("EPDFMeasure_GetRatio", 3), g8 = n._EPDFMeasure_SetRatio = c("EPDFMeasure_SetRatio", 2), f8 = n._EPDFNumberFormat_GetUnit = c("EPDFNumberFormat_GetUnit", 3), F8 = n._EPDFNumberFormat_SetUnit = c("EPDFNumberFormat_SetUnit", 2), v8 = n._EPDFNumberFormat_GetConversion = c("EPDFNumberFormat_GetConversion", 2), P8 = n._EPDFNumberFormat_SetConversion = c("EPDFNumberFormat_SetConversion", 2), h8 = n._EPDFNumberFormat_GetPrecision = c("EPDFNumberFormat_GetPrecision", 2), k8 = n._EPDFNumberFormat_SetPrecision = c("EPDFNumberFormat_SetPrecision", 2), B8 = n._EPDFNumberFormat_GetFixedDenominator = c("EPDFNumberFormat_GetFixedDenominator", 2), D8 = n._EPDFNumberFormat_SetFixedDenominator = c("EPDFNumberFormat_SetFixedDenominator", 2), y8 = n._EPDFNumberFormat_GetText = c("EPDFNumberFormat_GetText", 4), E8 = n._EPDFNumberFormat_SetText = c("EPDFNumberFormat_SetText", 3), G8 = n._EPDFNumberFormat_GetFraction = c("EPDFNumberFormat_GetFraction", 2), C8 = n._EPDFNumberFormat_SetFraction = c("EPDFNumberFormat_SetFraction", 2), x8 = n._EPDFNumberFormat_GetLabelPosition = c("EPDFNumberFormat_GetLabelPosition", 2), _8 = n._EPDFNumberFormat_SetLabelPosition = c("EPDFNumberFormat_SetLabelPosition", 2), H8 = n._EPDFAnnot_SetLineLeader = c("EPDFAnnot_SetLineLeader", 4), I8 = n._EPDFAnnot_GetLineLeader = c("EPDFAnnot_GetLineLeader", 4), Q8 = n._EPDFAnnot_SetLineCaption = c("EPDFAnnot_SetLineCaption", 4), S8 = n._EPDFAnnot_GetLineCaption = c("EPDFAnnot_GetLineCaption", 4), O8 = n._EPDFAnnot_SetShapeCaption = c("EPDFAnnot_SetShapeCaption", 3), M8 = n._EPDFAnnot_GetShapeCaption = c("EPDFAnnot_GetShapeCaption", 4), j8 = n._EPDFPage_GetParsedSize = c("EPDFPage_GetParsedSize", 2), R8 = n._EPDFPage_IsContentCurrent = c("EPDFPage_IsContentCurrent", 1), L8 = n._EPDF_PNG_EncodeRGBA = c("EPDF_PNG_EncodeRGBA", 6), T8 = n._EPDFDoc_ImportPages = c("EPDFDoc_ImportPages", 6), K8 = n._EPDFDoc_GetImportFieldRoots = c("EPDFDoc_GetImportFieldRoots", 5), N8 = n._EPDFPage_ApplyRedactions = c("EPDFPage_ApplyRedactions", 4), V8 = n._EPDF_InitThread = c("EPDF_InitThread", 0), Y8 = n._EPDF_ShutdownThread = c("EPDF_ShutdownThread", 0), X8 = n._FPDFAnnot_IsSupportedSubtype = c("FPDFAnnot_IsSupportedSubtype", 1), W8 = n._FPDFPage_CreateAnnot = c("FPDFPage_CreateAnnot", 2), U8 = n._FPDFPage_GetAnnotCount = c("FPDFPage_GetAnnotCount", 1), q8 = n._FPDFPage_GetAnnot = c("FPDFPage_GetAnnot", 2), Z8 = n._FPDFPage_GetAnnotIndex = c("FPDFPage_GetAnnotIndex", 2), z8 = n._FPDFPage_CloseAnnot = c("FPDFPage_CloseAnnot", 1), J8 = n._FPDFPage_RemoveAnnot = c("FPDFPage_RemoveAnnot", 2), $8 = n._FPDFAnnot_GetSubtype = c("FPDFAnnot_GetSubtype", 1), eX = n._FPDFAnnot_IsObjectSupportedSubtype = c("FPDFAnnot_IsObjectSupportedSubtype", 1), tX = n._FPDFAnnot_UpdateObject = c("FPDFAnnot_UpdateObject", 2), nX = n._FPDFAnnot_AddInkStroke = c("FPDFAnnot_AddInkStroke", 3), rX = n._FPDFAnnot_RemoveInkList = c("FPDFAnnot_RemoveInkList", 1), iX = n._FPDFAnnot_AppendObject = c("FPDFAnnot_AppendObject", 2), aX = n._FPDFAnnot_GetObjectCount = c("FPDFAnnot_GetObjectCount", 1), AX = n._FPDFAnnot_GetObject = c("FPDFAnnot_GetObject", 2), oX = n._FPDFAnnot_RemoveObject = c("FPDFAnnot_RemoveObject", 2), sX = n._FPDFAnnot_SetColor = c("FPDFAnnot_SetColor", 6), cX = n._FPDFAnnot_GetColor = c("FPDFAnnot_GetColor", 6), dX = n._FPDFAnnot_HasAttachmentPoints = c("FPDFAnnot_HasAttachmentPoints", 1), pX = n._FPDFAnnot_SetAttachmentPoints = c("FPDFAnnot_SetAttachmentPoints", 3), uX = n._FPDFAnnot_AppendAttachmentPoints = c("FPDFAnnot_AppendAttachmentPoints", 2), lX = n._FPDFAnnot_CountAttachmentPoints = c("FPDFAnnot_CountAttachmentPoints", 1), mX = n._FPDFAnnot_GetAttachmentPoints = c("FPDFAnnot_GetAttachmentPoints", 3), wX = n._FPDFAnnot_SetRect = c("FPDFAnnot_SetRect", 2), bX = n._FPDFAnnot_GetRect = c("FPDFAnnot_GetRect", 2), gX = n._FPDFAnnot_GetVertices = c("FPDFAnnot_GetVertices", 3), fX = n._FPDFAnnot_GetInkListCount = c("FPDFAnnot_GetInkListCount", 1), FX = n._FPDFAnnot_GetInkListPath = c("FPDFAnnot_GetInkListPath", 4), vX = n._FPDFAnnot_GetLine = c("FPDFAnnot_GetLine", 3), PX = n._FPDFAnnot_SetBorder = c("FPDFAnnot_SetBorder", 4), hX = n._FPDFAnnot_GetBorder = c("FPDFAnnot_GetBorder", 4), kX = n._FPDFAnnot_HasKey = c("FPDFAnnot_HasKey", 2), BX = n._FPDFAnnot_GetValueType = c("FPDFAnnot_GetValueType", 2), DX = n._FPDFAnnot_SetStringValue = c("FPDFAnnot_SetStringValue", 3), yX = n._FPDFAnnot_GetStringValue = c("FPDFAnnot_GetStringValue", 4), EX = n._FPDFAnnot_GetNumberValue = c("FPDFAnnot_GetNumberValue", 3), GX = n._FPDFAnnot_SetAP = c("FPDFAnnot_SetAP", 3), CX = n._FPDFAnnot_GetAP = c("FPDFAnnot_GetAP", 4), xX = n._FPDFAnnot_GetLinkedAnnot = c("FPDFAnnot_GetLinkedAnnot", 2), _X = n._FPDFAnnot_GetFlags = c("FPDFAnnot_GetFlags", 1), HX = n._FPDFAnnot_SetFlags = c("FPDFAnnot_SetFlags", 2), IX = n._FPDFAnnot_GetFormFieldFlags = c("FPDFAnnot_GetFormFieldFlags", 2), QX = n._FPDFAnnot_SetFormFieldFlags = c("FPDFAnnot_SetFormFieldFlags", 3), SX = n._FPDFAnnot_GetFormFieldAtPoint = c("FPDFAnnot_GetFormFieldAtPoint", 3), OX = n._FPDFAnnot_GetFormFieldName = c("FPDFAnnot_GetFormFieldName", 4), MX = n._FPDFAnnot_GetFormFieldType = c("FPDFAnnot_GetFormFieldType", 2), jX = n._FPDFAnnot_GetFormAdditionalActionJavaScript = c("FPDFAnnot_GetFormAdditionalActionJavaScript", 5), RX = n._FPDFAnnot_GetFormFieldAlternateName = c("FPDFAnnot_GetFormFieldAlternateName", 4), LX = n._FPDFAnnot_GetFormFieldValue = c("FPDFAnnot_GetFormFieldValue", 4), TX = n._FPDFAnnot_GetOptionCount = c("FPDFAnnot_GetOptionCount", 2), KX = n._FPDFAnnot_GetOptionLabel = c("FPDFAnnot_GetOptionLabel", 5), NX = n._FPDFAnnot_IsOptionSelected = c("FPDFAnnot_IsOptionSelected", 3), VX = n._FPDFAnnot_GetFontSize = c("FPDFAnnot_GetFontSize", 3), YX = n._FPDFAnnot_SetFontColor = c("FPDFAnnot_SetFontColor", 5), XX = n._FPDFAnnot_GetFontColor = c("FPDFAnnot_GetFontColor", 5), WX = n._FPDFAnnot_IsChecked = c("FPDFAnnot_IsChecked", 2), UX = n._FPDFAnnot_SetFocusableSubtypes = c("FPDFAnnot_SetFocusableSubtypes", 3), qX = n._FPDFAnnot_GetFocusableSubtypesCount = c("FPDFAnnot_GetFocusableSubtypesCount", 1), ZX = n._FPDFAnnot_GetFocusableSubtypes = c("FPDFAnnot_GetFocusableSubtypes", 3), zX = n._FPDFAnnot_GetLink = c("FPDFAnnot_GetLink", 1), JX = n._FPDFAnnot_GetFormControlCount = c("FPDFAnnot_GetFormControlCount", 2), $X = n._FPDFAnnot_GetFormControlIndex = c("FPDFAnnot_GetFormControlIndex", 2), eW = n._FPDFAnnot_GetFormFieldExportValue = c("FPDFAnnot_GetFormFieldExportValue", 4), tW = n._FPDFAnnot_SetURI = c("FPDFAnnot_SetURI", 2), nW = n._FPDFAnnot_GetFileAttachment = c("FPDFAnnot_GetFileAttachment", 1), rW = n._FPDFAnnot_AddFileAttachment = c("FPDFAnnot_AddFileAttachment", 2), iW = n._FPDFDoc_GetAttachmentCount = c("FPDFDoc_GetAttachmentCount", 1), aW = n._FPDFDoc_AddAttachment = c("FPDFDoc_AddAttachment", 2), AW = n._FPDFDoc_GetAttachment = c("FPDFDoc_GetAttachment", 2), oW = n._EPDFDoc_GetAttachmentKey = c("EPDFDoc_GetAttachmentKey", 4), sW = n._EPDFDoc_GetAttachmentIndexByKey = c("EPDFDoc_GetAttachmentIndexByKey", 2), cW = n._FPDFDoc_DeleteAttachment = c("FPDFDoc_DeleteAttachment", 2), dW = n._FPDFAttachment_GetName = c("FPDFAttachment_GetName", 3), pW = n._FPDFAttachment_HasKey = c("FPDFAttachment_HasKey", 2), uW = n._FPDFAttachment_GetValueType = c("FPDFAttachment_GetValueType", 2), lW = n._FPDFAttachment_SetStringValue = c("FPDFAttachment_SetStringValue", 3), mW = n._FPDFAttachment_GetStringValue = c("FPDFAttachment_GetStringValue", 4), wW = n._FPDFAttachment_SetDescription = c("FPDFAttachment_SetDescription", 2), bW = n._FPDFAttachment_GetDescription = c("FPDFAttachment_GetDescription", 3), gW = n._FPDFAttachment_SetFile = c("FPDFAttachment_SetFile", 4), fW = n._FPDFAttachment_GetFile = c("FPDFAttachment_GetFile", 4), FW = n._FPDFAttachment_GetSubtype = c("FPDFAttachment_GetSubtype", 3), vW = n._FPDFAttachment_GetAFRelationship = c("FPDFAttachment_GetAFRelationship", 3), PW = n._EPDFAttachment_SetSubtype = c("EPDFAttachment_SetSubtype", 2), hW = n._EPDFAttachment_SetDescription = c("EPDFAttachment_SetDescription", 2), kW = n._EPDFAttachment_SetName = c("EPDFAttachment_SetName", 2), BW = n._EPDFAttachment_GetDescription = c("EPDFAttachment_GetDescription", 3), DW = n._EPDFAttachment_GetIntegerValue = c("EPDFAttachment_GetIntegerValue", 3), yW = n._EPDFAttachment_ExtractFile = c("EPDFAttachment_ExtractFile", 6), EW = n._EPDFAttachment_ExtractFileToOwnedBuffer = c("EPDFAttachment_ExtractFileToOwnedBuffer", 6), GW = n._FPDFCatalog_IsTagged = c("FPDFCatalog_IsTagged", 1), CW = n._FPDFCatalog_GetLanguage = c("FPDFCatalog_GetLanguage", 3), xW = n._FPDFCatalog_SetLanguage = c("FPDFCatalog_SetLanguage", 2), _W = n._EPDFCatalog_GetLanguage = c("EPDFCatalog_GetLanguage", 3), HW = n._FPDFAvail_Create = c("FPDFAvail_Create", 2), IW = n._FPDFAvail_Destroy = c("FPDFAvail_Destroy", 1), QW = n._FPDFAvail_IsDocAvail = c("FPDFAvail_IsDocAvail", 2), SW = n._FPDFAvail_GetDocument = c("FPDFAvail_GetDocument", 2), OW = n._FPDFAvail_GetFirstPageNum = c("FPDFAvail_GetFirstPageNum", 1), MW = n._FPDFAvail_IsPageAvail = c("FPDFAvail_IsPageAvail", 3), jW = n._FPDFAvail_IsFormAvail = c("FPDFAvail_IsFormAvail", 2), RW = n._FPDFAvail_IsLinearized = c("FPDFAvail_IsLinearized", 1), LW = n._FPDFBookmark_GetFirstChild = c("FPDFBookmark_GetFirstChild", 2), TW = n._FPDFBookmark_GetNextSibling = c("FPDFBookmark_GetNextSibling", 2), KW = n._FPDFBookmark_GetTitle = c("FPDFBookmark_GetTitle", 3), NW = n._FPDFBookmark_GetCount = c("FPDFBookmark_GetCount", 1), VW = n._FPDFBookmark_Find = c("FPDFBookmark_Find", 2), YW = n._FPDFBookmark_GetDest = c("FPDFBookmark_GetDest", 2), XW = n._FPDFBookmark_GetAction = c("FPDFBookmark_GetAction", 1), WW = n._FPDFBookmark_GetColor = c("FPDFBookmark_GetColor", 4), UW = n._FPDFBookmark_GetStyle = c("FPDFBookmark_GetStyle", 1), qW = n._FPDFAction_GetType = c("FPDFAction_GetType", 1), ZW = n._FPDFAction_GetDest = c("FPDFAction_GetDest", 2), zW = n._FPDFAction_GetFilePath = c("FPDFAction_GetFilePath", 3), JW = n._FPDFAction_GetURIPath = c("FPDFAction_GetURIPath", 4), $W = n._FPDFDest_GetDestPageIndex = c("FPDFDest_GetDestPageIndex", 2), eU = n._EPDFDest_GetPageObjectNumber = c("EPDFDest_GetPageObjectNumber", 2), tU = n._FPDFDest_GetView = c("FPDFDest_GetView", 3), nU = n._FPDFDest_GetLocationInPage = c("FPDFDest_GetLocationInPage", 7), rU = n._FPDFLink_GetLinkAtPoint = c("FPDFLink_GetLinkAtPoint", 3), iU = n._FPDFLink_GetLinkZOrderAtPoint = c("FPDFLink_GetLinkZOrderAtPoint", 3), aU = n._FPDFLink_GetDest = c("FPDFLink_GetDest", 2), AU = n._FPDFLink_GetAction = c("FPDFLink_GetAction", 1), oU = n._FPDFLink_Enumerate = c("FPDFLink_Enumerate", 3), sU = n._FPDFLink_GetAnnot = c("FPDFLink_GetAnnot", 2), cU = n._FPDFLink_GetAnnotRect = c("FPDFLink_GetAnnotRect", 2), dU = n._FPDFLink_CountQuadPoints = c("FPDFLink_CountQuadPoints", 1), pU = n._FPDFLink_GetQuadPoints = c("FPDFLink_GetQuadPoints", 3), uU = n._FPDF_GetPageAAction = c("FPDF_GetPageAAction", 2), lU = n._FPDF_GetFileIdentifier = c("FPDF_GetFileIdentifier", 4), mU = n._FPDF_GetMetaText = c("FPDF_GetMetaText", 4), wU = n._FPDF_GetPageLabel = c("FPDF_GetPageLabel", 4), bU = n._EPDF_SetMetaText = c("EPDF_SetMetaText", 3), gU = n._EPDF_HasMetaText = c("EPDF_HasMetaText", 2), fU = n._EPDF_GetMetaTrapped = c("EPDF_GetMetaTrapped", 1), FU = n._EPDF_SetMetaTrapped = c("EPDF_SetMetaTrapped", 2), vU = n._EPDF_GetMetaKeyCount = c("EPDF_GetMetaKeyCount", 2), PU = n._EPDF_GetMetaKeyName = c("EPDF_GetMetaKeyName", 5), hU = n._FPDFPageObj_NewImageObj = c("FPDFPageObj_NewImageObj", 1), kU = n._FPDFImageObj_LoadJpegFile = c("FPDFImageObj_LoadJpegFile", 4), BU = n._FPDFImageObj_LoadJpegFileInline = c("FPDFImageObj_LoadJpegFileInline", 4), DU = n._FPDFImageObj_SetMatrix = c("FPDFImageObj_SetMatrix", 7), yU = n._FPDFImageObj_SetBitmap = c("FPDFImageObj_SetBitmap", 4), EU = n._FPDFImageObj_GetBitmap = c("FPDFImageObj_GetBitmap", 1), GU = n._FPDFImageObj_GetRenderedBitmap = c("FPDFImageObj_GetRenderedBitmap", 3), CU = n._FPDFImageObj_GetImageDataDecoded = c("FPDFImageObj_GetImageDataDecoded", 3), xU = n._FPDFImageObj_GetImageDataRaw = c("FPDFImageObj_GetImageDataRaw", 3), _U = n._FPDFImageObj_GetImageFilterCount = c("FPDFImageObj_GetImageFilterCount", 1), HU = n._FPDFImageObj_GetImageFilter = c("FPDFImageObj_GetImageFilter", 4), IU = n._FPDFImageObj_GetImageMetadata = c("FPDFImageObj_GetImageMetadata", 3), QU = n._FPDFImageObj_GetImagePixelSize = c("FPDFImageObj_GetImagePixelSize", 3), SU = n._FPDFImageObj_GetIccProfileDataDecoded = c("FPDFImageObj_GetIccProfileDataDecoded", 5), OU = n._EPDFImageObj_SetPng = c("EPDFImageObj_SetPng", 5), MU = n._EPDFImageObj_SetJpeg = c("EPDFImageObj_SetJpeg", 5), jU = n._FPDF_CreateNewDocument = c("FPDF_CreateNewDocument", 0), RU = n._FPDFPage_Delete = c("FPDFPage_Delete", 2), LU = n._FPDF_MovePages = c("FPDF_MovePages", 4), TU = n._FPDFPage_New = c("FPDFPage_New", 4), KU = n._EPDFPage_InsertBlankRaw = c("EPDFPage_InsertBlankRaw", 5), NU = n._FPDFPage_GetRotation = c("FPDFPage_GetRotation", 1), VU = n._FPDFPage_InsertObject = c("FPDFPage_InsertObject", 2), YU = n._FPDFPage_InsertObjectAtIndex = c("FPDFPage_InsertObjectAtIndex", 3), XU = n._FPDFPage_RemoveObject = c("FPDFPage_RemoveObject", 2), WU = n._FPDFPage_CountObjects = c("FPDFPage_CountObjects", 1), UU = n._FPDFPage_GetObject = c("FPDFPage_GetObject", 2), qU = n._FPDFPage_HasTransparency = c("FPDFPage_HasTransparency", 1), ZU = n._FPDFPageObj_Destroy = c("FPDFPageObj_Destroy", 1), zU = n._FPDFPageObj_GetMarkedContentID = c("FPDFPageObj_GetMarkedContentID", 1), JU = n._FPDFPageObj_CountMarks = c("FPDFPageObj_CountMarks", 1), $U = n._FPDFPageObj_GetMark = c("FPDFPageObj_GetMark", 2), eq = n._FPDFPageObj_AddExistingMark = c("FPDFPageObj_AddExistingMark", 2), tq = n._FPDFPageObj_AddMark = c("FPDFPageObj_AddMark", 2), nq = n._FPDFPageObj_RemoveMark = c("FPDFPageObj_RemoveMark", 2), rq = n._FPDFPageObjMark_GetName = c("FPDFPageObjMark_GetName", 4), iq = n._FPDFPageObjMark_CountParams = c("FPDFPageObjMark_CountParams", 1), aq = n._FPDFPageObjMark_GetParamKey = c("FPDFPageObjMark_GetParamKey", 5), Aq = n._FPDFPageObjMark_GetParamValueType = c("FPDFPageObjMark_GetParamValueType", 2), oq = n._FPDFPageObjMark_GetParamIntValue = c("FPDFPageObjMark_GetParamIntValue", 3), sq = n._FPDFPageObjMark_GetParamFloatValue = c("FPDFPageObjMark_GetParamFloatValue", 3), cq = n._FPDFPageObjMark_GetParamStringValue = c("FPDFPageObjMark_GetParamStringValue", 5), dq = n._FPDFPageObjMark_GetParamBlobValue = c("FPDFPageObjMark_GetParamBlobValue", 5), pq = n._FPDFPageObj_HasTransparency = c("FPDFPageObj_HasTransparency", 1), uq = n._FPDFPageObjMark_SetIntParam = c("FPDFPageObjMark_SetIntParam", 5), lq = n._FPDFPageObjMark_SetFloatParam = c("FPDFPageObjMark_SetFloatParam", 5), mq = n._FPDFPageObjMark_SetStringParam = c("FPDFPageObjMark_SetStringParam", 5), wq = n._FPDFPageObjMark_SetBlobParam = c("FPDFPageObjMark_SetBlobParam", 6), bq = n._FPDFPageObjMark_RemoveParam = c("FPDFPageObjMark_RemoveParam", 3), gq = n._FPDFPageObj_GetType = c("FPDFPageObj_GetType", 1), fq = n._FPDFPageObj_GetIsActive = c("FPDFPageObj_GetIsActive", 2), Fq = n._FPDFPageObj_SetIsActive = c("FPDFPageObj_SetIsActive", 2), vq = n._FPDFPage_GenerateContent = c("FPDFPage_GenerateContent", 1), Pq = n._FPDFPageObj_Transform = c("FPDFPageObj_Transform", 7), hq = n._FPDFPageObj_TransformF = c("FPDFPageObj_TransformF", 2), kq = n._FPDFPageObj_GetMatrix = c("FPDFPageObj_GetMatrix", 2), Bq = n._FPDFPageObj_SetMatrix = c("FPDFPageObj_SetMatrix", 2), Dq = n._FPDFPageObj_SetBlendMode = c("FPDFPageObj_SetBlendMode", 2), yq = n._FPDFPage_TransformAnnots = c("FPDFPage_TransformAnnots", 7), Eq = n._FPDFPage_SetRotation = c("FPDFPage_SetRotation", 2), Gq = n._FPDFPageObj_SetFillColor = c("FPDFPageObj_SetFillColor", 5), Cq = n._FPDFPageObj_GetFillColor = c("FPDFPageObj_GetFillColor", 5), xq = n._FPDFPageObj_GetBounds = c("FPDFPageObj_GetBounds", 5), _q = n._FPDFPageObj_GetRotatedBounds = c("FPDFPageObj_GetRotatedBounds", 2), Hq = n._FPDFPageObj_SetStrokeColor = c("FPDFPageObj_SetStrokeColor", 5), Iq = n._FPDFPageObj_GetStrokeColor = c("FPDFPageObj_GetStrokeColor", 5), Qq = n._FPDFPageObj_SetStrokeWidth = c("FPDFPageObj_SetStrokeWidth", 2), Sq = n._FPDFPageObj_GetStrokeWidth = c("FPDFPageObj_GetStrokeWidth", 2), Oq = n._FPDFPageObj_GetLineJoin = c("FPDFPageObj_GetLineJoin", 1), Mq = n._FPDFPageObj_SetLineJoin = c("FPDFPageObj_SetLineJoin", 2), jq = n._FPDFPageObj_GetLineCap = c("FPDFPageObj_GetLineCap", 1), Rq = n._FPDFPageObj_SetLineCap = c("FPDFPageObj_SetLineCap", 2), Lq = n._FPDFPageObj_GetDashPhase = c("FPDFPageObj_GetDashPhase", 2), Tq = n._FPDFPageObj_SetDashPhase = c("FPDFPageObj_SetDashPhase", 2), Kq = n._FPDFPageObj_GetDashCount = c("FPDFPageObj_GetDashCount", 1), Nq = n._FPDFPageObj_GetDashArray = c("FPDFPageObj_GetDashArray", 3), Vq = n._FPDFPageObj_SetDashArray = c("FPDFPageObj_SetDashArray", 4), Yq = n._FPDFPageObj_GetRenderedStrokePattern = c("FPDFPageObj_GetRenderedStrokePattern", 2), Xq = n._FPDFPageObj_GetRenderedFillPattern = c("FPDFPageObj_GetRenderedFillPattern", 2), Wq = n._FPDFFormObj_CountObjects = c("FPDFFormObj_CountObjects", 1), Uq = n._FPDFFormObj_GetObject = c("FPDFFormObj_GetObject", 2), qq = n._FPDFFormObj_RemoveObject = c("FPDFFormObj_RemoveObject", 2), Zq = n._FPDFPageObj_CreateNewPath = c("FPDFPageObj_CreateNewPath", 2), zq = n._FPDFPageObj_CreateNewRect = c("FPDFPageObj_CreateNewRect", 4), Jq = n._FPDFPath_CountSegments = c("FPDFPath_CountSegments", 1), $q = n._FPDFPath_GetPathSegment = c("FPDFPath_GetPathSegment", 2), eZ = n._FPDFPath_MoveTo = c("FPDFPath_MoveTo", 3), tZ = n._FPDFPath_LineTo = c("FPDFPath_LineTo", 3), nZ = n._FPDFPath_BezierTo = c("FPDFPath_BezierTo", 7), rZ = n._FPDFPath_GetBezierControlPoints = c("FPDFPath_GetBezierControlPoints", 4), iZ = n._FPDFPath_Close = c("FPDFPath_Close", 1), aZ = n._FPDFPath_SetDrawMode = c("FPDFPath_SetDrawMode", 3), AZ = n._FPDFPath_GetDrawMode = c("FPDFPath_GetDrawMode", 3), oZ = n._FPDFPathSegment_GetPoint = c("FPDFPathSegment_GetPoint", 3), sZ = n._FPDFPathSegment_GetType = c("FPDFPathSegment_GetType", 1), cZ = n._FPDFPathSegment_GetClose = c("FPDFPathSegment_GetClose", 1), dZ = n._FPDFPageObj_NewTextObj = c("FPDFPageObj_NewTextObj", 3), pZ = n._FPDFText_SetText = c("FPDFText_SetText", 2), uZ = n._FPDFText_SetCharcodes = c("FPDFText_SetCharcodes", 3), lZ = n._FPDFText_SetPositions = c("FPDFText_SetPositions", 3), mZ = n._FPDFText_LoadFont = c("FPDFText_LoadFont", 5), wZ = n._FPDFText_LoadStandardFont = c("FPDFText_LoadStandardFont", 2), bZ = n._FPDFText_LoadCidType2Font = c("FPDFText_LoadCidType2Font", 6), gZ = n._FPDFTextObj_GetFontSize = c("FPDFTextObj_GetFontSize", 2), fZ = n._FPDFTextObj_SetFontSize = c("FPDFTextObj_SetFontSize", 2), FZ = n._FPDFTextObj_GetText = c("FPDFTextObj_GetText", 4), vZ = n._FPDFTextObj_GetRenderedBitmap = c("FPDFTextObj_GetRenderedBitmap", 4), PZ = n._FPDFFont_Close = c("FPDFFont_Close", 1), hZ = n._FPDFPageObj_CreateTextObj = c("FPDFPageObj_CreateTextObj", 3), kZ = n._FPDFTextObj_GetTextRenderMode = c("FPDFTextObj_GetTextRenderMode", 1), BZ = n._FPDFTextObj_SetTextRenderMode = c("FPDFTextObj_SetTextRenderMode", 2), DZ = n._FPDFTextObj_GetFont = c("FPDFTextObj_GetFont", 1), yZ = n._FPDFFont_GetBaseFontName = c("FPDFFont_GetBaseFontName", 3), EZ = n._FPDFFont_GetFamilyName = c("FPDFFont_GetFamilyName", 3), GZ = n._FPDFFont_GetFontData = c("FPDFFont_GetFontData", 4), CZ = n._FPDFFont_GetIsEmbedded = c("FPDFFont_GetIsEmbedded", 1), xZ = n._FPDFFont_GetFlags = c("FPDFFont_GetFlags", 1), _Z = n._FPDFFont_GetWeight = c("FPDFFont_GetWeight", 1), HZ = n._FPDFFont_GetItalicAngle = c("FPDFFont_GetItalicAngle", 2), IZ = n._FPDFFont_GetAscent = c("FPDFFont_GetAscent", 3), QZ = n._FPDFFont_GetDescent = c("FPDFFont_GetDescent", 3), SZ = n._FPDFFont_GetGlyphWidth = c("FPDFFont_GetGlyphWidth", 4), OZ = n._FPDFFont_GetGlyphPath = c("FPDFFont_GetGlyphPath", 3), MZ = n._FPDFGlyphPath_CountGlyphSegments = c("FPDFGlyphPath_CountGlyphSegments", 1), jZ = n._FPDFGlyphPath_GetGlyphPathSegment = c("FPDFGlyphPath_GetGlyphPathSegment", 2), RZ = n._EPDFText_RedactInRect = c("EPDFText_RedactInRect", 4), LZ = n._EPDFText_RedactInQuads = c("EPDFText_RedactInQuads", 5), TZ = n._FPDFDoc_GetPageMode = c("FPDFDoc_GetPageMode", 1), KZ = n._FPDFPage_Flatten = c("FPDFPage_Flatten", 2), NZ = n._FPDFPage_HasFormFieldAtPoint = c("FPDFPage_HasFormFieldAtPoint", 4), VZ = n._FPDFPage_FormFieldZOrderAtPoint = c("FPDFPage_FormFieldZOrderAtPoint", 4), YZ = n._FPDFDOC_InitFormFillEnvironment = c("FPDFDOC_InitFormFillEnvironment", 2), XZ = n._FPDFDOC_ExitFormFillEnvironment = c("FPDFDOC_ExitFormFillEnvironment", 1), WZ = n._FORM_OnMouseMove = c("FORM_OnMouseMove", 5), UZ = n._FORM_OnMouseWheel = c("FORM_OnMouseWheel", 6), qZ = n._FORM_OnFocus = c("FORM_OnFocus", 5), ZZ = n._FORM_OnLButtonDown = c("FORM_OnLButtonDown", 5), zZ = n._FORM_OnLButtonUp = c("FORM_OnLButtonUp", 5), JZ = n._FORM_OnLButtonDoubleClick = c("FORM_OnLButtonDoubleClick", 5), $Z = n._FORM_OnRButtonDown = c("FORM_OnRButtonDown", 5), ez = n._FORM_OnRButtonUp = c("FORM_OnRButtonUp", 5), tz = n._FORM_OnKeyDown = c("FORM_OnKeyDown", 4), nz = n._FORM_OnKeyUp = c("FORM_OnKeyUp", 4), rz = n._FORM_OnChar = c("FORM_OnChar", 4), iz = n._FORM_GetFocusedText = c("FORM_GetFocusedText", 4), az = n._FORM_GetSelectedText = c("FORM_GetSelectedText", 4), Az = n._FORM_ReplaceAndKeepSelection = c("FORM_ReplaceAndKeepSelection", 3), oz = n._FORM_ReplaceSelection = c("FORM_ReplaceSelection", 3), sz = n._FORM_SelectAllText = c("FORM_SelectAllText", 2), cz = n._FORM_CanUndo = c("FORM_CanUndo", 2), dz = n._FORM_CanRedo = c("FORM_CanRedo", 2), pz = n._FORM_Undo = c("FORM_Undo", 2), uz = n._FORM_Redo = c("FORM_Redo", 2), lz = n._FORM_ForceToKillFocus = c("FORM_ForceToKillFocus", 1), mz = n._FORM_GetFocusedAnnot = c("FORM_GetFocusedAnnot", 3), wz = n._FORM_SetFocusedAnnot = c("FORM_SetFocusedAnnot", 2), bz = n._FPDF_FFLDraw = c("FPDF_FFLDraw", 9), gz = n._FPDF_SetFormFieldHighlightColor = c("FPDF_SetFormFieldHighlightColor", 3), fz = n._FPDF_SetFormFieldHighlightAlpha = c("FPDF_SetFormFieldHighlightAlpha", 2), Fz = n._FPDF_RemoveFormFieldHighlight = c("FPDF_RemoveFormFieldHighlight", 1), vz = n._FORM_OnAfterLoadPage = c("FORM_OnAfterLoadPage", 2), Pz = n._FORM_OnBeforeClosePage = c("FORM_OnBeforeClosePage", 2), hz = n._FORM_DoDocumentJSAction = c("FORM_DoDocumentJSAction", 1), kz = n._FORM_DoDocumentOpenAction = c("FORM_DoDocumentOpenAction", 1), Bz = n._FORM_DoDocumentAAction = c("FORM_DoDocumentAAction", 2), Dz = n._FORM_DoPageAAction = c("FORM_DoPageAAction", 3), yz = n._FORM_SetIndexSelected = c("FORM_SetIndexSelected", 4), Ez = n._FORM_IsIndexSelected = c("FORM_IsIndexSelected", 3), Gz = n._FORM_GetTextDirection = c("FORM_GetTextDirection", 2), Cz = n._FORM_SetTextDirection = c("FORM_SetTextDirection", 3), xz = n._FPDFDoc_GetJavaScriptActionCount = c("FPDFDoc_GetJavaScriptActionCount", 1), _z = n._FPDFDoc_GetJavaScriptAction = c("FPDFDoc_GetJavaScriptAction", 2), Hz = n._EPDFDoc_GetNamedJavaScriptActionModel = c("EPDFDoc_GetNamedJavaScriptActionModel", 2), Iz = n._FPDFDoc_CloseJavaScriptAction = c("FPDFDoc_CloseJavaScriptAction", 1), Qz = n._FPDFJavaScriptAction_GetName = c("FPDFJavaScriptAction_GetName", 3), Sz = n._FPDFJavaScriptAction_GetScript = c("FPDFJavaScriptAction_GetScript", 3), Oz = n._FPDF_ImportPagesByIndex = c("FPDF_ImportPagesByIndex", 5), Mz = n._FPDF_ImportPages = c("FPDF_ImportPages", 4), jz = n._FPDF_ImportNPagesToOne = c("FPDF_ImportNPagesToOne", 5), Rz = n._FPDF_NewXObjectFromPage = c("FPDF_NewXObjectFromPage", 3), Lz = n._FPDF_CloseXObject = c("FPDF_CloseXObject", 1), Tz = n._FPDF_NewFormObjectFromXObject = c("FPDF_NewFormObjectFromXObject", 1), Kz = n._FPDF_CopyViewerPreferences = c("FPDF_CopyViewerPreferences", 2), Nz = n._FPDF_RenderPageBitmapWithColorScheme_Start = c("FPDF_RenderPageBitmapWithColorScheme_Start", 10), Vz = n._FPDF_RenderPageBitmap_Start = c("FPDF_RenderPageBitmap_Start", 9), Yz = n._FPDF_RenderPage_Continue = c("FPDF_RenderPage_Continue", 2), Xz = n._FPDF_RenderPage_Close = c("FPDF_RenderPage_Close", 1), Wz = n._EPDF_RenderPageBitmapWithMatrix_Start = c("EPDF_RenderPageBitmapWithMatrix_Start", 6), Uz = n._EPDF_RenderPage_Continue = c("EPDF_RenderPage_Continue", 2), qz = n._EPDF_FreeBuffer = c("EPDF_FreeBuffer", 1), Zz = n._FPDF_SaveAsCopy = c("FPDF_SaveAsCopy", 3), zz = n._FPDF_SaveWithVersion = c("FPDF_SaveWithVersion", 4), Jz = n._EPDF_SaveDocumentToOwnedBuffer = c("EPDF_SaveDocumentToOwnedBuffer", 3), $z = n._EPDF_SaveDocumentToOwnedBufferWithVersion = c("EPDF_SaveDocumentToOwnedBufferWithVersion", 4), eJ = n._EPDF_SaveDocumentToOwnedBufferEx = c("EPDF_SaveDocumentToOwnedBufferEx", 5), tJ = n._EPDF_SaveAsCopyEx = c("EPDF_SaveAsCopyEx", 4), nJ = n._FPDFText_GetCharIndexFromTextIndex = c("FPDFText_GetCharIndexFromTextIndex", 2), rJ = n._FPDFText_GetTextIndexFromCharIndex = c("FPDFText_GetTextIndexFromCharIndex", 2), iJ = n._FPDF_GetSignatureCount = c("FPDF_GetSignatureCount", 1), aJ = n._FPDF_GetSignatureObject = c("FPDF_GetSignatureObject", 2), AJ = n._FPDFSignatureObj_GetContents = c("FPDFSignatureObj_GetContents", 3), oJ = n._FPDFSignatureObj_GetByteRange = c("FPDFSignatureObj_GetByteRange", 3), sJ = n._FPDFSignatureObj_GetSubFilter = c("FPDFSignatureObj_GetSubFilter", 3), cJ = n._FPDFSignatureObj_GetReason = c("FPDFSignatureObj_GetReason", 3), dJ = n._FPDFSignatureObj_GetTime = c("FPDFSignatureObj_GetTime", 3), pJ = n._FPDFSignatureObj_GetDocMDPPermission = c("FPDFSignatureObj_GetDocMDPPermission", 1), uJ = n._FPDF_StructTree_GetForPage = c("FPDF_StructTree_GetForPage", 1), lJ = n._FPDF_StructTree_Close = c("FPDF_StructTree_Close", 1), mJ = n._FPDF_StructTree_CountChildren = c("FPDF_StructTree_CountChildren", 1), wJ = n._FPDF_StructTree_GetChildAtIndex = c("FPDF_StructTree_GetChildAtIndex", 2), bJ = n._FPDF_StructElement_GetAltText = c("FPDF_StructElement_GetAltText", 3), gJ = n._FPDF_StructElement_GetActualText = c("FPDF_StructElement_GetActualText", 3), fJ = n._FPDF_StructElement_GetExpansion = c("FPDF_StructElement_GetExpansion", 3), FJ = n._FPDF_StructElement_GetID = c("FPDF_StructElement_GetID", 3), vJ = n._FPDF_StructElement_GetLang = c("FPDF_StructElement_GetLang", 3), PJ = n._FPDF_StructElement_GetAttributeCount = c("FPDF_StructElement_GetAttributeCount", 1), hJ = n._FPDF_StructElement_GetAttributeAtIndex = c("FPDF_StructElement_GetAttributeAtIndex", 2), kJ = n._FPDF_StructElement_GetStringAttribute = c("FPDF_StructElement_GetStringAttribute", 4), BJ = n._FPDF_StructElement_GetMarkedContentID = c("FPDF_StructElement_GetMarkedContentID", 1), DJ = n._FPDF_StructElement_GetRawType = c("FPDF_StructElement_GetRawType", 3), yJ = n._FPDF_StructElement_GetType = c("FPDF_StructElement_GetType", 3), EJ = n._FPDF_StructElement_GetObjType = c("FPDF_StructElement_GetObjType", 3), GJ = n._FPDF_StructElement_GetTitle = c("FPDF_StructElement_GetTitle", 3), CJ = n._FPDF_StructElement_CountChildren = c("FPDF_StructElement_CountChildren", 1), xJ = n._FPDF_StructElement_GetChildAtIndex = c("FPDF_StructElement_GetChildAtIndex", 2), _J = n._FPDF_StructElement_GetChildMarkedContentID = c("FPDF_StructElement_GetChildMarkedContentID", 2), HJ = n._FPDF_StructElement_GetParent = c("FPDF_StructElement_GetParent", 1), IJ = n._FPDF_StructElement_Attr_GetCount = c("FPDF_StructElement_Attr_GetCount", 1), QJ = n._FPDF_StructElement_Attr_GetName = c("FPDF_StructElement_Attr_GetName", 5), SJ = n._FPDF_StructElement_Attr_GetValue = c("FPDF_StructElement_Attr_GetValue", 2), OJ = n._FPDF_StructElement_Attr_GetType = c("FPDF_StructElement_Attr_GetType", 1), MJ = n._FPDF_StructElement_Attr_GetBooleanValue = c("FPDF_StructElement_Attr_GetBooleanValue", 2), jJ = n._FPDF_StructElement_Attr_GetNumberValue = c("FPDF_StructElement_Attr_GetNumberValue", 2), RJ = n._FPDF_StructElement_Attr_GetStringValue = c("FPDF_StructElement_Attr_GetStringValue", 4), LJ = n._FPDF_StructElement_Attr_GetBlobValue = c("FPDF_StructElement_Attr_GetBlobValue", 4), TJ = n._FPDF_StructElement_Attr_CountChildren = c("FPDF_StructElement_Attr_CountChildren", 1), KJ = n._FPDF_StructElement_Attr_GetChildAtIndex = c("FPDF_StructElement_Attr_GetChildAtIndex", 2), NJ = n._FPDF_StructElement_GetMarkedContentIdCount = c("FPDF_StructElement_GetMarkedContentIdCount", 1), VJ = n._FPDF_StructElement_GetMarkedContentIdAtIndex = c("FPDF_StructElement_GetMarkedContentIdAtIndex", 2), YJ = n._FPDF_AddInstalledFont = c("FPDF_AddInstalledFont", 3), XJ = n._FPDF_SetSystemFontInfo = c("FPDF_SetSystemFontInfo", 1), WJ = n._FPDF_GetDefaultTTFMap = c("FPDF_GetDefaultTTFMap", 0), UJ = n._FPDF_GetDefaultTTFMapCount = c("FPDF_GetDefaultTTFMapCount", 0), qJ = n._FPDF_GetDefaultTTFMapEntry = c("FPDF_GetDefaultTTFMapEntry", 1), ZJ = n._FPDF_GetDefaultSystemFontInfo = c("FPDF_GetDefaultSystemFontInfo", 0), zJ = n._FPDF_FreeDefaultSystemFontInfo = c("FPDF_FreeDefaultSystemFontInfo", 1), JJ = n._FPDFText_LoadPage = c("FPDFText_LoadPage", 1), $J = n._FPDFText_ClosePage = c("FPDFText_ClosePage", 1), e$ = n._FPDFText_CountChars = c("FPDFText_CountChars", 1), t$ = n._FPDFText_GetUnicode = c("FPDFText_GetUnicode", 2), n$ = n._FPDFText_GetTextObject = c("FPDFText_GetTextObject", 2), r$ = n._FPDFText_IsGenerated = c("FPDFText_IsGenerated", 2), i$ = n._FPDFText_IsHyphen = c("FPDFText_IsHyphen", 2), a$ = n._FPDFText_HasUnicodeMapError = c("FPDFText_HasUnicodeMapError", 2), A$ = n._FPDFText_GetFontSize = c("FPDFText_GetFontSize", 2), o$ = n._FPDFText_GetFontInfo = c("FPDFText_GetFontInfo", 5), s$ = n._FPDFText_GetFontWeight = c("FPDFText_GetFontWeight", 2), c$ = n._FPDFText_GetFillColor = c("FPDFText_GetFillColor", 6), d$ = n._FPDFText_GetStrokeColor = c("FPDFText_GetStrokeColor", 6), p$ = n._FPDFText_GetCharAngle = c("FPDFText_GetCharAngle", 2), u$ = n._FPDFText_GetCharBox = c("FPDFText_GetCharBox", 6), l$ = n._FPDFText_GetLooseCharBox = c("FPDFText_GetLooseCharBox", 3), m$ = n._EPDFText_GetCharGeometry = c("EPDFText_GetCharGeometry", 3), w$ = n._EPDFText_GetTextFull = c("EPDFText_GetTextFull", 3), b$ = n._EPDFText_GetCharToTextMap = c("EPDFText_GetCharToTextMap", 3), g$ = n._FPDFText_GetMatrix = c("FPDFText_GetMatrix", 3), f$ = n._FPDFText_GetCharOrigin = c("FPDFText_GetCharOrigin", 4), F$ = n._FPDFText_GetCharIndexAtPos = c("FPDFText_GetCharIndexAtPos", 5), v$ = n._FPDFText_GetText = c("FPDFText_GetText", 4), P$ = n._FPDFText_CountRects = c("FPDFText_CountRects", 3), h$ = n._FPDFText_GetRect = c("FPDFText_GetRect", 6), k$ = n._FPDFText_GetBoundedText = c("FPDFText_GetBoundedText", 7), B$ = n._FPDFText_FindStart = c("FPDFText_FindStart", 4), D$ = n._FPDFText_FindNext = c("FPDFText_FindNext", 1), y$ = n._FPDFText_FindPrev = c("FPDFText_FindPrev", 1), E$ = n._FPDFText_GetSchResultIndex = c("FPDFText_GetSchResultIndex", 1), G$ = n._FPDFText_GetSchCount = c("FPDFText_GetSchCount", 1), C$ = n._FPDFText_FindClose = c("FPDFText_FindClose", 1), x$ = n._FPDFLink_LoadWebLinks = c("FPDFLink_LoadWebLinks", 1), _$ = n._FPDFLink_CountWebLinks = c("FPDFLink_CountWebLinks", 1), H$ = n._FPDFLink_GetURL = c("FPDFLink_GetURL", 4), I$ = n._FPDFLink_CountRects = c("FPDFLink_CountRects", 2), Q$ = n._FPDFLink_GetRect = c("FPDFLink_GetRect", 7), S$ = n._FPDFLink_GetTextRange = c("FPDFLink_GetTextRange", 4), O$ = n._FPDFLink_CloseWebLinks = c("FPDFLink_CloseWebLinks", 1), M$ = n._FPDFPage_GetDecodedThumbnailData = c("FPDFPage_GetDecodedThumbnailData", 3), j$ = n._FPDFPage_GetRawThumbnailData = c("FPDFPage_GetRawThumbnailData", 3), R$ = n._FPDFPage_GetThumbnailAsBitmap = c("FPDFPage_GetThumbnailAsBitmap", 1), L$ = n._FPDFPage_SetMediaBox = c("FPDFPage_SetMediaBox", 5), T$ = n._FPDFPage_SetCropBox = c("FPDFPage_SetCropBox", 5), K$ = n._FPDFPage_SetBleedBox = c("FPDFPage_SetBleedBox", 5), N$ = n._FPDFPage_SetTrimBox = c("FPDFPage_SetTrimBox", 5), V$ = n._FPDFPage_SetArtBox = c("FPDFPage_SetArtBox", 5), Y$ = n._FPDFPage_GetMediaBox = c("FPDFPage_GetMediaBox", 5), X$ = n._FPDFPage_GetCropBox = c("FPDFPage_GetCropBox", 5), W$ = n._FPDFPage_GetBleedBox = c("FPDFPage_GetBleedBox", 5), U$ = n._FPDFPage_GetTrimBox = c("FPDFPage_GetTrimBox", 5), q$ = n._FPDFPage_GetArtBox = c("FPDFPage_GetArtBox", 5), Z$ = n._FPDFPage_TransFormWithClip = c("FPDFPage_TransFormWithClip", 3), z$ = n._FPDFPageObj_TransformClipPath = c("FPDFPageObj_TransformClipPath", 7), J$ = n._FPDFPageObj_GetClipPath = c("FPDFPageObj_GetClipPath", 1), $$ = n._FPDFClipPath_CountPaths = c("FPDFClipPath_CountPaths", 1), eee = n._FPDFClipPath_CountPathSegments = c("FPDFClipPath_CountPathSegments", 2), tee = n._FPDFClipPath_GetPathSegment = c("FPDFClipPath_GetPathSegment", 3), nee = n._FPDF_CreateClipPath = c("FPDF_CreateClipPath", 4), ree = n._FPDF_DestroyClipPath = c("FPDF_DestroyClipPath", 1), iee = n._FPDFPage_InsertClipPath = c("FPDFPage_InsertClipPath", 2), aee = n._FPDF_InitLibrary = c("FPDF_InitLibrary", 0), Aee = n._FPDF_InitLibraryWithConfig = c("FPDF_InitLibraryWithConfig", 1), oee = n._FPDF_DestroyLibrary = c("FPDF_DestroyLibrary", 0), see = n._FPDF_SetSandBoxPolicy = c("FPDF_SetSandBoxPolicy", 2), cee = n._FPDF_LoadDocument = c("FPDF_LoadDocument", 2), dee = n._FPDF_GetFormType = c("FPDF_GetFormType", 1), pee = n._FPDF_LoadXFA = c("FPDF_LoadXFA", 1), uee = n._FPDF_LoadMemDocument = c("FPDF_LoadMemDocument", 3), lee = n._FPDF_LoadMemDocument64 = c("FPDF_LoadMemDocument64", 3), mee = n._FPDF_LoadCustomDocument = c("FPDF_LoadCustomDocument", 2), wee = n._FPDF_GetFileVersion = c("FPDF_GetFileVersion", 2), bee = n._FPDF_DocumentHasValidCrossReferenceTable = c("FPDF_DocumentHasValidCrossReferenceTable", 1), gee = n._FPDF_GetDocPermissions = c("FPDF_GetDocPermissions", 1), fee = n._FPDF_GetDocUserPermissions = c("FPDF_GetDocUserPermissions", 1), Fee = n._FPDF_GetSecurityHandlerRevision = c("FPDF_GetSecurityHandlerRevision", 1), vee = n._EPDF_SetEncryption = c("EPDF_SetEncryption", 4), Pee = n._EPDF_RemoveEncryption = c("EPDF_RemoveEncryption", 1), hee = n._EPDF_UnlockOwnerPermissions = c("EPDF_UnlockOwnerPermissions", 2), kee = n._EPDF_CheckPasswordPermissions = c("EPDF_CheckPasswordPermissions", 6), Bee = n._EPDF_SetRuntimeOwnerPermissions = c("EPDF_SetRuntimeOwnerPermissions", 2), Dee = n._EPDF_IsEncrypted = c("EPDF_IsEncrypted", 1), yee = n._EPDF_IsOwnerUnlocked = c("EPDF_IsOwnerUnlocked", 1), Eee = n._FPDF_GetPageCount = c("FPDF_GetPageCount", 1), Gee = n._FPDF_LoadPage = c("FPDF_LoadPage", 2), Cee = n._EPDFDoc_LoadPageByObjectNumber = c("EPDFDoc_LoadPageByObjectNumber", 2), xee = n._EPDFDoc_LoadPageByObjectNumberNormalized = c("EPDFDoc_LoadPageByObjectNumberNormalized", 2), _ee = n._EPDFDoc_GetPageObjectNumberByIndex = c("EPDFDoc_GetPageObjectNumberByIndex", 2), Hee = n._EPDFDoc_DeletePageByObjectNumber = c("EPDFDoc_DeletePageByObjectNumber", 2), Iee = n._EPDFDoc_SetPageRotationByObjectNumber = c("EPDFDoc_SetPageRotationByObjectNumber", 3), Qee = n._EPDFDoc_StartLoadPageByObjectNumber = c("EPDFDoc_StartLoadPageByObjectNumber", 3), See = n._EPDFPage_ContinueLoad = c("EPDFPage_ContinueLoad", 2), Oee = n._EPDFPage_GetObjectNumber = c("EPDFPage_GetObjectNumber", 1), Mee = n._FPDF_GetPageWidthF = c("FPDF_GetPageWidthF", 1), jee = n._FPDF_GetPageWidth = c("FPDF_GetPageWidth", 1), Ree = n._FPDF_GetPageHeightF = c("FPDF_GetPageHeightF", 1), Lee = n._FPDF_GetPageHeight = c("FPDF_GetPageHeight", 1), Tee = n._FPDF_GetPageBoundingBox = c("FPDF_GetPageBoundingBox", 2), Kee = n._FPDF_RenderPageBitmap = c("FPDF_RenderPageBitmap", 8), Nee = n._FPDF_RenderPageBitmapWithMatrix = c("FPDF_RenderPageBitmapWithMatrix", 5), Vee = n._EPDF_RenderAnnotBitmap = c("EPDF_RenderAnnotBitmap", 7), Yee = n._EPDF_RenderAnnotBitmapUnrotated = c("EPDF_RenderAnnotBitmapUnrotated", 9), Xee = n._EPDF_SetDecodedImageBudget = c("EPDF_SetDecodedImageBudget", 1), Wee = n._EPDF_GetDecodedImageBytes = c("EPDF_GetDecodedImageBytes", 0), Uee = n._EPDFPage_ResetRenderCache = c("EPDFPage_ResetRenderCache", 1), qee = n._FPDF_ClosePage = c("FPDF_ClosePage", 1), Zee = n._FPDF_CloseDocument = c("FPDF_CloseDocument", 1), zee = n._FPDF_GetLastError = c("FPDF_GetLastError", 0), Jee = n._FPDF_DeviceToPage = c("FPDF_DeviceToPage", 10), $ee = n._FPDF_PageToDevice = c("FPDF_PageToDevice", 10), ete = n._FPDFBitmap_Create = c("FPDFBitmap_Create", 3), tte = n._FPDFBitmap_CreateEx = c("FPDFBitmap_CreateEx", 5), nte = n._FPDFBitmap_GetFormat = c("FPDFBitmap_GetFormat", 1), rte = n._FPDFBitmap_FillRect = c("FPDFBitmap_FillRect", 6), ite = n._FPDFBitmap_GetBuffer = c("FPDFBitmap_GetBuffer", 1), ate = n._FPDFBitmap_GetWidth = c("FPDFBitmap_GetWidth", 1), Ate = n._FPDFBitmap_GetHeight = c("FPDFBitmap_GetHeight", 1), ote = n._FPDFBitmap_GetStride = c("FPDFBitmap_GetStride", 1), ste = n._FPDFBitmap_Destroy = c("FPDFBitmap_Destroy", 1), cte = n._FPDF_GetPageSizeByIndexF = c("FPDF_GetPageSizeByIndexF", 3), dte = n._EPDF_GetPageRotateByIndex = c("EPDF_GetPageRotateByIndex", 3), pte = n._EPDF_GetPageTabOrderByIndex = c("EPDF_GetPageTabOrderByIndex", 4), ute = n._EPDF_GetPageBoxByIndex = c("EPDF_GetPageBoxByIndex", 4), lte = n._EPDF_GetPageUserUnitByIndex = c("EPDF_GetPageUserUnitByIndex", 3), mte = n._EPDF_LoadPageNormalized = c("EPDF_LoadPageNormalized", 3), wte = n._FPDF_GetPageSizeByIndex = c("FPDF_GetPageSizeByIndex", 4), bte = n._FPDF_VIEWERREF_GetPrintScaling = c("FPDF_VIEWERREF_GetPrintScaling", 1), gte = n._FPDF_VIEWERREF_GetNumCopies = c("FPDF_VIEWERREF_GetNumCopies", 1), fte = n._FPDF_VIEWERREF_GetPrintPageRange = c("FPDF_VIEWERREF_GetPrintPageRange", 1), Fte = n._FPDF_VIEWERREF_GetPrintPageRangeCount = c("FPDF_VIEWERREF_GetPrintPageRangeCount", 1), vte = n._FPDF_VIEWERREF_GetPrintPageRangeElement = c("FPDF_VIEWERREF_GetPrintPageRangeElement", 2), Pte = n._FPDF_VIEWERREF_GetDuplex = c("FPDF_VIEWERREF_GetDuplex", 1), hte = n._FPDF_VIEWERREF_GetName = c("FPDF_VIEWERREF_GetName", 4), kte = n._FPDF_CountNamedDests = c("FPDF_CountNamedDests", 1), Bte = n._FPDF_GetNamedDestByName = c("FPDF_GetNamedDestByName", 2), Dte = n._FPDF_GetNamedDest = c("FPDF_GetNamedDest", 4), yte = n._FPDF_GetXFAPacketCount = c("FPDF_GetXFAPacketCount", 1), Ete = n._FPDF_GetXFAPacketName = c("FPDF_GetXFAPacketName", 4), Gte = n._FPDF_GetXFAPacketContent = c("FPDF_GetXFAPacketContent", 5), Cte = n._FPDF_GetTrailerEnds = c("FPDF_GetTrailerEnds", 3), Il = c("fflush", 1), LB = c("strerror", 1), TB = c("emscripten_builtin_memalign", 2), xte = n._malloc = c("malloc", 1), _te = n._free = c("free", 1), ht = c("setThrew", 2), Hte = c("_emscripten_tempret_set", 1), Ql = () => (Ql = Ne.emscripten_stack_init)(), KB = () => (KB = Ne.emscripten_stack_get_free)(), NB = () => (NB = Ne.emscripten_stack_get_base)(), Ms = () => (Ms = Ne.emscripten_stack_get_end)(), Sl = (p) => (Sl = Ne._emscripten_stack_restore)(p), Ol = (p) => (Ol = Ne._emscripten_stack_alloc)(p), Ml = () => (Ml = Ne.emscripten_stack_get_current)(), Ite = n.dynCall_jiji = c("dynCall_jiji", 5), Qte = n.dynCall_iiiiij = c("dynCall_iiiiij", 7), Ste = n.dynCall_iiiiijj = c("dynCall_iiiiijj", 9), Ote = n.dynCall_iiiiiijj = c("dynCall_iiiiiijj", 10), Mte = n.dynCall_viijii = c("dynCall_viijii", 7), jte = n.dynCall_ji = c("dynCall_ji", 2), Rte = n.dynCall_iiij = c("dynCall_iiij", 5), Lte = n.dynCall_j = c("dynCall_j", 1), Tte = n.dynCall_iji = c("dynCall_iji", 4), Kte = n.dynCall_jji = c("dynCall_jji", 4), Nte = n.dynCall_iiji = c("dynCall_iiji", 5), Vte = n.dynCall_viijj = c("dynCall_viijj", 7), Yte = n.dynCall_jij = c("dynCall_jij", 4), Xte = n.dynCall_iij = c("dynCall_iij", 4), Wte = n.dynCall_viji = c("dynCall_viji", 5); + function VB(p, l, b, v, B) { + var y = wt(); try { - ut(p)(u, b, v, B); + st(p)(l, b, v, B); } catch (E) { - if (Ft(y), E !== E + 0) throw E; - Qt(1, 0); + if (mt(y), E !== E + 0) throw E; + ht(1, 0); } } - function gB(p, u, b) { - var v = vt(); + function YB(p, l, b) { + var v = wt(); try { - return ut(p)(u, b); + return st(p)(l, b); } catch (B) { - if (Ft(v), B !== B + 0) throw B; - Qt(1, 0); + if (mt(v), B !== B + 0) throw B; + ht(1, 0); } } - function fB(p, u, b, v, B) { - var y = vt(); + function XB(p, l, b, v) { + var B = wt(); try { - return ut(p)(u, b, v, B); - } catch (E) { - if (Ft(y), E !== E + 0) throw E; - Qt(1, 0); + return st(p)(l, b, v); + } catch (y) { + if (mt(B), y !== y + 0) throw y; + ht(1, 0); } } - function FB(p, u, b, v) { - var B = vt(); + function WB(p, l) { + var b = wt(); try { - ut(p)(u, b, v); - } catch (y) { - if (Ft(B), y !== y + 0) throw y; - Qt(1, 0); + st(p)(l); + } catch (v) { + if (mt(b), v !== v + 0) throw v; + ht(1, 0); } } - function vB(p, u) { - var b = vt(); + function UB(p, l, b) { + var v = wt(); try { - return ut(p)(u); - } catch (v) { - if (Ft(b), v !== v + 0) throw v; - Qt(1, 0); + st(p)(l, b); + } catch (B) { + if (mt(v), B !== B + 0) throw B; + ht(1, 0); } } - function PB(p, u, b, v) { - var B = vt(); + function qB(p, l, b, v, B, y, E) { + var x = wt(); try { - return ut(p)(u, b, v); - } catch (y) { - if (Ft(B), y !== y + 0) throw y; - Qt(1, 0); + return st(p)(l, b, v, B, y, E); + } catch (j) { + if (mt(x), j !== j + 0) throw j; + ht(1, 0); } } - function hB(p, u, b) { - var v = vt(); + function ZB(p, l, b, v, B) { + var y = wt(); try { - ut(p)(u, b); - } catch (B) { - if (Ft(v), B !== B + 0) throw B; - Qt(1, 0); + return st(p)(l, b, v, B); + } catch (E) { + if (mt(y), E !== E + 0) throw E; + ht(1, 0); + } + } + function zB(p, l, b, v) { + var B = wt(); + try { + st(p)(l, b, v); + } catch (y) { + if (mt(B), y !== y + 0) throw y; + ht(1, 0); } } - function kB(p, u) { - var b = vt(); + function JB(p, l) { + var b = wt(); try { - ut(p)(u); + return st(p)(l); } catch (v) { - if (Ft(b), v !== v + 0) throw v; - Qt(1, 0); + if (mt(b), v !== v + 0) throw v; + ht(1, 0); } } - function BB(p) { - var u = vt(); + function $B(p) { + var l = wt(); try { - ut(p)(); + st(p)(); } catch (b) { - if (Ft(u), b !== b + 0) throw b; - Qt(1, 0); + if (mt(l), b !== b + 0) throw b; + ht(1, 0); } } - function DB(p, u, b, v, B, y) { - var E = vt(); + function eD(p, l, b, v, B, y) { + var E = wt(); try { - return ut(p)(u, b, v, B, y); + return st(p)(l, b, v, B, y); } catch (x) { - if (Ft(E), x !== x + 0) throw x; - Qt(1, 0); + if (mt(E), x !== x + 0) throw x; + ht(1, 0); } } - function yB(p, u, b, v, B, y, E, x, R, $) { - var ee = vt(); + function tD(p, l, b, v, B, y, E, x, j, $) { + var ee = wt(); try { - ut(p)(u, b, v, B, y, E, x, R, $); + st(p)(l, b, v, B, y, E, x, j, $); } catch (ie) { - if (Ft(ee), ie !== ie + 0) throw ie; - Qt(1, 0); + if (mt(ee), ie !== ie + 0) throw ie; + ht(1, 0); } } - function EB(p) { + function nD(p) { p = Object.assign({}, p); - var u = (y) => (E) => y(E) >>> 0, b = (y) => (E, x) => y(E, x) >>> 0, v = (y) => (E) => y(E) >>> 0, B = (y) => () => y() >>> 0; - return p.strerror = u(p.strerror), p.emscripten_builtin_memalign = b(p.emscripten_builtin_memalign), p.malloc = v(p.malloc), p.emscripten_stack_get_base = B(p.emscripten_stack_get_base), p.emscripten_stack_get_end = B(p.emscripten_stack_get_end), p._emscripten_stack_alloc = v(p._emscripten_stack_alloc), p.emscripten_stack_get_current = B(p.emscripten_stack_get_current), p; + var l = (y) => (E) => y(E) >>> 0, b = (y) => (E, x) => y(E, x) >>> 0, v = (y) => (E) => y(E) >>> 0, B = (y) => () => y() >>> 0; + return p.strerror = l(p.strerror), p.emscripten_builtin_memalign = b(p.emscripten_builtin_memalign), p.malloc = v(p.malloc), p.emscripten_stack_get_base = B(p.emscripten_stack_get_base), p.emscripten_stack_get_end = B(p.emscripten_stack_get_end), p._emscripten_stack_alloc = v(p._emscripten_stack_alloc), p.emscripten_stack_get_current = B(p.emscripten_stack_get_current), p; } - n.wasmExports = Ne, n.ccall = wu, n.cwrap = sB, n.addFunction = iB, n.removeFunction = cB, n.setValue = Wh, n.getValue = Yh, n.UTF8ToString = On, n.stringToUTF8 = nr, n.UTF16ToString = zk, n.stringToUTF16 = dB; - var GB = ["writeI53ToI64", "writeI53ToI64Clamped", "writeI53ToI64Signaling", "writeI53ToU64Clamped", "writeI53ToU64Signaling", "readI53FromI64", "readI53FromU64", "convertI32PairToI53", "convertU32PairToI53", "getTempRet0", "setTempRet0", "inetPton4", "inetNtop4", "inetPton6", "inetNtop6", "readSockaddr", "writeSockaddr", "emscriptenLog", "readEmAsmArgs", "jstoi_q", "listenOnce", "autoResumeAudioContext", "dynCallLegacy", "getDynCaller", "dynCall", "handleException", "runtimeKeepalivePush", "runtimeKeepalivePop", "callUserCallback", "maybeExit", "asmjsMangle", "HandleAllocator", "getNativeTypeSize", "STACK_SIZE", "STACK_ALIGN", "POINTER_SIZE", "ASSERTIONS", "reallyNegative", "unSign", "strLen", "reSign", "formatString", "intArrayToString", "AsciiToString", "lengthBytesUTF16", "UTF32ToString", "stringToUTF32", "lengthBytesUTF32", "stringToNewUTF8", "registerKeyEventCallback", "maybeCStringToJsString", "findEventTarget", "getBoundingClientRect", "fillMouseEventData", "registerMouseEventCallback", "registerWheelEventCallback", "registerUiEventCallback", "registerFocusEventCallback", "fillDeviceOrientationEventData", "registerDeviceOrientationEventCallback", "fillDeviceMotionEventData", "registerDeviceMotionEventCallback", "screenOrientation", "fillOrientationChangeEventData", "registerOrientationChangeEventCallback", "fillFullscreenChangeEventData", "registerFullscreenChangeEventCallback", "JSEvents_requestFullscreen", "JSEvents_resizeCanvasForFullscreen", "registerRestoreOldStyle", "hideEverythingExceptGivenElement", "restoreHiddenElements", "setLetterbox", "softFullscreenResizeWebGLRenderTarget", "doRequestFullscreen", "fillPointerlockChangeEventData", "registerPointerlockChangeEventCallback", "registerPointerlockErrorEventCallback", "requestPointerLock", "fillVisibilityChangeEventData", "registerVisibilityChangeEventCallback", "registerTouchEventCallback", "fillGamepadEventData", "registerGamepadEventCallback", "registerBeforeUnloadEventCallback", "fillBatteryEventData", "battery", "registerBatteryEventCallback", "setCanvasElementSize", "getCanvasElementSize", "jsStackTrace", "getCallstack", "convertPCtoSourceLocation", "checkWasiClock", "wasiRightsToMuslOFlags", "wasiOFlagsToMuslOFlags", "safeSetTimeout", "setImmediateWrapped", "safeRequestAnimationFrame", "clearImmediateWrapped", "polyfillSetImmediate", "registerPostMainLoop", "registerPreMainLoop", "getPromise", "makePromise", "idsToPromises", "makePromiseCallback", "ExceptionInfo", "findMatchingCatch", "Browser_asyncPrepareDataCounter", "arraySum", "addDays", "getSocketFromFD", "getSocketAddress", "FS_unlink", "FS_mkdirTree", "_setNetworkCallback", "heapObjectForWebGLType", "toTypedArrayIndex", "webgl_enable_ANGLE_instanced_arrays", "webgl_enable_OES_vertex_array_object", "webgl_enable_WEBGL_draw_buffers", "webgl_enable_WEBGL_multi_draw", "webgl_enable_EXT_polygon_offset_clamp", "webgl_enable_EXT_clip_control", "webgl_enable_WEBGL_polygon_mode", "emscriptenWebGLGet", "computeUnpackAlignedImageSize", "colorChannelsInGlTextureFormat", "emscriptenWebGLGetTexPixelData", "emscriptenWebGLGetUniform", "webglGetUniformLocation", "webglPrepareUniformLocationsBeforeFirstUse", "webglGetLeftBracePos", "emscriptenWebGLGetVertexAttrib", "__glGetActiveAttribOrUniform", "writeGLArray", "registerWebGlEventCallback", "runAndAbortIfError", "ALLOC_NORMAL", "ALLOC_STACK", "allocate", "writeStringToMemory", "writeAsciiToMemory", "setErrNo", "demangle", "stackTrace"]; - GB.forEach(Nh); - var CB = ["run", "addOnPreRun", "addOnInit", "addOnPreMain", "addOnExit", "addOnPostRun", "addRunDependency", "removeRunDependency", "out", "err", "callMain", "abort", "wasmMemory", "writeStackCookie", "checkStackCookie", "convertI32PairToI53Checked", "stackSave", "stackRestore", "stackAlloc", "ptrToString", "zeroMemory", "exitJS", "getHeapMax", "growMemory", "ENV", "ERRNO_CODES", "strError", "DNS", "Protocols", "Sockets", "timers", "warnOnce", "readEmAsmArgsArray", "jstoi_s", "getExecutableName", "keepRuntimeAlive", "asyncLoad", "alignMemory", "mmapAlloc", "wasmTable", "noExitRuntime", "getCFunc", "uleb128Encode", "sigToWasmTypes", "generateFuncType", "convertJsFunctionToWasm", "freeTableIndexes", "functionsInTableMap", "getEmptyTableSlot", "updateTableMap", "getFunctionAddress", "PATH", "PATH_FS", "UTF8Decoder", "UTF8ArrayToString", "stringToUTF8Array", "lengthBytesUTF8", "intArrayFromString", "stringToAscii", "UTF16Decoder", "stringToUTF8OnStack", "writeArrayToMemory", "JSEvents", "specialHTMLTargets", "findCanvasEventTarget", "currentFullscreenStrategy", "restoreOldWindowedStyle", "UNWIND_CACHE", "ExitStatus", "getEnvStrings", "doReadv", "doWritev", "initRandomFill", "randomFill", "promiseMap", "uncaughtExceptionCount", "exceptionLast", "exceptionCaught", "Browser", "getPreloadedImageData__data", "wget", "MONTH_DAYS_REGULAR", "MONTH_DAYS_LEAP", "MONTH_DAYS_REGULAR_CUMULATIVE", "MONTH_DAYS_LEAP_CUMULATIVE", "isLeapYear", "ydayFromDate", "SYSCALLS", "preloadPlugins", "FS_createPreloadedFile", "FS_modeStringToFlags", "FS_getMode", "FS_stdin_getChar_buffer", "FS_stdin_getChar", "FS_createPath", "FS_createDevice", "FS_readFile", "FS", "FS_createDataFile", "FS_createLazyFile", "MEMFS", "TTY", "PIPEFS", "SOCKFS", "tempFixedLengthArray", "miniTempWebGLFloatBuffers", "miniTempWebGLIntBuffers", "GL", "AL", "GLUT", "EGL", "GLEW", "IDBStore", "SDL", "SDL_gfx", "allocateUTF8", "allocateUTF8OnStack", "print", "printErr"]; - CB.forEach(iu); - var BA; - yi = function p() { - BA || hu(), BA || (yi = p); + n.wasmExports = Ne, n.ccall = _l, n.cwrap = OB, n.addFunction = HB, n.removeFunction = MB, n.setValue = Pk, n.getValue = Fk, n.UTF8ToString = Mn, n.stringToUTF8 = rr, n.UTF16ToString = DB, n.stringToUTF16 = jB; + var rD = ["writeI53ToI64", "writeI53ToI64Clamped", "writeI53ToI64Signaling", "writeI53ToU64Clamped", "writeI53ToU64Signaling", "readI53FromI64", "readI53FromU64", "convertI32PairToI53", "convertU32PairToI53", "getTempRet0", "setTempRet0", "inetPton4", "inetNtop4", "inetPton6", "inetNtop6", "readSockaddr", "writeSockaddr", "emscriptenLog", "readEmAsmArgs", "jstoi_q", "listenOnce", "autoResumeAudioContext", "dynCallLegacy", "getDynCaller", "dynCall", "handleException", "runtimeKeepalivePush", "runtimeKeepalivePop", "callUserCallback", "maybeExit", "asmjsMangle", "HandleAllocator", "getNativeTypeSize", "STACK_SIZE", "STACK_ALIGN", "POINTER_SIZE", "ASSERTIONS", "reallyNegative", "unSign", "strLen", "reSign", "formatString", "intArrayToString", "AsciiToString", "lengthBytesUTF16", "UTF32ToString", "stringToUTF32", "lengthBytesUTF32", "stringToNewUTF8", "registerKeyEventCallback", "maybeCStringToJsString", "findEventTarget", "getBoundingClientRect", "fillMouseEventData", "registerMouseEventCallback", "registerWheelEventCallback", "registerUiEventCallback", "registerFocusEventCallback", "fillDeviceOrientationEventData", "registerDeviceOrientationEventCallback", "fillDeviceMotionEventData", "registerDeviceMotionEventCallback", "screenOrientation", "fillOrientationChangeEventData", "registerOrientationChangeEventCallback", "fillFullscreenChangeEventData", "registerFullscreenChangeEventCallback", "JSEvents_requestFullscreen", "JSEvents_resizeCanvasForFullscreen", "registerRestoreOldStyle", "hideEverythingExceptGivenElement", "restoreHiddenElements", "setLetterbox", "softFullscreenResizeWebGLRenderTarget", "doRequestFullscreen", "fillPointerlockChangeEventData", "registerPointerlockChangeEventCallback", "registerPointerlockErrorEventCallback", "requestPointerLock", "fillVisibilityChangeEventData", "registerVisibilityChangeEventCallback", "registerTouchEventCallback", "fillGamepadEventData", "registerGamepadEventCallback", "registerBeforeUnloadEventCallback", "fillBatteryEventData", "battery", "registerBatteryEventCallback", "setCanvasElementSize", "getCanvasElementSize", "jsStackTrace", "getCallstack", "convertPCtoSourceLocation", "checkWasiClock", "wasiRightsToMuslOFlags", "wasiOFlagsToMuslOFlags", "safeSetTimeout", "setImmediateWrapped", "safeRequestAnimationFrame", "clearImmediateWrapped", "polyfillSetImmediate", "registerPostMainLoop", "registerPreMainLoop", "getPromise", "makePromise", "idsToPromises", "makePromiseCallback", "ExceptionInfo", "findMatchingCatch", "Browser_asyncPrepareDataCounter", "arraySum", "addDays", "getSocketFromFD", "getSocketAddress", "FS_unlink", "FS_mkdirTree", "_setNetworkCallback", "heapObjectForWebGLType", "toTypedArrayIndex", "webgl_enable_ANGLE_instanced_arrays", "webgl_enable_OES_vertex_array_object", "webgl_enable_WEBGL_draw_buffers", "webgl_enable_WEBGL_multi_draw", "webgl_enable_EXT_polygon_offset_clamp", "webgl_enable_EXT_clip_control", "webgl_enable_WEBGL_polygon_mode", "emscriptenWebGLGet", "computeUnpackAlignedImageSize", "colorChannelsInGlTextureFormat", "emscriptenWebGLGetTexPixelData", "emscriptenWebGLGetUniform", "webglGetUniformLocation", "webglPrepareUniformLocationsBeforeFirstUse", "webglGetLeftBracePos", "emscriptenWebGLGetVertexAttrib", "__glGetActiveAttribOrUniform", "writeGLArray", "registerWebGlEventCallback", "runAndAbortIfError", "ALLOC_NORMAL", "ALLOC_STACK", "allocate", "writeStringToMemory", "writeAsciiToMemory", "setErrNo", "demangle", "stackTrace"]; + rD.forEach(gk); + var iD = ["run", "addOnPreRun", "addOnInit", "addOnPreMain", "addOnExit", "addOnPostRun", "addRunDependency", "removeRunDependency", "out", "err", "callMain", "abort", "wasmMemory", "writeStackCookie", "checkStackCookie", "convertI32PairToI53Checked", "stackSave", "stackRestore", "stackAlloc", "ptrToString", "zeroMemory", "exitJS", "getHeapMax", "growMemory", "ENV", "ERRNO_CODES", "strError", "DNS", "Protocols", "Sockets", "timers", "warnOnce", "readEmAsmArgsArray", "jstoi_s", "getExecutableName", "keepRuntimeAlive", "asyncLoad", "alignMemory", "mmapAlloc", "wasmTable", "noExitRuntime", "getCFunc", "uleb128Encode", "sigToWasmTypes", "generateFuncType", "convertJsFunctionToWasm", "freeTableIndexes", "functionsInTableMap", "getEmptyTableSlot", "updateTableMap", "getFunctionAddress", "PATH", "PATH_FS", "UTF8Decoder", "UTF8ArrayToString", "stringToUTF8Array", "lengthBytesUTF8", "intArrayFromString", "stringToAscii", "UTF16Decoder", "stringToUTF8OnStack", "writeArrayToMemory", "JSEvents", "specialHTMLTargets", "findCanvasEventTarget", "currentFullscreenStrategy", "restoreOldWindowedStyle", "UNWIND_CACHE", "ExitStatus", "getEnvStrings", "doReadv", "doWritev", "initRandomFill", "randomFill", "promiseMap", "uncaughtExceptionCount", "exceptionLast", "exceptionCaught", "Browser", "getPreloadedImageData__data", "wget", "MONTH_DAYS_REGULAR", "MONTH_DAYS_LEAP", "MONTH_DAYS_REGULAR_CUMULATIVE", "MONTH_DAYS_LEAP_CUMULATIVE", "isLeapYear", "ydayFromDate", "SYSCALLS", "preloadPlugins", "FS_createPreloadedFile", "FS_modeStringToFlags", "FS_getMode", "FS_stdin_getChar_buffer", "FS_stdin_getChar", "FS_createPath", "FS_createDevice", "FS_readFile", "FS", "FS_createDataFile", "FS_createLazyFile", "MEMFS", "TTY", "PIPEFS", "SOCKFS", "tempFixedLengthArray", "miniTempWebGLFloatBuffers", "miniTempWebGLIntBuffers", "GL", "AL", "GLUT", "EGL", "GLEW", "IDBStore", "SDL", "SDL_gfx", "allocateUTF8", "allocateUTF8OnStack", "print", "printErr"]; + iD.forEach(vl); + var CA; + Ci = function p() { + CA || jl(), CA || (Ci = p); }; - function xB() { - fu(), Ch(); + function aD() { + Ql(), rk(); } - function hu() { - if ($n > 0 || (xB(), xh(), $n > 0)) return; + function jl() { + if (er > 0 || (aD(), ik(), er > 0)) return; function p() { - BA || (BA = !0, n.calledRun = !0, !ge && (_h(), i(n), n.onRuntimeInitialized?.(), O(!n._main, 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'), Hh())); + CA || (CA = !0, n.calledRun = !0, !fe && (ak(), i(n), n.onRuntimeInitialized?.(), M(!n._main, 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'), Ak())); } n.setStatus ? (n.setStatus("Running..."), setTimeout(() => { setTimeout(() => n.setStatus(""), 1), p(); - }, 1)) : p(), hs(); + }, 1)) : p(), Es(); } - function _B() { - var p = H, u = C, b = !1; + function AD() { + var p = H, l = C, b = !1; H = C = (v) => { b = !0; }; try { - gu(0), ["stdout", "stderr"].forEach((v) => { - var B = h.analyzePath("/dev/" + v); + Il(0), ["stdout", "stderr"].forEach((v) => { + var B = k.analyzePath("/dev/" + v); if (B) { - var y = B.object, E = y.rdev, x = Pn.ttys[E]; + var y = B.object, E = y.rdev, x = hn.ttys[E]; x?.output?.length && (b = !0); } }); } catch { } - H = p, C = u, b && Fn("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc."); + H = p, C = l, b && vn("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc."); } if (n.preInit) for (typeof n.preInit == "function" && (n.preInit = [n.preInit]); n.preInit.length > 0; ) n.preInit.pop()(); - hu(), r = A; + jl(), r = A; for (let p of Object.keys(n)) p in t || Object.defineProperty(t, p, { configurable: !0, get() { He(`Access to module property ('${p}') is no longer possible via the module constructor argument; Instead, use the result of the module constructor.`); } }); return r; }); - })(), lb = ku; -}), ub = {}; -ze(ub, { default: () => mb }); -var mb, OB = it(() => { + })(), Eb = Rl; +}), Gb = {}; +ze(Gb, { default: () => Cb }); +var Cb, pD = it(() => { "use strict"; - mb = "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AF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv//AAAAIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL//wC5AF0ApACFAEwAlwAkAKYAkgCSACkAlQA7AGUAjwCpAMMAfwCwAKoAUQBNAKEAnwBAAG0ALACaAGAAPwBNAIUAFP/A/8f/x//I/8j/zv/O/8//z//V/9X/1f/W/9b/1//e/97/3v/e/+D/4f/l/+X/5f/l/+cAAP/7////8wCKACr/4v/0//0ABgAOABoAIAAoACoALwAvAC8AMwA3ADoASABSAFwAXgBnAG8AdAB0AHQAdAB3/97/3P/d/9T/3v/CADf/xQBL/7gALf/G/78ACv/h//IAIf/y/70AEAAxACz/kv/uAAMAB/+r//r/+//S//b/9AAgAAb/Rv9C/0L/Rf9B/0L/PP9E/0n/Rf9F/0X/Uv9N/03/Tf9C/1T/Wf9V/1X/WP9U/83/VP9h/13/Xf9d/2L/V/+q/2n/Y/9j/3L/Y/9m/2L/e/+P/4v/i/+L/6v/p/+n/6f/jf+2/73/t/+3/8L/tv94/77/7//r/+v/6//x/97/8P7V/1r+0v9x/sj+xf90/vL9n/4E4GjgZuCy4LLgsuCs4KzgqeBL4EvgPeBT4I/gVeBV32ffvwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAIRI0x5fDzz1AAMD6AAAAAAAAAAAAAAAAAAAAAD/5P8HAnQDIwAAAAgAAgAAAAAAAAABAAADI/8IAAACWAAAAAACdAABAAAAAAAAAAAAAAAAAAAA9AJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAAAAFAAAPQAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACAA4A0gADAAEECQADAEQA4AADAAEECQAEACwBJAADAAEECQAFABoBUAADAAEECQAGACgBagADAAEECQANAQIBkgADAAEECQAOAIAClABDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwBSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwA7AEMAaAByAG8AbQBGAGkAeABlAGQATwBUAEYARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwBWAGUAcgBzAGkAbwBuACAAMQAuADAAMAAwAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAAAAwAAAAAAAP+cADIAAAABAAAAAAAAAAAAAAAAAAAAAA=="; -}), wb = {}; -ze(wb, { default: () => bb }); -var bb, MB = it(() => { + Cb = "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AF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv//AAAAIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL//wC5AF0ApACFAEwAlwAkAKYAkgCSACkAlQA7AGUAjwCpAMMAfwCwAKoAUQBNAKEAnwBAAG0ALACaAGAAPwBNAIUAFP/A/8f/x//I/8j/zv/O/8//z//V/9X/1f/W/9b/1//e/97/3v/e/+D/4f/l/+X/5f/l/+cAAP/7////8wCKACr/4v/0//0ABgAOABoAIAAoACoALwAvAC8AMwA3ADoASABSAFwAXgBnAG8AdAB0AHQAdAB3/97/3P/d/9T/3v/CADf/xQBL/7gALf/G/78ACv/h//IAIf/y/70AEAAxACz/kv/uAAMAB/+r//r/+//S//b/9AAgAAb/Rv9C/0L/Rf9B/0L/PP9E/0n/Rf9F/0X/Uv9N/03/Tf9C/1T/Wf9V/1X/WP9U/83/VP9h/13/Xf9d/2L/V/+q/2n/Y/9j/3L/Y/9m/2L/e/+P/4v/i/+L/6v/p/+n/6f/jf+2/73/t/+3/8L/tv94/77/7//r/+v/6//x/97/8P7V/1r+0v9x/sj+xf90/vL9n/4E4GjgZuCy4LLgsuCs4KzgqeBL4EvgPeBT4I/gVeBV32ffvwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAIRI0x5fDzz1AAMD6AAAAAAAAAAAAAAAAAAAAAD/5P8HAnQDIwAAAAgAAgAAAAAAAAABAAADI/8IAAACWAAAAAACdAABAAAAAAAAAAAAAAAAAAAA9AJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAAAAFAAAPQAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACAA4A0gADAAEECQADAEQA4AADAAEECQAEACwBJAADAAEECQAFABoBUAADAAEECQAGACgBagADAAEECQANAQIBkgADAAEECQAOAIAClABDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwBSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwA7AEMAaAByAG8AbQBGAGkAeABlAGQATwBUAEYARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwBWAGUAcgBzAGkAbwBuACAAMQAuADAAMAAwAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAAAAwAAAAAAAP+cADIAAAABAAAAAAAAAAAAAAAAAAAAAA=="; +}), xb = {}; +ze(xb, { default: () => _b }); +var _b, uD = it(() => { "use strict"; - bb = "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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAACLrmuRfDzz1AAMD6AAAAAAAAAAAAAAAAAAAAAD/j/8HAskDKwABAAgAAgAAAAAAAAABAAADK/8IAAACWAAAAAACyQABAAAAAAAAAAAAAAAAAAAA9AJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAAAAFAAAPQAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACAAgA0gADAAEECQADAFYA2gADAAEECQAEADYBMAADAAEECQAFABoBZgADAAEECQAGADABgAADAAEECQANAQIBsAADAAEECQAOAIACsgBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwBCAG8AbABkAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBCAG8AbABkADsAQwBoAHIAbwBtAEYAaQB4AGUAZABPAFQARgAtAEIAbwBsAGQARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAE0AbwBuAG8AQgBvAGwAZABVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAAAAAAD/nAAyAAAAAQAAAAAAAAAAAAAAAAAAAAA="; -}), gb = {}; -ze(gb, { default: () => fb }); -var fb, jB = it(() => { + _b = "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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAACLrmuRfDzz1AAMD6AAAAAAAAAAAAAAAAAAAAAD/j/8HAskDKwABAAgAAgAAAAAAAAABAAADK/8IAAACWAAAAAACyQABAAAAAAAAAAAAAAAAAAAA9AJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAAAAFAAAPQAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACAAgA0gADAAEECQADAFYA2gADAAEECQAEADYBMAADAAEECQAFABoBZgADAAEECQAGADABgAADAAEECQANAQIBsAADAAEECQAOAIACsgBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwBCAG8AbABkAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBCAG8AbABkADsAQwBoAHIAbwBtAEYAaQB4AGUAZABPAFQARgAtAEIAbwBsAGQARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAE0AbwBuAG8AQgBvAGwAZABVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAAAAAAD/nAAyAAAAAQAAAAAAAAAAAAAAAAAAAAA="; +}), Hb = {}; +ze(Hb, { default: () => Ib }); +var Ib, lD = it(() => { "use strict"; - fb = "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APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL//wAAACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AuQBdAKQAhQBMAJcAJACmAJIAkgApAJUAOwBlAI8AqQDDAH8AsACqAFEATQChAJ8AQABtACwAmgBgAD8ATQCFABT/wP/H/8f/yP/I/87/zv/P/8//1f/V/9X/1v/W/9f/3v/e/97/3v/g/+H/5f/l/+X/5f/nAAD/+/////MAigAq/+L/9P/9AAYADgAaACAAKAAqAC8ALwAvADMANwA6AEgAUgBcAF4AZwBvAHQAdAB0AHQAd//e/9z/3f/U/97/wgA3/8UAS/+4AC3/xv+/AAr/4f/yACH/8v+9ABAAMQAs/5L/7gADAAf/q//6//v/0v/2//QAIAAG/0b/Qv9C/0X/Qf9C/zz/RP9J/0X/Rf9F/1L/Tf9N/03/Qv9U/1n/Vf9V/1j/VP/N/1T/Yf9d/13/Xf9i/1f/qv9p/2P/Y/9y/2P/Zv9i/3v/j/+L/4v/i/+r/6f/p/+n/43/tv+9/7f/t//C/7b/eP++/+//6//r/+v/8f/e//D+1f9a/tL/cf7I/sX/dP7y/Z/+BOBo4GbgsuCy4LLgrOCs4KngS+BL4D3gU+CP4FXgVd9n378AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAD/b94iXw889QADA+gAAAAAAAAAAAAAAAAAAAAA/4r/BwK1AysAAwAIAAIAAAAAAAAAAQAAAyv/CAAAAlgAAAAAArUAAQAAAAAAAAAAAAAAAAAAAPQCWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAABQAAD0AAAAAAAJAHIAAwABBAkAAACmAAAAAwABBAkAAQAsAKYAAwABBAkAAgAWANIAAwABBAkAAwBuAOgAAwABBAkABABEAVYAAwABBAkABQAaAZoAAwABBAkABgA8AbQAAwABBAkADQECAfAAAwABBAkADgCAAvIAQwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAAVABoAGUAIABQAEQARgBpAHUAbQAgAEEAdQB0AGgAbwByAHMALgAgAE8AcgBpAGcAaQBuAGEAbAAgAGMAbwBkAGUAIABjAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABGAG8AeABpAHQAIABTAG8AZgB0AHcAYQByAGUAIABJAG4AYwAuAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAE0AbwBuAG8AQgBvAGwAZAAgAEkAdABhAGwAaQBjAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBCAG8AbABkAEkAdABhAGwAaQBjADsAQwBoAHIAbwBtAEYAaQB4AGUAZABPAFQARgAtAEIAbwBsAGQASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwAgAEIAbwBsAGQAIABJAHQAYQBsAGkAYwBWAGUAcgBzAGkAbwBuACAAMQAuADAAMAAwAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBCAG8AbABkAEkAdABhAGwAaQBjAFUAcwBlACAAbwBmACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABnAG8AdgBlAHIAbgBlAGQAIABiAHkAIAB0AGgAZQAgAEIAUwBEAC0AcwB0AHkAbABlACAAbABpAGMAZQBuAHMAZQAgAG8AZgAgAFAARABGAGkAdQBtADoAIABoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAAwAAAAAAAP+cADIAAAABAAAAAAAAAAAAAAAAAAAAAA=="; -}), Fb = {}; -ze(Fb, { default: () => vb }); -var vb, RB = it(() => { + Ib = "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APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL//wAAACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AuQBdAKQAhQBMAJcAJACmAJIAkgApAJUAOwBlAI8AqQDDAH8AsACqAFEATQChAJ8AQABtACwAmgBgAD8ATQCFABT/wP/H/8f/yP/I/87/zv/P/8//1f/V/9X/1v/W/9f/3v/e/97/3v/g/+H/5f/l/+X/5f/nAAD/+/////MAigAq/+L/9P/9AAYADgAaACAAKAAqAC8ALwAvADMANwA6AEgAUgBcAF4AZwBvAHQAdAB0AHQAd//e/9z/3f/U/97/wgA3/8UAS/+4AC3/xv+/AAr/4f/yACH/8v+9ABAAMQAs/5L/7gADAAf/q//6//v/0v/2//QAIAAG/0b/Qv9C/0X/Qf9C/zz/RP9J/0X/Rf9F/1L/Tf9N/03/Qv9U/1n/Vf9V/1j/VP/N/1T/Yf9d/13/Xf9i/1f/qv9p/2P/Y/9y/2P/Zv9i/3v/j/+L/4v/i/+r/6f/p/+n/43/tv+9/7f/t//C/7b/eP++/+//6//r/+v/8f/e//D+1f9a/tL/cf7I/sX/dP7y/Z/+BOBo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AG8AZgB0AHcAYQByAGUAIABJAG4AYwAuAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAE0AbwBuAG8AQgBvAGwAZAAgAEkAdABhAGwAaQBjAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBCAG8AbABkAEkAdABhAGwAaQBjADsAQwBoAHIAbwBtAEYAaQB4AGUAZABPAFQARgAtAEIAbwBsAGQASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwAgAEIAbwBsAGQAIABJAHQAYQBsAGkAYwBWAGUAcgBzAGkAbwBuACAAMQAuADAAMAAwAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBCAG8AbABkAEkAdABhAGwAaQBjAFUAcwBlACAAbwBmACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABnAG8AdgBlAHIAbgBlAGQAIABiAHkAIAB0AGgAZQAgAEIAUwBEAC0AcwB0AHkAbABlACAAbABpAGMAZQBuAHMAZQAgAG8AZgAgAFAARABGAGkAdQBtADoAIABoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAAwAAAAAAAP+cADIAAAABAAAAAAAAAAAAAAAAAAAAAA=="; +}), Qb = {}; +ze(Qb, { default: () => Sb }); +var Sb, mD = it(() => { "use strict"; - vb = "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BgsAAAAEAlgBkAAFAAACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAABFUERGAIEAICEiAyP/CAAAAyMA+AAAAAEAAAAAAAAAAAAAACAAAQAAAAEAAwABAAAADAAEBtgAAAGyAQAABwCyACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv///+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f+//7//v/+//7//v/+//7//v/+//7//v/++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv+//73/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/3L/cv9o/2j/Uv9O/07/O/4K/frgxeDF4MLgwuDC4MHgweDB4MDgwODA4L3gtOCs4KzgPd/JAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAPObZYV8PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAP/Q/wcClwMjAAIACAACAAAAAAAAAAEAAAMj/wgAAAJYAAAAAAKXAAEAAAAAAAAAAAAAAAAAAAD0AlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAAAUAAA9AAAAAAACQByAAMAAQQJAAAApgAAAAMAAQQJAAEALACmAAMAAQQJAAIADADSAAMAAQQJAAMAXgDeAAMAAQQJAAQAOgE8AAMAAQQJAAUAGgF2AAMAAQQJAAYANAGQAAMAAQQJAA0BAgHEAAMAAQQJAA4AgALGAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAFQAaABlACAAUABEAEYAaQB1AG0AIABBAHUAdABoAG8AcgBzAC4AIABPAHIAaQBnAGkAbgBhAGwAIABjAG8AZABlACAAYwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAARgBvAHgAaQB0ACAAUwBvAGYAdAB3AGEAcgBlACAASQBuAGMALgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABNAG8AbgBvAEkAdABhAGwAaQBjAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBJAHQAYQBsAGkAYwA7AEMAaAByAG8AbQBGAGkAeABlAGQATwBUAEYALQBJAHQAYQBsAGkAYwBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABNAG8AbgBvACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAE0AbwBuAG8ASQB0AGEAbABpAGMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQADAAAAAAAA/5wAMgAAAAEAAAAAAAAAAAAAAAAAAAAA"; -}), Pb = {}; -ze(Pb, { default: () => hb }); -var hb, LB = it(() => { + Sb = "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BgsAAAAEAlgBkAAFAAACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAABFUERGAIEAICEiAyP/CAAAAyMA+AAAAAEAAAAAAAAAAAAAACAAAQAAAAEAAwABAAAADAAEBtgAAAGyAQAABwCyACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv///+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f+//7//v/+//7//v/+//7//v/+//7//v/++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv+//73/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/3L/cv9o/2j/Uv9O/07/O/4K/frgxeDF4MLgwuDC4MHgweDB4MDgwODA4L3gtOCs4KzgPd/JAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAPObZYV8PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAP/Q/wcClwMjAAIACAACAAAAAAAAAAEAAAMj/wgAAAJYAAAAAAKXAAEAAAAAAAAAAAAAAAAAAAD0AlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAAAUAAA9AAAAAAACQByAAMAAQQJAAAApgAAAAMAAQQJAAEALACmAAMAAQQJAAIADADSAAMAAQQJAAMAXgDeAAMAAQQJAAQAOgE8AAMAAQQJAAUAGgF2AAMAAQQJAAYANAGQAAMAAQQJAA0BAgHEAAMAAQQJAA4AgALGAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAFQAaABlACAAUABEAEYAaQB1AG0AIABBAHUAdABoAG8AcgBzAC4AIABPAHIAaQBnAGkAbgBhAGwAIABjAG8AZABlACAAYwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAARgBvAHgAaQB0ACAAUwBvAGYAdAB3AGEAcgBlACAASQBuAGMALgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABNAG8AbgBvAEkAdABhAGwAaQBjAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBJAHQAYQBsAGkAYwA7AEMAaAByAG8AbQBGAGkAeABlAGQATwBUAEYALQBJAHQAYQBsAGkAYwBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABNAG8AbgBvACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAE0AbwBuAG8ASQB0AGEAbABpAGMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQADAAAAAAAA/5wAMgAAAAEAAAAAAAAAAAAAAAAAAAAA"; +}), Ob = {}; +ze(Ob, { default: () => Mb }); +var Mb, wD = it(() => { "use strict"; - hb = "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AQAABwCyACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv//AKsAVACXAHkAQwCLACAAmQCGAIYAIACJ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AiwAAAIsAAACLAAAAiwAAAH0AAAC0gAAAfQAAAH0AAAB9AAAAfQAAAIsAAAB9AAAAfQAAAIsAAAAAFAAAOYAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACAA4A0gADAAEECQADAEIA4AADAAEECQAEACwBIgADAAEECQAFABoBTgADAAEECQAGACgBaAADAAEECQANAQIBkAADAAEECQAOAIACkgBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBhAG4AcwBSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQAUwBhAG4AcwA7AEMAaAByAG8AbQBTAGEAbgBzAE8AVABGAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAYQBuAHMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQADAAAAAAAA/5wAMgAAAAAAAAAAAAAAAAAAAAAAAAAA"; -}), kb = {}; -ze(kb, { default: () => Bb }); -var Bb, TB = it(() => { + Mb = "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AQAABwCyACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv//AKsAVACXAHkAQwCLACAAmQCGAIYAIACJ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AiwAAAIsAAACLAAAAiwAAAH0AAAC0gAAAfQAAAH0AAAB9AAAAfQAAAIsAAAB9AAAAfQAAAIsAAAAAFAAAOYAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACAA4A0gADAAEECQADAEIA4AADAAEECQAEACwBIgADAAEECQAFABoBTgADAAEECQAGACgBaAADAAEECQANAQIBkAADAAEECQAOAIACkgBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBhAG4AcwBSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQAUwBhAG4AcwA7AEMAaAByAG8AbQBTAGEAbgBzAE8AVABGAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAYQBuAHMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQADAAAAAAAA/5wAMgAAAAAAAAAAAAAAAAAAAAAAAAAA"; +}), jb = {}; +ze(jb, { default: () => Rb }); +var Rb, bD = it(() => { "use strict"; - Bb = "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AGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBhAG4AcwAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMAQgBvAGwAZABVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="; -}), Db = {}; -ze(Db, { default: () => yb }); -var yb, KB = it(() => { + Rb = "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AGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBhAG4AcwAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMAQgBvAGwAZABVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="; +}), Lb = {}; +ze(Lb, { default: () => Tb }); +var Tb, gD = it(() => { "use strict"; - yb = "T1RUTwAJAIAAAwAQQ0ZGIH28hugAAACcAABAIk9TLzJTR3FqAABAwAAAAGBjbWFwtEBbHAAAQSAAAAbkaGVhZGLGQ8MAAEgEAAAANmhoZWEIHgQ0AABIPAAAACRobXR489UAAAAASGAAAAOYbWF4cADmUAAAAEv4AAAABm5hbWVa5nUnAABMAAAAA+Bwb3N0/5MAMgAAT+AAAAAgAQAEAgABAQEXQ2hyb21TYW5zUFMtQm9sZEl0YWxpYwABAQEn+BAA+BwB+B0C+B4D+BQEfwwC+0L7ePru+lYF9zwP+JwRsRw5/BIABAEBBS9IVUV1cm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaHJvbSBTYW5zIFBTIEJvbGQgSXRhbGljQ2hyb20gU2FucyBQUwAAAQABAACBAQCEAACGAgCRAABjAABtAQCMAACSAADHAADkAAACBQBoAAAJNwB8AABCHQGHAAB1AABlAAB2AAB5AABwAQB+AAB6AADAAABrAACOAABBAAAIAABpAAB3AAB0AABvAACJAAB/AACZAADdAABsAACUAADGAABgAgBnAABkAACgAABmAACDAACqAACLAABqAACXAACmAAClAACAAAChAACcAACkAACpAAB9AACYAABzAAByAACFAACWAACPAAB4AACeAACbAACjAAB7AACuAACrAQCwAACtAACvAACKAACxAAC1AACyAgC5AAC2AgCaAAC6AAC+AAC7AQC/AAC9AACoAACNAADEAADBAgDFAACdAACVAADLAADIAQDNAADKAADMAACQAADOAADSAADPAgDWAADTAgCnAADXAADbAADYAQDcAADaAACfAACTAADhAADeAgDiAACiAADjAADmAgABAAQABwA3AEwAdgCJALkAzwDeAPYBSAGUAbwB4AIrAnACmQLTAzkDyQRaBQQFIQVfBZcFzAXzBhoGLgZABlUGngbKBx8HgwfFCCUIkAjBCTUJnwnCCfoKHwo/CmIKtwtlC5YL7ww5DGsMlwy6DRoNSA1YDYkNtw3JDgcOLQ58DrgPLQ+KD+YQChBZEHQQshDhEQMRMRFTEWwRjRGuEbwRyxIdEn0SxxMhE3MTsRQcFGQUghTGFPIU/hVlFa8VyRYkFoAWvxcWF1oXqBfFGAEYLxhrGJgY6xkEGVsZ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IBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv///+H/7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/yf/Mv8X/yL/Dv6R/pH+3v2v/aXgbOBs4GLgYuBV4GDgYOBT4FPgU+Bc4EzgRuA/4Erfwt9g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AGMARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAGEAbgBzAEIAbwBsAGQASQB0AGEAbABpAGMAOwBDAGgAcgBvAG0AUwBhAG4AcwBQAFMALQBCAG8AbABkAEkAdABhAGwAaQBjAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAYQBuAHMAIABCAG8AbABkACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMAQgBvAGwAZABJAHQAYQBsAGkAYwBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAP/0AAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="; -}), Eb = {}; -ze(Eb, { default: () => Gb }); -var Gb, NB = it(() => { + Tb = "T1RUTwAJAIAAAwAQQ0ZGIH28hugAAACcAABAIk9TLzJTR3FqAABAwAAAAGBjbWFwtEBbHAAAQSAAAAbkaGVhZGLGQ8MAAEgEAAAANmhoZWEIHgQ0AABIPAAAACRobXR489UAAAAASGAAAAOYbWF4cADmUAAAAEv4AAAABm5hbWVa5nUnAABMAAAAA+Bwb3N0/5MAMgAAT+AAAAAgAQAEAgABAQEXQ2hyb21TYW5zUFMtQm9sZEl0YWxpYwABAQEn+BAA+BwB+B0C+B4D+BQEfwwC+0L7ePru+lYF9zwP+JwRsRw5/BIABAEBBS9IVUV1cm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaHJvbSBTYW5zIFBTIEJvbGQgSXRhbGljQ2hyb20gU2FucyBQUwAAAQABAACBAQCEAACGAgCRAABjAABtAQCMAACSAADHAADkAAACBQBoAAAJNwB8AABCHQGHAAB1AABlAAB2AAB5AABwAQB+AAB6AADAAABrAACOAABBAAAIAABpAAB3AAB0AABvAACJAAB/AACZAADdAABsAACUAADGAABgAgBnAABkAACgAABmAACDAACqAACLAABqAACXAACmAAClAACAAAChAACcAACkAACpAAB9AACYAABzAAByAACFAACWAACPAAB4AACeAACbAACjAAB7AACuAACrAQCwAACtAACvAACKAACxAAC1AACyAgC5AAC2AgCaAAC6AAC+AAC7AQC/AAC9AACoAACNAADEAADBAgDFAACdAACVAADLAADIAQDNAADKAADMAACQAADOAADSAADPAgDWAADTAgCnAADXAADbAADYAQDcAADaAACfAACTAADhAADeAgDiAACiAADjAADmAgABAAQABwA3AEwAdgCJALkAzwDeAPYBSAGUAbwB4AIrAnACmQLTAzkDyQRaBQQFIQVfBZcFzAXzBhoGLgZABlUGngbKBx8HgwfFCCUIkAjBCTUJnwnCCfoKHwo/CmIKtwtlC5YL7ww5DGsMlwy6DRoNSA1YDYkNtw3JDgcOLQ58DrgPLQ+KD+YQChBZEHQQshDhEQMRMRFTEWwRjRGuEbwRyxIdEn0SxxMhE3MTsRQcFGQUghTGFPIU/hVlFa8VyRYkFoAWvxcWF1oXqBfFGAEYLxhrGJgY6xkEGVsZ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IBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv///+H/7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/yf/Mv8X/yL/Dv6R/pH+3v2v/aXgbOBs4GLgYuBV4GDgYOBT4FPgU+Bc4EzgRuA/4Erfwt9g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AGMARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAGEAbgBzAEIAbwBsAGQASQB0AGEAbABpAGMAOwBDAGgAcgBvAG0AUwBhAG4AcwBQAFMALQBCAG8AbABkAEkAdABhAGwAaQBjAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAYQBuAHMAIABCAG8AbABkACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMAQgBvAGwAZABJAHQAYQBsAGkAYwBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAP/0AAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="; +}), Kb = {}; +ze(Kb, { default: () => Nb }); +var Nb, fD = it(() => { "use strict"; - Gb = "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AGkAYwBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGEAbgBzACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMASQB0AGEAbABpAGMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQAAAAMAAP/0AAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="; -}), Cb = {}; -ze(Cb, { default: () => xb }); -var xb, VB = it(() => { + Nb = "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AGkAYwBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGEAbgBzACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMASQB0AGEAbABpAGMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQAAAAMAAP/0AAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="; +}), Vb = {}; +ze(Vb, { default: () => Yb }); +var Yb, FD = it(() => { "use strict"; - xb = "T1RUTwAJAIAAAwAQQ0ZGIFTdMMYAAACcAABMDU9TLzJR3XD0AABMrAAAAGBjbWFwr01WZwAATQwAAAbkaGVhZGJXQ1kAAFPwAAAANmhoZWEHWAPWAABUKAAAACRobXR4zMUAAAAAVEwAAAOYbWF4cADmUAAAAFfkAAAABm5hbWVRfm43AABX7AAAA45wb3N0/58AMgAAW3wAAAAgAQAEAgABAQEOQ2hyb21TZXJpZk9URgABAQEm+BAA+BwB+B0C+B0D+BgE+zz7jvp8+gIFHAefDxwI9hG2HESjEgADAQEFLz5FdXJvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hyb20gU2VyaWYgT1RGAHsCAAEACQARACQALABKAFQAYABoAHEAhgCRAJ4AuQDBAOIA/wELAR0BJQEzAU4BVQFoAXoBfwGQAZQBnQGpAbkBxgH7AhQCGgI0AjwCSAJZAmMCcQKEAokCkgKsArYCwgLmAvAC/gMRAxkDIAMjAyoDSQNTA3EDjgOcA6IDqAPAA9gD7wP3A/4EAgQXBCoEMAREBFcEYgRpBHsEhwSYBKMEswS5BL8ExQTLBNgE5wTxBPsFCgUZBSIFKAUtBTsFPwVMBVkFXgViBW4FdAV3BYIFjQWUBZkFngWjBa0FtwXBBcsF0wXcBeUF7gX3BgAGBQYMBhIGGAYdBiEhCnhfbCodCxWzBvcuIh0L7AWVkZ+YohqPiqdrfYSLdHQeCzYdJgo+egoLcB2If2x8HoaCbHR1G2ZuqrofjQetlsP3K70eKgoLKx37Efc7BU0GCzcdTvtN+yLXOSsKCy0KioEdnFcKJB1ACu/7KR4LcAr7H2kd9w9hHfcQNAoycR06XgoLTHRyGXl4en8uCgsVrQb3DfL3DiQFrQYLbRtJgsmZH/fa+yZ9B6mJq39PGvuGByHZc7QLLh2e+3xQHQsV14aZdkEa+8IHT4v7V/eM95eL91DbHvePB/ScpNiTHguo93gV+xvlJGUd9x/u9yUt4vsX+xo5+wH7Dx7lC1sK92p3hQr35ikdC5sW94GaBkaPhqbNGvftB4eOCy0dTz/7E0kdoB73G04KBoj3IwX8pwuMCoaDcHUef3xwfnUbZm6quq+Ww/crvR9NCgt9HaGhPQoLOR2L3B/3ZQf3JIneiqR9lzsZC+n3nxX3ywb3F4BEyS0bO/sQC40bOQoLuPc9BW8GJl9ZbfsRG/spiws7HaILFbMG+yf3KAULqrE3Cr+JCr2ssB4LjqsV45uysMIb2pU+W5IfC/sIXERXHR+UhpqaGgsDlBb4yAaj90QFdAZCdW5K+xcb+4sG+ET49QWa/KIHd/s/BaUGzpihzfcjG/dnBvxJ/PUFC/ez9wkVOwr3BvuAGJlsuy98Gntj+x5XHgunp3ZVHQsVbbn3LPs4mBuRkI+SmG+zeaMfdalkt3WpC2WtTR1ymQoL+3oe9waMFfd49wMLeq4ffaigfFIdY3p9gXAbfAs8Cq5+pZKRiB0L/Co1CvuHB25zfG6JHgtRCmqYcYSDh4qIHoqHiIqJZAoLRwqICg4VQwr3XBZDCg6e+294B6qxiXUd+3b7KPdydQqMuY0envusCwGo5feZ5QMvHQt7oKCunLCqcaVtbQuxpaGlqxqob783X1V1QmkepHkFpJ2fq7sbtZpzcWVcclB5Hw7igcX3lfcvc6MLeAfRh6NwIBr7mAf7Hwt+G4WGh4R+p2Odcx+hbbJfoW0LqhvZndNlCguNmRubnooLMwoOoW9vdmIdCwb3ofgpBZr77weI+woFnQbBkpmt1Bv3FAb7nvwpBQtje5dvqqWeoaAL9wEDmxb3sAb3xtr3WPcZ93T7M/cB+4Qf+6J4BtgLBXYGaoNgi4Z1VKwyG/tA+zz7Dft0+433QSv3NQt7CvcXd9139wi095SxC4Ad92y0C1sd+DV3C/EDlxb4rga790IFcgb7F1JLh/sqGzh5C3gHuIeaiPH7KvcX+1QY+zgHP4hqKYkeC2usp4CzG/cf0vcg9wf3GT/dMj5dWm8Ln9ka+DwH2wv3afd6+zcLdW8eC32UBVhpZmBDGzdG1/cH9yfnqrDACxVvonSnp6Kip6d0om9vdHRvHg73Ffcs0QsHiaOeiqMb9MudtLYfnJu3tNkaCwfSl6LXkR6e+6p4B9WFmXdBGgsVvAb4VvlGBV0GC/dJ90n3JgtwoXWmpqKhpqZ0onBwdXRwHgtbelp9W28dkZWCCgtvoX0doqGnp3Sib291dG8eC2+gdpodlR10bx4Lb6F9HZ+hp6d3oW9vdWIdC34ZeweMCxX7GwdtC/t4+3AlC/sD+wMlC6Scz48envuueAdgCgv7I/ss+xqLZnZ3jI14Hg5sfYR/hIAf+yMLgcf4JHf3jJAKC21sQ0T7Dxv7EvsL4vdoC7ysabcbpp6cpaV4nHAfC8K4t8LCXrhUC3b5RncBCwGt9wYLj3gbKmBJU0HCZsloHwt1p6cLB/co93bQ9ayPr48ZC7YbvaFcbW1sWVlTHwv4AaB2C26JdgtmiB5892SaB1qPfwsVqAackQuHHg6798rDEvdR11TcC/dpBXYGgIl8dG8L4oHQ92SrC4+Mjh4LGvw8Bwt2+Sp3Cy5vHqR9BbKbpwv3Y5h2+J53AacLtiju77bu2dpgC/tYdvdjq/gOxwuFGoSOh5MeDnP7MHb56XcBC3P4Wnb3h3cBC3P4pHb3P3cBC3P7MKT5lKQBC6hzo25udHNuC6E9CncLGpKIj4MeDvcf6PcfC/sT+0KLC/dboHYLp6egCwEAAQYAaAAACTcAfAAAQiAAZwAAZAAAoAAAZgAAgwAAqgAAiwAAagAAlwAApQAAgAAAoQAAnAAApAAAqQAAfQAAmAAAcwAAcgAAhQAAlgAAjwAAeAAAngAAmwAAowAAewAArgAAqwEAsAAArQAArwAAigAAsQAAtQAAsgIAuQAAtgIAmgAAugAAvgAAuwEAvwAAvQAAqAAAjQAAxAAAwQIAxQAAnQAAlQAAywAAyAEAzQAAygAAzAAAkAAAzgAA0gAAzwIA1gAA0wIApwAA1wAA2wAA2AEA3AAA2gAAnwAAkwAA4QAA3gIA4gAAogAA4wAAkQAAjAAAkgAAjgAAlAAAwAAA3QAAxgEA5AAAZQAAfgAAiAAAgQEAhAAAhwAAfwAAhgAAbwAAiQAAQQAACAAAdQAAaQAAdwAAdgAAcAEAdAAAeQEAawEAYwABhwAAmQAApgAAbQEA5gIAAQADAAUARwBhAMwBUQHgApcCqgLdAxQDuAPdBAAEEAQfBDQEfgS0BQMFcQWhBhIGcgabBxAHfQeYB/YIGgg+CF0IxQl+CcIKSgp+CrUK/AtUC8EMCQwRDF8M0wz0DUwNZw2PDcYOMA6kDv4PRA9YD6MQMBCwEPoRBhEnET4RYBF/EY8RqxIEElQSlBMDExwTaxQaFIcUuxUNFZAVshZMFmoWpxbrF1UXsBgXGF8YhRjbGW4Z9BoXGigaeRqRGtwbHBteG+Ecjh0QHZQdrh5fHnUezh9EH14fgR/5IAkgQCB7IJkgtiC9IS8hXiFxIbQhzyIIIjQiWSKMIrojICM9I1gjayO3I9Uj/ySxJQ4lJyU8JU8lgyWWJcEl9SYmJmYmmSahJqkmuybzJyMnWyfWKDIoRChaKJMorCjwKXIpqyn1KgYqMSpcKsArZSvBK98r9iwOLC0sOSxELFAsaizaLSktWi2bLb0t+i4uLmAu2C7sLvovDy82L1EvkC+uL7Uv6DAiMNoxaDG9MiwyaDKAMpkzDDMbMyMzSjNbM5EzwzPpNAQ0DTQYNDc0TjRvNIk0oTTcNXU2MzZRNoU3OjdQN3A3izgaOL840jlcOd0gDiAOc4L1+Nd3AfcW9wAUIPdE90QVnAah91Ci9w7YGsqCvV1fglhOPaP7EKH7Th5d+xgVbqNzqKiloqiocaRubnNzbh4OvvhYdveJdwHY4N/gA/eq+EMVRAr7PRZECg6gdvdtvfchvPdhdxKN+IUX3ha/Bq/3bQX3GwZr+20FwQar920F9wG9Jgaf9yEF9wO8JQar92EFVQZs+2EF+xwGqvdhBVQGa/thBfsMWvcHBnX7IQX7D1n3BwYTYMi9FZ/3IQX3HAZ4+yEFDkl246f49KbKdxK3mvc/rfcmmhe3vhV6psdp7hs0reIH9JnjuPcHGvcAS677FdUe94oHvtVw+wKgH5r3AwayX0WZXBvKaUwH+xNYOUQp4lfmWB/7rgctVL/wdR98BvdN93YVE2RPs2CrwBqhkd7sHq789RX3nQcTRMpkvmtEGiU6fGqFHg74cH+pbnb3xKmfqfeRqZx3ErzU9yTT3tT3I9QTd8D3NIIVqXT4KPkpaqIFE7vA/JT7WxU8tiXx8bXx29tg8CceigYlYCY6H9SMFb6W78gejAbJlCZYW4IkTU2A8L4f97/7sRU8tiXx8Lbx29tg8SceigYlYCU6H9SMFcCW7scejAbJlCZYWoIkTk2A8b0fDvg5fr9X0vgEd/eCqxK158/ai/cxi8ATf/fV+DQVd7R3v7saybCktLavaVk4MVxwfR73APvmFW2ox07cG/W39wGPjB98lgVtc3d0VxtBR9yZgh/v9y2vw76xr5AZoPtsdgewiKZ8ZRpVTTxuZR5YyV7TZ9MIy6nmt+0a10y3QiZXNkNbmGqhTh4jTzBGIxr7F/NxyPcLysOusx5ypRUTv1FGWoR0G0RRy9jj1Lm4qB+1O78yxUUIDvtF+Fh294l3AbvgA+X4QxVECg6QHbvcA/e7+0UVl5sF+yT3A2n3ZvEa95Lw4NXGHoKbBfsvLy/7KvtAGvtz6if3LPsIHg6QHfde3gOo+zUVlHsF9y/3Aef3GfdAGvdzL/cA+yz3AB5/ewX3PvsNjvteJRr7cfsn+zFxeR4O+GWQi/cP+wh2qXe39xMS93OpEyz3hPhcFYyEBZRPZ1VsGnKdfZykmaKeHqlvmO4akgeSiAVxyaI+txuenJejHxPExkBsOr4eg5AF8szHYcsap3OTf2ZxR2ZKHoSHBRMcpQe/prumGpiDpXGEbYtkHl+kfjoafge+LIzBXhtwhXCEUeGhz2AfloQFN1E6rEwagJN2paKQkbCsHhMspKeLi76tCA73Y6B294mzAfeatQOp93wV93z7fLX3fPd6s/t6935h+377fAYOIH/3Bjh2EhOA1fsOFZR4BT8KeWBfs3iqlR4TQIyPlJQ4HQ5z91bKAbL3VhX3isr7igYOIID3AwHR9wMD0bYVQx0OPJJ6HYP3uwODfRWzBveT+UYFZgYOfaX5EqUBo+v3mOsD9wz33xXPjfeP9xT3FI37j0c8ifuE+xT7FIn3gtweKxb7DbX7dPdM90y193T3DfcKYfd3+0z7TGH7d/sKHg6gdvk4dwH3aeED9wMW96+aBkB3mdYf+M4Hg437SDAFfQehw4uLlxuti3F2H/xPB0Fff1GJHg6L1/ii1QH35uEDqRb4GgbC9x1+kAVMZGyIZhv7dwb3PPdEBbe63+b1GvcEMc8wMyxb+yttHqGGBcGhqdfmG/cKpC9YQGAxNC4f+0b7UQUOfa/45scS9/vFUdMT0Pct99wV0I2kiK94CMtqlytyGkBiUi5uc5iZdR6ZdHWadBt7dIRvV+KGo/cx9wzN9yL3GDbEYZ0fE2DNtrq2wRq0cOn7FUj7A2z7F2MenIcFp5rL2eYb1a1WWC8sYzBuHw6gdvcxy/hbdwH3uNkDl/cxFfet+zHY9zHxyyX4W18G+878WwWzFveC9/IFjfvyBg59sPjN2hL3+NEX9x/4eRW14wX3TgaWnouUjh+x2oKcBXyAeIBxG/thBiT7hAWEiI6FkRv3AIf3RWn7NBr7DkFTSnB2m5t1HhPAmnZ0mmwbY4tugWe6c9ofE2D3MvcC9fcZ5ICeYL8fE0BQ0y2ZO5kIDn2n9+a497J3Ab7o93flA/cu+A0VnvcO9ub3RqeJrxj7hoP7PvtA+18a+2bxQPcK90ao9zPU9xpEzSFTZIZnXh51+yEVx5Cel5wep5+8l60b9aIxJPsFZFdMQEPB9zwfDph2+OjVAZ/4QQP3QIMVzAb3aPkiBZv8BgdQ+yecgwW/rKeozBv3YwYOfaf5DqcS1tdF0fdg0EzXE+T3bPfMFfcHObttQRpFUmFMOl3M2Oa/squlHnGfFTJHXmw0Gj3NOfcQ9zq29wS/znrF+xrrHhPYwajXteca10PN+wU1JlUmOrdp30Ee1sQVZ6IuxNkau6vA1ti4VVQzTWZlch4Oi3b3dLb4GacBqef3iOgDxnUV95Gb9yf3UfdpGt9zx2O7HrxkVKhOG/sXiTwj+xEaOLoj9xm+v5Kwtx6MioNzWPt4+4diGffH9/kVVEqCWyB27tenk7ucrh6vnqakthvNrVtSmx+aVoxZiWgIDjyA9wP3jPcDi3cB3PcDA9z4JhVDHfv7BEMdDjz7DHb3KHb3CHf3nfcEEtv3BPsE9x8TlO37DhWUeAUTdKyX2szRGt9Ql3aAW4VUZqN5q5KWlIyOHoyPjoyNGxMYOQp5+KEVExBspHKqHhOYqqSkqqpypGxscnJsHw6MHfiQ/H7KA6f3gRX4kPuJBbgH/FH3bPhR92sFuQf8kPuMBQ73Y/cMzfcazWOzEhOgqffuFfiMs/yMBvueBPiMBhPAtvyMBw6MHYsDp4MV+JD3iQWoB/yQ94wFXQf4Uftr/FH7bAUO4oP09/5392OpEs++91/nF/d39zgVnAaZ4aWzwssIqa640b4a8UTL+wRGLVYmaZVus6eWo5ycg5eClR6Bl4CVmRqsvrG12KxIT2N4RnljHmk9c0ZQGmH7DBVuonSoqKOiqB4TgJQdHg74yH2y9wqsf7f3erf3N6oS9wjf9w3S+A2zE7/4HPejFfcN5NO7qZR0YVp9Y35rHk5yam1vG2hvo8cf9yJSFX6Ko1HNG/cLzvcc8fc9+yT3EvtM+1r7O/sl+2z7GvcG+1f3mdnZq6jKH3+pBXFSTXEyG/tC+wj3Hfcj93L3FPcK9y33S/T7K/sGHxPfNVr7Cjpekbyajh7N95wFRgaAWwUTMqN+f6ddG/sbTfs+RfsFz4Cnxbm/nZYfDlwdAZoW91qeBnZRpLKaH733GQX3mga6J5N9j3sIX5ZgdGYbePeTngdzaKG4dx/7mPjgBXcG+3f8q3hxfG1zXGx7LgoO98qLsPe1sveYsBL3BfH3hvE69wcT9JwW9+IG93Kf9x6x9Du7NJ0fjQcT+LiW46H3Axr3L/tDmTQe+6x4BtqcZncf/IYHbH9nN4ke91r3xxXrq4aBrR8T9L97vGo5Gvsa+w2CSVF5mbAe96kE93AHmo2jnx6VmYygGxP40vN4+wv7C/sLiW8fDvfKfbf4OXf3YbMBp/cIA/j79xcVdx33V9v3BPct9w/TOyKkH6IGgvd1WR33TOH3EY2MHw74AYuw+OCwAfPx9/NYHYWWcmca/HwHbH9pP4ce91LQFfh8B5+LqIsK+6j7intLjB5bjH+brRoOewr3tbT3mrES7vH3nKIXYgqWtB/3ggf3Loneipp9lzsZbwpEgIFzMhv7LvdoBq2XlTMdBhMQeAfKhqNxaxr8fQdkdG5LhB2ZHfd7d/cItPeasQHu8feKorSkA5cW96yeBkSOd6HWGvdlB/clidaKo4GWNxlvCkCBeXc5G/sl92gGqZKZpB73HE4K9yP8qngGyoajcWsa/GEHRX9xQIQd+AF9s/fKnfeuswGr9wb4F+wD+Fr35BXPhp97SZgKZ0Z0R/svI/cF90n3kfcnyur3IL8oQ6YeogaD92cFdQZvhWqGg2tdrCYb+2j7Fvs7+zz7gPcq+wv3avcC9xnFmR/3UwfSpZe3jx6d+5MHDoAd98+398N3Afbx98PxA54W96qeBj2QgbPNGvdN98P7TQdAh2s3hx5496qeBz2Qga7NGvg2Zx37TPvD90xnHfwxB0CHazeEHXOgdvkqQgoOq2r3DvjUdwH3RPED3vkXFdyGl3NEGvxTB1d8fXN1iqijgR6chH6Zbxtuem14fZF7m3kff5akfrUbpvchjvdWH/f2B9WZoNmQHp77swcO+AGDCgH3EPEDrRb3rp4GPY9/pdEa90UHpaD1IgWtaeskbBp1eopWiR5498WeB1KJZ75Lxvt9944Y91L3UNLRoI7HkBme+5p4B7yJnolwGmlucPt2+18e91cH1Zmg2ZAenvuweAfPhqF6PRr8OgdDf3E9hB33kouy9xt3+JB3AfcTXR2Wsx/4WQfacx38WQdodGtLhB34qIMKAfcBt/id8QNfCvgZjQf3jfy2BZkG95L4zQWN/FcGTn5pPYceePesngdLj3Se2Br4Rgfao5HKkB6e+1sH+3H8jft7+I0F+1x4BtWHooM9GvwgeAoO+AGVdquKHRL3Abf4M7cTeF8K+BCNBxO4OgoOWwqFCvfkcAr7HWkd9w9hHfcQYQr7AkQd1vHx9wMycR06ch3q93AeDpkd97Sz972wbQql3Br3N2Yd9xP7EMD7Hh77nHgG1ISWbXQa/FmNCvfMFfeOB6yWlqm39yaJdB34AftGnvcyoov4/ouvAcT3BvgWmgr3k4oV+zP3IfcnefcyG54H+yKZU7k+5wj3AJj3JPP3cBr3evst9wj7OPs4+y37Cft5+2n3Ci7och4q998V93nw3PHx8Dr7eftvLzL7A/sDL+T3bx4O98qLnvezsPeusAHx8fd+9wEDnBb3qZ4GO4+BqM4a908Hw433gvvIBfc1ngZijXOddab7YveRGL6V9xaj9xoa9y77OaAyHvuoeAbRhJpvbxr8YwdPh2o6hh73T/fYFfeAB6iUnMC09xeI+xn7I/sqiTeKHg73W32v+PS0ErWhluH3efAXtX0VoQabvZ2gnJ+AgageE/iEoKWFqxv3I8/r4PE4xDi8Hze9N7XWGsm+qr30uDE5nB6kBoiGHRt9d5aUcR+Sd3SScVUKE3B0Bg73kqB2+QC1AfeS8QP3NBb3uJ4GN45/qM8a+InBB/cCp3n7AqAfowaF9z4F/MgGhfs+BaMG9wGhpp73AhvB/IsGTYhrMIQdbgoB8/H3/bcDmfkXLR1jP/snSR34AZV2+TV3Epv5PRf4BIAVmgb3hvjpBRNgl6mXo7uOCJ77YXgHsYmufmIa+zr8PgX7QvgPebSaGquel8OOHp77nngHuomfd5hvCA7435V2+TV3n4sSkPozF/fBgBUT8JoG9y74O7b7Ad37Zq4jGZoGxvdV2fdg0PdOmbKdo7yTCJ77WngHrYisfWQadoNtg3Ye+w/73QX7J/gQfZecGq+7l6oenvufeAfAiph7rDiuQxgg+64F+yn4GYOSmRqloZu4jR6e+4l4B8SGl2SrOLEn9fumvvstCA74AYue+QSeAZUW932eBmRmmqueqrKgpR/3C/ce6vsWBZt0rlV5GmxwflkeePe9ngdXd6jCZB/7VPec9yb3QAXi0aWcwBue+4J4B62vf2x4end0bh/7BfsUBfsB9yR5rJ8aqaOXvx6e+8J4B8Wgevsq8R/3AfsqBfus+4CAcFQbDvgBoHb5KnIKptMa90wH9yj3bND1rJmvjxme+294B6qxf3Ud+2z7KPdodQqWuY0envuseAe4h5p+8fsq9xf7Shj7RAdGiG8piR4Oewr43rEBlPjgPx0Okx3j1wPj+zAV92ekPwZagbOXH/k0B5mVqbge26T7ZwYOPPsjdvc/eh33fvs4FbYG+3z53AVgBg6THfc91wOt+xcVcvdn+cb7Z3LXB7yVY38f/TQHfYFtXh4O9wT5KncBo/e9Fc8G9yP3tfcj+7UFzwb7SPgBBU0GDvsRvQGL+IgDQARZ+Ii9Bw6SHZ73cwP3XviPFbMG+x33JAWicn6UCqZ5l30KTx0SsONK4/cf3BPU97P3qhX7LwddYW5VZm6quh6NB62WzfcrvR6M+2sVQ5C1ii8KQArv+ykeE8w+HRO0qrGdrKm6gEMeWAf7N0s0XycaSL9mwcLAs6ywHg6Bq/gLyvdzdwHQ3/d34wP3LdEV95AHxM+dq+avJC5Je/sF+wdyRJiuHvfJBPfCB4aNax1sbR/8kQdm9HC9903G9zLl9lL3B/sNP1ZRdIUeDuKB0/gFqAGk2AP4MPcnFWMdk3ltkx9fl5lzpRupm6CinYGqbaAfm3Jbmmcb+wD7CDj7OPsy9krb3My29wbBHw6Bv/gap/d4dwGm4fd33wP36PEVZ4Nkc2EbSUPD9yn3HM+8w7q8a0eSH/vnBI+IwJ65m7ucGZsHSIaLqbQa+MEHho1belp9WW8dk5WCCmxtH/smB6hqbZlgG/sELPsH+xf7YPcjd7LVsLCmnR+NBg6HHfavAa7Q91vxAzcdWPtN+yLXLysKPR0Oc6B2+Dar92GnAfLfA58W95iaBi+Niq/IGvfE9w6r+w/3CAewkL/CoZh6eZced5iXd6Ebn6KYqK1fplP7SIv7RVMfOGve+8QGPnp4SYgeDvtuxPcm1Oak94yybqcBp9Fu3vdF2KanA/cniRVsZnl3bBproWTr9wnvuL+4WoxBjh4tjnaKW5YIkPfsFTumM9jPkM++vnrjNmdkdUcecfvpFXCYcZenGp2LluTbHk+marfGGvcP47fgrq2DfKYegJ+ejJsb2GQ4BpR0lXdaGvsAJGRTHn5okIUbd4hjYngadLyHqB73FYUF9oaZQW8a+wX7OlMxJj+3wLm6sb6xHg6gdvgqwfdzdwHU3/dO3wOUFvdsmgZakHia2Br3ewe7tLKaqBvCoWRIH/tQBz54fFqGHnz3aJoHWZSBmtQa91EHs4r3C/sPT1prWWgeiffCBoaOW3pZfV5+GXEHjI6Wggp2bR/8VwdCgXpVhB4Ojwr42fES2fA33xPgMR1XeFR4V3oZfAeNmJyNmRsT0JuegFAf+2gHPXp7TYgeE+DJ+P1kHTz7bq35kfES8/Ar3xPQq/gaFY2amI2ZG5uegFAf/AUHOYtSWXiAm5t+Hpl/fpl2G3h2fHRmuXi69xW08PcJH4z4XYWOV3dXeVd7GRPgx/d2ZB2gdvhWd/eRdwHd3wOSFvd+mgZ3jAVqjXWdtBr3P40H9x77TAWXepSChBp+foiDHnh8926aBnCNZJJYy/st91YYqKYF9xL3G6eLwBua+2B9B7WTg4CCg4B8fR9jaVBUZ2yJjRj4NAeHjVZ6Vn1abx2TlIyYG7KRcV4f/HAHaYN5SIAeDo8K+T93Ae3fA54W94KaBlGOep3FGvjfXQr8ZwdUd3RQhB34OaB2+Cy/AeHf90zf90zfFDibFvdymgZojGqYyxr3lAeQucHQv5xkSR77YwdKdH5eiB5893SaB2KMbJzKGvePB62hrabCG9OMUFgf+10HS3t/WYUefPdvmgdxjQVfkoyssxr3TQfVffMjPE5Pc3YetYBstUobVWJrXlAf1geEjV16WXxcfhl6B42TmFMdTB/7hwdIbX9jih4OoHb4KsJzCqW+GveRfgr7bgdQcX6CHaS6GvdvRgoOf6f4NacBuOX3guUDqPd6Ffsb5SJlHfcd7vclLeT7F/saOSD7Dx7loBXzytjK57Y3gAo5TFj7DIP3M9UeDo4dAdbf93XhA/czrBVfHXYfiY0F1AeFjVt4W3pbfBl7B4yUlYuUG66OemMf/F4HYIdsSYYeeveGnQdDe6HFH/djBFoK+1h292PI+BGnAaPh93vfA/eQ+1wVeveAmQdelXmbxxr40QeEj1FoBaFkdJhYG/sRKfsC+x77K9ZE5MjRtamcH5D7RAZZfWpAiB7k99sVimuLe1d4CIR5eol8GzJk6uf3DcHU3OqMRG8fDnOgdvghylXBEtffE9CQFveEmgZYjWmZ0Br3awert72jmJSBgpUeg5WVg5wbE7CjmZ6krHegaWVpd0RcH4nkBoaNWndZeVp7GXsHjZSWUx1QH/t+B0t7gFSBHg6rfaH4PKKHdxLJyfcu0VeaE9i+gRWZkQWUkZmOlxucjJ2EoYYIh5qbiJ0by9y14sdoZgoeE9S3tHYloR+aBhO09x2AB4eIfISCG4GAkZF7H49/fXwdxWoFE9ireZ9zaxpSXJUKegYOPIG/+AKrAdHfA/ee2BV+gHl1axtYi8aqH/eo8Ksm9xIHk4uQhB5mVnxrZWQIdXV1hX8aiI2IjYoewPu3Bie0cL65uqy2ox4Ogcf4JJAK9+aEFY2JupyxmcGZGTIK+3VSCn0sHZ27j7KyHra2BQ6SdvhkdwGe+EcVn4qfe5ptr0Tr+3KjTQhgm42HlBuSlKKmlh/3FPfLo8aSpa2OGZr7H3wHpIqheHQaZ0T7JmkrHiX3igWIk4WalxqkoZijjR6a+1gHDvgBknb4ZHcSoPdI+Ab3Dxeg+EcVpImTdJ9b9xv74BhpmZCBkhuRkJanmR/3BPeE5vuABWeZjYSTG5OPlbKbH/ce9+SasJCfoJIZE3Ca+w98B6OGn31zGn+FcIByHjH7aDv3agV8soWMnRqopJiskB6a+198B7SGloSw+wUw+1sYXfcUUPcJrhqnopmijR6a+0gHDqB2+Fl3Epz3JfcI910XnBb3JZoGenaVnYkflpmgkZQeE/Da9wXc+wYFj4aXf3wadoJ9bIoefPddmgd6jHCWZcX7FPdOGN73ApOYqbO2jBma+zJ8B5yKooB2GoCFgk4zHnioYsidGqCkl50emvtjfAesjJeBtE7p+xoY+wb7L2tdfX9wiBkOlgr4yncSE6D3hqEVaIVo+w1XGxNgRQqbtJ5KCj37aDsKCA7iYan4RqlqCntsIRv7FFYdDpIKEvdH1UfVE+Dv944VE9DQeJtfS5gK+wzJd/IelgdEm3e10Br3OAfSfrI9nB6NB9mdmLLSGvc4B9CftdKbHpYHJE13+wsf+zsHS3thRnkeDvsx+yp290Z6Hc7NVbQD2vs/FbT542IGDpIKAfdw1QP3Fvs+FYAH8sif9wwf9zgHy5y30J4eRp16tcsa9zsH9wtOnyQegAfSe55hRpgKRJhk2XkeiQc9en5kRJgKRnhhRHseDvdM90vLl8sB1/dLFa6bo7S3G7qneXmmH3eoqXfDG8msu7WpH2e9BWh0cmJjG21unp5pH55pZJ5cG0hnW2F1Hw5z+1l2+NX3AAHs9wAD9yP3rBWYBqX7XaL7SHMaWn9fX2GBsr+koPdJpPddHl33GRVto3OpqaOjqalzo21tc3NtHg6H1FK/9/ypc6kSytgTqPcK+x4VrQa89x4Fhp2Zh6Eb4sbI87offpMFE2hFXWJtTRt0fJCSeB/w97cFZ5uae6gbop2epa1rr2CZH7r3GwVoBl/7EAUTmI54e417G/sZNPsH+w4fE2g/rDzeUx6o4RVcsXa/zhoTmPcZ3rW/oZiHhpgeDoOnb9839x73Wrj3MfcmcKYS9w/g9yvkE1f3RsEVbLe6bL4b1+nazJCIi4gfdnVKLxtrU5KnTR+i7Y6sicaKphj3GLj7GwaExIervhquk/Dil7eLVx4TO2qLabOko56tuV26NyIxQvs3a459j3YeIF73AAaQYJBpj26QZI9thm8Ij319jH0bWV5yV2Cueau5pamrph/7II0VqKuUp6Kgg4IeE5uBe1xbdXmaoB4O9x3E96TEEq/OXcj3nMhdzhPU9wr33xXTxMrXHhPo1sNMQ0FTTEAfE9Q/UsrVH0f7ihXi4wV0pbZ+thu3t5ejpR/kM7a4NOIFE+ikp5W7uRqzfrJ1pB7i5GC2MjQFo3FflmAbYF9/dHEfNOJeYOMyBRPUdHJ+YmAaXpZepHAeMzQFDqB290qz5bP3yncB91LgA/cDFveIngZSjHSj1hrK90Gz+0HXB5KZBfc6s/smBuf3Qq3Or7S7lBme+1d4B66OqXdzGnuFfoN8HvsE+2b7CvdnBYOahpyXGqCdn7qKHp77h3gHvoqgX7k46vs3GPskY/c7BpJ9BT/7QmP3Qk4HU4NfRIkeDvsxknod2bcD2fgdFbf3r18G/UYEt/epXwYO+ymg93Sg+NB3EsvA92ftK8MT+Pe89xEV4YO3ys4axmLBW7Me+x33BQVyoIKqnxqinrrHuaFyeYd/hIF/HoWDhYF+Gn2UbrGum6OpHhP0xU68S0JGZTdItWjCXR6JiQU4lVdRQRpaqFHQVh73JvsEm3thGlloblpUeK2WHpitla0anHyjanFveWdSyFba7LjKysNxrEnDHvs/91YVu7KdqcL3E/sAUF9pcWZM+wnt1B4Oc/if7wGd7fDtA5340RVuHfdbFm4dDvgnfbX3Lp/3n5/3JbUBscLx2PeXm/cMwgOx994+CmkK+Eo4FV13aGNJGyVh2PSMH+yMttPoG9mnUmGPH5zbBqk2lGT7LEr7Ajj7IepS9wfMsJWlqB6b0QUOOvgzdveSpxKbytnTF/cy+LsVSAeKhYuEgYIIiIV3eX0bc3udqJ6ioc+hH5MkFV+SpoGXG5afjKimH50HhYSChX8bfouXoh/3BweshMoqQGloa32Wep+fl5iYpYmduKKXelQeLWlQdk8aE4BesHWurq6frZ8eDnkKtfd3UAqkr5IakomPgx54+1FQCqWvkpYd92P3FXb3aM1jsxL4aM1euBPQE6ip9+4V+F/7grj3qvyMBg74J321ffdJ9833QxKxwvdDy/cEzvcwwhN+92/3LBX3NpoGWZCMlbYa2rsHLcukUasby5MGeJpsrXGvUtAYuJqtsb8aylOxUB77RXwGoYemi3Aa+40HYIyBWYYe9wX3MBX3RrQHsqttUlZ3ZVof++WSPgoeE75pCg5z+LfBAZb4txX3y8H7ywYOtvgarfdurQHEsvdksgPr+KkVxbm+xcW5WFFRXVhRUV2+xR5kFjvKTNvbysrb20zKOztMTDseDvdji83Dd/dIzVS29z53EveNzVWzE+ypFviMtfyMBhPq93vbFbMGE9r3P/d9tvt99z5j+z77e2D3ewcOUveizPeqygH3TecDkPeiFfeSVgpnix20fx0oIAUOUveahR0T0N/4YHcKeXyWlX0elH5+lH1jChPgTh2SHej4jyQK+1l292TJ+CJ3Eq/nR6tr4/dW4xPq58UVjY0FT6vBgaobvr+5vqgfjQZinFO/r6eVuq0ekwd3dn2DfBtri7WiH/f6M/vZB3J/YFtYGxPmT2+xwR/3xjP8IAcT8k1zPE8aXJVzr6+Vo7oeE+rHbdqFzR4O6/tXdvnnpgH3eq/mrwP3evtsFa/55+b956/558um+4cG+yA9T/sR+xHZUPcwHw4g93B29wN3AdH3AwPR95EVQx0Oc/tr9y3JdwH3TtYD6yMVkoYFj5icjZoboJyBdWhwgWx2dJGReR99bAWDrJ6DtRu6z7eyuGikYIB/iomAH6TMBWgGDlL3oqP4EncB9wLcA8T3ojUK+4YHaXOAbokeDlz4Hqz3bKwBkdT3LNQDkfioFT/GTd/3AbnezN1NvzYqVUo8HtSkFbertbS9qGc/TGJiakeB47UeDnkK94usFVgKfXlcTWpdCHhwfHWGGoSNh5Me+1QWWAp+eV5Sal4IdW17c48d+B2Sdq525cT3D6P4EncS5dz4OtETflMKE778W/s1aB38vkcdDvgdi8xRdvewo7zK96J3Et/c+GrnE37wfWgd/J9HHRO++D37uhX3kVYKcYsdqn8dKSAFDvgdknbzxPcHhR33wtET9lMK/Fv7NWgd/I/7bHcKenyVlX0elH5+lXxjChP6Th3i+26p+Ln0EqnnrPQX91z3uhVOZFpjWR5fVFxTQBol0kv3BNDptvCtgahjb3ZzenmUf5WAHpSAlYF+Gmpib2E+as7HHhNQs57QnbMep8sFkZmj0MYaTfcLFW6idKgeqKOiqJQdHw74AZl293O0+DV394B3AVT5R/0C91oDIB1Z+GInHVwd94B3AUz5R/uT95MDIQp5X2sqHfsz+GIkClwd93x3AVT5RwMgHfuF+GIlHQ5bHfh/8Vq8EpD5RxPQIAoTWHcG+2T8f3hfbCod+4/4e4Mdm7OwG6ShgICfHxPgfKWhe6Eb2Z3PZQpjem+Bcht8dZiYcx+XdXSXd1QKXB3d7hKL91qZ7u/uE/ogHWf4pBVqHRP2+1sWah0OWx34b/c6Evex9xj7Ffc6E+ggHftX+LFnCqwWr6mTCm1nHhPwZ22prx8O+KiLsfdysqmw95ivd58Si/db91vu94egq6IT8wAT6wCLBPdbngZ+jUmJoNiTqqW3uuQI90T7IgZEe3hThB56iQV4+JIHt/c8BXMG+wJSaHciGz8GSYiWzB/3a/clB+KQXFaRH6D3fnYGRIV8cfsDG/sD93oGqJuMlh7iBvcWtIQplh+i9yH8yAYT94B3B8iogHODhoGHgx/7ifxuaEZ5fmiFGfeD96wV9zD3zQWO+80GDvfK+1Z29123+PKzAaf3CPek1vWiA/eujgrMjM6pvxrDVKJSfx6gwfcymtX2jI0ZeZ0Fdx33JLfLsrEftLXFn70b9w/TMSKkH6IGgvd/WR0fjAZmM5KGBauUvoyGClod93h3En8KF5cW+LAGE/+AIx333flQJx1aHfd4dwF/CgP3fPljIR38A/33LApaHfd0dwF/CgP3KjgK+5r+CiwKewr3tbT3lLHT8BLu8V3w7vCUohP6lxb4sAY2HRN7JgoTFj56ChP29yP5kRVsHfdcFmwdDnODCveMQgr3TPlQLQqJgR2dVwpzgwr3jHcB9wfxA+j5YyEd+3L99xX3v54GQY1xYB2mnNSOHp77v3gHSQoOc4MK94h3AfcH8QOWOAr7EP4KFffLngZBjWxgHauc1I4envvLeAfeh6B1QYkdRHhwNokeDnOgdvkXlwoSre168RPQnRb3vZ4GE8hZChOwnvu9BxPQeAcTyEkK+ZEEbR33WxZtHQ74AYuw96q3956wAfPx+AZYHZZxQR/7TDRf4vtYB0V/bT8e91L3vBX3Jrf7JvdLBr6Lq4sK+7f7iotLW3+fxR4O+AGVdqt290l3+Il38fUS9wG3+DO3E35fCvgQjQcTvjoKE373TPlpTAqdZx+XdHWRdlQKMB33jfgQJx0wHfcg+BAkClsK92Z3dAr3YjgK+7z8uCkdDlsKz/WFCvfecAr7F2kd9xdhHfcIYQr7CEQd3PHx9wM6cR0ych3k93Aeu/gxTAqRfx+jXHWRdlQKWwrG73sdyu/v78qaCq335nAK+x9pHfcQYR33DzQKM3EdOV4KyvhSFTAK91wWMAoO92Oodqx2+HF3EhOgxcMVpm/3WfdZBRNg92H7Yaem+2H3YvdZ91hvp/tZ+1n7WPdZcG73V/tXBQ74AVB2za/4/q/Fd3QK92/jFffI+FgFqFqdQS4a+3AlOfsDV1efuWUecq4Vbrx62eYa93j3A9LxvL94XbMe/FL9IxW8Btr3CAVqvsh6zBv3Sfcm9xD3afcRW+1FxR/j9xYFWgZDIAWsVk6bTRv7OPs3Ift6+wu4JNNQHw58Cvf9twOZ+RcV15lxQR/7xgdKi/tO94z3l4v3R+Qe948H9Jyr2Iwenvt8eAfRiqNtIBr7mAf7EU8xmB33Isge98oH0pen2oweiAr4E8Q6HXOHi3sbbIqBHZxXCnwK9/a3A/gE+WMhHfyJ+3QyHW4K94h3AfPx9/a3A/diOAr70PuHMh34AX23+PmXCunuEvcT8Xru8O60txPLmfkXLh0Tu577fAcTy1AdTz/7E0cKE7uIChPLE7f3WvcPSh34AYMK94xyCqjeGvc/fh1LHV4d9wb5UCQK91uTnvcls/eVsfc0d20KmOkarGYd9wYhzfsuHjsGiOeal9qSCJ77qXgH1ISWf0Qa/DuNCvdKFfeYB6yWi6m39yaKdB2CqHef+RCmEtTf90XiXOkTeJcW9yX4uQabjebiu7NfLR77OPsQwWkabsSlu2UeE7ScfbVgIxo4gkZUeoWSmYceiZOKloqXCJ+JfJ9yG3F4d251nFnd9wHP7+b3IfsEvkaNH40HE3j3A7uitNAa9iyzQ/tIivs6TB77/AdKc4BmiB4OTx33bncSsOM54/cw3BPaNB0eE9b7CGdEY3uMb6qlpJegH5SApJoaE7qqsTcKy4kKvqukHm34RicdTx33bncBquP3PNwDNB37CE9EY3ukb6qlkaGgHrIHqrk3CrNmwemxvqukHvsf+EYV9yf3KAWiopGLmhurjG+HdHh/gIQf+y4qBQ5PHfdqd4QKzviPJR3r/CopCk8d0/WECsT4qIMdlq+xG5eYhEUddJSRfx+jXHeWdhtIbU1fgx/3evucKQpPHcvuErDjRuNE7vDqOtwT2ID3s/egKB0T1QA+HRO4gDwdE9MA+2v4iEod4oHF95X3K3ejza33F60Sw+Nk4z2t9wfcmK4T2kD3s/egJB0T3IBACuv7KfsIXEhXHR6UhpqaGhO6QKqxmaypuldDHntPCr+JCr2ssB4T2UD7OfiuZwqtFq+okwpuZ2duqK8eDvfKgbtbzvdwqYj3MHOjErHiSuT3ENwTbffG1BVxnKlS4Rux6Zj3Jsgff5AFVmpZX1Qb+xSL9w3uH/eaBhOTvXz3GfsiWG1/amIeoHNuo0kbNUNeTWWkgJy6i7WvHxOtqJ6kuM2JVySHHvs1SkFtMRphq0ve7pK3sroefqQVfVJdZFR6wqXKpKf3D7YejFcFjESdcoQayfdlFbWNj93eG9OQN2MfDuL7Vnb3YdP3kfclbqgSpNj3MdYT3PcRjgrLz6q/w1SiUn8focXNlcK4uu4ZYx2QeW2THxPsX5ecc6UbqZugosozsU77APsIOPs4+zDzStqJH2UukoYFq5S9jYYK4oHQ90+r9w2v94d3EqPQ92jxFyYdE3w9HV73ZCcdhx33Ea/3bncBrND3RvEDKAr7BvdkJAqHHfcRr/dqdwGk0Pdl8QMoCvuA92QlHQ7igdD3WKv3Ha/K7xKk0Hft8O0T+igKE/b7efemFUsKjwr5OicK9zP4gCcdjwr5OicKvfiAJAqPCvk2Jwpr+IAlHQ6PCvig7gGC7ZHflu0jCnL4whVrCvdbFmsKDnEK93Z3Aajl95rlA/cL96oV8cO/ytTRPfsv+yNIZVj7DHP3TNce94n3ERW0YGmbYRv7GTj7AfsX+xPmJGUd9zL3HPcLXvcNLtkf5rtqqSxZYqVXpVCPGWF1u4S4bbNuGfsNS6xt9w/MvlquVJVPGQ6gdvgpwtbycwqythr3jH4K+1sHP3F8gh2nzhr3WEYK0PiZFagGsI6snqMbpp95gqAffqqifp4b2ZjQZQpeg3qAdRt3cpiVdB+bZnacdFQKcQr3bncBueX3iuUDLx2mFfPC1MrnvjSACkZPWPsMdvc31R73O/eQOx2edIaUCpxXCnEK9253Aajl95nlA6j3exX7G+UhZR33HO73JS3l+xf7Gjkh+w8e5a0V88nKyue3MIAKO1NY+wyB90HVHsX3hiQKcQr3andMHakV88LRyue+OoAKRElY+wx49zrVHnP3jSUdDnEK0/VMHbsV88K/yue++wGACkhlWPsMdPdM1R5p95QVqAaRnJu7r34IcdGwcVIdemN8enGSCJtRUK12VApxCsrvEqjlee/u73flE/IvHaQV88LWyue+PYAKSEZY+wx09zXVHhPseffUFTAK91sWMAoO92OWduF3ufcKi81VtveFdxL3dvcFJ+ET7qn3fBX4jLb8jAb3kPuxFRP1bAr4TARsCg4wdvGn+DKn5ncBqOX3meUD90fHFfc198YFpWCZT0sa+yNIZVhncJuldx77E/tAFbAGzPcPBX2oqoStG/cs0fcf7udmz06xH8z3EQVkBlL7AQWXbmuRaBv7Gjn7AfsPNq9Cx2EfrMsVbMaD3bYa88K/yqulfnShHg52Hffm4RUuB42IhwoZIgpX+DknHXYd90X4jyEdm/0tJQoOgcf4JHf3iJAK6viPJR33Df1AJQoOgcf4E/dSJ+8S0t9V7+3vSd8T0vfogSUKE6z7gfjYFTAK91oWMAoOlgr4wpr3cXcS9+j3GxOQQB0TeEEK+yj3RiQKjh33c3cB1t/3deEDkPtbFXn3hp0HQ3ugyx/3JwdfHXUfiY0FjPe7BoaOax12bR/9Sgdgh2xJhx73LvezFVoKlgr4u/dQJ+8S8e3w7ROsQB0TbEEK+5v3iBUTnEsKjwr4YCcKDveSi575BJ4B7l0dm9Qf90AH9y/pBbwH+y8sBfdQB+FzHfuIBzRVBVoH4sAF+wsHM3oKDo8K+QObt3cB4d8Dnhb3hJoGUY54ncUa980H2L8Ftwc+VgX3e10K+0AHPFYFXwfavwX7kQdXd3RQhB34qIWwbLL3trD3nqltr2uvEqn3BPe17/d7oROnAPin990V9yyIioGkH6uBn22QWggTp4Ch9351Bip9hYv7Zxv3gAeej5D3BPcEuIQplh6i9yH72gZkZo2Mbh8TqwCNbneMhBv7SvsfJPuP+2T3GPsE9ympqI2MqR8TZwCNqaqMqRv38ga39zwFcwZS+wJee1uJ+xCJGGd3jbcfJ7oVE7MAVn1cN/sjW/cW9z33NL/3Ivce45ZUWR4O+AGBpXHO92ap9xqoEqnl93PY9zPqE374E+AVTKSza8wb7LzdzqofgJEFbnZgUEsb+w+F9zK/iR/3kgb3NvsKqmJAal5sdB7QVEqSbhv7Q237SFD7PvcITumj1Y/muB/7m/dYFfcMzKm19wGS+zxSHhO++wZxPz37B4f3TNwe97+bFaiN9Ny8p1BbHnAHDvdbfa99dvkctPdmdxLS4fd98BN8034VoQabn5ygHhO8qbJp1xv3I8/r4PUyxDW9Hzq6PbXUGsm+qr30yzE5nB6kBnWGHXJfrU9VCnQGE3z3YficMQqrgaGQdvcwd/ewopd394d3Eves0RN2v4cVmAaUkZmOlxubjJ6EoIYIE7aHmpuInhvL3rXix2ZmCre4diWhHpoGE66H9x0FgAaHiHyEghuCgJGRfB8Tto9/e3wd5Vihc2saUlqVCnsGE3b3A/f3MQqAHfkXlwro7xL3ae2P8YLtE8xoCqPdGvdFfh0TPEsdBxNMXh2K+ZIVE5pvnzUdd2Id91sWb581HXdiHQ57Cot3+PKx93R3Aaql+JmiPx33nflUMQrii6n4Gqn3dHdqCnpsIRv7E1Yd9zj4gDEK+1Gj+LGq94SoAev4DBX3DQZj/AMFOIR5MFAbgIORkh+VmpaeGqJ9mXV+aoNnZahrveu68fdDrB6a2pPknPcMCPcMBpWqBfsSBvcYl5n3AMwblpaJgB+Cfn97Gn+XdaSjopypqGywV/smbPtvWYQe+wkGDpEKlviPKx37D/c7BUkGDpEK9xv4jzEKc/iPwPN3AaX5LBVum/sU9w73FJr3EqoebgZOglxgUxtLZrbIgR8Oc/if7wH3Cu0D9wr40RU2Cg5z+JSt9xetEs73W2mtE+DO+PcVVbVexHkdU2BdVR6tjBWjn7S4HhPQsKhtZ2dubmVeeLSkHw5z+yR29zl3AcvAA/cMFnJ7bGFkGm2gZcW0vanCmh57kgVsgWh7bhtzeZmoq6iqnZkfDnP4qPUBjPioFagGkZyYua9/CGzln3dSHXpjfHlxkwiiQ16mdlQKc/iP9z8BiPiPFbUG9ywiHZT7KBW1BvcsIh0Oigr4iLT8iAYO+ReKCvp8tP58Bg6RHfcH9x8D94D5JRVRCmuZcYSHiImGHomHh4qHZAoOkR3a9x8D9fhFFTwKrXylkpKRjI4eVB1z+wx29y12p3bzdxLa9x8T2Oz7DhWUeAU8Cq1+pZKSXAri+EX3A/cYdwG2lx0D9zj5JRVIHfd8FkgdDuL4Wnb3GPcDAamXHQPE+EVICveFeEgKDuL7DHb3GPcDOHYSuJcdE9jK+w4VlHgFRh0TuDMK93wWlHgFqZXdzdIaE9jeUZh0cmp8YGOufqWSkVwK+xR2+L3i9013AfeEogP3hfspFaAGjPcjBfcPoOyesh5htovruRqyiKKEnIQIgqCYg6QbnaSUrqp0l3lyfYGCdh95g3WEY4oIwpKqk6EelaWWmKUapHWhc3F2dXJxln6VcR6TdZJsVBpfjHOUeJQIk3l+k3UbeXR/bGiigp2hmJGSnB+ek6KVuY4IXYsrYWAenGSiKo37DwgO+1d29zjhfnb4UOH3OHcSz/dUT+9Pn3f3VBPZAPeEFhPaAHYKE9kAt6ytvBuMXWJSYxoT3ABtoHKoqKCkqR4TuQCzYsSMuR54HV9qaVobE9wAj7OYoamgCGe2gMbBGsGWxq+2HhPZAG2gfqGHswgT2gB4HRPcAF9qaVobirm0xLMaE9iAqXakbm52cm0eE7wAY7RSil0edgq3rK28G4djfnVtdggT2ICvYJZQVRpVgFBnYB4T2QCpdph1j2MIDoT3bXb3oncBs/ffFUDHT9bWx8jV1k/HQD9QT0AeDvkXgPcDAfcD9wT3cPcF93D3BBRw9wO2FWWtgQpymQr34BZlroEKcZkK9+EWZa5NHXGZCg75F3+ob3b3zaeQqPebqJx3ErLU9x/Ut9T3H9Sp0/cg1BN38PcOghWqdPgn+SlrogUTu/D8eftXFT6NHe0oHooGKGApOx/UjBW+lezHHowGyJIoWV2EJU5Qf/C7H/eU+7kVPbYo7+627tnaYO4pHooGJ2AoPB/3zxY9jR3uKB6KBihgKDwf+4aMFb2U7cgejAbIkidaXYMlT02C8Lsf984WvZbtxh6MBsmSJ1pdgyVOToHvvB8Oc3kKyvd3Qh2Xm7G8q7YIpa6gqpGWHXN5CsasFfdn91EFql77Lfc3UR1+emFVal4IdGt5cY8d+1KSeh37PPiHA/sLfRX4VvlGBV0G/Fn9RgUO+AGLw/dXs+Sz92yxAfcm9wQv9wT4FKUD9zr3jxX7Kpr3Hib3FRv3C9zJ2cUfd5UFX1ZZWVEb+wb7GMj3Goof98MGmbMF+9IGiauJpY+qCPfkBpqzBfvuBvcW8eD1jB73EbpRLB+l9yYGpElknyMb+xj7B2j7b00f+wwGfGMF9xYGiG2Kbo1tCPsFBnxjBQ75A/eWn4p2+BafEvc70veOpffQ0hO89wn3lhX3P58GV5GNlbsa98C9B7ScbGaUH5/j++0znwawlJyqtRu8+8AGW42BV4Ue99N3FfcXnwZej4Omtxr3ZY0HE3z3KfvGBZYG9yz3yAWN+3IGE7xbjoFXhR539z6fB1eRjZW7GveJB66XnbeNHp8kB/s0+8n7LvfJBfsNdwaop3dtlx/7gwdfg3BfhB33Y/dwzRITgKn3cBX4jLr8jAYOmR34Nqv3ZKQB7t/3T98Dqhb3cZoGSI6Js7Ma99QHoPcJiYqYH6yGjoBlGvuSB0+Jb0iHHnz3cJoHWI97n88a95AHpIy0jKseh44FhWpgh2Yb+zEGis6LupepCKiXra66G6ydeniZH3Scl3KoG56bnJ+/Tp9K+yBCNvsohh9Ga8/71QZReHRaih4OmR34Nqv3YqYB8N/3UN8Dqxb3dJoGYY9umsIa9933UPvYB01qfWmIHnz3a5oHUY6Fprka+OIHho0Fin9dc30bfH6UknYfkHx4j3EbYfsRePtqih9Ea9D73QZpeGdZhx73LfhHFeWJifcI0Ruplnh5lx95l5d6qRuUjo+Ojh/7IQcOfZn4VpX3XpkG+26MBx6gOWP/DAmnCt8Lp5ONjgwM35GXDA34iBT3+RW2EwB7AgABADYAPwBPAGkAbAB1AI8AlgCbAKYAsQDMANMA3ADuAP8BBwEbATABNwFDAWUBbgF5AX4BiQG9AdoB4AHnAhwCKQI0AjwCUgJfAngCkQK7AswC0gLgAvYC/gMMAxQDHgMoAzQDRwNSA3QDewObA7oDvgPMA9cD8QP5A/8EFAQbBCgELwQ2BD4EUwRfBGUEeASFBJAEogS0BL0EzwThBOkE7wT1BPsFBAUVBRwFJgU1BUQFTQVUBVoFXwVoBWsFeAWABYUFkQWXBZsFpgWqBbMFugW/BcQFzgXYBd8F6QXzBfcGAAYJBhIGGwYjBiwGMgY4Bj0GQQZFmhb3Wp4GdlyVtZaOmZCYH7n2BfeaBrQ1BZF9mGp7GmZqgGYeePeTngdfjn2ga9T7jfjCGAsgCncG+2T8fwsyCvtrUgpzLB28x7m9sh4LAzEd+y9UBXwHjZiYUx1QH/tyBz16e02IHgshHQ4VhwoIIgouBwtvCkSAd3MyG/sk90YGwpeiMx14BmAK/DwHC3cB6t8jCgsmHT0dCygdE9Y+HRO6PB0OjPtXFUOQtYAvCgv3A/ckxfccqpUfe5IFZnRgRzIbSTqq90V/HwsV+LAGIx0OOh1yiIt7G2wLe4oI9133ghX3B/en9wj7pwULnRubqoy8tR+lB4KAfoF2GwtvoTUddWIdCxXJBvcR9zsFaQb7DiT7DfIFaQYOmQdPiYmirxr36/syegfRiY9sYxoLjI+OjDgdC2EK+wBEHdTx8fcDCxX3U6MGZY14mqga9+EHfY77ClQFdAeYr4uLkxuSi3x+HwtvoHWaHaFBHQudrKm6gEMeTk8KC/ljJR0LkpKGgnh7XklhHwv4TPy4BZz4mAb3CauZypIenvt/eAfPhqd5+wca+9iJB/wT+HUF+z94BrObhlm0H/xDeAoL+wf3hwWIkoSbmBqmrpaijB6a+2J9B5iJpXyXcgs/CnxgYwunp3Whb28LFftT9yr7LfdW91P3Kfct91P3U/sp9y/7U/tW+yr7L/tTHsIW9zX3Evcj9zf3NPcR+yL7Ngupld3N0hreUZh0cmoLbouoqB/3VwfHiwtFCpq0n0oKC3cB9wfxA50W972eBlkKnvu9eAdJCgtvoHanp6Ggp6d1VR0LoAaVwqH3A6capnSjeHd0c3BvofsDlVQeC35snXAbXYllhXGia73Wt833Gr4f9y74IgsH9w9Epl1QZWhdWh7aB4SNXXpcfF5+GXoHjY+WUx1MH/uCB1B6dFyIHgv7Qov3H8se98oH0pei2pEeCxVGHTMKC96HmXVBiR1Ef3A2iR4Ll5iNGZr7G3wHq4ybd3gagn5rgXAeCzYK91sWNgoOgx2WrbEbl5iGRR12mQsqCkAK7/spCwb3A6V7MpofpAsH+zdLNGknGkgLQh2Wmqy2qbMIqLILgp4FbYE5SUQaOMV+oqSsmrazCwdqhIGCgx51cG0L+DHlFfdIMdHlwsRU95ZcBvtf+54FuJMV9xn3RAWN+0QGCxtIbU1ffQobMTBT+wYoy1/nVh/3JzWbaVIaVWNSO/sbWPcWungeCwaw4HqSfHN/iXOKGfsNBuHgBainwsHNGs5StEhAWgt9l30K92f3UQWpXfss9zhRHQtBjXNgHaSc1I4eC/eKB7GRw6evG/cOkPs2dPtCMXhqVFy2oh8O+AF9r/j+rwuIHRO4VB0Hh41WelZ9Vm8dl5SMmBuykXteHwtyHez3cB4Llxb3f54GQo52q/IaC8qGo3s8Ggv7OPs4+zcLlxb4sAY5HQsbdX54elvIiJr3Kb7dvNdWqWqXHwsbhISQlJ6buM21HwutlB9uBgunWqkf+wDLBWahhaifGqWgssILFVS3X8J5HVRfXlQeC/dqFvfGngYxjH4L+zT7E/si+zL7NvsT9yL3NB4LAcCdA6YW+A0GmfcbeY8FPXsLb6B2mh2gQR0Lo56eo6N4nnNzeHhzc554ox8LAe/x93v3AQObFvesngY+jXoL+AF9t/kMdwui93x0BgsV+2n3JguBp/gypwt3AffP8QNoCgsB29/3RN8Dmxb3apoGV459C3sd+D6aCgsFgpiDnpYap6QLWmqtXxtweHpxcZ56ph8LFaKOBcaIt2pYGnJ+Yk8LB/sAdnI/hh4LwXb4E3cBC3R4S4ceC/eSi7ELbgr3jHcB8/ELgx8OB7Cxqp+pG8adZ04fC+7x95yirKQL+xD7Iwt7oKCvnLCqcKVtbQuLkRu3iwugih0LErDjRuP3I9wT2gt0Cq0LZRpPPpdgmh4OupyxmsGZC577rwcLZsHpmQv3XbwSE4D3XQQLuvdm9wX7AvtPC/ez96BwHQsHQ4tqN4Ue904L+1sVgKCnhqcbCzygdgt3AdLf90bfAwtz+KR29zt3AQv3D/s0dvnxdwupr6+pbWdnbQuPextsioEdC3tpKXjiwH8eC/tu3zfxC/dU+0F3Cxr7OAcLcmseC/cGAwsAAAAABAIBAZAABQAAAooCWAAAAEsCigJYAAABXgAyAPoAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAARVBERgDAACAhIgNu/wcAAANuAPkAAAABAAAAAAAAAAAAAAAgAAEAAAABAAMAAQAAAAwABAbYAAABsgEAAAcAsgAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv//AAAAIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL////h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h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AABQAADmAAAAAAAJAHIAAwABBAkAAACmAAAAAwABBAkAAQAuAKYAAwABBAkAAgAOANQAAwABBAkAAwBGAOIAAwABBAkABAAuASgAAwABBAkABQAaAVYAAwABBAkABgAqAXAAAwABBAkADQECAZoAAwABBAkADgCAApwAQwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAAVABoAGUAIABQAEQARgBpAHUAbQAgAEEAdQB0AGgAbwByAHMALgAgAE8AcgBpAGcAaQBuAGEAbAAgAGMAbwBkAGUAIABjAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABGAG8AeABpAHQAIABTAG8AZgB0AHcAYQByAGUAIABJAG4AYwAuAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAZQByAGkAZgBSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQAUwBlAHIAaQBmADsAQwBoAHIAbwBtAFMAZQByAGkAZgBPAFQARgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGUAcgBpAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="; -}), _b = {}; -ze(_b, { default: () => Hb }); -var Hb, YB = it(() => { + Yb = "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ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv//AAAAIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL////h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/v/+//7//v/+//7//v/+//7//v/+//7//vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv9v/2//Y/9j/03/Sf9J/zb+A/3z4L7gvuC74Lvgu+C64LrguuC54LngueC24K3gpeCl4DXfwAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAACnY9yZfDzz1AAMD6AAAAAAAAAAAAAAAAAAAAAD/WP8GA+gDbgAAAAgAAgAAAAAAAAABAAADbv8HAAAD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAA5gD6AAAA+gAAAU0AAAGYAAAB9AAAAfQAAANBAAADCgAAALQAAAFNAAABTQAAAfQAAAI0AAAA+gAAAU0AAAD6AAABFgAAAfQAAAH0AAAB9AAAAfQAAAH0AAAB9AAAAfQAAAH0AAAB9AAAAfQAAAEWAAABFgAAAjQAAAI0AAACNAAAAbwAAAOZAAAC0gAAApsAAAKbAAAC0gAAAmMAAAIsAAAC0gAAAtIAAAFNAAABhQAAAtIAAAJjAAADeQAAAtIAAALSAAACLAAAAtIAAAKbAAACLAAAAmMAAALSAAAC0gAAA7AAAALSAAAC0gAAAmMAAAFNAAABFgAAAU0AAAHVAAAB9AAAAU0AAAG8AAAB9AAAAbwAAAH0AAABvAAAAU0AAAH0AAAB9AAAARYAAAEWAAAB9AAAARYAAAMKAAAB9AAAAfQAAAH0AAAB9AAAAU0AAAGFAAABFgAAAfQAAAH0AAAC0gAAAfQAAAH0AAABvAAAAeAAAADIAAAB4AAAAh0AAAFNAAAB9AAAAfQAAAH0AAAB9AAAAMgAAAH0AAABTQAAAvgAAAEUAAAB9AAAAjQAAAL4AAABTQAAAZAAAAI0AAABLAAAASwAAAFNAAAB9AAAAcUAAAD6AAABTQAAASwAAAE2AAAB9AAAAu4AAALuAAAC7gAAAbwAAALSAAAC0gAAAtIAAALSAAAC0gAAAtIAAAN5AAACmwAAAmMAAAJjAAACYwAAAmMAAAFNAAABTQAAAU0AAAFNAAAC0gAAAtIAAALSAAAC0gAAAtIAAALSAAAC0gAAAjQAAALSAAAC0gAAAtIAAALSAAAC0gAAAtIAAAIsAAAB9AAAAbwAAAG8AAABvAAAAbwAAAG8AAABvAAAApsAAAG8AAABvAAAAbwAAAG8AAABvAAAARYAAAEWAAABFgAAARYAAAH0AAAB9AAAAfQAAAH0AAAB9AAAAfQAAAH0AAACNAAAAfQAAAH0AAAB9AAAAfQAAAH0AAAB9AAAAfQAAAH0AAABFgAAAmMAAAEWAAADeQAAAtIAAAIsAAABhQAAAtIAAAJjAAABvAAAAfQAAAFNAAABTQAAAU0AAAFNAAABTQAAAU0AAAFNAAABTQAAAfQAAAPoAAABTQAAAU0AAAFNAAABvAAAAbwAAAG8AAAB9AAAAfQAAAFeAAAD6AAAA+gAAAFNAAABTQAAAKcAAALSAAAD1AAAAjQAAAIsAAACLAAAAABQAADmAAAAAAAJAHIAAwABBAkAAACmAAAAAwABBAkAAQAuAKYAAwABBAkAAgAOANQAAwABBAkAAwBGAOIAAwABBAkABAAuASgAAwABBAkABQAaAVYAAwABBAkABgAqAXAAAwABBAkADQECAZoAAwABBAkADgCAApwAQwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAAVABoAGUAIABQAEQARgBpAHUAbQAgAEEAdQB0AGgAbwByAHMALgAgAE8AcgBpAGcAaQBuAGEAbAAgAGMAbwBkAGUAIABjAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABGAG8AeABpAHQAIABTAG8AZgB0AHcAYQByAGUAIABJAG4AYwAuAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAZQByAGkAZgBSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQAUwBlAHIAaQBmADsAQwBoAHIAbwBtAFMAZQByAGkAZgBPAFQARgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGUAcgBpAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="; +}), Xb = {}; +ze(Xb, { default: () => Wb }); +var Wb, vD = it(() => { "use strict"; - Hb = "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AF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv///+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h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AAEECQAFABoBbAADAAEECQAGADIBhgADAAEECQANAQIBuAADAAEECQAOAIACugBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBlAHIAaQBmAEIAbwBsAGQARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAGUAcgBpAGYAQgBvAGwAZAA7AEMAaAByAG8AbQBTAGUAcgBpAGYATwBUAEYALQBCAG8AbABkAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAZQByAGkAZgAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBCAG8AbABkAFUAcwBlACAAbwBmACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABnAG8AdgBlAHIAbgBlAGQAIABiAHkAIAB0AGgAZQAgAEIAUwBEAC0AcwB0AHkAbABlACAAbABpAGMAZQBuAHMAZQAgAG8AZgAgAFAARABGAGkAdQBtADoAIABoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="; -}), Ib = {}; -ze(Ib, { default: () => Qb }); -var Qb, XB = it(() => { + Wb = "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AF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv///+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h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AAEECQAFABoBbAADAAEECQAGADIBhgADAAEECQANAQIBuAADAAEECQAOAIACugBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBlAHIAaQBmAEIAbwBsAGQARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAGUAcgBpAGYAQgBvAGwAZAA7AEMAaAByAG8AbQBTAGUAcgBpAGYATwBUAEYALQBCAG8AbABkAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAZQByAGkAZgAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBCAG8AbABkAFUAcwBlACAAbwBmACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABnAG8AdgBlAHIAbgBlAGQAIABiAHkAIAB0AGgAZQAgAEIAUwBEAC0AcwB0AHkAbABlACAAbABpAGMAZQBuAHMAZQAgAG8AZgAgAFAARABGAGkAdQBtADoAIABoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="; +}), Ub = {}; +ze(Ub, { default: () => qb }); +var qb, PD = it(() => { "use strict"; - Qb = "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Dvvd+K12CwW0lquImhv3NYwLH6uFvvd+BW0GewttCqypjWgfDvcLQNYLaal5prGkpri3C3cS8fcN9xD3DQvji/cp+yJ28cgL+2Gw9y+u+AXSCxuFhwshl3apdvga0wuDkxuQj4+XHwvHi65udvkdrguDHRILdvlTdwELFXUdC36o+DOoC6WvoaQLAQABBgBoAAAJNwB8AABCIABnAABkAACgAABmAACDAACqAACLAABqAACXAAClAACAAAChAACcAACkAACpAAB9AACYAABzAAByAACFAACWAACPAAB4AACeAACbAACjAAB7AACuAACrAQCwAACtAACvAACKAACxAAC1AACyAgC5AAC2AgCaAAC6AAC+AAC7AQC/AAC9AACoAACNAADEAADBAgDFAACdAACVAADLAADIAQDNAADKAADMAACQAADOAADSAADPAgDWAADTAgCnAADXAADbAADYAQDcAADaAACfAACTAADhAADeAgDiAACiAADjAACRAACMAACSAACOAACUAADAAADdAADGAQDkAABlAAB+AACIAACBAQCEAACHAAB/AACGAABvAACJAABBAAAIAAB1AABpAAB3AAB2AABwAQB0AAB5AQBrAQBjAAGHAACZAACmAABtAQDmAgABAAQABwBeAJ0BFAGpAeMCuALkAxcDSQQlBFEEgASWBKQEuQUDBUQFmgYCBkcGmAcCBy4HrggOCDoIiwivCNEI8glXChEKOwrBCxcLVwt2C9kMWgzaDRUNdA3tDhQOlA7RDxQPbBAHEH4Q/xFBEYwR2xJZEtUTGRMfE00TZBOVE7YTwhPkFBwUbRS8FTgVcBXuFpsW/xceF3IX0BgAGKAY0xkQGUUZshn9GmQaqxrZGy0bpRwxHFMclxz1HRAdah21HgMeeR8xH6cgMCBfISghQiHfIk0igSKgI1UjaSOcI9sj/yQyJEQkxyUQJSAlVyWQJcol9CYuJnkm0yc0J1EnYydvJ8wn9SggKMYpXSmbKd8qByo2KlgqhyqrKtErKSuEK4wrlCulK9Ir9SwlLKQszCz3LSQtWS2fLhMutS7eLvUvCy9FL2cv0TCKMQ4xGzEkMTwxXzFuMYIxojHLMjEyhTKUMroyxzL0MxUzRzO+M9wz8DQGNCI0TTR/NLs0wjUENVA2AzaaNy83nDgLOBk4ZTjuOP45Cjk1OUk5cDmj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AGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBCAG8AbABkAEkAdABhAGwAaQBjAFUAcwBlACAAbwBmACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABnAG8AdgBlAHIAbgBlAGQAIABiAHkAIAB0AGgAZQAgAEIAUwBEAC0AcwB0AHkAbABlACAAbABpAGMAZQBuAHMAZQAgAG8AZgAgAFAARABGAGkAdQBtADoAIABoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAAwAA//IAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="; -}), Sb = {}; -ze(Sb, { default: () => Ob }); -var Ob, WB = it(() => { + qb = "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Dvvd+K12CwW0lquImhv3NYwLH6uFvvd+BW0GewttCqypjWgfDvcLQNYLaal5prGkpri3C3cS8fcN9xD3DQvji/cp+yJ28cgL+2Gw9y+u+AXSCxuFhwshl3apdvga0wuDkxuQj4+XHwvHi65udvkdrguDHRILdvlTdwELFXUdC36o+DOoC6WvoaQLAQABBgBoAAAJNwB8AABCIABnAABkAACgAABmAACDAACqAACLAABqAACXAAClAACAAAChAACcAACkAACpAAB9AACYAABzAAByAACFAACWAACPAAB4AACeAACbAACjAAB7AACuAACrAQCwAACtAACvAACKAACxAAC1AACyAgC5AAC2AgCaAAC6AAC+AAC7AQC/AAC9AACoAACNAADEAADBAgDFAACdAACVAADLAADIAQDNAADKAADMAACQAADOAADSAADPAgDWAADTAgCnAADXAADbAADYAQDcAADaAACfAACTAADhAADeAgDiAACiAADjAACRAACMAACSAACOAACUAADAAADdAADGAQDkAABlAAB+AACIAACBAQCEAACHAAB/AACGAABvAACJAABBAAAIAAB1AABpAAB3AAB2AABwAQB0AAB5AQBrAQBjAAGHAACZAACmAABtAQDmAgABAAQABwBeAJ0BFAGpAeMCuALkAxcDSQQlBFEEgASWBKQEuQUDBUQFmgYCBkcGmAcCBy4HrggOCDoIiwivCNEI8glXChEKOwrBCxcLVwt2C9kMWgzaDRUNdA3tDhQOlA7RDxQPbBAHEH4Q/xFBEYwR2xJZEtUTGRMfE00TZBOVE7YTwhPkFBwUbRS8FTgVcBXuFpsW/xceF3IX0BgAGKAY0xkQGUUZshn9GmQaqxrZGy0bpRwxHFMclxz1HRAdah21HgMeeR8xH6cgMCBfISghQiHfIk0igSKgI1UjaSOcI9sj/yQyJEQkxyUQJSAlVyWQJcol9CYuJnkm0yc0J1EnYydvJ8wn9SggKMYpXSmbKd8qByo2KlgqhyqrKtErKSuEK4wrlCulK9Ir9SwlLKQszCz3LSQtWS2fLhMutS7eLvUvCy9FL2cv0TCKMQ4xGzEkMTwxXzFuMYIxojHLMjEyhTKUMroyxzL0MxUzRzO+M9wz8DQGNCI0TTR/NLs0wjUENVA2AzaaNy83nDgLOBk4ZTjuOP45Cjk1OUk5cDmjOfE6CToaOiw6WTp/Oqk64jsbO1s7+zzbPPw9ND1nPXw9kD2qPjA+1j7oP5tAR/wwDvwwDvulcvck+xj3JPiwd6x3Es73KBOo9zv3aBWog9L3Odj3L5epGZOgkaCdGhOYtHGoa1BrOGGFHnr7B4D7FXckCCf7LxUTaGSobLe4qa2vsWqvYGpkcFweDiD4N3b3s3cB9xz4IhWzBt73TgWRmZCfnhqkfqJmZXBoZYge95D7ahWxBuD3TgWRmI6dnBqme6VrZXBoZYgeDqB292bKTNT3GtRMyvdmdxITtHUW4PdmBSsGn8oF8QbL9y4FJQafygX3Awbc92YF0AY7+2YF9xQG3PdmBdEGO/tmBd0Gd0wFMAYTzEv7LgXmBndMBSoGNvtmBUQG4PdmBfsUBjb7ZgX3A/elFfcUBsv3LgX7FAYOPHbwqvjxrMp3Adru9yX3AQP3E5IVYpZik0rHtfciGKGFji6YV9hoGdX3mQUg2HLdxxrnz8P3GZaUioqYHp3MBb0Gd0O1hsxpqHMZYfsZdpCOuI3hM6MZUPt5BdtGx0YyGvsBIlD7KR5vJgVXBvcq+J4VwvdpBY6EjYp8G0VoSFtomnHCZB9N/BoV4r3F2sZonGioHw73P32lhXb346H3yKWMdxL3AN/3IN/J3/cg3xO3gPjkfTsK/An3yDsKE2+A+Lr33xVPBvzp/UgFxwYO9wh50UXcTnbKr8Cv+HSsEqX3Gdb3DfcO23WhEz+A+Bq3FRNPgHOjtmXUGxM/gOO5xLSuH3GgBRNPQHB/dYByG1xSrLBzH+P3CoqBo6a0upuOsJMIrvtoaAemhqiJahpoYWFrYx5utVzzgdwIuJ73HcDwGsJdxS77C0or+wJqkWuQcB77BU37E3X7JBoTP4D7MPcjeLe42ZLD1h5vrxUTj4CAdGx6YBswZ93A6MOsxqkfEz+Aq/shuEOrWQiP9/YVhLaHpaMayJLIw7SdW2tmeFkvWx4O/BT4N3b3s3cB9yH3CwP3O/giFeT3TgWSmJCcnhqmf6RkZHFpZIgedvtqBQ6ECqfpA/c++0cVopoFcLtf9yb3FRr30Pcm9w7Xzx55nwX7n/tMbPtq+xQa+1HwL7RSHg6ECvdF6QNf+zMV9x/3HN33AvdlGt+C91dM6h6imgXfIsb7GfsrGvte+wv7MPtH+wkeDveidt/3AMH133cB92nu6b0D94f4VBVueHx3fHoIdnt3ZWsbcnKbqryqkseOH6uOqo6angiUB3uWY5RyjghXk2aHvRqnl6K2p5hvcaAepGykcJiKkpAYtIGggJ4egJ6CmqMao5eosKegdWx0gn2AeB6AeIJ1YBqXhqqgmZ+bohmon5agrBuummx7W1yDXogfcIpuhXZ7CIEHnH+hhK+ICLeIvX1jGl9ehoZsf6CwcB54pH+dcJiDhRhok3aTeB6XcJV+cxpve3FscnKZtIoeiqKZmpaiCJSelaOvGg4voHb3cMz3cXcS94PlO8sT8Kz3cBUT6Pds+3DL93D3dMz7dPdxS/tx+2wGDvww+zViCn9tHRPQT4EK32IdmnAeE+BibmxhbZp9m38fE9Cefp+BdRpTKFd4gR4O+933OvcIAY33OhX3iAak9wgF+4cGDvwwfvcoAYL3KAOCyDwK/BSOjR2NeRX36PlTBUUG++T9UwUOfaj5E6gB+AryA5z3YxUwpPsW9xP3OPck94L3fvcVS+sy+0f7FPui+2Ie90z3gRXVorb3HMQbsJhrWkcy/H77CPsL9yX4LZ+RHw6LrPkedwGQFvftrAZTYI6pj4yPjJAf9zr48El7Un37J3UZiXQFjp+mjZ8bk66KdIiLh4qHH/sY/IeAYUyIXooZDov3A9t3+DrlAffM9xoDcBb4Awba91MFcgZNaXN5Ohv7KQb3WPc7Bc/F19XaGvcRUdAi+xFJIlBvHqF/BaCZtszXG+iLNng+WT9SRR9aUIuL+0v7SwgOfrPrd/iR0hL3sfcPNPcVE/D3FPfvFe/EZicuWDFRaHakpHcfonh7onQbemOEVoCSSvcU9zD3GOz3EvBqwV+rHxPo8b6ct7Ua5zrESiNMRktjHqB+Ba6mprPLG8miZWP7CfslY1+DHw6gdvcq7fhHdwH3UPcU9w3NA/d59yoVYvsqBfcUBrX3KgXPBqbtBUYG9wv4RwVJBvw8/EBvIgX37/gLFY2JPfunBftfBg5+s2P3HPeN9wTX9wES98f0E7jU+AgV9yrfOCVAUjY9bX+mpHsfE3iifXqgaBtvbHtfbaxd6/cp9yXt9zzmIvcg+yQfrdcF95IGr/cBBfuvBg58q/gBsveWdwGi9wT3NPcQA/d7+C0Vu+7d6PcowYWjGPvdW/sr+4z7Sho/n/sg9zL3D/cL9wH3MPcQS7pKbm2IgnMeK/vOFceh2KDGHt6rjZO3G8qLWHc/WfsciIAfXHlyc2wbU4rApB8OoHb4wPcFAd74aAP3JBb4EfkxBfwRBjT7UgWlBsiuo5v3ARv3Dwb71vzABQ5+qfkNrBKO7JT3A+H3BWfoE/j3S/foFVl6+xZe+xQaa5v7F/dJ9wnx3fcR5VDKcKgekAcT9NiqzbbiGvcB+wyrVfsCODlDPrRDrGgepXMVE/jXMaBxTxpMZUpHOXnXt+q+vcWyHvDdFVu4YbfIGrWiwsYeE/S6rWVFS2VlaGYfDpZ295N3+D6rAfdF9/gVoJ73HK/RHrKfpqitG76KXG6IiC5jJR83a3yGbBt8WYzOH/tL/AIV9/y+9w33p/cqGvcYV+D7AvtBNPsv+wgox0fmppuRk50eVfsJISz7CWsIDvvdfvcm90f3JxKi9yhU9ygT4KLIQx2qYmBsa2MeE9Do99lDHatiYGxqYx4O+937Nnb30Hf3W/cnAaJtHUz3KANy+zMVnpbuvMQaonmTeJgeepd7maoatqiqtKfFejz7GPtEN3yHHvcU+M0Vs6qstrSsa2JgamxiX22stB4OL5h2+J53Aar4kAP4fYMVzwf8BvdV+Dj3VQXPB/yQ+30FUwcOL/Hl3eRnzxIToN733xX4Ws/8WgZZ+7gV+FoGE8DM/FoHDi+YdviedwH4r/d1FcMH/F73fQVHB/gG+1X8OPtVBUcHDn73KPf191hsqhLa9yj7APcO8fcTE8z3O/drFaiEo8aaqranGfcZ4sa82Rq6Zez7KfsBVE1HZ6VtrquopK2fg5iDlR6ElIWSlBoTtKC2nKeqqHtJVXFZPC4eTj+EWYhqCDP7LjwK9z55ufcGsGa7XHfnd/eku/cXshLK5vcK1/gMuROvwPfw96oV9wzj0LuomnVg+yJARV9qb6fHHvciTBV+ok/P9w3P9x7z90D7J/cV+1D7XPtA+yj7cPsd9wj7Wvee29Gnqswefq4FcFBXdjAb+z/7DPcl9yT3d/cZ8fco90v1+yb7CB8Tz8A0WfsKPmyFpJ+SjJGMkh7M95UFRAaAZQWkfYGmWxv7HUv7NT8fE5/A+wPQc6jHusOblh4OUR0BQPkoA/cVFq4HX3aen5CNkI6SPwpbaYNeLApoB/gM+H8VdB37TQYOkIur98ap96GuEvg+9y0l6iz3JxPwcxb3rwb3J/c6vvcx8TinWJsfjQcT5M2b9wyv9w0a9x/7RYxQHvukaAa1qoZjH/sZ/HZ6TW+GaIYZ97n3wxUT8NPZdvsBX3L7GPsbZXSVpJOMk4+WH9X3phXI93UFn5CRo7EbE+jRn1VV+zj7DI47Hw6QecD4+64Bq/cuA/i29y0VL0JLcTwbffsWn/dH90Xz94P3NePFSTJ/in6JfoEdgYN+dRuCf4+QfB+UcGWWVBv7h/tE+3n7cvtJ9yJE9xb3FubT2L4fDseLrfjwqgH4rvcnA/dS9xIV9xT4boAd+ywsJWD7k/uXYX2Zo5qPnXcKjPcT93NdCneDcvsK/DcedT1rg2qGCA5RCgFwFjcdVX2VnJiTm5Cefgr3BKtvTH6JfYl7KgoOkKB29+ar95+rAX4W97sGkK4FXXGWoo6Lj4yPH8v3lgX3AqZsTn6JfYl8TAoFN19/dfsiG8j3cwWrlJaXshv3SYs2Rx+mhrb3UgX8qWgGvYWkh3qLCoUe+xT8lIJnbIljhBkOx3mx96av99OvAaD3MAP4N/e6FbmHqohlGoSKgYmBHoRoYPsQh4QIdH1gfl8bavsUvfc/92f091n3NPcDuzsmH6iHvvdxBWwGgYaCd28bfoCQkHwflHNolkcb+5n7NPuI+1z7RfccOfc51/cHpKTBH5eUu/dJndCTisCPGa/7swcO9wiLrve6t/eZrgFzFnUdXo5ulaUaj4yPjJAezfeGBfeDBkz7hoNreXo/iBlo99GuB2mMZJenGo6Lj4yPHvcZ+HmbyaSFs5EZYQrAg6F7dBqGioaKhh5S+1sF+4MGwfdbm8eoi8ONggq+hKN7dBqGioaKhR77GPx5gGJqhmaFGQ77paB2+Q6uAWsWdR1gjW6bpBqQi5CMkB73Ifh3mr6ejVYdxYagdYh6ioaKhoqH+xj8dxiAYXCBYIUIDkX3P/jMdxJd9xP7E/jOE+D3d/kOFb2EpHxziwqEHiL8LQX7C2tdYXMbgYaSmZiPj5KSH5KSkJKeGq9upWhob29gTtFk3PcYvuXxph73APgtBRPQnsSaiLqTCK77vQcOkKB2+TF3AXYW97WuBmRwmK2QjJCMkR/L93mTiQX3Aft9l3SIGnSEilGEHmj3rK4HcY50jX2p+zH33Bj3bPdQuLWYjK+QGa77Z2gHsoeciXUacvt4+0RkVB6GjMf3cZvFp4u9jxmu+8poB72EpHx0fB15S3CIaIYZDlMdVX6WnZSPlo6YH/cV+HKbx6iKw46CCr+Eont1fB17UnaCYIUZDvd3i65xdvdgd/iFdxITsG4W92OuBlB5o6ylk6uTpx/v+AAFjQYTcM38vgWnBvgH+MqNifsP/EcFE7B7UG94U4cIaPfMrgdVepagmI+ckJ8f9w/4UZvJpI+zkRmu+2gH+8j8cW8KVfhxBftxaAbAiZ6JbBr7DPw5Y/sef5JafxkOix0SE6BwFvdkrgZReZ2wmo6bkJwf9PggBRNgWQqNlpSKkxuvl3Jrb4Vqg3FkHfsS/FcYE6BtIYCbVX4IDsd5rfkPrQFNCgP3P/cqFefg+C33TPOOIXb7CC/8HPtGUFytVR3U+xT3O/eN90P3nvdW90L7G9D7Aftv+137ffuJHg5YoHb31qv3r6sB+Gf3JgP3off2bx0jVFX7Ix/7vPv2Ffe6rgZaeKOyl46YjpkfwfdNBfcn92Ok9zn3EiCqIR/7s2gGvoSjiHmLCoYe+w/8W3pNampjhBkOx/tk6F33Rmmt+Q6tEk0KE1z3P/cqFefi+C33TPOMI3b7CC38HftGUF6s7x77I/vPFZlzBaLErZCgG76ue362HxO8gauvg7wb9yDS48i3H3aeBVhrUXNOG25sjpRwH1ebXpNpjwhmkHWMjxqQqqiamR73hvdZ95H3ZPdC+xnOXR37ffuJOLwn9wVsH5WHi4uPhoiFi4v7QPsjCA6QoHb5EasB+Gz3KwP3pff/Fcf3egWikJKgrBvLqVZPJTtQ+wsf+8L7/44dZnGOsJSNlY6YH8L3dAWoBvb73wX3Xq4GW5B5jXXMOPeAGPcXoMjf1xr3JftEi08e+6hoBr+EooJ3GoeKh4qEHvsZ/HB7UneBX4YZDiF5rfkOroeFHRPYjXkVqQailo+XpBuYmoSDoh+CpqqAtBv3MOX3APcY01TCUbgfS75HtsIal4Tq8fcGpvsCUx6mhwUTuLP3XQVtBnJ+cIqHG3x6kpJ0HxPYk3Rwk24b+xk4KyY7yF7IYx/IY8lmSxp3fvsm+wRh+wWb90Aebo0FDlhYCgG9FvffBo2uBVF2kamUjpePmh/3HvijBcDghfspH6aJr/dUBfy7BmX7P6SEBfG+0rTqG/sm/KN4RmKGXo0ZDsd5w/jprQHO9x4D7fkOFcmDlmtrXSP7qDgK4fe7mbydm1UKjJOTi5IbuphocoWKhYqGHzv7uwUhb2X7C/sjGyhzt8Wzm7uXtz4dDpCHdvdTd7J3+FyuEtP5HhPYE7j3e3kVqwb4Hfj4kZSbn7CWGa77VGgHuoedimwa+4v8MW8KWPgYBYqWi5SSGqenjbuPHmEKx4mTgpRRCA73d45294t3+D2uAfdweRWoBvd7+HoFjQbG/HoFqAb3qPjPq8uqmKqQGa37T2gHuI6dgXQafYZ6gXce+y772G8Kave4BYikiaCeGqqZm7uMHq77oWkHvoOfkioa+yj7yG8KZPfgBYqUi5OSGrColKuOHq77qWkHy4CNlJZDCA6QWAoBcxb3aq4GdI1XkK4a90L3TwWVY7ogYBppa4lniB5o98iuBz+SfqJw4UH3dxj3W/dXv8GjjqKPGa77X2gHrIime3sah4qHh4ce+zj7OgV8v2fanhqtmqLGkR6u+8VoB7+Go4OaWd/7mhhPTPsD+wxHUHV4hIdsgggOWFgKAdQW99auBl2NbIy0Gsf3eWoKxIijgHgagYd/gX4e+y/7akj3XI2DgaUZh5WIlpIapqiUuWodT/tieUtyiFGGGQ5YWAo+Cg773fszuPl7uAFm+zMV928GkrgFOwZ/doujH/cy+SQFxpmKj7Ab0gaSuAX7XAYO/BT7HHb3NI0d9x77MRXGBjL53gVQBg773fsxuPl5uAFk+wQVhF4F91sG91z50wX7cAaEXgXZBpajiHUf+zH9IQVRfYmGZhsOL/fZdvgBdwHO98QV5Ab3Ffeh9xX7oQXkBvtG+AEFOwYO+xG9AUAEWfiIvQcOfx33SXcB95D4mHsK+wP3JwWYgHqgcBtweHV2dqB4mIIfDlgdtYV3dAoTaPeO9wcVLh0TmHEKkJRECgX7AwZ6TW8KE6ikh4q2Txv7DvszLx3M1feE35StOQoOfqz4Cs/3gXcB99P3EQP3WvgMFYmN4/fVQncdZfst/INuGnfBY+D3O/cs9z73PdlbxU1MZGNdaR4y+9kVjMf36vO5i1h6Nkr7cfsFhnCLqh4O+25+y/eP9zRqrBKG9xQTsPfS9yEVUWNma14bbl+V29LH923ilJmHfoOFg4WBH4aCh4F+GhPQhB1ntzz7Hvsk+zz7LfsD3mDN9b7Ty7geDn7TWnb4Q7X3gXcSdvcQE3j3jvcHFYRsiHl7Gk7Ai5LRwuKyox51mwWEkFVLdhuGiI+UH/c8+QZog12A+xSBbQq2noVzfHI1dTgfmX2DnmAb+wj7N/tV+y8fE7hfojje4bvZvKge+yUW0c/3gOKwmF2Fbkf7rCxjib2QHg77bn7L+CGsAZD3Fvc/5wNQHfcHwhrTR5No+zf7E/tV+xz7BN9pNQqO2p6Nlz0KZYJXcDr7F2gfDvvd+2Gq+Nm193CoAbL4KxXUBnY7Y/tXcPsJCPscbnxWWxuAhpCSjo+Qj5Ifj5KPk5Yar2aYfnRveWxPuHO/90Oz92f4JeEe5QaUtQUvBvcDpqr3Ab4bk5SIgIiHh4eEH4eEh4OAGm6gdqajp5myn4HHM/sSSfsF+xxoHkIGDvtfrfdMdvczqnR397aqElfi93v3AUD3CRPe2ZMViQdMe0h6Qho/83Db9z/T2tDaRKY9oB4wpn6XmxqWmaKYHhPtkpKKiJIfiJOTipYb9wH3A8z3BJ+Jk4eaH87D+wMGnnNnmVsb+yg/JT5UqGS+eB9LaGt5Xhpgt3uahh4T7q59Faf3EWNWTzKBXkB1q7C+1LaQH7H3khUT7ayn9yrWr5VocFto+x1FX4u5nR4OiR33gXcSE3B+gwqk4673CrTJCLanvtq1G56PfIN9cERzQR94T3lOaBoTsGqhb7bduNPLtB51mgV3iFNNjwqQlpCgxaHLH6PQo9afGtpTm3VZUG/7JikeiYz1+C5AfFODPoSCHWYd+MP3Gk0dU1VziB2PlTIdqYtrHzQd+wL4fxVBHQ78FPtOdvmJ9xoBqvgrFbuZhXIfI/w5BTZ1fF1nG4F/kpCPjpCPkB+PkY+RlxqzZZSAc3J2a2+gWuDk1sn3Pbce9wb4SkV8e4n7DoAZ9wX3TBVBHQ6D0mF2+FV396J3EhNwdBb3Dga991CypgUTsPsOoaMm2RvQtdu3ox91lgV2f3RgcRtpfdP3MmwfysLXzqKFr5AZrvtjaAelpIl0aPsPOWVtH4mN9w74W0x/OH9NhYIdZh35WGwdVFVzG4SHj5Wfm8WRoR/3JfiffwqsjWwfXPsi/FRPGn2LVs/bt9DOtx4O9wiXdql2+BnUEhNgfYMK+ADo9wOkkhu4Tfsu+39BH/cMBr33OJm4sMuOkd73Ba2MCJSRg3h9azhyPB96Vn1XbhoToErAi5zbudnAqh51mAVziFdYdhuGh5CUnZ/DoMcfos6k1K4at3OuVDlQNzpYHoqNBZSima2yGs5Oi4YySicyUR6Ijcf3TkZ7cokhgm0KmrKObh8TYGpe+x9S+2UeDokdEhNgeAqvbS4wbR93T3hQbBoToHYdaoFiYXYbhIaQl5mfxKDJH6HNo9StTwoTYIgKDn6o+DWoUh3hFcu/96/3AKWffVlAT/uqK1eNvZ8e+wu9FSvXVt33NPcS90D3Kfca+wmfZfsy+xf7QPsuHg6HHVkdeGtDRPuKTx1XH4iOrfJEfWSHOIFtCq+diXJ1SvuFT/uPH2mDbYcKbY2roajjk6wfDvthsPcv0/f8tn53Eoz3ERPY8/s8FWb3n7AHaG2LqaD3E/g3sfcnH/sBBn1UbwoT6KuGhK9LG/sT+yL7YPsRaov7BfTUuMW5px+NiU/7d4NtbY5XiBmh98EV1tz3Z92nk3B0VEr7ky5ii7ykHg77paB2+GJ3AXaDCqvolbulzgjAob/vpxuRkYODkh+BlJh/nhuqp6a5zVWLh0lQ+wxRaB/D90ZIemyJJYJtCq+diXJrWvs8VvtIHw77pZN2+FGsh3cSjqb3LeukqBPchQqWlYeGlx+GmpyFoxvL5LDsum+2bLMfZrtita0akIe8wMakRlmTHqaJBRO8eQp7gpGQgB+RgH6QchtKPGcyYqpfq2AfrlyxXGAacnhtZYJDfAoOZh34NLX3JXcB91/3IRV5iVVOchuEh4+VrcH3Q6z3Dh/etUMGsvclBWgGRyE/bGR8CGi+B1/7Mlv7KmIahItP09m82cWwHg5kCqx3EhPALB1WTXMbhIeRmDEKY6DCr5YfE6BEHaGIcW54UHlPH3hNeEtoRwoO+26TdvhvdwHa9w/d9wkD4H4VpQb3Pvcy9wz3Ke8atmikb3Ntc2p2lX2Vfx6XfZeAeRpvdWAj+wge906Cz3XbHk98Y4ZUgwhwB6qlh2ofhoyFhBoOkJN2919397h3AeD3C/fi1wPqfhWmBtr3Ddv3IpSeCI0Gj12c+2eNcgimBrW393r3hfcRGrlmnnNqdGtwd5V9lX0elX2WfXkaYjcqaGIea/fgBXAGUjBdMVgwCIkG9xJ+03fVHl6CXYFLgghwB6uli2kfhYyEgxoOk3bpd7R3+BB3AfdB9yIV+wqfq2a6G83E37GlH3aZBWh2dXV4G3h8mbCDH2v3MAWfmbbWrhuXkoaGkx+GkpOGmRuso6Wlo3SxaldpaiJBH3vZgqt3p/s7cxhwB4yVmIyWG56ki0iYH6n7LgU0VXxzdRt/hZGRgR+Pg4GQextod2xze5RfwMLL1N2xHw55HQH33MsDRQqVlHwek359k3k4HWqZgJmBHpiCmYN1egoO+6VSdvhG6AF5dBWnsYuLmhukpHl4qB91rLJzwHYKf46Dj4UfkYKShoIahIODfm+Bpqx6HnqrcrFRooAK+ytwHfv5BQ6KChKn82DxE+D3aftDFUeVfq2vGhPQxcb3L8Aat3ebR5wejQfxnaalndK490cYndGuuOCajpcY+xk3d/sObB9d+0d6SW9sL3gZxH2meWAaE+BkTvtBUhpLsm/3Ix4O/E77O3b3U40dsOMD9135QRXPBvt5/f0FRwYOigoB9wjxbfMD+xL7QxXgm62xntG49z8YntOmsfCeCI0HR5t3mrbAxvcvxhqwfq1Hlh6OlwX3I7JtSx9STvs+YxpgpnrEfB4ueHFeeUld+z8Y+w1rOHz7GRsOL/dF30h2onbR3493EhNQ7/dBFa6bo7C3G7SsfHuqHxOIea6teLYbyay3takfZ9EFaHRyZmMbbmibm2cfEzCdZGOdaRtIZ19hdR8O+6X7THb4vfckAZ73KZX3JAP3VfenFUz7OTr7L3ttCIJ6hnp8Gl2saK7GnsG1jh6U9wek9zKf8ghf9y0VY6trs7Orq7Oza6tjY2trYx4O+w529yt2+E+s9wV3AZf3EwP3asQVY5yGvqUazsr3aN6gjoKEHvsp/D8VXfsWBa0GuvcZ3Zi2yLXGGXCda1tkY1yKGef3mgWFkpeGnRuqq6W1q3mpaJwfuPcSBWgGYvsIBY2BgYx/G/sb+yb7Lvsy+w7pYcEfDn+qbPMj90L7LHb3F3fCd/dDx/errRJrqRNPgPcwvBVuq7hruBvnudDtnR9yBmd7f3BGG2VKpZF8H63Aqt6VvQj3BwaVxwX7Bgay914FvJSgp6obp4dzc4YfiYKKgoMaZ6t8oKesorfMT6ZYZ/s3ffu/WR4iBoFPBfcBBoNWhk2FXAgTI4CTeH2RaxtdXW1QHxMfgF6vZL7Koq+jmh5gtBUTj4BqhXtlZht1aZmtt6qUn6mgeX+YHw7SdtzV92XV1HcB09v3XdoD9xz3zBXKvr/LzbpVTEpbVEhKW8TMHjn7jhXh4wV4p7N8thu2sZqepx/hM7+/NOMFoKaWsrYatn2xeKce4+NXvTQ1BZ5uZ5VfG2JigXhvHzXhV1njMwV4cHxkYBpgmGWgbx4zMwUOi6T3H73ZvffCpAG5FvfWpAZZjWyMtBqomLaRoh73LAaZvQX7LAag2QX3KgaYvQX7Gwb3MPd9kB24kxmk+1xyB8ehfHmChoCEgB/7K/uABXTBVvdUnRqil5jKHqT7rHIHwISKkqFk2PubGPsRBn1ZBfciBnU9BfshBn1ZBfchBnAsf2JxjUyGGQ78Tj528Hb3lnetd/hXdxLN4xPc9ff1Fc8G7/fgBUMG+3j9oxXUBhPs6/fmBUcGDvsOdqJ395mm95Ck93ihEq/3Bp3Rqdie0hN/gPey9w0VjY8FiJOVipcbxsW81spiwXijHyb3DGe1tBqwo7DDr6d8f4KDh4OEHoCEgoF3GnCjcaqgsJm7t2LAJzdJVTpLt1aWgB6JiAWPfm2Nhhv7AG77KyjeH/cW+zSed2MaTk99cHVflZ2Wk4+Ukx6Uk5SUohq0ZpV3b252ZB4Tv4BSxFvj4tjE2MZkuXekHjvsFYiOS8++GrKloKvC9wT7F1BgaXhybnqXxVYeDvvd+KH3FgG49xbf9xYDuPjiFUsK92gWSwoO4Hm59wSi4nf3tJ/wuQGfyFjI5OD4HMgDqffhFfdX9yv3MfdV91X3K/sx+1j7WPsr+y77VftV+yv3L/dYHsgW+zj3Evsh9zH3MfcS9yD3OPc4+xL3I/sx+zL7Efsj+zce+Fk4FXpDBXBuZoBIG/sMLcj3IeDI9wP3MsClgoKmH5qGkoSCGkR6B7aDcLo/Gy9hPiggqEPvzLqyu58fDvwg+CS4cnb3l6YSm9kTcPdU+G8Vh3uIgYEabKqCl7OwuKqgHn6UBX+Fb25/G4iJjZGhmLKUpx+59yA/iIFqbwqaiISlZBs5LPsLMx8TsHeSUczBrL2mmh4rFrjF9xy6lJV/emNe+yRSiHiPpx4Och2X921xHYGUloKTG5GPjpgfQY0K418K902CcR2AlJeKHUGNCuPcrxqUiI6GeWBie2wKDlP3FXb3Xc5I5QH4ZeVD0wO+98kV+ET7XdP3oPyMBg7gebn3D/dO9z2g9wS5AanI9zrS9wHU9yfIA6n34xX7WPcr+zH3VfdV9yv3LfdY91j7K/cy+1X7Vfsr+y/7Vx7IFvc49xH3IPcy9zL3Efsk+zj7OPsR+x/7Mvsx+xL3I/c4HvcL+0wV9zqbBlqQjIy1GvG3BzDIyECJG9EGd6VurTf3CQi7mqyzvRrMVKhNHvtLewa8homKYhr7jQdhjYpahh73Cvc+Ffc9sweyqXhRVndkWx8O+934vdEBvvi9FffYBp3RBfvXBg77mvg2dveydwHe+LIVPMtJ2trLydraS808PEtNPB6xihVRuVvFxbq3xcVcvFFRXV5RHg4vi+Syd/c25DzJ9zh3EveF4z7ME+r3kPcUFcwGE9r3LPdwyftw9zhK+zj7b033bwf7b/usFfiMBhPsz/yMBw77/vem0PeryAGN96ZeHe8Ftqq8vVIKbWZhH2toi4T7CPsCCA77/veydvgDvhL3Zt9O4xPg9wL4dRXMrmlPaWZPaYGCj5eDZx3P4bx0o26eHxPQYx1pCg5/HfdJdwH3H/iYFb0G9yshHQ41+05292PRTXb3EXf3+XcST/cLE9z3r/cEFYNsiXx6Gm2ha7PautbDtR52mwUTvHGAa2d5G4CFlKuTH/P35AX7GwZY+zgF+w5iQi5TG26Vt6KRH+j3zAUT3PsbBvsD/AsFX/sSgVRkGmCgeamzp669tofAnL0eeqKUhK4bwM3StKIfDvtXdvncsRKy92RC5Pcs5BPY9xH7bBW8BveF+dwF5Ab7hf3cBbwG92n5fgXtp5Kb5RuQnQX7vQYT6Ptk+wP7MPsc+xPwbPaJHw78MPeV9ygBvvcoA7733zwK+937brSA2EnY9HcSE1C0kBVJKph/BROwfQpyfGxue4YKn3m/G8Dpo8q/Xp5nfX6LiYMfuM4FDvv+97t29xd29793Aan4FIwKYnGRoJMfnbnH9yGnzV6CZoMsfYl2GKizk3F8Rfsfe24fcH1mi3MbDvv++CSf94mfAfee3AP3HfhfFbKu9zvSlZiFbV5k+zhNb4umlx46qRVSvmvA897y5ds/l3IkNCQuHg5yHffrSR2VgoCUg4gdiH4f+wT7QHAKj4iQnbW1mkoKlYKAlIOIHYh+Hw6GHfind6J3EhNw+BHjFfczBhOQcDMF4QYTcEgK/Dn7N2Ed/Mj8KowKXX6SopOOlY6XHxOIbh2UcGsK44vQTXb3FHf3ksj3o3eidxITePcNfWEdE7T7JP08Xh3uBbaqvL5SCmNmYR9raIuL+wj7Agj8OfeWjApffJCglI2Wj5kfbh2TcWsKhh33CHf3gPdbW7uOdxL3XN9O4xN5APchfWEd/HD7WxXMrmlPXGxhZX6Aj5KGZx3R4bx0oW6eHxOSgGMdE5SAaQoTeQD3sPwrFfczBhOZAHAzBeEGE3kASAoO+2GqbPdY9/X3KBKp9xP3CPcoE3j3xPejFXNQfGxgbwj7GTRQWj0aXKgq9yn3AcvJz69xqWhrbnJpeJN/koEekoGSg4IaE7h2anpvbGSbzcGpvdboHsjXkr2OrAhP9y48ClEd94V3Afg8+Wd7CvsC9yYFmIB4oTAd+/r9wDMKUR33hXcB98v5ZyId/Ij96jMKUR33flod/Fr+FSQdVgr4TXfVgx1e1hIT5PeT+XwVE+iek5SjrBusooSAoB8T8H+mn32mG+Gj3q+TH2IGeIKCdGgbfHOWlnAflnBvlHAbKHn7B4gfNf18Fa4HIx1oB/gM+H8VdB37TQYOVgr4WXe69xr7DfcaEveA9xq99xoT7vdz+a8VE/YgHfdoKwr8iv2vJB1RHbi79wG8Afewu/cIvAP3sPnCFU+5XcfGu7rGxlu7UFBcW14K/CP9wiQd966Lq/dzsrer95+rAUurFayQiovD0/gC+FsYmJuSmZgaoG2TWB6s+OEHXvtSc5AF9xQ5pDxWh4B2hh5K+3/wiMCYs+sZpYdC+6VykJjpd7b7D4gZTPuFBYmCioOFGm+dfaf3K8+69wzTHqWIUPtYBfyjqwa6k5qQm8W59ywY+1QG+wb7KgWCfoaAgRpxoH61Hmv7Vwf4Yve6Fef31wV/BvuR+9cFDpD7brT3b3auv/ivrgGr9y7vuPehq5ipA/d/LxWYfwWPlJSMkxuooXJ/cHR9bG56kZZ0H3VqBYObo3q+G8DnnsrDWKBlgIKKiYQfqrkF9wnb1tO7H22hBS5DSXI9G337Fov3R/dF8/eX9zXjxU0qf4qAiYCBHYCFfnQbfneTk28fknNskWMb+4f7RPt0+3H7QPcVNvcRHw5RCnMK+Dz5Zycd+9L9wBU3HVd7lJuYk5yQn34K9wGucU99inuIeUwKBTpgfHL7JxtlCpNzHYtAHYWWh0MKDlEKcwr3y/lnFbwG9yvhBaKYnJclHfxg/eoVNx1VfZWcmJObkJ5+CvcDrHBNfol8iXpMCmA6fHH7J4wZZQqVcx2JMR0OUQr3eFod/DL+FRU3HVZ8lZyYkZuQnh/K93sF9wapbkl/iX6JfSoKDlEKxfcbAfeG9xvY9xsDcBY3HVZ8lZuYk5uQn34K9wOscE1+iXyJeioK96H5i0YdaApzCmsWdR1Kf5qhl5GYjpVBCsabfnp/hnxHHffl+UQqHWgKcwr3VPlnewr3GtwFoZienCUd+9r96o4dTnuYn5iRmo6WQQrGm395f4Z8Rx0OaAr3eHcB9wv5ZxXEBvTq4yw7Hfux/hWOHU57mJ+YkZqOlkYKaArG9xoB8vcbA/L5sBVBHfdjFkEd++r9sI4dSn+aoZeRmI6VRgrHi633u7f3naoB+L33JwP3mPfdFfcOBpe3BfsOBsj3d4Ad+x1bJWD70fuXYX2ao5qPnHcKkfcT925dCn6CdVr7Sh4lBn9fBfEGhniAXGf7D28tbYVqhggOix3VjB0TsHAW92SuBlJ3nq+nkqyTph/u9/gFE3BZCsKgeGpvhWiDb2Qd+wz8LxgTqGP7H4CTWX8I97H5WVAKqKJ/gKIfE7CAoaKBqj0dfHOWlnAflXFulXBUHTMd+D34liodMx337/iWJgplHfdqJQr3h/iWWwrs4yp+HWUdx4wdTQoT3Dod94D4qlAKpKJ/gKQfE+yAo6SBqD0dfHKWlnAflXFvlXBUHWUduPcaEqb3JPcM9xrY9xoy9yQT+jod95z43S4KE/z3Zy0dL7B2+G53AbvHFbdf91T3VPdT+1S6uvtV91L3VfdWWbb7UPtS+1L3Ul1c91H7UQUOxyN29q35D63adwFNCgP3StgVg5+Ioqka6+T4KfdJqKCDfpoe+7785BX32fi/BZZ0jm95GvsCLvwi+0dydJGbeB77I/s3FbsG0fcMBYOjpoaqG/eN90X3oPdW9wJWzkeuH8r3AAVaBlYvBZRwZ49wG/tv+1f7ffuJRq823GEfDnIKcwqw9x4D7fkOKR3DnnpoboRohHBKHSxvtMG1mr2Yuj4d9/bBKh1yCnMKzvceA/gy+WciHfxK+3ApHcOeeWhvhGiEcEodL2yxv7aZv5m8Ph0Ocgr3eHcBzvceA/ei+WdCCvvg+5spHcChe2tuhWaDbkodMGuxvraZwJm8Ph0OcgrG9xoB8/ceyvcauvcaA+35DikdxJ14Z2+EaoRwSh0tbrPBtZq+mLo+Hfdj9xIuCvdpLR1YWApzCtQW99auBlhwmKuZjZuSnB+/90lqCsKmfnmBh36AfB/7L/tpBUv3XIGCpxqilLPFah1V+055S2x0UYYZ97H5RCYKWIuu9yer97Sra/c7Evg/9yYT6Pd5929vHTNiQCZ6eIyPdx/7lPtvFfe6rgZMf56ilI2UjZMfot8Fh7CairQb9xr3E873FPcSIKohH1sGqeWjj7ORCBPYjK4F+7poBr+ff3d8iHiFdR/7D/xLek10iGOEGQ77XPcWyq35HKkS98/3DEL3AxPw9yKaFYKYln62G/cL9vca9xLpTLE9mB+NBxPoyqL3CL/3AhrUT7o2+y5D+zP7I3EeSfv/bfscZlwIgIJxenwbhIePlJaTjJCVH42QjZGWGrBrkn5Vi1yDZ6pkzPcKz/cN90m0Hub4KwX3A6SowrkbuoxHdU15ISsfhGoFE/C2hapfOhpbbftGP3p4k5qAHg5YHbWFd/eZNApvgWJidhuEho+VRAoF+wEGeE1vChOsJwowCvd0+CUqHVsd95M0Cm6AX2N3Px0TrDAK9w34JSYKWx33jDQKcQqPlSgdE6wwCqH4JUIKDlsd6YwddvcPE2ooChOaboBeY3g/HROmMAqp+DpQCqWigoGhHxOqf6amfqU9HXtxmJZuH5VycJNyVB1bHdr3GnQKpo4KE28oChOfboBfY3c/HROvMAqm+G0uCjoKWB2wZrXBvFr3OfsI9wj7CPc4W7t0CvcD9zf7CPcI+wj3Olm9E2TkKAoTmWRxCo+VKB0wCvcD+I8Vxrq7xh4TqsjGu1tQUFtcUB8TpORQXLrGHxOq1LqMFWulcaurpaWrq3Gla2txcWseDsd+ykzSWnb3Cnf3FHf3dbNtqY53Eob3Evhi5ROcwPes9wgVjQZblJo69xAb9xfE9xmNjB9vnAV6gmBDRBtRgsWkm42cjpofspQF9zWwztTSGshgplNoY4NWYR6JjZ3GBRM5wCiOdk0FiAalgn+vTRv7EPso+177ISbJbb7qvt+3pR/7M40VE1zA6eD3Y9ewmXFmWkn7jStnfaiqHve46xWQnAUTmsDBm7X3JNUbrItvffsN+yJXbx8O+277brTY9yv7AnfjdvfO9zRqrBJz9xQTuvcDfxVUO5h/BRPKfQp0fGxueYYKoXm/G8DnnsofE7rHSZxzgoOKiYIerr/glsvLtMUZb50FE8ZRY1NrXhtuX6rb0tr3WOKUmYd+hoiFh4QfhYGDfnoaE7qEHWC3PPse+zD7LvstI9NMyh4OLwr3KvfCFbYG+wFfHS8KvvfCFbhaCmgd93giClv3whXABvcX6OQuBb0GNU4KDmgdx/cZEpD3Fmn3GdPnL/cdE/QgChPqXPgKFWcK92UWZwoOZh35VjwddPgZewr7BF8dZh35VmwdUlWPCpCUJAr7EvgZJgpmHflPbB1UVXMbhDIK+4T4GRXEBvcW6OQuBb4GNE4KDmYd+Kb3GgGc9xrW9xoD92z3IRVxiFFWdBuFiJCUJAr7cfhhLgr3ZS0dfqj4NW4K9y6QCvdrex19WUBR+6orV4v3Cp8e93f3nhWpem+Xcxv7KPsV+y77LivZRN33L/cV90X3bOBm3VLIH/bDaasgUmSrXaFckRlfcLGFtXOvaBn7DkusbPcLyQWuX6ZWVhoOIZd2qXb4Ynf3HtYSE3B4CpiXgX8fdTP7b0QaE7B2HWiAYGN3iB2Rlh+o4vdozE8KE3CICvcr+K1QCqmhgYGhH3+ko3+nPR18dJWWcB+VcW2WcFQdfqj4M6j3gTcK9934Diodfqj4M24K45AK96t7HX9ZQFH7qjYK90D3Kfca+wudSx33dvgOJgqPHfd6Nwr3E/gOQgoOjx3XjB1OHRPcIwr3G/gjUAqpoIGAoB8T7ICion+sPR18dJWWcR+VcG2WcFQdjx3I9xoSiPcLk/cay/cL+wH3GhP8Iwr3E/hWLgoT+joKL27vJ/co5+E20PX3KCfvEvdn9yj7DO8TWqz3aBX4jND8jAYTpfdi+5gVZgr4ZARmCg4pdvWozXf4CKjsXB3hkAr3sPcAmJaGgZQe+1H75W8KYUAVQ/sSBbMGy/cGBYabnYicG/c09xD3QPcp2mKyYp0fzPcIBWYGUCMFkHlxjYEb+zL7C/tB+y5Nq1+4dB/BphX3VffrBYyKi4eIGkBR+6ord3+SloMeDmQK96B3ASwdVE6PCpGXMQp5hpeanpSkLQrP9/0qHWQK96B3ASkKlpuelKQtCmj3/SYKZAr3mXcBKQqVmp6Upi0K+xr3/UIKDmQK5/caAfcsjgoDKQqWmp6UpS0K+xr4RS4KOgp5HfeTdwE1HVVLSnB7fpOTfh6UfHyVdzgdb5Z+l4Iemn+chXJ6Clv4JyYKhx33gXdZHXRrQ0T7hk8dWh+Ijur36ER3HRp++w78Xkz7iB5Ne3WHCnepq6Gex5OsHw77bvth9wf3ZXf3/3fa9xoS644K+wLLE/pFCpSUfR6UfX6TeDgdbJh+mIIemYGahHR6Cvsn+G8uChP8OgpmHfhrPB0OUx1WfZaclI6Xj5gfvfdN9yjeoNH7KjrH92ecx6eUw46CCrqEo3l0GoOLg4mDHj77qCdWdUXzw2n7DntSdoxghRkOZh35WHcB92b3IRVxiFJWjwqQlJ+bxZGhH8T3YeG6ns81XND3jn8KjayLbBp2byhxLx49YHhF2LYFZfsdbfsBcBp9hVbP273QzrceDveug6tzq/fErfefq3OrEqL3IRO0+OH35BXeirqASBqDiGuKfR6mhtP3pHCOclRxWvsejBnI93AFrJSPmbAb90SBME0fpIW591MF++MGeG2NjXEfE6yNcHONghv7JPvJ+wb74PsM6/sL9zwf9zWSBRN01YwF97wGx/dWcJAFRmdAKfsUG0xwjqmSjJSNlR/7GasVE6xOenNlSxv7BIDyq/cO3/f/91CMH57Ei0t0gWeJgx8Ox36obsr4E6gSkfcJE3D4OfduFfdq0q+LoxuemnxwiYv7F/s5ZB8g+0IVXLO4gacb5sW94rYfb5oFWGpwZU8bYHW4vJiOmZCYH/Gi9zKz9w0a1VCfVElgaW9oHqR6cLBCG/tJ+wT7XCL7OfcZhqWv0Ja5tx/7U8cV6sr3HoqHHrmfpsG7G8OMVnYfE7BWUfu2KF2Asb0eDiF5rfkOrod394CFHRPcjXkVqQailZCXpBuco36BrR+EoaaGqRv3L+Lb9xjZTchNwh9Owk+7vxqWg+vx9wah+wJTkR6mhwUTvLP3XQVtBnF/b4uHG3t2k5NzHxPcknVyknAb+xo6KyY+wlfFWx/LVs9bRxp3giH7BGH7CJv3QIoebo0F95T4mRXdBvcq90IFUwb7D3gd+6WTdvhOrIp39413EvdA9hPYhQqYloWFmh+Hl5mHnhvL6bDsum63bLMfZrpjta0akIW8wMamRlmTHqaJBRO4eQp6gpCRfx8T2JCAfZFzG0o+ZzJOqmW8TB+ka59eaRpwfXdmgkh8Cvdq+KVgHViLpPj/pMX3GwH3dPcb2PcbA9QW99akBmRnlayTjZWPlh+/92f3UvefkB22kxmk+2RyB7yJn3x0GnmAdHpyHvsV+04FS/dcfpanGqKXqcUepPuvcge7hJKUnVTj+6oYT/tseUtyiFGGGfcr+ZVGHVhYCvd4dz4K99H5QGAK+6VSdvhD6/eFdwFydRWnsZKKmhulpHh4qB91rLJ0v3YKfo+Cj4UfkIOShoMahIODfnGBoqh8Hnqtc7VMpIAK+y5wHfv2Bfdz+JlgCvsw9yf4Kbf3C/cobakS+Dz3BRPY2fggFfQGP/wijz1VaQiFgneFfBuBg4+UkZSTk5YfkZOQlZYanH6sZFyAYn1IwHLD9wfv5ffIwR6m9y4F9wgGlLcF+woG9x+im+3MG5eXhoGGhoaFhh+Dg4GBdxoT6Gaqfp3Li8CVulyxT/tBZPtUQHIeIAYOfx33QncBs/iYWwrm4zB+HX8d90J3Afc7+JhgHfvd+JjTQ/c2AdP5OhW2BleQqmXTG+Wew62bH7IGhYD7MPs3+x+J9wq3Hg773fih9xYB91f3FgP3N/jiFUsKDvvd+J289wu7AfcGu/cVvAP3E/kDFU+7XMbFu7vGxVu7UVBbXF4KDvvd+0HQ9yh3AWPfA6e3FWNfb15eGkbSfbOtyaa7oR5xmQWBeX6BdBtjcp26pJiyj54fDvvd+LL2MHamdrDWQc8SEzCH+LMVrwYTSJySk6CpG6WhgoGfHxOAgaCggaUb2Z/Wq5MfZgZ6g4J2bBt+dJWVch+UdHKUcxsTMDN6I4kfDvvd+Jj3SQHQ+JgVuwb3LSEd0PsXFbpaCvdGx0/mAYD3RhX4Vcf8VQYO9+b3RshO5gH3RgT6U8j+UwYO+91pHfcU4TX3MBPg9+D5KRVcCsZ7ph4T0LSoq7WpfJp6lx8T4HmYd5Sheh0O+91pHfcmbR0T0PcD+AUVSQoT4GJua2FrnH2cfx8T0J1/nYGJCg773fs1Ygq2bR0T0Ib7MhWYcwVJChPgYm5rYW+YfJqAHxPQnnyig3NUCg5pHcDhNfcw7+E19zAT2PeV+SkVYwqreZp6lx4T5HmXepSgeh33lBZjCqh8mnuXHhPoeJl3k6J6HQ5pHfBtHe9tHRPk99b4BRVACm1hbJx7nH8fE9Sdfp2BiQr7h3MVQAptYW2afJt/HxPYnn2fgXVUCg77NWIKgm0d720dE+T3W/syFZhzBUAKbGFqnXydfx8T1Jx/nIKJCvuUFphzBUAKbGFsm3ycfx8T2J1+noJ1VAoO+xB2+LfzTKP3bncSE7D3MPslFaIGsfcesPdN0OYIgZl7zr4am42aj5YeqY2hhJ2CCBPQf6KdfKIblbqQupCLulRzen6Acx8TsIN6d4RuG4+dkayeogimrZ+lqRqdgK9daXZzaGyWb5FxHpByinOAcmqKdZR4lAgT0JZ2eZZwG4FiiVdynnSqq5yXlp8fE7CclJ+TqoqIZ2w4Vl+V+woYDvtXdvdX9Pe59PdXdwHZ9xKvn6/3EhQO90qhFXNAO1lRGmyhc6q5pri1Hq2ArK0anI+cjpseisG4YcAbqaGiqKpxoW4fjGxQXlgbnL6ro7ugCHCeeaGuGsK3p7aeHnSge5ytGpeNlo6XHrTNWJKtH6ygnq2scJ5rXWdfjFofo9bbvcUaqnWjbF1wXmEeaZZqaRp6h3qIex6MVV61VhttdXRubKV1qB+Kqsa4vht6WGtzW3YIpniddWgaVF9vYHgeonabemkaf4mAiH8eYkm+hGkfanZ4aWqmeKu5r7eKvB8O+8z3WHb3xHfNdwGs9+YVPMtM2dnKydnZSsw9PE5MPR4O9+Z+9ygBs/cq90n3KvdJ9yoUcLPIFWKrfR1qaWMe998WYqt9HWppYx733xZiqWq3tK6rtbRoUwr35n2lhXb34aX3xqWMdxITsPfm9wgrHfd0Mysd/Wn3iCsdE2j7MPy7FccG+On5SAVPBg773XIdq/dtcR2AlZaKHUKNCuJfCg773XId9zBJHZaCf5ODG4aHh38fDvyDknb5TXcB+wF9FfhF+UsFjU8H/EX9TQUOkIu692C077T3abAB9wT3JvenrgOz948V+0H3Gj33BPcL9xa73sUebaEFU2P7AllXG/sOVcP3KIwf970Gl7QF+8UGpZa5lKce98EGmbQF+8IG1Zfj9x/xG/cGkVEuH673IgaeY3mmLBtS+3dV+1hJH/sXBn5iBfcUBoNug2GJbggqBn5iBQ735vedoIl2+BShEvc82feNpvfM2RO89wr3nRX3RqAGWJCMjLka98m8B7OdbWeTH6Dj+/IzoAavk52psxu8+8kGXYyKWIYe99l2FfcXoAZej4SMuhr3d40HE3z3JvvCBZYG9yv3xAWN+3kGE7xdjYpXhh5290agB1iQjIy5GveVB62Wn7gen/sBB/sx+8L7KvfCBfsTdwaop3ZsmB/7lwdchIpehx4OU/dlyU3jAb73ZRX4jMn8jAYOIfthrfdLdvg0tfH3LG2pEhPonPgrFdYGL/wvBfsZbX5pXRt5i5GOk5KOkJIfj5COkZYaqXOeboBnhFlgtmvC7d/3E9WcHvH4LwX3KgZG+6EFhXSGb3EaZZtrvMy1s+vIHnWYBX+DX0h0G4CHlJmom7yOmR/U968Finb7AYJyG/sKBvcjsarc7huki3+GhIKFhYAfh4SIg38aE/BxoG+wqKefsMhIrUf7Slz7HfsJYx4/Bg4h+2Gu90p2+DS193aoAZ/4KxXVBi/8JgX7A3J8S2EbeoWRkZGQkI+SH4+RjpGWGqV5n2+FXItXQdeDnfPRuvc3qx7u+CYF9ycGPPvVBYmBiYCBGmicbsHXtczRuB53lgV6gGRRcht9h5OVkY2SjZEf9yv47ih/BYdQmmwb+0Vh+x37CmYfQQb3UxbjoKv3HukbopZ+hYeEhIWBH4eEh4KBGnOYgJOFHm37CwUOeZ34VJn3Y5uYkQb7Yo33YIv3nJQHHqA5Y/8MCbQK9wwLjAwO+IgU+SoVtxMAcQIAAQApAC8AOwBYAGEAmwCeAKsAtgDDANYA2gDqAPsA/wEGARABKAEuAVgBYgF2AYkBlgGoAbUBuQHzAf0CDQJBAkoCUQJdAmUCcwJ9AoYCkgKeAsQCzQLgAvIC+wMDAwkDKAMyAzwDWANgA2gDbQN0A3sDgQOaA50DowOwA8YD3APqA+4D9AP6BAQECwQSBCQEMgQ3BEgEUwRiBGwEcAR2BHoEgwSLBJIElwScBKEErwS9BMgE1QTdBOEE7QT5BP8FCQUUBR0FJAUpBTMFPQVHBVEFWgVeBWcFbQVzBXkFfwWDBYdQHfTCGtNHnWj7N/sT+0v7HPsE3181Cpjano2NPQpygldwLfsXaB8LBvcsIR0LdwGQ9xb3P+cDIAoL9wjjkAr3q3sde1lAUfumNgr3PPcp9xr7C6FLHQsyHYypims0HQt3AU0KA/c/9ywV5+L4KfdM84whdvsILfwa+0ZQXq9VHdL7Fvc79433Rfec91b3QvsZ0F0d+3n7iR4LIh0OpIeAtk8b+w77KS8dC/eM9wYVjYwFLh0LLB1UTY8KkZgxCnmGC0wKYDp8cfsnjBllCpNzHYsxHQsWIB0LVwpOkHyPOR1lUHuXboIZC5GfH0QdiaGKcVFA+0pGRwoLFSAdC2gd938iCgvM2/eE35SnOQoLq973oZ/RH/sKBmwgdDxeOghzfk4sYxsLh4+VJAoLFfdYrgZgdZihkoyTj5FIHZogi5V3GlpphF5XCk2RfY45HWdQeJVvhGsdd3QKE2woChOcC833AL/ivqoebpwFZnJnVVUbd1wLK1eLv58e+wu9FSvZVN33NPcQC3cBiPcL92L3CwMjCgs1GvsM9wRX9vdltPci9x+zHguEYUFF+4M0fW2WuR4L92QtHRX3Ctf3EvbRX8BC+whA+wwgRLBR2B+OpRVyg5yhq6Xkla4frZWb1rgboJd7dmVwNn9jH2iBf0ZdGwsVYql9HWxpYx4Oj50fkqsV1Ju+9yLJG6iLCwGAFviOBsb3VnCQBfsYTfscayQbRQb4RvjnBbL8aAdS+0anhwXNusjc9yQb2Qb8RvznBQtIHZshipR3GgtJChPoYm4LH/cU+FucyqaPVh0LWwro4y47HQtrGvsZ/Hl6TXSIY4QZC6+fzJm6H9L3gAs1HVNLTHB5fQtBCseafnl/hn1HHQ4adItU2Ne1xfXXHgun4wW3BpzIBV4G2feZBV0G+6r7kwWnhRX3SPc6jYkFjAZY+zgFC3UK3mIdm3AeC6Aeva/cx72vCJQHVcJSxVrACAtnqG6vr6ior69uqGdnbm5nHgsfp4bV96Vvjwum9yT4DPckC/dCBToGCxrYV41zNFU4IUMeiI3H904FeTwognUbcAempotxHwsVswaek5SjrBsLkIur98ar95+rC8QaumXARzZgTWd5Hp2ABZSUpbK6G8aLUn9nagusYmBsaWMeDhpTKFh4gR4LvZZXHQuQi673QbMLHmj3xK4HC4uu+OuuC/eV/LkFpwb3I/iOsvcelYPAmBmu+2VoBwshCg4VxAb3Fwt+owV8h/tEOPsZGjsL9zsa90j7Bu37Tx77tmgGyYKWiWoaC1AeuxarpaWrq6Vxa2txcWtrcaWrHgvcrxqUh46GeWFhfGwKC0wdeB2u+75oBwt299B3EgtcCsN7prSrq7ULIYLT+BZ3C8j3cwWnkwtvoXWnp6Ghp6d1oW9vdXVvHgtmqG6wsKmoNh1ubWYeC/ulWAoLnpyeorQbs5hudEwvem6GHwv3UveVkB22k1cdC3xZ+yxn+wYfZXtoinMbDnYeWWc6T1lnCAsZcAcLqPeBXB0LBYkGCxVQSTQ6ZxqCC2+AYGJ3iB0Lx3nD+OiuC/d/dwELEnb3Dwuaj/dECxvXqsOstGeYeW92cHQLkaAf+4D7EhX3sgb30guFgwr36OPwvaQbC6L3LQVuBnqBiId8GwsaZ2I8XzYeCxW4BguL9xl8HnCOdfs6BQuNk5SNmRu5i2uHcQsfyPd7BQs8fFmDO4RtCqkL96334xiV+8wHYAv7MhWYcwV1CgsZrvvRaAcLFvcNBgv73fsydvn0dwELk34VnJCfjo8bC5KVdR91agWEnAuLaRtm942wB2gLclj7OVj7Ux4LdlQKC/vO+zp2+f13CxqHioaKCxX3dJ4GC/dABcbNC/ca1fcaC3SIHQsVy70LAAAAAAQCBwK8AAUAAAKKAlgAAABLAooCWAAAAV4AMgD6AAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAEVQREYAoQAgISIDZf8HAAADZQD5AAAAAQAAAAAAAAAAAAAAIAABAAAAAQADAAEAAAAMAAQG2AAAAbIBAAAHALIAIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL//wAAACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi////4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/7//v/+//7//v/+//7//v/+//7//v/+//77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/b/9v/2P/Y/9N/0n/Sf82/gP98+C+4L7gu+C74LvguuC64LrgueC54LngtuCt4KXgpeA138AAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAD9tTugXw889QADA+gAAAAAAAAAAAAAAAAAAAAA/zj/BgPaA2UAAwAIAAIAAAAAAAAAAQAAA2X/BwAAA+gAAAAAA9oAAQAAAAAAAAAAAAAAAAAAAOYA+gAAAPoAAAGFAAACKwAAAfQAAAH0AAADQQAAAwoAAAEWAAABTQAAAU0AAAH0AAACOgAAAPoAAAFNAAAA+gAAARYAAAH0AAAB9AAAAfQAAAH0AAAB9AAAAfQAAAH0AAAB9AAAAfQAAAH0AAABTQAAAU0AAAI6AAACOgAAAjoAAAH0AAADQAAAApsAAAKbAAACmwAAAtIAAAKbAAACmwAAAtIAAAMKAAABhQAAAfQAAAKbAAACYwAAA3kAAALSAAAC0gAAAmMAAALSAAACmwAAAiwAAAJjAAAC0gAAApsAAAN5AAACmwAAAmMAAAJjAAABTQAAARYAAAFNAAACOgAAAfQAAAFNAAAB9AAAAfQAAAG8AAAB9AAAAbwAAAFNAAAB9AAAAiwAAAEWAAABFgAAAfQAAAEWAAADCgAAAiwAAAH0AAAB9AAAAfQAAAGFAAABhQAAARYAAAIsAAABvAAAApsAAAH0AAABvAAAAYUAAAFcAAAA3AAAAVwAAAI6AAABhQAAAfQAAAH0AAAB9AAAAfQAAADcAAAB9AAAAU0AAALrAAABCgAAAfQAAAJeAAAC6wAAAU0AAAGQAAACOgAAASwAAAEsAAABTQAAAkAAAAH0AAAA+gAAAU0AAAEsAAABLAAAAfQAAALuAAAC7gAAAu4AAAH0AAACmwAAApsAAAKbAAACmwAAApsAAAKbAAADsAAAApsAAAKbAAACmwAAApsAAAKbAAABhQAAAYUAAAGFAAABhQAAAtIAAALSAAAC0gAAAtIAAALSAAAC0gAAAtIAAAI6AAAC0gAAAtIAAALSAAAC0gAAAtIAAAJjAAACYwAAAfQAAAH0AAAB9AAAAfQAAAH0AAAB9AAAAfQAAALSAAABvAAAAbwAAAG8AAABvAAAAbwAAAEWAAABFgAAARYAAAEWAAAB9AAAAiwAAAH0AAAB9AAAAfQAAAH0AAAB9AAAAjoAAAH0AAACLAAAAiwAAAIsAAACLAAAAbwAAAH0AAABvAAAARYAAAJjAAABFgAAA7AAAALSAAACLAAAAYUAAAJjAAACYwAAAYUAAAH0AAABTQAAAU0AAAFNAAABTQAAAU0AAAFNAAABTQAAAU0AAAH0AAAD6AAAAU0AAAFNAAABTQAAAfQAAAH0AAAB9AAAAfQAAAH0AAABXgAAA+gAAAPoAAABTQAAAU0AAACnAAACmwAAA+gAAAJeAAACLAAAAiwAAAAAUAAA5gAAAAAACQByAAMAAQQJAAAApgAAAAMAAQQJAAEALgCmAAMAAQQJAAIAFgDUAAMAAQQJAAMAcADqAAMAAQQJAAQARgFaAAMAAQQJAAUAGgGgAAMAAQQJAAYAPgG6AAMAAQQJAA0BAgH4AAMAAQQJAA4AgAL6AEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAFQAaABlACAAUABEAEYAaQB1AG0AIABBAHUAdABoAG8AcgBzAC4AIABPAHIAaQBnAGkAbgBhAGwAIABjAG8AZABlACAAYwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAARgBvAHgAaQB0ACAAUwBvAGYAdAB3AGEAcgBlACAASQBuAGMALgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGUAcgBpAGYAQgBvAGwAZAAgAEkAdABhAGwAaQBjAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQAUwBlAHIAaQBmAEIAbwBsAGQASQB0AGEAbABpAGMAOwBDAGgAcgBvAG0AUwBlAHIAaQBmAE8AVABGAC0AQgBvAGwAZABJAHQAYQBsAGkAYwBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGUAcgBpAGYAIABCAG8AbABkACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBCAG8AbABkAEkAdABhAGwAaQBjAFUAcwBlACAAbwBmACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABnAG8AdgBlAHIAbgBlAGQAIABiAHkAIAB0AGgAZQAgAEIAUwBEAC0AcwB0AHkAbABlACAAbABpAGMAZQBuAHMAZQAgAG8AZgAgAFAARABGAGkAdQBtADoAIABoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAAwAA//IAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="; +}), Zb = {}; +ze(Zb, { default: () => zb }); +var zb, hD = it(() => { "use strict"; - Ob = "T1RUTwAJAIAAAwAQQ0ZGIPXJ5WAAAACcAABS609TLzJR03CmAABTiAAAAGBjbWFwr01WZwAAU+gAAAbkaGVhZGJOQ08AAFrMAAAANmhoZWEHQwPWAABbBAAAACRobXR4yLAAAAAAWygAAAOYbWF4cADmUAAAAF7AAAAABm5hbWVXLXKpAABeyAAAA8Bwb3N0/4+ZzAAAYogAAAAgAQAEAgABAQEVQ2hyb21TZXJpZk9URi1JdGFsaWMAAQEBKvgQAPgcAfgdAvgeA/gYBB7hWk8MAvs8+476cfn4Bfc8D/iTEbAcRtYSAAQBAQUvRVRFdXJvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hyb20gU2VyaWYgT1RGIEl0YWxpY0Nocm9tIFNlcmlmIE9URgAAAQABBgBoAAAJNwB8AABCIABnAABkAACgAABmAACDAACqAACLAABqAACXAAClAACAAAChAACcAACkAACpAAB9AACYAABzAAByAACFAACWAACPAAB4AACeAACbAACjAAB7AACuAACrAQCwAACtAACvAACKAACxAAC1AACyAgC5AAC2AgCaAAC6AAC+AAC7AQC/AAC9AACoAACNAADEAADBAgDFAACdAACVAADLAADIAQDNAADKAADMAACQAADOAADSAADPAgDWAADTAgCnAADXAADbAADYAQDcAADaAACfAACTAADhAADeAgDiAACiAADjAACRAACMAACSAACOAACUAADAAADdAADGAQDkAABlAAB+AACIAACBAQCEAACHAAB/AACGAABvAACJAABBAAAIAAB1AABpAAB3AAB2AABwAQB0AAB5AQBrAQBjAAGHAACZAACmAABtAQDmAgABAAMABQBKAIIA+AGMAbcCcwKgAtkDFwPtBBoESQRgBG0EiATPBR0FcAXjBioGegbTBv8HfQfhB/4IRghxCJUItQksCeYKLgq2CuQLLguMC/UMbgz3DTANhw4LDjoOtQ8fD2IPyBBMEMYRAhFNEaYR9hJ1EvYTTxNZE4UToxPSE/kUChQmFGMU0xURFZ4V6hZuFxoXjhfGGDMYqRjhGYUZqxnqGioalRrxG1MbsRvvHFYc8R2VHdceGR51Hose6R82H4Ef9yCZIQwhoSHAIpcipSNMI8MkBCQlJRMlKiViJZoltiX9JhwmmCbQJt8nISdzJ7EnxCgcKIgo0SkxKWUpjCnDKf0qKSqJKy8rkSvQK/MsEiwzLEAsXix0LIks7C2FLZYtqS3CLf0uHy5hLt0vBS8cLy8vXC/IMEMw+zEJMRsxNTFdMXQxvTJiMtUy9DMsM1AzczOSM68zvjPbNE80izSmNMA02jUTNTM1ZDXVNfA1/jYkNkk2lTbgNz43VDeTN904mTk4OX055TpmOng6yDtMO2c7gzutO708DzxBPF48fjySPKg8zTz9PR49YD2ZPdI+dT9OP3o/tT/tQAtAJ0A8QLpBYEFtQjZDByAOIA5zjvT4w3cSsvQX9wz3SRWch8X3Mr73CLf3EBmSn5Cbmhqmbpl8HhOgcXdtZIIfb/sQdvsYafs1CDr7IBVuooUKdHNuHg7K+E5294l3AfckoPcyoAP31/g5FaAGqNDG9qwanH+edndxvAr7RxagBqfMwe67GpqBnXpydrwKDqB291+yZMH3LcFjs/dodxLp+GQTtpwWswbW918F90IGQPtfBbIG1/dfBfQGE86WsgUmBs73SgXwBpazBSsG2/doBWIGO/toBftBBtr3aAVmBjv7aAUiBoBjBe4GSftKBSsGgGQF5wbBshXO90oF90IGR/tKBQ5HdvV2pHb5Faa5dxKi2fer1hPe9674OBVhqWSrwRrVxarYHvsH/PwVz/etBcJdr21IGvsU+xSBbB77UrUVl4C/ZeF7dTAYrgYTvqDkBRNe91a59uTbXrkq1R/D94EFrX2+dikamomn9wZgqlCbeI8Zm88FaQZ6TAUTRPsOK1j7AETMTdFcH0b7vSqhgsyC1Rl7iAUO+HCwCtXQCvce0AoTt4D4l/cJMAr8i/gRMAoTb4BU/DMVugb5SPlIBVwGDvg5ebxbvPgBqvdiqxLX6fcu3PcE0BN++F3IFRO+baOzWtUbvralta0fgJYFf3t2eWkbYmCmzmYfwtKovpqfCLCmn6i8G5z7TXgHqpV7cGFxal9WH2DNa/cLf78Ix6n3BMPmGrtht1AwRTv7EX6MgpFOHvsXUvsQVfsVGvsa9xR1vduzpcDeHnioFWFdUn1oG0hMuuH3Cfc2yIwfn0Wy+xO5UQhv9+YViKWJnK8awpTTxJupi1M4XG5PZR4O+yP4Tnb3iXcB9xigA/cY+DkVoAa047rlqBqcgKB1d3F+coQegmuC+wyGVAgOc/s0dvnmdwG10gP3IftJFZ2RBUz3CZz3U8Qa9yHr93z15h5+mgX7SvsvPfsw+zkaS5D7Kun7NB4Oc/s2dvnodxL3bdMXm/s5FZh8BRNg9yj3C/cE9zr3URr3FnD3FEP3CR54hr0rmPsbevsfGXX7R0P7SiApCA73N/cJZnb4EHbgd6Z3EvfBnROs98D4UhWMc4xxhHMIgmx+b3waE2xynXmdnZ6cpowejKF+mYKwCIediKKsGqJ+nH6ZfwhltpJsqxudnpqjsWKHTJ4feZB2l3aWo52jlKCRCMOcsoK7Gp56mnhve29vcB5wcGZxiRuwjqmQmB6Vp5ShoBoTtKd6mXp5eHtwdpV6k2oej3iPc2oab5t4mnyZCK5mg6RrG3SAd31es5DCfB+dhp+ErHhweXGBdIUIVn1mj18agZZ0o6icp6ilHqSmp5eXlQgO99KgdveGtPdzdxL3xc1TtRPw4feGFRPo93n7hrX3hvd9tPt993Nh+3P7eQYOIPsAdvd6dxKiwAoT4If7BBWUegXICoNef2F1l4GXgx4T0JeDl4R6GmZUZnd+Hg5z91TKAbz3fQO891QV924GmsoF+20GDiCA9wMBpvcDA6a3hAo8jnb5QHcBd/gLA3d5Ffgq+UAFXwb8K/1ABQ6Ep/kHpwGr2vfH2gP3A/cwFezT+B/3KeGLJW37QzX71Psaa1Se9wgePLsVI8Qg8/c89xz3fPda7XD3L/sZ+x/7Ovte+6IeDqB2+Th3Abz3+AO8FvermgZebJavj4uPjJAf9yr4yQWOlY6YkhqPio2Ig/sfbYNcHnwHjKGejJkbp5eAdoOHfYiAH/sa/HYFXn5SeV0bDovX+KPUAfgC4QOXFvf3Br33GHqSBWd6cXBJG/tIkAb3VPdUBfcQ9xCkuM4a1lPnIXL7F4f7MFUeoIQFpJmx0OUb2LlPTWqHUfsg+ykf+2b7bQUOhLFl9wD3mJv3lbUS9+7bW+ITmPcg9/0V7JLjZvsgGvsSLWlpb3acnHYeE3SddnaddBtmgW92XsJ9xh8TNPdN5vci9wP3AkapcZcfjgf0sr2u1xreQ7VBUkBfT3Iem4YFn5quusobsbxzSPsA+x9fJ30fDqB29zzK+FF3Eoz4chfM93sVjwf3xPfcBY8GE/Ao++AF+6VMFfeXBl37PAXaBrb3OgXvBpnMBSwGEzD3EPhRBWIG/DX8TQUOhLX4xNIB9/LQA/cX+DsV9why8n/7LRo0QvsDKW93mpl4Hph5eph1G3h2f25vqW/T91f29y73FPcaMcn7FqUfsu0F93oGotIF+5QGI/t4BQ6EpfgRr/eOdwGs1/eb5AP3W/hKFb2j9w73SvdEG4qbBfvF+037ovti+zjuVtz3Ptz3PfD3Iia/R2xtg35vHyr7qxWblfeM9x7XtVE5MVX7QPsGKYv3BKUeDph2+O3UAdb4XAPagxXRBvgY+SyFlQX8CwY6+xyZggWzrbCr0xv3aAaNiAUOhKH5EqISqc+z2fct1njPE/j3dff8FXOE+z9Y+yUabaD7GvdH9xrb4eHZY8tA1h4T9MKd9wGx7Br3AvsAqkktNFokV6VcyEoeoXsVE/jsJ6RuShorPWRVNVbH2vcT9w/CpZMey8IVLOGLqqUazrG3yx4T9NylSFs4UG1UcR8Oj3b3k7n4AqUB0OP3mNYDoowVeQf3LvfP90L3vfcoO9Uk+wn7D/sQ+x37C80+4Le3nqWzH4+JBVGA+1T7X/sSG/ca+C8V6Lv3JfcF7ov7AGRwe/sEcmQeYG9TemwbJ4f3B6sfDnOA9wL3fPcCEr33AoL3AhPgvbeKChPQ8PfqigoOc/fd9wQS9yn3BPsD9wMToKb7BBWUegUTwMgKdmx8YXOZg5iDHpWElYR8GmZUZnd+HvcO+IUVbKRyqqqkpKqqcqRsbHJybB4O99KYdrl2+IV3Afcz+FkD3/eIFfiQ+5AFtQf8Tvdv+E73bwW1B/yQ+5AFDvfS9wzO9xjOY7MSE6Dh9+4V+Iyz/IwG+54E+IwGE8Cw/IwHDvfSmHb4nncB34MVtQf4Tvdv/E73bwW1B/iQ+5AFeQcOf/P4uqES9xjzV8v3KtUT2Pdb90QVnIkF09vWtawev7TdweMa1VTAK0RJZERuoXejlayUqZaFkoWSHoWShJKXGrrMi5DUklByRGJeW1geV1VRNEEaE+hI+xwVE9huonSoHhPoqKKiqB8T2Kh0om4eE+hudHRuHw74x3my7ax9tvezt/cPqhL3Ct73DNL4CrMTv/gc95wV9wzj07seE6+omHVhHyqMQPsGYRtocKPGH/chUxV/iqJRzRv3Cs73G/D3O/sj9xH7S/tY+zr7JPtp+xn3BftW95fY2aupyh9/qAVxUk1xMxv7QfsH9xz3Ifdx9xP3CPcs90rz+yn7BR8T3zVb+wg5X5C7mo8ezPeaBUYGgVwFon6Ap1wb+xlN+zxFHxMA+wXPgaYexYq4wJecCA5aCgFY90/3mPc8A1gWmwpdfp6lqJGR0vcWH/dwBqH7Eot0ihpjcXdXHnv3ipsHUYemyIAfKvjIBXEG+9n8twVZbnBUZRtFCg73koapcqn3wav3mKkS91Hw9yH3AFfwE3yDFveuBvcU9x3J9x3tRalWoh+NBxO66Z7ZtuUa9wcrrSMe+5Z7Bt+BUVJ8H/sF/Ed/XWdzZ4oZE3z3StAVnrz3N5rLHvc6pl49KFI8+yFubZyxH9X3qhW19zMF66KDkNEbE7rWsGdH+yD7DXv7Ch8O98p5uNQKE7D5IPhlFbgKfnSTkm0fE9CQdXCPbNUK+1z3JkX3CPcm5PS3sG8KDvgBi6n45akS+OH3AxexCh8T4PRN9zX7eh77qnsG435FWX0f+wf8NQVNenB1Yxv3X/cwFfcE+DAFmY+VpMSyCll5naWml6+Vrh8O95KLrPe5rGzpChKK+Q8T2IsKdGKStJCLlo2SHxO4jpaFecv3ewj3N4t9Y0AKhYD7NRu39zcFzp2BqOkb9z6ab2d8i3mJdmMKwpxwdXeHdIR0H/sH/DoFR3lke3AbDn0K99zpCgH3ZO4Dkxb3kJsGSYqAtprExPdpGOPRlU92hnSIfR+chtf3fnmQBSxdeo37LRu29zUF5KOLlNsb9yivfkx9iX2KfR+giav3LQX8hnsGwpt1bXiHdIV2H/sB/Cp1OoeESn8ZDrYKsPj5rQG/9wID+Fz3wxW5oHFphYuEioQfiHt2+xdudAh0bnKAWBv7Pmv3ENn3OO33i/dd0vcBavsXH52IvPdZfI8FfYF9d2QbfHCWlWcfknBrkWcb+2r7U/tZ+3lgqPtr95zU6aGzyx+490UFy5yqncAbm/ueBw74AaB297m199J3EoP3ivuK+Zv7i/eLE/SDFveKmwZobZqxkoySjZQfE+jH934F97EGUPt2BUt5VXdoG+YKZGubtJKMk42TH/cD+DwF9wepqo2uG5MKu5tzbHiHdoV3H2L7LgX7sQa19y4F9wWqv42pG8QKwZ10bHiGdoV2H/sE/DoFTXpndWkbDnPLCoP4HAODFveImwZZfaSqnpCgkJ0f9wH4HAXspqKdthuTCrmddnJ2iHKFdB8g/BwFKHB4fFwbDuJ5qmz3IvildxKF6BOw94H5ERXDnXZteIZ0hXUf+xX8WwV3hYJpaRtqiKGijB+RjJKRGhNwpHWhcW56dGxOx3DA9xey8/WoHur33gXZopmwwBub+5IHDvfKoHb35rD3qncBkvlfA5IW94ybBlJ+naqakZ6RoB/H92+TivcH+1oFmnCfbHMac3t5Ux5796ebB110krxvH/tC98P3wPd2BZCSsqqoG5v7cnsHvJeDenI/S0dbH/skJoWMt/cxBeCjpZ/FG8QKw6B7cHqHdoRzH/sH/C8FOHSBdVIbDm4KWFmLso+LkI2RH/cN+E8FzZ2lsc0bxArHnHlue4Z3hXUf+w/8TgVNemp/bBsO+HDLCnn6D/1h90n3IPelA3nkClV9pKuhk6aSox/1+BoFjwbH/KwFnAb4CPi9BY4G+wz8RQVXfYZXMhvmCk16naackp+RoR/3D/hPBcqcqJavG5v7Owf74fx9BYgGVPh9BftJewbCnnl2goBsgGMfIfwIBfsIamt9ahsO98qRdq929zJ3+Jd3EvdaqhN4d+QKVHuhqqmasJOqH+73/gWPBhO493j8tAWdBvck+IsF9w2uoKe7G+sKewfDmndteXxegWcfM/veBYgG+2L4gwX7NXsGtKd4Zpwf+wv8NQX7FmZ1eV8bDr8KkArH93MV+1L3H1jg93T3U/eG9133PCTU+wz7R/uB+3L7cR70XRX3FvcB99r3WuqmRzD7DjD75ftf+xaG9x+iHg59CvfFr/euqQH4ivIDiwT3iZsGWX2dqp2RoZKkH7v3SwWGoZmI0Rv3XMT3DtX3K/s7jF8f+4x7BsCceXB2g2+Dbx8i/BQFS3l+WEsb94/339gKm6kb9wKpYUH7HyhwOnByjo54Hw74AftKz3P3L2qs+PysEoYKE1zG+y4VlXwFpLKskaobrax+gLIfE7yBrrOBvBu69yil9tIffJYFYmNPaCYbdXKRkm8fEzxamFOcVYnIxBiuCveCTwr7Zvtx+zXrRNt8Hyo2goVEWAj19+sV9xbv9873WuqvRTD7Div74ftf+xaL9ymiHg59Cvfhp/eaqQH4d/QDfhb3iJsGW3iYqpqPoJKjH8P3ZcyG9w/72AX3KJsGV3S7rn4fM/d+BcH3I8T3C/ck+0CLZx/7jHsGvp97cnmFdIV0H/sH/DAFTHmAYk8b95T38hXM93kFnZKPlbgbxMl0NUBmPfskcIOMj3MfDnmudq5ydvkcrIx3EhMwuQqchIOfHxOQgaSogLFtChNIs/dbBXQGeX94g3Qbc3uUknIfE5CQe3ePcGQKDvdboHb4/q4BzBb3tpsGSXeerJyRoJKjH/ca+HwF9xKshTx/in2JfB+cibf3NwX8qAZh+y6dhwX3D8W9i/cWG/sX/HwFSXlgW1EbDqoKdwHx5fgK91sD9xP5ERW+ontnH1ko+698Cvc9xfcA9ym3Hu734wWdkKe4uhvrCnsHrqp6X3k9+7KDbB8mb1b7CfsaG0tAq+TB7/fqmrgfr5ewm7cb0goO95KOdvkzdwHX+PgD94R5FZ4G98r4lAWVkcr3Gb0bm/tOewe0nHV5aW5bfXMf+2L7+AWGBk73+wWHoYWmoxqxnKvMHpv7hXsHvI51+w+fHw74cI52+TN3AdL51wP3aHkVngb3cvhaBZAGvfxaBZ8G98D40QW/pqmpoBub+017B76Zc3V5hHqJhx/7WPwVBYgGXPgkBY+LkI8aqrKlrh6b+4J7B8eXdF6QH5JQ+z776wWIBoepYff9BYqTi5KRGrS4nKoem/uAewfBmF9pjx8O95LLCm75QANuFvdqmwZhdZqgmJGamZwf9yv3QNP7RwWPgY2BghpzeXZRHuYKYGeVy3IfJfeW9033aAW+uMCllhub+2R7B7SefXh+hXt+fB/7Jfs7UPcnBYKghp6bGqShm7sem/ucewfConY/qR/l+3f7MvtMfXx6ehlTU2JyehsO91vLCs8KWG2Zs5SMlY6XH8H3Yfdv96IFs6upoJMb6Aqqp31yg4mDh4EfemT7AvsWXlNz52r1haUIiZKLkJEaqq+crc0Kr6OCUpsf2PuhUvteBUl4VXlnGw73W4uv+NmvUAoO4Qqg+AYDoPstFfdQBpKmBV0Ga2iStZcf9zT5OgWmkaOTphu/BpKmBftBBg48+xN29yB2+Ut3AVT4CwP3a/soFa0G+0H5wgVmBg7hCpf4BgOe+xIVhHAF90EG91n5xAX7UQaEcAW6BqqthmCBH/s1/ToFeYd9eWUbDsz5LneidhL3SfdBE2D3wQQToM8G9yP3svcj+7IFzwb7SfgBBU8GDvsRvQGUQBWCWQX4gAaTvQUOc/iVdvdAdwH3rPiAtwr7A/cixQp5klYKnnqACoC8+BGhEpzf91jUi5kX99L3H2EKcLW2rbDVxx4T+DgKRYp6TwWJBqdtr18KNgqooW5bKS/7YiFwap3AHg6Aon+i+AW8kbz3T3cSouH3q+ATfvcBuBX06/eG9wLKlVVsHhO+Nyz7Z/sdXIulkh6M+OoVuJx+dnuFdYRzH/sc/IkFhwd12GzA9y33O/dB9zLUWrtFMVA4V2oeiYyt9wW190Sh3RmGkFeBWIRZhRkO4oCv+B+gAanh93LiA/fy9RVjZ1xiTxtObbjY69DbCoSJhYiEH4eAhX97owr7Hvst+yH7Gd5yzPTF1qukHg5/u292+Iqi03cSmuITuPH3AxXm6vdp9wS6i2J0+xAp+1MsTovFnB73WY4Vg2iHdHQaE3h2k3KyrMy6zrYef5UFW2F3dHcbgYOSmpv3Dfg+tvdCH4aQWIBYhFiGGXoHs5p8cnmFdIRyH2X7KYmJBaGHhKlTGxM4+wv7PvtI+ysfE7hXoEjevcOd9wLTHg7igLj4FKISquL3eM0X9xf3WhWgwQXlrtHXwRuklW52g4L7DPtiYR+EdRX3UqDt4toat2ytWB4ToPsh+zJcCh9zCmFXos+fjJWQoB8OPPtjoPjQq/eCoRL37doT4Kn4FhXlBjj8LgVjg3H7Dksbf4STk4+Mjo2OH46Pjo+VGqRxl31oimOIHhPwZbd2rfcJxPc19w6mHs73ygX3AQaRqwX7AAa+lK73T90bmJWHg4aJiImIH4iHiIV/GoCRcKuinZ+fn3u4Q/sSVPtDNnEeLwYO+1Kh99Og94uhEpPMotn3K8dq2hP89xGyFTdUanVSGlTAU/cB9x3ZyODGZKpfnx5PpkWTqRqYoaaZHpiZh5gbE/rj6t3Vn4ifhZ4fvQYTqLJOB3xgr1AbOfsIUfsERrZzr3sfaXRgbmwaeJp/l4IeoYAVko7tY52CCBP8noKvel4aWVpeMXwqmt2KHrGZv8ekHqb3chUToM638dgeE/q1mm5kOFkrSV56rLgfDr4K94Z3EvgG2RNwnhbWBqz3EpnCuc8Ip57g9wW9G5uYgXoffjn7s3EaE7BwmHirzbbJv68eExB+lwVbZXNsdxuDg5KXHxM4oNz3lK4azF2SdTEl+y5ZbB6JjfcK+EuGkFd/VoJXhRl7B7eclE+BelGDbR8O1wr4xPQSvNaw8hf3cvcGSgrn9+QfiI0FhGQyeWsbE/B7B8KPfHYfb0BLCkH4hhVuoIUKdnNuHg48+2OidPL5JPES+xDc923xE7jU+CQVx4yZjGEaM/v/BT54ciNYG4KAjJWRjo6Ojx+Oj4+QlhoTeKB3mndmh2iHWrh8rOTF1vc0tB7z+C+IjQWEZCt5aBvw908Vb6J0p6eioqendKJvb3R0bx4O4pV2q3b5JHe6dxKZ+FMTcJkW1ga790i1q5VtsTOXdBkTsFCpnXSqG7eosNOxH3yWBVlugXl1G3F4ufc/Qx/3Dvcetau4GxM4m/tLewemp4t4bPsUK1RgH4mN9wv4WYaQBX9XNnx4GxMAewelsoJxfHM6gmcfDjyPdvk1d7p3ErTYF/d40wp8i5mRlpOmjZQf9yv414aQBX9XPXxxGxOQewelsYJxH3b7IfyUdrUK+AGXdql2+Bm/EhNglxbWBrD3Dp/Ns8cIs6bX8LgblJiLcHhG+4pxKh/WBqj3BZzKu9cIvKrT47Qbl5SDfB93PfurcBoToH2LaLXDvcPFtB58lwVcZXFreBt/iI6cH5nc96CtGrN0pmdJOjP7CEUeiY0FmbOi3pkatXaiZTck+y9abR6JjcP3WoiPVoBWgVWBGRMAewe8lnV1HxNgdT37mntJHg6+ChL3/dwTcIkKE5DDChOwUQoTAHsHwZN2fB8TcHZK+3Rs+wUeDoCg+C6gkgqm9xsVOLpM9fct9xv3R/cPzWrf+wj7Jvsm+zP7Jx7fbRX3CuT3WfcEu6NdVyA++2H7BllrscQeDvtIdvdndvgttkgKcx+JjaboBZaOiI2IG/svdQUTgI17BbmegXl2Kfv+cPsEH2uDgdoKYXWL0ZQfjp+b05StCA77UHb3WsD4DaEBpOH3oZkD9yr7VRV794WdB25cmrWXH/cw+MQFQgZ9XwWJBqWFe6xTG/sW+zX7UvsdR6VS2OTF3NjAH42JO/unBV59bHlUG2T3yRX3CPcI90/oqqh2Xin7APtpImh2qrYeDqugdvhNdwG4+AMDuBbXBrT3GZm4sdMImpPH9wOqG5eNg4KPH4KQkoGhG5avi7+tcpp0TDn7BkZwH4N3iY2891uIjQWEWy93fBt6B42Wlo6WG6OUenNzg22Ech8Oq4CgiXb4Q6KMdxL3AdS51xNswgqamoaGmh8TrIaamYeaG8PopPcBs3C1brIfa7Zps6wavKuUocyoSVoemwYTnLsKfYKOj4AfE6yQfn2QcxshfTtsZahgqWEfqWGpYmq0Cg7XCvggq/cVdwGw95cD92r3CRVrcmhcdxuGgI6Xl6brx/d0H+EGkKsFOQap9wYFk42JkoQbgoeEhocfb2hYU2t6CGt6dZFtGtYGRfucBYd7eE58Gm2ngZ+/srfYvh4Ogr5rdvhYqQrZE6D34Pd3FRO4TQpyCoCKlpCambeQn0IKhHyPnpeq9wzI94YfiI0Ff1k3fHsbE1BdChNgpgrijnb4X3cS9xzS9zy+F/dj0RWKyYP3Mmn3FwiehoqMgYf7AXJ9G34HvKKe+wSgH5s0kftKbhp6i36UHhNQmp2f0s0frK73KfdG5xqwc6Vqd3t9fHOTgJSDHpeAmIV1Glk7+wtSUB4O98qOdvhed6B3EvcN0vc4yvdJuxO891L3FRWdhPcTefAewYGFl4WCKXN3G30HxJyOMJQfkFScP/svGn2MimqYG5qSoPdA7B+42qO1nasIjQao+9AFe4yLfZYblpieu7MfucH3L/dX4hqoe6ZmboJ5enqWgpaBHpaBlYF5Glc+KjP7AR5r9/sFE9yNiouQhBuFiIeGiB/7U/vCBQ7igML4IXcBcPhuA/di90QVqfsMBVaYmn2oG6Koi/cG0h99kwVtcHdmdht3hKSbhx+FpGn3HJ0ai8/3DaiWkoeHkh6Hk5OGlxujlZ6do3WXeFdcTjlXH4DCBeN5fIt1G2tJc4JwH498BZOrmY6UG6aXc2yUH4yGpfsPghr7FzFxaXobgoKQkIEfkIKBj4AbdX95e3ObeKyql5aenB+tsLXBu80IDuL7TXb5G3cS+B3HCs9+XfcRfn77EnOGGxPgmAqfTOIKrvsvegqDhZCRgx+TgX+UepYKcAp2loOXgx+agpuEdKcKDqtPdvhVxwG6CrGycXSyH3isrXmtrwqBjoOOhR+Pg4+FhRp+e4h/gXSLrHUezl9QrGsb97b37AXKCo6Uw90e9xwGDt0KvtaC1hPg90f7OhVrk3abuRoT0LPN92G0GrNpm3iTHoyNz5yisp7TGbj3PAXmo8CsqxuOlgUvUHz7DGkfWvs+eUt3XkV5GbZ9lHhtGhPgUkn7SVoaVKpw6R4OOfsndvc/4Aqa+zwVtgb3bPnWBWIGDt0K96bWQtYT0If7OhWIgAXnyZr3DKwfuvc+nMuguNGdGWCZgp6pGhPgxM33SbwawmymLR6IgAWhqnNdHxPQY0n7YWIaY617noMeiolHenRkeEMZXvs8BTFzVmlrGw73TPdPy1x208uPdxKz+GITaNf3SxWum6Owtxu5qX17px8TmHmsqXe9G8mst7WpH2e9BWh0cmZjG2lsmZtsHxNonWdmn18bSGdfYXUfDqv7THb40PUB92z1A/ds+DgVbqNzqKijo6ioc6NubnNzbh6U+xoVUfsyWPsKX/sQCIR4hX18GnWedp21lZzAlh6l9xCi9xit9zUIDoGugHb4PKIS2OETsPcd+yO3Crr3GQX3FrXbpaUfe5UFZGlXYVcbE3CBgIyOgR/3HfgbBZydhX2Ch4KHgR+IgoeBf5cKqXS9Ph619wwFbQZh+wwFE1D7Evsf+zL7Gx8TcPsG02OvHpy7FXGefq++GvLi9zvfHg57oX/Tqaf3YbX3oqgSE7j3NPcHFZZji4t2G0l0X3lZp3eyt6evpqEfTtaziaob863lko0fgJQFE3hwZmaEaBtWVZ2fah+47JGkpPII9xIGkrUF+w8Gne2WyaPCCKGVm6y0G6KXfmyPH22Ok32kG56fk62xa7BQ+z5W+3ZCgh/7AgaCYQX3BQZh+5QVE7hsg2dxcxtpf6CbkI6zvaWZgXygHw73GMT3pMQBxMj3nMgD9wr32hXTxMrX1sNMQ0FTTEA/UsrVHkf7ihXi4wVzpbl/txu2tZejpB/kM7a4NOIFoqaXtrYatoC2c6Ye4uRgtjI0BaNxX5ZgG2Bff3RxHzTiXmDjMgVzcX9fXxpgl2CjcR4zNAUOoHb3SrPls/fBdwG/FvexmwZTaqC3kYyRjZEfkqePlpm3CPdIBpezBftIBqPdkZMF9z4Gl7MF+ysG9zL3dAWzq6qglRvoCqirfHSEiYOHgx93ZDX7GlxTcudh9YalCImVipSTGqqfk7/NCqO3jUefH9T7bwX7IAZ/YwX3NwaOgXQ7Bfs4Bn9jBfc5BnM5BUh3UHpqGw45juAK9zb4HBWzBt33pgVlBvtd/UAVtQbV95MFXgYO+ymg93ig95+g6Pc4fKASwPJJxLDItcWrxRPtwPeu8xWNjgWGlpCJoBvPucLRxXCzfZwf+w/3KgV8noCjpxrKuqC7rKN8e4GAgoJ/HoOBhYB7GhPzwHmYcay2lLegwFy5OEFCYTdeo2C2WB6JiAWVdnCMhhtVV1o9YKRWuVYf1zQFtlqSdm8aWmZjR2drnpyVlZKVlB4T7cCWlZaXpBqtc5V1UotRgFy6UefV2r7fvnalYcEeE+vA+xv3bhW1rqOpqaaASr4ev0mQbnEaWF94dVIg9xfRHg5z+JDtAfbGCgP2+MEjCvgnebX3BJ/375/wtQG0wurY94mb9xvCA7T31xX7Ufcp+yz3VPdS9yf3LPdR91H7J/cu+1L7VPsp+y77UR7CFvcz9xH3Ivc19zL3EPsh+zT7M/sR+yD7Mfs0+xL3IPczHvhHQhVeeGZaSRsmYtfzjB/rjLXS6BvYpl1hkB+b0AaThpN7kB6TcXKVWRv7Kkn7ATn7IOpT9wa5spWSnh+bj5SOjJec2RgOOvgqrfeAdxK11PcmrxPg94f4ehWAcIh+fRqBkHump6Ght7IeE3CElQVvcX6AhBuGjpqZjh8T4JCpuvc6jZJWihh/ZAWJBpuJeqRlGzUn+wMzeZJW0bisncq3H/sSiRW9zPcP0piQgWSHHlqGV/sMShuDd5WuHw7OCsD3bGgKk3i7db0fgaKAo4GeoaKen5ucCNbcmaKZaQr3NoJoCpN2wnPAH4Kfgp6CnKKjn6CcnQjU2ZiimWkKDvfS9xV294SxEviSz221E+Dh9/AVE9D4YvuEtfeq/IwGDvgnebX3Dpp89zX7NfdH+z73Pvc790JRtXG1ErTCX8L3Nsvzzk7O9y7CE5J09+H32RUTlHT3O7QHE5Jssap4UlZ4ZVofE5K0++IW+1H3Kfsu91T3Uvcn9y/3UR4TkXT3Ufsn9yv7Uh4TkrT7VPsp+yz7UR/CFhORdPcz9xH3IPc19zL3EPse+zT7M/sR+yP7MR4TkrT7NPsS9yL3Mx/3EftHFfc0BhPCdJoHWZCNi7YaE6J07boHLsqkR6sbygYTinSUB3iZba1xr1LZGBPCbLiarbG+GslUp1Ae+0N8BryGioxfGvuDB2CMi1qGHg5z+Ki+Ae73zAPu+KgV978GmL4F+78GDrb4Gq33bq0B8LL3ZLID9yD4qxXFubzFxblcUVFdVFFRXcDFHmQWO8pK29vKztvbTMY7O0xOOx4O99KLzvdpz1S49zx3EvfFz1O2E9jhFviMtfyMBhO4948EE7T3e/s/tvc/93q4+3r3PGD7PPt7Bg5S96PA98G+Aaz3o8EKd35gGymVCsJGeTaJdQoOUvegsmTY9ySUgvdPa6sS94LKbs4TVPcR+H0Vw8R5N0dOd3V8hJWVgx+YgYCYcBsTrGyIpQp7kx+HjQUTaskKZlpyZ3segwpz+Jd29z53AfdIrQr3M+ufCp2cmhqdfZx2gHZ9nQoO+1B291vC+BN3AW3095neA9nHFU+dv4GqG77Mub6yH40GiYGFd4EaaJ11r6+plbq3Ho6UBXZxe4Z8G2eYtKCPH9n35AUzBkf7wwVyelNUWBtPd7jBlh/O97AFMwY2/AqEa39ofGoZfWxzZloacpF2p8uS9wCvtIe0j7YeDvc6+1d2+eemAfcX+2wVrwb3iPnnBeYG+4j95wWuBveI+ecFzAaTpgX7egb7ilz7REz7BO165x8OIPdb9wMB0fcDA9H3koQKc/ttr/dJdwH3ANUD3BZMIZSDBZGWm46ZG6CegXRva3xoeHePlXwfem4FfqOvg68bxsSiy7VnpGSAgIuIgR+3zQUOUvejm/cGdve8dwG2938DtvejFfdJmwZofpabnJaklq4f3fecBY6SjJCPGo6JjYeDLniIbh54B4ybl4uTG5eRhoKDioGIhB9M+2NzO4OET3sZDlz3uaPko/ddoYyhAc7U9ynUA874ghXj6Onv2KRZY0A0IiNDa7C+HtSBFWyXdKfPtPcLvqaEpnBIW/sEUR4OzgrC+BwD9//3cxVJCvs2FkkKDtkK9xCb+Bl3Eqz5UxNoZwoTvJQKE6j7svsxjAr8yfwpFfdJBhMQmwcTHHF0lZ2Ni4309+QfjZKNj48ajoqOhtwKjJyXi5Mbp4ByfYcfMvunhXhxf2mHGQ74HYvAYXb4AL/3oncSrfeD+yS++IzME3b3FYGMChO6+xL9OMEKgX5gG/sAlQrDRnk2iHUK/Dz3kRX3SAYTAJsHExhybpabkB/I91269y2IGo6Nk4TcCrCMBZmPhoJ+iYgv+7AfhXhyf2mHCA7ZCvfq908S927Kbs4TeGcKlAoTuPux+zGMCvyC+08Vw8R+MkdOd3V6f5iXfx+WgICVfRtoi6UKd5UfE3TJCh4TBGZacmd7H4MK+4ihEqXV9yzLVfUT4Pew97EVcyZUX2BoCCY5amxFGkHCVuse0s2y0qh8p3OBbYZtgI+Bj4Efj4GOgX8aXEqLhkKExqTWurq8wR66v7vGk+oIE9Bk9xsVbqOFCnNzbh4OiApYFpsKX32go52TqM/3Ch/3cAai+xiLgoIaZnR0UycKx/hOtwr7A/cnxQp5jVYKnn+ACogK99P5Vn8K/KP98ecKZHifo56UopaggQqh+xGMg4IaYXhxTycKDloK93V3AVj4+wP3f0YK/E/9/ecKY3mfpJ6UoZaggQqj+xaKgoMaZ3FwVjUKgmh8Gfd294tMCg5aCt+sChP094P5bWUKc5eWcR8T6JVzcpVxbAr7tv1t5wpkeJ2knpSjlqCBCqH7EoyBhBphcHJXJwoOWgrT7QH3isYKA1gWmwpld6Cfo5SflqGBCqH7D4x/hBpgcnJVJwr7D/iPIwpaCq73OqsK9zkSWPdP9yitafc5qwr3OhPygPew+aMVVLhewh4T5yDCuLjCwl64VB8T8oBUXl5UH60WswoT60DlCvwF/aPnCmV3oJ+jlJ+WoYEKofsPjH+EGmByclUnCg74qIus912wxOkKAfmInQNwFpsKbmqborLk6K26H/dSBl37NH9je39UhRl7+IYHy/c4eZAF+wNCSXL7IRttBmWBn5+duvc2oNYfswbroYRde4h6iHsfnIfQ93x5jwUuYHyH+y0byPdyBbCVlIvHG/dOgXYqH5yJrPctBfyZfAa9h5mKchp9enh8eR78Fvx3cWt6d3OFGfeo95MV95f33gWRBi/73gUO98r7WHb3XbbUChPo95AhFZODBZGXm46aG6GegXRuZ31nenneCqOwg68bxcSjyrVnpGSAgYuIgB+svQX3Hd70ta9vCp2IBRPYuAp/dpKRcB8T6JFzbpBq1Qr7T/cUOvcFHw6NCvdzdwH4JJ/3NqADiwpobZiykIyQjJEfjZeZPAp/gPsvdAr3UIZ2KkEK+EL5RLcK+wH3IsUKd5JWCqB6gAqNCvdzdwH42qAD9935Vp4K9zjwnwqYl0cKfIKdCvx5/fE0CveSi6z3u6z3mayJvtEK+CSf9zagA/eYRgr8Nv39NAqNCs7tAfeexgoDihYyCn+A+y90CvdQhnYqQQr3n/mFIwpzmQqDFioK9775RHcKc5kK92b5Vp4K9yHunwqbmUcKeYCdCvvy/e8VKgoOc5oKvtEKg/hFA/cXRgr7vP39FSoKDnOHCuLtAfcdxgoDgxYqCvcl+YUjCvgBi6n3vLX3k6kB91ju97r3AwOxCvRN9zX7eh/7qnsGxJ12bXqHeYZ4H137OAUxBn9hBeUGXfs4BSZvhl5IG/eK98oV9y0Gl7UF+y0GuPc5BcGajq/MsgpVepulopeqla8fDvfKkXavdvke9y/7LHfux1byhXcSE2J35ApWfKCrnJCekaEf9wD4JgWPBhOi93j8tAWdBvcs+K2i25yiw5cZE1rrCgcTYnsHvZt0bXiHdoV3Hyn8AgWIBhNa+2L4gwX7NQYTYnsHu6B4Zpwf+xP8V3Y/eG1Ugxn3vfldYAqdqX+AqB8TWoCnpoFxCnd0lpZxHxNUlXNxlnHWCr8K92aoCsf3dyQK99T4cXcKvwr3ZqgK+DP5Vl4K/JX9DiQKDrYKrPj3sWysi7H3PagK99VGCvw2/RokCg62Cqz4/6zQ8oh3EoYKE+z3z/ltYAqcpoGBph9/qal/nhsT3EMKeHSWlnIfE+yWc3CVcGwK+5P8iiQKDrYKrPi4rPcU7RLH9PgI7WL0E/TH93ckCvdA+LJYChP4JQr30qh2tHb4VneydxL3HvgmE5j3CMQVp3D3V/dTBRNY91f7Vaeo+1f3Vvdc91oFE6huqPtb+1r7WPdYcG73VvtYBQ74ATd24qz4/qzDqAr3UtUVcrqL5Zga9xL3Fvev9zyvp4F7nh773/zHFff3+KYFnW+ROWIa+wH7Dvu/+0RlcZeceh77JvspFbcG1fcABX6prYOnG64K94T3Xe1lzVOyH8vrBV8GVz0FmmpnkmYb+0f7ePtu+3EhtUvAaB8Oqgp394N3o3cSzAoT7PcT+REpCvgEvrcKIPciBRPconl1klYKonqACqoKd/eHdwHMCgP4M/lWXgr8Uvt0KQoOqgq+0QrMCgP3xkYK++T7gCkKDrYKtPj63wrx5fdIxgoTzvcT+RE6ChO+6woHE843ChO+0goTzveJ9wgVE74hCvdbmQrPCllpnLqSjJGNkx+Rp5KhuPcv92/3ohirs5aTppgI6AqrrIZnYvsf+yxeUx9z52z1haUIiZWLk5IapKqYsI7NCqmniEydH9j7oVH7XgVJeFd5Zhv3pvlGngr3P/WfCpGSRwqDh50KDn0K9z6w962pbfc5Evhm8hPoiwT3iZsGVX6dpZaOmI+ZH6DdBYSurYirG/ct9wHb9wj3K/s7jF8fUwaZyZSvppurkBkT2Jv7gnsHtYalfmYafYNthXQe+wf8M3lLe39Ygxn3a/dX2AqcqRv3AqlgQfsfMHI4b3CNjXUfDvtjo3Pz26H5JaIS+APiYtsTtKKHFSx2dTdMG32Hj5COjo+Okh+OkY6TkhoTdJSEpmx0eYBqZa91tfcOv/dEtpYe9wP4PgW1lrn3ROEbtKJwW017P0trH3SAeol/igh8ioWNfBqAlYmZih4TuKuIvon7ARpAYftJOn6GlI+Rj4+Okh6OkI2RlRqgf55xc3d7bVi6e6r3KNP3S9bcXsY8kR6OBxO0yaHwsvMax2TRKPsiSPsg+3RYHg6hCjMKE7goCveb+BN4CqEK95z4gn8KJPySIgoTuCgKDnYKi773PXcSnN8TfPdDVQp9/J4iChO8KAoOdgrarAqc3xO290z4mWUKdJeWcR8TapVzcZVxbAr3GvwOIgoTtigKDnYKzu0SnN/lxgoTfjMKE74oCuX4VCMKdgq+rIv3F/sX9zoSnN/3H/c4qwr3OhN2QDMKE7cAKAr3H/h2FVS3X8IeE7ZAwri3wsJeuFQfE7cAVF9eVB+sihWzChO6gOUKDvfKgL34DaR3nxKi4fdT4/dOzRO897r3IBWQBomDioWCGkmrTdnr5fGVkR6BlwVISFiBdhtCi9aoo4yNkKEf9wqt9yCy8RrHUJ11ZGJ2ZGUeiY2fw0SJeGAFo4CBolsb+xL7K/tq+xhcmlDT18ba07wf+01nFe3u92/pma2IVCcg+3QpHhNYaYmqrR/3q/cBFfcdtcfNuxsTDJuffGtWWUD7HG8fDuL7ba/crcOu+B+gAaXh19XX4gPwKBWUgwWRlZiMlxuhoH5ybml9Z3l43gqir4OvG8bFosu0aaVlf3+LiIAfscPrkcDRo6kZe5UFY2dcYk8bTmm42OvU2wqBhoKHgB+Ig4iBgKMK+yL7Lfsh+wrQaseFHg7igLj3/KKMovdzdwGq4AP3F/daFZy3BS0K92j30HgK4oC4+A2i93p3Eqrg93vMF/eArQr3Ou6fCpaZRwp+gJ0K+5r8VRWctwU9ChPQt3CtWB5bCh9UCg7igLj386KVoou+88yLdwGq4Pd7zAP3J1UK+0H8YxWctwUtCg7igLj4DaJ7os7tEqrgsMYKE973F/daFZy3BRO+LQqo+BEjCtcK+TfjCvdy9wYsCp34GbcK+wP3I8UKeZFWCp57gArXCvk34wr3GK0K9zrvnwqXmEcKfYGdCkj8qiwKDtcK+TTjCq1VCqr8tywKDtcK+JvtAbzy8u0D93L3BiwK+0n4WlgK910WIAoOgKD3RqD4bncSpt/3pd4X9wPyFfcK5vdb9wS7oV9XIDz7Y/sGWW2vxB73r/e1Fal9ap5mG/sb+yj7NfsnOLhO9fct9xz3Q/dc7GfOWcEf8LhrpyhgZKxbqWOTGWh6r32za6tsGfsPVaxu9wm+r16mWpRFGQ6+CtqsCvf93BNqiQrDChOqUQp7B8GSdnwfE3Z2S/t0bPsFHvcbogqnH4CoVwp3cpiWcB8TapV0cpRy1gqkCqb3GSYK95H3/LcK+wX3JsUKe45WCpx+gAqkCvecrQr3M+2fCp2aRwp3f50K/Bf8lSYKDoCg+BigjKCLvvPMi3eSCvc5VQr7u/ykJgoOgKD4IaDnrAqm3/el3xPu9z34mWAKnKaBgKcfgKipf54bQwp3dJeWcR8T1pVzcZVxbAr7IvwUJgoOgKD4JaDX7RKm39vt6t8+7RP8pvcZJgrb+D1YChP6JQr30oD3A/cMzVO59xb3AxL3r/cDI+ETuOH3ehX4jLn8jAb3i/cvFRPUjgqN/E4VjgoOgqL4KKESp9/3pd8X9yCoFXicgpfXGtnY92L3Hx77NfwoFfdS+BwFqmeIcVgafGT7nPtHHmB5FUv7FwWuBhPwyPcSBRNQ92H3APdU9wDPb8ZEnB/F9wsFaQZU+wYFEyD7O/sk+zT7JR8TAFOhTNV3Hg6gCvfd93c7Cq73nbcK+wT3JcUKeo9WCp19gAqgCveS+IJ+Cjv8ODsKDoK6b3b4T8f3PakK5ROw9zn4gBWyBhO8OQqS/EZTChOsLgoTcKYKgrpvdvib7RK12MnGChOs9933d1MKE7wrChN8XQpiCvso994jCuL7Yrj47nf3h3cS+BbHCtt8X/cFfht5PXuDWx+YCp5P4gqv+zJ6CoSEj5GEH5OBf5V5lgofE3BwCnOZgpmDH5iDmIR3pwpv+Dp+Cg77THb3a3b4Lbb3hndICncfiY2RnN33zo6XGROQhpBYgViEWYUZege6mn11eoR2hXUfavsJ+w/8ZHY1CGuDgtoKdGaQuZ6k5ZOvHw7i+012+Rt34u0S9yPGClSzE/T3nNMVavc/BdZ9XvcPfht5ij18W4MIE7iYCp9D4gqu+yZ6CoKDk5KBH5KCgJF9lgofE3RwCnWXg5iDH5mCmoR1pwr7Dfh5WAoT+CUK1wr4WOMK93L3Bj8KZIQ4e2WJGT4KDm4KVF6Lt6ys5Kv3ER/3It6ZvPsjNrn3Mar1m4LIlBnECsOfeG57h3eFdh9P+2ooUH5b7sZc+z56TXl+WoIZDtcK+Up3AbDXA/d00wp+iJWXnJSgjZIf1fev7L2XuSpZzPeOhpBXf1eCV4UZewelsoJxgW/7AG77AR9DZ39d068FYvsoa/sPgbUK+N+Dq3Os97vpCnirErz3ABO0+YT3dBWfic33enmPBTdke4D7ORvL93cFmo+RnKYb6wb3DItpOB+bBqr3KgX8BQZ7cY+Obx8TrI9ubY1zG/te+1P7XvuI+xTwJ/cMsq6Nja0fE3SNrq6Nsxv37gbM9zp7kQVJW1ZC+zcbRnGNrpmVrZCfH7/3UgX3H6d6Xh+HcY+ghWYI+7pyFROs+wNtckshG/sfivcgtvdF9wf3jvdCyrVsWHp+YoRwHw73yn+gdrV3dvhBohKf3hNY98PDFWKes3C4G+DWz7GwH4CWBV9SY2xZG3lUmc+gja+UmR+Tl/CK5cwIt6uetqYakoXUSWFchkA8HpOJc9MyG/sO+yn7N/seHxM4+wPfY8LVrqytrh77XMEV9wXh91fmw5Jhbh4TmGZa+8H7DkaL1qUe97LqFfcIqdfqwRuik3B0eoNcVGAfanJzhER1CA55roB2+RysjHcSvp/H4xNsuQqahYOeHxOsgaSqf7JtChOcs/dbBXQGeIB6hXgbeHWRkXofE6yReX2RXmQKE2z3mPiEUgqrk3b4Q6L3cHcS9wHUi/coJdcT9MIKmZqHhpkfhpqbhpobw+ik9wG1bbZtsx9stGyyqxq8q5ShHhP4zKhRUh+bBrsKe4CQkH4fj4B+jnYbIX07bGOrXapgHxP0qGOmZWu0Cvdl9+5SCvdboHb5Ed8K943GChPMzwpRj2yQthqUjZaPmB7H92H3b/eiq7OWk6aYGRO8m/tRBxPMewezh6aGcxqEiYOHgB58ZPsM+xxeU3PnbvCDrQiIlouUkxqko5W4HhO8m/uDBxPMewe/g5OKm1LY+6EYS/teeElnfVyHGfc/+YUVE7whCvdbi6/42a/3cHdQCvfj+UZSCqtUdvhQx/d9dxL32NAXugqsrHl3rB90srJys68Kgo2FjoUfj4KQhIQafnuIf4F4i6xxHlfOep5Jmfe29+wYygrDoaqOsRv3HAYToDj3EFIK+0qi+Kep94+oAaTf99HcA/cO+AgV9wQGZ/vhBfsIfoA5TxuFfo+XkY+QjpEfj5GOkpManHygc4VkiVptpGnC9xiw93KykB6y97kF9w4GkqkF+xIG9zSfmebMG5eShIWFiIWHhR+IhoiGhBpyon2cpZqgpb5ZnW37AlD7IPsgdx77AQYOc/iVdtEK5viAFbQG9xbz4CMFsQYz9z0FWgYOc/iVdtEK9w33xQP3bfiAewpmBvseIi/0BWUGDnP4gMPxdwH3CakD9wn5HhVhjPsI9xnhztLimR5tBoeKaykoGyiB4ZsfDnP4kO0B92PtA/dj+MFYCg5z+ICtafc5qwr3ORL3L65o9zv7GPcY+xj3OWqsE6SA9y/44xVUt1/CHhOZAMK5t8LCXbhUHxNEgFRfXlQfrhavqKmvr6ptZ2dsbmceE6qA5QoOc/s9t/c5dwF3xQPFsxVucVpEYhpZo3aqu+iytKMedZwFb3ZDcnQbfYGUn7OixaWxHw5z+JzyEu+iCqgfE4CAp1cKeHWVlnIflnJwlnDWCnP4gvc+Aej4HQPorQr3Nu6fCpqZRwp6gJ0KnPstXgoO91mtabkBhfdZFfiJBpWtBfyJBg74qPdZsWW5AYX3WRX6DQaWsQX+DQYOc5EK9z/LS/cFE9D3yvkdFXkKuZO1oICWf5UeE+B+ln6Tnb0KDnORCvdE9wZLyxPg9zT4SBXqCsicCqppg1yEYXaWgZeBHhPQmICZgnkaZlRod34eDnP7Ffd6EtLAChPAt/sEFWsKdJh/mIEeE6CWgpaCe4IKDvdbkQr3OstL9wTsy0v3BBPU98X5HRV5CriTtaJ+l36VHhPkgJSAlJu9CvdlFnkKuJO1o32WfpYeE9iAlIGTm70KDvdbkQr3RsAK7MAKE+T3NPhIFVkKdZaAl4EeE9iXgZiCeoIK9256FVkKd5SAloIeE9SYgJqCeIIKDvdb+xX3ehLfwArswAoT0MT7BBVrCnWXf5eBHhOwl4GXg3qCCvdlFmsKc5mAmIAeE6iWgpWDe4IKDvg+oPdvdxL3suQX9zH7MxWhBrv3ZpfBsvcBqbcZgY6Ftbcap46pkaAevKeCgqAfhJyXhZobqJugoB8T4J98n2xyfoSDeh6EenWDXxuWw52nmp8Imp+XmKUasHeednRyd2d6jn+Nfh6NgY1/fBp4iG+EZh5gdZKTeR+Sen6TchtsfHd3dpt2qJyZk5OeH5OepJKzG39Fc1VlY5n7IHZWYft4CA77V3b3PtN0drJ2+FjT9z53Etjg9zngE5/3MHkVe1tMSlsaeZl4nqqgo9urjquUqR7CuG+vG6CemqCfeJt4H2ZncVAbm7OetbCkCISdiJ2eGtCz7sO0Hn+ehZqiGpyPnI+bHsmxca4bn5+aoJ53nHkfZltvXBubu8rMuxqdfZ54bHZzOx4Tz2uIa4JtHlRep2cbdnh8dh8Tr3eee54esK+lxht7Y3hhZnIIknmOeXgaRmMoU2IeE8+XeJF8dBp6h3qHex5NZaVoGxOfd3d8dnifep0fsLunuhsOhPdodq1294d3rXcSvveKE5jA99sVE1hHwVTPzsHDzh4TqM5VwEdHVlZIHg74qIDvEsT3AzXv9zvvLPcD9yzvSfcDE6rdshWPChPS958WjwoTzPegFm+gdaenoqGnp3Shb292dW8eDvkXsArL0Ap10Aqx0AoTteD5QvcJMAr8J7wwCvvr+BFqCh4TtuAvChNu4FP8MxW1Bvit+UgFYQYOc7D4AgG+93oDvvdsaAqWY+9syB/3EvcWnqqcaQoOc84Kx/dyA/da93MV+xL7FndsekQKgLQnqk4fDvtSlnb5QncBgoEVtwb3NvlCBVwGDou492Wx4bH3a7AB9073AfeKogPO95IV+0H0Ovb29xK6378eepQFU2MmZFcb+xNYv/cxH/esBpexBfu3BqWUq5SnHve1BpmxBfu1BtWX4vch8Rv3BpFSLh+i9yIGnmN5pSwbUvtEU/tYSR8oBn5lBesGg26Db4luCEoGfmUFDvkD942finb4Fp8S9zvS946l99DSE7z3CfeNFfc/nwZXkY2Vuxr3wL0HtJxsZpQfn+P77TOfBrCUnKq1G7z7wAZbjYFXhR7303cV9xefBl6Pg6a3GvdljQcTfPcp+8YFlgb3LPfIBY37cgYTvFuOgVeFHnf3Pp8HV5GNlbsa94kHrpedt40enyQH+zT7yfsu98kF+w13Bqind22XH/uDB1+DcF+HHg730uH3cBX4lrX8lgYO+2Ojc/cE83b4LKv3e6ESE7i4+CAV4gaBdVP7s3T7AwhVgHAiVBt3h46VkI6SjpMfE3iNkYyRkRqYgqNwcH5ofHqYXsz3CcP3NPcPpx7T99QF9y8Gl4+HhoiLh4qIH24gU/tSZhpsnXequLe5xrUee5QFeHthWXgbhoSNlJrj986Spx+QnoyRio6GjhiFgImJex+Je3WJbxv7Kgb3FrCn8Oobn5qGgIaIh4iFH4iFh4N9GnCbfaCfpZmyulWhXfs3WPsxK28eNAYO+2Ck91N2+Cmr93yhEvsh0xf3bPhAFdKdsPc19wEbE/ipl32CH4Z/gX0ahY2GjoUejoWOhImFZ/skGPvqaxXkBod5X/tpZPtOCE5+cCpXG3WIj5SQjpKNkh+NkY2RkhqefJx3a4Jsd36UW9HqzvcD90ezHtD3ygX3OgZ6NUz7Z1Maap54p62wnOPJHnuUBXB0Z2F5G4aEjZUfEzCh9x34wJSsHoyQjJCPGpCJj4iHhYiJhB6IhISIgxuDfY6Oex+Ne3qOfRv7Lkr7HvsIax8wBg55nfg/mPdonJGSBvtkj/hsjQceoDlj/wwJqgrWC/iIFPf5FbATAM0CAAEAEwAXADEANABhAGcAnAClALYAvwDzAQ8BGwEnASwBTgFTAVkBawFyAYgBogG4Ad8B8wICAiECKgI3AlcCYwJuAoUCmQKuAr0C4wLqAu8C9wM3A1MDYgNxA34DjwOgA64D5wQfBCwEMgQ/BEQETARRBFUEYQRqBHEEfwSNBJ0EpwSxBLsEyATUBPkFAwUKBS0FQAVTBV4FZAVsBYwFrAXMBd0F4gXsBfYGAgYeBiYGNgZGBlUGZAZtBnYGewaLBpsGnwanBq8GwwbWBuIG6AbsBvcHCgcdByIHLQc2B0gHWgdfB2cHbwd1B4YHlwehB6sHtQe8B8EHxgfLB88H0wfXB+MH7gfzB/wIBwgWCBkIIggmCC0IMwg6CEEIRghLCFkIZwh1CIMIkQifCKsIrwizCMAIzQjaCOcI9Aj8CQQJCwkQCRwJKAk0CToJPglCCU0JVQlgCWsJbwl2CX0JhAmLCZAJlQmaCaQJrgm4CbsJvwnICdEJ2gnjCewJ9Qn+CgcKEAoZCh8KJQorCjEKNwo7CkEKRgpKCk4KUnChdaamoaGmpnWhcHB1dXAeCyAKJQphCnG1tq2v1cceOApHh3tSBYkGpGqyXwoeCxUhChX7UvcaVOCuCveETwr7bvtxHvQW2Ov33fde76pI+xcuK/vb+1/7Fov3GtkeC/dcFiAKDhU4uE719y33HfdJ9w/NbN37CPsm+yj7NfsnHt+KFcnm93b3BLikffsFWjz7fvsGWW2q5h4LNQqDaHwZRQoLNgqqonxNLiz7ZyFwap3AHgs6CusKNwrSCgv3iJsGWI98oaYanpKhkJ8e9fgbo+GQoM6UGZMKvIWcdm8aeYd2hXYe+wD8G3M2h3dKgRkLcgpwqNidkEIKeYeal42MlOb3+x9WgVmCWYUICz8KBYRkLHlxGz4KCz0Kt3CtWFsKHlQKCysKXQoL5U25WPsBOvsRJx7JWhXRwPdM1rWUZW9OVvtPPmp7qakeC2oKLwoLFbIGOQoLTgppbJewkYuRjZIfjpeYPAoL99L3HyIKCxUyCn6A+y50CvcvqX1Pfop9inpBCg4ee/eKmwdRkIagf9Es+MAYcQb7zvyzWjV2C26OMu/HwKn3Dt4e+2trFeXl93D3CQt7B7Gpel95L/vWgmwfX35Y+x77HhtLQKvkwfT36Je5H6mTpKLFGwt/lQVfXndyfOwKkZKq5/fpjpcfC/cd890jBa8GM/c9BVoGCxXFhpx/Z1kn+658Cvct0uP3GbIe9fgHla6XnMaWGQtTCi4KE3hiCgu0ufdCCPc3i4ZaQAoL5a7Z4cEbnpiEZIOB+xD7YmEfhHUVp48F9zai7dzaGgt7B8KQfHYfbz9LCgtKCo+ZH+P31oiNC3uIe4d8H5+Gz/d8eY+BdYJ4gn0ZbHULYwrbj11QeR/7CfxAek12elqCGQsf2ve/BUEGZCB1TFpBCFdpTC1gGwu4s7DOlh9vBnaEg3RlGwsaho2IkZTQyaerHqqmv7GoogiUB4SXX8F7nQicfFbZfhuDi4WJC/d294pMCgv5VDEKC5oanXycdoALEvgP5Rf3CbgVsrP3HKTLHs+lxbm6G8yMUXD7CzH7TvsOcnKWpR99ZBV/op+GpBv3Hvc09zr3L9NtxjI5UkJoC3V0eHd7eghAOn10fUQKhJ1aoVoflXOXdJV3CAsVUWJud38bgoSTkpeXswv7glwaeYtfusO3wsayHgsV9yn3lwWMBrf7lwULdDl3N3kafI1muL2lpebKHgv4jwbJ9zZ7kwUoRGBl+1UbC/dd9zz7BNb7DPtH+3gLAYX4+AOFFviNBsH3PHiOBSRaXGv7OBv7Kwb4d/jvBZn8egdd+yaehgXQrau59y0b9zUG/HP87wULbo1tucGuuc69Hn2YBVxmcmt3G4l9jZofqdv3i7YatXSjXTgv+x9BXB6Jjcv3ZYiNVYBVgVWBGQt7CmcG+yIiMfQFZgYOFY4GTQoLcwpXX7TImI6YkJkfC/iAMQoLhBt1fXx3egungHEKCxUgCgvqCsecCqtpg16DYQt9Cvd2r/gqdwv7Ifs2XAoL+zz7I0yrPfTv5ueblgt9B7SbgW4fcEL7hl8aC54K9zvwnwqVl0cKf4KdCgtg+xn7LftP+ycLFagGp5KcnqcbCxV7ToZ1dBp6iwtfnnyv5dX3EfcFzx4LH6CJqvctBfyFewYLGy48SCpKkID3HvsnH6xosGxLGlloOS0xU9rkk4yQjJMed40FC2YKqB+Ap1cKdwtgCp2ogIAL+GT3JxX3TPdJjYmMjFH7SAX7RWEV9zwGayIFygap8wXFBgsVkn+3VZt5CHqawD2YG5OLkY0LGpCJjoWCRk1vax5scFdlbnQICxVFuVDU3vDt9wwLlHoFWQoLG0F6R2WBHwsb9xnR8+nNd7Mu5h814X6iuhrOvqzC9w2PIlIenYgFC/dbi6/4/XcBg/jLA4MW+JEGxfdHd5EF+yZJOoj7DRsLH3qZBVxbRUT7BRv7C1Te9xf3J/H3hvdc9yOW+xpvHwv3C/es+Gb3C693pWZxgHZ9C50bQwoLfZQFX2hvaHgbC3+XBWJZYWlVGwsbvPdABdWggpjgGwstaB6YgwWWlKS1xRu6qGdtfIpnLzIf+xn7FgULgLxwdvhBoQu3CvsC9yLFCniSVgqfeoAKtwr7AvcjxQp4kVYKn3uACoKcBVJvQk9IGmCka62TC2UacGFacm4eY2l+gnsbCxW5Bvc39z0FCyYa+wb3A1TxC/eSoHYLngr3OO6fCpiZRwp8gJ0KC54K9zrwnwqWl0cKfoKdCguQhx8OH8PyBfdwBgsaZlRpd34eC5WEBZSVoqa0G52qfmNRMXFSgh8OFWyjc6qqpKOqqnKkbGxzcmweDnSoqKOiqKhzo25uC8f0+EH0C5oKdwtaCvd4dwFY+PsDC5kW1ga09xyZtrjQCMOwyeG7GwsVbaRyqamkpKmpcqRtbXJybR4LihZOCgsVvgb4W/lCBVgGC/eSi6z3u+kKC6OenqOjeJ5zc3h4c3OeeKMfC2+hdaenoaGnp3Whb291dW8eCwGGCgML+F1293p3EgsBpt/3pd8DC5v7i3sHC5S2BVQG2veXBWcG+6P7lwULBomQ9wb3AgXb2J6jsxq0ZAsbdnp6dmG2iJMLGnSafaSkoaenC3oHjpeSjJobxAuHCveHdwELoHb5IQv3T5sGC84atnILhYUeCxWuBgsFlpILgrpvdvk3qQrlE7gLdgr3c3cSnN8TeAv4mWYKC5cKqnK9N/soC4Cg+C6g93N3kgoLcn5sr4Oy9xDG4M7NYJwLYgoOGlY8+xtgRR4Ld5AKC3cStdj3Pgu2CrT5Cgv7F/cX+xcLx0/yjHcSC/iCngoL93T3WAsbvrawsatykIJ0f316C3+fiXb35Z/3zJ+OdxILgxb3kQb3uvc19033Xgsb90Wt+w8mTmr7yPvPC6+oqa+vqW1nZ21uZx4LGmp7W1M6e+e3hB57Bgsab49pt8myu9i+Hg74AXkLFaoGC7D3WwV2BoGGe39uGwucfBWdBpiPnJ+nG5oLiYcVlIIFlpiakpwbC5/3HwV9BoOGe4F6Gwt9coQegmuC+wuGVAgLGrDCrZ+YHguXdql2+Bq+C7YKrPj+rAv3BEvLCxX3ewas2oCTBXZ/C5t+FZsGlpGZlZkbC56RfXkfY0H7iHMaC5v7pXsHCwWieQvt8e0Lsxf3nNMVavdEBQvqCsqcCqhpC8+irKC5GrxZo1sLlvuwB2z7B5uHBQuHCgEL8eX4TvcXCx6b+4N7BwvFdvgCdwEL2Rb3tZsGC8n3R8kL9z13AQub+6UHC/cPFUxadm9yGwv476+JdxLN9wQLG/t5+0X7cftVC2wKDjyVdgsV0veMBZeOkgv4HZZ2qnb0tQtmVht792GaBwv3RfcWnZ+GfAuCMHmHbR54Bwu2+zB2+fR3EguQlH0fem4Ffgv3Sfs5d+LtEgt2+UB3AfTNAwur+y2m+Y6mAQswpx+bVQt3AbzWAwsW91qbBgtnbqivHwt796WbBwsVmwoLm/tRewcLrPeXrAvEp9QLm/tbCxuDhQsAAAQB/AGQAAUAAAKKAlgAAABLAooCWAAAAV4AMgD6AAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAEVQREYAgQAgISIDZP8HAAADZAD5AAAAAQAAAAAAAAAAAAAAIAABAAAAAQADAAEAAAAMAAQG2AAAAbIBAAAHALIAIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL//wAAACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi////4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h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AAIADADUAAMAAQQJAAMAYADgAAMAAQQJAAQAPAFAAAMAAQQJAAUAGgF8AAMAAQQJAAYANgGWAAMAAQQJAA0BAgHMAAMAAQQJAA4AgALOAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAFQAaABlACAAUABEAEYAaQB1AG0AIABBAHUAdABoAG8AcgBzAC4AIABPAHIAaQBnAGkAbgBhAGwAIABjAG8AZABlACAAYwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAARgBvAHgAaQB0ACAAUwBvAGYAdAB3AGEAcgBlACAASQBuAGMALgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGUAcgBpAGYASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAGUAcgBpAGYASQB0AGEAbABpAGMAOwBDAGgAcgBvAG0AUwBlAHIAaQBmAE8AVABGAC0ASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBlAHIAaQBmACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBJAHQAYQBsAGkAYwBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAP/wmZr/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="; -}), Mb = {}; -ze(Mb, { default: () => jb }); -var jb, UB = it(() => { + zb = "T1RUTwAJAIAAAwAQQ0ZGIPXJ5WAAAACcAABS609TLzJR03CmAABTiAAAAGBjbWFwr01WZwAAU+gAAAbkaGVhZGJOQ08AAFrMAAAANmhoZWEHQwPWAABbBAAAACRobXR4yLAAAAAAWygAAAOYbWF4cADmUAAAAF7AAAAABm5hbWVXLXKpAABeyAAAA8Bwb3N0/4+ZzAAAYogAAAAgAQAEAgABAQEVQ2hyb21TZXJpZk9URi1JdGFsaWMAAQEBKvgQAPgcAfgdAvgeA/gYBB7hWk8MAvs8+476cfn4Bfc8D/iTEbAcRtYSAAQBAQUvRVRFdXJvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hyb20gU2VyaWYgT1RGIEl0YWxpY0Nocm9tIFNlcmlmIE9URgAAAQABBgBoAAAJNwB8AABCIABnAABkAACgAABmAACDAACqAACLAABqAACXAAClAACAAAChAACcAACkAACpAAB9AACYAABzAAByAACFAACWAACPAAB4AACeAACbAACjAAB7AACuAACrAQCwAACtAACvAACKAACxAAC1AACyAgC5AAC2AgCaAAC6AAC+AAC7AQC/AAC9AACoAACNAADEAADBAgDFAACdAACVAADLAADIAQDNAADKAADMAACQAADOAADSAADPAgDWAADTAgCnAADXAADbAADYAQDcAADaAACfAACTAADhAADeAgDiAACiAADjAACRAACMAACSAACOAACUAADAAADdAADGAQDkAABlAAB+AACIAACBAQCEAACHAAB/AACGAABvAACJAABBAAAIAAB1AABpAAB3AAB2AABwAQB0AAB5AQBrAQBjAAGHAACZAACmAABtAQDmAgABAAMABQBKAIIA+AGMAbcCcwKgAtkDFwPtBBoESQRgBG0EiATPBR0FcAXjBioGegbTBv8HfQfhB/4IRghxCJUItQksCeYKLgq2CuQLLguMC/UMbgz3DTANhw4LDjoOtQ8fD2IPyBBMEMYRAhFNEaYR9hJ1EvYTTxNZE4UToxPSE/kUChQmFGMU0xURFZ4V6hZuFxoXjhfGGDMYqRjhGYUZqxnqGioalRrxG1MbsRvvHFYc8R2VHdceGR51Hose6R82H4Ef9yCZIQwhoSHAIpcipSNMI8MkBCQlJRMlKiViJZoltiX9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AE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL//wAAACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi////4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h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AAIADADUAAMAAQQJAAMAYADgAAMAAQQJAAQAPAFAAAMAAQQJAAUAGgF8AAMAAQQJAAYANgGWAAMAAQQJAA0BAgHMAAMAAQQJAA4AgALOAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAFQAaABlACAAUABEAEYAaQB1AG0AIABBAHUAdABoAG8AcgBzAC4AIABPAHIAaQBnAGkAbgBhAGwAIABjAG8AZABlACAAYwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAARgBvAHgAaQB0ACAAUwBvAGYAdAB3AGEAcgBlACAASQBuAGMALgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGUAcgBpAGYASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAGUAcgBpAGYASQB0AGEAbABpAGMAOwBDAGgAcgBvAG0AUwBlAHIAaQBmAE8AVABGAC0ASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBlAHIAaQBmACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBJAHQAYQBsAGkAYwBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAP/wmZr/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="; +}), Jb = {}; +ze(Jb, { default: () => $b }); +var $b, kD = it(() => { "use strict"; - jb = "T1RUTwAJAIAAAwAQQ0ZGIOGW9BwAAACcAABBWU9TLzJShslxAABB+AAAAGBjbWFwuS2uQQAAQlgAAAYMaGVhZGKlQ7EAAEhkAAAANmhoZWEINgOtAABInAAAACRobXR4tWgAAAAASMAAAAL8bWF4cAC/UAAAAEu8AAAABm5hbWVTi27TAABLxAAAA5hwb3N0/58AMgAAT1wAAAAgAQAEAgABAQEPQ2hyb21TeW1ib2xPVEYAAQEBJvgQAPitAfiuAviuA/gYBPtI+7r61vqGBRwGPQ8cBokRqxw+ohIAlAIAAQAGAAoADwAWABoAHQAiACYAKwAxADMANQA3AD4AQABDAEgASwBSAFUAWABbAGAAZABpAG4AdQB5AHwAgQCFAIoAkACSAJQAmwCdAKAApgCrAK4AtQC4ALsAvgDDAMkA0QDVANsA4QDnAOsA8wD+AQYBCwEQARkBIAEqATMBPAFKAVYBYAFtAXkBhQGOAZkBpAGsAbEBuQHAAcoB0gHZAeIB7gH1AgECCQIOAhgCIQItAjICOgJDAkoCUwJeAmYCcQJ6AoYCkgKgAqkCtQLDAs0C2wLoAu8C+QMDAwwDFgMdAyIDJgMrAzIDQANNA1sDZANvA3sDhwOUA6EDrAO3A8IDzwPcA+kD9AQABAsEEgQcBCgENARABE4EXARqBHYEgwSPBJQEvgTOQWxwaGFCZXRhR2FtbWFFcHNpbG9uWmV0YUV0YVRoZXRhSW90YUthcHBhTGFtYmRhTXVOdVhpT21pY3JvblBpUmhvU2lnbWFUYXVVcHNpbG9uUGhpQ2hpUHNpYWxwaGFiZXRhZ2FtbWFkZWx0YWVwc2lsb256ZXRhZXRhdGhldGFpb3Rha2FwcGFsYW1iZGFudXhpb21pY3JvbnBpcmhvc2lnbWExc2lnbWF0YXV1cHNpbG9ucGhpY2hpcHNpb21lZ2F0aGV0YTFVcHNpbG9uMXBoaTFvbWVnYTFtaW51dGVzZWNvbmRFdXJvSWZyYWt0dXJ3ZWllcnN0cmFzc1JmcmFrdHVyT21lZ2FhbGVwaGFycm93bGVmdGFycm93dXBhcnJvd3JpZ2h0YXJyb3dkb3duYXJyb3dib3RoY2FycmlhZ2VyZXR1cm5hcnJvd2RibGxlZnRhcnJvd2RibHVwYXJyb3dkYmxyaWdodGFycm93ZGJsZG93bmFycm93ZGJsYm90aHVuaXZlcnNhbHBhcnRpYWxkaWZmZXhpc3RlbnRpYWxlbXB0eXNldERlbHRhZ3JhZGllbnRlbGVtZW50bm90ZWxlbWVudHN1Y2h0aGF0cHJvZHVjdHN1bW1hdGlvbmFzdGVyaXNrbWF0aHJhZGljYWxwcm9wb3J0aW9uYWxpbmZpbml0eWFuZ2xlbG9naWNhbGFuZGxvZ2ljYWxvcmludGVyc2VjdGlvbnVuaW9uaW50ZWdyYWx0aGVyZWZvcmVzaW1pbGFyY29uZ3J1ZW50YXBwcm94ZXF1YWxub3RlcXVhbGVxdWl2YWxlbmNlbGVzc2VxdWFsZ3JlYXRlcmVxdWFscHJvcGVyc3Vic2V0cHJvcGVyc3VwZXJzZXRub3RzdWJzZXRyZWZsZXhzdWJzZXRyZWZsZXhzdXBlcnNldGNpcmNsZXBsdXNjaXJjbGVtdWx0aXBseXBlcnBlbmRpY3VsYXJkb3RtYXRoaW50ZWdyYWx0cGludGVncmFsYnRhbmdsZWxlZnRhbmdsZXJpZ2h0bG96ZW5nZXNwYWRlY2x1YmhlYXJ0ZGlhbW9uZGNvcHlyaWdodHNlcmlmcmVnaXN0ZXJzZXJpZnRyYWRlbWFya3NlcmlmcmFkaWNhbGV4YXJyb3d2ZXJ0ZXhhcnJvd2hvcml6ZXhyZWdpc3RlcnNhbnNjb3B5cmlnaHRzYW5zdHJhZGVtYXJrc2Fuc3BhcmVubGVmdHRwcGFyZW5sZWZ0ZXhwYXJlbmxlZnRidGJyYWNrZXRsZWZ0dHBicmFja2V0bGVmdGV4YnJhY2tldGxlZnRidGJyYWNlbGVmdHRwYnJhY2VsZWZ0bWlkYnJhY2VsZWZ0YnRicmFjZWV4aW50ZWdyYWxleHBhcmVucmlnaHR0cHBhcmVucmlnaHRleHBhcmVucmlnaHRidGJyYWNrZXRyaWdodHRwYnJhY2tldHJpZ2h0ZXhicmFja2V0cmlnaHRidGJyYWNlcmlnaHR0cGJyYWNlcmlnaHRtaWRicmFjZXJpZ2h0YnRhcHBsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENocm9tIFN5bWJvbCBPVEYAAAEAAQEABAAABgEACQEADAEADxEAPAAAPgAAQAAAXAIAlwAAoQAAnAAAmAAAqAAA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AGIAbwBsAE8AVABGAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAeQBtAGIAbwBsAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADAARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAHkAbQBiAG8AbABVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAAAAAAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="; -}), Rb = {}; -ze(Rb, { default: () => Lb }); -var Lb, qB = it(() => { + $b = "T1RUTwAJAIAAAwAQQ0ZGIOGW9BwAAACcAABBWU9TLzJShslxAABB+AAAAGBjbWFwuS2uQQAAQlgAAAYMaGVhZGKlQ7EAAEhkAAAANmhoZWEINgOtAABInAAAACRobXR4tWgAAAAASMAAAAL8bWF4cAC/UAAAAEu8AAAABm5hbWVTi27TAABLxAAAA5hwb3N0/58AMgAAT1wAAAAgAQAEAgABAQEPQ2hyb21TeW1ib2xPVEYAAQEBJvgQAPitAfiuAviuA/gYBPtI+7r61vqGBRwGPQ8cBokRqxw+ohIAlAIAAQAGAAoADwAWABoAHQAiACYAKwAxADMANQA3AD4AQABDAEgASwBSAFUAWABbAGAAZABpAG4AdQB5AHwAgQCFAIoAkACSAJQAmwCdAKAApgCrAK4AtQC4ALsAvgDDAMkA0QDVANsA4QDnAOsA8wD+AQYBCwEQARkBIAEqATMBPAFKAVYBYAFtAXkBhQGOAZkBpAGsAbEBuQHAAcoB0gHZAeIB7gH1AgECCQIOAhgCIQItAjICOgJDAkoCUwJeAmYCcQJ6AoYCkgKgAqkCtQLDAs0C2wLoAu8C+QMDAwwDFgMdAyIDJgMrAzIDQANNA1sDZANvA3sDhwOUA6EDrAO3A8IDzwPcA+kD9AQABAsEEgQcBCgENARABE4EXARqBHYEgwSPBJQEvgTOQWxwaGFCZXRhR2FtbWFFcHNpbG9uWmV0YUV0YVRoZXRhSW90YUthcHBhTGFtYmRhTXVOdVhpT21pY3JvblBpUmhvU2lnbWFUYXVVcHNpbG9uUGhpQ2hpUHNpYWxwaGFiZXRhZ2FtbWFkZWx0YWVwc2lsb256ZXRhZXRhdGhldGFpb3Rha2FwcGFsYW1iZGFudXhpb21pY3JvbnBpcmhvc2lnbWExc2lnbWF0YXV1cHNpbG9ucGhpY2hpcHNpb21lZ2F0aGV0YTFVcHNpbG9uMXBoaTFvbWVnYTFtaW51dGVzZWNvbmRFdXJvSWZyYWt0dXJ3ZWllcnN0cmFzc1JmcmFrdHVyT21lZ2FhbGVwaGFycm93bGVmdGFycm93dXBhcnJvd3JpZ2h0YXJyb3dkb3duYXJyb3dib3RoY2FycmlhZ2VyZXR1cm5hcnJvd2RibGxlZnRhcnJvd2RibHVwYXJyb3dkYmxyaWdodGFycm93ZGJsZG93bmFycm93ZGJsYm90aHVuaXZlcnNhbHBhcnRpYWxkaWZmZXhpc3RlbnRpYWxlbXB0eXNldERlbHRhZ3JhZGllbnRlbGVtZW50bm90ZWxlbWVudHN1Y2h0aGF0cHJvZHVjdHN1bW1hdGlvbmFzdGVyaXNrbWF0aHJhZGljYWxwcm9wb3J0aW9uYWxpbmZpbml0eWFuZ2xlbG9naWNhbGFuZGxvZ2ljYWxvcmludGVyc2VjdGlvbnVuaW9uaW50ZWdyYWx0aGVyZWZvcmVzaW1pbGFyY29uZ3J1ZW50YXBwcm94ZXF1YWxub3RlcXVhbGVxdWl2YWxlbmNlbGVzc2VxdWFsZ3JlYXRlcmVxdWFscHJvcGVyc3Vic2V0cHJvcGVyc3VwZXJzZXRub3RzdWJzZXRyZWZsZXhzdWJzZXRyZWZsZXhzdXBlcnNldGNpcmNsZXBsdXNjaXJjbGVtdWx0aXBseXBlcnBlbmRpY3VsYXJkb3RtYXRoaW50ZWdyYWx0cGludGVncmFsYnRhbmdsZWxlZnRhbmdsZXJpZ2h0bG96ZW5nZXNwYWRlY2x1YmhlYXJ0ZGlhbW9uZGNvcHlyaWdodHNlcmlmcmVnaXN0ZXJzZXJpZnRyYWRlbWFya3NlcmlmcmFkaWNhbGV4YXJyb3d2ZXJ0ZXhhcnJvd2hvcml6ZXhyZWdpc3RlcnNhbnNjb3B5cmlnaHRzYW5zdHJhZGVtYXJrc2Fuc3BhcmVubGVmdHRwcGFyZW5sZWZ0ZXhwYXJlbmxlZnRidGJyYWNrZXRsZWZ0dHBicmFja2V0bGVmdGV4YnJhY2tldGxlZnRidGJyYWNlbGVmdHRwYnJhY2VsZWZ0bWlkYnJhY2VsZWZ0YnRicmFjZWV4aW50ZWdyYWxleHBhcmVucmlnaHR0cHBhcmVucmlnaHRleHBhcmVucmlnaHRidGJyYWNrZXRyaWdodHRwYnJhY2tldHJpZ2h0ZXhicmFja2V0cmlnaHRidGJyYWNlcmlnaHR0cGJyYWNlcmlnaHRtaWRicmFjZXJpZ2h0YnRhcHBsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENocm9tIFN5bWJvbCBPVEYAAAEAAQEABAAABgEACQEADAEADxEAPAAAPgAAQAAAXAIAlwAAoQAAnAAAmAAAqAAAnwAAZQABhzEAdAAAeQABuQEAYwABuxsApgAB10EAvwIAAQAEAAcAOwCtAWgCJgJcAo8CsAMEAxMDJwNzA6MD9QRlBJkE8gVTBXoF8QZWBm0G2QbwBwMHHAd5B5oHvAfMCBcILQh5CJEIyQj4CW4JnQm9CjwKoAsKC0wLqQvoDBgMtQzEDR4Nbw3KDhEOiA7dDxwPaQ+lD94QLhCrEUARqxIaEqgTAhOHFAoUkBT2FU0ViRYEFmEWrBdiF6gYEBhxGOMZLhmAGeMaRxqjGxgbkxwkHIUc8h2HHasd0B3yHh8eOB7DH1ggDCDpIXIiGiJLInkipSLUIzEjUyOWI9UkDyROJK0k3iVGJWsl6iYOJjMmdCbmJzEngCfYJ+Mo8ykWKYgp8yoKKiYqSSp/KrUrDCtUK6Ar+yxGLIQsoSyzLMgs+i0kLXotti3vLjEufS6YLrcu8S8tL0UvXy+VL/8wjjDaMPkxVTHrMocymTKrMsAzRTOSM9s0BjQSNDo0VzRoNIQ0pzTVNPQ0+zUONTU1QzVrNYo1njW7Ndc2BTYhNpf8RQ78RQ778nr3BPjVdwH3FPcEA/dC92QVf4yQhY8bj4+Rl40fsPe4lMG2GstplnV1aYFKHvzCBCIK+0uQdvdkufdKufdjdwGf+GED6XsVugao92QF9xAGb/tkBboGp/dkBfMGkbkFJAaj90oF8gaRuQUlBqf3YwVcBm/7YwX7EQao92MFXAZu+2MFJwaFXQXvBnL7SgUkBoVdBfIGwLkVpPdKBfcQBnP7SgUO9ypdsfemvHyx93Cn0HcSytz3cKi31vd5qhPfgPc/ZxXCBvhN+UcFVAZmgjNrXBtTimykg48IoHF5n2Mb+wT7Bvsj+xlAuWXH9xrk9yXvjB+gi6CInx6cgaqFrIywjLOTpJsI+2mHFY12jYBvGjpF+w8nZn6zrePa9xTNlR6bfqx9oYII2Px+FTu8Xtj3DOT3KvIeE7+AwnbNNfsYK/sg+wEe1oAV6N/3FtOKHsaZXGA4OPsRJmx9sLIfDup5xlDW9+2d912zErToydeL9ziLvRN/+D7dFXag0jzbGxO/27K02Kwfe5kFZmFkd3MbT1bCqmwfzNeft7LICK+io7W9G537Z3kHrqJ9cVJI+wp1ex9N02DWackI4rHVq+gayU3DSSdNVCQeE59Wnm+cWx77AkQ6X/sNGvsA4lvk9xHC0KqoHvsN99wVfLB5vLgatrGwuq+2alJRPGpXbR7o+8QVE7+Cg05TSBtEUsna5NKxtKofujuiW94kCA5QCsDdA/e2+1MVlZwF+w7mYPc19zoa90Ct9y/3F+AegZwF+wBy+xX7KvuVGvt69yL7SOp1Hg5QCvdY3QO0+1MV6qH3IvdI93oa95X7Ffcq+wCkHoF6BfcXNq37L/tAGvs6YPs1+w4wHg73vosB94vCA5X3hxX3gfuHwveH94HC+4H3f1T7f/uBBg78RfsXdvck9wQi9BLD9x4T0MO4FWuedq8eE7CXmZOKkx+Pio2JhBpUUWJzeR6Gh4OGhBqEkIeSj5KMkJIenJWspJ+kCK+5jbSnGrplp2dfd2xvHg78RXr3BAHQ9wQD0LIVIgr8KY52+Sx3AXkEtwb3ZvksBV8GDvtLeqv5FKkBou73k+kD9w734xXUi/eL9xT3FIr7i0I4jPuB+xT7FIv3f+AeKBb7Ebb7d/dM90yw93f3EfcPZvd3+0z7TGD7d/sPHg77SzsK92nfA/cJFvelnQZ+O5bSH/jReQf7NjIFeQfEoAWnlZZ+dxr8ZAdEOIB+Hg77S4vX+Byd9wzbAffg5QOkFvgdBsT3HX6QBUxkbohkG/t3BvdY91zt9wb1GvcNQdAiMy1a+yttHqCGBcGhqdLmG/cHoTBcN100RkAf+1T7ZgUO+0t6svjvxxL3z91l1xPQ9yX36BXxjPcEXPsBGjdiPC5udJecdh6cdneYdBtofX5uWPcQhp73IPcF5fcn9xY2tV2bHxPgzbimtsEatHDp+xVILGv7F2MemocFp5q72uYb1axWWC9AWyxxH4aLhoYaDvtLoHb3M9H4XHcBm7j3gd8Dm/czFfeu+zPf9zPi0TT4XFkG+9D8WwW4ihX3gffkBfvkBw77S3qz+Bzg6doB9/fSA8f4MxX3B4b3SFn7NBr7DkJUSnB4nZ13Hp14d51tG2x1emtX5YC99zLu9wH3GfctMPcE+1eVH6/pBfd5BrHhfJAFgYFuiWQb+0gGDvtLfaf4BLn3lXcBrej3j+UD+FH5QRX7hYL7PvtK+18a+2bxLPcK90av9zPU9xo91yJUdH9sUh6g9wzu9xv3SKcI+8773BWtr6+TsBvyqSck+wVdV0xASNX3PK2MpZOjHw77S5J2+OnlAfdDexXHBvdp+SUFq/v/B077NKGCBbOjprLDG/dtBg77S3mr+Q6wEsHZRdH3csxV1hPk92P3zRX3BDi5bUEaRV1hTDpgzNjms7Kuph5vphU0SmVhNBo9zzX3EPc6p/cIv858yPsW4R4T2MGx0bznGtdMzfsFNSxVJjqraeBAHt69FWihMMTZGrurwNbYrVVUM1ZmZHMeDvtLjnb3jbb4DqwBqub3hO0Dwo0VkHcF946Y9yr3SPd1Gvc7KvcK+w/7Fjz7BfsZObj7EvcavcCdsLceh3BU+237h2MI98P32BVpamF5ahshdfcT192i6N/3F437T0p2iWmJeB8O/Cl69wT3kfcEAdz3BAPcsjcK+AEEIgr8KfsXdvc7dqZ29/D3BBLe9x77FfcEE9jetRVym3SwkJGMjZAeE7iNkZGMjxuRj4eAb3txe3offHx6f3+DCH6ChYiAGoaNiJGOj4uMkB6VjberpaoIqK6Ut6sasmqvXWpxdWceE9SU9/4VIgqgdviedwGl93oV+IX7egXJB/xF91s+CvchwvcfwgGW9+MVOgr7jQQ6Cg6gdviedwH4n/d6FVEK+ET7W/xE+1sFTQcO+4N69wT4w6sB90L3BKbrA/d09zsVoAaY57HDrbMIn6PG1tYavXf2+zL7BVsySmmfaKihm5elnoCZgZoegpiCmZ4asrmfvsG3VkFLdlZ1UR53U3dIhU0IWfsUFSIKTgrh2APh+y8V92mkPAZkeaOwH/klB7Cdo7Ie2qT7aQYOTgr3PdgDrPsWFXL3afnR+2ly2geynXNmH/0lB2Z5c2QeDvtL+5C5AYn7YhVd+Iy5Bw5NCvdO1gPF93wVxH/Siyca+1MHOaxt2B7wpFoGUm2qwx/3UwfbKLRbjh64k/Gv3Rr3UwfFqajEHrykJgY/aXE1H/tTBydEi1J/Hg78d/swdvnmdwHM0QPM+0UV0fnmRQYOTQr3a9YD2vsyFXLwB9isp98f91MH79KLxJcepQdSl0SL7xr3Uwfda6k9HiZyvAa9sHRLH/tTBznzZbaDHl6JJWM7GvtTB0tmdFkeDqn3fcIB+PHCA673tBX5Bfu0VPd9/M4GDvuv+BW09260Ab2292u1A734qxU4zkje3c/O3t1Hzzk4SEk3HrYWx7m8x8i7Wk9OW1tPTl27yB4Oi8L3vsL3gXcB94vCA5X39RX3gfuCwveC94HC+4H3gVT7gfuBBvwsBPilwvylBg4g+15292G9WdL4U3cSyOH3Y+ET3OyqFWycvXm0G8rT0rGaH1KMuFfPG9GnxscfdwZygYBfZxtpe72tH/gUNfv+BxO8XW9iZFwbSnG/yR/34TX8gAdziHiHex6Da35yYxpmnmWopp6ysLB+oYKvHoebiJ+KowgOqHb4mHcBnLgVr2b3cvdy93L7cq+w+3D3cfdw93FosPtz+3L7cvdyZ2b3cPtxBQ7S9wTAwsD3BAH3aPcEFOCV94AVOgr3XvcBNwr7pQQiCvtL+Aqs95GlAY3f99zbA/D4ChX3CQZt+6uFT4RTCGqHdvsFUxuCgI2QH5qXi7Aan3ieeHZyfWVatnS1HuiMsOac16f3HJz3FqL3GQj3DgaVrAX7FAb3PaCc374bm5SHgx+EhXuBGnacc6Sll56os2ena/smZfsw+w97HvsEBg6yoHb3brX4MXcBj/cT+AT3TQOPFvdUnQZ8WZC1lI2Vj5cfu/cOBfeXBrz7DgWPf42BghphWYZ8Hnn3jp0HXX2vsXof+4/42QVxBvuN/NkFZ3t5ZWAb91z3hhX3Bfeg9wX7oAUOe4u197K195i2EvcL8/eB8jb3BhP0qBb35wb3EO/V9wLWXdD7AqMfjQcT+OOlsrvTGvcy+zKaKDMK9/QVE3j3jweZ0oaX9wytQk77DfsKhmMePGEV3gYT9PHRaPsJOk9WSx8zBmGKq6MfDjugdvkIuHefEvcR8/f3pBPQoxb3u50GKgoTWPis91QH6sxqN44fpAZ69zYF/MwGE7B3B5+K3IYjGvxXB1RdeFQeDkOLufeztfeOu3mdEvcO8/eWoqimE+6rFvipBrn3PgVsBlhzckIhG/szBnZ4ma4f94L3MAfboWlPH6L3enQGT3VpOx77MPeO92sG4YdVXZgfpvco/KcGE9x5ByUKDkOLtfjhtQG3+OQDtxb4ywak90kFbgZcfXgv+x8b+4cG+DH48AWm/J4HfPtDBaQG0Z+ayvcSG/dvBvxB/PgFDrKgdvfXtffIdwH3FfP3wvMDsiQK93v3wvt7Jwp597CdByoK+H0HPAr7bPvC92wmCsV6sveuzvelsgG09wb4UPcIA7T35hX7QvcU+0n3Y/dj9xj3SfdC9z77G/dD+2D7YPsX+0P7Ph73Bhb3Irz3OPdA90G9+zj7IvsaUPtK+zj7PVf3SvcaHtk1FZqKBa2Wnp6wG/cSBrCeeGmWH5qMBYesiaekGqSNp4+rHnyMBWqAeHdmG/sSBmZ4n6yAH3yKBY9rjW9yGnKJb4dqHg778jsK9w7zA6skCvh9JgqyOwr3EfP3mvdCA64kCvdhB6yp92b7gQWaeZN9gBp3coJXHnn3xJ0HapFziEPc+5X3thjV0L27zdAIxcaunrgbnfuYeQe9r4F0gIR8eXkfPz09QzhHCPdxJgqOi535KHcBkfco9933WQORFvdrnQZtZpG0l46akp4f9yb4Ffc2/BcFkXyQdYEaX1GLeh5596SdB4BTodBtH/uH+M0Fgwb7bPzLBVJ0Rmd5Gw73YjsK9w28+J/zA6cW93ydBlhkprof+FcH95j8swWdBveJ+NAF/HQnCnn3sJ0HVGiUzB/4dgfSyJWoHp37XAf7dPyS+374kgX7XXkG2oWZZUka/FkHXGFwWB4Osph2+T13AfcLvPgxvAOogxX3eZ0GWGSmuh/4Wwf4TPy3BaH44QYxCvt5RQr8IAf8E/h8Bfs9eQa+lHlpqR/8mwdcZHBYHg5li+j3aer3SuUBr53onffJneSdA8f4nhWbBp2OjbbNG/fsBs2OYHmOH5v3K/ybBuL8OxWdBruOo5OuG/dNBq6jg1uOH533Y3kGW4hzg2gb+00GaHOTu4gfeQb7A/xdFfjH91Z5BkeCe2pDG/vdBkN3rM+CH3kGDrJ6svkEsgG09wj4T/cHA7T35BX7QvcW+0f3Y/dj9xb3R/dC9z77GfdH+2D7YPsZ+0f7Ph73CBb3G8b3Q/c29zvC+z/7IPsbU/tG+zr7PFb3SPcaHg7goHb5DLR5nRL3B/L34fIT2KQkCor4sAX34fywBigKefewnQcqCor4bwUTuNTMmqUenf1keQely3xCH/xvOQr7E6B298C097izeZ0S9wrz92r2E9ynJAr3ZAf3voqi1fcPGvcFasv7YTMK9+MV95QHE+yenZCcHvcJjMl3+woa+xJrbvstf4GSkIQeDjCL6fipuQGQFvi3BrD3YQV3BiptXH1LG/uvBveA96f7XfeWBfdmBu6mSGWVH54GgfcrBfyaBveh++4FDkOgdvkOsgGuo/dl8/dlogP3RiQK+LIH9wyM5W+KIKWNGIb3PwX8yAaG+z+liYz226f3FIoZ/LI5CpI7Cve68wP3YCQK92AH9033vgXKsrCJrhud+3x5B7+bf3yBhH6EgB/7IPt7+zD3gwWFlYiUkhqdpZS/Hp37vXkHwKxke5cf92D7wAX7ZDkK24ud4q74IarinQGl9w33T/H3T/cKA/d8FvfGnQYyfrS5H/chivc41fctGvcj+yvp+y4euZe05B6d+8R5B+SXYl0f+zf7JS/7Jfsv9zVD9yeMH11+YjIe92D3DhX4IQf3BNYx+wg9WvsF+x4fJRb7HFj3BNr3Ac7r9wyMHw6yoHb5NXcSgvc4+zj5XftG9zUT6IIW93qdBll7n6CVkJaSlB/3Ofdf9yH7ZwWRgY6Cgxp2cnxWHnkHE9D3wJ0GYl+5m38f+2f3u/dC92UFE/Cuqcevphud+3x5B8Cdfnp9g3yCfx/7IPs/+w/3RwWElomVlBqfpJjAHp37wHkHuLdbe5cf91H7lvtd+4gFZmxRaXMbDvcEoHb3trP32Z2WdxLS9wf3NPP3NPcHFA4T3veUJAr3Wgf3G/cgrfcg9wWC5MwfnQf7GWU6+xv7EimATYof948HE+48CvuPB02MKZb3EhoT3vcebNn7IB55B9J8M/sG+yH3H2r3HB/7WjkKV3mtadH4JrkStPUTcPhO9hVJrqVQtxvUjfcEth95Bn2MdkRrG2lry8F9H/cH994FMwZL+1MF3HxV9wL7Ahv7IkL7APsT+zWv+w73O+rh66icH2j3CBUTsCBwQCdPGyuJ90LU9JLh89HM+yg4mR8O+15292G7+AXC95GtEtjZ92HyVvQT+vcysBW9Zcl5xowI6Izo2vceGvJV4S+2HhP8yKKsx8ga9wc0vfsAPPsEUSge/SMHWIBZhlge4gaOpJCkpBqK94UV+IwHx7y9wNamT0mMHlyMeztleneRdBt3eIF0c56BoB+jnpGfGxP6wLn7OktAaksxWVSmr3AfDvuk+2B2+RvYAZCb9zL3CwP3g8cVeFpiK0UaY55tp72hysHPfNSIpB73YPhNBSMG+wX7+QWJBuh5bPec+wAbTGVUPYofdIt3insemwazjprWwBvvrfufLJgfDvtReLr5NLMSs+5hvPeC7BPo95P4UxX7K2hLNPsXGiXn+wP3GPcL7fcA9wj3D1TPQ8QeE9gh3iW5zxqnsaGtsqR7d50ea6maYLUbqKOcqs/7Cq49Szh4QDP3Ali7Tx+qbhWXiOYkhvsCCDKHXzZBG2ZtpK13HxPodq58t7Ea77Dg9wKoHg77iHi591i6ZLz3Tq8SofMw5hO49xn3kBVlhkJmMBoo9wRk5vcE5aftHnGSBUl3Y3ZPG02KLqbbGsWws84eE9iml4OwG52blKIfE7ideZJ5HhPUZ3yBbxtaWrHPsrO+wB+vjKt2km4IXJaohp4bpJyipcUwqVM3+xZnIB+MVbdpwHgIDvtR+3Xv9xft+SB3Ese7hcb3nLUT9PdZ+NwVPDNR+zUtGvtU9wBg90S4r3dicHZDUZgejnxomHIbY31vd2PAf6rxy9n3DfcS+xOP+wL7An/st/cgzvcCzOIfvob3I7zFGqt3mnNPJyV8fx4T7HKOa6KuGrK1npaQHomdBWdBWF1yoWbUfh8OO/tJdvdzdvhP0mJ2Eoud8uD3YeQT7vcNFuD36wa3nqzDvhvGs3RBjh+Z/FyNVpJ8j3MZ5AaCnoS3lxqA+IUF2olbzDkbQE9vM20fv45sw1MbNmk5Sx+dBhPeqYygya4bs5FSWB8O+zZ6sfe7v/e0rQG28feG7QP3n3oV9z+693H3HfckT/dh+zT7NU77cPsR+xjF+3r3Oh/7DvgVFfcdrvcr4fCe+0kgjB77hVcV94QGMnH7Yi4scfdl4R4O+/Z6vfhqdwHj4AP31fAVeAZuiX5kYRtaiM6uH/gEB1d4bHsxeQh3B6vDj/sXH/t4B1+nW831k+ikkB4OoHb4QdNIoBL3C9YT0PcLFtb3lgb3L/tVBZKCkIGDGoCBgm8eefd/nQdQca+wbB/7PPdqvr6qpqumGZmclpCVG5eKlYGefpOEm4ebjAikjKWYsBqvYp5qb22Ae3geQU9ISUNLCBNQ920HE7A5aWWCYogIdgeuir6FNRoOeuL45dcBxp73Z7H3Xp4Do3oV5wb3P/gSBY0G+ySqifuC9w8b4aD21B94BnCKd0FXG2JuurZ/H1/3MGX3UWD3Ogi1gGutWhtFbfsSVo0fngajiqPawRu/qi9CnB8O+zaQdvifdwH3fHsVsAaht+L3RMH3AgilwJy1tRqmgqhdWIlQWpQej3WOenwabYN0eGYeP/ss+zL4KFFyiIxFhBl4B7SGpIeZZwgO+1L7X3b3cOv3uOf3tncSprx/wHSy97O8E/v3LfguFUJQVlMxGvtD9zdp9yinwYlRU2RtaJceapZykHmJCG2JfHtuGmDAgab0xtz3DddDsT37PUHIzuHh1bKbHoWMuIW7G8bBl7mma5JyUTlsfHEfZKN+rKsataizqpgerYX3GbDAGqF+m29aRU9zbh4T9W6NcpynGqyelpeQHomdBVhsbGJktm6pgx8T+29rfGhoGmadZrRrHg54t/hPqgGu6vet5QOu94AV+w7v+xn3Ifcj3fcX9yr3JCDo+xv7HTT7G/sUHuqqFd6h9wrw9w2w+zQpM2gqMPsCXvco6R4OeOn32uEBlffcFZwGxKucm6cbxAZu+2yLbXxzCHdrZHJjGn2VZLiymqe0lB6XwZ33Apv3Twj3BQZ6+zUFOoKH+0b3CRvTr9jyH3YGdnhKXGZ1v7Kxi9uX9wke9xrh/BEGM2P7AFiAHw77ZXb5NsIBxuP3keUD9yezFbBpq2/KjAj3K43H7/dKGvdPRbz7LfscQCb7Cowej/w7BW2HaYR0HuIGlbOLrrMaiPdwFYX3ewXCiqvAwhv3GLdP+yL7B20w+w1kXaK5dx8O+4j7aHb3dfT3vvQ72xKztffQsRPcs/dmFfsV1DL3G/cKq3RiaHhmZYoefXyQkXsfkXt6knsbcnF4aGyqcL7T4dL3BfFQtzQgJoj3H/HK39yMH5+ghISgHxPshZychpobuamcp75SlGL7OPsD+xT7Nh8OO3a3+BvhAanw98LpA/jg+DIV4fuXB/sU+z9C+zH7F9n7NPdD907F9wzs7kbRNLofjQdWFuBAqUj7ABo+YEs7Kzj3DfcK8ee96h4O+4h46Pfh6AH3StUDp/fBFa+YsNGtG+YGhVZ8+xEoGiO1XsbonfcHzYceeQaEYn1bXYxYjIHKj72b93AY9y6KBej7fwdmYHtvch9rZ3xidj0IDiB5u/hxdwH3IeH3edoDkvfuFaEGl6yeva+MCJiWe3+NH5Jml/sCQBomxyr3DPch1PcJ9yb3A2Xi+yzLHoV6BZ2J7k/7Rxooc/sML0tay9nHgvcUgdMevIRupWUbOGkvRoEfDvs2+192+hN3Aabm9wi7Xrj3DOMD94V+FY37W7J/BfdnB7X3Oqr3fPdG+yrTUR/3LgdanI37PwVo+0Fj+3D7UvckTNEftLAV+EwHm/NV+zz7SChndokfYRZyKrj3QPc+6cCiHw77e+P4ytcBmPt7FfEG9y73rgWNBjqaoftd6Rvnpfcfv40feAZvimxAThs8cfdctYIf93b4JAUlBvsv+6EF9yBzefcVJRs0e/sfWoUfnQaokKPevhvbqPtDRp4fDo77Y3b5bHcB99nKA/fZcBX7Xcr3XQfAls2jusqqtaO+l/eBjsKqj7mVCJ0Hl3Vpi38b+xeL+4v7EX0fgz9XbWOBCPhvTPxvB2OVV6mD1wj3EX6V94v7Iht/aYt/dR95B7mBqoeOVJf7gaNYqmG6TM1zwIAIDo56ufhrdwG18vc59fc48wP3/9MVXKnDYcUb9wXL9wn29yo29yP7Ph96B/cHdK/7CCYaRoP7JTlBa+Kkjh6XmJzUzhrJf8RiYn9STUicQpd+HnONbjNBGz189xjQ86v3EfcMox+cB/s6MvsV+yb7Asb7GPcQw8C3uKgfDld5p/gV0fdDtBL3Hd1I5ZKt91DZE+6d99YVkImQipCJCLGhpLOvG6SUeHeNHxP2j094Qk4a+wbESfL3N+T3KPdRHtVdBcAHQbAF8mb3a/s6SG1gVfsK8Fb3DUkeN4x++5H7JhtHccTMHxPu26La2xq/YrVcU0xCRXoe+FjPFWOf+yfN8Bqtn6iz9wqU+3NwHg5MoHb4i/dKZrAS94TzE7D3KyQKivdqBdqRsfeb9wQbnZqBfR91ZXJtGhPQa6V/pq2ntLTMba5W+x1Y+yoqdh73MX37HeH7Jxt+goOEh4+Hkokf91lerC6M+2uM+2cYKAoOO/tfdvdosfgh1wGv9PcazPcn7wP3qX8V+2jK92gH9xuK9wTu9yca9ydJ9wv7ECZzSD6NHo773QUoZvcH8Neb9xXmrR+dB/sQM/sd+xD7NvcEMvcVjB/KsRX33geljIq0txvYpSgy+whTLjAfDql5tPhv4AGu9fc37PdA7QP3+NAVYZu8XtYb9wzC9x33Eew+9xckpR/3SIwF3/ydB2tHZiVlH52HxrerlOSSGSZOQTb7Bhr7FLf7Fvcbxcq7sqAectQVYo1ePVIbNob3LNH3CsLw7a0f9xAG8G3B+wkjGj2L+yIwTl7Puo0emMWV0a0aq43cWleOP2eKHopglUGdXQgO+3P3Gnb3/HcBvff8A/d69wUV7tzb7+463CgnOzooJ9s77x8O99F69wQB9wP3BPdx9wT3cfcEFHD3A7EVKQr34RYpCvfhFikKDvxI+HR296h3Aan4fRU4ClkKHvcx91pACm2hbHt9hYGHHg77pPh0dveqdwG5+F8VWQof9zI2CiP7fAU4Ch73VBZZCh/3MTYKJPt8BTgKHg78mJR2+UV3AfsQfxX4ZPlFBVMG/GT9RQUOzn/K91TKysr3UsoB9wfOA5/3hxX3AAb7JrD3G/sB9zkb6taws70f5QdLVzljNRv7ESXb9wRkH/f4BqnKBfwlBoqWipSVGpWMlYyYHvhCBqnKBfxRBvcArfbd9xEb5dxhT7wfqMgFy0sxsywb+zX7HyL7KGYfPQZtTAXrBop+i4KBGoKLgox+HkkGDo5W3q3P93Ci96njAcSy96zRw9cDpbcVmKabkpsbmcJvbsMfbcXGbZkbrPdg9z7NsF3QZc8fcbp1ua8an9rns8MesUIluzIb+wX7F0T7FPsG7z/3AIwfjaIFQYoqzdwa39C43Y0ezY3xZL5xCDkjg3V0GmOiXKVdHq5NtU1cGl9LTVt3V6emVx6lWVygdxtyLVB/dx8O98T7Z6z3Oa/4S7XQdwH3M6ue27jTrLn3su0D94z3EBVnS1ZQQBpFqEjl7qnb2O5kv2reHu/W91z3SvAbsKNrRvsmJvtUL0hxrK6inpGXH6eMoKejGqN2nnOKHluKal5YGkO+UOT3QfcJ94f3Btla3TP7Pvsf+1AhJR51tYGmpRra9xb3AcnLHoKbBSdI+zf7CPsRGopWpFiZZgiabRXB+wCdXWUaY39jXFxlt8u8r8WvxB4O9wSRdsLf+KTdUsQSpaz3JMDl4xPu0awVkoaQhpKGCJqem5KXG6qnZHukH/csw8j3QvcZGhOu0IvlfOMets6YmaAbovMqhJIf+1X7JJZ3BdOeOSH7DZpM03Af9wLjfKIFhn9veXwbaYa07e+C9wFGox/3SvcfBRMe9yb7OIqPext5+w4veHEfznZBt0Qb+x09R/sRLt1b02MfmoKTgYEaeHd/hYIeonsFtriYoJ4aqWCpXqYeV6hSqcwaE97I1bjE9xye+yn7H/sVZPslYFAexjWdlHobdYhANoCICA7gi/D4v6sSrZqR9wj4QPcJkJoXrRYT3Pe4Bnv3LAX7Aalt9w/0GvcW2/cI9xr3INX7CPsaJ2X7FCZxHnv7LAUT/Pe49zYGE9x8Blp/dX9hG/soBo2nBfceodr3GPcQGvdS+z/m+zT7M/s+L/tNih6K+xLW+xv3InaNbxgToPsoBmF1l7x/H3wGDvcgjnaydvhp9xjEdxL3Q+YTePdDFvdHBpu2hp6ZGqxusHCxHnWrdqysGqqmoaChHhO493z7obtPl10InpOvq80aw2qxa6wea6tspqwa2dDgwX4ekOAFrYZ0pGoben2LjH8fVY6HlpC1CFyEdlRbGkfLfcKOHmJdf2F3Xfts95J5mYO7CHCCZVpgGmTQQLRdHktKXW8+GnSgcZtqHpV2lHNvGm5njHceDkYKq/oiA6v3jBXpMdFF4iSurhhbxy3xZLEI+bnD/bkGsrHp8bvHaK4YNCRFRS0xCA47oHb6IkkK96wWw/m5BrFk8S3HW66uGCTiRdEx6TEtRUUkNK5oGMe78emxsggORgq893AV+bkGZGUtJVtPrmgY4vLR0enlLeVF0TTyaGgYu0/pJbJlCP25Bg47inb6IkkKuPd5FfI00UXlLeXp0dHy4miuGE9bJS1lZAj5uVP9uQdlsiXpT7sIDvf7kXb3gb/3gXcBo/p8A6P3jBX3ByXCSNotsKsYR+pvoDbkCPmqBjYycHVGLbBrGNrpws73B/H7B/FUzjzpZmsY0C6lc+EzCP2qBuDkp6DP6marGDwtVEj7ByUIDnKQdunC+IR3Afi3wgOa9RX3OvsOBen4Ofi7VPyE/ALpBw73xOvA91zA2ayLdwGp+iEDqfeNFfcK+wO0YeX7A7SsGE3ZBfk9wP1lBiPv8+8F+WXA/T0GydlirDH7A2Jh+wr7AxkOO6J2+iF3Afc+wPc0wAP3Po0VwPl8Btvc2zoF/XzA+UwH7T6stPsD5WG0+wP3Chn7A/sKYWL7AzGsYhjt2AUO98TuwPdRwAG47hX5PQZINblq5fcDtLX3CvcDGfsK9wNitTH3A11qGM46Bf09VvloBvAqJi8F/WgGDjuNdvohdwH3Q8D3NMADt/d6FfcDMbVi9wP7CvcD9wq1tPcD5Wq0GCk+BflMVv18Bzs6O9wF+XxW/UwHKdgFDvf79wG990C9Aab6eAOm94kV9wghsmHt+wmzrRg/6gX4xgY/LLNp7fcJsrX3CPUZ+wj1ZLUp9wljaRjXLAX8xgbX6mOtKfsJZGH7CCEZ90E1FTTh4uEF+R8G4jU0NQUOqaB2+F3C91V3AffdFsYG97n5VQVSBjn7VQX8BQY291UFUgb33v0PFfs4+BcF99YGDvtRd6j4ALL3srsBpeH3n94D+A/37BW/SG6bUBv7Cjsn+w77EN819vdWvve09xH3MEj3WftZV1h7fm0fslkFoLSkldIb8bb7NvtUhB+DaBUrd3r7YPsbG0B/6rfZsfcn9wDIqmJ0oB8Oi8L3s8L3k8IB+DvCA6QW+Fn5V/xZVPgi+5P79lT39vuz/CIGDvcgc8D5FL0BssP5C8ID92z3ABX4QvhWBbpVrEA8GvtA+yD7KftAPEituFceZrEVc6hPxfcOGvcu9yT3NPc/19BtXcIe/Mv83BWsau7lBVPK3mnoG/df9zj3P/df6GXkUcwf5ONnrTM0BcJLN6svG/tf+zz7P/tV+xC8O71bHw5Ei7z5E3cBkfjuA5EW+O4G+8P5RAX7iP0TFfdu+Gj3W/xoBQ6pjXb5Qr4Br/kZA/fleBX37Pl1Bf0ZBvfp/MAV+2L4jQX4RwYOqYvB9y3B9y3BAbj4YBTg7/djFfgpwfwpBuKV183dG/eBwfuBBvsqQvsN+wX7Btf7DPcnH/eBwfuBBjk/zeKBHw6pZnbFwfctwfctweJ3AbjCA+lqFbdyuNgFgJqpg6Eb95PB+4kGf3ONlXwf2/chBfdswftOBuL3LQXuwUcGrsldpFo0BfsIBin7Ci77GzinV8xPH2X3bBXSkdbf1RvoBjL7LwUu+zsVbqZws4O5CPcUBg77iHq690vC90q9AffU6QO7jhWFnat9vhv3IvcP9wH3PeNQ9yv7Q2xpiIJkH2AHjpiZjZgb8PJF+wQf+1xU91oGJC87JXJxj5RyHg73ICai+bqiAfcO9wX3+vcFA6Q9FXT3x6IHUGWg0R/5Q/f6/UMHRWV2UR5098aiB1BloNEf+PIH6NCbpx6i/Z50B6fQey4f/PIHRWZ2Tx4OqSfy+U24AfjvnwOZ+wAVn6aTnxv4eI4FpK+Eh6UfmPGQn6TxCHQGMmhrcz0b+/0G97r35/ul9/oF95EG9xSaWkqfH58GhfczBfyFBmllkI1pH/fx/FoFDvd9wgGW930VQgoO+0v3L3b3T7me2+B3AfeBnQPM95QVdZ5/n6KToKGfHp6gl5arnwiOkJKMjRuRin+HdoZ6hnwfg3OAd20adJZ2pqWVoqCMHqmBn4OkHoaah5ugGo+JlpGOjoqHkh6mep56mH4Ic6OZdaYbm5mXoapolG6TH2+Ta5N0lwiEj4WOkBqOj4+UkB7Nqo2Cs5UIl46mmKMapHqXeG55a29wHn9/en99gwiIhYaIiBuHipCYppKekp8fkZyRnaQanYOhcHCDdnlzkXmReB6Sd5J3cRp/ioWHiIeNj4QedZZ9l4CWCKN1gK5qG3N7enVxn4OzhB+ohouNxXAIloaQh4gaiIeHgoYecHtxhHKGCGuGY39sGg5l+k8BlfiNA/gBZRX3KvpKaJD7E/2y+1n4MfsmQ5tq67oFDqn3D773Rr8BpsAD+AH3gRVgttpE0ButqJufnx9rrQV/fXuEehtdWbLEUB+8v7qwuBugn4V7nx+osQWTfnKjYxs3aGROPx/GRFG0RxszVT9RPsNF3tbHv8nLH2KrFXN9O0VPG1ZmwrKlo8TPvuFMd5ofDqn3EL73SLwBpb74wsAD9/n3gBV2o88w3xv0vdLV0UrMMTZnWlZUH8VNYbc0G0KKSE9BGkG6ROjyy+agox5prBVYXVpgTRtcYa7GsKa8yb+za1XMH84WwsqhqMUb1qZRcUlWbVphYbLEUB8O4IvC+P53AaUW+VzC/NYG+Nb42WKwBQ47oHb4WncBohbMBvdr9/L3a/vyBcwG+6z4WgUOO6B2+HF3Aan4uAOp+FQV96b8VPem+FRfqPt6/Av7evgLBQ7goHb4YbtVChbC91EG9yP3J/cV9yT3MvcZ+yf7ER77UcL3UQf3Qfsv9yf7U/tT+y/7J/tBHg7gerr4YndVCvfBFftB9y/7JUsK9y/3JfdBHvdTVPtSB/sR+xn7J/sy+yT7J/cV9yMe91JUBw78LSD3BPm49gH3DNEDjVgVaqp0rvcnbvhd9x6PHvccdvcxjbAelYyOkpSbmnGsG6SdnaaycqJn+wuU+4r7Jx+K+8qQLo1BCFyNinN8fHqpcRtvc35gHw73SIv3Ffdv9xYB9zf3Fdb3Ftb3FRQ49zfMFVIKb6dnZ25vZx74LRZSCm2nZ2dwb2ce+2H38BVnqG6vr6ior69uqGdnbm5nHg73X7+LvxKc+JQXE2C8918Vqaaqobgbqap/fLoff7HAfroboqGSlJ8fqpqloJSdaq0YfH1vZlMbY1+WmGUfE+CZY2aZXBtAamFzcB8Oi8L3FcL3G7qQuxKW90wVOgr7gwQ6ChMwuvfPFauooqO+G6WthHu5HxMgeMC0ga8bpKGQlqIft6CWpJOaZqMYe31zZUsbcmOUl2wfExBmmWCcXowINF5da3cfDvcbvvS+Epn4lhe597dXCrN7fbwfgLC2MgqXmGUfmGNimVwbQGhjcm0fq/tWVwq1e328HxOggLC0MgqYmGQfmGNjmFwbQGhicm0fDod29zXC9x/C9zh3AekWvXLm9zUF98XC+6cG2PcfBfdawvs8Btf3HFqnMPs4Bfu5VPeaBj77HwX7TVT3LwYO3cLtwu3CAZn4oBTgmfgYFUIK+2QEQgr7ZARCCg49Cve4BPiF+3YFyQf8RfdXPgo9Cs0E+IX3dgVRCvhF+1v8RftXBQ6pi0cKscUD+UYWwvwpByGMOePiGvDh3vMe+CfC/CgG+zM0+xH7Boof+xmK9wYp9xYbDqmLRwr4+8UD+EAW9xb3B+33GfcGMfcR+zMf/ChU+CcG8+M4JjQ3MyFYCqladtHC9/vC0ncBr8UD941FFccGr9EF9+3C+9AG90T3+wX3IML7BAaw0gVPBmdEBfuKBvsE+xE2+yv7MfcRP/cQih+nwhX7FIww3O4a4tnn9R73aAYOqfsRwtFHCrDDA7BFFVT5IcIH0QTC/CkH+xCMRu6M3Aj3AIzq0u0b+CfC/CgG+0A++xb7AfsZ8yn3IR8OqfsRwtFHCvj9wwOf+xEV+SHC/SEG+CzRFfch8+33GfcBPvcW+0Af/ChU+CcG7etE+wA6Ryj7EFgK4HzA953B953AAbbE95nB953AFOD3JPfDFfdt+3HB93H3bsH7bvdvVftv+20GX3AV9zX3EzAK+xP3F/c1HlIWIQoO4HrA+NzAAbbA+NzAA/dU9z8VsmT3Mfcy9zL7M7Kx+zL3M/cw9zBksfsw+zD7MfcyZGT3MfsxBfvGFiEKwBb3NfcXMAr7F/cX9zUeDnKLwvj/dwH3xsIDmhb5EcL7t/j/VPz/+7cGDvxF92bvAdDvA9D3mBVvoXWnpqKhp6Z0onBvdXRwHg6OTXb56fcrAffg0QP34DgV0fgTBviI9zPQrpOSiYmPHoKGgHl4GnOdbrG3n7Oyr2ivXk/7h1n80x4Ojjr3KfnpdwH37tAD9x5wFZSQlp2eGqN5qGVfeGRkZ61ouMf3gbv40x74D0b8Ewf8iPsuRmiDhI2Nhx4OTAqk96YV93r8bL6k+274U/du+FRYowUOTArT+1oV93r4bPt6+GxYc/du/FT7bvxTBQ77UaB2+X13AZ3H997HA/doFscG91j4DftY+AQFTwb7VvwEBfd0+9YV+zj31vc49873OvvOBQ7RfHb43HcB9+zBA/e7ZxX3LAaElWKsis4Ir4qUoJ0bkY+GgZAfXaKiXswbu6rEu8B0smHCHy33EG+uRPcERPsEb2gt+xAIYVR0ZFYaX6FMy8imxrGcHpKOj5CUG5iXd2WKH4pIYmqEgQgO0YZ29zz3FxL35dJPvRPQ979xFfcoBnCsdZ/NGqqOnpmVmn5voh5rpquBshvFtMfJ0WfGR19ebYN8HxPgcH16kpoako+SkJAenZ7NsNEa2UuoS0pLbDhI0Weaex6QhY6FhBp8eYZylx6TfGSpXxtGYlNGR7VQzK+omKmlH6ekm5eUGxPQmYtxdEl0dnFrHw7Rf3b4yXcB+ApqFdn3B5qn5vcJCLTAq8DEGvcIQ6VhXV12SHIeeIOIdXwbfIihnoMfznJdoF0bYUNx+whSq1a0Vh/m+wmab9n7BwgO0Xx2+N53Afci+F4D9yL3lRX3fPu593b3uft297kFDvZ8s/Ox99ul9wezAb6z9wrM95Kf9y2zA/iv93AVYllqf14bQE3H8dW45tzGxmxClR+fBof3FAV4Boh9fIZ5jwiQdmuXZBskNjEj+wnbO/cL17e9oqEf/If3FCMK9nqz9xid9zGi9zKj7bMBvbP3Ucv3F8/3MrMDvffcTwr3Uvcv9y73U0gK+y/7L/tSjCwKHvs9ivscQwoa9yD7QBX3NJ0GdXKaox/3CqUH9xn7QwXqnQZ+f4uZgB/7DPcsBcWctqLJGtg7nE8e+zt5BrOPgG4f+6AHeHF6dB73BfdIFfcSB5yVmpXPtXlYjB45Q4VQih4O92P3znb3+aJ5nRKdnfcGxvcGnd2m97zGE9/u97kV9zSdBmx4mqIf98IHsIrDiaJuiV8ZnYyI7AX70QaIKp2KibeiqMONGbCMBfvCSgr3pXkV9xWdBmx3mqIf948H9yT7xwWdBvca99cF+59KCnn3NJ0HbHiaoh/3rQcTv6aoiaAenfsFB/sS+7T7GPe0BfsGeQaroI5lH/ujSgoO+0v6Ba8B+HT6BRX49q/89gYOOyh2+v5JCves+wwVw/r+UwYO99H3cMMBT/rqA0/3cBX66sP+6gYO9nez97S29xe29LMBvbP3RLz3VLn3J7MDvffZTwoe91KM9y/3LfdTGkgK+y77L/tSLAr7Pfsc9xz3PB73RPtQFbz3QPcRBtKCPGeMH4xvk4mUeQieoYueG3Onh6OwGr58pmygHrCnmJ28GuFNllAe+z4GvPtCFfcX9w4HqbODSlpmgmofDvZ8s++598y29wGzAbyz9x6894C49yKzA/iU96YVUlldUjVg5dbdt8zYzrNvWI0evgbliUSrMxv7AE4zI/sEzSr3BPcAuefEH/ySwyMK8vfOdvfltgH3Frz3ULz3mLwD9xb3uRW89+X3Ebb7v2D3EQb3gfvlFbz3yQb0+8QFvQb098QF+8m8+BBEB/sA+9L7APfSBUQGDvu/+7kcBLkBo98Do/u5Fd/4Lgb38/X3yfdy9x8efpUF+1cq+2D7YvyOGg77v/oxiwGj3wOjVAo/CqPfA/hB+7kVkpUF+3L3KSH3v/fzGvguN/wuB/yO92X7WPdXIB4O+7/6CbQBi9gDOwTY+dIG9xGblfcRHvcXtPvxBg77vzz6gAGL2AM8BNj6gD4GDvu/O7QBi9gDOwT36LT7Dgb7EXuV9xEf+dI+Bw77UfoTqTUK97A2FfnIB/cCkb3bHtapQAb7Alhu+zUf/cgHDi0K938G9y1M3vscsh73HLLK3vctGvd/QPt/Bydn+wf7LV4ebQf3LV6v+wcnGg5TCvdl+jsV/cwH+zW0cvcCHuCpNgY7j7n3Ah/5zAcOLQr6kEAGDo4z+rsB98jRA/fIMxXR+rtFBg4/CvgS3wP4Evu5Fd/4OAb4jvtg91j7V+wefoEF93L7H/X7v/vzGg77vzb6hgH4Et8D+BJUCj8K+BLfA8H7rxWYgQX3V+z3YPdd+I4a+DM3/DMH+/Mh+8T7cvsfHg77v/oJtAH3udkD97k7Fdn6gvvxYvcbBvcRloD7ER8O+788+oAB97rYA/e6PBXY+oA+Bg77vzu0Afe62AOhZBVi9/H6gj79zwf7E3mA+xEeDvtR+hOpLgr5yAb3LHSx+xkeO23bBtGWX/sIHw4tCveABu+v9wb3LbgeqQf7Lbhn9wbvGveAQPuAB/styjn3HGQe+xxkTDn7LRoOUwq7XhVt2wf3FqWz9ysf+cdA/ccH+xaAbEUeDvaddvj/91QB+XH3aRU/oGXT1BrOqc3KqR6/bkGkUhtudoSDdh+DdnWDbhtydZOTdh+UdHWUcBv7AyUr+yH7GtL7kvc3pZ6WlKAfkpubkaAboZuFhZofgqGdf6cb4bXi9xXWH/vb+CcV5ojl8HbpCDw1KyuQHw54nvh7mPdBmgYeoDlj/wwJ5wrgC5/TDAz4uRT5PxWrEwA6AgABABMALQAwAEcATwBWAF0AYQBnAHwAggCLAKYArgC0ALoAxwDOAOMA7QD2APwBCgEOARkBHAEjASoBMQFAAU0BVgFfAWYBbQFyAXcBfAGIAY4BmQGgAacBrAG2AcABygHOAdgB4gHsAfMB+wIEAgkCEgIZAh9spHKqqqSkqqpypGxscnJsHgsrCvdT9y73LksK+y73LvtT+1P7Lvsu+1MeCyAKDhUhCrMW9zz3HUMK9zz3HTQKNApDCh4OFvewnQYqCgsvCvx9JwoLBzwK/H05CgcoCgtUaHhUHgttpHKqHqmMpaOqGqlxpW1scnFsHgtUaJ7CHwv7U/cu+y73Uwses4oV9z33HEMK9z33Hfsd+zz7Pfsd+xz7PAv7UTb6kC4KC0QKNhXWC8KueFQfC/cX9zX3NfcXVgpBCgvCrp7CHp0Lgrkbxce0qJofaKwFfH1yZlMbYmYLHvupeQYlCvdWC/sd+zz7PPsdCwH3ZdYDC/dcQApvoWx7e4WBhx4LFSAKC4iFi4mKGnyahZYLJwoO+KLC/KIGC6B2+TV3AQsxCvuwRQoLi8L43HcBqBb4hcL8hQYL+EX3WwXJB/yF+3oFDvu/+7kcBMMBCwWPj42VkRqoC/sX+zX7NQv4oML8oAYL9x33PAs1CvdlC3kHLwoL98SRdvd/w/d/dwELwvf8wgEL91L7L/cv+1L7Uwt3AfeswwMLB3R3fGweC/dT91ML+/b7RXb6RHcBC/tf+0uk+bqkAQv78vsvpPmfpAELFSsKC/vy+z52+fR3AQvJB/yF93oFTQcLZ6hur6+nqK+vC/tRQKk1Cgs2Fd/6hjcGDgGzwvjawgOzC0EK+xcLFammqp+4G6oLih/8KVQGDpCQj46NCwAAAAAEAkoBkAAFAAACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFUERGAMAAIPj+A/L+2wAAA/IBJYAAAAAAAAAAAAAAAAAAACAAAQAAAAEAAwABAAAADAAEBgAAAAF8AQAABwB8ACAAIQAjACUAJgAoACkAKwAsAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AFsAXQBfAHsAfAB9AKwAsACxANcA9wGSA5EDkgOTA5QDlQOWA5cDmAOZA5oDmwOcA50DngOfA6ADoQOjA6QDpQOmA6cDqAOpA7EDsgOzA7QDtQO2A7cDuAO5A7oDuwO8A70DvgO/A8ADwQPCA8MDxAPFA8YDxwPIA8kD0QPSA9UD1iAiICYgMiAzIEQgrCERIRghHCE1IZAhkSGSIZMhlCG1IdAh0SHSIdMh1CIAIgIiAyIFIgciCCIJIgsiDyIRIhIiFyIaIh0iHiIgIiciKCIpIioiKyI0IjwiRSJIImAiYSJkImUigiKDIoQihiKHIpUilyKlIsUjICMhIykjKiXKJmAmYyZlJmb22fba9tv45fjm+Of46Pjp+Or46/js+O347vjv+PD48fjy+PP49Pj1+Pb49/j4+Pn4+vj7+Pz4/fj+//8AAAAgACEAIwAlACYAKAApACsALAAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBbAF0AXwB7AHwAfQCsALAAsQDXAPcBkgORA5IDkwOUA5UDlgOXA5gDmQOaA5sDnAOdA54DnwOgA6EDowOkA6UDpgOnA6gDqQOxA7IDswO0A7UDtgO3A7gDuQO6A7sDvAO9A74DvwPAA8EDwgPDA8QDxQPGA8cDyAPJA9ED0gPVA9YgIiAmIDIgMyBEIKwhESEYIRwhNSGQIZEhkiGTIZQhtSHQIdEh0iHTIdQiACICIgMiBSIHIggiCSILIg8iESISIhciGiIdIh4iICInIigiKSIqIisiNCI8IkUiSCJgImEiZCJlIoIigyKEIoYihyKVIpcipSLFIyAjISMpIyolyiZgJmMmZSZm9tn22vbb+OX45vjn+Oj46fjq+Ov47Pjt+O747/jw+PH48vjz+PT49fj2+Pf4+Pj5+Pr4+/j8+P34/v///+H/4f/g/9//3//e/97/3f/d/9z/3P/c/9z/3P/c/9z/3P/c/9z/3P/c/9z/3P/c/9z/3P/c/8H/wP+//6T/pP+k/3b/c/9z/0//MP6W/Jj8mPyY/OH8l/yX/Jf8l/yX/Jf8l/yX/Jf8l/yX/Jf8l/yW/Jb8lvyW/Jb8lvy7/I78jvyO/I78jvyO/I78jvyO/I78jvxp/I38jfyN/I38jfyN/I38jfyN/I38jfyN/I38hvyG/IT8hOA54DbgK+Ar4BvftN9Q30rfR98w3tbe1t7W3tbe1t623pzenN6c3pzenN5x3nDecN5v3m/eb95v3m7ea95q3mreZt5k3mLeYt5h3lveW95b3lveW95T3kzeRN5C3iveK94p3ineDd4N3g3eDN4M3f/d/t3x3dLdeN143XHdcdrS2j3aO9o62joJyAnICcgHvwe/B78Hvwe/B78Hvwe/B78Hvwe/B78Hvwe/B78Hvwe/B78Hvwe/B78Hvwe/B78Hvwe/AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAI+h20F8PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAP9M/toEQgPyAAAACAACAAAAAAAAAAEAAAPy/tsAAAQSAAAAAARCAAEAAAAAAAAAAAAAAAAAAAC/APoAAAD6AAABTQAAAfQAAANBAAADCgAAAU0AAAFNAAACJQAAAPoAAAD6AAABFgAAAfQAAAH0AAAB9AAAAfQAAAH0AAAB9AAAAfQAAAH0AAAB9AAAAfQAAAEWAAABFgAAAiUAAAIlAAACJQAAAbwAAAFNAAABTQAAAfQAAAHgAAAAyAAAAeAAAALJAAABkAAAAiUAAAJAAAACJQAAAiUAAAH0AAAC0gAAApsAAAJbAAACYwAAAmMAAALSAAAC5QAAAU0AAALSAAACrgAAA3kAAALSAAAChQAAAtIAAAMAAAACLAAAAlAAAAJjAAACsgAAAvsAAALSAAADGwAAAncAAAIlAAABmwAAAe4AAAG3AAAB7gAAAlsAAAIJAAABSQAAAiUAAAIlAAACCQAAAe0AAAIlAAACJQAAAiUAAAG3AAACWwAAAbcAAAJAAAACCQAAAiUAAAKuAAACrgAAAncAAAJsAAACWwAAAskAAAHMAAAD6AAAAPcAAAGbAAAApwAAAu4AAAKuAAAD2wAAAxsAAAMAAAADNwAAA9sAAAJbAAAD2wAAAlsAAAQSAAACkgAAA9sAAAJbAAAD2wAAAlsAAAQSAAACyQAAAe4AAAIlAAADNwAAAmQAAALJAAACyQAAAskAAAG3AAADNwAAAskAAAIlAAAB9AAAAiUAAALJAAACyQAAAwAAAAJbAAACWwAAAwAAAAMAAAABEgAAA18AAAIlAAACJQAAAiUAAAIlAAACJQAAAiUAAAIlAAACyQAAAskAAALJAAACyQAAAskAAAMAAAADAAAAApIAAAD6AAACrgAAAq4AAAFJAAABSQAAAe4AAALxAAAC8QAAAvEAAALxAAADFgAAAxYAAAN6AAAB9AAAAlsAAAPoAAADFgAAAxYAAAMSAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB7gAAAe4AAAHuAAAB7gAAAq4AAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHuAAAB7gAAAe4AAAMWAAAAAFAAAL8AAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABADAApgADAAEECQACAA4A1gADAAEECQADAEoA5AADAAEECQAEADABLgADAAEECQAFABoBXgADAAEECQAGACwBeAADAAEECQANAQIBpAADAAEECQAOAIACpgBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwB5AG0AYgBvAGwAUgBlAGcAdQBsAGEAcgBFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAeQBtAGIAbwBsADsAQwBoAHIAbwBtAFMAeQBtAGIAbwBsAE8AVABGAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAeQBtAGIAbwBsAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADAARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAHkAbQBiAG8AbABVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAAAAAAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="; +}), eg = {}; +ze(eg, { default: () => tg }); +var tg, BD = it(() => { "use strict"; - Lb = "T1RUTwAJAIAAAwAQQ0ZGILA37xgAAACcAABzSU9TLzJRS/iZAABz6AAAAGBjbWFwmWw2ygAAdEgAAAYEaGVhZGLrQ3sAAHpMAAAANmhoZWEHEQQhAAB6hAAAACRobXR4Tb8AAAAAeqgAAAMsbWF4cADLUAAAAH3UAAAABm5hbWVVsHCsAAB93AAAA6xwb3N0/58AMgAAgYgAAAAgAQAEAgABAQERQ2hyb21EaW5nYmF0c09URgABAQEl+BAA+OQB+OUC+OUD+OYEivs4+mn5zgUcBNwPHATjEaccbj8SAMwCAAEAAwAGAAoADgASABYAGgAeACIAJgAqAC4AMQA1ADkAPQBBAEUASQBMAFAAVABYAFwAYABkAGgAbABwAHQAdwB7AH8AgwCHAIsAjwCTAJcAmwCfAKIApgCqAK4AsgC2ALoAvgDCAMYAygDNANEA1QDZAN0A4QDlAOkA7QDxAPUA+AD8AQABBAEIAQwBEAEUARgBHAEgASMBJwErAS8BMwE3ATsBPwFDAUcBSwFOAVIBVgFaAV4BYgFmAWoBbgFyAXYBeQF9AYEBhQGJAY0BkQGVAZkBnQGhAaMBpgGqAa4BsgG2AboBvgHCAcUByAHLAc4B0QHUAdcB2gHdAd8B4gHlAegB6wHuAfEB9AH3AfoB/QH/AgICBQIIAgsCDgIRAhQCFwIaAh0CHwIiAiUCKAIrAi4CMQI0AjcCOgI9Aj8CQgJFAkgCSwJOAlECVAJXAloCXQJfAmICZQJoAmsCbgJxAnQCdwJ6An0CfwKCAoUCiAKLAo4CkQKUApcCmgKcAp8CogKlAqgCqwKuArECtAK3AroC5AL2AvxhMWExMGExMDBhMTAxYTEwMmExMDNhMTA0YTEwNWExMDZhMTA3YTEwOGExMDlhMTFhMTEwYTExMWExMTJhMTE3YTExOGExMTlhMTJhMTIwYTEyMWExMjJhMTIzYTEyNGExMjVhMTI2YTEyN2ExMjhhMTI5YTEzYTEzMGExMzFhMTMyYTEzM2ExMzRhMTM1YTEzNmExMzdhMTM4YTEzOWExNGExNDBhMTQxYTE0MmExNDNhMTQ0YTE0NWExNDZhMTQ3YTE0OGExNDlhMTVhMTUwYTE1MWExNTJhMTUzYTE1NGExNTVhMTU2YTE1N2ExNThhMTU5YTE2YTE2MGExNjFhMTYyYTE2M2ExNjRhMTY1YTE2NmExNjdhMTY4YTE2OWExN2ExNzBhMTcxYTE3MmExNzNhMTc0YTE3NWExNzZhMTc3YTE3OGExNzlhMThhMTgwYTE4MWExODJhMTgzYTE4NGExODVhMTg2YTE4N2ExODhhMTg5YTE5YTE5MGExOTFhMTkyYTE5M2ExOTRhMTk1YTE5NmExOTdhMTk4YTE5OWEyYTIwYTIwMGEyMDFhMjAyYTIwM2EyMDRhMjA1YTIwNmEyMWEyMmEyM2EyNGEyNWEyNmEyN2EyOGEyOWEzYTMwYTMxYTMyYTMzYTM0YTM1YTM2YTM3YTM4YTM5YTRhNDBhNDFhNDJhNDNhNDRhNDVhNDZhNDdhNDhhNDlhNWE1MGE1MWE1MmE1M2E1NGE1NWE1NmE1N2E1OGE1OWE2YTYwYTYxYTYyYTYzYTY0YTY1YTY2YTY3YTY4YTY5YTdhNzBhNzFhNzJhNzNhNzRhNzVhNzZhNzdhNzhhNzlhOGE4MWE4MmE4M2E4NGE4NWE4NmE4N2E4OGE4OWE5YTkwYTkxYTkyYTkzYTk0YTk1YTk2YTk3YTk4YTk5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hyb20gRGluZ2JhdHMgT1RGTm9ybWFsAAABAYfIAAEAAMsCAAEABAEDAY0B+gJKApUC4wMlA3EDyQTgBi8GnwfMCAkITgjOCV0LHQz4DicOdA7nD1UPpxA2EJAQ3hFxEiISqhQhFF4UyhVvFc4WXhbpFy0XohgcGKoaHxpFGpUa/hs0G5EcChw+HL8dNR2XHeMeAR5WHrwe+h9FH6MfzSBCIKkhFCFXIYchtyHMIhUiXyKPIxUjaSOPI7YkXyShJPclGCUrJUAlciWiJcQl9CY4Jqcm/Cc8J4InyCgiKGcoyik/KaUpyyooKk0qgSqwKvMrTiu8K+wsRyy1LQwtzS43Lnguvy+EL7gv3zAQMC0wrzE0MfIyzTMaM0YzfjO2Ngg28jhSOT87lzwaPII8sT0GPWA9sD3dQEtAdkCxQRtBgUG/QhtCokMCRa9F5UcMR7hH/EhVSZFK2kvuTLFOZ082UUlRb1TeVV5Y2VnHWrlbpVyxXblelWDvYUViDWI4YotimmLLYvVjCWMgYzZjjmP3ZBdkJGQyZEJkcmSMZKpkymUCZXRlrWXF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APoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARVBERgDAACAnvgM6/10AAAM6AKOAAAAAAAAAAAAAAAAAAAAgAAEAAAABAAMAAQAAAAwABAX4AAABegEAAAcAegAgIZIhlCGVJGAkYSRiJGMkZCRlJGYkZyRoJGkloCWyJbwlxiXPJdcmBSYOJhsmHiZgJmMmZSZmJwEnAicDJwQnBicHJwgnCScMJw0nDicPJxAnEScSJxMnFCcVJxYnFycYJxknGicbJxwnHSceJx8nICchJyInIyckJyUnJicnJyknKicrJywnLScuJy8nMCcxJzInMyc0JzUnNic3JzgnOSc6JzsnPCc9Jz4nPydAJ0EnQidDJ0QnRSdGJ0cnSCdJJ0onSydNJ08nUCdRJ1InVidYJ1knWidbJ1wnXSdeJ2EnYidjJ2QnZSdmJ2cndid3J3gneSd6J3snfCd9J34nfyeAJ4EngieDJ4QnhSeGJ4cniCeJJ4oniyeMJ40njiePJ5AnkSeSJ5MnlCeYJ5knmiebJ5wnnSeeJ58noCehJ6InoyekJ6UnpienJ6gnqSeqJ6snrCetJ64nryexJ7Insye0J7Untie3J7gnuSe6J7snvCe9J77//wAAACAhkiGUIZUkYCRhJGIkYyRkJGUkZiRnJGgkaSWgJbIlvCXGJc8l1yYFJg4mGyYeJmAmYyZlJmYnAScCJwMnBCcGJwcnCCcJJwwnDScOJw8nECcRJxInEycUJxUnFicXJxgnGScaJxsnHCcdJx4nHycgJyEnIicjJyQnJScmJycnKScqJysnLCctJy4nLycwJzEnMiczJzQnNSc2JzcnOCc5JzonOyc8Jz0nPic/J0AnQSdCJ0MnRCdFJ0YnRydIJ0knSidLJ00nTydQJ1EnUidWJ1gnWSdaJ1snXCddJ14nYSdiJ2MnZCdlJ2YnZyd2J3cneCd5J3oneyd8J30nfid/J4AngSeCJ4MnhCeFJ4YnhyeIJ4kniieLJ4wnjSeOJ48nkCeRJ5InkyeUJ5gnmSeaJ5snnCedJ54nnyegJ6EnoiejJ6QnpSemJ6cnqCepJ6onqyesJ60nrievJ7EnsiezJ7QntSe2J7cnuCe5J7onuye8J70nvv//AKresN6w3rDbtdu127Xbtdu127Xbtdu127XbtdsO2v/a9trt2t3a39p/2nvZ8tn2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AC4AIABPAHIAaQBnAGkAbgBhAGwAIABjAG8AZABlACAAYwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAARgBvAHgAaQB0ACAAUwBvAGYAdAB3AGEAcgBlACAASQBuAGMALgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABEAGkAbgBnAGIAYQB0AHMAUgBlAGcAdQBsAGEAcgBFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAEQAaQBuAGcAYgBhAHQAcwA7AEMAaAByAG8AbQBEAGkAbgBnAGIAYQB0AHMATwBUAEYARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAARABpAG4AZwBiAGEAdABzAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADAARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABEAGkAbgBnAGIAYQB0AHMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQADAAAAAAAA/5wAMgAAAAAAAAAAAAAAAAAAAAAAAAAA"; -}), Y = 0n, ZB = { EPDF_CheckPasswordPermissions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_DigestBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_FreeBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, EPDF_GetDecodedImageBytes: { params: [], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDF_GetMetaKeyCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDF_GetMetaKeyName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDF_GetMetaTrapped: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDF_GetPageBoxByIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_GetPageRotateByIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_GetPageTabOrderByIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDF_GetPageUserUnitByIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_HasMetaText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_InitThread: { params: [], result: null }, EPDF_IsEncrypted: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_IsOwnerUnlocked: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_LoadBaseDocument: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDF_LoadMemBaseDocument: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDF_LoadMemBaseDocument64: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDF_LoadPageNormalized: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDF_PNG_EncodeRGBA: { params: [{ ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDF_ReleaseBaseDocument: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, EPDF_RemoveEncryption: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_RenderAnnotBitmap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_RenderAnnotBitmapUnrotated: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_RenderPage_Continue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDF_RenderPageBitmapWithMatrix_Start: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDF_SaveAsCopyEx: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_SaveDocumentToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDF_SaveDocumentToOwnedBufferEx: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDF_SaveDocumentToOwnedBufferWithVersion: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDF_SetBaseDocumentSha256: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: null }, EPDF_SetDecodedImageBudget: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, EPDF_SetEncryption: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_SetMetaText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_SetMetaTrapped: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_SetRuntimeOwnerPermissions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_ShutdownThread: { params: [], result: null }, EPDF_UnlockOwnerPermissions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAction_CloseModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, EPDFAction_CreateGoTo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateGoToNamed: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateHide: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateJavaScript: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateLaunch: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateNamed: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateRemoteGoToByName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateRemoteGoToDest: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateResetForm: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateSubmitForm: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateURI: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_GetNextAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNextCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeDest: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_GetNodeFilePath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeHideFlag: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAction_GetNodeJavaScript: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeResetForm: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAction_GetNodeSubmitForm: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAction_GetNodeSubmitFormCharSet: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeSubmitFormURL: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeSubtype: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeTargetCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeTargetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeTargetObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAction_GetNodeType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeURI: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeURIIsMap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAction_GetRootNode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetWarningFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_IsComplete: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAction_LoadModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_NodeHasJavaScript: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAction_SetNext: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_AddMeasure: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAnnot_ClearBorderEffect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_ClearColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_ClearEmbedMetadata: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_ClearEmbedMetadataKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_ClearMKColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_ClearRectangleDifferences: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_ExportAppearance: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAnnot_GenerateAppearance: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GenerateAppearanceWithBlend: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GenerateFormFieldAP: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetActionModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAnnot_GetAPMatrix: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetAppearanceState: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetAppearanceStateCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetAppearanceStateName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetAppearanceTransform: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetAvailableAppearanceModes: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetBlendMode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetBooleanValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetBorderDashPattern: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetBorderDashPatternCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetBorderEffect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetBorderStyle: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetCalloutLine: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetCalloutLineCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetDefaultAppearance: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetDefaultAppearanceFontFace: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetDefaultAppearanceFontPostScriptName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetDrawingRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetEmbedMetadataBoolean: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetEmbedMetadataJSON: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetEmbedMetadataNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetEmbedMetadataRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetEmbedMetadataString: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetFileAttachmentForWrite: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAnnot_GetIntent: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetLineCaption: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetLineEndings: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetLineLeader: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetMeasure: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAnnot_GetMKColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetMKRotation: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetMKText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetMKTextPosition: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetOpacity: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetOverlayText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetOverlayTextRepeat: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetRectangleDifferences: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetReplyType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetRichContent: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetRichTextJSON: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetRotate: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetShapeCaption: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetStampDrawing: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetStructurePosition: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetTextAlignment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_HasAppearanceStream: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_HasEmbedMetadata: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_IsValid: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_RemoveAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_RemoveDest: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_RemoveKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_RemoveMeasure: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetAPMatrix: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetAppearanceFromPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetBooleanValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetBorderDashPattern: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetBorderEffect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetBorderStyle: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetCalloutLine: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetDefaultAppearance: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetDefaultAppearanceDocumentFont: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetDefaultAppearanceRegisteredFont: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetEmbedMetadataBoolean: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetEmbedMetadataJSON: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetEmbedMetadataNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetEmbedMetadataRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetEmbedMetadataString: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetEventAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetIntent: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetLine: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetLineCaption: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetLineEndings: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetLineLeader: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetLinkedAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetMKColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetMKRotation: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetMKText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetMKTextPosition: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetNoColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetNumberValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetOpacity: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetOverlayText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetOverlayTextRepeat: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetReplyType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetRichTextJSON: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetRichTextXHTML: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetRotate: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetShapeCaption: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetStampDrawing: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetStampOpacity: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetSubtype: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetTextAlignment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetVertices: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_UpdateAppearanceToRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAttachment_ExportCanonicalToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAttachment_ExportRawToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAttachment_ExtractFile: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAttachment_ExtractFileToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAttachment_GetDescription: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAttachment_GetIntegerValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAttachment_ImportRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAttachment_SetDescription: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAttachment_SetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAttachment_SetSubtype: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFCatalog_GetLanguage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFCatalog_GetMetadata: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFCatalog_SetMetadata: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDest_CreateRemoteView: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDest_CreateRemoteXYZ: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDest_CreateView: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDest_CreateViewByObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDest_CreateXYZ: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDest_CreateXYZByObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDest_GetPageObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDest_GetViewNullParams: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_CanonicalDrawing: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_ClearMissingCharacters: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, EPDFDoc_ClearPagePieceInfoEntry: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_ClearPagePieceInfoKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_ClearPieceInfoEntry: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_ClearPieceInfoKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_CompareRevisions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_CountMissingCharacters: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_DeletePageByObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_ExportDictCanonicalToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_ExportDictRawToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_ExportDrawing: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_ExportPagesFlattened: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_GetAdditionalActionModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_GetAttachmentIndexByKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetAttachmentKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetBaseBytesSize: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } } }, EPDFDoc_GetFontDisplayProgramCoverage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetFontDisplayProgramData: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetFontEmbeddingPolicy: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetFontProgramData: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetFontsFingerprint: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_GetImportFieldRoots: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetLastModified: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetLoadedBytesSize: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } } }, EPDFDoc_GetMissingCharacter: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetNamedJavaScriptActionModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_GetNamedPageAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetNamedPageCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetOpenActionDest: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_GetOpenActionModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_GetPageActionModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_GetPageLabelSectionAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPageLabelSectionCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPageLastModified: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPageObjectNumberByIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoBoolean: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_GetPagePieceInfoEntryAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoEntryCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoKeyAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoKeyCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoLastModified: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_GetPagePieceInfoString: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoStringArrayAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoStringArrayCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoValueType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoBoolean: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_GetPieceInfoEntryAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoEntryCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoKeyAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoKeyCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoLastModified: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_GetPieceInfoString: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoStringArrayAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoStringArrayCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoValueType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetRevision: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_GetRevisionCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetStampDrawings: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetStructureObjectNumbers: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_GetTypographicFeatures: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_HasPagePieceInfoEntry: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_HasPieceInfoEntry: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_ImportDictRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_ImportDrawing: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_ImportPages: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_LoadPageByObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_LoadPageByObjectNumberNormalized: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_OpenBaseOverlay: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_OpenBaseOverlayFromPath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_OpenRevision: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_ReadLoadedBytes: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_RemoveNamedPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_RemoveNamedPagesForPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_ResolveFonts: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_SetFontEmbeddingPolicy: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetNamedPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPageLabelSections: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPagePieceInfoBoolean: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPagePieceInfoName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPagePieceInfoNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPagePieceInfoString: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPagePieceInfoStringArray: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPageRotationByObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPieceInfoBoolean: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPieceInfoName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPieceInfoNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPieceInfoString: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPieceInfoStringArray: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetTypographicFeatures: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_StartLoadPageByObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDocument_ClearEmbedMetadata: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFont_AddFallbackFont: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFont_AuthorizeEditing: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFont_ClearFallbackFonts: { params: [], result: null }, EPDFFont_ClearRegisteredFonts: { params: [], result: null }, EPDFFont_GetCoverage: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_GetEmbeddingPermission: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_GetFallbackOrder: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_GetFamilyName: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_GetLastResortFont: { params: [], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_GetMetrics: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFont_GetPostScriptName: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_GetProgramData: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_GetProgramFormat: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_GetProgramHash: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFont_GetWeight: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_IsEditingAuthorized: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFont_IsInstanced: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFont_IsItalic: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFont_RegisterFont: { params: [{ ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_RegisterMemFont: { params: [{ ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_RegisterMemFont64: { params: [{ ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_SetLastResortFont: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFontFaces_Close: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, EPDFFontFaces_Count: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontFaces_CountPrograms: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontFaces_GetFamily: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontFaces_GetProgramDisplayHash: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFontFaces_GetProgramEmbedded: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontFaces_GetProgramEmbeddingPermission: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontFaces_GetProgramFormat: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontFaces_GetProgramHash: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFontFaces_GetProgramMetrics: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFontFaces_GetProgramObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontFaces_GetProgramPostScriptName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontFaces_GetWeight: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontFaces_IsItalic: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFontFaces_Load: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFFontFaces_ProgramMapsUnicode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFontResolution_Close: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, EPDFFontResolution_CountMissingCharacters: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontResolution_GetBaseFontName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontResolution_GetFallbacks: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontResolution_GetFamily: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontResolution_GetMissingCharacter: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontResolution_GetProgramDisplayHash: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFontResolution_GetProgramObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontResolution_GetRegisteredFont: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontResolution_GetSource: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontResolution_GetWeight: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontResolution_IsDegraded: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFontResolution_IsItalic: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_AttachWidget: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_ClearFieldEmbedMetadata: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_ClearFieldEmbedMetadataKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_CloseModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, EPDFForm_CountCalculationOrder: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_CountFieldDefaultValues: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_CountFieldOptions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_CountFields: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_CountFieldValues: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_CountFieldWidgets: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_CreateField: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_DeleteField: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_DetachWidget: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_ExportFDF: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_ExportFieldRawToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFForm_ExportXFDF: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetCalculationOrderFieldIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldActionModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFForm_GetFieldAlternateName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldDefaultValueAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldDefaultValueKind: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldEmbedMetadataBoolean: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_GetFieldEmbedMetadataJSON: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldEmbedMetadataNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_GetFieldEmbedMetadataString: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldFamily: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldIndexByObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldIndexForWidget: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldMappingName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldMaxLen: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldOptionLabel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldOptionValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldOrigin: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldPartialName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldTopIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldValueAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldValueKind: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldWidgetExportValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldWidgetObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldWidgetOnState: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldWidgetPageObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldWidgetRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_GetFormKind: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetNeedAppearances: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_HasFieldEmbedMetadata: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_ImportFieldRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_IsFieldOptionSelected: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_IsFieldWidgetChecked: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_LoadModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFForm_RedrawFieldWidgets: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_Repair: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetCalculationOrder: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldAlternateName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldAppearanceText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldDefaultValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldDisplay: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldEmbedMetadataBoolean: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldEmbedMetadataJSON: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldEmbedMetadataNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldEmbedMetadataString: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldEventAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldMappingName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldMaxLen: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldOptions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldSelectedIndices: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldWidgetsChecked: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFImageObj_SetJpeg: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFImageObj_SetPng: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_AbortTransaction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_BeginTransaction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_CommitTransaction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_GetBaseDocument: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFLayer_GetBaseSha256: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_GetBirthName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_GetBirthObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFLayer_GetLastObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFLayer_GetPromotedObjectCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFLayer_IsInTransaction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_IsObjectPromoted: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_IsPagePromoted: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_OpenLayer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFLayer_OpenLayerArtifact: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFLayer_OpenLayerArtifactFromPath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFLayer_RaiseLastObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_SaveDelta: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_SaveDeltaEx: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_SaveDeltaToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFLayer_SaveDeltaToOwnedBufferEx: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFLayer_SaveLayerArtifact: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_SaveLayerArtifactEx: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_SaveLayerArtifactToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFLayer_SaveLayerArtifactToOwnedBufferEx: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFMeasure_AddFormat: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFMeasure_CountFormats: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFMeasure_GetCYX: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFMeasure_GetFormat: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFMeasure_GetOrigin: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFMeasure_GetRatio: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFMeasure_GetSubtype: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFMeasure_RemoveFormats: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFMeasure_SetCYX: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFMeasure_SetOrigin: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFMeasure_SetRatio: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNamedDest_Remove: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNamedDest_SetDest: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_GetConversion: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_GetFixedDenominator: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_GetFraction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_GetLabelPosition: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_GetPrecision: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_GetText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFNumberFormat_GetUnit: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFNumberFormat_SetConversion: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_SetFixedDenominator: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_SetFraction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_SetLabelPosition: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_SetPrecision: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_SetText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_SetUnit: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFObjectDiff_Close: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, EPDFObjectDiff_GetCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFObjectDiff_GetEntry: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFObjectDiff_GetReadStatus: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFObjectDiff_GetReferrer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFObjectDiff_GetReferrerCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFObjectDiff_GetRevisionHealth: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFObjectDiff_GetValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFOutline_CreateItem: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFOutline_DeleteItem: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFOutline_ExportItemRawToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFOutline_GetItem: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFOutline_GetObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFOutline_ImportItemRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFOutline_MoveItem: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFOutline_SetAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFOutline_SetColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFOutline_SetOpen: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFOutline_SetStyle: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFOutline_SetTitle: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_AddViewport: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_ApplyRedactions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_ContinueLoad: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_CountViewports: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_CreateAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_CreateAnnotRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_ExportAnnotationsAsDocument: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_ExportAnnotsRawToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_ExportRawToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_FindViewport: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_Flatten: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_FlattenAnnotations: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_GetAnnotByName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_GetAnnotByObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_GetAnnotCountRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_GetAnnotIndexByNameRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_GetAnnotIndexByObjectNumberRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_GetAnnotRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_GetObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_GetParsedSize: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_GetViewport: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_ImportAnnotsRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_ImportRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_InsertBlankRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_IsContentCurrent: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_IsValid: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_MoveAnnots: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_MoveAnnotsRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_PromoteInlineAnnotsRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_RemoveAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_RemoveAnnotByName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_RemoveAnnotByObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_RemoveAnnotRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_RemoveViewport: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_ResetRenderCache: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_CloseModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, EPDFSig_Count: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_DigestByteRange: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_DigestFileRange: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_GetByteRange: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_GetContents: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetCoverage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetDocMDPPermission: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetFieldMDPAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetFieldName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetFieldNameAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetFieldNameCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetFieldObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetIndexByFieldObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetKind: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetLockAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetLockPermission: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetRevisionIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetSeedValueFilter: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetSeedValueListAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetSeedValueListCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetSeedValueMDP: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetSeedValuePresentFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetSeedValueRequiredFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetSeedValueVersion: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetString: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetValueObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetWidgetObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetWidgetPageObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_HasSeedValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_IsCatalogCertification: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_IsRevisionChainValid: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_IsSigned: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_LoadModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFSig_Prepare: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_SaveCandidate: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_SaveCandidateToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFSig_Seal: { params: [{ ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_SealSpan: { params: [{ ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_SetFieldLock: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_WriteContents: { params: [{ ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFText_GetCharGeometry: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFText_GetCharToTextMap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFText_GetTextFull: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFText_RedactInQuads: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFText_RedactInRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFViewport_AddMeasure: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFViewport_GetBBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFViewport_GetMeasure: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFViewport_GetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFViewport_RemoveMeasure: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFViewport_SetBBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFViewport_SetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_CanRedo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_CanUndo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_DoDocumentAAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FORM_DoDocumentJSAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FORM_DoDocumentOpenAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FORM_DoPageAAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FORM_ForceToKillFocus: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_GetFocusedAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_GetFocusedText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FORM_GetSelectedText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FORM_GetTextDirection: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FORM_IsIndexSelected: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnAfterLoadPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FORM_OnBeforeClosePage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FORM_OnChar: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnFocus: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnKeyDown: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnKeyUp: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnLButtonDoubleClick: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnLButtonDown: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnLButtonUp: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnMouseMove: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnMouseWheel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnRButtonDown: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnRButtonUp: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_Redo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_ReplaceAndKeepSelection: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FORM_ReplaceSelection: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FORM_SelectAllText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_SetFocusedAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_SetIndexSelected: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_SetTextDirection: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_Undo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_AddInstalledFont: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FPDF_CloseDocument: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_ClosePage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_CloseXObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_CopyViewerPreferences: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_CountNamedDests: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_CreateClipPath: { params: [{ ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_CreateNewDocument: { params: [], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_DestroyClipPath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_DestroyLibrary: { params: [], result: null }, FPDF_DeviceToPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_DocumentHasValidCrossReferenceTable: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_FFLDraw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FPDF_FreeDefaultSystemFontInfo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_GetDefaultSystemFontInfo: { params: [], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_GetDefaultTTFMap: { params: [], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_GetDefaultTTFMapCount: { params: [], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetDefaultTTFMapEntry: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_GetDocPermissions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetDocUserPermissions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetFileIdentifier: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetFileVersion: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_GetFormType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetLastError: { params: [], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetMetaText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetNamedDest: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_GetNamedDestByName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_GetPageAAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_GetPageBoundingBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_GetPageCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetPageHeight: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } } }, FPDF_GetPageHeightF: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } } }, FPDF_GetPageLabel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetPageSizeByIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetPageSizeByIndexF: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_GetPageWidth: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } } }, FPDF_GetPageWidthF: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } } }, FPDF_GetSecurityHandlerRevision: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetSignatureCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetSignatureObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_GetTrailerEnds: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetXFAPacketContent: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_GetXFAPacketCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetXFAPacketName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_ImportNPagesToOne: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_ImportPages: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_ImportPagesByIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_InitLibrary: { params: [], result: null }, FPDF_InitLibraryWithConfig: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_LoadCustomDocument: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_LoadDocument: { params: [{ ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_LoadMemDocument: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_LoadMemDocument64: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_LoadPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_LoadXFA: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_MovePages: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_NewFormObjectFromXObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_NewXObjectFromPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_PageToDevice: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_RemoveFormFieldHighlight: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_RenderPage_Close: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_RenderPage_Continue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_RenderPageBitmap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FPDF_RenderPageBitmap_Start: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_RenderPageBitmapWithColorScheme_Start: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_RenderPageBitmapWithMatrix: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FPDF_SaveAsCopy: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_SaveWithVersion: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_SetFormFieldHighlightAlpha: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FPDF_SetFormFieldHighlightColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FPDF_SetSandBoxPolicy: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: null }, FPDF_SetSystemFontInfo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_StructElement_Attr_CountChildren: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_Attr_GetBlobValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_StructElement_Attr_GetBooleanValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_StructElement_Attr_GetChildAtIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_StructElement_Attr_GetCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_Attr_GetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_StructElement_Attr_GetNumberValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_StructElement_Attr_GetStringValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_StructElement_Attr_GetType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_Attr_GetValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_StructElement_CountChildren: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetActualText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetAltText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetAttributeAtIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_StructElement_GetAttributeCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetChildAtIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_StructElement_GetChildMarkedContentID: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetExpansion: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetID: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetLang: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetMarkedContentID: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetMarkedContentIdAtIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetMarkedContentIdCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetObjType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetParent: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_StructElement_GetRawType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetStringAttribute: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetTitle: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructTree_Close: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_StructTree_CountChildren: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructTree_GetChildAtIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_StructTree_GetForPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_VIEWERREF_GetDuplex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_VIEWERREF_GetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_VIEWERREF_GetNumCopies: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_VIEWERREF_GetPrintPageRange: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_VIEWERREF_GetPrintPageRangeCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_VIEWERREF_GetPrintPageRangeElement: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_VIEWERREF_GetPrintScaling: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAction_GetDest: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFAction_GetFilePath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAction_GetType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAction_GetURIPath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_AddFileAttachment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFAnnot_AddInkStroke: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_AppendAttachmentPoints: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_AppendObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_CountAttachmentPoints: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetAP: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetAttachmentPoints: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_GetBorder: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_GetColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_GetFileAttachment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFAnnot_GetFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFocusableSubtypes: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_GetFocusableSubtypesCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFontColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_GetFontSize: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_GetFormAdditionalActionJavaScript: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFormControlCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFormControlIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFormFieldAlternateName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFormFieldAtPoint: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFAnnot_GetFormFieldExportValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFormFieldFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFormFieldName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFormFieldType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFormFieldValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetInkListCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetInkListPath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetLine: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_GetLink: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFAnnot_GetLinkedAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFAnnot_GetNumberValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_GetObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFAnnot_GetObjectCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetOptionCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetOptionLabel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_GetStringValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetSubtype: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetValueType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetVertices: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_HasAttachmentPoints: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_HasKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_IsChecked: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_IsObjectSupportedSubtype: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_IsOptionSelected: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_IsSupportedSubtype: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_RemoveInkList: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_RemoveObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetAP: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetAttachmentPoints: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetBorder: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetFocusableSubtypes: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetFontColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetFormFieldFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetStringValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetURI: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_UpdateObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAttachment_GetAFRelationship: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAttachment_GetDescription: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAttachment_GetFile: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAttachment_GetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAttachment_GetStringValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAttachment_GetSubtype: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAttachment_GetValueType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAttachment_HasKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAttachment_SetDescription: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAttachment_SetFile: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAttachment_SetStringValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAvail_Create: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFAvail_Destroy: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFAvail_GetDocument: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFAvail_GetFirstPageNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAvail_IsDocAvail: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAvail_IsFormAvail: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAvail_IsLinearized: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAvail_IsPageAvail: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFBitmap_Create: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFBitmap_CreateEx: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFBitmap_Destroy: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFBitmap_FillRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFBitmap_GetBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFBitmap_GetFormat: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFBitmap_GetHeight: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFBitmap_GetStride: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFBitmap_GetWidth: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFBookmark_Find: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFBookmark_GetAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFBookmark_GetColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFBookmark_GetCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFBookmark_GetDest: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFBookmark_GetFirstChild: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFBookmark_GetNextSibling: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFBookmark_GetStyle: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFBookmark_GetTitle: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFCatalog_GetLanguage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFCatalog_IsTagged: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFCatalog_SetLanguage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFClipPath_CountPaths: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFClipPath_CountPathSegments: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFClipPath_GetPathSegment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFDest_GetDestPageIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFDest_GetLocationInPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFDest_GetView: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFDoc_AddAttachment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFDoc_CloseJavaScriptAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFDoc_DeleteAttachment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFDOC_ExitFormFillEnvironment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFDoc_GetAttachment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFDoc_GetAttachmentCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFDoc_GetJavaScriptAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFDoc_GetJavaScriptActionCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFDoc_GetPageMode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFDOC_InitFormFillEnvironment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFFont_Close: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFFont_GetAscent: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFFont_GetBaseFontName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFFont_GetDescent: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFFont_GetFamilyName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFFont_GetFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFFont_GetFontData: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFFont_GetGlyphPath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFFont_GetGlyphWidth: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFFont_GetIsEmbedded: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFFont_GetItalicAngle: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFFont_GetWeight: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFFormObj_CountObjects: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFFormObj_GetObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFFormObj_RemoveObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFGlyphPath_CountGlyphSegments: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFGlyphPath_GetGlyphPathSegment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFImageObj_GetBitmap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFImageObj_GetIccProfileDataDecoded: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFImageObj_GetImageDataDecoded: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFImageObj_GetImageDataRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFImageObj_GetImageFilter: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFImageObj_GetImageFilterCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFImageObj_GetImageMetadata: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFImageObj_GetImagePixelSize: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFImageObj_GetRenderedBitmap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFImageObj_LoadJpegFile: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFImageObj_LoadJpegFileInline: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFImageObj_SetBitmap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFImageObj_SetMatrix: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFJavaScriptAction_GetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFJavaScriptAction_GetScript: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFLink_CloseWebLinks: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFLink_CountQuadPoints: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFLink_CountRects: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFLink_CountWebLinks: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFLink_Enumerate: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFLink_GetAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFLink_GetAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFLink_GetAnnotRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFLink_GetDest: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFLink_GetLinkAtPoint: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFLink_GetLinkZOrderAtPoint: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFLink_GetQuadPoints: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFLink_GetRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFLink_GetTextRange: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFLink_GetURL: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFLink_LoadWebLinks: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPage_CloseAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFPage_CountObjects: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPage_CreateAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPage_Delete: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FPDFPage_Flatten: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPage_FormFieldZOrderAtPoint: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPage_GenerateContent: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_GetAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPage_GetAnnotCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPage_GetAnnotIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPage_GetArtBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_GetBleedBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_GetCropBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_GetDecodedThumbnailData: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPage_GetMediaBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_GetObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPage_GetRawThumbnailData: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPage_GetRotation: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPage_GetThumbnailAsBitmap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPage_GetTrimBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_HasFormFieldAtPoint: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPage_HasTransparency: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_InsertClipPath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFPage_InsertObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_InsertObjectAtIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_New: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPage_RemoveAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_RemoveObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_SetArtBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: null }, FPDFPage_SetBleedBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: null }, FPDFPage_SetCropBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: null }, FPDFPage_SetMediaBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: null }, FPDFPage_SetRotation: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FPDFPage_SetTrimBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: null }, FPDFPage_TransformAnnots: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: null }, FPDFPage_TransFormWithClip: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_AddExistingMark: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_AddMark: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_CountMarks: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPageObj_CreateNewPath: { params: [{ ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_CreateNewRect: { params: [{ ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_CreateTextObj: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_Destroy: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFPageObj_GetBounds: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_GetClipPath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_GetDashArray: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_GetDashCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPageObj_GetDashPhase: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_GetFillColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_GetIsActive: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_GetLineCap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPageObj_GetLineJoin: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPageObj_GetMark: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_GetMarkedContentID: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPageObj_GetMatrix: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_GetRenderedFillPattern: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_GetRenderedStrokePattern: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_GetRotatedBounds: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_GetStrokeColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_GetStrokeWidth: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_GetType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPageObj_HasTransparency: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_NewImageObj: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_NewTextObj: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_RemoveMark: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_SetBlendMode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: null }, FPDFPageObj_SetDashArray: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_SetDashPhase: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_SetFillColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_SetIsActive: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_SetLineCap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_SetLineJoin: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_SetMatrix: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_SetStrokeColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_SetStrokeWidth: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_Transform: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: null }, FPDFPageObj_TransformClipPath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: null }, FPDFPageObj_TransformF: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_CountParams: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPageObjMark_GetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_GetParamBlobValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_GetParamFloatValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_GetParamIntValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_GetParamKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_GetParamStringValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_GetParamValueType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPageObjMark_RemoveParam: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_SetBlobParam: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_SetFloatParam: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_SetIntParam: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_SetStringParam: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPath_BezierTo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPath_Close: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPath_CountSegments: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPath_GetBezierControlPoints: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPath_GetDrawMode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPath_GetPathSegment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPath_LineTo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPath_MoveTo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPath_SetDrawMode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPathSegment_GetClose: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPathSegment_GetPoint: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPathSegment_GetType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFSignatureObj_GetByteRange: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFSignatureObj_GetContents: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFSignatureObj_GetDocMDPPermission: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFSignatureObj_GetReason: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFSignatureObj_GetSubFilter: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFSignatureObj_GetTime: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_ClosePage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFText_CountChars: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_CountRects: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_FindClose: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFText_FindNext: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_FindPrev: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_FindStart: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFText_GetBoundedText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_GetCharAngle: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } } }, FPDFText_GetCharBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_GetCharIndexAtPos: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_GetCharIndexFromTextIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_GetCharOrigin: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_GetFillColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_GetFontInfo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_GetFontSize: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } } }, FPDFText_GetFontWeight: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_GetLooseCharBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_GetMatrix: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_GetRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_GetSchCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_GetSchResultIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_GetStrokeColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_GetText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_GetTextIndexFromCharIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_GetTextObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFText_GetUnicode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_HasUnicodeMapError: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_IsGenerated: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_IsHyphen: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_LoadCidType2Font: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFText_LoadFont: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFText_LoadPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFText_LoadStandardFont: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFText_SetCharcodes: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_SetPositions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_SetText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFTextObj_GetFont: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFTextObj_GetFontSize: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFTextObj_GetRenderedBitmap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFTextObj_GetText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFTextObj_GetTextRenderMode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFTextObj_SetFontSize: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFTextObj_SetTextRenderMode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } } }; -function Lr(e) { + tg = "T1RUTwAJAIAAAwAQQ0ZGILA37xgAAACcAABzSU9TLzJRS/iZAABz6AAAAGBjbWFwmWw2ygAAdEgAAAYEaGVhZGLrQ3sAAHpMAAAANmhoZWEHEQQhAAB6hAAAACRobXR4Tb8AAAAAeqgAAAMsbWF4cADLUAAAAH3UAAAABm5hbWVVsHCsAAB93AAAA6xwb3N0/58AMgAAgYgAAAAgAQAEAgABAQERQ2hyb21EaW5nYmF0c09URgABAQEl+BAA+OQB+OUC+OUD+OYEivs4+mn5zgUcBNwPHATjEaccbj8SAMwCAAEAAwAGAAoADgASABYAGgAeACIAJgAqAC4AMQA1ADkAPQBBAEUASQBMAFAAVABYAFwAYABkAGgAbABwAHQAdwB7AH8AgwCHAIsAjwCTAJcAmwCfAKIApgCqAK4AsgC2ALoAvgDCAMYAygDNANEA1QDZAN0A4QDlAOkA7QDxAPUA+AD8AQABBAEIAQwBEAEUARgBHAEgASMBJwErAS8BMwE3ATsBPwFDAUcBSwFOAVIBVgFaAV4BYgFmAWoBbgFyAXYBeQF9AYEBhQGJAY0BkQGVAZkBnQGhAaMBpgGqAa4BsgG2AboBvgHCAcUByAHLAc4B0QHUAdcB2gHdAd8B4gHlAegB6wHuAfEB9AH3AfoB/QH/AgICBQIIAgsCDgIRAhQCFwIaAh0CHwIiAiUCKAIrAi4CMQI0AjcCOgI9Aj8CQgJFAkgCSwJOAlECVAJXAloCXQJfAmICZQJoAmsCbgJxAnQCdwJ6An0CfwKCAoUCiAKLAo4CkQKUApcCmgKcAp8CogKlAqgCqwKuArECtAK3AroC5AL2AvxhMWExMGExMDBhMTAxYTEwMmExMDNhMTA0YTEwNWExMDZhMTA3YTEwOGExMDlhMTFhMTEwYTExMWExMTJhMTE3YTExOGExMTlhMTJhMTIwYTEyMWExMjJhMTIzYTEyNGExMjVhMTI2YTEyN2ExMjhhMTI5YTEzYTEzMGExMzFhMTMyYTEzM2ExMzRhMTM1YTEzNmExMzdhMTM4YTEzOWExNGExNDBhMTQxYTE0MmExNDNhMTQ0YTE0NWExNDZhMTQ3YTE0OGExNDlhMTVhMTUwYTE1MWExNTJhMTUzYTE1NGExNTVhMTU2YTE1N2ExNThhMTU5YTE2YTE2MGExNjFhMTYyYTE2M2ExNjRhMTY1YTE2NmExNjdhMTY4YTE2OWExN2ExNzBhMTcxYTE3MmExNzNhMTc0YTE3NWExNzZhMTc3YTE3OGExNzlhMThhMTgwYTE4MWExODJhMTgzYTE4NGExODVhMTg2YTE4N2ExODhhMTg5YTE5YTE5MGExOTFhMTkyYTE5M2ExOTRhMTk1YTE5NmExOTdhMTk4YTE5OWEyYTIwYTIwMGEyMDFhMjAyYTIwM2EyMDRhMjA1YTIwNmEyMWEyMmEyM2EyNGEyNWEyNmEyN2EyOGEyOWEzYTMwYTMxYTMyYTMzYTM0YTM1YTM2YTM3YTM4YTM5YTRhNDBhNDFhNDJhNDNhNDRhNDVhNDZhNDdhNDhhNDlhNWE1MGE1MWE1MmE1M2E1NGE1NWE1NmE1N2E1OGE1OWE2YTYwYTYxYTYyYTYzYTY0YTY1YTY2YTY3YTY4YTY5YTdhNzBhNzFhNzJhNzNhNzRhNzVhNzZhNzdhNzhhNzlhOGE4MWE4MmE4M2E4NGE4NWE4NmE4N2E4OGE4OWE5YTkwYTkxYTkyYTkzYTk0YTk1YTk2YTk3YTk4YTk5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hyb20gRGluZ2JhdHMgT1RGTm9ybWFsAAABAYfIAAEAAMsCAAEABAEDAY0B+gJKApUC4wMlA3EDyQTgBi8GnwfMCAkITgjOCV0LHQz4DicOdA7nD1UPpxA2EJAQ3hFxEiISqhQhFF4UyhVvFc4WXhbpFy0XohgcGKoaHxpFGpUa/hs0G5EcChw+HL8dNR2XHeMeAR5WHrwe+h9FH6MfzSBCIKkhFCFXIYchtyHMIhUiXyKPIxUjaSOPI7YkXyShJPclGCUrJUAlciWiJcQl9CY4Jqcm/Cc8J4InyCgiKGcoyik/KaUpyyooKk0qgSqwKvMrTiu8K+wsRyy1LQwtzS43Lnguvy+EL7gv3zAQMC0wrzE0MfIyzTMaM0YzfjO2Ngg28jhSOT87lzwaPII8sT0GPWA9sD3dQEtAdkCxQRtBgUG/QhtCokMCRa9F5UcMR7hH/EhVSZFK2kvuTLFOZ082UUlRb1TeVV5Y2VnHWrlbpVyxXblelWDvYUViDWI4YotimmLLYvVjCWMgYzZjjmP3ZBdkJGQyZEJkcmSMZKpkymUCZXRlrWXF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APoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARVBERgDAACAnvgM6/10AAAM6AKOAAAAAAAAAAAAAAAAAAAAgAAEAAAABAAMAAQAAAAwABAX4AAABegEAAAcAegAgIZIhlCGVJGAkYSRiJGMkZCRlJGYkZyRoJGkloCWyJbwlxiXPJdcmBSYOJhsmHiZgJmMmZSZmJwEnAicDJwQnBicHJwgnCScMJw0nDicPJxAnEScSJxMnFCcVJxYnFycYJxknGicbJxwnHSceJx8nICchJyInIyckJyUnJicnJyknKicrJywnLScuJy8nMCcxJzInMyc0JzUnNic3JzgnOSc6JzsnPCc9Jz4nPydAJ0EnQidDJ0QnRSdGJ0cnSCdJJ0onSydNJ08nUCdRJ1InVidYJ1knWidbJ1wnXSdeJ2EnYidjJ2QnZSdmJ2cndid3J3gneSd6J3snfCd9J34nfyeAJ4EngieDJ4QnhSeGJ4cniCeJJ4oniyeMJ40njiePJ5AnkSeSJ5MnlCeYJ5knmiebJ5wnnSeeJ58noCehJ6InoyekJ6UnpienJ6gnqSeqJ6snrCetJ64nryexJ7Insye0J7Untie3J7gnuSe6J7snvCe9J77//wAAACAhkiGUIZUkYCRhJGIkYyRkJGUkZiRnJGgkaSWgJbIlvCXGJc8l1yYFJg4mGyYeJmAmYyZlJmYnAScCJwMnBCcGJwcnCCcJJwwnDScOJw8nECcRJxInEycUJxUnFicXJxgnGScaJxsnHCcdJx4nHycgJyEnIicjJyQnJScmJycnKScqJysnLCctJy4nLycwJzEnMiczJzQnNSc2JzcnOCc5JzonOyc8Jz0nPic/J0AnQSdCJ0MnRCdFJ0YnRydIJ0knSidLJ00nTydQJ1EnUidWJ1gnWSdaJ1snXCddJ14nYSdiJ2MnZCdlJ2YnZyd2J3cneCd5J3oneyd8J30nfid/J4AngSeCJ4MnhCeFJ4YnhyeIJ4kniieLJ4wnjSeOJ48nkCeRJ5InkyeUJ5gnmSeaJ5snnCedJ54nnyegJ6EnoiejJ6QnpSemJ6cnqCepJ6onqyesJ60nrievJ7EnsiezJ7QntSe2J7cnuCe5J7onuye8J70nvv//AKresN6w3rDbtdu127Xbtdu127Xbtdu127XbtdsO2v/a9trt2t3a39p/2nvZ8tn2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AC4AIABPAHIAaQBnAGkAbgBhAGwAIABjAG8AZABlACAAYwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAARgBvAHgAaQB0ACAAUwBvAGYAdAB3AGEAcgBlACAASQBuAGMALgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABEAGkAbgBnAGIAYQB0AHMAUgBlAGcAdQBsAGEAcgBFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAEQAaQBuAGcAYgBhAHQAcwA7AEMAaAByAG8AbQBEAGkAbgBnAGIAYQB0AHMATwBUAEYARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAARABpAG4AZwBiAGEAdABzAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADAARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABEAGkAbgBnAGIAYQB0AHMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQADAAAAAAAA/5wAMgAAAAAAAAAAAAAAAAAAAAAAAAAA"; +}), X = 0n, DD = { EPDF_CheckPasswordPermissions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_DigestBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_FreeBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, EPDF_GetDecodedImageBytes: { params: [], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDF_GetMetaKeyCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDF_GetMetaKeyName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDF_GetMetaTrapped: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDF_GetPageBoxByIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_GetPageRotateByIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_GetPageTabOrderByIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDF_GetPageUserUnitByIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_HasMetaText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_InitThread: { params: [], result: null }, EPDF_IsEncrypted: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_IsOwnerUnlocked: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_LoadBaseDocument: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDF_LoadMemBaseDocument: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDF_LoadMemBaseDocument64: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDF_LoadPageNormalized: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDF_PNG_EncodeRGBA: { params: [{ ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDF_ReleaseBaseDocument: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, EPDF_RemoveEncryption: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_RenderAnnotBitmap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_RenderAnnotBitmapUnrotated: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_RenderPage_Continue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDF_RenderPageBitmapWithMatrix_Start: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDF_SaveAsCopyEx: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_SaveDocumentToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDF_SaveDocumentToOwnedBufferEx: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDF_SaveDocumentToOwnedBufferWithVersion: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDF_SetBaseDocumentSha256: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: null }, EPDF_SetDecodedImageBudget: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, EPDF_SetEncryption: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_SetMetaText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_SetMetaTrapped: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_SetRuntimeOwnerPermissions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDF_ShutdownThread: { params: [], result: null }, EPDF_UnlockOwnerPermissions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAction_CloseModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, EPDFAction_CreateGoTo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateGoToNamed: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateHide: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateJavaScript: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateLaunch: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateNamed: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateRemoteGoToByName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateRemoteGoToDest: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateResetForm: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateSubmitForm: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_CreateURI: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_GetNextAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNextCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeDest: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_GetNodeFilePath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeHideFlag: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAction_GetNodeJavaScript: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeResetForm: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAction_GetNodeSubmitForm: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAction_GetNodeSubmitFormCharSet: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeSubmitFormURL: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeSubtype: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeTargetCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeTargetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeTargetObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAction_GetNodeType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeURI: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetNodeURIIsMap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAction_GetRootNode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_GetWarningFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAction_IsComplete: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAction_LoadModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAction_NodeHasJavaScript: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAction_SetNext: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_AddMeasure: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAnnot_ClearBorderEffect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_ClearColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_ClearEmbedMetadata: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_ClearEmbedMetadataKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_ClearMKColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_ClearRectangleDifferences: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_ExportAppearance: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAnnot_GenerateAppearance: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GenerateAppearanceWithBlend: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GenerateFormFieldAP: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetActionModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAnnot_GetAPMatrix: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetAppearanceState: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetAppearanceStateCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetAppearanceStateName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetAppearanceTransform: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetAvailableAppearanceModes: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetBlendMode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetBooleanValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetBorderDashPattern: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetBorderDashPatternCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetBorderEffect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetBorderStyle: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetCalloutLine: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetCalloutLineCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetDefaultAppearance: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetDefaultAppearanceFontFace: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetDefaultAppearanceFontPostScriptName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetDrawingRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetEmbedMetadataBoolean: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetEmbedMetadataJSON: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetEmbedMetadataNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetEmbedMetadataRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetEmbedMetadataString: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetFileAttachmentForWrite: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAnnot_GetIntent: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetLineCaption: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetLineEndings: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetLineLeader: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetMeasure: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAnnot_GetMKColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetMKRotation: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetMKText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetMKTextPosition: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetOpacity: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetOverlayText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetOverlayTextRepeat: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetRectangleDifferences: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetReplyType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetRichContent: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetRichTextJSON: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetRotate: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetShapeCaption: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_GetStampDrawing: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetStructurePosition: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_GetTextAlignment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAnnot_HasAppearanceStream: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_HasEmbedMetadata: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_IsValid: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_RemoveAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_RemoveDest: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_RemoveKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_RemoveMeasure: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetAPMatrix: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetAppearanceFromPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetBooleanValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetBorderDashPattern: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetBorderEffect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetBorderStyle: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetCalloutLine: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetDefaultAppearance: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetDefaultAppearanceDocumentFont: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetDefaultAppearanceRegisteredFont: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetEmbedMetadataBoolean: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetEmbedMetadataJSON: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetEmbedMetadataNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetEmbedMetadataRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetEmbedMetadataString: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetEventAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetIntent: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetLine: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetLineCaption: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetLineEndings: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetLineLeader: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetLinkedAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetMKColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetMKRotation: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetMKText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetMKTextPosition: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetNoColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetNumberValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetOpacity: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetOverlayText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetOverlayTextRepeat: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetReplyType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetRichTextJSON: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetRichTextXHTML: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetRotate: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetShapeCaption: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetStampDrawing: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetStampOpacity: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetSubtype: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetTextAlignment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_SetVertices: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAnnot_UpdateAppearanceToRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAttachment_ExportCanonicalToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAttachment_ExportRawToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFAttachment_ExtractFile: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAttachment_ExtractFileToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAttachment_GetDescription: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFAttachment_GetIntegerValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAttachment_ImportRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAttachment_SetDescription: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAttachment_SetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFAttachment_SetSubtype: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFCatalog_GetLanguage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFCatalog_GetMetadata: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFCatalog_SetMetadata: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDest_CreateRemoteView: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDest_CreateRemoteXYZ: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDest_CreateView: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDest_CreateViewByObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDest_CreateXYZ: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDest_CreateXYZByObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDest_GetPageObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDest_GetViewNullParams: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_CanonicalDrawing: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_ClearMissingCharacters: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, EPDFDoc_ClearPagePieceInfoEntry: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_ClearPagePieceInfoKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_ClearPieceInfoEntry: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_ClearPieceInfoKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_CompareRevisions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_CountMissingCharacters: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_DeletePageByObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_ExportDictCanonicalToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_ExportDictRawToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_ExportDrawing: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_ExportPagesFlattened: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_GetAdditionalActionModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_GetAttachmentIndexByKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetAttachmentKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetBaseBytesSize: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } } }, EPDFDoc_GetFontDisplayProgramCoverage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetFontDisplayProgramData: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetFontEmbeddingPolicy: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetFontProgramData: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetFontsFingerprint: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_GetImportFieldRoots: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetLastModified: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetLoadedBytesSize: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } } }, EPDFDoc_GetMissingCharacter: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetNamedJavaScriptActionModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_GetNamedPageAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetNamedPageCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetOpenActionDest: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_GetOpenActionModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_GetPageActionModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_GetPageLabelSectionAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPageLabelSectionCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPageLastModified: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPageObjectNumberByIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoBoolean: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_GetPagePieceInfoEntryAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoEntryCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoKeyAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoKeyCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoLastModified: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_GetPagePieceInfoString: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoStringArrayAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoStringArrayCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPagePieceInfoValueType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoBoolean: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_GetPieceInfoEntryAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoEntryCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoKeyAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoKeyCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoLastModified: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_GetPieceInfoString: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoStringArrayAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoStringArrayCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetPieceInfoValueType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetRevision: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_GetRevisionCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetStampDrawings: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_GetStructureObjectNumbers: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_GetTypographicFeatures: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_HasPagePieceInfoEntry: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_HasPieceInfoEntry: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_ImportDictRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_ImportDrawing: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_ImportPages: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_LoadPageByObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_LoadPageByObjectNumberNormalized: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_OpenBaseOverlay: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_OpenBaseOverlayFromPath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_OpenRevision: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_ReadLoadedBytes: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_RemoveNamedPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_RemoveNamedPagesForPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFDoc_ResolveFonts: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDoc_SetFontEmbeddingPolicy: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetNamedPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPageLabelSections: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPagePieceInfoBoolean: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPagePieceInfoName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPagePieceInfoNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPagePieceInfoString: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPagePieceInfoStringArray: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPageRotationByObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPieceInfoBoolean: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPieceInfoName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPieceInfoNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPieceInfoString: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetPieceInfoStringArray: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_SetTypographicFeatures: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFDoc_StartLoadPageByObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFDocument_ClearEmbedMetadata: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFont_AddFallbackFont: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFont_AuthorizeEditing: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFont_ClearFallbackFonts: { params: [], result: null }, EPDFFont_ClearRegisteredFonts: { params: [], result: null }, EPDFFont_GetCoverage: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_GetEmbeddingPermission: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_GetFallbackOrder: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_GetFamilyName: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_GetLastResortFont: { params: [], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_GetMetrics: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFont_GetPostScriptName: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_GetProgramData: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_GetProgramFormat: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_GetProgramHash: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFont_GetWeight: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_IsEditingAuthorized: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFont_IsInstanced: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFont_IsItalic: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFont_RegisterFont: { params: [{ ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_RegisterMemFont: { params: [{ ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_RegisterMemFont64: { params: [{ ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFont_SetLastResortFont: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFontFaces_Close: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, EPDFFontFaces_Count: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontFaces_CountPrograms: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontFaces_GetFamily: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontFaces_GetProgramDisplayHash: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFontFaces_GetProgramEmbedded: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontFaces_GetProgramEmbeddingPermission: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontFaces_GetProgramFormat: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontFaces_GetProgramHash: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFontFaces_GetProgramMetrics: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFontFaces_GetProgramObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontFaces_GetProgramPostScriptName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontFaces_GetWeight: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontFaces_IsItalic: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFontFaces_Load: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFFontFaces_ProgramMapsUnicode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFontResolution_Close: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, EPDFFontResolution_CountMissingCharacters: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontResolution_GetBaseFontName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontResolution_GetFallbacks: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontResolution_GetFamily: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontResolution_GetMissingCharacter: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontResolution_GetProgramDisplayHash: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFontResolution_GetProgramObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontResolution_GetRegisteredFont: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontResolution_GetSource: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontResolution_GetWeight: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFFontResolution_IsDegraded: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFFontResolution_IsItalic: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_AttachWidget: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_ClearFieldEmbedMetadata: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_ClearFieldEmbedMetadataKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_CloseModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, EPDFForm_CountCalculationOrder: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_CountFieldDefaultValues: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_CountFieldOptions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_CountFields: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_CountFieldValues: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_CountFieldWidgets: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_CreateField: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_DeleteField: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_DetachWidget: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_ExportFDF: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_ExportFieldRawToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFForm_ExportXFDF: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetCalculationOrderFieldIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldActionModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFForm_GetFieldAlternateName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldDefaultValueAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldDefaultValueKind: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldEmbedMetadataBoolean: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_GetFieldEmbedMetadataJSON: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldEmbedMetadataNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_GetFieldEmbedMetadataString: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldFamily: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldIndexByObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldIndexForWidget: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldMappingName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldMaxLen: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldOptionLabel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldOptionValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldOrigin: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldPartialName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldTopIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldValueAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldValueKind: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldWidgetExportValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldWidgetObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldWidgetOnState: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldWidgetPageObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetFieldWidgetRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_GetFormKind: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFForm_GetNeedAppearances: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_HasFieldEmbedMetadata: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_ImportFieldRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_IsFieldOptionSelected: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_IsFieldWidgetChecked: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_LoadModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFForm_RedrawFieldWidgets: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_Repair: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetCalculationOrder: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldAlternateName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldAppearanceText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldDefaultValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldDisplay: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldEmbedMetadataBoolean: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldEmbedMetadataJSON: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldEmbedMetadataNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldEmbedMetadataString: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldEventAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldMappingName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldMaxLen: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldOptions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldSelectedIndices: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFForm_SetFieldWidgetsChecked: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFImageObj_SetJpeg: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFImageObj_SetPng: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_AbortTransaction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_BeginTransaction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_CommitTransaction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_GetBaseDocument: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFLayer_GetBaseSha256: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_GetBirthName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_GetBirthObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFLayer_GetLastObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFLayer_GetPromotedObjectCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFLayer_IsInTransaction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_IsObjectPromoted: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_IsPagePromoted: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_OpenLayer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFLayer_OpenLayerArtifact: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFLayer_OpenLayerArtifactFromPath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFLayer_RaiseLastObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_SaveDelta: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_SaveDeltaEx: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_SaveDeltaToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFLayer_SaveDeltaToOwnedBufferEx: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFLayer_SaveLayerArtifact: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_SaveLayerArtifactEx: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFLayer_SaveLayerArtifactToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFLayer_SaveLayerArtifactToOwnedBufferEx: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFMeasure_AddFormat: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFMeasure_CountFormats: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFMeasure_GetCYX: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFMeasure_GetFormat: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFMeasure_GetOrigin: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFMeasure_GetRatio: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFMeasure_GetSubtype: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFMeasure_RemoveFormats: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFMeasure_SetCYX: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFMeasure_SetOrigin: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFMeasure_SetRatio: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNamedDest_Remove: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNamedDest_SetDest: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_GetConversion: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_GetFixedDenominator: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_GetFraction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_GetLabelPosition: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_GetPrecision: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_GetText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFNumberFormat_GetUnit: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFNumberFormat_SetConversion: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_SetFixedDenominator: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_SetFraction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_SetLabelPosition: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_SetPrecision: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_SetText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFNumberFormat_SetUnit: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFObjectDiff_Close: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, EPDFObjectDiff_GetCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFObjectDiff_GetEntry: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFObjectDiff_GetReadStatus: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFObjectDiff_GetReferrer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFObjectDiff_GetReferrerCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFObjectDiff_GetRevisionHealth: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFObjectDiff_GetValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFOutline_CreateItem: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFOutline_DeleteItem: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFOutline_ExportItemRawToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFOutline_GetItem: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFOutline_GetObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFOutline_ImportItemRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFOutline_MoveItem: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFOutline_SetAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFOutline_SetColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFOutline_SetOpen: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFOutline_SetStyle: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFOutline_SetTitle: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_AddViewport: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_AddViewportRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_ApplyRedactions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_ContinueLoad: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_CountViewports: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_CountViewportsRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_CreateAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_CreateAnnotRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_ExportAnnotationsAsDocument: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_ExportAnnotsRawToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_ExportRawToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_FindViewport: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_Flatten: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_FlattenAnnotations: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_GetAnnotByName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_GetAnnotByObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_GetAnnotCountRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_GetAnnotIndexByNameRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_GetAnnotIndexByObjectNumberRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_GetAnnotRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_GetObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_GetParsedSize: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_GetViewport: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_GetViewportRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFPage_ImportAnnotsRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_ImportRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_InsertBlankRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_IsContentCurrent: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_IsValid: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_MoveAnnots: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_MoveAnnotsRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_PromoteInlineAnnotsRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFPage_RemoveAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_RemoveAnnotByName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_RemoveAnnotByObjectNumber: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_RemoveAnnotRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_RemoveViewport: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_RemoveViewportRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFPage_ResetRenderCache: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_CloseModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, EPDFSig_Count: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_DigestByteRange: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_DigestFileRange: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_GetByteRange: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_GetContents: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetCoverage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetDocMDPPermission: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetFieldMDPAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetFieldName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetFieldNameAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetFieldNameCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetFieldObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetIndexByFieldObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetKind: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetLockAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetLockPermission: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetRevisionIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetSeedValueFilter: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetSeedValueListAt: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetSeedValueListCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetSeedValueMDP: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetSeedValuePresentFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetSeedValueRequiredFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetSeedValueVersion: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetString: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetValueObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetWidgetObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_GetWidgetPageObjNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_HasSeedValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_IsCatalogCertification: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_IsRevisionChainValid: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_IsSigned: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_LoadModel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFSig_Prepare: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFSig_SaveCandidate: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_SaveCandidateToOwnedBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFSig_Seal: { params: [{ ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_SealSpan: { params: [{ ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_SetFieldLock: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFSig_WriteContents: { params: [{ ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "bigint", wasm: { kind: "i64", cwrap: "bigint" }, native: { kind: "i64", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFText_GetCharGeometry: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFText_GetCharToTextMap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFText_GetTextFull: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFText_RedactInQuads: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFText_RedactInRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFViewport_AddMeasure: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFViewport_Close: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, EPDFViewport_GetBBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFViewport_GetMeasure: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, EPDFViewport_GetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, EPDFViewport_RemoveMeasure: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFViewport_SetBBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, EPDFViewport_SetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_CanRedo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_CanUndo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_DoDocumentAAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FORM_DoDocumentJSAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FORM_DoDocumentOpenAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FORM_DoPageAAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FORM_ForceToKillFocus: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_GetFocusedAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_GetFocusedText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FORM_GetSelectedText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FORM_GetTextDirection: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FORM_IsIndexSelected: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnAfterLoadPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FORM_OnBeforeClosePage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FORM_OnChar: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnFocus: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnKeyDown: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnKeyUp: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnLButtonDoubleClick: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnLButtonDown: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnLButtonUp: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnMouseMove: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnMouseWheel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnRButtonDown: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_OnRButtonUp: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_Redo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_ReplaceAndKeepSelection: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FORM_ReplaceSelection: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FORM_SelectAllText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_SetFocusedAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_SetIndexSelected: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_SetTextDirection: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FORM_Undo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_AddInstalledFont: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FPDF_CloseDocument: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_ClosePage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_CloseXObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_CopyViewerPreferences: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_CountNamedDests: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_CreateClipPath: { params: [{ ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_CreateNewDocument: { params: [], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_DestroyClipPath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_DestroyLibrary: { params: [], result: null }, FPDF_DeviceToPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_DocumentHasValidCrossReferenceTable: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_FFLDraw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FPDF_FreeDefaultSystemFontInfo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_GetDefaultSystemFontInfo: { params: [], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_GetDefaultTTFMap: { params: [], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_GetDefaultTTFMapCount: { params: [], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetDefaultTTFMapEntry: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_GetDocPermissions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetDocUserPermissions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetFileIdentifier: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetFileVersion: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_GetFormType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetLastError: { params: [], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetMetaText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetNamedDest: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_GetNamedDestByName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_GetPageAAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_GetPageBoundingBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_GetPageCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetPageHeight: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } } }, FPDF_GetPageHeightF: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } } }, FPDF_GetPageLabel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetPageSizeByIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetPageSizeByIndexF: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_GetPageWidth: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } } }, FPDF_GetPageWidthF: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } } }, FPDF_GetSecurityHandlerRevision: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetSignatureCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetSignatureObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_GetTrailerEnds: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetXFAPacketContent: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_GetXFAPacketCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_GetXFAPacketName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_ImportNPagesToOne: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_ImportPages: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_ImportPagesByIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_InitLibrary: { params: [], result: null }, FPDF_InitLibraryWithConfig: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_LoadCustomDocument: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_LoadDocument: { params: [{ ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_LoadMemDocument: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_LoadMemDocument64: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_LoadPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_LoadXFA: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_MovePages: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_NewFormObjectFromXObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_NewXObjectFromPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_PageToDevice: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_RemoveFormFieldHighlight: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_RenderPage_Close: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_RenderPage_Continue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_RenderPageBitmap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FPDF_RenderPageBitmap_Start: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_RenderPageBitmapWithColorScheme_Start: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_RenderPageBitmapWithMatrix: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FPDF_SaveAsCopy: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_SaveWithVersion: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_SetFormFieldHighlightAlpha: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FPDF_SetFormFieldHighlightColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FPDF_SetSandBoxPolicy: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: null }, FPDF_SetSystemFontInfo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_StructElement_Attr_CountChildren: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_Attr_GetBlobValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_StructElement_Attr_GetBooleanValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_StructElement_Attr_GetChildAtIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_StructElement_Attr_GetCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_Attr_GetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_StructElement_Attr_GetNumberValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_StructElement_Attr_GetStringValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDF_StructElement_Attr_GetType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_Attr_GetValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_StructElement_CountChildren: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetActualText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetAltText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetAttributeAtIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_StructElement_GetAttributeCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetChildAtIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_StructElement_GetChildMarkedContentID: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetExpansion: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetID: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetLang: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetMarkedContentID: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetMarkedContentIdAtIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetMarkedContentIdCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetObjType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetParent: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_StructElement_GetRawType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetStringAttribute: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetTitle: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructElement_GetType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructTree_Close: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDF_StructTree_CountChildren: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_StructTree_GetChildAtIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_StructTree_GetForPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_VIEWERREF_GetDuplex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_VIEWERREF_GetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_VIEWERREF_GetNumCopies: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_VIEWERREF_GetPrintPageRange: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDF_VIEWERREF_GetPrintPageRangeCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_VIEWERREF_GetPrintPageRangeElement: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDF_VIEWERREF_GetPrintScaling: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAction_GetDest: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFAction_GetFilePath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAction_GetType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAction_GetURIPath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_AddFileAttachment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFAnnot_AddInkStroke: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_AppendAttachmentPoints: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_AppendObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_CountAttachmentPoints: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetAP: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetAttachmentPoints: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_GetBorder: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_GetColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_GetFileAttachment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFAnnot_GetFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFocusableSubtypes: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_GetFocusableSubtypesCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFontColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_GetFontSize: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_GetFormAdditionalActionJavaScript: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFormControlCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFormControlIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFormFieldAlternateName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFormFieldAtPoint: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFAnnot_GetFormFieldExportValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFormFieldFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFormFieldName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFormFieldType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetFormFieldValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetInkListCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetInkListPath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetLine: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_GetLink: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFAnnot_GetLinkedAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFAnnot_GetNumberValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_GetObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFAnnot_GetObjectCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetOptionCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetOptionLabel: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_GetStringValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetSubtype: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetValueType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_GetVertices: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAnnot_HasAttachmentPoints: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_HasKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_IsChecked: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_IsObjectSupportedSubtype: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_IsOptionSelected: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_IsSupportedSubtype: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_RemoveInkList: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_RemoveObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetAP: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetAttachmentPoints: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetBorder: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetFocusableSubtypes: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetFontColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetFormFieldFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetStringValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_SetURI: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAnnot_UpdateObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAttachment_GetAFRelationship: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAttachment_GetDescription: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAttachment_GetFile: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAttachment_GetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAttachment_GetStringValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAttachment_GetSubtype: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAttachment_GetValueType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAttachment_HasKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAttachment_SetDescription: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAttachment_SetFile: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAttachment_SetStringValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFAvail_Create: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFAvail_Destroy: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFAvail_GetDocument: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFAvail_GetFirstPageNum: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAvail_IsDocAvail: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAvail_IsFormAvail: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAvail_IsLinearized: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFAvail_IsPageAvail: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFBitmap_Create: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFBitmap_CreateEx: { params: [{ ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFBitmap_Destroy: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFBitmap_FillRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFBitmap_GetBuffer: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFBitmap_GetFormat: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFBitmap_GetHeight: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFBitmap_GetStride: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFBitmap_GetWidth: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFBookmark_Find: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFBookmark_GetAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFBookmark_GetColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFBookmark_GetCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFBookmark_GetDest: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFBookmark_GetFirstChild: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFBookmark_GetNextSibling: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFBookmark_GetStyle: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFBookmark_GetTitle: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFCatalog_GetLanguage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFCatalog_IsTagged: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFCatalog_SetLanguage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFClipPath_CountPaths: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFClipPath_CountPathSegments: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFClipPath_GetPathSegment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFDest_GetDestPageIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFDest_GetLocationInPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFDest_GetView: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFDoc_AddAttachment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFDoc_CloseJavaScriptAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFDoc_DeleteAttachment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFDOC_ExitFormFillEnvironment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFDoc_GetAttachment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFDoc_GetAttachmentCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFDoc_GetJavaScriptAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFDoc_GetJavaScriptActionCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFDoc_GetPageMode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFDOC_InitFormFillEnvironment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFFont_Close: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFFont_GetAscent: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFFont_GetBaseFontName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFFont_GetDescent: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFFont_GetFamilyName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFFont_GetFlags: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFFont_GetFontData: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFFont_GetGlyphPath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFFont_GetGlyphWidth: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFFont_GetIsEmbedded: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFFont_GetItalicAngle: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFFont_GetWeight: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFFormObj_CountObjects: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFFormObj_GetObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFFormObj_RemoveObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFGlyphPath_CountGlyphSegments: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFGlyphPath_GetGlyphPathSegment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFImageObj_GetBitmap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFImageObj_GetIccProfileDataDecoded: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFImageObj_GetImageDataDecoded: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFImageObj_GetImageDataRaw: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFImageObj_GetImageFilter: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFImageObj_GetImageFilterCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFImageObj_GetImageMetadata: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFImageObj_GetImagePixelSize: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFImageObj_GetRenderedBitmap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFImageObj_LoadJpegFile: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFImageObj_LoadJpegFileInline: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFImageObj_SetBitmap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFImageObj_SetMatrix: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFJavaScriptAction_GetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFJavaScriptAction_GetScript: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFLink_CloseWebLinks: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFLink_CountQuadPoints: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFLink_CountRects: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFLink_CountWebLinks: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFLink_Enumerate: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFLink_GetAction: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFLink_GetAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFLink_GetAnnotRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFLink_GetDest: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFLink_GetLinkAtPoint: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFLink_GetLinkZOrderAtPoint: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFLink_GetQuadPoints: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFLink_GetRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFLink_GetTextRange: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFLink_GetURL: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFLink_LoadWebLinks: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPage_CloseAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFPage_CountObjects: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPage_CreateAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPage_Delete: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FPDFPage_Flatten: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPage_FormFieldZOrderAtPoint: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPage_GenerateContent: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_GetAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPage_GetAnnotCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPage_GetAnnotIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPage_GetArtBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_GetBleedBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_GetCropBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_GetDecodedThumbnailData: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPage_GetMediaBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_GetObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPage_GetRawThumbnailData: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPage_GetRotation: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPage_GetThumbnailAsBitmap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPage_GetTrimBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_HasFormFieldAtPoint: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPage_HasTransparency: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_InsertClipPath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFPage_InsertObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_InsertObjectAtIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_New: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPage_RemoveAnnot: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_RemoveObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPage_SetArtBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: null }, FPDFPage_SetBleedBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: null }, FPDFPage_SetCropBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: null }, FPDFPage_SetMediaBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: null }, FPDFPage_SetRotation: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: null }, FPDFPage_SetTrimBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: null }, FPDFPage_TransformAnnots: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: null }, FPDFPage_TransFormWithClip: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_AddExistingMark: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_AddMark: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_CountMarks: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPageObj_CreateNewPath: { params: [{ ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_CreateNewRect: { params: [{ ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_CreateTextObj: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_Destroy: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFPageObj_GetBounds: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_GetClipPath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_GetDashArray: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_GetDashCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPageObj_GetDashPhase: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_GetFillColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_GetIsActive: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_GetLineCap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPageObj_GetLineJoin: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPageObj_GetMark: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_GetMarkedContentID: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPageObj_GetMatrix: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_GetRenderedFillPattern: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_GetRenderedStrokePattern: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_GetRotatedBounds: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_GetStrokeColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_GetStrokeWidth: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_GetType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPageObj_HasTransparency: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_NewImageObj: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_NewTextObj: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPageObj_RemoveMark: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_SetBlendMode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: null }, FPDFPageObj_SetDashArray: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_SetDashPhase: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_SetFillColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_SetIsActive: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_SetLineCap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_SetLineJoin: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_SetMatrix: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_SetStrokeColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_SetStrokeWidth: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObj_Transform: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: null }, FPDFPageObj_TransformClipPath: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: null }, FPDFPageObj_TransformF: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_CountParams: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPageObjMark_GetName: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_GetParamBlobValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_GetParamFloatValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_GetParamIntValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_GetParamKey: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_GetParamStringValue: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_GetParamValueType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPageObjMark_RemoveParam: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_SetBlobParam: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_SetFloatParam: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_SetIntParam: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPageObjMark_SetStringParam: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPath_BezierTo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPath_Close: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPath_CountSegments: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFPath_GetBezierControlPoints: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPath_GetDrawMode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPath_GetPathSegment: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFPath_LineTo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPath_MoveTo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPath_SetDrawMode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPathSegment_GetClose: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPathSegment_GetPoint: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFPathSegment_GetType: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFSignatureObj_GetByteRange: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFSignatureObj_GetContents: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFSignatureObj_GetDocMDPPermission: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFSignatureObj_GetReason: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFSignatureObj_GetSubFilter: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFSignatureObj_GetTime: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_ClosePage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFText_CountChars: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_CountRects: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_FindClose: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: null }, FPDFText_FindNext: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_FindPrev: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_FindStart: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFText_GetBoundedText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_GetCharAngle: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } } }, FPDFText_GetCharBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_GetCharIndexAtPos: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }, { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_GetCharIndexFromTextIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_GetCharOrigin: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_GetFillColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_GetFontInfo: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_GetFontSize: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "f64", cwrap: "number" }, native: { kind: "f64", cwrap: "number" } } }, FPDFText_GetFontWeight: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_GetLooseCharBox: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_GetMatrix: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_GetRect: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_GetSchCount: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_GetSchResultIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_GetStrokeColor: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_GetText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_GetTextIndexFromCharIndex: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_GetTextObject: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFText_GetUnicode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_HasUnicodeMapError: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_IsGenerated: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_IsHyphen: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFText_LoadCidType2Font: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFText_LoadFont: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "cstring", cwrap: "number" }, native: { kind: "cstring", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }, { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFText_LoadPage: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFText_LoadStandardFont: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "string", wasm: { kind: "cstring", cwrap: "string" }, native: { kind: "cstring", cwrap: "string" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFText_SetCharcodes: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_SetPositions: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFText_SetText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFTextObj_GetFont: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFTextObj_GetFontSize: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFTextObj_GetRenderedBitmap: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } } }, FPDFTextObj_GetText: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "Ptr", wasm: { kind: "utf16ptr", cwrap: "number" }, native: { kind: "utf16ptr", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFTextObj_GetTextRenderMode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }], result: { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } } }, FPDFTextObj_SetFontSize: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "f32", cwrap: "number" }, native: { kind: "f32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } }, FPDFTextObj_SetTextRenderMode: { params: [{ ts: "Ptr", wasm: { kind: "pointer", cwrap: "number" }, native: { kind: "pointer", cwrap: "bigint" } }, { ts: "number", wasm: { kind: "i32", cwrap: "number" }, native: { kind: "i32", cwrap: "number" } }], result: { ts: "boolean", wasm: { kind: "bool", cwrap: "boolean" }, native: { kind: "bool", cwrap: "boolean" } } } }; +function Nr(e) { return BigInt(typeof e == "number" ? e >>> 0 : e); } -function Bt(e) { +function yt(e) { return Number(e); } -function Bu(e) { +function Ll(e) { switch (e) { case "i8": return "i8"; @@ -2026,53 +2035,53 @@ function Bu(e) { return "*"; } } -function zB(e) { +function yD(e) { let t = e._malloc ?? e.wasmExports?.malloc, r = e._free ?? e.wasmExports?.free; if (!t || !r) throw new Error("WASM runtime does not expose malloc/free"); return { alloc(n) { - return Lr(t(n)); + return Nr(t(n)); }, free(n) { - r(Bt(n)); + r(yt(n)); }, readBytes(n, i) { - return e.HEAPU8.slice(Bt(n), Bt(n) + i); + return e.HEAPU8.slice(yt(n), yt(n) + i); }, writeBytes(n, i) { - e.HEAPU8.set(i, Bt(n)); + e.HEAPU8.set(i, yt(n)); }, readU8String(n) { - return e.UTF8ToString?.(Bt(n)) ?? ""; + return e.UTF8ToString?.(yt(n)) ?? ""; }, writeU8String(n) { - let i = new TextEncoder().encode(`${n}\0`), a = Lr(t(i.length)); - return e.HEAPU8.set(i, Bt(a)), a; + let i = new TextEncoder().encode(`${n}\0`), a = Nr(t(i.length)); + return e.HEAPU8.set(i, yt(a)), a; }, readU16String(n) { - return e.UTF16ToString?.(Bt(n)) ?? ""; + return e.UTF16ToString?.(yt(n)) ?? ""; }, writeU16String(n) { - let i = (n.length + 1) * 2, a = Lr(t(i)); - return e.stringToUTF16?.(n, Bt(a), i), a; + let i = (n.length + 1) * 2, a = Nr(t(i)); + return e.stringToUTF16?.(n, yt(a), i), a; }, peek(n, i, a = 0) { - let A = e.getValue?.(Bt(n) + a, Bu(i)) ?? 0; - return i === "ptr" ? Lr(A) : A; + let A = e.getValue?.(yt(n) + a, Ll(i)) ?? 0; + return i === "ptr" ? Nr(A) : A; }, poke(n, i, a, A = 0) { let o = i === "ptr" && typeof a == "bigint" ? Number(a) : a; - e.setValue?.(Bt(n) + A, o, Bu(i)); + e.setValue?.(yt(n) + A, o, Ll(i)); } }; } -function JB(e) { +function ED(e) { return { register(t, r) { if (!e.addFunction) throw new Error("WASM runtime does not expose addFunction"); return BigInt(e.addFunction(r, t)); }, dispose(t) { - e.removeFunction?.(Bt(t)); + e.removeFunction?.(yt(t)); } }; } -function $B(e, t) { +function GD(e, t) { return { fromMemory(r) { let n = r instanceof Uint8Array ? r : new Uint8Array(r); if (n.byteLength > 4294967295) throw new RangeError("FPDF_FILEACCESS on wasm supports files up to 4 GiB"); let i = e.alloc(12), a = null, A = !1; try { - return a = t.register("iiiii", (o, s, d, l) => { - let m = Number(s), F = Number(l); - return !Number.isSafeInteger(m) || !Number.isSafeInteger(F) || m < 0 || F < 0 || m + F > n.byteLength ? 0 : (e.writeBytes(Lr(d), n.subarray(m, m + F)), 1); - }), e.poke(i, "i32", n.byteLength, 0), e.poke(i, "i32", Bt(a), 4), e.poke(i, "i32", 0, 8), { ptr: i, close() { + return a = t.register("iiiii", (o, s, d, u) => { + let m = Number(s), F = Number(u); + return !Number.isSafeInteger(m) || !Number.isSafeInteger(F) || m < 0 || F < 0 || m + F > n.byteLength ? 0 : (e.writeBytes(Nr(d), n.subarray(m, m + F)), 1); + }), e.poke(i, "i32", n.byteLength, 0), e.poke(i, "i32", yt(a), 4), e.poke(i, "i32", 0, 8), { ptr: i, close() { A || (A = !0, t.dispose(a), e.free(i)); } }; } catch (o) { @@ -2086,7 +2095,7 @@ function $B(e, t) { throw new Error("sizeOf() is only available on the native Node runtime"); } }; } -function eD() { +function CD() { return { toNodeFile() { throw new Error("toNodeFile() is only available on the native Node runtime"); }, writeRange() { @@ -2097,13 +2106,13 @@ function eD() { throw new Error("removeFile() is only available on the native Node runtime"); } }; } -function tD(e, t) { +function xD(e, t) { return e && e.ts === "Ptr" && typeof t == "bigint" ? Number(t) : t; } -function nD(e, t) { - if (e) return e.ts === "Ptr" && typeof t == "number" ? Lr(t) : e.ts === "bigint" && typeof t == "number" ? BigInt(t) : t; +function _D(e, t) { + if (e) return e.ts === "Ptr" && typeof t == "number" ? Nr(t) : e.ts === "bigint" && typeof t == "number" ? BigInt(t) : t; } -function rD(e, t) { +function HD(e, t) { let r = []; return e.params.forEach((n, i) => { if (n.wasm.kind === "i64") { @@ -2112,12 +2121,12 @@ function rD(e, t) { } else r.push(t[i]); }), r; } -function iD(e) { - let t = {}, r = ZB; +function ID(e) { + let t = {}, r = DD; for (let [n, i] of Object.entries(r)) { let a = i.params.some((o) => o.wasm.kind === "i64"), A = (o) => (...s) => { - let d = s.map((l, m) => tD(i.params[m], l)); - return nD(i.result, o(...a ? rD(i, d) : d)); + let d = s.map((u, m) => xD(i.params[m], u)); + return _D(i.result, o(...a ? HD(i, d) : d)); }; if (e.cwrap) { let o = i.params.flatMap((s) => s.wasm.kind === "i64" ? ["number", "number"] : [s.wasm.cwrap]); @@ -2126,76 +2135,76 @@ function iD(e) { } return t; } -function aD(e) { +function QD(e) { let t = { ...e.wasm ?? {} }; e.wasmBinary !== void 0 && t.wasmBinary === void 0 && (t.wasmBinary = e.wasmBinary instanceof Uint8Array ? e.wasmBinary : new Uint8Array(e.wasmBinary)); let r = e.wasmUrl; return r !== void 0 && t.locateFile === void 0 && (t.locateFile = (n, i) => n.endsWith(".wasm") ? r : i + n), t.wasmBinary !== void 0 && t.locateFile === void 0 && (t.locateFile = (n, i) => n.endsWith(".wasm") ? n : i + n), t; } -async function AD(e = {}) { - let t = await Promise.resolve().then(() => (SB(), pb)), r = await (t.default ?? t)(aD(e)), n = zB(r), i = JB(r); - return { kind: "wasm", platform: "wasm32", mem: n, cb: i, fileAccess: $B(n, i), fileWrite: eD(), fn: iD(r), async destroy() { +async function SD(e = {}) { + let t = await Promise.resolve().then(() => (dD(), yb)), r = await (t.default ?? t)(QD(e)), n = yD(r), i = ED(r); + return { kind: "wasm", platform: "wasm32", mem: n, cb: i, fileAccess: GD(n, i), fileWrite: CD(), fn: ID(r), async destroy() { r._free = r._free; } }; } -async function oD(e = {}) { - return AD(e); +async function OD(e = {}) { + return SD(e); } var g = { Unknown: "Unknown", InvalidArg: "InvalidArg", DocNotOpen: "DocNotOpen", DocOpenFailed: "DocOpenFailed", DocPasswordRequired: "DocPasswordRequired", DocPasswordIncorrect: "DocPasswordIncorrect", GrantPassphraseRequired: "GrantPassphraseRequired", Aborted: "Aborted", Network: "Network", Unauthenticated: "Unauthenticated", Forbidden: "Forbidden", NotFound: "NotFound", WireFormat: "WireFormat", RuntimeUnavailable: "RuntimeUnavailable", LayerVersionConflict: "LayerVersionConflict", NotImplemented: "NotImplemented", MalformedPdf: "MalformedPdf", SigningPending: "SigningPending", SigningExpired: "SigningExpired", SigningVersionMismatch: "SigningVersionMismatch", SignatureRefused: "SignatureRefused", ProtectedDocument: "ProtectedDocument", PayloadTooLarge: "PayloadTooLarge", ObjectNumberUnavailable: "ObjectNumberUnavailable", LayerFull: "LayerFull", ChangeConflict: "ChangeConflict", UndoUnavailable: "UndoUnavailable", IdempotencyKeyReused: "IdempotencyKeyReused", LayerDeleted: "LayerDeleted", VisitorIdentityRequired: "VisitorIdentityRequired", Conflict: "Conflict", EngineBusy: "EngineBusy", EngineRestarting: "EngineRestarting", DocumentQuarantined: "DocumentQuarantined", ThumbnailNotReady: "ThumbnailNotReady", TooManyRequests: "TooManyRequests", GrantExpired: "GrantExpired", OriginRequired: "OriginRequired", OriginNotAllowed: "OriginNotAllowed", FeatureNotEnabled: "FeatureNotEnabled", FeatureStopped: "FeatureStopped", LicenseInvalid: "LicenseInvalid", LicenseUsageLimit: "LicenseUsageLimit", UpstreamError: "UpstreamError" }; new Set(Object.values(g)); -function qi(e) { +function zi(e) { "@babel/helpers - typeof"; - return qi = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { + return zi = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; - }, qi(e); + }, zi(e); } -function sD(e, t) { - if (qi(e) != "object" || !e) return e; +function MD(e, t) { + if (zi(e) != "object" || !e) return e; var r = e[Symbol.toPrimitive]; if (r !== void 0) { var n = r.call(e, t); - if (qi(n) != "object") return n; + if (zi(n) != "object") return n; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } -function cD(e) { - var t = sD(e, "string"); - return qi(t) == "symbol" ? t : t + ""; +function jD(e) { + var t = MD(e, "string"); + return zi(t) == "symbol" ? t : t + ""; } function Te(e, t, r) { - return (t = cD(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; + return (t = jD(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } -var f = class Tb extends Error { +var f = class ng extends Error { constructor(t, r, n = {}) { super(r ?? t, n.cause === void 0 ? void 0 : { cause: n.cause }), Te(this, "name", "EngineError"), Te(this, "code", void 0), Te(this, "details", void 0), this.code = t, this.details = n.details; } static is(t, r) { - return !(t instanceof Tb) && t?.name !== "EngineError" ? !1 : r === void 0 ? !0 : t.code === r; + return !(t instanceof ng) && t?.name !== "EngineError" ? !1 : r === void 0 ? !0 : t.code === r; } toJSON() { return { code: this.code, message: this.message, details: this.details }; } }; -function Ar(e) { +function or(e) { return f.is(e) ? e.toJSON() : e instanceof Error ? { code: e.name === "AbortError" ? g.Aborted : g.Unknown, message: e.message } : { code: g.Unknown, message: String(e ?? "unknown error") }; } -function dD(e) { +function RD(e) { return new f(e.code, e.message, { details: e.details }); } -function Kb(e) { +function rg(e) { return typeof e == "number" && Number.isInteger(e) && e > 0; } function be(e) { return { kind: "objectNumber", objectNumber: e }; } -function Ee(e) { - if (!Kb(e.objectNumber)) throw new RangeError(`encodePageKey: objectNumber must be a positive integer, got ${e.objectNumber}`); +function De(e) { + if (!rg(e.objectNumber)) throw new RangeError(`encodePageKey: objectNumber must be a positive integer, got ${e.objectNumber}`); return `obj:${e.objectNumber}`; } -function Z(e) { +function W(e) { switch (e.kind) { case "objectNumber": return `obj:${e.objectNumber}`; @@ -2203,73 +2212,73 @@ function Z(e) { return `base:${e.page.objectNumber}:${e.baseIndex}`; } } -var Ad = ["courier", "courier-bold", "courier-bold-oblique", "courier-oblique", "helvetica", "helvetica-bold", "helvetica-bold-oblique", "helvetica-oblique", "times-roman", "times-bold", "times-bold-italic", "times-italic", "symbol", "zapf-dingbats"], Du = { invisible: !1, hidden: !1, print: !1, noZoom: !1, noRotate: !1, noView: !1, readOnly: !1, locked: !1, toggleNoView: !1, lockedContents: !1 }; -function Ki(e) { +var md = ["courier", "courier-bold", "courier-bold-oblique", "courier-oblique", "helvetica", "helvetica-bold", "helvetica-bold-oblique", "helvetica-oblique", "times-roman", "times-bold", "times-bold-italic", "times-italic", "symbol", "zapf-dingbats"], Tl = { invisible: !1, hidden: !1, print: !1, noZoom: !1, noRotate: !1, noView: !1, readOnly: !1, locked: !1, toggleNoView: !1, lockedContents: !1 }; +function Wr(e) { if (e.kind === "objectNumber") { if (!Number.isInteger(e.objectNumber) || e.objectNumber <= 0) throw new RangeError(`encodeFieldRefKey: objectNumber must be a positive integer, got ${e.objectNumber}`); return `obj:${e.objectNumber}`; } return `fqn:${e.name}`; } -function En(e, t) { +function Gn(e, t) { return { ref: e > 0 && t ? { kind: "objectNumber", page: t, objectNumber: e } : null, objectNumber: e, page: t }; } -var Sr = (e, t) => e.replace(/\B(?=(\d{3})+(?!\d))/g, () => t), Nb = (e, t) => t ? Nb(t, e % t) : e; -function Zi(e) { +var Mr = (e, t) => e.replace(/\B(?=(\d{3})+(?!\d))/g, () => t), ig = (e, t) => t ? ig(t, e % t) : e; +function Ji(e) { let t = Math.fround(e.conversion ?? NaN); if (!Number.isFinite(t) || t <= 0) return !1; let r = e.precision ?? (e.fraction === "fraction" ? 16 : 100); return !(!Number.isInteger(r) || r < 1 || r > 2147483647 || (e.fraction ?? "decimal") === "decimal" && !Number.isInteger(Math.log10(r))); } -function pD(e, t) { +function LD(e, t) { let r = t.fraction ?? "decimal", n = t.thousands ?? ","; - if (r === "round") return Sr(String(Math.round(e)), n); - if (r === "truncate") return Sr(String(Math.trunc(e)), n); + if (r === "round") return Mr(String(Math.round(e)), n); + if (r === "truncate") return Mr(String(Math.trunc(e)), n); if (r === "fraction") { let o = t.precision ?? 16, s = Math.floor(e), d = Math.round((e - s) * o); - if (d === o && (s++, d = 0), !d) return Sr(String(s), n); - let l = t.fixed ? 1 : Nb(d, o); - return `${s ? `${Sr(String(s), n)} ` : ""}${d / l}/${o / l}`; + if (d === o && (s++, d = 0), !d) return Mr(String(s), n); + let u = t.fixed ? 1 : ig(d, o); + return `${s ? `${Mr(String(s), n)} ` : ""}${d / u}/${o / u}`; } let i = Math.log10(t.precision ?? 100), [a, A = ""] = e.toFixed(i).split("."); - return Sr(a, n) + (A ? (t.decimal || ".") + A : ""); + return Mr(a, n) + (A ? (t.decimal || ".") + A : ""); } -function yu(e, t) { - if (!Number.isFinite(e) || !t.length || !t.every(Zi)) throw new f(g.InvalidArg, "Measurement requires a finite value and valid number formats"); +function Kl(e, t) { + if (!Number.isFinite(e) || !t.length || !t.every(Ji)) throw new f(g.InvalidArg, "Measurement requires a finite value and valid number formats"); let r = Math.abs(e), n = []; for (let [i, a] of t.entries()) { if (r *= Math.fround(a.conversion), !Number.isFinite(r)) throw new f(g.InvalidArg, "Measurement overflow"); - let A = Math.floor(r), o = r - A, s = i === t.length - 1, d = s || o === 0, l = s ? pD(r, a) : Sr(String(A), a.thousands ?? ","), m = a.labelPosition === "prefix", F = a.prefixSpacing ?? (m && i === 0 ? "" : " "), k = a.suffixSpacing ?? (!m && d ? "" : " "), P = F + a.unit + k; - if (n.push(m ? P + l : l + P), d) break; + let A = Math.floor(r), o = r - A, s = i === t.length - 1, d = s || o === 0, u = s ? LD(r, a) : Mr(String(A), a.thousands ?? ","), m = a.labelPosition === "prefix", F = a.prefixSpacing ?? (m && i === 0 ? "" : " "), h = a.suffixSpacing ?? (!m && d ? "" : " "), P = F + a.unit + h; + if (n.push(m ? P + u : u + P), d) break; r = o; } return (e < 0 ? "-" : "") + n.join(""); } -var Ur = { courier: { family: "Courier", weight: 400, italic: !1 }, "courier-bold": { family: "Courier", weight: 700, italic: !1 }, "courier-bold-oblique": { family: "Courier", weight: 700, italic: !0 }, "courier-oblique": { family: "Courier", weight: 400, italic: !0 }, helvetica: { family: "Helvetica", weight: 400, italic: !1 }, "helvetica-bold": { family: "Helvetica", weight: 700, italic: !1 }, "helvetica-bold-oblique": { family: "Helvetica", weight: 700, italic: !0 }, "helvetica-oblique": { family: "Helvetica", weight: 400, italic: !0 }, "times-roman": { family: "Times", weight: 400, italic: !1 }, "times-bold": { family: "Times", weight: 700, italic: !1 }, "times-bold-italic": { family: "Times", weight: 700, italic: !0 }, "times-italic": { family: "Times", weight: 400, italic: !0 }, symbol: { family: "Symbol", weight: 400, italic: !1 }, "zapf-dingbats": { family: "ZapfDingbats", weight: 400, italic: !1 } }, xo = (e) => Ad.includes(e); -function _o(e, t) { - if (xo(e)) { - let n = Ur[e]; +var Jr = { courier: { family: "Courier", weight: 400, italic: !1 }, "courier-bold": { family: "Courier", weight: 700, italic: !1 }, "courier-bold-oblique": { family: "Courier", weight: 700, italic: !0 }, "courier-oblique": { family: "Courier", weight: 400, italic: !0 }, helvetica: { family: "Helvetica", weight: 400, italic: !1 }, "helvetica-bold": { family: "Helvetica", weight: 700, italic: !1 }, "helvetica-bold-oblique": { family: "Helvetica", weight: 700, italic: !0 }, "helvetica-oblique": { family: "Helvetica", weight: 400, italic: !0 }, "times-roman": { family: "Times", weight: 400, italic: !1 }, "times-bold": { family: "Times", weight: 700, italic: !1 }, "times-bold-italic": { family: "Times", weight: 700, italic: !0 }, "times-italic": { family: "Times", weight: 400, italic: !0 }, symbol: { family: "Symbol", weight: 400, italic: !1 }, "zapf-dingbats": { family: "ZapfDingbats", weight: 400, italic: !1 } }, So = (e) => md.includes(e); +function Oo(e, t) { + if (So(e)) { + let n = Jr[e]; return { family: n.family, weight: n.weight, italic: n.italic }; } let r = t?.(e); return r ? { family: r.familyName, weight: r.weight, italic: r.italic } : { family: e }; } -function Vn(e) { +function Yn(e) { return e.toLowerCase().replace(/[\s\-_'"]/g, ""); } -var Vb = { helvetica: "Helvetica", arial: "Helvetica", arialmt: "Helvetica", sansserif: "Helvetica", times: "Times", timesroman: "Times", timesnewroman: "Times", timesnewromanpsmt: "Times", serif: "Times", courier: "Courier", couriernew: "Courier", couriernewpsmt: "Courier", monospace: "Courier", symbol: "Symbol", zapfdingbats: "ZapfDingbats", dingbats: "ZapfDingbats" }; -function lD(e) { - return Vb[Vn(e)]; +var ag = { helvetica: "Helvetica", arial: "Helvetica", arialmt: "Helvetica", sansserif: "Helvetica", times: "Times", timesroman: "Times", timesnewroman: "Times", timesnewromanpsmt: "Times", serif: "Times", courier: "Courier", couriernew: "Courier", couriernewpsmt: "Courier", monospace: "Courier", symbol: "Symbol", zapfdingbats: "ZapfDingbats", dingbats: "ZapfDingbats" }; +function TD(e) { + return ag[Yn(e)]; } -function uD(e, t) { - let r = Vb[Vn(e.family)]; +function KD(e, t) { + let r = ag[Yn(e.family)]; if (r) { - let n = Object.entries(Ur), i = e.weight >= 600, a = n.find(([, A]) => A.family === r && A.weight >= 600 === i && A.italic === e.italic) ?? n.find(([, A]) => A.family === r); + let n = Object.entries(Jr), i = e.weight >= 600, a = n.find(([, A]) => A.family === r && A.weight >= 600 === i && A.italic === e.italic) ?? n.find(([, A]) => A.family === r); if (a) return a[0]; } return e.family; } -function Yb(e) { +function Ag(e) { if (typeof e != "object" || e === null) return !1; let { left: t, bottom: r, right: n, top: i } = e; return [t, r, n, i].every((a) => typeof a == "number" && Number.isFinite(a)); @@ -2277,363 +2286,372 @@ function Yb(e) { function Se(e) { return { left: Math.min(e.left, e.right), right: Math.max(e.left, e.right), bottom: Math.min(e.top, e.bottom), top: Math.max(e.top, e.bottom) }; } -function mD(e) { +function ND(e) { return { width: e.right - e.left, height: e.top - e.bottom }; } -function wD(e) { +function VD(e) { let t = [e.upperLeft.x, e.upperRight.x, e.lowerLeft.x, e.lowerRight.x], r = [e.upperLeft.y, e.upperRight.y, e.lowerLeft.y, e.lowerRight.y]; return { left: Math.min(...t), right: Math.max(...t), bottom: Math.min(...r), top: Math.max(...r) }; } -var Is = 1e-6, Xb = (e) => Number.isFinite(e.x) && Number.isFinite(e.y); -function Eu([e, t, r, n]) { - if (![e, t, r, n].every(Xb)) return !1; +var js = 1e-6, og = (e) => Number.isFinite(e.x) && Number.isFinite(e.y); +function Nl([e, t, r, n]) { + if (![e, t, r, n].every(og)) return !1; let i = { x: t.x - e.x, y: t.y - e.y }, a = { x: n.x - r.x, y: n.y - r.y }, A = { x: r.x - e.x, y: r.y - e.y }, o = { x: n.x - t.x, y: n.y - t.y }, s = [i, a, A, o].map((m) => Math.hypot(m.x, m.y)); - if (s.some((m) => m <= Is) || i.x * a.x + i.y * a.y <= 0 || A.x * o.x + A.y * o.y <= 0) return !1; - let d = i.x * A.y - i.y * A.x, l = a.x * o.y - a.y * o.x; - return Math.abs(d) <= Is * s[0] * s[2] || Math.abs(l) <= Is * s[1] * s[3] ? !1 : Math.sign(d) === Math.sign(l); + if (s.some((m) => m <= js) || i.x * a.x + i.y * a.y <= 0 || A.x * o.x + A.y * o.y <= 0) return !1; + let d = i.x * A.y - i.y * A.x, u = a.x * o.y - a.y * o.x; + return Math.abs(d) <= js * s[0] * s[2] || Math.abs(u) <= js * s[1] * s[3] ? !1 : Math.sign(d) === Math.sign(u); } -function bD(e) { +function YD(e) { let [t, r, n, i] = e; - if (Eu(e)) return { upperLeft: t, upperRight: r, lowerLeft: n, lowerRight: i }; - if (Eu([t, r, i, n])) return { upperLeft: t, upperRight: r, lowerLeft: i, lowerRight: n }; - let a = e.map((F) => Xb(F) ? F : { x: 0, y: 0 }), A = a.reduce((F, k) => F + k.x, 0) / 4, o = a.reduce((F, k) => F + k.y, 0) / 4, s = [...a].sort((F, k) => Math.atan2(F.y - o, F.x - A) - Math.atan2(k.y - o, k.x - A)), d = 0; + if (Nl(e)) return { upperLeft: t, upperRight: r, lowerLeft: n, lowerRight: i }; + if (Nl([t, r, i, n])) return { upperLeft: t, upperRight: r, lowerLeft: i, lowerRight: n }; + let a = e.map((F) => og(F) ? F : { x: 0, y: 0 }), A = a.reduce((F, h) => F + h.x, 0) / 4, o = a.reduce((F, h) => F + h.y, 0) / 4, s = [...a].sort((F, h) => Math.atan2(F.y - o, F.x - A) - Math.atan2(h.y - o, h.x - A)), d = 0; for (let F = 1; F < 4; F++) s[F].y + s[(F + 1) % 4].y > s[d].y + s[(d + 1) % 4].y && (d = F); - let l = [s[d], s[(d + 1) % 4]], m = [s[(d + 3) % 4], s[(d + 2) % 4]]; - return l[0].x <= l[1].x ? { upperLeft: l[0], upperRight: l[1], lowerLeft: m[0], lowerRight: m[1] } : { upperLeft: l[1], upperRight: l[0], lowerLeft: m[1], lowerRight: m[0] }; + let u = [s[d], s[(d + 1) % 4]], m = [s[(d + 3) % 4], s[(d + 2) % 4]]; + return u[0].x <= u[1].x ? { upperLeft: u[0], upperRight: u[1], lowerLeft: m[0], lowerRight: m[1] } : { upperLeft: u[1], upperRight: u[0], lowerLeft: m[1], lowerRight: m[0] }; } -function ci(e, t) { - let r = Ho(t); - if (r !== null) return Ia(e, r); - let n = t * Math.PI / 180, i = Math.abs(Math.cos(n)), a = Math.abs(Math.sin(n)), A = e.right - e.left, o = e.top - e.bottom, s = (A * i + o * a) / 2, d = (A * a + o * i) / 2, l = (e.left + e.right) / 2, m = (e.bottom + e.top) / 2; - return { left: l - s, bottom: m - d, right: l + s, top: m + d }; +function li(e, t) { + let r = Mo(t); + if (r !== null) return Sa(e, r); + let n = t * Math.PI / 180, i = Math.abs(Math.cos(n)), a = Math.abs(Math.sin(n)), A = e.right - e.left, o = e.top - e.bottom, s = (A * i + o * a) / 2, d = (A * a + o * i) / 2, u = (e.left + e.right) / 2, m = (e.bottom + e.top) / 2; + return { left: u - s, bottom: m - d, right: u + s, top: m + d }; } -function Ho(e) { +function Mo(e) { let t = (e % 360 + 360) % 360; return t % 90 === 0 ? t : null; } -function Ia(e, t) { +function Sa(e, t) { if (t === 0 || t === 180) return e; let r = (e.left + e.right) / 2, n = (e.bottom + e.top) / 2, i = (e.top - e.bottom) / 2, a = (e.right - e.left) / 2; return { left: r - i, bottom: n - a, right: r + i, top: n + a }; } -function gD(e, t) { +function XD(e, t) { let r = Math.max(e.left, t.left), n = Math.min(e.right, t.right), i = Math.max(e.bottom, t.bottom), a = Math.min(e.top, t.top); return r < n && i < a ? { left: r, right: n, bottom: i, top: a } : null; } -function Io(e, t) { +function jo(e, t) { let r = 0.01 + 1e-4 * Math.max(e.right - e.left, e.top - e.bottom, t.right - t.left, t.top - t.bottom); return Math.abs(e.left - t.left) <= r && Math.abs(e.bottom - t.bottom) <= r && Math.abs(e.right - t.right) <= r && Math.abs(e.top - t.top) <= r; } -function Qa(e) { +function Oa(e) { if (e.length === 0) return { left: 0, bottom: 0, right: 0, top: 0 }; let t = 1 / 0, r = 1 / 0, n = -1 / 0, i = -1 / 0; for (let { x: a, y: A } of e) t = Math.min(t, a), r = Math.min(r, A), n = Math.max(n, a), i = Math.max(i, A); return { left: t, bottom: r, right: n, top: i }; } -function Qo(e, t) { +function Ro(e, t) { let r = t.degrees * Math.PI / 180, n = Math.cos(r), i = Math.sin(r), a = e.x - t.center.x, A = e.y - t.center.y; return { x: t.center.x + a * n + A * i, y: t.center.y - a * i + A * n }; } -function od(e, t) { - return Qo(e, { degrees: -t.degrees, center: t.center }); +function wd(e, t) { + return Ro(e, { degrees: -t.degrees, center: t.center }); } -var fD = (e) => ({ x: (e.left + e.right) / 2, y: (e.bottom + e.top) / 2 }); -function FD(e, t) { - return { degrees: t, center: fD(Qa(e)) }; +var WD = (e) => ({ x: (e.left + e.right) / 2, y: (e.bottom + e.top) / 2 }); +function UD(e, t) { + return { degrees: t, center: WD(Oa(e)) }; } -function di(e, t) { +function mi(e, t) { return e.replace(/\r\n|\r|\n/g, t); } -var sd = { family: "Helvetica", weight: 400, italic: !1, size: 12, color: "#000000", decoration: [], script: "normal", letterSpacing: 0, horizontalScale: 1, align: "left", dir: "ltr" }; -function qr(e) { - return di(e.paragraphs.map((t) => t.runs.map((r) => r.text).join("")).join(` +var bd = { family: "Helvetica", weight: 400, italic: !1, size: 12, color: "#000000", decoration: [], script: "normal", letterSpacing: 0, horizontalScale: 1, align: "left", dir: "ltr" }; +function $r(e) { + return mi(e.paragraphs.map((t) => t.runs.map((r) => r.text).join("")).join(` `), ` `); } -function cd(e) { +function gd(e) { return e.split(/\r\n|\r|\n/).map((t) => ({ runs: [{ text: t }] })); } -var Qs = (e) => Math.max(0, Math.min(255, Math.round(e))).toString(16).padStart(2, "0"); -function So(e, t, r) { - return `#${Qs(e)}${Qs(t)}${Qs(r)}`; +var Rs = (e) => Math.max(0, Math.min(255, Math.round(e))).toString(16).padStart(2, "0"); +function Lo(e, t, r) { + return `#${Rs(e)}${Rs(t)}${Rs(r)}`; } -function pr(e) { +function ur(e) { let t = Number.parseInt(e.slice(1), 16); return { r: t >> 16 & 255, g: t >> 8 & 255, b: t & 255 }; } -function vD(e, t) { +function qD(e, t) { return e.toLowerCase() === t.toLowerCase(); } -var qA = { highlight: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", quadPoints: "data" }, readBack: ["rect"], colors: ["color"], spaces: { rect: "box", actions: "actions", richText: "length", quadPoints: "quads" }, resources: {} }, underline: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", quadPoints: "data" }, readBack: ["rect"], colors: ["color"], spaces: { rect: "box", actions: "actions", richText: "length", quadPoints: "quads" }, resources: {} }, squiggly: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", quadPoints: "data" }, readBack: ["rect"], colors: ["color"], spaces: { rect: "box", actions: "actions", richText: "length", quadPoints: "quads" }, resources: {} }, strikeout: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", quadPoints: "data", intent: "data" }, readBack: ["rect"], colors: ["color"], spaces: { rect: "box", actions: "actions", richText: "length", quadPoints: "quads" }, resources: {} }, circle: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", strokeWidth: "data", borderStyle: "data", dashArray: "data", interiorColor: "data", box: "data", rotation: "data", cloudyIntensity: "data" }, readBack: ["rect", "borderStyle"], colors: ["color", "interiorColor"], spaces: { rect: "box", actions: "actions", richText: "length", box: "box" }, resources: {} }, square: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", strokeWidth: "data", borderStyle: "data", dashArray: "data", interiorColor: "data", box: "data", rotation: "data", cloudyIntensity: "data" }, readBack: ["rect", "borderStyle"], colors: ["color", "interiorColor"], spaces: { rect: "box", actions: "actions", richText: "length", box: "box" }, resources: {} }, polygon: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", strokeWidth: "data", borderStyle: "data", dashArray: "data", interiorColor: "data", vertices: "data", rotation: "data", captionEnabled: "data", captionCenter: "data", intent: "data", measure: "data", cloudyIntensity: "data" }, readBack: ["rect", "borderStyle", "vertices"], colors: ["color", "interiorColor"], spaces: { rect: "box", actions: "actions", richText: "length", vertices: "points", captionCenter: "point", measure: "measure" }, resources: {} }, polyline: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", strokeWidth: "data", borderStyle: "data", dashArray: "data", interiorColor: "data", vertices: "data", rotation: "data", captionEnabled: "data", captionCenter: "data", intent: "data", measure: "data", lineEndings: "data" }, readBack: ["rect", "borderStyle", "vertices"], colors: ["color", "interiorColor"], spaces: { rect: "box", actions: "actions", richText: "length", vertices: "points", captionCenter: "point", measure: "measure" }, resources: {} }, line: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", strokeWidth: "data", borderStyle: "data", dashArray: "data", interiorColor: "data", linePoints: "data", lineEndings: "data", rotation: "data", intent: "data", measure: "data", captionEnabled: "data", captionPosition: "data", captionOffset: "data", leader: "data" }, readBack: ["rect", "borderStyle"], colors: ["color", "interiorColor"], spaces: { rect: "box", actions: "actions", richText: "length", linePoints: "linePoints", measure: "measure" }, resources: {} }, link: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "data", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", target: "data" }, readBack: ["target"], colors: [], spaces: { rect: "box", actions: "actions", target: "linkTarget" }, resources: {} }, ink: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", strokeWidth: "data", borderStyle: "data", dashArray: "data", inkList: "data", intent: "data", rotation: "data" }, readBack: ["rect", "strokeWidth", "borderStyle", "inkList"], colors: ["color"], spaces: { rect: "box", actions: "actions", richText: "length", inkList: "strokes" }, resources: {} }, "free-text": { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", box: "data", rotation: "data", intent: "data", fontFamily: "data", fontSize: "data", textAlign: "data", verticalAlign: "data", color: "data", fontColor: "data", interiorColor: "data", opacity: "data", strokeWidth: "data", borderStyle: "data", dashArray: "data", cloudyIntensity: "data", calloutLine: "data", lineEnding: "data" }, readBack: ["rect", "intent", "borderStyle"], colors: ["color", "fontColor", "interiorColor"], spaces: { rect: "box", actions: "actions", richText: "length", box: "box", calloutLine: "calloutLine" }, resources: {} }, caret: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", box: "data", rotation: "data", intent: "data" }, readBack: ["rect"], colors: ["color"], spaces: { rect: "box", actions: "actions", richText: "length", box: "box" }, resources: {} }, text: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "data", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", icon: "data", open: "data", state: "data", stateModel: "data" }, readBack: [], colors: ["color"], spaces: { rect: "box", actions: "actions", richText: "length" }, resources: {} }, stamp: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", box: "data", rotation: "data", name: "data", fit: "data", opacity: "data" }, readBack: ["rect"], colors: [], spaces: { rect: "box", actions: "actions", richText: "length", box: "box" }, resources: { appearance: "required" } }, "file-attachment": { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "data", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", icon: "data", file: "data" }, readBack: [], colors: ["color"], spaces: { rect: "box", actions: "actions", richText: "length" }, resources: { file: "required" } }, widget: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "data", box: "data", rotation: "data", color: "data", interiorColor: "data", strokeWidth: "data", borderStyle: "data", dashArray: "data", fontFamily: "data", fontSize: "data", fontColor: "data", textAlign: "data", caption: "data", checkStyle: "data", field: "engine", fieldKind: "engine", hasMark: "engine" }, readBack: ["rect", "actions"], colors: ["color", "interiorColor", "fontColor"], spaces: { rect: "box", actions: "actions", box: "box" }, resources: {} }, redact: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "data", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", quadPoints: "data", interiorColor: "data", overlayText: "data", repeat: "data", fontFamily: "data", fontSize: "data", fontColor: "data", textAlign: "data" }, readBack: [], colors: ["color", "interiorColor", "fontColor"], spaces: { rect: "box", actions: "actions", richText: "length", quadPoints: "quads" }, resources: {} }, popup: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "data", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", parent: "data", open: "data" }, readBack: ["parent"], colors: [], spaces: { rect: "box", actions: "actions" }, resources: {} }, unsupported: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "data", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", rawSubtypeCode: "engine", rawSubtypeName: "engine" }, readBack: [], colors: [], spaces: { rect: "box", actions: "actions" }, resources: {} } }; -function dd(e) { +var eo = { highlight: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", quadPoints: "data" }, readBack: ["rect"], colors: ["color"], spaces: { rect: "box", actions: "actions", richText: "length", quadPoints: "quads" }, resources: {} }, underline: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", quadPoints: "data" }, readBack: ["rect"], colors: ["color"], spaces: { rect: "box", actions: "actions", richText: "length", quadPoints: "quads" }, resources: {} }, squiggly: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", quadPoints: "data" }, readBack: ["rect"], colors: ["color"], spaces: { rect: "box", actions: "actions", richText: "length", quadPoints: "quads" }, resources: {} }, strikeout: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", quadPoints: "data", intent: "data" }, readBack: ["rect"], colors: ["color"], spaces: { rect: "box", actions: "actions", richText: "length", quadPoints: "quads" }, resources: {} }, circle: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", strokeWidth: "data", borderStyle: "data", dashArray: "data", interiorColor: "data", box: "data", rotation: "data", cloudyIntensity: "data" }, readBack: ["rect", "borderStyle"], colors: ["color", "interiorColor"], spaces: { rect: "box", actions: "actions", richText: "length", box: "box" }, resources: {} }, square: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", strokeWidth: "data", borderStyle: "data", dashArray: "data", interiorColor: "data", box: "data", rotation: "data", cloudyIntensity: "data" }, readBack: ["rect", "borderStyle"], colors: ["color", "interiorColor"], spaces: { rect: "box", actions: "actions", richText: "length", box: "box" }, resources: {} }, polygon: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", strokeWidth: "data", borderStyle: "data", dashArray: "data", interiorColor: "data", vertices: "data", rotation: "data", captionEnabled: "data", captionCenter: "data", intent: "data", measure: "data", cloudyIntensity: "data" }, readBack: ["rect", "borderStyle", "vertices"], colors: ["color", "interiorColor"], spaces: { rect: "box", actions: "actions", richText: "length", vertices: "points", captionCenter: "point", measure: "measure" }, resources: {} }, polyline: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", strokeWidth: "data", borderStyle: "data", dashArray: "data", interiorColor: "data", vertices: "data", rotation: "data", captionEnabled: "data", captionCenter: "data", intent: "data", measure: "data", lineEndings: "data" }, readBack: ["rect", "borderStyle", "vertices"], colors: ["color", "interiorColor"], spaces: { rect: "box", actions: "actions", richText: "length", vertices: "points", captionCenter: "point", measure: "measure" }, resources: {} }, line: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", strokeWidth: "data", borderStyle: "data", dashArray: "data", interiorColor: "data", linePoints: "data", lineEndings: "data", rotation: "data", intent: "data", measure: "data", captionEnabled: "data", captionPosition: "data", captionOffset: "data", leader: "data" }, readBack: ["rect", "borderStyle"], colors: ["color", "interiorColor"], spaces: { rect: "box", actions: "actions", richText: "length", linePoints: "linePoints", measure: "measure" }, resources: {} }, link: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "data", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", target: "data" }, readBack: ["target"], colors: [], spaces: { rect: "box", actions: "actions", target: "linkTarget" }, resources: {} }, ink: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", strokeWidth: "data", borderStyle: "data", dashArray: "data", inkList: "data", intent: "data", rotation: "data" }, readBack: ["rect", "strokeWidth", "borderStyle", "inkList"], colors: ["color"], spaces: { rect: "box", actions: "actions", richText: "length", inkList: "strokes" }, resources: {} }, "free-text": { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", box: "data", rotation: "data", intent: "data", fontFamily: "data", fontSize: "data", textAlign: "data", verticalAlign: "data", color: "data", fontColor: "data", interiorColor: "data", opacity: "data", strokeWidth: "data", borderStyle: "data", dashArray: "data", cloudyIntensity: "data", calloutLine: "data", lineEnding: "data" }, readBack: ["rect", "intent", "borderStyle"], colors: ["color", "fontColor", "interiorColor"], spaces: { rect: "box", actions: "actions", richText: "length", box: "box", calloutLine: "calloutLine" }, resources: {} }, caret: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", box: "data", rotation: "data", intent: "data" }, readBack: ["rect"], colors: ["color"], spaces: { rect: "box", actions: "actions", richText: "length", box: "box" }, resources: {} }, text: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "data", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", icon: "data", open: "data", state: "data", stateModel: "data" }, readBack: [], colors: ["color"], spaces: { rect: "box", actions: "actions", richText: "length" }, resources: {} }, stamp: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", box: "data", rotation: "data", name: "data", fit: "data", opacity: "data" }, readBack: ["rect"], colors: [], spaces: { rect: "box", actions: "actions", richText: "length", box: "box" }, resources: { appearance: "required" } }, "file-attachment": { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "data", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", icon: "data", file: "data" }, readBack: [], colors: ["color"], spaces: { rect: "box", actions: "actions", richText: "length" }, resources: { file: "required" } }, widget: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "engine", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "data", box: "data", rotation: "data", color: "data", interiorColor: "data", strokeWidth: "data", borderStyle: "data", dashArray: "data", fontFamily: "data", fontSize: "data", fontColor: "data", textAlign: "data", caption: "data", checkStyle: "data", field: "engine", fieldKind: "engine", hasMark: "engine" }, readBack: ["rect", "actions"], colors: ["color", "interiorColor", "fontColor"], spaces: { rect: "box", actions: "actions", box: "box" }, resources: {} }, redact: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "data", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", richText: "data", color: "data", opacity: "data", quadPoints: "data", interiorColor: "data", overlayText: "data", repeat: "data", fontFamily: "data", fontSize: "data", fontColor: "data", textAlign: "data" }, readBack: [], colors: ["color", "interiorColor", "fontColor"], spaces: { rect: "box", actions: "actions", richText: "length", quadPoints: "quads" }, resources: {} }, popup: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "data", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", parent: "data", open: "data" }, readBack: ["parent"], colors: [], spaces: { rect: "box", actions: "actions" }, resources: {} }, unsupported: { owners: { ref: "engine", page: "engine", hasAppearance: "engine", appearanceState: "engine", structurePosition: "engine", nm: "data", rect: "data", contents: "data", subject: "data", blendMode: "data", invisible: "data", hidden: "data", print: "data", noZoom: "data", noRotate: "data", noView: "data", readOnly: "data", locked: "data", toggleNoView: "data", lockedContents: "data", reply: "data", popup: "engine", groupId: "data", author: "attribution", createdAt: "attribution", modifiedAt: "attribution", userId: "attribution", createdBy: "attribution", modifiedBy: "attribution", importedBy: "engine", actions: "preserved", rawSubtypeCode: "engine", rawSubtypeName: "engine" }, readBack: [], colors: [], spaces: { rect: "box", actions: "actions" }, resources: {} } }; +function fd(e) { let t = {}; - for (let r of Object.keys(qA)) t[r] = e(qA[r]); + for (let r of Object.keys(eo)) t[r] = e(eo[r]); return t; } -function ZA(e) { - return Object.prototype.hasOwnProperty.call(qA, e) ? qA[e] : null; +function to(e) { + return Object.prototype.hasOwnProperty.call(eo, e) ? eo[e] : null; } -var Wb = dd((e) => Object.keys(e.owners)), pd = dd((e) => e.resources), Zr = dd((e) => e.spaces), PD = Object.assign({}, ...Object.values(Zr)), hD = [["highlight", "underline", "squiggly", "strikeout"], ["square", "circle"]]; -function kD(e) { - let t = hD.find((r) => r.includes(e)); +var sg = fd((e) => Object.keys(e.owners)), To = fd((e) => e.resources), ei = fd((e) => e.spaces), ZD = Object.assign({}, ...Object.values(ei)), zD = [["highlight", "underline", "squiggly", "strikeout"], ["square", "circle"]]; +function JD(e) { + let t = zD.find((r) => r.includes(e)); return t ? t.filter((r) => r !== e) : []; } -function BD(e, t) { - let r = ZA(t)?.owners ?? {}, n = e; - for (let i of Object.keys(ZA(e.subtype)?.owners ?? {})) { +function $D(e, t) { + let r = to(t)?.owners ?? {}, n = e; + for (let i of Object.keys(to(e.subtype)?.owners ?? {})) { let a = n[i]; if (!(i in r) && a !== null && a !== void 0) return i; } return null; } -var Ub = /^sha256-[0-9a-f]{64}$/, DD = ["page", "position", "size"]; -function qb(e, t) { +var cg = /^sha256-[0-9a-f]{64}$/, e0 = ["page", "position", "size"]; +function dg(e, t) { let r = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set(); for (let i of t) { - (!qe(i) || !ld(i.page) || !yD(i.size)) && De(e, "a page needs a page ref, a position and a size"), Vr(e, "a page", i, DD); + (!qe(i) || !Fd(i.page) || !t0(i.size)) && ye(e, "a page needs a page ref, a position and a size"), Ur(e, "a page", i, e0); let { position: a } = i; - (!Number.isInteger(a) || a < 0) && De(e, `page position ${JSON.stringify(a)} is not a position`); - let A = Ee(i.page); - r.has(A) && De(e, `page ${A} is listed twice`), n.has(a) && De(e, `position ${a} is listed twice`), r.add(A), n.add(a); + (!Number.isInteger(a) || a < 0) && ye(e, `page position ${JSON.stringify(a)} is not a position`); + let A = De(i.page); + r.has(A) && ye(e, `page ${A} is listed twice`), n.has(a) && ye(e, `position ${a} is listed twice`), r.add(A), n.add(a); } return r; } -function Zb(e, t, r, n, i, a) { - qe(r) || De(e, `${t} has no resources`); - for (let [A, o] of Object.entries(r)) n.includes(A) || De(e, `${t} names an unknown resource role '${A}'`), (typeof o != "string" || !Ub.test(o)) && De(e, `${t} names ${JSON.stringify(o)}, which is not a resource id`), i.has(o) || De(e, `${t} names ${o}, which the bundle doesn't hold`), a.add(o); +function pg(e, t, r, n, i, a) { + qe(r) || ye(e, `${t} has no resources`); + for (let [A, o] of Object.entries(r)) n.includes(A) || ye(e, `${t} names an unknown resource role '${A}'`), (typeof o != "string" || !cg.test(o)) && ye(e, `${t} names ${JSON.stringify(o)}, which is not a resource id`), i.has(o) || ye(e, `${t} names ${o}, which the bundle doesn't hold`), a.add(o); } -function zb(e, t, r, n) { - for (let i of r.keys()) Ub.test(i) || De(e, `${JSON.stringify(i)} is not a resource id`), n.has(i) || De(e, `resource ${i} is named by no ${t}`); +function ug(e, t, r, n) { + for (let i of r.keys()) cg.test(i) || ye(e, `${JSON.stringify(i)} is not a resource id`), n.has(i) || ye(e, `resource ${i} is named by no ${t}`); } -function Vr(e, t, r, n) { - for (let i of Object.keys(r)) n.includes(i) || De(e, `${t} has an unknown field '${i}'`); +function Ur(e, t, r, n) { + for (let i of Object.keys(r)) n.includes(i) || ye(e, `${t} has an unknown field '${i}'`); } -function De(e, t) { +function ye(e, t) { throw new f(g.InvalidArg, `${e} bundle: ${t}`); } function qe(e) { return typeof e == "object" && e !== null && !Array.isArray(e); } -function ld(e) { +function Fd(e) { return qe(e) && e.kind === "objectNumber" && Number.isInteger(e.objectNumber) && e.objectNumber > 0; } -function yD(e) { +function t0(e) { return qe(e) && [e.width, e.height].every((t) => typeof t == "number" && Number.isFinite(t) && t >= 0); } -function Jb(e) { - let t = ED(e.bundlePages, e.pages, e.target), r = /* @__PURE__ */ new Set(); - for (let n of e.named) t.has(Ee(n)) || r.add(Ee(n)); +function lg(e) { + let t = n0(e.bundlePages, e.pages, e.target), r = /* @__PURE__ */ new Set(); + for (let n of e.named) t.has(De(n)) || r.add(De(n)); if (r.size > 0) { let n = [...r]; throw new f(g.InvalidArg, `import: ${n.length === 1 ? "page" : "pages"} ${n.join(", ")} map to no page of this document`, { details: { pages: n } }); } - return (n) => t.get(Ee(n)); + return (n) => t.get(De(n)); } -function ED(e, t, r) { - let n = new Map(r.map((a) => [Ee(a.page), a.page])), i = /* @__PURE__ */ new Map(); +function n0(e, t, r) { + let n = new Map(r.map((a) => [De(a.page), a.page])), i = /* @__PURE__ */ new Map(); if (t === "same") for (let a of e) { - let A = n.get(Ee(a.page)); - A && i.set(Ee(a.page), A); + let A = n.get(De(a.page)); + A && i.set(De(a.page), A); } else if (t === "by-position") { let a = new Map(r.map((A) => [A.position, A.page])); for (let A of e) { let o = a.get(A.position); - o && i.set(Ee(A.page), o); + o && i.set(De(A.page), o); } } else for (let { from: a, to: A } of t) { - let o = Ee(a); + let o = De(a); if (i.has(o)) throw new f(g.InvalidArg, `import: page ${o} is mapped twice`); - let s = n.get(Ee(A)); - if (!s) throw new f(g.NotFound, `import: the document has no page ${Ee(A)}`); + let s = n.get(De(A)); + if (!s) throw new f(g.NotFound, `import: the document has no page ${De(A)}`); i.set(o, s); } return i; } -function Oo(e, t) { - let r = new Map(e.map((l) => [Z(l.ref), l])), n = r.get(Z(t)); - if (!n) return []; - let i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), A = (l, m, F) => l.set(m, [...l.get(m) ?? [], F]); - for (let l of e) { - let m = l.reply ? r.get(Z(l.reply.to)) : void 0; - m && m !== l && A(i, m, l); - let F = l.subtype === "popup" && l.parent ? r.get(Z(l.parent)) : void 0; - F && F !== l && A(a, F, l); - let k = l.popup ? r.get(Z(l.popup)) : void 0; - k && k !== l && k.subtype === "popup" && A(a, l, k); - } - let o = [], s = /* @__PURE__ */ new Set(), d = (l) => { - if (!s.has(l)) { - s.add(l); - for (let m of i.get(l) ?? []) d(m); - for (let m of a.get(l) ?? []) s.has(m) || (s.add(m), o.push(m)); - o.push(l); - } - }; - return d(n), o; -} -var GD = /* @__PURE__ */ new Set(["accepted", "rejected", "cancelled", "completed", "none"]), CD = /* @__PURE__ */ new Set(["marked", "unmarked"]); -function $b(e) { - return GD.has(e) ? "review" : CD.has(e) ? "marked" : null; -} -var xD = 1e-3, _D = /* @__PURE__ */ new Set(["subtype", "invisible", "hidden", "print", "noZoom", "noRotate", "noView", "readOnly", "locked", "toggleNoView", "lockedContents", "nm", "reply", "popup", "parent", "open", "groupId", "subject", "state", "stateModel", "ref", "page", "hasAppearance", "appearanceState", "author", "createdAt", "modifiedAt", "userId", "createdBy", "modifiedBy", "importedBy", "actions", "file", "field", "fieldKind"]), HD = /* @__PURE__ */ new Set(["free-text", "redact"]), ID = /* @__PURE__ */ new Set(["square", "circle", "free-text", "stamp", "caret", "widget", "line", "polyline", "polygon", "ink"]), QD = { square: ["box"], circle: ["box"], "free-text": ["box", "calloutLine"], line: ["linePoints"], polygon: ["vertices"], polyline: ["vertices"], ink: ["inkList"], highlight: ["quadPoints"], underline: ["quadPoints"], squiggly: ["quadPoints"], strikeout: ["quadPoints"], redact: ["rect", "quadPoints"], caret: ["box"], text: ["rect"], stamp: ["box"], "file-attachment": ["rect"], link: ["rect"], widget: ["box"] }, ud = (e, t) => Math.abs(e - t) <= xD, Gu = (e) => typeof e == "number" ? (e % 360 + 360) % 360 : 0; -function Ye(e, t) { +var r0 = 1e-3, i0 = /* @__PURE__ */ new Set(["subtype", "invisible", "hidden", "print", "noZoom", "noRotate", "noView", "readOnly", "locked", "toggleNoView", "lockedContents", "nm", "reply", "popup", "parent", "open", "groupId", "subject", "state", "stateModel", "ref", "page", "hasAppearance", "appearanceState", "author", "createdAt", "modifiedAt", "userId", "createdBy", "modifiedBy", "importedBy", "actions", "file", "field", "fieldKind"]), a0 = /* @__PURE__ */ new Set(["free-text", "redact"]), A0 = /* @__PURE__ */ new Set(["square", "circle", "free-text", "stamp", "caret", "widget", "line", "polyline", "polygon", "ink"]), mg = { square: ["box"], circle: ["box"], "free-text": ["box", "calloutLine"], line: ["linePoints"], polygon: ["vertices"], polyline: ["vertices"], ink: ["inkList"], highlight: ["quadPoints"], underline: ["quadPoints"], squiggly: ["quadPoints"], strikeout: ["quadPoints"], redact: ["rect", "quadPoints"], caret: ["box"], text: ["rect"], stamp: ["box"], "file-attachment": ["rect"], link: ["rect"], widget: ["box"] }, vd = (e, t) => Math.abs(e - t) <= r0, Vl = (e) => typeof e == "number" ? (e % 360 + 360) % 360 : 0; +function Xe(e, t) { if (e == null || t == null) return e == null && t == null; - if (typeof e == "number" && typeof t == "number") return ud(e, t); - if (Array.isArray(e) || Array.isArray(t)) return !Array.isArray(e) || !Array.isArray(t) || e.length !== t.length ? !1 : e.every((r, n) => Ye(r, t[n])); + if (typeof e == "number" && typeof t == "number") return vd(e, t); + if (Array.isArray(e) || Array.isArray(t)) return !Array.isArray(e) || !Array.isArray(t) || e.length !== t.length ? !1 : e.every((r, n) => Xe(r, t[n])); if (typeof e == "object" && typeof t == "object") { let r = /* @__PURE__ */ new Set([...Object.keys(e), ...Object.keys(t)]); - for (let n of r) if (!Ye(e[n], t[n])) return !1; + for (let n of r) if (!Xe(e[n], t[n])) return !1; return !0; } return e === t; } -function sc(e, t, r, n) { +function lc(e, t, r, n) { if (e == null || t == null) return e == null && t == null; - if (Array.isArray(e) || Array.isArray(t)) return !Array.isArray(e) || !Array.isArray(t) || e.length !== t.length ? !1 : e.every((i, a) => sc(i, t[a], r, n)); + if (Array.isArray(e) || Array.isArray(t)) return !Array.isArray(e) || !Array.isArray(t) || e.length !== t.length ? !1 : e.every((i, a) => lc(i, t[a], r, n)); if (typeof e == "object" && typeof t == "object") { let i = /* @__PURE__ */ new Set([...Object.keys(e), ...Object.keys(t)]); for (let a of i) { let A = e[a], o = t[a]; if (typeof A == "number" && typeof o == "number") { - if (!ud(A + (a === "left" || a === "right" || a === "x" ? r : a === "bottom" || a === "top" || a === "y" ? n : 0), o)) return !1; - } else if (!sc(A, o, r, n)) return !1; + if (!vd(A + (a === "left" || a === "right" || a === "x" ? r : a === "bottom" || a === "top" || a === "y" ? n : 0), o)) return !1; + } else if (!lc(A, o, r, n)) return !1; } return !0; } return e === t; } -function zA(e) { +function no(e) { if (e == null || typeof e != "object") return; - if (Array.isArray(e)) return e.length > 0 ? zA(e[0]) : void 0; + if (Array.isArray(e)) return e.length > 0 ? no(e[0]) : void 0; let t = e; - return typeof t.x == "number" && typeof t.y == "number" ? { x: t.x, y: t.y } : typeof t.left == "number" && typeof t.bottom == "number" ? { x: t.left, y: t.bottom } : zA(t.start ?? t.upperLeft); + return typeof t.x == "number" && typeof t.y == "number" ? { x: t.x, y: t.y } : typeof t.left == "number" && typeof t.bottom == "number" ? { x: t.left, y: t.bottom } : no(t.start ?? t.upperLeft); } -function SD(e, t, r, n) { - let [i] = n, a = zA(e[i]), A = zA(t[i]); +function o0(e, t, r, n) { + let [i] = n, a = no(e[i]), A = no(t[i]); if (!a || !A) return null; let o = A.x - a.x, s = A.y - a.y; - if (ID.has(r)) { + if (A0.has(r)) { let d = t.rotation === void 0 ? e.rotation : t.rotation; - if (!ud(Gu(e.rotation), Gu(d))) return null; + if (!vd(Vl(e.rotation), Vl(d))) return null; } for (let d of n) { - let l = e[d], m = t[d]; - if (!(l == null && m == null) && (l == null || m == null || !sc(l, m, o, s))) return null; + let u = e[d], m = t[d]; + if (!(u == null && m == null) && (u == null || m == null || !lc(u, m, o, s))) return null; } return { x: o, y: s }; } -var OD = { impact: "inert" }, Ss = { impact: "regenerate" }; -function MD(e, t) { - if (t.subtype !== void 0 && t.subtype !== e.subtype) return Ss; - let r = e, n = t, i = e.subtype, a = n.captionEnabled === void 0 ? r.captionEnabled : n.captionEnabled, A = HD.has(i) || ["line", "polygon", "polyline"].includes(i) && a === !0, o = []; - for (let [m, F] of Object.entries(n)) F === void 0 || _D.has(m) || m === "contents" && !A || Ye(F, r[m]) || o.push(m); - if (o.length === 0) return OD; - let s = QD[i], d = s && (i === "polygon" || i === "polyline") && r.captionCenter ? [...s, "captionCenter"] : s; - if (!d || !o.every((m) => d.includes(m))) return Ss; - let l = SD(r, n, i, d); - return l ? { impact: "translation", by: l } : Ss; -} -function jD(e, t) { - return MD(e, t).impact; -} -var eg = /* @__PURE__ */ new Set(["highlight", "underline", "squiggly", "strikeout", "square", "circle", "free-text", "stamp", "caret", "widget", "line", "polyline", "polygon", "ink"]), RD = /* @__PURE__ */ new Set(["box", "point", "points", "strokes", "quads", "linePoints", "calloutLine"]); -function tg(e) { - return [...Object.entries(Zr[e]).filter(([t, r]) => t !== "rect" && RD.has(r)).map(([t]) => t), "rotation"]; +function mc(e, t, r) { + return Array.isArray(e) ? e.map((n) => mc(n, t, r)) : e === null || typeof e != "object" ? e : Object.fromEntries(Object.entries(e).map(([n, i]) => typeof i != "number" ? [n, mc(i, t, r)] : [n, i + (n === "left" || n === "right" || n === "x" ? t : n === "bottom" || n === "top" || n === "y" ? r : 0)])); } -function LD(e, t) { +function s0(e, t) { + if (t.x === 0 && t.y === 0) return e; + let r = e, n = /* @__PURE__ */ new Set(["rect", "captionCenter", ...mg[e.subtype] ?? []]), i = { ...r }; + for (let a of n) r[a] != null && (i[a] = mc(r[a], t.x, t.y)); + return i; +} +var c0 = { impact: "inert" }, Ls = { impact: "regenerate" }; +function d0(e, t) { + if (t.subtype !== void 0 && t.subtype !== e.subtype) return Ls; + let r = e, n = t, i = e.subtype, a = n.captionEnabled === void 0 ? r.captionEnabled : n.captionEnabled, A = a0.has(i) || ["line", "polygon", "polyline"].includes(i) && a === !0, o = []; + for (let [m, F] of Object.entries(n)) F === void 0 || i0.has(m) || m === "contents" && !A || Xe(F, r[m]) || o.push(m); + if (o.length === 0) return c0; + let s = mg[i], d = s && (i === "polygon" || i === "polyline") && r.captionCenter ? [...s, "captionCenter"] : s; + if (!d || !o.every((m) => d.includes(m))) return Ls; + let u = o0(r, n, i, d); + return u ? { impact: "translation", by: u } : Ls; +} +function p0(e, t) { + return d0(e, t).impact; +} +function Ko(e, t) { + let r = new Map(e.map((u) => [W(u.ref), u])), n = r.get(W(t)); + if (!n) return []; + let i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), A = (u, m, F) => u.set(m, [...u.get(m) ?? [], F]); + for (let u of e) { + let m = u.reply ? r.get(W(u.reply.to)) : void 0; + m && m !== u && A(i, m, u); + let F = u.subtype === "popup" && u.parent ? r.get(W(u.parent)) : void 0; + F && F !== u && A(a, F, u); + let h = u.popup ? r.get(W(u.popup)) : void 0; + h && h !== u && h.subtype === "popup" && A(a, u, h); + } + let o = [], s = /* @__PURE__ */ new Set(), d = (u) => { + if (!s.has(u)) { + s.add(u); + for (let m of i.get(u) ?? []) d(m); + for (let m of a.get(u) ?? []) s.has(m) || (s.add(m), o.push(m)); + o.push(u); + } + }; + return d(n), o; +} +var u0 = /* @__PURE__ */ new Set(["accepted", "rejected", "cancelled", "completed", "none"]), l0 = /* @__PURE__ */ new Set(["marked", "unmarked"]); +function wg(e) { + return u0.has(e) ? "review" : l0.has(e) ? "marked" : null; +} +var bg = /* @__PURE__ */ new Set(["highlight", "underline", "squiggly", "strikeout", "square", "circle", "free-text", "stamp", "caret", "widget", "line", "polyline", "polygon", "ink"]), m0 = /* @__PURE__ */ new Set(["box", "point", "points", "strokes", "quads", "linePoints", "calloutLine"]); +function gg(e) { + return [...Object.entries(ei[e]).filter(([t, r]) => t !== "rect" && m0.has(r)).map(([t]) => t), "rotation"]; +} +function w0(e, t) { let r = e.subtype; - if (!eg.has(r)) return { rect: t }; - let n = Se(t), i = Se(e.rect), a = n.right - n.left, A = n.top - n.bottom, o = i.right - i.left, s = i.top - i.bottom, d = Ye(a, o), l = Ye(A, s); - if (!d && a <= 0 || !l && A <= 0) throw Os(r, "a rect needs a width and a height"); - let m = e.rotation ?? 0, F = Zr[r], k = F.box === "box" ? Ho(m) : null; - if (!Ye((m % 360 + 360) % 360, 0) && k === null && (!d || !l)) throw Os(r, "a turned drawing's rect can only move; resize its shape instead"); - if (!d && o <= 0 || !l && s <= 0) throw Os(r, "its rect has no width or height to stretch; it can only move"); - let P = d ? 1 : a / o, D = l ? 1 : A / s, G = (C) => ({ x: n.left + (C.x - i.left) * P, y: n.bottom + (C.y - i.bottom) * D }), I = (C) => { - let j = G({ x: C.left, y: C.bottom }), X = G({ x: C.right, y: C.top }); - return Se({ left: j.x, bottom: j.y, right: X.x, top: X.y }); - }, _ = { box: (C) => k === null || k === 0 || k === 180 ? I(C) : Ia(I(ci(C, k)), k), point: G, points: (C) => C.map(G), strokes: (C) => C.map((j) => j.map(G)), quads: (C) => C.map((j) => ({ upperLeft: G(j.upperLeft), upperRight: G(j.upperRight), lowerLeft: G(j.lowerLeft), lowerRight: G(j.lowerRight) })), linePoints: (C) => ({ start: G(C.start), end: G(C.end) }), calloutLine: (C) => C.map(G) }, H = {}; - for (let C of tg(r)) { - let j = e[C], X = F[C]; - j != null && X && (H[C] = _[X](j)); + if (!bg.has(r)) return { rect: t }; + let n = Se(t), i = Se(e.rect), a = n.right - n.left, A = n.top - n.bottom, o = i.right - i.left, s = i.top - i.bottom, d = Xe(a, o), u = Xe(A, s); + if (!d && a <= 0 || !u && A <= 0) throw Ts(r, "a rect needs a width and a height"); + let m = e.rotation ?? 0, F = ei[r], h = F.box === "box" ? Mo(m) : null; + if (!Xe((m % 360 + 360) % 360, 0) && h === null && (!d || !u)) throw Ts(r, "a turned drawing's rect can only move; resize its shape instead"); + if (!d && o <= 0 || !u && s <= 0) throw Ts(r, "its rect has no width or height to stretch; it can only move"); + let P = d ? 1 : a / o, D = u ? 1 : A / s, G = (C) => ({ x: n.left + (C.x - i.left) * P, y: n.bottom + (C.y - i.bottom) * D }), I = (C) => { + let O = G({ x: C.left, y: C.bottom }), K = G({ x: C.right, y: C.top }); + return Se({ left: O.x, bottom: O.y, right: K.x, top: K.y }); + }, _ = { box: (C) => h === null || h === 0 || h === 180 ? I(C) : Sa(I(li(C, h)), h), point: G, points: (C) => C.map(G), strokes: (C) => C.map((O) => O.map(G)), quads: (C) => C.map((O) => ({ upperLeft: G(O.upperLeft), upperRight: G(O.upperRight), lowerLeft: G(O.lowerLeft), lowerRight: G(O.lowerRight) })), linePoints: (C) => ({ start: G(C.start), end: G(C.end) }), calloutLine: (C) => C.map(G) }, H = {}; + for (let C of gg(r)) { + let O = e[C], K = F[C]; + O != null && K && (H[C] = _[K](O)); } return H; } -function Os(e, t) { +function Ts(e, t) { return new f(g.InvalidArg, `${e} field 'rect': ${t}`, { details: { field: "rect" } }); } -var DA = (e) => Number.isFinite(e) && e > 0; -function TD(e) { +var xA = (e) => Number.isFinite(e) && e > 0; +function b0(e) { let t = Math.fround(e.x[0]?.conversion ?? NaN); - if (!DA(t)) return null; + if (!xA(t)) return null; if (!e.y) return { sx: t, sy: t }; let r = Math.fround(e.y[0]?.conversion ?? NaN), n = Math.fround(e.cyx ?? NaN), i = r * n; - return DA(r) && DA(n) && DA(i) ? { sx: t, sy: i } : null; + return xA(r) && xA(n) && xA(i) ? { sx: t, sy: i } : null; } -var md = (e) => ({ x: Math.fround(e.x), y: Math.fround(e.y) }); -function Cu(e, t, r) { - let n = 0, i = e.map(md); +var Pd = (e) => ({ x: Math.fround(e.x), y: Math.fround(e.y) }); +function Yl(e, t, r) { + let n = 0, i = e.map(Pd); for (let a = 0; a < (t ? i.length : i.length - 1); a++) { let A = i[a], o = i[(a + 1) % i.length]; n += Math.hypot((o.x - A.x) * r.sx, (o.y - A.y) * r.sy); } return n; } -function ng(e, t) { +function fg(e, t) { if (e.length < 3) return 0; - let r = e.map(md), n = r[0], i = 0; + let r = e.map(Pd), n = r[0], i = 0; for (let a = 1; a < r.length - 1; a++) { let A = r[a], o = r[a + 1]; i += (A.x - n.x) * (o.y - n.y) - (o.x - n.x) * (A.y - n.y); } return Math.abs(i * t.sx * t.sy) / 2; } -function KD(e) { - let t = e.map(md), r = (a, A) => a.x === A.x && a.y === A.y; - if (t.length > 1 && r(t[0], t[t.length - 1]) && t.pop(), t.length < 3 || ng(t, { sx: 1, sy: 1 }) === 0) return !1; +function g0(e) { + let t = e.map(Pd), r = (a, A) => a.x === A.x && a.y === A.y; + if (t.length > 1 && r(t[0], t[t.length - 1]) && t.pop(), t.length < 3 || fg(t, { sx: 1, sy: 1 }) === 0) return !1; let n = (a, A, o) => (A.x - a.x) * (o.y - a.y) - (A.y - a.y) * (o.x - a.x), i = (a, A, o) => n(a, A, o) === 0 && o.x >= Math.min(a.x, A.x) && o.x <= Math.max(a.x, A.x) && o.y >= Math.min(a.y, A.y) && o.y <= Math.max(a.y, A.y); for (let a = 0; a < t.length; a++) { let A = t[a], o = t[(a + 1) % t.length]; if (r(A, o)) return !1; let s = t[(a + 2) % t.length], d = (o.x - A.x) * (s.x - o.x) + (o.y - A.y) * (s.y - o.y) < 0; if (n(A, o, s) === 0 && d) return !1; - for (let l = a + 1; l < t.length; l++) { - if (l === a + 1 || a === 0 && l === t.length - 1) continue; - let m = t[l], F = t[(l + 1) % t.length]; + for (let u = a + 1; u < t.length; u++) { + if (u === a + 1 || a === 0 && u === t.length - 1) continue; + let m = t[u], F = t[(u + 1) % t.length]; if (i(A, o, m) || i(A, o, F) || i(m, F, A) || i(m, F, o) || Math.sign(n(A, o, m)) !== Math.sign(n(A, o, F)) && Math.sign(n(m, F, A)) !== Math.sign(n(m, F, o))) return !1; } } return !0; } -function rg(e) { +function Fg(e) { return e.subtype === "line" && e.intent === "line-dimension" || e.subtype === "polyline" && e.intent === "polyline-dimension" || e.subtype === "polygon" && e.intent === "polygon-dimension"; } -var ig = (e) => !("unavailable" in e); -function ag(e) { - if (!rg(e)) return { unavailable: "not-dimension" }; +var vg = (e) => !("unavailable" in e); +function Pg(e) { + if (!Fg(e)) return { unavailable: "not-dimension" }; if (!e.measure) return { unavailable: "no-measure" }; if (e.measure.subtype !== "rectilinear") return { unavailable: "foreign-measure" }; - let t = e.measure, r = TD(t); + let t = e.measure, r = b0(t); if (!r) return { unavailable: "no-scale" }; let n = e.subtype === "line" ? e.linePoints ? [e.linePoints.start, e.linePoints.end] : [] : e.vertices ?? []; if (n.length < (e.subtype === "polygon" ? 3 : 2) || n.some((o) => !Number.isFinite(Math.fround(o.x)) || !Number.isFinite(Math.fround(o.y)))) return { unavailable: "invalid-geometry" }; let i = e.subtype === "polygon"; - if (i && !KD(n)) return { unavailable: "invalid-geometry" }; + if (i && !g0(n)) return { unavailable: "invalid-geometry" }; let a = i ? t.area : t.distance; if (!a.length) return { unavailable: i ? "no-area-format" : "no-distance-format" }; - if (!a.every(Zi)) return { unavailable: "invalid-format" }; - let A = i ? ng(n, r) : Cu(n, !1, r); + if (!a.every(Ji)) return { unavailable: "invalid-format" }; + let A = i ? fg(n, r) : Yl(n, !1, r); try { - return { kind: i ? "area" : e.subtype === "line" ? "distance" : "perimeter", value: A * Math.fround(a[0].conversion), label: yu(A, a), ...i && t.distance.length && t.distance.every(Zi) ? { perimeter: yu(Cu(n, !0, r), t.distance) } : {} }; + return { kind: i ? "area" : e.subtype === "line" ? "distance" : "perimeter", value: A * Math.fround(a[0].conversion), label: Kl(A, a), ...i && t.distance.length && t.distance.every(Ji) ? { perimeter: Kl(Yl(n, !0, r), t.distance) } : {} }; } catch { return { unavailable: "invalid-format" }; } } -function ND(e) { - let t = ag(e); - return ig(t) && e.contents !== t.label ? { ...e, contents: t.label } : e; +function f0(e) { + let t = Pg(e); + return vg(t) && e.contents !== t.label ? { ...e, contents: t.label } : e; } -function Ag(e) { +function hg(e) { if (e.subtype !== "rectilinear") throw new f(g.InvalidArg, "Only rectilinear measures can be authored"); if (e.ratio !== void 0 && (typeof e.ratio != "string" || e.ratio.includes("\0"))) throw new f(g.InvalidArg, "Invalid scale ratio"); for (let t of ["x", "y", "distance", "area", "angle", "slope"]) { @@ -2641,7 +2659,7 @@ function Ag(e) { if (!(r === void 0 && (t === "y" || t === "angle" || t === "slope"))) { if (!Array.isArray(r)) throw new f(g.InvalidArg, `Missing ${t} formats`); for (let n of r) { - if (!n || typeof n.unit != "string" || !Zi(n)) throw new f(g.InvalidArg, "Invalid number format"); + if (!n || typeof n.unit != "string" || !Ji(n)) throw new f(g.InvalidArg, "Invalid number format"); if (n.fraction !== void 0 && !["decimal", "fraction", "round", "truncate"].includes(n.fraction)) throw new f(g.InvalidArg, "Invalid fraction mode"); if (n.labelPosition !== void 0 && !["prefix", "suffix"].includes(n.labelPosition)) throw new f(g.InvalidArg, "Invalid label position"); if (n.fixed !== void 0 && typeof n.fixed != "boolean") throw new f(g.InvalidArg, "Invalid fixed precision"); @@ -2652,252 +2670,251 @@ function Ag(e) { } } } - if (e.origin !== void 0) for (let t of [e.origin.x, e.origin.y]) kn(t); - if (e.cyx !== void 0 && (kn(e.cyx), Math.fround(e.cyx) <= 0)) throw new f(g.InvalidArg, "Invalid CYX"); + if (e.origin !== void 0) for (let t of [e.origin.x, e.origin.y]) Bn(t); + if (e.cyx !== void 0 && (Bn(e.cyx), Math.fround(e.cyx) <= 0)) throw new f(g.InvalidArg, "Invalid CYX"); } -function kn(e) { +function Bn(e) { if (typeof e != "number" || !Number.isFinite(Math.fround(e))) throw new f(g.InvalidArg, "Value is outside PDF float range"); } -var VD = ["linePoints", "vertices", "measure", "intent", "contents"], YD = ["captionEnabled", "captionPosition", "captionOffset", "captionCenter"], XD = (e) => e === "line" || e === "polygon" || e === "polyline", JA = (e) => YD.some((t) => e[t] !== void 0); -function cc(e, t) { +var F0 = ["linePoints", "vertices", "measure", "intent", "contents"], v0 = ["captionEnabled", "captionPosition", "captionOffset", "captionCenter"], P0 = (e) => e === "line" || e === "polygon" || e === "polyline", ro = (e) => v0.some((t) => e[t] !== void 0); +function wc(e, t) { try { - if (t.measure != null && t.measure.subtype === "rectilinear" && Ag(t.measure), e === "line" && "leader" in t && t.leader != null && (typeof t.leader != "object" || Array.isArray(t.leader))) throw new f(g.InvalidArg, "Invalid line leader"); + if (t.measure != null && t.measure.subtype === "rectilinear" && hg(t.measure), e === "line" && "leader" in t && t.leader != null && (typeof t.leader != "object" || Array.isArray(t.leader))) throw new f(g.InvalidArg, "Invalid line leader"); let r = e === "line" ? ["line-dimension", "line-arrow"] : e === "polygon" ? ["polygon-dimension", "polygon-cloud"] : ["polyline-dimension"]; if (t.intent != null && !r.includes(t.intent)) throw new f(g.InvalidArg, "Invalid measurement intent"); if (t.captionEnabled != null && typeof t.captionEnabled != "boolean") throw new f(g.InvalidArg, "Invalid caption visibility"); if ("captionPosition" in t && t.captionPosition != null && !["inline", "top"].includes(t.captionPosition)) throw new f(g.InvalidArg, "Invalid caption position"); - if ("captionOffset" in t && t.captionOffset && (kn(t.captionOffset.along), kn(t.captionOffset.perpendicular)), "captionCenter" in t && t.captionCenter && (kn(t.captionCenter.x), kn(t.captionCenter.y)), "leader" in t && t.leader) { - for (let i of [t.leader.length, t.leader.extension ?? 0, t.leader.offset ?? 0]) kn(i); + if ("captionOffset" in t && t.captionOffset && (Bn(t.captionOffset.along), Bn(t.captionOffset.perpendicular)), "captionCenter" in t && t.captionCenter && (Bn(t.captionCenter.x), Bn(t.captionCenter.y)), "leader" in t && t.leader) { + for (let i of [t.leader.length, t.leader.extension ?? 0, t.leader.offset ?? 0]) Bn(i); if ((t.leader.extension ?? 0) < 0 || (t.leader.offset ?? 0) < 0) throw new f(g.InvalidArg, "Leader extension and offset must be nonnegative"); } let n = "linePoints" in t ? t.linePoints ? [t.linePoints.start, t.linePoints.end] : [] : "vertices" in t ? t.vertices ?? [] : []; - for (let i of n) kn(i.x), kn(i.y); + for (let i of n) Bn(i.x), Bn(i.y); } catch (r) { throw new f(g.InvalidArg, r.message); } } -function WD(e, t, r) { +function h0(e, t, r) { if (e.length !== t.length || e.length < 2) return; let n = e[0], i = t[0], a = e.findIndex((F) => Math.hypot(F.x - n.x, F.y - n.y) > 1e-6); if (a < 0) return; - let A = { x: e[a].x - n.x, y: e[a].y - n.y }, o = { x: t[a].x - i.x, y: t[a].y - i.y }, s = A.x * A.x + A.y * A.y, d = (A.x * o.x + A.y * o.y) / s, l = (A.x * o.y - A.y * o.x) / s; - if (Math.abs(d * d + l * l - 1) > 1e-5) return; - let m = (F) => ({ x: i.x + d * (F.x - n.x) - l * (F.y - n.y), y: i.y + l * (F.x - n.x) + d * (F.y - n.y) }); - if (e.every((F, k) => { + let A = { x: e[a].x - n.x, y: e[a].y - n.y }, o = { x: t[a].x - i.x, y: t[a].y - i.y }, s = A.x * A.x + A.y * A.y, d = (A.x * o.x + A.y * o.y) / s, u = (A.x * o.y - A.y * o.x) / s; + if (Math.abs(d * d + u * u - 1) > 1e-5) return; + let m = (F) => ({ x: i.x + d * (F.x - n.x) - u * (F.y - n.y), y: i.y + u * (F.x - n.x) + d * (F.y - n.y) }); + if (e.every((F, h) => { let P = m(F); - return Math.hypot(P.x - t[k].x, P.y - t[k].y) <= 1e-3; + return Math.hypot(P.x - t[h].x, P.y - t[h].y) <= 1e-3; })) return m(r); } -function UD(e) { - if (!XD(e.subtype)) return e; +function k0(e) { + if (!P0(e.subtype)) return e; let t = e; - if (cc(e.subtype, t), t.measure != null && t.measure.subtype !== "rectilinear") throw new f(g.InvalidArg, `A ${t.measure.subtype === "geospatial" ? "geospatial" : "foreign"} measure can't be written; leave measure out`); + if (wc(e.subtype, t), t.measure != null && t.measure.subtype !== "rectilinear") throw new f(g.InvalidArg, `A ${t.measure.subtype === "geospatial" ? "geospatial" : "foreign"} measure can't be written; leave measure out`); let r = e; - return JA(e) && (e.subtype === "line" ? r = { ...e, captionEnabled: e.captionEnabled ?? !1, captionPosition: e.captionPosition ?? "inline", captionOffset: e.captionOffset ?? null } : (e.subtype === "polygon" || e.subtype === "polyline") && (r = { ...e, captionEnabled: e.captionEnabled ?? (e.captionCenter != null ? !1 : null), captionCenter: e.captionCenter ?? null })), ND(r); + return ro(e) && (e.subtype === "line" ? r = { ...e, captionEnabled: e.captionEnabled ?? !1, captionPosition: e.captionPosition ?? "inline", captionOffset: e.captionOffset ?? null } : (e.subtype === "polygon" || e.subtype === "polyline") && (r = { ...e, captionEnabled: e.captionEnabled ?? (e.captionCenter != null ? !1 : null), captionCenter: e.captionCenter ?? null })), f0(r); } -function qD(e, t) { +function B0(e, t) { if (e.subtype !== "line" && e.subtype !== "polygon" && e.subtype !== "polyline") return t; let r = e.subtype, n = { ...t, subtype: r }; - if (cc(r, n), n.measure != null && n.measure.subtype !== "rectilinear") { + if (wc(r, n), n.measure != null && n.measure.subtype !== "rectilinear") { if (e.measure?.subtype !== n.measure.subtype) throw new f(g.InvalidArg, `A ${n.measure.subtype === "geospatial" ? "geospatial" : "foreign"} measure can't be written; leave measure out`); n = { ...n, measure: void 0 }; } - if (e.subtype === "line" && n.subtype === "line") JA(n) && (n = { ...n, captionEnabled: n.captionEnabled === void 0 ? e.captionEnabled : n.captionEnabled, captionPosition: n.captionPosition ?? e.captionPosition, captionOffset: n.captionOffset === void 0 ? e.captionOffset : n.captionOffset }); + if (e.subtype === "line" && n.subtype === "line") ro(n) && (n = { ...n, captionEnabled: n.captionEnabled === void 0 ? e.captionEnabled : n.captionEnabled, captionPosition: n.captionPosition ?? e.captionPosition, captionOffset: n.captionOffset === void 0 ? e.captionOffset : n.captionOffset }); else if (e.subtype !== "line" && n.subtype !== "line") { if (n.vertices && n.captionEnabled !== null && n.captionCenter === void 0 && e.captionCenter) { - let i = WD(e.vertices, n.vertices, e.captionCenter); + let i = h0(e.vertices, n.vertices, e.captionCenter); i && (n = { ...n, captionCenter: i }); } - JA(n) && (n = n.captionEnabled === null ? { ...n, captionEnabled: null, captionCenter: null } : { ...n, captionEnabled: n.captionEnabled ?? e.captionEnabled ?? !1, captionCenter: n.captionCenter === void 0 ? e.captionCenter : n.captionCenter }); + ro(n) && (n = n.captionEnabled === null ? { ...n, captionEnabled: null, captionCenter: null } : { ...n, captionEnabled: n.captionEnabled ?? e.captionEnabled ?? !1, captionCenter: n.captionCenter === void 0 ? e.captionCenter : n.captionCenter }); } - if (VD.some((i) => n[i] !== void 0)) { - let i = ag({ ...e, ...n }); - ig(i) && (n = { ...n, contents: i.label }); + if (F0.some((i) => n[i] !== void 0)) { + let i = Pg({ ...e, ...n }); + vg(i) && (n = { ...n, contents: i.label }); } - return cc(r, n), n; + return wc(r, n), n; } -function og(e) { - if (!(e.richText === void 0 || e.richText === null) && !(e.contents === void 0 || e.contents === null) && di(e.contents, ` -`) !== qr(e.richText)) throw new f(g.InvalidArg, `${e.subtype ?? "annotation"}: \`contents\` must equal the plain projection of \`richText\` when both are given`); +function kg(e) { + if (!(e.richText === void 0 || e.richText === null) && !(e.contents === void 0 || e.contents === null) && mi(e.contents, ` +`) !== $r(e.richText)) throw new f(g.InvalidArg, `${e.subtype ?? "annotation"}: \`contents\` must equal the plain projection of \`richText\` when both are given`); } -function sg(e) { - return e === void 0 || e === "free-text" ? !1 : Wb[e]?.includes("richText") ?? !1; +function Bg(e) { + return e === void 0 || e === "free-text" ? !1 : sg[e]?.includes("richText") ?? !1; } -function ZD(e) { - if (!sg(e.subtype)) return e; +function D0(e) { + if (!Bg(e.subtype)) return e; let { richText: t } = e; - return t ? { ...e, contents: qr(t) } : e; + return t ? { ...e, contents: $r(t) } : e; } -function zD(e, t) { - if (!sg(t.subtype ?? e.subtype)) return t; +function y0(e, t) { + if (!Bg(t.subtype ?? e.subtype)) return t; let { richText: r } = t; - if (r) return { ...t, contents: qr(r) }; + if (r) return { ...t, contents: $r(r) }; if (r === null || t.contents === void 0 || !e.richText) return t; if (t.contents === null) return { ...t, richText: null }; - let n = { paragraphs: cd(t.contents) }; - return { ...t, richText: n, contents: qr(n) }; + let n = { paragraphs: gd(t.contents) }; + return { ...t, richText: n, contents: $r(n) }; } -var dc = "#ff0000", OA = "#000000", Ms = "#ffff00", Dt = { invisible: !1, hidden: !1, print: !0, noZoom: !1, noRotate: !1, noView: !1, readOnly: !1, locked: !1, toggleNoView: !1, lockedContents: !1, blendMode: "normal" }, Cr = { ...Dt, color: dc, opacity: 1, strokeWidth: 1, borderStyle: "solid" }, xu = { start: "none", end: "none" }, js = { ...Dt, color: OA, opacity: 1 }, _t = { square: Cr, circle: Cr, line: { ...Cr, lineEndings: xu, captionEnabled: !1, captionPosition: "inline" }, polygon: Cr, polyline: { ...Cr, lineEndings: xu }, ink: Cr, highlight: { ...Dt, blendMode: "multiply", color: Ms, opacity: 1 }, underline: js, squiggly: js, strikeout: js, caret: { ...Dt, color: dc, opacity: 1 }, "free-text": { ...Dt, contents: "", intent: "free-text", fontFamily: "helvetica", fontSize: 12, textAlign: "left", verticalAlign: "top", color: OA, fontColor: OA, opacity: 1, strokeWidth: 1, borderStyle: "solid" }, text: { ...Dt, icon: "note", open: !1, color: Ms, opacity: 1 }, "file-attachment": { ...Dt, icon: "paperclip", color: Ms, opacity: 1 }, link: Dt, redact: { ...Dt, quadPoints: [], color: dc, opacity: 1, repeat: !1, fontFamily: "helvetica", fontSize: 12, fontColor: OA, textAlign: "left" }, stamp: { ...Dt, fit: "contain", opacity: 1 }, widget: { ...Dt, strokeWidth: 1, borderStyle: "solid", textAlign: "left" }, popup: { ...Dt, print: !1, open: !1 } }; -function cg(e) { - return e === "unsupported" ? {} : _t[e]; +var bc = "#ff0000", TA = "#000000", Ks = "#ffff00", Et = { invisible: !1, hidden: !1, print: !0, noZoom: !1, noRotate: !1, noView: !1, readOnly: !1, locked: !1, toggleNoView: !1, lockedContents: !1, blendMode: "normal" }, _r = { ...Et, color: bc, opacity: 1, strokeWidth: 1, borderStyle: "solid" }, Xl = { start: "none", end: "none" }, Ns = { ...Et, color: TA, opacity: 1 }, Qt = { square: _r, circle: _r, line: { ..._r, lineEndings: Xl, captionEnabled: !1, captionPosition: "inline" }, polygon: _r, polyline: { ..._r, lineEndings: Xl }, ink: _r, highlight: { ...Et, blendMode: "multiply", color: Ks, opacity: 1 }, underline: Ns, squiggly: Ns, strikeout: Ns, caret: { ...Et, color: bc, opacity: 1 }, "free-text": { ...Et, contents: "", intent: "free-text", fontFamily: "helvetica", fontSize: 12, textAlign: "left", verticalAlign: "top", color: TA, fontColor: TA, opacity: 1, strokeWidth: 1, borderStyle: "solid" }, text: { ...Et, icon: "note", open: !1, color: Ks, opacity: 1 }, "file-attachment": { ...Et, icon: "paperclip", color: Ks, opacity: 1 }, link: Et, redact: { ...Et, quadPoints: [], color: bc, opacity: 1, repeat: !1, fontFamily: "helvetica", fontSize: 12, fontColor: TA, textAlign: "left" }, stamp: { ...Et, fit: "contain", opacity: 1 }, widget: { ...Et, strokeWidth: 1, borderStyle: "solid", textAlign: "left" }, popup: { ...Et, print: !1, open: !1 } }; +function Dg(e) { + return e === "unsupported" ? {} : Qt[e]; } -var wd = [3, 3]; -function bd(e, t) { +var hd = [3, 3]; +function kd(e, t) { return e === "dashed" && t === void 0; } -var dg = (e) => ZA(e)?.owners.dashArray !== void 0; -function JD(e) { - if (!dg(e.subtype)) return e; +var yg = (e) => to(e)?.owners.dashArray !== void 0; +function E0(e) { + if (!yg(e.subtype)) return e; let t = e; - return bd(t.borderStyle ?? cg(e.subtype).borderStyle, t.dashArray) ? { ...e, dashArray: [...wd] } : e; + return kd(t.borderStyle ?? Dg(e.subtype).borderStyle, t.dashArray) ? { ...e, dashArray: [...hd] } : e; } -function $D(e, t) { - if (!dg(e.subtype)) return t; +function G0(e, t) { + if (!yg(e.subtype)) return t; let r = t; - return !bd(r.borderStyle, r.dashArray) || e.dashArray != null ? t : { ...t, dashArray: [...wd] }; + return !kd(r.borderStyle, r.dashArray) || e.dashArray != null ? t : { ...t, dashArray: [...hd] }; } -function e0(e, t, r) { - let n = { x: (e.left + e.right) / 2, y: (e.bottom + e.top) / 2 }, i = { degrees: r, center: n }, a = r ? od(t, i) : t, A = a.x - n.x, o = a.y - n.y, s = Math.abs(A) >= Math.abs(o) ? { x: A >= 0 ? e.right : e.left, y: n.y } : { x: n.x, y: o > 0 ? e.top : e.bottom }; - return r ? Qo(s, i) : s; +function C0(e, t, r) { + let n = { x: (e.left + e.right) / 2, y: (e.bottom + e.top) / 2 }, i = { degrees: r, center: n }, a = r ? wd(t, i) : t, A = a.x - n.x, o = a.y - n.y, s = Math.abs(A) >= Math.abs(o) ? { x: A >= 0 ? e.right : e.left, y: n.y } : { x: n.x, y: o > 0 ? e.top : e.bottom }; + return r ? Ro(s, i) : s; } -function pg(e, t, r) { +function Eg(e, t, r) { let n = { ...e }; if (t.fontFamily !== void 0) { - let i = _o(t.fontFamily, r); + let i = Oo(t.fontFamily, r); n.family = i.family, i.weight !== void 0 && (n.weight = i.weight), i.italic !== void 0 && (n.italic = i.italic); } return t.fontSize !== void 0 && (n.size = t.fontSize), t.fontColor != null && (n.color = t.fontColor), t.textAlign !== void 0 && (n.align = t.textAlign), n; } -function lg(e, t) { +function Gg(e, t) { if (t != null && e !== "free-text-callout") throw new f(g.InvalidArg, `free-text: a callout line needs intent 'free-text-callout', not '${e}'`, { details: { field: "intent" } }); } -function t0(e, t, r) { +function x0(e, t, r) { let n = {}; return r.fontSize === void 0 && e.size !== void 0 && e.size !== t.fontSize && (n.fontSize = e.size), r.fontColor === void 0 && e.color !== void 0 && e.color.toLowerCase() !== t.fontColor?.toLowerCase() && (n.fontColor = e.color.toLowerCase()), r.textAlign === void 0 && e.align !== void 0 && e.align !== t.textAlign && (n.textAlign = e.align), n; } -function n0(e, t, r) { +function _0(e, t, r) { if (e.subtype !== "free-text" || t.subtype !== "free-text") return t; let n = t; - (n.intent !== void 0 || n.calloutLine !== void 0) && lg(n.intent ?? e.intent, n.calloutLine !== void 0 ? n.calloutLine : e.calloutLine); - let i = pg({}, n, r), a = n.richText !== void 0 || n.contents !== void 0; + (n.intent !== void 0 || n.calloutLine !== void 0) && Gg(n.intent ?? e.intent, n.calloutLine !== void 0 ? n.calloutLine : e.calloutLine); + let i = Eg({}, n, r), a = n.richText !== void 0 || n.contents !== void 0; if (!a && Object.keys(i).length === 0) return n; - let A = { ...n.richText?.body ? { ...sd, ...n.richText.body } : e.richText.body, ...i }, o = { body: A, paragraphs: n.richText?.paragraphs ?? (n.contents !== void 0 ? cd(n.contents ?? "") : e.richText.paragraphs) }; - return { ...n, ...t0(A, e, n), richText: o, ...a ? { contents: qr(o) } : {} }; + let A = { ...n.richText?.body ? { ...bd, ...n.richText.body } : e.richText.body, ...i }, o = { body: A, paragraphs: n.richText?.paragraphs ?? (n.contents !== void 0 ? gd(n.contents ?? "") : e.richText.paragraphs) }; + return { ...n, ...x0(A, e, n), richText: o, ...a ? { contents: $r(o) } : {} }; } -function r0(e, t) { +function H0(e, t) { if (e.subtype !== "free-text" || t.subtype !== "free-text") return t; let r = t, n = e.calloutLine; if (!n || r.calloutLine !== void 0 || r.box === void 0 && r.rotation === void 0) return r; - let i = r.box ?? e.box, a = (r.rotation === void 0 ? e.rotation : r.rotation) ?? 0, A = n.length === 3 ? n[1] : void 0, o = e0(i, A ?? n[0], a); + let i = r.box ?? e.box, a = (r.rotation === void 0 ? e.rotation : r.rotation) ?? 0, A = n.length === 3 ? n[1] : void 0, o = C0(i, A ?? n[0], a); return { ...r, calloutLine: A ? [n[0], A, o] : [n[0], o] }; } -function i0(e, t) { +function I0(e, t) { if (e.subtype !== "free-text") return e; let r = e.intent ?? (e.calloutLine != null ? "free-text-callout" : "free-text"); - lg(r, e.calloutLine); - let n = { body: pg(e.richText?.body ?? {}, e, t), paragraphs: e.richText?.paragraphs ?? cd(e.contents ?? "") }; - return { ...e, intent: r, richText: n, contents: qr(n) }; + Gg(r, e.calloutLine); + let n = { body: Eg(e.richText?.body ?? {}, e, t), paragraphs: e.richText?.paragraphs ?? gd(e.contents ?? "") }; + return { ...e, intent: r, richText: n, contents: $r(n) }; } -function a0(e, t) { +function Q0(e, t) { let { rect: r, ...n } = t; - if (r === void 0 || !eg.has(e.subtype)) return t; - if (!Yb(r)) throw new f(g.InvalidArg, `${e.subtype} update field 'rect': not a rect of finite numbers`, { details: { field: "rect" } }); - if (Ye(Se(r), e.rect)) return n; - let i = e, a = tg(e.subtype).find((l) => { - let m = t[l]; - return m !== void 0 && !Ye(m, i[l]); + if (r === void 0 || !bg.has(e.subtype)) return t; + if (!Ag(r)) throw new f(g.InvalidArg, `${e.subtype} update field 'rect': not a rect of finite numbers`, { details: { field: "rect" } }); + if (Xe(Se(r), e.rect)) return n; + let i = e, a = gg(e.subtype).find((u) => { + let m = t[u]; + return m !== void 0 && !Xe(m, i[u]); }); if (a) throw new f(g.InvalidArg, `${e.subtype} update field 'rect': a new rect moves the shape, so it can't come with a new '${a}'`, { details: { field: "rect" } }); let { left: A, bottom: o, right: s, top: d } = r; - return { ...n, ...LD(e, { left: A, bottom: o, right: s, top: d }) }; + return { ...n, ...w0(e, { left: A, bottom: o, right: s, top: d }) }; } -function ug(e, t) { +function Cg(e, t) { let r = Object.entries(e).filter(([n, i]) => n === "subtype" || !t(n, i)); return Object.fromEntries(r); } -function A0(e, t) { - let r = ZA(e.subtype)?.colors ?? [], n = e; - return ug(t, (i, a) => { +function S0(e, t) { + let r = to(e.subtype)?.colors ?? [], n = e; + return Cg(t, (i, a) => { let A = n[i]; - return r.includes(i) && typeof a == "string" && typeof A == "string" && vD(a, A); + return r.includes(i) && typeof a == "string" && typeof A == "string" && qD(a, A); }); } -function o0(e, t) { +function O0(e, t) { let r = e; - return ug(t, (n, i) => i !== void 0 && Ye(i, r[n])); + return Cg(t, (n, i) => i !== void 0 && Xe(i, r[n])); } -function mg(e) { +function xg(e) { return new f(g.InvalidArg, `text: the custom state '${e}' needs a stateModel`, { details: { field: "stateModel" } }); } -function s0(e) { +function M0(e) { if (e.subtype !== "text" || e.state == null || e.stateModel != null) return e; - let t = $b(e.state); - if (!t) throw mg(e.state); + let t = wg(e.state); + if (!t) throw xg(e.state); return { ...e, stateModel: t }; } -function c0(e, t) { +function j0(e, t) { if (e.subtype !== "text" || t.subtype !== "text" || t.state == null || t.stateModel !== void 0) return t; - let r = $b(t.state); + let r = wg(t.state); if (r) return { ...t, stateModel: r }; - if (!e.stateModel) throw mg(t.state); + if (!e.stateModel) throw xg(t.state); return t; } -function wg(e, t) { - let r = Wb[e], n = Object.keys(t).filter((i) => i !== "subtype" && !r.includes(i)); +function _g(e, t) { + let r = sg[e], n = Object.keys(t).filter((i) => i !== "subtype" && !r.includes(i)); if (n.length > 0) throw new f(g.InvalidArg, `${e} has no field ${n.map((i) => `'${i}'`).join(", ")}`); } -function d0(e) { +function R0(e) { return e.length < 2 ? e.join("") : `${e.slice(0, -1).join(", ")} or ${e.at(-1)}`; } -function p0(e, t) { +function L0(e, t) { if (t === void 0 || t === e.subtype) return e.subtype; - let r = kD(e.subtype); - if (!r.includes(t)) throw new f(g.InvalidArg, r.length === 0 ? `${e.subtype} has no other kind it can become` : `${e.subtype} can become ${d0(r)}, not ${t}`, { details: { field: "subtype" } }); - let n = BD(e, t); + let r = JD(e.subtype); + if (!r.includes(t)) throw new f(g.InvalidArg, r.length === 0 ? `${e.subtype} has no other kind it can become` : `${e.subtype} can become ${R0(r)}, not ${t}`, { details: { field: "subtype" } }); + let n = $D(e, t); if (n !== null) { let i = e[n]; throw new f(g.InvalidArg, `${e.subtype} field '${n}' holds ${typeof i == "string" ? `'${i}'` : JSON.stringify(i)}, and ${t} has no such field: clear it first, in the same change`, { details: { field: n } }); } return t; } -function l0(e, t) { - let r = p0(e, t.subtype); +function T0(e, t) { + let r = L0(e, t.subtype); if (e.subtype === "unsupported") throw new f(g.InvalidArg, "an annotation of a type the engine doesn't model can't be updated"); - if (t.nm !== void 0 && t.nm !== e.nm) throw new f(g.InvalidArg, "an annotation's nm can't change after create"); - return wg(r, t), { ...t, subtype: r }; + return _g(r, t), { ...t, subtype: r }; } -function u0(e, t) { - return o0(e, A0(e, a0(e, l0(e, t)))); +function K0(e, t) { + return O0(e, S0(e, Q0(e, T0(e, t)))); } -function m0(e, t, r = {}) { - let n = $D(e, c0(e, t)); - return og(n), qD(e, r0(e, zD(e, n0(e, n, r.describeFont)))); +function N0(e, t, r = {}) { + let n = G0(e, j0(e, t)); + return kg(n), B0(e, H0(e, y0(e, _0(e, n, r.describeFont)))); } -function w0(e) { - if (Zr[e.subtype]?.box !== "box") return e; +function V0(e) { + if (ei[e.subtype]?.box !== "box") return e; let t = e; if (t.box !== void 0) return e; if (t.rect === void 0) throw new f(g.InvalidArg, `${e.subtype} create: give its \`box\`, or its \`rect\` with a quarter turn`, { details: { field: "box" } }); - if (!Yb(t.rect)) throw new f(g.InvalidArg, `${e.subtype} create field 'rect': not a rect of finite numbers`, { details: { field: "rect" } }); - let r = t.rotation ?? 0, n = Ho(r); + if (!Ag(t.rect)) throw new f(g.InvalidArg, `${e.subtype} create field 'rect': not a rect of finite numbers`, { details: { field: "rect" } }); + let r = t.rotation ?? 0, n = Mo(r); if (n === null) throw new f(g.InvalidArg, `${e.subtype} create field 'rect': a rect places a box at a quarter turn; at ${r}° give its \`box\``, { details: { field: "rect" } }); let { rect: i, ...a } = e; - return { ...a, box: Ia(Se(t.rect), n) }; + return { ...a, box: Sa(Se(t.rect), n) }; } -function b0(e) { +function Y0(e) { if (e.subtype !== "redact" || e.rect != null) return e; let t = e.quadPoints ?? []; if (t.length === 0) return e; - let r = Qa(t.flatMap((n) => [n.upperLeft, n.upperRight, n.lowerLeft, n.lowerRight])); + let r = Oa(t.flatMap((n) => [n.upperLeft, n.upperRight, n.lowerLeft, n.lowerRight])); return { ...e, rect: r }; } -function g0(e) { - return wg(e.subtype, e), w0(e); +function X0(e) { + return _g(e.subtype, e), V0(e); } -function f0(e, t = {}) { - return og(e), UD(b0(ZD(i0(JD(s0(e)), t.describeFont)))); +function W0(e, t = {}) { + return kg(e), k0(Y0(D0(I0(E0(M0(e)), t.describeFont)))); } -var Et = class extends f { +var xt = class extends f { constructor(e, t) { super(g.InvalidArg, `invalid scope "${e}": ${t}`, { details: { scope: e, reason: t } }), this.scope = e, Te(this, "name", "InvalidScope"); } @@ -2905,12 +2922,12 @@ var Et = class extends f { constructor(e, t, r, n) { super(g.Forbidden, `permission denied${t ? ` (${t})` : ""}: ${r ? `one of ${r.join(", ")}` : e}${n ? ` for ${n.length} annotation${n.length === 1 ? "" : "s"}` : ""}`, { details: { required: e, ...t === void 0 ? {} : { context: t }, ...r === void 0 ? {} : { anyOf: [...r] }, ...n === void 0 ? {} : { refs: [...n] } } }), this.required = e, this.context = t, this.anyOf = r, this.refs = n, Te(this, "name", "PermissionDenied"); } -}, bg = class extends f { +}, Hg = class extends f { constructor(e) { - super(g.Aborted, F0(e)), Te(this, "name", "AbortError"), Te(this, "reason", void 0), this.reason = e; + super(g.Aborted, U0(e)), Te(this, "name", "AbortError"), Te(this, "reason", void 0), this.reason = e; } }; -function F0(e) { +function U0(e) { if (e == null) return "aborted"; if (typeof e == "string") return e; if (e instanceof Error) return e.message || "aborted"; @@ -2920,41 +2937,41 @@ function F0(e) { return "aborted"; } } -function v0(e, t) { +function q0(e, t) { let { includeAnnotations: r, includeFormFields: n } = e ?? {}; return { includeAnnotations: r ?? t.annotations, includeFormFields: n ?? (r === !1 ? !1 : t.formFields) }; } -function P0(e, t) { +function Z0(e, t) { let { usage: r, viewport: n } = e ?? {}; if (r === void 0 || r === "display") { - if (n?.kind === "dpi" && Hi("viewport", 'a dpi viewport is only for a print picture (usage: "print")'), n?.kind === "thumbnail") { - e?.target !== void 0 && e.target.kind !== "page" && Hi("target", "a thumbnail is the whole page: it takes no target"); + if (n?.kind === "dpi" && Si("viewport", 'a dpi viewport is only for a print picture (usage: "print")'), n?.kind === "thumbnail") { + e?.target !== void 0 && e.target.kind !== "page" && Si("target", "a thumbnail is the whole page: it takes no target"); return; } return; } - r !== "print" && Hi("usage", 'usage must be "display" or "print"'), (n?.kind !== "dpi" || n.dpi !== 150 && n.dpi !== 300) && Hi("viewport", "a print picture needs viewport: { kind: 'dpi', dpi: 150 or 300 }"); - for (let i of ["target", "rotation", "background"]) e?.[i] !== void 0 && Hi(i, `a print picture takes no ${i}: it is the whole page, upright, on white`); + r !== "print" && Si("usage", 'usage must be "display" or "print"'), (n?.kind !== "dpi" || n.dpi !== 150 && n.dpi !== 300) && Si("viewport", "a print picture needs viewport: { kind: 'dpi', dpi: 150 or 300 }"); + for (let i of ["target", "rotation", "background"]) e?.[i] !== void 0 && Si(i, `a print picture takes no ${i}: it is the whole page, upright, on white`); } -function Hi(e, t) { +function Si(e, t) { throw new f(g.InvalidArg, t, { details: { field: e } }); } -var _u = ["normal", "rollover", "down"]; -function h0(e) { +var Wl = ["normal", "rollover", "down"]; +function z0(e) { if (e === void 0) return; if (e.length === 0) throw new f(g.InvalidArg, "modes must name at least one mode", { details: { field: "modes" } }); - let t = _u.filter((r) => e.includes(r)); - return t.length === _u.length ? void 0 : t; + let t = Wl.filter((r) => e.includes(r)); + return t.length === Wl.length ? void 0 : t; } -var gg = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; -Uint8Array.from(gg, (e) => e.charCodeAt(0)); +var Ig = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; +Uint8Array.from(Ig, (e) => e.charCodeAt(0)); (() => { let e = new Int16Array(128).fill(-1); - for (let t = 0; t < 64; t++) e[gg.charCodeAt(t)] = t; + for (let t = 0; t < 64; t++) e[Ig.charCodeAt(t)] = t; return e; })(); -var fg = (e, t, r) => Math.min(Math.max(Math.floor(e), t), r); -function k0(e, t) { +var Qg = (e, t, r) => Math.min(Math.max(Math.floor(e), t), r); +function J0(e, t) { let r = 0, n = e.length - 1, i = null; for (; r <= n; ) { let a = r + n >> 1; @@ -2962,56 +2979,56 @@ function k0(e, t) { } return i ?? [0, 0]; } -function Hu(e, t) { - let r = fg(t, 0, e.charCount), n = e.charMap; +function Ul(e, t) { + let r = Qg(t, 0, e.charCount), n = e.charMap; if (!n || n.length === 0) return Math.min(r, e.text.length); - let [i, a] = k0(n, r); + let [i, a] = J0(n, r); return a + (r - i); } -function Rs(e, t, r) { - let n = fg(t, 0, e.text.length), i = 0, a = e.charCount; +function Vs(e, t, r) { + let n = Qg(t, 0, e.text.length), i = 0, a = e.charCount; if (r === "start") { for (; i < a; ) { let A = i + Math.ceil((a - i) / 2); - Hu(e, A) <= n ? i = A : a = A - 1; + Ul(e, A) <= n ? i = A : a = A - 1; } return i; } for (; i < a; ) { let A = i + a >> 1; - Hu(e, A) >= n ? a = A : i = A + 1; + Ul(e, A) >= n ? a = A : i = A + 1; } return i; } -function B0(e, t) { +function $0(e, t) { let r = t.start, n = t.start + t.count; - if (n <= r) return { start: Rs(e, r, "end"), count: 0 }; - let i = Rs(e, r, "start"); - return { start: i, count: Rs(e, n, "end") - i }; + if (n <= r) return { start: Vs(e, r, "end"), count: 0 }; + let i = Vs(e, r, "start"); + return { start: i, count: Vs(e, n, "end") - i }; } -function D0(e) { +function ey(e) { return e >= 64976 && e <= 65007 || (e & 65534) === 65534; } -var y0 = /[\r\p{Noncharacter_Code_Point}]/u; -function E0(e) { +var ty = /[\r\p{Noncharacter_Code_Point}]/u; +function ny(e) { let { text: t, charCount: r } = e; - if (!y0.test(t)) return e; + if (!ty.test(t)) return e; let n = e.charMap ?? [], i = [], a = [], A = 0, o = 0, s = 0; - for (let l = 0; l < r; l++) { + for (let u = 0; u < r; u++) { let m = o + 1; - A < n.length && n[A][0] === l + 1 && (m = n[A][1], A++); - let F = G0(t.slice(o, m), t[m]); - i.push(F), s += F.length, F.length !== 1 && a.push([l + 1, s]), o = m; + A < n.length && n[A][0] === u + 1 && (m = n[A][1], A++); + let F = ry(t.slice(o, m), t[m]); + i.push(F), s += F.length, F.length !== 1 && a.push([u + 1, s]), o = m; } let d = i.join(""); return a.length > 0 ? { text: d, charCount: r, charMap: a } : { text: d, charCount: r }; } -function G0(e, t) { +function ry(e, t) { return e === "\r" ? t === ` ` ? "" : ` -` : e !== "" && D0(e.codePointAt(0)) ? "" : e; +` : e !== "" && ey(e.codePointAt(0)) ? "" : e; } -function C0(e, t, r) { +function iy(e, t, r) { if (!r || r.length === 0) return e === t ? null : `identity map requires charCount (${e}) === text length (${t})`; let n = 0, i = 0; for (let A = 0; A < r.length; A++) { @@ -3026,43 +3043,43 @@ function C0(e, t, r) { let a = i + (e - n); return a !== t ? `map projects charCount to ${a}, but text length is ${t}` : null; } -function Sa(e) { +function Ma(e) { return e === "start" || e === "end" ? null : "before" in e ? e.before : e.after; } -function pc(e, t, r) { +function gc(e, t, r) { if (t === "start") return 0; if (t === "end") return e.length; - let n = Sa(t), i = e.findIndex((a) => r(a) === r(n)); + let n = Ma(t), i = e.findIndex((a) => r(a) === r(n)); if (i < 0) throw new f(g.NotFound, `no neighbour ${r(n)} in the list`, { details: { field: "position" } }); return "before" in t ? i : i + 1; } -function Fg(e, t, r, n) { +function Sg(e, t, r, n) { let i = new Set(t.map(n)); if (i.size !== t.length) throw new f(g.InvalidArg, "a row is named twice", { details: { field: "refs" } }); - let a = new Set(e.map(n)), A = t.find((l) => !a.has(n(l))); + let a = new Set(e.map(n)), A = t.find((u) => !a.has(n(u))); if (A !== void 0) throw new f(g.NotFound, `no row ${n(A)} in the list`, { details: { field: "refs" } }); - let o = Sa(r); + let o = Ma(r); if (o !== null && i.has(n(o))) throw new f(g.InvalidArg, `the neighbour ${n(o)} is one of the rows that move`, { details: { field: "position" } }); - let s = e.filter((l) => !i.has(n(l))), d = pc(s, r, n); + let s = e.filter((u) => !i.has(n(u))), d = gc(s, r, n); return [...s.slice(0, d), ...t, ...s.slice(d)]; } -var Iu = { long: 842, short: 612 }; -function x0(e, t) { - let r = Math.max(e.width, e.height), n = Math.min(e.width, e.height), i = Math.min(1, Iu.long / r, Iu.short / n); +var fc = "EmbedPDF", ql = { long: 842, short: 612 }; +function ay(e, t) { + let r = Math.max(e.width, e.height), n = Math.min(e.width, e.height), i = Math.min(1, ql.long / r, ql.short / n); return t / 72 * i; } -function _0(e, t, r) { +function Ay(e, t, r) { let n = t === 90 || t === 270, i = n ? e.height : e.width, a = n ? e.width : e.height; if (r.kind === "width") { if (!Number.isFinite(r.width) || r.width <= 0) throw new f(g.InvalidArg, "render viewport width must be positive"); let o = Math.max(1, Math.round(r.width)); return { width: o, height: Math.max(1, Math.round(o * a / i)) }; } - let A = r.kind === "dpi" ? x0(e, r.dpi) : r.kind === "thumbnail" ? 512 / Math.max(e.width, e.height) : r.scale ?? 1; + let A = r.kind === "dpi" ? ay(e, r.dpi) : r.kind === "thumbnail" ? 512 / Math.max(e.width, e.height) : r.scale ?? 1; if (!Number.isFinite(A) || A <= 0) throw new f(g.InvalidArg, "render viewport scale must be positive"); return { width: Math.max(1, Math.round(i * A)), height: Math.max(1, Math.round(a * A)) }; } -function H0(e, t, r, n) { +function oy(e, t, r, n) { let { x: i, y: a } = e, A = e.width, o = e.height; switch (t) { case 0: @@ -3075,42 +3092,42 @@ function H0(e, t, r, n) { return [0, -n / A, r / o, 0, -r / o * a, n / A * (i + A)]; } } -function Lt(e, t) { +function Tt(e, t) { return { x: e.x - t.left, y: t.top - e.y }; } -function Tt(e, t) { +function Kt(e, t) { return { x: e.x + t.left, y: t.top - e.y }; } -function bt(e, t) { +function ft(e, t) { return { x: e.left - t.left, y: t.top - e.top, width: e.right - e.left, height: e.top - e.bottom }; } -function $A(e, t) { +function io(e, t) { let r = e.x + t.left, n = t.top - e.y; return { left: r, right: r + e.width, bottom: n - e.height, top: n }; } -function eo(e, t) { - return { upperLeft: Lt(e.upperLeft, t), upperRight: Lt(e.upperRight, t), lowerLeft: Lt(e.lowerLeft, t), lowerRight: Lt(e.lowerRight, t) }; -} -function I0(e, t) { +function ao(e, t) { return { upperLeft: Tt(e.upperLeft, t), upperRight: Tt(e.upperRight, t), lowerLeft: Tt(e.lowerLeft, t), lowerRight: Tt(e.lowerRight, t) }; } -function vg(e) { +function sy(e, t) { + return { upperLeft: Kt(e.upperLeft, t), upperRight: Kt(e.upperRight, t), lowerLeft: Kt(e.lowerLeft, t), lowerRight: Kt(e.lowerRight, t) }; +} +function Og(e) { return "rotation" in e; } -function Kt(e) { +function Nt(e) { return { kind: "objectNumber", objectNumber: e }; } -function gd(e) { +function Bd(e) { if (e.byteLength < 4) return null; let t = new Uint8Array(e); - return t[0] === 137 && t[1] === 80 && t[2] === 78 && t[3] === 71 ? Q0(e) : t[0] === 255 && t[1] === 216 && t[2] === 255 ? S0(e) : t[0] === 37 && t[1] === 80 && t[2] === 68 && t[3] === 70 ? { mimeType: "application/pdf" } : null; + return t[0] === 137 && t[1] === 80 && t[2] === 78 && t[3] === 71 ? cy(e) : t[0] === 255 && t[1] === 216 && t[2] === 255 ? dy(e) : t[0] === 37 && t[1] === 80 && t[2] === 68 && t[3] === 70 ? { mimeType: "application/pdf" } : null; } -function Q0(e) { +function cy(e) { if (e.byteLength < 24) return null; let t = new DataView(e), r = t.getUint32(16), n = t.getUint32(20); return r === 0 || n === 0 ? null : { mimeType: "image/png", width: r, height: n }; } -function S0(e) { +function dy(e) { let t = new Uint8Array(e), r = 2; for (; r + 4 < t.byteLength; ) { if (t[r] !== 255) return null; @@ -3129,50 +3146,50 @@ function S0(e) { } return null; } -var Pg = ["appearance", "file"]; -function hg(e, t, r) { - let n = pd[e] ?? {}; - for (let i of Pg) { +var Mg = ["appearance", "file"]; +function jg(e, t, r) { + let n = To[e] ?? {}; + for (let i of Mg) { let a = t?.[i] !== void 0; if (a && n[i] === void 0) throw new f(g.InvalidArg, `a ${e} annotation takes no '${i}' resource`); if (!a && r === "create" && n[i] === "required") throw new f(g.InvalidArg, `creating a ${e} annotation needs its '${i}' resource`); } } -var Ii = Object.freeze({ bundleBytes: 50 * 1024 * 1024, manifestBytes: 16 * 1024 * 1024, items: 1e4, pages: 2e3, resources: 2e3, resourceBytes: 50 * 1024 * 1024, imagePixels: 4e7 }); -function Mo(e) { +var jr = Object.freeze({ bundleBytes: 50 * 1024 * 1024, manifestBytes: 16 * 1024 * 1024, items: 1e4, pages: 2e3, resources: 2e3, resourceBytes: 50 * 1024 * 1024, imagePixels: 4e7 }); +function No(e) { return new TextEncoder().encode(JSON.stringify(e)).length; } function Qe(e, t, r, n) { let i = t[r]; if (!(n <= i)) throw new f(g.PayloadTooLarge, `the ${e} bundle is past its ${r} limit: ${n} > ${i}`, { details: { limit: r, max: i, value: n } }); } -var O0 = ["format", "version", "pages", "items"], M0 = [...O0, "resources"], j0 = ["data", "resources"]; -function R0(e, t, r) { - qe(e) || De("annotation", "not an annotation bundle"), Vr("annotation", "the bundle", e, M0), e.format !== "embedpdf/annotations" && De("annotation", `unknown format ${JSON.stringify(e.format)}`), e.version !== 1 && De("annotation", `unknown version ${JSON.stringify(e.version)}`); +var py = ["format", "version", "pages", "items"], uy = [...py, "resources"], ly = ["data", "resources"]; +function my(e, t, r) { + qe(e) || ye("annotation", "not an annotation bundle"), Ur("annotation", "the bundle", e, uy), e.format !== "embedpdf/annotations" && ye("annotation", `unknown format ${JSON.stringify(e.format)}`), e.version !== 1 && ye("annotation", `unknown version ${JSON.stringify(e.version)}`); let { pages: n, items: i } = e; - Array.isArray(n) || De("annotation", "pages is not a list"), Array.isArray(i) || De("annotation", "items is not a list"), Qe("annotation", r, "items", i.length), Qe("annotation", r, "pages", n.length), Qe("annotation", r, "resources", t.size); - let a = Mo({ pages: n, items: i }); + Array.isArray(n) || ye("annotation", "pages is not a list"), Array.isArray(i) || ye("annotation", "items is not a list"), Qe("annotation", r, "items", i.length), Qe("annotation", r, "pages", n.length), Qe("annotation", r, "resources", t.size); + let a = No({ pages: n, items: i }); Qe("annotation", r, "manifestBytes", a); for (let s of t.values()) Qe("annotation", r, "resourceBytes", s), a += s; Qe("annotation", r, "bundleBytes", a); - let A = qb("annotation", n), o = /* @__PURE__ */ new Set(); + let A = dg("annotation", n), o = /* @__PURE__ */ new Set(); i.forEach((s, d) => { - (!qe(s) || !qe(s.data) || typeof s.data.subtype != "string") && De("annotation", `item ${d} has no annotation data`), Vr("annotation", `item ${d}`, s, j0); - let l = s.data.ref, m = qe(l) ? l.page : void 0; - (!ld(m) || !A.has(Ee(m))) && De("annotation", `item ${d} is on a page the bundle doesn't list`), Zb("annotation", `item ${d}`, s.resources, Pg, t, o); - }), zb("annotation", "item", t, o); + (!qe(s) || !qe(s.data) || typeof s.data.subtype != "string") && ye("annotation", `item ${d} has no annotation data`), Ur("annotation", `item ${d}`, s, ly); + let u = s.data.ref, m = qe(u) ? u.page : void 0; + (!Fd(m) || !A.has(De(m))) && ye("annotation", `item ${d} is on a page the bundle doesn't list`), pg("annotation", `item ${d}`, s.resources, Mg, t, o); + }), ug("annotation", "item", t, o); } -function kg(e) { +function Rg(e) { return { kind: "key", key: e }; } -var L0 = /* @__PURE__ */ new Set(["square", "circle", "free-text", "stamp", "caret"]); -function T0(e) { +var wy = /* @__PURE__ */ new Set(["square", "circle", "free-text", "stamp", "caret"]); +function by(e) { let { subtype: t, rect: r, box: n, rotation: i, intent: a } = e; - return !L0.has(t) || !n || !i || t === "free-text" && a === "free-text-callout" ? null : Io(ci(n, i), r) ? i : null; + return !wy.has(t) || !n || !i || t === "free-text" && a === "free-text-callout" ? null : jo(li(n, i), r) ? i : null; } -var Bg = (e, t) => typeof t == "function" ? t(e) : t, to = (e, t) => e === null ? null : t(e); -function zr(e, t) { - let { left: r, top: n } = Bg(e.page, t), i = (A) => to(A, (o) => o - r), a = (A) => to(A, (o) => n - o); +var Lg = (e, t) => typeof t == "function" ? t(e) : t, Ao = (e, t) => e === null ? null : t(e); +function ti(e, t) { + let { left: r, top: n } = Lg(e.page, t), i = (A) => Ao(A, (o) => o - r), a = (A) => Ao(A, (o) => n - o); switch (e.kind) { case "xyz": { let { left: A, top: o, ...s } = e; @@ -3189,16 +3206,16 @@ function zr(e, t) { return { ...o, x: i(A) }; } case "fitR": { - let { left: A, bottom: o, right: s, top: d, ...l } = e, m = Math.min(o, d), F = Math.max(o, d); - return { ...l, x: Math.min(A, s) - r, y: n - F, width: Math.abs(s - A), height: F - m }; + let { left: A, bottom: o, right: s, top: d, ...u } = e, m = Math.min(o, d), F = Math.max(o, d); + return { ...u, x: Math.min(A, s) - r, y: n - F, width: Math.abs(s - A), height: F - m }; } case "fit": case "fitB": return e; } } -function zi(e, t) { - let { left: r, top: n } = Bg(e.page, t), i = (A) => to(A, (o) => o + r), a = (A) => to(A, (o) => n - o); +function $i(e, t) { + let { left: r, top: n } = Lg(e.page, t), i = (A) => Ao(A, (o) => o + r), a = (A) => Ao(A, (o) => n - o); switch (e.kind) { case "xyz": { let { x: A, y: o, ...s } = e; @@ -3215,201 +3232,201 @@ function zi(e, t) { return { ...o, left: i(A) }; } case "fitR": { - let { x: A, y: o, width: s, height: d, ...l } = e, m = n - o; - return { ...l, left: A + r, bottom: m - d, right: A + r + s, top: m }; + let { x: A, y: o, width: s, height: d, ...u } = e, m = n - o; + return { ...u, left: A + r, bottom: m - d, right: A + r + s, top: m }; } case "fit": case "fitB": return e; } } -function fd(e, t) { +function Dd(e, t) { return e.kind === "goto" ? { ...e, destination: t(e.destination) } : e; } -function Dg(e, t) { - let r = e.next.map((n) => Dg(n, t)); +function Tg(e, t) { + let r = e.next.map((n) => Tg(n, t)); return e.type === "goto" ? { ...e, next: r, destination: t(e.destination) } : { ...e, next: r }; } -function Ji(e, t) { - return { ...e, root: e.root ? Dg(e.root, t) : null }; +function ea(e, t) { + return { ...e, root: e.root ? Tg(e.root, t) : null }; } -function yg(e, t) { - let r = e.next?.map((i) => yg(i, t)), n = e.type === "goto" ? { ...e, destination: t(e.destination) } : e; +function Kg(e, t) { + let r = e.next?.map((i) => Kg(i, t)), n = e.type === "goto" ? { ...e, destination: t(e.destination) } : e; return r ? { ...n, next: r } : n; } -function Fd(e, t) { - return Object.fromEntries(Object.entries(e).map(([r, n]) => n == null ? [r, n] : [r, "root" in n ? Ji(n, t) : yg(n, t)])); +function yd(e, t) { + return Object.fromEntries(Object.entries(e).map(([r, n]) => n == null ? [r, n] : [r, "root" in n ? ea(n, t) : Kg(n, t)])); } -function vd(e, t) { - return Object.fromEntries(Object.entries(e).map(([r, n]) => [r, n && Ji(n, t)])); +function Ed(e, t) { + return Object.fromEntries(Object.entries(e).map(([r, n]) => [r, n && ea(n, t)])); } -function K0(e, t) { - return vd(e, t); +function gy(e, t) { + return Ed(e, t); } -function N0(e, t) { - return vd(e, t); +function fy(e, t) { + return Ed(e, t); } -function V0(e, t) { +function Fy(e, t) { let { nameTreeScripts: r, openAction: n, openDestination: i, ...a } = e; - return { ...vd(a, t), nameTreeScripts: r.map((A) => ({ ...A, action: Ji(A.action, t) })), openAction: n ? Ji(n, t) : null, ..."openDestination" in e ? { openDestination: i && t(i) } : {} }; + return { ...Ed(a, t), nameTreeScripts: r.map((A) => ({ ...A, action: ea(A.action, t) })), openAction: n ? ea(n, t) : null, ..."openDestination" in e ? { openDestination: i && t(i) } : {} }; } -var Eg = (e, t) => e.subtype === "rectilinear" && e.origin ? { ...e, origin: t(e.origin) } : e; -function Gg(e, t) { - return Eg(e, (r) => Lt(r, t)); +var Ng = (e, t) => e.subtype === "rectilinear" && e.origin ? { ...e, origin: t(e.origin) } : e; +function Gd(e, t) { + return Ng(e, (r) => Tt(r, t)); } -function Cg(e, t) { - return Eg(e, (r) => Tt(r, t)); +function Cd(e, t) { + return Ng(e, (r) => Kt(r, t)); } -function Y0(e, t) { - return e.map((r) => ({ ...r, bbox: bt(r.bbox, t), measure: r.measure ? Gg(r.measure, t) : null })); +function Vg(e, t) { + return e.map((r) => ({ ...r, bbox: ft(r.bbox, t), measure: r.measure ? Gd(r.measure, t) : null })); } -var X0 = { length: (e) => e, point: (e, { visible: t }) => Lt(e, t), points: (e, { visible: t }) => e.map((r) => Lt(r, t)), strokes: (e, { visible: t }) => e.map((r) => r.map((n) => Lt(n, t))), box: (e, { visible: t }) => bt(e, t), quads: (e, { visible: t }) => e.map((r) => eo(r, t)), linePoints: (e, { visible: t }) => ({ start: Lt(e.start, t), end: Lt(e.end, t) }), calloutLine: (e, { visible: t }) => e.map((r) => Lt(r, t)), measure: (e, { visible: t }) => Gg(e, t), linkTarget: (e, { boxOf: t }) => fd(e, (r) => zr(r, t)), actions: (e, { boxOf: t }) => Fd(e, (r) => zr(r, t)) }, Pd = { length: (e) => e, point: (e, { visible: t }) => Tt(e, t), points: (e, { visible: t }) => e.map((r) => Tt(r, t)), strokes: (e, { visible: t }) => e.map((r) => r.map((n) => Tt(n, t))), box: (e, { visible: t }) => $A(e, t), quads: (e, { visible: t }) => e.map((r) => I0(r, t)), linePoints: (e, { visible: t }) => ({ start: Tt(e.start, t), end: Tt(e.end, t) }), calloutLine: (e, { visible: t }) => e.map((r) => Tt(r, t)), measure: (e, { visible: t }) => Cg(e, t), linkTarget: (e, { boxOf: t }) => fd(e, (r) => zi(r, t)), actions: (e, { boxOf: t }) => Fd(e, (r) => zi(r, t)) }, W0 = (e) => e === void 0 ? PD : Zr[e] ?? Zr.unsupported; -function hd(e, t, r, n) { - let i = W0(e); +var vy = { length: (e) => e, point: (e, { visible: t }) => Tt(e, t), points: (e, { visible: t }) => e.map((r) => Tt(r, t)), strokes: (e, { visible: t }) => e.map((r) => r.map((n) => Tt(n, t))), box: (e, { visible: t }) => ft(e, t), quads: (e, { visible: t }) => e.map((r) => ao(r, t)), linePoints: (e, { visible: t }) => ({ start: Tt(e.start, t), end: Tt(e.end, t) }), calloutLine: (e, { visible: t }) => e.map((r) => Tt(r, t)), measure: (e, { visible: t }) => Gd(e, t), linkTarget: (e, { boxOf: t }) => Dd(e, (r) => ti(r, t)), actions: (e, { boxOf: t }) => yd(e, (r) => ti(r, t)) }, xd = { length: (e) => e, point: (e, { visible: t }) => Kt(e, t), points: (e, { visible: t }) => e.map((r) => Kt(r, t)), strokes: (e, { visible: t }) => e.map((r) => r.map((n) => Kt(n, t))), box: (e, { visible: t }) => io(e, t), quads: (e, { visible: t }) => e.map((r) => sy(r, t)), linePoints: (e, { visible: t }) => ({ start: Kt(e.start, t), end: Kt(e.end, t) }), calloutLine: (e, { visible: t }) => e.map((r) => Kt(r, t)), measure: (e, { visible: t }) => Cd(e, t), linkTarget: (e, { boxOf: t }) => Dd(e, (r) => $i(r, t)), actions: (e, { boxOf: t }) => yd(e, (r) => $i(r, t)) }, Py = (e) => e === void 0 ? ZD : ei[e] ?? ei.unsupported; +function _d(e, t, r, n) { + let i = Py(e); return Object.fromEntries(Object.entries(t).map(([a, A]) => { let o = i[a]; if (!o || A == null) return [a, A]; let s = n[o](A, r); - if (n === Pd && xg(s)) throw U0(a, o); + if (n === xd && Yg(s)) throw hy(a, o); return [a, s]; })); } -function xg(e) { - return typeof e == "number" ? Number.isNaN(e) : typeof e != "object" || e === null ? !1 : Object.values(e).some(xg); +function Yg(e) { + return typeof e == "number" ? Number.isNaN(e) : typeof e != "object" || e === null ? !1 : Object.values(e).some(Yg); } -function U0(e, t) { +function hy(e, t) { let r = t === "box" ? "{ x, y, width, height }" : "points as { x, y }"; return new f(g.InvalidArg, `field '${e}': expected page space, ${r} from the page's top-left`, { details: { field: e } }); } -function jo(e, t, r) { - return hd(e.subtype, e, { visible: t, boxOf: r }, X0); +function ja(e, t, r) { + return _d(e.subtype, e, { visible: t, boxOf: r }, vy); } -function kd(e, t, r) { - return hd(e.subtype, e, { visible: t, boxOf: r }, Pd); +function Vo(e, t, r) { + return _d(e.subtype, e, { visible: t, boxOf: r }, xd); } -function Ni(e, t, r) { - return hd(e.subtype, e, { visible: t, boxOf: r }, Pd); +function Yi(e, t, r) { + return _d(e.subtype, e, { visible: t, boxOf: r }, xd); } -var Qu = (e) => !!(e.space || e.empty), pi = (e) => !!e.empty, q0 = 2.5, Z0 = 1.5, z0 = 0.8, J0 = 0.5, $0 = Math.cos(87e-4), _g = 1e-6; -function e9(e) { - let t = r9(e), r = t.glyphs.length, n = (a) => typeof a != "number" ? ju(t, a) : Number.isInteger(a) && a >= 0 && a < r ? a : null, i = ([a, A]) => ({ start: a, count: A - a + 1 }); - return { charCount: r, runs: e.runs, charAt: (a) => ju(t, a), wordAt: (a) => { +var Zl = (e) => !!(e.space || e.empty), wi = (e) => !!e.empty, ky = 2.5, By = 1.5, Dy = 0.8, yy = 0.5, Ey = Math.cos(87e-4), Xg = 1e-6; +function Gy(e) { + let t = _y(e), r = t.glyphs.length, n = (a) => typeof a != "number" ? em(t, a) : Number.isInteger(a) && a >= 0 && a < r ? a : null, i = ([a, A]) => ({ start: a, count: A - a + 1 }); + return { charCount: r, runs: e.runs, charAt: (a) => em(t, a), wordAt: (a) => { let A = n(a); - return A === null ? null : i(A9(t, A)); + return A === null ? null : i(Qy(t, A)); }, lineAt: (a) => { let A = n(a); - return A === null ? null : i(o9(t, A)); - }, segments: (a) => c9(t, a.start, a.count), charQuad: (a) => s9(t, a) }; + return A === null ? null : i(Sy(t, A)); + }, segments: (a) => My(t, a.start, a.count), charQuad: (a) => Oy(t, a) }; } -var t9 = { baseline: { x: 1, y: 0 }, ascent: { x: 0, y: 1 } }, Hg = (e, t) => ({ x: t.x * e.baseline.x + t.y * e.baseline.y, y: t.x * e.ascent.x + t.y * e.ascent.y }), yA = (e, t) => ({ x: e.baseline.x * t.x + e.ascent.x * t.y, y: e.baseline.y * t.x + e.ascent.y * t.y }), Su = { left: 0, bottom: 0, right: 0, top: 0 }; -function Ou(e, t) { - let r = [t.upperLeft, t.upperRight, t.lowerLeft, t.lowerRight].map((a) => Hg(e, a)), n = r.map((a) => a.x), i = r.map((a) => a.y); +var Cy = { baseline: { x: 1, y: 0 }, ascent: { x: 0, y: 1 } }, Wg = (e, t) => ({ x: t.x * e.baseline.x + t.y * e.baseline.y, y: t.x * e.ascent.x + t.y * e.ascent.y }), _A = (e, t) => ({ x: e.baseline.x * t.x + e.ascent.x * t.y, y: e.baseline.y * t.x + e.ascent.y * t.y }), zl = { left: 0, bottom: 0, right: 0, top: 0 }; +function Jl(e, t) { + let r = [t.upperLeft, t.upperRight, t.lowerLeft, t.lowerRight].map((a) => Wg(e, a)), n = r.map((a) => a.x), i = r.map((a) => a.y); return { left: Math.min(...n), bottom: Math.min(...i), right: Math.max(...n), top: Math.max(...i) }; } -function n9(e, t) { - let r = t.glyphs.find((F) => !pi(F)); +function xy(e, t) { + let r = t.glyphs.find((F) => !wi(F)); if (!r) return 0; let n = r.loose, i = n.upperRight.x - n.upperLeft.x, a = n.upperRight.y - n.upperLeft.y, A = Math.hypot(i, a); - if (A <= _g) return 0; - let o = { x: i / A, y: a / A }, s = n.upperLeft.x - n.lowerLeft.x, d = n.upperLeft.y - n.lowerLeft.y, l = o.x * d - o.y * s >= 0 ? 1 : -1, m = { x: -o.y * l, y: o.x * l }; + if (A <= Xg) return 0; + let o = { x: i / A, y: a / A }, s = n.upperLeft.x - n.lowerLeft.x, d = n.upperLeft.y - n.lowerLeft.y, u = o.x * d - o.y * s >= 0 ? 1 : -1, m = { x: -o.y * u, y: o.x * u }; for (let F = 0; F < e.length; F++) { - let k = e[F], P = k.baseline.x * o.x + k.baseline.y * o.y, D = k.ascent.x * m.x + k.ascent.y * m.y > 0; - if (P >= $0 && D) return F; + let h = e[F], P = h.baseline.x * o.x + h.baseline.y * o.y, D = h.ascent.x * m.x + h.ascent.y * m.y > 0; + if (P >= Ey && D) return F; } return e.push({ baseline: o, ascent: m }), e.length - 1; } -function r9(e) { - let t = [], r = [], n = [t9]; +function _y(e) { + let t = [], r = [], n = [Cy]; for (let i of e.runs) { - if (!vg(i)) { + if (!Og(i)) { for (let s of i.glyphs) t.push({ loose: s.loose, tight: s.tight, space: s.space, empty: s.empty }); r.push({ start: i.start, count: i.glyphs.length, rect: i.rect, fontSize: i.fontSize, frame: 0 }); continue; } - let a = n9(n, i), A = n[a], o = null; + let a = xy(n, i), A = n[a], o = null; for (let s of i.glyphs) { - if (pi(s)) { - t.push({ loose: Su, space: s.space, empty: !0 }); + if (wi(s)) { + t.push({ loose: zl, space: s.space, empty: !0 }); continue; } - let d = Ou(A, s.loose), l = s.tight ? Ou(A, s.tight) : void 0; - t.push({ loose: d, tight: l, space: s.space }), o = o ? { left: Math.min(o.left, d.left), bottom: Math.min(o.bottom, d.bottom), right: Math.max(o.right, d.right), top: Math.max(o.top, d.top) } : d; + let d = Jl(A, s.loose), u = s.tight ? Jl(A, s.tight) : void 0; + t.push({ loose: d, tight: u, space: s.space }), o = o ? { left: Math.min(o.left, d.left), bottom: Math.min(o.bottom, d.bottom), right: Math.max(o.right, d.right), top: Math.max(o.top, d.top) } : d; } - r.push({ start: i.start, count: i.glyphs.length, rect: o ?? Su, fontSize: i.fontSize, frame: a }); + r.push({ start: i.start, count: i.glyphs.length, rect: o ?? zl, fontSize: i.fontSize, frame: a }); } return { glyphs: t, runs: r, frames: n }; } -var Mu = (e, t) => t.x >= e.left && t.x <= e.right && t.y >= e.bottom && t.y <= e.top; -function i9(e) { +var $l = (e, t) => t.x >= e.left && t.x <= e.right && t.y >= e.bottom && t.y <= e.top; +function Hy(e) { let t = 0, r = 0; - for (let n of e.glyphs) pi(n) || (t += n.loose.top - n.loose.bottom, r++); + for (let n of e.glyphs) wi(n) || (t += n.loose.top - n.loose.bottom, r++); return r === 0 ? 0 : t / r; } -function a9(e, t) { - return e.frames.map((r, n) => n === 0 ? t : Hg(r, t)); +function Iy(e, t) { + return e.frames.map((r, n) => n === 0 ? t : Wg(r, t)); } -function ju(e, t, r = 1.5) { - let n = a9(e, t); +function em(e, t, r = 1.5) { + let n = Iy(e, t); for (let o of e.runs) { let s = n[o.frame]; - if (Mu(o.rect, s)) for (let d = 0; d < o.count; d++) { - let l = e.glyphs[o.start + d]; - if (Mu(l.tight ?? l.loose, s)) return o.start + d; + if ($l(o.rect, s)) for (let d = 0; d < o.count; d++) { + let u = e.glyphs[o.start + d]; + if ($l(u.tight ?? u.loose, s)) return o.start + d; } } if (r <= 0) return null; - let i = i9(e) * r / 2, a = -1, A = 1 / 0; + let i = Hy(e) * r / 2, a = -1, A = 1 / 0; for (let o of e.runs) { let s = n[o.frame], d = o.rect; - if (!(s.x < d.left - i || s.x > d.right + i || s.y < d.bottom - i || s.y > d.top + i)) for (let l = 0; l < o.count; l++) { - let m = e.glyphs[o.start + l]; - if (pi(m)) continue; + if (!(s.x < d.left - i || s.x > d.right + i || s.y < d.bottom - i || s.y > d.top + i)) for (let u = 0; u < o.count; u++) { + let m = e.glyphs[o.start + u]; + if (wi(m)) continue; let F = m.tight ?? m.loose; if (s.x < F.left - i || s.x > F.right + i || s.y < F.bottom - i || s.y > F.top + i) continue; - let k = Math.min(Math.abs(s.x - F.left), Math.abs(s.x - F.right)), P = Math.min(Math.abs(s.y - F.bottom), Math.abs(s.y - F.top)); - k + P < A - _g && (A = k + P, a = o.start + l); + let h = Math.min(Math.abs(s.x - F.left), Math.abs(s.x - F.right)), P = Math.min(Math.abs(s.y - F.bottom), Math.abs(s.y - F.top)); + h + P < A - Xg && (A = h + P, a = o.start + u); } } return a >= 0 ? a : null; } -function A9(e, t) { +function Qy(e, t) { let r = e.glyphs.length; if (t < 0 || t >= r) return [t, t]; let n = t; - for (; n > 0 && !Qu(e.glyphs[n - 1]); ) n--; + for (; n > 0 && !Zl(e.glyphs[n - 1]); ) n--; let i = t; - for (; i < r - 1 && !Qu(e.glyphs[i + 1]); ) i++; + for (; i < r - 1 && !Zl(e.glyphs[i + 1]); ) i++; return [n, i]; } -function o9(e, t) { +function Sy(e, t) { let r = e.runs.findIndex((s) => t >= s.start && t < s.start + s.count); if (r < 0) return [t, t]; let n = e.runs[r], i = n.rect.bottom, a = n.rect.top, A = n.start, o = n.start + n.count - 1; for (let s = r - 1; s >= 0; s--) { let d = e.runs[s]; - if (!Ru(d.rect)) { - if (d.frame !== n.frame || !Lu(d.rect.bottom, d.rect.top, i, a)) break; + if (!tm(d.rect)) { + if (d.frame !== n.frame || !nm(d.rect.bottom, d.rect.top, i, a)) break; A = d.start; } } for (let s = r + 1; s < e.runs.length; s++) { let d = e.runs[s]; - if (!Ru(d.rect)) { - if (d.frame !== n.frame || !Lu(d.rect.bottom, d.rect.top, i, a)) break; + if (!tm(d.rect)) { + if (d.frame !== n.frame || !nm(d.rect.bottom, d.rect.top, i, a)) break; o = d.start + d.count - 1; } } return [A, o]; } -function s9(e, t) { +function Oy(e, t) { let r = e.glyphs[t]; - if (!r || pi(r)) return null; + if (!r || wi(r)) return null; let n = r.loose; if (n.right <= n.left || n.top <= n.bottom) return null; let i = e.runs.find((A) => t >= A.start && t < A.start + A.count), a = e.frames[i?.frame ?? 0]; - return Ig(a, i?.frame ?? 0, n); + return Ug(a, i?.frame ?? 0, n); } -function c9(e, t, r) { +function My(e, t, r) { if (r <= 0 || e.glyphs.length === 0) return []; let n = Math.max(0, t), i = Math.min(e.glyphs.length - 1, t + r - 1); if (i < n) return []; @@ -3417,81 +3434,81 @@ function c9(e, t, r) { for (let A of e.runs) { let o = A.start + A.count - 1; if (o < n || A.start > i) continue; - let s = Math.max(n, A.start), d = Math.min(i, o), l = 1 / 0, m = -1 / 0, F = 1 / 0, k = -1 / 0, P = 0, D = 0, G = -1 / 0, I = 0, _ = 0, H = () => { - P > 0 && l !== 1 / 0 && a.push({ rect: { left: l, bottom: F, right: m, top: k }, charCount: P, fontSize: A.fontSize, frame: A.frame, firstX: I, lastX: _ }), l = 1 / 0, m = -1 / 0, F = 1 / 0, k = -1 / 0, P = 0, D = 0, G = -1 / 0; + let s = Math.max(n, A.start), d = Math.min(i, o), u = 1 / 0, m = -1 / 0, F = 1 / 0, h = -1 / 0, P = 0, D = 0, G = -1 / 0, I = 0, _ = 0, H = () => { + P > 0 && u !== 1 / 0 && a.push({ rect: { left: u, bottom: F, right: m, top: h }, charCount: P, fontSize: A.fontSize, frame: A.frame, firstX: I, lastX: _ }), u = 1 / 0, m = -1 / 0, F = 1 / 0, h = -1 / 0, P = 0, D = 0, G = -1 / 0; }; for (let C = s; C <= d; C++) { - let j = e.glyphs[C]; - if (pi(j)) continue; - let X = j.loose; + let O = e.glyphs[C]; + if (wi(O)) continue; + let K = O.loose; if (P > 0 && G > -1 / 0) { let we = D / P; - we > 0 && Math.abs(X.left - G) > q0 * we && H(); + we > 0 && Math.abs(K.left - G) > ky * we && H(); } - let ge = (X.left + X.right) / 2; - P === 0 && (I = ge), _ = ge, l = Math.min(l, X.left), m = Math.max(m, X.right), F = Math.min(F, X.bottom), k = Math.max(k, X.top), P++, D += X.right - X.left, G = X.right; + let fe = (K.left + K.right) / 2; + P === 0 && (I = fe), _ = fe, u = Math.min(u, K.left), m = Math.max(m, K.right), F = Math.min(F, K.bottom), h = Math.max(h, K.top), P++, D += K.right - K.left, G = K.right; } H(); } - return d9(a).map((A) => p9(e, A)); + return jy(a).map((A) => Ry(e, A)); } -function d9(e) { +function jy(e) { let t = [], r = null, n = null; - for (let i of e) r && n && r.frame === i.frame && l9(r, i) ? n = { rect: { left: Math.min(n.rect.left, i.rect.left), bottom: Math.min(n.rect.bottom, i.rect.bottom), right: Math.max(n.rect.right, i.rect.right), top: Math.max(n.rect.top, i.rect.top) }, frame: n.frame, firstX: n.firstX, lastX: i.lastX } : (n && t.push(n), n = { rect: i.rect, frame: i.frame, firstX: i.firstX, lastX: i.lastX }), r = i; + for (let i of e) r && n && r.frame === i.frame && Ly(r, i) ? n = { rect: { left: Math.min(n.rect.left, i.rect.left), bottom: Math.min(n.rect.bottom, i.rect.bottom), right: Math.max(n.rect.right, i.rect.right), top: Math.max(n.rect.top, i.rect.top) }, frame: n.frame, firstX: n.firstX, lastX: i.lastX } : (n && t.push(n), n = { rect: i.rect, frame: i.frame, firstX: i.firstX, lastX: i.lastX }), r = i; return n && n.rect.right > n.rect.left && n.rect.top > n.rect.bottom && t.push(n), t; } -function Ig(e, t, r) { - return t === 0 ? { upperLeft: { x: r.left, y: r.top }, upperRight: { x: r.right, y: r.top }, lowerLeft: { x: r.left, y: r.bottom }, lowerRight: { x: r.right, y: r.bottom } } : { upperLeft: yA(e, { x: r.left, y: r.top }), upperRight: yA(e, { x: r.right, y: r.top }), lowerLeft: yA(e, { x: r.left, y: r.bottom }), lowerRight: yA(e, { x: r.right, y: r.bottom }) }; +function Ug(e, t, r) { + return t === 0 ? { upperLeft: { x: r.left, y: r.top }, upperRight: { x: r.right, y: r.top }, lowerLeft: { x: r.left, y: r.bottom }, lowerRight: { x: r.right, y: r.bottom } } : { upperLeft: _A(e, { x: r.left, y: r.top }), upperRight: _A(e, { x: r.right, y: r.top }), lowerLeft: _A(e, { x: r.left, y: r.bottom }), lowerRight: _A(e, { x: r.right, y: r.bottom }) }; } -function p9(e, t) { - let r = e.frames[t.frame], n = Ig(r, t.frame, t.rect); +function Ry(e, t) { + let r = e.frames[t.frame], n = Ug(r, t.frame, t.rect); return { quad: n, rect: t.frame === 0 ? t.rect : { left: Math.min(n.upperLeft.x, n.upperRight.x, n.lowerLeft.x, n.lowerRight.x), bottom: Math.min(n.upperLeft.y, n.upperRight.y, n.lowerLeft.y, n.lowerRight.y), right: Math.max(n.upperLeft.x, n.upperRight.x, n.lowerLeft.x, n.lowerRight.x), top: Math.max(n.upperLeft.y, n.upperRight.y, n.lowerLeft.y, n.lowerRight.y) }, advance: t.lastX >= t.firstX ? 1 : -1 }; } -function l9(e, t) { - if (e.fontSize != null && t.fontSize != null && e.fontSize > 0 && t.fontSize > 0 && Math.max(e.fontSize, t.fontSize) / Math.min(e.fontSize, t.fontSize) > Z0 || u9(e.rect, t.rect) < z0) return !1; +function Ly(e, t) { + if (e.fontSize != null && t.fontSize != null && e.fontSize > 0 && t.fontSize > 0 && Math.max(e.fontSize, t.fontSize) / Math.min(e.fontSize, t.fontSize) > By || Ty(e.rect, t.rect) < Dy) return !1; let r = (e.rect.right - e.rect.left) / e.charCount, n = (t.rect.right - t.rect.left) / t.charCount, i = e.rect.left - r, a = e.rect.right + r, A = t.rect.left - n; return i < t.rect.right + n && a > A; } -function u9(e, t) { +function Ty(e, t) { let r = e.top - e.bottom, n = t.top - t.bottom; if (r <= 0 || n <= 0) return 0; let i = Math.max(e.top, t.top) - Math.min(e.bottom, t.bottom); return i === r || i === n ? 1 : Math.max(0, Math.min(e.top, t.top) - Math.max(e.bottom, t.bottom)) / i; } -var Ru = (e) => e.right === e.left && e.top === e.bottom; -function Lu(e, t, r, n) { +var tm = (e) => e.right === e.left && e.top === e.bottom; +function nm(e, t, r, n) { let i = Math.max(t, n) - Math.min(e, r); - return i === 0 ? !1 : Math.max(0, Math.min(t, n) - Math.max(e, r)) / i >= J0; + return i === 0 ? !1 : Math.max(0, Math.min(t, n) - Math.max(e, r)) / i >= yy; } -var Tu = { x: 0, y: 0, width: 0, height: 0 }, m9 = { upperLeft: { x: 0, y: 0 }, upperRight: { x: 0, y: 0 }, lowerLeft: { x: 0, y: 0 }, lowerRight: { x: 0, y: 0 } }, w9 = (e) => e.glyphs.some((t) => !t.empty); -function b9(e, t) { +var rm = { x: 0, y: 0, width: 0, height: 0 }, Ky = { upperLeft: { x: 0, y: 0 }, upperRight: { x: 0, y: 0 }, lowerLeft: { x: 0, y: 0 }, lowerRight: { x: 0, y: 0 } }, Ny = (e) => e.glyphs.some((t) => !t.empty); +function Vy(e, t) { return { ...e, runs: e.runs.map((r) => { - let n = w9(r) ? bt(r.rect, t) : Tu; - return vg(r) ? { ...r, rect: n, glyphs: r.glyphs.map(({ loose: i, tight: a, ...A }) => ({ ...A, loose: A.empty ? m9 : eo(i, t), ...a ? { tight: eo(a, t) } : {} })) } : { ...r, rect: n, glyphs: r.glyphs.map(({ loose: i, tight: a, ...A }) => ({ ...A, loose: A.empty ? Tu : bt(i, t), ...a ? { tight: bt(a, t) } : {} })) }; + let n = Ny(r) ? ft(r.rect, t) : rm; + return Og(r) ? { ...r, rect: n, glyphs: r.glyphs.map(({ loose: i, tight: a, ...A }) => ({ ...A, loose: A.empty ? Ky : ao(i, t), ...a ? { tight: ao(a, t) } : {} })) } : { ...r, rect: n, glyphs: r.glyphs.map(({ loose: i, tight: a, ...A }) => ({ ...A, loose: A.empty ? rm : ft(i, t), ...a ? { tight: ft(a, t) } : {} })) }; }) }; } -function g9(e, t) { - return { ...e, quad: eo(e.quad, t), rect: bt(e.rect, t) }; +function Yy(e, t) { + return { ...e, quad: ao(e.quad, t), rect: ft(e.rect, t) }; } -function f9(e, t) { +function Xy(e, t) { return { ...e, matches: e.matches.map((r) => { let n = t(r.page); - return { ...r, segments: r.segments.map((i) => g9(i, n)) }; + return { ...r, segments: r.segments.map((i) => Yy(i, n)) }; }) }; } -var Ku = /\s/, F9 = /\p{M}/gu, v9 = /^(?![\t\n\v\f\r])[\p{Cf}\p{Cc}\p{Noncharacter_Code_Point}]$/u; -function no(e, t = {}) { +var im = /\s/, Wy = /\p{M}/gu, Uy = /^(?![\t\n\v\f\r])[\p{Cf}\p{Cc}\p{Noncharacter_Code_Point}]$/u; +function oo(e, t = {}) { let r = [], n = [], i = !1, a = 0; for (let A of e) { - if (v9.test(A)) { + if (Uy.test(A)) { a += A.length; continue; } let o; - Ku.test(A) ? o = " " : (o = A.normalize("NFKD"), t.keepMarks || (o = o.replace(F9, "")), t.keepCase || (o = o.toUpperCase().toLowerCase())); + im.test(A) ? o = " " : (o = A.normalize("NFKD"), t.keepMarks || (o = o.replace(Wy, "")), t.keepCase || (o = o.toUpperCase().toLowerCase())); for (let s = 0; s < o.length; s++) { let d = o[s]; - if (Ku.test(d)) { + if (im.test(d)) { if (t.dropWhitespace || i) continue; r.push(" "), n.push(a), i = !0; } else r.push(d), n.push(a), i = !1; @@ -3500,7 +3517,7 @@ function no(e, t = {}) { } return { folded: r.join(""), map: Uint32Array.from(n), original: e }; } -function P9(e, t) { +function qy(e, t) { let r = e.charCodeAt(t); if (r >= 55296 && r <= 56319 && t + 1 < e.length) { let n = e.charCodeAt(t + 1); @@ -3508,72 +3525,72 @@ function P9(e, t) { } return 1; } -function Qg(e, t, r) { +function qg(e, t, r) { let n = e.map[t], i = e.map[t + r - 1]; - return { start: n, count: i + P9(e.original, i) - n }; + return { start: n, count: i + qy(e.original, i) - n }; } -var Nu = 8388607, h9 = 8e6, k9 = ["format", "version", "pages", "fields", "widgets", "calculationOrder"], B9 = [], D9 = [...k9, "resources"], y9 = ["data"], E9 = ["data", "resources"]; -function Vu(e, t, r) { - qe(e) || De("form", "not a form bundle"), Vr("form", "the bundle", e, D9), e.format !== "embedpdf/form" && De("form", `unknown format ${JSON.stringify(e.format)}`), e.version !== 1 && De("form", `unknown version ${JSON.stringify(e.version)}`); +var am = 8388607, Zy = 8e6, zy = ["format", "version", "pages", "fields", "widgets", "calculationOrder"], Jy = [], $y = [...zy, "resources"], e9 = ["data"], t9 = ["data", "resources"]; +function Am(e, t, r) { + qe(e) || ye("form", "not a form bundle"), Ur("form", "the bundle", e, $y), e.format !== "embedpdf/form" && ye("form", `unknown format ${JSON.stringify(e.format)}`), e.version !== 1 && ye("form", `unknown version ${JSON.stringify(e.version)}`); let { pages: n, fields: i, widgets: a, calculationOrder: A } = e; - Array.isArray(n) || De("form", "pages is not a list"), Array.isArray(i) || De("form", "fields is not a list"), Array.isArray(a) || De("form", "widgets is not a list"), Array.isArray(A) || De("form", "calculationOrder is not a list"), Qe("form", r, "items", i.length + a.length), Qe("form", r, "pages", n.length), Qe("form", r, "resources", t.size); - let o = Mo({ pages: n, fields: i, widgets: a, calculationOrder: A }); + Array.isArray(n) || ye("form", "pages is not a list"), Array.isArray(i) || ye("form", "fields is not a list"), Array.isArray(a) || ye("form", "widgets is not a list"), Array.isArray(A) || ye("form", "calculationOrder is not a list"), Qe("form", r, "items", i.length + a.length), Qe("form", r, "pages", n.length), Qe("form", r, "resources", t.size); + let o = No({ pages: n, fields: i, widgets: a, calculationOrder: A }); Qe("form", r, "manifestBytes", o); - for (let l of t.values()) Qe("form", r, "resourceBytes", l), o += l; + for (let u of t.values()) Qe("form", r, "resourceBytes", u), o += u; Qe("form", r, "bundleBytes", o); - let s = qb("form", n); - i.forEach((l, m) => { - (!qe(l) || !qe(l.data) || typeof l.data.kind != "string" || typeof l.data.name != "string" || !qe(l.data.ref)) && De("form", `field ${m} has no field data`), Vr("form", `field ${m}`, l, y9); + let s = dg("form", n); + i.forEach((u, m) => { + (!qe(u) || !qe(u.data) || typeof u.data.kind != "string" || typeof u.data.name != "string" || !qe(u.data.ref)) && ye("form", `field ${m} has no field data`), Ur("form", `field ${m}`, u, e9); }); let d = /* @__PURE__ */ new Set(); - a.forEach((l, m) => { - (!qe(l) || !qe(l.data) || l.data.subtype !== "widget") && De("form", `widget ${m} has no widget data`), Vr("form", `widget ${m}`, l, E9); - let F = l.data.ref, k = qe(F) ? F.page : void 0; - (!ld(k) || !s.has(Ee(k))) && De("form", `widget ${m} is on a page the bundle doesn't list`), Zb("form", `widget ${m}`, l.resources, B9, t, d); - }), A.forEach((l, m) => { - qe(l) || De("form", `calculation order entry ${m} is not a field ref`); - }), zb("form", "widget", t, d); -} -function Sg(e) { + a.forEach((u, m) => { + (!qe(u) || !qe(u.data) || u.data.subtype !== "widget") && ye("form", `widget ${m} has no widget data`), Ur("form", `widget ${m}`, u, t9); + let F = u.data.ref, h = qe(F) ? F.page : void 0; + (!Fd(h) || !s.has(De(h))) && ye("form", `widget ${m} is on a page the bundle doesn't list`), pg("form", `widget ${m}`, u.resources, Jy, t, d); + }), A.forEach((u, m) => { + qe(u) || ye("form", `calculation order entry ${m} is not a field ref`); + }), ug("form", "widget", t, d); +} +function Zg(e) { return { keepCase: !!e.matchCase, keepMarks: !!e.matchDiacritics, dropWhitespace: !!e.ignoreWhitespace }; } -var Og = /[\p{L}\p{N}_]/u, G9 = /\p{M}/u; -function lc(e, t) { +var zg = /[\p{L}\p{N}_]/u, n9 = /\p{M}/u; +function Fc(e, t) { if (t <= 0) return !1; let r = e.charCodeAt(t - 1), n = r >= 56320 && r <= 57343 && t >= 2 ? t - 2 : t - 1; - return Og.test(String.fromCodePoint(e.codePointAt(n))); + return zg.test(String.fromCodePoint(e.codePointAt(n))); } -function uc(e, t) { - return t >= e.length ? !1 : Og.test(String.fromCodePoint(e.codePointAt(t))); +function vc(e, t) { + return t >= e.length ? !1 : zg.test(String.fromCodePoint(e.codePointAt(t))); } -function C9(e, t, r, n) { - if (!n.ignoreWhitespace) return !lc(e.folded, t) && !uc(e.folded, t + r); - let { start: i, count: a } = Qg(e, t, r); - return !lc(e.original, i) && !uc(e.original, i + a); +function r9(e, t, r, n) { + if (!n.ignoreWhitespace) return !Fc(e.folded, t) && !vc(e.folded, t + r); + let { start: i, count: a } = qg(e, t, r); + return !Fc(e.original, i) && !vc(e.original, i + a); } -function Yu(e, t) { - let r = no(t.text, Sg(t)).folded; +function om(e, t) { + let r = oo(t.text, Zg(t)).folded; if (r.trim().length === 0) return []; let n = [], i = 0; for (; i <= e.folded.length - r.length; ) { let a = e.folded.indexOf(r, i); if (a < 0) break; - if (t.wholeWord && !C9(e, a, r.length, t)) { + if (t.wholeWord && !r9(e, a, r.length, t)) { i = a + 1; continue; } if (t.matchDiacritics && a + r.length < e.folded.length) { let A = e.folded.codePointAt(a + r.length); - if (G9.test(String.fromCodePoint(A))) { + if (n9.test(String.fromCodePoint(A))) { i = a + 1; continue; } } - n.push(Qg(e, a, r.length)), i = a + r.length; + n.push(qg(e, a, r.length)), i = a + r.length; } return n; } -function x9(e) { +function i9(e) { if (e.length === 0) return { ok: !1, issue: "empty", message: "Pattern is empty." }; if (e.length > 512) return { ok: !1, issue: "too-long", message: "Pattern exceeds 512 characters." }; let t = !1; @@ -3607,11 +3624,11 @@ function x9(e) { } return { ok: !0 }; } -function Mg(e) { - return e.regex ? e.matchDiacritics ? { ok: !1, issue: "diacritics-with-regex", message: "Diacritic-sensitive matching is not available for regex patterns (regex runs on the raw text plane)." } : e.ignoreWhitespace ? { ok: !1, issue: "ignore-whitespace-with-regex", message: "Whitespace-insensitive matching is not available for regex patterns (regex runs on the raw text plane; use \\s* in the pattern)." } : x9(e.text) : { ok: !0 }; +function Jg(e) { + return e.regex ? e.matchDiacritics ? { ok: !1, issue: "diacritics-with-regex", message: "Diacritic-sensitive matching is not available for regex patterns (regex runs on the raw text plane)." } : e.ignoreWhitespace ? { ok: !1, issue: "ignore-whitespace-with-regex", message: "Whitespace-insensitive matching is not available for regex patterns (regex runs on the raw text plane; use \\s* in the pattern)." } : i9(e.text) : { ok: !0 }; } -function _9(e, t) { - let r = Mg({ ...t, regex: !0 }); +function a9(e, t) { + let r = Jg({ ...t, regex: !0 }); if (!r.ok) throw new Error(`Invalid search query (${r.issue}): ${r.message}`); let n = new RegExp(t.text, t.matchCase ? "gmu" : "gimu"), i = [], a; for (; (a = n.exec(e)) !== null; ) { @@ -3620,22 +3637,22 @@ function _9(e, t) { n.lastIndex += A >= 55296 && A <= 56319 ? 2 : 1; continue; } - t.wholeWord && (lc(e, a.index) || uc(e, a.index + a[0].length)) || i.push({ start: a.index, count: a[0].length }); + t.wholeWord && (Fc(e, a.index) || vc(e, a.index + a[0].length)) || i.push({ start: a.index, count: a[0].length }); } return i; } -var ro = { items: 5e4, depth: 128 }; -function H9(e, t) { +var so = { items: 5e4, depth: 128 }; +function A9(e, t) { let r; for (let i of e) { if (i.firstPage > t) break; r = i; } if (!r) return null; - let n = r.prefix + S9(r.style, r.firstNumber + t - r.firstPage); + let n = r.prefix + c9(r.style, r.firstNumber + t - r.firstPage); return n === "" ? null : n; } -function jg(e, t, r) { +function $g(e, t, r) { if (e.length === 0 || r.length === 0) return e; let n = new Set(r), i = [0]; for (let o = 0; o < t; o++) i.push(i[o] + (n.has(o) ? 0 : 1)); @@ -3643,53 +3660,53 @@ function jg(e, t, r) { return e.forEach((o, s) => { let d = e[s + 1]?.firstPage ?? t; if (a(d) === a(o.firstPage)) return; - let l = a(o.firstPage); - A.push(l === o.firstPage ? o : { ...o, firstPage: l }); - }), Dd(A, e) ? e : A; + let u = a(o.firstPage); + A.push(u === o.firstPage ? o : { ...o, firstPage: u }); + }), Id(A, e) ? e : A; } -function Bd(e, t, r) { +function Hd(e, t, r) { if (r <= 0) return e; let n = !1, i = e.map((a) => a.firstPage === 0 || a.firstPage < t ? a : (n = !0, { ...a, firstPage: a.firstPage + r })); return n ? i : e; } -function I9(e, t, r, n) { - return Bd(jg(e, t, r), n, r.length); +function o9(e, t, r, n) { + return Hd($g(e, t, r), n, r.length); } -function Dd(e, t) { +function Id(e, t) { return e.length === t.length && e.every((r, n) => { let i = t[n]; return r.firstPage === i.firstPage && r.style === i.style && r.firstNumber === i.firstNumber && r.prefix === i.prefix; }); } -var Q9 = [[1e3, "m"], [900, "cm"], [500, "d"], [400, "cd"], [100, "c"], [90, "xc"], [50, "l"], [40, "xl"], [10, "x"], [9, "ix"], [5, "v"], [4, "iv"], [1, "i"]]; -function S9(e, t) { +var s9 = [[1e3, "m"], [900, "cm"], [500, "d"], [400, "cd"], [100, "c"], [90, "xc"], [50, "l"], [40, "xl"], [10, "x"], [9, "ix"], [5, "v"], [4, "iv"], [1, "i"]]; +function c9(e, t) { switch (e) { case null: return ""; case "decimal": return String(t); case "upperRoman": - return Xu(t).toUpperCase(); + return sm(t).toUpperCase(); case "lowerRoman": - return Xu(t); + return sm(t); case "upperLetters": - return Wu(t).toUpperCase(); + return cm(t).toUpperCase(); case "lowerLetters": - return Wu(t); + return cm(t); } } -function Xu(e) { +function sm(e) { let t = e % 1e6, r = ""; - for (let [n, i] of Q9) for (; t >= n; ) r += i, t -= n; + for (let [n, i] of s9) for (; t >= n; ) r += i, t -= n; return r; } -function Wu(e) { +function cm(e) { if (e <= 0) return ""; let t = e - 1; return String.fromCharCode(97 + t % 26).repeat((Math.floor(t / 26) + 1) % 1e3); } -var O9 = { text: "{ value }", checkbox: "{ checked } or { value }", radio: "{ value }", combobox: "{ value }", listbox: "{ selectedValues }" }; -function mc(e, t) { +var d9 = { text: "{ value }", checkbox: "{ checked } or { value }", radio: "{ value }", combobox: "{ value }", listbox: "{ selectedValues }" }; +function Pc(e, t) { switch (e.kind) { case "text": if ("value" in t) return { kind: "text", value: t.value ?? "" }; @@ -3698,37 +3715,37 @@ function mc(e, t) { if ("checked" in t) { if (!t.checked) return { kind: "toggle", state: null }; let r = e.widgets[0]; - if (!r) throw Tn(`'${e.name}' has no widget to check`); + if (!r) throw Kn(`'${e.name}' has no widget to check`); return { kind: "toggle", state: r.onState }; } - if ("value" in t) return { kind: "toggle", state: Uu(e, t.value) }; + if ("value" in t) return { kind: "toggle", state: dm(e, t.value) }; break; case "radio": if ("value" in t) { - let r = Uu(e, t.value); - if (r === null && e.noToggleToOff) throw Tn(`'${e.name}' must keep a choice: it can't be cleared`); + let r = dm(e, t.value); + if (r === null && e.noToggleToOff) throw Kn(`'${e.name}' must keep a choice: it can't be cleared`); return { kind: "toggle", state: r }; } break; case "combobox": - if ("value" in t) return qu(e, t.value === null ? [] : [t.value]); + if ("value" in t) return pm(e, t.value === null ? [] : [t.value]); break; case "listbox": - if ("selectedValues" in t) return qu(e, t.selectedValues); + if ("selectedValues" in t) return pm(e, t.selectedValues); break; default: - throw Tn(`${e.kind} fields hold no value you can set`); + throw Kn(`${e.kind} fields hold no value you can set`); } - throw Tn(`a ${e.kind} field takes ${O9[e.kind]}, not ${R9(t)}`); + throw Kn(`a ${e.kind} field takes ${d9[e.kind]}, not ${l9(t)}`); } -function Rg(e, t) { +function ef(e, t) { let r = (A) => new f(g.InvalidArg, A, { details: { field: "defaultValue" } }); if (new Set(t).size !== t.length) throw r("the default values must not repeat"); if (t.length > 1 && !(e.kind === "listbox" && e.multiSelect)) throw r(`a ${e.kind === "listbox" ? "list without multiSelect" : "dropdown"} has one default`); let n = e.kind === "combobox" && e.edit === !0, i = new Set(e.options.map((A) => A.value)), a = t.find((A) => !i.has(A)); if (a !== void 0 && !n) throw r(`'${a}' is not an option value of the ${e.kind === "listbox" ? "list" : "dropdown"}`); } -function M9(e, t) { +function p9(e, t) { switch (t.kind) { case "text": return e.kind === "text" && e.value === t.value; @@ -3738,39 +3755,39 @@ function M9(e, t) { return e.kind === "combobox" ? t.values.length === 0 ? e.value === "" : e.value === t.values[0] : e.kind === "listbox" && e.selectedValues.length === t.values.length && e.selectedValues.every((r, n) => r === t.values[n]); } } -function j9(e) { - if (e.valueEntry.kind === "unsupported" || !MA(e.valueEntry, e.defaultValueEntry)) return !1; +function u9(e) { + if (e.valueEntry.kind === "unsupported" || !KA(e.valueEntry, e.defaultValueEntry)) return !1; if (e.kind !== "checkbox" && e.kind !== "radio") return !0; let t = e.defaultValueEntry, r = t.kind === "scalar" ? t.value : null; return e.widgets.every((n) => n.checked === (n.onState === r)); } -function MA(e, t) { +function KA(e, t) { return e.kind !== t.kind ? !1 : e.kind === "scalar" && t.kind === "scalar" ? e.value === t.value : e.kind === "array" && t.kind === "array" ? e.values.length === t.values.length && e.values.every((r, n) => r === t.values[n]) : !0; } -function Uu(e, t) { +function dm(e, t) { if (t === null || t === "Off") return null; let r = e.widgets.find((n) => n.exportValue === t); - if (!r) throw Tn(`no widget of '${e.name}' has the export value '${t}'`); + if (!r) throw Kn(`no widget of '${e.name}' has the export value '${t}'`); return r.onState; } -function qu(e, t) { - if (new Set(t).size !== t.length) throw Tn("the values must not repeat"); - if (e.kind === "listbox" && !e.multiSelect && t.length > 1) throw Tn(`'${e.name}' takes one value (it has no multiSelect)`); +function pm(e, t) { + if (new Set(t).size !== t.length) throw Kn("the values must not repeat"); + if (e.kind === "listbox" && !e.multiSelect && t.length > 1) throw Kn(`'${e.name}' takes one value (it has no multiSelect)`); let r = new Set(e.options.map((a) => a.value)), n = e.kind === "combobox" && e.edit && t.length === 1, i = t.find((a) => !r.has(a)); - if (!n && i !== void 0) throw Tn(`'${i}' is not an option value of '${e.name}'`); + if (!n && i !== void 0) throw Kn(`'${i}' is not an option value of '${e.name}'`); return { kind: "choice", values: t }; } -function R9(e) { +function l9(e) { return "checked" in e ? "{ checked }" : "selectedValues" in e ? "{ selectedValues }" : "{ value }"; } -function Tn(e) { +function Kn(e) { return new f(g.InvalidArg, e, { details: { field: "value" } }); } -function wc(e, t) { +function hc(e, t) { let r = e === "checkbox" || e === "radio"; - return Zu(e, Zu(e, t, "caption", e === "pushbutton", "a push button's"), "checkStyle", r, "a checkbox's or radio button's"); + return um(e, um(e, t, "caption", e === "pushbutton", "a push button's"), "checkStyle", r, "a checkbox's or radio button's"); } -function Zu(e, t, r, n, i) { +function um(e, t, r, n, i) { if (n || t[r] === void 0) return t; if (t[r] !== null) { let o = e === "unknown" ? "this widget" : `a ${e} field's widget`; @@ -3779,111 +3796,111 @@ function Zu(e, t, r, n, i) { let { [r]: a, ...A } = t; return A; } -function L9(e, t) { - let { field: r } = e, n = mc(r, t); +function m9(e, t) { + let { field: r } = e, n = Pc(r, t); switch (n.kind) { case "text": { if (r.kind !== "text") return e; - let i = N9(n.value, r.maxLength); - return i === r.value ? e : $i({ ...r, value: i, valueEntry: { kind: "scalar", value: i } }, e); + let i = g9(n.value, r.maxLength); + return i === r.value ? e : ta({ ...r, value: i, valueEntry: { kind: "scalar", value: i } }, e); } case "toggle": { if (r.kind !== "checkbox" && r.kind !== "radio") return e; let i = r.widgets.findIndex((a) => a.onState === n.state); - return bc(e, n.state === null ? -1 : i); + return kc(e, n.state === null ? -1 : i); } case "choice": - return r.kind !== "combobox" && r.kind !== "listbox" ? e : $i(yd(r, n.values), e); + return r.kind !== "combobox" && r.kind !== "listbox" ? e : ta(Qd(r, n.values), e); } } -function T9(e) { +function w9(e) { let { field: t } = e, r = t.defaultValueEntry; switch (t.kind) { case "text": { - if (r.kind === "array" || r.kind === "unsupported") throw xr(t); + if (r.kind === "array" || r.kind === "unsupported") throw Hr(t); let n = r.kind === "scalar" ? r.value : "", i = r.kind === "scalar" ? r : { kind: "none" }; - return $i({ ...t, value: n, valueEntry: i }, e); + return ta({ ...t, value: n, valueEntry: i }, e); } case "checkbox": case "radio": { - if (r.kind === "array" || r.kind === "unsupported") throw xr(t); + if (r.kind === "array" || r.kind === "unsupported") throw Hr(t); let n = r.kind === "scalar" ? r.value : null; - if (n === null || n === "Off") return bc(e, -1); - let i = V9(t.widgets, n); - if (i < 0) throw xr(t); - return bc(e, i); + if (n === null || n === "Off") return kc(e, -1); + let i = f9(t.widgets, n); + if (i < 0) throw Hr(t); + return kc(e, i); } case "combobox": case "listbox": { - if (r.kind === "unsupported") throw xr(t); + if (r.kind === "unsupported") throw Hr(t); let n = r.kind === "scalar" ? [r.value] : r.kind === "array" ? [...r.values] : []; - if (n.length === 1 && n[0] === "" && !io(t, n) && (n = []), !io(t, n) && !Y9(t, n)) throw xr(t); - return $i(yd(t, n), e); + if (n.length === 1 && n[0] === "" && !co(t, n) && (n = []), !co(t, n) && !F9(t, n)) throw Hr(t); + return ta(Qd(t, n), e); } default: - throw xr(t); + throw Hr(t); } } -function zu(e) { +function lm(e) { if ((e.kind === "combobox" || e.kind === "listbox") && e.defaultValue !== void 0) { let t = Array.isArray(e.defaultValue) ? e.defaultValue : [e.defaultValue]; - Rg({ ...e, options: e.options ?? [] }, t); + ef({ ...e, options: e.options ?? [] }, t); } switch (e.kind) { case "text": case "combobox": - return e.defaultValue !== void 0 ? Jr(e.defaultValue) : ea(); + return e.defaultValue !== void 0 ? ni(e.defaultValue) : na(); case "listbox": - return Ed(Tg((e.options ?? []).map(Vg), e.defaultValue ?? [])); + return Sd(nf((e.options ?? []).map(Af), e.defaultValue ?? [])); default: - return ea(); + return na(); } } -function Ju(e, t) { +function mm(e, t) { let r = t, n = { ...e.field }; if (t.name !== void 0) { let A = n.name.lastIndexOf("."); n.name = A < 0 ? t.name : `${n.name.slice(0, A + 1)}${t.name}`; } - for (let A of K9) typeof r[A] == "boolean" && A in n && (n[A] = r[A]); + for (let A of b9) typeof r[A] == "boolean" && A in n && (n[A] = r[A]); if (t.alternateName !== void 0 && (n.alternateName = t.alternateName || null), t.mappingName !== void 0 && (n.mappingName = t.mappingName || null), t.groupId !== void 0 && (n.groupId = t.groupId), n.kind === "text" && ("maxLength" in t && t.maxLength !== void 0 && (n.maxLength = t.maxLength), "defaultValue" in t && t.defaultValue !== void 0)) { let A = t.defaultValue; - n.defaultValue = A ?? "", n.defaultValueEntry = A === null ? ea() : Jr(A); + n.defaultValue = A ?? "", n.defaultValueEntry = A === null ? na() : ni(A); } let i = !1; - if ((n.kind === "combobox" || n.kind === "listbox") && ("options" in t && t.options && (n = X9(n, t.options.map(Vg)), i = !0), "defaultValue" in t && t.defaultValue !== void 0)) { + if ((n.kind === "combobox" || n.kind === "listbox") && ("options" in t && t.options && (n = v9(n, t.options.map(Af)), i = !0), "defaultValue" in t && t.defaultValue !== void 0)) { let A = t.defaultValue === null ? [] : Array.isArray(t.defaultValue) ? t.defaultValue : [t.defaultValue]; - Rg(n, A), n = Ng(n, A); + ef(n, A), n = af(n, A); } let a = { ...e, field: n }; - return i ? $i(a.field, a) : a; + return i ? ta(a.field, a) : a; } -var K9 = ["readOnly", "required", "noExport", "multiline", "password", "comb", "radiosInUnison", "noToggleToOff", "edit", "multiSelect"]; -function N9(e, t) { +var b9 = ["readOnly", "required", "noExport", "multiline", "password", "comb", "radiosInUnison", "noToggleToOff", "edit", "multiSelect"]; +function g9(e, t) { if (!t) return e; let r = Array.from(e); return r.length > t ? r.slice(0, t).join("") : e; } -function $i(e, t) { +function ta(e, t) { return { field: e, widgets: t.widgets.map((r) => r.hasAppearance ? r : { ...r, hasAppearance: !0 }) }; } -function V9(e, t) { +function f9(e, t) { let r = e.findIndex((n) => n.onState === t); return r >= 0 || !/^\d+$/.test(t) ? r : Number(t) < e.length ? Number(t) : -1; } -function bc(e, t) { +function kc(e, t) { let r = e.field; if (r.kind !== "checkbox" && r.kind !== "radio") return e; - let n = r.kind === "checkbox" || r.radiosInUnison, i = t >= 0 ? r.widgets[t] : null, a = r.widgets.map((d, l) => { - let m = i !== null && (n ? d.exportValue === i.exportValue && d.onState === i.onState : l === t); + let n = r.kind === "checkbox" || r.radiosInUnison, i = t >= 0 ? r.widgets[t] : null, a = r.widgets.map((d, u) => { + let m = i !== null && (n ? d.exportValue === i.exportValue && d.onState === i.onState : u === t); return d.checked === m ? d : { ...d, checked: m }; - }), A = Jr(i ? i.onState : "Off"), o = r.kind === "checkbox" ? { ...r, widgets: a, valueEntry: A, checked: a.some((d) => d.checked) } : { ...r, widgets: a, valueEntry: A, value: a.find((d) => d.checked)?.exportValue ?? "Off" }, s = new Map(a.map((d) => [d.objectNumber, d.checked ? d.onState : "Off"])); + }), A = ni(i ? i.onState : "Off"), o = r.kind === "checkbox" ? { ...r, widgets: a, valueEntry: A, checked: a.some((d) => d.checked) } : { ...r, widgets: a, valueEntry: A, value: a.find((d) => d.checked)?.exportValue ?? "Off" }, s = new Map(a.map((d) => [d.objectNumber, d.checked ? d.onState : "Off"])); return { field: o, widgets: e.widgets.map((d) => { - let l = s.get(U9(d.ref)); - return l === void 0 || d.appearanceState === l ? d : { ...d, appearanceState: l }; + let u = s.get(h9(d.ref)); + return u === void 0 || d.appearanceState === u ? d : { ...d, appearanceState: u }; }) }; } -function Lg(e, t) { +function tf(e, t) { let r = /* @__PURE__ */ new Set(); for (let n of t) { let i = e.findIndex((a) => a.value === n); @@ -3891,107 +3908,181 @@ function Lg(e, t) { } return [...r].sort((n, i) => n - i); } -var io = (e, t) => t.every((r) => e.options.some((n) => n.value === r)), Y9 = (e, t) => e.kind === "combobox" && e.edit && t.length === 1; -function yd(e, t) { - let r = io(e, t) ? Lg(e.options, t) : [], n = t.length > 0 && r.length === 0, i = e.options.map((o, s) => { +var co = (e, t) => t.every((r) => e.options.some((n) => n.value === r)), F9 = (e, t) => e.kind === "combobox" && e.edit && t.length === 1; +function Qd(e, t) { + let r = co(e, t) ? tf(e.options, t) : [], n = t.length > 0 && r.length === 0, i = e.options.map((o, s) => { let d = r.includes(s); return o.selected === d ? o : { ...o, selected: d }; - }), a = n ? [...t] : r.map((o) => e.options[o].value), A = Ed(a); + }), a = n ? [...t] : r.map((o) => e.options[o].value), A = Sd(a); return e.kind === "combobox" ? { ...e, options: i, valueEntry: A, value: a[0] ?? "" } : { ...e, options: i, valueEntry: A, selectedValues: a }; } -function Ed(e) { - return e.length === 0 ? ea() : e.length === 1 ? Jr(e[0]) : { kind: "array", values: [...e] }; +function Sd(e) { + return e.length === 0 ? na() : e.length === 1 ? ni(e[0]) : { kind: "array", values: [...e] }; } -function Tg(e, t) { - return Lg(e, t).map((r) => e[r].value); +function nf(e, t) { + return tf(e, t).map((r) => e[r].value); } -function X9(e, t) { - let r = t.map((o) => o.value), n = e.kind === "combobox" && e.edit, i = $u(e.kind === "combobox" ? e.value === "" ? [] : [e.value] : e.selectedValues, r, n), a = yd(e.kind === "listbox" ? { ...e, options: t, topIndex: Kg(e.topIndex, t) } : { ...e, options: t }, i), A = W9(e.defaultValueEntry); - return e.defaultValueEntry.kind === "none" ? a : Ng(a, $u(A, r, n), !0); +function v9(e, t) { + let r = t.map((o) => o.value), n = e.kind === "combobox" && e.edit, i = wm(e.kind === "combobox" ? e.value === "" ? [] : [e.value] : e.selectedValues, r, n), a = Qd(e.kind === "listbox" ? { ...e, options: t, topIndex: rf(e.topIndex, t) } : { ...e, options: t }, i), A = P9(e.defaultValueEntry); + return e.defaultValueEntry.kind === "none" ? a : af(a, wm(A, r, n), !0); } -function Kg(e, t) { +function rf(e, t) { return Math.max(0, Math.min(e, t.length - 1)); } -function $u(e, t, r) { +function wm(e, t, r) { let n = e.filter((i) => t.includes(i)); return n.length === 0 && r && e.length > 0 ? [...e] : n; } -function Ng(e, t, r = !1) { +function af(e, t, r = !1) { if (t.length === 0) { - let A = r ? e.kind === "listbox" && e.multiSelect ? { kind: "array", values: [] } : Jr("") : ea(); + let A = r ? e.kind === "listbox" && e.multiSelect ? { kind: "array", values: [] } : ni("") : na(); return e.kind === "combobox" ? { ...e, defaultValueEntry: A, defaultValue: "" } : { ...e, defaultValueEntry: A, defaultValue: [] }; } - let n = io(e, t), i = n ? Tg(e.options, t) : [...t], a = n ? Ed(i) : Jr(t[0]); + let n = co(e, t), i = n ? nf(e.options, t) : [...t], a = n ? Sd(i) : ni(t[0]); return e.kind === "combobox" ? { ...e, defaultValueEntry: a, defaultValue: i[0] ?? "" } : { ...e, defaultValueEntry: a, defaultValue: i }; } -function W9(e) { +function P9(e) { return e.kind === "scalar" ? [e.value] : e.kind === "array" ? [...e.values] : []; } -var Vg = (e) => ({ label: e.label, value: e.value, selected: !1 }), U9 = (e) => e.kind === "objectNumber" ? e.objectNumber : 0, Jr = (e) => ({ kind: "scalar", value: e }), ea = () => ({ kind: "none" }); -function xr(e) { +var Af = (e) => ({ label: e.label, value: e.value, selected: !1 }), h9 = (e) => e.kind === "objectNumber" ? e.objectNumber : 0, ni = (e) => ({ kind: "scalar", value: e }), na = () => ({ kind: "none" }); +function Hr(e) { return new f(g.Unknown, `'${e.name}' could not be reset`); } -function Oa(e) { +function Ra(e) { return e.type === "skipped"; } -function em(e) { +function bm(e) { switch (e.type) { case "skipped": return !1; case "annotations.import": + case "annotations.copy": return e.annotations.length > 0; case "forms.import": case "forms.importValues": + case "forms.copy": return e.fields.length > 0; default: return !0; } } -function Gd(e) { +function Od(e) { return "undoOf" in e; } -var q9 = (e) => { +function Md(e) { + let t = [], r = e.measure; + r?.subtype === "geospatial" && t.push({ field: "measure", reason: "geospatial" }), r?.subtype === "unknown" && t.push({ field: "measure", reason: "unknown-measure" }); + let n = e.subtype === "link" ? e.target : null, i = !!n && B9(n); + n && !i && t.push({ field: "target", reason: "unsupported-action" }); + let { actions: a } = e; + return Object.entries(a ?? {}).some(([A, o]) => e.subtype !== "link" || A !== "activate" ? !0 : i && !k9(o)) && t.push({ field: "actions", reason: "unsupported-action" }), t; +} +function k9(e) { + let t = e?.root; + return !e || e.incomplete || !t || t.next.length > 0 ? !1 : !(t.type === "uri" && t.isMap); +} +function B9(e) { + return e.kind === "named" ? D9.has(e.name ?? "") : e.kind === "goto" || e.kind === "uri"; +} +var D9 = /* @__PURE__ */ new Set(["NextPage", "PrevPage", "FirstPage", "LastPage"]); +function y9(e, t, r = () => !1) { + let n = /* @__PURE__ */ new Map(); + e.forEach((F, h) => { + F.subtype === "unsupported" ? n.set(h, "unsupported-kind") : F.subtype === "widget" ? n.set(h, "widget") : r(h) && n.set(h, "unsupported-value"); + }); + let i = /* @__PURE__ */ new Map(); + e.forEach((F, h) => { + let P = W(F.ref); + i.has(P) || i.set(P, h); + }); + let a = (F) => t.page ?? e[F].ref.page, A = (F, h) => { + let P = i.get(W(F)); + if (!(P === void 0 || n.has(P))) return De(a(P)) === De(a(h)) ? P : void 0; + }, o = /* @__PURE__ */ new Set(); + e.forEach((F, h) => { + if (n.has(h) || F.subtype !== "popup") return; + let P = F.parent ? i.get(W(F.parent)) : void 0, D = F.parent ? A(F.parent, h) : void 0; + D === void 0 ? n.set(h, P !== void 0 && n.has(P) ? "parent-dropped" : "parent-missing") : o.has(D) ? n.set(h, "popup-taken") : o.add(D); + }); + let s = /* @__PURE__ */ new Map(); + e.forEach((F, h) => { + n.has(h) || s.set(h, s.size); + }); + let d = t.offset ?? { x: 0, y: 0 }, u = [...s.keys()].map((F) => { + let h = e[F], P = h.reply ? A(h.reply.to, F) : void 0, D = h.subtype === "popup" && h.parent ? A(h.parent, F) : void 0, { nm: G, groupId: I, reply: _, popup: H, ...C } = h; + for (let { field: O } of Md(h)) delete C[O]; + return { source: F, page: a(F), data: s0(C, d), ...P !== void 0 ? { replyTo: { copy: s.get(P), type: h.reply.type } } : {}, ...D !== void 0 ? { parent: s.get(D) } : {} }; + }), m = []; + return e.forEach((F, h) => { + let P = n.get(h); + P && m.push({ ref: F.ref, reason: P }); + }), { copies: u, dropped: m }; +} +function jd(e) { + let t = [], r = (n, i) => { + if (!(typeof n != "object" || n === null)) { + if (Array.isArray(n)) { + n.forEach((a) => r(a)); + return; + } + if (i === "page" && sf(n)) { + t.push(n); + return; + } + Object.entries(n).forEach(([a, A]) => r(A, a)); + } + }; + return r(e), t; +} +function of(e, t) { + let r = (n, i) => typeof n != "object" || n === null ? n : Array.isArray(n) ? n.map((a) => r(a)) : i === "page" && sf(n) ? t(n) : Object.fromEntries(Object.entries(n).map(([a, A]) => [a, r(A, a)])); + return r(e); +} +function sf(e) { + return Object.keys(e).length === 2 && e.kind === "objectNumber" && typeof e.objectNumber == "number"; +} +var E9 = (e) => { let t = (n) => (e & 1 << n - 1) !== 0, r = t(9) ? "pdf" : t(6) ? "xfdf" : t(3) ? "html" : "fdf"; return { exclude: t(1), includeNoValueFields: t(2), format: r, method: t(4) && (r === "html" || r === "pdf") ? "get" : "post", submitCoordinates: t(5), includeAppendSaves: t(7), includeAnnotations: t(8), canonicalFormat: t(10), exclNonUserAnnots: t(11), exclFKey: t(12), embedForm: t(14) }; -}, Z9 = (e) => [[1, e.exclude], [2, e.includeNoValueFields], [3, e.format === "html"], [4, e.method === "get"], [5, e.submitCoordinates], [6, e.format === "xfdf"], [7, e.includeAppendSaves], [8, e.includeAnnotations], [9, e.format === "pdf"], [10, e.canonicalFormat], [11, e.exclNonUserAnnots], [12, e.exclFKey], [14, e.embedForm]].reduce((t, [r, n]) => n ? t | 1 << r - 1 : t, 0); -function z9(e) { +}, G9 = (e) => [[1, e.exclude], [2, e.includeNoValueFields], [3, e.format === "html"], [4, e.method === "get"], [5, e.submitCoordinates], [6, e.format === "xfdf"], [7, e.includeAppendSaves], [8, e.includeAnnotations], [9, e.format === "pdf"], [10, e.canonicalFormat], [11, e.exclNonUserAnnots], [12, e.exclFKey], [14, e.embedForm]].reduce((t, [r, n]) => n ? t | 1 << r - 1 : t, 0); +function C9(e) { let { url: t, fields: r, charSet: n, ...i } = e; return i; } -function Cd(e) { - return e.type === "javascript" || e.type === "submit-form" || e.type === "uri" || (e.next ?? []).some(Cd); +function Rd(e) { + return e.type === "javascript" || e.type === "submit-form" || e.type === "uri" || (e.next ?? []).some(Rd); } -function ta(e) { - return Object.values(e ?? {}).some((t) => t != null && !("root" in t) && Cd(t)); +function ra(e) { + return Object.values(e ?? {}).some((t) => t != null && !("root" in t) && Rd(t)); } -function xd(e) { - return e.incomplete || !e.root ? null : Xg(e.root); +function Ld(e) { + return e.incomplete || !e.root ? null : df(e.root); } -function J9(e) { +function x9(e) { let t = {}; - for (let r of _d) { + for (let r of Td) { let n = e?.[r]; if (!n) { t[r] = null; continue; } - let i = xd(n); + let i = Ld(n); i && (t[r] = i); } return t; } -var _d = ["activate", "cursorEnter", "cursorExit", "mouseDown", "mouseUp", "focus", "blur", "pageOpen", "pageClose", "pageVisible", "pageInvisible"]; -function Yg(e) { - let t = xd(e); - return t && Hd(t) ? t : null; +var Td = ["activate", "cursorEnter", "cursorExit", "mouseDown", "mouseUp", "focus", "blur", "pageOpen", "pageClose", "pageVisible", "pageInvisible"]; +function cf(e) { + let t = Ld(e); + return t && Kd(t) ? t : null; } -function Hd(e) { - return e.type === "javascript" && (e.next ?? []).every(Hd); +function Kd(e) { + return e.type === "javascript" && (e.next ?? []).every(Kd); } -function Xg(e) { +function df(e) { let t = []; for (let n of e.next) { - let i = Xg(n); + let i = df(n); if (!i) return null; t.push(i); } @@ -4010,34 +4101,34 @@ function Xg(e) { case "reset-form": return { type: "reset-form", fields: e.fields, exclude: e.exclude, ...r }; case "submit-form": - return e.payload ? { ...z9(e.payload), type: "submit-form", url: e.payload.url, fields: e.payload.fields, ...r } : null; + return e.payload ? { ...C9(e.payload), type: "submit-form", url: e.payload.url, fields: e.payload.fields, ...r } : null; default: return null; } } -function $9(e, t, r) { +function _9(e, t, r) { let n = /* @__PURE__ */ new Set(); for (let F of t.fields ?? []) { - let k = e.fields.find((P) => Wg(P, F)); - if (!k) throw new f(g.NotFound, `export: the form has no field ${F.kind === "fqn" ? F.name : Ki(F)}`); - n.add(k); + let h = e.fields.find((P) => ia(P, F)); + if (!h) throw new f(g.NotFound, `export: the form has no field ${F.kind === "fqn" ? F.name : Wr(F)}`); + n.add(h); } - let i = new Set(r.map(Ee)), a = /* @__PURE__ */ new Set(); + let i = new Set(r.map(De)), a = /* @__PURE__ */ new Set(); for (let F of t.pages ?? []) { - if (!i.has(Ee(F))) throw new f(g.NotFound, `export: the document has no page ${Ee(F)}`); - a.add(Ee(F)); + if (!i.has(De(F))) throw new f(g.NotFound, `export: the document has no page ${De(F)}`); + a.add(De(F)); } - for (let F of e.fields) F.widgets.some((k) => k.page && a.has(Ee(k.page))) && n.add(F); - let A = !t.fields && !t.pages, o = e.fields.filter((F) => A || n.has(F)), s = new Map(e.widgets.map((F) => [Z(F.ref), F])), d = o.flatMap((F) => F.widgets.flatMap((k) => { - let P = k.ref ? s.get(Z(k.ref)) : void 0; + for (let F of e.fields) F.widgets.some((h) => h.page && a.has(De(h.page))) && n.add(F); + let A = !t.fields && !t.pages, o = e.fields.filter((F) => A || n.has(F)), s = new Map(e.widgets.map((F) => [W(F.ref), F])), d = o.flatMap((F) => F.widgets.flatMap((h) => { + let P = h.ref ? s.get(W(h.ref)) : void 0; return P ? [P] : []; - })), l = new Set(o.map((F) => Ki(F.ref))), m = e.calculationOrder.filter((F) => F !== null && l.has(Ki(F))); - return { fields: o.map(ey), widgets: d, calculationOrder: m }; + })), u = new Set(o.map((F) => Wr(F.ref))), m = e.calculationOrder.filter((F) => F !== null && u.has(Wr(F))); + return { fields: o.map(H9), widgets: d, calculationOrder: m }; } -function Wg(e, t) { +function ia(e, t) { return t.kind === "fqn" ? e.name === t.name : e.ref.kind === "objectNumber" && e.ref.objectNumber === t.objectNumber; } -function ey(e) { +function H9(e) { if (e.kind === "signature") return { ...e, valueEntry: { kind: "none" } }; if (!e.noExport) return e; let t = { ...e, valueEntry: { kind: "none" }, filledBy: null, filledByName: null, filledAt: null }; @@ -4055,8 +4146,53 @@ function ey(e) { return t; } } -var ty = ["invisible", "hidden", "print", "noZoom", "noRotate", "noView", "readOnly", "locked", "toggleNoView", "lockedContents"]; -function Id(e) { +var I9 = ["invisible", "hidden", "print", "noZoom", "noRotate", "noView", "readOnly", "locked", "toggleNoView", "lockedContents"]; +function Nd(e) { + return e.valueEntry.kind === "scalar" || e.valueEntry.kind === "array"; +} +function pf(e, t, r) { + let n = {}; + for (let [i, a] of Object.entries(e.actions ?? {})) { + if (!a) continue; + let A = cf(a), o = `actions.${i}`; + A ? t ? n[i] = A : r.push({ ref: e.ref, field: o, reason: "script-not-allowed" }) : r.push({ ref: e.ref, field: o, reason: "unsupported-action" }); + } + return n; +} +function uf(e, t, r, n, i) { + let a = {}; + for (let s of Td) { + let d = t.actions?.[s]; + if (!d) continue; + let u = Ld(d), m = (F) => i.push({ ref: e.ref, widget: t.ref, field: `actions.${s}`, reason: F }); + u ? !n && Rd(u) ? m("script-not-allowed") : a[s] = of(u, r) : m("unsupported-action"); + } + let A = e.kind === "checkbox" || e.kind === "radio" ? e.widgets.find((s) => s.ref && W(s.ref) === W(t.ref)) : void 0, o = { color: t.color, interiorColor: t.interiorColor, dashArray: t.dashArray, checkStyle: t.checkStyle, fontFamily: t.fontFamily, fontSize: t.fontSize, fontColor: t.fontColor, caption: e.kind === "pushbutton" ? t.caption : null }; + return { page: r(t.page), rect: t.rect, ...t.rotation ? { rotation: t.rotation } : {}, strokeWidth: t.strokeWidth, borderStyle: t.borderStyle, textAlign: t.textAlign, ...Object.fromEntries(Object.entries(o).filter(([, s]) => s != null)), ...A && "exportValue" in A ? { exportValue: A.exportValue } : {}, ...Object.keys(a).length > 0 ? { actions: a } : {} }; +} +function lf(e) { + return Object.fromEntries(I9.map((t) => [t, e[t]])); +} +function mf(e, t, r, n, i) { + let a = { name: t, readOnly: e.readOnly, required: e.required, noExport: e.noExport, ...e.alternateName !== null ? { alternateName: e.alternateName } : {}, ...e.mappingName !== null ? { mappingName: e.mappingName } : {}, ...e.groupId !== null ? { groupId: e.groupId } : {}, ...Object.keys(r).length > 0 ? { actions: r } : {}, widgets: n }, A = e.defaultValueEntry.kind !== "none", o = (s) => s.map(({ label: d, value: u }) => ({ label: d, value: u })); + switch (e.kind) { + case "text": + return { ...a, kind: "text", ...A ? { defaultValue: e.defaultValue } : {}, ...e.maxLength !== null ? { maxLength: e.maxLength } : {}, multiline: e.multiline, password: e.password, comb: e.comb }; + case "radio": + return { ...a, kind: "radio", radiosInUnison: e.radiosInUnison, noToggleToOff: e.noToggleToOff }; + case "combobox": + return { ...a, kind: "combobox", edit: e.edit, options: o(e.options), ...A ? { defaultValue: e.defaultValue } : {} }; + case "listbox": + return { ...a, kind: "listbox", multiSelect: e.multiSelect, options: o(e.options), ...A ? { defaultValue: e.defaultValue } : {} }; + case "checkbox": + case "pushbutton": + case "signature": + return { ...a, kind: e.kind }; + default: + throw new f(g.InvalidArg, `${i} has no family`); + } +} +function Yo(e) { switch (e.kind) { case "checkbox": return { checked: e.checked }; @@ -4071,153 +4207,186 @@ function Id(e) { return null; } } +function wf(e, t) { + if (e.has(t)) return !0; + for (let r of e) if (r.startsWith(`${t}.`) || t.startsWith(`${r}.`)) return !0; + return !1; +} +function Q9(e, t) { + let r = e.lastIndexOf("."), n = e.slice(0, r + 1), i = e.slice(r + 1), a = /^(.*)_(\d+)$/.exec(i), A = a ? a[1] : i, o = a ? Number(a[2]) + 1 : 2; + for (; t(`${n}${A}_${o}`); ) o += 1; + return `${n}${A}_${o}`; +} +function S9(e) { + let { form: t, mayScript: r, placement: n } = e, i = new Map(t.widgets.map((h) => [W(h.ref), h])), a = e.widgets ? new Set(e.widgets.map(W)) : null, A = new Set(t.fields.map((h) => h.name)), o = n.offset ?? { x: 0, y: 0 }, s = (h) => ({ ...h, ...n.page ? { page: n.page } : {}, ...h.rect ? { rect: { ...h.rect, x: h.rect.x + o.x, y: h.rect.y + o.y } } : {} }), d = [], u = [], m = [], F = /* @__PURE__ */ new Set(); + e.fields.forEach((h, P) => { + let D = t.fields.find((O) => ia(O, h)); + if (!D) throw new f(g.NotFound, `copy: no form field ${Wr(h)}`, { details: { item: P } }); + let G = D.widgets.flatMap((O) => { + let K = O.ref ? i.get(W(O.ref)) : void 0; + return K && (!a || a.has(W(K.ref))) ? [K] : []; + }); + for (let O of G) F.add(W(O.ref)); + if (a && G.length === 0) throw new f(g.InvalidArg, `copy: 'widgets' names no widget of field ${P}`, { details: { item: P, field: "widgets" } }); + if (D.kind === "unknown") { + d.push({ ref: D.ref, reason: "unsupported-kind" }); + return; + } + let I = Q9(D.name, (O) => wf(A, O)); + A.add(I); + let _ = pf(D, r, d), H = G.map((O) => s(uf(D, O, (K) => K, r, d))), C = e.values && D.kind !== "signature" && Nd(D) ? Yo(D) : null; + m.push(D), u.push({ source: P, draft: mf(D, I, _, H, `copy: field ${P}`), widgets: G.map((O) => O.ref), flags: G.map(lf), ...C ? { value: C } : {} }); + }); + for (let h of a ?? []) if (!F.has(h)) throw new f(g.InvalidArg, `copy: widget ${h} is a widget of none of the fields`, { details: { field: "widgets" } }); + return { creates: u, calculationOrder: t.calculationOrder.flatMap((h) => h ? u.flatMap((P, D) => ia(m[D], h) && P.draft.actions?.calculate ? [D] : []) : []), dropped: d }; +} Object.assign(() => "doc.render", { thumbnail: () => "doc.render.thumbnail" }), Object.assign(() => "doc.download", { flattened: () => "doc.download.flattened" }), Object.assign(() => "doc.print", { high: () => "doc.print.high" }), Object.assign(() => "doc.sign", { certify: () => "doc.sign.certify" }); -function ny(e) { +function O9(e) { let t = /* @__PURE__ */ new Set(); return t.add("doc.open"), t.add("doc.render"), t.add("doc.annotate.read"), t.add("doc.forms.read"), t.add("doc.text.search"), t.add("doc.text.select"), e.copy && (t.add("doc.text.copy"), t.add("doc.content.copy")), e.print && t.add("doc.print"), e.printHighQuality && e.print && t.add("doc.print.high"), e.modifyContents && (t.add("doc.pages.modify"), t.add("doc.redact"), t.add("doc.metadata.modify"), t.add("doc.attachments.modify")), (e.modifyContents || e.assemble) && (t.add("doc.pages.assemble"), t.add("doc.outline.modify")), e.modifyAnnotations && t.add("doc.annotate.modify"), (e.modifyContents || e.modifyAnnotations || e.fillForms) && (t.add("doc.forms.fill"), t.add("doc.sign")), e.modifyAnnotations && e.modifyContents && t.add("doc.forms.modify"), [...t]; } -var tm = 4, ao = { none: 0, lta: 1, fill: 2, annotate: 3 }; -function Ao(e) { +var gm = 4, po = { none: 0, lta: 1, fill: 2, annotate: 3 }; +function uo(e) { return e === 1 ? "lta" : e === 2 ? "fill" : "annotate"; } -function oo(e, t) { - return ao[e] <= ao[t] ? e : t; +function lo(e, t) { + return po[e] <= po[t] ? e : t; } -function gc(e, t) { - return e === null || ao[e] >= ao[t]; +function Bc(e, t) { + return e === null || po[e] >= po[t]; } -function nm(e, t) { +function fm(e, t) { return t === e || t.startsWith(`${e}.`); } -function Ug(e, t) { +function bf(e, t) { switch (e.action) { case "all": return !0; case "include": - return e.fields.some((r) => nm(r, t)); + return e.fields.some((r) => fm(r, t)); case "exclude": - return !e.fields.some((r) => nm(r, t)); + return !e.fields.some((r) => fm(r, t)); } } -function Yn(e) { +function Xn(e) { let t = !1, r = null, n = null, i = []; - for (let a of e) a.signed && (t = !0, a.catalogCertification && a.docMdp !== null && n === null && (n = { signatureIndex: a.index, permission: a.docMdp }, r = oo(r ?? "annotate", Ao(a.docMdp))), a.fieldMdp && i.push({ signatureIndex: a.index, source: "fieldmdp", spec: a.fieldMdp }), a.lock && (i.push({ signatureIndex: a.index, source: "lock", spec: a.lock }), a.lock.permission !== void 0 && (r = oo(r ?? "annotate", Ao(a.lock.permission))))); + for (let a of e) a.signed && (t = !0, a.catalogCertification && a.docMdp !== null && n === null && (n = { signatureIndex: a.index, permission: a.docMdp }, r = lo(r ?? "annotate", uo(a.docMdp))), a.fieldMdp && i.push({ signatureIndex: a.index, source: "fieldmdp", spec: a.fieldMdp }), a.lock && (i.push({ signatureIndex: a.index, source: "lock", spec: a.lock }), a.lock.permission !== void 0 && (r = lo(r ?? "annotate", uo(a.lock.permission))))); return { enforced: r, judged: t ? r ?? "annotate" : null, certification: n, fieldLocks: i, policyVersion: 4 }; } -function ry(e, t) { - for (let r of e.fieldLocks) if (Ug(r.spec, t)) return r; +function M9(e, t) { + for (let r of e.fieldLocks) if (bf(r.spec, t)) return r; return null; } -var iy = ["doc.download.flattened", "doc.pages.modify", "doc.pages.assemble", "doc.redact", "doc.attachments.modify", "doc.outline.modify", "doc.forms.modify", "doc.forms.script", "doc.annotate.modify", "doc.annotate.import", "doc.forms.fill", "doc.forms.import"]; -new Set(iy); -function qn(e) { +var j9 = ["doc.download.flattened", "doc.pages.modify", "doc.pages.assemble", "doc.redact", "doc.attachments.modify", "doc.outline.modify", "doc.forms.modify", "doc.forms.script", "doc.annotate.modify", "doc.annotate.import", "doc.forms.fill", "doc.forms.import"]; +new Set(j9); +function Zn(e) { let t = /* @__PURE__ */ new Set(); - return !e || e.judged === null || (t.add("doc.download.flattened"), e.enforced === null) || (t.add("doc.pages.modify"), t.add("doc.pages.assemble"), t.add("doc.redact"), t.add("doc.attachments.modify"), t.add("doc.outline.modify"), t.add("doc.forms.modify"), t.add("doc.forms.script"), gc(e.enforced, "annotate") || (t.add("doc.annotate.modify"), t.add("doc.annotate.import")), gc(e.enforced, "fill") || (t.add("doc.forms.fill"), t.add("doc.forms.import"))), t; + return !e || e.judged === null || (t.add("doc.download.flattened"), e.enforced === null) || (t.add("doc.pages.modify"), t.add("doc.pages.assemble"), t.add("doc.redact"), t.add("doc.attachments.modify"), t.add("doc.outline.modify"), t.add("doc.forms.modify"), t.add("doc.forms.script"), Bc(e.enforced, "annotate") || (t.add("doc.annotate.modify"), t.add("doc.annotate.import")), Bc(e.enforced, "fill") || (t.add("doc.forms.fill"), t.add("doc.forms.import"))), t; } -function ay(e, t) { +function R9(e, t) { return `the document is signed: ${t.certification ? `certification signature ${t.certification.signatureIndex} (permission ${t.certification.permission})` : `an existing signature (declared level '${t.enforced ?? "none declared"}')`} forbids '${e}'`; } -var Ay = /* @__PURE__ */ new Set(["doc.open", "doc.render", "doc.render.thumbnail", "doc.text.select", "doc.text.copy", "doc.text.search", "doc.content.copy", "doc.download", "doc.download.flattened", "doc.print", "doc.print.high", "doc.pages.modify", "doc.pages.assemble", "doc.forms.read", "doc.forms.fill", "doc.forms.modify", "doc.forms.import", "doc.forms.script", "doc.forms.submit", "doc.annotate.read", "doc.annotate.modify", "doc.annotate.import", "doc.metadata.modify", "doc.attachments.modify", "doc.outline.modify", "doc.redact", "doc.sign", "doc.sign.certify"]); -function Ma(e) { +var L9 = /* @__PURE__ */ new Set(["doc.open", "doc.render", "doc.render.thumbnail", "doc.text.select", "doc.text.copy", "doc.text.search", "doc.content.copy", "doc.download", "doc.download.flattened", "doc.print", "doc.print.high", "doc.pages.modify", "doc.pages.assemble", "doc.forms.read", "doc.forms.fill", "doc.forms.modify", "doc.forms.import", "doc.forms.script", "doc.forms.submit", "doc.annotate.read", "doc.annotate.modify", "doc.annotate.import", "doc.metadata.modify", "doc.attachments.modify", "doc.outline.modify", "doc.redact", "doc.sign", "doc.sign.certify"]); +function La(e) { if (e === "*") return { kind: "wildcard" }; if (e === "pdf.permissions") return { kind: "virtual", name: "pdf.permissions" }; - if (e.includes(":")) return cy(e); - let t = sy(e); - return t !== null ? uy(e, t) : my(e); + if (e.includes(":")) return N9(e); + let t = K9(e); + return t !== null ? W9(e, t) : U9(e); } -var oy = /* @__PURE__ */ new Set(["doc", "docs", "pdf", "annotations", "fields", "tokens", "grants", "shares", "tenants", "layer", "visitor", "document", "submission", "signature"]); -function sy(e) { +var T9 = /* @__PURE__ */ new Set(["doc", "docs", "pdf", "annotations", "fields", "tokens", "grants", "shares", "tenants", "layer", "visitor", "document", "submission", "signature"]); +function K9(e) { if (e.includes(":")) return null; let t = e.indexOf("."); if (t <= 0) return null; let r = e.slice(0, t); - return oy.has(r) ? null : r; + return T9.has(r) ? null : r; } -function cy(e) { +function N9(e) { let t = e.indexOf(":"), r = e.indexOf(":", t + 1); - if (t === -1 || r === -1) throw new Et(e, "collab scope requires entity:action:filter"); + if (t === -1 || r === -1) throw new xt(e, "collab scope requires entity:action:filter"); let n = e.slice(0, t), i = e.slice(t + 1, r), a = e.slice(r + 1); - if (n === "fields") return dy(e, i, a); - if (n !== "annotations") throw new Et(e, `unknown collab entity: ${n}`); - if (i !== "create" && i !== "update" && i !== "delete" && i !== "set-group" && i !== "*") throw new Et(e, `unknown collab action: ${i}`); - let A = qg(a, e); - if (i === "set-group" && (A.kind === "self" || A.kind === "createdBy")) throw new Et(e, `set-group only supports :all or :group= filters (got :${A.kind})`); + if (n === "fields") return V9(e, i, a); + if (n !== "annotations") throw new xt(e, `unknown collab entity: ${n}`); + if (i !== "create" && i !== "update" && i !== "delete" && i !== "set-group" && i !== "*") throw new xt(e, `unknown collab action: ${i}`); + let A = gf(a, e); + if (i === "set-group" && (A.kind === "self" || A.kind === "createdBy")) throw new xt(e, `set-group only supports :all or :group= filters (got :${A.kind})`); return { kind: "collab", entity: n, action: i, filter: A }; } -function dy(e, t, r) { - if (t !== "fill" && t !== "sign" && t !== "set-group" && t !== "*") throw new Et(e, `unknown fields action: ${t}`); - let n = qg(r, e); - if (n.kind !== "all" && n.kind !== "group") throw new Et(e, `fields only support :all or :group= filters (got :${n.kind})`); +function V9(e, t, r) { + if (t !== "fill" && t !== "sign" && t !== "set-group" && t !== "*") throw new xt(e, `unknown fields action: ${t}`); + let n = gf(r, e); + if (n.kind !== "all" && n.kind !== "group") throw new xt(e, `fields only support :all or :group= filters (got :${n.kind})`); return { kind: "collab", entity: "fields", action: t, filter: n }; } -function qg(e, t) { +function gf(e, t) { if (e === "all") return { kind: "all" }; if (e === "self") return { kind: "self" }; if (e.startsWith("createdBy=")) { let r = e.slice(10); - if (!r) throw new Et(t, "createdBy= requires a value"); + if (!r) throw new xt(t, "createdBy= requires a value"); return { kind: "createdBy", userId: r }; } if (e.startsWith("group=")) { let r = e.slice(6); - if (!r) throw new Et(t, "group= requires a value"); + if (!r) throw new xt(t, "group= requires a value"); return { kind: "group", groupId: r }; } - throw new Et(t, `unknown filter: ${e}`); + throw new xt(t, `unknown filter: ${e}`); } -var py = /^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+$/, ly = /^[a-z][a-z0-9]*(-[a-z0-9]+)*(\.[a-z][a-z0-9]*(-[a-z0-9]+)*)+$/; -function uy(e, t) { - if (!ly.test(e)) throw new Et(e, "invalid plugin permission shape (expected .)"); +var Y9 = /^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+$/, X9 = /^[a-z][a-z0-9]*(-[a-z0-9]+)*(\.[a-z][a-z0-9]*(-[a-z0-9]+)*)+$/; +function W9(e, t) { + if (!X9.test(e)) throw new xt(e, "invalid plugin permission shape (expected .)"); return { kind: "plugin", name: e, plugin: t }; } -function my(e) { - if (!py.test(e)) throw new Et(e, "invalid capability name shape"); - if (!Ay.has(e)) throw new Et(e, `unknown capability: ${e}`); +function U9(e) { + if (!Y9.test(e)) throw new xt(e, "invalid capability name shape"); + if (!L9.has(e)) throw new xt(e, `unknown capability: ${e}`); return { kind: "capability", name: e }; } -function Qd(e) { +function Vd(e) { return { ...e.userId ? { userId: e.userId } : {}, ...e.groupId ? { groupId: e.groupId } : {} }; } -function Ro(e, t, r, n = null) { - if (qn(n).has(e)) return !1; - let i = t.map(Ma); - return i.some((a) => a.kind === "wildcard") ? !0 : Lo(i, r, n).has(e); +function Xo(e, t, r, n = null) { + if (Zn(n).has(e)) return !1; + let i = t.map(La); + return i.some((a) => a.kind === "wildcard") ? !0 : Wo(i, r, n).has(e); } -function Sd(e, t, r, n, i) { - let a = r.map(Ma); +function Yd(e, t, r, n, i) { + let a = r.map(La); if (a.some((o) => o.kind === "wildcard")) return !0; let A = a.filter((o) => o.kind === "collab" && o.entity === "annotations" && (o.action === e || o.action === "*")); - return A.length > 0 ? A.some((o) => gy(o.filter, t, n)) : Lo(a, i).has("doc.annotate.modify"); + return A.length > 0 ? A.some((o) => z9(o.filter, t, n)) : Wo(a, i).has("doc.annotate.modify"); } -function Lo(e, t, r = null) { +function Wo(e, t, r = null) { let n = /* @__PURE__ */ new Set(), i = !1, a = !1; - for (let A of e) A.kind === "capability" ? n.add(A.name) : A.kind === "virtual" && A.name === "pdf.permissions" ? fy(n, t) : A.kind === "collab" && A.entity === "annotations" ? i = !0 : A.kind === "collab" && A.entity === "fields" && (a = !0); + for (let A of e) A.kind === "capability" ? n.add(A.name) : A.kind === "virtual" && A.name === "pdf.permissions" ? J9(n, t) : A.kind === "collab" && A.entity === "annotations" ? i = !0 : A.kind === "collab" && A.entity === "fields" && (a = !0); n.has("doc.render") && n.add("doc.render.thumbnail"), n.has("doc.annotate.modify") && n.add("doc.annotate.read"), n.has("doc.forms.modify") && (n.add("doc.forms.fill"), n.add("doc.forms.read")), n.has("doc.forms.fill") && n.add("doc.forms.read"), i && n.add("doc.annotate.read"), a && n.add("doc.forms.read"); - for (let A of qn(r)) n.delete(A); + for (let A of Zn(r)) n.delete(A); return n; } -function Od(e, t, r, n) { +function Xd(e, t, r, n) { if (t === r) return !0; - let i = n.map(Ma); + let i = n.map(La); if (i.some((a) => a.kind === "wildcard")) return !0; for (let a of i) if (a.kind === "collab" && a.entity === e && !(a.action !== "set-group" && a.action !== "*") && (a.filter.kind === "all" || a.filter.kind === "group" && a.filter.groupId === t)) return !0; return !1; } -function wy(e, t, r, n, i = null) { +function q9(e, t, r, n, i = null) { let a = e === "fill" ? "doc.forms.fill" : "doc.sign"; - if (qn(i).has(a)) return !1; - let A = r.map(Ma); + if (Zn(i).has(a)) return !1; + let A = r.map(La); if (A.some((s) => s.kind === "wildcard")) return !0; let o = A.filter((s) => s.kind === "collab" && s.entity === "fields" && (s.action === e || s.action === "*")); - return o.length > 0 ? o.some((s) => s.filter.kind === "all" || t !== null && s.filter.groupId === t) : Lo(A, n, i).has(a); + return o.length > 0 ? o.some((s) => s.filter.kind === "all" || t !== null && s.filter.groupId === t) : Wo(A, n, i).has(a); } -function by(e, t, r, n = null) { +function Z9(e, t, r, n = null) { let i = "doc.forms.fill"; - if (qn(n).has(i)) return !1; - let a = t.map(Ma); - return a.some((A) => A.kind === "wildcard") || a.some((A) => A.kind === "collab" && A.entity === "fields" && (A.action === e || A.action === "*")) ? !0 : Lo(a, r, n).has(i); + if (Zn(n).has(i)) return !1; + let a = t.map(La); + return a.some((A) => A.kind === "wildcard") || a.some((A) => A.kind === "collab" && A.entity === "fields" && (A.action === e || A.action === "*")) ? !0 : Wo(a, r, n).has(i); } -function gy(e, t, r) { +function z9(e, t, r) { switch (e.kind) { case "all": return !0; @@ -4229,52 +4398,52 @@ function gy(e, t, r) { return t.groupId === e.groupId; } } -function fy(e, t) { - for (let r of ny(t)) e.add(r); +function J9(e, t) { + for (let r of O9(t)) e.add(r); } -var Fy = { left: 0, bottom: 0, right: 612, top: 792 }, vy = { left: 0, right: 0, bottom: 0, top: 0 }; -function Py(e) { - let t = e.media ?? Fy, r = (i) => gD(i, t) ?? vy, n = r(e.crop ?? t); +var $9 = { left: 0, bottom: 0, right: 612, top: 792 }, eE = { left: 0, right: 0, bottom: 0, top: 0 }; +function tE(e) { + let t = e.media ?? $9, r = (i) => XD(i, t) ?? eE, n = r(e.crop ?? t); return { media: t, crop: n, bleed: r(e.bleed ?? n), trim: r(e.trim ?? n), art: r(e.art ?? n) }; } -function hy(e) { +function nE(e) { return !Number.isInteger(e) || e % 90 !== 0 ? 0 : (e % 360 + 360) % 360; } -function ja() { +function Ta() { let e = globalThis.crypto.getRandomValues(new Uint8Array(16)); - return e[6] = e[6] & 15 | 64, e[8] = e[8] & 63 | 128, zg(e); + return e[6] = e[6] & 15 | 64, e[8] = e[8] & 63 | 128, Ff(e); } -function Zg(e = Date.now()) { +function ff(e = Date.now()) { let t = globalThis.crypto.getRandomValues(new Uint8Array(16)), r = Math.max(0, Math.floor(e)); for (let n = 5; n >= 0; n--) t[n] = r % 256, r = Math.floor(r / 256); - return t[6] = t[6] & 15 | 112, t[8] = t[8] & 63 | 128, zg(t); + return t[6] = t[6] & 15 | 112, t[8] = t[8] & 63 | 128, Ff(t); } -function zg(e) { +function Ff(e) { let t = Array.from(e, (r) => r.toString(16).padStart(2, "0")).join(""); return `${t.slice(0, 8)}-${t.slice(8, 12)}-${t.slice(12, 16)}-${t.slice(16, 20)}-${t.slice(20)}`; } -function ky(e, t, r) { - let n = new Set(t.map(Ee)), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), A = (P) => { - let D = Ee(P); +function rE(e, t, r) { + let n = new Set(t.map(De)), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), A = (P) => { + let D = De(P); if (i.has(D) || !n.has(D)) return; let G = r(P); i.set(D, G); - for (let I of G) a.set(Z(I.ref), I); - }, o = (P) => (A(P.page), a.get(Z(P))); - for (let P of e.pages ?? []) if (!n.has(Ee(P))) throw new f(g.NotFound, `export: the document has no page ${Ee(P)}`); + for (let I of G) a.set(W(I.ref), I); + }, o = (P) => (A(P.page), a.get(W(P))); + for (let P of e.pages ?? []) if (!n.has(De(P))) throw new f(g.NotFound, `export: the document has no page ${De(P)}`); let s = !e.refs && !e.pages, d = (e.include ?? "threads") === "threads"; for (let P of s ? t : e.pages ?? []) A(P); - let l = /* @__PURE__ */ new Set(), m = [], F = (P) => { + let u = /* @__PURE__ */ new Set(), m = [], F = (P) => { if (!P) return; - let D = Z(P.ref); - l.has(D) || (l.add(D), m.push(P)); + let D = W(P.ref); + u.has(D) || (u.add(D), m.push(P)); }; if (s) for (let P of i.values()) P.forEach(F); else { - for (let P of e.pages ?? []) i.get(Ee(P))?.forEach(F); + for (let P of e.pages ?? []) i.get(De(P))?.forEach(F); for (let P of e.refs ?? []) { let D = o(P); - if (!D) throw new f(g.NotFound, `export: the document has no annotation ${Z(P)}`); + if (!D) throw new f(g.NotFound, `export: the document has no annotation ${W(P)}`); F(D); } } @@ -4284,31 +4453,31 @@ function ky(e, t, r) { for (let D of i.values()) for (let G of D) { let I = G.reply ? o(G.reply.to) : void 0; if (!I) continue; - let _ = Z(I.ref); + let _ = W(I.ref); P.set(_, [...P.get(_) ?? [], G]); } - for (let D = 0; D < m.length; D++) P.get(Z(m[D].ref))?.forEach(F); + for (let D = 0; D < m.length; D++) P.get(W(m[D].ref))?.forEach(F); } for (let P = 0; P < m.length; P++) { let D = m[P]; D.reply && F(o(D.reply.to)), D.popup && F(o(D.popup)), D.subtype === "popup" && D.parent && F(o(D.parent)); } - let k = []; - for (let P of t) for (let D of i.get(Ee(P)) ?? []) l.has(Z(D.ref)) && k.push(D); - return k; + let h = []; + for (let P of t) for (let D of i.get(De(P)) ?? []) u.has(W(D.ref)) && h.push(D); + return h; } -function By(e) { +function iE(e) { return { annotations: e.flatMap((t) => t.annotations), pages: e.flatMap((t) => t.pages) }; } -function Dy(e) { +function aE(e) { let t = e.crop; - return { media: bt(e.media, t), crop: bt(e.crop, t), bleed: bt(e.bleed, t), trim: bt(e.trim, t), art: bt(e.art, t) }; + return { media: ft(e.media, t), crop: ft(e.crop, t), bleed: ft(e.bleed, t), trim: ft(e.trim, t), art: ft(e.art, t) }; } -function yy(e, t) { - let { actions: r, ...n } = e; - return { ...n, boxes: Dy(e.boxes), ...r ? { actions: K0(r, (i) => zr(i, t)) } : {} }; +function AE(e, t) { + let { actions: r, viewports: n, ...i } = e; + return { ...i, boxes: aE(e.boxes), ...r ? { actions: gy(r, (a) => ti(a, t)) } : {}, ...n ? { viewports: Vg(n, e.boxes.crop) } : {} }; } -function Ey(e) { +function oE(e) { let t = new Map(e.map((r) => [r.ref.objectNumber, r.boxes.crop])); return (r) => { let n = t.get(r.objectNumber); @@ -4316,70 +4485,70 @@ function Ey(e) { return n; }; } -function fc(e) { - let t = Ey(e.pages); - return { ...e, pages: e.pages.map((r) => yy(r, t)) }; +function Dc(e) { + let t = oE(e.pages); + return { ...e, pages: e.pages.map((r) => AE(r, t)) }; } -function Gy(e, t) { - return e.kind === "rect" ? { ...e, rect: $A(e.rect, t) } : e; +function sE(e, t) { + return e.kind === "rect" ? { ...e, rect: io(e.rect, t) } : e; } -function rm(e, t) { - return e.map((r) => ({ ...r, rect: bt(r.rect, t) })); +function Fm(e, t) { + return e.map((r) => ({ ...r, rect: ft(r.rect, t) })); } -function Md(e, t) { +function Wd(e, t) { let { actions: r, ...n } = e, i = t(e.page); - return { ...n, ...e.rect ? { rect: $A(e.rect, i) } : {}, ...e.box ? { box: $A(e.box, i) } : {}, ...r ? { actions: Fd(r, (a) => zi(a, t)) } : {} }; + return { ...n, ...e.rect ? { rect: io(e.rect, i) } : {}, ...e.box ? { box: io(e.box, i) } : {}, ...r ? { actions: yd(r, (a) => $i(a, t)) } : {} }; } -function jd(e, t) { - return e.widgets ? { ...e, widgets: e.widgets.map((r) => Md(r, t)) } : e; +function Ud(e, t) { + return e.widgets ? { ...e, widgets: e.widgets.map((r) => Wd(r, t)) } : e; } -function Cy(e, t) { - return N0(e, (r) => zr(r, t)); +function cE(e, t) { + return fy(e, (r) => ti(r, t)); } -function sn(e, t) { - return e.actions ? { ...e, actions: Cy(e.actions, t) } : e; +function cn(e, t) { + return e.actions ? { ...e, actions: cE(e.actions, t) } : e; } -function na(e, t) { - return jo(e, t(e.page), t); +function aa(e, t) { + return ja(e, t(e.page), t); } -function Jg(e, t) { - return { ...e, fields: e.fields.map((r) => sn(r, t)), widgets: e.widgets.map((r) => na(r, t)) }; +function qd(e, t) { + return { ...e, fields: e.fields.map((r) => cn(r, t)), widgets: e.widgets.map((r) => aa(r, t)) }; } -function xy(e, t) { - return { ...e, target: e.target && fd(e.target, t), action: e.action && Ji(e.action, t) }; +function dE(e, t) { + return { ...e, target: e.target && Dd(e.target, t), action: e.action && ea(e.action, t) }; } -function $g(e, t) { +function vf(e, t) { let { target: r, ...n } = e; return r === void 0 ? n : { ...n, target: r && r.kind === "goto" ? { ...r, destination: t(r.destination) } : r }; } -function _y(e, t) { - return { ...e, items: e.items.map((r) => Fc(r, t)) }; +function pE(e, t) { + return { ...e, items: e.items.map((r) => yc(r, t)) }; } -function Fc(e, t) { - return xy(e, (r) => zr(r, t)); +function yc(e, t) { + return dE(e, (r) => ti(r, t)); } -function Hy(e, t) { - return $g(e, (r) => zi(r, t)); +function uE(e, t) { + return vf(e, (r) => $i(r, t)); } -function Ls(e, t) { - return $g(e, (r) => zi(r, t)); +function Ys(e, t) { + return vf(e, (r) => $i(r, t)); } -function Iy(e) { - return ta(e.actions) || (e.widgets ?? []).some((t) => ta(t.actions)); +function lE(e) { + return ra(e.actions) || (e.widgets ?? []).some((t) => ra(t.actions)); } -function im(e) { +function vm(e) { let { box: t, rect: r, rotation: n, ...i } = e; if (n !== void 0 && ![0, 90, 180, 270].includes(n)) throw new f(g.InvalidArg, `a widget turns by a quarter turn (0, 90, 180 or 270), not ${n}`, { details: { field: "rotation" } }); - let a = t ? ci(Se(t), n ?? 0) : r; + let a = t ? li(Se(t), n ?? 0) : r; if (!a) throw new f(g.InvalidArg, "a widget's placement needs its `rect` or its `box`", { details: { field: "rect" } }); - return { ...i, rect: a, ...n !== void 0 ? { rotation: n } : {}, ...bd(i.borderStyle, i.dashArray) ? { dashArray: [...wd] } : {} }; + return { ...i, rect: a, ...n !== void 0 ? { rotation: n } : {}, ...kd(i.borderStyle, i.dashArray) ? { dashArray: [...hd] } : {} }; } -function am(e) { - let t = new Qy(e), r = t.value(); +function Pm(e) { + let t = new mE(e), r = t.value(); if (t.skipSpaces(), !t.atEnd()) throw new Error(`trailing input at ${t.pos}: ${e.slice(t.pos, t.pos + 20)}`); return r; } -var Qy = class { +var mE = class { constructor(e) { this.text = e, Te(this, "pos", 0); } @@ -4507,22 +4676,22 @@ var Qy = class { this.pos += e.length; } }; -function vc(e, t) { - return Vi(e) === Vi(t); +function Ec(e, t) { + return Xi(e) === Xi(t); } -function Vi(e) { +function Xi(e) { if (e === null) return "null"; switch (e.t) { case "dict": - return `<<${Object.keys(e.entries).sort().map((t) => `/${t} ${Vi(e.entries[t])}`).join("")}>>`; + return `<<${Object.keys(e.entries).sort().map((t) => `/${t} ${Xi(e.entries[t])}`).join("")}>>`; case "stream": - return `stream(${e.length},${e.sha256})${Vi({ t: "dict", entries: e.dict })}`; + return `stream(${e.length},${e.sha256})${Xi({ t: "dict", entries: e.dict })}`; case "array": - return `[${e.items.map(Vi).join(" ")}]`; + return `[${e.items.map(Xi).join(" ")}]`; case "ref": return `${e.num} 0 R`; case "name": - return `/${Sy(e.v)}`; + return `/${wE(e.v)}`; case "string": return `(${e.v.replace(/[\\()]/g, (t) => `\\${t}`)})`; case "number": @@ -4536,15 +4705,15 @@ function Vi(e) { function Me(e) { return e ? e.t === "dict" ? e.entries : e.t === "stream" ? e.dict : null : null; } -function qt(e, t) { +function Zt(e, t) { let r = Me(e) ?? {}, n = Me(t) ?? {}, i = /* @__PURE__ */ new Set(); - for (let a of /* @__PURE__ */ new Set([...Object.keys(r), ...Object.keys(n)])) vc(r[a] ?? null, n[a] ?? null) || i.add(a); + for (let a of /* @__PURE__ */ new Set([...Object.keys(r), ...Object.keys(n)])) Ec(r[a] ?? null, n[a] ?? null) || i.add(a); return i; } -function Gn(e) { - return e ? e.t === "ref" ? [e.num] : e.t === "array" ? e.items.flatMap(Gn) : [] : []; +function Cn(e) { + return e ? e.t === "ref" ? [e.num] : e.t === "array" ? e.items.flatMap(Cn) : [] : []; } -function Sy(e) { +function wE(e) { let t = ""; for (let r of e) { let n = r.charCodeAt(0); @@ -4552,51 +4721,51 @@ function Sy(e) { } return t; } -function ef(e, t) { +function Pf(e, t) { return e.some((r) => r.verdict === "forbidden") ? "forbidden" : e.some((r) => r.verdict === "incomplete") ? "indeterminate" : t ? "permitted" : "unchanged"; } -function tf(e) { +function hf(e) { return e.find((t) => t.verdict === "forbidden") ?? e.find((t) => t.verdict === "incomplete") ?? e.find((t) => t.verdict === "permitted"); } -function Oy(e) { - let t = tf(e.findings); +function bE(e) { + let t = hf(e.findings); return { verdict: e.verdict, complete: !e.findings.some((r) => r.verdict === "incomplete"), ...t ? { primary: t } : {}, findings: e.findings }; } -function My(e, t) { +function gE(e, t) { let r = [...e.findings]; for (let a of t) if (a !== e) for (let A of a.findings) A.verdict !== "permitted" && r.push({ ...A, detail: `revision ${a.newer}: ${A.detail ?? A.rule}` }); - let n = ef(r, e.verdict !== "unchanged" || t.some((a) => a.verdict !== "unchanged")), i = tf(r); + let n = Pf(r, e.verdict !== "unchanged" || t.some((a) => a.verdict !== "unchanged")), i = hf(r); return { verdict: n, complete: !r.some((a) => a.verdict === "incomplete"), ...i ? { primary: i } : {}, findings: r }; } -var Yt = ["old", "new"], jy = /* @__PURE__ */ new Set(["Size", "Prev", "XRefStm", "Info", "ID", "Root", "Type", "W", "Index", "Filter", "DecodeParms", "Length", "Encrypt"]), Ry = /* @__PURE__ */ new Set(["Metadata", "Extensions", "Version", "DSS", "AcroForm", "Perms"]), Ly = /* @__PURE__ */ new Set(["DR", "DA", "Q", "SigFlags", "NeedAppearances", "Fields"]), Am = { annotate: /* @__PURE__ */ new Set(["V", "AS", "AP", "I", "DA", "Ff", "RV", "MK", "Q", "TU", "F", "Rect", "BS", "Opt", "DV", "MaxLen"]), fill: /* @__PURE__ */ new Set(["V", "AS", "AP", "I", "RV", "DA", "Ff"]) }, om = { annotate: /* @__PURE__ */ new Set(["AS", "AP", "DA", "MK", "Q", "TU", "F", "Rect", "BS"]), fill: /* @__PURE__ */ new Set(["AS", "AP", "DA"]) }, sm = { annotate: /* @__PURE__ */ new Set(["V", "AP", "AS", "Ff", "TU", "Lock"]), fill: /* @__PURE__ */ new Set(["V", "AP", "AS", "Ff"]) }, Ty = /* @__PURE__ */ new Set(["AP", "AS"]), Ky = 1; -function Ny(e) { - return e === "annotate" ? Am.annotate : Am.fill; +var Xt = ["old", "new"], fE = /* @__PURE__ */ new Set(["Size", "Prev", "XRefStm", "Info", "ID", "Root", "Type", "W", "Index", "Filter", "DecodeParms", "Length", "Encrypt"]), FE = /* @__PURE__ */ new Set(["Metadata", "Extensions", "Version", "DSS", "AcroForm", "Perms"]), vE = /* @__PURE__ */ new Set(["DR", "DA", "Q", "SigFlags", "NeedAppearances", "Fields"]), hm = { annotate: /* @__PURE__ */ new Set(["V", "AS", "AP", "I", "DA", "Ff", "RV", "MK", "Q", "TU", "F", "Rect", "BS", "Opt", "DV", "MaxLen"]), fill: /* @__PURE__ */ new Set(["V", "AS", "AP", "I", "RV", "DA", "Ff"]) }, km = { annotate: /* @__PURE__ */ new Set(["AS", "AP", "DA", "MK", "Q", "TU", "F", "Rect", "BS"]), fill: /* @__PURE__ */ new Set(["AS", "AP", "DA"]) }, Bm = { annotate: /* @__PURE__ */ new Set(["V", "AP", "AS", "Ff", "TU", "Lock"]), fill: /* @__PURE__ */ new Set(["V", "AP", "AS", "Ff"]) }, PE = /* @__PURE__ */ new Set(["AP", "AS"]), hE = 1; +function kE(e) { + return e === "annotate" ? hm.annotate : hm.fill; } -function Vy(e) { - return e === "annotate" ? om.annotate : om.fill; +function BE(e) { + return e === "annotate" ? km.annotate : km.fill; } -function cm(e) { - return e === "annotate" ? sm.annotate : sm.fill; +function Dm(e) { + return e === "annotate" ? Bm.annotate : Bm.fill; } -var Yy = /* @__PURE__ */ new Set(["identical-rewrite", "orphan", "xref-container", "trailer"]); -function Xy(e) { - let t = Yn(e.signatures); +var DE = /* @__PURE__ */ new Set(["identical-rewrite", "orphan", "xref-container", "trailer"]); +function yE(e) { + let t = Xn(e.signatures); return { level: t.judged ?? "annotate", locks: t.fieldLocks }; } -function dm(e) { - let t = Wy(e.changes), { level: r, locks: n } = e.restrictions ?? Xy(e.before), i = e.levelOverride ?? r, a = new qy({ ...e, changes: t }, i, n); - Uy(a), Zy(a), zy(a), sE(a), Jy(a), $y(a), eE(a), tE(a), nE(a), rE(a), iE(a), aE(a), AE(a), oE(a), cE(a); - let A = ef(a.findings, a.findings.some((o) => o.verdict === "permitted" && !Yy.has(o.rule))); +function ym(e) { + let t = EE(e.changes), { level: r, locks: n } = e.restrictions ?? yE(e.before), i = e.levelOverride ?? r, a = new CE({ ...e, changes: t }, i, n); + GE(a), xE(a), _E(a), KE(a), HE(a), IE(a), QE(a), SE(a), OE(a), ME(a), jE(a), RE(a), LE(a), TE(a), NE(a); + let A = Pf(a.findings, a.findings.some((o) => o.verdict === "permitted" && !DE.has(o.rule))); return { older: e.older, newer: e.newer, levelInForce: i, locks: n, verdict: A, findings: a.findings, changes: t }; } -function Wy(e) { +function EE(e) { return e.map((t) => { if (t.value.truncated || t.kind === "xref" || t.kind === "objstm") return t; let r = t.present.old && (t.value.old === null || t.read?.old === "failed"), n = t.present.new && (t.value.new === null || t.read?.new === "failed"); return r || n ? { ...t, value: { ...t.value, truncated: !0 } } : t; }); } -function Uy(e) { +function GE(e) { let t = e.input.health; if (!t) return; let r = t.old; @@ -4604,12 +4773,12 @@ function Uy(e) { let n = [r.sparseXref ? "its cross-reference table has no entry for some object numbers below /Size" : null, r.bareReferences > 0 ? `${r.bareReferences} reachable indirect object(s) consist of a bare reference` : null].filter((i) => i !== null).join("; "); e.findings.push({ rule: "base-unverifiable", verdict: "incomplete", objectNumber: 0, detail: `the signed revision cannot be verified against later changes by Acrobat (${n}); no verdict is given rather than one Acrobat would contradict` }); } - for (let n of Yt) t[n].referrersComplete || e.findings.push({ rule: "unexplained", verdict: "incomplete", objectNumber: 0, detail: `the ${n === "old" ? "older" : "newer"} revision's reachability walk hit its budget; not every use of a changed object is known` }); + for (let n of Xt) t[n].referrersComplete || e.findings.push({ rule: "unexplained", verdict: "incomplete", objectNumber: 0, detail: `the ${n === "old" ? "older" : "newer"} revision's reachability walk hit its budget; not every use of a changed object is known` }); } -function nf(e) { +function kf(e) { return e.change === "modified" && !e.value.truncated && e.read?.old !== "failed" && e.read?.new !== "failed" && e.raw.old !== null && e.raw.new !== null && e.raw.old === e.raw.new && !e.streamDataChanged; } -function pm(e) { +function Em(e) { let t = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Set(); for (let a of e.fields) { t.set(a.objectNumber, a), a.kind === "signature" && n.add(a.objectNumber); @@ -4619,45 +4788,45 @@ function pm(e) { for (let a of e.signatures) a.signed && a.field.kind === "objectNumber" && i.add(a.field.objectNumber); return { fieldByObj: t, widgetToField: r, pages: new Set(e.pages), signedFields: i, sigFields: n }; } -function Mn(e) { +function jn(e) { return `${e.parent}:${e.label}`; } -var qy = class { +var CE = class { constructor(e, t, r) { this.input = e, this.level = t, this.locks = r, Te(this, "findings", []), Te(this, "byNum", /* @__PURE__ */ new Map()), Te(this, "before", void 0), Te(this, "after", void 0), Te(this, "claims", /* @__PURE__ */ new Map()), Te(this, "locked", /* @__PURE__ */ new Set()); for (let n of e.changes) this.byNum.set(n.objectNumber, n); - this.before = pm(e.before), this.after = pm(e.after); + this.before = Em(e.before), this.after = Em(e.after); } get changes() { return this.input.changes; } allows(e) { - return gc(this.level, e); + return Bc(this.level, e); } claimEdge(e, t, r, n, i = !0) { if (this.locked.has(e.objectNumber)) return; - let a = `${e.objectNumber}:${t}:${Mn(r)}`; + let a = `${e.objectNumber}:${t}:${jn(r)}`; this.claims.has(a) || this.claims.set(a, { rule: n, allow: i }); } claimAll(e, t, r = !0) { - for (let n of Yt) for (let i of e.usage[n]) this.claimEdge(e, n, i, t, r); + for (let n of Xt) for (let i of e.usage[n]) this.claimEdge(e, n, i, t, r); } claimStable(e, t, r = !0) { - let n = new Set(e.usage.old.map(Mn)), i = new Set(e.usage.new.map(Mn)); - for (let a of e.usage.old) i.has(Mn(a)) && this.claimEdge(e, "old", a, t, r); - for (let a of e.usage.new) n.has(Mn(a)) && this.claimEdge(e, "new", a, t, r); + let n = new Set(e.usage.old.map(jn)), i = new Set(e.usage.new.map(jn)); + for (let a of e.usage.old) i.has(jn(a)) && this.claimEdge(e, "old", a, t, r); + for (let a of e.usage.new) n.has(jn(a)) && this.claimEdge(e, "new", a, t, r); } isClaimed(e, t, r) { - return this.claims.has(`${e.objectNumber}:${t}:${Mn(r)}`); + return this.claims.has(`${e.objectNumber}:${t}:${jn(r)}`); } isAllowed(e, t, r) { - return this.claims.get(`${e.objectNumber}:${t}:${Mn(r)}`)?.allow === !0; + return this.claims.get(`${e.objectNumber}:${t}:${jn(r)}`)?.allow === !0; } permitted(e, t, r) { this.locked.has(e.objectNumber) || this.findings.push({ rule: t, verdict: "permitted", objectNumber: e.objectNumber, detail: r }); } forbidden(e, t, r, n) { - this.findings.push({ rule: t, verdict: e.value.truncated ? "incomplete" : "forbidden", objectNumber: e.objectNumber, edge: n ? Mn(n) : void 0, detail: e.value.truncated ? `${r} (judged on missing evidence: not proven)` : r }); + this.findings.push({ rule: t, verdict: e.value.truncated ? "incomplete" : "forbidden", objectNumber: e.objectNumber, edge: n ? jn(n) : void 0, detail: e.value.truncated ? `${r} (judged on missing evidence: not proven)` : r }); } claimSubtree(e, t, r, n) { let i = /* @__PURE__ */ new Set(), a = !0; @@ -4676,7 +4845,7 @@ var qy = class { } } isIdentical(e) { - return nf(e); + return kf(e); } newlySigned() { let e = []; @@ -4684,59 +4853,59 @@ var qy = class { return e; } }; -function Zy(e) { +function xE(e) { for (let t of e.changes) (t.kind === "xref" || t.kind === "objstm") && (e.claimAll(t, "xref-container"), e.permitted(t, "xref-container", "cross-reference container; members are judged on their own")); } -function zy(e) { +function _E(e) { for (let t of e.changes) e.isIdentical(t) && (e.allows("fill") ? (e.claimAll(t, "identical-rewrite"), e.permitted(t, "identical-rewrite", "written again with the sealed value")) : (e.claimAll(t, "identical-rewrite", !1), e.forbidden(t, "identical-rewrite", `written again with the sealed value under level '${e.level}' (not established for this level)`))); } -function Jy(e) { +function HE(e) { let t = e.byNum.get(0); if (!t) return; - let r = qt(t.value.old, t.value.new), n = [...r].filter((A) => !jy.has(A)), i = Me(t.value.old)?.Root, a = Me(t.value.new)?.Root; + let r = Zt(t.value.old, t.value.new), n = [...r].filter((A) => !fE.has(A)), i = Me(t.value.old)?.Root, a = Me(t.value.new)?.Root; if (n.length > 0) { e.forbidden(t, "trailer", `trailer keys changed: ${n.join(", ")}`); return; } - if (r.has("Root") && !vc(i ?? null, a ?? null)) { + if (r.has("Root") && !Ec(i ?? null, a ?? null)) { e.forbidden(t, "trailer", "the trailer points at a different catalog"); return; } - if (r.has("Encrypt") && !vc(Me(t.value.old)?.Encrypt ?? null, Me(t.value.new)?.Encrypt ?? null)) { + if (r.has("Encrypt") && !Ec(Me(t.value.old)?.Encrypt ?? null, Me(t.value.new)?.Encrypt ?? null)) { e.forbidden(t, "trailer", "the trailer points at a different encryption dictionary"); return; } e.claimAll(t, "trailer"), e.permitted(t, "trailer"); } -function Rd(e, t) { +function Zd(e, t) { let r = [...e.usage.old, ...e.usage.new]; return r.length > 0 && r.every(t); } -function $y(e) { - for (let t of e.changes) e.isIdentical(t) || t.objectNumber !== 0 && Rd(t, (r) => r.parent === 0 && r.label === "Info") && (e.claimAll(t, "info"), e.permitted(t, "info", "document information dictionary")); +function IE(e) { + for (let t of e.changes) e.isIdentical(t) || t.objectNumber !== 0 && Zd(t, (r) => r.parent === 0 && r.label === "Info") && (e.claimAll(t, "info"), e.permitted(t, "info", "document information dictionary")); } -function eE(e) { +function QE(e) { let t = /* @__PURE__ */ new Set([e.input.before.root, e.input.after.root]); - for (let r of e.changes) e.isIdentical(r) || Rd(r, (n) => t.has(n.parent) && n.label === "Metadata") && (e.claimAll(r, "metadata"), e.permitted(r, "metadata", "XMP metadata stream")); + for (let r of e.changes) e.isIdentical(r) || Zd(r, (n) => t.has(n.parent) && n.label === "Metadata") && (e.claimAll(r, "metadata"), e.permitted(r, "metadata", "XMP metadata stream")); } -function tE(e) { +function SE(e) { let t = e.input.after.root, r = e.byNum.get(t); if (!r || e.isIdentical(r)) return; - let n = qt(r.value.old, r.value.new), i = [...n].filter((a) => !Ry.has(a)); + let n = Zt(r.value.old, r.value.new), i = [...n].filter((a) => !FE.has(a)); if (i.length > 0) { e.forbidden(r, "catalog-housekeeping", `catalog keys changed: ${i.join(", ")}`); return; } if (n.has("AcroForm") && !e.input.after.acroForm && !e.input.before.acroForm) { - let a = rf(e, Me(r.value.old)?.AcroForm ?? null, Me(r.value.new)?.AcroForm ?? null); + let a = Bf(e, Me(r.value.old)?.AcroForm ?? null, Me(r.value.new)?.AcroForm ?? null); if (a) { e.forbidden(r, "acroform-housekeeping", a); return; } - for (let A of Yt) e.claimSubtree(A, /* @__PURE__ */ new Set([t]), (o) => o.startsWith("AcroForm/DR/"), "acroform-housekeeping"); + for (let A of Xt) e.claimSubtree(A, /* @__PURE__ */ new Set([t]), (o) => o.startsWith("AcroForm/DR/"), "acroform-housekeeping"); } if (n.has("Perms")) { - let a = Yn(e.input.after.signatures), A = Yn(e.input.before.signatures); + let a = Xn(e.input.after.signatures), A = Xn(e.input.before.signatures); if (!a.certification || A.judged !== null) { e.forbidden(r, "catalog-housekeeping", "/Perms may only appear with the certification signature, in the first signed revision"); return; @@ -4744,48 +4913,48 @@ function tE(e) { } e.claimAll(r, "catalog-housekeeping"), e.permitted(r, "catalog-housekeeping"); } -function nE(e) { +function OE(e) { let t = e.input.after.acroForm || e.input.before.acroForm; if (!t) return; let r = e.byNum.get(t); if (!r || e.isIdentical(r)) return; - let n = rf(e, r.value.old, r.value.new); + let n = Bf(e, r.value.old, r.value.new); if (n) { e.forbidden(r, "acroform-housekeeping", n); return; } e.claimAll(r, "acroform-housekeeping"), e.permitted(r, "acroform-housekeeping"); - for (let i of Yt) e.claimSubtree(i, /* @__PURE__ */ new Set([t]), (a) => a.startsWith("DR/"), "acroform-housekeeping"); + for (let i of Xt) e.claimSubtree(i, /* @__PURE__ */ new Set([t]), (a) => a.startsWith("DR/"), "acroform-housekeeping"); } -function rf(e, t, r) { - let n = qt(t, r), i = [...n].filter((a) => !Ly.has(a)); +function Bf(e, t, r) { + let n = Zt(t, r), i = [...n].filter((a) => !vE.has(a)); if (i.length > 0) return `AcroForm keys changed: ${i.join(", ")}`; if (n.has("Fields")) { - let a = Gn(Me(t)?.Fields), A = Gn(Me(r)?.Fields); - if (a.length > A.length || a.some((d, l) => A[l] !== d)) return "/AcroForm /Fields is not append-only"; - let o = Ld(e), s = A.slice(a.length).filter((d) => !o.has(d)); + let a = Cn(Me(t)?.Fields), A = Cn(Me(r)?.Fields); + if (a.length > A.length || a.some((d, u) => A[u] !== d)) return "/AcroForm /Fields is not append-only"; + let o = zd(e), s = A.slice(a.length).filter((d) => !o.has(d)); if (s.length > 0) return `/AcroForm /Fields gained non-signature fields: ${s.join(", ")}`; } return null; } -function lm(e, t) { - let r = Me(e.value.old)?.[t], n = Me(e.value.new)?.[t], i = Gn(r), a = Gn(n); +function Gm(e, t) { + let r = Me(e.value.old)?.[t], n = Me(e.value.new)?.[t], i = Cn(r), a = Cn(n); if (r && r.t !== "array" || !n || n.t !== "array" || i.length > a.length) return null; for (let A = 0; A < i.length; A++) if (i[A] !== a[A]) return null; return a.slice(i.length); } -function Ld(e) { +function zd(e) { let t = /* @__PURE__ */ new Set(); for (let r of e.after.sigFields) e.before.fieldByObj.has(r) || t.add(r); return t; } -function rE(e) { +function ME(e) { let t = /* @__PURE__ */ new Set([e.input.before.root, e.input.after.root]); - for (let r of Yt) e.claimSubtree(r, t, (n) => n === "DSS" || n.startsWith("DSS/"), "dss"); + for (let r of Xt) e.claimSubtree(r, t, (n) => n === "DSS" || n.startsWith("DSS/"), "dss"); for (let r of e.changes) r.usage.new.some((n) => t.has(n.parent) && n.label === "DSS") && !e.findings.some((n) => n.objectNumber === r.objectNumber) && e.permitted(r, "dss", "document security store"); } -function iE(e) { - let t = Ld(e); +function jE(e) { + let t = zd(e); if (t.size === 0) return; let r = "signature-field-added"; if (!e.allows("fill")) { @@ -4808,26 +4977,26 @@ function iE(e) { for (let i of e.after.pages) { let a = e.byNum.get(i); if (!a || e.isIdentical(a)) continue; - let A = qt(a.value.old, a.value.new); + let A = Zt(a.value.old, a.value.new); if (A.size !== 1 || !A.has("Annots")) continue; - let o = lm(a, "Annots"); + let o = Gm(a, "Annots"); o && o.every((s) => n.has(s)) && (e.claimAll(a, r), e.permitted(a, r, "page /Annots gained the new signature widget")); } for (let i of e.changes) { if (i.kind !== "dictionary" || e.isIdentical(i)) continue; - let a = qt(i.value.old, i.value.new); + let a = Zt(i.value.old, i.value.new); if (a.size !== 1 || !a.has("Kids")) continue; - let A = lm(i, "Kids"); + let A = Gm(i, "Kids"); A && A.length > 0 && A.every((o) => t.has(o) || n.has(o)) && (e.claimAll(i, r), e.permitted(i, r, "field /Kids gained the new signature field")); } } -function aE(e) { +function RE(e) { let t = "signature-added", r = e.newlySigned(); if (r.length === 0) return; - let n = Ld(e), i = Yn(e.input.before.signatures), a = Yn(e.input.after.signatures), A = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set(); + let n = zd(e), i = Xn(e.input.before.signatures), a = Xn(e.input.after.signatures), A = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set(); for (let { fieldObjectNumber: s, sig: d } of r) { - let l = d.kind === "timestamp" ? "lta" : "fill"; - if (!e.allows(l)) { + let u = d.kind === "timestamp" ? "lta" : "fill"; + if (!e.allows(u)) { let D = e.byNum.get(s); D && e.forbidden(D, t, `a ${d.kind} was added under level '${e.level}'`); continue; @@ -4840,17 +5009,17 @@ function aE(e) { let m = e.after.fieldByObj.get(s); A.add(s); for (let D of m?.widgets ?? []) A.add(D); - let F = n.has(s), k = i.judged === null ? /* @__PURE__ */ new Set([...cm(e.level), "Lock"]) : cm(e.level), P = e.byNum.get(s); + let F = n.has(s), h = i.judged === null ? /* @__PURE__ */ new Set([...Dm(e.level), "Lock"]) : Dm(e.level), P = e.byNum.get(s); if (P && F) e.permitted(P, t, `new field "${d.fieldName}" signed`); else if (P && !e.isIdentical(P)) { - let D = qt(P.value.old, P.value.new), G = [...D].filter((I) => !k.has(I)); - G.length > 0 ? (e.forbidden(P, t, `signature field keys changed: ${G.join(", ")}`), e.claimStable(P, t, !1)) : D.has("Ff") && !Td(P, e.before.fieldByObj.get(s)?.flags) ? (e.forbidden(P, t, "signature field flags changed beyond ReadOnly"), e.claimStable(P, t, !1)) : (e.claimStable(P, t), e.permitted(P, t, `field "${d.fieldName}" signed`)); + let D = Zt(P.value.old, P.value.new), G = [...D].filter((I) => !h.has(I)); + G.length > 0 ? (e.forbidden(P, t, `signature field keys changed: ${G.join(", ")}`), e.claimStable(P, t, !1)) : D.has("Ff") && !Jd(P, e.before.fieldByObj.get(s)?.flags) ? (e.forbidden(P, t, "signature field flags changed beyond ReadOnly"), e.claimStable(P, t, !1)) : (e.claimStable(P, t), e.permitted(P, t, `field "${d.fieldName}" signed`)); } for (let D of m?.widgets ?? []) { if (D === s || F) continue; let G = e.byNum.get(D); if (!G || e.isIdentical(G)) continue; - let I = [...qt(G.value.old, G.value.new)].filter((_) => !Ty.has(_)); + let I = [...Zt(G.value.old, G.value.new)].filter((_) => !PE.has(_)); if (I.length > 0) { e.forbidden(G, t, `signature widget keys changed: ${I.join(", ")}`), e.claimStable(G, t, !1); continue; @@ -4873,20 +5042,20 @@ function aE(e) { } if (a.certification && i.judged === null) { let s = e.input.after.root; - for (let d of e.changes) d.change === "added" && Rd(d, (l) => l.parent === s && l.label === "Perms") && (e.claimAll(d, t), e.permitted(d, t, "certification permissions")); + for (let d of e.changes) d.change === "added" && Zd(d, (u) => u.parent === s && u.label === "Perms") && (e.claimAll(d, t), e.permitted(d, t, "certification permissions")); } - for (let s of Yt) e.claimSubtree(s, A, (d) => d === "AP" || d.startsWith("AP/"), t); + for (let s of Xt) e.claimSubtree(s, A, (d) => d === "AP" || d.startsWith("AP/"), t); o.size > 0 && e.claimSubtree("new", o, () => !0, t); } -function Td(e, t) { +function Jd(e, t) { let r = Me(e.value.old)?.Ff, n = Me(e.value.new)?.Ff, i = r?.t === "number" ? r.v : t ?? 0, a = n?.t === "number" ? n.v : 0; - return (i | Ky) === a; + return (i | hE) === a; } -function AE(e) { - let t = "form-fill", r = Ny(e.level), n = Vy(e.level), i = /* @__PURE__ */ new Set(), a = new Map([...e.before.fieldByObj, ...e.after.fieldByObj]); +function LE(e) { + let t = "form-fill", r = kE(e.level), n = BE(e.level), i = /* @__PURE__ */ new Set(), a = new Map([...e.before.fieldByObj, ...e.after.fieldByObj]); for (let [A, o] of a) { if (o.kind === "signature") continue; - let s = e.byNum.get(A), d = o.widgets.filter((P) => P !== A).map((P) => e.byNum.get(P)).filter(Boolean), l = /* @__PURE__ */ new Set([A, ...o.widgets]), m = (P) => P === "AP" || P.startsWith("AP/"), F = !s && d.length === 0 ? e.changes.filter((P) => Yt.some((D) => P.usage[D].some((G) => l.has(G.parent) && m(G.label))) && Yt.every((D) => P.usage[D].every((G) => !m(G.label) || l.has(G.parent)))) : []; + let s = e.byNum.get(A), d = o.widgets.filter((P) => P !== A).map((P) => e.byNum.get(P)).filter(Boolean), u = /* @__PURE__ */ new Set([A, ...o.widgets]), m = (P) => P === "AP" || P.startsWith("AP/"), F = !s && d.length === 0 ? e.changes.filter((P) => Xt.some((D) => P.usage[D].some((G) => u.has(G.parent) && m(G.label))) && Xt.every((D) => P.usage[D].every((G) => !m(G.label) || u.has(G.parent)))) : []; if (!s && d.length === 0 && F.length === 0) continue; if (!e.allows("fill")) { for (let P of [s, ...d, ...F]) P && !e.isIdentical(P) && e.forbidden(P, t, `form fill under level '${e.level}'`); @@ -4898,11 +5067,11 @@ function AE(e) { for (let P of o.widgets) i.add(P); continue; } - let k = !0; + let h = !0; if (s && !e.isIdentical(s)) { - let P = qt(s.value.old, s.value.new), D = [...P].filter((G) => !r.has(G)); - if (D.length > 0) e.forbidden(s, t, `field "${o.name}" keys changed: ${D.join(", ")}`), e.claimStable(s, t, !1), k = !1; - else if (P.has("Ff") && !Td(s, e.before.fieldByObj.get(A)?.flags)) e.forbidden(s, t, `field "${o.name}" flags changed beyond adding ReadOnly`), e.claimStable(s, t, !1), k = !1; + let P = Zt(s.value.old, s.value.new), D = [...P].filter((G) => !r.has(G)); + if (D.length > 0) e.forbidden(s, t, `field "${o.name}" keys changed: ${D.join(", ")}`), e.claimStable(s, t, !1), h = !1; + else if (P.has("Ff") && !Jd(s, e.before.fieldByObj.get(A)?.flags)) e.forbidden(s, t, `field "${o.name}" flags changed beyond adding ReadOnly`), e.claimStable(s, t, !1), h = !1; else { e.claimStable(s, t); let G = [...P].filter((I) => I !== "V" && I !== "AP" && I !== "AS" && I !== "I" && I !== "RV"); @@ -4911,21 +5080,21 @@ function AE(e) { } for (let P of d) { if (e.isIdentical(P)) continue; - let D = [...qt(P.value.old, P.value.new)].filter((G) => !n.has(G)); + let D = [...Zt(P.value.old, P.value.new)].filter((G) => !n.has(G)); if (D.length > 0) { - e.forbidden(P, t, `widget of "${o.name}" keys changed: ${D.join(", ")}`), e.claimStable(P, t, !1), k = !1; + e.forbidden(P, t, `widget of "${o.name}" keys changed: ${D.join(", ")}`), e.claimStable(P, t, !1), h = !1; continue; } e.claimStable(P, t), e.permitted(P, t, `widget of "${o.name}" appearance`); } - if (k) { + if (h) { i.add(A); for (let P of o.widgets) i.add(P); } } - for (let A of Yt) e.claimSubtree(A, i, (o) => o === "AP" || o.startsWith("AP/"), t); + for (let A of Xt) e.claimSubtree(A, i, (o) => o === "AP" || o.startsWith("AP/"), t); } -function oE(e) { +function TE(e) { let t = "annotation", r = /* @__PURE__ */ new Set([...e.before.pages, ...e.after.pages]), n = /* @__PURE__ */ new Set([...e.before.widgetToField.keys(), ...e.after.widgetToField.keys()]), i = (o) => { if (n.has(o.objectNumber)) return !0; let s = Me(o.value.new ?? o.value.old)?.Subtype; @@ -4941,21 +5110,21 @@ function oE(e) { for (let o of r) { let s = e.byNum.get(o); if (!s || e.isIdentical(s)) continue; - let d = qt(s.value.old, s.value.new); + let d = Zt(s.value.old, s.value.new); if (d.size === 1 && d.has("Annots")) { - let l = Gn(Me(s.value.old)?.Annots).filter((F) => !Gn(Me(s.value.new)?.Annots).includes(F)), m = Gn(Me(s.value.new)?.Annots).filter((F) => !Gn(Me(s.value.old)?.Annots).includes(F)); - if ([...l, ...m].some((F) => n.has(F) && !e.findings.some((k) => k.objectNumber === F && k.verdict === "permitted"))) { + let u = Cn(Me(s.value.old)?.Annots).filter((F) => !Cn(Me(s.value.new)?.Annots).includes(F)), m = Cn(Me(s.value.new)?.Annots).filter((F) => !Cn(Me(s.value.old)?.Annots).includes(F)); + if ([...u, ...m].some((F) => n.has(F) && !e.findings.some((h) => h.objectNumber === F && h.verdict === "permitted"))) { e.forbidden(s, t, "page /Annots added or removed a form widget"); continue; } e.claimAll(s, t), e.permitted(s, t, "page /Annots changed"); } } - for (let o of Yt) e.claimSubtree(o, A, (s) => s === "AP" || s.startsWith("AP/") || s === "Popup" || s === "IRT", t); + for (let o of Xt) e.claimSubtree(o, A, (s) => s === "AP" || s.startsWith("AP/") || s === "Popup" || s === "IRT", t); } -function sE(e) { +function KE(e) { if (e.locks.length === 0) return; - let t = e.input.before.fields.filter((a) => e.locks.some((A) => Ug(A.spec, a.name))), r = /* @__PURE__ */ new Set(); + let t = e.input.before.fields.filter((a) => e.locks.some((A) => bf(A.spec, a.name))), r = /* @__PURE__ */ new Set(); for (let a of t) { r.add(a.objectNumber); for (let A of a.widgets) r.add(A); @@ -4969,8 +5138,8 @@ function sE(e) { if (!n.has(a.objectNumber) || e.isIdentical(a)) continue; let A = t.find((o) => o.objectNumber === a.objectNumber || o.widgets.includes(a.objectNumber)); if (A && A.objectNumber === a.objectNumber) { - let o = qt(a.value.old, a.value.new); - if (o.size === 1 && o.has("Ff") && Td(a, e.before.fieldByObj.get(a.objectNumber)?.flags)) { + let o = Zt(a.value.old, a.value.new); + if (o.size === 1 && o.has("Ff") && Jd(a, e.before.fieldByObj.get(a.objectNumber)?.flags)) { e.claimStable(a, "field-lock"), e.permitted(a, "field-lock", `ReadOnly set on locked field "${A.name}"`); continue; } @@ -4978,7 +5147,7 @@ function sE(e) { e.locked.add(a.objectNumber), e.forbidden(a, "field-lock", A ? `field "${A.name}" is locked by the signature` : "part of a locked field changed"); } } -function cE(e) { +function NE(e) { for (let t of e.changes) { if (t.value.truncated) { e.findings.push({ rule: "unexplained", verdict: "incomplete", objectNumber: t.objectNumber, detail: "value too large to inspect" }); @@ -4989,23 +5158,23 @@ function cE(e) { continue; } if (!e.locked.has(t.objectNumber)) { - for (let r of Yt) for (let n of t.usage[r]) e.isClaimed(t, r, n) || e.forbidden(t, "unexplained", `${r === "old" ? "was" : "is"} referenced from object ${n.parent} at ${n.label} and no rule explains it`, n); + for (let r of Xt) for (let n of t.usage[r]) e.isClaimed(t, r, n) || e.forbidden(t, "unexplained", `${r === "old" ? "was" : "is"} referenced from object ${n.parent} at ${n.label} and no rule explains it`, n); t.usage.old.length === 0 && t.usage.new.length === 0 && !e.findings.some((r) => r.objectNumber === t.objectNumber) && e.permitted(t, "orphan", "referenced from nowhere reachable"); } } } -function dE(e, t) { +function VE(e, t) { let r = [], n = [], i = null, a = !1; for (let A of e.signatures) { if (!A.signed || A.revisionIndex === null) continue; a = !0; let o = t !== null && A.index === t.index; - A.catalogCertification && A.docMdp !== null && (r.push({ signatureIndex: A.index, revisionIndex: A.revisionIndex, source: "docmdp", own: o, permission: A.docMdp }), i = oo(i ?? "annotate", Ao(A.docMdp))), A.lock?.permission !== void 0 && (i = oo(i ?? "annotate", Ao(A.lock.permission))), !(t !== null && !o) && (A.fieldMdp && (r.push({ signatureIndex: A.index, revisionIndex: A.revisionIndex, source: "fieldmdp", own: o, fields: A.fieldMdp }), n.push({ signatureIndex: A.index, source: "fieldmdp", spec: A.fieldMdp })), A.lock && (r.push({ signatureIndex: A.index, revisionIndex: A.revisionIndex, source: "lock", own: o, fields: A.lock }), n.push({ signatureIndex: A.index, source: "lock", spec: A.lock }))); + A.catalogCertification && A.docMdp !== null && (r.push({ signatureIndex: A.index, revisionIndex: A.revisionIndex, source: "docmdp", own: o, permission: A.docMdp }), i = lo(i ?? "annotate", uo(A.docMdp))), A.lock?.permission !== void 0 && (i = lo(i ?? "annotate", uo(A.lock.permission))), !(t !== null && !o) && (A.fieldMdp && (r.push({ signatureIndex: A.index, revisionIndex: A.revisionIndex, source: "fieldmdp", own: o, fields: A.fieldMdp }), n.push({ signatureIndex: A.index, source: "fieldmdp", spec: A.fieldMdp })), A.lock && (r.push({ signatureIndex: A.index, revisionIndex: A.revisionIndex, source: "lock", own: o, fields: A.lock }), n.push({ signatureIndex: A.index, source: "lock", spec: A.lock }))); } return { anchors: r, level: a ? i ?? "annotate" : "annotate", locks: n }; } -var pE = { maxDepth: 16, maxEdgesPerObject: 256, maxReads: 2e4 }, EA = "incomplete", af = "…", um = class { - constructor(e, t, r = pE) { +var YE = { maxDepth: 16, maxEdgesPerObject: 256, maxReads: 2e4 }, HA = "incomplete", Df = "…", Cm = class { + constructor(e, t, r = YE) { this.read = e, this.anchors = t, this.budget = r, Te(this, "referrers", /* @__PURE__ */ new Map()), Te(this, "resolved", /* @__PURE__ */ new Map()), Te(this, "reads", 0), Te(this, "exhausted", !1); } resolve(e) { @@ -5037,23 +5206,23 @@ var pE = { maxDepth: 16, maxEdgesPerObject: 256, maxReads: 2e4 }, EA = "incomple for (; a.length > 0; ) { let s = a[a.length - 1]; if (s.next < s.parents.length) { - let l = s.parents[s.next++]; - if (t.has(l)) i.has(l) && r.set(s.node, Math.min(r.get(s.node), t.get(l))); - else if (!o(l)) return null; + let u = s.parents[s.next++]; + if (t.has(u)) i.has(u) && r.set(s.node, Math.min(r.get(s.node), t.get(u))); + else if (!o(u)) return null; continue; } a.pop(); let d = s.node; if (a.length > 0) { - let l = a[a.length - 1].node; - r.set(l, Math.min(r.get(l), r.get(d))); + let u = a[a.length - 1].node; + r.set(u, Math.min(r.get(u), r.get(d))); } if (r.get(d) === t.get(d)) { - let l = [], m; + let u = [], m; do - m = n.pop(), i.delete(m), l.push(m); + m = n.pop(), i.delete(m), u.push(m); while (m !== d); - A.push(l); + A.push(u); } } return A; @@ -5075,7 +5244,7 @@ var pE = { maxDepth: 16, maxEdgesPerObject: 256, maxReads: 2e4 }, EA = "incomple if (!i) return null; t.push(...i); } - let r = wm(t); + let r = _m(t); return r.length > this.budget.maxEdgesPerObject ? null : /* @__PURE__ */ new Map([[e, r]]); } edgesOfLoop(e, t) { @@ -5086,16 +5255,16 @@ var pE = { maxDepth: 16, maxEdgesPerObject: 256, maxReads: 2e4 }, EA = "incomple if (t.has(s.parent)) continue; let d = this.through(s); if (!d) return null; - for (let l of d) { - o.push(l); - let m = [...l.via ?? [], A]; + for (let u of d) { + o.push(u); + let m = [...u.via ?? [], A]; if (m.length >= this.budget.maxDepth) return null; - let F = { parent: l.parent, label: `${l.label}/${af}`, via: m }, k = n.get(Pc(F)); - k ? k.length === 1 && mm(k[0]) !== A && k.push(F) : n.set(Pc(F), [F]); + let F = { parent: u.parent, label: `${u.label}/${Df}`, via: m }, h = n.get(Gc(F)); + h ? h.length === 1 && xm(h[0]) !== A && h.push(F) : n.set(Gc(F), [F]); } if (o.length > this.budget.maxEdgesPerObject) return null; } - o.length > 0 && r.set(A, wm(o)); + o.length > 0 && r.set(A, _m(o)); } if (n.size > this.budget.maxEdgesPerObject) return null; let i = /* @__PURE__ */ new Map(), a = [...n.values()].map((A) => A[0]); @@ -5106,8 +5275,8 @@ var pE = { maxDepth: 16, maxEdgesPerObject: 256, maxReads: 2e4 }, EA = "incomple continue; } let s = []; - for (let l of n.values()) { - let m = l.find((F) => mm(F) !== A); + for (let u of n.values()) { + let m = u.find((F) => xm(F) !== A); m && s.push(m); } let d = [...o, ...s]; @@ -5129,249 +5298,225 @@ var pE = { maxDepth: 16, maxEdgesPerObject: 256, maxReads: 2e4 }, EA = "incomple return r; } }; -function Pc(e) { +function Gc(e) { return `${e.parent}:${e.label}`; } -function mm(e) { +function xm(e) { return e.via[e.via.length - 1]; } -function wm(e) { +function _m(e) { let t = /* @__PURE__ */ new Set(); return e.filter((r) => { - if (!r.label.includes(af)) return !0; - let n = Pc(r); + if (!r.label.includes(Df)) return !0; + let n = Gc(r); return t.has(n) ? !1 : (t.add(n), !0); }); } -function lE(e) { +function XE(e) { return { text: e.text, ...e.regex ? { regex: !0 } : {}, ...e.matchCase ? { matchCase: !0 } : {}, ...e.wholeWord ? { wholeWord: !0 } : {}, ...e.matchDiacritics ? { matchDiacritics: !0 } : {}, ...e.ignoreWhitespace ? { ignoreWhitespace: !0 } : {} }; } -var bm = /\s/, uE = /\s/g, gm = (e, t) => { +var Hm = /\s/, WE = /\s/g, Im = (e, t) => { let r = e.charCodeAt(t); return r >= 56320 && r <= 57343; }; -function mE(e, t, r = 48) { +function UE(e, t, r = 48) { let n = t.start + t.count, i = Math.max(0, t.start - r); if (i > 0) { - for (let o = i; o < t.start; o++) if (bm.test(e[o])) { + for (let o = i; o < t.start; o++) if (Hm.test(e[o])) { i = o + 1; break; } - gm(e, i) && i++; + Im(e, i) && i++; } let a = Math.min(e.length, n + r); if (a < e.length) { - for (let o = a - 1; o >= n; o--) if (bm.test(e[o])) { + for (let o = a - 1; o >= n; o--) if (Hm.test(e[o])) { a = o; break; } - gm(e, a) && a--; + Im(e, a) && a--; } - let A = (o, s) => e.slice(o, s).replace(uE, " "); + let A = (o, s) => e.slice(o, s).replace(WE, " "); return { before: A(i, t.start), match: A(t.start, n), after: A(n, a) }; } -var wE = /* @__PURE__ */ new Set([g.InvalidArg, g.NotFound, g.Forbidden, g.ProtectedDocument, g.MalformedPdf, g.PayloadTooLarge, g.ObjectNumberUnavailable, g.LayerFull, g.ChangeConflict, g.UndoUnavailable]); -function fm(e) { - return wE.has(e); +var qE = /* @__PURE__ */ new Set([g.InvalidArg, g.NotFound, g.Forbidden, g.ProtectedDocument, g.MalformedPdf, g.PayloadTooLarge, g.ObjectNumberUnavailable, g.LayerFull, g.ChangeConflict, g.UndoUnavailable]); +function Qm(e) { + return qE.has(e); } -function Fm(e) { - let t = hc(e); - return `${t.length.toString(36)}-${bE(t)}`; +function Sm(e) { + let t = Cc(e); + return `${t.length.toString(36)}-${ZE(t)}`; } -function hc(e) { +function Cc(e) { if (e instanceof ArrayBuffer || ArrayBuffer.isView(e)) { let t = e instanceof ArrayBuffer ? new Uint8Array(e) : new Uint8Array(e.buffer, e.byteOffset, e.byteLength); - return JSON.stringify({ $bytes: `${t.byteLength.toString(36)}-${gE(t)}` }); + return JSON.stringify({ $bytes: `${t.byteLength.toString(36)}-${zE(t)}` }); } - return Array.isArray(e) ? `[${e.map(hc).join(",")}]` : e !== null && typeof e == "object" ? `{${Object.entries(e).filter(([, t]) => t !== void 0).sort(([t], [r]) => t < r ? -1 : t > r ? 1 : 0).map(([t, r]) => `${JSON.stringify(t)}:${hc(r)}`).join(",")}}` : JSON.stringify(e) ?? "null"; + return Array.isArray(e) ? `[${e.map(Cc).join(",")}]` : e !== null && typeof e == "object" ? `{${Object.entries(e).filter(([, t]) => t !== void 0).sort(([t], [r]) => t < r ? -1 : t > r ? 1 : 0).map(([t, r]) => `${JSON.stringify(t)}:${Cc(r)}`).join(",")}}` : JSON.stringify(e) ?? "null"; } -function bE(e) { +function ZE(e) { let t = 3735928559, r = 1103547991; for (let n = 0; n < e.length; n++) { let i = e.charCodeAt(n); t = Math.imul(t ^ i, 2654435761), r = Math.imul(r ^ i, 1597334677); } - return Af(t, r); + return yf(t, r); } -function gE(e) { +function zE(e) { let t = 3735928559, r = 1103547991; for (let n of e) t = Math.imul(t ^ n, 2654435761), r = Math.imul(r ^ n, 1597334677); - return Af(t, r); + return yf(t, r); } -function Af(e, t) { +function yf(e, t) { return e = Math.imul(e ^ e >>> 16, 2246822507), e ^= Math.imul(t ^ t >>> 13, 3266489909), t = Math.imul(t ^ t >>> 16, 2246822507), t ^= Math.imul(e ^ e >>> 13, 3266489909), (4294967296 * (2097151 & t) + (e >>> 0)).toString(36); } -function Fe(e, t) { - Ht(e, t); +function ge(e, t) { + vt(e, t); let { grants: r, protection: n } = e; - if (r && !Ro(t, r.scope, r.permissionFlags, n)) throw new mn(t, "target"); + if (r && !Xo(t, r.scope, r.permissionFlags, n)) throw new mn(t, "target"); } -function fE(e, t) { +function Ef(e, t) { let { grants: r, protection: n } = e; - return n && qn(n).has(t) ? !1 : !r || Ro(t, r.scope, r.permissionFlags, n); + return n && Zn(n).has(t) ? !1 : !r || Xo(t, r.scope, r.permissionFlags, n); } -function Ht(e, t) { +function vt(e, t) { let { protection: r } = e; - if (r && qn(r).has(t)) throw new f(g.ProtectedDocument, ay(t, r)); + if (r && Zn(r).has(t)) throw new f(g.ProtectedDocument, R9(t, r)); } -function li(e) { +function vr(e) { return e === "widget" ? "doc.forms.modify" : "doc.annotate.modify"; } -function Kd(e) { - return [...new Set(e.map((t) => li(t.subtype)))]; +function $d(e) { + return [...new Set(e.map((t) => vr(t.subtype)))]; } -function of(e, t) { +function Gf(e, t) { let { identity: r, grants: n } = e; - if (n && !Ro("doc.forms.modify", n.scope, n.permissionFlags)) throw new mn("doc.forms.modify", "target"); + if (n && !Xo("doc.forms.modify", n.scope, n.permissionFlags)) throw new mn("doc.forms.modify", "target"); if (typeof t == "string") throw new f(g.InvalidArg, "a widget has no group of its own: a form field's group is the field's"); let i = { ...r.userId !== void 0 ? { userId: r.userId } : {}, ...r.displayName !== void 0 ? { displayName: r.displayName } : {} }; return i.userId || i.displayName ? i : void 0; } -function sf(e, t, r) { - if (t === "widget") return of(e, r); +function ep(e, t, r) { + if (t === "widget") return Gf(e, r); let { identity: n, grants: i } = e; if (r === null && n.groupId !== void 0) throw new f(g.InvalidArg, "your annotations have a group: leave groupId out for your own, or name another", { details: { field: "groupId" } }); let a = r === void 0 ? n.groupId : r ?? void 0; if (i) { - if (a !== void 0 && !Od("annotations", a, n.groupId, i.scope)) throw new mn(`annotations:set-group:group=${a}`, "target"); - if (!Sd("create", Qd({ userId: n.userId, groupId: a }), i.scope, n, i.permissionFlags)) throw new mn("annotations:create", "target"); + if (a !== void 0 && !Xd("annotations", a, n.groupId, i.scope)) throw new mn(`annotations:set-group:group=${a}`, "target"); + if (!Yd("create", Vd({ userId: n.userId, groupId: a }), i.scope, n, i.permissionFlags)) throw new mn("annotations:create", "target"); } let A = { ...n.userId !== void 0 ? { userId: n.userId } : {}, ...a !== void 0 ? { groupId: a } : {}, ...n.displayName !== void 0 ? { displayName: n.displayName } : {} }; return A.userId || A.groupId || A.displayName ? A : void 0; } -function cf(e, t, r) { - if (t.subtype === "widget") return of(e, r); - let { identity: n, grants: i } = e, a = Qd(t); - if (i && !Sd("update", a, i.scope, n, i.permissionFlags)) throw new mn("annotations:update", "target"); +function Cf(e, t, r) { + if (t.subtype === "widget") return Gf(e, r); + let { identity: n, grants: i } = e, a = Vd(t); + if (i && !Yd("update", a, i.scope, n, i.permissionFlags)) throw new mn("annotations:update", "target"); if (r === null && a.groupId !== void 0) throw new f(g.InvalidArg, "an annotation's group can't be removed"); let A = typeof r == "string" && r !== a.groupId; - if (A && i && !Od("annotations", r, n.groupId, i.scope)) throw new mn(`annotations:set-group:group=${r}`, "target"); + if (A && i && !Xd("annotations", r, n.groupId, i.scope)) throw new mn(`annotations:set-group:group=${r}`, "target"); let o = { ...n.userId !== void 0 ? { userId: n.userId } : {}, ...n.displayName !== void 0 ? { displayName: n.displayName } : {}, ...A ? { groupId: r } : {} }; return o.userId || o.groupId || o.displayName ? o : void 0; } -function df(e, t) { +function xf(e, t) { let { identity: r, grants: n } = e; if (!n) return; - let i = Ro("doc.forms.modify", n.scope, n.permissionFlags), a = t.filter((A) => A.subtype === "widget" ? !i : !Sd("delete", Qd(A), n.scope, r, n.permissionFlags)); + let i = Xo("doc.forms.modify", n.scope, n.permissionFlags), a = t.filter((A) => A.subtype === "widget" ? !i : !Yd("delete", Vd(A), n.scope, r, n.permissionFlags)); if (a.length > 0) throw new mn("annotations:delete", "target", void 0, a.map((A) => A.ref)); } function lr(e, t, r) { - if (Ht(e, so(r)), !ui(e, t, r)) throw new mn(t === null ? so(r) : `fields:${r}:group=${t}`, "target"); + if (vt(e, mo(r)), !bi(e, t, r)) throw new mn(t === null ? mo(r) : `fields:${r}:group=${t}`, "target"); } -function ui(e, t, r) { +function bi(e, t, r) { let { grants: n, protection: i } = e; - return i && qn(i).has(so(r)) ? !1 : !n || wy(r, t, n.scope, n.permissionFlags, i); + return i && Zn(i).has(mo(r)) ? !1 : !n || q9(r, t, n.scope, n.permissionFlags, i); } -function FE(e, t) { +function JE(e, t) { let { grants: r, protection: n } = e; - return n && qn(n).has(so(t)) ? !1 : !r || by(t, r.scope, r.permissionFlags, n); + return n && Zn(n).has(mo(t)) ? !1 : !r || Z9(t, r.scope, r.permissionFlags, n); } -function pf(e, t) { +function _f(e, t) { let { identity: r, grants: n } = e; - if (n && !Od("fields", t, r.groupId, n.scope)) throw new mn(`fields:set-group:group=${t}`, "target"); + if (n && !Xd("fields", t, r.groupId, n.scope)) throw new mn(`fields:set-group:group=${t}`, "target"); } -function so(e) { +function mo(e) { return e === "fill" ? "doc.forms.fill" : "doc.sign"; } Array.from({ length: 128 }, (e, t) => ({ print: (t & 1) !== 0, modifyContents: (t & 2) !== 0, copy: (t & 4) !== 0, modifyAnnotations: (t & 8) !== 0, fillForms: (t & 16) !== 0, copyForAccessibility: !1, assemble: (t & 32) !== 0, printHighQuality: (t & 64) !== 0 })); -var T = { UNKNOWN: 0, TEXT: 1, LINK: 2, FREETEXT: 3, LINE: 4, SQUARE: 5, CIRCLE: 6, POLYGON: 7, POLYLINE: 8, HIGHLIGHT: 9, UNDERLINE: 10, SQUIGGLY: 11, STRIKEOUT: 12, STAMP: 13, CARET: 14, INK: 15, POPUP: 16, FILEATTACHMENT: 17, SOUND: 18, MOVIE: 19, WIDGET: 20, SCREEN: 21, PRINTERMARK: 22, TRAPNET: 23, WATERMARK: 24, THREED: 25, RICHMEDIA: 26, XFAWIDGET: 27, REDACT: 28 }, vE = Object.freeze({ [T.TEXT]: "text", [T.LINK]: "link", [T.FREETEXT]: "free-text", [T.LINE]: "line", [T.SQUARE]: "square", [T.CIRCLE]: "circle", [T.POLYGON]: "polygon", [T.POLYLINE]: "polyline", [T.HIGHLIGHT]: "highlight", [T.UNDERLINE]: "underline", [T.SQUIGGLY]: "squiggly", [T.STRIKEOUT]: "strikeout", [T.STAMP]: "stamp", [T.CARET]: "caret", [T.INK]: "ink", [T.POPUP]: "popup", [T.FILEATTACHMENT]: "file-attachment", [T.WIDGET]: "widget", [T.REDACT]: "redact" }), lf = Object.freeze({ text: T.TEXT, link: T.LINK, "free-text": T.FREETEXT, line: T.LINE, square: T.SQUARE, circle: T.CIRCLE, polygon: T.POLYGON, polyline: T.POLYLINE, highlight: T.HIGHLIGHT, underline: T.UNDERLINE, squiggly: T.SQUIGGLY, strikeout: T.STRIKEOUT, stamp: T.STAMP, caret: T.CARET, ink: T.INK, popup: T.POPUP, "file-attachment": T.FILEATTACHMENT, redact: T.REDACT, widget: T.WIDGET, unsupported: T.UNKNOWN }); -function ra(e) { - return vE[e] ?? "unsupported"; -} -var uf = ["color", "interiorColor", "strokeWidth", "borderStyle", "dashArray", "fontFamily", "fontSize", "fontColor", "textAlign", "caption", "checkStyle"]; -function Nd(e) { - let t = [], r = (n, i) => { - if (!(typeof n != "object" || n === null)) { - if (Array.isArray(n)) { - n.forEach((a) => r(a)); - return; - } - if (i === "page" && wf(n)) { - t.push(n); - return; - } - Object.entries(n).forEach(([a, A]) => r(A, a)); - } - }; - return r(e), t; +var T = { UNKNOWN: 0, TEXT: 1, LINK: 2, FREETEXT: 3, LINE: 4, SQUARE: 5, CIRCLE: 6, POLYGON: 7, POLYLINE: 8, HIGHLIGHT: 9, UNDERLINE: 10, SQUIGGLY: 11, STRIKEOUT: 12, STAMP: 13, CARET: 14, INK: 15, POPUP: 16, FILEATTACHMENT: 17, SOUND: 18, MOVIE: 19, WIDGET: 20, SCREEN: 21, PRINTERMARK: 22, TRAPNET: 23, WATERMARK: 24, THREED: 25, RICHMEDIA: 26, XFAWIDGET: 27, REDACT: 28 }, $E = Object.freeze({ [T.TEXT]: "text", [T.LINK]: "link", [T.FREETEXT]: "free-text", [T.LINE]: "line", [T.SQUARE]: "square", [T.CIRCLE]: "circle", [T.POLYGON]: "polygon", [T.POLYLINE]: "polyline", [T.HIGHLIGHT]: "highlight", [T.UNDERLINE]: "underline", [T.SQUIGGLY]: "squiggly", [T.STRIKEOUT]: "strikeout", [T.STAMP]: "stamp", [T.CARET]: "caret", [T.INK]: "ink", [T.POPUP]: "popup", [T.FILEATTACHMENT]: "file-attachment", [T.WIDGET]: "widget", [T.REDACT]: "redact" }), Hf = Object.freeze({ text: T.TEXT, link: T.LINK, "free-text": T.FREETEXT, line: T.LINE, square: T.SQUARE, circle: T.CIRCLE, polygon: T.POLYGON, polyline: T.POLYLINE, highlight: T.HIGHLIGHT, underline: T.UNDERLINE, squiggly: T.SQUIGGLY, strikeout: T.STRIKEOUT, stamp: T.STAMP, caret: T.CARET, ink: T.INK, popup: T.POPUP, "file-attachment": T.FILEATTACHMENT, redact: T.REDACT, widget: T.WIDGET, unsupported: T.UNKNOWN }); +function Aa(e) { + return $E[e] ?? "unsupported"; } -function mf(e, t) { - let r = (n, i) => typeof n != "object" || n === null ? n : Array.isArray(n) ? n.map((a) => r(a)) : i === "page" && wf(n) ? t(n) : Object.fromEntries(Object.entries(n).map(([a, A]) => [a, r(A, a)])); - return r(e); +var If = ["color", "interiorColor", "strokeWidth", "borderStyle", "dashArray", "fontFamily", "fontSize", "fontColor", "textAlign", "caption", "checkStyle"], eG = { own: 0 }, Qf = (e) => e === "truetype" || e === "opentype", tp = (e) => e === "installable" || e === "editable"; +function Uo(e) { + return e.embedded === "whole" && Qf(e.format) && e.mapsUnicode && tp(e.permission); } -function wf(e) { - return Object.keys(e).length === 2 && e.kind === "objectNumber" && typeof e.objectNumber == "number"; +function Sf(e) { + return e.displaySha256 !== null && (e.permission === null || tp(e.permission)); } -var PE = { own: 0 }, bf = (e) => e === "truetype" || e === "opentype", Vd = (e) => e === "installable" || e === "editable"; -function To(e) { - return e.embedded === "whole" && bf(e.format) && e.mapsUnicode && Vd(e.permission); -} -function gf(e) { - return e.displaySha256 !== null && (e.permission === null || Vd(e.permission)); -} -function ff(e) { +function Of(e) { let t = []; - return e.embedded === "none" ? (t.push(e.format === "type3" ? "unsupported-format" : "not-embedded"), t) : (e.embedded === "subset" && t.push("subset"), bf(e.format) ? e.mapsUnicode || t.push("no-unicode-map") : t.push("unsupported-format"), e.permission !== null && !Vd(e.permission) && t.push("preview-and-print"), t); + return e.embedded === "none" ? (t.push(e.format === "type3" ? "unsupported-format" : "not-embedded"), t) : (e.embedded === "subset" && t.push("subset"), Qf(e.format) ? e.mapsUnicode || t.push("no-unicode-map") : t.push("unsupported-format"), e.permission !== null && !tp(e.permission) && t.push("preview-and-print"), t); } -function hE(e) { - let t = gf(e); +function tG(e) { + let t = Sf(e); return { displaySha256: t ? e.displaySha256 : null, sourceSha256: e.embedded === "none" ? null : e.sha256, embedded: e.embedded, format: e.embedded === "none" ? null : e.format, embeddingPermission: e.permission === "restricted" || e.permission === "bitmap-only" ? "preview-and-print" : e.permission, canDownload: t }; } -var vm = (e) => To(e) ? 0 : gf(e) ? 1 : e.embedded !== "none" ? 2 : 3, kE = { 100: "Thin", 200: "ExtraLight", 300: "Light", 400: "", 500: "Medium", 600: "SemiBold", 700: "Bold", 800: "ExtraBold", 900: "Black" }; -function Ff(e, t) { +var Om = (e) => Uo(e) ? 0 : Sf(e) ? 1 : e.embedded !== "none" ? 2 : 3, nG = { 100: "Thin", 200: "ExtraLight", 300: "Light", 400: "", 500: "Medium", 600: "SemiBold", 700: "Bold", 800: "ExtraBold", 900: "Black" }; +function Mf(e, t) { if (t) return t; - let r = `${kE[e.weight] ?? String(e.weight)}${e.italic ? "Italic" : ""}`; + let r = `${nG[e.weight] ?? String(e.weight)}${e.italic ? "Italic" : ""}`; return r ? `${e.familyName},${r}` : e.familyName; } -function Ko(e) { +function qo(e) { let t = /* @__PURE__ */ new Map(); for (let r of e) for (let n of r.programs) { if (!n.postScriptName && r.familyName === "") continue; - let i = Ff(r, n.postScriptName), a = t.get(i) ?? []; + let i = Mf(r, n.postScriptName), a = t.get(i) ?? []; a.some(({ program: A }) => n.objectNumber > 0 ? A.objectNumber === n.objectNumber && A.displaySha256 === n.displaySha256 : A.objectNumber === 0 && A.embedded === n.embedded && A.format === n.format && A.sha256 === n.sha256) || a.push({ face: r, program: n }), t.set(i, a); } return [...t].map(([r, n]) => { - let i = [...n].sort((s, d) => vm(s.program) - vm(d.program)), { familyName: a, weight: A, italic: o } = i[0].face; + let i = [...n].sort((s, d) => Om(s.program) - Om(d.program)), { familyName: a, weight: A, italic: o } = i[0].face; return { name: r, face: { familyName: a, weight: A, italic: o }, programs: i.map(({ program: s }) => s) }; }); } -function vf(e) { - return lD(e.face.familyName) !== void 0 && e.programs.every((t) => t.embedded === "none"); +function jf(e) { + return TD(e.face.familyName) !== void 0 && e.programs.every((t) => t.embedded === "none"); } -function BE(e) { +function rG(e) { let t = e.programs[0]; - return { name: e.name, source: "document", builtIn: !1, familyName: e.face.familyName, weight: e.face.weight, italic: e.face.italic, postScriptName: t?.postScriptName ?? null, canChoose: t ? To(t) : !1, restrictions: t ? ff(t) : ["not-embedded"], programs: e.programs.map(hE) }; + return { name: e.name, source: "document", builtIn: !1, familyName: e.face.familyName, weight: e.face.weight, italic: e.face.italic, postScriptName: t?.postScriptName ?? null, canChoose: t ? Uo(t) : !1, restrictions: t ? Of(t) : ["not-embedded"], programs: e.programs.map(tG) }; } -function DE(e) { +function iG(e) { let { identity: t } = e, r = []; return t.editingAuthorized || r.push("preview-and-print"), e.served || r.push("not-served"), { name: e.key, source: "engine", builtIn: e.builtIn, familyName: t.familyName, weight: t.weight, italic: t.italic, postScriptName: e.postScriptName, canChoose: t.editingAuthorized, restrictions: r, programs: [{ displaySha256: e.sha256, sourceSha256: e.sha256, embedded: "none", format: e.format, embeddingPermission: t.embeddingPermission, canDownload: e.served }] }; } -function yE(e, t) { - let r = Ur[e]; +function aG(e, t) { + let r = Jr[e]; return { name: e, source: "standard", builtIn: !0, familyName: r.family, weight: r.weight, italic: r.italic, postScriptName: null, canChoose: !0, restrictions: [], programs: [{ displaySha256: t.standardDisplayHash(e), sourceSha256: null, embedded: "none", format: null, embeddingPermission: null, canDownload: !0 }] }; } -function EE(e, t) { - let r = (i) => i.programs.some((a) => a.sha256 === t.lastResortDisplayHash), n = Ko(e.faces).filter((i) => !vf(i) && !r(i)).map(BE); - return { fonts: [...Ad.map((i) => yE(i, t)), ...e.engineFonts.map(DE), ...n], fallbacks: [...e.fallbacks], lastResort: { displaySha256: t.lastResortDisplayHash, sourceSha256: null, embedded: "none", format: "truetype", embeddingPermission: "installable", canDownload: !0 } }; +function AG(e, t) { + let r = (i) => i.programs.some((a) => a.sha256 === t.lastResortDisplayHash), n = qo(e.faces).filter((i) => !jf(i) && !r(i)).map(rG); + return { fonts: [...md.map((i) => aG(i, t)), ...e.engineFonts.map(iG), ...n], fallbacks: [...e.fallbacks], lastResort: { displaySha256: t.lastResortDisplayHash, sourceSha256: null, embedded: "none", format: "truetype", embeddingPermission: "installable", canDownload: !0 } }; } -function Pf(e, t) { - let r = Ko(e.faces).find((i) => i.name === t && !vf(i)); +function Rf(e, t) { + let r = qo(e.faces).find((i) => i.name === t && !jf(i)); if (!r) return; let n = r.programs[0]; - return n ? { objectNumber: n.objectNumber, choosable: To(n) && n.objectNumber > 0, restrictions: ff(n) } : { objectNumber: 0, choosable: !1, restrictions: ["not-embedded"] }; + return n ? { objectNumber: n.objectNumber, choosable: Uo(n) && n.objectNumber > 0, restrictions: Of(n) } : { objectNumber: 0, choosable: !1, restrictions: ["not-embedded"] }; } -var Pm = { elsewhere: 0, near: 1, visible: 2 }; -function _r(e, t) { - let r = Pm[e.place] - Pm[t.place]; +var Mm = { elsewhere: 0, near: 1, visible: 2 }; +function Ir(e, t) { + let r = Mm[e.place] - Mm[t.place]; return r !== 0 ? r > 0 : e.pixels > t.pixels; } -var Or = Object.freeze([]); -function L(e, t = Or) { +var Rr = Object.freeze([]); +function L(e, t = Rr) { return { payload: e, transfer: t }; } var w = {}; -ze(w, { BRAND: () => $E, DIRTY: () => Tr, EMPTY_PATH: () => _E, INVALID: () => te, NEVER: () => OG, OK: () => rt, ParseStatus: () => ct, Schema: () => le, ZodAny: () => ti, ZodArray: () => mr, ZodBigInt: () => Aa, ZodBoolean: () => oa, ZodBranded: () => Yd, ZodCatch: () => ga, ZodDate: () => sa, ZodDefault: () => ba, ZodDiscriminatedUnion: () => Cf, ZodEffects: () => Zt, ZodEnum: () => Ra, ZodError: () => Xt, ZodFirstPartyTypeKind: () => ne, ZodFunction: () => If, ZodIntersection: () => la, ZodIssueCode: () => M, ZodLazy: () => ua, ZodLiteral: () => ma, ZodMap: () => mo, ZodNaN: () => bo, ZodNativeEnum: () => wa, ZodNever: () => Cn, ZodNull: () => da, ZodNullable: () => Wn, ZodNumber: () => aa, ZodObject: () => xt, ZodOptional: () => ln, ZodParsedType: () => W, ZodPipeline: () => Xd, ZodPromise: () => ni, ZodReadonly: () => fa, ZodRecord: () => Hf, ZodSchema: () => le, ZodSet: () => wo, ZodString: () => ei, ZodSymbol: () => lo, ZodTransformer: () => Zt, ZodTuple: () => Xn, ZodType: () => le, ZodUndefined: () => ca, ZodUnion: () => pa, ZodUnknown: () => sr, ZodVoid: () => uo, addIssueToContext: () => V, any: () => sG, array: () => lG, bigint: () => rG, boolean: () => Rf, coerce: () => SG, custom: () => Of, date: () => iG, datetimeRegex: () => Ef, defaultErrorMap: () => $r, discriminatedUnion: () => bG, effect: () => Bm, enum: () => DG, function: () => hG, getErrorMap: () => co, getParsedType: () => Dn, instanceof: () => tG, intersection: () => gG, isAborted: () => Bc, isAsync: () => ia, isDirty: () => Dc, isValid: () => ur, late: () => eG, lazy: () => kG, literal: () => BG, makeIssue: () => po, map: () => vG, nan: () => nG, nativeEnum: () => yG, never: () => dG, null: () => oG, nullable: () => CG, number: () => jf, object: () => uG, objectUtil: () => kc, oboolean: () => QG, onumber: () => IG, optional: () => GG, ostring: () => HG, pipeline: () => _G, preprocess: () => xG, promise: () => EG, quotelessJson: () => GE, record: () => FG, set: () => PG, setErrorMap: () => xE, strictObject: () => mG, string: () => Mf, symbol: () => aG, transformer: () => Bm, tuple: () => fG, undefined: () => AG, union: () => wG, unknown: () => cG, util: () => ve, void: () => pG }); -var ve; +ze(w, { BRAND: () => HG, DIRTY: () => Vr, EMPTY_PATH: () => dG, INVALID: () => te, NEVER: () => wC, OK: () => rt, ParseStatus: () => dt, Schema: () => ue, ZodAny: () => ai, ZodArray: () => wr, ZodBigInt: () => ca, ZodBoolean: () => da, ZodBranded: () => np, ZodCatch: () => va, ZodDate: () => pa, ZodDefault: () => Fa, ZodDiscriminatedUnion: () => Wf, ZodEffects: () => zt, ZodEnum: () => Ka, ZodError: () => Wt, ZodFirstPartyTypeKind: () => ne, ZodFunction: () => zf, ZodIntersection: () => wa, ZodIssueCode: () => R, ZodLazy: () => ba, ZodLiteral: () => ga, ZodMap: () => Fo, ZodNaN: () => Po, ZodNativeEnum: () => fa, ZodNever: () => _n, ZodNull: () => la, ZodNullable: () => Un, ZodNumber: () => sa, ZodObject: () => It, ZodOptional: () => un, ZodParsedType: () => U, ZodPipeline: () => rp, ZodPromise: () => Ai, ZodReadonly: () => Pa, ZodRecord: () => Zf, ZodSchema: () => ue, ZodSet: () => vo, ZodString: () => ii, ZodSymbol: () => go, ZodTransformer: () => zt, ZodTuple: () => Wn, ZodType: () => ue, ZodUndefined: () => ua, ZodUnion: () => ma, ZodUnknown: () => cr, ZodVoid: () => fo, addIssueToContext: () => Y, any: () => TG, array: () => YG, bigint: () => OG, boolean: () => rF, coerce: () => mC, custom: () => eF, date: () => MG, datetimeRegex: () => Yf, defaultErrorMap: () => ri, discriminatedUnion: () => qG, effect: () => Lm, enum: () => iC, function: () => tC, getErrorMap: () => wo, getParsedType: () => yn, instanceof: () => QG, intersection: () => ZG, isAborted: () => _c, isAsync: () => oa, isDirty: () => Hc, isValid: () => mr, late: () => IG, lazy: () => nC, literal: () => rC, makeIssue: () => bo, map: () => $G, nan: () => SG, nativeEnum: () => aC, never: () => NG, null: () => LG, nullable: () => sC, number: () => nF, object: () => XG, objectUtil: () => xc, oboolean: () => lC, onumber: () => uC, optional: () => oC, ostring: () => pC, pipeline: () => dC, preprocess: () => cC, promise: () => AC, quotelessJson: () => oG, record: () => JG, set: () => eC, setErrorMap: () => cG, strictObject: () => WG, string: () => tF, symbol: () => jG, transformer: () => Lm, tuple: () => zG, undefined: () => RG, union: () => UG, unknown: () => KG, util: () => Pe, void: () => VG }); +var Pe; (function(e) { e.assertEqual = (i) => { }; @@ -5402,33 +5547,33 @@ var ve; return i.map((A) => typeof A == "string" ? `'${A}'` : A).join(a); } e.joinValues = n, e.jsonStringifyReplacer = (i, a) => typeof a == "bigint" ? a.toString() : a; -})(ve || (ve = {})); -var kc; +})(Pe || (Pe = {})); +var xc; (function(e) { e.mergeShapes = (t, r) => ({ ...t, ...r }); -})(kc || (kc = {})); -var W = ve.arrayToEnum(["string", "nan", "number", "integer", "float", "boolean", "date", "bigint", "symbol", "function", "undefined", "null", "array", "object", "unknown", "promise", "void", "never", "map", "set"]), Dn = (e) => { +})(xc || (xc = {})); +var U = Pe.arrayToEnum(["string", "nan", "number", "integer", "float", "boolean", "date", "bigint", "symbol", "function", "undefined", "null", "array", "object", "unknown", "promise", "void", "never", "map", "set"]), yn = (e) => { switch (typeof e) { case "undefined": - return W.undefined; + return U.undefined; case "string": - return W.string; + return U.string; case "number": - return Number.isNaN(e) ? W.nan : W.number; + return Number.isNaN(e) ? U.nan : U.number; case "boolean": - return W.boolean; + return U.boolean; case "function": - return W.function; + return U.function; case "bigint": - return W.bigint; + return U.bigint; case "symbol": - return W.symbol; + return U.symbol; case "object": - return Array.isArray(e) ? W.array : e === null ? W.null : e.then && typeof e.then == "function" && e.catch && typeof e.catch == "function" ? W.promise : typeof Map < "u" && e instanceof Map ? W.map : typeof Set < "u" && e instanceof Set ? W.set : typeof Date < "u" && e instanceof Date ? W.date : W.object; + return Array.isArray(e) ? U.array : e === null ? U.null : e.then && typeof e.then == "function" && e.catch && typeof e.catch == "function" ? U.promise : typeof Map < "u" && e instanceof Map ? U.map : typeof Set < "u" && e instanceof Set ? U.set : typeof Date < "u" && e instanceof Date ? U.date : U.object; default: - return W.unknown; + return U.unknown; } -}, M = ve.arrayToEnum(["invalid_type", "invalid_literal", "custom", "invalid_union", "invalid_union_discriminator", "invalid_enum_value", "unrecognized_keys", "invalid_arguments", "invalid_return_type", "invalid_date", "invalid_string", "too_small", "too_big", "invalid_intersection_types", "not_multiple_of", "not_finite"]), GE = (e) => JSON.stringify(e, null, 2).replace(/"([^"]+)":/g, "$1:"), Xt = class hf extends Error { +}, R = Pe.arrayToEnum(["invalid_type", "invalid_literal", "custom", "invalid_union", "invalid_union_discriminator", "invalid_enum_value", "unrecognized_keys", "invalid_arguments", "invalid_return_type", "invalid_date", "invalid_string", "too_small", "too_big", "invalid_intersection_types", "not_multiple_of", "not_finite"]), oG = (e) => JSON.stringify(e, null, 2).replace(/"([^"]+)":/g, "$1:"), Wt = class Lf extends Error { get errors() { return this.issues; } @@ -5460,13 +5605,13 @@ var W = ve.arrayToEnum(["string", "nan", "number", "integer", "float", "boolean" return i(this), n; } static assert(t) { - if (!(t instanceof hf)) throw new Error(`Not a ZodError: ${t}`); + if (!(t instanceof Lf)) throw new Error(`Not a ZodError: ${t}`); } toString() { return this.message; } get message() { - return JSON.stringify(this.issues, ve.jsonStringifyReplacer, 2); + return JSON.stringify(this.issues, Pe.jsonStringifyReplacer, 2); } get isEmpty() { return this.issues.length === 0; @@ -5483,81 +5628,81 @@ var W = ve.arrayToEnum(["string", "nan", "number", "integer", "float", "boolean" return this.flatten(); } }; -Xt.create = (e) => new Xt(e); -var CE = (e, t) => { +Wt.create = (e) => new Wt(e); +var sG = (e, t) => { let r; switch (e.code) { - case M.invalid_type: - e.received === W.undefined ? r = "Required" : r = `Expected ${e.expected}, received ${e.received}`; + case R.invalid_type: + e.received === U.undefined ? r = "Required" : r = `Expected ${e.expected}, received ${e.received}`; break; - case M.invalid_literal: - r = `Invalid literal value, expected ${JSON.stringify(e.expected, ve.jsonStringifyReplacer)}`; + case R.invalid_literal: + r = `Invalid literal value, expected ${JSON.stringify(e.expected, Pe.jsonStringifyReplacer)}`; break; - case M.unrecognized_keys: - r = `Unrecognized key(s) in object: ${ve.joinValues(e.keys, ", ")}`; + case R.unrecognized_keys: + r = `Unrecognized key(s) in object: ${Pe.joinValues(e.keys, ", ")}`; break; - case M.invalid_union: + case R.invalid_union: r = "Invalid input"; break; - case M.invalid_union_discriminator: - r = `Invalid discriminator value. Expected ${ve.joinValues(e.options)}`; + case R.invalid_union_discriminator: + r = `Invalid discriminator value. Expected ${Pe.joinValues(e.options)}`; break; - case M.invalid_enum_value: - r = `Invalid enum value. Expected ${ve.joinValues(e.options)}, received '${e.received}'`; + case R.invalid_enum_value: + r = `Invalid enum value. Expected ${Pe.joinValues(e.options)}, received '${e.received}'`; break; - case M.invalid_arguments: + case R.invalid_arguments: r = "Invalid function arguments"; break; - case M.invalid_return_type: + case R.invalid_return_type: r = "Invalid function return type"; break; - case M.invalid_date: + case R.invalid_date: r = "Invalid date"; break; - case M.invalid_string: - typeof e.validation == "object" ? "includes" in e.validation ? (r = `Invalid input: must include "${e.validation.includes}"`, typeof e.validation.position == "number" && (r = `${r} at one or more positions greater than or equal to ${e.validation.position}`)) : "startsWith" in e.validation ? r = `Invalid input: must start with "${e.validation.startsWith}"` : "endsWith" in e.validation ? r = `Invalid input: must end with "${e.validation.endsWith}"` : ve.assertNever(e.validation) : e.validation !== "regex" ? r = `Invalid ${e.validation}` : r = "Invalid"; + case R.invalid_string: + typeof e.validation == "object" ? "includes" in e.validation ? (r = `Invalid input: must include "${e.validation.includes}"`, typeof e.validation.position == "number" && (r = `${r} at one or more positions greater than or equal to ${e.validation.position}`)) : "startsWith" in e.validation ? r = `Invalid input: must start with "${e.validation.startsWith}"` : "endsWith" in e.validation ? r = `Invalid input: must end with "${e.validation.endsWith}"` : Pe.assertNever(e.validation) : e.validation !== "regex" ? r = `Invalid ${e.validation}` : r = "Invalid"; break; - case M.too_small: + case R.too_small: e.type === "array" ? r = `Array must contain ${e.exact ? "exactly" : e.inclusive ? "at least" : "more than"} ${e.minimum} element(s)` : e.type === "string" ? r = `String must contain ${e.exact ? "exactly" : e.inclusive ? "at least" : "over"} ${e.minimum} character(s)` : e.type === "number" ? r = `Number must be ${e.exact ? "exactly equal to " : e.inclusive ? "greater than or equal to " : "greater than "}${e.minimum}` : e.type === "bigint" ? r = `Number must be ${e.exact ? "exactly equal to " : e.inclusive ? "greater than or equal to " : "greater than "}${e.minimum}` : e.type === "date" ? r = `Date must be ${e.exact ? "exactly equal to " : e.inclusive ? "greater than or equal to " : "greater than "}${new Date(Number(e.minimum))}` : r = "Invalid input"; break; - case M.too_big: + case R.too_big: e.type === "array" ? r = `Array must contain ${e.exact ? "exactly" : e.inclusive ? "at most" : "less than"} ${e.maximum} element(s)` : e.type === "string" ? r = `String must contain ${e.exact ? "exactly" : e.inclusive ? "at most" : "under"} ${e.maximum} character(s)` : e.type === "number" ? r = `Number must be ${e.exact ? "exactly" : e.inclusive ? "less than or equal to" : "less than"} ${e.maximum}` : e.type === "bigint" ? r = `BigInt must be ${e.exact ? "exactly" : e.inclusive ? "less than or equal to" : "less than"} ${e.maximum}` : e.type === "date" ? r = `Date must be ${e.exact ? "exactly" : e.inclusive ? "smaller than or equal to" : "smaller than"} ${new Date(Number(e.maximum))}` : r = "Invalid input"; break; - case M.custom: + case R.custom: r = "Invalid input"; break; - case M.invalid_intersection_types: + case R.invalid_intersection_types: r = "Intersection results could not be merged"; break; - case M.not_multiple_of: + case R.not_multiple_of: r = `Number must be a multiple of ${e.multipleOf}`; break; - case M.not_finite: + case R.not_finite: r = "Number must be finite"; break; default: - r = t.defaultError, ve.assertNever(e); + r = t.defaultError, Pe.assertNever(e); } return { message: r }; -}, $r = CE, kf = $r; -function xE(e) { - kf = e; +}, ri = sG, Tf = ri; +function cG(e) { + Tf = e; } -function co() { - return kf; +function wo() { + return Tf; } -var po = (e) => { +var bo = (e) => { let { data: t, path: r, errorMaps: n, issueData: i } = e, a = [...r, ...i.path || []], A = { ...i, path: a }; if (i.message !== void 0) return { ...i, path: a, message: i.message }; let o = "", s = n.filter((d) => !!d).slice().reverse(); for (let d of s) o = d(A, { data: t, defaultError: o }).message; return { ...i, path: a, message: o }; -}, _E = []; -function V(e, t) { - let r = co(), n = po({ issueData: t, data: e.data, path: e.path, errorMaps: [e.common.contextualErrorMap, e.schemaErrorMap, r, r === $r ? void 0 : $r].filter((i) => !!i) }); +}, dG = []; +function Y(e, t) { + let r = wo(), n = bo({ issueData: t, data: e.data, path: e.path, errorMaps: [e.common.contextualErrorMap, e.schemaErrorMap, r, r === ri ? void 0 : ri].filter((i) => !!i) }); e.common.issues.push(n); } -var ct = class Bf { +var dt = class Kf { constructor() { this.value = "valid"; } @@ -5581,7 +5726,7 @@ var ct = class Bf { let a = await i.key, A = await i.value; n.push({ key: a, value: A }); } - return Bf.mergeObjectSync(t, n); + return Kf.mergeObjectSync(t, n); } static mergeObjectSync(t, r) { let n = {}; @@ -5592,7 +5737,7 @@ var ct = class Bf { } return { status: t.value, value: n }; } -}, te = Object.freeze({ status: "aborted" }), Tr = (e) => ({ status: "dirty", value: e }), rt = (e) => ({ status: "valid", value: e }), Bc = (e) => e.status === "aborted", Dc = (e) => e.status === "dirty", ur = (e) => e.status === "valid", ia = (e) => typeof Promise < "u" && e instanceof Promise, J; +}, te = Object.freeze({ status: "aborted" }), Vr = (e) => ({ status: "dirty", value: e }), rt = (e) => ({ status: "valid", value: e }), _c = (e) => e.status === "aborted", Hc = (e) => e.status === "dirty", mr = (e) => e.status === "valid", oa = (e) => typeof Promise < "u" && e instanceof Promise, J; (function(e) { e.errToObj = (t) => typeof t == "string" ? { message: t } : t || {}, e.toString = (t) => typeof t == "string" ? t : t?.message; })(J || (J = {})); @@ -5603,12 +5748,12 @@ var wn = class { get path() { return this._cachedPath.length || (Array.isArray(this._key) ? this._cachedPath.push(...this._path, ...this._key) : this._cachedPath.push(...this._path, this._key)), this._cachedPath; } -}, hm = (e, t) => { - if (ur(t)) return { success: !0, data: t.value }; +}, jm = (e, t) => { + if (mr(t)) return { success: !0, data: t.value }; if (!e.common.issues.length) throw new Error("Validation failed but no issues detected."); return { success: !1, get error() { if (this._error) return this._error; - let r = new Xt(e.common.issues); + let r = new Wt(e.common.issues); return this._error = r, this._error; } }; }; @@ -5621,22 +5766,22 @@ function de(e) { return a.code === "invalid_enum_value" ? { message: o ?? A.defaultError } : typeof A.data > "u" ? { message: o ?? n ?? A.defaultError } : a.code !== "invalid_type" ? { message: A.defaultError } : { message: o ?? r ?? A.defaultError }; }, description: i }; } -var le = class { +var ue = class { get description() { return this._def.description; } _getType(e) { - return Dn(e.data); + return yn(e.data); } _getOrReturnCtx(e, t) { - return t || { common: e.parent.common, data: e.data, parsedType: Dn(e.data), schemaErrorMap: this._def.errorMap, path: e.path, parent: e.parent }; + return t || { common: e.parent.common, data: e.data, parsedType: yn(e.data), schemaErrorMap: this._def.errorMap, path: e.path, parent: e.parent }; } _processInputParams(e) { - return { status: new ct(), ctx: { common: e.parent.common, data: e.data, parsedType: Dn(e.data), schemaErrorMap: this._def.errorMap, path: e.path, parent: e.parent } }; + return { status: new dt(), ctx: { common: e.parent.common, data: e.data, parsedType: yn(e.data), schemaErrorMap: this._def.errorMap, path: e.path, parent: e.parent } }; } _parseSync(e) { let t = this._parse(e); - if (ia(t)) throw new Error("Synchronous parse encountered promise."); + if (oa(t)) throw new Error("Synchronous parse encountered promise."); return t; } _parseAsync(e) { @@ -5649,18 +5794,18 @@ var le = class { throw r.error; } safeParse(e, t) { - let r = { common: { issues: [], async: t?.async ?? !1, contextualErrorMap: t?.errorMap }, path: t?.path || [], schemaErrorMap: this._def.errorMap, parent: null, data: e, parsedType: Dn(e) }, n = this._parseSync({ data: e, path: r.path, parent: r }); - return hm(r, n); + let r = { common: { issues: [], async: t?.async ?? !1, contextualErrorMap: t?.errorMap }, path: t?.path || [], schemaErrorMap: this._def.errorMap, parent: null, data: e, parsedType: yn(e) }, n = this._parseSync({ data: e, path: r.path, parent: r }); + return jm(r, n); } "~validate"(e) { - let t = { common: { issues: [], async: !!this["~standard"].async }, path: [], schemaErrorMap: this._def.errorMap, parent: null, data: e, parsedType: Dn(e) }; + let t = { common: { issues: [], async: !!this["~standard"].async }, path: [], schemaErrorMap: this._def.errorMap, parent: null, data: e, parsedType: yn(e) }; if (!this["~standard"].async) try { let r = this._parseSync({ data: e, path: [], parent: t }); - return ur(r) ? { value: r.value } : { issues: t.common.issues }; + return mr(r) ? { value: r.value } : { issues: t.common.issues }; } catch (r) { r?.message?.toLowerCase()?.includes("encountered") && (this["~standard"].async = !0), t.common = { issues: [], async: !0 }; } - return this._parseAsync({ data: e, path: [], parent: t }).then((r) => ur(r) ? { value: r.value } : { issues: t.common.issues }); + return this._parseAsync({ data: e, path: [], parent: t }).then((r) => mr(r) ? { value: r.value } : { issues: t.common.issues }); } async parseAsync(e, t) { let r = await this.safeParseAsync(e, t); @@ -5668,13 +5813,13 @@ var le = class { throw r.error; } async safeParseAsync(e, t) { - let r = { common: { issues: [], contextualErrorMap: t?.errorMap, async: !0 }, path: t?.path || [], schemaErrorMap: this._def.errorMap, parent: null, data: e, parsedType: Dn(e) }, n = this._parse({ data: e, path: r.path, parent: r }), i = await (ia(n) ? n : Promise.resolve(n)); - return hm(r, i); + let r = { common: { issues: [], contextualErrorMap: t?.errorMap, async: !0 }, path: t?.path || [], schemaErrorMap: this._def.errorMap, parent: null, data: e, parsedType: yn(e) }, n = this._parse({ data: e, path: r.path, parent: r }), i = await (oa(n) ? n : Promise.resolve(n)); + return jm(r, i); } refine(e, t) { let r = (n) => typeof t == "string" || typeof t > "u" ? { message: t } : typeof t == "function" ? t(n) : t; return this._refinement((n, i) => { - let a = e(n), A = () => i.addIssue({ code: M.custom, ...r(n) }); + let a = e(n), A = () => i.addIssue({ code: R.custom, ...r(n) }); return typeof Promise < "u" && a instanceof Promise ? a.then((o) => o ? !0 : (A(), !1)) : a ? !0 : (A(), !1); }); } @@ -5682,7 +5827,7 @@ var le = class { return this._refinement((r, n) => e(r) ? !0 : (n.addIssue(typeof t == "function" ? t(r, n) : t), !1)); } _refinement(e) { - return new Zt({ schema: this, typeName: ne.ZodEffects, effect: { type: "refinement", refinement: e } }); + return new zt({ schema: this, typeName: ne.ZodEffects, effect: { type: "refinement", refinement: e } }); } superRefine(e) { return this._refinement(e); @@ -5691,49 +5836,49 @@ var le = class { this.spa = this.safeParseAsync, this._def = e, this.parse = this.parse.bind(this), this.safeParse = this.safeParse.bind(this), this.parseAsync = this.parseAsync.bind(this), this.safeParseAsync = this.safeParseAsync.bind(this), this.spa = this.spa.bind(this), this.refine = this.refine.bind(this), this.refinement = this.refinement.bind(this), this.superRefine = this.superRefine.bind(this), this.optional = this.optional.bind(this), this.nullable = this.nullable.bind(this), this.nullish = this.nullish.bind(this), this.array = this.array.bind(this), this.promise = this.promise.bind(this), this.or = this.or.bind(this), this.and = this.and.bind(this), this.transform = this.transform.bind(this), this.brand = this.brand.bind(this), this.default = this.default.bind(this), this.catch = this.catch.bind(this), this.describe = this.describe.bind(this), this.pipe = this.pipe.bind(this), this.readonly = this.readonly.bind(this), this.isNullable = this.isNullable.bind(this), this.isOptional = this.isOptional.bind(this), this["~standard"] = { version: 1, vendor: "zod", validate: (t) => this["~validate"](t) }; } optional() { - return ln.create(this, this._def); + return un.create(this, this._def); } nullable() { - return Wn.create(this, this._def); + return Un.create(this, this._def); } nullish() { return this.nullable().optional(); } array() { - return mr.create(this); + return wr.create(this); } promise() { - return ni.create(this, this._def); + return Ai.create(this, this._def); } or(e) { - return pa.create([this, e], this._def); + return ma.create([this, e], this._def); } and(e) { - return la.create(this, e, this._def); + return wa.create(this, e, this._def); } transform(e) { - return new Zt({ ...de(this._def), schema: this, typeName: ne.ZodEffects, effect: { type: "transform", transform: e } }); + return new zt({ ...de(this._def), schema: this, typeName: ne.ZodEffects, effect: { type: "transform", transform: e } }); } default(e) { let t = typeof e == "function" ? e : () => e; - return new ba({ ...de(this._def), innerType: this, defaultValue: t, typeName: ne.ZodDefault }); + return new Fa({ ...de(this._def), innerType: this, defaultValue: t, typeName: ne.ZodDefault }); } brand() { - return new Yd({ typeName: ne.ZodBranded, type: this, ...de(this._def) }); + return new np({ typeName: ne.ZodBranded, type: this, ...de(this._def) }); } catch(e) { let t = typeof e == "function" ? e : () => e; - return new ga({ ...de(this._def), innerType: this, catchValue: t, typeName: ne.ZodCatch }); + return new va({ ...de(this._def), innerType: this, catchValue: t, typeName: ne.ZodCatch }); } describe(e) { let t = this.constructor; return new t({ ...this._def, description: e }); } pipe(e) { - return Xd.create(this, e); + return rp.create(this, e); } readonly() { - return fa.create(this); + return Pa.create(this); } isOptional() { return this.safeParse(void 0).success; @@ -5741,25 +5886,25 @@ var le = class { isNullable() { return this.safeParse(null).success; } -}, HE = /^c[^\s-]{8,}$/i, IE = /^[0-9a-z]+$/, QE = /^[0-9A-HJKMNP-TV-Z]{26}$/i, SE = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i, OE = /^[a-z0-9_-]{21}$/i, ME = /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/, jE = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/, RE = /^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i, LE = "^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$", Ts, TE = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/, KE = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/, NE = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/, VE = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/, YE = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/, XE = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/, Df = "((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))", WE = new RegExp(`^${Df}$`); -function yf(e) { +}, pG = /^c[^\s-]{8,}$/i, uG = /^[0-9a-z]+$/, lG = /^[0-9A-HJKMNP-TV-Z]{26}$/i, mG = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i, wG = /^[a-z0-9_-]{21}$/i, bG = /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/, gG = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/, fG = /^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i, FG = "^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$", Xs, vG = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/, PG = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/, hG = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/, kG = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/, BG = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/, DG = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/, Nf = "((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))", yG = new RegExp(`^${Nf}$`); +function Vf(e) { let t = "[0-5]\\d"; e.precision ? t = `${t}\\.\\d{${e.precision}}` : e.precision == null && (t = `${t}(\\.\\d+)?`); let r = e.precision ? "+" : "?"; return `([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`; } -function UE(e) { - return new RegExp(`^${yf(e)}$`); +function EG(e) { + return new RegExp(`^${Vf(e)}$`); } -function Ef(e) { - let t = `${Df}T${yf(e)}`, r = []; +function Yf(e) { + let t = `${Nf}T${Vf(e)}`, r = []; return r.push(e.local ? "Z?" : "Z"), e.offset && r.push("([+-]\\d{2}:?\\d{2})"), t = `${t}(${r.join("|")})`, new RegExp(`^${t}$`); } -function qE(e, t) { - return !!((t === "v4" || !t) && TE.test(e) || (t === "v6" || !t) && NE.test(e)); +function GG(e, t) { + return !!((t === "v4" || !t) && vG.test(e) || (t === "v6" || !t) && hG.test(e)); } -function ZE(e, t) { - if (!ME.test(e)) return !1; +function CG(e, t) { + if (!bG.test(e)) return !1; try { let [r] = e.split("."); if (!r) return !1; @@ -5769,41 +5914,41 @@ function ZE(e, t) { return !1; } } -function zE(e, t) { - return !!((t === "v4" || !t) && KE.test(e) || (t === "v6" || !t) && VE.test(e)); +function xG(e, t) { + return !!((t === "v4" || !t) && PG.test(e) || (t === "v6" || !t) && kG.test(e)); } -var ei = class ji extends le { +var ii = class Li extends ue { _parse(t) { - if (this._def.coerce && (t.data = String(t.data)), this._getType(t) !== W.string) { + if (this._def.coerce && (t.data = String(t.data)), this._getType(t) !== U.string) { let i = this._getOrReturnCtx(t); - return V(i, { code: M.invalid_type, expected: W.string, received: i.parsedType }), te; + return Y(i, { code: R.invalid_type, expected: U.string, received: i.parsedType }), te; } - let r = new ct(), n; - for (let i of this._def.checks) if (i.kind === "min") t.data.length < i.value && (n = this._getOrReturnCtx(t, n), V(n, { code: M.too_small, minimum: i.value, type: "string", inclusive: !0, exact: !1, message: i.message }), r.dirty()); - else if (i.kind === "max") t.data.length > i.value && (n = this._getOrReturnCtx(t, n), V(n, { code: M.too_big, maximum: i.value, type: "string", inclusive: !0, exact: !1, message: i.message }), r.dirty()); + let r = new dt(), n; + for (let i of this._def.checks) if (i.kind === "min") t.data.length < i.value && (n = this._getOrReturnCtx(t, n), Y(n, { code: R.too_small, minimum: i.value, type: "string", inclusive: !0, exact: !1, message: i.message }), r.dirty()); + else if (i.kind === "max") t.data.length > i.value && (n = this._getOrReturnCtx(t, n), Y(n, { code: R.too_big, maximum: i.value, type: "string", inclusive: !0, exact: !1, message: i.message }), r.dirty()); else if (i.kind === "length") { let a = t.data.length > i.value, A = t.data.length < i.value; - (a || A) && (n = this._getOrReturnCtx(t, n), a ? V(n, { code: M.too_big, maximum: i.value, type: "string", inclusive: !0, exact: !0, message: i.message }) : A && V(n, { code: M.too_small, minimum: i.value, type: "string", inclusive: !0, exact: !0, message: i.message }), r.dirty()); - } else if (i.kind === "email") RE.test(t.data) || (n = this._getOrReturnCtx(t, n), V(n, { validation: "email", code: M.invalid_string, message: i.message }), r.dirty()); - else if (i.kind === "emoji") Ts || (Ts = new RegExp(LE, "u")), Ts.test(t.data) || (n = this._getOrReturnCtx(t, n), V(n, { validation: "emoji", code: M.invalid_string, message: i.message }), r.dirty()); - else if (i.kind === "uuid") SE.test(t.data) || (n = this._getOrReturnCtx(t, n), V(n, { validation: "uuid", code: M.invalid_string, message: i.message }), r.dirty()); - else if (i.kind === "nanoid") OE.test(t.data) || (n = this._getOrReturnCtx(t, n), V(n, { validation: "nanoid", code: M.invalid_string, message: i.message }), r.dirty()); - else if (i.kind === "cuid") HE.test(t.data) || (n = this._getOrReturnCtx(t, n), V(n, { validation: "cuid", code: M.invalid_string, message: i.message }), r.dirty()); - else if (i.kind === "cuid2") IE.test(t.data) || (n = this._getOrReturnCtx(t, n), V(n, { validation: "cuid2", code: M.invalid_string, message: i.message }), r.dirty()); - else if (i.kind === "ulid") QE.test(t.data) || (n = this._getOrReturnCtx(t, n), V(n, { validation: "ulid", code: M.invalid_string, message: i.message }), r.dirty()); + (a || A) && (n = this._getOrReturnCtx(t, n), a ? Y(n, { code: R.too_big, maximum: i.value, type: "string", inclusive: !0, exact: !0, message: i.message }) : A && Y(n, { code: R.too_small, minimum: i.value, type: "string", inclusive: !0, exact: !0, message: i.message }), r.dirty()); + } else if (i.kind === "email") fG.test(t.data) || (n = this._getOrReturnCtx(t, n), Y(n, { validation: "email", code: R.invalid_string, message: i.message }), r.dirty()); + else if (i.kind === "emoji") Xs || (Xs = new RegExp(FG, "u")), Xs.test(t.data) || (n = this._getOrReturnCtx(t, n), Y(n, { validation: "emoji", code: R.invalid_string, message: i.message }), r.dirty()); + else if (i.kind === "uuid") mG.test(t.data) || (n = this._getOrReturnCtx(t, n), Y(n, { validation: "uuid", code: R.invalid_string, message: i.message }), r.dirty()); + else if (i.kind === "nanoid") wG.test(t.data) || (n = this._getOrReturnCtx(t, n), Y(n, { validation: "nanoid", code: R.invalid_string, message: i.message }), r.dirty()); + else if (i.kind === "cuid") pG.test(t.data) || (n = this._getOrReturnCtx(t, n), Y(n, { validation: "cuid", code: R.invalid_string, message: i.message }), r.dirty()); + else if (i.kind === "cuid2") uG.test(t.data) || (n = this._getOrReturnCtx(t, n), Y(n, { validation: "cuid2", code: R.invalid_string, message: i.message }), r.dirty()); + else if (i.kind === "ulid") lG.test(t.data) || (n = this._getOrReturnCtx(t, n), Y(n, { validation: "ulid", code: R.invalid_string, message: i.message }), r.dirty()); else if (i.kind === "url") try { new URL(t.data); } catch { - n = this._getOrReturnCtx(t, n), V(n, { validation: "url", code: M.invalid_string, message: i.message }), r.dirty(); + n = this._getOrReturnCtx(t, n), Y(n, { validation: "url", code: R.invalid_string, message: i.message }), r.dirty(); } - else i.kind === "regex" ? (i.regex.lastIndex = 0, i.regex.test(t.data) || (n = this._getOrReturnCtx(t, n), V(n, { validation: "regex", code: M.invalid_string, message: i.message }), r.dirty())) : i.kind === "trim" ? t.data = t.data.trim() : i.kind === "includes" ? t.data.includes(i.value, i.position) || (n = this._getOrReturnCtx(t, n), V(n, { code: M.invalid_string, validation: { includes: i.value, position: i.position }, message: i.message }), r.dirty()) : i.kind === "toLowerCase" ? t.data = t.data.toLowerCase() : i.kind === "toUpperCase" ? t.data = t.data.toUpperCase() : i.kind === "startsWith" ? t.data.startsWith(i.value) || (n = this._getOrReturnCtx(t, n), V(n, { code: M.invalid_string, validation: { startsWith: i.value }, message: i.message }), r.dirty()) : i.kind === "endsWith" ? t.data.endsWith(i.value) || (n = this._getOrReturnCtx(t, n), V(n, { code: M.invalid_string, validation: { endsWith: i.value }, message: i.message }), r.dirty()) : i.kind === "datetime" ? Ef(i).test(t.data) || (n = this._getOrReturnCtx(t, n), V(n, { code: M.invalid_string, validation: "datetime", message: i.message }), r.dirty()) : i.kind === "date" ? WE.test(t.data) || (n = this._getOrReturnCtx(t, n), V(n, { code: M.invalid_string, validation: "date", message: i.message }), r.dirty()) : i.kind === "time" ? UE(i).test(t.data) || (n = this._getOrReturnCtx(t, n), V(n, { code: M.invalid_string, validation: "time", message: i.message }), r.dirty()) : i.kind === "duration" ? jE.test(t.data) || (n = this._getOrReturnCtx(t, n), V(n, { validation: "duration", code: M.invalid_string, message: i.message }), r.dirty()) : i.kind === "ip" ? qE(t.data, i.version) || (n = this._getOrReturnCtx(t, n), V(n, { validation: "ip", code: M.invalid_string, message: i.message }), r.dirty()) : i.kind === "jwt" ? ZE(t.data, i.alg) || (n = this._getOrReturnCtx(t, n), V(n, { validation: "jwt", code: M.invalid_string, message: i.message }), r.dirty()) : i.kind === "cidr" ? zE(t.data, i.version) || (n = this._getOrReturnCtx(t, n), V(n, { validation: "cidr", code: M.invalid_string, message: i.message }), r.dirty()) : i.kind === "base64" ? YE.test(t.data) || (n = this._getOrReturnCtx(t, n), V(n, { validation: "base64", code: M.invalid_string, message: i.message }), r.dirty()) : i.kind === "base64url" ? XE.test(t.data) || (n = this._getOrReturnCtx(t, n), V(n, { validation: "base64url", code: M.invalid_string, message: i.message }), r.dirty()) : ve.assertNever(i); + else i.kind === "regex" ? (i.regex.lastIndex = 0, i.regex.test(t.data) || (n = this._getOrReturnCtx(t, n), Y(n, { validation: "regex", code: R.invalid_string, message: i.message }), r.dirty())) : i.kind === "trim" ? t.data = t.data.trim() : i.kind === "includes" ? t.data.includes(i.value, i.position) || (n = this._getOrReturnCtx(t, n), Y(n, { code: R.invalid_string, validation: { includes: i.value, position: i.position }, message: i.message }), r.dirty()) : i.kind === "toLowerCase" ? t.data = t.data.toLowerCase() : i.kind === "toUpperCase" ? t.data = t.data.toUpperCase() : i.kind === "startsWith" ? t.data.startsWith(i.value) || (n = this._getOrReturnCtx(t, n), Y(n, { code: R.invalid_string, validation: { startsWith: i.value }, message: i.message }), r.dirty()) : i.kind === "endsWith" ? t.data.endsWith(i.value) || (n = this._getOrReturnCtx(t, n), Y(n, { code: R.invalid_string, validation: { endsWith: i.value }, message: i.message }), r.dirty()) : i.kind === "datetime" ? Yf(i).test(t.data) || (n = this._getOrReturnCtx(t, n), Y(n, { code: R.invalid_string, validation: "datetime", message: i.message }), r.dirty()) : i.kind === "date" ? yG.test(t.data) || (n = this._getOrReturnCtx(t, n), Y(n, { code: R.invalid_string, validation: "date", message: i.message }), r.dirty()) : i.kind === "time" ? EG(i).test(t.data) || (n = this._getOrReturnCtx(t, n), Y(n, { code: R.invalid_string, validation: "time", message: i.message }), r.dirty()) : i.kind === "duration" ? gG.test(t.data) || (n = this._getOrReturnCtx(t, n), Y(n, { validation: "duration", code: R.invalid_string, message: i.message }), r.dirty()) : i.kind === "ip" ? GG(t.data, i.version) || (n = this._getOrReturnCtx(t, n), Y(n, { validation: "ip", code: R.invalid_string, message: i.message }), r.dirty()) : i.kind === "jwt" ? CG(t.data, i.alg) || (n = this._getOrReturnCtx(t, n), Y(n, { validation: "jwt", code: R.invalid_string, message: i.message }), r.dirty()) : i.kind === "cidr" ? xG(t.data, i.version) || (n = this._getOrReturnCtx(t, n), Y(n, { validation: "cidr", code: R.invalid_string, message: i.message }), r.dirty()) : i.kind === "base64" ? BG.test(t.data) || (n = this._getOrReturnCtx(t, n), Y(n, { validation: "base64", code: R.invalid_string, message: i.message }), r.dirty()) : i.kind === "base64url" ? DG.test(t.data) || (n = this._getOrReturnCtx(t, n), Y(n, { validation: "base64url", code: R.invalid_string, message: i.message }), r.dirty()) : Pe.assertNever(i); return { status: r.value, value: t.data }; } _regex(t, r, n) { - return this.refinement((i) => t.test(i), { validation: r, code: M.invalid_string, ...J.errToObj(n) }); + return this.refinement((i) => t.test(i), { validation: r, code: R.invalid_string, ...J.errToObj(n) }); } _addCheck(t) { - return new ji({ ...this._def, checks: [...this._def.checks, t] }); + return new Li({ ...this._def, checks: [...this._def.checks, t] }); } email(t) { return this._addCheck({ kind: "email", ...J.errToObj(t) }); @@ -5881,13 +6026,13 @@ var ei = class ji extends le { return this.min(1, J.errToObj(t)); } trim() { - return new ji({ ...this._def, checks: [...this._def.checks, { kind: "trim" }] }); + return new Li({ ...this._def, checks: [...this._def.checks, { kind: "trim" }] }); } toLowerCase() { - return new ji({ ...this._def, checks: [...this._def.checks, { kind: "toLowerCase" }] }); + return new Li({ ...this._def, checks: [...this._def.checks, { kind: "toLowerCase" }] }); } toUpperCase() { - return new ji({ ...this._def, checks: [...this._def.checks, { kind: "toUpperCase" }] }); + return new Li({ ...this._def, checks: [...this._def.checks, { kind: "toUpperCase" }] }); } get isDatetime() { return !!this._def.checks.find((t) => t.kind === "datetime"); @@ -5948,22 +6093,22 @@ var ei = class ji extends le { return t; } }; -ei.create = (e) => new ei({ checks: [], typeName: ne.ZodString, coerce: e?.coerce ?? !1, ...de(e) }); -function JE(e, t) { +ii.create = (e) => new ii({ checks: [], typeName: ne.ZodString, coerce: e?.coerce ?? !1, ...de(e) }); +function _G(e, t) { let r = (e.toString().split(".")[1] || "").length, n = (t.toString().split(".")[1] || "").length, i = r > n ? r : n, a = Number.parseInt(e.toFixed(i).replace(".", "")), A = Number.parseInt(t.toFixed(i).replace(".", "")); return a % A / 10 ** i; } -var aa = class yc extends le { +var sa = class Ic extends ue { constructor() { super(...arguments), this.min = this.gte, this.max = this.lte, this.step = this.multipleOf; } _parse(t) { - if (this._def.coerce && (t.data = Number(t.data)), this._getType(t) !== W.number) { + if (this._def.coerce && (t.data = Number(t.data)), this._getType(t) !== U.number) { let i = this._getOrReturnCtx(t); - return V(i, { code: M.invalid_type, expected: W.number, received: i.parsedType }), te; + return Y(i, { code: R.invalid_type, expected: U.number, received: i.parsedType }), te; } - let r, n = new ct(); - for (let i of this._def.checks) i.kind === "int" ? ve.isInteger(t.data) || (r = this._getOrReturnCtx(t, r), V(r, { code: M.invalid_type, expected: "integer", received: "float", message: i.message }), n.dirty()) : i.kind === "min" ? (i.inclusive ? t.data < i.value : t.data <= i.value) && (r = this._getOrReturnCtx(t, r), V(r, { code: M.too_small, minimum: i.value, type: "number", inclusive: i.inclusive, exact: !1, message: i.message }), n.dirty()) : i.kind === "max" ? (i.inclusive ? t.data > i.value : t.data >= i.value) && (r = this._getOrReturnCtx(t, r), V(r, { code: M.too_big, maximum: i.value, type: "number", inclusive: i.inclusive, exact: !1, message: i.message }), n.dirty()) : i.kind === "multipleOf" ? JE(t.data, i.value) !== 0 && (r = this._getOrReturnCtx(t, r), V(r, { code: M.not_multiple_of, multipleOf: i.value, message: i.message }), n.dirty()) : i.kind === "finite" ? Number.isFinite(t.data) || (r = this._getOrReturnCtx(t, r), V(r, { code: M.not_finite, message: i.message }), n.dirty()) : ve.assertNever(i); + let r, n = new dt(); + for (let i of this._def.checks) i.kind === "int" ? Pe.isInteger(t.data) || (r = this._getOrReturnCtx(t, r), Y(r, { code: R.invalid_type, expected: "integer", received: "float", message: i.message }), n.dirty()) : i.kind === "min" ? (i.inclusive ? t.data < i.value : t.data <= i.value) && (r = this._getOrReturnCtx(t, r), Y(r, { code: R.too_small, minimum: i.value, type: "number", inclusive: i.inclusive, exact: !1, message: i.message }), n.dirty()) : i.kind === "max" ? (i.inclusive ? t.data > i.value : t.data >= i.value) && (r = this._getOrReturnCtx(t, r), Y(r, { code: R.too_big, maximum: i.value, type: "number", inclusive: i.inclusive, exact: !1, message: i.message }), n.dirty()) : i.kind === "multipleOf" ? _G(t.data, i.value) !== 0 && (r = this._getOrReturnCtx(t, r), Y(r, { code: R.not_multiple_of, multipleOf: i.value, message: i.message }), n.dirty()) : i.kind === "finite" ? Number.isFinite(t.data) || (r = this._getOrReturnCtx(t, r), Y(r, { code: R.not_finite, message: i.message }), n.dirty()) : Pe.assertNever(i); return { status: n.value, value: t.data }; } gte(t, r) { @@ -5979,10 +6124,10 @@ var aa = class yc extends le { return this.setLimit("max", t, !1, J.toString(r)); } setLimit(t, r, n, i) { - return new yc({ ...this._def, checks: [...this._def.checks, { kind: t, value: r, inclusive: n, message: J.toString(i) }] }); + return new Ic({ ...this._def, checks: [...this._def.checks, { kind: t, value: r, inclusive: n, message: J.toString(i) }] }); } _addCheck(t) { - return new yc({ ...this._def, checks: [...this._def.checks, t] }); + return new Ic({ ...this._def, checks: [...this._def.checks, t] }); } int(t) { return this._addCheck({ kind: "int", message: J.toString(t) }); @@ -6019,7 +6164,7 @@ var aa = class yc extends le { return t; } get isInt() { - return !!this._def.checks.find((t) => t.kind === "int" || t.kind === "multipleOf" && ve.isInteger(t.value)); + return !!this._def.checks.find((t) => t.kind === "int" || t.kind === "multipleOf" && Pe.isInteger(t.value)); } get isFinite() { let t = null, r = null; @@ -6030,8 +6175,8 @@ var aa = class yc extends le { return Number.isFinite(r) && Number.isFinite(t); } }; -aa.create = (e) => new aa({ checks: [], typeName: ne.ZodNumber, coerce: e?.coerce || !1, ...de(e) }); -var Aa = class Ec extends le { +sa.create = (e) => new sa({ checks: [], typeName: ne.ZodNumber, coerce: e?.coerce || !1, ...de(e) }); +var ca = class Qc extends ue { constructor() { super(...arguments), this.min = this.gte, this.max = this.lte; } @@ -6041,14 +6186,14 @@ var Aa = class Ec extends le { } catch { return this._getInvalidInput(t); } - if (this._getType(t) !== W.bigint) return this._getInvalidInput(t); - let r, n = new ct(); - for (let i of this._def.checks) i.kind === "min" ? (i.inclusive ? t.data < i.value : t.data <= i.value) && (r = this._getOrReturnCtx(t, r), V(r, { code: M.too_small, type: "bigint", minimum: i.value, inclusive: i.inclusive, message: i.message }), n.dirty()) : i.kind === "max" ? (i.inclusive ? t.data > i.value : t.data >= i.value) && (r = this._getOrReturnCtx(t, r), V(r, { code: M.too_big, type: "bigint", maximum: i.value, inclusive: i.inclusive, message: i.message }), n.dirty()) : i.kind === "multipleOf" ? t.data % i.value !== BigInt(0) && (r = this._getOrReturnCtx(t, r), V(r, { code: M.not_multiple_of, multipleOf: i.value, message: i.message }), n.dirty()) : ve.assertNever(i); + if (this._getType(t) !== U.bigint) return this._getInvalidInput(t); + let r, n = new dt(); + for (let i of this._def.checks) i.kind === "min" ? (i.inclusive ? t.data < i.value : t.data <= i.value) && (r = this._getOrReturnCtx(t, r), Y(r, { code: R.too_small, type: "bigint", minimum: i.value, inclusive: i.inclusive, message: i.message }), n.dirty()) : i.kind === "max" ? (i.inclusive ? t.data > i.value : t.data >= i.value) && (r = this._getOrReturnCtx(t, r), Y(r, { code: R.too_big, type: "bigint", maximum: i.value, inclusive: i.inclusive, message: i.message }), n.dirty()) : i.kind === "multipleOf" ? t.data % i.value !== BigInt(0) && (r = this._getOrReturnCtx(t, r), Y(r, { code: R.not_multiple_of, multipleOf: i.value, message: i.message }), n.dirty()) : Pe.assertNever(i); return { status: n.value, value: t.data }; } _getInvalidInput(t) { let r = this._getOrReturnCtx(t); - return V(r, { code: M.invalid_type, expected: W.bigint, received: r.parsedType }), te; + return Y(r, { code: R.invalid_type, expected: U.bigint, received: r.parsedType }), te; } gte(t, r) { return this.setLimit("min", t, !0, J.toString(r)); @@ -6063,10 +6208,10 @@ var Aa = class Ec extends le { return this.setLimit("max", t, !1, J.toString(r)); } setLimit(t, r, n, i) { - return new Ec({ ...this._def, checks: [...this._def.checks, { kind: t, value: r, inclusive: n, message: J.toString(i) }] }); + return new Qc({ ...this._def, checks: [...this._def.checks, { kind: t, value: r, inclusive: n, message: J.toString(i) }] }); } _addCheck(t) { - return new Ec({ ...this._def, checks: [...this._def.checks, t] }); + return new Qc({ ...this._def, checks: [...this._def.checks, t] }); } positive(t) { return this._addCheck({ kind: "min", value: BigInt(0), inclusive: !1, message: J.toString(t) }); @@ -6094,33 +6239,33 @@ var Aa = class Ec extends le { return t; } }; -Aa.create = (e) => new Aa({ checks: [], typeName: ne.ZodBigInt, coerce: e?.coerce ?? !1, ...de(e) }); -var oa = class extends le { +ca.create = (e) => new ca({ checks: [], typeName: ne.ZodBigInt, coerce: e?.coerce ?? !1, ...de(e) }); +var da = class extends ue { _parse(e) { - if (this._def.coerce && (e.data = !!e.data), this._getType(e) !== W.boolean) { + if (this._def.coerce && (e.data = !!e.data), this._getType(e) !== U.boolean) { let t = this._getOrReturnCtx(e); - return V(t, { code: M.invalid_type, expected: W.boolean, received: t.parsedType }), te; + return Y(t, { code: R.invalid_type, expected: U.boolean, received: t.parsedType }), te; } return rt(e.data); } }; -oa.create = (e) => new oa({ typeName: ne.ZodBoolean, coerce: e?.coerce || !1, ...de(e) }); -var sa = class Gf extends le { +da.create = (e) => new da({ typeName: ne.ZodBoolean, coerce: e?.coerce || !1, ...de(e) }); +var pa = class Xf extends ue { _parse(t) { - if (this._def.coerce && (t.data = new Date(t.data)), this._getType(t) !== W.date) { + if (this._def.coerce && (t.data = new Date(t.data)), this._getType(t) !== U.date) { let i = this._getOrReturnCtx(t); - return V(i, { code: M.invalid_type, expected: W.date, received: i.parsedType }), te; + return Y(i, { code: R.invalid_type, expected: U.date, received: i.parsedType }), te; } if (Number.isNaN(t.data.getTime())) { let i = this._getOrReturnCtx(t); - return V(i, { code: M.invalid_date }), te; + return Y(i, { code: R.invalid_date }), te; } - let r = new ct(), n; - for (let i of this._def.checks) i.kind === "min" ? t.data.getTime() < i.value && (n = this._getOrReturnCtx(t, n), V(n, { code: M.too_small, message: i.message, inclusive: !0, exact: !1, minimum: i.value, type: "date" }), r.dirty()) : i.kind === "max" ? t.data.getTime() > i.value && (n = this._getOrReturnCtx(t, n), V(n, { code: M.too_big, message: i.message, inclusive: !0, exact: !1, maximum: i.value, type: "date" }), r.dirty()) : ve.assertNever(i); + let r = new dt(), n; + for (let i of this._def.checks) i.kind === "min" ? t.data.getTime() < i.value && (n = this._getOrReturnCtx(t, n), Y(n, { code: R.too_small, message: i.message, inclusive: !0, exact: !1, minimum: i.value, type: "date" }), r.dirty()) : i.kind === "max" ? t.data.getTime() > i.value && (n = this._getOrReturnCtx(t, n), Y(n, { code: R.too_big, message: i.message, inclusive: !0, exact: !1, maximum: i.value, type: "date" }), r.dirty()) : Pe.assertNever(i); return { status: r.value, value: new Date(t.data.getTime()) }; } _addCheck(t) { - return new Gf({ ...this._def, checks: [...this._def.checks, t] }); + return new Xf({ ...this._def, checks: [...this._def.checks, t] }); } min(t, r) { return this._addCheck({ kind: "min", value: t.getTime(), message: J.toString(r) }); @@ -6139,38 +6284,38 @@ var sa = class Gf extends le { return t != null ? new Date(t) : null; } }; -sa.create = (e) => new sa({ checks: [], coerce: e?.coerce || !1, typeName: ne.ZodDate, ...de(e) }); -var lo = class extends le { +pa.create = (e) => new pa({ checks: [], coerce: e?.coerce || !1, typeName: ne.ZodDate, ...de(e) }); +var go = class extends ue { _parse(e) { - if (this._getType(e) !== W.symbol) { + if (this._getType(e) !== U.symbol) { let t = this._getOrReturnCtx(e); - return V(t, { code: M.invalid_type, expected: W.symbol, received: t.parsedType }), te; + return Y(t, { code: R.invalid_type, expected: U.symbol, received: t.parsedType }), te; } return rt(e.data); } }; -lo.create = (e) => new lo({ typeName: ne.ZodSymbol, ...de(e) }); -var ca = class extends le { +go.create = (e) => new go({ typeName: ne.ZodSymbol, ...de(e) }); +var ua = class extends ue { _parse(e) { - if (this._getType(e) !== W.undefined) { + if (this._getType(e) !== U.undefined) { let t = this._getOrReturnCtx(e); - return V(t, { code: M.invalid_type, expected: W.undefined, received: t.parsedType }), te; + return Y(t, { code: R.invalid_type, expected: U.undefined, received: t.parsedType }), te; } return rt(e.data); } }; -ca.create = (e) => new ca({ typeName: ne.ZodUndefined, ...de(e) }); -var da = class extends le { +ua.create = (e) => new ua({ typeName: ne.ZodUndefined, ...de(e) }); +var la = class extends ue { _parse(e) { - if (this._getType(e) !== W.null) { + if (this._getType(e) !== U.null) { let t = this._getOrReturnCtx(e); - return V(t, { code: M.invalid_type, expected: W.null, received: t.parsedType }), te; + return Y(t, { code: R.invalid_type, expected: U.null, received: t.parsedType }), te; } return rt(e.data); } }; -da.create = (e) => new da({ typeName: ne.ZodNull, ...de(e) }); -var ti = class extends le { +la.create = (e) => new la({ typeName: ne.ZodNull, ...de(e) }); +var ai = class extends ue { constructor() { super(...arguments), this._any = !0; } @@ -6178,8 +6323,8 @@ var ti = class extends le { return rt(e.data); } }; -ti.create = (e) => new ti({ typeName: ne.ZodAny, ...de(e) }); -var sr = class extends le { +ai.create = (e) => new ai({ typeName: ne.ZodAny, ...de(e) }); +var cr = class extends ue { constructor() { super(...arguments), this._unknown = !0; } @@ -6187,178 +6332,178 @@ var sr = class extends le { return rt(e.data); } }; -sr.create = (e) => new sr({ typeName: ne.ZodUnknown, ...de(e) }); -var Cn = class extends le { +cr.create = (e) => new cr({ typeName: ne.ZodUnknown, ...de(e) }); +var _n = class extends ue { _parse(e) { let t = this._getOrReturnCtx(e); - return V(t, { code: M.invalid_type, expected: W.never, received: t.parsedType }), te; + return Y(t, { code: R.invalid_type, expected: U.never, received: t.parsedType }), te; } }; -Cn.create = (e) => new Cn({ typeName: ne.ZodNever, ...de(e) }); -var uo = class extends le { +_n.create = (e) => new _n({ typeName: ne.ZodNever, ...de(e) }); +var fo = class extends ue { _parse(e) { - if (this._getType(e) !== W.undefined) { + if (this._getType(e) !== U.undefined) { let t = this._getOrReturnCtx(e); - return V(t, { code: M.invalid_type, expected: W.void, received: t.parsedType }), te; + return Y(t, { code: R.invalid_type, expected: U.void, received: t.parsedType }), te; } return rt(e.data); } }; -uo.create = (e) => new uo({ typeName: ne.ZodVoid, ...de(e) }); -var mr = class jA extends le { +fo.create = (e) => new fo({ typeName: ne.ZodVoid, ...de(e) }); +var wr = class NA extends ue { _parse(t) { let { ctx: r, status: n } = this._processInputParams(t), i = this._def; - if (r.parsedType !== W.array) return V(r, { code: M.invalid_type, expected: W.array, received: r.parsedType }), te; + if (r.parsedType !== U.array) return Y(r, { code: R.invalid_type, expected: U.array, received: r.parsedType }), te; if (i.exactLength !== null) { let A = r.data.length > i.exactLength.value, o = r.data.length < i.exactLength.value; - (A || o) && (V(r, { code: A ? M.too_big : M.too_small, minimum: o ? i.exactLength.value : void 0, maximum: A ? i.exactLength.value : void 0, type: "array", inclusive: !0, exact: !0, message: i.exactLength.message }), n.dirty()); + (A || o) && (Y(r, { code: A ? R.too_big : R.too_small, minimum: o ? i.exactLength.value : void 0, maximum: A ? i.exactLength.value : void 0, type: "array", inclusive: !0, exact: !0, message: i.exactLength.message }), n.dirty()); } - if (i.minLength !== null && r.data.length < i.minLength.value && (V(r, { code: M.too_small, minimum: i.minLength.value, type: "array", inclusive: !0, exact: !1, message: i.minLength.message }), n.dirty()), i.maxLength !== null && r.data.length > i.maxLength.value && (V(r, { code: M.too_big, maximum: i.maxLength.value, type: "array", inclusive: !0, exact: !1, message: i.maxLength.message }), n.dirty()), r.common.async) return Promise.all([...r.data].map((A, o) => i.type._parseAsync(new wn(r, A, r.path, o)))).then((A) => ct.mergeArray(n, A)); + if (i.minLength !== null && r.data.length < i.minLength.value && (Y(r, { code: R.too_small, minimum: i.minLength.value, type: "array", inclusive: !0, exact: !1, message: i.minLength.message }), n.dirty()), i.maxLength !== null && r.data.length > i.maxLength.value && (Y(r, { code: R.too_big, maximum: i.maxLength.value, type: "array", inclusive: !0, exact: !1, message: i.maxLength.message }), n.dirty()), r.common.async) return Promise.all([...r.data].map((A, o) => i.type._parseAsync(new wn(r, A, r.path, o)))).then((A) => dt.mergeArray(n, A)); let a = [...r.data].map((A, o) => i.type._parseSync(new wn(r, A, r.path, o))); - return ct.mergeArray(n, a); + return dt.mergeArray(n, a); } get element() { return this._def.type; } min(t, r) { - return new jA({ ...this._def, minLength: { value: t, message: J.toString(r) } }); + return new NA({ ...this._def, minLength: { value: t, message: J.toString(r) } }); } max(t, r) { - return new jA({ ...this._def, maxLength: { value: t, message: J.toString(r) } }); + return new NA({ ...this._def, maxLength: { value: t, message: J.toString(r) } }); } length(t, r) { - return new jA({ ...this._def, exactLength: { value: t, message: J.toString(r) } }); + return new NA({ ...this._def, exactLength: { value: t, message: J.toString(r) } }); } nonempty(t) { return this.min(1, t); } }; -mr.create = (e, t) => new mr({ type: e, minLength: null, maxLength: null, exactLength: null, typeName: ne.ZodArray, ...de(t) }); -function Mr(e) { - if (e instanceof xt) { +wr.create = (e, t) => new wr({ type: e, minLength: null, maxLength: null, exactLength: null, typeName: ne.ZodArray, ...de(t) }); +function Lr(e) { + if (e instanceof It) { let t = {}; for (let r in e.shape) { let n = e.shape[r]; - t[r] = ln.create(Mr(n)); + t[r] = un.create(Lr(n)); } - return new xt({ ...e._def, shape: () => t }); - } else return e instanceof mr ? new mr({ ...e._def, type: Mr(e.element) }) : e instanceof ln ? ln.create(Mr(e.unwrap())) : e instanceof Wn ? Wn.create(Mr(e.unwrap())) : e instanceof Xn ? Xn.create(e.items.map((t) => Mr(t))) : e; + return new It({ ...e._def, shape: () => t }); + } else return e instanceof wr ? new wr({ ...e._def, type: Lr(e.element) }) : e instanceof un ? un.create(Lr(e.unwrap())) : e instanceof Un ? Un.create(Lr(e.unwrap())) : e instanceof Wn ? Wn.create(e.items.map((t) => Lr(t))) : e; } -var xt = class jt extends le { +var It = class Rt extends ue { constructor() { super(...arguments), this._cached = null, this.nonstrict = this.passthrough, this.augment = this.extend; } _getCached() { if (this._cached !== null) return this._cached; - let t = this._def.shape(), r = ve.objectKeys(t); + let t = this._def.shape(), r = Pe.objectKeys(t); return this._cached = { shape: t, keys: r }, this._cached; } _parse(t) { - if (this._getType(t) !== W.object) { + if (this._getType(t) !== U.object) { let s = this._getOrReturnCtx(t); - return V(s, { code: M.invalid_type, expected: W.object, received: s.parsedType }), te; + return Y(s, { code: R.invalid_type, expected: U.object, received: s.parsedType }), te; } let { status: r, ctx: n } = this._processInputParams(t), { shape: i, keys: a } = this._getCached(), A = []; - if (!(this._def.catchall instanceof Cn && this._def.unknownKeys === "strip")) for (let s in n.data) a.includes(s) || A.push(s); + if (!(this._def.catchall instanceof _n && this._def.unknownKeys === "strip")) for (let s in n.data) a.includes(s) || A.push(s); let o = []; for (let s of a) { - let d = i[s], l = n.data[s]; - o.push({ key: { status: "valid", value: s }, value: d._parse(new wn(n, l, n.path, s)), alwaysSet: s in n.data }); + let d = i[s], u = n.data[s]; + o.push({ key: { status: "valid", value: s }, value: d._parse(new wn(n, u, n.path, s)), alwaysSet: s in n.data }); } - if (this._def.catchall instanceof Cn) { + if (this._def.catchall instanceof _n) { let s = this._def.unknownKeys; if (s === "passthrough") for (let d of A) o.push({ key: { status: "valid", value: d }, value: { status: "valid", value: n.data[d] } }); - else if (s === "strict") A.length > 0 && (V(n, { code: M.unrecognized_keys, keys: A }), r.dirty()); + else if (s === "strict") A.length > 0 && (Y(n, { code: R.unrecognized_keys, keys: A }), r.dirty()); else if (s !== "strip") throw new Error("Internal ZodObject error: invalid unknownKeys value."); } else { let s = this._def.catchall; for (let d of A) { - let l = n.data[d]; - o.push({ key: { status: "valid", value: d }, value: s._parse(new wn(n, l, n.path, d)), alwaysSet: d in n.data }); + let u = n.data[d]; + o.push({ key: { status: "valid", value: d }, value: s._parse(new wn(n, u, n.path, d)), alwaysSet: d in n.data }); } } return n.common.async ? Promise.resolve().then(async () => { let s = []; for (let d of o) { - let l = await d.key, m = await d.value; - s.push({ key: l, value: m, alwaysSet: d.alwaysSet }); + let u = await d.key, m = await d.value; + s.push({ key: u, value: m, alwaysSet: d.alwaysSet }); } return s; - }).then((s) => ct.mergeObjectSync(r, s)) : ct.mergeObjectSync(r, o); + }).then((s) => dt.mergeObjectSync(r, s)) : dt.mergeObjectSync(r, o); } get shape() { return this._def.shape(); } strict(t) { - return J.errToObj, new jt({ ...this._def, unknownKeys: "strict", ...t !== void 0 ? { errorMap: (r, n) => { + return J.errToObj, new Rt({ ...this._def, unknownKeys: "strict", ...t !== void 0 ? { errorMap: (r, n) => { let i = this._def.errorMap?.(r, n).message ?? n.defaultError; return r.code === "unrecognized_keys" ? { message: J.errToObj(t).message ?? i } : { message: i }; } } : {} }); } strip() { - return new jt({ ...this._def, unknownKeys: "strip" }); + return new Rt({ ...this._def, unknownKeys: "strip" }); } passthrough() { - return new jt({ ...this._def, unknownKeys: "passthrough" }); + return new Rt({ ...this._def, unknownKeys: "passthrough" }); } extend(t) { - return new jt({ ...this._def, shape: () => ({ ...this._def.shape(), ...t }) }); + return new Rt({ ...this._def, shape: () => ({ ...this._def.shape(), ...t }) }); } merge(t) { - return new jt({ unknownKeys: t._def.unknownKeys, catchall: t._def.catchall, shape: () => ({ ...this._def.shape(), ...t._def.shape() }), typeName: ne.ZodObject }); + return new Rt({ unknownKeys: t._def.unknownKeys, catchall: t._def.catchall, shape: () => ({ ...this._def.shape(), ...t._def.shape() }), typeName: ne.ZodObject }); } setKey(t, r) { return this.augment({ [t]: r }); } catchall(t) { - return new jt({ ...this._def, catchall: t }); + return new Rt({ ...this._def, catchall: t }); } pick(t) { let r = {}; - for (let n of ve.objectKeys(t)) t[n] && this.shape[n] && (r[n] = this.shape[n]); - return new jt({ ...this._def, shape: () => r }); + for (let n of Pe.objectKeys(t)) t[n] && this.shape[n] && (r[n] = this.shape[n]); + return new Rt({ ...this._def, shape: () => r }); } omit(t) { let r = {}; - for (let n of ve.objectKeys(this.shape)) t[n] || (r[n] = this.shape[n]); - return new jt({ ...this._def, shape: () => r }); + for (let n of Pe.objectKeys(this.shape)) t[n] || (r[n] = this.shape[n]); + return new Rt({ ...this._def, shape: () => r }); } deepPartial() { - return Mr(this); + return Lr(this); } partial(t) { let r = {}; - for (let n of ve.objectKeys(this.shape)) { + for (let n of Pe.objectKeys(this.shape)) { let i = this.shape[n]; t && !t[n] ? r[n] = i : r[n] = i.optional(); } - return new jt({ ...this._def, shape: () => r }); + return new Rt({ ...this._def, shape: () => r }); } required(t) { let r = {}; - for (let n of ve.objectKeys(this.shape)) if (t && !t[n]) r[n] = this.shape[n]; + for (let n of Pe.objectKeys(this.shape)) if (t && !t[n]) r[n] = this.shape[n]; else { let i = this.shape[n]; - for (; i instanceof ln; ) i = i._def.innerType; + for (; i instanceof un; ) i = i._def.innerType; r[n] = i; } - return new jt({ ...this._def, shape: () => r }); + return new Rt({ ...this._def, shape: () => r }); } keyof() { - return Qf(ve.objectKeys(this.shape)); + return Jf(Pe.objectKeys(this.shape)); } }; -xt.create = (e, t) => new xt({ shape: () => e, unknownKeys: "strip", catchall: Cn.create(), typeName: ne.ZodObject, ...de(t) }); -xt.strictCreate = (e, t) => new xt({ shape: () => e, unknownKeys: "strict", catchall: Cn.create(), typeName: ne.ZodObject, ...de(t) }); -xt.lazycreate = (e, t) => new xt({ shape: e, unknownKeys: "strip", catchall: Cn.create(), typeName: ne.ZodObject, ...de(t) }); -var pa = class extends le { +It.create = (e, t) => new It({ shape: () => e, unknownKeys: "strip", catchall: _n.create(), typeName: ne.ZodObject, ...de(t) }); +It.strictCreate = (e, t) => new It({ shape: () => e, unknownKeys: "strict", catchall: _n.create(), typeName: ne.ZodObject, ...de(t) }); +It.lazycreate = (e, t) => new It({ shape: e, unknownKeys: "strip", catchall: _n.create(), typeName: ne.ZodObject, ...de(t) }); +var ma = class extends ue { _parse(e) { let { ctx: t } = this._processInputParams(e), r = this._def.options; function n(i) { for (let A of i) if (A.result.status === "valid") return A.result; for (let A of i) if (A.result.status === "dirty") return t.common.issues.push(...A.ctx.common.issues), A.result; - let a = i.map((A) => new Xt(A.ctx.common.issues)); - return V(t, { code: M.invalid_union, unionErrors: a }), te; + let a = i.map((A) => new Wt(A.ctx.common.issues)); + return Y(t, { code: R.invalid_union, unionErrors: a }), te; } if (t.common.async) return Promise.all(r.map(async (i) => { let a = { ...t, common: { ...t.common, issues: [] }, parent: null }; @@ -6372,21 +6517,21 @@ var pa = class extends le { d.status === "dirty" && !i && (i = { result: d, ctx: s }), s.common.issues.length && a.push(s.common.issues); } if (i) return t.common.issues.push(...i.ctx.common.issues), i.result; - let A = a.map((o) => new Xt(o)); - return V(t, { code: M.invalid_union, unionErrors: A }), te; + let A = a.map((o) => new Wt(o)); + return Y(t, { code: R.invalid_union, unionErrors: A }), te; } } get options() { return this._def.options; } }; -pa.create = (e, t) => new pa({ options: e, typeName: ne.ZodUnion, ...de(t) }); -var Rn = (e) => e instanceof ua ? Rn(e.schema) : e instanceof Zt ? Rn(e.innerType()) : e instanceof ma ? [e.value] : e instanceof Ra ? e.options : e instanceof wa ? ve.objectValues(e.enum) : e instanceof ba ? Rn(e._def.innerType) : e instanceof ca ? [void 0] : e instanceof da ? [null] : e instanceof ln ? [void 0, ...Rn(e.unwrap())] : e instanceof Wn ? [null, ...Rn(e.unwrap())] : e instanceof Yd || e instanceof fa ? Rn(e.unwrap()) : e instanceof ga ? Rn(e._def.innerType) : [], Cf = class xf extends le { +ma.create = (e, t) => new ma({ options: e, typeName: ne.ZodUnion, ...de(t) }); +var Ln = (e) => e instanceof ba ? Ln(e.schema) : e instanceof zt ? Ln(e.innerType()) : e instanceof ga ? [e.value] : e instanceof Ka ? e.options : e instanceof fa ? Pe.objectValues(e.enum) : e instanceof Fa ? Ln(e._def.innerType) : e instanceof ua ? [void 0] : e instanceof la ? [null] : e instanceof un ? [void 0, ...Ln(e.unwrap())] : e instanceof Un ? [null, ...Ln(e.unwrap())] : e instanceof np || e instanceof Pa ? Ln(e.unwrap()) : e instanceof va ? Ln(e._def.innerType) : [], Wf = class Uf extends ue { _parse(t) { let { ctx: r } = this._processInputParams(t); - if (r.parsedType !== W.object) return V(r, { code: M.invalid_type, expected: W.object, received: r.parsedType }), te; + if (r.parsedType !== U.object) return Y(r, { code: R.invalid_type, expected: U.object, received: r.parsedType }), te; let n = this.discriminator, i = r.data[n], a = this.optionsMap.get(i); - return a ? r.common.async ? a._parseAsync({ data: r.data, path: r.path, parent: r }) : a._parseSync({ data: r.data, path: r.path, parent: r }) : (V(r, { code: M.invalid_union_discriminator, options: Array.from(this.optionsMap.keys()), path: [n] }), te); + return a ? r.common.async ? a._parseAsync({ data: r.data, path: r.path, parent: r }) : a._parseSync({ data: r.data, path: r.path, parent: r }) : (Y(r, { code: R.invalid_union_discriminator, options: Array.from(this.optionsMap.keys()), path: [n] }), te); } get discriminator() { return this._def.discriminator; @@ -6400,73 +6545,73 @@ var Rn = (e) => e instanceof ua ? Rn(e.schema) : e instanceof Zt ? Rn(e.innerTyp static create(t, r, n) { let i = /* @__PURE__ */ new Map(); for (let a of r) { - let A = Rn(a.shape[t]); + let A = Ln(a.shape[t]); if (!A.length) throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`); for (let o of A) { if (i.has(o)) throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(o)}`); i.set(o, a); } } - return new xf({ typeName: ne.ZodDiscriminatedUnion, discriminator: t, options: r, optionsMap: i, ...de(n) }); + return new Uf({ typeName: ne.ZodDiscriminatedUnion, discriminator: t, options: r, optionsMap: i, ...de(n) }); } }; -function Gc(e, t) { - let r = Dn(e), n = Dn(t); +function Sc(e, t) { + let r = yn(e), n = yn(t); if (e === t) return { valid: !0, data: e }; - if (r === W.object && n === W.object) { - let i = ve.objectKeys(t), a = ve.objectKeys(e).filter((o) => i.indexOf(o) !== -1), A = { ...e, ...t }; + if (r === U.object && n === U.object) { + let i = Pe.objectKeys(t), a = Pe.objectKeys(e).filter((o) => i.indexOf(o) !== -1), A = { ...e, ...t }; for (let o of a) { - let s = Gc(e[o], t[o]); + let s = Sc(e[o], t[o]); if (!s.valid) return { valid: !1 }; A[o] = s.data; } return { valid: !0, data: A }; - } else if (r === W.array && n === W.array) { + } else if (r === U.array && n === U.array) { if (e.length !== t.length) return { valid: !1 }; let i = []; for (let a = 0; a < e.length; a++) { - let A = e[a], o = t[a], s = Gc(A, o); + let A = e[a], o = t[a], s = Sc(A, o); if (!s.valid) return { valid: !1 }; i.push(s.data); } return { valid: !0, data: i }; - } else return r === W.date && n === W.date && +e == +t ? { valid: !0, data: e } : { valid: !1 }; + } else return r === U.date && n === U.date && +e == +t ? { valid: !0, data: e } : { valid: !1 }; } -var la = class extends le { +var wa = class extends ue { _parse(e) { let { status: t, ctx: r } = this._processInputParams(e), n = (i, a) => { - if (Bc(i) || Bc(a)) return te; - let A = Gc(i.value, a.value); - return A.valid ? ((Dc(i) || Dc(a)) && t.dirty(), { status: t.value, value: A.data }) : (V(r, { code: M.invalid_intersection_types }), te); + if (_c(i) || _c(a)) return te; + let A = Sc(i.value, a.value); + return A.valid ? ((Hc(i) || Hc(a)) && t.dirty(), { status: t.value, value: A.data }) : (Y(r, { code: R.invalid_intersection_types }), te); }; return r.common.async ? Promise.all([this._def.left._parseAsync({ data: r.data, path: r.path, parent: r }), this._def.right._parseAsync({ data: r.data, path: r.path, parent: r })]).then(([i, a]) => n(i, a)) : n(this._def.left._parseSync({ data: r.data, path: r.path, parent: r }), this._def.right._parseSync({ data: r.data, path: r.path, parent: r })); } }; -la.create = (e, t, r) => new la({ left: e, right: t, typeName: ne.ZodIntersection, ...de(r) }); -var Xn = class _f extends le { +wa.create = (e, t, r) => new wa({ left: e, right: t, typeName: ne.ZodIntersection, ...de(r) }); +var Wn = class qf extends ue { _parse(t) { let { status: r, ctx: n } = this._processInputParams(t); - if (n.parsedType !== W.array) return V(n, { code: M.invalid_type, expected: W.array, received: n.parsedType }), te; - if (n.data.length < this._def.items.length) return V(n, { code: M.too_small, minimum: this._def.items.length, inclusive: !0, exact: !1, type: "array" }), te; - !this._def.rest && n.data.length > this._def.items.length && (V(n, { code: M.too_big, maximum: this._def.items.length, inclusive: !0, exact: !1, type: "array" }), r.dirty()); + if (n.parsedType !== U.array) return Y(n, { code: R.invalid_type, expected: U.array, received: n.parsedType }), te; + if (n.data.length < this._def.items.length) return Y(n, { code: R.too_small, minimum: this._def.items.length, inclusive: !0, exact: !1, type: "array" }), te; + !this._def.rest && n.data.length > this._def.items.length && (Y(n, { code: R.too_big, maximum: this._def.items.length, inclusive: !0, exact: !1, type: "array" }), r.dirty()); let i = [...n.data].map((a, A) => { let o = this._def.items[A] || this._def.rest; return o ? o._parse(new wn(n, a, n.path, A)) : null; }).filter((a) => !!a); - return n.common.async ? Promise.all(i).then((a) => ct.mergeArray(r, a)) : ct.mergeArray(r, i); + return n.common.async ? Promise.all(i).then((a) => dt.mergeArray(r, a)) : dt.mergeArray(r, i); } get items() { return this._def.items; } rest(t) { - return new _f({ ...this._def, rest: t }); + return new qf({ ...this._def, rest: t }); } }; -Xn.create = (e, t) => { +Wn.create = (e, t) => { if (!Array.isArray(e)) throw new Error("You must pass an array of schemas to z.tuple([ ... ])"); - return new Xn({ items: e, typeName: ne.ZodTuple, rest: null, ...de(t) }); + return new Wn({ items: e, typeName: ne.ZodTuple, rest: null, ...de(t) }); }; -var Hf = class Cc extends le { +var Zf = class Oc extends ue { get keySchema() { return this._def.keyType; } @@ -6475,18 +6620,18 @@ var Hf = class Cc extends le { } _parse(t) { let { status: r, ctx: n } = this._processInputParams(t); - if (n.parsedType !== W.object) return V(n, { code: M.invalid_type, expected: W.object, received: n.parsedType }), te; + if (n.parsedType !== U.object) return Y(n, { code: R.invalid_type, expected: U.object, received: n.parsedType }), te; let i = [], a = this._def.keyType, A = this._def.valueType; for (let o in n.data) i.push({ key: a._parse(new wn(n, o, n.path, o)), value: A._parse(new wn(n, n.data[o], n.path, o)), alwaysSet: o in n.data }); - return n.common.async ? ct.mergeObjectAsync(r, i) : ct.mergeObjectSync(r, i); + return n.common.async ? dt.mergeObjectAsync(r, i) : dt.mergeObjectSync(r, i); } get element() { return this._def.valueType; } static create(t, r, n) { - return r instanceof le ? new Cc({ keyType: t, valueType: r, typeName: ne.ZodRecord, ...de(n) }) : new Cc({ keyType: ei.create(), valueType: t, typeName: ne.ZodRecord, ...de(r) }); + return r instanceof ue ? new Oc({ keyType: t, valueType: r, typeName: ne.ZodRecord, ...de(n) }) : new Oc({ keyType: ii.create(), valueType: t, typeName: ne.ZodRecord, ...de(r) }); } -}, mo = class extends le { +}, Fo = class extends ue { get keySchema() { return this._def.keyType; } @@ -6495,7 +6640,7 @@ var Hf = class Cc extends le { } _parse(e) { let { status: t, ctx: r } = this._processInputParams(e); - if (r.parsedType !== W.map) return V(r, { code: M.invalid_type, expected: W.map, received: r.parsedType }), te; + if (r.parsedType !== U.map) return Y(r, { code: R.invalid_type, expected: U.map, received: r.parsedType }), te; let n = this._def.keyType, i = this._def.valueType, a = [...r.data.entries()].map(([A, o], s) => ({ key: n._parse(new wn(r, A, r.path, [s, "key"])), value: i._parse(new wn(r, o, r.path, [s, "value"])) })); if (r.common.async) { let A = /* @__PURE__ */ new Map(); @@ -6518,19 +6663,19 @@ var Hf = class Cc extends le { } } }; -mo.create = (e, t, r) => new mo({ valueType: t, keyType: e, typeName: ne.ZodMap, ...de(r) }); -var wo = class xc extends le { +Fo.create = (e, t, r) => new Fo({ valueType: t, keyType: e, typeName: ne.ZodMap, ...de(r) }); +var vo = class Mc extends ue { _parse(t) { let { status: r, ctx: n } = this._processInputParams(t); - if (n.parsedType !== W.set) return V(n, { code: M.invalid_type, expected: W.set, received: n.parsedType }), te; + if (n.parsedType !== U.set) return Y(n, { code: R.invalid_type, expected: U.set, received: n.parsedType }), te; let i = this._def; - i.minSize !== null && n.data.size < i.minSize.value && (V(n, { code: M.too_small, minimum: i.minSize.value, type: "set", inclusive: !0, exact: !1, message: i.minSize.message }), r.dirty()), i.maxSize !== null && n.data.size > i.maxSize.value && (V(n, { code: M.too_big, maximum: i.maxSize.value, type: "set", inclusive: !0, exact: !1, message: i.maxSize.message }), r.dirty()); + i.minSize !== null && n.data.size < i.minSize.value && (Y(n, { code: R.too_small, minimum: i.minSize.value, type: "set", inclusive: !0, exact: !1, message: i.minSize.message }), r.dirty()), i.maxSize !== null && n.data.size > i.maxSize.value && (Y(n, { code: R.too_big, maximum: i.maxSize.value, type: "set", inclusive: !0, exact: !1, message: i.maxSize.message }), r.dirty()); let a = this._def.valueType; function A(s) { let d = /* @__PURE__ */ new Set(); - for (let l of s) { - if (l.status === "aborted") return te; - l.status === "dirty" && r.dirty(), d.add(l.value); + for (let u of s) { + if (u.status === "aborted") return te; + u.status === "dirty" && r.dirty(), d.add(u.value); } return { status: r.value, value: d }; } @@ -6538,10 +6683,10 @@ var wo = class xc extends le { return n.common.async ? Promise.all(o).then((s) => A(s)) : A(o); } min(t, r) { - return new xc({ ...this._def, minSize: { value: t, message: J.toString(r) } }); + return new Mc({ ...this._def, minSize: { value: t, message: J.toString(r) } }); } max(t, r) { - return new xc({ ...this._def, maxSize: { value: t, message: J.toString(r) } }); + return new Mc({ ...this._def, maxSize: { value: t, message: J.toString(r) } }); } size(t, r) { return this.min(t, r).max(t, r); @@ -6550,27 +6695,27 @@ var wo = class xc extends le { return this.min(1, t); } }; -wo.create = (e, t) => new wo({ valueType: e, minSize: null, maxSize: null, typeName: ne.ZodSet, ...de(t) }); -var If = class RA extends le { +vo.create = (e, t) => new vo({ valueType: e, minSize: null, maxSize: null, typeName: ne.ZodSet, ...de(t) }); +var zf = class VA extends ue { constructor() { super(...arguments), this.validate = this.implement; } _parse(t) { let { ctx: r } = this._processInputParams(t); - if (r.parsedType !== W.function) return V(r, { code: M.invalid_type, expected: W.function, received: r.parsedType }), te; + if (r.parsedType !== U.function) return Y(r, { code: R.invalid_type, expected: U.function, received: r.parsedType }), te; function n(o, s) { - return po({ data: o, path: r.path, errorMaps: [r.common.contextualErrorMap, r.schemaErrorMap, co(), $r].filter((d) => !!d), issueData: { code: M.invalid_arguments, argumentsError: s } }); + return bo({ data: o, path: r.path, errorMaps: [r.common.contextualErrorMap, r.schemaErrorMap, wo(), ri].filter((d) => !!d), issueData: { code: R.invalid_arguments, argumentsError: s } }); } function i(o, s) { - return po({ data: o, path: r.path, errorMaps: [r.common.contextualErrorMap, r.schemaErrorMap, co(), $r].filter((d) => !!d), issueData: { code: M.invalid_return_type, returnTypeError: s } }); + return bo({ data: o, path: r.path, errorMaps: [r.common.contextualErrorMap, r.schemaErrorMap, wo(), ri].filter((d) => !!d), issueData: { code: R.invalid_return_type, returnTypeError: s } }); } let a = { errorMap: r.common.contextualErrorMap }, A = r.data; - if (this._def.returns instanceof ni) { + if (this._def.returns instanceof Ai) { let o = this; return rt(async function(...s) { - let d = new Xt([]), l = await o._def.args.parseAsync(s, a).catch((F) => { + let d = new Wt([]), u = await o._def.args.parseAsync(s, a).catch((F) => { throw d.addIssue(n(s, F)), d; - }), m = await Reflect.apply(A, this, l); + }), m = await Reflect.apply(A, this, u); return await o._def.returns._def.type.parseAsync(m, a).catch((F) => { throw d.addIssue(i(m, F)), d; }); @@ -6579,9 +6724,9 @@ var If = class RA extends le { let o = this; return rt(function(...s) { let d = o._def.args.safeParse(s, a); - if (!d.success) throw new Xt([n(s, d.error)]); - let l = Reflect.apply(A, this, d.data), m = o._def.returns.safeParse(l, a); - if (!m.success) throw new Xt([i(l, m.error)]); + if (!d.success) throw new Wt([n(s, d.error)]); + let u = Reflect.apply(A, this, d.data), m = o._def.returns.safeParse(u, a); + if (!m.success) throw new Wt([i(u, m.error)]); return m.data; }); } @@ -6593,10 +6738,10 @@ var If = class RA extends le { return this._def.returns; } args(...t) { - return new RA({ ...this._def, args: Xn.create(t).rest(sr.create()) }); + return new VA({ ...this._def, args: Wn.create(t).rest(cr.create()) }); } returns(t) { - return new RA({ ...this._def, returns: t }); + return new VA({ ...this._def, returns: t }); } implement(t) { return this.parse(t); @@ -6605,9 +6750,9 @@ var If = class RA extends le { return this.parse(t); } static create(t, r, n) { - return new RA({ args: t || Xn.create([]).rest(sr.create()), returns: r || sr.create(), typeName: ne.ZodFunction, ...de(n) }); + return new VA({ args: t || Wn.create([]).rest(cr.create()), returns: r || cr.create(), typeName: ne.ZodFunction, ...de(n) }); } -}, ua = class extends le { +}, ba = class extends ue { get schema() { return this._def.getter(); } @@ -6616,12 +6761,12 @@ var If = class RA extends le { return this._def.getter()._parse({ data: t.data, path: t.path, parent: t }); } }; -ua.create = (e, t) => new ua({ getter: e, typeName: ne.ZodLazy, ...de(t) }); -var ma = class extends le { +ba.create = (e, t) => new ba({ getter: e, typeName: ne.ZodLazy, ...de(t) }); +var ga = class extends ue { _parse(e) { if (e.data !== this._def.value) { let t = this._getOrReturnCtx(e); - return V(t, { received: t.data, code: M.invalid_literal, expected: this._def.value }), te; + return Y(t, { received: t.data, code: R.invalid_literal, expected: this._def.value }), te; } return { status: "valid", value: e.data }; } @@ -6629,19 +6774,19 @@ var ma = class extends le { return this._def.value; } }; -ma.create = (e, t) => new ma({ value: e, typeName: ne.ZodLiteral, ...de(t) }); -function Qf(e, t) { - return new Ra({ values: e, typeName: ne.ZodEnum, ...de(t) }); +ga.create = (e, t) => new ga({ value: e, typeName: ne.ZodLiteral, ...de(t) }); +function Jf(e, t) { + return new Ka({ values: e, typeName: ne.ZodEnum, ...de(t) }); } -var Ra = class _c extends le { +var Ka = class jc extends ue { _parse(t) { if (typeof t.data != "string") { let r = this._getOrReturnCtx(t), n = this._def.values; - return V(r, { expected: ve.joinValues(n), received: r.parsedType, code: M.invalid_type }), te; + return Y(r, { expected: Pe.joinValues(n), received: r.parsedType, code: R.invalid_type }), te; } if (this._cache || (this._cache = new Set(this._def.values)), !this._cache.has(t.data)) { let r = this._getOrReturnCtx(t), n = this._def.values; - return V(r, { received: r.data, code: M.invalid_enum_value, options: n }), te; + return Y(r, { received: r.data, code: R.invalid_enum_value, options: n }), te; } return rt(t.data); } @@ -6664,23 +6809,23 @@ var Ra = class _c extends le { return t; } extract(t, r = this._def) { - return _c.create(t, { ...this._def, ...r }); + return jc.create(t, { ...this._def, ...r }); } exclude(t, r = this._def) { - return _c.create(this.options.filter((n) => !t.includes(n)), { ...this._def, ...r }); + return jc.create(this.options.filter((n) => !t.includes(n)), { ...this._def, ...r }); } }; -Ra.create = Qf; -var wa = class extends le { +Ka.create = Jf; +var fa = class extends ue { _parse(e) { - let t = ve.getValidEnumValues(this._def.values), r = this._getOrReturnCtx(e); - if (r.parsedType !== W.string && r.parsedType !== W.number) { - let n = ve.objectValues(t); - return V(r, { expected: ve.joinValues(n), received: r.parsedType, code: M.invalid_type }), te; + let t = Pe.getValidEnumValues(this._def.values), r = this._getOrReturnCtx(e); + if (r.parsedType !== U.string && r.parsedType !== U.number) { + let n = Pe.objectValues(t); + return Y(r, { expected: Pe.joinValues(n), received: r.parsedType, code: R.invalid_type }), te; } - if (this._cache || (this._cache = new Set(ve.getValidEnumValues(this._def.values))), !this._cache.has(e.data)) { - let n = ve.objectValues(t); - return V(r, { received: r.data, code: M.invalid_enum_value, options: n }), te; + if (this._cache || (this._cache = new Set(Pe.getValidEnumValues(this._def.values))), !this._cache.has(e.data)) { + let n = Pe.objectValues(t); + return Y(r, { received: r.data, code: R.invalid_enum_value, options: n }), te; } return rt(e.data); } @@ -6688,20 +6833,20 @@ var wa = class extends le { return this._def.values; } }; -wa.create = (e, t) => new wa({ values: e, typeName: ne.ZodNativeEnum, ...de(t) }); -var ni = class extends le { +fa.create = (e, t) => new fa({ values: e, typeName: ne.ZodNativeEnum, ...de(t) }); +var Ai = class extends ue { unwrap() { return this._def.type; } _parse(e) { let { ctx: t } = this._processInputParams(e); - if (t.parsedType !== W.promise && t.common.async === !1) return V(t, { code: M.invalid_type, expected: W.promise, received: t.parsedType }), te; - let r = t.parsedType === W.promise ? t.data : Promise.resolve(t.data); + if (t.parsedType !== U.promise && t.common.async === !1) return Y(t, { code: R.invalid_type, expected: U.promise, received: t.parsedType }), te; + let r = t.parsedType === U.promise ? t.data : Promise.resolve(t.data); return rt(r.then((n) => this._def.type.parseAsync(n, { path: t.path, errorMap: t.common.contextualErrorMap }))); } }; -ni.create = (e, t) => new ni({ type: e, typeName: ne.ZodPromise, ...de(t) }); -var Zt = class extends le { +Ai.create = (e, t) => new Ai({ type: e, typeName: ne.ZodPromise, ...de(t) }); +var zt = class extends ue { innerType() { return this._def.schema; } @@ -6710,7 +6855,7 @@ var Zt = class extends le { } _parse(e) { let { status: t, ctx: r } = this._processInputParams(e), n = this._def.effect || null, i = { addIssue: (a) => { - V(r, a), a.fatal ? t.abort() : t.dirty(); + Y(r, a), a.fatal ? t.abort() : t.dirty(); }, get path() { return r.path; } }; @@ -6719,12 +6864,12 @@ var Zt = class extends le { if (r.common.async) return Promise.resolve(a).then(async (A) => { if (t.value === "aborted") return te; let o = await this._def.schema._parseAsync({ data: A, path: r.path, parent: r }); - return o.status === "aborted" ? te : o.status === "dirty" || t.value === "dirty" ? Tr(o.value) : o; + return o.status === "aborted" ? te : o.status === "dirty" || t.value === "dirty" ? Vr(o.value) : o; }); { if (t.value === "aborted") return te; let A = this._def.schema._parseSync({ data: a, path: r.path, parent: r }); - return A.status === "aborted" ? te : A.status === "dirty" || t.value === "dirty" ? Tr(A.value) : A; + return A.status === "aborted" ? te : A.status === "dirty" || t.value === "dirty" ? Vr(A.value) : A; } } if (n.type === "refinement") { @@ -6741,69 +6886,69 @@ var Zt = class extends le { } if (n.type === "transform") if (r.common.async === !1) { let a = this._def.schema._parseSync({ data: r.data, path: r.path, parent: r }); - if (!ur(a)) return te; + if (!mr(a)) return te; let A = n.transform(a.value, i); if (A instanceof Promise) throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead."); return { status: t.value, value: A }; - } else return this._def.schema._parseAsync({ data: r.data, path: r.path, parent: r }).then((a) => ur(a) ? Promise.resolve(n.transform(a.value, i)).then((A) => ({ status: t.value, value: A })) : te); - ve.assertNever(n); + } else return this._def.schema._parseAsync({ data: r.data, path: r.path, parent: r }).then((a) => mr(a) ? Promise.resolve(n.transform(a.value, i)).then((A) => ({ status: t.value, value: A })) : te); + Pe.assertNever(n); } }; -Zt.create = (e, t, r) => new Zt({ schema: e, typeName: ne.ZodEffects, effect: t, ...de(r) }); -Zt.createWithPreprocess = (e, t, r) => new Zt({ schema: t, effect: { type: "preprocess", transform: e }, typeName: ne.ZodEffects, ...de(r) }); -var ln = class extends le { +zt.create = (e, t, r) => new zt({ schema: e, typeName: ne.ZodEffects, effect: t, ...de(r) }); +zt.createWithPreprocess = (e, t, r) => new zt({ schema: t, effect: { type: "preprocess", transform: e }, typeName: ne.ZodEffects, ...de(r) }); +var un = class extends ue { _parse(e) { - return this._getType(e) === W.undefined ? rt(void 0) : this._def.innerType._parse(e); + return this._getType(e) === U.undefined ? rt(void 0) : this._def.innerType._parse(e); } unwrap() { return this._def.innerType; } }; -ln.create = (e, t) => new ln({ innerType: e, typeName: ne.ZodOptional, ...de(t) }); -var Wn = class extends le { +un.create = (e, t) => new un({ innerType: e, typeName: ne.ZodOptional, ...de(t) }); +var Un = class extends ue { _parse(e) { - return this._getType(e) === W.null ? rt(null) : this._def.innerType._parse(e); + return this._getType(e) === U.null ? rt(null) : this._def.innerType._parse(e); } unwrap() { return this._def.innerType; } }; -Wn.create = (e, t) => new Wn({ innerType: e, typeName: ne.ZodNullable, ...de(t) }); -var ba = class extends le { +Un.create = (e, t) => new Un({ innerType: e, typeName: ne.ZodNullable, ...de(t) }); +var Fa = class extends ue { _parse(e) { let { ctx: t } = this._processInputParams(e), r = t.data; - return t.parsedType === W.undefined && (r = this._def.defaultValue()), this._def.innerType._parse({ data: r, path: t.path, parent: t }); + return t.parsedType === U.undefined && (r = this._def.defaultValue()), this._def.innerType._parse({ data: r, path: t.path, parent: t }); } removeDefault() { return this._def.innerType; } }; -ba.create = (e, t) => new ba({ innerType: e, typeName: ne.ZodDefault, defaultValue: typeof t.default == "function" ? t.default : () => t.default, ...de(t) }); -var ga = class extends le { +Fa.create = (e, t) => new Fa({ innerType: e, typeName: ne.ZodDefault, defaultValue: typeof t.default == "function" ? t.default : () => t.default, ...de(t) }); +var va = class extends ue { _parse(e) { let { ctx: t } = this._processInputParams(e), r = { ...t, common: { ...t.common, issues: [] } }, n = this._def.innerType._parse({ data: r.data, path: r.path, parent: { ...r } }); - return ia(n) ? n.then((i) => ({ status: "valid", value: i.status === "valid" ? i.value : this._def.catchValue({ get error() { - return new Xt(r.common.issues); + return oa(n) ? n.then((i) => ({ status: "valid", value: i.status === "valid" ? i.value : this._def.catchValue({ get error() { + return new Wt(r.common.issues); }, input: r.data }) })) : { status: "valid", value: n.status === "valid" ? n.value : this._def.catchValue({ get error() { - return new Xt(r.common.issues); + return new Wt(r.common.issues); }, input: r.data }) }; } removeCatch() { return this._def.innerType; } }; -ga.create = (e, t) => new ga({ innerType: e, typeName: ne.ZodCatch, catchValue: typeof t.catch == "function" ? t.catch : () => t.catch, ...de(t) }); -var bo = class extends le { +va.create = (e, t) => new va({ innerType: e, typeName: ne.ZodCatch, catchValue: typeof t.catch == "function" ? t.catch : () => t.catch, ...de(t) }); +var Po = class extends ue { _parse(e) { - if (this._getType(e) !== W.nan) { + if (this._getType(e) !== U.nan) { let t = this._getOrReturnCtx(e); - return V(t, { code: M.invalid_type, expected: W.nan, received: t.parsedType }), te; + return Y(t, { code: R.invalid_type, expected: U.nan, received: t.parsedType }), te; } return { status: "valid", value: e.data }; } }; -bo.create = (e) => new bo({ typeName: ne.ZodNaN, ...de(e) }); -var $E = Symbol("zod_brand"), Yd = class extends le { +Po.create = (e) => new Po({ typeName: ne.ZodNaN, ...de(e) }); +var HG = Symbol("zod_brand"), np = class extends ue { _parse(e) { let { ctx: t } = this._processInputParams(e), r = t.data; return this._def.type._parse({ data: r, path: t.path, parent: t }); @@ -6811,12 +6956,12 @@ var $E = Symbol("zod_brand"), Yd = class extends le { unwrap() { return this._def.type; } -}, Xd = class Sf extends le { +}, rp = class $f extends ue { _parse(t) { let { status: r, ctx: n } = this._processInputParams(t); if (n.common.async) return (async () => { let i = await this._def.in._parseAsync({ data: n.data, path: n.path, parent: n }); - return i.status === "aborted" ? te : i.status === "dirty" ? (r.dirty(), Tr(i.value)) : this._def.out._parseAsync({ data: i.value, path: n.path, parent: n }); + return i.status === "aborted" ? te : i.status === "dirty" ? (r.dirty(), Vr(i.value)) : this._def.out._parseAsync({ data: i.value, path: n.path, parent: n }); })(); { let i = this._def.in._parseSync({ data: n.data, path: n.path, parent: n }); @@ -6824,173 +6969,173 @@ var $E = Symbol("zod_brand"), Yd = class extends le { } } static create(t, r) { - return new Sf({ in: t, out: r, typeName: ne.ZodPipeline }); + return new $f({ in: t, out: r, typeName: ne.ZodPipeline }); } -}, fa = class extends le { +}, Pa = class extends ue { _parse(e) { - let t = this._def.innerType._parse(e), r = (n) => (ur(n) && (n.value = Object.freeze(n.value)), n); - return ia(t) ? t.then((n) => r(n)) : r(t); + let t = this._def.innerType._parse(e), r = (n) => (mr(n) && (n.value = Object.freeze(n.value)), n); + return oa(t) ? t.then((n) => r(n)) : r(t); } unwrap() { return this._def.innerType; } }; -fa.create = (e, t) => new fa({ innerType: e, typeName: ne.ZodReadonly, ...de(t) }); -function km(e, t) { +Pa.create = (e, t) => new Pa({ innerType: e, typeName: ne.ZodReadonly, ...de(t) }); +function Rm(e, t) { let r = typeof e == "function" ? e(t) : typeof e == "string" ? { message: e } : e; return typeof r == "string" ? { message: r } : r; } -function Of(e, t = {}, r) { - return e ? ti.create().superRefine((n, i) => { +function eF(e, t = {}, r) { + return e ? ai.create().superRefine((n, i) => { let a = e(n); if (a instanceof Promise) return a.then((A) => { if (!A) { - let o = km(t, n), s = o.fatal ?? r ?? !0; + let o = Rm(t, n), s = o.fatal ?? r ?? !0; i.addIssue({ code: "custom", ...o, fatal: s }); } }); if (!a) { - let A = km(t, n), o = A.fatal ?? r ?? !0; + let A = Rm(t, n), o = A.fatal ?? r ?? !0; i.addIssue({ code: "custom", ...A, fatal: o }); } - }) : ti.create(); + }) : ai.create(); } -var eG = { object: xt.lazycreate }, ne; +var IG = { object: It.lazycreate }, ne; (function(e) { e.ZodString = "ZodString", e.ZodNumber = "ZodNumber", e.ZodNaN = "ZodNaN", e.ZodBigInt = "ZodBigInt", e.ZodBoolean = "ZodBoolean", e.ZodDate = "ZodDate", e.ZodSymbol = "ZodSymbol", e.ZodUndefined = "ZodUndefined", e.ZodNull = "ZodNull", e.ZodAny = "ZodAny", e.ZodUnknown = "ZodUnknown", e.ZodNever = "ZodNever", e.ZodVoid = "ZodVoid", e.ZodArray = "ZodArray", e.ZodObject = "ZodObject", e.ZodUnion = "ZodUnion", e.ZodDiscriminatedUnion = "ZodDiscriminatedUnion", e.ZodIntersection = "ZodIntersection", e.ZodTuple = "ZodTuple", e.ZodRecord = "ZodRecord", e.ZodMap = "ZodMap", e.ZodSet = "ZodSet", e.ZodFunction = "ZodFunction", e.ZodLazy = "ZodLazy", e.ZodLiteral = "ZodLiteral", e.ZodEnum = "ZodEnum", e.ZodEffects = "ZodEffects", e.ZodNativeEnum = "ZodNativeEnum", e.ZodOptional = "ZodOptional", e.ZodNullable = "ZodNullable", e.ZodDefault = "ZodDefault", e.ZodCatch = "ZodCatch", e.ZodPromise = "ZodPromise", e.ZodBranded = "ZodBranded", e.ZodPipeline = "ZodPipeline", e.ZodReadonly = "ZodReadonly"; })(ne || (ne = {})); -var tG = (e, t = { message: `Input not instance of ${e.name}` }) => Of((r) => r instanceof e, t), Mf = ei.create, jf = aa.create, nG = bo.create, rG = Aa.create, Rf = oa.create, iG = sa.create, aG = lo.create, AG = ca.create, oG = da.create, sG = ti.create, cG = sr.create, dG = Cn.create, pG = uo.create, lG = mr.create, uG = xt.create, mG = xt.strictCreate, wG = pa.create, bG = Cf.create, gG = la.create, fG = Xn.create, FG = Hf.create, vG = mo.create, PG = wo.create, hG = If.create, kG = ua.create, BG = ma.create, DG = Ra.create, yG = wa.create, EG = ni.create, Bm = Zt.create, GG = ln.create, CG = Wn.create, xG = Zt.createWithPreprocess, _G = Xd.create, HG = () => Mf().optional(), IG = () => jf().optional(), QG = () => Rf().optional(), SG = { string: ((e) => ei.create({ ...e, coerce: !0 })), number: ((e) => aa.create({ ...e, coerce: !0 })), boolean: ((e) => oa.create({ ...e, coerce: !0 })), bigint: ((e) => Aa.create({ ...e, coerce: !0 })), date: ((e) => sa.create({ ...e, coerce: !0 })) }, OG = te, MG = Symbol.for("@embedpdf/engine-core/reading"); -function Wd(e, t) { - e._def[MG] = t; +var QG = (e, t = { message: `Input not instance of ${e.name}` }) => eF((r) => r instanceof e, t), tF = ii.create, nF = sa.create, SG = Po.create, OG = ca.create, rF = da.create, MG = pa.create, jG = go.create, RG = ua.create, LG = la.create, TG = ai.create, KG = cr.create, NG = _n.create, VG = fo.create, YG = wr.create, XG = It.create, WG = It.strictCreate, UG = ma.create, qG = Wf.create, ZG = wa.create, zG = Wn.create, JG = Zf.create, $G = Fo.create, eC = vo.create, tC = zf.create, nC = ba.create, rC = ga.create, iC = Ka.create, aC = fa.create, AC = Ai.create, Lm = zt.create, oC = un.create, sC = Un.create, cC = zt.createWithPreprocess, dC = rp.create, pC = () => tF().optional(), uC = () => nF().optional(), lC = () => rF().optional(), mC = { string: ((e) => ii.create({ ...e, coerce: !0 })), number: ((e) => sa.create({ ...e, coerce: !0 })), boolean: ((e) => da.create({ ...e, coerce: !0 })), bigint: ((e) => ca.create({ ...e, coerce: !0 })), date: ((e) => pa.create({ ...e, coerce: !0 })) }, wC = te, bC = Symbol.for("@embedpdf/engine-core/reading"); +function ip(e, t) { + e._def[bC] = t; } function me(e) { - return Wd(e, { closed: !0 }), e; + return ip(e, { closed: !0 }), e; } -function jG(e, t) { +function gC(e, t) { let r = new Set(e.options), n = w.preprocess((i) => typeof i == "string" && !r.has(i) ? t : i, e); - return Wd(n, { unknownAs: t }), n; + return ip(n, { unknownAs: t }), n; } -function mi(e, t, r = (n) => n) { +function gi(e, t, r = (n) => n) { let { discriminator: n, optionsMap: i } = e._def, a = w.preprocess((A) => { if (typeof A != "object" || A === null || Array.isArray(A)) return A; let o = A[n]; return typeof o != "string" || i.has(o) ? A : r({ ...A, [n]: t }); }, e); - return Wd(a, { unknownAs: t }), a; + return ip(a, { unknownAs: t }), a; } -var ri = w.object({ kind: me(w.literal("objectNumber")), objectNumber: w.number().int().positive() }), Gt = w.string().regex(/^#[0-9a-fA-F]{6}$/, "expected a color as '#rrggbb'"), Lf = me(w.enum(["solid", "dashed", "beveled", "inset"])), RG = me(w.enum(["solid", "dashed", "beveled", "inset", "underline"])), LG = me(w.enum(["check", "cross", "star", "circle", "square", "diamond"])), Tf = w.enum(["solid", "dashed"]), Ud = w.array(w.number().nonnegative()).min(1), Hc = me(w.enum(["none", "square", "circle", "diamond", "open-arrow", "closed-arrow", "butt", "r-open-arrow", "r-closed-arrow", "slash"])), Kf = w.object({ start: Hc, end: Hc }); -w.enum(Ad); -var Nf = me(w.enum(["left", "center", "right"])), TG = me(w.enum(["free-text", "free-text-callout", "free-text-typewriter"])), KG = w.enum(["free-text", "free-text-callout"]), NG = me(w.enum(["top", "middle", "bottom"])), VG = me(w.literal("replace")), YG = me(w.literal("strikeout-text-edit")), XG = me(w.literal("ink-highlight")), WG = me(w.enum(["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"])), ii = me(w.discriminatedUnion("kind", [w.object({ kind: w.literal("objectNumber"), page: ri, objectNumber: w.number().int().positive() }), w.object({ kind: w.literal("baseIndex"), page: ri, baseIndex: w.number().int().nonnegative() })])), Ze = ri, st = w.number().nullable(), qd = me(w.discriminatedUnion("kind", [w.object({ kind: w.literal("xyz"), page: Ze, left: st, top: st, zoom: st }), w.object({ kind: w.literal("fit"), page: Ze }), w.object({ kind: w.literal("fitH"), page: Ze, top: st }), w.object({ kind: w.literal("fitV"), page: Ze, left: st }), w.object({ kind: w.literal("fitR"), page: Ze, left: w.number(), bottom: w.number(), right: w.number(), top: w.number() }), w.object({ kind: w.literal("fitB"), page: Ze }), w.object({ kind: w.literal("fitBH"), page: Ze, top: st }), w.object({ kind: w.literal("fitBV"), page: Ze, left: st })])), Zd = me(w.discriminatedUnion("kind", [w.object({ kind: w.literal("xyz"), page: Ze, x: st, y: st, zoom: st }), w.object({ kind: w.literal("fit"), page: Ze }), w.object({ kind: w.literal("fitH"), page: Ze, y: st }), w.object({ kind: w.literal("fitV"), page: Ze, x: st }), w.object({ kind: w.literal("fitR"), page: Ze, x: w.number(), y: w.number(), width: w.number().nonnegative(), height: w.number().nonnegative() }), w.object({ kind: w.literal("fitB"), page: Ze }), w.object({ kind: w.literal("fitBH"), page: Ze, y: st }), w.object({ kind: w.literal("fitBV"), page: Ze, x: st })])); -function Vf(e) { - let t = w.object({ kind: w.literal("goto"), destination: e }), r = w.object({ kind: w.literal("uri"), uri: w.string() }), n = mi(w.discriminatedUnion("kind", [t, r, w.object({ kind: w.literal("goto-remote"), file: w.string() }), w.object({ kind: w.literal("launch"), path: w.string() }), w.object({ kind: w.literal("javascript") }), w.object({ kind: w.literal("named"), name: w.string() }), w.object({ kind: w.literal("unsupported") })]), "unsupported").describe("Where a link goes, by its `kind`. A newer server can add kinds: read one your client doesn't know as `unsupported`."), i = w.object({ kind: w.literal("named"), name: w.enum(["NextPage", "PrevPage", "FirstPage", "LastPage"]) }); +var oi = w.object({ kind: me(w.literal("objectNumber")), objectNumber: w.number().int().positive() }), _t = w.string().regex(/^#[0-9a-fA-F]{6}$/, "expected a color as '#rrggbb'"), iF = me(w.enum(["solid", "dashed", "beveled", "inset"])), fC = me(w.enum(["solid", "dashed", "beveled", "inset", "underline"])), FC = me(w.enum(["check", "cross", "star", "circle", "square", "diamond"])), aF = w.enum(["solid", "dashed"]), ap = w.array(w.number().nonnegative()).min(1), Rc = me(w.enum(["none", "square", "circle", "diamond", "open-arrow", "closed-arrow", "butt", "r-open-arrow", "r-closed-arrow", "slash"])), AF = w.object({ start: Rc, end: Rc }); +w.enum(md); +var oF = me(w.enum(["left", "center", "right"])), vC = me(w.enum(["free-text", "free-text-callout", "free-text-typewriter"])), PC = w.enum(["free-text", "free-text-callout"]), hC = me(w.enum(["top", "middle", "bottom"])), kC = me(w.literal("replace")), BC = me(w.literal("strikeout-text-edit")), DC = me(w.literal("ink-highlight")), yC = me(w.enum(["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"])), si = me(w.discriminatedUnion("kind", [w.object({ kind: w.literal("objectNumber"), page: oi, objectNumber: w.number().int().positive() }), w.object({ kind: w.literal("baseIndex"), page: oi, baseIndex: w.number().int().nonnegative() })])), Ze = oi, ct = w.number().nullable(), Ap = me(w.discriminatedUnion("kind", [w.object({ kind: w.literal("xyz"), page: Ze, left: ct, top: ct, zoom: ct }), w.object({ kind: w.literal("fit"), page: Ze }), w.object({ kind: w.literal("fitH"), page: Ze, top: ct }), w.object({ kind: w.literal("fitV"), page: Ze, left: ct }), w.object({ kind: w.literal("fitR"), page: Ze, left: w.number(), bottom: w.number(), right: w.number(), top: w.number() }), w.object({ kind: w.literal("fitB"), page: Ze }), w.object({ kind: w.literal("fitBH"), page: Ze, top: ct }), w.object({ kind: w.literal("fitBV"), page: Ze, left: ct })])), op = me(w.discriminatedUnion("kind", [w.object({ kind: w.literal("xyz"), page: Ze, x: ct, y: ct, zoom: ct }), w.object({ kind: w.literal("fit"), page: Ze }), w.object({ kind: w.literal("fitH"), page: Ze, y: ct }), w.object({ kind: w.literal("fitV"), page: Ze, x: ct }), w.object({ kind: w.literal("fitR"), page: Ze, x: w.number(), y: w.number(), width: w.number().nonnegative(), height: w.number().nonnegative() }), w.object({ kind: w.literal("fitB"), page: Ze }), w.object({ kind: w.literal("fitBH"), page: Ze, y: ct }), w.object({ kind: w.literal("fitBV"), page: Ze, x: ct })])); +function sF(e) { + let t = w.object({ kind: w.literal("goto"), destination: e }), r = w.object({ kind: w.literal("uri"), uri: w.string() }), n = gi(w.discriminatedUnion("kind", [t, r, w.object({ kind: w.literal("goto-remote"), file: w.string() }), w.object({ kind: w.literal("launch"), path: w.string() }), w.object({ kind: w.literal("javascript") }), w.object({ kind: w.literal("named"), name: w.string() }), w.object({ kind: w.literal("unsupported") })]), "unsupported").describe("Where a link goes, by its `kind`. A newer server can add kinds: read one your client doesn't know as `unsupported`."), i = w.object({ kind: w.literal("named"), name: w.enum(["NextPage", "PrevPage", "FirstPage", "LastPage"]) }); return { read: n, write: w.discriminatedUnion("kind", [t, r, i]) }; } -var Yf = Vf(Zd), Xf = Vf(qd), UG = Yf.read, qG = Yf.write, ZG = Xf.read, zG = Xf.write, Yr = me(w.discriminatedUnion("kind", [w.object({ kind: w.literal("name"), name: w.string() }), w.object({ kind: w.literal("objectNumber"), objectNumber: w.number().int().positive() })])), Wf = { exclude: w.boolean(), includeNoValueFields: w.boolean(), format: me(w.enum(["fdf", "html", "xfdf", "pdf"])), method: me(w.enum(["post", "get"])), submitCoordinates: w.boolean(), includeAppendSaves: w.boolean(), includeAnnotations: w.boolean(), canonicalFormat: w.boolean(), exclNonUserAnnots: w.boolean(), exclFKey: w.boolean(), embedForm: w.boolean() }, JG = Object.fromEntries(Object.entries(Wf).map(([e, t]) => [e, t.optional()])); -function Uf(e) { - let t = { subtype: w.string(), next: w.array(w.lazy(() => i)) }, r = (A, o = {}) => w.object({ type: w.literal(A), ...t, ...o }), n = [r("javascript", { script: w.string() }), r("goto", { destination: e }), r("uri", { uri: w.string(), isMap: w.boolean() }), r("named", { name: w.string() }), r("hide", { targets: w.array(Yr), hide: w.boolean() }), r("reset-form", { fields: w.array(Yr).nullable(), exclude: w.boolean() }), r("goto-remote", { filePath: w.string() }), r("goto-embedded", { filePath: w.string() }), r("launch", { filePath: w.string() }), r("rendition", { script: w.string().optional() }), r("submit-form", { payload: w.object({ url: w.string(), fields: w.array(Yr).nullable(), ...Wf, charSet: w.string().optional() }).optional() }), r("thread"), r("sound"), r("movie"), r("import-data"), r("set-ocg-state"), r("transition"), r("goto-3d-view"), r("unknown")], i = w.lazy(() => mi(w.discriminatedUnion("type", [...n]), "unknown").describe("An action, by its `type`. A newer server can add types: read one your client doesn't know as `unknown`, keeping its `subtype` and `next`.")), a = w.object({ root: i.nullable(), incomplete: w.boolean(), warnings: w.array(me(w.enum(["cycle-dropped", "malformed-next", "incomplete", "payload-dropped"]))) }); +var cF = sF(op), dF = sF(Ap), EC = cF.read, GC = cF.write, CC = dF.read, xC = dF.write, qr = me(w.discriminatedUnion("kind", [w.object({ kind: w.literal("name"), name: w.string() }), w.object({ kind: w.literal("objectNumber"), objectNumber: w.number().int().positive() })])), pF = { exclude: w.boolean(), includeNoValueFields: w.boolean(), format: me(w.enum(["fdf", "html", "xfdf", "pdf"])), method: me(w.enum(["post", "get"])), submitCoordinates: w.boolean(), includeAppendSaves: w.boolean(), includeAnnotations: w.boolean(), canonicalFormat: w.boolean(), exclNonUserAnnots: w.boolean(), exclFKey: w.boolean(), embedForm: w.boolean() }, _C = Object.fromEntries(Object.entries(pF).map(([e, t]) => [e, t.optional()])); +function uF(e) { + let t = { subtype: w.string(), next: w.array(w.lazy(() => i)) }, r = (A, o = {}) => w.object({ type: w.literal(A), ...t, ...o }), n = [r("javascript", { script: w.string() }), r("goto", { destination: e }), r("uri", { uri: w.string(), isMap: w.boolean() }), r("named", { name: w.string() }), r("hide", { targets: w.array(qr), hide: w.boolean() }), r("reset-form", { fields: w.array(qr).nullable(), exclude: w.boolean() }), r("goto-remote", { filePath: w.string() }), r("goto-embedded", { filePath: w.string() }), r("launch", { filePath: w.string() }), r("rendition", { script: w.string().optional() }), r("submit-form", { payload: w.object({ url: w.string(), fields: w.array(qr).nullable(), ...pF, charSet: w.string().optional() }).optional() }), r("thread"), r("sound"), r("movie"), r("import-data"), r("set-ocg-state"), r("transition"), r("goto-3d-view"), r("unknown")], i = w.lazy(() => gi(w.discriminatedUnion("type", [...n]), "unknown").describe("An action, by its `type`. A newer server can add types: read one your client doesn't know as `unknown`, keeping its `subtype` and `next`.")), a = w.object({ root: i.nullable(), incomplete: w.boolean(), warnings: w.array(me(w.enum(["cycle-dropped", "malformed-next", "incomplete", "payload-dropped"]))) }); return { arms: n, node: i, tree: a, fieldActions: w.object({ keystroke: a.optional(), format: a.optional(), validate: a.optional(), calculate: a.optional() }), pageActions: w.object({ open: a.optional(), close: a.optional() }), annotationActions: w.object({ activate: a.optional(), cursorEnter: a.optional(), cursorExit: a.optional(), mouseDown: a.optional(), mouseUp: a.optional(), focus: a.optional(), blur: a.optional(), pageOpen: a.optional(), pageClose: a.optional(), pageVisible: a.optional(), pageInvisible: a.optional() }), documentActions: w.object({ nameTreeScripts: w.array(w.object({ name: w.string(), action: a })), openAction: a.nullable(), openDestination: e.nullable(), willClose: a.optional(), willSave: a.optional(), didSave: a.optional(), willPrint: a.optional(), didPrint: a.optional() }).superRefine((A, o) => { A.openAction !== null && A.openDestination !== null && o.addIssue({ code: w.ZodIssueCode.custom, message: "openAction and openDestination are mutually exclusive", path: ["openDestination"] }); }) }; } -var zd = Uf(Zd), $G = Uf(qd); -function qf(e) { - let t = () => ({ next: w.array(w.lazy(() => n)).optional() }), r = [w.object({ type: w.literal("javascript"), script: w.string(), ...t() }), w.object({ type: w.literal("goto"), destination: e, ...t() }), w.object({ type: w.literal("uri"), uri: w.string().min(1), ...t() }), w.object({ type: w.literal("named"), name: w.string().min(1), ...t() }), w.object({ type: w.literal("hide"), targets: w.array(Yr).min(1), hide: w.boolean(), ...t() }), w.object({ type: w.literal("reset-form"), fields: w.array(Yr).nullable(), exclude: w.boolean(), ...t() }), w.object({ type: w.literal("submit-form"), url: w.string().min(1), fields: w.array(Yr).nullable(), ...JG, ...t() })], n = w.lazy(() => w.discriminatedUnion("type", [...r])), i = () => n.nullable().optional(); +var sp = uF(op), HC = uF(Ap); +function lF(e) { + let t = () => ({ next: w.array(w.lazy(() => n)).optional() }), r = [w.object({ type: w.literal("javascript"), script: w.string(), ...t() }), w.object({ type: w.literal("goto"), destination: e, ...t() }), w.object({ type: w.literal("uri"), uri: w.string().min(1), ...t() }), w.object({ type: w.literal("named"), name: w.string().min(1), ...t() }), w.object({ type: w.literal("hide"), targets: w.array(qr).min(1), hide: w.boolean(), ...t() }), w.object({ type: w.literal("reset-form"), fields: w.array(qr).nullable(), exclude: w.boolean(), ...t() }), w.object({ type: w.literal("submit-form"), url: w.string().min(1), fields: w.array(qr).nullable(), ..._C, ...t() })], n = w.lazy(() => w.discriminatedUnion("type", [...r])), i = () => n.nullable().optional(); return { node: n, widgetActions: w.object({ activate: i(), cursorEnter: i(), cursorExit: i(), mouseDown: i(), mouseUp: i(), focus: i(), blur: i(), pageOpen: i(), pageClose: i(), pageVisible: i(), pageInvisible: i() }).strict() }; } -var eC = qf(Zd), tC = qf(qd), Zf = eC.widgetActions, nC = tC.widgetActions; -w.enum(zd.arms.map((e) => e.shape.type.value)); -var rC = zd.fieldActions, iC = zd.annotationActions, zf = $G.annotationActions, Ri = w.lazy(() => w.object({ type: w.literal("javascript"), script: w.string(), next: w.array(Ri).optional() })), Jf = w.object({ keystroke: Ri.nullable().optional(), format: Ri.nullable().optional(), validate: Ri.nullable().optional(), calculate: Ri.nullable().optional() }), Le = w.object({ x: w.number(), y: w.number() }), aC = w.object({ start: Le, end: Le }), AC = w.union([w.tuple([Le, Le]), w.tuple([Le, Le, Le])]), oC = w.array(w.array(Le)), La = w.object({ left: w.number().finite(), bottom: w.number().finite(), right: w.number().finite(), top: w.number().finite() }); +var IC = lF(op), QC = lF(Ap), mF = IC.widgetActions, SC = QC.widgetActions; +w.enum(sp.arms.map((e) => e.shape.type.value)); +var OC = sp.fieldActions, MC = sp.annotationActions, wF = HC.annotationActions, Ti = w.lazy(() => w.object({ type: w.literal("javascript"), script: w.string(), next: w.array(Ti).optional() })), bF = w.object({ keystroke: Ti.nullable().optional(), format: Ti.nullable().optional(), validate: Ti.nullable().optional(), calculate: Ti.nullable().optional() }), Le = w.object({ x: w.number(), y: w.number() }), jC = w.object({ start: Le, end: Le }), RC = w.union([w.tuple([Le, Le]), w.tuple([Le, Le, Le])]), LC = w.array(w.array(Le)), Na = w.object({ left: w.number().finite(), bottom: w.number().finite(), right: w.number().finite(), top: w.number().finite() }); w.object({ width: w.number().nonnegative(), height: w.number().nonnegative() }); -var $f = w.object({ upperLeft: Le, upperRight: Le, lowerLeft: Le, lowerRight: Le }), eF = me(w.union([w.literal(0), w.literal(90), w.literal(180), w.literal(270)])), GA = w.object({ x: w.number(), y: w.number() }), Fa = w.object({ x: w.number().finite(), y: w.number().finite(), width: w.number().finite().nonnegative(), height: w.number().finite().nonnegative() }); -w.object({ upperLeft: GA, upperRight: GA, lowerLeft: GA, lowerRight: GA }); -function Kr(e, t, r) { - let n = (i) => Kr(e, t, { ...r, ...i }); - return { read: e, write: t, traits: r, nullable: () => n({ readNullable: !0, writeNullable: !0 }), nullableOnRead: () => n({ readNullable: !0 }), optional: () => n({ required: !1 }), createOnly: () => n({ createOnly: !0 }), readBack: () => n({ readBack: !0 }), space: (i) => n({ space: i }), writes: (i) => Kr(e, i, r) }; -} -var CA = (e, t) => ({ owner: e, readNullable: !1, writeNullable: !1, required: t, createOnly: !1, readBack: !1, space: "none" }), Q = { data: (e) => Kr(e, e, CA("data", !0)), attribution: (e) => Kr(e, e, CA("attribution", !1)), engine: (e) => Kr(e, e, CA("engine", !1)), preserved: (e) => Kr(e, e, CA("preserved", !1)) }, sC = { box: { read: Fa, write: Fa }, linkTarget: { read: UG, write: qG }, actions: { read: iC, write: Zf } }; -function Dm(e, t, r) { +var gF = w.object({ upperLeft: Le, upperRight: Le, lowerLeft: Le, lowerRight: Le }), fF = me(w.union([w.literal(0), w.literal(90), w.literal(180), w.literal(270)])), IA = w.object({ x: w.number(), y: w.number() }), ha = w.object({ x: w.number().finite(), y: w.number().finite(), width: w.number().finite().nonnegative(), height: w.number().finite().nonnegative() }); +w.object({ upperLeft: IA, upperRight: IA, lowerLeft: IA, lowerRight: IA }); +function Yr(e, t, r) { + let n = (i) => Yr(e, t, { ...r, ...i }); + return { read: e, write: t, traits: r, nullable: () => n({ readNullable: !0, writeNullable: !0 }), nullableOnRead: () => n({ readNullable: !0 }), optional: () => n({ required: !1 }), readBack: () => n({ readBack: !0 }), space: (i) => n({ space: i }), writes: (i) => Yr(e, i, r) }; +} +var QA = (e, t) => ({ owner: e, readNullable: !1, writeNullable: !1, required: t, readBack: !1, space: "none" }), Q = { data: (e) => Yr(e, e, QA("data", !0)), attribution: (e) => Yr(e, e, QA("attribution", !1)), engine: (e) => Yr(e, e, QA("engine", !1)), preserved: (e) => Yr(e, e, QA("preserved", !1)) }, TC = { box: { read: ha, write: ha }, linkTarget: { read: EC, write: GC }, actions: { read: MC, write: mF } }; +function Tm(e, t, r) { let n = { subtype: me(w.literal(e)) }, i = { subtype: w.literal(e) }, a = { subtype: w.literal(e).optional() }, A = {}; for (let [o, s] of Object.entries(t)) { - let { owner: d, readNullable: l, writeNullable: m, required: F, readBack: k } = s.traits, P = r(s); - if (n[o] = l ? P.read.nullable() : P.read, d === "data") { + let { owner: d, readNullable: u, writeNullable: m, required: F, readBack: h } = s.traits, P = r(s); + if (n[o] = u ? P.read.nullable() : P.read, d === "data") { let D = m ? P.write.nullable() : P.write; i[o] = F ? D : D.optional(); - let G = P.read === P.write ? l || m ? P.write.nullable() : P.write : w.union([D, n[o]]); - a[o] = (k ? G : D).optional(), k && (A[o] = D); - } else i[o] = k ? n[o].optional() : w.unknown().optional(), a[o] = k ? n[o].optional() : w.unknown().optional(), k && (A[o] = null); + let G = P.read === P.write ? u || m ? P.write.nullable() : P.write : w.union([D, n[o]]); + a[o] = (h ? G : D).optional(), h && (A[o] = D); + } else i[o] = h ? n[o].optional() : w.unknown().optional(), a[o] = h ? n[o].optional() : w.unknown().optional(), h && (A[o] = null); } return { read: n, create: i, update: a, readBackWrites: A }; } function Re(e, t, r = {}) { - let n = Dm(e, t, (a) => a), i = Dm(e, t, (a) => sC[a.traits.space] ?? a); + let n = Tm(e, t, (a) => a), i = Tm(e, t, (a) => TC[a.traits.space] ?? a); return { subtype: e, fields: t, resources: r, readSchema: w.object(i.read), createSchema: w.object(i.create).strict(), updateSchema: w.object(i.update).strict(), fileSchemas: { read: w.object(n.read), create: w.object(n.create).strict(), update: w.object(n.update).strict() }, readBackWrites: n.readBackWrites, shapes: { read: i.read, create: i.create, update: i.update } }; } -var xn = w.string().datetime({ offset: !0, local: !0 }), ym = w.union([xn, w.date()]), un = w.number().finite().refine((e) => Number.isFinite(Math.fround(e)), "Outside PDF float range"), tF = w.object({ x: un, y: un }), nF = tF.strict(), rF = un.refine((e) => Math.fround(e) > 0, "Must be positive in PDF float precision"), or = w.object({ unit: w.string(), conversion: un.optional(), fraction: me(w.enum(["decimal", "fraction", "round", "truncate"])).optional(), precision: w.number().int().optional(), fixed: w.boolean().optional(), thousands: w.string().optional(), decimal: w.string().optional(), prefixSpacing: w.string().optional(), suffixSpacing: w.string().optional(), labelPosition: me(w.enum(["suffix", "prefix"])).optional() }), iF = w.object({ subtype: w.literal("rectilinear"), ratio: w.string().optional(), x: w.array(or), y: w.array(or).optional(), distance: w.array(or), area: w.array(or), angle: w.array(or).optional(), slope: w.array(or).optional(), origin: tF.optional(), cyx: un.optional() }), Hr = or.extend({ conversion: rF, precision: w.number().int().min(1).max(2147483647).optional() }).refine(Zi, "Invalid number format precision"), aF = iF.extend({ x: w.array(Hr), y: w.array(Hr).optional(), distance: w.array(Hr), area: w.array(Hr), angle: w.array(Hr).optional(), slope: w.array(Hr).optional(), cyx: rF.optional(), origin: nF.optional() }), AF = w.object({ subtype: w.literal("geospatial") }), oF = w.object({ subtype: w.literal("unknown") }), cC = w.union([AF, oF]); -w.object({ measure: aF.nullable() }); -var sF = mi(w.discriminatedUnion("subtype", [iF, AF, oF]), "unknown").describe("A measure, by its `subtype`. A newer server can add subtypes: read one your client doesn't know as `unknown`."), dC = w.object({ bbox: Fa, name: w.string().nullable(), measure: sF.nullable(), owned: w.boolean() }); -w.object({ viewports: w.array(dC) }); -var pC = me(w.enum(["line-arrow", "line-dimension"])), lC = me(w.enum(["polygon-cloud", "polygon-dimension"])), uC = me(w.literal("polyline-dimension")), mC = w.object({ along: un, perpendicular: un }).strict(); -w.object({ enabled: w.boolean(), position: w.enum(["inline", "top"]).optional(), offset: mC.optional() }).strict(); -w.object({ enabled: w.boolean(), center: nF.optional() }).strict(); -var cF = w.object({ length: un, extension: un.refine((e) => e >= 0).optional(), offset: un.refine((e) => e >= 0).optional() }), wC = cF.strict(), dF = me(w.enum(["left", "center", "right", "justify"])), Jd = { family: w.string().min(1), weight: w.number().int().min(100).max(900), italic: w.boolean(), size: w.number().nonnegative(), color: Gt, decoration: w.array(me(w.enum(["underline", "line-through", "word"]))), script: me(w.enum(["normal", "sub", "super"])), letterSpacing: w.number(), horizontalScale: w.number().positive(), unknown: w.string().optional() }, $d = { align: dF, dir: me(w.enum(["ltr", "rtl"])), lineHeight: w.number().positive().optional(), margins: w.object({ top: w.number(), bottom: w.number(), left: w.number(), right: w.number() }).optional(), textIndent: w.number().optional(), unknown: w.string().optional() }, bC = w.object(Jd).partial(), pF = w.object({ ...$d, runs: w.array(w.object({ text: w.string(), style: bC.optional() })) }).partial({ align: !0, dir: !0 }), lF = w.object({ body: w.object({ ...Jd, ...$d }), paragraphs: w.array(pF) }), uF = w.object({ body: w.object({ ...Jd, ...$d }).partial().optional(), paragraphs: w.array(pF) }), gC = w.object({ to: ii, type: me(w.enum(["reply", "group"])) }), fC = w.object({ to: ii, type: w.enum(["reply", "group"]).optional() }), ep = w.string().min(1), an = () => Q.data(w.boolean()).optional(), Ta = { ref: Q.engine(ii), page: Q.engine(ri), hasAppearance: Q.engine(w.boolean()), appearanceState: Q.engine(w.string()).nullable(), structurePosition: Q.engine(w.array(w.number().int().nonnegative())).nullable(), nm: Q.data(w.string()).nullable().optional().createOnly(), rect: Q.data(La).space("box"), contents: Q.data(w.string()).nullable().optional(), subject: Q.data(w.string()).nullable().optional(), blendMode: Q.data(WG).optional(), invisible: an(), hidden: an(), print: an(), noZoom: an(), noRotate: an(), noView: an(), readOnly: an(), locked: an(), toggleNoView: an(), lockedContents: an(), reply: Q.data(gC).writes(fC).nullable().optional(), popup: Q.engine(ii).nullable(), groupId: Q.data(w.string().min(1)).nullable().optional(), author: Q.attribution(w.string()).nullable(), createdAt: Q.attribution(xn).writes(ym).nullable(), modifiedAt: Q.attribution(xn).writes(ym).nullable(), userId: Q.attribution(w.string()).nullable(), createdBy: Q.attribution(w.string()).nullable(), modifiedBy: Q.attribution(w.string()).nullable(), importedBy: Q.engine(w.string()).nullable(), actions: Q.preserved(zf).nullable().space("actions") }, Jt = { ...Ta, richText: Q.data(lF).writes(uF).nullable().optional().space("length") }, wi = { color: Q.data(Gt).optional(), opacity: Q.data(w.number().min(0).max(1)).optional() }, mF = { ...wi, color: Q.data(Gt).nullable().optional(), strokeWidth: Q.data(w.number().nonnegative()).optional(), borderStyle: Q.data(Lf).writes(Tf).readBack().optional(), dashArray: Q.data(w.array(w.number().nonnegative())).writes(Ud).nullable().optional() }, tp = { ...mF, interiorColor: Q.data(Gt).nullable().optional() }, bi = { rect: Q.engine(La).readBack().space("box") }, np = { rotation: Q.data(w.number()).nullable().optional() }, No = { ...bi, box: Q.data(La).space("box").optional(), rotation: Q.data(w.number()).nullable().optional() }, FC = { ...bi, box: Q.data(La).space("box").optional(), rotation: Q.data(eF).nullable().optional() }, Vo = { ...Jt, ...wi, ...bi, quadPoints: Q.data(w.array($f).min(1)).space("quads") }, wF = { ...Jt, ...tp, ...No, cloudyIntensity: Q.data(w.number().positive()).nullable().optional() }, bF = { ...Jt, ...tp, ...bi, vertices: Q.data(w.array(Le)).space("points"), ...np }, rp = Q.data(sF).writes(w.union([aF, cC])).nullable().optional().space("measure"), gF = { captionEnabled: Q.data(w.boolean()).nullable().optional(), captionCenter: Q.data(Le).nullable().optional().space("point") }, Ka = Re("caret", { ...Jt, ...wi, ...No, intent: Q.data(VG).nullable().optional() }), vC = Ka.readSchema, PC = Ka.createSchema, hC = Ka.updateSchema, ip = { subtype: "caret", pdfSubtypeCode: T.CARET, dtoSchema: vC, draftSchema: PC, patchSchema: hC, readBackWrites: Ka.readBackWrites }, Na = Re("circle", wF), kC = Na.readSchema, BC = Na.createSchema, DC = Na.updateSchema, ap = { subtype: "circle", pdfSubtypeCode: T.CIRCLE, dtoSchema: kC, draftSchema: BC, patchSchema: DC, readBackWrites: Na.readBackWrites }, ai = w.string().min(1); -w.object({ appearance: ai.optional(), file: ai.optional() }).strict(); -w.object({ appearance: ai }).strict(); -var yC = w.object({ file: ai }).strict(); -w.object({ source: ai }).strict(); -w.object({ image: ai }); -w.object({ resources: yC, name: w.string().min(1), mimeType: w.string().optional(), description: w.string().optional() }); +var Hn = w.string().datetime({ offset: !0, local: !0 }), Km = w.union([Hn, w.date()]), ln = w.number().finite().refine((e) => Number.isFinite(Math.fround(e)), "Outside PDF float range"), FF = w.object({ x: ln, y: ln }), vF = FF.strict(), PF = ln.refine((e) => Math.fround(e) > 0, "Must be positive in PDF float precision"), sr = w.object({ unit: w.string(), conversion: ln.optional(), fraction: me(w.enum(["decimal", "fraction", "round", "truncate"])).optional(), precision: w.number().int().optional(), fixed: w.boolean().optional(), thousands: w.string().optional(), decimal: w.string().optional(), prefixSpacing: w.string().optional(), suffixSpacing: w.string().optional(), labelPosition: me(w.enum(["suffix", "prefix"])).optional() }), hF = w.object({ subtype: w.literal("rectilinear"), ratio: w.string().optional(), x: w.array(sr), y: w.array(sr).optional(), distance: w.array(sr), area: w.array(sr), angle: w.array(sr).optional(), slope: w.array(sr).optional(), origin: FF.optional(), cyx: ln.optional() }), Qr = sr.extend({ conversion: PF, precision: w.number().int().min(1).max(2147483647).optional() }).refine(Ji, "Invalid number format precision"), kF = hF.extend({ x: w.array(Qr), y: w.array(Qr).optional(), distance: w.array(Qr), area: w.array(Qr), angle: w.array(Qr).optional(), slope: w.array(Qr).optional(), cyx: PF.optional(), origin: vF.optional() }), BF = w.object({ subtype: w.literal("geospatial") }), DF = w.object({ subtype: w.literal("unknown") }), KC = w.union([BF, DF]); +w.object({ measure: kF.nullable() }); +var yF = gi(w.discriminatedUnion("subtype", [hF, BF, DF]), "unknown").describe("A measure, by its `subtype`. A newer server can add subtypes: read one your client doesn't know as `unknown`."), NC = w.object({ bbox: ha, name: w.string().nullable(), measure: yF.nullable(), owned: w.boolean() }); +w.object({ viewports: w.array(NC) }); +var VC = me(w.enum(["line-arrow", "line-dimension"])), YC = me(w.enum(["polygon-cloud", "polygon-dimension"])), XC = me(w.literal("polyline-dimension")), WC = w.object({ along: ln, perpendicular: ln }).strict(); +w.object({ enabled: w.boolean(), position: w.enum(["inline", "top"]).optional(), offset: WC.optional() }).strict(); +w.object({ enabled: w.boolean(), center: vF.optional() }).strict(); +var EF = w.object({ length: ln, extension: ln.refine((e) => e >= 0).optional(), offset: ln.refine((e) => e >= 0).optional() }), UC = EF.strict(), GF = me(w.enum(["left", "center", "right", "justify"])), cp = { family: w.string().min(1), weight: w.number().int().min(100).max(900), italic: w.boolean(), size: w.number().nonnegative(), color: _t, decoration: w.array(me(w.enum(["underline", "line-through", "word"]))), script: me(w.enum(["normal", "sub", "super"])), letterSpacing: w.number(), horizontalScale: w.number().positive(), unknown: w.string().optional() }, dp = { align: GF, dir: me(w.enum(["ltr", "rtl"])), lineHeight: w.number().positive().optional(), margins: w.object({ top: w.number(), bottom: w.number(), left: w.number(), right: w.number() }).optional(), textIndent: w.number().optional(), unknown: w.string().optional() }, qC = w.object(cp).partial(), CF = w.object({ ...dp, runs: w.array(w.object({ text: w.string(), style: qC.optional() })) }).partial({ align: !0, dir: !0 }), xF = w.object({ body: w.object({ ...cp, ...dp }), paragraphs: w.array(CF) }), _F = w.object({ body: w.object({ ...cp, ...dp }).partial().optional(), paragraphs: w.array(CF) }), ZC = w.object({ to: si, type: me(w.enum(["reply", "group"])) }), zC = w.object({ to: si, type: w.enum(["reply", "group"]).optional() }), pp = w.string().min(1), An = () => Q.data(w.boolean()).optional(), Va = { ref: Q.engine(si), page: Q.engine(oi), hasAppearance: Q.engine(w.boolean()), appearanceState: Q.engine(w.string()).nullable(), structurePosition: Q.engine(w.array(w.number().int().nonnegative())).nullable(), nm: Q.data(w.string()).nullable().optional(), rect: Q.data(Na).space("box"), contents: Q.data(w.string()).nullable().optional(), subject: Q.data(w.string()).nullable().optional(), blendMode: Q.data(yC).optional(), invisible: An(), hidden: An(), print: An(), noZoom: An(), noRotate: An(), noView: An(), readOnly: An(), locked: An(), toggleNoView: An(), lockedContents: An(), reply: Q.data(ZC).writes(zC).nullable().optional(), popup: Q.engine(si).nullable(), groupId: Q.data(w.string().min(1)).nullable().optional(), author: Q.attribution(w.string()).nullable(), createdAt: Q.attribution(Hn).writes(Km).nullable(), modifiedAt: Q.attribution(Hn).writes(Km).nullable(), userId: Q.attribution(w.string()).nullable(), createdBy: Q.attribution(w.string()).nullable(), modifiedBy: Q.attribution(w.string()).nullable(), importedBy: Q.engine(w.string()).nullable(), actions: Q.preserved(wF).nullable().space("actions") }, $t = { ...Va, richText: Q.data(xF).writes(_F).nullable().optional().space("length") }, fi = { color: Q.data(_t).optional(), opacity: Q.data(w.number().min(0).max(1)).optional() }, HF = { ...fi, color: Q.data(_t).nullable().optional(), strokeWidth: Q.data(w.number().nonnegative()).optional(), borderStyle: Q.data(iF).writes(aF).readBack().optional(), dashArray: Q.data(w.array(w.number().nonnegative())).writes(ap).nullable().optional() }, up = { ...HF, interiorColor: Q.data(_t).nullable().optional() }, Fi = { rect: Q.engine(Na).readBack().space("box") }, lp = { rotation: Q.data(w.number()).nullable().optional() }, Zo = { ...Fi, box: Q.data(Na).space("box").optional(), rotation: Q.data(w.number()).nullable().optional() }, JC = { ...Fi, box: Q.data(Na).space("box").optional(), rotation: Q.data(fF).nullable().optional() }, zo = { ...$t, ...fi, ...Fi, quadPoints: Q.data(w.array(gF).min(1)).space("quads") }, IF = { ...$t, ...up, ...Zo, cloudyIntensity: Q.data(w.number().positive()).nullable().optional() }, QF = { ...$t, ...up, ...Fi, vertices: Q.data(w.array(Le)).space("points"), ...lp }, mp = Q.data(yF).writes(w.union([kF, KC])).nullable().optional().space("measure"), SF = { captionEnabled: Q.data(w.boolean()).nullable().optional(), captionCenter: Q.data(Le).nullable().optional().space("point") }, Ya = Re("caret", { ...$t, ...fi, ...Zo, intent: Q.data(kC).nullable().optional() }), $C = Ya.readSchema, e7 = Ya.createSchema, t7 = Ya.updateSchema, wp = { subtype: "caret", pdfSubtypeCode: T.CARET, dtoSchema: $C, draftSchema: e7, patchSchema: t7, readBackWrites: Ya.readBackWrites }, Xa = Re("circle", IF), n7 = Xa.readSchema, r7 = Xa.createSchema, i7 = Xa.updateSchema, bp = { subtype: "circle", pdfSubtypeCode: T.CIRCLE, dtoSchema: n7, draftSchema: r7, patchSchema: i7, readBackWrites: Xa.readBackWrites }, ci = w.string().min(1); +w.object({ appearance: ci.optional(), file: ci.optional() }).strict(); +w.object({ appearance: ci }).strict(); +var a7 = w.object({ file: ci }).strict(); +w.object({ source: ci }).strict(); +w.object({ image: ci }); +w.object({ resources: a7, name: w.string().min(1), mimeType: w.string().optional(), description: w.string().optional() }); w.object({ name: w.string().min(1), mimeType: w.string().optional(), description: w.string().optional() }); -var EC = w.object({ name: w.string(), mimeType: w.string().nullable(), description: w.string().nullable(), sizeBytes: w.number().int().nonnegative().nullable(), md5: w.string().nullable(), createdAt: xn.nullable(), modifiedAt: xn.nullable() }); +var A7 = w.object({ name: w.string(), mimeType: w.string().nullable(), description: w.string().nullable(), sizeBytes: w.number().int().nonnegative().nullable(), md5: w.string().nullable(), createdAt: Hn.nullable(), modifiedAt: Hn.nullable() }); w.object({ kind: me(w.literal("key")), key: w.string().min(1) }); -w.object({ ref: w.object({ kind: me(w.literal("key")), key: w.string() }), name: w.string(), mimeType: w.string().nullable(), description: w.string().nullable(), sizeBytes: w.number().int().nonnegative().nullable(), md5: w.string().nullable(), createdAt: xn.nullable(), modifiedAt: xn.nullable(), index: w.number().int().nonnegative() }); -var GC = me(w.enum(["push-pin", "paperclip", "graph", "tag"])), CC = w.object({ name: w.string().min(1), mimeType: w.string().nullable().optional(), description: w.string().nullable().optional() }), Va = Re("file-attachment", { ...Jt, ...wi, icon: Q.data(GC).optional(), file: Q.data(EC).writes(CC).nullable().optional() }, { file: "required" }), Ya = Re("free-text", { ...Jt, ...No, intent: Q.data(TG).writes(KG).readBack().optional(), fontFamily: Q.data(ep).optional(), fontSize: Q.data(w.number().positive()).optional(), textAlign: Q.data(dF).optional(), verticalAlign: Q.data(NG).optional(), richText: Q.data(lF).writes(uF).optional().space("length"), color: Q.data(Gt).optional(), fontColor: Q.data(Gt).optional(), interiorColor: Q.data(Gt).nullable().optional(), opacity: Q.data(w.number().min(0).max(1)).optional(), strokeWidth: Q.data(w.number().nonnegative()).optional(), borderStyle: Q.data(Lf).writes(Tf).readBack().optional(), dashArray: Q.data(w.array(w.number().nonnegative())).writes(Ud).nullable().optional(), cloudyIntensity: Q.data(w.number().positive()).nullable().optional(), calloutLine: Q.data(AC).nullable().optional().space("calloutLine"), lineEnding: Q.data(Hc).nullable().optional() }), Xa = Re("highlight", Vo), Wa = Re("ink", { ...Jt, ...mF, strokeWidth: Q.data(w.number().nonnegative()).writes(w.number().positive()).readBack().optional(), ...bi, inkList: Q.data(oC).writes(w.array(w.array(Le).min(1)).min(1)).readBack().space("strokes"), intent: Q.data(XG).nullable().optional(), ...np }), Ua = Re("line", { ...Jt, ...tp, ...bi, linePoints: Q.data(aC).space("linePoints"), lineEndings: Q.data(Kf).optional(), ...np, intent: Q.data(pC).nullable().optional(), measure: rp, captionEnabled: Q.data(w.boolean()).optional(), captionPosition: Q.data(me(w.enum(["inline", "top"]))).optional(), captionOffset: Q.data(w.object({ along: w.number(), perpendicular: w.number() })).nullable().optional(), leader: Q.data(cF).writes(wC).nullable().optional() }), qa = Re("link", { ...Ta, target: Q.data(ZG).writes(zG).nullable().readBack().space("linkTarget") }), Za = Re("polygon", { ...bF, vertices: Q.data(w.array(Le)).writes(w.array(Le).min(3)).readBack().space("points"), ...gF, intent: Q.data(lC).nullable().optional(), measure: rp, cloudyIntensity: Q.data(w.number().positive()).nullable().optional() }), za = Re("polyline", { ...bF, vertices: Q.data(w.array(Le)).writes(w.array(Le).min(2)).readBack().space("points"), ...gF, intent: Q.data(uC).nullable().optional(), measure: rp, lineEndings: Q.data(Kf).optional() }), Ja = Re("popup", { ...Ta, parent: Q.data(ii).nullableOnRead().readBack(), open: Q.data(w.boolean()).optional() }), $a = Re("redact", { ...Jt, ...wi, rect: Q.data(La).optional().space("box"), quadPoints: Q.data(w.array($f)).optional().space("quads"), interiorColor: Q.data(Gt).nullable().optional(), overlayText: Q.data(w.string()).nullable().optional(), repeat: Q.data(w.boolean()).optional(), fontFamily: Q.data(ep).optional(), fontSize: Q.data(w.number().nonnegative()).optional(), fontColor: Q.data(Gt).optional(), textAlign: Q.data(Nf).optional() }), eA = Re("square", wF), tA = Re("squiggly", Vo), xC = me(w.enum(["contain", "cover", "fill"])), nA = Re("stamp", { ...Jt, ...No, name: Q.data(w.string()).nullable().optional(), fit: Q.data(xC).nullable().optional(), opacity: Q.data(w.number().min(0).max(1)).optional() }, { appearance: "required" }), rA = Re("strikeout", { ...Vo, intent: Q.data(YG).nullable().optional() }), _C = me(w.enum(["comment", "key", "note", "help", "new-paragraph", "paragraph", "insert"])), iA = Re("text", { ...Jt, ...wi, icon: Q.data(_C).optional(), open: Q.data(w.boolean()).optional(), state: Q.data(w.string().min(1)).nullable().optional(), stateModel: Q.data(w.string().min(1)).nullable().optional() }), aA = Re("underline", Vo), Ap = Re("unsupported", { ...Ta, rawSubtypeCode: Q.engine(w.number().int()), rawSubtypeName: Q.engine(w.string()).nullable() }), op = me(w.discriminatedUnion("kind", [w.object({ kind: w.literal("objectNumber"), objectNumber: w.number().int().positive() }), w.object({ kind: w.literal("fqn"), name: w.string().min(1) })])), gi = Re("widget", { ...Ta, ...FC, color: Q.data(Gt).nullable().optional(), interiorColor: Q.data(Gt).nullable().optional(), strokeWidth: Q.data(w.number().nonnegative()).optional(), borderStyle: Q.data(RG).optional(), dashArray: Q.data(w.array(w.number().nonnegative())).writes(Ud).nullable().optional(), fontFamily: Q.data(ep).nullable().optional(), fontSize: Q.data(w.number().nonnegative()).nullable().optional(), fontColor: Q.data(Gt).nullable().optional(), textAlign: Q.data(Nf).optional(), caption: Q.data(w.string()).nullable().optional(), checkStyle: Q.data(LG).nullable().optional(), actions: Q.data(zf).writes(nC).readBack().nullable().optional().space("actions"), field: Q.engine(op).nullable(), fieldKind: Q.engine(jG(w.enum(["text", "checkbox", "radio", "combobox", "listbox", "pushbutton", "signature", "unknown"]), "unknown").describe("Its field's family. A newer server can add families: read one your client doesn't know as `unknown`.")), hasMark: Q.engine(w.boolean()) }), fF = [Xa, aA, tA, rA, Na, eA, Za, za, Ua, qa, Wa, Ya, Ka, iA, nA, Va, gi, $a, Ja, Ap]; -function Yo(e) { - return fF.find((t) => t.subtype === e) ?? null; -} -var HC = Va.readSchema, IC = Va.createSchema, QC = Va.updateSchema, sp = { subtype: "file-attachment", pdfSubtypeCode: T.FILEATTACHMENT, dtoSchema: HC, draftSchema: IC, patchSchema: QC, readBackWrites: Va.readBackWrites }, SC = Ya.readSchema, OC = Ya.createSchema, MC = Ya.updateSchema, cp = { subtype: "free-text", pdfSubtypeCode: T.FREETEXT, dtoSchema: SC, draftSchema: OC, patchSchema: MC, readBackWrites: Ya.readBackWrites }, jC = Xa.readSchema, RC = Xa.createSchema, LC = Xa.updateSchema, dp = { subtype: "highlight", pdfSubtypeCode: T.HIGHLIGHT, dtoSchema: jC, draftSchema: RC, patchSchema: LC, readBackWrites: Xa.readBackWrites }, TC = Wa.readSchema, KC = Wa.createSchema, NC = Wa.updateSchema, pp = { subtype: "ink", pdfSubtypeCode: T.INK, dtoSchema: TC, draftSchema: KC, patchSchema: NC, readBackWrites: Wa.readBackWrites }, VC = Ua.readSchema, YC = Ua.createSchema, XC = Ua.updateSchema, lp = { subtype: "line", pdfSubtypeCode: T.LINE, dtoSchema: VC, draftSchema: YC, patchSchema: XC, readBackWrites: Ua.readBackWrites }, WC = qa.readSchema, UC = qa.createSchema, qC = qa.updateSchema, up = { subtype: "link", pdfSubtypeCode: T.LINK, dtoSchema: WC, draftSchema: UC, patchSchema: qC, readBackWrites: qa.readBackWrites }, ZC = Za.readSchema, zC = Za.createSchema, JC = Za.updateSchema, mp = { subtype: "polygon", pdfSubtypeCode: T.POLYGON, dtoSchema: ZC, draftSchema: zC, patchSchema: JC, readBackWrites: Za.readBackWrites }, $C = za.readSchema, e7 = za.createSchema, t7 = za.updateSchema, wp = { subtype: "polyline", pdfSubtypeCode: T.POLYLINE, dtoSchema: $C, draftSchema: e7, patchSchema: t7, readBackWrites: za.readBackWrites }, n7 = Ja.readSchema, r7 = Ja.createSchema, i7 = Ja.updateSchema, bp = { subtype: "popup", pdfSubtypeCode: T.POPUP, dtoSchema: n7, draftSchema: r7, patchSchema: i7, readBackWrites: Ja.readBackWrites }, a7 = $a.readSchema, A7 = $a.createSchema, o7 = $a.updateSchema, gp = { subtype: "redact", pdfSubtypeCode: T.REDACT, dtoSchema: a7, draftSchema: A7, patchSchema: o7, readBackWrites: $a.readBackWrites }, s7 = eA.readSchema, c7 = eA.createSchema, d7 = eA.updateSchema, fp = { subtype: "square", pdfSubtypeCode: T.SQUARE, dtoSchema: s7, draftSchema: c7, patchSchema: d7, readBackWrites: eA.readBackWrites }, p7 = tA.readSchema, l7 = tA.createSchema, u7 = tA.updateSchema, Fp = { subtype: "squiggly", pdfSubtypeCode: T.SQUIGGLY, dtoSchema: p7, draftSchema: l7, patchSchema: u7, readBackWrites: tA.readBackWrites }, m7 = nA.readSchema, w7 = nA.createSchema, b7 = nA.updateSchema, vp = { subtype: "stamp", pdfSubtypeCode: T.STAMP, dtoSchema: m7, draftSchema: w7, patchSchema: b7, readBackWrites: nA.readBackWrites }, g7 = rA.readSchema, f7 = rA.createSchema, F7 = rA.updateSchema, Pp = { subtype: "strikeout", pdfSubtypeCode: T.STRIKEOUT, dtoSchema: g7, draftSchema: f7, patchSchema: F7, readBackWrites: rA.readBackWrites }, v7 = iA.readSchema, P7 = iA.createSchema, h7 = iA.updateSchema, hp = { subtype: "text", pdfSubtypeCode: T.TEXT, dtoSchema: v7, draftSchema: P7, patchSchema: h7, readBackWrites: iA.readBackWrites }, k7 = aA.readSchema, B7 = aA.createSchema, D7 = aA.updateSchema, kp = { subtype: "underline", pdfSubtypeCode: T.UNDERLINE, dtoSchema: k7, draftSchema: B7, patchSchema: D7, readBackWrites: aA.readBackWrites }, y7 = Ap.readSchema, E7 = w.never(), G7 = w.never(), FF = { subtype: "unsupported", pdfSubtypeCode: T.UNKNOWN, dtoSchema: y7, draftSchema: E7, patchSchema: G7, readBackWrites: Ap.readBackWrites }, vF = gi.readSchema, C7 = gi.createSchema, x7 = gi.updateSchema, Bp = { subtype: "widget", pdfSubtypeCode: T.WIDGET, dtoSchema: vF, draftSchema: C7, patchSchema: x7, readBackWrites: gi.readBackWrites }, PF = Object.fromEntries(uf.map((e) => [e, gi.shapes.update[e]])); -w.object(PF).strict(); -var hF = [dp, kp, Fp, Pp, ap, fp, mp, wp, lp, up, pp, cp, ip, hp, vp, sp, Bp, gp, bp, FF], _7 = Object.freeze(Object.fromEntries(hF.map((e) => [e.subtype, e]))); -mi(w.discriminatedUnion("subtype", [dp.dtoSchema, kp.dtoSchema, Fp.dtoSchema, Pp.dtoSchema, ap.dtoSchema, fp.dtoSchema, mp.dtoSchema, wp.dtoSchema, lp.dtoSchema, up.dtoSchema, pp.dtoSchema, cp.dtoSchema, ip.dtoSchema, hp.dtoSchema, vp.dtoSchema, sp.dtoSchema, Bp.dtoSchema, gp.dtoSchema, bp.dtoSchema, FF.dtoSchema]), "unsupported", (e) => ({ ...e, rawSubtypeCode: Number.isInteger(e.rawSubtypeCode) ? e.rawSubtypeCode : T.UNKNOWN, rawSubtypeName: typeof e.rawSubtypeName == "string" ? e.rawSubtypeName : null })).describe("An annotation, by its `subtype`. A newer server can add subtypes: read one your client doesn't know as `unsupported`, keeping the fields every annotation has, with `rawSubtypeCode` 0 and `rawSubtypeName` null when the body has neither."); -var H7 = w.discriminatedUnion("subtype", [dp.draftSchema, kp.draftSchema, Fp.draftSchema, Pp.draftSchema, ap.draftSchema, fp.draftSchema, mp.draftSchema, wp.draftSchema, lp.draftSchema, up.draftSchema, pp.draftSchema, cp.draftSchema, ip.draftSchema, hp.draftSchema, vp.draftSchema, sp.draftSchema, Bp.draftSchema, gp.draftSchema, bp.draftSchema]); -w.union(hF.filter((e) => e.subtype !== "unsupported").map((e) => e.patchSchema)); -var I7 = w.discriminatedUnion("subtype", fF.filter((e) => e.subtype !== "unsupported").map((e) => e.fileSchemas.create)); -function Q7(e) { - return Yo(e).fileSchemas.update; -} -var kF = { ref: ii.nullable(), objectNumber: w.number().int().nonnegative(), page: ri.nullable() }, S7 = w.object(kF), O7 = S7, Em = w.object({ ...kF, onState: w.string(), exportValue: w.string(), checked: w.boolean() }), Gm = w.object({ label: w.string(), value: w.string(), selected: w.boolean() }), Cm = mi(w.discriminatedUnion("kind", [w.object({ kind: w.literal("none") }), w.object({ kind: w.literal("scalar"), value: w.string() }), w.object({ kind: w.literal("array"), values: w.array(w.string()) }), w.object({ kind: w.literal("unsupported") })]), "unsupported").describe("A field's stored value, by its `kind`. A newer server can add kinds: read one your client doesn't know as `unsupported`."), jn = { ref: op, name: w.string(), origin: me(w.enum(["acroform", "recovered"])), readOnly: w.boolean(), required: w.boolean(), noExport: w.boolean(), alternateName: w.string().nullable(), mappingName: w.string().nullable(), valueEntry: Cm, defaultValueEntry: Cm, actions: rC.optional(), groupId: w.string().nullable(), createdBy: w.string().nullable(), createdAt: xn.nullable(), filledBy: w.string().nullable(), filledByName: w.string().nullable(), filledAt: xn.nullable(), importedBy: w.string().nullable(), widgets: w.array(O7) }, M7 = mi(w.discriminatedUnion("kind", [w.object({ ...jn, kind: w.literal("text"), value: w.string(), defaultValue: w.string(), maxLength: w.number().int().positive().nullable(), multiline: w.boolean(), password: w.boolean(), comb: w.boolean() }), w.object({ ...jn, kind: w.literal("checkbox"), checked: w.boolean(), exportValue: w.string(), widgets: w.array(Em) }), w.object({ ...jn, kind: w.literal("radio"), value: w.string(), radiosInUnison: w.boolean(), noToggleToOff: w.boolean(), widgets: w.array(Em) }), w.object({ ...jn, kind: w.literal("combobox"), value: w.string(), defaultValue: w.string(), edit: w.boolean(), options: w.array(Gm) }), w.object({ ...jn, kind: w.literal("listbox"), selectedValues: w.array(w.string()), defaultValue: w.array(w.string()), multiSelect: w.boolean(), options: w.array(Gm), topIndex: w.number().int().nonnegative() }), w.object({ ...jn, kind: w.literal("pushbutton") }), w.object({ ...jn, kind: w.literal("signature") }), w.object({ ...jn, kind: w.literal("unknown"), rawValue: w.string() })]), "unknown", (e) => ({ ...e, rawValue: typeof e.rawValue == "string" ? e.rawValue : "" })).describe("A form field, by its `family`. A newer server can add families: read one your client doesn't know as `unknown`, keeping the fields every field has, with `rawValue` an empty string when the body has none."), j7 = me(w.enum(["none", "acroform", "xfa"])); -w.object({ formKind: j7, needsAppearances: w.boolean(), fields: w.array(M7), widgets: w.array(vF), calculationOrder: w.array(op.nullable()) }); +w.object({ ref: w.object({ kind: me(w.literal("key")), key: w.string() }), name: w.string(), mimeType: w.string().nullable(), description: w.string().nullable(), sizeBytes: w.number().int().nonnegative().nullable(), md5: w.string().nullable(), createdAt: Hn.nullable(), modifiedAt: Hn.nullable(), index: w.number().int().nonnegative() }); +var o7 = me(w.enum(["push-pin", "paperclip", "graph", "tag"])), s7 = w.object({ name: w.string().min(1), mimeType: w.string().nullable().optional(), description: w.string().nullable().optional() }), Wa = Re("file-attachment", { ...$t, ...fi, icon: Q.data(o7).optional(), file: Q.data(A7).writes(s7).nullable().optional() }, { file: "required" }), Ua = Re("free-text", { ...$t, ...Zo, intent: Q.data(vC).writes(PC).readBack().optional(), fontFamily: Q.data(pp).optional(), fontSize: Q.data(w.number().positive()).optional(), textAlign: Q.data(GF).optional(), verticalAlign: Q.data(hC).optional(), richText: Q.data(xF).writes(_F).optional().space("length"), color: Q.data(_t).optional(), fontColor: Q.data(_t).optional(), interiorColor: Q.data(_t).nullable().optional(), opacity: Q.data(w.number().min(0).max(1)).optional(), strokeWidth: Q.data(w.number().nonnegative()).optional(), borderStyle: Q.data(iF).writes(aF).readBack().optional(), dashArray: Q.data(w.array(w.number().nonnegative())).writes(ap).nullable().optional(), cloudyIntensity: Q.data(w.number().positive()).nullable().optional(), calloutLine: Q.data(RC).nullable().optional().space("calloutLine"), lineEnding: Q.data(Rc).nullable().optional() }), qa = Re("highlight", zo), Za = Re("ink", { ...$t, ...HF, strokeWidth: Q.data(w.number().nonnegative()).writes(w.number().positive()).readBack().optional(), ...Fi, inkList: Q.data(LC).writes(w.array(w.array(Le).min(1)).min(1)).readBack().space("strokes"), intent: Q.data(DC).nullable().optional(), ...lp }), za = Re("line", { ...$t, ...up, ...Fi, linePoints: Q.data(jC).space("linePoints"), lineEndings: Q.data(AF).optional(), ...lp, intent: Q.data(VC).nullable().optional(), measure: mp, captionEnabled: Q.data(w.boolean()).optional(), captionPosition: Q.data(me(w.enum(["inline", "top"]))).optional(), captionOffset: Q.data(w.object({ along: w.number(), perpendicular: w.number() })).nullable().optional(), leader: Q.data(EF).writes(UC).nullable().optional() }), Ja = Re("link", { ...Va, target: Q.data(CC).writes(xC).nullable().readBack().space("linkTarget") }), $a = Re("polygon", { ...QF, vertices: Q.data(w.array(Le)).writes(w.array(Le).min(3)).readBack().space("points"), ...SF, intent: Q.data(YC).nullable().optional(), measure: mp, cloudyIntensity: Q.data(w.number().positive()).nullable().optional() }), eA = Re("polyline", { ...QF, vertices: Q.data(w.array(Le)).writes(w.array(Le).min(2)).readBack().space("points"), ...SF, intent: Q.data(XC).nullable().optional(), measure: mp, lineEndings: Q.data(AF).optional() }), tA = Re("popup", { ...Va, parent: Q.data(si).nullableOnRead().readBack(), open: Q.data(w.boolean()).optional() }), nA = Re("redact", { ...$t, ...fi, rect: Q.data(Na).optional().space("box"), quadPoints: Q.data(w.array(gF)).optional().space("quads"), interiorColor: Q.data(_t).nullable().optional(), overlayText: Q.data(w.string()).nullable().optional(), repeat: Q.data(w.boolean()).optional(), fontFamily: Q.data(pp).optional(), fontSize: Q.data(w.number().nonnegative()).optional(), fontColor: Q.data(_t).optional(), textAlign: Q.data(oF).optional() }), rA = Re("square", IF), iA = Re("squiggly", zo), c7 = me(w.enum(["contain", "cover", "fill"])), aA = Re("stamp", { ...$t, ...Zo, name: Q.data(w.string()).nullable().optional(), fit: Q.data(c7).nullable().optional(), opacity: Q.data(w.number().min(0).max(1)).optional() }, { appearance: "required" }), AA = Re("strikeout", { ...zo, intent: Q.data(BC).nullable().optional() }), d7 = me(w.enum(["comment", "key", "note", "help", "new-paragraph", "paragraph", "insert"])), oA = Re("text", { ...$t, ...fi, icon: Q.data(d7).optional(), open: Q.data(w.boolean()).optional(), state: Q.data(w.string().min(1)).nullable().optional(), stateModel: Q.data(w.string().min(1)).nullable().optional() }), sA = Re("underline", zo), gp = Re("unsupported", { ...Va, rawSubtypeCode: Q.engine(w.number().int()), rawSubtypeName: Q.engine(w.string()).nullable() }), fp = me(w.discriminatedUnion("kind", [w.object({ kind: w.literal("objectNumber"), objectNumber: w.number().int().positive() }), w.object({ kind: w.literal("fqn"), name: w.string().min(1) })])), vi = Re("widget", { ...Va, ...JC, color: Q.data(_t).nullable().optional(), interiorColor: Q.data(_t).nullable().optional(), strokeWidth: Q.data(w.number().nonnegative()).optional(), borderStyle: Q.data(fC).optional(), dashArray: Q.data(w.array(w.number().nonnegative())).writes(ap).nullable().optional(), fontFamily: Q.data(pp).nullable().optional(), fontSize: Q.data(w.number().nonnegative()).nullable().optional(), fontColor: Q.data(_t).nullable().optional(), textAlign: Q.data(oF).optional(), caption: Q.data(w.string()).nullable().optional(), checkStyle: Q.data(FC).nullable().optional(), actions: Q.data(wF).writes(SC).readBack().nullable().optional().space("actions"), field: Q.engine(fp).nullable(), fieldKind: Q.engine(gC(w.enum(["text", "checkbox", "radio", "combobox", "listbox", "pushbutton", "signature", "unknown"]), "unknown").describe("Its field's family. A newer server can add families: read one your client doesn't know as `unknown`.")), hasMark: Q.engine(w.boolean()) }), OF = [qa, sA, iA, AA, Xa, rA, $a, eA, za, Ja, Za, Ua, Ya, oA, aA, Wa, vi, nA, tA, gp]; +function Jo(e) { + return OF.find((t) => t.subtype === e) ?? null; +} +var p7 = Wa.readSchema, u7 = Wa.createSchema, l7 = Wa.updateSchema, Fp = { subtype: "file-attachment", pdfSubtypeCode: T.FILEATTACHMENT, dtoSchema: p7, draftSchema: u7, patchSchema: l7, readBackWrites: Wa.readBackWrites }, m7 = Ua.readSchema, w7 = Ua.createSchema, b7 = Ua.updateSchema, vp = { subtype: "free-text", pdfSubtypeCode: T.FREETEXT, dtoSchema: m7, draftSchema: w7, patchSchema: b7, readBackWrites: Ua.readBackWrites }, g7 = qa.readSchema, f7 = qa.createSchema, F7 = qa.updateSchema, Pp = { subtype: "highlight", pdfSubtypeCode: T.HIGHLIGHT, dtoSchema: g7, draftSchema: f7, patchSchema: F7, readBackWrites: qa.readBackWrites }, v7 = Za.readSchema, P7 = Za.createSchema, h7 = Za.updateSchema, hp = { subtype: "ink", pdfSubtypeCode: T.INK, dtoSchema: v7, draftSchema: P7, patchSchema: h7, readBackWrites: Za.readBackWrites }, k7 = za.readSchema, B7 = za.createSchema, D7 = za.updateSchema, kp = { subtype: "line", pdfSubtypeCode: T.LINE, dtoSchema: k7, draftSchema: B7, patchSchema: D7, readBackWrites: za.readBackWrites }, y7 = Ja.readSchema, E7 = Ja.createSchema, G7 = Ja.updateSchema, Bp = { subtype: "link", pdfSubtypeCode: T.LINK, dtoSchema: y7, draftSchema: E7, patchSchema: G7, readBackWrites: Ja.readBackWrites }, C7 = $a.readSchema, x7 = $a.createSchema, _7 = $a.updateSchema, Dp = { subtype: "polygon", pdfSubtypeCode: T.POLYGON, dtoSchema: C7, draftSchema: x7, patchSchema: _7, readBackWrites: $a.readBackWrites }, H7 = eA.readSchema, I7 = eA.createSchema, Q7 = eA.updateSchema, yp = { subtype: "polyline", pdfSubtypeCode: T.POLYLINE, dtoSchema: H7, draftSchema: I7, patchSchema: Q7, readBackWrites: eA.readBackWrites }, S7 = tA.readSchema, O7 = tA.createSchema, M7 = tA.updateSchema, Ep = { subtype: "popup", pdfSubtypeCode: T.POPUP, dtoSchema: S7, draftSchema: O7, patchSchema: M7, readBackWrites: tA.readBackWrites }, j7 = nA.readSchema, R7 = nA.createSchema, L7 = nA.updateSchema, Gp = { subtype: "redact", pdfSubtypeCode: T.REDACT, dtoSchema: j7, draftSchema: R7, patchSchema: L7, readBackWrites: nA.readBackWrites }, T7 = rA.readSchema, K7 = rA.createSchema, N7 = rA.updateSchema, Cp = { subtype: "square", pdfSubtypeCode: T.SQUARE, dtoSchema: T7, draftSchema: K7, patchSchema: N7, readBackWrites: rA.readBackWrites }, V7 = iA.readSchema, Y7 = iA.createSchema, X7 = iA.updateSchema, xp = { subtype: "squiggly", pdfSubtypeCode: T.SQUIGGLY, dtoSchema: V7, draftSchema: Y7, patchSchema: X7, readBackWrites: iA.readBackWrites }, W7 = aA.readSchema, U7 = aA.createSchema, q7 = aA.updateSchema, _p = { subtype: "stamp", pdfSubtypeCode: T.STAMP, dtoSchema: W7, draftSchema: U7, patchSchema: q7, readBackWrites: aA.readBackWrites }, Z7 = AA.readSchema, z7 = AA.createSchema, J7 = AA.updateSchema, Hp = { subtype: "strikeout", pdfSubtypeCode: T.STRIKEOUT, dtoSchema: Z7, draftSchema: z7, patchSchema: J7, readBackWrites: AA.readBackWrites }, $7 = oA.readSchema, e2 = oA.createSchema, t2 = oA.updateSchema, Ip = { subtype: "text", pdfSubtypeCode: T.TEXT, dtoSchema: $7, draftSchema: e2, patchSchema: t2, readBackWrites: oA.readBackWrites }, n2 = sA.readSchema, r2 = sA.createSchema, i2 = sA.updateSchema, Qp = { subtype: "underline", pdfSubtypeCode: T.UNDERLINE, dtoSchema: n2, draftSchema: r2, patchSchema: i2, readBackWrites: sA.readBackWrites }, a2 = gp.readSchema, A2 = w.never(), o2 = w.never(), MF = { subtype: "unsupported", pdfSubtypeCode: T.UNKNOWN, dtoSchema: a2, draftSchema: A2, patchSchema: o2, readBackWrites: gp.readBackWrites }, jF = vi.readSchema, s2 = vi.createSchema, c2 = vi.updateSchema, Sp = { subtype: "widget", pdfSubtypeCode: T.WIDGET, dtoSchema: jF, draftSchema: s2, patchSchema: c2, readBackWrites: vi.readBackWrites }, RF = Object.fromEntries(If.map((e) => [e, vi.shapes.update[e]])); +w.object(RF).strict(); +var LF = [Pp, Qp, xp, Hp, bp, Cp, Dp, yp, kp, Bp, hp, vp, wp, Ip, _p, Fp, Sp, Gp, Ep, MF], d2 = Object.freeze(Object.fromEntries(LF.map((e) => [e.subtype, e]))); +gi(w.discriminatedUnion("subtype", [Pp.dtoSchema, Qp.dtoSchema, xp.dtoSchema, Hp.dtoSchema, bp.dtoSchema, Cp.dtoSchema, Dp.dtoSchema, yp.dtoSchema, kp.dtoSchema, Bp.dtoSchema, hp.dtoSchema, vp.dtoSchema, wp.dtoSchema, Ip.dtoSchema, _p.dtoSchema, Fp.dtoSchema, Sp.dtoSchema, Gp.dtoSchema, Ep.dtoSchema, MF.dtoSchema]), "unsupported", (e) => ({ ...e, rawSubtypeCode: Number.isInteger(e.rawSubtypeCode) ? e.rawSubtypeCode : T.UNKNOWN, rawSubtypeName: typeof e.rawSubtypeName == "string" ? e.rawSubtypeName : null })).describe("An annotation, by its `subtype`. A newer server can add subtypes: read one your client doesn't know as `unsupported`, keeping the fields every annotation has, with `rawSubtypeCode` 0 and `rawSubtypeName` null when the body has neither."); +var p2 = w.discriminatedUnion("subtype", [Pp.draftSchema, Qp.draftSchema, xp.draftSchema, Hp.draftSchema, bp.draftSchema, Cp.draftSchema, Dp.draftSchema, yp.draftSchema, kp.draftSchema, Bp.draftSchema, hp.draftSchema, vp.draftSchema, wp.draftSchema, Ip.draftSchema, _p.draftSchema, Fp.draftSchema, Sp.draftSchema, Gp.draftSchema, Ep.draftSchema]); +w.union(LF.filter((e) => e.subtype !== "unsupported").map((e) => e.patchSchema)); +var u2 = w.discriminatedUnion("subtype", OF.filter((e) => e.subtype !== "unsupported").map((e) => e.fileSchemas.create)); +function l2(e) { + return Jo(e).fileSchemas.update; +} +var TF = { ref: si.nullable(), objectNumber: w.number().int().nonnegative(), page: oi.nullable() }, m2 = w.object(TF), w2 = m2, Nm = w.object({ ...TF, onState: w.string(), exportValue: w.string(), checked: w.boolean() }), Vm = w.object({ label: w.string(), value: w.string(), selected: w.boolean() }), Ym = gi(w.discriminatedUnion("kind", [w.object({ kind: w.literal("none") }), w.object({ kind: w.literal("scalar"), value: w.string() }), w.object({ kind: w.literal("array"), values: w.array(w.string()) }), w.object({ kind: w.literal("unsupported") })]), "unsupported").describe("A field's stored value, by its `kind`. A newer server can add kinds: read one your client doesn't know as `unsupported`."), Rn = { ref: fp, name: w.string(), origin: me(w.enum(["acroform", "recovered"])), readOnly: w.boolean(), required: w.boolean(), noExport: w.boolean(), alternateName: w.string().nullable(), mappingName: w.string().nullable(), valueEntry: Ym, defaultValueEntry: Ym, actions: OC.optional(), groupId: w.string().nullable(), createdBy: w.string().nullable(), createdAt: Hn.nullable(), filledBy: w.string().nullable(), filledByName: w.string().nullable(), filledAt: Hn.nullable(), importedBy: w.string().nullable(), widgets: w.array(w2) }, b2 = gi(w.discriminatedUnion("kind", [w.object({ ...Rn, kind: w.literal("text"), value: w.string(), defaultValue: w.string(), maxLength: w.number().int().positive().nullable(), multiline: w.boolean(), password: w.boolean(), comb: w.boolean() }), w.object({ ...Rn, kind: w.literal("checkbox"), checked: w.boolean(), exportValue: w.string(), widgets: w.array(Nm) }), w.object({ ...Rn, kind: w.literal("radio"), value: w.string(), radiosInUnison: w.boolean(), noToggleToOff: w.boolean(), widgets: w.array(Nm) }), w.object({ ...Rn, kind: w.literal("combobox"), value: w.string(), defaultValue: w.string(), edit: w.boolean(), options: w.array(Vm) }), w.object({ ...Rn, kind: w.literal("listbox"), selectedValues: w.array(w.string()), defaultValue: w.array(w.string()), multiSelect: w.boolean(), options: w.array(Vm), topIndex: w.number().int().nonnegative() }), w.object({ ...Rn, kind: w.literal("pushbutton") }), w.object({ ...Rn, kind: w.literal("signature") }), w.object({ ...Rn, kind: w.literal("unknown"), rawValue: w.string() })]), "unknown", (e) => ({ ...e, rawValue: typeof e.rawValue == "string" ? e.rawValue : "" })).describe("A form field, by its `family`. A newer server can add families: read one your client doesn't know as `unknown`, keeping the fields every field has, with `rawValue` an empty string when the body has none."), g2 = me(w.enum(["none", "acroform", "xfa"])); +w.object({ formKind: g2, needsAppearances: w.boolean(), fields: w.array(b2), widgets: w.array(jF), calculationOrder: w.array(fp.nullable()) }); w.object({ value: w.string().nullable().optional(), checked: w.boolean().optional(), selectedValues: w.array(w.string()).optional() }).strict().refine((e) => [e.value, e.checked, e.selectedValues].filter((t) => t !== void 0).length === 1, { message: "exactly one of value, checked or selectedValues" }); -var R7 = w.object({ page: ri, rect: Fa.optional(), box: Fa.optional(), rotation: eF.optional(), exportValue: w.string().min(1).optional(), actions: Zf.optional(), ...PF }).strict(), Ic = w.object({ label: w.string(), value: w.string() }), ir = { name: w.string().min(1), readOnly: w.boolean().optional(), required: w.boolean().optional(), noExport: w.boolean().optional(), alternateName: w.string().optional(), mappingName: w.string().optional(), groupId: w.string().min(1).max(256).optional(), actions: Jf.optional(), widgets: w.array(R7).optional() }, L7 = w.discriminatedUnion("kind", [w.object({ ...ir, kind: w.literal("text"), defaultValue: w.string().optional(), maxLength: w.number().int().positive().optional(), multiline: w.boolean().optional(), password: w.boolean().optional(), comb: w.boolean().optional() }).strict(), w.object({ ...ir, kind: w.literal("checkbox") }).strict(), w.object({ ...ir, kind: w.literal("radio"), radiosInUnison: w.boolean().optional(), noToggleToOff: w.boolean().optional() }).strict(), w.object({ ...ir, kind: w.literal("combobox"), edit: w.boolean().optional(), options: w.array(Ic).optional(), defaultValue: w.string().optional() }).strict(), w.object({ ...ir, kind: w.literal("listbox"), multiSelect: w.boolean().optional(), options: w.array(Ic).optional(), defaultValue: w.array(w.string()).optional() }).strict(), w.object({ ...ir, kind: w.literal("pushbutton") }).strict(), w.object({ ...ir, kind: w.literal("signature") }).strict()]), T7 = { name: w.string().min(1).optional(), readOnly: w.boolean().optional(), required: w.boolean().optional(), noExport: w.boolean().optional(), alternateName: w.string().nullable().optional(), mappingName: w.string().nullable().optional(), groupId: w.string().min(1).max(256).optional(), actions: Jf.optional() }; -w.object({ ...T7, kind: w.enum(["text", "checkbox", "radio", "combobox", "listbox", "pushbutton", "signature"]).optional(), defaultValue: w.union([w.string(), w.array(w.string())]).nullable().optional(), maxLength: w.number().int().positive().nullable().optional(), multiline: w.boolean().optional(), password: w.boolean().optional(), comb: w.boolean().optional(), radiosInUnison: w.boolean().optional(), noToggleToOff: w.boolean().optional(), edit: w.boolean().optional(), multiSelect: w.boolean().optional(), options: w.array(Ic).optional() }).strict(); -function K7(e, t = {}) { - let r = Yo(String(e.subtype)), n = t.linked ?? [], i = (r && n.length > 0 ? r.fileSchemas.create.omit(Object.fromEntries(n.map((a) => [a, !0]))) : I7).safeParse(e); - if (!i.success) throw BF(i.error, `${String(e.subtype)} create`); +var f2 = w.object({ page: oi, rect: ha.optional(), box: ha.optional(), rotation: fF.optional(), exportValue: w.string().min(1).optional(), actions: mF.optional(), ...RF }).strict(), Lc = w.object({ label: w.string(), value: w.string() }), ar = { name: w.string().min(1), readOnly: w.boolean().optional(), required: w.boolean().optional(), noExport: w.boolean().optional(), alternateName: w.string().optional(), mappingName: w.string().optional(), groupId: w.string().min(1).max(256).optional(), actions: bF.optional(), widgets: w.array(f2).optional() }, F2 = w.discriminatedUnion("kind", [w.object({ ...ar, kind: w.literal("text"), defaultValue: w.string().optional(), maxLength: w.number().int().positive().optional(), multiline: w.boolean().optional(), password: w.boolean().optional(), comb: w.boolean().optional() }).strict(), w.object({ ...ar, kind: w.literal("checkbox") }).strict(), w.object({ ...ar, kind: w.literal("radio"), radiosInUnison: w.boolean().optional(), noToggleToOff: w.boolean().optional() }).strict(), w.object({ ...ar, kind: w.literal("combobox"), edit: w.boolean().optional(), options: w.array(Lc).optional(), defaultValue: w.string().optional() }).strict(), w.object({ ...ar, kind: w.literal("listbox"), multiSelect: w.boolean().optional(), options: w.array(Lc).optional(), defaultValue: w.array(w.string()).optional() }).strict(), w.object({ ...ar, kind: w.literal("pushbutton") }).strict(), w.object({ ...ar, kind: w.literal("signature") }).strict()]), v2 = { name: w.string().min(1).optional(), readOnly: w.boolean().optional(), required: w.boolean().optional(), noExport: w.boolean().optional(), alternateName: w.string().nullable().optional(), mappingName: w.string().nullable().optional(), groupId: w.string().min(1).max(256).optional(), actions: bF.optional() }; +w.object({ ...v2, kind: w.enum(["text", "checkbox", "radio", "combobox", "listbox", "pushbutton", "signature"]).optional(), defaultValue: w.union([w.string(), w.array(w.string())]).nullable().optional(), maxLength: w.number().int().positive().nullable().optional(), multiline: w.boolean().optional(), password: w.boolean().optional(), comb: w.boolean().optional(), radiosInUnison: w.boolean().optional(), noToggleToOff: w.boolean().optional(), edit: w.boolean().optional(), multiSelect: w.boolean().optional(), options: w.array(Lc).optional() }).strict(); +function P2(e, t = {}) { + let r = Jo(String(e.subtype)), n = t.linked ?? [], i = (r && n.length > 0 ? r.fileSchemas.create.omit(Object.fromEntries(n.map((a) => [a, !0]))) : u2).safeParse(e); + if (!i.success) throw KF(i.error, `${String(e.subtype)} create`); } -function N7(e, t) { +function h2(e, t) { let r = t.subtype ?? e.subtype; if (r === "unsupported") return; let n = t; - for (let [a, A] of Object.entries(_7[r].readBackWrites)) { + for (let [a, A] of Object.entries(d2[r].readBackWrites)) { let o = n[a]; if (!(o === void 0 || A?.safeParse(o).success)) throw new f(g.InvalidArg, A ? `${r} update field '${a}': this value can be read but not written; send it back unchanged or replace it` : `${r} update field '${a}': the engine works this out; send it back unchanged or leave it out`, { details: { field: a } }); } - let i = Q7(r).safeParse(t); - if (!i.success) throw BF(i.error, `${r} update`); + let i = l2(r).safeParse(t); + if (!i.success) throw KF(i.error, `${r} update`); } -function V7(e, t = {}) { - let r = g0(e); - return K7(r, { linked: t.linked ?? [] }), f0(r, t); +function k2(e, t = {}) { + let r = X0(e); + return P2(r, { linked: t.linked ?? [] }), W0(r, t); } -function Y7(e, t, r = {}) { - let n = u0(e, t); - return N7(e, n), m0(e, n, r); +function B2(e, t, r = {}) { + let n = K0(e, t); + return h2(e, n), N0(e, n, r); } -function BF(e, t) { +function KF(e, t) { let r = e.issues[0], n = r.path.join("."); return new f(g.InvalidArg, `${t}${n ? ` field '${n}'` : ""}: ${r.message}`, { details: n ? { field: n } : {} }); } -function X7(e) { - let { bundle: t, target: r, nameTaken: n } = e, i = t.items.map((_) => _.data), a = Jb({ bundlePages: t.pages, pages: e.pages ?? "same", target: r, named: i.flatMap(W7) }), A = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(); +function D2(e) { + let { bundle: t, target: r, nameTaken: n } = e, i = t.items.map((_) => _.data), a = lg({ bundlePages: t.pages, pages: e.pages ?? "same", target: r, named: i.flatMap(y2) }), A = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(); i.forEach((_, H) => { if (_.subtype === "unsupported") { A.set(H, "unsupported-kind"); @@ -7004,69 +7149,61 @@ function X7(e) { A.set(H, "parent-missing"); return; } - let C = q7(_); + let C = NF(_); if (C === "item") { A.set(H, "unsupported-value"); return; } - let j = [...U7(_), ...C]; - j.length > 0 && o.set(H, j), s.set(H, $7(_, j, a, H)); + let O = [...Md(_), ...C]; + O.length > 0 && o.set(H, O), s.set(H, VF(_, O, a, { label: `import: item ${H}`, details: { item: H } })); }); let d = /* @__PURE__ */ new Map(); i.forEach((_, H) => { - let C = Z(_.ref); + let C = W(_.ref); d.has(C) || d.set(C, H); }); - let l = (_) => Ee(a(i[_].ref.page)), m = (_, H) => { - let C = d.get(Z(_)); - return C !== void 0 && l(C) === l(H) ? C : void 0; + let u = (_) => De(a(i[_].ref.page)), m = (_, H) => { + let C = d.get(W(_)); + return C !== void 0 && u(C) === u(H) ? C : void 0; }, F = (_) => [_.reply?.to, _.subtype === "popup" ? _.parent : null].filter((H) => H != null); i.forEach((_, H) => { A.has(H) || F(_).some((C) => m(C, H) === void 0) && A.set(H, "parent-missing"); }); - let k = /* @__PURE__ */ new Map(); + let h = /* @__PURE__ */ new Map(); i.forEach((_, H) => { if (A.has(H) || _.subtype !== "popup" || !_.parent) return; let C = m(_.parent, H); - k.has(C) ? A.set(H, "popup-taken") : k.set(C, H); + h.has(C) ? A.set(H, "popup-taken") : h.set(C, H); }); let P = /* @__PURE__ */ new Set(); i.forEach((_, H) => { if (A.has(H) || !_.nm) return; - let C = a(_.ref.page), j = `${Ee(C)}\0${_.nm}`; - P.has(j) || n(C, _.nm) ? A.set(H, "name-conflict") : P.add(j); + let C = a(_.ref.page), O = `${De(C)}\0${_.nm}`; + P.has(O) || n(C, _.nm) ? A.set(H, "name-conflict") : P.add(O); }); for (let _ = !0; _; ) _ = !1, i.forEach((H, C) => { - A.has(C) || F(H).some((j) => A.has(m(j, C))) && (A.set(C, "parent-dropped"), _ = !0); + A.has(C) || F(H).some((O) => A.has(m(O, C))) && (A.set(C, "parent-dropped"), _ = !0); }); let D = /* @__PURE__ */ new Map(); i.forEach((_, H) => { A.has(H) || D.set(H, D.size); }); let G = [...D.keys()].map((_) => { - let H = i[_], C = H.reply ? D.get(m(H.reply.to, _)) : void 0, j = H.subtype === "popup" && H.parent ? D.get(m(H.parent, _)) : void 0; - return { item: _, page: a(H.ref.page), draft: s.get(_), ...C !== void 0 ? { replyTo: { planned: C, type: H.reply.type } } : {}, ...j !== void 0 ? { parent: j } : {} }; + let H = i[_], C = H.reply ? D.get(m(H.reply.to, _)) : void 0, O = H.subtype === "popup" && H.parent ? D.get(m(H.parent, _)) : void 0; + return { item: _, page: a(H.ref.page), draft: s.get(_), ...C !== void 0 ? { replyTo: { planned: C, type: H.reply.type } } : {}, ...O !== void 0 ? { parent: O } : {} }; }), I = []; return i.forEach((_, H) => { let C = A.get(H); if (C) I.push({ ref: _.ref, reason: C }); - else for (let j of o.get(H) ?? []) I.push({ ref: _.ref, ...j }); + else for (let O of o.get(H) ?? []) I.push({ ref: _.ref, ...O }); }), { creates: G, dropped: I }; } -function W7(e) { +function y2(e) { let { ref: t, reply: r, popup: n, ...i } = e, a = { ...i }; - return e.subtype === "popup" && delete a.parent, [t.page, ...Nd(a)]; + return e.subtype === "popup" && delete a.parent, [t.page, ...jd(a)]; } -function U7(e) { - let t = [], r = e.measure; - r?.subtype === "geospatial" && t.push({ field: "measure", reason: "geospatial" }), r?.subtype === "unknown" && t.push({ field: "measure", reason: "unknown-measure" }); - let n = e.subtype === "link" ? e.target : null, i = !!n && z7(n); - n && !i && t.push({ field: "target", reason: "unsupported-action" }); - let { actions: a } = e; - return Object.entries(a ?? {}).some(([A, o]) => e.subtype !== "link" || A !== "activate" ? !0 : i && !Z7(o)) && t.push({ field: "actions", reason: "unsupported-action" }), t; -} -function q7(e) { - let t = [], r = Yo(e.subtype); +function NF(e) { + let t = [], r = Jo(e.subtype); for (let [n, i] of Object.entries(r?.fields ?? {})) { let { owner: a, readBack: A, required: o } = i.traits; if (a !== "data" || !A || n === "target") continue; @@ -7078,31 +7215,39 @@ function q7(e) { } return t; } -function Z7(e) { - let t = e?.root; - return !e || e.incomplete || !t || t.next.length > 0 ? !1 : !(t.type === "uri" && t.isMap); -} -function z7(e) { - return e.kind === "named" ? J7.has(e.name ?? "") : e.kind === "goto" || e.kind === "uri"; -} -var J7 = /* @__PURE__ */ new Set(["NextPage", "PrevPage", "FirstPage", "LastPage"]); -function $7(e, t, r, n) { +function VF(e, t, r, n) { let i = { ...e }; delete i.reply; - let a = Yo(e.subtype)?.fields ?? {}; + let a = Jo(e.subtype)?.fields ?? {}; for (let { field: o } of t) a[o]?.traits.writeNullable ? i[o] = null : delete i[o]; - let A = H7.safeParse(i); + let A = p2.safeParse(i); if (e.subtype === "popup" && delete i.parent, !A.success) { let o = A.error.issues[0], s = o.path.join("."); - throw new f(g.InvalidArg, `import: item ${n}${s ? ` field '${s}'` : ""}: ${o.message}`, { details: { item: n, ...s ? { field: s } : {} } }); + throw new f(g.InvalidArg, `${n.label}${s ? ` field '${s}'` : ""}: ${o.message}`, { details: { ...n.details, ...s ? { field: s } : {} } }); } - return mf(i, r); + return of(i, r); } -function e2(e) { - let { bundle: t, mayScript: r } = e, n = Jb({ bundlePages: t.pages, pages: e.pages ?? "same", target: e.target, named: t.widgets.flatMap((d) => Nd(d.data)) }), i = new Map(t.widgets.map((d, l) => [Z(d.data.ref), l])), a = /* @__PURE__ */ new Set(), A = [], o = /* @__PURE__ */ new Set(), s = []; - return t.fields.forEach(({ data: d }, l) => { +function E2(e, t) { + let r = /* @__PURE__ */ new Map(); + e.forEach((d, u) => { + if (d.subtype === "unsupported" || d.subtype === "widget") return; + let m = NF(d); + r.set(u, m === "item" ? "item" : [...Md(d), ...m]); + }); + let n = (d) => { + let u = r.get(d); + return u === void 0 || u === "item" ? [] : u; + }, i = y9(e, t, (d) => r.get(d) === "item"), a = i.copies.map(({ data: d, ...u }) => ({ ...u, draft: VF(d, n(u.source), (m) => m, { label: `copy: annotation ${u.source}`, details: { annotation: u.source } }) })), A = new Set(a.map((d) => d.source)), o = i.dropped[Symbol.iterator](), s = []; + return e.forEach((d, u) => { + if (!A.has(u)) s.push(o.next().value); + else for (let m of n(u)) s.push({ ref: d.ref, ...m }); + }), { creates: a, dropped: s }; +} +function G2(e) { + let { bundle: t, mayScript: r } = e, n = lg({ bundlePages: t.pages, pages: e.pages ?? "same", target: e.target, named: t.widgets.flatMap((d) => jd(d.data)) }), i = new Map(t.widgets.map((d, u) => [W(d.data.ref), u])), a = /* @__PURE__ */ new Set(), A = [], o = /* @__PURE__ */ new Set(), s = []; + return t.fields.forEach(({ data: d }, u) => { let m = d.widgets.flatMap((P) => { - let D = P.ref ? i.get(Z(P.ref)) : void 0; + let D = P.ref ? i.get(W(P.ref)) : void 0; return D === void 0 ? [] : [D]; }); for (let P of m) a.add(P); @@ -7115,21 +7260,21 @@ function e2(e) { return; } o.add(d.name); - let F = a2(d, n2(d, r, A), m.map((P) => r2(d, t.widgets[P].data, n, r, A)), l), k = e.values && DF(d) ? Id(d) : null; - s.push({ field: l, draft: F, widgets: m, flags: m.map((P) => i2(t.widgets[P].data)), ...k ? { value: k } : {} }); - }), t.widgets.forEach((d, l) => { - a.has(l) || A.push({ ref: d.data.field, widget: d.data.ref, reason: "no-field" }); + let F = x2(d, pf(d, r, A), m.map((P) => uf(d, t.widgets[P].data, n, r, A)), u), h = e.values && Nd(d) ? Yo(d) : null; + s.push({ field: u, draft: F, widgets: m, flags: m.map((P) => lf(t.widgets[P].data)), ...h ? { value: h } : {} }); + }), t.widgets.forEach((d, u) => { + a.has(u) || A.push({ ref: d.data.field, widget: d.data.ref, reason: "no-field" }); }), { creates: s, calculationOrder: t.calculationOrder.flatMap((d) => { - let l = s.findIndex((m) => Ki(t.fields[m.field].data.ref) === Ki(d) && m.draft.actions?.calculate); - return l < 0 ? [] : [l]; + let u = s.findIndex((m) => Wr(t.fields[m.field].data.ref) === Wr(d) && m.draft.actions?.calculate); + return u < 0 ? [] : [u]; }), dropped: A }; } -function t2(e) { +function C2(e) { let t = [], r = []; return e.bundle.fields.forEach(({ data: n }, i) => { - let a = DF(n) ? Id(n) : null; + let a = Nd(n) ? Yo(n) : null; if (!a) return; - let A = e.target.find((o) => Wg(o, { kind: "fqn", name: n.name })); + let A = e.target.find((o) => ia(o, { kind: "fqn", name: n.name })); if (!A) r.push({ ref: n.ref, reason: "no-field" }); else if (A.kind !== n.kind) r.push({ ref: n.ref, reason: "wrong-kind" }); else { @@ -7138,177 +7283,138 @@ function t2(e) { } }), { writes: t, dropped: r }; } -function DF(e) { - return e.valueEntry.kind === "scalar" || e.valueEntry.kind === "array"; -} -function n2(e, t, r) { - let n = {}; - for (let [i, a] of Object.entries(e.actions ?? {})) { - if (!a) continue; - let A = Yg(a), o = `actions.${i}`; - A ? t ? n[i] = A : r.push({ ref: e.ref, field: o, reason: "script-not-allowed" }) : r.push({ ref: e.ref, field: o, reason: "unsupported-action" }); +function YF(e, t, r) { + let n = F2.safeParse(e); + if (!n.success) { + let i = n.error.issues[0], a = i.path.join("."); + throw new f(g.InvalidArg, `${t}${a ? ` member '${a}'` : ""}: ${i.message}`, { details: { ...r, ...a ? { field: a } : {} } }); } - return n; -} -function r2(e, t, r, n, i) { - let a = {}; - for (let s of _d) { - let d = t.actions?.[s]; - if (!d) continue; - let l = xd(d), m = (F) => i.push({ ref: e.ref, widget: t.ref, field: `actions.${s}`, reason: F }); - l ? !n && Cd(l) ? m("script-not-allowed") : a[s] = mf(l, r) : m("unsupported-action"); - } - let A = e.kind === "checkbox" || e.kind === "radio" ? e.widgets.find((s) => s.ref && Z(s.ref) === Z(t.ref)) : void 0, o = { color: t.color, interiorColor: t.interiorColor, fontFamily: t.fontFamily, fontSize: t.fontSize, fontColor: t.fontColor, caption: e.kind === "pushbutton" ? t.caption : null }; - return { page: r(t.page), rect: t.rect, ...t.rotation ? { rotation: t.rotation } : {}, strokeWidth: t.strokeWidth, borderStyle: t.borderStyle, textAlign: t.textAlign, ...Object.fromEntries(Object.entries(o).filter(([, s]) => s != null)), ...A && "exportValue" in A ? { exportValue: A.exportValue } : {}, ...Object.keys(a).length > 0 ? { actions: a } : {} }; + return e; } -function i2(e) { - return Object.fromEntries(ty.map((t) => [t, e[t]])); +function x2(e, t, r, n) { + let i = `import: field ${n}`; + return YF(mf(e, e.name, t, r, i), i, { item: n }); } -function a2(e, t, r, n) { - let i = { name: e.name, readOnly: e.readOnly, required: e.required, noExport: e.noExport, ...e.alternateName !== null ? { alternateName: e.alternateName } : {}, ...e.mappingName !== null ? { mappingName: e.mappingName } : {}, ...e.groupId !== null ? { groupId: e.groupId } : {}, ...Object.keys(t).length > 0 ? { actions: t } : {}, widgets: r }, a = e.defaultValueEntry.kind !== "none", A = (d) => d.map(({ label: l, value: m }) => ({ label: l, value: m })), o; - switch (e.kind) { - case "text": - o = { ...i, kind: "text", ...a ? { defaultValue: e.defaultValue } : {}, ...e.maxLength !== null ? { maxLength: e.maxLength } : {}, multiline: e.multiline, password: e.password, comb: e.comb }; - break; - case "radio": - o = { ...i, kind: "radio", radiosInUnison: e.radiosInUnison, noToggleToOff: e.noToggleToOff }; - break; - case "combobox": - o = { ...i, kind: "combobox", edit: e.edit, options: A(e.options), ...a ? { defaultValue: e.defaultValue } : {} }; - break; - case "listbox": - o = { ...i, kind: "listbox", multiSelect: e.multiSelect, options: A(e.options), ...a ? { defaultValue: e.defaultValue } : {} }; - break; - case "checkbox": - case "pushbutton": - case "signature": - o = { ...i, kind: e.kind }; - break; - default: - throw new f(g.InvalidArg, `import: field ${n} has no family`); - } - let s = L7.safeParse(o); - if (!s.success) { - let d = s.error.issues[0], l = d.path.join("."); - throw new f(g.InvalidArg, `import: field ${n}${l ? ` member '${l}'` : ""}: ${d.message}`, { details: { item: n, ...l ? { field: l } : {} } }); - } - return o; +function _2(e) { + let t = S9(e); + for (let r of t.creates) YF(r.draft, `copy: field ${r.source}`, { item: r.source }); + return t; } -var ht = [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 8226, 8364, 8218, 402, 8222, 8230, 8224, 8225, 710, 8240, 352, 8249, 338, 381, 8216, 8217, 8220, 8221, 8211, 8212, 732, 8482, 353, 8250, 339, 382, 376, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255], A2 = { courier: { ascent: 803, descent: -248, programHash: "955500bf0048e07e3046477b3874ef9e7653010a2bc780bbf27f837d7ca34d19", codePoints: ht, advances: [600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600] }, "courier-bold": { ascent: 811, descent: -248, programHash: "386d8684b075c7ff4911235ae9691d5e9e924fff13fa1f17841c6d4d4f3762e6", codePoints: ht, advances: [600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600] }, "courier-bold-oblique": { ascent: 811, descent: -248, programHash: "d1dae62980ea92bfa86f9e3961a3064e164e41a5064211f2a3a8833643a322a5", codePoints: ht, advances: [600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600] }, "courier-oblique": { ascent: 803, descent: -248, programHash: "d790f273acf84a1afada2cf96a6eb646728a1a6e7afe961a2cc846bb3a501b0b", codePoints: ht, advances: [600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600] }, helvetica: { ascent: 945, descent: -224, programHash: "93fe419ed14bac240018cf4506dbb64643eeeee379c0b51d3c52d239f4adbc58", codePoints: ht, advances: [278, 278, 355, 556, 556, 889, 667, 191, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 278, 278, 584, 584, 584, 556, 1015, 667, 667, 722, 722, 667, 611, 778, 722, 278, 500, 667, 556, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 278, 278, 278, 469, 556, 333, 556, 556, 500, 556, 556, 278, 556, 556, 222, 222, 500, 222, 833, 556, 556, 556, 556, 333, 500, 278, 556, 500, 722, 500, 500, 500, 334, 260, 334, 584, 350, 667, 222, 556, 333, 1e3, 556, 556, 333, 1e3, 667, 333, 1e3, 611, 222, 222, 333, 333, 556, 1e3, 333, 1e3, 500, 366, 944, 500, 667, 333, 556, 556, 556, 556, 260, 556, 333, 737, 370, 612, 584, 737, 333, 400, 584, 333, 333, 333, 556, 537, 278, 333, 333, 365, 612, 834, 834, 834, 611, 667, 667, 667, 667, 667, 667, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 500, 556, 556, 556, 556, 278, 278, 278, 278, 556, 556, 556, 556, 556, 556, 556, 584, 611, 556, 556, 556, 556, 500, 556, 500] }, "helvetica-bold": { ascent: 962, descent: -227, programHash: "f11bf41cf5d115966ee4d954d9d3eab4a7d1b63d371e5d655fc82d15350bc929", codePoints: ht, advances: [278, 333, 474, 556, 556, 889, 722, 238, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 333, 333, 584, 584, 584, 611, 1072, 722, 722, 722, 722, 667, 611, 778, 722, 278, 556, 722, 611, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 333, 278, 333, 584, 556, 333, 556, 611, 556, 611, 556, 333, 611, 611, 278, 278, 556, 278, 889, 611, 611, 611, 611, 389, 556, 333, 611, 556, 778, 556, 556, 500, 389, 280, 389, 584, 350, 722, 278, 556, 500, 1e3, 556, 556, 333, 1e3, 667, 333, 1e3, 611, 278, 278, 500, 500, 556, 1e3, 333, 1e3, 556, 333, 944, 500, 667, 333, 556, 556, 556, 556, 280, 556, 333, 737, 370, 556, 584, 737, 333, 400, 584, 333, 333, 333, 611, 556, 278, 333, 333, 365, 556, 834, 834, 834, 611, 722, 722, 722, 722, 722, 722, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 556, 556, 556, 556, 556, 278, 278, 278, 278, 611, 611, 611, 611, 611, 611, 611, 584, 611, 611, 611, 611, 611, 556, 611, 556] }, "helvetica-bold-oblique": { ascent: 962, descent: -227, programHash: "9cd559e9d134dd6bb8bb75186d4302079e78ebee53a7c9b38dea1fba52a534d8", codePoints: ht, advances: [278, 333, 474, 556, 556, 889, 722, 238, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, 556, 528, 556, 556, 556, 556, 333, 333, 584, 584, 584, 611, 1072, 722, 722, 722, 722, 667, 611, 778, 722, 278, 556, 722, 611, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 333, 278, 333, 584, 556, 333, 556, 611, 556, 611, 556, 333, 611, 611, 278, 278, 556, 278, 889, 611, 611, 611, 611, 389, 556, 333, 611, 556, 778, 556, 556, 500, 389, 280, 389, 584, 350, 722, 278, 556, 500, 1e3, 556, 556, 333, 1e3, 667, 333, 1e3, 611, 278, 278, 500, 500, 556, 1e3, 333, 1e3, 556, 333, 944, 500, 667, 333, 556, 556, 556, 556, 280, 556, 333, 737, 370, 556, 584, 737, 333, 400, 584, 333, 333, 333, 611, 556, 278, 333, 333, 365, 556, 834, 834, 834, 611, 722, 722, 722, 722, 722, 722, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 556, 556, 556, 556, 556, 278, 278, 278, 278, 611, 611, 611, 611, 611, 611, 611, 584, 519, 611, 611, 611, 611, 556, 611, 556] }, "helvetica-oblique": { ascent: 951, descent: -224, programHash: "872e4efa9cc73daff4a3fffa952663f32144db19ec91a8407afc359486eae30b", codePoints: ht, advances: [278, 278, 355, 556, 556, 889, 667, 191, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 278, 278, 584, 584, 584, 556, 1116, 667, 667, 722, 722, 667, 611, 778, 722, 278, 500, 667, 556, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 278, 278, 278, 469, 556, 333, 556, 556, 500, 556, 556, 278, 556, 556, 222, 222, 500, 222, 833, 556, 556, 556, 556, 333, 500, 278, 556, 500, 722, 500, 500, 500, 334, 260, 334, 584, 350, 667, 222, 556, 333, 1e3, 556, 556, 333, 1e3, 667, 350, 1e3, 611, 222, 222, 333, 333, 556, 1e3, 333, 1e3, 500, 333, 944, 500, 667, 333, 556, 556, 556, 556, 260, 556, 333, 737, 370, 556, 584, 737, 333, 400, 584, 333, 333, 333, 556, 537, 278, 333, 333, 365, 556, 834, 834, 834, 611, 667, 667, 667, 667, 667, 667, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 500, 556, 556, 556, 556, 278, 278, 278, 278, 556, 556, 556, 556, 556, 556, 556, 584, 611, 556, 556, 556, 556, 500, 556, 500] }, "times-roman": { ascent: 878, descent: -249, programHash: "7be927a55309ca34d67972ccf041ff3d156d774017022b18131fa365e6dd922e", codePoints: ht, advances: [250, 333, 408, 500, 500, 833, 778, 180, 333, 333, 500, 564, 250, 333, 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 278, 278, 564, 564, 564, 444, 921, 722, 667, 667, 722, 611, 556, 722, 722, 333, 389, 722, 611, 889, 722, 722, 556, 722, 667, 556, 611, 722, 722, 944, 722, 722, 611, 333, 278, 333, 469, 500, 333, 444, 500, 444, 500, 444, 333, 500, 500, 278, 278, 500, 278, 778, 500, 500, 500, 500, 333, 389, 278, 500, 500, 722, 500, 500, 444, 480, 200, 480, 541, 350, 722, 333, 500, 444, 1e3, 500, 500, 333, 1e3, 556, 333, 889, 611, 333, 333, 444, 444, 500, 1e3, 333, 980, 389, 333, 722, 444, 722, 333, 500, 500, 500, 500, 200, 500, 333, 760, 276, 500, 564, 760, 333, 400, 564, 300, 300, 333, 500, 453, 250, 333, 300, 310, 500, 750, 750, 750, 444, 722, 722, 722, 722, 722, 722, 889, 667, 611, 611, 611, 611, 333, 333, 333, 333, 722, 722, 722, 722, 722, 722, 722, 564, 722, 722, 722, 722, 722, 722, 556, 500, 444, 444, 444, 444, 444, 444, 667, 444, 444, 444, 444, 444, 278, 278, 278, 278, 500, 500, 500, 500, 500, 500, 500, 564, 500, 500, 500, 500, 500, 500, 500, 500] }, "times-bold": { ascent: 889, descent: -249, programHash: "f23f2efbfa079f9083d967acf695b10db7c78e39862dbeb4788a4fd0533ff29c", codePoints: ht, advances: [250, 333, 555, 500, 500, 1e3, 833, 278, 333, 333, 500, 570, 250, 333, 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 333, 333, 570, 570, 570, 500, 930, 722, 667, 722, 722, 667, 611, 778, 778, 389, 500, 778, 667, 944, 722, 778, 611, 778, 722, 556, 667, 722, 722, 1e3, 722, 722, 667, 333, 278, 333, 581, 500, 333, 500, 556, 444, 556, 444, 333, 500, 556, 278, 333, 556, 278, 833, 556, 500, 556, 556, 444, 389, 333, 556, 500, 722, 500, 500, 444, 394, 220, 394, 520, 350, 722, 333, 500, 500, 1e3, 500, 500, 333, 1e3, 556, 333, 1e3, 667, 333, 333, 500, 500, 500, 1e3, 333, 1e3, 389, 333, 722, 444, 722, 333, 500, 500, 500, 500, 220, 500, 333, 747, 300, 500, 570, 747, 333, 400, 570, 300, 300, 333, 556, 540, 250, 333, 300, 330, 500, 750, 750, 750, 500, 722, 722, 722, 722, 722, 722, 1e3, 722, 667, 667, 667, 667, 389, 389, 389, 389, 722, 722, 778, 778, 778, 778, 778, 570, 778, 722, 722, 722, 722, 722, 611, 556, 500, 500, 500, 500, 500, 500, 722, 444, 444, 444, 444, 444, 278, 278, 278, 278, 500, 556, 500, 500, 500, 500, 500, 570, 500, 556, 556, 556, 556, 500, 556, 500] }, "times-bold-italic": { ascent: 869, descent: -249, programHash: "cf51fab68d7d965f5755218a7f99b0376bc440e1bb4e90498aef0964aac94490", codePoints: ht, advances: [250, 389, 555, 500, 500, 833, 778, 278, 333, 333, 500, 570, 250, 333, 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 333, 333, 570, 570, 570, 500, 832, 667, 667, 667, 722, 667, 667, 722, 778, 389, 500, 667, 611, 889, 722, 722, 611, 722, 667, 556, 611, 722, 667, 889, 667, 611, 611, 333, 278, 333, 570, 500, 333, 500, 500, 444, 500, 444, 333, 500, 556, 278, 278, 500, 278, 778, 556, 500, 500, 500, 389, 389, 278, 556, 444, 667, 500, 444, 389, 348, 220, 348, 570, 350, 667, 333, 500, 500, 1e3, 500, 500, 333, 1e3, 556, 333, 944, 611, 333, 333, 500, 500, 500, 1e3, 333, 1e3, 389, 333, 722, 389, 611, 389, 500, 500, 500, 500, 220, 500, 333, 747, 266, 500, 606, 747, 333, 400, 570, 300, 300, 333, 576, 500, 250, 333, 300, 300, 500, 750, 750, 750, 500, 667, 667, 667, 667, 667, 667, 944, 667, 667, 667, 667, 667, 389, 389, 389, 389, 722, 722, 722, 722, 722, 722, 722, 570, 722, 722, 722, 722, 722, 611, 611, 500, 500, 500, 500, 500, 500, 500, 722, 444, 444, 444, 444, 444, 278, 278, 278, 278, 500, 556, 500, 500, 500, 500, 500, 570, 500, 556, 556, 556, 556, 444, 500, 444] }, "times-italic": { ascent: 868, descent: -249, programHash: "f405670768d71ff8d8a4e493cbcb9c6deff9565419bf63a38abb544789aa87b4", codePoints: ht, advances: [250, 333, 420, 500, 500, 833, 778, 214, 333, 333, 500, 675, 250, 333, 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 333, 333, 675, 675, 675, 500, 920, 611, 611, 667, 722, 611, 611, 722, 722, 333, 444, 667, 556, 833, 667, 722, 611, 722, 611, 500, 556, 722, 611, 833, 611, 556, 556, 389, 278, 389, 422, 500, 333, 500, 500, 444, 500, 444, 278, 500, 500, 278, 278, 444, 278, 722, 500, 500, 500, 500, 389, 389, 278, 500, 444, 667, 444, 444, 389, 400, 275, 400, 541, 350, 500, 333, 500, 556, 889, 500, 500, 333, 1e3, 500, 333, 944, 556, 333, 333, 556, 556, 500, 889, 333, 980, 389, 333, 667, 389, 556, 389, 500, 500, 500, 500, 275, 500, 333, 760, 276, 500, 675, 760, 333, 400, 675, 300, 300, 333, 500, 523, 250, 333, 300, 310, 500, 750, 750, 750, 500, 611, 611, 611, 611, 611, 611, 889, 667, 611, 611, 611, 611, 333, 333, 333, 333, 722, 667, 722, 722, 722, 722, 722, 675, 722, 722, 722, 722, 722, 556, 611, 500, 500, 500, 500, 500, 500, 500, 667, 444, 444, 444, 444, 444, 278, 278, 278, 278, 500, 500, 500, 500, 500, 500, 500, 675, 500, 500, 500, 500, 500, 444, 500, 444] }, symbol: { ascent: 1010, descent: -293, programHash: "1f027bd5b336f563724a2cba62295329edbb3df7ca9efbe8f296d7a1e86849a1", codePoints: [32, 33, 8704, 35, 8707, 37, 38, 8715, 40, 41, 8727, 43, 44, 8722, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 8773, 913, 914, 935, 916, 917, 934, 915, 919, 921, 977, 922, 923, 924, 925, 927, 928, 920, 929, 931, 932, 933, 962, 937, 926, 936, 918, 91, 8756, 93, 8869, 95, 63717, 945, 946, 967, 948, 949, 966, 947, 951, 953, 981, 954, 955, 956, 957, 959, 960, 952, 961, 963, 964, 965, 982, 969, 958, 968, 950, 123, 124, 125, 8764, 8364, 978, 8242, 8804, 8260, 8734, 402, 9827, 9830, 9829, 9824, 8596, 8592, 8593, 8594, 8595, 176, 177, 8243, 8805, 215, 8733, 8706, 8226, 247, 8800, 8801, 8776, 8230, 63718, 63719, 8629, 8501, 8465, 8476, 8472, 8855, 8853, 8709, 8745, 8746, 8835, 8839, 8836, 8834, 8838, 8712, 8713, 8736, 8711, 63194, 63193, 63195, 8719, 8730, 8901, 172, 8743, 8744, 8660, 8656, 8657, 8658, 8659, 9674, 9001, 63720, 63721, 63722, 8721, 63723, 63724, 63725, 63726, 63727, 63728, 63729, 63730, 63731, 63732, 9002, 8747, 8992, 63733, 8993, 63734, 63735, 63736, 63737, 63738, 63739, 63740, 63741, 63742], advances: [250, 333, 713, 500, 549, 833, 778, 439, 333, 333, 500, 549, 250, 549, 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 278, 278, 549, 549, 549, 444, 549, 722, 667, 722, 612, 611, 763, 603, 722, 333, 631, 722, 686, 889, 722, 722, 768, 741, 556, 592, 611, 690, 439, 768, 645, 795, 611, 333, 863, 333, 658, 500, 500, 631, 549, 549, 494, 439, 521, 411, 603, 329, 603, 549, 549, 576, 521, 549, 549, 521, 549, 603, 439, 576, 713, 686, 493, 686, 494, 480, 200, 480, 549, 750, 620, 247, 549, 167, 713, 500, 753, 753, 753, 753, 1042, 987, 603, 987, 603, 400, 549, 411, 549, 549, 713, 494, 460, 549, 549, 549, 549, 1e3, 603, 1e3, 658, 823, 686, 795, 987, 768, 768, 823, 768, 768, 713, 713, 713, 713, 713, 713, 713, 768, 713, 790, 790, 890, 823, 549, 250, 713, 603, 603, 1042, 987, 603, 987, 603, 494, 329, 790, 790, 786, 713, 384, 384, 384, 384, 384, 384, 494, 494, 494, 494, 329, 274, 686, 686, 686, 384, 384, 384, 384, 384, 384, 494, 494, 494] }, "zapf-dingbats": { ascent: 826, descent: -163, programHash: "0439c04b1c3ba23c2fd8c2f4a5f2c65b2b0f817588c45afd5c06a41eab70bfbd", codePoints: [32, 9985, 9986, 9987, 9988, 9742, 9990, 9991, 9992, 9993, 9755, 9758, 9996, 9997, 9998, 9999, 1e4, 10001, 10002, 10003, 10004, 10005, 10006, 10007, 10008, 10009, 10010, 10011, 10012, 10013, 10014, 10015, 10016, 10017, 10018, 10019, 10020, 10021, 10022, 10023, 9733, 10025, 10026, 10027, 10028, 10029, 10030, 10031, 10032, 10033, 10034, 10035, 10036, 10037, 10038, 10039, 10040, 10041, 10042, 10043, 10044, 10045, 10046, 10047, 10048, 10049, 10050, 10051, 10052, 10053, 10054, 10055, 10056, 10057, 10058, 10059, 9679, 10061, 9632, 10063, 10064, 10065, 10066, 9650, 9660, 9670, 10070, 9687, 10072, 10073, 10074, 10075, 10076, 10077, 10078, 10081, 10082, 10083, 10084, 10085, 10086, 10087, 9827, 9830, 9829, 9824, 9312, 9313, 9314, 9315, 9316, 9317, 9318, 9319, 9320, 9321, 10102, 10103, 10104, 10105, 10106, 10107, 10108, 10109, 10110, 10111, 10112, 10113, 10114, 10115, 10116, 10117, 10118, 10119, 10120, 10121, 10122, 10123, 10124, 10125, 10126, 10127, 10128, 10129, 10130, 10131, 10132, 8594, 8596, 8597, 10136, 10137, 10138, 10139, 10140, 10141, 10142, 10143, 10144, 10145, 10146, 10147, 10148, 10149, 10150, 10151, 10152, 10153, 10154, 10155, 10156, 10157, 10158, 10159, 10161, 10162, 10163, 10164, 10165, 10166, 10167, 10168, 10169, 10170, 10171, 10172, 10173, 10174], advances: [278, 974, 961, 974, 980, 719, 789, 790, 791, 690, 960, 939, 549, 855, 911, 933, 911, 945, 974, 755, 846, 762, 761, 571, 677, 763, 760, 759, 754, 494, 552, 537, 577, 692, 786, 788, 788, 790, 793, 794, 816, 823, 789, 841, 823, 833, 816, 831, 923, 744, 723, 749, 790, 792, 695, 776, 768, 792, 759, 707, 708, 682, 701, 826, 815, 789, 789, 707, 687, 696, 689, 786, 787, 713, 791, 785, 791, 873, 761, 762, 762, 759, 759, 892, 892, 788, 784, 438, 138, 277, 415, 392, 392, 668, 668, 732, 544, 544, 910, 667, 760, 760, 776, 595, 694, 626, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 894, 838, 1016, 458, 748, 924, 748, 918, 927, 928, 928, 834, 873, 828, 924, 924, 917, 930, 931, 463, 883, 836, 836, 867, 867, 696, 696, 874, 874, 760, 946, 771, 865, 771, 888, 967, 888, 831, 873, 927, 970, 918] } }, o2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", Li = new Uint8Array(128); -for (let e = 0; e < 64; e += 1) Li[o2.charCodeAt(e)] = e; -function yF(e) { +var Bt = [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 8226, 8364, 8218, 402, 8222, 8230, 8224, 8225, 710, 8240, 352, 8249, 338, 381, 8216, 8217, 8220, 8221, 8211, 8212, 732, 8482, 353, 8250, 339, 382, 376, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255], H2 = { courier: { ascent: 803, descent: -248, programHash: "955500bf0048e07e3046477b3874ef9e7653010a2bc780bbf27f837d7ca34d19", codePoints: Bt, advances: [600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600] }, "courier-bold": { ascent: 811, descent: -248, programHash: "386d8684b075c7ff4911235ae9691d5e9e924fff13fa1f17841c6d4d4f3762e6", codePoints: Bt, advances: [600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600] }, "courier-bold-oblique": { ascent: 811, descent: -248, programHash: "d1dae62980ea92bfa86f9e3961a3064e164e41a5064211f2a3a8833643a322a5", codePoints: Bt, advances: [600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600] }, "courier-oblique": { ascent: 803, descent: -248, programHash: "d790f273acf84a1afada2cf96a6eb646728a1a6e7afe961a2cc846bb3a501b0b", codePoints: Bt, advances: [600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600] }, helvetica: { ascent: 945, descent: -224, programHash: "93fe419ed14bac240018cf4506dbb64643eeeee379c0b51d3c52d239f4adbc58", codePoints: Bt, advances: [278, 278, 355, 556, 556, 889, 667, 191, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 278, 278, 584, 584, 584, 556, 1015, 667, 667, 722, 722, 667, 611, 778, 722, 278, 500, 667, 556, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 278, 278, 278, 469, 556, 333, 556, 556, 500, 556, 556, 278, 556, 556, 222, 222, 500, 222, 833, 556, 556, 556, 556, 333, 500, 278, 556, 500, 722, 500, 500, 500, 334, 260, 334, 584, 350, 667, 222, 556, 333, 1e3, 556, 556, 333, 1e3, 667, 333, 1e3, 611, 222, 222, 333, 333, 556, 1e3, 333, 1e3, 500, 366, 944, 500, 667, 333, 556, 556, 556, 556, 260, 556, 333, 737, 370, 612, 584, 737, 333, 400, 584, 333, 333, 333, 556, 537, 278, 333, 333, 365, 612, 834, 834, 834, 611, 667, 667, 667, 667, 667, 667, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 500, 556, 556, 556, 556, 278, 278, 278, 278, 556, 556, 556, 556, 556, 556, 556, 584, 611, 556, 556, 556, 556, 500, 556, 500] }, "helvetica-bold": { ascent: 962, descent: -227, programHash: "f11bf41cf5d115966ee4d954d9d3eab4a7d1b63d371e5d655fc82d15350bc929", codePoints: Bt, advances: [278, 333, 474, 556, 556, 889, 722, 238, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 333, 333, 584, 584, 584, 611, 1072, 722, 722, 722, 722, 667, 611, 778, 722, 278, 556, 722, 611, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 333, 278, 333, 584, 556, 333, 556, 611, 556, 611, 556, 333, 611, 611, 278, 278, 556, 278, 889, 611, 611, 611, 611, 389, 556, 333, 611, 556, 778, 556, 556, 500, 389, 280, 389, 584, 350, 722, 278, 556, 500, 1e3, 556, 556, 333, 1e3, 667, 333, 1e3, 611, 278, 278, 500, 500, 556, 1e3, 333, 1e3, 556, 333, 944, 500, 667, 333, 556, 556, 556, 556, 280, 556, 333, 737, 370, 556, 584, 737, 333, 400, 584, 333, 333, 333, 611, 556, 278, 333, 333, 365, 556, 834, 834, 834, 611, 722, 722, 722, 722, 722, 722, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 556, 556, 556, 556, 556, 278, 278, 278, 278, 611, 611, 611, 611, 611, 611, 611, 584, 611, 611, 611, 611, 611, 556, 611, 556] }, "helvetica-bold-oblique": { ascent: 962, descent: -227, programHash: "9cd559e9d134dd6bb8bb75186d4302079e78ebee53a7c9b38dea1fba52a534d8", codePoints: Bt, advances: [278, 333, 474, 556, 556, 889, 722, 238, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, 556, 528, 556, 556, 556, 556, 333, 333, 584, 584, 584, 611, 1072, 722, 722, 722, 722, 667, 611, 778, 722, 278, 556, 722, 611, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 333, 278, 333, 584, 556, 333, 556, 611, 556, 611, 556, 333, 611, 611, 278, 278, 556, 278, 889, 611, 611, 611, 611, 389, 556, 333, 611, 556, 778, 556, 556, 500, 389, 280, 389, 584, 350, 722, 278, 556, 500, 1e3, 556, 556, 333, 1e3, 667, 333, 1e3, 611, 278, 278, 500, 500, 556, 1e3, 333, 1e3, 556, 333, 944, 500, 667, 333, 556, 556, 556, 556, 280, 556, 333, 737, 370, 556, 584, 737, 333, 400, 584, 333, 333, 333, 611, 556, 278, 333, 333, 365, 556, 834, 834, 834, 611, 722, 722, 722, 722, 722, 722, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 556, 556, 556, 556, 556, 278, 278, 278, 278, 611, 611, 611, 611, 611, 611, 611, 584, 519, 611, 611, 611, 611, 556, 611, 556] }, "helvetica-oblique": { ascent: 951, descent: -224, programHash: "872e4efa9cc73daff4a3fffa952663f32144db19ec91a8407afc359486eae30b", codePoints: Bt, advances: [278, 278, 355, 556, 556, 889, 667, 191, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 278, 278, 584, 584, 584, 556, 1116, 667, 667, 722, 722, 667, 611, 778, 722, 278, 500, 667, 556, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 278, 278, 278, 469, 556, 333, 556, 556, 500, 556, 556, 278, 556, 556, 222, 222, 500, 222, 833, 556, 556, 556, 556, 333, 500, 278, 556, 500, 722, 500, 500, 500, 334, 260, 334, 584, 350, 667, 222, 556, 333, 1e3, 556, 556, 333, 1e3, 667, 350, 1e3, 611, 222, 222, 333, 333, 556, 1e3, 333, 1e3, 500, 333, 944, 500, 667, 333, 556, 556, 556, 556, 260, 556, 333, 737, 370, 556, 584, 737, 333, 400, 584, 333, 333, 333, 556, 537, 278, 333, 333, 365, 556, 834, 834, 834, 611, 667, 667, 667, 667, 667, 667, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778, 778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 500, 556, 556, 556, 556, 278, 278, 278, 278, 556, 556, 556, 556, 556, 556, 556, 584, 611, 556, 556, 556, 556, 500, 556, 500] }, "times-roman": { ascent: 878, descent: -249, programHash: "7be927a55309ca34d67972ccf041ff3d156d774017022b18131fa365e6dd922e", codePoints: Bt, advances: [250, 333, 408, 500, 500, 833, 778, 180, 333, 333, 500, 564, 250, 333, 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 278, 278, 564, 564, 564, 444, 921, 722, 667, 667, 722, 611, 556, 722, 722, 333, 389, 722, 611, 889, 722, 722, 556, 722, 667, 556, 611, 722, 722, 944, 722, 722, 611, 333, 278, 333, 469, 500, 333, 444, 500, 444, 500, 444, 333, 500, 500, 278, 278, 500, 278, 778, 500, 500, 500, 500, 333, 389, 278, 500, 500, 722, 500, 500, 444, 480, 200, 480, 541, 350, 722, 333, 500, 444, 1e3, 500, 500, 333, 1e3, 556, 333, 889, 611, 333, 333, 444, 444, 500, 1e3, 333, 980, 389, 333, 722, 444, 722, 333, 500, 500, 500, 500, 200, 500, 333, 760, 276, 500, 564, 760, 333, 400, 564, 300, 300, 333, 500, 453, 250, 333, 300, 310, 500, 750, 750, 750, 444, 722, 722, 722, 722, 722, 722, 889, 667, 611, 611, 611, 611, 333, 333, 333, 333, 722, 722, 722, 722, 722, 722, 722, 564, 722, 722, 722, 722, 722, 722, 556, 500, 444, 444, 444, 444, 444, 444, 667, 444, 444, 444, 444, 444, 278, 278, 278, 278, 500, 500, 500, 500, 500, 500, 500, 564, 500, 500, 500, 500, 500, 500, 500, 500] }, "times-bold": { ascent: 889, descent: -249, programHash: "f23f2efbfa079f9083d967acf695b10db7c78e39862dbeb4788a4fd0533ff29c", codePoints: Bt, advances: [250, 333, 555, 500, 500, 1e3, 833, 278, 333, 333, 500, 570, 250, 333, 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 333, 333, 570, 570, 570, 500, 930, 722, 667, 722, 722, 667, 611, 778, 778, 389, 500, 778, 667, 944, 722, 778, 611, 778, 722, 556, 667, 722, 722, 1e3, 722, 722, 667, 333, 278, 333, 581, 500, 333, 500, 556, 444, 556, 444, 333, 500, 556, 278, 333, 556, 278, 833, 556, 500, 556, 556, 444, 389, 333, 556, 500, 722, 500, 500, 444, 394, 220, 394, 520, 350, 722, 333, 500, 500, 1e3, 500, 500, 333, 1e3, 556, 333, 1e3, 667, 333, 333, 500, 500, 500, 1e3, 333, 1e3, 389, 333, 722, 444, 722, 333, 500, 500, 500, 500, 220, 500, 333, 747, 300, 500, 570, 747, 333, 400, 570, 300, 300, 333, 556, 540, 250, 333, 300, 330, 500, 750, 750, 750, 500, 722, 722, 722, 722, 722, 722, 1e3, 722, 667, 667, 667, 667, 389, 389, 389, 389, 722, 722, 778, 778, 778, 778, 778, 570, 778, 722, 722, 722, 722, 722, 611, 556, 500, 500, 500, 500, 500, 500, 722, 444, 444, 444, 444, 444, 278, 278, 278, 278, 500, 556, 500, 500, 500, 500, 500, 570, 500, 556, 556, 556, 556, 500, 556, 500] }, "times-bold-italic": { ascent: 869, descent: -249, programHash: "cf51fab68d7d965f5755218a7f99b0376bc440e1bb4e90498aef0964aac94490", codePoints: Bt, advances: [250, 389, 555, 500, 500, 833, 778, 278, 333, 333, 500, 570, 250, 333, 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 333, 333, 570, 570, 570, 500, 832, 667, 667, 667, 722, 667, 667, 722, 778, 389, 500, 667, 611, 889, 722, 722, 611, 722, 667, 556, 611, 722, 667, 889, 667, 611, 611, 333, 278, 333, 570, 500, 333, 500, 500, 444, 500, 444, 333, 500, 556, 278, 278, 500, 278, 778, 556, 500, 500, 500, 389, 389, 278, 556, 444, 667, 500, 444, 389, 348, 220, 348, 570, 350, 667, 333, 500, 500, 1e3, 500, 500, 333, 1e3, 556, 333, 944, 611, 333, 333, 500, 500, 500, 1e3, 333, 1e3, 389, 333, 722, 389, 611, 389, 500, 500, 500, 500, 220, 500, 333, 747, 266, 500, 606, 747, 333, 400, 570, 300, 300, 333, 576, 500, 250, 333, 300, 300, 500, 750, 750, 750, 500, 667, 667, 667, 667, 667, 667, 944, 667, 667, 667, 667, 667, 389, 389, 389, 389, 722, 722, 722, 722, 722, 722, 722, 570, 722, 722, 722, 722, 722, 611, 611, 500, 500, 500, 500, 500, 500, 500, 722, 444, 444, 444, 444, 444, 278, 278, 278, 278, 500, 556, 500, 500, 500, 500, 500, 570, 500, 556, 556, 556, 556, 444, 500, 444] }, "times-italic": { ascent: 868, descent: -249, programHash: "f405670768d71ff8d8a4e493cbcb9c6deff9565419bf63a38abb544789aa87b4", codePoints: Bt, advances: [250, 333, 420, 500, 500, 833, 778, 214, 333, 333, 500, 675, 250, 333, 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 333, 333, 675, 675, 675, 500, 920, 611, 611, 667, 722, 611, 611, 722, 722, 333, 444, 667, 556, 833, 667, 722, 611, 722, 611, 500, 556, 722, 611, 833, 611, 556, 556, 389, 278, 389, 422, 500, 333, 500, 500, 444, 500, 444, 278, 500, 500, 278, 278, 444, 278, 722, 500, 500, 500, 500, 389, 389, 278, 500, 444, 667, 444, 444, 389, 400, 275, 400, 541, 350, 500, 333, 500, 556, 889, 500, 500, 333, 1e3, 500, 333, 944, 556, 333, 333, 556, 556, 500, 889, 333, 980, 389, 333, 667, 389, 556, 389, 500, 500, 500, 500, 275, 500, 333, 760, 276, 500, 675, 760, 333, 400, 675, 300, 300, 333, 500, 523, 250, 333, 300, 310, 500, 750, 750, 750, 500, 611, 611, 611, 611, 611, 611, 889, 667, 611, 611, 611, 611, 333, 333, 333, 333, 722, 667, 722, 722, 722, 722, 722, 675, 722, 722, 722, 722, 722, 556, 611, 500, 500, 500, 500, 500, 500, 500, 667, 444, 444, 444, 444, 444, 278, 278, 278, 278, 500, 500, 500, 500, 500, 500, 500, 675, 500, 500, 500, 500, 500, 444, 500, 444] }, symbol: { ascent: 1010, descent: -293, programHash: "1f027bd5b336f563724a2cba62295329edbb3df7ca9efbe8f296d7a1e86849a1", codePoints: [32, 33, 8704, 35, 8707, 37, 38, 8715, 40, 41, 8727, 43, 44, 8722, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 8773, 913, 914, 935, 916, 917, 934, 915, 919, 921, 977, 922, 923, 924, 925, 927, 928, 920, 929, 931, 932, 933, 962, 937, 926, 936, 918, 91, 8756, 93, 8869, 95, 63717, 945, 946, 967, 948, 949, 966, 947, 951, 953, 981, 954, 955, 956, 957, 959, 960, 952, 961, 963, 964, 965, 982, 969, 958, 968, 950, 123, 124, 125, 8764, 8364, 978, 8242, 8804, 8260, 8734, 402, 9827, 9830, 9829, 9824, 8596, 8592, 8593, 8594, 8595, 176, 177, 8243, 8805, 215, 8733, 8706, 8226, 247, 8800, 8801, 8776, 8230, 63718, 63719, 8629, 8501, 8465, 8476, 8472, 8855, 8853, 8709, 8745, 8746, 8835, 8839, 8836, 8834, 8838, 8712, 8713, 8736, 8711, 63194, 63193, 63195, 8719, 8730, 8901, 172, 8743, 8744, 8660, 8656, 8657, 8658, 8659, 9674, 9001, 63720, 63721, 63722, 8721, 63723, 63724, 63725, 63726, 63727, 63728, 63729, 63730, 63731, 63732, 9002, 8747, 8992, 63733, 8993, 63734, 63735, 63736, 63737, 63738, 63739, 63740, 63741, 63742], advances: [250, 333, 713, 500, 549, 833, 778, 439, 333, 333, 500, 549, 250, 549, 250, 278, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 278, 278, 549, 549, 549, 444, 549, 722, 667, 722, 612, 611, 763, 603, 722, 333, 631, 722, 686, 889, 722, 722, 768, 741, 556, 592, 611, 690, 439, 768, 645, 795, 611, 333, 863, 333, 658, 500, 500, 631, 549, 549, 494, 439, 521, 411, 603, 329, 603, 549, 549, 576, 521, 549, 549, 521, 549, 603, 439, 576, 713, 686, 493, 686, 494, 480, 200, 480, 549, 750, 620, 247, 549, 167, 713, 500, 753, 753, 753, 753, 1042, 987, 603, 987, 603, 400, 549, 411, 549, 549, 713, 494, 460, 549, 549, 549, 549, 1e3, 603, 1e3, 658, 823, 686, 795, 987, 768, 768, 823, 768, 768, 713, 713, 713, 713, 713, 713, 713, 768, 713, 790, 790, 890, 823, 549, 250, 713, 603, 603, 1042, 987, 603, 987, 603, 494, 329, 790, 790, 786, 713, 384, 384, 384, 384, 384, 384, 494, 494, 494, 494, 329, 274, 686, 686, 686, 384, 384, 384, 384, 384, 384, 494, 494, 494] }, "zapf-dingbats": { ascent: 826, descent: -163, programHash: "0439c04b1c3ba23c2fd8c2f4a5f2c65b2b0f817588c45afd5c06a41eab70bfbd", codePoints: [32, 9985, 9986, 9987, 9988, 9742, 9990, 9991, 9992, 9993, 9755, 9758, 9996, 9997, 9998, 9999, 1e4, 10001, 10002, 10003, 10004, 10005, 10006, 10007, 10008, 10009, 10010, 10011, 10012, 10013, 10014, 10015, 10016, 10017, 10018, 10019, 10020, 10021, 10022, 10023, 9733, 10025, 10026, 10027, 10028, 10029, 10030, 10031, 10032, 10033, 10034, 10035, 10036, 10037, 10038, 10039, 10040, 10041, 10042, 10043, 10044, 10045, 10046, 10047, 10048, 10049, 10050, 10051, 10052, 10053, 10054, 10055, 10056, 10057, 10058, 10059, 9679, 10061, 9632, 10063, 10064, 10065, 10066, 9650, 9660, 9670, 10070, 9687, 10072, 10073, 10074, 10075, 10076, 10077, 10078, 10081, 10082, 10083, 10084, 10085, 10086, 10087, 9827, 9830, 9829, 9824, 9312, 9313, 9314, 9315, 9316, 9317, 9318, 9319, 9320, 9321, 10102, 10103, 10104, 10105, 10106, 10107, 10108, 10109, 10110, 10111, 10112, 10113, 10114, 10115, 10116, 10117, 10118, 10119, 10120, 10121, 10122, 10123, 10124, 10125, 10126, 10127, 10128, 10129, 10130, 10131, 10132, 8594, 8596, 8597, 10136, 10137, 10138, 10139, 10140, 10141, 10142, 10143, 10144, 10145, 10146, 10147, 10148, 10149, 10150, 10151, 10152, 10153, 10154, 10155, 10156, 10157, 10158, 10159, 10161, 10162, 10163, 10164, 10165, 10166, 10167, 10168, 10169, 10170, 10171, 10172, 10173, 10174], advances: [278, 974, 961, 974, 980, 719, 789, 790, 791, 690, 960, 939, 549, 855, 911, 933, 911, 945, 974, 755, 846, 762, 761, 571, 677, 763, 760, 759, 754, 494, 552, 537, 577, 692, 786, 788, 788, 790, 793, 794, 816, 823, 789, 841, 823, 833, 816, 831, 923, 744, 723, 749, 790, 792, 695, 776, 768, 792, 759, 707, 708, 682, 701, 826, 815, 789, 789, 707, 687, 696, 689, 786, 787, 713, 791, 785, 791, 873, 761, 762, 762, 759, 759, 892, 892, 788, 784, 438, 138, 277, 415, 392, 392, 668, 668, 732, 544, 544, 910, 667, 760, 760, 776, 595, 694, 626, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 788, 894, 838, 1016, 458, 748, 924, 748, 918, 927, 928, 928, 834, 873, 828, 924, 924, 917, 930, 931, 463, 883, 836, 836, 867, 867, 696, 696, 874, 874, 760, 946, 771, 865, 771, 888, 967, 888, 831, 873, 927, 970, 918] } }, I2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", Ki = new Uint8Array(128); +for (let e = 0; e < 64; e += 1) Ki[I2.charCodeAt(e)] = e; +function XF(e) { let t = e.endsWith("==") ? 2 : e.endsWith("=") ? 1 : 0, r = new Uint8Array(e.length / 4 * 3 - t), n = 0; for (let i = 0; i < e.length; i += 4) { - let a = Li[e.charCodeAt(i)] << 18 | Li[e.charCodeAt(i + 1)] << 12 | Li[e.charCodeAt(i + 2)] << 6 | Li[e.charCodeAt(i + 3)]; + let a = Ki[e.charCodeAt(i)] << 18 | Ki[e.charCodeAt(i + 1)] << 12 | Ki[e.charCodeAt(i + 2)] << 6 | Ki[e.charCodeAt(i + 3)]; n < r.length && (r[n++] = a >> 16), n < r.length && (r[n++] = a >> 8 & 255), n < r.length && (r[n++] = a & 255); } return r; } -var s2 = { courier: () => Promise.resolve().then(() => (OB(), ub)), "courier-bold": () => Promise.resolve().then(() => (MB(), wb)), "courier-bold-oblique": () => Promise.resolve().then(() => (jB(), gb)), "courier-oblique": () => Promise.resolve().then(() => (RB(), Fb)), helvetica: () => Promise.resolve().then(() => (LB(), Pb)), "helvetica-bold": () => Promise.resolve().then(() => (TB(), kb)), "helvetica-bold-oblique": () => Promise.resolve().then(() => (KB(), Db)), "helvetica-oblique": () => Promise.resolve().then(() => (NB(), Eb)), "times-roman": () => Promise.resolve().then(() => (VB(), Cb)), "times-bold": () => Promise.resolve().then(() => (YB(), _b)), "times-bold-italic": () => Promise.resolve().then(() => (XB(), Ib)), "times-italic": () => Promise.resolve().then(() => (WB(), Sb)), symbol: () => Promise.resolve().then(() => (UB(), Mb)), "zapf-dingbats": () => Promise.resolve().then(() => (qB(), Rb)) }, c2 = (e) => `epdf-${e.slice(0, 16)}`, xm = /* @__PURE__ */ new Map(); -function d2(e) { - let t = xm.get(e); +var Q2 = { courier: () => Promise.resolve().then(() => (pD(), Gb)), "courier-bold": () => Promise.resolve().then(() => (uD(), xb)), "courier-bold-oblique": () => Promise.resolve().then(() => (lD(), Hb)), "courier-oblique": () => Promise.resolve().then(() => (mD(), Qb)), helvetica: () => Promise.resolve().then(() => (wD(), Ob)), "helvetica-bold": () => Promise.resolve().then(() => (bD(), jb)), "helvetica-bold-oblique": () => Promise.resolve().then(() => (gD(), Lb)), "helvetica-oblique": () => Promise.resolve().then(() => (fD(), Kb)), "times-roman": () => Promise.resolve().then(() => (FD(), Vb)), "times-bold": () => Promise.resolve().then(() => (vD(), Xb)), "times-bold-italic": () => Promise.resolve().then(() => (PD(), Ub)), "times-italic": () => Promise.resolve().then(() => (hD(), Zb)), symbol: () => Promise.resolve().then(() => (kD(), Jb)), "zapf-dingbats": () => Promise.resolve().then(() => (BD(), eg)) }, S2 = (e) => `epdf-${e.slice(0, 16)}`, Xm = /* @__PURE__ */ new Map(); +function O2(e) { + let t = Xm.get(e); if (t) return t; - let r = A2[e].programHash, n = null, i = { hash: r, family: c2(r), weight: Ur[e].weight, style: Ur[e].italic ? "italic" : "normal", load: () => { + let r = H2[e].programHash, n = null, i = { hash: r, family: S2(r), weight: Jr[e].weight, style: Jr[e].italic ? "italic" : "normal", load: () => { if (!n) { - let a = s2[e]().then((A) => yF(A.default)); + let a = Q2[e]().then((A) => XF(A.default)); a.catch(() => { n === a && (n = null); }), n = a; } return n; } }; - return xm.set(e, i), i; + return Xm.set(e, i), i; } -var p2 = "e9d14973462069b4906f8d22a9aaec2d6ec9eb02ac31d697631783316d8b8768", l2 = "AAEAAAAKAIAAAwAgT1MvMlUTUmMAAACsAAAAYGNtYXAAIrhhAAABDAAAADRnbHlmBX0EwQAAAUAAAAA4aGVhZGHSQ6EAAAF4AAAANmhoZWEFogH3AAABsAAAACRobXR4BRQAPAAAAdQAAAAIbG9jYQAcAAAAAAHcAAAABm1heHAABQAKAAAB5AAAACBuYW1lLeJOdAAAAgQAAAI6cG9zdP+fADIAAARAAAAAIAAEArwBkAAFAQACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFUERGAMAAIP//AyD/OAAAAyAAyAAAAAAAAAAAAfQCvAAAACAAAQAAAAEAAwAKAAAADAANAAAAAAAoAAAAAAAAAAIAAAAgAADX/wAAAAEAAOAAABD//wAAAAEAAgA8AAACgAK8AAMABwAAAQEBAQEBAQEAPAAAAkQAAP/EAAD+NAAAAAACvAAA/UQAPAJEAAD9vAABAAAAAQAAu91Pc18PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAAA8AAACgAK8AAAACAACAAAAAAAAAAEAAAMg/zgAAAK8AAAAAAKAAAEAAAAAAAAAAAAAAAAAAAACAlgAAAK8ADwAAAAAABwAAAABAAAAAgAIAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACQByAAMAAQQJAAAANgAAAAMAAQQJAAEAKAA2AAMAAQQJAAIADgBeAAMAAQQJAAMANABsAAMAAQQJAAQAKACgAAMAAQQJAAUAGgDIAAMAAQQJAAYANADiAAMAAQQJAA0AXAEWAAMAAQQJAA4AVgFyAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADIANgAgAEMAbABvAHUAZABQAEQARgAgAEwAVABEAEUAbQBiAGUAZABQAEQARgAgAEwAYQBzAHQAIABSAGUAcwBvAHIAdABSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBMAGEAcwB0AFIAZQBzAG8AcgB0AC0AUgBlAGcAdQBsAGEAcgBFAG0AYgBlAGQAUABEAEYAIABMAGEAcwB0ACAAUgBlAHMAbwByAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYATABhAHMAdABSAGUAcwBvAHIAdAAtAFIAZQBnAHUAbABhAHIATABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMABoAHQAdABwAHMAOgAvAC8AdwB3AHcALgBhAHAAYQBjAGgAZQAuAG8AcgBnAC8AbABpAGMAZQBuAHMAZQBzAC8ATABJAEMARQBOAFMARQAtADIALgAwAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="; -function u2() { - return yF(l2); +var M2 = "e9d14973462069b4906f8d22a9aaec2d6ec9eb02ac31d697631783316d8b8768", j2 = "AAEAAAAKAIAAAwAgT1MvMlUTUmMAAACsAAAAYGNtYXAAIrhhAAABDAAAADRnbHlmBX0EwQAAAUAAAAA4aGVhZGHSQ6EAAAF4AAAANmhoZWEFogH3AAABsAAAACRobXR4BRQAPAAAAdQAAAAIbG9jYQAcAAAAAAHcAAAABm1heHAABQAKAAAB5AAAACBuYW1lLeJOdAAAAgQAAAI6cG9zdP+fADIAAARAAAAAIAAEArwBkAAFAQACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFUERGAMAAIP//AyD/OAAAAyAAyAAAAAAAAAAAAfQCvAAAACAAAQAAAAEAAwAKAAAADAANAAAAAAAoAAAAAAAAAAIAAAAgAADX/wAAAAEAAOAAABD//wAAAAEAAgA8AAACgAK8AAMABwAAAQEBAQEBAQEAPAAAAkQAAP/EAAD+NAAAAAACvAAA/UQAPAJEAAD9vAABAAAAAQAAu91Pc18PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAAA8AAACgAK8AAAACAACAAAAAAAAAAEAAAMg/zgAAAK8AAAAAAKAAAEAAAAAAAAAAAAAAAAAAAACAlgAAAK8ADwAAAAAABwAAAABAAAAAgAIAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACQByAAMAAQQJAAAANgAAAAMAAQQJAAEAKAA2AAMAAQQJAAIADgBeAAMAAQQJAAMANABsAAMAAQQJAAQAKACgAAMAAQQJAAUAGgDIAAMAAQQJAAYANADiAAMAAQQJAA0AXAEWAAMAAQQJAA4AVgFyAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADIANgAgAEMAbABvAHUAZABQAEQARgAgAEwAVABEAEUAbQBiAGUAZABQAEQARgAgAEwAYQBzAHQAIABSAGUAcwBvAHIAdABSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBMAGEAcwB0AFIAZQBzAG8AcgB0AC0AUgBlAGcAdQBsAGEAcgBFAG0AYgBlAGQAUABEAEYAIABMAGEAcwB0ACAAUgBlAHMAbwByAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYATABhAHMAdABSAGUAcwBvAHIAdAAtAFIAZQBnAHUAbABhAHIATABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMABoAHQAdABwAHMAOgAvAC8AdwB3AHcALgBhAHAAYQBjAGgAZQAuAG8AcgBnAC8AbABpAGMAZQBuAHMAZQBzAC8ATABJAEMARQBOAFMARQAtADIALgAwAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="; +function R2() { + return XF(j2); } -var m2 = { standardDisplayHash: (e) => d2(e).hash, lastResortDisplayHash: p2 }, go = /* @__PURE__ */ new WeakSet(); -function EF(e) { - go.has(e) || (e.fn.EPDF_InitThread(), go.add(e)); +var L2 = { standardDisplayHash: (e) => O2(e).hash, lastResortDisplayHash: M2 }, ho = /* @__PURE__ */ new WeakSet(); +function WF(e) { + ho.has(e) || (e.fn.EPDF_InitThread(), ho.add(e)); } -function w2(e) { - go.has(e) && (e.fn.EPDF_ShutdownThread(), go.delete(e)); +function T2(e) { + ho.has(e) && (e.fn.EPDF_ShutdownThread(), ho.delete(e)); } function S(e) { if (e.aborted) { let t = e.reason; - throw t instanceof Error ? t : new bg(t); + throw t instanceof Error ? t : new Hg(t); } } -function _n(e) { +function In(e) { let t = /^(?:D:)?(\d{4})(\d{2})?(\d{2})?(\d{2})?(\d{2})?(\d{2})?(?:([Zz])(?:00'?00'?)?|([+-])(\d{2})(?:'?(\d{2})'?)?)?$/.exec(e.trim()); if (!t) return null; - let [, r, n = "01", i = "01", a = "00", A = "00", o = "00"] = t, [, , , , , , , s, d, l, m = "00"] = t; - if (!GF({ year: r, month: n, day: i, hour: a, minute: A, second: o })) return null; + let [, r, n = "01", i = "01", a = "00", A = "00", o = "00"] = t, [, , , , , , , s, d, u, m = "00"] = t; + if (!UF({ year: r, month: n, day: i, hour: a, minute: A, second: o })) return null; let F = ""; if (s) F = "Z"; else if (d) { - if (Number(l) > 23 || Number(m) > 59) return null; - F = Number(l) === 0 && Number(m) === 0 ? "Z" : `${d}${l}:${m}`; + if (Number(u) > 23 || Number(m) > 59) return null; + F = Number(u) === 0 && Number(m) === 0 ? "Z" : `${d}${u}:${m}`; } return `${r}-${n}-${i}T${a}:${A}:${o}${F}`; } -function dt(e = /* @__PURE__ */ new Date()) { +function pt(e = /* @__PURE__ */ new Date()) { if (e instanceof Date) { if (Number.isNaN(e.getTime())) throw new RangeError("Cannot format an invalid Date"); - return dt(`${e.toISOString().slice(0, 19)}Z`); + return pt(`${e.toISOString().slice(0, 19)}Z`); } let t = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2})(?:\.\d+)?)?(?:([Zz])|([+-])(\d{2}):(\d{2}))?$/.exec(e), r = t && { year: t[1], month: t[2], day: t[3], hour: t[4], minute: t[5], second: t[6] ?? "00" }; - if (!t || !r || !GF(r)) throw new f(g.InvalidArg, `not an ISO 8601 date and time: '${e}'`); - let [, , , , , , , n, i, a, A] = t, o = n ? "+00'00'" : i ? `${i}${a}'${A}'` : "", { year: s, month: d, day: l, hour: m, minute: F, second: k } = r; - return `D:${s}${d}${l}${m}${F}${k}${o}`; + if (!t || !r || !UF(r)) throw new f(g.InvalidArg, `not an ISO 8601 date and time: '${e}'`); + let [, , , , , , , n, i, a, A] = t, o = n ? "+00'00'" : i ? `${i}${a}'${A}'` : "", { year: s, month: d, day: u, hour: m, minute: F, second: h } = r; + return `D:${s}${d}${u}${m}${F}${h}${o}`; } -function GF({ year: e, month: t, day: r, hour: n, minute: i, second: a }) { +function UF({ year: e, month: t, day: r, hour: n, minute: i, second: a }) { let A = Number(e), o = Number(t), s = Number(r); if (o < 1 || o > 12 || s < 1) return !1; - let d = new Date(Date.UTC(2e3, o, 0)).getUTCDate(), l = A % 4 === 0 && (A % 100 !== 0 || A % 400 === 0); - return s > (o === 2 && !l ? 28 : d) ? !1 : Number(n) <= 23 && Number(i) <= 59 && Number(a) <= 59; + let d = new Date(Date.UTC(2e3, o, 0)).getUTCDate(), u = A % 4 === 0 && (A % 100 !== 0 || A % 400 === 0); + return s > (o === 2 && !u ? 28 : d) ? !1 : Number(n) <= 23 && Number(i) <= 59 && Number(a) <= 59; } -function CF(e) { +function qF(e) { return e >>> 0; } -var _m = 4294967292, Ks = CF; -function b2(e) { - return (CF(e) & _m) >>> 0 === _m; +var Wm = 4294967292, Ws = qF; +function K2(e) { + return (qF(e) & Wm) >>> 0 === Wm; } -function va(e) { +function ka(e) { "@babel/helpers - typeof"; - return va = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { + return ka = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; - }, va(e); + }, ka(e); } -function g2(e, t) { - if (va(e) != "object" || !e) return e; +function N2(e, t) { + if (ka(e) != "object" || !e) return e; var r = e[Symbol.toPrimitive]; if (r !== void 0) { var n = r.call(e, t); - if (va(n) != "object") return n; + if (ka(n) != "object") return n; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } -function f2(e) { - var t = g2(e, "string"); - return va(t) == "symbol" ? t : t + ""; +function V2(e) { + var t = N2(e, "string"); + return ka(t) == "symbol" ? t : t + ""; } -function K(e, t, r) { - return (t = f2(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; +function N(e, t, r) { + return (t = V2(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } -var F2 = class { +var Y2 = class { constructor() { - K(this, "byContent", null), K(this, "bySource", /* @__PURE__ */ new Map()), K(this, "hashes", /* @__PURE__ */ new WeakMap()); + N(this, "byContent", null), N(this, "bySource", /* @__PURE__ */ new Map()), N(this, "hashes", /* @__PURE__ */ new WeakMap()); } forget() { this.byContent = null, this.bySource.clear(); } }; -function Dp(e, t, r) { +function Op(e, t, r) { return e.FPDF_GetLastError() !== 4 ? r : t ? new f(g.DocPasswordIncorrect, "incorrect document password") : new f(g.DocPasswordRequired, "document requires a password"); } -function N(e, t, r) { +function V(e, t, r) { let n = e.alloc(t); try { return r(n); @@ -7316,7 +7422,7 @@ function N(e, t, r) { e.free(n); } } -function fe(e, t, r) { +function Fe(e, t, r) { let n = t.map((i) => e.alloc(i)); try { return r(n); @@ -7324,18 +7430,18 @@ function fe(e, t, r) { for (let i = n.length - 1; i >= 0; i--) e.free(n[i]); } } -function Wt(e, t, r) { - return N(e, Math.max(1, t.length) * 4, (n) => (t.forEach((i, a) => e.poke(n, "i32", i, a * 4)), r(n, t.length))); +function Ut(e, t, r) { + return V(e, Math.max(1, t.length) * 4, (n) => (t.forEach((i, a) => e.poke(n, "i32", i, a * 4)), r(n, t.length))); } -function ue(e, t, r = "") { - let n = t(Y, 0); - return n <= 0 ? null : n === 2 ? r : N(e, n, (i) => t(i, n) <= 0 ? null : e.readU16String(i)); +function le(e, t, r = "") { + let n = t(X, 0); + return n <= 0 ? null : n === 2 ? r : V(e, n, (i) => t(i, n) <= 0 ? null : e.readU16String(i)); } function Ke(e, t) { - let r = t(Y, 0); - return r <= 0 ? null : N(e, r, (n) => t(n, r) <= 0 ? null : e.readU8String(n)); + let r = t(X, 0); + return r <= 0 ? null : V(e, r, (n) => t(n, r) <= 0 ? null : e.readU8String(n)); } -function Ct(e, t, r) { +function Ht(e, t, r) { let n = e.writeU16String(t); try { return r(n); @@ -7343,7 +7449,7 @@ function Ct(e, t, r) { e.free(n); } } -function Hn(e, t, r) { +function Qn(e, t, r) { let n = e.writeU16String(t); try { return r(n); @@ -7351,7 +7457,7 @@ function Hn(e, t, r) { e.free(n); } } -function xF(e, t, r) { +function ZF(e, t, r) { let n = new TextEncoder().encode(t), i = new Uint8Array(n.byteLength + 1); i.set(n); let a = e.alloc(i.byteLength); @@ -7361,9 +7467,9 @@ function xF(e, t, r) { e.free(a); } } -var Vt = class { +var Yt = class { constructor() { - K(this, "actions", []), K(this, "closed", !1); + N(this, "actions", []), N(this, "closed", !1); } push(e) { if (this.closed) { @@ -7384,29 +7490,29 @@ var Vt = class { if (this.actions.length = 0, e) throw e; } }; -function _F(e, t, r = null) { - let { mem: n, fn: i } = e, a = new Vt(), A = n.alloc(t.byteLength); +function zF(e, t, r = null) { + let { mem: n, fn: i } = e, a = new Yt(), A = n.alloc(t.byteLength); a.push(() => n.free(A)); try { n.writeBytes(A, t); let o = i.FPDF_LoadMemDocument64(A, t.byteLength, r ?? ""); - if (!o) throw Dp(i, r, new f(g.DocOpenFailed, "failed to open document")); - return fo(e, o), a.push(() => i.FPDF_CloseDocument(o)), { kind: "fat-memory", docPtr: o, source: { base: null, layer: null, password: r }, close: () => a.close() }; + if (!o) throw Op(i, r, new f(g.DocOpenFailed, "failed to open document")); + return ko(e, o), a.push(() => i.FPDF_CloseDocument(o)), { kind: "fat-memory", docPtr: o, source: { base: null, layer: null, password: r }, close: () => a.close() }; } catch (o) { throw a.close(), o; } } function dn(e, t, r = { kind: "fresh" }, n = null) { - let { mem: i, fn: a } = e, A = new Vt(); + let { mem: i, fn: a } = e, A = new Yt(); A.push(() => t.release()); let o = null, s = i.alloc(4); try { i.poke(s, "i32", -1); let d; - r.kind === "fresh" ? d = a.EPDFLayer_OpenLayer(t.basePtr, Y, n ?? "", s) : r.kind === "artifact-file" && e.kind === "native" ? d = xF(i, r.path, (F) => a.EPDFLayer_OpenLayerArtifactFromPath(t.basePtr, F, n ?? "", s)) : (o = r.kind === "artifact-file" ? e.fileAccess.fromNodeFile(r.path) : e.fileAccess.fromMemory(r.bytes), A.push(() => o?.close()), d = r.kind === "artifact" || r.kind === "artifact-file" ? a.EPDFLayer_OpenLayerArtifact(t.basePtr, o.ptr, n ?? "", s) : a.EPDFLayer_OpenLayer(t.basePtr, o.ptr, n ?? "", s)); - let l = Number(i.peek(s, "i32")); - if (!d || l !== 0) throw v2(l); - fo(e, d), A.push(() => a.FPDF_CloseDocument(d)); + r.kind === "fresh" ? d = a.EPDFLayer_OpenLayer(t.basePtr, X, n ?? "", s) : r.kind === "artifact-file" && e.kind === "native" ? d = ZF(i, r.path, (F) => a.EPDFLayer_OpenLayerArtifactFromPath(t.basePtr, F, n ?? "", s)) : (o = r.kind === "artifact-file" ? e.fileAccess.fromNodeFile(r.path) : e.fileAccess.fromMemory(r.bytes), A.push(() => o?.close()), d = r.kind === "artifact" || r.kind === "artifact-file" ? a.EPDFLayer_OpenLayerArtifact(t.basePtr, o.ptr, n ?? "", s) : a.EPDFLayer_OpenLayer(t.basePtr, o.ptr, n ?? "", s)); + let u = Number(i.peek(s, "i32")); + if (!d || u !== 0) throw X2(u); + ko(e, d), A.push(() => a.FPDF_CloseDocument(d)); let m = t.kind === "file" && t.path !== void 0 ? { kind: "file", key: t.key, path: t.path } : { kind: "memory", key: t.key }; return { kind: "layer", docPtr: d, source: { base: m, layer: r, password: n }, close: () => A.close() }; } catch (d) { @@ -7415,11 +7521,11 @@ function dn(e, t, r = { kind: "fresh" }, n = null) { i.free(s); } } -function fo(e, t) { +function ko(e, t) { let { fn: r } = e; r.EPDF_IsEncrypted && r.EPDF_SetRuntimeOwnerPermissions && r.EPDF_IsEncrypted(t) && r.EPDF_SetRuntimeOwnerPermissions(t, !0); } -function v2(e) { +function X2(e) { switch (e) { case 1: return new f(g.DocPasswordRequired, "layer requires a password"); @@ -7439,20 +7545,20 @@ function _e(e, t, r = 0) { let n = Number(e.peek(t, "i32", r)) >>> 0; return (Number(e.peek(t, "i32", r + 4)) >>> 0) * 4294967296 + n; } -var Qc = { budgetBytes: 384 * 1024 * 1024, idleMs: 3e4 }, Hm = 64 * 1024, P2 = 40, h2 = 24, Ns = { place: "elsewhere", pixels: 0 }, k2 = 1073741823, HF = class { - constructor(e, t = Qc, r = () => !1) { - this.runtime = e, this.policy = t, this.busy = r, K(this, "pages", /* @__PURE__ */ new Map()), K(this, "closedSizes", /* @__PURE__ */ new Map()), K(this, "workingSets", /* @__PURE__ */ new Map()), K(this, "totalBytes", 0), K(this, "clock", 0), K(this, "timer", null); +var Tc = { budgetBytes: 384 * 1024 * 1024, idleMs: 3e4 }, Um = 64 * 1024, W2 = 40, U2 = 24, Us = { place: "elsewhere", pixels: 0 }, q2 = 1073741823, JF = class { + constructor(e, t = Tc, r = () => !1) { + this.runtime = e, this.policy = t, this.busy = r, N(this, "pages", /* @__PURE__ */ new Map()), N(this, "closedSizes", /* @__PURE__ */ new Map()), N(this, "workingSets", /* @__PURE__ */ new Map()), N(this, "totalBytes", 0), N(this, "clock", 0), N(this, "timer", null); } acquire(e, t, r) { let n = this.take(e, r); if (!n) { this.makeRoom(this.expectedBytes(e, r)); let i = this.runtime.fn.EPDFDoc_LoadPageByObjectNumberNormalized(t, r); - if (!i) throw Im(r); + if (!i) throw qm(r); n = this.add(e, r, i, !0); } if (n.refs++, !n.loaded) { - if (this.runtime.fn.EPDFPage_ContinueLoad(n.ptr, k2) !== 1) throw this.drop(n), Qm(r); + if (this.runtime.fn.EPDFPage_ContinueLoad(n.ptr, q2) !== 1) throw this.drop(n), Zm(r); n.loaded = !0; } return this.measure(n), this.makeRoom(0), n.ptr; @@ -7463,12 +7569,12 @@ var Qc = { budgetBytes: 384 * 1024 * 1024, idleMs: 3e4 }, Hm = 64 * 1024, P2 = 4 if (!A) { this.makeRoom(this.expectedBytes(e, r)); let o = a.EPDFDoc_StartLoadPageByObjectNumber(t, r, !0); - if (!o) throw Im(r); + if (!o) throw qm(r); A = this.add(e, r, o, !1); } for (A.refs++; !A.loaded; ) { let o = a.EPDFPage_ContinueLoad(A.ptr, i.budgetMs); - if (o < 0) throw this.drop(A), Qm(r); + if (o < 0) throw this.drop(A), Zm(r); if (A.loaded = o === 1, this.measure(A), this.makeRoom(0), A.loaded) break; try { await i.between(), S(n); @@ -7492,7 +7598,7 @@ var Qc = { budgetBytes: 384 * 1024 * 1024, idleMs: 3e4 }, Hm = 64 * 1024, P2 = 4 let n = /* @__PURE__ */ new Map(); for (let { pageObjectNumber: a, role: A, pixels: o } of r) { let s = { place: A, pixels: o }, d = n.get(a); - (!d || _r(s, d)) && n.set(a, s); + (!d || Ir(s, d)) && n.set(a, s); } let i = this.workingSets.get(e); n.size > 0 ? (i || (i = /* @__PURE__ */ new Map(), this.workingSets.set(e, i)), i.set(t, n)) : (i?.delete(t), i?.size === 0 && this.workingSets.delete(e)), this.totalBytes > 0 && this.armTimer(); @@ -7529,11 +7635,11 @@ var Qc = { budgetBytes: 384 * 1024 * 1024, idleMs: 3e4 }, Hm = 64 * 1024, P2 = 4 return r ? r.refs === 0 && !this.runtime.fn.EPDFPage_IsContentCurrent(r.ptr) ? (this.close(r), null) : (r.lastUsed = ++this.clock, r) : null; } add(e, t, r, n) { - let i = { owner: e, pageObjectNumber: t, ptr: r, refs: 0, loaded: n, bytes: Hm, lastUsed: ++this.clock }, a = this.pages.get(e); + let i = { owner: e, pageObjectNumber: t, ptr: r, refs: 0, loaded: n, bytes: Um, lastUsed: ++this.clock }, a = this.pages.get(e); return a || (a = /* @__PURE__ */ new Map(), this.pages.set(e, a)), a.set(t, i), this.totalBytes += i.bytes, i; } measure(e) { - let { fn: t, mem: r } = this.runtime, n = N(r, P2, (a) => t.EPDFPage_GetParsedSize(e.ptr, a) ? _e(r, a, h2) : 0), i = Hm + n; + let { fn: t, mem: r } = this.runtime, n = V(r, W2, (a) => t.EPDFPage_GetParsedSize(e.ptr, a) ? _e(r, a, U2) : 0), i = Um + n; this.totalBytes += i - e.bytes, e.bytes = i; } expectedBytes(e, t) { @@ -7549,28 +7655,28 @@ var Qc = { budgetBytes: 384 * 1024 * 1024, idleMs: 3e4 }, Hm = 64 * 1024, P2 = 4 } } firstToClose(e) { - let t = null, r = Ns; + let t = null, r = Us; for (let n of this.pages.values()) for (let i of n.values()) { if (i.refs > 0 || i === e) continue; let a = this.placeOf(i); - (!t || _r(r, a) || !_r(a, r) && i.lastUsed < t.lastUsed) && (t = i, r = a); + (!t || Ir(r, a) || !Ir(a, r) && i.lastUsed < t.lastUsed) && (t = i, r = a); } return t; } lastToCloseOverBudget() { - let e = null, t = Ns; + let e = null, t = Us; for (let r of this.pages.values()) for (let n of r.values()) { if (n.bytes <= this.policy.budgetBytes) continue; let i = this.placeOf(n); - (!e || _r(i, t) || !_r(t, i) && n.lastUsed > e.lastUsed) && (e = n, t = i); + (!e || Ir(i, t) || !Ir(t, i) && n.lastUsed > e.lastUsed) && (e = n, t = i); } return e; } placeOf(e) { - let t = Ns; + let t = Us; for (let r of this.workingSets.get(e.owner)?.values() ?? []) { let n = r.get(e.pageObjectNumber); - n && _r(n, t) && (t = n); + n && Ir(n, t) && (t = n); } return t; } @@ -7595,15 +7701,15 @@ var Qc = { budgetBytes: 384 * 1024 * 1024, idleMs: 3e4 }, Hm = 64 * 1024, P2 = 4 this.timer && clearTimeout(this.timer), this.timer = null; } }; -function Im(e) { +function qm(e) { return new f(g.NotFound, `no page with object number ${e}`); } -function Qm(e) { +function Zm(e) { return new f(g.RuntimeUnavailable, `failed to load page object ${e}`); } -var Sm = class { +var zm = class { constructor(e, t, r = null) { - this.docPtr = t, K(this, "residency", void 0), this.residency = r ?? new HF(e, { budgetBytes: 0, idleMs: 0 }); + this.docPtr = t, N(this, "residency", void 0), this.residency = r ?? new JF(e, { budgetBytes: 0, idleMs: 0 }); } acquire(e) { return this.residency.acquire(this, this.docPtr, e); @@ -7629,9 +7735,9 @@ var Sm = class { closeAll() { this.residency.closeOwner(this); } -}, Sc = class { +}, Kc = class { constructor(e, t) { - this.runtime = e, K(this, "docPtr", null), K(this, "closeDocument", null), K(this, "_kind", null), K(this, "_source", null), K(this, "_sessionId", void 0), K(this, "recordsByObjectNumber", /* @__PURE__ */ new Map()), K(this, "recordsByIndex", /* @__PURE__ */ new Map()), K(this, "fullyEnumerated", !1), K(this, "cacheSeqCounter", 0), K(this, "editsSeqCounter", 0), K(this, "transaction", null), K(this, "unusableReason", null), K(this, "pages", null), K(this, "residency", null), K(this, "signedDocumentPolicy", "protect"), K(this, "password", null), K(this, "persistLayerArtifact", !0), K(this, "loadedSeq", 0), K(this, "plainSha256", null), K(this, "pendingSigning", null), K(this, "lastCompletion", null), K(this, "drawings", null), K(this, "parkedLoad", null), K(this, "objectNumberAuthority", "session"), K(this, "heldObjectNumbers", /* @__PURE__ */ new Set()), K(this, "objectNumbersInUse", []), K(this, "retained", []), this._sessionId = t ?? D2(); + this.runtime = e, N(this, "docPtr", null), N(this, "closeDocument", null), N(this, "_kind", null), N(this, "_source", null), N(this, "_sessionId", void 0), N(this, "recordsByObjectNumber", /* @__PURE__ */ new Map()), N(this, "recordsByIndex", /* @__PURE__ */ new Map()), N(this, "fullyEnumerated", !1), N(this, "cacheSeqCounter", 0), N(this, "editsSeqCounter", 0), N(this, "transaction", null), N(this, "unusableReason", null), N(this, "pages", null), N(this, "residency", null), N(this, "signedDocumentPolicy", "protect"), N(this, "password", null), N(this, "persistLayerArtifact", !0), N(this, "loadedSeq", 0), N(this, "plainSha256", null), N(this, "pendingSigning", null), N(this, "lastCompletion", null), N(this, "drawings", null), N(this, "parkedLoad", null), N(this, "objectNumberAuthority", "session"), N(this, "heldObjectNumbers", /* @__PURE__ */ new Set()), N(this, "objectNumbersInUse", []), N(this, "retained", []), this._sessionId = t ?? z2(); } get sessionId() { return this._sessionId; @@ -7647,11 +7753,11 @@ var Sm = class { return this.docPtr !== null; } open(e, t = null) { - this.openFromHandle(_F(this.runtime, e, t)); + this.openFromHandle(zF(this.runtime, e, t)); } openFromHandle(e) { if (this.docPtr) throw e.close(), new f(g.InvalidArg, "document already open"); - this.docPtr = e.docPtr, this.closeDocument = () => e.close(), this._kind = e.kind, this._source = e.source, this.pages = new Sm(this.runtime, e.docPtr, this.residency), this.parkedLoad = null, this.drawings = null, this.loadedSeq = this.editsSeqCounter; + this.docPtr = e.docPtr, this.closeDocument = () => e.close(), this._kind = e.kind, this._source = e.source, this.pages = new zm(this.runtime, e.docPtr, this.residency), this.parkedLoad = null, this.drawings = null, this.loadedSeq = this.editsSeqCounter; } hasUnsavedEdits() { return this.editsSeqCounter !== this.loadedSeq; @@ -7675,7 +7781,7 @@ var Sm = class { } catch (r) { t ?? (t = r); } - if (this.docPtr = e.docPtr, this.closeDocument = () => e.close(), this._kind = e.kind, this._source = e.source, this.pages = new Sm(this.runtime, e.docPtr, this.residency), this.recordsByIndex.clear(), this.recordsByObjectNumber.clear(), this.fullyEnumerated = !1, this.cacheSeqCounter++, this.editsSeqCounter++, this.loadedSeq = this.editsSeqCounter, this.pendingSigning = null, this.drawings = null, this.heldObjectNumbers.clear(), this.objectNumbersInUse = [], t) throw t; + if (this.docPtr = e.docPtr, this.closeDocument = () => e.close(), this._kind = e.kind, this._source = e.source, this.pages = new zm(this.runtime, e.docPtr, this.residency), this.recordsByIndex.clear(), this.recordsByObjectNumber.clear(), this.fullyEnumerated = !1, this.cacheSeqCounter++, this.editsSeqCounter++, this.loadedSeq = this.editsSeqCounter, this.pendingSigning = null, this.drawings = null, this.heldObjectNumbers.clear(), this.objectNumbersInUse = [], t) throw t; } versionRef(e) { return { baseSha256: e, editsVersion: this.editsSeqCounter }; @@ -7700,7 +7806,7 @@ var Sm = class { for (let n = 0; n < r; n++) { if (this.recordsByIndex.has(n)) continue; let i = e.EPDFDoc_GetPageObjectNumberByIndex(t, n); - if (!Kb(i)) throw new f(g.MalformedPdf, `page at index ${n} is a direct (non-indirect) PDF object; the engine requires every page to have a stable indirect object number`, { details: { pageIndex: n, pageObjectNumber: i } }); + if (!rg(i)) throw new f(g.MalformedPdf, `page at index ${n} is a direct (non-indirect) PDF object; the engine requires every page to have a stable indirect object number`, { details: { pageIndex: n, pageObjectNumber: i } }); let a = { pageObjectNumber: i, pageIndex: n }; this.recordsByIndex.set(n, a), this.recordsByObjectNumber.set(i, a); } @@ -7745,7 +7851,7 @@ var Sm = class { if (!this.docPtr) return []; let { fn: e, mem: t } = this.runtime, r = this.docPtr, n = [], i = e.EPDFDoc_CountMissingCharacters(r); for (let a = 0; a < i; a++) { - let A = ue(t, (o, s) => e.EPDFDoc_GetMissingCharacter(r, a, o, s)); + let A = le(t, (o, s) => e.EPDFDoc_GetMissingCharacter(r, a, o, s)); A && n.push(A); } return n; @@ -7770,15 +7876,15 @@ var Sm = class { let { docPtr: e } = this.requireTransaction(); if (!this.runtime.fn.EPDFLayer_IsInTransaction(e)) throw new f(g.Unknown, "the layer transaction is no longer open"); let t = this.runtime.fn.EPDFLayer_GetLastObjectNumber(e); - if (t > Nu) throw new f(g.LayerFull, `the document would pass object number ${Nu}`, { details: { lastObjectNumber: t } }); + if (t > am) throw new f(g.LayerFull, `the document would pass object number ${am}`, { details: { lastObjectNumber: t } }); this.transaction = null; let r = !1; try { r = this.runtime.fn.EPDFLayer_CommitTransaction(e); } finally { - r || (this.unusableReason = Om); + r || (this.unusableReason = Jm); } - if (!r) throw new f(g.DocNotOpen, Om); + if (!r) throw new f(g.DocNotOpen, Jm); for (let n of this.objectNumbersInUse) this.heldObjectNumbers.delete(n); this.objectNumbersInUse = []; } @@ -7802,7 +7908,7 @@ var Sm = class { if (this.objectNumberAuthority !== "session") throw new f(g.InvalidArg, "object numbers are handed out by the caller, not this session"); if (!Number.isInteger(e) || e < 1) throw new f(g.InvalidArg, `cannot reserve ${e} object numbers`, { details: { field: "count" } }); let { fn: t } = this.runtime, r = this.requireDocPtr(), n = t.EPDFLayer_GetLastObjectNumber(r); - if (n + e > h9) throw new f(g.LayerFull, "no more object numbers to hand out", { details: { lastObjectNumber: n } }); + if (n + e > Zy) throw new f(g.LayerFull, "no more object numbers to hand out", { details: { lastObjectNumber: n } }); if (!t.EPDFLayer_RaiseLastObjectNumber(r, n + e)) throw new f(g.Unknown, "EPDFLayer_RaiseLastObjectNumber refused"); let i = { first: n + 1, count: e }; for (let a = 0; a < e; a++) this.heldObjectNumbers.add(i.first + a); @@ -7810,8 +7916,8 @@ var Sm = class { } claimObjectNumber(e) { if (!Number.isInteger(e) || e < 1) throw new f(g.InvalidArg, `${e} is not an object number`, { details: { field: "objectNumber" } }); - if (this.objectNumberAuthority === "session" && !this.heldObjectNumbers.has(e)) throw Pa(e, "not-held"); - if (this.objectNumbersInUse.includes(e)) throw Pa(e, "taken"); + if (this.objectNumberAuthority === "session" && !this.heldObjectNumbers.has(e)) throw Ba(e, "not-held"); + if (this.objectNumbersInUse.includes(e)) throw Ba(e, "taken"); this.objectNumbersInUse.push(e); } assertUsable() { @@ -7827,7 +7933,7 @@ var Sm = class { } drawingIndex() { if (!this.docPtr) throw new f(g.DocNotOpen, "document is not open"); - return this.drawings ?? (this.drawings = new F2()), this.drawings; + return this.drawings ?? (this.drawings = new Y2()), this.drawings; } requireDocPtr() { if (!this.docPtr) throw new f(g.DocNotOpen, "document is not open"); @@ -7864,30 +7970,30 @@ var Sm = class { } if (this.retained.length = 0, e) throw e; } -}, Om = "a layer transaction failed to commit", B2 = 0; -function D2() { - return `sess_${(++B2).toString(36)}_${Date.now().toString(36)}`; +}, Jm = "a layer transaction failed to commit", Z2 = 0; +function z2() { + return `sess_${(++Z2).toString(36)}_${Date.now().toString(36)}`; } -function Pa(e, t) { +function Ba(e, t) { return new f(g.ObjectNumberUnavailable, t === "not-held" ? `object number ${e} isn't one this session holds` : `an object already has object number ${e}`, { details: { objectNumber: e, reason: t } }); } -function Mm(e, t) { - return Dp(e.fn, t, new f(g.DocOpenFailed, "failed to open base document")); +function $m(e, t) { + return Op(e.fn, t, new f(g.DocOpenFailed, "failed to open base document")); } -var y2 = class { +var J2 = class { constructor(e) { - this.runtime = e, K(this, "entries", /* @__PURE__ */ new Map()); + this.runtime = e, N(this, "entries", /* @__PURE__ */ new Map()); } acquireMemoryBase(e) { let t = this.retain(e.key); if (t) return t; - let { mem: r, fn: n } = this.runtime, i = new Vt(), a = r.alloc(e.bytes.byteLength); + let { mem: r, fn: n } = this.runtime, i = new Yt(), a = r.alloc(e.bytes.byteLength); i.push(() => r.free(a)); try { r.writeBytes(a, e.bytes); let A = n.EPDF_LoadMemBaseDocument64(a, e.bytes.byteLength, e.password ?? ""); - if (!A) throw Mm(this.runtime, e.password); - return fo(this.runtime, A), i.push(() => n.EPDF_ReleaseBaseDocument(A)), this.supplyKnownSha(A, e.knownSha256), this.insert({ key: e.key, kind: "memory", basePtr: A, refs: 1, close: () => i.close() }); + if (!A) throw $m(this.runtime, e.password); + return ko(this.runtime, A), i.push(() => n.EPDF_ReleaseBaseDocument(A)), this.supplyKnownSha(A, e.knownSha256), this.insert({ key: e.key, kind: "memory", basePtr: A, refs: 1, close: () => i.close() }); } catch (A) { throw i.close(), A; } @@ -7895,12 +8001,12 @@ var y2 = class { acquireFileBase(e) { let t = this.retain(e.key); if (t) return t; - let { fn: r } = this.runtime, n = new Vt(), i = null; + let { fn: r } = this.runtime, n = new Yt(), i = null; try { i = this.runtime.fileAccess.fromNodeFile(e.path), n.push(() => i?.close()); let a = r.EPDF_LoadBaseDocument(i.ptr, e.password ?? ""); - if (!a) throw Mm(this.runtime, e.password); - return fo(this.runtime, a), n.push(() => r.EPDF_ReleaseBaseDocument(a)), this.supplyKnownSha(a, e.knownSha256), this.insert({ key: e.key, kind: "file", path: e.path, basePtr: a, refs: 1, close: () => n.close() }); + if (!a) throw $m(this.runtime, e.password); + return ko(this.runtime, a), n.push(() => r.EPDF_ReleaseBaseDocument(a)), this.supplyKnownSha(a, e.knownSha256), this.insert({ key: e.key, kind: "file", path: e.path, basePtr: a, refs: 1, close: () => n.close() }); } catch (a) { throw n.close(), a; } @@ -7950,64 +8056,64 @@ var y2 = class { } }; } }; -function An(e, t, r, n) { - return e.EPDF_HasMetaText(r, n) ? ue(t, (i, a) => e.FPDF_GetMetaText(r, n, i, a), "") : null; +function on(e, t, r, n) { + return e.EPDF_HasMetaText(r, n) ? le(t, (i, a) => e.FPDF_GetMetaText(r, n, i, a), "") : null; } -function E2(e, t, r, n, i) { +function $2(e, t, r, n, i) { return Ke(t, (a, A) => e.EPDF_GetMetaKeyName(r, n, i, a, A)); } -function G2(e, t, r) { +function ex(e, t, r) { let n = Number(e.EPDF_GetMetaKeyCount(r, !0)) | 0, i = {}; for (let a = 0; a < n; a++) { - let A = E2(e, t, r, a, !0); + let A = $2(e, t, r, a, !0); if (!A) continue; - let o = An(e, t, r, A); + let o = on(e, t, r, A); o != null && (i[A] = o); } return i; } -var C2 = 1, x2 = 2; -function _2(e, t) { +var tx = 1, nx = 2; +function rx(e, t) { let r = Number(e.EPDF_GetMetaTrapped(t)); - return r === C2 ? "true" : r === x2 ? "false" : "unknown"; + return r === tx ? "true" : r === nx ? "false" : "unknown"; } -var wr = class { +var br = class { constructor(e, t) { this.runtime = e, this.session = t; } read(e) { S(e); - let { fn: t, mem: r } = this.runtime, n = this.session.requireDocPtr(), i = An(t, r, n, "Title"); + let { fn: t, mem: r } = this.runtime, n = this.session.requireDocPtr(), i = on(t, r, n, "Title"); S(e); - let a = An(t, r, n, "Author"); + let a = on(t, r, n, "Author"); S(e); - let A = An(t, r, n, "Subject"); + let A = on(t, r, n, "Subject"); S(e); - let o = An(t, r, n, "Keywords"); + let o = on(t, r, n, "Keywords"); S(e); - let s = An(t, r, n, "Producer"); + let s = on(t, r, n, "Producer"); S(e); - let d = An(t, r, n, "Creator"); + let d = on(t, r, n, "Creator"); S(e); - let l = An(t, r, n, "CreationDate"); + let u = on(t, r, n, "CreationDate"); S(e); - let m = An(t, r, n, "ModDate"); + let m = on(t, r, n, "ModDate"); S(e); - let F = _2(t, n); - return { title: i, author: a, subject: A, keywords: o, producer: s, creator: d, createdAt: l ? _n(l) : null, modifiedAt: m ? _n(m) : null, trapped: F }; + let F = rx(t, n); + return { title: i, author: a, subject: A, keywords: o, producer: s, creator: d, createdAt: u ? In(u) : null, modifiedAt: m ? In(m) : null, trapped: F }; } readCustom(e) { S(e); let { fn: t, mem: r } = this.runtime; - return G2(t, r, this.session.requireDocPtr()); + return ex(t, r, this.session.requireDocPtr()); } }; -function Yi(e, t, r, n, i) { - return i === null ? e.EPDF_SetMetaText(r, n, Y) : Ct(t, i, (a) => e.EPDF_SetMetaText(r, n, a)); +function Wi(e, t, r, n, i) { + return i === null ? e.EPDF_SetMetaText(r, n, X) : Ht(t, i, (a) => e.EPDF_SetMetaText(r, n, a)); } -var H2 = /* @__PURE__ */ new Set(["Title", "Author", "Subject", "Keywords", "Producer", "Creator", "CreationDate", "ModDate", "Trapped"]); -function I2(e) { - if (H2.has(e)) return `'${e}' is a standard key; set it with metadata.update`; +var ix = /* @__PURE__ */ new Set(["Title", "Author", "Subject", "Keywords", "Producer", "Creator", "CreationDate", "ModDate", "Trapped"]); +function ax(e) { + if (ix.has(e)) return `'${e}' is a standard key; set it with metadata.update`; if (!e || e.length > 127 || e[0] === "/") return `'${e}' can't be a custom key: 1 to 127 characters, no leading slash`; for (let t = 0; t < e.length; t++) { let r = e.charCodeAt(t); @@ -8015,53 +8121,53 @@ function I2(e) { } return null; } -function Q2(e, t, r, n) { +function Ax(e, t, r, n) { let i = Object.entries(n); for (let [a] of i) { - let A = I2(a); + let A = ax(a); if (A) throw new f(g.InvalidArg, A, { details: { field: a } }); } - for (let [a, A] of i) if (!Yi(e, t, r, a, A)) throw new f(g.Unknown, `failed to write metadata ${a}`); + for (let [a, A] of i) if (!Wi(e, t, r, a, A)) throw new f(g.Unknown, `failed to write metadata ${a}`); } -var S2 = 1, O2 = 2, M2 = 3; -function j2(e, t, r) { - let n = r === "true" ? S2 : r === "false" ? O2 : M2; +var ox = 1, sx = 2, cx = 3; +function dx(e, t, r) { + let n = r === "true" ? ox : r === "false" ? sx : cx; return e.EPDF_SetMetaTrapped(t, n); } -var R2 = [["title", "Title"], ["author", "Author"], ["subject", "Subject"], ["keywords", "Keywords"], ["producer", "Producer"], ["creator", "Creator"]]; -function L2(e, t, r, n) { +var px = [["title", "Title"], ["author", "Author"], ["subject", "Subject"], ["keywords", "Keywords"], ["producer", "Producer"], ["creator", "Creator"]]; +function ux(e, t, r, n) { let i = (a) => { throw new f(g.Unknown, `failed to write metadata ${a}`); }; - for (let [a, A] of R2) { + for (let [a, A] of px) { let o = n[a]; - o !== void 0 && (Yi(e, t, r, A, o) || i(A)); + o !== void 0 && (Wi(e, t, r, A, o) || i(A)); } - n.createdAt !== void 0 && (Yi(e, t, r, "CreationDate", n.createdAt === null ? null : dt(n.createdAt)) || i("CreationDate")), n.modifiedAt !== void 0 && (Yi(e, t, r, "ModDate", n.modifiedAt === null ? null : dt(n.modifiedAt)) || i("ModDate")), n.trapped !== void 0 && (j2(e, r, n.trapped) || i("Trapped")); + n.createdAt !== void 0 && (Wi(e, t, r, "CreationDate", n.createdAt === null ? null : pt(n.createdAt)) || i("CreationDate")), n.modifiedAt !== void 0 && (Wi(e, t, r, "ModDate", n.modifiedAt === null ? null : pt(n.modifiedAt)) || i("ModDate")), n.trapped !== void 0 && (dx(e, r, n.trapped) || i("Trapped")); } -var T2 = "http://www.w3.org/XML/1998/namespace", IF = "http://www.w3.org/2000/xmlns/"; -function K2(e) { +var lx = "http://www.w3.org/XML/1998/namespace", $F = "http://www.w3.org/2000/xmlns/"; +function mx(e) { try { - return new W2(e).read(); + return new Fx(e).read(); } catch (t) { if (t instanceof et) return null; throw t; } } -function* QF(e) { +function* ev(e) { yield e; - for (let t of e.children) yield* QF(t); + for (let t of e.children) yield* ev(t); } -function Oc(e) { - return N2(e).replace(/&/g, "&").replace(//g, ">").replace(/\r/g, " "); +function Nc(e) { + return wx(e).replace(/&/g, "&").replace(//g, ">").replace(/\r/g, " "); } -function jm(e) { - return Oc(e).replace(/"/g, """).replace(/'/g, "'").replace(/\t/g, " ").replace(/\n/g, " "); +function ew(e) { + return Nc(e).replace(/"/g, """).replace(/'/g, "'").replace(/\t/g, " ").replace(/\n/g, " "); } -function LA(e, t) { +function YA(e, t) { return e ? `${e}:${t}` : t; } -function N2(e) { +function wx(e) { let t = ""; for (let r of e) { let n = r.codePointAt(0); @@ -8070,24 +8176,24 @@ function N2(e) { return t; } var et = class extends Error { -}, Rm = /&(?:#x([0-9a-fA-F]+)|#([0-9]+)|(lt|gt|amp|quot|apos));/g, V2 = { lt: "<", gt: ">", amp: "&", quot: '"', apos: "'" }, Y2 = /[ \t\r\n]/, X2 = /[ \t\r\n/>=<"']/; -function Lm(e) { +}, tw = /&(?:#x([0-9a-fA-F]+)|#([0-9]+)|(lt|gt|amp|quot|apos));/g, bx = { lt: "<", gt: ">", amp: "&", quot: '"', apos: "'" }, gx = /[ \t\r\n]/, fx = /[ \t\r\n/>=<"']/; +function nw(e) { if (!e.includes("&")) return e; - if (e.replace(Rm, "").includes("&")) throw new et(); - return e.replace(Rm, (t, r, n, i) => { - if (i) return V2[i]; + if (e.replace(tw, "").includes("&")) throw new et(); + return e.replace(tw, (t, r, n, i) => { + if (i) return bx[i]; let a = r ? parseInt(r, 16) : Number(n); if (a > 1114111) throw new et(); return String.fromCodePoint(a); }); } -function Tm(e) { +function rw(e) { let t = e.indexOf(":"); return t < 0 ? { prefix: "", local: e } : { prefix: e.slice(0, t), local: e.slice(t + 1) }; } -var W2 = class { +var Fx = class { constructor(e) { - this.text = e, K(this, "at", 0), K(this, "open", []), K(this, "root", null); + this.text = e, N(this, "at", 0), N(this, "open", []), N(this, "root", null); } read() { let { text: e } = this; @@ -8106,12 +8212,12 @@ var W2 = class { } skipSpace(e) { let t = e; - for (; t < this.text.length && Y2.test(this.text[t]); ) t++; + for (; t < this.text.length && gx.test(this.text[t]); ) t++; return t; } readName(e) { let t = e; - for (; t < this.text.length && !X2.test(this.text[t]); ) t++; + for (; t < this.text.length && !fx.test(this.text[t]); ) t++; if (t === e) throw new et(); return this.text.slice(e, t); } @@ -8120,7 +8226,7 @@ var W2 = class { if (!r) return; let n = e.replace(/\r\n?/g, ` `); - r.text += t ? n : Lm(n); + r.text += t ? n : nw(n); } readCData(e) { let t = this.text.indexOf("]]>", e + 9); @@ -8162,16 +8268,16 @@ var W2 = class { if (_ < 0) throw new et(); let H = t.slice(G + 1, _); if (H.includes("<")) throw new et(); - n.push({ qname: D, ...Tm(D), ns: null, value: Lm(H.replace(/[\t\r\n]/g, " ")), start: P, end: _ + 1, valueStart: G + 1, valueEnd: _ }), i = _ + 1; + n.push({ qname: D, ...rw(D), ns: null, value: nw(H.replace(/[\t\r\n]/g, " ")), start: P, end: _ + 1, valueStart: G + 1, valueEnd: _ }), i = _ + 1; } let o = this.open[this.open.length - 1] ?? null; if (!o && this.root) throw new et(); let s = new Map(o?.scope ?? []); for (let P of n) P.qname === "xmlns" ? s.set("", P.value) : P.prefix === "xmlns" && s.set(P.local, P.value); - let d = (P) => P === "xml" ? T2 : s.get(P) || null; - for (let P of n) P.ns = P.qname === "xmlns" || P.prefix === "xmlns" ? IF : P.prefix ? d(P.prefix) : null; - let l = a + (A ? 2 : 1), { prefix: m, local: F } = Tm(r), k = { qname: r, prefix: m, local: F, ns: d(m), attributes: n, scope: s, parent: o, children: [], text: "", start: e, startTagClose: a, startTagEnd: l, selfClosing: A, endTagStart: l, end: l }; - o ? o.children.push(k) : this.root = k, A || this.open.push(k), this.at = l; + let d = (P) => P === "xml" ? lx : s.get(P) || null; + for (let P of n) P.ns = P.qname === "xmlns" || P.prefix === "xmlns" ? $F : P.prefix ? d(P.prefix) : null; + let u = a + (A ? 2 : 1), { prefix: m, local: F } = rw(r), h = { qname: r, prefix: m, local: F, ns: d(m), attributes: n, scope: s, parent: o, children: [], text: "", start: e, startTagClose: a, startTagEnd: u, selfClosing: A, endTagStart: u, end: u }; + o ? o.children.push(h) : this.root = h, A || this.open.push(h), this.at = u; } readEndTag(e) { let t = this.readName(e + 2), r = this.skipSpace(e + 2 + t.length), n = this.open.pop(); @@ -8179,52 +8285,52 @@ var W2 = class { n.endTagStart = e, n.end = r + 1, this.at = r + 1; } }; -function U2(e, t) { - let r = K2(e), n = r && [...QF(r)].find((A) => Fo(A, "RDF")); +function vx(e, t) { + let r = mx(e), n = r && [...ev(r)].find((A) => Bo(A, "RDF")); if (!n) return null; - let i = n.children.filter((A) => Fo(A, "Description")), a = new z2(e, n); + let i = n.children.filter((A) => Bo(A, "Description")), a = new kx(e, n); for (let { property: A, value: o, add: s } of t) { - let d = i.flatMap((D) => D.children.filter((G) => Km(G, A))), l = i.flatMap((D) => D.attributes.filter((G) => Km(G, A)).map((G) => ({ attribute: G, description: D }))); + let d = i.flatMap((D) => D.children.filter((G) => iw(G, A))), u = i.flatMap((D) => D.attributes.filter((G) => iw(G, A)).map((G) => ({ attribute: G, description: D }))); if (o === null) { - d.forEach((D) => a.removeElement(D)), l.forEach(({ attribute: D }) => a.removeAttribute(D)); + d.forEach((D) => a.removeElement(D)), u.forEach(({ attribute: D }) => a.removeAttribute(D)); continue; } - let [m, ...F] = d, [k, ...P] = l; - if (m) (F.length > 0 || l.length > 0 || !Z2(m, o)) && (a.replaceElement(m, o), F.forEach((D) => a.removeElement(D)), l.forEach(({ attribute: D }) => a.removeAttribute(D))); - else if (k && o.kind === "text") (P.length > 0 || k.attribute.value !== o.text) && (a.replaceAttributeValue(k.attribute, o.text), P.forEach(({ attribute: D }) => a.removeAttribute(D))); - else if (k) l.forEach(({ attribute: D }) => a.removeAttribute(D)), a.addProperty(k.description, A, o); + let [m, ...F] = d, [h, ...P] = u; + if (m) (F.length > 0 || u.length > 0 || !hx(m, o)) && (a.replaceElement(m, o), F.forEach((D) => a.removeElement(D)), u.forEach(({ attribute: D }) => a.removeAttribute(D))); + else if (h && o.kind === "text") (P.length > 0 || h.attribute.value !== o.text) && (a.replaceAttributeValue(h.attribute, o.text), P.forEach(({ attribute: D }) => a.removeAttribute(D))); + else if (h) u.forEach(({ attribute: D }) => a.removeAttribute(D)), a.addProperty(h.description, A, o); else if (s) { - let D = i.find((G) => q2(G, A.ns)) ?? i[0]; + let D = i.find((G) => Px(G, A.ns)) ?? i[0]; a.addProperty(D ?? null, A, o); } } return a.result(); } -function Fo(e, t) { +function Bo(e, t) { return e.ns === "http://www.w3.org/1999/02/22-rdf-syntax-ns#" && e.local === t; } -function Km(e, t) { +function iw(e, t) { return e.ns === t.ns && e.local === t.name; } -function q2(e, t) { +function Px(e, t) { return e.attributes.some((r) => r.ns === "http://www.w3.org/2000/xmlns/" && r.value === t); } -function Z2(e, t) { +function hx(e, t) { if (e.attributes.some((A) => A.ns === "http://www.w3.org/1999/02/22-rdf-syntax-ns#")) return !1; if (t.kind === "text") return e.children.length === 0 && e.text === t.text; let [r, ...n] = e.children, i = { alt: "Alt", seq: "Seq", bag: "Bag" }[t.kind]; - if (!r || n.length > 0 || !Fo(r, i)) return !1; + if (!r || n.length > 0 || !Bo(r, i)) return !1; let a = r.children; - if (!a.every((A) => Fo(A, "li") && A.children.length === 0)) return !1; + if (!a.every((A) => Bo(A, "li") && A.children.length === 0)) return !1; if (t.kind === "alt") { let [A] = a, o = A?.attributes.find((s) => s.ns === "http://www.w3.org/XML/1998/namespace" && s.local === "lang"); return a.length === 1 && o?.value === "x-default" && A.text === t.text; } return a.length === t.items.length && a.every((A, o) => A.text === t.items[o]); } -var z2 = class { +var kx = class { constructor(e, t) { - this.packet = e, this.rdf = t, K(this, "splices", []), K(this, "additions", /* @__PURE__ */ new Map()); + this.packet = e, this.rdf = t, N(this, "splices", []), N(this, "additions", /* @__PURE__ */ new Map()); } removeElement(e) { this.splices.push({ start: this.spaceBefore(e.start), end: e.end, text: "" }); @@ -8233,15 +8339,15 @@ var z2 = class { this.splices.push({ start: this.spaceBefore(e.start), end: e.end, text: "" }); } replaceAttributeValue(e, t) { - this.splices.push({ start: e.valueStart, end: e.valueEnd, text: jm(t) }); + this.splices.push({ start: e.valueStart, end: e.valueEnd, text: ew(t) }); } replaceElement(e, t) { - let r = e.attributes.filter((i) => i.ns === IF).map((i) => ` ${this.packet.slice(i.start, i.end)}`).join(""), n = Vs(e.scope, "http://www.w3.org/1999/02/22-rdf-syntax-ns#") ?? "rdf"; - this.splices.push({ start: e.start, end: e.end, text: Nm(e.qname, r, n, t) }); + let r = e.attributes.filter((i) => i.ns === $F).map((i) => ` ${this.packet.slice(i.start, i.end)}`).join(""), n = qs(e.scope, "http://www.w3.org/1999/02/22-rdf-syntax-ns#") ?? "rdf"; + this.splices.push({ start: e.start, end: e.end, text: aw(e.qname, r, n, t) }); } addProperty(e, t, r) { - let n = this.additionsFor(e), i = e?.scope ?? this.rdf.scope, a = Vs(i, t.ns, !1) ?? this.declare(n, i, t), A = Vs(i, "http://www.w3.org/1999/02/22-rdf-syntax-ns#") ?? "rdf"; - n.children.push(Nm(LA(a, t.name), "", A, r)); + let n = this.additionsFor(e), i = e?.scope ?? this.rdf.scope, a = qs(i, t.ns, !1) ?? this.declare(n, i, t), A = qs(i, "http://www.w3.org/1999/02/22-rdf-syntax-ns#") ?? "rdf"; + n.children.push(aw(YA(a, t.name), "", A, r)); } result() { for (let [n, i] of this.additions) this.writeAdditions(n, i); @@ -8263,9 +8369,9 @@ var z2 = class { return e.declarations.set(n, r.ns), n; } writeAdditions(e, t) { - let r = [...t.declarations].map(([i, a]) => ` xmlns:${i}="${jm(a)}"`).join(""); + let r = [...t.declarations].map(([i, a]) => ` xmlns:${i}="${ew(a)}"`).join(""); if (!e) { - let i = this.rdf.prefix, a = LA(i, "Description"), A = `<${a} ${LA(i, "about")}=""${r}>${t.children.join("")}`; + let i = this.rdf.prefix, a = YA(i, "Description"), A = `<${a} ${YA(i, "about")}=""${r}>${t.children.join("")}`; this.insertInto(this.rdf, A); return; } @@ -8291,7 +8397,7 @@ var z2 = class { return t; } }; -function Vs(e, t, r = !0) { +function qs(e, t, r = !0) { let n; for (let [i, a] of e) if (a === t) { if (i) return i; @@ -8299,11 +8405,11 @@ function Vs(e, t, r = !0) { } return n; } -function Nm(e, t, r, n) { - let i = (s) => LA(r, s), a = (s, d = "") => `<${i("li")}${d}>${Oc(s)}`, A = (s, d) => `<${i(s)}>${d}`, o; +function aw(e, t, r, n) { + let i = (s) => YA(r, s), a = (s, d = "") => `<${i("li")}${d}>${Nc(s)}`, A = (s, d) => `<${i(s)}>${d}`, o; switch (n.kind) { case "text": - o = Oc(n.text); + o = Nc(n.text); break; case "alt": o = A("Alt", a(n.text, ' xml:lang="x-default"')); @@ -8317,10 +8423,10 @@ function Nm(e, t, r, n) { } return `<${e}${t}>${o}`; } -function J2(e, t, r) { - let n = e.EPDFCatalog_GetMetadata(r, Y, 0); +function Bx(e, t, r) { + let n = e.EPDFCatalog_GetMetadata(r, X, 0); if (n <= 0) return null; - let i = N(t, n, (A) => e.EPDFCatalog_GetMetadata(r, A, n) === n ? t.readBytes(A, n) : null), a = i && ex(i); + let i = V(t, n, (A) => e.EPDFCatalog_GetMetadata(r, A, n) === n ? t.readBytes(A, n) : null), a = i && yx(i); if (!i || !a) return null; try { return { text: new TextDecoder(a, { fatal: !0, ignoreBOM: !0 }).decode(i), encoding: a }; @@ -8328,89 +8434,89 @@ function J2(e, t, r) { return null; } } -function $2(e, t, r, n) { - let i = tx(n); - return N(t, Math.max(i.length, 1), (a) => (t.writeBytes(a, i), e.EPDFCatalog_SetMetadata(r, a, i.length))); +function Dx(e, t, r, n) { + let i = Ex(n); + return V(t, Math.max(i.length, 1), (a) => (t.writeBytes(a, i), e.EPDFCatalog_SetMetadata(r, a, i.length))); } -function ex(e) { +function yx(e) { let [t = 1, r = 1, n = 1, i = 1] = e; return t === 254 && r === 255 ? "utf-16be" : t === 255 && r === 254 ? n === 0 && i === 0 ? null : "utf-16le" : t === 0 && r === 0 ? null : t === 0 ? "utf-16be" : r === 0 ? n === 0 ? null : "utf-16le" : "utf-8"; } -function tx({ text: e, encoding: t }) { +function Ex({ text: e, encoding: t }) { if (t === "utf-8") return new TextEncoder().encode(e); let r = new Uint8Array(e.length * 2), n = new DataView(r.buffer); for (let i = 0; i < e.length; i++) n.setUint16(i * 2, e.charCodeAt(i), t === "utf-16le"); return r; } -function Vm(e, t, r, n) { +function Aw(e, t, r, n) { if (n.length === 0) return; - let i = J2(e, t, r); + let i = Bx(e, t, r); if (!i) return; - let a = U2(i.text, n); - if (!(a === null || a === i.text) && !$2(e, t, r, { ...i, text: a })) throw new f(g.Unknown, "failed to write the XMP metadata"); + let a = vx(i.text, n); + if (!(a === null || a === i.text) && !Dx(e, t, r, { ...i, text: a })) throw new f(g.Unknown, "failed to write the XMP metadata"); } -var TA = "http://purl.org/dc/elements/1.1/", yp = "http://ns.adobe.com/xap/1.0/", Mc = "http://ns.adobe.com/pdf/1.3/", nx = "http://ns.adobe.com/pdfx/1.3/", Nt = (e, t, r) => ({ ns: e, prefix: t, name: r }), rx = { title: { property: Nt(TA, "dc", "title"), kind: "alt" }, author: { property: Nt(TA, "dc", "creator"), kind: "seq" }, subject: { property: Nt(TA, "dc", "description"), kind: "alt" }, keywords: { property: Nt(Mc, "pdf", "Keywords"), kind: "text" }, creator: { property: Nt(yp, "xmp", "CreatorTool"), kind: "text" }, producer: { property: Nt(Mc, "pdf", "Producer"), kind: "text" } }, ix = Nt(yp, "xmp", "CreateDate"), ax = Nt(yp, "xmp", "ModifyDate"), Ax = Nt(Mc, "pdf", "Trapped"), ox = Nt(TA, "dc", "subject"), sx = { true: "True", false: "False", unknown: "Unknown" }; -function cx(e) { +var XA = "http://purl.org/dc/elements/1.1/", Mp = "http://ns.adobe.com/xap/1.0/", Vc = "http://ns.adobe.com/pdf/1.3/", Gx = "http://ns.adobe.com/pdfx/1.3/", Vt = (e, t, r) => ({ ns: e, prefix: t, name: r }), Cx = { title: { property: Vt(XA, "dc", "title"), kind: "alt" }, author: { property: Vt(XA, "dc", "creator"), kind: "seq" }, subject: { property: Vt(XA, "dc", "description"), kind: "alt" }, keywords: { property: Vt(Vc, "pdf", "Keywords"), kind: "text" }, creator: { property: Vt(Mp, "xmp", "CreatorTool"), kind: "text" }, producer: { property: Vt(Vc, "pdf", "Producer"), kind: "text" } }, xx = Vt(Mp, "xmp", "CreateDate"), _x = Vt(Mp, "xmp", "ModifyDate"), Hx = Vt(Vc, "pdf", "Trapped"), Ix = Vt(XA, "dc", "subject"), Qx = { true: "True", false: "False", unknown: "Unknown" }; +function Sx(e) { let t = [], r = (n, i, a = !0) => t.push({ property: n, value: i, add: a }); - for (let [n, { property: i, kind: a }] of Object.entries(rx)) { + for (let [n, { property: i, kind: a }] of Object.entries(Cx)) { let A = e[n]; A !== void 0 && (A === null ? r(i, null) : a === "seq" ? r(i, { kind: a, items: [A] }) : r(i, { kind: a, text: A })); } if (e.keywords !== void 0) { - let n = e.keywords === null ? null : px(e.keywords); - r(ox, n && { kind: "bag", items: n }, !1); + let n = e.keywords === null ? null : Mx(e.keywords); + r(Ix, n && { kind: "bag", items: n }, !1); } - return e.createdAt !== void 0 && r(ix, Ym(e.createdAt)), e.modifiedAt !== void 0 && r(ax, Ym(e.modifiedAt)), e.trapped !== void 0 && r(Ax, { kind: "text", text: sx[e.trapped] }), t; + return e.createdAt !== void 0 && r(xx, ow(e.createdAt)), e.modifiedAt !== void 0 && r(_x, ow(e.modifiedAt)), e.trapped !== void 0 && r(Hx, { kind: "text", text: Qx[e.trapped] }), t; } -function dx(e) { - return Object.entries(e).filter(([t]) => /^[A-Za-z_][A-Za-z0-9._-]*$/.test(t)).map(([t, r]) => ({ property: Nt(nx, "pdfx", t), value: r === null ? null : { kind: "text", text: r }, add: !1 })); +function Ox(e) { + return Object.entries(e).filter(([t]) => /^[A-Za-z_][A-Za-z0-9._-]*$/.test(t)).map(([t, r]) => ({ property: Vt(Gx, "pdfx", t), value: r === null ? null : { kind: "text", text: r }, add: !1 })); } -function px(e) { +function Mx(e) { return e.split(/[,;]/).map((t) => t.trim()).filter((t) => t !== ""); } -function Ym(e) { +function ow(e) { if (e === null) return null; - let t = dt(e); - return { kind: "text", text: _n(t) ?? t }; + let t = pt(e); + return { kind: "text", text: In(t) ?? t }; } -var Ep = class { +var jp = class { constructor(e, t) { this.runtime = e, this.session = t; } update(e, t) { S(t); let { fn: r, mem: n } = this.runtime, i = this.session.requireDocPtr(); - return L2(r, n, i, e), Vm(r, n, i, cx(e)), S(t), { metadata: new wr(this.runtime, this.session).read(t), meta: { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() } }; + return ux(r, n, i, e), Aw(r, n, i, Sx(e)), S(t), { metadata: new br(this.runtime, this.session).read(t), meta: { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() } }; } updateCustom(e, t) { S(t); let { fn: r, mem: n } = this.runtime, i = this.session.requireDocPtr(); - return Q2(r, n, i, e), Vm(r, n, i, dx(e)), S(t), { custom: new wr(this.runtime, this.session).readCustom(t), meta: { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() } }; + return Ax(r, n, i, e), Aw(r, n, i, Ox(e)), S(t), { custom: new br(this.runtime, this.session).readCustom(t), meta: { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() } }; } -}, Xm = { bytes: 124, offsets: { looseBox: 0, tightBox: 16, looseQuad: 32, tightQuad: 64, matrix: 96, flags: 120 }, flags: { hasTightBox: 1, hasLooseQuad: 2, hasTightQuad: 4, upright: 8, space: 16, empty: 32, synthesized: 64 } }; +}, sw = { bytes: 124, offsets: { looseBox: 0, tightBox: 16, looseQuad: 32, tightQuad: 64, matrix: 96, flags: 120 }, flags: { hasTightBox: 1, hasLooseQuad: 2, hasTightQuad: 4, upright: 8, space: 16, empty: 32, synthesized: 64 } }; function bn(e, t, r = 0) { return { left: pe(e, t, r), top: pe(e, t, r + 4), right: pe(e, t, r + 8), bottom: pe(e, t, r + 12) }; } -function SF(e, t, r) { +function tv(e, t, r) { e.poke(t, "f32", r.left, 0), e.poke(t, "f32", r.top, 4), e.poke(t, "f32", r.right, 8), e.poke(t, "f32", r.bottom, 12); } -function lx(e, t) { +function jx(e, t) { return { a: pe(e, t, 0), b: pe(e, t, 4), c: pe(e, t, 8), d: pe(e, t, 12), e: pe(e, t, 16), f: pe(e, t, 20) }; } function pe(e, t, r = 0) { return Number(e.peek(t, "f32", r)); } -function ye(e, t, r = 0) { +function Ee(e, t, r = 0) { return Number(e.peek(t, "i32", r)); } -var tt = { xyz: 1, fit: 2, fitH: 3, fitV: 4, fitR: 5, fitB: 6, fitBH: 7, fitBV: 8 }, ux = { fit: tt.fit, fitH: tt.fitH, fitV: tt.fitV, fitR: tt.fitR, fitB: tt.fitB, fitBH: tt.fitBH, fitBV: tt.fitBV }, Wm = 4; -function Xo(e, t, r, n) { +var tt = { xyz: 1, fit: 2, fitH: 3, fitV: 4, fitR: 5, fitB: 6, fitBH: 7, fitBV: 8 }, Rx = { fit: tt.fit, fitH: tt.fitH, fitV: tt.fitV, fitR: tt.fitR, fitB: tt.fitB, fitBH: tt.fitBH, fitBV: tt.fitBV }, cw = 4; +function $o(e, t, r, n) { let i = e.EPDFDest_GetPageObjectNumber(r, n); if (i === 0) return null; - let a = be(i), A = fe(t, [8, Wm * 4], ([d, l]) => { - let m = e.FPDFDest_GetView(n, d, l), F = Math.min(ye(t, d), Wm), k = []; - for (let P = 0; P < F; P++) k.push(pe(t, l, P * 4)); - return { code: m, params: k }; + let a = be(i), A = Fe(t, [8, cw * 4], ([d, u]) => { + let m = e.FPDFDest_GetView(n, d, u), F = Math.min(Ee(t, d), cw), h = []; + for (let P = 0; P < F; P++) h.push(pe(t, u, P * 4)); + return { code: m, params: h }; }), o = e.EPDFDest_GetViewNullParams(n), s = (d) => d < A.params.length && (o & 1 << d) === 0 ? A.params[d] : null; switch (A.code) { case tt.xyz: { @@ -8435,13 +8541,13 @@ function Xo(e, t, r, n) { return null; } } -var mx = { maxModels: 512, maxNodes: 16384, maxScriptCodeUnits: 16e6, maxTargetEntries: 4096, maxPayloadCodeUnits: 262144 }, wx = { 0: "unknown", 1: "goto", 2: "goto-remote", 3: "goto-embedded", 4: "launch", 5: "thread", 6: "uri", 7: "sound", 8: "movie", 9: "hide", 10: "named", 11: "submit-form", 12: "reset-form", 13: "import-data", 14: "javascript", 15: "set-ocg-state", 16: "rendition", 17: "transition", 18: "goto-3d-view" }, bx = 1, gx = 2, fx = 4, Um = 4294967295; -function Fx(e) { - return wx[e] ?? "unknown"; +var Lx = { maxModels: 512, maxNodes: 16384, maxScriptCodeUnits: 16e6, maxTargetEntries: 4096, maxPayloadCodeUnits: 262144 }, Tx = { 0: "unknown", 1: "goto", 2: "goto-remote", 3: "goto-embedded", 4: "launch", 5: "thread", 6: "uri", 7: "sound", 8: "movie", 9: "hide", 10: "named", 11: "submit-form", 12: "reset-form", 13: "import-data", 14: "javascript", 15: "set-ocg-state", 16: "rendition", 17: "transition", 18: "goto-3d-view" }, Kx = 1, Nx = 2, Vx = 4, dw = 4294967295; +function Yx(e) { + return Tx[e] ?? "unknown"; } -var Fr = class { - constructor(e = mx) { - this.limits = e, K(this, "models", 0), K(this, "nodes", 0), K(this, "scriptCodeUnits", 0), K(this, "targetEntries", 0), K(this, "payloadCodeUnits", 0); +var Pr = class { + constructor(e = Lx) { + this.limits = e, N(this, "models", 0), N(this, "nodes", 0), N(this, "scriptCodeUnits", 0), N(this, "targetEntries", 0), N(this, "payloadCodeUnits", 0); } addModel(e) { this.models += 1, this.nodes += e, this.assertWithinBudget(); @@ -8459,184 +8565,251 @@ var Fr = class { if (this.models > this.limits.maxModels || this.nodes > this.limits.maxNodes || this.scriptCodeUnits > this.limits.maxScriptCodeUnits || this.targetEntries > this.limits.maxTargetEntries || this.payloadCodeUnits > this.limits.maxPayloadCodeUnits) throw new f(g.MalformedPdf, "aggregate PDF action read budget exceeded", { details: { models: this.models, nodes: this.nodes, scriptCodeUnits: this.scriptCodeUnits, targetEntries: this.targetEntries, payloadCodeUnits: this.payloadCodeUnits, limits: this.limits } }); } }; -function Nn(e, t, r, n, i) { - if (n === Y) return null; +function Vn(e, t, r, n, i) { + if (n === X) return null; try { let a = e.EPDFAction_GetNodeCount(n); - if (!Number.isInteger(a) || a < 0) throw KA("invalid node count", { nodeCount: a }); + if (!Number.isInteger(a) || a < 0) throw WA("invalid node count", { nodeCount: a }); i.addModel(a); - let A = e.EPDFAction_GetWarningFlags(n) >>> 0, o = !e.EPDFAction_IsComplete(n), s = vx(e.EPDFAction_GetRootNode(n), a), d = /* @__PURE__ */ new Set(), l = !1, m = (C) => { - let j = C(Y, 0); - return j <= 0 ? null : (i.reservePayloadBytes(j), Ke(t, C)); - }, F = (C) => fe(t, [4], ([j]) => C(j) ? ye(t, j) !== 0 : null), k = (C, j) => fe(t, [4], ([X]) => { - if (!e.EPDFAction_GetNodeTargetObjectNumber(n, C, j, X)) return null; - let ge = ye(t, X) >>> 0; - return ge === 0 ? null : ge; - }), P = (C, j) => { - let X = []; - for (let ge = 0; ge < j; ge++) { - let we = m((U, ae) => e.EPDFAction_GetNodeTargetName(n, C, ge, U, ae)); + let A = e.EPDFAction_GetWarningFlags(n) >>> 0, o = !e.EPDFAction_IsComplete(n), s = Xx(e.EPDFAction_GetRootNode(n), a), d = /* @__PURE__ */ new Set(), u = !1, m = (C) => { + let O = C(X, 0); + return O <= 0 ? null : (i.reservePayloadBytes(O), Ke(t, C)); + }, F = (C) => Fe(t, [4], ([O]) => C(O) ? Ee(t, O) !== 0 : null), h = (C, O) => Fe(t, [4], ([K]) => { + if (!e.EPDFAction_GetNodeTargetObjectNumber(n, C, O, K)) return null; + let fe = Ee(t, K) >>> 0; + return fe === 0 ? null : fe; + }), P = (C, O) => { + let K = []; + for (let fe = 0; fe < O; fe++) { + let we = m((q, ae) => e.EPDFAction_GetNodeTargetName(n, C, fe, q, ae)); if (we !== null) { - X.push({ kind: "name", name: we }); + K.push({ kind: "name", name: we }); continue; } - let O = k(C, ge); - if (O === null) return null; - X.push({ kind: "objectNumber", objectNumber: O }); + let M = h(C, fe); + if (M === null) return null; + K.push({ kind: "objectNumber", objectNumber: M }); } - return X; - }, D = (C) => fe(t, [4, 4], ([j, X]) => e.EPDFAction_GetNodeResetForm(n, C, j, X) ? { hasFields: ye(t, j) !== 0, exclude: ye(t, X) !== 0 } : null), G = (C) => fe(t, [4, 4], ([j, X]) => e.EPDFAction_GetNodeSubmitForm(n, C, j, X) ? { hasFields: ye(t, j) !== 0, flags: ye(t, X) >>> 0 } : null), I = (C) => { - if (d.has(C)) throw KA("native action model contains a cycle", { nodeId: C }); + return K; + }, D = (C) => Fe(t, [4, 4], ([O, K]) => e.EPDFAction_GetNodeResetForm(n, C, O, K) ? { hasFields: Ee(t, O) !== 0, exclude: Ee(t, K) !== 0 } : null), G = (C) => Fe(t, [4, 4], ([O, K]) => e.EPDFAction_GetNodeSubmitForm(n, C, O, K) ? { hasFields: Ee(t, O) !== 0, flags: Ee(t, K) >>> 0 } : null), I = (C) => { + if (d.has(C)) throw WA("native action model contains a cycle", { nodeId: C }); d.add(C); try { - let j = Fx(e.EPDFAction_GetNodeType(n, C)), X = Ke(t, (U, ae) => e.EPDFAction_GetNodeSubtype(n, C, U, ae)) ?? "", ge = e.EPDFAction_GetNextCount(n, C); - if (!Number.isInteger(ge) || ge < 0) throw KA("invalid action child count", { nodeId: C, nextCount: ge }); + let O = Yx(e.EPDFAction_GetNodeType(n, C)), K = Ke(t, (q, ae) => e.EPDFAction_GetNodeSubtype(n, C, q, ae)) ?? "", fe = e.EPDFAction_GetNextCount(n, C); + if (!Number.isInteger(fe) || fe < 0) throw WA("invalid action child count", { nodeId: C, nextCount: fe }); let we = []; - for (let U = 0; U < ge; U++) { - let ae = OF(e.EPDFAction_GetNextAt(n, C, U), a); + for (let q = 0; q < fe; q++) { + let ae = nv(e.EPDFAction_GetNextAt(n, C, q), a); we.push(I(ae)); } - let O = () => (l = !0, { type: "unknown", subtype: X, next: we }); - switch (j) { + let M = () => (u = !0, { type: "unknown", subtype: K, next: we }); + switch (O) { case "javascript": { - if (!e.EPDFAction_NodeHasJavaScript(n, C)) return O(); - let U = ue(t, (ae, Ae) => e.EPDFAction_GetNodeJavaScript(n, C, ae, Ae)) ?? ""; - return i.addScript(U), { type: j, subtype: X, script: U, next: we }; + if (!e.EPDFAction_NodeHasJavaScript(n, C)) return M(); + let q = le(t, (ae, Ae) => e.EPDFAction_GetNodeJavaScript(n, C, ae, Ae)) ?? ""; + return i.addScript(q), { type: O, subtype: K, script: q, next: we }; } case "rendition": { - if (!e.EPDFAction_NodeHasJavaScript(n, C)) return { type: j, subtype: X, next: we }; - let U = ue(t, (ae, Ae) => e.EPDFAction_GetNodeJavaScript(n, C, ae, Ae)) ?? ""; - return i.addScript(U), { type: j, subtype: X, script: U, next: we }; + if (!e.EPDFAction_NodeHasJavaScript(n, C)) return { type: O, subtype: K, next: we }; + let q = le(t, (ae, Ae) => e.EPDFAction_GetNodeJavaScript(n, C, ae, Ae)) ?? ""; + return i.addScript(q), { type: O, subtype: K, script: q, next: we }; } case "goto": { - let U = e.EPDFAction_GetNodeDest(r, n, C), ae = U !== Y ? Xo(e, t, r, U) : null; - return ae ? { type: j, subtype: X, destination: ae, next: we } : O(); + let q = e.EPDFAction_GetNodeDest(r, n, C), ae = q !== X ? $o(e, t, r, q) : null; + return ae ? { type: O, subtype: K, destination: ae, next: we } : M(); } case "uri": { - let U = m((ae, Ae) => e.EPDFAction_GetNodeURI(r, n, C, ae, Ae)); - return U === null ? O() : { type: j, subtype: X, uri: U, isMap: F((ae) => e.EPDFAction_GetNodeURIIsMap(n, C, ae)) ?? !1, next: we }; + let q = m((ae, Ae) => e.EPDFAction_GetNodeURI(r, n, C, ae, Ae)); + return q === null ? M() : { type: O, subtype: K, uri: q, isMap: F((ae) => e.EPDFAction_GetNodeURIIsMap(n, C, ae)) ?? !1, next: we }; } case "named": { - let U = m((ae, Ae) => e.EPDFAction_GetNodeName(n, C, ae, Ae)); - return U === null ? O() : { type: j, subtype: X, name: U, next: we }; + let q = m((ae, Ae) => e.EPDFAction_GetNodeName(n, C, ae, Ae)); + return q === null ? M() : { type: O, subtype: K, name: q, next: we }; } case "hide": { - let U = e.EPDFAction_GetNodeTargetCount(n, C); - if (!Number.isInteger(U) || U < 0) return O(); - i.reserveTargets(U); - let ae = P(C, U); - return ae === null ? O() : { type: j, subtype: X, targets: ae, hide: F((Ae) => e.EPDFAction_GetNodeHideFlag(n, C, Ae)) ?? !0, next: we }; + let q = e.EPDFAction_GetNodeTargetCount(n, C); + if (!Number.isInteger(q) || q < 0) return M(); + i.reserveTargets(q); + let ae = P(C, q); + return ae === null ? M() : { type: O, subtype: K, targets: ae, hide: F((Ae) => e.EPDFAction_GetNodeHideFlag(n, C, Ae)) ?? !0, next: we }; } case "reset-form": { - let U = D(C), ae = e.EPDFAction_GetNodeTargetCount(n, C); - if (U === null || !Number.isInteger(ae) || ae < 0) return O(); + let q = D(C), ae = e.EPDFAction_GetNodeTargetCount(n, C); + if (q === null || !Number.isInteger(ae) || ae < 0) return M(); i.reserveTargets(ae); - let Ae = U.hasFields ? P(C, ae) : null; - return U.hasFields && Ae === null ? O() : { type: j, subtype: X, fields: Ae, exclude: U.exclude, next: we }; + let Ae = q.hasFields ? P(C, ae) : null; + return q.hasFields && Ae === null ? M() : { type: O, subtype: K, fields: Ae, exclude: q.exclude, next: we }; } case "submit-form": { - if (typeof e.EPDFAction_GetNodeSubmitForm != "function") return { type: j, subtype: X, next: we }; - let U = G(C); - if (U === null) return O(); - let ae = m((ke, nn) => e.EPDFAction_GetNodeSubmitFormURL(n, C, ke, nn)); - if (ae === null) return O(); + if (typeof e.EPDFAction_GetNodeSubmitForm != "function") return { type: O, subtype: K, next: we }; + let q = G(C); + if (q === null) return M(); + let ae = m((ke, rn) => e.EPDFAction_GetNodeSubmitFormURL(n, C, ke, rn)); + if (ae === null) return M(); let Ae = e.EPDFAction_GetNodeTargetCount(n, C); - if (!Number.isInteger(Ae) || Ae < 0) return O(); + if (!Number.isInteger(Ae) || Ae < 0) return M(); i.reserveTargets(Ae); - let ot = U.hasFields ? P(C, Ae) : null; - if (U.hasFields && ot === null) return O(); - let q = m((ke, nn) => e.EPDFAction_GetNodeSubmitFormCharSet(n, C, ke, nn)); - return { type: j, subtype: X, payload: { url: ae, fields: ot, ...q9(U.flags), ...q === null ? {} : { charSet: q } }, next: we }; + let ot = q.hasFields ? P(C, Ae) : null; + if (q.hasFields && ot === null) return M(); + let Z = m((ke, rn) => e.EPDFAction_GetNodeSubmitFormCharSet(n, C, ke, rn)); + return { type: O, subtype: K, payload: { url: ae, fields: ot, ...E9(q.flags), ...Z === null ? {} : { charSet: Z } }, next: we }; } case "goto-remote": case "goto-embedded": case "launch": { - let U = m((ae, Ae) => e.EPDFAction_GetNodeFilePath(n, C, ae, Ae)); - return U === null ? O() : { type: j, subtype: X, filePath: U, next: we }; + let q = m((ae, Ae) => e.EPDFAction_GetNodeFilePath(n, C, ae, Ae)); + return q === null ? M() : { type: O, subtype: K, filePath: q, next: we }; } default: - return { type: j, subtype: X, next: we }; + return { type: O, subtype: K, next: we }; } } finally { d.delete(C); } - }, _ = s === null ? null : I(s), H = Px(A, o); - return l && H.push("payload-dropped"), { root: _, incomplete: o, warnings: H }; + }, _ = s === null ? null : I(s), H = Wx(A, o); + return u && H.push("payload-dropped"), { root: _, incomplete: o, warnings: H }; } finally { e.EPDFAction_CloseModel(n); } } -function vx(e, t) { - return e === -1 || e === Um || e >>> 0 === Um ? null : OF(e, t); +function Xx(e, t) { + return e === -1 || e === dw || e >>> 0 === dw ? null : nv(e, t); } -function OF(e, t) { - if (!Number.isInteger(e) || e < 0 || e >= t) throw KA("native action model returned an invalid node id", { raw: e, nodeCount: t }); +function nv(e, t) { + if (!Number.isInteger(e) || e < 0 || e >= t) throw WA("native action model returned an invalid node id", { raw: e, nodeCount: t }); return e; } -function Px(e, t) { +function Wx(e, t) { let r = []; - return (e & bx) !== 0 && r.push("cycle-dropped"), (e & gx) !== 0 && r.push("malformed-next"), ((e & fx) !== 0 || t) && r.push("incomplete"), r; + return (e & Kx) !== 0 && r.push("cycle-dropped"), (e & Nx) !== 0 && r.push("malformed-next"), ((e & Vx) !== 0 || t) && r.push("incomplete"), r; } -function KA(e, t) { +function WA(e, t) { return new f(g.MalformedPdf, e, { details: t }); } -function MF(e) { +var rv = { x: 0, y: 1, distance: 2, area: 3, angle: 4, slope: 5 }, Yc = ["decimal", "fraction", "round", "truncate"], iv = ["thousands", "decimal", "prefixSpacing", "suffixSpacing"]; +function Oe(e) { + if (!e) throw new f(g.Unknown, "Measurement native write failed after preflight"); +} +function Sr(e, t, r = "f32") { + return V(e, 4, (n) => t(n) ? Number(e.peek(n, r)) : void 0); +} +function Xc(e, t, r) { + return t ? V(e, 8, (n) => (e.poke(n, "f32", t.x), e.poke(n, "f32", t.y, 4), r(n))) : r(X); +} +function av(e, t, r) { + if (!r) return; + let n = e.EPDFMeasure_GetSubtype(r); + if (n !== 1) return { subtype: n === 2 ? "geospatial" : "unknown" }; + let i = (d) => Array.from({ length: e.EPDFMeasure_CountFormats(r, d) }, (u, m) => { + let F = e.EPDFMeasure_GetFormat(r, d, m), h = { unit: le(t, (H, C) => e.EPDFNumberFormat_GetUnit(F, H, C)) ?? "" }, P = Sr(t, (H) => e.EPDFNumberFormat_GetConversion(F, H)); + P !== void 0 && (h.conversion = P); + let D = Sr(t, (H) => e.EPDFNumberFormat_GetFraction(F, H), "i32"); + D !== void 0 && Yc[D] && (h.fraction = Yc[D]); + let G = Sr(t, (H) => e.EPDFNumberFormat_GetPrecision(F, H), "i32"); + G !== void 0 && (h.precision = G); + let I = Sr(t, (H) => e.EPDFNumberFormat_GetFixedDenominator(F, H), "i32"); + I !== void 0 && (h.fixed = !!I); + let _ = Sr(t, (H) => e.EPDFNumberFormat_GetLabelPosition(F, H), "i32"); + _ !== void 0 && (h.labelPosition = _ === 1 ? "prefix" : "suffix"); + for (let [H, C] of iv.entries()) { + let O = le(t, (K, fe) => e.EPDFNumberFormat_GetText(F, H, K, fe)); + O !== null && (h[C] = O); + } + return h; + }), a = le(t, (d, u) => e.EPDFMeasure_GetRatio(r, d, u)), A = V(t, 8, (d) => e.EPDFMeasure_GetOrigin(r, d) ? { x: Number(t.peek(d, "f32")), y: Number(t.peek(d, "f32", 4)) } : void 0), o = Sr(t, (d) => e.EPDFMeasure_GetCYX(r, d)), s = { subtype: "rectilinear", x: i(0), distance: i(2), area: i(3), ...a !== null ? { ratio: a } : {}, ...A ? { origin: A } : {}, ...o !== void 0 ? { cyx: o } : {} }; + for (let d of ["y", "angle", "slope"]) { + let u = i(rv[d]); + u.length && (s[d] = u); + } + return s; +} +function Av(e, t, r, n) { + Oe(r), n.ratio !== void 0 && Oe(Ht(t, n.ratio, (i) => e.EPDFMeasure_SetRatio(r, i))), n.origin && Oe(Xc(t, n.origin, (i) => e.EPDFMeasure_SetOrigin(r, i))), n.cyx !== void 0 && V(t, 4, (i) => { + t.poke(i, "f32", n.cyx), Oe(e.EPDFMeasure_SetCYX(r, i)); + }); + for (let [i, a] of Object.entries(rv)) for (let A of n[i] ?? []) { + let o = t.writeU16String(A.unit), s; + try { + s = e.EPDFMeasure_AddFormat(r, a, o, A.conversion); + } finally { + t.free(o); + } + Oe(s), A.fraction !== void 0 && Oe(e.EPDFNumberFormat_SetFraction(s, Yc.indexOf(A.fraction))), A.precision !== void 0 && Oe(e.EPDFNumberFormat_SetPrecision(s, A.precision)), A.fixed !== void 0 && Oe(e.EPDFNumberFormat_SetFixedDenominator(s, A.fixed)), A.labelPosition !== void 0 && Oe(e.EPDFNumberFormat_SetLabelPosition(s, A.labelPosition === "prefix" ? 1 : 0)); + for (let [d, u] of iv.entries()) A[u] !== void 0 && Oe(Ht(t, A[u], (m) => e.EPDFNumberFormat_SetText(s, d, m))); + } +} +function Rp(e, t, r, n) { + let i = [], a = e.EPDFPage_CountViewportsRaw(r, n); + for (let A = 0; A < a; A++) { + let o = e.EPDFPage_GetViewportRaw(r, n, A); + if (o) try { + let s = V(t, 16, (m) => e.EPDFViewport_GetBBox(o, m) ? Se(bn(t, m)) : void 0); + if (!s) continue; + let d = le(t, (m, F) => e.EPDFViewport_GetName(o, m, F)), u = av(e, t, e.EPDFViewport_GetMeasure(o)); + i.push({ bbox: s, owned: d === fc && (!u || u.subtype === "rectilinear"), name: d, measure: u ?? null }); + } finally { + e.EPDFViewport_Close(o); + } + } + return i; +} +function ov(e) { return e.kind === "wasm" ? 4 : 8; } -function jF(e, t, r, n) { +function sv(e, t, r, n) { e.kind === "wasm" ? e.mem.poke(t, "i32", Number(n), r) : e.mem.poke(t, "i64", BigInt(n), r); } -function ha(e, t, r) { - let n = MF(e); - return N(e.mem, Math.max(1, t.length * n), (i) => (t.forEach((a, A) => jF(e, i, A * n, a)), r(i, t.length))); +function Da(e, t, r) { + let n = ov(e); + return V(e.mem, Math.max(1, t.length * n), (i) => (t.forEach((a, A) => sv(e, i, A * n, a)), r(i, t.length))); } -function Ai(e, t, r) { +function di(e, t, r) { let { mem: n } = e, i = t.map((a) => n.writeU16String(a)); try { - return ha(e, i, r); + return Da(e, i, r); } finally { for (let a = i.length - 1; a >= 0; a--) n.free(i[a]); } } -var RF = [null, "decimal", "upperRoman", "lowerRoman", "upperLetters", "lowerLetters"]; -function LF(e, t) { +var cv = [null, "decimal", "upperRoman", "lowerRoman", "upperLetters", "lowerLetters"]; +function dv(e, t) { let { fn: r, mem: n } = e, i = r.EPDFDoc_GetPageLabelSectionCount(t), a = []; - return fe(n, [4, 4, 4], ([A, o, s]) => { + return Fe(n, [4, 4, 4], ([A, o, s]) => { for (let d = 0; d < i; d++) { - let l = ue(n, (m, F) => r.EPDFDoc_GetPageLabelSectionAt(t, d, m, F, A, o, s)); - a.push({ firstPage: ye(n, A), style: RF[ye(n, o)] ?? null, firstNumber: ye(n, s), prefix: l ?? "" }); + let u = le(n, (m, F) => r.EPDFDoc_GetPageLabelSectionAt(t, d, m, F, A, o, s)); + a.push({ firstPage: Ee(n, A), style: cv[Ee(n, o)] ?? null, firstNumber: Ee(n, s), prefix: u ?? "" }); } }), a; } -function hx(e, t, r) { +function Ux(e, t, r) { let { fn: n, mem: i } = e; - if (!Wt(i, r.map((a) => a.firstPage), (a) => Wt(i, r.map((A) => RF.indexOf(A.style)), (A) => Wt(i, r.map((o) => o.firstNumber), (o) => Ai(e, r.map((s) => s.prefix), (s, d) => n.EPDFDoc_SetPageLabelSections(t, a, A, o, s, d)))))) throw new f(g.Unknown, "EPDFDoc_SetPageLabelSections refused", { details: { sections: r.length } }); + if (!Ut(i, r.map((a) => a.firstPage), (a) => Ut(i, r.map((A) => cv.indexOf(A.style)), (A) => Ut(i, r.map((o) => o.firstNumber), (o) => di(e, r.map((s) => s.prefix), (s, d) => n.EPDFDoc_SetPageLabelSections(t, a, A, o, s, d)))))) throw new f(g.Unknown, "EPDFDoc_SetPageLabelSections refused", { details: { sections: r.length } }); } -var kx = 0, Bx = 1, Dx = 2, yx = 3, Ex = 4, cn = class { +var qx = 0, Zx = 1, zx = 2, Jx = 3, $x = 4, Ct = class { constructor(e, t) { this.runtime = e, this.session = t; } read(e) { S(e); - let { fn: t, mem: r } = this.runtime, n = this.session.requireDocPtr(), i = this.session.allRecords(), a = new Fr(), A = LF(this.runtime, n); - return fe(r, [16, 4, 4], ([o, s, d]) => { - let l = i.map((m) => { + let { fn: t, mem: r } = this.runtime, n = this.session.requireDocPtr(), i = this.session.allRecords(), a = new Pr(), A = dv(this.runtime, n); + return Fe(r, [16, 4, 4], ([o, s, d]) => { + let u = i.map((m) => { S(e); - let F = m.pageIndex, k = Gx(t, r, n, m.pageObjectNumber, a), P = Wo(t, r, n, F, o); - return { index: F, ref: be(m.pageObjectNumber), label: H9(A, F), size: mD(P.crop), rotation: TF(t, r, n, F, d), userUnit: _x(t, r, n, F, s), tabOrder: Ix(t, r, n, F), boxes: P, pdfCropBox: P.crop, ...k ? { actions: k } : {} }; + let F = m.pageIndex, h = e_(t, r, n, m.pageObjectNumber, a), P = Rp(t, r, n, F), D = cA(t, r, n, F, o); + return { index: F, ref: be(m.pageObjectNumber), label: A9(A, F), size: ND(D.crop), rotation: pv(t, r, n, F, d), userUnit: r_(t, r, n, F, s), tabOrder: a_(t, r, n, F), boxes: D, pdfCropBox: D.crop, ...h ? { actions: h } : {}, ...P.length ? { viewports: P } : {} }; }); - return { pageCount: l.length, pages: l, labels: A, namedPages: Mx(t, r, n) }; + return { pageCount: u.length, pages: u, labels: A, namedPages: c_(t, r, n) }; }); } }; -function Gx(e, t, r, n, i) { - let a = {}, A = Nn(e, t, r, e.EPDFDoc_GetPageActionModel(r, n, 0), i), o = Nn(e, t, r, e.EPDFDoc_GetPageActionModel(r, n, 1), i); +function e_(e, t, r, n, i) { + let a = {}, A = Vn(e, t, r, e.EPDFDoc_GetPageActionModel(r, n, 0), i), o = Vn(e, t, r, e.EPDFDoc_GetPageActionModel(r, n, 1), i); return A && (a.open = A), o && (a.close = o), A || o ? a : void 0; } -function Cx(e, t, r, n, i, a) { +function t_(e, t, r, n, i, a) { if (e.EPDF_GetPageBoxByIndex(r, n, i, a)) return Se(bn(t, a)); } -function cr(e, t) { +function xn(e, t) { let r = /* @__PURE__ */ new Map(), n = null; return (i) => { let a = r.get(i.objectNumber); @@ -8644,71 +8817,71 @@ function cr(e, t) { n ?? (n = new Map(t.allRecords().map((m) => [m.pageObjectNumber, m.pageIndex]))); let A = n.get(i.objectNumber); if (A === void 0) throw new f(g.NotFound, `no page with object number ${i.objectNumber}`); - let { fn: o, mem: s } = e, d = t.requireDocPtr(), l = N(s, 16, (m) => Wo(o, s, d, A, m).crop); - return r.set(i.objectNumber, l), l; + let { fn: o, mem: s } = e, d = t.requireDocPtr(), u = V(s, 16, (m) => cA(o, s, d, A, m).crop); + return r.set(i.objectNumber, u), u; }; } -function Wo(e, t, r, n, i) { - let a = (A) => Cx(e, t, r, n, A, i); - return Py({ media: a(kx), crop: a(Bx), bleed: a(Dx), trim: a(yx), art: a(Ex) }); +function cA(e, t, r, n, i) { + let a = (A) => t_(e, t, r, n, A, i); + return tE({ media: a(qx), crop: a(Zx), bleed: a(zx), trim: a(Jx), art: a($x) }); } -function xx(e, t, r) { - return N(e.mem, 4, (n) => TF(e.fn, e.mem, t, r, n)); +function n_(e, t, r) { + return V(e.mem, 4, (n) => pv(e.fn, e.mem, t, r, n)); } -function TF(e, t, r, n, i) { - return e.EPDF_GetPageRotateByIndex(r, n, i) ? hy(ye(t, i)) : 0; +function pv(e, t, r, n, i) { + return e.EPDF_GetPageRotateByIndex(r, n, i) ? nE(Ee(t, i)) : 0; } -function _x(e, t, r, n, i) { +function r_(e, t, r, n, i) { if (!e.EPDF_GetPageUserUnitByIndex(r, n, i)) return 1; let a = pe(t, i, 0); return Number.isFinite(a) && a > 0 ? a : 1; } -var Hx = { R: "rows", C: "columns", S: "structure", A: "annotations", W: "widgets" }; -function Ix(e, t, r, n) { +var i_ = { R: "rows", C: "columns", S: "structure", A: "annotations", W: "widgets" }; +function a_(e, t, r, n) { let i = Ke(t, (a, A) => e.EPDF_GetPageTabOrderByIndex(r, n, a, A)); - return i ? Hx[i] ?? null : null; + return i ? i_[i] ?? null : null; } -var Qx = [0, 1], Sx = 0, Ox = 1; -function Mx(e, t, r) { +var A_ = [0, 1], o_ = 0, s_ = 1; +function c_(e, t, r) { let n = []; - return fe(t, [4, 4], ([i, a]) => { - for (let A of Qx) { + return Fe(t, [4, 4], ([i, a]) => { + for (let A of A_) { let o = e.EPDFDoc_GetNamedPageCount(r, A); for (let s = 0; s < o; s++) { - let d = ue(t, (F, k) => e.EPDFDoc_GetNamedPageAt(r, A, s, F, k, i, a), ""); + let d = le(t, (F, h) => e.EPDFDoc_GetNamedPageAt(r, A, s, F, h, i, a), ""); if (d === null) continue; - let l = Number(t.peek(i, "i32")) >>> 0, m = Number(t.peek(a, "i32")); - n.push({ name: d, target: m === Sx ? { kind: "page", page: be(l) } : m === Ox ? { kind: "template", objectNumber: l } : { kind: "dangling" } }); + let u = Number(t.peek(i, "i32")) >>> 0, m = Number(t.peek(a, "i32")); + n.push({ name: d, target: m === o_ ? { kind: "page", page: be(u) } : m === s_ ? { kind: "template", objectNumber: u } : { kind: "dangling" } }); } } }), n; } -function NA(e, t, r) { +function UA(e, t, r) { if (t === "start") return 0; if (t === "end") return r; - let { pageIndex: n } = e.resolvePageRef(Sa(t)); + let { pageIndex: n } = e.resolvePageRef(Ma(t)); return "before" in t ? n : n + 1; } -var jc = class { +var Wc = class { constructor(e, t) { this.runtime = e, this.session = t; } reorder(e, t, r) { let n = this.session.resolvePageRefs(e); S(r), this.requireUniquePageObjectNumbers("pages.reorder", n); - let i = Sa(t); + let i = Ma(t); if (i && n.includes(i.objectNumber)) throw new f(g.InvalidArg, `pages.reorder: the neighbour page ${i.objectNumber} is one of the pages that move`, { details: { field: "position" } }); - let { fn: a, mem: A } = this.runtime, o = this.session.requireDocPtr(), s = n.map((P) => (S(r), this.session.recordByObjectNumber(P).pageIndex)), d = NA(this.session, t, a.FPDF_GetPageCount(o)), l = d - s.filter((P) => P < d).length, m = A.alloc(4 * s.length), F; + let { fn: a, mem: A } = this.runtime, o = this.session.requireDocPtr(), s = n.map((P) => (S(r), this.session.recordByObjectNumber(P).pageIndex)), d = UA(this.session, t, a.FPDF_GetPageCount(o)), u = d - s.filter((P) => P < d).length, m = A.alloc(4 * s.length), F; try { for (let P = 0; P < s.length; P++) A.poke(m, "i32", s[P], 4 * P); - F = a.FPDF_MovePages(o, m, s.length, l); + F = a.FPDF_MovePages(o, m, s.length, u); } finally { A.free(m); } - if (!F) throw new f(g.InvalidArg, `FPDF_MovePages rejected the request (toIndex=${l}, fromIndices=[${s.join(",")}])`); + if (!F) throw new f(g.InvalidArg, `FPDF_MovePages rejected the request (toIndex=${u}, fromIndices=[${s.join(",")}])`); this.session.refreshPageRegistry(); - let k = new cn(this.runtime, this.session).read(r); - return { pages: n.map(be), layout: k, meta: { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() } }; + let h = new Ct(this.runtime, this.session).read(r); + return { pages: n.map(be), layout: h, meta: { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() } }; } rotate(e, t, r) { let n = this.session.resolvePageRefs(e); @@ -8717,7 +8890,7 @@ var jc = class { for (let o of n) this.session.recordByObjectNumber(o); let A = t / 90; for (let o of n) if (!i.EPDFDoc_SetPageRotationByObjectNumber(a, o, A)) throw new f(g.Unknown, `EPDFDoc_SetPageRotationByObjectNumber rejected page ${o} after validation`); - return { layout: new cn(this.runtime, this.session).read(r), meta: { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() } }; + return { layout: new Ct(this.runtime, this.session).read(r), meta: { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() } }; } delete(e, t) { let r = this.session.resolvePageRefs(e); @@ -8727,19 +8900,19 @@ var jc = class { let A = this.session.pagePool(); for (let o of r) if (this.session.recordByObjectNumber(o), A.isHeld(o)) throw new f(g.Unknown, `internal invariant violation: pagePtr for page ${o} is still held during pages.delete`); for (let o of r) if (!n.EPDFDoc_DeletePageByObjectNumber(i, o)) throw new f(g.Unknown, `EPDFDoc_DeletePageByObjectNumber rejected page ${o} after validation`); - return this.session.refreshPageRegistry(), { layout: new cn(this.runtime, this.session).read(t), meta: { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() } }; + return this.session.refreshPageRegistry(), { layout: new Ct(this.runtime, this.session).read(t), meta: { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() } }; } setName(e, t) { if (S(t), e.name.length === 0) throw new f(g.InvalidArg, "pages.setName requires a non-empty name"); let { fn: r, mem: n } = this.runtime, i = this.session.requireDocPtr(), a = this.session.resolvePageRef(e.page).pageObjectNumber; - if (e.replace !== void 0 && e.replace !== e.name && e.replace.length > 0 && Ct(n, e.replace, (A) => r.EPDFDoc_RemoveNamedPage(i, A)), !Ct(n, e.name, (A) => r.EPDFDoc_SetNamedPage(i, A, a))) throw new f(g.Unknown, `EPDFDoc_SetNamedPage rejected '${e.name}' for page ${a}`); - return { layout: new cn(this.runtime, this.session).read(t), meta: { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() } }; + if (e.replace !== void 0 && e.replace !== e.name && e.replace.length > 0 && Ht(n, e.replace, (A) => r.EPDFDoc_RemoveNamedPage(i, A)), !Ht(n, e.name, (A) => r.EPDFDoc_SetNamedPage(i, A, a))) throw new f(g.Unknown, `EPDFDoc_SetNamedPage rejected '${e.name}' for page ${a}`); + return { layout: new Ct(this.runtime, this.session).read(t), meta: { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() } }; } removeName(e, t) { if (S(t), e.name.length === 0) throw new f(g.InvalidArg, "pages.removeName requires a non-empty name"); let { fn: r, mem: n } = this.runtime, i = this.session.requireDocPtr(); - if (!Ct(n, e.name, (a) => r.EPDFDoc_RemoveNamedPage(i, a))) throw new f(g.NotFound, `pages.removeName: no /Names /Pages registration '${e.name}'`); - return { layout: new cn(this.runtime, this.session).read(t), meta: { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() } }; + if (!Ht(n, e.name, (a) => r.EPDFDoc_RemoveNamedPage(i, a))) throw new f(g.NotFound, `pages.removeName: no /Names /Pages registration '${e.name}'`); + return { layout: new Ct(this.runtime, this.session).read(t), meta: { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() } }; } requireUniquePageObjectNumbers(e, t) { if (t.length === 0) throw new f(g.InvalidArg, `${e} requires at least one page`); @@ -8749,117 +8922,117 @@ var jc = class { r.add(n); } } -}, jx = 2, Rx = 0, Lx = 1, Tx = 1, Kx = 2, Nx = class { +}, d_ = 2, p_ = 0, u_ = 1, l_ = 1, m_ = 2, w_ = class { constructor(e, t) { this.runtime = e, this.session = t; } extract(e, t, r) { if (S(r), e.length === 0) throw new f(g.InvalidArg, "pages.extract requires at least one page"); let n = this.session.resolvePageRefs(e), i = /* @__PURE__ */ new Set(); - for (let k of n) { - if (i.has(k)) throw new f(g.InvalidArg, `pages.extract was given duplicate page object number ${k}`); - i.add(k); + for (let h of n) { + if (i.has(h)) throw new f(g.InvalidArg, `pages.extract was given duplicate page object number ${h}`); + i.add(h); } - let a = n.map((k) => this.session.recordByObjectNumber(k).pageIndex), { fn: A, mem: o } = this.runtime, s = this.session.requireDocPtr(), d = o.alloc(4 * a.length); - for (let k = 0; k < a.length; k++) o.poke(d, "i32", a[k], 4 * k); - let l; + let a = n.map((h) => this.session.recordByObjectNumber(h).pageIndex), { fn: A, mem: o } = this.runtime, s = this.session.requireDocPtr(), d = o.alloc(4 * a.length); + for (let h = 0; h < a.length; h++) o.poke(d, "i32", a[h], 4 * h); + let u; try { - l = t ? this.copyFlattened(s, d, a, t) : this.copyPlain(s, d, a); - } catch (k) { - throw o.free(d), k; + u = t ? this.copyFlattened(s, d, a, t) : this.copyPlain(s, d, a); + } catch (h) { + throw o.free(d), h; } let m = o.alloc(8), F = null; try { - let k = An(A, o, s, "Title"); - k !== null && Yi(A, o, l, "Title", k), xe(o, m, 0), F = A.EPDF_SaveDocumentToOwnedBuffer(l, jx, m); + let h = on(A, o, s, "Title"); + h !== null && Wi(A, o, u, "Title", h), xe(o, m, 0), F = A.EPDF_SaveDocumentToOwnedBuffer(u, d_, m); let P = Number(o.peek(m, "i32")); if (!F || P <= 0) throw new f(g.DocOpenFailed, "failed to save extracted pages"); let D = o.readBytes(F, P), G = new ArrayBuffer(D.byteLength); return new Uint8Array(G).set(D), { bytes: G, size: P }; } finally { - F && A.EPDF_FreeBuffer(F), o.free(m), o.free(d), A.FPDF_CloseDocument(l); + F && A.EPDF_FreeBuffer(F), o.free(m), o.free(d), A.FPDF_CloseDocument(u); } } copyPlain(e, t, r) { let { fn: n } = this.runtime, i = n.FPDF_CreateNewDocument(); if (!i) throw new f(g.Unknown, "FPDF_CreateNewDocument failed"); - if (!n.EPDFDoc_ImportPages(i, e, t, r.length, 0, Y)) throw n.FPDF_CloseDocument(i), new f(g.Unknown, `EPDFDoc_ImportPages rejected the request (indices=[${r.join(",")}])`); + if (!n.EPDFDoc_ImportPages(i, e, t, r.length, 0, X)) throw n.FPDF_CloseDocument(i), new f(g.Unknown, `EPDFDoc_ImportPages rejected the request (indices=[${r.join(",")}])`); return i; } copyFlattened(e, t, r, n) { - let i = (n.includeAnnotations ? Tx : 0) | (n.includeFormFields ? Kx : 0), a = this.runtime.fn.EPDFDoc_ExportPagesFlattened(e, t, r.length, n.usage === "print" ? Lx : Rx, i); + let i = (n.includeAnnotations ? l_ : 0) | (n.includeFormFields ? m_ : 0), a = this.runtime.fn.EPDFDoc_ExportPagesFlattened(e, t, r.length, n.usage === "print" ? u_ : p_, i); if (!a) throw new f(g.Unknown, `EPDFDoc_ExportPagesFlattened rejected the request (indices=[${r.join(",")}])`); return a; } -}, Xi = /* @__PURE__ */ new WeakMap(); +}, Ui = /* @__PURE__ */ new WeakMap(); function Be(e, t) { - let r = t.cacheSeq(), n = Xi.get(t); + let r = t.cacheSeq(), n = Ui.get(t); if (n && n.seq === r) return n.ptr; - n && (e.fn.EPDFForm_CloseModel(n.ptr), Xi.delete(t)); + n && (e.fn.EPDFForm_CloseModel(n.ptr), Ui.delete(t)); let i = e.fn.EPDFForm_LoadModel(t.requireDocPtr()); - if (i === Y) throw new f(g.Unknown, "failed to build form model"); - return Xi.set(t, { seq: r, ptr: i }), i; + if (i === X) throw new f(g.Unknown, "failed to build form model"); + return Ui.set(t, { seq: r, ptr: i }), i; } -function VA(e, t) { - let r = Xi.get(t); - r && (e.fn.EPDFForm_CloseModel(r.ptr), Xi.delete(t)); +function qA(e, t) { + let r = Ui.get(t); + r && (e.fn.EPDFForm_CloseModel(r.ptr), Ui.delete(t)); } -function qm(e, t, r) { - let { fn: n, mem: i } = e, a = Vx(e, r); +function pw(e, t, r) { + let { fn: n, mem: i } = e, a = b_(e, r); if (a.length === 0) return; - let A = a.map((d) => ue(i, (l, m) => n.EPDFForm_GetFieldPartialName(r, d, l, m)) ?? ""), o = Yx(e, t), s = /* @__PURE__ */ new Set([...o, ...A]); - a.forEach((d, l) => { - let m = A[l]; + let A = a.map((d) => le(i, (u, m) => n.EPDFForm_GetFieldPartialName(r, d, u, m)) ?? ""), o = g_(e, t), s = /* @__PURE__ */ new Set([...o, ...A]); + a.forEach((d, u) => { + let m = A[u]; if (!o.has(m)) return; let F = m; - for (let k = 2; s.has(F); k++) F = `${m}_${k}`; - if (s.add(F), !Hn(i, F, (k) => n.EPDFForm_SetFieldName(r, d, k))) throw new f(g.Unknown, `pages.insert could not rename the inserted field "${m}" to "${F}"`); + for (let h = 2; s.has(F); h++) F = `${m}_${h}`; + if (s.add(F), !Qn(i, F, (h) => n.EPDFForm_SetFieldName(r, d, h))) throw new f(g.Unknown, `pages.insert could not rename the inserted field "${m}" to "${F}"`); }); } -function Vx(e, t) { - let { fn: r, mem: n } = e, i = r.EPDFDoc_GetImportFieldRoots(t, Y, 0, Y, 0); - return i <= 0 ? [] : N(n, i * 4, (a) => (r.EPDFDoc_GetImportFieldRoots(t, Y, 0, a, i), Array.from({ length: i }, (A, o) => Number(n.peek(a, "i32", o * 4))))); +function b_(e, t) { + let { fn: r, mem: n } = e, i = r.EPDFDoc_GetImportFieldRoots(t, X, 0, X, 0); + return i <= 0 ? [] : V(n, i * 4, (a) => (r.EPDFDoc_GetImportFieldRoots(t, X, 0, a, i), Array.from({ length: i }, (A, o) => Number(n.peek(a, "i32", o * 4))))); } -function Yx(e, t) { +function g_(e, t) { let { fn: r, mem: n } = e, i = Be(e, t), a = /* @__PURE__ */ new Set(); for (let A = 0; A < r.EPDFForm_CountFields(i); A++) { - let o = ue(n, (s, d) => r.EPDFForm_GetFieldName(i, A, s, d)); + let o = le(n, (s, d) => r.EPDFForm_GetFieldName(i, A, s, d)); o && a.add(o.split(".")[0]); } return a; } -function zt(e, t, r) { +function Jt(e, t, r) { let { pageIndex: n } = t.resolvePageRef(be(r)), i = e.fn.EPDFPage_PromoteInlineAnnotsRaw(t.requireDocPtr(), n); if (i < 0) throw new f(g.Unknown, `the inline annotations of page ${r} could not be promoted`); return i === 0 ? !1 : (t.pagePool().closeIdle(), !0); } -var Xx = class { +var f_ = class { constructor(e, t) { this.runtime = e, this.session = t; } insert(e, t, r, n) { if (S(r), e.byteLength === 0) throw new f(g.InvalidArg, "pages.insert requires non-empty bytes"); - let { fn: i, mem: a } = this.runtime, A = this.session.requireDocPtr(), o = NA(this.session, t, i.FPDF_GetPageCount(A)), s = a.alloc(e.byteLength), d = null; + let { fn: i, mem: a } = this.runtime, A = this.session.requireDocPtr(), o = UA(this.session, t, i.FPDF_GetPageCount(A)), s = a.alloc(e.byteLength), d = null; try { - if (a.writeBytes(s, new Uint8Array(e)), d = i.FPDF_LoadMemDocument(s, e.byteLength, ""), !d) throw Dp(i, null, new f(g.MalformedPdf, "pages.insert source PDF could not be opened")); - let l = i.FPDF_GetPageCount(d); - if (l <= 0) throw new f(g.InvalidArg, "pages.insert source PDF has no pages"); - qm(this.runtime, this.session, d); - let m = this.importInto(d, o, l, n, "pages.insert", r), F = d; + if (a.writeBytes(s, new Uint8Array(e)), d = i.FPDF_LoadMemDocument(s, e.byteLength, ""), !d) throw Op(i, null, new f(g.MalformedPdf, "pages.insert source PDF could not be opened")); + let u = i.FPDF_GetPageCount(d); + if (u <= 0) throw new f(g.InvalidArg, "pages.insert source PDF has no pages"); + pw(this.runtime, this.session, d); + let m = this.importInto(d, o, u, n, "pages.insert", r), F = d; return this.session.retainUntilClose(() => { i.FPDF_CloseDocument(F), a.free(s); }), m; - } catch (l) { - throw d && i.FPDF_CloseDocument(d), a.free(s), l; + } catch (u) { + throw d && i.FPDF_CloseDocument(d), a.free(s), u; } } copy(e, t, r, n) { if (S(r), e.length === 0) throw new f(g.InvalidArg, "pages.copy requires at least one page"); - let i = this.session.resolvePageRefs([...e]).map((d) => this.session.recordByObjectNumber(d).pageIndex), { fn: a } = this.runtime, A = this.session.requireDocPtr(), o = NA(this.session, t, a.FPDF_GetPageCount(A)), s = a.FPDF_CreateNewDocument(); + let i = this.session.resolvePageRefs([...e]).map((d) => this.session.recordByObjectNumber(d).pageIndex), { fn: a } = this.runtime, A = this.session.requireDocPtr(), o = UA(this.session, t, a.FPDF_GetPageCount(A)), s = a.FPDF_CreateNewDocument(); if (!s) throw new f(g.Unknown, "FPDF_CreateNewDocument failed"); try { - if (!Wt(this.runtime.mem, i, (l, m) => a.EPDFDoc_ImportPages(s, A, l, m, 0, Y))) throw new f(g.Unknown, `EPDFDoc_ImportPages rejected copying pages [${i.join(",")}] out`); - qm(this.runtime, this.session, s); + if (!Ut(this.runtime.mem, i, (u, m) => a.EPDFDoc_ImportPages(s, A, u, m, 0, X))) throw new f(g.Unknown, `EPDFDoc_ImportPages rejected copying pages [${i.join(",")}] out`); + pw(this.runtime, this.session, s); let d = this.importInto(s, o, i.length, n, "pages.copy", r); return this.session.retainUntilClose(() => a.FPDF_CloseDocument(s)), d; } catch (d) { @@ -8870,56 +9043,56 @@ var Xx = class { let { fn: A, mem: o } = this.runtime, s = this.session.requireDocPtr(); if (n && n.length !== r) throw new f(g.InvalidArg, `${i} needs one object number per page: ${n.length} for ${r}`, { details: { field: "objectNumbers" } }); for (let m of n ?? []) this.session.claimObjectNumber(m); - if (!(n ? Wt(o, n, (m) => A.EPDFDoc_ImportPages(s, e, Y, 0, t, m)) : A.EPDFDoc_ImportPages(s, e, Y, 0, t, Y))) throw new f(g.Unknown, `EPDFDoc_ImportPages rejected the ${i} at index ${t}`); + if (!(n ? Ut(o, n, (m) => A.EPDFDoc_ImportPages(s, e, X, 0, t, m)) : A.EPDFDoc_ImportPages(s, e, X, 0, t, X))) throw new f(g.Unknown, `EPDFDoc_ImportPages rejected the ${i} at index ${t}`); this.session.refreshPageRegistry(); - let d = new cn(this.runtime, this.session).read(a), l = d.pages.slice(t, t + r).map((m) => m.ref); - for (let m of l) zt(this.runtime, this.session, m.objectNumber); - return { insertedPages: l, layout: d, meta: { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() } }; + let d = new Ct(this.runtime, this.session).read(a), u = d.pages.slice(t, t + r).map((m) => m.ref); + for (let m of u) Jt(this.runtime, this.session, m.objectNumber); + return { insertedPages: u, layout: d, meta: { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() } }; } insertBlank(e, t, r, n) { S(r); let { size: i } = e, a = e.count ?? 1; if (!Number.isFinite(i?.width) || !Number.isFinite(i?.height) || i.width <= 0 || i.height <= 0) throw new f(g.InvalidArg, `pages.insertBlank size must have positive finite dimensions, got ${i?.width}x${i?.height}`); if (!Number.isInteger(a) || a < 1 || a > 100) throw new f(g.InvalidArg, `pages.insertBlank count ${a} out of range [1, 100]`); - let { fn: A } = this.runtime, o = this.session.requireDocPtr(), s = NA(this.session, t, A.FPDF_GetPageCount(o)); + let { fn: A } = this.runtime, o = this.session.requireDocPtr(), s = UA(this.session, t, A.FPDF_GetPageCount(o)); if (n && n.length !== a) throw new f(g.InvalidArg, `pages.insertBlank needs one object number per page: ${n.length} for ${a}`, { details: { field: "objectNumbers" } }); - for (let l of n ?? []) this.session.claimObjectNumber(l); - for (let l = 0; l < a; l++) { - let m = n?.[l]; - if (!A.EPDFPage_InsertBlankRaw(o, s + l, i.width, i.height, m ?? 0)) throw m !== void 0 ? Pa(m, "taken") : new f(g.Unknown, `EPDFPage_InsertBlankRaw rejected page ${l + 1}/${a} at index ${s + l}`); + for (let u of n ?? []) this.session.claimObjectNumber(u); + for (let u = 0; u < a; u++) { + let m = n?.[u]; + if (!A.EPDFPage_InsertBlankRaw(o, s + u, i.width, i.height, m ?? 0)) throw m !== void 0 ? Ba(m, "taken") : new f(g.Unknown, `EPDFPage_InsertBlankRaw rejected page ${u + 1}/${a} at index ${s + u}`); } this.session.refreshPageRegistry(); - let d = new cn(this.runtime, this.session).read(r); - return { insertedPages: d.pages.slice(s, s + a).map((l) => l.ref), layout: d, meta: { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() } }; + let d = new Ct(this.runtime, this.session).read(r); + return { insertedPages: d.pages.slice(s, s + a).map((u) => u.ref), layout: d, meta: { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() } }; } -}, Wx = 0, Ux = 1, qx = 2, Zx = class { +}, F_ = 0, v_ = 1, P_ = 2, h_ = class { constructor(e, t) { this.runtime = e, this.session = t; } flatten(e, t, r) { S(r); let n = this.session.resolvePageRefs(e); - zx(n); + k_(n); let i = [], a = /* @__PURE__ */ new Set(); for (let A of n) { - S(r), zt(this.runtime, this.session, A) && a.add(A); + S(r), Jt(this.runtime, this.session, A) && a.add(A); let o = this.session.pagePool(), s = o.acquire(A), d; try { d = this.runtime.fn.EPDFPage_Flatten(s, t === "print" ? 1 : 0); } finally { o.release(A); } - if (d === qx) { + if (d === P_) { i.push({ page: be(A), status: "unchanged" }); continue; } - if (d !== Ux) throw new f(g.Unknown, d === Wx ? "native page flatten failed after preflight" : `native page flatten returned unexpected code ${d}`); + if (d !== v_) throw new f(g.Unknown, d === F_ ? "native page flatten failed after preflight" : `native page flatten returned unexpected code ${d}`); a.add(A), i.push({ page: be(A), status: "applied" }); } return a.size === 0 ? { pages: e, usage: t, results: i, meta: { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() } } : (this.session.invalidateDerived(), { pages: e, usage: t, results: i, meta: { affectedPages: [...a].map((A) => be(A)), cacheDelta: null, ...this.session.writeStamp() } }); } }; -function zx(e) { +function k_(e) { if (e.length === 0) throw new f(g.InvalidArg, "pages.flatten requires at least one page"); let t = /* @__PURE__ */ new Set(); for (let r of e) { @@ -8927,18 +9100,18 @@ function zx(e) { t.add(r); } } -function fi(e, t, r, n, i, a) { +function Pi(e, t, r, n, i, a) { let A = e.EPDFAnnot_GetObjectNumber(i); - return A <= 0 ? { kind: "baseIndex", page: n, baseIndex: a } : KF(e, t, r, n, A); + return A <= 0 ? { kind: "baseIndex", page: n, baseIndex: a } : uv(e, t, r, n, A); } -function KF(e, t, r, n, i) { - let a = Jx(e, t, r, i); +function uv(e, t, r, n, i) { + let a = B_(e, t, r, i); return a === null ? { kind: "objectNumber", page: n, objectNumber: i } : { kind: "baseIndex", page: n, baseIndex: a }; } -function Jx(e, t, r, n) { - return fe(t, [8, 8], ([i, a]) => (xe(t, i, 0), xe(t, a, 0), e.EPDFLayer_GetBirthName(r, n, i, a) ? _e(t, a) : null)); +function B_(e, t, r, n) { + return Fe(t, [8, 8], ([i, a]) => (xe(t, i, 0), xe(t, a, 0), e.EPDFLayer_GetBirthName(r, n, i, a) ? _e(t, a) : null)); } -function gt(e, t, r) { +function Ft(e, t, r) { let { fn: n } = e, i = t.requireDocPtr(), { pageIndex: a } = t.resolvePageRef(r.page), A = r.page.objectNumber; switch (r.kind) { case "objectNumber": { @@ -8947,13 +9120,13 @@ function gt(e, t, r) { return { pageIndex: a, index: o }; } case "baseIndex": { - let o = $x(e, i, A, a, r.baseIndex); + let o = D_(e, i, A, a, r.baseIndex); if (o < 0) throw new f(g.NotFound, `no annotation born at position ${r.baseIndex} of page ${A}`); return { pageIndex: a, index: o }; } } } -function $x(e, t, r, n, i) { +function D_(e, t, r, n, i) { let { fn: a } = e; if (a.EPDFLayer_IsPagePromoted(t, r)) { let o = a.EPDFLayer_GetBirthObjectNumber(t, r, i); @@ -8968,8 +9141,8 @@ function $x(e, t, r, n, i) { a.FPDFPage_CloseAnnot(A); } } -function Uo(e, t, r) { - let { pageIndex: n, index: i } = gt(e, t, r); +function dA(e, t, r) { + let { pageIndex: n, index: i } = Ft(e, t, r); return dr(e, t, n, i); } function dr(e, t, r, n) { @@ -8977,16 +9150,16 @@ function dr(e, t, r, n) { if (!i) throw new f(g.Unknown, `annotation ${n} of page index ${r} could not be opened`); return i; } -function NF(e, t, r) { - let { pageIndex: n, index: i } = gt(e, t, r), a = dr(e, t, n, i), { fn: A, mem: o } = e; - return { annotPtr: a, name: fi(A, o, t.requireDocPtr(), r.page, a, i) }; +function lv(e, t, r) { + let { pageIndex: n, index: i } = Ft(e, t, r), a = dr(e, t, n, i), { fn: A, mem: o } = e; + return { annotPtr: a, name: Pi(A, o, t.requireDocPtr(), r.page, a, i) }; } -function ka(e, t, r, n) { - let { index: i } = gt(e, t, n), a = e.fn.FPDFPage_GetAnnot(r, i); +function ya(e, t, r, n) { + let { index: i } = Ft(e, t, n), a = e.fn.FPDFPage_GetAnnot(r, i); if (!a) throw new f(g.Unknown, `annotation ${i} of page ${n.page.objectNumber} could not be opened`); return a; } -var e_ = class { +var y_ = class { constructor(e, t) { this.runtime = e, this.session = t; } @@ -8997,13 +9170,13 @@ var e_ = class { this.preflight(r, t); let { fn: n } = this.runtime, i = [], a = /* @__PURE__ */ new Set(), A = 0; for (let [s, d] of r) { - S(t), zt(this.runtime, this.session, s) && a.add(s); - let l = this.session.pagePool(), m = l.acquire(s); + S(t), Jt(this.runtime, this.session, s) && a.add(s); + let u = this.session.pagePool(), m = u.acquire(s); try { let F = d === null ? this.applyAllOnPage(m) : this.applyRefsOnPage(m, d); F.status === "applied" && (n.FPDFPage_GenerateContent(m), a.add(s), A += F.removed), i.push({ page: be(s), status: F.status, removedAnnotationCount: F.removed }); } finally { - l.release(s); + u.release(s); } } if (a.size === 0) { @@ -9040,9 +9213,9 @@ var e_ = class { let a = this.session.pagePool(), A = a.acquire(n); try { for (let o of i) { - let s = ka(this.runtime, this.session, A, o); + let s = ya(this.runtime, this.session, A, o); try { - let d = ra(r.FPDFAnnot_GetSubtype(s)); + let d = Aa(r.FPDFAnnot_GetSubtype(s)); if (d !== "redact") throw new f(g.InvalidArg, `redaction.apply ref on page ${n} resolves to a '${d}' annotation, not a redact annotation`); } finally { r.FPDFPage_CloseAnnot(s); @@ -9055,12 +9228,12 @@ var e_ = class { } applyAllOnPage(e) { let { fn: t, mem: r } = this.runtime, n = this.pageHasRedactAnnotations(e); - return N(r, 4, (i) => { - if (!t.EPDFPage_ApplyRedactions(e, Y, 0, i)) { + return V(r, 4, (i) => { + if (!t.EPDFPage_ApplyRedactions(e, X, 0, i)) { if (n) throw new f(g.Unknown, "native page redaction apply failed"); return { status: "unchanged", removed: 0 }; } - return { status: "applied", removed: ye(r, i) >>> 0 }; + return { status: "applied", removed: Ee(r, i) >>> 0 }; }); } pageHasRedactAnnotations(e) { @@ -9068,7 +9241,7 @@ var e_ = class { for (let n = 0; n < r; n++) { let i = t.FPDFPage_GetAnnot(e, n); if (i) try { - if (ra(t.FPDFAnnot_GetSubtype(i)) === "redact") return !0; + if (Aa(t.FPDFAnnot_GetSubtype(i)) === "redact") return !0; } finally { t.FPDFPage_CloseAnnot(i); } @@ -9078,17 +9251,17 @@ var e_ = class { applyRefsOnPage(e, t) { let { fn: r, mem: n } = this.runtime, i = [], a = 0; try { - for (let A of t) i.push(ka(this.runtime, this.session, e, A)); - if (!ha(this.runtime, i, (A, o) => N(n, 4, (s) => { + for (let A of t) i.push(ya(this.runtime, this.session, e, A)); + if (!Da(this.runtime, i, (A, o) => V(n, 4, (s) => { let d = r.EPDFPage_ApplyRedactions(e, A, o, s); - return d && (a = ye(n, s) >>> 0), d; + return d && (a = Ee(n, s) >>> 0), d; }))) throw new f(g.Unknown, "native redaction apply failed after preflight"); } finally { for (let A of i) r.FPDFPage_CloseAnnot(A); } return { status: "applied", removed: a }; } -}, VF = class { +}, mv = class { constructor(e, t) { this.runtime = e, this.session = t; } @@ -9101,9 +9274,9 @@ var e_ = class { if (!A) throw new f(g.RuntimeUnavailable, `FPDFText_LoadPage returned null for page object ${e}`); try { S(t); - let o = Math.max(n.FPDFText_CountChars(A), 0), s = t_(this.runtime, A, o), d = r_(this.runtime, A, e), l = C0(o, s.length, d); - if (l !== null) throw new f(g.RuntimeUnavailable, `char map invariant violated for page object ${e}: ${l}`); - return E0(d.length > 0 ? { text: s, charCount: o, charMap: d } : { text: s, charCount: o }); + let o = Math.max(n.FPDFText_CountChars(A), 0), s = E_(this.runtime, A, o), d = C_(this.runtime, A, e), u = iy(o, s.length, d); + if (u !== null) throw new f(g.RuntimeUnavailable, `char map invariant violated for page object ${e}: ${u}`); + return ny(d.length > 0 ? { text: s, charCount: o, charMap: d } : { text: s, charCount: o }); } finally { n.FPDFText_ClosePage(A); } @@ -9112,33 +9285,33 @@ var e_ = class { } } }; -function t_(e, t, r) { +function E_(e, t, r) { if (r <= 0) return ""; let { fn: n, mem: i } = e, a = r * 2 + 1; - return N(i, a * 2, (A) => { + return V(i, a * 2, (A) => { let o = n.EPDFText_GetTextFull(t, A, a); - return o <= 1 ? "" : n_(i.readBytes(A, (o - 1) * 2)); + return o <= 1 ? "" : G_(i.readBytes(A, (o - 1) * 2)); }); } -function n_(e) { +function G_(e) { let t = new Uint16Array(e.buffer, e.byteOffset, e.byteLength >> 1), r = "", n = 8192; for (let i = 0; i < t.length; i += n) r += String.fromCharCode(...t.subarray(i, Math.min(i + n, t.length))); return r; } -var Zm = 8; -function r_(e, t, r) { - let { fn: n, mem: i } = e, a = n.EPDFText_GetCharToTextMap(t, Y, 0); +var uw = 8; +function C_(e, t, r) { + let { fn: n, mem: i } = e, a = n.EPDFText_GetCharToTextMap(t, X, 0); if (a < 0) throw new f(g.RuntimeUnavailable, `EPDFText_GetCharToTextMap failed for page object ${r}`); - return a === 0 ? [] : N(i, a * Zm, (A) => { + return a === 0 ? [] : V(i, a * uw, (A) => { n.EPDFText_GetCharToTextMap(t, A, a); - let o = i.readBytes(A, a * Zm), s = new Int32Array(o.buffer, o.byteOffset, a * 2), d = new Array(a); - for (let l = 0; l < a; l++) d[l] = [s[l * 2], s[l * 2 + 1]]; + let o = i.readBytes(A, a * uw), s = new Int32Array(o.buffer, o.byteOffset, a * 2), d = new Array(a); + for (let u = 0; u < a; u++) d[u] = [s[u * 2], s[u * 2 + 1]]; return d; }); } -var Gp = class { +var Lp = class { constructor(e, t) { - this.slices = e, this.signal = t, K(this, "started", performance.now()); + this.slices = e, this.signal = t, N(this, "started", performance.now()); } get due() { return performance.now() - this.started >= this.slices.budgetMs; @@ -9146,7 +9319,7 @@ var Gp = class { async pause() { await this.slices.between(), S(this.signal), this.started = performance.now(); } -}, i_ = 87e-4, YF = 1, qo = 2, XF = class { +}, x_ = 87e-4, wv = 1, es = 2, bv = class { constructor(e, t) { this.runtime = e, this.session = t; } @@ -9159,18 +9332,18 @@ var Gp = class { if (!o) throw new f(g.RuntimeUnavailable, `FPDFText_LoadPage returned null for page object ${e}`); try { S(t); - let s = Math.max(n.FPDFText_CountChars(o), 0), d = [], l = i.alloc(Xm.bytes); + let s = Math.max(n.FPDFText_CountChars(o), 0), d = [], u = i.alloc(sw.bytes); try { - let m = new Gp(r, t), F = null; - for (let k = 0; k < s; k++) { + let m = new Lp(r, t), F = null; + for (let h = 0; h < s; h++) { m.due && await m.pause(); - let P = n.FPDFText_GetTextObject(o, k), D = { objectKey: P, ...this.readGlyphRaw(o, k, l) }; - P !== F && (D.fontSize = n.FPDFText_GetFontSize(o, k), F = P), d.push(D); + let P = n.FPDFText_GetTextObject(o, h), D = { objectKey: P, ...this.readGlyphRaw(o, h, u) }; + P !== F && (D.fontSize = n.FPDFText_GetFontSize(o, h), F = P), d.push(D); } } finally { - i.free(l); + i.free(u); } - return { runs: a_(d) }; + return { runs: __(d) }; } finally { n.FPDFText_ClosePage(o); } @@ -9180,56 +9353,56 @@ var Gp = class { } readGlyphRaw(e, t, r) { let { fn: n, mem: i } = this.runtime; - if (!n.EPDFText_GetCharGeometry(e, t, r)) return Jm(); - let { offsets: a, flags: A } = Xm, o = ye(i, r, a.flags) >>> 0; - if (o & A.empty) return Jm(); - let s = !!(o & A.upright), d = { flags: o & A.space ? YF : 0, looseBox: Se(bn(i, r, a.looseBox)), upright: s, baselineAngle: 0, ascentFlip: !1 }; - if (o & A.hasTightBox && (d.tightBox = Se(bn(i, r, a.tightBox))), o & A.hasLooseQuad && (d.looseQuad = $m(i, r, a.looseQuad), o & A.hasTightQuad && (d.tightQuad = $m(i, r, a.tightQuad)), !s)) { - let l = pe(i, r, a.matrix), m = pe(i, r, a.matrix + 4), F = pe(i, r, a.matrix + 8), k = pe(i, r, a.matrix + 12); - d.baselineAngle = Math.atan2(m, l), d.ascentFlip = l * k - m * F < 0; + if (!n.EPDFText_GetCharGeometry(e, t, r)) return mw(); + let { offsets: a, flags: A } = sw, o = Ee(i, r, a.flags) >>> 0; + if (o & A.empty) return mw(); + let s = !!(o & A.upright), d = { flags: o & A.space ? wv : 0, looseBox: Se(bn(i, r, a.looseBox)), upright: s, baselineAngle: 0, ascentFlip: !1 }; + if (o & A.hasTightBox && (d.tightBox = Se(bn(i, r, a.tightBox))), o & A.hasLooseQuad && (d.looseQuad = ww(i, r, a.looseQuad), o & A.hasTightQuad && (d.tightQuad = ww(i, r, a.tightQuad)), !s)) { + let u = pe(i, r, a.matrix), m = pe(i, r, a.matrix + 4), F = pe(i, r, a.matrix + 8), h = pe(i, r, a.matrix + 12); + d.baselineAngle = Math.atan2(m, u), d.ascentFlip = u * h - m * F < 0; } return d; } }; -function a_(e) { +function __(e) { let t = [], r = [], n = 0, i, a = null, A, o = (s) => { - r.length > 0 && (t.push(c_(r, n, i, A)), r = [], A = void 0), n = s; + r.length > 0 && (t.push(S_(r, n, i, A)), r = [], A = void 0), n = s; }; for (let s = 0; s < e.length; s++) { let d = e[s]; d.objectKey !== a && (o(s), a = d.objectKey, i = d.fontSize); - let l = A_(d); - l && (A && !s_(A, l) && o(s), A || (A = l)), r.push(d); + let u = H_(d); + u && (A && !Q_(A, u) && o(s), A || (A = u)), r.push(d); } return o(e.length), t; } -function A_(e) { - if (!(e.flags & qo)) return e.looseQuad && !e.upright ? { upright: !1, baselineAngle: e.baselineAngle, ascentFlip: e.ascentFlip } : { upright: !0 }; +function H_(e) { + if (!(e.flags & es)) return e.looseQuad && !e.upright ? { upright: !1, baselineAngle: e.baselineAngle, ascentFlip: e.ascentFlip } : { upright: !0 }; } -function o_(e) { +function I_(e) { return (-e * 180 / Math.PI % 360 + 360) % 360; } -function s_(e, t) { +function Q_(e, t) { if (e.upright || t.upright) return e.upright === t.upright; if (e.ascentFlip !== t.ascentFlip) return !1; let r = e.baselineAngle - t.baselineAngle; - return Math.abs(Math.atan2(Math.sin(r), Math.cos(r))) <= i_; + return Math.abs(Math.atan2(Math.sin(r), Math.cos(r))) <= x_; } -function c_(e, t, r, n) { +function S_(e, t, r, n) { if (n && !n.upright) { - let a = e.map((A) => A.looseQuad ? { loose: A.looseQuad, ...A.tightQuad ? { tight: A.tightQuad } : {}, ...Ys(A.flags) } : { loose: d_(), ...Ys(A.flags) }); - return { rect: zm(e, (A) => A.looseQuad ? wD(A.looseQuad) : WF), start: t, glyphs: a, rotation: o_(n.baselineAngle), ascentFlip: n.ascentFlip, ...r !== void 0 ? { fontSize: r } : {} }; + let a = e.map((A) => A.looseQuad ? { loose: A.looseQuad, ...A.tightQuad ? { tight: A.tightQuad } : {}, ...Zs(A.flags) } : { loose: O_(), ...Zs(A.flags) }); + return { rect: lw(e, (A) => A.looseQuad ? VD(A.looseQuad) : gv), start: t, glyphs: a, rotation: I_(n.baselineAngle), ascentFlip: n.ascentFlip, ...r !== void 0 ? { fontSize: r } : {} }; } - let i = e.map((a) => ({ loose: a.looseBox, ...a.tightBox ? { tight: a.tightBox } : {}, ...Ys(a.flags) })); - return { rect: zm(e, (a) => a.looseBox), start: t, glyphs: i, ...r !== void 0 ? { fontSize: r } : {} }; + let i = e.map((a) => ({ loose: a.looseBox, ...a.tightBox ? { tight: a.tightBox } : {}, ...Zs(a.flags) })); + return { rect: lw(e, (a) => a.looseBox), start: t, glyphs: i, ...r !== void 0 ? { fontSize: r } : {} }; } -function Ys(e) { - return { ...e & YF ? { space: !0 } : {}, ...e & qo ? { empty: !0 } : {} }; +function Zs(e) { + return { ...e & wv ? { space: !0 } : {}, ...e & es ? { empty: !0 } : {} }; } -function zm(e, t) { +function lw(e, t) { let r = null; for (let n of e) { - if (n.flags & qo) continue; + if (n.flags & es) continue; let i = t(n); if (!r) { r = { left: i.left, bottom: i.bottom, right: i.right, top: i.top }; @@ -9237,25 +9410,25 @@ function zm(e, t) { } r.left = Math.min(r.left, i.left), r.bottom = Math.min(r.bottom, i.bottom), r.right = Math.max(r.right, i.right), r.top = Math.max(r.top, i.top); } - return r ?? { ...WF }; + return r ?? { ...gv }; } -var WF = { left: 0, bottom: 0, right: 0, top: 0 }; -function d_() { +var gv = { left: 0, bottom: 0, right: 0, top: 0 }; +function O_() { return { upperLeft: { x: 0, y: 0 }, upperRight: { x: 0, y: 0 }, lowerLeft: { x: 0, y: 0 }, lowerRight: { x: 0, y: 0 } }; } -function Jm() { - return { flags: qo, looseBox: { left: 0, bottom: 0, right: 0, top: 0 }, upright: !0, baselineAngle: 0, ascentFlip: !1 }; +function mw() { + return { flags: es, looseBox: { left: 0, bottom: 0, right: 0, top: 0 }, upright: !0, baselineAngle: 0, ascentFlip: !1 }; } -function $m(e, t, r) { +function ww(e, t, r) { let n = (i) => pe(e, t, r + i); return { upperLeft: { x: n(0), y: n(4) }, upperRight: { x: n(8), y: n(12) }, lowerLeft: { x: n(16), y: n(20) }, lowerRight: { x: n(24), y: n(28) } }; } -var p_ = 4; -function l_(e, t, r) { - return _0({ width: e.right - e.left, height: e.top - e.bottom }, t, r); +var M_ = 4; +function j_(e, t, r) { + return Ay({ width: e.right - e.left, height: e.top - e.bottom }, t, r); } -function u_(e, t) { - let r = UF(e, t); +function R_(e, t) { + let r = fv(e, t); if (!r) return null; try { return t.draw(r.bitmapPtr, r.matrixPtr, r.clipPtr) ? r.read() : null; @@ -9263,8 +9436,8 @@ function u_(e, t) { r.free(); } } -async function m_(e, t) { - let r = UF(e, t); +async function L_(e, t) { + let r = fv(e, t); if (!r) return null; try { return await t.draw(r.bitmapPtr, r.matrixPtr, r.clipPtr) ? r.read() : null; @@ -9272,41 +9445,41 @@ async function m_(e, t) { r.free(); } } -function UF(e, t) { +function fv(e, t) { let { fn: r, mem: n } = e, { rect: i, page: a, rotation: A, viewport: o, background: s } = t; if (i.right <= i.left || i.top <= i.bottom) return null; - let d = b_(i, a), { width: l, height: m } = l_(d, A, o); - if (t.maxOutputPixels !== void 0 && l * m > t.maxOutputPixels) throw new f(g.InvalidArg, `render output ${l}x${m} exceeds the ${t.maxOutputPixels}-pixel budget — request a smaller width (or tiles, once available)`); - let F = l * 4, k = F * m, P = null, D = null, G = null, I = null, _ = () => { + let d = K_(i, a), { width: u, height: m } = j_(d, A, o); + if (t.maxOutputPixels !== void 0 && u * m > t.maxOutputPixels) throw new f(g.InvalidArg, `render output ${u}x${m} exceeds the ${t.maxOutputPixels}-pixel budget — request a smaller width (or tiles, once available)`); + let F = u * 4, h = F * m, P = null, D = null, G = null, I = null, _ = () => { D && r.FPDFBitmap_Destroy(D), I && n.free(I), G && n.free(G), P && n.free(P); }; try { - if (P = n.alloc(k), D = r.FPDFBitmap_CreateEx(l, m, p_, P, F), !D) return _(), null; - r.FPDFBitmap_FillRect(D, 0, 0, l, m, s === "transparent" ? 0 : 4294967295), G = n.alloc(24), g_(n, G, H0(w_(d), A, l, m)), I = n.alloc(16), n.poke(I, "f32", 0, 0), n.poke(I, "f32", 0, 4), n.poke(I, "f32", l, 8), n.poke(I, "f32", m, 12); + if (P = n.alloc(h), D = r.FPDFBitmap_CreateEx(u, m, M_, P, F), !D) return _(), null; + r.FPDFBitmap_FillRect(D, 0, 0, u, m, s === "transparent" ? 0 : 4294967295), G = n.alloc(24), N_(n, G, oy(T_(d), A, u, m)), I = n.alloc(16), n.poke(I, "f32", 0, 0), n.poke(I, "f32", 0, 4), n.poke(I, "f32", u, 8), n.poke(I, "f32", m, 12); } catch (C) { throw _(), C; } let H = P; - return { bitmapPtr: D, matrixPtr: G, clipPtr: I, read: () => ({ width: l, height: m, stride: F, color: "rgba8", premultipliedAlpha: !1, data: f_(n.readBytes(H, k)) }), free: _ }; + return { bitmapPtr: D, matrixPtr: G, clipPtr: I, read: () => ({ width: u, height: m, stride: F, color: "rgba8", premultipliedAlpha: !1, data: V_(n.readBytes(H, h)) }), free: _ }; } -function qF(e, t) { - let { fn: r, mem: n } = e, i = N(n, 16, (a) => r.FPDF_GetPageBoundingBox(t, a) ? bn(n, a) : null); +function Fv(e, t) { + let { fn: r, mem: n } = e, i = V(n, 16, (a) => r.FPDF_GetPageBoundingBox(t, a) ? bn(n, a) : null); return i ? Se(i) : { left: 0, bottom: 0, right: r.FPDF_GetPageWidthF(t), top: r.FPDF_GetPageHeightF(t) }; } -function w_(e) { +function T_(e) { return { x: e.left, y: e.bottom, width: e.right - e.left, height: e.top - e.bottom }; } -function b_(e, t) { +function K_(e, t) { return { left: e.left - t.left, right: e.right - t.left, bottom: t.top - e.top, top: t.top - e.bottom }; } -function g_(e, t, r) { +function N_(e, t, r) { for (let n = 0; n < 6; n++) e.poke(t, "f32", r[n], n * 4); } -function f_(e) { +function V_(e) { let t = new Uint8Array(e.byteLength); return t.set(e), t.buffer; } -var F_ = 1, v_ = 32768, P_ = 2048, h_ = 1, k_ = 2, ew = class { +var Y_ = 1, X_ = 32768, W_ = 2048, U_ = 1, q_ = 2, bw = class { constructor(e, t) { this.runtime = e, this.session = t; } @@ -9314,18 +9487,18 @@ var F_ = 1, v_ = 32768, P_ = 2048, h_ = 1, k_ = 2, ew = class { S(r); let { fn: i } = this.runtime, a = this.session.pagePool(), A = await a.acquireInSlices(e, r, n); try { - S(r), P0(t, null); - let o = t.usage === "print", s = qF(this.runtime, A), d = B_(t.target, s), l = t.rotation ?? 0, m = t.viewport ?? { kind: "scale", scale: 1 }, F = v0(t, { annotations: !0, formFields: !0 }), k = 16; - F.includeAnnotations && (k |= F_), F.includeFormFields && (k |= v_), o && (k |= P_); - let P = await m_(this.runtime, { rect: d, page: s, rotation: l, viewport: m, ...t.maxOutputPixels !== void 0 ? { maxOutputPixels: t.maxOutputPixels } : {}, background: t.background === "transparent" ? "transparent" : "white", draw: async (D, G, I) => { + S(r), Z0(t, null); + let o = t.usage === "print", s = Fv(this.runtime, A), d = Z_(t.target, s), u = t.rotation ?? 0, m = t.viewport ?? { kind: "scale", scale: 1 }, F = q0(t, { annotations: !0, formFields: !0 }), h = 16; + F.includeAnnotations && (h |= Y_), F.includeFormFields && (h |= X_), o && (h |= W_); + let P = await L_(this.runtime, { rect: d, page: s, rotation: u, viewport: m, ...t.maxOutputPixels !== void 0 ? { maxOutputPixels: t.maxOutputPixels } : {}, background: t.background === "transparent" ? "transparent" : "white", draw: async (D, G, I) => { S(r); - let _ = i.EPDF_RenderPageBitmapWithMatrix_Start(D, A, G, I, k, n.budgetMs); + let _ = i.EPDF_RenderPageBitmapWithMatrix_Start(D, A, G, I, h, n.budgetMs); try { - for (; _ === h_; ) await n.between(), S(r), _ = i.EPDF_RenderPage_Continue(A, n.budgetMs); + for (; _ === U_; ) await n.between(), S(r), _ = i.EPDF_RenderPage_Continue(A, n.budgetMs); } finally { i.FPDF_RenderPage_Close(A); } - return _ === k_; + return _ === q_; } }); if (!P) throw new f(g.RuntimeUnavailable, `failed to render page object ${e}`); return { raster: P, area: d }; @@ -9334,30 +9507,30 @@ var F_ = 1, v_ = 32768, P_ = 2048, h_ = 1, k_ = 2, ew = class { } } }; -function B_(e, t) { +function Z_(e, t) { if (!e || e.kind === "page") return t; let r = Se(e.rect); if (!(r.right > r.left && r.top > r.bottom)) throw new f(g.InvalidArg, "render rect must have positive area"); return r; } -function Ba(e, t) { +function Ea(e, t) { return { docPtr: e.requireDocPtr(), ...t ? { fonts: t } : {} }; } -function tw(e, t) { +function gw(e, t) { if (e.family === void 0) return e; - let r = t.programOf?.(e.family), n = _o(e.family, t.describe), i = { ...e, family: n.family }; + let r = t.programOf?.(e.family), n = Oo(e.family, t.describe), i = { ...e, family: n.family }; return n.weight !== void 0 && e.weight === void 0 && (i.weight = n.weight), n.italic !== void 0 && e.italic === void 0 && (i.italic = n.italic), r !== void 0 && (i.program = r), i; } -function ZF(e, t = {}) { - let r = e.body ? tw(e.body, t) : void 0; +function vv(e, t = {}) { + let r = e.body ? gw(e.body, t) : void 0; r && t.bodyProgram !== void 0 && (r.program = t.bodyProgram); - let n = e.paragraphs.map((i) => ({ ...i, runs: i.runs.map((a) => ({ ...a, text: di(a.text, "\r"), ...a.style ? { style: tw(a.style, t) } : {} })) })); + let n = e.paragraphs.map((i) => ({ ...i, runs: i.runs.map((a) => ({ ...a, text: mi(a.text, "\r"), ...a.style ? { style: gw(a.style, t) } : {} })) })); return JSON.stringify(r ? { body: r, paragraphs: n } : { paragraphs: n }); } -function D_(e) { - return zF(e)?.document ?? null; +function z_(e) { + return Pv(e)?.document ?? null; } -function zF(e) { +function Pv(e) { let t; try { t = JSON.parse(e); @@ -9365,30 +9538,30 @@ function zF(e) { return null; } if (!t || typeof t != "object" || !t.body || !Array.isArray(t.paragraphs)) return null; - let { source: r, ...n } = t.body, i = nw(n), a = t.paragraphs.map((A) => { + let { source: r, ...n } = t.body, i = fw(n), a = t.paragraphs.map((A) => { let { runs: o, ...s } = A; return { ...s, runs: (o ?? []).map((d) => { - let l = d, m = typeof l.text == "string" ? di(l.text, ` -`) : l.text; - return l.style ? { ...l, text: m, style: nw(l.style) } : { ...l, text: m }; + let u = d, m = typeof u.text == "string" ? mi(u.text, ` +`) : u.text; + return u.style ? { ...u, text: m, style: fw(u.style) } : { ...u, text: m }; }) }; }); return { source: t.source, document: { body: i, paragraphs: a } }; } -function nw(e) { +function fw(e) { return typeof e.color == "string" ? { ...e, color: e.color.toLowerCase() } : e; } -function $t(e, t, r) { - let n = Ke(t, (o, s) => e.EPDFAnnot_GetRichTextJSON(r, o, s)), i = n ? zF(n) : null; +function en(e, t, r) { + let n = Ke(t, (o, s) => e.EPDFAnnot_GetRichTextJSON(r, o, s)), i = n ? Pv(n) : null; if (i?.source !== "rc") return null; let { body: a, paragraphs: A } = i.document; - return { body: { ...a, family: a.family || sd.family }, paragraphs: A }; + return { body: { ...a, family: a.family || bd.family }, paragraphs: A }; } -function y_(e, t, r) { +function J_(e, t, r) { let n = Ke(t, (i, a) => e.EPDFAnnot_GetRichTextJSON(r, i, a)); - return n ? D_(n) : null; + return n ? z_(n) : null; } -function Rc(e) { +function Uc(e) { let t = Math.fround(e); if (!Number.isFinite(t)) return t; for (let r = 1; r < 9; r++) { @@ -9397,119 +9570,119 @@ function Rc(e) { } return t; } -var vo = { invisible: 1, hidden: 2, print: 4, noZoom: 8, noRotate: 16, noView: 32, readOnly: 64, locked: 128, toggleNoView: 256, lockedContents: 512 }, Cp = Object.keys(vo); -function E_(e) { - if (e === 0) return { ...Du }; - let t = { ...Du }; - for (let r of Cp) t[r] = (e & vo[r]) !== 0; +var Do = { invisible: 1, hidden: 2, print: 4, noZoom: 8, noRotate: 16, noView: 32, readOnly: 64, locked: 128, toggleNoView: 256, lockedContents: 512 }, Tp = Object.keys(Do); +function $_(e) { + if (e === 0) return { ...Tl }; + let t = { ...Tl }; + for (let r of Tp) t[r] = (e & Do[r]) !== 0; return t; } -function G_(e, t) { +function eH(e, t) { let r = e; - for (let n of Cp) { + for (let n of Tp) { let i = t[n]; - i !== void 0 && (i ? r |= vo[n] : r &= ~vo[n]); + i !== void 0 && (i ? r |= Do[n] : r &= ~Do[n]); } return r; } -function JF(e) { +function hv(e) { let t = {}; - for (let r of Cp) e[r] !== void 0 && (t[r] = e[r]); + for (let r of Tp) e[r] !== void 0 && (t[r] = e[r]); return Object.keys(t).length > 0 ? t : null; } -var $F = 0, ev = 1, tv = 2, nv = 3, rv = 4, iv = 5, av = 6, Av = 7, ov = 8, sv = 9; -function rw(e) { +var kv = 0, Bv = 1, Dv = 2, yv = 3, Ev = 4, Gv = 5, Cv = 6, xv = 7, _v = 8, Hv = 9; +function Fw(e) { switch (e) { case "square": - return ev; + return Bv; case "circle": - return tv; + return Dv; case "diamond": - return nv; + return yv; case "open-arrow": - return rv; + return Ev; case "closed-arrow": - return iv; + return Gv; case "butt": - return av; + return Cv; case "r-open-arrow": - return Av; + return xv; case "r-closed-arrow": - return ov; + return _v; case "slash": - return sv; + return Hv; default: - return $F; + return kv; } } -function iw(e) { +function vw(e) { switch (e) { - case ev: + case Bv: return "square"; - case tv: + case Dv: return "circle"; - case nv: + case yv: return "diamond"; - case rv: + case Ev: return "open-arrow"; - case iv: + case Gv: return "closed-arrow"; - case av: + case Cv: return "butt"; - case Av: + case xv: return "r-open-arrow"; - case ov: + case _v: return "r-closed-arrow"; - case sv: + case Hv: return "slash"; - case $F: + case kv: default: return "none"; } } -function yn(e, t, r, n) { - return e.FPDFAnnot_HasKey(r, n) ? ue(t, (i, a) => e.FPDFAnnot_GetStringValue(r, n, i, a), "") : null; +function En(e, t, r, n) { + return e.FPDFAnnot_HasKey(r, n) ? le(t, (i, a) => e.FPDFAnnot_GetStringValue(r, n, i, a), "") : null; } -function AA(e, t, r) { - return N(t, 16, (n) => e.FPDFAnnot_GetRect(r, n) ? bn(t, n) : { left: 0, bottom: 0, right: 0, top: 0 }); +function pA(e, t, r) { + return V(t, 16, (n) => e.FPDFAnnot_GetRect(r, n) ? bn(t, n) : { left: 0, bottom: 0, right: 0, top: 0 }); } -function C_(e, t) { - return E_(e.FPDFAnnot_GetFlags(t)); +function tH(e, t) { + return $_(e.FPDFAnnot_GetFlags(t)); } -function In(e, t, r, n = 0) { - return fe(t, [4, 4, 4], ([i, a, A]) => e.EPDFAnnot_GetColor(r, n, i, a, A) ? So(ye(t, i) & 255, ye(t, a) & 255, ye(t, A) & 255) : null); +function Sn(e, t, r, n = 0) { + return Fe(t, [4, 4, 4], ([i, a, A]) => e.EPDFAnnot_GetColor(r, n, i, a, A) ? Lo(Ee(t, i) & 255, Ee(t, a) & 255, Ee(t, A) & 255) : null); } -function Da(e, t, r, n) { - return N(t, 4, (i) => e.EPDFAnnot_GetBooleanValue(r, n, i) ? ye(t, i) !== 0 : null); +function Ga(e, t, r, n) { + return V(t, 4, (i) => e.EPDFAnnot_GetBooleanValue(r, n, i) ? Ee(t, i) !== 0 : null); } -function Zn(e, t, r) { - return N(t, 4, (n) => e.EPDFAnnot_GetOpacity(r, n) ? Rc(pe(t, n)) : null); +function zn(e, t, r) { + return V(t, 4, (n) => e.EPDFAnnot_GetOpacity(r, n) ? Uc(pe(t, n)) : null); } -function Zo(e, t, r) { - return N(t, 4, (n) => ({ styleCode: e.EPDFAnnot_GetBorderStyle(r, n), width: pe(t, n) })); +function ts(e, t, r) { + return V(t, 4, (n) => ({ styleCode: e.EPDFAnnot_GetBorderStyle(r, n), width: pe(t, n) })); } -function x_(e, t, r) { +function nH(e, t, r) { let n = e.EPDFAnnot_GetBorderDashPatternCount(r); - return n <= 0 ? [] : N(t, n * 4, (i) => { + return n <= 0 ? [] : V(t, n * 4, (i) => { if (!e.EPDFAnnot_GetBorderDashPattern(r, i, n)) return []; let a = []; for (let A = 0; A < n; A++) a.push(pe(t, i, A * 4)); return a; }); } -function xp(e, t, r) { - return N(t, 4, (n) => { +function Kp(e, t, r) { + return V(t, 4, (n) => { if (!e.EPDFAnnot_GetBorderEffect(r, n)) return null; let i = pe(t, n); return i > 0 ? i : null; }); } -function __(e, t, r) { - return fe(t, [4, 4, 4, 4], ([n, i, a, A]) => e.EPDFAnnot_GetRectangleDifferences(r, n, i, a, A) ? { left: pe(t, n), bottom: pe(t, i), right: pe(t, a), top: pe(t, A) } : null); +function rH(e, t, r) { + return Fe(t, [4, 4, 4, 4], ([n, i, a, A]) => e.EPDFAnnot_GetRectangleDifferences(r, n, i, a, A) ? { left: pe(t, n), bottom: pe(t, i), right: pe(t, a), top: pe(t, A) } : null); } -function cv(e, t, r) { - let n = e.FPDFAnnot_GetVertices(r, Y, 0); - return n <= 0 ? [] : N(t, n * 8, (i) => { +function Iv(e, t, r) { + let n = e.FPDFAnnot_GetVertices(r, X, 0); + return n <= 0 ? [] : V(t, n * 8, (i) => { let a = e.FPDFAnnot_GetVertices(r, i, n); if (a <= 0) return []; let A = []; @@ -9520,60 +9693,60 @@ function cv(e, t, r) { return A; }); } -function dv(e, t, r) { +function Qv(e, t, r) { let n = e.FPDFAnnot_GetInkListCount(r); if (n <= 0) return []; let i = []; for (let a = 0; a < n; a++) { - let A = e.FPDFAnnot_GetInkListPath(r, a, Y, 0); + let A = e.FPDFAnnot_GetInkListPath(r, a, X, 0); if (A <= 0) continue; - let o = N(t, A * 8, (s) => { + let o = V(t, A * 8, (s) => { let d = e.FPDFAnnot_GetInkListPath(r, a, s, A); if (d <= 0) return []; - let l = []; + let u = []; for (let m = 0; m < d; m++) { let F = m * 8; - l.push({ x: pe(t, s, F), y: pe(t, s, F + 4) }); + u.push({ x: pe(t, s, F), y: pe(t, s, F + 4) }); } - return l; + return u; }); o.length > 0 && i.push(o); } return i; } -function pv(e, t, r) { - return fe(t, [8, 8], ([n, i]) => e.FPDFAnnot_GetLine(r, n, i) ? { start: { x: pe(t, n, 0), y: pe(t, n, 4) }, end: { x: pe(t, i, 0), y: pe(t, i, 4) } } : null); +function Sv(e, t, r) { + return Fe(t, [8, 8], ([n, i]) => e.FPDFAnnot_GetLine(r, n, i) ? { start: { x: pe(t, n, 0), y: pe(t, n, 4) }, end: { x: pe(t, i, 0), y: pe(t, i, 4) } } : null); } -function _p(e, t, r) { - return fe(t, [4, 4], ([n, i]) => e.EPDFAnnot_GetLineEndings(r, n, i) ? { start: iw(ye(t, n)), end: iw(ye(t, i)) } : { start: "none", end: "none" }); +function Np(e, t, r) { + return Fe(t, [4, 4], ([n, i]) => e.EPDFAnnot_GetLineEndings(r, n, i) ? { start: vw(Ee(t, n)), end: vw(Ee(t, i)) } : { start: "none", end: "none" }); } -function Fi(e, t, r) { - return fe(t, [4, 4, 4, 4, 4], ([n, i, a, A, o]) => e.EPDFAnnot_GetDefaultAppearance(r, n, i, a, A, o) ? { fontCode: ye(t, n), fontSize: pe(t, i), color: So(ye(t, a) & 255, ye(t, A) & 255, ye(t, o) & 255) } : null); +function hi(e, t, r) { + return Fe(t, [4, 4, 4, 4, 4], ([n, i, a, A, o]) => e.EPDFAnnot_GetDefaultAppearance(r, n, i, a, A, o) ? { fontCode: Ee(t, n), fontSize: pe(t, i), color: Lo(Ee(t, a) & 255, Ee(t, A) & 255, Ee(t, o) & 255) } : null); } -function zo(e, t, r) { - return fe(t, [4, 4], ([n, i]) => { - let a = ue(t, (A, o) => e.EPDFAnnot_GetDefaultAppearanceFontFace(r, A, o, n, i), null); - return a ? { family: a, weight: ye(t, n), italic: ye(t, i) !== 0 } : null; +function ns(e, t, r) { + return Fe(t, [4, 4], ([n, i]) => { + let a = le(t, (A, o) => e.EPDFAnnot_GetDefaultAppearanceFontFace(r, A, o, n, i), null); + return a ? { family: a, weight: Ee(t, n), italic: Ee(t, i) !== 0 } : null; }); } -function Hp(e, t) { +function Vp(e, t) { return e.EPDFAnnot_GetTextAlignment(t); } -function H_(e, t, r) { - return e.FPDFAnnot_HasKey(r, "OverlayText") ? ue(t, (n, i) => e.EPDFAnnot_GetOverlayText(r, n, i), "") : null; +function iH(e, t, r) { + return e.FPDFAnnot_HasKey(r, "OverlayText") ? le(t, (n, i) => e.EPDFAnnot_GetOverlayText(r, n, i), "") : null; } -function I_(e, t) { +function aH(e, t) { return e.EPDFAnnot_GetOverlayTextRepeat(t); } -function zn(e, t, r) { - let n = e.EPDFAnnot_GetIntent(r, Y, 0); +function Jn(e, t, r) { + let n = e.EPDFAnnot_GetIntent(r, X, 0); if (n <= 0) return null; let i = (n + 1) * 2; - return N(t, i, (a) => (e.EPDFAnnot_GetIntent(r, a, i), t.readU16String(a))); + return V(t, i, (a) => (e.EPDFAnnot_GetIntent(r, a, i), t.readU16String(a))); } -function Q_(e, t, r) { +function AH(e, t, r) { let n = e.EPDFAnnot_GetCalloutLineCount(r); - return n <= 0 ? [] : N(t, n * 8, (i) => { + return n <= 0 ? [] : V(t, n * 8, (i) => { let a = e.EPDFAnnot_GetCalloutLine(r, i, n); if (a <= 0) return []; let A = []; @@ -9584,29 +9757,29 @@ function Q_(e, t, r) { return A; }); } -function Ip(e, t, r) { +function Yp(e, t, r) { let n = e.FPDFAnnot_CountAttachmentPoints(r); - return n <= 0 ? [] : N(t, 32, (i) => { + return n <= 0 ? [] : V(t, 32, (i) => { let a = []; for (let A = 0; A < n; A++) { if (!e.FPDFAnnot_GetAttachmentPoints(r, A, i)) continue; let o = (s) => pe(t, i, s); - a.push(bD([{ x: o(0), y: o(4) }, { x: o(8), y: o(12) }, { x: o(16), y: o(20) }, { x: o(24), y: o(28) }])); + a.push(YD([{ x: o(0), y: o(4) }, { x: o(8), y: o(12) }, { x: o(16), y: o(20) }, { x: o(24), y: o(28) }])); } return a; }); } -function Qp(e, t, r) { +function Xp(e, t, r) { return Ke(t, (n, i) => e.EPDFAnnot_GetName(r, n, i)); } -function lv(e, t, r) { +function Ov(e, t, r) { return Ke(t, (n, i) => e.EPDFAnnot_GetAppearanceState(r, n, i)); } -function S_(e, t, r) { - let n = e.EPDFAnnot_GetStructurePosition(r, Y, 0); - return n <= 0 ? null : N(t, 4 * n, (i) => (e.EPDFAnnot_GetStructurePosition(r, i, n), Array.from({ length: n }, (a, A) => Number(t.peek(i, "i32", 4 * A)) >>> 0))); +function oH(e, t, r) { + let n = e.EPDFAnnot_GetStructurePosition(r, X, 0); + return n <= 0 ? null : V(t, 4 * n, (i) => (e.EPDFAnnot_GetStructurePosition(r, i, n), Array.from({ length: n }, (a, A) => Number(t.peek(i, "i32", 4 * A)) >>> 0))); } -function O_(e, t, r, n) { +function sH(e, t, r, n) { let i = [], a = e.EPDFAnnot_GetAppearanceStateCount(r, n); for (let A = 0; A < a; A++) { let o = Ke(t, (s, d) => e.EPDFAnnot_GetAppearanceStateName(r, n, A, s, d)); @@ -9614,114 +9787,114 @@ function O_(e, t, r, n) { } return i; } -var M_ = "Rotation"; -function Sp(e) { - let t = Rc((-Rc(e) % 360 + 360) % 360 + 0); +var cH = "Rotation"; +function Wp(e) { + let t = Uc((-Uc(e) % 360 + 360) % 360 + 0); return t === 0 || t === 360 ? void 0 : t; } -function Jo(e) { +function rs(e) { let t = (-e % 360 + 360) % 360 + 0; return t > 180 ? t - 360 : t; } -function j_(e, t, r) { - if (e.EPDFAnnot_HasEmbedMetadata(r)) return N(t, 4, (n) => { - if (e.EPDFAnnot_GetEmbedMetadataNumber(r, M_, n)) return Sp(pe(t, n)); +function dH(e, t, r) { + if (e.EPDFAnnot_HasEmbedMetadata(r)) return V(t, 4, (n) => { + if (e.EPDFAnnot_GetEmbedMetadataNumber(r, cH, n)) return Wp(pe(t, n)); }); } -var uv = /* @__PURE__ */ new Set([T.SQUARE, T.CIRCLE, T.FREETEXT, T.STAMP, T.CARET]), mv = 0.05, R_ = 2e-3, L_ = [90, 180, 270], T_ = 0.01, ya = (e) => (e % 360 + 360) % 360; -function Op(e, t) { - let r = Math.abs(ya(e) - ya(t)); +var Mv = /* @__PURE__ */ new Set([T.SQUARE, T.CIRCLE, T.FREETEXT, T.STAMP, T.CARET]), jv = 0.05, pH = 2e-3, uH = [90, 180, 270], lH = 0.01, Ca = (e) => (e % 360 + 360) % 360; +function Up(e, t) { + let r = Math.abs(Ca(e) - Ca(t)); return Math.min(r, 360 - r); } -var Wi = (e, t) => Op(e, t) <= mv; -function K_(e) { +var qi = (e, t) => Up(e, t) <= jv; +function mH(e) { let t = Math.hypot(e.a, e.b); if (!(t > 0)) return; - let r = R_ * t; + let r = pH * t; if (Math.abs(e.a - e.d) > r || Math.abs(e.b + e.c) > r) return; - let n = ya(Math.atan2(e.b, e.a) * 180 / Math.PI); - return Op(n, 0) > mv ? n : void 0; + let n = Ca(Math.atan2(e.b, e.a) * 180 / Math.PI); + return Up(n, 0) > jv ? n : void 0; } -function N_(e, t, r) { - if (e.FPDFAnnot_HasKey(r, "Rotate")) return N(t, 4, (n) => e.EPDFAnnot_GetRotate(r, n) ? pe(t, n) : void 0); +function wH(e, t, r) { + if (e.FPDFAnnot_HasKey(r, "Rotate")) return V(t, 4, (n) => e.EPDFAnnot_GetRotate(r, n) ? pe(t, n) : void 0); } -function wv(e, t, r) { +function Rv(e, t, r) { if (!e.EPDFAnnot_HasEmbedMetadata(r)) return; - let n = N(t, 4, (a) => e.EPDFAnnot_GetEmbedMetadataNumber(r, "Rotation", a) ? ya(pe(t, a)) : void 0); - if (n === void 0 || Op(n, 0) < T_) return; - let i = N(t, 16, (a) => e.EPDFAnnot_GetEmbedMetadataRect(r, "UnrotatedRect", a) ? Se(bn(t, a)) : void 0); + let n = V(t, 4, (a) => e.EPDFAnnot_GetEmbedMetadataNumber(r, "Rotation", a) ? Ca(pe(t, a)) : void 0); + if (n === void 0 || Up(n, 0) < lH) return; + let i = V(t, 16, (a) => e.EPDFAnnot_GetEmbedMetadataRect(r, "UnrotatedRect", a) ? Se(bn(t, a)) : void 0); if (!(!i || i.right <= i.left || i.top <= i.bottom)) return { degrees: n, box: i }; } -function V_(e, t, r, n) { - return N(t, 16, (i) => N(t, 24, (a) => { +function bH(e, t, r, n) { + return V(t, 16, (i) => V(t, 24, (a) => { if (!e.EPDFAnnot_GetAppearanceTransform(r, i, a)) return; - let A = lx(t, a), o = K_(A); + let A = jx(t, a), o = mH(A); if (o === void 0) return; - let s = Se(bn(t, i)), d = Math.hypot(A.a, A.b), l = (s.left + s.right) / 2, m = (s.bottom + s.top) / 2, F = A.a * l + A.c * m + A.e, k = A.b * l + A.d * m + A.f, P = (s.right - s.left) * d / 2, D = (s.top - s.bottom) * d / 2; - return { degrees: n !== void 0 && Wi(n, o) ? ya(n) : Math.round(o * 100) / 100, box: { left: F - P, bottom: k - D, right: F + P, top: k + D } }; + let s = Se(bn(t, i)), d = Math.hypot(A.a, A.b), u = (s.left + s.right) / 2, m = (s.bottom + s.top) / 2, F = A.a * u + A.c * m + A.e, h = A.b * u + A.d * m + A.f, P = (s.right - s.left) * d / 2, D = (s.top - s.bottom) * d / 2; + return { degrees: n !== void 0 && qi(n, o) ? Ca(n) : Math.round(o * 100) / 100, box: { left: F - P, bottom: h - D, right: F + P, top: h + D } }; })); } -function bv(e, t, r) { - let n = Se(AA(e, t, r)), i = __(e, t, r); +function Lv(e, t, r) { + let n = Se(pA(e, t, r)), i = rH(e, t, r); if (!i) return n; let a = { left: n.left + i.left, bottom: n.bottom + i.bottom, right: n.right - i.right, top: n.top - i.top }; return a.left <= a.right && a.bottom <= a.top ? a : n; } -function $o(e, t, r) { - let n = Y_(e, t, r); +function is(e, t, r) { + let n = gH(e, t, r); if (!n) return; - let i = Sp(n.degrees); + let i = Wp(n.degrees); return i === void 0 ? void 0 : { rotation: i, box: n.box }; } -function vi(e, t, r) { - let n = $o(e, t, r); - return n ? { box: n.box, rotation: n.rotation } : { box: bv(e, t, r), rotation: null }; +function ki(e, t, r) { + let n = is(e, t, r); + return n ? { box: n.box, rotation: n.rotation } : { box: Lv(e, t, r), rotation: null }; } -function Y_(e, t, r) { +function gH(e, t, r) { let n = e.FPDFAnnot_GetSubtype(r); - if (!uv.has(n)) return; - let i = N_(e, t, r), a = V_(e, t, r, i), A = bv(e, t, r), o = n === T.FREETEXT, s = o && i !== void 0 ? L_.find((P) => Wi(i, P)) : void 0, d = wv(e, t, r); - if (d && Io(ci(d.box, d.degrees), A) && (a ? Wi(a.degrees, d.degrees) : !e.EPDFAnnot_HasAppearanceStream(r, 0) || o && (e.FPDFAnnot_HasKey(r, "CL") || s !== void 0 && Wi(s, d.degrees)))) return d; + if (!Mv.has(n)) return; + let i = wH(e, t, r), a = bH(e, t, r, i), A = Lv(e, t, r), o = n === T.FREETEXT, s = o && i !== void 0 ? uH.find((P) => qi(i, P)) : void 0, d = Rv(e, t, r); + if (d && jo(li(d.box, d.degrees), A) && (a ? qi(a.degrees, d.degrees) : !e.EPDFAnnot_HasAppearanceStream(r, 0) || o && (e.FPDFAnnot_HasKey(r, "CL") || s !== void 0 && qi(s, d.degrees)))) return d; if (a) return a; if (s === void 0) return; if (s === 180) return { degrees: s, box: A }; - let l = (A.left + A.right) / 2, m = (A.bottom + A.top) / 2, F = (A.top - A.bottom) / 2, k = (A.right - A.left) / 2; - return { degrees: s, box: { left: l - F, bottom: m - k, right: l + F, top: m + k } }; + let u = (A.left + A.right) / 2, m = (A.bottom + A.top) / 2, F = (A.top - A.bottom) / 2, h = (A.right - A.left) / 2; + return { degrees: s, box: { left: u - F, bottom: m - h, right: u + F, top: m + h } }; } -function X_(e, t, r) { - let n = wv(e, t, r); +function fH(e, t, r) { + let n = Rv(e, t, r); if (!n) return; - let i = Sp(n.degrees); + let i = Wp(n.degrees); return i === void 0 ? void 0 : { rotation: i, box: n.box }; } -function W_(e, t) { - return !e || !t ? !e && !t : Wi(e.rotation, t.rotation) && Io(e.box, t.box); +function FH(e, t) { + return !e || !t ? !e && !t : qi(e.rotation, t.rotation) && jo(e.box, t.box); } -function U_(e, t) { - return uv.has(e.FPDFAnnot_GetSubtype(t)); +function vH(e, t) { + return Mv.has(e.FPDFAnnot_GetSubtype(t)); } -var gv = "Replace", fv = "StrikeOutTextEdit"; -function Fv(e) { - if (e === "replace") return gv; +var Tv = "Replace", Kv = "StrikeOutTextEdit"; +function Nv(e) { + if (e === "replace") return Tv; } -function q_(e) { - return e === gv ? "replace" : null; +function PH(e) { + return e === Tv ? "replace" : null; } -function vv(e) { - if (e === "strikeout-text-edit") return fv; +function Vv(e) { + if (e === "strikeout-text-edit") return Kv; } -function Z_(e) { - return e === fv ? "strikeout-text-edit" : null; +function hH(e) { + return e === Kv ? "strikeout-text-edit" : null; } -var z_ = "#ff0000"; -function J_(e, t, r, n) { - let i = In(e, t, r) ?? z_, a = Zn(e, t, r), A = a == null ? 1 : Math.max(0, Math.min(1, a)), o = q_(zn(e, t, r)); - return { ...n, richText: $t(e, t, r), subtype: "caret", intent: o, color: i, opacity: A, ...vi(e, t, r) }; +var kH = "#ff0000"; +function BH(e, t, r, n) { + let i = Sn(e, t, r) ?? kH, a = zn(e, t, r), A = a == null ? 1 : Math.max(0, Math.min(1, a)), o = PH(Jn(e, t, r)); + return { ...n, richText: en(e, t, r), subtype: "caret", intent: o, color: i, opacity: A, ...ki(e, t, r) }; } -function $_(e, t, r, n) { - return ue(t, (i, a) => e.EPDFDoc_GetAttachmentKey(r, n, i, a)); +function DH(e, t, r, n) { + return le(t, (i, a) => e.EPDFDoc_GetAttachmentKey(r, n, i, a)); } -function YA(e, t, r, n) { +function ZA(e, t, r, n) { let i = t.writeU16String(n.key); try { return e.EPDFDoc_GetAttachmentIndexByKey(r, i); @@ -9729,10 +9902,10 @@ function YA(e, t, r, n) { t.free(i); } } -function Mp(e, t, r, n, i, a) { +function qp(e, t, r, n, i, a) { let A = a.bytes.byteLength; if (A === 0) { - if (!e.FPDFAttachment_SetFile(r, n, Y, 0)) throw new f(g.Unknown, "FPDFAttachment_SetFile returned false"); + if (!e.FPDFAttachment_SetFile(r, n, X, 0)) throw new f(g.Unknown, "FPDFAttachment_SetFile returned false"); } else { let o = t.alloc(A); try { @@ -9741,35 +9914,35 @@ function Mp(e, t, r, n, i, a) { t.free(o); } } - if (Ct(t, dt(/* @__PURE__ */ new Date()), (o) => e.FPDFAttachment_SetStringValue(r, "CreationDate", o)), i.mimeType && !e.EPDFAttachment_SetSubtype(r, i.mimeType)) throw new f(g.Unknown, "EPDFAttachment_SetSubtype returned false"); - if (i.description !== void 0 && !Ct(t, i.description, (o) => e.EPDFAttachment_SetDescription(r, o))) throw new f(g.Unknown, "EPDFAttachment_SetDescription returned false"); + if (Ht(t, pt(/* @__PURE__ */ new Date()), (o) => e.FPDFAttachment_SetStringValue(r, "CreationDate", o)), i.mimeType && !e.EPDFAttachment_SetSubtype(r, i.mimeType)) throw new f(g.Unknown, "EPDFAttachment_SetSubtype returned false"); + if (i.description !== void 0 && !Ht(t, i.description, (o) => e.EPDFAttachment_SetDescription(r, o))) throw new f(g.Unknown, "EPDFAttachment_SetDescription returned false"); } -function Xr(e, t, r) { - let n = ue(t, (l, m) => e.FPDFAttachment_GetName(r, l, m)) ?? "", i = ue(t, (l, m) => e.FPDFAttachment_GetSubtype(r, l, m)), a = ue(t, (l, m) => e.EPDFAttachment_GetDescription(r, l, m)), A = aw(e, t, r, "CreationDate"), o = aw(e, t, r, "ModDate"), s = nH(kv(e, t, r, "CheckSum")), d = tH(e, t, r); +function Zr(e, t, r) { + let n = le(t, (u, m) => e.FPDFAttachment_GetName(r, u, m)) ?? "", i = le(t, (u, m) => e.FPDFAttachment_GetSubtype(r, u, m)), a = le(t, (u, m) => e.EPDFAttachment_GetDescription(r, u, m)), A = Pw(e, t, r, "CreationDate"), o = Pw(e, t, r, "ModDate"), s = GH(Wv(e, t, r, "CheckSum")), d = EH(e, t, r); return { name: n, mimeType: i || null, description: a || null, sizeBytes: d, md5: s || null, createdAt: A || null, modifiedAt: o || null }; } -function Pv(e, t, r) { +function Yv(e, t, r) { let { fn: n, mem: i } = e, a = i.alloc(8), A = i.alloc(4), o = i.alloc(4), s = null; try { - if (i.poke(a, "ptr", 0), i.poke(A, "i32", 0), i.poke(o, "i32", -1), !n.EPDFAttachment_ExtractFileToOwnedBuffer(t, BigInt(r ?? 0), a, A, o)) throw hv(Number(i.peek(o, "i32")), r); + if (i.poke(a, "ptr", 0), i.poke(A, "i32", 0), i.poke(o, "i32", -1), !n.EPDFAttachment_ExtractFileToOwnedBuffer(t, BigInt(r ?? 0), a, A, o)) throw Xv(Number(i.peek(o, "i32")), r); let d = Number(i.peek(A, "i32")) >>> 0; if (s = i.peek(a, "ptr"), d === 0 || !s) return { bytes: new ArrayBuffer(0), size: 0 }; - let l = i.readBytes(s, d), m = new ArrayBuffer(l.byteLength); - return new Uint8Array(m).set(l), { bytes: m, size: d }; + let u = i.readBytes(s, d), m = new ArrayBuffer(u.byteLength); + return new Uint8Array(m).set(u), { bytes: m, size: d }; } finally { s && n.EPDF_FreeBuffer(s), i.free(o), i.free(A), i.free(a); } } -function eH(e, t, r, n) { +function yH(e, t, r, n) { let { fn: i, mem: a } = e, A = a.alloc(4), o = a.alloc(4), s = e.fileWrite.toNodeFile(r); try { - if (a.poke(A, "i32", 0), a.poke(o, "i32", -1), !i.EPDFAttachment_ExtractFile(t, s.ptr, BigInt(n ?? 0), A, o)) throw hv(Number(a.peek(o, "i32")), n); + if (a.poke(A, "i32", 0), a.poke(o, "i32", -1), !i.EPDFAttachment_ExtractFile(t, s.ptr, BigInt(n ?? 0), A, o)) throw Xv(Number(a.peek(o, "i32")), n); return { size: Number(a.peek(A, "i32")) >>> 0 }; } finally { s.close(), a.free(o), a.free(A); } } -function hv(e, t) { +function Xv(e, t) { switch (e) { case 1: return new f(g.InvalidArg, "attachment has no embedded file stream (missing /EF)"); @@ -9783,14 +9956,14 @@ function hv(e, t) { return new f(g.Unknown, `attachment extraction failed (status ${e})`); } } -function kv(e, t, r, n) { - return e.FPDFAttachment_HasKey(r, n) ? ue(t, (i, a) => e.FPDFAttachment_GetStringValue(r, n, i, a), null) : null; +function Wv(e, t, r, n) { + return e.FPDFAttachment_HasKey(r, n) ? le(t, (i, a) => e.FPDFAttachment_GetStringValue(r, n, i, a), null) : null; } -function aw(e, t, r, n) { - let i = kv(e, t, r, n); - return i ? _n(i) : null; +function Pw(e, t, r, n) { + let i = Wv(e, t, r, n); + return i ? In(i) : null; } -function tH(e, t, r) { +function EH(e, t, r) { let n = t.alloc(4); try { if (!e.EPDFAttachment_GetIntegerValue(r, "Size", n)) return null; @@ -9800,81 +9973,81 @@ function tH(e, t, r) { t.free(n); } } -function nH(e) { +function GH(e) { if (!e) return null; let t = e.startsWith("<") && e.endsWith(">") ? e.slice(1, -1) : e; return /^[0-9a-fA-F]+$/.test(t) ? t.toLowerCase() : e; } -var Bv = Object.freeze({ comment: "Comment", key: "Key", note: "Note", help: "Help", "new-paragraph": "NewParagraph", paragraph: "Paragraph", insert: "Insert" }), rH = Object.freeze(Object.fromEntries(Object.entries(Bv).map(([e, t]) => [t, e]))), Dv = Object.freeze({ graph: "Graph", "push-pin": "PushPin", paperclip: "Paperclip", tag: "Tag" }), iH = Object.freeze(Object.fromEntries(Object.entries(Dv).map(([e, t]) => [t, e]))), aH = "#ffff00", AH = "push-pin"; -function oH(e, t, r, n) { - let i = In(e, t, r) ?? aH, a = Zn(e, t, r), A = a == null ? 1 : Math.max(0, Math.min(1, a)), o = iH[Qp(e, t, r) ?? ""] ?? AH, s = e.FPDFAnnot_GetFileAttachment(r), d = s ? Xr(e, t, s) : null; - return { ...n, richText: $t(e, t, r), subtype: "file-attachment", icon: o, file: d, color: i, opacity: A }; +var Uv = Object.freeze({ comment: "Comment", key: "Key", note: "Note", help: "Help", "new-paragraph": "NewParagraph", paragraph: "Paragraph", insert: "Insert" }), CH = Object.freeze(Object.fromEntries(Object.entries(Uv).map(([e, t]) => [t, e]))), qv = Object.freeze({ graph: "Graph", "push-pin": "PushPin", paperclip: "Paperclip", tag: "Tag" }), xH = Object.freeze(Object.fromEntries(Object.entries(qv).map(([e, t]) => [t, e]))), _H = "#ffff00", HH = "push-pin"; +function IH(e, t, r, n) { + let i = Sn(e, t, r) ?? _H, a = zn(e, t, r), A = a == null ? 1 : Math.max(0, Math.min(1, a)), o = xH[Xp(e, t, r) ?? ""] ?? HH, s = e.FPDFAnnot_GetFileAttachment(r), d = s ? Zr(e, t, s) : null; + return { ...n, richText: en(e, t, r), subtype: "file-attachment", icon: o, file: d, color: i, opacity: A }; } -var je = { Color: 0, InteriorColor: 1 }, yv = { "free-text": "FreeText", "free-text-callout": "FreeTextCallout", "free-text-typewriter": "FreeTextTypeWriter" }; -function Ev(e) { - return yv[e]; +var je = { Color: 0, InteriorColor: 1 }, Zv = { "free-text": "FreeText", "free-text-callout": "FreeTextCallout", "free-text-typewriter": "FreeTextTypeWriter" }; +function zv(e) { + return Zv[e]; } -function Gv(e) { - return Object.entries(yv).find(([, t]) => t === e)?.[0] ?? "free-text"; +function Jv(e) { + return Object.entries(Zv).find(([, t]) => t === e)?.[0] ?? "free-text"; } -var Po = { courier: 0, "courier-bold": 1, "courier-bold-oblique": 2, "courier-oblique": 3, helvetica: 4, "helvetica-bold": 5, "helvetica-bold-oblique": 6, "helvetica-oblique": 7, "times-roman": 8, "times-bold": 9, "times-bold-italic": 10, "times-italic": 11, symbol: 12, "zapf-dingbats": 13 }, sH = Object.fromEntries(Object.entries(Po).map(([e, t]) => [t, e])), Cv = "helvetica"; -function cH(e) { - return Po[e] ?? Po.helvetica; +var yo = { courier: 0, "courier-bold": 1, "courier-bold-oblique": 2, "courier-oblique": 3, helvetica: 4, "helvetica-bold": 5, "helvetica-bold-oblique": 6, "helvetica-oblique": 7, "times-roman": 8, "times-bold": 9, "times-bold-italic": 10, "times-italic": 11, symbol: 12, "zapf-dingbats": 13 }, QH = Object.fromEntries(Object.entries(yo).map(([e, t]) => [t, e])), $v = "helvetica"; +function SH(e) { + return yo[e] ?? yo.helvetica; } -function dH(e) { - return Object.prototype.hasOwnProperty.call(Po, e); +function OH(e) { + return Object.prototype.hasOwnProperty.call(yo, e); } -function jp(e) { - return sH[e] ?? "helvetica"; +function Zp(e) { + return QH[e] ?? "helvetica"; } -var xv = 0, _v = 1, Hv = 2; -function oA(e) { +var eP = 0, tP = 1, nP = 2; +function uA(e) { switch (e) { case "center": - return _v; + return tP; case "right": - return Hv; + return nP; default: - return xv; + return eP; } } -function Rp(e) { +function zp(e) { switch (e) { - case _v: + case tP: return "center"; - case Hv: + case nP: return "right"; - case xv: + case eP: default: return "left"; } } -var pH = "VerticalAlignment", Iv = ["top", "middle", "bottom"]; -function lH(e) { - return Iv.indexOf(e); +var MH = "VerticalAlignment", rP = ["top", "middle", "bottom"]; +function jH(e) { + return rP.indexOf(e); } -function uH(e) { - return e !== void 0 && Iv[e] || "top"; +function RH(e) { + return e !== void 0 && rP[e] || "top"; } -function es(e, t, r, n, i) { +function as(e, t, r, n, i) { let a = i?.keyForFace(n.family, n.weight, n.italic); if (a !== void 0) return a; - let A = uD(n); - if (xo(A)) return A; - let o = zo(e, t, r); - if (o && Vn(o.family) === Vn(n.family) && o.weight === n.weight && o.italic === n.italic) { - let s = Ke(t, (d, l) => e.EPDFAnnot_GetDefaultAppearanceFontPostScriptName(r, d, l)); + let A = KD(n); + if (So(A)) return A; + let o = ns(e, t, r); + if (o && Yn(o.family) === Yn(n.family) && o.weight === n.weight && o.italic === n.italic) { + let s = Ke(t, (d, u) => e.EPDFAnnot_GetDefaultAppearanceFontPostScriptName(r, d, u)); if (s) return s; } - return Ff({ familyName: n.family, weight: n.weight, italic: n.italic }, null); + return Mf({ familyName: n.family, weight: n.weight, italic: n.italic }, null); } -function mH(e, t, r) { +function LH(e, t, r) { if (!e.EPDFAnnot_HasEmbedMetadata(r)) return null; - let n = Qv(e, t, r, "SchemaVersion"), i = jr(e, t, r, "UserID"), a = jr(e, t, r, "GroupID"), A = jr(e, t, r, "CreatedBy"), o = jr(e, t, r, "UpdatedBy"), s = jr(e, t, r, "ImportedBy"), d = {}; + let n = iP(e, t, r, "SchemaVersion"), i = Tr(e, t, r, "UserID"), a = Tr(e, t, r, "GroupID"), A = Tr(e, t, r, "CreatedBy"), o = Tr(e, t, r, "UpdatedBy"), s = Tr(e, t, r, "ImportedBy"), d = {}; return n !== void 0 && (d.schemaVersion = n), i !== void 0 && (d.userId = i), a !== void 0 && (d.groupId = a), A !== void 0 && (d.createdBy = A), o !== void 0 && (d.modifiedBy = o), s !== void 0 && (d.importedBy = s), d; } -function jr(e, t, r, n) { - let i = e.EPDFAnnot_GetEmbedMetadataString(r, n, Y, 0); +function Tr(e, t, r, n) { + let i = e.EPDFAnnot_GetEmbedMetadataString(r, n, X, 0); if (i <= 2) return; let a = t.alloc(i); try { @@ -9883,7 +10056,7 @@ function jr(e, t, r, n) { t.free(a); } } -function Qv(e, t, r, n) { +function iP(e, t, r, n) { let i = t.alloc(4); try { return e.EPDFAnnot_GetEmbedMetadataNumber(r, n, i) ? Number(t.peek(i, "f32")) : void 0; @@ -9891,191 +10064,139 @@ function Qv(e, t, r, n) { t.free(i); } } -var Sv = 1, Ov = 2, Mv = 3, jv = 4, Rv = 5; -function Lp(e) { +var aP = 1, AP = 2, oP = 3, sP = 4, cP = 5; +function Jp(e) { switch (e) { case "dashed": - return Ov; + return AP; case "beveled": - return Mv; + return oP; case "inset": - return jv; + return sP; default: - return Sv; + return aP; } } -function Tp(e) { +function $p(e) { switch (e) { - case Ov: + case AP: return "dashed"; - case Mv: + case oP: return "beveled"; - case jv: + case sP: return "inset"; - case Sv: + case aP: default: return "solid"; } } -function wH(e) { - return e === "underline" ? Rv : Lp(e); +function TH(e) { + return e === "underline" ? cP : Jp(e); } -function Lv(e) { - return e === Rv ? "underline" : Tp(e); +function dP(e) { + return e === cP ? "underline" : $p(e); } -function Kp(e, t, r) { - let { styleCode: n, width: i } = Zo(e, t, r), a = x_(e, t, r); - return { strokeWidth: i, borderStyle: Tp(n), dashArray: a.length > 0 ? a : null }; +function eu(e, t, r) { + let { styleCode: n, width: i } = ts(e, t, r), a = nH(e, t, r); + return { strokeWidth: i, borderStyle: $p(n), dashArray: a.length > 0 ? a : null }; } -function Tv(e, t, r) { - let n = In(e, t, r, je.Color), i = Zn(e, t, r); - return { color: n, opacity: i == null ? 1 : Math.max(0, Math.min(1, i)), ...Kp(e, t, r) }; +function pP(e, t, r) { + let n = Sn(e, t, r, je.Color), i = zn(e, t, r); + return { color: n, opacity: i == null ? 1 : Math.max(0, Math.min(1, i)), ...eu(e, t, r) }; } -function ts(e, t, r) { - let n = In(e, t, r, je.InteriorColor); - return { ...Tv(e, t, r), interiorColor: n ?? null }; +function As(e, t, r) { + let n = Sn(e, t, r, je.InteriorColor); + return { ...pP(e, t, r), interiorColor: n ?? null }; } -var bH = "#000000", gH = 12; -function fH(e, t, r, n, i, a) { - let A = Fi(e, t, r), o = A?.color ?? bH, s = y_(e, t, r), d = a?.fonts, l = s ? es(e, t, r, s.body, d) : A ? jp(A.fontCode) : Cv, m = s && s.body.size > 0 ? s.body.size : A && A.fontSize > 0 ? A.fontSize : gH, F = s ?? { body: { family: "Helvetica", weight: 400, italic: !1, size: m, color: o, decoration: [], script: "normal", letterSpacing: 0, horizontalScale: 1, align: "left", dir: "ltr" }, paragraphs: [{ runs: [{ text: n.contents ?? "" }] }] }, k = F.body.color.toLowerCase(), P = In(e, t, r, je.Color), D = Zn(e, t, r), G = D == null ? 1 : Math.max(0, Math.min(1, D)), I = s ? s.body.align : Rp(Hp(e, r)), _ = uH(Qv(e, t, r, pH)), H = Gv(zn(e, t, r)), C = Q_(e, t, r), j = C.length === 2 ? [C[0], C[1]] : C.length === 3 ? [C[0], C[1], C[2]] : void 0, X = _p(e, t, r).end; - return { ...n, subtype: "free-text", intent: H, fontFamily: l, fontSize: m, textAlign: I, verticalAlign: _, richText: F, color: o, fontColor: k, interiorColor: P ?? null, opacity: G, ...Kp(e, t, r), cloudyIntensity: xp(e, t, r), ...vi(e, t, r), calloutLine: j ?? null, lineEnding: j !== void 0 && X !== "none" ? X : null }; +var KH = "#000000", NH = 12; +function VH(e, t, r, n, i, a) { + let A = hi(e, t, r), o = A?.color ?? KH, s = J_(e, t, r), d = a?.fonts, u = s ? as(e, t, r, s.body, d) : A ? Zp(A.fontCode) : $v, m = s && s.body.size > 0 ? s.body.size : A && A.fontSize > 0 ? A.fontSize : NH, F = s ?? { body: { family: "Helvetica", weight: 400, italic: !1, size: m, color: o, decoration: [], script: "normal", letterSpacing: 0, horizontalScale: 1, align: "left", dir: "ltr" }, paragraphs: [{ runs: [{ text: n.contents ?? "" }] }] }, h = F.body.color.toLowerCase(), P = Sn(e, t, r, je.Color), D = zn(e, t, r), G = D == null ? 1 : Math.max(0, Math.min(1, D)), I = s ? s.body.align : zp(Vp(e, r)), _ = RH(iP(e, t, r, MH)), H = Jv(Jn(e, t, r)), C = AH(e, t, r), O = C.length === 2 ? [C[0], C[1]] : C.length === 3 ? [C[0], C[1], C[2]] : void 0, K = Np(e, t, r).end; + return { ...n, subtype: "free-text", intent: H, fontFamily: u, fontSize: m, textAlign: I, verticalAlign: _, richText: F, color: o, fontColor: h, interiorColor: P ?? null, opacity: G, ...eu(e, t, r), cloudyIntensity: Kp(e, t, r), ...ki(e, t, r), calloutLine: O ?? null, lineEnding: O !== void 0 && K !== "none" ? K : null }; } -function FH(e, t, r) { +function YH(e, t, r) { switch (e.FPDFAnnot_GetSubtype(r)) { case T.LINE: { - let n = pv(e, t, r); + let n = Sv(e, t, r); return n ? [[n.start, n.end]] : []; } case T.POLYGON: case T.POLYLINE: - return [cv(e, t, r)]; + return [Iv(e, t, r)]; case T.INK: - return dv(e, t, r).map((n) => [...n]); + return Qv(e, t, r).map((n) => [...n]); default: return []; } } -function vH(e, t, r) { - let n = j_(e, t, r); +function XH(e, t, r) { + let n = dH(e, t, r); if (n === void 0) return; - let i = N(t, 16, (a) => e.EPDFAnnot_GetEmbedMetadataRect(r, "UnrotatedRect", a) ? Se(bn(t, a)) : void 0); + let i = V(t, 16, (a) => e.EPDFAnnot_GetEmbedMetadataRect(r, "UnrotatedRect", a) ? Se(bn(t, a)) : void 0); return i ? { rotation: n, box: i } : void 0; } -function ns(e, t, r, n) { +function os(e, t, r, n) { let i = n.flat(); if (i.length === 0) return; - let a = vH(e, t, r); + let a = XH(e, t, r); if (!a) return; let { box: A } = a, o = { degrees: a.rotation, center: { x: (A.left + A.right) / 2, y: (A.bottom + A.top) / 2 } }; - return Io(Qa(i.map((s) => od(s, o))), A) ? o : void 0; + return jo(Oa(i.map((s) => wd(s, o))), A) ? o : void 0; } -var br = (e, t) => t ? od(e, t) : e; -function Kv(e) { +var gr = (e, t) => t ? wd(e, t) : e; +function uP(e) { if (e === "ink-highlight") return "InkHighlight"; } -function PH(e) { +function WH(e) { return e === "InkHighlight" ? "ink-highlight" : null; } -function hH(e, t, r, n) { - let i = dv(e, t, r), a = ns(e, t, r, i), A = PH(zn(e, t, r)); - return { ...n, richText: $t(e, t, r), subtype: "ink", ...Tv(e, t, r), intent: A, inkList: i.map((o) => o.map((s) => br(s, a))), rotation: a?.degrees ?? null }; +function UH(e, t, r, n) { + let i = Qv(e, t, r), a = os(e, t, r, i), A = WH(Jn(e, t, r)); + return { ...n, richText: en(e, t, r), subtype: "ink", ...pP(e, t, r), intent: A, inkList: i.map((o) => o.map((s) => gr(s, a))), rotation: a?.degrees ?? null }; } -var kH = { "line-arrow": "LineArrow", "line-dimension": "LineDimension", "polygon-cloud": "PolygonCloud", "polygon-dimension": "PolygonDimension", "polyline-dimension": "PolyLineDimension" }; -function BH(e) { - return kH[e]; +var qH = { "line-arrow": "LineArrow", "line-dimension": "LineDimension", "polygon-cloud": "PolygonCloud", "polygon-dimension": "PolygonDimension", "polyline-dimension": "PolyLineDimension" }; +function ZH(e) { + return qH[e]; } -function DH(e) { +function zH(e) { return e === "LineArrow" ? "line-arrow" : e === "LineDimension" ? "line-dimension" : null; } -function yH(e) { +function JH(e) { return e === "PolygonCloud" ? "polygon-cloud" : e === "PolygonDimension" ? "polygon-dimension" : null; } -function EH(e) { +function $H(e) { return e === "PolyLineDimension" ? "polyline-dimension" : null; } -var Nv = { x: 0, y: 1, distance: 2, area: 3, angle: 4, slope: 5 }, Lc = ["decimal", "fraction", "round", "truncate"], Vv = ["thousands", "decimal", "prefixSpacing", "suffixSpacing"]; -function Oe(e) { - if (!e) throw new f(g.Unknown, "Measurement native write failed after preflight"); -} -function Ir(e, t, r = "f32") { - return N(e, 4, (n) => t(n) ? Number(e.peek(n, r)) : void 0); -} -function Tc(e, t, r) { - return t ? N(e, 8, (n) => (e.poke(n, "f32", t.x), e.poke(n, "f32", t.y, 4), r(n))) : r(Y); +function tu(e, t, r) { + return { measure: av(e, t, e.EPDFAnnot_GetMeasure(r)) ?? null }; } -function Yv(e, t, r) { - if (!r) return; - let n = e.EPDFMeasure_GetSubtype(r); - if (n !== 1) return { subtype: n === 2 ? "geospatial" : "unknown" }; - let i = (d) => Array.from({ length: e.EPDFMeasure_CountFormats(r, d) }, (l, m) => { - let F = e.EPDFMeasure_GetFormat(r, d, m), k = { unit: ue(t, (H, C) => e.EPDFNumberFormat_GetUnit(F, H, C)) ?? "" }, P = Ir(t, (H) => e.EPDFNumberFormat_GetConversion(F, H)); - P !== void 0 && (k.conversion = P); - let D = Ir(t, (H) => e.EPDFNumberFormat_GetFraction(F, H), "i32"); - D !== void 0 && Lc[D] && (k.fraction = Lc[D]); - let G = Ir(t, (H) => e.EPDFNumberFormat_GetPrecision(F, H), "i32"); - G !== void 0 && (k.precision = G); - let I = Ir(t, (H) => e.EPDFNumberFormat_GetFixedDenominator(F, H), "i32"); - I !== void 0 && (k.fixed = !!I); - let _ = Ir(t, (H) => e.EPDFNumberFormat_GetLabelPosition(F, H), "i32"); - _ !== void 0 && (k.labelPosition = _ === 1 ? "prefix" : "suffix"); - for (let [H, C] of Vv.entries()) { - let j = ue(t, (X, ge) => e.EPDFNumberFormat_GetText(F, H, X, ge)); - j !== null && (k[C] = j); - } - return k; - }), a = ue(t, (d, l) => e.EPDFMeasure_GetRatio(r, d, l)), A = N(t, 8, (d) => e.EPDFMeasure_GetOrigin(r, d) ? { x: Number(t.peek(d, "f32")), y: Number(t.peek(d, "f32", 4)) } : void 0), o = Ir(t, (d) => e.EPDFMeasure_GetCYX(r, d)), s = { subtype: "rectilinear", x: i(0), distance: i(2), area: i(3), ...a !== null ? { ratio: a } : {}, ...A ? { origin: A } : {}, ...o !== void 0 ? { cyx: o } : {} }; - for (let d of ["y", "angle", "slope"]) { - let l = i(Nv[d]); - l.length && (s[d] = l); - } - return s; -} -function Xv(e, t, r, n) { - Oe(r), n.ratio !== void 0 && Oe(Ct(t, n.ratio, (i) => e.EPDFMeasure_SetRatio(r, i))), n.origin && Oe(Tc(t, n.origin, (i) => e.EPDFMeasure_SetOrigin(r, i))), n.cyx !== void 0 && N(t, 4, (i) => { - t.poke(i, "f32", n.cyx), Oe(e.EPDFMeasure_SetCYX(r, i)); - }); - for (let [i, a] of Object.entries(Nv)) for (let A of n[i] ?? []) { - let o = t.writeU16String(A.unit), s; - try { - s = e.EPDFMeasure_AddFormat(r, a, o, A.conversion); - } finally { - t.free(o); - } - Oe(s), A.fraction !== void 0 && Oe(e.EPDFNumberFormat_SetFraction(s, Lc.indexOf(A.fraction))), A.precision !== void 0 && Oe(e.EPDFNumberFormat_SetPrecision(s, A.precision)), A.fixed !== void 0 && Oe(e.EPDFNumberFormat_SetFixedDenominator(s, A.fixed)), A.labelPosition !== void 0 && Oe(e.EPDFNumberFormat_SetLabelPosition(s, A.labelPosition === "prefix" ? 1 : 0)); - for (let [d, l] of Vv.entries()) A[l] !== void 0 && Oe(Ct(t, A[l], (m) => e.EPDFNumberFormat_SetText(s, d, m))); - } -} -function Np(e, t, r) { - return { measure: Yv(e, t, e.EPDFAnnot_GetMeasure(r)) ?? null }; -} -function GH(e, t, r) { - if (["Cap", "CP", "CO"].some((n) => e.FPDFAnnot_HasKey(r, n))) return fe(t, [4, 4, 8], ([n, i, a]) => { +function e4(e, t, r) { + if (["Cap", "CP", "CO"].some((n) => e.FPDFAnnot_HasKey(r, n))) return Fe(t, [4, 4, 8], ([n, i, a]) => { if (e.EPDFAnnot_GetLineCaption(r, n, i, a)) return { enabled: !!t.peek(n, "i32"), position: t.peek(i, "i32") === 1 ? "top" : "inline", ...e.FPDFAnnot_HasKey(r, "CO") ? { offset: { along: Number(t.peek(a, "f32")), perpendicular: Number(t.peek(a, "f32", 4)) } } : {} }; }); } -function Wv(e, t, r) { - return fe(t, [4, 4, 8], ([n, i, a]) => { +function lP(e, t, r) { + return Fe(t, [4, 4, 8], ([n, i, a]) => { if (!e.EPDFAnnot_GetShapeCaption(r, n, i, a)) return; let A = !!t.peek(n, "i32"), o = !!t.peek(i, "i32"); if (!(!e.EPDFAnnot_GetEmbedMetadataBoolean(r, "MeasurementCaption", n) && !o)) return { enabled: A, ...o ? { center: { x: Number(t.peek(a, "f32")), y: Number(t.peek(a, "f32", 4)) } } : {} }; }); } -function CH(e, t, r) { - if (["LL", "LLE", "LLO"].some((n) => e.FPDFAnnot_HasKey(r, n))) return fe(t, [4, 4, 4], ([n, i, a]) => { +function t4(e, t, r) { + if (["LL", "LLE", "LLO"].some((n) => e.FPDFAnnot_HasKey(r, n))) return Fe(t, [4, 4, 4], ([n, i, a]) => { if (e.EPDFAnnot_GetLineLeader(r, n, i, a)) return { length: Number(t.peek(n, "f32")), extension: Number(t.peek(i, "f32")), offset: Number(t.peek(a, "f32")) }; }); } -var xH = { start: { x: 0, y: 0 }, end: { x: 0, y: 0 } }; -function _H(e, t, r, n) { - let i = pv(e, t, r) ?? xH, a = ns(e, t, r, [[i.start, i.end]]), A = zn(e, t, r), o = GH(e, t, r), s = CH(e, t, r); - return { ...n, richText: $t(e, t, r), ...Np(e, t, r), intent: DH(A), captionEnabled: o?.enabled ?? !1, captionPosition: o?.position ?? "inline", captionOffset: o?.offset ?? null, leader: s ?? null, subtype: "line", ...ts(e, t, r), linePoints: { start: br(i.start, a), end: br(i.end, a) }, lineEndings: _p(e, t, r), rotation: a?.degrees ?? null }; +var n4 = { start: { x: 0, y: 0 }, end: { x: 0, y: 0 } }; +function r4(e, t, r, n) { + let i = Sv(e, t, r) ?? n4, a = os(e, t, r, [[i.start, i.end]]), A = Jn(e, t, r), o = e4(e, t, r), s = t4(e, t, r); + return { ...n, richText: en(e, t, r), ...tu(e, t, r), intent: zH(A), captionEnabled: o?.enabled ?? !1, captionPosition: o?.position ?? "inline", captionOffset: o?.offset ?? null, leader: s ?? null, subtype: "line", ...As(e, t, r), linePoints: { start: gr(i.start, a), end: gr(i.end, a) }, lineEndings: Np(e, t, r), rotation: a?.degrees ?? null }; } -function Uv(e, t, r, n) { - let i = n.page.objectNumber, a = n.kind === "xyz" ? e.EPDFDest_CreateXYZByObjectNumber(r, i, n.left != null, n.left ?? 0, n.top != null, n.top ?? 0, n.zoom != null, n.zoom ?? 0) : HH(e, t, r, i, n); +function mP(e, t, r, n) { + let i = n.page.objectNumber, a = n.kind === "xyz" ? e.EPDFDest_CreateXYZByObjectNumber(r, i, n.left != null, n.left ?? 0, n.top != null, n.top ?? 0, n.zoom != null, n.zoom ?? 0) : i4(e, t, r, i, n); if (!a) throw new f(g.NotFound, `destination page not found: pageObjectNumber=${i}`); return a; } -function HH(e, t, r, n, i) { +function i4(e, t, r, n, i) { let a = (() => { switch (i.kind) { case "fitH": @@ -10089,13 +10210,13 @@ function HH(e, t, r, n, i) { default: return []; } - })(), A = ux[i.kind]; - return a.length ? N(t, a.length * 4, (o) => { + })(), A = Rx[i.kind]; + return a.length ? V(t, a.length * 4, (o) => { for (let s = 0; s < a.length; s++) t.poke(o, "f32", a[s], s * 4); return e.EPDFDest_CreateViewByObjectNumber(r, n, A, o, a.length); - }) : e.EPDFDest_CreateViewByObjectNumber(r, n, A, Y, 0); + }) : e.EPDFDest_CreateViewByObjectNumber(r, n, A, X, 0); } -function qv(e) { +function wP(e) { if (e.incomplete) return { kind: "unsupported" }; let t = e.root; if (!t) return { kind: "unsupported" }; @@ -10116,86 +10237,86 @@ function qv(e) { return { kind: "unsupported" }; } } -function Zv(e, t, r, n) { - let i = n.kind === "uri" ? e.EPDFAction_CreateURI(r, n.uri) : n.kind === "named" ? e.EPDFAction_CreateNamed(r, n.name) : e.EPDFAction_CreateGoTo(r, Uv(e, t, r, n.destination)); +function bP(e, t, r, n) { + let i = n.kind === "uri" ? e.EPDFAction_CreateURI(r, n.uri) : n.kind === "named" ? e.EPDFAction_CreateNamed(r, n.name) : e.EPDFAction_CreateGoTo(r, mP(e, t, r, n.destination)); if (!i) throw new f(g.Unknown, `failed to create '${n.kind}' action`); return i; } -function IH(e, t, r, n, i, a) { - return { ...n, subtype: "link", target: QH(e, t, r, n, a) }; +function a4(e, t, r, n, i, a) { + return { ...n, subtype: "link", target: A4(e, t, r, n, a) }; } -function QH(e, t, r, n, i) { +function A4(e, t, r, n, i) { let a = n.actions?.activate; - if (a) return qv(a); + if (a) return wP(a); let A = e.FPDFAnnot_GetLink(r); if (!A) return null; let o = e.FPDFLink_GetDest(i.docPtr, A); if (!o) return null; - let s = Xo(e, t, i.docPtr, o); + let s = $o(e, t, i.docPtr, o); return s ? { kind: "goto", destination: s } : { kind: "unsupported" }; } -function SH(e) { +function o4(e) { return e === 2 ? "group" : "reply"; } -function zv(e) { +function gP(e) { return e === "group" ? 2 : 1; } -var Aw = { inReplyTo: null, replyType: null }; -function OH(e, t, r, n, i) { +var hw = { inReplyTo: null, replyType: null }; +function s4(e, t, r, n, i) { let a = e.FPDFAnnot_GetLinkedAnnot(n, "IRT"); - if (!a) return Aw; + if (!a) return hw; try { - let A = $v(e, t, r, a, i); - return A ? { inReplyTo: A, replyType: SH(e.EPDFAnnot_GetReplyType(n)) } : Aw; + let A = FP(e, t, r, a, i); + return A ? { inReplyTo: A, replyType: o4(e.EPDFAnnot_GetReplyType(n)) } : hw; } finally { e.FPDFPage_CloseAnnot(a); } } -function Jv(e, t, r, n, i, a) { +function fP(e, t, r, n, i, a) { let A = e.FPDFAnnot_GetLinkedAnnot(n, i); if (!A) return null; try { - return $v(e, t, r, A, a); + return FP(e, t, r, A, a); } finally { e.FPDFPage_CloseAnnot(A); } } -function $v(e, t, r, n, i) { +function FP(e, t, r, n, i) { let a = e.EPDFAnnot_GetObjectNumber(n); - return a <= 0 ? null : KF(e, t, r, be(i), a); + return a <= 0 ? null : uv(e, t, r, be(i), a); } -function MH(e, t, r, n, i, a) { - return { ...n, subtype: "popup", parent: Jv(e, t, a.docPtr, r, "Parent", n.page.objectNumber), open: Da(e, t, r, "Open") ?? !1 }; +function c4(e, t, r, n, i, a) { + return { ...n, subtype: "popup", parent: fP(e, t, a.docPtr, r, "Parent", n.page.objectNumber), open: Ga(e, t, r, "Open") ?? !1 }; } -var jH = "#ff0000", RH = "#000000", LH = 12; -function TH(e, t, r, n, i, a) { - let A = In(e, t, r, je.Color) ?? jH, o = Zn(e, t, r), s = o == null ? 1 : Math.max(0, Math.min(1, o)), d = In(e, t, r, je.InteriorColor) ?? null, l = Fi(e, t, r), m = l ? zo(e, t, r) : null, F = a?.fonts, k = m?.family ? es(e, t, r, m, F) : l ? jp(l.fontCode) : Cv, P = l ? l.fontSize : LH, D = l?.color ?? RH; - return { ...n, richText: $t(e, t, r), subtype: "redact", quadPoints: Ip(e, t, r), color: A, opacity: s, interiorColor: d, overlayText: H_(e, t, r), repeat: I_(e, r), fontFamily: k, fontSize: P, fontColor: D, textAlign: Rp(Hp(e, r)) }; +var d4 = "#ff0000", p4 = "#000000", u4 = 12; +function l4(e, t, r, n, i, a) { + let A = Sn(e, t, r, je.Color) ?? d4, o = zn(e, t, r), s = o == null ? 1 : Math.max(0, Math.min(1, o)), d = Sn(e, t, r, je.InteriorColor) ?? null, u = hi(e, t, r), m = u ? ns(e, t, r) : null, F = a?.fonts, h = m?.family ? as(e, t, r, m, F) : u ? Zp(u.fontCode) : $v, P = u ? u.fontSize : u4, D = u?.color ?? p4; + return { ...n, richText: en(e, t, r), subtype: "redact", quadPoints: Yp(e, t, r), color: A, opacity: s, interiorColor: d, overlayText: iH(e, t, r), repeat: aH(e, r), fontFamily: h, fontSize: P, fontColor: D, textAlign: zp(Vp(e, r)) }; } -function eP(e, t, r) { - return { ...ts(e, t, r), ...vi(e, t, r), cloudyIntensity: xp(e, t, r), richText: $t(e, t, r) }; +function vP(e, t, r) { + return { ...As(e, t, r), ...ki(e, t, r), cloudyIntensity: Kp(e, t, r), richText: en(e, t, r) }; } -function KH(e, t, r, n) { - return { ...n, subtype: "circle", ...eP(e, t, r) }; +function m4(e, t, r, n) { + return { ...n, subtype: "circle", ...vP(e, t, r) }; } -function NH(e, t, r, n) { - return { ...n, subtype: "square", ...eP(e, t, r) }; +function w4(e, t, r, n) { + return { ...n, subtype: "square", ...vP(e, t, r) }; } -var Vp = "SchemaVersion", tP = "UserID", Yp = "GroupID", nP = "CreatedBy", Xp = "UpdatedBy", VH = "ImportedBy"; -function YH(e, t, r, n) { - !n || !n.userId && !n.groupId || (e.EPDFAnnot_SetEmbedMetadataNumber(r, Vp, 1), n.userId && (Kn(e, t, r, tP, n.userId), Kn(e, t, r, nP, n.userId), Kn(e, t, r, Xp, n.userId)), n.groupId && Kn(e, t, r, Yp, n.groupId)); +var nu = "SchemaVersion", PP = "UserID", ru = "GroupID", hP = "CreatedBy", iu = "UpdatedBy", b4 = "ImportedBy"; +function g4(e, t, r, n) { + !n || !n.userId && !n.groupId || (e.EPDFAnnot_SetEmbedMetadataNumber(r, nu, 1), n.userId && (Nn(e, t, r, PP, n.userId), Nn(e, t, r, hP, n.userId), Nn(e, t, r, iu, n.userId)), n.groupId && Nn(e, t, r, ru, n.groupId)); } -function XH(e, t, r, n) { - !n || !n.userId && !n.groupId || (e.EPDFAnnot_HasEmbedMetadata(r) || e.EPDFAnnot_SetEmbedMetadataNumber(r, Vp, 1), n.userId && Kn(e, t, r, Xp, n.userId), n.groupId && Kn(e, t, r, Yp, n.groupId)); +function f4(e, t, r, n) { + !n || !n.userId && !n.groupId || (e.EPDFAnnot_HasEmbedMetadata(r) || e.EPDFAnnot_SetEmbedMetadataNumber(r, nu, 1), n.userId && Nn(e, t, r, iu, n.userId), n.groupId && Nn(e, t, r, ru, n.groupId)); } -function WH(e, t, r, n, i) { - let a = [[tP, n.userId], [nP, n.createdBy], [Xp, n.modifiedBy], [Yp, n.groupId], [VH, i]]; +function F4(e, t, r, n, i) { + let a = [[PP, n.userId], [hP, n.createdBy], [iu, n.modifiedBy], [ru, n.groupId], [b4, i]]; if (!a.every(([, A]) => !A)) { - e.EPDFAnnot_SetEmbedMetadataNumber(r, Vp, 1); - for (let [A, o] of a) o && Kn(e, t, r, A, o); + e.EPDFAnnot_SetEmbedMetadataNumber(r, nu, 1); + for (let [A, o] of a) o && Nn(e, t, r, A, o); } } -function Kn(e, t, r, n, i) { +function Nn(e, t, r, n, i) { let a = t.writeU16String(i); try { e.EPDFAnnot_SetEmbedMetadataString(r, n, a); @@ -10203,263 +10324,263 @@ function Kn(e, t, r, n, i) { t.free(a); } } -var Kc = "AppearanceFit", UH = ["contain", "cover", "fill"]; -function Wp(e, t, r) { - let n = jr(e, t, r, Kc); - return n !== void 0 && UH.includes(n) ? n : null; +var qc = "AppearanceFit", v4 = ["contain", "cover", "fill"]; +function au(e, t, r) { + let n = Tr(e, t, r, qc); + return n !== void 0 && v4.includes(n) ? n : null; } -function Up(e, t, r, n) { +function Au(e, t, r, n) { if (n === null) { - e.EPDFAnnot_ClearEmbedMetadataKey(r, Kc); + e.EPDFAnnot_ClearEmbedMetadataKey(r, qc); return; } - e.EPDFAnnot_HasEmbedMetadata(r) || e.EPDFAnnot_SetEmbedMetadataNumber(r, "SchemaVersion", 1), Kn(e, t, r, Kc, n); + e.EPDFAnnot_HasEmbedMetadata(r) || e.EPDFAnnot_SetEmbedMetadataNumber(r, "SchemaVersion", 1), Nn(e, t, r, qc, n); } -function qH(e, t, r, n) { - return { ...n, richText: $t(e, t, r), subtype: "stamp", name: Qp(e, t, r), fit: Wp(e, t, r), opacity: Zn(e, t, r) ?? 1, ...vi(e, t, r) }; +function P4(e, t, r, n) { + return { ...n, richText: en(e, t, r), subtype: "stamp", name: Xp(e, t, r), fit: au(e, t, r), opacity: zn(e, t, r) ?? 1, ...ki(e, t, r) }; } -var rP = { review: "Review", marked: "Marked" }, iP = { accepted: "Accepted", rejected: "Rejected", cancelled: "Cancelled", completed: "Completed", none: "None", marked: "Marked", unmarked: "Unmarked" }, ZH = oP(rP), zH = oP(iP); -function aP(e) { - return rP[e] ?? e; +var kP = { review: "Review", marked: "Marked" }, BP = { accepted: "Accepted", rejected: "Rejected", cancelled: "Cancelled", completed: "Completed", none: "None", marked: "Marked", unmarked: "Unmarked" }, h4 = EP(kP), k4 = EP(BP); +function DP(e) { + return kP[e] ?? e; } -function JH(e) { - return ZH[e] ?? e; +function B4(e) { + return h4[e] ?? e; } -function AP(e) { - return iP[e] ?? e; +function yP(e) { + return BP[e] ?? e; } -function $H(e) { - return zH[e] ?? e; +function D4(e) { + return k4[e] ?? e; } -function oP(e) { +function EP(e) { return Object.fromEntries(Object.entries(e).map(([t, r]) => [r, t])); } -var e4 = "#ffff00", t4 = "note"; -function n4(e, t, r, n) { - let i = In(e, t, r) ?? e4, a = Zn(e, t, r), A = a == null ? 1 : Math.max(0, Math.min(1, a)), o = rH[Qp(e, t, r) ?? ""] ?? t4, s = yn(e, t, r, "State"), d = yn(e, t, r, "StateModel"); - return { ...n, richText: $t(e, t, r), subtype: "text", icon: o, open: Da(e, t, r, "Open") ?? r4(e, t, r) ?? !1, color: i, opacity: A, state: s === null ? null : $H(s), stateModel: d === null ? null : JH(d) }; +var y4 = "#ffff00", E4 = "note"; +function G4(e, t, r, n) { + let i = Sn(e, t, r) ?? y4, a = zn(e, t, r), A = a == null ? 1 : Math.max(0, Math.min(1, a)), o = CH[Xp(e, t, r) ?? ""] ?? E4, s = En(e, t, r, "State"), d = En(e, t, r, "StateModel"); + return { ...n, richText: en(e, t, r), subtype: "text", icon: o, open: Ga(e, t, r, "Open") ?? C4(e, t, r) ?? !1, color: i, opacity: A, state: s === null ? null : D4(s), stateModel: d === null ? null : B4(d) }; } -function r4(e, t, r) { +function C4(e, t, r) { let n = e.FPDFAnnot_GetLinkedAnnot(r, "Popup"); if (!n) return null; try { - return Da(e, t, n, "Open"); + return Ga(e, t, n, "Open"); } finally { e.FPDFPage_CloseAnnot(n); } } -var i4 = "#ffff00", a4 = "#000000"; -function rs(e, t, r, n = a4) { - let i = In(e, t, r) ?? n, a = Zn(e, t, r); - return { color: i, opacity: a == null ? 1 : Math.max(0, Math.min(1, a)), quadPoints: Ip(e, t, r), richText: $t(e, t, r) }; +var x4 = "#ffff00", _4 = "#000000"; +function ss(e, t, r, n = _4) { + let i = Sn(e, t, r) ?? n, a = zn(e, t, r); + return { color: i, opacity: a == null ? 1 : Math.max(0, Math.min(1, a)), quadPoints: Yp(e, t, r), richText: en(e, t, r) }; } -function A4(e, t, r, n) { - let i = rs(e, t, r, i4); +function H4(e, t, r, n) { + let i = ss(e, t, r, x4); return { ...n, subtype: "highlight", ...i }; } -function o4(e, t, r, n) { - let i = rs(e, t, r); +function I4(e, t, r, n) { + let i = ss(e, t, r); return { ...n, subtype: "underline", ...i }; } -function s4(e, t, r, n) { - let i = rs(e, t, r); +function Q4(e, t, r, n) { + let i = ss(e, t, r); return { ...n, subtype: "squiggly", ...i }; } -function c4(e, t, r, n) { - let i = rs(e, t, r), a = Z_(zn(e, t, r)); +function S4(e, t, r, n) { + let i = ss(e, t, r), a = hH(Jn(e, t, r)); return { ...n, subtype: "strikeout", intent: a, ...i }; } -function d4(e, t, r, n, i) { - let a = yn(e, t, r, "Subtype"); +function O4(e, t, r, n, i) { + let a = En(e, t, r, "Subtype"); return { ...n, subtype: "unsupported", rawSubtypeCode: i, rawSubtypeName: a }; } -function sP(e, t, r) { - let n = cv(e, t, r), i = ns(e, t, r, [n]), a = Wv(e, t, r); - return { vertices: n.map((A) => br(A, i)), rotation: i?.degrees ?? null, captionEnabled: a?.enabled ?? null, captionCenter: a?.center ? br(a.center, i) : null }; +function GP(e, t, r) { + let n = Iv(e, t, r), i = os(e, t, r, [n]), a = lP(e, t, r); + return { vertices: n.map((A) => gr(A, i)), rotation: i?.degrees ?? null, captionEnabled: a?.enabled ?? null, captionCenter: a?.center ? gr(a.center, i) : null }; } -function p4(e, t, r, n) { - let { captionEnabled: i, captionCenter: a, ...A } = sP(e, t, r), o = zn(e, t, r); - return { ...n, richText: $t(e, t, r), ...Np(e, t, r), captionEnabled: i, captionCenter: a, intent: yH(o), subtype: "polygon", ...ts(e, t, r), ...A, cloudyIntensity: xp(e, t, r) }; +function M4(e, t, r, n) { + let { captionEnabled: i, captionCenter: a, ...A } = GP(e, t, r), o = Jn(e, t, r); + return { ...n, richText: en(e, t, r), ...tu(e, t, r), captionEnabled: i, captionCenter: a, intent: JH(o), subtype: "polygon", ...As(e, t, r), ...A, cloudyIntensity: Kp(e, t, r) }; } -function l4(e, t, r, n) { - let { captionEnabled: i, captionCenter: a, ...A } = sP(e, t, r), o = zn(e, t, r); - return { ...n, richText: $t(e, t, r), ...Np(e, t, r), captionEnabled: i, captionCenter: a, intent: EH(o), subtype: "polyline", ...ts(e, t, r), ...A, lineEndings: _p(e, t, r) }; +function j4(e, t, r, n) { + let { captionEnabled: i, captionCenter: a, ...A } = GP(e, t, r), o = Jn(e, t, r); + return { ...n, richText: en(e, t, r), ...tu(e, t, r), captionEnabled: i, captionCenter: a, intent: $H(o), subtype: "polyline", ...As(e, t, r), ...A, lineEndings: Np(e, t, r) }; } -var u4 = 0, m4 = 1, w4 = 0, Xs = 4; -function ow(e, t, r, n) { - return fe(t, [Xs, Xs, Xs], ([i, a, A]) => e.EPDFAnnot_GetMKColor(r, n, i, a, A) ? So(ye(t, i) & 255, ye(t, a) & 255, ye(t, A) & 255) : null); +var R4 = 0, L4 = 1, T4 = 0, zs = 4; +function kw(e, t, r, n) { + return Fe(t, [zs, zs, zs], ([i, a, A]) => e.EPDFAnnot_GetMKColor(r, n, i, a, A) ? Lo(Ee(t, i) & 255, Ee(t, a) & 255, Ee(t, A) & 255) : null); } -function cP(e, t) { - return Ho(-e.EPDFAnnot_GetMKRotation(t)) || null; +function CP(e, t) { + return Mo(-e.EPDFAnnot_GetMKRotation(t)) || null; } -function b4(e, t, r, n, i, a) { - let A = Kp(e, t, r), o = Fi(e, t, r), s = zo(e, t, r), d = a?.fonts, l = cP(e, r); - return { ...n, box: Ia(n.rect, l ?? 0), rotation: l, groupId: null, userId: null, createdBy: null, modifiedBy: null, importedBy: null, subtype: "widget", color: ow(e, t, r, u4), interiorColor: ow(e, t, r, m4), strokeWidth: A.strokeWidth, borderStyle: Lv(Zo(e, t, r).styleCode), dashArray: A.dashArray, fontFamily: s ? es(e, t, r, s, d) : null, fontSize: o ? o.fontSize : null, fontColor: o ? o.color : null, textAlign: Rp(Hp(e, r)), caption: ue(t, (m, F) => e.EPDFAnnot_GetMKText(r, w4, m, F)), checkStyle: null, field: null, fieldKind: "unknown", hasMark: Wp(e, t, r) !== null }; +function K4(e, t, r, n, i, a) { + let A = eu(e, t, r), o = hi(e, t, r), s = ns(e, t, r), d = a?.fonts, u = CP(e, r); + return { ...n, box: Sa(n.rect, u ?? 0), rotation: u, groupId: null, userId: null, createdBy: null, modifiedBy: null, importedBy: null, subtype: "widget", color: kw(e, t, r, R4), interiorColor: kw(e, t, r, L4), strokeWidth: A.strokeWidth, borderStyle: dP(ts(e, t, r).styleCode), dashArray: A.dashArray, fontFamily: s ? as(e, t, r, s, d) : null, fontSize: o ? o.fontSize : null, fontColor: o ? o.color : null, textAlign: zp(Vp(e, r)), caption: le(t, (m, F) => e.EPDFAnnot_GetMKText(r, T4, m, F)), checkStyle: null, field: null, fieldKind: "unknown", hasMark: au(e, t, r) !== null }; } -var sw = { highlight: A4, underline: o4, squiggly: s4, strikeout: c4, circle: KH, square: NH, polygon: p4, polyline: l4, line: _H, link: IH, ink: hH, "free-text": fH, caret: J_, text: n4, stamp: qH, "file-attachment": oH, widget: b4, redact: TH, popup: MH, unsupported: d4 }; -function dP(e) { - let t = ra(e), r = sw[t]; - return r ? { reader: r, subtype: t } : { reader: sw.unsupported, subtype: "unsupported" }; +var Bw = { highlight: H4, underline: I4, squiggly: Q4, strikeout: S4, circle: m4, square: w4, polygon: M4, polyline: j4, line: r4, link: a4, ink: UH, "free-text": VH, caret: BH, text: G4, stamp: P4, "file-attachment": IH, widget: K4, redact: l4, popup: c4, unsupported: O4 }; +function xP(e) { + let t = Aa(e), r = Bw[t]; + return r ? { reader: r, subtype: t } : { reader: Bw.unsupported, subtype: "unsupported" }; } -var g4 = "SchemaVersion", pP = "GroupID", qp = "CreatedBy", Zp = "CreatedAt", is = "FilledBy", as = "FilledByName", As = "FilledAt", zp = "ImportedBy", f4 = { createdBy: null, createdAt: null, filledBy: null, filledByName: null, filledAt: null, importedBy: null }; -function F4(e, t, r) { +var N4 = "SchemaVersion", _P = "GroupID", ou = "CreatedBy", su = "CreatedAt", cs = "FilledBy", ds = "FilledByName", ps = "FilledAt", cu = "ImportedBy", V4 = { createdBy: null, createdAt: null, filledBy: null, filledByName: null, filledAt: null, importedBy: null }; +function Y4(e, t, r) { let { fn: n, mem: i } = e; - if (!n.EPDFForm_HasFieldEmbedMetadata(t, r)) return f4; - let a = (o) => ue(i, (s, d) => n.EPDFForm_GetFieldEmbedMetadataString(t, r, o, s, d), null), A = (o) => { + if (!n.EPDFForm_HasFieldEmbedMetadata(t, r)) return V4; + let a = (o) => le(i, (s, d) => n.EPDFForm_GetFieldEmbedMetadataString(t, r, o, s, d), null), A = (o) => { let s = a(o); - return s === null ? null : _n(s); + return s === null ? null : In(s); }; - return { createdBy: a(qp), createdAt: A(Zp), filledBy: a(is), filledByName: a(as), filledAt: A(As), importedBy: a(zp) }; + return { createdBy: a(ou), createdAt: A(su), filledBy: a(cs), filledByName: a(ds), filledAt: A(ps), importedBy: a(cu) }; } -function Jp(e, t, r) { +function du(e, t, r) { let { fn: n, mem: i } = e; - return n.EPDFForm_HasFieldEmbedMetadata(t, r) ? ue(i, (a, A) => n.EPDFForm_GetFieldEmbedMetadataString(t, r, pP, a, A), null) : null; + return n.EPDFForm_HasFieldEmbedMetadata(t, r) ? le(i, (a, A) => n.EPDFForm_GetFieldEmbedMetadataString(t, r, _P, a, A), null) : null; } -function cw(e, t, r, n) { - sA(e, t, r, [[pP, n]]); +function Dw(e, t, r, n) { + lA(e, t, r, [[_P, n]]); } -function v4(e, t, r, n, i = /* @__PURE__ */ new Date()) { - n.userId && sA(e, t, r, [[qp, n.userId], [Zp, dt(i)]]); +function X4(e, t, r, n, i = /* @__PURE__ */ new Date()) { + n.userId && lA(e, t, r, [[ou, n.userId], [su, pt(i)]]); } -function P4(e, t, r, n, i = /* @__PURE__ */ new Date()) { +function W4(e, t, r, n, i = /* @__PURE__ */ new Date()) { if (!n.userId) { - lP(e, t, r); + HP(e, t, r); return; } - sA(e, t, r, [[is, n.userId], [as, n.displayName ?? null], [As, dt(i)]]); + lA(e, t, r, [[cs, n.userId], [ds, n.displayName ?? null], [ps, pt(i)]]); } -function h4(e, t, r, n, i) { - sA(e, t, r, [[qp, n.createdBy], [Zp, n.createdAt ? dt(n.createdAt) : null], [zp, i]]); +function U4(e, t, r, n, i) { + lA(e, t, r, [[ou, n.createdBy], [su, n.createdAt ? pt(n.createdAt) : null], [cu, i]]); } -function dw(e, t, r, n, i) { - sA(e, t, r, [[is, n.filledBy], [as, n.filledByName], [As, n.filledAt ? dt(n.filledAt) : null], [zp, i]]); +function yw(e, t, r, n, i) { + lA(e, t, r, [[cs, n.filledBy], [ds, n.filledByName], [ps, n.filledAt ? pt(n.filledAt) : null], [cu, i]]); } -function lP(e, t, r) { - for (let n of [is, as, As]) uP(e, t, r, n); +function HP(e, t, r) { + for (let n of [cs, ds, ps]) IP(e, t, r, n); } -function sA(e, t, r, n) { +function lA(e, t, r, n) { let { fn: i, mem: a } = e; - if (!i.EPDFForm_SetFieldEmbedMetadataNumber(t, r, g4, 1)) throw Nc(r); + if (!i.EPDFForm_SetFieldEmbedMetadataNumber(t, r, N4, 1)) throw Zc(r); for (let [A, o] of n) { if (o === null) { - uP(e, t, r, A); + IP(e, t, r, A); continue; } let s = a.writeU16String(o); try { - if (!i.EPDFForm_SetFieldEmbedMetadataString(t, r, A, s)) throw Nc(r); + if (!i.EPDFForm_SetFieldEmbedMetadataString(t, r, A, s)) throw Zc(r); } finally { a.free(s); } } } -function uP(e, t, r, n) { - if (!e.fn.EPDFForm_ClearFieldEmbedMetadataKey(t, r, n)) throw Nc(r); +function IP(e, t, r, n) { + if (!e.fn.EPDFForm_ClearFieldEmbedMetadataKey(t, r, n)) throw Zc(r); } -function Nc(e) { +function Zc(e) { return new f(g.Unknown, `the metadata of field ${e} could not be written`); } -var $p = { 0: "unknown", 1: "pushbutton", 2: "checkbox", 3: "radio", 4: "text", 5: "combobox", 6: "listbox", 7: "signature" }, k4 = { 0: "none", 1: "acroform", 2: "xfa" }, B4 = 1, D4 = 2, y4 = 4, E4 = 4096, G4 = 8192, C4 = 16384, x4 = 1 << 18, _4 = 1 << 21, H4 = 1 << 24, I4 = 1 << 25; -function Ea(e, t) { - return ue(e.mem, t) ?? ""; +var pu = { 0: "unknown", 1: "pushbutton", 2: "checkbox", 3: "radio", 4: "text", 5: "combobox", 6: "listbox", 7: "signature" }, q4 = { 0: "none", 1: "acroform", 2: "xfa" }, Z4 = 1, z4 = 2, J4 = 4, $4 = 4096, eI = 8192, tI = 16384, nI = 1 << 18, rI = 1 << 21, iI = 1 << 24, aI = 1 << 25; +function xa(e, t) { + return le(e.mem, t) ?? ""; } -function pw(e, t) { - return ue(e.mem, t, null); +function Ew(e, t) { + return le(e.mem, t, null); } -function mP(e, t, r, n) { +function QP(e, t, r, n) { let { fn: i } = e; - return En(i.EPDFForm_GetFieldWidgetObjNum(t, r, n), el(i.EPDFForm_GetFieldWidgetPageObjNum(t, r, n))); + return Gn(i.EPDFForm_GetFieldWidgetObjNum(t, r, n), uu(i.EPDFForm_GetFieldWidgetPageObjNum(t, r, n))); } -function lw(e, t, r) { +function Gw(e, t, r) { let { fn: n } = e, i = n.EPDFForm_CountFieldWidgets(t, r), a = []; - for (let A = 0; A < i; A++) a.push({ ...mP(e, t, r, A), onState: Ke(e.mem, (o, s) => n.EPDFForm_GetFieldWidgetOnState(t, r, A, o, s)) ?? "", exportValue: Ea(e, (o, s) => n.EPDFForm_GetFieldWidgetExportValue(t, r, A, o, s)), checked: n.EPDFForm_IsFieldWidgetChecked(t, r, A) }); + for (let A = 0; A < i; A++) a.push({ ...QP(e, t, r, A), onState: Ke(e.mem, (o, s) => n.EPDFForm_GetFieldWidgetOnState(t, r, A, o, s)) ?? "", exportValue: xa(e, (o, s) => n.EPDFForm_GetFieldWidgetExportValue(t, r, A, o, s)), checked: n.EPDFForm_IsFieldWidgetChecked(t, r, A) }); return a; } -function Qi(e, t, r) { +function Oi(e, t, r) { let n = e.fn.EPDFForm_CountFieldWidgets(t, r), i = []; - for (let a = 0; a < n; a++) i.push(mP(e, t, r, a)); + for (let a = 0; a < n; a++) i.push(QP(e, t, r, a)); return i; } -function uw(e, t, r) { +function Cw(e, t, r) { let { fn: n } = e, i = n.EPDFForm_CountFieldOptions(t, r), a = []; - for (let A = 0; A < i; A++) a.push({ label: Ea(e, (o, s) => n.EPDFForm_GetFieldOptionLabel(t, r, A, o, s)), value: Ea(e, (o, s) => n.EPDFForm_GetFieldOptionValue(t, r, A, o, s)), selected: n.EPDFForm_IsFieldOptionSelected(t, r, A) }); + for (let A = 0; A < i; A++) a.push({ label: xa(e, (o, s) => n.EPDFForm_GetFieldOptionLabel(t, r, A, o, s)), value: xa(e, (o, s) => n.EPDFForm_GetFieldOptionValue(t, r, A, o, s)), selected: n.EPDFForm_IsFieldOptionSelected(t, r, A) }); return a; } -function Ue(e, t, r, n, i = new Fr()) { - let { fn: a } = e, A = a.EPDFForm_GetFieldObjNum(t, r), o = Ea(e, (G, I) => a.EPDFForm_GetFieldName(t, r, G, I)), s = a.EPDFForm_GetFieldFlags(t, r), d = $p[a.EPDFForm_GetFieldFamily(t, r)] ?? "unknown", l = mw(e, t, r, !1), m = mw(e, t, r, !0), F = S4(e, t, r, n, i), k = { ref: A > 0 ? { kind: "objectNumber", objectNumber: A } : { kind: "fqn", name: o }, name: o, kind: d, origin: a.EPDFForm_GetFieldOrigin(t, r) === 1 ? "recovered" : "acroform", readOnly: (s & B4) !== 0, required: (s & D4) !== 0, noExport: (s & y4) !== 0, alternateName: pw(e, (G, I) => a.EPDFForm_GetFieldAlternateName(t, r, G, I)), mappingName: pw(e, (G, I) => a.EPDFForm_GetFieldMappingName(t, r, G, I)), valueEntry: l, defaultValueEntry: m, ...F ? { actions: F } : {}, groupId: Jp(e, t, r), ...F4(e, t, r), widgets: [] }, P = Ws(l), D = Ws(m); +function Ye(e, t, r, n, i = new Pr()) { + let { fn: a } = e, A = a.EPDFForm_GetFieldObjNum(t, r), o = xa(e, (G, I) => a.EPDFForm_GetFieldName(t, r, G, I)), s = a.EPDFForm_GetFieldFlags(t, r), d = pu[a.EPDFForm_GetFieldFamily(t, r)] ?? "unknown", u = xw(e, t, r, !1), m = xw(e, t, r, !0), F = oI(e, t, r, n, i), h = { ref: A > 0 ? { kind: "objectNumber", objectNumber: A } : { kind: "fqn", name: o }, name: o, kind: d, origin: a.EPDFForm_GetFieldOrigin(t, r) === 1 ? "recovered" : "acroform", readOnly: (s & Z4) !== 0, required: (s & z4) !== 0, noExport: (s & J4) !== 0, alternateName: Ew(e, (G, I) => a.EPDFForm_GetFieldAlternateName(t, r, G, I)), mappingName: Ew(e, (G, I) => a.EPDFForm_GetFieldMappingName(t, r, G, I)), valueEntry: u, defaultValueEntry: m, ...F ? { actions: F } : {}, groupId: du(e, t, r), ...Y4(e, t, r), widgets: [] }, P = Js(u), D = Js(m); switch (d) { case "text": { let G = a.EPDFForm_GetFieldMaxLen(t, r); - return { ...k, kind: d, value: P, defaultValue: D, maxLength: G > 0 ? G : null, multiline: (s & E4) !== 0, password: (s & G4) !== 0, comb: (s & H4) !== 0, widgets: Qi(e, t, r) }; + return { ...h, kind: d, value: P, defaultValue: D, maxLength: G > 0 ? G : null, multiline: (s & $4) !== 0, password: (s & eI) !== 0, comb: (s & iI) !== 0, widgets: Oi(e, t, r) }; } case "checkbox": { - let G = lw(e, t, r); - return { ...k, kind: d, checked: G.some((I) => I.checked), exportValue: G[0]?.exportValue ?? "Yes", widgets: G }; + let G = Gw(e, t, r); + return { ...h, kind: d, checked: G.some((I) => I.checked), exportValue: G[0]?.exportValue ?? "Yes", widgets: G }; } case "radio": { - let G = lw(e, t, r); - return { ...k, kind: d, value: G.find((I) => I.checked)?.exportValue ?? "Off", radiosInUnison: (s & I4) !== 0, noToggleToOff: (s & C4) !== 0, widgets: G }; + let G = Gw(e, t, r); + return { ...h, kind: d, value: G.find((I) => I.checked)?.exportValue ?? "Off", radiosInUnison: (s & aI) !== 0, noToggleToOff: (s & tI) !== 0, widgets: G }; } case "combobox": - return { ...k, kind: d, value: P, defaultValue: D, edit: (s & x4) !== 0, options: uw(e, t, r), widgets: Qi(e, t, r) }; + return { ...h, kind: d, value: P, defaultValue: D, edit: (s & nI) !== 0, options: Cw(e, t, r), widgets: Oi(e, t, r) }; case "listbox": { - let G = uw(e, t, r); - return { ...k, kind: d, selectedValues: G.filter((I) => I.selected).map((I) => I.value), defaultValue: Q4(m), multiSelect: (s & _4) !== 0, options: G, topIndex: Kg(a.EPDFForm_GetFieldTopIndex(t, r), G), widgets: Qi(e, t, r) }; + let G = Cw(e, t, r); + return { ...h, kind: d, selectedValues: G.filter((I) => I.selected).map((I) => I.value), defaultValue: AI(m), multiSelect: (s & rI) !== 0, options: G, topIndex: rf(a.EPDFForm_GetFieldTopIndex(t, r), G), widgets: Oi(e, t, r) }; } case "pushbutton": case "signature": - return { ...k, kind: d, widgets: Qi(e, t, r) }; + return { ...h, kind: d, widgets: Oi(e, t, r) }; default: - return { ...k, kind: "unknown", rawValue: l.kind === "array" ? l.values.join(",") : Ws(l), widgets: Qi(e, t, r) }; + return { ...h, kind: "unknown", rawValue: u.kind === "array" ? u.values.join(",") : Js(u), widgets: Oi(e, t, r) }; } } -function wP(e, t, r) { - let { fn: n } = e, i = n.EPDFForm_CountFields(t), a = [], A = new Fr(); - for (let d = 0; d < i; d++) a.push(Ue(e, t, d, r, A)); +function SP(e, t, r) { + let { fn: n } = e, i = n.EPDFForm_CountFields(t), a = [], A = new Pr(); + for (let d = 0; d < i; d++) a.push(Ye(e, t, d, r, A)); let o = [], s = n.EPDFForm_CountCalculationOrder(t); for (let d = 0; d < s; d++) { - let l = n.EPDFForm_GetCalculationOrderFieldIndex(t, d); - o.push(l >= 0 && l < a.length ? a[l].ref : null); + let u = n.EPDFForm_GetCalculationOrderFieldIndex(t, d); + o.push(u >= 0 && u < a.length ? a[u].ref : null); } - return { formKind: k4[n.EPDFForm_GetFormKind(t)] ?? "none", needsAppearances: n.EPDFForm_GetNeedAppearances(t), fields: a, calculationOrder: o }; + return { formKind: q4[n.EPDFForm_GetFormKind(t)] ?? "none", needsAppearances: n.EPDFForm_GetNeedAppearances(t), fields: a, calculationOrder: o }; } -function mw(e, t, r, n) { +function xw(e, t, r, n) { let { fn: i } = e, a = n ? i.EPDFForm_GetFieldDefaultValueKind(t, r) : i.EPDFForm_GetFieldValueKind(t, r); if (a === 0) return { kind: "none" }; if (a === 3) return { kind: "unsupported" }; if (a !== 1 && a !== 2) return { kind: "unsupported" }; let A = n ? i.EPDFForm_CountFieldDefaultValues(t, r) : i.EPDFForm_CountFieldValues(t, r), o = []; - for (let s = 0; s < A; s++) o.push(Ea(e, (d, l) => n ? i.EPDFForm_GetFieldDefaultValueAt(t, r, s, d, l) : i.EPDFForm_GetFieldValueAt(t, r, s, d, l))); + for (let s = 0; s < A; s++) o.push(xa(e, (d, u) => n ? i.EPDFForm_GetFieldDefaultValueAt(t, r, s, d, u) : i.EPDFForm_GetFieldValueAt(t, r, s, d, u))); return a === 1 ? { kind: "scalar", value: o[0] ?? "" } : { kind: "array", values: o }; } -function Ws(e) { +function Js(e) { return e.kind === "scalar" ? e.value : e.kind === "array" ? e.values[0] ?? "" : ""; } -function Q4(e) { +function AI(e) { return e.kind === "scalar" ? [e.value] : e.kind === "array" ? [...e.values] : []; } -function S4(e, t, r, n, i) { +function oI(e, t, r, n, i) { let { fn: a, mem: A } = e, o = [["keystroke", 0], ["format", 1], ["validate", 2], ["calculate", 3]], s = {}; - for (let [d, l] of o) { - let m = Nn(a, A, n, a.EPDFForm_GetFieldActionModel(t, r, l), i); + for (let [d, u] of o) { + let m = Vn(a, A, n, a.EPDFForm_GetFieldActionModel(t, r, u), i); m && (s[d] = m); } return Object.keys(s).length > 0 ? s : void 0; } -function el(e) { +function uu(e) { return e > 0 ? be(e) : null; } -var Vc = { check: "4", cross: "8", star: "H", circle: "l", square: "n", diamond: "u" }, O4 = (e) => Vc[e]; -function M4(e) { - return Object.keys(Vc).find((t) => e?.[0] === Vc[t]) ?? null; +var zc = { check: "4", cross: "8", star: "H", circle: "l", square: "n", diamond: "u" }, sI = (e) => zc[e]; +function cI(e) { + return Object.keys(zc).find((t) => e?.[0] === zc[t]) ?? null; } -var j4 = 0; -function R4(e, t, r) { +var dI = 0; +function pI(e, t, r) { if (r <= 0) return 0; let n = Be(e, t), i = e.fn.EPDFForm_GetFieldIndexForWidget(n, r); return i < 0 ? 0 : e.fn.EPDFForm_GetFieldObjNum(n, i); } -function Ga(e, t, r) { +function _a(e, t, r) { for (let n of r) { if (n.subtype !== "widget") continue; if (n.ref.kind !== "objectNumber") { @@ -10471,13 +10592,13 @@ function Ga(e, t, r) { n.field = null, n.fieldKind = "unknown", n.caption = null, n.hasMark = !1; continue; } - n.field = { kind: "objectNumber", objectNumber: A }, n.fieldKind = $p[e.fn.EPDFForm_GetFieldFamily(i, a)] ?? "unknown", (n.fieldKind === "checkbox" || n.fieldKind === "radio") && (n.checkStyle = M4(n.caption ?? null)), n.fieldKind !== "pushbutton" && (n.caption = null), n.hasMark = n.fieldKind === "signature" && (n.hasMark || e.fn.EPDFForm_GetFieldValueKind(i, a) !== j4); + n.field = { kind: "objectNumber", objectNumber: A }, n.fieldKind = pu[e.fn.EPDFForm_GetFieldFamily(i, a)] ?? "unknown", (n.fieldKind === "checkbox" || n.fieldKind === "radio") && (n.checkStyle = cI(n.caption ?? null)), n.fieldKind !== "pushbutton" && (n.caption = null), n.hasMark = n.fieldKind === "signature" && (n.hasMark || e.fn.EPDFForm_GetFieldValueKind(i, a) !== dI); } } -function tl(e) { +function lu(e) { return e === T.WIDGET ? "widgets" : "annotations"; } -function L4(e) { +function uI(e) { switch (e) { case "normal": return 0; @@ -10513,7 +10634,7 @@ function L4(e) { return 15; } } -function bP(e) { +function OP(e) { switch (e) { case 1: return "multiply"; @@ -10549,99 +10670,99 @@ function bP(e) { return "normal"; } } -var T4 = 0; -function gP(e, t, r, n, i, a, A = new Fr()) { - let o = be(i), s = AA(e, t, n), d = C_(e, n), l = yn(e, t, n, "Contents"), m = l === null ? null : di(l, ` -`), F = yn(e, t, n, "Subj"), k = yn(e, t, n, "T"), P = yn(e, t, n, "CreationDate"), D = yn(e, t, n, "M"), G = bP(e.EPDFAnnot_GetBlendMode(n)), I = mH(e, t, n), _ = OH(e, t, r, n, i), H = Jv(e, t, r, n, "Popup", i), C = K4(e, t, r, n, A); - return { ref: fi(e, t, r, o, n, a), page: o, hasAppearance: e.EPDFAnnot_HasAppearanceStream(n, T4), appearanceState: lv(e, t, n), structurePosition: S_(e, t, n), nm: yn(e, t, n, "NM"), ...d, rect: s, contents: m, subject: F, author: k, createdAt: P ? _n(P) : null, modifiedAt: D ? _n(D) : null, blendMode: G, reply: _.inReplyTo ? { to: _.inReplyTo, type: _.replyType ?? "reply" } : null, popup: H, groupId: I?.groupId ?? null, userId: I?.userId ?? null, createdBy: I?.createdBy ?? null, modifiedBy: I?.modifiedBy ?? null, importedBy: I?.importedBy ?? null, actions: C ?? null }; +var lI = 0; +function MP(e, t, r, n, i, a, A = new Pr()) { + let o = be(i), s = pA(e, t, n), d = tH(e, n), u = En(e, t, n, "Contents"), m = u === null ? null : mi(u, ` +`), F = En(e, t, n, "Subj"), h = En(e, t, n, "T"), P = En(e, t, n, "CreationDate"), D = En(e, t, n, "M"), G = OP(e.EPDFAnnot_GetBlendMode(n)), I = LH(e, t, n), _ = s4(e, t, r, n, i), H = fP(e, t, r, n, "Popup", i), C = mI(e, t, r, n, A); + return { ref: Pi(e, t, r, o, n, a), page: o, hasAppearance: e.EPDFAnnot_HasAppearanceStream(n, lI), appearanceState: Ov(e, t, n), structurePosition: oH(e, t, n), nm: En(e, t, n, "NM"), ...d, rect: s, contents: m, subject: F, author: h, createdAt: P ? In(P) : null, modifiedAt: D ? In(D) : null, blendMode: G, reply: _.inReplyTo ? { to: _.inReplyTo, type: _.replyType ?? "reply" } : null, popup: H, groupId: I?.groupId ?? null, userId: I?.userId ?? null, createdBy: I?.createdBy ?? null, modifiedBy: I?.modifiedBy ?? null, importedBy: I?.importedBy ?? null, actions: C ?? null }; } -function K4(e, t, r, n, i) { +function mI(e, t, r, n, i) { let a = [["activate", 0], ["cursorEnter", 1], ["cursorExit", 2], ["mouseDown", 3], ["mouseUp", 4], ["focus", 5], ["blur", 6], ["pageOpen", 7], ["pageClose", 8], ["pageVisible", 9], ["pageInvisible", 10]], A = {}; for (let [o, s] of a) { - let d = Nn(e, t, r, e.EPDFAnnot_GetActionModel(n, s), i); + let d = Vn(e, t, r, e.EPDFAnnot_GetActionModel(n, s), i); d && (A[o] = d); } return Object.keys(A).length > 0 ? A : void 0; } -function fP(e) { - let { runtime: t, session: r, pageObjectNumber: n, count: i, getAnnotPtrAt: a, signal: A, fonts: o, family: s } = e, { fn: d, mem: l } = t, m = [], F = new Fr(), k = Ba(r, o); +function jP(e) { + let { runtime: t, session: r, pageObjectNumber: n, count: i, getAnnotPtrAt: a, signal: A, fonts: o, family: s } = e, { fn: d, mem: u } = t, m = [], F = new Pr(), h = Ea(r, o); for (let P = 0; P < i; P++) { S(A); let D = a(P); if (D) try { let G = d.FPDFAnnot_GetSubtype(D); - if (s && tl(G) !== s) continue; - let I = gP(d, l, k.docPtr, D, n, P, F), { reader: _ } = dP(G), H = _(d, l, D, I, G, k); + if (s && lu(G) !== s) continue; + let I = MP(d, u, h.docPtr, D, n, P, F), { reader: _ } = xP(G), H = _(d, u, D, I, G, h); m.push(H); } finally { d.FPDFPage_CloseAnnot(D); } } - return Ga(t, r, m), { annotations: m, pages: [be(n)] }; + return _a(t, r, m), { annotations: m, pages: [be(n)] }; } -var N4 = 3, V4 = 16e6, Yc = [{ name: "normal", modeInt: 0, bit: 1 }, { name: "rollover", modeInt: 1, bit: 2 }, { name: "down", modeInt: 2, bit: 4 }], Y4 = class { +var wI = 3, bI = 16e6, Jc = [{ name: "normal", modeInt: 0, bit: 1 }, { name: "rollover", modeInt: 1, bit: 2 }, { name: "down", modeInt: 2, bit: 4 }], gI = class { constructor(e, t) { this.runtime = e, this.session = t; } async render(e, t, r, n, i) { S(n); - let { fn: a, mem: A } = this.runtime, o = this.session.pagePool(), s = await o.acquireInSlices(e, n, i), d = r.rotation ?? 0, l = W4(r.modes), m = this.session.requireDocPtr(), F = be(e), k = []; + let { fn: a, mem: A } = this.runtime, o = this.session.pagePool(), s = await o.acquireInSlices(e, n, i), d = r.rotation ?? 0, u = FI(r.modes), m = this.session.requireDocPtr(), F = be(e), h = []; try { - let P = qF(this.runtime, s), D = Z4(r.viewport, { width: P.right - P.left, height: P.top - P.bottom }, d), G = a.FPDFPage_GetAnnotCount(s), I = new Gp(i, n); + let P = Fv(this.runtime, s), D = hI(r.viewport, { width: P.right - P.left, height: P.top - P.bottom }, d), G = a.FPDFPage_GetAnnotCount(s), I = new Lp(i, n); for (let _ = 0; _ < G; _++) { I.due && await I.pause(), S(n); let H = a.FPDFPage_GetAnnot(s, _); if (H) try { let C = a.FPDFAnnot_GetSubtype(H); - if (tl(C) !== t) continue; - let j = a.EPDFAnnot_GetAvailableAppearanceModes(H), X = j & Xc.bit ? null : X4(a, A, H); - if (!j && !X) continue; - let ge = fi(a, A, m, F, H, _), we = Se(AA(a, A, H)), O = $o(a, A, H), U = O && T0({ subtype: ra(C), rect: we, box: O.box, rotation: O.rotation, intent: C === N4 ? Gv(zn(a, A, H)) : null }) !== null ? O : void 0, ae = U ? Se(U.box) : we; - for (let Ae of l) { - let ot = !!(j & Ae.bit), q = ot ? ae : Ae === Xc ? X : null; - if (!q) continue; - let ke = ot ? q4(a, A, H, Ae.modeInt) : FP; - for (let nn of ke) { - let hr = this.renderOne(s, H, Ae.modeInt, nn.draw, q, P, d, D, ot ? U : void 0, r.maxOutputPixels); - hr && k.push({ ref: ge, mode: Ae.name, state: nn.label, rect: q, raster: hr }); + if (lu(C) !== t) continue; + let O = a.EPDFAnnot_GetAvailableAppearanceModes(H), K = O & $c.bit ? null : fI(a, A, H); + if (!O && !K) continue; + let fe = Pi(a, A, m, F, H, _), we = Se(pA(a, A, H)), M = is(a, A, H), q = M && by({ subtype: Aa(C), rect: we, box: M.box, rotation: M.rotation, intent: C === wI ? Jv(Jn(a, A, H)) : null }) !== null ? M : void 0, ae = q ? Se(q.box) : we; + for (let Ae of u) { + let ot = !!(O & Ae.bit), Z = ot ? ae : Ae === $c ? K : null; + if (!Z) continue; + let ke = ot ? PI(a, A, H, Ae.modeInt) : RP; + for (let rn of ke) { + let Br = this.renderOne(s, H, Ae.modeInt, rn.draw, Z, P, d, D, ot ? q : void 0, r.maxOutputPixels); + Br && h.push({ ref: fe, mode: Ae.name, state: rn.label, rect: Z, raster: Br }); } } } finally { a.FPDFPage_CloseAnnot(H); } } - return { page: F, appearances: k }; + return { page: F, appearances: h }; } finally { o.release(e); } } renderOne(e, t, r, n, i, a, A, o, s, d) { - let { fn: l } = this.runtime, m = Math.max(1, (i.right - i.left) * (i.top - i.bottom)), F = Math.min(o, Math.sqrt(V4 / m)); - return u_(this.runtime, { rect: i, page: a, rotation: A, viewport: { kind: "scale", scale: F }, ...d !== void 0 ? { maxOutputPixels: d } : {}, background: "transparent", draw: (k, P) => s ? N(this.runtime.mem, 16, (D) => (SF(this.runtime.mem, D, s.box), l.EPDF_RenderAnnotBitmapUnrotated(k, e, t, r, n, Jo(s.rotation), D, P, 16))) : l.EPDF_RenderAnnotBitmap(k, e, t, r, n, P, 16) }); + let { fn: u } = this.runtime, m = Math.max(1, (i.right - i.left) * (i.top - i.bottom)), F = Math.min(o, Math.sqrt(bI / m)); + return R_(this.runtime, { rect: i, page: a, rotation: A, viewport: { kind: "scale", scale: F }, ...d !== void 0 ? { maxOutputPixels: d } : {}, background: "transparent", draw: (h, P) => s ? V(this.runtime.mem, 16, (D) => (tv(this.runtime.mem, D, s.box), u.EPDF_RenderAnnotBitmapUnrotated(h, e, t, r, n, rs(s.rotation), D, P, 16))) : u.EPDF_RenderAnnotBitmap(h, e, t, r, n, P, 16) }); } -}, Xc = Yc[0]; -function X4(e, t, r) { - return N(t, 16, (n) => e.EPDFAnnot_GetDrawingRect(r, Xc.modeInt, n) ? Se(bn(t, n)) : null); +}, $c = Jc[0]; +function fI(e, t, r) { + return V(t, 16, (n) => e.EPDFAnnot_GetDrawingRect(r, $c.modeInt, n) ? Se(bn(t, n)) : null); } -function W4(e) { - let t = h0(e); - return t ? Yc.filter((r) => t.includes(r.name)) : Yc; +function FI(e) { + let t = z0(e); + return t ? Jc.filter((r) => t.includes(r.name)) : Jc; } -var U4 = 8, FP = [{ draw: "", label: null }]; -function q4(e, t, r, n) { - let i = O_(e, t, r, n); - return i.length === 0 ? FP : i.length > U4 ? [{ draw: "", label: lv(e, t, r) }] : i.map((a) => ({ draw: a, label: a })); +var vI = 8, RP = [{ draw: "", label: null }]; +function PI(e, t, r, n) { + let i = sH(e, t, r, n); + return i.length === 0 ? RP : i.length > vI ? [{ draw: "", label: Ov(e, t, r) }] : i.map((a) => ({ draw: a, label: a })); } -function Z4(e, t, r) { - if (e === void 0 || e.kind === "scale") return z4(e?.scale); +function hI(e, t, r) { + if (e === void 0 || e.kind === "scale") return kI(e?.scale); let n = r === 90 || r === 270 ? t.height : t.width; if (!Number.isFinite(e.width) || e.width <= 0 || !(n > 0)) throw new f(g.InvalidArg, "render viewport width must be positive"); return e.width / n; } -function z4(e) { +function kI(e) { return e === void 0 || !Number.isFinite(e) || e <= 0 ? 1 : e; } -var os = class { +var us = class { constructor(e, t, r) { this.runtime = e, this.session = t, this.fonts = r; } @@ -10649,49 +10770,49 @@ var os = class { S(t), e === void 0 && (this.session.ensureFullPageRegistry(), e = this.session.allRecords().map((i) => i.pageObjectNumber)); let n = []; for (let i of e) S(t), n.push(this.listOne(i, t, r)); - return By(n); + return iE(n); } listOne(e, t, r) { S(t); let { fn: n } = this.runtime, i = this.session.requireDocPtr(), a = this.session.recordByObjectNumber(e), A = n.EPDFPage_GetAnnotCountRaw(i, a.pageIndex); if (A < 0) throw new f(g.Unknown, `EPDFPage_GetAnnotCountRaw returned ${A} for page ${e}`); - return fP({ runtime: this.runtime, session: this.session, pageObjectNumber: e, count: A, getAnnotPtrAt: (o) => n.EPDFPage_GetAnnotRaw(i, a.pageIndex, o), signal: t, ...this.fonts ? { fonts: this.fonts } : {}, ...r ? { family: r } : {} }); + return jP({ runtime: this.runtime, session: this.session, pageObjectNumber: e, count: A, getAnnotPtrAt: (o) => n.EPDFPage_GetAnnotRaw(i, a.pageIndex, o), signal: t, ...this.fonts ? { fonts: this.fonts } : {}, ...r ? { family: r } : {} }); } -}, J4 = 1, $4 = 8; -function nl(e, t, r, n) { - return fe(t, [32, $4], ([i, a]) => { - if (t.poke(a, "i32", 32, 0), t.poke(a, "i32", 0, 4), !e.EPDF_DigestBuffer(r, n, J4, i, a)) throw new f(g.Unknown, "EPDF_DigestBuffer returned false"); +}, BI = 1, DI = 8; +function mu(e, t, r, n) { + return Fe(t, [32, DI], ([i, a]) => { + if (t.poke(a, "i32", 32, 0), t.poke(a, "i32", 0, 4), !e.EPDF_DigestBuffer(r, n, BI, i, a)) throw new f(g.Unknown, "EPDF_DigestBuffer returned false"); let A = ""; for (let o of t.readBytes(i, 32)) A += o.toString(16).padStart(2, "0"); return A; }); } -function rl(e, t, r) { +function wu(e, t, r) { let n = t.alloc(Math.max(1, r.byteLength)); try { - return t.writeBytes(n, r), nl(e, t, n, r.byteLength); + return t.writeBytes(n, r), mu(e, t, n, r.byteLength); } finally { t.free(n); } } -var eI = 2, tI = 8, nI = 14400; -function rI(e, t, r, n, i, a) { +var yI = 2, EI = 8, GI = 14400; +function CI(e, t, r, n, i, a) { let A = n.hashes.get(i), o = A === void 0 ? void 0 : n.bySource.get(A); if (o !== void 0) return o; let s = t.alloc(i.byteLength); try { t.writeBytes(s, new Uint8Array(i)); - let d = A ?? nl(e, t, s, i.byteLength); + let d = A ?? mu(e, t, s, i.byteLength); n.hashes.set(i, d); - let l = n.bySource.get(d); - if (l !== void 0) return l; - let m = aI(e, t, s, i.byteLength, a, (F) => e.EPDFDoc_CanonicalDrawing(F, 0)); + let u = n.bySource.get(d); + if (u !== void 0) return u; + let m = _I(e, t, s, i.byteLength, a, (F) => e.EPDFDoc_CanonicalDrawing(F, 0)); if (!m) throw new f(g.Unknown, "EPDFDoc_CanonicalDrawing returned NULL"); try { - let F = vP(e, t, m), k = iI(e, t, r, n), P = k.get(F); + let F = LP(e, t, m), h = xI(e, t, r, n), P = h.get(F); if (P === void 0) { if (P = e.EPDFDoc_ImportDrawing(r, m), !P) throw new f(g.Unknown, "EPDFDoc_ImportDrawing returned 0"); - k.set(F, P); + h.set(F, P); } return n.bySource.set(d, P), P; } finally { @@ -10701,13 +10822,13 @@ function rI(e, t, r, n, i, a) { t.free(s); } } -function iI(e, t, r, n) { +function xI(e, t, r, n) { if (n.byContent) return n.byContent; - let i = /* @__PURE__ */ new Map(), a = e.EPDFDoc_GetStampDrawings(r, Y, 0), A = a > 0 ? N(t, 4 * a, (o) => (e.EPDFDoc_GetStampDrawings(r, o, a), Array.from({ length: a }, (s, d) => Number(t.peek(o, "i32", 4 * d)) >>> 0))) : []; + let i = /* @__PURE__ */ new Map(), a = e.EPDFDoc_GetStampDrawings(r, X, 0), A = a > 0 ? V(t, 4 * a, (o) => (e.EPDFDoc_GetStampDrawings(r, o, a), Array.from({ length: a }, (s, d) => Number(t.peek(o, "i32", 4 * d)) >>> 0))) : []; for (let o of A) { let s = e.EPDFDoc_ExportDrawing(r, o); if (s) try { - let d = vP(e, t, s); + let d = LP(e, t, s); i.has(d) || i.set(d, o); } finally { e.FPDF_CloseDocument(s); @@ -10715,19 +10836,19 @@ function iI(e, t, r, n) { } return n.byContent = i, i; } -function vP(e, t, r) { - return N(t, tI, (n) => { +function LP(e, t, r) { + return V(t, EI, (n) => { t.poke(n, "i32", 0, 0), t.poke(n, "i32", 0, 4); - let i = e.EPDF_SaveDocumentToOwnedBuffer(r, eI, n), a = Number(t.peek(n, "i32", 0)); + let i = e.EPDF_SaveDocumentToOwnedBuffer(r, yI, n), a = Number(t.peek(n, "i32", 0)); if (!i || a <= 0) throw i && e.EPDF_FreeBuffer(i), new f(g.Unknown, "failed to save a stamp drawing"); try { - return nl(e, t, i, a); + return mu(e, t, i, a); } finally { e.EPDF_FreeBuffer(i); } }); } -function PP(e, t, r) { +function TP(e, t, r) { let n = t.alloc(r.byteLength); try { t.writeBytes(n, new Uint8Array(r)); @@ -10742,7 +10863,7 @@ function PP(e, t, r) { t.free(n); } } -function aI(e, t, r, n, i, a) { +function _I(e, t, r, n, i, a) { if (i.mimeType === "application/pdf") { let A = e.FPDF_LoadMemDocument(r, n, ""); if (!A) throw new f(g.MalformedPdf, "the stamp's appearance PDF could not be opened"); @@ -10752,54 +10873,54 @@ function aI(e, t, r, n, i, a) { e.FPDF_CloseDocument(A); } } - return AI(e, t, r, n, i, a); + return HI(e, t, r, n, i, a); } -function AI(e, t, r, n, i, a) { +function HI(e, t, r, n, i, a) { if (!("width" in i)) throw new f(g.InvalidArg, "the stamp image has no size"); - let A = Math.min(1, nI / Math.max(i.width, i.height)), o = i.width * A, s = i.height * A, d = e.FPDF_CreateNewDocument(); + let A = Math.min(1, GI / Math.max(i.width, i.height)), o = i.width * A, s = i.height * A, d = e.FPDF_CreateNewDocument(); if (!d) throw new f(g.Unknown, "FPDF_CreateNewDocument returned NULL"); try { - let l = e.FPDFPage_New(d, 0, o, s); - if (!l) throw new f(g.Unknown, "FPDFPage_New returned NULL"); + let u = e.FPDFPage_New(d, 0, o, s); + if (!u) throw new f(g.Unknown, "FPDFPage_New returned NULL"); try { let m = e.FPDFPageObj_NewImageObj(d); if (!m) throw new f(g.Unknown, "FPDFPageObj_NewImageObj returned NULL"); let F = !1; try { - if (!(i.mimeType === "image/png" ? e.EPDFImageObj_SetPng(Y, 0, m, r, n) : e.EPDFImageObj_SetJpeg(Y, 0, m, r, n))) throw new f(g.InvalidArg, `${i.mimeType === "image/png" ? "EPDFImageObj_SetPng" : "EPDFImageObj_SetJpeg"} rejected the image data`); - oI(e, t, m, o, s), e.FPDFPage_InsertObject(l, m), F = !0; + if (!(i.mimeType === "image/png" ? e.EPDFImageObj_SetPng(X, 0, m, r, n) : e.EPDFImageObj_SetJpeg(X, 0, m, r, n))) throw new f(g.InvalidArg, `${i.mimeType === "image/png" ? "EPDFImageObj_SetPng" : "EPDFImageObj_SetJpeg"} rejected the image data`); + II(e, t, m, o, s), e.FPDFPage_InsertObject(u, m), F = !0; } finally { F || e.FPDFPageObj_Destroy(m); } - if (!e.FPDFPage_GenerateContent(l)) throw new f(g.Unknown, "FPDFPage_GenerateContent returned false"); + if (!e.FPDFPage_GenerateContent(u)) throw new f(g.Unknown, "FPDFPage_GenerateContent returned false"); } finally { - e.FPDF_ClosePage(l); + e.FPDF_ClosePage(u); } return a(d); } finally { e.FPDF_CloseDocument(d); } } -function oI(e, t, r, n, i) { - N(t, 24, (a) => { +function II(e, t, r, n, i) { + V(t, 24, (a) => { if (t.poke(a, "f32", n, 0), t.poke(a, "f32", 0, 4), t.poke(a, "f32", 0, 8), t.poke(a, "f32", i, 12), t.poke(a, "f32", 0, 16), t.poke(a, "f32", 0, 20), !e.FPDFPageObj_SetMatrix(r, a)) throw new f(g.Unknown, "FPDFPageObj_SetMatrix returned false"); }); } -function Xe(e, t, r, n = je.Color) { - let { r: i, g: a, b: A } = pr(r); +function We(e, t, r, n = je.Color) { + let { r: i, g: a, b: A } = ur(r); if (!e.EPDFAnnot_SetColor(t, n, i, a, A)) throw new f(g.Unknown, "EPDFAnnot_SetColor returned false"); } -function cA(e, t, r) { +function mA(e, t, r) { e.EPDFAnnot_ClearColor(t, r); } -function sI(e, t, r = je.Color) { +function QI(e, t, r = je.Color) { if (!e.EPDFAnnot_SetNoColor(t, r)) throw new f(g.Unknown, "EPDFAnnot_SetNoColor returned false"); } function Je(e, t, r) { if (!e.EPDFAnnot_SetOpacity(t, r)) throw new f(g.Unknown, "EPDFAnnot_SetOpacity returned false"); } -function il(e, t, r) { - let n = G_(e.FPDFAnnot_GetFlags(t), r); +function bu(e, t, r) { + let n = eH(e.FPDFAnnot_GetFlags(t), r); if (!e.FPDFAnnot_SetFlags(t, n)) throw new f(g.Unknown, "FPDFAnnot_SetFlags returned false"); } function $e(e, t, r, n) { @@ -10810,7 +10931,7 @@ function $e(e, t, r, n) { t.free(i); } } -function Un(e, t, r, n, i) { +function qn(e, t, r, n, i) { let a = t.writeU16String(i); try { e.FPDFAnnot_SetStringValue(r, n, a); @@ -10818,17 +10939,17 @@ function Un(e, t, r, n, i) { t.free(a); } } -function oi(e, t, r, n, i) { +function pr(e, t, r, n, i) { if (i === null) { e.EPDFAnnot_RemoveKey(r, n); return; } - Un(e, t, r, n, i); + qn(e, t, r, n, i); } -function hP(e, t, r, n) { +function KP(e, t, r, n) { if (!e.EPDFAnnot_SetBorderStyle(t, r, n)) throw new f(g.Unknown, "EPDFAnnot_SetBorderStyle returned false"); } -function al(e, t, r, n) { +function gu(e, t, r, n) { let i = t.alloc(n.length * 4); try { for (let a = 0; a < n.length; a++) t.poke(i, "f32", Math.max(0, n[a]), a * 4); @@ -10837,19 +10958,19 @@ function al(e, t, r, n) { t.free(i); } } -function kP(e, t) { - if (!e.EPDFAnnot_SetBorderDashPattern(t, Y, 0)) throw new f(g.Unknown, "EPDFAnnot_SetBorderDashPattern returned false"); +function NP(e, t) { + if (!e.EPDFAnnot_SetBorderDashPattern(t, X, 0)) throw new f(g.Unknown, "EPDFAnnot_SetBorderDashPattern returned false"); } -function Pi(e, t, r) { +function Bi(e, t, r) { if (!e.EPDFAnnot_SetBorderEffect(t, r)) throw new f(g.Unknown, "EPDFAnnot_SetBorderEffect returned false"); } -function Al(e, t) { +function fu(e, t) { e.EPDFAnnot_ClearBorderEffect(t); } -function cI(e, t) { +function SI(e, t) { e.EPDFAnnot_ClearRectangleDifferences(t); } -function ol(e, t, r, n) { +function Fu(e, t, r, n) { let i = t.alloc(n.length * 8); try { for (let a = 0; a < n.length; a++) { @@ -10861,7 +10982,7 @@ function ol(e, t, r, n) { t.free(i); } } -function BP(e, t, r, n) { +function VP(e, t, r, n) { let i = t.alloc(8), a = t.alloc(8); try { if (t.poke(i, "f32", n.start.x, 0), t.poke(i, "f32", n.start.y, 4), t.poke(a, "f32", n.end.x, 0), t.poke(a, "f32", n.end.y, 4), !e.EPDFAnnot_SetLine(r, i, a)) throw new f(g.Unknown, "EPDFAnnot_SetLine returned false"); @@ -10869,7 +10990,7 @@ function BP(e, t, r, n) { t.free(i), t.free(a); } } -function DP(e, t, r, n) { +function YP(e, t, r, n) { e.FPDFAnnot_RemoveInkList(r); for (let i of n) { if (i.length === 0) continue; @@ -10885,31 +11006,31 @@ function DP(e, t, r, n) { } } } -function hi(e, t, r) { - if (!e.EPDFAnnot_SetLineEndings(t, rw(r.start), rw(r.end))) throw new f(g.Unknown, "EPDFAnnot_SetLineEndings returned false"); +function Di(e, t, r) { + if (!e.EPDFAnnot_SetLineEndings(t, Fw(r.start), Fw(r.end))) throw new f(g.Unknown, "EPDFAnnot_SetLineEndings returned false"); } -function sl(e, t, r, n, i) { - let { r: a, g: A, b: o } = pr(i); +function vu(e, t, r, n, i) { + let { r: a, g: A, b: o } = ur(i); if (!e.EPDFAnnot_SetDefaultAppearance(t, r, n, a, A, o)) throw new f(g.Unknown, "EPDFAnnot_SetDefaultAppearance returned false"); } -function dI(e, t, r, n, i) { - let { r: a, g: A, b: o } = pr(i); +function OI(e, t, r, n, i) { + let { r: a, g: A, b: o } = ur(i); if (!e.EPDFAnnot_SetDefaultAppearanceRegisteredFont(t, r, n, a, A, o)) throw new f(g.Unknown, "EPDFAnnot_SetDefaultAppearanceRegisteredFont returned false"); } -function pI(e, t, r, n, i) { - let { r: a, g: A, b: o } = pr(i); +function MI(e, t, r, n, i) { + let { r: a, g: A, b: o } = ur(i); if (!e.EPDFAnnot_SetDefaultAppearanceDocumentFont(t, r, n, a, A, o)) throw new f(g.InvalidArg, "EPDFAnnot_SetDefaultAppearanceDocumentFont refused the program"); } -function ss(e, t, r) { +function ls(e, t, r) { if (!e.EPDFAnnot_SetTextAlignment(t, r)) throw new f(g.Unknown, "EPDFAnnot_SetTextAlignment returned false"); } -function ki(e, t, r) { +function yi(e, t, r) { if (!e.EPDFAnnot_SetIntent(t, r)) throw new f(g.Unknown, "EPDFAnnot_SetIntent returned false"); } -function cl(e, t, r) { - r === null ? e.EPDFAnnot_RemoveKey(t, "IT") : ki(e, t, r); +function Pu(e, t, r) { + r === null ? e.EPDFAnnot_RemoveKey(t, "IT") : yi(e, t, r); } -function yP(e, t, r, n) { +function XP(e, t, r, n) { let i = t.writeU16String(n); try { if (!e.EPDFAnnot_SetOverlayText(r, i)) throw new f(g.Unknown, "EPDFAnnot_SetOverlayText returned false"); @@ -10917,10 +11038,10 @@ function yP(e, t, r, n) { t.free(i); } } -function EP(e, t, r) { +function WP(e, t, r) { if (!e.EPDFAnnot_SetOverlayTextRepeat(t, r)) throw new f(g.Unknown, "EPDFAnnot_SetOverlayTextRepeat returned false"); } -function GP(e, t, r, n) { +function UP(e, t, r, n) { let i = t.alloc(n.length * 8); try { for (let a = 0; a < n.length; a++) { @@ -10932,107 +11053,107 @@ function GP(e, t, r, n) { t.free(i); } } -function CP(e) { - return e === null ? null : di(e, "\r"); +function qP(e) { + return e === null ? null : mi(e, "\r"); } function at(e, t, r, n) { - n.contents !== void 0 && oi(e, t, r, "Contents", CP(n.contents)), n.subject !== void 0 && oi(e, t, r, "Subj", n.subject), n.nm && Un(e, t, r, "NM", n.nm); - let i = n.subtype, a = JF({ ...i ? cg(i) : {}, ...n }); - a && il(e, r, a); + n.contents !== void 0 && pr(e, t, r, "Contents", qP(n.contents)), n.subject !== void 0 && pr(e, t, r, "Subj", n.subject), n.nm && qn(e, t, r, "NM", n.nm); + let i = n.subtype, a = hv({ ...i ? Dg(i) : {}, ...n }); + a && bu(e, r, a); } function At(e, t, r, n) { - n.contents !== void 0 && oi(e, t, r, "Contents", CP(n.contents)), n.subject !== void 0 && oi(e, t, r, "Subj", n.subject); - let i = JF(n); - i && il(e, r, i); + n.contents !== void 0 && pr(e, t, r, "Contents", qP(n.contents)), n.subject !== void 0 && pr(e, t, r, "Subj", n.subject), n.nm !== void 0 && pr(e, t, r, "NM", n.nm || null); + let i = hv(n); + i && bu(e, r, i); } -function xP(e, t, r, n) { - n.length !== 0 && Un(e, t, r, "T", n); +function ZP(e, t, r, n) { + n.length !== 0 && qn(e, t, r, "T", n); } -function _P(e, t, r, n = /* @__PURE__ */ new Date()) { - Un(e, t, r, "CreationDate", dt(n)); +function zP(e, t, r, n = /* @__PURE__ */ new Date()) { + qn(e, t, r, "CreationDate", pt(n)); } -function dl(e, t, r, n = /* @__PURE__ */ new Date()) { - Un(e, t, r, "M", dt(n)); +function hu(e, t, r, n = /* @__PURE__ */ new Date()) { + qn(e, t, r, "M", pt(n)); } -function HP(e, t) { +function JP(e, t) { if (e.length === 0 || e.length !== t.length) return; let r = t[0].x - e[0].x, n = t[0].y - e[0].y; - return e.every((i, a) => Ye({ x: i.x + r, y: i.y + n }, { x: t[a].x, y: t[a].y })) ? { dx: r, dy: n } : void 0; + return e.every((i, a) => Xe({ x: i.x + r, y: i.y + n }, { x: t[a].x, y: t[a].y })) ? { dx: r, dy: n } : void 0; } -function pl(e, t, r, { dx: n, dy: i }) { - let a = Se(AA(e, t, r)); +function ku(e, t, r, { dx: n, dy: i }) { + let a = Se(pA(e, t, r)); $e(e, t, r, { left: a.left + n, bottom: a.bottom + i, right: a.right + n, top: a.top + i }); } -var ll = "Rotation", ul = "UnrotatedRect"; -function IP(e, t) { +var Bu = "Rotation", Du = "UnrotatedRect"; +function $P(e, t) { e.EPDFAnnot_HasEmbedMetadata(t) || e.EPDFAnnot_SetEmbedMetadataNumber(t, "SchemaVersion", 1); } -function QP(e, t, r) { - IP(e, t), e.EPDFAnnot_SetEmbedMetadataNumber(t, ll, Jo(r)); +function e3(e, t, r) { + $P(e, t), e.EPDFAnnot_SetEmbedMetadataNumber(t, Bu, rs(r)); } -var lI = /* @__PURE__ */ new Set([90, 180, 270]); -function uI(e, t, r) { +var jI = /* @__PURE__ */ new Set([90, 180, 270]); +function RI(e, t, r) { let n = e.FPDFAnnot_GetSubtype(t); - r !== null && (n === T.STAMP || n === T.FREETEXT && lI.has(r)) ? e.EPDFAnnot_SetRotate(t, Jo(r)) : (n === T.STAMP || n === T.FREETEXT) && e.EPDFAnnot_SetRotate(t, 0); + r !== null && (n === T.STAMP || n === T.FREETEXT && jI.has(r)) ? e.EPDFAnnot_SetRotate(t, rs(r)) : (n === T.STAMP || n === T.FREETEXT) && e.EPDFAnnot_SetRotate(t, 0); } -function SP(e, t, r, n) { - IP(e, r); +function t3(e, t, r, n) { + $P(e, r); let i = t.alloc(16); try { - t.poke(i, "f32", n.left, 0), t.poke(i, "f32", n.top, 4), t.poke(i, "f32", n.right, 8), t.poke(i, "f32", n.bottom, 12), e.EPDFAnnot_SetEmbedMetadataRect(r, ul, i); + t.poke(i, "f32", n.left, 0), t.poke(i, "f32", n.top, 4), t.poke(i, "f32", n.right, 8), t.poke(i, "f32", n.bottom, 12), e.EPDFAnnot_SetEmbedMetadataRect(r, Du, i); } finally { t.free(i); } } -function ml(e, t, r, n) { - n ? (QP(e, r, n.rotation), SP(e, t, r, n.box)) : (e.EPDFAnnot_ClearEmbedMetadataKey(r, ll), e.EPDFAnnot_ClearEmbedMetadataKey(r, ul)), uI(e, r, n?.rotation ?? null); +function yu(e, t, r, n) { + n ? (e3(e, r, n.rotation), t3(e, t, r, n.box)) : (e.EPDFAnnot_ClearEmbedMetadataKey(r, Bu), e.EPDFAnnot_ClearEmbedMetadataKey(r, Du)), RI(e, r, n?.rotation ?? null); } -function mI(e, t, r) { - if (!U_(e, r)) return; - let n = $o(e, t, r); - W_(n, X_(e, t, r)) || (n ? (QP(e, r, n.rotation), SP(e, t, r, n.box)) : (e.EPDFAnnot_ClearEmbedMetadataKey(r, ll), e.EPDFAnnot_ClearEmbedMetadataKey(r, ul))); +function LI(e, t, r) { + if (!vH(e, r)) return; + let n = is(e, t, r); + FH(n, fH(e, t, r)) || (n ? (e3(e, r, n.rotation), t3(e, t, r, n.box)) : (e.EPDFAnnot_ClearEmbedMetadataKey(r, Bu), e.EPDFAnnot_ClearEmbedMetadataKey(r, Du))); } -var OP = (e) => e || null, ww = (e) => (e % 360 + 360) % 360; -function wI(e, t) { - return e === null || t === null ? e === t : Ye(ww(e), ww(t)); +var n3 = (e) => e || null, _w = (e) => (e % 360 + 360) % 360; +function TI(e, t) { + return e === null || t === null ? e === t : Xe(_w(e), _w(t)); } -function si(e, t, r, n) { - let i = Se(n.box), a = OP(n.rotation); - ml(e, t, r, a === null ? null : { rotation: a, box: i }), $e(e, t, r, a === null ? i : ci(i, a)), cI(e, r); +function pi(e, t, r, n) { + let i = Se(n.box), a = n3(n.rotation); + yu(e, t, r, a === null ? null : { rotation: a, box: i }), $e(e, t, r, a === null ? i : li(i, a)), SI(e, r); } -function cs(e, t, r, n) { +function ms(e, t, r, n) { if (n.box === void 0 && n.rotation === void 0) return !1; - let i = vi(e, t, r), a = Se(n.box ?? i.box), A = n.rotation === void 0 ? i.rotation : OP(n.rotation), o = wI(A, i.rotation); - if (o && Ye(a, i.box)) return !1; + let i = ki(e, t, r), a = Se(n.box ?? i.box), A = n.rotation === void 0 ? i.rotation : n3(n.rotation), o = TI(A, i.rotation); + if (o && Xe(a, i.box)) return !1; let s = a.right - a.left, d = a.top - a.bottom; - return o && Ye(s, i.box.right - i.box.left) && Ye(d, i.box.top - i.box.bottom) ? (pl(e, t, r, { dx: a.left - i.box.left, dy: a.bottom - i.box.bottom }), A !== null && ml(e, t, r, { rotation: A, box: a }), !0) : (si(e, t, r, { box: a, rotation: A }), !0); + return o && Xe(s, i.box.right - i.box.left) && Xe(d, i.box.top - i.box.bottom) ? (ku(e, t, r, { dx: a.left - i.box.left, dy: a.bottom - i.box.bottom }), A !== null && yu(e, t, r, { rotation: A, box: a }), !0) : (pi(e, t, r, { box: a, rotation: A }), !0); } -var bw = _t.caret; -function bI(e, t, r, n) { - at(e, t, r, n), si(e, t, r, { box: n.box, rotation: n.rotation ?? null }), Xe(e, r, n.color ?? bw.color), Je(e, r, n.opacity ?? bw.opacity), n.intent != null && ki(e, r, Fv(n.intent)); +var Hw = Qt.caret; +function KI(e, t, r, n) { + at(e, t, r, n), pi(e, t, r, { box: n.box, rotation: n.rotation ?? null }), We(e, r, n.color ?? Hw.color), Je(e, r, n.opacity ?? Hw.opacity), n.intent != null && yi(e, r, Nv(n.intent)); } -function gI(e, t, r, n) { - At(e, t, r, n), cs(e, t, r, n), n.color !== void 0 && Xe(e, r, n.color), n.opacity !== void 0 && Je(e, r, n.opacity), n.intent !== void 0 && cl(e, r, n.intent === null ? null : Fv(n.intent)); +function NI(e, t, r, n) { + At(e, t, r, n), ms(e, t, r, n), n.color !== void 0 && We(e, r, n.color), n.opacity !== void 0 && Je(e, r, n.opacity), n.intent !== void 0 && Pu(e, r, n.intent === null ? null : Nv(n.intent)); } -function MP(e) { +function r3(e) { return e === "caret"; } -var Us = _t["file-attachment"]; -function fI(e, t) { - if (LP(t), bl(t), !e.file?.name) throw new f(g.InvalidArg, "a file attachment needs the file's name: give file.name, or the bytes as a File", { details: { field: "file.name" } }); +var $s = Qt["file-attachment"]; +function VI(e, t) { + if (A3(t), Gu(t), !e.file?.name) throw new f(g.InvalidArg, "a file attachment needs the file's name: give file.name, or the bytes as a File", { details: { field: "file.name" } }); } -function FI(e, t, r, n, i) { - at(e, t, r, n), $e(e, t, r, n.rect), Xe(e, r, n.color ?? Us.color), Je(e, r, n.opacity ?? Us.opacity), jP(e, r, n.icon ?? Us.icon); +function YI(e, t, r, n, i) { + at(e, t, r, n), $e(e, t, r, n.rect), We(e, r, n.color ?? $s.color), Je(e, r, n.opacity ?? $s.opacity), i3(e, r, n.icon ?? $s.icon); let a = n.file; - Mp(e, t, RP(e, t, r, a.name), bl(i), kI(a), { bytes: LP(i) }); + qp(e, t, a3(e, t, r, a.name), Gu(i), qI(a), { bytes: A3(i) }); } -function vI(e, t, r, n, i) { - At(e, t, r, n), n.rect !== void 0 && $e(e, t, r, n.rect), n.color !== void 0 && Xe(e, r, n.color), n.opacity !== void 0 && Je(e, r, n.opacity), n.icon !== void 0 && jP(e, r, n.icon), PI(e, t, r, n.file, i); +function XI(e, t, r, n, i) { + At(e, t, r, n), n.rect !== void 0 && $e(e, t, r, n.rect), n.color !== void 0 && We(e, r, n.color), n.opacity !== void 0 && Je(e, r, n.opacity), n.icon !== void 0 && i3(e, r, n.icon), WI(e, t, r, n.file, i); } -function wl(e) { +function Eu(e) { return e === "file-attachment"; } -function PI(e, t, r, n, i) { +function WI(e, t, r, n, i) { let a = i?.resources?.file; if (n === void 0 && a === void 0) return; let A = e.EPDFAnnot_GetFileAttachmentForWrite(r); @@ -11040,24 +11161,24 @@ function PI(e, t, r, n, i) { if (A) throw new f(g.InvalidArg, "a file attachment's file can't be removed"); if (a === void 0) return; } - let o = A ? Xr(e, t, A) : null; + let o = A ? Zr(e, t, A) : null; if (!A) { if (!n || a === void 0) throw new f(g.InvalidArg, "the file attachment has no file: send the file's name as `file` and its bytes as the `file` resource"); - A = RP(e, t, r, n.name); + A = a3(e, t, r, n.name); } let s = n ? n.mimeType ?? null : o?.mimeType ?? null; - if (a !== void 0 ? Mp(e, t, A, bl(i), { mimeType: s }, { bytes: a }) : s !== (o?.mimeType ?? null) && hI(e, A, s), !!n) { - if (o !== null && n.name !== o.name && !Ct(t, n.name, (d) => e.EPDFAttachment_SetName(A, d))) throw new f(g.Unknown, "EPDFAttachment_SetName returned false"); - if ((n.description ?? null) !== (o?.description ?? null) && !Ct(t, n.description ?? "", (d) => e.EPDFAttachment_SetDescription(A, d))) throw new f(g.Unknown, "EPDFAttachment_SetDescription returned false"); + if (a !== void 0 ? qp(e, t, A, Gu(i), { mimeType: s }, { bytes: a }) : s !== (o?.mimeType ?? null) && UI(e, A, s), !!n) { + if (o !== null && n.name !== o.name && !Ht(t, n.name, (d) => e.EPDFAttachment_SetName(A, d))) throw new f(g.Unknown, "EPDFAttachment_SetName returned false"); + if ((n.description ?? null) !== (o?.description ?? null) && !Ht(t, n.description ?? "", (d) => e.EPDFAttachment_SetDescription(A, d))) throw new f(g.Unknown, "EPDFAttachment_SetDescription returned false"); } } -function hI(e, t, r) { +function UI(e, t, r) { if (!e.EPDFAttachment_SetSubtype(t, r ?? "")) throw new f(g.InvalidArg, "the file attachment's file has no embedded data to give a MIME type"); } -function jP(e, t, r) { - if (!e.EPDFAnnot_SetName(t, Dv[r])) throw new f(g.Unknown, "EPDFAnnot_SetName returned false"); +function i3(e, t, r) { + if (!e.EPDFAnnot_SetName(t, qv[r])) throw new f(g.Unknown, "EPDFAnnot_SetName returned false"); } -function RP(e, t, r, n) { +function a3(e, t, r, n) { let i = t.writeU16String(n), a; try { a = e.FPDFAnnot_AddFileAttachment(r, i); @@ -11067,654 +11188,654 @@ function RP(e, t, r, n) { if (!a) throw new f(g.Unknown, "FPDFAnnot_AddFileAttachment returned NULL"); return a; } -function kI(e) { +function qI(e) { return { ...e.mimeType != null ? { mimeType: e.mimeType } : {}, ...e.description != null ? { description: e.description } : {} }; } -function LP(e) { +function A3(e) { let t = e?.resources?.file; if (t === void 0) throw new f(g.InvalidArg, "creating a file-attachment annotation needs its 'file' resource"); return t; } -function bl(e) { +function Gu(e) { if (e?.docPtr === void 0) throw new f(g.Unknown, "file-attachment writer requires docPtr on the write context"); return e.docPtr; } -function dA(e, t, r, n, i, a) { - if (dH(r)) { - sl(e, t, cH(r), n, i); +function wA(e, t, r, n, i, a) { + if (OH(r)) { + vu(e, t, SH(r), n, i); return; } if (a?.resolveRegisteredFontId && a.describeRegisteredFont?.(r)) { - dI(e, t, a.resolveRegisteredFontId(r), n, i); + OI(e, t, a.resolveRegisteredFontId(r), n, i); return; } let A = a?.resolveDocumentFont?.(r); if (A) { if (!A.choosable) throw new f(g.InvalidArg, `'${r}' can't be chosen for new text (${A.restrictions.join(", ")})`, { details: { field: "fontFamily", restrictions: A.restrictions } }); - pI(e, t, A.objectNumber, n, i); + MI(e, t, A.objectNumber, n, i); return; } throw new f(g.InvalidArg, `fontFamily '${r}' is not a standard font, one of the engine's fonts or one of the document's`, { details: { field: "fontFamily" } }); } -function TP(e, t, r, n) { - let i = _t[n.subtype]; - KP(e, r, n.color === void 0 ? i.color : n.color), Je(e, r, n.opacity ?? i.opacity), NP(e, t, r, n); +function o3(e, t, r, n) { + let i = Qt[n.subtype]; + s3(e, r, n.color === void 0 ? i.color : n.color), Je(e, r, n.opacity ?? i.opacity), c3(e, t, r, n); } -function KP(e, t, r) { - r === null ? sI(e, t) : Xe(e, t, r); +function s3(e, t, r) { + r === null ? QI(e, t) : We(e, t, r); } -function NP(e, t, r, n) { - let i = _t[n.subtype]; - hP(e, r, Lp(n.borderStyle ?? i.borderStyle), n.strokeWidth ?? i.strokeWidth), n.dashArray != null && n.dashArray.length > 0 && al(e, t, r, n.dashArray); +function c3(e, t, r, n) { + let i = Qt[n.subtype]; + KP(e, r, Jp(n.borderStyle ?? i.borderStyle), n.strokeWidth ?? i.strokeWidth), n.dashArray != null && n.dashArray.length > 0 && gu(e, t, r, n.dashArray); } -function VP(e, t, r, n) { - n.color !== void 0 && KP(e, r, n.color), n.opacity !== void 0 && Je(e, r, n.opacity), YP(e, t, r, n); +function d3(e, t, r, n) { + n.color !== void 0 && s3(e, r, n.color), n.opacity !== void 0 && Je(e, r, n.opacity), p3(e, t, r, n); } -function YP(e, t, r, n) { +function p3(e, t, r, n) { if (n.borderStyle !== void 0 || n.strokeWidth !== void 0) { - let i = Zo(e, t, r), a = n.borderStyle ?? Tp(i.styleCode), A = n.strokeWidth ?? i.width; - hP(e, r, Lp(a), A); + let i = ts(e, t, r), a = n.borderStyle ?? $p(i.styleCode), A = n.strokeWidth ?? i.width; + KP(e, r, Jp(a), A); } - n.dashArray === null || n.dashArray?.length === 0 ? kP(e, r) : n.dashArray !== void 0 && al(e, t, r, n.dashArray); + n.dashArray === null || n.dashArray?.length === 0 ? NP(e, r) : n.dashArray !== void 0 && gu(e, t, r, n.dashArray); } -function ds(e, t, r, n) { +function ws(e, t, r, n) { let i = n.interiorColor ?? null; - i === null ? cA(e, r, je.InteriorColor) : Xe(e, r, i, je.InteriorColor), TP(e, t, r, n); + i === null ? mA(e, r, je.InteriorColor) : We(e, r, i, je.InteriorColor), o3(e, t, r, n); } -function ps(e, t, r, n) { - n.interiorColor !== void 0 && (n.interiorColor === null ? cA(e, r, je.InteriorColor) : Xe(e, r, n.interiorColor, je.InteriorColor)), VP(e, t, r, n); +function bs(e, t, r, n) { + n.interiorColor !== void 0 && (n.interiorColor === null ? mA(e, r, je.InteriorColor) : We(e, r, n.interiorColor, je.InteriorColor)), d3(e, t, r, n); } -var Rt = _t["free-text"]; -function XP(e, t, r, n, i) { - let a = ZF(r, { describe: n?.describeFont, programOf: n?.documentProgramOf, bodyProgram: i === void 0 ? void 0 : n?.documentProgramOf?.(i) }); +var Lt = Qt["free-text"]; +function u3(e, t, r, n, i) { + let a = vv(r, { describe: n?.describeFont, programOf: n?.documentProgramOf, bodyProgram: i === void 0 ? void 0 : n?.documentProgramOf?.(i) }); if (!e.EPDFAnnot_SetRichTextJSON(t, a)) throw new f(g.InvalidArg, "rich text could not be written (empty rect, or a font resource could not be built)"); } -function WP(e, t, r) { - if (!e.EPDFAnnot_SetEmbedMetadataNumber(t, "VerticalAlignment", lH(r))) throw new f(g.Unknown, "EPDFAnnot_SetEmbedMetadataNumber returned false"); +function l3(e, t, r) { + if (!e.EPDFAnnot_SetEmbedMetadataNumber(t, "VerticalAlignment", jH(r))) throw new f(g.Unknown, "EPDFAnnot_SetEmbedMetadataNumber returned false"); } -function BI(e, t, r, n, i) { - at(e, t, r, n), si(e, t, r, { box: n.box, rotation: n.rotation ?? null }); +function ZI(e, t, r, n, i) { + at(e, t, r, n), pi(e, t, r, { box: n.box, rotation: n.rotation ?? null }); let a = n.interiorColor ?? null; - a === null ? cA(e, r, je.Color) : Xe(e, r, a, je.Color), Je(e, r, n.opacity ?? Rt.opacity), NP(e, t, r, n), n.cloudyIntensity != null && Pi(e, r, n.cloudyIntensity), dA(e, r, n.fontFamily ?? Rt.fontFamily, n.fontSize ?? Rt.fontSize, n.color ?? Rt.color, i); + a === null ? mA(e, r, je.Color) : We(e, r, a, je.Color), Je(e, r, n.opacity ?? Lt.opacity), c3(e, t, r, n), n.cloudyIntensity != null && Bi(e, r, n.cloudyIntensity), wA(e, r, n.fontFamily ?? Lt.fontFamily, n.fontSize ?? Lt.fontSize, n.color ?? Lt.color, i); let A = n.richText; - ss(e, r, oA(A.body?.align ?? Rt.textAlign)), ki(e, r, Ev(n.intent ?? Rt.intent)), n.verticalAlign !== void 0 && n.verticalAlign !== Rt.verticalAlign && WP(e, r, n.verticalAlign), n.calloutLine != null && GP(e, t, r, n.calloutLine), n.lineEnding != null && hi(e, r, { start: "none", end: n.lineEnding }), XP(e, r, A, i, n.fontFamily ?? Rt.fontFamily); + ls(e, r, uA(A.body?.align ?? Lt.textAlign)), yi(e, r, zv(n.intent ?? Lt.intent)), n.verticalAlign !== void 0 && n.verticalAlign !== Lt.verticalAlign && l3(e, r, n.verticalAlign), n.calloutLine != null && UP(e, t, r, n.calloutLine), n.lineEnding != null && Di(e, r, { start: "none", end: n.lineEnding }), u3(e, r, A, i, n.fontFamily ?? Lt.fontFamily); } -function DI(e, t, r, n, i) { - if (At(e, t, r, n), cs(e, t, r, n), n.interiorColor !== void 0 && (n.interiorColor === null ? cA(e, r, je.Color) : Xe(e, r, n.interiorColor, je.Color)), n.opacity !== void 0 && Je(e, r, n.opacity), YP(e, t, r, n), n.cloudyIntensity !== void 0 && (n.cloudyIntensity === null ? Al(e, r) : Pi(e, r, n.cloudyIntensity)), n.color !== void 0) { - let a = Fi(e, t, r); - a ? sl(e, r, -1, a.fontSize > 0 ? a.fontSize : Rt.fontSize, n.color) : dA(e, r, Rt.fontFamily, Rt.fontSize, n.color, i); +function zI(e, t, r, n, i) { + if (At(e, t, r, n), ms(e, t, r, n), n.interiorColor !== void 0 && (n.interiorColor === null ? mA(e, r, je.Color) : We(e, r, n.interiorColor, je.Color)), n.opacity !== void 0 && Je(e, r, n.opacity), p3(e, t, r, n), n.cloudyIntensity !== void 0 && (n.cloudyIntensity === null ? fu(e, r) : Bi(e, r, n.cloudyIntensity)), n.color !== void 0) { + let a = hi(e, t, r); + a ? vu(e, r, -1, a.fontSize > 0 ? a.fontSize : Lt.fontSize, n.color) : wA(e, r, Lt.fontFamily, Lt.fontSize, n.color, i); } - n.richText !== void 0 && XP(e, r, n.richText, i, n.fontFamily), n.textAlign !== void 0 && ss(e, r, oA(n.textAlign)), n.intent !== void 0 && ki(e, r, Ev(n.intent)), n.verticalAlign !== void 0 && WP(e, r, n.verticalAlign), n.calloutLine === null ? e.EPDFAnnot_RemoveKey(r, "CL") : n.calloutLine !== void 0 && GP(e, t, r, n.calloutLine), n.lineEnding === null ? e.EPDFAnnot_RemoveKey(r, "LE") : n.lineEnding !== void 0 && hi(e, r, { start: "none", end: n.lineEnding }); + n.richText !== void 0 && u3(e, r, n.richText, i, n.fontFamily), n.textAlign !== void 0 && ls(e, r, uA(n.textAlign)), n.intent !== void 0 && yi(e, r, zv(n.intent)), n.verticalAlign !== void 0 && l3(e, r, n.verticalAlign), n.calloutLine === null ? e.EPDFAnnot_RemoveKey(r, "CL") : n.calloutLine !== void 0 && UP(e, t, r, n.calloutLine), n.lineEnding === null ? e.EPDFAnnot_RemoveKey(r, "LE") : n.lineEnding !== void 0 && Di(e, r, { start: "none", end: n.lineEnding }); } -function UP(e) { +function m3(e) { return e === "free-text"; } -var qP = (e) => e || null, gw = (e) => (e % 360 + 360) % 360; -function ZP(e, t, r, n, i) { - let a = n.flat(), A = i === null || a.length === 0 ? null : FD(a, i); - return ml(e, t, r, A ? { rotation: A.degrees, box: Qa(a) } : null), { drawn: n.map((o) => o.map((s) => A ? Qo(s, A) : s)), turn: A }; +var w3 = (e) => e || null, Iw = (e) => (e % 360 + 360) % 360; +function b3(e, t, r, n, i) { + let a = n.flat(), A = i === null || a.length === 0 ? null : UD(a, i); + return yu(e, t, r, A ? { rotation: A.degrees, box: Oa(a) } : null), { drawn: n.map((o) => o.map((s) => A ? Ro(s, A) : s)), turn: A }; } -function ls(e, t, r, n, i) { - let a = ZP(e, t, r, n, qP(i)); - return $e(e, t, r, Qa(a.drawn.flat())), a; +function gs(e, t, r, n, i) { + let a = b3(e, t, r, n, w3(i)); + return $e(e, t, r, Oa(a.drawn.flat())), a; } -function gl(e, t, r) { - let n = FH(e, t, r), i = ns(e, t, r, n); - return { drawn: n, turn: i, upright: n.map((a) => a.map((A) => br(A, i))) }; +function Cu(e, t, r) { + let n = YH(e, t, r), i = os(e, t, r, n); + return { drawn: n, turn: i, upright: n.map((a) => a.map((A) => gr(A, i))) }; } -function fl(e, t, r, n, i, a) { +function xu(e, t, r, n, i, a) { if (i === void 0 && a === void 0) return; - let A = n.turn?.degrees ?? null, o = a === void 0 ? A : qP(a), s = Ye(gw(o ?? 0), gw(A ?? 0)); + let A = n.turn?.degrees ?? null, o = a === void 0 ? A : w3(a), s = Xe(Iw(o ?? 0), Iw(A ?? 0)); if (i === void 0 && s) return; - let d = ZP(e, t, r, i ?? n.upright, o), l = HP(n.drawn.flat(), d.drawn.flat()); - return l && pl(e, t, r, l), d; + let d = b3(e, t, r, i ?? n.upright, o), u = JP(n.drawn.flat(), d.drawn.flat()); + return u && ku(e, t, r, u), d; } -function yI(e, t, r, n) { - at(e, t, r, n), n.intent != null && ki(e, r, Kv(n.intent)), TP(e, t, r, n), DP(e, t, r, ls(e, t, r, n.inkList, n.rotation).drawn); +function JI(e, t, r, n) { + at(e, t, r, n), n.intent != null && yi(e, r, uP(n.intent)), o3(e, t, r, n), YP(e, t, r, gs(e, t, r, n.inkList, n.rotation).drawn); } -function EI(e, t, r, n) { - At(e, t, r, n), n.intent !== void 0 && cl(e, r, n.intent === null ? null : Kv(n.intent)), VP(e, t, r, n); - let i = fl(e, t, r, gl(e, t, r), n.inkList, n.rotation); - i && DP(e, t, r, i.drawn); +function $I(e, t, r, n) { + At(e, t, r, n), n.intent !== void 0 && Pu(e, r, n.intent === null ? null : uP(n.intent)), d3(e, t, r, n); + let i = xu(e, t, r, Cu(e, t, r), n.inkList, n.rotation); + i && YP(e, t, r, i.drawn); } -function zP(e) { +function g3(e) { return e === "ink"; } -var GI = 1; -function pA(e, t, r, n) { - if (n.intent !== void 0 && (n.intent === null ? e.EPDFAnnot_RemoveKey(r, "IT") : Oe(e.EPDFAnnot_SetIntent(r, BH(n.intent)))), n.measure !== void 0) if (n.measure === null) Oe(e.EPDFAnnot_RemoveMeasure(r)); +var eQ = 1; +function bA(e, t, r, n) { + if (n.intent !== void 0 && (n.intent === null ? e.EPDFAnnot_RemoveKey(r, "IT") : Oe(e.EPDFAnnot_SetIntent(r, ZH(n.intent)))), n.measure !== void 0) if (n.measure === null) Oe(e.EPDFAnnot_RemoveMeasure(r)); else { let i = e.EPDFAnnot_GetMeasure(r); - i && e.EPDFMeasure_GetSubtype(i) !== GI && Oe(e.EPDFAnnot_RemoveMeasure(r)), Xv(e, t, e.EPDFAnnot_AddMeasure(r), n.measure); + i && e.EPDFMeasure_GetSubtype(i) !== eQ && Oe(e.EPDFAnnot_RemoveMeasure(r)), Av(e, t, e.EPDFAnnot_AddMeasure(r), n.measure); } if (n.subtype === "line") { if (n.leader !== void 0 && Oe(e.EPDFAnnot_SetLineLeader(r, n.leader?.length ?? 0, n.leader?.extension ?? 0, n.leader?.offset ?? 0)), n.captionEnabled !== void 0) { let i = n.captionOffset ?? null; - Oe(Tc(t, i ? { x: i.along, y: i.perpendicular } : void 0, (a) => e.EPDFAnnot_SetLineCaption(r, n.captionEnabled ?? !1, n.captionPosition === "top" ? 1 : 0, a))); + Oe(Xc(t, i ? { x: i.along, y: i.perpendicular } : void 0, (a) => e.EPDFAnnot_SetLineCaption(r, n.captionEnabled ?? !1, n.captionPosition === "top" ? 1 : 0, a))); } } else if (n.captionEnabled !== void 0) if (n.captionEnabled === null) e.EPDFAnnot_ClearEmbedMetadataKey(r, "MeasurementCaption"), e.EPDFAnnot_ClearEmbedMetadataKey(r, "MeasurementCaptionCenter"); else { let i = n.captionEnabled; - Oe(Tc(t, ("captionCenter" in n ? n.captionCenter : null) ?? void 0, (a) => e.EPDFAnnot_SetShapeCaption(r, i, a))); + Oe(Xc(t, ("captionCenter" in n ? n.captionCenter : null) ?? void 0, (a) => e.EPDFAnnot_SetShapeCaption(r, i, a))); } } -function CI(e, t, r, n) { - at(e, t, r, n), pA(e, t, r, n), ds(e, t, r, n); - let { start: i, end: a } = n.linePoints, [A] = ls(e, t, r, [[i, a]], n.rotation).drawn; - BP(e, t, r, { start: A[0], end: A[1] }), hi(e, r, n.lineEndings ?? _t.line.lineEndings); +function tQ(e, t, r, n) { + at(e, t, r, n), bA(e, t, r, n), ws(e, t, r, n); + let { start: i, end: a } = n.linePoints, [A] = gs(e, t, r, [[i, a]], n.rotation).drawn; + VP(e, t, r, { start: A[0], end: A[1] }), Di(e, r, n.lineEndings ?? Qt.line.lineEndings); } -function xI(e, t, r, n) { - At(e, t, r, n), pA(e, t, r, n), ps(e, t, r, n); - let i = n.linePoints && [[n.linePoints.start, n.linePoints.end]], a = fl(e, t, r, gl(e, t, r), i, n.rotation); +function nQ(e, t, r, n) { + At(e, t, r, n), bA(e, t, r, n), bs(e, t, r, n); + let i = n.linePoints && [[n.linePoints.start, n.linePoints.end]], a = xu(e, t, r, Cu(e, t, r), i, n.rotation); if (a) { let [A] = a.drawn; - BP(e, t, r, { start: A[0], end: A[1] }); + VP(e, t, r, { start: A[0], end: A[1] }); } - n.lineEndings !== void 0 && hi(e, r, n.lineEndings); + n.lineEndings !== void 0 && Di(e, r, n.lineEndings); } -function JP(e) { +function f3(e) { return e === "line"; } -function _I(e, t, r, n, i) { +function rQ(e, t, r, n, i) { if (at(e, t, r, n), $e(e, t, r, n.rect), !e.FPDFAnnot_SetBorder(r, 0, 0, 0)) throw new f(g.Unknown, "FPDFAnnot_SetBorder returned false"); - n.target && e3(e, t, r, n.target, i); + n.target && v3(e, t, r, n.target, i); } -function HI(e, t, r, n, i) { - if (At(e, t, r, n), n.rect !== void 0 && $e(e, t, r, n.rect), n.target === null) II(e, r); +function iQ(e, t, r, n, i) { + if (At(e, t, r, n), n.rect !== void 0 && $e(e, t, r, n.rect), n.target === null) aQ(e, r); else if (n.target !== void 0) { if (n.target.kind !== "goto" && n.target.kind !== "uri" && n.target.kind !== "named") throw new f(g.InvalidArg, `a '${n.target.kind}' link target can't be written`, { details: { field: "target" } }); - e3(e, t, r, n.target, i); + v3(e, t, r, n.target, i); } } -function II(e, t) { +function aQ(e, t) { if (!e.EPDFAnnot_RemoveAction(t) || !e.EPDFAnnot_RemoveDest(t)) throw new f(g.Unknown, "failed to clear link target"); } -function $P(e) { +function F3(e) { return e === "link"; } -function e3(e, t, r, n, i) { +function v3(e, t, r, n, i) { let a = i?.docPtr; if (!a) throw new f(g.InvalidArg, "writing a link target requires a document pointer on the write context"); - let A = Zv(e, t, a, n); + let A = bP(e, t, a, n); if (!e.EPDFAnnot_SetAction(r, A)) throw new f(g.Unknown, "EPDFAnnot_SetAction failed for link"); } -function QI(e, t, r, n) { - at(e, t, r, n), $e(e, t, r, n.rect), n.open !== void 0 && t3(e, r, n.open); +function AQ(e, t, r, n) { + at(e, t, r, n), $e(e, t, r, n.rect), n.open !== void 0 && P3(e, r, n.open); } -function SI(e, t, r, n) { - At(e, t, r, n), n.rect !== void 0 && $e(e, t, r, n.rect), n.open !== void 0 && t3(e, r, n.open); +function oQ(e, t, r, n) { + At(e, t, r, n), n.rect !== void 0 && $e(e, t, r, n.rect), n.open !== void 0 && P3(e, r, n.open); } -function t3(e, t, r) { +function P3(e, t, r) { if (!e.EPDFAnnot_SetBooleanValue(t, "Open", r)) throw new f(g.Unknown, "EPDFAnnot_SetBooleanValue returned false"); } -function n3(e) { +function h3(e) { return e === "popup"; } -function OI(e, t, r, n) { +function sQ(e, t, r, n) { at(e, t, r, n); let i = n.quadPoints; - Fl(e, t, r, i), us(e, t, r, i); - let a = _t[n.subtype]; - Xe(e, r, n.color ?? a.color), Je(e, r, n.opacity ?? a.opacity), n.subtype === "strikeout" && n.intent != null && ki(e, r, vv(n.intent)); + _u(e, t, r, i), fs(e, t, r, i); + let a = Qt[n.subtype]; + We(e, r, n.color ?? a.color), Je(e, r, n.opacity ?? a.opacity), n.subtype === "strikeout" && n.intent != null && yi(e, r, Vv(n.intent)); } -function MI(e, t, r, n) { - if (At(e, t, r, n), n.color !== void 0 && Xe(e, r, n.color), n.opacity !== void 0 && Je(e, r, n.opacity), n.subtype === "strikeout" && n.intent !== void 0 && cl(e, r, n.intent === null ? null : vv(n.intent)), n.quadPoints !== void 0) { - let i = HP(Ip(e, t, r).flatMap(fw), n.quadPoints.flatMap(fw)); - i3(e, t, r, n.quadPoints), i ? pl(e, t, r, i) : us(e, t, r, n.quadPoints); +function cQ(e, t, r, n) { + if (At(e, t, r, n), n.color !== void 0 && We(e, r, n.color), n.opacity !== void 0 && Je(e, r, n.opacity), n.subtype === "strikeout" && n.intent !== void 0 && Pu(e, r, n.intent === null ? null : Vv(n.intent)), n.quadPoints !== void 0) { + let i = JP(Yp(e, t, r).flatMap(Qw), n.quadPoints.flatMap(Qw)); + B3(e, t, r, n.quadPoints), i ? ku(e, t, r, i) : fs(e, t, r, n.quadPoints); } } -var fw = (e) => [e.upperLeft, e.upperRight, e.lowerLeft, e.lowerRight]; -function r3(e) { +var Qw = (e) => [e.upperLeft, e.upperRight, e.lowerLeft, e.lowerRight]; +function k3(e) { return e === "highlight" || e === "underline" || e === "squiggly" || e === "strikeout"; } -function Fl(e, t, r, n) { +function _u(e, t, r, n) { let i = t.alloc(32); try { - for (let a of n) if (jI(t, i, a), !e.FPDFAnnot_AppendAttachmentPoints(r, i)) throw new f(g.Unknown, "FPDFAnnot_AppendAttachmentPoints returned false"); + for (let a of n) if (dQ(t, i, a), !e.FPDFAnnot_AppendAttachmentPoints(r, i)) throw new f(g.Unknown, "FPDFAnnot_AppendAttachmentPoints returned false"); } finally { t.free(i); } } -function i3(e, t, r, n) { - e.EPDFAnnot_RemoveKey(r, "QuadPoints"), Fl(e, t, r, n); +function B3(e, t, r, n) { + e.EPDFAnnot_RemoveKey(r, "QuadPoints"), _u(e, t, r, n); } -function jI(e, t, r) { +function dQ(e, t, r) { e.poke(t, "f32", r.upperLeft.x, 0), e.poke(t, "f32", r.upperLeft.y, 4), e.poke(t, "f32", r.upperRight.x, 8), e.poke(t, "f32", r.upperRight.y, 12), e.poke(t, "f32", r.lowerLeft.x, 16), e.poke(t, "f32", r.lowerLeft.y, 20), e.poke(t, "f32", r.lowerRight.x, 24), e.poke(t, "f32", r.lowerRight.y, 28); } -function us(e, t, r, n) { +function fs(e, t, r, n) { let i = Number.POSITIVE_INFINITY, a = Number.POSITIVE_INFINITY, A = Number.NEGATIVE_INFINITY, o = Number.NEGATIVE_INFINITY; for (let s of n) for (let d of [s.upperLeft, s.upperRight, s.lowerLeft, s.lowerRight]) d.x < i && (i = d.x), d.x > A && (A = d.x), d.y < a && (a = d.y), d.y > o && (o = d.y); $e(e, t, r, { left: i, top: o, right: A, bottom: a }); } -var Ln = _t.redact; -function a3(e) { +var Tn = Qt.redact; +function D3(e) { return e.overlayText !== void 0 && e.overlayText !== null || e.fontFamily !== void 0 || e.fontSize !== void 0 || e.fontColor !== void 0; } -function RI(e) { +function pQ(e) { if (e.rect === void 0 && (e.quadPoints ?? []).length === 0) throw new f(g.InvalidArg, "redact create needs a rect or at least one of quadPoints", { details: { field: "rect" } }); } -function LI(e, t, r, n, i) { +function uQ(e, t, r, n, i) { at(e, t, r, n); let a = n.quadPoints ?? []; - a.length > 0 && Fl(e, t, r, a), n.rect ? $e(e, t, r, n.rect) : us(e, t, r, a), Xe(e, r, n.color ?? Ln.color, je.Color), Je(e, r, n.opacity ?? Ln.opacity); + a.length > 0 && _u(e, t, r, a), n.rect ? $e(e, t, r, n.rect) : fs(e, t, r, a), We(e, r, n.color ?? Tn.color, je.Color), Je(e, r, n.opacity ?? Tn.opacity); let A = n.interiorColor ?? null; - A !== null && Xe(e, r, A, je.InteriorColor), n.overlayText != null && n.overlayText.length > 0 && yP(e, t, r, n.overlayText), n.repeat && EP(e, r, !0), a3(n) && dA(e, r, n.fontFamily ?? Ln.fontFamily, n.fontSize ?? Ln.fontSize, n.fontColor ?? Ln.fontColor, i), n.textAlign !== void 0 && ss(e, r, oA(n.textAlign)); + A !== null && We(e, r, A, je.InteriorColor), n.overlayText != null && n.overlayText.length > 0 && XP(e, t, r, n.overlayText), n.repeat && WP(e, r, !0), D3(n) && wA(e, r, n.fontFamily ?? Tn.fontFamily, n.fontSize ?? Tn.fontSize, n.fontColor ?? Tn.fontColor, i), n.textAlign !== void 0 && ls(e, r, uA(n.textAlign)); } -function TI(e, t, r, n, i) { - if (At(e, t, r, n), n.rect !== void 0 && $e(e, t, r, n.rect), n.quadPoints !== void 0 && (i3(e, t, r, n.quadPoints), n.rect === void 0 && us(e, t, r, n.quadPoints)), n.color !== void 0 && Xe(e, r, n.color, je.Color), n.opacity !== void 0 && Je(e, r, n.opacity), n.interiorColor !== void 0 && (n.interiorColor === null ? cA(e, r, je.InteriorColor) : Xe(e, r, n.interiorColor, je.InteriorColor)), n.overlayText !== void 0 && yP(e, t, r, n.overlayText ?? ""), n.repeat !== void 0 && EP(e, r, n.repeat), a3(n)) { - let a = Fi(e, t, r); - dA(e, r, n.fontFamily ?? (a ? jp(a.fontCode) : Ln.fontFamily), n.fontSize ?? a?.fontSize ?? Ln.fontSize, n.fontColor ?? a?.color ?? Ln.fontColor, i); +function lQ(e, t, r, n, i) { + if (At(e, t, r, n), n.rect !== void 0 && $e(e, t, r, n.rect), n.quadPoints !== void 0 && (B3(e, t, r, n.quadPoints), n.rect === void 0 && fs(e, t, r, n.quadPoints)), n.color !== void 0 && We(e, r, n.color, je.Color), n.opacity !== void 0 && Je(e, r, n.opacity), n.interiorColor !== void 0 && (n.interiorColor === null ? mA(e, r, je.InteriorColor) : We(e, r, n.interiorColor, je.InteriorColor)), n.overlayText !== void 0 && XP(e, t, r, n.overlayText ?? ""), n.repeat !== void 0 && WP(e, r, n.repeat), D3(n)) { + let a = hi(e, t, r); + wA(e, r, n.fontFamily ?? (a ? Zp(a.fontCode) : Tn.fontFamily), n.fontSize ?? a?.fontSize ?? Tn.fontSize, n.fontColor ?? a?.color ?? Tn.fontColor, i); } - n.textAlign !== void 0 && ss(e, r, oA(n.textAlign)); + n.textAlign !== void 0 && ls(e, r, uA(n.textAlign)); } -function vl(e) { +function Hu(e) { return e === "redact"; } -function KI(e, t, r, n) { - at(e, t, r, n), si(e, t, r, { box: n.box, rotation: n.rotation ?? null }), ds(e, t, r, n), n.cloudyIntensity != null && n.cloudyIntensity > 0 && Pi(e, r, n.cloudyIntensity); +function mQ(e, t, r, n) { + at(e, t, r, n), pi(e, t, r, { box: n.box, rotation: n.rotation ?? null }), ws(e, t, r, n), n.cloudyIntensity != null && n.cloudyIntensity > 0 && Bi(e, r, n.cloudyIntensity); } -function NI(e, t, r, n) { - At(e, t, r, n), cs(e, t, r, n), ps(e, t, r, n), n.cloudyIntensity !== void 0 && (n.cloudyIntensity !== null && n.cloudyIntensity > 0 ? Pi(e, r, n.cloudyIntensity) : Al(e, r)); +function wQ(e, t, r, n) { + At(e, t, r, n), ms(e, t, r, n), bs(e, t, r, n), n.cloudyIntensity !== void 0 && (n.cloudyIntensity !== null && n.cloudyIntensity > 0 ? Bi(e, r, n.cloudyIntensity) : fu(e, r)); } -function A3(e) { +function y3(e) { return e === "circle" || e === "square"; } -var ms = { contain: 0, cover: 1, fill: 2 }; -function VI(e, t) { - e.name != null && s3(e.name), e.fit != null && c3(e.fit), p3(t?.resources?.appearance, t); +var Fs = { contain: 0, cover: 1, fill: 2 }; +function bQ(e, t) { + e.name != null && G3(e.name), e.fit != null && C3(e.fit), _3(t?.resources?.appearance, t); } -function YI(e, t) { - e.name !== void 0 && e.name !== null && s3(e.name), e.fit != null && c3(e.fit); +function gQ(e, t) { + e.name !== void 0 && e.name !== null && G3(e.name), e.fit != null && C3(e.fit); let r = t?.resources?.appearance; - r !== void 0 && p3(r, t); -} -function XI(e, t, r, n, i) { - at(e, t, r, n), n.name != null && o3(e, r, n.name), n.opacity !== void 0 && Je(e, r, n.opacity); - let a = n.fit === null ? "fill" : n.fit ?? _t.stamp.fit; - l3(e, t, r, d3(i), Pl(i), a, { box: n.box, rotation: n.rotation ?? null }), n.fit !== null && Up(e, t, r, a); + r !== void 0 && _3(r, t); } -function WI(e, t, r, n, i) { - At(e, t, r, n), n.name === null ? e.EPDFAnnot_RemoveKey(r, "Name") : n.name !== void 0 && o3(e, r, n.name); - let a = Wp(e, t, r) ?? "fill", A = n.fit !== void 0 ? n.fit ?? "fill" : a; - n.fit !== void 0 && Up(e, t, r, n.fit); +function fQ(e, t, r, n, i) { + at(e, t, r, n), n.name != null && E3(e, r, n.name), n.opacity !== void 0 && Je(e, r, n.opacity); + let a = n.fit === null ? "fill" : n.fit ?? Qt.stamp.fit; + H3(e, t, r, x3(i), Iu(i), a, { box: n.box, rotation: n.rotation ?? null }), n.fit !== null && Au(e, t, r, a); +} +function FQ(e, t, r, n, i) { + At(e, t, r, n), n.name === null ? e.EPDFAnnot_RemoveKey(r, "Name") : n.name !== void 0 && E3(e, r, n.name); + let a = au(e, t, r) ?? "fill", A = n.fit !== void 0 ? n.fit ?? "fill" : a; + n.fit !== void 0 && Au(e, t, r, n.fit); let o = i?.resources?.appearance; if (o !== void 0) { n.opacity !== void 0 && Je(e, r, n.opacity); - let d = vi(e, t, r); - l3(e, t, r, o, Pl(i), A, { box: n.box ?? d.box, rotation: n.rotation === void 0 ? d.rotation : n.rotation }); + let d = ki(e, t, r); + H3(e, t, r, o, Iu(i), A, { box: n.box ?? d.box, rotation: n.rotation === void 0 ? d.rotation : n.rotation }); return; } - let s = cs(e, t, r, n); - n.opacity !== void 0 ? qI(e, r, A, n.opacity) : (s || n.fit !== void 0) && u3(e, r, A); + let s = ms(e, t, r, n); + n.opacity !== void 0 ? PQ(e, r, A, n.opacity) : (s || n.fit !== void 0) && I3(e, r, A); } -function ws(e) { +function vs(e) { return e === "stamp"; } -function o3(e, t, r) { +function E3(e, t, r) { if (!e.EPDFAnnot_SetName(t, r)) throw new f(g.Unknown, "EPDFAnnot_SetName returned false"); } -function s3(e) { +function G3(e) { if (e.length === 0) throw new f(g.InvalidArg, "stamp name must be non-empty"); } -function c3(e) { - if (ms[e] === void 0) throw new f(g.InvalidArg, `unknown stamp fit '${String(e)}'; expected contain, cover, or fill`); +function C3(e) { + if (Fs[e] === void 0) throw new f(g.InvalidArg, `unknown stamp fit '${String(e)}'; expected contain, cover, or fill`); } -function d3(e) { +function x3(e) { let t = e?.resources?.appearance; if (!t) throw new f(g.InvalidArg, "creating a stamp annotation needs its 'appearance' resource"); return t; } -function p3(e, t) { - e || d3(t); - let r = e instanceof ArrayBuffer ? gd(e) : null; +function _3(e, t) { + e || x3(t); + let r = e instanceof ArrayBuffer ? Bd(e) : null; if (!r) throw new f(g.InvalidArg, "the appearance resource must be PNG, JPEG or one-page PDF bytes"); if (r.mimeType === "application/pdf") { let n = t?.pdfPageCount?.(e); if (n === null) throw new f(g.MalformedPdf, "the stamp's appearance PDF could not be opened"); if (n !== void 0 && n !== 1) throw new f(g.InvalidArg, `the appearance PDF has ${n} pages; a stamp takes a one-page PDF`); } - Pl(t); + Iu(t); } -function Pl(e) { +function Iu(e) { if (e?.docPtr === void 0 || !e.drawings) throw new f(g.Unknown, "stamp writer requires docPtr/drawings on the write context"); return { docPtr: e.docPtr, drawings: e.drawings }; } -function l3(e, t, r, n, i, a, A) { - si(e, t, r, { box: A.box, rotation: null }), UI(e, t, r, n, i, a), A.rotation && (si(e, t, r, A), u3(e, r, a)); +function H3(e, t, r, n, i, a, A) { + pi(e, t, r, { box: A.box, rotation: null }), vQ(e, t, r, n, i, a), A.rotation && (pi(e, t, r, A), I3(e, r, a)); } -function UI(e, t, r, n, i, a) { - let A = gd(n); +function vQ(e, t, r, n, i, a) { + let A = Bd(n); if (!A) throw new f(g.Unknown, "stamp content preflight invariant broken"); - let o = rI(e, t, i.docPtr, i.drawings, n, A); - if (!e.EPDFAnnot_SetStampDrawing(r, o, ms[a])) throw new f(g.Unknown, "EPDFAnnot_SetStampDrawing returned false"); + let o = CI(e, t, i.docPtr, i.drawings, n, A); + if (!e.EPDFAnnot_SetStampDrawing(r, o, Fs[a])) throw new f(g.Unknown, "EPDFAnnot_SetStampDrawing returned false"); } -function qI(e, t, r, n) { - if (!e.EPDFAnnot_SetStampOpacity(t, ms[r], n)) throw new f(g.Unknown, "EPDFAnnot_SetStampOpacity returned false"); +function PQ(e, t, r, n) { + if (!e.EPDFAnnot_SetStampOpacity(t, Fs[r], n)) throw new f(g.Unknown, "EPDFAnnot_SetStampOpacity returned false"); } -function u3(e, t, r) { - if (!e.EPDFAnnot_UpdateAppearanceToRect(t, ms[r])) throw new f(g.Unknown, "EPDFAnnot_UpdateAppearanceToRect returned false"); +function I3(e, t, r) { + if (!e.EPDFAnnot_UpdateAppearanceToRect(t, Fs[r])) throw new f(g.Unknown, "EPDFAnnot_UpdateAppearanceToRect returned false"); } -var qs = _t.text; -function ZI(e, t, r, n) { - at(e, t, r, n), $e(e, t, r, n.rect), Xe(e, r, n.color ?? qs.color), Je(e, r, n.opacity ?? qs.opacity), b3(e, r, n.icon ?? qs.icon), n.open !== void 0 && m3(e, r, n.open), n.stateModel != null && Un(e, t, r, "StateModel", aP(n.stateModel)), n.state != null && Un(e, t, r, "State", AP(n.state)); +var ec = Qt.text; +function hQ(e, t, r, n) { + at(e, t, r, n), $e(e, t, r, n.rect), We(e, r, n.color ?? ec.color), Je(e, r, n.opacity ?? ec.opacity), O3(e, r, n.icon ?? ec.icon), n.open !== void 0 && Q3(e, r, n.open), n.stateModel != null && qn(e, t, r, "StateModel", DP(n.stateModel)), n.state != null && qn(e, t, r, "State", yP(n.state)); } -function zI(e, t, r, n) { - At(e, t, r, n), n.rect !== void 0 && $e(e, t, r, n.rect), n.color !== void 0 && Xe(e, r, n.color), n.opacity !== void 0 && Je(e, r, n.opacity), n.icon !== void 0 && b3(e, r, n.icon), n.open !== void 0 && m3(e, r, n.open), n.stateModel !== void 0 && oi(e, t, r, "StateModel", n.stateModel === null ? null : aP(n.stateModel)), n.state !== void 0 && oi(e, t, r, "State", n.state === null ? null : AP(n.state)); +function kQ(e, t, r, n) { + At(e, t, r, n), n.rect !== void 0 && $e(e, t, r, n.rect), n.color !== void 0 && We(e, r, n.color), n.opacity !== void 0 && Je(e, r, n.opacity), n.icon !== void 0 && O3(e, r, n.icon), n.open !== void 0 && Q3(e, r, n.open), n.stateModel !== void 0 && pr(e, t, r, "StateModel", n.stateModel === null ? null : DP(n.stateModel)), n.state !== void 0 && pr(e, t, r, "State", n.state === null ? null : yP(n.state)); } -function m3(e, t, r) { +function Q3(e, t, r) { if (!e.EPDFAnnot_SetBooleanValue(t, "Open", r)) throw new f(g.Unknown, "EPDFAnnot_SetBooleanValue returned false"); } -function w3(e) { +function S3(e) { return e === "text"; } -function b3(e, t, r) { - if (!e.EPDFAnnot_SetName(t, Bv[r])) throw new f(g.Unknown, "EPDFAnnot_SetName returned false"); +function O3(e, t, r) { + if (!e.EPDFAnnot_SetName(t, Uv[r])) throw new f(g.Unknown, "EPDFAnnot_SetName returned false"); } -var Wc = (e, t) => t ? Qo(e, t) : e; -function g3(e, t) { - return e.captionCenter ? { ...e, captionCenter: Wc(e.captionCenter, t.turn) } : e; +var ed = (e, t) => t ? Ro(e, t) : e; +function M3(e, t) { + return e.captionCenter ? { ...e, captionCenter: ed(e.captionCenter, t.turn) } : e; } -function JI(e, t, r, n, i, a) { +function BQ(e, t, r, n, i, a) { let A = a ? a.turn : i.turn; - if (n.captionCenter) return { ...n, captionCenter: Wc(n.captionCenter, A) }; + if (n.captionCenter) return { ...n, captionCenter: ed(n.captionCenter, A) }; if (!a || n.captionEnabled !== void 0) return n; - let o = Wv(e, t, r); - return o?.center ? { ...n, captionEnabled: o.enabled, captionCenter: Wc(br(o.center, i.turn), A) } : n; + let o = lP(e, t, r); + return o?.center ? { ...n, captionEnabled: o.enabled, captionCenter: ed(gr(o.center, i.turn), A) } : n; } -function $I(e, t, r, n) { +function DQ(e, t, r, n) { at(e, t, r, n); - let i = ls(e, t, r, [n.vertices], n.rotation); - pA(e, t, r, g3(n, i)), ds(e, t, r, n), ol(e, t, r, i.drawn[0]), n.cloudyIntensity != null && n.cloudyIntensity > 0 && Pi(e, r, n.cloudyIntensity); + let i = gs(e, t, r, [n.vertices], n.rotation); + bA(e, t, r, M3(n, i)), ws(e, t, r, n), Fu(e, t, r, i.drawn[0]), n.cloudyIntensity != null && n.cloudyIntensity > 0 && Bi(e, r, n.cloudyIntensity); } -function eQ(e, t, r, n) { - At(e, t, r, n), f3(e, t, r, n), ps(e, t, r, n), n.cloudyIntensity !== void 0 && (n.cloudyIntensity !== null && n.cloudyIntensity > 0 ? Pi(e, r, n.cloudyIntensity) : Al(e, r)); +function yQ(e, t, r, n) { + At(e, t, r, n), j3(e, t, r, n), bs(e, t, r, n), n.cloudyIntensity !== void 0 && (n.cloudyIntensity !== null && n.cloudyIntensity > 0 ? Bi(e, r, n.cloudyIntensity) : fu(e, r)); } -function tQ(e, t, r, n) { +function EQ(e, t, r, n) { at(e, t, r, n); - let i = ls(e, t, r, [n.vertices], n.rotation); - pA(e, t, r, g3(n, i)), ds(e, t, r, n), ol(e, t, r, i.drawn[0]), hi(e, r, n.lineEndings ?? _t.polyline.lineEndings); + let i = gs(e, t, r, [n.vertices], n.rotation); + bA(e, t, r, M3(n, i)), ws(e, t, r, n), Fu(e, t, r, i.drawn[0]), Di(e, r, n.lineEndings ?? Qt.polyline.lineEndings); } -function nQ(e, t, r, n) { - At(e, t, r, n), f3(e, t, r, n), ps(e, t, r, n), n.lineEndings !== void 0 && hi(e, r, n.lineEndings); +function GQ(e, t, r, n) { + At(e, t, r, n), j3(e, t, r, n), bs(e, t, r, n), n.lineEndings !== void 0 && Di(e, r, n.lineEndings); } -function f3(e, t, r, n) { - let i = gl(e, t, r), a = fl(e, t, r, i, n.vertices && [n.vertices], n.rotation); - pA(e, t, r, JI(e, t, r, n, i, a)), a && ol(e, t, r, a.drawn[0]); +function j3(e, t, r, n) { + let i = Cu(e, t, r), a = xu(e, t, r, i, n.vertices && [n.vertices], n.rotation); + bA(e, t, r, BQ(e, t, r, n, i, a)), a && Fu(e, t, r, a.drawn[0]); } -function F3(e) { +function R3(e) { return e === "polygon" || e === "polyline"; } -var rQ = 0, iQ = 1; -function hl(e, t, r) { - let n = (r.next ?? []).map((a) => hl(e, t, a)), i = aQ(e, t, r); - if (n.length > 0 && !ha(e, n, (a, A) => e.fn.EPDFAction_SetNext(t, i, a, A))) throw new f(g.Unknown, `the ${r.type} action's next ones could not be set`); +var CQ = 0, xQ = 1; +function Qu(e, t, r) { + let n = (r.next ?? []).map((a) => Qu(e, t, a)), i = _Q(e, t, r); + if (n.length > 0 && !Da(e, n, (a, A) => e.fn.EPDFAction_SetNext(t, i, a, A))) throw new f(g.Unknown, `the ${r.type} action's next ones could not be set`); return i; } -function aQ(e, t, r) { +function _Q(e, t, r) { let { fn: n, mem: i } = e, a = (() => { switch (r.type) { case "javascript": - return Hn(i, r.script, (A) => n.EPDFAction_CreateJavaScript(t, A)); + return Qn(i, r.script, (A) => n.EPDFAction_CreateJavaScript(t, A)); case "goto": - return n.EPDFAction_CreateGoTo(t, Uv(n, i, t, r.destination)); + return n.EPDFAction_CreateGoTo(t, mP(n, i, t, r.destination)); case "uri": return n.EPDFAction_CreateURI(t, r.uri); case "named": return n.EPDFAction_CreateNamed(t, r.name); case "hide": - return Zs(e, r.targets, (A, o) => n.EPDFAction_CreateHide(t, A, o, r.hide)); + return tc(e, r.targets, (A, o) => n.EPDFAction_CreateHide(t, A, o, r.hide)); case "reset-form": - return Zs(e, r.fields ?? [], (A, o) => n.EPDFAction_CreateResetForm(t, A, r.fields ? o : -1, r.exclude)); + return tc(e, r.fields ?? [], (A, o) => n.EPDFAction_CreateResetForm(t, A, r.fields ? o : -1, r.exclude)); case "submit-form": - return Hn(i, r.url, (A) => Zs(e, r.fields ?? [], (o, s) => n.EPDFAction_CreateSubmitForm(t, A, o, r.fields ? s : -1, Z9(r)))); + return Qn(i, r.url, (A) => tc(e, r.fields ?? [], (o, s) => n.EPDFAction_CreateSubmitForm(t, A, o, r.fields ? s : -1, G9(r)))); } })(); if (!a) throw new f(g.InvalidArg, `the ${r.type} action could not be written`); return a; } -function Zs(e, t, r) { - let { mem: n } = e, i = 8 + MF(e), a = t.map((A) => A.kind === "name" ? n.writeU16String(A.name) : null); +function tc(e, t, r) { + let { mem: n } = e, i = 8 + ov(e), a = t.map((A) => A.kind === "name" ? n.writeU16String(A.name) : null); try { - return N(n, Math.max(1, t.length * i), (A) => (t.forEach((o, s) => { - let d = s * i, l = a[s]; - n.poke(A, "i32", l ? rQ : iQ, d), n.poke(A, "i32", o.kind === "objectNumber" ? o.objectNumber : 0, d + 4), jF(e, A, d + 8, l ?? Y); + return V(n, Math.max(1, t.length * i), (A) => (t.forEach((o, s) => { + let d = s * i, u = a[s]; + n.poke(A, "i32", u ? CQ : xQ, d), n.poke(A, "i32", o.kind === "objectNumber" ? o.objectNumber : 0, d + 4), sv(e, A, d + 8, u ?? X); }), r(A, t.length))); } finally { for (let A of a) A && n.free(A); } } -function v3(e, t, r, n) { - _d.forEach((i, a) => { +function L3(e, t, r, n) { + Td.forEach((i, a) => { let A = n === null ? null : n[i]; if (A === void 0) return; - let o = A === null ? Y : hl(e, t, A); + let o = A === null ? X : Qu(e, t, A); if (!e.fn.EPDFAnnot_SetEventAction(r, a, o)) throw new f(g.Unknown, `the widget's ${i} action could not be written`); }); } -var Fw = 0, vw = 1, Pw = 0; -function P3(e) { +var Sw = 0, Ow = 1, Mw = 0; +function T3(e) { return e === "widget"; } -function AQ(e, t) { +function HQ(e, t) { if (e.subtype !== "widget" || !e.hasMark) return; - let r = t, n = uf.filter((i) => r[i] !== void 0 && !Ye(r[i], e[i])); + let r = t, n = If.filter((i) => r[i] !== void 0 && !Xe(r[i], e[i])); if (n.length > 0) throw new f(g.InvalidArg, `the widget has a mark in it, which its style doesn't draw: ${n.join(", ")} can't change`); } -function kl(e, t, r, n, i) { - if (n.color === null) e.EPDFAnnot_ClearMKColor(r, Fw); +function Su(e, t, r, n, i) { + if (n.color === null) e.EPDFAnnot_ClearMKColor(r, Sw); else if (n.color) { - let { r: A, g: o, b: s } = pr(n.color); - e.EPDFAnnot_SetMKColor(r, Fw, A, o, s); + let { r: A, g: o, b: s } = ur(n.color); + e.EPDFAnnot_SetMKColor(r, Sw, A, o, s); } - if (n.interiorColor === null) e.EPDFAnnot_ClearMKColor(r, vw); + if (n.interiorColor === null) e.EPDFAnnot_ClearMKColor(r, Ow); else if (n.interiorColor) { - let { r: A, g: o, b: s } = pr(n.interiorColor); - e.EPDFAnnot_SetMKColor(r, vw, A, o, s); + let { r: A, g: o, b: s } = ur(n.interiorColor); + e.EPDFAnnot_SetMKColor(r, Ow, A, o, s); } if (n.strokeWidth !== void 0 || n.borderStyle !== void 0) { - let A = Zo(e, t, r); - e.EPDFAnnot_SetBorderStyle(r, wH(n.borderStyle ?? Lv(A.styleCode)), n.strokeWidth ?? A.width); + let A = ts(e, t, r); + e.EPDFAnnot_SetBorderStyle(r, TH(n.borderStyle ?? dP(A.styleCode)), n.strokeWidth ?? A.width); } - n.dashArray === null ? kP(e, r) : n.dashArray !== void 0 && al(e, t, r, n.dashArray), (n.fontFamily !== void 0 || n.fontSize !== void 0 || n.fontColor !== void 0) && oQ(e, t, r, n, i), n.textAlign !== void 0 && e.EPDFAnnot_SetTextAlignment(r, oA(n.textAlign)); - let a = n.checkStyle !== void 0 ? n.checkStyle && O4(n.checkStyle) : n.caption; - a === null ? e.EPDFAnnot_SetMKText(r, Pw, Y) : a !== void 0 && Hn(t, a, (A) => e.EPDFAnnot_SetMKText(r, Pw, A)); + n.dashArray === null ? NP(e, r) : n.dashArray !== void 0 && gu(e, t, r, n.dashArray), (n.fontFamily !== void 0 || n.fontSize !== void 0 || n.fontColor !== void 0) && IQ(e, t, r, n, i), n.textAlign !== void 0 && e.EPDFAnnot_SetTextAlignment(r, uA(n.textAlign)); + let a = n.checkStyle !== void 0 ? n.checkStyle && sI(n.checkStyle) : n.caption; + a === null ? e.EPDFAnnot_SetMKText(r, Mw, X) : a !== void 0 && Qn(t, a, (A) => e.EPDFAnnot_SetMKText(r, Mw, A)); } -function oQ(e, t, r, n, i) { - let a = Fi(e, t, r); +function IQ(e, t, r, n, i) { + let a = hi(e, t, r); if ([n.fontFamily, n.fontSize, n.fontColor].includes(null) && a !== null) throw new f(g.InvalidArg, "a widget's font can't be removed: send a font, or leave the font fields out", { details: { field: "fontFamily" } }); let A = n.fontFamily ?? void 0, o = n.fontSize ?? void 0, s = n.fontColor ?? void 0; if (A === void 0 && o === void 0 && s === void 0) return; - let d = o ?? a?.fontSize ?? 12, l = s ?? a?.color ?? "#000000"; - if (a !== null && (A === void 0 || sQ(e, t, r, A, i))) { - sl(e, r, -1, d, l); + let d = o ?? a?.fontSize ?? 12, u = s ?? a?.color ?? "#000000"; + if (a !== null && (A === void 0 || QQ(e, t, r, A, i))) { + vu(e, r, -1, d, u); return; } - dA(e, r, A ?? "helvetica", d, l, i); + wA(e, r, A ?? "helvetica", d, u, i); } -function sQ(e, t, r, n, i) { - let a = zo(e, t, r); +function QQ(e, t, r, n, i) { + let a = ns(e, t, r); if (!a) return !1; - if (es(e, t, r, a) === n) return !0; - let A = _o(n, i?.describeFont); - return Vn(A.family) === Vn(a.family) && (A.weight === void 0 || A.weight === a.weight) && (A.italic === void 0 || A.italic === a.italic); + if (as(e, t, r, a) === n) return !0; + let A = Oo(n, i?.describeFont); + return Yn(A.family) === Yn(a.family) && (A.weight === void 0 || A.weight === a.weight) && (A.italic === void 0 || A.italic === a.italic); } -function h3(e, t, r) { +function K3(e, t, r) { if (!e.EPDFAnnot_SetMKRotation(t, (360 - (r ?? 0)) % 360)) throw new f(g.Unknown, "the widget's turn (/MK /R) could not be written"); } -function k3(e, t, r, n, i) { - let a = Se(n.box), A = n.rotation ? ci(a, n.rotation) : a; - (!i || n.rotation !== i.rotation) && h3(e, r, n.rotation), (!i || !Ye(A, i.rect)) && $e(e, t, r, A); +function N3(e, t, r, n, i) { + let a = Se(n.box), A = n.rotation ? li(a, n.rotation) : a; + (!i || n.rotation !== i.rotation) && K3(e, r, n.rotation), (!i || !Xe(A, i.rect)) && $e(e, t, r, A); } -function cQ(e, t, r, n, i) { +function SQ(e, t, r, n, i) { let { actions: a, ...A } = n; - at(e, t, r, A), k3(e, t, r, { box: n.box, rotation: n.rotation ?? null }, null), kl(e, t, r, n, i); + at(e, t, r, A), N3(e, t, r, { box: n.box, rotation: n.rotation ?? null }, null), Su(e, t, r, n, i); } -function dQ(e, t, r, n) { +function OQ(e, t, r, n) { if (n.box === void 0 && n.rotation === void 0) return; - let i = Se(AA(e, t, r)), a = cP(e, r); - k3(e, t, r, { box: n.box ?? Ia(i, a ?? 0), rotation: n.rotation === void 0 ? a : n.rotation || null }, { rect: i, rotation: a }); + let i = Se(pA(e, t, r)), a = CP(e, r); + N3(e, t, r, { box: n.box ?? Sa(i, a ?? 0), rotation: n.rotation === void 0 ? a : n.rotation || null }, { rect: i, rotation: a }); } -function pQ(e, t, r, n, i) { +function MQ(e, t, r, n, i) { let { actions: a, ...A } = n; - if (At(e, t, r, A), dQ(e, t, r, n), kl(e, t, r, n, i), n.actions !== void 0) { + if (At(e, t, r, A), OQ(e, t, r, n), Su(e, t, r, n, i), n.actions !== void 0) { if (!i?.runtime || !i.docPtr) throw new f(g.InvalidArg, "writing a widget's actions requires the runtime and the document on the write context"); - v3(i.runtime, i.docPtr, r, n.actions); + L3(i.runtime, i.docPtr, r, n.actions); } } -function lQ(e, t) { - ws(e.subtype) && VI(e, t), wl(e.subtype) && fI(e, t), vl(e.subtype) && RI(e); +function jQ(e, t) { + vs(e.subtype) && bQ(e, t), Eu(e.subtype) && VI(e, t), Hu(e.subtype) && pQ(e); } -function uQ(e, t) { - ws(Bl(e)) && YI(e, t); +function RQ(e, t) { + vs(Ou(e)) && gQ(e, t); } -function mQ(e, t, r, n, i) { - gQ(e, t, r, n, i), B3(e, r, n, i); +function LQ(e, t, r, n, i) { + NQ(e, t, r, n, i), V3(e, r, n, i); } -function wQ(e, t, r, n, i) { - fQ(e, t, r, n, i), B3(e, r, { ...n, subtype: Bl(n) }, i); +function TQ(e, t, r, n, i) { + VQ(e, t, r, n, i), V3(e, r, { ...n, subtype: Ou(n) }, i); } -function B3(e, t, r, n) { +function V3(e, t, r, n) { if (r.subtype === "free-text" || r.richText === void 0) return; if (r.richText === null) { e.EPDFAnnot_RemoveKey(t, "RC"); return; } - let i = ZF(bQ(r.richText), { describe: n?.describeFont }); + let i = vv(KQ(r.richText), { describe: n?.describeFont }); if (!e.EPDFAnnot_SetRichTextJSON(t, i)) throw new f(g.InvalidArg, `${r.subtype}: the comment's rich text could not be written`); } -function bQ(e) { - if (e.body?.family !== sd.family) return e; +function KQ(e) { + if (e.body?.family !== bd.family) return e; let { family: t, ...r } = e.body; return { ...e, body: r }; } -function gQ(e, t, r, n, i) { - if (r3(n.subtype)) { - OI(e, t, r, n); +function NQ(e, t, r, n, i) { + if (k3(n.subtype)) { + sQ(e, t, r, n); return; } - if (A3(n.subtype)) { - KI(e, t, r, n); + if (y3(n.subtype)) { + mQ(e, t, r, n); return; } - if (F3(n.subtype)) { - n.subtype === "polygon" ? $I(e, t, r, n) : tQ(e, t, r, n); + if (R3(n.subtype)) { + n.subtype === "polygon" ? DQ(e, t, r, n) : EQ(e, t, r, n); return; } - if (JP(n.subtype)) { - CI(e, t, r, n); + if (f3(n.subtype)) { + tQ(e, t, r, n); return; } - if ($P(n.subtype)) { - _I(e, t, r, n, i); + if (F3(n.subtype)) { + rQ(e, t, r, n, i); return; } - if (zP(n.subtype)) { - yI(e, t, r, n); + if (g3(n.subtype)) { + JI(e, t, r, n); return; } - if (UP(n.subtype)) { - BI(e, t, r, n, i); + if (m3(n.subtype)) { + ZI(e, t, r, n, i); return; } - if (MP(n.subtype)) { - bI(e, t, r, n); + if (r3(n.subtype)) { + KI(e, t, r, n); return; } - if (w3(n.subtype)) { - ZI(e, t, r, n); + if (S3(n.subtype)) { + hQ(e, t, r, n); return; } - if (ws(n.subtype)) { - XI(e, t, r, n, i); + if (vs(n.subtype)) { + fQ(e, t, r, n, i); return; } - if (wl(n.subtype)) { - FI(e, t, r, n, i); + if (Eu(n.subtype)) { + YI(e, t, r, n, i); return; } - if (P3(n.subtype)) { - cQ(e, t, r, n, i); + if (T3(n.subtype)) { + SQ(e, t, r, n, i); return; } - if (n3(n.subtype)) { - QI(e, t, r, n); + if (h3(n.subtype)) { + AQ(e, t, r, n); return; } - if (vl(n.subtype)) { - LI(e, t, r, n, i); + if (Hu(n.subtype)) { + uQ(e, t, r, n, i); return; } throw new f(g.NotImplemented, `no writer registered for draft.subtype='${n.subtype}'`); } -function fQ(e, t, r, n, i) { - let a = Bl(n); - if (r3(a)) { - MI(e, t, r, n); +function VQ(e, t, r, n, i) { + let a = Ou(n); + if (k3(a)) { + cQ(e, t, r, n); return; } - if (A3(a)) { - NI(e, t, r, n); + if (y3(a)) { + wQ(e, t, r, n); return; } - if (F3(a)) { - a === "polygon" ? eQ(e, t, r, n) : nQ(e, t, r, n); + if (R3(a)) { + a === "polygon" ? yQ(e, t, r, n) : GQ(e, t, r, n); return; } - if (JP(a)) { - xI(e, t, r, n); + if (f3(a)) { + nQ(e, t, r, n); return; } - if ($P(a)) { - HI(e, t, r, n, i); + if (F3(a)) { + iQ(e, t, r, n, i); return; } - if (zP(a)) { - EI(e, t, r, n); + if (g3(a)) { + $I(e, t, r, n); return; } - if (UP(a)) { - DI(e, t, r, n, i); + if (m3(a)) { + zI(e, t, r, n, i); return; } - if (MP(a)) { - gI(e, t, r, n); + if (r3(a)) { + NI(e, t, r, n); return; } - if (w3(a)) { - zI(e, t, r, n); + if (S3(a)) { + kQ(e, t, r, n); return; } - if (ws(a)) { - WI(e, t, r, n, i); + if (vs(a)) { + FQ(e, t, r, n, i); return; } - if (wl(a)) { - vI(e, t, r, n, i); + if (Eu(a)) { + XI(e, t, r, n, i); return; } - if (P3(a)) { - pQ(e, t, r, n, i); + if (T3(a)) { + MQ(e, t, r, n, i); return; } - if (n3(a)) { - SI(e, t, r, n); + if (h3(a)) { + oQ(e, t, r, n); return; } - if (vl(a)) { - TI(e, t, r, n, i); + if (Hu(a)) { + lQ(e, t, r, n, i); return; } throw new f(g.NotImplemented, `no writer registered for subtype='${a}'`); } -function Bl(e) { +function Ou(e) { if (e.subtype === void 0) throw new f(g.InvalidArg, "a patch reached the writer without its subtype"); return e.subtype; } -function FQ(e, t, r) { - let n = V7(e, { linked: ["reply", "parent"], describeFont: r.describeFont }); - return hg(n.subtype, t, "create"), lQ(n, r), n; +function YQ(e, t, r) { + let n = k2(e, { linked: ["reply", "parent"], describeFont: r.describeFont }); + return jg(n.subtype, t, "create"), jQ(n, r), n; } -function D3(e, t, r, n) { +function Mu(e, t, r, n) { let { fn: i, mem: a } = e, A = a.writeU16String(n); try { return i.EPDFPage_GetAnnotIndexByNameRaw(t, r, A); @@ -11722,21 +11843,24 @@ function D3(e, t, r, n) { a.free(A); } } -function ho(e, t, r, n, i, a) { - let A = gP(e, t, a.docPtr, r, n, i), o = e.FPDFAnnot_GetSubtype(r), { reader: s } = dP(o); +function Y3(e, t) { + return new f(g.InvalidArg, `nm '${e}' is already used on page ${t}`, { details: { field: "nm" } }); +} +function Eo(e, t, r, n, i, a) { + let A = MP(e, t, a.docPtr, r, n, i), o = e.FPDFAnnot_GetSubtype(r), { reader: s } = xP(o); return s(e, t, r, A, o, a); } -function y3(e, t, r) { - return r === void 0 ? e.EPDFAnnot_GenerateAppearance(t) : e.EPDFAnnot_GenerateAppearanceWithBlend(t, L4(r)); +function X3(e, t, r) { + return r === void 0 ? e.EPDFAnnot_GenerateAppearance(t) : e.EPDFAnnot_GenerateAppearanceWithBlend(t, uI(r)); } -function vQ(e, t, r, n, i) { - n.author === null ? e.EPDFAnnot_RemoveKey(r, "T") : xP(e, t, r, n.author), n.createdAt === null ? e.EPDFAnnot_RemoveKey(r, "CreationDate") : _P(e, t, r, n.createdAt), n.modifiedAt === null ? e.EPDFAnnot_RemoveKey(r, "M") : dl(e, t, r, n.modifiedAt), WH(e, t, r, n, i); +function XQ(e, t, r, n, i) { + n.author === null ? e.EPDFAnnot_RemoveKey(r, "T") : ZP(e, t, r, n.author), n.createdAt === null ? e.EPDFAnnot_RemoveKey(r, "CreationDate") : zP(e, t, r, n.createdAt), n.modifiedAt === null ? e.EPDFAnnot_RemoveKey(r, "M") : hu(e, t, r, n.modifiedAt), F4(e, t, r, n, i); } -function PQ(e, t, r, n) { +function WQ(e, t, r, n) { let i = e.EPDFAnnot_GetFileAttachmentForWrite(r); if (i) for (let [a, A] of [["CreationDate", n.createdAt], ["ModDate", n.modifiedAt]]) { if (!A) continue; - let o = t.writeU16String(dt(A)); + let o = t.writeU16String(pt(A)); try { e.FPDFAttachment_SetStringValue(i, a, o); } finally { @@ -11744,20 +11868,20 @@ function PQ(e, t, r, n) { } } } -function hQ(e, t, r, n, i) { - n?.displayName && xP(e, t, r, n.displayName), _P(e, t, r, i), dl(e, t, r, i), YH(e, t, r, n); +function UQ(e, t, r, n, i) { + n?.displayName && ZP(e, t, r, n.displayName), zP(e, t, r, i), hu(e, t, r, i), g4(e, t, r, n); } -function kQ(e, t, r, n, i) { +function qQ(e, t, r, n, i) { let { fn: a } = e; if (i.inReplyTo === null) { - a.EPDFAnnot_SetLinkedAnnot(r, "IRT", Y), a.EPDFAnnot_SetReplyType(r, 0); + a.EPDFAnnot_SetLinkedAnnot(r, "IRT", X), a.EPDFAnnot_SetReplyType(r, 0); return; } if (i.inReplyTo) { if (i.inReplyTo.page.objectNumber !== n) throw new f(g.InvalidArg, `/IRT parent must be on the same page as the reply (parent page ${i.inReplyTo.page.objectNumber}, reply page ${n})`); - let A = Uo(e, t, i.inReplyTo); + let A = dA(e, t, i.inReplyTo); try { - E3(e, r, A, i.replyType ?? "reply"); + W3(e, r, A, i.replyType ?? "reply"); } finally { a.FPDFPage_CloseAnnot(A); } @@ -11766,78 +11890,78 @@ function kQ(e, t, r, n, i) { if (i.replyType !== void 0) { let A = a.FPDFAnnot_GetLinkedAnnot(r, "IRT"); if (A) try { - a.EPDFAnnot_SetReplyType(r, zv(i.replyType)); + a.EPDFAnnot_SetReplyType(r, gP(i.replyType)); } finally { a.FPDFPage_CloseAnnot(A); } } } -function BQ(e, t, r, n, i, a) { +function ZQ(e, t, r, n, i, a) { let { fn: A } = e; if (a) { - let d = Uo(e, t, a); + let d = dA(e, t, a); try { - let l = A.FPDFAnnot_GetLinkedAnnot(d, "Popup"); - if (l) { - let m = A.EPDFAnnot_GetObjectNumber(l) === A.EPDFAnnot_GetObjectNumber(r); - A.FPDFPage_CloseAnnot(l), m && A.EPDFAnnot_SetLinkedAnnot(d, "Popup", Y); + let u = A.FPDFAnnot_GetLinkedAnnot(d, "Popup"); + if (u) { + let m = A.EPDFAnnot_GetObjectNumber(u) === A.EPDFAnnot_GetObjectNumber(r); + A.FPDFPage_CloseAnnot(u), m && A.EPDFAnnot_SetLinkedAnnot(d, "Popup", X); } } finally { A.FPDFPage_CloseAnnot(d); } } - if (i === null) return A.EPDFAnnot_SetLinkedAnnot(r, "Parent", Y), null; + if (i === null) return A.EPDFAnnot_SetLinkedAnnot(r, "Parent", X), null; if (i.page.objectNumber !== n) throw new f(g.InvalidArg, `a popup's parent must be on the same page (parent page ${i.page.objectNumber}, popup page ${n})`); - let { annotPtr: o, name: s } = NF(e, t, i); + let { annotPtr: o, name: s } = lv(e, t, i); try { - return G3(e, r, o), s; + return U3(e, r, o), s; } finally { A.FPDFPage_CloseAnnot(o); } } -function E3(e, t, r, n) { +function W3(e, t, r, n) { let { fn: i } = e; if (!i.EPDFAnnot_SetLinkedAnnot(t, "IRT", r)) throw new f(g.Unknown, "failed to set /IRT linked annotation"); - i.EPDFAnnot_SetReplyType(t, zv(n)); + i.EPDFAnnot_SetReplyType(t, gP(n)); } -function G3(e, t, r) { +function U3(e, t, r) { let { fn: n } = e; - if (DQ(e, t, r), !n.EPDFAnnot_SetLinkedAnnot(t, "Parent", r) || !n.EPDFAnnot_SetLinkedAnnot(r, "Popup", t)) throw new f(g.Unknown, "failed to link a popup to its parent"); - yQ(e, t, r); + if (zQ(e, t, r), !n.EPDFAnnot_SetLinkedAnnot(t, "Parent", r) || !n.EPDFAnnot_SetLinkedAnnot(r, "Popup", t)) throw new f(g.Unknown, "failed to link a popup to its parent"); + JQ(e, t, r); } -function DQ(e, t, r) { +function zQ(e, t, r) { let { fn: n } = e, i = n.FPDFAnnot_GetLinkedAnnot(r, "Popup"); if (!i) return; let a = n.EPDFAnnot_GetObjectNumber(i); if (n.FPDFPage_CloseAnnot(i), a !== n.EPDFAnnot_GetObjectNumber(t)) throw new f(g.InvalidArg, `the annotation already has a popup (object ${a}); delete it first`, { details: { field: "parent", popupObjectNumber: a } }); } -function yQ(e, t, r) { +function JQ(e, t, r) { let { fn: n, mem: i } = e; if (n.FPDFAnnot_GetSubtype(r) !== T.TEXT) return; - let a = Da(n, i, t, "Open"); + let a = Ga(n, i, t, "Open"); if (a !== null) { - Uc(e, r, a); + td(e, r, a); return; } - let A = Da(n, i, r, "Open"); - A !== null && Uc(e, t, A); + let A = Ga(n, i, r, "Open"); + A !== null && td(e, t, A); } -function EQ(e, t, r, n, i) { - let { fn: a } = e, { annotPtr: A, name: o } = NF(e, t, r); +function $Q(e, t, r, n, i) { + let { fn: a } = e, { annotPtr: A, name: o } = lv(e, t, r); try { - return i && a.FPDFAnnot_GetSubtype(A) !== T.TEXT ? null : (Uc(e, A, n), o); + return i && a.FPDFAnnot_GetSubtype(A) !== T.TEXT ? null : (td(e, A, n), o); } finally { a.FPDFPage_CloseAnnot(A); } } -function Uc(e, t, r) { +function td(e, t, r) { if (!e.fn.EPDFAnnot_SetBooleanValue(t, "Open", r)) throw new f(g.Unknown, "EPDFAnnot_SetBooleanValue returned false"); } -function C3(e, t) { - let { mem: r } = e, n = t(Y, 0); - return n <= 0 ? [] : N(r, n * 8, (i) => (t(i, n), Array.from({ length: n }, (a, A) => ({ start: Number(r.peek(i, "i32", A * 8)) >>> 0, count: Number(r.peek(i, "i32", A * 8 + 4)) >>> 0 })))); +function q3(e, t) { + let { mem: r } = e, n = t(X, 0); + return n <= 0 ? [] : V(r, n * 8, (i) => (t(i, n), Array.from({ length: n }, (a, A) => ({ start: Number(r.peek(i, "i32", A * 8)) >>> 0, count: Number(r.peek(i, "i32", A * 8 + 4)) >>> 0 })))); } -var GQ = { 0: null, 1: "truetype", 2: "opentype", 3: "cff", 4: "type1", 5: "type3" }, CQ = { 0: "none", 1: "whole", 2: "subset" }, xQ = { 0: "installable", 1: "editable", 2: "preview-and-print", 3: "restricted", 4: "bitmap-only" }, _Q = { 0: "standard", 1: "engine", 2: "document-program", 3: "document-font" }, Dl = (e) => Array.from(e, (t) => t.toString(16).padStart(2, "0")).join(""), zs = class { +var eS = { 0: null, 1: "truetype", 2: "opentype", 3: "cff", 4: "type1", 5: "type3" }, tS = { 0: "none", 1: "whole", 2: "subset" }, nS = { 0: "installable", 1: "editable", 2: "preview-and-print", 3: "restricted", 4: "bitmap-only" }, rS = { 0: "standard", 1: "engine", 2: "document-program", 3: "document-font" }, ju = (e) => Array.from(e, (t) => t.toString(16).padStart(2, "0")).join(""), nc = class { constructor(e, t, r) { this.runtime = e, this.session = t, this.fonts = r; } @@ -11845,12 +11969,12 @@ var GQ = { 0: null, 1: "truetype", 2: "opentype", 3: "cff", 4: "type1", 5: "type return { faces: this.faces(), engineFonts: this.fonts.engineFontFacts(), fallbacks: this.fonts.fallbackKeys() }; } faces() { - return bs(this.runtime, this.session); + return Ps(this.runtime, this.session); } resolve(e, t, r) { - let { fn: n, mem: i } = this.runtime, a = t.map((d) => this.faceOfRun(d, r)), A = t.map((d) => i.writeU16String(d.text)), o = a.map((d) => i.writeU16String(d.family)), s = e ? this.openAnnotation(e) : Y; + let { fn: n, mem: i } = this.runtime, a = t.map((d) => this.faceOfRun(d, r)), A = t.map((d) => i.writeU16String(d.text)), o = a.map((d) => i.writeU16String(d.family)), s = e ? this.openAnnotation(e) : X; try { - let d = ha(this.runtime, A, (l) => ha(this.runtime, o, (m) => Wt(i, a.map((F) => F.weight), (F) => Wt(i, a.map((k) => k.italic ? 1 : 0), (k) => Wt(i, a.map((P) => P.program), (P) => n.EPDFDoc_ResolveFonts(this.session.requireDocPtr(), s, t.length, l, m, F, k, P)))))); + let d = Da(this.runtime, A, (u) => Da(this.runtime, o, (m) => Ut(i, a.map((F) => F.weight), (F) => Ut(i, a.map((h) => h.italic ? 1 : 0), (h) => Ut(i, a.map((P) => P.program), (P) => n.EPDFDoc_ResolveFonts(this.session.requireDocPtr(), s, t.length, u, m, F, h, P)))))); if (!d) throw new f(g.Unknown, "EPDFDoc_ResolveFonts failed"); try { return this.readResolution(d, t.length); @@ -11865,15 +11989,15 @@ var GQ = { 0: null, 1: "truetype", 2: "opentype", 3: "cff", 4: "type1", 5: "type readResolution(e, t) { let { fn: r, mem: n } = this.runtime, i = []; for (let o = 0; o < t; o++) { - let s = r.EPDFFontResolution_GetRegisteredFont(e, o), d = r.EPDFFontResolution_GetFallbacks(e, o, Y, 0), l = N(n, Math.max(1, d) * 4, (m) => (r.EPDFFontResolution_GetFallbacks(e, o, m, d), Array.from({ length: d }, (F, k) => Number(n.peek(m, "i32", k * 4)) >>> 0))); - i.push({ source: _Q[r.EPDFFontResolution_GetSource(e, o)] ?? "standard", engineFont: s ? this.fonts.keyForId(s) ?? null : null, objectNumber: r.EPDFFontResolution_GetProgramObjNum(e, o), displaySha256: N(n, 32, (m) => r.EPDFFontResolution_GetProgramDisplayHash(e, o, m) ? Dl(n.readBytes(m, 32)) : null), baseFontName: Ke(n, (m, F) => r.EPDFFontResolution_GetBaseFontName(e, o, m, F)) || null, familyName: ue(n, (m, F) => r.EPDFFontResolution_GetFamily(e, o, m, F)) ?? "", weight: r.EPDFFontResolution_GetWeight(e, o), italic: r.EPDFFontResolution_IsItalic(e, o), degraded: r.EPDFFontResolution_IsDegraded(e, o), fallbacks: l.flatMap((m) => { + let s = r.EPDFFontResolution_GetRegisteredFont(e, o), d = r.EPDFFontResolution_GetFallbacks(e, o, X, 0), u = V(n, Math.max(1, d) * 4, (m) => (r.EPDFFontResolution_GetFallbacks(e, o, m, d), Array.from({ length: d }, (F, h) => Number(n.peek(m, "i32", h * 4)) >>> 0))); + i.push({ source: rS[r.EPDFFontResolution_GetSource(e, o)] ?? "standard", engineFont: s ? this.fonts.keyForId(s) ?? null : null, objectNumber: r.EPDFFontResolution_GetProgramObjNum(e, o), displaySha256: V(n, 32, (m) => r.EPDFFontResolution_GetProgramDisplayHash(e, o, m) ? ju(n.readBytes(m, 32)) : null), baseFontName: Ke(n, (m, F) => r.EPDFFontResolution_GetBaseFontName(e, o, m, F)) || null, familyName: le(n, (m, F) => r.EPDFFontResolution_GetFamily(e, o, m, F)) ?? "", weight: r.EPDFFontResolution_GetWeight(e, o), italic: r.EPDFFontResolution_IsItalic(e, o), degraded: r.EPDFFontResolution_IsDegraded(e, o), fallbacks: u.flatMap((m) => { let F = this.fonts.keyForId(m); return F ? [F] : []; }) }); } let a = [], A = r.EPDFFontResolution_CountMissingCharacters(e); for (let o = 0; o < A; o++) { - let s = ue(n, (d, l) => r.EPDFFontResolution_GetMissingCharacter(e, o, d, l)); + let s = le(n, (d, u) => r.EPDFFontResolution_GetMissingCharacter(e, o, d, u)); s && a.push(s); } return { runs: i, missingCharacters: a }; @@ -11881,8 +12005,8 @@ var GQ = { 0: null, 1: "truetype", 2: "opentype", 3: "cff", 4: "type1", 5: "type faceOfRun(e, t) { if (!("fontFamily" in e)) return { family: e.family, weight: e.weight, italic: e.italic, program: 0 }; let r = e.fontFamily; - if (xo(r)) { - let A = Ur[r]; + if (So(r)) { + let A = Jr[r]; return { family: A.family, weight: A.weight, italic: A.italic, program: 0 }; } let n = this.fonts.describeOrUndefined(r); @@ -11890,16 +12014,16 @@ var GQ = { 0: null, 1: "truetype", 2: "opentype", 3: "cff", 4: "type1", 5: "type let { familyName: A, weight: o, italic: s } = n; return { family: A, weight: o, italic: s, program: 0 }; } - let i = Ko(t.faces).find((A) => A.name === r); + let i = qo(t.faces).find((A) => A.name === r); if (i) { - let { familyName: A, weight: o, italic: s } = i.face, d = Pf(t, r); + let { familyName: A, weight: o, italic: s } = i.face, d = Rf(t, r); return { family: A, weight: o, italic: s, program: d?.choosable ? d.objectNumber : 0 }; } - let a = _o(r); + let a = Oo(r); return { family: a.family, weight: a.weight ?? 400, italic: a.italic ?? !1, program: 0 }; } openAnnotation(e) { - let { pageIndex: t, index: r } = gt(this.runtime, this.session, e), n = this.runtime.fn.EPDFPage_GetAnnotRaw(this.session.requireDocPtr(), t, r); + let { pageIndex: t, index: r } = Ft(this.runtime, this.session, e), n = this.runtime.fn.EPDFPage_GetAnnotRaw(this.session.requireDocPtr(), t, r); if (!n) throw new f(g.NotFound, "annotation not found"); return n; } @@ -11909,125 +12033,125 @@ var GQ = { 0: null, 1: "truetype", 2: "opentype", 3: "cff", 4: "type1", 5: "type let n = this.faces().flatMap((o) => o.programs).find((o) => o.displaySha256 === e && o.objectNumber > 0); if (!n) throw new f(g.NotFound, `no font program ${e}`); let { fn: i, mem: a } = this.runtime, A = this.session.requireDocPtr(); - return N(a, 32, (o) => { - a.writeBytes(o, HQ(e)); - let s = C3(this.runtime, (l, m) => i.EPDFDoc_GetFontDisplayProgramCoverage(A, o, l, m)), d = null; + return V(a, 32, (o) => { + a.writeBytes(o, iS(e)); + let s = q3(this.runtime, (u, m) => i.EPDFDoc_GetFontDisplayProgramCoverage(A, o, u, m)), d = null; if (t) { - let l = i.EPDFDoc_GetFontDisplayProgramData(A, o, Y, 0); - d = N(a, Math.max(1, l), (m) => (i.EPDFDoc_GetFontDisplayProgramData(A, o, m, l), a.readBytes(m, l))); + let u = i.EPDFDoc_GetFontDisplayProgramData(A, o, X, 0); + d = V(a, Math.max(1, u), (m) => (i.EPDFDoc_GetFontDisplayProgramData(A, o, m, u), a.readBytes(m, u))); } return { covers: s, ascent: n.ascent, descent: n.descent, bytes: d }; }); } }; -function HQ(e) { +function iS(e) { return Uint8Array.from({ length: e.length / 2 }, (t, r) => parseInt(e.slice(r * 2, r * 2 + 2), 16)); } -function bs(e, t) { +function Ps(e, t) { let { fn: r, mem: n } = e, i = r.EPDFFontFaces_Load(t.requireDocPtr()); if (!i) throw new f(g.Unknown, "EPDFFontFaces_Load failed"); try { let a = [], A = r.EPDFFontFaces_Count(i); for (let o = 0; o < A; o++) { let s = [], d = r.EPDFFontFaces_CountPrograms(i, o); - for (let l = 0; l < d; l++) s.push(IQ(e, i, o, l)); - a.push({ familyName: ue(n, (l, m) => r.EPDFFontFaces_GetFamily(i, o, l, m)) ?? "", weight: r.EPDFFontFaces_GetWeight(i, o), italic: r.EPDFFontFaces_IsItalic(i, o), programs: s }); + for (let u = 0; u < d; u++) s.push(aS(e, i, o, u)); + a.push({ familyName: le(n, (u, m) => r.EPDFFontFaces_GetFamily(i, o, u, m)) ?? "", weight: r.EPDFFontFaces_GetWeight(i, o), italic: r.EPDFFontFaces_IsItalic(i, o), programs: s }); } return a; } finally { r.EPDFFontFaces_Close(i); } } -function IQ(e, t, r, n) { - let { fn: i, mem: a } = e, A = (l) => N(a, 32, (m) => l(m) ? Dl(a.readBytes(m, 32)) : null), o = A((l) => i.EPDFFontFaces_GetProgramHash(t, r, n, l)), s = A((l) => i.EPDFFontFaces_GetProgramDisplayHash(t, r, n, l)), d = fe(a, [4, 4], ([l, m]) => i.EPDFFontFaces_GetProgramMetrics(t, r, n, l, m) ? { ascent: Number(a.peek(l, "f32")), descent: Number(a.peek(m, "f32")) } : { ascent: 0, descent: 0 }); - return { objectNumber: i.EPDFFontFaces_GetProgramObjNum(t, r, n), format: GQ[i.EPDFFontFaces_GetProgramFormat(t, r, n)] ?? null, embedded: CQ[i.EPDFFontFaces_GetProgramEmbedded(t, r, n)] ?? "none", postScriptName: Ke(a, (l, m) => i.EPDFFontFaces_GetProgramPostScriptName(t, r, n, l, m)) || null, permission: xQ[i.EPDFFontFaces_GetProgramEmbeddingPermission(t, r, n)] ?? null, mapsUnicode: i.EPDFFontFaces_ProgramMapsUnicode(t, r, n), sha256: o, displaySha256: s, ascent: Math.round(d.ascent * 1e3), descent: -Math.round(d.descent * 1e3) }; +function aS(e, t, r, n) { + let { fn: i, mem: a } = e, A = (u) => V(a, 32, (m) => u(m) ? ju(a.readBytes(m, 32)) : null), o = A((u) => i.EPDFFontFaces_GetProgramHash(t, r, n, u)), s = A((u) => i.EPDFFontFaces_GetProgramDisplayHash(t, r, n, u)), d = Fe(a, [4, 4], ([u, m]) => i.EPDFFontFaces_GetProgramMetrics(t, r, n, u, m) ? { ascent: Number(a.peek(u, "f32")), descent: Number(a.peek(m, "f32")) } : { ascent: 0, descent: 0 }); + return { objectNumber: i.EPDFFontFaces_GetProgramObjNum(t, r, n), format: eS[i.EPDFFontFaces_GetProgramFormat(t, r, n)] ?? null, embedded: tS[i.EPDFFontFaces_GetProgramEmbedded(t, r, n)] ?? "none", postScriptName: Ke(a, (u, m) => i.EPDFFontFaces_GetProgramPostScriptName(t, r, n, u, m)) || null, permission: nS[i.EPDFFontFaces_GetProgramEmbeddingPermission(t, r, n)] ?? null, mapsUnicode: i.EPDFFontFaces_ProgramMapsUnicode(t, r, n), sha256: o, displaySha256: s, ascent: Math.round(d.ascent * 1e3), descent: -Math.round(d.descent * 1e3) }; } -var ko = /* @__PURE__ */ new WeakMap(); -function x3(e, t) { +var Go = /* @__PURE__ */ new WeakMap(); +function Z3(e, t) { let { fn: r, mem: n } = e; - return N(n, 32, (i) => { + return V(n, 32, (i) => { if (!r.EPDFDoc_GetFontsFingerprint(t.requireDocPtr(), i)) throw new f(g.Unknown, "EPDFDoc_GetFontsFingerprint failed"); - return Dl(n.readBytes(i, 32)); + return ju(n.readBytes(i, 32)); }); } -function _3(e, t) { - let r = EE({ faces: bs(e, t), engineFonts: [], fallbacks: [] }, m2); +function z3(e, t) { + let r = AG({ faces: Ps(e, t), engineFonts: [], fallbacks: [] }, L2); return JSON.stringify(r.fonts.filter((n) => n.source === "document")); } -function hw(e, t) { - ko.has(t) || ko.set(t, { fingerprint: x3(e, t), documentFonts: _3(e, t) }); +function jw(e, t) { + Go.has(t) || Go.set(t, { fingerprint: Z3(e, t), documentFonts: z3(e, t) }); } -function QQ(e, t) { - let r = ko.get(t); +function AS(e, t) { + let r = Go.get(t); if (!r) return !1; - let n = x3(e, t); + let n = Z3(e, t); if (n === r.fingerprint) return !1; - let i = _3(e, t); - return ko.set(t, { fingerprint: n, documentFonts: i }), i !== r.documentFonts; + let i = z3(e, t); + return Go.set(t, { fingerprint: n, documentFonts: i }), i !== r.documentFonts; } -function SQ(e, t, r) { - return Pf({ faces: bs(e, t) }, r); +function oS(e, t, r) { + return Rf({ faces: Ps(e, t) }, r); } -function Bo(e, t, r) { - let n, i = (a) => (n ?? (n = Ko(bs(e, t)))).find((A) => A.name === a); +function Co(e, t, r) { + let n, i = (a) => (n ?? (n = qo(Ps(e, t)))).find((A) => A.name === a); return { ...r ? { resolveRegisteredFontId: (a) => r.idFor(a), describeRegisteredFont: (a) => r.describeOrUndefined(a) } : {}, describeFont: (a) => { let A = r?.describeOrUndefined(a); if (A) return A; let o = i(a)?.face; return o && { familyName: o.familyName, weight: o.weight, italic: o.italic }; }, documentProgramOf: (a) => { - if (xo(a) || r?.describeOrUndefined(a)) return; + if (So(a) || r?.describeOrUndefined(a)) return; let A = i(a)?.programs[0]; - return A && To(A) && A.objectNumber > 0 ? A.objectNumber : void 0; - }, resolveDocumentFont: (a) => SQ(e, t, a) }; + return A && Uo(A) && A.objectNumber > 0 ? A.objectNumber : void 0; + }, resolveDocumentFont: (a) => oS(e, t, a) }; } -var H3 = class { +var Ru = class { constructor(e, t, r) { this.runtime = e, this.session = t, this.fonts = r; } create(e, t) { S(t); - let { fn: r, mem: n } = this.runtime, i = this.session.requireDocPtr(), a = /* @__PURE__ */ new Set(), A = e.map((k) => { - let P = this.session.resolvePageRef(k.page), D = this.writeContext(k.resources), G = ar(k.label, () => FQ(k.draft, k.resources, D)); - ar(k.label, () => this.claimName(G.nm, P, a)); - let I = G.nm !== void 0 || k.attribution.kind !== "stamp" ? G : { ...G, nm: Zg() }; - k.objectNumber !== void 0 && ar(k.label, () => this.session.claimObjectNumber(k.objectNumber)); - let _ = k.replyTo && { type: k.replyTo.type, to: ar(k.label, () => this.linkTarget(k.replyTo.to, k.page, e.length, "reply")) }; - if (I.subtype === "popup" && !k.parent) throw new f(g.InvalidArg, `${k.label ?? "create"}: a popup needs the annotation it shows (parent)`, { details: { field: "parent" } }); - return { create: k, record: P, ctx: D, draft: I, replyTo: _, parent: k.parent && ar(k.label, () => this.linkTarget(k.parent, k.page, e.length, "popup")) }; + let { fn: r, mem: n } = this.runtime, i = this.session.requireDocPtr(), a = /* @__PURE__ */ new Set(), A = e.map((h) => { + let P = this.session.resolvePageRef(h.page), D = this.writeContext(h.resources), G = Ar(h.label, () => YQ(h.draft, h.resources, D)); + Ar(h.label, () => this.claimName(G.nm, P, a)); + let I = G.nm !== void 0 || h.attribution.kind !== "stamp" ? G : { ...G, nm: ff() }; + h.objectNumber !== void 0 && Ar(h.label, () => this.session.claimObjectNumber(h.objectNumber)); + let _ = h.replyTo && { type: h.replyTo.type, to: Ar(h.label, () => this.linkTarget(h.replyTo.to, h.page, e.length, "reply")) }; + if (I.subtype === "popup" && !h.parent) throw new f(g.InvalidArg, `${h.label ?? "create"}: a popup needs the annotation it shows (parent)`, { details: { field: "parent" } }); + return { create: h, record: P, ctx: D, draft: I, replyTo: _, parent: h.parent && Ar(h.label, () => this.linkTarget(h.parent, h.page, e.length, "popup")) }; }); - if (S(t), A.length === 0) return { created: [], meta: kw(this.session.writeStamp(), [], []) }; - let o = A.map(({ create: k, record: P, ctx: D, draft: G }) => { + if (S(t), A.length === 0) return { created: [], meta: Rw(this.session.writeStamp(), [], []) }; + let o = A.map(({ create: h, record: P, ctx: D, draft: G }) => { S(t); - let I = r.EPDFPage_CreateAnnotRaw(i, P.pageIndex, lf[G.subtype], k.objectNumber ?? 0); - if (!I && k.objectNumber !== void 0) throw Pa(k.objectNumber, "taken"); - if (!I) throw new f(g.Unknown, `${k.label ?? "create"}: EPDFPage_CreateAnnotRaw returned NULL`); + let I = r.EPDFPage_CreateAnnotRaw(i, P.pageIndex, Hf[G.subtype], h.objectNumber ?? 0); + if (!I && h.objectNumber !== void 0) throw Ba(h.objectNumber, "taken"); + if (!I) throw new f(g.Unknown, `${h.label ?? "create"}: EPDFPage_CreateAnnotRaw returned NULL`); let _; try { - if (ar(k.label, () => mQ(r, n, I, G, D)), y3(r, I, G.blendMode), _ = r.EPDFAnnot_GetObjectNumber(I), _ <= 0) throw new f(g.Unknown, `${k.label ?? "create"}: EPDFPage_CreateAnnotRaw made a direct object`); + if (Ar(h.label, () => LQ(r, n, I, G, D)), X3(r, I, G.blendMode), _ = r.EPDFAnnot_GetObjectNumber(I), _ <= 0) throw new f(g.Unknown, `${h.label ?? "create"}: EPDFPage_CreateAnnotRaw made a direct object`); } finally { r.FPDFPage_CloseAnnot(I); } return { pageIndex: P.pageIndex, pageObjectNumber: P.pageObjectNumber, index: r.EPDFPage_GetAnnotCountRaw(i, P.pageIndex) - 1, objectNumber: _ }; - }), s = [], d = (k, P) => typeof k == "number" ? this.withOpen(o[k], P) : this.withOpenExisting(k, P); - A.forEach(({ replyTo: k, parent: P }, D) => { - k && this.withOpen(o[D], (G) => d(k.to, (I) => E3(this.runtime, G, I, k.type))), P !== void 0 && this.withOpen(o[D], (G) => d(P, (I) => { - G3(this.runtime, G, I), typeof P != "number" && s.push(fi(r, n, i, P.page, I, P.index)); + }), s = [], d = (h, P) => typeof h == "number" ? this.withOpen(o[h], P) : this.withOpenExisting(h, P); + A.forEach(({ replyTo: h, parent: P }, D) => { + h && this.withOpen(o[D], (G) => d(h.to, (I) => W3(this.runtime, G, I, h.type))), P !== void 0 && this.withOpen(o[D], (G) => d(P, (I) => { + U3(this.runtime, G, I), typeof P != "number" && s.push(Pi(r, n, i, P.page, I, P.index)); })); }); - let l = /* @__PURE__ */ new Date(); - A.forEach(({ create: { attribution: k, fileDates: P, label: D } }, G) => { - this.withOpen(o[G], (I) => ar(D, () => { - k.kind === "stamp" ? hQ(r, n, I, k.actor, l) : vQ(r, n, I, k.from, k.importedBy), P && PQ(r, n, I, P); + let u = /* @__PURE__ */ new Date(); + A.forEach(({ create: { attribution: h, fileDates: P, label: D } }, G) => { + this.withOpen(o[G], (I) => Ar(D, () => { + h.kind === "stamp" ? UQ(r, n, I, h.actor, u) : XQ(r, n, I, h.from, h.importedBy), P && WQ(r, n, I, P); })); }); - let m = Ba(this.session, this.fonts), F = o.map((k) => this.withOpen(k, (P) => ho(r, n, P, k.pageObjectNumber, k.index, m))); - return Ga(this.runtime, this.session, F), { created: F, meta: kw(this.session.writeStamp(), o, s) }; + let m = Ea(this.session, this.fonts), F = o.map((h) => this.withOpen(h, (P) => Eo(r, n, P, h.pageObjectNumber, h.index, m))); + return _a(this.runtime, this.session, F), { created: F, meta: Rw(this.session.writeStamp(), o, s) }; } claimName(e, t, r) { if (!e) return; let n = `${t.pageIndex}\0${e}`, i = this.session.requireDocPtr(); - if (r.has(n) || D3(this.runtime, i, t.pageIndex, e) >= 0) throw new f(g.InvalidArg, `nm '${e}' is already used on page ${t.pageObjectNumber}`, { details: { field: "nm" } }); + if (r.has(n) || Mu(this.runtime, i, t.pageIndex, e) >= 0) throw Y3(e, t.pageObjectNumber); r.add(n); } linkTarget(e, t, r, n) { @@ -12037,10 +12161,10 @@ var H3 = class { } let { existing: i } = e; if (i.page.objectNumber !== t.objectNumber) throw new f(g.InvalidArg, n === "reply" ? `/IRT parent must be on the same page as the reply (parent page ${i.page.objectNumber}, reply page ${t.objectNumber})` : `a popup's parent must be on the same page (parent page ${i.page.objectNumber}, popup page ${t.objectNumber})`); - return { page: i.page, ...gt(this.runtime, this.session, i) }; + return { page: i.page, ...Ft(this.runtime, this.session, i) }; } writeContext(e) { - return { ...Bo(this.runtime, this.session, this.fonts), docPtr: this.session.requireDocPtr(), drawings: this.session.drawingIndex(), pdfPageCount: (t) => PP(this.runtime.fn, this.runtime.mem, t), ...e ? { resources: e } : {} }; + return { ...Co(this.runtime, this.session, this.fonts), docPtr: this.session.requireDocPtr(), drawings: this.session.drawingIndex(), pdfPageCount: (t) => TP(this.runtime.fn, this.runtime.mem, t), ...e ? { resources: e } : {} }; } withOpen(e, t) { let { fn: r } = this.runtime, n = r.EPDFPage_GetAnnotRaw(this.session.requireDocPtr(), e.pageIndex, e.index); @@ -12062,20 +12186,20 @@ var H3 = class { } } }; -function kw(e, t, r) { +function Rw(e, t, r) { return { affectedPages: [...new Set(t.map((n) => n.pageObjectNumber))].map((n) => be(n)), cacheDelta: null, ...e, changedRefs: [...t.map((n) => ({ kind: "objectNumber", page: be(n.pageObjectNumber), objectNumber: n.objectNumber })), ...r] }; } -function ar(e, t) { +function Ar(e, t) { try { return t(); } catch (r) { throw !e || !f.is(r) ? r : new f(r.code, `${e}: ${r.message}`, { ...r.details ? { details: r.details } : {}, cause: r }); } } -function OQ(e, t, r, n) { - if (!(r.subtype !== "polygon" && r.subtype !== "polyline") && JA(n) && e.FPDFAnnot_HasKey(t, "EMBD_Metadata") && e.FPDFAnnot_GetValueType(t, "EMBD_Metadata") !== 6) throw new f(g.InvalidArg, "Malformed annotation metadata cannot store a caption"); +function sS(e, t, r, n) { + if (!(r.subtype !== "polygon" && r.subtype !== "polyline") && ro(n) && e.FPDFAnnot_HasKey(t, "EMBD_Metadata") && e.FPDFAnnot_GetValueType(t, "EMBD_Metadata") !== 6) throw new f(g.InvalidArg, "Malformed annotation metadata cannot store a caption"); } -function MQ(e) { +function cS(e) { switch (e) { case 1: return "editable"; @@ -12085,12 +12209,12 @@ function MQ(e) { return "installable"; } } -var jQ = class { +var dS = class { constructor(e, t) { - this.runtime = e, this.ids = t, K(this, "fileHandles", []), K(this, "identities", /* @__PURE__ */ new Map()), K(this, "programs", /* @__PURE__ */ new Map()), K(this, "fallbacks", []), K(this, "builtIn", /* @__PURE__ */ new Set()), this.registerLastResort(); + this.runtime = e, this.ids = t, N(this, "fileHandles", []), N(this, "identities", /* @__PURE__ */ new Map()), N(this, "programs", /* @__PURE__ */ new Map()), N(this, "fallbacks", []), N(this, "builtIn", /* @__PURE__ */ new Set()), this.registerLastResort(); } registerLastResort() { - let e = u2(), { mem: t, fn: r } = this.runtime, n = t.alloc(e.byteLength); + let e = R2(), { mem: t, fn: r } = this.runtime, n = t.alloc(e.byteLength); try { t.writeBytes(n, e); let i = r.EPDFFont_RegisterMemFont64("", 0, -1, n, e.byteLength); @@ -12132,9 +12256,9 @@ var jQ = class { return this.identities.get(e); } keyForFace(e, t, r) { - let n = Vn(e), i; + let n = Yn(e), i; for (let [a, A] of this.identities) { - if (Vn(A.familyName) !== n) continue; + if (Yn(A.familyName) !== n) continue; let o = Math.abs(A.weight - t) + (A.italic === r ? 0 : 1e3); (!i || o < i.score) && (i = { key: a, score: o }); } @@ -12154,7 +12278,7 @@ var jQ = class { return A; } }; - return { familyName: i(() => Ke(n, (a, A) => r.EPDFFont_GetFamilyName(e, a, A)) ?? t.familyName, t.familyName), weight: i(() => r.EPDFFont_GetWeight(e), t.weight || 400), italic: i(() => r.EPDFFont_IsItalic(e), t.italic === 1), embeddingPermission: i(() => MQ(r.EPDFFont_GetEmbeddingPermission(e)), "installable"), editingAuthorized: i(() => r.EPDFFont_IsEditingAuthorized(e), !0), instanced: i(() => r.EPDFFont_IsInstanced(e), !1) }; + return { familyName: i(() => Ke(n, (a, A) => r.EPDFFont_GetFamilyName(e, a, A)) ?? t.familyName, t.familyName), weight: i(() => r.EPDFFont_GetWeight(e), t.weight || 400), italic: i(() => r.EPDFFont_IsItalic(e), t.italic === 1), embeddingPermission: i(() => cS(r.EPDFFont_GetEmbeddingPermission(e)), "installable"), editingAuthorized: i(() => r.EPDFFont_IsEditingAuthorized(e), !0), instanced: i(() => r.EPDFFont_IsInstanced(e), !1) }; } registerStartup(e) { for (let t of e) { @@ -12162,7 +12286,7 @@ var jQ = class { this.registerFromNodeFile(t.key, t.familyName ?? "", t.weight ?? 0, r, t.path, t.serve ?? !1, t.builtIn ?? !1), t.fallback && this.addFallback(t.key, t.tier); } } - addFallback(e, t = PE.own) { + addFallback(e, t = eG.own) { let r = this.requireId(e); if (!this.runtime.fn.EPDFFont_AddFallbackFont(r, t)) throw new f(g.InvalidArg, `addFallback failed: ${e}`); let n = this.fallbacks.find((i) => i.key === e); @@ -12190,16 +12314,16 @@ var jQ = class { if (t === void 0) return; let r = this.requireId(t), { fn: n, mem: i } = this.runtime; return { info: () => { - let a = C3(this.runtime, (o, s) => n.EPDFFont_GetCoverage(r, o, s)), A = fe(i, [4, 4], ([o, s]) => n.EPDFFont_GetMetrics(r, o, s) ? { ascent: Number(i.peek(o, "f32")), descent: Number(i.peek(s, "f32")) } : { ascent: 0, descent: 0 }); + let a = q3(this.runtime, (o, s) => n.EPDFFont_GetCoverage(r, o, s)), A = Fe(i, [4, 4], ([o, s]) => n.EPDFFont_GetMetrics(r, o, s) ? { ascent: Number(i.peek(o, "f32")), descent: Number(i.peek(s, "f32")) } : { ascent: 0, descent: 0 }); return { covers: a, ascent: Math.round(A.ascent * 1e3), descent: -Math.round(A.descent * 1e3) }; }, bytes: () => { - let a = n.EPDFFont_GetProgramData(r, Y, 0); - return N(i, Math.max(1, a), (A) => (n.EPDFFont_GetProgramData(r, A, a), i.readBytes(A, a))); + let a = n.EPDFFont_GetProgramData(r, X, 0); + return V(i, Math.max(1, a), (A) => (n.EPDFFont_GetProgramData(r, A, a), i.readBytes(A, a))); } }; } readProgram(e) { let { fn: t, mem: r } = this.runtime; - return { sha256: N(r, 32, (n) => t.EPDFFont_GetProgramHash(e, n) ? Array.from(r.readBytes(n, 32), (i) => i.toString(16).padStart(2, "0")).join("") : ""), format: t.EPDFFont_GetProgramFormat(e) === 2 ? "opentype" : "truetype", postScriptName: Ke(r, (n, i) => t.EPDFFont_GetPostScriptName(e, n, i)) || null }; + return { sha256: V(r, 32, (n) => t.EPDFFont_GetProgramHash(e, n) ? Array.from(r.readBytes(n, 32), (i) => i.toString(16).padStart(2, "0")).join("") : ""), format: t.EPDFFont_GetProgramFormat(e) === 2 ? "opentype" : "truetype", postScriptName: Ke(r, (n, i) => t.EPDFFont_GetPostScriptName(e, n, i)) || null }; } clear() { this.runtime.fn.EPDFFont_ClearRegisteredFonts(), this.registerLastResort(), this.ids.clear(), this.identities.clear(), this.programs.clear(), this.fallbacks = [], this.builtIn.clear(); @@ -12215,50 +12339,50 @@ var jQ = class { return t; } }; -function Wr(e, t, r) { +function zr(e, t, r) { return { affectedPages: [be(t)], cacheDelta: null, ...e, changedRefs: [...r] }; } -var yl = class { +var Lu = class { constructor(e, t, r) { this.runtime = e, this.session = t, this.fonts = r; } writeContext(e) { - return { ...Bo(this.runtime, this.session, this.fonts), runtime: this.runtime, docPtr: this.session.requireDocPtr(), drawings: this.session.drawingIndex(), pdfPageCount: (t) => PP(this.runtime.fn, this.runtime.mem, t), ...e ? { resources: e } : {} }; + return { ...Co(this.runtime, this.session, this.fonts), runtime: this.runtime, docPtr: this.session.requireDocPtr(), drawings: this.session.drawingIndex(), pdfPageCount: (t) => TP(this.runtime.fn, this.runtime.mem, t), ...e ? { resources: e } : {} }; } create(e, t, r, n = {}) { let { actor: i, resources: a, objectNumber: A } = n, { reply: o, ...s } = t, d = t.subtype === "popup" ? t.parent : null; t.subtype === "popup" && delete s.parent; - let { created: l, meta: m } = new H3(this.runtime, this.session, this.fonts).create([{ page: be(e), draft: s, ...o ? { replyTo: { to: { existing: o.to }, type: o.type ?? "reply" } } : {}, ...d ? { parent: { existing: d } } : {}, ...a ? { resources: a } : {}, ...A !== void 0 ? { objectNumber: A } : {}, attribution: { kind: "stamp", ...i ? { actor: i } : {} } }], r); - return { annotation: l[0], meta: m }; + let { created: u, meta: m } = new Ru(this.runtime, this.session, this.fonts).create([{ page: be(e), draft: s, ...o ? { replyTo: { to: { existing: o.to }, type: o.type ?? "reply" } } : {}, ...d ? { parent: { existing: d } } : {}, ...a ? { resources: a } : {}, ...A !== void 0 ? { objectNumber: A } : {}, attribution: { kind: "stamp", ...i ? { actor: i } : {} } }], r); + return { annotation: u[0], meta: m }; } update(e, t, r, n, i) { S(n); - let { fn: a, mem: A } = this.runtime, { pageIndex: o, index: s } = gt(this.runtime, this.session, e), d = dr(this.runtime, this.session, o, s); + let { fn: a, mem: A } = this.runtime, { pageIndex: o, index: s } = Ft(this.runtime, this.session, e), d = dr(this.runtime, this.session, o, s); try { S(n); - let l = this.writeContext(i), m = bP(a.EPDFAnnot_GetBlendMode(d)), F = ho(a, A, d, e.page.objectNumber, s, Ba(this.session, this.fonts)); - Ga(this.runtime, this.session, [F]); - let k = cf(r, F, t.groupId); - OQ(a, d, F, t), t = Y7(F, t, { describeFont: l.describeFont }), AQ(F, t), hg(F.subtype, i, "update"), uQ(t, l), S(n); - let P = i?.appearance ? "regenerate" : jD(F, t); - if (P !== "inert" && mI(a, A, d), t.subtype !== void 0 && t.subtype !== F.subtype && !a.EPDFAnnot_SetSubtype(d, lf[t.subtype])) throw new f(g.Unknown, "EPDFAnnot_SetSubtype returned false"); - wQ(a, A, d, t, l), t.contents !== void 0 && t.contents !== F.contents && rg({ ...F, ...t }) && a.EPDFAnnot_RemoveKey(d, "RC"); + let u = this.writeContext(i), m = OP(a.EPDFAnnot_GetBlendMode(d)), F = Eo(a, A, d, e.page.objectNumber, s, Ea(this.session, this.fonts)); + _a(this.runtime, this.session, [F]); + let h = Cf(r, F, t.groupId); + sS(a, d, F, t), t = B2(F, t, { describeFont: u.describeFont }), HQ(F, t), jg(F.subtype, i, "update"), RQ(t, u), S(n); + let P = i?.appearance ? "regenerate" : p0(F, t); + if (P !== "inert" && LI(a, A, d), t.subtype !== void 0 && t.subtype !== F.subtype && !a.EPDFAnnot_SetSubtype(d, Hf[t.subtype])) throw new f(g.Unknown, "EPDFAnnot_SetSubtype returned false"); + TQ(a, A, d, t, u), t.contents !== void 0 && t.contents !== F.contents && Fg({ ...F, ...t }) && a.EPDFAnnot_RemoveKey(d, "RC"); let D = null; - t.reply !== void 0 && !TQ(t.reply, F.reply) && kQ(this.runtime, this.session, d, e.page.objectNumber, t.reply === null ? { inReplyTo: null } : { inReplyTo: t.reply.to, replyType: t.reply.type ?? "reply" }); + t.reply !== void 0 && !lS(t.reply, F.reply) && qQ(this.runtime, this.session, d, e.page.objectNumber, t.reply === null ? { inReplyTo: null } : { inReplyTo: t.reply.to, replyType: t.reply.type ?? "reply" }); let G = !1; - t.subtype === "popup" && F.subtype === "popup" && t.parent !== void 0 && !I3(t.parent, F.parent) && (G = !0, D = BQ(this.runtime, this.session, d, e.page.objectNumber, t.parent, F.parent)); + t.subtype === "popup" && F.subtype === "popup" && t.parent !== void 0 && !J3(t.parent, F.parent) && (G = !0, D = ZQ(this.runtime, this.session, d, e.page.objectNumber, t.parent, F.parent)); let I = null, _ = t.open; if (_ !== void 0 && !G) { - let X = F.subtype === "text" ? F.popup : F.subtype === "popup" ? F.parent : null; - X && (I = EQ(this.runtime, this.session, X, _, F.subtype === "popup")); + let K = F.subtype === "text" ? F.popup : F.subtype === "popup" ? F.parent : null; + K && (I = $Q(this.runtime, this.session, K, _, F.subtype === "popup")); } - dl(a, A, d), XH(a, A, d, k); + hu(a, A, d), f4(a, A, d, h); let H; - P === "inert" || P === "translation" ? H = { action: "preserved", changed: !1 } : H = (F.subtype === "widget" ? !F.hasMark && a.EPDFAnnot_GenerateFormFieldAP(d) : y3(a, d, t.blendMode ?? m)) ? { action: "regenerated", changed: !0 } : { action: "generation-unavailable", changed: P === "regenerate" }, a.FPDFPage_CloseAnnot(d), d = null, d = dr(this.runtime, this.session, o, s); - let C = ho(a, A, d, e.page.objectNumber, s, Ba(this.session, this.fonts)); - Ga(this.runtime, this.session, [C]); - let j = Wr(this.session.writeStamp(), e.page.objectNumber, LQ([C.ref, D, I])); - return { annotation: C, appearance: H, meta: j }; + P === "inert" || P === "translation" ? H = { action: "preserved", changed: !1 } : H = (F.subtype === "widget" ? !F.hasMark && a.EPDFAnnot_GenerateFormFieldAP(d) : X3(a, d, t.blendMode ?? m)) ? { action: "regenerated", changed: !0 } : { action: "generation-unavailable", changed: P === "regenerate" }, a.FPDFPage_CloseAnnot(d), d = null, d = dr(this.runtime, this.session, o, s); + let C = Eo(a, A, d, e.page.objectNumber, s, Ea(this.session, this.fonts)); + _a(this.runtime, this.session, [C]); + let O = zr(this.session.writeStamp(), e.page.objectNumber, uS([C.ref, D, I])); + return { annotation: C, appearance: H, meta: O }; } finally { d !== null && a.FPDFPage_CloseAnnot(d); } @@ -12268,34 +12392,34 @@ var yl = class { if (r.FPDFAnnot_GetSubtype(e) !== T.WIDGET) return; let n = r.EPDFAnnot_GetObjectNumber(e); if (t > 0 && n === t) return; - let i = R4(this.runtime, this.session, n); + let i = pI(this.runtime, this.session, n); if (i !== 0) throw new f(g.InvalidArg, i === n ? "widget is its form field's own dictionary (a merged field/widget) - delete the field with doc.forms.delete" : "widget is attached to a form field - use doc.forms.removeWidget or doc.forms.delete"); } delete(e, t, r) { S(r); - let { fn: n } = this.runtime, i = this.session.requireDocPtr(), a = e.page.objectNumber, { pageIndex: A } = this.session.resolvePageRef(e.page), { annotations: o } = new os(this.runtime, this.session, this.fonts).listOne(a, r), s = Oo(o, e); - if (s.length === 0) throw RQ(e); - df(t, s); - let d = (P) => gt(this.runtime, this.session, P).index, l = s.map((P) => d(P.ref)); - for (let P of l) this.withAnnotAt(A, P, (D) => this.assertNotAttachedWidget(D, 0)); - let m = new Set(s.map((P) => Z(P.ref))), F = s.flatMap((P) => { + let { fn: n } = this.runtime, i = this.session.requireDocPtr(), a = e.page.objectNumber, { pageIndex: A } = this.session.resolvePageRef(e.page), { annotations: o } = new us(this.runtime, this.session, this.fonts).listOne(a, r), s = Ko(o, e); + if (s.length === 0) throw pS(e); + xf(t, s); + let d = (P) => Ft(this.runtime, this.session, P).index, u = s.map((P) => d(P.ref)); + for (let P of u) this.withAnnotAt(A, P, (D) => this.assertNotAttachedWidget(D, 0)); + let m = new Set(s.map((P) => W(P.ref))), F = s.flatMap((P) => { if (P.subtype !== "popup" || !P.parent) return []; - let D = Z(P.parent), G = o.find((I) => Z(I.ref) === D); + let D = W(P.parent), G = o.find((I) => W(I.ref) === D); return G && !m.has(D) ? [d(G.ref)] : []; }); - S(r), zt(this.runtime, this.session, a); - for (let P of [...l].sort((D, G) => G - D)) if (!n.EPDFPage_RemoveAnnotRaw(i, A, P)) throw new f(g.Unknown, `failed to remove annotation ${P} on page ${a}`); + S(r), Jt(this.runtime, this.session, a); + for (let P of [...u].sort((D, G) => G - D)) if (!n.EPDFPage_RemoveAnnotRaw(i, A, P)) throw new f(g.Unknown, `failed to remove annotation ${P} on page ${a}`); for (let P of F) { - let D = l.filter((G) => G < P).length; + let D = u.filter((G) => G < P).length; this.withAnnotAt(A, P - D, (G) => n.EPDFAnnot_RemoveKey(G, "Popup")); } - let k = [...s].reverse().map((P) => P.ref); - return { meta: Wr(this.session.writeStamp(), a, k) }; + let h = [...s].reverse().map((P) => P.ref); + return { meta: zr(this.session.writeStamp(), a, h) }; } deleteReleasedWidget(e, t) { - let { fn: r, mem: n } = this.runtime, i = this.session.requireDocPtr(), a = e.page.objectNumber, { pageIndex: A, index: o } = gt(this.runtime, this.session, e), s = this.withAnnotAt(A, o, (d) => (this.assertNotAttachedWidget(d, t), fi(r, n, i, e.page, d, o))); - if (zt(this.runtime, this.session, a), !r.EPDFPage_RemoveAnnotRaw(i, A, o)) throw new f(g.Unknown, `failed to remove annotation: ${e.kind}`); - return { meta: Wr(this.session.writeStamp(), a, [s]) }; + let { fn: r, mem: n } = this.runtime, i = this.session.requireDocPtr(), a = e.page.objectNumber, { pageIndex: A, index: o } = Ft(this.runtime, this.session, e), s = this.withAnnotAt(A, o, (d) => (this.assertNotAttachedWidget(d, t), Pi(r, n, i, e.page, d, o))); + if (Jt(this.runtime, this.session, a), !r.EPDFPage_RemoveAnnotRaw(i, A, o)) throw new f(g.Unknown, `failed to remove annotation: ${e.kind}`); + return { meta: zr(this.session.writeStamp(), a, [s]) }; } withAnnotAt(e, t, r) { let n = dr(this.runtime, this.session, e, t); @@ -12306,27 +12430,27 @@ var yl = class { } } }; -function RQ(e) { - return new f(g.NotFound, `no annotation ${Z(e)} on page ${e.page.objectNumber}`); +function pS(e) { + return new f(g.NotFound, `no annotation ${W(e)} on page ${e.page.objectNumber}`); } -function LQ(e) { +function uS(e) { let t = /* @__PURE__ */ new Set(); - return e.filter((r) => r === null || t.has(Z(r)) ? !1 : (t.add(Z(r)), !0)); + return e.filter((r) => r === null || t.has(W(r)) ? !1 : (t.add(W(r)), !0)); } -var I3 = (e, t) => e === null || t === null ? e === t : Z(e) === Z(t); -function TQ(e, t) { - return e === null || t === null ? e === t : I3(e.to, t.to) && (e.type ?? "reply") === t.type; +var J3 = (e, t) => e === null || t === null ? e === t : W(e) === W(t); +function lS(e, t) { + return e === null || t === null ? e === t : J3(e.to, t.to) && (e.type ?? "reply") === t.type; } -function Q3(e, t, r) { - let n = $o(e, t, r); - return n ? N(t, 16, (i) => (SF(t, i, n.box), e.EPDFAnnot_ExportAppearance(r, Jo(n.rotation), i))) : e.EPDFAnnot_ExportAppearance(r, 0, Y); +function $3(e, t, r) { + let n = is(e, t, r); + return n ? V(t, 16, (i) => (tv(t, i, n.box), e.EPDFAnnot_ExportAppearance(r, rs(n.rotation), i))) : e.EPDFAnnot_ExportAppearance(r, 0, X); } -var KQ = 2; -function qc(e, t, r, n) { +var mS = 2; +function nd(e, t, r, n) { let i = null; try { - return N(t, 8, (a) => { - xe(t, a, 0), i = e.EPDF_SaveDocumentToOwnedBuffer(r, KQ, a); + return V(t, 8, (a) => { + xe(t, a, 0), i = e.EPDF_SaveDocumentToOwnedBuffer(r, mS, a); let A = Number(t.peek(a, "i32")); if (!i || A <= 0) throw new f(g.DocOpenFailed, `failed to save ${n}`); let o = t.readBytes(i, A), s = new ArrayBuffer(o.byteLength); @@ -12336,17 +12460,17 @@ function qc(e, t, r, n) { i && e.EPDF_FreeBuffer(i); } } -var NQ = 0, VQ = 1, YQ = 0, XQ = 2, Js = class { +var wS = 0, bS = 1, gS = 0, fS = 2, rc = class { constructor(e, t) { this.runtime = e, this.session = t; } flatten(e, t, r, n) { S(n), this.requireRefs("annotations.flatten", e, t); - let { fn: i, mem: a } = this.runtime, A = zt(this.runtime, this.session, e), o = this.session.pagePool(), s = o.acquire(e); + let { fn: i, mem: a } = this.runtime, A = Jt(this.runtime, this.session, e), o = this.session.pagePool(), s = o.acquire(e); try { - let d = this.resolveAll(s, t), l, m; + let d = this.resolveAll(s, t), u, m; try { - [l, m] = this.withHandleArray(d, (P) => N(a, 4 * t.length, (D) => { + [u, m] = this.withHandleArray(d, (P) => V(a, 4 * t.length, (D) => { let G = i.EPDFPage_FlattenAnnotations(s, P, t.length, r === "print" ? 1 : 0, D), I = []; for (let _ = 0; _ < t.length; _++) I.push(Number(a.peek(D, "i32", 4 * _))); return [G, I]; @@ -12354,18 +12478,18 @@ var NQ = 0, VQ = 1, YQ = 0, XQ = 2, Js = class { } finally { for (let P of d) i.FPDFPage_CloseAnnot(P); } - if (l === NQ) { - let P = m.findIndex((D) => D === XQ); + if (u === wS) { + let P = m.findIndex((D) => D === fS); throw new f(P >= 0 ? g.InvalidArg : g.Unknown, P >= 0 ? `annotations.flatten: ref ${P} is not an annotation of page ${e}` : "native annotation flatten failed after preflight"); } - let F = t.map((P, D) => ({ ref: P, status: m[D] === YQ ? "applied" : "unchanged" })); - if (l !== VQ && !A) { + let F = t.map((P, D) => ({ ref: P, status: m[D] === gS ? "applied" : "unchanged" })); + if (u !== bS && !A) { let P = { affectedPages: [], cacheDelta: null, ...this.session.writeStamp() }; return { page: be(e), usage: r, results: F, meta: P }; } this.session.invalidateDerived(); - let k = { affectedPages: [be(e)], cacheDelta: null, ...this.session.writeStamp() }; - return { page: be(e), usage: r, results: F, meta: k }; + let h = { affectedPages: [be(e)], cacheDelta: null, ...this.session.writeStamp() }; + return { page: be(e), usage: r, results: F, meta: h }; } finally { o.release(e); } @@ -12381,7 +12505,7 @@ var NQ = 0, VQ = 1, YQ = 0, XQ = 2, Js = class { for (let s of o) n.FPDFPage_CloseAnnot(s); } if (!A) throw new f(g.InvalidArg, "annotations.exportAppearance: every ref must be a visible annotation of this page with a normal appearance"); - return qc(this.runtime.fn, this.runtime.mem, A, "exported appearances"); + return nd(this.runtime.fn, this.runtime.mem, A, "exported appearances"); } finally { A && n.FPDF_CloseDocument(A), i.release(e); } @@ -12390,16 +12514,16 @@ var NQ = 0, VQ = 1, YQ = 0, XQ = 2, Js = class { S(r); let { fn: n } = this.runtime, i = this.session.pagePool(), a = i.acquire(e), A = null; try { - let o = ka(this.runtime, this.session, a, t); + let o = ya(this.runtime, this.session, a, t); try { - let s = ra(n.FPDFAnnot_GetSubtype(o)); - if (pd[s]?.appearance === void 0) throw new f(g.InvalidArg, `a ${s} annotation has no 'appearance' resource`); - A = Q3(n, this.runtime.mem, o); + let s = Aa(n.FPDFAnnot_GetSubtype(o)); + if (To[s]?.appearance === void 0) throw new f(g.InvalidArg, `a ${s} annotation has no 'appearance' resource`); + A = $3(n, this.runtime.mem, o); } finally { n.FPDFPage_CloseAnnot(o); } if (!A) throw new f(g.InvalidArg, "the annotation has no normal appearance to read"); - return qc(this.runtime.fn, this.runtime.mem, A, "the appearance"); + return nd(this.runtime.fn, this.runtime.mem, A, "the appearance"); } finally { A && n.FPDF_CloseDocument(A), i.release(e); } @@ -12407,7 +12531,7 @@ var NQ = 0, VQ = 1, YQ = 0, XQ = 2, Js = class { resolveAll(e, t) { let { fn: r } = this.runtime, n = []; try { - for (let i of t) n.push(ka(this.runtime, this.session, e, i)); + for (let i of t) n.push(ya(this.runtime, this.session, e, i)); return n; } catch (i) { for (let a of n) r.FPDFPage_CloseAnnot(a); @@ -12416,48 +12540,64 @@ var NQ = 0, VQ = 1, YQ = 0, XQ = 2, Js = class { } withHandleArray(e, t) { let { mem: r } = this.runtime, n = this.runtime.kind === "wasm", i = n ? 4 : 8; - return N(r, Math.max(1, e.length * i), (a) => (e.forEach((A, o) => n ? r.poke(a, "i32", Number(A), o * 4) : r.poke(a, "i64", A, o * 8)), t(a))); + return V(r, Math.max(1, e.length * i), (a) => (e.forEach((A, o) => n ? r.poke(a, "i32", Number(A), o * 4) : r.poke(a, "i64", A, o * 8)), t(a))); } requireRefs(e, t, r) { if (r.length === 0) throw new f(g.InvalidArg, `${e} requires at least one ref`); for (let n of r) if (n.page.objectNumber !== t) throw new f(g.InvalidArg, `${e} refs must all target page ${t}; got ref on page ${n.page.objectNumber}`); } }; -function S3(e, t, r) { - let { fn: n, mem: i } = e, a = new Set(r.flatMap((o) => Nd(o).map(Ee))), A = t.requireDocPtr(); - return N(i, 16, (o) => t.allRecords().filter((s) => a.has(Ee(be(s.pageObjectNumber)))).map((s) => { - let d = Wo(n, i, A, s.pageIndex, o).crop; +function eh(e, t, r, n) { + let { fn: i, mem: a } = e, A = n ? i.EPDFDoc_ExportDrawing(t, n) : $3(i, a, r); + if (!A) return null; + try { + return nd(i, a, A, "a drawing").bytes; + } finally { + i.FPDF_CloseDocument(A); + } +} +function th(e, t, r) { + let n = e.fn.FPDFAnnot_GetFileAttachment(t); + return n ? Yv(e, n, r).bytes : null; +} +function nh(e) { + return f.is(e, g.PayloadTooLarge); +} +function rh(e, t, r) { + let { fn: n, mem: i } = e, a = new Set(r.flatMap((o) => jd(o).map(De))), A = t.requireDocPtr(); + return V(i, 16, (o) => t.allRecords().filter((s) => a.has(De(be(s.pageObjectNumber)))).map((s) => { + let d = cA(n, i, A, s.pageIndex, o).crop; return { page: be(s.pageObjectNumber), position: s.pageIndex, size: { width: d.right - d.left, height: d.top - d.bottom } }; })); } -var WQ = class { +var FS = class { constructor(e, t, r) { - this.runtime = e, this.kind = t, this.limits = r, K(this, "byId", {}), K(this, "totalBytes", 0); + this.runtime = e, this.kind = t, this.limits = r, N(this, "byId", {}), N(this, "totalBytes", 0); } keep(e) { Qe(this.kind, this.limits, "resourceBytes", e.byteLength); - let { fn: t, mem: r } = this.runtime, n = `sha256-${rl(t, r, new Uint8Array(e))}`; + let { fn: t, mem: r } = this.runtime, n = `sha256-${wu(t, r, new Uint8Array(e))}`; return n in this.byId || (this.byId[n] = e, this.totalBytes += e.byteLength, Qe(this.kind, this.limits, "resources", Object.keys(this.byId).length), Qe(this.kind, this.limits, "bundleBytes", this.totalBytes)), n; } -}, UQ = class { +}, vS = class { constructor(e, t, r) { this.runtime = e, this.session = t, this.fonts = r; } export(e, t, r) { S(r); - let n = this.session.allRecords(), i = new os(this.runtime, this.session, this.fonts), a = ky(e, n.map((m) => be(m.pageObjectNumber)), (m) => i.listOne(m.objectNumber, r, "annotations").annotations); + let n = this.session.allRecords(), i = new us(this.runtime, this.session, this.fonts), a = rE(e, n.map((m) => be(m.pageObjectNumber)), (m) => i.listOne(m.objectNumber, r, "annotations").annotations); Qe("annotation", t, "items", a.length); - let A = new qQ(this.runtime, this.session, t), o = cr(this.runtime, this.session), s = a.map((m) => (S(r), { data: jo(m, o(m.ref.page), o), resources: A.of(m) })), d = S3(this.runtime, this.session, s.map((m) => m.data)); + let A = new PS(this.runtime, this.session, t), o = xn(this.runtime, this.session), s = a.map((m) => (S(r), { data: ja(m, o(m.ref.page), o), resources: A.of(m) })), d = rh(this.runtime, this.session, s.map((m) => m.data)); Qe("annotation", t, "pages", d.length); - let l = Mo({ pages: d, items: s }); - return Qe("annotation", t, "manifestBytes", l), Qe("annotation", t, "bundleBytes", l + A.totalBytes), { format: "embedpdf/annotations", version: 1, pages: d, items: s, resources: A.byId }; + let u = No({ pages: d, items: s }); + return Qe("annotation", t, "manifestBytes", u), Qe("annotation", t, "bundleBytes", u + A.totalBytes), { format: "embedpdf/annotations", version: 1, pages: d, items: s, resources: A.byId }; } -}, qQ = class extends WQ { +}, PS = class extends FS { constructor(e, t, r) { - super(e, "annotation", r), this.session = t, K(this, "drawings", /* @__PURE__ */ new Map()); + super(e, "annotation", r), this.session = t, N(this, "drawings", /* @__PURE__ */ new Map()); } of(e) { - let t = pd[e.subtype]; + let t = To[e.subtype]; if (!t) return {}; let { fn: r } = this.runtime, n = this.rawHandleOf(e); try { @@ -12476,52 +12616,46 @@ var WQ = class { } } rawHandleOf(e) { - return Uo(this.runtime, this.session, e.ref); + return dA(this.runtime, this.session, e.ref); } appearanceOf(e) { - let { fn: t, mem: r } = this.runtime, n = t.EPDFAnnot_GetStampDrawing(e), i = n ? this.drawings.get(n) : void 0; - if (i) return i; - let a = n ? t.EPDFDoc_ExportDrawing(this.session.requireDocPtr(), n) : Q3(t, r, e); - if (!a) return null; - try { - let A = this.keep(qc(t, r, a, "a drawing").bytes); - return n && this.drawings.set(n, A), A; - } finally { - t.FPDF_CloseDocument(a); - } + let t = this.runtime.fn.EPDFAnnot_GetStampDrawing(e), r = t ? this.drawings.get(t) : void 0; + if (r) return r; + let n = eh(this.runtime, this.session.requireDocPtr(), e, t); + if (!n) return null; + let i = this.keep(n); + return t && this.drawings.set(t, i), i; } fileOf(e) { - let t = this.runtime.fn.FPDFAnnot_GetFileAttachment(e); - if (!t) return null; - let r; + let t; try { - r = Pv(this.runtime, t, this.limits.resourceBytes).bytes; - } catch (n) { - throw f.is(n, g.PayloadTooLarge) ? new f(g.PayloadTooLarge, `the annotation bundle is past its resourceBytes limit: an attached file is larger than ${this.limits.resourceBytes}`, { details: { limit: "resourceBytes", max: this.limits.resourceBytes } }) : n; + t = th(this.runtime, e, this.limits.resourceBytes); + } catch (r) { + throw nh(r) ? new f(g.PayloadTooLarge, `the annotation bundle is past its resourceBytes limit: an attached file is larger than ${this.limits.resourceBytes}`, { details: { limit: "resourceBytes", max: this.limits.resourceBytes } }) : r; } - return this.keep(r); + return t ? this.keep(t) : null; } }; -function Zc(e, t, r, n, i) { +function rd(e, t, r, n, i) { let a = /* @__PURE__ */ new Map(); - for (let [d, l] of Object.entries(r.resources ?? {})) { - if (!(l instanceof ArrayBuffer)) throw new f(g.InvalidArg, `${t} bundle: resource ${d} is not bytes`); - a.set(d, l.byteLength); + for (let [d, u] of Object.entries(r.resources ?? {})) { + if (!(u instanceof ArrayBuffer)) throw new f(g.InvalidArg, `${t} bundle: resource ${d} is not bytes`); + a.set(d, u.byteLength); } i(r, a, n); let { fn: A, mem: o } = e, s = /* @__PURE__ */ new Map(); - for (let [d, l] of Object.entries(r.resources ?? {})) { - let m = rl(A, o, new Uint8Array(l)); + for (let [d, u] of Object.entries(r.resources ?? {})) { + let m = wu(A, o, new Uint8Array(u)); if (`sha256-${m}` !== d) throw new f(g.InvalidArg, `${t} bundle: resource ${d} doesn't match its id`); - s.set(l, m); + s.set(u, m); } return s; } -function ZQ(e, t, r) { - let n = gd(r); +function hS(e, t, r) { + let n = Bd(r); n && "width" in n && Qe(e, t, "imagePixels", n.width * n.height); } -var zQ = class { +var kS = class { constructor(e, t, r) { this.runtime = e, this.session = t, this.fonts = r; } @@ -12529,25 +12663,25 @@ var zQ = class { S(t); let { bundle: r, limits: n } = e; this.assertBundle(r, n); - let i = X7({ bundle: e.attribution === "stamp" ? $Q(r) : r, ...e.pages !== void 0 ? { pages: e.pages } : {}, target: this.session.allRecords().map((d) => ({ page: be(d.pageObjectNumber), position: d.pageIndex })), nameTaken: (d, l) => D3(this.runtime, this.session.requireDocPtr(), this.session.resolvePageRef(d).pageIndex, l) >= 0 }), a = cr(this.runtime, this.session), A = i.creates.map((d) => { - let l = r.items[d.item], m = {}; - for (let [F, k] of Object.entries(l.resources)) m[F] = r.resources[k]; - return { page: d.page, draft: kd(d.draft, a(d.page), a), ...d.replyTo ? { replyTo: { to: { planned: d.replyTo.planned }, type: d.replyTo.type } } : {}, ...d.parent !== void 0 ? { parent: { planned: d.parent } } : {}, resources: m, attribution: JQ(e, d.draft, l.data), ...l.data.subtype === "file-attachment" && l.data.file ? { fileDates: { createdAt: l.data.file.createdAt, modifiedAt: l.data.file.modifiedAt } } : {}, label: `import: item ${d.item}` }; + let i = D2({ bundle: e.attribution === "stamp" ? DS(r) : r, ...e.pages !== void 0 ? { pages: e.pages } : {}, target: this.session.allRecords().map((d) => ({ page: be(d.pageObjectNumber), position: d.pageIndex })), nameTaken: (d, u) => Mu(this.runtime, this.session.requireDocPtr(), this.session.resolvePageRef(d).pageIndex, u) >= 0 }), a = xn(this.runtime, this.session), A = i.creates.map((d) => { + let u = r.items[d.item], m = {}; + for (let [F, h] of Object.entries(u.resources)) m[F] = r.resources[h]; + return { page: d.page, draft: Vo(d.draft, a(d.page), a), ...d.replyTo ? { replyTo: { to: { planned: d.replyTo.planned }, type: d.replyTo.type } } : {}, ...d.parent !== void 0 ? { parent: { planned: d.parent } } : {}, resources: m, attribution: BS(e, d.draft, u.data), ...u.data.subtype === "file-attachment" && u.data.file ? { fileDates: { createdAt: u.data.file.createdAt, modifiedAt: u.data.file.modifiedAt } } : {}, label: `import: item ${d.item}` }; }); for (let d of A) e.authorizeCreate?.(d.draft); - let { created: o, meta: s } = new H3(this.runtime, this.session, this.fonts).create(A, t); - return { annotations: o, refMap: i.creates.map((d, l) => ({ from: r.items[d.item].data.ref, to: o[l].ref })), dropped: [...i.dropped], meta: s }; + let { created: o, meta: s } = new Ru(this.runtime, this.session, this.fonts).create(A, t); + return { annotations: o, refMap: i.creates.map((d, u) => ({ from: r.items[d.item].data.ref, to: o[u].ref })), dropped: [...i.dropped], meta: s }; } assertBundle(e, t) { - let r = Zc(this.runtime, "annotation", e, t, R0), n = this.session.drawingIndex(); + let r = rd(this.runtime, "annotation", e, t, my), n = this.session.drawingIndex(); for (let [i, a] of r) n.hashes.set(i, a); for (let i of e.items) { let a = i.resources.appearance; - a && ZQ("annotation", t, e.resources[a]); + a && hS("annotation", t, e.resources[a]); } } }; -function JQ(e, t, r) { +function BS(e, t, r) { let { actor: n } = e; if (e.attribution === "stamp") { let { groupId: i } = t, a = typeof i == "string" ? { ...n, groupId: i } : n; @@ -12555,72 +12689,72 @@ function JQ(e, t, r) { } return { kind: "restore", from: { author: r.author, createdAt: r.createdAt, modifiedAt: r.modifiedAt, userId: r.userId, createdBy: r.createdBy, modifiedBy: r.modifiedBy, groupId: r.groupId ?? null }, ...n?.userId ? { importedBy: n.userId } : {} }; } -function $Q(e) { +function DS(e) { return { ...e, items: e.items.map(({ data: { nm: t, ...r }, ...n }) => ({ ...n, data: r })) }; } -function O3(e, t, r, n) { +function ih(e, t, r, n) { let { fn: i, mem: a } = e; - return N(a, Math.max(4, 4 * n.length), (A) => (n.forEach((o, s) => a.poke(A, "i32", o, 4 * s)), Jn(e, "annotations", (o) => i.EPDFPage_ExportAnnotsRawToOwnedBuffer(t, r, A, n.length, o)))); + return V(a, Math.max(4, 4 * n.length), (A) => (n.forEach((o, s) => a.poke(A, "i32", o, 4 * s)), $n(e, "annotations", (o) => i.EPDFPage_ExportAnnotsRawToOwnedBuffer(t, r, A, n.length, o)))); } -function M3(e, t, r, n) { - Bi(e, n, (i) => { +function ah(e, t, r, n) { + Ei(e, n, (i) => { if (!e.fn.EPDFPage_ImportAnnotsRaw(t, r, i, n.byteLength)) throw new f(g.Unknown, "EPDFPage_ImportAnnotsRaw refused a capture"); }); } -function eS(e, t, r, n) { - return Jn(e, `object ${r}`, (i) => e.fn.EPDFDoc_ExportDictRawToOwnedBuffer(t, r, n.join(" "), i)); +function yS(e, t, r, n) { + return $n(e, `object ${r}`, (i) => e.fn.EPDFDoc_ExportDictRawToOwnedBuffer(t, r, n.join(" "), i)); } -function El(e, t, r, n, i = []) { - return Jn(e, `object ${r}`, (a) => e.fn.EPDFDoc_ExportDictCanonicalToOwnedBuffer(t, r, n.join(" "), i.join(" "), a)); +function Tu(e, t, r, n, i = []) { + return $n(e, `object ${r}`, (a) => e.fn.EPDFDoc_ExportDictCanonicalToOwnedBuffer(t, r, n.join(" "), i.join(" "), a)); } -function tS(e, t, r) { - Bi(e, r, (n) => { +function ES(e, t, r) { + Ei(e, r, (n) => { if (!e.fn.EPDFDoc_ImportDictRaw(t, n, r.byteLength)) throw new f(g.Unknown, "EPDFDoc_ImportDictRaw refused a capture"); }); } -function nS(e, t, r) { - return Jn(e, `field ${r}`, (n) => e.fn.EPDFForm_ExportFieldRawToOwnedBuffer(t, r, n)); +function GS(e, t, r) { + return $n(e, `field ${r}`, (n) => e.fn.EPDFForm_ExportFieldRawToOwnedBuffer(t, r, n)); } -function rS(e, t, r) { - Bi(e, r, (n) => { +function CS(e, t, r) { + Ei(e, r, (n) => { if (!e.fn.EPDFForm_ImportFieldRaw(t, n, r.byteLength)) throw new f(g.Unknown, "EPDFForm_ImportFieldRaw refused a capture"); }); } -function iS(e, t, r) { - return Jn(e, `outline item ${r}`, (n) => e.fn.EPDFOutline_ExportItemRawToOwnedBuffer(t, r, n)); +function xS(e, t, r) { + return $n(e, `outline item ${r}`, (n) => e.fn.EPDFOutline_ExportItemRawToOwnedBuffer(t, r, n)); } -function aS(e, t, r) { - Bi(e, r, (n) => { +function _S(e, t, r) { + Ei(e, r, (n) => { if (!e.fn.EPDFOutline_ImportItemRaw(t, n, r.byteLength)) throw new f(g.Unknown, "EPDFOutline_ImportItemRaw refused a capture"); }); } -function AS(e, t, r) { - return Jn(e, `page ${r}`, (n) => e.fn.EPDFPage_ExportRawToOwnedBuffer(t, r, n)); +function HS(e, t, r) { + return $n(e, `page ${r}`, (n) => e.fn.EPDFPage_ExportRawToOwnedBuffer(t, r, n)); } -function oS(e, t, r) { - Bi(e, r, (n) => { +function IS(e, t, r) { + Ei(e, r, (n) => { if (!e.fn.EPDFPage_ImportRaw(t, n, r.byteLength)) throw new f(g.Unknown, "EPDFPage_ImportRaw refused a capture"); }); } -function sS(e, t, r) { - return Jn(e, `attachment '${r}'`, (n) => Hn(e.mem, r, (i) => e.fn.EPDFAttachment_ExportRawToOwnedBuffer(t, i, n))); +function QS(e, t, r) { + return $n(e, `attachment '${r}'`, (n) => Qn(e.mem, r, (i) => e.fn.EPDFAttachment_ExportRawToOwnedBuffer(t, i, n))); } -function j3(e, t, r) { +function Ah(e, t, r) { try { - return Jn(e, `attachment '${r}'`, (n) => Hn(e.mem, r, (i) => e.fn.EPDFAttachment_ExportCanonicalToOwnedBuffer(t, i, n))); + return $n(e, `attachment '${r}'`, (n) => Qn(e.mem, r, (i) => e.fn.EPDFAttachment_ExportCanonicalToOwnedBuffer(t, i, n))); } catch (n) { if (f.is(n)) return null; throw n; } } -function cS(e, t, r) { - Bi(e, r, (n) => { +function SS(e, t, r) { + Ei(e, r, (n) => { if (!e.fn.EPDFAttachment_ImportRaw(t, n, r.byteLength)) throw new f(g.Unknown, "EPDFAttachment_ImportRaw refused a capture"); }); } -function Jn(e, t, r) { +function $n(e, t, r) { let { fn: n, mem: i } = e; - return N(i, 8, (a) => { + return V(i, 8, (a) => { xe(i, a, 0); let A = r(a); if (!A) throw new f(g.Unknown, `the capture of ${t} failed`); @@ -12631,279 +12765,339 @@ function Jn(e, t, r) { } }); } -function Bi(e, t, r) { +function Ei(e, t, r) { let { mem: n } = e; - return N(n, Math.max(1, t.byteLength), (i) => (n.writeBytes(i, t), r(i))); + return V(n, Math.max(1, t.byteLength), (i) => (n.writeBytes(i, t), r(i))); } -function We(e, t, r = dS) { +function Ue(e, t, r = OS) { if (Object.is(e, t)) return !0; if (typeof e != "object" || typeof t != "object" || e === null || t === null) return !1; - if (Array.isArray(e) || Array.isArray(t)) return !Array.isArray(e) || !Array.isArray(t) || e.length !== t.length ? !1 : e.every((A, o) => We(A, t[o])); - let n = Bw(e, r), i = Bw(t, r); + if (Array.isArray(e) || Array.isArray(t)) return !Array.isArray(e) || !Array.isArray(t) || e.length !== t.length ? !1 : e.every((A, o) => Ue(A, t[o])); + let n = Lw(e, r), i = Lw(t, r); if (n.length !== i.length) return !1; let a = (A) => A; - return n.every((A) => i.includes(A) && We(a(e)[A], a(t)[A])); + return n.every((A) => i.includes(A) && Ue(a(e)[A], a(t)[A])); } -var dS = /* @__PURE__ */ new Set(); -function Bw(e, t) { +var OS = /* @__PURE__ */ new Set(); +function Lw(e, t) { return Object.entries(e).filter(([r, n]) => n !== void 0 && !t.has(r)).map(([r]) => r); } -function Pe(e, t) { +function ve(e, t) { return { item: { type: "skipped", op: t, meta: { affectedPages: [], cacheDelta: null, ...e.session.writeStamp() } }, reverse: [] }; } function gn(e, t, r) { if (!r) return; - let n = t, i = Object.entries(r).filter(([a, A]) => A !== void 0 && !We(n[a], A)).map(([a]) => a); + let n = t, i = Object.entries(r).filter(([a, A]) => A !== void 0 && !Ue(n[a], A)).map(([a]) => a); if (i.length > 0) throw new f(g.ChangeConflict, `op ${e} expected other values in ${i.join(", ")}`, { details: { opIndex: e, fields: i } }); } -function gs(e, t) { +function hs(e, t) { if (e.byteLength !== t.byteLength) return !1; for (let r = 0; r < e.byteLength; r++) if (e[r] !== t[r]) return !1; return !0; } -function en(e, t, r) { +function tn(e, t, r) { let n = /* @__PURE__ */ new Map(); for (let { objectNumber: i, deep: a } of r) { if (i <= 0 || n.has(i)) continue; - let A = lS(e, t, i, a); + let A = jS(e, t, i, a); n.set(i, { objectNumber: i, deep: a, before: A }); } return [...n.values()]; } -function ft(e, t, r) { - return r.map((n) => ({ ...n, after: El(e, t.requireDocPtr(), n.objectNumber, []) })); +function Pt(e, t, r) { + return r.map((n) => ({ ...n, after: Tu(e, t.requireDocPtr(), n.objectNumber, []) })); } -function Di(e, t, r) { +function Gi(e, t, r) { return r.every((n) => { - let i = pS(e, t, n.objectNumber); - return i !== null && gs(i, n.after); + let i = MS(e, t, n.objectNumber); + return i !== null && hs(i, n.after); }); } -function lA(e, t, r) { - let n = en(e, t, r), i = t.requireDocPtr(); - for (let a of r) a.before && tS(e, i, a.before); - return t.invalidateDerived(), ft(e, t, n); +function gA(e, t, r) { + let n = tn(e, t, r), i = t.requireDocPtr(); + for (let a of r) a.before && ES(e, i, a.before); + return t.invalidateDerived(), Pt(e, t, n); } -function pS(e, t, r) { +function MS(e, t, r) { try { - return El(e, t.requireDocPtr(), r, []); + return Tu(e, t.requireDocPtr(), r, []); } catch (n) { if (f.is(n)) return null; throw n; } } -function lS(e, t, r, n) { +function jS(e, t, r, n) { try { - return eS(e, t.requireDocPtr(), r, n); + return yS(e, t.requireDocPtr(), r, n); } catch (i) { if (f.is(i)) return null; throw i; } } -function fs(e, t, r) { +function Ni(e, t, r) { + let n = e[t]; + if (!(r <= n)) throw new f(g.PayloadTooLarge, `copy: past the ${t} limit: ${r} > ${n}`, { details: { limit: t, max: n, value: r } }); +} +var RS = class { + constructor(e, t, r) { + this.runtime = e, this.session = t, this.fonts = r; + } + copy(e, t) { + S(t); + let { refs: r, objectNumbers: n, limits: i } = e; + if (n && n.length !== r.length) throw new f(g.InvalidArg, `copy: objectNumbers names ${n.length} copies of ${r.length}`, { details: { field: "objectNumbers" } }); + Ni(i, "items", r.length), e.page && this.session.resolvePageRef(e.page); + let a = r.map((F) => e.read(F)), A = xn(this.runtime, this.session), o = E2(a.map((F) => ja(F, A(F.ref.page), A)), { ...e.page ? { page: e.page } : {}, ...e.offset ? { offset: e.offset } : {} }), s = this.resourceReader(i), d = o.creates.map((F) => { + S(t); + let h = a[F.source], P = Vo(F.draft, A(F.page), A), D = e.authorizeCreate(P); + return { page: F.page, draft: P, ...F.replyTo ? { replyTo: { to: { planned: F.replyTo.copy }, type: F.replyTo.type } } : {}, ...F.parent !== void 0 ? { parent: { planned: F.parent } } : {}, resources: s(h), ...n ? { objectNumber: n[F.source] } : {}, attribution: { kind: "stamp", ...D ? { actor: D } : {} }, ...h.subtype === "file-attachment" && h.file ? { fileDates: { createdAt: h.file.createdAt, modifiedAt: h.file.modifiedAt } } : {}, label: `copy: annotation ${F.source}` }; + }), { created: u, meta: m } = new Ru(this.runtime, this.session, this.fonts).create(d, t); + return { annotations: u, refMap: o.creates.map((F, h) => ({ from: a[F.source].ref, to: u[h].ref })), dropped: [...o.dropped], meta: m }; + } + resourceReader(e) { + let { fn: t } = this.runtime, r = /* @__PURE__ */ new Map(), n = 0, i = 0, a = (A) => (Ni(e, "resourceBytes", A.byteLength), n += 1, Ni(e, "resources", n), i += A.byteLength, Ni(e, "bundleBytes", i), A); + return (A) => { + let o = To[A.subtype]; + if (!o) return {}; + let s = dA(this.runtime, this.session, A.ref); + try { + let d = {}; + if (o.appearance) { + let u = t.EPDFAnnot_GetStampDrawing(s), m = r.get(u), F = m ?? eh(this.runtime, this.session.requireDocPtr(), s, u); + F && (d.appearance = m ?? a(F)), F && u && r.set(u, F); + } + if (o.file) { + let u = this.fileOf(s, e.resourceBytes); + u && (d.file = a(u)); + } + return d; + } finally { + t.FPDFPage_CloseAnnot(s); + } + }; + } + fileOf(e, t) { + try { + return th(this.runtime, e, t); + } catch (r) { + throw nh(r) ? new f(g.PayloadTooLarge, `copy: an attached file is larger than ${t} bytes`, { details: { limit: "resourceBytes", max: t } }) : r; + } + } +}; +function ks(e, t, r) { let { fn: n, mem: i } = e, a = t.requireDocPtr(), { pageIndex: A } = t.resolvePageRef(r), o = n.EPDFPage_GetAnnotCountRaw(a, A), s = []; for (let d = 0; d < o; d++) { - let l = n.EPDFPage_GetAnnotRaw(a, A, d); - if (!l) { + let u = n.EPDFPage_GetAnnotRaw(a, A, d); + if (!u) { s.push(null); continue; } try { - s.push({ ref: fi(n, i, a, r, l, d), family: tl(n.FPDFAnnot_GetSubtype(l)) }); + s.push({ ref: Pi(n, i, a, r, u, d), family: lu(n.FPDFAnnot_GetSubtype(u)) }); } finally { - n.FPDFPage_CloseAnnot(l); + n.FPDFPage_CloseAnnot(u); } } return { page: r, pageIndex: A, entries: s }; } -function zc(e, t) { +function id(e, t) { return e.entries.flatMap((r) => r?.family === t ? [r.ref] : []); } -function Gl(e, t, r, n) { +function Ku(e, t, r, n) { if (r.length === 0) throw new f(g.InvalidArg, "a reorder names at least one row", { details: { field: "refs" } }); let i = /* @__PURE__ */ new Map(); e.entries.forEach((P, D) => { - P && i.set(Z(P.ref), D); + P && i.set(W(P.ref), D); }); - let a = Sa(n); + let a = Ma(n); (a ? [...r, a] : r).forEach((P, D) => { let G = a && D === r.length ? "position" : "refs"; - if (P.page.objectNumber !== e.page.objectNumber) throw new f(g.InvalidArg, `${Z(P)} is on page ${P.page.objectNumber}; a reorder stays on page ${e.page.objectNumber}`, { details: { field: G } }); - let I = i.get(Z(P)), _ = I === void 0 ? null : e.entries[I]; - if (_ && _.family !== t) throw new f(g.InvalidArg, uS(_.family), { details: { field: G } }); + if (P.page.objectNumber !== e.page.objectNumber) throw new f(g.InvalidArg, `${W(P)} is on page ${P.page.objectNumber}; a reorder stays on page ${e.page.objectNumber}`, { details: { field: G } }); + let I = i.get(W(P)), _ = I === void 0 ? null : e.entries[I]; + if (_ && _.family !== t) throw new f(g.InvalidArg, LS(_.family), { details: { field: G } }); }); - let A = zc(e, t), o = Fg(A, r, n, Z), s = r.map((P) => i.get(Z(P))), d = new Set(s), l = (P) => P - s.filter((D) => D < P).length, m = A.map((P) => i.get(Z(P))).filter((P) => !d.has(P)), F = Math.min(...s), k; - if (n === "start") k = m.length > 0 ? l(m[0]) : F; - else if (n === "end") k = m.length > 0 ? l(m.at(-1)) + 1 : F; + let A = id(e, t), o = Sg(A, r, n, W), s = r.map((P) => i.get(W(P))), d = new Set(s), u = (P) => P - s.filter((D) => D < P).length, m = A.map((P) => i.get(W(P))).filter((P) => !d.has(P)), F = Math.min(...s), h; + if (n === "start") h = m.length > 0 ? u(m[0]) : F; + else if (n === "end") h = m.length > 0 ? u(m.at(-1)) + 1 : F; else { - let P = l(i.get(Z(a))); - k = "before" in n ? P : P + 1; + let P = u(i.get(W(a))); + h = "before" in n ? P : P + 1; } - return { stack: e, family: t, before: A, after: o, from: s, to: k }; + return { stack: e, family: t, before: A, after: o, from: s, to: h }; } -function Cl(e, t, r) { +function Nu(e, t, r) { let { fn: n, mem: i } = e; - if (zt(e, t, r.stack.page.objectNumber), !N(i, 4 * r.from.length, (a) => (r.from.forEach((A, o) => i.poke(a, "i32", A, 4 * o)), n.EPDFPage_MoveAnnotsRaw(t.requireDocPtr(), r.stack.pageIndex, a, r.from.length, r.to)))) throw new f(g.Unknown, `the annotations of page ${r.stack.page.objectNumber} could not be reordered`); + if (Jt(e, t, r.stack.page.objectNumber), !V(i, 4 * r.from.length, (a) => (r.from.forEach((A, o) => i.poke(a, "i32", A, 4 * o)), n.EPDFPage_MoveAnnotsRaw(t.requireDocPtr(), r.stack.pageIndex, a, r.from.length, r.to)))) throw new f(g.Unknown, `the annotations of page ${r.stack.page.objectNumber} could not be reordered`); } -function uS(e) { +function LS(e) { return e === "widgets" ? "widgets paint above every annotation and have an order of their own: reorder them with doc.forms.reorderWidgets" : "annotations paint below every widget and have an order of their own: reorder them with page.annotations.reorder"; } -function pt(e, t, r, n = r) { +function ut(e, t, r, n = r) { let i = /* @__PURE__ */ new Set(); for (let a of r) a.page && i.add(a.page.objectNumber); return { affectedPages: [...i].map((a) => be(a)), cacheDelta: null, ...e, changedFields: t, changedWidgets: r, redrawnWidgets: n }; } -function Jc(e, t) { +function ad(e, t) { return e === "checkbox" || e === "radio" ? [] : [...t]; } -var mS = ["AP", "FS"]; -function wS(e, t) { +var TS = ["AP", "FS"]; +function KS(e, t) { if (t.data.subtype === "widget") throw new f(g.InvalidArg, "a widget is the form's: create one with doc.forms.create or doc.forms.addWidget", { details: { field: "subtype" } }); - Ht(e.authority, li(t.data.subtype)); - let r = sf(e.authority, t.data.subtype, t.data.groupId), n = e.session.resolvePageRef(t.page).pageObjectNumber, i = Hl(e).create(n, t.data, e.signal, { ...r ? { actor: r } : {}, ...t.resources ? { resources: t.resources } : {}, ...t.objectNumber !== void 0 ? { objectNumber: t.objectNumber } : {} }); + vt(e.authority, vr(t.data.subtype)); + let r = ep(e.authority, t.data.subtype, t.data.groupId), n = e.session.resolvePageRef(t.page).pageObjectNumber, i = Xu(e).create(n, t.data, e.signal, { ...r ? { actor: r } : {}, ...t.resources ? { resources: t.resources } : {}, ...t.objectNumber !== void 0 ? { objectNumber: t.objectNumber } : {} }); return { item: { type: "annotations.create", page: t.page, ...i }, reverse: [{ kind: "annotation.remove", ref: i.annotation.ref, left: [i.annotation] }] }; } -function bS(e, t) { +function NS(e, t) { let r = t.attribution === "restore" ? "import" : void 0; - r && xl(e.authority); - let n = new zQ(e.runtime, e.session, e.fonts).import({ bundle: t.bundle, ...t.pages !== void 0 ? { pages: t.pages } : {}, attribution: t.attribution, ...t.actor ? { actor: t.actor } : {}, limits: t.limits, authorizeCreate: (i) => { - Ht(e.authority, li(i.subtype)), r || sf(e.authority, i.subtype, i.groupId ?? void 0); + r && Vu(e.authority); + let n = new kS(e.runtime, e.session, e.fonts).import({ bundle: t.bundle, ...t.pages !== void 0 ? { pages: t.pages } : {}, attribution: t.attribution, ...t.actor ? { actor: t.actor } : {}, limits: t.limits, authorizeCreate: (i) => { + vt(e.authority, vr(i.subtype)), r || ep(e.authority, i.subtype, i.groupId ?? void 0); } }, e.signal); - return { item: { type: "annotations.import", ...n }, reverse: gS(e, n.annotations, r) }; + return { item: { type: "annotations.import", ...n }, reverse: oh(e, n.annotations, r) }; } -function gS(e, t, r) { +function VS(e, t) { + ge(e.authority, "doc.annotate.read"); + let r = new RS(e.runtime, e.session, e.fonts).copy({ refs: t.refs, ...t.page ? { page: t.page } : {}, ...t.offset ? { offset: t.offset } : {}, ...t.objectNumbers ? { objectNumbers: t.objectNumbers } : {}, read: (n) => fn(e, n), authorizeCreate: (n) => (vt(e.authority, vr(n.subtype)), ep(e.authority, n.subtype, void 0)), limits: e.limits }, e.signal); + return { item: { type: "annotations.copy", ...r }, reverse: oh(e, r.annotations, void 0) }; +} +function oh(e, t, r) { let n = /* @__PURE__ */ new Map(), i = (o) => { let s = n.get(o.page.objectNumber); - return s || (s = uA(e, o.page.objectNumber), n.set(o.page.objectNumber, s)), Oo(s, o); - }, a = t.map((o) => ({ ref: o.ref, left: i(o.ref) })), A = new Set(a.flatMap((o) => o.left.map((s) => Z(s.ref)).filter((s) => s !== Z(o.ref)))); - return a.filter((o) => !A.has(Z(o.ref))).reverse().map((o) => ({ kind: "annotation.remove", ref: o.ref, left: o.left, ...r ? { rights: r } : {} })); + return s || (s = fA(e, o.page.objectNumber), n.set(o.page.objectNumber, s)), Ko(s, o); + }, a = t.map((o) => ({ ref: o.ref, left: i(o.ref) })), A = new Set(a.flatMap((o) => o.left.map((s) => W(s.ref)).filter((s) => s !== W(o.ref)))); + return a.filter((o) => !A.has(W(o.ref))).reverse().map((o) => ({ kind: "annotation.remove", ref: o.ref, left: o.left, ...r ? { rights: r } : {} })); } -function xl(e) { - Fe(e, "doc.annotate.modify"), Fe(e, "doc.annotate.import"); +function Vu(e) { + ge(e, "doc.annotate.modify"), ge(e, "doc.annotate.import"); } -function fS(e) { +function YS(e) { return { ...e, grants: null }; } -function FS(e, t, r) { - let n = Qn(e, t.ref); +function XS(e, t, r) { + let n = fn(e, t.ref); if (n.subtype === "widget") throw new f(g.InvalidArg, "a widget is the form's: change its place and look with doc.forms.updateWidget"); - return Ht(e.authority, li(n.subtype)), gn(r, n, t.expect), _l(e, t.ref, t.patch, "annotations.update", t.resources); + return vt(e.authority, vr(n.subtype)), gn(r, n, t.expect), sh(e, n, t.patch.nm), Yu(e, t.ref, t.patch, "annotations.update", t.resources); +} +function sh(e, t, r) { + if (!r || r === t.nm) return; + let n = e.session.resolvePageRef(t.ref.page); + if (Mu(e.runtime, e.session.requireDocPtr(), n.pageIndex, r) >= 0) throw Y3(r, n.pageObjectNumber); } -function vS(e, t, r) { - let n = Qn(e, t.ref); - if (n.subtype === "widget") throw PS(n); - return Ht(e.authority, li(n.subtype)), gn(r, n, t.expect), N3(e, t.ref); +function WS(e, t, r) { + let n = fn(e, t.ref); + if (n.subtype === "widget") throw US(n); + return vt(e.authority, vr(n.subtype)), gn(r, n, t.expect), lh(e, t.ref); } -function PS(e) { +function US(e) { let t = e.field?.kind === "objectNumber" && e.ref.kind === "objectNumber" && e.field.objectNumber === e.ref.objectNumber; return new f(g.InvalidArg, t ? "widget is its form field's own dictionary (a merged field/widget) - delete the field with doc.forms.delete" : e.field ? "widget is attached to a form field - use doc.forms.removeWidget or doc.forms.delete" : "a widget is the form's: it isn't deleted as an annotation"); } -function hS(e, t) { - let r = Gl(fs(e.runtime, e.session, t.page), "annotations", t.refs, t.position); - return L3(e, "annotations", t.refs), Cl(e.runtime, e.session, r), R3(e, r, t.refs); +function qS(e, t) { + let r = Ku(ks(e.runtime, e.session, t.page), "annotations", t.refs, t.position); + return dh(e, "annotations", t.refs), Nu(e.runtime, e.session, r), ch(e, r, t.refs); } -function R3(e, t, r) { +function ch(e, t, r) { let { page: n } = t.stack; - return { item: T3(e, t.family, n, t.after, r), reverse: [{ kind: "annotation.reorder", page: n, family: t.family, refs: r, before: t.before, after: t.after }] }; + return { item: ph(e, t.family, n, t.after, r), reverse: [{ kind: "annotation.reorder", page: n, family: t.family, refs: r, before: t.before, after: t.after }] }; } -function kS(e, t) { - let r = t.subject.annotation, n = t.reports, i = xS(e, r); - if (!i) return Pe(e, n); - if (Ht(e.authority, li(i.subtype)), Di(e.runtime, e.session, t.objects)) { - cf(e.authority, i, void 0); - let D = lA(e.runtime, e.session, t.objects); - return { item: K3(e, n, r, { annotation: Qn(e, r), appearance: { action: "restored", changed: t.appearanceChanged ?? !0 }, meta: Wr(e.session.writeStamp(), r.page.objectNumber, [r]) }), reverse: [{ ...t, objects: D, ...GS(t.fallback) }] }; +function ZS(e, t) { + let r = t.subject.annotation, n = t.reports, i = r6(e, r); + if (!i) return ve(e, n); + if (vt(e.authority, vr(i.subtype)), Gi(e.runtime, e.session, t.objects)) { + Cf(e.authority, i, void 0); + let D = gA(e.runtime, e.session, t.objects); + return { item: uh(e, n, r, { annotation: fn(e, r), appearance: { action: "restored", changed: t.appearanceChanged ?? !0 }, meta: zr(e.session.writeStamp(), r.page.objectNumber, [r]) }), reverse: [{ ...t, objects: D, ...t6(t.fallback) }] }; } let a = t.fallback; - if (a?.kind !== "annotation") return Pe(e, n); - let A = i, o = a.left, s = a.restore, d = Object.keys(o), l = d.filter((D) => We(A[D], o[D])); - if (l.length === 0) return Pe(e, n); - let m = (D, G) => D === "actions" && i.subtype === "widget" ? J9(G) : G, F = _l(e, r, Object.fromEntries(l.map((D) => [D, m(D, s[D])])), n), k = d.filter((D) => !l.includes(D)), P = F.item; - return k.length === 0 || Oa(P) || P.type !== n ? F : { ...F, item: { ...P, skipped: k } }; -} -function BS(e, t) { - let r = Il(e, t.ref.page); - if (!r) return Pe(e, "annotations.delete"); - let n = Oo(r, t.ref), i = new Map(t.left.map((a) => [Z(a.ref), a])); + if (a?.kind !== "annotation") return ve(e, n); + let A = i, o = a.left, s = a.restore, d = Object.keys(o), u = d.filter((D) => Ue(A[D], o[D])); + if (u.length === 0) return ve(e, n); + let m = (D, G) => D === "actions" && i.subtype === "widget" ? x9(G) : G, F = Yu(e, r, Object.fromEntries(u.map((D) => [D, m(D, s[D])])), n), h = d.filter((D) => !u.includes(D)), P = F.item; + return h.length === 0 || Ra(P) || P.type !== n ? F : { ...F, item: { ...P, skipped: h } }; +} +function zS(e, t) { + let r = Wu(e, t.ref.page); + if (!r) return ve(e, "annotations.delete"); + let n = Ko(r, t.ref), i = new Map(t.left.map((a) => [W(a.ref), a])); if (!(n.length > 0 && n.length === i.size && n.every((a) => { - let A = i.get(Z(a.ref)); - return A !== void 0 && We(a, A); - }))) return Pe(e, "annotations.delete"); - for (let a of Kd(n)) Ht(e.authority, a); - return t.rights && xl(e.authority), N3(e, t.ref, t.rights); -} -function DS(e, t) { - let r = Il(e, t.page), n = t.members[0]; - if (!r || !n || r.some((s) => Z(s.ref) === Z(n))) return Pe(e, "annotations.restore"); + let A = i.get(W(a.ref)); + return A !== void 0 && Ue(a, A); + }))) return ve(e, "annotations.delete"); + for (let a of $d(n)) vt(e.authority, a); + return t.rights && Vu(e.authority), lh(e, t.ref, t.rights); +} +function JS(e, t) { + let r = Wu(e, t.page), n = t.members[0]; + if (!r || !n || r.some((s) => W(s.ref) === W(n))) return ve(e, "annotations.restore"); let { pageIndex: i, pageObjectNumber: a } = e.session.resolvePageRef(t.page); - M3(e.runtime, e.session.requireDocPtr(), i, t.capture), e.session.invalidateDerived(), t.unlinked.length > 0 && Di(e.runtime, e.session, t.unlinked) && lA(e.runtime, e.session, t.unlinked); - let A = uA(e, a), o = t.members.map((s) => { - let d = A.find((l) => Z(l.ref) === Z(s)); - if (!d) throw new Error(`a restored annotation is missing: ${Z(s)}`); + ah(e.runtime, e.session.requireDocPtr(), i, t.capture), e.session.invalidateDerived(), t.unlinked.length > 0 && Gi(e.runtime, e.session, t.unlinked) && gA(e.runtime, e.session, t.unlinked); + let A = fA(e, a), o = t.members.map((s) => { + let d = A.find((u) => W(u.ref) === W(s)); + if (!d) throw new Error(`a restored annotation is missing: ${W(s)}`); return d; }); - for (let s of Kd(o)) Ht(e.authority, s); - return t.rights ? xl(e.authority) : df(e.authority, o), { item: { type: "annotations.restore", page: t.page, annotations: o, meta: Wr(e.session.writeStamp(), a, t.members) }, reverse: [{ kind: "annotation.remove", ref: n, left: o, ...t.rights ? { rights: t.rights } : {} }] }; -} -function yS(e, t) { - let r = t.family === "annotations" ? "annotations.reorder" : "forms.reorderWidgets", n = _S(e, t.page); - if (!n) return Pe(e, r); - let i = zc(n, t.family), a = t.refs.filter((l) => { - let m = Dw(i, l); - return m !== void 0 && m === Dw(t.after, l); + for (let s of $d(o)) vt(e.authority, s); + return t.rights ? Vu(e.authority) : xf(e.authority, o), { item: { type: "annotations.restore", page: t.page, annotations: o, meta: zr(e.session.writeStamp(), a, t.members) }, reverse: [{ kind: "annotation.remove", ref: n, left: o, ...t.rights ? { rights: t.rights } : {} }] }; +} +function $S(e, t) { + let r = t.family === "annotations" ? "annotations.reorder" : "forms.reorderWidgets", n = i6(e, t.page); + if (!n) return ve(e, r); + let i = id(n, t.family), a = t.refs.filter((u) => { + let m = Tw(i, u); + return m !== void 0 && m === Tw(t.after, u); }); - if (a.length === 0) return Pe(e, r); - L3(e, t.family, a); - let A = new Set(a.map(Z)), o = new Set(i.map(Z).filter((l) => !A.has(l))), s = n; - for (let l of t.before.filter((m) => A.has(Z(m)))) { - let m = t.before.findIndex((P) => Z(P) === Z(l)), F = t.before.slice(0, m).reverse().find((P) => o.has(Z(P))), k = Gl(s, t.family, [l], F ? { after: F } : "start"); - Cl(e.runtime, e.session, k), o.add(Z(l)), s = fs(e.runtime, e.session, t.page); + if (a.length === 0) return ve(e, r); + dh(e, t.family, a); + let A = new Set(a.map(W)), o = new Set(i.map(W).filter((u) => !A.has(u))), s = n; + for (let u of t.before.filter((m) => A.has(W(m)))) { + let m = t.before.findIndex((P) => W(P) === W(u)), F = t.before.slice(0, m).reverse().find((P) => o.has(W(P))), h = Ku(s, t.family, [u], F ? { after: F } : "start"); + Nu(e.runtime, e.session, h), o.add(W(u)), s = ks(e.runtime, e.session, t.page); } - let d = zc(s, t.family); - return { item: T3(e, t.family, t.page, d, a), reverse: [{ ...t, refs: a, before: i, after: d }] }; + let d = id(s, t.family); + return { item: ph(e, t.family, t.page, d, a), reverse: [{ ...t, refs: a, before: i, after: d }] }; } -function Dw(e, t) { - let r = e.findIndex((n) => Z(n) === Z(t)); - if (!(r < 0)) return r === 0 ? null : Z(e[r - 1]); +function Tw(e, t) { + let r = e.findIndex((n) => W(n) === W(t)); + if (!(r < 0)) return r === 0 ? null : W(e[r - 1]); } -function L3(e, t, r) { +function dh(e, t, r) { if (t === "widgets") { - Fe(e.authority, "doc.forms.modify"); + ge(e.authority, "doc.forms.modify"); return; } - let n = r.map((i) => Qn(e, i)); - for (let i of Kd(n)) Fe(e.authority, i); + let n = r.map((i) => fn(e, i)); + for (let i of $d(n)) ge(e.authority, i); } -function T3(e, t, r, n, i) { +function ph(e, t, r, n, i) { let a = e.session.writeStamp(); - return t === "annotations" ? { type: "annotations.reorder", page: r, order: n, meta: Wr(a, r.objectNumber, i) } : { type: "forms.reorderWidgets", page: r, order: n, meta: pt(a, [], i.map((A) => ({ ref: A, objectNumber: gr(e, A), page: r }))) }; + return t === "annotations" ? { type: "annotations.reorder", page: r, order: n, meta: zr(a, r.objectNumber, i) } : { type: "forms.reorderWidgets", page: r, order: n, meta: ut(a, [], i.map((A) => ({ ref: A, objectNumber: fr(e, A), page: r }))) }; } -function _l(e, t, r, n, i) { - zt(e.runtime, e.session, t.page.objectNumber); - let a = Qn(e, t), A = a.subtype === "widget" ? wc(a.fieldKind, r) : r, o = CS(a, A).map((m) => ({ objectNumber: gr(e, m), deep: [] })), s = en(e.runtime, e.session, [{ objectNumber: gr(e, t), deep: mS }, ...o]), d = Hl(e).update(t, A, e.authority, e.signal, i), l = ft(e.runtime, e.session, s); - return { item: K3(e, n, t, d), reverse: [{ kind: "objects.revert", reports: n, objects: l, subject: { annotation: t }, appearanceChanged: d.appearance.changed, fallback: ES(a, d.annotation, A) }] }; +function Yu(e, t, r, n, i) { + Jt(e.runtime, e.session, t.page.objectNumber); + let a = fn(e, t), A = a.subtype === "widget" ? hc(a.fieldKind, r) : r, o = n6(a, A).map((m) => ({ objectNumber: fr(e, m), deep: [] })), s = tn(e.runtime, e.session, [{ objectNumber: fr(e, t), deep: TS }, ...o]), d = Xu(e).update(t, A, e.authority, e.signal, i), u = Pt(e.runtime, e.session, s); + return { item: uh(e, n, t, d), reverse: [{ kind: "objects.revert", reports: n, objects: u, subject: { annotation: t }, appearanceChanged: d.appearance.changed, fallback: e6(a, d.annotation, A) }] }; } -function K3(e, t, r, n) { +function uh(e, t, r, n) { if (t === "annotations.update") return { type: "annotations.update", page: r.page, ...n }; let i = n.annotation; if (i.subtype !== "widget") throw new Error("a widget update read back no widget"); - let a = En(gr(e, r), r.page); - return { type: "forms.updateWidget", widget: i, appearance: n.appearance, meta: pt(e.session.writeStamp(), i.field ? [i.field] : [], [a], n.appearance.changed ? [a] : []) }; + let a = Gn(fr(e, r), r.page); + return { type: "forms.updateWidget", widget: i, appearance: n.appearance, meta: ut(e.session.writeStamp(), i.field ? [i.field] : [], [a], n.appearance.changed ? [a] : []) }; } -function N3(e, t, r) { +function lh(e, t, r) { let n = t.page.objectNumber; - zt(e.runtime, e.session, n); - let i = Oo(uA(e, n), t), a = new Set(i.map((F) => Z(F.ref))), A = i.flatMap((F) => F.subtype === "popup" && F.parent && !a.has(Z(F.parent)) ? [{ objectNumber: gr(e, F.parent), deep: [] }] : []), o = en(e.runtime, e.session, A), { pageIndex: s } = e.session.resolvePageRef(t.page), d = i.length > 0 ? O3(e.runtime, e.session.requireDocPtr(), s, i.map((F) => gt(e.runtime, e.session, F.ref).index)) : new Uint8Array(), l = r ? fS(e.authority) : e.authority, m = Hl(e).delete(t, l, e.signal); - return { item: { type: "annotations.delete", page: t.page, ...m }, reverse: [{ kind: "annotation.restore", page: t.page, members: m.meta.changedRefs, capture: d, unlinked: ft(e.runtime, e.session, o), ...r ? { rights: r } : {} }] }; + Jt(e.runtime, e.session, n); + let i = Ko(fA(e, n), t), a = new Set(i.map((F) => W(F.ref))), A = i.flatMap((F) => F.subtype === "popup" && F.parent && !a.has(W(F.parent)) ? [{ objectNumber: fr(e, F.parent), deep: [] }] : []), o = tn(e.runtime, e.session, A), { pageIndex: s } = e.session.resolvePageRef(t.page), d = i.length > 0 ? ih(e.runtime, e.session.requireDocPtr(), s, i.map((F) => Ft(e.runtime, e.session, F.ref).index)) : new Uint8Array(), u = r ? YS(e.authority) : e.authority, m = Xu(e).delete(t, u, e.signal); + return { item: { type: "annotations.delete", page: t.page, ...m }, reverse: [{ kind: "annotation.restore", page: t.page, members: m.meta.changedRefs, capture: d, unlinked: Pt(e.runtime, e.session, o), ...r ? { rights: r } : {} }] }; } -function ES(e, t, r) { - let n = e, i = t, a = Object.keys(r).filter((A) => !We(n[A], i[A])); +function e6(e, t, r) { + let n = e, i = t, a = Object.keys(r).filter((A) => !Ue(n[A], i[A])); return { kind: "annotation", restore: Object.fromEntries(a.map((A) => [A, n[A]])), left: Object.fromEntries(a.map((A) => [A, i[A]])) }; } -function GS(e) { +function t6(e) { return e?.kind !== "annotation" ? e ? { fallback: e } : {} : { fallback: { kind: "annotation", restore: e.left, left: e.restore } }; } -function CS(e, t) { +function n6(e, t) { let r = []; if ("open" in t && (e.subtype === "text" && e.popup && r.push(e.popup), e.subtype === "popup" && e.parent && r.push(e.parent)), e.subtype === "popup" && "parent" in t) { e.parent && r.push(e.parent); @@ -12912,45 +13106,45 @@ function CS(e, t) { } return r; } -function Hl(e) { - return new yl(e.runtime, e.session, e.fonts); +function Xu(e) { + return new Lu(e.runtime, e.session, e.fonts); } -function Qn(e, t) { - gt(e.runtime, e.session, t); - let r = Z(t), n = uA(e, t.page.objectNumber).find((i) => Z(i.ref) === r); +function fn(e, t) { + Ft(e.runtime, e.session, t); + let r = W(t), n = fA(e, t.page.objectNumber).find((i) => W(i.ref) === r); if (!n) throw new Error(`annotation ${r} is on its page but reads as none`); return n; } -function xS(e, t) { - return Il(e, t.page)?.find((r) => Z(r.ref) === Z(t)) ?? null; +function r6(e, t) { + return Wu(e, t.page)?.find((r) => W(r.ref) === W(t)) ?? null; } -function uA(e, t) { - return new os(e.runtime, e.session, e.fonts).listOne(t, e.signal).annotations; +function fA(e, t) { + return new us(e.runtime, e.session, e.fonts).listOne(t, e.signal).annotations; } -function _S(e, t) { +function i6(e, t) { try { - return fs(e.runtime, e.session, t); + return ks(e.runtime, e.session, t); } catch { return null; } } -function Il(e, t) { +function Wu(e, t) { try { - return uA(e, e.session.resolvePageRef(t).pageObjectNumber); + return fA(e, e.session.resolvePageRef(t).pageObjectNumber); } catch { return null; } } -function gr(e, t) { +function fr(e, t) { if (t.kind === "objectNumber") return t.objectNumber; - let { pageIndex: r, index: n } = gt(e.runtime, e.session, t), i = dr(e.runtime, e.session, r, n); + let { pageIndex: r, index: n } = Ft(e.runtime, e.session, t), i = dr(e.runtime, e.session, r, n); try { return e.runtime.fn.EPDFAnnot_GetObjectNumber(i); } finally { e.runtime.fn.FPDFPage_CloseAnnot(i); } } -var $s = class { +var ic = class { constructor(e, t) { this.runtime = e, this.session = t; } @@ -12960,42 +13154,42 @@ var $s = class { for (let A = 0; A < i; A++) { let o = t.FPDFDoc_GetAttachment(n, A); if (!o) continue; - let s = $_(t, r, n, A) ?? ""; - a.push({ ...Xr(t, r, o), ref: kg(s), index: A }); + let s = DH(t, r, n, A) ?? ""; + a.push({ ...Zr(t, r, o), ref: Rg(s), index: A }); } return a; } readFile(e, t, r, n) { S(n); - let { fn: i, mem: a } = this.runtime, A = this.session.requireDocPtr(), o = YA(i, a, A, e); + let { fn: i, mem: a } = this.runtime, A = this.session.requireDocPtr(), o = ZA(i, a, A, e); if (o < 0) throw new f(g.NotFound, `no embedded file with key '${e.key}' in the document`); let s = i.FPDFDoc_GetAttachment(A, o); if (!s) throw new f(g.Unknown, `embedded file with key '${e.key}' resolved to index ${o} but could not be opened`); - let d = Xr(i, a, s); + let d = Zr(i, a, s); return this.extract(s, d.name, d.mimeType ?? void 0, t, r); } async readAnnotationFile(e, t, r, n, i, a) { S(i); - let { fn: A, mem: o } = this.runtime, s = this.session.pagePool(), d = await s.acquireInSlices(e, i, a), l = null; + let { fn: A, mem: o } = this.runtime, s = this.session.pagePool(), d = await s.acquireInSlices(e, i, a), u = null; try { - l = ka(this.runtime, this.session, d, t); - let m = A.FPDFAnnot_GetFileAttachment(l); + u = ya(this.runtime, this.session, d, t); + let m = A.FPDFAnnot_GetFileAttachment(u); if (!m) throw new f(g.InvalidArg, "annotation is not a file attachment or carries no embedded file (/FS)"); - let F = Xr(A, o, m); + let F = Zr(A, o, m); return this.extract(m, F.name, F.mimeType ?? void 0, r, n); } finally { - l !== null && A.FPDFPage_CloseAnnot(l), s.release(e); + u !== null && A.FPDFPage_CloseAnnot(u), s.release(e); } } extract(e, t, r, n, i) { if (n !== void 0) { - let { size: o } = eH(this.runtime, e, n, i); + let { size: o } = yH(this.runtime, e, n, i); return { name: t, ...r ? { mimeType: r } : {}, size: o, path: n }; } - let { bytes: a, size: A } = Pv(this.runtime, e, i); + let { bytes: a, size: A } = Yv(this.runtime, e, i); return { name: t, ...r ? { mimeType: r } : {}, size: A, bytes: a }; } -}, HS = class { +}, a6 = class { constructor(e, t) { this.runtime = e, this.session = t; } @@ -13004,7 +13198,7 @@ var $s = class { let { fn: n, mem: i } = this.runtime, a = this.session.requireDocPtr(); if (!t) throw new f(g.InvalidArg, "an attachments.create op needs its bytes as its file resource", { details: { field: "resources.file" } }); if (e.name.length === 0) throw new f(g.InvalidArg, "attachment file requires a name"); - if (YA(n, i, a, { key: e.name }) !== -1) throw new f(g.InvalidArg, `an embedded file with key '${e.name}' already exists — keys are unique; rename and retry`); + if (ZA(n, i, a, { key: e.name }) !== -1) throw new f(g.InvalidArg, `an embedded file with key '${e.name}' already exists — keys are unique; rename and retry`); S(r); let A = i.writeU16String(e.name), o; try { @@ -13013,66 +13207,171 @@ var $s = class { i.free(A); } if (!o) throw new f(g.Unknown, "FPDFDoc_AddAttachment returned NULL"); - Mp(n, i, o, a, e, { bytes: t, ...e.mimeType !== void 0 ? { mimeType: e.mimeType } : {}, name: e.name }); - let s = kg(e.name), d = this.find(s); + qp(n, i, o, a, e, { bytes: t, ...e.mimeType !== void 0 ? { mimeType: e.mimeType } : {}, name: e.name }); + let s = Rg(e.name), d = this.find(s); if (!d) throw new f(g.Unknown, "created attachment did not resolve by key after the write"); return { attachment: d, meta: this.meta(s) }; } find(e) { - let { fn: t, mem: r } = this.runtime, n = this.session.requireDocPtr(), i = YA(t, r, n, e), a = i < 0 ? null : t.FPDFDoc_GetAttachment(n, i); - return a ? { ...Xr(t, r, a), ref: e, index: i } : null; + let { fn: t, mem: r } = this.runtime, n = this.session.requireDocPtr(), i = ZA(t, r, n, e), a = i < 0 ? null : t.FPDFDoc_GetAttachment(n, i); + return a ? { ...Zr(t, r, a), ref: e, index: i } : null; + } + meta(e) { + return { affectedPages: [], cacheDelta: null, ...this.session.writeStamp(), changedRefs: [e] }; + } + delete(e, t) { + S(t); + let { fn: r, mem: n } = this.runtime, i = this.session.requireDocPtr(), a = ZA(r, n, i, e); + if (a < 0) throw new f(g.NotFound, `no embedded file with key '${e.key}' in the document`); + if (!r.FPDFDoc_DeleteAttachment(i, a)) throw new f(g.Unknown, "FPDFDoc_DeleteAttachment returned false"); + return { meta: this.meta(e) }; + } +}, Uu = (e) => new a6(e.runtime, e.session), Bs = (e) => ge(e.authority, "doc.attachments.modify"); +function A6(e, t) { + Bs(e); + let r = Uu(e).create(t.file, t.resources.file, e.signal); + return { item: { type: "attachments.create", ...r }, reverse: [wh(e, r.attachment.ref)] }; +} +function o6(e, t) { + return Bs(e), mh(e, t.ref); +} +function s6(e, t) { + let r = Ah(e.runtime, e.session.requireDocPtr(), t.ref.key); + return !r || !hs(r, t.left) ? ve(e, "attachments.delete") : (Bs(e), mh(e, t.ref)); +} +function c6(e, t) { + let r = Uu(e); + if (r.find(t.ref)) return ve(e, "attachments.restore"); + Bs(e), SS(e.runtime, e.session.requireDocPtr(), t.capture); + let n = r.find(t.ref); + if (!n) throw new f(g.Unknown, `attachment '${t.ref.key}' did not come back`); + return { item: { type: "attachments.restore", attachment: n, meta: r.meta(t.ref) }, reverse: [wh(e, t.ref)] }; +} +function mh(e, t) { + let r = Uu(e); + if (!r.find(t)) throw new f(g.NotFound, `no embedded file with key '${t.key}' in the document`, { details: { field: "ref" } }); + let n = QS(e.runtime, e.session.requireDocPtr(), t.key); + return { item: { type: "attachments.delete", ...r.delete(t, e.signal) }, reverse: [{ kind: "attachments.restore", ref: t, capture: n }] }; +} +function wh(e, t) { + let r = Ah(e.runtime, e.session.requireDocPtr(), t.key); + if (!r) throw new f(g.Unknown, `attachment '${t.key}' is not there to guard`); + return { kind: "attachments.remove", ref: t, left: r }; +} +function Gt(e, t, r) { + let { fn: n } = e; + if (r.kind === "objectNumber") { + let a = n.EPDFForm_GetFieldIndexByObjNum(t, r.objectNumber); + if (a < 0) throw new f(g.NotFound, `form field not found: object ${r.objectNumber}`); + return { fieldIndex: a, fieldObjectNumber: r.objectNumber }; + } + let i = n.EPDFForm_CountFields(t); + for (let a = 0; a < i; a++) if ((le(e.mem, (A, o) => n.EPDFForm_GetFieldName(t, a, A, o)) ?? "") === r.name) return { fieldIndex: a, fieldObjectNumber: n.EPDFForm_GetFieldObjNum(t, a) }; + throw new f(g.NotFound, `form field not found: "${r.name}"`); +} +function zA(e) { + return e.ref.kind === "objectNumber" ? e.ref.objectNumber : 0; +} +function d6(e, t, r, n) { + let { formKind: i, needsAppearances: a, fields: A, calculationOrder: o } = SP(e, Be(e, t), t.requireDocPtr()); + return { formKind: i, needsAppearances: a, fields: A, widgets: p6(e, t, r, n), calculationOrder: o }; +} +function p6(e, t, r, n) { + let { fn: i } = e, a = t.requireDocPtr(), A = [], o = i.FPDF_GetPageCount(a); + for (let s = 0; s < o; s++) { + S(r); + let d = i.EPDFDoc_GetPageObjectNumberByIndex(a, s); + if (d <= 0) continue; + let u = i.EPDFPage_GetAnnotCountRaw(a, s); + if (u <= 0) continue; + let { annotations: m } = jP({ runtime: e, session: t, pageObjectNumber: d, count: u, getAnnotPtrAt: (F) => i.EPDFPage_GetAnnotRaw(a, s, F), signal: r, family: "widgets", ...n ? { fonts: n } : {} }); + A.push(...m); + } + return A; +} +function u6(e, t, r, n) { + let { fn: i, mem: a } = e, A = [], o = /* @__PURE__ */ new Set(); + for (let s of r) { + if (!s.ref || o.has(s.objectNumber)) continue; + o.add(s.objectNumber); + let d = l6(e, t, s); + if (!d) continue; + let u = dr(e, t, d.pageIndex, d.index); + try { + let m = Eo(i, a, u, s.ref.page.objectNumber, d.index, Ea(t, n)); + m.subtype === "widget" && A.push(m); + } finally { + i.FPDFPage_CloseAnnot(u); + } + } + return _a(e, t, A), A; +} +function bh(e, t, r, n) { + return { ...r, widgets: u6(e, t, r.meta.changedWidgets, n) }; +} +function l6(e, t, r) { + try { + return Ft(e, t, r.ref); + } catch (n) { + if (f.is(n) && n.code === g.NotFound) return null; + throw n; + } +} +var qu = class { + constructor(e, t, r) { + this.runtime = e, this.session = t, this.fonts = r; } - meta(e) { - return { affectedPages: [], cacheDelta: null, ...this.session.writeStamp(), changedRefs: [e] }; + snapshot(e) { + return S(e), d6(this.runtime, this.session, e, this.fonts); } - delete(e, t) { + field(e, t) { S(t); - let { fn: r, mem: n } = this.runtime, i = this.session.requireDocPtr(), a = YA(r, n, i, e); - if (a < 0) throw new f(g.NotFound, `no embedded file with key '${e.key}' in the document`); - if (!r.FPDFDoc_DeleteAttachment(i, a)) throw new f(g.Unknown, "FPDFDoc_DeleteAttachment returned false"); - return { meta: this.meta(e) }; + let r = Be(this.runtime, this.session), { fieldIndex: n } = Gt(this.runtime, r, e); + return Ye(this.runtime, r, n, this.session.requireDocPtr()); } -}, Ql = (e) => new HS(e.runtime, e.session), Fs = (e) => Fe(e.authority, "doc.attachments.modify"); -function IS(e, t) { - Fs(e); - let r = Ql(e).create(t.file, t.resources.file, e.signal); - return { item: { type: "attachments.create", ...r }, reverse: [Y3(e, r.attachment.ref)] }; -} -function QS(e, t) { - return Fs(e), V3(e, t.ref); +}; +function Ha(e, t) { + let { fn: r } = e, n = [], i = r.EPDFForm_CountCalculationOrder(t); + for (let a = 0; a < i; a++) { + let A = r.EPDFForm_GetCalculationOrderFieldIndex(t, a); + if (A < 0) continue; + let o = r.EPDFForm_GetFieldObjNum(t, A); + o > 0 && !n.includes(o) && n.push(o); + } + return n; } -function SS(e, t) { - let r = j3(e.runtime, e.session.requireDocPtr(), t.ref.key); - return !r || !gs(r, t.left) ? Pe(e, "attachments.delete") : (Fs(e), V3(e, t.ref)); +function Ad(e, t, r) { + let { fn: n, mem: i } = e; + if (!Ut(i, r, (a, A) => n.EPDFForm_SetCalculationOrder(t, a, A))) throw new f(g.InvalidArg, "the calculation order could not be written"); } -function OS(e, t) { - let r = Ql(e); - if (r.find(t.ref)) return Pe(e, "attachments.restore"); - Fs(e), cS(e.runtime, e.session.requireDocPtr(), t.capture); - let n = r.find(t.ref); - if (!n) throw new f(g.Unknown, `attachment '${t.ref.key}' did not come back`); - return { item: { type: "attachments.restore", attachment: n, meta: r.meta(t.ref) }, reverse: [Y3(e, t.ref)] }; +function xo(e, t) { + return e.length === t.length && e.every((r, n) => r === t[n]); } -function V3(e, t) { - let r = Ql(e); - if (!r.find(t)) throw new f(g.NotFound, `no embedded file with key '${t.key}' in the document`, { details: { field: "ref" } }); - let n = sS(e.runtime, e.session.requireDocPtr(), t.key); - return { item: { type: "attachments.delete", ...r.delete(t, e.signal) }, reverse: [{ kind: "attachments.restore", ref: t, capture: n }] }; +function m6(e, { before: t, after: r }, n) { + let i = r.filter((A) => !t.includes(A)), a = e.filter((A) => !i.includes(A)); + for (let A of t) { + if (r.includes(A)) { + if (SA(t, A) === SA(r, A) || SA(e, A) !== SA(r, A)) continue; + a = a.filter((u) => u !== A); + } else if (a.includes(A) || !n(A)) continue; + let o = t.indexOf(A), s = t.slice(0, o).reverse().find((u) => a.includes(u)), d = s === void 0 ? 0 : a.indexOf(s) + 1; + a = [...a.slice(0, d), A, ...a.slice(d)]; + } + return a; } -function Y3(e, t) { - let r = j3(e.runtime, e.session.requireDocPtr(), t.key); - if (!r) throw new f(g.Unknown, `attachment '${t.key}' is not there to guard`); - return { kind: "attachments.remove", ref: t, left: r }; +function SA(e, t) { + let r = e.indexOf(t); + if (!(r < 0)) return r === 0 ? null : e[r - 1]; } -var MS = 20; -function yw(e, t, r, n, i, a) { - let { fn: A, mem: o } = e, s = A.EPDFPage_CreateAnnotRaw(t, r, MS, i ?? 0); - if (s === Y && i !== void 0) throw Pa(i, "taken"); - if (s === Y) throw new f(g.Unknown, "failed to create widget annotation"); +var w6 = 20; +function Kw(e, t, r, n, i, a) { + let { fn: A, mem: o } = e, s = A.EPDFPage_CreateAnnotRaw(t, r, w6, i ?? 0); + if (s === X && i !== void 0) throw Ba(i, "taken"); + if (s === X) throw new f(g.Unknown, "failed to create widget annotation"); try { - Un(A, o, s, "NM", Zg()); - let { page: d, rect: l, rotation: m, exportValue: F, actions: k, ...P } = n; - $e(A, o, s, l), m && h3(A, s, m), Object.keys(P).length > 0 && kl(A, o, s, P, a), k && v3(e, t, s, k); + qn(A, o, s, "NM", ff()); + let { page: d, rect: u, rotation: m, exportValue: F, actions: h, ...P } = n; + $e(A, o, s, u), m && K3(A, s, m), Object.keys(P).length > 0 && Su(A, o, s, P, a), h && L3(e, t, s, h); let D = A.EPDFAnnot_GetObjectNumber(s); if (D <= 0) throw new f(g.Unknown, "widget annotation has no object number"); return D; @@ -13080,148 +13379,134 @@ function yw(e, t, r, n, i, a) { A.FPDFPage_CloseAnnot(s); } } -var jS = { readOnly: 1, required: 2, noExport: 4, multiline: 4096, password: 8192, noToggleToOff: 16384, edit: 1 << 18, multiSelect: 1 << 21, comb: 1 << 24, radiosInUnison: 1 << 25 }; -function Ew(e) { +var b6 = { readOnly: 1, required: 2, noExport: 4, multiline: 4096, password: 8192, noToggleToOff: 16384, edit: 1 << 18, multiSelect: 1 << 21, comb: 1 << 24, radiosInUnison: 1 << 25 }; +function Nw(e) { let t = 0, r = 0; - for (let [n, i] of Object.entries(jS)) { + for (let [n, i] of Object.entries(b6)) { let a = e[n]; a === !0 ? t |= i : a === !1 && (r |= i); } return { setBits: t, clearBits: r }; } -function yt(e, t, r) { - let { fn: n } = e; - if (r.kind === "objectNumber") { - let a = n.EPDFForm_GetFieldIndexByObjNum(t, r.objectNumber); - if (a < 0) throw new f(g.NotFound, `form field not found: object ${r.objectNumber}`); - return { fieldIndex: a, fieldObjectNumber: r.objectNumber }; - } - let i = n.EPDFForm_CountFields(t); - for (let a = 0; a < i; a++) if ((ue(e.mem, (A, o) => n.EPDFForm_GetFieldName(t, a, A, o)) ?? "") === r.name) return { fieldIndex: a, fieldObjectNumber: n.EPDFForm_GetFieldObjNum(t, a) }; - throw new f(g.NotFound, `form field not found: "${r.name}"`); -} -function XA(e) { - return e.ref.kind === "objectNumber" ? e.ref.objectNumber : 0; -} -var RS = 1, LS = { 0: "whole-revision", 1: "partial", 2: "malformed" }, TS = 0, KS = 1, NS = 2, VS = 3, YS = 4, XS = 5, WS = 6, US = { 1: "all", 2: "include", 3: "exclude" }, qS = 0, $c = 1, ZS = 1, zS = 2, Gw = 4, JS = 8, $S = 64, e6 = 1 << 17, t6 = 0, n6 = 1, r6 = 2, i6 = 2, a6 = 432; -function Ca(e, t) { - return ue(e.mem, t, ""); +var g6 = 1, f6 = { 0: "whole-revision", 1: "partial", 2: "malformed" }, F6 = 0, v6 = 1, P6 = 2, h6 = 3, k6 = 4, B6 = 5, D6 = 6, y6 = { 1: "all", 2: "include", 3: "exclude" }, E6 = 0, od = 1, G6 = 1, C6 = 2, Vw = 4, x6 = 8, _6 = 64, H6 = 1 << 17, I6 = 0, Q6 = 1, S6 = 2, O6 = 2, M6 = 432; +function Ia(e, t) { + return le(e.mem, t, ""); } -function X3(e) { +function gh(e) { return e === 1 || e === 2 || e === 3; } -function W3(e, t, r) { +function fh(e, t, r) { let { fn: n, mem: i } = e; - return N(i, 32, (a) => { + return V(i, 32, (a) => { for (let A = 0; A < 4; A++) xe(i, a, 0, A * 8); return n.EPDFSig_GetByteRange(t, r, a) ? [_e(i, a, 0), _e(i, a, 8), _e(i, a, 16), _e(i, a, 24)] : null; }); } -function Cw(e, t, r, n) { - let { fn: i } = e, a = n === $c ? i.EPDFSig_GetLockAction(t, r) : i.EPDFSig_GetFieldMDPAction(t, r), A = US[a]; +function Yw(e, t, r, n) { + let { fn: i } = e, a = n === od ? i.EPDFSig_GetLockAction(t, r) : i.EPDFSig_GetFieldMDPAction(t, r), A = y6[a]; if (!A) return null; let o = [], s = i.EPDFSig_GetFieldNameCount(t, r, n); - for (let l = 0; l < s; l++) o.push(Ca(e, (m, F) => i.EPDFSig_GetFieldNameAt(t, r, n, l, m, F)) ?? ""); + for (let u = 0; u < s; u++) o.push(Ia(e, (m, F) => i.EPDFSig_GetFieldNameAt(t, r, n, u, m, F)) ?? ""); let d = { action: A, fields: o }; - if (n === $c) { - let l = i.EPDFSig_GetLockPermission(t, r); - X3(l) && (d.permission = l); + if (n === od) { + let u = i.EPDFSig_GetLockPermission(t, r); + gh(u) && (d.permission = u); } return d; } -function A6(e, t, r) { +function j6(e, t, r) { let { fn: n } = e; if (!n.EPDFSig_HasSeedValue(t, r)) return null; - let i = n.EPDFSig_GetSeedValueRequiredFlags(t, r) >>> 0, a = n.EPDFSig_GetSeedValuePresentFlags(t, r) >>> 0, A = n.EPDFSig_GetSeedValueVersion(t, r), o = n.EPDFSig_GetSeedValueMDP(t, r), s = (l) => { - let m = n.EPDFSig_GetSeedValueListCount(t, r, l), F = []; - for (let k = 0; k < m; k++) F.push(Ca(e, (P, D) => n.EPDFSig_GetSeedValueListAt(t, r, l, k, P, D)) ?? ""); + let i = n.EPDFSig_GetSeedValueRequiredFlags(t, r) >>> 0, a = n.EPDFSig_GetSeedValuePresentFlags(t, r) >>> 0, A = n.EPDFSig_GetSeedValueVersion(t, r), o = n.EPDFSig_GetSeedValueMDP(t, r), s = (u) => { + let m = n.EPDFSig_GetSeedValueListCount(t, r, u), F = []; + for (let h = 0; h < m; h++) F.push(Ia(e, (P, D) => n.EPDFSig_GetSeedValueListAt(t, r, u, h, P, D)) ?? ""); return F; - }, d = (l) => (i & l) !== 0; - return { parserVersion: A > 0 ? A : null, parserVersionRequired: d(Gw), mdp: (a & e6) !== 0 && o >= 0 && o <= 3 ? o : null, filter: Ca(e, (l, m) => n.EPDFSig_GetSeedValueFilter(t, r, l, m)), filterRequired: d(ZS), subFilters: s(t6), subFiltersRequired: d(zS), digestMethods: s(n6), digestMethodsRequired: d($S), reasons: s(r6), reasonsRequired: d(JS), unsupportedRequired: (i & a6) !== 0 || (i & Gw) !== 0 && A > i6 }; + }, d = (u) => (i & u) !== 0; + return { parserVersion: A > 0 ? A : null, parserVersionRequired: d(Vw), mdp: (a & H6) !== 0 && o >= 0 && o <= 3 ? o : null, filter: Ia(e, (u, m) => n.EPDFSig_GetSeedValueFilter(t, r, u, m)), filterRequired: d(G6), subFilters: s(I6), subFiltersRequired: d(C6), digestMethods: s(Q6), digestMethodsRequired: d(_6), reasons: s(S6), reasonsRequired: d(x6), unsupportedRequired: (i & M6) !== 0 || (i & Vw) !== 0 && A > O6 }; } -function fr(e, t) { - let { fn: r } = e, n = r.EPDFSig_Count(t), i = [], a = (A, o) => Ca(e, (s, d) => r.EPDFSig_GetString(t, A, o, s, d)); +function Fr(e, t) { + let { fn: r } = e, n = r.EPDFSig_Count(t), i = [], a = (A, o) => Ia(e, (s, d) => r.EPDFSig_GetString(t, A, o, s, d)); for (let A = 0; A < n; A++) { - let o = r.EPDFSig_IsSigned(t, A), s = r.EPDFSig_GetWidgetObjNum(t, A), d = r.EPDFSig_GetRevisionIndex(t, A), l = r.EPDFSig_GetDocMDPPermission(t, A); - i.push({ index: A, field: { kind: "objectNumber", objectNumber: r.EPDFSig_GetFieldObjNum(t, A) }, fieldName: Ca(e, (m, F) => r.EPDFSig_GetFieldName(t, A, m, F)) ?? "", widget: s > 0 ? En(s, el(r.EPDFSig_GetWidgetPageObjNum(t, A))) : null, signed: o, kind: r.EPDFSig_GetKind(t, A) === RS ? "timestamp" : "signature", filter: a(A, TS), subFilter: a(A, KS), byteRange: o ? W3(e, t, A) : null, contentsSizeBytes: o ? Math.max(0, r.EPDFSig_GetContents(t, A, Y, 0)) : 0, coverage: o ? LS[r.EPDFSig_GetCoverage(t, A)] ?? "malformed" : null, revisionIndex: o && d >= 0 ? d : null, signer: { name: a(A, NS), reason: a(A, VS), location: a(A, YS), contactInfo: a(A, XS), signedAt: o6(a(A, WS)) }, docMdp: X3(l) ? l : null, catalogCertification: r.EPDFSig_IsCatalogCertification(t, A), fieldMdp: Cw(e, t, A, qS), lock: Cw(e, t, A, $c), seedValue: A6(e, t, A) }); + let o = r.EPDFSig_IsSigned(t, A), s = r.EPDFSig_GetWidgetObjNum(t, A), d = r.EPDFSig_GetRevisionIndex(t, A), u = r.EPDFSig_GetDocMDPPermission(t, A); + i.push({ index: A, field: { kind: "objectNumber", objectNumber: r.EPDFSig_GetFieldObjNum(t, A) }, fieldName: Ia(e, (m, F) => r.EPDFSig_GetFieldName(t, A, m, F)) ?? "", widget: s > 0 ? Gn(s, uu(r.EPDFSig_GetWidgetPageObjNum(t, A))) : null, signed: o, kind: r.EPDFSig_GetKind(t, A) === g6 ? "timestamp" : "signature", filter: a(A, F6), subFilter: a(A, v6), byteRange: o ? fh(e, t, A) : null, contentsSizeBytes: o ? Math.max(0, r.EPDFSig_GetContents(t, A, X, 0)) : 0, coverage: o ? f6[r.EPDFSig_GetCoverage(t, A)] ?? "malformed" : null, revisionIndex: o && d >= 0 ? d : null, signer: { name: a(A, P6), reason: a(A, h6), location: a(A, k6), contactInfo: a(A, B6), signedAt: R6(a(A, D6)) }, docMdp: gh(u) ? u : null, catalogCertification: r.EPDFSig_IsCatalogCertification(t, A), fieldMdp: Yw(e, t, A, E6), lock: Yw(e, t, A, od), seedValue: j6(e, t, A) }); } return i; } -function U3(e, t, r) { - let { fn: n, mem: i } = e, a = n.EPDFSig_GetContents(t, r, Y, 0); +function Fh(e, t, r) { + let { fn: n, mem: i } = e, a = n.EPDFSig_GetContents(t, r, X, 0); if (a <= 0) throw new f(g.NotFound, "signature has no usable /Contents (malformed encoding)"); - return N(i, a, (A) => { + return V(i, a, (A) => { if (n.EPDFSig_GetContents(t, r, A, a) !== a) throw new f(g.Unknown, "failed to read signature contents"); let o = new Uint8Array(a); return o.set(i.readBytes(A, a)), o; }); } -function Do(e, t, r) { +function _o(e, t, r) { let { fn: n, mem: i } = e, a = n.EPDFDoc_GetRevisionCount(t), A = []; - return a <= 0 || fe(i, [8, 8], ([o, s]) => { + return a <= 0 || Fe(i, [8, 8], ([o, s]) => { for (let d = 0; d < a; d++) { if (xe(i, o, 0), xe(i, s, 0), !n.EPDFDoc_GetRevision(t, d, o, s)) throw new f(g.Unknown, `failed to read revision ${d}`); - let l = r.find((m) => m.revisionIndex === d); - A.push({ index: d, end: _e(i, o), xrefOffset: _e(i, s), signatureIndex: l ? l.index : null }); + let u = r.find((m) => m.revisionIndex === d); + A.push({ index: d, end: _e(i, o), xrefOffset: _e(i, s), signatureIndex: u ? u.index : null }); } }), A; } -function yo(e, t, r) { +function Ho(e, t, r) { let n = e.fn.EPDFSig_LoadModel(t); - if (n === Y) throw new f(g.Unknown, "failed to build signature model"); + if (n === X) throw new f(g.Unknown, "failed to build signature model"); try { return r(n); } finally { e.fn.EPDFSig_CloseModel(n); } } -function ec(e, t) { - let { fn: r, mem: n } = e, [i, a, A] = fe(n, [4, 4, 4], ([m, F, k]) => (n.poke(m, "i32", 0), n.poke(F, "i32", 0), n.poke(k, "i32", 0), r.EPDFDoc_GetStructureObjectNumbers(t, m, F, k), [Number(n.peek(m, "i32")) >>> 0, Number(n.peek(F, "i32")) >>> 0, Number(n.peek(k, "i32")) >>> 0])), o = [], s = r.FPDF_GetPageCount(t); +function ac(e, t) { + let { fn: r, mem: n } = e, [i, a, A] = Fe(n, [4, 4, 4], ([m, F, h]) => (n.poke(m, "i32", 0), n.poke(F, "i32", 0), n.poke(h, "i32", 0), r.EPDFDoc_GetStructureObjectNumbers(t, m, F, h), [Number(n.peek(m, "i32")) >>> 0, Number(n.peek(F, "i32")) >>> 0, Number(n.peek(h, "i32")) >>> 0])), o = [], s = r.FPDF_GetPageCount(t); for (let m = 0; m < s; m++) o.push(r.EPDFDoc_GetPageObjectNumberByIndex(t, m)); - let d = [], l = r.EPDFForm_LoadModel(t); - if (l !== Y) try { - wP(e, l, t).fields.forEach((m, F) => { - d.push({ objectNumber: XA(m), name: m.name, kind: m.kind, widgets: m.widgets.map((k) => k.objectNumber), flags: r.EPDFForm_GetFieldFlags(l, F) }); + let d = [], u = r.EPDFForm_LoadModel(t); + if (u !== X) try { + SP(e, u, t).fields.forEach((m, F) => { + d.push({ objectNumber: zA(m), name: m.name, kind: m.kind, widgets: m.widgets.map((h) => h.objectNumber), flags: r.EPDFForm_GetFieldFlags(u, F) }); }); } finally { - r.EPDFForm_CloseModel(l); + r.EPDFForm_CloseModel(u); } - return { root: i, acroForm: a, pagesRoot: A, pages: o, fields: d, signatures: yo(e, t, (m) => fr(e, m)) }; + return { root: i, acroForm: a, pagesRoot: A, pages: o, fields: d, signatures: Ho(e, t, (m) => Fr(e, m)) }; } -function o6(e) { - return e ? _n(e) : null; +function R6(e) { + return e ? In(e) : null; } -var Ui = /* @__PURE__ */ new WeakMap(); -function Rr(e, t) { - let r = t.cacheSeq(), n = Ui.get(t); +var Zi = /* @__PURE__ */ new WeakMap(); +function Kr(e, t) { + let r = t.cacheSeq(), n = Zi.get(t); if (n && n.seq === r) return n.ptr; - n && (e.fn.EPDFSig_CloseModel(n.ptr), Ui.delete(t)); + n && (e.fn.EPDFSig_CloseModel(n.ptr), Zi.delete(t)); let i = e.fn.EPDFSig_LoadModel(t.requireDocPtr()); - if (i === Y) throw new f(g.Unknown, "failed to build signature model"); - return Ui.set(t, { seq: r, ptr: i }), i; + if (i === X) throw new f(g.Unknown, "failed to build signature model"); + return Zi.set(t, { seq: r, ptr: i }), i; } -function WA(e, t) { - let r = Ui.get(t); - r && (e.fn.EPDFSig_CloseModel(r.ptr), Ui.delete(t)); +function JA(e, t) { + let r = Zi.get(t); + r && (e.fn.EPDFSig_CloseModel(r.ptr), Zi.delete(t)); } -var xa = { sha1: 0, sha256: 1, sha384: 2, sha512: 3 }, s6 = { sha1: 20, sha256: 32, sha384: 48, sha512: 64 }, nt = class { +var Qa = { sha1: 0, sha256: 1, sha384: 2, sha512: 3 }, L6 = { sha1: 20, sha256: 32, sha384: 48, sha512: 64 }, nt = class { constructor(e, t) { this.runtime = e, this.session = t; } readSnapshot() { - let e = Rr(this.runtime, this.session), t = this.runtime.fn.EPDFSig_IsRevisionChainValid(e), r = fr(this.runtime, e); - return { chainValid: t, revisions: t ? Do(this.runtime, this.session.requireDocPtr(), r) : [], signatures: r, protection: Yn(r) }; + let e = Kr(this.runtime, this.session), t = this.runtime.fn.EPDFSig_IsRevisionChainValid(e), r = Fr(this.runtime, e); + return { chainValid: t, revisions: t ? _o(this.runtime, this.session.requireDocPtr(), r) : [], signatures: r, protection: Xn(r) }; } readProtection() { - let e = Rr(this.runtime, this.session); - return Yn(fr(this.runtime, e)); + let e = Kr(this.runtime, this.session); + return Xn(Fr(this.runtime, e)); } readContents(e) { - let t = Rr(this.runtime, this.session), r = this.requireSignedIndex(t, e); - return U3(this.runtime, t, r).buffer; + let t = Kr(this.runtime, this.session), r = this.requireSignedIndex(t, e); + return Fh(this.runtime, t, r).buffer; } digest(e, t) { - let r = Rr(this.runtime, this.session), n = this.requireSignedIndex(r, e), i = W3(this.runtime, r, n); + let r = Kr(this.runtime, this.session), n = this.requireSignedIndex(r, e), i = fh(this.runtime, r, n); if (!i) throw new f(g.NotFound, "signature has no usable /ByteRange"); return this.digestRange(i, t); } @@ -13233,10 +13518,10 @@ var xa = { sha1: 0, sha256: 1, sha384: 2, sha512: 3 }, s6 = { sha1: 20, sha256: return this.readLoadedBytes(0, r.end); } resolveField(e) { - let { fn: t } = this.runtime, r = Rr(this.runtime, this.session), n = this.indexOf(r, e); + let { fn: t } = this.runtime, r = Kr(this.runtime, this.session), n = this.indexOf(r, e); if (n < 0) throw new f(g.NotFound, e.kind === "objectNumber" ? `signature field not found: object ${e.objectNumber}` : `signature field not found: "${e.name}"`); let i = t.EPDFSig_GetWidgetObjNum(r, n); - return { index: n, fieldObjectNumber: t.EPDFSig_GetFieldObjNum(r, n), signed: t.EPDFSig_IsSigned(r, n), widget: i > 0 ? En(i, el(t.EPDFSig_GetWidgetPageObjNum(r, n))) : null }; + return { index: n, fieldObjectNumber: t.EPDFSig_GetFieldObjNum(r, n), signed: t.EPDFSig_IsSigned(r, n), widget: i > 0 ? Gn(i, uu(t.EPDFSig_GetWidgetPageObjNum(r, n))) : null }; } readSignatureByObjectNumber(e) { let t = this.readSnapshot().signatures.find((r) => r.field.kind === "objectNumber" && r.field.objectNumber === e); @@ -13250,29 +13535,29 @@ var xa = { sha1: 0, sha256: 1, sha384: 2, sha512: 3 }, s6 = { sha1: 20, sha256: version() { let { fn: e, mem: t } = this.runtime, r = this.session.requireDocPtr(), n = Number(e.EPDFDoc_GetBaseBytesSize(r)); if (n <= 0) throw new f(g.DocNotOpen, "document has no loaded bytes"); - if (this.session.kind === "layer") return { sha256: N(t, 32, (A) => { + if (this.session.kind === "layer") return { sha256: V(t, 32, (A) => { if (!e.EPDFLayer_GetBaseSha256(r, A)) throw new f(g.Unknown, "failed to read the base hash"); - return _w(t.readBytes(A, 32)); + return Ww(t.readBytes(A, 32)); }), sizeBytes: n }; let i = this.session.cachedPlainSha256(); if (i) return { sha256: i, sizeBytes: n }; - let a = _w(new Uint8Array(this.digestRange([0, n, n, 0], "sha256"))); + let a = Ww(new Uint8Array(this.digestRange([0, n, n, 0], "sha256"))); return this.session.rememberPlainSha256(a), { sha256: a, sizeBytes: n }; } digestRange(e, t) { - let { fn: r, mem: n } = this.runtime, i = this.session.requireDocPtr(), a = s6[t]; - return fe(n, [32, a, 8], ([A, o, s]) => { - for (let l = 0; l < 4; l++) xe(n, A, e[l], l * 8); - if (xe(n, s, a), !r.EPDFSig_DigestByteRange(i, A, xa[t], o, s)) throw new f(g.InvalidArg, "byte range is not within the loaded bytes"); + let { fn: r, mem: n } = this.runtime, i = this.session.requireDocPtr(), a = L6[t]; + return Fe(n, [32, a, 8], ([A, o, s]) => { + for (let u = 0; u < 4; u++) xe(n, A, e[u], u * 8); + if (xe(n, s, a), !r.EPDFSig_DigestByteRange(i, A, Qa[t], o, s)) throw new f(g.InvalidArg, "byte range is not within the loaded bytes"); let d = Number(n.peek(s, "i32")); - return xw(n.readBytes(o, d)); + return Xw(n.readBytes(o, d)); }); } readLoadedBytes(e, t) { let { fn: r, mem: n } = this.runtime, i = this.session.requireDocPtr(); - return t === 0 ? new ArrayBuffer(0) : N(n, t, (a) => { + return t === 0 ? new ArrayBuffer(0) : V(n, t, (a) => { if (r.EPDFDoc_ReadLoadedBytes(i, BigInt(e), a, t) !== t) throw new f(g.Unknown, "failed to read the loaded bytes"); - return xw(n.readBytes(a, t)); + return Xw(n.readBytes(a, t)); }); } indexOf(e, t) { @@ -13292,19 +13577,19 @@ var xa = { sha1: 0, sha256: 1, sha384: 2, sha512: 3 }, s6 = { sha1: 20, sha256: return this.readWide((n, i) => this.runtime.fn.EPDFSig_GetString(e, t, r, n, i)); } readWide(e) { - return ue(this.runtime.mem, e, ""); + return le(this.runtime.mem, e, ""); } }; -function xw(e) { +function Xw(e) { let t = new ArrayBuffer(e.byteLength); return new Uint8Array(t).set(e), t; } -function _w(e) { +function Ww(e) { let t = ""; for (let r of e) t += r.toString(16).padStart(2, "0"); return t; } -function ed(e, t) { +function sd(e, t) { if (t.signedDocumentPolicy !== "protect") return null; let r; try { @@ -13312,82 +13597,49 @@ function ed(e, t) { } catch { return null; } - return r.fieldLocks.length === 0 ? null : (n) => ry(r, n); + return r.fieldLocks.length === 0 ? null : (n) => M9(r, n); } -function c6(e, t) { +function T6(e, t) { let r = t?.(e); if (r) throw new f(g.ProtectedDocument, `form field "${e}" is locked by signature ${r.signatureIndex} (${r.source === "fieldmdp" ? "FieldMDP" : "/Lock"})`); } -var d6 = 0; -function q3(e, t, r, n, { recordFit: i }) { - let { mem: a, fn: A } = e, o = new Vt(); +var K6 = 0; +function vh(e, t, r, n, { recordFit: i }) { + let { mem: a, fn: A } = e, o = new Yt(); try { - let s = r.page ? A.EPDFDoc_LoadPageByObjectNumber(t, r.page.objectNumber) : Y; + let s = r.page ? A.EPDFDoc_LoadPageByObjectNumber(t, r.page.objectNumber) : X; if (!s) throw new f(g.NotFound, "the widget page could not be loaded"); o.push(() => A.FPDF_ClosePage(s)); let d = A.EPDFPage_GetAnnotByObjectNumber(s, r.objectNumber); if (!d) throw new f(g.NotFound, "the signature widget could not be loaded"); o.push(() => A.FPDFPage_CloseAnnot(d)); - let l = a.alloc(n.byteLength); - o.push(() => a.free(l)), a.writeBytes(l, n); - let m = A.FPDF_LoadMemDocument64(l, n.byteLength, ""); + let u = a.alloc(n.byteLength); + o.push(() => a.free(u)), a.writeBytes(u, n); + let m = A.FPDF_LoadMemDocument64(u, n.byteLength, ""); if (!m) throw new f(g.MalformedPdf, "the appearance PDF could not be opened"); o.push(() => A.FPDF_CloseDocument(m)); let F = A.FPDF_GetPageCount(m); if (F !== 1) throw new f(g.InvalidArg, `the appearance PDF has ${F} pages; a signature appearance takes a one-page PDF`); if (!A.EPDFAnnot_SetAppearanceFromPage(d, m, 0)) throw new f(g.InvalidArg, "the appearance page could not be drawn into the widget"); - if (!A.EPDFAnnot_UpdateAppearanceToRect(d, d6)) throw new f(g.Unknown, "the appearance page could not be fitted into the widget"); - i && Up(A, a, d, "contain"); + if (!A.EPDFAnnot_UpdateAppearanceToRect(d, K6)) throw new f(g.Unknown, "the appearance page could not be fitted into the widget"); + i && Au(A, a, d, "contain"); } finally { o.close(); } } -function _a(e, t) { - let { fn: r } = e, n = [], i = r.EPDFForm_CountCalculationOrder(t); - for (let a = 0; a < i; a++) { - let A = r.EPDFForm_GetCalculationOrderFieldIndex(t, a); - if (A < 0) continue; - let o = r.EPDFForm_GetFieldObjNum(t, A); - o > 0 && !n.includes(o) && n.push(o); - } - return n; -} -function td(e, t, r) { - let { fn: n, mem: i } = e; - if (!Wt(i, r, (a, A) => n.EPDFForm_SetCalculationOrder(t, a, A))) throw new f(g.InvalidArg, "the calculation order could not be written"); -} -function Eo(e, t) { - return e.length === t.length && e.every((r, n) => r === t[n]); -} -function p6(e, { before: t, after: r }, n) { - let i = r.filter((A) => !t.includes(A)), a = e.filter((A) => !i.includes(A)); - for (let A of t) { - if (r.includes(A)) { - if (xA(t, A) === xA(r, A) || xA(e, A) !== xA(r, A)) continue; - a = a.filter((l) => l !== A); - } else if (a.includes(A) || !n(A)) continue; - let o = t.indexOf(A), s = t.slice(0, o).reverse().find((l) => a.includes(l)), d = s === void 0 ? 0 : a.indexOf(s) + 1; - a = [...a.slice(0, d), A, ...a.slice(d)]; - } - return a; -} -function xA(e, t) { - let r = e.indexOf(t); - if (!(r < 0)) return r === 0 ? null : e[r - 1]; -} -var Hw = { keystroke: 0, format: 1, validate: 2, calculate: 3 }; -function Iw(e, t, r, n, i) { - for (let a of Object.keys(Hw)) { +var Uw = { keystroke: 0, format: 1, validate: 2, calculate: 3 }; +function qw(e, t, r, n, i) { + for (let a of Object.keys(Uw)) { let A = i[a]; if (A === void 0) continue; - if (A !== null && !Hd(A)) throw new f(g.InvalidArg, `a field's ${a} event takes JavaScript only`, { details: { field: `actions.${a}` } }); + if (A !== null && !Kd(A)) throw new f(g.InvalidArg, `a field's ${a} event takes JavaScript only`, { details: { field: `actions.${a}` } }); let o = n?.[a]; - if (A === null ? !o : o !== void 0 && l6(o, A)) continue; - let s = A === null ? Y : hl(e, t, A); - if (!e.fn.EPDFForm_SetFieldEventAction(t, r, Hw[a], s)) throw new f(g.Unknown, `the field's ${a} script could not be written`); + if (A === null ? !o : o !== void 0 && N6(o, A)) continue; + let s = A === null ? X : Qu(e, t, A); + if (!e.fn.EPDFForm_SetFieldEventAction(t, r, Uw[a], s)) throw new f(g.Unknown, `the field's ${a} script could not be written`); } } -function l6(e, t) { +function N6(e, t) { if (e.incomplete || !e.root) return !1; let r = (n, i) => { if (!n || n.type !== "javascript" || n.script !== i.script) return !1; @@ -13396,42 +13648,42 @@ function l6(e, t) { }; return r(e.root, t); } -var u6 = { none: 0, scalar: 1, array: 2 }; -function Qw(e, t, r, n, i) { +var V6 = { none: 0, scalar: 1, array: 2 }; +function Zw(e, t, r, n, i) { let { fn: a } = e; if (n.kind === "unsupported") return !1; let A = n.kind === "scalar" ? [n.value] : n.kind === "array" ? n.values : [], o = i === "value" ? a.EPDFForm_SetFieldValue : a.EPDFForm_SetFieldDefaultValue; - return Ai(e, A, (s, d) => o(t, r, u6[n.kind], s, d)); + return di(e, A, (s, d) => o(t, r, V6[n.kind], s, d)); } -function m6(e, t, r, n) { - return Wt(e.mem, n, (i, a) => e.fn.EPDFForm_SetFieldSelectedIndices(t, r, i, a)); +function Y6(e, t, r, n) { + return Ut(e.mem, n, (i, a) => e.fn.EPDFForm_SetFieldSelectedIndices(t, r, i, a)); } -var w6 = { pushbutton: 1, checkbox: 2, radio: 3, text: 4, combobox: 5, listbox: 6, signature: 7 }, b6 = { visible: 0, hidden: 1, noPrint: 2, noView: 3 }, tc = 256, g6 = 1, Sw = /* @__PURE__ */ new Set(["text", "checkbox", "radio", "combobox", "listbox"]), lt = class { +var X6 = { pushbutton: 1, checkbox: 2, radio: 3, text: 4, combobox: 5, listbox: 6, signature: 7 }, W6 = { visible: 0, hidden: 1, noPrint: 2, noView: 3 }, Ac = 256, U6 = 1, zw = /* @__PURE__ */ new Set(["text", "checkbox", "radio", "combobox", "listbox"]), lt = class { constructor(e, t, r) { this.runtime = e, this.session = t, this.fonts = r; } setValue(e, t, r, n) { S(r); - let i = Be(this.runtime, this.session), a = yt(this.runtime, i, e); + let i = Be(this.runtime, this.session), a = Gt(this.runtime, i, e); this.assertWritable(a); - let A = this.session.requireDocPtr(), o = Ue(this.runtime, i, a.fieldIndex, A), s = L9({ field: o, widgets: [] }, t).field, d = this.writeFieldAfter(a.fieldObjectNumber, o, s); - return d && P4(this.runtime, A, a.fieldObjectNumber, n), this.readBack(a.fieldObjectNumber, d ?? []); + let A = this.session.requireDocPtr(), o = Ye(this.runtime, i, a.fieldIndex, A), s = m9({ field: o, widgets: [] }, t).field, d = this.writeFieldAfter(a.fieldObjectNumber, o, s); + return d && W4(this.runtime, A, a.fieldObjectNumber, n), this.readBack(a.fieldObjectNumber, d ?? []); } setDisplay(e, t, r) { S(r); - let n = yt(this.runtime, Be(this.runtime, this.session), e); + let n = Gt(this.runtime, Be(this.runtime, this.session), e); this.assertWritable(n); - let i = this.session.requireDocPtr(), a = this.withChangedWidgets((A, o, s) => this.runtime.fn.EPDFForm_SetFieldDisplay(i, n.fieldObjectNumber, b6[t], A, o, s)); + let i = this.session.requireDocPtr(), a = this.withChangedWidgets((A, o, s) => this.runtime.fn.EPDFForm_SetFieldDisplay(i, n.fieldObjectNumber, W6[t], A, o, s)); if (a === null) throw new f(g.Unknown, "the field could not be shown or hidden"); return this.readBack(n.fieldObjectNumber, a, !1); } setAppearanceText(e, t, r) { S(r); - let n = Be(this.runtime, this.session), i = yt(this.runtime, n, e); + let n = Be(this.runtime, this.session), i = Gt(this.runtime, n, e); this.assertWritable(i); - let a = this.session.requireDocPtr(), A = Ue(this.runtime, n, i.fieldIndex, a); + let a = this.session.requireDocPtr(), A = Ye(this.runtime, n, i.fieldIndex, a); if (A.kind !== "text" && A.kind !== "combobox") throw new f(g.InvalidArg, `appearance text does not apply to a ${A.kind} field`); - let o = Hn(this.runtime.mem, t, (s) => this.withChangedWidgets((d, l, m) => this.runtime.fn.EPDFForm_SetFieldAppearanceText(a, i.fieldObjectNumber, s, d, l, m))); + let o = Qn(this.runtime.mem, t, (s) => this.withChangedWidgets((d, u, m) => this.runtime.fn.EPDFForm_SetFieldAppearanceText(a, i.fieldObjectNumber, s, d, u, m))); if (o === null) throw new f(g.Unknown, "the appearance text could not be drawn"); return this.readBack(i.fieldObjectNumber, o, !0); } @@ -13442,40 +13694,40 @@ var w6 = { pushbutton: 1, checkbox: 2, radio: 3, text: 4, combobox: 5, listbox: S(t); let r = this.session.requireDocPtr(), n = Be(this.runtime, this.session), i = e === void 0 ? this.wholeFormTargets(n) : this.namedTargets(n, e); S(t); - let a = i.filter((d) => !j9(d)).flatMap((d) => { - let l = T9({ field: d, widgets: [] }).field, m = this.writeFieldAfter(XA(d), d, l); - return m ? (lP(this.runtime, r, XA(d)), [{ before: d, changed: m }]) : []; + let a = i.filter((d) => !u9(d)).flatMap((d) => { + let u = w9({ field: d, widgets: [] }).field, m = this.writeFieldAfter(zA(d), d, u); + return m ? (HP(this.runtime, r, zA(d)), [{ before: d, changed: m }]) : []; }); a.length > 0 && this.session.invalidateDerived(); let A = [], o = [], s = []; - for (let { before: d, changed: l } of a) { - let m = this.readBackField(XA(d)); - if (l.length === 0 && MA(d.valueEntry, m.valueEntry)) continue; + for (let { before: d, changed: u } of a) { + let m = this.readBackField(zA(d)); + if (u.length === 0 && KA(d.valueEntry, m.valueEntry)) continue; A.push(m); - let F = new Set(l), k = m.widgets.filter((P) => F.has(P.objectNumber)).map((P) => En(P.objectNumber, P.page)); - o.push(...k), s.push(...Jc(m.kind, k)); + let F = new Set(u), h = m.widgets.filter((P) => F.has(P.objectNumber)).map((P) => Gn(P.objectNumber, P.page)); + o.push(...h), s.push(...ad(m.kind, h)); } - return { fields: A, meta: pt(this.session.writeStamp(), A.map((d) => d.ref), o, s) }; + return { fields: A, meta: ut(this.session.writeStamp(), A.map((d) => d.ref), o, s) }; } wholeFormTargets(e) { - let t = this.session.requireDocPtr(), r = ed(this.runtime, this.session), n = [], i = this.runtime.fn.EPDFForm_CountFields(e); + let t = this.session.requireDocPtr(), r = sd(this.runtime, this.session), n = [], i = this.runtime.fn.EPDFForm_CountFields(e); for (let a = 0; a < i; a++) { - let A = Ue(this.runtime, e, a, t); - !Sw.has(A.kind) || A.ref.kind !== "objectNumber" || r?.(A.name) || n.push(A); + let A = Ye(this.runtime, e, a, t); + !zw.has(A.kind) || A.ref.kind !== "objectNumber" || r?.(A.name) || n.push(A); } return n; } namedTargets(e, t) { let r = this.session.requireDocPtr(), n = /* @__PURE__ */ new Set(), i = []; for (let a of t) { - let A = yt(this.runtime, e, a), o = Ue(this.runtime, e, A.fieldIndex, r); - !Sw.has(o.kind) || n.has(A.fieldObjectNumber) || (this.assertWritable(A), n.add(A.fieldObjectNumber), i.push(o)); + let A = Gt(this.runtime, e, a), o = Ye(this.runtime, e, A.fieldIndex, r); + !zw.has(o.kind) || n.has(A.fieldObjectNumber) || (this.assertWritable(A), n.add(A.fieldObjectNumber), i.push(o)); } return i; } repair(e, t) { S(t); - let { fn: r, mem: n } = this.runtime, i = e ? g6 : 0, a = N(n, 24, (A) => { + let { fn: r, mem: n } = this.runtime, i = e ? U6 : 0, a = V(n, 24, (A) => { if (!r.EPDFForm_Repair(this.session.requireDocPtr(), i, A)) throw new f(g.Unknown, "form repair failed"); return { acroformCreated: Number(n.peek(A, "i32", 0)) !== 0, fieldsLinked: Number(n.peek(A, "i32", 4)), widgetsLinked: Number(n.peek(A, "i32", 8)), fieldsUnrepairable: Number(n.peek(A, "i32", 12)), appearancesBaked: Number(n.peek(A, "i32", 16)), needsAppearancesCleared: Number(n.peek(A, "i32", 20)) !== 0 }; }); @@ -13483,16 +13735,16 @@ var w6 = { pushbutton: 1, checkbox: 2, radio: 3, text: 4, combobox: 5, listbox: } createField(e, t, r, n = {}) { S(t); - let { fn: i } = this.runtime, a = this.session.requireDocPtr(), A = (e.widgets ?? []).map((k) => im(wc(e.kind, k))), o = A.map((k) => this.preflightPlacement(k)), s = A.map((k) => Ow(e.kind, k)); - if (zu(e), "maxLength" in e && e.maxLength !== void 0 && (!Number.isInteger(e.maxLength) || e.maxLength <= 0)) throw new f(g.InvalidArg, `maxLength must be a positive integer, got ${e.maxLength}`, { details: { field: "maxLength" } }); - let { objectNumber: d, widgetObjectNumbers: l } = n; - if (l && l.length !== A.length) throw new f(g.InvalidArg, `forms.create needs one widget object number per widget: ${l.length} for ${A.length}`, { details: { field: "widgetObjectNumbers" } }); + let { fn: i } = this.runtime, a = this.session.requireDocPtr(), A = (e.widgets ?? []).map((h) => vm(hc(e.kind, h))), o = A.map((h) => this.preflightPlacement(h)), s = A.map((h) => Jw(e.kind, h)); + if (lm(e), "maxLength" in e && e.maxLength !== void 0 && (!Number.isInteger(e.maxLength) || e.maxLength <= 0)) throw new f(g.InvalidArg, `maxLength must be a positive integer, got ${e.maxLength}`, { details: { field: "maxLength" } }); + let { objectNumber: d, widgetObjectNumbers: u } = n; + if (u && u.length !== A.length) throw new f(g.InvalidArg, `forms.create needs one widget object number per widget: ${u.length} for ${A.length}`, { details: { field: "widgetObjectNumbers" } }); d !== void 0 && this.session.claimObjectNumber(d); - for (let k of l ?? []) this.session.claimObjectNumber(k); + for (let h of u ?? []) this.session.claimObjectNumber(h); S(t); let m = this.createFieldNode(e, d); - this.configureNewField(e, m), v4(this.runtime, a, m, r), e.groupId !== void 0 && cw(this.runtime, a, m, e.groupId), A.forEach((k, P) => { - let D = yw(this.runtime, a, o[P], k, l?.[P], Bo(this.runtime, this.session, this.fonts)); + this.configureNewField(e, m), X4(this.runtime, a, m, r), e.groupId !== void 0 && Dw(this.runtime, a, m, e.groupId), A.forEach((h, P) => { + let D = Kw(this.runtime, a, o[P], h, u?.[P], Co(this.runtime, this.session, this.fonts)); if (!i.EPDFForm_AttachWidget(a, m, D, s[P], 0)) throw new f(g.Unknown, "widget adoption failed"); }); let F = this.followCalculateScript(m, e.actions?.calculate); @@ -13500,7 +13752,7 @@ var w6 = { pushbutton: 1, checkbox: 2, radio: 3, text: 4, combobox: 5, listbox: } nativeDeleteField(e) { let { fn: t, mem: r } = this.runtime; - return fe(r, [256 * 4, 8], ([n, i]) => (xe(r, i, 0), t.EPDFForm_DeleteField(this.session.requireDocPtr(), e, n, 256, i))); + return Fe(r, [256 * 4, 8], ([n, i]) => (xe(r, i, 0), t.EPDFForm_DeleteField(this.session.requireDocPtr(), e, n, 256, i))); } preflightPlacement(e) { let t = this.session.resolvePageRef(e.page), { left: r, bottom: n, right: i, top: a } = e.rect; @@ -13510,7 +13762,7 @@ var w6 = { pushbutton: 1, checkbox: 2, radio: 3, text: 4, combobox: 5, listbox: createFieldNode(e, t) { let { fn: r, mem: n } = this.runtime, i = n.writeU16String(e.name), a; try { - a = r.EPDFForm_CreateField(this.session.requireDocPtr(), w6[e.kind], i, t ?? 0); + a = r.EPDFForm_CreateField(this.session.requireDocPtr(), X6[e.kind], i, t ?? 0); } finally { n.free(i); } @@ -13518,89 +13770,89 @@ var w6 = { pushbutton: 1, checkbox: 2, radio: 3, text: 4, combobox: 5, listbox: return a; } configureNewField(e, t) { - let { fn: r } = this.runtime, n = this.session.requireDocPtr(), { setBits: i, clearBits: a } = Ew(e); - if ((i !== 0 || a !== 0) && r.EPDFForm_SetFieldFlags(n, t, i, a), "options" in e && e.options && this.applyOptions(t, e.options), this.writeDefault(t, { kind: "none" }, zu(e)), "maxLength" in e && e.maxLength !== void 0 && !r.EPDFForm_SetFieldMaxLen(n, t, e.maxLength)) throw new f(g.InvalidArg, "maxLength rejected"); - e.alternateName !== void 0 && this.applyWideSetter(r.EPDFForm_SetFieldAlternateName, t, e.alternateName, "alternate name rejected"), e.mappingName !== void 0 && this.applyWideSetter(r.EPDFForm_SetFieldMappingName, t, e.mappingName, "mapping name rejected"), e.actions && Iw(this.runtime, n, t, void 0, e.actions); + let { fn: r } = this.runtime, n = this.session.requireDocPtr(), { setBits: i, clearBits: a } = Nw(e); + if ((i !== 0 || a !== 0) && r.EPDFForm_SetFieldFlags(n, t, i, a), "options" in e && e.options && this.applyOptions(t, e.options), this.writeDefault(t, { kind: "none" }, lm(e)), "maxLength" in e && e.maxLength !== void 0 && !r.EPDFForm_SetFieldMaxLen(n, t, e.maxLength)) throw new f(g.InvalidArg, "maxLength rejected"); + e.alternateName !== void 0 && this.applyWideSetter(r.EPDFForm_SetFieldAlternateName, t, e.alternateName, "alternate name rejected"), e.mappingName !== void 0 && this.applyWideSetter(r.EPDFForm_SetFieldMappingName, t, e.mappingName, "mapping name rejected"), e.actions && qw(this.runtime, n, t, void 0, e.actions); } setSignatureAppearance(e, t, r) { S(r); - let n = this.session.requireDocPtr(), i = Be(this.runtime, this.session), a = yt(this.runtime, i, e); + let n = this.session.requireDocPtr(), i = Be(this.runtime, this.session), a = Gt(this.runtime, i, e); this.assertWritable(a); - let A = Ue(this.runtime, i, a.fieldIndex, n); + let A = Ye(this.runtime, i, a.fieldIndex, n); if (A.kind !== "signature") throw new f(g.InvalidArg, `'${A.name}' is a ${A.kind} field, not a signature field`); - if (yo(this.runtime, n, (o) => fr(this.runtime, o).some((s) => s.signed && s.field.kind === "objectNumber" && s.field.objectNumber === a.fieldObjectNumber))) throw new f(g.ProtectedDocument, `'${A.name}' is signed; its appearance is sealed with the signature`); + if (Ho(this.runtime, n, (o) => Fr(this.runtime, o).some((s) => s.signed && s.field.kind === "objectNumber" && s.field.objectNumber === a.fieldObjectNumber))) throw new f(g.ProtectedDocument, `'${A.name}' is signed; its appearance is sealed with the signature`); if (A.widgets.length === 0) throw new f(g.InvalidArg, `'${A.name}' has no widget to draw into`); - for (let o of A.widgets) q3(this.runtime, n, o, t, { recordFit: !0 }); + for (let o of A.widgets) vh(this.runtime, n, o, t, { recordFit: !0 }); return this.session.invalidateDerived(), { field: this.readBackField(a.fieldObjectNumber) }; } updateField(e, t, r) { S(r); - let { fn: n } = this.runtime, i = this.session.requireDocPtr(), a = Be(this.runtime, this.session), A = yt(this.runtime, a, e); + let { fn: n } = this.runtime, i = this.session.requireDocPtr(), a = Be(this.runtime, this.session), A = Gt(this.runtime, a, e); this.assertWritable(A); - let o = Ue(this.runtime, a, A.fieldIndex, this.session.requireDocPtr()); - v6(t, o.kind), "defaultValue" in t && t.defaultValue !== void 0 && Ju({ field: o, widgets: [] }, t); + let o = Ye(this.runtime, a, A.fieldIndex, this.session.requireDocPtr()); + z6(t, o.kind), "defaultValue" in t && t.defaultValue !== void 0 && mm({ field: o, widgets: [] }, t); let s = A.fieldObjectNumber; t.name !== void 0 && this.applyWideSetter(n.EPDFForm_SetFieldName, s, t.name, `cannot rename to "${t.name}" (sibling conflict or invalid)`); - let { setBits: d, clearBits: l } = Ew(t); - if ((d !== 0 || l !== 0) && !n.EPDFForm_SetFieldFlags(i, s, d, l)) throw new f(g.InvalidArg, "flag update rejected"); + let { setBits: d, clearBits: u } = Nw(t); + if ((d !== 0 || u !== 0) && !n.EPDFForm_SetFieldFlags(i, s, d, u)) throw new f(g.InvalidArg, "flag update rejected"); if ("maxLength" in t && t.maxLength !== void 0 && !n.EPDFForm_SetFieldMaxLen(i, s, t.maxLength ?? 0)) throw new f(g.InvalidArg, "maxLength rejected (current value exceeds it)"); - t.alternateName !== void 0 && this.applyWideSetter(n.EPDFForm_SetFieldAlternateName, s, t.alternateName ?? "", "alternate name rejected"), t.mappingName !== void 0 && this.applyWideSetter(n.EPDFForm_SetFieldMappingName, s, t.mappingName ?? "", "mapping name rejected"), t.groupId !== void 0 && t.groupId !== o.groupId && cw(this.runtime, i, s, t.groupId); + t.alternateName !== void 0 && this.applyWideSetter(n.EPDFForm_SetFieldAlternateName, s, t.alternateName ?? "", "alternate name rejected"), t.mappingName !== void 0 && this.applyWideSetter(n.EPDFForm_SetFieldMappingName, s, t.mappingName ?? "", "mapping name rejected"), t.groupId !== void 0 && t.groupId !== o.groupId && Dw(this.runtime, i, s, t.groupId); let m = "options" in t && t.options !== void 0, F = "defaultValue" in t && t.defaultValue !== void 0; if (m || F) { - let P = Ju({ field: o, widgets: [] }, t).field; + let P = mm({ field: o, widgets: [] }, t).field; "options" in t && t.options && this.applyOptions(s, t.options), this.writeDefault(s, o.defaultValueEntry, P.defaultValueEntry), m && this.writeFieldAfter(s, o, P, !0); } - t.actions && Iw(this.runtime, i, s, o.actions, t.actions); - let k = this.followCalculateScript(s, t.actions?.calculate); - return this.session.invalidateDerived(), { field: this.readBackField(s), calculationOrder: k }; + t.actions && qw(this.runtime, i, s, o.actions, t.actions); + let h = this.followCalculateScript(s, t.actions?.calculate); + return this.session.invalidateDerived(), { field: this.readBackField(s), calculationOrder: h }; } reorderCalculations(e, t, r) { S(r); - let n = Be(this.runtime, this.session), i = (s) => yt(this.runtime, n, s).fieldObjectNumber, a = _a(this.runtime, n), A = e.map(i), o = Fg(a, A, t === "start" || t === "end" ? t : "before" in t ? { before: i(t.before) } : { after: i(t.after) }, String); - return S(r), Eo(a, o) || (td(this.runtime, this.session.requireDocPtr(), o), this.session.invalidateDerived()), { before: a, after: o, moved: A }; + let n = Be(this.runtime, this.session), i = (s) => Gt(this.runtime, n, s).fieldObjectNumber, a = Ha(this.runtime, n), A = e.map(i), o = Sg(a, A, t === "start" || t === "end" ? t : "before" in t ? { before: i(t.before) } : { after: i(t.after) }, String); + return S(r), xo(a, o) || (Ad(this.runtime, this.session.requireDocPtr(), o), this.session.invalidateDerived()), { before: a, after: o, moved: A }; } followCalculateScript(e, t) { if (t === void 0) return null; - let r = _a(this.runtime, Be(this.runtime, this.session)), n = r.includes(e), i = t === null ? r.filter((a) => a !== e) : n ? r : [...r, e]; - return Eo(r, i) ? null : (td(this.runtime, this.session.requireDocPtr(), i), { before: r, after: i }); + let r = Ha(this.runtime, Be(this.runtime, this.session)), n = r.includes(e), i = t === null ? r.filter((a) => a !== e) : n ? r : [...r, e]; + return xo(r, i) ? null : (Ad(this.runtime, this.session.requireDocPtr(), i), { before: r, after: i }); } deleteField(e, t) { S(t); - let r = Be(this.runtime, this.session), n = yt(this.runtime, r, e); + let r = Be(this.runtime, this.session), n = Gt(this.runtime, r, e); this.assertWritable(n); - let i = Ue(this.runtime, r, n.fieldIndex, this.session.requireDocPtr()), a = i.widgets.map((s) => En(s.objectNumber, s.page)); + let i = Ye(this.runtime, r, n.fieldIndex, this.session.requireDocPtr()), a = i.widgets.map((s) => Gn(s.objectNumber, s.page)); S(t); let A = this.followCalculateScript(n.fieldObjectNumber, null); if (!this.nativeDeleteField(n.fieldObjectNumber)) throw new f(g.InvalidArg, "field cannot be deleted"); this.session.invalidateDerived(); - let o = new yl(this.runtime, this.session); + let o = new Lu(this.runtime, this.session); for (let s of a) s.ref && o.deleteReleasedWidget(s.ref, n.fieldObjectNumber); return this.session.invalidateDerived(), { deleted: i.ref, removedWidgets: a, calculationOrder: A }; } addWidget(e, t, r, n = {}) { S(r); - let { fn: i } = this.runtime, a = this.session.requireDocPtr(), A = Be(this.runtime, this.session), o = yt(this.runtime, A, e); + let { fn: i } = this.runtime, a = this.session.requireDocPtr(), A = Be(this.runtime, this.session), o = Gt(this.runtime, A, e); this.assertWritable(o); - let s = Ue(this.runtime, A, o.fieldIndex, a), d = im(wc(s.kind, t)), l = this.preflightPlacement(d), m = Ow(s.kind, d), F = s.widgets.find((D) => D.objectNumber === o.fieldObjectNumber)?.page ?? null; + let s = Ye(this.runtime, A, o.fieldIndex, a), d = vm(hc(s.kind, t)), u = this.preflightPlacement(d), m = Jw(s.kind, d), F = s.widgets.find((D) => D.objectNumber === o.fieldObjectNumber)?.page ?? null; n.objectNumber !== void 0 && this.session.claimObjectNumber(n.objectNumber); - let k = F ? n.splitObjectNumber : void 0; - k !== void 0 && this.session.claimObjectNumber(k), S(r), F && zt(this.runtime, this.session, F.objectNumber); - let P = yw(this.runtime, a, l, d, n.objectNumber, Bo(this.runtime, this.session, this.fonts)); - if (!i.EPDFForm_AttachWidget(a, o.fieldObjectNumber, P, m, k ?? 0)) throw new f(g.InvalidArg, "the widget could not join the field"); - return this.session.invalidateDerived(), { field: this.readBackField(o.fieldObjectNumber), widget: En(P, t.page) }; + let h = F ? n.splitObjectNumber : void 0; + h !== void 0 && this.session.claimObjectNumber(h), S(r), F && Jt(this.runtime, this.session, F.objectNumber); + let P = Kw(this.runtime, a, u, d, n.objectNumber, Co(this.runtime, this.session, this.fonts)); + if (!i.EPDFForm_AttachWidget(a, o.fieldObjectNumber, P, m, h ?? 0)) throw new f(g.InvalidArg, "the widget could not join the field"); + return this.session.invalidateDerived(), { field: this.readBackField(o.fieldObjectNumber), widget: Gn(P, t.page) }; } detachWidget(e, t, r) { S(r); - let { fn: n } = this.runtime, i = Be(this.runtime, this.session), a = yt(this.runtime, i, e); + let { fn: n } = this.runtime, i = Be(this.runtime, this.session), a = Gt(this.runtime, i, e); this.assertWritable(a); - let A = Mw(t); + let A = $w(t); if (A === a.fieldObjectNumber) throw new f(g.InvalidArg, `widget ${A} is the field's own dictionary (a merged field/widget) and cannot be removed from it - delete the field with doc.forms.delete`); if (!n.EPDFForm_DetachWidget(this.session.requireDocPtr(), a.fieldObjectNumber, A)) throw new f(g.InvalidArg, "widget is not attached to this field"); - return this.session.invalidateDerived(), { field: this.readBackField(a.fieldObjectNumber), widget: En(Mw(t), t.page) }; + return this.session.invalidateDerived(), { field: this.readBackField(a.fieldObjectNumber), widget: Gn($w(t), t.page) }; } applyOptions(e, t) { let { fn: r } = this.runtime, n = this.session.requireDocPtr(); - if (!Ai(this.runtime, t.map((i) => i.label), (i) => Ai(this.runtime, t.map((a) => a.value), (a, A) => r.EPDFForm_SetFieldOptions(n, e, i, a, A)))) throw new f(g.InvalidArg, "options rejected"); + if (!di(this.runtime, t.map((i) => i.label), (i) => di(this.runtime, t.map((a) => a.value), (a, A) => r.EPDFForm_SetFieldOptions(n, e, i, a, A)))) throw new f(g.InvalidArg, "options rejected"); } applyWideSetter(e, t, r, n) { let { mem: i } = this.runtime, a = this.session.requireDocPtr(), A = i.writeU16String(r); @@ -13611,44 +13863,44 @@ var w6 = { pushbutton: 1, checkbox: 2, radio: 3, text: 4, combobox: 5, listbox: } } writeDefault(e, t, r) { - if (MA(t, r)) return; + if (KA(t, r)) return; let n = this.session.requireDocPtr(); - if (!Qw(this.runtime, n, e, r, "default")) throw new f(g.InvalidArg, "default value rejected"); + if (!Zw(this.runtime, n, e, r, "default")) throw new f(g.InvalidArg, "default value rejected"); } readBackField(e) { let t = Be(this.runtime, this.session), r = this.runtime.fn.EPDFForm_GetFieldIndexByObjNum(t, e); if (r < 0) throw new f(g.Unknown, "form field vanished after write"); - return Ue(this.runtime, t, r, this.session.requireDocPtr()); + return Ye(this.runtime, t, r, this.session.requireDocPtr()); } assertWritable(e) { if (e.fieldObjectNumber === 0) throw new f(g.InvalidArg, "form field is stored as a direct object and cannot be written"); this.assertNotLockedBySignature(e); } assertNotLockedBySignature(e) { - let t = ed(this.runtime, this.session); + let t = sd(this.runtime, this.session); if (!t) return; let r = Be(this.runtime, this.session); - c6(ue(this.runtime.mem, (n, i) => this.runtime.fn.EPDFForm_GetFieldName(r, e.fieldIndex, n, i)) ?? "", t); + T6(le(this.runtime.mem, (n, i) => this.runtime.fn.EPDFForm_GetFieldName(r, e.fieldIndex, n, i)) ?? "", t); } writeFieldAfter(e, t, r, n = !1) { - let { fn: i, mem: a } = this.runtime, A = this.session.requireDocPtr(), o = r.kind === "checkbox" || r.kind === "radio" ? r.widgets : null, s = !MA(t.valueEntry, r.valueEntry), d = o?.some((F, k) => F.checked !== t.widgets[k]?.checked) ?? !1; + let { fn: i, mem: a } = this.runtime, A = this.session.requireDocPtr(), o = r.kind === "checkbox" || r.kind === "radio" ? r.widgets : null, s = !KA(t.valueEntry, r.valueEntry), d = o?.some((F, h) => F.checked !== t.widgets[h]?.checked) ?? !1; if (!s && !d && !n) return null; - let l = () => new f(g.InvalidArg, `'${r.name}' could not take the value`); - if (s && !Qw(this.runtime, A, e, r.valueEntry, "value")) throw l(); + let u = () => new f(g.InvalidArg, `'${r.name}' could not take the value`); + if (s && !Zw(this.runtime, A, e, r.valueEntry, "value")) throw u(); if (r.kind === "combobox" || r.kind === "listbox") { - let F = r.options.flatMap((k, P) => k.selected ? [P] : []); - if (!m6(this.runtime, A, e, F)) throw l(); + let F = r.options.flatMap((h, P) => h.selected ? [P] : []); + if (!Y6(this.runtime, A, e, F)) throw u(); } if (o?.length === 0) return []; - let m = this.withChangedWidgets((F, k, P) => o ? Wt(a, o.map((D) => D.checked ? 1 : 0), (D, G) => i.EPDFForm_SetFieldWidgetsChecked(A, e, D, G, F, k, P)) : i.EPDFForm_RedrawFieldWidgets(A, e, F, k, P)); - if (m === null) throw l(); + let m = this.withChangedWidgets((F, h, P) => o ? Ut(a, o.map((D) => D.checked ? 1 : 0), (D, G) => i.EPDFForm_SetFieldWidgetsChecked(A, e, D, G, F, h, P)) : i.EPDFForm_RedrawFieldWidgets(A, e, F, h, P)); + if (m === null) throw u(); return m; } withChangedWidgets(e) { let { mem: t } = this.runtime; - return fe(t, [tc * 4, 8], ([r, n]) => { - if (xe(t, n, 0), !e(r, tc, n)) return null; - let i = Number(t.peek(n, "i32")), a = Math.min(i, tc), A = []; + return Fe(t, [Ac * 4, 8], ([r, n]) => { + if (xe(t, n, 0), !e(r, Ac, n)) return null; + let i = Number(t.peek(n, "i32")), a = Math.min(i, Ac), A = []; for (let o = 0; o < a; o++) A.push(Number(t.peek(r, "i32", o * 4))); return A; }); @@ -13657,18 +13909,18 @@ var w6 = { pushbutton: 1, checkbox: 2, radio: 3, text: 4, combobox: 5, listbox: this.session.invalidateDerived(); let n = Be(this.runtime, this.session), i = this.runtime.fn.EPDFForm_GetFieldIndexByObjNum(n, e); if (i < 0) throw new f(g.Unknown, "form field vanished after write"); - let a = Ue(this.runtime, n, i, this.session.requireDocPtr()), A = new Set(t), o = a.widgets.filter((s) => A.has(s.objectNumber)).map((s) => En(s.objectNumber, s.page)); - return { field: a, meta: pt(this.session.writeStamp(), [a.ref], o, r === void 0 ? Jc(a.kind, o) : r ? o : []) }; + let a = Ye(this.runtime, n, i, this.session.requireDocPtr()), A = new Set(t), o = a.widgets.filter((s) => A.has(s.objectNumber)).map((s) => Gn(s.objectNumber, s.page)); + return { field: a, meta: ut(this.session.writeStamp(), [a.ref], o, r === void 0 ? ad(a.kind, o) : r ? o : []) }; } -}, f6 = ["kind", "name", "readOnly", "required", "noExport", "alternateName", "mappingName", "groupId", "actions"], F6 = { text: ["defaultValue", "maxLength", "multiline", "password", "comb"], radio: ["radiosInUnison", "noToggleToOff"], combobox: ["edit", "defaultValue", "options"], listbox: ["multiSelect", "options", "defaultValue"] }; -function v6(e, t) { +}, q6 = ["kind", "name", "readOnly", "required", "noExport", "alternateName", "mappingName", "groupId", "actions"], Z6 = { text: ["defaultValue", "maxLength", "multiline", "password", "comb"], radio: ["radiosInUnison", "noToggleToOff"], combobox: ["edit", "defaultValue", "options"], listbox: ["multiSelect", "options", "defaultValue"] }; +function z6(e, t) { if (e.kind !== void 0 && e.kind !== t) throw new f(g.InvalidArg, `patch family '${e.kind}' does not match field family '${t}'`, { details: { field: "kind" } }); - let r = /* @__PURE__ */ new Set([...f6, ...F6[t] ?? []]); + let r = /* @__PURE__ */ new Set([...q6, ...Z6[t] ?? []]); for (let [i, a] of Object.entries(e)) if (a !== void 0 && !r.has(i)) throw new f(g.InvalidArg, `'${i}' does not apply to a ${t} field`, { details: { field: i } }); let n = "defaultValue" in e ? e.defaultValue : void 0; if (n != null && Array.isArray(n) !== (t === "listbox")) throw new f(g.InvalidArg, t === "listbox" ? "a list's defaultValue is a list of option values" : `a ${t} field's defaultValue is one string`, { details: { field: "defaultValue" } }); } -function Ow(e, t) { +function Jw(e, t) { let { exportValue: r } = t; if (e !== "checkbox" && e !== "radio") { if (r !== void 0) throw new f(g.InvalidArg, `'exportValue' applies to checkbox and radio widgets, not a ${e} field's`, { details: { field: "exportValue" } }); @@ -13678,409 +13930,390 @@ function Ow(e, t) { if (!n || n === "Off") throw new f(g.InvalidArg, e === "radio" ? 'every radio button needs an exportValue other than "Off"' : `a checkbox's exportValue can't be "Off"`, { details: { field: "exportValue" } }); return n; } -function Mw(e) { +function $w(e) { if (e.kind !== "objectNumber") throw new f(g.InvalidArg, "widget must be addressed by object number"); return e.objectNumber; } -function P6(e, t, r, n) { - let { formKind: i, needsAppearances: a, fields: A, calculationOrder: o } = wP(e, Be(e, t), t.requireDocPtr()); - return { formKind: i, needsAppearances: a, fields: A, widgets: h6(e, t, r, n), calculationOrder: o }; +function Ph(e, t, r, n, i, a) { + let A = () => Ha(e, Be(e, t)), o = A(), s = xn(e, t), d = new lt(e, t, r), u = n.map((P, D) => { + let { groupId: G, ...I } = Ud(P.draft, s), _ = a.groupOf(G), [H, ...C] = P.objectNumbers ?? [], { field: O } = d.createField({ ...I, ..._ !== void 0 ? { groupId: _ } : {} }, a.signal, a.actor, H === void 0 ? {} : { objectNumber: H, widgetObjectNumbers: C }); + O.widgets.forEach((fe, we) => J6(e, t, fe, P.flags[we])), t.invalidateDerived(), P.value && d.setValue(O.ref, P.value, a.signal, a.actor); + let K = $6(O.ref); + return a.made?.(K, D), K; + }), m = i.map((P) => eb(u[P])); + m.length > 0 && d.reorderCalculations(m, "end", a.signal), t.invalidateDerived(); + let F = A(), h = u.map((P) => { + let D = Be(e, t); + return Ye(e, D, e.fn.EPDFForm_GetFieldIndexByObjNum(D, P), t.requireDocPtr()); + }); + return bh(e, t, { fields: h, ...xo(o, F) ? {} : { calculationOrder: F.map(eb) }, meta: ut(t.writeStamp(), h.map((P) => P.ref), h.flatMap((P) => P.widgets)) }, r); } -function h6(e, t, r, n) { - let { fn: i } = e, a = t.requireDocPtr(), A = [], o = i.FPDF_GetPageCount(a); - for (let s = 0; s < o; s++) { - S(r); - let d = i.EPDFDoc_GetPageObjectNumberByIndex(a, s); - if (d <= 0) continue; - let l = i.EPDFPage_GetAnnotCountRaw(a, s); - if (l <= 0) continue; - let { annotations: m } = fP({ runtime: e, session: t, pageObjectNumber: d, count: l, getAnnotPtrAt: (F) => i.EPDFPage_GetAnnotRaw(a, s, F), signal: r, family: "widgets", ...n ? { fonts: n } : {} }); - A.push(...m); +function J6(e, t, r, n) { + if (!r.ref) return; + let i = dA(e, t, r.ref); + try { + bu(e.fn, i, n); + } finally { + e.fn.FPDFPage_CloseAnnot(i); } - return A; } -function k6(e, t, r, n) { - let { fn: i, mem: a } = e, A = [], o = /* @__PURE__ */ new Set(); - for (let s of r) { - if (!s.ref || o.has(s.objectNumber)) continue; - o.add(s.objectNumber); - let d = B6(e, t, s); - if (!d) continue; - let l = dr(e, t, d.pageIndex, d.index); - try { - let m = ho(i, a, l, s.ref.page.objectNumber, d.index, Ba(t, n)); - m.subtype === "widget" && A.push(m); - } finally { - i.FPDFPage_CloseAnnot(l); - } - } - return Ga(e, t, A), A; +function $6(e) { + if (e.kind !== "objectNumber") throw new Error("a written field has an object number"); + return e.objectNumber; } -function Z3(e, t, r, n) { - return { ...r, widgets: k6(e, t, r.meta.changedWidgets, n) }; +function eb(e) { + return { kind: "objectNumber", objectNumber: e }; } -function B6(e, t, r) { - try { - return gt(e, t, r.ref); - } catch (n) { - if (f.is(n) && n.code === g.NotFound) return null; - throw n; +var eO = class { + constructor(e, t, r) { + this.runtime = e, this.session = t, this.fonts = r; } -} -var z3 = class { + copy(e, t) { + S(t), Ni(e.limits, "items", e.fields.length), e.page && this.session.resolvePageRef(e.page); + let r = qd(new qu(this.runtime, this.session, this.fonts).snapshot(t), xn(this.runtime, this.session)), n = _2({ form: r, fields: e.fields, ...e.widgets ? { widgets: e.widgets } : {}, placement: { ...e.page ? { page: e.page } : {}, ...e.offset ? { offset: e.offset } : {} }, values: e.values, mayScript: e.mayScript }), { objectNumbers: i } = e, a = n.creates.reduce((s, d) => s + 1 + d.widgets.length, 0); + if (i && i.length !== a) throw new f(g.InvalidArg, `copy: objectNumbers names ${i.length} objects of ${a}`, { details: { field: "objectNumbers" } }); + let A = 0, o = Ph(this.runtime, this.session, this.fonts, n.creates.map((s) => { + let d = 1 + s.widgets.length, u = i?.slice(A, A + d); + return A += d, { ...s, ...u ? { objectNumbers: u } : {} }; + }), n.calculationOrder, { actor: e.actor, groupOf: e.groupOf, signal: t }); + return { ...o, refMap: n.creates.map((s, d) => ({ from: r.fields.find((u) => ia(u, e.fields[s.source])).ref, to: o.fields[d].ref })), dropped: [...n.dropped] }; + } +}, hh = class { constructor(e, t, r) { this.runtime = e, this.session = t, this.fonts = r; } import(e, t) { S(t); let { bundle: r } = e; - Zc(this.runtime, "form", r, e.limits, Vu); - let n = this.fieldNames(), i = e2({ bundle: r, ...e.pages !== void 0 ? { pages: e.pages } : {}, target: this.session.allRecords().map((P) => ({ page: be(P.pageObjectNumber), position: P.pageIndex })), nameTaken: (P) => D6(n, P), mayScript: e.mayScript, values: e.values }), a = this.calculationOrder(), A = cr(this.runtime, this.session), o = new lt(this.runtime, this.session, this.fonts), s = this.session.requireDocPtr(), d = e.actor.userId ?? null, l = i.creates.map((P) => { - let D = r.fields[P.field].data, { groupId: G, ...I } = jd(P.draft, A), _ = e.groupOf(G), { field: H } = o.createField({ ...I, ..._ !== void 0 ? { groupId: _ } : {} }, t, e.actor); - H.widgets.forEach((j, X) => this.writeFlags(j, P.flags[X])), this.session.invalidateDerived(), P.value && o.setValue(H.ref, P.value, t, e.actor); - let C = jw(H.ref); - return e.attribution === "restore" && (h4(this.runtime, s, C, D, d), P.value && dw(this.runtime, s, C, D, d)), C; - }), m = i.calculationOrder.map((P) => Rw(l[P])); - m.length > 0 && o.reorderCalculations(m, "end", t), this.session.invalidateDerived(); - let F = this.calculationOrder(), k = l.map((P) => this.readField(P)); - return Z3(this.runtime, this.session, { fields: k, refMap: i.creates.map((P, D) => ({ from: r.fields[P.field].data.ref, to: k[D].ref })), dropped: [...i.dropped], ...Eo(a, F) ? {} : { calculationOrder: F.map(Rw) }, meta: pt(this.session.writeStamp(), k.map((P) => P.ref), k.flatMap((P) => P.widgets)) }, this.fonts); + rd(this.runtime, "form", r, e.limits, Am); + let n = this.fieldNames(), i = G2({ bundle: r, ...e.pages !== void 0 ? { pages: e.pages } : {}, target: this.session.allRecords().map((d) => ({ page: be(d.pageObjectNumber), position: d.pageIndex })), nameTaken: (d) => wf(n, d), mayScript: e.mayScript, values: e.values }), a = this.session.requireDocPtr(), A = e.actor.userId ?? null, o = e.attribution === "restore", s = Ph(this.runtime, this.session, this.fonts, i.creates, i.calculationOrder, { actor: e.actor, groupOf: e.groupOf, signal: t, made: (d, u) => { + if (!o) return; + let m = i.creates[u], F = r.fields[m.field].data; + U4(this.runtime, a, d, F, A), m.value && yw(this.runtime, a, d, F, A); + } }); + return { ...s, refMap: i.creates.map((d, u) => ({ from: r.fields[d.field].data.ref, to: s.fields[u].ref })), dropped: [...i.dropped] }; } planValues(e, t, r, n) { - S(r), Zc(this.runtime, "form", e, t, Vu); - let i = ed(this.runtime, this.session), a = t2({ bundle: e, target: this.readFields(), refusal: (A, o) => { + S(r), rd(this.runtime, "form", e, t, Am); + let i = sd(this.runtime, this.session), a = C2({ bundle: e, target: this.readFields(), refusal: (A, o) => { if (A.ref.kind !== "objectNumber") return "value-not-allowed"; try { - mc(A, o); + Pc(A, o); } catch (s) { if (f.is(s)) return "value-not-allowed"; throw s; } return i?.(A.name) ? "locked" : n(A) ? null : "fill-not-allowed"; } }); - return { writes: a.writes.filter(({ target: A, value: o }) => !M9(A, mc(A, o))), dropped: a.dropped }; + return { writes: a.writes.filter(({ target: A, value: o }) => !p9(A, Pc(A, o))), dropped: a.dropped }; } writeValue(e, t, r, n, i) { new lt(this.runtime, this.session, this.fonts).setValue(e.target.ref, e.value, i, n); - let a = jw(e.target.ref); - return r === "restore" && (dw(this.runtime, this.session.requireDocPtr(), a, t.fields[e.field].data, n.userId ?? null), this.session.invalidateDerived()), this.readField(a); - } - writeFlags(e, t) { - if (!e.ref) return; - let r = Uo(this.runtime, this.session, e.ref); - try { - il(this.runtime.fn, r, t); - } finally { - this.runtime.fn.FPDFPage_CloseAnnot(r); - } + let a = tO(e.target.ref); + return r === "restore" && (yw(this.runtime, this.session.requireDocPtr(), a, t.fields[e.field].data, n.userId ?? null), this.session.invalidateDerived()), this.readField(a); } fieldNames() { let { fn: e, mem: t } = this.runtime, r = Be(this.runtime, this.session), n = /* @__PURE__ */ new Set(); for (let i = 0; i < e.EPDFForm_CountFields(r); i++) { - let a = ue(t, (A, o) => e.EPDFForm_GetFieldName(r, i, A, o)); + let a = le(t, (A, o) => e.EPDFForm_GetFieldName(r, i, A, o)); a && n.add(a); } return n; } readFields() { let e = Be(this.runtime, this.session), t = this.session.requireDocPtr(), r = this.runtime.fn.EPDFForm_CountFields(e); - return Array.from({ length: r }, (n, i) => Ue(this.runtime, e, i, t)); + return Array.from({ length: r }, (n, i) => Ye(this.runtime, e, i, t)); } readField(e) { let t = Be(this.runtime, this.session), r = this.runtime.fn.EPDFForm_GetFieldIndexByObjNum(t, e); - return Ue(this.runtime, t, r, this.session.requireDocPtr()); - } - calculationOrder() { - return _a(this.runtime, Be(this.runtime, this.session)); + return Ye(this.runtime, t, r, this.session.requireDocPtr()); } }; -function D6(e, t) { - if (e.has(t)) return !0; - for (let r of e) if (r.startsWith(`${t}.`) || t.startsWith(`${r}.`)) return !0; - return !1; -} -function jw(e) { +function tO(e) { if (e.kind !== "objectNumber") throw new Error("a written field has an object number"); return e.objectNumber; } -function Rw(e) { - return { kind: "objectNumber", objectNumber: e }; -} -var nd = ["AP", "MK"], y6 = /* @__PURE__ */ new Set(["text", "checkbox", "radio", "combobox", "listbox"]), E6 = /* @__PURE__ */ new Set(["forms.setValue", "forms.setDisplay", "forms.setAppearanceText", "forms.reset", "forms.setSignatureAppearance"]); -function G6(e, t, r) { - let n = It(e, t.field); - return Sl(e, n), gn(r, pn(n.field), t.expect), rh(e, n, t.value); +var cd = ["AP", "MK"], nO = /* @__PURE__ */ new Set(["text", "checkbox", "radio", "combobox", "listbox"]), rO = /* @__PURE__ */ new Set(["forms.setValue", "forms.setDisplay", "forms.setAppearanceText", "forms.reset", "forms.setSignatureAppearance"]); +function iO(e, t, r) { + let n = St(e, t.field); + return Zu(e, n), gn(r, pn(n.field), t.expect), Eh(e, n, t.value); } -function C6(e, t) { - let r = It(e, t.field); - return W6(e, r), ih(e, "forms.setDisplay", (n) => n.setDisplay(t.field, t.display, e.signal), r); +function aO(e, t) { + let r = St(e, t.field); + return BO(e, r), Gh(e, "forms.setDisplay", (n) => n.setDisplay(t.field, t.display, e.signal), r); } -function x6(e, t) { - let r = It(e, t.field); - return Sl(e, r), ih(e, "forms.setAppearanceText", (n) => n.setAppearanceText(t.field, t.text, e.signal), r); +function AO(e, t) { + let r = St(e, t.field); + return Zu(e, r), Gh(e, "forms.setAppearanceText", (n) => n.setAppearanceText(t.field, t.text, e.signal), r); } -function _6(e, t) { - eh(e); - let r = t.fields ? t.fields.map((s) => It(e, s)) : ch(e).filter(({ field: s }) => y6.has(s.kind)); +function oO(e, t) { + Dh(e); + let r = t.fields ? t.fields.map((s) => St(e, s)) : Ih(e).filter(({ field: s }) => nO.has(s.kind)); for (let s of r) lr(e.authority, s.field.groupId, "fill"); - let n = en(e.runtime, e.session, r.flatMap(bA)), i = new lt(e.runtime, e.session, e.fonts).reset(t.fields ? [...t.fields] : void 0, e.signal), a = ft(e.runtime, e.session, n), A = new Set(i.fields.map((s) => Ha(s.ref))), o = { type: "forms.reset", ...Pr(e, i) }; - return A.size === 0 ? { item: o, reverse: [] } : { item: o, reverse: [{ kind: "objects.revert", reports: "forms.reset", objects: a, subject: { fields: [...A] }, fallback: { kind: "value", fields: r.filter(({ objectNumber: s }) => A.has(s)).map(({ objectNumber: s, field: d }) => ({ objectNumber: s, before: pn(d), left: pn(i.fields.find((l) => Ha(l.ref) === s)) })) } }] }; -} -function H6(e, t) { - Fe(e.authority, "doc.forms.modify"), Iy(t.draft) && Fe(e.authority, "doc.forms.script"); - let r = th(e, t.draft.groupId), { field: n, calculationOrder: i } = new lt(e.runtime, e.session, e.fonts).createField({ ...t.draft, ...r !== void 0 ? { groupId: r } : {} }, e.signal, e.authority.identity, { ...t.objectNumber !== void 0 ? { objectNumber: t.objectNumber } : {}, ...t.widgetObjectNumbers ? { widgetObjectNumbers: t.widgetObjectNumbers } : {} }); - return { item: { type: "forms.create", ...Rl(e, n), ...oh(i) }, reverse: [{ kind: "field.remove", objectNumber: Ha(n.ref), left: n }] }; -} -function I6(e, t, r) { - Fe(e.authority, "doc.forms.modify"), ta(t.patch.actions) && Fe(e.authority, "doc.forms.script"); - let n = It(e, t.field); - return t.patch.groupId !== void 0 && t.patch.groupId !== n.field.groupId && pf(e.authority, t.patch.groupId), gn(r, Go(n.field), t.expect), ah(e, n, t.patch); -} -function Q6(e, t, r) { - Fe(e.authority, "doc.forms.modify"); - let n = It(e, t.field); - return gn(r, n.field, t.expect), jl(e, n); -} -function S6(e, t) { - Fe(e.authority, "doc.forms.modify"), ta(t.placement.actions) && Fe(e.authority, "doc.forms.script"); - let r = It(e, t.field), n = /* @__PURE__ */ new Set([t.placement.page.objectNumber]); - for (let l of r.field.widgets) l.objectNumber === r.objectNumber && l.page && n.add(l.page.objectNumber); - let i = en(e.runtime, e.session, [...bA(r), ...[...n].map((l) => ({ objectNumber: l, deep: [] }))]), { field: a } = new lt(e.runtime, e.session, e.fonts).addWidget(t.field, t.placement, e.signal, { ...t.objectNumber !== void 0 ? { objectNumber: t.objectNumber } : {}, ...t.splitObjectNumber !== void 0 ? { splitObjectNumber: t.splitObjectNumber } : {} }), A = new Set(r.field.widgets.map((l) => l.objectNumber)), o = a.widgets.filter((l) => !A.has(l.objectNumber)), s = o.map((l) => ({ objectNumber: l.objectNumber, deep: nd, before: null })), d = ft(e.runtime, e.session, [...i, ...s]); - return { item: { type: "forms.addWidget", ...Pr(e, { field: a, meta: pt(e.session.writeStamp(), [a.ref], o) }) }, reverse: [mA("forms.removeWidget", d, [r.objectNumber])] }; -} -function O6(e, t) { - Fe(e.authority, "doc.forms.modify"); - let r = It(e, t.field), n = t.widget.kind === "objectNumber" ? t.widget.objectNumber : 0, i = en(e.runtime, e.session, [{ objectNumber: r.objectNumber, deep: [] }, { objectNumber: n, deep: [] }]), a = new lt(e.runtime, e.session, e.fonts).detachWidget(t.field, t.widget, e.signal), A = ft(e.runtime, e.session, i); - return { item: { type: "forms.removeWidget", ...Pr(e, { field: a.field, meta: pt(e.session.writeStamp(), [a.field.ref], [a.widget]) }) }, reverse: [mA("forms.addWidget", A, [r.objectNumber])] }; -} -function M6(e, t, r) { - Fe(e.authority, "doc.forms.modify"); - let n = Qn(e, t.widget); + let n = tn(e.runtime, e.session, r.flatMap(PA)), i = new lt(e.runtime, e.session, e.fonts).reset(t.fields ? [...t.fields] : void 0, e.signal), a = Pt(e.runtime, e.session, n), A = new Set(i.fields.map((s) => ui(s.ref))), o = { type: "forms.reset", ...kr(e, i) }; + return A.size === 0 ? { item: o, reverse: [] } : { item: o, reverse: [{ kind: "objects.revert", reports: "forms.reset", objects: a, subject: { fields: [...A] }, fallback: { kind: "value", fields: r.filter(({ objectNumber: s }) => A.has(s)).map(({ objectNumber: s, field: d }) => ({ objectNumber: s, before: pn(d), left: pn(i.fields.find((u) => ui(u.ref) === s)) })) } }] }; +} +function sO(e, t) { + ge(e.authority, "doc.forms.modify"), lE(t.draft) && ge(e.authority, "doc.forms.script"); + let r = zu(e, t.draft.groupId), { field: n, calculationOrder: i } = new lt(e.runtime, e.session, e.fonts).createField({ ...t.draft, ...r !== void 0 ? { groupId: r } : {} }, e.signal, e.authority.identity, { ...t.objectNumber !== void 0 ? { objectNumber: t.objectNumber } : {}, ...t.widgetObjectNumbers ? { widgetObjectNumbers: t.widgetObjectNumbers } : {} }); + return { item: { type: "forms.create", ...tl(e, n), ..._h(i) }, reverse: [{ kind: "field.remove", objectNumber: ui(n.ref), left: n }] }; +} +function cO(e, t) { + ge(e.authority, "doc.forms.modify"); + let r = new eO(e.runtime, e.session, e.fonts).copy({ fields: t.fields, ...t.widgets ? { widgets: t.widgets } : {}, ...t.page ? { page: t.page } : {}, ...t.offset ? { offset: t.offset } : {}, values: t.values ?? !0, ...t.objectNumbers ? { objectNumbers: t.objectNumbers } : {}, actor: e.authority.identity, mayScript: Ef(e.authority, "doc.forms.script"), groupOf: (i) => zu(e, i), limits: e.limits }, e.signal), n = r.fields.map((i) => ({ kind: "field.remove", objectNumber: ui(i.ref), left: i })); + return { item: { type: "forms.copy", ...r }, reverse: n.reverse() }; +} +function dO(e, t, r) { + ge(e.authority, "doc.forms.modify"), ra(t.patch.actions) && ge(e.authority, "doc.forms.script"); + let n = St(e, t.field); + return t.patch.groupId !== void 0 && t.patch.groupId !== n.field.groupId && _f(e.authority, t.patch.groupId), gn(r, Io(n.field), t.expect), Ch(e, n, t.patch); +} +function pO(e, t, r) { + ge(e.authority, "doc.forms.modify"); + let n = St(e, t.field); + return gn(r, n.field, t.expect), el(e, n); +} +function uO(e, t) { + ge(e.authority, "doc.forms.modify"), ra(t.placement.actions) && ge(e.authority, "doc.forms.script"); + let r = St(e, t.field), n = /* @__PURE__ */ new Set([t.placement.page.objectNumber]); + for (let u of r.field.widgets) u.objectNumber === r.objectNumber && u.page && n.add(u.page.objectNumber); + let i = tn(e.runtime, e.session, [...PA(r), ...[...n].map((u) => ({ objectNumber: u, deep: [] }))]), { field: a } = new lt(e.runtime, e.session, e.fonts).addWidget(t.field, t.placement, e.signal, { ...t.objectNumber !== void 0 ? { objectNumber: t.objectNumber } : {}, ...t.splitObjectNumber !== void 0 ? { splitObjectNumber: t.splitObjectNumber } : {} }), A = new Set(r.field.widgets.map((u) => u.objectNumber)), o = a.widgets.filter((u) => !A.has(u.objectNumber)), s = o.map((u) => ({ objectNumber: u.objectNumber, deep: cd, before: null })), d = Pt(e.runtime, e.session, [...i, ...s]); + return { item: { type: "forms.addWidget", ...kr(e, { field: a, meta: ut(e.session.writeStamp(), [a.ref], o) }) }, reverse: [FA("forms.removeWidget", d, [r.objectNumber])] }; +} +function lO(e, t) { + ge(e.authority, "doc.forms.modify"); + let r = St(e, t.field), n = t.widget.kind === "objectNumber" ? t.widget.objectNumber : 0, i = tn(e.runtime, e.session, [{ objectNumber: r.objectNumber, deep: [] }, { objectNumber: n, deep: [] }]), a = new lt(e.runtime, e.session, e.fonts).detachWidget(t.field, t.widget, e.signal), A = Pt(e.runtime, e.session, i); + return { item: { type: "forms.removeWidget", ...kr(e, { field: a.field, meta: ut(e.session.writeStamp(), [a.field.ref], [a.widget]) }) }, reverse: [FA("forms.addWidget", A, [r.objectNumber])] }; +} +function mO(e, t, r) { + ge(e.authority, "doc.forms.modify"); + let n = fn(e, t.widget); if (n.subtype !== "widget") throw new f(g.InvalidArg, `${n.subtype} is not a widget: delete it with page.annotations.delete`, { details: { field: "widget" } }); - return gn(r, n, t.expect), nh(e, n); + return gn(r, n, t.expect), yh(e, n); } -function j6(e, t) { - Fe(e.authority, "doc.forms.modify"); +function wO(e, t) { + ge(e.authority, "doc.forms.modify"); let r; try { r = e.session.resolvePageRef(t.page).pageIndex; } catch { - return Pe(e, "forms.restoreWidget"); + return ve(e, "forms.restoreWidget"); } - if (sh(e, t.widget)) return Pe(e, "forms.restoreWidget"); + if (Hh(e, t.widget)) return ve(e, "forms.restoreWidget"); let n = t.detached.filter((A) => A.objectNumber === t.fieldObjectNumber); - if (!Di(e.runtime, e.session, n)) return Pe(e, "forms.restoreWidget"); - M3(e.runtime, e.session.requireDocPtr(), r, t.capture), e.session.invalidateDerived(), t.detached.length > 0 && lA(e.runtime, e.session, t.detached); - let i = aO(e, t.widget), a = t.fieldObjectNumber === null ? null : wA(e, t.fieldObjectNumber).field; - return { item: { type: "forms.restoreWidget", field: a, widgets: [i], meta: pt(e.session.writeStamp(), a ? [a.ref] : [], [AO(e, t.widget)]) }, reverse: [{ kind: "widget.delete", widget: t.widget, left: i }] }; -} -function R6(e, t) { - Fe(e.authority, "doc.forms.modify"); - let r = sh(e, t.widget); - return !r || !We(r, t.left) ? Pe(e, "forms.deleteWidget") : nh(e, r); -} -function L6(e, t, r) { - Fe(e.authority, "doc.forms.modify"), ta(t.patch.actions) && Fe(e.authority, "doc.forms.script"); - let n = Qn(e, t.widget); + if (!Gi(e.runtime, e.session, n)) return ve(e, "forms.restoreWidget"); + ah(e.runtime, e.session.requireDocPtr(), r, t.capture), e.session.invalidateDerived(), t.detached.length > 0 && gA(e.runtime, e.session, t.detached); + let i = OO(e, t.widget), a = t.fieldObjectNumber === null ? null : vA(e, t.fieldObjectNumber).field; + return { item: { type: "forms.restoreWidget", field: a, widgets: [i], meta: ut(e.session.writeStamp(), a ? [a.ref] : [], [MO(e, t.widget)]) }, reverse: [{ kind: "widget.delete", widget: t.widget, left: i }] }; +} +function bO(e, t) { + ge(e.authority, "doc.forms.modify"); + let r = Hh(e, t.widget); + return !r || !Ue(r, t.left) ? ve(e, "forms.deleteWidget") : yh(e, r); +} +function gO(e, t, r) { + ge(e.authority, "doc.forms.modify"), ra(t.patch.actions) && ge(e.authority, "doc.forms.script"); + let n = fn(e, t.widget); if (n.subtype !== "widget") throw new f(g.InvalidArg, `${n.subtype} is not a widget: change it with doc.annotations.update`, { details: { field: "widget" } }); - return gn(r, n, t.expect), _l(e, t.widget, { ...t.patch, subtype: "widget" }, "forms.updateWidget"); + return gn(r, n, t.expect), sh(e, n, t.patch.nm), Yu(e, t.widget, { ...t.patch, subtype: "widget" }, "forms.updateWidget"); } -function T6(e, t) { - Fe(e.authority, "doc.forms.modify"); +function fO(e, t) { + ge(e.authority, "doc.forms.modify"); let { before: r, after: n, moved: i } = new lt(e.runtime, e.session, e.fonts).reorderCalculations(t.fields, t.position, e.signal); - return { item: J3(e, n, i), reverse: [Ol({ before: r, after: n })] }; + return { item: kh(e, n, i), reverse: [Ju({ before: r, after: n })] }; } -function K6(e, t) { - Fe(e.authority, "doc.forms.modify"); - let r = _a(e.runtime, Be(e.runtime, e.session)), n = p6(r, t, (i) => vr(e, i) !== null); - return Eo(r, n) ? Pe(e, "forms.reorderCalculations") : (td(e.runtime, e.session.requireDocPtr(), n), e.session.invalidateDerived(), { item: J3(e, n, [.../* @__PURE__ */ new Set([...r, ...n])].filter((i) => r.indexOf(i) !== n.indexOf(i))), reverse: [Ol({ before: r, after: n })] }); +function FO(e, t) { + ge(e.authority, "doc.forms.modify"); + let r = Ha(e.runtime, Be(e.runtime, e.session)), n = m6(r, t, (i) => hr(e, i) !== null); + return xo(r, n) ? ve(e, "forms.reorderCalculations") : (Ad(e.runtime, e.session.requireDocPtr(), n), e.session.invalidateDerived(), { item: kh(e, n, [.../* @__PURE__ */ new Set([...r, ...n])].filter((i) => r.indexOf(i) !== n.indexOf(i))), reverse: [Ju({ before: r, after: n })] }); } -function J3(e, t, r) { - return { type: "forms.reorderCalculations", calculationOrder: t.map(rd), meta: pt(e.session.writeStamp(), r.map(rd), []) }; +function kh(e, t, r) { + return { type: "forms.reorderCalculations", calculationOrder: t.map(dd), meta: ut(e.session.writeStamp(), r.map(dd), []) }; } -function N6(e, t) { - Fe(e.authority, "doc.forms.modify"); - let r = Gl(fs(e.runtime, e.session, t.page), "widgets", t.widgets, t.position); - return Cl(e.runtime, e.session, r), R3(e, r, t.widgets); +function vO(e, t) { + ge(e.authority, "doc.forms.modify"); + let r = Ku(ks(e.runtime, e.session, t.page), "widgets", t.widgets, t.position); + return Nu(e.runtime, e.session, r), ch(e, r, t.widgets); } -function V6(e, t) { - let r = It(e, t.field); - return lr(e.authority, r.field.groupId, "sign"), Ml(e, r, "forms.setSignatureAppearance", () => new lt(e.runtime, e.session, e.fonts).setSignatureAppearance(t.field, t.appearance.pdf, e.signal)); +function PO(e, t) { + let r = St(e, t.field); + return lr(e.authority, r.field.groupId, "sign"), $u(e, r, "forms.setSignatureAppearance", () => new lt(e.runtime, e.session, e.fonts).setSignatureAppearance(t.field, t.appearance.pdf, e.signal)); } -function Y6(e, t) { - Fe(e.authority, "doc.forms.modify"); - let r = $3(e, t), n = new z3(e.runtime, e.session, e.fonts).import({ bundle: t.bundle, ...t.pages !== void 0 ? { pages: t.pages } : {}, attribution: t.attribution, values: t.values ?? !0, actor: t.actor ?? {}, limits: t.limits, mayScript: (t.mayScript ?? !1) && fE(e.authority, "doc.forms.script"), groupOf: (a) => r ? a : th(e, a) }, e.signal), i = n.fields.map((a) => ({ kind: "field.remove", objectNumber: Ha(a.ref), left: a, ...r ? { rights: r } : {} })); +function hO(e, t) { + ge(e.authority, "doc.forms.modify"); + let r = Bh(e, t), n = new hh(e.runtime, e.session, e.fonts).import({ bundle: t.bundle, ...t.pages !== void 0 ? { pages: t.pages } : {}, attribution: t.attribution, values: t.values ?? !0, actor: t.actor ?? {}, limits: t.limits, mayScript: (t.mayScript ?? !1) && Ef(e.authority, "doc.forms.script"), groupOf: (a) => r ? a : zu(e, a) }, e.signal), i = n.fields.map((a) => ({ kind: "field.remove", objectNumber: ui(a.ref), left: a, ...r ? { rights: r } : {} })); return { item: { type: "forms.import", ...n }, reverse: i.reverse() }; } -function X6(e, t) { - eh(e); - let r = $3(e, t), n = new z3(e.runtime, e.session, e.fonts), i = n.planValues(t.bundle, t.limits, e.signal, (o) => ui(e.authority, o.groupId, "fill")), a = [], A = []; +function kO(e, t) { + Dh(e); + let r = Bh(e, t), n = new hh(e.runtime, e.session, e.fonts), i = n.planValues(t.bundle, t.limits, e.signal, (o) => bi(e.authority, o.groupId, "fill")), a = [], A = []; for (let o of i.writes) { - let s = { objectNumber: Ha(o.target.ref), field: o.target }, d = en(e.runtime, e.session, bA(s)), l = n.writeValue(o, t.bundle, t.attribution, t.actor ?? {}, e.signal), m = ft(e.runtime, e.session, d); - a.push(l), A.push({ ...mA("forms.setValue", m, [s.objectNumber]), fallback: { kind: "value", fields: [{ objectNumber: s.objectNumber, before: pn(o.target), left: pn(l) }] }, ...r ? { rights: r } : {} }); + let s = { objectNumber: ui(o.target.ref), field: o.target }, d = tn(e.runtime, e.session, PA(s)), u = n.writeValue(o, t.bundle, t.attribution, t.actor ?? {}, e.signal), m = Pt(e.runtime, e.session, d); + a.push(u), A.push({ ...FA("forms.setValue", m, [s.objectNumber]), fallback: { kind: "value", fields: [{ objectNumber: s.objectNumber, before: pn(o.target), left: pn(u) }] }, ...r ? { rights: r } : {} }); } - return { item: { type: "forms.importValues", ...Pr(e, { fields: a, dropped: [...i.dropped], meta: pt(e.session.writeStamp(), a.map((o) => o.ref), a.flatMap((o) => o.widgets)) }) }, reverse: A.reverse() }; + return { item: { type: "forms.importValues", ...kr(e, { fields: a, dropped: [...i.dropped], meta: ut(e.session.writeStamp(), a.map((o) => o.ref), a.flatMap((o) => o.widgets)) }) }, reverse: A.reverse() }; } -function $3(e, t) { - if (t.attribution === "restore") return Fe(e.authority, "doc.forms.import"), "import"; +function Bh(e, t) { + if (t.attribution === "restore") return ge(e.authority, "doc.forms.import"), "import"; } -function Sl(e, t) { - if (!ui(e.authority, t.field.groupId, "fill")) { - if (q6(e, t) && e.fillsOwnField()) { - Ht(e.authority, "doc.forms.fill"); +function Zu(e, t) { + if (!bi(e.authority, t.field.groupId, "fill")) { + if (yO(e, t) && e.fillsOwnField()) { + vt(e.authority, "doc.forms.fill"); return; } lr(e.authority, t.field.groupId, "fill"); } } -function W6(e, t) { - if (!ui(e.authority, t.field.groupId, "fill")) { +function BO(e, t) { + if (!bi(e.authority, t.field.groupId, "fill")) { if (e.fillsOwnField()) { - Ht(e.authority, "doc.forms.fill"); + vt(e.authority, "doc.forms.fill"); return; } lr(e.authority, t.field.groupId, "fill"); } } -function eh(e) { - FE(e.authority, "fill") || Fe(e.authority, "doc.forms.fill"); +function Dh(e) { + JE(e.authority, "fill") || ge(e.authority, "doc.forms.fill"); } -function U6(e, t) { +function DO(e, t) { let r = t.reports === "forms.setSignatureAppearance" ? "sign" : "fill"; - Ht(e.authority, r === "sign" ? "doc.sign" : "doc.forms.fill"); + vt(e.authority, r === "sign" ? "doc.sign" : "doc.forms.fill"); for (let n of t.subject.fields) { - let i = vr(e, n); - i && (r === "sign" ? lr(e.authority, i.field.groupId, "sign") : Sl(e, i)); + let i = hr(e, n); + i && (r === "sign" ? lr(e.authority, i.field.groupId, "sign") : Zu(e, i)); } } -function th(e, t) { +function zu(e, t) { let r = t ?? e.authority.identity.groupId; - return r !== void 0 && pf(e.authority, r), r; + return r !== void 0 && _f(e.authority, r), r; } -function q6(e, t) { - return t.field.actions?.calculate ? _a(e.runtime, Be(e.runtime, e.session)).includes(t.objectNumber) : !1; +function yO(e, t) { + return t.field.actions?.calculate ? Ha(e.runtime, Be(e.runtime, e.session)).includes(t.objectNumber) : !1; } -function Z6(e, t) { +function EO(e, t) { return t.some((r) => { if (r.type !== "forms.setValue" && r.type !== "forms.setAppearanceText") return !1; - let n = vs(e, r.field); - return n !== null && ui(e.authority, n.field.groupId, "fill"); + let n = Ds(e, r.field); + return n !== null && bi(e.authority, n.field.groupId, "fill"); }); } -function z6(e, t) { +function GO(e, t) { return t.some((r) => r.kind === "objects.revert" && (r.reports === "forms.setValue" || r.reports === "forms.setAppearanceText") && "fields" in r.subject && r.subject.fields.some((n) => { - let i = vr(e, n); - return i !== null && ui(e.authority, i.field.groupId, "fill"); + let i = hr(e, n); + return i !== null && bi(e.authority, i.field.groupId, "fill"); })); } -function J6(e, t) { - if (E6.has(t.reports) ? U6(e, t) : Fe(e.authority, "doc.forms.modify"), t.rights && Fe(e.authority, "doc.forms.import"), Di(e.runtime, e.session, t.objects)) { - let i = lA(e.runtime, e.session, t.objects), a = t.subject.fields.map((A) => wA(e, A).field); - return { item: lh(e, t.reports, a), reverse: [{ ...t, objects: i, ...iO(t.fallback) }] }; +function CO(e, t) { + if (rO.has(t.reports) ? DO(e, t) : ge(e.authority, "doc.forms.modify"), t.rights && ge(e.authority, "doc.forms.import"), Gi(e.runtime, e.session, t.objects)) { + let i = gA(e.runtime, e.session, t.objects), a = t.subject.fields.map((A) => vA(e, A).field); + return { item: Oh(e, t.reports, a), reverse: [{ ...t, objects: i, ...SO(t.fallback) }] }; } - if (t.fallback?.kind === "properties") return $6(e, t.fallback); - if (t.fallback?.kind !== "value") return Pe(e, t.reports); + if (t.fallback?.kind === "properties") return xO(e, t.fallback); + if (t.fallback?.kind !== "value") return ve(e, t.reports); let r = [], n = []; for (let { objectNumber: i, before: a, left: A } of t.fallback.fields) { - let o = vr(e, i); - o && We(pn(o.field), A) ? r.push(rh(e, o, a)) : o && n.push(o.field.name); + let o = hr(e, i); + o && Ue(pn(o.field), A) ? r.push(Eh(e, o, a)) : o && n.push(o.field.name); } - return r.length === 0 ? Pe(e, t.reports) : t.reports === "forms.setValue" && r.length === 1 ? r[0] : { item: { ...ph(e, r.map(({ item: i }) => i.field)), ...n.length > 0 ? { skipped: n } : {} }, reverse: r.flatMap((i) => i.reverse) }; -} -function $6(e, t) { - let r = vr(e, t.objectNumber); - if (!r) return Pe(e, "forms.update"); - let n = Go(r.field), i = t.left, a = t.restore, A = Object.keys(i), o = A.filter((m) => We(n[m], i[m]) && (m !== "name" || eO(e, r.field.name, String(a.name)))); - if (o.length === 0) return Pe(e, "forms.update"); - let s = ah(e, r, id(a, o)), d = A.filter((m) => !o.includes(m)), l = s.item; - return d.length === 0 || Oa(l) || l.type !== "forms.update" ? s : { ...s, item: { ...l, skipped: d } }; -} -function eO(e, t, r) { - return vs(e, { kind: "fqn", name: t.slice(0, t.lastIndexOf(".") + 1) + r }) === null; -} -function tO(e, t) { - Fe(e.authority, "doc.forms.modify"), t.rights && Fe(e.authority, "doc.forms.import"); - let r = vr(e, t.objectNumber); - return !r || !We(r.field, t.left) ? Pe(e, "forms.delete") : jl(e, r, t.rights); + return r.length === 0 ? ve(e, t.reports) : t.reports === "forms.setValue" && r.length === 1 ? r[0] : { item: { ...Sh(e, r.map(({ item: i }) => i.field)), ...n.length > 0 ? { skipped: n } : {} }, reverse: r.flatMap((i) => i.reverse) }; } -function nO(e, t) { - if (Fe(e.authority, "doc.forms.modify"), t.rights && Fe(e.authority, "doc.forms.import"), vs(e, { kind: "fqn", name: t.name })) return Pe(e, "forms.restore"); +function xO(e, t) { + let r = hr(e, t.objectNumber); + if (!r) return ve(e, "forms.update"); + let n = Io(r.field), i = t.left, a = t.restore, A = Object.keys(i), o = A.filter((m) => Ue(n[m], i[m]) && (m !== "name" || _O(e, r.field.name, String(a.name)))); + if (o.length === 0) return ve(e, "forms.update"); + let s = Ch(e, r, pd(a, o)), d = A.filter((m) => !o.includes(m)), u = s.item; + return d.length === 0 || Ra(u) || u.type !== "forms.update" ? s : { ...s, item: { ...u, skipped: d } }; +} +function _O(e, t, r) { + return Ds(e, { kind: "fqn", name: t.slice(0, t.lastIndexOf(".") + 1) + r }) === null; +} +function HO(e, t) { + ge(e.authority, "doc.forms.modify"), t.rights && ge(e.authority, "doc.forms.import"); + let r = hr(e, t.objectNumber); + return !r || !Ue(r.field, t.left) ? ve(e, "forms.delete") : el(e, r, t.rights); +} +function IO(e, t) { + if (ge(e.authority, "doc.forms.modify"), t.rights && ge(e.authority, "doc.forms.import"), Ds(e, { kind: "fqn", name: t.name })) return ve(e, "forms.restore"); for (let n of t.pages) try { e.session.resolvePageRef(n); } catch { - return Pe(e, "forms.restore"); + return ve(e, "forms.restore"); } - rS(e.runtime, e.session.requireDocPtr(), t.capture), e.session.invalidateDerived(); - let { field: r } = wA(e, t.objectNumber); - return { item: { type: "forms.restore", ...Rl(e, r) }, reverse: [{ kind: "field.remove", objectNumber: t.objectNumber, left: r, ...t.rights ? { rights: t.rights } : {} }] }; + CS(e.runtime, e.session.requireDocPtr(), t.capture), e.session.invalidateDerived(); + let { field: r } = vA(e, t.objectNumber); + return { item: { type: "forms.restore", ...tl(e, r) }, reverse: [{ kind: "field.remove", objectNumber: t.objectNumber, left: r, ...t.rights ? { rights: t.rights } : {} }] }; } -function nh(e, t) { +function yh(e, t) { let r = t.ref; - zt(e.runtime, e.session, r.page.objectNumber); - let n = gr(e, r), i = t.field ? It(e, t.field) : null; + Jt(e.runtime, e.session, r.page.objectNumber); + let n = fr(e, r), i = t.field ? St(e, t.field) : null; if (i && i.objectNumber === n) throw new f(g.InvalidArg, `widget ${n} is its field's own dictionary (a merged field/widget) - delete the field with doc.forms.delete`, { details: { field: "widget" } }); let a = []; if (i) { - let l = en(e.runtime, e.session, [{ objectNumber: i.objectNumber, deep: [] }, { objectNumber: n, deep: [] }]); - new lt(e.runtime, e.session, e.fonts).detachWidget({ kind: "objectNumber", objectNumber: i.objectNumber }, r, e.signal), a = ft(e.runtime, e.session, l); + let u = tn(e.runtime, e.session, [{ objectNumber: i.objectNumber, deep: [] }, { objectNumber: n, deep: [] }]); + new lt(e.runtime, e.session, e.fonts).detachWidget({ kind: "objectNumber", objectNumber: i.objectNumber }, r, e.signal), a = Pt(e.runtime, e.session, u); } - let { pageIndex: A, index: o } = gt(e.runtime, e.session, r), s = O3(e.runtime, e.session.requireDocPtr(), A, [o]); - new yl(e.runtime, e.session, e.fonts).deleteReleasedWidget(r, 0), e.session.invalidateDerived(); - let d = i ? wA(e, i.objectNumber).field : null; - return { item: { type: "forms.deleteWidget", widget: r, page: r.page, field: d, meta: pt(e.session.writeStamp(), d ? [d.ref] : [], [{ ref: r, objectNumber: n, page: r.page }]) }, reverse: [{ kind: "widget.restore", page: r.page, widget: r, capture: s, fieldObjectNumber: i?.objectNumber ?? null, detached: a }] }; + let { pageIndex: A, index: o } = Ft(e.runtime, e.session, r), s = ih(e.runtime, e.session.requireDocPtr(), A, [o]); + new Lu(e.runtime, e.session, e.fonts).deleteReleasedWidget(r, 0), e.session.invalidateDerived(); + let d = i ? vA(e, i.objectNumber).field : null; + return { item: { type: "forms.deleteWidget", widget: r, page: r.page, field: d, meta: ut(e.session.writeStamp(), d ? [d.ref] : [], [{ ref: r, objectNumber: n, page: r.page }]) }, reverse: [{ kind: "widget.restore", page: r.page, widget: r, capture: s, fieldObjectNumber: i?.objectNumber ?? null, detached: a }] }; } -function rh(e, t, r) { - let n = { kind: "objectNumber", objectNumber: t.objectNumber }, i = en(e.runtime, e.session, bA(t)), a = new lt(e.runtime, e.session, e.fonts).setValue(n, r, e.signal, e.authority.identity), A = ft(e.runtime, e.session, i), o = { type: "forms.setValue", ...Pr(e, a) }; - return a.meta.changedWidgets.length === 0 && We(pn(t.field), pn(a.field)) ? { item: o, reverse: [] } : { item: o, reverse: [{ ...mA("forms.setValue", A, [t.objectNumber]), fallback: { kind: "value", fields: [{ objectNumber: t.objectNumber, before: pn(t.field), left: pn(a.field) }] } }] }; +function Eh(e, t, r) { + let n = { kind: "objectNumber", objectNumber: t.objectNumber }, i = tn(e.runtime, e.session, PA(t)), a = new lt(e.runtime, e.session, e.fonts).setValue(n, r, e.signal, e.authority.identity), A = Pt(e.runtime, e.session, i), o = { type: "forms.setValue", ...kr(e, a) }; + return a.meta.changedWidgets.length === 0 && Ue(pn(t.field), pn(a.field)) ? { item: o, reverse: [] } : { item: o, reverse: [{ ...FA("forms.setValue", A, [t.objectNumber]), fallback: { kind: "value", fields: [{ objectNumber: t.objectNumber, before: pn(t.field), left: pn(a.field) }] } }] }; } -function ih(e, t, r, n) { - let i = !1, a = Ml(e, n, t, () => (i = r(new lt(e.runtime, e.session, e.fonts)).meta.changedWidgets.length > 0, { field: wA(e, n.objectNumber).field })); +function Gh(e, t, r, n) { + let i = !1, a = $u(e, n, t, () => (i = r(new lt(e.runtime, e.session, e.fonts)).meta.changedWidgets.length > 0, { field: vA(e, n.objectNumber).field })); return i ? a : { item: a.item, reverse: [] }; } -function ah(e, t, r) { +function Ch(e, t, r) { let n = { kind: "objectNumber", objectNumber: t.objectNumber }, i = null; - return Ah(e, Ml(e, t, "forms.update", () => { + return xh(e, $u(e, t, "forms.update", () => { let a = new lt(e.runtime, e.session, e.fonts).updateField(n, r, e.signal); return i = a.calculationOrder, a; }, (a) => { - let A = Go(t.field), o = Go(a), s = Object.keys(r).filter((d) => d !== "kind" && !We(A[d], o[d])); - return { kind: "properties", objectNumber: t.objectNumber, restore: id(A, s), left: id(o, s) }; + let A = Io(t.field), o = Io(a), s = Object.keys(r).filter((d) => d !== "kind" && !Ue(A[d], o[d])); + return { kind: "properties", objectNumber: t.objectNumber, restore: pd(A, s), left: pd(o, s) }; }), i); } -function Ah(e, t, r) { - return !r || Oa(t.item) ? t : { item: { ...t.item, ...oh(r) }, reverse: [...t.reverse, Ol(r)] }; +function xh(e, t, r) { + return !r || Ra(t.item) ? t : { item: { ...t.item, ..._h(r) }, reverse: [...t.reverse, Ju(r)] }; } -function oh(e) { - return e ? { calculationOrder: e.after.map(rd) } : {}; +function _h(e) { + return e ? { calculationOrder: e.after.map(dd) } : {}; } -function Ol({ before: e, after: t }) { +function Ju({ before: e, after: t }) { return { kind: "calculations.restore", before: e, after: t }; } -function rd(e) { +function dd(e) { return { kind: "objectNumber", objectNumber: e }; } -function Ml(e, t, r, n, i) { - let a = en(e.runtime, e.session, bA(t)), { field: A } = n(), o = mA(r, ft(e.runtime, e.session, a), [t.objectNumber]); - return { item: lh(e, r, [A]), reverse: [i ? { ...o, fallback: i(A) } : o] }; +function $u(e, t, r, n, i) { + let a = tn(e.runtime, e.session, PA(t)), { field: A } = n(), o = FA(r, Pt(e.runtime, e.session, a), [t.objectNumber]); + return { item: Oh(e, r, [A]), reverse: [i ? { ...o, fallback: i(A) } : o] }; } -function jl(e, t, r) { - let n = nS(e.runtime, e.session.requireDocPtr(), t.objectNumber), i = { kind: "objectNumber", objectNumber: t.objectNumber }, { deleted: a, removedWidgets: A, calculationOrder: o } = new lt(e.runtime, e.session).deleteField(i, e.signal); - return Ah(e, { item: { type: "forms.delete", meta: pt(e.session.writeStamp(), [a], A) }, reverse: [{ kind: "field.restore", objectNumber: t.objectNumber, name: t.field.name, pages: t.field.widgets.flatMap((s) => s.page ? [s.page] : []), capture: n, ...r ? { rights: r } : {} }] }, o); +function el(e, t, r) { + let n = GS(e.runtime, e.session.requireDocPtr(), t.objectNumber), i = { kind: "objectNumber", objectNumber: t.objectNumber }, { deleted: a, removedWidgets: A, calculationOrder: o } = new lt(e.runtime, e.session).deleteField(i, e.signal); + return xh(e, { item: { type: "forms.delete", meta: ut(e.session.writeStamp(), [a], A) }, reverse: [{ kind: "field.restore", objectNumber: t.objectNumber, name: t.field.name, pages: t.field.widgets.flatMap((s) => s.page ? [s.page] : []), capture: n, ...r ? { rights: r } : {} }] }, o); } -function Lw(e) { - return new Set(ch(e).map(({ objectNumber: t }) => t)); +function tb(e) { + return new Set(Ih(e).map(({ objectNumber: t }) => t)); } -function rO(e, t, r) { +function QO(e, t, r) { let n = []; for (let i of t) { - let a = vr(e, i); - !a || !a.field.widgets.every((A) => A.page && r.has(A.page.objectNumber)) || n.push(...jl(e, a).reverse); + let a = hr(e, i); + !a || !a.field.widgets.every((A) => A.page && r.has(A.page.objectNumber)) || n.push(...el(e, a).reverse); } return n; } -function mA(e, t, r) { +function FA(e, t, r) { return { kind: "objects.revert", reports: e, objects: t, subject: { fields: r } }; } -function iO(e) { +function SO(e) { switch (e?.kind) { case "value": return { fallback: { kind: "value", fields: e.fields.map(({ objectNumber: t, before: r, left: n }) => ({ objectNumber: t, before: n, left: r })) } }; @@ -14090,56 +14323,56 @@ function iO(e) { return {}; } } -function It(e, t) { - let r = Be(e.runtime, e.session), n = yt(e.runtime, r, t), i = Ue(e.runtime, r, n.fieldIndex, e.session.requireDocPtr()); +function St(e, t) { + let r = Be(e.runtime, e.session), n = Gt(e.runtime, r, t), i = Ye(e.runtime, r, n.fieldIndex, e.session.requireDocPtr()); return { objectNumber: n.fieldObjectNumber, field: i }; } -function aO(e, t) { - let r = Qn(e, t); - if (r.subtype !== "widget") throw new Error(`${Z(t)} reads as no widget`); +function OO(e, t) { + let r = fn(e, t); + if (r.subtype !== "widget") throw new Error(`${W(t)} reads as no widget`); return r; } -function sh(e, t) { +function Hh(e, t) { try { - let r = Qn(e, t); + let r = fn(e, t); return r.subtype === "widget" ? r : null; } catch (r) { if (f.is(r)) return null; throw r; } } -function AO(e, t) { - return { ref: t, objectNumber: gr(e, t), page: t.page }; +function MO(e, t) { + return { ref: t, objectNumber: fr(e, t), page: t.page }; } -function wA(e, t) { - return It(e, { kind: "objectNumber", objectNumber: t }); +function vA(e, t) { + return St(e, { kind: "objectNumber", objectNumber: t }); } -function vs(e, t) { +function Ds(e, t) { try { - return It(e, t); + return St(e, t); } catch { return null; } } -function vr(e, t) { - return vs(e, { kind: "objectNumber", objectNumber: t }); +function hr(e, t) { + return Ds(e, { kind: "objectNumber", objectNumber: t }); } -function ch(e) { +function Ih(e) { let t = Be(e.runtime, e.session), r = e.runtime.fn.EPDFForm_CountFields(t), n = []; for (let i = 0; i < r; i++) { - let a = Ue(e.runtime, t, i, e.session.requireDocPtr()); + let a = Ye(e.runtime, t, i, e.session.requireDocPtr()); a.ref.kind === "objectNumber" && n.push({ objectNumber: a.ref.objectNumber, field: a }); } return n; } -function bA({ objectNumber: e, field: t }) { - return [{ objectNumber: e, deep: nd }, ...t.widgets.map((r) => ({ objectNumber: r.objectNumber, deep: nd }))]; +function PA({ objectNumber: e, field: t }) { + return [{ objectNumber: e, deep: cd }, ...t.widgets.map((r) => ({ objectNumber: r.objectNumber, deep: cd }))]; } -function Ha(e) { +function ui(e) { return e.kind === "objectNumber" ? e.objectNumber : 0; } -function Go(e) { - let t = { name: e.name.slice(e.name.lastIndexOf(".") + 1), readOnly: e.readOnly, required: e.required, noExport: e.noExport, alternateName: e.alternateName, mappingName: e.mappingName, ...e.groupId !== null ? { groupId: e.groupId } : {}, actions: oO(e) }, r = e.defaultValueEntry.kind !== "none", n = (i) => i.map(({ label: a, value: A }) => ({ label: a, value: A })); +function Io(e) { + let t = { name: e.name.slice(e.name.lastIndexOf(".") + 1), readOnly: e.readOnly, required: e.required, noExport: e.noExport, alternateName: e.alternateName, mappingName: e.mappingName, ...e.groupId !== null ? { groupId: e.groupId } : {}, actions: jO(e) }, r = e.defaultValueEntry.kind !== "none", n = (i) => i.map(({ label: a, value: A }) => ({ label: a, value: A })); switch (e.kind) { case "text": return { ...t, defaultValue: r ? e.defaultValue : null, maxLength: e.maxLength, multiline: e.multiline, password: e.password, comb: e.comb }; @@ -14153,7 +14386,7 @@ function Go(e) { return t; } } -function oO(e) { +function jO(e) { let t = {}; for (let r of ["keystroke", "format", "validate", "calculate"]) { let n = e.actions?.[r]; @@ -14161,69 +14394,69 @@ function oO(e) { t[r] = null; continue; } - let i = Yg(n); + let i = cf(n); i && (t[r] = i); } return t; } -function id(e, t) { +function pd(e, t) { return Object.fromEntries(t.map((r) => [r, e[r]])); } function pn(e) { - return Id(e) ?? { value: null }; + return Yo(e) ?? { value: null }; } -function Rl(e, t, r = t.widgets) { - return Pr(e, { field: t, meta: pt(e.session.writeStamp(), [t.ref], t.widgets, r) }); +function tl(e, t, r = t.widgets) { + return kr(e, { field: t, meta: ut(e.session.writeStamp(), [t.ref], t.widgets, r) }); } -function dh(e, t) { +function Qh(e, t) { let r = t.widgets; - return e === "forms.setDisplay" ? [] : e === "forms.setValue" || e === "forms.reset" ? Jc(t.kind, r) : r; + return e === "forms.setDisplay" ? [] : e === "forms.setValue" || e === "forms.reset" ? ad(t.kind, r) : r; } -function Pr(e, t) { - return Z3(e.runtime, e.session, t, e.fonts); +function kr(e, t) { + return bh(e.runtime, e.session, t, e.fonts); } -function ph(e, t) { - return { type: "forms.reset", ...Pr(e, { fields: [...t], meta: pt(e.session.writeStamp(), t.map((r) => r.ref), t.flatMap((r) => r.widgets), t.flatMap((r) => dh("forms.reset", r))) }) }; +function Sh(e, t) { + return { type: "forms.reset", ...kr(e, { fields: [...t], meta: ut(e.session.writeStamp(), t.map((r) => r.ref), t.flatMap((r) => r.widgets), t.flatMap((r) => Qh("forms.reset", r))) }) }; } -function lh(e, t, r) { - if (t === "forms.reset") return ph(e, r); +function Oh(e, t, r) { + if (t === "forms.reset") return Sh(e, r); let n = r[0]; - return { type: t, ...Rl(e, n, dh(t, n)) }; + return { type: t, ...tl(e, n, Qh(t, n)) }; } -function sO(e, t, r) { - Fe(e.authority, "doc.metadata.modify"); - let n = new wr(e.runtime, e.session).read(e.signal); +function RO(e, t, r) { + ge(e.authority, "doc.metadata.modify"); + let n = new br(e.runtime, e.session).read(e.signal); gn(r, n, t.expect); - let i = new Ep(e.runtime, e.session).update(t.patch, e.signal); - return { item: { type: "metadata.update", ...i }, reverse: [uh("metadata.update", Object.keys(t.patch), n, i.metadata)] }; + let i = new jp(e.runtime, e.session).update(t.patch, e.signal); + return { item: { type: "metadata.update", ...i }, reverse: [Mh("metadata.update", Object.keys(t.patch), n, i.metadata)] }; } -function cO(e, t) { - Fe(e.authority, "doc.metadata.modify"); - let r = new wr(e.runtime, e.session).readCustom(e.signal), n = new Ep(e.runtime, e.session).updateCustom(t.patch, e.signal); - return { item: { type: "metadata.updateCustom", ...n }, reverse: [uh("metadata.updateCustom", Object.keys(t.patch), r, n.custom)] }; +function LO(e, t) { + ge(e.authority, "doc.metadata.modify"); + let r = new br(e.runtime, e.session).readCustom(e.signal), n = new jp(e.runtime, e.session).updateCustom(t.patch, e.signal); + return { item: { type: "metadata.updateCustom", ...n }, reverse: [Mh("metadata.updateCustom", Object.keys(t.patch), r, n.custom)] }; } -function dO(e, t) { - Fe(e.authority, "doc.metadata.modify"); - let r = new wr(e.runtime, e.session), n = t.op === "metadata.update" ? r.read(e.signal) : r.readCustom(e.signal), i = t.left, a = Object.keys(i), A = a.filter((m) => We(Nr(n, m), i[m])); - if (A.length === 0) return Pe(e, t.op); - let o = Tw(t.restore, A), s = new Ep(e.runtime, e.session), d = a.filter((m) => !A.includes(m)), l = { kind: "metadata.revert", op: t.op, restore: Tw(t.left, A), left: o }; - return t.op === "metadata.update" ? { item: { type: "metadata.update", ...s.update(o, e.signal), ...d.length > 0 ? { skipped: d } : {} }, reverse: [l] } : { item: { type: "metadata.updateCustom", ...s.updateCustom(o, e.signal), ...d.length > 0 ? { skipped: d } : {} }, reverse: [l] }; +function TO(e, t) { + ge(e.authority, "doc.metadata.modify"); + let r = new br(e.runtime, e.session), n = t.op === "metadata.update" ? r.read(e.signal) : r.readCustom(e.signal), i = t.left, a = Object.keys(i), A = a.filter((m) => Ue(Xr(n, m), i[m])); + if (A.length === 0) return ve(e, t.op); + let o = nb(t.restore, A), s = new jp(e.runtime, e.session), d = a.filter((m) => !A.includes(m)), u = { kind: "metadata.revert", op: t.op, restore: nb(t.left, A), left: o }; + return t.op === "metadata.update" ? { item: { type: "metadata.update", ...s.update(o, e.signal), ...d.length > 0 ? { skipped: d } : {} }, reverse: [u] } : { item: { type: "metadata.updateCustom", ...s.updateCustom(o, e.signal), ...d.length > 0 ? { skipped: d } : {} }, reverse: [u] }; } -function uh(e, t, r, n) { - let i = t.filter((a) => !We(Nr(r, a), Nr(n, a))); - return { kind: "metadata.revert", op: e, restore: Object.fromEntries(i.map((a) => [a, Nr(r, a)])), left: Object.fromEntries(i.map((a) => [a, Nr(n, a)])) }; +function Mh(e, t, r, n) { + let i = t.filter((a) => !Ue(Xr(r, a), Xr(n, a))); + return { kind: "metadata.revert", op: e, restore: Object.fromEntries(i.map((a) => [a, Xr(r, a)])), left: Object.fromEntries(i.map((a) => [a, Xr(n, a)])) }; } -function Nr(e, t) { +function Xr(e, t) { return e[t] ?? null; } -function Tw(e, t) { - return Object.fromEntries(t.map((r) => [r, Nr(e, r)])); +function nb(e, t) { + return Object.fromEntries(t.map((r) => [r, Xr(e, r)])); } -var pO = class { +var KO = class { constructor(e, t) { - K(this, "childrenByParent", /* @__PURE__ */ new Map()), K(this, "parentByItem", /* @__PURE__ */ new Map()); + N(this, "childrenByParent", /* @__PURE__ */ new Map()), N(this, "parentByItem", /* @__PURE__ */ new Map()); let r = (n, i, a) => { - if (a >= ro.depth) return; + if (a >= so.depth) return; let A = []; this.childrenByParent.set(i, A); for (let o = e.FPDFBookmark_GetFirstChild(t, n); o; o = e.FPDFBookmark_GetNextSibling(t, o)) { @@ -14234,7 +14467,7 @@ var pO = class { } } }; - r(Y, 0, 0); + r(X, 0, 0); } has(e) { return this.parentByItem.has(e); @@ -14262,42 +14495,42 @@ var pO = class { items() { return this.childrenOf(0).flatMap((e) => this.subtreeOf(e)); } -}, lO = { maxModels: 5e4, maxNodes: 2e5, maxScriptCodeUnits: 16e6, maxTargetEntries: 65536, maxPayloadCodeUnits: 16e6 }, uO = 1, mO = 2; -function Kw() { - return new Fr(lO); +}, NO = { maxModels: 5e4, maxNodes: 2e5, maxScriptCodeUnits: 16e6, maxTargetEntries: 65536, maxPayloadCodeUnits: 16e6 }, VO = 1, YO = 2; +function rb() { + return new Pr(NO); } -function Nw(e, t, r, n, i, a) { - let { fn: A, mem: o } = e, s = ue(o, (P, D) => A.FPDFBookmark_GetTitle(r, P, D)) ?? "", d = A.FPDFBookmark_GetFirstChild(t, r) !== Y, l = A.FPDFBookmark_GetStyle(r), { action: m, target: F, complete: k } = wO(e, t, r, a); - return { item: { ref: Kt(n), parent: i === 0 ? null : Kt(i), title: s, target: F, action: m, open: d && A.FPDFBookmark_GetCount(r) > 0, color: bO(e, r), bold: (l & mO) !== 0, italic: (l & uO) !== 0 }, complete: k }; +function ib(e, t, r, n, i, a) { + let { fn: A, mem: o } = e, s = le(o, (P, D) => A.FPDFBookmark_GetTitle(r, P, D)) ?? "", d = A.FPDFBookmark_GetFirstChild(t, r) !== X, u = A.FPDFBookmark_GetStyle(r), { action: m, target: F, complete: h } = XO(e, t, r, a); + return { item: { ref: Nt(n), parent: i === 0 ? null : Nt(i), title: s, target: F, action: m, open: d && A.FPDFBookmark_GetCount(r) > 0, color: WO(e, r), bold: (u & YO) !== 0, italic: (u & VO) !== 0 }, complete: h }; } -function wO(e, t, r, n) { +function XO(e, t, r, n) { let { fn: i, mem: a } = e, A = i.FPDFBookmark_GetAction(r); if (A) try { - let d = Nn(i, a, t, i.EPDFAction_LoadModel(A), n); - return { action: d, target: d ? qv(d) : { kind: "unsupported" }, complete: d !== null && !d.incomplete }; + let d = Vn(i, a, t, i.EPDFAction_LoadModel(A), n); + return { action: d, target: d ? wP(d) : { kind: "unsupported" }, complete: d !== null && !d.incomplete }; } catch (d) { if (!f.is(d)) throw d; return { action: null, target: { kind: "unsupported" }, complete: !1 }; } let o = i.FPDFBookmark_GetDest(t, r); if (!o) return { action: null, target: null, complete: !0 }; - let s = Xo(i, a, t, o); + let s = $o(i, a, t, o); return { action: null, target: s ? { kind: "goto", destination: s } : { kind: "unsupported" }, complete: !0 }; } -function bO(e, t) { +function WO(e, t) { let { fn: r, mem: n } = e; - return fe(n, [4, 4, 4], ([i, a, A]) => { + return Fe(n, [4, 4, 4], ([i, a, A]) => { if (!r.FPDFBookmark_GetColor(t, i, a, A)) return null; let o = (s) => Math.min(255, Math.max(0, Math.round(pe(n, s) * 255))); - return So(o(i), o(a), o(A)); + return Lo(o(i), o(a), o(A)); }); } -var mh = class { +var jh = class { constructor(e, t) { this.runtime = e, this.session = t; } read(e) { - let { fn: t } = this.runtime, r = this.session.requireDocPtr(), n = Kw(), i = [], a = /* @__PURE__ */ new Set(), A = !1, o = (s, d, l) => { + let { fn: t } = this.runtime, r = this.session.requireDocPtr(), n = rb(), i = [], a = /* @__PURE__ */ new Set(), A = !1, o = (s, d, u) => { for (let m = t.FPDFBookmark_GetFirstChild(r, s); m; m = t.FPDFBookmark_GetNextSibling(r, m)) { S(e); let F = t.EPDFOutline_GetObjectNumber(m); @@ -14309,104 +14542,104 @@ var mh = class { A = !0; break; } - if (i.length >= ro.items) return A = !0, !1; + if (i.length >= so.items) return A = !0, !1; a.add(F); - let k = Nw(this.runtime, r, m, F, d, n); - if (i.push(k.item), k.complete || (A = !0), t.FPDFBookmark_GetFirstChild(r, m) !== Y) { - if (l + 1 >= ro.depth) { + let h = ib(this.runtime, r, m, F, d, n); + if (i.push(h.item), h.complete || (A = !0), t.FPDFBookmark_GetFirstChild(r, m) !== X) { + if (u + 1 >= so.depth) { A = !0; continue; } - if (!o(m, F, l + 1)) return !1; + if (!o(m, F, u + 1)) return !1; } } return !0; }; - return o(Y, 0, 0), { items: i, incomplete: A }; + return o(X, 0, 0), { items: i, incomplete: A }; } readItem(e, t) { let r = this.session.requireDocPtr(), n = this.runtime.fn.EPDFOutline_GetItem(r, e); if (!n) throw new f(g.NotFound, `no outline item ${e}`, { details: { field: "ref" } }); - return Nw(this.runtime, r, n, e, t, Kw()).item; + return ib(this.runtime, r, n, e, t, rb()).item; } -}, gO = 1, fO = 2, Vw = 32767, FO = /^#[0-9a-fA-F]{6}$/; -function Yw(e) { +}, UO = 1, qO = 2, ab = 32767, ZO = /^#[0-9a-fA-F]{6}$/; +function Ab(e) { let t = (n, i) => { throw new f(g.InvalidArg, i, { details: { field: n } }); }; - e.title !== void 0 && (typeof e.title != "string" && t("title", "a title is a string"), e.title.length > Vw && t("title", `a title holds at most ${Vw} characters`)), e.color != null && !FO.test(e.color) && t("color", "expected a color as '#rrggbb'"); + e.title !== void 0 && (typeof e.title != "string" && t("title", "a title is a string"), e.title.length > ab && t("title", `a title holds at most ${ab} characters`)), e.color != null && !ZO.test(e.color) && t("color", "expected a color as '#rrggbb'"); let r = e.target; r != null && (r.kind === "goto" || r.kind === "uri" || r.kind === "named" && ["NextPage", "PrevPage", "FirstPage", "LastPage"].includes(r.name ?? "") || t("target", `a '${r.kind}' target can't be written`)); } -function nc(e, t, r, n) { +function oc(e, t, r, n) { let { fn: i, mem: a } = e, A = (o, s) => { if (!o) throw new f(g.Unknown, `the ${s} of outline item ${r} could not be written`); }; if (n.title !== void 0) { let o = n.title; - A(Hn(a, o, (s) => i.EPDFOutline_SetTitle(t, r, s)), "title"); + A(Qn(a, o, (s) => i.EPDFOutline_SetTitle(t, r, s)), "title"); } if (n.target !== void 0) { - let o = n.target === null ? Y : Zv(i, a, t, n.target); + let o = n.target === null ? X : bP(i, a, t, n.target); A(i.EPDFOutline_SetAction(t, r, o), "target"); } if (n.color !== void 0) if (n.color === null) A(i.EPDFOutline_SetColor(t, r, !1, 0, 0, 0), "colour"); else { - let { r: o, g: s, b: d } = pr(n.color); + let { r: o, g: s, b: d } = ur(n.color); A(i.EPDFOutline_SetColor(t, r, !0, o / 255, s / 255, d / 255), "colour"); } if (n.bold !== void 0 || n.italic !== void 0) { let o = i.FPDFBookmark_GetStyle(i.EPDFOutline_GetItem(t, r)); - n.bold !== void 0 && (o = n.bold ? o | fO : o & -3), n.italic !== void 0 && (o = n.italic ? o | gO : o & -2), A(i.EPDFOutline_SetStyle(t, r, o), "style"); + n.bold !== void 0 && (o = n.bold ? o | qO : o & -3), n.italic !== void 0 && (o = n.italic ? o | UO : o & -2), A(i.EPDFOutline_SetStyle(t, r, o), "style"); } n.open !== void 0 && A(i.EPDFOutline_SetOpen(t, r, n.open), "open state"); } -var vO = class { +var zO = class { constructor(e, t) { - this.runtime = e, this.session = t, K(this, "reader", void 0), this.reader = new mh(e, t); + this.runtime = e, this.session = t, N(this, "reader", void 0), this.reader = new jh(e, t); } tree() { - return new pO(this.runtime.fn, this.session.requireDocPtr()); + return new KO(this.runtime.fn, this.session.requireDocPtr()); } create(e, t, r, n) { - Yw(r); - let i = this.tree(), a = this.parentNumberOf(i, e), A = i.childrenOf(a), o = pc(A.map(Kt), t, Xw), s = o === 0 ? 0 : A[o - 1]; + Ab(r); + let i = this.tree(), a = this.parentNumberOf(i, e), A = i.childrenOf(a), o = gc(A.map(Nt), t, ob), s = o === 0 ? 0 : A[o - 1]; n !== void 0 && this.session.claimObjectNumber(n); - let { fn: d, mem: l } = this.runtime, m = this.session.requireDocPtr(), F = Hn(l, r.title, (G) => d.EPDFOutline_CreateItem(m, n ?? 0, a, s, G)); - if (!F) throw Oi("create the item"); - let { title: k, ...P } = r; - nc(this.runtime, m, F, P); + let { fn: d, mem: u } = this.runtime, m = this.session.requireDocPtr(), F = Qn(u, r.title, (G) => d.EPDFOutline_CreateItem(m, n ?? 0, a, s, G)); + if (!F) throw ji("create the item"); + let { title: h, ...P } = r; + oc(this.runtime, m, F, P); let D = this.reader.readItem(F, a); return { item: D, order: this.orderOf(this.tree(), a), meta: this.meta([D.ref]) }; } update(e, t) { - Yw(t); + Ab(t); let r = this.tree(), n = this.requireItem(r, e, "ref"); - return nc(this.runtime, this.session.requireDocPtr(), e.objectNumber, t), { item: this.reader.readItem(e.objectNumber, n), meta: this.meta([e]) }; + return oc(this.runtime, this.session.requireDocPtr(), e.objectNumber, t), { item: this.reader.readItem(e.objectNumber, n), meta: this.meta([e]) }; } move(e, t, r) { let n = this.tree(), i = e.map((m) => (this.requireItem(n, m, "refs"), m.objectNumber)), a = new Set(i); - a.size !== i.length && Si("refs", "an item is named twice"); - for (let m of i) i.some((F) => F !== m && n.isAtOrUnder(m, F)) && Si("refs", `item ${m} is under another item that moves`); + a.size !== i.length && Mi("refs", "an item is named twice"); + for (let m of i) i.some((F) => F !== m && n.isAtOrUnder(m, F)) && Mi("refs", `item ${m} is under another item that moves`); let A = this.parentNumberOf(n, t); - i.some((m) => n.isAtOrUnder(A, m)) && Si("parent", "an item would go under itself"); + i.some((m) => n.isAtOrUnder(A, m)) && Mi("parent", "an item would go under itself"); let o = n.childrenOf(A).filter((m) => !a.has(m)), s = r === "start" || r === "end" ? null : "before" in r ? r.before : r.after; - s && a.has(s.objectNumber) && Si("position", `the neighbour ${s.objectNumber} is one of the items that move`); - let d = pc(o.map(Kt), r, Xw), l = d === 0 ? 0 : o[d - 1]; + s && a.has(s.objectNumber) && Mi("position", `the neighbour ${s.objectNumber} is one of the items that move`); + let d = gc(o.map(Nt), r, ob), u = d === 0 ? 0 : o[d - 1]; return this.place(i.map((m) => { - let F = { item: m, parent: A, after: l }; - return l = m, F; + let F = { item: m, parent: A, after: u }; + return u = m, F; }), n); } place(e, t = this.tree()) { let { fn: r } = this.runtime, n = this.session.requireDocPtr(), i = /* @__PURE__ */ new Set(); for (let { item: A, parent: o, after: s } of e) { i.add(t.parentOf(A) ?? 0), i.add(o); - let d = this.tree(), l = s && d.parentOf(s) === o ? s : 0; - if (!r.EPDFOutline_MoveItem(n, A, o, l)) throw Oi(`move item ${A}`); + let d = this.tree(), u = s && d.parentOf(s) === o ? s : 0; + if (!r.EPDFOutline_MoveItem(n, A, o, u)) throw ji(`move item ${A}`); } let a = this.tree(); - return { orders: [...i].map((A) => this.orderOf(a, A)), meta: this.meta(e.map(({ item: A }) => Kt(A))) }; + return { orders: [...i].map((A) => this.orderOf(a, A)), meta: this.meta(e.map(({ item: A }) => Nt(A))) }; } placementsOf(e, t = this.tree()) { let r = new Set(e); @@ -14419,12 +14652,12 @@ var vO = class { let t = this.tree(); this.requireItem(t, e, "ref"); let r = t.subtreeOf(e.objectNumber); - if (!this.runtime.fn.EPDFOutline_DeleteItem(this.session.requireDocPtr(), e.objectNumber)) throw Oi(`delete item ${e.objectNumber}`); - return { meta: this.meta(r.map(Kt)) }; + if (!this.runtime.fn.EPDFOutline_DeleteItem(this.session.requireDocPtr(), e.objectNumber)) throw ji(`delete item ${e.objectNumber}`); + return { meta: this.meta(r.map(Nt)) }; } restored(e) { let t = this.tree(), r = t.parentOf(e); - if (r === void 0) throw Oi(`restore item ${e}`); + if (r === void 0) throw ji(`restore item ${e}`); let n = this.subtree(e, t); return { items: n, order: this.orderOf(t, r), meta: this.meta(n.map((i) => i.ref)) }; } @@ -14437,15 +14670,15 @@ var vO = class { } updated(e) { let t = this.find(e); - if (!t) throw Oi(`read item ${e.objectNumber}`); + if (!t) throw ji(`read item ${e.objectNumber}`); return { item: t, meta: this.meta([e]) }; } countAgain(e) { let t = this.find(e); - t && nc(this.runtime, this.session.requireDocPtr(), e.objectNumber, { open: t.open }); + t && oc(this.runtime, this.session.requireDocPtr(), e.objectNumber, { open: t.open }); } parentNumberOf(e, t) { - return t === null ? 0 : (this.requireItem(e, t, "parent"), (e.levelOf(t.objectNumber) ?? 0) >= ro.depth - 1 && Si("parent", `an item under ${t.objectNumber} would be deeper than reads go`), t.objectNumber); + return t === null ? 0 : (this.requireItem(e, t, "parent"), (e.levelOf(t.objectNumber) ?? 0) >= so.depth - 1 && Mi("parent", `an item under ${t.objectNumber} would be deeper than reads go`), t.objectNumber); } requireItem(e, t, r) { let n = e.parentOf(t.objectNumber); @@ -14453,103 +14686,103 @@ var vO = class { return n; } orderOf(e, t) { - return { parent: t === 0 ? null : Kt(t), children: e.childrenOf(t).map(Kt) }; + return { parent: t === 0 ? null : Nt(t), children: e.childrenOf(t).map(Nt) }; } meta(e) { return { affectedPages: [], cacheDelta: null, ...this.session.writeStamp(), changedRefs: e }; } -}, Xw = (e) => String(e.objectNumber); -function Si(e, t) { +}, ob = (e) => String(e.objectNumber); +function Mi(e, t) { throw new f(g.InvalidArg, t, { details: { field: e } }); } -function Oi(e) { +function ji(e) { return new f(g.MalformedPdf, `could not ${e}: the outline holds an item that isn't an indirect object`); } -var PO = ["title", "target", "color", "bold", "italic", "open"], hO = ["A", "Dest"], tn = (e) => new vO(e.runtime, e.session), Sn = (e) => Fe(e.authority, "doc.outline.modify"); -function kO(e, t) { - Sn(e); - let r = tn(e).create(t.parent, t.position ?? "end", t.data, t.objectNumber); - return { item: { type: "outline.create", ...r }, reverse: [{ kind: "outline.remove", ref: r.item.ref, left: gh(e, [r.item.ref]) }] }; +var JO = ["title", "target", "color", "bold", "italic", "open"], $O = ["A", "Dest"], nn = (e) => new zO(e.runtime, e.session), On = (e) => ge(e.authority, "doc.outline.modify"); +function eM(e, t) { + On(e); + let r = nn(e).create(t.parent, t.position ?? "end", t.data, t.objectNumber); + return { item: { type: "outline.create", ...r }, reverse: [{ kind: "outline.remove", ref: r.item.ref, left: Th(e, [r.item.ref]) }] }; } -function BO(e, t, r) { - Sn(e); - let n = fh(e, t.ref); - return gn(r, n, t.expect), wh(e, t.ref, t.patch, n); +function tM(e, t, r) { + On(e); + let n = Kh(e, t.ref); + return gn(r, n, t.expect), Rh(e, t.ref, t.patch, n); } -function DO(e, t) { - Sn(e); - let r = tn(e), n = r.tree(), i = t.refs.map((d) => d.objectNumber), a = r.placementsOf(i, n), A = Ll(e, n, i), o = r.move(t.refs, t.parent, t.position), s = t.parent?.objectNumber ?? 0; +function nM(e, t) { + On(e); + let r = nn(e), n = r.tree(), i = t.refs.map((d) => d.objectNumber), a = r.placementsOf(i, n), A = nl(e, n, i), o = r.move(t.refs, t.parent, t.position), s = t.parent?.objectNumber ?? 0; return { item: { type: "outline.move", ...o }, reverse: [{ kind: "outline.move", placements: a, left: i.map((d) => ({ item: d, parent: s })) }, ...A] }; } -function yO(e, t, r) { - return Sn(e), gn(r, fh(e, t.ref), t.expect), bh(e, t.ref); +function rM(e, t, r) { + return On(e), gn(r, Kh(e, t.ref), t.expect), Lh(e, t.ref); } -function EO(e, t) { - let r = t.subject.outlineItem, n = tn(e), i = n.find(r); - if (!i) return Pe(e, "outline.update"); - if (Sn(e), Di(e.runtime, e.session, t.objects)) { - let k = lA(e.runtime, e.session, t.objects); +function iM(e, t) { + let r = t.subject.outlineItem, n = nn(e), i = n.find(r); + if (!i) return ve(e, "outline.update"); + if (On(e), Gi(e.runtime, e.session, t.objects)) { + let h = gA(e.runtime, e.session, t.objects); n.countAgain(r); - let P = ft(e.runtime, e.session, k); - return { item: { type: "outline.update", ...n.updated(r) }, reverse: [{ ...t, objects: P, ...QO(t.fallback) }] }; + let P = Pt(e.runtime, e.session, h); + return { item: { type: "outline.update", ...n.updated(r) }, reverse: [{ ...t, objects: P, ...pM(t.fallback) }] }; } let a = t.fallback; - if (a?.kind !== "outline") return Pe(e, "outline.update"); - let A = i, o = a.left, s = a.restore, d = Object.keys(o), l = d.filter((k) => We(A[k], o[k]) && IO(e, k, s[k])); - if (l.length === 0) return Pe(e, "outline.update"); - let m = wh(e, r, Object.fromEntries(l.map((k) => [k, s[k]])), i), F = d.filter((k) => !l.includes(k)); + if (a?.kind !== "outline") return ve(e, "outline.update"); + let A = i, o = a.left, s = a.restore, d = Object.keys(o), u = d.filter((h) => Ue(A[h], o[h]) && dM(e, h, s[h])); + if (u.length === 0) return ve(e, "outline.update"); + let m = Rh(e, r, Object.fromEntries(u.map((h) => [h, s[h]])), i), F = d.filter((h) => !u.includes(h)); return F.length === 0 || m.item.type !== "outline.update" ? m : { ...m, item: { ...m.item, skipped: F } }; } -function GO(e, t) { - let r = tn(e).tree(); - return !r.has(t.ref.objectNumber) || (Sn(e), !We(r.subtreeOf(t.ref.objectNumber), t.left.map((n) => n.objectNumber)) || !Di(e.runtime, e.session, t.left)) ? Pe(e, "outline.delete") : bh(e, t.ref); +function aM(e, t) { + let r = nn(e).tree(); + return !r.has(t.ref.objectNumber) || (On(e), !Ue(r.subtreeOf(t.ref.objectNumber), t.left.map((n) => n.objectNumber)) || !Gi(e.runtime, e.session, t.left)) ? ve(e, "outline.delete") : Lh(e, t.ref); } -function CO(e, t) { - let r = tn(e), n = r.tree(); - if (n.has(t.ref.objectNumber) || t.parent && !n.has(t.parent.objectNumber)) return Pe(e, "outline.restore"); - Sn(e), aS(e.runtime, e.session.requireDocPtr(), t.capture); +function AM(e, t) { + let r = nn(e), n = r.tree(); + if (n.has(t.ref.objectNumber) || t.parent && !n.has(t.parent.objectNumber)) return ve(e, "outline.restore"); + On(e), _S(e.runtime, e.session.requireDocPtr(), t.capture); let i = r.restored(t.ref.objectNumber); - return { item: { type: "outline.restore", ...i }, reverse: [{ kind: "outline.remove", ref: t.ref, left: gh(e, i.items.map((a) => a.ref)) }] }; + return { item: { type: "outline.restore", ...i }, reverse: [{ kind: "outline.remove", ref: t.ref, left: Th(e, i.items.map((a) => a.ref)) }] }; } -function xO(e, t) { - let r = tn(e), n = r.tree(), i = new Map(t.left.map(({ item: d, parent: l }) => [d, l])), a = t.placements.filter(({ item: d, parent: l }) => n.parentOf(d) === i.get(d) && (l === 0 || n.has(l)) && !n.isAtOrUnder(l, d)); - if (a.length === 0) return Pe(e, "outline.move"); - Sn(e); - let A = a.map(({ item: d }) => d), o = r.placementsOf(A, n), s = Ll(e, n, A); - return { item: { type: "outline.move", ...r.place(a, n) }, reverse: [{ kind: "outline.move", placements: o, left: a.map(({ item: d, parent: l }) => ({ item: d, parent: l })) }, ...s] }; +function oM(e, t) { + let r = nn(e), n = r.tree(), i = new Map(t.left.map(({ item: d, parent: u }) => [d, u])), a = t.placements.filter(({ item: d, parent: u }) => n.parentOf(d) === i.get(d) && (u === 0 || n.has(u)) && !n.isAtOrUnder(u, d)); + if (a.length === 0) return ve(e, "outline.move"); + On(e); + let A = a.map(({ item: d }) => d), o = r.placementsOf(A, n), s = nl(e, n, A); + return { item: { type: "outline.move", ...r.place(a, n) }, reverse: [{ kind: "outline.move", placements: o, left: a.map(({ item: d, parent: u }) => ({ item: d, parent: u })) }, ...s] }; } -function _O(e, t) { - let r = tn(e), n = r.tree(), i = r.find(t.ref, n), a = n.childrenOf(t.ref.objectNumber), A = a.length === t.children.length && a.every((o) => t.children.includes(o)); - return !i || i.open || !A ? Pe(e, "outline.update") : (Sn(e), { item: { type: "outline.update", ...r.update(t.ref, { open: !0 }) }, reverse: [] }); +function sM(e, t) { + let r = nn(e), n = r.tree(), i = r.find(t.ref, n), a = n.childrenOf(t.ref.objectNumber), A = a.length === t.children.length && a.every((o) => t.children.includes(o)); + return !i || i.open || !A ? ve(e, "outline.update") : (On(e), { item: { type: "outline.update", ...r.update(t.ref, { open: !0 }) }, reverse: [] }); } -function wh(e, t, r, n) { - let i = en(e.runtime, e.session, [{ objectNumber: t.objectNumber, deep: hO }]), a = tn(e).update(t, r), A = ft(e.runtime, e.session, i); - return { item: { type: "outline.update", ...a }, reverse: [{ kind: "objects.revert", reports: "outline.update", objects: A, subject: { outlineItem: t }, fallback: HO(n, a.item, r) }] }; +function Rh(e, t, r, n) { + let i = tn(e.runtime, e.session, [{ objectNumber: t.objectNumber, deep: $O }]), a = nn(e).update(t, r), A = Pt(e.runtime, e.session, i); + return { item: { type: "outline.update", ...a }, reverse: [{ kind: "objects.revert", reports: "outline.update", objects: A, subject: { outlineItem: t }, fallback: cM(n, a.item, r) }] }; } -function bh(e, t) { - let r = tn(e), n = r.tree(), i = n.parentOf(t.objectNumber), a = Ll(e, n, [t.objectNumber]), A = iS(e.runtime, e.session.requireDocPtr(), t.objectNumber); - return { item: { type: "outline.delete", ...r.delete(t) }, reverse: [{ kind: "outline.restore", ref: t, parent: i === void 0 || i === 0 ? null : Kt(i), capture: A }, ...a] }; +function Lh(e, t) { + let r = nn(e), n = r.tree(), i = n.parentOf(t.objectNumber), a = nl(e, n, [t.objectNumber]), A = xS(e.runtime, e.session.requireDocPtr(), t.objectNumber); + return { item: { type: "outline.delete", ...r.delete(t) }, reverse: [{ kind: "outline.restore", ref: t, parent: i === void 0 || i === 0 ? null : Nt(i), capture: A }, ...a] }; } -function Ll(e, t, r) { +function nl(e, t, r) { let n = new Set(r), i = new Set(r.map((a) => t.parentOf(a) ?? 0)); return i.delete(0), [...i].flatMap((a) => { let A = t.childrenOf(a); - return A.every((o) => n.has(o)) ? tn(e).find(Kt(a), t)?.open ? [{ kind: "outline.reopen", ref: Kt(a), children: A }] : [] : []; + return A.every((o) => n.has(o)) ? nn(e).find(Nt(a), t)?.open ? [{ kind: "outline.reopen", ref: Nt(a), children: A }] : [] : []; }); } -function gh(e, t) { - return ft(e.runtime, e.session, t.map((r) => ({ objectNumber: r.objectNumber, deep: [], before: null }))); +function Th(e, t) { + return Pt(e.runtime, e.session, t.map((r) => ({ objectNumber: r.objectNumber, deep: [], before: null }))); } -function fh(e, t) { - let r = tn(e).find(t); +function Kh(e, t) { + let r = nn(e).find(t); if (!r) throw new f(g.NotFound, `no outline item ${t.objectNumber}`, { details: { field: "ref" } }); return r; } -function HO(e, t, r) { - let n = PO.filter((i) => r[i] !== void 0 && !We(e[i], t[i])); +function cM(e, t, r) { + let n = JO.filter((i) => r[i] !== void 0 && !Ue(e[i], t[i])); return { kind: "outline", restore: Object.fromEntries(n.map((i) => [i, e[i]])), left: Object.fromEntries(n.map((i) => [i, t[i]])) }; } -function IO(e, t, r) { +function dM(e, t, r) { if (t !== "target" || r === null) return !0; let n = r; if (n.kind === "goto") { @@ -14558,11 +14791,11 @@ function IO(e, t, r) { } return n.kind === "uri" ? !0 : n.kind === "named" && ["NextPage", "PrevPage", "FirstPage", "LastPage"].includes(n.name ?? ""); } -function QO(e) { +function pM(e) { return e?.kind !== "outline" ? e ? { fallback: e } : {} : { fallback: { kind: "outline", restore: e.left, left: e.restore } }; } -var SO = ["Annots", "Contents", "Resources"], OO = ["Parent", "Rotate"]; -function on(e, t) { +var uM = ["Annots", "Contents", "Resources"], lM = ["Parent", "Rotate"]; +function sn(e, t) { let r = e.session.pagePool(); r.closeIdle(); try { @@ -14571,106 +14804,106 @@ function on(e, t) { r.closeIdle(); } } -var gA = (e) => new jc(e.runtime, e.session), Tl = (e) => new Xx(e.runtime, e.session), fn = (e) => Fe(e.authority, "doc.pages.assemble"); -function MO(e, t) { - fn(e); - let r = kh(vA(e)), n = gA(e).rotate([...t.pages], t.rotation, e.signal), i = t.pages.map((a) => a.objectNumber); - return { item: { type: "pages.rotate", pages: [...t.pages], rotation: t.rotation, ...n }, reverse: WO(i, r, t.rotation) }; -} -function jO(e, t) { - let r = kh(vA(e)), n = t.pages.filter((A) => r.get(A) === t.left); - if (n.length === 0) return Pe(e, "pages.rotate"); - fn(e); - let i = n.map(be), a = gA(e).rotate(i, t.rotation, e.signal); +var hA = (e) => new Wc(e.runtime, e.session), rl = (e) => new f_(e.runtime, e.session), Fn = (e) => ge(e.authority, "doc.pages.assemble"); +function mM(e, t) { + Fn(e); + let r = Wh(DA(e)), n = hA(e).rotate([...t.pages], t.rotation, e.signal), i = t.pages.map((a) => a.objectNumber); + return { item: { type: "pages.rotate", pages: [...t.pages], rotation: t.rotation, ...n }, reverse: BM(i, r, t.rotation) }; +} +function wM(e, t) { + let r = Wh(DA(e)), n = t.pages.filter((A) => r.get(A) === t.left); + if (n.length === 0) return ve(e, "pages.rotate"); + Fn(e); + let i = n.map(be), a = hA(e).rotate(i, t.rotation, e.signal); return { item: { type: "pages.rotate", pages: i, rotation: t.rotation, ...a }, reverse: [{ kind: "pages.rotate", pages: n, rotation: t.left, left: t.rotation }] }; } -function RO(e, t) { - fn(e); - let r = t.pages.map((d) => d.objectNumber), n = Ut(e), i = fA(e), a = Co(n, r), A = gA(e).reorder([...t.pages], t.position, e.signal), o = Ut(e), s = FA(e, i, Ph(i, n, o, r)); - return { item: { type: "pages.reorder", ...A, ...Vl(e, s) }, reverse: [{ kind: "pages.reorder", placements: a, left: Co(o, r), ...s ? { labels: s } : {} }] }; +function bM(e, t) { + Fn(e); + let r = t.pages.map((d) => d.objectNumber), n = qt(e), i = kA(e), a = Qo(n, r), A = hA(e).reorder([...t.pages], t.position, e.signal), o = qt(e), s = BA(e, i, Yh(i, n, o, r)); + return { item: { type: "pages.reorder", ...A, ...Al(e, s) }, reverse: [{ kind: "pages.reorder", placements: a, left: Qo(o, r), ...s ? { labels: s } : {} }] }; } -function LO(e, t) { - let r = Ut(e), n = new Map(t.left.map(({ page: k, after: P }) => [k, P])), i = t.placements.filter(({ page: k, after: P }) => { - let D = r.indexOf(k); - return D >= 0 && (r[D - 1] ?? 0) === n.get(k) && (P === 0 || r.includes(P)); +function gM(e, t) { + let r = qt(e), n = new Map(t.left.map(({ page: h, after: P }) => [h, P])), i = t.placements.filter(({ page: h, after: P }) => { + let D = r.indexOf(h); + return D >= 0 && (r[D - 1] ?? 0) === n.get(h) && (P === 0 || r.includes(P)); }); - if (i.length === 0) return Pe(e, "pages.reorder"); - fn(e); - let a = i.map(({ page: k }) => k), A = Co(r, a), o = fA(e), s = gA(e), d = null, l = o, m = r; - for (let { page: k, after: P } of i) { + if (i.length === 0) return ve(e, "pages.reorder"); + Fn(e); + let a = i.map(({ page: h }) => h), A = Qo(r, a), o = kA(e), s = hA(e), d = null, u = o, m = r; + for (let { page: h, after: P } of i) { let D = P === 0 ? "start" : { after: be(P) }; - ({ layout: d } = s.reorder([be(k)], D, e.signal)); - let G = Ut(e); - l = Ph(l, m, G, [k]), m = G; + ({ layout: d } = s.reorder([be(h)], D, e.signal)); + let G = qt(e); + u = Yh(u, m, G, [h]), m = G; } - let F = FA(e, o, Nl(o, l, t.labels)); - return { item: { type: "pages.reorder", pages: a.map(be), layout: F ? vA(e) : d, meta: Bh(e) }, reverse: [{ kind: "pages.reorder", placements: A, left: Co(Ut(e), a), ...F ? { labels: F } : {} }] }; + let F = BA(e, o, al(o, u, t.labels)); + return { item: { type: "pages.reorder", pages: a.map(be), layout: F ? DA(e) : d, meta: Uh(e) }, reverse: [{ kind: "pages.reorder", placements: A, left: Qo(qt(e), a), ...F ? { labels: F } : {} }] }; } -function TO(e, t) { - return fn(e), Fh(e, Ps(Ut(e), e.session.resolvePageRefs(t.pages))); -} -function KO(e, t) { - let r = Ut(e), n = t.pages.filter(({ page: d }) => !r.includes(d)); - if (n.length === 0) return Pe(e, "pages.restore"); - fn(e); - let i = fA(e), a = e.session.requireDocPtr(); - for (let { capture: d } of n) oS(e.runtime, a, d); +function fM(e, t) { + return Fn(e), Nh(e, ys(qt(e), e.session.resolvePageRefs(t.pages))); +} +function FM(e, t) { + let r = qt(e), n = t.pages.filter(({ page: d }) => !r.includes(d)); + if (n.length === 0) return ve(e, "pages.restore"); + Fn(e); + let i = kA(e), a = e.session.requireDocPtr(); + for (let { capture: d } of n) IS(e.runtime, a, d); e.session.refreshPageRegistry(), e.session.invalidateDerived(); - let A = Ut(e), o = Ps(A, n.map(({ page: d }) => d)), s = FA(e, i, Nl(i, o.reduce((d, l) => Bd(d, A.indexOf(l), 1), i), t.labels)); - return { item: { type: "pages.restore", pages: o.map(be), layout: vA(e), meta: Bh(e) }, reverse: [vh(e, o, s)] }; -} -function NO(e, t) { - let r = Ut(e), n = t.pages.filter(({ page: A, left: o }) => r.includes(A) && hh(e, A) === o).map(({ page: A }) => A); - if (n.length === 0 || n.length >= r.length) return Pe(e, "pages.delete"); - fn(e); - let i = rO(e, t.fields ?? [], new Set(n)), a = Fh(e, Ps(r, n), t.labels); + let A = qt(e), o = ys(A, n.map(({ page: d }) => d)), s = BA(e, i, al(i, o.reduce((d, u) => Hd(d, A.indexOf(u), 1), i), t.labels)); + return { item: { type: "pages.restore", pages: o.map(be), layout: DA(e), meta: Uh(e) }, reverse: [Vh(e, o, s)] }; +} +function vM(e, t) { + let r = qt(e), n = t.pages.filter(({ page: A, left: o }) => r.includes(A) && Xh(e, A) === o).map(({ page: A }) => A); + if (n.length === 0 || n.length >= r.length) return ve(e, "pages.delete"); + Fn(e); + let i = QO(e, t.fields ?? [], new Set(n)), a = Nh(e, ys(r, n), t.labels); return { item: a.item, reverse: [...a.reverse, ...i] }; } -function VO(e, t) { - return fn(e), Kl(e, "pages.insertBlank", () => Tl(e).insertBlank(t.spec, t.position ?? "end", e.signal, t.objectNumbers)); +function PM(e, t) { + return Fn(e), il(e, "pages.insertBlank", () => rl(e).insertBlank(t.spec, t.position ?? "end", e.signal, t.objectNumbers)); } -function YO(e, t) { - return fn(e), Kl(e, "pages.insert", () => Tl(e).insert(UO(t.source), t.position ?? "end", e.signal, t.objectNumbers)); +function hM(e, t) { + return Fn(e), il(e, "pages.insert", () => rl(e).insert(DM(t.source), t.position ?? "end", e.signal, t.objectNumbers)); } -function XO(e, t) { - return fn(e), Kl(e, "pages.copy", () => Tl(e).copy(t.pages, t.position ?? "end", e.signal, t.objectNumbers)); +function kM(e, t) { + return Fn(e), il(e, "pages.copy", () => rl(e).copy(t.pages, t.position ?? "end", e.signal, t.objectNumbers)); } -function Kl(e, t, r) { - let n = t !== "pages.insertBlank", i = fA(e), a = n ? Lw(e) : /* @__PURE__ */ new Set(), A = r(); +function il(e, t, r) { + let n = t !== "pages.insertBlank", i = kA(e), a = n ? tb(e) : /* @__PURE__ */ new Set(), A = r(); n && e.session.invalidateDerived(); - let o = n ? [...Lw(e)].filter((l) => !a.has(l)) : [], s = A.insertedPages.map((l) => l.objectNumber), d = FA(e, i, Bd(i, Ut(e).indexOf(s[0]), s.length)); - return { item: { type: t, ...A, ...Vl(e, d) }, reverse: [vh(e, s, d, o)] }; + let o = n ? [...tb(e)].filter((u) => !a.has(u)) : [], s = A.insertedPages.map((u) => u.objectNumber), d = BA(e, i, Hd(i, qt(e).indexOf(s[0]), s.length)); + return { item: { type: t, ...A, ...Al(e, d) }, reverse: [Vh(e, s, d, o)] }; } -function Fh(e, t, r) { - let n = e.session.requireDocPtr(), i = Ut(e), a = fA(e), A = t.map((l) => ({ page: l, capture: AS(e.runtime, n, l) })), o = t.map(be), s = gA(e).delete(o, e.signal); +function Nh(e, t, r) { + let n = e.session.requireDocPtr(), i = qt(e), a = kA(e), A = t.map((u) => ({ page: u, capture: HS(e.runtime, n, u) })), o = t.map(be), s = hA(e).delete(o, e.signal); e.session.invalidateDerived(); - let d = FA(e, a, Nl(a, jg(a, i.length, t.map((l) => i.indexOf(l))), r)); - return { item: { type: "pages.delete", pages: o, ...s, ...Vl(e, d) }, reverse: [{ kind: "pages.restore", pages: A, ...d ? { labels: d } : {} }] }; + let d = BA(e, a, al(a, $g(a, i.length, t.map((u) => i.indexOf(u))), r)); + return { item: { type: "pages.delete", pages: o, ...s, ...Al(e, d) }, reverse: [{ kind: "pages.restore", pages: A, ...d ? { labels: d } : {} }] }; } -function vh(e, t, r, n = []) { - return { kind: "pages.remove", pages: t.map((i) => ({ page: i, left: hh(e, i) })), ...r ? { labels: r } : {}, ...n.length > 0 ? { fields: n } : {} }; +function Vh(e, t, r, n = []) { + return { kind: "pages.remove", pages: t.map((i) => ({ page: i, left: Xh(e, i) })), ...r ? { labels: r } : {}, ...n.length > 0 ? { fields: n } : {} }; } -function fA(e) { - return LF(e.runtime, e.session.requireDocPtr()); +function kA(e) { + return dv(e.runtime, e.session.requireDocPtr()); } -function Nl(e, t, r) { - return r && Dd(e, r.left) ? r.sections : t; +function al(e, t, r) { + return r && Id(e, r.left) ? r.sections : t; } -function FA(e, t, r) { - if (!Dd(t, r)) return hx(e.runtime, e.session.requireDocPtr(), r), { sections: t, left: r }; +function BA(e, t, r) { + if (!Id(t, r)) return Ux(e.runtime, e.session.requireDocPtr(), r), { sections: t, left: r }; } -function Ph(e, t, r, n) { - return t.every((i, a) => r[a] === i) ? e : I9(e, t.length, n.map((i) => t.indexOf(i)), r.indexOf(n[0])); +function Yh(e, t, r, n) { + return t.every((i, a) => r[a] === i) ? e : o9(e, t.length, n.map((i) => t.indexOf(i)), r.indexOf(n[0])); } -function Vl(e, t) { - return t ? { layout: vA(e) } : {}; +function Al(e, t) { + return t ? { layout: DA(e) } : {}; } -function hh(e, t) { - let { fn: r, mem: n } = e.runtime, i = e.session.requireDocPtr(), a = El(e.runtime, i, t, SO, OO), A = e.session.allRecords().find((l) => l.pageObjectNumber === t), o = A ? xx(e.runtime, i, A.pageIndex) : 0, s = new TextEncoder().encode(` +function Xh(e, t) { + let { fn: r, mem: n } = e.runtime, i = e.session.requireDocPtr(), a = Tu(e.runtime, i, t, uM, lM), A = e.session.allRecords().find((u) => u.pageObjectNumber === t), o = A ? n_(e.runtime, i, A.pageIndex) : 0, s = new TextEncoder().encode(` turn ${o}`), d = new Uint8Array(a.byteLength + s.byteLength); - return d.set(a), d.set(s, a.byteLength), rl(r, n, d); + return d.set(a), d.set(s, a.byteLength), wu(r, n, d); } -function WO(e, t, r) { +function BM(e, t, r) { let n = /* @__PURE__ */ new Map(); for (let i of e) { let a = t.get(i); @@ -14678,172 +14911,256 @@ function WO(e, t, r) { } return [...n].map(([i, a]) => ({ kind: "pages.rotate", pages: a, rotation: i, left: r })); } -function Co(e, t) { - return Ps(e, t).map((r) => ({ page: r, after: e[e.indexOf(r) - 1] ?? 0 })); +function Qo(e, t) { + return ys(e, t).map((r) => ({ page: r, after: e[e.indexOf(r) - 1] ?? 0 })); } -function Ps(e, t) { +function ys(e, t) { return [...t].sort((r, n) => e.indexOf(r) - e.indexOf(n)); } -function Ut(e) { +function qt(e) { return e.session.allRecords().map((t) => t.pageObjectNumber); } -function vA(e) { - return new cn(e.runtime, e.session).read(e.signal); +function DA(e) { + return new Ct(e.runtime, e.session).read(e.signal); } -function kh(e) { +function Wh(e) { return new Map(e.pages.map((t) => [t.ref.objectNumber, t.rotation])); } -function Bh(e) { +function Uh(e) { return { affectedPages: [], cacheDelta: null, ...e.session.writeStamp() }; } -function UO(e) { +function DM(e) { return e.byteOffset === 0 && e.byteLength === e.buffer.byteLength ? e.buffer : e.slice().buffer; } -var qO = { opInFileSpace: (e) => e, itemOut: (e) => e }, rc = class { - constructor(e, t, r) { - this.runtime = e, this.session = t, this.fonts = r; +var qh = class { + constructor(e, t) { + this.runtime = e, this.session = t; + } + setScale(e, t, r) { + if (S(r), t !== null) try { + hg(t); + } catch (d) { + throw new f(g.InvalidArg, d.message); + } + let { fn: n, mem: i } = this.runtime, a = this.session.requireDocPtr(), A = this.session.recordByObjectNumber(e).pageIndex, o = []; + for (let d = 0; d < n.EPDFPage_CountViewportsRaw(a, A); d++) { + let u = n.EPDFPage_GetViewportRaw(a, A, d); + if (u) try { + if (le(i, (F, h) => n.EPDFViewport_GetName(u, F, h)) !== fc) continue; + let m = n.EPDFViewport_GetMeasure(u); + (!m || n.EPDFMeasure_GetSubtype(m) === 1) && o.push(d); + } finally { + n.EPDFViewport_Close(u); + } + } + let s = V(i, 16, (d) => cA(n, i, a, A, d).crop); + if (![s.left, s.right, s.bottom, s.top].every(Number.isFinite)) throw new f(g.InvalidArg, "Invalid calibration box"); + if (S(r), t === null) { + for (let d of o.reverse()) Oe(n.EPDFPage_RemoveViewportRaw(a, A, d)); + return; + } + V(i, 16, (d) => { + i.poke(d, "f32", s.left), i.poke(d, "f32", s.top, 4), i.poke(d, "f32", s.right, 8), i.poke(d, "f32", s.bottom, 12); + let u = o.length ? n.EPDFPage_GetViewportRaw(a, A, o[o.length - 1]) : n.EPDFPage_AddViewportRaw(a, A, d); + Oe(u); + try { + Oe(n.EPDFViewport_SetBBox(u, d)), Oe(Ht(i, fc, (m) => n.EPDFViewport_SetName(u, m))), Av(n, i, n.EPDFViewport_AddMeasure(u), t); + } finally { + n.EPDFViewport_Close(u); + } + }); + } +}, Zh = (e) => ge(e.authority, "doc.annotate.modify"); +function yM(e, t) { + Zh(e); + let r = t.pages.map((a) => a.objectNumber); + if (new Set(r).size !== r.length) throw new f(g.InvalidArg, "pages.setScale names a page twice", { details: { field: "pages" } }); + let n = r.map((a) => { + let A = $h(e, a), o = ud(e, a); + return zh(e, a, t.measure && Cd(t.measure, A)), { page: a, box: A, before: o, left: ud(e, a) }; + }), i = /* @__PURE__ */ new Map(); + for (let { page: a, box: A, before: o, left: s } of n) { + let d = JSON.stringify([o, s, A]), u = i.get(d) ?? { pages: [], measure: o, left: s }; + u.pages.push(a), i.set(d, u); + } + return { item: { type: "pages.setScale", pages: [...t.pages], measure: t.measure, ...Jh(e, t.pages[0]) }, reverse: [...i.values()].map((a) => ({ kind: "pages.setScale", ...a })) }; +} +function EM(e, t) { + let r = t.pages.filter((i) => GM(ud(e, i), t.left)); + if (r.length === 0) return ve(e, "pages.setScale"); + Zh(e); + for (let i of r) zh(e, i, t.measure); + let n = r.map(be); + return { item: { type: "pages.setScale", pages: n, measure: t.measure && Gd(t.measure, $h(e, r[0])), ...Jh(e, n[0]) }, reverse: [{ kind: "pages.setScale", pages: r, measure: t.left, left: t.measure }] }; +} +function zh(e, t, r) { + new qh(e.runtime, e.session).setScale(t, r, e.signal); +} +function Jh(e, t) { + return { page: t, layout: new Ct(e.runtime, e.session).read(e.signal), meta: { affectedPages: [], cacheDelta: null, ...e.session.writeStamp() } }; +} +function ud(e, t) { + let { fn: r, mem: n } = e.runtime, i = e.session.recordByObjectNumber(t).pageIndex, a = Rp(r, n, e.session.requireDocPtr(), i).filter((A) => A.owned).pop(); + return a?.measure?.subtype === "rectilinear" ? a.measure : null; +} +var GM = (e, t) => JSON.stringify(e) === JSON.stringify(t); +function $h(e, t) { + let { fn: r, mem: n } = e.runtime, i = e.session.recordByObjectNumber(t).pageIndex; + return V(n, 16, (a) => cA(r, n, e.session.requireDocPtr(), i, a).crop); +} +var CM = { opInFileSpace: (e) => e, itemOut: (e) => e }, sc = class { + constructor(e, t, r, n = jr) { + this.runtime = e, this.session = t, this.fonts = r, this.limits = n; } apply(e, t, r, n) { - let i = this.context(t, r, (a) => Z6(a, e)); - return Ww(this.session, t, e.map((a, A) => () => ZO(i, n.opInFileSpace(a), A)), n, r); + let i = this.context(t, r, (a) => EO(a, e)); + return sb(this.session, t, e.map((a, A) => () => xM(i, n.opInFileSpace(a), A)), n, r); } undo(e, t, r, n) { - let i = this.context(t, r, (a) => z6(a, e.steps)); - return Ww(this.session, t, e.steps.map((a) => () => zO(i, a)), n, r); + let i = this.context(t, r, (a) => GO(a, e.steps)); + return sb(this.session, t, e.steps.map((a) => () => _M(i, a)), n, r); } context(e, t, r) { - let n, i = { runtime: this.runtime, session: this.session, ...this.fonts ? { fonts: this.fonts } : {}, authority: e, signal: t, fillsOwnField: () => n ?? (n = r(i)) }; + let n, i = { runtime: this.runtime, session: this.session, ...this.fonts ? { fonts: this.fonts } : {}, authority: e, signal: t, limits: this.limits, fillsOwnField: () => n ?? (n = r(i)) }; return i; } }; -function Ww(e, t, r, n, i) { +function sb(e, t, r, n, i) { let a = [], A = []; for (let o of r) { S(i), e.clearMissingCharacters(); - let s = o(), d = e.missingCharacters(), l = d.length === 0 ? s.item : { ...s.item, meta: { ...s.item.meta, missingCharacters: d } }; - a.push(n.itemOut(l)), A.push(s.reverse); + let s = o(), d = e.missingCharacters(), u = d.length === 0 ? s.item : { ...s.item, meta: { ...s.item.meta, missingCharacters: d } }; + a.push(n.itemOut(u)), A.push(s.reverse); } return { items: a, record: { userId: t.identity.userId ?? null, steps: A.reverse().flat() } }; } -function ZO(e, t, r) { +function xM(e, t, r) { switch (t.type) { case "annotations.create": - return wS(e, t); + return KS(e, t); case "annotations.import": - return bS(e, t); + return NS(e, t); case "annotations.update": - return FS(e, t, r); + return XS(e, t, r); case "annotations.delete": - return vS(e, t, r); + return WS(e, t, r); case "annotations.reorder": - return hS(e, t); + return qS(e, t); + case "annotations.copy": + return VS(e, t); case "forms.setValue": - return G6(e, t, r); + return iO(e, t, r); case "forms.setDisplay": - return C6(e, t); + return aO(e, t); case "forms.setAppearanceText": - return x6(e, t); + return AO(e, t); case "forms.reset": - return _6(e, t); + return oO(e, t); case "forms.create": - return H6(e, t); + return sO(e, t); + case "forms.copy": + return cO(e, t); case "forms.update": - return I6(e, t, r); + return dO(e, t, r); case "forms.delete": - return Q6(e, t, r); + return pO(e, t, r); case "forms.addWidget": - return S6(e, t); + return uO(e, t); case "forms.removeWidget": - return O6(e, t); + return lO(e, t); case "forms.deleteWidget": - return M6(e, t, r); + return mO(e, t, r); case "forms.updateWidget": - return L6(e, t, r); + return gO(e, t, r); case "forms.reorderWidgets": - return N6(e, t); + return vO(e, t); case "forms.reorderCalculations": - return T6(e, t); + return fO(e, t); case "forms.setSignatureAppearance": - return V6(e, t); + return PO(e, t); case "forms.import": - return Y6(e, t); + return hO(e, t); case "forms.importValues": - return X6(e, t); + return kO(e, t); case "metadata.update": - return sO(e, t, r); + return RO(e, t, r); case "metadata.updateCustom": - return cO(e, t); + return LO(e, t); case "outline.create": - return kO(e, t); + return eM(e, t); case "outline.update": - return BO(e, t, r); + return tM(e, t, r); case "outline.move": - return DO(e, t); + return nM(e, t); case "outline.delete": - return yO(e, t, r); + return rM(e, t, r); case "pages.rotate": - return on(e, () => MO(e, t)); + return sn(e, () => mM(e, t)); + case "pages.setScale": + return yM(e, t); case "pages.reorder": - return on(e, () => RO(e, t)); + return sn(e, () => bM(e, t)); case "pages.delete": - return on(e, () => TO(e, t)); + return sn(e, () => fM(e, t)); case "pages.insertBlank": - return on(e, () => VO(e, t)); + return sn(e, () => PM(e, t)); case "pages.insert": - return on(e, () => YO(e, t)); + return sn(e, () => hM(e, t)); case "pages.copy": - return on(e, () => XO(e, t)); + return sn(e, () => kM(e, t)); case "attachments.create": - return IS(e, t); + return A6(e, t); case "attachments.delete": - return QS(e, t); + return o6(e, t); } } -function zO(e, t) { +function _M(e, t) { switch (t.kind) { case "objects.revert": - return "annotation" in t.subject ? kS(e, { ...t, subject: t.subject }) : "outlineItem" in t.subject ? EO(e, { ...t, subject: t.subject }) : J6(e, { ...t, subject: t.subject }); + return "annotation" in t.subject ? ZS(e, { ...t, subject: t.subject }) : "outlineItem" in t.subject ? iM(e, { ...t, subject: t.subject }) : CO(e, { ...t, subject: t.subject }); case "annotation.remove": - return BS(e, t); + return zS(e, t); case "annotation.restore": - return DS(e, t); + return JS(e, t); case "annotation.reorder": - return yS(e, t); + return $S(e, t); case "field.remove": - return tO(e, t); + return HO(e, t); case "field.restore": - return nO(e, t); + return IO(e, t); case "widget.restore": - return j6(e, t); + return wO(e, t); case "widget.delete": - return R6(e, t); + return bO(e, t); case "calculations.restore": - return K6(e, t); + return FO(e, t); case "metadata.revert": - return dO(e, t); + return TO(e, t); case "outline.remove": - return GO(e, t); + return aM(e, t); case "outline.restore": - return CO(e, t); + return AM(e, t); case "outline.move": - return xO(e, t); + return oM(e, t); case "outline.reopen": - return _O(e, t); + return sM(e, t); case "pages.rotate": - return on(e, () => jO(e, t)); + return sn(e, () => wM(e, t)); + case "pages.setScale": + return EM(e, t); case "pages.reorder": - return on(e, () => LO(e, t)); + return sn(e, () => gM(e, t)); case "pages.restore": - return on(e, () => KO(e, t)); + return sn(e, () => FM(e, t)); case "pages.remove": - return on(e, () => NO(e, t)); + return sn(e, () => vM(e, t)); case "attachments.remove": - return SS(e, t); + return s6(e, t); case "attachments.restore": - return OS(e, t); + return c6(e, t); } } -function JO(e) { +function HM(e) { let t = 0, r = (n) => { for (let i of n) t += (i.before?.byteLength ?? 0) + i.after.byteLength; }; @@ -14873,9 +15190,9 @@ function JO(e) { } return t; } -var $O = 64 * 1024 * 1024, eM = 4096, tM = class { +var IM = 64 * 1024 * 1024, QM = 4096, SM = class { constructor() { - K(this, "entries", /* @__PURE__ */ new Map()), K(this, "bytes", 0); + N(this, "entries", /* @__PURE__ */ new Map()), N(this, "bytes", 0); } outcome(e) { return this.entries.get(e)?.outcome; @@ -14885,7 +15202,7 @@ var $O = 64 * 1024 * 1024, eM = 4096, tM = class { if (t) return t.unavailable ? { unavailable: t.unavailable } : { record: t.record }; } keepApplied(e, t, r, n) { - let i = n ? JO(n) : 0; + let i = n ? HM(n) : 0; this.add(e, { outcome: { kind: "applied", fingerprint: t, result: r }, record: n, bytes: i }), this.bytes += i, this.trimCaptures(); } keepRefused(e, t, r) { @@ -14897,79 +15214,79 @@ var $O = 64 * 1024 * 1024, eM = 4096, tM = class { add(e, t) { this.entries.set(e, t); for (let [r, n] of this.entries) { - if (this.entries.size <= eM) break; + if (this.entries.size <= QM) break; this.drop(n, "expired"), this.entries.delete(r); } } trimCaptures() { for (let e of this.entries.values()) { - if (this.bytes <= $O) break; + if (this.bytes <= IM) break; e.bytes > 0 && this.drop(e, "expired"); } } drop(e, t) { this.bytes -= e.bytes, e.record = null, e.bytes = 0, e.unavailable = t; } -}, Uw = /* @__PURE__ */ new WeakMap(); -function Mi(e) { - let t = Uw.get(e); - return t || (t = new tM(), Uw.set(e, t)), t; +}, cb = /* @__PURE__ */ new WeakMap(); +function Ri(e) { + let t = cb.get(e); + return t || (t = new SM(), cb.set(e, t)), t; } -function ic(e) { +function cc(e) { let t = e.openedAs !== "none"; - return { encryptionState: t ? "encrypted" : "none", encryptionRequiresPassword: !1, securityHandlerRevision: t ? e.securityHandlerRevision : null, pdfPermissionsBits: e.permissionsBits, pdfPermissionsAllAllowed: b2(e.permissionsBits), pdfOpenedAs: e.openedAs, securityProbedAt: e.probedAt }; + return { encryptionState: t ? "encrypted" : "none", encryptionRequiresPassword: !1, securityHandlerRevision: t ? e.securityHandlerRevision : null, pdfPermissionsBits: e.permissionsBits, pdfPermissionsAllAllowed: K2(e.permissionsBits), pdfOpenedAs: e.openedAs, securityProbedAt: e.probedAt }; } -function nM(e) { +function OM(e) { return e === 3 ? "owner" : e === 2 ? "user" : "none"; } -var ac = class { +var dc = class { constructor(e) { - this.runtime = e, EF(this.runtime); + this.runtime = e, WF(this.runtime); } probeFile(e, t = null) { let r = Date.now(), n = null, i = null; try { if (n = this.runtime.fileAccess.fromNodeFile(e), i = this.runtime.fn.FPDF_LoadCustomDocument(n.ptr, t ?? ""), !i) { let o = this.runtime.fn.FPDF_GetLastError(); - return o === 4 ? { encryptionState: "encrypted", encryptionRequiresPassword: !0, securityHandlerRevision: null, pdfPermissionsBits: null, pdfPermissionsAllAllowed: null, pdfOpenedAs: null, securityProbedAt: r } : o === 5 ? { encryptionState: "unsupported", encryptionRequiresPassword: null, securityHandlerRevision: null, pdfPermissionsBits: null, pdfPermissionsAllAllowed: null, pdfOpenedAs: null, securityProbedAt: r } : rM(r); + return o === 4 ? { encryptionState: "encrypted", encryptionRequiresPassword: !0, securityHandlerRevision: null, pdfPermissionsBits: null, pdfPermissionsAllAllowed: null, pdfOpenedAs: null, securityProbedAt: r } : o === 5 ? { encryptionState: "unsupported", encryptionRequiresPassword: null, securityHandlerRevision: null, pdfPermissionsBits: null, pdfPermissionsAllAllowed: null, pdfOpenedAs: null, securityProbedAt: r } : MM(r); } - let a = this.runtime.fn.EPDF_IsEncrypted(i), A = Ks(this.runtime.fn.FPDF_GetDocPermissions(i)); - return ic({ openedAs: a ? this.runtime.fn.EPDF_IsOwnerUnlocked(i) ? "owner" : "user" : "none", permissionsBits: A, securityHandlerRevision: a ? this.runtime.fn.FPDF_GetSecurityHandlerRevision(i) : null, probedAt: r }); + let a = this.runtime.fn.EPDF_IsEncrypted(i), A = Ws(this.runtime.fn.FPDF_GetDocPermissions(i)); + return cc({ openedAs: a ? this.runtime.fn.EPDF_IsOwnerUnlocked(i) ? "owner" : "user" : "none", permissionsBits: A, securityHandlerRevision: a ? this.runtime.fn.FPDF_GetSecurityHandlerRevision(i) : null, probedAt: r }); } finally { i && this.runtime.fn.FPDF_CloseDocument(i), n?.close(); } } readLiveSecurityInfo(e) { - let { fn: t } = this.runtime, r = e.requireDocPtr(), n = t.EPDF_IsEncrypted(r), i = Ks(t.FPDF_GetDocUserPermissions(r)); - return ic({ openedAs: n ? t.EPDF_IsOwnerUnlocked(r) ? "owner" : "user" : "none", permissionsBits: i, securityHandlerRevision: n ? t.FPDF_GetSecurityHandlerRevision(r) : null, probedAt: Date.now() }); + let { fn: t } = this.runtime, r = e.requireDocPtr(), n = t.EPDF_IsEncrypted(r), i = Ws(t.FPDF_GetDocUserPermissions(r)); + return cc({ openedAs: n ? t.EPDF_IsOwnerUnlocked(r) ? "owner" : "user" : "none", permissionsBits: i, securityHandlerRevision: n ? t.FPDF_GetSecurityHandlerRevision(r) : null, probedAt: Date.now() }); } checkPasswordPermissions(e, t, r = "any") { let n = e.requireDocPtr(), { mem: i, fn: a } = this.runtime, A = i.alloc(4), o = i.alloc(4), s = i.alloc(4), d = i.alloc(4); try { if (i.poke(A, "i32", 0), i.poke(o, "i32", 0), i.poke(s, "i32", 0), i.poke(d, "i32", 0), !a.EPDF_CheckPasswordPermissions(n, t, A, o, s, d)) throw new f(g.DocPasswordIncorrect, "incorrect document password"); - let l = nM(Number(i.peek(A, "i32"))); - if (r === "owner" && l !== "owner") throw new f(g.DocPasswordIncorrect, "owner password required"); - return ic({ openedAs: l, permissionsBits: Ks(Number(i.peek(s, "i32"))), securityHandlerRevision: Number(i.peek(d, "i32")), probedAt: Date.now() }); + let u = OM(Number(i.peek(A, "i32"))); + if (r === "owner" && u !== "owner") throw new f(g.DocPasswordIncorrect, "owner password required"); + return cc({ openedAs: u, permissionsBits: Ws(Number(i.peek(s, "i32"))), securityHandlerRevision: Number(i.peek(d, "i32")), probedAt: Date.now() }); } finally { i.free(d), i.free(s), i.free(o), i.free(A); } } }; -function rM(e) { +function MM(e) { return { encryptionState: "unknown", encryptionRequiresPassword: null, securityHandlerRevision: null, pdfPermissionsBits: null, pdfPermissionsAllAllowed: null, pdfOpenedAs: null, securityProbedAt: e }; } -var iM = 1, aM = 2; -function _A(e) { - return e === "incremental" ? iM : aM; +var jM = 1, RM = 2; +function OA(e) { + return e === "incremental" ? jM : RM; } -function Qr(e) { +function Or(e) { return e === 1 ? new f(g.DocOpenFailed, "layer artifact cannot be saved because append-only offsets exceed the supported range") : new f(g.DocOpenFailed, "failed to save layer artifact"); } -function qw(e, t, r) { +function db(e, t, r) { let n = e.readBytes(t, r); return n.buffer instanceof ArrayBuffer && n.byteOffset === 0 && n.byteLength === n.buffer.byteLength ? n.buffer : new Uint8Array(n).buffer; } -var AM = 1, Zw = 2, Bn = class { +var LM = 1, pb = 2, Dn = class { constructor(e, t) { this.runtime = e, this.session = t; } @@ -14998,7 +15315,7 @@ var AM = 1, Zw = 2, Bn = class { } saveLayerArtifact() { let e = this.saveLayerArtifactImpl(!1); - if (e.size <= 0) throw Qr(-1); + if (e.size <= 0) throw Or(-1); return { bytes: e.bytes, size: e.size }; } saveLayerArtifactEx() { @@ -15017,7 +15334,7 @@ var AM = 1, Zw = 2, Bn = class { try { r.poke(i, "i32", -1), r.poke(a, "i32", 1); let o = t === "artifact" ? n.EPDFLayer_SaveLayerArtifactEx(this.session.requireDocPtr(), A.ptr, i, a) : n.EPDFLayer_SaveDeltaEx(this.session.requireDocPtr(), A.ptr, i, a), s = Number(r.peek(i, "i32")); - if (!o || s !== 0) throw Qr(s); + if (!o || s !== 0) throw Or(s); return { path: e, changedSinceLoad: Number(r.peek(a, "i32")) !== 0 }; } finally { A.close(), r.free(a), r.free(i); @@ -15029,11 +15346,11 @@ var AM = 1, Zw = 2, Bn = class { try { t.poke(n, "i32", 0), t.poke(i, "i32", -1), t.poke(a, "i32", 1), A = e ? r.EPDFLayer_SaveLayerArtifactToOwnedBufferEx(this.session.requireDocPtr(), n, i, a) : r.EPDFLayer_SaveLayerArtifactToOwnedBuffer(this.session.requireDocPtr(), n, i); let o = Number(t.peek(i, "i32")), s = Number(t.peek(n, "i32")), d = e ? Number(t.peek(a, "i32")) !== 0 : !0; - if (o !== 0) throw Qr(o); + if (o !== 0) throw Or(o); if (e && !d) return { bytes: new ArrayBuffer(0), size: 0, changedSinceLoad: !1 }; - if (!A || s <= 0) throw Qr(o); - let l = t.readBytes(A, s), m = new ArrayBuffer(l.byteLength); - return new Uint8Array(m).set(l), { bytes: m, size: s, changedSinceLoad: d }; + if (!A || s <= 0) throw Or(o); + let u = t.readBytes(A, s), m = new ArrayBuffer(u.byteLength); + return new Uint8Array(m).set(u), { bytes: m, size: s, changedSinceLoad: d }; } finally { A && r.EPDF_FreeBuffer(A), t.free(a), t.free(i), t.free(n); } @@ -15051,10 +15368,10 @@ var AM = 1, Zw = 2, Bn = class { try { t.poke(n, "i32", 0), t.poke(i, "i32", -1), t.poke(a, "i32", 1), A = e ? r.EPDFLayer_SaveDeltaToOwnedBufferEx(this.session.requireDocPtr(), n, i, a) : r.EPDFLayer_SaveDeltaToOwnedBuffer(this.session.requireDocPtr(), n, i); let o = Number(t.peek(i, "i32")), s = Number(t.peek(n, "i32")), d = e ? Number(t.peek(a, "i32")) !== 0 : !0; - if (o !== 0) throw Qr(o); + if (o !== 0) throw Or(o); if (!A || s <= 0) return { bytes: new ArrayBuffer(0), size: 0, changedSinceLoad: d }; - let l = t.readBytes(A, s), m = new ArrayBuffer(l.byteLength); - return new Uint8Array(m).set(l), { bytes: m, size: s, changedSinceLoad: d }; + let u = t.readBytes(A, s), m = new ArrayBuffer(u.byteLength); + return new Uint8Array(m).set(u), { bytes: m, size: s, changedSinceLoad: d }; } finally { A && r.EPDF_FreeBuffer(A), t.free(a), t.free(i), t.free(n); } @@ -15065,7 +15382,7 @@ var AM = 1, Zw = 2, Bn = class { try { t.poke(n, "i32", -1); let a = r.EPDFLayer_SaveLayerArtifact(this.session.requireDocPtr(), i.ptr, n), A = Number(t.peek(n, "i32")); - if (!a || A !== 0) throw Qr(A); + if (!a || A !== 0) throw Or(A); return { path: e }; } finally { i.close(), t.free(n); @@ -15074,10 +15391,10 @@ var AM = 1, Zw = 2, Bn = class { saveStandaloneToBuffer(e) { let { mem: t, fn: r } = this.runtime, n = t.alloc(8), i = null; try { - t.poke(n, "i32", 0), i = r.EPDF_SaveDocumentToOwnedBuffer(this.session.requireDocPtr(), _A(e), n); + t.poke(n, "i32", 0), i = r.EPDF_SaveDocumentToOwnedBuffer(this.session.requireDocPtr(), OA(e), n); let a = Number(t.peek(n, "i32")); if (!i || a <= 0) throw new f(g.DocOpenFailed, "failed to save document"); - return { bytes: qw(t, i, a), size: a }; + return { bytes: db(t, i, a), size: a }; } finally { i && r.EPDF_FreeBuffer(i), t.free(n); } @@ -15085,12 +15402,12 @@ var AM = 1, Zw = 2, Bn = class { saveStandaloneToBufferEx(e) { let { mem: t, fn: r } = this.runtime, n = t.alloc(8), i = t.alloc(4), a = null; try { - t.poke(n, "i32", 0), t.poke(i, "i32", 0), a = r.EPDF_SaveDocumentToOwnedBufferEx(this.session.requireDocPtr(), _A(e), 0, n, i); + t.poke(n, "i32", 0), t.poke(i, "i32", 0), a = r.EPDF_SaveDocumentToOwnedBufferEx(this.session.requireDocPtr(), OA(e), 0, n, i); let A = Number(t.peek(i, "i32")); - if (A === Zw) return { bytes: new ArrayBuffer(0), size: 0, unchangedSinceLoad: !0 }; + if (A === pb) return { bytes: new ArrayBuffer(0), size: 0, unchangedSinceLoad: !0 }; let o = Number(t.peek(n, "i32")); - if (!a || o <= 0 || A !== AM) throw new f(g.DocOpenFailed, "failed to save document"); - return { bytes: qw(t, a, o), size: o, unchangedSinceLoad: !1 }; + if (!a || o <= 0 || A !== LM) throw new f(g.DocOpenFailed, "failed to save document"); + return { bytes: db(t, a, o), size: o, unchangedSinceLoad: !1 }; } finally { a && r.EPDF_FreeBuffer(a), t.free(i), t.free(n); } @@ -15098,7 +15415,7 @@ var AM = 1, Zw = 2, Bn = class { saveStandaloneToFile(e, t) { let r = this.runtime.fileWrite.toNodeFile(e); try { - if (!this.runtime.fn.FPDF_SaveAsCopy(this.session.requireDocPtr(), r.ptr, _A(t))) throw new f(g.DocOpenFailed, "failed to save document"); + if (!this.runtime.fn.FPDF_SaveAsCopy(this.session.requireDocPtr(), r.ptr, OA(t))) throw new f(g.DocOpenFailed, "failed to save document"); return { path: e }; } finally { r.close(); @@ -15108,9 +15425,9 @@ var AM = 1, Zw = 2, Bn = class { let { mem: r, fn: n } = this.runtime, i = this.runtime.fileWrite.toNodeFile(e), a = r.alloc(4); try { r.poke(a, "i32", 0); - let A = n.EPDF_SaveAsCopyEx(this.session.requireDocPtr(), i.ptr, _A(t), a), o = Number(r.peek(a, "i32")); + let A = n.EPDF_SaveAsCopyEx(this.session.requireDocPtr(), i.ptr, OA(t), a), o = Number(r.peek(a, "i32")); if (!A || o === 0) throw new f(g.DocOpenFailed, "failed to save document"); - return { path: e, unchangedSinceLoad: o === Zw }; + return { path: e, unchangedSinceLoad: o === pb }; } finally { r.free(a), i.close(); } @@ -15119,19 +15436,19 @@ var AM = 1, Zw = 2, Bn = class { if (this.session.kind !== "layer") throw new f(g.InvalidArg, "document session is not a layer"); } }; -function Ti(e) { +function Vi(e) { let t = new Uint8Array(e.byteLength); return t.set(e), t; } -function oM(e, t, r, n, i) { +function TM(e, t, r, n, i) { let { fn: a, mem: A } = e; - return fe(A, [32, 8, 8], ([o, s, d]) => { - for (let l = 0; l < 4; l++) xe(A, o, 0, l * 8); + return Fe(A, [32, 8, 8], ([o, s, d]) => { + for (let u = 0; u < 4; u++) xe(A, o, 0, u * 8); if (xe(A, s, 0), xe(A, d, 0), !a.EPDFSig_SealSpan(t, BigInt(r), BigInt(n), BigInt(i), o, s, d)) throw new f(g.Unknown, "failed to seal the signing candidate"); return { byteRange: [_e(A, o, 0), _e(A, o, 8), _e(A, o, 16), _e(A, o, 24)], contentsOffset: _e(A, s), contentsHexLength: _e(A, d) }; }); } -function Yl(e, t, r, n, i, a) { +function ol(e, t, r, n, i, a) { let { fn: A, mem: o } = e, s = o.alloc(a.byteLength); try { if (o.writeBytes(s, a), !A.EPDFSig_WriteContents(t, BigInt(r), BigInt(i.contentsOffset - n), BigInt(i.contentsHexLength), s, a.byteLength)) throw new f(g.SignatureRefused, "the CMS is not one DER object that fits the reserved /Contents"); @@ -15139,29 +15456,29 @@ function Yl(e, t, r, n, i, a) { o.free(s); } } -function sM(e, t, r, n) { +function KM(e, t, r, n) { let { mem: i } = e, a = e.fileAccess.readRange(t, r.holeOffset, r.hexLength + 2); if (a.byteLength !== r.hexLength + 2 || a[0] !== 60 || a[a.byteLength - 1] !== 62) throw new f(g.InvalidArg, "the byteRange gap is not a <…> /Contents hole of the candidate"); let A = i.alloc(a.byteLength); try { - i.writeBytes(A, a), Yl(e, A, a.byteLength, r.holeOffset, { byteRange: [0, 0, 0, 0], contentsOffset: r.holeOffset + 1, contentsHexLength: r.hexLength, digest: new Uint8Array() }, n), e.fileWrite.writeRange(t, r.holeOffset, i.readBytes(A, a.byteLength)); + i.writeBytes(A, a), ol(e, A, a.byteLength, r.holeOffset, { byteRange: [0, 0, 0, 0], contentsOffset: r.holeOffset + 1, contentsHexLength: r.hexLength, digest: new Uint8Array() }, n), e.fileWrite.writeRange(t, r.holeOffset, i.readBytes(A, a.byteLength)); } finally { i.free(A); } } -var cM = class { +var NM = class { constructor(e, t) { this.runtime = e, this.baseDocuments = t; } save(e, t) { let { mem: r, fn: n } = this.runtime; - return fe(r, [8, 8, 8], ([i, a, A]) => { + return Fe(r, [8, 8, 8], ([i, a, A]) => { xe(r, i, 0), xe(r, a, 0), xe(r, A, 0); let o = n.EPDFSig_SaveCandidateToOwnedBuffer(e, t, i, a, A); if (!o) throw new f(g.Unknown, "failed to save the signing candidate"); try { let s = _e(r, i); - return { kind: "memory", bytes: Ti(r.readBytes(o, s)), size: s, objectOffset: _e(r, a), objectLength: _e(r, A) }; + return { kind: "memory", bytes: Vi(r.readBytes(o, s)), size: s, objectOffset: _e(r, a), objectLength: _e(r, A) }; } finally { n.EPDF_FreeBuffer(o); } @@ -15171,12 +15488,12 @@ var cM = class { if (e.kind !== "memory") throw new f(g.InvalidArg, "not a memory candidate"); let { mem: r, fn: n } = this.runtime, i = r.alloc(e.bytes.byteLength); try { - return r.writeBytes(i, e.bytes), fe(r, [32, 8, 8, 64, 8], ([a, A, o, s, d]) => { + return r.writeBytes(i, e.bytes), Fe(r, [32, 8, 8, 64, 8], ([a, A, o, s, d]) => { for (let m = 0; m < 4; m++) xe(r, a, 0, m * 8); - if (xe(r, A, 0), xe(r, o, 0), xe(r, d, 64), !n.EPDFSig_Seal(i, BigInt(e.bytes.byteLength), BigInt(e.objectOffset), BigInt(e.objectLength), xa[t], a, A, o, s, d)) throw new f(g.Unknown, "failed to seal the signing candidate"); - e.bytes = Ti(r.readBytes(i, e.bytes.byteLength)); - let l = Number(r.peek(d, "i32")); - return { byteRange: [_e(r, a, 0), _e(r, a, 8), _e(r, a, 16), _e(r, a, 24)], contentsOffset: _e(r, A), contentsHexLength: _e(r, o), digest: Ti(r.readBytes(s, l)) }; + if (xe(r, A, 0), xe(r, o, 0), xe(r, d, 64), !n.EPDFSig_Seal(i, BigInt(e.bytes.byteLength), BigInt(e.objectOffset), BigInt(e.objectLength), Qa[t], a, A, o, s, d)) throw new f(g.Unknown, "failed to seal the signing candidate"); + e.bytes = Vi(r.readBytes(i, e.bytes.byteLength)); + let u = Number(r.peek(d, "i32")); + return { byteRange: [_e(r, a, 0), _e(r, a, 8), _e(r, a, 16), _e(r, a, 24)], contentsOffset: _e(r, A), contentsHexLength: _e(r, o), digest: Vi(r.readBytes(s, u)) }; }); } finally { r.free(i); @@ -15186,20 +15503,20 @@ var cM = class { if (e.kind !== "memory") throw new f(g.InvalidArg, "not a memory candidate"); let { mem: n } = this.runtime, i = n.alloc(e.bytes.byteLength); try { - n.writeBytes(i, e.bytes), Yl(this.runtime, i, e.bytes.byteLength, 0, t, r), e.bytes = Ti(n.readBytes(i, e.bytes.byteLength)); + n.writeBytes(i, e.bytes), ol(this.runtime, i, e.bytes.byteLength, 0, t, r), e.bytes = Vi(n.readBytes(i, e.bytes.byteLength)); } finally { n.free(i); } } openSealed(e, t) { if (e.kind !== "memory") throw new f(g.InvalidArg, "not a memory candidate"); - let r = this.baseDocuments.acquireMemoryBase({ key: `signed:${ja()}`, bytes: e.bytes, password: t }); + let r = this.baseDocuments.acquireMemoryBase({ key: `signed:${Ta()}`, bytes: e.bytes, password: t }); return dn(this.runtime, r, { kind: "fresh" }, t); } discard() { } -}, dM = class { - constructor(e, t, r, n = pM) { +}, VM = class { + constructor(e, t, r, n = YM) { this.runtime = e, this.baseDocuments = t, this.basePath = r, this.candidatePath = n; } save(e, t, r) { @@ -15207,7 +15524,7 @@ var cM = class { this.runtime.fileWrite.removeFile(a); let A = this.runtime.fileWrite.toNodeFile(a); try { - return fe(n, [8, 8, 8], ([o, s, d]) => { + return Fe(n, [8, 8, 8], ([o, s, d]) => { if (xe(n, o, 0), xe(n, s, 0), xe(n, d, 0), !i.EPDFSig_SaveCandidate(e, t, A.ptr, o, s, d)) throw new f(g.Unknown, "failed to save the signing candidate"); return { kind: "file", path: a, size: _e(n, o), objectOffset: _e(n, s), objectLength: _e(n, d) }; }); @@ -15223,16 +15540,16 @@ var cM = class { if (i.byteLength !== e.objectLength) throw new f(g.Unknown, "the signing candidate file is shorter than its object span"); let a = r.alloc(i.byteLength), A; try { - r.writeBytes(a, i), A = oM(this.runtime, a, i.byteLength, e.objectOffset, e.size), this.runtime.fileWrite.writeRange(e.path, e.objectOffset, r.readBytes(a, i.byteLength)); + r.writeBytes(a, i), A = TM(this.runtime, a, i.byteLength, e.objectOffset, e.size), this.runtime.fileWrite.writeRange(e.path, e.objectOffset, r.readBytes(a, i.byteLength)); } finally { r.free(a); } let o = this.runtime.fileAccess.fromNodeFile(e.path); try { - let s = fe(r, [32, 64, 8], ([d, l, m]) => { + let s = Fe(r, [32, 64, 8], ([d, u, m]) => { for (let F = 0; F < 4; F++) xe(r, d, A.byteRange[F], F * 8); - if (xe(r, m, 64), !n.EPDFSig_DigestFileRange(o.ptr, d, xa[t], l, m)) throw new f(g.Unknown, "failed to digest the signing candidate file"); - return Ti(r.readBytes(l, Number(r.peek(m, "i32")))); + if (xe(r, m, 64), !n.EPDFSig_DigestFileRange(o.ptr, d, Qa[t], u, m)) throw new f(g.Unknown, "failed to digest the signing candidate file"); + return Vi(r.readBytes(u, Number(r.peek(m, "i32")))); }); return { ...A, digest: s }; } finally { @@ -15243,7 +15560,7 @@ var cM = class { if (e.kind !== "file") throw new f(g.InvalidArg, "not a file candidate"); let { mem: n } = this.runtime, i = this.runtime.fileAccess.readRange(e.path, e.objectOffset, e.objectLength), a = n.alloc(i.byteLength); try { - n.writeBytes(a, i), Yl(this.runtime, a, i.byteLength, e.objectOffset, t, r), this.runtime.fileWrite.writeRange(e.path, e.objectOffset, n.readBytes(a, i.byteLength)); + n.writeBytes(a, i), ol(this.runtime, a, i.byteLength, e.objectOffset, t, r), this.runtime.fileWrite.writeRange(e.path, e.objectOffset, n.readBytes(a, i.byteLength)); } finally { n.free(a); } @@ -15257,70 +15574,70 @@ var cM = class { e.kind === "file" && this.runtime.fileWrite.removeFile(e.path); } }; -function pM(e, t) { +function YM(e, t) { return `${e}.signing-${t}.pdf`; } -function ad(e, t, r, n) { +function ld(e, t, r, n) { return `${e}.${t}-${r}.${n}`; } -function Dh(e, t, r, n) { - let i = (s) => new f(g.SignatureRefused, `the sealed bytes ${s}`), a = fr(e, r), A = a.find((s) => s.field.kind === "objectNumber" && s.field.objectNumber === n.fieldObjectNumber); +function ek(e, t, r, n) { + let i = (s) => new f(g.SignatureRefused, `the sealed bytes ${s}`), a = Fr(e, r), A = a.find((s) => s.field.kind === "objectNumber" && s.field.objectNumber === n.fieldObjectNumber); if (!A) throw i("lost the signature field"); if (!A.signed || A.coverage !== "whole-revision" || !A.byteRange) throw i("do not carry a whole-revision signature on the field"); - if (!lM(A.byteRange, n.byteRange)) throw i(`carry /ByteRange [${A.byteRange.join(" ")}] where [${n.byteRange.join(" ")}] was sealed`); + if (!XM(A.byteRange, n.byteRange)) throw i(`carry /ByteRange [${A.byteRange.join(" ")}] where [${n.byteRange.join(" ")}] was sealed`); if (!e.fn.EPDFSig_IsRevisionChainValid(r)) throw i("have a broken cross-reference chain"); - let o = Do(e, t, a); + let o = _o(e, t, a); if (A.revisionIndex !== o.length - 1) throw i("seal an earlier revision than the candidate"); - if (!gs(U3(e, r, A.index), n.cms)) throw i("carry /Contents that are not the CMS installed"); + if (!hs(Fh(e, r, A.index), n.cms)) throw i("carry /Contents that are not the CMS installed"); return A; } -function lM(e, t) { +function XM(e, t) { return e[0] === t[0] && e[1] === t[1] && e[2] === t[2] && e[3] === t[3]; } -function zw(e, t, r) { +function ub(e, t, r) { let n = Be(e, t), i = e.fn.EPDFForm_GetFieldIndexByObjNum(n, r); - return i < 0 ? null : Jp(e, n, i); + return i < 0 ? null : du(e, n, i); } -function uM(e, t, r) { +function WM(e, t, r) { let { fn: n, mem: i } = e, a = Be(e, t), A = [], o = n.EPDFForm_CountFields(a); for (let s = 0; s < o; s++) { - if (Jp(e, a, s) !== r || $p[n.EPDFForm_GetFieldFamily(a, s)] === "signature") continue; - let d = ue(i, (l, m) => n.EPDFForm_GetFieldName(a, s, l, m)); + if (du(e, a, s) !== r || pu[n.EPDFForm_GetFieldFamily(a, s)] === "signature") continue; + let d = le(i, (u, m) => n.EPDFForm_GetFieldName(a, s, u, m)); d && A.push(d); } return A; } -var Jw = { "adbe.pkcs7.detached": 0, "ETSI.CAdES.detached": 1, "ETSI.RFC3161": 2 }, mM = { all: 1, include: 2, exclude: 3 }, wM = 8192, $w = 256, eb = 4 * 1024 * 1024, bM = { bytes: 52, ptrBytes: 4, subfilter: 0, digest: 4, contentsSize: 8, name: 12, reason: 16, location: 20, contactInfo: 24, signingTime: 28, docmdpPermission: 32, fieldmdpAction: 36, fieldmdpFields: 40, fieldmdpFieldCount: 44, lockPermission: 48 }, gM = { bytes: 80, ptrBytes: 8, subfilter: 0, digest: 4, contentsSize: 8, name: 16, reason: 24, location: 32, contactInfo: 40, signingTime: 48, docmdpPermission: 56, fieldmdpAction: 60, fieldmdpFields: 64, fieldmdpFieldCount: 72, lockPermission: 76 }, Ac = class { +var lb = { "adbe.pkcs7.detached": 0, "ETSI.CAdES.detached": 1, "ETSI.RFC3161": 2 }, UM = { all: 1, include: 2, exclude: 3 }, qM = 8192, mb = 256, wb = 4 * 1024 * 1024, ZM = { bytes: 52, ptrBytes: 4, subfilter: 0, digest: 4, contentsSize: 8, name: 12, reason: 16, location: 20, contactInfo: 24, signingTime: 28, docmdpPermission: 32, fieldmdpAction: 36, fieldmdpFields: 40, fieldmdpFieldCount: 44, lockPermission: 48 }, zM = { bytes: 80, ptrBytes: 8, subfilter: 0, digest: 4, contentsSize: 8, name: 16, reason: 24, location: 32, contactInfo: 40, signingTime: 48, docmdpPermission: 56, fieldmdpAction: 60, fieldmdpFields: 64, fieldmdpFieldCount: 72, lockPermission: 76 }, pc = class { constructor(e, t, r, n) { this.runtime = e, this.session = t, this.baseDocuments = r, this.candidatePath = n; } prepare(e, t) { if (this.session.pendingSigning) throw new f(g.SigningPending, `a signing is pending (${this.session.pendingSigning.prepared.signingId}); complete or cancel it first`); - let r = new nt(this.runtime, this.session), n = r.resolveField(e.field), i = zw(this.runtime, this.session, n.fieldObjectNumber); + let r = new nt(this.runtime, this.session), n = r.resolveField(e.field), i = ub(this.runtime, this.session, n.fieldObjectNumber); lr(t, i, "sign"); - let a = e.lock ?? (i !== null ? { action: "include", fields: uM(this.runtime, this.session, i) } : void 0); + let a = e.lock ?? (i !== null ? { action: "include", fields: WM(this.runtime, this.session, i) } : void 0); if (n.signed) throw new f(g.SignatureRefused, "the signature field is already signed"); if (e.appearance && !n.widget) throw new f(g.SignatureRefused, "the signature field has no widget to carry an appearance"); let A = e.digest ?? "sha256"; - if (!(A in xa) || A === "sha1") throw new f(g.SignatureRefused, `unsupported digest '${A}'`); + if (!(A in Qa) || A === "sha1") throw new f(g.SignatureRefused, `unsupported digest '${A}'`); let o = (e.kind ?? "signature") === "timestamp" ? "ETSI.RFC3161" : e.subFilter ?? "ETSI.CAdES.detached"; - if (!(o in Jw)) throw new f(g.SignatureRefused, `unsupported subFilter '${o}'`); - let s = e.contentsSizeBytes ?? wM; - if (!Number.isInteger(s) || s < $w || s > eb) throw new f(g.SignatureRefused, `contentsSize must be an integer in [${$w}, ${eb}]`); - let d = this.session.versionRef(r.version().sha256), l = ja(), m = new Vt(); + if (!(o in lb)) throw new f(g.SignatureRefused, `unsupported subFilter '${o}'`); + let s = e.contentsSizeBytes ?? qM; + if (!Number.isInteger(s) || s < mb || s > wb) throw new f(g.SignatureRefused, `contentsSize must be an integer in [${mb}, ${wb}]`); + let d = this.session.versionRef(r.version().sha256), u = Ta(), m = new Yt(); try { - let F = this.openCandidate(l, m); + let F = this.openCandidate(u, m); m.push(() => F.close()); - let k = e.signer, P = this.callPrepare(F.docPtr, n.fieldObjectNumber, { subfilter: Jw[o], digest: xa[A], contentsSize: s, name: k?.name ?? null, reason: k?.reason ?? null, location: k?.location ?? null, contactInfo: k?.contactInfo ?? null, signingTime: k?.signedAt !== void 0 ? dt(k.signedAt) : null, docmdpPermission: e.certify?.permission ?? 0, fieldmdpAction: a ? mM[a.action] : 0, fieldmdpFields: a?.action === "all" ? [] : a?.fields ?? [], lockPermission: a?.permission ?? 0 }); + let h = e.signer, P = this.callPrepare(F.docPtr, n.fieldObjectNumber, { subfilter: lb[o], digest: Qa[A], contentsSize: s, name: h?.name ?? null, reason: h?.reason ?? null, location: h?.location ?? null, contactInfo: h?.contactInfo ?? null, signingTime: h?.signedAt !== void 0 ? pt(h.signedAt) : null, docmdpPermission: e.certify?.permission ?? 0, fieldmdpAction: a ? UM[a.action] : 0, fieldmdpFields: a?.action === "all" ? [] : a?.fields ?? [], lockPermission: a?.permission ?? 0 }); if (P === 0) throw new f(g.SignatureRefused, "the engine refused to author the signature (the field is signed, read-only or locked, a certification is not allowed here, the seed value requires what is not implemented, or the request is inconsistent)"); - e.appearance && n.widget && q3(this.runtime, F.docPtr, n.widget, e.appearance.pdf, { recordFit: !1 }); - let D = this.storeFor(), G = D.save(F.docPtr, P, l), I; + e.appearance && n.widget && vh(this.runtime, F.docPtr, n.widget, e.appearance.pdf, { recordFit: !1 }); + let D = this.storeFor(), G = D.save(F.docPtr, P, u), I; try { I = D.seal(G, A); } catch (H) { throw D.discard(G), H; } - let _ = { signingId: l, digest: I.digest, algorithm: A, byteRange: I.byteRange, contentsSizeBytes: s, subFilter: o, expectedVersion: d, expiresAt: null }; + let _ = { signingId: u, digest: I.digest, algorithm: A, byteRange: I.byteRange, contentsSizeBytes: s, subFilter: o, expectedVersion: d, expiresAt: null }; return this.session.pendingSigning = { prepared: _, fieldObjectNumber: n.fieldObjectNumber, saved: G, contentsOffset: I.contentsOffset, contentsHexLength: I.contentsHexLength }, _; } finally { m.close(); @@ -15331,44 +15648,44 @@ var Jw = { "adbe.pkcs7.detached": 0, "ETSI.CAdES.detached": 1, "ETSI.RFC3161": 2 if (!n || n.prepared.signingId !== e.signingId) { let m = this.session.lastCompletion; if (m && m.signingId === e.signingId) { - if (!gs(m.cms, e.cms)) throw new f(g.SignatureRefused, "this signing already completed with a different CMS"); + if (!hs(m.cms, e.cms)) throw new f(g.SignatureRefused, "this signing already completed with a different CMS"); return { ...m.result, status: "already-completed" }; } throw new f(g.NotFound, `no pending signing '${e.signingId}'`); } - if (lr(r, zw(this.runtime, this.session, n.fieldObjectNumber), "sign"), !fM(n.prepared.expectedVersion, e.expectedVersion)) throw new f(g.SigningVersionMismatch, "expectedVersion is not the version the candidate was prepared on"); + if (lr(r, ub(this.runtime, this.session, n.fieldObjectNumber), "sign"), !JM(n.prepared.expectedVersion, e.expectedVersion)) throw new f(g.SigningVersionMismatch, "expectedVersion is not the version the candidate was prepared on"); if (e.cms.byteLength === 0 || e.cms[0] !== 48) throw new f(g.SignatureRefused, "the CMS is not a DER SEQUENCE"); if (e.cms.byteLength > n.prepared.contentsSizeBytes) throw new f(g.SignatureRefused, `the CMS (${e.cms.byteLength} bytes) does not fit the reserved ${n.prepared.contentsSizeBytes} bytes`); let i = this.storeFor(), a = { byteRange: n.prepared.byteRange, contentsOffset: n.contentsOffset, contentsHexLength: n.contentsHexLength, digest: n.prepared.digest }; i.writeContents(n.saved, a, e.cms); let A = i.openSealed(n.saved, this.session.password); - this.verifySealed(A, { fieldObjectNumber: n.fieldObjectNumber, byteRange: n.prepared.byteRange, cms: e.cms }), this.session.install(A), VA(this.runtime, this.session), WA(this.runtime, this.session); + this.verifySealed(A, { fieldObjectNumber: n.fieldObjectNumber, byteRange: n.prepared.byteRange, cms: e.cms }), this.session.install(A), qA(this.runtime, this.session), JA(this.runtime, this.session); let o = new nt(this.runtime, this.session), s = o.readSnapshot(), d = s.signatures.find((m) => m.field.kind === "objectNumber" && m.field.objectNumber === n.fieldObjectNumber); if (!d) throw new f(g.Unknown, "the installed document lost the signature field"); - let l = { status: "completed", signature: d, version: o.version(), previous: n.prepared.expectedVersion, protection: s.protection, meta: { affectedPages: this.session.allRecords().map((m) => be(m.pageObjectNumber)), cacheDelta: null, opId: t, undoable: !1 } }; - return this.session.lastCompletion = { signingId: e.signingId, cms: e.cms.slice(), result: l }, l; + let u = { status: "completed", signature: d, version: o.version(), previous: n.prepared.expectedVersion, protection: s.protection, meta: { affectedPages: this.session.allRecords().map((m) => be(m.pageObjectNumber)), cacheDelta: null, opId: t, undoable: !1 } }; + return this.session.lastCompletion = { signingId: e.signingId, cms: e.cms.slice(), result: u }, u; } cancel(e) { let t = this.session.pendingSigning; return t && t.prepared.signingId === e ? (this.session.pendingSigning = null, this.storeFor().discard(t.saved), { status: "cancelled" }) : this.session.lastCompletion?.signingId === e ? { status: "already-completed" } : { status: "unknown" }; } callPrepare(e, t, r) { - let { mem: n, fn: i } = this.runtime, a = this.runtime.kind === "wasm" ? bM : gM, A = [], o = (d) => { - if (d === null) return Y; - let l = n.writeU16String(d); - return A.push(l), l; + let { mem: n, fn: i } = this.runtime, a = this.runtime.kind === "wasm" ? ZM : zM, A = [], o = (d) => { + if (d === null) return X; + let u = n.writeU16String(d); + return A.push(u), u; }, s = (d) => { - if (d === null) return Y; - let l = n.writeU8String(d); - return A.push(l), l; + if (d === null) return X; + let u = n.writeU8String(d); + return A.push(u), u; }; try { - return Ai(this.runtime, r.fieldmdpFields, (d, l) => N(n, a.bytes, (m) => { - for (let k = 0; k < a.bytes; k += 4) n.poke(m, "i32", 0, k); - let F = (k, P) => { - a.ptrBytes === 4 ? n.poke(m, "i32", Number(P), k) : n.poke(m, "i64", P, k); + return di(this.runtime, r.fieldmdpFields, (d, u) => V(n, a.bytes, (m) => { + for (let h = 0; h < a.bytes; h += 4) n.poke(m, "i32", 0, h); + let F = (h, P) => { + a.ptrBytes === 4 ? n.poke(m, "i32", Number(P), h) : n.poke(m, "i64", P, h); }; - return n.poke(m, "i32", r.subfilter, a.subfilter), n.poke(m, "i32", r.digest, a.digest), n.poke(m, "i32", r.contentsSize, a.contentsSize), F(a.name, o(r.name)), F(a.reason, o(r.reason)), F(a.location, o(r.location)), F(a.contactInfo, o(r.contactInfo)), F(a.signingTime, s(r.signingTime)), n.poke(m, "i32", r.docmdpPermission, a.docmdpPermission), n.poke(m, "i32", r.fieldmdpAction, a.fieldmdpAction), F(a.fieldmdpFields, l > 0 ? d : Y), n.poke(m, "i32", l, a.fieldmdpFieldCount), n.poke(m, "i32", r.lockPermission, a.lockPermission), i.EPDFSig_Prepare(e, t, m); + return n.poke(m, "i32", r.subfilter, a.subfilter), n.poke(m, "i32", r.digest, a.digest), n.poke(m, "i32", r.contentsSize, a.contentsSize), F(a.name, o(r.name)), F(a.reason, o(r.reason)), F(a.location, o(r.location)), F(a.contactInfo, o(r.contactInfo)), F(a.signingTime, s(r.signingTime)), n.poke(m, "i32", r.docmdpPermission, a.docmdpPermission), n.poke(m, "i32", r.fieldmdpAction, a.fieldmdpAction), F(a.fieldmdpFields, u > 0 ? d : X), n.poke(m, "i32", u, a.fieldmdpFieldCount), n.poke(m, "i32", r.lockPermission, a.lockPermission), i.EPDFSig_Prepare(e, t, m); })); } finally { for (let d = A.length - 1; d >= 0; d--) n.free(A[d]); @@ -15376,7 +15693,7 @@ var Jw = { "adbe.pkcs7.detached": 0, "ETSI.CAdES.detached": 1, "ETSI.RFC3161": 2 } storeFor() { let e = this.session.source.base; - return e?.kind === "file" ? new dM(this.runtime, this.baseDocuments, e.path, this.candidatePath) : new cM(this.runtime, this.baseDocuments); + return e?.kind === "file" ? new VM(this.runtime, this.baseDocuments, e.path, this.candidatePath) : new NM(this.runtime, this.baseDocuments); } verifySealed(e, t) { let { fn: r } = this.runtime; @@ -15384,7 +15701,7 @@ var Jw = { "adbe.pkcs7.detached": 0, "ETSI.CAdES.detached": 1, "ETSI.RFC3161": 2 let n = r.EPDFSig_LoadModel(e.docPtr); if (!n) throw new f(g.Unknown, "the sealed bytes have no signature model"); try { - Dh(this.runtime, e.docPtr, n, t); + ek(this.runtime, e.docPtr, n, t); } finally { r.EPDFSig_CloseModel(n); } @@ -15394,23 +15711,23 @@ var Jw = { "adbe.pkcs7.detached": 0, "ETSI.CAdES.detached": 1, "ETSI.RFC3161": 2 } } openCandidate(e, t) { - let r = this.session.password, n = this.session.source, i = new Bn(this.runtime, this.session), a = i.canWriteScratchFiles() && n.base?.kind === "file" ? n.base.path : null; + let r = this.session.password, n = this.session.source, i = new Dn(this.runtime, this.session), a = i.canWriteScratchFiles() && n.base?.kind === "file" ? n.base.path : null; if (this.session.kind === "layer" && n.base && !this.loadedDeltaHoldsSignedBytes()) { let s = this.baseDocuments.retainByKey(n.base.key); if (s) { let d = n.layer ?? { kind: "fresh" }; if (this.session.hasUnsavedEdits()) if (a) { - let l = ad(a, "signing", e, "layer"); - t.push(() => this.runtime.fileWrite.removeFile(l)), i.saveLayerArtifactToFileEx(l).changedSinceLoad && (d = { kind: "artifact-file", path: l }); + let u = ld(a, "signing", e, "layer"); + t.push(() => this.runtime.fileWrite.removeFile(u)), i.saveLayerArtifactToFileEx(u).changedSinceLoad && (d = { kind: "artifact-file", path: u }); } else { - let l = i.saveLayerArtifactEx(); - l.changedSinceLoad && (d = { kind: "artifact", bytes: l.bytes }); + let u = i.saveLayerArtifactEx(); + u.changedSinceLoad && (d = { kind: "artifact", bytes: u.bytes }); } return dn(this.runtime, s, d, r); } } if (a) { - let s = ad(a, "signing", e, "base.pdf"); + let s = ld(a, "signing", e, "base.pdf"); t.push(() => this.runtime.fileWrite.removeFile(s)), i.snapshotToFile(s); let d = this.baseDocuments.acquireFileBase({ key: `candidate:${e}`, path: s, password: r }); return dn(this.runtime, d, { kind: "fresh" }, r); @@ -15425,11 +15742,11 @@ var Jw = { "adbe.pkcs7.detached": 0, "ETSI.CAdES.detached": 1, "ETSI.RFC3161": 2 return new nt(this.runtime, this.session).readSnapshot().signatures.some((r) => r.signed && r.byteRange !== null && r.byteRange[2] + r.byteRange[3] > t); } }; -function fM(e, t) { +function JM(e, t) { return e.baseSha256 === t.baseSha256 && e.editsVersion === t.editsVersion; } -var FM = { 0: "added", 1: "modified", 2: "freed" }, vM = { 0: "dictionary", 1: "stream", 2: "array", 3: "scalar", 4: "xref", 5: "objstm", 6: "trailer" }, HA = 0, IA = 1, tb = { 0: "ok", 1: "failed", 2: "absent" }; -function nb(e, t) { +var $M = { 0: "added", 1: "modified", 2: "freed" }, ej = { 0: "dictionary", 1: "stream", 2: "array", 3: "scalar", 4: "xref", 5: "objstm", 6: "trailer" }, MA = 0, jA = 1, bb = { 0: "ok", 1: "failed", 2: "absent" }; +function gb(e, t) { let r = /* @__PURE__ */ new Set([0, e.root, e.pagesRoot, ...e.pages, ...t]); e.acroForm && r.add(e.acroForm); for (let n of e.fields) { @@ -15438,19 +15755,19 @@ function nb(e, t) { } return r; } -var rb = class { +var fb = class { constructor(e, t) { this.runtime = e, this.session = t; } readWorkingCopySnapshot() { - let e = new Vt(); + let e = new Yt(); try { let t = this.openWorkingCopy(e); if (t.source === "loaded") return new nt(this.runtime, this.session).readSnapshot(); let r = t.target; - return yo(this.runtime, r, (n) => { - let i = this.runtime.fn.EPDFSig_IsRevisionChainValid(n), a = fr(this.runtime, n); - return { chainValid: i, revisions: i ? Do(this.runtime, r, a) : [], signatures: a, protection: Yn(a) }; + return Ho(this.runtime, r, (n) => { + let i = this.runtime.fn.EPDFSig_IsRevisionChainValid(n), a = Fr(this.runtime, n); + return { chainValid: i, revisions: i ? _o(this.runtime, r, a) : [], signatures: a, protection: Xn(a) }; }); } finally { e.close(); @@ -15466,47 +15783,47 @@ var rb = class { } else s = e.since.revisionIndex; if (!r.chainValid) { let m = { verdict: "indeterminate", complete: !1, findings: [{ rule: "revision-chain", verdict: "incomplete", objectNumber: 0, detail: "the cross-reference chain is broken or was rebuilt: no revision can be told from another" }], method: "net-state" }; - return { mode: i, policyVersion: tm, basis: { version: n, editsVersion: o, source: "persisted" }, since: { revisionIndex: s, signatureIndex: d }, until: { revisionIndex: s }, restrictions: [], current: { ...m, primary: m.findings[0] }, later: { revisionCount: 0, undoneObjectNumbers: [] }, verdict: "indeterminate", steps: [] }; + return { mode: i, policyVersion: gm, basis: { version: n, editsVersion: o, source: "persisted" }, since: { revisionIndex: s, signatureIndex: d }, until: { revisionIndex: s }, restrictions: [], current: { ...m, primary: m.findings[0] }, later: { revisionCount: 0, undoneObjectNumbers: [] }, verdict: "indeterminate", steps: [] }; } if (!Number.isInteger(s) || s < 0 || s >= r.revisions.length) throw new f(g.InvalidArg, `no revision ${s}`); - let l = new Vt(); + let u = new Yt(); try { - let m = this.session.requireDocPtr(), F = r.revisions, k = e.until === "working-copy" ? this.openWorkingCopy(l) : null; - if (k && k.source === "working-copy") { - A = "working-copy", m = k.target; - let Ae = yo(this.runtime, m, (ot) => fr(this.runtime, ot)); - if (F = Do(this.runtime, m, Ae), F.length === 0) throw new f(g.MalformedPdf, "the working copy has no valid revision chain"); + let m = this.session.requireDocPtr(), F = r.revisions, h = e.until === "working-copy" ? this.openWorkingCopy(u) : null; + if (h && h.source === "working-copy") { + A = "working-copy", m = h.target; + let Ae = Ho(this.runtime, m, (ot) => Fr(this.runtime, ot)); + if (F = _o(this.runtime, m, Ae), F.length === 0) throw new f(g.MalformedPdf, "the working copy has no valid revision chain"); } let P = F.length - 1; if (typeof e.until == "object" && (P = e.until.revisionIndex, !Number.isInteger(P) || P < s || P >= F.length)) throw new f(g.InvalidArg, `no revision ${P} at or after ${s}`); - let D = new Vt(), G, I, _ = [], H; + let D = new Yt(), G, I, _ = [], H; try { let Ae = this.openPrefix(m, F, s, D), ot = P === F.length - 1 ? m : this.openPrefix(m, F, P, D); - G = ec(this.runtime, Ae), I = P === s ? G : ec(this.runtime, ot), P > s && ({ changes: _, health: H } = this.compare(Ae, ot, G, I)); + G = ac(this.runtime, Ae), I = P === s ? G : ac(this.runtime, ot), P > s && ({ changes: _, health: H } = this.compare(Ae, ot, G, I)); } finally { D.close(); } - let C = d === null ? null : G.signatures[d] ?? null, j = dE(G, C), X = e.exploratoryLevel, ge = dm({ older: s, newer: P, changes: _, before: G, after: I, health: H, restrictions: { level: j.level, locks: j.locks }, levelOverride: X }), we = j.anchors.some((Ae) => Ae.source === "docmdp" && Ae.own), O = P - s, U; - O <= 1 ? U = O === 1 ? [ge] : [] : we || a === "full" ? U = this.walkSteps(m, F, s, P, G, { level: j.level, locks: j.locks, levelOverride: X }) : U = []; - let ae = we ? { ...My(ge, U), method: "net-state+replay" } : { ...Oy(ge), method: "net-state" }; - return { mode: i, policyVersion: tm, basis: { version: n, editsVersion: o, source: A }, since: { revisionIndex: s, signatureIndex: d }, until: { revisionIndex: P }, restrictions: j.anchors, current: ae, later: { revisionCount: O, undoneObjectNumbers: _.filter(nf).map((Ae) => Ae.objectNumber) }, verdict: ae.verdict, steps: U }; + let C = d === null ? null : G.signatures[d] ?? null, O = VE(G, C), K = e.exploratoryLevel, fe = ym({ older: s, newer: P, changes: _, before: G, after: I, health: H, restrictions: { level: O.level, locks: O.locks }, levelOverride: K }), we = O.anchors.some((Ae) => Ae.source === "docmdp" && Ae.own), M = P - s, q; + M <= 1 ? q = M === 1 ? [fe] : [] : we || a === "full" ? q = this.walkSteps(m, F, s, P, G, { level: O.level, locks: O.locks, levelOverride: K }) : q = []; + let ae = we ? { ...gE(fe, q), method: "net-state+replay" } : { ...bE(fe), method: "net-state" }; + return { mode: i, policyVersion: gm, basis: { version: n, editsVersion: o, source: A }, since: { revisionIndex: s, signatureIndex: d }, until: { revisionIndex: P }, restrictions: O.anchors, current: ae, later: { revisionCount: M, undoneObjectNumbers: _.filter(kf).map((Ae) => Ae.objectNumber) }, verdict: ae.verdict, steps: q }; } finally { - l.close(); + u.close(); } } openPrefix(e, t, r, n) { let i = this.runtime.fn.EPDFDoc_OpenRevision(e, BigInt(t[r].end)); - if (i === Y) throw new f(g.MalformedPdf, `revision ${r} does not open as a document`); + if (i === X) throw new f(g.MalformedPdf, `revision ${r} does not open as a document`); return n.push(() => this.runtime.fn.FPDF_CloseDocument(i)), i; } walkSteps(e, t, r, n, i, a) { - let { fn: A } = this.runtime, o = [], s = this.openPrefix(e, t, r, new Vt()), d = i; + let { fn: A } = this.runtime, o = [], s = this.openPrefix(e, t, r, new Yt()), d = i; try { - for (let l = r + 1; l <= n; l++) { - let m = l === t.length - 1 ? e : this.openPrefix(e, t, l, new Vt()); + for (let u = r + 1; u <= n; u++) { + let m = u === t.length - 1 ? e : this.openPrefix(e, t, u, new Yt()); try { - let F = ec(this.runtime, m), { changes: k, health: P } = this.compare(s, m, d, F); - o.push(dm({ older: l - 1, newer: l, changes: k, before: d, after: F, health: P, restrictions: { level: a.level, locks: a.locks }, levelOverride: a.levelOverride })), d = F; + let F = ac(this.runtime, m), { changes: h, health: P } = this.compare(s, m, d, F); + o.push(ym({ older: u - 1, newer: u, changes: h, before: d, after: F, health: P, restrictions: { level: a.level, locks: a.locks }, levelOverride: a.levelOverride })), d = F; } finally { A.FPDF_CloseDocument(s), s = m; } @@ -15519,41 +15836,41 @@ var rb = class { openWorkingCopy(e) { let { fn: t, mem: r } = this.runtime, n = this.session.requireDocPtr(); if (!this.session.hasUnsavedEdits()) return { target: n, source: "loaded" }; - let i = new Bn(this.runtime, this.session); + let i = new Dn(this.runtime, this.session); if (this.session.kind === "layer") { let o = this.session.source.base; if (i.canWriteScratchFiles() && o?.kind === "file") { - let m = ad(o.path, "working-copy", ja(), "delta"); + let m = ld(o.path, "working-copy", Ta(), "delta"); if (e.push(() => this.runtime.fileWrite.removeFile(m)), !i.saveLayerDeltaToFileEx(m).changedSinceLoad) return { target: n, source: "loaded" }; if (this.runtime.fileAccess.sizeOf(m) === 0) return this.freshLayerOverBase(e); - let F = xF(r, m, (k) => t.EPDFDoc_OpenBaseOverlayFromPath(n, k)); - if (F === Y) throw new f(g.MalformedPdf, "the working copy does not compose with its base"); + let F = ZF(r, m, (h) => t.EPDFDoc_OpenBaseOverlayFromPath(n, h)); + if (F === X) throw new f(g.MalformedPdf, "the working copy does not compose with its base"); return e.push(() => t.FPDF_CloseDocument(F)), { target: F, source: "working-copy" }; } let s = i.saveLayerDeltaEx(); if (!s.changedSinceLoad) return { target: n, source: "loaded" }; if (s.size === 0) return this.freshLayerOverBase(e); - let d = new Uint8Array(s.bytes), l = r.alloc(d.byteLength); + let d = new Uint8Array(s.bytes), u = r.alloc(d.byteLength); try { - r.writeBytes(l, d); - let m = t.EPDFDoc_OpenBaseOverlay(n, l, d.byteLength); - if (m === Y) throw new f(g.MalformedPdf, "the working copy does not compose with its base"); + r.writeBytes(u, d); + let m = t.EPDFDoc_OpenBaseOverlay(n, u, d.byteLength); + if (m === X) throw new f(g.MalformedPdf, "the working copy does not compose with its base"); return e.push(() => t.FPDF_CloseDocument(m)), { target: m, source: "working-copy" }; } finally { - r.free(l); + r.free(u); } } let a = i.saveStandaloneToBufferEx("incremental"); if (a.unchangedSinceLoad) return { target: n, source: "loaded" }; - let A = _F(this.runtime, new Uint8Array(a.bytes), this.session.password); + let A = zF(this.runtime, new Uint8Array(a.bytes), this.session.password); return e.push(() => A.close()), { target: A.docPtr, source: "working-copy" }; } freshLayerOverBase(e) { let { fn: t, mem: r } = this.runtime, n = t.EPDFLayer_GetBaseDocument(this.session.requireDocPtr()), i = r.alloc(4); try { r.poke(i, "i32", -1); - let a = t.EPDFLayer_OpenLayer(n, Y, this.session.password ?? "", i); - if (a === Y || Number(r.peek(i, "i32")) !== 0) throw new f(g.MalformedPdf, "the working copy could not be opened over its base"); + let a = t.EPDFLayer_OpenLayer(n, X, this.session.password ?? "", i); + if (a === X || Number(r.peek(i, "i32")) !== 0) throw new f(g.MalformedPdf, "the working copy could not be opened over its base"); return e.push(() => t.FPDF_CloseDocument(a)), { target: a, source: "working-copy" }; } finally { r.free(i); @@ -15561,141 +15878,129 @@ var rb = class { } compare(e, t, r, n) { let { fn: i, mem: a } = this.runtime, A = i.EPDFDoc_CompareRevisions(e, t); - if (A === Y) throw new f(g.MalformedPdf, "the revisions do not share a byte history"); + if (A === X) throw new f(g.MalformedPdf, "the revisions do not share a byte history"); try { let o = i.EPDFObjectDiff_GetCount(A), s = []; - return fe(a, [4, 4, 4, 4, 4, 4], ([d, l, m, F, k, P]) => { + return Fe(a, [4, 4, 4, 4, 4, 4], ([d, u, m, F, h, P]) => { for (let D = 0; D < o; D++) { - for (let O of [d, l, m, F, k, P]) a.poke(O, "i32", 0); - if (!i.EPDFObjectDiff_GetEntry(A, D, d, l, m, F, k, P)) throw new f(g.Unknown, `failed to read diff entry ${D}`); - let G = Number(a.peek(d, "i32")) >>> 0, I = Number(a.peek(F, "i32")), _ = Number(a.peek(k, "i32")), H = this.readValue(A, D, HA), C = this.readValue(A, D, IA), j = H.truncated || C.truncated, X = null, ge = null; + for (let M of [d, u, m, F, h, P]) a.poke(M, "i32", 0); + if (!i.EPDFObjectDiff_GetEntry(A, D, d, u, m, F, h, P)) throw new f(g.Unknown, `failed to read diff entry ${D}`); + let G = Number(a.peek(d, "i32")) >>> 0, I = Number(a.peek(F, "i32")), _ = Number(a.peek(h, "i32")), H = this.readValue(A, D, MA), C = this.readValue(A, D, jA), O = H.truncated || C.truncated, K = null, fe = null; try { - X = H.text === null || H.truncated ? null : am(H.text), ge = C.text === null || C.truncated ? null : am(C.text); + K = H.text === null || H.truncated ? null : Pm(H.text), fe = C.text === null || C.truncated ? null : Pm(C.text); } catch { - j = !0; + O = !0; } - let we = FM[Number(a.peek(l, "i32"))] ?? "modified"; - s.push({ objectNumber: G, change: we, kind: vM[Number(a.peek(m, "i32"))] ?? "scalar", present: { old: we !== "added", new: we !== "freed" }, generation: { old: I < 0 ? null : I, new: _ < 0 ? null : _ }, value: { old: X, new: ge, truncated: j }, raw: { old: H.text, new: C.text }, read: { old: tb[i.EPDFObjectDiff_GetReadStatus(A, D, HA)] ?? "failed", new: tb[i.EPDFObjectDiff_GetReadStatus(A, D, IA)] ?? "failed" }, streamDataChanged: Number(a.peek(P, "i32")) !== 0, usage: { old: [], new: [] } }); + let we = $M[Number(a.peek(u, "i32"))] ?? "modified"; + s.push({ objectNumber: G, change: we, kind: ej[Number(a.peek(m, "i32"))] ?? "scalar", present: { old: we !== "added", new: we !== "freed" }, generation: { old: I < 0 ? null : I, new: _ < 0 ? null : _ }, value: { old: K, new: fe, truncated: O }, raw: { old: H.text, new: C.text }, read: { old: bb[i.EPDFObjectDiff_GetReadStatus(A, D, MA)] ?? "failed", new: bb[i.EPDFObjectDiff_GetReadStatus(A, D, jA)] ?? "failed" }, streamDataChanged: Number(a.peek(P, "i32")) !== 0, usage: { old: [], new: [] } }); } - }), { changes: this.withAnchoredUsage(A, s, r, n), health: { old: this.readHealth(A, HA), new: this.readHealth(A, IA) } }; + }), { changes: this.withAnchoredUsage(A, s, r, n), health: { old: this.readHealth(A, MA), new: this.readHealth(A, jA) } }; } finally { i.EPDFObjectDiff_Close(A); } } readHealth(e, t) { let { fn: r, mem: n } = this.runtime; - return fe(n, [4, 4, 4], ([i, a, A]) => { + return Fe(n, [4, 4, 4], ([i, a, A]) => { for (let o of [i, a, A]) n.poke(o, "i32", 0); if (!r.EPDFObjectDiff_GetRevisionHealth(e, t, i, a, A)) throw new f(g.Unknown, "failed to read revision health"); return { sparseXref: Number(n.peek(i, "i32")) !== 0, bareReferences: Number(n.peek(a, "i32")) >>> 0, referrersComplete: Number(n.peek(A, "i32")) !== 0 }; }); } withAnchoredUsage(e, t, r, n) { - let i = new Set(t.map((A) => A.objectNumber)), a = { old: new um((A) => this.readReferrers(e, HA, A), nb(r, i)), new: new um((A) => this.readReferrers(e, IA, A), nb(n, i)) }; + let i = new Set(t.map((A) => A.objectNumber)), a = { old: new Cm((A) => this.readReferrers(e, MA, A), gb(r, i)), new: new Cm((A) => this.readReferrers(e, jA, A), gb(n, i)) }; return t.map((A) => { let o = A.present.old ? a.old.resolve(A.objectNumber) : [], s = A.present.new ? a.new.resolve(A.objectNumber) : []; - return { ...A, usage: { old: o === EA ? [] : o, new: s === EA ? [] : s }, ...o === EA || s === EA ? { usageIncomplete: !0 } : {} }; + return { ...A, usage: { old: o === HA ? [] : o, new: s === HA ? [] : s }, ...o === HA || s === HA ? { usageIncomplete: !0 } : {} }; }); } readValue(e, t, r) { let { fn: n, mem: i } = this.runtime; - return N(i, 4, (a) => { + return V(i, 4, (a) => { i.poke(a, "i32", 0); - let A = n.EPDFObjectDiff_GetValue(e, t, r, Y, 0, a), o = Number(i.peek(a, "i32")) !== 0; - return A <= 0 ? { text: null, truncated: o } : N(i, A, (s) => { + let A = n.EPDFObjectDiff_GetValue(e, t, r, X, 0, a), o = Number(i.peek(a, "i32")) !== 0; + return A <= 0 ? { text: null, truncated: o } : V(i, A, (s) => { i.poke(a, "i32", 0); - let d = n.EPDFObjectDiff_GetValue(e, t, r, s, A, a), l = Number(i.peek(a, "i32")) !== 0; - if (d <= 0) return { text: null, truncated: l }; + let d = n.EPDFObjectDiff_GetValue(e, t, r, s, A, a), u = Number(i.peek(a, "i32")) !== 0; + if (d <= 0) return { text: null, truncated: u }; let m = i.readBytes(s, d - 1), F = ""; - for (let k of m) F += String.fromCharCode(k); - return { text: F, truncated: l }; + for (let h of m) F += String.fromCharCode(h); + return { text: F, truncated: u }; }); }); } readReferrers(e, t, r) { let { fn: n, mem: i } = this.runtime, a = n.EPDFObjectDiff_GetReferrerCount(e, t, r), A = []; - return a <= 0 || N(i, 4, (o) => { + return a <= 0 || V(i, 4, (o) => { for (let s = 0; s < a; s++) { i.poke(o, "i32", 0); - let d = n.EPDFObjectDiff_GetReferrer(e, t, r, s, o, Y, 0), l = d <= 0 ? "" : N(i, d, (m) => { + let d = n.EPDFObjectDiff_GetReferrer(e, t, r, s, o, X, 0), u = d <= 0 ? "" : V(i, d, (m) => { let F = n.EPDFObjectDiff_GetReferrer(e, t, r, s, o, m, d); if (F <= 0) return ""; - let k = i.readBytes(m, F - 1), P = ""; - for (let D of k) P += String.fromCharCode(D); + let h = i.readBytes(m, F - 1), P = ""; + for (let D of h) P += String.fromCharCode(D); return P; }); - A.push({ parent: Number(i.peek(o, "i32")) >>> 0, label: l }); + A.push({ parent: Number(i.peek(o, "i32")) >>> 0, label: u }); } }), A; } -}, PM = class { +}, tj = class { constructor(e, t) { this.runtime = e, this.baseDocuments = t; } finalize(e) { - let [t, r, n, i] = e.byteRange, a = this.runtime.fileAccess.sizeOf(e.path), A = (l) => Number.isSafeInteger(l) && l >= 0; + let [t, r, n, i] = e.byteRange, a = this.runtime.fileAccess.sizeOf(e.path), A = (u) => Number.isSafeInteger(u) && u >= 0; if (!e.byteRange.every(A) || t !== 0 || r >= n || n + i !== a) throw new f(g.InvalidArg, `byteRange [${e.byteRange.join(" ")}] does not span a ${a}-byte candidate`); let o = n - r - 2; if (!Number.isSafeInteger(e.contentsSizeBytes) || o !== 2 * e.contentsSizeBytes) throw new f(g.InvalidArg, `the /Contents hole holds ${o} hex digits, not the ${2 * e.contentsSizeBytes} of contentsSize`); if (e.cms.byteLength === 0 || e.cms[0] !== 48) throw new f(g.SignatureRefused, "the CMS is not a DER SEQUENCE"); if (e.cms.byteLength > e.contentsSizeBytes) throw new f(g.SignatureRefused, `the CMS (${e.cms.byteLength} bytes) does not fit the reserved ${e.contentsSizeBytes} bytes`); - sM(this.runtime, e.path, { holeOffset: r, hexLength: o }, e.cms); - let s = new Sc(this.runtime), d = this.baseDocuments.acquireFileBase({ key: `finalize:${ja()}`, path: e.path, password: e.password }); + KM(this.runtime, e.path, { holeOffset: r, hexLength: o }, e.cms); + let s = new Kc(this.runtime), d = this.baseDocuments.acquireFileBase({ key: `finalize:${Ta()}`, path: e.path, password: e.password }); try { s.openFromHandle(dn(this.runtime, d, { kind: "fresh" }, e.password)); - let l = Rr(this.runtime, s); - Dh(this.runtime, s.requireDocPtr(), l, { fieldObjectNumber: e.fieldObjectNumber, byteRange: e.byteRange, cms: e.cms }); + let u = Kr(this.runtime, s); + ek(this.runtime, s.requireDocPtr(), u, { fieldObjectNumber: e.fieldObjectNumber, byteRange: e.byteRange, cms: e.cms }); let m = new nt(this.runtime, s), F = m.readSnapshot(); - return { signature: F.signatures.find((k) => k.field.kind === "objectNumber" && k.field.objectNumber === e.fieldObjectNumber), protection: F.protection, version: m.version(), lastObjectNumber: s.lastObjectNumber() }; + return { signature: F.signatures.find((h) => h.field.kind === "objectNumber" && h.field.objectNumber === e.fieldObjectNumber), protection: F.protection, version: m.version(), lastObjectNumber: s.lastObjectNumber() }; } finally { s.close(); } } -}, yh = class { - constructor(e, t, r) { - this.runtime = e, this.session = t, this.fonts = r; - } - snapshot(e) { - return S(e), P6(this.runtime, this.session, e, this.fonts); - } - field(e, t) { - S(t); - let r = Be(this.runtime, this.session), { fieldIndex: n } = yt(this.runtime, r, e); - return Ue(this.runtime, r, n, this.session.requireDocPtr()); - } -}, hM = class { +}, nj = class { constructor(e, t, r) { this.runtime = e, this.session = t, this.fonts = r; } export(e, t, r) { S(r); - let { fields: n, widgets: i, calculationOrder: a } = $9(Jg(new yh(this.runtime, this.session, this.fonts).snapshot(r), cr(this.runtime, this.session)), e, this.session.allRecords().map((s) => be(s.pageObjectNumber))); + let { fields: n, widgets: i, calculationOrder: a } = _9(qd(new qu(this.runtime, this.session, this.fonts).snapshot(r), xn(this.runtime, this.session)), e, this.session.allRecords().map((s) => be(s.pageObjectNumber))); Qe("form", t, "items", n.length + i.length); - let A = { pages: S3(this.runtime, this.session, i), fields: n.map((s) => ({ data: s })), widgets: i.map((s) => ({ data: s, resources: {} })), calculationOrder: a }; + let A = { pages: rh(this.runtime, this.session, i), fields: n.map((s) => ({ data: s })), widgets: i.map((s) => ({ data: s, resources: {} })), calculationOrder: a }; Qe("form", t, "pages", A.pages.length); - let o = Mo(A); + let o = No(A); return Qe("form", t, "manifestBytes", o), Qe("form", t, "bundleBytes", o), { format: "embedpdf/form", version: 1, ...A, resources: {} }; } -}, kM = 512, ib = /* @__PURE__ */ new WeakMap(); -async function BM(e, t, r, n, i) { - let a = t.cacheSeq(), A = ib.get(t); - A || (A = /* @__PURE__ */ new Map(), ib.set(t, A)); +}, rj = 512, Fb = /* @__PURE__ */ new WeakMap(); +async function ij(e, t, r, n, i) { + let a = t.cacheSeq(), A = Fb.get(t); + A || (A = /* @__PURE__ */ new Map(), Fb.set(t, A)); let o = A.get(r); if (o && o.seq === a) return o; - let s = await new VF(e, t).read(r, n, i), d = { seq: a, folded: no(s.text), snapshot: s }; - if (A.delete(r), A.set(r, d), A.size > kM) { - let l = A.keys().next().value; - l !== void 0 && A.delete(l); + let s = await new mv(e, t).read(r, n, i), d = { seq: a, folded: oo(s.text), snapshot: s }; + if (A.delete(r), A.set(r, d), A.size > rj) { + let u = A.keys().next().value; + u !== void 0 && A.delete(u); } return d; } -function DM(e, t) { +function aj(e, t) { return JSON.stringify([e.regex ? "r" : "l", e.text, e.matchCase ? 1 : 0, e.matchDiacritics ? 1 : 0, e.wholeWord ? 1 : 0, e.ignoreWhitespace ? 1 : 0, t ? "snippets" : "matches"]); } -function yM(e) { +function Aj(e) { return JSON.stringify(e); } -function EM(e, t, r, n) { +function oj(e, t, r, n) { let i; try { i = JSON.parse(t); @@ -15708,107 +16013,108 @@ function EM(e, t, r, n) { if (e.from !== void 0 && e.from.objectNumber !== i.start) throw new f(g.InvalidArg, "`from` conflicts with the cursor — omit it when resuming"); return i; } -var GM = 64, CM = 256, xM = 256, _M = 1024, HM = class { +var sj = 64, cj = 256, dj = 256, pj = 1024, uj = class { constructor(e, t) { this.runtime = e, this.session = t; } async query(e, t, r) { S(t); - let n = lE(e), i = e.snippets ?? !1, a = Mg(n); + let n = XE(e), i = e.snippets ?? !1, a = Jg(n); if (!a.ok) throw new f(g.InvalidArg, `invalid search query (${a.issue}): ${a.message}`); let A = this.session.allRecords(), o = A.length; - if (!n.regex && no(n.text).folded.trim().length === 0) return { matches: [], nextCursor: null, pagesSearched: 0, pageCount: o }; - let s = this.session.cacheSeq(), d = DM(n, i), l = 0, m = 0; + if (!n.regex && oo(n.text).folded.trim().length === 0) return { matches: [], nextCursor: null, pagesSearched: 0, pageCount: o }; + let s = this.session.cacheSeq(), d = aj(n, i), u = 0, m = 0; if (e.cursor !== void 0) { - let _ = EM(e, e.cursor, s, d); - l = _.start, m = _.scanned; - } else e.from !== void 0 && (l = this.session.resolvePageRef(e.from).pageObjectNumber), e.skip !== void 0 && (m = Math.min(Math.max(0, Math.floor(e.skip)), o)); + let _ = oj(e, e.cursor, s, d); + u = _.start, m = _.scanned; + } else e.from !== void 0 && (u = this.session.resolvePageRef(e.from).pageObjectNumber), e.skip !== void 0 && (m = Math.min(Math.max(0, Math.floor(e.skip)), o)); let F = A; - if (l !== 0) { - let _ = A.findIndex((H) => H.pageObjectNumber === l); + if (u !== 0) { + let _ = A.findIndex((H) => H.pageObjectNumber === u); F = A.slice(_).concat(A.slice(0, _)); } - let k = ab(e.limit?.pages, GM, CM), P = ab(e.limit?.matches, xM, _M), D = [], G = 0, I = new Gp(r, t); - for (; m < F.length && G < k && D.length < P; ) { + let h = vb(e.limit?.pages, sj, cj), P = vb(e.limit?.matches, dj, pj), D = [], G = 0, I = new Lp(r, t); + for (; m < F.length && G < h && D.length < P; ) { I.due && await I.pause(), S(t); - let _ = F[m].pageObjectNumber, H = await BM(this.runtime, this.session, _, t, r), C = H.snapshot.text, j; - if (n.regex ? j = _9(C, n) : n.matchCase || n.matchDiacritics || n.ignoreWhitespace ? j = Yu(no(C, Sg(n)), n) : j = Yu(H.folded, n), j.length > 0) { - let X = e9(await new XF(this.runtime, this.session).read(_, t, r)); - for (let ge of j) { - let we = B0(H.snapshot, ge); - D.push({ page: be(_), start: we.start, count: we.count, segments: X.segments(we), ...i ? { snippet: mE(C, ge) } : {} }); + let _ = F[m].pageObjectNumber, H = await ij(this.runtime, this.session, _, t, r), C = H.snapshot.text, O; + if (n.regex ? O = a9(C, n) : n.matchCase || n.matchDiacritics || n.ignoreWhitespace ? O = om(oo(C, Zg(n)), n) : O = om(H.folded, n), O.length > 0) { + let K = Gy(await new bv(this.runtime, this.session).read(_, t, r)); + for (let fe of O) { + let we = $0(H.snapshot, fe); + D.push({ page: be(_), start: we.start, count: we.count, segments: K.segments(we), ...i ? { snippet: UE(C, fe) } : {} }); } } m++, G++; } - return { matches: D, nextCursor: m < F.length ? yM({ v: 1, seq: s, key: d, start: l, scanned: m }) : null, pagesSearched: m, pageCount: o }; + return { matches: D, nextCursor: m < F.length ? Aj({ v: 1, seq: s, key: d, start: u, scanned: m }) : null, pagesSearched: m, pageCount: o }; } }; -function ab(e, t, r) { +function vb(e, t, r) { return e === void 0 || !Number.isFinite(e) ? t : Math.max(1, Math.min(Math.floor(e), r)); } -var IM = [["willClose", 0], ["willSave", 1], ["didSave", 2], ["willPrint", 3], ["didPrint", 4]], QM = class { +var lj = [["willClose", 0], ["willSave", 1], ["didSave", 2], ["willPrint", 3], ["didPrint", 4]], mj = class { constructor(e, t) { this.runtime = e, this.session = t; } read(e) { S(e); - let { fn: t, mem: r } = this.runtime, n = this.session.requireDocPtr(), i = new Fr(), a = t.FPDFDoc_GetJavaScriptActionCount(n); + let { fn: t, mem: r } = this.runtime, n = this.session.requireDocPtr(), i = new Pr(), a = t.FPDFDoc_GetJavaScriptActionCount(n); if (a < 0) throw new f(g.MalformedPdf, "failed to enumerate PDF name-tree scripts"); let A = []; for (let m = 0; m < a; m++) { S(e); let F = t.FPDFDoc_GetJavaScriptAction(n, m); - if (F === Y) throw new f(g.MalformedPdf, "invalid PDF name-tree script entry", { details: { index: m } }); - let k; + if (F === X) throw new f(g.MalformedPdf, "invalid PDF name-tree script entry", { details: { index: m } }); + let h; try { - k = ue(r, (D, G) => t.FPDFJavaScriptAction_GetName(F, D, G)) ?? ""; + h = le(r, (D, G) => t.FPDFJavaScriptAction_GetName(F, D, G)) ?? ""; } finally { t.FPDFDoc_CloseJavaScriptAction(F); } - i.reservePayloadBytes(k.length); - let P = SM(Nn(t, r, n, t.EPDFDoc_GetNamedJavaScriptActionModel(n, m), i), "name-tree script", m); - A.push({ name: k, action: P }); + i.reservePayloadBytes(h.length); + let P = wj(Vn(t, r, n, t.EPDFDoc_GetNamedJavaScriptActionModel(n, m), i), "name-tree script", m); + A.push({ name: h, action: P }); } - let o = Nn(t, r, n, t.EPDFDoc_GetOpenActionModel(n), i), s = o ? Y : t.EPDFDoc_GetOpenActionDest(n), d = s !== Y ? Xo(t, r, n, s) : null, l = {}; - for (let [m, F] of IM) { + let o = Vn(t, r, n, t.EPDFDoc_GetOpenActionModel(n), i), s = o ? X : t.EPDFDoc_GetOpenActionDest(n), d = s !== X ? $o(t, r, n, s) : null, u = {}; + for (let [m, F] of lj) { S(e); - let k = Nn(t, r, n, t.EPDFDoc_GetAdditionalActionModel(n, F), i); - k && (l[m] = k); + let h = Vn(t, r, n, t.EPDFDoc_GetAdditionalActionModel(n, F), i); + h && (u[m] = h); } - return { nameTreeScripts: A, openAction: o, openDestination: d, ...l }; + return { nameTreeScripts: A, openAction: o, openDestination: d, ...u }; } }; -function SM(e, t, r) { +function wj(e, t, r) { if (e) return e; throw new f(g.MalformedPdf, `failed to read ${t}`, { details: { index: r } }); } -function OM(e, t) { - let r = (a) => zr(a, t), n = (a) => jo(a, t(a.page), t), i = (a) => a.map((A) => na(A, t)); +function bj(e, t) { + let r = (a) => ti(a, t), n = (a) => ja(a, t(a.page), t), i = (a) => a.map((A) => aa(A, t)); switch (e.tag) { case "pages.list": - return { ...e, snapshot: fc(e.snapshot) }; + return { ...e, snapshot: Dc(e.snapshot) }; case "pages.setName": case "pages.removeName": - return { ...e, result: { ...e.result, layout: fc(e.result.layout) } }; + case "measure.setScale": + return { ...e, result: { ...e.result, layout: Dc(e.result.layout) } }; case "pages.geometry": - return { ...e, snapshot: b9(e.snapshot, t(e.page)) }; + return { ...e, snapshot: Vy(e.snapshot, t(e.page)) }; case "pages.render": - return { ...e, area: bt(e.area, t(e.page)) }; + return { ...e, area: ft(e.area, t(e.page)) }; case "search.query": - return { ...e, slice: f9(e.slice, t) }; + return { ...e, slice: Xy(e.slice, t) }; case "annotations.renderAppearances": { - let a = rm(e.result.appearances, t(e.page)); + let a = Fm(e.result.appearances, t(e.page)); return { ...e, result: { ...e.result, appearances: a } }; } case "annotations.renderAppearancesEncoded": { - let a = rm(e.result.appearances, t(e.page)); + let a = Fm(e.result.appearances, t(e.page)); return { ...e, result: { ...e.result, appearances: a } }; } case "actions.read": - return { ...e, snapshot: V0(e.snapshot, r) }; + return { ...e, snapshot: Fy(e.snapshot, r) }; case "outline.read": - return { ...e, outline: _y(e.outline, t) }; + return { ...e, outline: pE(e.outline, t) }; case "annotations.list": return { ...e, list: { ...e.list, annotations: e.list.annotations.map(n) } }; case "annotations.create": @@ -15821,108 +16127,113 @@ function OM(e, t) { case "annotations.import": return { ...e, result: { ...e.result, annotations: e.result.annotations.map(n) } }; case "measure.viewports": - return { ...e, viewports: Y0(e.viewports, t(e.page)) }; + return { ...e, viewports: Vg(e.viewports, t(e.page)) }; case "forms.list": - return { ...e, snapshot: Jg(e.snapshot, t) }; + return { ...e, snapshot: qd(e.snapshot, t) }; case "forms.import": - return { ...e, result: { ...e.result, fields: e.result.fields.map((a) => sn(a, t)), widgets: i(e.result.widgets) } }; + return { ...e, result: { ...e.result, fields: e.result.fields.map((a) => cn(a, t)), widgets: i(e.result.widgets) } }; case "forms.importValues": - return { ...e, result: { ...e.result, fields: e.result.fields.map((a) => sn(a, t)), widgets: i(e.result.widgets) } }; + return { ...e, result: { ...e.result, fields: e.result.fields.map((a) => cn(a, t)), widgets: i(e.result.widgets) } }; case "forms.setValue": case "forms.createField": case "forms.updateField": case "forms.setSignatureAppearance": case "forms.addWidget": case "forms.detachWidget": - return { ...e, result: { ...e.result, field: sn(e.result.field, t), widgets: i(e.result.widgets) } }; + return { ...e, result: { ...e.result, field: cn(e.result.field, t), widgets: i(e.result.widgets) } }; case "forms.reset": - return { ...e, result: { ...e.result, fields: e.result.fields.map((a) => sn(a, t)), widgets: i(e.result.widgets) } }; + return { ...e, result: { ...e.result, fields: e.result.fields.map((a) => cn(a, t)), widgets: i(e.result.widgets) } }; case "forms.updateWidget": - return { ...e, result: { ...e.result, widget: na(e.result.widget, t) } }; + return { ...e, result: { ...e.result, widget: aa(e.result.widget, t) } }; case "forms.deleteWidget": - return { ...e, result: { ...e.result, field: e.result.field && sn(e.result.field, t) } }; + return { ...e, result: { ...e.result, field: e.result.field && cn(e.result.field, t) } }; default: return e; } } -function MM(e, t) { +function gj(e, t) { switch (e.kind) { case "annotations.create": - return { ...e, draft: kd(e.draft, t(e.page), t) }; + return { ...e, draft: Vo(e.draft, t(e.page), t) }; case "annotations.update": - return { ...e, patch: Ni(e.patch, t(e.ref.page), t) }; + return { ...e, patch: Yi(e.patch, t(e.ref.page), t) }; case "forms.updateWidget": - return { ...e, patch: UA(e.patch, t(e.widget.page), t) }; + return { ...e, patch: $A(e.patch, t(e.widget.page), t) }; case "forms.createField": - return { ...e, draft: jd(e.draft, t) }; + return { ...e, draft: Ud(e.draft, t) }; case "document.apply": case "document.applyChanges": return e; case "forms.addWidget": - return { ...e, placement: Md(e.placement, t) }; + return { ...e, placement: Wd(e.placement, t) }; case "measure.setScale": - return e.measure ? { ...e, measure: Cg(e.measure, t(e.page)) } : e; + return e.measure ? { ...e, measure: Cd(e.measure, t(e.page)) } : e; case "pages.render": - return Ab(e, t); + return Pb(e, t); case "pages.renderEncoded": - return Ab(e, t); + return Pb(e, t); default: return e; } } -function Ab(e, t) { +function Pb(e, t) { let { options: r, ...n } = e; - return r ? { ...n, options: Eh(r, () => t(e.page)) } : n; + return r ? { ...n, options: tk(r, () => t(e.page)) } : n; } -function Eh(e, t) { +function tk(e, t) { let { target: r, ...n } = e; - return r ? { ...n, target: r.kind === "rect" ? Gy(r, t()) : r } : n; + return r ? { ...n, target: r.kind === "rect" ? sE(r, t()) : r } : n; } -function jM(e, t) { +function fj(e, t) { switch (e.type) { case "annotations.import": case "forms.import": case "forms.importValues": return e; + case "annotations.copy": + case "forms.copy": + return e; case "annotations.create": - return { ...e, data: kd(e.data, t(e.page), t) }; + return { ...e, data: Vo(e.data, t(e.page), t) }; case "annotations.update": { let r = t(e.ref.page), { expect: n, ...i } = e; - return { ...i, patch: Ni(e.patch, r, t), ...n ? { expect: Ni(n, r, t) } : {} }; + return { ...i, patch: Yi(e.patch, r, t), ...n ? { expect: Yi(n, r, t) } : {} }; } case "annotations.delete": { let { expect: r, ...n } = e; - return r ? { ...n, expect: Ni(r, t(e.ref.page), t) } : n; + return r ? { ...n, expect: Yi(r, t(e.ref.page), t) } : n; } case "forms.create": - return { ...e, draft: jd(e.draft, t) }; + return { ...e, draft: Ud(e.draft, t) }; case "forms.addWidget": - return { ...e, placement: Md(e.placement, t) }; + return { ...e, placement: Wd(e.placement, t) }; case "forms.updateWidget": { let r = t(e.widget.page), { expect: n, ...i } = e; - return { ...i, patch: UA(e.patch, r, t), ...n ? { expect: UA(n, r, t) } : {} }; + return { ...i, patch: $A(e.patch, r, t), ...n ? { expect: $A(n, r, t) } : {} }; } case "forms.deleteWidget": { let { expect: r, ...n } = e; - return r ? { ...n, expect: UA(r, t(e.widget.page), t) } : n; + return r ? { ...n, expect: $A(r, t(e.widget.page), t) } : n; } + case "pages.setScale": + return e; case "outline.create": - return { ...e, data: Hy(e.data, t) }; + return { ...e, data: uE(e.data, t) }; case "outline.update": { let { expect: r, ...n } = e; - return { ...n, patch: Ls(e.patch, t), ...r ? { expect: Ls(r, t) } : {} }; + return { ...n, patch: Ys(e.patch, t), ...r ? { expect: Ys(r, t) } : {} }; } case "outline.delete": { let { expect: r, ...n } = e; - return r ? { ...n, expect: Ls(r, t) } : n; + return r ? { ...n, expect: Ys(r, t) } : n; } default: return e; } } -function RM(e, t) { - if (Oa(e)) return e; - let r = (i) => jo(i, t(i.page), t), n = (i) => i.map((a) => na(a, t)); +function Fj(e, t) { + if (Ra(e)) return e; + let r = (i) => ja(i, t(i.page), t), n = (i) => i.map((a) => aa(a, t)); switch (e.type) { case "annotations.create": case "annotations.update": @@ -15930,6 +16241,7 @@ function RM(e, t) { case "annotations.restore": return { ...e, annotations: e.annotations.map(r) }; case "annotations.import": + case "annotations.copy": return { ...e, annotations: e.annotations.map(r) }; case "forms.setValue": case "forms.setDisplay": @@ -15940,130 +16252,78 @@ function RM(e, t) { case "forms.restore": case "forms.addWidget": case "forms.removeWidget": - return { ...e, field: sn(e.field, t), widgets: n(e.widgets) }; + return { ...e, field: cn(e.field, t), widgets: n(e.widgets) }; case "forms.reset": case "forms.import": case "forms.importValues": - return { ...e, fields: e.fields.map((i) => sn(i, t)), widgets: n(e.widgets) }; + case "forms.copy": + return { ...e, fields: e.fields.map((i) => cn(i, t)), widgets: n(e.widgets) }; case "forms.updateWidget": - return { ...e, widget: na(e.widget, t) }; + return { ...e, widget: aa(e.widget, t) }; case "forms.deleteWidget": - return { ...e, field: e.field && sn(e.field, t) }; + return { ...e, field: e.field && cn(e.field, t) }; case "forms.restoreWidget": - return { ...e, field: e.field && sn(e.field, t), widgets: n(e.widgets) }; + return { ...e, field: e.field && cn(e.field, t), widgets: n(e.widgets) }; case "outline.create": case "outline.update": - return { ...e, item: Fc(e.item, t) }; + return { ...e, item: yc(e.item, t) }; case "outline.restore": - return { ...e, items: e.items.map((i) => Fc(i, t)) }; + return { ...e, items: e.items.map((i) => yc(i, t)) }; case "pages.rotate": + case "pages.setScale": case "pages.reorder": case "pages.delete": case "pages.insertBlank": case "pages.insert": case "pages.copy": case "pages.restore": - return { ...e, layout: fc(e.layout) }; + return { ...e, layout: Dc(e.layout) }; default: return e; } } -function UA(e, t, r) { - return Ni({ ...e, subtype: "widget" }, t, r); +function $A(e, t, r) { + return Yi({ ...e, subtype: "widget" }, t, r); } -var LM = 128 * 1024 * 1024, TM = class { - constructor(e, t = LM) { - this.runtime = e, this.budgetBytes = t, K(this, "enabled", void 0), K(this, "on", !1), this.enabled = t > 0 && typeof e.fn.EPDF_SetDecodedImageBudget == "function"; +var vj = 128 * 1024 * 1024, Pj = class { + constructor(e, t = vj) { + this.runtime = e, this.budgetBytes = t, N(this, "enabled", void 0), N(this, "on", !1), this.enabled = t > 0 && typeof e.fn.EPDF_SetDecodedImageBudget == "function"; } beginJob(e) { !this.enabled || e === this.on || (this.runtime.fn.EPDF_SetDecodedImageBudget(e ? this.budgetBytes : 0), this.on = e); } -}, KM = "EmbedPDF"; -function NM(e, t, r) { - let n = []; - for (let i = 0; i < e.EPDFPage_CountViewports(r); i++) { - let a = e.EPDFPage_GetViewport(r, i); - if (!a) continue; - let A = N(t, 16, (d) => e.EPDFViewport_GetBBox(a, d) ? Se(bn(t, d)) : void 0); - if (!A) continue; - let o = ue(t, (d, l) => e.EPDFViewport_GetName(a, d, l)), s = Yv(e, t, e.EPDFViewport_GetMeasure(a)); - n.push({ bbox: A, owned: o === "EmbedPDF" && (!s || s.subtype === "rectilinear"), name: o, measure: s ?? null }); - } - return n; -} -var VM = class { +}, hj = class { constructor(e, t) { this.runtime = e, this.session = t; } - async viewports(e, t, r) { + viewports(e, t) { S(t); - let n = this.session.pagePool(), i = await n.acquireInSlices(e, t, r); - try { - return NM(this.runtime.fn, this.runtime.mem, i); - } finally { - n.release(e); - } - } -}, YM = class { - constructor(e, t) { - this.runtime = e, this.session = t; - } - setScale(e, t, r) { - if (S(r), t !== null) try { - Ag(t); - } catch (o) { - throw new f(g.InvalidArg, o.message); - } - let { fn: n, mem: i } = this.runtime, a = this.session.pagePool(), A = a.acquire(e); - try { - let o = []; - for (let d = 0; d < n.EPDFPage_CountViewports(A); d++) { - let l = n.EPDFPage_GetViewport(A, d); - if (!l || ue(i, (F, k) => n.EPDFViewport_GetName(l, F, k)) !== "EmbedPDF") continue; - let m = n.EPDFViewport_GetMeasure(l); - (!m || n.EPDFMeasure_GetSubtype(m) === 1) && o.push(d); - } - let s = N(i, 16, (d) => { - let l = this.session.recordByObjectNumber(e).pageIndex; - return Wo(n, i, this.session.requireDocPtr(), l, d).crop; - }); - if (![s.left, s.right, s.bottom, s.top].every(Number.isFinite)) throw new f(g.InvalidArg, "Invalid calibration box"); - if (S(r), t === null) { - for (let d of o.reverse()) Oe(n.EPDFPage_RemoveViewport(A, d)); - return; - } - N(i, 16, (d) => { - i.poke(d, "f32", s.left), i.poke(d, "f32", s.top, 4), i.poke(d, "f32", s.right, 8), i.poke(d, "f32", s.bottom, 12); - let l = o.length ? n.EPDFPage_GetViewport(A, o[o.length - 1]) : n.EPDFPage_AddViewport(A, d); - Oe(l), Oe(n.EPDFViewport_SetBBox(l, d)), Oe(Ct(i, KM, (m) => n.EPDFViewport_SetName(l, m))), Xv(n, i, n.EPDFViewport_AddMeasure(l), t); - }); - } finally { - a.release(e); - } + let r = this.session.recordByObjectNumber(e).pageIndex; + return Rp(this.runtime.fn, this.runtime.mem, this.session.requireDocPtr(), r); } -}, XM = 1, WM = 2, UM = 3, qM = 4, ZM = 5, QA = class { +}, kj = 1, Bj = 2, Dj = 3, yj = 4, Ej = 5, RA = class { constructor(e, t, r) { this.runtime = e, this.session = t, this.pageObjectNumber = r, r !== void 0 && t.recordByObjectNumber(r); } read(e, t) { - S(t), oc(e); + S(t), uc(e); let { fn: r, mem: n } = this.runtime, i = this.session.requireDocPtr(), a = this.pageObjectNumber; if (!(a === void 0 ? r.EPDFDoc_HasPieceInfoEntry(i, e) : r.EPDFDoc_HasPagePieceInfoEntry(i, a, e))) return null; let A = a === void 0 ? r.EPDFDoc_GetPieceInfoKeyCount(i, e) : r.EPDFDoc_GetPagePieceInfoKeyCount(i, a, e), o = {}; for (let d = 0; d < A; d++) { S(t); - let l = Ke(n, (m, F) => a === void 0 ? r.EPDFDoc_GetPieceInfoKeyAt(i, e, d, m, F) : r.EPDFDoc_GetPagePieceInfoKeyAt(i, a, e, d, m, F)); - l !== null && (o[l] = this.readEntry(e, l)); + let u = Ke(n, (m, F) => a === void 0 ? r.EPDFDoc_GetPieceInfoKeyAt(i, e, d, m, F) : r.EPDFDoc_GetPagePieceInfoKeyAt(i, a, e, d, m, F)); + u !== null && (o[u] = this.readEntry(e, u)); } - let s = ue(n, (d, l) => a === void 0 ? r.EPDFDoc_GetPieceInfoLastModified(i, e, d, l) : r.EPDFDoc_GetPagePieceInfoLastModified(i, a, e, d, l), null); - return { entries: o, modifiedAt: s ? _n(s) : null }; + let s = le(n, (d, u) => a === void 0 ? r.EPDFDoc_GetPieceInfoLastModified(i, e, d, u) : r.EPDFDoc_GetPagePieceInfoLastModified(i, a, e, d, u), null); + return { entries: o, modifiedAt: s ? In(s) : null }; } update(e, t, r) { - S(r), oc(e), zM(t); + S(r), uc(e), Gj(t); let n = Object.keys(t); if (n.length === 0) return; - JM(t, n), S(r); - let { mem: i } = this.runtime, a = dt(/* @__PURE__ */ new Date()), A = i.writeU16String(a); + Cj(t, n), S(r); + let { mem: i } = this.runtime, a = pt(/* @__PURE__ */ new Date()), A = i.writeU16String(a); try { for (let o of n) { let s = t[o]; @@ -16077,28 +16337,28 @@ var VM = class { S(e); let { fn: t, mem: r } = this.runtime, n = this.session.requireDocPtr(), i = this.pageObjectNumber, a = i === void 0 ? t.EPDFDoc_GetPieceInfoEntryCount(n) : t.EPDFDoc_GetPagePieceInfoEntryCount(n, i), A = []; for (let o = 0; o < a; o++) { - let s = Ke(r, (d, l) => i === void 0 ? t.EPDFDoc_GetPieceInfoEntryAt(n, o, d, l) : t.EPDFDoc_GetPagePieceInfoEntryAt(n, i, o, d, l)); + let s = Ke(r, (d, u) => i === void 0 ? t.EPDFDoc_GetPieceInfoEntryAt(n, o, d, u) : t.EPDFDoc_GetPagePieceInfoEntryAt(n, i, o, d, u)); s !== null && A.push(s); } return A; } delete(e, t) { - S(t), oc(e); + S(t), uc(e); let { fn: r } = this.runtime, n = this.session.requireDocPtr(), i = this.pageObjectNumber; if (!(i === void 0 ? r.EPDFDoc_ClearPieceInfoEntry(n, e) : r.EPDFDoc_ClearPagePieceInfoEntry(n, i, e))) throw new f(g.Unknown, `pieceInfo delete rejected for application '${e}'`); } readEntry(e, t) { let { fn: r, mem: n } = this.runtime, i = this.session.requireDocPtr(), a = this.pageObjectNumber; switch (a === void 0 ? r.EPDFDoc_GetPieceInfoValueType(i, e, t) : r.EPDFDoc_GetPagePieceInfoValueType(i, a, e, t)) { - case UM: { - let A = ue(n, (o, s) => a === void 0 ? r.EPDFDoc_GetPieceInfoString(i, e, t, o, s) : r.EPDFDoc_GetPagePieceInfoString(i, a, e, t, o, s), ""); + case Dj: { + let A = le(n, (o, s) => a === void 0 ? r.EPDFDoc_GetPieceInfoString(i, e, t, o, s) : r.EPDFDoc_GetPagePieceInfoString(i, a, e, t, o, s), ""); return A === null ? { type: "unknown" } : { type: "string", value: A }; } - case qM: { + case yj: { let A = Ke(n, (o, s) => a === void 0 ? r.EPDFDoc_GetPieceInfoName(i, e, t, o, s) : r.EPDFDoc_GetPagePieceInfoName(i, a, e, t, o, s)); return A === null ? { type: "unknown" } : { type: "name", value: A }; } - case WM: { + case Bj: { let A = n.alloc(4); try { return (a === void 0 ? r.EPDFDoc_GetPieceInfoNumber(i, e, t, A) : r.EPDFDoc_GetPagePieceInfoNumber(i, a, e, t, A)) ? { type: "number", value: Number(n.peek(A, "f32")) } : { type: "unknown" }; @@ -16106,7 +16366,7 @@ var VM = class { n.free(A); } } - case XM: { + case kj: { let A = n.alloc(4); try { return (a === void 0 ? r.EPDFDoc_GetPieceInfoBoolean(i, e, t, A) : r.EPDFDoc_GetPagePieceInfoBoolean(i, a, e, t, A)) ? { type: "boolean", value: Number(n.peek(A, "i32")) !== 0 } : { type: "unknown" }; @@ -16114,12 +16374,12 @@ var VM = class { n.free(A); } } - case ZM: { + case Ej: { let A = a === void 0 ? r.EPDFDoc_GetPieceInfoStringArrayCount(i, e, t) : r.EPDFDoc_GetPagePieceInfoStringArrayCount(i, a, e, t); if (A < 0) return { type: "unknown" }; let o = []; for (let s = 0; s < A; s++) { - let d = ue(n, (l, m) => a === void 0 ? r.EPDFDoc_GetPieceInfoStringArrayAt(i, e, t, s, l, m) : r.EPDFDoc_GetPagePieceInfoStringArrayAt(i, a, e, t, s, l, m), ""); + let d = le(n, (u, m) => a === void 0 ? r.EPDFDoc_GetPieceInfoStringArrayAt(i, e, t, s, u, m) : r.EPDFDoc_GetPagePieceInfoStringArrayAt(i, a, e, t, s, u, m), ""); if (d === null) return { type: "unknown" }; o.push(d); } @@ -16132,27 +16392,27 @@ var VM = class { writeEntry(e, t, r, n) { let { fn: i, mem: a } = this.runtime, A = this.session.requireDocPtr(), o = this.pageObjectNumber; if (r === null) return o === void 0 ? i.EPDFDoc_ClearPieceInfoKey(A, e, t, n) : i.EPDFDoc_ClearPagePieceInfoKey(A, o, e, t, n); - if (typeof r == "string") return Ct(a, r, (s) => o === void 0 ? i.EPDFDoc_SetPieceInfoString(A, e, t, s, n) : i.EPDFDoc_SetPagePieceInfoString(A, o, e, t, s, n)); + if (typeof r == "string") return Ht(a, r, (s) => o === void 0 ? i.EPDFDoc_SetPieceInfoString(A, e, t, s, n) : i.EPDFDoc_SetPagePieceInfoString(A, o, e, t, s, n)); if (typeof r == "number") return o === void 0 ? i.EPDFDoc_SetPieceInfoNumber(A, e, t, r, n) : i.EPDFDoc_SetPagePieceInfoNumber(A, o, e, t, r, n); if (typeof r == "boolean") return o === void 0 ? i.EPDFDoc_SetPieceInfoBoolean(A, e, t, r, n) : i.EPDFDoc_SetPagePieceInfoBoolean(A, o, e, t, r, n); - if (Array.isArray(r)) return Ai(this.runtime, r, (s, d) => o === void 0 ? i.EPDFDoc_SetPieceInfoStringArray(A, e, t, s, d, n) : i.EPDFDoc_SetPagePieceInfoStringArray(A, o, e, t, s, d, n)); + if (Array.isArray(r)) return di(this.runtime, r, (s, d) => o === void 0 ? i.EPDFDoc_SetPieceInfoStringArray(A, e, t, s, d, n) : i.EPDFDoc_SetPagePieceInfoStringArray(A, o, e, t, s, d, n)); if (typeof r == "object" && r !== null && "name" in r) return o === void 0 ? i.EPDFDoc_SetPieceInfoName(A, e, t, r.name, n) : i.EPDFDoc_SetPagePieceInfoName(A, o, e, t, r.name, n); throw new f(g.Unknown, `unvalidated pieceInfo value for '${t}'`); } }; -function oc(e) { +function uc(e) { if (typeof e != "string" || e.length === 0) throw new f(g.InvalidArg, "pieceInfo application must be non-empty"); } -function zM(e) { +function Gj(e) { if (typeof e != "object" || e === null || Array.isArray(e)) throw new f(g.InvalidArg, "pieceInfo patch must be an object"); } -function JM(e, t) { +function Cj(e, t) { for (let r of t) { if (r.length === 0) throw new f(g.InvalidArg, "pieceInfo keys must be non-empty"); - $M(r, e[r]); + xj(r, e[r]); } } -function $M(e, t) { +function xj(e, t) { if (!(t === null || typeof t == "string" || typeof t == "boolean")) { if (typeof t == "number") { if (!Number.isFinite(t)) throw new f(g.InvalidArg, `pieceInfo number for '${e}' must be finite`); @@ -16169,7 +16429,7 @@ function $M(e, t) { throw new f(g.InvalidArg, `unsupported pieceInfo value for '${e}': string | number | boolean | string[] | { name } | null`); } } -function ej() { +function _j() { if (typeof setImmediate == "function") return () => new Promise((e) => setImmediate(e)); if (typeof MessageChannel == "function") { let e = new MessageChannel(), t = []; @@ -16179,12 +16439,12 @@ function ej() { } return () => new Promise((e) => setTimeout(e, 0)); } -function ob(e) { +function hb(e) { return e.kind === "pages.render" || e.kind === "pages.renderEncoded" || e.kind === "document.renderPageFile" || e.kind === "document.renderPageFileEncoded"; } -var tj = class { +var Hj = class { constructor(e, t, r = {}) { - this.runtime = e, this.post = t, this.options = r, K(this, "sessions", /* @__PURE__ */ new Map()), K(this, "baseDocuments", void 0), K(this, "aborts", /* @__PURE__ */ new Map()), K(this, "fontIds", /* @__PURE__ */ new Map()), K(this, "fonts", void 0), K(this, "residency", void 0), K(this, "decodedImages", void 0), K(this, "slices", void 0), K(this, "busy", !1), K(this, "held", []), K(this, "destroyed", !1), EF(this.runtime), this.baseDocuments = new y2(this.runtime), this.fonts = new jQ(this.runtime, this.fontIds), this.residency = new HF(this.runtime, { ...Qc, budgetBytes: this.options.parsedPageBudgetBytes ?? Qc.budgetBytes }, () => this.busy), this.decodedImages = new TM(this.runtime, this.options.decodedImageBudgetBytes), this.slices = { budgetMs: this.options.sliceMs ?? 8, between: ej() }; + this.runtime = e, this.post = t, this.options = r, N(this, "sessions", /* @__PURE__ */ new Map()), N(this, "baseDocuments", void 0), N(this, "aborts", /* @__PURE__ */ new Map()), N(this, "fontIds", /* @__PURE__ */ new Map()), N(this, "fonts", void 0), N(this, "residency", void 0), N(this, "decodedImages", void 0), N(this, "slices", void 0), N(this, "busy", !1), N(this, "held", []), N(this, "destroyed", !1), WF(this.runtime), this.baseDocuments = new J2(this.runtime), this.fonts = new dS(this.runtime, this.fontIds), this.residency = new JF(this.runtime, { ...Tc, budgetBytes: this.options.parsedPageBudgetBytes ?? Tc.budgetBytes }, () => this.busy), this.decodedImages = new Pj(this.runtime, this.options.decodedImageBudgetBytes), this.slices = { budgetMs: this.options.sliceMs ?? 8, between: _j() }; } registerStartupFonts(e) { this.fonts.registerStartup(e); @@ -16205,7 +16465,7 @@ var tj = class { this.run(e); } setWorkingSet(e) { - let t = this.sessions.get(kt(e.docId, e.layerName)); + let t = this.sessions.get(Dt(e.docId, e.layerName)); t?.isOpen() && t.pagePool().setWorkingSet(e.view, e.pages.map(({ page: r, role: n, pixels: i }) => ({ pageObjectNumber: r.objectNumber, role: n, pixels: i }))); } abort(e) { @@ -16215,8 +16475,8 @@ var tj = class { return; } this.held.splice(t, 1); - let r = Ar(new bg("aborted before it ran")); - this.post(L({ kind: "reject", jobId: e, error: r }, Or)); + let r = or(new Hg("aborted before it ran")); + this.post(L({ kind: "reject", jobId: e, error: r }, Rr)); } drain() { for (; !this.busy; ) { @@ -16227,18 +16487,18 @@ var tj = class { } takeHeld() { let e = this.held[0]; - if (!e || !ob(e)) return this.held.shift(); + if (!e || !hb(e)) return this.held.shift(); let t = 0, r = e; for (let n = 1; n < this.held.length; n++) { let i = this.held[n]; - if (!ob(i)) break; + if (!hb(i)) break; this.pageIsKept(i) && !this.pageIsKept(r) && (t = n, r = i); } return this.held.splice(t, 1), r; } pageIsKept(e) { if (!("docId" in e)) return !1; - let t = this.sessions.get(kt(e.docId, e.layerName)); + let t = this.sessions.get(Dt(e.docId, e.layerName)); if (!t) return !1; try { return t.pagePool().isKept(t.resolvePageRef(e.page).pageObjectNumber); @@ -16247,13 +16507,13 @@ var tj = class { } } run(e) { - let t = rj(e); + let t = Qj(e); this.closePagesChangedBy(e, t), this.decodedImages.beginJob(t === "none"); let r; try { - r = MM(e, this.visibleBoxesFor(e)); + r = gj(e, this.visibleBoxesFor(e)); } catch (o) { - this.post(L({ kind: "reject", jobId: e.jobId, error: Ar(o) }, Or)); + this.post(L({ kind: "reject", jobId: e.jobId, error: or(o) }, Rr)); return; } let n = this.slicedWork(r); @@ -16267,9 +16527,9 @@ var tj = class { try { if (this.assertNoPendingSigning(r), this.options.reportEveryFontChange) { let o = this.sessionWrittenBy(r); - o && hw(this.runtime, o); + o && jw(this.runtime, o); } - switch (A && SA(r) && A.beginTransaction(r.opId), this.writingSession(r)?.clearMissingCharacters(), A && "objectNumberFloor" in r && r.objectNumberFloor !== void 0 && A.raiseLastObjectNumber(r.objectNumberFloor - 1), r.kind) { + switch (A && LA(r) && A.beginTransaction(r.opId), this.writingSession(r)?.clearMissingCharacters(), A && "objectNumberFloor" in r && r.objectNumberFloor !== void 0 && A.raiseLastObjectNumber(r.objectNumberFloor - 1), r.kind) { case "open.fatMem": case "open.layerMemBase": case "open.layerFileBase": @@ -16515,25 +16775,25 @@ var tj = class { A?.inTransaction() && A.commitTransaction(), this.resolve(r, a); } catch (o) { A?.inTransaction() && A.abortTransaction(); - let s = Ar(o); - this.post(L({ kind: "reject", jobId: r.jobId, error: s }, Or)); + let s = or(o); + this.post(L({ kind: "reject", jobId: r.jobId, error: s }, Rr)); } finally { this.aborts.delete(r.jobId), this.closePagesChangedBy(e, t); } } writingSession(e) { - if (!SA(e) || !("docId" in e)) return; - let t = "layerName" in e ? e.layerName : void 0, r = this.sessions.get(kt(e.docId, t)); + if (!LA(e) || !("docId" in e)) return; + let t = "layerName" in e ? e.layerName : void 0, r = this.sessions.get(Dt(e.docId, t)); return r?.isOpen() ? r : void 0; } sessionWrittenBy(e) { if (!("docId" in e) || e.effect !== "write" && e.effect !== "contentWrite") return; - let t = "layerName" in e ? e.layerName : void 0, r = this.sessions.get(kt(e.docId, t)); + let t = "layerName" in e ? e.layerName : void 0, r = this.sessions.get(Dt(e.docId, t)); return r?.isOpen() ? r : void 0; } transactedSession(e) { - if (!SA(e)) return; - let t = "layerName" in e ? e.layerName : void 0, r = this.sessions.get(kt(e.docId, t)); + if (!LA(e)) return; + let t = "layerName" in e ? e.layerName : void 0, r = this.sessions.get(Dt(e.docId, t)); if (!(!r?.isOpen() || r.kind !== "layer")) return r.assertUsable(), r; } closePagesChangedBy(e, t) { @@ -16543,23 +16803,23 @@ var tj = class { } if (t !== "document" || !("docId" in e)) return; let r = "layerName" in e ? e.layerName : void 0; - this.sessions.get(kt(e.docId, r))?.pagePool().closeIdle(); + this.sessions.get(Dt(e.docId, r))?.pagePool().closeIdle(); } resolve(e, t) { - let r = OM(t.payload, this.visibleBoxesFor(e)); + let r = bj(t.payload, this.visibleBoxesFor(e)); this.post(L({ kind: "resolve", jobId: e.jobId, result: r }, t.transfer)); } visibleBoxesFor(e) { let t = null; return (r) => { if (!("docId" in e)) throw new f(g.InvalidArg, `${e.kind} has no document`); - return t ?? (t = cr(this.runtime, this.requireSession(e))), t(r); + return t ?? (t = xn(this.runtime, this.requireSession(e))), t(r); }; } handleOpen(e) { - let t = kt(e.docId, e.kind === "open.fatMem" ? void 0 : e.layerName); + let t = Dt(e.docId, e.kind === "open.fatMem" ? void 0 : e.layerName); if (this.sessions.has(t)) throw new f(g.InvalidArg, `document session already open: ${t}`); - let r = new Sc(this.runtime); + let r = new Kc(this.runtime); r.residency = this.residency, r.signedDocumentPolicy = e.signedDocumentPolicy ?? "protect", r.password = e.password, r.objectNumberAuthority = e.objectNumbers ?? "session"; let n; if (e.kind === "open.fatMem") { @@ -16581,13 +16841,13 @@ var tj = class { try { n(e.password); } catch (i) { - if (!pj(i)) throw i; - return r.parkLocked(n), this.sessions.set(t, r), L({ tag: "open", docId: e.docId, security: lj(), ...e.password ? { passwordRejected: !0 } : {} }); + if (!Kj(i)) throw i; + return r.parkLocked(n), this.sessions.set(t, r), L({ tag: "open", docId: e.docId, security: Nj(), ...e.password ? { passwordRejected: !0 } : {} }); } - return this.sessions.set(t, r), L({ tag: "open", docId: e.docId, security: new ac(this.runtime).checkPasswordPermissions(r, e.password ?? ""), protection: this.probeProtection(r), ...e.reserveObjectNumbers ? { objectNumbers: r.reserveObjectNumbers(e.reserveObjectNumbers) } : {}, lastObjectNumber: r.lastObjectNumber() }); + return this.sessions.set(t, r), L({ tag: "open", docId: e.docId, security: new dc(this.runtime).checkPasswordPermissions(r, e.password ?? ""), protection: this.probeProtection(r), ...e.reserveObjectNumbers ? { objectNumbers: r.reserveObjectNumbers(e.reserveObjectNumbers) } : {}, lastObjectNumber: r.lastObjectNumber() }); } openBytesAsLayer(e, t, r) { - let n = this.baseDocuments.acquireMemoryBase({ key: `bytes-open:${ja()}`, bytes: t, password: r }); + let n = this.baseDocuments.acquireMemoryBase({ key: `bytes-open:${Ta()}`, bytes: t, password: r }); e.openFromHandle(dn(this.runtime, n, { kind: "fresh" }, r)), e.persistLayerArtifact = !1; } probeProtection(e) { @@ -16599,7 +16859,7 @@ var tj = class { } handleSignaturesList(e) { let t = this.requireSession(e); - return L({ tag: "signatures.list", snapshot: e.workingCopy ? new rb(this.runtime, t).readWorkingCopySnapshot() : new nt(this.runtime, t).readSnapshot() }); + return L({ tag: "signatures.list", snapshot: e.workingCopy ? new fb(this.runtime, t).readWorkingCopySnapshot() : new nt(this.runtime, t).readSnapshot() }); } handleSignaturesContents(e) { let t = this.requireSession(e), r = new nt(this.runtime, t).readContents(e.ref); @@ -16619,62 +16879,62 @@ var tj = class { } handleSignaturesPrepare(e) { let t = this.requireSession(e); - return L({ tag: "signatures.prepare", result: new Ac(this.runtime, t, this.baseDocuments, this.options.signingCandidatePath).prepare(e.input, e.authority) }); + return L({ tag: "signatures.prepare", result: new pc(this.runtime, t, this.baseDocuments, this.options.signingCandidatePath).prepare(e.input, e.authority) }); } handleSignaturesComplete(e) { - let t = this.requireSession(e), r = new Ac(this.runtime, t, this.baseDocuments, this.options.signingCandidatePath).complete(e.input, e.opId, e.authority); + let t = this.requireSession(e), r = new pc(this.runtime, t, this.baseDocuments, this.options.signingCandidatePath).complete(e.input, e.opId, e.authority); return r.status === "already-completed" ? L({ tag: "signatures.complete", result: r }) : this.finishMutation(t, { tag: "signatures.complete", result: r }, e.artifactPath); } handleSignaturesAnalyze(e) { let t = this.requireSession(e); - return L({ tag: "signatures.analyze", analysis: new rb(this.runtime, t).analyze(e.input) }); + return L({ tag: "signatures.analyze", analysis: new fb(this.runtime, t).analyze(e.input) }); } handleSignaturesFinalizeCandidate(e) { - return L({ tag: "signatures.finalizeCandidate", ...new PM(this.runtime, this.baseDocuments).finalize({ path: e.path, byteRange: e.byteRange, contentsSizeBytes: e.contentsSizeBytes, fieldObjectNumber: e.fieldObjectNumber, cms: new Uint8Array(e.cms), password: e.password ?? null }) }); + return L({ tag: "signatures.finalizeCandidate", ...new tj(this.runtime, this.baseDocuments).finalize({ path: e.path, byteRange: e.byteRange, contentsSizeBytes: e.contentsSizeBytes, fieldObjectNumber: e.fieldObjectNumber, cms: new Uint8Array(e.cms), password: e.password ?? null }) }); } handleSignaturesCancel(e) { let t = this.requireSession(e); - return L({ tag: "signatures.cancel", result: new Ac(this.runtime, t, this.baseDocuments, this.options.signingCandidatePath).cancel(e.signingId) }); + return L({ tag: "signatures.cancel", result: new pc(this.runtime, t, this.baseDocuments, this.options.signingCandidatePath).cancel(e.signingId) }); } assertNoPendingSigning(e) { - if (!SA(e)) return; - let t = "layerName" in e ? e.layerName : void 0, r = this.sessions.get(kt(e.docId, t)); + if (!LA(e)) return; + let t = "layerName" in e ? e.layerName : void 0, r = this.sessions.get(Dt(e.docId, t)); if (r?.pendingSigning) throw new f(g.SigningPending, `a signing is pending (${r.pendingSigning.prepared.signingId}); complete or cancel it before mutating the document`); } handleMetadataRead(e, t) { let r = this.requireSession(e); - return L({ tag: "metadata.read", metadata: new wr(this.runtime, r).read(t) }); + return L({ tag: "metadata.read", metadata: new br(this.runtime, r).read(t) }); } handleMetadataUpdate(e, t) { - let r = this.requireSession(e), { type: n, skipped: i, ...a } = this.applyOne(r, e.opId, { type: "metadata.update", patch: e.patch }, Mt(), t); + let r = this.requireSession(e), { type: n, skipped: i, ...a } = this.applyOne(r, e.opId, { type: "metadata.update", patch: e.patch }, jt(), t); return this.finishMutation(r, { tag: "metadata.update", result: a }, e.artifactPath); } handleMetadataReadCustom(e, t) { let r = this.requireSession(e); - return L({ tag: "metadata.readCustom", custom: new wr(this.runtime, r).readCustom(t) }); + return L({ tag: "metadata.readCustom", custom: new br(this.runtime, r).readCustom(t) }); } handleMetadataUpdateCustom(e, t) { - let r = this.requireSession(e), { type: n, skipped: i, ...a } = this.applyOne(r, e.opId, { type: "metadata.updateCustom", patch: e.patch }, Mt(), t); + let r = this.requireSession(e), { type: n, skipped: i, ...a } = this.applyOne(r, e.opId, { type: "metadata.updateCustom", patch: e.patch }, jt(), t); return this.finishMutation(r, { tag: "metadata.updateCustom", result: a }, e.artifactPath); } handleActionsRead(e, t) { let r = this.requireSession(e); - return L({ tag: "actions.read", snapshot: new QM(this.runtime, r).read(t) }); + return L({ tag: "actions.read", snapshot: new mj(this.runtime, r).read(t) }); } handleOutlineRead(e, t) { let r = this.requireSession(e); - return L({ tag: "outline.read", outline: new mh(this.runtime, r).read(t) }); + return L({ tag: "outline.read", outline: new jh(this.runtime, r).read(t) }); } handleAnnotationsList(e, t) { let r = this.requireSession(e), n = e.pages?.map((i) => r.resolvePageRef(i).pageObjectNumber); - return L({ tag: "annotations.list", list: new os(this.runtime, r, this.fonts).list(n, t, "annotations") }); + return L({ tag: "annotations.list", list: new us(this.runtime, r, this.fonts).list(n, t, "annotations") }); } async handleAnnotationsRenderAppearances(e, t) { - let r = this.requireSession(e), n = r.resolvePageRef(e.page).pageObjectNumber, i = await new Y4(this.runtime, r).render(n, e.family, e.options ?? {}, t, this.slices), a = i.appearances.map((A) => A.raster.data); + let r = this.requireSession(e), n = r.resolvePageRef(e.page).pageObjectNumber, i = await new gI(this.runtime, r).render(n, e.family, e.options ?? {}, t, this.slices), a = i.appearances.map((A) => A.raster.data); return L({ tag: "annotations.renderAppearances", page: e.page, result: i }, a); } handleAnnotationsCreate(e, t) { - let r = this.requireSession(e), { type: n, page: i, ...a } = this.applyOne(r, e.opId, { type: "annotations.create", page: e.page, data: e.draft, ...e.resources ? { resources: e.resources } : {}, ...e.objectNumber !== void 0 ? { objectNumber: e.objectNumber } : {} }, Mt(e.actor), t); + let r = this.requireSession(e), { type: n, page: i, ...a } = this.applyOne(r, e.opId, { type: "annotations.create", page: e.page, data: e.draft, ...e.resources ? { resources: e.resources } : {}, ...e.objectNumber !== void 0 ? { objectNumber: e.objectNumber } : {} }, jt(e.actor), t); return this.finishMutation(r, { tag: "annotations.create", result: a }, e.artifactPath); } handleAnnotationsUpdate(e, t) { @@ -16686,23 +16946,23 @@ var tj = class { return this.finishMutation(r, { tag: "annotations.delete", result: a }, e.artifactPath); } handleAnnotationsFlatten(e, t) { - let r = this.requireSession(e), n = r.resolvePageRef(e.page).pageObjectNumber, i = new Js(this.runtime, r).flatten(n, e.refs, e.usage, t), a = i.meta.affectedPages.length > 0; + let r = this.requireSession(e), n = r.resolvePageRef(e.page).pageObjectNumber, i = new rc(this.runtime, r).flatten(n, e.refs, e.usage, t), a = i.meta.affectedPages.length > 0; return a ? this.finishMutation(r, { tag: "annotations.flatten", result: i, wrote: a }, e.artifactPath) : L({ tag: "annotations.flatten", result: i, wrote: a }); } handleAnnotationsExportAppearance(e, t) { - let r = this.requireSession(e), n = r.resolvePageRef(e.page).pageObjectNumber, i = new Js(this.runtime, r).exportAppearance(n, e.refs, t); + let r = this.requireSession(e), n = r.resolvePageRef(e.page).pageObjectNumber, i = new rc(this.runtime, r).exportAppearance(n, e.refs, t); return L({ tag: "annotations.exportAppearance", bytes: i.bytes, size: i.size }, [i.bytes]); } handleAnnotationsExport(e, t) { - let r = this.requireSession(e), n = new UQ(this.runtime, r, this.fonts).export(e.selection, e.limits ?? Ii, t); + let r = this.requireSession(e), n = new vS(this.runtime, r, this.fonts).export(e.selection, e.limits ?? jr, t); return L({ tag: "annotations.export", bundle: n }, Object.values(n.resources)); } handleAnnotationsImport(e, t) { - let r = this.requireSession(e), { type: n, ...i } = this.applyOne(r, e.opId, { type: "annotations.import", bundle: e.bundle, ...e.pages !== void 0 ? { pages: e.pages } : {}, attribution: e.attribution, ...e.actor ? { actor: e.actor } : {}, limits: e.limits ?? Ii }, Mt(e.actor), t); + let r = this.requireSession(e), { type: n, ...i } = this.applyOne(r, e.opId, { type: "annotations.import", bundle: e.bundle, ...e.pages !== void 0 ? { pages: e.pages } : {}, attribution: e.attribution, ...e.actor ? { actor: e.actor } : {}, limits: e.limits ?? jr }, jt(e.actor), t); return i.annotations.length === 0 ? L({ tag: "annotations.import", result: i }) : this.finishMutation(r, { tag: "annotations.import", result: i }, e.artifactPath); } handleAnnotationsReadAppearance(e, t) { - let r = this.requireSession(e), n = r.resolvePageRef(e.page).pageObjectNumber, i = new Js(this.runtime, r).readAppearance(n, e.ref, t); + let r = this.requireSession(e), n = r.resolvePageRef(e.page).pageObjectNumber, i = new rc(this.runtime, r).readAppearance(n, e.ref, t); return L({ tag: "annotations.readAppearance", bytes: i.bytes, size: i.size }, [i.bytes]); } handleAnnotationsReorder(e, t) { @@ -16711,59 +16971,59 @@ var tj = class { } handleDocumentApply(e, t) { let r = this.requireSession(e); - uj(e.change); - let n = Fm(e.change), i = Mi(r).outcome(e.opId); + Vj(e.change); + let n = Sm(e.change), i = Ri(r).outcome(e.opId); if (i) return L({ tag: "document.apply", result: this.replayed(i, n, e.opId), replayed: !0 }); let a = this.recorded(r, e.opId, n, () => this.runChange(r, e, t)), A = { tag: "document.apply", result: a, replayed: !1 }; - return a.items.some(em) ? this.finishMutation(r, A, e.artifactPath) : L(A); + return a.items.some(bm) ? this.finishMutation(r, A, e.artifactPath) : L(A); } applyOne(e, t, r, n, i) { - let a = { ops: [r] }, A = Mi(e), o = Fm(a), s = A.outcome(t), d; - s ? d = this.replayed(s, o, t) : d = this.recorded(e, t, o, () => new rc(this.runtime, e, this.fonts).apply(a.ops, n, i, qO)); - let l = d.items[0]; - if (!l || Oa(l)) throw new f(g.Unknown, `${r.type} wrote nothing`); - return l; + let a = { ops: [r] }, A = Ri(e), o = Sm(a), s = A.outcome(t), d; + s ? d = this.replayed(s, o, t) : d = this.recorded(e, t, o, () => new sc(this.runtime, e, this.fonts).apply(a.ops, n, i, CM)); + let u = d.items[0]; + if (!u || Ra(u)) throw new f(g.Unknown, `${r.type} wrote nothing`); + return u; } replayed(e, t, r) { if (e.fingerprint !== t) throw new f(g.IdempotencyKeyReused, `opId ${r} already answered a different change`); - if (e.kind === "refused") throw dD(e.error); + if (e.kind === "refused") throw RD(e.error); return e.result; } recorded(e, t, r, n) { - let i = Mi(e); + let i = Ri(e); try { - let a = n(), A = cb(e, a); + let a = n(), A = Bb(e, a); return i.keepApplied(t, r, A, A.meta.undoable ? a.record : null), A; } catch (a) { - throw f.is(a) && fm(a.code) && i.keepRefused(t, r, Ar(a)), a; + throw f.is(a) && Qm(a.code) && i.keepRefused(t, r, or(a)), a; } } handleDocumentApplyChanges(e, t) { let r = this.requireSession(e); r.assertUsable(), e.objectNumberFloor !== void 0 && r.raiseLastObjectNumber(e.objectNumberFloor - 1); - let n = new rc(this.runtime, r, this.fonts), i = this.pageSpaceOf(r), a = /* @__PURE__ */ new Map(), A = []; + let n = new sc(this.runtime, r, this.fonts, e.limits), i = this.pageSpaceOf(r), a = /* @__PURE__ */ new Map(), A = []; for (let s of e.changes) { r.beginTransaction(s.opId); try { - let d = aj(n, s, a, t, i), l = cb(r, d); + let d = Oj(n, s, a, t, i), u = Bb(r, d); r.commitTransaction(); - let m = l.meta.undoable ? d.record : null; - a.set(s.opId, m), A.push({ opId: s.opId, status: "applied", result: l, record: m }); + let m = u.meta.undoable ? d.record : null; + a.set(s.opId, m), A.push({ opId: s.opId, status: "applied", result: u, record: m }); } catch (d) { - if (r.inTransaction() && r.abortTransaction(), !f.is(d) || !fm(d.code)) throw d; - a.set(s.opId, null), A.push({ opId: s.opId, status: "refused", error: Ar(d) }); + if (r.inTransaction() && r.abortTransaction(), !f.is(d) || !Qm(d.code)) throw d; + a.set(s.opId, null), A.push({ opId: s.opId, status: "refused", error: or(d) }); } } let o = { tag: "document.applyChanges", outcomes: A }; - return A.some((s) => s.status === "applied" && s.result.items.some(em)) ? this.finishMutation(r, o, e.artifactPath) : L(o); + return A.some((s) => s.status === "applied" && s.result.items.some(bm)) ? this.finishMutation(r, o, e.artifactPath) : L(o); } pageSpaceOf(e) { - return { opInFileSpace: (t) => jM(t, cr(this.runtime, e)), itemOut: (t) => RM(t, cr(this.runtime, e)) }; + return { opInFileSpace: (t) => fj(t, xn(this.runtime, e)), itemOut: (t) => Fj(t, xn(this.runtime, e)) }; } runChange(e, t, r) { - let n = new rc(this.runtime, e, this.fonts), i = this.pageSpaceOf(e), a = t.authority.identity.userId ?? null; - if (!Gd(t.change)) return n.apply(t.change.ops, t.authority, r, i); - let A = Mi(e).record(t.change.undoOf); + let n = new sc(this.runtime, e, this.fonts), i = this.pageSpaceOf(e), a = t.authority.identity.userId ?? null; + if (!Od(t.change)) return n.apply(t.change.ops, t.authority, r, i); + let A = Ri(e).record(t.change.undoOf); if (!A || "unavailable" in A) throw new f(g.UndoUnavailable, `change ${t.change.undoOf} can no longer be undone`, { details: { reason: A ? A.unavailable : "expired" } }); if (!A.record) return { items: [], record: { userId: a, steps: [] } }; if (A.record.userId !== null && A.record.userId !== a) throw new mn("changes:undo", "target"); @@ -16771,94 +17031,94 @@ var tj = class { } handlePagesList(e, t) { let r = this.requireSession(e); - return L({ tag: "pages.list", snapshot: new cn(this.runtime, r).read(t) }); + return L({ tag: "pages.list", snapshot: new Ct(this.runtime, r).read(t) }); } handlePagesSetName(e, t) { - let r = this.requireSession(e), n = new jc(this.runtime, r).setName({ name: e.name, page: e.page, ...e.replace !== void 0 ? { replace: e.replace } : {} }, t); + let r = this.requireSession(e), n = new Wc(this.runtime, r).setName({ name: e.name, page: e.page, ...e.replace !== void 0 ? { replace: e.replace } : {} }, t); return this.finishMutation(r, { tag: "pages.setName", result: n }, e.artifactPath); } handlePagesRemoveName(e, t) { - let r = this.requireSession(e), n = new jc(this.runtime, r).removeName({ name: e.name }, t); + let r = this.requireSession(e), n = new Wc(this.runtime, r).removeName({ name: e.name }, t); return this.finishMutation(r, { tag: "pages.removeName", result: n }, e.artifactPath); } handlePagesFlatten(e, t) { - let r = this.requireSession(e), n = new Zx(this.runtime, r).flatten(e.pages, e.usage, t), i = n.meta.affectedPages.length > 0; + let r = this.requireSession(e), n = new h_(this.runtime, r).flatten(e.pages, e.usage, t), i = n.meta.affectedPages.length > 0; return i ? this.finishMutation(r, { tag: "pages.flatten", result: n, wrote: i }, e.artifactPath) : L({ tag: "pages.flatten", result: n, wrote: i }); } handleRedactionApply(e, t) { - let r = this.requireSession(e), n = new e_(this.runtime, r).apply(e.scope, t), i = n.meta.affectedPages.length > 0; + let r = this.requireSession(e), n = new y_(this.runtime, r).apply(e.scope, t), i = n.meta.affectedPages.length > 0; return i ? this.finishMutation(r, { tag: "redaction.apply", result: n, wrote: i }, e.artifactPath) : L({ tag: "redaction.apply", result: n, wrote: i }); } handlePagesExtract(e, t) { - let r = this.requireSession(e), n = new Nx(this.runtime, r).extract(e.pages, e.flatten, t); + let r = this.requireSession(e), n = new w_(this.runtime, r).extract(e.pages, e.flatten, t); return L({ tag: "pages.extract", bytes: n.bytes, size: n.size }, [n.bytes]); } handleDocumentFontsList(e) { let t = this.requireSession(e); - return hw(this.runtime, t), L({ tag: "document.fonts.list", facts: new zs(this.runtime, t, this.fonts).facts() }); + return jw(this.runtime, t), L({ tag: "document.fonts.list", facts: new nc(this.runtime, t, this.fonts).facts() }); } handleDocumentFontsResolve(e) { - let t = new zs(this.runtime, this.requireSession(e), this.fonts), r = t.facts(), { runs: n, missingCharacters: i } = t.resolve(e.annotation, e.runs, r); + let t = new nc(this.runtime, this.requireSession(e), this.fonts), r = t.facts(), { runs: n, missingCharacters: i } = t.resolve(e.annotation, e.runs, r); return L({ tag: "document.fonts.resolve", runs: n, missingCharacters: i, facts: r }); } handleDocumentFontsProgram(e) { - let t = new zs(this.runtime, this.requireSession(e), this.fonts).program(e.displaySha256, e.part === "data"), r = t.bytes ? t.bytes.buffer.slice(t.bytes.byteOffset, t.bytes.byteOffset + t.bytes.byteLength) : null; + let t = new nc(this.runtime, this.requireSession(e), this.fonts).program(e.displaySha256, e.part === "data"), r = t.bytes ? t.bytes.buffer.slice(t.bytes.byteOffset, t.bytes.byteOffset + t.bytes.byteLength) : null; return L({ tag: "document.fonts.program", covers: t.covers, ascent: t.ascent, descent: t.descent, bytes: r }, r ? [r] : []); } handleAttachmentsList(e, t) { let r = this.requireSession(e); - return L({ tag: "attachments.list", attachments: new $s(this.runtime, r).list(t) }); + return L({ tag: "attachments.list", attachments: new ic(this.runtime, r).list(t) }); } handleAttachmentsReadFile(e, t) { - let r = this.requireSession(e), n = new $s(this.runtime, r).readFile(e.ref, e.path, e.maxDecodedBytes, t); + let r = this.requireSession(e), n = new ic(this.runtime, r).readFile(e.ref, e.path, e.maxDecodedBytes, t); return L({ tag: "attachments.readFile", content: n }, n.bytes !== void 0 ? [n.bytes] : []); } async handleAnnotationsReadFile(e, t) { - let r = this.requireSession(e), n = await new $s(this.runtime, r).readAnnotationFile(r.resolvePageRef(e.page).pageObjectNumber, e.ref, e.path, e.maxDecodedBytes, t, this.slices); + let r = this.requireSession(e), n = await new ic(this.runtime, r).readAnnotationFile(r.resolvePageRef(e.page).pageObjectNumber, e.ref, e.path, e.maxDecodedBytes, t, this.slices); return L({ tag: "annotations.readFile", content: n }, n.bytes !== void 0 ? [n.bytes] : []); } async handleMeasureViewports(e, t) { - let r = this.requireSession(e), n = await new VM(this.runtime, r).viewports(r.resolvePageRef(e.page).pageObjectNumber, t, this.slices); + let r = this.requireSession(e), n = new hj(this.runtime, r).viewports(r.resolvePageRef(e.page).pageObjectNumber, t); return L({ tag: "measure.viewports", page: e.page, viewports: n }); } handleMeasureSetScale(e, t) { let r = this.requireSession(e); - return new YM(this.runtime, r).setScale(r.resolvePageRef(e.page).pageObjectNumber, e.measure, t), this.finishMutation(r, { tag: "measure.setScale", result: { page: e.page, meta: { affectedPages: [], cacheDelta: null, ...r.writeStamp() } } }, e.artifactPath); + return new qh(this.runtime, r).setScale(r.resolvePageRef(e.page).pageObjectNumber, e.measure, t), this.finishMutation(r, { tag: "measure.setScale", result: { page: e.page, layout: new Ct(this.runtime, r).read(t), meta: { affectedPages: [], cacheDelta: null, ...r.writeStamp() } } }, e.artifactPath); } handlePieceInfoRead(e, t) { let r = this.requireSession(e); - return L({ tag: "pieceInfo.read", snapshot: new QA(this.runtime, r, e.page ? r.resolvePageRef(e.page).pageObjectNumber : void 0).read(e.application, t) }); + return L({ tag: "pieceInfo.read", snapshot: new RA(this.runtime, r, e.page ? r.resolvePageRef(e.page).pageObjectNumber : void 0).read(e.application, t) }); } handlePieceInfoUpdate(e, t) { - let r = this.requireSession(e), n = new QA(this.runtime, r, e.page ? r.resolvePageRef(e.page).pageObjectNumber : void 0); + let r = this.requireSession(e), n = new RA(this.runtime, r, e.page ? r.resolvePageRef(e.page).pageObjectNumber : void 0); n.update(e.application, e.patch, t); let i = { pieceInfo: n.read(e.application, t), meta: { affectedPages: [], cacheDelta: null, ...r.writeStamp() } }; return this.finishMutation(r, { tag: "pieceInfo.update", result: i }, e.artifactPath); } handlePieceInfoApplications(e, t) { let r = this.requireSession(e); - return L({ tag: "pieceInfo.applications", applications: new QA(this.runtime, r, e.page ? r.resolvePageRef(e.page).pageObjectNumber : void 0).applications(t) }); + return L({ tag: "pieceInfo.applications", applications: new RA(this.runtime, r, e.page ? r.resolvePageRef(e.page).pageObjectNumber : void 0).applications(t) }); } handlePieceInfoDelete(e, t) { let r = this.requireSession(e); - new QA(this.runtime, r, e.page ? r.resolvePageRef(e.page).pageObjectNumber : void 0).delete(e.application, t); + new RA(this.runtime, r, e.page ? r.resolvePageRef(e.page).pageObjectNumber : void 0).delete(e.application, t); let n = { meta: { affectedPages: [], cacheDelta: null, ...r.writeStamp() } }; return this.finishMutation(r, { tag: "pieceInfo.delete", result: n }, e.artifactPath); } async handlePagesText(e, t) { - let r = this.requireSession(e), n = new VF(this.runtime, r), i = r.resolvePageRef(e.page).pageObjectNumber; + let r = this.requireSession(e), n = new mv(this.runtime, r), i = r.resolvePageRef(e.page).pageObjectNumber; return L({ tag: "pages.text", snapshot: await n.read(i, t, this.slices) }); } async handlePagesGeometry(e, t) { - let r = this.requireSession(e), n = new XF(this.runtime, r), i = r.resolvePageRef(e.page).pageObjectNumber, a = await n.read(i, t, this.slices); + let r = this.requireSession(e), n = new bv(this.runtime, r), i = r.resolvePageRef(e.page).pageObjectNumber, a = await n.read(i, t, this.slices); return L({ tag: "pages.geometry", page: e.page, snapshot: a }); } async handleSearchQuery(e, t) { let r = this.requireSession(e); - return L({ tag: "search.query", slice: await new HM(this.runtime, r).query(e.request, t, this.slices) }); + return L({ tag: "search.query", slice: await new uj(this.runtime, r).query(e.request, t, this.slices) }); } async handlePagesRender(e, t) { - let r = this.requireSession(e), { raster: n, area: i } = await new ew(this.runtime, r).render(r.resolvePageRef(e.page).pageObjectNumber, e.options ?? {}, t, this.slices); + let r = this.requireSession(e), { raster: n, area: i } = await new bw(this.runtime, r).render(r.resolvePageRef(e.page).pageObjectNumber, e.options ?? {}, t, this.slices); return L({ tag: "pages.render", page: e.page, area: i, raster: n }, [n.data]); } slicedWork(e) { @@ -16891,7 +17151,7 @@ var tj = class { } async runSliced(e, t, r, n) { if (n.encode && !this.options.imageEncoder) { - this.post(L({ kind: "reject", jobId: t.jobId, error: cj() }, Or)); + this.post(L({ kind: "reject", jobId: t.jobId, error: Lj() }, Rr)); return; } let i = new AbortController(); @@ -16905,14 +17165,14 @@ var tj = class { } this.resolve(t, n.encode ? await n.encode(a, i.signal) : a); } catch (a) { - this.post(L({ kind: "reject", jobId: t.jobId, error: Ar(a) }, Or)); + this.post(L({ kind: "reject", jobId: t.jobId, error: or(a) }, Rr)); } finally { this.aborts.delete(t.jobId), this.closePagesChangedBy(e, r); } } async encodeRaster(e, t, r) { let n = this.options.imageEncoder; - if (!n) throw new f(g.NotImplemented, Gh); + if (!n) throw new f(g.NotImplemented, nk); let { bytes: i, mimeType: a } = await n.encode(e, t); if (r.aborted) throw new f(g.Aborted, "aborted during image encode"); return { mimeType: a, width: e.width, height: e.height, bytes: i }; @@ -16943,40 +17203,40 @@ var tj = class { handleDocumentSaveBuffer(e) { let t = this.requireSession(e); if (this.assertRewriteKeepsSignatures(t, e.mode), e.mode === "incremental") { - let n = new Bn(this.runtime, t).snapshot(); + let n = new Dn(this.runtime, t).snapshot(); return L({ tag: "document.saveBuffer", bytes: n.bytes, size: n.bytes.byteLength }, [n.bytes]); } - let r = new Bn(this.runtime, t).saveStandaloneToBuffer(e.mode); + let r = new Dn(this.runtime, t).saveStandaloneToBuffer(e.mode); return L({ tag: "document.saveBuffer", bytes: r.bytes, size: r.size }, [r.bytes]); } handleDocumentSaveFile(e) { let t = this.requireSession(e); - return this.assertRewriteKeepsSignatures(t, e.mode), e.mode === "incremental" && (!t.hasUnsavedEdits() || new Bn(this.runtime, t).saveStandaloneToFileEx(e.path, e.mode).unchangedSinceLoad) ? (new Bn(this.runtime, t).copyLoadedBytesToFile(e.path), L({ tag: "document.saveFile", path: e.path })) : e.mode === "incremental" ? L({ tag: "document.saveFile", path: e.path }) : L({ tag: "document.saveFile", path: new Bn(this.runtime, t).saveStandaloneToFile(e.path, e.mode).path }); + return this.assertRewriteKeepsSignatures(t, e.mode), e.mode === "incremental" && (!t.hasUnsavedEdits() || new Dn(this.runtime, t).saveStandaloneToFileEx(e.path, e.mode).unchangedSinceLoad) ? (new Dn(this.runtime, t).copyLoadedBytesToFile(e.path), L({ tag: "document.saveFile", path: e.path })) : e.mode === "incremental" ? L({ tag: "document.saveFile", path: e.path }) : L({ tag: "document.saveFile", path: new Dn(this.runtime, t).saveStandaloneToFile(e.path, e.mode).path }); } handleDocumentSaveLayerBuffer(e) { let t = this.requireSession(e); if (t.kind !== "layer") throw new f(g.InvalidArg, "document has no layer to export (opened without a layer)"); - let r = new Bn(this.runtime, t).saveLayerArtifact(); + let r = new Dn(this.runtime, t).saveLayerArtifact(); return L({ tag: "document.saveLayerBuffer", bytes: r.bytes, size: r.size }, [r.bytes]); } handleDocumentProbeSecurityFile(e) { - return L({ tag: "document.probeSecurityFile", security: new ac(this.runtime).probeFile(e.path, e.password) }); + return L({ tag: "document.probeSecurityFile", security: new dc(this.runtime).probeFile(e.path, e.password) }); } async handleDocumentRenderPageFile(e, t) { - let r = new Sc(this.runtime), n = this.baseDocuments.acquireFileBase({ key: `adhoc-file:${e.path}`, path: e.path, password: e.password }); + let r = new Kc(this.runtime), n = this.baseDocuments.acquireFileBase({ key: `adhoc-file:${e.path}`, path: e.path, password: e.password }); try { r.openFromHandle(dn(this.runtime, n, { kind: "fresh" }, e.password)); - let i = new cn(this.runtime, r).read(t), a = i.pages[e.pageIndex]; + let i = new Ct(this.runtime, r).read(t), a = i.pages[e.pageIndex]; if (!a) throw new f(g.NotFound, `renderPageFile: no page at index ${e.pageIndex} (pageCount=${i.pageCount})`); - let { raster: A } = await new ew(this.runtime, r).render(a.ref.objectNumber, Eh(e.options ?? {}, () => a.pdfCropBox), t, this.slices); + let { raster: A } = await new bw(this.runtime, r).render(a.ref.objectNumber, tk(e.options ?? {}, () => a.pdfCropBox), t, this.slices); return L({ tag: "document.renderPageFile", page: a.ref, pageCount: i.pageCount, raster: A }, [A.data]); } finally { r.close(); } } handleDocumentCheckPasswordPermissions(e) { - let t = this.sessions.get(kt(e.docId)), r; - return t?.isLocked() ? (t.unlockWith(e.password), t.password = e.password, r = t) : r = this.requireSession(e), L({ tag: "document.checkPasswordPermissions", security: new ac(this.runtime).checkPasswordPermissions(r, e.password, e.mode ?? "any"), protection: this.probeProtection(r) }); + let t = this.sessions.get(Dt(e.docId)), r; + return t?.isLocked() ? (t.unlockWith(e.password), t.password = e.password, r = t) : r = this.requireSession(e), L({ tag: "document.checkPasswordPermissions", security: new dc(this.runtime).checkPasswordPermissions(r, e.password, e.mode ?? "any"), protection: this.probeProtection(r) }); } handleFontsRegister(e) { return this.fonts.register(e.fontKey, e.familyName, e.weight, e.italic, new Uint8Array(e.data), e.builtIn ?? !1), L({ tag: "fonts.register", fontKey: e.fontKey, identity: this.fonts.describe(e.fontKey) }); @@ -17009,30 +17269,30 @@ var tj = class { return this.fonts.clear(), L({ tag: "fonts.clear" }); } handleLayerClose(e) { - let t = kt(e.docId, e.layerName), r = this.sessions.get(t); - return r && (VA(this.runtime, r), WA(this.runtime, r), r.close(), this.sessions.delete(t)), L({ tag: "close" }); + let t = Dt(e.docId, e.layerName), r = this.sessions.get(t); + return r && (qA(this.runtime, r), JA(this.runtime, r), r.close(), this.sessions.delete(t)), L({ tag: "close" }); } handleClose(e) { - for (let [t, r] of Array.from(this.sessions.entries())) dj(t, e.docId) && (VA(this.runtime, r), WA(this.runtime, r), r.close(), this.sessions.delete(t)); + for (let [t, r] of Array.from(this.sessions.entries())) Tj(t, e.docId) && (qA(this.runtime, r), JA(this.runtime, r), r.close(), this.sessions.delete(t)); return L({ tag: "close" }); } handleShutdown(e) { if (!this.destroyed) { this.destroyed = !0; - for (let t of this.sessions.values()) VA(this.runtime, t), WA(this.runtime, t), t.close(); - this.sessions.clear(), this.residency.closeIdle(), this.baseDocuments.releaseAll(), w2(this.runtime); + for (let t of this.sessions.values()) qA(this.runtime, t), JA(this.runtime, t), t.close(); + this.sessions.clear(), this.residency.closeIdle(), this.baseDocuments.releaseAll(), T2(this.runtime); } return L({ tag: "shutdown" }); } requireSession(e) { - let t = kt(e.docId, e.layerName), r = this.sessions.get(t); + let t = Dt(e.docId, e.layerName), r = this.sessions.get(t); if (r?.isLocked()) throw new f(g.DocPasswordRequired, `document session is password-locked: ${t}`); if (!r || !r.isOpen()) throw new f(g.DocNotOpen, `document session not open: ${t}`); return r.assertUsable(), r; } handleFormsList(e, t) { let r = this.requireSession(e); - return L({ tag: "forms.list", snapshot: new yh(this.runtime, r, this.fonts).snapshot(t) }); + return L({ tag: "forms.list", snapshot: new qu(this.runtime, r, this.fonts).snapshot(t) }); } handleFormsSetValue(e, t) { let r = this.requireSession(e), { type: n, ...i } = this.applyOne(r, e.opId, { type: "forms.setValue", field: e.ref, value: e.value }, e.authority, t); @@ -17043,15 +17303,15 @@ var tj = class { return this.finishMutation(r, { tag: "forms.reset", result: a }, e.artifactPath); } handleFormsExport(e, t) { - let r = this.requireSession(e), n = new hM(this.runtime, r, this.fonts).export(e.selection, e.limits ?? Ii, t); + let r = this.requireSession(e), n = new nj(this.runtime, r, this.fonts).export(e.selection, e.limits ?? jr, t); return L({ tag: "forms.export", bundle: n }, Object.values(n.resources)); } handleFormsImport(e, t) { - let r = this.requireSession(e), { type: n, ...i } = this.applyOne(r, e.opId, { type: "forms.import", bundle: e.bundle, ...e.pages !== void 0 ? { pages: e.pages } : {}, attribution: e.attribution, values: e.values, actor: sb(e.authority), limits: e.limits ?? Ii, mayScript: e.mayScript }, e.authority, t); + let r = this.requireSession(e), { type: n, ...i } = this.applyOne(r, e.opId, { type: "forms.import", bundle: e.bundle, ...e.pages !== void 0 ? { pages: e.pages } : {}, attribution: e.attribution, values: e.values, actor: kb(e.authority), limits: e.limits ?? jr, mayScript: e.mayScript }, e.authority, t); return i.fields.length === 0 ? L({ tag: "forms.import", result: i }) : this.finishMutation(r, { tag: "forms.import", result: i }, e.artifactPath); } handleFormsImportValues(e, t) { - let r = this.requireSession(e), { type: n, ...i } = this.applyOne(r, e.opId, { type: "forms.importValues", bundle: e.bundle, attribution: e.attribution, actor: sb(e.authority), limits: e.limits ?? Ii }, e.authority, t); + let r = this.requireSession(e), { type: n, ...i } = this.applyOne(r, e.opId, { type: "forms.importValues", bundle: e.bundle, attribution: e.attribution, actor: kb(e.authority), limits: e.limits ?? jr }, e.authority, t); return i.fields.length === 0 ? L({ tag: "forms.importValues", result: i }) : this.finishMutation(r, { tag: "forms.importValues", result: i }, e.artifactPath); } handleFormsRepair(e, t) { @@ -17071,109 +17331,109 @@ var tj = class { return this.finishMutation(r, { tag: "forms.setSignatureAppearance", result: i }, e.artifactPath); } handleFormsDeleteField(e, t) { - let r = this.requireSession(e), { type: n, ...i } = this.applyOne(r, e.opId, { type: "forms.delete", field: e.ref }, Mt(), t); + let r = this.requireSession(e), { type: n, ...i } = this.applyOne(r, e.opId, { type: "forms.delete", field: e.ref }, jt(), t); return this.finishMutation(r, { tag: "forms.deleteField", result: i }, e.artifactPath); } handleFormsAddWidget(e, t) { - let r = this.requireSession(e), { type: n, ...i } = this.applyOne(r, e.opId, { type: "forms.addWidget", field: e.ref, placement: e.placement, ...e.objectNumber !== void 0 ? { objectNumber: e.objectNumber } : {}, ...e.splitObjectNumber !== void 0 ? { splitObjectNumber: e.splitObjectNumber } : {} }, Mt(), t); + let r = this.requireSession(e), { type: n, ...i } = this.applyOne(r, e.opId, { type: "forms.addWidget", field: e.ref, placement: e.placement, ...e.objectNumber !== void 0 ? { objectNumber: e.objectNumber } : {}, ...e.splitObjectNumber !== void 0 ? { splitObjectNumber: e.splitObjectNumber } : {} }, jt(), t); return this.finishMutation(r, { tag: "forms.addWidget", result: i }, e.artifactPath); } handleFormsDetachWidget(e, t) { - let r = this.requireSession(e), { type: n, ...i } = this.applyOne(r, e.opId, { type: "forms.removeWidget", field: e.ref, widget: e.widget }, Mt(), t); + let r = this.requireSession(e), { type: n, ...i } = this.applyOne(r, e.opId, { type: "forms.removeWidget", field: e.ref, widget: e.widget }, jt(), t); return this.finishMutation(r, { tag: "forms.detachWidget", result: i }, e.artifactPath); } handleFormsUpdateWidget(e, t) { - let r = this.requireSession(e), { type: n, skipped: i, ...a } = this.applyOne(r, e.opId, { type: "forms.updateWidget", widget: e.widget, patch: e.patch }, Mt(), t); + let r = this.requireSession(e), { type: n, skipped: i, ...a } = this.applyOne(r, e.opId, { type: "forms.updateWidget", widget: e.widget, patch: e.patch }, jt(), t); return this.finishMutation(r, { tag: "forms.updateWidget", result: a }, e.artifactPath); } handleFormsDeleteWidget(e, t) { - let r = this.requireSession(e), { type: n, ...i } = this.applyOne(r, e.opId, { type: "forms.deleteWidget", widget: e.widget }, Mt(), t); + let r = this.requireSession(e), { type: n, ...i } = this.applyOne(r, e.opId, { type: "forms.deleteWidget", widget: e.widget }, jt(), t); return this.finishMutation(r, { tag: "forms.deleteWidget", result: i }, e.artifactPath); } handleFormsReorderCalculations(e, t) { - let r = this.requireSession(e), { type: n, ...i } = this.applyOne(r, e.opId, { type: "forms.reorderCalculations", fields: e.fields, position: e.position }, Mt(), t); + let r = this.requireSession(e), { type: n, ...i } = this.applyOne(r, e.opId, { type: "forms.reorderCalculations", fields: e.fields, position: e.position }, jt(), t); return this.finishMutation(r, { tag: "forms.reorderCalculations", result: i }, e.artifactPath); } handleFormsReorderWidgets(e, t) { - let r = this.requireSession(e), { type: n, ...i } = this.applyOne(r, e.opId, { type: "forms.reorderWidgets", page: e.page, widgets: e.widgets, position: e.position }, Mt(), t); + let r = this.requireSession(e), { type: n, ...i } = this.applyOne(r, e.opId, { type: "forms.reorderWidgets", page: e.page, widgets: e.widgets, position: e.position }, jt(), t); return this.finishMutation(r, { tag: "forms.reorderWidgets", result: i }, e.artifactPath); } finishMutation(e, t, r) { - e.inTransaction() && e.commitTransaction(), oj.has(t.tag) && Mi(e).endUndo(), !t.tag.startsWith("forms.") && t.tag !== "pages.flatten" && t.tag !== "redaction.apply" && t.tag !== "signatures.complete" && e.invalidateDerived(), t.tag !== "signatures.complete" && e.noteEdit(); - let n = ij(t, e.missingCharacters()), i = QQ(this.runtime, e) ? { ...n, fontsChanged: !0 } : n; + e.inTransaction() && e.commitTransaction(), jj.has(t.tag) && Ri(e).endUndo(), !t.tag.startsWith("forms.") && t.tag !== "pages.flatten" && t.tag !== "redaction.apply" && t.tag !== "signatures.complete" && e.invalidateDerived(), t.tag !== "signatures.complete" && e.noteEdit(); + let n = Sj(t, e.missingCharacters()), i = AS(this.runtime, e) ? { ...n, fontsChanged: !0 } : n; if (e.kind !== "layer" || !e.persistLayerArtifact) return L(i); let a = this.saveLayerArtifact(e, r); return L({ ...i, ...a.payload }, a.transfer); } saveLayerArtifact(e, t) { - let r = new Bn(this.runtime, e), n = e.lastObjectNumber(); + let r = new Dn(this.runtime, e), n = e.lastObjectNumber(); if (t) return { payload: { artifactFile: { ...r.saveLayerArtifactToFile(t), lastObjectNumber: n } }, transfer: [] }; let i = { ...r.saveLayerArtifact(), lastObjectNumber: n }; return { payload: { artifact: i }, transfer: [i.bytes] }; } -}, nj = { read: "none", snapshot: "none", session: "none", open: "none", close: "none", write: "keepsPages", contentWrite: "document", runtimeWrite: "runtime" }; -function rj(e) { - return e.kind === "shutdown" ? "none" : nj[e.effect]; +}, Ij = { read: "none", snapshot: "none", session: "none", open: "none", close: "none", write: "keepsPages", contentWrite: "document", runtimeWrite: "runtime" }; +function Qj(e) { + return e.kind === "shutdown" ? "none" : Ij[e.effect]; } -function Mt(e) { +function jt(e) { return { identity: e ?? {}, grants: null, protection: null }; } -function sb({ identity: e }) { +function kb({ identity: e }) { return { ...e.userId !== void 0 ? { userId: e.userId } : {}, ...e.groupId !== void 0 ? { groupId: e.groupId } : {}, ...e.displayName !== void 0 ? { displayName: e.displayName } : {} }; } -function ij(e, t) { +function Sj(e, t) { if (t.length === 0 || !("result" in e)) return e; let r = e.result; if (typeof r != "object" || r === null || !("meta" in r)) return e; let { meta: n } = r; return typeof n != "object" || n === null || "missingCharacters" in n ? e : { ...e, result: { ...r, meta: { ...n, missingCharacters: t } } }; } -function cb(e, t) { +function Bb(e, t) { let r = t.record.steps.length > 0; r && e.markUndoable(); let n = t.items.map((a) => ({ ...a, meta: { ...a.meta, undoable: r } })), i = [...new Set(n.flatMap((a) => a.meta.missingCharacters ?? []))]; - return { items: n, meta: { affectedPages: Aj(n), cacheDelta: null, ...e.writeStamp(), ...i.length > 0 ? { missingCharacters: i } : {} } }; + return { items: n, meta: { affectedPages: Mj(n), cacheDelta: null, ...e.writeStamp(), ...i.length > 0 ? { missingCharacters: i } : {} } }; } -function aj(e, t, r, n, i) { +function Oj(e, t, r, n, i) { let { change: a, authority: A } = t; - if (!Gd(a)) return e.apply(a.ops, A, n, i); + if (!Od(a)) return e.apply(a.ops, A, n, i); let o = A.identity.userId ?? null, s = r.has(a.undoOf) ? r.get(a.undoOf) : t.record; if (s === void 0) throw new f(g.UndoUnavailable, `change ${a.undoOf} can no longer be undone`, { details: { reason: "expired" } }); return s ? e.undo(s, A, n, i) : { items: [], record: { userId: o, steps: [] } }; } -function Aj(e) { +function Mj(e) { let t = /* @__PURE__ */ new Map(); for (let r of e) for (let n of r.meta.affectedPages) t.set(n.objectNumber, n); return [...t.values()]; } -function SA(e) { +function LA(e) { return e.kind === "shutdown" || e.kind === "signatures.complete" || e.kind === "document.applyChanges" || e.effect !== "write" && e.effect !== "contentWrite" ? !1 : "docId" in e; } -var oj = /* @__PURE__ */ new Set(["redaction.apply", "pages.flatten", "annotations.flatten", "forms.repair", "signatures.complete"]), sj = "__base__"; -function kt(e, t) { - return `${e}::${t ? `layer:${t}` : sj}`; +var jj = /* @__PURE__ */ new Set(["redaction.apply", "pages.flatten", "annotations.flatten", "forms.repair", "signatures.complete"]), Rj = "__base__"; +function Dt(e, t) { + return `${e}::${t ? `layer:${t}` : Rj}`; } -var Gh = "this engine has no image encoder (the *.renderEncoded kinds are cloud-server surface)"; -function cj() { - return Ar(new f(g.NotImplemented, Gh)); +var nk = "this engine has no image encoder (the *.renderEncoded kinds are cloud-server surface)"; +function Lj() { + return or(new f(g.NotImplemented, nk)); } -function dj(e, t) { - return e === kt(t) || e.startsWith(`${t}::layer:`); +function Tj(e, t) { + return e === Dt(t) || e.startsWith(`${t}::layer:`); } -function pj(e) { +function Kj(e) { return e instanceof f && (e.code === g.DocPasswordRequired || e.code === g.DocPasswordIncorrect); } -function lj() { +function Nj() { return { encryptionState: "encrypted", encryptionRequiresPassword: !0, securityHandlerRevision: null, pdfPermissionsBits: null, pdfPermissionsAllAllowed: null, pdfOpenedAs: null, securityProbedAt: Date.now() }; } -function uj(e) { - if (Gd(e)) return; +function Vj(e) { + if (Od(e)) return; let t = { "annotations.import": "doc.annotations.import", "forms.import": "doc.forms.import", "forms.importValues": "doc.forms.importValues" }, r = e.ops.find(({ type: n }) => n in t); if (r) throw new f(g.InvalidArg, `doc.apply takes no import: import a bundle with ${t[r.type]}`); } -var mj = class { +var Yj = class { constructor(e) { - wt(this, "host"), wt(this, "listeners", /* @__PURE__ */ new Set()), wt(this, "destroyed", !1), this.host = new tj(e, (t) => this.deliver(t.payload)); + gt(this, "host"), gt(this, "listeners", /* @__PURE__ */ new Set()), gt(this, "destroyed", !1), this.host = new Hj(e, (t) => this.deliver(t.payload)); } send(e) { this.destroyed || queueMicrotask(() => { @@ -17195,19 +17455,19 @@ var mj = class { } } }; -async function lte(e = {}, t) { - if (bj()) return (await HB()).createInlineTransport(e); - let r = wj(e) || !t ? e : { ...e, ...await t() }; - return new mj(await oD(r)); +async function Ute(e = {}, t) { + if (Wj()) return (await oD()).createInlineTransport(e); + let r = Xj(e) || !t ? e : { ...e, ...await t() }; + return new Yj(await OD(r)); } -function wj(e) { +function Xj(e) { let t = e.wasm ?? {}; return e.wasmUrl !== void 0 || e.wasmBinary !== void 0 || t.locateFile !== void 0 || t.wasmBinary !== void 0; } -function bj() { +function Wj() { return typeof process == "object" && typeof process.versions?.node == "string" && process.type !== "renderer"; } export { - lte as createInlineTransport + Ute as createInlineTransport }; -//# sourceMappingURL=inline-transport-CUNc827b.js.map +//# sourceMappingURL=inline-transport-DOhLr0Ey.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/it-B0rNVsFK-C9JKRTCT.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/it-BmmNdibU-CfnkmlJc.js similarity index 99% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/it-B0rNVsFK-C9JKRTCT.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/it-BmmNdibU-CfnkmlJc.js index a8b14a65..ed1534e2 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/it-B0rNVsFK-C9JKRTCT.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/it-BmmNdibU-CfnkmlJc.js @@ -99,6 +99,7 @@ const e = { saveFile: "Salva file", removeLink: "Rimuovi collegamento", delete: "Elimina", + duplicate: "Duplica", group: "Raggruppa", ungroup: "Separa", stampFromSelection: "Crea timbro", @@ -476,7 +477,8 @@ const e = { boxes: "Caselle", box: "Casella {number}", addButton: "Aggiungi pulsante", - addBox: "Aggiungi casella" + addBox: "Aggiungi casella", + duplicateGroup: "Duplica gruppo" }, stylePanel: { mixed: "(misto)", @@ -740,4 +742,4 @@ const e = { export { e as it }; -//# sourceMappingURL=it-B0rNVsFK-C9JKRTCT.js.map +//# sourceMappingURL=it-BmmNdibU-CfnkmlJc.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/ja-NIsVo9eS-TU5VOOvE.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/ja-DYL0fhQg-DqJ--L75.js similarity index 99% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/ja-NIsVo9eS-TU5VOOvE.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/ja-DYL0fhQg-DqJ--L75.js index 88b17696..1e597553 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/ja-NIsVo9eS-TU5VOOvE.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/ja-DYL0fhQg-DqJ--L75.js @@ -99,6 +99,7 @@ const e = { saveFile: "ファイルを保存", removeLink: "リンクを削除", delete: "削除", + duplicate: "複製", group: "グループ化", ungroup: "グループ解除", stampFromSelection: "スタンプを作成", @@ -472,7 +473,8 @@ const e = { boxes: "ボックス", box: "ボックス {number}", addButton: "ボタンを追加", - addBox: "ボックスを追加" + addBox: "ボックスを追加", + duplicateGroup: "グループを複製" }, stylePanel: { mixed: "(混在)", @@ -708,4 +710,4 @@ const e = { export { e as ja }; -//# sourceMappingURL=ja-NIsVo9eS-TU5VOOvE.js.map +//# sourceMappingURL=ja-DYL0fhQg-DqJ--L75.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/ko-DGQjyIlu-BBjTyYlT.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/ko-D0EydnVj-gXBpgabc.js similarity index 99% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/ko-DGQjyIlu-BBjTyYlT.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/ko-D0EydnVj-gXBpgabc.js index 1f811ebc..537501ec 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/ko-DGQjyIlu-BBjTyYlT.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/ko-D0EydnVj-gXBpgabc.js @@ -99,6 +99,7 @@ const e = { saveFile: "파일 저장", removeLink: "링크 제거", delete: "삭제", + duplicate: "복제", group: "그룹화", ungroup: "그룹 해제", stampFromSelection: "스탬프 만들기", @@ -472,7 +473,8 @@ const e = { boxes: "확인란", box: "확인란 {number}", addButton: "단추 추가", - addBox: "확인란 추가" + addBox: "확인란 추가", + duplicateGroup: "그룹 복제" }, stylePanel: { mixed: "(혼합)", @@ -708,4 +710,4 @@ const e = { export { e as ko }; -//# sourceMappingURL=ko-DGQjyIlu-BBjTyYlT.js.map +//# sourceMappingURL=ko-D0EydnVj-gXBpgabc.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/labels-C6_i87Oj-BwatX9VH.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/labels-C6_i87Oj-CUYif8yN.js similarity index 50% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/labels-C6_i87Oj-BwatX9VH.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/labels-C6_i87Oj-CUYif8yN.js index cb54b179..61ece6c1 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/labels-C6_i87Oj-BwatX9VH.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/labels-C6_i87Oj-CUYif8yN.js @@ -1,4 +1,4 @@ -import { u as l } from "./wasm-url-asset-DQFmMC86.js"; +import { u as l } from "./wasm-url-asset-BJXsMWLm.js"; function o() { const e = l(); return (a) => e(a.labelKey, { fallback: a.label }); @@ -6,4 +6,4 @@ function o() { export { o as u }; -//# sourceMappingURL=labels-C6_i87Oj-BwatX9VH.js.map +//# sourceMappingURL=labels-C6_i87Oj-CUYif8yN.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/labels-C6_i87Oj-Cv-9cmmX.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/labels-C6_i87Oj-DU31Mm-N.js similarity index 52% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/labels-C6_i87Oj-Cv-9cmmX.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/labels-C6_i87Oj-DU31Mm-N.js index 4c3430fd..29211806 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/labels-C6_i87Oj-Cv-9cmmX.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/labels-C6_i87Oj-DU31Mm-N.js @@ -1,4 +1,4 @@ -import { u as l } from "./init-DY-DOXIU.js"; +import { u as l } from "./init-tVr9KnGC.js"; function o() { const e = l(); return (a) => e(a.labelKey, { fallback: a.label }); @@ -6,4 +6,4 @@ function o() { export { o as u }; -//# sourceMappingURL=labels-C6_i87Oj-Cv-9cmmX.js.map +//# sourceMappingURL=labels-C6_i87Oj-DU31Mm-N.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/link-editor-CVY83aSe-Bi8RWDtN.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/link-editor-BQl5WwML-DRSd4102.js similarity index 96% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/link-editor-CVY83aSe-Bi8RWDtN.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/link-editor-BQl5WwML-DRSd4102.js index b8cd3998..609ecbc3 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/link-editor-CVY83aSe-Bi8RWDtN.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/link-editor-BQl5WwML-DRSd4102.js @@ -1,4 +1,4 @@ -import { u as h, a as x, b as v, c as y, d as c, e, T as N, I as E, f as w, S as C } from "./wasm-url-asset-DQFmMC86.js"; +import { u as h, a as x, b as v, c as y, d as c, e, T as N, I as E, f as w, S as C } from "./wasm-url-asset-BJXsMWLm.js"; function b({ active: r, title: t, onClick: l, children: i }) { const o = w({ label: t }); return /* @__PURE__ */ e(C, { children: [/* @__PURE__ */ e("button", { @@ -91,4 +91,4 @@ function T({ onClose: r }) { export { T as LinkEditorCard }; -//# sourceMappingURL=link-editor-CVY83aSe-Bi8RWDtN.js.map +//# sourceMappingURL=link-editor-BQl5WwML-DRSd4102.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/link-editor-CVY83aSe-Ceo9-oRp.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/link-editor-BQl5WwML-DV9l5HaH.js similarity index 96% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/link-editor-CVY83aSe-Ceo9-oRp.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/link-editor-BQl5WwML-DV9l5HaH.js index 92f5db8a..0baef813 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/link-editor-CVY83aSe-Ceo9-oRp.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/link-editor-BQl5WwML-DV9l5HaH.js @@ -1,4 +1,4 @@ -import { u as h, g as x, h as v, j as y, k as d, l as e, T as N, m as E, n as w, S as C } from "./init-DY-DOXIU.js"; +import { u as h, g as x, h as v, j as y, k as d, l as e, T as N, m as E, n as w, S as C } from "./init-tVr9KnGC.js"; function b({ active: r, title: t, onClick: l, children: i }) { const o = w({ label: t }); return /* @__PURE__ */ e(C, { children: [/* @__PURE__ */ e("button", { @@ -91,4 +91,4 @@ function T({ onClose: r }) { export { T as LinkEditorCard }; -//# sourceMappingURL=link-editor-CVY83aSe-Ceo9-oRp.js.map +//# sourceMappingURL=link-editor-BQl5WwML-DV9l5HaH.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/measurement-DZOOYxOT-DZDR7o1H.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/measurement-6M_KEsFK-Bvj4oM5j.js similarity index 87% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/measurement-DZOOYxOT-DZDR7o1H.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/measurement-6M_KEsFK-Bvj4oM5j.js index 4e7cac17..b7fdd3da 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/measurement-DZOOYxOT-DZDR7o1H.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/measurement-6M_KEsFK-Bvj4oM5j.js @@ -1,7 +1,7 @@ -import { u as D, G as J, H as M, J as f, M as R, A as q, d as m, m as j, e as t, K as B, L as F, r as G, s as T, o as H, t as K } from "./wasm-url-asset-DQFmMC86.js"; -const b = "border-border bg-surface text-fg w-full rounded-md border px-2 py-1.5 text-sm disabled:opacity-50", w = "border-border text-fg hover:bg-hover rounded-md border px-3 py-1.5 text-sm disabled:opacity-50", V = () => f(K, (a) => a.getCurrentPage()); -function z() { - const a = D(), o = V(), n = J(), c = M((e) => e.busy), A = f(R, (e) => e.canCalibrate()), i = F(o), u = G(T), y = H((e) => e.selected), h = f(T, (e) => e.selection.getSelected().filter((s) => (s.subtype === "polygon" || s.subtype === "polyline") && s.captionCenter && e.canUpdate(s.ref) && !s.lockedContents), (e, s) => e.length === s.length && e.every((L, O) => L === s[O])), v = f(R, (e) => u.selection.getSelected().map((s) => e.getReadout(s.ref)).filter((s) => !("unavailable" in s)), (e, s) => JSON.stringify(e) === JSON.stringify(s)), d = M((e) => e.lastReports), [N, x] = m(!1), [C, k] = m(!0), [p, P] = m(null), l = !o || c || !A || !i?.ready, r = i?.measure?.subtype === "rectilinear" ? i.measure : null, S = N ? "all" : o, U = { recalculate: C }, g = async (e) => { +import { u as D, H as J, J as M, K as f, M as R, A as q, d as m, m as j, e as t, L as B, N as F, r as H, s as T, o as K, t as V } from "./wasm-url-asset-BJXsMWLm.js"; +const b = "border-border bg-surface text-fg w-full rounded-md border px-2 py-1.5 text-sm disabled:opacity-50", w = "border-border text-fg hover:bg-hover rounded-md border px-3 py-1.5 text-sm disabled:opacity-50", $ = () => f(V, (a) => a.getCurrentPage()); +function G() { + const a = D(), c = $(), n = J(), i = M((e) => e.busy), A = f(R, (e) => e.canCalibrate()), o = F(c), u = H(T), y = K((e) => e.selected), h = f(T, (e) => e.selection.getSelected().filter((s) => (s.subtype === "polygon" || s.subtype === "polyline") && s.captionCenter && e.canUpdate(s.ref) && !s.lockedContents), (e, s) => e.length === s.length && e.every((L, O) => L === s[O])), v = f(R, (e) => u.selection.getSelected().map((s) => e.getReadout(s.ref)).filter((s) => !("unavailable" in s)), (e, s) => JSON.stringify(e) === JSON.stringify(s)), d = M((e) => e.lastReports), [N, x] = m(!1), [C, k] = m(!0), [p, P] = m(null), l = !c || i || !A || !o?.ready, r = o?.measure?.subtype === "rectilinear" ? o.measure : null, S = N ? "all" : c, U = { recalculate: C }, g = async (e) => { P(null); try { await e(); @@ -20,12 +20,7 @@ function z() { className: "text-fg-muted", children: [a("measurement.scale"), ": "] }), /* @__PURE__ */ t("strong", { children: r?.ratio ?? a("measurement.unavailable") })] }), - i?.error && /* @__PURE__ */ t("p", { - role: "alert", - className: "text-red-600", - children: i.error.message - }), - i && !i.persistent && i.ready && /* @__PURE__ */ t("p", { + o && !o.persistent && o.ready && /* @__PURE__ */ t("p", { className: "text-fg-muted", children: a("measurement.sessionOnly") }), @@ -34,7 +29,7 @@ function z() { children: [/* @__PURE__ */ t("input", { type: "checkbox", checked: N, - disabled: c, + disabled: i, onChange: (e) => x(e.target.checked) }), a("measurement.allPages")] }), @@ -43,7 +38,7 @@ function z() { children: [/* @__PURE__ */ t("input", { type: "checkbox", checked: C, - disabled: c, + disabled: i, onChange: (e) => k(e.target.checked) }), a("measurement.recalculate")] }), @@ -146,7 +141,7 @@ function z() { }), h.length > 0 && /* @__PURE__ */ t("button", { className: w, - disabled: c, + disabled: i, onClick: () => void g(async () => { for (const e of h) (e.subtype === "polygon" || e.subtype === "polyline") && await u.update(e.ref, { subtype: e.subtype, @@ -174,17 +169,17 @@ function z() { }); } function I() { - const a = D(), o = J(), { busy: n, calibrationRequest: c } = M(), A = f(R, (l) => l.canCalibrate()), i = q(null), [u, y] = m(""), [h, v] = m("m"), [d, N] = m(!1), [x, C] = m(!0), [k, p] = m(null); + const a = D(), c = J(), { busy: n, calibrationRequest: i } = M(), A = f(R, (l) => l.canCalibrate()), o = q(null), [u, y] = m(""), [h, v] = m("m"), [d, N] = m(!1), [x, C] = m(!0), [k, p] = m(null); if (j(() => { - y(""), p(null), i.current?.focus(); - }, [c]), !c) return null; + y(""), p(null), o.current?.focus(); + }, [i]), !i) return null; const P = async () => { p(null); try { - await o.calibrate({ - page: c.page, - from: c.from, - to: c.to, + await c.calibrate({ + page: i.page, + from: i.from, + to: i.to, distance: { value: Number(u), unit: h @@ -192,7 +187,7 @@ function I() { }, { recalculate: x, applyTo: d ? "all" : void 0 - }), o.dismissCalibration(); + }), c.dismissCalibration(); } catch (l) { p(l instanceof Error ? l.message : String(l)); } @@ -200,7 +195,7 @@ function I() { return /* @__PURE__ */ t(B, { labelledBy: "measurement-calibration-title", onClose: () => { - n || o.dismissCalibration(); + n || c.dismissCalibration(); }, className: "border-border bg-surface w-96 rounded-lg border p-5 shadow-xl", children: /* @__PURE__ */ t("form", { @@ -219,7 +214,7 @@ function I() { children: a("measurement.knownLength") }), /* @__PURE__ */ t("label", { children: [a("measurement.length"), /* @__PURE__ */ t("input", { - ref: i, + ref: o, "aria-label": a("measurement.length"), className: b, type: "number", @@ -233,7 +228,7 @@ function I() { "aria-label": a("measurement.unit"), value: h, onChange: (l) => v(l.target.value), - children: o.listUnits().map((l) => /* @__PURE__ */ t("option", { children: l }, l)) + children: c.listUnits().map((l) => /* @__PURE__ */ t("option", { children: l }, l)) })] }), /* @__PURE__ */ t("label", { className: "flex items-center gap-2 text-sm", @@ -262,7 +257,7 @@ function I() { type: "button", className: w, disabled: n, - onClick: () => o.dismissCalibration(), + onClick: () => c.dismissCalibration(), children: a("demo.cancel") }), /* @__PURE__ */ t("button", { className: w, @@ -277,6 +272,6 @@ function I() { } export { I as CalibrationDialog, - z as MeasurementSection + G as MeasurementSection }; -//# sourceMappingURL=measurement-DZOOYxOT-DZDR7o1H.js.map +//# sourceMappingURL=measurement-6M_KEsFK-Bvj4oM5j.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/measurement-DZOOYxOT-DhLpoEY8.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/measurement-6M_KEsFK-Bw9_NzWx.js similarity index 74% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/measurement-DZOOYxOT-DhLpoEY8.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/measurement-6M_KEsFK-Bw9_NzWx.js index 734c6e22..f61bd431 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/measurement-DZOOYxOT-DhLpoEY8.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/measurement-6M_KEsFK-Bw9_NzWx.js @@ -1,10 +1,10 @@ -import { u as O, M as D, N as M, O as f, A as J, k as m, v as L, l as t, P as j, Q as F, B as Q, x as V } from "./init-DY-DOXIU.js"; -import { MeasurementToken as R } from "@embedpdf/plugin-measurement"; -import { AnnotationToken as T } from "@embedpdf/plugin-annotation"; +import { u as O, N as D, O as R, P as f, A as J, k as m, v as L, l as t, Q as j, U as F, B as Q, x as V } from "./init-tVr9KnGC.js"; +import { MeasurementToken as T } from "@embedpdf/plugin-measurement"; +import { AnnotationToken as M } from "@embedpdf/plugin-annotation"; import { StageToken as $ } from "@embedpdf/plugin-stage"; const b = "border-border bg-surface text-fg w-full rounded-md border px-2 py-1.5 text-sm disabled:opacity-50", w = "border-border text-fg hover:bg-hover rounded-md border px-3 py-1.5 text-sm disabled:opacity-50", z = () => f($, (a) => a.getCurrentPage()); function W() { - const a = O(), o = z(), n = D(), c = M((e) => e.busy), A = f(R, (e) => e.canCalibrate()), i = F(o), u = Q(T), y = V((e) => e.selected), h = f(T, (e) => e.selection.getSelected().filter((l) => (l.subtype === "polygon" || l.subtype === "polyline") && l.captionCenter && e.canUpdate(l.ref) && !l.lockedContents), (e, l) => e.length === l.length && e.every((q, B) => q === l[B])), v = f(R, (e) => u.selection.getSelected().map((l) => e.getReadout(l.ref)).filter((l) => !("unavailable" in l)), (e, l) => JSON.stringify(e) === JSON.stringify(l)), d = M((e) => e.lastReports), [N, x] = m(!1), [C, k] = m(!0), [p, P] = m(null), s = !o || c || !A || !i?.ready, r = i?.measure?.subtype === "rectilinear" ? i.measure : null, S = N ? "all" : o, U = { recalculate: C }, g = async (e) => { + const a = O(), c = z(), s = D(), i = R((e) => e.busy), A = f(T, (e) => e.canCalibrate()), o = F(c), u = Q(M), y = V((e) => e.selected), h = f(M, (e) => e.selection.getSelected().filter((l) => (l.subtype === "polygon" || l.subtype === "polyline") && l.captionCenter && e.canUpdate(l.ref) && !l.lockedContents), (e, l) => e.length === l.length && e.every((q, B) => q === l[B])), v = f(T, (e) => u.selection.getSelected().map((l) => e.getReadout(l.ref)).filter((l) => !("unavailable" in l)), (e, l) => JSON.stringify(e) === JSON.stringify(l)), d = R((e) => e.lastReports), [N, x] = m(!1), [C, k] = m(!0), [p, P] = m(null), n = !c || i || !A || !o?.ready, r = o?.measure?.subtype === "rectilinear" ? o.measure : null, S = N ? "all" : c, U = { recalculate: C }, g = async (e) => { P(null); try { await e(); @@ -23,12 +23,7 @@ function W() { className: "text-fg-muted", children: [a("measurement.scale"), ": "] }), /* @__PURE__ */ t("strong", { children: r?.ratio ?? a("measurement.unavailable") })] }), - i?.error && /* @__PURE__ */ t("p", { - role: "alert", - className: "text-red-600", - children: i.error.message - }), - i && !i.persistent && i.ready && /* @__PURE__ */ t("p", { + o && !o.persistent && o.ready && /* @__PURE__ */ t("p", { className: "text-fg-muted", children: a("measurement.sessionOnly") }), @@ -37,7 +32,7 @@ function W() { children: [/* @__PURE__ */ t("input", { type: "checkbox", checked: N, - disabled: c, + disabled: i, onChange: (e) => x(e.target.checked) }), a("measurement.allPages")] }), @@ -46,7 +41,7 @@ function W() { children: [/* @__PURE__ */ t("input", { type: "checkbox", checked: C, - disabled: c, + disabled: i, onChange: (e) => k(e.target.checked) }), a("measurement.recalculate")] }), @@ -54,13 +49,13 @@ function W() { "aria-label": a("measurement.preset"), className: b, value: "", - disabled: s, - onChange: (e) => void g(() => n.setPreset(S, e.target.value, U)), + disabled: n, + onChange: (e) => void g(() => s.setPreset(S, e.target.value, U)), children: [/* @__PURE__ */ t("option", { value: "", disabled: !0, children: a("measurement.choosePreset") - }), n.listPresets().map((e) => /* @__PURE__ */ t("option", { + }), s.listPresets().map((e) => /* @__PURE__ */ t("option", { value: e.id, children: e.label }, e.id))] @@ -69,12 +64,12 @@ function W() { "aria-label": a("measurement.unit"), className: b, value: r?.distance[0]?.unit.trim() ?? "", - disabled: s || !r, - onChange: (e) => void g(() => n.setUnit(S, e.target.value, U)), - children: [!n.listUnits().includes(r?.distance[0]?.unit.trim()) && /* @__PURE__ */ t("option", { + disabled: n || !r, + onChange: (e) => void g(() => s.setUnit(S, e.target.value, U)), + children: [!s.listUnits().includes(r?.distance[0]?.unit.trim()) && /* @__PURE__ */ t("option", { value: r?.distance[0]?.unit.trim() ?? "", children: a("measurement.custom") - }), n.listUnits().map((e) => /* @__PURE__ */ t("option", { + }), s.listUnits().map((e) => /* @__PURE__ */ t("option", { value: e, children: e }, e))] @@ -83,12 +78,12 @@ function W() { "aria-label": a("measurement.areaUnit"), className: b, value: r?.area[0]?.unit.trim().replace("²", "2") ?? "", - disabled: s || !r, - onChange: (e) => void g(() => n.setAreaUnit(S, e.target.value, U)), - children: [!n.listAreaUnits().includes(r?.area[0]?.unit.trim().replace("²", "2")) && /* @__PURE__ */ t("option", { + disabled: n || !r, + onChange: (e) => void g(() => s.setAreaUnit(S, e.target.value, U)), + children: [!s.listAreaUnits().includes(r?.area[0]?.unit.trim().replace("²", "2")) && /* @__PURE__ */ t("option", { value: r?.area[0]?.unit.trim().replace("²", "2") ?? "", children: a("measurement.custom") - }), n.listAreaUnits().map((e) => /* @__PURE__ */ t("option", { + }), s.listAreaUnits().map((e) => /* @__PURE__ */ t("option", { value: e, children: e.replace("2", "²") }, e))] @@ -97,8 +92,8 @@ function W() { "aria-label": a("measurement.precision"), className: b, value: E, - disabled: s || !r, - onChange: (e) => void g(() => n.setPrecision(S, Number(e.target.value), U)), + disabled: n || !r, + onChange: (e) => void g(() => s.setPrecision(S, Number(e.target.value), U)), children: [![ 1, 10, @@ -121,8 +116,8 @@ function W() { })] }), /* @__PURE__ */ t("button", { className: w, - disabled: s, - onClick: () => n.startCalibration(), + disabled: n, + onClick: () => s.startCalibration(), children: a("measurement.calibrate") }), y.length > 0 && /* @__PURE__ */ t("section", { @@ -149,7 +144,7 @@ function W() { }), h.length > 0 && /* @__PURE__ */ t("button", { className: w, - disabled: c, + disabled: i, onClick: () => void g(async () => { for (const e of h) (e.subtype === "polygon" || e.subtype === "polyline") && await u.update(e.ref, { subtype: e.subtype, @@ -177,17 +172,17 @@ function W() { }); } function X() { - const a = O(), o = D(), { busy: n, calibrationRequest: c } = M(), A = f(R, (s) => s.canCalibrate()), i = J(null), [u, y] = m(""), [h, v] = m("m"), [d, N] = m(!1), [x, C] = m(!0), [k, p] = m(null); + const a = O(), c = D(), { busy: s, calibrationRequest: i } = R(), A = f(T, (n) => n.canCalibrate()), o = J(null), [u, y] = m(""), [h, v] = m("m"), [d, N] = m(!1), [x, C] = m(!0), [k, p] = m(null); if (L(() => { - y(""), p(null), i.current?.focus(); - }, [c]), !c) return null; + y(""), p(null), o.current?.focus(); + }, [i]), !i) return null; const P = async () => { p(null); try { - await o.calibrate({ - page: c.page, - from: c.from, - to: c.to, + await c.calibrate({ + page: i.page, + from: i.from, + to: i.to, distance: { value: Number(u), unit: h @@ -195,21 +190,21 @@ function X() { }, { recalculate: x, applyTo: d ? "all" : void 0 - }), o.dismissCalibration(); - } catch (s) { - p(s instanceof Error ? s.message : String(s)); + }), c.dismissCalibration(); + } catch (n) { + p(n instanceof Error ? n.message : String(n)); } }; return /* @__PURE__ */ t(j, { labelledBy: "measurement-calibration-title", onClose: () => { - n || o.dismissCalibration(); + s || c.dismissCalibration(); }, className: "border-border bg-surface w-96 rounded-lg border p-5 shadow-xl", children: /* @__PURE__ */ t("form", { className: "flex flex-col gap-4", - onSubmit: (s) => { - s.preventDefault(), P(); + onSubmit: (n) => { + n.preventDefault(), P(); }, children: [ /* @__PURE__ */ t("h2", { @@ -222,28 +217,28 @@ function X() { children: a("measurement.knownLength") }), /* @__PURE__ */ t("label", { children: [a("measurement.length"), /* @__PURE__ */ t("input", { - ref: i, + ref: o, "aria-label": a("measurement.length"), className: b, type: "number", min: "0", step: "any", value: u, - onChange: (s) => y(s.target.value) + onChange: (n) => y(n.target.value) })] }), /* @__PURE__ */ t("label", { children: [a("measurement.unit"), /* @__PURE__ */ t("select", { className: b, "aria-label": a("measurement.unit"), value: h, - onChange: (s) => v(s.target.value), - children: o.listUnits().map((s) => /* @__PURE__ */ t("option", { children: s }, s)) + onChange: (n) => v(n.target.value), + children: c.listUnits().map((n) => /* @__PURE__ */ t("option", { children: n }, n)) })] }), /* @__PURE__ */ t("label", { className: "flex items-center gap-2 text-sm", children: [/* @__PURE__ */ t("input", { type: "checkbox", checked: d, - onChange: (s) => N(s.target.checked) + onChange: (n) => N(n.target.checked) }), a("measurement.allPages")] }), /* @__PURE__ */ t("label", { @@ -251,7 +246,7 @@ function X() { children: [/* @__PURE__ */ t("input", { type: "checkbox", checked: x, - onChange: (s) => C(s.target.checked) + onChange: (n) => C(n.target.checked) }), a("measurement.recalculate")] }), k && /* @__PURE__ */ t("p", { @@ -264,14 +259,14 @@ function X() { children: [/* @__PURE__ */ t("button", { type: "button", className: w, - disabled: n, - onClick: () => o.dismissCalibration(), + disabled: s, + onClick: () => c.dismissCalibration(), children: a("demo.cancel") }), /* @__PURE__ */ t("button", { className: w, type: "submit", - disabled: n || !A || !(Number(u) > 0) || !Number.isFinite(Number(u)), - children: a(n ? "measurement.applying" : "measurement.apply") + disabled: s || !A || !(Number(u) > 0) || !Number.isFinite(Number(u)), + children: a(s ? "measurement.applying" : "measurement.apply") })] }) ] @@ -282,4 +277,4 @@ export { X as CalibrationDialog, W as MeasurementSection }; -//# sourceMappingURL=measurement-DZOOYxOT-DhLpoEY8.js.map +//# sourceMappingURL=measurement-6M_KEsFK-Bw9_NzWx.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/nl-DMicqqYw-jDRpgMWC.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/nl-DNuIdcyV-Dte7eubE.js similarity index 99% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/nl-DMicqqYw-jDRpgMWC.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/nl-DNuIdcyV-Dte7eubE.js index 975e5edd..586a2a4e 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/nl-DMicqqYw-jDRpgMWC.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/nl-DNuIdcyV-Dte7eubE.js @@ -99,6 +99,7 @@ const e = { saveFile: "Bestand opslaan", removeLink: "Koppeling verwijderen", delete: "Verwijderen", + duplicate: "Dupliceren", group: "Groeperen", ungroup: "Groep opheffen", stampFromSelection: "Stempel maken", @@ -475,7 +476,8 @@ const e = { boxes: "Vakjes", box: "Vakje {number}", addButton: "Knop toevoegen", - addBox: "Vakje toevoegen" + addBox: "Vakje toevoegen", + duplicateGroup: "Groep dupliceren" }, stylePanel: { mixed: "(gemengd)", @@ -732,4 +734,4 @@ const e = { export { e as nl }; -//# sourceMappingURL=nl-DMicqqYw-jDRpgMWC.js.map +//# sourceMappingURL=nl-DNuIdcyV-Dte7eubE.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-panel-BgbrOoBa-DCb1Oxsu.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-panel-qcEnzfex-B8RxefiU.js similarity index 94% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-panel-BgbrOoBa-DCb1Oxsu.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-panel-qcEnzfex-B8RxefiU.js index 739976b3..021e415c 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-panel-BgbrOoBa-DCb1Oxsu.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-panel-qcEnzfex-B8RxefiU.js @@ -1,4 +1,4 @@ -import { u as G, aJ as we, aK as ve, aL as ke, h as Te, E as ce, aM as Ce, d as D, i as re, a5 as Se, aN as Me, m as H, e as g, au as Re, A as K, aO as ae, f as De, I as Oe, S as Pe, F as Ke } from "./wasm-url-asset-DQFmMC86.js"; +import { u as G, aJ as we, aK as ve, aL as ke, h as Te, F as ce, aM as Ce, d as D, i as re, a6 as Se, aN as Me, m as H, e as g, as as Re, A as K, aO as ae, f as De, I as Oe, S as Pe, G as Ke } from "./wasm-url-asset-BJXsMWLm.js"; function ue(e, i) { const r = e[i].depth; for (let l = i - 1; l >= 0; l -= 1) if (e[l].depth < r) return l; @@ -10,7 +10,7 @@ function Ne(e, i) { e[o].depth === r && l.push(o); return l; } -function Ee(e, i, r, l = {}) { +function Ie(e, i, r, l = {}) { if (e.length === 0) return null; const o = e.length - 1; if (i < 0 || i > o) @@ -49,7 +49,7 @@ function Ee(e, i, r, l = {}) { } } const m = (e) => e ? String(e.objectNumber) : "top"; -function Ie(e, i) { +function Ee(e, i) { const r = i.trim().toLocaleLowerCase(); if (!r) return []; const l = new Map(e.map((u) => [m(u.ref), u])), o = /* @__PURE__ */ new Set(); @@ -126,7 +126,7 @@ const ie = 8, He = 4, Ye = 450, le = 28, de = 13, se = 16; function _e(e) { const { outline: i, rows: r, currentKey: l, selected: o, editable: c, filtering: h, renamingKey: d, onRename: u } = e, f = G(), b = Re(), y = K(null), [p, v] = D(0), [R, N] = D(0), [O, T] = D(null), [$, C] = D(null), [k, P] = D(null), [S, M] = D(!1), Y = K(null); Y.current = k; - const _ = K(null), B = K(!1), X = new Set(o.map(m)), E = (t) => t === null ? -1 : r.findIndex((n) => m(n.item.ref) === t), z = E(O) >= 0 ? O : l ?? (o[0] ? m(o[0]) : null), J = E(z); + const _ = K(null), B = K(!1), X = new Set(o.map(m)), I = (t) => t === null ? -1 : r.findIndex((n) => m(n.item.ref) === t), z = I(O) >= 0 ? O : l ?? (o[0] ? m(o[0]) : null), J = I(z); ae(() => { const t = y.current; if (!t) return; @@ -138,9 +138,9 @@ function _e(e) { if (!n || t < 0) return; const s = t * 30; s < n.scrollTop ? n.scrollTop = s : s + 30 > n.scrollTop + n.clientHeight && (n.scrollTop = s + 30 - n.clientHeight); - }, V = E(l); + }, V = I(l); H(() => j(V), [V]); - const W = E(d); + const W = I(d); H(() => j(W), [W]); const Q = Math.max(0, Math.floor(p / 30) - ie), fe = Math.min(r.length, Math.ceil((p + R) / 30) + ie), Z = (t) => { const { item: n } = t; @@ -184,7 +184,7 @@ function _e(e) { }, pe = (t) => { if (t.target !== t.currentTarget) return; M(!0); - const n = t.key === "Backspace" ? "Delete" : t.key, s = Ee(r, J, n, { editable: c }); + const n = t.key === "Backspace" ? "Delete" : t.key, s = Ie(r, J, n, { editable: c }); !s || h && (s.type === "expand" || s.type === "collapse") || (t.preventDefault(), me(s)); }, ge = (t, n, s) => { if (B.current) { @@ -196,9 +196,9 @@ function _e(e) { i.select(X.has(a) ? o.filter((x) => m(x) !== a) : [...o, t.item.ref]), C(a); return; } - if (s.shiftKey && $ !== null && E($) >= 0) { - const x = E($), [I, F] = x < n ? [x, n] : [n, x]; - i.select(r.slice(I, F + 1).map((w) => w.item.ref)); + if (s.shiftKey && $ !== null && I($) >= 0) { + const x = I($), [E, F] = x < n ? [x, n] : [n, x]; + i.select(r.slice(E, F + 1).map((w) => w.item.ref)); return; } C(a), i.select([t.item.ref]), Z(t); @@ -207,10 +207,10 @@ function _e(e) { }, ee = (t, n, s) => { const a = y.current; if (!a) return null; - const x = s - a.getBoundingClientRect().top + a.scrollTop, I = Math.max(0, Math.min(r.length, Math.round(x / 30))), F = getComputedStyle(a).direction === "rtl", w = (n - t.startX) * (F ? -1 : 1), A = Fe(r, t.moving, I, t.startDepth + w / 16); + const x = s - a.getBoundingClientRect().top + a.scrollTop, E = Math.max(0, Math.min(r.length, Math.round(x / 30))), F = getComputedStyle(a).direction === "rtl", w = (n - t.startX) * (F ? -1 : 1), A = Fe(r, t.moving, E, t.startDepth + w / 16); return A ? { ...A, - gap: I + gap: E } : null; }, te = (t, n, s) => { const a = { @@ -221,7 +221,7 @@ function _e(e) { P(a), y.current?.setPointerCapture(t.pointerId); }, be = (t, n) => { if (!c || h || n.button !== 0 || d !== null || n.target.closest("button, input")) return; - const s = m(t.item.ref), a = X.has(s) ? X : /* @__PURE__ */ new Set([s]), x = Xe(r, a), I = r.filter((w) => a.has(m(w.item.ref))).filter((w) => { + const s = m(t.item.ref), a = X.has(s) ? X : /* @__PURE__ */ new Set([s]), x = Xe(r, a), E = r.filter((w) => a.has(m(w.item.ref))).filter((w) => { const A = m(w.item.ref), L = w.item.parent ? m(w.item.parent) : null; return !(L !== null && x.has(L) && x.has(A)); }).map((w) => w.item.ref), F = { @@ -230,7 +230,7 @@ function _e(e) { startY: n.clientY, startDepth: t.depth, moving: x, - refs: I, + refs: E, active: !1, drop: null }; @@ -456,7 +456,7 @@ function je(e, i, r) { return null; } function Ge() { - const e = G(), i = we(), { items: r, rows: l, current: o, selected: c, status: h, incomplete: d } = ve(), { mode: u } = ke(), f = Te(), b = ce("outline:add"), y = b.visible && b.enabled, [p, v] = Ce(), [R, N] = D(null), O = p.trim() !== "", T = re(() => O ? Ie(r, p) : l, [ + const e = G(), i = we(), { items: r, rows: l, current: o, selected: c, status: h, incomplete: d } = ve(), { mode: u } = ke(), f = Te(), b = ce("outline:add"), y = b.visible && b.enabled, [p, v] = Ce(), [R, N] = D(null), O = p.trim() !== "", T = re(() => O ? Ee(r, p) : l, [ O, r, p, @@ -508,4 +508,4 @@ function Ge() { export { Ge as OutlinePanel }; -//# sourceMappingURL=outline-panel-BgbrOoBa-DCb1Oxsu.js.map +//# sourceMappingURL=outline-panel-qcEnzfex-B8RxefiU.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-panel-BgbrOoBa-D3gSj0ae.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-panel-qcEnzfex-CzT-23Th.js similarity index 83% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-panel-BgbrOoBa-D3gSj0ae.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-panel-qcEnzfex-CzT-23Th.js index 1d538e6c..f483863f 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-panel-BgbrOoBa-D3gSj0ae.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-panel-qcEnzfex-CzT-23Th.js @@ -1,4 +1,4 @@ -import { u as G, ag as ve, ah as we, ai as xe, p as ke, K as ce, aj as Te, k as P, q as re, a5 as Se, ak as Ce, v as Y, l as h, al as Re, A as O, am as ae, n as Me, m as Pe, S as De, L as Ke } from "./init-DY-DOXIU.js"; +import { u as G, ah as ve, ai as we, aj as xe, p as ke, L as ce, ak as Te, k as P, q as re, a6 as Se, al as Ce, v as Y, l as h, am as Me, A as O, an as ae, n as Re, m as Pe, S as De, M as Ke } from "./init-tVr9KnGC.js"; import { treeKeyAction as Oe } from "@embedpdf/core-ui"; const d = (t) => t ? String(t.objectNumber) : "top"; function Ne(t, a) { @@ -8,18 +8,18 @@ function Ne(t, a) { for (const u of t) if (u.title.toLocaleLowerCase().includes(r)) for (let f = u; f; ) { - const p = d(f.ref); - if (o.has(p)) break; - o.add(p), f = f.parent ? l.get(d(f.parent)) : void 0; + const g = d(f.ref); + if (o.has(g)) break; + o.add(g), f = f.parent ? l.get(d(f.parent)) : void 0; } - const c = /* @__PURE__ */ new Map(), g = new Set(t.flatMap((u) => u.parent ? [d(u.parent)] : [])), b = []; + const c = /* @__PURE__ */ new Map(), p = new Set(t.flatMap((u) => u.parent ? [d(u.parent)] : [])), b = []; for (const u of t) { - const f = d(u.ref), p = u.parent ? (c.get(d(u.parent)) ?? -1) + 1 : 0; - if (c.set(f, p), !o.has(f)) continue; - const y = g.has(f); + const f = d(u.ref), g = u.parent ? (c.get(d(u.parent)) ?? -1) + 1 : 0; + if (c.set(f, g), !o.has(f)) continue; + const y = p.has(f); b.push({ item: u, - depth: p, + depth: g, hasChildren: y, expanded: y }); @@ -58,25 +58,25 @@ function Le(t, a) { function Xe(t, a, r, l) { const o = t.filter((x) => !a.has(d(x.item.ref))); if (o.length === 0) return null; - const c = t.slice(0, r).filter((x) => !a.has(d(x.item.ref))).length, g = o[c - 1], b = o[c], u = g ? g.depth + 1 : 0, f = b ? Math.min(b.depth, u) : 0, p = Math.max(f, Math.min(u, Math.round(l))); + const c = t.slice(0, r).filter((x) => !a.has(d(x.item.ref))).length, p = o[c - 1], b = o[c], u = p ? p.depth + 1 : 0, f = b ? Math.min(b.depth, u) : 0, g = Math.max(f, Math.min(u, Math.round(l))); let y = null, m = null; for (let x = c - 1; x >= 0; x -= 1) { - const M = o[x]; - if (M.depth < p) { - y = M.item.ref; + const R = o[x]; + if (R.depth < g) { + y = R.item.ref; break; } - M.depth === p && m === null && (m = M.item.ref); + R.depth === g && m === null && (m = R.item.ref); } return { parent: y, position: m ? { after: m } : "start", - depth: p + depth: g }; } const ie = 8, Ae = 4, Fe = 450, le = 28, ue = 13, se = 16; function Ye(t) { - const { outline: a, rows: r, currentKey: l, selected: o, editable: c, filtering: g, renamingKey: b, onRename: u } = t, f = G(), p = Re(), y = O(null), [m, x] = P(0), [M, N] = P(0), [D, T] = P(null), [X, S] = P(null), [k, K] = P(null), [C, R] = P(!1), _ = O(null); + const { outline: a, rows: r, currentKey: l, selected: o, editable: c, filtering: p, renamingKey: b, onRename: u } = t, f = G(), g = Me(), y = O(null), [m, x] = P(0), [R, N] = P(0), [D, T] = P(null), [X, S] = P(null), [k, K] = P(null), [C, M] = P(!1), _ = O(null); _.current = k; const B = O(null), H = O(!1), A = new Set(o.map(d)), I = (e) => e === null ? -1 : r.findIndex((n) => d(n.item.ref) === e), q = I(D) >= 0 ? D : l ?? (o[0] ? d(o[0]) : null), V = I(q); ae(() => { @@ -94,7 +94,7 @@ function Ye(t) { Y(() => z(W), [W]); const J = I(b); Y(() => z(J), [J]); - const Q = Math.max(0, Math.floor(m / 30) - ie), fe = Math.min(r.length, Math.ceil((m + M) / 30) + ie), Z = (e) => { + const Q = Math.max(0, Math.floor(m / 30) - ie), fe = Math.min(r.length, Math.ceil((m + R) / 30) + ie), Z = (e) => { const { item: n } = e; !n.target && !n.action || (a.activate(n.ref), t.onPicked()); }, de = (e, n) => { @@ -135,10 +135,10 @@ function Ye(t) { } }, he = (e) => { if (e.target !== e.currentTarget) return; - R(!0); + M(!0); const n = e.key === "Backspace" ? "Delete" : e.key, i = Oe(r, V, n, { editable: c }); - !i || g && (i.type === "expand" || i.type === "collapse") || (e.preventDefault(), me(i)); - }, ge = (e, n, i) => { + !i || p && (i.type === "expand" || i.type === "collapse") || (e.preventDefault(), me(i)); + }, pe = (e, n, i) => { if (H.current) { H.current = !1; return; @@ -171,8 +171,8 @@ function Ye(t) { drop: ee(e, n, i) }; K(s), y.current?.setPointerCapture(e.pointerId); - }, pe = (e, n) => { - if (!c || g || n.button !== 0 || b !== null || n.target.closest("button, input")) return; + }, ge = (e, n) => { + if (!c || p || n.button !== 0 || b !== null || n.target.closest("button, input")) return; const i = d(e.item.ref), s = A.has(i) ? A : /* @__PURE__ */ new Set([i]), v = Le(r, s), E = r.filter((w) => s.has(d(w.item.ref))).filter((w) => { const $ = d(w.item.ref), L = w.item.parent ? d(w.item.parent) : null; return !(L !== null && v.has(L) && v.has($)); @@ -233,10 +233,10 @@ function Ye(t) { "aria-label": t.label, "aria-multiselectable": !0, tabIndex: 0, - "aria-activedescendant": V >= 0 ? `${p}-${q}` : void 0, + "aria-activedescendant": V >= 0 ? `${g}-${q}` : void 0, onKeyDown: he, - onFocus: (e) => e.target === e.currentTarget && R(e.currentTarget.matches(":focus-visible")), - onBlur: (e) => e.target === e.currentTarget && R(!1), + onFocus: (e) => e.target === e.currentTarget && M(e.currentTarget.matches(":focus-visible")), + onBlur: (e) => e.target === e.currentTarget && M(!1), onScroll: (e) => x(e.currentTarget.scrollTop), onPointerMove: be, onPointerUp: (e) => ne(e, !0), @@ -250,7 +250,7 @@ function Ye(t) { children: [ye.map((e, n) => { const i = Q + n, s = d(e.item.ref); return /* @__PURE__ */ h(_e, { - id: `${p}-${s}`, + id: `${g}-${s}`, outline: a, row: e, index: i, @@ -259,12 +259,12 @@ function Ye(t) { focused: C && s === q, moving: j && k.moving.has(s), editable: c, - foldable: !g, + foldable: !p, renaming: s === b, mode: t.mode, untitled: f("outline.untitled"), - onClick: (v) => ge(e, i, v), - onPointerDown: (v) => pe(e, v), + onClick: (v) => pe(e, i, v), + onPointerDown: (v) => ge(e, v), onRenameStart: () => u(s), onRenameEnd: () => { u(null), T(s), y.current?.focus({ preventScroll: !0 }); @@ -286,15 +286,15 @@ function Ye(t) { }); } function _e(t) { - const { row: a, outline: r } = t, { item: l, depth: o, hasChildren: c, expanded: g } = a, b = O(null), u = Me({ + const { row: a, outline: r } = t, { item: l, depth: o, hasChildren: c, expanded: p } = a, b = O(null), u = Re({ label: l.title || t.untitled, labelShown: !0 - }, { clipped: (m) => m }), f = !l.target && !l.action, p = $e(l.color, t.mode), y = t.selected ? "bg-accent-light text-fg" : t.current ? "bg-hover text-fg" : "text-fg-secondary hover:bg-hover"; + }, { clipped: (m) => m }), f = !l.target && !l.action, g = $e(l.color, t.mode), y = t.selected ? "bg-accent-light text-fg" : t.current ? "bg-hover text-fg" : "text-fg-secondary hover:bg-hover"; return /* @__PURE__ */ h("div", { id: t.id, role: "treeitem", "aria-level": o + 1, - "aria-expanded": c ? g : void 0, + "aria-expanded": c ? p : void 0, "aria-selected": t.selected, "aria-current": t.current ? "location" : void 0, onClick: t.onClick, @@ -320,13 +320,13 @@ function _e(t) { "aria-hidden": !0, disabled: !c || !t.foldable, onClick: (m) => { - m.stopPropagation(), g ? r.collapse(l.ref) : r.expand(l.ref); + m.stopPropagation(), p ? r.collapse(l.ref) : r.expand(l.ref); }, className: "text-fg-muted flex h-5 w-5 shrink-0 items-center justify-center rounded disabled:cursor-default", children: c && /* @__PURE__ */ h(Pe, { name: "chevronRight", size: 14, - className: `transition-transform rtl:-scale-x-100 ${g ? "rotate-90 rtl:-rotate-90" : ""}` + className: `transition-transform rtl:-scale-x-100 ${p ? "rotate-90 rtl:-rotate-90" : ""}` }) }), t.renaming ? /* @__PURE__ */ h(He, { @@ -340,7 +340,7 @@ function _e(t) { className: `min-w-0 flex-1 truncate ${f ? "opacity-60" : ""}`, style: { fontSize: ue, - color: p ?? void 0, + color: g ?? void 0, fontWeight: l.bold ? 600 : void 0, fontStyle: l.italic ? "italic" : void 0 }, @@ -365,7 +365,7 @@ function Be() { }) : null; } function He({ title: t, onDone: a }) { - const r = G(), l = O(null), o = O(!1), [c, g] = P(t); + const r = G(), l = O(null), o = O(!1), [c, p] = P(t); ae(() => { l.current?.focus(), l.current?.select(); }, []); @@ -381,7 +381,7 @@ function He({ title: t, onDone: a }) { value: c, "aria-label": r("commands.outline.rename"), maxLength: 32767, - onChange: (f) => g(f.target.value), + onChange: (f) => p(f.target.value), onKeyDown: (f) => { f.stopPropagation(), f.key === "Enter" ? b(c) : f.key === "Escape" && b(null); }, @@ -408,7 +408,7 @@ function je(t, a, r) { return null; } function Ue() { - const t = G(), a = ve(), { items: r, rows: l, current: o, selected: c, status: g, incomplete: b } = we(), { mode: u } = xe(), f = ke(), p = ce("outline:add"), y = p.visible && p.enabled, [m, x] = Te(), [M, N] = P(null), D = m.trim() !== "", T = re(() => D ? Ne(r, m) : l, [ + const t = G(), a = ve(), { items: r, rows: l, current: o, selected: c, status: p, incomplete: b } = we(), { mode: u } = xe(), f = ke(), g = ce("outline:add"), y = g.visible && g.enabled, [m, x] = Te(), [R, N] = P(null), D = m.trim() !== "", T = re(() => D ? Ne(r, m) : l, [ D, r, m, @@ -421,29 +421,29 @@ function Ue() { N(String(C.item)), S.close(); return; } - const [R] = c; - !R || R.objectNumber === C.after || (x(""), N(d(R)), S.close()); + const [M] = c; + !M || M.objectNumber === C.after || (x(""), N(d(M)), S.close()); }, [ S, c, x ]); - const k = (C, R = !1) => /* @__PURE__ */ h("div", { + const k = (C, M = !1) => /* @__PURE__ */ h("div", { className: "text-fg-muted flex flex-col items-center gap-3 p-6 text-center text-sm", - children: [/* @__PURE__ */ h("p", { children: C }), R && y && /* @__PURE__ */ h("button", { + children: [/* @__PURE__ */ h("p", { children: C }), M && y && /* @__PURE__ */ h("button", { type: "button", - onClick: () => void p.run(), + onClick: () => void g.run(), className: "border-border text-fg hover:bg-hover rounded-md border px-3 py-1.5 text-sm", - children: p.label + children: g.label })] - }), K = r.length === 0 ? g === "idle" || g === "loading" ? k(t("outline.loading")) : g === "forbidden" || g === "error" ? k(t("outline.failed")) : k(t("outline.empty"), !0) : D && T.length === 0 ? k(t("outline.noMatches")) : /* @__PURE__ */ h(Ye, { + }), K = r.length === 0 ? p === "idle" || p === "loading" ? k(t("outline.loading")) : p === "forbidden" || p === "error" ? k(t("outline.failed")) : k(t("outline.empty"), !0) : D && T.length === 0 ? k(t("outline.noMatches")) : /* @__PURE__ */ h(Ye, { outline: a, rows: T, currentKey: X, selected: c, editable: y, filtering: D, - renamingKey: M, + renamingKey: R, onRename: N, mode: u, onPicked: f, @@ -460,4 +460,4 @@ function Ue() { export { Ue as OutlinePanel }; -//# sourceMappingURL=outline-panel-BgbrOoBa-D3gSj0ae.js.map +//# sourceMappingURL=outline-panel-qcEnzfex-CzT-23Th.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-properties-Fm45njZA-BlMJu-4C.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-properties-D8sxr4I4-4vueiSIZ.js similarity index 85% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-properties-Fm45njZA-BlMJu-4C.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-properties-D8sxr4I4-4vueiSIZ.js index d2471b83..747cc5b2 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-properties-Fm45njZA-BlMJu-4C.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-properties-D8sxr4I4-4vueiSIZ.js @@ -1,4 +1,4 @@ -import { a5 as B, aH as D, U as R, e as t, u as G, a as U, au as z, d as o, K as W, aI as M } from "./wasm-url-asset-DQFmMC86.js"; +import { a6 as D, aF as G, V as K, e as t, u as R, a as z, as as U, d as o, L as W, aG as M } from "./wasm-url-asset-BJXsMWLm.js"; const Y = [ "#000000", "#c92a2a", @@ -19,7 +19,7 @@ const Y = [ LastPage: "commands.page.last" }; function X() { - const d = B(D), r = R(M), i = d.props.item, l = r && i !== void 0 ? r.get({ + const d = D(G), r = K(M), i = d.props.item, l = r && i !== void 0 ? r.get({ kind: "objectNumber", objectNumber: i }) : null; @@ -31,7 +31,7 @@ function X() { }, i); } function J({ outline: d, item: r, hasChildren: i, onClose: l }) { - const n = G(), P = U(), C = z(), a = r.target, E = (e) => P.documents.getPage(e)?.index ?? 0, [p, S] = o(r.title), [s, g] = o(r.color), [m, T] = o(r.bold), [b, H] = o(r.italic), [f, F] = o(r.open), [c, K] = o(() => a ? a.kind === "goto" ? "page" : a.kind === "uri" ? "uri" : a.kind === "named" && y.includes(a.name) ? "named" : "kept" : "none"), [O, L] = o(() => String(a?.kind === "goto" ? E(a.destination.page) + 1 : 1)), h = a?.kind === "goto" && (a.destination.kind === "fit" || a.destination.kind === "fitH") ? a.destination.kind : "kept", [k, V] = o(h), [w, _] = o(a?.kind === "uri" ? a.uri : ""), [x, $] = o(a?.kind === "named" && y.includes(a.name) ? a.name : "NextPage"), j = () => { + const n = R(), P = z(), C = U(), a = r.target, E = (e) => P.documents.getPage(e)?.index ?? 0, [u, T] = o(r.title), [s, g] = o(r.color), [m, I] = o(r.bold), [b, F] = o(r.italic), [f, L] = o(r.open), [c, V] = o(() => a ? a.kind === "goto" ? "page" : a.kind === "uri" ? "uri" : a.kind === "named" && y.includes(a.name) ? "named" : "kept" : "none"), [O, H] = o(() => String(a?.kind === "goto" ? E(a.destination.page) + 1 : 1)), h = a?.kind === "goto" && (a.destination.kind === "fit" || a.destination.kind === "fitH") ? a.destination.kind : "kept", [k, _] = o(h), [w, $] = o(a?.kind === "uri" ? a.uri : ""), [x, j] = o(a?.kind === "named" && y.includes(a.name) ? a.name : "NextPage"), A = () => { switch (c) { case "none": return a ? null : void 0; @@ -66,24 +66,24 @@ function J({ outline: d, item: r, hasChildren: i, onClose: l }) { case "kept": return; } - }, A = () => { + }, B = () => { const e = { - ...p !== r.title ? { title: p } : {}, + ...u !== r.title ? { title: u } : {}, ...s !== r.color ? { color: s } : {}, ...m !== r.bold ? { bold: m } : {}, ...b !== r.italic ? { italic: b } : {}, ...i && f !== r.open ? { open: f } : {} - }, I = j(); - I !== void 0 && (e.target = I), Object.keys(e).length > 0 && d.update(r.ref, e).catch(() => { + }, S = A(); + S !== void 0 && (e.target = S), Object.keys(e).length > 0 && d.update(r.ref, e).catch(() => { }), l(); - }, u = "border-border bg-surface text-fg focus:border-accent w-full rounded border px-2.5 py-1.5 text-sm outline-none", v = "text-fg-secondary mb-1 block text-xs font-medium", N = "text-fg-secondary flex items-center gap-2 text-sm"; + }, p = "border-border bg-surface text-fg focus:border-accent w-full rounded border px-2.5 py-1.5 text-sm outline-none", v = "text-fg-secondary mb-1 block text-xs font-medium", N = "text-fg-secondary flex items-center gap-2 text-sm"; return /* @__PURE__ */ t(W, { labelledBy: C, onClose: l, className: "border-border bg-surface w-96 max-w-[calc(100vw-2rem)] rounded-lg border p-4 shadow-xl", children: /* @__PURE__ */ t("form", { onSubmit: (e) => { - e.preventDefault(), A(); + e.preventDefault(), B(); }, className: "flex flex-col gap-3", children: [ @@ -97,10 +97,10 @@ function J({ outline: d, item: r, hasChildren: i, onClose: l }) { children: n("outline.properties.name") }), /* @__PURE__ */ t("input", { type: "text", - value: p, + value: u, maxLength: 32767, - onChange: (e) => S(e.target.value), - className: u + onChange: (e) => T(e.target.value), + className: p })] }), /* @__PURE__ */ t("fieldset", { children: [/* @__PURE__ */ t("legend", { className: v, @@ -139,7 +139,7 @@ function J({ outline: d, item: r, hasChildren: i, onClose: l }) { children: [/* @__PURE__ */ t("input", { type: "checkbox", checked: m, - onChange: (e) => T(e.target.checked) + onChange: (e) => I(e.target.checked) }), /* @__PURE__ */ t("span", { className: "font-semibold", children: n("outline.properties.bold") @@ -149,7 +149,7 @@ function J({ outline: d, item: r, hasChildren: i, onClose: l }) { children: [/* @__PURE__ */ t("input", { type: "checkbox", checked: b, - onChange: (e) => H(e.target.checked) + onChange: (e) => F(e.target.checked) }), /* @__PURE__ */ t("span", { className: "italic", children: n("outline.properties.italic") @@ -162,7 +162,7 @@ function J({ outline: d, item: r, hasChildren: i, onClose: l }) { type: "checkbox", disabled: !i, checked: i && f, - onChange: (e) => F(e.target.checked) + onChange: (e) => L(e.target.checked) }), n("outline.properties.open")] }), /* @__PURE__ */ t("fieldset", { @@ -174,8 +174,8 @@ function J({ outline: d, item: r, hasChildren: i, onClose: l }) { }), /* @__PURE__ */ t("select", { value: c, - onChange: (e) => K(e.target.value), - className: u, + onChange: (e) => V(e.target.value), + className: p, children: [ /* @__PURE__ */ t("option", { value: "none", @@ -210,13 +210,13 @@ function J({ outline: d, item: r, hasChildren: i, onClose: l }) { min: 1, value: O, "aria-label": n("linkEditor.pagePlaceholder"), - onChange: (e) => L(e.target.value), - className: `${u} w-24` + onChange: (e) => H(e.target.value), + className: `${p} w-24` }), /* @__PURE__ */ t("select", { value: k, "aria-label": n("outline.properties.fit"), - onChange: (e) => V(e.target.value), - className: u, + onChange: (e) => _(e.target.value), + className: p, children: [ h === "kept" && /* @__PURE__ */ t("option", { value: "kept", @@ -237,14 +237,14 @@ function J({ outline: d, item: r, hasChildren: i, onClose: l }) { type: "url", value: w, placeholder: n("linkEditor.urlPlaceholder"), - onChange: (e) => _(e.target.value), - className: u + onChange: (e) => $(e.target.value), + className: p }), c === "named" && /* @__PURE__ */ t("select", { value: x, "aria-label": n("outline.properties.targetNamed"), - onChange: (e) => $(e.target.value), - className: u, + onChange: (e) => j(e.target.value), + className: p, children: y.map((e) => /* @__PURE__ */ t("option", { value: e, children: n(q[e]) @@ -276,4 +276,4 @@ function J({ outline: d, item: r, hasChildren: i, onClose: l }) { export { X as OutlinePropertiesDialog }; -//# sourceMappingURL=outline-properties-Fm45njZA-BlMJu-4C.js.map +//# sourceMappingURL=outline-properties-D8sxr4I4-4vueiSIZ.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-properties-Fm45njZA-CIdMmLmr.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-properties-D8sxr4I4-DAOfIx49.js similarity index 93% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-properties-Fm45njZA-CIdMmLmr.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-properties-D8sxr4I4-DAOfIx49.js index 09f82245..74cf459c 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-properties-Fm45njZA-CIdMmLmr.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/outline-properties-D8sxr4I4-DAOfIx49.js @@ -1,6 +1,6 @@ -import { a5 as D, aF as K, Z as R, l as t, u as G, g as z, al as U, k as o, P as W } from "./init-DY-DOXIU.js"; +import { a6 as D, aF as K, _ as R, l as t, u as G, g as z, am as U, k as o, Q as W } from "./init-tVr9KnGC.js"; import { OutlineToken as M } from "@embedpdf/plugin-outline"; -const Y = [ +const Q = [ "#000000", "#c92a2a", "#e8590c", @@ -13,13 +13,13 @@ const Y = [ "PrevPage", "FirstPage", "LastPage" -], Z = { +], Y = { NextPage: "commands.page.next", PrevPage: "commands.page.previous", FirstPage: "commands.page.first", LastPage: "commands.page.last" }; -function X() { +function Z() { const d = D(K), r = R(M), i = d.props.item, l = r && i !== void 0 ? r.get({ kind: "objectNumber", objectNumber: i @@ -32,7 +32,7 @@ function X() { }, i); } function q({ outline: d, item: r, hasChildren: i, onClose: l }) { - const n = G(), P = z(), C = U(), a = r.target, E = (e) => P.documents.getPage(e)?.index ?? 0, [u, T] = o(r.title), [s, g] = o(r.color), [m, I] = o(r.bold), [f, F] = o(r.italic), [b, H] = o(r.open), [c, L] = o(() => a ? a.kind === "goto" ? "page" : a.kind === "uri" ? "uri" : a.kind === "named" && y.includes(a.name) ? "named" : "kept" : "none"), [O, V] = o(() => String(a?.kind === "goto" ? E(a.destination.page) + 1 : 1)), h = a?.kind === "goto" && (a.destination.kind === "fit" || a.destination.kind === "fitH") ? a.destination.kind : "kept", [k, _] = o(h), [w, $] = o(a?.kind === "uri" ? a.uri : ""), [x, j] = o(a?.kind === "named" && y.includes(a.name) ? a.name : "NextPage"), A = () => { + const n = G(), P = z(), C = U(), a = r.target, E = (e) => P.documents.getPage(e)?.index ?? 0, [u, T] = o(r.title), [s, g] = o(r.color), [m, I] = o(r.bold), [f, F] = o(r.italic), [b, _] = o(r.open), [c, H] = o(() => a ? a.kind === "goto" ? "page" : a.kind === "uri" ? "uri" : a.kind === "named" && y.includes(a.name) ? "named" : "kept" : "none"), [O, L] = o(() => String(a?.kind === "goto" ? E(a.destination.page) + 1 : 1)), h = a?.kind === "goto" && (a.destination.kind === "fit" || a.destination.kind === "fitH") ? a.destination.kind : "kept", [k, V] = o(h), [w, $] = o(a?.kind === "uri" ? a.uri : ""), [x, j] = o(a?.kind === "named" && y.includes(a.name) ? a.name : "NextPage"), A = () => { switch (c) { case "none": return a ? null : void 0; @@ -116,7 +116,7 @@ function q({ outline: d, item: r, hasChildren: i, onClose: l }) { className: `border-border text-fg rounded border px-2 py-0.5 text-xs ${s === null ? "ring-accent ring-2" : ""}`, children: n("outline.properties.noColor") }), - Y.map((e) => /* @__PURE__ */ t("button", { + Q.map((e) => /* @__PURE__ */ t("button", { type: "button", "aria-label": e, "aria-pressed": s === e, @@ -163,7 +163,7 @@ function q({ outline: d, item: r, hasChildren: i, onClose: l }) { type: "checkbox", disabled: !i, checked: i && b, - onChange: (e) => H(e.target.checked) + onChange: (e) => _(e.target.checked) }), n("outline.properties.open")] }), /* @__PURE__ */ t("fieldset", { @@ -175,7 +175,7 @@ function q({ outline: d, item: r, hasChildren: i, onClose: l }) { }), /* @__PURE__ */ t("select", { value: c, - onChange: (e) => L(e.target.value), + onChange: (e) => H(e.target.value), className: p, children: [ /* @__PURE__ */ t("option", { @@ -211,12 +211,12 @@ function q({ outline: d, item: r, hasChildren: i, onClose: l }) { min: 1, value: O, "aria-label": n("linkEditor.pagePlaceholder"), - onChange: (e) => V(e.target.value), + onChange: (e) => L(e.target.value), className: `${p} w-24` }), /* @__PURE__ */ t("select", { value: k, "aria-label": n("outline.properties.fit"), - onChange: (e) => _(e.target.value), + onChange: (e) => V(e.target.value), className: p, children: [ h === "kept" && /* @__PURE__ */ t("option", { @@ -248,7 +248,7 @@ function q({ outline: d, item: r, hasChildren: i, onClose: l }) { className: p, children: y.map((e) => /* @__PURE__ */ t("option", { value: e, - children: n(Z[e]) + children: n(Y[e]) }, e)) }), c === "kept" && /* @__PURE__ */ t("p", { @@ -275,6 +275,6 @@ function q({ outline: d, item: r, hasChildren: i, onClose: l }) { }); } export { - X as OutlinePropertiesDialog + Z as OutlinePropertiesDialog }; -//# sourceMappingURL=outline-properties-Fm45njZA-CIdMmLmr.js.map +//# sourceMappingURL=outline-properties-D8sxr4I4-DAOfIx49.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/pl-BrqfUcaS-BK8oIkBd.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/pl-ZVxF5BV2-CbfU8VmS.js similarity index 99% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/pl-BrqfUcaS-BK8oIkBd.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/pl-ZVxF5BV2-CbfU8VmS.js index 76756d76..c94b0541 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/pl-BrqfUcaS-BK8oIkBd.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/pl-ZVxF5BV2-CbfU8VmS.js @@ -99,6 +99,7 @@ const e = { saveFile: "Zapisz plik", removeLink: "Usuń łącze", delete: "Usuń", + duplicate: "Duplikuj", group: "Grupuj", ungroup: "Rozgrupuj", stampFromSelection: "Utwórz stempel", @@ -477,7 +478,8 @@ const e = { boxes: "Pola wyboru", box: "Pole wyboru {number}", addButton: "Dodaj przycisk", - addBox: "Dodaj pole wyboru" + addBox: "Dodaj pole wyboru", + duplicateGroup: "Duplikuj grupę" }, stylePanel: { mixed: "(różne)", @@ -748,4 +750,4 @@ const e = { export { e as pl }; -//# sourceMappingURL=pl-BrqfUcaS-BK8oIkBd.js.map +//# sourceMappingURL=pl-ZVxF5BV2-CbfU8VmS.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/print-dialog-Bloq0P0B-BhaTDpmp.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/print-dialog-Cx4W9E8--RwbM3d9Y.js similarity index 94% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/print-dialog-Bloq0P0B-BhaTDpmp.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/print-dialog-Cx4W9E8--RwbM3d9Y.js index 4978e0a5..19912b2d 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/print-dialog-Bloq0P0B-BhaTDpmp.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/print-dialog-Cx4W9E8--RwbM3d9Y.js @@ -1,4 +1,4 @@ -import { a5 as O, aA as T, l as n, u as G, al as P, aB as J, U as Q, aq as U, aC as _, k as N, A as w, v as j, S as z, P as E } from "./init-DY-DOXIU.js"; +import { a6 as O, aA as Q, l as n, u as T, am as P, aB as G, V as J, aq as V, aC as _, k as N, A as w, v as j, S as z, Q as E } from "./init-tVr9KnGC.js"; function H(t, e) { const s = t.split(/[,,、،]/).map((a) => a.trim()).filter((a) => a !== ""); if (s.length === 0) return null; @@ -25,11 +25,11 @@ function L(t) { t.current?.cancel.abort(), t.current?.prepared?.destroy(), t.current = null; } function Y() { - const t = O(T); - return t.isOpen ? /* @__PURE__ */ n(V, { onClose: t.close }) : null; + const t = O(Q); + return t.isOpen ? /* @__PURE__ */ n(U, { onClose: t.close }) : null; } -function V({ onClose: t }) { - const e = G(), s = P(), l = P(), a = P(), o = J(), d = Q(), u = U(), m = _((i) => i.currentPageIndex), [p, b] = N("all"), [v, $] = N(""), [R, q] = N(!0), [r, g] = N({ kind: "choosing" }), y = w(null), A = w(null), D = w(null), x = o.getPrintQuality(d ?? void 0), f = K(p, u, m, v); +function U({ onClose: t }) { + const e = T(), s = P(), l = P(), a = P(), o = G(), d = J(), u = V(), m = _((i) => i.currentPageIndex), [p, b] = N("all"), [v, $] = N(""), [R, q] = N(!0), [r, g] = N({ kind: "choosing" }), y = w(null), A = w(null), D = w(null), x = o.getPrintQuality(d ?? void 0), f = K(p, u, m, v); j(() => () => L(y), []); const S = (i) => { g({ kind: "printing" }), i.print().then(t, (h) => { @@ -209,4 +209,4 @@ function I({ name: t, checked: e, onChoose: s, label: l, controls: a }) { export { Y as PrintDialog }; -//# sourceMappingURL=print-dialog-Bloq0P0B-BhaTDpmp.js.map +//# sourceMappingURL=print-dialog-Cx4W9E8--RwbM3d9Y.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/print-dialog-Bloq0P0B-DsjwXVbZ.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/print-dialog-Cx4W9E8--k4Pf50tT.js similarity index 85% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/print-dialog-Bloq0P0B-DsjwXVbZ.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/print-dialog-Cx4W9E8--k4Pf50tT.js index 7cf0ee07..7d47ec05 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/print-dialog-Bloq0P0B-DsjwXVbZ.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/print-dialog-Cx4W9E8--k4Pf50tT.js @@ -1,5 +1,5 @@ -import { a5 as T, aC as q, e as n, u as E, au as P, aD as G, N as J, an as K, aE as Q, d as N, A as w, m as j, S as _, K as z } from "./wasm-url-asset-DQFmMC86.js"; -function H(t, e) { +import { a6 as T, aA as q, e as n, u as G, as as P, aB as J, O as Q, al as _, aC as z, d as N, A as w, m as L, S as E, L as H } from "./wasm-url-asset-BJXsMWLm.js"; +function K(t, e) { const s = t.split(/[,,、،]/).map((a) => a.trim()).filter((a) => a !== ""); if (s.length === 0) return null; const l = /* @__PURE__ */ new Set(); @@ -18,10 +18,10 @@ function U(t, e, s, l) { const a = e[s]; return a ? [a.ref] : null; } - return H(l, e.length)?.map((a) => e[a - 1].ref) ?? null; + return K(l, e.length)?.map((a) => e[a - 1].ref) ?? null; } } -function L(t) { +function j(t) { t.current?.cancel.abort(), t.current?.prepared?.destroy(), t.current = null; } function Y() { @@ -29,14 +29,14 @@ function Y() { return t.isOpen ? /* @__PURE__ */ n(V, { onClose: t.close }) : null; } function V({ onClose: t }) { - const e = E(), s = P(), l = P(), a = P(), o = G(), d = J(), u = K(), m = Q((i) => i.currentPageIndex), [p, b] = N("all"), [y, $] = N(""), [R, F] = N(!0), [r, g] = N({ kind: "choosing" }), v = w(null), D = w(null), S = w(null), x = o.getPrintQuality(d ?? void 0), f = U(p, u, m, y); - j(() => () => L(v), []); - const A = (i) => { + const e = G(), s = P(), l = P(), a = P(), o = J(), d = Q(), u = _(), m = z((i) => i.currentPageIndex), [p, b] = N("all"), [y, O] = N(""), [R, $] = N(!0), [r, g] = N({ kind: "choosing" }), v = w(null), A = w(null), D = w(null), x = o.getPrintQuality(d ?? void 0), f = U(p, u, m, y); + L(() => () => j(v), []); + const S = (i) => { g({ kind: "printing" }), i.print().then(t, (h) => { console.warn("[embedpdf] print failed", h), g({ kind: "failed" }); }); - }, M = (i) => { - L(v); + }, F = (i) => { + j(v); const h = { cancel: new AbortController(), prepared: null @@ -59,19 +59,19 @@ function V({ onClose: t }) { h.prepared = c, c.needsTap ? g({ kind: "ready", prepared: c - }) : A(c); + }) : S(c); }, (c) => { k.aborted || (console.warn("[embedpdf] preparing the printout failed", c), g({ kind: "failed" })); }); }; - j(() => { - r.kind === "preparing" && r.progress === null && D.current?.focus(), r.kind === "ready" && S.current?.focus(); + L(() => { + r.kind === "preparing" && r.progress === null && A.current?.focus(), r.kind === "ready" && D.current?.focus(); }, [r]); - const C = r.kind === "choosing" || r.kind === "failed", O = r.kind === "preparing" ? r.progress && r.progress.pagesRendered > 0 ? e("print.preparingPage", { params: { + const C = r.kind === "choosing" || r.kind === "failed", M = r.kind === "preparing" ? r.progress && r.progress.pagesRendered > 0 ? e("print.preparingPage", { params: { page: Math.min(r.progress.pagesRendered + 1, r.progress.pageCount), total: r.progress.pageCount } }) : e("print.preparing") : r.kind === "ready" ? e("print.ready") : r.kind === "failed" ? e("print.failed") : null, B = x?.kind !== "images" ? null : x.dpi < 300 ? e("print.lowResolution", { params: { dpi: x.dpi } }) : e("print.images", { params: { dpi: x.dpi } }); - return /* @__PURE__ */ n(z, { + return /* @__PURE__ */ n(H, { labelledBy: s, onClose: () => { r.kind !== "printing" && t(); @@ -79,7 +79,7 @@ function V({ onClose: t }) { className: "border-border bg-surface w-96 rounded-lg border p-4 shadow-xl", children: /* @__PURE__ */ n("form", { onSubmit: (i) => { - i.preventDefault(), r.kind === "ready" ? A(r.prepared) : C && f !== null && M(f); + i.preventDefault(), r.kind === "ready" ? S(r.prepared) : C && f !== null && F(f); }, children: [ /* @__PURE__ */ n("h2", { @@ -87,7 +87,7 @@ function V({ onClose: t }) { className: "text-fg text-base font-semibold", children: e("print.title") }), - C ? /* @__PURE__ */ n(_, { children: [ + C ? /* @__PURE__ */ n(E, { children: [ /* @__PURE__ */ n("fieldset", { className: "mt-3", children: [/* @__PURE__ */ n("legend", { @@ -125,7 +125,7 @@ function V({ onClose: t }) { placeholder: e("print.rangePlaceholder"), value: y, onFocus: () => b("range"), - onChange: (i) => $(i.target.value), + onChange: (i) => O(i.target.value), className: "border-border bg-surface text-fg focus:border-accent focus:ring-accent min-w-0 flex-1 rounded-md border px-1.5 py-1 text-sm tabular-nums outline-none focus:ring-1 aria-[invalid=true]:border-red-600" })] }), @@ -142,7 +142,7 @@ function V({ onClose: t }) { type: "checkbox", className: "accent-accent", checked: R, - onChange: (i) => F(i.target.checked) + onChange: (i) => $(i.target.checked) }), /* @__PURE__ */ n("span", { className: "text-fg", children: e("print.annotations") @@ -159,19 +159,19 @@ function V({ onClose: t }) { /* @__PURE__ */ n("p", { role: "status", className: "text-fg-muted mt-2 min-h-5 text-sm", - children: O + children: M }), /* @__PURE__ */ n("div", { className: "mt-3 flex justify-end gap-2", children: [/* @__PURE__ */ n("button", { - ref: D, + ref: A, type: "button", disabled: r.kind === "printing", onClick: t, className: "border-border text-fg hover:bg-hover rounded-md border px-3 py-1.5 text-sm", children: e("print.cancel") }), /* @__PURE__ */ n("button", { - ref: S, + ref: D, type: "submit", disabled: C ? f === null : r.kind !== "ready", className: "bg-accent text-on-accent hover:bg-accent-hover rounded-md px-3 py-1.5 text-sm disabled:opacity-60", @@ -209,4 +209,4 @@ function I({ name: t, checked: e, onChoose: s, label: l, controls: a }) { export { Y as PrintDialog }; -//# sourceMappingURL=print-dialog-Bloq0P0B-DsjwXVbZ.js.map +//# sourceMappingURL=print-dialog-Cx4W9E8--k4Pf50tT.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/pt-DyQ0sdQk-DbzdajDg.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/pt-nD3P1M4h-BWUeQmPp.js similarity index 99% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/pt-DyQ0sdQk-DbzdajDg.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/pt-nD3P1M4h-BWUeQmPp.js index fe95af68..ae90f632 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/pt-DyQ0sdQk-DbzdajDg.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/pt-nD3P1M4h-BWUeQmPp.js @@ -99,6 +99,7 @@ const e = { saveFile: "Salvar arquivo", removeLink: "Remover link", delete: "Excluir", + duplicate: "Duplicar", group: "Agrupar", ungroup: "Desagrupar", stampFromSelection: "Criar carimbo", @@ -476,7 +477,8 @@ const e = { boxes: "Caixas", box: "Caixa {number}", addButton: "Adicionar um botão", - addBox: "Adicionar uma caixa" + addBox: "Adicionar uma caixa", + duplicateGroup: "Duplicar grupo" }, stylePanel: { mixed: "(misto)", @@ -740,4 +742,4 @@ const e = { export { e as pt }; -//# sourceMappingURL=pt-DyQ0sdQk-DbzdajDg.js.map +//# sourceMappingURL=pt-nD3P1M4h-BWUeQmPp.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redact-confirm-C0AI8Tbt-kx6yQn1w.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redact-confirm-C0AI8Tbt-Cbju2sek.js similarity index 91% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redact-confirm-C0AI8Tbt-kx6yQn1w.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redact-confirm-C0AI8Tbt-Cbju2sek.js index 2cfc301e..b35e55d0 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redact-confirm-C0AI8Tbt-kx6yQn1w.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redact-confirm-C0AI8Tbt-Cbju2sek.js @@ -1,5 +1,5 @@ -import { u as b, a5 as y, k as p, al as g, l as e, P as x } from "./init-DY-DOXIU.js"; -import { u as h } from "./redaction-HJziMgGx.js"; +import { u as b, a6 as y, k as p, am as g, l as e, Q as x } from "./init-tVr9KnGC.js"; +import { u as h } from "./redaction-DIV-C4iV.js"; function v() { const t = b(), r = y("redact-confirm"), a = h(), [s, n] = p(!1), [d, c] = p(null), i = g(); if (!r.isOpen) return null; @@ -59,4 +59,4 @@ function v() { export { v as RedactConfirmModal }; -//# sourceMappingURL=redact-confirm-C0AI8Tbt-kx6yQn1w.js.map +//# sourceMappingURL=redact-confirm-C0AI8Tbt-Cbju2sek.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redact-confirm-C0AI8Tbt-BKs7oimi.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redact-confirm-C0AI8Tbt-DkVNXVHu.js similarity index 90% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redact-confirm-C0AI8Tbt-BKs7oimi.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redact-confirm-C0AI8Tbt-DkVNXVHu.js index b02aa3a4..f32f9f2f 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redact-confirm-C0AI8Tbt-BKs7oimi.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redact-confirm-C0AI8Tbt-DkVNXVHu.js @@ -1,5 +1,5 @@ -import { u as b, a5 as y, d as p, au as g, e, K as x } from "./wasm-url-asset-DQFmMC86.js"; -import { u as h } from "./redaction-fOC9I-lM.js"; +import { u as b, a6 as y, d as p, as as g, e, L as x } from "./wasm-url-asset-BJXsMWLm.js"; +import { u as h } from "./redaction-NkDv_6vE.js"; function v() { const t = b(), r = y("redact-confirm"), a = h(), [s, n] = p(!1), [d, c] = p(null), i = g(); if (!r.isOpen) return null; @@ -59,4 +59,4 @@ function v() { export { v as RedactConfirmModal }; -//# sourceMappingURL=redact-confirm-C0AI8Tbt-BKs7oimi.js.map +//# sourceMappingURL=redact-confirm-C0AI8Tbt-DkVNXVHu.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-HJziMgGx.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-DIV-C4iV.js similarity index 73% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-HJziMgGx.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-DIV-C4iV.js index 05ad2e38..9719255d 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-HJziMgGx.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-DIV-C4iV.js @@ -1,5 +1,5 @@ import { RedactionToken as e, redactionState as o } from "@embedpdf/plugin-redaction"; -import { B as n, au as s, av as i, Y as c } from "./init-DY-DOXIU.js"; +import { B as n, au as s, av as i, Z as c } from "./init-tVr9KnGC.js"; function f() { return n(e); } @@ -15,4 +15,4 @@ export { m as b, f as u }; -//# sourceMappingURL=redaction-HJziMgGx.js.map +//# sourceMappingURL=redaction-DIV-C4iV.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-fOC9I-lM.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-NkDv_6vE.js similarity index 75% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-fOC9I-lM.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-NkDv_6vE.js index daebab7a..d664cd94 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-fOC9I-lM.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-NkDv_6vE.js @@ -1,4 +1,4 @@ -import { aP as s, V as t, r as i, aQ as o, aR as u, Q as l } from "./wasm-url-asset-DQFmMC86.js"; +import { aP as s, X as t, r as i, aQ as o, aR as u, U as l } from "./wasm-url-asset-BJXsMWLm.js"; const p = s(t, { read: (e) => ({ pendingCount: e.getPendingCount(), @@ -26,4 +26,4 @@ export { R as b, r as u }; -//# sourceMappingURL=redaction-fOC9I-lM.js.map +//# sourceMappingURL=redaction-NkDv_6vE.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-panel-BJvgl75F-QBtkOm4Z.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-panel-Djm12Ydh-CzJptj00.js similarity index 93% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-panel-BJvgl75F-QBtkOm4Z.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-panel-Djm12Ydh-CzJptj00.js index 4837e4bd..8eba9bd5 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-panel-BJvgl75F-QBtkOm4Z.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-panel-Djm12Ydh-CzJptj00.js @@ -1,5 +1,5 @@ -import { u as i, B as p, a5 as m, l as e, m as d, T as x } from "./init-DY-DOXIU.js"; -import { u as f, a as u, b as g } from "./redaction-HJziMgGx.js"; +import { u as i, B as p, a6 as m, l as e, m as d, T as x } from "./init-tVr9KnGC.js"; +import { u as f, a as u, b as g } from "./redaction-DIV-C4iV.js"; import { AnnotationToken as h, annotationKey as b } from "@embedpdf/plugin-annotation"; function k() { const a = i(), l = f(), s = u((t) => t.applying), n = g(), o = p(h), c = m("redact-confirm"); @@ -76,4 +76,4 @@ function k() { export { k as RedactionPanel }; -//# sourceMappingURL=redaction-panel-BJvgl75F-QBtkOm4Z.js.map +//# sourceMappingURL=redaction-panel-Djm12Ydh-CzJptj00.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-panel-BJvgl75F-aF47DJXW.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-panel-Djm12Ydh-DqRKqVFO.js similarity index 93% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-panel-BJvgl75F-aF47DJXW.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-panel-Djm12Ydh-DqRKqVFO.js index ae7a49cf..dde8d2b4 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-panel-BJvgl75F-aF47DJXW.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/redaction-panel-Djm12Ydh-DqRKqVFO.js @@ -1,5 +1,5 @@ -import { u as i, r as p, s as m, a5 as x, e, I as s, T as f, w as u } from "./wasm-url-asset-DQFmMC86.js"; -import { u as g, a as h, b } from "./redaction-fOC9I-lM.js"; +import { u as i, r as p, s as m, a6 as x, e, I as s, T as f, w as u } from "./wasm-url-asset-BJXsMWLm.js"; +import { u as g, a as h, b } from "./redaction-NkDv_6vE.js"; function N() { const a = i(), d = g(), l = h((t) => t.applying), n = b(), r = p(m), c = x("redact-confirm"); return /* @__PURE__ */ e("div", { @@ -75,4 +75,4 @@ function N() { export { N as RedactionPanel }; -//# sourceMappingURL=redaction-panel-BJvgl75F-aF47DJXW.js.map +//# sourceMappingURL=redaction-panel-Djm12Ydh-DqRKqVFO.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/search-panel-Eivx6mw6-CopOushs.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/search-panel-Bg1iPcy6-BiaQMQSJ.js similarity index 98% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/search-panel-Eivx6mw6-CopOushs.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/search-panel-Bg1iPcy6-BiaQMQSJ.js index e6a20906..74da3b38 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/search-panel-Eivx6mw6-CopOushs.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/search-panel-Bg1iPcy6-BiaQMQSJ.js @@ -1,4 +1,4 @@ -import { u as m, g as O, h as R, i as I, e as t, d as p, T as b, I as x, j as N, k as P, l as T, v as z, m as y, A as w, n as E, S as K } from "./wasm-url-asset-DQFmMC86.js"; +import { u as m, g as O, h as R, i as I, e as t, d as p, T as b, I as x, j as N, k as P, l as T, v as z, m as y, A as w, n as E, S as K } from "./wasm-url-asset-BJXsMWLm.js"; const j = 300, B = (e, s) => e != null && e.text === s.text && !!e.regex == !!s.regex && !!e.matchCase == !!s.matchCase && !!e.wholeWord == !!s.wholeWord; function C() { const e = P(), s = T(), { query: a } = s, [n, h] = p(() => a?.text ?? ""), [r, f] = p(() => a?.matchCase ?? !1), [i, l] = p(() => a?.wholeWord ?? !1), [c, d] = p(() => a?.regex ?? !1), o = { @@ -275,4 +275,4 @@ export { q as FindBar, $ as SearchPanel }; -//# sourceMappingURL=search-panel-Eivx6mw6-CopOushs.js.map +//# sourceMappingURL=search-panel-Bg1iPcy6-BiaQMQSJ.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/search-panel-Eivx6mw6-Dhc9WWk-.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/search-panel-Bg1iPcy6-DPYp_NzQ.js similarity index 99% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/search-panel-Eivx6mw6-Dhc9WWk-.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/search-panel-Bg1iPcy6-DPYp_NzQ.js index 9b42f3ff..1b962941 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/search-panel-Eivx6mw6-Dhc9WWk-.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/search-panel-Bg1iPcy6-DPYp_NzQ.js @@ -1,4 +1,4 @@ -import { u as m, o as O, p as R, q as P, l as t, k as p, T as b, m as x, r as N, s as T, t as I, v as w, A as y, w as z, S as E } from "./init-DY-DOXIU.js"; +import { u as m, o as O, p as R, q as P, l as t, k as p, T as b, m as x, r as N, s as T, t as I, v as w, A as y, w as z, S as E } from "./init-tVr9KnGC.js"; import { validateSearchQuery as K } from "@embedpdf/plugin-search"; const B = 300, L = (e, s) => e != null && e.text === s.text && !!e.regex == !!s.regex && !!e.matchCase == !!s.matchCase && !!e.wholeWord == !!s.wholeWord; function C() { @@ -276,4 +276,4 @@ export { A as FindBar, $ as SearchPanel }; -//# sourceMappingURL=search-panel-Eivx6mw6-Dhc9WWk-.js.map +//# sourceMappingURL=search-panel-Bg1iPcy6-DPYp_NzQ.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/self-signed-DGAIwro5.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/self-signed-CTqGwK0Q.js similarity index 92% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/self-signed-DGAIwro5.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/self-signed-CTqGwK0Q.js index 0d76317d..f1cebcbb 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/self-signed-DGAIwro5.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/self-signed-CTqGwK0Q.js @@ -1,5 +1,5 @@ import { e as u, C as l, I as f, A as m, U as y, B as w, a as b, E as c } from "./engine-CcsIvE98.js"; -import { ai as s, aj as p } from "./wasm-url-asset-DQFmMC86.js"; +import { aH as s, aI as p } from "./wasm-url-asset-BJXsMWLm.js"; async function A(t) { u(); const e = new l(); @@ -35,4 +35,4 @@ export { B as certificateCommonName, A as selfSignedCertificate }; -//# sourceMappingURL=self-signed-DGAIwro5.js.map +//# sourceMappingURL=self-signed-CTqGwK0Q.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/sign-dialog-DETgmjof-B_Wtujza.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/sign-dialog-DETgmjof-BYRrkPq_.js similarity index 92% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/sign-dialog-DETgmjof-B_Wtujza.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/sign-dialog-DETgmjof-BYRrkPq_.js index 2a1e05ca..c986bb4f 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/sign-dialog-DETgmjof-B_Wtujza.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/sign-dialog-DETgmjof-BYRrkPq_.js @@ -1,6 +1,6 @@ -import { u as w, a5 as K, ac as S, d as r, au as F, ab as L, e, K as j } from "./wasm-url-asset-DQFmMC86.js"; +import { u as w, a6 as S, ad as K, d as r, as as L, ac as F, e, L as j } from "./wasm-url-asset-BJXsMWLm.js"; function B() { - const t = w(), l = K("signature-sign"), s = S(), [d, v] = r(""), [c, N] = r(""), [u, C] = r("approval"), [i, b] = r(null), [p, f] = r(null), x = F(), o = l.props?.field, a = l.props?.mark, h = L(a && "assetId" in a ? a.assetId : null); + const t = w(), l = S("signature-sign"), s = K(), [d, v] = r(""), [c, N] = r(""), [u, C] = r("approval"), [i, b] = r(null), [p, f] = r(null), x = L(), o = l.props?.field, a = l.props?.mark, h = F(a && "assetId" in a ? a.assetId : null); if (!l.isOpen || !o || !a) return null; const k = { ...d.trim() ? { reason: d.trim() } : {}, @@ -121,4 +121,4 @@ function B() { export { B as SignDialog }; -//# sourceMappingURL=sign-dialog-DETgmjof-B_Wtujza.js.map +//# sourceMappingURL=sign-dialog-DETgmjof-BYRrkPq_.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/sign-dialog-DETgmjof-E3lEsjm-.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/sign-dialog-DETgmjof-CFdMBob_.js similarity index 96% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/sign-dialog-DETgmjof-E3lEsjm-.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/sign-dialog-DETgmjof-CFdMBob_.js index 9e50173c..33c26ad0 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/sign-dialog-DETgmjof-E3lEsjm-.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/sign-dialog-DETgmjof-CFdMBob_.js @@ -1,4 +1,4 @@ -import { u as w, a5 as S, ab as K, k as r, al as F, aa as L, l as e, P as j } from "./init-DY-DOXIU.js"; +import { u as w, a6 as S, ac as K, k as r, am as F, ab as L, l as e, Q as j } from "./init-tVr9KnGC.js"; function B() { const t = w(), l = S("signature-sign"), s = K(), [d, v] = r(""), [c, N] = r(""), [u, C] = r("approval"), [i, b] = r(null), [p, f] = r(null), x = F(), o = l.props?.field, a = l.props?.mark, h = L(a && "assetId" in a ? a.assetId : null); if (!l.isOpen || !o || !a) return null; @@ -121,4 +121,4 @@ function B() { export { B as SignDialog }; -//# sourceMappingURL=sign-dialog-DETgmjof-E3lEsjm-.js.map +//# sourceMappingURL=sign-dialog-DETgmjof-CFdMBob_.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-inspector-DkpEvdof-B8jYrCeN.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-inspector-PcOYwkvA-CNbyzJ36.js similarity index 57% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-inspector-DkpEvdof-B8jYrCeN.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-inspector-PcOYwkvA-CNbyzJ36.js index 72a32e83..243bc891 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-inspector-DkpEvdof-B8jYrCeN.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-inspector-PcOYwkvA-CNbyzJ36.js @@ -1,29 +1,29 @@ -import { u as x, a5 as T, ab as h, ae as v, k as y, Z as V, v as k, l as t, m as C, az as O } from "./init-DY-DOXIU.js"; +import { u as h, K as V, a6 as k, ac as y, af as b, k as N, _ as C, v as F, l as t, m as L, az as O } from "./init-tVr9KnGC.js"; import { saveFile as j } from "@embedpdf/web"; import { FormToken as z } from "@embedpdf/plugin-form"; -const A = (e) => e ? e.summary === "valid" ? "demo.verdictValid" : e.summary === "valid-untrusted" ? "demo.verdictValidUntrusted" : e.summary === "invalid" ? e.modifications.basis === "working-copy" ? "demo.verdictWillInvalidate" : "demo.verdictInvalid" : "demo.verdictIndeterminate" : "demo.verdictIndeterminate", D = (e) => { - const s = new Date(e); - return Number.isNaN(s.getTime()) ? e : s.toLocaleString(); -}, b = (e) => e === "valid" ? "text-green-600" : e === "invalid" ? "text-red-600" : e === "valid-untrusted" ? "text-amber-600" : "text-fg-muted"; -function W() { - const e = x(), s = T("signature-inspector"), a = h(), l = v((c) => c.status); - v((c) => c.signatures); - const [m, r] = y(!1), o = s.props?.field, n = o ? a.getSignature(o) : null, i = o ? a.getVerdict(o) : null, u = n?.widget ?? null, N = V(z), p = (u && N?.getWidget(u)?.rect) ?? null; - if (k(() => { - !s.isOpen || !n?.signed || a.listVerdicts() || (r(!0), a.validate().finally(() => r(!1))); - }, [s.isOpen, n?.index]), !s.isOpen || !o || !n || l !== "ready") return null; - const w = () => { +const A = (e) => e ? e.summary === "valid" ? "demo.verdictValid" : e.summary === "valid-untrusted" ? "demo.verdictValidUntrusted" : e.summary === "invalid" ? e.modifications.basis === "working-copy" ? "demo.verdictWillInvalidate" : "demo.verdictInvalid" : "demo.verdictIndeterminate" : "demo.verdictIndeterminate", D = (e, l) => { + const i = new Date(e); + return Number.isNaN(i.getTime()) ? e : i.toLocaleString(l); +}, x = (e) => e === "valid" ? "text-green-600" : e === "invalid" ? "text-red-600" : e === "valid-untrusted" ? "text-amber-600" : "text-fg-muted"; +function B() { + const e = h(), l = V(), i = k("signature-inspector"), a = y(), p = b((m) => m.status); + b((m) => m.signatures); + const [c, r] = N(!1), o = i.props?.field, n = o ? a.getSignature(o) : null, s = o ? a.getVerdict(o) : null, u = n?.widget ?? null, w = C(z), f = (u && w?.getWidget(u)?.rect) ?? null; + if (F(() => { + !i.isOpen || !n?.signed || a.listVerdicts() || (r(!0), a.validate().finally(() => r(!1))); + }, [i.isOpen, n?.index]), !i.isOpen || !o || !n || p !== "ready") return null; + const I = () => { r(!0), a.validate().finally(() => r(!1)); - }, I = i?.summary ?? null, g = i?.modifications.verdict ?? null, d = (c, S, R = "text-fg") => /* @__PURE__ */ t("div", { + }, S = s?.summary ?? null, g = s?.modifications.verdict ?? null, d = (m, R, T = "text-fg") => /* @__PURE__ */ t("div", { className: "flex items-baseline justify-between gap-3 text-xs", children: [/* @__PURE__ */ t("span", { className: "text-fg-muted", - children: c + children: m }), /* @__PURE__ */ t("span", { - className: `text-end ${R}`, - children: S + className: `text-end ${T}`, + children: R })] - }), f = /* @__PURE__ */ t("div", { + }), v = /* @__PURE__ */ t("div", { className: "border-border bg-elevated w-72 rounded-lg border p-3 text-sm shadow-xl", children: [ /* @__PURE__ */ t("div", { @@ -33,18 +33,18 @@ function W() { children: e("demo.inspectTitle") }), /* @__PURE__ */ t("button", { type: "button", - onClick: s.close, + onClick: i.close, className: "text-fg-muted hover:bg-hover grid h-6 w-6 place-items-center rounded", "aria-label": e("demo.cancel"), - children: /* @__PURE__ */ t(C, { + children: /* @__PURE__ */ t(L, { name: "x", size: 14 }) })] }), /* @__PURE__ */ t("p", { - className: `mt-1 text-sm font-medium ${b(I)}`, - children: e(m ? "demo.signaturesValidating" : A(i)) + className: `mt-1 text-sm font-medium ${x(S)}`, + children: e(c ? "demo.signaturesValidating" : A(s)) }), /* @__PURE__ */ t("div", { className: "mt-2 flex flex-col gap-1", @@ -52,66 +52,66 @@ function W() { d(e("demo.inspectSigner"), n.signer.name ?? "—"), n.signer.reason ? d(e("demo.inspectReason"), n.signer.reason) : null, n.signer.location ? d(e("demo.inspectLocation"), n.signer.location) : null, - n.signer.signedAt ? d(e("demo.inspectTime"), D(n.signer.signedAt)) : null + n.signer.signedAt ? d(e("demo.inspectTime"), D(n.signer.signedAt, l)) : null ] }), /* @__PURE__ */ t("div", { className: "border-border-subtle mt-2 flex flex-col gap-1 border-t pt-2", children: [ - d(e("demo.inspectIntegrity"), i?.integrity ?? "—", b(i?.integrity === "valid" ? "valid" : i?.integrity === "invalid" ? "invalid" : null)), - d(e("demo.inspectCryptography"), i?.cryptography ?? "—"), - d(e("demo.inspectTrust"), i?.trust ?? "—"), - d(e("demo.inspectChanges"), g === "unchanged" ? i?.modifications.undone ? e("demo.verdictRestored") : e("demo.verdictUnchanged") : g === "permitted" ? e("demo.verdictPermitted") : g === "forbidden" ? e("demo.verdictForbidden") : "—", g === "forbidden" ? "text-red-600" : "text-fg"), - i?.modifications.laterRevisions ? d(e("demo.inspectLaterRevisions"), String(i.modifications.laterRevisions)) : null + d(e("demo.inspectIntegrity"), s?.integrity ?? "—", x(s?.integrity === "valid" ? "valid" : s?.integrity === "invalid" ? "invalid" : null)), + d(e("demo.inspectCryptography"), s?.cryptography ?? "—"), + d(e("demo.inspectTrust"), s?.trust ?? "—"), + d(e("demo.inspectChanges"), g === "unchanged" ? s?.modifications.undone ? e("demo.verdictRestored") : e("demo.verdictUnchanged") : g === "permitted" ? e("demo.verdictPermitted") : g === "forbidden" ? e("demo.verdictForbidden") : "—", g === "forbidden" ? "text-red-600" : "text-fg"), + s?.modifications.laterRevisions ? d(e("demo.inspectLaterRevisions"), String(s.modifications.laterRevisions)) : null ] }), /* @__PURE__ */ t("div", { className: "mt-3 flex justify-end gap-2", children: [/* @__PURE__ */ t("button", { type: "button", - disabled: m, - onClick: w, + disabled: c, + onClick: I, className: "border-border text-fg hover:bg-hover rounded-md border px-2 py-1 text-xs disabled:opacity-60", children: e("demo.signaturesValidate") - }), /* @__PURE__ */ t(F, { field: o })] + }), /* @__PURE__ */ t($, { field: o })] }) ] }); - return u?.page && p ? /* @__PURE__ */ t(O, { + return u?.page && f ? /* @__PURE__ */ t(O, { anchor: { page: u.page, - bounds: p + bounds: f }, placement: "bottom", gap: 8, - children: f + children: v }) : /* @__PURE__ */ t("div", { className: "absolute end-4 top-4 z-40", - children: f + children: v }); } -function F({ field: e }) { - const s = x(), a = h(), l = a.getSignature(e), [m, r] = y(!1); - if (!l || l.revisionIndex === null) return null; - const o = l.revisionIndex, n = async () => { - r(!0); +function $({ field: e }) { + const l = h(), i = y(), a = i.getSignature(e), [p, c] = N(!1); + if (!a || a.revisionIndex === null) return null; + const r = a.revisionIndex, o = async () => { + c(!0); try { - j(await a.readRevision({ revisionIndex: o }), `${l.fieldName}-signed.pdf`, "application/pdf"); - } catch (i) { - console.error("[embedpdf] signed revision download failed:", i); + j(await i.readRevision({ revisionIndex: r }), `${a.fieldName}-signed.pdf`, "application/pdf"); + } catch (n) { + console.error("[embedpdf] signed revision download failed:", n); } finally { - r(!1); + c(!1); } }; return /* @__PURE__ */ t("button", { type: "button", - disabled: m, - onClick: () => void n(), + disabled: p, + onClick: () => void o(), className: "border-border text-fg hover:bg-hover rounded-md border px-2 py-1 text-xs disabled:opacity-60", - children: s("demo.inspectDownload") + children: l("demo.inspectDownload") }); } export { - W as SignatureInspector + B as SignatureInspector }; -//# sourceMappingURL=signature-inspector-DkpEvdof-B8jYrCeN.js.map +//# sourceMappingURL=signature-inspector-PcOYwkvA-CNbyzJ36.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-inspector-DkpEvdof-z1l1Wzls.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-inspector-PcOYwkvA-NZGZH_BY.js similarity index 53% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-inspector-DkpEvdof-z1l1Wzls.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-inspector-PcOYwkvA-NZGZH_BY.js index d141dd98..0d64531c 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-inspector-DkpEvdof-z1l1Wzls.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-inspector-PcOYwkvA-NZGZH_BY.js @@ -1,27 +1,27 @@ -import { u as x, a5 as T, ac as h, af as v, d as y, U as V, m as C, e as t, I as k, aB as O, a9 as j, ap as A } from "./wasm-url-asset-DQFmMC86.js"; -const D = (e) => e ? e.summary === "valid" ? "demo.verdictValid" : e.summary === "valid-untrusted" ? "demo.verdictValidUntrusted" : e.summary === "invalid" ? e.modifications.basis === "working-copy" ? "demo.verdictWillInvalidate" : "demo.verdictInvalid" : "demo.verdictIndeterminate" : "demo.verdictIndeterminate", F = (e) => { - const s = new Date(e); - return Number.isNaN(s.getTime()) ? e : s.toLocaleString(); -}, b = (e) => e === "valid" ? "text-green-600" : e === "invalid" ? "text-red-600" : e === "valid-untrusted" ? "text-amber-600" : "text-fg-muted"; -function $() { - const e = x(), s = T("signature-inspector"), a = h(), l = v((c) => c.status); - v((c) => c.signatures); - const [m, r] = y(!1), o = s.props?.field, n = o ? a.getSignature(o) : null, i = o ? a.getVerdict(o) : null, u = n?.widget ?? null, N = V(A), p = (u && N?.getWidget(u)?.rect) ?? null; - if (C(() => { - !s.isOpen || !n?.signed || a.listVerdicts() || (r(!0), a.validate().finally(() => r(!1))); - }, [s.isOpen, n?.index]), !s.isOpen || !o || !n || l !== "ready") return null; - const w = () => { +import { u as h, E as T, a6 as C, ad as y, ag as b, d as N, V as k, m as F, e as t, I as L, az as O, aa as j, an as z } from "./wasm-url-asset-BJXsMWLm.js"; +const A = (e) => e ? e.summary === "valid" ? "demo.verdictValid" : e.summary === "valid-untrusted" ? "demo.verdictValidUntrusted" : e.summary === "invalid" ? e.modifications.basis === "working-copy" ? "demo.verdictWillInvalidate" : "demo.verdictInvalid" : "demo.verdictIndeterminate" : "demo.verdictIndeterminate", D = (e, l) => { + const i = new Date(e); + return Number.isNaN(i.getTime()) ? e : i.toLocaleString(l); +}, x = (e) => e === "valid" ? "text-green-600" : e === "invalid" ? "text-red-600" : e === "valid-untrusted" ? "text-amber-600" : "text-fg-muted"; +function W() { + const e = h(), l = T(), i = C("signature-inspector"), a = y(), p = b((m) => m.status); + b((m) => m.signatures); + const [c, r] = N(!1), o = i.props?.field, n = o ? a.getSignature(o) : null, s = o ? a.getVerdict(o) : null, u = n?.widget ?? null, w = k(z), f = (u && w?.getWidget(u)?.rect) ?? null; + if (F(() => { + !i.isOpen || !n?.signed || a.listVerdicts() || (r(!0), a.validate().finally(() => r(!1))); + }, [i.isOpen, n?.index]), !i.isOpen || !o || !n || p !== "ready") return null; + const I = () => { r(!0), a.validate().finally(() => r(!1)); - }, I = i?.summary ?? null, g = i?.modifications.verdict ?? null, d = (c, S, R = "text-fg") => /* @__PURE__ */ t("div", { + }, S = s?.summary ?? null, g = s?.modifications.verdict ?? null, d = (m, V, R = "text-fg") => /* @__PURE__ */ t("div", { className: "flex items-baseline justify-between gap-3 text-xs", children: [/* @__PURE__ */ t("span", { className: "text-fg-muted", - children: c + children: m }), /* @__PURE__ */ t("span", { className: `text-end ${R}`, - children: S + children: V })] - }), f = /* @__PURE__ */ t("div", { + }), v = /* @__PURE__ */ t("div", { className: "border-border bg-elevated w-72 rounded-lg border p-3 text-sm shadow-xl", children: [ /* @__PURE__ */ t("div", { @@ -31,18 +31,18 @@ function $() { children: e("demo.inspectTitle") }), /* @__PURE__ */ t("button", { type: "button", - onClick: s.close, + onClick: i.close, className: "text-fg-muted hover:bg-hover grid h-6 w-6 place-items-center rounded", "aria-label": e("demo.cancel"), - children: /* @__PURE__ */ t(k, { + children: /* @__PURE__ */ t(L, { name: "x", size: 14 }) })] }), /* @__PURE__ */ t("p", { - className: `mt-1 text-sm font-medium ${b(I)}`, - children: e(m ? "demo.signaturesValidating" : D(i)) + className: `mt-1 text-sm font-medium ${x(S)}`, + children: e(c ? "demo.signaturesValidating" : A(s)) }), /* @__PURE__ */ t("div", { className: "mt-2 flex flex-col gap-1", @@ -50,66 +50,66 @@ function $() { d(e("demo.inspectSigner"), n.signer.name ?? "—"), n.signer.reason ? d(e("demo.inspectReason"), n.signer.reason) : null, n.signer.location ? d(e("demo.inspectLocation"), n.signer.location) : null, - n.signer.signedAt ? d(e("demo.inspectTime"), F(n.signer.signedAt)) : null + n.signer.signedAt ? d(e("demo.inspectTime"), D(n.signer.signedAt, l)) : null ] }), /* @__PURE__ */ t("div", { className: "border-border-subtle mt-2 flex flex-col gap-1 border-t pt-2", children: [ - d(e("demo.inspectIntegrity"), i?.integrity ?? "—", b(i?.integrity === "valid" ? "valid" : i?.integrity === "invalid" ? "invalid" : null)), - d(e("demo.inspectCryptography"), i?.cryptography ?? "—"), - d(e("demo.inspectTrust"), i?.trust ?? "—"), - d(e("demo.inspectChanges"), g === "unchanged" ? i?.modifications.undone ? e("demo.verdictRestored") : e("demo.verdictUnchanged") : g === "permitted" ? e("demo.verdictPermitted") : g === "forbidden" ? e("demo.verdictForbidden") : "—", g === "forbidden" ? "text-red-600" : "text-fg"), - i?.modifications.laterRevisions ? d(e("demo.inspectLaterRevisions"), String(i.modifications.laterRevisions)) : null + d(e("demo.inspectIntegrity"), s?.integrity ?? "—", x(s?.integrity === "valid" ? "valid" : s?.integrity === "invalid" ? "invalid" : null)), + d(e("demo.inspectCryptography"), s?.cryptography ?? "—"), + d(e("demo.inspectTrust"), s?.trust ?? "—"), + d(e("demo.inspectChanges"), g === "unchanged" ? s?.modifications.undone ? e("demo.verdictRestored") : e("demo.verdictUnchanged") : g === "permitted" ? e("demo.verdictPermitted") : g === "forbidden" ? e("demo.verdictForbidden") : "—", g === "forbidden" ? "text-red-600" : "text-fg"), + s?.modifications.laterRevisions ? d(e("demo.inspectLaterRevisions"), String(s.modifications.laterRevisions)) : null ] }), /* @__PURE__ */ t("div", { className: "mt-3 flex justify-end gap-2", children: [/* @__PURE__ */ t("button", { type: "button", - disabled: m, - onClick: w, + disabled: c, + onClick: I, className: "border-border text-fg hover:bg-hover rounded-md border px-2 py-1 text-xs disabled:opacity-60", children: e("demo.signaturesValidate") - }), /* @__PURE__ */ t(L, { field: o })] + }), /* @__PURE__ */ t($, { field: o })] }) ] }); - return u?.page && p ? /* @__PURE__ */ t(O, { + return u?.page && f ? /* @__PURE__ */ t(O, { anchor: { page: u.page, - bounds: p + bounds: f }, placement: "bottom", gap: 8, - children: f + children: v }) : /* @__PURE__ */ t("div", { className: "absolute end-4 top-4 z-40", - children: f + children: v }); } -function L({ field: e }) { - const s = x(), a = h(), l = a.getSignature(e), [m, r] = y(!1); - if (!l || l.revisionIndex === null) return null; - const o = l.revisionIndex, n = async () => { - r(!0); +function $({ field: e }) { + const l = h(), i = y(), a = i.getSignature(e), [p, c] = N(!1); + if (!a || a.revisionIndex === null) return null; + const r = a.revisionIndex, o = async () => { + c(!0); try { - j(await a.readRevision({ revisionIndex: o }), `${l.fieldName}-signed.pdf`, "application/pdf"); - } catch (i) { - console.error("[embedpdf] signed revision download failed:", i); + j(await i.readRevision({ revisionIndex: r }), `${a.fieldName}-signed.pdf`, "application/pdf"); + } catch (n) { + console.error("[embedpdf] signed revision download failed:", n); } finally { - r(!1); + c(!1); } }; return /* @__PURE__ */ t("button", { type: "button", - disabled: m, - onClick: () => void n(), + disabled: p, + onClick: () => void o(), className: "border-border text-fg hover:bg-hover rounded-md border px-2 py-1 text-xs disabled:opacity-60", - children: s("demo.inspectDownload") + children: l("demo.inspectDownload") }); } export { - $ as SignatureInspector + W as SignatureInspector }; -//# sourceMappingURL=signature-inspector-DkpEvdof-z1l1Wzls.js.map +//# sourceMappingURL=signature-inspector-PcOYwkvA-NZGZH_BY.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-maker-DmqserJG-CYqKZLra.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-maker-CnLiLraV-BTRLVmex.js similarity index 90% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-maker-DmqserJG-CYqKZLra.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-maker-CnLiLraV-BTRLVmex.js index b66228af..8b6b564f 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-maker-DmqserJG-CYqKZLra.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-maker-CnLiLraV-BTRLVmex.js @@ -1,9 +1,9 @@ -import { u as E, a5 as U, a0 as j, ad as z, d as s, au as B, e as t, I as K, K as G, A as P, m as R, av as O, aw as W, ax as F, ay as Y, az as $, aA as H } from "./wasm-url-asset-DQFmMC86.js"; +import { u as E, a6 as U, a1 as j, ae as B, d as s, as as z, e as t, I as G, L as K, A as P, m as R, at as O, au as W, av as L, aw as Y, ax as $, ay as H } from "./wasm-url-asset-BJXsMWLm.js"; const J = [], k = { width: 360, height: 120 }; -function L({ value: n, onChange: o, fonts: i }) { +function F({ value: n, onChange: o, fonts: i }) { const d = E(), [m, f] = s("draw"), [h, b] = s([]), [g, y] = s(""), [u, S] = s(i[0]?.key ?? ""), [I, N] = s(null), v = P(null), c = P(null), [l, M] = s(null); R(() => { const e = m === "type" ? i.find((a) => a.key === u) : void 0; @@ -25,7 +25,7 @@ function L({ value: n, onChange: o, fonts: i }) { if (a) { a.setTransform(r, 0, 0, r, 0, 0), a.clearRect(0, 0, k.width, k.height), a.lineCap = "round", a.lineJoin = "round", a.lineWidth = 2.5, a.strokeStyle = getComputedStyle(e).color || "#000"; for (const _ of h) - a.beginPath(), _.forEach((T, D) => D === 0 ? a.moveTo(T.x, T.y) : a.lineTo(T.x, T.y)), a.stroke(); + a.beginPath(), _.forEach((A, D) => D === 0 ? a.moveTo(A.x, A.y) : a.lineTo(A.x, A.y)), a.stroke(); } }, [h, m]); const w = (e) => { @@ -41,7 +41,7 @@ function L({ value: n, onChange: o, fonts: i }) { color: "#000000", strokeWidth: 2.5 } : null); - }, A = (e, r) => { + }, T = (e, r) => { y(e), S(r), o(e.trim() ? { kind: "text", text: e.trim(), @@ -119,7 +119,7 @@ function L({ value: n, onChange: o, fonts: i }) { children: [/* @__PURE__ */ t("input", { value: g, placeholder: d("demo.makerTypePlaceholder"), - onChange: (e) => A(e.target.value, u), + onChange: (e) => T(e.target.value, u), style: l ? { fontFamily: `"${l.family}", cursive`, fontSize: 22 @@ -129,7 +129,7 @@ function L({ value: n, onChange: o, fonts: i }) { className: "text-fg-muted flex items-center gap-2 text-xs", children: [d("demo.makerFont"), /* @__PURE__ */ t("select", { value: u, - onChange: (e) => A(g, e.target.value), + onChange: (e) => T(g, e.target.value), className: "border-border bg-surface text-fg rounded border px-2 py-1 text-xs", children: i.map((e) => /* @__PURE__ */ t("option", { value: e.key, @@ -152,14 +152,14 @@ function L({ value: n, onChange: o, fonts: i }) { }); } function q() { - const n = E(), o = U("signature-maker"), i = j(), d = z(), [m, f] = s(""), [h, b] = s(null), [g, y] = s(null), [u, S] = s(!1), [I, N] = s(null), v = B(), c = o.props?.libraryId, l = c ? i.getLibrary(c) : null, M = (d.kinds ?? ["signature", "initials"]).includes("initials"), [w] = s(() => H(d.fonts)); + const n = E(), o = U("signature-maker"), i = j(), d = B(), [m, f] = s(""), [h, b] = s(null), [g, y] = s(null), [u, S] = s(!1), [I, N] = s(null), v = z(), c = o.props?.libraryId, l = c ? i.getLibrary(c) : null, M = (d.kinds ?? ["signature", "initials"]).includes("initials"), [w] = s(() => H(d.fonts)); if (!o.isOpen) return null; - const C = l ? g != null : m.trim().length > 0 && h != null, A = async () => { + const C = l ? g != null : m.trim().length > 0 && h != null, T = async () => { S(!0), N(null); try { if (l) await i.createAsset({ libraryId: l.id, - name: F, + name: L, label: n("demo.initialsLabel"), mark: g }); @@ -172,7 +172,7 @@ function q() { mark: h }), g && await i.createAsset({ libraryId: x, - name: F, + name: L, label: n("demo.initialsLabel"), mark: g }); @@ -184,7 +184,7 @@ function q() { S(!1); } }; - return /* @__PURE__ */ t(G, { + return /* @__PURE__ */ t(K, { labelledBy: v, onClose: () => { u || o.close(); @@ -202,7 +202,7 @@ function q() { onClick: o.close, className: "text-fg-muted hover:bg-hover grid h-7 w-7 place-items-center rounded-md", "aria-label": n("demo.cancel"), - children: /* @__PURE__ */ t(K, { + children: /* @__PURE__ */ t(G, { name: "x", size: 16 }) @@ -222,7 +222,7 @@ function q() { children: [/* @__PURE__ */ t("p", { className: "text-fg mb-1 text-xs font-semibold uppercase tracking-wide", children: n("demo.signatureLabel") - }), /* @__PURE__ */ t(L, { + }), /* @__PURE__ */ t(F, { value: h, onChange: b, fonts: w @@ -236,7 +236,7 @@ function q() { className: "text-fg-muted ms-1 font-normal normal-case tracking-normal", children: n("demo.makerOptional") })] - }), /* @__PURE__ */ t(L, { + }), /* @__PURE__ */ t(F, { value: g, onChange: y, fonts: w @@ -257,7 +257,7 @@ function q() { }), /* @__PURE__ */ t("button", { type: "button", disabled: u || !C, - onClick: () => void A(), + onClick: () => void T(), className: "bg-accent text-on-accent rounded-md px-3 py-1.5 text-sm disabled:opacity-60", children: n(u ? "demo.makerSaving" : "demo.makerSave") })] @@ -268,4 +268,4 @@ function q() { export { q as SignatureMakerModal }; -//# sourceMappingURL=signature-maker-DmqserJG-CYqKZLra.js.map +//# sourceMappingURL=signature-maker-CnLiLraV-BTRLVmex.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-maker-DmqserJG-Dqe4dnaT.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-maker-CnLiLraV-CuBdj7zM.js similarity index 97% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-maker-DmqserJG-Dqe4dnaT.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-maker-CnLiLraV-CuBdj7zM.js index cfa57126..a91e1480 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-maker-DmqserJG-Dqe4dnaT.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signature-maker-CnLiLraV-CuBdj7zM.js @@ -1,4 +1,4 @@ -import { u as E, a5 as U, a0 as j, ac as B, k as o, al as z, l as t, m as G, P as K, A as P, v as R, aw as O, ax as W, ay as Y } from "./init-DY-DOXIU.js"; +import { u as E, a6 as U, a1 as j, ad as B, k as o, am as z, l as t, m as G, Q as K, A as P, v as R, aw as O, ax as W, ay as Y } from "./init-tVr9KnGC.js"; import { INITIALS_MARK_NAME as F, SIGNATURES_LIBRARY_KIND as $, SIGNATURE_MARK_NAME as H } from "@embedpdf/plugin-signature"; const J = [], k = { width: 360, @@ -152,7 +152,7 @@ function L({ value: n, onChange: s, fonts: i }) { })] }); } -function Q() { +function q() { const n = E(), s = U("signature-maker"), i = j(), d = B(), [m, f] = o(""), [h, b] = o(null), [g, y] = o(null), [u, S] = o(!1), [C, N] = o(null), v = z(), c = s.props?.libraryId, l = c ? i.getLibrary(c) : null, M = (d.kinds ?? ["signature", "initials"]).includes("initials"), [w] = o(() => Y(d.fonts)); if (!s.isOpen) return null; const I = l ? g != null : m.trim().length > 0 && h != null, T = async () => { @@ -267,6 +267,6 @@ function Q() { }); } export { - Q as SignatureMakerModal + q as SignatureMakerModal }; -//# sourceMappingURL=signature-maker-DmqserJG-Dqe4dnaT.js.map +//# sourceMappingURL=signature-maker-CnLiLraV-CuBdj7zM.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signatures-panel-DKFVlxyM-CDTHYCQY.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signatures-panel-QneSliC6-B-zJ-FPc.js similarity index 87% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signatures-panel-DKFVlxyM-CDTHYCQY.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signatures-panel-QneSliC6-B-zJ-FPc.js index f64092a0..25e567a9 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signatures-panel-DKFVlxyM-CDTHYCQY.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signatures-panel-QneSliC6-B-zJ-FPc.js @@ -1,13 +1,13 @@ -import { u as k, a0 as T, ac as j, ad as L, ae as z, af as N, O as P, a5 as V, d as y, ag as I, m as S, a6 as R, e, I as x, T as v, J as $, ah as q, a9 as B, ab as D } from "./wasm-url-asset-DQFmMC86.js"; +import { u as k, a1 as T, ad as j, ae as L, af as P, ag as N, P as z, a6 as V, d as y, ah as I, m as S, a7 as R, e, I as x, T as v, K as $, ai as q, aa as B, ac as D } from "./wasm-url-asset-BJXsMWLm.js"; const M = (n) => n.kind === "fqn" ? n.name : `#${n.objectNumber}`; -function H() { - const n = k(), i = T(), c = j(), o = L(), l = z(), r = N((s) => s.target), g = N((s) => s.busy), { activeToolId: d } = P(), m = V("signature-maker"), [p, b] = y(null), [u, a] = y(null), [t, f] = y(null); - I((s) => s.onInvalidationPredicted, (s) => f(c.getSignature(s.field)?.fieldName ?? M(s.field))), I((s) => s.onValidated, (s) => { - s.verdicts.some((h) => h.summary === "invalid" && h.modifications.basis === "working-copy") || f(null); +function K() { + const n = k(), i = T(), c = j(), o = L(), l = P(), r = N((s) => s.target), g = N((s) => s.busy), { activeToolId: d } = z(), m = V("signature-maker"), [p, f] = y(null), [u, a] = y(null), [t, b] = y(null); + I((s) => s.onInvalidationPredicted, (s) => b(c.getSignature(s.field)?.fieldName ?? M(s.field))), I((s) => s.onValidated, (s) => { + s.verdicts.some((h) => h.summary === "invalid" && h.modifications.basis === "working-copy") || b(null); }), S(() => { R(i); }, [i]), S(() => { - d !== "stamp" && b(null); + d !== "stamp" && f(null); }, [d]); const C = (s) => { if (a(null), r) { @@ -16,8 +16,8 @@ function H() { }); return; } - b(s.id), i.armAsset(s.id).catch((h) => { - console.error("[embedpdf] arm mark failed:", h), b(null), a(n("demo.stampsArmError")); + f(s.id), i.armAsset(s.id).catch((h) => { + console.error("[embedpdf] arm mark failed:", h), f(null), a(n("demo.stampsArmError")); }); }, A = (o.libraries ?? "many") === "many" || l.length === 0, E = (o.kinds ?? ["signature", "initials"]).includes("initials"); return /* @__PURE__ */ e("div", { @@ -37,7 +37,7 @@ function H() { })] }) : /* @__PURE__ */ e("ul", { className: "flex flex-col gap-3", - children: l.map((s) => /* @__PURE__ */ e(O, { + children: l.map((s) => /* @__PURE__ */ e(U, { row: s, armedId: p, wantsInitials: E, @@ -47,7 +47,7 @@ function H() { props: { libraryId: s.libraryId } }) }, s.libraryId)) - }), /* @__PURE__ */ e(U, {})] + }), /* @__PURE__ */ e(F, {})] }), t && /* @__PURE__ */ e("div", { className: "border-border-subtle shrink-0 border-t px-3 py-2 text-xs text-amber-700", @@ -72,11 +72,11 @@ function H() { ] }); } -function O({ row: n, armedId: i, wantsInitials: c, onPick: o, onAddInitials: l }) { +function U({ row: n, armedId: i, wantsInitials: c, onPick: o, onAddInitials: l }) { const r = k(), g = T(), [d, m] = y(null), p = async () => { const a = await g.exportLibrary(n.libraryId).catch(() => null); a && B(a, `${n.name || "signature"}.pdf`, "application/pdf"); - }, b = () => { + }, f = () => { const a = d?.trim(); m(null), a && a !== n.name && g.updateLibrary(n.libraryId, { name: a }); }, u = "text-fg-muted hover:text-fg grid h-6 w-6 shrink-0 place-items-center rounded"; @@ -89,9 +89,9 @@ function O({ row: n, armedId: i, wantsInitials: c, onPick: o, onAddInitials: l } autoFocus: !0, value: d, onChange: (a) => m(a.target.value), - onBlur: b, + onBlur: f, onKeyDown: (a) => { - a.key === "Enter" && b(), a.key === "Escape" && m(null); + a.key === "Enter" && f(), a.key === "Escape" && m(null); }, className: "border-border bg-surface text-fg min-w-0 flex-1 rounded border px-1.5 py-0.5 text-sm" }) : /* @__PURE__ */ e("span", { @@ -167,8 +167,8 @@ function w({ asset: n, label: i, armed: c, onPick: o }) { }) }); } -function U() { - const n = k(), i = j(), c = $(q, (t) => t.getSnapshot()), o = N((t) => t.signatures), l = N((t) => t.target), [r, g] = y(!1), d = c?.signatures ?? [], m = (t) => o.find((f) => f.index === t.index)?.verdict ?? null, p = (t) => t ? t.summary === "valid" ? n("demo.verdictValid") : t.summary === "valid-untrusted" ? n("demo.verdictValidUntrusted") : t.summary === "indeterminate" ? n("demo.verdictIndeterminate") : t.modifications.basis === "working-copy" ? n("demo.verdictWillInvalidate") : n("demo.verdictInvalid") : n("demo.signaturesSigned"), b = (t) => !t || t.summary === "indeterminate" ? "text-fg-muted" : t.summary === "invalid" ? t.modifications.basis === "working-copy" ? "text-amber-600" : "text-red-600" : t.summary === "valid-untrusted" ? "text-amber-600" : "text-green-600", u = (t) => !!l && (l.kind === "fqn" ? l.name === t.fieldName : l.objectNumber === (t.field.kind === "objectNumber" ? t.field.objectNumber : -1)), a = () => { +function F() { + const n = k(), i = j(), c = $(q, (t) => t.getSnapshot()), o = N((t) => t.signatures), l = N((t) => t.target), [r, g] = y(!1), d = c?.signatures ?? [], m = (t) => o.find((b) => b.index === t.index)?.verdict ?? null, p = (t) => t ? t.summary === "valid" ? n("demo.verdictValid") : t.summary === "valid-untrusted" ? n("demo.verdictValidUntrusted") : t.summary === "indeterminate" ? n("demo.verdictIndeterminate") : t.modifications.basis === "working-copy" ? n("demo.verdictWillInvalidate") : n("demo.verdictInvalid") : n("demo.signaturesSigned"), f = (t) => !t || t.summary === "indeterminate" ? "text-fg-muted" : t.summary === "invalid" ? t.modifications.basis === "working-copy" ? "text-amber-600" : "text-red-600" : t.summary === "valid-untrusted" ? "text-amber-600" : "text-green-600", u = (t) => !!l && (l.kind === "fqn" ? l.name === t.fieldName : l.objectNumber === (t.field.kind === "objectNumber" ? t.field.objectNumber : -1)), a = () => { g(!0), i.validate().finally(() => g(!1)); }; return /* @__PURE__ */ e("div", { @@ -191,7 +191,7 @@ function U() { }) : /* @__PURE__ */ e("ul", { className: "mt-1 flex flex-col gap-1", children: d.map((t) => { - const f = m(t); + const b = m(t); return /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e("button", { type: "button", onClick: () => t.signed ? i.requestInspection(t.field) : i.setTarget(t.field), @@ -207,8 +207,8 @@ function U() { children: t.fieldName }), /* @__PURE__ */ e("span", { - className: `shrink-0 text-end text-xs ${t.signed ? b(f) : "text-fg-muted"}`, - children: t.signed ? p(f) : n("demo.signaturesUnsigned") + className: `shrink-0 text-end text-xs ${t.signed ? f(b) : "text-fg-muted"}`, + children: t.signed ? p(b) : n("demo.signaturesUnsigned") }) ] }) }, t.index); @@ -217,6 +217,6 @@ function U() { }); } export { - H as SignaturesPanel + K as SignaturesPanel }; -//# sourceMappingURL=signatures-panel-DKFVlxyM-CDTHYCQY.js.map +//# sourceMappingURL=signatures-panel-QneSliC6-B-zJ-FPc.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signatures-panel-DKFVlxyM-D_imZbgh.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signatures-panel-QneSliC6-DeuWjIuE.js similarity index 94% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signatures-panel-DKFVlxyM-D_imZbgh.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signatures-panel-QneSliC6-DeuWjIuE.js index 4ae93932..11edddfd 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signatures-panel-DKFVlxyM-D_imZbgh.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/signatures-panel-QneSliC6-DeuWjIuE.js @@ -1,9 +1,9 @@ -import { u as k, a0 as T, ab as j, ac as L, ad as V, ae as N, V as z, a5 as P, k as y, af as I, v as S, a6 as R, l as e, m as x, T as v, O as $, aa as q } from "./init-DY-DOXIU.js"; +import { u as k, a1 as T, ac as j, ad as L, ae as P, af as N, X as z, a6 as V, k as y, ag as I, v as S, a7 as R, l as e, m as x, T as v, P as $, ab as q } from "./init-tVr9KnGC.js"; import { saveFile as B } from "@embedpdf/web"; import { SignatureToken as D } from "@embedpdf/plugin-signature"; const M = (n) => n.kind === "fqn" ? n.name : `#${n.objectNumber}`; function W() { - const n = k(), i = T(), o = j(), c = L(), l = V(), r = N((s) => s.target), g = N((s) => s.busy), { activeToolId: d } = z(), m = P("signature-maker"), [p, f] = y(null), [u, a] = y(null), [t, b] = y(null); + const n = k(), i = T(), o = j(), c = L(), l = P(), r = N((s) => s.target), g = N((s) => s.busy), { activeToolId: d } = z(), m = V("signature-maker"), [p, f] = y(null), [u, a] = y(null), [t, b] = y(null); I((s) => s.onInvalidationPredicted, (s) => b(o.getSignature(s.field)?.fieldName ?? M(s.field))), I((s) => s.onValidated, (s) => { s.verdicts.some((h) => h.summary === "invalid" && h.modifications.basis === "working-copy") || b(null); }), S(() => { @@ -39,7 +39,7 @@ function W() { })] }) : /* @__PURE__ */ e("ul", { className: "flex flex-col gap-3", - children: l.map((s) => /* @__PURE__ */ e(O, { + children: l.map((s) => /* @__PURE__ */ e(U, { row: s, armedId: p, wantsInitials: E, @@ -49,7 +49,7 @@ function W() { props: { libraryId: s.libraryId } }) }, s.libraryId)) - }), /* @__PURE__ */ e(U, {})] + }), /* @__PURE__ */ e(F, {})] }), t && /* @__PURE__ */ e("div", { className: "border-border-subtle shrink-0 border-t px-3 py-2 text-xs text-amber-700", @@ -74,7 +74,7 @@ function W() { ] }); } -function O({ row: n, armedId: i, wantsInitials: o, onPick: c, onAddInitials: l }) { +function U({ row: n, armedId: i, wantsInitials: o, onPick: c, onAddInitials: l }) { const r = k(), g = T(), [d, m] = y(null), p = async () => { const a = await g.exportLibrary(n.libraryId).catch(() => null); a && B(a, `${n.name || "signature"}.pdf`, "application/pdf"); @@ -169,7 +169,7 @@ function w({ asset: n, label: i, armed: o, onPick: c }) { }) }); } -function U() { +function F() { const n = k(), i = j(), o = $(D, (t) => t.getSnapshot()), c = N((t) => t.signatures), l = N((t) => t.target), [r, g] = y(!1), d = o?.signatures ?? [], m = (t) => c.find((b) => b.index === t.index)?.verdict ?? null, p = (t) => t ? t.summary === "valid" ? n("demo.verdictValid") : t.summary === "valid-untrusted" ? n("demo.verdictValidUntrusted") : t.summary === "indeterminate" ? n("demo.verdictIndeterminate") : t.modifications.basis === "working-copy" ? n("demo.verdictWillInvalidate") : n("demo.verdictInvalid") : n("demo.signaturesSigned"), f = (t) => !t || t.summary === "indeterminate" ? "text-fg-muted" : t.summary === "invalid" ? t.modifications.basis === "working-copy" ? "text-amber-600" : "text-red-600" : t.summary === "valid-untrusted" ? "text-amber-600" : "text-green-600", u = (t) => !!l && (l.kind === "fqn" ? l.name === t.fieldName : l.objectNumber === (t.field.kind === "objectNumber" ? t.field.objectNumber : -1)), a = () => { g(!0), i.validate().finally(() => g(!1)); }; @@ -221,4 +221,4 @@ function U() { export { W as SignaturesPanel }; -//# sourceMappingURL=signatures-panel-DKFVlxyM-D_imZbgh.js.map +//# sourceMappingURL=signatures-panel-QneSliC6-DeuWjIuE.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/stamps-panel-vnotr2Nq-BTL56Bnw.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/stamps-panel-moG5l7rv-BeT889q9.js similarity index 90% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/stamps-panel-vnotr2Nq-BTL56Bnw.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/stamps-panel-moG5l7rv-BeT889q9.js index 14633979..59283f11 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/stamps-panel-vnotr2Nq-BTL56Bnw.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/stamps-panel-moG5l7rv-BeT889q9.js @@ -1,13 +1,13 @@ -import { u as $, a0 as j, a1 as B, a2 as F, a3 as H, V as O, a4 as U, a5 as W, A as _, k as u, v as S, a6 as q, a7 as V, a8 as Y, l as t, S as G, T as f, m as i, W as J, a9 as K, aa as M } from "./init-DY-DOXIU.js"; +import { u as $, a1 as j, a2 as B, a3 as F, a4 as H, X as O, a5 as U, a6 as W, A as _, k as u, v as S, a7 as q, a8 as X, a9 as Y, l as t, S as G, T as b, m as i, W as J, aa as K, ab as M } from "./init-tVr9KnGC.js"; import { saveFile as Q } from "@embedpdf/web"; const c = "all"; function te() { - const r = $(), s = j(), { standard: b, sidebar: m } = B(), l = F({ kind: m ?? ["stamps"] }), w = H(), { activeToolId: I } = O(), { locale: k } = U(), P = W("stamps"), A = _(null), [L, h] = u(null), [g, p] = u(null), [x, n] = u(null), [C, v] = u(c), y = P.props?.libraryId; + const r = $(), s = j(), { standard: f, sidebar: m } = B(), l = F({ kind: m ?? ["stamps"] }), w = H(), { activeToolId: I } = O(), { locale: k } = U(), P = W("stamps"), A = _(null), [L, h] = u(null), [g, p] = u(null), [x, n] = u(null), [C, v] = u(c), y = P.props?.libraryId; S(() => { typeof y == "string" && v(y); }, [y]), S(() => { let e = !0; - return p("loading"), q(s).then(() => V(s, Y(k), b)).catch((a) => { + return p("loading"), q(s).then(() => X(s, Y(k), f)).catch((a) => { console.error("[embedpdf] default stamps failed:", a), e && n(r("demo.stampsError")); }).finally(() => e && p(null)), () => { e = !1; @@ -47,7 +47,7 @@ function te() { }) : /* @__PURE__ */ t("span", { className: "text-fg-muted min-w-0 flex-1 truncate px-1 text-xs font-semibold uppercase tracking-wide", children: l[0].name - }), d && /* @__PURE__ */ t(G, { children: [/* @__PURE__ */ t(f, { + }), d && /* @__PURE__ */ t(G, { children: [/* @__PURE__ */ t(b, { label: r("demo.stampsExportLibrary"), onClick: () => D(d.id, d.name), className: "text-fg-muted hover:text-fg grid h-7 w-7 shrink-0 place-items-center rounded", @@ -55,7 +55,7 @@ function te() { name: "download", size: 14 }) - }), !T(d.id) && /* @__PURE__ */ t(f, { + }), !T(d.id) && /* @__PURE__ */ t(b, { label: r("demo.stampsRemoveLibrary"), onClick: () => void s.deleteLibrary(d.id), className: "text-fg-muted hover:text-fg grid h-7 w-7 shrink-0 place-items-center rounded", @@ -87,11 +87,11 @@ function te() { className: "grid grid-cols-2 gap-3", children: N.map((e) => /* @__PURE__ */ t("li", { className: "group relative", - children: [/* @__PURE__ */ t(X, { + children: [/* @__PURE__ */ t(V, { asset: e, armed: L === e.id, onArm: () => z(e) - }), !T(e.libraryId) && /* @__PURE__ */ t(f, { + }), !T(e.libraryId) && /* @__PURE__ */ t(b, { label: r("demo.stampsRemoveStamp"), onClick: () => void s.deleteAsset(e.id), className: "bg-surface border-border text-fg-muted hover:text-fg absolute end-1 top-1 grid h-5 w-5 place-items-center rounded-full border opacity-0 shadow-sm focus:opacity-100 group-hover:opacity-100", @@ -136,11 +136,11 @@ function te() { ] }); } -function X({ asset: r, armed: s, onArm: b }) { +function V({ asset: r, armed: s, onArm: f }) { const m = M(r.id); - return /* @__PURE__ */ t(f, { + return /* @__PURE__ */ t(b, { label: r.label, - onClick: b, + onClick: f, "aria-pressed": s, className: `flex aspect-square w-full items-center justify-center rounded-md border p-2 ${s ? "border-accent bg-accent-light ring-accent ring-2" : "border-border-subtle hover:border-border hover:bg-hover"}`, children: m ? /* @__PURE__ */ t("img", { @@ -156,4 +156,4 @@ function X({ asset: r, armed: s, onArm: b }) { export { te as StampsPanel }; -//# sourceMappingURL=stamps-panel-vnotr2Nq-BTL56Bnw.js.map +//# sourceMappingURL=stamps-panel-moG5l7rv-BeT889q9.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/stamps-panel-vnotr2Nq-CkkPQe1M.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/stamps-panel-moG5l7rv-DwpU8oxh.js similarity index 95% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/stamps-panel-vnotr2Nq-CkkPQe1M.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/stamps-panel-moG5l7rv-DwpU8oxh.js index 1b79f5d1..7de7bfc1 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/stamps-panel-vnotr2Nq-CkkPQe1M.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/stamps-panel-moG5l7rv-DwpU8oxh.js @@ -1,7 +1,7 @@ -import { u as $, a0 as j, a1 as B, a2 as O, a3 as F, O as H, a4 as U, a5 as W, A as _, d as u, m as I, a6 as q, a7 as Y, a8 as G, e as t, S as J, T as b, I as i, W as K, a9 as M, aa as Q, ab as V } from "./wasm-url-asset-DQFmMC86.js"; +import { u as $, a1 as j, a2 as B, a3 as F, a4 as H, P as O, a5 as U, a6 as W, A as _, d as u, m as I, a7 as q, a8 as Y, a9 as G, e as t, S as J, T as b, I as i, W as K, aa as M, ab as Q, ac as V } from "./wasm-url-asset-BJXsMWLm.js"; const c = "all"; function ee() { - const r = $(), s = j(), { standard: f, sidebar: m } = B(), l = O({ kind: m ?? ["stamps"] }), S = F(), { activeToolId: w } = H(), { locale: k } = U(), P = W("stamps"), A = _(null), [L, h] = u(null), [g, p] = u(null), [x, n] = u(null), [C, v] = u(c), y = P.props?.libraryId; + const r = $(), s = j(), { standard: f, sidebar: m } = B(), l = F({ kind: m ?? ["stamps"] }), S = H(), { activeToolId: w } = O(), { locale: k } = U(), P = W("stamps"), A = _(null), [L, h] = u(null), [g, p] = u(null), [x, n] = u(null), [C, v] = u(c), y = P.props?.libraryId; I(() => { typeof y == "string" && v(y); }, [y]), I(() => { @@ -155,4 +155,4 @@ function X({ asset: r, armed: s, onArm: f }) { export { ee as StampsPanel }; -//# sourceMappingURL=stamps-panel-vnotr2Nq-CkkPQe1M.js.map +//# sourceMappingURL=stamps-panel-moG5l7rv-DwpU8oxh.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/surface-W2MZq040.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/surface-CapogQGv.js similarity index 73% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/surface-W2MZq040.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/surface-CapogQGv.js index e9507bbb..5f3070d2 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/surface-W2MZq040.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/surface-CapogQGv.js @@ -1,4 +1,4 @@ -import { E as s, i as a } from "./init-DY-DOXIU.js"; +import { E as s, i as a } from "./init-tVr9KnGC.js"; function o(i, r = {}) { s.defaultEngineProvider = (n) => { const e = { ...n }; @@ -10,4 +10,4 @@ export { l as E, o as r }; -//# sourceMappingURL=surface-W2MZq040.js.map +//# sourceMappingURL=surface-CapogQGv.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/sv-BU7Kv6y9-DVYIsZF9.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/sv-CvLfpN-U-DJtc8253.js similarity index 99% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/sv-BU7Kv6y9-DVYIsZF9.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/sv-CvLfpN-U-DJtc8253.js index a31d85fe..878e5936 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/sv-BU7Kv6y9-DVYIsZF9.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/sv-CvLfpN-U-DJtc8253.js @@ -99,6 +99,7 @@ const e = { saveFile: "Spara fil", removeLink: "Ta bort länk", delete: "Ta bort", + duplicate: "Duplicera", group: "Gruppera", ungroup: "Dela upp grupp", stampFromSelection: "Skapa stämpel", @@ -475,7 +476,8 @@ const e = { boxes: "Rutor", box: "Ruta {number}", addButton: "Lägg till en knapp", - addBox: "Lägg till en ruta" + addBox: "Lägg till en ruta", + duplicateGroup: "Duplicera grupp" }, stylePanel: { mixed: "(blandat)", @@ -732,4 +734,4 @@ const e = { export { e as sv }; -//# sourceMappingURL=sv-BU7Kv6y9-DVYIsZF9.js.map +//# sourceMappingURL=sv-CvLfpN-U-DJtc8253.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/timestamp-D87vPTni.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/timestamp-CjD6uYGV.js similarity index 97% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/timestamp-D87vPTni.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/timestamp-CjD6uYGV.js index e2b6e3f6..a59cb861 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/timestamp-D87vPTni.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/timestamp-CjD6uYGV.js @@ -1,5 +1,5 @@ import { f as H, t as h, b as x, S as k, C as R, O as u, c as z, G as le, d as I, g as U, h as V, i as W, e as K, j as y, k as J, l as Q, m as X, n as d, o as Z, p as ee, q as te, r as se, N as F, R as ce, s as ge, T as ne, I as he, M as me } from "./engine-CcsIvE98.js"; -import { ai as t, aS as ae, aT as C, aU as b, aj as ue } from "./wasm-url-asset-DQFmMC86.js"; +import { aH as t, aS as ae, aT as C, aU as b, aI as ue } from "./wasm-url-asset-BJXsMWLm.js"; class i extends Error { constructor(n, s) { super(s), this.reason = n, this.name = "CmsError"; @@ -78,17 +78,17 @@ function fe(e, n = "detached") { let $ = null; if (B) { const L = B.values[0]?.valueBlock?.value?.[0]?.valueBlock?.value?.[0]?.valueBlock?.value ?? []; - let j = 0; + let q = 0; const E = L[0]; if (E instanceof I && E.valueBlock.value[0] instanceof U) { if (E.valueBlock.value[0].valueBlock.toString() !== t.sha256) throw new i("unsupported", "signing-certificate-v2 uses a hash other than SHA-256"); - j = 1; + q = 1; } - const q = L[j]; - if (!(q instanceof u)) + const j = L[q]; + if (!(j instanceof u)) throw new i("malformed", "signing-certificate-v2 carries no certHash"); - $ = new Uint8Array(q.valueBlock.valueHexView); + $ = new Uint8Array(j.valueBlock.valueHexView); } let P = null; const O = g.unsignedAttrs?.attributes.find( @@ -371,4 +371,4 @@ export { de as r, be as t }; -//# sourceMappingURL=timestamp-D87vPTni.js.map +//# sourceMappingURL=timestamp-CjD6uYGV.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/wasm-url-asset-DQFmMC86.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/wasm-url-asset-BJXsMWLm.js similarity index 58% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/wasm-url-asset-DQFmMC86.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/wasm-url-asset-BJXsMWLm.js index 07af9d82..b732c19d 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/wasm-url-asset-DQFmMC86.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/wasm-url-asset-BJXsMWLm.js @@ -1,8 +1,8 @@ -var Bv = (e) => { +var t1 = (e) => { throw TypeError(e); }; -var jh = (e, t, n) => t.has(e) || Bv("Cannot " + n); -var Re = (e, t, n) => (jh(e, t, "read from private field"), n ? n.call(e) : t.get(e)), Vt = (e, t, n) => t.has(e) ? Bv("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, n), Mt = (e, t, n, o) => (jh(e, t, "write to private field"), o ? o.call(e, n) : t.set(e, n), n), Et = (e, t, n) => (jh(e, t, "access private method"), n); +var zh = (e, t, n) => t.has(e) || t1("Cannot " + n); +var je = (e, t, n) => (zh(e, t, "read from private field"), n ? n.call(e) : t.get(e)), Kt = (e, t, n) => t.has(e) ? t1("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, n), Et = (e, t, n, o) => (zh(e, t, "write to private field"), o ? o.call(e, n) : t.set(e, n), n), Ct = (e, t, n) => (zh(e, t, "access private method"), n); const q = { Unknown: "Unknown", InvalidArg: "InvalidArg", @@ -205,42 +205,42 @@ const q = { UpstreamError: "UpstreamError" }; new Set(Object.values(q)); -function rl(e) { +function ol(e) { "@babel/helpers - typeof"; - return rl = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { + return ol = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; - }, rl(e); + }, ol(e); } -function LN(e, t) { - if (rl(e) != "object" || !e) return e; +function OT(e, t) { + if (ol(e) != "object" || !e) return e; var n = e[Symbol.toPrimitive]; if (n !== void 0) { var o = n.call(e, t); - if (rl(o) != "object") return o; + if (ol(o) != "object") return o; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } -function jN(e) { - var t = LN(e, "string"); - return rl(t) == "symbol" ? t : t + ""; +function PT(e) { + var t = OT(e, "string"); + return ol(t) == "symbol" ? t : t + ""; } -function on(e, t, n) { - return (t = jN(t)) in e ? Object.defineProperty(e, t, { +function ln(e, t, n) { + return (t = PT(t)) in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e; } -var H = class r5 extends Error { +var H = class S5 extends Error { constructor(t, n, o = {}) { - super(n ?? t, o.cause === void 0 ? void 0 : { cause: o.cause }), on(this, "name", "EngineError"), on(this, "code", void 0), on(this, "details", void 0), this.code = t, this.details = o.details; + super(n ?? t, o.cause === void 0 ? void 0 : { cause: o.cause }), ln(this, "name", "EngineError"), ln(this, "code", void 0), ln(this, "details", void 0), this.code = t, this.details = o.details; } static is(t, n) { - return !(t instanceof r5) && t?.name !== "EngineError" ? !1 : n === void 0 ? !0 : t.code === n; + return !(t instanceof S5) && t?.name !== "EngineError" ? !1 : n === void 0 ? !0 : t.code === n; } toJSON() { return { @@ -250,7 +250,7 @@ var H = class r5 extends Error { }; } }; -function ba(e) { +function ap(e) { return H.is(e) ? e.toJSON() : e instanceof Error ? { code: e.name === "AbortError" ? q.Aborted : q.Unknown, message: e.message @@ -259,26 +259,26 @@ function ba(e) { message: String(e ?? "unknown error") }; } -function s5(e) { +function O5(e) { return new H(e.code, e.message, { details: e.details }); } -function FN(e) { +function MT(e) { return typeof e == "number" && Number.isInteger(e) && e > 0; } -function ut(e) { +function dt(e) { return { kind: "objectNumber", objectNumber: e }; } -function pi(e, t) { +function ga(e, t) { return e.kind === t.kind && e.objectNumber === t.objectNumber; } -function Dt(e) { - if (!FN(e.objectNumber)) throw new RangeError(`encodePageKey: objectNumber must be a positive integer, got ${e.objectNumber}`); +function xt(e) { + if (!MT(e.objectNumber)) throw new RangeError(`encodePageKey: objectNumber must be a positive integer, got ${e.objectNumber}`); return `obj:${e.objectNumber}`; } -function ie(e) { +function Y(e) { switch (e.kind) { case "objectNumber": return `obj:${e.objectNumber}`; @@ -286,7 +286,7 @@ function ie(e) { return `base:${e.page.objectNumber}:${e.baseIndex}`; } } -const ja = [ +const Li = [ "courier", "courier-bold", "courier-bold-oblique", @@ -301,7 +301,7 @@ const ja = [ "times-italic", "symbol", "zapf-dingbats" -], i5 = { +], P5 = { invisible: !1, hidden: !1, print: !1, @@ -313,13 +313,20 @@ const ja = [ toggleNoView: !1, lockedContents: !1 }; -function DN(e) { +function ET(e) { return { kind: "fqn", name: e }; } -function $N(e, t) { +function CT(e) { + if (e.kind === "objectNumber") { + if (!Number.isInteger(e.objectNumber) || e.objectNumber <= 0) throw new RangeError(`encodeFieldRefKey: objectNumber must be a positive integer, got ${e.objectNumber}`); + return `obj:${e.objectNumber}`; + } + return `fqn:${e.name}`; +} +function IT(e, t) { return { ref: e > 0 && t ? { kind: "objectNumber", @@ -330,40 +337,40 @@ function $N(e, t) { page: t }; } -const zi = (e, t) => e.replace(/\B(?=(\d{3})+(?!\d))/g, () => t), a5 = (e, t) => t ? a5(t, e % t) : e; -function Xd(e) { +const Ka = (e, t) => e.replace(/\B(?=(\d{3})+(?!\d))/g, () => t), M5 = (e, t) => t ? M5(t, e % t) : e; +function Zd(e) { const t = Math.fround(e.conversion ?? NaN); if (!Number.isFinite(t) || t <= 0) return !1; const n = e.precision ?? (e.fraction === "fraction" ? 16 : 100); return !(!Number.isInteger(n) || n < 1 || n > 2147483647 || (e.fraction ?? "decimal") === "decimal" && !Number.isInteger(Math.log10(n))); } -function BN(e, t) { +function _T(e, t) { const n = t.fraction ?? "decimal", o = t.thousands ?? ","; - if (n === "round") return zi(String(Math.round(e)), o); - if (n === "truncate") return zi(String(Math.trunc(e)), o); + if (n === "round") return Ka(String(Math.round(e)), o); + if (n === "truncate") return Ka(String(Math.trunc(e)), o); if (n === "fraction") { - const a = t.precision ?? 16; - let c = Math.floor(e), l = Math.round((e - c) * a); - if (l === a && (c++, l = 0), !l) return zi(String(c), o); - const u = t.fixed ? 1 : a5(l, a); - return `${c ? `${zi(String(c), o)} ` : ""}${l / u}/${a / u}`; + const i = t.precision ?? 16; + let c = Math.floor(e), l = Math.round((e - c) * i); + if (l === i && (c++, l = 0), !l) return Ka(String(c), o); + const u = t.fixed ? 1 : M5(l, i); + return `${c ? `${Ka(String(c), o)} ` : ""}${l / u}/${i / u}`; } - const r = Math.log10(t.precision ?? 100), [s, i = ""] = e.toFixed(r).split("."); - return zi(s, o) + (i ? (t.decimal || ".") + i : ""); + const r = Math.log10(t.precision ?? 100), [s, a = ""] = e.toFixed(r).split("."); + return Ka(s, o) + (a ? (t.decimal || ".") + a : ""); } -function zv(e, t) { - if (!Number.isFinite(e) || !t.length || !t.every(Xd)) throw new H(q.InvalidArg, "Measurement requires a finite value and valid number formats"); +function n1(e, t) { + if (!Number.isFinite(e) || !t.length || !t.every(Zd)) throw new H(q.InvalidArg, "Measurement requires a finite value and valid number formats"); let n = Math.abs(e); const o = []; for (const [r, s] of t.entries()) { if (n *= Math.fround(s.conversion), !Number.isFinite(n)) throw new H(q.InvalidArg, "Measurement overflow"); - const i = Math.floor(n), a = n - i, c = r === t.length - 1, l = c || a === 0, u = c ? BN(n, s) : zi(String(i), s.thousands ?? ","), f = s.labelPosition === "prefix", d = s.prefixSpacing ?? (f && r === 0 ? "" : " "), p = s.suffixSpacing ?? (!f && l ? "" : " "), h = d + s.unit + p; - if (o.push(f ? h + u : u + h), l) break; - n = a; + const a = Math.floor(n), i = n - a, c = r === t.length - 1, l = c || i === 0, u = c ? _T(n, s) : Ka(String(a), s.thousands ?? ","), f = s.labelPosition === "prefix", d = s.prefixSpacing ?? (f && r === 0 ? "" : " "), p = s.suffixSpacing ?? (!f && l ? "" : " "), g = d + s.unit + p; + if (o.push(f ? g + u : u + g), l) break; + n = i; } return (e < 0 ? "-" : "") + o.join(""); } -const Lo = { +const Ro = { courier: { family: "Courier", weight: 400, @@ -434,10 +441,10 @@ const Lo = { weight: 400, italic: !1 } -}, po = (e) => ja.includes(e); -function qb(e, t) { - if (po(e)) { - const o = Lo[e]; +}, ho = (e) => Li.includes(e); +function ty(e, t) { + if (ho(e)) { + const o = Ro[e]; return { family: o.family, weight: o.weight, @@ -451,10 +458,10 @@ function qb(e, t) { italic: n.italic } : { family: e }; } -function ei(e) { +function na(e) { return e.toLowerCase().replace(/[\s\-_'"]/g, ""); } -const c5 = { +const E5 = { helvetica: "Helvetica", arial: "Helvetica", arialmt: "Helvetica", @@ -472,28 +479,28 @@ const c5 = { zapfdingbats: "ZapfDingbats", dingbats: "ZapfDingbats" }; -function Hb(e) { - return c5[ei(e)]; +function ny(e) { + return E5[na(e)]; } -function Vb(e, t) { +function oy(e, t) { const n = t?.(e.family, e.weight, e.italic); if (n !== void 0) return n; - const o = c5[ei(e.family)]; + const o = E5[na(e.family)]; if (o) { - const r = Object.entries(Lo), s = e.weight >= 600, i = r.find(([, a]) => a.family === o && a.weight >= 600 === s && a.italic === e.italic) ?? r.find(([, a]) => a.family === o); - if (i) return i[0]; + const r = Object.entries(Ro), s = e.weight >= 600, a = r.find(([, i]) => i.family === o && i.weight >= 600 === s && i.italic === e.italic) ?? r.find(([, i]) => i.family === o); + if (a) return a[0]; } return e.family; } -function Kr(e) { - const t = Vb({ - family: Hb(e.family) ?? "Helvetica", +function qr(e) { + const t = oy({ + family: ny(e.family) ?? "Helvetica", weight: e.weight ?? 400, italic: e.italic ?? !1 }); - return po(t) ? t : "helvetica"; + return ho(t) ? t : "helvetica"; } -function l5(e) { +function C5(e) { if (typeof e != "object" || e === null) return !1; const { left: t, bottom: n, right: o, top: r } = e; return [ @@ -503,7 +510,7 @@ function l5(e) { r ].every((s) => typeof s == "number" && Number.isFinite(s)); } -function Rc(e) { +function Tc(e) { return { left: Math.min(e.left, e.right), right: Math.max(e.left, e.right), @@ -511,7 +518,7 @@ function Rc(e) { top: Math.max(e.top, e.bottom) }; } -function zN(e) { +function NT(e) { const t = [ e.upperLeft.x, e.upperRight.x, @@ -530,10 +537,10 @@ function zN(e) { top: Math.max(...n) }; } -function u5(e, t) { - const n = Gb(t); - if (n !== null) return Yb(e, n); - const o = t * Math.PI / 180, r = Math.abs(Math.cos(o)), s = Math.abs(Math.sin(o)), i = e.right - e.left, a = e.top - e.bottom, c = (i * r + a * s) / 2, l = (i * s + a * r) / 2, u = (e.left + e.right) / 2, f = (e.bottom + e.top) / 2; +function I5(e, t) { + const n = ry(t); + if (n !== null) return sy(e, n); + const o = t * Math.PI / 180, r = Math.abs(Math.cos(o)), s = Math.abs(Math.sin(o)), a = e.right - e.left, i = e.top - e.bottom, c = (a * r + i * s) / 2, l = (a * s + i * r) / 2, u = (e.left + e.right) / 2, f = (e.bottom + e.top) / 2; return { left: u - c, bottom: f - l, @@ -541,11 +548,11 @@ function u5(e, t) { top: f + l }; } -function Gb(e) { +function ry(e) { const t = (e % 360 + 360) % 360; return t % 90 === 0 ? t : null; } -function Yb(e, t) { +function sy(e, t) { if (t === 0 || t === 180) return e; const n = (e.left + e.right) / 2, o = (e.bottom + e.top) / 2, r = (e.top - e.bottom) / 2, s = (e.right - e.left) / 2; return { @@ -555,11 +562,11 @@ function Yb(e, t) { top: o + s }; } -function WN(e, t) { +function TT(e, t) { const n = 0.01 + 1e-4 * Math.max(e.right - e.left, e.top - e.bottom, t.right - t.left, t.top - t.bottom); return Math.abs(e.left - t.left) <= n && Math.abs(e.bottom - t.bottom) <= n && Math.abs(e.right - t.right) <= n && Math.abs(e.top - t.top) <= n; } -function Qb(e) { +function ay(e) { if (e.length === 0) return { left: 0, bottom: 0, @@ -567,8 +574,8 @@ function Qb(e) { top: 0 }; let t = 1 / 0, n = 1 / 0, o = -1 / 0, r = -1 / 0; - for (const { x: s, y: i } of e) - t = Math.min(t, s), n = Math.min(n, i), o = Math.max(o, s), r = Math.max(r, i); + for (const { x: s, y: a } of e) + t = Math.min(t, s), n = Math.min(n, a), o = Math.max(o, s), r = Math.max(r, a); return { left: t, bottom: n, @@ -576,49 +583,49 @@ function Qb(e) { top: r }; } -function sl(e, t) { - const n = t.degrees * Math.PI / 180, o = Math.cos(n), r = Math.sin(n), s = e.x - t.center.x, i = e.y - t.center.y; +function rl(e, t) { + const n = t.degrees * Math.PI / 180, o = Math.cos(n), r = Math.sin(n), s = e.x - t.center.x, a = e.y - t.center.y; return { - x: t.center.x + s * o + i * r, - y: t.center.y - s * r + i * o + x: t.center.x + s * o + a * r, + y: t.center.y - s * r + a * o }; } -function d5(e, t) { - return sl(e, { +function _5(e, t) { + return rl(e, { degrees: -t.degrees, center: t.center }); } -const f5 = (e) => ({ +const N5 = (e) => ({ x: (e.left + e.right) / 2, y: (e.bottom + e.top) / 2 }); -function UN(e, t) { +function RT(e, t) { return { degrees: t, - center: f5(Qb(e)) + center: N5(ay(e)) }; } -function KN(e, t) { +function LT(e, t) { const n = { x: 0, y: 0 - }, o = e.map((r) => sl(r, { + }, o = e.map((r) => rl(r, { degrees: -t, center: n })); return { degrees: t, - center: sl(f5(Qb(o)), { + center: rl(N5(ay(o)), { degrees: t, center: n }) }; } -function p5(e, t) { +function T5(e, t) { return e.replace(/\r\n|\r|\n/g, t); } -const il = { +const sl = { family: "Helvetica", weight: 400, italic: !1, @@ -631,19 +638,19 @@ const il = { align: "left", dir: "ltr" }; -function ya(e) { - return p5(e.paragraphs.map((t) => t.runs.map((n) => n.text).join("")).join(` +function bi(e) { + return T5(e.paragraphs.map((t) => t.runs.map((n) => n.text).join("")).join(` `), ` `); } -function Xb(e) { +function iy(e) { return e.split(/\r\n|\r|\n/).map((t) => ({ runs: [{ text: t }] })); } -const Fh = (e) => Math.max(0, Math.min(255, Math.round(e))).toString(16).padStart(2, "0"); -function qN(e, t, n) { - return `#${Fh(e)}${Fh(t)}${Fh(n)}`; +const Wh = (e) => Math.max(0, Math.min(255, Math.round(e))).toString(16).padStart(2, "0"); +function jT(e, t, n) { + return `#${Wh(e)}${Wh(t)}${Wh(n)}`; } -function HN(e) { +function FT(e) { const t = Number.parseInt(e.slice(1), 16); return { r: t >> 16 & 255, @@ -651,10 +658,10 @@ function HN(e) { b: t & 255 }; } -function VN(e, t) { +function DT(e, t) { return e.toLowerCase() === t.toLowerCase(); } -const Zd = { +const Jd = { highlight: { owners: { ref: "engine", @@ -1727,166 +1734,42 @@ const Zd = { resources: {} } }; -function Zb(e) { +function cy(e) { const t = {}; - for (const n of Object.keys(Zd)) t[n] = e(Zd[n]); + for (const n of Object.keys(Jd)) t[n] = e(Jd[n]); return t; } -function kr(e) { - return Object.prototype.hasOwnProperty.call(Zd, e) ? Zd[e] : null; +function Ar(e) { + return Object.prototype.hasOwnProperty.call(Jd, e) ? Jd[e] : null; } -const Fa = Zb((e) => Object.keys(e.owners)); -Zb((e) => e.resources); -const wa = Zb((e) => e.spaces), GN = Object.assign({}, ...Object.values(wa)), YN = [[ +const ji = cy((e) => Object.keys(e.owners)); +cy((e) => e.resources); +const yi = cy((e) => e.spaces), $T = Object.assign({}, ...Object.values(yi)), BT = [[ "highlight", "underline", "squiggly", "strikeout" ], ["square", "circle"]]; -function Jd(e) { - const t = YN.find((n) => n.includes(e)); +function ef(e) { + const t = BT.find((n) => n.includes(e)); return t ? t.filter((n) => n !== e) : []; } -function h5(e, t) { - const n = kr(t)?.owners ?? {}, o = e; - for (const r of Object.keys(kr(e.subtype)?.owners ?? {})) { +function R5(e, t) { + const n = Ar(t)?.owners ?? {}, o = e; + for (const r of Object.keys(Ar(e.subtype)?.owners ?? {})) { const s = o[r]; if (!(r in n) && s !== null && s !== void 0) return r; } return null; } -function g5(e, t) { - return Jd(e.subtype).includes(t) && h5(e, t) === null; +function L5(e, t) { + return ef(e.subtype).includes(t) && R5(e, t) === null; } -function Jb(e, t) { +function ly(e, t) { const n = Date.parse(e) - Date.parse(t); return Number.isNaN(n) ? 0 : n; } -function QN(e) { - return e.reply ? e.reply.type === "group" ? "grouped-subordinate" : "reply" : "top-level"; -} -function op(e, t) { - const n = new Map(e.map((u) => [ie(u.ref), u])), o = n.get(ie(t)); - if (!o) return []; - const r = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), i = (u, f, d) => u.set(f, [...u.get(f) ?? [], d]); - for (const u of e) { - const f = u.reply ? n.get(ie(u.reply.to)) : void 0; - f && f !== u && i(r, f, u); - const d = u.subtype === "popup" && u.parent ? n.get(ie(u.parent)) : void 0; - d && d !== u && i(s, d, u); - const p = u.popup ? n.get(ie(u.popup)) : void 0; - p && p !== u && p.subtype === "popup" && i(s, u, p); - } - const a = [], c = /* @__PURE__ */ new Set(), l = (u) => { - if (!c.has(u)) { - c.add(u); - for (const f of r.get(u) ?? []) l(f); - for (const f of s.get(u) ?? []) - c.has(f) || (c.add(f), a.push(f)); - a.push(u); - } - }; - return l(o), a; -} -const XN = /* @__PURE__ */ new Set([ - "widget", - "link", - "popup", - "unsupported" -]), ZN = /* @__PURE__ */ new Set([ - "accepted", - "rejected", - "cancelled", - "completed", - "none" -]), JN = /* @__PURE__ */ new Set(["marked", "unmarked"]); -function ey(e) { - return ZN.has(e) ? "review" : JN.has(e) ? "marked" : null; -} -const Lc = (e) => typeof e == "string" && e !== ""; -function Dh(e) { - return e.subtype === "text" && (Lc(e.state) || Lc(e.stateModel)); -} -function eT(e, t = {}) { - const n = e.filter((l) => !XN.has(l.subtype)), o = new Map(n.map((l) => [ie(l.ref), l])), r = tT(new Map(n.map((l, u) => [ie(l.ref), u]))), s = /* @__PURE__ */ new Map(); - for (const l of n) { - if (!l.reply) continue; - const u = o.get(ie(l.reply.to)); - if (!u) continue; - const f = ie(u.ref), d = s.get(f); - d ? d.push(l) : s.set(f, [l]); - } - const i = /* @__PURE__ */ new Set(), a = [], c = (l) => { - const u = [], f = [], d = []; - i.add(ie(l.ref)); - const p = [...s.get(ie(l.ref)) ?? []]; - for (; p.length > 0; ) { - const h = p.pop(), g = ie(h.ref); - i.has(g) || (i.add(g), Dh(h) ? d.push(h) : QN(h) === "grouped-subordinate" ? f.push(h) : u.push(h), p.push(...s.get(g) ?? [])); - } - u.sort(r), d.sort(r), a.push({ - root: l, - page: l.page, - replies: u, - groupedParts: f, - review: nT(d, t) - }); - }; - for (const l of n) !l.reply && !Dh(l) && c(l); - for (const l of n) - i.has(ie(l.ref)) || Dh(l) || c(l); - return a; -} -function tT(e) { - return (t, n) => { - const o = t.createdAt ?? t.modifiedAt, r = n.createdAt ?? n.modifiedAt, s = o !== null && r !== null ? Jb(o, r) : 0; - return s !== 0 ? s : o !== null && r === null ? -1 : o === null && r !== null ? 1 : e.get(ie(t.ref)) - e.get(ie(n.ref)); - }; -} -function nT(e, t) { - const n = {}, o = {}; - let r = null; - for (const i of e) { - const a = oT(i); - if (a) { - if (a.stateModel === "marked") { - a.by !== null && $h(a, o[a.by]) && (o[a.by] = a); - continue; - } - a.by !== null && $h(a, n[a.by]) && (n[a.by] = a), $h(a, r) && (r = a); - } - } - const s = Object.keys(o).filter((i) => o[i].state === "marked").sort(); - return { - byReviewer: n, - lastChange: r, - markedBy: s, - statusRefs: e.map((i) => i.ref), - mine: t.currentUserId === void 0 ? null : n[t.currentUserId] ?? null - }; -} -function oT(e) { - if (e.subtype !== "text") return null; - const t = Lc(e.state) ? e.state : null; - let n = Lc(e.stateModel) ? e.stateModel : null; - if (n === null && t !== null && (n = ey(t), n === null)) - return null; - let o = t; - if (o === null) if (n === "review") o = "none"; - else if (n === "marked") o = "unmarked"; - else return null; - return n === null ? null : { - state: o, - stateModel: n, - by: e.userId ?? (Lc(e.author) ? e.author : null), - at: e.modifiedAt ?? e.createdAt ?? null, - ref: e.ref - }; -} -function $h(e, t) { - return t ? e.at !== null && t.at !== null ? Jb(e.at, t.at) >= 0 : e.at !== null ? !0 : t.at === null : !0; -} -const m5 = /* @__PURE__ */ new Set(["link", "widget"]), rT = 1e-3, sT = /* @__PURE__ */ new Set([ +const j5 = /* @__PURE__ */ new Set(["link", "widget"]), zT = 1e-3, WT = /* @__PURE__ */ new Set([ "subtype", "invisible", "hidden", @@ -1922,7 +1805,7 @@ const m5 = /* @__PURE__ */ new Set(["link", "widget"]), rT = 1e-3, sT = /* @__PU "file", "field", "fieldKind" -]), iT = /* @__PURE__ */ new Set(["free-text", "redact"]), aT = /* @__PURE__ */ new Set([ +]), UT = /* @__PURE__ */ new Set(["free-text", "redact"]), KT = /* @__PURE__ */ new Set([ "square", "circle", "free-text", @@ -1933,7 +1816,7 @@ const m5 = /* @__PURE__ */ new Set(["link", "widget"]), rT = 1e-3, sT = /* @__PU "polyline", "polygon", "ink" -]), cT = { +]), F5 = { square: ["box"], circle: ["box"], "free-text": ["box", "calloutLine"], @@ -1952,38 +1835,38 @@ const m5 = /* @__PURE__ */ new Set(["link", "widget"]), rT = 1e-3, sT = /* @__PU "file-attachment": ["rect"], link: ["rect"], widget: ["box"] -}, ty = (e, t) => Math.abs(e - t) <= rT, Wv = (e) => typeof e == "number" ? (e % 360 + 360) % 360 : 0; -function eo(e, t) { +}, uy = (e, t) => Math.abs(e - t) <= zT, o1 = (e) => typeof e == "number" ? (e % 360 + 360) % 360 : 0; +function Jn(e, t) { if (e == null || t == null) return e == null && t == null; - if (typeof e == "number" && typeof t == "number") return ty(e, t); + if (typeof e == "number" && typeof t == "number") return uy(e, t); if (Array.isArray(e) || Array.isArray(t)) - return !Array.isArray(e) || !Array.isArray(t) || e.length !== t.length ? !1 : e.every((n, o) => eo(n, t[o])); + return !Array.isArray(e) || !Array.isArray(t) || e.length !== t.length ? !1 : e.every((n, o) => Jn(n, t[o])); if (typeof e == "object" && typeof t == "object") { const n = /* @__PURE__ */ new Set([...Object.keys(e), ...Object.keys(t)]); - for (const o of n) if (!eo(e[o], t[o])) return !1; + for (const o of n) if (!Jn(e[o], t[o])) return !1; return !0; } return e === t; } -function im(e, t, n, o) { +function pm(e, t, n, o) { if (e == null || t == null) return e == null && t == null; if (Array.isArray(e) || Array.isArray(t)) - return !Array.isArray(e) || !Array.isArray(t) || e.length !== t.length ? !1 : e.every((r, s) => im(r, t[s], n, o)); + return !Array.isArray(e) || !Array.isArray(t) || e.length !== t.length ? !1 : e.every((r, s) => pm(r, t[s], n, o)); if (typeof e == "object" && typeof t == "object") { const r = /* @__PURE__ */ new Set([...Object.keys(e), ...Object.keys(t)]); for (const s of r) { - const i = e[s], a = t[s]; - if (typeof i == "number" && typeof a == "number") { - if (!ty(i + (s === "left" || s === "right" || s === "x" ? n : s === "bottom" || s === "top" || s === "y" ? o : 0), a)) return !1; - } else if (!im(i, a, n, o)) return !1; + const a = e[s], i = t[s]; + if (typeof a == "number" && typeof i == "number") { + if (!uy(a + (s === "left" || s === "right" || s === "x" ? n : s === "bottom" || s === "top" || s === "y" ? o : 0), i)) return !1; + } else if (!pm(a, i, n, o)) return !1; } return !0; } return e === t; } -function ef(e) { +function tf(e) { if (e == null || typeof e != "object") return; - if (Array.isArray(e)) return e.length > 0 ? ef(e[0]) : void 0; + if (Array.isArray(e)) return e.length > 0 ? tf(e[0]) : void 0; const t = e; return typeof t.x == "number" && typeof t.y == "number" ? { x: t.x, @@ -1991,46 +1874,183 @@ function ef(e) { } : typeof t.left == "number" && typeof t.bottom == "number" ? { x: t.left, y: t.bottom - } : ef(t.start ?? t.upperLeft); + } : tf(t.start ?? t.upperLeft); } -function lT(e, t, n, o) { - const [r] = o, s = ef(e[r]), i = ef(t[r]); - if (!s || !i) return null; - const a = i.x - s.x, c = i.y - s.y; - if (aT.has(n)) { +function qT(e, t, n, o) { + const [r] = o, s = tf(e[r]), a = tf(t[r]); + if (!s || !a) return null; + const i = a.x - s.x, c = a.y - s.y; + if (KT.has(n)) { const l = t.rotation === void 0 ? e.rotation : t.rotation; - if (!ty(Wv(e.rotation), Wv(l))) return null; + if (!uy(o1(e.rotation), o1(l))) return null; } for (const l of o) { const u = e[l], f = t[l]; - if (!(u == null && f == null) && (u == null || f == null || !im(u, f, a, c))) + if (!(u == null && f == null) && (u == null || f == null || !pm(u, f, i, c))) return null; } return { - x: a, + x: i, y: c }; } -const uT = { impact: "inert" }, Pu = { impact: "regenerate" }; -function b5(e, t) { - if (t.subtype !== void 0 && t.subtype !== e.subtype) return Pu; - const n = e, o = t, r = e.subtype, s = o.captionEnabled === void 0 ? n.captionEnabled : o.captionEnabled, i = iT.has(r) || [ +function hm(e, t, n) { + return Array.isArray(e) ? e.map((o) => hm(o, t, n)) : e === null || typeof e != "object" ? e : Object.fromEntries(Object.entries(e).map(([o, r]) => typeof r != "number" ? [o, hm(r, t, n)] : [o, r + (o === "left" || o === "right" || o === "x" ? t : o === "bottom" || o === "top" || o === "y" ? n : 0)])); +} +function HT(e, t) { + if (t.x === 0 && t.y === 0) return e; + const n = e, o = /* @__PURE__ */ new Set([ + "rect", + "captionCenter", + ...F5[e.subtype] ?? [] + ]), r = { ...n }; + for (const s of o) n[s] != null && (r[s] = hm(n[s], t.x, t.y)); + return r; +} +const VT = { impact: "inert" }, Eu = { impact: "regenerate" }; +function D5(e, t) { + if (t.subtype !== void 0 && t.subtype !== e.subtype) return Eu; + const n = e, o = t, r = e.subtype, s = o.captionEnabled === void 0 ? n.captionEnabled : o.captionEnabled, a = UT.has(r) || [ "line", "polygon", "polyline" - ].includes(r) && s === !0, a = []; + ].includes(r) && s === !0, i = []; for (const [f, d] of Object.entries(o)) - d === void 0 || sT.has(f) || f === "contents" && !i || eo(d, n[f]) || a.push(f); - if (a.length === 0) return uT; - const c = cT[r], l = c && (r === "polygon" || r === "polyline") && n.captionCenter ? [...c, "captionCenter"] : c; - if (!l || !a.every((f) => l.includes(f))) return Pu; - const u = lT(n, o, r, l); + d === void 0 || WT.has(f) || f === "contents" && !a || Jn(d, n[f]) || i.push(f); + if (i.length === 0) return VT; + const c = F5[r], l = c && (r === "polygon" || r === "polyline") && n.captionCenter ? [...c, "captionCenter"] : c; + if (!l || !i.every((f) => l.includes(f))) return Eu; + const u = qT(n, o, r, l); return u ? { impact: "translation", by: u - } : Pu; + } : Eu; } -const rp = /* @__PURE__ */ new Set([ +function GT(e) { + return e.reply ? e.reply.type === "group" ? "grouped-subordinate" : "reply" : "top-level"; +} +function ip(e, t) { + const n = new Map(e.map((u) => [Y(u.ref), u])), o = n.get(Y(t)); + if (!o) return []; + const r = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), a = (u, f, d) => u.set(f, [...u.get(f) ?? [], d]); + for (const u of e) { + const f = u.reply ? n.get(Y(u.reply.to)) : void 0; + f && f !== u && a(r, f, u); + const d = u.subtype === "popup" && u.parent ? n.get(Y(u.parent)) : void 0; + d && d !== u && a(s, d, u); + const p = u.popup ? n.get(Y(u.popup)) : void 0; + p && p !== u && p.subtype === "popup" && a(s, u, p); + } + const i = [], c = /* @__PURE__ */ new Set(), l = (u) => { + if (!c.has(u)) { + c.add(u); + for (const f of r.get(u) ?? []) l(f); + for (const f of s.get(u) ?? []) + c.has(f) || (c.add(f), i.push(f)); + i.push(u); + } + }; + return l(o), i; +} +const YT = /* @__PURE__ */ new Set([ + "widget", + "link", + "popup", + "unsupported" +]), QT = /* @__PURE__ */ new Set([ + "accepted", + "rejected", + "cancelled", + "completed", + "none" +]), XT = /* @__PURE__ */ new Set(["marked", "unmarked"]); +function dy(e) { + return QT.has(e) ? "review" : XT.has(e) ? "marked" : null; +} +const Rc = (e) => typeof e == "string" && e !== ""; +function Uh(e) { + return e.subtype === "text" && (Rc(e.state) || Rc(e.stateModel)); +} +function ZT(e, t = {}) { + const n = e.filter((l) => !YT.has(l.subtype)), o = new Map(n.map((l) => [Y(l.ref), l])), r = JT(new Map(n.map((l, u) => [Y(l.ref), u]))), s = /* @__PURE__ */ new Map(); + for (const l of n) { + if (!l.reply) continue; + const u = o.get(Y(l.reply.to)); + if (!u) continue; + const f = Y(u.ref), d = s.get(f); + d ? d.push(l) : s.set(f, [l]); + } + const a = /* @__PURE__ */ new Set(), i = [], c = (l) => { + const u = [], f = [], d = []; + a.add(Y(l.ref)); + const p = [...s.get(Y(l.ref)) ?? []]; + for (; p.length > 0; ) { + const g = p.pop(), h = Y(g.ref); + a.has(h) || (a.add(h), Uh(g) ? d.push(g) : GT(g) === "grouped-subordinate" ? f.push(g) : u.push(g), p.push(...s.get(h) ?? [])); + } + u.sort(r), d.sort(r), i.push({ + root: l, + page: l.page, + replies: u, + groupedParts: f, + review: eR(d, t) + }); + }; + for (const l of n) !l.reply && !Uh(l) && c(l); + for (const l of n) + a.has(Y(l.ref)) || Uh(l) || c(l); + return i; +} +function JT(e) { + return (t, n) => { + const o = t.createdAt ?? t.modifiedAt, r = n.createdAt ?? n.modifiedAt, s = o !== null && r !== null ? ly(o, r) : 0; + return s !== 0 ? s : o !== null && r === null ? -1 : o === null && r !== null ? 1 : e.get(Y(t.ref)) - e.get(Y(n.ref)); + }; +} +function eR(e, t) { + const n = {}, o = {}; + let r = null; + for (const a of e) { + const i = tR(a); + if (i) { + if (i.stateModel === "marked") { + i.by !== null && Kh(i, o[i.by]) && (o[i.by] = i); + continue; + } + i.by !== null && Kh(i, n[i.by]) && (n[i.by] = i), Kh(i, r) && (r = i); + } + } + const s = Object.keys(o).filter((a) => o[a].state === "marked").sort(); + return { + byReviewer: n, + lastChange: r, + markedBy: s, + statusRefs: e.map((a) => a.ref), + mine: t.currentUserId === void 0 ? null : n[t.currentUserId] ?? null + }; +} +function tR(e) { + if (e.subtype !== "text") return null; + const t = Rc(e.state) ? e.state : null; + let n = Rc(e.stateModel) ? e.stateModel : null; + if (n === null && t !== null && (n = dy(t), n === null)) + return null; + let o = t; + if (o === null) if (n === "review") o = "none"; + else if (n === "marked") o = "unmarked"; + else return null; + return n === null ? null : { + state: o, + stateModel: n, + by: e.userId ?? (Rc(e.author) ? e.author : null), + at: e.modifiedAt ?? e.createdAt ?? null, + ref: e.ref + }; +} +function Kh(e, t) { + return t ? e.at !== null && t.at !== null ? ly(e.at, t.at) >= 0 : e.at !== null ? !0 : t.at === null : !0; +} +const cp = /* @__PURE__ */ new Set([ "highlight", "underline", "squiggly", @@ -2045,7 +2065,7 @@ const rp = /* @__PURE__ */ new Set([ "polyline", "polygon", "ink" -]), dT = /* @__PURE__ */ new Set([ +]), nR = /* @__PURE__ */ new Set([ "box", "point", "points", @@ -2054,155 +2074,155 @@ const rp = /* @__PURE__ */ new Set([ "linePoints", "calloutLine" ]); -function ny(e) { - return [...Object.entries(wa[e]).filter(([t, n]) => t !== "rect" && dT.has(n)).map(([t]) => t), "rotation"]; +function fy(e) { + return [...Object.entries(yi[e]).filter(([t, n]) => t !== "rect" && nR.has(n)).map(([t]) => t), "rotation"]; } -function fT(e, t) { +function oR(e, t) { const n = e.subtype; - if (!rp.has(n)) return { rect: t }; - const o = Rc(t), r = Rc(e.rect), s = o.right - o.left, i = o.top - o.bottom, a = r.right - r.left, c = r.top - r.bottom, l = eo(s, a), u = eo(i, c); - if (!l && s <= 0 || !u && i <= 0) throw Bh(n, "a rect needs a width and a height"); - const f = e.rotation ?? 0, d = wa[n], p = d.box === "box" ? Gb(f) : null; - if (!eo((f % 360 + 360) % 360, 0) && p === null && (!l || !u)) - throw Bh(n, "a turned drawing's rect can only move; resize its shape instead"); - if (!l && a <= 0 || !u && c <= 0) throw Bh(n, "its rect has no width or height to stretch; it can only move"); - const h = l ? 1 : s / a, g = u ? 1 : i / c, m = (P) => ({ - x: o.left + (P.x - r.left) * h, - y: o.bottom + (P.y - r.bottom) * g - }), M = (P) => { - const k = m({ - x: P.left, - y: P.bottom - }), A = m({ - x: P.right, - y: P.top + if (!cp.has(n)) return { rect: t }; + const o = Tc(t), r = Tc(e.rect), s = o.right - o.left, a = o.top - o.bottom, i = r.right - r.left, c = r.top - r.bottom, l = Jn(s, i), u = Jn(a, c); + if (!l && s <= 0 || !u && a <= 0) throw qh(n, "a rect needs a width and a height"); + const f = e.rotation ?? 0, d = yi[n], p = d.box === "box" ? ry(f) : null; + if (!Jn((f % 360 + 360) % 360, 0) && p === null && (!l || !u)) + throw qh(n, "a turned drawing's rect can only move; resize its shape instead"); + if (!l && i <= 0 || !u && c <= 0) throw qh(n, "its rect has no width or height to stretch; it can only move"); + const g = l ? 1 : s / i, h = u ? 1 : a / c, m = (k) => ({ + x: o.left + (k.x - r.left) * g, + y: o.bottom + (k.y - r.bottom) * h + }), O = (k) => { + const A = m({ + x: k.left, + y: k.bottom + }), w = m({ + x: k.right, + y: k.top }); - return Rc({ - left: k.x, - bottom: k.y, - right: A.x, - top: A.y + return Tc({ + left: A.x, + bottom: A.y, + right: w.x, + top: w.y }); - }, x = { - box: (P) => p === null || p === 0 || p === 180 ? M(P) : Yb(M(u5(P, p)), p), + }, E = { + box: (k) => p === null || p === 0 || p === 180 ? O(k) : sy(O(I5(k, p)), p), point: m, - points: (P) => P.map(m), - strokes: (P) => P.map((k) => k.map(m)), - quads: (P) => P.map((k) => ({ - upperLeft: m(k.upperLeft), - upperRight: m(k.upperRight), - lowerLeft: m(k.lowerLeft), - lowerRight: m(k.lowerRight) + points: (k) => k.map(m), + strokes: (k) => k.map((A) => A.map(m)), + quads: (k) => k.map((A) => ({ + upperLeft: m(A.upperLeft), + upperRight: m(A.upperRight), + lowerLeft: m(A.lowerLeft), + lowerRight: m(A.lowerRight) })), - linePoints: (P) => ({ - start: m(P.start), - end: m(P.end) + linePoints: (k) => ({ + start: m(k.start), + end: m(k.end) }), - calloutLine: (P) => P.map(m) - }, S = {}; - for (const P of ny(n)) { - const k = e[P], A = d[P]; - k != null && A && (S[P] = x[A](k)); + calloutLine: (k) => k.map(m) + }, P = {}; + for (const k of fy(n)) { + const A = e[k], w = d[k]; + A != null && w && (P[k] = E[w](A)); } - return S; + return P; } -function Bh(e, t) { +function qh(e, t) { return new H(q.InvalidArg, `${e} field 'rect': ${t}`, { details: { field: "rect" } }); } -const Ou = (e) => Number.isFinite(e) && e > 0; -function pT(e) { +const Cu = (e) => Number.isFinite(e) && e > 0; +function rR(e) { const t = Math.fround(e.x[0]?.conversion ?? NaN); - if (!Ou(t)) return null; + if (!Cu(t)) return null; if (!e.y) return { sx: t, sy: t }; const n = Math.fround(e.y[0]?.conversion ?? NaN), o = Math.fround(e.cyx ?? NaN), r = n * o; - return Ou(n) && Ou(o) && Ou(r) ? { + return Cu(n) && Cu(o) && Cu(r) ? { sx: t, sy: r } : null; } -const ti = (e) => ({ +const oa = (e) => ({ x: Math.fround(e.x), y: Math.fround(e.y) }); -function Uv(e, t, n) { +function r1(e, t, n) { let o = 0; - const r = e.map(ti); + const r = e.map(oa); for (let s = 0; s < (t ? r.length : r.length - 1); s++) { - const i = r[s], a = r[(s + 1) % r.length]; - o += Math.hypot((a.x - i.x) * n.sx, (a.y - i.y) * n.sy); + const a = r[s], i = r[(s + 1) % r.length]; + o += Math.hypot((i.x - a.x) * n.sx, (i.y - a.y) * n.sy); } return o; } -function y5(e, t) { +function $5(e, t) { if (e.length < 3) return 0; - const n = e.map(ti), o = n[0]; + const n = e.map(oa), o = n[0]; let r = 0; for (let s = 1; s < n.length - 1; s++) { - const i = n[s], a = n[s + 1]; - r += (i.x - o.x) * (a.y - o.y) - (a.x - o.x) * (i.y - o.y); + const a = n[s], i = n[s + 1]; + r += (a.x - o.x) * (i.y - o.y) - (i.x - o.x) * (a.y - o.y); } return Math.abs(r * t.sx * t.sy) / 2; } -function hT(e) { - const t = e.map(ti), n = (s, i) => s.x === i.x && s.y === i.y; - if (t.length > 1 && n(t[0], t[t.length - 1]) && t.pop(), t.length < 3 || y5(t, { +function sR(e) { + const t = e.map(oa), n = (s, a) => s.x === a.x && s.y === a.y; + if (t.length > 1 && n(t[0], t[t.length - 1]) && t.pop(), t.length < 3 || $5(t, { sx: 1, sy: 1 }) === 0) return !1; - const o = (s, i, a) => (i.x - s.x) * (a.y - s.y) - (i.y - s.y) * (a.x - s.x), r = (s, i, a) => o(s, i, a) === 0 && a.x >= Math.min(s.x, i.x) && a.x <= Math.max(s.x, i.x) && a.y >= Math.min(s.y, i.y) && a.y <= Math.max(s.y, i.y); + const o = (s, a, i) => (a.x - s.x) * (i.y - s.y) - (a.y - s.y) * (i.x - s.x), r = (s, a, i) => o(s, a, i) === 0 && i.x >= Math.min(s.x, a.x) && i.x <= Math.max(s.x, a.x) && i.y >= Math.min(s.y, a.y) && i.y <= Math.max(s.y, a.y); for (let s = 0; s < t.length; s++) { - const i = t[s], a = t[(s + 1) % t.length]; - if (n(i, a)) return !1; - const c = t[(s + 2) % t.length], l = (a.x - i.x) * (c.x - a.x) + (a.y - i.y) * (c.y - a.y) < 0; - if (o(i, a, c) === 0 && l) return !1; + const a = t[s], i = t[(s + 1) % t.length]; + if (n(a, i)) return !1; + const c = t[(s + 2) % t.length], l = (i.x - a.x) * (c.x - i.x) + (i.y - a.y) * (c.y - i.y) < 0; + if (o(a, i, c) === 0 && l) return !1; for (let u = s + 1; u < t.length; u++) { if (u === s + 1 || s === 0 && u === t.length - 1) continue; const f = t[u], d = t[(u + 1) % t.length]; - if (r(i, a, f) || r(i, a, d) || r(f, d, i) || r(f, d, a) || Math.sign(o(i, a, f)) !== Math.sign(o(i, a, d)) && Math.sign(o(f, d, i)) !== Math.sign(o(f, d, a))) return !1; + if (r(a, i, f) || r(a, i, d) || r(f, d, a) || r(f, d, i) || Math.sign(o(a, i, f)) !== Math.sign(o(a, i, d)) && Math.sign(o(f, d, a)) !== Math.sign(o(f, d, i))) return !1; } } return !0; } -function va(e) { +function wi(e) { return e.subtype === "line" && e.intent === "line-dimension" || e.subtype === "polyline" && e.intent === "polyline-dimension" || e.subtype === "polygon" && e.intent === "polygon-dimension"; } -const Da = (e) => !("unavailable" in e); -function gr(e) { - if (!va(e)) return { unavailable: "not-dimension" }; +const Fi = (e) => !("unavailable" in e); +function mr(e) { + if (!wi(e)) return { unavailable: "not-dimension" }; if (!e.measure) return { unavailable: "no-measure" }; if (e.measure.subtype !== "rectilinear") return { unavailable: "foreign-measure" }; - const t = e.measure, n = pT(t); + const t = e.measure, n = rR(t); if (!n) return { unavailable: "no-scale" }; const o = e.subtype === "line" ? e.linePoints ? [e.linePoints.start, e.linePoints.end] : [] : e.vertices ?? []; - if (o.length < (e.subtype === "polygon" ? 3 : 2) || o.some((a) => !Number.isFinite(Math.fround(a.x)) || !Number.isFinite(Math.fround(a.y)))) return { unavailable: "invalid-geometry" }; + if (o.length < (e.subtype === "polygon" ? 3 : 2) || o.some((i) => !Number.isFinite(Math.fround(i.x)) || !Number.isFinite(Math.fround(i.y)))) return { unavailable: "invalid-geometry" }; const r = e.subtype === "polygon"; - if (r && !hT(o)) return { unavailable: "invalid-geometry" }; + if (r && !sR(o)) return { unavailable: "invalid-geometry" }; const s = r ? t.area : t.distance; if (!s.length) return { unavailable: r ? "no-area-format" : "no-distance-format" }; - if (!s.every(Xd)) return { unavailable: "invalid-format" }; - const i = r ? y5(o, n) : Uv(o, !1, n); + if (!s.every(Zd)) return { unavailable: "invalid-format" }; + const a = r ? $5(o, n) : r1(o, !1, n); try { return { kind: r ? "area" : e.subtype === "line" ? "distance" : "perimeter", - value: i * Math.fround(s[0].conversion), - label: zv(i, s), - ...r && t.distance.length && t.distance.every(Xd) ? { perimeter: zv(Uv(o, !0, n), t.distance) } : {} + value: a * Math.fround(s[0].conversion), + label: n1(a, s), + ...r && t.distance.length && t.distance.every(Zd) ? { perimeter: n1(r1(o, !0, n), t.distance) } : {} }; } catch { return { unavailable: "invalid-format" }; } } -function gT(e) { - const t = gr(e); - return Da(t) && e.contents !== t.label ? { +function aR(e) { + const t = mr(e); + return Fi(t) && e.contents !== t.label ? { ...e, contents: t.label } : e; } -function oy(e) { +function py(e) { if (e.subtype !== "rectilinear") throw new H(q.InvalidArg, "Only rectilinear measures can be authored"); if (e.ratio !== void 0 && (typeof e.ratio != "string" || e.ratio.includes("\0"))) throw new H(q.InvalidArg, "Invalid scale ratio"); for (const t of [ @@ -2217,7 +2237,7 @@ function oy(e) { if (!(n === void 0 && (t === "y" || t === "angle" || t === "slope"))) { if (!Array.isArray(n)) throw new H(q.InvalidArg, `Missing ${t} formats`); for (const o of n) { - if (!o || typeof o.unit != "string" || !Xd(o)) throw new H(q.InvalidArg, "Invalid number format"); + if (!o || typeof o.unit != "string" || !Zd(o)) throw new H(q.InvalidArg, "Invalid number format"); if (o.fraction !== void 0 && ![ "decimal", "fraction", @@ -2239,76 +2259,76 @@ function oy(e) { } } } - if (e.origin !== void 0) for (const t of [e.origin.x, e.origin.y]) sr(t); - if (e.cyx !== void 0 && (sr(e.cyx), Math.fround(e.cyx) <= 0)) + if (e.origin !== void 0) for (const t of [e.origin.x, e.origin.y]) ir(t); + if (e.cyx !== void 0 && (ir(e.cyx), Math.fround(e.cyx) <= 0)) throw new H(q.InvalidArg, "Invalid CYX"); } -function sr(e) { +function ir(e) { if (typeof e != "number" || !Number.isFinite(Math.fround(e))) throw new H(q.InvalidArg, "Value is outside PDF float range"); } -const mT = [ +const iR = [ "linePoints", "vertices", "measure", "intent", "contents" -], bT = [ +], cR = [ "captionEnabled", "captionPosition", "captionOffset", "captionCenter" -], yT = (e) => e === "line" || e === "polygon" || e === "polyline", am = (e) => bT.some((t) => e[t] !== void 0); -function cm(e, t) { +], lR = (e) => e === "line" || e === "polygon" || e === "polyline", gm = (e) => cR.some((t) => e[t] !== void 0); +function mm(e, t) { try { - if (t.measure != null && t.measure.subtype === "rectilinear" && oy(t.measure), e === "line" && "leader" in t && t.leader != null && (typeof t.leader != "object" || Array.isArray(t.leader))) throw new H(q.InvalidArg, "Invalid line leader"); + if (t.measure != null && t.measure.subtype === "rectilinear" && py(t.measure), e === "line" && "leader" in t && t.leader != null && (typeof t.leader != "object" || Array.isArray(t.leader))) throw new H(q.InvalidArg, "Invalid line leader"); const n = e === "line" ? ["line-dimension", "line-arrow"] : e === "polygon" ? ["polygon-dimension", "polygon-cloud"] : ["polyline-dimension"]; if (t.intent != null && !n.includes(t.intent)) throw new H(q.InvalidArg, "Invalid measurement intent"); if (t.captionEnabled != null && typeof t.captionEnabled != "boolean") throw new H(q.InvalidArg, "Invalid caption visibility"); if ("captionPosition" in t && t.captionPosition != null && !["inline", "top"].includes(t.captionPosition)) throw new H(q.InvalidArg, "Invalid caption position"); - if ("captionOffset" in t && t.captionOffset && (sr(t.captionOffset.along), sr(t.captionOffset.perpendicular)), "captionCenter" in t && t.captionCenter && (sr(t.captionCenter.x), sr(t.captionCenter.y)), "leader" in t && t.leader) { + if ("captionOffset" in t && t.captionOffset && (ir(t.captionOffset.along), ir(t.captionOffset.perpendicular)), "captionCenter" in t && t.captionCenter && (ir(t.captionCenter.x), ir(t.captionCenter.y)), "leader" in t && t.leader) { for (const r of [ t.leader.length, t.leader.extension ?? 0, t.leader.offset ?? 0 - ]) sr(r); + ]) ir(r); if ((t.leader.extension ?? 0) < 0 || (t.leader.offset ?? 0) < 0) throw new H(q.InvalidArg, "Leader extension and offset must be nonnegative"); } const o = "linePoints" in t ? t.linePoints ? [t.linePoints.start, t.linePoints.end] : [] : "vertices" in t ? t.vertices ?? [] : []; for (const r of o) - sr(r.x), sr(r.y); + ir(r.x), ir(r.y); } catch (n) { throw new H(q.InvalidArg, n.message); } } -function wT(e, t, n) { +function uR(e, t, n) { if (e.length !== t.length || e.length < 2) return; const o = e[0], r = t[0], s = e.findIndex((d) => Math.hypot(d.x - o.x, d.y - o.y) > 1e-6); if (s < 0) return; - const i = { + const a = { x: e[s].x - o.x, y: e[s].y - o.y - }, a = { + }, i = { x: t[s].x - r.x, y: t[s].y - r.y - }, c = i.x * i.x + i.y * i.y, l = (i.x * a.x + i.y * a.y) / c, u = (i.x * a.y - i.y * a.x) / c; + }, c = a.x * a.x + a.y * a.y, l = (a.x * i.x + a.y * i.y) / c, u = (a.x * i.y - a.y * i.x) / c; if (Math.abs(l * l + u * u - 1) > 1e-5) return; const f = (d) => ({ x: r.x + l * (d.x - o.x) - u * (d.y - o.y), y: r.y + u * (d.x - o.x) + l * (d.y - o.y) }); if (e.every((d, p) => { - const h = f(d); - return Math.hypot(h.x - t[p].x, h.y - t[p].y) <= 1e-3; + const g = f(d); + return Math.hypot(g.x - t[p].x, g.y - t[p].y) <= 1e-3; })) return f(n); } -function vT(e) { - if (!yT(e.subtype)) return e; +function dR(e) { + if (!lR(e.subtype)) return e; const t = e; - if (cm(e.subtype, t), t.measure != null && t.measure.subtype !== "rectilinear") throw new H(q.InvalidArg, `A ${t.measure.subtype === "geospatial" ? "geospatial" : "foreign"} measure can't be written; leave measure out`); + if (mm(e.subtype, t), t.measure != null && t.measure.subtype !== "rectilinear") throw new H(q.InvalidArg, `A ${t.measure.subtype === "geospatial" ? "geospatial" : "foreign"} measure can't be written; leave measure out`); let n = e; - return am(e) && (e.subtype === "line" ? n = { + return gm(e) && (e.subtype === "line" ? n = { ...e, captionEnabled: e.captionEnabled ?? !1, captionPosition: e.captionPosition ?? "inline", @@ -2317,16 +2337,16 @@ function vT(e) { ...e, captionEnabled: e.captionEnabled ?? (e.captionCenter != null ? !1 : null), captionCenter: e.captionCenter ?? null - })), gT(n); + })), aR(n); } -function kT(e, t) { +function fR(e, t) { if (e.subtype !== "line" && e.subtype !== "polygon" && e.subtype !== "polyline") return t; const n = e.subtype; let o = { ...t, subtype: n }; - if (cm(n, o), o.measure != null && o.measure.subtype !== "rectilinear") { + if (mm(n, o), o.measure != null && o.measure.subtype !== "rectilinear") { if (e.measure?.subtype !== o.measure.subtype) throw new H(q.InvalidArg, `A ${o.measure.subtype === "geospatial" ? "geospatial" : "foreign"} measure can't be written; leave measure out`); o = { ...o, @@ -2334,7 +2354,7 @@ function kT(e, t) { }; } if (e.subtype === "line" && o.subtype === "line") - am(o) && (o = { + gm(o) && (o = { ...o, captionEnabled: o.captionEnabled === void 0 ? e.captionEnabled : o.captionEnabled, captionPosition: o.captionPosition ?? e.captionPosition, @@ -2342,13 +2362,13 @@ function kT(e, t) { }); else if (e.subtype !== "line" && o.subtype !== "line") { if (o.vertices && o.captionEnabled !== null && o.captionCenter === void 0 && e.captionCenter) { - const r = wT(e.vertices, o.vertices, e.captionCenter); + const r = uR(e.vertices, o.vertices, e.captionCenter); r && (o = { ...o, captionCenter: r }); } - am(o) && (o = o.captionEnabled === null ? { + gm(o) && (o = o.captionEnabled === null ? { ...o, captionEnabled: null, captionCenter: null @@ -2358,54 +2378,54 @@ function kT(e, t) { captionCenter: o.captionCenter === void 0 ? e.captionCenter : o.captionCenter }); } - if (mT.some((r) => o[r] !== void 0)) { - const r = gr({ + if (iR.some((r) => o[r] !== void 0)) { + const r = mr({ ...e, ...o }); - Da(r) && (o = { + Fi(r) && (o = { ...o, contents: r.label }); } - return cm(n, o), o; + return mm(n, o), o; } -function w5(e) { - if (!(e.richText === void 0 || e.richText === null) && !(e.contents === void 0 || e.contents === null) && p5(e.contents, ` -`) !== ya(e.richText)) +function B5(e) { + if (!(e.richText === void 0 || e.richText === null) && !(e.contents === void 0 || e.contents === null) && T5(e.contents, ` +`) !== bi(e.richText)) throw new H(q.InvalidArg, `${e.subtype ?? "annotation"}: \`contents\` must equal the plain projection of \`richText\` when both are given`); } -function v5(e) { - return e === void 0 || e === "free-text" ? !1 : Fa[e]?.includes("richText") ?? !1; +function z5(e) { + return e === void 0 || e === "free-text" ? !1 : ji[e]?.includes("richText") ?? !1; } -function xT(e) { - if (!v5(e.subtype)) return e; +function pR(e) { + if (!z5(e.subtype)) return e; const { richText: t } = e; return t ? { ...e, - contents: ya(t) + contents: bi(t) } : e; } -function AT(e, t) { - if (!v5(t.subtype ?? e.subtype)) return t; +function hR(e, t) { + if (!z5(t.subtype ?? e.subtype)) return t; const { richText: n } = t; if (n) return { ...t, - contents: ya(n) + contents: bi(n) }; if (n === null || t.contents === void 0 || !e.richText) return t; if (t.contents === null) return { ...t, richText: null }; - const o = { paragraphs: Xb(t.contents) }; + const o = { paragraphs: iy(t.contents) }; return { ...t, richText: o, - contents: ya(o) + contents: bi(o) }; } -const lm = "#ff0000", wd = "#000000", zh = "#ffff00", Hn = { +const bm = "#ff0000", xd = "#000000", Hh = "#ffff00", Kn = { invisible: !1, hidden: !1, print: !0, @@ -2417,325 +2437,324 @@ const lm = "#ff0000", wd = "#000000", zh = "#ffff00", Hn = { toggleNoView: !1, lockedContents: !1, blendMode: "normal" -}, Ci = { - ...Hn, - color: lm, +}, _a = { + ...Kn, + color: bm, opacity: 1, strokeWidth: 1, borderStyle: "solid" -}, Kv = { +}, s1 = { start: "none", end: "none" -}, Wh = { - ...Hn, - color: wd, +}, Vh = { + ...Kn, + color: xd, opacity: 1 -}, ST = { - square: Ci, - circle: Ci, +}, gR = { + square: _a, + circle: _a, line: { - ...Ci, - lineEndings: Kv, + ..._a, + lineEndings: s1, captionEnabled: !1, captionPosition: "inline" }, - polygon: Ci, + polygon: _a, polyline: { - ...Ci, - lineEndings: Kv + ..._a, + lineEndings: s1 }, - ink: Ci, + ink: _a, highlight: { - ...Hn, + ...Kn, blendMode: "multiply", - color: zh, + color: Hh, opacity: 1 }, - underline: Wh, - squiggly: Wh, - strikeout: Wh, + underline: Vh, + squiggly: Vh, + strikeout: Vh, caret: { - ...Hn, - color: lm, + ...Kn, + color: bm, opacity: 1 }, "free-text": { - ...Hn, + ...Kn, contents: "", intent: "free-text", fontFamily: "helvetica", fontSize: 12, textAlign: "left", verticalAlign: "top", - color: wd, - fontColor: wd, + color: xd, + fontColor: xd, opacity: 1, strokeWidth: 1, borderStyle: "solid" }, text: { - ...Hn, + ...Kn, icon: "note", open: !1, - color: zh, + color: Hh, opacity: 1 }, "file-attachment": { - ...Hn, + ...Kn, icon: "paperclip", - color: zh, + color: Hh, opacity: 1 }, - link: Hn, + link: Kn, redact: { - ...Hn, + ...Kn, quadPoints: [], - color: lm, + color: bm, opacity: 1, repeat: !1, fontFamily: "helvetica", fontSize: 12, - fontColor: wd, + fontColor: xd, textAlign: "left" }, stamp: { - ...Hn, + ...Kn, fit: "contain", opacity: 1 }, widget: { - ...Hn, + ...Kn, strokeWidth: 1, borderStyle: "solid", textAlign: "left" }, popup: { - ...Hn, + ...Kn, print: !1, open: !1 } }; -function ry(e) { - return e === "unsupported" ? {} : ST[e]; +function hy(e) { + return e === "unsupported" ? {} : gR[e]; } -const k5 = [3, 3]; -function x5(e, t) { +const W5 = [3, 3]; +function U5(e, t) { return e === "dashed" && t === void 0; } -const A5 = (e) => kr(e)?.owners.dashArray !== void 0; -function PT(e) { - if (!A5(e.subtype)) return e; +const K5 = (e) => Ar(e)?.owners.dashArray !== void 0; +function mR(e) { + if (!K5(e.subtype)) return e; const t = e; - return x5(t.borderStyle ?? ry(e.subtype).borderStyle, t.dashArray) ? { + return U5(t.borderStyle ?? hy(e.subtype).borderStyle, t.dashArray) ? { ...e, - dashArray: [...k5] + dashArray: [...W5] } : e; } -function OT(e, t) { - if (!A5(e.subtype)) return t; +function bR(e, t) { + if (!K5(e.subtype)) return t; const n = t; - return !x5(n.borderStyle, n.dashArray) || e.dashArray != null ? t : { + return !U5(n.borderStyle, n.dashArray) || e.dashArray != null ? t : { ...t, - dashArray: [...k5] + dashArray: [...W5] }; } -function MT(e, t, n) { +function yR(e, t, n) { const o = { x: (e.left + e.right) / 2, y: (e.bottom + e.top) / 2 }, r = { degrees: n, center: o - }, s = n ? d5(t, r) : t, i = s.x - o.x, a = s.y - o.y, c = Math.abs(i) >= Math.abs(a) ? { - x: i >= 0 ? e.right : e.left, + }, s = n ? _5(t, r) : t, a = s.x - o.x, i = s.y - o.y, c = Math.abs(a) >= Math.abs(i) ? { + x: a >= 0 ? e.right : e.left, y: o.y } : { x: o.x, - y: a > 0 ? e.top : e.bottom + y: i > 0 ? e.top : e.bottom }; - return n ? sl(c, r) : c; + return n ? rl(c, r) : c; } -function S5(e, t, n) { +function q5(e, t, n) { const o = { ...e }; if (t.fontFamily !== void 0) { - const r = qb(t.fontFamily, n); + const r = ty(t.fontFamily, n); o.family = r.family, r.weight !== void 0 && (o.weight = r.weight), r.italic !== void 0 && (o.italic = r.italic); } return t.fontSize !== void 0 && (o.size = t.fontSize), t.fontColor != null && (o.color = t.fontColor), t.textAlign !== void 0 && (o.align = t.textAlign), o; } -function P5(e, t) { +function H5(e, t) { if (t != null && e !== "free-text-callout") throw new H(q.InvalidArg, `free-text: a callout line needs intent 'free-text-callout', not '${e}'`, { details: { field: "intent" } }); } -function ET(e, t, n) { +function wR(e, t, n) { const o = {}; return n.fontSize === void 0 && e.size !== void 0 && e.size !== t.fontSize && (o.fontSize = e.size), n.fontColor === void 0 && e.color !== void 0 && e.color.toLowerCase() !== t.fontColor?.toLowerCase() && (o.fontColor = e.color.toLowerCase()), n.textAlign === void 0 && e.align !== void 0 && e.align !== t.textAlign && (o.textAlign = e.align), o; } -function CT(e, t, n) { +function vR(e, t, n) { if (e.subtype !== "free-text" || t.subtype !== "free-text") return t; const o = t; - (o.intent !== void 0 || o.calloutLine !== void 0) && P5(o.intent ?? e.intent, o.calloutLine !== void 0 ? o.calloutLine : e.calloutLine); - const r = S5({}, o, n), s = o.richText !== void 0 || o.contents !== void 0; + (o.intent !== void 0 || o.calloutLine !== void 0) && H5(o.intent ?? e.intent, o.calloutLine !== void 0 ? o.calloutLine : e.calloutLine); + const r = q5({}, o, n), s = o.richText !== void 0 || o.contents !== void 0; if (!s && Object.keys(r).length === 0) return o; - const i = { + const a = { ...o.richText?.body ? { - ...il, + ...sl, ...o.richText.body } : e.richText.body, ...r - }, a = { - body: i, - paragraphs: o.richText?.paragraphs ?? (o.contents !== void 0 ? Xb(o.contents ?? "") : e.richText.paragraphs) + }, i = { + body: a, + paragraphs: o.richText?.paragraphs ?? (o.contents !== void 0 ? iy(o.contents ?? "") : e.richText.paragraphs) }; return { ...o, - ...ET(i, e, o), - richText: a, - ...s ? { contents: ya(a) } : {} + ...wR(a, e, o), + richText: i, + ...s ? { contents: bi(i) } : {} }; } -function IT(e, t) { +function kR(e, t) { if (e.subtype !== "free-text" || t.subtype !== "free-text") return t; const n = t, o = e.calloutLine; if (!o || n.calloutLine !== void 0 || n.box === void 0 && n.rotation === void 0) return n; - const r = n.box ?? e.box, s = (n.rotation === void 0 ? e.rotation : n.rotation) ?? 0, i = o.length === 3 ? o[1] : void 0, a = MT(r, i ?? o[0], s); + const r = n.box ?? e.box, s = (n.rotation === void 0 ? e.rotation : n.rotation) ?? 0, a = o.length === 3 ? o[1] : void 0, i = yR(r, a ?? o[0], s); return { ...n, - calloutLine: i ? [ + calloutLine: a ? [ o[0], - i, - a - ] : [o[0], a] + a, + i + ] : [o[0], i] }; } -function _T(e, t) { +function xR(e, t) { if (e.subtype !== "free-text") return e; const n = e.intent ?? (e.calloutLine != null ? "free-text-callout" : "free-text"); - P5(n, e.calloutLine); + H5(n, e.calloutLine); const o = { - body: S5(e.richText?.body ?? {}, e, t), - paragraphs: e.richText?.paragraphs ?? Xb(e.contents ?? "") + body: q5(e.richText?.body ?? {}, e, t), + paragraphs: e.richText?.paragraphs ?? iy(e.contents ?? "") }; return { ...e, intent: n, richText: o, - contents: ya(o) + contents: bi(o) }; } -function O5(e, t) { +function V5(e, t) { const { rect: n, ...o } = t; - if (n === void 0 || !rp.has(e.subtype)) return t; - if (!l5(n)) throw new H(q.InvalidArg, `${e.subtype} update field 'rect': not a rect of finite numbers`, { details: { field: "rect" } }); - if (eo(Rc(n), e.rect)) return o; - const r = e, s = ny(e.subtype).find((u) => { + if (n === void 0 || !cp.has(e.subtype)) return t; + if (!C5(n)) throw new H(q.InvalidArg, `${e.subtype} update field 'rect': not a rect of finite numbers`, { details: { field: "rect" } }); + if (Jn(Tc(n), e.rect)) return o; + const r = e, s = fy(e.subtype).find((u) => { const f = t[u]; - return f !== void 0 && !eo(f, r[u]); + return f !== void 0 && !Jn(f, r[u]); }); if (s) throw new H(q.InvalidArg, `${e.subtype} update field 'rect': a new rect moves the shape, so it can't come with a new '${s}'`, { details: { field: "rect" } }); - const { left: i, bottom: a, right: c, top: l } = n; + const { left: a, bottom: i, right: c, top: l } = n; return { ...o, - ...fT(e, { - left: i, - bottom: a, + ...oR(e, { + left: a, + bottom: i, right: c, top: l }) }; } -function M5(e, t) { +function G5(e, t) { const n = Object.entries(e).filter(([o, r]) => o === "subtype" || !t(o, r)); return Object.fromEntries(n); } -function NT(e, t) { - const n = kr(e.subtype)?.colors ?? [], o = e; - return M5(t, (r, s) => { - const i = o[r]; - return n.includes(r) && typeof s == "string" && typeof i == "string" && VN(s, i); +function AR(e, t) { + const n = Ar(e.subtype)?.colors ?? [], o = e; + return G5(t, (r, s) => { + const a = o[r]; + return n.includes(r) && typeof s == "string" && typeof a == "string" && DT(s, a); }); } -function TT(e, t) { +function SR(e, t) { const n = e; - return M5(t, (o, r) => r !== void 0 && eo(r, n[o])); + return G5(t, (o, r) => r !== void 0 && Jn(r, n[o])); } -function E5(e) { +function Y5(e) { return new H(q.InvalidArg, `text: the custom state '${e}' needs a stateModel`, { details: { field: "stateModel" } }); } -function RT(e) { +function OR(e) { if (e.subtype !== "text" || e.state == null || e.stateModel != null) return e; - const t = ey(e.state); - if (!t) throw E5(e.state); + const t = dy(e.state); + if (!t) throw Y5(e.state); return { ...e, stateModel: t }; } -function LT(e, t) { +function PR(e, t) { if (e.subtype !== "text" || t.subtype !== "text" || t.state == null || t.stateModel !== void 0) return t; - const n = ey(t.state); + const n = dy(t.state); if (n) return { ...t, stateModel: n }; - if (!e.stateModel) throw E5(t.state); + if (!e.stateModel) throw Y5(t.state); return t; } -function C5(e, t) { - const n = Fa[e], o = Object.keys(t).filter((r) => r !== "subtype" && !n.includes(r)); +function Q5(e, t) { + const n = ji[e], o = Object.keys(t).filter((r) => r !== "subtype" && !n.includes(r)); if (o.length > 0) throw new H(q.InvalidArg, `${e} has no field ${o.map((r) => `'${r}'`).join(", ")}`); } -function jT(e) { +function MR(e) { return e.length < 2 ? e.join("") : `${e.slice(0, -1).join(", ")} or ${e.at(-1)}`; } -function FT(e, t) { +function ER(e, t) { if (t === void 0 || t === e.subtype) return e.subtype; - const n = Jd(e.subtype); - if (!n.includes(t)) throw new H(q.InvalidArg, n.length === 0 ? `${e.subtype} has no other kind it can become` : `${e.subtype} can become ${jT(n)}, not ${t}`, { details: { field: "subtype" } }); - const o = h5(e, t); + const n = ef(e.subtype); + if (!n.includes(t)) throw new H(q.InvalidArg, n.length === 0 ? `${e.subtype} has no other kind it can become` : `${e.subtype} can become ${MR(n)}, not ${t}`, { details: { field: "subtype" } }); + const o = R5(e, t); if (o !== null) { const r = e[o]; throw new H(q.InvalidArg, `${e.subtype} field '${o}' holds ${typeof r == "string" ? `'${r}'` : JSON.stringify(r)}, and ${t} has no such field: clear it first, in the same change`, { details: { field: o } }); } return t; } -function DT(e, t) { - const n = FT(e, t.subtype); +function CR(e, t) { + const n = ER(e, t.subtype); if (e.subtype === "unsupported") throw new H(q.InvalidArg, "an annotation of a type the engine doesn't model can't be updated"); - if (t.nm !== void 0 && t.nm !== e.nm) throw new H(q.InvalidArg, "an annotation's nm can't change after create"); - return C5(n, t), { + return Q5(n, t), { ...t, subtype: n }; } -function $T(e, t) { - return TT(e, NT(e, O5(e, DT(e, t)))); +function IR(e, t) { + return SR(e, AR(e, V5(e, CR(e, t)))); } -function BT(e, t, n = {}) { - const o = OT(e, LT(e, t)); - return w5(o), kT(e, IT(e, AT(e, CT(e, o, n.describeFont)))); +function _R(e, t, n = {}) { + const o = bR(e, PR(e, t)); + return B5(o), fR(e, kR(e, hR(e, vR(e, o, n.describeFont)))); } -function zT(e, t, n = {}) { - return BT(e, $T(e, t), n); +function NR(e, t, n = {}) { + return _R(e, IR(e, t), n); } -function WT(e) { - if (wa[e.subtype]?.box !== "box") return e; +function TR(e) { + if (yi[e.subtype]?.box !== "box") return e; const t = e; if (t.box !== void 0) return e; if (t.rect === void 0) throw new H(q.InvalidArg, `${e.subtype} create: give its \`box\`, or its \`rect\` with a quarter turn`, { details: { field: "box" } }); - if (!l5(t.rect)) throw new H(q.InvalidArg, `${e.subtype} create field 'rect': not a rect of finite numbers`, { details: { field: "rect" } }); - const n = t.rotation ?? 0, o = Gb(n); + if (!C5(t.rect)) throw new H(q.InvalidArg, `${e.subtype} create field 'rect': not a rect of finite numbers`, { details: { field: "rect" } }); + const n = t.rotation ?? 0, o = ry(n); if (o === null) throw new H(q.InvalidArg, `${e.subtype} create field 'rect': a rect places a box at a quarter turn; at ${n}° give its \`box\``, { details: { field: "rect" } }); const { rect: r, ...s } = e; return { ...s, - box: Yb(Rc(t.rect), o) + box: sy(Tc(t.rect), o) }; } -function UT(e) { +function RR(e) { if (e.subtype !== "redact" || e.rect != null) return e; const t = e.quadPoints ?? []; if (t.length === 0) return e; - const n = Qb(t.flatMap((o) => [ + const n = ay(t.flatMap((o) => [ o.upperLeft, o.upperRight, o.lowerLeft, @@ -2746,41 +2765,41 @@ function UT(e) { rect: n }; } -function KT(e) { - return C5(e.subtype, e), WT(e); +function LR(e) { + return Q5(e.subtype, e), TR(e); } -function qT(e, t = {}) { - return w5(e), vT(UT(xT(_T(PT(RT(e)), t.describeFont)))); +function jR(e, t = {}) { + return B5(e), dR(RR(pR(xR(mR(OR(e)), t.describeFont)))); } -function HT(e, t = {}) { - return qT(KT(e), t); +function FR(e, t = {}) { + return jR(LR(e), t); } -var Xn = class extends H { +var Qn = class extends H { constructor(e, t) { super(q.InvalidArg, `invalid scope "${e}": ${t}`, { details: { scope: e, reason: t - } }), this.scope = e, on(this, "name", "InvalidScope"); + } }), this.scope = e, ln(this, "name", "InvalidScope"); } -}, Ln = class extends H { +}, jn = class extends H { constructor(e, t, n, o) { super(q.Forbidden, `permission denied${t ? ` (${t})` : ""}: ${n ? `one of ${n.join(", ")}` : e}${o ? ` for ${o.length} annotation${o.length === 1 ? "" : "s"}` : ""}`, { details: { required: e, ...t === void 0 ? {} : { context: t }, ...n === void 0 ? {} : { anyOf: [...n] }, ...o === void 0 ? {} : { refs: [...o] } - } }), this.required = e, this.context = t, this.anyOf = n, this.refs = o, on(this, "name", "PermissionDenied"); + } }), this.required = e, this.context = t, this.anyOf = n, this.refs = o, ln(this, "name", "PermissionDenied"); } -}, VT = class extends H { +}, DR = class extends H { constructor(e) { - super(q.InvalidArg, `scope "${e}" requires an identity (userId and/or groups)`, { details: { scope: e } }), this.scope = e, on(this, "name", "MissingIdentity"); + super(q.InvalidArg, `scope "${e}" requires an identity (userId and/or groups)`, { details: { scope: e } }), this.scope = e, ln(this, "name", "MissingIdentity"); } -}, jc = class extends H { +}, Lc = class extends H { constructor(e) { - super(q.Aborted, GT(e)), on(this, "name", "AbortError"), on(this, "reason", void 0), this.reason = e; + super(q.Aborted, $R(e)), ln(this, "name", "AbortError"), ln(this, "reason", void 0), this.reason = e; } }; -function GT(e) { +function $R(e) { if (e == null) return "aborted"; if (typeof e == "string") return e; if (e instanceof Error) return e.message || "aborted"; @@ -2790,20 +2809,20 @@ function GT(e) { return "aborted"; } } -let I5; -I5 = Symbol.species; -var Y = class vd extends Promise { - static get [I5]() { +let X5; +X5 = Symbol.species; +var J = class Ad extends Promise { + static get [X5]() { return Promise; } constructor(t) { const n = new AbortController(), o = /* @__PURE__ */ new Set(), r = { settled: !1 }; let s; - super((i, a) => { - s = a, t((f) => { - r.settled || (r.settled = !0, i(f)); - }, (f) => { + super((a, i) => { + s = i, t((f) => { r.settled || (r.settled = !0, a(f)); + }, (f) => { + r.settled || (r.settled = !0, i(f)); }, (f) => { if (!r.settled) for (const d of o) try { @@ -2811,7 +2830,7 @@ var Y = class vd extends Promise { } catch { } }, n.signal); - }), on(this, "signal", void 0), on(this, "_ctrl", void 0), on(this, "_progressCbs", void 0), on(this, "_state", void 0), on(this, "_internalReject", void 0), this._ctrl = n, this.signal = n.signal, this._progressCbs = o, this._state = r, this._internalReject = s; + }), ln(this, "signal", void 0), ln(this, "_ctrl", void 0), ln(this, "_progressCbs", void 0), ln(this, "_state", void 0), ln(this, "_internalReject", void 0), this._ctrl = n, this.signal = n.signal, this._progressCbs = o, this._state = r, this._internalReject = s; } /** * Abort the underlying operation. @@ -2824,7 +2843,7 @@ var Y = class vd extends Promise { */ abort(t) { if (this._state.settled || this._ctrl.signal.aborted) return; - const n = t instanceof jc ? t : new jc(t); + const n = t instanceof Lc ? t : new Lc(t); this._state.settled = !0, this._ctrl.abort(n), this._internalReject(n); } /** @@ -2856,13 +2875,13 @@ var Y = class vd extends Promise { * Wrap a value in an already-resolved AbortablePromise. Mirrors Promise.resolve. */ static resolveValue(t) { - return new vd((n) => n(t)); + return new Ad((n) => n(t)); } /** * Wrap a thrown reason in an already-rejected AbortablePromise. */ static rejectReason(t) { - return new vd((n, o) => o(t)); + return new Ad((n, o) => o(t)); } /** * Run an async function as an AbortablePromise so callers get .abort() and .signal. @@ -2877,61 +2896,61 @@ var Y = class vd extends Promise { * the .then(resolve, reject) below "handles" it via the no-op. */ static run(t) { - return new vd((n, o, r, s) => { + return new Ad((n, o, r, s) => { t(s, r).then(n, o); }); } }; -function sy(e, t) { +function gy(e, t) { const { includeAnnotations: n, includeFormFields: o } = e ?? {}; - if (n === !0 && !t.annotations) throw new Ln("doc.annotate.read", "includeAnnotations"); - if (o === !0 && !t.formFields) throw new Ln("doc.forms.read", "includeFormFields"); + if (n === !0 && !t.annotations) throw new jn("doc.annotate.read", "includeAnnotations"); + if (o === !0 && !t.formFields) throw new jn("doc.forms.read", "includeFormFields"); return { includeAnnotations: n ?? t.annotations, includeFormFields: o ?? (n === !1 ? !1 : t.formFields) }; } -function YT(e, t) { +function BR(e, t) { const { usage: n, viewport: o } = e ?? {}; if (n === void 0 || n === "display") { - if (o?.kind === "dpi" && dc("viewport", 'a dpi viewport is only for a print picture (usage: "print")'), o?.kind === "thumbnail") { - if (e?.target !== void 0 && e.target.kind !== "page" && dc("target", "a thumbnail is the whole page: it takes no target"), t !== null && !t.thumbnail) throw new Ln("doc.render.thumbnail", "viewport"); + if (o?.kind === "dpi" && uc("viewport", 'a dpi viewport is only for a print picture (usage: "print")'), o?.kind === "thumbnail") { + if (e?.target !== void 0 && e.target.kind !== "page" && uc("target", "a thumbnail is the whole page: it takes no target"), t !== null && !t.thumbnail) throw new jn("doc.render.thumbnail", "viewport"); return; } - if (t !== null && !t.render) throw new Ln("doc.render", "usage"); + if (t !== null && !t.render) throw new jn("doc.render", "usage"); return; } - n !== "print" && dc("usage", 'usage must be "display" or "print"'), (o?.kind !== "dpi" || o.dpi !== 150 && o.dpi !== 300) && dc("viewport", "a print picture needs viewport: { kind: 'dpi', dpi: 150 or 300 }"); + n !== "print" && uc("usage", 'usage must be "display" or "print"'), (o?.kind !== "dpi" || o.dpi !== 150 && o.dpi !== 300) && uc("viewport", "a print picture needs viewport: { kind: 'dpi', dpi: 150 or 300 }"); for (const r of [ "target", "rotation", "background" - ]) e?.[r] !== void 0 && dc(r, `a print picture takes no ${r}: it is the whole page, upright, on white`); + ]) e?.[r] !== void 0 && uc(r, `a print picture takes no ${r}: it is the whole page, upright, on white`); if (t !== null) { - if (!t.print) throw new Ln("doc.print", "usage"); - if (o.dpi === 300 && !t.printHigh) throw new Ln("doc.print.high", "viewport"); + if (!t.print) throw new jn("doc.print", "usage"); + if (o.dpi === 300 && !t.printHigh) throw new jn("doc.print.high", "viewport"); } } -function dc(e, t) { +function uc(e, t) { throw new H(q.InvalidArg, t, { details: { field: e } }); } -function _5(e) { +function Z5(e) { if (!(e === void 0 || e >= 0 && e <= 1)) throw new H(q.InvalidArg, "quality must be between 0 and 1", { details: { field: "quality" } }); } -function N5(e, t) { +function J5(e, t) { return { ...e, - ...T5(t) + ...eO(t) }; } -function QT(e, t) { - return T5({ blob: async () => new Blob([e.slice()], { type: t }) }); +function zR(e, t) { + return eO({ blob: async () => new Blob([e.slice()], { type: t }) }); } -function T5(e) { +function eO(e) { return { blob() { - return Y.run(async (t) => { + return J.run(async (t) => { if (typeof Blob > "u") throw new H(q.RuntimeUnavailable, "Blob is not available in this environment"); const n = await e.blob(t); if (t.aborted) throw t.reason; @@ -2939,7 +2958,7 @@ function T5(e) { }); }, objectUrl() { - return Y.run(async (t) => { + return J.run(async (t) => { if (typeof Blob > "u" || typeof URL > "u" || !URL.createObjectURL) throw new H(q.RuntimeUnavailable, "Object URLs are not available in this environment"); const n = await e.blob(t), o = URL.createObjectURL(n); if (t.aborted) @@ -2952,15 +2971,15 @@ function T5(e) { } }; } -const R5 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; -Uint8Array.from(R5, (e) => e.charCodeAt(0)); +const tO = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; +Uint8Array.from(tO, (e) => e.charCodeAt(0)); (() => { const e = (/* @__PURE__ */ new Int16Array(128)).fill(-1); - for (let t = 0; t < 64; t++) e[R5.charCodeAt(t)] = t; + for (let t = 0; t < 64; t++) e[tO.charCodeAt(t)] = t; return e; })(); -const XT = (e, t, n) => Math.min(Math.max(Math.floor(e), t), n); -function ZT(e, t) { +const WR = (e, t, n) => Math.min(Math.max(Math.floor(e), t), n); +function UR(e, t) { let n = 0, o = e.length - 1, r = null; for (; n <= o; ) { const s = n + o >> 1; @@ -2968,16 +2987,16 @@ function ZT(e, t) { } return r ?? [0, 0]; } -function qv(e, t) { - const n = XT(t, 0, e.charCount), o = e.charMap; +function a1(e, t) { + const n = WR(t, 0, e.charCount), o = e.charMap; if (!o || o.length === 0) return Math.min(n, e.text.length); - const [r, s] = ZT(o, n); + const [r, s] = UR(o, n); return s + (n - r); } -function L5(e, t) { - return t.count <= 0 ? "" : e.text.slice(qv(e, t.start), qv(e, t.start + t.count)); +function nO(e, t) { + return t.count <= 0 ? "" : e.text.slice(a1(e, t.start), a1(e, t.start + t.count)); } -function iy(e) { +function my(e) { return { root: e.kind === "uri" ? { type: "uri", @@ -3000,112 +3019,134 @@ function iy(e) { warnings: [] }; } -function sp(e) { +function lp(e) { return e === "start" || e === "end" ? null : "before" in e ? e.before : e.after; } -function ay(e, t, n) { +function by(e, t, n) { if (t === "start") return 0; if (t === "end") return e.length; - const o = sp(t), r = e.findIndex((s) => n(s) === n(o)); + const o = lp(t), r = e.findIndex((s) => n(s) === n(o)); if (r < 0) throw new H(q.NotFound, `no neighbour ${n(o)} in the list`, { details: { field: "position" } }); return "before" in t ? r : r + 1; } -function tf(e, t, n, o) { +function nf(e, t, n, o) { const r = new Set(t.map(o)); if (r.size !== t.length) throw new H(q.InvalidArg, "a row is named twice", { details: { field: "refs" } }); - const s = new Set(e.map(o)), i = t.find((u) => !s.has(o(u))); - if (i !== void 0) throw new H(q.NotFound, `no row ${o(i)} in the list`, { details: { field: "refs" } }); - const a = sp(n); - if (a !== null && r.has(o(a))) throw new H(q.InvalidArg, `the neighbour ${o(a)} is one of the rows that move`, { details: { field: "position" } }); - const c = e.filter((u) => !r.has(o(u))), l = ay(c, n, o); + const s = new Set(e.map(o)), a = t.find((u) => !s.has(o(u))); + if (a !== void 0) throw new H(q.NotFound, `no row ${o(a)} in the list`, { details: { field: "refs" } }); + const i = lp(n); + if (i !== null && r.has(o(i))) throw new H(q.InvalidArg, `the neighbour ${o(i)} is one of the rows that move`, { details: { field: "position" } }); + const c = e.filter((u) => !r.has(o(u))), l = by(c, n, o); return [ ...c.slice(0, l), ...t, ...c.slice(l) ]; } -function cy(e, t, n, o) { - const r = e.filter(t), s = new Map(r.map((u) => [o(u), u])), i = n.flatMap((u) => s.has(u) ? [s.get(u)] : []), a = new Set(i), c = [...i, ...r.filter((u) => !a.has(u))]; +function yy(e, t, n, o) { + const r = e.filter(t), s = new Map(r.map((u) => [o(u), u])), a = n.flatMap((u) => s.has(u) ? [s.get(u)] : []), i = new Set(a), c = [...a, ...r.filter((u) => !i.has(u))]; let l = 0; return e.map((u) => t(u) ? c[l++] : u); } -function JT(e, t, n, o) { - const { x: r, y: s } = e, i = e.width, a = e.height; +const KR = "EmbedPDF"; +function oO(e, t, n) { + if (n === null) return e.filter((s) => !s.owned); + const o = { + bbox: { + x: 0, + y: 0, + width: t.width, + height: t.height + }, + name: KR, + owned: !0, + measure: n + }; + let r = -1; + return e.forEach((s, a) => { + s.owned && (r = a); + }), r < 0 ? [...e, o] : e.map((s, a) => a === r ? o : s); +} +function rO(e, t) { + return [...e].reverse().find(({ bbox: n }) => t.x >= n.x && t.x <= n.x + n.width && t.y >= n.y && t.y <= n.y + n.height); +} +function qR(e, t, n, o) { + const { x: r, y: s } = e, a = e.width, i = e.height; switch (t) { case 0: return [ - n / i, + n / a, 0, 0, - o / a, - -n / i * r, - -o / a * s + o / i, + -n / a * r, + -o / i * s ]; case 90: return [ 0, - o / i, - -n / a, + o / a, + -n / i, 0, - n / a * (s + a), - -o / i * r + n / i * (s + i), + -o / a * r ]; case 180: return [ - -n / i, + -n / a, 0, 0, - -o / a, - n / i * (r + i), - o / a * (s + a) + -o / i, + n / a * (r + a), + o / i * (s + i) ]; case 270: return [ 0, - -o / i, - n / a, + -o / a, + n / i, 0, - -n / a * s, - o / i * (r + i) + -n / i * s, + o / a * (r + a) ]; } } -function eR(e, t, n, o) { - const r = JT(e, t, n, o), s = tR(r); +function HR(e, t, n, o) { + const r = qR(e, t, n, o), s = VR(r); return { width: n, height: o, matrix: r, - pageToPixels: ((i) => Hv(r, i)), - pixelsToPage: ((i) => Hv(s, i)) + pageToPixels: ((a) => i1(r, a)), + pixelsToPage: ((a) => i1(s, a)) }; } -function tR([e, t, n, o, r, s]) { - const i = e * o - t * n; +function VR([e, t, n, o, r, s]) { + const a = e * o - t * n; return [ - o / i, - -t / i, - -n / i, - e / i, - (n * s - o * r) / i, - (t * r - e * s) / i + o / a, + -t / a, + -n / a, + e / a, + (n * s - o * r) / a, + (t * r - e * s) / a ]; } -function Os(e, { x: t, y: n }) { +function Ps(e, { x: t, y: n }) { return { x: e[0] * t + e[2] * n + e[4], y: e[1] * t + e[3] * n + e[5] }; } -function Hv(e, t) { +function i1(e, t) { if ("upperLeft" in t) return { - upperLeft: Os(e, t.upperLeft), - upperRight: Os(e, t.upperRight), - lowerLeft: Os(e, t.lowerLeft), - lowerRight: Os(e, t.lowerRight) + upperLeft: Ps(e, t.upperLeft), + upperRight: Ps(e, t.upperRight), + lowerLeft: Ps(e, t.lowerLeft), + lowerRight: Ps(e, t.lowerRight) }; if ("width" in t) { - const n = Os(e, t), o = Os(e, { + const n = Ps(e, t), o = Ps(e, { x: t.x + t.width, y: t.y + t.height }); @@ -3116,21 +3157,21 @@ function Hv(e, t) { height: Math.abs(o.y - n.y) }; } - return Os(e, t); + return Ps(e, t); } -function lo(e, t) { +function uo(e, t) { return { x: e.x - t.left, y: t.top - e.y }; } -function uo(e, t) { +function fo(e, t) { return { x: e.x + t.left, y: t.top - e.y }; } -function j5(e, t) { +function sO(e, t) { return { x: e.left - t.left, y: t.top - e.top, @@ -3138,7 +3179,7 @@ function j5(e, t) { height: e.top - e.bottom }; } -function F5(e, t) { +function aO(e, t) { const n = e.x + t.left, o = t.top - e.y; return { left: n, @@ -3147,15 +3188,7 @@ function F5(e, t) { top: o }; } -function nR(e, t) { - return { - upperLeft: lo(e.upperLeft, t), - upperRight: lo(e.upperRight, t), - lowerLeft: lo(e.lowerLeft, t), - lowerRight: lo(e.lowerRight, t) - }; -} -function oR(e, t) { +function GR(e, t) { return { upperLeft: uo(e.upperLeft, t), upperRight: uo(e.upperRight, t), @@ -3163,67 +3196,75 @@ function oR(e, t) { lowerRight: uo(e.lowerRight, t) }; } -const ho = (e) => ({ +function YR(e, t) { + return { + upperLeft: fo(e.upperLeft, t), + upperRight: fo(e.upperRight, t), + lowerLeft: fo(e.lowerLeft, t), + lowerRight: fo(e.lowerRight, t) + }; +} +const go = (e) => ({ x: e.x, y: -e.y }), Ws = (e) => ({ x: e.x, y: -e.y -}), Fc = (e) => ({ +}), jc = (e) => ({ left: e.x, right: e.x + e.width, bottom: -(e.y + e.height), top: -e.y -}), D5 = (e) => ({ +}), iO = (e) => ({ x: e.left, y: -e.top, width: e.right - e.left, height: e.top - e.bottom -}), um = (e) => ({ - upperLeft: ho(e.upperLeft), - upperRight: ho(e.upperRight), - lowerLeft: ho(e.lowerLeft), - lowerRight: ho(e.lowerRight) -}), Vv = (e) => ({ +}), ym = (e) => ({ + upperLeft: go(e.upperLeft), + upperRight: go(e.upperRight), + lowerLeft: go(e.lowerLeft), + lowerRight: go(e.lowerRight) +}), c1 = (e) => ({ upperLeft: Ws(e.upperLeft), upperRight: Ws(e.upperRight), lowerLeft: Ws(e.lowerLeft), lowerRight: Ws(e.lowerRight) }); -function $5(e) { +function cO(e) { return "rotation" in e; } -function ly(e) { +function wy(e) { return { kind: "objectNumber", objectNumber: e }; } -function rR(e) { +function QR(e) { return typeof Blob < "u" && e instanceof Blob; } -function Gv(e) { +function l1(e) { const t = new ArrayBuffer(e.byteLength); return new Uint8Array(t).set(e), t; } -async function bo(e) { - if (e instanceof Uint8Array) return { bytes: Gv(e) }; - if (rR(e)) { - const i = dm(e); +async function yo(e) { + if (e instanceof Uint8Array) return { bytes: l1(e) }; + if (QR(e)) { + const a = wm(e); return { bytes: await e.arrayBuffer(), mimeType: e.type || void 0, - ...i !== void 0 ? { name: i } : {} + ...a !== void 0 ? { name: a } : {} }; } const { data: t, mimeType: n, name: o } = e, r = t instanceof Uint8Array ? { - bytes: Gv(t), + bytes: l1(t), mimeType: void 0, name: void 0 } : { bytes: await t.arrayBuffer(), mimeType: t.type || void 0, - name: dm(t) + name: wm(t) }, s = o ?? r.name; return { bytes: r.bytes, @@ -3231,16 +3272,16 @@ async function bo(e) { ...s !== void 0 ? { name: s } : {} }; } -function dm(e) { +function wm(e) { const t = e.name; return typeof t == "string" && t.length > 0 ? t : void 0; } -function Xi(e) { +function Za(e) { if (e.byteLength < 4) return null; const t = new Uint8Array(e); - return t[0] === 137 && t[1] === 80 && t[2] === 78 && t[3] === 71 ? sR(e) : t[0] === 255 && t[1] === 216 && t[2] === 255 ? iR(e) : t[0] === 37 && t[1] === 80 && t[2] === 68 && t[3] === 70 ? { mimeType: "application/pdf" } : null; + return t[0] === 137 && t[1] === 80 && t[2] === 78 && t[3] === 71 ? XR(e) : t[0] === 255 && t[1] === 216 && t[2] === 255 ? ZR(e) : t[0] === 37 && t[1] === 80 && t[2] === 68 && t[3] === 70 ? { mimeType: "application/pdf" } : null; } -function sR(e) { +function XR(e) { if (e.byteLength < 24) return null; const t = new DataView(e), n = t.getUint32(16), o = t.getUint32(20); return n === 0 || o === 0 ? null : { @@ -3249,7 +3290,7 @@ function sR(e) { height: o }; } -function iR(e) { +function ZR(e) { const t = new Uint8Array(e); let n = 2; for (; n + 4 < t.byteLength; ) { @@ -3257,10 +3298,10 @@ function iR(e) { const o = t[n + 1]; if (o >= 192 && o <= 195) { if (n + 9 > t.byteLength) return null; - const r = new DataView(e, n + 5), s = r.getUint16(0), i = r.getUint16(2); - return i === 0 || s === 0 ? null : { + const r = new DataView(e, n + 5), s = r.getUint16(0), a = r.getUint16(2); + return a === 0 || s === 0 ? null : { mimeType: "image/jpeg", - width: i, + width: a, height: s }; } @@ -3273,24 +3314,24 @@ function iR(e) { } return null; } -const kd = ["appearance", "file"]; -async function Dc(e) { +const Sd = ["appearance", "file"]; +async function Fc(e) { if (!e) return {}; - for (const n of Object.keys(e)) if (!kd.includes(n)) throw new H(q.InvalidArg, `unknown annotation resource '${n}'; expected ${kd.join(" or ")}`); + for (const n of Object.keys(e)) if (!Sd.includes(n)) throw new H(q.InvalidArg, `unknown annotation resource '${n}'; expected ${Sd.join(" or ")}`); const t = {}; - for (const n of kd) { + for (const n of Sd) { const o = e[n]; if (o === void 0) continue; - const r = await aR(o); - if (n === "appearance" && !Xi(r)) throw new H(q.InvalidArg, "the appearance resource must be PNG, JPEG or one-page PDF bytes"); + const r = await JR(o); + if (n === "appearance" && !Za(r)) throw new H(q.InvalidArg, "the appearance resource must be PNG, JPEG or one-page PDF bytes"); t[n] = r; } return t; } -function B5(e, t) { +function lO(e, t) { const n = t?.file; - if (e.subtype !== "file-attachment" || !z5(n)) return e; - const o = e.file?.name ?? dm(n); + if (e.subtype !== "file-attachment" || !uO(n)) return e; + const o = e.file?.name ?? wm(n); return o === void 0 ? e : { ...e, file: { @@ -3300,39 +3341,39 @@ function B5(e, t) { } }; } -function nf(e) { - return kd.some((t) => e[t] !== void 0); +function of(e) { + return Sd.some((t) => e[t] !== void 0); } -function $c(e) { +function Dc(e) { return Object.values(e).filter((t) => t !== void 0); } -function z5(e) { +function uO(e) { return typeof Blob < "u" && e instanceof Blob; } -async function aR(e) { - if (z5(e)) return e.arrayBuffer(); +async function JR(e) { + if (uO(e)) return e.arrayBuffer(); const t = new ArrayBuffer(e.byteLength); return new Uint8Array(t).set(e), t; } -const W5 = { decodedBytes: 256 * 1024 * 1024 }; -function U5(e) { +const dO = { decodedBytes: 256 * 1024 * 1024 }; +function fO(e) { return { kind: "key", key: e }; } -const cR = /* @__PURE__ */ new Set([ +const e8 = /* @__PURE__ */ new Set([ "square", "circle", "free-text", "stamp", "caret" ]); -function lR(e) { +function t8(e) { const { subtype: t, rect: n, box: o, rotation: r, intent: s } = e; - return !cR.has(t) || !o || !r || t === "free-text" && s === "free-text-callout" ? null : WN(u5(o, r), n) ? r : null; + return !e8.has(t) || !o || !r || t === "free-text" && s === "free-text-callout" ? null : TT(I5(o, r), n) ? r : null; } -function K5(e, t, n) { +function pO(e, t, n) { if (t === null) return null; switch (e) { case "reply": { @@ -3344,23 +3385,23 @@ function K5(e, t, n) { } case "richText": { const o = t, r = n, s = o.body ? { - ...il, + ...sl, ...o.body - } : r?.body ?? il; + } : r?.body ?? sl; return { body: { ...s, color: s.color.toLowerCase() }, - paragraphs: o.paragraphs.map((i) => ({ - ...i, - runs: i.runs.filter((a) => a.text !== "").map((a) => a.style?.color ? { - ...a, + paragraphs: o.paragraphs.map((a) => ({ + ...a, + runs: a.runs.filter((i) => i.text !== "").map((i) => i.style?.color ? { + ...i, style: { - ...a.style, - color: a.style.color.toLowerCase() + ...i.style, + color: i.style.color.toLowerCase() } - } : a) + } : i) })) }; } @@ -3382,66 +3423,66 @@ function K5(e, t, n) { return t; } } -function q5(e, t) { - const n = t.subtype ?? e.subtype, o = kr(n)?.owners ?? {}, r = e, s = n === e.subtype ? { ...r } : uR(r, n, o); - for (const [i, a] of Object.entries(t)) - i === "subtype" || a === void 0 || o[i] === "data" && (s[i] = K5(i, a, r[i])); +function hO(e, t) { + const n = t.subtype ?? e.subtype, o = Ar(n)?.owners ?? {}, r = e, s = n === e.subtype ? { ...r } : n8(r, n, o); + for (const [a, i] of Object.entries(t)) + a === "subtype" || i === void 0 || o[a] === "data" && (s[a] = pO(a, i, r[a])); return { ...s, - ...dR(e, t) + ...o8(e, t) }; } -function uR(e, t, n) { - const o = kr(String(e.subtype))?.owners ?? {}, r = { subtype: t }; - for (const [s, i] of Object.entries(e)) s !== "subtype" && (s in n || !(s in o)) && (r[s] = i); +function n8(e, t, n) { + const o = Ar(String(e.subtype))?.owners ?? {}, r = { subtype: t }; + for (const [s, a] of Object.entries(e)) s !== "subtype" && (s in n || !(s in o)) && (r[s] = a); for (const s of Object.keys(n)) s in o || (r[s] = null); return r; } -function dR(e, t) { +function o8(e, t) { if (e.subtype !== "link" || t.subtype !== "link") return {}; const n = t.target; if (n === void 0 || n !== null && n.kind !== "uri" && n.kind !== "goto") return {}; const { activate: o, ...r } = e.actions ?? {}, s = n === null ? r : { ...r, - activate: iy(n) + activate: my(n) }; return { actions: Object.keys(s).length > 0 ? s : null }; } -const H5 = (e, t) => typeof t == "function" ? t(e) : t, of = (e, t) => e === null ? null : t(e); -function Yv(e, t) { - const { left: n, top: o } = H5(e.page, t), r = (i) => of(i, (a) => a - n), s = (i) => of(i, (a) => o - a); +const gO = (e, t) => typeof t == "function" ? t(e) : t, rf = (e, t) => e === null ? null : t(e); +function u1(e, t) { + const { left: n, top: o } = gO(e.page, t), r = (a) => rf(a, (i) => i - n), s = (a) => rf(a, (i) => o - i); switch (e.kind) { case "xyz": { - const { left: i, top: a, ...c } = e; + const { left: a, top: i, ...c } = e; return { ...c, - x: r(i), - y: s(a) + x: r(a), + y: s(i) }; } case "fitH": case "fitBH": { - const { top: i, ...a } = e; + const { top: a, ...i } = e; return { - ...a, - y: s(i) + ...i, + y: s(a) }; } case "fitV": case "fitBV": { - const { left: i, ...a } = e; + const { left: a, ...i } = e; return { - ...a, - x: r(i) + ...i, + x: r(a) }; } case "fitR": { - const { left: i, bottom: a, right: c, top: l, ...u } = e, f = Math.min(a, l), d = Math.max(a, l); + const { left: a, bottom: i, right: c, top: l, ...u } = e, f = Math.min(i, l), d = Math.max(i, l); return { ...u, - x: Math.min(i, c) - n, + x: Math.min(a, c) - n, y: o - d, - width: Math.abs(c - i), + width: Math.abs(c - a), height: d - f }; } @@ -3450,40 +3491,40 @@ function Yv(e, t) { return e; } } -function Qv(e, t) { - const { left: n, top: o } = H5(e.page, t), r = (i) => of(i, (a) => a + n), s = (i) => of(i, (a) => o - a); +function d1(e, t) { + const { left: n, top: o } = gO(e.page, t), r = (a) => rf(a, (i) => i + n), s = (a) => rf(a, (i) => o - i); switch (e.kind) { case "xyz": { - const { x: i, y: a, ...c } = e; + const { x: a, y: i, ...c } = e; return { ...c, - left: r(i), - top: s(a) + left: r(a), + top: s(i) }; } case "fitH": case "fitBH": { - const { y: i, ...a } = e; + const { y: a, ...i } = e; return { - ...a, - top: s(i) + ...i, + top: s(a) }; } case "fitV": case "fitBV": { - const { x: i, ...a } = e; + const { x: a, ...i } = e; return { - ...a, - left: r(i) + ...i, + left: r(a) }; } case "fitR": { - const { x: i, y: a, width: c, height: l, ...u } = e, f = o - a; + const { x: a, y: i, width: c, height: l, ...u } = e, f = o - i; return { ...u, - left: i + n, + left: a + n, bottom: f - l, - right: i + n + c, + right: a + n + c, top: f }; } @@ -3492,14 +3533,14 @@ function Qv(e, t) { return e; } } -function V5(e, t) { +function mO(e, t) { return e.kind === "goto" ? { ...e, destination: t(e.destination) } : e; } -function G5(e, t) { - const n = e.next.map((o) => G5(o, t)); +function bO(e, t) { + const n = e.next.map((o) => bO(o, t)); return e.type === "goto" ? { ...e, next: n, @@ -3509,14 +3550,14 @@ function G5(e, t) { next: n }; } -function fR(e, t) { +function r8(e, t) { return { ...e, - root: e.root ? G5(e.root, t) : null + root: e.root ? bO(e.root, t) : null }; } -function Y5(e, t) { - const n = e.next?.map((r) => Y5(r, t)), o = e.type === "goto" ? { +function yO(e, t) { + const n = e.next?.map((r) => yO(r, t)), o = e.type === "goto" ? { ...e, destination: t(e.destination) } : e; @@ -3525,120 +3566,120 @@ function Y5(e, t) { next: n } : o; } -function Q5(e, t) { - return Object.fromEntries(Object.entries(e).map(([n, o]) => o == null ? [n, o] : [n, "root" in o ? fR(o, t) : Y5(o, t)])); +function wO(e, t) { + return Object.fromEntries(Object.entries(e).map(([n, o]) => o == null ? [n, o] : [n, "root" in o ? r8(o, t) : yO(o, t)])); } -const X5 = (e, t) => e.subtype === "rectilinear" && e.origin ? { +const vO = (e, t) => e.subtype === "rectilinear" && e.origin ? { ...e, origin: t(e.origin) } : e; -function pR(e, t) { - return X5(e, (n) => lo(n, t)); +function s8(e, t) { + return vO(e, (n) => uo(n, t)); } -function hR(e, t) { - return X5(e, (n) => uo(n, t)); +function a8(e, t) { + return vO(e, (n) => fo(n, t)); } -const Z5 = { - length: (e) => e, - point: (e, { visible: t }) => lo(e, t), - points: (e, { visible: t }) => e.map((n) => lo(n, t)), - strokes: (e, { visible: t }) => e.map((n) => n.map((o) => lo(o, t))), - box: (e, { visible: t }) => j5(e, t), - quads: (e, { visible: t }) => e.map((n) => nR(n, t)), - linePoints: (e, { visible: t }) => ({ - start: lo(e.start, t), - end: lo(e.end, t) - }), - calloutLine: (e, { visible: t }) => e.map((n) => lo(n, t)), - measure: (e, { visible: t }) => pR(e, t), - linkTarget: (e, { boxOf: t }) => V5(e, (n) => Yv(n, t)), - actions: (e, { boxOf: t }) => Q5(e, (n) => Yv(n, t)) -}, ip = { +const kO = { length: (e) => e, point: (e, { visible: t }) => uo(e, t), points: (e, { visible: t }) => e.map((n) => uo(n, t)), strokes: (e, { visible: t }) => e.map((n) => n.map((o) => uo(o, t))), - box: (e, { visible: t }) => F5(e, t), - quads: (e, { visible: t }) => e.map((n) => oR(n, t)), + box: (e, { visible: t }) => sO(e, t), + quads: (e, { visible: t }) => e.map((n) => GR(n, t)), linePoints: (e, { visible: t }) => ({ start: uo(e.start, t), end: uo(e.end, t) }), calloutLine: (e, { visible: t }) => e.map((n) => uo(n, t)), - measure: (e, { visible: t }) => hR(e, t), - linkTarget: (e, { boxOf: t }) => V5(e, (n) => Qv(n, t)), - actions: (e, { boxOf: t }) => Q5(e, (n) => Qv(n, t)) -}, gR = (e) => e === void 0 ? GN : wa[e] ?? wa.unsupported; -function Bl(e, t, n, o) { - const r = gR(e); - return Object.fromEntries(Object.entries(t).map(([s, i]) => { - const a = r[s]; - if (!a || i == null) return [s, i]; - const c = o[a](i, n); - if (o === ip && J5(c)) throw mR(s, a); + measure: (e, { visible: t }) => s8(e, t), + linkTarget: (e, { boxOf: t }) => mO(e, (n) => u1(n, t)), + actions: (e, { boxOf: t }) => wO(e, (n) => u1(n, t)) +}, up = { + length: (e) => e, + point: (e, { visible: t }) => fo(e, t), + points: (e, { visible: t }) => e.map((n) => fo(n, t)), + strokes: (e, { visible: t }) => e.map((n) => n.map((o) => fo(o, t))), + box: (e, { visible: t }) => aO(e, t), + quads: (e, { visible: t }) => e.map((n) => YR(n, t)), + linePoints: (e, { visible: t }) => ({ + start: fo(e.start, t), + end: fo(e.end, t) + }), + calloutLine: (e, { visible: t }) => e.map((n) => fo(n, t)), + measure: (e, { visible: t }) => a8(e, t), + linkTarget: (e, { boxOf: t }) => mO(e, (n) => d1(n, t)), + actions: (e, { boxOf: t }) => wO(e, (n) => d1(n, t)) +}, i8 = (e) => e === void 0 ? $T : yi[e] ?? yi.unsupported; +function Wl(e, t, n, o) { + const r = i8(e); + return Object.fromEntries(Object.entries(t).map(([s, a]) => { + const i = r[s]; + if (!i || a == null) return [s, a]; + const c = o[i](a, n); + if (o === up && xO(c)) throw c8(s, i); return [s, c]; })); } -function J5(e) { - return typeof e == "number" ? Number.isNaN(e) : typeof e != "object" || e === null ? !1 : Object.values(e).some(J5); +function xO(e) { + return typeof e == "number" ? Number.isNaN(e) : typeof e != "object" || e === null ? !1 : Object.values(e).some(xO); } -function mR(e, t) { +function c8(e, t) { const n = t === "box" ? "{ x, y, width, height }" : "points as { x, y }"; return new H(q.InvalidArg, `field '${e}': expected page space, ${n} from the page's top-left`, { details: { field: e } }); } -function eP(e, t, n) { - return Bl(e.subtype, e, { +function AO(e, t, n) { + return Wl(e.subtype, e, { visible: t, boxOf: n - }, ip); + }, up); } -function bR(e, t, n) { - return Bl(e.subtype, e, { +function l8(e, t, n) { + return Wl(e.subtype, e, { visible: t, boxOf: n - }, ip); + }, up); } -function yR(e, t, n) { - return Bl(e.subtype, e, { +function u8(e, t, n) { + return Wl(e.subtype, e, { visible: t, boxOf: n - }, Z5); + }, kO); } -function tP(e, t, n) { - return Bl(e.subtype, e, { +function SO(e, t, n) { + return Wl(e.subtype, e, { visible: t, boxOf: n - }, ip); + }, up); } -function nP(e, t, n) { - return Bl(e.subtype, e, { +function OO(e, t, n) { + return Wl(e.subtype, e, { visible: t, boxOf: n - }, Z5); + }, kO); } -const Xv = (e) => !!(e.space || e.empty), $a = (e) => !!e.empty, wR = 2.5, vR = 1.5, kR = 0.8, xR = 0.5, AR = Math.cos(87e-4), oP = 1e-6; -function SR(e) { - const t = MR(e), n = t.glyphs.length, o = (s) => typeof s != "number" ? t1(t, s) : Number.isInteger(s) && s >= 0 && s < n ? s : null, r = ([s, i]) => ({ +const f1 = (e) => !!(e.space || e.empty), Di = (e) => !!e.empty, d8 = 2.5, f8 = 1.5, p8 = 0.8, h8 = 0.5, g8 = Math.cos(87e-4), PO = 1e-6; +function m8(e) { + const t = w8(e), n = t.glyphs.length, o = (s) => typeof s != "number" ? m1(t, s) : Number.isInteger(s) && s >= 0 && s < n ? s : null, r = ([s, a]) => ({ start: s, - count: i - s + 1 + count: a - s + 1 }); return { charCount: n, runs: e.runs, - charAt: (s) => t1(t, s), + charAt: (s) => m1(t, s), wordAt: (s) => { - const i = o(s); - return i === null ? null : r(IR(t, i)); + const a = o(s); + return a === null ? null : r(x8(t, a)); }, lineAt: (s) => { - const i = o(s); - return i === null ? null : r(_R(t, i)); + const a = o(s); + return a === null ? null : r(A8(t, a)); }, - segments: (s) => TR(t, s.start, s.count), - charQuad: (s) => NR(t, s) + segments: (s) => O8(t, s.start, s.count), + charQuad: (s) => S8(t, s) }; } -const PR = { +const b8 = { baseline: { x: 1, y: 0 @@ -3647,25 +3688,25 @@ const PR = { x: 0, y: 1 } -}, rP = (e, t) => ({ +}, MO = (e, t) => ({ x: t.x * e.baseline.x + t.y * e.baseline.y, y: t.x * e.ascent.x + t.y * e.ascent.y -}), Mu = (e, t) => ({ +}), Iu = (e, t) => ({ x: e.baseline.x * t.x + e.ascent.x * t.y, y: e.baseline.y * t.x + e.ascent.y * t.y -}), Zv = { +}), p1 = { left: 0, bottom: 0, right: 0, top: 0 }; -function Jv(e, t) { +function h1(e, t) { const n = [ t.upperLeft, t.upperRight, t.lowerLeft, t.lowerRight - ].map((s) => rP(e, s)), o = n.map((s) => s.x), r = n.map((s) => s.y); + ].map((s) => MO(e, s)), o = n.map((s) => s.x), r = n.map((s) => s.y); return { left: Math.min(...o), bottom: Math.min(...r), @@ -3673,31 +3714,31 @@ function Jv(e, t) { top: Math.max(...r) }; } -function OR(e, t) { - const n = t.glyphs.find((d) => !$a(d)); +function y8(e, t) { + const n = t.glyphs.find((d) => !Di(d)); if (!n) return 0; - const o = n.loose, r = o.upperRight.x - o.upperLeft.x, s = o.upperRight.y - o.upperLeft.y, i = Math.hypot(r, s); - if (i <= oP) return 0; - const a = { - x: r / i, - y: s / i - }, c = o.upperLeft.x - o.lowerLeft.x, l = o.upperLeft.y - o.lowerLeft.y, u = a.x * l - a.y * c >= 0 ? 1 : -1, f = { - x: -a.y * u, - y: a.x * u + const o = n.loose, r = o.upperRight.x - o.upperLeft.x, s = o.upperRight.y - o.upperLeft.y, a = Math.hypot(r, s); + if (a <= PO) return 0; + const i = { + x: r / a, + y: s / a + }, c = o.upperLeft.x - o.lowerLeft.x, l = o.upperLeft.y - o.lowerLeft.y, u = i.x * l - i.y * c >= 0 ? 1 : -1, f = { + x: -i.y * u, + y: i.x * u }; for (let d = 0; d < e.length; d++) { - const p = e[d], h = p.baseline.x * a.x + p.baseline.y * a.y, g = p.ascent.x * f.x + p.ascent.y * f.y > 0; - if (h >= AR && g) return d; + const p = e[d], g = p.baseline.x * i.x + p.baseline.y * i.y, h = p.ascent.x * f.x + p.ascent.y * f.y > 0; + if (g >= g8 && h) return d; } return e.push({ - baseline: a, + baseline: i, ascent: f }), e.length - 1; } -function MR(e) { - const t = [], n = [], o = [PR]; +function w8(e) { + const t = [], n = [], o = [b8]; for (const r of e.runs) { - if (!$5(r)) { + if (!cO(r)) { for (const c of r.glyphs) t.push({ loose: c.loose, tight: c.tight, @@ -3713,33 +3754,33 @@ function MR(e) { }); continue; } - const s = OR(o, r), i = o[s]; - let a = null; + const s = y8(o, r), a = o[s]; + let i = null; for (const c of r.glyphs) { - if ($a(c)) { + if (Di(c)) { t.push({ - loose: Zv, + loose: p1, space: c.space, empty: !0 }); continue; } - const l = Jv(i, c.loose), u = c.tight ? Jv(i, c.tight) : void 0; + const l = h1(a, c.loose), u = c.tight ? h1(a, c.tight) : void 0; t.push({ loose: l, tight: u, space: c.space - }), a = a ? { - left: Math.min(a.left, l.left), - bottom: Math.min(a.bottom, l.bottom), - right: Math.max(a.right, l.right), - top: Math.max(a.top, l.top) + }), i = i ? { + left: Math.min(i.left, l.left), + bottom: Math.min(i.bottom, l.bottom), + right: Math.max(i.right, l.right), + top: Math.max(i.top, l.top) } : l; } n.push({ start: r.start, count: r.glyphs.length, - rect: a ?? Zv, + rect: i ?? p1, fontSize: r.fontSize, frame: s }); @@ -3750,126 +3791,126 @@ function MR(e) { frames: o }; } -const e1 = (e, t) => t.x >= e.left && t.x <= e.right && t.y >= e.bottom && t.y <= e.top; -function ER(e) { +const g1 = (e, t) => t.x >= e.left && t.x <= e.right && t.y >= e.bottom && t.y <= e.top; +function v8(e) { let t = 0, n = 0; for (const o of e.glyphs) - $a(o) || (t += o.loose.top - o.loose.bottom, n++); + Di(o) || (t += o.loose.top - o.loose.bottom, n++); return n === 0 ? 0 : t / n; } -function CR(e, t) { - return e.frames.map((n, o) => o === 0 ? t : rP(n, t)); +function k8(e, t) { + return e.frames.map((n, o) => o === 0 ? t : MO(n, t)); } -function t1(e, t, n = 1.5) { - const o = CR(e, t); - for (const a of e.runs) { - const c = o[a.frame]; - if (e1(a.rect, c)) - for (let l = 0; l < a.count; l++) { - const u = e.glyphs[a.start + l]; - if (e1(u.tight ?? u.loose, c)) return a.start + l; +function m1(e, t, n = 1.5) { + const o = k8(e, t); + for (const i of e.runs) { + const c = o[i.frame]; + if (g1(i.rect, c)) + for (let l = 0; l < i.count; l++) { + const u = e.glyphs[i.start + l]; + if (g1(u.tight ?? u.loose, c)) return i.start + l; } } if (n <= 0) return null; - const r = ER(e) * n / 2; - let s = -1, i = 1 / 0; - for (const a of e.runs) { - const c = o[a.frame], l = a.rect; + const r = v8(e) * n / 2; + let s = -1, a = 1 / 0; + for (const i of e.runs) { + const c = o[i.frame], l = i.rect; if (!(c.x < l.left - r || c.x > l.right + r || c.y < l.bottom - r || c.y > l.top + r)) - for (let u = 0; u < a.count; u++) { - const f = e.glyphs[a.start + u]; - if ($a(f)) continue; + for (let u = 0; u < i.count; u++) { + const f = e.glyphs[i.start + u]; + if (Di(f)) continue; const d = f.tight ?? f.loose; if (c.x < d.left - r || c.x > d.right + r || c.y < d.bottom - r || c.y > d.top + r) continue; - const p = Math.min(Math.abs(c.x - d.left), Math.abs(c.x - d.right)), h = Math.min(Math.abs(c.y - d.bottom), Math.abs(c.y - d.top)); - p + h < i - oP && (i = p + h, s = a.start + u); + const p = Math.min(Math.abs(c.x - d.left), Math.abs(c.x - d.right)), g = Math.min(Math.abs(c.y - d.bottom), Math.abs(c.y - d.top)); + p + g < a - PO && (a = p + g, s = i.start + u); } } return s >= 0 ? s : null; } -function IR(e, t) { +function x8(e, t) { const n = e.glyphs.length; if (t < 0 || t >= n) return [t, t]; let o = t; - for (; o > 0 && !Xv(e.glyphs[o - 1]); ) o--; + for (; o > 0 && !f1(e.glyphs[o - 1]); ) o--; let r = t; - for (; r < n - 1 && !Xv(e.glyphs[r + 1]); ) r++; + for (; r < n - 1 && !f1(e.glyphs[r + 1]); ) r++; return [o, r]; } -function _R(e, t) { +function A8(e, t) { const n = e.runs.findIndex((c) => t >= c.start && t < c.start + c.count); if (n < 0) return [t, t]; const o = e.runs[n], r = o.rect.bottom, s = o.rect.top; - let i = o.start, a = o.start + o.count - 1; + let a = o.start, i = o.start + o.count - 1; for (let c = n - 1; c >= 0; c--) { const l = e.runs[c]; - if (!n1(l.rect)) { - if (l.frame !== o.frame || !o1(l.rect.bottom, l.rect.top, r, s)) break; - i = l.start; + if (!b1(l.rect)) { + if (l.frame !== o.frame || !y1(l.rect.bottom, l.rect.top, r, s)) break; + a = l.start; } } for (let c = n + 1; c < e.runs.length; c++) { const l = e.runs[c]; - if (!n1(l.rect)) { - if (l.frame !== o.frame || !o1(l.rect.bottom, l.rect.top, r, s)) break; - a = l.start + l.count - 1; + if (!b1(l.rect)) { + if (l.frame !== o.frame || !y1(l.rect.bottom, l.rect.top, r, s)) break; + i = l.start + l.count - 1; } } - return [i, a]; + return [a, i]; } -function NR(e, t) { +function S8(e, t) { const n = e.glyphs[t]; - if (!n || $a(n)) return null; + if (!n || Di(n)) return null; const o = n.loose; if (o.right <= o.left || o.top <= o.bottom) return null; - const r = e.runs.find((i) => t >= i.start && t < i.start + i.count), s = e.frames[r?.frame ?? 0]; - return sP(s, r?.frame ?? 0, o); + const r = e.runs.find((a) => t >= a.start && t < a.start + a.count), s = e.frames[r?.frame ?? 0]; + return EO(s, r?.frame ?? 0, o); } -function TR(e, t, n) { +function O8(e, t, n) { if (n <= 0 || e.glyphs.length === 0) return []; const o = Math.max(0, t), r = Math.min(e.glyphs.length - 1, t + n - 1); if (r < o) return []; const s = []; - for (const i of e.runs) { - const a = i.start + i.count - 1; - if (a < o || i.start > r) continue; - const c = Math.max(o, i.start), l = Math.min(r, a); - let u = 1 / 0, f = -1 / 0, d = 1 / 0, p = -1 / 0, h = 0, g = 0, m = -1 / 0, M = 0, x = 0; - const S = () => { - h > 0 && u !== 1 / 0 && s.push({ + for (const a of e.runs) { + const i = a.start + a.count - 1; + if (i < o || a.start > r) continue; + const c = Math.max(o, a.start), l = Math.min(r, i); + let u = 1 / 0, f = -1 / 0, d = 1 / 0, p = -1 / 0, g = 0, h = 0, m = -1 / 0, O = 0, E = 0; + const P = () => { + g > 0 && u !== 1 / 0 && s.push({ rect: { left: u, bottom: d, right: f, top: p }, - charCount: h, - fontSize: i.fontSize, - frame: i.frame, - firstX: M, - lastX: x - }), u = 1 / 0, f = -1 / 0, d = 1 / 0, p = -1 / 0, h = 0, g = 0, m = -1 / 0; + charCount: g, + fontSize: a.fontSize, + frame: a.frame, + firstX: O, + lastX: E + }), u = 1 / 0, f = -1 / 0, d = 1 / 0, p = -1 / 0, g = 0, h = 0, m = -1 / 0; }; - for (let P = c; P <= l; P++) { - const k = e.glyphs[P]; - if ($a(k)) continue; - const A = k.loose; - if (h > 0 && m > -1 / 0) { - const w = g / h; - w > 0 && Math.abs(A.left - m) > wR * w && S(); + for (let k = c; k <= l; k++) { + const A = e.glyphs[k]; + if (Di(A)) continue; + const w = A.loose; + if (g > 0 && m > -1 / 0) { + const v = h / g; + v > 0 && Math.abs(w.left - m) > d8 * v && P(); } - const y = (A.left + A.right) / 2; - h === 0 && (M = y), x = y, u = Math.min(u, A.left), f = Math.max(f, A.right), d = Math.min(d, A.bottom), p = Math.max(p, A.top), h++, g += A.right - A.left, m = A.right; + const b = (w.left + w.right) / 2; + g === 0 && (O = b), E = b, u = Math.min(u, w.left), f = Math.max(f, w.right), d = Math.min(d, w.bottom), p = Math.max(p, w.top), g++, h += w.right - w.left, m = w.right; } - S(); + P(); } - return RR(s).map((i) => LR(e, i)); + return P8(s).map((a) => M8(e, a)); } -function RR(e) { +function P8(e) { const t = []; let n = null, o = null; for (const r of e) - n && o && n.frame === r.frame && jR(n, r) ? o = { + n && o && n.frame === r.frame && E8(n, r) ? o = { rect: { left: Math.min(o.rect.left, r.rect.left), bottom: Math.min(o.rect.bottom, r.rect.bottom), @@ -3887,7 +3928,7 @@ function RR(e) { }), n = r; return o && o.rect.right > o.rect.left && o.rect.top > o.rect.bottom && t.push(o), t; } -function sP(e, t, n) { +function EO(e, t, n) { return t === 0 ? { upperLeft: { x: n.left, @@ -3906,26 +3947,26 @@ function sP(e, t, n) { y: n.bottom } } : { - upperLeft: Mu(e, { + upperLeft: Iu(e, { x: n.left, y: n.top }), - upperRight: Mu(e, { + upperRight: Iu(e, { x: n.right, y: n.top }), - lowerLeft: Mu(e, { + lowerLeft: Iu(e, { x: n.left, y: n.bottom }), - lowerRight: Mu(e, { + lowerRight: Iu(e, { x: n.right, y: n.bottom }) }; } -function LR(e, t) { - const n = e.frames[t.frame], o = sP(n, t.frame, t.rect); +function M8(e, t) { + const n = e.frames[t.frame], o = EO(n, t.frame, t.rect); return { quad: o, rect: t.frame === 0 ? t.rect : { @@ -3937,28 +3978,28 @@ function LR(e, t) { advance: t.lastX >= t.firstX ? 1 : -1 }; } -function jR(e, t) { - if (e.fontSize != null && t.fontSize != null && e.fontSize > 0 && t.fontSize > 0 && Math.max(e.fontSize, t.fontSize) / Math.min(e.fontSize, t.fontSize) > vR || FR(e.rect, t.rect) < kR) return !1; - const n = (e.rect.right - e.rect.left) / e.charCount, o = (t.rect.right - t.rect.left) / t.charCount, r = e.rect.left - n, s = e.rect.right + n, i = t.rect.left - o; - return r < t.rect.right + o && s > i; +function E8(e, t) { + if (e.fontSize != null && t.fontSize != null && e.fontSize > 0 && t.fontSize > 0 && Math.max(e.fontSize, t.fontSize) / Math.min(e.fontSize, t.fontSize) > f8 || C8(e.rect, t.rect) < p8) return !1; + const n = (e.rect.right - e.rect.left) / e.charCount, o = (t.rect.right - t.rect.left) / t.charCount, r = e.rect.left - n, s = e.rect.right + n, a = t.rect.left - o; + return r < t.rect.right + o && s > a; } -function FR(e, t) { +function C8(e, t) { const n = e.top - e.bottom, o = t.top - t.bottom; if (n <= 0 || o <= 0) return 0; const r = Math.max(e.top, t.top) - Math.min(e.bottom, t.bottom); return r === n || r === o ? 1 : Math.max(0, Math.min(e.top, t.top) - Math.max(e.bottom, t.bottom)) / r; } -const n1 = (e) => e.right === e.left && e.top === e.bottom; -function o1(e, t, n, o) { +const b1 = (e) => e.right === e.left && e.top === e.bottom; +function y1(e, t, n, o) { const r = Math.max(t, o) - Math.min(e, n); - return r === 0 ? !1 : Math.max(0, Math.min(t, o) - Math.max(e, n)) / r >= xR; + return r === 0 ? !1 : Math.max(0, Math.min(t, o) - Math.max(e, n)) / r >= h8; } -const r1 = { +const w1 = { left: 0, bottom: 0, right: 0, top: 0 -}, DR = { +}, I8 = { upperLeft: { x: 0, y: 0 @@ -3975,58 +4016,58 @@ const r1 = { x: 0, y: 0 } -}, $R = (e) => e.glyphs.some((t) => !t.empty); -function BR(e) { - const t = $R(e) ? Fc(e.rect) : r1; - return $5(e) ? { +}, _8 = (e) => e.glyphs.some((t) => !t.empty); +function N8(e) { + const t = _8(e) ? jc(e.rect) : w1; + return cO(e) ? { ...e, rect: t, glyphs: e.glyphs.map(({ loose: n, tight: o, ...r }) => ({ ...r, - loose: r.empty ? DR : um(n), - ...o ? { tight: um(o) } : {} + loose: r.empty ? I8 : ym(n), + ...o ? { tight: ym(o) } : {} })) } : { ...e, rect: t, glyphs: e.glyphs.map(({ loose: n, tight: o, ...r }) => ({ ...r, - loose: r.empty ? r1 : Fc(n), - ...o ? { tight: Fc(o) } : {} + loose: r.empty ? w1 : jc(n), + ...o ? { tight: jc(o) } : {} })) }; } -function zR(e) { - const t = SR({ +function T8(e) { + const t = m8({ ...e, - runs: e.runs.map(BR) - }), n = (o) => typeof o == "number" ? o : ho(o); + runs: e.runs.map(N8) + }), n = (o) => typeof o == "number" ? o : go(o); return { charCount: t.charCount, runs: e.runs, - charAt: (o) => t.charAt(ho(o)), + charAt: (o) => t.charAt(go(o)), wordAt: (o) => t.wordAt(n(o)), lineAt: (o) => t.lineAt(n(o)), segments: (o) => t.segments(o).map((r) => ({ ...r, - quad: Vv(r.quad), - rect: D5(r.rect) + quad: c1(r.quad), + rect: iO(r.rect) })), charQuad: (o) => { const r = t.charQuad(o); - return r ? Vv(r) : null; + return r ? c1(r) : null; } }; } -const WR = { +const R8 = { x: 0, y: 0, width: 0, height: 0 }; -function UR(e, t) { +function L8(e, t) { const n = e.richText, o = { - ...il, + ...sl, ...n?.body }; o.color = o.color.toLowerCase(), t.richText = { @@ -4034,71 +4075,71 @@ function UR(e, t) { body: o }, t.fontSize = o.size, t.fontColor = o.color, t.textAlign = o.align; } -function KR(e, t) { - const n = e.subtype, o = kr(n)?.owners ?? {}, r = ry(n), s = e, i = { subtype: n }; - for (const [a, c] of Object.entries(o)) c === "data" && s[a] !== void 0 ? i[a] = K5(a, s[a], void 0) : c === "data" ? i[a] = r[a] ?? null : c === "attribution" ? i[a] = t.attribution?.[a] ?? null : i[a] = null; - if (s.nm === void 0 && t.nm !== void 0 && (i.nm = t.nm), i.ref = t.ref, i.page = t.ref.page, i.hasAppearance = !m5.has(n), i.rect === null && (i.rect = t.rect ?? s.rect ?? s.box ?? WR), n === "free-text" && UR(s, i), n === "link") { - const a = s.target; - i.actions = a && (a.kind === "uri" || a.kind === "goto") ? { activate: iy(a) } : null; +function j8(e, t) { + const n = e.subtype, o = Ar(n)?.owners ?? {}, r = hy(n), s = e, a = { subtype: n }; + for (const [i, c] of Object.entries(o)) c === "data" && s[i] !== void 0 ? a[i] = pO(i, s[i], void 0) : c === "data" ? a[i] = r[i] ?? null : c === "attribution" ? a[i] = t.attribution?.[i] ?? null : a[i] = null; + if (s.nm === void 0 && t.nm !== void 0 && (a.nm = t.nm), a.ref = t.ref, a.page = t.ref.page, a.hasAppearance = !j5.has(n), a.rect === null && (a.rect = t.rect ?? s.rect ?? s.box ?? R8), n === "free-text" && L8(s, a), n === "link") { + const i = s.target; + a.actions = i && (i.kind === "uri" || i.kind === "goto") ? { activate: my(i) } : null; } - return n === "widget" && (i.fieldKind = "unknown", i.hasMark = !1), i; + return n === "widget" && (a.fieldKind = "unknown", a.hasMark = !1), a; } -const iP = (e) => ({ +const CO = (e) => ({ degrees: e.degrees, - center: ho(e.center) -}), aP = (e) => ({ + center: go(e.center) +}), IO = (e) => ({ degrees: e.degrees, center: Ws(e.center) -}), cP = (e, t) => Ws(sl(ho(e), iP(t))), lP = (e, t) => Ws(d5(ho(e), iP(t))), qR = (e, t) => aP(UN(e.map(ho), t)), HR = (e, t) => aP(KN(e.map(ho), t)), VR = (e) => D5(zN(um(e))); -function GR(e) { - return lR({ +}), _O = (e, t) => Ws(rl(go(e), CO(t))), NO = (e, t) => Ws(_5(go(e), CO(t))), F8 = (e, t) => IO(RT(e.map(go), t)), D8 = (e, t) => IO(LT(e.map(go), t)), $8 = (e) => iO(NT(ym(e))); +function B8(e) { + return t8({ ...e, - rect: Fc(e.rect), - box: e.box ? Fc(e.box) : e.box + rect: jc(e.rect), + box: e.box ? jc(e.box) : e.box }); } -const mr = { +const br = { left: 0, bottom: 0, right: 0, top: 0 -}, Uh = () => { +}, Gh = () => { throw new Error("a shape field holds no destination"); }; -function YR(e, t) { +function z8(e, t) { const n = t; - if (n.rect === void 0 || !rp.has(e.subtype)) return t; - const o = e, r = ny(e.subtype), s = (f, d) => Object.fromEntries(d.filter((p) => f[p] !== void 0).map((p) => [p, f[p]])), { subtype: i, ...a } = nP(O5(eP({ + if (n.rect === void 0 || !cp.has(e.subtype)) return t; + const o = e, r = fy(e.subtype), s = (f, d) => Object.fromEntries(d.filter((p) => f[p] !== void 0).map((p) => [p, f[p]])), { subtype: a, ...i } = OO(V5(AO({ subtype: e.subtype, ...s(o, ["rect", ...r]) - }, mr, Uh), tP({ + }, br, Gh), SO({ subtype: e.subtype, ...s(n, ["rect", ...r]) - }, mr, Uh)), mr, Uh), { rect: c, ...l } = n, u = { ...l }; - for (const [f, d] of Object.entries(a)) u[f] = n[f] !== void 0 && eo(d, n[f]) ? n[f] : d; + }, br, Gh)), br, Gh), { rect: c, ...l } = n, u = { ...l }; + for (const [f, d] of Object.entries(i)) u[f] = n[f] !== void 0 && Jn(d, n[f]) ? n[f] : d; return u; } -const Bc = () => mr; -function ap(e, t, n = {}) { - const o = nP(zT(eP(e, mr, Bc), tP({ +const $c = () => br; +function dp(e, t, n = {}) { + const o = OO(NR(AO(e, br, $c), SO({ ...t, subtype: t.subtype ?? e.subtype - }, mr, Bc), n), mr, Bc), r = t; - for (const s of Object.keys(o)) r[s] !== void 0 && eo(o[s], r[s]) && (o[s] = r[s]); + }, br, $c), n), br, $c), r = t; + for (const s of Object.keys(o)) r[s] !== void 0 && Jn(o[s], r[s]) && (o[s] = r[s]); return o; } -function uP(e, t, n = {}) { - return q5(e, ap(e, t, n)); +function TO(e, t, n = {}) { + return hO(e, dp(e, t, n)); } -function QR(e, t = {}) { - const n = yR(HT(bR(e, mr, Bc), t), mr, Bc), o = e; - for (const r of Object.keys(n)) o[r] !== void 0 && eo(n[r], o[r]) && (n[r] = o[r]); +function W8(e, t = {}) { + const n = u8(FR(l8(e, br, $c), t), br, $c), o = e; + for (const r of Object.keys(n)) o[r] !== void 0 && Jn(n[r], o[r]) && (n[r] = o[r]); return n; } -function dP(e, t) { - return KR(QR(e, { describeFont: t.describeFont }), t); +function RO(e, t) { + return j8(W8(e, { describeFont: t.describeFont }), t); } -const Zn = { +const Xn = { pt: 0.0254 / 72, mm: 1e-3, cm: 0.01, @@ -4108,77 +4149,77 @@ const Zn = { ft: 0.3048, yd: 0.9144, mi: 1609.344 -}, uy = (e) => `${e}2`; -function dy(e) { - return e === "ha" ? 1e4 : e === "acre" ? 4046.8564224 : Zn[e.slice(0, -1)] ** 2; +}, vy = (e) => `${e}2`; +function ky(e) { + return e === "ha" ? 1e4 : e === "acre" ? 4046.8564224 : Xn[e.slice(0, -1)] ** 2; } -const fy = (e) => e.endsWith("2") ? e.slice(0, -1) + "²" : e; -function fm(e) { +const xy = (e) => e.endsWith("2") ? e.slice(0, -1) + "²" : e; +function vm(e) { return new H(q.InvalidArg, e); } -function Zi(e) { - if (!Number.isFinite(e) || e <= 0) throw fm("Calibration requires finite positive lengths and scales"); +function Ja(e) { + if (!Number.isFinite(e) || e <= 0) throw vm("Calibration requires finite positive lengths and scales"); } -function fP(e, t, n, o) { - Zi(Math.fround(e)); +function LO(e, t, n, o) { + Ja(Math.fround(e)); const r = o.precision ?? 100; - if (!Number.isInteger(Math.log10(r)) || r < 1 || r > 1e9) throw fm("Invalid decimal precision"); - const s = o.areaUnit ?? uy(t), i = { + if (!Number.isInteger(Math.log10(r)) || r < 1 || r > 1e9) throw vm("Invalid decimal precision"); + const s = o.areaUnit ?? vy(t), a = { precision: r, ...o.fixed === void 0 ? {} : { fixed: o.fixed } - }, a = o.imperialFeetInches ? [{ + }, i = o.imperialFeetInches ? [{ unit: "ft", - conversion: Math.fround(Zn[t] / Zn.ft) + conversion: Math.fround(Xn[t] / Xn.ft) }, { unit: "in", conversion: 12, fraction: "fraction", precision: o.fractionalPrecision ?? 16, - ..."fixed" in i ? { fixed: i.fixed } : {} + ..."fixed" in a ? { fixed: a.fixed } : {} }] : [{ unit: t, conversion: 1, - ...i + ...a }]; - if (o.imperialFeetInches && (!Number.isInteger(a[1].precision) || a[1].precision < 1 || a[1].precision > 2147483647)) throw fm("Invalid fraction denominator"); + if (o.imperialFeetInches && (!Number.isInteger(i[1].precision) || i[1].precision < 1 || i[1].precision > 2147483647)) throw vm("Invalid fraction denominator"); const c = { subtype: "rectilinear", ratio: n, x: [{ unit: t, conversion: Math.fround(e), - ...i + ...a }], - distance: a, + distance: i, area: [{ - unit: fy(s), - conversion: Math.fround(Zn[t] ** 2 / dy(s)), - ...i + unit: xy(s), + conversion: Math.fround(Xn[t] ** 2 / ky(s)), + ...a }] }; - return oy(c), c; + return py(c), c; } -function XR(e, t, n = {}) { - Zi(e), Zi(t.value); +function U8(e, t, n = {}) { + Ja(e), Ja(t.value); const o = t.value / e; - return fP(o, t.unit, `1 in = ${Number((o * 72).toPrecision(8))} ${t.unit}`, n); + return LO(o, t.unit, `1 in = ${Number((o * 72).toPrecision(8))} ${t.unit}`, n); } -function pP(e, t, n, o = {}) { +function jO(e, t, n, o = {}) { const { userUnit: r = 1, ...s } = o; - return Zi(e), Zi(t), Zi(r), fP(r / 72 * 0.0254 * (t / e) / Zn[n], n, `${e}:${t}`, s); + return Ja(e), Ja(t), Ja(r), LO(r / 72 * 0.0254 * (t / e) / Xn[n], n, `${e}:${t}`, s); } -function ZR(e, t) { +function K8(e, t) { if (H.is(e, q.GrantPassphraseRequired)) return { kind: "passphrase", passphraseProvided: t }; - const n = hP(e); + const n = FO(e); return n ? { kind: "identity", request: n } : null; } -function hP(e) { +function FO(e) { if (!H.is(e, q.VisitorIdentityRequired)) return null; const t = e.details; return t && typeof t.fields == "object" && Array.isArray(t.missing) ? { @@ -4189,7 +4230,7 @@ function hP(e) { ...typeof t.privacyUrl == "string" ? { privacyUrl: t.privacyUrl } : {} } : null; } -function JR(e, t) { +function q8(e, t) { const n = /* @__PURE__ */ new Map(); for (const o of e) { const r = n.get(o.page.objectNumber); @@ -4199,11 +4240,11 @@ function JR(e, t) { const r = n.get(o.ref.objectNumber) ?? []; switch (o.tabOrder) { case "rows": - return s1(r, "y", "x"); + return v1(r, "y", "x"); case "columns": - return s1(r, "x", "y"); + return v1(r, "x", "y"); case "structure": - return t8(r); + return V8(r); case "widgets": return [...r.filter((s) => s.subtype === "widget"), ...r.filter((s) => s.subtype !== "widget")]; default: @@ -4211,29 +4252,29 @@ function JR(e, t) { } }); } -function e8(e, t) { +function H8(e, t) { for (let n = 0; n < Math.min(e.length, t.length); n++) if (e[n] !== t[n]) return e[n] - t[n]; return e.length - t.length; } -function t8(e) { +function V8(e) { const t = (o) => o.structurePosition ?? null, n = e.filter((o) => t(o) !== null); - return n.sort((o, r) => e8(t(o), t(r))), [...n, ...e.filter((o) => t(o) === null)]; + return n.sort((o, r) => H8(t(o), t(r))), [...n, ...e.filter((o) => t(o) === null)]; } -function s1(e, t, n) { +function v1(e, t, n) { const o = t === "y" ? "height" : "width", r = []; let s = -1 / 0; - for (const i of [...e].sort((a, c) => a.rect[t] - c.rect[t])) { - const a = i.rect[t] + i.rect[o] / 2, c = r.at(-1); - c && a <= s ? c.push(i) : (r.push([i]), s = i.rect[t] + i.rect[o]); + for (const a of [...e].sort((i, c) => i.rect[t] - c.rect[t])) { + const i = a.rect[t] + a.rect[o] / 2, c = r.at(-1); + c && i <= s ? c.push(a) : (r.push([a]), s = a.rect[t] + a.rect[o]); } - return r.flatMap((i) => i.sort((a, c) => a.rect[n] - c.rect[n])); + return r.flatMap((a) => a.sort((i, c) => i.rect[n] - c.rect[n])); } -function i1(e) { +function k1(e) { const t = []; for (const { first: n, count: o } of e) for (let r = 0; r < o; r++) t.push(n + r); return t; } -function n8(e) { +function G8(e) { if (e.length === 0) return { ok: !1, issue: "empty", @@ -4295,7 +4336,7 @@ function n8(e) { } return { ok: !0 }; } -function vpe(e) { +function Fhe(e) { return e.regex ? e.matchDiacritics ? { ok: !1, issue: "diacritics-with-regex", @@ -4304,77 +4345,74 @@ function vpe(e) { ok: !1, issue: "ignore-whitespace-with-regex", message: "Whitespace-insensitive matching is not available for regex patterns (regex runs on the raw text plane; use \\s* in the pattern)." - } : n8(e.text) : { ok: !0 }; + } : G8(e.text) : { ok: !0 }; } -function gP(e, t) { - return [...e].reverse().find(({ bbox: n }) => t.x >= n.x && t.x <= n.x + n.width && t.y >= n.y && t.y <= n.y + n.height); -} -function mP(e) { +function DO(e) { return e ? { target: e, - action: iy(e) + action: my(e) } : { target: null, action: null }; } -const bP = (e) => e ? e.toLowerCase() : null; -function o8(e, t, n) { +const $O = (e) => e ? e.toLowerCase() : null; +function Y8(e, t, n) { return { ref: e, parent: t, title: n.title, - ...mP(n.target ?? null), + ...DO(n.target ?? null), open: !1, - color: bP(n.color), + color: $O(n.color), bold: n.bold ?? !1, italic: n.italic ?? !1 }; } -function r8(e, t, n) { +function Q8(e, t, n) { const o = { ...e, ...t.title !== void 0 ? { title: t.title } : {}, - ...t.target !== void 0 ? mP(t.target) : {}, - ...t.color !== void 0 ? { color: bP(t.color) } : {}, + ...t.target !== void 0 ? DO(t.target) : {}, + ...t.color !== void 0 ? { color: $O(t.color) } : {}, ...t.bold !== void 0 ? { bold: t.bold } : {}, ...t.italic !== void 0 ? { italic: t.italic } : {}, ...t.open !== void 0 ? { open: t.open && n } : {} }; return t.target === void 0 && o.title === e.title && o.color === e.color && o.bold === e.bold && o.italic === e.italic && o.open === e.open ? e : o; } -function s8(e, t) { +function X8(e, t) { return e.open && !t ? { ...e, open: !1 } : e; } -function i8(e, t) { +function Z8(e, t) { let n; for (const r of e) { if (r.firstPage > t) break; n = r; } if (!n) return null; - const o = n.prefix + l8(n.style, n.firstNumber + t - n.firstPage); + const o = n.prefix + t4(n.style, n.firstNumber + t - n.firstPage); return o === "" ? null : o; } -function yP(e, t, n) { +function BO(e, t, n) { if (e.length === 0 || n.length === 0) return e; const o = new Set(n), r = [0]; - for (let a = 0; a < t; a++) r.push(r[a] + (o.has(a) ? 0 : 1)); - const s = (a) => r[Math.min(Math.max(a, 0), t)], i = []; - return e.forEach((a, c) => { + for (let i = 0; i < t; i++) r.push(r[i] + (o.has(i) ? 0 : 1)); + const s = (i) => r[Math.min(Math.max(i, 0), t)], a = []; + return e.forEach((i, c) => { const l = e[c + 1]?.firstPage ?? t; - if (s(l) === s(a.firstPage)) return; - const u = s(a.firstPage); - i.push(u === a.firstPage ? a : { - ...a, + if (s(l) === s(i.firstPage)) return; + const u = s(i.firstPage); + a.push(u === i.firstPage ? i : { + ...i, firstPage: u }); - }), cp(i, e) ? e : i; + }), fp(a, e) ? e : a; } -function py(e, t, n) { +function Ay(e, t, n) { if (n <= 0) return e; let o = !1; const r = e.map((s) => s.firstPage === 0 || s.firstPage < t ? s : (o = !0, { @@ -4383,16 +4421,16 @@ function py(e, t, n) { })); return o ? r : e; } -function a8(e, t, n, o) { - return py(yP(e, t, n), o, n.length); +function J8(e, t, n, o) { + return Ay(BO(e, t, n), o, n.length); } -function cp(e, t) { +function fp(e, t) { return e.length === t.length && e.every((n, o) => { const r = t[o]; return n.firstPage === r.firstPage && n.style === r.style && n.firstNumber === r.firstNumber && n.prefix === r.prefix; }); } -const c8 = [ +const e4 = [ [1e3, "m"], [900, "cm"], [500, "d"], @@ -4407,85 +4445,87 @@ const c8 = [ [4, "iv"], [1, "i"] ]; -function l8(e, t) { +function t4(e, t) { switch (e) { case null: return ""; case "decimal": return String(t); case "upperRoman": - return a1(t).toUpperCase(); + return x1(t).toUpperCase(); case "lowerRoman": - return a1(t); + return x1(t); case "upperLetters": - return c1(t).toUpperCase(); + return A1(t).toUpperCase(); case "lowerLetters": - return c1(t); + return A1(t); } } -function a1(e) { +function x1(e) { let t = e % 1e6, n = ""; - for (const [o, r] of c8) for (; t >= o; ) + for (const [o, r] of e4) for (; t >= o; ) n += r, t -= o; return n; } -function c1(e) { +function A1(e) { if (e <= 0) return ""; const t = e - 1; return String.fromCharCode(97 + t % 26).repeat((Math.floor(t / 26) + 1) % 1e3); } -const u8 = [ +const n4 = [ 0, 90, 180, 270 ]; -function d8(e, t) { +function o4(e, t) { switch (t.type) { case "pages.rotate": - return m8(e, t.pages, t.rotation); + return u4(e, t.pages, t.rotation); + case "pages.setScale": + return d4(e, t.pages, t.measure); case "pages.reorder": - return b8(e, t.pages, t.position); + return f4(e, t.pages, t.position); case "pages.delete": - return y8(e, t.pages); + return p4(e, t.pages); case "pages.insertBlank": - return w8(e, t); + return h4(e, t); case "pages.copy": - return v8(e, t); + return g4(e, t); } } -function f8(e, t) { +function r4(e, t) { const n = [...e.pages]; let { labels: o } = e; - const r = new Set(n.map(jn)); - for (const { page: s, after: i } of t) { - if (r.has(jn(s))) continue; - const a = i ? n.findIndex((c) => jn(c) === Dt(i)) : -1; - n.splice(a + 1, 0, s), o = py(o, a + 1, 1), r.add(jn(s)); + const r = new Set(n.map(yn)); + for (const { page: s, after: a } of t) { + if (r.has(yn(s))) continue; + const i = a ? n.findIndex((c) => yn(c) === xt(a)) : -1; + n.splice(i + 1, 0, s), o = Ay(o, i + 1, 1), r.add(yn(s)); } - return n.length === e.pages.length ? e : zl(n, o, e); + return n.length === e.pages.length ? e : Ul(n, o, e); } -function p8(e, t) { - return cp(t, e.labels) ? e : zl(e.pages, t, e); +function s4(e, t) { + return fp(t, e.labels) ? e : Ul(e.pages, t, e); } -function wP(e, t) { - const n = new Set(t.map(Dt)); - return e.flatMap((o, r) => n.has(jn(o)) ? [{ +function zO(e, t) { + const n = new Set(t.map(xt)); + return e.flatMap((o, r) => n.has(yn(o)) ? [{ page: o, after: r > 0 ? e[r - 1].ref : null }] : []); } -function h8(e, t) { - return wP(e, t).map(({ page: n, after: o }) => ({ +function a4(e, t) { + return zO(e, t).map(({ page: n, after: o }) => ({ type: "pages.reorder", pages: [n.ref], position: o ? { after: o } : "start" })); } -function g8(e, t) { - const n = new Map(e.map((r) => [jn(r), r.rotation])), o = /* @__PURE__ */ new Map(); +function i4(e, t) { + const n = new Map(e.map((r) => [yn(r), r.rotation])), o = /* @__PURE__ */ new Map(); for (const r of t) { - const s = n.get(Dt(r)); + const s = n.get(xt(r)); s !== void 0 && o.set(s, [...o.get(s) ?? [], r]); } return [...o].map(([r, s]) => ({ @@ -4494,12 +4534,33 @@ function g8(e, t) { rotation: r })); } -function m8(e, t, n) { - if (!u8.includes(n) || !kP(e.pages, t)) return e; - const o = new Set(t.map(Dt)); +function c4(e, t) { + const n = new Map(e.map((r) => [yn(r), l4(r)])), o = /* @__PURE__ */ new Map(); + for (const r of t) { + const s = n.get(xt(r)); + if (s === void 0) continue; + const a = JSON.stringify(s), i = o.get(a) ?? { + measure: s, + pages: [] + }; + i.pages.push(r), o.set(a, i); + } + return [...o.values()].map(({ measure: r, pages: s }) => ({ + type: "pages.setScale", + pages: s, + measure: r + })); +} +function l4(e) { + const t = (e.viewports ?? []).filter((n) => n.owned).pop(); + return t?.measure?.subtype === "rectilinear" ? t.measure : null; +} +function u4(e, t, n) { + if (!n4.includes(n) || !Sy(e.pages, t)) return e; + const o = new Set(t.map(xt)); let r = !1; - const s = e.pages.map((i) => !o.has(jn(i)) || i.rotation === n ? i : (r = !0, { - ...i, + const s = e.pages.map((a) => !o.has(yn(a)) || a.rotation === n ? a : (r = !0, { + ...a, rotation: n })); return r ? { @@ -4507,83 +4568,98 @@ function m8(e, t, n) { labels: e.labels } : e; } -function b8(e, t, n) { +function d4(e, t, n) { + if (!Sy(e.pages, t)) return e; + const o = new Set(t.map(xt)); + return { + pages: e.pages.map((r) => { + if (!o.has(yn(r))) return r; + const { viewports: s, ...a } = r, i = oO(s ?? [], r.size, n); + return i.length ? { + ...a, + viewports: i + } : a; + }), + labels: e.labels + }; +} +function f4(e, t, n) { const { pages: o } = e; if (t.length === 0) return e; - const r = new Map(o.map((c) => [jn(c), c])); + const r = new Map(o.map((c) => [yn(c), c])); let s; try { - s = tf(o.map((c) => c.ref), t, n, Dt); + s = nf(o.map((c) => c.ref), t, n, xt); } catch { return e; } - const i = s.map((c) => r.get(Dt(c))); - if (i.every((c, l) => c === o[l])) return e; - const a = Dt(t[0]); - return zl(i, a8(e.labels, o.length, xP(o, t), i.findIndex((c) => jn(c) === a)), e); + const a = s.map((c) => r.get(xt(c))); + if (a.every((c, l) => c === o[l])) return e; + const i = xt(t[0]); + return Ul(a, J8(e.labels, o.length, UO(o, t), a.findIndex((c) => yn(c) === i)), e); } -function y8(e, t) { +function p4(e, t) { const { pages: n } = e; - if (!kP(n, t) || t.length >= n.length) return e; - const o = new Set(t.map(Dt)); - return zl(n.filter((r) => !o.has(jn(r))), yP(e.labels, n.length, xP(n, t)), e); + if (!Sy(n, t) || t.length >= n.length) return e; + const o = new Set(t.map(xt)); + return Ul(n.filter((r) => !o.has(yn(r))), BO(e.labels, n.length, UO(n, t)), e); } -function w8(e, t) { +function h4(e, t) { const { size: n } = t.spec, o = t.spec.count ?? 1; - return !Number.isInteger(o) || o < 1 || o > 100 || !(Number.isFinite(n.width) && n.width > 0) || !(Number.isFinite(n.height) && n.height > 0) ? e : vP(e, t.position, t.objectNumbers, o, (r) => k8(r, n.width, n.height)); + return !Number.isInteger(o) || o < 1 || o > 100 || !(Number.isFinite(n.width) && n.width > 0) || !(Number.isFinite(n.height) && n.height > 0) ? e : WO(e, t.position, t.objectNumbers, o, (r) => m4(r, n.width, n.height)); } -function v8(e, t) { - const n = new Map(e.pages.map((s) => [jn(s), s])), o = t.pages.map((s) => n.get(Dt(s))); +function g4(e, t) { + const n = new Map(e.pages.map((s) => [yn(s), s])), o = t.pages.map((s) => n.get(xt(s))); if (o.length === 0 || o.some((s) => !s)) return e; let r = 0; - return vP(e, t.position, t.objectNumbers, o.length, (s) => ({ + return WO(e, t.position, t.objectNumbers, o.length, (s) => ({ ...o[r++], ref: s })); } -function vP(e, t, n, o, r) { +function WO(e, t, n, o, r) { const { pages: s } = e; if (!n || n.length !== o) return e; - const i = new Set(s.map((l) => l.ref.objectNumber)); - if (new Set(n).size !== n.length || n.some((l) => i.has(l))) return e; - let a; + const a = new Set(s.map((l) => l.ref.objectNumber)); + if (new Set(n).size !== n.length || n.some((l) => a.has(l))) return e; + let i; try { - a = ay(s.map((l) => l.ref), t ?? "end", Dt); + i = by(s.map((l) => l.ref), t ?? "end", xt); } catch { return e; } - const c = n.map((l) => r(ut(l))); - return zl([ - ...s.slice(0, a), + const c = n.map((l) => r(dt(l))); + return Ul([ + ...s.slice(0, i), ...c, - ...s.slice(a) - ], py(e.labels, a, o), e); + ...s.slice(i) + ], Ay(e.labels, i, o), e); } -const jn = (e) => Dt(e.ref); -function kP(e, t) { +const yn = (e) => xt(e.ref); +function Sy(e, t) { if (t.length === 0) return !1; - const n = new Set(e.map(jn)), o = new Set(t.map(Dt)); + const n = new Set(e.map(yn)), o = new Set(t.map(xt)); return o.size === t.length && [...o].every((r) => n.has(r)); } -function xP(e, t) { - const n = new Set(t.map(Dt)); - return e.flatMap((o, r) => n.has(jn(o)) ? [r] : []); +function UO(e, t) { + const n = new Set(t.map(xt)); + return e.flatMap((o, r) => n.has(yn(o)) ? [r] : []); } -function zl(e, t, n) { - const o = cp(t, n.labels) ? n.labels : t; +function Ul(e, t, n) { + const o = fp(t, n.labels) ? n.labels : t; return { pages: e.map((r, s) => { - const i = i8(o, s); - return r.index === s && r.label === i ? r : { + const a = Z8(o, s); + return r.index === s && r.label === a ? r : { ...r, index: s, - label: i + label: a }; }), labels: o }; } -function k8(e, t, n) { +function m4(e, t, n) { const o = { x: 0, y: 0, @@ -4616,17 +4692,17 @@ function k8(e, t, n) { } }; } -function x8(e) { +function b4(e) { return e.meta.changedRefs[0] ?? null; } -const A8 = { +const y4 = { text: "{ value }", checkbox: "{ checked } or { value }", radio: "{ value }", combobox: "{ value }", listbox: "{ selectedValues }" }; -function AP(e, t) { +function KO(e, t) { switch (e.kind) { case "text": if ("value" in t) return { @@ -4641,7 +4717,7 @@ function AP(e, t) { state: null }; const n = e.widgets[0]; - if (!n) throw Zr(`'${e.name}' has no widget to check`); + if (!n) throw Jr(`'${e.name}' has no widget to check`); return { kind: "toggle", state: n.onState @@ -4649,13 +4725,13 @@ function AP(e, t) { } if ("value" in t) return { kind: "toggle", - state: l1(e, t.value) + state: S1(e, t.value) }; break; case "radio": if ("value" in t) { - const n = l1(e, t.value); - if (n === null && e.noToggleToOff) throw Zr(`'${e.name}' must keep a choice: it can't be cleared`); + const n = S1(e, t.value); + if (n === null && e.noToggleToOff) throw Jr(`'${e.name}' must keep a choice: it can't be cleared`); return { kind: "toggle", state: n @@ -4663,60 +4739,60 @@ function AP(e, t) { } break; case "combobox": - if ("value" in t) return u1(e, t.value === null ? [] : [t.value]); + if ("value" in t) return O1(e, t.value === null ? [] : [t.value]); break; case "listbox": - if ("selectedValues" in t) return u1(e, t.selectedValues); + if ("selectedValues" in t) return O1(e, t.selectedValues); break; default: - throw Zr(`${e.kind} fields hold no value you can set`); + throw Jr(`${e.kind} fields hold no value you can set`); } - throw Zr(`a ${e.kind} field takes ${A8[e.kind]}, not ${S8(t)}`); + throw Jr(`a ${e.kind} field takes ${y4[e.kind]}, not ${w4(t)}`); } -function SP(e, t) { - const n = (i) => new H(q.InvalidArg, i, { details: { field: "defaultValue" } }); +function qO(e, t) { + const n = (a) => new H(q.InvalidArg, a, { details: { field: "defaultValue" } }); if (new Set(t).size !== t.length) throw n("the default values must not repeat"); if (t.length > 1 && !(e.kind === "listbox" && e.multiSelect)) throw n(`a ${e.kind === "listbox" ? "list without multiSelect" : "dropdown"} has one default`); - const o = e.kind === "combobox" && e.edit === !0, r = new Set(e.options.map((i) => i.value)), s = t.find((i) => !r.has(i)); + const o = e.kind === "combobox" && e.edit === !0, r = new Set(e.options.map((a) => a.value)), s = t.find((a) => !r.has(a)); if (s !== void 0 && !o) throw n(`'${s}' is not an option value of the ${e.kind === "listbox" ? "list" : "dropdown"}`); } -function l1(e, t) { +function S1(e, t) { if (t === null || t === "Off") return null; const n = e.widgets.find((o) => o.exportValue === t); - if (!n) throw Zr(`no widget of '${e.name}' has the export value '${t}'`); + if (!n) throw Jr(`no widget of '${e.name}' has the export value '${t}'`); return n.onState; } -function u1(e, t) { - if (new Set(t).size !== t.length) throw Zr("the values must not repeat"); - if (e.kind === "listbox" && !e.multiSelect && t.length > 1) throw Zr(`'${e.name}' takes one value (it has no multiSelect)`); +function O1(e, t) { + if (new Set(t).size !== t.length) throw Jr("the values must not repeat"); + if (e.kind === "listbox" && !e.multiSelect && t.length > 1) throw Jr(`'${e.name}' takes one value (it has no multiSelect)`); const n = new Set(e.options.map((s) => s.value)), o = e.kind === "combobox" && e.edit && t.length === 1, r = t.find((s) => !n.has(s)); - if (!o && r !== void 0) throw Zr(`'${r}' is not an option value of '${e.name}'`); + if (!o && r !== void 0) throw Jr(`'${r}' is not an option value of '${e.name}'`); return { kind: "choice", values: t }; } -function S8(e) { +function w4(e) { return "checked" in e ? "{ checked }" : "selectedValues" in e ? "{ selectedValues }" : "{ value }"; } -function Zr(e) { +function Jr(e) { return new H(q.InvalidArg, e, { details: { field: "value" } }); } -function P8(e, t) { +function v4(e, t) { const n = e === "checkbox" || e === "radio"; - return d1(e, d1(e, t, "caption", e === "pushbutton", "a push button's"), "checkStyle", n, "a checkbox's or radio button's"); + return P1(e, P1(e, t, "caption", e === "pushbutton", "a push button's"), "checkStyle", n, "a checkbox's or radio button's"); } -function d1(e, t, n, o, r) { +function P1(e, t, n, o, r) { if (o || t[n] === void 0) return t; if (t[n] !== null) { - const a = e === "unknown" ? "this widget" : `a ${e} field's widget`; - throw new H(q.InvalidArg, `'${n}' applies to ${r} widgets, not to ${a}`, { details: { field: n } }); + const i = e === "unknown" ? "this widget" : `a ${e} field's widget`; + throw new H(q.InvalidArg, `'${n}' applies to ${r} widgets, not to ${i}`, { details: { field: n } }); } - const { [n]: s, ...i } = t; - return i; + const { [n]: s, ...a } = t; + return a; } -function O8(e, t) { - const n = P8(e.fieldKind, t), o = uP(e, { +function HO(e, t) { + const n = v4(e.fieldKind, t), o = TO(e, { subtype: "widget", ...n }); @@ -4726,27 +4802,27 @@ function O8(e, t) { "rotation" ].some((r) => r in n) ? { ...o, - rect: PP(o.box, o.rotation) + rect: VO(o.box, o.rotation) } : o; } -function PP(e, t) { +function VO(e, t) { const n = ((t ?? 0) % 360 + 360) % 360; if (n !== 90 && n !== 270) return e; - const { x: o, y: r, width: s, height: i } = e; + const { x: o, y: r, width: s, height: a } = e; return { ...e, - x: o + (s - i) / 2, - y: r + (i - s) / 2, - width: i, + x: o + (s - a) / 2, + y: r + (a - s) / 2, + width: a, height: s }; } -function M8(e, t) { - const { field: n } = e, o = AP(n, t); +function GO(e, t) { + const { field: n } = e, o = KO(n, t); switch (o.kind) { case "text": { if (n.kind !== "text") return e; - const r = R8(o.value, n.maxLength); + const r = P4(o.value, n.maxLength); return r === n.value ? e : al({ ...n, value: r, @@ -4759,17 +4835,17 @@ function M8(e, t) { case "toggle": { if (n.kind !== "checkbox" && n.kind !== "radio") return e; const r = n.widgets.findIndex((s) => s.onState === o.state); - return pm(e, o.state === null ? -1 : r); + return km(e, o.state === null ? -1 : r); } case "choice": - return n.kind !== "combobox" && n.kind !== "listbox" ? e : al(hy(n, o.values), e); + return n.kind !== "combobox" && n.kind !== "listbox" ? e : al(Oy(n, o.values), e); } } -function E8(e) { +function k4(e) { const { field: t } = e, n = t.defaultValueEntry; switch (t.kind) { case "text": { - if (n.kind === "array" || n.kind === "unsupported") throw Ii(t); + if (n.kind === "array" || n.kind === "unsupported") throw Na(t); const o = n.kind === "scalar" ? n.value : "", r = n.kind === "scalar" ? n : { kind: "none" }; return al({ ...t, @@ -4779,32 +4855,32 @@ function E8(e) { } case "checkbox": case "radio": { - if (n.kind === "array" || n.kind === "unsupported") throw Ii(t); + if (n.kind === "array" || n.kind === "unsupported") throw Na(t); const o = n.kind === "scalar" ? n.value : null; - if (o === null || o === "Off") return pm(e, -1); - const r = L8(t.widgets, o); - if (r < 0) throw Ii(t); - return pm(e, r); + if (o === null || o === "Off") return km(e, -1); + const r = M4(t.widgets, o); + if (r < 0) throw Na(t); + return km(e, r); } case "combobox": case "listbox": { - if (n.kind === "unsupported") throw Ii(t); + if (n.kind === "unsupported") throw Na(t); let o = n.kind === "scalar" ? [n.value] : n.kind === "array" ? [...n.values] : []; - if (o.length === 1 && o[0] === "" && !rf(t, o) && (o = []), !rf(t, o) && !j8(t, o)) throw Ii(t); - return al(hy(t, o), e); + if (o.length === 1 && o[0] === "" && !sf(t, o) && (o = []), !sf(t, o) && !E4(t, o)) throw Na(t); + return al(Oy(t, o), e); } default: - throw Ii(t); + throw Na(t); } } -function C8(e, t) { - const n = I8[t]; +function x4(e, t) { + const n = A4[t]; return e.map((o) => Object.keys(n).every((r) => o[r] === n[r]) ? o : { ...o, ...n }); } -const I8 = { +const A4 = { visible: { invisible: !1, hidden: !1, @@ -4829,10 +4905,10 @@ const I8 = { print: !0 } }; -function Kh(e) { +function Yh(e) { if ((e.kind === "combobox" || e.kind === "listbox") && e.defaultValue !== void 0) { const t = Array.isArray(e.defaultValue) ? e.defaultValue : [e.defaultValue]; - SP({ + qO({ ...e, options: e.options ?? [] }, t); @@ -4840,19 +4916,19 @@ function Kh(e) { switch (e.kind) { case "text": case "combobox": - return e.defaultValue !== void 0 ? ka(e.defaultValue) : cl(); + return e.defaultValue !== void 0 ? vi(e.defaultValue) : il(); case "listbox": - return gy(my((e.options ?? []).map(by), e.defaultValue ?? [])); + return Py(My((e.options ?? []).map(Ey), e.defaultValue ?? [])); default: - return cl(); + return il(); } } -function _8(e, t) { - const n = e.widgets ?? [], o = n.map((c, l) => B8(e, c, { +function YO(e, t) { + const n = e.widgets ?? [], o = n.map((c, l) => N4(e, c, { ref: t.widgets[l], field: t.objectNumber, nm: t.widgetNames?.[l] - })), r = o.map((c) => $N(EP(c.ref), c.page)), s = (e.kind === "combobox" || e.kind === "listbox" ? e.options ?? [] : []).map(by), i = { + })), r = o.map((c) => IT(ZO(c.ref), c.page)), s = (e.kind === "combobox" || e.kind === "listbox" ? e.options ?? [] : []).map(Ey), a = { ref: { kind: "objectNumber", objectNumber: t.objectNumber @@ -4874,14 +4950,14 @@ function _8(e, t) { filledAt: null, importedBy: null }; - let a; + let i; switch (e.kind) { case "text": { const c = e.defaultValue ?? ""; - a = { - ...i, + i = { + ...a, kind: "text", - defaultValueEntry: Kh(e), + defaultValueEntry: Yh(e), value: "", defaultValue: c, maxLength: e.maxLength ?? null, @@ -4893,9 +4969,9 @@ function _8(e, t) { break; } case "checkbox": { - const c = n.map((l, u) => p1(r[u], l.exportValue ?? "Yes")); - a = { - ...i, + const c = n.map((l, u) => E1(r[u], l.exportValue ?? "Yes")); + i = { + ...a, kind: "checkbox", checked: !1, exportValue: c[0]?.exportValue ?? "Yes", @@ -4904,9 +4980,9 @@ function _8(e, t) { break; } case "radio": { - const c = n.map((l, u) => p1(r[u], l.exportValue ?? "")); - a = { - ...i, + const c = n.map((l, u) => E1(r[u], l.exportValue ?? "")); + i = { + ...a, kind: "radio", value: "Off", radiosInUnison: e.radiosInUnison ?? !1, @@ -4916,10 +4992,10 @@ function _8(e, t) { break; } case "combobox": - a = { - ...i, + i = { + ...a, kind: "combobox", - defaultValueEntry: Kh(e), + defaultValueEntry: Yh(e), value: "", defaultValue: e.defaultValue ?? "", edit: e.edit ?? !1, @@ -4929,12 +5005,12 @@ function _8(e, t) { break; case "listbox": { const c = e.defaultValue ?? []; - a = { - ...i, + i = { + ...a, kind: "listbox", - defaultValueEntry: Kh(e), + defaultValueEntry: Yh(e), selectedValues: [], - defaultValue: my(s, c), + defaultValue: My(s, c), multiSelect: e.multiSelect ?? !1, options: s, topIndex: 0, @@ -4943,33 +5019,33 @@ function _8(e, t) { break; } default: - a = { - ...i, + i = { + ...a, kind: e.kind, widgets: r }; } return { - field: a, + field: i, widgets: o }; } -function N8(e, t) { +function S4(e, t) { const n = t; let o = { ...e.field }; if (t.name !== void 0) { - const i = o.name.lastIndexOf("."); - o.name = i < 0 ? t.name : `${o.name.slice(0, i + 1)}${t.name}`; + const a = o.name.lastIndexOf("."); + o.name = a < 0 ? t.name : `${o.name.slice(0, a + 1)}${t.name}`; } - for (const i of T8) typeof n[i] == "boolean" && i in o && (o[i] = n[i]); + for (const a of O4) typeof n[a] == "boolean" && a in o && (o[a] = n[a]); if (t.alternateName !== void 0 && (o.alternateName = t.alternateName || null), t.mappingName !== void 0 && (o.mappingName = t.mappingName || null), t.groupId !== void 0 && (o.groupId = t.groupId), o.kind === "text" && ("maxLength" in t && t.maxLength !== void 0 && (o.maxLength = t.maxLength), "defaultValue" in t && t.defaultValue !== void 0)) { - const i = t.defaultValue; - o.defaultValue = i ?? "", o.defaultValueEntry = i === null ? cl() : ka(i); + const a = t.defaultValue; + o.defaultValue = a ?? "", o.defaultValueEntry = a === null ? il() : vi(a); } let r = !1; - if ((o.kind === "combobox" || o.kind === "listbox") && ("options" in t && t.options && (o = F8(o, t.options.map(by)), r = !0), "defaultValue" in t && t.defaultValue !== void 0)) { - const i = t.defaultValue === null ? [] : Array.isArray(t.defaultValue) ? t.defaultValue : [t.defaultValue]; - SP(o, i), o = MP(o, i); + if ((o.kind === "combobox" || o.kind === "listbox") && ("options" in t && t.options && (o = C4(o, t.options.map(Ey)), r = !0), "defaultValue" in t && t.defaultValue !== void 0)) { + const a = t.defaultValue === null ? [] : Array.isArray(t.defaultValue) ? t.defaultValue : [t.defaultValue]; + qO(o, a), o = XO(o, a); } const s = { ...e, @@ -4977,7 +5053,7 @@ function N8(e, t) { }; return r ? al(s.field, s) : s; } -const T8 = [ +const O4 = [ "readOnly", "required", "noExport", @@ -4989,7 +5065,7 @@ const T8 = [ "edit", "multiSelect" ]; -function R8(e, t) { +function P4(e, t) { if (!t) return e; const n = Array.from(e); return n.length > t ? n.slice(0, t).join("") : e; @@ -5003,11 +5079,11 @@ function al(e, t) { }) }; } -function L8(e, t) { +function M4(e, t) { const n = e.findIndex((o) => o.onState === t); return n >= 0 || !/^\d+$/.test(t) ? n : Number(t) < e.length ? Number(t) : -1; } -function pm(e, t) { +function km(e, t) { const n = e.field; if (n.kind !== "checkbox" && n.kind !== "radio") return e; const o = n.kind === "checkbox" || n.radiosInUnison, r = t >= 0 ? n.widgets[t] : null, s = n.widgets.map((l, u) => { @@ -5016,21 +5092,21 @@ function pm(e, t) { ...l, checked: f }; - }), i = ka(r ? r.onState : "Off"), a = n.kind === "checkbox" ? { + }), a = vi(r ? r.onState : "Off"), i = n.kind === "checkbox" ? { ...n, widgets: s, - valueEntry: i, + valueEntry: a, checked: s.some((l) => l.checked) } : { ...n, widgets: s, - valueEntry: i, + valueEntry: a, value: s.find((l) => l.checked)?.exportValue ?? "Off" }, c = new Map(s.map((l) => [l.objectNumber, l.checked ? l.onState : "Off"])); return { - field: a, + field: i, widgets: e.widgets.map((l) => { - const u = c.get(EP(l.ref)); + const u = c.get(ZO(l.ref)); return u === void 0 || l.appearanceState === u ? l : { ...l, appearanceState: u @@ -5038,7 +5114,7 @@ function pm(e, t) { }) }; } -function OP(e, t) { +function QO(e, t) { const n = /* @__PURE__ */ new Set(); for (const o of t) { const r = e.findIndex((s) => s.value === o); @@ -5046,71 +5122,71 @@ function OP(e, t) { } return [...n].sort((o, r) => o - r); } -const rf = (e, t) => t.every((n) => e.options.some((o) => o.value === n)), j8 = (e, t) => e.kind === "combobox" && e.edit && t.length === 1; -function hy(e, t) { - const n = rf(e, t) ? OP(e.options, t) : [], o = t.length > 0 && n.length === 0, r = e.options.map((a, c) => { +const sf = (e, t) => t.every((n) => e.options.some((o) => o.value === n)), E4 = (e, t) => e.kind === "combobox" && e.edit && t.length === 1; +function Oy(e, t) { + const n = sf(e, t) ? QO(e.options, t) : [], o = t.length > 0 && n.length === 0, r = e.options.map((i, c) => { const l = n.includes(c); - return a.selected === l ? a : { - ...a, + return i.selected === l ? i : { + ...i, selected: l }; - }), s = o ? [...t] : n.map((a) => e.options[a].value), i = gy(s); + }), s = o ? [...t] : n.map((i) => e.options[i].value), a = Py(s); return e.kind === "combobox" ? { ...e, options: r, - valueEntry: i, + valueEntry: a, value: s[0] ?? "" } : { ...e, options: r, - valueEntry: i, + valueEntry: a, selectedValues: s }; } -function gy(e) { - return e.length === 0 ? cl() : e.length === 1 ? ka(e[0]) : { +function Py(e) { + return e.length === 0 ? il() : e.length === 1 ? vi(e[0]) : { kind: "array", values: [...e] }; } -function my(e, t) { - return OP(e, t).map((n) => e[n].value); +function My(e, t) { + return QO(e, t).map((n) => e[n].value); } -function F8(e, t) { - const n = t.map((a) => a.value), o = e.kind === "combobox" && e.edit, r = f1(e.kind === "combobox" ? e.value === "" ? [] : [e.value] : e.selectedValues, n, o), s = hy(e.kind === "listbox" ? { +function C4(e, t) { + const n = t.map((i) => i.value), o = e.kind === "combobox" && e.edit, r = M1(e.kind === "combobox" ? e.value === "" ? [] : [e.value] : e.selectedValues, n, o), s = Oy(e.kind === "listbox" ? { ...e, options: t, - topIndex: D8(e.topIndex, t) + topIndex: I4(e.topIndex, t) } : { ...e, options: t - }, r), i = $8(e.defaultValueEntry); - return e.defaultValueEntry.kind === "none" ? s : MP(s, f1(i, n, o), !0); + }, r), a = _4(e.defaultValueEntry); + return e.defaultValueEntry.kind === "none" ? s : XO(s, M1(a, n, o), !0); } -function D8(e, t) { +function I4(e, t) { return Math.max(0, Math.min(e, t.length - 1)); } -function f1(e, t, n) { +function M1(e, t, n) { const o = e.filter((r) => t.includes(r)); return o.length === 0 && n && e.length > 0 ? [...e] : o; } -function MP(e, t, n = !1) { +function XO(e, t, n = !1) { if (t.length === 0) { - const i = n ? e.kind === "listbox" && e.multiSelect ? { + const a = n ? e.kind === "listbox" && e.multiSelect ? { kind: "array", values: [] - } : ka("") : cl(); + } : vi("") : il(); return e.kind === "combobox" ? { ...e, - defaultValueEntry: i, + defaultValueEntry: a, defaultValue: "" } : { ...e, - defaultValueEntry: i, + defaultValueEntry: a, defaultValue: [] }; } - const o = rf(e, t), r = o ? my(e.options, t) : [...t], s = o ? gy(r) : ka(t[0]); + const o = sf(e, t), r = o ? My(e.options, t) : [...t], s = o ? Py(r) : vi(t[0]); return e.kind === "combobox" ? { ...e, defaultValueEntry: s, @@ -5121,20 +5197,20 @@ function MP(e, t, n = !1) { defaultValue: r }; } -function $8(e) { +function _4(e) { return e.kind === "scalar" ? [e.value] : e.kind === "array" ? [...e.values] : []; } -function B8(e, t, n) { - const { page: o, exportValue: r, ...s } = t, i = dP({ +function N4(e, t, n) { + const { page: o, exportValue: r, ...s } = t, a = RO({ subtype: "widget", ...s }, { ref: n.ref, ...n.nm !== void 0 ? { nm: n.nm } : {} - }), a = e.kind === "checkbox" || e.kind === "radio"; + }), i = e.kind === "checkbox" || e.kind === "radio"; return { - ...i, - rect: PP(i.box, i.rotation), + ...a, + rect: VO(a.box, a.rotation), field: { kind: "objectNumber", objectNumber: n.field @@ -5143,11 +5219,11 @@ function B8(e, t, n) { print: !0, hasAppearance: !0, hasMark: !1, - appearanceState: a ? "Off" : null, + appearanceState: i ? "Off" : null, caption: e.kind === "pushbutton" ? t.caption ?? null : null }; } -function p1(e, t) { +function E1(e, t) { return { ...e, onState: t, @@ -5155,18 +5231,18 @@ function p1(e, t) { checked: !1 }; } -const by = (e) => ({ +const Ey = (e) => ({ label: e.label, value: e.value, selected: !1 -}), EP = (e) => e.kind === "objectNumber" ? e.objectNumber : 0, ka = (e) => ({ +}), ZO = (e) => e.kind === "objectNumber" ? e.objectNumber : 0, vi = (e) => ({ kind: "scalar", value: e -}), cl = () => ({ kind: "none" }); -function Ii(e) { +}), il = () => ({ kind: "none" }); +function Na(e) { return new H(q.Unknown, `'${e.name}' could not be reset`); } -function zc(e) { +function Bc(e) { return e.map((t) => { switch (t.kind) { case "setValue": @@ -5195,22 +5271,28 @@ function zc(e) { } }); } -function z8(e) { +function T4(e) { return e.type === "skipped"; } -function ll(e) { +function cl(e) { return "undoOf" in e; } -function W8(e) { - if (ll(e)) return []; +function R4(e) { + if (cl(e)) return []; const t = []; for (const n of e.ops) switch (n.type) { case "annotations.create": n.objectNumber !== void 0 && t.push(n.objectNumber); break; + case "annotations.copy": + t.push(...n.objectNumbers ?? []); + break; case "forms.create": n.objectNumber !== void 0 && t.push(n.objectNumber), t.push(...n.widgetObjectNumbers ?? []); break; + case "forms.copy": + t.push(...n.objectNumbers ?? []); + break; case "forms.addWidget": n.objectNumber !== void 0 && t.push(n.objectNumber), n.splitObjectNumber !== void 0 && t.push(n.splitObjectNumber); break; @@ -5225,8 +5307,8 @@ function W8(e) { } return t; } -function U8(e) { - if (ll(e)) return []; +function L4(e) { + if (cl(e)) return []; const t = /* @__PURE__ */ new Set(), n = (o) => { if (Array.isArray(o)) { o.forEach(n); @@ -5239,27 +5321,27 @@ function U8(e) { }; return e.ops.forEach(n), [...t]; } -async function K8(e) { - if (ll(e)) return { +async function j4(e) { + if (cl(e)) return { change: e, buffers: [] }; const t = [], n = []; for (const o of e.ops) switch (o.type) { case "annotations.create": { - const { resources: r, ...s } = o, i = await Dc(r); - t.push(...$c(i)), n.push({ + const { resources: r, ...s } = o, a = await Fc(r); + t.push(...Dc(a)), n.push({ ...s, - data: B5(o.data, r), - ...nf(i) ? { resources: i } : {} + data: lO(o.data, r), + ...of(a) ? { resources: a } : {} }); break; } case "annotations.update": { - const { resources: r, ...s } = o, i = await Dc(r); - t.push(...$c(i)), n.push({ + const { resources: r, ...s } = o, a = await Fc(r); + t.push(...Dc(a)), n.push({ ...s, - ...nf(i) ? { resources: i } : {} + ...of(a) ? { resources: a } : {} }); break; } @@ -5280,8 +5362,8 @@ async function K8(e) { break; } case "attachments.create": { - const r = await Dc(o.resources); - t.push(...$c(r)), n.push({ + const r = await Fc(o.resources); + t.push(...Dc(r)), n.push({ ...o, resources: r }); @@ -5295,57 +5377,385 @@ async function K8(e) { buffers: t }; } -function CP(e) { - return e.type === "javascript" || e.type === "submit-form" || e.type === "uri" || (e.next ?? []).some(CP); +function F4(e) { + const t = [], n = e.measure; + n?.subtype === "geospatial" && t.push({ + field: "measure", + reason: "geospatial" + }), n?.subtype === "unknown" && t.push({ + field: "measure", + reason: "unknown-measure" + }); + const o = e.subtype === "link" ? e.target : null, r = !!o && $4(o); + o && !r && t.push({ + field: "target", + reason: "unsupported-action" + }); + const { actions: s } = e; + return Object.entries(s ?? {}).some(([a, i]) => e.subtype !== "link" || a !== "activate" ? !0 : r && !D4(i)) && t.push({ + field: "actions", + reason: "unsupported-action" + }), t; +} +function D4(e) { + const t = e?.root; + return !e || e.incomplete || !t || t.next.length > 0 ? !1 : !(t.type === "uri" && t.isMap); +} +function $4(e) { + return e.kind === "named" ? B4.has(e.name ?? "") : e.kind === "goto" || e.kind === "uri"; +} +const B4 = /* @__PURE__ */ new Set([ + "NextPage", + "PrevPage", + "FirstPage", + "LastPage" +]); +function JO(e) { + const t = e.annotations.length - 1; + return e.annotations.map((n, o) => { + const { page: r } = n.ref; + return { + page: r, + annotation: n, + meta: { + affectedPages: e.meta.affectedPages.filter((s) => s.objectNumber === r.objectNumber), + cacheDelta: o === t ? e.meta.cacheDelta : null, + opId: e.meta.opId, + undoable: e.meta.undoable, + changedRefs: [n.ref] + } + }; + }); +} +function eP(e, t, n = () => !1) { + const o = /* @__PURE__ */ new Map(); + e.forEach((d, p) => { + d.subtype === "unsupported" ? o.set(p, "unsupported-kind") : d.subtype === "widget" ? o.set(p, "widget") : n(p) && o.set(p, "unsupported-value"); + }); + const r = /* @__PURE__ */ new Map(); + e.forEach((d, p) => { + const g = Y(d.ref); + r.has(g) || r.set(g, p); + }); + const s = (d) => t.page ?? e[d].ref.page, a = (d, p) => { + const g = r.get(Y(d)); + if (!(g === void 0 || o.has(g))) + return xt(s(g)) === xt(s(p)) ? g : void 0; + }, i = /* @__PURE__ */ new Set(); + e.forEach((d, p) => { + if (o.has(p) || d.subtype !== "popup") return; + const g = d.parent ? r.get(Y(d.parent)) : void 0, h = d.parent ? a(d.parent, p) : void 0; + h === void 0 ? o.set(p, g !== void 0 && o.has(g) ? "parent-dropped" : "parent-missing") : i.has(h) ? o.set(p, "popup-taken") : i.add(h); + }); + const c = /* @__PURE__ */ new Map(); + e.forEach((d, p) => { + o.has(p) || c.set(p, c.size); + }); + const l = t.offset ?? { + x: 0, + y: 0 + }, u = [...c.keys()].map((d) => { + const p = e[d], g = p.reply ? a(p.reply.to, d) : void 0, h = p.subtype === "popup" && p.parent ? a(p.parent, d) : void 0, { nm: m, groupId: O, reply: E, popup: P, ...k } = p; + for (const { field: A } of F4(p)) delete k[A]; + return { + source: d, + page: s(d), + data: HT(k, l), + ...g !== void 0 ? { replyTo: { + copy: c.get(g), + type: p.reply.type + } } : {}, + ...h !== void 0 ? { parent: c.get(h) } : {} + }; + }), f = []; + return e.forEach((d, p) => { + const g = o.get(p); + g && f.push({ + ref: d.ref, + reason: g + }); + }), { + copies: u, + dropped: f + }; +} +function z4(e, t) { + const n = (o, r) => typeof o != "object" || o === null ? o : Array.isArray(o) ? o.map((s) => n(s)) : r === "page" && W4(o) ? t(o) : Object.fromEntries(Object.entries(o).map(([s, a]) => [s, n(a, s)])); + return n(e); +} +function W4(e) { + return Object.keys(e).length === 2 && e.kind === "objectNumber" && typeof e.objectNumber == "number"; +} +function U4(e) { + const { url: t, fields: n, charSet: o, ...r } = e; + return r; +} +function Cy(e) { + return e.type === "javascript" || e.type === "submit-form" || e.type === "uri" || (e.next ?? []).some(Cy); +} +function Xs(e) { + return Object.values(e ?? {}).some((t) => t != null && !("root" in t) && Cy(t)); +} +function tP(e) { + return e.incomplete || !e.root ? null : oP(e.root); +} +const K4 = [ + "activate", + "cursorEnter", + "cursorExit", + "mouseDown", + "mouseUp", + "focus", + "blur", + "pageOpen", + "pageClose", + "pageVisible", + "pageInvisible" +]; +function q4(e) { + const t = tP(e); + return t && nP(t) ? t : null; +} +function nP(e) { + return e.type === "javascript" && (e.next ?? []).every(nP); +} +function oP(e) { + const t = []; + for (const o of e.next) { + const r = oP(o); + if (!r) return null; + t.push(r); + } + const n = t.length > 0 ? { next: t } : {}; + switch (e.type) { + case "javascript": + return { + type: "javascript", + script: e.script, + ...n + }; + case "goto": + return { + type: "goto", + destination: e.destination, + ...n + }; + case "uri": + return { + type: "uri", + uri: e.uri, + ...n + }; + case "named": + return { + type: "named", + name: e.name, + ...n + }; + case "hide": + return { + type: "hide", + targets: e.targets, + hide: e.hide, + ...n + }; + case "reset-form": + return { + type: "reset-form", + fields: e.fields, + exclude: e.exclude, + ...n + }; + case "submit-form": + return e.payload ? { + ...U4(e.payload), + type: "submit-form", + url: e.payload.url, + fields: e.payload.fields, + ...n + } : null; + default: + return null; + } } -function Ys(e) { - return Object.values(e ?? {}).some((t) => t != null && !("root" in t) && CP(t)); +function C1(e, t) { + return t.kind === "fqn" ? e.name === t.name : e.ref.kind === "objectNumber" && e.ref.objectNumber === t.objectNumber; } -function yy(e) { +function Iy(e) { return e.fields.map((t) => { - const n = new Set(t.widgets.map((i) => i.objectNumber)), o = e.meta.changedWidgets.filter((i) => n.has(i.objectNumber)), r = e.widgets.filter((i) => i.ref.kind === "objectNumber" && n.has(i.ref.objectNumber)), s = new Set(o.flatMap((i) => i.page ? [i.page.objectNumber] : [])); + const n = new Set(t.widgets.map((a) => a.objectNumber)), o = e.meta.changedWidgets.filter((a) => n.has(a.objectNumber)), r = e.widgets.filter((a) => a.ref.kind === "objectNumber" && n.has(a.ref.objectNumber)), s = new Set(o.flatMap((a) => a.page ? [a.page.objectNumber] : [])); return { field: t, widgets: r, meta: { - affectedPages: e.meta.affectedPages.filter((i) => s.has(i.objectNumber)), + affectedPages: e.meta.affectedPages.filter((a) => s.has(a.objectNumber)), cacheDelta: null, opId: e.meta.opId, undoable: e.meta.undoable, changedFields: [t.ref], changedWidgets: o, - redrawnWidgets: e.meta.redrawnWidgets.filter((i) => n.has(i.objectNumber)) + redrawnWidgets: e.meta.redrawnWidgets.filter((a) => n.has(a.objectNumber)) } }; }); } -function IP(e) { +function rP(e) { return e.meta.changedFields[0] ?? null; } -function _P(e) { +const H4 = [ + "invisible", + "hidden", + "print", + "noZoom", + "noRotate", + "noView", + "readOnly", + "locked", + "toggleNoView", + "lockedContents" +]; +function sP(e) { const t = e.fields.length - 1; return e.fields.map((n, o) => { - const r = new Set(n.widgets.map((c) => c.objectNumber)), s = e.widgets.filter((c) => c.ref.kind === "objectNumber" && r.has(c.ref.objectNumber)), i = e.meta.changedWidgets.filter((c) => r.has(c.objectNumber)), a = new Set(i.flatMap((c) => c.page ? [c.page.objectNumber] : [])); + const r = new Set(n.widgets.map((c) => c.objectNumber)), s = e.widgets.filter((c) => c.ref.kind === "objectNumber" && r.has(c.ref.objectNumber)), a = e.meta.changedWidgets.filter((c) => r.has(c.objectNumber)), i = new Set(a.flatMap((c) => c.page ? [c.page.objectNumber] : [])); return { field: n, widgets: s, ...o === t && e.calculationOrder ? { calculationOrder: e.calculationOrder } : {}, meta: { - affectedPages: e.meta.affectedPages.filter((c) => a.has(c.objectNumber)), + affectedPages: e.meta.affectedPages.filter((c) => i.has(c.objectNumber)), cacheDelta: o === t ? e.meta.cacheDelta : null, opId: e.meta.opId, undoable: e.meta.undoable, changedFields: [n.ref], - changedWidgets: i, + changedWidgets: a, redrawnWidgets: e.meta.redrawnWidgets.filter((c) => r.has(c.objectNumber)) } }; }); } -function NP(e) { - return yy(e); +function aP(e) { + return Iy(e); } -function q8(e) { +function V4(e) { + return e.valueEntry.kind === "scalar" || e.valueEntry.kind === "array"; +} +function G4(e, t, n) { + const o = {}; + for (const [r, s] of Object.entries(e.actions ?? {})) { + if (!s) continue; + const a = q4(s), i = `actions.${r}`; + a ? t ? o[r] = a : n.push({ + ref: e.ref, + field: i, + reason: "script-not-allowed" + }) : n.push({ + ref: e.ref, + field: i, + reason: "unsupported-action" + }); + } + return o; +} +function iP(e, t, n, o, r) { + const s = {}; + for (const c of K4) { + const l = t.actions?.[c]; + if (!l) continue; + const u = tP(l), f = (d) => r.push({ + ref: e.ref, + widget: t.ref, + field: `actions.${c}`, + reason: d + }); + u ? !o && Cy(u) ? f("script-not-allowed") : s[c] = z4(u, n) : f("unsupported-action"); + } + const a = e.kind === "checkbox" || e.kind === "radio" ? e.widgets.find((c) => c.ref && Y(c.ref) === Y(t.ref)) : void 0, i = { + color: t.color, + interiorColor: t.interiorColor, + dashArray: t.dashArray, + checkStyle: t.checkStyle, + fontFamily: t.fontFamily, + fontSize: t.fontSize, + fontColor: t.fontColor, + caption: e.kind === "pushbutton" ? t.caption : null + }; + return { + page: n(t.page), + rect: t.rect, + ...t.rotation ? { rotation: t.rotation } : {}, + strokeWidth: t.strokeWidth, + borderStyle: t.borderStyle, + textAlign: t.textAlign, + ...Object.fromEntries(Object.entries(i).filter(([, c]) => c != null)), + ...a && "exportValue" in a ? { exportValue: a.exportValue } : {}, + ...Object.keys(s).length > 0 ? { actions: s } : {} + }; +} +function cP(e) { + return Object.fromEntries(H4.map((t) => [t, e[t]])); +} +function Y4(e, t, n, o, r) { + const s = { + name: t, + readOnly: e.readOnly, + required: e.required, + noExport: e.noExport, + ...e.alternateName !== null ? { alternateName: e.alternateName } : {}, + ...e.mappingName !== null ? { mappingName: e.mappingName } : {}, + ...e.groupId !== null ? { groupId: e.groupId } : {}, + ...Object.keys(n).length > 0 ? { actions: n } : {}, + widgets: o + }, a = e.defaultValueEntry.kind !== "none", i = (c) => c.map(({ label: l, value: u }) => ({ + label: l, + value: u + })); + switch (e.kind) { + case "text": + return { + ...s, + kind: "text", + ...a ? { defaultValue: e.defaultValue } : {}, + ...e.maxLength !== null ? { maxLength: e.maxLength } : {}, + multiline: e.multiline, + password: e.password, + comb: e.comb + }; + case "radio": + return { + ...s, + kind: "radio", + radiosInUnison: e.radiosInUnison, + noToggleToOff: e.noToggleToOff + }; + case "combobox": + return { + ...s, + kind: "combobox", + edit: e.edit, + options: i(e.options), + ...a ? { defaultValue: e.defaultValue } : {} + }; + case "listbox": + return { + ...s, + kind: "listbox", + multiSelect: e.multiSelect, + options: i(e.options), + ...a ? { defaultValue: e.defaultValue } : {} + }; + case "checkbox": + case "pushbutton": + case "signature": + return { + ...s, + kind: e.kind + }; + default: + throw new H(q.InvalidArg, `${r} has no family`); + } +} +function lP(e) { switch (e.kind) { case "checkbox": return { checked: e.checked }; @@ -5360,21 +5770,82 @@ function q8(e) { return null; } } +function Q4(e, t) { + if (e.has(t)) return !0; + for (const n of e) if (n.startsWith(`${t}.`) || t.startsWith(`${n}.`)) return !0; + return !1; +} +function X4(e, t) { + const n = e.lastIndexOf("."), o = e.slice(0, n + 1), r = e.slice(n + 1), s = /^(.*)_(\d+)$/.exec(r), a = s ? s[1] : r; + let i = s ? Number(s[2]) + 1 : 2; + for (; t(`${o}${a}_${i}`); ) i += 1; + return `${o}${a}_${i}`; +} +function _y(e) { + const { form: t, mayScript: n, placement: o } = e, r = new Map(t.widgets.map((p) => [Y(p.ref), p])), s = e.widgets ? new Set(e.widgets.map(Y)) : null, a = new Set(t.fields.map((p) => p.name)), i = o.offset ?? { + x: 0, + y: 0 + }, c = (p) => ({ + ...p, + ...o.page ? { page: o.page } : {}, + ...p.rect ? { rect: { + ...p.rect, + x: p.rect.x + i.x, + y: p.rect.y + i.y + } } : {} + }), l = [], u = [], f = [], d = /* @__PURE__ */ new Set(); + e.fields.forEach((p, g) => { + const h = t.fields.find((A) => C1(A, p)); + if (!h) throw new H(q.NotFound, `copy: no form field ${CT(p)}`, { details: { item: g } }); + const m = h.widgets.flatMap((A) => { + const w = A.ref ? r.get(Y(A.ref)) : void 0; + return w && (!s || s.has(Y(w.ref))) ? [w] : []; + }); + for (const A of m) d.add(Y(A.ref)); + if (s && m.length === 0) throw new H(q.InvalidArg, `copy: 'widgets' names no widget of field ${g}`, { details: { + item: g, + field: "widgets" + } }); + if (h.kind === "unknown") { + l.push({ + ref: h.ref, + reason: "unsupported-kind" + }); + return; + } + const O = X4(h.name, (A) => Q4(a, A)); + a.add(O); + const E = G4(h, n, l), P = m.map((A) => c(iP(h, A, (w) => w, n, l))), k = e.values && h.kind !== "signature" && V4(h) ? lP(h) : null; + f.push(h), u.push({ + source: g, + draft: Y4(h, O, E, P, `copy: field ${g}`), + widgets: m.map((A) => A.ref), + flags: m.map(cP), + ...k ? { value: k } : {} + }); + }); + for (const p of s ?? []) if (!d.has(p)) throw new H(q.InvalidArg, `copy: widget ${p} is a widget of none of the fields`, { details: { field: "widgets" } }); + return { + creates: u, + calculationOrder: t.calculationOrder.flatMap((p) => p ? u.flatMap((g, h) => C1(f[h], p) && g.draft.actions?.calculate ? [h] : []) : []), + dropped: l + }; +} Object.assign(() => "doc.render", { thumbnail: () => "doc.render.thumbnail" }), Object.assign(() => "doc.download", { flattened: () => "doc.download.flattened" }), Object.assign(() => "doc.print", { high: () => "doc.print.high" }), Object.assign(() => "doc.sign", { certify: () => "doc.sign.certify" }); -function H8(e) { +function Z4(e) { const t = /* @__PURE__ */ new Set(); return t.add("doc.open"), t.add("doc.render"), t.add("doc.annotate.read"), t.add("doc.forms.read"), t.add("doc.text.search"), t.add("doc.text.select"), e.copy && (t.add("doc.text.copy"), t.add("doc.content.copy")), e.print && t.add("doc.print"), e.printHighQuality && e.print && t.add("doc.print.high"), e.modifyContents && (t.add("doc.pages.modify"), t.add("doc.redact"), t.add("doc.metadata.modify"), t.add("doc.attachments.modify")), (e.modifyContents || e.assemble) && (t.add("doc.pages.assemble"), t.add("doc.outline.modify")), e.modifyAnnotations && t.add("doc.annotate.modify"), (e.modifyContents || e.modifyAnnotations || e.fillForms) && (t.add("doc.forms.fill"), t.add("doc.sign")), e.modifyAnnotations && e.modifyContents && t.add("doc.forms.modify"), [...t]; } -const h1 = { +const I1 = { none: 0, lta: 1, fill: 2, annotate: 3 }; -function g1(e, t) { - return e === null || h1[e] >= h1[t]; +function _1(e, t) { + return e === null || I1[e] >= I1[t]; } -const V8 = [ +const J4 = [ "doc.download.flattened", "doc.pages.modify", "doc.pages.assemble", @@ -5388,15 +5859,15 @@ const V8 = [ "doc.forms.fill", "doc.forms.import" ]; -new Set(V8); -function jo(e) { +new Set(J4); +function Lo(e) { const t = /* @__PURE__ */ new Set(); - return !e || e.judged === null || (t.add("doc.download.flattened"), e.enforced === null) || (t.add("doc.pages.modify"), t.add("doc.pages.assemble"), t.add("doc.redact"), t.add("doc.attachments.modify"), t.add("doc.outline.modify"), t.add("doc.forms.modify"), t.add("doc.forms.script"), g1(e.enforced, "annotate") || (t.add("doc.annotate.modify"), t.add("doc.annotate.import")), g1(e.enforced, "fill") || (t.add("doc.forms.fill"), t.add("doc.forms.import"))), t; + return !e || e.judged === null || (t.add("doc.download.flattened"), e.enforced === null) || (t.add("doc.pages.modify"), t.add("doc.pages.assemble"), t.add("doc.redact"), t.add("doc.attachments.modify"), t.add("doc.outline.modify"), t.add("doc.forms.modify"), t.add("doc.forms.script"), _1(e.enforced, "annotate") || (t.add("doc.annotate.modify"), t.add("doc.annotate.import")), _1(e.enforced, "fill") || (t.add("doc.forms.fill"), t.add("doc.forms.import"))), t; } -function m1(e, t) { +function N1(e, t) { return `the document is signed: ${t.certification ? `certification signature ${t.certification.signatureIndex} (permission ${t.certification.permission})` : `an existing signature (declared level '${t.enforced ?? "none declared"}')`} forbids '${e}'`; } -const G8 = /* @__PURE__ */ new Set([ +const eL = /* @__PURE__ */ new Set([ "doc.open", "doc.render", "doc.render.thumbnail", @@ -5432,11 +5903,11 @@ function Vo(e) { kind: "virtual", name: "pdf.permissions" }; - if (e.includes(":")) return X8(e); - const t = TP(e); - return t !== null ? t4(e, t) : n4(e); + if (e.includes(":")) return oL(e); + const t = uP(e); + return t !== null ? iL(e, t) : cL(e); } -const Y8 = /* @__PURE__ */ new Set([ +const tL = /* @__PURE__ */ new Set([ "doc", "docs", "pdf", @@ -5452,36 +5923,36 @@ const Y8 = /* @__PURE__ */ new Set([ "submission", "signature" ]); -function TP(e) { +function uP(e) { if (e.includes(":")) return null; const t = e.indexOf("."); if (t <= 0) return null; const n = e.slice(0, t); - return Y8.has(n) ? null : n; + return tL.has(n) ? null : n; } -function Q8(e) { +function nL(e) { for (const t of e) Vo(t); } -function X8(e) { +function oL(e) { const t = e.indexOf(":"), n = e.indexOf(":", t + 1); - if (t === -1 || n === -1) throw new Xn(e, "collab scope requires entity:action:filter"); + if (t === -1 || n === -1) throw new Qn(e, "collab scope requires entity:action:filter"); const o = e.slice(0, t), r = e.slice(t + 1, n), s = e.slice(n + 1); - if (o === "fields") return Z8(e, r, s); - if (o !== "annotations") throw new Xn(e, `unknown collab entity: ${o}`); - if (r !== "create" && r !== "update" && r !== "delete" && r !== "set-group" && r !== "*") throw new Xn(e, `unknown collab action: ${r}`); - const i = RP(s, e); - if (r === "set-group" && (i.kind === "self" || i.kind === "createdBy")) throw new Xn(e, `set-group only supports :all or :group= filters (got :${i.kind})`); + if (o === "fields") return rL(e, r, s); + if (o !== "annotations") throw new Qn(e, `unknown collab entity: ${o}`); + if (r !== "create" && r !== "update" && r !== "delete" && r !== "set-group" && r !== "*") throw new Qn(e, `unknown collab action: ${r}`); + const a = dP(s, e); + if (r === "set-group" && (a.kind === "self" || a.kind === "createdBy")) throw new Qn(e, `set-group only supports :all or :group= filters (got :${a.kind})`); return { kind: "collab", entity: o, action: r, - filter: i + filter: a }; } -function Z8(e, t, n) { - if (t !== "fill" && t !== "sign" && t !== "set-group" && t !== "*") throw new Xn(e, `unknown fields action: ${t}`); - const o = RP(n, e); - if (o.kind !== "all" && o.kind !== "group") throw new Xn(e, `fields only support :all or :group= filters (got :${o.kind})`); +function rL(e, t, n) { + if (t !== "fill" && t !== "sign" && t !== "set-group" && t !== "*") throw new Qn(e, `unknown fields action: ${t}`); + const o = dP(n, e); + if (o.kind !== "all" && o.kind !== "group") throw new Qn(e, `fields only support :all or :group= filters (got :${o.kind})`); return { kind: "collab", entity: "fields", @@ -5489,12 +5960,12 @@ function Z8(e, t, n) { filter: o }; } -function RP(e, t) { +function dP(e, t) { if (e === "all") return { kind: "all" }; if (e === "self") return { kind: "self" }; if (e.startsWith("createdBy=")) { const n = e.slice(10); - if (!n) throw new Xn(t, "createdBy= requires a value"); + if (!n) throw new Qn(t, "createdBy= requires a value"); return { kind: "createdBy", userId: n @@ -5502,73 +5973,73 @@ function RP(e, t) { } if (e.startsWith("group=")) { const n = e.slice(6); - if (!n) throw new Xn(t, "group= requires a value"); + if (!n) throw new Qn(t, "group= requires a value"); return { kind: "group", groupId: n }; } - throw new Xn(t, `unknown filter: ${e}`); + throw new Qn(t, `unknown filter: ${e}`); } -const J8 = /^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+$/, e4 = /^[a-z][a-z0-9]*(-[a-z0-9]+)*(\.[a-z][a-z0-9]*(-[a-z0-9]+)*)+$/; -function t4(e, t) { - if (!e4.test(e)) throw new Xn(e, "invalid plugin permission shape (expected .)"); +const sL = /^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+$/, aL = /^[a-z][a-z0-9]*(-[a-z0-9]+)*(\.[a-z][a-z0-9]*(-[a-z0-9]+)*)+$/; +function iL(e, t) { + if (!aL.test(e)) throw new Qn(e, "invalid plugin permission shape (expected .)"); return { kind: "plugin", name: e, plugin: t }; } -function n4(e) { - if (!J8.test(e)) throw new Xn(e, "invalid capability name shape"); - if (!G8.has(e)) throw new Xn(e, `unknown capability: ${e}`); +function cL(e) { + if (!sL.test(e)) throw new Qn(e, "invalid capability name shape"); + if (!eL.has(e)) throw new Qn(e, `unknown capability: ${e}`); return { kind: "capability", name: e }; } -function o4(e) { +function lL(e) { return { ...e.userId ? { userId: e.userId } : {}, ...e.groupId ? { groupId: e.groupId } : {} }; } -function wy(e, t, n, o = null) { - if (jo(o).has(e)) return !1; +function Ny(e, t, n, o = null) { + if (Lo(o).has(e)) return !1; const r = t.map(Vo); - return r.some((s) => s.kind === "wildcard") ? !0 : Ba(r, n, o).has(e); + return r.some((s) => s.kind === "wildcard") ? !0 : $i(r, n, o).has(e); } -function r4(e, t, n, o = null) { - return e.some((r) => wy(r, t, n, o)); +function uL(e, t, n, o = null) { + return e.some((r) => Ny(r, t, n, o)); } -function s4(e, t, n, o, r) { +function dL(e, t, n, o, r) { const s = n.map(Vo); - if (s.some((a) => a.kind === "wildcard")) return !0; - const i = s.filter((a) => a.kind === "collab" && a.entity === "annotations" && (a.action === e || a.action === "*")); - return i.length > 0 ? i.some((a) => f4(a.filter, t, o)) : Ba(s, r).has("doc.annotate.modify"); + if (s.some((i) => i.kind === "wildcard")) return !0; + const a = s.filter((i) => i.kind === "collab" && i.entity === "annotations" && (i.action === e || i.action === "*")); + return a.length > 0 ? a.some((i) => yL(i.filter, t, o)) : $i(s, r).has("doc.annotate.modify"); } -function Ba(e, t, n = null) { +function $i(e, t, n = null) { const o = /* @__PURE__ */ new Set(); let r = !1, s = !1; - for (const i of e) i.kind === "capability" ? o.add(i.name) : i.kind === "virtual" && i.name === "pdf.permissions" ? p4(o, t) : i.kind === "collab" && i.entity === "annotations" ? r = !0 : i.kind === "collab" && i.entity === "fields" && (s = !0); + for (const a of e) a.kind === "capability" ? o.add(a.name) : a.kind === "virtual" && a.name === "pdf.permissions" ? wL(o, t) : a.kind === "collab" && a.entity === "annotations" ? r = !0 : a.kind === "collab" && a.entity === "fields" && (s = !0); o.has("doc.render") && o.add("doc.render.thumbnail"), o.has("doc.annotate.modify") && o.add("doc.annotate.read"), o.has("doc.forms.modify") && (o.add("doc.forms.fill"), o.add("doc.forms.read")), o.has("doc.forms.fill") && o.add("doc.forms.read"), r && o.add("doc.annotate.read"), s && o.add("doc.forms.read"); - for (const i of jo(n)) o.delete(i); + for (const a of Lo(n)) o.delete(a); return o; } -const LP = /* @__PURE__ */ new Set(); -function i4(e, t = LP) { +const fP = /* @__PURE__ */ new Set(); +function fL(e, t = fP) { const n = /* @__PURE__ */ new Set(); for (const o of e.map(Vo)) if (o.kind === "wildcard") for (const r of t) n.add(r); else o.kind === "plugin" && t.has(o.name) && n.add(o.name); return n; } -function a4(e, t, n = LP) { - return i4(t, n).has(e); +function pL(e, t, n = fP) { + return fL(t, n).has(e); } -function c4(e, t, n = null) { - return Ba(e.map(Vo), t, n); +function hL(e, t, n = null) { + return $i(e.map(Vo), t, n); } -function b1(e, t, n, o) { +function T1(e, t, n, o) { if (t === n) return !0; const r = o.map(Vo); if (r.some((s) => s.kind === "wildcard")) return !0; @@ -5577,18 +6048,18 @@ function b1(e, t, n, o) { return !0; return !1; } -function l4(e, t, n, o, r = null) { +function gL(e, t, n, o, r = null) { const s = e === "fill" ? "doc.forms.fill" : "doc.sign"; - if (jo(r).has(s)) return !1; - const i = n.map(Vo); - if (i.some((c) => c.kind === "wildcard")) return !0; - const a = i.filter((c) => c.kind === "collab" && c.entity === "fields" && (c.action === e || c.action === "*")); - return a.length > 0 ? a.some((c) => c.filter.kind === "all" || t !== null && c.filter.groupId === t) : Ba(i, o, r).has(s); -} -function u4(e, t, n, o) { - const r = e.map(Vo), s = r.some((f) => f.kind === "wildcard"), i = (f) => r.filter((d) => d.kind === "collab" && d.entity === "fields" && (d.action === f || d.action === "*")), a = (f, d = []) => { - if (f.some((h) => h.filter.kind === "all")) return { all: !0 }; - const p = f.flatMap((h) => h.filter.kind === "group" ? [h.filter.groupId] : []); + if (Lo(r).has(s)) return !1; + const a = n.map(Vo); + if (a.some((c) => c.kind === "wildcard")) return !0; + const i = a.filter((c) => c.kind === "collab" && c.entity === "fields" && (c.action === e || c.action === "*")); + return i.length > 0 ? i.some((c) => c.filter.kind === "all" || t !== null && c.filter.groupId === t) : $i(a, o, r).has(s); +} +function mL(e, t, n, o) { + const r = e.map(Vo), s = r.some((f) => f.kind === "wildcard"), a = (f) => r.filter((d) => d.kind === "collab" && d.entity === "fields" && (d.action === f || d.action === "*")), i = (f, d = []) => { + if (f.some((g) => g.filter.kind === "all")) return { all: !0 }; + const p = f.flatMap((g) => g.filter.kind === "group" ? [g.filter.groupId] : []); return { all: !1, groups: [.../* @__PURE__ */ new Set([...p, ...d])] @@ -5598,24 +6069,24 @@ function u4(e, t, n, o) { groups: [] }, l = (f) => { const d = f === "fill" ? "doc.forms.fill" : "doc.sign"; - if (jo(n).has(d)) return c; + if (Lo(n).has(d)) return c; if (s) return { all: !0 }; - const p = i(f); - return p.length > 0 ? a(p) : Ba(r, t, n).has(d) ? { all: !0 } : c; + const p = a(f); + return p.length > 0 ? i(p) : $i(r, t, n).has(d) ? { all: !0 } : c; }, u = o !== void 0 ? [o] : []; return { fill: l("fill"), sign: l("sign"), - setGroup: s ? { all: !0 } : a(i("set-group"), u) + setGroup: s ? { all: !0 } : i(a("set-group"), u) }; } -function d4(e, t, n, o = null) { +function bL(e, t, n, o = null) { const r = e === "fill" ? "doc.forms.fill" : "doc.sign"; - if (jo(o).has(r)) return !1; + if (Lo(o).has(r)) return !1; const s = t.map(Vo); - return s.some((i) => i.kind === "wildcard") || s.some((i) => i.kind === "collab" && i.entity === "fields" && (i.action === e || i.action === "*")) ? !0 : Ba(s, n, o).has(r); + return s.some((a) => a.kind === "wildcard") || s.some((a) => a.kind === "collab" && a.entity === "fields" && (a.action === e || a.action === "*")) ? !0 : $i(s, n, o).has(r); } -function f4(e, t, n) { +function yL(e, t, n) { switch (e.kind) { case "all": return !0; @@ -5627,42 +6098,42 @@ function f4(e, t, n) { return t.groupId === e.groupId; } } -function p4(e, t) { - for (const n of H8(t)) e.add(n); +function wL(e, t) { + for (const n of Z4(t)) e.add(n); } -function h4(e, t) { +function vL(e, t) { const n = e?.flatten; if (n === void 0) { for (const r of ["includeAnnotations", "includeFormFields"]) if (e?.[r] !== void 0) throw new H(q.InvalidArg, `${r} takes flatten`, { details: { field: r } }); - if (!t.download) throw new Ln("doc.download"); + if (!t.download) throw new jn("doc.download"); return null; } const o = n.usage ?? "display"; if (o !== "display" && o !== "print") throw new H(q.InvalidArg, 'usage must be "display" or "print"', { details: { field: "flatten.usage" } }); - if (!t.download && !t.downloadFlattened) throw new Ln("doc.download", "flatten", ["doc.download", "doc.download.flattened"]); + if (!t.download && !t.downloadFlattened) throw new jn("doc.download", "flatten", ["doc.download", "doc.download.flattened"]); return { usage: o, - ...sy(e, t) + ...gy(e, t) }; } -const y1 = "incremental"; -function Ac() { +const R1 = "incremental"; +function xc() { const e = globalThis.crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16)); - return e[6] = e[6] & 15 | 64, e[8] = e[8] & 63 | 128, jP(e); + return e[6] = e[6] & 15 | 64, e[8] = e[8] & 63 | 128, pP(e); } -function g4(e = Date.now()) { +function kL(e = Date.now()) { const t = globalThis.crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16)); let n = Math.max(0, Math.floor(e)); for (let o = 5; o >= 0; o--) t[o] = n % 256, n = Math.floor(n / 256); - return t[6] = t[6] & 15 | 112, t[8] = t[8] & 63 | 128, jP(t); + return t[6] = t[6] & 15 | 112, t[8] = t[8] & 63 | 128, pP(t); } -function jP(e) { +function pP(e) { const t = Array.from(e, (n) => n.toString(16).padStart(2, "0")).join(""); return `${t.slice(0, 8)}-${t.slice(8, 12)}-${t.slice(12, 16)}-${t.slice(16, 20)}-${t.slice(20)}`; } -async function m4(e, t) { - const n = await bo(e.data instanceof ArrayBuffer ? new Uint8Array(e.data) : e.data), o = e.name ?? n.name; +async function xL(e, t) { + const n = await yo(e.data instanceof ArrayBuffer ? new Uint8Array(e.data) : e.data), o = e.name ?? n.name; if (!o) throw new H(q.InvalidArg, "attachment file requires a name — pass { data, name } or a File whose name is set"); const r = e.mimeType ?? n.mimeType; return { @@ -5679,61 +6150,44 @@ async function m4(e, t) { } }; } -function FP(e) { - const t = e.annotations.length - 1; - return e.annotations.map((n, o) => { - const { page: r } = n.ref; - return { - page: r, - annotation: n, - meta: { - affectedPages: e.meta.affectedPages.filter((s) => s.objectNumber === r.objectNumber), - cacheDelta: o === t ? e.meta.cacheDelta : null, - opId: e.meta.opId, - undoable: e.meta.undoable, - changedRefs: [n.ref] - } - }; - }); -} -function DP(e) { +function hP(e) { return e.meta.changedRefs; } -function $P(e, t) { +function gP(e, t) { if (Object.is(e, t)) return !0; if (typeof e != "object" || typeof t != "object" || e === null || t === null || Array.isArray(e) !== Array.isArray(t)) return !1; - const n = e, o = t, r = Object.keys(n).filter((i) => n[i] !== void 0), s = Object.keys(o).filter((i) => o[i] !== void 0); - return r.length === s.length && r.every((i) => $P(n[i], o[i])); + const n = e, o = t, r = Object.keys(n).filter((a) => n[a] !== void 0), s = Object.keys(o).filter((a) => o[a] !== void 0); + return r.length === s.length && r.every((a) => gP(n[a], o[a])); } -function ul(e, t) { +function ll(e, t) { const n = {}; if (e === t) return n; - const o = kr(t.subtype)?.owners ?? {}, r = kr(e.subtype)?.owners ?? {}, s = e.subtype !== t.subtype; + const o = Ar(t.subtype)?.owners ?? {}, r = Ar(e.subtype)?.owners ?? {}, s = e.subtype !== t.subtype; s && (n.subtype = t.subtype); - const i = e, a = t; + const a = e, i = t; for (const [c, l] of Object.entries(o)) { - const u = s && !(c in r) ? null : i[c]; - l !== "data" || $P(u, a[c]) || (n[c] = a[c] === void 0 ? null : a[c]); + const u = s && !(c in r) ? null : a[c]; + l !== "data" || gP(u, i[c]) || (n[c] = i[c] === void 0 ? null : i[c]); } return n; } -function b4(e, t) { - return q5(e, t); +function AL(e, t) { + return hO(e, t); } -function BP(e) { - return Ys(e.actions) || (e.widgets ?? []).some((t) => Ys(t.actions)); +function mP(e) { + return Xs(e.actions) || (e.widgets ?? []).some((t) => Xs(t.actions)); } -const y4 = /^[\x21-\x7e]{1,255}$/; -function rn(e) { +const SL = /^[\x21-\x7e]{1,255}$/; +function bn(e) { const t = e?.opId; - if (t === void 0) return Ac(); - if (!y4.test(t)) throw new H(q.InvalidArg, "opId must be 1 to 255 visible ASCII characters", { details: { field: "opId" } }); + if (t === void 0) return xc(); + if (!SL.test(t)) throw new H(q.InvalidArg, "opId must be 1 to 255 visible ASCII characters", { details: { field: "opId" } }); return t; } -function w4(e) { +function OL(e) { return e.meta.changedRefs; } -const jr = { +const Dr = { /** Bit 3 — print the document. */ PRINT: 4, /** Bit 4 — modify content streams. */ @@ -5751,7 +6205,7 @@ const jr = { /** Bit 12 — high-quality print (refines bit 3). */ PRINT_HIGH: 2048 }; -function lp(e) { +function pp(e) { return e === null ? { print: !1, modifyContents: !1, @@ -5762,25 +6216,25 @@ function lp(e) { assemble: !1, printHighQuality: !1 } : { - print: (e & jr.PRINT) !== 0, - modifyContents: (e & jr.MODIFY) !== 0, - copy: (e & jr.COPY) !== 0, - modifyAnnotations: (e & jr.ANNOTATE_FILL) !== 0, - fillForms: (e & jr.FILL_FORMS) !== 0, - copyForAccessibility: (e & jr.ACCESSIBILITY) !== 0, - assemble: (e & jr.ASSEMBLE) !== 0, - printHighQuality: (e & jr.PRINT_HIGH) !== 0 + print: (e & Dr.PRINT) !== 0, + modifyContents: (e & Dr.MODIFY) !== 0, + copy: (e & Dr.COPY) !== 0, + modifyAnnotations: (e & Dr.ANNOTATE_FILL) !== 0, + fillForms: (e & Dr.FILL_FORMS) !== 0, + copyForAccessibility: (e & Dr.ACCESSIBILITY) !== 0, + assemble: (e & Dr.ASSEMBLE) !== 0, + printHighQuality: (e & Dr.PRINT_HIGH) !== 0 }; } -function v4(e, t, n) { +function PL(e, t, n) { const { grants: o, protection: r } = e; - return r && jo(r).has(zP(n)) ? !1 : !o || l4(n, t, o.scope, o.permissionFlags, r); + return r && Lo(r).has(bP(n)) ? !1 : !o || gL(n, t, o.scope, o.permissionFlags, r); } -function k4(e, t) { +function ML(e, t) { const { grants: n, protection: o } = e; - return o && jo(o).has(zP(t)) ? !1 : !n || d4(t, n.scope, n.permissionFlags, o); + return o && Lo(o).has(bP(t)) ? !1 : !n || bL(t, n.scope, n.permissionFlags, o); } -function zP(e) { +function bP(e) { return e === "fill" ? "doc.forms.fill" : "doc.sign"; } Array.from({ length: 128 }, (e, t) => ({ @@ -5793,31 +6247,31 @@ Array.from({ length: 128 }, (e, t) => ({ assemble: (t & 32) !== 0, printHighQuality: (t & 64) !== 0 })); -const x4 = { +const EL = { UNKNOWN: 0 -}, up = Symbol.for("@embedpdf/engine/local"); -function WP(e) { - return typeof e == "object" && e !== null && e[up] === !0; +}, hp = Symbol.for("@embedpdf/engine/local"); +function yP(e) { + return typeof e == "object" && e !== null && e[hp] === !0; } -function qh(e) { - return WP(e); +function Qh(e) { + return yP(e); } -const sf = { +const af = { own: 0, builtIn: 1 -}, UP = (e) => e === "truetype" || e === "opentype", vy = (e) => e === "installable" || e === "editable"; -function KP(e) { - return e.embedded === "whole" && UP(e.format) && e.mapsUnicode && vy(e.permission); +}, wP = (e) => e === "truetype" || e === "opentype", Ty = (e) => e === "installable" || e === "editable"; +function vP(e) { + return e.embedded === "whole" && wP(e.format) && e.mapsUnicode && Ty(e.permission); } -function ky(e) { - return e.displaySha256 !== null && (e.permission === null || vy(e.permission)); +function Ry(e) { + return e.displaySha256 !== null && (e.permission === null || Ty(e.permission)); } -function A4(e) { +function CL(e) { const t = []; - return e.embedded === "none" ? (t.push(e.format === "type3" ? "unsupported-format" : "not-embedded"), t) : (e.embedded === "subset" && t.push("subset"), UP(e.format) ? e.mapsUnicode || t.push("no-unicode-map") : t.push("unsupported-format"), e.permission !== null && !vy(e.permission) && t.push("preview-and-print"), t); + return e.embedded === "none" ? (t.push(e.format === "type3" ? "unsupported-format" : "not-embedded"), t) : (e.embedded === "subset" && t.push("subset"), wP(e.format) ? e.mapsUnicode || t.push("no-unicode-map") : t.push("unsupported-format"), e.permission !== null && !Ty(e.permission) && t.push("preview-and-print"), t); } -function S4(e) { - const t = ky(e); +function IL(e) { + const t = Ry(e); return { displaySha256: t ? e.displaySha256 : null, sourceSha256: e.embedded === "none" ? null : e.sha256, @@ -5827,7 +6281,7 @@ function S4(e) { canDownload: t }; } -const w1 = (e) => KP(e) ? 0 : ky(e) ? 1 : e.embedded !== "none" ? 2 : 3, P4 = { +const L1 = (e) => vP(e) ? 0 : Ry(e) ? 1 : e.embedded !== "none" ? 2 : 3, _L = { 100: "Thin", 200: "ExtraLight", 300: "Light", @@ -5838,39 +6292,39 @@ const w1 = (e) => KP(e) ? 0 : ky(e) ? 1 : e.embedded !== "none" ? 2 : 3, P4 = { 800: "ExtraBold", 900: "Black" }; -function qP(e, t) { +function kP(e, t) { if (t) return t; - const n = `${P4[e.weight] ?? String(e.weight)}${e.italic ? "Italic" : ""}`; + const n = `${_L[e.weight] ?? String(e.weight)}${e.italic ? "Italic" : ""}`; return n ? `${e.familyName},${n}` : e.familyName; } -function O4(e) { +function NL(e) { const t = /* @__PURE__ */ new Map(); for (const n of e) for (const o of n.programs) { if (!o.postScriptName && n.familyName === "") continue; - const r = qP(n, o.postScriptName), s = t.get(r) ?? []; - s.some(({ program: i }) => o.objectNumber > 0 ? i.objectNumber === o.objectNumber && i.displaySha256 === o.displaySha256 : i.objectNumber === 0 && i.embedded === o.embedded && i.format === o.format && i.sha256 === o.sha256) || s.push({ + const r = kP(n, o.postScriptName), s = t.get(r) ?? []; + s.some(({ program: a }) => o.objectNumber > 0 ? a.objectNumber === o.objectNumber && a.displaySha256 === o.displaySha256 : a.objectNumber === 0 && a.embedded === o.embedded && a.format === o.format && a.sha256 === o.sha256) || s.push({ face: n, program: o }), t.set(r, s); } return [...t].map(([n, o]) => { - const r = [...o].sort((c, l) => w1(c.program) - w1(l.program)), { familyName: s, weight: i, italic: a } = r[0].face; + const r = [...o].sort((c, l) => L1(c.program) - L1(l.program)), { familyName: s, weight: a, italic: i } = r[0].face; return { name: n, face: { familyName: s, - weight: i, - italic: a + weight: a, + italic: i }, programs: r.map(({ program: c }) => c) }; }); } -function M4(e) { - const t = Vb(E4(e)); - return ja.includes(t) ? t : void 0; +function TL(e) { + const t = oy(RL(e)); + return Li.includes(t) ? t : void 0; } -function E4(e) { +function RL(e) { const [t = "", n = ""] = e.split(/[-,]/, 2); return { family: t, @@ -5878,10 +6332,10 @@ function E4(e) { italic: /Italic|Oblique/.test(n) }; } -function C4(e) { - return Hb(e.face.familyName) !== void 0 && e.programs.every((t) => t.embedded === "none"); +function LL(e) { + return ny(e.face.familyName) !== void 0 && e.programs.every((t) => t.embedded === "none"); } -function I4(e) { +function jL(e) { const t = e.programs[0]; return { name: e.name, @@ -5891,12 +6345,12 @@ function I4(e) { weight: e.face.weight, italic: e.face.italic, postScriptName: t?.postScriptName ?? null, - canChoose: t ? KP(t) : !1, - restrictions: t ? A4(t) : ["not-embedded"], - programs: e.programs.map(S4) + canChoose: t ? vP(t) : !1, + restrictions: t ? CL(t) : ["not-embedded"], + programs: e.programs.map(IL) }; } -function _4(e) { +function FL(e) { const { identity: t } = e, n = []; return t.editingAuthorized || n.push("preview-and-print"), e.served || n.push("not-served"), { name: e.key, @@ -5918,8 +6372,8 @@ function _4(e) { }] }; } -function N4(e, t) { - const n = Lo[e]; +function DL(e, t) { + const n = Ro[e]; return { name: e, source: "standard", @@ -5940,12 +6394,12 @@ function N4(e, t) { }] }; } -function v1(e, t) { - const n = (r) => r.programs.some((s) => s.sha256 === t.lastResortDisplayHash), o = O4(e.faces).filter((r) => !C4(r) && !n(r)).map(I4); +function j1(e, t) { + const n = (r) => r.programs.some((s) => s.sha256 === t.lastResortDisplayHash), o = NL(e.faces).filter((r) => !LL(r) && !n(r)).map(jL); return { fonts: [ - ...ja.map((r) => N4(r, t)), - ...e.engineFonts.map(_4), + ...Li.map((r) => DL(r, t)), + ...e.engineFonts.map(FL), ...o ], fallbacks: [...e.fallbacks], @@ -5959,44 +6413,44 @@ function v1(e, t) { } }; } -const T4 = [ +const $L = [ "doc.annotate.modify", "doc.forms.fill", "doc.forms.modify", "doc.redact" ]; -function HP(e, t) { +function xP(e, t) { const n = [...e.fonts.flatMap((o) => o.programs), e.lastResort].find((o) => o.displaySha256 === t); if (!n) throw new H(q.NotFound, `no font in this document has the program ${t}`); return n; } -function R4(e, t) { - const n = HP(e, t); +function BL(e, t) { + const n = xP(e, t); if (!n.canDownload) throw new H(q.InvalidArg, `the program ${t} can't be downloaded`, { details: { field: "displaySha256" } }); return n; } -function L4(e, t, n, o) { - const r = new Map(n.engineFonts.map((l) => [l.key, l.sha256])), s = (l, u) => `${l}:${u ?? ""}`, i = /* @__PURE__ */ new Map(); - for (const l of n.faces) for (const u of l.programs) u.objectNumber > 0 && i.set(s(u.objectNumber, u.displaySha256), { +function zL(e, t, n, o) { + const r = new Map(n.engineFonts.map((l) => [l.key, l.sha256])), s = (l, u) => `${l}:${u ?? ""}`, a = /* @__PURE__ */ new Map(); + for (const l of n.faces) for (const u of l.programs) u.objectNumber > 0 && a.set(s(u.objectNumber, u.displaySha256), { face: l, program: u }); - const a = (l) => { - const u = l.fallbacks.flatMap((h) => { - const g = r.get(h); - return g ? [g] : []; + const i = (l) => { + const u = l.fallbacks.flatMap((g) => { + const h = r.get(g); + return h ? [h] : []; }), f = { weight: l.weight, italic: l.italic, substituted: l.degraded, fallbacks: u - }, d = l.baseFontName ? M4(l.baseFontName) : void 0; + }, d = l.baseFontName ? TL(l.baseFontName) : void 0; if (l.source === "standard" || l.source === "document-font" && d && !l.objectNumber) { - const h = d ?? "helvetica"; + const g = d ?? "helvetica"; return { ...f, - font: h, - program: o.standardDisplayHash(h) + font: g, + program: o.standardDisplayHash(g) }; } if (l.source === "engine" && l.engineFont) return { @@ -6004,18 +6458,18 @@ function L4(e, t, n, o) { font: l.engineFont, program: r.get(l.engineFont) ?? null }; - const p = i.get(s(l.objectNumber, l.displaySha256)); + const p = a.get(s(l.objectNumber, l.displaySha256)); return p ? { ...f, - font: qP(p.face, p.program.postScriptName), - program: ky(p.program) ? p.program.displaySha256 : null + font: kP(p.face, p.program.postScriptName), + program: Ry(p.program) ? p.program.displaySha256 : null } : { ...f, font: l.baseFontName ?? l.familyName, program: null }; }, c = (l) => { - const u = a(l), f = o.standardDisplayHash(Kr({ + const u = i(l), f = o.standardDisplayHash(qr({ family: l.familyName, weight: l.weight, italic: l.italic @@ -6030,31 +6484,31 @@ function L4(e, t, n, o) { missingCharacters: [...t] }; } -function dl(e) { - return WP(e); +function ul(e) { + return yP(e); } -const xr = { kind: "continuous" }; -function j4(e, t) { +const Sr = { kind: "continuous" }; +function WL(e, t) { if (e.kind === "continuous" || e.appearances === void 0) return t; if (e.appearances.scales.length === 0) throw new H(q.InvalidArg, "render policy has an empty appearance-scale lattice"); const n = [...e.appearances.scales].sort((o, r) => o - r); return n.find((o) => o >= t) ?? n[n.length - 1]; } -function F4(e) { +function UL(e) { return e === void 0 ? 1 : e.kind === "scale" ? e.scale ?? 1 : void 0; } -function D4(e, t, n) { +function KL(e, t, n) { return e((o) => { o.type === t && n(o); }); } -var $4 = class { +var qL = class { constructor(e = (t) => { queueMicrotask(() => { throw t; }); }) { - this.onListenerError = e, on(this, "listeners", /* @__PURE__ */ new Set()), on(this, "latestSequence", null); + this.onListenerError = e, ln(this, "listeners", /* @__PURE__ */ new Set()), ln(this, "latestSequence", null); } subscribe(e) { return this.listeners.add(e), () => { @@ -6062,7 +6516,7 @@ var $4 = class { }; } on(e, t) { - return D4((n) => this.subscribe(n), e, t); + return KL((n) => this.subscribe(n), e, t); } publish(e) { if ("origin" in e) { @@ -6082,9 +6536,9 @@ var $4 = class { clear() { this.listeners.clear(); } -}, B4 = class { +}, HL = class { constructor(e, t, n = null) { - this.hub = e, this.sessionId = t, this.sub = n, on(this, "fontsChangedBy", /* @__PURE__ */ new Set()); + this.hub = e, this.sessionId = t, this.sub = n, ln(this, "fontsChangedBy", /* @__PURE__ */ new Set()); } /** * The write `opId` changed the fonts that can be named in the document (the @@ -6124,7 +6578,7 @@ var $4 = class { */ publishChange(e, t, n) { const o = (/* @__PURE__ */ new Date()).toISOString(), r = this.fontsChangedBy.delete(e) ? [...t, { type: "fonts.changed" }] : t; - r.forEach((s, i) => { + r.forEach((s, a) => { this.hub.publish({ ...s, origin: { @@ -6135,7 +6589,7 @@ var $4 = class { serverSequence: null, transaction: { id: e, - index: i, + index: a, count: r.length }, ...n !== void 0 ? { undoOf: n } : {} @@ -6144,11 +6598,11 @@ var $4 = class { }); } }; -function z4(e) { - return e.items.flatMap(W4); +function VL(e) { + return e.items.flatMap(GL); } -function W4(e) { - if (z8(e)) return []; +function GL(e) { + if (T4(e)) return []; switch (e.type) { case "annotations.create": { const { type: t, ...n } = e; @@ -6168,7 +6622,7 @@ function W4(e) { const { type: t, ...n } = e; return [{ type: "annotations.deleted", - deleted: DP(n), + deleted: hP(n), ...n }]; } @@ -6186,23 +6640,25 @@ function W4(e) { ...n }]; } - case "annotations.import": { + case "annotations.import": + case "annotations.copy": { const { type: t, ...n } = e; - return FP(n).map((o) => ({ + return JO(n).map((o) => ({ type: "annotations.created", ...o })); } - case "forms.import": { + case "forms.import": + case "forms.copy": { const { type: t, ...n } = e; - return _P(n).map((o) => ({ + return sP(n).map((o) => ({ type: "forms.created", ...o })); } case "forms.importValues": { const { type: t, ...n } = e; - return NP(n).map((o) => ({ + return aP(n).map((o) => ({ type: "forms.valueSet", ...o })); @@ -6216,7 +6672,7 @@ function W4(e) { } case "forms.reset": { const { type: t, skipped: n, ...o } = e; - return yy(o).map((r) => ({ + return Iy(o).map((r) => ({ type: "forms.valueSet", ...r })); @@ -6248,7 +6704,7 @@ function W4(e) { const { type: t, ...n } = e; return [{ type: "forms.deleted", - deleted: IP(n), + deleted: rP(n), ...n }]; } @@ -6347,7 +6803,7 @@ function W4(e) { const { type: t, ...n } = e; return [{ type: "outline.deleted", - deleted: w4(n), + deleted: OL(n), ...n }]; } @@ -6365,6 +6821,13 @@ function W4(e) { ...n }]; } + case "pages.setScale": { + const { type: t, ...n } = e; + return [{ + type: "pages.scaleSet", + ...n + }]; + } case "pages.reorder": { const { type: t, ...n } = e; return [{ @@ -6406,7 +6869,7 @@ function W4(e) { const { type: t, ...n } = e; return [{ type: "attachments.deleted", - deleted: x8(n), + deleted: b4(n), ...n }]; } @@ -6419,17 +6882,17 @@ function W4(e) { } } } -function U4(e) { +function YL(e) { return e.pdfPermissionsBits === null ? null : { known: !0, - flags: lp(e.pdfPermissionsBits), + flags: pp(e.pdfPermissionsBits), allAllowed: e.pdfPermissionsAllAllowed, openedAs: e.pdfOpenedAs, securityHandlerRevision: e.securityHandlerRevision }; } -function k1(e, t = {}) { - const n = U4(e), o = []; +function F1(e, t = {}) { + const n = YL(e), o = []; return e.encryptionRequiresPassword === !0 && !n && o.push("password"), t.cdnRequired && o.push("cdn"), e.encryptionState === "unknown" && o.push("permissions-unknown"), { encryption: { state: e.encryptionState, @@ -6450,55 +6913,55 @@ function k1(e, t = {}) { } }; } -const hm = { +const xm = { elsewhere: 0, near: 1, visible: 2 -}, af = 2 ** 40, VP = { +}, cf = 2 ** 40, AP = { place: "elsewhere", pixels: 0 -}, K4 = { +}, QL = { place: "visible", pixels: 0 }; -function q4(e, t) { - const n = hm[e.place] - hm[t.place]; +function XL(e, t) { + const n = xm[e.place] - xm[t.place]; return n !== 0 ? n > 0 : e.pixels > t.pixels; } -function x1(e, t) { +function D1(e, t) { return e ? e.role === "near" ? { place: "near", pixels: 0 - } : t.region && e.visible && !Y4(t.region, e.visible) ? { + } : t.region && e.visible && !tj(t.region, e.visible) ? { place: "near", pixels: 0 } : { place: "visible", pixels: e.pixels - } : VP; + } : AP; } -function H4(e, t) { - if (t.size === 0 || !e.page) return K4; +function ZL(e, t) { + if (t.size === 0 || !e.page) return QL; const n = e.page.objectNumber, o = e.view === void 0 ? void 0 : t.get(e.view); - if (o) return x1(o.get(n), e); - let r = VP; + if (o) return D1(o.get(n), e); + let r = AP; for (const s of t.values()) { - const i = x1(s.get(n), e); - q4(i, r) && (r = i); + const a = D1(s.get(n), e); + XL(a, r) && (r = a); } return r; } -function V4(e, t) { +function JL(e, t) { let n = e.priority === "low" ? 0 : 1; - return n = n * 3 + hm[t.place], n = n * 2 + (e.priority === "high" ? 1 : 0), n = n * 2 + (e.region ? 0 : 1), n * af + Math.min(af - 1, Math.round(t.pixels)); + return n = n * 3 + xm[t.place], n = n * 2 + (e.priority === "high" ? 1 : 0), n = n * 2 + (e.region ? 0 : 1), n * cf + Math.min(cf - 1, Math.round(t.pixels)); } -function G4(e, t) { - return Math.floor(e / af) > Math.floor(t / af); +function ej(e, t) { + return Math.floor(e / cf) > Math.floor(t / cf); } -function Y4(e, t) { +function tj(e, t) { return e.x < t.x + t.width && t.x < e.x + e.width && e.y < t.y + t.height && t.y < e.y + e.height; } -function Q4(e, t = !1) { +function nj(e, t = !1) { return e.encryption.state === "none" ? { state: "none" } : e.permissions.known ? e.encryption.requiresPassword && e.permissions.openedAs === "none" ? { state: "required", hint: "user", @@ -6512,21 +6975,21 @@ function Q4(e, t = !1) { incorrect: t }; } -function X4(e, t) { - const n = (o, r, s, i) => Y.run(async (a) => { - const c = (await t({ ops: [await o()] }, s?.opId === void 0 ? {} : { opId: s.opId }).abortWith(a)).items[0]; +function oj(e, t) { + const n = (o, r, s, a) => J.run(async (i) => { + const c = (await t({ ops: [await o()] }, s?.opId === void 0 ? {} : { opId: s.opId }).abortWith(i)).items[0]; if (!c || c.type !== r) throw new H(q.Unknown, `${r} wrote nothing`); - return i(c); + return a(c); }); return { list: () => e.list(), download: (o) => e.download(o), create: (o, r) => n(async () => { - const { wireFile: s, resource: i } = await m4(o, "file"), { resources: a, ...c } = s; + const { wireFile: s, resource: a } = await xL(o, "file"), { resources: i, ...c } = s; return { type: "attachments.create", file: c, - resources: { file: new Uint8Array(i.bytes) } + resources: { file: new Uint8Array(a.bytes) } }; }, "attachments.create", r, (s) => ({ attachment: s.attachment, @@ -6538,10 +7001,10 @@ function X4(e, t) { }), "attachments.delete", r, (s) => ({ meta: s.meta })) }; } -function Z4(e, t) { - const n = (o, r) => Y.run(async (s) => { - const i = await t({ ops: [o] }, r?.opId === void 0 ? {} : { opId: r.opId }).abortWith(s), a = o.type, c = i.items[0]; - if (!c || c.type !== a) throw new H(q.Unknown, `${a} wrote nothing`); +function rj(e, t) { + const n = (o, r) => J.run(async (s) => { + const a = await t({ ops: [o] }, r?.opId === void 0 ? {} : { opId: r.opId }).abortWith(s), i = o.type, c = a.items[0]; + if (!c || c.type !== i) throw new H(q.Unknown, `${i} wrote nothing`); const { type: l, skipped: u, ...f } = c; return f; }); @@ -6559,21 +7022,21 @@ function Z4(e, t) { ref: o, patch: r }, s), - move: (o, r, s, i) => n({ + move: (o, r, s, a) => n({ type: "outline.move", refs: o, parent: r, position: s - }, i), + }, a), delete: (o, r) => n({ type: "outline.delete", ref: o }, r) }; } -function J4(e, t) { - const n = (o, r, s) => Y.run(async (i) => { - const a = await t({ ops: [o] }, r?.opId === void 0 ? {} : { opId: r.opId }).abortWith(i), c = o.type, l = a.items[0]; +function sj(e, t) { + const n = (o, r, s) => J.run(async (a) => { + const i = await t({ ops: [o] }, r?.opId === void 0 ? {} : { opId: r.opId }).abortWith(a), c = o.type, l = i.items[0]; if (!l || l.type !== c) throw new H(q.Unknown, `${c} wrote nothing`); return s(l); }); @@ -6587,18 +7050,27 @@ function J4(e, t) { type: "pages.reorder", pages: o, position: r - }, s, (i) => ({ - pages: i.pages, - layout: i.layout, - meta: i.meta + }, s, (a) => ({ + pages: a.pages, + layout: a.layout, + meta: a.meta })), rotate: (o, r, s) => n({ type: "pages.rotate", pages: o, rotation: r - }, s, (i) => ({ - layout: i.layout, - meta: i.meta + }, s, (a) => ({ + layout: a.layout, + meta: a.meta + })), + setScale: (o, r, s) => n({ + type: "pages.setScale", + pages: o, + measure: r + }, s, (a) => ({ + page: a.page, + layout: a.layout, + meta: a.meta })), delete: (o, r) => n({ type: "pages.delete", @@ -6612,59 +7084,114 @@ function J4(e, t) { source: o instanceof Uint8Array ? o : new Uint8Array(o), ...r === void 0 ? {} : { position: r }, ...s?.objectNumbers === void 0 ? {} : { objectNumbers: s.objectNumbers } - }, s, (i) => ({ - insertedPages: i.insertedPages, - layout: i.layout, - meta: i.meta + }, s, (a) => ({ + insertedPages: a.insertedPages, + layout: a.layout, + meta: a.meta })), insertBlank: (o, r, s) => n({ type: "pages.insertBlank", spec: o, ...r === void 0 ? {} : { position: r }, ...s?.objectNumbers === void 0 ? {} : { objectNumbers: s.objectNumbers } - }, s, (i) => ({ - insertedPages: i.insertedPages, - layout: i.layout, - meta: i.meta + }, s, (a) => ({ + insertedPages: a.insertedPages, + layout: a.layout, + meta: a.meta })), copy: (o, r, s) => n({ type: "pages.copy", pages: o, ...r === void 0 ? {} : { position: r }, ...s?.objectNumbers === void 0 ? {} : { objectNumbers: s.objectNumbers } - }, s, (i) => ({ - insertedPages: i.insertedPages, - layout: i.layout, - meta: i.meta + }, s, (a) => ({ + insertedPages: a.insertedPages, + layout: a.layout, + meta: a.meta })) }; } -const eL = Object.freeze([]); -function ge(e, t = eL) { +function aj(e, t) { + return { + list: (n) => e.list(n), + export: (n) => e.export(n), + import: (n, o) => e.import(n, o), + copy: (n, o = {}) => J.run(async (r) => { + const { opId: s, page: a, offset: i, objectNumbers: c } = o, l = (await t({ ops: [{ + type: "annotations.copy", + refs: n, + ...a === void 0 ? {} : { page: a }, + ...i === void 0 ? {} : { offset: i }, + ...c === void 0 ? {} : { objectNumbers: c } + }] }, s === void 0 ? {} : { opId: s }).abortWith(r)).items[0]; + if (!l || l.type !== "annotations.copy") throw new H(q.Unknown, "annotations.copy wrote nothing"); + const { type: u, ...f } = l; + return f; + }) + }; +} +function ij(e, t) { + return { + list: () => e.list(), + get: (n) => e.get(n), + setValue: (n, o, r) => e.setValue(n, o, r), + reset: (n, o) => e.reset(n, o), + export: (n) => e.export(n), + import: (n, o) => e.import(n, o), + importValues: (n, o) => e.importValues(n, o), + create: (n, o) => e.create(n, o), + update: (n, o, r) => e.update(n, o, r), + setSignatureAppearance: (n, o, r) => e.setSignatureAppearance(n, o, r), + delete: (n, o) => e.delete(n, o), + addWidget: (n, o, r) => e.addWidget(n, o, r), + removeWidget: (n, o, r) => e.removeWidget(n, o, r), + deleteWidget: (n, o) => e.deleteWidget(n, o), + updateWidget: (n, o, r) => e.updateWidget(n, o, r), + reorderWidgets: (n, o, r) => e.reorderWidgets(n, o, r), + reorderCalculations: (n, o, r) => e.reorderCalculations(n, o, r), + repair: (n) => e.repair(n), + copy: (n, o = {}) => J.run(async (r) => { + const { opId: s, widgets: a, page: i, offset: c, values: l, objectNumbers: u } = o, f = (await t({ ops: [{ + type: "forms.copy", + fields: n, + ...a === void 0 ? {} : { widgets: a }, + ...i === void 0 ? {} : { page: i }, + ...c === void 0 ? {} : { offset: c }, + ...l === void 0 ? {} : { values: l }, + ...u === void 0 ? {} : { objectNumbers: u } + }] }, s === void 0 ? {} : { opId: s }).abortWith(r)).items[0]; + if (!f || f.type !== "forms.copy") throw new H(q.Unknown, "forms.copy wrote nothing"); + const { type: d, ...p } = f; + return p; + }) + }; +} +const cj = Object.freeze([]); +function be(e, t = cj) { return { payload: e, transfer: t }; } -const tL = "" + new URL("../embedpdf-worker.js", import.meta.url).href, nL = "" + new URL("../encoder-worker.js", import.meta.url).href; -var oL = class { +const lj = "" + new URL("../embedpdf-worker.js", import.meta.url).href, uj = "" + new URL("../encoder-worker.js", import.meta.url).href; +var dj = class { constructor(e, t, n, o) { this.docId = e, this.queue = t, this.view = n, this.guard = o; } get() { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); try { this.guard.assertCapability("doc.open"); } catch (t) { - return Y.rejectReason(t); + return J.rejectReason(t); } - const e = this.queue.enqueue({ buildPack: (t) => ge({ + const e = this.queue.enqueue({ buildPack: (t) => be({ kind: "actions.read", effect: "read", jobId: t, docId: this.docId }) }); - return Y.run(async (t) => { + return J.run(async (t) => { const n = () => e.abort(t.reason); t.aborted ? n() : t.addEventListener("abort", n, { once: !0 }); const o = await e; @@ -6673,54 +7200,54 @@ var oL = class { }); } }; -function GP(e) { +function SP(e) { return Object.fromEntries(Object.entries(e).map(([t, n]) => [t, new Uint8Array(n)])); } -function gm(e) { +function Am(e) { return Object.fromEntries(Object.entries(e).map(([t, n]) => [t, new Uint8Array(n).buffer])); } -var rL = class { +var fj = class { constructor(e, t, n, o, r) { this.docId = e, this.queue = t, this.view = n, this.guard = o, this.publisher = r; } export(e = {}) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); try { this.guard.assertCapability("doc.annotate.read"), this.guard.assertCapability("doc.download"); } catch (o) { - return Y.rejectReason(o); + return J.rejectReason(o); } - const t = this.docId, n = this.queue.enqueue({ buildPack: (o) => ge({ + const t = this.docId, n = this.queue.enqueue({ buildPack: (o) => be({ kind: "annotations.export", effect: "snapshot", jobId: o, docId: t, selection: { ...e } }) }); - return Y.run(async (o) => { + return J.run(async (o) => { const r = () => n.abort(o.reason); o.aborted ? r() : o.addEventListener("abort", r, { once: !0 }); const s = await n; if (s.tag !== "annotations.export") throw new H(q.WireFormat, `unexpected payload tag: ${s.tag}`); - const { bundle: i } = s; + const { bundle: a } = s; return { - ...i, - resources: GP(i.resources) + ...a, + resources: SP(a.resources) }; }); } import(e, t = {}) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); const n = t.attribution ?? "restore"; let o; try { - o = rn(t), n === "restore" ? (this.guard.assertCapability("doc.annotate.modify"), this.guard.assertCapability("doc.annotate.import")) : this.assertMayCreate(e); - } catch (i) { - return Y.rejectReason(i); + o = bn(t), n === "restore" ? (this.guard.assertCapability("doc.annotate.modify"), this.guard.assertCapability("doc.annotate.import")) : this.assertMayCreate(e); + } catch (a) { + return J.rejectReason(a); } const r = this.guard.actorForCreate(), s = this.docId; - return Y.run(async (i) => { - const a = gm(e.resources), c = this.queue.enqueue({ buildPack: (f) => ge({ + return J.run(async (a) => { + const i = Am(e.resources), c = this.queue.enqueue({ buildPack: (f) => be({ kind: "annotations.import", effect: "write", jobId: f, @@ -6728,16 +7255,16 @@ var rL = class { docId: s, bundle: { ...e, - resources: a + resources: i }, ...t.pages !== void 0 ? { pages: t.pages } : {}, attribution: n, ...r ? { actor: r } : {} - }, Object.values(a)) }), l = () => c.abort(i.reason); - i.aborted ? l() : i.addEventListener("abort", l, { once: !0 }); + }, Object.values(i)) }), l = () => c.abort(a.reason); + a.aborted ? l() : a.addEventListener("abort", l, { once: !0 }); const u = await c; if (u.tag !== "annotations.import") throw new H(q.WireFormat, `unexpected payload tag: ${u.tag}`); - return this.publisher.publishWrite(o, ...FP(u.result).map((f) => ({ + return this.publisher.publishWrite(o, ...JO(u.result).map((f) => ({ type: "annotations.created", ...f }))), u.result; @@ -6758,45 +7285,45 @@ var rL = class { o !== void 0 && o !== t && this.guard.assertSetGroup(o), this.guard.assertCollab("create", this.guard.targetForSelfCreate(o)); } list(e = {}) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); try { this.guard.assertCapability("doc.annotate.read"); } catch (r) { - return Y.rejectReason(r); + return J.rejectReason(r); } - const t = this.docId, n = e.pages === void 0 ? void 0 : [...e.pages], o = this.queue.enqueue({ buildPack: (r) => ge({ + const t = this.docId, n = e.pages === void 0 ? void 0 : [...e.pages], o = this.queue.enqueue({ buildPack: (r) => be({ kind: "annotations.list", effect: "read", jobId: r, docId: t, ...n ? { pages: n } : {} }) }); - return Y.run(async (r) => { + return J.run(async (r) => { const s = () => o.abort(r.reason); r.aborted ? s() : r.addEventListener("abort", s, { once: !0 }); - const i = await o; - if (i.tag !== "annotations.list") throw new H(q.WireFormat, `unexpected payload tag: ${i.tag}`); - return i.list; + const a = await o; + if (a.tag !== "annotations.list") throw new H(q.WireFormat, `unexpected payload tag: ${a.tag}`); + return a.list; }); } -}, sL = class { +}, pj = class { constructor(e, t, n, o) { this.docId = e, this.queue = t, this.view = n, this.guard = o; } list() { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); try { this.guard.assertCapability("doc.open"); } catch (n) { - return Y.rejectReason(n); + return J.rejectReason(n); } - const e = this.docId, t = this.queue.enqueue({ buildPack: (n) => ge({ + const e = this.docId, t = this.queue.enqueue({ buildPack: (n) => be({ kind: "attachments.list", effect: "read", jobId: n, docId: e }) }); - return Y.run(async (n) => { + return J.run(async (n) => { const o = () => t.abort(n.reason); n.aborted ? o() : n.addEventListener("abort", o, { once: !0 }); const r = await t; @@ -6805,43 +7332,43 @@ var rL = class { }); } download(e) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); try { this.guard.assertCapability("doc.download"); } catch (o) { - return Y.rejectReason(o); + return J.rejectReason(o); } - const t = this.docId, n = this.queue.enqueue({ buildPack: (o) => ge({ + const t = this.docId, n = this.queue.enqueue({ buildPack: (o) => be({ kind: "attachments.readFile", effect: "read", jobId: o, docId: t, ref: e, - maxDecodedBytes: W5.decodedBytes + maxDecodedBytes: dO.decodedBytes }) }); - return Y.run(async (o) => { + return J.run(async (o) => { const r = () => n.abort(o.reason); o.aborted ? r() : o.addEventListener("abort", r, { once: !0 }); const s = await n; if (s.tag !== "attachments.readFile") throw new H(q.WireFormat, `unexpected payload tag: ${s.tag}`); - const { content: i } = s; - if (i.bytes === void 0) throw new H(q.WireFormat, "attachments.readFile returned no bytes (path mode is server-only)"); - return new Uint8Array(i.bytes); + const { content: a } = s; + if (a.bytes === void 0) throw new H(q.WireFormat, "attachments.readFile returned no bytes (path mode is server-only)"); + return new Uint8Array(a.bytes); }); } -}, iL = class { +}, hj = class { constructor(e, t, n, o, r) { this.docId = e, this.queue = t, this.view = n, this.guard = o, this.publisher = r; } apply(e, t) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); let n; try { - n = rn(t); - } catch (i) { - return Y.rejectReason(i); + n = bn(t); + } catch (a) { + return J.rejectReason(a); } - if (!ll(e) && e.ops.length === 0) return Y.resolveValue({ + if (!cl(e) && e.ops.length === 0) return J.resolveValue({ items: [], meta: { affectedPages: [], @@ -6855,55 +7382,55 @@ var rL = class { effect: "write", docId: r }, - buildPack: async (i) => { - const a = await K8(e); - return ge({ + buildPack: async (a) => { + const i = await j4(e); + return be({ kind: "document.apply", effect: "write", - jobId: i, + jobId: a, opId: n, docId: r, - change: a.change, + change: i.change, authority: o - }, a.buffers); + }, i.buffers); } }); - return Y.run(async (i) => { - const a = () => s.abort(i.reason); - i.aborted ? a() : i.addEventListener("abort", a, { once: !0 }); + return J.run(async (a) => { + const i = () => s.abort(a.reason); + a.aborted ? i() : a.addEventListener("abort", i, { once: !0 }); const c = await s; if (c.tag !== "document.apply") throw new H(q.WireFormat, `unexpected payload tag: ${c.tag}`); if (!c.replayed) { - const l = ll(e) ? e.undoOf : void 0; - this.publisher.publishChange(n, z4(c.result), l); + const l = cl(e) ? e.undoOf : void 0; + this.publisher.publishChange(n, VL(c.result), l); } return c.result; }); } }; -let A1 = null; -const Eu = () => A1 ?? (A1 = Promise.resolve().then(() => oH)); -function aL(e, t) { - return { enqueue: (n) => Y.run(async (o) => { +let $1 = null; +const _u = () => $1 ?? ($1 = Promise.resolve().then(() => yV)); +function gj(e, t) { + return { enqueue: (n) => J.run(async (o) => { const r = e.enqueue(n), s = () => r.abort(o.reason); o.aborted ? s() : o.addEventListener("abort", s, { once: !0 }); - const i = await r, a = cL(i); - return a !== null && t.noteFontsChanged(a), i; + const a = await r, i = mj(a); + return i !== null && t.noteFontsChanged(i), a; }) }; } -function cL(e) { +function mj(e) { if (!("fontsChanged" in e) || !e.fontsChanged || !("result" in e)) return null; const { meta: t } = e.result; return typeof t?.opId == "string" ? t.opId : null; } -var lL = class { +var bj = class { constructor(e, t, n, o, r) { this.docId = e, this.queue = t, this.view = n, this.guard = o, this.layerName = r; } list() { return this.run(async (e) => { - const [t, n] = await Promise.all([this.readFacts(e), Eu()]); - return v1(t, n.BUILT_IN_PROGRAMS); + const [t, n] = await Promise.all([this.readFacts(e), _u()]); + return j1(t, n.BUILT_IN_PROGRAMS); }); } resolve(e) { @@ -6912,15 +7439,15 @@ var lL = class { kind: "document.fonts.resolve", runs: e.runs, ...e.annotation ? { annotation: e.annotation } : {} - }, "document.fonts.resolve", t), o = await Eu(); - return L4(n.runs, n.missingCharacters, n.facts, o.BUILT_IN_PROGRAMS); + }, "document.fonts.resolve", t), o = await _u(); + return zL(n.runs, n.missingCharacters, n.facts, o.BUILT_IN_PROGRAMS); }); } getProgram(e) { return this.run(async (t) => { - const n = await Eu(), o = n.builtInProgramInfo(e); + const n = await _u(), o = n.builtInProgramInfo(e); if (o) return o; - const r = HP(await this.listOf(n, t), e), s = await this.request({ + const r = xP(await this.listOf(n, t), e), s = await this.request({ kind: "document.fonts.program", displaySha256: e, part: "info" @@ -6935,10 +7462,10 @@ var lL = class { } downloadProgram(e) { return this.run(async (t) => { - this.guard.assertAnyCapability(T4); - const n = await Eu(), o = n.loadBuiltInProgram(e); + this.guard.assertAnyCapability($L); + const n = await _u(), o = n.loadBuiltInProgram(e); if (o) return o; - R4(await this.listOf(n, t), e); + BL(await this.listOf(n, t), e); const r = await this.request({ kind: "document.fonts.program", displaySha256: e, @@ -6956,7 +7483,7 @@ var lL = class { } sendSettings(e) { return this.run(async (t) => { - const n = this.queue.enqueue({ buildPack: (s) => ge({ + const n = this.queue.enqueue({ buildPack: (s) => be({ kind: "document.setFontSettings", effect: "session", jobId: s, @@ -6970,14 +7497,14 @@ var lL = class { }); } async listOf(e, t) { - return v1(await this.readFacts(t), e.BUILT_IN_PROGRAMS); + return j1(await this.readFacts(t), e.BUILT_IN_PROGRAMS); } async readFacts(e) { return (await this.request({ kind: "document.fonts.list" }, "document.fonts.list", e)).facts; } /** One read on the worker: its payload, checked to be the one asked for. */ async request(e, t, n) { - const o = this.queue.enqueue({ buildPack: (s) => ge({ + const o = this.queue.enqueue({ buildPack: (s) => be({ ...e, effect: "read", jobId: s, @@ -6993,22 +7520,22 @@ var lL = class { return r; } run(e) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); try { this.guard.assertCapability("doc.open"); } catch (t) { - return Y.rejectReason(t); + return J.rejectReason(t); } - return Y.run(e); + return J.run(e); } -}, uL = class { +}, yj = class { constructor(e, t, n, o, r) { this.docId = e, this.queue = t, this.view = n, this.guard = o, this.publisher = r; } list() { const e = this.gate("doc.forms.read"); if (e) return e; - const t = this.docId, n = this.queue.enqueue({ buildPack: (o) => ge({ + const t = this.docId, n = this.queue.enqueue({ buildPack: (o) => be({ kind: "forms.list", effect: "read", jobId: o, @@ -7017,7 +7544,7 @@ var lL = class { return this.await(n, "forms.list", (o) => o.snapshot); } get(e) { - return Y.run(async (t) => { + return J.run(async (t) => { const n = (await this.forwardAbort(this.list(), t)).fields.find((o) => e.kind === "objectNumber" ? o.ref.kind === "objectNumber" && o.ref.objectNumber === e.objectNumber : o.name === e.name); if (!n) throw new H(q.NotFound, e.kind === "objectNumber" ? `form field not found: object ${e.objectNumber}` : `form field not found: "${e.name}"`); return n; @@ -7026,42 +7553,42 @@ var lL = class { setValue(e, t, n) { const o = this.beginFieldWrite("fill", n); if (o.rejected) return o.rejected; - const r = this.docId, s = this.queue.enqueue({ buildPack: (i) => ge({ + const r = this.docId, s = this.queue.enqueue({ buildPack: (a) => be({ kind: "forms.setValue", effect: "write", - jobId: i, + jobId: a, opId: o.opId, docId: r, ref: e, value: t, authority: this.guard.changeAuthority() }) }); - return this.await(s, "forms.setValue", (i) => (this.publisher.publishWrite(o.opId, { + return this.await(s, "forms.setValue", (a) => (this.publisher.publishWrite(o.opId, { type: "forms.valueSet", - ...i.result - }), i.result)); + ...a.result + }), a.result)); } reset(e, t) { const n = this.beginFieldWrite("fill", t); if (n.rejected) return n.rejected; - const o = this.docId, r = e === void 0 ? void 0 : Array.isArray(e) ? e : [e], s = this.queue.enqueue({ buildPack: (i) => ge({ + const o = this.docId, r = e === void 0 ? void 0 : Array.isArray(e) ? e : [e], s = this.queue.enqueue({ buildPack: (a) => be({ kind: "forms.reset", effect: "write", - jobId: i, + jobId: a, opId: n.opId, docId: o, ...r ? { refs: r } : {}, authority: this.guard.changeAuthority() }) }); - return this.await(s, "forms.reset", (i) => (this.publisher.publishWrite(n.opId, ...yy(i.result).map((a) => ({ + return this.await(s, "forms.reset", (a) => (this.publisher.publishWrite(n.opId, ...Iy(a.result).map((i) => ({ type: "forms.valueSet", - ...a - }))), i.result)); + ...i + }))), a.result)); } export(e = {}) { const t = this.gate("doc.forms.read") ?? this.gate("doc.download"); if (t) return t; - const n = this.docId, o = this.queue.enqueue({ buildPack: (r) => ge({ + const n = this.docId, o = this.queue.enqueue({ buildPack: (r) => be({ kind: "forms.export", effect: "snapshot", jobId: r, @@ -7070,13 +7597,13 @@ var lL = class { }) }); return this.await(o, "forms.export", ({ bundle: r }) => ({ ...r, - resources: GP(r.resources) + resources: SP(r.resources) })); } import(e, t = {}) { const n = t.attribution ?? "restore", o = this.beginImport(this.beginWrite("doc.forms.modify", t), n); if (o.rejected) return o.rejected; - const r = this.guard.can("doc.forms.script"), s = this.docId, i = gm(e.resources), a = this.queue.enqueue({ buildPack: (c) => ge({ + const r = this.guard.can("doc.forms.script"), s = this.docId, a = Am(e.resources), i = this.queue.enqueue({ buildPack: (c) => be({ kind: "forms.import", effect: "write", jobId: c, @@ -7084,15 +7611,15 @@ var lL = class { docId: s, bundle: { ...e, - resources: i + resources: a }, ...t.pages !== void 0 ? { pages: t.pages } : {}, attribution: n, values: t.values ?? !0, authority: this.guard.changeAuthority(), mayScript: r - }, Object.values(i)) }); - return this.await(a, "forms.import", (c) => (this.publisher.publishWrite(o.opId, ..._P(c.result).map((l) => ({ + }, Object.values(a)) }); + return this.await(i, "forms.import", (c) => (this.publisher.publishWrite(o.opId, ...sP(c.result).map((l) => ({ type: "forms.created", ...l }))), c.result)); @@ -7100,10 +7627,10 @@ var lL = class { importValues(e, t = {}) { const n = t.attribution ?? "restore", o = this.beginImport(this.beginFieldWrite("fill", t), n); if (o.rejected) return o.rejected; - const r = this.docId, s = gm(e.resources), i = this.queue.enqueue({ buildPack: (a) => ge({ + const r = this.docId, s = Am(e.resources), a = this.queue.enqueue({ buildPack: (i) => be({ kind: "forms.importValues", effect: "write", - jobId: a, + jobId: i, opId: o.opId, docId: r, bundle: { @@ -7113,15 +7640,15 @@ var lL = class { attribution: n, authority: this.guard.changeAuthority() }, Object.values(s)) }); - return this.await(i, "forms.importValues", (a) => (this.publisher.publishWrite(o.opId, ...NP(a.result).map((c) => ({ + return this.await(a, "forms.importValues", (i) => (this.publisher.publishWrite(o.opId, ...aP(i.result).map((c) => ({ type: "forms.valueSet", ...c - }))), a.result)); + }))), i.result)); } create(e, t = {}) { - const n = this.beginDesign(t, BP(e)); + const n = this.beginDesign(t, mP(e)); if (n.rejected) return n.rejected; - const o = this.docId, r = this.queue.enqueue({ buildPack: (s) => ge({ + const o = this.docId, r = this.queue.enqueue({ buildPack: (s) => be({ kind: "forms.createField", effect: "write", jobId: s, @@ -7140,43 +7667,43 @@ var lL = class { setSignatureAppearance(e, t, n) { const o = this.beginFieldWrite("sign", n); if (o.rejected) return o.rejected; - const r = this.docId, s = t.pdf.slice().buffer, i = this.queue.enqueue({ buildPack: (a) => ge({ + const r = this.docId, s = t.pdf.slice().buffer, a = this.queue.enqueue({ buildPack: (i) => be({ kind: "forms.setSignatureAppearance", effect: "write", - jobId: a, + jobId: i, opId: o.opId, docId: r, ref: e, pdf: s, authority: this.guard.changeAuthority() }, [s]) }); - return this.await(i, "forms.setSignatureAppearance", (a) => (this.publisher.publishWrite(o.opId, { + return this.await(a, "forms.setSignatureAppearance", (i) => (this.publisher.publishWrite(o.opId, { type: "forms.updated", - ...a.result - }), a.result)); + ...i.result + }), i.result)); } update(e, t, n) { - const o = this.beginDesign(n, Ys(t.actions)); + const o = this.beginDesign(n, Xs(t.actions)); if (o.rejected) return o.rejected; - const r = this.docId, s = this.queue.enqueue({ buildPack: (i) => ge({ + const r = this.docId, s = this.queue.enqueue({ buildPack: (a) => be({ kind: "forms.updateField", effect: "write", - jobId: i, + jobId: a, opId: o.opId, docId: r, ref: e, patch: t, authority: this.guard.changeAuthority() }) }); - return this.await(s, "forms.updateField", (i) => (this.publisher.publishWrite(o.opId, { + return this.await(s, "forms.updateField", (a) => (this.publisher.publishWrite(o.opId, { type: "forms.updated", - ...i.result - }), i.result)); + ...a.result + }), a.result)); } delete(e, t) { const n = this.beginWrite("doc.forms.modify", t); if (n.rejected) return n.rejected; - const o = this.docId, r = this.queue.enqueue({ buildPack: (s) => ge({ + const o = this.docId, r = this.queue.enqueue({ buildPack: (s) => be({ kind: "forms.deleteField", effect: "write", jobId: s, @@ -7186,17 +7713,17 @@ var lL = class { }) }); return this.await(r, "forms.deleteField", (s) => (this.publisher.publishWrite(n.opId, { type: "forms.deleted", - deleted: IP(s.result), + deleted: rP(s.result), ...s.result }), s.result)); } addWidget(e, t, n = {}) { - const o = this.beginDesign(n, Ys(t.actions)); + const o = this.beginDesign(n, Xs(t.actions)); if (o.rejected) return o.rejected; - const r = this.docId, s = this.queue.enqueue({ buildPack: (i) => ge({ + const r = this.docId, s = this.queue.enqueue({ buildPack: (a) => be({ kind: "forms.addWidget", effect: "write", - jobId: i, + jobId: a, opId: o.opId, docId: r, ref: e, @@ -7204,32 +7731,32 @@ var lL = class { ...n.objectNumber !== void 0 ? { objectNumber: n.objectNumber } : {}, ...n.splitObjectNumber !== void 0 ? { splitObjectNumber: n.splitObjectNumber } : {} }) }); - return this.await(s, "forms.addWidget", (i) => (this.publisher.publishWrite(o.opId, { + return this.await(s, "forms.addWidget", (a) => (this.publisher.publishWrite(o.opId, { type: "forms.widgetAdded", - ...i.result - }), i.result)); + ...a.result + }), a.result)); } removeWidget(e, t, n) { const o = this.beginWrite("doc.forms.modify", n); if (o.rejected) return o.rejected; - const r = this.docId, s = this.queue.enqueue({ buildPack: (i) => ge({ + const r = this.docId, s = this.queue.enqueue({ buildPack: (a) => be({ kind: "forms.detachWidget", effect: "write", - jobId: i, + jobId: a, opId: o.opId, docId: r, ref: e, widget: t }) }); - return this.await(s, "forms.detachWidget", (i) => (this.publisher.publishWrite(o.opId, { + return this.await(s, "forms.detachWidget", (a) => (this.publisher.publishWrite(o.opId, { type: "forms.widgetRemoved", - ...i.result - }), i.result)); + ...a.result + }), a.result)); } deleteWidget(e, t) { const n = this.beginWrite("doc.forms.modify", t); if (n.rejected) return n.rejected; - const o = this.docId, r = this.queue.enqueue({ buildPack: (s) => ge({ + const o = this.docId, r = this.queue.enqueue({ buildPack: (s) => be({ kind: "forms.deleteWidget", effect: "write", jobId: s, @@ -7243,63 +7770,63 @@ var lL = class { }), s.result)); } updateWidget(e, t, n) { - const o = this.beginDesign(n, Ys(t.actions)); + const o = this.beginDesign(n, Xs(t.actions)); if (o.rejected) return o.rejected; - const r = this.docId, s = this.queue.enqueue({ buildPack: (i) => ge({ + const r = this.docId, s = this.queue.enqueue({ buildPack: (a) => be({ kind: "forms.updateWidget", effect: "write", - jobId: i, + jobId: a, opId: o.opId, docId: r, widget: e, patch: t }) }); - return this.await(s, "forms.updateWidget", (i) => (this.publisher.publishWrite(o.opId, { + return this.await(s, "forms.updateWidget", (a) => (this.publisher.publishWrite(o.opId, { type: "forms.widgetUpdated", - ...i.result - }), i.result)); + ...a.result + }), a.result)); } reorderWidgets(e, t, n) { const o = this.beginWrite("doc.forms.modify", n); if (o.rejected) return o.rejected; const r = e[0]?.page; - if (!r) return Y.rejectReason(new H(q.InvalidArg, "a reorder names at least one widget", { details: { field: "widgets" } })); - const s = this.docId, i = this.queue.enqueue({ buildPack: (a) => ge({ + if (!r) return J.rejectReason(new H(q.InvalidArg, "a reorder names at least one widget", { details: { field: "widgets" } })); + const s = this.docId, a = this.queue.enqueue({ buildPack: (i) => be({ kind: "forms.reorderWidgets", effect: "write", - jobId: a, + jobId: i, opId: o.opId, docId: s, page: r, widgets: e, position: t }) }); - return this.await(i, "forms.reorderWidgets", (a) => (this.publisher.publishWrite(o.opId, { + return this.await(a, "forms.reorderWidgets", (i) => (this.publisher.publishWrite(o.opId, { type: "forms.widgetsReordered", - ...a.result - }), a.result)); + ...i.result + }), i.result)); } reorderCalculations(e, t, n) { const o = this.beginWrite("doc.forms.modify", n); if (o.rejected) return o.rejected; - const r = this.docId, s = this.queue.enqueue({ buildPack: (i) => ge({ + const r = this.docId, s = this.queue.enqueue({ buildPack: (a) => be({ kind: "forms.reorderCalculations", effect: "write", - jobId: i, + jobId: a, opId: o.opId, docId: r, fields: e, position: t }) }); - return this.await(s, "forms.reorderCalculations", (i) => (this.publisher.publishWrite(o.opId, { + return this.await(s, "forms.reorderCalculations", (a) => (this.publisher.publishWrite(o.opId, { type: "forms.calculationsReordered", - ...i.result - }), i.result)); + ...a.result + }), a.result)); } repair(e) { const t = this.beginWrite("doc.forms.modify", e); if (t.rejected) return t.rejected; - const n = this.docId, o = e?.bakeAppearances ?? !1, r = this.queue.enqueue({ buildPack: (s) => ge({ + const n = this.docId, o = e?.bakeAppearances ?? !1, r = this.queue.enqueue({ buildPack: (s) => be({ kind: "forms.repair", effect: "write", jobId: s, @@ -7348,33 +7875,33 @@ var lL = class { return this.begin(() => this.guard.assertSomeFieldWrite(e), t); } begin(e, t) { - if (this.view.isClosed()) return { rejected: Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)) }; + if (this.view.isClosed()) return { rejected: J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)) }; try { - return e(), { opId: rn(t) }; + return e(), { opId: bn(t) }; } catch (n) { - return { rejected: Y.rejectReason(n) }; + return { rejected: J.rejectReason(n) }; } } beginWrite(e, t) { const n = this.gate(e); if (n) return { rejected: n }; try { - return { opId: rn(t) }; + return { opId: bn(t) }; } catch (o) { - return { rejected: Y.rejectReason(o) }; + return { rejected: J.rejectReason(o) }; } } gate(e) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); try { this.guard.assertCapability(e); } catch (t) { - return Y.rejectReason(t); + return J.rejectReason(t); } return null; } await(e, t, n) { - return Y.run(async (o) => { + return J.run(async (o) => { const r = await this.forwardAbort(e, o); if (r.tag !== t) throw new H(q.WireFormat, `unexpected payload tag: ${r.tag}`); return n(r); @@ -7385,45 +7912,45 @@ var lL = class { return t.aborted ? n() : t.addEventListener("abort", n, { once: !0 }), e; } }; -function dL(e, t, n, o) { - if (n.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${e}`)); +function wj(e, t, n, o) { + if (n.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${e}`)); try { o.assertCapability("doc.open"); } catch (s) { - return Y.rejectReason(s); + return J.rejectReason(s); } - const r = t.enqueue({ buildPack: (s) => ge({ + const r = t.enqueue({ buildPack: (s) => be({ kind: "outline.read", effect: "read", jobId: s, docId: e }) }); - return Y.run(async (s) => { - const i = () => r.abort(s.reason); - s.aborted ? i() : s.addEventListener("abort", i, { once: !0 }); - const a = await r; - if (a.tag !== "outline.read") throw new H(q.WireFormat, `unexpected payload tag: ${a.tag}`); - return a.outline; + return J.run(async (s) => { + const a = () => r.abort(s.reason); + s.aborted ? a() : s.addEventListener("abort", a, { once: !0 }); + const i = await r; + if (i.tag !== "outline.read") throw new H(q.WireFormat, `unexpected payload tag: ${i.tag}`); + return i.outline; }); } -var fL = class { +var vj = class { constructor(e, t, n, o, r) { this.docId = e, this.queue = t, this.view = n, this.guard = o, this.publisher = r; } list() { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); try { this.guard.assertCapability("doc.open"); } catch (n) { - return Y.rejectReason(n); + return J.rejectReason(n); } - const e = this.docId, t = this.queue.enqueue({ buildPack: (n) => ge({ + const e = this.docId, t = this.queue.enqueue({ buildPack: (n) => be({ kind: "pages.list", effect: "read", jobId: n, docId: e }) }); - return Y.run(async (n) => { + return J.run(async (n) => { const o = () => t.abort(n.reason); n.aborted ? o() : n.addEventListener("abort", o, { once: !0 }); const r = await t; @@ -7452,23 +7979,23 @@ var fL = class { * `pages.named` event carrying the fresh layout. */ runNameJob(e, t, n, o) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); let r; try { - r = rn(o), this.guard.assertCapability("doc.pages.assemble"); - } catch (a) { - return Y.rejectReason(a); + r = bn(o), this.guard.assertCapability("doc.pages.assemble"); + } catch (i) { + return J.rejectReason(i); } - const s = this.docId, i = this.queue.enqueue({ buildPack: (a) => ge({ + const s = this.docId, a = this.queue.enqueue({ buildPack: (i) => be({ ...e, - jobId: a, + jobId: i, opId: r, docId: s }) }); - return Y.run(async (a) => { - const c = () => i.abort(a.reason); - a.aborted ? c() : a.addEventListener("abort", c, { once: !0 }); - const l = await i; + return J.run(async (i) => { + const c = () => a.abort(i.reason); + i.aborted ? c() : i.addEventListener("abort", c, { once: !0 }); + const l = await a; if (l.tag !== t) throw new H(q.WireFormat, `unexpected payload tag: ${l.tag}`); return this.publisher.publishWrite(r, { type: "pages.named", @@ -7480,25 +8007,25 @@ var fL = class { } flatten(e, t) { const n = t?.usage ?? "display"; - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); let o; try { - o = rn(t), this.guard.assertCapability("doc.pages.modify"), this.guard.assertCapability("doc.annotate.modify"); - } catch (i) { - return Y.rejectReason(i); + o = bn(t), this.guard.assertCapability("doc.pages.modify"), this.guard.assertCapability("doc.annotate.modify"); + } catch (a) { + return J.rejectReason(a); } - const r = this.docId, s = this.queue.enqueue({ buildPack: (i) => ge({ + const r = this.docId, s = this.queue.enqueue({ buildPack: (a) => be({ kind: "pages.flatten", effect: "contentWrite", - jobId: i, + jobId: a, opId: o, docId: r, pages: e, usage: n }) }); - return Y.run(async (i) => { - const a = () => s.abort(i.reason); - i.aborted ? a() : i.addEventListener("abort", a, { once: !0 }); + return J.run(async (a) => { + const i = () => s.abort(a.reason); + a.aborted ? i() : a.addEventListener("abort", i, { once: !0 }); const c = await s; if (c.tag !== "pages.flatten") throw new H(q.WireFormat, `unexpected payload tag: ${c.tag}`); return c.wrote && this.publisher.publishWrite(o, { @@ -7508,19 +8035,19 @@ var fL = class { }); } extract(e, t) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); let n; try { - n = h4(t, { + n = vL(t, { download: this.guard.can("doc.download"), downloadFlattened: this.guard.can("doc.download.flattened"), annotations: this.guard.can("doc.annotate.read"), formFields: this.guard.can("doc.forms.read") }); } catch (s) { - return Y.rejectReason(s); + return J.rejectReason(s); } - const o = this.docId, r = this.queue.enqueue({ buildPack: (s) => ge({ + const o = this.docId, r = this.queue.enqueue({ buildPack: (s) => be({ kind: "pages.extract", effect: "snapshot", jobId: s, @@ -7528,27 +8055,27 @@ var fL = class { pages: e, ...n ? { flatten: n } : {} }) }); - return Y.run(async (s) => { - const i = () => r.abort(s.reason); - s.aborted ? i() : s.addEventListener("abort", i, { once: !0 }); - const a = await r; - if (a.tag !== "pages.extract") throw new H(q.WireFormat, `unexpected payload tag: ${a.tag}`); - return new Uint8Array(a.bytes); + return J.run(async (s) => { + const a = () => r.abort(s.reason); + s.aborted ? a() : s.addEventListener("abort", a, { once: !0 }); + const i = await r; + if (i.tag !== "pages.extract") throw new H(q.WireFormat, `unexpected payload tag: ${i.tag}`); + return new Uint8Array(i.bytes); }); } -}, pL = class { +}, kj = class { constructor(e, t, n, o, r) { this.docId = e, this.queue = t, this.view = n, this.guard = o, this.publisher = r; } apply(e, t) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); let n; try { - n = rn(t), this.guard.assertCapability("doc.pages.modify"), this.guard.assertCapability("doc.annotate.modify"), this.guard.assertCapability("doc.redact"); + n = bn(t), this.guard.assertCapability("doc.pages.modify"), this.guard.assertCapability("doc.annotate.modify"), this.guard.assertCapability("doc.redact"); } catch (s) { - return Y.rejectReason(s); + return J.rejectReason(s); } - const o = this.docId, r = this.queue.enqueue({ buildPack: (s) => ge({ + const o = this.docId, r = this.queue.enqueue({ buildPack: (s) => be({ kind: "redaction.apply", effect: "contentWrite", jobId: s, @@ -7556,36 +8083,36 @@ var fL = class { docId: o, scope: e }) }); - return Y.run(async (s) => { - const i = () => r.abort(s.reason); - s.aborted ? i() : s.addEventListener("abort", i, { once: !0 }); - const a = await r; - if (a.tag !== "redaction.apply") throw new H(q.WireFormat, `unexpected payload tag: ${a.tag}`); - return a.wrote && this.publisher.publishWrite(n, { + return J.run(async (s) => { + const a = () => r.abort(s.reason); + s.aborted ? a() : s.addEventListener("abort", a, { once: !0 }); + const i = await r; + if (i.tag !== "redaction.apply") throw new H(q.WireFormat, `unexpected payload tag: ${i.tag}`); + return i.wrote && this.publisher.publishWrite(n, { type: "redaction.applied", - ...a.result - }), a.result; + ...i.result + }), i.result; }); } -}, hL = class { +}, xj = class { constructor(e, t, n, o) { this.docId = e, this.queue = t, this.view = n, this.guard = o; } query(e) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); try { this.guard.assertCapability("doc.text.search"), e.snippets && this.guard.assertCapability("doc.text.copy"); } catch (o) { - return Y.rejectReason(o); + return J.rejectReason(o); } - const t = this.docId, n = this.queue.enqueue({ buildPack: (o) => ge({ + const t = this.docId, n = this.queue.enqueue({ buildPack: (o) => be({ kind: "search.query", effect: "read", jobId: o, docId: t, request: e }) }); - return Y.run(async (o) => { + return J.run(async (o) => { const r = () => n.abort(o.reason); o.aborted ? r() : o.addEventListener("abort", r, { once: !0 }); const s = await n; @@ -7594,37 +8121,37 @@ var fL = class { }); } }; -function fl(e) { +function dl(e) { "@babel/helpers - typeof"; - return fl = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { + return dl = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; - }, fl(e); + }, dl(e); } -function gL(e, t) { - if (fl(e) != "object" || !e) return e; +function Aj(e, t) { + if (dl(e) != "object" || !e) return e; var n = e[Symbol.toPrimitive]; if (n !== void 0) { var o = n.call(e, t); - if (fl(o) != "object") return o; + if (dl(o) != "object") return o; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } -function mL(e) { - var t = gL(e, "string"); - return fl(t) == "symbol" ? t : t + ""; +function Sj(e) { + var t = Aj(e, "string"); + return dl(t) == "symbol" ? t : t + ""; } function xe(e, t, n) { - return (t = mL(t)) in e ? Object.defineProperty(e, t, { + return (t = Sj(t)) in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e; } -const bL = { +const Oj = { fill: { all: !1, groups: [] @@ -7638,10 +8165,10 @@ const bL = { groups: [] } }; -var yL = class { +var Pj = class { constructor(e, t, n, o, r = null, s = () => { }) { - this.docId = t, this.queue = n, this.view = o, this.guard = r, this.onUnlocked = s, xe(this, "securityState", void 0), xe(this, "passwordRejected", !1), this.securityState = k1(e); + this.docId = t, this.queue = n, this.view = o, this.guard = r, this.onUnlocked = s, xe(this, "securityState", void 0), xe(this, "passwordRejected", !1), this.securityState = F1(e); } get state() { return this.securityState; @@ -7665,7 +8192,7 @@ var yL = class { * here knows which plugins are installed, and the plugin checks its own. */ allows(e) { - return this.guard ? TP(e) === null ? this.guard.can(e) : a4(e, this.guard.rawScope(), /* @__PURE__ */ new Set([e])) : !1; + return this.guard ? uP(e) === null ? this.guard.can(e) : pL(e, this.guard.rawScope(), /* @__PURE__ */ new Set([e])) : !1; } allowsAnnotation(e, t) { const n = this.guard; @@ -7677,7 +8204,7 @@ var yL = class { return n.canSetGroup(t.groupId); default: { const o = t ?? {}; - return o.subtype === "widget" ? this.allows("doc.forms.modify") : n.canCollab(e, o4(o)); + return o.subtype === "widget" ? this.allows("doc.forms.modify") : n.canCollab(e, lL(o)); } } } @@ -7687,7 +8214,7 @@ var yL = class { } /** The guard's field rights; none without a scope context. */ fieldRights() { - return this.guard?.fieldRights() ?? bL; + return this.guard?.fieldRights() ?? Oj; } /** Identity claims supplied at `engine.open()`, or null when none. */ get identity() { @@ -7701,15 +8228,15 @@ var yL = class { * SDK calls. Identical contract across engines. */ get passwordPrompt() { - return Q4(this.state, this.passwordRejected); + return nj(this.state, this.passwordRejected); } /** A locked open whose password was given and wrong: the prompt says so. */ markPasswordRejected() { this.passwordRejected = !0; } unlock(e) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); - const t = this.queue.enqueue({ buildPack: (n) => ge({ + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + const t = this.queue.enqueue({ buildPack: (n) => be({ kind: "document.checkPasswordPermissions", effect: "open", jobId: n, @@ -7717,7 +8244,7 @@ var yL = class { password: e.password, mode: e.mode ?? "any" }) }); - return Y.run(async (n) => { + return J.run(async (n) => { const o = () => t.abort(n.reason); n.aborted ? o() : n.addEventListener("abort", o, { once: !0 }); let r; @@ -7727,17 +8254,17 @@ var yL = class { throw H.is(s, q.DocPasswordIncorrect) && (this.passwordRejected = !0), s; } if (this.passwordRejected = !1, r.tag !== "document.checkPasswordPermissions") throw new H(q.WireFormat, `unexpected payload tag: ${r.tag}`); - return this.securityState = k1(r.security), this.guard?.setPdfPermissions(r.security.pdfPermissionsBits), this.guard?.setProtection(r.protection ?? null), this.onUnlocked(), { security: this.state }; + return this.securityState = F1(r.security), this.guard?.setPdfPermissions(r.security.pdfPermissionsBits), this.guard?.setProtection(r.protection ?? null), this.onUnlocked(), { security: this.state }; }); } -}, wL = class { +}, Mj = class { constructor(e, t, n, o, r) { this.docId = e, this.queue = t, this.view = n, this.guard = o, this.publisher = r; } list() { const e = this.gate("doc.forms.read"); if (e) return e; - const t = this.docId, n = this.queue.enqueue({ buildPack: (o) => ge({ + const t = this.docId, n = this.queue.enqueue({ buildPack: (o) => be({ kind: "signatures.list", effect: "read", jobId: o, @@ -7748,7 +8275,7 @@ var yL = class { getContents(e) { const t = this.gate("doc.forms.read"); if (t) return t; - const n = this.docId, o = this.queue.enqueue({ buildPack: (r) => ge({ + const n = this.docId, o = this.queue.enqueue({ buildPack: (r) => be({ kind: "signatures.contents", effect: "read", jobId: r, @@ -7760,7 +8287,7 @@ var yL = class { getDigest(e, t) { const n = this.gate("doc.forms.read"); if (n) return n; - const o = this.docId, r = this.queue.enqueue({ buildPack: (s) => ge({ + const o = this.docId, r = this.queue.enqueue({ buildPack: (s) => be({ kind: "signatures.digest", effect: "read", jobId: s, @@ -7773,8 +8300,8 @@ var yL = class { downloadRevision(e) { const t = this.gate("doc.download"); if (t) return t; - if (!Number.isInteger(e) || e < 0) return Y.rejectReason(new H(q.InvalidArg, "revisionIndex must be a non-negative integer")); - const n = this.docId, o = this.queue.enqueue({ buildPack: (r) => ge({ + if (!Number.isInteger(e) || e < 0) return J.rejectReason(new H(q.InvalidArg, "revisionIndex must be a non-negative integer")); + const n = this.docId, o = this.queue.enqueue({ buildPack: (r) => be({ kind: "signatures.revisionBytes", effect: "read", jobId: r, @@ -7786,7 +8313,7 @@ var yL = class { analyze(e) { const t = this.gate("doc.forms.read"); if (t) return t; - const n = this.docId, o = this.queue.enqueue({ buildPack: (r) => ge({ + const n = this.docId, o = this.queue.enqueue({ buildPack: (r) => be({ kind: "signatures.analyze", effect: "read", jobId: r, @@ -7800,36 +8327,36 @@ var yL = class { if (n) return n; const o = this.opIdFor(t); if (o.rejected) return o.rejected; - const r = this.docId, s = this.guard.changeAuthority(), i = this.queue.enqueue({ buildPack: (a) => ge({ + const r = this.docId, s = this.guard.changeAuthority(), a = this.queue.enqueue({ buildPack: (i) => be({ kind: "signatures.prepare", effect: "snapshot", - jobId: a, + jobId: i, docId: r, input: e, authority: s }) }); - return this.await(i, "signatures.prepare", (a) => (this.publisher.publishWrite(o.opId, { + return this.await(a, "signatures.prepare", (i) => (this.publisher.publishWrite(o.opId, { type: "signatures.prepared", field: e.field, - ...a.result - }), a.result)); + ...i.result + }), i.result)); } complete(e, t) { const n = this.gate("sign-some-field"); if (n) return n; const o = this.opIdFor(t); if (o.rejected) return o.rejected; - const r = this.docId, s = this.guard.changeAuthority(), i = this.queue.enqueue({ buildPack: (a) => ge({ + const r = this.docId, s = this.guard.changeAuthority(), a = this.queue.enqueue({ buildPack: (i) => be({ kind: "signatures.complete", effect: "contentWrite", - jobId: a, + jobId: i, opId: o.opId, docId: r, input: e, authority: s }) }); - return this.await(i, "signatures.complete", (a) => { - const c = a.result; + return this.await(a, "signatures.complete", (i) => { + const c = i.result; return c.status === "completed" && (this.guard.setProtection(c.protection), this.publisher.publishWrite(o.opId, { type: "signatures.completed", signingId: e.signingId, @@ -7845,24 +8372,24 @@ var yL = class { if (n) return n; const o = this.opIdFor(t); if (o.rejected) return o.rejected; - const r = this.docId, s = this.queue.enqueue({ buildPack: (i) => ge({ + const r = this.docId, s = this.queue.enqueue({ buildPack: (a) => be({ kind: "signatures.cancel", effect: "session", - jobId: i, + jobId: a, docId: r, signingId: e }) }); - return this.await(s, "signatures.cancel", (i) => (i.result.status === "cancelled" && this.publisher.publishWrite(o.opId, { + return this.await(s, "signatures.cancel", (a) => (a.result.status === "cancelled" && this.publisher.publishWrite(o.opId, { type: "signatures.cancelled", signingId: e - }), i.result)); + }), a.result)); } /** The write's `opId` (the caller's, else a fresh one), or the refusal of an invalid one. */ opIdFor(e) { try { - return { opId: rn(e) }; + return { opId: bn(e) }; } catch (t) { - return { rejected: Y.rejectReason(t) }; + return { rejected: J.rejectReason(t) }; } } /** @@ -7871,16 +8398,16 @@ var yL = class { * or a `fields:sign` scope); the job checks the field it signs. */ gate(e) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); try { e === "sign-some-field" ? this.guard.assertSomeFieldWrite("sign") : this.guard.assertCapability(e); } catch (t) { - return Y.rejectReason(t); + return J.rejectReason(t); } return null; } await(e, t, n) { - return Y.run(async (o) => { + return J.run(async (o) => { const r = () => e.abort(o.reason); o.aborted ? r() : o.addEventListener("abort", r, { once: !0 }); const s = await e; @@ -7889,32 +8416,32 @@ var yL = class { }); } }; -function cf(e, t, n, o, r) { - if (e.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${e.docId}`)); +function lf(e, t, n, o, r) { + if (e.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${e.docId}`)); let s; try { - s = rn(r), e.guard.assertCapability(t); - } catch (a) { - return Y.rejectReason(a); + s = bn(r), e.guard.assertCapability(t); + } catch (i) { + return J.rejectReason(i); } - const i = e.queue.enqueue({ buildPack: (a) => n.buildPack(a, s) }); - return Y.run(async (a) => { - const c = () => i.abort(a.reason); - a.aborted ? c() : a.addEventListener("abort", c, { once: !0 }); - const l = await i; + const a = e.queue.enqueue({ buildPack: (i) => n.buildPack(i, s) }); + return J.run(async (i) => { + const c = () => a.abort(i.reason); + i.aborted ? c() : i.addEventListener("abort", c, { once: !0 }); + const l = await a; if (l.tag !== n.tag) throw new H(q.WireFormat, `unexpected payload tag: ${l.tag}`); return o(l, s); }); } -var vL = class { +var Ej = class { constructor(e, t) { this.deps = e, this.publisher = t; } get() { const { docId: e } = this.deps; - return cf(this.deps, "doc.open", { + return lf(this.deps, "doc.open", { tag: "metadata.readCustom", - buildPack: (t) => ge({ + buildPack: (t) => be({ kind: "metadata.readCustom", effect: "read", jobId: t, @@ -7924,9 +8451,9 @@ var vL = class { } update(e, t) { const { docId: n } = this.deps; - return cf(this.deps, "doc.metadata.modify", { + return lf(this.deps, "doc.metadata.modify", { tag: "metadata.updateCustom", - buildPack: (o, r) => ge({ + buildPack: (o, r) => be({ kind: "metadata.updateCustom", effect: "write", jobId: o, @@ -7939,20 +8466,20 @@ var vL = class { ...o.result }), o.result), t); } -}, kL = class { +}, Cj = class { constructor(e, t, n, o, r) { this.publisher = r, xe(this, "custom", void 0), xe(this, "deps", void 0), this.deps = { docId: e, queue: t, view: n, guard: o - }, this.custom = new vL(this.deps, r); + }, this.custom = new Ej(this.deps, r); } get() { const { docId: e } = this.deps; - return cf(this.deps, "doc.open", { + return lf(this.deps, "doc.open", { tag: "metadata.read", - buildPack: (t) => ge({ + buildPack: (t) => be({ kind: "metadata.read", effect: "read", jobId: t, @@ -7962,9 +8489,9 @@ var vL = class { } update(e, t) { const { docId: n } = this.deps; - return cf(this.deps, "doc.metadata.modify", { + return lf(this.deps, "doc.metadata.modify", { tag: "metadata.update", - buildPack: (o, r) => ge({ + buildPack: (o, r) => be({ kind: "metadata.update", effect: "write", jobId: o, @@ -7978,10 +8505,10 @@ var vL = class { }), o.result), t); } }; -const xL = 32; -var AL = class { +const Ij = 32; +var _j = class { constructor(e, t, n, o) { - this.docId = e, this.queue = t, xe(this, "numbers", []), xe(this, "refilling", !1), xe(this, "lostListeners", /* @__PURE__ */ new Set()), o && (this.numbers = i1([o])), n.on("document.versioned", () => { + this.docId = e, this.queue = t, xe(this, "numbers", []), xe(this, "refilling", !1), xe(this, "lostListeners", /* @__PURE__ */ new Set()), o && (this.numbers = k1([o])), n.on("document.versioned", () => { const r = this.numbers; this.numbers = [], r.length > 0 && this.notifyLost({ numbers: r, @@ -7994,13 +8521,13 @@ var AL = class { } take() { const e = this.numbers.shift() ?? null; - return this.numbers.length < xL && this.topUp(), e; + return this.numbers.length < Ij && this.topUp(), e; } reserve(e) { - if (!Number.isInteger(e) || e < 1) return Y.rejectReason(new H(q.InvalidArg, `cannot reserve ${e} object numbers`, { details: { field: "count" } })); - if (this.numbers.length >= e) return Y.resolveValue(void 0); + if (!Number.isInteger(e) || e < 1) return J.rejectReason(new H(q.InvalidArg, `cannot reserve ${e} object numbers`, { details: { field: "count" } })); + if (this.numbers.length >= e) return J.resolveValue(void 0); const t = this.request(e - this.numbers.length); - return Y.run(async (n) => { + return J.run(async (n) => { const o = () => t.abort(n.reason); n.aborted ? o() : n.addEventListener("abort", o, { once: !0 }), this.add(await t); }); @@ -8021,17 +8548,17 @@ var AL = class { })); } add(e) { - this.numbers.push(...i1([e])); + this.numbers.push(...k1([e])); } request(e) { - const t = this.docId, n = this.queue.enqueue({ buildPack: (o) => ge({ + const t = this.docId, n = this.queue.enqueue({ buildPack: (o) => be({ kind: "objectNumbers.reserve", effect: "session", jobId: o, docId: t, count: e }) }); - return Y.run(async (o) => { + return J.run(async (o) => { const r = () => n.abort(o.reason); o.aborted ? r() : o.addEventListener("abort", r, { once: !0 }); const s = await n; @@ -8046,13 +8573,13 @@ var AL = class { } } }; -function SL(e, t) { - return YP(e, t); +function Nj(e, t) { + return OP(e, t); } -function PL(e, t) { - return YP(e, t); +function Tj(e, t) { + return OP(e, t); } -function YP(e, t) { +function OP(e, t) { if (e.kind !== "lattice" || e.maxRenderPixels === void 0) return t; const n = t?.maxOutputPixels !== void 0 ? Math.min(t.maxOutputPixels, e.maxRenderPixels) : e.maxRenderPixels; return { @@ -8060,58 +8587,58 @@ function YP(e, t) { maxOutputPixels: n }; } -function OL(e, t) { +function Rj(e, t) { if (e.kind !== "lattice" || !e.enforced || !(t?.target === void 0 || t.target.kind === "page")) return; const n = t?.viewport, o = n?.kind === "width" ? n.width : void 0; - o !== void 0 && e.fullPage.widths.includes(o) || QP(e, "use snapFullPageViewport(policy, viewport, { pageWidth })"); + o !== void 0 && e.fullPage.widths.includes(o) || PP(e, "use snapFullPageViewport(policy, viewport, { pageWidth })"); } -function ML(e, t) { +function Lj(e, t) { if (e.kind !== "lattice" || !e.enforced || e.appearances === void 0) return; - const n = F4(t?.viewport); - n !== void 0 && e.appearances.scales.includes(n) || QP(e, "use a scale viewport: { kind: 'scale', scale: snapAppearanceScale(policy, scale) }"); + const n = UL(t?.viewport); + n !== void 0 && e.appearances.scales.includes(n) || PP(e, "use a scale viewport: { kind: 'scale', scale: snapAppearanceScale(policy, scale) }"); } -function QP(e, t) { +function PP(e, t) { throw new H(q.InvalidArg, `render request is off the deployment lattice (see renderPolicy; ${t})`, { details: { renderPolicy: e } }); } -function xy(e, t, n) { - if (e.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${e.docId}`)); +function Ly(e, t, n) { + if (e.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${e.docId}`)); const o = t === "widgets" ? "doc.forms.read" : "doc.annotate.read"; try { - e.guard.assertCapability(o), ML(e.policy, n); + e.guard.assertCapability(o), Lj(e.policy, n); } catch (c) { - return Y.rejectReason(c); + return J.rejectReason(c); } - const r = PL(e.policy, n), { docId: s, page: i } = e, a = e.queue.enqueue({ buildPack: (c) => ge({ + const r = Tj(e.policy, n), { docId: s, page: a } = e, i = e.queue.enqueue({ buildPack: (c) => be({ kind: "annotations.renderAppearances", effect: "read", jobId: c, docId: s, - page: i, + page: a, family: t, ...r ? { options: r } : {} }) }); - return Y.run(async (c) => { - const l = () => a.abort(c.reason); + return J.run(async (c) => { + const l = () => i.abort(c.reason); c.aborted ? l() : c.addEventListener("abort", l, { once: !0 }); - const u = await a; + const u = await i; if (u.tag !== "annotations.renderAppearances") throw new H(q.WireFormat, `unexpected payload tag: ${u.tag}`); return u.result; }); } -function XP(e, t, n, o = {}) { - return Y.run(async (r) => { - _5(o.quality); - const s = xy(e, n, o), i = () => s.abort(r.reason); - r.aborted ? i() : r.addEventListener("abort", i, { once: !0 }); - const a = await s; +function MP(e, t, n, o = {}) { + return J.run(async (r) => { + Z5(o.quality); + const s = Ly(e, n, o), a = () => s.abort(r.reason); + r.aborted ? a() : r.addEventListener("abort", a, { once: !0 }); + const i = await s; if (r.aborted) throw new H(q.Aborted, "appearance render aborted"); const c = []; - for (const l of a.appearances) { + for (const l of i.appearances) { if (r.aborted) throw new H(q.Aborted, "appearance render aborted"); const u = await t.encode(l.raster, o, r); if (u.source.kind !== "bytes") throw new H(q.WireFormat, "local appearance image handle expected a byte source"); - const f = u.source.bytes, d = N5(u, { async blob() { - return new Blob([EL(f)], { type: u.mimeType }); + const f = u.source.bytes, d = J5(u, { async blob() { + return new Blob([jj(f)], { type: u.mimeType }); } }); c.push({ ref: l.ref, @@ -8122,34 +8649,34 @@ function XP(e, t, n, o = {}) { }); } return { - page: a.page, + page: i.page, appearances: c }; }); } -function EL(e) { +function jj(e) { const t = new ArrayBuffer(e.byteLength); return new Uint8Array(t).set(e), t; } -var CL = class { - constructor(e, t, n, o, r, s, i, a = xr) { - this.docId = e, this.ref = t, this.queue = n, this.view = o, this.encoder = r, this.guard = s, this.publisher = i, this.policy = a; +var Fj = class { + constructor(e, t, n, o, r, s, a, i = Sr) { + this.docId = e, this.ref = t, this.queue = n, this.view = o, this.encoder = r, this.guard = s, this.publisher = a, this.policy = i; } list() { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); try { this.guard.assertCapability("doc.annotate.read"); } catch (o) { - return Y.rejectReason(o); + return J.rejectReason(o); } - const e = this.docId, t = this.ref, n = this.queue.enqueue({ buildPack: (o) => ge({ + const e = this.docId, t = this.ref, n = this.queue.enqueue({ buildPack: (o) => be({ kind: "annotations.list", effect: "read", jobId: o, docId: e, pages: [t] }) }); - return Y.run(async (o) => { + return J.run(async (o) => { const r = () => n.abort(o.reason); o.aborted ? r() : o.addEventListener("abort", r, { once: !0 }); const s = await n; @@ -8158,20 +8685,20 @@ var CL = class { }); } downloadResource(e, t) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); try { this.guard.assertCapability("doc.download"); } catch (s) { - return Y.rejectReason(s); + return J.rejectReason(s); } - const n = this.docId, o = this.ref, r = this.queue.enqueue({ buildPack: (s) => ge(t === "file" ? { + const n = this.docId, o = this.ref, r = this.queue.enqueue({ buildPack: (s) => be(t === "file" ? { kind: "annotations.readFile", effect: "read", jobId: s, docId: n, page: o, ref: e, - maxDecodedBytes: W5.decodedBytes + maxDecodedBytes: dO.decodedBytes } : { kind: "annotations.readAppearance", effect: "read", @@ -8180,21 +8707,21 @@ var CL = class { page: o, ref: e }) }); - return Y.run(async (s) => { - const i = () => r.abort(s.reason); - s.aborted ? i() : s.addEventListener("abort", i, { once: !0 }); - const a = await r; - if (a.tag === "annotations.readAppearance") return new Uint8Array(a.bytes); - if (a.tag !== "annotations.readFile") throw new H(q.WireFormat, `unexpected payload tag: ${a.tag}`); - if (a.content.bytes === void 0) throw new H(q.WireFormat, "annotations.readFile returned no bytes (path mode is server-only)"); - return new Uint8Array(a.content.bytes); + return J.run(async (s) => { + const a = () => r.abort(s.reason); + s.aborted ? a() : s.addEventListener("abort", a, { once: !0 }); + const i = await r; + if (i.tag === "annotations.readAppearance") return new Uint8Array(i.bytes); + if (i.tag !== "annotations.readFile") throw new H(q.WireFormat, `unexpected payload tag: ${i.tag}`); + if (i.content.bytes === void 0) throw new H(q.WireFormat, "annotations.readFile returned no bytes (path mode is server-only)"); + return new Uint8Array(i.content.bytes); }); } renderAppearancesRaw(e) { - return xy(this.appearanceBatch(), "annotations", e); + return Ly(this.appearanceBatch(), "annotations", e); } renderAppearances(e = {}) { - return XP(this.appearanceBatch(), this.encoder, "annotations", e); + return MP(this.appearanceBatch(), this.encoder, "annotations", e); } appearanceBatch() { return { @@ -8207,37 +8734,37 @@ var CL = class { }; } create(e, t = {}) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); const n = e.groupId ?? void 0; let o; try { - o = rn(t), n !== void 0 && n !== this.guard.identity().groupId && this.guard.assertSetGroup(n), this.guard.assertCollab("create", this.guard.targetForSelfCreate(n)); + o = bn(t), n !== void 0 && n !== this.guard.identity().groupId && this.guard.assertSetGroup(n), this.guard.assertCollab("create", this.guard.targetForSelfCreate(n)); } catch (f) { - return Y.rejectReason(f); + return J.rejectReason(f); } - const r = this.guard.actorForCreate(n), { resources: s, objectNumber: i } = t, a = B5(e, s), c = this.docId, l = this.ref, u = this.queue.enqueue({ + const r = this.guard.actorForCreate(n), { resources: s, objectNumber: a } = t, i = lO(e, s), c = this.docId, l = this.ref, u = this.queue.enqueue({ line: { effect: "write", docId: c, page: l }, buildPack: async (f) => { - const d = await Dc(s); - return ge({ + const d = await Fc(s); + return be({ kind: "annotations.create", effect: "write", jobId: f, opId: o, docId: c, page: l, - draft: a, - ...i !== void 0 ? { objectNumber: i } : {}, - ...nf(d) ? { resources: d } : {}, + draft: i, + ...a !== void 0 ? { objectNumber: a } : {}, + ...of(d) ? { resources: d } : {}, ...r ? { actor: r } : {} - }, $c(d)); + }, Dc(d)); } }); - return Y.run(async (f) => { + return J.run(async (f) => { const d = () => u.abort(f.reason); f.aborted ? d() : f.addEventListener("abort", d, { once: !0 }); const p = await u; @@ -8250,37 +8777,37 @@ var CL = class { }); } update(e, t, n = {}) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); let o; try { - o = rn(n), this.guard.assertAnnotationsUnprotected(); + o = bn(n), this.guard.assertAnnotationsUnprotected(); } catch (c) { - return Y.rejectReason(c); + return J.rejectReason(c); } - const r = this.guard.annotationAuthority(), { resources: s } = n, i = this.docId, a = this.queue.enqueue({ + const r = this.guard.annotationAuthority(), { resources: s } = n, a = this.docId, i = this.queue.enqueue({ line: { effect: "write", - docId: i + docId: a }, buildPack: async (c) => { - const l = await Dc(s); - return ge({ + const l = await Fc(s); + return be({ kind: "annotations.update", effect: "write", jobId: c, opId: o, - docId: i, + docId: a, ref: e, patch: t, authority: r, - ...nf(l) ? { resources: l } : {} - }, $c(l)); + ...of(l) ? { resources: l } : {} + }, Dc(l)); } }); - return Y.run(async (c) => { - const l = () => a.abort(c.reason); + return J.run(async (c) => { + const l = () => i.abort(c.reason); c.aborted ? l() : c.addEventListener("abort", l, { once: !0 }); - const u = await a; + const u = await i; if (u.tag !== "annotations.update") throw new H(q.WireFormat, `unexpected payload tag: ${u.tag}`); return this.publisher.publishWrite(o, { type: "annotations.updated", @@ -8290,16 +8817,16 @@ var CL = class { }); } delete(e, t) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); let n; try { - n = rn(t), this.guard.assertAnnotationsUnprotected(); + n = bn(t), this.guard.assertAnnotationsUnprotected(); } catch (r) { - return Y.rejectReason(r); + return J.rejectReason(r); } const o = this.guard.annotationAuthority(); - return Y.run(async (r) => { - const s = this.docId, i = this.queue.enqueue({ buildPack: (l) => ge({ + return J.run(async (r) => { + const s = this.docId, a = this.queue.enqueue({ buildPack: (l) => be({ kind: "annotations.delete", effect: "write", jobId: l, @@ -8307,41 +8834,41 @@ var CL = class { docId: s, ref: e, authority: o - }) }), a = () => i.abort(r.reason); - r.aborted ? a() : r.addEventListener("abort", a, { once: !0 }); - const c = await i; + }) }), i = () => a.abort(r.reason); + r.aborted ? i() : r.addEventListener("abort", i, { once: !0 }); + const c = await a; if (c.tag !== "annotations.delete") throw new H(q.WireFormat, `unexpected payload tag: ${c.tag}`); return this.publisher.publishWrite(n, { type: "annotations.deleted", page: this.ref, - deleted: DP(c.result), + deleted: hP(c.result), ...c.result }), c.result; }); } reorder(e, t, n) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); let o; try { - o = rn(n), this.guard.assertAnnotationsUnprotected(); + o = bn(n), this.guard.assertAnnotationsUnprotected(); } catch (c) { - return Y.rejectReason(c); + return J.rejectReason(c); } - const r = this.guard.annotationAuthority(), s = this.docId, i = this.ref, a = this.queue.enqueue({ buildPack: (c) => ge({ + const r = this.guard.annotationAuthority(), s = this.docId, a = this.ref, i = this.queue.enqueue({ buildPack: (c) => be({ kind: "annotations.reorder", effect: "write", jobId: c, opId: o, docId: s, - page: i, + page: a, refs: e, position: t, authority: r }) }); - return Y.run(async (c) => { - const l = () => a.abort(c.reason); + return J.run(async (c) => { + const l = () => i.abort(c.reason); c.aborted ? l() : c.addEventListener("abort", l, { once: !0 }); - const u = await a; + const u = await i; if (u.tag !== "annotations.reorder") throw new H(q.WireFormat, `unexpected payload tag: ${u.tag}`); return this.publisher.publishWrite(o, { type: "annotations.reordered", @@ -8352,27 +8879,27 @@ var CL = class { } flatten(e, t) { const n = t?.usage ?? "display"; - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); let o; try { - o = rn(t), this.guard.assertCapability("doc.pages.modify"), this.guard.assertCapability("doc.annotate.modify"); - } catch (a) { - return Y.rejectReason(a); + o = bn(t), this.guard.assertCapability("doc.pages.modify"), this.guard.assertCapability("doc.annotate.modify"); + } catch (i) { + return J.rejectReason(i); } - const r = this.docId, s = this.ref, i = this.queue.enqueue({ buildPack: (a) => ge({ + const r = this.docId, s = this.ref, a = this.queue.enqueue({ buildPack: (i) => be({ kind: "annotations.flatten", effect: "contentWrite", - jobId: a, + jobId: i, opId: o, docId: r, page: s, refs: e, usage: n }) }); - return Y.run(async (a) => { - const c = () => i.abort(a.reason); - a.aborted ? c() : a.addEventListener("abort", c, { once: !0 }); - const l = await i; + return J.run(async (i) => { + const c = () => a.abort(i.reason); + i.aborted ? c() : i.addEventListener("abort", c, { once: !0 }); + const l = await a; if (l.tag !== "annotations.flatten") throw new H(q.WireFormat, `unexpected payload tag: ${l.tag}`); return l.wrote && this.publisher.publishWrite(o, { type: "annotations.flattened", @@ -8381,13 +8908,13 @@ var CL = class { }); } exportAppearance(e) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); try { this.guard.assertCapability("doc.download"); } catch (r) { - return Y.rejectReason(r); + return J.rejectReason(r); } - const t = this.docId, n = this.ref, o = this.queue.enqueue({ buildPack: (r) => ge({ + const t = this.docId, n = this.ref, o = this.queue.enqueue({ buildPack: (r) => be({ kind: "annotations.exportAppearance", effect: "snapshot", jobId: r, @@ -8395,119 +8922,119 @@ var CL = class { page: n, refs: e }) }); - return Y.run(async (r) => { + return J.run(async (r) => { const s = () => o.abort(r.reason); r.aborted ? s() : r.addEventListener("abort", s, { once: !0 }); - const i = await o; - if (i.tag !== "annotations.exportAppearance") throw new H(q.WireFormat, `unexpected payload tag: ${i.tag}`); - return new Uint8Array(i.bytes); + const a = await o; + if (a.tag !== "annotations.exportAppearance") throw new H(q.WireFormat, `unexpected payload tag: ${a.tag}`); + return new Uint8Array(a.bytes); }); } -}, IL = class { - constructor(e, t, n, o, r, s, i = xr) { +}, Dj = class { + constructor(e, t, n, o, r, s, a = Sr) { this.encoder = r, xe(this, "batch", void 0), this.batch = { docId: e, page: t, queue: n, isClosed: () => o.isClosed(), guard: s, - policy: i + policy: a }; } renderAppearancesRaw(e) { - return xy(this.batch, "widgets", e); + return Ly(this.batch, "widgets", e); } renderAppearances(e = {}) { - return XP(this.batch, this.encoder, "widgets", e); + return MP(this.batch, this.encoder, "widgets", e); } -}, _L = class { - constructor(e, t, n, o, r, s, i = xr) { - this.docId = e, this.ref = t, this.queue = n, this.view = o, this.encoder = r, this.guard = s, this.policy = i; +}, $j = class { + constructor(e, t, n, o, r, s, a = Sr) { + this.docId = e, this.ref = t, this.queue = n, this.view = o, this.encoder = r, this.guard = s, this.policy = a; } raw(e) { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); let t; try { - YT(e, { + BR(e, { render: this.guard.can("doc.render"), thumbnail: this.guard.can("doc.render.thumbnail"), print: this.guard.can("doc.print"), printHigh: this.guard.can("doc.print.high") - }), t = sy(e, { + }), t = gy(e, { annotations: this.guard.can("doc.annotate.read"), formFields: this.guard.can("doc.forms.read") - }), e?.usage !== "print" && e?.viewport?.kind !== "thumbnail" && OL(this.policy, e); - } catch (a) { - return Y.rejectReason(a); + }), e?.usage !== "print" && e?.viewport?.kind !== "thumbnail" && Rj(this.policy, e); + } catch (i) { + return J.rejectReason(i); } - const n = SL(this.policy, { + const n = Nj(this.policy, { ...e, ...t - }), o = this.docId, r = this.ref, s = e?.target, i = this.queue.enqueue({ - buildPack: (a) => ge({ + }), o = this.docId, r = this.ref, s = e?.target, a = this.queue.enqueue({ + buildPack: (i) => be({ kind: "pages.render", effect: "read", - jobId: a, + jobId: i, docId: o, page: r, options: n }), ...s?.kind === "rect" ? { region: s.rect } : {} }); - return Y.run(async (a) => { - const c = () => i.abort(a.reason); - a.aborted ? c() : a.addEventListener("abort", c, { once: !0 }); - const l = await i; + return J.run(async (i) => { + const c = () => a.abort(i.reason); + i.aborted ? c() : i.addEventListener("abort", c, { once: !0 }); + const l = await a; if (l.tag !== "pages.render") throw new H(q.WireFormat, `unexpected payload tag: ${l.tag}`); const { raster: u, area: f } = l; return { ...u, - transform: eR(f, e?.rotation ?? 0, u.width, u.height) + transform: HR(f, e?.rotation ?? 0, u.width, u.height) }; }); } image(e = {}) { - return Y.run(async (t) => { - _5(e.quality); + return J.run(async (t) => { + Z5(e.quality); const n = this.raw(e), o = () => n.abort(t.reason); t.aborted ? o() : t.addEventListener("abort", o, { once: !0 }); const r = await n; if (t.aborted) throw new H(q.Aborted, "page image render aborted"); const s = await this.encoder.encode(r, e, t); if (s.source.kind !== "bytes") throw new H(q.WireFormat, "local page image handle expected a byte source"); - const i = s.source.bytes; + const a = s.source.bytes; return { - ...N5(s, { async blob() { - return new Blob([NL(i)], { type: s.mimeType }); + ...J5(s, { async blob() { + return new Blob([Bj(a)], { type: s.mimeType }); } }), transform: r.transform }; }); } }; -function NL(e) { +function Bj(e) { const t = new ArrayBuffer(e.byteLength); return new Uint8Array(t).set(e), t; } -var TL = class { +var zj = class { constructor(e, t, n, o, r) { this.docId = e, this.ref = t, this.queue = n, this.view = o, this.guard = r; } get() { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); try { this.guard.assertCapability("doc.text.copy"); } catch (o) { - return Y.rejectReason(o); + return J.rejectReason(o); } - const e = this.docId, t = this.ref, n = this.queue.enqueue({ buildPack: (o) => ge({ + const e = this.docId, t = this.ref, n = this.queue.enqueue({ buildPack: (o) => be({ kind: "pages.text", effect: "read", jobId: o, docId: e, page: t }) }); - return Y.run(async (o) => { + return J.run(async (o) => { const r = () => n.abort(o.reason); o.aborted ? r() : o.addEventListener("abort", r, { once: !0 }); const s = await n; @@ -8516,38 +9043,38 @@ var TL = class { }); } slice(e) { - return Y.run(async (t) => L5(await this.get().abortWith(t), e)); + return J.run(async (t) => nO(await this.get().abortWith(t), e)); } layout() { - if (this.view.isClosed()) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); + if (this.view.isClosed()) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)); try { this.guard.assertCapability("doc.text.select"); } catch (o) { - return Y.rejectReason(o); + return J.rejectReason(o); } - const e = this.docId, t = this.ref, n = this.queue.enqueue({ buildPack: (o) => ge({ + const e = this.docId, t = this.ref, n = this.queue.enqueue({ buildPack: (o) => be({ kind: "pages.geometry", effect: "read", jobId: o, docId: e, page: t }) }); - return Y.run(async (o) => { + return J.run(async (o) => { const r = () => n.abort(o.reason); o.aborted ? r() : o.addEventListener("abort", r, { once: !0 }); const s = await n; if (s.tag !== "pages.geometry") throw new H(q.WireFormat, `unexpected payload tag: ${s.tag}`); - return zR(s.snapshot); + return T8(s.snapshot); }); } -}, ZP = class { +}, EP = class { constructor(e, t, n, o, r) { this.docId = e, this.queue = t, this.view = n, this.guard = o, this.page = r; } get(e) { const t = this.gate("doc.open"); if ("rejected" in t) return t.rejected; - const { docId: n, page: o } = this, r = this.queue.enqueue({ buildPack: (s) => ge({ + const { docId: n, page: o } = this, r = this.queue.enqueue({ buildPack: (s) => be({ kind: "pieceInfo.read", effect: "read", jobId: s, @@ -8555,27 +9082,27 @@ var TL = class { page: o, application: e }) }); - return Y.run(async (s) => { - const i = await this.await(r, s); - if (i.tag !== "pieceInfo.read") throw new H(q.WireFormat, `unexpected payload tag: ${i.tag}`); - return i.snapshot; + return J.run(async (s) => { + const a = await this.await(r, s); + if (a.tag !== "pieceInfo.read") throw new H(q.WireFormat, `unexpected payload tag: ${a.tag}`); + return a.snapshot; }); } update(e, t, n) { const o = this.gate("doc.metadata.modify", n); if ("rejected" in o) return o.rejected; - const { opId: r } = o, { docId: s, page: i } = this, a = this.queue.enqueue({ buildPack: (c) => ge({ + const { opId: r } = o, { docId: s, page: a } = this, i = this.queue.enqueue({ buildPack: (c) => be({ kind: "pieceInfo.update", effect: "write", jobId: c, opId: r, docId: s, - page: i, + page: a, application: e, patch: t }) }); - return Y.run(async (c) => { - const l = await this.await(a, c); + return J.run(async (c) => { + const l = await this.await(i, c); if (l.tag !== "pieceInfo.update") throw new H(q.WireFormat, `unexpected payload tag: ${l.tag}`); return l.result; }); @@ -8583,14 +9110,14 @@ var TL = class { list() { const e = this.gate("doc.open"); if ("rejected" in e) return e.rejected; - const { docId: t, page: n } = this, o = this.queue.enqueue({ buildPack: (r) => ge({ + const { docId: t, page: n } = this, o = this.queue.enqueue({ buildPack: (r) => be({ kind: "pieceInfo.applications", effect: "read", jobId: r, docId: t, page: n }) }); - return Y.run(async (r) => { + return J.run(async (r) => { const s = await this.await(o, r); if (s.tag !== "pieceInfo.applications") throw new H(q.WireFormat, `unexpected payload tag: ${s.tag}`); return s.applications; @@ -8599,17 +9126,17 @@ var TL = class { delete(e, t) { const n = this.gate("doc.metadata.modify", t); if ("rejected" in n) return n.rejected; - const { opId: o } = n, { docId: r, page: s } = this, i = this.queue.enqueue({ buildPack: (a) => ge({ + const { opId: o } = n, { docId: r, page: s } = this, a = this.queue.enqueue({ buildPack: (i) => be({ kind: "pieceInfo.delete", effect: "write", - jobId: a, + jobId: i, opId: o, docId: r, page: s, application: e }) }); - return Y.run(async (a) => { - const c = await this.await(i, a); + return J.run(async (i) => { + const c = await this.await(a, i); if (c.tag !== "pieceInfo.delete") throw new H(q.WireFormat, `unexpected payload tag: ${c.tag}`); return c.result; }); @@ -8620,12 +9147,12 @@ var TL = class { * or the refusal. */ gate(e, t) { - if (this.view.isClosed()) return { rejected: Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)) }; + if (this.view.isClosed()) return { rejected: J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.docId}`)) }; try { - const n = rn(t); + const n = bn(t); return this.guard.assertCapability(e), { opId: n }; } catch (n) { - return { rejected: Y.rejectReason(n) }; + return { rejected: J.rejectReason(n) }; } } /** Wire an outer abort into the queued submission (the house idiom). */ @@ -8633,14 +9160,14 @@ var TL = class { const n = () => e.abort(t.reason); return t.aborted ? n() : t.addEventListener("abort", n, { once: !0 }), await e; } -}, RL = class { +}, Wj = class { constructor(e, t, n, o, r, s) { - this.docId = e, this.ref = t, this.queue = n, this.view = o, this.guard = r, this.publisher = s; + this.docId = e, this.ref = t, this.queue = n, this.view = o, this.guard = r, this.setScales = s; } listViewports() { - return Y.run(async (e) => { + return J.run(async (e) => { this.check("doc.open"); - const t = this.queue.enqueue({ buildPack: (o) => ge({ + const t = this.queue.enqueue({ buildPack: (o) => be({ kind: "measure.viewports", effect: "read", jobId: o, @@ -8651,37 +9178,9 @@ var TL = class { return { viewports: n.viewports }; }); } + /** A one-page `doc.pages.setScale`: one change, as every scale change is. */ setScale(e, t) { - let n; - try { - n = rn(t), this.check("doc.annotate.modify"); - } catch (i) { - return Y.rejectReason(i); - } - const o = this.docId, r = this.ref, s = this.queue.enqueue({ - line: { - effect: "write", - docId: o, - page: r - }, - buildPack: async (i) => ge({ - kind: "measure.setScale", - effect: "write", - jobId: i, - opId: n, - docId: o, - page: r, - measure: e - }) - }); - return Y.run(async (i) => { - const a = await this.wait(s, i); - if (a.tag !== "measure.setScale") throw new H(q.WireFormat, "Unexpected scale response"); - return this.publisher.publishWrite(n, { - type: "pages.scaleSet", - ...a.result - }), a.result; - }); + return this.setScales([this.ref], e, t); } check(e) { if (this.view.isClosed()) throw new H(q.DocNotOpen, `Document not open: ${this.docId}`); @@ -8696,39 +9195,39 @@ var TL = class { t.removeEventListener("abort", n); } } -}, LL = class { - constructor(e, t, n, o, r, s, i, a = xr) { - this.ref = e, xe(this, up, !0), xe(this, "annotations", void 0), xe(this, "forms", void 0), xe(this, "text", void 0), xe(this, "render", void 0), xe(this, "pieceInfo", void 0), xe(this, "measure", void 0), this.annotations = new CL(t, e, n, o, r, s, i, a), this.forms = new IL(t, e, n, o, r, s, a), this.text = new TL(t, e, n, o, s), this.render = new _L(t, e, n, o, r, s, a), this.pieceInfo = new ZP(t, n, o, s, e), this.measure = new RL(t, e, n, o, s, i); +}, Uj = class { + constructor(e, t, n, o, r, s, a, i, c = Sr) { + this.ref = e, xe(this, hp, !0), xe(this, "annotations", void 0), xe(this, "forms", void 0), xe(this, "text", void 0), xe(this, "render", void 0), xe(this, "pieceInfo", void 0), xe(this, "measure", void 0), this.annotations = new Fj(t, e, n, o, r, s, a, c), this.forms = new Dj(t, e, n, o, r, s, c), this.text = new zj(t, e, n, o, s), this.render = new $j(t, e, n, o, r, s, c), this.pieceInfo = new EP(t, n, o, s, e), this.measure = new Wj(t, e, n, o, s, i); } -}, jL = class mm { +}, Kj = class Sm { /** A newly opened document's handle, its calls carrying no facts. */ - static open(t, n, o, r, s, i, a = xr, c, l) { + static open(t, n, o, r, s, a, i = Sr, c, l) { let u = !1; - const f = () => u, d = new $4(), p = new AL(t, n, d, c), h = new B4(d, i), g = () => h.publishFact({ type: "fonts.changed" }); - l?.add(g); + const f = () => u, d = new qL(), p = new _j(t, n, d, c), g = new HL(d, a), h = () => g.publishFact({ type: "fonts.changed" }); + l?.add(h); const m = { id: t, queue: n, imageEncoder: o, guard: s, - renderPolicy: a, - publisher: h, + renderPolicy: i, + publisher: g, events: d, - security: new yL(r, t, n, { isClosed: f }, s, () => p.topUp()), + security: new Pj(r, t, n, { isClosed: f }, s, () => p.topUp()), objectNumbers: p, - render: { getPolicy: () => Y.resolveValue(a) }, + render: { getPolicy: () => J.resolveValue(i) }, isClosed: f, close: () => { - u = !0, l?.delete(g); + u = !0, l?.delete(h); }, withFacts: /* @__PURE__ */ new Map() }; - return new mm(m, {}); + return new Sm(m, {}); } constructor(t, n) { - this.doc = t, this.facts = n, xe(this, up, !0), xe(this, "metadata", void 0), xe(this, "pieceInfo", void 0), xe(this, "annotations", void 0), xe(this, "attachments", void 0), xe(this, "actions", void 0), xe(this, "outline", void 0), xe(this, "forms", void 0), xe(this, "fonts", void 0), xe(this, "search", void 0), xe(this, "pages", void 0), xe(this, "redaction", void 0), xe(this, "security", void 0), xe(this, "signatures", void 0), xe(this, "render", void 0), xe(this, "events", void 0), xe(this, "objectNumbers", void 0), xe(this, "id", void 0), xe(this, "queue", void 0), xe(this, "changes", void 0); - const { id: o, guard: r, publisher: s } = t, i = aL(t.queue.withFacts(n), s), a = { isClosed: t.isClosed }; - this.id = o, this.queue = i, this.render = t.render, this.events = t.events, this.objectNumbers = t.objectNumbers, this.security = t.security, this.metadata = new kL(o, i, a, r, s), this.pieceInfo = new ZP(o, i, a, r), this.annotations = new rL(o, i, a, r, s), this.attachments = X4(new sL(o, i, a, r), (c, l) => this.apply(c, l)), this.actions = new oL(o, i, a, r), this.outline = Z4(() => dL(o, i, a, r), (c, l) => this.apply(c, l)), this.forms = new uL(o, i, a, r, s), this.fonts = new lL(o, i, a, r), this.search = new hL(o, i, a, r), this.pages = J4(new fL(o, i, a, r, s), (c, l) => this.apply(c, l)), this.redaction = new pL(o, i, a, r, s), this.signatures = new wL(o, i, a, r, s), this.changes = new iL(o, i, a, r, s); + this.doc = t, this.facts = n, xe(this, hp, !0), xe(this, "metadata", void 0), xe(this, "pieceInfo", void 0), xe(this, "annotations", void 0), xe(this, "attachments", void 0), xe(this, "actions", void 0), xe(this, "outline", void 0), xe(this, "forms", void 0), xe(this, "fonts", void 0), xe(this, "search", void 0), xe(this, "pages", void 0), xe(this, "redaction", void 0), xe(this, "security", void 0), xe(this, "signatures", void 0), xe(this, "render", void 0), xe(this, "events", void 0), xe(this, "objectNumbers", void 0), xe(this, "id", void 0), xe(this, "queue", void 0), xe(this, "changes", void 0); + const { id: o, guard: r, publisher: s } = t, a = gj(t.queue.withFacts(n), s), i = { isClosed: t.isClosed }; + this.id = o, this.queue = a, this.render = t.render, this.events = t.events, this.objectNumbers = t.objectNumbers, this.security = t.security, this.metadata = new Cj(o, a, i, r, s), this.pieceInfo = new EP(o, a, i, r), this.annotations = aj(new fj(o, a, i, r, s), (c, l) => this.apply(c, l)), this.attachments = oj(new pj(o, a, i, r), (c, l) => this.apply(c, l)), this.actions = new dj(o, a, i, r), this.outline = rj(() => wj(o, a, i, r), (c, l) => this.apply(c, l)), this.forms = ij(new yj(o, a, i, r, s), (c, l) => this.apply(c, l)), this.fonts = new bj(o, a, i, r), this.search = new xj(o, a, i, r), this.pages = sj(new vj(o, a, i, r, s), (c, l) => this.apply(c, l)), this.redaction = new kj(o, a, i, r, s), this.signatures = new Mj(o, a, i, r, s), this.changes = new hj(o, a, i, r, s); } get closed() { return this.doc.isClosed(); @@ -8746,7 +9245,7 @@ var TL = class { ...t }, o = `${n.priority ?? "auto"}\0${n.view ?? ""}`; let r = this.doc.withFacts.get(o); - return r || (r = new mm(this.doc, n), this.doc.withFacts.set(o, r)), r; + return r || (r = new Sm(this.doc, n), this.doc.withFacts.set(o, r)), r; } /** One change as one transaction, or the undo of one (see `DocumentHandle.apply`). */ apply(t, n) { @@ -8761,19 +9260,19 @@ var TL = class { * loaded bytes (for a layer session, of its base). */ version() { - if (this.closed) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.id}`)); + if (this.closed) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.id}`)); try { this.guard.assertCapability("doc.open"); } catch (o) { - return Y.rejectReason(o); + return J.rejectReason(o); } - const t = this.id, n = this.queue.enqueue({ buildPack: (o) => ge({ + const t = this.id, n = this.queue.enqueue({ buildPack: (o) => be({ kind: "document.version", effect: "read", jobId: o, docId: t }) }); - return Y.run(async (o) => { + return J.run(async (o) => { const r = () => n.abort(o.reason); o.aborted ? r() : o.addEventListener("abort", r, { once: !0 }); const s = await n; @@ -8789,45 +9288,45 @@ var TL = class { * it from `pages.list()` (each `PageLayout.index`), joined by `ref`. */ page(t) { - return new LL(t, this.id, this.queue, { isClosed: this.doc.isClosed }, this.doc.imageEncoder, this.guard, this.doc.publisher, this.doc.renderPolicy); + return new Uj(t, this.id, this.queue, { isClosed: this.doc.isClosed }, this.doc.imageEncoder, this.guard, this.doc.publisher, (n, o, r) => this.pages.setScale(n, o, r), this.doc.renderPolicy); } download(t = {}) { - if (this.closed) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.id}`)); + if (this.closed) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.id}`)); try { this.guard.assertCapability("doc.download"); } catch (s) { - return Y.rejectReason(s); + return J.rejectReason(s); } - const n = this.id, o = t.mode ?? y1, r = this.queue.enqueue({ buildPack: (s) => ge({ + const n = this.id, o = t.mode ?? R1, r = this.queue.enqueue({ buildPack: (s) => be({ kind: "document.saveBuffer", effect: "snapshot", jobId: s, docId: n, mode: o }) }); - return Y.run(async (s) => { - const i = () => r.abort(s.reason); - s.aborted ? i() : s.addEventListener("abort", i, { once: !0 }); - const a = await r; - if (a.tag !== "document.saveBuffer") throw new H(q.WireFormat, `unexpected payload tag: ${a.tag}`); - return new Uint8Array(a.bytes); + return J.run(async (s) => { + const a = () => r.abort(s.reason); + s.aborted ? a() : s.addEventListener("abort", a, { once: !0 }); + const i = await r; + if (i.tag !== "document.saveBuffer") throw new H(q.WireFormat, `unexpected payload tag: ${i.tag}`); + return new Uint8Array(i.bytes); }); } /** Export just this document's layer as a re-openable artifact. */ downloadLayer() { - if (this.closed) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.id}`)); + if (this.closed) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.id}`)); try { this.guard.assertCapability("doc.download"); } catch (o) { - return Y.rejectReason(o); + return J.rejectReason(o); } - const t = this.id, n = this.queue.enqueue({ buildPack: (o) => ge({ + const t = this.id, n = this.queue.enqueue({ buildPack: (o) => be({ kind: "document.saveLayerBuffer", effect: "snapshot", jobId: o, docId: t }) }); - return Y.run(async (o) => { + return J.run(async (o) => { const r = () => n.abort(o.reason); o.aborted ? r() : o.addEventListener("abort", r, { once: !0 }); const s = await n; @@ -8837,72 +9336,72 @@ var TL = class { } /** Node runtimes only: the document written to a local file, never through JS (see `DocumentHandle`). */ downloadToFile(t, n) { - if (this.closed) return Y.rejectReason(new H(q.DocNotOpen, `document not open: ${this.id}`)); - const o = n?.mode ?? y1; + if (this.closed) return J.rejectReason(new H(q.DocNotOpen, `document not open: ${this.id}`)); + const o = n?.mode ?? R1; try { this.guard.assertCapability("doc.download"); - } catch (i) { - return Y.rejectReason(i); + } catch (a) { + return J.rejectReason(a); } - const r = this.id, s = this.queue.enqueue({ buildPack: (i) => ge({ + const r = this.id, s = this.queue.enqueue({ buildPack: (a) => be({ kind: "document.saveFile", effect: "snapshot", - jobId: i, + jobId: a, docId: r, mode: o, path: t }) }); - return Y.run(async (i) => { - const a = () => s.abort(i.reason); - i.aborted ? a() : i.addEventListener("abort", a, { once: !0 }); + return J.run(async (a) => { + const i = () => s.abort(a.reason); + a.aborted ? i() : a.addEventListener("abort", i, { once: !0 }); const c = await s; if (c.tag !== "document.saveFile") throw new H(q.WireFormat, `unexpected payload tag: ${c.tag}`); }); } close() { - if (this.closed) return Y.resolveValue(void 0); + if (this.closed) return J.resolveValue(void 0); this.doc.close(), this.doc.queue.forgetWorkingSets(this.id); - const t = this.id, n = this.queue.enqueue({ buildPack: (o) => ge({ + const t = this.id, n = this.queue.enqueue({ buildPack: (o) => be({ kind: "close", effect: "close", jobId: o, docId: t }) }); - return Y.run(async (o) => { + return J.run(async (o) => { const r = () => n.abort(o.reason); o.aborted ? r() : o.addEventListener("abort", r, { once: !0 }), await n; }); } -}, FL = class { +}, qj = class { constructor(e, t = () => { }) { this.queue = e, this.onChange = t, xe(this, "fonts", /* @__PURE__ */ new Map()), xe(this, "fallbacks", []); } register(e) { const t = e.key; - if (!t || ja.includes(t)) return Y.rejectReason(new H(q.InvalidArg, t ? `'${t}' is a standard font's name; register the font under a key of its own` : "a font needs a key", { details: { field: "key" } })); - const n = S1(e.data), o = this.fonts.get(t); - if (o) return Y.resolveValue(o.handle); - const r = e.familyName ?? "", s = e.weight ?? 0, i = e.italic === void 0 ? -1 : e.italic ? 1 : 0; - return Y.run(async (a) => { - const c = n.slice(0), l = this.queue.enqueue({ buildPack: (d) => ge({ + if (!t || Li.includes(t)) return J.rejectReason(new H(q.InvalidArg, t ? `'${t}' is a standard font's name; register the font under a key of its own` : "a font needs a key", { details: { field: "key" } })); + const n = B1(e.data), o = this.fonts.get(t); + if (o) return J.resolveValue(o.handle); + const r = e.familyName ?? "", s = e.weight ?? 0, a = e.italic === void 0 ? -1 : e.italic ? 1 : 0; + return J.run(async (i) => { + const c = n.slice(0), l = this.queue.enqueue({ buildPack: (d) => be({ kind: "fonts.register", effect: "runtimeWrite", jobId: d, fontKey: t, familyName: r, weight: s, - italic: i, + italic: a, data: n }, [n]) }); - _i(a, l); + Ta(i, l); const u = await l, f = { key: t, ...u.identity }; return this.fonts.set(t, { handle: f, - italic: i, + italic: a, weight: s, familyName: r, bytes: c, @@ -8949,33 +9448,33 @@ var TL = class { italic: e.italic === void 0 ? -1 : e.italic ? 1 : 0, weight: e.weight ?? 0, familyName: e.familyName ?? "", - bytes: S1(e.data), + bytes: B1(e.data), builtIn: t.builtIn ?? !1 - }, this.fonts.set(n, o)), t.fallback && this.noteFallback(n, t.tier ?? sf.own), o.handle; + }, this.fonts.set(n, o)), t.fallback && this.noteFallback(n, t.tier ?? af.own), o.handle; } registerAll(e) { - return Y.run(async (t) => { + return J.run(async (t) => { const n = []; for (const o of e) { const r = this.register(o); - _i(t, r), n.push(await r); + Ta(t, r), n.push(await r); } return n; }); } addFallback(e) { const t = typeof e == "string" ? e : e.key; - if (!this.fonts.has(t)) return Y.rejectReason(new H(q.InvalidArg, `font not registered: ${t}`)); - const n = sf.own; - return Y.run(async (o) => { - const r = this.queue.enqueue({ buildPack: (s) => ge({ + if (!this.fonts.has(t)) return J.rejectReason(new H(q.InvalidArg, `font not registered: ${t}`)); + const n = af.own; + return J.run(async (o) => { + const r = this.queue.enqueue({ buildPack: (s) => be({ kind: "fonts.addFallback", effect: "runtimeWrite", jobId: s, fontKey: t, tier: n }) }); - _i(o, r), await r, this.noteFallback(t, n), this.onChange(); + Ta(o, r), await r, this.noteFallback(t, n), this.onChange(); }); } /** Record a fallback as the worker has it: adding one again changes its tier only. */ @@ -8988,39 +9487,39 @@ var TL = class { } authorizeEditing(e) { const t = typeof e == "string" ? e : e.key, n = this.fonts.get(t); - return n ? Y.run(async (o) => { - const r = this.queue.enqueue({ buildPack: (i) => ge({ + return n ? J.run(async (o) => { + const r = this.queue.enqueue({ buildPack: (a) => be({ kind: "fonts.authorizeEditing", effect: "runtimeWrite", - jobId: i, + jobId: a, fontKey: t }) }); - _i(o, r); + Ta(o, r); const s = await r; return n.handle = { key: t, ...s.identity }, this.onChange(), n.handle; - }) : Y.rejectReason(new H(q.InvalidArg, `font not registered: ${t}`)); + }) : J.rejectReason(new H(q.InvalidArg, `font not registered: ${t}`)); } clearFallbacks() { - return Y.run(async (e) => { - const t = this.queue.enqueue({ buildPack: (n) => ge({ + return J.run(async (e) => { + const t = this.queue.enqueue({ buildPack: (n) => be({ kind: "fonts.clearFallbacks", effect: "runtimeWrite", jobId: n }) }); - _i(e, t), await t, this.fallbacks.length = 0, this.onChange(); + Ta(e, t), await t, this.fallbacks.length = 0, this.onChange(); }); } clear() { - return Y.run(async (e) => { - const t = this.queue.enqueue({ buildPack: (n) => ge({ + return J.run(async (e) => { + const t = this.queue.enqueue({ buildPack: (n) => be({ kind: "fonts.clear", effect: "runtimeWrite", jobId: n }) }); - _i(e, t), await t, this.fonts.clear(), this.fallbacks.length = 0, this.onChange(); + Ta(e, t), await t, this.fonts.clear(), this.fallbacks.length = 0, this.onChange(); }); } list() { @@ -9035,7 +9534,7 @@ var TL = class { async replay() { for (const [e, t] of this.fonts) { const n = t.bytes.slice(0); - await this.queue.enqueue({ buildPack: (o) => ge({ + await this.queue.enqueue({ buildPack: (o) => be({ kind: "fonts.register", effect: "runtimeWrite", jobId: o, @@ -9047,14 +9546,14 @@ var TL = class { ...t.builtIn ? { builtIn: !0 } : {} }, [n]) }); } - for (const { key: e, tier: t } of this.fallbacks) await this.queue.enqueue({ buildPack: (n) => ge({ + for (const { key: e, tier: t } of this.fallbacks) await this.queue.enqueue({ buildPack: (n) => be({ kind: "fonts.addFallback", effect: "runtimeWrite", jobId: n, fontKey: e, tier: t }) }); - for (const [e, t] of this.fonts) t.handle.embeddingPermission === "preview-and-print" && t.handle.editingAuthorized && await this.queue.enqueue({ buildPack: (n) => ge({ + for (const [e, t] of this.fonts) t.handle.embeddingPermission === "preview-and-print" && t.handle.editingAuthorized && await this.queue.enqueue({ buildPack: (n) => be({ kind: "fonts.authorizeEditing", effect: "runtimeWrite", jobId: n, @@ -9062,101 +9561,101 @@ var TL = class { }) }); } }; -function _i(e, t) { +function Ta(e, t) { const n = () => t.abort(e.reason); e.aborted ? n() : e.addEventListener("abort", n, { once: !0 }); } -function S1(e) { +function B1(e) { if (e instanceof ArrayBuffer) return e.slice(0); const t = new ArrayBuffer(e.byteLength); return new Uint8Array(t).set(e), t; } -const DL = "embedpdf", P1 = Symbol.for("@embedpdf/engine/trusted-types"); -function dp() { +const Hj = "embedpdf", z1 = Symbol.for("@embedpdf/engine/trusted-types"); +function gp() { const e = globalThis; - return e[P1] ?? (e[P1] = { allowed: /* @__PURE__ */ new Set() }); + return e[z1] ?? (e[z1] = { allowed: /* @__PURE__ */ new Set() }); } -function fp(e) { - dp().allowed.add(e); +function mp(e) { + gp().allowed.add(e); } -function $L(e) { - dp().allowed.delete(e); +function Vj(e) { + gp().allowed.delete(e); } -function Ji(e, t) { - const n = BL(e); +function ei(e, t) { + const n = Gj(e); return new Worker(n, t); } -function JP(e) { +function CP(e) { const t = URL.createObjectURL(new Blob([e], { type: "text/javascript" })); - return fp(t), { + return mp(t), { url: t, revoke: () => { - $L(t), URL.revokeObjectURL(t); + Vj(t), URL.revokeObjectURL(t); } }; } -function BL(e) { - eO(e); - const t = zL(); +function Gj(e) { + IP(e); + const t = Yj(); return t ? t.createScriptURL(e) : e; } -function eO(e) { - if (!dp().allowed.has(e)) +function IP(e) { + if (!gp().allowed.has(e)) throw new TypeError(`[embedpdf] will not start a worker from ${e}: it is neither one of the engine's own worker files nor a configured \`worker\` / \`encoderWorker\` URL`); } -function zL() { - const e = dp(); +function Yj() { + const e = gp(); if (e.policy !== void 0) return e.policy; const t = globalThis.trustedTypes; let n = null; if (t && typeof t.createPolicy == "function") try { - n = t.createPolicy(DL, { createScriptURL: (o) => (eO(o), o) }); + n = t.createPolicy(Hj, { createScriptURL: (o) => (IP(o), o) }); } catch { n = null; } return e.policy = n, n; } -function Wc(e) { - return e.wasmBinary !== void 0 ? { wasmBinary: Ay(e.wasmBinary) } : e.wasmUrl !== void 0 ? { wasmUrl: pl(e.wasmUrl) } : e.assetsUrl !== void 0 ? { wasmUrl: pl(`${e.assetsUrl.endsWith("/") ? e.assetsUrl : `${e.assetsUrl}/`}embedpdf.wasm`) } : {}; +function zc(e) { + return e.wasmBinary !== void 0 ? { wasmBinary: jy(e.wasmBinary) } : e.wasmUrl !== void 0 ? { wasmUrl: fl(e.wasmUrl) } : e.assetsUrl !== void 0 ? { wasmUrl: fl(`${e.assetsUrl.endsWith("/") ? e.assetsUrl : `${e.assetsUrl}/`}embedpdf.wasm`) } : {}; } -async function O1(e) { - const t = Wc(e); - return t.wasmUrl !== void 0 || t.wasmBinary !== void 0 ? t : e.wasmLoader ? { wasmBinary: Ay(await e.wasmLoader()) } : {}; +async function W1(e) { + const t = zc(e); + return t.wasmUrl !== void 0 || t.wasmBinary !== void 0 ? t : e.wasmLoader ? { wasmBinary: jy(await e.wasmLoader()) } : {}; } -async function tO(e) { - const t = Wc(e); +async function _P(e) { + const t = zc(e); if (t.wasmUrl !== void 0 || t.wasmBinary !== void 0) return t; - if (e.wasmLoader) return { wasmBinary: Ay(await e.wasmLoader()) }; - const n = await UL(); - if (n === null) throw new Error(WL); - return { wasmUrl: pl(n) }; + if (e.wasmLoader) return { wasmBinary: jy(await e.wasmLoader()) }; + const n = await Xj(); + if (n === null) throw new Error(Qj); + return { wasmUrl: fl(n) }; } -const WL = "embedpdf.wasm has no default location in this build: the bundler-resolved `@embedpdf/engine-runtime-wasm32/wasm-url` module is unavailable. Either import `localEngine` from `@embedpdf/engine/portable` (the wasm travels inside your build as a lazy chunk — works with every bundler), or self-host the file and pass `assetsUrl` / `wasmUrl` / `wasmBinary`. See https://www.embedpdf.com/docs/viewer/self-hosting"; -async function UL() { +const Qj = "embedpdf.wasm has no default location in this build: the bundler-resolved `@embedpdf/engine-runtime-wasm32/wasm-url` module is unavailable. Either import `localEngine` from `@embedpdf/engine/portable` (the wasm travels inside your build as a lazy chunk — works with every bundler), or self-host the file and pass `assetsUrl` / `wasmUrl` / `wasmBinary`. See https://www.embedpdf.com/docs/viewer/self-hosting"; +async function Xj() { try { - const e = (await Promise.resolve().then(() => ype)).default; + const e = (await Promise.resolve().then(() => Lhe)).default; return typeof e == "string" && e.length > 0 ? e : null; } catch { return null; } } -function pl(e) { +function fl(e) { return typeof document < "u" ? new URL(e, document.baseURI).href : typeof location < "u" ? new URL(e, location.href).href : e; } -function Ay(e) { +function jy(e) { if (e instanceof Uint8Array) { const t = new ArrayBuffer(e.byteLength); return new Uint8Array(t).set(e), t; } return e.slice(0); } -function KL() { - return nO(() => new URL(tL)); +function Zj() { + return NP(() => new URL(lj)); } -function qL() { - return nO(() => new URL(nL)); +function Jj() { + return NP(() => new URL(uj)); } -function nO(e) { +function NP(e) { if (typeof location > "u") return null; let t; try { @@ -9164,13 +9663,13 @@ function nO(e) { } catch { return null; } - return location.origin === "null" || t.origin !== location.origin ? null : (fp(t.href), t.href); + return location.origin === "null" || t.origin !== location.origin ? null : (mp(t.href), t.href); } -function oO(e, t, n) { - const o = t * n * 4, r = 66, s = new Uint8Array(r + o), i = new DataView(s.buffer); - return s[0] = 66, s[1] = 77, i.setUint32(2, r + o, !0), i.setUint32(10, r, !0), i.setUint32(14, 40, !0), i.setInt32(18, t, !0), i.setInt32(22, -n, !0), i.setUint16(26, 1, !0), i.setUint16(28, 32, !0), i.setUint32(30, 3, !0), i.setUint32(34, o, !0), i.setUint32(54, 255, !0), i.setUint32(58, 65280, !0), i.setUint32(62, 16711680, !0), s.set(e, r), s; +function TP(e, t, n) { + const o = t * n * 4, r = 66, s = new Uint8Array(r + o), a = new DataView(s.buffer); + return s[0] = 66, s[1] = 77, a.setUint32(2, r + o, !0), a.setUint32(10, r, !0), a.setUint32(14, 40, !0), a.setInt32(18, t, !0), a.setInt32(22, -n, !0), a.setUint16(26, 1, !0), a.setUint16(28, 32, !0), a.setUint32(30, 3, !0), a.setUint32(34, o, !0), a.setUint32(54, 255, !0), a.setUint32(58, 65280, !0), a.setUint32(62, 16711680, !0), s.set(e, r), s; } -const HL = ` +const e7 = ` self.onmessage = async (event) => { const { id, raster, format, quality } = event.data; try { @@ -9190,12 +9689,12 @@ self.onmessage = async (event) => { self.postMessage({ id, ok: false, error: err && err.message ? err.message : String(err) }); } }; -`, Hh = { type: "module" }; -var rO = class { +`, Xh = { type: "module" }; +var RP = class { constructor(e = {}) { this.options = e, xe(this, "pending", /* @__PURE__ */ new Map()), xe(this, "workers", []), xe(this, "blob", null), xe(this, "configuredUrl", void 0), xe(this, "nextWorker", 0), xe(this, "nextId", 1), xe(this, "disabledWorkerPath", !1), xe(this, "poolVerified", !1); const t = e.worker; - this.configuredUrl = typeof t == "string" && t !== "inline" ? pl(t) : null, this.configuredUrl !== null && fp(this.configuredUrl); + this.configuredUrl = typeof t == "string" && t !== "inline" ? fl(t) : null, this.configuredUrl !== null && mp(this.configuredUrl); } async encode(e, t, n) { const o = t.format ?? "png"; @@ -9206,7 +9705,7 @@ var rO = class { mimeType: "image/bmp", source: { kind: "bytes", - bytes: oO(new Uint8Array(e.data), e.width, e.height) + bytes: TP(new Uint8Array(e.data), e.width, e.height) } }; const r = await this.encodePngOrWebp(e, o, t.quality, n); @@ -9214,7 +9713,7 @@ var rO = class { width: e.width, height: e.height, format: o, - mimeType: sO(o), + mimeType: LP(o), source: { kind: "bytes", bytes: r @@ -9234,9 +9733,9 @@ var rO = class { if (o.aborted) throw r; if (this.poolVerified) throw this.disabledWorkerPath = !0, this.destroy(), r; - return this.disabledWorkerPath = !0, this.destroy(), VL(r), await E1(e, t, n, o); + return this.disabledWorkerPath = !0, this.destroy(), t7(r), await K1(e, t, n, o); } - return await E1(e, t, n, o); + return await K1(e, t, n, o); } canUseWorkerPath() { return this.options.worker === !1 ? !1 : typeof Worker < "u" && typeof OffscreenCanvas < "u"; @@ -9244,18 +9743,18 @@ var rO = class { encodeInWorker(e, t, n, o) { this.ensureWorkers(); const r = this.workers[this.nextWorker++ % this.workers.length], s = `img-${this.nextId++}`; - return new Promise((i, a) => { + return new Promise((a, i) => { const c = () => { this.pending.delete(s), o.removeEventListener("abort", l); }, l = () => { - c(), a(new H(q.Aborted, "image encoding aborted")); + c(), i(new H(q.Aborted, "image encoding aborted")); }; if (this.pending.set(s, { resolve: (f) => { - this.poolVerified = !0, c(), i(f); + this.poolVerified = !0, c(), a(f); }, reject: (f) => { - c(), a(f); + c(), i(f); } }), o.aborted) { l(); @@ -9292,16 +9791,16 @@ var rO = class { createWorker() { const e = this.options.worker; if (typeof e == "function") return e(); - if (this.configuredUrl !== null) return Ji(this.configuredUrl, Hh); - const t = e === void 0 ? qL() : null; - return t !== null ? Ji(t, Hh) : (this.blob ?? (this.blob = JP(HL)), Ji(this.blob.url, Hh)); + if (this.configuredUrl !== null) return ei(this.configuredUrl, Xh); + const t = e === void 0 ? Jj() : null; + return t !== null ? ei(t, Xh) : (this.blob ?? (this.blob = CP(e7)), ei(this.blob.url, Xh)); } }; -let M1 = !1; -function VL(e) { - M1 || (M1 = !0, console.warn("[embedpdf] image encoder workers are unavailable — falling back to main-thread encoding (slower under load). If your bundler did not emit @embedpdf/engine's workers/encoder-worker.js, or your Content-Security-Policy blocks the workers, serve that file yourself and pass `encoderWorker: '/path/encoder-worker.js'` to localEngine(). See https://www.embedpdf.com/docs/viewer/self-hosting —", e)); +let U1 = !1; +function t7(e) { + U1 || (U1 = !0, console.warn("[embedpdf] image encoder workers are unavailable — falling back to main-thread encoding (slower under load). If your bundler did not emit @embedpdf/engine's workers/encoder-worker.js, or your Content-Security-Policy blocks the workers, serve that file yourself and pass `encoderWorker: '/path/encoder-worker.js'` to localEngine(). See https://www.embedpdf.com/docs/viewer/self-hosting —", e)); } -async function E1(e, t, n, o) { +async function K1(e, t, n, o) { if (o.aborted) throw new H(q.Aborted, "image encoding aborted"); if (typeof document > "u" || typeof ImageData > "u") throw new H(q.RuntimeUnavailable, "Canvas image encoding is unavailable in this environment"); const r = document.createElement("canvas"); @@ -9309,16 +9808,16 @@ async function E1(e, t, n, o) { const s = r.getContext("2d"); if (!s) throw new H(q.RuntimeUnavailable, "2D canvas context is unavailable"); s.putImageData(new ImageData(new Uint8ClampedArray(e.data), e.width, e.height), 0, 0); - const i = await new Promise((a, c) => { - r.toBlob((l) => l ? a(l) : c(/* @__PURE__ */ new Error("canvas.toBlob returned null")), sO(t), n); + const a = await new Promise((i, c) => { + r.toBlob((l) => l ? i(l) : c(/* @__PURE__ */ new Error("canvas.toBlob returned null")), LP(t), n); }); if (o.aborted) throw new H(q.Aborted, "image encoding aborted"); - return new Uint8Array(await i.arrayBuffer()); + return new Uint8Array(await a.arrayBuffer()); } -function sO(e) { +function LP(e) { return `image/${e}`; } -var GL = class { +var n7 = class { async encode(e, t, n) { const o = t.format ?? "png"; if (n.aborted) throw new H(q.Aborted, "image encoding aborted"); @@ -9330,11 +9829,11 @@ var GL = class { mimeType: "image/bmp", source: { kind: "bytes", - bytes: oO(r, e.width, e.height) + bytes: TP(r, e.width, e.height) } }; if (o !== "png") throw new H(q.NotImplemented, `'${o}' needs a canvas to encode; here, render 'png' or 'bmp', or give the engine an imageEncoder`); - const s = await YL(r, e.width, e.height, e.stride); + const s = await o7(r, e.width, e.height, e.stride); if (n.aborted) throw new H(q.Aborted, "image encoding aborted"); return { width: e.width, @@ -9348,19 +9847,19 @@ var GL = class { }; } }; -async function YL(e, t, n, o = t * 4) { +async function o7(e, t, n, o = t * 4) { if (typeof CompressionStream > "u") throw new H(q.RuntimeUnavailable, "PNG encoding needs CompressionStream (Node 18 or newer)"); const r = t * 4, s = new Uint8Array((r + 1) * n); for (let p = 0; p < n; p++) { - const h = p * (r + 1); - s[h] = 0, s.set(e.subarray(p * o, p * o + r), h + 1); + const g = p * (r + 1); + s[g] = 0, s.set(e.subarray(p * o, p * o + r), g + 1); } - const i = await QL(s), a = /* @__PURE__ */ new Uint8Array(13), c = new DataView(a.buffer); - c.setUint32(0, t), c.setUint32(4, n), a[8] = 8, a[9] = 6; + const a = await r7(s), i = /* @__PURE__ */ new Uint8Array(13), c = new DataView(i.buffer); + c.setUint32(0, t), c.setUint32(4, n), i[8] = 8, i[9] = 6; const l = [ - Vh("IHDR", a), - Vh("IDAT", i), - Vh("IEND", /* @__PURE__ */ new Uint8Array()) + Zh("IHDR", i), + Zh("IDAT", a), + Zh("IEND", /* @__PURE__ */ new Uint8Array()) ], u = new Uint8Array([ 137, 80, @@ -9370,38 +9869,38 @@ async function YL(e, t, n, o = t * 4) { 10, 26, 10 - ]), f = new Uint8Array(u.length + l.reduce((p, h) => p + h.length, 0)); + ]), f = new Uint8Array(u.length + l.reduce((p, g) => p + g.length, 0)); f.set(u, 0); let d = u.length; for (const p of l) f.set(p, d), d += p.length; return f; } -async function QL(e) { +async function r7(e) { const t = new Blob([e]).stream().pipeThrough(new CompressionStream("deflate")); return new Uint8Array(await new Response(t).arrayBuffer()); } -function Vh(e, t) { +function Zh(e, t) { const n = new Uint8Array(12 + t.length), o = new DataView(n.buffer); o.setUint32(0, t.length); for (let r = 0; r < 4; r++) n[4 + r] = e.charCodeAt(r); - return n.set(t, 8), o.setUint32(8 + t.length, XL(n.subarray(4, 8 + t.length))), n; + return n.set(t, 8), o.setUint32(8 + t.length, s7(n.subarray(4, 8 + t.length))), n; } -let Cu = null; -function XL(e) { - if (!Cu) { - Cu = /* @__PURE__ */ new Uint32Array(256); +let Nu = null; +function s7(e) { + if (!Nu) { + Nu = /* @__PURE__ */ new Uint32Array(256); for (let n = 0; n < 256; n++) { let o = n; for (let r = 0; r < 8; r++) o = o & 1 ? 3988292384 ^ o >>> 1 : o >>> 1; - Cu[n] = o >>> 0; + Nu[n] = o >>> 0; } } let t = 4294967295; - for (const n of e) t = Cu[(t ^ n) & 255] ^ t >>> 8; + for (const n of e) t = Nu[(t ^ n) & 255] ^ t >>> 8; return (t ^ 4294967295) >>> 0; } -var ZL = class { +var a7 = class { constructor(e) { this.ctx = e, xe(this, "protection", void 0), this.protection = e.signedDocumentPolicy === "protect" ? e.protection : null; } @@ -9414,7 +9913,7 @@ var ZL = class { setPdfPermissions(e) { this.ctx = { ...this.ctx, - permissionFlags: lp(e) + permissionFlags: pp(e) }; } /** The signature-derived restrictions this guard subtracts (`null` when none apply). */ @@ -9444,7 +9943,7 @@ var ZL = class { * `/access` effectiveScope). */ effectiveScope() { - return [...c4(this.ctx.scope, this.ctx.permissionFlags, this.protection)].sort(); + return [...hL(this.ctx.scope, this.ctx.permissionFlags, this.protection)].sort(); } /** * Non-throwing capability check — the same predicate `assertCapability` @@ -9453,7 +9952,7 @@ var ZL = class { * exactly what `assertCapability` would let through. */ can(e) { - return wy(e, this.ctx.scope, this.ctx.permissionFlags, this.protection); + return Ny(e, this.ctx.scope, this.ctx.permissionFlags, this.protection); } /** * Throws if `cap` is not available: `ProtectedDocument` when a signature @@ -9462,7 +9961,7 @@ var ZL = class { */ assertCapability(e) { if (!this.can(e)) - throw jo(this.protection).has(e) ? new H(q.ProtectedDocument, m1(e, this.protection)) : new Ln(e, "engine-local"); + throw Lo(this.protection).has(e) ? new H(q.ProtectedDocument, N1(e, this.protection)) : new jn(e, "engine-local"); } /** * Throws `PermissionDenied` if the scope grants none of `caps`. Used @@ -9471,7 +9970,7 @@ var ZL = class { * like `/text` which the cloud gates on `doc.text.copy OR doc.text.search`). */ assertAnyCapability(e) { - if (!r4(e, this.ctx.scope, this.ctx.permissionFlags, this.protection)) throw new Ln(e[0] ?? "doc.open", "engine-local", e); + if (!uL(e, this.ctx.scope, this.ctx.permissionFlags, this.protection)) throw new jn(e[0] ?? "doc.open", "engine-local", e); } /** * Throws `PermissionDenied` if the scope doesn't grant the collab @@ -9486,33 +9985,33 @@ var ZL = class { * per-record authorization for UI gating. */ canCollab(e, t) { - return jo(this.protection).has("doc.annotate.modify") ? !1 : s4(e, t, this.ctx.scope, this.ctx.identity, this.ctx.permissionFlags); + return Lo(this.protection).has("doc.annotate.modify") ? !1 : dL(e, t, this.ctx.scope, this.ctx.identity, this.ctx.permissionFlags); } /** Non-throwing destination-group check — see `assertSetGroup`. */ canSetGroup(e) { - return b1("annotations", e, this.ctx.identity.groupId, this.ctx.scope); + return T1("annotations", e, this.ctx.identity.groupId, this.ctx.scope); } /** Whether the handle may put a form field in `groupId`. */ canSetFieldGroup(e) { - return b1("fields", e, this.ctx.identity.groupId, this.ctx.scope); + return T1("fields", e, this.ctx.identity.groupId, this.ctx.scope); } /** The fields the handle may fill in and sign, and the groups it may put them in, as lists. */ fieldRights() { - return u4(this.ctx.scope, this.ctx.permissionFlags, this.protection, this.ctx.identity.groupId); + return mL(this.ctx.scope, this.ctx.permissionFlags, this.protection, this.ctx.identity.groupId); } /** Whether the handle may `action` (fill in, or sign) the field in `groupId`. */ canFieldWrite(e, t) { - return v4(this.changeAuthority(), e, t); + return PL(this.changeAuthority(), e, t); } /** * Throws unless the handle may `action` some field: what a form write * checks before the job, which checks each field it writes. */ assertSomeFieldWrite(e) { - k4(this.changeAuthority(), e) || this.assertCapability(e === "fill" ? "doc.forms.fill" : "doc.sign"); + ML(this.changeAuthority(), e) || this.assertCapability(e === "fill" ? "doc.forms.fill" : "doc.sign"); } assertCollab(e, t) { - if (this.assertAnnotationsUnprotected(), !this.canCollab(e, t)) throw new Ln(`annotations:${e}`, "engine-local"); + if (this.assertAnnotationsUnprotected(), !this.canCollab(e, t)) throw new jn(`annotations:${e}`, "engine-local"); } /** * What an annotation write carries for the worker to check against the @@ -9542,7 +10041,7 @@ var ZL = class { } /** Throws `ProtectedDocument` when a signature forbids annotation writes. */ assertAnnotationsUnprotected() { - if (jo(this.protection).has("doc.annotate.modify")) throw new H(q.ProtectedDocument, m1("doc.annotate.modify", this.protection)); + if (Lo(this.protection).has("doc.annotate.modify")) throw new H(q.ProtectedDocument, N1("doc.annotate.modify", this.protection)); } /** * Throws `PermissionDenied` if the scope doesn't grant set-group @@ -9551,7 +10050,7 @@ var ZL = class { */ assertSetGroup(e) { if (e !== void 0 && !this.canSetGroup(e)) - throw new Ln(`annotations:set-group:group=${e}`, "engine-local"); + throw new jn(`annotations:set-group:group=${e}`, "engine-local"); } /** * Build the actor that the worker stamps onto a newly created @@ -9592,7 +10091,7 @@ var ZL = class { }; } }; -const JL = [ +const i7 = [ "pdf.permissions", "doc.download", "doc.download.flattened", @@ -9604,43 +10103,43 @@ const JL = [ "annotations:set-group:all", "fields:set-group:all" ]; -function e7(e) { - const t = e.scope ?? JL; - Q8(t); +function c7(e) { + const t = e.scope ?? i7; + nL(t); const n = e.identity ?? {}; - return t7(t, n), { + return l7(t, n), { scope: t, identity: n, - permissionFlags: lp(e.pdfPermissionsBits), + permissionFlags: pp(e.pdfPermissionsBits), protection: e.protection ?? null, signedDocumentPolicy: e.signedDocumentPolicy ?? "protect" }; } -function t7(e, t) { +function l7(e, t) { for (const n of e) { const o = Vo(n); if (o.kind === "collab" && o.filter.kind === "self" && !t.userId) - throw new VT(n); + throw new DR(n); } } -let n7 = 1; -function xd() { - return n7++; +let u7 = 1; +function Od() { + return u7++; } -const o7 = /* @__PURE__ */ new Set([ +const d7 = /* @__PURE__ */ new Set([ "snapshot", "session", "write", "contentWrite", "open", "close" -]), r7 = /* @__PURE__ */ new Set([ +]), f7 = /* @__PURE__ */ new Set([ "write", "contentWrite", "open" ]); -function s7(e) { - const t = aO(e), n = iO(e, t); +function p7(e) { + const t = FP(e), n = jP(e, t); let o = -1; for (let r = 0; r < e.length; r++) { const s = e[r]; @@ -9648,36 +10147,36 @@ function s7(e) { } return o < 0 ? void 0 : e[o]; } -function i7(e) { - return iO(e, aO(e)); +function h7(e) { + return jP(e, FP(e)); } -function iO(e, t) { +function jP(e, t) { const n = e.map((o) => o.rank); for (let o = e.length - 1; o >= 0; o--) for (const r of t[o]) n[r] = Math.max(n[r], n[o]); return n; } -function aO(e) { +function FP(e) { const t = /* @__PURE__ */ new Map(); let n = -1; return e.map((o, r) => { const s = []; if (n >= 0 && s.push(n), o.effect === "runtimeWrite") { - for (let a = 0; a < r; a++) s.push(a); + for (let i = 0; i < r; i++) s.push(i); return n = r, s; } if (o.docId === void 0) return s; - let i = t.get(o.docId); - return i || (i = { + let a = t.get(o.docId); + return a || (a = { jobs: [], lastOrdered: -1, lastChange: -1 - }, t.set(o.docId, i)), o.effect === "close" ? s.push(...i.jobs) : o.effect === "read" ? C1(s, i.lastChange) : C1(s, i.lastOrdered), i.jobs.push(r), o7.has(o.effect) && (i.lastOrdered = r), r7.has(o.effect) && (i.lastChange = r), s; + }, t.set(o.docId, a)), o.effect === "close" ? s.push(...a.jobs) : o.effect === "read" ? q1(s, a.lastChange) : q1(s, a.lastOrdered), a.jobs.push(r), d7.has(o.effect) && (a.lastOrdered = r), f7.has(o.effect) && (a.lastChange = r), s; }); } -function C1(e, t) { +function q1(e, t) { t >= 0 && e.push(t); } -var a7 = class { +var g7 = class { constructor(e, t = {}) { this.transport = e, xe(this, "jobs", []), xe(this, "byId", /* @__PURE__ */ new Map()), xe(this, "workingSets", /* @__PURE__ */ new Map()), xe(this, "unsubscribe", void 0), xe(this, "maxConcurrency", void 0), xe(this, "inFlight", 0), xe(this, "destroyed", !1), this.maxConcurrency = Math.max(1, t.concurrency ?? 1), this.unsubscribe = e.onMessage((n) => this.handleResponse(n)); } @@ -9690,24 +10189,24 @@ var a7 = class { } /** {@link enqueue}, with the job at `place` in line instead of last. */ enqueueAt(e, t, n = {}) { - if (this.destroyed) return Y.rejectReason(new H(q.RuntimeUnavailable, "engine has been destroyed")); - const o = xd(); + if (this.destroyed) return J.rejectReason(new H(q.RuntimeUnavailable, "engine has been destroyed")); + const o = Od(); let r; try { r = t.buildPack(o); - } catch (a) { - return Y.rejectReason(a); + } catch (i) { + return J.rejectReason(i); } - const s = r instanceof Promise ? null : r, i = s ? I1(s.payload) : t.line; - return i ? new Y((a, c, l, u) => { + const s = r instanceof Promise ? null : r, a = s ? H1(s.payload) : t.line; + return a ? new J((i, c, l, u) => { const f = { jobId: o, pack: s, built: s !== null, - effect: i.effect, - docId: i.docId, + effect: a.effect, + docId: a.docId, target: { - ...i.page ? { page: i.page } : {}, + ...a.page ? { page: a.page } : {}, ...t.region ? { region: t.region } : {}, ...n.view !== void 0 ? { view: n.view } : {} }, @@ -9715,7 +10214,7 @@ var a7 = class { rank: 0, sent: !1, preempted: !1, - resolve: (p) => a(p), + resolve: (p) => i(p), reject: c, aborted: !1, abortReason: void 0 @@ -9724,22 +10223,22 @@ var a7 = class { const d = () => { if (this.byId.has(o)) { if (!f.sent) { - this.remove(f), f.reject(new jc(u.reason)), this.tick(); + this.remove(f), f.reject(new Lc(u.reason)), this.tick(); return; } - f.aborted = !0, f.abortReason = u.reason, this.transport.send(ge({ + f.aborted = !0, f.abortReason = u.reason, this.transport.send(be({ kind: "abort", jobId: o })); } }; - u.aborted ? d() : u.addEventListener("abort", d, { once: !0 }), r instanceof Promise && r.then((p) => this.built(f, p, i), (p) => this.failedToBuild(f, p)), this.tick(); - }) : Y.rejectReason(new H(q.Unknown, "a job built later must state its line")); + u.aborted ? d() : u.addEventListener("abort", d, { once: !0 }), r instanceof Promise && r.then((p) => this.built(f, p, a), (p) => this.failedToBuild(f, p)), this.tick(); + }) : J.rejectReason(new H(q.Unknown, "a job built later must state its line")); } /** An async request is ready: the job may be sent when its turn comes. */ built(e, t, n) { if (!this.byId.has(e.jobId)) return; - const o = I1(t.payload); + const o = H1(t.payload); if (o.effect !== n.effect || o.docId !== n.docId || o.page?.objectNumber !== n.page?.objectNumber) { this.failedToBuild(e, new H(q.Unknown, `job ${e.jobId} left the line it took`)); return; @@ -9759,7 +10258,7 @@ var a7 = class { setWorkingSet(e, t, n) { if (this.destroyed) return; let o = this.workingSets.get(e); - n.length > 0 ? (o || (o = /* @__PURE__ */ new Map(), this.workingSets.set(e, o)), o.set(t, new Map(n.map((r) => [r.page.objectNumber, r])))) : (o?.delete(t), o?.size === 0 && this.workingSets.delete(e)), this.tell((r) => ge({ + n.length > 0 ? (o || (o = /* @__PURE__ */ new Map(), this.workingSets.set(e, o)), o.set(t, new Map(n.map((r) => [r.page.objectNumber, r])))) : (o?.delete(t), o?.size === 0 && this.workingSets.delete(e)), this.tell((r) => be({ kind: "pages.workingSet", jobId: r, docId: e, @@ -9776,7 +10275,7 @@ var a7 = class { * set): past every job waiting here, with no slot and no reply. */ tell(e) { - this.destroyed || this.transport.send(e(xd())); + this.destroyed || this.transport.send(e(Od())); } tick() { if (!this.destroyed) @@ -9803,15 +10302,15 @@ var a7 = class { * nothing would run. */ preemptFor(e) { - const t = i7(this.jobs), n = t[this.jobs.indexOf(e)]; + const t = h7(this.jobs), n = t[this.jobs.indexOf(e)]; let o, r = 0; for (let s = 0; s < this.jobs.length; s++) { - const i = this.jobs[s]; - if (!i.sent || i.preempted || i.aborted || i.effect !== "read" || i.pack.transfer.length > 0) continue; - const a = t[s]; - G4(n, a) && (!o || a < r) && (o = i, r = a); + const a = this.jobs[s]; + if (!a.sent || a.preempted || a.aborted || a.effect !== "read" || a.pack.transfer.length > 0) continue; + const i = t[s]; + ej(n, i) && (!o || i < r) && (o = a, r = i); } - o && (o.preempted = !0, this.transport.send(ge({ + o && (o.preempted = !0, this.transport.send(be({ kind: "abort", jobId: o.jobId }))); @@ -9819,17 +10318,17 @@ var a7 = class { /** The job to send next, every job ranked by where it is now, the running ones too. */ pick() { for (const e of this.jobs) e.rank = this.rankNow(e); - return s7(this.jobs); + return p7(this.jobs); } /** The job's rank with the working sets as they are now. */ rankNow(e) { - return V4({ + return JL({ priority: e.priority, ...e.target.region ? { region: e.target.region } : {} - }, H4(e.target, this.viewsOf(e.docId))); + }, ZL(e.target, this.viewsOf(e.docId))); } viewsOf(e) { - return (e === void 0 ? void 0 : this.workingSets.get(e)) ?? c7; + return (e === void 0 ? void 0 : this.workingSets.get(e)) ?? m7; } remove(e) { this.byId.delete(e.jobId); @@ -9839,17 +10338,17 @@ var a7 = class { handleResponse(e) { const t = this.byId.get(e.jobId); if (!t?.sent) return; - if (this.inFlight -= 1, t.preempted && !t.aborted && l7(e)) { + if (this.inFlight -= 1, t.preempted && !t.aborted && b7(e)) { t.sent = !1, t.preempted = !1, this.tick(); return; } const n = this.jobs.indexOf(t); if (this.remove(t), t.aborted) - t.reject(new jc(t.abortReason)), e.kind === "resolve" && e.result.tag === "open" && this.closeAbandoned(n, e.result.docId); + t.reject(new Lc(t.abortReason)), e.kind === "resolve" && e.result.tag === "open" && this.closeAbandoned(n, e.result.docId); else if (e.kind === "resolve") t.resolve(e.result); else { - const o = s5(e.error); - o.code === q.Aborted ? t.reject(new jc(o.message)) : t.reject(o); + const o = O5(e.error); + o.code === q.Aborted ? t.reject(new Lc(o.message)) : t.reject(o); } this.tick(); } @@ -9861,7 +10360,7 @@ var a7 = class { * that id again, waits for it. */ closeAbandoned(e, t) { - this.enqueueAt(e, { buildPack: (n) => ge({ + this.enqueueAt(e, { buildPack: (n) => be({ kind: "close", effect: "close", jobId: n, @@ -9875,11 +10374,11 @@ var a7 = class { for (const e of [...this.jobs]) e.sent || (this.remove(e), e.reject(new H(q.RuntimeUnavailable, "engine destroyed"))); try { - const e = xd(), t = new Promise((n) => { + const e = Od(), t = new Promise((n) => { const o = this.transport.onMessage((r) => { r.jobId === e && (o(), n()); }); - this.transport.send(ge({ + this.transport.send(be({ kind: "shutdown", jobId: e })); @@ -9893,24 +10392,24 @@ var a7 = class { } } }; -const c7 = /* @__PURE__ */ new Map(); -function I1(e) { +const m7 = /* @__PURE__ */ new Map(); +function H1(e) { return { effect: e.effect, docId: "docId" in e ? e.docId : void 0, ..."page" in e && e.page ? { page: e.page } : {} }; } -function l7(e) { +function b7(e) { return e.kind === "reject" && e.error.code === q.Aborted; } -var u7 = class cO { +var y7 = class DP { static fromTransport(t) { - return new cO(t.transport, t.concurrency ?? 1, t.imageEncoder, t.renderPolicy, t.signedDocumentPolicy ?? "protect"); + return new DP(t.transport, t.concurrency ?? 1, t.imageEncoder, t.renderPolicy, t.signedDocumentPolicy ?? "protect"); } constructor(t, n, o, r, s) { - this.transport = t, this.signedDocumentPolicy = s, xe(this, up, !0), xe(this, "canOpenFiles", !0), xe(this, "queue", void 0), xe(this, "imageEncoder", void 0), xe(this, "renderPolicy", void 0), xe(this, "destroyed", !1), xe(this, "fonts", void 0), xe(this, "engineFontListeners", /* @__PURE__ */ new Set()), this.queue = new a7(t, { concurrency: n }), this.imageEncoder = o ?? (typeof document > "u" && typeof OffscreenCanvas > "u" ? new GL() : new rO()), this.renderPolicy = r ?? xr, this.fonts = new FL(this.queue, () => { - for (const i of this.engineFontListeners) i(); + this.transport = t, this.signedDocumentPolicy = s, xe(this, hp, !0), xe(this, "canOpenFiles", !0), xe(this, "queue", void 0), xe(this, "imageEncoder", void 0), xe(this, "renderPolicy", void 0), xe(this, "destroyed", !1), xe(this, "fonts", void 0), xe(this, "engineFontListeners", /* @__PURE__ */ new Set()), this.queue = new g7(t, { concurrency: n }), this.imageEncoder = o ?? (typeof document > "u" && typeof OffscreenCanvas > "u" ? new n7() : new RP()), this.renderPolicy = r ?? Sr, this.fonts = new qj(this.queue, () => { + for (const a of this.engineFontListeners) a(); }); } /** @@ -9923,28 +10422,28 @@ var u7 = class cO { this.destroyed || this.transport.start?.(); } open(t, n) { - if (this.destroyed) return Y.rejectReason(new H(q.RuntimeUnavailable, "engine destroyed")); + if (this.destroyed) return J.rejectReason(new H(q.RuntimeUnavailable, "engine destroyed")); try { - if (n?.scope && !wy("doc.open", n.scope, lp(null))) return Y.rejectReason(new Ln("doc.open", "engine-local")); + if (n?.scope && !Ny("doc.open", n.scope, pp(null))) return J.rejectReason(new jn("doc.open", "engine-local")); } catch (o) { - return Y.rejectReason(o); + return J.rejectReason(o); } - return t.kind === "bytes" ? this.openBytes(t, n) : t.kind === "layerBytes" ? this.openLayerBytes(t, n) : t.kind === "layerFile" ? this.openLayerFile(t, n) : Y.rejectReason(new H(q.InvalidArg, `local engine only supports OpenInput.kind === 'bytes', 'layerBytes' or 'layerFile' (got '${t.kind}')`)); + return t.kind === "bytes" ? this.openBytes(t, n) : t.kind === "layerBytes" ? this.openLayerBytes(t, n) : t.kind === "layerFile" ? this.openLayerFile(t, n) : J.rejectReason(new H(q.InvalidArg, `local engine only supports OpenInput.kind === 'bytes', 'layerBytes' or 'layerFile' (got '${t.kind}')`)); } /** A layer over a base file: PDFium range-reads the base from disk (Node runtimes only). */ openLayerFile(t, n) { - const o = this.queue, r = n?.password ?? null, s = t.id ?? Ac(), i = t.baseKey ?? t.basePath, a = t.layer?.kind === "artifact" ? Iu(t.layer.bytes) : void 0, c = t.layer?.kind === "artifact-file" ? { + const o = this.queue, r = n?.password ?? null, s = t.id ?? xc(), a = t.baseKey ?? t.basePath, i = t.layer?.kind === "artifact" ? Tu(t.layer.bytes) : void 0, c = t.layer?.kind === "artifact-file" ? { kind: "artifact-file", path: t.layer.path - } : a === void 0 ? { kind: "fresh" } : { + } : i === void 0 ? { kind: "fresh" } : { kind: "artifact", - bytes: a - }, l = a ? [a] : [], u = this.signedDocumentPolicy, f = t.baseSha256, d = o.enqueue({ buildPack: (p) => ge({ + bytes: i + }, l = i ? [i] : [], u = this.signedDocumentPolicy, f = t.baseSha256, d = o.enqueue({ buildPack: (p) => be({ kind: "open.layerFileBase", effect: "open", jobId: p, docId: s, - baseKey: i, + baseKey: a, basePath: t.basePath, layer: c, password: r, @@ -9955,29 +10454,29 @@ var u7 = class cO { return this.openResult(d, n); } openBytes(t, n) { - const o = this.queue, r = n?.password ?? null, s = Iu(t.bytes), i = t.id ?? Ac(), a = this.signedDocumentPolicy, c = o.enqueue({ buildPack: (l) => ge({ + const o = this.queue, r = n?.password ?? null, s = Tu(t.bytes), a = t.id ?? xc(), i = this.signedDocumentPolicy, c = o.enqueue({ buildPack: (l) => be({ kind: "open.fatMem", effect: "open", jobId: l, - docId: i, + docId: a, bytes: s, password: r, - signedDocumentPolicy: a, + signedDocumentPolicy: i, reserveObjectNumbers: 64 }, [s]) }); return this.openResult(c, n); } openLayerBytes(t, n) { - const o = this.queue, r = n?.password ?? null, s = t.id ?? Ac(), i = t.baseKey ?? s, a = Iu(t.baseBytes), c = t.layer?.kind === "artifact" ? Iu(t.layer.bytes) : void 0, l = c === void 0 ? { kind: "fresh" } : { + const o = this.queue, r = n?.password ?? null, s = t.id ?? xc(), a = t.baseKey ?? s, i = Tu(t.baseBytes), c = t.layer?.kind === "artifact" ? Tu(t.layer.bytes) : void 0, l = c === void 0 ? { kind: "fresh" } : { kind: "artifact", bytes: c - }, u = c ? [a, c] : [a], f = this.signedDocumentPolicy, d = o.enqueue({ buildPack: (p) => ge({ + }, u = c ? [i, c] : [i], f = this.signedDocumentPolicy, d = o.enqueue({ buildPack: (p) => be({ kind: "open.layerMemBase", effect: "open", jobId: p, docId: s, - baseKey: i, - baseBytes: a, + baseKey: a, + baseBytes: i, layer: l, password: r, signedDocumentPolicy: f, @@ -9987,48 +10486,48 @@ var u7 = class cO { } openResult(t, n) { const o = this.queue, r = this.imageEncoder; - return Y.run(async (s) => { - const i = () => t.abort(s.reason); - s.aborted ? i() : s.addEventListener("abort", i, { once: !0 }); - const a = await t; - if (a.tag !== "open") throw new H(q.WireFormat, `unexpected payload tag: ${a.tag}`); - const c = new ZL(e7({ + return J.run(async (s) => { + const a = () => t.abort(s.reason); + s.aborted ? a() : s.addEventListener("abort", a, { once: !0 }); + const i = await t; + if (i.tag !== "open") throw new H(q.WireFormat, `unexpected payload tag: ${i.tag}`); + const c = new a7(c7({ scope: n?.scope, identity: n?.identity, - pdfPermissionsBits: a.security.pdfPermissionsBits, - protection: a.protection ?? null, + pdfPermissionsBits: i.security.pdfPermissionsBits, + protection: i.protection ?? null, signedDocumentPolicy: this.signedDocumentPolicy - })), l = jL.open(a.docId, o, r, a.security, c, `local:${Ac()}`, this.renderPolicy, a.objectNumbers, this.engineFontListeners); - return a.passwordRejected && l.security.markPasswordRejected(), l; + })), l = Kj.open(i.docId, o, r, i.security, c, `local:${xc()}`, this.renderPolicy, i.objectNumbers, this.engineFontListeners); + return i.passwordRejected && l.security.markPasswordRejected(), l; }); } destroy() { - return this.destroyed ? Y.resolveValue(void 0) : (this.destroyed = !0, Y.run(async () => { + return this.destroyed ? J.resolveValue(void 0) : (this.destroyed = !0, J.run(async () => { await this.queue.shutdown(), this.imageEncoder.destroy?.(); })); } }; -function Iu(e) { +function Tu(e) { if (e instanceof ArrayBuffer) return e; const t = new ArrayBuffer(e.byteLength); return new Uint8Array(t).set(e), t; } -function bm(e) { +function Om(e) { return new Promise((t, n) => { - const o = (a) => { - e.removeEventListener("message", r), e.removeEventListener("error", s), e.removeEventListener("messageerror", i), a(); - }, r = (a) => { - const c = a.data; + const o = (i) => { + e.removeEventListener("message", r), e.removeEventListener("error", s), e.removeEventListener("messageerror", a), i(); + }, r = (i) => { + const c = i.data; !c || typeof c != "object" || !("kind" in c) || (c.kind === "ready" ? o(t) : c.kind === "init-error" && o(() => n(/* @__PURE__ */ new Error(`worker failed to initialize: ${c.error}`)))); - }, s = (a) => { - o(() => n(/* @__PURE__ */ new Error(`worker failed to start: ${a.message || "script error — bad worker URL, a Content-Security-Policy that blocks it, or a syntax error in the worker script"}`))); - }, i = () => { + }, s = (i) => { + o(() => n(/* @__PURE__ */ new Error(`worker failed to start: ${i.message || "script error — bad worker URL, a Content-Security-Policy that blocks it, or a syntax error in the worker script"}`))); + }, a = () => { o(() => n(/* @__PURE__ */ new Error("worker handshake message could not be deserialized"))); }; - e.addEventListener("message", r), e.addEventListener("error", s), e.addEventListener("messageerror", i); + e.addEventListener("message", r), e.addEventListener("error", s), e.addEventListener("messageerror", a); }); } -var Gh = class lO { +var Jh = class $P { /** * Wrap a worker and wait for its init handshake. Pass `ready` when the * worker existed before this call (see {@link watchWorkerReady}); omit it @@ -10036,8 +10535,8 @@ var Gh = class lO { * message can have fired yet. */ static async spawn(t, n) { - const o = new lO(t); - return await (n ?? bm(t)), o; + const o = new $P(t); + return await (n ?? Om(t)), o; } constructor(t) { this.worker = t, xe(this, "listeners", /* @__PURE__ */ new Set()), xe(this, "onMessageBound", void 0), this.onMessageBound = (n) => this.handleMessage(n), t.addEventListener("message", this.onMessageBound); @@ -10061,7 +10560,7 @@ var Gh = class lO { } catch { } } -}, d7 = class { +}, w7 = class { constructor(e, t = {}) { this.boot = e, this.options = t, xe(this, "listeners", /* @__PURE__ */ new Set()), xe(this, "pendingPacks", []), xe(this, "inner", void 0), xe(this, "innerUnsubscribe", void 0), xe(this, "bootPromise", void 0), xe(this, "bootError", void 0), xe(this, "terminated", !1); } @@ -10134,7 +10633,7 @@ var Gh = class lO { this.deliverAsync({ kind: "reject", jobId: e.payload.jobId, - error: ba(t) + error: ap(t) }); } deliverAsync(e) { @@ -10148,31 +10647,31 @@ var Gh = class lO { } } }; -function f7(e, t) { +function v7(e, t) { if (typeof e == "object" && e !== null) { - if (t.wasmLoader && !Wc(t).wasmUrl && !t.wasmBinary) { - const r = O1(t).then((s) => (Yh(e, s), bm(e))); + if (t.wasmLoader && !zc(t).wasmUrl && !t.wasmBinary) { + const r = W1(t).then((s) => (eg(e, s), Om(e))); return r.catch(() => { }), { - spawn: () => Gh.spawn(e, r), + spawn: () => Jh.spawn(e, r), lazyOptions: { onAbandon: () => e.terminate() } }; } - Yh(e, Wc(t)); - const o = bm(e); + eg(e, zc(t)); + const o = Om(e); return o.catch(() => { }), { - spawn: () => Gh.spawn(e, o), + spawn: () => Jh.spawn(e, o), lazyOptions: { onAbandon: () => e.terminate() } }; } - const n = typeof e == "string" && e !== "inline" ? pl(e) : null; - return n !== null && fp(n), { + const n = typeof e == "string" && e !== "inline" ? fl(e) : null; + return n !== null && mp(n), { spawn: async () => { - const o = e === void 0 || e === "inline" ? await tO(t) : t.wasmLoader ? await O1(t) : Wc(t), r = await p7(e, n); - Yh(r.worker, o); + const o = e === void 0 || e === "inline" ? await _P(t) : t.wasmLoader ? await W1(t) : zc(t), r = await k7(e, n); + eg(r.worker, o); try { - const s = await Gh.spawn(r.worker); + const s = await Jh.spawn(r.worker); return r.destroy(), s; } catch (s) { throw r.destroy(), r.worker.terminate(), r.file === null ? s : new Error(`[embedpdf] the engine worker did not start from ${r.file}, where your bundler was to put @embedpdf/engine's workers/embedpdf-worker.js. If it cannot emit that file, import \`localEngine\` from \`@embedpdf/engine/portable\`, or copy the file and pass its URL as \`worker\`. See https://www.embedpdf.com/docs/viewer/self-hosting`, { cause: s }); @@ -10181,14 +10680,14 @@ function f7(e, t) { lazyOptions: {} }; } -function Yh(e, t) { +function eg(e, t) { const n = { kind: "init", wasmUrl: t.wasmUrl }; t.wasmBinary && (n.wasmBinary = t.wasmBinary), e.postMessage(n, t.wasmBinary ? [t.wasmBinary] : []); } -async function p7(e, t) { +async function k7(e, t) { if (typeof e == "function") return { worker: e(), destroy: () => { @@ -10196,28 +10695,28 @@ async function p7(e, t) { file: null }; if (t !== null) return { - worker: Ji(t, { type: "module" }), + worker: ei(t, { type: "module" }), destroy: () => { }, file: null }; - const n = e === void 0 ? KL() : null; + const n = e === void 0 ? Zj() : null; if (n !== null) return { - worker: Ji(n, { type: "module" }), + worker: ei(n, { type: "module" }), destroy: () => { }, file: n }; let o; try { - o = (await import("./embedpdf-worker.source-Bj9KREQ9-zQG3AtU_.js")).default; + o = (await import("./embedpdf-worker.source-Ckg6uFZ3-Dkca2Kjg.js")).default; } catch (s) { throw new Error("[embedpdf] could not load the inline engine worker module (@embedpdf/engine/worker-source). If your bundler cannot resolve it, pass a worker explicitly: `localEngine({ worker: () => new Worker(...) })`.", { cause: s }); } - const r = JP(o); + const r = CP(o); try { return { - worker: Ji(r.url, { type: "module" }), + worker: ei(r.url, { type: "module" }), destroy: r.revoke, file: null }; @@ -10225,53 +10724,53 @@ async function p7(e, t) { throw r.revoke(), new Error("[embedpdf] could not start the engine worker from a blob: URL, which it uses when the viewer's scripts are on another origin than the page (a browser starts a worker only from the page's own) or when `worker` is `'inline'`. Allow `worker-src blob:`, or serve the viewer's files from your own origin. See https://www.embedpdf.com/docs/viewer/concepts/security", { cause: s }); } } -function h7(e = {}) { - const t = m7(e) ? { - spawn: () => g7(e.runtime, e), +function x7(e = {}) { + const t = S7(e) ? { + spawn: () => A7(e.runtime, e), lazyOptions: {} - } : f7(e.worker, e), n = new d7(async () => { - const [r, s] = await Promise.allSettled([t.spawn(), b7(e)]); + } : v7(e.worker, e), n = new w7(async () => { + const [r, s] = await Promise.allSettled([t.spawn(), O7(e)]); if (r.status === "rejected") throw r.reason; - const i = r.value; + const a = r.value; try { if (s.status === "rejected") throw s.reason; - return await w7(i, o.fonts, s.value), i; - } catch (a) { - throw await i.terminate().catch(() => { - }), a; + return await M7(a, o.fonts, s.value), a; + } catch (i) { + throw await a.terminate().catch(() => { + }), i; } - }, t.lazyOptions), o = u7.fromTransport({ + }, t.lazyOptions), o = y7.fromTransport({ transport: n, concurrency: e.concurrency, - imageEncoder: e.imageEncoder ?? (e.encoderWorker !== void 0 ? new rO({ worker: e.encoderWorker }) : void 0), + imageEncoder: e.imageEncoder ?? (e.encoderWorker !== void 0 ? new RP({ worker: e.encoderWorker }) : void 0), renderPolicy: e.renderPolicy, signedDocumentPolicy: e.signedDocumentPolicy }); return o; } -async function g7(e = {}, t = {}) { - const { createInlineTransport: n } = await import("./inline-transport-CUNc827b.js"); - return n(e, () => tO(t)); +async function A7(e = {}, t = {}) { + const { createInlineTransport: n } = await import("./inline-transport-DOhLr0Ey.js"); + return n(e, () => _P(t)); } -function m7(e) { +function S7(e) { return !(e.worker !== void 0 && e.worker !== "inline") && typeof Worker > "u"; } -async function b7(e) { +async function O7(e) { const t = [...(e.fonts ?? []).map((s) => ({ raw: s, fallback: !1 })), ...(e.fallbackFonts ?? []).map((s) => ({ raw: s, fallback: !0 - }))], [n, o] = await Promise.all([Promise.all(t.map(async ({ raw: s, fallback: i }) => ({ - spec: await v7(s), - fallback: i, - tier: sf.own, + }))], [n, o] = await Promise.all([Promise.all(t.map(async ({ raw: s, fallback: a }) => ({ + spec: await E7(s), + fallback: a, + tier: af.own, builtIn: !1 - }))), e.defaultFallbackFonts === !1 ? [] : y7()]), r = new Set(n.map((s) => s.spec.key)); + }))), e.defaultFallbackFonts === !1 ? [] : P7()]), r = new Set(n.map((s) => s.spec.key)); return [...n, ...o.filter((s) => !r.has(s.spec.key))]; } -async function y7() { +async function P7() { const { DEFAULT_FALLBACK_FONTS: e, loadFallbackFont: t } = await import("./library-DRPOvpxg.js"); return Promise.all(e.map(async (n) => ({ spec: { @@ -10282,20 +10781,20 @@ async function y7() { data: await t(n.key) }, fallback: !0, - tier: sf.builtIn, + tier: af.builtIn, builtIn: !0 }))); } -async function w7(e, t, n) { +async function M7(e, t, n) { const o = /* @__PURE__ */ new Set(); - for (const { spec: r, fallback: s, tier: i, builtIn: a } of n) { + for (const { spec: r, fallback: s, tier: a, builtIn: i } of n) { if (t.seedRegistered(r, { fallback: s, - tier: i, - builtIn: a + tier: a, + builtIn: i }), !o.has(r.key)) { o.add(r.key); - const c = x7(r.data), l = await _1(e, (u) => ge({ + const c = I7(r.data), l = await V1(e, (u) => be({ kind: "fonts.register", effect: "runtimeWrite", jobId: u, @@ -10304,31 +10803,31 @@ async function w7(e, t, n) { weight: r.weight ?? 0, italic: r.italic === void 0 ? -1 : r.italic ? 1 : 0, data: c, - ...a ? { builtIn: !0 } : {} + ...i ? { builtIn: !0 } : {} }, [c])); l.tag === "fonts.register" && t.applyIdentity(r.key, l.identity); } - s && await _1(e, (c) => ge({ + s && await V1(e, (c) => be({ kind: "fonts.addFallback", effect: "runtimeWrite", jobId: c, fontKey: r.key, - tier: i + tier: a })); } } -function _1(e, t) { - const n = xd(); +function V1(e, t) { + const n = Od(); return new Promise((o, r) => { - const s = e.onMessage((i) => { - i.jobId === n && (s(), i.kind === "resolve" ? o(i.result) : r(s5(i.error))); + const s = e.onMessage((a) => { + a.jobId === n && (s(), a.kind === "resolve" ? o(a.result) : r(O5(a.error))); }); e.send(t(n)); }); } -async function v7(e) { +async function E7(e) { if (e.data == null == (e.url == null)) throw new Error(`[embedpdf] localEngine: font "${e.key}" must set exactly one of \`data\` or \`url\``); - const t = e.data ?? await k7(e.url); + const t = e.data ?? await C7(e.url); return { key: e.key, familyName: e.familyName, @@ -10337,117 +10836,117 @@ async function v7(e) { data: t }; } -async function k7(e) { +async function C7(e) { const t = await fetch(e); if (!t.ok) throw new Error(`[embedpdf] localEngine: failed to fetch font ${e}: ${t.status}`); return new Uint8Array(await t.arrayBuffer()); } -function x7(e) { +function I7(e) { if (e instanceof ArrayBuffer) return e.slice(0); const t = new ArrayBuffer(e.byteLength); return new Uint8Array(t).set(e), t; } -const uO = "" + new URL("../embedpdf.wasm", import.meta.url).href; -var Wl, Ee, dO, Wr, N1, fO, pO, Qh, Ad, Uc, hO, Sy, ym, wm, gO, lf = {}, uf = [], A7 = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, Ul = Array.isArray; -function _o(e, t) { +const BP = "" + new URL("../embedpdf.wasm", import.meta.url).href; +var Kl, Ee, zP, Ur, G1, WP, UP, tg, Pd, Wc, KP, Fy, Pm, Mm, qP, uf = {}, df = [], _7 = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, ql = Array.isArray; +function Io(e, t) { for (var n in t) e[n] = t[n]; return e; } -function Py(e) { +function Dy(e) { e && e.parentNode && e.parentNode.removeChild(e); } -function $n(e, t, n) { - var o, r, s, i = {}; - for (s in t) s == "key" ? o = t[s] : s == "ref" ? r = t[s] : i[s] = t[s]; - if (arguments.length > 2 && (i.children = arguments.length > 3 ? Wl.call(arguments, 2) : n), typeof e == "function" && e.defaultProps != null) for (s in e.defaultProps) i[s] === void 0 && (i[s] = e.defaultProps[s]); - return Kc(e, i, o, r, null); +function Dn(e, t, n) { + var o, r, s, a = {}; + for (s in t) s == "key" ? o = t[s] : s == "ref" ? r = t[s] : a[s] = t[s]; + if (arguments.length > 2 && (a.children = arguments.length > 3 ? Kl.call(arguments, 2) : n), typeof e == "function" && e.defaultProps != null) for (s in e.defaultProps) a[s] === void 0 && (a[s] = e.defaultProps[s]); + return Uc(e, a, o, r, null); } -function Kc(e, t, n, o, r) { - var s = { type: e, props: t, key: n, ref: o, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: r ?? ++dO, __i: -1, __u: 0 }; +function Uc(e, t, n, o, r) { + var s = { type: e, props: t, key: n, ref: o, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: r ?? ++zP, __i: -1, __u: 0 }; return r == null && Ee.vnode != null && Ee.vnode(s), s; } -function S7() { +function N7() { return { current: null }; } -function Te(e) { +function Re(e) { return e.children; } -function gn(e, t) { +function vn(e, t) { this.props = e, this.context = t; } -function xa(e, t) { - if (t == null) return e.__ ? xa(e.__, e.__i + 1) : null; +function ki(e, t) { + if (t == null) return e.__ ? ki(e.__, e.__i + 1) : null; for (var n; t < e.__k.length; t++) if ((n = e.__k[t]) != null && n.__e != null) return n.__e; - return typeof e.type == "function" ? xa(e) : null; + return typeof e.type == "function" ? ki(e) : null; } -function P7(e) { +function T7(e) { if (e.__P && e.__d) { - var t = e.__v, n = t.__e, o = [], r = [], s = _o({}, t); - s.__v = t.__v + 1, Ee.vnode && Ee.vnode(s), Oy(e.__P, s, t, e.__n, e.__P.namespaceURI, 32 & t.__u ? [n] : null, o, n ?? xa(t), !!(32 & t.__u), r), s.__v = t.__v, s.__.__k[s.__i] = s, vO(o, s, r), t.__e = t.__ = null, s.__e != n && mO(s); + var t = e.__v, n = t.__e, o = [], r = [], s = Io({}, t); + s.__v = t.__v + 1, Ee.vnode && Ee.vnode(s), $y(e.__P, s, t, e.__n, e.__P.namespaceURI, 32 & t.__u ? [n] : null, o, n ?? ki(t), !!(32 & t.__u), r), s.__v = t.__v, s.__.__k[s.__i] = s, QP(o, s, r), t.__e = t.__ = null, s.__e != n && HP(s); } } -function mO(e) { +function HP(e) { if ((e = e.__) != null && e.__c != null) return e.__e = e.__c.base = null, e.__k.some(function(t) { if (t != null && t.__e != null) return e.__e = e.__c.base = t.__e; - }), mO(e); + }), HP(e); } -function vm(e) { - (!e.__d && (e.__d = !0) && Wr.push(e) && !df.__r++ || N1 != Ee.debounceRendering) && ((N1 = Ee.debounceRendering) || fO)(df); +function Em(e) { + (!e.__d && (e.__d = !0) && Ur.push(e) && !ff.__r++ || G1 != Ee.debounceRendering) && ((G1 = Ee.debounceRendering) || WP)(ff); } -function df() { +function ff() { try { - for (var e, t = 1; Wr.length; ) Wr.length > t && Wr.sort(pO), e = Wr.shift(), t = Wr.length, P7(e); + for (var e, t = 1; Ur.length; ) Ur.length > t && Ur.sort(UP), e = Ur.shift(), t = Ur.length, T7(e); } finally { - Wr.length = df.__r = 0; + Ur.length = ff.__r = 0; } } -function bO(e, t, n, o, r, s, i, a, c, l, u) { - var f, d, p, h, g, m, M, x = o && o.__k || uf, S = t.length; - for (c = O7(n, t, x, c, S), f = 0; f < S; f++) (p = n.__k[f]) != null && (d = p.__i != -1 && x[p.__i] || lf, p.__i = f, m = Oy(e, p, d, r, s, i, a, c, l, u), h = p.__e, p.ref && d.ref != p.ref && (d.ref && My(d.ref, null, p), u.push(p.ref, p.__c || h, p)), g == null && h != null && (g = h), (M = !!(4 & p.__u)) || d.__k === p.__k ? (c = yO(p, c, e, M), M && d.__e && (d.__e = null)) : typeof p.type == "function" && m !== void 0 ? c = m : h && (c = h.nextSibling), p.__u &= -7); - return n.__e = g, c; +function VP(e, t, n, o, r, s, a, i, c, l, u) { + var f, d, p, g, h, m, O, E = o && o.__k || df, P = t.length; + for (c = R7(n, t, E, c, P), f = 0; f < P; f++) (p = n.__k[f]) != null && (d = p.__i != -1 && E[p.__i] || uf, p.__i = f, m = $y(e, p, d, r, s, a, i, c, l, u), g = p.__e, p.ref && d.ref != p.ref && (d.ref && By(d.ref, null, p), u.push(p.ref, p.__c || g, p)), h == null && g != null && (h = g), (O = !!(4 & p.__u)) || d.__k === p.__k ? (c = GP(p, c, e, O), O && d.__e && (d.__e = null)) : typeof p.type == "function" && m !== void 0 ? c = m : g && (c = g.nextSibling), p.__u &= -7); + return n.__e = h, c; } -function O7(e, t, n, o, r) { - var s, i, a, c, l, u = n.length, f = u, d = 0; - for (e.__k = new Array(r), s = 0; s < r; s++) (i = t[s]) != null && typeof i != "boolean" && typeof i != "function" ? (typeof i == "string" || typeof i == "number" || typeof i == "bigint" || i.constructor == String ? i = e.__k[s] = Kc(null, i, null, null, null) : Ul(i) ? i = e.__k[s] = Kc(Te, { children: i }, null, null, null) : i.constructor === void 0 && i.__b > 0 ? i = e.__k[s] = Kc(i.type, i.props, i.key, i.ref ? i.ref : null, i.__v) : e.__k[s] = i, c = s + d, i.__ = e, i.__b = e.__b + 1, a = null, (l = i.__i = M7(i, n, c, f)) != -1 && (f--, (a = n[l]) && (a.__u |= 2)), a == null || a.__v == null ? (l == -1 && (r > u ? d-- : r < u && d++), typeof i.type != "function" && (i.__u |= 4)) : l != c && (l == c - 1 ? d-- : l == c + 1 ? d++ : (l > c ? d-- : d++, i.__u |= 4))) : e.__k[s] = null; - if (f) for (s = 0; s < u; s++) (a = n[s]) != null && (2 & a.__u) == 0 && (a.__e == o && (o = xa(a)), xO(a, a)); +function R7(e, t, n, o, r) { + var s, a, i, c, l, u = n.length, f = u, d = 0; + for (e.__k = new Array(r), s = 0; s < r; s++) (a = t[s]) != null && typeof a != "boolean" && typeof a != "function" ? (typeof a == "string" || typeof a == "number" || typeof a == "bigint" || a.constructor == String ? a = e.__k[s] = Uc(null, a, null, null, null) : ql(a) ? a = e.__k[s] = Uc(Re, { children: a }, null, null, null) : a.constructor === void 0 && a.__b > 0 ? a = e.__k[s] = Uc(a.type, a.props, a.key, a.ref ? a.ref : null, a.__v) : e.__k[s] = a, c = s + d, a.__ = e, a.__b = e.__b + 1, i = null, (l = a.__i = L7(a, n, c, f)) != -1 && (f--, (i = n[l]) && (i.__u |= 2)), i == null || i.__v == null ? (l == -1 && (r > u ? d-- : r < u && d++), typeof a.type != "function" && (a.__u |= 4)) : l != c && (l == c - 1 ? d-- : l == c + 1 ? d++ : (l > c ? d-- : d++, a.__u |= 4))) : e.__k[s] = null; + if (f) for (s = 0; s < u; s++) (i = n[s]) != null && (2 & i.__u) == 0 && (i.__e == o && (o = ki(i)), ZP(i, i)); return o; } -function yO(e, t, n, o) { +function GP(e, t, n, o) { var r, s; if (typeof e.type == "function") { - for (r = e.__k, s = 0; r && s < r.length; s++) r[s] && (r[s].__ = e, t = yO(r[s], t, n, o)); + for (r = e.__k, s = 0; r && s < r.length; s++) r[s] && (r[s].__ = e, t = GP(r[s], t, n, o)); return t; } - e.__e != t && (o && (t && e.type && !t.parentNode && (t = xa(e)), n.insertBefore(e.__e, t || null)), t = e.__e); + e.__e != t && (o && (t && e.type && !t.parentNode && (t = ki(e)), n.insertBefore(e.__e, t || null)), t = e.__e); do t = t && t.nextSibling; while (t != null && t.nodeType == 8); return t; } -function to(e, t) { - return t = t || [], e == null || typeof e == "boolean" || (Ul(e) ? e.some(function(n) { - to(n, t); +function eo(e, t) { + return t = t || [], e == null || typeof e == "boolean" || (ql(e) ? e.some(function(n) { + eo(n, t); }) : t.push(e)), t; } -function M7(e, t, n, o) { - var r, s, i, a = e.key, c = e.type, l = t[n], u = l != null && (2 & l.__u) == 0; - if (l === null && a == null || u && a == l.key && c == l.type) return n; +function L7(e, t, n, o) { + var r, s, a, i = e.key, c = e.type, l = t[n], u = l != null && (2 & l.__u) == 0; + if (l === null && i == null || u && i == l.key && c == l.type) return n; if (o > (u ? 1 : 0)) { - for (r = n - 1, s = n + 1; r >= 0 || s < t.length; ) if ((l = t[i = r >= 0 ? r-- : s++]) != null && (2 & l.__u) == 0 && a == l.key && c == l.type) return i; + for (r = n - 1, s = n + 1; r >= 0 || s < t.length; ) if ((l = t[a = r >= 0 ? r-- : s++]) != null && (2 & l.__u) == 0 && i == l.key && c == l.type) return a; } return -1; } -function T1(e, t, n) { - t[0] == "-" ? e.setProperty(t, n ?? "") : e[t] = n == null ? "" : typeof n != "number" || A7.test(t) ? n : n + "px"; +function Y1(e, t, n) { + t[0] == "-" ? e.setProperty(t, n ?? "") : e[t] = n == null ? "" : typeof n != "number" || _7.test(t) ? n : n + "px"; } -function _u(e, t, n, o, r) { - var s, i; +function Ru(e, t, n, o, r) { + var s, a; e: if (t == "style") if (typeof n == "string") e.style.cssText = n; else { - if (typeof o == "string" && (e.style.cssText = o = ""), o) for (t in o) n && t in n || T1(e.style, t, ""); - if (n) for (t in n) o && n[t] == o[t] || T1(e.style, t, n[t]); + if (typeof o == "string" && (e.style.cssText = o = ""), o) for (t in o) n && t in n || Y1(e.style, t, ""); + if (n) for (t in n) o && n[t] == o[t] || Y1(e.style, t, n[t]); } - else if (t[0] == "o" && t[1] == "n") s = t != (t = t.replace(hO, "$1")), i = t.toLowerCase(), t = i in e || t == "onFocusOut" || t == "onFocusIn" ? i.slice(2) : t.slice(2), e.l || (e.l = {}), e.l[t + s] = n, n ? o ? n[Uc] = o[Uc] : (n[Uc] = Sy, e.addEventListener(t, s ? wm : ym, s)) : e.removeEventListener(t, s ? wm : ym, s); + else if (t[0] == "o" && t[1] == "n") s = t != (t = t.replace(KP, "$1")), a = t.toLowerCase(), t = a in e || t == "onFocusOut" || t == "onFocusIn" ? a.slice(2) : t.slice(2), e.l || (e.l = {}), e.l[t + s] = n, n ? o ? n[Wc] = o[Wc] : (n[Wc] = Fy, e.addEventListener(t, s ? Mm : Pm, s)) : e.removeEventListener(t, s ? Mm : Pm, s); else { if (r == "http://www.w3.org/2000/svg") t = t.replace(/xlink(H|:h)/, "h").replace(/sName$/, "s"); else if (t != "width" && t != "height" && t != "href" && t != "list" && t != "form" && t != "tabIndex" && t != "download" && t != "rowSpan" && t != "colSpan" && t != "role" && t != "popover" && t in e) try { @@ -10458,57 +10957,57 @@ function _u(e, t, n, o, r) { typeof n == "function" || (n == null || n === !1 && t[4] != "-" ? e.removeAttribute(t) : e.setAttribute(t, t == "popover" && n == 1 ? "" : n)); } } -function R1(e) { +function Q1(e) { return function(t) { if (this.l) { var n = this.l[t.type + e]; - if (t[Ad] == null) t[Ad] = Sy++; - else if (t[Ad] < n[Uc]) return; + if (t[Pd] == null) t[Pd] = Fy++; + else if (t[Pd] < n[Wc]) return; return n(Ee.event ? Ee.event(t) : t); } }; } -function Oy(e, t, n, o, r, s, i, a, c, l) { - var u, f, d, p, h, g, m, M, x, S, P, k, A, y, w, O, b = t.type; +function $y(e, t, n, o, r, s, a, i, c, l) { + var u, f, d, p, g, h, m, O, E, P, k, A, w, b, v, x, y = t.type; if (t.constructor !== void 0) return null; - 128 & n.__u && (c = !!(32 & n.__u), s = [a = t.__e = n.__e]), (u = Ee.__b) && u(t); - e: if (typeof b == "function") { - f = i.length; + 128 & n.__u && (c = !!(32 & n.__u), s = [i = t.__e = n.__e]), (u = Ee.__b) && u(t); + e: if (typeof y == "function") { + f = a.length; try { - if (x = t.props, S = b.prototype && b.prototype.render, P = (u = b.contextType) && o[u.__c], k = u ? P ? P.props.value : u.__ : o, n.__c ? M = (d = t.__c = n.__c).__ = d.__E : (S ? t.__c = d = new b(x, k) : (t.__c = d = new gn(x, k), d.constructor = b, d.render = C7), P && P.sub(d), d.state || (d.state = {}), d.__n = o, p = d.__d = !0, d.__h = [], d._sb = []), S && d.__s == null && (d.__s = d.state), S && b.getDerivedStateFromProps != null && (d.__s == d.state && (d.__s = _o({}, d.__s)), _o(d.__s, b.getDerivedStateFromProps(x, d.__s))), h = d.props, g = d.state, d.__v = t, p) S && b.getDerivedStateFromProps == null && d.componentWillMount != null && d.componentWillMount(), S && d.componentDidMount != null && d.__h.push(d.componentDidMount); + if (E = t.props, P = y.prototype && y.prototype.render, k = (u = y.contextType) && o[u.__c], A = u ? k ? k.props.value : u.__ : o, n.__c ? O = (d = t.__c = n.__c).__ = d.__E : (P ? t.__c = d = new y(E, A) : (t.__c = d = new vn(E, A), d.constructor = y, d.render = F7), k && k.sub(d), d.state || (d.state = {}), d.__n = o, p = d.__d = !0, d.__h = [], d._sb = []), P && d.__s == null && (d.__s = d.state), P && y.getDerivedStateFromProps != null && (d.__s == d.state && (d.__s = Io({}, d.__s)), Io(d.__s, y.getDerivedStateFromProps(E, d.__s))), g = d.props, h = d.state, d.__v = t, p) P && y.getDerivedStateFromProps == null && d.componentWillMount != null && d.componentWillMount(), P && d.componentDidMount != null && d.__h.push(d.componentDidMount); else { - if (S && b.getDerivedStateFromProps == null && x !== h && d.componentWillReceiveProps != null && d.componentWillReceiveProps(x, k), t.__v == n.__v || !d.__e && d.shouldComponentUpdate != null && d.shouldComponentUpdate(x, d.__s, k) === !1) { - t.__v != n.__v && (d.props = x, d.state = d.__s, d.__d = !1), t.__e = n.__e, t.__k = n.__k, t.__k.some(function(v) { - v && (v.__ = t); - }), uf.push.apply(d.__h, d._sb), d._sb = [], d.__h.length && i.push(d); + if (P && y.getDerivedStateFromProps == null && E !== g && d.componentWillReceiveProps != null && d.componentWillReceiveProps(E, A), t.__v == n.__v || !d.__e && d.shouldComponentUpdate != null && d.shouldComponentUpdate(E, d.__s, A) === !1) { + t.__v != n.__v && (d.props = E, d.state = d.__s, d.__d = !1), t.__e = n.__e, t.__k = n.__k, t.__k.some(function(M) { + M && (M.__ = t); + }), df.push.apply(d.__h, d._sb), d._sb = [], d.__h.length && a.push(d); break e; } - d.componentWillUpdate != null && d.componentWillUpdate(x, d.__s, k), S && d.componentDidUpdate != null && d.__h.push(function() { - d.componentDidUpdate(h, g, m); + d.componentWillUpdate != null && d.componentWillUpdate(E, d.__s, A), P && d.componentDidUpdate != null && d.__h.push(function() { + d.componentDidUpdate(g, h, m); }); } - if (d.context = k, d.props = x, d.__P = e, d.__e = !1, A = Ee.__r, y = 0, S) d.state = d.__s, d.__d = !1, A && A(t), u = d.render(d.props, d.state, d.context), uf.push.apply(d.__h, d._sb), d._sb = []; + if (d.context = A, d.props = E, d.__P = e, d.__e = !1, w = Ee.__r, b = 0, P) d.state = d.__s, d.__d = !1, w && w(t), u = d.render(d.props, d.state, d.context), df.push.apply(d.__h, d._sb), d._sb = []; else do - d.__d = !1, A && A(t), u = d.render(d.props, d.state, d.context), d.state = d.__s; - while (d.__d && ++y < 25); - d.state = d.__s, d.getChildContext != null && (o = _o(_o({}, o), d.getChildContext())), S && !p && d.getSnapshotBeforeUpdate != null && (m = d.getSnapshotBeforeUpdate(h, g)), w = u != null && u.type === Te && u.key == null ? kO(u.props.children) : u, a = bO(e, Ul(w) ? w : [w], t, n, o, r, s, i, a, c, l), d.base = t.__e, t.__u &= -161, d.__h.length && i.push(d), M && (d.__E = d.__ = null); - } catch (v) { - if (i.length = f, t.__v = null, c || s != null) { - if (v.then) { - for (t.__u |= c ? 160 : 128; a && a.nodeType == 8 && a.nextSibling; ) a = a.nextSibling; - s != null && (s[s.indexOf(a)] = null), t.__e = a; - } else if (s != null) for (O = s.length; O--; ) Py(s[O]); + d.__d = !1, w && w(t), u = d.render(d.props, d.state, d.context), d.state = d.__s; + while (d.__d && ++b < 25); + d.state = d.__s, d.getChildContext != null && (o = Io(Io({}, o), d.getChildContext())), P && !p && d.getSnapshotBeforeUpdate != null && (m = d.getSnapshotBeforeUpdate(g, h)), v = u != null && u.type === Re && u.key == null ? XP(u.props.children) : u, i = VP(e, ql(v) ? v : [v], t, n, o, r, s, a, i, c, l), d.base = t.__e, t.__u &= -161, d.__h.length && a.push(d), O && (d.__E = d.__ = null); + } catch (M) { + if (a.length = f, t.__v = null, c || s != null) { + if (M.then) { + for (t.__u |= c ? 160 : 128; i && i.nodeType == 8 && i.nextSibling; ) i = i.nextSibling; + s != null && (s[s.indexOf(i)] = null), t.__e = i; + } else if (s != null) for (x = s.length; x--; ) Dy(s[x]); } else t.__e = n.__e; - t.__k == null && (t.__k = n.__k || []), v.then || wO(t), Ee.__e(v, t, n); + t.__k == null && (t.__k = n.__k || []), M.then || YP(t), Ee.__e(M, t, n); } - } else s == null && t.__v == n.__v ? (t.__k = n.__k, t.__e = n.__e) : a = t.__e = E7(n.__e, t, n, o, r, s, i, c, l); - return (u = Ee.diffed) && u(t), 128 & t.__u ? void 0 : a; + } else s == null && t.__v == n.__v ? (t.__k = n.__k, t.__e = n.__e) : i = t.__e = j7(n.__e, t, n, o, r, s, a, c, l); + return (u = Ee.diffed) && u(t), 128 & t.__u ? void 0 : i; } -function wO(e) { - e && (e.__c && (e.__c.__e = !0), e.__k && e.__k.some(wO)); +function YP(e) { + e && (e.__c && (e.__c.__e = !0), e.__k && e.__k.some(YP)); } -function vO(e, t, n) { - for (var o = 0; o < n.length; o++) My(n[o], n[++o], n[++o]); +function QP(e, t, n) { + for (var o = 0; o < n.length; o++) By(n[o], n[++o], n[++o]); Ee.__c && Ee.__c(t, e), e.some(function(r) { try { e = r.__h, r.__h = [], e.some(function(s) { @@ -10519,33 +11018,33 @@ function vO(e, t, n) { } }); } -function kO(e) { - return typeof e != "object" || e == null || e.__b > 0 ? e : Ul(e) ? e.map(kO) : e.constructor !== void 0 ? null : _o({}, e); +function XP(e) { + return typeof e != "object" || e == null || e.__b > 0 ? e : ql(e) ? e.map(XP) : e.constructor !== void 0 ? null : Io({}, e); } -function E7(e, t, n, o, r, s, i, a, c) { - var l, u, f, d, p, h, g, m = n.props || lf, M = t.props, x = t.type; - if (x == "svg" ? r = "http://www.w3.org/2000/svg" : x == "math" ? r = "http://www.w3.org/1998/Math/MathML" : r || (r = "http://www.w3.org/1999/xhtml"), s != null) { - for (l = 0; l < s.length; l++) if ((p = s[l]) && "setAttribute" in p == !!x && (x ? p.localName == x : p.nodeType == 3)) { +function j7(e, t, n, o, r, s, a, i, c) { + var l, u, f, d, p, g, h, m = n.props || uf, O = t.props, E = t.type; + if (E == "svg" ? r = "http://www.w3.org/2000/svg" : E == "math" ? r = "http://www.w3.org/1998/Math/MathML" : r || (r = "http://www.w3.org/1999/xhtml"), s != null) { + for (l = 0; l < s.length; l++) if ((p = s[l]) && "setAttribute" in p == !!E && (E ? p.localName == E : p.nodeType == 3)) { e = p, s[l] = null; break; } } if (e == null) { - if (x == null) return document.createTextNode(M); - e = document.createElementNS(r, x, M.is && M), a && (Ee.__m && Ee.__m(t, s), a = !1), s = null; + if (E == null) return document.createTextNode(O); + e = document.createElementNS(r, E, O.is && O), i && (Ee.__m && Ee.__m(t, s), i = !1), s = null; } - if (x == null) m === M || a && e.data == M || (e.data = M); + if (E == null) m === O || i && e.data == O || (e.data = O); else { - if (s = x == "textarea" && M.defaultValue != null ? null : s && Wl.call(e.childNodes), !a && s != null) for (m = {}, l = 0; l < e.attributes.length; l++) m[(p = e.attributes[l]).name] = p.value; - for (l in m) p = m[l], l == "dangerouslySetInnerHTML" ? f = p : l == "children" || l in M || l == "value" && "defaultValue" in M || l == "checked" && "defaultChecked" in M || _u(e, l, null, p, r); - for (l in M) p = M[l], l == "children" ? d = p : l == "dangerouslySetInnerHTML" ? u = p : l == "value" ? h = p : l == "checked" ? g = p : a && typeof p != "function" || m[l] === p || _u(e, l, p, m[l], r); - if (u) a || f && (u.__html == f.__html || u.__html == e.innerHTML) || (e.innerHTML = u.__html), t.__k = []; - else if (f && (e.innerHTML = ""), bO(t.type == "template" ? e.content : e, Ul(d) ? d : [d], t, n, o, x == "foreignObject" ? "http://www.w3.org/1999/xhtml" : r, s, i, s ? s[0] : n.__k && xa(n, 0), a, c), s != null) for (l = s.length; l--; ) Py(s[l]); - a && x != "textarea" || (l = "value", x == "progress" && h == null ? e.removeAttribute("value") : h != null && (h !== e[l] || x == "progress" && !h || x == "option" && h != m[l]) && _u(e, l, h, m[l], r), l = "checked", g != null && g != e[l] && _u(e, l, g, m[l], r)); + if (s = E == "textarea" && O.defaultValue != null ? null : s && Kl.call(e.childNodes), !i && s != null) for (m = {}, l = 0; l < e.attributes.length; l++) m[(p = e.attributes[l]).name] = p.value; + for (l in m) p = m[l], l == "dangerouslySetInnerHTML" ? f = p : l == "children" || l in O || l == "value" && "defaultValue" in O || l == "checked" && "defaultChecked" in O || Ru(e, l, null, p, r); + for (l in O) p = O[l], l == "children" ? d = p : l == "dangerouslySetInnerHTML" ? u = p : l == "value" ? g = p : l == "checked" ? h = p : i && typeof p != "function" || m[l] === p || Ru(e, l, p, m[l], r); + if (u) i || f && (u.__html == f.__html || u.__html == e.innerHTML) || (e.innerHTML = u.__html), t.__k = []; + else if (f && (e.innerHTML = ""), VP(t.type == "template" ? e.content : e, ql(d) ? d : [d], t, n, o, E == "foreignObject" ? "http://www.w3.org/1999/xhtml" : r, s, a, s ? s[0] : n.__k && ki(n, 0), i, c), s != null) for (l = s.length; l--; ) Dy(s[l]); + i && E != "textarea" || (l = "value", E == "progress" && g == null ? e.removeAttribute("value") : g != null && (g !== e[l] || E == "progress" && !g || E == "option" && g != m[l]) && Ru(e, l, g, m[l], r), l = "checked", h != null && h != e[l] && Ru(e, l, h, m[l], r)); } return e; } -function My(e, t, n) { +function By(e, t, n) { try { if (typeof e == "function") { var o = typeof e.__u == "function"; @@ -10555,9 +11054,9 @@ function My(e, t, n) { Ee.__e(r, n); } } -function xO(e, t, n) { +function ZP(e, t, n) { var o, r; - if (Ee.unmount && Ee.unmount(e), (o = e.ref) && (o.current && o.current != e.__e || My(o, null, t)), (o = e.__c) != null) { + if (Ee.unmount && Ee.unmount(e), (o = e.ref) && (o.current && o.current != e.__e || By(o, null, t)), (o = e.__c) != null) { if (o.componentWillUnmount) try { o.componentWillUnmount(); } catch (s) { @@ -10565,25 +11064,25 @@ function xO(e, t, n) { } o.base = o.__P = o.__n = null; } - if (o = e.__k) for (r = 0; r < o.length; r++) o[r] && xO(o[r], t, n || typeof e.type != "function"); - n || Py(e.__e), e.__c = e.__ = e.__e = void 0; + if (o = e.__k) for (r = 0; r < o.length; r++) o[r] && ZP(o[r], t, n || typeof e.type != "function"); + n || Dy(e.__e), e.__c = e.__ = e.__e = void 0; } -function C7(e, t, n) { +function F7(e, t, n) { return this.constructor(e, n); } -function ni(e, t, n) { - var o, r, s, i; - t == document && (t = document.documentElement), Ee.__ && Ee.__(e, t), r = (o = typeof n == "function") ? null : n && n.__k || t.__k, s = [], i = [], Oy(t, e = (!o && n || t).__k = $n(Te, null, [e]), r || lf, lf, t.namespaceURI, !o && n ? [n] : r ? null : t.firstChild ? Wl.call(t.childNodes) : null, s, !o && n ? n : r ? r.__e : t.firstChild, o, i), vO(s, e, i), e.props.children = null; +function ra(e, t, n) { + var o, r, s, a; + t == document && (t = document.documentElement), Ee.__ && Ee.__(e, t), r = (o = typeof n == "function") ? null : n && n.__k || t.__k, s = [], a = [], $y(t, e = (!o && n || t).__k = Dn(Re, null, [e]), r || uf, uf, t.namespaceURI, !o && n ? [n] : r ? null : t.firstChild ? Kl.call(t.childNodes) : null, s, !o && n ? n : r ? r.__e : t.firstChild, o, a), QP(s, e, a), e.props.children = null; } -function AO(e, t) { - ni(e, t, AO); +function JP(e, t) { + ra(e, t, JP); } -function I7(e, t, n) { - var o, r, s, i, a = _o({}, e.props); - for (s in e.type && e.type.defaultProps && (i = e.type.defaultProps), t) s == "key" ? o = t[s] : s == "ref" ? r = t[s] : a[s] = t[s] === void 0 && i != null ? i[s] : t[s]; - return arguments.length > 2 && (a.children = arguments.length > 3 ? Wl.call(arguments, 2) : n), Kc(e.type, a, o || e.key, r || e.ref, null); +function D7(e, t, n) { + var o, r, s, a, i = Io({}, e.props); + for (s in e.type && e.type.defaultProps && (a = e.type.defaultProps), t) s == "key" ? o = t[s] : s == "ref" ? r = t[s] : i[s] = t[s] === void 0 && a != null ? a[s] : t[s]; + return arguments.length > 2 && (i.children = arguments.length > 3 ? Kl.call(arguments, 2) : n), Uc(e.type, i, o || e.key, r || e.ref, null); } -function Xt(e) { +function Yt(e) { function t(n) { var o, r; return this.getChildContext || (o = /* @__PURE__ */ new Set(), (r = {})[t.__c] = this, this.getChildContext = function() { @@ -10591,93 +11090,93 @@ function Xt(e) { }, this.componentWillUnmount = function() { o = null; }, this.shouldComponentUpdate = function(s) { - this.props.value != s.value && o.forEach(function(i) { - i.__e = !0, vm(i); + this.props.value != s.value && o.forEach(function(a) { + a.__e = !0, Em(a); }); }, this.sub = function(s) { o.add(s); - var i = s.componentWillUnmount; + var a = s.componentWillUnmount; s.componentWillUnmount = function() { - o && o.delete(s), i && i.call(s); + o && o.delete(s), a && a.call(s); }; }), n.children; } - return t.__c = "__cC" + gO++, t.__ = e, t.Provider = t.__l = (t.Consumer = function(n, o) { + return t.__c = "__cC" + qP++, t.__ = e, t.Provider = t.__l = (t.Consumer = function(n, o) { return n.children(o); }).contextType = t, t; } -Wl = uf.slice, Ee = { __e: function(e, t, n, o) { - for (var r, s, i; t = t.__; ) if ((r = t.__c) && !r.__) try { - if ((s = r.constructor) && s.getDerivedStateFromError != null && (r.setState(s.getDerivedStateFromError(e)), i = r.__d), r.componentDidCatch != null && (r.componentDidCatch(e, o || {}), i = r.__d), i) return r.__E = r; - } catch (a) { - e = a; +Kl = df.slice, Ee = { __e: function(e, t, n, o) { + for (var r, s, a; t = t.__; ) if ((r = t.__c) && !r.__) try { + if ((s = r.constructor) && s.getDerivedStateFromError != null && (r.setState(s.getDerivedStateFromError(e)), a = r.__d), r.componentDidCatch != null && (r.componentDidCatch(e, o || {}), a = r.__d), a) return r.__E = r; + } catch (i) { + e = i; } throw e; -} }, dO = 0, gn.prototype.setState = function(e, t) { +} }, zP = 0, vn.prototype.setState = function(e, t) { var n; - n = this.__s != null && this.__s != this.state ? this.__s : this.__s = _o({}, this.state), typeof e == "function" && (e = e(_o({}, n), this.props)), e && _o(n, e), e != null && this.__v && (t && this._sb.push(t), vm(this)); -}, gn.prototype.forceUpdate = function(e) { - this.__v && (this.__e = !0, e && this.__h.push(e), vm(this)); -}, gn.prototype.render = Te, Wr = [], fO = typeof Promise == "function" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, pO = function(e, t) { + n = this.__s != null && this.__s != this.state ? this.__s : this.__s = Io({}, this.state), typeof e == "function" && (e = e(Io({}, n), this.props)), e && Io(n, e), e != null && this.__v && (t && this._sb.push(t), Em(this)); +}, vn.prototype.forceUpdate = function(e) { + this.__v && (this.__e = !0, e && this.__h.push(e), Em(this)); +}, vn.prototype.render = Re, Ur = [], WP = typeof Promise == "function" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, UP = function(e, t) { return e.__v.__b - t.__v.__b; -}, df.__r = 0, Qh = Math.random().toString(8), Ad = "__d" + Qh, Uc = "__a" + Qh, hO = /(PointerCapture)$|Capture$/i, Sy = 0, ym = R1(!1), wm = R1(!0), gO = 0; -var as, yt, Xh, L1, Aa = 0, SO = [], St = Ee, j1 = St.__b, F1 = St.__r, D1 = St.diffed, $1 = St.__c, B1 = St.unmount, z1 = St.__; -function za(e, t) { - St.__h && St.__h(yt, e, Aa || t), Aa = 0; - var n = yt.__H || (yt.__H = { __: [], __h: [] }); +}, ff.__r = 0, tg = Math.random().toString(8), Pd = "__d" + tg, Wc = "__a" + tg, KP = /(PointerCapture)$|Capture$/i, Fy = 0, Pm = Q1(!1), Mm = Q1(!0), qP = 0; +var cs, wt, ng, X1, xi = 0, eM = [], Mt = Ee, Z1 = Mt.__b, J1 = Mt.__r, ek = Mt.diffed, tk = Mt.__c, nk = Mt.unmount, ok = Mt.__; +function Bi(e, t) { + Mt.__h && Mt.__h(wt, e, xi || t), xi = 0; + var n = wt.__H || (wt.__H = { __: [], __h: [] }); return e >= n.__.length && n.__.push({}), n.__[e]; } function ke(e) { - return Aa = 1, cs(OO, e); + return xi = 1, ls(nM, e); } -function cs(e, t, n) { - var o = za(as++, 2); - if (o.t = e, !o.__c && (o.__ = [n ? n(t) : OO(void 0, t), function(a) { - var c = o.__N ? o.__N[0] : o.__[0], l = o.t(c, a); +function ls(e, t, n) { + var o = Bi(cs++, 2); + if (o.t = e, !o.__c && (o.__ = [n ? n(t) : nM(void 0, t), function(i) { + var c = o.__N ? o.__N[0] : o.__[0], l = o.t(c, i); c !== l && (o.__N = [l, o.__[1]], o.__c.setState({})); - }], o.__c = yt, !yt.__f)) { - var r = function(a, c, l) { + }], o.__c = wt, !wt.__f)) { + var r = function(i, c, l) { if (!o.__c.__H) return !0; - var u = !1, f = o.__c.props !== a; + var u = !1, f = o.__c.props !== i; if (o.__c.__H.__.some(function(p) { if (p.__N) { u = !0; - var h = p.__[0]; - p.__ = p.__N, p.__N = void 0, h !== p.__[0] && (f = !0); + var g = p.__[0]; + p.__ = p.__N, p.__N = void 0, g !== p.__[0] && (f = !0); } }), s) { - var d = s.call(this, a, c, l); + var d = s.call(this, i, c, l); return u ? d || f : d; } return !u || f; }; - yt.__f = !0; - var s = yt.shouldComponentUpdate, i = yt.componentWillUpdate; - yt.componentWillUpdate = function(a, c, l) { + wt.__f = !0; + var s = wt.shouldComponentUpdate, a = wt.componentWillUpdate; + wt.componentWillUpdate = function(i, c, l) { if (this.__e) { var u = s; - s = void 0, r(a, c, l), s = u; + s = void 0, r(i, c, l), s = u; } - i && i.call(this, a, c, l); - }, yt.shouldComponentUpdate = r; + a && a.call(this, i, c, l); + }, wt.shouldComponentUpdate = r; } return o.__N || o.__; } function Se(e, t) { - var n = za(as++, 3); - !St.__s && Cy(n.__H, t) && (n.__ = e, n.u = t, yt.__H.__h.push(n)); + var n = Bi(cs++, 3); + !Mt.__s && Wy(n.__H, t) && (n.__ = e, n.u = t, wt.__H.__h.push(n)); } -function Ne(e, t) { - var n = za(as++, 4); - !St.__s && Cy(n.__H, t) && (n.__ = e, n.u = t, yt.__h.push(n)); +function _e(e, t) { + var n = Bi(cs++, 4); + !Mt.__s && Wy(n.__H, t) && (n.__ = e, n.u = t, wt.__h.push(n)); } -function me(e) { - return Aa = 5, He(function() { +function ye(e) { + return xi = 5, He(function() { return { current: e }; }, []); } -function Ey(e, t, n) { - Aa = 6, Ne(function() { +function zy(e, t, n) { + xi = 6, _e(function() { if (typeof e == "function") { var o = e(t()); return function() { @@ -10690,122 +11189,122 @@ function Ey(e, t, n) { }, n == null ? n : n.concat(e)); } function He(e, t) { - var n = za(as++, 7); - return Cy(n.__H, t) && (n.__ = e(), n.__H = t, n.__h = e), n.__; + var n = Bi(cs++, 7); + return Wy(n.__H, t) && (n.__ = e(), n.__H = t, n.__h = e), n.__; } -function Fo(e, t) { - return Aa = 8, He(function() { +function jo(e, t) { + return xi = 8, He(function() { return e; }, t); } function rt(e) { - var t = yt.context[e.__c], n = za(as++, 9); - return n.c = e, t ? (n.__ == null && (n.__ = !0, t.sub(yt)), t.props.value) : e.__; + var t = wt.context[e.__c], n = Bi(cs++, 9); + return n.c = e, t ? (n.__ == null && (n.__ = !0, t.sub(wt)), t.props.value) : e.__; } -function PO(e, t) { - St.useDebugValue && St.useDebugValue(t ? t(e) : e); +function tM(e, t) { + Mt.useDebugValue && Mt.useDebugValue(t ? t(e) : e); } function Go() { - var e = za(as++, 11); + var e = Bi(cs++, 11); if (!e.__) { - for (var t = yt.__v; t !== null && !t.__m && t.__ !== null; ) t = t.__; + for (var t = wt.__v; t !== null && !t.__m && t.__ !== null; ) t = t.__; var n = t.__m || (t.__m = [0, 0]); e.__ = "P" + n[0] + "-" + n[1]++; } return e.__; } -function _7() { - for (var e; e = SO.shift(); ) { +function $7() { + for (var e; e = eM.shift(); ) { var t = e.__H; if (e.__P && t) try { - t.__h.some(Sd), t.__h.some(km), t.__h = []; + t.__h.some(Md), t.__h.some(Cm), t.__h = []; } catch (n) { - t.__h = [], St.__e(n, e.__v); + t.__h = [], Mt.__e(n, e.__v); } } } -St.__b = function(e) { - yt = null, j1 && j1(e); -}, St.__ = function(e, t) { - e && t.__k && t.__k.__m && (e.__m = t.__k.__m), z1 && z1(e, t); -}, St.__r = function(e) { - F1 && F1(e), as = 0; - var t = (yt = e.__c).__H; - t && (Xh === yt ? (t.__h = [], yt.__h = [], t.__.some(function(n) { +Mt.__b = function(e) { + wt = null, Z1 && Z1(e); +}, Mt.__ = function(e, t) { + e && t.__k && t.__k.__m && (e.__m = t.__k.__m), ok && ok(e, t); +}, Mt.__r = function(e) { + J1 && J1(e), cs = 0; + var t = (wt = e.__c).__H; + t && (ng === wt ? (t.__h = [], wt.__h = [], t.__.some(function(n) { n.__N && (n.__ = n.__N), n.u = n.__N = void 0; - })) : (t.__h.some(Sd), t.__h.some(km), t.__h = [], as = 0)), Xh = yt; -}, St.diffed = function(e) { - D1 && D1(e); + })) : (t.__h.some(Md), t.__h.some(Cm), t.__h = [], cs = 0)), ng = wt; +}, Mt.diffed = function(e) { + ek && ek(e); var t = e.__c; - t && t.__H && (t.__H.__h.length && (SO.push(t) !== 1 && L1 === St.requestAnimationFrame || ((L1 = St.requestAnimationFrame) || N7)(_7)), t.__H.__.some(function(n) { + t && t.__H && (t.__H.__h.length && (eM.push(t) !== 1 && X1 === Mt.requestAnimationFrame || ((X1 = Mt.requestAnimationFrame) || B7)($7)), t.__H.__.some(function(n) { n.u && (n.__H = n.u, n.u = void 0); - })), Xh = yt = null; -}, St.__c = function(e, t) { + })), ng = wt = null; +}, Mt.__c = function(e, t) { t.some(function(n) { try { - n.__h.some(Sd), n.__h = n.__h.filter(function(o) { - return !o.__ || km(o); + n.__h.some(Md), n.__h = n.__h.filter(function(o) { + return !o.__ || Cm(o); }); } catch (o) { t.some(function(r) { r.__h && (r.__h = []); - }), t = [], St.__e(o, n.__v); + }), t = [], Mt.__e(o, n.__v); } - }), $1 && $1(e, t); -}, St.unmount = function(e) { - B1 && B1(e); + }), tk && tk(e, t); +}, Mt.unmount = function(e) { + nk && nk(e); var t, n = e.__c; n && n.__H && (n.__H.__.some(function(o) { try { - Sd(o); + Md(o); } catch (r) { t = r; } - }), n.__H = void 0, t && St.__e(t, n.__v)); + }), n.__H = void 0, t && Mt.__e(t, n.__v)); }; -var W1 = typeof requestAnimationFrame == "function"; -function N7(e) { +var rk = typeof requestAnimationFrame == "function"; +function B7(e) { var t, n = function() { - clearTimeout(o), W1 && cancelAnimationFrame(t), setTimeout(e); + clearTimeout(o), rk && cancelAnimationFrame(t), setTimeout(e); }, o = setTimeout(n, 35); - W1 && (t = requestAnimationFrame(n)); + rk && (t = requestAnimationFrame(n)); } -function Sd(e) { - var t = yt, n = e.__c; - typeof n == "function" && (e.__c = void 0, n()), yt = t; +function Md(e) { + var t = wt, n = e.__c; + typeof n == "function" && (e.__c = void 0, n()), wt = t; } -function km(e) { - var t = yt; - e.__c = e.__(), yt = t; +function Cm(e) { + var t = wt; + e.__c = e.__(), wt = t; } -function Cy(e, t) { +function Wy(e, t) { return !e || e.length !== t.length || t.some(function(n, o) { return n !== e[o]; }); } -function OO(e, t) { +function nM(e, t) { return typeof t == "function" ? t(e) : t; } -function MO(e, t) { +function oM(e, t) { for (var n in t) e[n] = t[n]; return e; } -function xm(e, t) { +function Im(e, t) { for (var n in e) if (n !== "__source" && !(n in t)) return !0; for (var o in t) if (o !== "__source" && e[o] !== t[o]) return !0; return !1; } -function Uo(e, t) { +function Wo(e, t) { var n = t(), o = ke({ t: { __: n, u: t } }), r = o[0].t, s = o[1]; - return Ne(function() { - r.__ = n, r.u = t, Zh(r) && s({ t: r }); + return _e(function() { + r.__ = n, r.u = t, og(r) && s({ t: r }); }, [e, n, t]), Se(function() { - return Zh(r) && s({ t: r }), e(function() { - Zh(r) && s({ t: r }); + return og(r) && s({ t: r }), e(function() { + og(r) && s({ t: r }); }); }, [e]), n; } -function Zh(e) { +function og(e) { try { return !((t = e.__) === (n = e.u()) && (t !== 0 || 1 / t == 1 / n) || t != t && n != n); } catch { @@ -10813,147 +11312,147 @@ function Zh(e) { } var t, n; } -function EO(e) { +function rM(e) { e(); } -function CO(e) { +function sM(e) { return e; } -function IO() { - return [!1, EO]; +function aM() { + return [!1, rM]; } -var Iy = Ne; -function Am(e, t) { +var Uy = _e; +function _m(e, t) { this.props = e, this.context = t; } -function T7(e, t) { +function z7(e, t) { function n(r) { var s = this.props.ref; - return s != r.ref && s && (typeof s == "function" ? s(null) : s.current = null), t ? !t(this.props, r) || s != r.ref : xm(this.props, r); + return s != r.ref && s && (typeof s == "function" ? s(null) : s.current = null), t ? !t(this.props, r) || s != r.ref : Im(this.props, r); } function o(r) { - return this.shouldComponentUpdate = n, $n(e, r); + return this.shouldComponentUpdate = n, Dn(e, r); } return o.displayName = "Memo(" + (e.displayName || e.name) + ")", o.__f = o.prototype.isReactComponent = !0, o.type = e, o; } -(Am.prototype = new gn()).isPureReactComponent = !0, Am.prototype.shouldComponentUpdate = function(e, t) { - return xm(this.props, e) || xm(this.state, t); +(_m.prototype = new vn()).isPureReactComponent = !0, _m.prototype.shouldComponentUpdate = function(e, t) { + return Im(this.props, e) || Im(this.state, t); }; -var U1 = Ee.__b; +var sk = Ee.__b; Ee.__b = function(e) { - e.type && e.type.__f && e.ref && (e.props.ref = e.ref, e.ref = null), U1 && U1(e); + e.type && e.type.__f && e.ref && (e.props.ref = e.ref, e.ref = null), sk && sk(e); }; -var R7 = typeof Symbol < "u" && Symbol.for && Symbol.for("react.forward_ref") || 3911; -function _O(e) { +var W7 = typeof Symbol < "u" && Symbol.for && Symbol.for("react.forward_ref") || 3911; +function iM(e) { function t(n) { - var o = MO({}, n); + var o = oM({}, n); return delete o.ref, e(o, n.ref || null); } - return t.$$typeof = R7, t.render = e, t.prototype.isReactComponent = t.__f = !0, t.displayName = "ForwardRef(" + (e.displayName || e.name) + ")", t; + return t.$$typeof = W7, t.render = e, t.prototype.isReactComponent = t.__f = !0, t.displayName = "ForwardRef(" + (e.displayName || e.name) + ")", t; } -var K1 = function(e, t) { - return e == null ? null : to(to(e).map(t)); -}, L7 = { map: K1, forEach: K1, count: function(e) { - return e ? to(e).length : 0; +var ak = function(e, t) { + return e == null ? null : eo(eo(e).map(t)); +}, U7 = { map: ak, forEach: ak, count: function(e) { + return e ? eo(e).length : 0; }, only: function(e) { - var t = to(e); + var t = eo(e); if (t.length !== 1) throw "Children.only"; return t[0]; -}, toArray: to }, j7 = Ee.__e; +}, toArray: eo }, K7 = Ee.__e; Ee.__e = function(e, t, n, o) { if (e.then) { for (var r, s = t; s = s.__; ) if ((r = s.__c) && r.__c) return t.__e == null && (t.__e = n.__e, t.__k = n.__k || []), r.__c(e, t); } - j7(e, t, n, o); + K7(e, t, n, o); }; -var q1 = Ee.unmount; -function NO(e, t, n) { +var ik = Ee.unmount; +function cM(e, t, n) { return e && (e.__c && e.__c.__H && (e.__c.__H.__.forEach(function(o) { typeof o.__c == "function" && o.__c(); - }), e.__c.__H = null), (e = MO({}, e)).__c != null && (e.__c.__P === n && (e.__c.__P = t), e.__c.__e = !0, e.__c = null), e.__k = e.__k && e.__k.map(function(o) { - return NO(o, t, n); + }), e.__c.__H = null), (e = oM({}, e)).__c != null && (e.__c.__P === n && (e.__c.__P = t), e.__c.__e = !0, e.__c = null), e.__k = e.__k && e.__k.map(function(o) { + return cM(o, t, n); })), e; } -function TO(e, t, n) { +function lM(e, t, n) { return e && n && (e.__v = null, e.__k = e.__k && e.__k.map(function(o) { - return TO(o, t, n); + return lM(o, t, n); }), e.__c && e.__c.__P === t && (e.__e && n.appendChild(e.__e), e.__c.__e = !0, e.__c.__P = n)), e; } -function qc() { +function Kc() { this.__u = 0, this.o = null, this.__b = null; } -function RO(e) { +function uM(e) { var t = e.__ && e.__.__c; return t && t.__a && t.__a(e); } -function LO(e) { +function dM(e) { var t, n, o, r = null; - function s(i) { - if (t || (t = e()).then(function(a) { - a && (r = a.default || a), o = !0; - }, function(a) { - n = a, o = !0; + function s(a) { + if (t || (t = e()).then(function(i) { + i && (r = i.default || i), o = !0; + }, function(i) { + n = i, o = !0; }), n) throw n; if (!o) throw t; - return r ? $n(r, i) : null; + return r ? Dn(r, a) : null; } return s.displayName = "Lazy", s.__f = !0, s; } -function Sc() { +function Ac() { this.i = null, this.l = null; } Ee.unmount = function(e) { var t = e.__c; - t && (t.__z = !0), t && t.__R && t.__R(), t && 32 & e.__u && (e.type = null), q1 && q1(e); -}, (qc.prototype = new gn()).__c = function(e, t) { + t && (t.__z = !0), t && t.__R && t.__R(), t && 32 & e.__u && (e.type = null), ik && ik(e); +}, (Kc.prototype = new vn()).__c = function(e, t) { var n = t.__c, o = this; o.o == null && (o.o = []), o.o.push(n); - var r = RO(o.__v), s = !1, i = function() { + var r = uM(o.__v), s = !1, a = function() { s || o.__z || (s = !0, n.__R = null, r ? r(c) : c()); }; - n.__R = i; - var a = n.__P; + n.__R = a; + var i = n.__P; n.__P = null; var c = function() { if (!--o.__u) { if (o.state.__a) { var l = o.state.__a; - o.__v.__k[0] = TO(l, l.__c.__P, l.__c.__O); + o.__v.__k[0] = lM(l, l.__c.__P, l.__c.__O); } var u; - for (o.setState({ __a: o.__b = null }); u = o.o.pop(); ) u.__P = a, u.forceUpdate(); + for (o.setState({ __a: o.__b = null }); u = o.o.pop(); ) u.__P = i, u.forceUpdate(); } }; - o.__u++ || 32 & t.__u || o.setState({ __a: o.__b = o.__v.__k[0] }), e.then(i, i); -}, qc.prototype.componentWillUnmount = function() { + o.__u++ || 32 & t.__u || o.setState({ __a: o.__b = o.__v.__k[0] }), e.then(a, a); +}, Kc.prototype.componentWillUnmount = function() { this.o = []; -}, qc.prototype.render = function(e, t) { +}, Kc.prototype.render = function(e, t) { if (this.__b) { if (this.__v.__k) { var n = document.createElement("div"), o = this.__v.__k[0].__c; - this.__v.__k[0] = NO(this.__b, n, o.__O = o.__P); + this.__v.__k[0] = cM(this.__b, n, o.__O = o.__P); } this.__b = null; } - var r = t.__a && $n(Te, null, e.fallback); - return r && (r.__u &= -33), [$n(Te, null, t.__a ? null : e.children), r]; + var r = t.__a && Dn(Re, null, e.fallback); + return r && (r.__u &= -33), [Dn(Re, null, t.__a ? null : e.children), r]; }; -var H1 = function(e, t, n) { +var ck = function(e, t, n) { if (++n[1] === n[0] && e.l.delete(t), e.props.revealOrder && (e.props.revealOrder[0] !== "t" || !e.l.size)) for (n = e.i; n; ) { for (; n.length > 3; ) n.pop()(); if (n[1] < n[0]) break; e.i = n = n[2]; } }; -function F7(e) { +function q7(e) { return this.getChildContext = function() { return e.context; }, e.children; } -function D7(e) { +function H7(e) { var t = this, n = e.h; if (t.componentWillUnmount = function() { - ni(null, t.v), t.v = null, t.h = null; + ra(null, t.v), t.v = null, t.h = null; }, t.h && t.h !== n && t.componentWillUnmount(), !t.v) { for (var o = t.__v; o !== null && !o.__m && o.__ !== null; ) o = o.__; t.h = n, t.v = { nodeType: 1, parentNode: n, childNodes: [], __k: { __m: o.__m }, contains: function() { @@ -10964,311 +11463,311 @@ function D7(e) { this.childNodes.splice(this.childNodes.indexOf(r) >>> 1, 1), t.h.removeChild(r); } }; } - ni($n(F7, { context: t.context }, e.__v), t.v); + ra(Dn(q7, { context: t.context }, e.__v), t.v); } -function _y(e, t) { - var n = $n(D7, { __v: e, h: t }); +function Ky(e, t) { + var n = Dn(H7, { __v: e, h: t }); return n.containerInfo = t, n; } -(Sc.prototype = new gn()).__a = function(e) { - var t = this, n = RO(t.__v), o = t.l.get(e); +(Ac.prototype = new vn()).__a = function(e) { + var t = this, n = uM(t.__v), o = t.l.get(e); return o[0]++, function(r) { var s = function() { - t.props.revealOrder ? (o.push(r), H1(t, e, o)) : r(); + t.props.revealOrder ? (o.push(r), ck(t, e, o)) : r(); }; n ? n(s) : s(); }; -}, Sc.prototype.render = function(e) { +}, Ac.prototype.render = function(e) { this.i = null, this.l = /* @__PURE__ */ new Map(); - var t = to(e.children); + var t = eo(e.children); e.revealOrder && e.revealOrder[0] === "b" && t.reverse(); for (var n = t.length; n--; ) this.l.set(t[n], this.i = [1, 0, this.i]); return e.children; -}, Sc.prototype.componentDidUpdate = Sc.prototype.componentDidMount = function() { +}, Ac.prototype.componentDidUpdate = Ac.prototype.componentDidMount = function() { var e = this; this.l.forEach(function(t, n) { - H1(e, n, t); + ck(e, n, t); }); }; -var jO = typeof Symbol < "u" && Symbol.for && Symbol.for("react.element") || 60103, $7 = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, B7 = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, z7 = /[A-Z0-9]/g, W7 = typeof document < "u", U7 = function(e) { +var fM = typeof Symbol < "u" && Symbol.for && Symbol.for("react.element") || 60103, V7 = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, G7 = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, Y7 = /[A-Z0-9]/g, Q7 = typeof document < "u", X7 = function(e) { return (typeof Symbol < "u" && typeof Symbol() == "symbol" ? /fil|che|rad/ : /fil|che|ra/).test(e); }; -function K7(e, t, n) { - return t.__k == null && (t.textContent = ""), ni(e, t), typeof n == "function" && n(), e ? e.__c : null; +function Z7(e, t, n) { + return t.__k == null && (t.textContent = ""), ra(e, t), typeof n == "function" && n(), e ? e.__c : null; } -function q7(e, t, n) { - return AO(e, t), typeof n == "function" && n(), e ? e.__c : null; +function J7(e, t, n) { + return JP(e, t), typeof n == "function" && n(), e ? e.__c : null; } -gn.prototype.isReactComponent = !0, ["componentWillMount", "componentWillReceiveProps", "componentWillUpdate"].forEach(function(e) { - Object.defineProperty(gn.prototype, e, { configurable: !0, get: function() { +vn.prototype.isReactComponent = !0, ["componentWillMount", "componentWillReceiveProps", "componentWillUpdate"].forEach(function(e) { + Object.defineProperty(vn.prototype, e, { configurable: !0, get: function() { return this["UNSAFE_" + e]; }, set: function(t) { Object.defineProperty(this, e, { configurable: !0, writable: !0, value: t }); } }); }); -var V1 = Ee.event; +var lk = Ee.event; Ee.event = function(e) { - return V1 && (e = V1(e)), e.persist = function() { + return lk && (e = lk(e)), e.persist = function() { }, e.isPropagationStopped = function() { return this.cancelBubble; }, e.isDefaultPrevented = function() { return this.defaultPrevented; }, e.nativeEvent = e; }; -var Ny, H7 = { configurable: !0, get: function() { +var qy, eF = { configurable: !0, get: function() { return this.class; -} }, G1 = Ee.vnode; +} }, uk = Ee.vnode; Ee.vnode = function(e) { typeof e.type == "string" && (function(t) { var n = t.props, o = t.type, r = {}, s = o.indexOf("-") == -1; - for (var i in n) { - var a = n[i]; - if (!(i === "value" && "defaultValue" in n && a == null || W7 && i === "children" && o === "noscript" || i === "class" || i === "className")) { - var c = i.toLowerCase(); - i === "defaultValue" && "value" in n && n.value == null ? i = "value" : i === "download" && a === !0 ? a = "" : c === "translate" && a === "no" ? a = !1 : c[0] === "o" && c[1] === "n" ? c === "ondoubleclick" ? i = "ondblclick" : c !== "onchange" || o !== "input" && o !== "textarea" || U7(n.type) ? c === "onfocus" ? i = "onfocusin" : c === "onblur" ? i = "onfocusout" : B7.test(i) && (i = c) : c = i = "oninput" : s && $7.test(i) ? i = i.replace(z7, "-$&").toLowerCase() : a === null && (a = void 0), c === "oninput" && r[i = c] && (i = "oninputCapture"), r[i] = a; + for (var a in n) { + var i = n[a]; + if (!(a === "value" && "defaultValue" in n && i == null || Q7 && a === "children" && o === "noscript" || a === "class" || a === "className")) { + var c = a.toLowerCase(); + a === "defaultValue" && "value" in n && n.value == null ? a = "value" : a === "download" && i === !0 ? i = "" : c === "translate" && i === "no" ? i = !1 : c[0] === "o" && c[1] === "n" ? c === "ondoubleclick" ? a = "ondblclick" : c !== "onchange" || o !== "input" && o !== "textarea" || X7(n.type) ? c === "onfocus" ? a = "onfocusin" : c === "onblur" ? a = "onfocusout" : G7.test(a) && (a = c) : c = a = "oninput" : s && V7.test(a) ? a = a.replace(Y7, "-$&").toLowerCase() : i === null && (i = void 0), c === "oninput" && r[a = c] && (a = "oninputCapture"), r[a] = i; } } - o == "select" && (r.multiple && Array.isArray(r.value) && (r.value = to(n.children).forEach(function(l) { + o == "select" && (r.multiple && Array.isArray(r.value) && (r.value = eo(n.children).forEach(function(l) { l.props.selected = r.value.indexOf(l.props.value) != -1; - })), r.defaultValue != null && (r.value = to(n.children).forEach(function(l) { + })), r.defaultValue != null && (r.value = eo(n.children).forEach(function(l) { l.props.selected = r.multiple ? r.defaultValue.indexOf(l.props.value) != -1 : r.defaultValue == l.props.value; - }))), n.class && !n.className ? (r.class = n.class, Object.defineProperty(r, "className", H7)) : n.className && (r.class = r.className = n.className), t.props = r; - })(e), e.$$typeof = jO, G1 && G1(e); + }))), n.class && !n.className ? (r.class = n.class, Object.defineProperty(r, "className", eF)) : n.className && (r.class = r.className = n.className), t.props = r; + })(e), e.$$typeof = fM, uk && uk(e); }; -var Y1 = Ee.__r; +var dk = Ee.__r; Ee.__r = function(e) { - Y1 && Y1(e), Ny = e.__c; + dk && dk(e), qy = e.__c; }; -var Q1 = Ee.diffed; +var fk = Ee.diffed; Ee.diffed = function(e) { - Q1 && Q1(e); + fk && fk(e); var t = e.props, n = e.__e; - n != null && e.type === "textarea" && "value" in t && t.value !== n.value && (n.value = t.value == null ? "" : t.value), Ny = null; + n != null && e.type === "textarea" && "value" in t && t.value !== n.value && (n.value = t.value == null ? "" : t.value), qy = null; }; -var V7 = { ReactCurrentDispatcher: { current: { readContext: function(e) { - return Ny.__n[e.__c].props.value; -}, useCallback: Fo, useContext: rt, useDebugValue: PO, useDeferredValue: CO, useEffect: Se, useId: Go, useImperativeHandle: Ey, useInsertionEffect: Iy, useLayoutEffect: Ne, useMemo: He, useReducer: cs, useRef: me, useState: ke, useSyncExternalStore: Uo, useTransition: IO } } }, G7 = "18.3.1"; -function Y7(e) { - return $n.bind(null, e); +var tF = { ReactCurrentDispatcher: { current: { readContext: function(e) { + return qy.__n[e.__c].props.value; +}, useCallback: jo, useContext: rt, useDebugValue: tM, useDeferredValue: sM, useEffect: Se, useId: Go, useImperativeHandle: zy, useInsertionEffect: Uy, useLayoutEffect: _e, useMemo: He, useReducer: ls, useRef: ye, useState: ke, useSyncExternalStore: Wo, useTransition: aM } } }, nF = "18.3.1"; +function oF(e) { + return Dn.bind(null, e); } -function pp(e) { - return !!e && e.$$typeof === jO; +function bp(e) { + return !!e && e.$$typeof === fM; } -function Q7(e) { - return pp(e) && e.type === Te; +function rF(e) { + return bp(e) && e.type === Re; } -function X7(e) { +function sF(e) { return !!e && typeof e.displayName == "string" && e.displayName.indexOf("Memo(") == 0; } -function Z7(e) { - return pp(e) ? I7.apply(null, arguments) : e; +function aF(e) { + return bp(e) ? D7.apply(null, arguments) : e; } -function J7(e) { - return !!e.__k && (ni(null, e), !0); +function iF(e) { + return !!e.__k && (ra(null, e), !0); } -function ej(e) { +function cF(e) { return e && (e.base || e.nodeType === 1 && e) || null; } -var tj = function(e, t) { +var lF = function(e, t) { return e(t); -}, nj = function(e, t) { +}, uF = function(e, t) { var n = Ee.debounceRendering; Ee.debounceRendering = function(r) { return r(); }; var o = e(t); return Ee.debounceRendering = n, o; -}, oj = pp, rj = { useState: ke, useId: Go, useReducer: cs, useEffect: Se, useLayoutEffect: Ne, useInsertionEffect: Iy, useTransition: IO, useDeferredValue: CO, useSyncExternalStore: Uo, startTransition: EO, useRef: me, useImperativeHandle: Ey, useMemo: He, useCallback: Fo, useContext: rt, useDebugValue: PO, version: "18.3.1", Children: L7, render: K7, hydrate: q7, unmountComponentAtNode: J7, createPortal: _y, createElement: $n, createContext: Xt, createFactory: Y7, cloneElement: Z7, createRef: S7, Fragment: Te, isValidElement: pp, isElement: oj, isFragment: Q7, isMemo: X7, findDOMNode: ej, Component: gn, PureComponent: Am, memo: T7, forwardRef: _O, flushSync: nj, unstable_batchedUpdates: tj, StrictMode: Te, Suspense: qc, SuspenseList: Sc, lazy: LO, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: V7 }; -function sj(e, t) { +}, dF = bp, fF = { useState: ke, useId: Go, useReducer: ls, useEffect: Se, useLayoutEffect: _e, useInsertionEffect: Uy, useTransition: aM, useDeferredValue: sM, useSyncExternalStore: Wo, startTransition: rM, useRef: ye, useImperativeHandle: zy, useMemo: He, useCallback: jo, useContext: rt, useDebugValue: tM, version: "18.3.1", Children: U7, render: Z7, hydrate: J7, unmountComponentAtNode: iF, createPortal: Ky, createElement: Dn, createContext: Yt, createFactory: oF, cloneElement: aF, createRef: N7, Fragment: Re, isValidElement: bp, isElement: dF, isFragment: rF, isMemo: sF, findDOMNode: cF, Component: vn, PureComponent: _m, memo: z7, forwardRef: iM, flushSync: uF, unstable_batchedUpdates: lF, StrictMode: Re, Suspense: Kc, SuspenseList: Ac, lazy: dM, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: tF }; +function pF(e, t) { for (var n in t) e[n] = t[n]; return e; } -function X1(e, t) { +function pk(e, t) { for (var n in e) if (n !== "__source" && !(n in t)) return !0; for (var o in t) if (o !== "__source" && e[o] !== t[o]) return !0; return !1; } -function Z1(e, t) { +function hk(e, t) { this.props = e, this.context = t; } -(Z1.prototype = new gn()).isPureReactComponent = !0, Z1.prototype.shouldComponentUpdate = function(e, t) { - return X1(this.props, e) || X1(this.state, t); +(hk.prototype = new vn()).isPureReactComponent = !0, hk.prototype.shouldComponentUpdate = function(e, t) { + return pk(this.props, e) || pk(this.state, t); }; -var J1 = Ee.__b; +var gk = Ee.__b; Ee.__b = function(e) { - e.type && e.type.__f && e.ref && (e.props.ref = e.ref, e.ref = null), J1 && J1(e); + e.type && e.type.__f && e.ref && (e.props.ref = e.ref, e.ref = null), gk && gk(e); }; -var ij = Ee.__e; +var hF = Ee.__e; Ee.__e = function(e, t, n, o) { if (e.then) { for (var r, s = t; s = s.__; ) if ((r = s.__c) && r.__c) return t.__e == null && (t.__e = n.__e, t.__k = n.__k || []), r.__c(e, t); } - ij(e, t, n, o); + hF(e, t, n, o); }; -var ek = Ee.unmount; -function FO(e, t, n) { +var mk = Ee.unmount; +function pM(e, t, n) { return e && (e.__c && e.__c.__H && (e.__c.__H.__.forEach(function(o) { typeof o.__c == "function" && o.__c(); - }), e.__c.__H = null), (e = sj({}, e)).__c != null && (e.__c.__P === n && (e.__c.__P = t), e.__c.__e = !0, e.__c = null), e.__k = e.__k && e.__k.map(function(o) { - return FO(o, t, n); + }), e.__c.__H = null), (e = pF({}, e)).__c != null && (e.__c.__P === n && (e.__c.__P = t), e.__c.__e = !0, e.__c = null), e.__k = e.__k && e.__k.map(function(o) { + return pM(o, t, n); })), e; } -function DO(e, t, n) { +function hM(e, t, n) { return e && n && (e.__v = null, e.__k = e.__k && e.__k.map(function(o) { - return DO(o, t, n); + return hM(o, t, n); }), e.__c && e.__c.__P === t && (e.__e && n.appendChild(e.__e), e.__c.__e = !0, e.__c.__P = n)), e; } -function Jh() { +function rg() { this.__u = 0, this.o = null, this.__b = null; } -function $O(e) { +function gM(e) { var t = e.__ && e.__.__c; return t && t.__a && t.__a(e); } -function Nu() { +function Lu() { this.i = null, this.l = null; } Ee.unmount = function(e) { var t = e.__c; - t && (t.__z = !0), t && t.__R && t.__R(), t && 32 & e.__u && (e.type = null), ek && ek(e); -}, (Jh.prototype = new gn()).__c = function(e, t) { + t && (t.__z = !0), t && t.__R && t.__R(), t && 32 & e.__u && (e.type = null), mk && mk(e); +}, (rg.prototype = new vn()).__c = function(e, t) { var n = t.__c, o = this; o.o == null && (o.o = []), o.o.push(n); - var r = $O(o.__v), s = !1, i = function() { + var r = gM(o.__v), s = !1, a = function() { s || o.__z || (s = !0, n.__R = null, r ? r(c) : c()); }; - n.__R = i; - var a = n.__P; + n.__R = a; + var i = n.__P; n.__P = null; var c = function() { if (!--o.__u) { if (o.state.__a) { var l = o.state.__a; - o.__v.__k[0] = DO(l, l.__c.__P, l.__c.__O); + o.__v.__k[0] = hM(l, l.__c.__P, l.__c.__O); } var u; - for (o.setState({ __a: o.__b = null }); u = o.o.pop(); ) u.__P = a, u.forceUpdate(); + for (o.setState({ __a: o.__b = null }); u = o.o.pop(); ) u.__P = i, u.forceUpdate(); } }; - o.__u++ || 32 & t.__u || o.setState({ __a: o.__b = o.__v.__k[0] }), e.then(i, i); -}, Jh.prototype.componentWillUnmount = function() { + o.__u++ || 32 & t.__u || o.setState({ __a: o.__b = o.__v.__k[0] }), e.then(a, a); +}, rg.prototype.componentWillUnmount = function() { this.o = []; -}, Jh.prototype.render = function(e, t) { +}, rg.prototype.render = function(e, t) { if (this.__b) { if (this.__v.__k) { var n = document.createElement("div"), o = this.__v.__k[0].__c; - this.__v.__k[0] = FO(this.__b, n, o.__O = o.__P); + this.__v.__k[0] = pM(this.__b, n, o.__O = o.__P); } this.__b = null; } - var r = t.__a && $n(Te, null, e.fallback); - return r && (r.__u &= -33), [$n(Te, null, t.__a ? null : e.children), r]; + var r = t.__a && Dn(Re, null, e.fallback); + return r && (r.__u &= -33), [Dn(Re, null, t.__a ? null : e.children), r]; }; -var tk = function(e, t, n) { +var bk = function(e, t, n) { if (++n[1] === n[0] && e.l.delete(t), e.props.revealOrder && (e.props.revealOrder[0] !== "t" || !e.l.size)) for (n = e.i; n; ) { for (; n.length > 3; ) n.pop()(); if (n[1] < n[0]) break; e.i = n = n[2]; } }; -(Nu.prototype = new gn()).__a = function(e) { - var t = this, n = $O(t.__v), o = t.l.get(e); +(Lu.prototype = new vn()).__a = function(e) { + var t = this, n = gM(t.__v), o = t.l.get(e); return o[0]++, function(r) { var s = function() { - t.props.revealOrder ? (o.push(r), tk(t, e, o)) : r(); + t.props.revealOrder ? (o.push(r), bk(t, e, o)) : r(); }; n ? n(s) : s(); }; -}, Nu.prototype.render = function(e) { +}, Lu.prototype.render = function(e) { this.i = null, this.l = /* @__PURE__ */ new Map(); - var t = to(e.children); + var t = eo(e.children); e.revealOrder && e.revealOrder[0] === "b" && t.reverse(); for (var n = t.length; n--; ) this.l.set(t[n], this.i = [1, 0, this.i]); return e.children; -}, Nu.prototype.componentDidUpdate = Nu.prototype.componentDidMount = function() { +}, Lu.prototype.componentDidUpdate = Lu.prototype.componentDidMount = function() { var e = this; this.l.forEach(function(t, n) { - tk(e, n, t); + bk(e, n, t); }); }; -var aj = typeof Symbol < "u" && Symbol.for && Symbol.for("react.element") || 60103, cj = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, lj = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, uj = /[A-Z0-9]/g, dj = typeof document < "u", fj = function(e) { +var gF = typeof Symbol < "u" && Symbol.for && Symbol.for("react.element") || 60103, mF = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, bF = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, yF = /[A-Z0-9]/g, wF = typeof document < "u", vF = function(e) { return (typeof Symbol < "u" && typeof Symbol() == "symbol" ? /fil|che|rad/ : /fil|che|ra/).test(e); }; -function pj(e, t, n) { - return t.__k == null && (t.textContent = ""), ni(e, t), typeof n == "function" && n(), e ? e.__c : null; +function kF(e, t, n) { + return t.__k == null && (t.textContent = ""), ra(e, t), typeof n == "function" && n(), e ? e.__c : null; } -gn.prototype.isReactComponent = !0, ["componentWillMount", "componentWillReceiveProps", "componentWillUpdate"].forEach(function(e) { - Object.defineProperty(gn.prototype, e, { configurable: !0, get: function() { +vn.prototype.isReactComponent = !0, ["componentWillMount", "componentWillReceiveProps", "componentWillUpdate"].forEach(function(e) { + Object.defineProperty(vn.prototype, e, { configurable: !0, get: function() { return this["UNSAFE_" + e]; }, set: function(t) { Object.defineProperty(this, e, { configurable: !0, writable: !0, value: t }); } }); }); -var nk = Ee.event; +var yk = Ee.event; Ee.event = function(e) { - return nk && (e = nk(e)), e.persist = function() { + return yk && (e = yk(e)), e.persist = function() { }, e.isPropagationStopped = function() { return this.cancelBubble; }, e.isDefaultPrevented = function() { return this.defaultPrevented; }, e.nativeEvent = e; }; -var hj = { configurable: !0, get: function() { +var xF = { configurable: !0, get: function() { return this.class; -} }, ok = Ee.vnode; +} }, wk = Ee.vnode; Ee.vnode = function(e) { typeof e.type == "string" && (function(t) { var n = t.props, o = t.type, r = {}, s = o.indexOf("-") == -1; - for (var i in n) { - var a = n[i]; - if (!(i === "value" && "defaultValue" in n && a == null || dj && i === "children" && o === "noscript" || i === "class" || i === "className")) { - var c = i.toLowerCase(); - i === "defaultValue" && "value" in n && n.value == null ? i = "value" : i === "download" && a === !0 ? a = "" : c === "translate" && a === "no" ? a = !1 : c[0] === "o" && c[1] === "n" ? c === "ondoubleclick" ? i = "ondblclick" : c !== "onchange" || o !== "input" && o !== "textarea" || fj(n.type) ? c === "onfocus" ? i = "onfocusin" : c === "onblur" ? i = "onfocusout" : lj.test(i) && (i = c) : c = i = "oninput" : s && cj.test(i) ? i = i.replace(uj, "-$&").toLowerCase() : a === null && (a = void 0), c === "oninput" && r[i = c] && (i = "oninputCapture"), r[i] = a; + for (var a in n) { + var i = n[a]; + if (!(a === "value" && "defaultValue" in n && i == null || wF && a === "children" && o === "noscript" || a === "class" || a === "className")) { + var c = a.toLowerCase(); + a === "defaultValue" && "value" in n && n.value == null ? a = "value" : a === "download" && i === !0 ? i = "" : c === "translate" && i === "no" ? i = !1 : c[0] === "o" && c[1] === "n" ? c === "ondoubleclick" ? a = "ondblclick" : c !== "onchange" || o !== "input" && o !== "textarea" || vF(n.type) ? c === "onfocus" ? a = "onfocusin" : c === "onblur" ? a = "onfocusout" : bF.test(a) && (a = c) : c = a = "oninput" : s && mF.test(a) ? a = a.replace(yF, "-$&").toLowerCase() : i === null && (i = void 0), c === "oninput" && r[a = c] && (a = "oninputCapture"), r[a] = i; } } - o == "select" && (r.multiple && Array.isArray(r.value) && (r.value = to(n.children).forEach(function(l) { + o == "select" && (r.multiple && Array.isArray(r.value) && (r.value = eo(n.children).forEach(function(l) { l.props.selected = r.value.indexOf(l.props.value) != -1; - })), r.defaultValue != null && (r.value = to(n.children).forEach(function(l) { + })), r.defaultValue != null && (r.value = eo(n.children).forEach(function(l) { l.props.selected = r.multiple ? r.defaultValue.indexOf(l.props.value) != -1 : r.defaultValue == l.props.value; - }))), n.class && !n.className ? (r.class = n.class, Object.defineProperty(r, "className", hj)) : n.className && (r.class = r.className = n.className), t.props = r; - })(e), e.$$typeof = aj, ok && ok(e); + }))), n.class && !n.className ? (r.class = n.class, Object.defineProperty(r, "className", xF)) : n.className && (r.class = r.className = n.className), t.props = r; + })(e), e.$$typeof = gF, wk && wk(e); }; -var rk = Ee.__r; +var vk = Ee.__r; Ee.__r = function(e) { - rk && rk(e), e.__c; + vk && vk(e), e.__c; }; -var sk = Ee.diffed; +var kk = Ee.diffed; Ee.diffed = function(e) { - sk && sk(e); + kk && kk(e); var t = e.props, n = e.__e; n != null && e.type === "textarea" && "value" in t && t.value !== n.value && (n.value = t.value == null ? "" : t.value); }; -function gj(e) { - return !!e.__k && (ni(null, e), !0); +function AF(e) { + return !!e.__k && (ra(null, e), !0); } -function mj(e) { +function SF(e) { return { // eslint-disable-next-line render: function(t) { - pj(t, e); + kF(t, e); }, // eslint-disable-next-line unmount: function() { - gj(e); + AF(e); } }; } -var bj = 0; -function C(e, t, n, o, r, s) { +var OF = 0; +function I(e, t, n, o, r, s) { t || (t = {}); - var i, a, c = t; - if ("ref" in c) for (a in c = {}, t) a == "ref" ? i = t[a] : c[a] = t[a]; - var l = { type: e, props: c, key: n, ref: i, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: --bj, __i: -1, __u: 0, __source: r, __self: s }; - if (typeof e == "function" && (i = e.defaultProps)) for (a in i) c[a] === void 0 && (c[a] = i[a]); + var a, i, c = t; + if ("ref" in c) for (i in c = {}, t) i == "ref" ? a = t[i] : c[i] = t[i]; + var l = { type: e, props: c, key: n, ref: a, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: --OF, __i: -1, __u: 0, __source: r, __self: s }; + if (typeof e == "function" && (a = e.defaultProps)) for (i in a) c[i] === void 0 && (c[i] = a[i]); return Ee.vnode && Ee.vnode(l), l; } -const tt = { name: "documents" }, ik = (e) => "origin" in e ? e.origin.transaction : void 0; -function yj(e) { +const nt = { name: "documents" }, xk = (e) => "origin" in e ? e.origin.transaction : void 0; +function PF(e) { let t = null; const n = () => { const o = t; @@ -11276,23 +11775,23 @@ function yj(e) { }; return { first(o) { - const r = ik(o); + const r = xk(o); t && t.id !== r?.id && n(), !t && r && r.index === 0 && r.count > 1 && (t = { id: r.id, release: e.hold() }); }, last(o) { - const r = ik(o); + const r = xk(o); t && r?.id === t.id && r.index === r.count - 1 && n(); }, close: n }; } -class Br extends Error { +class Wr extends Error { constructor(t) { super(`[kernel] cancelled: ${t}`), this.name = "CancelledError"; } } -const Wi = (e) => e instanceof Br; -function ak(e) { +const qa = (e) => e instanceof Wr; +function Ak(e) { const t = []; let n = null; return { @@ -11314,12 +11813,12 @@ function ak(e) { } }; } -class Z extends Error { +class te extends Error { constructor(t, n, o, r = {}) { super(o), this.name = "PluginError", r.cause !== void 0 && (this.cause = r.cause), this.code = t, this.capability = n, this.permission = r.permission ?? null, this.details = r.details; } } -function bn(e) { +function xn(e) { return { code: e.code, message: e.message, @@ -11327,10 +11826,10 @@ function bn(e) { permission: e.permission }; } -function sn(e, t) { - return e instanceof Z ? t === void 0 || e.code === t : !1; +function un(e, t) { + return e instanceof te ? t === void 0 || e.code === t : !1; } -const wj = { +const MF = { InvalidArg: "invalid-input", MalformedPdf: "invalid-input", PayloadTooLarge: "invalid-input", @@ -11359,28 +11858,28 @@ const wj = { UndoUnavailable: "conflict", IdempotencyKeyReused: "invalid-input" }; -function vj(e) { +function EF(e) { const t = e.details?.required; return typeof t == "string" ? t : null; } -function Be(e, t) { - if (t instanceof Z) return t; - if (Wi(t) || t instanceof Error && t.name === "AbortError") - return new Z("operation-cancelled", e, "operation cancelled", { +function Fe(e, t) { + if (t instanceof te) return t; + if (qa(t) || t instanceof Error && t.name === "AbortError") + return new te("operation-cancelled", e, "operation cancelled", { cause: t }); if (H.is(t)) { - const o = wj[String(t.code)] ?? "operation-failed"; - return new Z(o, e, t.message, { + const o = MF[String(t.code)] ?? "operation-failed"; + return new te(o, e, t.message, { cause: t, details: t.details, - permission: o === "permission-denied" ? vj(t) : null + permission: o === "permission-denied" ? EF(t) : null }); } const n = t instanceof Error ? t.message : String(t); - return new Z("operation-failed", e, n, { cause: t }); + return new te("operation-failed", e, n, { cause: t }); } -function Tn(e) { +function Rn(e) { let t = /* @__PURE__ */ new Set(); return { on(n, o) { @@ -11404,365 +11903,386 @@ function Tn(e) { } }; } -const eg = (e) => e.undoOf !== null ? { undoOf: e.undoOf } : { ops: e.ops ?? [] }; -function kj(e) { +const sg = (e) => e.undoOf !== null ? { undoOf: e.undoOf } : { ops: e.ops ?? [] }; +function CF(e) { let t = [], n = 0, o = 0, r = null, s = !1; - const i = Tn(e.report), a = Tn(e.report), c = (y) => { - const w = e.handle(); - if (!w) throw new Z("not-ready", y, "the document has not opened yet"); - return w; - }, l = (y) => { - if (s) throw new Z("instance-closed", y, "the document closed"); + const a = Rn(e.report), i = Rn(e.report), c = (b) => { + const v = e.handle(); + if (!v) throw new te("not-ready", b, "the document has not opened yet"); + return v; + }, l = (b) => { + if (s) throw new te("instance-closed", b, "the document closed"); }, u = () => { n += 1, e.notify(); - }, f = (y) => { - let w, O; - const b = new Promise((v, E) => { - w = v, O = E; + }, f = (b) => { + let v, x; + const y = new Promise((M, S) => { + v = M, x = S; }); - return b.catch(() => { + return y.catch(() => { }), { - ...y, - merge: y.merge ?? null, + ...b, + verb: b.verb ?? null, + merge: b.merge ?? null, seq: o++, - opId: g4(), - result: b, + opId: b.opId ?? kL(), + result: y, answered: !1, abort: null, - resolve: w, - reject: O + resolve: v, + reject: x }; - }, d = (y) => { - t = t.filter((w) => w !== y); - }, p = (y, w) => { - y.answered || (y.answered = !0, d(y), u(), y.resolve(w), a.emit({ change: y, status: "applied", result: w })); - }, h = (y, w) => { - y.answered || (y.answered = !0, d(y), y.reject(w), a.emit({ change: y, status: "refused", error: w }), g(y), u()); - }, g = (y) => { - const w = new Set(W8(eg(y))); - if (w.size !== 0) - for (const O of t) - O.seq < y.seq || O.answered || U8(eg(O)).some((b) => w.has(b)) && (O.abort?.(), h( - O, - new Z( + }, d = (b) => { + t = t.filter((v) => v !== b); + }, p = (b, v) => { + b.answered || (b.answered = !0, d(b), u(), b.resolve(v), i.emit({ change: b, status: "applied", result: v })); + }, g = (b, v) => { + b.answered || (b.answered = !0, d(b), b.reject(v), i.emit({ change: b, status: "refused", error: v }), h(b), u()); + }, h = (b) => { + const v = new Set(R4(sg(b))); + if (v.size !== 0) + for (const x of t) + x.seq < b.seq || x.answered || L4(sg(x)).some((y) => v.has(y)) && (x.abort?.(), g( + x, + new te( "conflict", - O.capability, - `a change it depends on (${y.label.key}) was refused`, - { details: { reason: "dependency-refused", dependsOn: y.opId } } + x.capability, + `a change it depends on (${b.label.key}) was refused`, + { details: { reason: "dependency-refused", dependsOn: b.opId } } ) )); - }, m = (y) => { - y.held = !1; - let w; + }, m = (b) => { + b.held = !1; + let v; try { - w = c(y.capability).apply(eg(y), { opId: y.opId }); - } catch (O) { - h(y, Be(y.capability, O)); + const x = c(b.capability); + v = b.verb ? b.verb(x, { opId: b.opId }) : x.apply(sg(b), { opId: b.opId }); + } catch (x) { + g(b, Fe(b.capability, x)); return; } - typeof w.abort == "function" && (y.abort = (O) => w.abort(O)), w.then( - (O) => p(y, O), - (O) => h(y, Be(y.capability, O)) + typeof v.abort == "function" && (b.abort = (x) => v.abort(x)), v.then( + (x) => p(b, x), + (x) => g(b, Fe(b.capability, x)) ); - }, M = (y, w) => { - y.answered || (y.answered = !0, d(y), y.reject(new Z("operation-cancelled", w, "the change was cancelled")), u()); - }, x = (y = 1 / 0) => { - for (const w of t) - if (!(!w.held || w.seq >= y)) { - if ((w.ops ?? []).length === 0) { - M(w, w.capability); + }, O = (b, v) => { + b.answered || (b.answered = !0, d(b), b.reject(new te("operation-cancelled", v, "the change was cancelled")), u()); + }, E = (b = 1 / 0) => { + for (const v of t) + if (!(!v.held || v.seq >= b)) { + if ((v.ops ?? []).length === 0) { + O(v, v.capability); continue; } - i.emit(w), m(w); + a.emit(v), m(v); } - }, S = (y, w) => new Z("invalid-input", y, w), P = (y, w) => { - const O = y.entry; - return O ? (O.ops = [...O.ops ?? [], ...w.ops], O.shows = O.ops, O.undo = [...w.undo ?? [], ...O.undo], O.history = O.history || w.history !== !1, u(), O) : (y.entry = f({ - label: y.label, - ops: w.ops, + }, P = (b, v) => new te("invalid-input", b, v), k = (b, v) => { + const x = b.entry; + return x ? (x.ops = [...x.ops ?? [], ...v.ops], x.shows = x.ops, x.undo = [...v.undo ?? [], ...x.undo], x.history = x.history || v.history !== !1, u(), x) : (b.entry = f({ + label: b.label, + ops: v.ops, undoOf: null, - shows: w.ops, - undo: w.undo ?? [], - history: w.history !== !1, + shows: v.ops, + undo: v.undo ?? [], + history: v.history !== !1, held: !1, - capability: y.capability - }), t.push(y.entry), u(), y.entry); - }, k = (y) => ({ - stage(w) { - if (l(y), "undoOf" in w) { - if (r) throw S(y, "an undo can not join a group"); + capability: b.capability + }), t.push(b.entry), u(), b.entry); + }, A = (b) => ({ + stage(v) { + if (l(b), "undoOf" in v) { + if (r) throw P(b, "an undo can not join a group"); + } else if ("send" in v) { + if (r) + throw P( + b, + "a change one of the engine's verbs makes can not join a group" + ); + if (v.opId !== void 0 && t.some((y) => y.opId === v.opId)) + throw P(b, `a change with the opId '${v.opId}' is on its way`); } else { - if (w.ops.length === 0) - throw S(y, "a change needs at least one op"); + if (v.ops.length === 0) + throw P(b, "a change needs at least one op"); if (r) - return P(r, w); + return k(r, v); } - x(); - const O = "undoOf" in w ? f({ - label: w.label, + E(); + const x = "undoOf" in v ? f({ + label: v.label, ops: null, - undoOf: w.undoOf, - shows: w.shows, + undoOf: v.undoOf, + shows: v.shows, undo: [], history: !1, held: !1, - capability: y + capability: b + }) : "send" in v ? f({ + label: v.label, + ops: null, + undoOf: null, + verb: v.send, + opId: v.opId, + shows: [], + undo: [], + history: v.history !== !1, + held: !1, + capability: b }) : f({ - label: w.label, - ops: w.ops, + label: v.label, + ops: v.ops, undoOf: null, - shows: w.ops, - undo: w.undo ?? [], - history: w.history !== !1, + shows: v.ops, + undo: v.undo ?? [], + history: v.history !== !1, held: !1, - capability: y + capability: b }); - return t.push(O), u(), i.emit(O), m(O), O; + return t.push(x), u(), a.emit(x), m(x), x; }, - hold(w, O = {}) { - if (l(y), r) throw S(y, "a change can not be held inside a group"); - let b = null, v = !1; - const E = () => !s && !v && (b === null || b.held && !b.answered); + hold(v, x = {}) { + if (l(b), r) throw P(b, "a change can not be held inside a group"); + let y = null, M = !1; + const S = () => !s && !M && (y === null || y.held && !y.answered); return { get open() { - return E(); + return S(); }, get change() { - return b; + return y; }, - set(I, T = []) { - E() && (b ? (b.ops = I, b.shows = I, b.undo = T) : (b = f({ - label: w, - ops: I, + set(C, N = []) { + S() && (y ? (y.ops = C, y.shows = C, y.undo = N) : (y = f({ + label: v, + ops: C, undoOf: null, - merge: O.merge ?? null, - shows: I, - undo: T, + merge: x.merge ?? null, + shows: C, + undo: N, history: !0, held: !0, - capability: y - }), t.push(b)), u()); + capability: b + }), t.push(y)), u()); }, send() { - return b?.held && x(b.seq + 1), b; + return y?.held && E(y.seq + 1), y; }, cancel() { - v = !0, b?.held && M(b, y); + M = !0, y?.held && O(y, b); } }; }, - group(w, O) { - if (l(y), r) return O(); - x(); - const b = { label: w, capability: y, entry: null }; - r = b; - let v; + group(v, x) { + if (l(b), r) return x(); + E(); + const y = { label: v, capability: b, entry: null }; + r = y; + let M; try { - v = O(); - } catch (E) { - throw r = null, b.entry && M(b.entry, y), E; + M = x(); + } catch (S) { + throw r = null, y.entry && O(y.entry, b), S; } - return r = null, b.entry && (i.emit(b.entry), m(b.entry)), v; + return r = null, y.entry && (a.emit(y.entry), m(y.entry)), M; }, - sendHolds: () => x(), - takeObjectNumber: () => c(y).objectNumbers.take(), - async reserveObjectNumbers(w) { + sendHolds: () => E(), + takeObjectNumber: () => c(b).objectNumbers.take(), + async reserveObjectNumbers(v) { try { - await c(y).objectNumbers.reserve(w); - } catch (O) { - throw Be(y, O); + await c(b).objectNumbers.reserve(v); + } catch (x) { + throw Fe(b, x); } }, listPending: () => t, hasPending: () => t.length > 0, - whenSettled: () => A(), - onStaged: i.on, - onSettled: a.on - }), A = async () => { - await Promise.allSettled(t.filter((y) => !y.held).map((y) => y.result)); + whenSettled: () => w(), + onStaged: a.on, + onSettled: i.on + }), w = async () => { + await Promise.allSettled(t.filter((b) => !b.held).map((b) => b.result)); }; return { shown: () => t, version: () => n, - find: (y) => t.find((w) => w.opId === y), - forPlugin: k, + find: (b) => t.find((v) => v.opId === b), + forPlugin: A, settle() { - return x(), A(); + return E(), w(); }, close() { if (s) return; s = !0; - const y = t; + const b = t; t = [], n += 1; - for (const w of y) - w.answered = !0, w.reject(new Z("instance-closed", w.capability, "the document closed")); - i.destroy(), a.destroy(); + for (const v of b) + v.answered = !0, v.reject(new te("instance-closed", v.capability, "the document closed")); + a.destroy(), i.destroy(); } }; } -const Ty = Symbol("mirror.reload"); -function fo(e) { - return { [Ty]: e?.pages ?? "all" }; +const Hy = Symbol("mirror.reload"); +function po(e) { + return { [Hy]: e?.pages ?? "all" }; } -const xj = (e) => typeof e == "object" && e !== null && Ty in e, BO = (e) => e.type === "stream.desynced" || e.type === "document.versioned", Sm = (e) => sn(e, "permission-denied") ? "forbidden" : "error", zO = (e) => "origin" in e ? e.origin.transaction?.id ?? null : null, Aj = (e) => { +const IF = (e) => typeof e == "object" && e !== null && Hy in e, mM = (e) => e.type === "stream.desynced" || e.type === "document.versioned", Nm = (e) => un(e, "permission-denied") ? "forbidden" : "error", bM = (e) => "origin" in e ? e.origin.transaction?.id ?? null : null, _F = (e) => { const t = "origin" in e ? e.origin.transaction : void 0; return t && t.index === t.count - 1 ? t.id : null; }; -function Ry(e) { +function Vy(e) { const t = /* @__PURE__ */ new Set(); return { has: (n) => t.has(n), /** The event folded: when it was a change's last, the change is held. True when that's new. */ add(n) { - const o = Aj(n); + const o = _F(n); if (o === null || t.has(o) || !e.find(o)) return !1; for (const r of t) e.find(r) || t.delete(r); return t.add(o), !0; } }; } -function Ly(e, t, n) { +function Gy(e, t, n) { const o = new Map( e.shown().filter((r) => !n.has(r.opId)).map((r) => [r.opId, r]) ); for (const { change: r } of t) o.set(r.opId, r); return [...o.values()]; } -function jy(e, t, n, o) { - const r = [...t].sort((i, a) => i.seq - a.seq); +function Yy(e, t, n, o) { + const r = [...t].sort((a, i) => a.seq - i.seq); let s = e; try { - for (const i of r) for (const a of i.shows) s = n(s, a); - } catch (i) { - return o(i), e; + for (const a of r) for (const i of a.shows) s = n(s, i); + } catch (a) { + return o(a), e; } return s; } -function Sj(e, t) { +function NF(e, t) { const n = t.cell(`mirror/${e.name}`, { value: e.initial(), status: "idle" }); let o = !1, r = null; const s = /* @__PURE__ */ new Set(); - let i = !1, a = null, c = 0; + let a = !1, i = null, c = 0; const l = /* @__PURE__ */ new Map(); let u = 0; - const f = Ry(t.changes), d = (w, O) => { - const b = zO(w), v = b !== null && e.predict ? t.changes.find(b) : void 0; - return v ? (l.set(v.opId, { change: v, after: O }), u += 1, v.opId) : null; - }, p = (w) => { - let O = !1; - for (const b of w) O = l.delete(b) || O; - O && (u += 1, t.notify()); - }, h = (w) => p([...l].filter(([, O]) => O.after < w).map(([O]) => O)); - let g = null; + const f = Vy(t.changes), d = (v, x) => { + const y = bM(v), M = y !== null && e.predict ? t.changes.find(y) : void 0; + return M ? (l.set(M.opId, { change: M, after: x }), u += 1, M.opId) : null; + }, p = (v) => { + let x = !1; + for (const y of v) x = l.delete(y) || x; + x && (u += 1, t.notify()); + }, g = (v) => p([...l].filter(([, x]) => x.after < v).map(([x]) => x)); + let h = null; const m = () => { - const w = n.read().value; - if (!e.predict) return w; - const O = t.changes.version(); - if (g && g.value === w && g.version === O && g.kept === u) - return g.view; - const b = jy( - w, - Ly(t.changes, l.values(), f), + const v = n.read().value; + if (!e.predict) return v; + const x = t.changes.version(); + if (h && h.value === v && h.version === x && h.kept === u) + return h.view; + const y = Yy( + v, + Gy(t.changes, l.values(), f), e.predict, t.report ); - return g = { value: w, version: O, kept: u, view: b }, b; - }, M = (w) => { + return h = { value: v, version: x, kept: u, view: y }, y; + }, O = (v) => { try { - e.onChanged?.(w); - } catch (O) { - t.report(O); + e.onChanged?.(v); + } catch (x) { + t.report(x); } - }, x = (w, O) => { - const b = n.read().value; - w !== b && n.write({ ...n.read(), value: w }) && M({ ...O, previous: b, next: w }); - }, S = () => { - y().catch(() => { + }, E = (v, x) => { + const y = n.read().value; + v !== y && n.write({ ...n.read(), value: v }) && O({ ...x, previous: y, next: v }); + }, P = () => { + b().catch(() => { }); - }, P = async (w, O) => { + }, k = async (v, x) => { try { - const b = await e.loadPages(t.doc, w, t.lifetime); + const y = await e.loadPages(t.doc, v, t.lifetime); if (!n.live) return; - const v = n.read().value, E = b(v); - n.write({ ...n.read(), value: E }), M({ cause: "load", event: null, pages: w, previous: v, next: E }), O !== null && p([O]); - } catch (b) { - if (sn(b, "instance-closed") || !n.live) return; - n.write({ ...n.read(), status: Sm(b) }), t.report(b); + const M = n.read().value, S = y(M); + n.write({ ...n.read(), value: S }), O({ cause: "load", event: null, pages: v, previous: M, next: S }), x !== null && p([x]); + } catch (y) { + if (un(y, "instance-closed") || !n.live) return; + n.write({ ...n.read(), status: Nm(y) }), t.report(y); } - }, k = (w) => { - let O; + }, A = (v) => { + let x; try { - O = e.fold(n.read().value, w); - } catch (b) { - t.report(b), (!e.onDemand || o) && S(); + x = e.fold(n.read().value, v); + } catch (y) { + t.report(y), (!e.onDemand || o) && P(); return; } - if (xj(O)) { + if (IF(x)) { if (e.onDemand && !o) return; - const b = O[Ty], v = d(w, c); - if (b === "all" || !e.loadPages) - S(); + const y = x[Hy], M = d(v, c); + if (y === "all" || !e.loadPages) + P(); else { - const E = P(b, v).finally(() => s.delete(E)); - s.add(E); + const S = k(y, M).finally(() => s.delete(S)); + s.add(S); } return; } - e.predict && f.add(w) && (u += 1), x(O, { cause: "event", event: w, pages: null }); + e.predict && f.add(v) && (u += 1), E(x, { cause: "event", event: v, pages: null }); }; - t.onDocumentEvent((w) => { + t.onDocumentEvent((v) => { if (n.live) { - if (BO(w)) { - o && S(); + if (mM(v)) { + o && P(); return; } - a ? (a.push(w), d(w, c - 1)) : k(w); + i ? (i.push(v), d(v, c - 1)) : A(v); } }); - const A = async () => { + const w = async () => { if (e.readable && !e.readable()) { n.write({ ...n.read(), status: "forbidden" }); return; } n.read().status !== "ready" && n.write({ ...n.read(), status: "loading" }); - const w = ++c; - a = []; - let O; + const v = ++c; + i = []; + let x; try { - O = await e.load(t.doc, t.lifetime); - } catch (I) { - const T = a ?? []; - if (a = null, !n.live || sn(I, "instance-closed")) return; - n.write({ ...n.read(), status: Sm(I) }); - for (const _ of T) k(_); - throw I; - } - const b = a ?? []; - if (a = null, !n.live) return; - const v = n.read().value; - n.write({ value: O.value, status: "ready" }), M({ cause: "load", event: null, pages: "all", previous: v, next: O.value }); - const E = O.cursor ?? null; - for (const I of b) { - const T = "origin" in I ? I.origin.serverSequence : null; - E !== null && T !== null && T <= E || k(I); - } - h(w); - }; - function y() { - return o = !0, r ? (i = !0, r) : (r = (async () => { - let w = null; + x = await e.load(t.doc, t.lifetime); + } catch (C) { + const N = i ?? []; + if (i = null, !n.live || un(C, "instance-closed")) return; + n.write({ ...n.read(), status: Nm(C) }); + for (const _ of N) A(_); + throw C; + } + const y = i ?? []; + if (i = null, !n.live) return; + const M = n.read().value; + n.write({ value: x.value, status: "ready" }), O({ cause: "load", event: null, pages: "all", previous: M, next: x.value }); + const S = x.cursor ?? null; + for (const C of y) { + const N = "origin" in C ? C.origin.serverSequence : null; + S !== null && N !== null && N <= S || A(C); + } + g(v); + }; + function b() { + return o = !0, r ? (a = !0, r) : (r = (async () => { + let v = null; do { - i = !1; + a = !1; try { - await A(), w = null; - } catch (O) { - w = O; + await w(), v = null; + } catch (x) { + v = x; } - } while (i && n.live); - if (w !== null) throw w; + } while (a && n.live); + if (v !== null) throw v; })().finally(() => { r = null; }), r); @@ -11772,38 +12292,39 @@ function Sj(e, t) { get: () => n.read().value, view: m, getStatus: () => n.read().status, - ensureLoaded: () => r || (n.read().status === "ready" ? Promise.resolve() : y()), - refresh: y, + ensureLoaded: () => r || (n.read().status === "ready" ? Promise.resolve() : b()), + refresh: b, async settled() { for (; r || s.size > 0; ) await Promise.allSettled([r, ...s]); } }, start() { - !o && !e.onDemand && S(); + !o && !e.onDemand && P(); } }; } -const Ar = (e) => { +const Or = (e) => { if (typeof e != "object" || e === null) return !1; const t = Object.getPrototypeOf(e); return t === Object.prototype || t === null; -}, Fy = (e, t) => Object.prototype.hasOwnProperty.call(e, t); -function oi(e, t) { +}, Qy = (e, t) => Object.prototype.hasOwnProperty.call(e, t); +function sa(e, t) { if (Object.is(e, t)) return !0; if (Array.isArray(e) && Array.isArray(t)) - return e.length === t.length && e.every((n, o) => oi(n, t[o])); - if (Ar(e) && Ar(t)) { + return e.length === t.length && e.every((n, o) => sa(n, t[o])); + if (Or(e) && Or(t)) { const n = Object.keys(e); - return n.length === Object.keys(t).length && n.every((o) => Fy(t, o) && oi(e[o], t[o])); + return n.length === Object.keys(t).length && n.every((o) => Qy(t, o) && sa(e[o], t[o])); } return !1; } -const Dy = /* @__PURE__ */ new Map(), Pj = Object.freeze({ kind: "blank" }), ck = Object.freeze({ kind: "own" }); -function Oj(e) { +const Xy = /* @__PURE__ */ new Map(), TF = Object.freeze({ kind: "blank" }), Sk = Object.freeze({ kind: "own" }); +function RF(e) { switch (e.type) { case "pages.reordered": case "pages.rotated": + case "pages.scaleSet": case "pages.deleted": case "pages.inserted": case "pages.restored": @@ -11812,26 +12333,27 @@ function Oj(e) { return null; } } -function Mj(e, t) { +function LF(e, t) { switch (t.type) { case "pages.rotate": + case "pages.setScale": case "pages.reorder": case "pages.delete": case "pages.insertBlank": case "pages.copy": - return d8(e, t); + return o4(e, t); case "pages.restore": - return f8(e, t.pages); + return r4(e, t.pages); case "pages.relabel": - return p8(e, t.labels); + return s4(e, t.labels); default: return e; } } -function Ej(e) { - const { changes: t, report: n } = e, o = Ry(t), r = /* @__PURE__ */ new Set(); - let s = { pages: [], labels: [] }, i = s, a = { ...s, pending: Dy }; - const c = () => Ly(t, [], o); +function jF(e) { + const { changes: t, report: n } = e, o = Vy(t), r = /* @__PURE__ */ new Set(); + let s = { pages: [], labels: [] }, a = s, i = { ...s, pending: Xy }; + const c = () => Gy(t, [], o); return { setEnginePages(u) { s = { pages: u.pages, labels: u.labels }; @@ -11840,69 +12362,69 @@ function Ej(e) { o.add(u); }, refresh: () => { - const u = c(), f = jy(s, u, Mj, n); - if (f === i) return null; - i = f; - const d = Cj(a.pages, f.pages), p = cp(a.labels, f.labels) ? a.labels : f.labels, h = Ij(a.pending, _j(d, s.pages, u)); - if (d === a.pages && p === a.labels && h === a.pending) return null; - a = { pages: d, labels: p, pending: h }; - for (const g of [...r]) + const u = c(), f = Yy(s, u, LF, n); + if (f === a) return null; + a = f; + const d = FF(i.pages, f.pages), p = fp(i.labels, f.labels) ? i.labels : f.labels, g = DF(i.pending, $F(d, s.pages, u)); + if (d === i.pages && p === i.labels && g === i.pending) return null; + i = { pages: d, labels: p, pending: g }; + for (const h of [...r]) try { - g(); + h(); } catch (m) { n(m); } - return a; + return i; }, - current: () => a, - getPending: (u) => a.pending.get(u.objectNumber) ?? null, - has: (u) => a.pages.some((f) => f.ref.objectNumber === u.objectNumber), + current: () => i, + getPending: (u) => i.pending.get(u.objectNumber) ?? null, + has: (u) => i.pages.some((f) => f.ref.objectNumber === u.objectNumber), onChange(u) { return r.add(u), () => void r.delete(u); } }; } -function Cj(e, t) { +function FF(e, t) { const n = new Map(e.map((s) => [s.ref.objectNumber, s])); let o = e.length === t.length; - const r = t.map((s, i) => { - const a = n.get(s.ref.objectNumber), c = a !== void 0 && oi(a, s) ? a : s; - return c !== e[i] && (o = !1), c; + const r = t.map((s, a) => { + const i = n.get(s.ref.objectNumber), c = i !== void 0 && sa(i, s) ? i : s; + return c !== e[a] && (o = !1), c; }); return o ? e : r; } -function Ij(e, t) { +function DF(e, t) { if (e.size !== t.size) return t; - for (const [n, o] of t) if (!oi(e.get(n), o)) return t; + for (const [n, o] of t) if (!sa(e.get(n), o)) return t; return e; } -function _j(e, t, n) { - const o = new Set(t.map((i) => i.ref.objectNumber)), r = e.filter((i) => !o.has(i.ref.objectNumber)); - if (r.length === 0) return Dy; +function $F(e, t, n) { + const o = new Set(t.map((a) => a.ref.objectNumber)), r = e.filter((a) => !o.has(a.ref.objectNumber)); + if (r.length === 0) return Xy; const s = /* @__PURE__ */ new Map(); - for (const i of n) - for (const a of i.shows) - if (a.type === "pages.insertBlank") - for (const c of a.objectNumbers ?? []) s.set(c, Pj); - else if (a.type === "pages.copy") - (a.objectNumbers ?? []).forEach((c, l) => { - const u = a.pages[l]; + for (const a of n) + for (const i of a.shows) + if (i.type === "pages.insertBlank") + for (const c of i.objectNumbers ?? []) s.set(c, TF); + else if (i.type === "pages.copy") + (i.objectNumbers ?? []).forEach((c, l) => { + const u = i.pages[l]; u && s.set(c, { kind: "copy", of: u }); }); - else if (a.type === "pages.restore") - for (const { page: c } of a.pages) s.set(c.ref.objectNumber, ck); + else if (i.type === "pages.restore") + for (const { page: c } of i.pages) s.set(c.ref.objectNumber, Sk); return new Map( - r.map((i) => [i.ref.objectNumber, s.get(i.ref.objectNumber) ?? ck]) + r.map((a) => [a.ref.objectNumber, s.get(a.ref.objectNumber) ?? Sk]) ); } -const Nj = { +const BF = { now: () => performance.now(), after(e, t) { const n = setTimeout(t, e); return () => clearTimeout(n); } }; -function Tj(e, t) { +function zF(e, t) { const n = /* @__PURE__ */ new Set(); t.addEventListener( "abort", @@ -11911,128 +12433,131 @@ function Tj(e, t) { }, { once: !0 } ); - const o = (s, i) => { + const o = (s, a) => { if (t.aborted) return () => { }; - let a = !1, c = () => { + let i = !1, c = () => { }; const l = () => { - a || (a = !0, n.delete(l), c()); + i || (i = !0, n.delete(l), c()); }; return n.add(l), c = s((...u) => { - a || (a = !0, n.delete(l), i(...u)); + i || (i = !0, n.delete(l), a(...u)); }), l; }, r = (s) => e.nextFrame ? e.nextFrame(s) : e.after(0, () => s(e.now())); return { - after: (s, i) => o((a) => e.after(s, a), i), + after: (s, a) => o((i) => e.after(s, i), a), nextFrame: (s) => o(r, s), hasFrames: e.nextFrame !== void 0 }; } -function Rj(e = console.error) { +function WF(e = console.error) { let t = { documents: {}, pending: {}, order: [], activeId: null }; const n = {}, o = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Set(); let s = 0; - const i = (p) => { + const a = (h) => { try { - p(); - } catch (h) { - e(h); + h(); + } catch (m) { + e(m); } }; - let a = !1, c = !1, l = 0, u = !1; - const f = () => { - if (l > 0) { - u = !0; + let i = 0, c = !1, l = !1, u = 0, f = !1; + const d = () => { + if (u > 0) { + f = !0; return; } - if (a) { - c = !0; + if (c) { + l = !0; return; } - a = !0; + c = !0; try { do - c = !1, r.forEach((p) => i(p)); - while (c); + l = !1, r.forEach((h) => a(h)); + while (l); } finally { - a = !1; + c = !1; } - }; - function d(p, h, g = `${p}#${++s}`) { - o.get(p)?.revoke(); - const m = { live: !0, state: h }, M = Tn(e); - n[p] = h; - const x = { - key: p, - instanceId: g, + }, p = () => { + i += 1, d(); + }; + function g(h, m, O = `${h}#${++s}`) { + o.get(h)?.revoke(); + const E = { live: !0, state: m }, P = Rn(e); + n[h] = m; + const k = { + key: h, + instanceId: O, get live() { - return m.live; + return E.live; }, - read: () => m.state, - write(S) { - if (!m.live) return !1; - if (S === m.state) return !0; - const P = m.state; - return m.state = S, n[p] = S, f(), M.emit({ next: S, previous: P }), !0; + read: () => E.state, + write(A) { + if (!E.live) return !1; + if (A === E.state) return !0; + const w = E.state; + return E.state = A, n[h] = A, p(), P.emit({ next: A, previous: w }), !0; }, - onChange: M.on, + onChange: P.on, revoke() { - m.live && (m.live = !1, M.destroy(), o.get(p) === x && (o.delete(p), delete n[p], f())); + E.live && (E.live = !1, P.destroy(), o.get(h) === k && (o.delete(h), delete n[h], p())); } }; - return o.set(p, x), x; + return o.set(h, k), k; } return { - lease: d, + lease: g, getCore: () => t, getState: () => ({ core: t, plugins: n }), - setCore(p) { - t = { ...t, ...p }, f(); + setCore(h) { + t = { ...t, ...h }, p(); }, - notify: () => f(), + notify: p, + changeCount: () => i, hold() { - l += 1; - let p = !1; + u += 1; + let h = !1; return () => { - p || (p = !0, l -= 1, !(l > 0 || !u) && (u = !1, f())); + h || (h = !0, u -= 1, !(u > 0 || !f) && (f = !1, d())); }; }, - subscribe(p) { - return r.add(p), () => void r.delete(p); + subscribe(h) { + return r.add(h), () => void r.delete(h); }, destroy() { - t = { documents: {}, pending: {}, order: [], activeId: null }; - for (const p of [...o.values()]) p.revoke(); - for (const p of Object.keys(n)) delete n[p]; + t = { documents: {}, pending: {}, order: [], activeId: null }, i += 1; + for (const h of [...o.values()]) h.revoke(); + for (const h of Object.keys(n)) delete n[h]; r.clear(); } }; } -function Lj() { +function UF() { try { return typeof process < "u" && process.env?.NODE_ENV !== "production"; } catch { return !1; } } -const WO = (e) => e !== null && (typeof e == "object" || typeof e == "function") && typeof e.then == "function", jj = (e) => e !== null && typeof e == "object" && !WO(e) && !(e instanceof ArrayBuffer) && !ArrayBuffer.isView(e) && !(e instanceof Date) && !(e instanceof RegExp) && !(e instanceof Map) && !(e instanceof Set) && !Array.isArray(e); -function Fj(e, t, n) { - const o = /* @__PURE__ */ new WeakMap(), r = () => new Z( +const yM = (e) => e !== null && (typeof e == "object" || typeof e == "function") && typeof e.then == "function", KF = (e) => e !== null && typeof e == "object" && !yM(e) && !(e instanceof ArrayBuffer) && !ArrayBuffer.isView(e) && !(e instanceof Date) && !(e instanceof RegExp) && !(e instanceof Map) && !(e instanceof Set) && !Array.isArray(e); +function qF(e, t, n) { + const o = /* @__PURE__ */ new WeakMap(), r = () => new te( "instance-closed", n, `document instance ${t.instanceId} was closed` ), s = (l) => { const u = l, f = new Promise((d, p) => { - const h = () => { + const g = () => { u.abort?.(t.signal.reason), p(r()); }; - t.signal.aborted ? h() : t.signal.addEventListener("abort", h, { once: !0 }), Promise.resolve(l).then( - (g) => { - t.signal.removeEventListener("abort", h), t.signal.aborted || d(g); + t.signal.aborted ? g() : t.signal.addEventListener("abort", g, { once: !0 }), Promise.resolve(l).then( + (h) => { + t.signal.removeEventListener("abort", g), t.signal.aborted || d(h); }, - (g) => { - t.signal.removeEventListener("abort", h), t.signal.aborted || p(Be(n, g)); + (h) => { + t.signal.removeEventListener("abort", g), t.signal.aborted || p(Fe(n, h)); } ); }); @@ -12040,68 +12565,68 @@ function Fj(e, t, n) { value: (d) => u.abort(d), enumerable: !1 }), f; - }, i = (l, u) => function(...d) { + }, a = (l, u) => function(...d) { let p; try { p = l.apply(u, d); - } catch (h) { - throw Be(n, h); + } catch (g) { + throw Fe(n, g); } - return WO(p) ? s(p) : a(p, u); - }, a = (l, u) => typeof l == "function" ? i(l, u) : jj(l) ? c(l) : l, c = (l) => { + return yM(p) ? s(p) : i(p, u); + }, i = (l, u) => typeof l == "function" ? a(l, u) : KF(l) ? c(l) : l, c = (l) => { let u = o.get(l); return u || (u = new Proxy(l, { get(f, d) { - return a(Reflect.get(f, d, f), f); + return i(Reflect.get(f, d, f), f); } }), o.set(l, u)), u; }; return c(e); } -function Dj(e, t, n) { +function HF(e, t, n) { let o = 0, r = null; - const s = () => new Z("instance-closed", t, `${n}: instance closed`), i = (a, c) => new Z("operation-cancelled", t, `${n}: ${c}`, { - details: { runId: a, reason: c } + const s = () => new te("instance-closed", t, `${n}: instance closed`), a = (i, c) => new te("operation-cancelled", t, `${n}: ${c}`, { + details: { runId: i, reason: c } }); return { get running() { return r !== null; }, - cancel(a) { - r?.abort(a ?? "cancelled"), r = null; + cancel(i) { + r?.abort(i ?? "cancelled"), r = null; }, - async run(a, c) { + async run(i, c) { if (e.aborted) throw s(); if (c?.signal?.aborted) - throw i(`${n}#${o + 1}`, "cancelled before start"); + throw a(`${n}#${o + 1}`, "cancelled before start"); const l = ++o, u = `${n}#${l}`, f = new AbortController(), d = r; r = f; - const p = () => f.abort("instance-closed"), h = () => f.abort("cancelled"); - e.addEventListener("abort", p, { once: !0 }), c?.signal?.addEventListener("abort", h, { once: !0 }); - const g = () => l === o && !f.signal.aborted, m = { + const p = () => f.abort("instance-closed"), g = () => f.abort("cancelled"); + e.addEventListener("abort", p, { once: !0 }), c?.signal?.addEventListener("abort", g, { once: !0 }); + const h = () => l === o && !f.signal.aborted, m = { id: u, signal: f.signal, get superseded() { return l !== o; }, - commit(M) { - return g() ? (M(), !0) : !1; + commit(O) { + return h() ? (O(), !0) : !1; } }; try { - if (d?.abort("superseded"), !g()) throw i(u, "superseded"); - const M = await a(m); - if (!g()) throw i(u, String(f.signal.reason ?? "superseded")); - return M; - } catch (M) { - throw e.aborted ? s() : g() ? Be(t, M) : i(u, String(f.signal.reason ?? "superseded")); + if (d?.abort("superseded"), !h()) throw a(u, "superseded"); + const O = await i(m); + if (!h()) throw a(u, String(f.signal.reason ?? "superseded")); + return O; + } catch (O) { + throw e.aborted ? s() : h() ? Fe(t, O) : a(u, String(f.signal.reason ?? "superseded")); } finally { - e.removeEventListener("abort", p), c?.signal?.removeEventListener("abort", h), r === f && (r = null); + e.removeEventListener("abort", p), c?.signal?.removeEventListener("abort", g), r === f && (r = null); } } }; } -function $j(e, t) { +function VF(e, t) { return { ready: (n) => e.ready(n), refused: (n) => e.refused(n), @@ -12116,451 +12641,449 @@ function $j(e, t) { } }; } -const tg = "idle", lk = Symbol("page-mirror.gone"); -function Bj(e, t) { - const n = t.cell(`page-mirror/${e.name}`, {}), o = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(); +const ag = "idle", Ok = Symbol("page-mirror.gone"); +function GF(e, t) { + const n = /* @__PURE__ */ new Map(), o = t.cell(`page-mirror/${e.name}`, 0), r = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(); let i = 0; - const a = Ry(t.changes), c = (k, A) => { - const y = zO(A), w = y !== null && e.predict ? t.changes.find(y) : void 0; - if (!w) return; - let O = s.get(k); - O || s.set(k, O = /* @__PURE__ */ new Map()), O.set(w.opId, { change: w, epoch: o.get(k) ?? 0 }), i += 1; - }, l = (k, A) => { - const y = s.get(k); - if (!y) return; - const w = y.size; - for (const [O, b] of y) b.epoch < A && y.delete(O); - y.size === 0 && s.delete(k), y.size !== w && (i += 1, t.notify()); - }, u = /* @__PURE__ */ new Map(), f = (k) => { - const A = Dt(k), y = d(A)?.value; - if (y === void 0 || !e.predict) return y; - const w = t.changes.version(), O = u.get(A); - if (O && O.value === y && O.version === w && O.kept === i) - return O.view; - const b = e.predict, v = jy( - y, - Ly(t.changes, s.get(A)?.values() ?? [], a), - (E, I) => b(E, I, k), + const c = Vy(t.changes), l = (w, b) => { + const v = bM(b), x = v !== null && e.predict ? t.changes.find(v) : void 0; + if (!x) return; + let y = a.get(w); + y || a.set(w, y = /* @__PURE__ */ new Map()), y.set(x.opId, { change: x, epoch: r.get(w) ?? 0 }), i += 1; + }, u = (w, b) => { + const v = a.get(w); + if (!v) return; + const x = v.size; + for (const [y, M] of v) M.epoch < b && v.delete(y); + v.size === 0 && a.delete(w), v.size !== x && (i += 1, t.notify()); + }, f = /* @__PURE__ */ new Map(), d = (w) => { + const b = xt(w), v = p(b)?.value; + if (v === void 0 || !e.predict) return v; + const x = t.changes.version(), y = f.get(b); + if (y && y.value === v && y.version === x && y.kept === i) + return y.view; + const M = e.predict, S = Yy( + v, + Gy(t.changes, a.get(b)?.values() ?? [], c), + (C, N) => M(C, N, w), t.report ); - return u.set(A, { value: y, version: w, kept: i, view: v }), v; - }, d = (k) => n.read()[k], p = (k, A) => { - const { [k]: y, ...w } = n.read(); - return n.write(A ? { ...w, [k]: A } : w); - }, h = (k) => { - if (!(k.cause !== "load" && k.previous === k.next)) + return f.set(b, { value: v, version: x, kept: i, view: S }), S; + }, p = (w) => n.get(w), g = (w, b) => o.live ? (b ? n.set(w, b) : n.delete(w), o.write(o.read() + 1)) : !1, h = (w) => { + if (!(w.cause !== "load" && w.previous === w.next)) try { - e.onChanged?.(k); - } catch (A) { - t.report(A); - } - }, g = (k) => new Promise((A) => { - const y = (b) => { - O(), t.lifetime.removeEventListener("abort", w), A(b); - }, w = () => y(!1), O = t.pages.onChange(() => { - t.pages.getPending(k) || y(t.pages.has(k)); + e.onChanged?.(w); + } catch (b) { + t.report(b); + } + }, m = (w) => new Promise((b) => { + const v = (M) => { + y(), t.lifetime.removeEventListener("abort", x), b(M); + }, x = () => v(!1), y = t.pages.onChange(() => { + t.pages.getPending(w) || v(t.pages.has(w)); }); - t.lifetime.addEventListener("abort", w, { once: !0 }); - }), m = (k) => t.pages.getPending(k) ? g(k).then( - (A) => A ? e.load(t.doc, k, t.lifetime) : lk - ) : e.load(t.doc, k, t.lifetime), M = (k) => { - const A = Dt(k), y = (o.get(A) ?? 0) + 1; - o.set(A, y); - const w = d(A); - w?.status !== "ready" && p(A, { page: k, status: "loading", value: w?.value }); - const O = () => n.live && o.get(A) === y, b = m(k).then( - (v) => { - if (!O()) return; - if (v === lk) { - p(A, null); + t.lifetime.addEventListener("abort", x, { once: !0 }); + }), O = (w) => t.pages.getPending(w) ? m(w).then( + (b) => b ? e.load(t.doc, w, t.lifetime) : Ok + ) : e.load(t.doc, w, t.lifetime), E = (w) => { + const b = xt(w), v = (r.get(b) ?? 0) + 1; + r.set(b, v); + const x = p(b); + x?.status !== "ready" && g(b, { page: w, status: "loading", value: x?.value }); + const y = () => o.live && r.get(b) === v, M = O(w).then( + (S) => { + if (!y()) return; + if (S === Ok) { + g(b, null); return; } - const E = d(A)?.value; - p(A, { page: k, status: "ready", value: v }), h({ page: k, cause: "load", event: null, previous: E, next: v }), s.has(A) && l(A, y); + const C = p(b)?.value; + g(b, { page: w, status: "ready", value: S }), h({ page: w, cause: "load", event: null, previous: C, next: S }), a.has(b) && u(b, v); }, - (v) => { - if (!(!O() || sn(v, "instance-closed"))) - throw p(A, { page: k, status: Sm(v), value: d(A)?.value }), v; + (S) => { + if (!(!y() || un(S, "instance-closed"))) + throw g(b, { page: w, status: Nm(S), value: p(b)?.value }), S; } ).finally(() => { - r.get(A) === b && r.delete(A); + s.get(b) === M && s.delete(b); }); - return r.set(A, b), b; - }, x = (k) => { - M(k).catch(() => { + return s.set(b, M), M; + }, P = (w) => { + E(w).catch(() => { }); - }, S = () => Object.values(n.read()).filter((k) => k.status !== tg).map((k) => k.page); - t.onDocumentEvent((k) => { - n.live && (P(k), e.predict && a.add(k) && (i += 1)); + }, k = () => [...n.values()].filter((w) => w.status !== ag).map((w) => w.page); + t.onDocumentEvent((w) => { + o.live && (A(w), e.predict && c.add(w) && (i += 1)); }); - function P(k) { - if (BO(k)) { - for (const w of S()) x(w); + function A(w) { + if (mM(w)) { + for (const x of k()) P(x); return; } - if (k.type === "pages.deleted") { - for (const w of k.pages) { - const O = Dt(w), b = d(O); - b && (o.set(O, (o.get(O) ?? 0) + 1), s.delete(O), u.delete(O), p(O, null), h({ page: w, cause: "drop", event: k, previous: b.value, next: void 0 })); + if (w.type === "pages.deleted") { + for (const x of w.pages) { + const y = xt(x), M = p(y); + M && (r.set(y, (r.get(y) ?? 0) + 1), a.delete(y), f.delete(y), g(y, null), h({ page: x, cause: "drop", event: w, previous: M.value, next: void 0 })); } return; } - const A = e.affected(k); - if (A === null) return; - const y = A === "all" ? S() : A; - for (const w of y) { - const O = Dt(w), b = d(O); - if (!b || b.status === tg) continue; - if (!e.fold || b.status !== "ready") { - c(O, k), x(w); + const b = e.affected(w); + if (b === null) return; + const v = b === "all" ? k() : b; + for (const x of v) { + const y = xt(x), M = p(y); + if (!M || M.status === ag) continue; + if (!e.fold || M.status !== "ready") { + l(y, w), P(x); continue; } - let v; + let S; try { - v = e.fold(b.value, k, w); - } catch (E) { - t.report(E), v = "reload"; + S = e.fold(M.value, w, x); + } catch (C) { + t.report(C), S = "reload"; } - if (v === "reload") { - c(O, k), x(w); + if (S === "reload") { + l(y, w), P(x); continue; } - v !== b.value && (o.set(O, (o.get(O) ?? 0) + 1), p(O, { page: w, status: "ready", value: v }), h({ page: w, cause: "event", event: k, previous: b.value, next: v })); + S !== M.value && (r.set(y, (r.get(y) ?? 0) + 1), g(y, { page: x, status: "ready", value: S }), h({ page: x, cause: "event", event: w, previous: M.value, next: S })); } } return { - get: (k) => d(Dt(k))?.value, - view: f, - getStatus: (k) => d(Dt(k))?.status ?? tg, - ensureLoaded(k) { - const A = Dt(k), y = r.get(A); - return y || (d(A)?.status === "ready" ? Promise.resolve() : M(k)); + get: (w) => p(xt(w))?.value, + view: d, + getStatus: (w) => p(xt(w))?.status ?? ag, + ensureLoaded(w) { + const b = xt(w), v = s.get(b); + return v || (p(b)?.status === "ready" ? Promise.resolve() : E(w)); }, - refresh(k) { - return k ? M(k) : Promise.all(S().map((A) => M(A))).then(() => { + refresh(w) { + return w ? E(w) : Promise.all(k().map((b) => E(b))).then(() => { }); } }; } -function zj(e) { +function YF(e) { let t = Promise.resolve(); return Object.assign((o, r) => { const s = () => r?.signal?.aborted ? Promise.reject( - new Z("operation-cancelled", e, "cancelled before it started", { + new te("operation-cancelled", e, "cancelled before it started", { cause: r.signal.reason }) - ) : o(), i = t.then(s, s); - return t = i.then( + ) : o(), a = t.then(s, s); + return t = a.then( () => { }, () => { } - ), i; + ), a; }, { idle: () => t }); } -function Ui(e, t, n) { +function Ha(e, t, n) { if (!t) return n; const o = n; return new Promise((r, s) => { - const i = () => { + const a = () => { o.abort?.(t.reason), s( - new Z("operation-cancelled", e, "operation cancelled", { + new te("operation-cancelled", e, "operation cancelled", { cause: t.reason }) ); }; n.then( - (a) => { - t.removeEventListener("abort", i), r(a); + (i) => { + t.removeEventListener("abort", a), r(i); }, - (a) => { - t.removeEventListener("abort", i), s(Be(e, a)); + (i) => { + t.removeEventListener("abort", a), s(Fe(e, i)); } - ), t.aborted ? i() : t.addEventListener("abort", i, { once: !0 }); + ), t.aborted ? a() : t.addEventListener("abort", a, { once: !0 }); }); } -function ff(e, t) { - return typeof t == "number" ? e[t] ?? null : e.find((n) => pi(n.ref, t)) ?? null; +function pf(e, t) { + return typeof t == "number" ? e[t] ?? null : e.find((n) => ga(n.ref, t)) ?? null; } -function Wj(e, t, n) { - const o = ff(e, t); +function QF(e, t, n) { + const o = pf(e, t); if (o) return o; - throw new Z( + throw new te( "not-found", n, typeof t == "number" ? `there is no page ${t} in this document` : `page ${t.objectNumber} is not in this document` ); } -function Pm(e, t) { +function Tm(e, t) { return t === "annotations:create" ? e.allowsAnnotation("create") : e.allows(t); } -function Om(e, t, n) { - return new Z("permission-denied", e, `${n} requires ${t}`, { +function Rm(e, t, n) { + return new te("permission-denied", e, `${n} requires ${t}`, { permission: t }); } -function Uj(e, t, n, o) { +function XF(e, t, n, o) { const r = n.groupId !== null ? `fields:${t}:group=${n.groupId}` : t === "fill" ? "doc.forms.fill" : "doc.sign"; - return new Z("permission-denied", e, `${o} requires ${r}`, { + return new te("permission-denied", e, `${o} requires ${r}`, { permission: r }); } -const UO = (e, t) => t ? `${e}::${t}` : e, uk = (e, t) => e.reduceRight((n, o) => () => o(n), t)(); -function Kj(e) { +const wM = (e, t) => t ? `${e}::${t}` : e, Pk = (e, t) => e.reduceRight((n, o) => () => o(n), t)(); +function ZF(e) { const t = /* @__PURE__ */ new Set([ - tt, + nt, ...e.requires ?? [], ...e.optional ?? [] ]); return e.token && t.add(e.token), t; } -const KO = /* @__PURE__ */ new WeakMap(); -function dk(e) { - KO.get(e)?.(); +const vM = /* @__PURE__ */ new WeakMap(); +function Mk(e) { + vM.get(e)?.(); } -function fk(e, t, n, o, r) { - const { engine: s, store: i } = e, a = n?.id, c = n?.instanceId ?? `workspace:${t.id}`, l = t.id, u = (n?.leases ?? e.workspaceLeases).get(t); +function Ek(e, t, n, o, r) { + const { engine: s, store: a } = e, i = n?.id, c = n?.instanceId ?? `workspace:${t.id}`, l = t.id, u = (n?.leases ?? e.workspaceLeases).get(t); if (!u) throw new Error( - `[kernel] no state lease for plugin "${t.id}" (${a ?? "workspace"})` + `[kernel] no state lease for plugin "${t.id}" (${i ?? "workspace"})` ); - const f = Kj(t), d = (b) => { - if (Lj() && !t.resolvesAnyCapability && !f.has(b)) + const f = ZF(t), d = (y) => { + if (UF() && !t.resolvesAnyCapability && !f.has(y)) throw new Error( - `[kernel] plugin "${t.id}" resolved capability "${b.name}" without declaring it; add the token to its \`requires\` or \`optional\` list.` + `[kernel] plugin "${t.id}" resolved capability "${y.name}" without declaring it; add the token to its \`requires\` or \`optional\` list.` ); }; let p = !1; - const h = (b) => { + const g = (y) => { p || (p = !0, e.report( - new Z( + new te( "instance-closed", t.id, - `${b} after the instance closed (${u.instanceId}); dropped` + `${y} after the instance closed (${u.instanceId}); dropped` ) )); }; - let g = null; + let h = null; const m = () => { if (!n) throw new Error( `[kernel] workspace plugin "${t.id}" has no bound document; use ctx.forDocument(token, documentId).` ); if (!n.handle) - throw new Z( + throw new te( "not-ready", l, `document ${n.id} has no engine handle yet` ); - return g ?? (g = Fj(n.handle, { signal: o, instanceId: c }, l)); - }, M = () => n ? i.getCore().documents[n.id] ?? n.stagedMeta : null, x = (b) => new Z("not-found", l, `page ${b.objectNumber} is not in this document`), S = /* @__PURE__ */ new Map(), P = /* @__PURE__ */ new Map(); - let k = null, A = null; - const y = [], w = () => ({ + return h ?? (h = qF(n.handle, { signal: o, instanceId: c }, l)); + }, O = () => n ? a.getCore().documents[n.id] ?? n.stagedMeta : null, E = (y) => new te("not-found", l, `page ${y.objectNumber} is not in this document`), P = /* @__PURE__ */ new Map(), k = /* @__PURE__ */ new Map(); + let A = null, w = null; + const b = [], v = () => ({ doc: m(), changes: n.changes, pages: n.pageView, notify: () => { - u.live && i.notify(); + u.live && a.notify(); }, lifetime: o, - cell(b, v) { - const E = i.lease(`${UO(t.id, n?.id)}/${b}`, v, c); - return o.aborted ? E.revoke() : o.addEventListener("abort", () => E.revoke(), { once: !0 }), E; + cell(y, M) { + const S = a.lease(`${wM(t.id, n?.id)}/${y}`, M, c); + return o.aborted ? S.revoke() : o.addEventListener("abort", () => S.revoke(), { once: !0 }), S; }, - onDocumentEvent(b) { - const v = m().events.subscribe(b); - r.defer(v); + onDocumentEvent(y) { + const M = m().events.subscribe(y); + r.defer(M); }, report: e.report - }), O = { + }), x = { id: t.id, instanceId: c, - documentId: a, + documentId: i, engine: s, get doc() { return m(); }, - documentHandle: (b) => b ? e.documentHandle(b) : n ? n.handle : e.documentHandle(void 0), + documentHandle: (y) => y ? e.documentHandle(y) : n ? n.handle : e.documentHandle(void 0), document: () => { - if (n) return M(); - const b = i.getCore().activeId; - return b ? i.getCore().documents[b] ?? null : null; + if (n) return O(); + const y = a.getCore().activeId; + return y ? a.getCore().documents[y] ?? null : null; }, - getPage: (b) => ff(M()?.pages ?? [], b), - pageOf: (b) => Wj(M()?.pages ?? [], b, l), - assertPageRef: (b) => { - if (!M()?.pages.some((v) => pi(v.ref, b))) - throw x(b); + getPage: (y) => pf(O()?.pages ?? [], y), + pageOf: (y) => QF(O()?.pages ?? [], y, l), + assertPageRef: (y) => { + if (!O()?.pages.some((M) => ga(M.ref, y))) + throw E(y); }, // Both read the bound document through `doc()`, so a workspace context // throws here exactly as reading `ctx.doc` does. - allows: (b) => Pm(m().security, b), - assertAllowed: (b, v) => { - if (!Pm(m().security, b)) - throw Om(l, b, v); - }, - allowsField: (b, v) => m().security.allowsField(b, { groupId: v.groupId }), - assertAllowedField: (b, v, E) => { - if (!m().security.allowsField(b, { groupId: v.groupId })) - throw Uj(l, b, v, E); - }, - get: (b) => (d(b), e.resolveCapability(b, a)), - tryGet: (b) => (d(b), e.tryResolveCapability(b, a)), - forDocument: (b, v) => (d(b), e.resolveCapability(b, v)), - tryForDocument: (b, v) => (d(b), e.tryResolveCapability(b, v)), + allows: (y) => Tm(m().security, y), + assertAllowed: (y, M) => { + if (!Tm(m().security, y)) + throw Rm(l, y, M); + }, + allowsField: (y, M) => m().security.allowsField(y, { groupId: M.groupId }), + assertAllowedField: (y, M, S) => { + if (!m().security.allowsField(y, { groupId: M.groupId })) + throw XF(l, y, M, S); + }, + get: (y) => (d(y), e.resolveCapability(y, i)), + tryGet: (y) => (d(y), e.tryResolveCapability(y, i)), + forDocument: (y, M) => (d(y), e.resolveCapability(y, M)), + tryForDocument: (y, M) => (d(y), e.tryResolveCapability(y, M)), state: { get: () => u.read(), - update: (b, ...v) => { - u.write(b(u.read(), ...v)) || h("a state update"); + update: (y, ...M) => { + u.write(y(u.read(), ...M)) || g("a state update"); }, onChange: u.onChange }, settings: () => { - if (k) return k; - const b = e.settingsStoreOf(t); - if (!b) + if (A) return A; + const y = e.settingsStoreOf(t); + if (!y) throw new Error( `[kernel] plugin "${t.id}" read ctx.settings() but declares no settings; add \`settings: { defaults, registered }\` to its definition.` ); - return k = b.forInstance((v) => r.defer(v)); + return A = y.forInstance((M) => r.defer(M)); }, notify: () => { - u.live && i.notify(); - }, - watch: (b, v, E = Object.is) => { - let I = b(); - const T = i.subscribe(() => { - const _ = b(); - if (E(I, _)) return; - const N = I; - I = _, v(_, N); + u.live && a.notify(); + }, + storeChangeCount: a.changeCount, + watch: (y, M, S = Object.is) => { + let C = y(); + const N = a.subscribe(() => { + const _ = y(); + if (S(C, _)) return; + const T = C; + C = _, M(_, T); }); - return r.defer(T), T; - }, - waitFor(b, v) { - return new Promise((E, I) => { - let T = !1; - const _ = (B) => { - T || (T = !0, j(), o.removeEventListener("abort", N), v?.signal?.removeEventListener("abort", F), B()); - }, N = () => _( - () => I(new Z("instance-closed", l, "closed while waiting")) - ), F = () => _( - () => I(new Z("operation-cancelled", l, "cancelled while waiting")) - ), R = () => { - let B = !1; + return r.defer(N), N; + }, + waitFor(y, M) { + return new Promise((S, C) => { + let N = !1; + const _ = (L) => { + N || (N = !0, z(), o.removeEventListener("abort", T), M?.signal?.removeEventListener("abort", $), L()); + }, T = () => _( + () => C(new te("instance-closed", l, "closed while waiting")) + ), $ = () => _( + () => C(new te("operation-cancelled", l, "cancelled while waiting")) + ), j = () => { + let L = !1; try { - B = b(); - } catch (W) { - _(() => I(W)); + L = y(); + } catch (D) { + _(() => C(D)); return; } - B && _(E); - }, j = i.subscribe(R); - if (o.aborted) return N(); - if (v?.signal?.aborted) return F(); - o.addEventListener("abort", N, { once: !0 }), v?.signal?.addEventListener("abort", F, { once: !0 }), R(); + L && _(S); + }, z = a.subscribe(j); + if (o.aborted) return T(); + if (M?.signal?.aborted) return $(); + o.addEventListener("abort", T, { once: !0 }), M?.signal?.addEventListener("abort", $, { once: !0 }), j(); }); }, - mirror(b) { - const v = Sj(b, w()); - return y.push(v.start), v.mirror; + mirror(y) { + const M = NF(y, v()); + return b.push(M.start), M.mirror; }, - pageMirror: (b) => Bj(b, w()), + pageMirror: (y) => GF(y, v()), events: { source() { - const b = Tn(e.report); - return r.defer(() => b.destroy()), b; + const y = Rn(e.report); + return r.defer(() => y.destroy()), y; } }, - listen(b, v) { - const E = typeof b == "function" ? b(v) : b.subscribe(v); - r.defer(E); + listen(y, M) { + const S = typeof y == "function" ? y(M) : y.subscribe(M); + r.defer(S); }, get changes() { if (!n) throw new Error( `[kernel] workspace plugin "${t.id}" has no document to change; ctx.changes is for document-scoped plugins.` ); - return A ?? (A = n.changes.forPlugin(t.id)); + return w ?? (w = n.changes.forPlugin(t.id)); }, - cleanup: (b) => r.defer(b), - clock: Tj(e.clock, o), - measurer: e.measurer && $j(e.measurer, o), - onSettle(b) { + cleanup: (y) => r.defer(y), + clock: zF(e.clock, o), + measurer: e.measurer && VF(e.measurer, o), + onSettle(y) { if (!n) throw new Error( `[kernel] workspace plugin "${t.id}" has no document to settle; ctx.onSettle() is for document-scoped plugins.` ); - n.settleFlushes.add(b), r.defer(() => { - n.settleFlushes.delete(b); + n.settleFlushes.add(y), r.defer(() => { + n.settleFlushes.delete(y); }); }, - aroundDownload(b) { + aroundDownload(y) { if (!n) throw new Error( `[kernel] workspace plugin "${t.id}" has no document to download; ctx.aroundDownload() is for document-scoped plugins.` ); - n.downloadWraps.push(b), r.defer(() => { - const v = n.downloadWraps.indexOf(b); - v >= 0 && n.downloadWraps.splice(v, 1); + n.downloadWraps.push(y), r.defer(() => { + const M = n.downloadWraps.indexOf(y); + M >= 0 && n.downloadWraps.splice(M, 1); }); }, - aroundPrint(b) { + aroundPrint(y) { if (!n) throw new Error( `[kernel] workspace plugin "${t.id}" has no document to print; ctx.aroundPrint() is for document-scoped plugins.` ); - n.printWraps.push(b), r.defer(() => { - const v = n.printWraps.indexOf(b); - v >= 0 && n.printWraps.splice(v, 1); + n.printWraps.push(y), r.defer(() => { + const M = n.printWraps.indexOf(y); + M >= 0 && n.printWraps.splice(M, 1); }); }, - async acquire(b, v) { - const E = await b(o); + async acquire(y, M) { + const S = await y(o); if (o.aborted) - throw await v(E), new Z("instance-closed", l, "closed while acquiring a resource"); - return r.defer(() => v(E)), E; + throw await M(S), new te("instance-closed", l, "closed while acquiring a resource"); + return r.defer(() => M(S)), S; }, - cancellable: (b, v) => Ui(l, b, v), - latest(b) { - let v = P.get(b); - return v || (v = Dj(o, l, b), P.set(b, v)), v; + cancellable: (y, M) => Ha(l, y, M), + latest(y) { + let M = k.get(y); + return M || (M = HF(o, l, y), k.set(y, M)), M; }, - serialQueue(b = "default") { - let v = S.get(b); - return v || (v = zj(l), S.set(b, v)), v; + serialQueue(y = "default") { + let M = P.get(y); + return M || (M = YF(l), P.set(y, M)), M; } }; - return KO.set(O, () => { - for (const b of y.splice(0)) b(); - }), O; + return vM.set(x, () => { + for (const y of b.splice(0)) y(); + }), x; } -const pk = [37, 80, 68, 70]; -function qO(e) { - const t = Math.min(e.length - pk.length, 1024); +const Ck = [37, 80, 68, 70]; +function kM(e) { + const t = Math.min(e.length - Ck.length, 1024); for (let n = 0; n <= t; n++) - if (pk.every((o, r) => e[n + r] === o)) return !0; + if (Ck.every((o, r) => e[n + r] === o)) return !0; return !1; } -async function hk(e, t, n) { - const o = new AbortController(), r = t.filter((i) => i !== void 0), s = () => o.abort(); - for (const i of r) - i.aborted ? s() : i.addEventListener("abort", s, { once: !0 }); +async function Ik(e, t, n) { + const o = new AbortController(), r = t.filter((a) => a !== void 0), s = () => o.abort(); + for (const a of r) + a.aborted ? s() : a.addEventListener("abort", s, { once: !0 }); try { - const i = (async () => { - const a = [...e].map(async (c) => c(o.signal)); - for (const c of await Promise.allSettled(a)) + const a = (async () => { + const i = [...e].map(async (c) => c(o.signal)); + for (const c of await Promise.allSettled(i)) c.status === "rejected" && n(c.reason); })(); - await qj(i, o.signal); + await JF(a, o.signal); } finally { - for (const i of r) i.removeEventListener("abort", s); + for (const a of r) a.removeEventListener("abort", s); } } -async function qj(e, t) { +async function JF(e, t) { let n; const o = new Promise((r, s) => { - n = () => s(new Z("operation-cancelled", "documents", "settling was cancelled")), t.aborted ? n() : t.addEventListener("abort", n, { once: !0 }); + n = () => s(new te("operation-cancelled", "documents", "settling was cancelled")), t.aborted ? n() : t.addEventListener("abort", n, { once: !0 }); }); try { await Promise.race([e, o]); @@ -12568,139 +13091,139 @@ async function qj(e, t) { n && t.removeEventListener("abort", n); } } -function gk({ defaults: e, registered: t, whole: n = [] }, o, r) { - const s = Mm(e, t, { defaults: e, whole: n }); - let i = s; - const a = Tn(r), c = (u) => { - const f = Gj(i, u); - f.length !== 0 && (i = u, o(), a.emit({ settings: u, changedKeys: f })); +function _k({ defaults: e, registered: t, whole: n = [] }, o, r) { + const s = Lm(e, t, { defaults: e, whole: n }); + let a = s; + const i = Rn(r), c = (u) => { + const f = nD(a, u); + f.length !== 0 && (a = u, o(), i.emit({ settings: u, changedKeys: f })); }, l = { - getSettings: () => i, - updateSettings: (u) => c(Mm(i, u, { defaults: e, whole: n })), + getSettings: () => a, + updateSettings: (u) => c(Lm(a, u, { defaults: e, whole: n })), resetSettings: () => c(s), - onSettingsChanged: a.on + onSettingsChanged: i.on }; return { api: l, forInstance(u) { - const f = Tn(r); - return u(a.on((d) => f.emit(d))), u(() => f.destroy()), { + const f = Rn(r); + return u(i.on((d) => f.emit(d))), u(() => f.destroy()), { get: l.getSettings, api: { ...l, onSettingsChanged: f.on } }; }, - destroy: () => a.destroy() + destroy: () => i.destroy() }; } -function Mm(e, t, n) { +function Lm(e, t, n) { const o = n?.whole ?? []; - if (o.length === 0 || !Ar(t)) return Em(e, t); - const r = o.map((i) => i.split(".")); - let s = Em(e, Hj(t, r)); - for (const i of r) { - const a = Pd(t, i); - if (a === void 0) continue; - const c = Vj(Pd(n?.defaults, i), a); - oi(Pd(s, i), c) || (s = $y(s, i, c)); + if (o.length === 0 || !Or(t)) return jm(e, t); + const r = o.map((a) => a.split(".")); + let s = jm(e, eD(t, r)); + for (const a of r) { + const i = Ed(t, a); + if (i === void 0) continue; + const c = tD(Ed(n?.defaults, a), i); + sa(Ed(s, a), c) || (s = Zy(s, a, c)); } return s; } -function Pd(e, t) { +function Ed(e, t) { let n = e; for (const o of t) { - if (!Ar(n) || !Fy(n, o)) return; + if (!Or(n) || !Qy(n, o)) return; n = n[o]; } return n; } -function $y(e, t, n) { +function Zy(e, t, n) { if (t.length === 0) return n; - const [o, ...r] = t, s = Ar(e) ? e : {}; - return { ...s, [o]: $y(s[o], r, n) }; + const [o, ...r] = t, s = Or(e) ? e : {}; + return { ...s, [o]: Zy(s[o], r, n) }; } -function Hj(e, t) { +function eD(e, t) { let n = e; for (const o of t) - Pd(n, o) !== void 0 && (n = $y(n, o, void 0)); + Ed(n, o) !== void 0 && (n = Zy(n, o, void 0)); return n; } -function Vj(e, t) { - if (!Ar(t) || !Ar(e)) return t; +function tD(e, t) { + if (!Or(t) || !Or(e)) return t; const n = { ...e }; for (const o of Object.keys(t)) t[o] !== void 0 && (n[o] = t[o]); return n; } -function Em(e, t) { +function jm(e, t) { if (t === void 0) return e; - if (!Ar(t)) return oi(e, t) ? e : t; - const n = Ar(e) ? e : {}; + if (!Or(t)) return sa(e, t) ? e : t; + const n = Or(e) ? e : {}; let o = null; for (const r of Object.keys(t)) { - const s = Fy(n, r) ? n[r] : void 0, i = Em(s, t[r]); - i !== s && (o ?? (o = { ...n }), o[r] = i); + const s = Qy(n, r) ? n[r] : void 0, a = jm(s, t[r]); + a !== s && (o ?? (o = { ...n }), o[r] = a); } return o ?? e; } -function Gj(e, t) { +function nD(e, t) { const n = e, o = t; - return [.../* @__PURE__ */ new Set([...Object.keys(n), ...Object.keys(o)])].filter((s) => !oi(n[s], o[s])); + return [.../* @__PURE__ */ new Set([...Object.keys(n), ...Object.keys(o)])].filter((s) => !sa(n[s], o[s])); } -function Yj(e) { +function oD(e) { const t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map([ - [tt, "workspace"] + [nt, "workspace"] ]); - for (const a of e) { - const c = t.get(a.id); + for (const i of e) { + const c = t.get(i.id); if (c) throw new Error( - c === a ? `[kernel] plugin "${a.id}" is installed twice.` : `[kernel] two different plugins use the id "${a.id}".` + c === i ? `[kernel] plugin "${i.id}" is installed twice.` : `[kernel] two different plugins use the id "${i.id}".` ); - if (t.set(a.id, a), a.token) { - const l = n.get(a.token); + if (t.set(i.id, i), i.token) { + const l = n.get(i.token); if (l) throw new Error( - `[kernel] capability "${a.token.name}" is provided by both "${l.id}" and "${a.id}".` + `[kernel] capability "${i.token.name}" is provided by both "${l.id}" and "${i.id}".` ); - n.set(a.token, a), o.set(a.token, a.scope ?? "workspace"); + n.set(i.token, i), o.set(i.token, i.scope ?? "workspace"); } } - for (const a of e) - for (const c of a.requires ?? []) { - if (c !== tt && !n.has(c)) + for (const i of e) + for (const c of i.requires ?? []) { + if (c !== nt && !n.has(c)) throw new Error( - `Plugin "${a.id}" requires capability "${c.name}", which no plugin provides` + (c.hint ? ` — ${c.hint}.` : ".") + `Plugin "${i.id}" requires capability "${c.name}", which no plugin provides` + (c.hint ? ` — ${c.hint}.` : ".") ); - if (a.scope !== "document" && n.get(c)?.scope === "document") + if (i.scope !== "document" && n.get(c)?.scope === "document") throw new Error( - `[kernel] workspace plugin "${a.id}" requires document-scoped capability "${c.name}"; resolve it per document with ctx.forDocument() and declare it as optional.` + `[kernel] workspace plugin "${i.id}" requires document-scoped capability "${c.name}"; resolve it per document with ctx.forDocument() and declare it as optional.` ); } - const r = [], s = /* @__PURE__ */ new Map(), i = (a) => { - const c = s.get(a.id); + const r = [], s = /* @__PURE__ */ new Map(), a = (i) => { + const c = s.get(i.id); if (c !== "done") { - if (c === "visiting") throw new Error(`Dependency cycle involving plugin "${a.id}".`); - s.set(a.id, "visiting"); - for (const l of [...a.requires ?? [], ...a.optional ?? []]) { + if (c === "visiting") throw new Error(`Dependency cycle involving plugin "${i.id}".`); + s.set(i.id, "visiting"); + for (const l of [...i.requires ?? [], ...i.optional ?? []]) { const u = n.get(l); - u && u !== a && i(u); + u && u !== i && a(u); } - s.set(a.id, "done"), r.push(a); + s.set(i.id, "done"), r.push(i); } }; - for (const a of e) i(a); + for (const i of e) a(i); return { ordered: r, - providerOf: (a) => n.get(a), - scopeOf: (a) => o.get(a) ?? "workspace" + providerOf: (i) => n.get(i), + scopeOf: (i) => o.get(i) ?? "workspace" }; } -const Cm = Object.freeze({ +const Fm = Object.freeze({ identity: null, scope: null, accent: "#3858e9", page: Object.freeze({ background: "#ffffff", shadow: "0 6px 18px rgb(0 0 0 / 0.18)" }) -}), Qj = ["identity"]; -function Xj({ +}), rD = ["identity"]; +function sD({ identity: e, scope: t, accent: n, @@ -12709,16 +13232,16 @@ function Xj({ return { identity: e ?? null, scope: t ?? null, - accent: n ?? Cm.accent, - page: { ...Cm.page, ...o } + accent: n ?? Fm.accent, + page: { ...Fm.page, ...o } }; } -const ng = Object.freeze([]), fc = (e) => e.scope === "document", mk = (e) => e.state?.(), bk = /* @__PURE__ */ new WeakMap(); -function Tu(e) { - let t = bk.get(e); - return t || (t = "pages" in e ? Zj(e) : Jj(e), bk.set(e, t)), t; +const ig = Object.freeze([]), dc = (e) => e.scope === "document", Nk = (e) => e.state?.(), Tk = /* @__PURE__ */ new WeakMap(); +function ju(e) { + let t = Tk.get(e); + return t || (t = "pages" in e ? aD(e) : iD(e), Tk.set(e, t)), t; } -const Zj = (e) => Object.freeze({ +const aD = (e) => Object.freeze({ id: e.id, name: e.name, status: "ready", @@ -12726,52 +13249,52 @@ const Zj = (e) => Object.freeze({ hasUnsavedChanges: e.hasUnsavedChanges, ...e.identityRequest ? { identityRequest: e.identityRequest } : {}, ...e.openRequest ? { openRequest: e.openRequest } : {} -}), Jj = (e) => Object.freeze({ +}), iD = (e) => Object.freeze({ id: e.id, name: e.name, status: e.status, pageCount: 0, hasUnsavedChanges: !1, ...e.status === "locked" ? { passwordProvided: e.passwordProvided ?? !1 } : {}, - ...e.status === "error" && e.error !== void 0 ? { error: bn(Be("documents", e.error)) } : {}, + ...e.status === "error" && e.error !== void 0 ? { error: xn(Fe("documents", e.error)) } : {}, ...e.openRequest ? { openRequest: e.openRequest } : {} }); -function eF(e, t) { +function cD(e, t) { if (t) - return ZR(e, t.passphrase !== void 0) ?? void 0; + return K8(e, t.passphrase !== void 0) ?? void 0; } -function tF(e, t, n) { +function lD(e, t, n) { const { passphrase: o, visitorIdentity: r } = n ?? {}; if (o === void 0 && r === void 0) return e; if (!t) - throw new Z( + throw new te( "invalid-input", "documents", "only a document from a grant takes its passphrase or answers" ); return o !== void 0 ? { ...t, passphrase: o } : t; } -const nF = (e) => e.type !== "stream.desynced" && e.type !== "document.versioned" && e.type !== "signatures.prepared" && e.type !== "signatures.cancelled", oF = (e) => e === 404 ? "not-found" : e === 401 || e === 403 ? "permission-denied" : "operation-failed"; -async function rF(e, t, n) { +const uD = (e) => e.type !== "stream.desynced" && e.type !== "document.versioned" && e.type !== "signatures.prepared" && e.type !== "signatures.cancelled", dD = (e) => e === 404 ? "not-found" : e === 401 || e === 403 ? "permission-denied" : "operation-failed"; +async function fD(e, t, n) { const o = n ?? globalThis.fetch; if (!o) - throw new Z("unsupported", "documents", `can't download ${e.url}: no fetch()`); + throw new te("unsupported", "documents", `can't download ${e.url}: no fetch()`); const r = await o(e.url, { signal: t }); if (!r.ok) - throw new Z( - oF(r.status), + throw new te( + dD(r.status), "documents", `couldn't download ${e.url} (HTTP ${r.status})` ); const s = new Uint8Array(await r.arrayBuffer()); - if (!qO(s)) - throw new Z("invalid-input", "documents", `${e.url} isn't a PDF`); + if (!kM(s)) + throw new te("invalid-input", "documents", `${e.url} isn't a PDF`); return { kind: "bytes", ...e.id !== void 0 ? { id: e.id } : {}, bytes: s }; } -const sF = (e) => e.kind === "url", yk = () => new Z("unsupported", "documents", "only the local engine gives a layer to download"), iF = Object.freeze({ kind: "images", dpi: 150 }), Ru = Object.freeze({ +const pD = (e) => e.kind === "url", Rk = () => new te("unsupported", "documents", "only the local engine gives a layer to download"), hD = Object.freeze({ kind: "images", dpi: 150 }), Fu = Object.freeze({ kind: "images", dpi: 300 -}), aF = Object.freeze({ kind: "pdf" }), cF = (e, t) => ({ +}), gD = Object.freeze({ kind: "pdf" }), mD = (e, t) => ({ ...e, get: (n = t) => e.get(n), download: (n = t, o) => e.download(n, o), @@ -12785,87 +13308,87 @@ const sF = (e) => e.kind === "url", yk = () => new Z("unsupported", "documents", getPage: (n, o = t) => e.getPage(n, o), getPageIndex: (n, o = t) => e.getPageIndex(n, o), getRevision: (n = t) => e.getRevision(n) -}), og = (e) => "id" in e && typeof e.id == "string" ? e.id : null; -let lF = 0; -const Lu = (e) => e instanceof Error && e.name === "AbortError"; -function uF(e) { - const { engine: t, plugins: n } = e, o = e.report ?? ((L) => console.error("[kernel]", L)), r = Rj(o), s = Yj(n), i = s.ordered.filter(fc), a = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map(), u = new AbortController(), f = ak(o), d = /* @__PURE__ */ new Map([ - [tt, cF] +}), cg = (e) => "id" in e && typeof e.id == "string" ? e.id : null; +let bD = 0; +const Du = (e) => e instanceof Error && e.name === "AbortError"; +function yD(e) { + const { engine: t, plugins: n } = e, o = e.report ?? ((R) => console.error("[kernel]", R)), r = WF(o), s = oD(n), a = s.ordered.filter(dc), i = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map(), u = new AbortController(), f = Ak(o), d = /* @__PURE__ */ new Map([ + [nt, mD] ]); - for (const L of s.ordered) - L.token && L.inScope && !fc(L) && d.set(L.token, L.inScope); - const p = Tn(o), h = Tn(o), g = Tn(o), m = Tn(o), M = Tn(o), x = Tn(o), S = Tn(o); + for (const R of s.ordered) + R.token && R.inScope && !dc(R) && d.set(R.token, R.inScope); + const p = Rn(o), g = Rn(o), h = Rn(o), m = Rn(o), O = Rn(o), E = Rn(o), P = Rn(o); f.defer(() => { - for (const L of [ + for (const R of [ p, - h, g, + h, m, - M, - x, - S + O, + E, + P ]) - L.destroy(); + R.destroy(); }); - const P = (L) => { - const z = r.getCore().activeId; - r.setCore(L); + const k = (R) => { const U = r.getCore().activeId; - z !== U && M.emit({ documentId: U, previousDocumentId: z }); - }, k = /* @__PURE__ */ new Map(); - let A = "created", y = null, w = null; - const O = (L) => { - if (A === "failed" || A === "destroying" || A === "destroyed") - throw new Error(`[kernel] ${L} on a ${A} kernel`); - }, b = (L) => { - if (L.cancel.signal.aborted) - throw new Br(`closed while opening: ${L.id}`); - }; - async function v(L, z, U) { - const te = z; - L.engineOp = typeof te.abort == "function" ? te : null; - const ne = L.cancel.signal; - let se; - const Fe = new Promise((Pe, Ve) => { - se = () => Ve(new Br(`closed while opening: ${L.id}`)), ne.aborted ? se() : ne.addEventListener("abort", se, { once: !0 }); + r.setCore(R); + const K = r.getCore().activeId; + U !== K && O.emit({ documentId: K, previousDocumentId: U }); + }, A = /* @__PURE__ */ new Map(); + let w = "created", b = null, v = null; + const x = (R) => { + if (w === "failed" || w === "destroying" || w === "destroyed") + throw new Error(`[kernel] ${R} on a ${w} kernel`); + }, y = (R) => { + if (R.cancel.signal.aborted) + throw new Wr(`closed while opening: ${R.id}`); + }; + async function M(R, U, K) { + const oe = U; + R.engineOp = typeof oe.abort == "function" ? oe : null; + const re = R.cancel.signal; + let ne; + const De = new Promise((Ie, Je) => { + ne = () => Je(new Wr(`closed while opening: ${R.id}`)), re.aborted ? ne() : re.addEventListener("abort", ne, { once: !0 }); }); try { - return await Promise.race([z, Fe]); - } catch (Pe) { - throw Wi(Pe) && z.then( - (Ve) => { - U && L.scope.defer(() => U(Ve)); + return await Promise.race([U, De]); + } catch (Ie) { + throw qa(Ie) && U.then( + (Je) => { + K && R.scope.defer(() => K(Je)); }, () => { } // the abandoned call's own rejection is not separately actionable - ), Pe; + ), Ie; } finally { - se && ne.removeEventListener("abort", se), L.engineOp = null; + ne && re.removeEventListener("abort", ne), R.engineOp = null; } } - function E(L, z) { - const U = new AbortController(), te = kj({ - handle: () => ne.handle, + function S(R, U) { + const K = new AbortController(), oe = CF({ + handle: () => re.handle, notify: () => { - ee(ne), r.notify(); + V(re), r.notify(); }, report: o - }), ne = { - id: L, - instanceId: `${L}#${++lF}`, - name: z, + }), re = { + id: R, + instanceId: `${R}#${++bD}`, + name: U, source: null, grantInput: null, openOptions: void 0, phase: "opening", handle: null, stagedMeta: null, - scope: ak(o), + scope: Ak(o), operation: null, engineOp: null, - cancel: U, - signal: U.signal, + cancel: K, + signal: K.signal, capabilities: /* @__PURE__ */ new Map(), building: /* @__PURE__ */ new Set(), views: /* @__PURE__ */ new Map(), @@ -12874,804 +13397,815 @@ function uF(e) { settleFlushes: /* @__PURE__ */ new Set(), downloadWraps: [], printWraps: [], - changes: te, - pageView: Ej({ changes: te, report: o }), + changes: oe, + pageView: jF({ changes: oe, report: o }), changeCount: 0, changesSeen: 0, - close: () => N(ne) + close: () => T(re) }; - return ne.settleFlushes.add(() => ne.changes.settle()), ne.scope.defer(() => ne.changes.close()), ne; + return re.settleFlushes.add(() => re.changes.settle()), re.scope.defer(() => re.changes.close()), re; } - function I(L, z) { - if (L.operation) - throw new Error(`[documents] "${L.id}" already has an active transition`); - const U = z().finally(() => { - L.operation === U && (L.operation = null); + function C(R, U) { + if (R.operation) + throw new Error(`[documents] "${R.id}" already has an active transition`); + const K = U().finally(() => { + R.operation === K && (R.operation = null); }); - return L.operation = U, U; - } - function T(L, z) { - const U = L.id; - if (U === z) return; - const te = r.getCore(); - if (k.has(z) || te.documents[z] || te.pending[z]) - throw new Z("conflict", "documents", `duplicate document id: ${z}`); - k.delete(U), L.id = z, k.set(z, L), L.views.clear(); - const ne = te.pending[U]; - if (ne) { - const { [U]: se, ...Fe } = te.pending; - P({ - pending: { ...Fe, [z]: { ...ne, id: z } }, - order: te.order.map((Pe) => Pe === U ? z : Pe), - activeId: te.activeId === U ? z : te.activeId + return R.operation = K, K; + } + function N(R, U) { + const K = R.id; + if (K === U) return; + const oe = r.getCore(); + if (A.has(U) || oe.documents[U] || oe.pending[U]) + throw new te("conflict", "documents", `duplicate document id: ${U}`); + A.delete(K), R.id = U, A.set(U, R), R.views.clear(); + const re = oe.pending[K]; + if (re) { + const { [K]: ne, ...De } = oe.pending; + k({ + pending: { ...De, [U]: { ...re, id: U } }, + order: oe.order.map((Ie) => Ie === K ? U : Ie), + activeId: oe.activeId === K ? U : oe.activeId }); } } const _ = /* @__PURE__ */ new WeakMap(); - function N(L) { - const z = _.get(L); - if (z) return z; - const U = (async () => { - L.phase = "closing", W(L.id); - for (const ne of L.leases.values()) ne.revoke(); - const te = new Br(`closed while opening: ${L.id}`); - L.cancel.abort(te), L.engineOp?.abort(te), await L.operation?.catch((ne) => { - !Wi(ne) && !Lu(ne) && o(ne); - }), await L.scope.destroy(), k.get(L.id) === L && k.delete(L.id), L.views.clear(), m.emit({ documentId: L.id }); + function T(R) { + const U = _.get(R); + if (U) return U; + const K = (async () => { + R.phase = "closing", D(R.id); + for (const re of R.leases.values()) re.revoke(); + const oe = new Wr(`closed while opening: ${R.id}`); + R.cancel.abort(oe), R.engineOp?.abort(oe), await R.operation?.catch((re) => { + !qa(re) && !Du(re) && o(re); + }), await R.scope.destroy(), A.get(R.id) === R && A.delete(R.id), R.views.clear(), m.emit({ documentId: R.id }); })(); - return _.set(L, U), U; + return _.set(R, K), K; } - function F(L, z) { - if (L.activeId !== z) return L.activeId; - const U = L.order.indexOf(z), te = L.order.filter((ne) => ne !== z); - return te.length === 0 ? null : te[Math.max(0, U - 1)] ?? te[0]; + function $(R, U) { + if (R.activeId !== U) return R.activeId; + const K = R.order.indexOf(U), oe = R.order.filter((re) => re !== U); + return oe.length === 0 ? null : oe[Math.max(0, K - 1)] ?? oe[0]; } - function R(L, z) { - const U = r.getCore(); - P({ + function j(R, U) { + const K = r.getCore(); + k({ pending: { - ...U.pending, - [L.id]: { id: L.id, name: L.name, status: "loading" } + ...K.pending, + [R.id]: { id: R.id, name: R.name, status: "loading" } }, // A failed document opened again (`retry()`) keeps its place. - order: U.order.includes(L.id) ? U.order : [...U.order, L.id], - activeId: z || U.activeId === null ? L.id : U.activeId + order: K.order.includes(R.id) ? K.order : [...K.order, R.id], + activeId: U || K.activeId === null ? R.id : K.activeId }); } - function j(L, z) { - const U = r.getCore(); - P({ + function z(R, U) { + const K = r.getCore(); + k({ pending: { - ...U.pending, - [L.id]: { id: L.id, name: L.name, status: "locked", passwordProvided: z } + ...K.pending, + [R.id]: { id: R.id, name: R.name, status: "locked", passwordProvided: U } } - }), g.emit({ documentId: L.id, passwordProvided: z }); + }), h.emit({ documentId: R.id, passwordProvided: U }); } - function B(L, z) { - const U = r.getCore(), te = eF(z, L.grantInput); - P({ + function L(R, U) { + const K = r.getCore(), oe = cD(U, R.grantInput); + k({ pending: { - ...U.pending, - [L.id]: { - id: L.id, - name: L.name, + ...K.pending, + [R.id]: { + id: R.id, + name: R.name, status: "error", - error: z, - ...te ? { openRequest: te } : {} + error: U, + ...oe ? { openRequest: oe } : {} } } - }), h.emit({ - documentId: L.id, - error: bn(Be("documents", z)) + }), g.emit({ + documentId: R.id, + error: xn(Fe("documents", U)) }); } - function W(L) { - const z = r.getCore(); - if (!z.pending[L] && !z.documents[L]) return; - const { [L]: U, ...te } = z.pending, { [L]: ne, ...se } = z.documents; - P({ - pending: te, - documents: se, - order: z.order.filter((Fe) => Fe !== L), - activeId: F(z, L) + function D(R) { + const U = r.getCore(); + if (!U.pending[R] && !U.documents[R]) return; + const { [R]: K, ...oe } = U.pending, { [R]: re, ...ne } = U.documents; + k({ + pending: oe, + documents: ne, + order: U.order.filter((De) => De !== R), + activeId: $(U, R) }); } - function $(L) { - L.phase = "ready", L.pageView.refresh(); - const z = K(L.stagedMeta, L.pageView.current()), U = r.getCore(), { [L.id]: te, ...ne } = U.pending; - P({ documents: { ...U.documents, [L.id]: z }, pending: ne }); - const se = L.handle?.grant; - se && (L.scope.defer( - se.onIdentityRequested((Fe) => be(L, Fe)) - ), L.scope.defer(se.onOpenRequested((Fe) => J(L, Fe)))), p.emit({ documentId: L.id, info: Tu(z) }); - } - function K(L, z) { - const { pages: U, labels: te, pending: ne } = z; - return L.pages === U && L.pageLabels === te && L.pendingPages === ne ? L : { - ...L, - pageCount: U.length, - pages: U, - pageLabels: te, - pendingPages: ne, - pagesSequence: L.pages === U ? L.pagesSequence : L.pagesSequence + 1 + function F(R) { + R.phase = "ready", R.pageView.refresh(); + const U = B(R.stagedMeta, R.pageView.current()), K = r.getCore(), { [R.id]: oe, ...re } = K.pending; + k({ documents: { ...K.documents, [R.id]: U }, pending: re }); + const ne = R.handle?.grant; + ne && (R.scope.defer( + ne.onIdentityRequested((De) => pe(R, De)) + ), R.scope.defer(ne.onOpenRequested((De) => Q(R, De)))), p.emit({ documentId: R.id, info: ju(U) }); + } + function B(R, U) { + const { pages: K, labels: oe, pending: re } = U; + return R.pages === K && R.pageLabels === oe && R.pendingPages === re ? R : { + ...R, + pageCount: K.length, + pages: K, + pageLabels: oe, + pendingPages: re, + pagesSequence: R.pages === K ? R.pagesSequence : R.pagesSequence + 1 }; } - function ee(L) { - const z = L.pageView.refresh(); - if (!z) return; - const U = r.getCore(), te = U.documents[L.id]; - if (!te) return; - const ne = K(te, z); - ne !== te && (P({ documents: { ...U.documents, [L.id]: ne } }), ne.pages !== te.pages && x.emit({ - documentId: L.id, - pagesSequence: ne.pagesSequence, - pages: ne.pages + function V(R) { + const U = R.pageView.refresh(); + if (!U) return; + const K = r.getCore(), oe = K.documents[R.id]; + if (!oe) return; + const re = B(oe, U); + re !== oe && (k({ documents: { ...K.documents, [R.id]: re } }), re.pages !== oe.pages && E.emit({ + documentId: R.id, + pagesSequence: re.pagesSequence, + pages: re.pages })); } - function J(L, z) { - const U = r.getCore(), te = U.documents[L.id]; - if (!te || (te.openRequest ?? null) === z) return; - const { openRequest: ne, ...se } = te; - P({ + function Q(R, U) { + const K = r.getCore(), oe = K.documents[R.id]; + if (!oe || (oe.openRequest ?? null) === U) return; + const { openRequest: re, ...ne } = oe; + k({ documents: { - ...U.documents, - [L.id]: z ? { ...se, openRequest: z } : se + ...K.documents, + [R.id]: U ? { ...ne, openRequest: U } : ne } }); } - async function ue(L, z) { - const U = L.handle.grant, { passphrase: te, visitorIdentity: ne } = z ?? {}; + async function le(R, U) { + const K = R.handle.grant, { passphrase: oe, visitorIdentity: re } = U ?? {}; try { - await U.resume({ - ...te !== void 0 ? { passphrase: te } : {}, - ...ne !== void 0 ? { visitorIdentity: ne } : {} + await K.resume({ + ...oe !== void 0 ? { passphrase: oe } : {}, + ...re !== void 0 ? { visitorIdentity: re } : {} }); - } catch (se) { - throw J(L, U.openRequest), Be("documents", se); + } catch (ne) { + throw Q(R, K.openRequest), Fe("documents", ne); } - return J(L, U.openRequest), { document: Ps(L.id) }; + return Q(R, K.openRequest), { document: Os(R.id) }; } - function be(L, z) { - const U = r.getCore(), te = U.documents[L.id]; - if (!te || (te.identityRequest ?? null) === z) return; - const { identityRequest: ne, ...se } = te; - P({ + function pe(R, U) { + const K = r.getCore(), oe = K.documents[R.id]; + if (!oe || (oe.identityRequest ?? null) === U) return; + const { identityRequest: re, ...ne } = oe; + k({ documents: { - ...U.documents, - [L.id]: z ? { ...se, identityRequest: z } : se + ...K.documents, + [R.id]: U ? { ...ne, identityRequest: U } : ne } }); } - async function we(L, z) { - const U = he(L, "identify"), te = U.handle.grant; - if (!te) - throw new Z("invalid-input", "documents", `${L} isn't from a grant`); + async function me(R, U) { + const K = ge(R, "identify"), oe = K.handle.grant; + if (!oe) + throw new te("invalid-input", "documents", `${R} isn't from a grant`); try { - await te.identify(z); - } catch (ne) { - const se = hP(ne); - throw se && be(U, se), Be("documents", ne); + await oe.identify(U); + } catch (re) { + const ne = FO(re); + throw ne && pe(K, ne), Fe("documents", re); } - be(U, te.identityRequest); + pe(K, oe.identityRequest); } - function Oe(L) { - const z = he(L, "decline"); - z.handle.grant?.decline(), be(z, null); + function Ae(R) { + const U = ge(R, "decline"); + U.handle.grant?.decline(), pe(U, null); } - function Ce(L, z) { - const U = r.getCore(), te = U.documents[L.id]; - if (!te) { - L.stagedMeta && L.stagedMeta.hasUnsavedChanges !== z && (L.stagedMeta = { ...L.stagedMeta, hasUnsavedChanges: z }); + function Pe(R, U) { + const K = r.getCore(), oe = K.documents[R.id]; + if (!oe) { + R.stagedMeta && R.stagedMeta.hasUnsavedChanges !== U && (R.stagedMeta = { ...R.stagedMeta, hasUnsavedChanges: U }); return; } - te.hasUnsavedChanges !== z && (P({ - documents: { ...U.documents, [L.id]: { ...te, hasUnsavedChanges: z } } - }), S.emit({ documentId: L.id, hasUnsavedChanges: z })); - } - const Me = (L) => { - const z = L ?? r.getCore().activeId; - return z ? k.get(z) ?? null : null; - }, V = (L) => { - const z = Me(L); - return z && (z.phase === "bringup" || z.phase === "ready") ? z.handle : null; - }; - function he(L, z) { - const U = Me(L); - if (!U || !V(U.id)) - throw new Z("not-ready", "documents", `no open document to ${z}`); - return U; - } - const ve = (L, z) => { - const U = V(L); - return U ? Pm(U.security, z) : !1; - }; - async function je(L, z, U, te, ne) { - const se = he(L, U); - if (!ve(se.id, "doc.download")) - throw Om("documents", "doc.download", `documents.${U}`); - const Fe = ne?.(se.handle); - if (Fe) throw Fe; + oe.hasUnsavedChanges !== U && (k({ + documents: { ...K.documents, [R.id]: { ...oe, hasUnsavedChanges: U } } + }), P.emit({ documentId: R.id, hasUnsavedChanges: U })); + } + const Me = (R) => { + const U = R ?? r.getCore().activeId; + return U ? A.get(U) ?? null : null; + }, G = (R) => { + const U = Me(R); + return U && (U.phase === "bringup" || U.phase === "ready") ? U.handle : null; + }; + function ge(R, U) { + const K = Me(R); + if (!K || !G(K.id)) + throw new te("not-ready", "documents", `no open document to ${U}`); + return K; + } + const ve = (R, U) => { + const K = G(R); + return K ? Tm(K.security, U) : !1; + }; + async function Te(R, U, K, oe, re) { + const ne = ge(R, K); + if (!ve(ne.id, "doc.download")) + throw Rm("documents", "doc.download", `documents.${K}`); + const De = re?.(ne.handle); + if (De) throw De; try { - await hk(se.settleFlushes, [z, se.signal], o); - const Pe = V(se.id); - if (!Pe) throw new Z("not-ready", "documents", `no open document to ${U}`); - let Ve = -1; - const Ht = () => (Ve = se.changeCount, Ui("documents", z, te(Pe))), Lt = await uk(se.downloadWraps, Ht); - return Ve === se.changeCount && Ce(se, !1), Lt; - } catch (Pe) { - throw Be("documents", Pe); - } - } - const G = e.printer ?? null, re = (L) => G !== null && ve(L, "doc.print"), D = (L) => re(L) ? ve(L, "doc.print.high") ? (ve(L, "doc.download") || ve(L, "doc.download.flattened")) && G?.stagePdf ? aF : Ru : iF : null; - function ce(L, z) { - const U = Un(L.id)?.pages ?? ng; - if (z === void 0) return U; - if (z.length === 0) - throw new Z("invalid-input", "documents", "a print needs at least one page"); - const te = z.map((ne) => { - const se = ff(U, ne); - if (!se) - throw new Z( + await Ik(ne.settleFlushes, [U, ne.signal], o); + const Ie = G(ne.id); + if (!Ie) throw new te("not-ready", "documents", `no open document to ${K}`); + let Je = -1; + const $t = () => (Je = ne.changeCount, Ha("documents", U, oe(Ie))), Ve = await Pk(ne.downloadWraps, $t); + return Je === ne.changeCount && Pe(ne, !1), Ve; + } catch (Ie) { + throw Fe("documents", Ie); + } + } + const X = e.printer ?? null, ae = (R) => X !== null && ve(R, "doc.print"), W = (R) => ae(R) ? ve(R, "doc.print.high") ? (ve(R, "doc.download") || ve(R, "doc.download.flattened")) && X?.stagePdf ? gD : Fu : hD : null; + function ce(R, U) { + const K = Wn(R.id)?.pages ?? ig; + if (U === void 0) return K; + if (U.length === 0) + throw new te("invalid-input", "documents", "a print needs at least one page"); + const oe = U.map((re) => { + const ne = pf(K, re); + if (!ne) + throw new te( "not-found", "documents", - `page ${ne.objectNumber} is not in this document` + `page ${re.objectNumber} is not in this document` ); - return se; + return ne; }); - if (new Set(te).size !== te.length) - throw new Z("invalid-input", "documents", "a print names a page twice"); - return te; + if (new Set(oe).size !== oe.length) + throw new te("invalid-input", "documents", "a print names a page twice"); + return oe; } - const ae = (L, z) => ({ - includeAnnotations: z.includeAnnotations ?? ve(L, "doc.annotate.read"), - includeFormFields: ve(L, "doc.forms.read") + const ie = (R, U) => ({ + includeAnnotations: U.includeAnnotations ?? ve(R, "doc.annotate.read"), + includeFormFields: ve(R, "doc.forms.read") }); - async function Q(L, z, U, te) { - const { signal: ne } = te; - await hk(L.settleFlushes, [ne, L.signal], o); - const se = V(L.id); - if (!se) throw new Z("not-ready", "documents", "no open document to print"); - const Fe = L.changesSeen, Pe = { - handle: se, - pages: ce(L, te.pages), - layers: ae(L.id, te), - name: L.name ?? "document", - options: te + async function ee(R, U, K, oe) { + const { signal: re } = oe; + await Ik(R.settleFlushes, [re, R.signal], o); + const ne = G(R.id); + if (!ne) throw new te("not-ready", "documents", "no open document to print"); + const De = R.changesSeen, Ie = { + handle: ne, + pages: ce(R, oe.pages), + layers: ie(R.id, oe), + name: R.name ?? "document", + options: oe }; - if (te.onProgress?.({ pagesRendered: 0, pageCount: Pe.pages.length }), U.kind === "images") - return { staged: await de(Pe, z, U.dpi), quality: U, changesSeen: Fe }; + if (oe.onProgress?.({ pagesRendered: 0, pageCount: Ie.pages.length }), K.kind === "images") + return { staged: await de(Ie, U, K.dpi), quality: K, changesSeen: De }; try { - return { staged: await fe(Pe, z), quality: U, changesSeen: Fe }; - } catch (Ve) { - if (ne?.aborted) throw Ve; - return { staged: await de(Pe, z, Ru.dpi), quality: Ru, changesSeen: Fe }; + return { staged: await fe(Ie, U), quality: K, changesSeen: De }; + } catch (Je) { + if (re?.aborted) throw Je; + return { staged: await de(Ie, U, Fu.dpi), quality: Fu, changesSeen: De }; } } - async function fe(L, z) { - const { handle: U, pages: te, layers: ne, name: se, options: Fe } = L, { signal: Pe } = Fe; - if (!z.stagePdf) - throw new Z("unsupported", "documents", "this printer prints no PDF"); - const Ve = await Ui( + async function fe(R, U) { + const { handle: K, pages: oe, layers: re, name: ne, options: De } = R, { signal: Ie } = De; + if (!U.stagePdf) + throw new te("unsupported", "documents", "this printer prints no PDF"); + const Je = await Ha( "documents", - Pe, - U.pages.extract( - te.map((Lt) => Lt.ref), - { flatten: { usage: "print" }, ...ne } + Ie, + K.pages.extract( + oe.map((Ve) => Ve.ref), + { flatten: { usage: "print" }, ...re } ) - ), Ht = await z.stagePdf(Ve, { name: se, ...Pe ? { signal: Pe } : {} }); - return Fe.onProgress?.({ pagesRendered: te.length, pageCount: te.length }), Ht; + ), $t = await U.stagePdf(Je, { name: ne, ...Ie ? { signal: Ie } : {} }); + return De.onProgress?.({ pagesRendered: oe.length, pageCount: oe.length }), $t; } - async function de(L, z, U) { - const { handle: te, pages: ne, layers: se, name: Fe, options: Pe } = L, { signal: Ve } = Pe, Ht = []; - for (const Lt of ne) { - const Kn = await Ui( + async function de(R, U, K) { + const { handle: oe, pages: re, layers: ne, name: De, options: Ie } = R, { signal: Je } = Ie, $t = []; + for (const Ve of re) { + const Bt = await Ha( "documents", - Ve, - te.page(Lt.ref).render.image({ + Je, + oe.page(Ve.ref).render.image({ usage: "print", - viewport: { kind: "dpi", dpi: U }, + viewport: { kind: "dpi", dpi: K }, format: "png", - ...se + ...ne }) - ), _n = await Ui("documents", Ve, Kn.blob()); - Ht.push({ image: _n, widthPt: Lt.size.width, heightPt: Lt.size.height }), Pe.onProgress?.({ pagesRendered: Ht.length, pageCount: ne.length }); - } - return z.stage(Ht, { name: Fe, ...Ve ? { signal: Ve } : {} }); - } - async function le(L, z = {}) { - const U = he(L, "preparePrint"); - if (!ve(U.id, "doc.print")) - throw Om("documents", "doc.print", "documents.preparePrint"); - const te = D(U.id); - if (!G || !te) - throw new Z( + ), on = await Ha("documents", Je, Bt.blob()); + $t.push({ image: on, widthPt: Ve.size.width, heightPt: Ve.size.height }), Ie.onProgress?.({ pagesRendered: $t.length, pageCount: re.length }); + } + return U.stage($t, { name: De, ...Je ? { signal: Je } : {} }); + } + async function ue(R, U = {}) { + const K = ge(R, "preparePrint"); + if (!ve(K.id, "doc.print")) + throw Rm("documents", "doc.print", "documents.preparePrint"); + const oe = W(K.id); + if (!X || !oe) + throw new te( "unsupported", "documents", "no printer: pass one to createKernel({ printer }), such as browserPrinter() from @embedpdf/web" ); - const ne = ce(U, z.pages).length; + const re = ce(K, U.pages).length; try { let { - staged: se, - changesSeen: Fe, - quality: Pe - } = await Q(U, G, te, z), Ve = !1; - const Ht = () => { - Ve || (Ve = !0, se.destroy()); + staged: ne, + changesSeen: De, + quality: Ie + } = await ee(K, X, oe, U), Je = !1; + const $t = () => { + Je || (Je = !0, ne.destroy()); }; - U.scope.defer(Ht); - const Lt = async (Kn, _n) => { - const Nr = await Q(U, G, Kn, { - ...z.pages ? { pages: z.pages } : {}, - ...z.includeAnnotations !== void 0 ? { includeAnnotations: z.includeAnnotations } : {}, - ..._n ? { signal: _n } : {} + K.scope.defer($t); + const Ve = async (Bt, on) => { + const Rr = await ee(K, X, Bt, { + ...U.pages ? { pages: U.pages } : {}, + ...U.includeAnnotations !== void 0 ? { includeAnnotations: U.includeAnnotations } : {}, + ...on ? { signal: on } : {} }); - se.destroy(), { staged: se, changesSeen: Fe, quality: Pe } = Nr; + ne.destroy(), { staged: ne, changesSeen: De, quality: Ie } = Rr; }; return { get quality() { - return Pe; + return Ie; }, - pageCount: ne, - needsTap: G.needsTap === !0, - async print(Kn) { - if (Ve) - throw new Z("invalid-input", "documents", "this print was disposed"); - const _n = Kn?.signal, Nr = async () => { - if (U.changesSeen !== Fe && await Lt(te, _n), _n?.aborted) - throw new Z("operation-cancelled", "documents", "print cancelled", { - cause: _n.reason + pageCount: re, + needsTap: X.needsTap === !0, + async print(Bt) { + if (Je) + throw new te("invalid-input", "documents", "this print was disposed"); + const on = Bt?.signal, Rr = async () => { + if (K.changesSeen !== De && await Ve(oe, on), on?.aborted) + throw new te("operation-cancelled", "documents", "print cancelled", { + cause: on.reason }); try { - await se.print(); - } catch (Tr) { - if (Pe.kind !== "pdf") throw Tr; - await Lt(Ru, _n), await se.print(); + await ne.print(); + } catch (Lr) { + if (Ie.kind !== "pdf") throw Lr; + await Ve(Fu, on), await ne.print(); } }; try { - await uk(U.printWraps, Nr); - } catch (Tr) { - throw Be("documents", Tr); + await Pk(K.printWraps, Rr); + } catch (Lr) { + throw Fe("documents", Lr); } }, - destroy: Ht + destroy: $t }; - } catch (se) { - throw Be("documents", se); + } catch (ne) { + throw Fe("documents", ne); } } - const ye = (L, z) => z.building.has(L) && !z.capabilities.has(L); - function Ae(L, z) { - let U = z.capabilities.get(L); - if (!U) { - if (z.building.has(L)) - throw new Z( + const we = (R, U) => U.building.has(R) && !U.capabilities.has(R); + function Oe(R, U) { + let K = U.capabilities.get(R); + if (!K) { + if (U.building.has(R)) + throw new te( "not-ready", - L.id, - `"${L.id}" was asked for while it is being created` + R.id, + `"${R.id}" was asked for while it is being created` ); - const te = fk(qe, L, z, z.signal, z.scope); - z.building.add(L); - let ne; + const oe = Ek(Le, R, U, U.signal, U.scope); + U.building.add(R); + let re; try { - ne = L.create(te); + re = R.create(oe); } finally { - z.building.delete(L); - } - const { api: se, connect: Fe } = ne; - U = se, z.connectors.set(L, () => { - Fe?.(), dk(te); - }), z.capabilities.set(L, U); - } - return U; - } - function Ue(L, z, U) { - const te = d.get(L), ne = U === void 0 ? void 0 : k.get(U); - if (!te || !ne) return z; - let se = ne.views.get(L); - return se === void 0 && (se = te(z, ne.id), ne.views.set(L, se)), se; - } - function ze(L, z) { - O(`capability("${L.name}")`); - const U = a.get(L); - if (U) return Ue(L, U, z); - const te = s.providerOf(L); - if (!te) throw new Error(`No capability "${L.name}".`); - const ne = z ?? r.getCore().activeId; - if (!ne) throw new Error(`Capability "${L.name}" requires an active document.`); - const se = k.get(ne); - if (!se) throw new Error(`Capability "${L.name}" unavailable: no document "${ne}".`); - if (se.phase === "bringup" || se.phase === "ready") - return Ae(te, se); - const Fe = se.phase === "opening" ? "loading" : se.phase; - throw new Error(`Capability "${L.name}" unavailable: document "${ne}" is ${Fe}.`); - } - function lt(L, z) { - if (A === "destroying" || A === "destroyed") return null; - const U = a.get(L); - if (U) return Ue(L, U, z); - const te = s.providerOf(L); - if (!te) return null; - const ne = Me(z); - return !ne || ne.phase !== "bringup" && ne.phase !== "ready" || ye(te, ne) ? null : Ae(te, ne); - } - function X(L, z) { - if (A === "destroying" || A === "destroyed") return null; - const U = a.get(L); - if (U) return Ue(L, U, z); - const te = s.providerOf(L); - if (!te) return null; - const ne = Me(z); - return !ne || ne.phase !== "ready" || ye(te, ne) ? null : Ae(te, ne); - } - const pe = gk( - { defaults: Cm, registered: e.settings, whole: Qj }, + U.building.delete(R); + } + const { api: ne, connect: De } = re; + K = ne, U.connectors.set(R, () => { + De?.(), Mk(oe); + }), U.capabilities.set(R, K); + } + return K; + } + function Ke(R, U, K) { + const oe = d.get(R), re = K === void 0 ? void 0 : A.get(K); + if (!oe || !re) return U; + let ne = re.views.get(R); + return ne === void 0 && (ne = oe(U, re.id), re.views.set(R, ne)), ne; + } + function ze(R, U) { + x(`capability("${R.name}")`); + const K = i.get(R); + if (K) return Ke(R, K, U); + const oe = s.providerOf(R); + if (!oe) throw new Error(`No capability "${R.name}".`); + const re = U ?? r.getCore().activeId; + if (!re) throw new Error(`Capability "${R.name}" requires an active document.`); + const ne = A.get(re); + if (!ne) throw new Error(`Capability "${R.name}" unavailable: no document "${re}".`); + if (ne.phase === "bringup" || ne.phase === "ready") + return Oe(oe, ne); + const De = ne.phase === "opening" ? "loading" : ne.phase; + throw new Error(`Capability "${R.name}" unavailable: document "${re}" is ${De}.`); + } + function ut(R, U) { + if (w === "destroying" || w === "destroyed") return null; + const K = i.get(R); + if (K) return Ke(R, K, U); + const oe = s.providerOf(R); + if (!oe) return null; + const re = Me(U); + return !re || re.phase !== "bringup" && re.phase !== "ready" || we(oe, re) ? null : Oe(oe, re); + } + function Xt(R, U) { + if (w === "destroying" || w === "destroyed") return null; + const K = i.get(R); + if (K) return Ke(R, K, U); + const oe = s.providerOf(R); + if (!oe) return null; + const re = Me(U); + return !re || re.phase !== "ready" || we(oe, re) ? null : Oe(oe, re); + } + const Z = _k( + { defaults: Fm, registered: e.settings, whole: rD }, r.notify, o ); - f.defer(() => pe.destroy()); - const Ie = /* @__PURE__ */ new Map(); - for (const L of s.ordered) - L.settings && Ie.set(L, gk(L.settings, r.notify, o)); + f.defer(() => Z.destroy()); + const he = /* @__PURE__ */ new Map(); + for (const R of s.ordered) + R.settings && he.set(R, _k(R.settings, r.notify, o)); f.defer(() => { - for (const L of Ie.values()) L.destroy(); + for (const R of he.values()) R.destroy(); }); - function dt(L) { - const z = s.providerOf(L); - if (!z) throw new Error(`No capability "${L.name}".`); - const U = Ie.get(z); - if (!U) throw new Error(`Plugin "${z.id}" has no settings.`); - return U.api; - } - const qe = { + function Ne(R) { + const U = s.providerOf(R); + if (!U) throw new Error(`No capability "${R.name}".`); + const K = he.get(U); + if (!K) throw new Error(`Plugin "${U.id}" has no settings.`); + return K.api; + } + const Le = { engine: t, store: r, workspaceScope: f, workspaceSignal: u.signal, workspaceLeases: c, report: o, - clock: e.clock ?? Nj, + clock: e.clock ?? BF, measurer: e.measurer ?? null, resolveCapability: ze, - tryResolveCapability: lt, - documentHandle: V, - settingsStoreOf: (L) => Ie.get(L) - }; - let et = 0; - const qt = () => `pending:${++et}`; - async function An(L, z) { - L.phase = "bringup"; - let U = xr; + tryResolveCapability: ut, + documentHandle: G, + settingsStoreOf: (R) => he.get(R) + }; + let Xe = 0; + const Ft = () => `pending:${++Xe}`; + async function nn(R, U) { + R.phase = "bringup"; + let K = Sr; try { - U = await L.handle.render?.getPolicy() ?? xr; + K = await R.handle.render?.getPolicy() ?? Sr; } catch { } - b(L), L.pageView.setEnginePages(z), L.pageView.refresh(), L.stagedMeta = { - id: L.id, - instanceId: L.instanceId, - name: L.name, - pageCount: z.pageCount, - pages: L.pageView.current().pages, - pageLabels: L.pageView.current().labels, - pendingPages: Dy, + y(R), R.pageView.setEnginePages(U), R.pageView.refresh(), R.stagedMeta = { + id: R.id, + instanceId: R.instanceId, + name: R.name, + pageCount: U.pageCount, + pages: R.pageView.current().pages, + pageLabels: R.pageView.current().labels, + pendingPages: Xy, pagesSequence: 0, - renderPolicy: U, + renderPolicy: K, hasUnsavedChanges: !1 }; - const te = qh(L.handle), ne = yj(r); - L.scope.defer(ne.close); - const se = L.handle.events.subscribe((Pe) => { - ne.first(Pe), nF(Pe) && (L.changesSeen += 1, te && (L.changeCount += 1, Ce(L, !0))); - const Ve = Oj(Pe); - Ve && L.pageView.setEnginePages(Ve), L.pageView.fold(Pe), ee(L); + const oe = Qh(R.handle), re = PF(r); + R.scope.defer(re.close); + let ne = 0, De = 0; + const Ie = () => { + const Ve = ne, Bt = ++De; + R.handle.pages.list().then( + (on) => { + R.cancel.signal.aborted || ne !== Ve || De !== Bt || (R.pageView.setEnginePages(on), V(R)); + }, + (on) => { + R.cancel.signal.aborted || o(on); + } + ); + }, Je = R.handle.events.subscribe((Ve) => { + re.first(Ve), uD(Ve) && (R.changesSeen += 1, oe && (R.changeCount += 1, Pe(R, !0))); + const Bt = RF(Ve); + Bt && (ne += 1, R.pageView.setEnginePages(Bt)), Ve.type === "stream.desynced" && Ie(), R.pageView.fold(Ve), V(R); }); - L.scope.defer(se); - for (const Pe of i) { - const Ve = r.lease( - UO(Pe.id, L.id), - mk(Pe), - L.instanceId + R.scope.defer(Je); + for (const Ve of a) { + const Bt = r.lease( + wM(Ve.id, R.id), + Nk(Ve), + R.instanceId ); - L.leases.set(Pe, Ve), L.scope.defer(() => Ve.revoke()); + R.leases.set(Ve, Bt), R.scope.defer(() => Bt.revoke()); } - const Fe = r.hold(); + const $t = r.hold(); try { - for (const Pe of i) - Ae(Pe, L), L.connectors.get(Pe)?.(); + for (const Ve of a) + Oe(Ve, R), R.connectors.get(Ve)?.(); } finally { - Fe(); + $t(); } - L.scope.defer(L.handle.events.subscribe((Pe) => ne.last(Pe))), b(L); + R.scope.defer(R.handle.events.subscribe((Ve) => re.last(Ve))), y(R); } - function _r(L) { - const z = r.getCore(), U = z.documents[L.id] ?? z.pending[L.id]; - if (!U) throw new Z("instance-closed", "documents", `${L.id} was closed`); - return { document: Tu(U) }; + function Tr(R) { + const U = r.getCore(), K = U.documents[R.id] ?? U.pending[R.id]; + if (!K) throw new te("instance-closed", "documents", `${R.id} was closed`); + return { document: ju(K) }; } - async function Tt(L, z, U) { - const te = z?.signal; - if (te?.aborted) - throw new Z("operation-cancelled", "documents", "the open was cancelled"); + async function Ot(R, U, K) { + const oe = U?.signal; + if (oe?.aborted) + throw new te("operation-cancelled", "documents", "the open was cancelled"); try { - const { session: ne, done: se } = Za(L, z, U), Fe = () => void ne.close(); - te?.addEventListener("abort", Fe, { once: !0 }); + const { session: re, done: ne } = Xi(R, U, K), De = () => void re.close(); + oe?.addEventListener("abort", De, { once: !0 }); try { - return _r(await se); + return Tr(await ne); } finally { - te?.removeEventListener("abort", Fe); + oe?.removeEventListener("abort", De); } - } catch (ne) { - throw Be("documents", ne); + } catch (re) { + throw Fe("documents", re); } } - function Rt(L) { - const { activate: z, name: U, signal: te, ...ne } = L ?? {}, se = pe.api.getSettings(), Fe = ne.scope ?? se.scope ?? void 0, Pe = ne.identity ?? se.identity ?? void 0; + function Dt(R) { + const { activate: U, name: K, signal: oe, ...re } = R ?? {}, ne = Z.api.getSettings(), De = re.scope ?? ne.scope ?? void 0, Ie = re.identity ?? ne.identity ?? void 0; return { - ...ne, - ...Fe !== void 0 ? { scope: Fe } : {}, - ...Pe !== void 0 ? { identity: Pe } : {} + ...re, + ...De !== void 0 ? { scope: De } : {}, + ...Ie !== void 0 ? { identity: Ie } : {} }; } - function Za(L, z, U) { - O("documents.open()"); - const te = Rt(z), ne = U ?? (typeof L == "function" ? qt() : og(L) ?? qt()); - if (k.has(ne)) - throw new Z("conflict", "documents", `document already open: ${ne}`); - const se = E(ne, z?.name); - se.source = L, se.openOptions = z, k.set(se.id, se), R(se, z?.activate ?? !0); - const Fe = I(se, async () => { + function Xi(R, U, K) { + x("documents.open()"); + const oe = Dt(U), re = K ?? (typeof R == "function" ? Ft() : cg(R) ?? Ft()); + if (A.has(re)) + throw new te("conflict", "documents", `document already open: ${re}`); + const ne = S(re, U?.name); + ne.source = R, ne.openOptions = U, A.set(ne.id, ne), j(ne, U?.activate ?? !0); + const De = C(ne, async () => { try { - const Pe = typeof L == "function" ? await v(se, Promise.resolve(L(se.cancel.signal))) : L; - b(se); - const Ve = sF(Pe) ? await v(se, rF(Pe, se.cancel.signal, e.fetch)) : Pe; - b(se), se.grantInput = Ve.kind === "grant" ? Ve : null; - const Ht = og(Ve); - Ht && T(se, Ht); - const Lt = await v( - se, - t.open(Ve, te), - (Nr) => Nr.close() + const Ie = typeof R == "function" ? await M(ne, Promise.resolve(R(ne.cancel.signal))) : R; + y(ne); + const Je = pD(Ie) ? await M(ne, fD(Ie, ne.cancel.signal, e.fetch)) : Ie; + y(ne), ne.grantInput = Je.kind === "grant" ? Je : null; + const $t = cg(Je); + $t && N(ne, $t); + const Ve = await M( + ne, + t.open(Je, oe), + (Rr) => Rr.close() ); - se.handle = Lt, se.scope.defer(() => Lt.close()), b(se), Lt.id !== se.id && T(se, Lt.id); - const Kn = Lt.security?.passwordPrompt; - if (Kn?.state === "required") - return se.phase = "locked", j(se, Kn.incorrect), se; - const _n = await v(se, Lt.pages.list()); - return b(se), await An(se, _n), $(se), se; - } catch (Pe) { - throw Wi(Pe) ? Pe : se.phase === "closing" || Lu(Pe) ? new Br(`closed while opening: ${se.id}`) : (await se.scope.destroy(), se.phase = "error", B(se, Pe), Pe); + ne.handle = Ve, ne.scope.defer(() => Ve.close()), y(ne), Ve.id !== ne.id && N(ne, Ve.id); + const Bt = Ve.security?.passwordPrompt; + if (Bt?.state === "required") + return ne.phase = "locked", z(ne, Bt.incorrect), ne; + const on = await M(ne, Ve.pages.list()); + return y(ne), await nn(ne, on), F(ne), ne; + } catch (Ie) { + throw qa(Ie) ? Ie : ne.phase === "closing" || Du(Ie) ? new Wr(`closed while opening: ${ne.id}`) : (await ne.scope.destroy(), ne.phase = "error", L(ne, Ie), Ie); } }); - return { session: se, done: Fe }; - } - async function fu(L, z) { - O("documents.unlock()"); - const U = k.get(L); - if (!U || U.phase !== "locked" || !U.handle) - throw new Z("invalid-input", "documents", `document is not locked: ${L}`); - const te = U.handle; - return I(U, async () => { + return { session: ne, done: De }; + } + async function gu(R, U) { + x("documents.unlock()"); + const K = A.get(R); + if (!K || K.phase !== "locked" || !K.handle) + throw new te("invalid-input", "documents", `document is not locked: ${R}`); + const oe = K.handle; + return C(K, async () => { try { - await Ui( + await Ha( "documents", - z.signal, - v(U, te.security.unlock({ password: z.password })) + U.signal, + M(K, oe.security.unlock({ password: U.password })) ); - } catch (ne) { - throw U.phase === "closing" || Lu(ne) ? new Br(`closed while opening: ${U.id}`) : ne; + } catch (re) { + throw K.phase === "closing" || Du(re) ? new Wr(`closed while opening: ${K.id}`) : re; } - b(U); + y(K); try { - const ne = await v(U, te.pages.list()); - b(U), await An(U, ne), $(U); - } catch (ne) { - throw Wi(ne) ? ne : U.phase === "closing" || Lu(ne) ? new Br(`closed while opening: ${U.id}`) : (await U.scope.destroy(), U.phase = "error", B(U, ne), ne); + const re = await M(K, oe.pages.list()); + y(K), await nn(K, re), F(K); + } catch (re) { + throw qa(re) ? re : K.phase === "closing" || Du(re) ? new Wr(`closed while opening: ${K.id}`) : (await K.scope.destroy(), K.phase = "error", L(K, re), re); } - }).catch((ne) => { - throw Be("documents", ne); + }).catch((re) => { + throw Fe("documents", re); }); } - async function Ja(L) { - const z = k.get(L); - z && await z.close(); - } - function Ss(L) { - P({ order: L }); - } - const Un = (L) => { - const z = r.getCore(), U = L ?? z.activeId; - return U ? z.documents[U] ?? null : null; - }; - let dn = null; - const nr = () => { - const L = r.getCore(); - if (dn?.core === L) return dn.value; - const z = L.order.map((se) => Tu(L.documents[se] ?? L.pending[se])), U = dn?.value, ne = U !== void 0 && U.length === z.length && U.every((se, Fe) => se === z[Fe]) ? U : Object.freeze(z); - return dn = { core: L, value: ne }, ne; - }, Ps = (L) => { - const z = r.getCore(), U = L ?? z.activeId, te = U ? z.documents[U] ?? z.pending[U] : void 0; - return te ? Tu(te) : null; - }, ec = { - open: Tt, + async function Zi(R) { + const U = A.get(R); + U && await U.close(); + } + function Ss(R) { + k({ order: R }); + } + const Wn = (R) => { + const U = r.getCore(), K = R ?? U.activeId; + return K ? U.documents[K] ?? null : null; + }; + let gn = null; + const or = () => { + const R = r.getCore(); + if (gn?.core === R) return gn.value; + const U = R.order.map((ne) => ju(R.documents[ne] ?? R.pending[ne])), K = gn?.value, re = K !== void 0 && K.length === U.length && K.every((ne, De) => ne === U[De]) ? K : Object.freeze(U); + return gn = { core: R, value: re }, re; + }, Os = (R) => { + const U = r.getCore(), K = R ?? U.activeId, oe = K ? U.documents[K] ?? U.pending[K] : void 0; + return oe ? ju(oe) : null; + }, Ji = { + open: Ot, // A file's bytes are the engine's to take or refuse: it says which. canOpenFiles: () => t.canOpenFiles, - retry: async (L, z) => { - const U = k.get(L); - if (U?.phase === "ready" && U.handle?.grant?.openRequest) - return ue(U, z); - if (!U || U.phase !== "error" || U.source === null) - throw new Z( + retry: async (R, U) => { + const K = A.get(R); + if (K?.phase === "ready" && K.handle?.grant?.openRequest) + return le(K, U); + if (!K || K.phase !== "error" || K.source === null) + throw new te( "invalid-input", "documents", - `${L} didn't fail to open; nothing to retry` + `${R} didn't fail to open; nothing to retry` ); - const { source: te, grantInput: ne, openOptions: se } = U, Fe = tF(te, ne, z), Pe = z?.visitorIdentity !== void 0 ? { ...Rt(se).identity, ...z.visitorIdentity } : void 0; - return k.delete(L), Tt( - Fe, + const { source: oe, grantInput: re, openOptions: ne } = K, De = lD(oe, re, U), Ie = U?.visitorIdentity !== void 0 ? { ...Dt(ne).identity, ...U.visitorIdentity } : void 0; + return A.delete(R), Ot( + De, { - ...se, - ...Pe !== void 0 ? { identity: Pe } : {}, + ...ne, + ...Ie !== void 0 ? { identity: Ie } : {}, activate: !1, - signal: z?.signal + signal: U?.signal }, - L + R ); }, - identify: we, - declineIdentity: Oe, - rename: (L, z) => { - const U = r.getCore(); - U.documents[L] ? P({ documents: { ...U.documents, [L]: { ...U.documents[L], name: z } } }) : U.pending[L] && P({ pending: { ...U.pending, [L]: { ...U.pending[L], name: z } } }); - const te = k.get(L); - te && (te.name = z); - }, - openAll: (L) => { - O("documents.openAll()"); - const z = Math.max( + identify: me, + declineIdentity: Ae, + rename: (R, U) => { + const K = r.getCore(); + K.documents[R] ? k({ documents: { ...K.documents, [R]: { ...K.documents[R], name: U } } }) : K.pending[R] && k({ pending: { ...K.pending, [R]: { ...K.pending[R], name: U } } }); + const oe = A.get(R); + oe && (oe.name = U); + }, + openAll: (R) => { + x("documents.openAll()"); + const U = Math.max( 0, - L.findIndex((U) => U.active) + R.findIndex((K) => K.active) ); - return L.map(({ source: U, active: te, ...ne }, se) => { + return R.map(({ source: K, active: oe, ...re }, ne) => { try { - const { session: Fe, done: Pe } = Za(U, { - ...ne, - activate: se === z + const { session: De, done: Ie } = Xi(K, { + ...re, + activate: ne === U }); - return Pe.catch(() => { - }), Fe.id; + return Ie.catch(() => { + }), De.id; } catch { - return typeof U == "function" ? "" : og(U) ?? ""; + return typeof K == "function" ? "" : cg(K) ?? ""; } }); }, - unlock: fu, - close: Ja, + unlock: gu, + close: Zi, closeAll: async () => { - for (const L of [...r.getCore().order]) await Ja(L); + for (const R of [...r.getCore().order]) await Zi(R); }, - setActive: (L) => { - const z = r.getCore(); - (z.documents[L] || z.pending[L]) && P({ activeId: L }); + setActive: (R) => { + const U = r.getCore(); + (U.documents[R] || U.pending[R]) && k({ activeId: R }); }, getActiveId: () => r.getCore().activeId, - getActive: () => Ps(), - list: nr, - get: Ps, - has: (L) => { - const z = r.getCore(); - return z.documents[L] !== void 0 || z.pending[L] !== void 0; + getActive: () => Os(), + list: or, + get: Os, + has: (R) => { + const U = r.getCore(); + return U.documents[R] !== void 0 || U.pending[R] !== void 0; }, getCount: () => r.getCore().order.length, getOrder: () => r.getCore().order, - setOrder: (L) => { - const z = r.getCore().order; - if (!(L.length === z.length && [...L].sort().join("\0") === [...z].sort().join("\0"))) - throw new Z( + setOrder: (R) => { + const U = r.getCore().order; + if (!(R.length === U.length && [...R].sort().join("\0") === [...U].sort().join("\0"))) + throw new te( "invalid-input", "documents", "setOrder() needs a permutation of the current order" ); - Ss([...L]); + Ss([...R]); }, - move: (L, z) => { - const U = r.getCore(); - if (!U.documents[L] && !U.pending[L]) return; - const te = U.order.filter((se) => se !== L), ne = Math.max(0, Math.min(z, te.length)); - te.splice(ne, 0, L), Ss(te); + move: (R, U) => { + const K = r.getCore(); + if (!K.documents[R] && !K.pending[R]) return; + const oe = K.order.filter((ne) => ne !== R), re = Math.max(0, Math.min(U, oe.length)); + oe.splice(re, 0, R), Ss(oe); }, - swap: (L, z) => { - const U = r.getCore(), te = U.order.indexOf(L), ne = U.order.indexOf(z); - if (te < 0 || ne < 0) return; - const se = [...U.order]; - se[te] = z, se[ne] = L, Ss(se); + swap: (R, U) => { + const K = r.getCore(), oe = K.order.indexOf(R), re = K.order.indexOf(U); + if (oe < 0 || re < 0) return; + const ne = [...K.order]; + ne[oe] = U, ne[re] = R, Ss(ne); }, // Reading the file: download() and downloadLayer() (downloadFile above). - download: (L, z) => je( - L, - z?.signal, + download: (R, U) => Te( + R, + U?.signal, "download", - (U) => U.download(z?.mode !== void 0 ? { mode: z.mode } : void 0) + (K) => K.download(U?.mode !== void 0 ? { mode: U.mode } : void 0) ), - downloadLayer: (L, z) => je( - L, - z?.signal, + downloadLayer: (R, U) => Te( + R, + U?.signal, "downloadLayer", - (U) => qh(U) ? U.downloadLayer() : Promise.reject(yk()), + (K) => Qh(K) ? K.downloadLayer() : Promise.reject(Rk()), // Refused before anything runs: the cloud engine keeps layers itself. - (U) => qh(U) ? null : yk() + (K) => Qh(K) ? null : Rk() ), // Printing it: the pages drawn by the print rules, on the host's printer (preparePrint above). - preparePrint: (L, z) => le(L, z), - async print(L, z = {}) { - const U = await le(L, z); + preparePrint: (R, U) => ue(R, U), + async print(R, U = {}) { + const K = await ue(R, U); try { - await U.print(z.signal ? { signal: z.signal } : void 0); + await K.print(U.signal ? { signal: U.signal } : void 0); } finally { - U.destroy(); + K.destroy(); } }, - getPrintQuality: (L) => D(L), + getPrintQuality: (R) => W(R), // The verbs that need them live here, so their checks do too (permissions.md). - canDownload: (L) => ve(L, "doc.download"), - canPrint: (L) => re(L), + canDownload: (R) => ve(R, "doc.download"), + canPrint: (R) => ae(R), // The page registry, addressed by PageRef (durable) or display index. - listPages: (L) => Un(L)?.pages ?? ng, - getPage: (L, z) => ff(Un(z)?.pages ?? ng, L), - getPageIndex: (L, z) => Un(z)?.pages.findIndex((U) => pi(U.ref, L)) ?? -1, - getRevision: (L) => Un(L)?.pagesSequence ?? -1, + listPages: (R) => Wn(R)?.pages ?? ig, + getPage: (R, U) => pf(Wn(U)?.pages ?? ig, R), + getPageIndex: (R, U) => Wn(U)?.pages.findIndex((K) => ga(K.ref, R)) ?? -1, + getRevision: (R) => Wn(R)?.pagesSequence ?? -1, onOpened: p.on, - onOpenFailed: h.on, - onLocked: g.on, + onOpenFailed: g.on, + onLocked: h.on, onClosed: m.on, - onActiveChanged: M.on, - onPagesChanged: x.on, - onUnsavedChangesChanged: S.on - }; - a.set(tt, ec); - for (const L of s.ordered) - fc(L) || c.set(L, r.lease(L.id, mk(L))); - for (const L of s.ordered) { - if (fc(L)) continue; - const z = fk( - qe, - L, + onActiveChanged: O.on, + onPagesChanged: E.on, + onUnsavedChangesChanged: P.on + }; + i.set(nt, Ji); + for (const R of s.ordered) + dc(R) || c.set(R, r.lease(R.id, Nk(R))); + for (const R of s.ordered) { + if (dc(R)) continue; + const U = Ek( + Le, + R, void 0, u.signal, f - ), { api: U, connect: te } = L.create(z); - L.token && a.set(L.token, U), l.set(L, () => { - te?.(), dk(z); + ), { api: K, connect: oe } = R.create(U); + R.token && i.set(R.token, K), l.set(R, () => { + oe?.(), Mk(U); }); } return { - ...pe.api, + ...Z.api, engine: t, - documents: ec, + documents: Ji, capability: ze, - tryCapability: X, + tryCapability: Xt, scopeOf: s.scopeOf, - settingsOf: dt, + settingsOf: Ne, subscribe: r.subscribe, getState: r.getState, - getStatus: () => A, - start: () => A === "destroying" || A === "destroyed" || A === "failed" ? Promise.reject(new Error(`[kernel] start() on a ${A} kernel`)) : y ?? (y = (async () => { - A = "starting"; + getStatus: () => w, + start: () => w === "destroying" || w === "destroyed" || w === "failed" ? Promise.reject(new Error(`[kernel] start() on a ${w} kernel`)) : b ?? (b = (async () => { + w = "starting"; try { - for (const L of s.ordered) { - if (A !== "starting") return; - fc(L) || l.get(L)?.(); + for (const R of s.ordered) { + if (w !== "starting") return; + dc(R) || l.get(R)?.(); } - A = "started"; - } catch (L) { - throw A = "failed", await f.destroy(), a.clear(), L; + w = "started"; + } catch (R) { + throw w = "failed", await f.destroy(), i.clear(), R; } })()), - destroy: () => w ?? (w = (async () => { - const L = A === "failed"; - A = "destroying", u.abort(new Br("kernel destroyed")), await y?.catch((z) => { - !Wi(z) && !L && o(z); - }), await Promise.allSettled([...k.values()].map((z) => z.close())), k.clear(), await f.destroy(), a.clear(), r.destroy(), A = "destroyed"; + destroy: () => v ?? (v = (async () => { + const R = w === "failed"; + w = "destroying", u.abort(new Wr("kernel destroyed")), await b?.catch((U) => { + !qa(U) && !R && o(U); + }), await Promise.allSettled([...A.values()].map((U) => U.close())), A.clear(), await f.destroy(), i.clear(), r.destroy(), w = "destroyed"; })()) }; } @@ -13685,31 +14219,35 @@ function ys(e, t) { } return o; } -const HO = (e, t) => e.length === t.length && e.every((n, o) => Object.is(n, t[o])); -function Ke(e, t) { +const xM = (e, t) => { + if (e.length !== t.length) return !1; + for (let n = 0; n < e.length; n++) if (!Object.is(e[n], t[n])) return !1; + return !0; +}; +function qe(e, t) { let n = null; return () => { const o = e(); - if (n && HO(n.inputs, o)) return n.result; + if (n && xM(n.inputs, o)) return n.result; const r = t(...o); return n = { inputs: o, result: r }, r; }; } -function Jt(e, t, n = {}) { +function Ut(e, t, n = {}) { const o = /* @__PURE__ */ new Map(); return (r) => { - const s = e(r), i = o.get(r); - if (i && HO(i.inputs, s)) return i.result; - const a = t(r, ...s); - if (i) o.delete(r); + const s = e(r), a = o.get(r); + if (a && xM(a.inputs, s)) return a.result; + const i = t(r, ...s); + if (a) o.delete(r); else if (n.maxEntries !== void 0 && o.size >= n.maxEntries) { const c = o.keys().next(); c.done || o.delete(c.value); } - return o.set(r, { inputs: s, result: a }), a; + return o.set(r, { inputs: s, result: i }), i; }; } -function ln(e, t) { +function pn(e, t) { return { token: e, read: t.read, @@ -13717,13 +14255,13 @@ function ln(e, t) { ...t.ensure ? { ensure: t.ensure } : {} }; } -function Kl(e, t) { +function Hl(e, t) { if (Object.is(e, t)) return !0; if (typeof e != "object" || typeof t != "object" || e === null || t === null || Array.isArray(e) !== Array.isArray(t)) return !1; const n = e, o = t, r = Object.keys(n); return r.length === Object.keys(o).length && r.every((s) => s in o && Object.is(n[s], o[s])); } -const wk = Object.freeze({ +const Lk = Object.freeze({ id: "", name: void 0, status: "loading", @@ -13733,93 +14271,93 @@ const wk = Object.freeze({ error: void 0, openRequest: void 0, identityRequest: void 0 -}), vk = ln(tt, { - read: (e) => e.get() ?? wk, - empty: wk -}), kk = ln(tt, { +}), jk = pn(nt, { + read: (e) => e.get() ?? Lk, + empty: Lk +}), Fk = pn(nt, { read: (e) => ({ documents: e.list(), activeId: e.getActiveId() }), empty: { documents: [], activeId: null } -}), dF = /^(?:get|list|is|has|can)(?:[A-Z]|$)/; -function fF(e) { - return dF.test(e); +}), wD = /^(?:get|list|is|has|can)(?:[A-Z]|$)/; +function vD(e) { + return wD.test(e); } -function pF(e, t) { +function kD(e, t) { return e.promises?.[t] === !0; } -const hF = /* @__PURE__ */ new Set([ +const xD = /* @__PURE__ */ new Set([ "getSettings", "updateSettings", "resetSettings", "onSettingsChanged" -]), xk = /* @__PURE__ */ new WeakMap(); -function gF(e, t) { - let n = xk.get(e); - n || (n = /* @__PURE__ */ new WeakMap(), xk.set(e, n)); +]), Dk = /* @__PURE__ */ new WeakMap(); +function AD(e, t) { + let n = Dk.get(e); + n || (n = /* @__PURE__ */ new WeakMap(), Dk.set(e, n)); let o = n.get(t); - return o || (o = mF(t, () => e.settingsOf(t)), n.set(t, o)), o; + return o || (o = SD(t, () => e.settingsOf(t)), n.set(t, o)), o; } -function mF(e, t) { - const n = () => new Z("not-ready", e.name, "no document is open"), o = (a) => () => { - if (pF(e, a)) return Promise.reject(n()); +function SD(e, t) { + const n = () => new te("not-ready", e.name, "no document is open"), o = (i) => () => { + if (kD(e, i)) return Promise.reject(n()); throw n(); - }, r = (a) => (...c) => { + }, r = (i) => (...c) => { let l; try { l = t(); } catch { throw n(); } - return l[a](...c); - }, s = /* @__PURE__ */ new Map(), i = (a, c) => { + return l[i](...c); + }, s = /* @__PURE__ */ new Map(), a = (i, c) => { if (typeof c == "symbol" || c === "then" || c.startsWith("__")) return; - const l = a ? `${a}.${c}` : c; + const l = i ? `${i}.${c}` : c; let u = s.get(l); - return u || (u = !a && hF.has(c) ? r(c) : new Proxy(o(l), { get: (f, d) => i(l, d) }), s.set(l, u)), u; + return u || (u = !i && xD.has(c) ? r(c) : new Proxy(o(l), { get: (f, d) => a(l, d) }), s.set(l, u)), u; }; - return new Proxy({}, { get: (a, c) => i("", c) }); + return new Proxy({}, { get: (i, c) => a("", c) }); } -function At(e, t) { +function St(e, t) { return { name: e, hint: t?.hint, ...t?.promises ? { promises: t.promises } : {} }; } -const bF = "image/png,image/jpeg,application/pdf"; -function yF(e = {}) { - const { accept: t = bF, multiple: n = !1 } = e; +const OD = "image/png,image/jpeg,application/pdf"; +function PD(e = {}) { + const { accept: t = OD, multiple: n = !1 } = e; return new Promise((o) => { const r = document.createElement("input"); r.type = "file", r.accept = t, r.multiple = n, r.style.display = "none"; let s = !1; - const i = (a) => { - s || (s = !0, r.remove(), o(a)); + const a = (i) => { + s || (s = !0, r.remove(), o(i)); }; - r.addEventListener("change", () => i(r.files?.[0] ?? null), { once: !0 }), r.addEventListener("cancel", () => i(null), { once: !0 }), document.body.appendChild(r), r.click(); + r.addEventListener("change", () => a(r.files?.[0] ?? null), { once: !0 }), r.addEventListener("cancel", () => a(null), { once: !0 }), document.body.appendChild(r), r.click(); }); } -const hp = (e = {}) => yF({ accept: "*/*", ...e }); -function gp(e, t, n) { +const yp = (e = {}) => PD({ accept: "*/*", ...e }); +function wp(e, t, n) { const o = e instanceof Blob ? e : new Blob([e], { type: n ?? "application/octet-stream" }), r = URL.createObjectURL(o), s = document.createElement("a"); s.href = r, s.download = t, s.style.display = "none", document.body.appendChild(s), s.click(), s.remove(), setTimeout(() => URL.revokeObjectURL(r), 1e3); } -async function wF(e) { - const t = await hp({ accept: e.accept ?? "*/*" }); +async function MD(e) { + const t = await yp({ accept: e.accept ?? "*/*" }); return t ? { data: t } : null; } -const ju = /* @__PURE__ */ new WeakMap(); -function vF(e, t, n) { - const o = (ju.get(e) ?? 0) + 1; - ju.set(e, o), o > 1 && n(); +const $u = /* @__PURE__ */ new WeakMap(); +function ED(e, t, n) { + const o = ($u.get(e) ?? 0) + 1; + $u.set(e, o), o > 1 && n(); const r = e.setFilePickerProvider(t); return () => { - ju.set(e, (ju.get(e) ?? 1) - 1), r(); + $u.set(e, ($u.get(e) ?? 1) - 1), r(); }; } -function kF() { +function CD() { const e = { now: () => performance.now(), after(t, n) { @@ -13832,64 +14370,64 @@ function kF() { return () => cancelAnimationFrame(n); }), e; } -const Fu = "data-epdf-print"; -function xF() { - const e = { needsTap: CF(), stage: AF }; - if (!EF()) return e; +const Bu = "data-epdf-print"; +function ID() { + const e = { needsTap: FD(), stage: _D }; + if (!jD()) return e; let t = null; return { ...e, async stagePdf(n, { name: o, signal: r }) { t?.(), t = null; - const s = await SF(n, o, r); - let i = !1; + const s = await ND(n, o, r); + let a = !1; return { async print() { - s.view.focus(), s.view.print(), i = !0; + s.view.focus(), s.view.print(), a = !0; }, destroy() { - i ? t = s.remove : s.remove(); + a ? t = s.remove : s.remove(); } }; } }; } -async function AF(e, { name: t, signal: n }) { +async function _D(e, { name: t, signal: n }) { const o = e.map((s) => URL.createObjectURL(s.image)), r = () => o.forEach((s) => URL.revokeObjectURL(s)); try { - return By() ? await MF(e, o, t, r, n) : await OF(e, o, t, r, n); + return Jy() ? await LD(e, o, t, r, n) : await RD(e, o, t, r, n); } catch (s) { throw r(), s; } } -async function SF(e, t, n) { - const o = URL.createObjectURL(new Blob([e], { type: "application/pdf" })), r = YO(); +async function ND(e, t, n) { + const o = URL.createObjectURL(new Blob([e], { type: "application/pdf" })), r = OM(); r.title = t, r.src = o; const s = () => { r.remove(), URL.revokeObjectURL(o); - }, i = ZO(r, "load", n); + }, a = EM(r, "load", n); document.body.appendChild(r); try { - await i; - const a = r.contentWindow; - if (!a) throw new Error("the print frame did not load"); - return { view: a, remove: s }; - } catch (a) { - throw s(), a; + await a; + const i = r.contentWindow; + if (!i) throw new Error("the print frame did not load"); + return { view: i, remove: s }; + } catch (i) { + throw s(), i; } } -function VO(e) { +function AM(e) { const t = [], n = e.map((r) => { const s = t.findIndex( - (i) => i.widthPt === r.widthPt && i.heightPt === r.heightPt + (a) => a.widthPt === r.widthPt && a.heightPt === r.heightPt ); return `epdf-sheet-${s >= 0 ? s : t.push(r) - 1}`; }); return { css: [ "@page { margin: 0; }", - ...t.flatMap(({ widthPt: r, heightPt: s }, i) => [ - `@page epdf-sheet-${i} { size: ${r}pt ${s}pt; margin: 0; }`, - `.epdf-sheet-${i} { page: epdf-sheet-${i}; width: ${r}pt; height: ${s}pt; }` + ...t.flatMap(({ widthPt: r, heightPt: s }, a) => [ + `@page epdf-sheet-${a} { size: ${r}pt ${s}pt; margin: 0; }`, + `.epdf-sheet-${a} { page: epdf-sheet-${a}; width: ${r}pt; height: ${s}pt; }` ]), ".epdf-print-sheet { break-after: page; break-inside: avoid; max-width: 100%; max-height: 100%; overflow: hidden; }", ".epdf-print-sheet:last-child { break-after: auto; }", @@ -13897,16 +14435,16 @@ function VO(e) { ].join(` `), sizes: n }; } -function GO(e, t, n) { +function SM(e, t, n) { return t.map((o, r) => { const s = e.createElement("div"); s.className = `epdf-print-sheet ${n[r]}`; - const i = e.createElement("img"); - return i.alt = "", i.src = o, s.append(i), s; + const a = e.createElement("img"); + return a.alt = "", a.src = o, s.append(a), s; }); } -const PF = ''; -function YO() { +const TD = ''; +function OM() { const e = document.createElement("iframe"); return e.setAttribute("aria-hidden", "true"), e.tabIndex = -1, Object.assign(e.style, { position: "fixed", @@ -13919,40 +14457,40 @@ function YO() { pointerEvents: "none" }), e; } -async function OF(e, t, n, o, r) { - const { css: s, sizes: i } = VO(e), a = YO(); - a.srcdoc = PF; - const c = ZO(a, "load", r); - document.body.appendChild(a); +async function RD(e, t, n, o, r) { + const { css: s, sizes: a } = AM(e), i = OM(); + i.srcdoc = TD; + const c = EM(i, "load", r); + document.body.appendChild(i); try { await c; - const l = a.contentWindow, u = a.contentDocument; + const l = i.contentWindow, u = i.contentDocument; if (!l || !u) throw new Error("the print frame did not load"); u.title = n; const f = u.createElement("style"); return f.textContent = `html, body { margin: 0; padding: 0; height: 100%; } -${s}`, u.head.append(f), u.body.append(...GO(u, t, i)), await XO(Array.from(u.querySelectorAll("img")), r), { - print: () => QO(l), +${s}`, u.head.append(f), u.body.append(...SM(u, t, a)), await MM(Array.from(u.querySelectorAll("img")), r), { + print: () => PM(l), destroy: () => { - a.remove(), o(); + i.remove(), o(); } }; } catch (l) { - throw a.remove(), l; + throw i.remove(), l; } } -async function MF(e, t, n, o, r) { - const { css: s, sizes: i } = VO(e), a = document.createElement("style"); - a.textContent = `${s} -@media screen { [${Fu}] { display: none !important; } } -@media print { html, body { display: block !important; height: 100% !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; } body > :not([${Fu}]) { display: none !important; } [${Fu}] { height: 100%; } }`; +async function LD(e, t, n, o, r) { + const { css: s, sizes: a } = AM(e), i = document.createElement("style"); + i.textContent = `${s} +@media screen { [${Bu}] { display: none !important; } } +@media print { html, body { display: block !important; height: 100% !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; } body > :not([${Bu}]) { display: none !important; } [${Bu}] { height: 100%; } }`; const c = document.createElement("div"); - c.setAttribute(Fu, ""), c.append(...GO(document, t, i)), document.head.appendChild(a), document.body.appendChild(c); + c.setAttribute(Bu, ""), c.append(...SM(document, t, a)), document.head.appendChild(i), document.body.appendChild(c); const l = () => { - c.remove(), a.remove(); + c.remove(), i.remove(); }; try { - await XO(Array.from(c.querySelectorAll("img")), r); + await MM(Array.from(c.querySelectorAll("img")), r); } catch (u) { throw l(), u; } @@ -13961,7 +14499,7 @@ async function MF(e, t, n, o, r) { const u = document.title; document.title = n; try { - await QO(window); + await PM(window); } finally { document.title = u; } @@ -13971,7 +14509,7 @@ async function MF(e, t, n, o, r) { } }; } -function QO(e) { +function PM(e) { return new Promise((t, n) => { e.addEventListener("afterprint", () => t(), { once: !0 }); try { @@ -13981,16 +14519,16 @@ function QO(e) { } }); } -async function XO(e, t) { - await JO(Promise.all(e.map((n) => n.decode())), t); +async function MM(e, t) { + await CM(Promise.all(e.map((n) => n.decode())), t); } -function ZO(e, t, n) { - return JO( +function EM(e, t, n) { + return CM( new Promise((o) => e.addEventListener(t, () => o(), { once: !0 })), n ); } -function JO(e, t) { +function CM(e, t) { return t ? t.aborted ? Promise.reject(t.reason) : new Promise((n, o) => { const r = () => o(t.reason); t.addEventListener("abort", r, { once: !0 }), e.then( @@ -14003,23 +14541,23 @@ function JO(e, t) { ); }) : e; } -function EF() { - return typeof navigator > "u" || navigator.pdfViewerEnabled !== !0 ? !1 : !By() && !/Android/i.test(navigator.userAgent); +function jD() { + return typeof navigator > "u" || navigator.pdfViewerEnabled !== !0 ? !1 : !Jy() && !/Android/i.test(navigator.userAgent); } -function CF() { - return typeof navigator > "u" ? !1 : navigator.vendor === "Apple Computer, Inc." || By(); +function FD() { + return typeof navigator > "u" ? !1 : navigator.vendor === "Apple Computer, Inc." || Jy(); } -function By() { +function Jy() { return typeof navigator > "u" ? !1 : /iPad|iPhone|iPod/.test(navigator.userAgent) || navigator.userAgent.includes("Macintosh") && navigator.maxTouchPoints > 1; } -async function IF(e, t, n) { +async function DD(e, t, n) { const o = n.document ?? document, r = o.fonts; if (!r || typeof FontFace > "u") return () => { }; - const s = TF(o), i = s.get(e); - if (i) - return i.count++, () => Sk(s, e); - const a = t instanceof Uint8Array ? t.buffer.slice(t.byteOffset, t.byteOffset + t.byteLength) : t, c = new FontFace(e, a, { + const s = zD(o), a = s.get(e); + if (a) + return a.count++, () => Bk(s, e); + const i = t instanceof Uint8Array ? t.buffer.slice(t.byteOffset, t.byteOffset + t.byteLength) : t, c = new FontFace(e, i, { weight: n.weight !== void 0 ? String(n.weight) : void 0, style: n.style }); @@ -14029,24 +14567,24 @@ async function IF(e, t, n) { } catch (l) { throw s.delete(e), l; } - return tM(o), () => Sk(s, e); + return _M(o), () => Bk(s, e); } -async function eM(e, t = {}) { +async function IM(e, t = {}) { const n = await e.load(); - return IF(e.family, n, { + return DD(e.family, n, { ...t, weight: e.weight, style: e.style }); } -function _F(e = {}) { +function $D(e = {}) { const t = /* @__PURE__ */ new Map(); return { mount(n) { for (const o of n) t.has(o.family) || t.set( o.family, - eM(o, e).catch(() => () => { + IM(o, e).catch(() => () => { }) ); }, @@ -14056,21 +14594,21 @@ function _F(e = {}) { } }; } -const Ak = /* @__PURE__ */ new WeakMap(), Im = /* @__PURE__ */ new WeakMap(); -function NF(e, t) { - let n = Im.get(e); - return n || (n = /* @__PURE__ */ new Set(), Im.set(e, n)), n.add(t), e.fonts?.addEventListener("loadingdone", t), e.fonts?.addEventListener("loadingerror", t), () => { +const $k = /* @__PURE__ */ new WeakMap(), Dm = /* @__PURE__ */ new WeakMap(); +function BD(e, t) { + let n = Dm.get(e); + return n || (n = /* @__PURE__ */ new Set(), Dm.set(e, n)), n.add(t), e.fonts?.addEventListener("loadingdone", t), e.fonts?.addEventListener("loadingerror", t), () => { n.delete(t), e.fonts?.removeEventListener("loadingdone", t), e.fonts?.removeEventListener("loadingerror", t); }; } -function tM(e) { - for (const t of Im.get(e) ?? []) t(); +function _M(e) { + for (const t of Dm.get(e) ?? []) t(); } -function TF(e) { - let t = Ak.get(e); - return t || (t = /* @__PURE__ */ new Map(), Ak.set(e, t)), t; +function zD(e) { + let t = $k.get(e); + return t || (t = /* @__PURE__ */ new Map(), $k.set(e, t)), t; } -function Sk(e, t) { +function Bk(e, t) { const n = e.get(t); if (n && (n.count--, !(n.count > 0))) { e.delete(t); @@ -14078,42 +14616,42 @@ function Sk(e, t) { n.doc.fonts.delete(n.face); } catch { } - tM(n.doc); + _M(n.doc); } } -const RF = 1e3; -function LF(e = {}) { - const t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Set(), o = (i, a) => { - t.set(i, a); +const WD = 1e3; +function UD(e = {}) { + const t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Set(), o = (a, i) => { + t.set(a, i); for (const c of [...n]) c(); }; let r; const s = () => (r === void 0 && (r = (e.document ?? (typeof document > "u" ? void 0 : document))?.createElement("canvas").getContext("2d") ?? null), r); return { - ready(i) { - const a = t.get(i.family); - return a ? a === "ready" : (t.set(i.family, "loading"), i.load().then( - (c) => eM({ ...i, load: async () => c }, e).then( - () => o(i.family, "ready"), - () => o(i.family, "refused") + ready(a) { + const i = t.get(a.family); + return i ? i === "ready" : (t.set(a.family, "loading"), a.load().then( + (c) => IM({ ...a, load: async () => c }, e).then( + () => o(a.family, "ready"), + () => o(a.family, "refused") ), // Bytes that didn't load are asked for again the next time. - () => t.delete(i.family) + () => t.delete(a.family) ), !1); }, - refused: (i) => t.get(i.family) === "refused", - width(i, a, c) { + refused: (a) => t.get(a.family) === "refused", + width(a, i, c) { const l = s(); - return l ? (l.font = `${i.style} ${i.weight} ${RF}px "${i.family}"`, l.direction = c ? "rtl" : "ltr", l.measureText(a).width) : 0; + return l ? (l.font = `${a.style} ${a.weight} ${WD}px "${a.family}"`, l.direction = c ? "rtl" : "ltr", l.measureText(i).width) : 0; }, - onChange(i) { - return n.add(i), () => { - n.delete(i); + onChange(a) { + return n.add(a), () => { + n.delete(a); }; } }; } -const nM = [ +const NM = [ "a[href]", "area[href]", "button", @@ -14124,7 +14662,7 @@ const nM = [ "summary", "[tabindex]", '[contenteditable]:not([contenteditable="false"])' -].join(", "), oM = /* @__PURE__ */ new Set([ +].join(", "), TM = /* @__PURE__ */ new Set([ "BUTTON", "INPUT", "SELECT", @@ -14133,18 +14671,18 @@ const nM = [ "OPTGROUP", "OPTION" ]); -function Pk(e) { - return !e.matches(nM) || oM.has(e.tagName) && e.disabled ? !1 : e.closest("[hidden], [inert]") === null; +function zk(e) { + return !e.matches(NM) || TM.has(e.tagName) && e.disabled ? !1 : e.closest("[hidden], [inert]") === null; } -function jF(e) { +function KD(e) { const t = [], n = (o) => { for (const r of o.children) { if (r.localName === "slot") { const s = r.assignedElements({ flatten: !0 }); if (s.length > 0) { if (r.closest("[hidden], [inert]") !== null) continue; - for (const i of s) - t.push(i), n(i); + for (const a of s) + t.push(a), n(a); continue; } } @@ -14153,31 +14691,31 @@ function jF(e) { }; return n(e), t; } -function zy(e) { - return e.querySelector("slot") === null ? [...e.querySelectorAll(nM)].filter(Pk) : jF(e).filter( - (t) => t instanceof HTMLElement && Pk(t) +function e0(e) { + return e.querySelector("slot") === null ? [...e.querySelectorAll(NM)].filter(zk) : KD(e).filter( + (t) => t instanceof HTMLElement && zk(t) ); } -function _m(e) { - return zy(e).filter((t) => t.tabIndex >= 0); +function $m(e) { + return e0(e).filter((t) => t.tabIndex >= 0); } -function go(e) { +function mo(e) { let t = e.activeElement; for (; t?.shadowRoot?.activeElement; ) t = t.shadowRoot.activeElement; return t === e.body ? null : t; } -function Hc(e) { - let t = go(e.ownerDocument); +function qc(e) { + let t = mo(e.ownerDocument); for (; t; ) { if (t === e) return !0; t = t.assignedSlot ?? t.parentNode ?? t.host ?? null; } return !1; } -function ea(e) { - return oM.has(e.tagName) && e.disabled ? !0 : e.getAttribute("aria-disabled") === "true"; +function ti(e) { + return TM.has(e.tagName) && e.disabled ? !0 : e.getAttribute("aria-disabled") === "true"; } -const FF = /* @__PURE__ */ new Set(["", "text", "search", "url", "tel", "email", "password"]), DF = /* @__PURE__ */ new Set([ +const qD = /* @__PURE__ */ new Set(["", "text", "search", "url", "tel", "email", "password"]), HD = /* @__PURE__ */ new Set([ "number", "range", "radio", @@ -14186,7 +14724,7 @@ const FF = /* @__PURE__ */ new Set(["", "text", "search", "url", "tel", "email", "month", "time", "week" -]), $F = /* @__PURE__ */ new Set([ +]), VD = /* @__PURE__ */ new Set([ "slider", "spinbutton", "combobox", @@ -14195,32 +14733,32 @@ const FF = /* @__PURE__ */ new Set(["", "text", "search", "url", "tel", "email", "tree", "grid" ]); -function BF(e, t) { +function GD(e, t) { const n = t === "ArrowLeft" || t === "ArrowRight" || t === "Home" || t === "End", o = t === "ArrowUp" || t === "ArrowDown"; if (!n && !o) return !1; if (e.isContentEditable || e.tagName === "TEXTAREA") return !0; if (e.tagName === "SELECT") return o; if (e.tagName === "INPUT") { const s = (e.getAttribute("type") ?? "").toLowerCase(); - return DF.has(s) || FF.has(s) && n; + return HD.has(s) || qD.has(s) && n; } const r = e.getAttribute("role"); - return r !== null && $F.has(r); + return r !== null && VD.has(r); } -function pf(e) { +function hf(e) { const t = e.composedPath?.()[0] ?? e.target; return !t || !t.tagName ? !1 : t.tagName === "INPUT" || t.tagName === "TEXTAREA" || t.tagName === "SELECT" || t.isContentEditable; } -const zF = 150; -function WF(e, t = {}) { - const n = t.target ?? document, o = n.ownerDocument ?? n, r = () => n === o || Hc(n), s = t.prefetch ?? !0; - let i = null, a = 0, c = null; +const YD = 150; +function QD(e, t = {}) { + const n = t.target ?? document, o = n.ownerDocument ?? n, r = () => n === o || qc(n), s = t.prefetch ?? !0; + let a = null, i = 0, c = null; const l = () => { - if (i = null, !s || !e.hasSelection() || !e.canCopy()) return; - const m = ++a; + if (a = null, !s || !e.hasSelection() || !e.canCopy()) return; + const m = ++i; e.readText().then( - (M) => { - m === a && (i = M); + (O) => { + m === i && (a = O); }, () => { } @@ -14229,75 +14767,75 @@ function WF(e, t = {}) { }, u = e.onCommitted(() => { c && clearTimeout(c), c = null, l(); }), f = e.onChanged(() => { - a++, i = null, c && clearTimeout(c), c = setTimeout(l, zF); + i++, a = null, c && clearTimeout(c), c = setTimeout(l, YD); }), d = () => e.hasSelection() && !e.canCopy(), p = (m) => { m.preventDefault(), t.onRefused?.(); - }, h = (m) => { - if (!(!r() || pf(m))) { + }, g = (m) => { + if (!(!r() || hf(m))) { if (d()) return p(m); - i == null || i === "" || !e.hasSelection() || (m.clipboardData?.setData("text/plain", i), m.preventDefault()); + a == null || a === "" || !e.hasSelection() || (m.clipboardData?.setData("text/plain", a), m.preventDefault()); } - }, g = (m) => { + }, h = (m) => { if (!(m.metaKey || m.ctrlKey) || m.key.toLowerCase() !== "c" || m.shiftKey || m.altKey || // A command shortcut for the same key took it already. - m.defaultPrevented || !r() || pf(m)) + m.defaultPrevented || !r() || hf(m)) return; if (d()) return p(m); if (!e.hasSelection() || !e.canCopy()) return; - const M = UF(n); - M && !M.isCollapsed || Wy(e); + const O = XD(n); + O && !O.isCollapsed || t0(e); }; - return o.addEventListener("copy", h), o.addEventListener("keydown", g), () => { - u(), f(), c && clearTimeout(c), o.removeEventListener("copy", h), o.removeEventListener("keydown", g); + return o.addEventListener("copy", g), o.addEventListener("keydown", h), () => { + u(), f(), c && clearTimeout(c), o.removeEventListener("copy", g), o.removeEventListener("keydown", h); }; } -function UF(e) { +function XD(e) { const t = e.getRootNode(); return typeof t.getSelection == "function" ? t.getSelection() : e.ownerDocument?.getSelection() ?? null; } -async function Wy(e) { +async function t0(e) { const t = await e.readText(); return t !== "" && await navigator.clipboard.writeText(t), t; } -async function rM(e) { +async function RM(e) { const t = Promise.resolve(e).then((n) => n.blob()); await navigator.clipboard.write([new ClipboardItem({ "image/png": t })]); } -const ql = () => typeof navigator < "u" && /Mac|iP(hone|ad|od)/.test(navigator.platform); -function Ok(e, t = {}) { - const n = t.isMac ?? ql(), o = t.target ?? window, r = (s) => { - const i = s; - if (i.defaultPrevented) return; - const a = e.matchStroke(i, { isMac: n, inTextField: pf(i) }); - if (a) { - if (a.refusal) { - i.preventDefault(), t.onRefused?.(a.commandId, a.refusal); +const Vl = () => typeof navigator < "u" && /Mac|iP(hone|ad|od)/.test(navigator.platform); +function Wk(e, t = {}) { + const n = t.isMac ?? Vl(), o = t.target ?? window, r = (s) => { + const a = s; + if (a.defaultPrevented) return; + const i = e.matchStroke(a, { isMac: n, inTextField: hf(a) }); + if (i) { + if (i.refusal) { + a.preventDefault(), t.onRefused?.(i.commandId, i.refusal); return; } - e.canExecute(a.commandId) && (i.preventDefault(), e.execute(a.commandId).catch(() => { + e.canExecute(i.commandId) && (a.preventDefault(), e.execute(i.commandId).catch(() => { })); } }; return o.addEventListener("keydown", r), () => o.removeEventListener("keydown", r); } -function KF(e, t, { placement: n, gap: o, pinned: r = !1 }, s) { - const i = t.boundsIn ? e.viewEnv(t.page) : null, a = i && t.boundsIn ? t.boundsIn(i) : t.bounds; - if (!a) return null; - const c = e.toScreen(t.page, a); +function ZD(e, t, { placement: n, gap: o, pinned: r = !1 }, s) { + const a = t.boundsIn ? e.viewEnv(t.page) : null, i = a && t.boundsIn ? t.boundsIn(a) : t.bounds; + if (!i) return null; + const c = e.toScreen(t.page, i); if (!c) return null; const l = e.view(), u = Math.abs(o) + (s ? Math.max(s.size.width, s.size.height) : 0); - if (l && !qF(c, l, u)) return null; + if (l && !JD(c, l, u)) return null; const f = t.avoid?.length ? e.toScreenPoint(t.page, t.avoid[0]) : null; - return s && !r ? iM(c, n, o, s, f) : GF(c, n, o, f); + return s && !r ? jM(c, n, o, s, f) : n$(c, n, o, f); } -function qF(e, t, n) { +function JD(e, t, n) { return e.x - n < t.x + t.width && e.x + e.width + n > t.x && e.y - n < t.y + t.height && e.y + e.height + n > t.y; } -function mp(e) { +function vp(e) { return window.addEventListener("scroll", e, !0), window.addEventListener("resize", e), () => { window.removeEventListener("scroll", e, !0), window.removeEventListener("resize", e); }; } -function Uy(e, t) { +function n0(e, t) { if (t === "client") { const { clientWidth: o, clientHeight: r } = e.ownerDocument.documentElement; return { x: 0, y: 0, width: o, height: r }; @@ -14305,12 +14843,12 @@ function Uy(e, t) { const n = e.offsetParent; return n ? { x: 0, y: 0, width: n.clientWidth, height: n.clientHeight } : null; } -function HF(e, t) { +function e$(e, t) { return e !== null && e.size.width === t.size.width && e.size.height === t.size.height && e.view.width === t.view.width && e.view.height === t.view.height; } -function VF(e, t, n) { +function t$(e, t, n) { const o = () => { - const s = Uy(e, t); + const s = n0(e, t); s && n({ size: { width: e.offsetWidth, height: e.offsetHeight }, view: s }); }; o(); @@ -14319,102 +14857,102 @@ function VF(e, t, n) { r.disconnect(), window.removeEventListener("resize", o); }; } -function hf(e) { +function gf(e) { const [t, n] = e.split("-"); return { side: t, align: n ?? "center" }; } -function sM(e, t, n, o) { - const { side: r, align: s } = hf(t), i = (c, l) => s === "start" ? c : s === "end" ? c + l : c + l / 2, a = s === "start" ? 0 : s === "end" ? 1 : 0.5; +function LM(e, t, n, o) { + const { side: r, align: s } = gf(t), a = (c, l) => s === "start" ? c : s === "end" ? c + l : c + l / 2, i = s === "start" ? 0 : s === "end" ? 1 : 0.5; switch (r) { case "bottom": { const c = Math.max(e.y + e.height, o ? o.y : -1 / 0); - return { x: i(e.x, e.width), y: c + n, shiftX: a, shiftY: 0 }; + return { x: a(e.x, e.width), y: c + n, shiftX: i, shiftY: 0 }; } case "left": - return { x: Math.min(e.x, o ? o.x : 1 / 0) - n, y: i(e.y, e.height), shiftX: 1, shiftY: a }; + return { x: Math.min(e.x, o ? o.x : 1 / 0) - n, y: a(e.y, e.height), shiftX: 1, shiftY: i }; case "right": - return { x: Math.max(e.x + e.width, o ? o.x : -1 / 0) + n, y: i(e.y, e.height), shiftX: 0, shiftY: a }; + return { x: Math.max(e.x + e.width, o ? o.x : -1 / 0) + n, y: a(e.y, e.height), shiftX: 0, shiftY: i }; case "top": default: { const c = Math.min(e.y, o ? o.y : 1 / 0); - return { x: i(e.x, e.width), y: c - n, shiftX: a, shiftY: 1 }; + return { x: a(e.x, e.width), y: c - n, shiftX: i, shiftY: 1 }; } } } -const Mk = (e) => e === 0 ? "0" : `${-e * 100}%`; -function GF(e, t, n, o) { - const r = sM(e, t, n, o); +const Uk = (e) => e === 0 ? "0" : `${-e * 100}%`; +function n$(e, t, n, o) { + const r = LM(e, t, n, o); return { left: r.x, top: r.y, - transform: `translate(${Mk(r.shiftX)}, ${Mk(r.shiftY)})`, + transform: `translate(${Uk(r.shiftX)}, ${Uk(r.shiftY)})`, placement: t }; } -const YF = { +const o$ = { top: "bottom", bottom: "top", left: "right", right: "left" -}, QF = (e) => { - const { side: t, align: n } = hf(e), o = YF[t]; +}, r$ = (e) => { + const { side: t, align: n } = gf(e), o = o$[t]; return n === "center" ? o : `${o}-${n}`; }; -function iM(e, t, n, o, r) { - const { size: s, view: i } = o, a = { - left: i.x + n, - top: i.y + n, - right: i.x + i.width - n, - bottom: i.y + i.height - n - }, c = (h) => { - const g = sM(e, h, n, r); - return { x: g.x - g.shiftX * s.width, y: g.y - g.shiftY * s.height }; - }, l = (h, g) => { - const { side: m } = hf(h); - return m === "top" ? g.y >= a.top : m === "bottom" ? g.y + s.height <= a.bottom : m === "left" ? g.x >= a.left : g.x + s.width <= a.right; - }, u = (h) => { - const { side: g } = hf(h); - return g === "top" ? e.y - i.y : g === "bottom" ? i.y + i.height - (e.y + e.height) : g === "left" ? e.x - i.x : i.x + i.width - (e.x + e.width); +function jM(e, t, n, o, r) { + const { size: s, view: a } = o, i = { + left: a.x + n, + top: a.y + n, + right: a.x + a.width - n, + bottom: a.y + a.height - n + }, c = (g) => { + const h = LM(e, g, n, r); + return { x: h.x - h.shiftX * s.width, y: h.y - h.shiftY * s.height }; + }, l = (g, h) => { + const { side: m } = gf(g); + return m === "top" ? h.y >= i.top : m === "bottom" ? h.y + s.height <= i.bottom : m === "left" ? h.x >= i.left : h.x + s.width <= i.right; + }, u = (g) => { + const { side: h } = gf(g); + return h === "top" ? e.y - a.y : h === "bottom" ? a.y + a.height - (e.y + e.height) : h === "left" ? e.x - a.x : a.x + a.width - (e.x + e.width); }; let f = t, d = c(f); if (!l(f, d)) { - const h = QF(f), g = c(h); - (l(h, g) || u(h) > u(f)) && (f = h, d = g); + const g = r$(f), h = c(g); + (l(g, h) || u(g) > u(f)) && (f = g, d = h); } - if (e.x < i.x + i.width && e.x + e.width > i.x && e.y < i.y + i.height && e.y + e.height > i.y) { - const h = (g, m, M) => Math.max(m, Math.min(g, M)); + if (e.x < a.x + a.width && e.x + e.width > a.x && e.y < a.y + a.height && e.y + e.height > a.y) { + const g = (h, m, O) => Math.max(m, Math.min(h, O)); d = { - x: h(d.x, a.left, a.right - s.width), - y: h(d.y, a.top, a.bottom - s.height) + x: g(d.x, i.left, i.right - s.width), + y: g(d.y, i.top, i.bottom - s.height) }; } return { left: d.x, top: d.y, transform: "none", placement: f }; } -const aM = (e) => e ? `rotate(${e}deg)` : void 0; -function cM(e, t) { - const { box: n } = e, o = t.toPixels({ x: n.x, y: n.y }), r = t.toPixels({ x: n.x + n.width, y: n.y + n.height }), s = r.x - o.x, i = r.y - o.y, a = e.scale * t.zoom || 1; +const FM = (e) => e ? `rotate(${e}deg)` : void 0; +function DM(e, t) { + const { box: n } = e, o = t.toPixels({ x: n.x, y: n.y }), r = t.toPixels({ x: n.x + n.width, y: n.y + n.height }), s = r.x - o.x, a = r.y - o.y, i = e.scale * t.zoom || 1; return { left: o.x, top: o.y, width: s, - height: i, - transform: aM(e.rotation), + height: a, + transform: FM(e.rotation), rotationOnScreen: ((e.rotation + t.rotation) % 360 + 360) % 360, - scale: a, - design: { width: s / a, height: i / a } + scale: i, + design: { width: s / i, height: a / i } }; } -function XF(e, t) { +function s$(e, t) { const n = (o, r) => `${r > 0 ? o / r * 100 : 0}%`; return { left: n(e.box.x, t.box.width), top: n(e.box.y, t.box.height), width: n(e.box.width, t.box.width), height: n(e.box.height, t.box.height), - transform: aM(e.rotation) + transform: FM(e.rotation) }; } -function ZF(e, t) { +function a$(e, t) { return { width: t ? e.design.width : e.width, height: t ? e.design.height : e.height, @@ -14422,29 +14960,29 @@ function ZF(e, t) { scale: e.scale }; } -function JF({ svg: e, hotspot: t, fallback: n = "crosshair" }) { +function i$({ svg: e, hotspot: t, fallback: n = "crosshair" }) { const o = e.indexOf("= 0 ? e.indexOf(">", o) : -1, s = r >= 0 ? e.slice(o, r + 1) : ""; if (!/\swidth\s*=/.test(s) || !/\sheight\s*=/.test(s)) throw new Error( "[web] svgCursor: the needs explicit width/height attributes — browsers ignore cursor images without an intrinsic size" ); - const i = `data:image/svg+xml,${encodeURIComponent(e)}`, a = t ? ` ${Math.round(t.x)} ${Math.round(t.y)}` : ""; - return `url("${i}")${a}, ${n}`; + const a = `data:image/svg+xml,${encodeURIComponent(e)}`, i = t ? ` ${Math.round(t.x)} ${Math.round(t.y)}` : ""; + return `url("${a}")${i}, ${n}`; } -function eD(e) { +function c$(e) { return Object.fromEntries( Object.entries(e).map(([t, n]) => [ t, - typeof n == "string" ? n : JF(n.fallback === void 0 ? { ...n, fallback: t } : n) + typeof n == "string" ? n : i$(n.fallback === void 0 ? { ...n, fallback: t } : n) ]) ); } -const tD = /* @__PURE__ */ new Set(["http:", "https:", "mailto:", "tel:"]), nD = /^[a-z][a-z\d+.-]*:/i; -function oD(e) { - return nD.test(e) ? e : e.startsWith("//") ? `https:${e}` : /^www\./i.test(e) ? `https://${e}` : null; +const l$ = /* @__PURE__ */ new Set(["http:", "https:", "mailto:", "tel:"]), u$ = /^[a-z][a-z\d+.-]*:/i; +function d$(e) { + return u$.test(e) ? e : e.startsWith("//") ? `https:${e}` : /^www\./i.test(e) ? `https://${e}` : null; } -function Ky(e, t = tD) { - const n = oD(e.trim()); +function o0(e, t = l$) { + const n = d$(e.trim()); if (!n) return null; const o = new Set( [...t].map( @@ -14457,11 +14995,11 @@ function Ky(e, t = tD) { return null; } } -function rD(e) { - const t = Ky(e); +function f$(e) { + const t = o0(e); return !t || typeof window > "u" ? !1 : (window.open(t, "_blank", "noopener,noreferrer"), !0); } -const sD = (e = {}) => { +const p$ = (e = {}) => { const t = () => typeof e.overrides == "function" ? e.overrides() : e.overrides; return { openUri: (n, o) => { @@ -14470,7 +15008,7 @@ const sD = (e = {}) => { r.openUri(n, o); return; } - const s = Ky(n); + const s = o0(n); s && typeof window < "u" && window.open(s, "_blank", "noopener,noreferrer"); }, print: (n) => { @@ -14487,7 +15025,7 @@ const sD = (e = {}) => { } }; }; -function lM(e) { +function $M(e) { let t = requestAnimationFrame(() => { t = requestAnimationFrame(() => { t = 0, e(); @@ -14497,25 +15035,25 @@ function lM(e) { t && cancelAnimationFrame(t), t = 0; }; } -function iD(e, t) { +function h$(e, t) { let n; const o = () => { - e.removeEventListener("load", o), n = lM(t); + e.removeEventListener("load", o), n = $M(t); }; return e.addEventListener("load", o), () => { e.removeEventListener("load", o), n?.(); }; } -function aD(e, t, n) { +function g$(e, t, n) { const o = new AbortController(); - let r, s, i = !1; + let r, s, a = !1; e.style.visibility = "hidden"; - const a = () => { - e.style.visibility = "visible", s = lM(() => { - i = !0, n.onPainted(); + const i = () => { + e.style.visibility = "visible", s = $M(() => { + a = !0, n.onPainted(); }); }; - return e.addEventListener("load", a, { once: !0 }), t.objectUrl().abortWith(o.signal).then( + return e.addEventListener("load", i, { once: !0 }), t.objectUrl().abortWith(o.signal).then( (c) => { if (o.signal.aborted) { c.revoke(); @@ -14526,280 +15064,282 @@ function aD(e, t, n) { () => { } ), () => { - o.abort(), s?.(), e.removeEventListener("load", a), e.style.visibility = "hidden", e.removeAttribute("src"), r?.(), i && n.onUnpainted(); + o.abort(), s?.(), e.removeEventListener("load", i), e.style.visibility = "hidden", e.removeAttribute("src"), r?.(), a && n.onUnpainted(); }; } -const rg = (e) => { +const lg = (e) => { typeof navigator < "u" && navigator.vibrate?.(e); -}, cD = { - selection: () => rg(8), - impact: (e = "light") => rg(e === "heavy" ? 30 : e === "medium" ? 20 : 10), - notify: (e) => rg( +}, m$ = { + selection: () => lg(8), + impact: (e = "light") => lg(e === "heavy" ? 30 : e === "medium" ? 20 : 10), + notify: (e) => lg( e === "error" ? [12, 60, 12, 60, 12] : e === "warning" ? [15, 70, 15] : [10, 50, 10] ) -}, Ek = 1.2; -function lD(e) { - return e.deltaMode !== 0 ? Math.pow(Ek, -Math.sign(e.deltaY)) : e.ctrlKey ? Math.abs(e.deltaY) >= 100 ? Math.pow(Ek, -Math.sign(e.deltaY)) : Math.exp(-e.deltaY / 100) : Math.exp(-e.deltaY * 15e-4); +}, Kk = 1.2; +function b$(e) { + return e.deltaMode !== 0 ? Math.pow(Kk, -Math.sign(e.deltaY)) : e.ctrlKey ? Math.abs(e.deltaY) >= 100 ? Math.pow(Kk, -Math.sign(e.deltaY)) : Math.exp(-e.deltaY / 100) : Math.exp(-e.deltaY * 15e-4); } -function Od(e, t, n = 100) { +function Cd(e, t, n = 100) { let o = -1; - for (let a = 0; a < e.length; a++) - if (t - e[a].t <= n) { - o = a; + for (let i = 0; i < e.length; i++) + if (t - e[i].t <= n) { + o = i; break; } if (o < 0 || o === e.length - 1) return null; - const r = e[o], s = e[e.length - 1], i = s.t - r.t; - return i < 10 ? null : { vx: (s.x - r.x) / i * 1e3, vy: (s.y - r.y) / i * 1e3 }; -} -function uD(e, t, n) { - const o = n.zoomGestures ?? !0, r = n.wheelZoomFactor ?? lD, s = n.sink ?? null, i = n.longPressMs ?? 450, a = n.tapSlopPx ?? 10, c = n.doubleTapMs ?? 300, l = 25, u = n.flingMinVelocity ?? 50, f = 20, d = 160, p = 0.12, h = /* @__PURE__ */ new Map(); - let g = "idle", m = !1, M = !1, x = !1, S = null, P = null, k = -1, A = !0, y = 0, w = { t: 0, x: 0, y: 0 }, O = -1 / 0, b = 0, v = !1, E = { x: 0, y: 0 }, I = 0, T = [], _ = [], N = 0, F = 0, R = 0, j = 0, B = 0, W = 0, $ = 0; - const K = (X) => { - const pe = Date.now(); - return $ = pe - j <= 400 && Math.hypot(X.clientX - B, X.clientY - W) <= 6 ? $ + 1 : 1, j = pe, B = X.clientX, W = X.clientY, $; - }, ee = (X, pe) => { - const Ie = e.getBoundingClientRect(); - return { x: X - Ie.left, y: pe - Ie.top }; - }, J = () => { - const X = []; - return h.forEach((pe) => { - pe.kind === "touch" && X.push(pe); - }), X; - }, ue = () => { - P !== null && (clearTimeout(P), P = null); - }, be = () => { - b && (cancelAnimationFrame(b), b = 0); - }, we = (X = !1) => { - m || (m = !0, t.beginGesture(X ? { elastic: !0 } : void 0)); - }, Oe = () => { + const r = e[o], s = e[e.length - 1], a = s.t - r.t; + return a < 10 ? null : { vx: (s.x - r.x) / a * 1e3, vy: (s.y - r.y) / a * 1e3 }; +} +function y$(e, t, n) { + const o = n.zoomGestures ?? !0, r = n.wheelZoomFactor ?? b$, s = n.sink ?? null, a = n.longPressMs ?? 450, i = n.tapSlopPx ?? 10, c = n.doubleTapMs ?? 300, l = 25, u = n.flingMinVelocity ?? 50, f = 20, d = 160, p = 0.12, g = /* @__PURE__ */ new Map(); + let h = "idle", m = !1, O = !1, E = !1, P = null, k = null, A = -1, w = !0, b = 0, v = { t: 0, x: 0, y: 0 }, x = -1 / 0, y = 0, M = !1, S = { x: 0, y: 0 }, C = 0, N = [], _ = [], T = 0, $ = 0, j = 0, z = 0, L = 0, D = 0, F = 0; + const B = (Z) => { + const he = Date.now(); + return F = he - z <= 400 && Math.hypot(Z.clientX - L, Z.clientY - D) <= 6 ? F + 1 : 1, z = he, L = Z.clientX, D = Z.clientY, F; + }, V = (Z, he) => { + const Ne = e.getBoundingClientRect(); + return { x: Z - Ne.left, y: he - Ne.top }; + }, Q = () => { + const Z = []; + return g.forEach((he) => { + he.kind === "touch" && Z.push(he); + }), Z; + }, le = () => { + k !== null && (clearTimeout(k), k = null); + }, pe = () => { + y && (cancelAnimationFrame(y), y = 0); + }, me = (Z = !1) => { + m || (m = !0, t.beginGesture(Z ? { elastic: !0 } : void 0)); + }, Ae = () => { m && (m = !1, t.endGesture()); - }, Ce = () => { - g = "idle", S = null, x = !1, T = [], _ = [], v = !1, k = -1, A = !0, y = 0, ue(), be(); - }, Me = (X, pe) => { - T.push({ t: performance.now(), x: X, y: pe }), T.length > 16 && T.shift(); - }, V = () => { - const X = Od(T, performance.now()); - X && Math.hypot(X.vx, X.vy) >= u && t.fling(X.vx, X.vy); - }, he = (X, pe) => { - const Ie = X - E.x, dt = pe - E.y; - (Ie !== 0 || dt !== 0) && t.panBy(Ie, dt), E = { x: X, y: pe }, v = !1; - }, ve = (X, pe, Ie, dt) => { - const qe = (X + Ie) / 2, et = (pe + dt) / 2, qt = Math.hypot(X - Ie, pe - dt), An = qe - E.x, _r = et - E.y; - (An !== 0 || _r !== 0) && t.panBy(An, _r), o && qt > f && I > f && qt !== I && t.zoomAround(ee(qe, et), qt / I), Me(qe, et), _.push({ t: performance.now(), x: qt, y: 0 }), _.length > 16 && _.shift(), E = { x: qe, y: et }, I = qt, v = !1; - }, je = () => { - if (b = 0, g === "pan" || g === "mousedrag") { - const X = h.get(k); - X && v && he(X.x, X.y), b = requestAnimationFrame(je); - } else if (g === "pinch") { - const [X, pe] = J(); - X && pe && v && ve(X.x, X.y, pe.x, pe.y), b = requestAnimationFrame(je); - } + }, Pe = () => { + h = "idle", P = null, E = !1, N = [], _ = [], M = !1, A = -1, w = !0, b = 0, le(), pe(); + }, Me = (Z, he) => { + N.push({ t: performance.now(), x: Z, y: he }), N.length > 16 && N.shift(); }, G = () => { - b || (b = requestAnimationFrame(je)); - }, re = () => { - const [X, pe] = J(); - !X || !pe || (g = "pinch", E = { x: (X.x + pe.x) / 2, y: (X.y + pe.y) / 2 }, I = Math.hypot(X.x - pe.x, X.y - pe.y), T = [], v = !1, G()); - }, D = () => { - P = null, !(g !== "pending" || !S || !s) && (Oe(), g = "tool", x = !0, s.longPress(S)); - }, ce = (X) => { - const pe = X.pointerType || "mouse"; - if (pe === "touch" && (O = performance.now()), pe !== "touch") { - if (pe === "mouse" && X.button !== 0 || g !== "idle") return; - h.set(X.pointerId, { - id: X.pointerId, - kind: pe, - x: X.clientX, - y: X.clientY, - downX: X.clientX, - downY: X.clientY - }), s ? (g = "tool", s.down(X, K(X))) : (g = "mousedrag", we(), k = X.pointerId, E = { x: X.clientX, y: X.clientY }, G()); + const Z = Cd(N, performance.now()); + Z && Math.hypot(Z.vx, Z.vy) >= u && t.fling(Z.vx, Z.vy); + }, ge = (Z, he) => { + const Ne = Z - S.x, Le = he - S.y; + (Ne !== 0 || Le !== 0) && t.panBy(Ne, Le), S = { x: Z, y: he }, M = !1; + }, ve = (Z, he, Ne, Le) => { + const Xe = (Z + Ne) / 2, Ft = (he + Le) / 2, nn = Math.hypot(Z - Ne, he - Le), Tr = Xe - S.x, Ot = Ft - S.y; + (Tr !== 0 || Ot !== 0) && t.panBy(Tr, Ot), o && nn > f && C > f && nn !== C && t.zoomAround(V(Xe, Ft), nn / C), Me(Xe, Ft), _.push({ t: performance.now(), x: nn, y: 0 }), _.length > 16 && _.shift(), S = { x: Xe, y: Ft }, C = nn, M = !1; + }, Te = () => { + if (y = 0, h === "pan" || h === "mousedrag") { + const Z = g.get(A); + Z && M && ge(Z.x, Z.y), y = requestAnimationFrame(Te); + } else if (h === "pinch") { + const [Z, he] = Q(); + Z && he && M && ve(Z.x, Z.y, he.x, he.y), y = requestAnimationFrame(Te); + } + }, X = () => { + y || (y = requestAnimationFrame(Te)); + }, ae = () => { + const [Z, he] = Q(); + !Z || !he || (h = "pinch", S = { x: (Z.x + he.x) / 2, y: (Z.y + he.y) / 2 }, C = Math.hypot(Z.x - he.x, Z.y - he.y), N = [], M = !1, X()); + }, W = () => { + k = null, !(h !== "pending" || !P || !s) && (Ae(), h = "tool", E = !0, s.longPress(P)); + }, ce = (Z) => { + const he = Z.pointerType || "mouse"; + if (he === "touch" && (x = performance.now()), he !== "touch") { + if (he === "mouse" && Z.button !== 0 || h !== "idle") return; + g.set(Z.pointerId, { + id: Z.pointerId, + kind: he, + x: Z.clientX, + y: Z.clientY, + downX: Z.clientX, + downY: Z.clientY + }), s ? (h = "tool", s.down(Z, B(Z))) : (h = "mousedrag", me(), A = Z.pointerId, S = { x: Z.clientX, y: Z.clientY }, X()); return; } - switch (g) { + switch (h) { case "idle": { - h.set(X.pointerId, { - id: X.pointerId, - kind: pe, - x: X.clientX, - y: X.clientY, - downX: X.clientX, - downY: X.clientY + g.set(Z.pointerId, { + id: Z.pointerId, + kind: he, + x: Z.clientX, + y: Z.clientY, + downX: Z.clientX, + downY: Z.clientY }); - const Ie = t.isMoving(); - if (!Ie && s?.claimsPoint?.(X)) { - g = "tool", x = !0, s.down(X, 1); + const Ne = t.isMoving(); + if (!Ne && s?.claimsPoint?.(Z)) { + h = "tool", E = !0, s.down(Z, 1); break; } - g = "pending", S = X, M = Ie, we(!0), T = [], Me(X.clientX, X.clientY), ue(), s && !M && (P = setTimeout(D, i)); + h = "pending", P = Z, O = Ne, me(!0), N = [], Me(Z.clientX, Z.clientY), le(), s && !O && (k = setTimeout(W, a)); break; } case "pending": case "pan": { - h.set(X.pointerId, { - id: X.pointerId, - kind: pe, - x: X.clientX, - y: X.clientY, - downX: X.clientX, - downY: X.clientY - }), ue(), re(); + g.set(Z.pointerId, { + id: Z.pointerId, + kind: he, + x: Z.clientX, + y: Z.clientY, + downX: Z.clientX, + downY: Z.clientY + }), le(), ae(); break; } case "tool": { - if (!x) return; - s?.cancel(X), x = !1, h.set(X.pointerId, { - id: X.pointerId, - kind: pe, - x: X.clientX, - y: X.clientY, - downX: X.clientX, - downY: X.clientY - }), we(!0), re(); + if (!E) return; + s?.cancel(Z), E = !1, g.set(Z.pointerId, { + id: Z.pointerId, + kind: he, + x: Z.clientX, + y: Z.clientY, + downX: Z.clientX, + downY: Z.clientY + }), me(!0), ae(); break; } case "pinch": case "mousedrag": return; } - }, ae = (X) => { - const pe = h.get(X.pointerId); - if (pe) - switch (pe.kind === "touch" && (O = performance.now()), pe.x = X.clientX, pe.y = X.clientY, g) { + }, ie = (Z) => { + const he = g.get(Z.pointerId); + if (he) + switch (he.kind === "touch" && (x = performance.now()), he.x = Z.clientX, he.y = Z.clientY, h) { case "pending": { - Me(pe.x, pe.y), Math.hypot(pe.x - pe.downX, pe.y - pe.downY) > a && (ue(), g = "pan", k = pe.id, E = { x: pe.x, y: pe.y }, G()); + Me(he.x, he.y), Math.hypot(he.x - he.downX, he.y - he.downY) > i && (le(), h = "pan", A = he.id, S = { x: he.x, y: he.y }, X()); break; } case "pan": - if (pe.id !== k) break; - if (!A) { - const Ie = performance.now(); - if (Ie < y) { - const dt = Ie - w.t; - if (dt >= 8) { - const qe = Math.hypot(pe.x - w.x, pe.y - w.y) / dt; - w = { t: Ie, x: pe.x, y: pe.y }, qe < p && (y = 0); + if (he.id !== A) break; + if (!w) { + const Ne = performance.now(); + if (Ne < b) { + const Le = Ne - v.t; + if (Le >= 8) { + const Xe = Math.hypot(he.x - v.x, he.y - v.y) / Le; + v = { t: Ne, x: he.x, y: he.y }, Xe < p && (b = 0); } - pe.downX = pe.x, pe.downY = pe.y; + he.downX = he.x, he.downY = he.y; break; } - if (Math.hypot(pe.x - pe.downX, pe.y - pe.downY) <= a) break; - A = !0, E = { x: pe.x, y: pe.y }, T = [], _ = []; + if (Math.hypot(he.x - he.downX, he.y - he.downY) <= i) break; + w = !0, S = { x: he.x, y: he.y }, N = [], _ = []; } - Me(pe.x, pe.y), v = !0; + Me(he.x, he.y), M = !0; break; case "pinch": - v = !0; + M = !0; break; case "tool": - s?.move(X); + s?.move(Z); break; case "mousedrag": - pe.id === k && (v = !0); + he.id === A && (M = !0); break; } - }, Q = (X) => { - g === "idle" && s && s.hover(X); + }, ee = (Z) => { + h === "idle" && s && s.hover(Z); }, fe = () => { - const X = J(); - return X.length !== 1 ? !1 : (g = "pan", k = X[0].id, A = !1, y = performance.now() + d, w = { t: performance.now(), x: X[0].x, y: X[0].y }, X[0].downX = X[0].x, X[0].downY = X[0].y, E = { x: X[0].x, y: X[0].y }, T = [], v = !1, !0); - }, de = (X) => { - const pe = h.get(X.pointerId); - if (pe) - switch (pe.kind === "touch" && (O = performance.now()), h.delete(X.pointerId), g) { + const Z = Q(); + return Z.length !== 1 ? !1 : (h = "pan", A = Z[0].id, w = !1, b = performance.now() + d, v = { t: performance.now(), x: Z[0].x, y: Z[0].y }, Z[0].downX = Z[0].x, Z[0].downY = Z[0].y, S = { x: Z[0].x, y: Z[0].y }, N = [], M = !1, !0); + }, de = (Z) => { + const he = g.get(Z.pointerId); + if (he) + switch (he.kind === "touch" && (x = performance.now()), g.delete(Z.pointerId), h) { case "pending": { - ue(), Oe(); - const Ie = performance.now(), dt = Ie - N <= c && Math.hypot(X.clientX - F, X.clientY - R) <= l; - M ? N = 0 : o && dt ? (N = 0, t.doubleTapZoom(ee(X.clientX, X.clientY))) : (N = Ie, F = X.clientX, R = X.clientY, s && S && (s.down(S, 1), s.up(X))), Ce(); + le(), Ae(); + const Ne = performance.now(), Le = Ne - T <= c && Math.hypot(Z.clientX - $, Z.clientY - j) <= l; + O ? T = 0 : o && Le ? (T = 0, t.doubleTapZoom(V(Z.clientX, Z.clientY))) : (T = Ne, $ = Z.clientX, j = Z.clientY, s && P && (s.down(P, 1), s.up(Z))), Pe(); break; } case "pan": { - if (!A) { - const Ie = performance.now(), dt = Od(T, Ie), qe = Od(_, Ie); - if (Oe(), dt) { - const et = Math.hypot(dt.vx, dt.vy); - et >= u && et > Math.abs(qe?.vx ?? 0) && t.fling(dt.vx, dt.vy); + if (!w) { + const Ne = performance.now(), Le = Cd(N, Ne), Xe = Cd(_, Ne); + if (Ae(), Le) { + const Ft = Math.hypot(Le.vx, Le.vy); + Ft >= u && Ft > Math.abs(Xe?.vx ?? 0) && t.fling(Le.vx, Le.vy); } - Ce(); + Pe(); break; } - he(X.clientX, X.clientY), Me(X.clientX, X.clientY), Oe(), V(), Ce(); + ge(Z.clientX, Z.clientY), Me(Z.clientX, Z.clientY), Ae(), G(), Pe(); break; } case "pinch": { - const Ie = J(); - if (Ie.length === 1) { - g = "pan", k = Ie[0].id, A = !1, y = performance.now() + d, w = { t: performance.now(), x: Ie[0].x, y: Ie[0].y }, Ie[0].downX = Ie[0].x, Ie[0].downY = Ie[0].y, E = { x: Ie[0].x, y: Ie[0].y }, v = !1; + const Ne = Q(); + if (Ne.length === 1) { + h = "pan", A = Ne[0].id, w = !1, b = performance.now() + d, v = { t: performance.now(), x: Ne[0].x, y: Ne[0].y }, Ne[0].downX = Ne[0].x, Ne[0].downY = Ne[0].y, S = { x: Ne[0].x, y: Ne[0].y }, M = !1; break; } - Oe(), V(), Ce(); + Ae(), G(), Pe(); break; } case "tool": { - s?.up(X), Ce(); + s?.up(Z), Pe(); break; } case "mousedrag": { - if (pe.id !== k) break; - he(X.clientX, X.clientY), Oe(), Ce(); + if (he.id !== A) break; + ge(Z.clientX, Z.clientY), Ae(), Pe(); break; } } - }, le = (X) => { - if (h.get(X.pointerId)) { - if (h.delete(X.pointerId), g === "tool") { - s?.cancel(X), Ce(); + }, ue = (Z) => { + if (g.get(Z.pointerId)) { + if (g.delete(Z.pointerId), h === "tool") { + s?.cancel(Z), Pe(); return; } - g === "pinch" && fe() || (Oe(), Ce()); + h === "pinch" && fe() || (Ae(), Pe()); } - }, ye = (X) => { - if (X.preventDefault(), o && (X.ctrlKey || X.metaKey)) - t.zoomAround(ee(X.clientX, X.clientY), r(X)); - else { - const pe = X.shiftKey ? X.deltaY : X.deltaX, Ie = X.shiftKey ? X.deltaX : X.deltaY; - t.panBy(-pe, -Ie); + }, we = (Z, he, Ne) => t.wheelBy ? t.wheelBy(Z, he, Ne) : (t.panBy(Z, he), !0), Oe = (Z) => { + if (!Z.cancelable) return; + const he = Z.ctrlKey || Z.metaKey; + if (he && o) { + Z.preventDefault(), t.zoomAround(V(Z.clientX, Z.clientY), r(Z)); + return; } + const Ne = Z.shiftKey ? Z.deltaY : Z.deltaX, Le = Z.shiftKey ? Z.deltaX : Z.deltaY; + (we(-Ne, -Le, Z.timeStamp) || he) && Z.preventDefault(); }; - let Ae = 1; - const Ue = (X) => { - X.preventDefault(), Ae = X.scale ?? 1; - }, ze = (X) => { - if (X.preventDefault(), J().length > 0 || performance.now() - O < 500) return; - const pe = X, Ie = pe.scale ?? 1; - o && Ie > 0 && t.zoomAround(ee(pe.clientX, pe.clientY), Ie / Ae), Ae = Ie; + let Ke = 1; + const ze = (Z) => { + Z.preventDefault(), Ke = Z.scale ?? 1; + }, ut = (Z) => { + if (Z.preventDefault(), Q().length > 0 || performance.now() - x < 500) return; + const he = Z, Ne = he.scale ?? 1; + o && Ne > 0 && t.zoomAround(V(he.clientX, he.clientY), Ne / Ke), Ke = Ne; }; - e.addEventListener("pointerdown", ce), e.addEventListener("pointermove", Q), window.addEventListener("pointermove", ae), window.addEventListener("pointerup", de), window.addEventListener("pointercancel", le), e.addEventListener("wheel", ye, { passive: !1 }); - const lt = "GestureEvent" in window; - return lt && (e.addEventListener("gesturestart", Ue), e.addEventListener("gesturechange", ze), e.addEventListener("gestureend", Ue)), () => { - e.removeEventListener("pointerdown", ce), e.removeEventListener("pointermove", Q), window.removeEventListener("pointermove", ae), window.removeEventListener("pointerup", de), window.removeEventListener("pointercancel", le), e.removeEventListener("wheel", ye), lt && (e.removeEventListener("gesturestart", Ue), e.removeEventListener("gesturechange", ze), e.removeEventListener("gestureend", Ue)), ue(), be(), Oe(); + e.addEventListener("pointerdown", ce), e.addEventListener("pointermove", ee), window.addEventListener("pointermove", ie), window.addEventListener("pointerup", de), window.addEventListener("pointercancel", ue), e.addEventListener("wheel", Oe, { passive: !1 }); + const Xt = "GestureEvent" in window; + return Xt && (e.addEventListener("gesturestart", ze), e.addEventListener("gesturechange", ut), e.addEventListener("gestureend", ze)), () => { + e.removeEventListener("pointerdown", ce), e.removeEventListener("pointermove", ee), window.removeEventListener("pointermove", ie), window.removeEventListener("pointerup", de), window.removeEventListener("pointercancel", ue), e.removeEventListener("wheel", Oe), Xt && (e.removeEventListener("gesturestart", ze), e.removeEventListener("gesturechange", ut), e.removeEventListener("gestureend", ze)), le(), pe(), Ae(); }; } -function dD(e, t) { +function w$(e, t) { let n = null; - const o = (i) => { - !n || i.pointerId !== n.pointerId || n.session.move({ - x: n.base.x + (i.clientX - n.baseClient.x), - y: n.base.y + (i.clientY - n.baseClient.y) + const o = (a) => { + !n || a.pointerId !== n.pointerId || n.session.move({ + x: n.base.x + (a.clientX - n.baseClient.x), + y: n.base.y + (a.clientY - n.baseClient.y) }); - }, r = (i) => { - if (!n || i.pointerId !== n.pointerId) return; - const a = n.session; - n = null, a.end(); - }, s = (i) => { + }, r = (a) => { + if (!n || a.pointerId !== n.pointerId) return; + const i = n.session; + n = null, i.end(); + }, s = (a) => { if (n) return; - const a = t.arm(); - if (a) { - i.preventDefault(), i.stopPropagation(); + const i = t.arm(); + if (i) { + a.preventDefault(), a.stopPropagation(); try { - e.setPointerCapture(i.pointerId); + e.setPointerCapture(a.pointerId); } catch { } n = { - session: a.session, - base: a.base, - baseClient: { x: i.clientX, y: i.clientY }, - pointerId: i.pointerId + session: i.session, + base: i.base, + baseClient: { x: a.clientX, y: a.clientY }, + pointerId: a.pointerId }; } }; @@ -14807,43 +15347,43 @@ function dD(e, t) { e.removeEventListener("pointerdown", s), e.removeEventListener("pointermove", o), e.removeEventListener("pointerup", r), e.removeEventListener("pointercancel", r), n = null; }; } -function fD(e, t, n = {}) { - const o = n.hub ?? null, r = [], s = () => t.setViewportSize({ width: e.clientWidth, height: e.clientHeight }), i = new ResizeObserver(s); - i.observe(e), s(), r.push(() => i.disconnect()); - let a = null; +function v$(e, t, n = {}) { + const o = n.hub ?? null, r = [], s = () => t.setViewportSize({ width: e.clientWidth, height: e.clientHeight }), a = new ResizeObserver(s); + a.observe(e), s(), r.push(() => a.disconnect()); + let i = null; const c = () => { - t.setDevicePixelRatio(window.devicePixelRatio || 1), a?.removeEventListener("change", c), a = window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`), a.addEventListener("change", c); + t.setDevicePixelRatio(window.devicePixelRatio || 1), i?.removeEventListener("change", c), i = window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`), i.addEventListener("change", c); }; - c(), r.push(() => a?.removeEventListener("change", c)); + c(), r.push(() => i?.removeEventListener("change", c)); const l = () => { - const p = e.scrollLeft, h = e.scrollTop; - p === 0 && h === 0 || (e.scrollLeft = 0, e.scrollTop = 0, t.panBy(-p, -h)); + const p = e.scrollLeft, g = e.scrollTop; + p === 0 && g === 0 || (e.scrollLeft = 0, e.scrollTop = 0, t.panBy(-p, -g)); }; e.addEventListener("scroll", l), r.push(() => e.removeEventListener("scroll", l)); - const u = (p, h, g = 1, m) => { - const M = e.getBoundingClientRect(), x = { x: h.clientX - M.left, y: h.clientY - M.top }; + const u = (p, g, h = 1, m) => { + const O = e.getBoundingClientRect(), E = { x: g.clientX - O.left, y: g.clientY - O.top }; return { phase: p, - viewport: x, - page: t.getPageAt(x) ?? void 0, + viewport: E, + page: t.getPageAt(E) ?? void 0, // Page-anchored gestures (annotation move/resize) track the origin // page's frame through this even when the cursor is off that page. - project: (S) => t.viewportToPage(S, x), + project: (P) => t.viewportToPage(P, E), modifiers: { - shift: h.shiftKey, - alt: h.altKey, - ctrl: h.ctrlKey, - meta: h.metaKey + shift: g.shiftKey, + alt: g.altKey, + ctrl: g.ctrlKey, + meta: g.metaKey }, - clickCount: g, - pointerType: h.pointerType || "mouse", + clickCount: h, + pointerType: g.pointerType || "mouse", ...m ? { gesture: m } : {}, ...n.source ? { source: n.source } : {} }; - }, f = (p, h, g = 1, m) => { - o?.dispatchPointer(u(p, h, g, m)); + }, f = (p, g, h = 1, m) => { + o?.dispatchPointer(u(p, g, h, m)); }, d = o ? { - down: (p, h) => f("down", p, h), + down: (p, g) => f("down", p, g), move: (p) => f("move", p), up: (p) => f("up", p), cancel: (p) => f("cancel", p), @@ -14859,7 +15399,7 @@ function fD(e, t, n = {}) { claimsPoint: (p) => o.getActiveTool().touch === "draw" || o.wouldClaimTouch(u("down", p)) } : null; return r.push( - uD(e, t, { + y$(e, t, { zoomGestures: n.zoomGestures, wheelZoomFactor: n.wheelZoomFactor, sink: d @@ -14868,50 +15408,50 @@ function fD(e, t, n = {}) { for (const p of r) p(); }; } -function pD(e, t = {}) { - const n = t.storeName ?? "bytes", o = () => new Promise((s, i) => { - const a = indexedDB.open(e, 1); - a.onupgradeneeded = () => { - a.result.objectStoreNames.contains(n) || a.result.createObjectStore(n); - }, a.onsuccess = () => s(a.result), a.onerror = () => i(a.error ?? new Error("indexedDB.open failed")); - }), r = async (s, i) => { - const a = await o(); +function k$(e, t = {}) { + const n = t.storeName ?? "bytes", o = () => new Promise((s, a) => { + const i = indexedDB.open(e, 1); + i.onupgradeneeded = () => { + i.result.objectStoreNames.contains(n) || i.result.createObjectStore(n); + }, i.onsuccess = () => s(i.result), i.onerror = () => a(i.error ?? new Error("indexedDB.open failed")); + }), r = async (s, a) => { + const i = await o(); try { return await new Promise((c, l) => { - const u = i(a.transaction(n, s).objectStore(n)); + const u = a(i.transaction(n, s).objectStore(n)); u.onsuccess = () => c(u.result), u.onerror = () => l(u.error ?? new Error("indexedDB request failed")); }); } finally { - a.close(); + i.close(); } }; return { list: async () => { - const s = await r("readonly", (a) => a.getAllKeys()), i = await r("readonly", (a) => a.getAll()); - return s.map((a, c) => ({ id: String(a), bytes: new Uint8Array(i[c]) })); + const s = await r("readonly", (i) => i.getAllKeys()), a = await r("readonly", (i) => i.getAll()); + return s.map((i, c) => ({ id: String(i), bytes: new Uint8Array(a[c]) })); }, - put: (s, i) => r("readwrite", (a) => a.put(new Uint8Array(i), s)).then(() => { + put: (s, a) => r("readwrite", (i) => i.put(new Uint8Array(a), s)).then(() => { }), - delete: (s) => r("readwrite", (i) => i.delete(s)).then(() => { + delete: (s) => r("readwrite", (a) => a.delete(s)).then(() => { }) }; } -const hD = 0.2, gD = /* @__PURE__ */ new Map([ +const x$ = 0.2, A$ = /* @__PURE__ */ new Map([ ["Helvetica", { ascent: 0.83, descent: 0.17 }], ["Times", { ascent: 0.784, descent: 0.216 }], ["Courier", { ascent: 0.627, descent: 0.373 }] -]), mD = { ascent: 0.83, descent: 0.17 }; -function bD(e) { +]), S$ = { ascent: 0.83, descent: 0.17 }; +function O$(e) { return (e.split(",")[0] ?? "").trim().replace(/^["']|["']$/g, ""); } -const Ck = /* @__PURE__ */ new WeakMap(); -function qy(e, t = typeof document > "u" ? void 0 : document, n = {}) { +const qk = /* @__PURE__ */ new WeakMap(); +function r0(e, t = typeof document > "u" ? void 0 : document, n = {}) { if (!t) return null; - let o = Ck.get(t); + let o = qk.get(t); if (!o) { const s = t.createElement("canvas").getContext("2d"); if (!s) return null; - o = s, Ck.set(t, o); + o = s, qk.set(t, o); } o.font = `${n.style ?? "normal"} ${n.weight ?? 400} 100px ${e}`; const r = o.measureText("Hg"); @@ -14920,263 +15460,263 @@ function qy(e, t = typeof document > "u" ? void 0 : document, n = {}) { descent: r.fontBoundingBoxDescent / 100 }; } -function Nm(e, t = qy, n = (o) => o) { - const o = gD.get(n(bD(e)) ?? "") ?? t(e) ?? mD; +function Bm(e, t = r0, n = (o) => o) { + const o = A$.get(n(O$(e)) ?? "") ?? t(e) ?? S$; return { ascent: o.ascent, descent: o.descent, - lineHeight: Math.round((o.ascent + o.descent + hD) * 1e3) / 1e3 + lineHeight: Math.round((o.ascent + o.descent + x$) * 1e3) / 1e3 }; } -function yD(e, t, n = qy, o = (r) => r) { - const r = Nm(e, n, o), s = n(e) ?? { ascent: r.ascent, descent: r.descent }, i = (r.lineHeight - (s.ascent + s.descent)) / 2 + s.ascent; - return Math.round((i - r.ascent) * t * 100) / 100; +function P$(e, t, n = r0, o = (r) => r) { + const r = Bm(e, n, o), s = n(e) ?? { ascent: r.ascent, descent: r.descent }, a = (r.lineHeight - (s.ascent + s.descent)) / 2 + s.ascent; + return Math.round((a - r.ascent) * t * 100) / 100; } -const uM = { family: "Helvetica", weight: 400, italic: !1 }, Hl = 1, Hy = 3; -function bp(e) { - if (e.nodeType !== Hl) return !1; +const BM = { family: "Helvetica", weight: 400, italic: !1 }, Gl = 1, s0 = 3; +function kp(e) { + if (e.nodeType !== Gl) return !1; const t = e.nodeName.toUpperCase(); return t === "DIV" || t === "P"; } -function Vy(e) { - return e.nodeType === Hl && e.nodeName.toUpperCase() === "BR"; +function a0(e) { + return e.nodeType === Gl && e.nodeName.toUpperCase() === "BR"; } -function dM(e) { +function zM(e) { return e.childNodes[e.childNodes.length - 1]; } -function fM(e, t) { +function WM(e, t) { for (let n = e; ; ) { const o = n.parentNode; - if (!o || dM(o) !== n) return !1; - if (o === t || bp(o)) return !0; + if (!o || zM(o) !== n) return !1; + if (o === t || kp(o)) return !0; n = o; } } -function gf(e, t) { +function mf(e, t) { for (let n = t; n; n = n.parentNode) if (n === e) return !0; return !1; } -const wD = /^#([0-9a-f]{6})$/i, vD = /^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/i; -function kD(e) { +const M$ = /^#([0-9a-f]{6})$/i, E$ = /^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/i; +function C$(e) { const t = e.trim(); - if (wD.test(t)) return t.toUpperCase(); - const n = vD.exec(t); + if (M$.test(t)) return t.toUpperCase(); + const n = E$.exec(t); if (!n) return; const o = (r) => Math.max(0, Math.min(255, Number(r))).toString(16).padStart(2, "0"); return `#${o(n[1])}${o(n[2])}${o(n[3])}`.toUpperCase(); } -function xD(e) { +function I$(e) { const t = e.split(",")[0]?.trim().replace(/^["']|["']$/g, ""); return t || void 0; } -function Ik(e) { +function Hk(e) { return Math.round(e * 100) / 100; } -function pM(e, t, n = (o) => o) { +function UM(e, t, n = (o) => o) { const o = {}; if (!e) return o; const r = e.fontWeight; if (r) { - const a = r === "bold" ? 700 : r === "normal" ? 400 : Number(r); - Number.isFinite(a) && a > 0 && (o.weight = a); + const i = r === "bold" ? 700 : r === "normal" ? 400 : Number(r); + Number.isFinite(i) && i > 0 && (o.weight = i); } e.fontStyle && (o.italic = e.fontStyle === "italic" || e.fontStyle === "oblique"); const s = e.textDecorationLine || e.textDecoration; if (s && (o.decoration = s.split(/\s+/).filter( - (a) => a === "underline" || a === "line-through" + (i) => i === "underline" || i === "line-through" )), e.color) { - const a = kD(e.color); - a && (o.color = a); + const i = C$(e.color); + i && (o.color = i); } - const i = e.verticalAlign; - if ((i === "sub" || i === "super") && (o.script = i), e.fontSize && !o.script) { - const a = parseFloat(e.fontSize); - Number.isFinite(a) && t > 0 && (o.size = Ik(a / t)); + const a = e.verticalAlign; + if ((a === "sub" || a === "super") && (o.script = a), e.fontSize && !o.script) { + const i = parseFloat(e.fontSize); + Number.isFinite(i) && t > 0 && (o.size = Hk(i / t)); } if (e.fontFamily) { - const a = xD(e.fontFamily), c = a ? n(a) : void 0; + const i = I$(e.fontFamily), c = i ? n(i) : void 0; c && (o.family = c); } if (e.letterSpacing) { - const a = parseFloat(e.letterSpacing); - Number.isFinite(a) && t > 0 && (o.letterSpacing = Ik(a / t)); + const i = parseFloat(e.letterSpacing); + Number.isFinite(i) && t > 0 && (o.letterSpacing = Hk(i / t)); } return o; } -function hM(e, t) { +function KM(e, t) { return { family: e.family ?? t.family, weight: e.weight ?? t.weight, italic: e.italic ?? t.italic }; } -const gM = (e) => e.family !== void 0 || e.weight !== void 0 || e.italic !== void 0; -function AD(e, t, n, o) { +const qM = (e) => e.family !== void 0 || e.weight !== void 0 || e.italic !== void 0; +function _$(e, t, n, o) { if (t.weight !== void 0 && (e.fontWeight = String(t.weight)), t.italic !== void 0 && (e.fontStyle = t.italic ? "italic" : "normal"), t.decoration !== void 0) { const r = t.decoration.map( (s) => s === "word" ? "underline" : s ); e.textDecoration = r.length ? [...new Set(r)].join(" ") : "none"; } - t.color !== void 0 && (e.color = t.color), t.script !== void 0 && t.script !== "normal" ? (e.verticalAlign = t.script, e.fontSize = "0.66em") : t.size !== void 0 && (e.fontSize = `${t.size * n}px`), gM(t) && (e.fontFamily = o.cssFontFamily(hM(t, o.body))), t.letterSpacing !== void 0 && (e.letterSpacing = `${t.letterSpacing * n}px`); + t.color !== void 0 && (e.color = t.color), t.script !== void 0 && t.script !== "normal" ? (e.verticalAlign = t.script, e.fontSize = "0.66em") : t.size !== void 0 && (e.fontSize = `${t.size * n}px`), qM(t) && (e.fontFamily = o.cssFontFamily(KM(t, o.body))), t.letterSpacing !== void 0 && (e.letterSpacing = `${t.letterSpacing * n}px`); } function Ms(e, t) { return { ...e, ...t }; } -function mM(e, t) { +function HM(e, t) { const n = e ?? {}, o = t ?? {}, r = /* @__PURE__ */ new Set([...Object.keys(n), ...Object.keys(o)]); for (const s of r) { - const i = n[s], a = o[s]; - if (Array.isArray(i) || Array.isArray(a)) { - const c = [...i ?? []].sort().join(" "), l = [...a ?? []].sort().join(" "); + const a = n[s], i = o[s]; + if (Array.isArray(a) || Array.isArray(i)) { + const c = [...a ?? []].sort().join(" "), l = [...i ?? []].sort().join(" "); if (c !== l) return !1; - } else if (i !== a) + } else if (a !== i) return !1; } return !0; } -function SD(e, t, n) { - const o = { body: n.body ?? uM, cssFontFamily: n.cssFontFamily }, r = e.ownerDocument; +function N$(e, t, n) { + const o = { body: n.body ?? BM, cssFontFamily: n.cssFontFamily }, r = e.ownerDocument; if (!r) return; - const s = [], i = t.paragraphs.length ? t.paragraphs : [{ runs: [{ text: "" }] }]; - for (const a of i) { + const s = [], a = t.paragraphs.length ? t.paragraphs : [{ runs: [{ text: "" }] }]; + for (const i of a) { const c = r.createElement("div"); - a.align && (c.style.textAlign = a.align), a.dir && (c.style.direction = a.dir); + i.align && (c.style.textAlign = i.align), i.dir && (c.style.direction = i.dir); let l = !1; - for (const u of a.runs) { + for (const u of i.runs) { let f = c; - u.style && Object.keys(u.style).length && (f = r.createElement("span"), AD(f.style, u.style, n.scale, o), f.dataset && (f.dataset.family = u.style.family ?? ""), c.appendChild(f)); + u.style && Object.keys(u.style).length && (f = r.createElement("span"), _$(f.style, u.style, n.scale, o), f.dataset && (f.dataset.family = u.style.family ?? ""), c.appendChild(f)); const d = u.text.split(/\r\n|\r|\n/); for (let p = 0; p < d.length; p++) { p > 0 && (f.appendChild(r.createElement("br")), l = !0); - const h = d[p]; - h && (f.appendChild(r.createTextNode(h)), l = !1); + const g = d[p]; + g && (f.appendChild(r.createTextNode(g)), l = !1); } } - (l || !dM(c)) && c.appendChild(r.createElement("br")), s.push(c); + (l || !zM(c)) && c.appendChild(r.createElement("br")), s.push(c); } if (e.replaceChildren) e.replaceChildren(...s); else { for (; e.firstChild && e.removeChild; ) e.removeChild(e.firstChild); - for (const a of s) e.appendChild(a); + for (const i of s) e.appendChild(i); } } -function PD(e, t) { +function T$(e, t) { for (let n = 0; n < e.childNodes.length; n++) { const o = e.childNodes[n]; o.style && (o.style.marginTop = n === 0 && t ? `${-t}px` : ""); } } -function OD(e, t, n) { +function R$(e, t, n) { const o = (r, s) => { - if (r.nodeType !== Hl) return; - let i = s; + if (r.nodeType !== Gl) return; + let a = s; if (r !== e && r.style) { - const a = MD(r); - if (gM(a)) { - i = hM(a, s); - const c = n(i); + const i = L$(r); + if (qM(i)) { + a = KM(i, s); + const c = n(a); r.style.fontFamily !== c && (r.style.fontFamily = c); } } - for (let a = 0; a < r.childNodes.length; a++) o(r.childNodes[a], i); + for (let i = 0; i < r.childNodes.length; i++) o(r.childNodes[i], a); }; o(e, t); } -function MD(e) { +function L$(e) { const t = {}, n = e.nodeName.toUpperCase(); (n === "B" || n === "STRONG") && (t.weight = 700), (n === "I" || n === "EM") && (t.italic = !0); - const o = pM(e.style, 1, () => { + const o = UM(e.style, 1, () => { }); o.weight !== void 0 && (t.weight = o.weight), o.italic !== void 0 && (t.italic = o.italic); const r = e.dataset?.family; return r && (t.family = r), t; } -function _k(e, t, n) { +function Vk(e, t, n) { e.current || (e.current = { runs: [] }, e.paragraphs.push(e.current)); const o = e.current.runs, r = Object.keys(n).length ? n : void 0, s = o[o.length - 1]; - s && mM(s.style, r) ? s.text += t : o.push(r ? { text: t, style: r } : { text: t }); + s && HM(s.style, r) ? s.text += t : o.push(r ? { text: t, style: r } : { text: t }); } -function Tm(e, t, n) { - if (e.nodeType === Hy) { - const a = (e.nodeValue ?? "").replace(/\r\n|\r/g, ` +function zm(e, t, n) { + if (e.nodeType === s0) { + const i = (e.nodeValue ?? "").replace(/\r\n|\r/g, ` `); - a && _k(n, a, t); + i && Vk(n, i, t); return; } - if (e.nodeType !== Hl) return; - if (Vy(e)) { - fM(e, n.root) || _k(n, ` + if (e.nodeType !== Gl) return; + if (a0(e)) { + WM(e, n.root) || Vk(n, ` `, t); return; } const o = e.nodeName.toUpperCase(); let r = t; (o === "B" || o === "STRONG") && (r = Ms(r, { weight: 700 })), (o === "I" || o === "EM") && (r = Ms(r, { italic: !0 })), o === "U" && (r = Ms(r, { decoration: ["underline"] })), o === "SUB" && (r = Ms(r, { script: "sub" })), o === "SUP" && (r = Ms(r, { script: "super" })); - const s = e.dataset?.family, i = s !== void 0; + const s = e.dataset?.family, a = s !== void 0; if (r = Ms( r, - pM(e.style, n.scale, i ? () => { + UM(e.style, n.scale, a ? () => { } : n.familyOfCss) - ), s && (r = Ms(r, { family: s })), bp(e)) { - const a = { runs: [] }, c = e.style?.textAlign; - (c === "left" || c === "center" || c === "right" || c === "justify") && (a.align = c), e.style?.direction === "rtl" && (a.dir = "rtl"), n.paragraphs.push(a), n.current = a; - for (let l = 0; l < e.childNodes.length; l++) Tm(e.childNodes[l], r, n); + ), s && (r = Ms(r, { family: s })), kp(e)) { + const i = { runs: [] }, c = e.style?.textAlign; + (c === "left" || c === "center" || c === "right" || c === "justify") && (i.align = c), e.style?.direction === "rtl" && (i.dir = "rtl"), n.paragraphs.push(i), n.current = i; + for (let l = 0; l < e.childNodes.length; l++) zm(e.childNodes[l], r, n); n.current = null; return; } - for (let a = 0; a < e.childNodes.length; a++) Tm(e.childNodes[a], r, n); + for (let i = 0; i < e.childNodes.length; i++) zm(e.childNodes[i], r, n); } -function ED(e, t, n) { +function j$(e, t, n) { const o = { root: e, scale: t, familyOfCss: n, paragraphs: [], current: null }; - for (let r = 0; r < e.childNodes.length; r++) Tm(e.childNodes[r], {}, o); + for (let r = 0; r < e.childNodes.length; r++) zm(e.childNodes[r], {}, o); for (const r of o.paragraphs) r.runs.length === 0 && r.runs.push({ text: "" }); return o.paragraphs.length === 0 && o.paragraphs.push({ runs: [{ text: "" }] }), { paragraphs: o.paragraphs }; } -function bM(e) { +function VM(e) { const t = []; let n = 0, o = 0; const r = (s) => { - if (s.nodeType === Hy) { - const i = (s.nodeValue ?? "").length; - t.push({ kind: "text", node: s, at: n, length: i }), n += i; + if (s.nodeType === s0) { + const a = (s.nodeValue ?? "").length; + t.push({ kind: "text", node: s, at: n, length: a }), n += a; return; } - if (s.nodeType === Hl) { - if (Vy(s)) { - if (fM(s, e)) return; + if (s.nodeType === Gl) { + if (a0(s)) { + if (WM(s, e)) return; t.push({ kind: "break", node: s, at: n, length: 1 }), n += 1; return; } - bp(s) && (o > 0 && (n += 1), o++), t.push({ kind: "enter", node: s, at: n, length: 0 }); - for (let i = 0; i < s.childNodes.length; i++) r(s.childNodes[i]); + kp(s) && (o > 0 && (n += 1), o++), t.push({ kind: "enter", node: s, at: n, length: 0 }); + for (let a = 0; a < s.childNodes.length; a++) r(s.childNodes[a]); t.push({ kind: "exit", node: s, at: n, length: 0 }); } }; for (let s = 0; s < e.childNodes.length; s++) r(e.childNodes[s]); return t; } -function Nk(e, t) { - if (!gf(e, t.node)) return 0; - const n = bM(e); - if (t.node.nodeType === Hy) { - const s = n.find((i) => i.kind === "text" && i.node === t.node); +function Gk(e, t) { + if (!mf(e, t.node)) return 0; + const n = VM(e); + if (t.node.nodeType === s0) { + const s = n.find((a) => a.kind === "text" && a.node === t.node); return s ? s.at + Math.min(t.offset, s.length) : 0; } - if (Vy(t.node)) { - const s = n.find((a) => a.kind === "break" && a.node === t.node); + if (a0(t.node)) { + const s = n.find((i) => i.kind === "break" && i.node === t.node); if (s) return s.at + (t.offset > 0 ? 1 : 0); - const i = n.find( - (a) => a.kind === "exit" && a.node === t.node.parentNode + const a = n.find( + (i) => i.kind === "exit" && i.node === t.node.parentNode ); - return i ? i.at : 0; + return a ? a.at : 0; } const o = t.node.childNodes[t.offset]; if (o) { const s = n.find( - (i) => i.node === o || i.kind !== "exit" && gf(o, i.node) + (a) => a.node === o || a.kind !== "exit" && mf(o, a.node) ); if (s) return s.at; } @@ -15187,30 +15727,30 @@ function Nk(e, t) { const r = n.find((s) => s.kind === "exit" && s.node === t.node); return r ? r.at : 0; } -function CD(e, t) { +function F$(e, t) { for (let n = 0; n < e.childNodes.length; n++) if (e.childNodes[n] === t) return n; return 0; } -function Tk(e, t) { - const n = bM(e), o = n.find( - (a) => a.kind === "text" && t >= a.at && t <= a.at + a.length +function Yk(e, t) { + const n = VM(e), o = n.find( + (i) => i.kind === "text" && t >= i.at && t <= i.at + i.length ); if (o) return { node: o.node, offset: t - o.at }; const r = n.find( - (a) => a.kind === "enter" && bp(a.node) && a.at === t + (i) => i.kind === "enter" && kp(i.node) && i.at === t ); if (r) return { node: r.node, offset: 0 }; - const s = n.find((a) => a.kind === "break" && a.at + 1 === t); + const s = n.find((i) => i.kind === "break" && i.at + 1 === t); if (s && s.node.parentNode) - return { node: s.node.parentNode, offset: CD(s.node.parentNode, s.node) + 1 }; - for (let a = n.length - 1; a >= 0; a--) { - const c = n[a]; + return { node: s.node.parentNode, offset: F$(s.node.parentNode, s.node) + 1 }; + for (let i = n.length - 1; i >= 0; i--) { + const c = n[i]; if (c.kind === "text") return { node: c.node, offset: c.length }; } - const i = e.childNodes[0]; - return i ? { node: i, offset: 0 } : null; + const a = e.childNodes[0]; + return a ? { node: a, offset: 0 } : null; } -function ID(e, t) { +function D$(e, t) { const n = e; if (typeof n.getComposedRanges != "function") return null; for (const o of [[{ shadowRoots: [t] }], [t]]) @@ -15221,142 +15761,142 @@ function ID(e, t) { } return null; } -function sg(e, t) { +function ug(e, t) { if (e.paragraphs.length !== t.paragraphs.length) return !1; for (let n = 0; n < e.paragraphs.length; n++) { const o = e.paragraphs[n], r = t.paragraphs[n]; if ((o.align ?? "left") !== (r.align ?? "left") || (o.dir ?? "ltr") !== (r.dir ?? "ltr") || o.runs.length !== r.runs.length) return !1; for (let s = 0; s < o.runs.length; s++) { - const i = o.runs[s], a = r.runs[s]; - if (i.text !== a.text || !mM(i.style, a.style)) return !1; + const a = o.runs[s], i = r.runs[s]; + if (a.text !== i.text || !HM(a.style, i.style)) return !1; } } return !0; } -function _D(e, t, n) { - const o = e, r = e.ownerDocument, s = e.getRootNode(), i = () => s.activeElement, a = () => { - const O = r.getSelection(); - if (!O) return null; +function $$(e, t, n) { + const o = e, r = e.ownerDocument, s = e.getRootNode(), a = () => s.activeElement, i = () => { + const x = r.getSelection(); + if (!x) return null; if (s !== r) { - const b = ID(O, s); - if (b) return b; - const v = s.getSelection?.(); - if (v && v.rangeCount > 0) return v.getRangeAt(0); + const y = D$(x, s); + if (y) return y; + const M = s.getSelection?.(); + if (M && M.rangeCount > 0) return M.getRangeAt(0); } - return O.rangeCount > 0 ? O.getRangeAt(0) : null; + return x.rangeCount > 0 ? x.getRangeAt(0) : null; }; let c = n, l = null, u = !1, f = []; const d = 64, p = () => { - const O = a(); - if (!O) return null; - const b = O.startContainer, v = O.endContainer; - if (!gf(o, b) || !gf(o, v)) return null; - const E = Nk(o, { node: b, offset: O.startOffset }), I = Nk(o, { node: v, offset: O.endOffset }); - return { start: Math.min(E, I), end: Math.max(E, I) }; - }, h = (O) => { - const b = r.getSelection(); - if (!b) return; - const v = Tk(o, O.start), E = Tk(o, O.end); - if (!v || !E) return; - if (typeof b.setBaseAndExtent == "function") { - b.setBaseAndExtent( - v.node, - v.offset, - E.node, - E.offset + const x = i(); + if (!x) return null; + const y = x.startContainer, M = x.endContainer; + if (!mf(o, y) || !mf(o, M)) return null; + const S = Gk(o, { node: y, offset: x.startOffset }), C = Gk(o, { node: M, offset: x.endOffset }); + return { start: Math.min(S, C), end: Math.max(S, C) }; + }, g = (x) => { + const y = r.getSelection(); + if (!y) return; + const M = Yk(o, x.start), S = Yk(o, x.end); + if (!M || !S) return; + if (typeof y.setBaseAndExtent == "function") { + y.setBaseAndExtent( + M.node, + M.offset, + S.node, + S.offset ); return; } - const I = r.createRange(); - I.setStart(v.node, v.offset), I.setEnd(E.node, E.offset), b.removeAllRanges(), b.addRange(I); - }, g = () => { - const O = r.defaultView?.getComputedStyle(e) ?? e.style, b = { - family: O.fontFamily || "Helvetica", - weight: O.fontWeight || "400", - style: O.fontStyle || "normal" - }, v = parseFloat(O.fontSize || "16") || 16, E = /* @__PURE__ */ new Map(), I = (j) => t.familyOfCss?.(j) ?? j, T = (j) => (B) => { - const W = JSON.stringify([B, j.weight, j.style]); - return E.has(W) || E.set(W, qy(B, r, j)), E.get(W); + const C = r.createRange(); + C.setStart(M.node, M.offset), C.setEnd(S.node, S.offset), y.removeAllRanges(), y.addRange(C); + }, h = () => { + const x = r.defaultView?.getComputedStyle(e) ?? e.style, y = { + family: x.fontFamily || "Helvetica", + weight: x.fontWeight || "400", + style: x.fontStyle || "normal" + }, M = parseFloat(x.fontSize || "16") || 16, S = /* @__PURE__ */ new Map(), C = (z) => t.familyOfCss?.(z) ?? z, N = (z) => (L) => { + const D = JSON.stringify([L, z.weight, z.style]); + return S.has(D) || S.set(D, r0(L, r, z)), S.get(D); }, _ = Array.from(e.querySelectorAll("span, b, strong, i, em")).map( - (j) => { - const B = r.defaultView?.getComputedStyle(j) ?? j.style, W = { - family: B.fontFamily || b.family, - weight: B.fontWeight || b.weight, - style: B.fontStyle || b.style + (z) => { + const L = r.defaultView?.getComputedStyle(z) ?? z.style, D = { + family: L.fontFamily || y.family, + weight: L.fontWeight || y.weight, + style: L.fontStyle || y.style }; return { - node: j, - lineHeight: Nm(W.family, T(W), I).lineHeight + node: z, + lineHeight: Bm(D.family, N(D), C).lineHeight }; } - ), N = T(b), F = Nm(b.family, N, I).lineHeight, R = yD(b.family, v, N, I); - e.style.lineHeight = String(F); - for (const j of _) j.node.style.lineHeight = String(j.lineHeight); - PD(o, R); - }, m = (O, b) => { - const v = b ? p() : null; - SD(o, O, { + ), T = N(y), $ = Bm(y.family, T, C).lineHeight, j = P$(y.family, M, T, C); + e.style.lineHeight = String($); + for (const z of _) z.node.style.lineHeight = String(z.lineHeight); + T$(o, j); + }, m = (x, y) => { + const M = y ? p() : null; + N$(o, x, { scale: c.scale, - cssFontFamily: (E) => t.cssFontFamily(E), + cssFontFamily: (S) => t.cssFontFamily(S), body: c.body - }), g(), l = O, v && h(v); - }, M = () => { - g(); - const O = ED( + }), h(), l = x, M && g(M); + }, O = () => { + h(); + const x = j$( o, c.scale, - t.familyOfCss && ((v) => t.familyOfCss(v) ?? v) + t.familyOfCss && ((M) => t.familyOfCss(M) ?? M) ); - l = O; - const b = t.onInput(O); - b && !sg(b, O) && m(b, !0), f.push(l), f.length > d && f.shift(); - }, x = () => { - u || M(); - }, S = () => { - u = !0; + l = x; + const y = t.onInput(x); + y && !ug(y, x) && m(y, !0), f.push(l), f.length > d && f.shift(); + }, E = () => { + u || O(); }, P = () => { - u = !1, M(), y(); - }, k = (O) => { - if (!(O.metaKey || O.ctrlKey) || O.altKey) return; - const b = O.key.toLowerCase(), v = b === "b" ? "bold" : b === "i" ? "italic" : b === "u" ? "underline" : null; - v && (O.preventDefault(), y(), t.onCommand(v)); - }, A = (O) => { - O.preventDefault(); - const b = O.clipboardData?.getData("text/plain") ?? ""; - r.execCommand("insertText", !1, b); - }, y = () => { - u || i() !== e || t.onSelectionChange(p()); - }; - e.addEventListener("input", x), e.addEventListener("compositionstart", S), e.addEventListener("compositionend", P), e.addEventListener("keydown", k), e.addEventListener("paste", A), r.addEventListener("selectionchange", y), m(n.document, !1); - const w = NF(r, g); - return { - update(O) { - const b = O.scale !== c.scale; - if (c = O, u) return; - const v = f.findIndex((I) => sg(O.document, I)); - v >= 0 && (f = f.slice(v + 1)); - const E = v < 0 && (!l || !sg(O.document, l)); - if (E || b) { - E && (f = []), m(E ? O.document : l, i() === e); + u = !0; + }, k = () => { + u = !1, O(), b(); + }, A = (x) => { + if (!(x.metaKey || x.ctrlKey) || x.altKey) return; + const y = x.key.toLowerCase(), M = y === "b" ? "bold" : y === "i" ? "italic" : y === "u" ? "underline" : null; + M && (x.preventDefault(), b(), t.onCommand(M)); + }, w = (x) => { + x.preventDefault(); + const y = x.clipboardData?.getData("text/plain") ?? ""; + r.execCommand("insertText", !1, y); + }, b = () => { + u || a() !== e || t.onSelectionChange(p()); + }; + e.addEventListener("input", E), e.addEventListener("compositionstart", P), e.addEventListener("compositionend", k), e.addEventListener("keydown", A), e.addEventListener("paste", w), r.addEventListener("selectionchange", b), m(n.document, !1); + const v = BD(r, h); + return { + update(x) { + const y = x.scale !== c.scale; + if (c = x, u) return; + const M = f.findIndex((C) => ug(x.document, C)); + M >= 0 && (f = f.slice(M + 1)); + const S = M < 0 && (!l || !ug(x.document, l)); + if (S || y) { + S && (f = []), m(S ? x.document : l, a() === e); return; } - OD(o, c.body ?? uM, (I) => t.cssFontFamily(I)), g(); + R$(o, c.body ?? BM, (C) => t.cssFontFamily(C)), h(); }, selection: p, - select: h, + select: g, detach() { - w(), e.removeEventListener("input", x), e.removeEventListener("compositionstart", S), e.removeEventListener("compositionend", P), e.removeEventListener("keydown", k), e.removeEventListener("paste", A), r.removeEventListener("selectionchange", y); + v(), e.removeEventListener("input", E), e.removeEventListener("compositionstart", P), e.removeEventListener("compositionend", k), e.removeEventListener("keydown", A), e.removeEventListener("paste", w), r.removeEventListener("selectionchange", b); } }; } -function yM(e) { +function GM(e) { if (!e.pending && !e.loaded) return null; if (e.picture && e.picture.version === e.version && !e.pending) return { kind: "picture", picture: e.picture }; const t = e.paint(); return t ? { kind: "painting", painting: t } : e.picture ? { kind: "picture", picture: e.picture } : null; } -const Rk = { solid: "none", dashed: "4 3" }, Gy = { +const Qk = { solid: "none", dashed: "4 3" }, i0 = { // ── the viewer ── accent: { setting: "viewer.accent", default: "#3858e9" }, "page-background": { setting: "viewer.page.background", default: "#ffffff" }, @@ -15395,7 +15935,7 @@ const Rk = { solid: "none", dashed: "4 3" }, Gy = { "annotation-outline-width": { setting: "annotation.chrome.outline.width", default: "1" }, "annotation-outline-dash": { setting: "annotation.chrome.outline.style", - keywords: Rk, + keywords: Qk, default: "none" }, "annotation-handle-fill": { setting: "annotation.chrome.handles.fill", default: "#ffffff" }, @@ -15423,7 +15963,7 @@ const Rk = { solid: "none", dashed: "4 3" }, Gy = { "annotation-guide-width": { setting: "annotation.chrome.guides.width", default: "1.5" }, "annotation-guide-dash": { setting: "annotation.chrome.guides.style", - keywords: Rk, + keywords: Qk, default: "none" }, "annotation-marquee-fill": { @@ -15489,31 +16029,31 @@ const Rk = { solid: "none", dashed: "4 3" }, Gy = { "font-mono": { default: "ui-monospace, monospace" } }; function Ye(e, t) { - const n = Gy[e], o = String(t), r = n.keywords?.[o] ?? o, s = n.accentPercent === void 0 ? n.follows : void 0; + const n = i0[e], o = String(t), r = n.keywords?.[o] ?? o, s = n.accentPercent === void 0 ? n.follows : void 0; return `var(--epdf-${e}, ${s ? Ye(s, r) : r})`; } -function Vl(e, t) { - const { follows: n, accentPercent: o } = Gy[e]; +function Yl(e, t) { + const { follows: n, accentPercent: o } = i0[e]; return `color-mix(in srgb, ${Ye(n, t)} ${o}%, transparent)`; } -function Gl(e) { - return `var(--epdf-${e}, ${Gy[e].default})`; +function Ql(e) { + return `var(--epdf-${e}, ${i0[e].default})`; } -const wM = "4 3"; -function ND(e, t) { +const YM = "4 3"; +function B$(e, t) { return { - fill: Ye("zoom-box-fill", e.fill ?? Vl("zoom-box-fill", t)), + fill: Ye("zoom-box-fill", e.fill ?? Yl("zoom-box-fill", t)), stroke: Ye("zoom-box-stroke", e.stroke ?? t) }; } -const TD = wM; -function RD(e, t) { +const z$ = YM; +function W$(e, t) { return { - fill: Ye("snapshot-box-fill", e.fill ?? Vl("snapshot-box-fill", t)), + fill: Ye("snapshot-box-fill", e.fill ?? Yl("snapshot-box-fill", t)), stroke: Ye("snapshot-box-stroke", e.stroke ?? t) }; } -function wo(e, t) { +function Uo(e, t) { const n = t.toPixels({ x: e.x, y: e.y }), o = t.toPixels({ x: e.x + e.width, y: e.y + e.height }); return { left: n.x, @@ -15522,56 +16062,56 @@ function wo(e, t) { height: o.y - n.y }; } -function vM(e, t) { +function QM(e, t) { return [e.upperLeft, e.upperRight, e.lowerRight, e.lowerLeft].map( (n) => t.toPixels(n) ); } -function Yy(e) { +function c0(e) { return e.map((t) => `${t.x},${t.y}`).join(" "); } -function LD(e) { +function U$(e) { return e.upperLeft.y === e.upperRight.y && e.lowerLeft.y === e.lowerRight.y && e.upperLeft.x === e.lowerLeft.x; } -function Qy(e, t) { +function l0(e, t) { const n = (o) => { o.stopPropagation(), t?.(o); }; return e.addEventListener("pointerdown", n), () => e.removeEventListener("pointerdown", n); } -function jD(e) { +function K$(e) { const t = (n) => n.stopPropagation(); return e.addEventListener("wheel", t), () => e.removeEventListener("wheel", t); } -function Xy(e, t) { +function u0(e, t) { const n = e.ownerDocument, o = (r) => { r.composedPath().includes(e) || t(r); }; return n.addEventListener("pointerdown", o, !0), () => n.removeEventListener("pointerdown", o, !0); } -const FD = (e, t) => e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height; -function kM(e, t) { - return e === t ? !0 : !e || !t ? !1 : e.page.objectNumber === t.page.objectNumber && FD(e.bounds, t.bounds); +const q$ = (e, t) => e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height; +function XM(e, t) { + return e === t ? !0 : !e || !t ? !1 : e.page.objectNumber === t.page.objectNumber && q$(e.bounds, t.bounds); } -function DD(e, t) { - return e === t ? !0 : !e || !t ? !1 : kM(e, t) && e.rotationHandle?.x === t.rotationHandle?.x && e.rotationHandle?.y === t.rotationHandle?.y; +function H$(e, t) { + return e === t ? !0 : !e || !t ? !1 : XM(e, t) && e.rotationHandle?.x === t.rotationHandle?.x && e.rotationHandle?.y === t.rotationHandle?.y; } -function $D(e, t) { +function V$(e, t) { return e === t ? !0 : !e || !t ? !1 : e.page.objectNumber === t.page.objectNumber && e.at.x === t.at.x && e.at.y === t.at.y && e.angle === t.angle; } -const Du = (e, t) => e.x === t.x && e.y === t.y, Lk = (e, t) => Du(e.upperLeft, t.upperLeft) && Du(e.upperRight, t.upperRight) && Du(e.lowerLeft, t.lowerLeft) && Du(e.lowerRight, t.lowerRight); -function BD(e, t) { - return e === t ? !0 : !e || !t ? !1 : e.start.page.objectNumber === t.start.page.objectNumber && e.end.page.objectNumber === t.end.page.objectNumber && e.start.advance === t.start.advance && e.end.advance === t.end.advance && Lk(e.start.glyphQuad, t.start.glyphQuad) && Lk(e.end.glyphQuad, t.end.glyphQuad); +const zu = (e, t) => e.x === t.x && e.y === t.y, Xk = (e, t) => zu(e.upperLeft, t.upperLeft) && zu(e.upperRight, t.upperRight) && zu(e.lowerLeft, t.lowerLeft) && zu(e.lowerRight, t.lowerRight); +function G$(e, t) { + return e === t ? !0 : !e || !t ? !1 : e.start.page.objectNumber === t.start.page.objectNumber && e.end.page.objectNumber === t.end.page.objectNumber && e.start.advance === t.start.advance && e.end.advance === t.end.advance && Xk(e.start.glyphQuad, t.start.glyphQuad) && Xk(e.end.glyphQuad, t.end.glyphQuad); } -const jk = "‍", zD = (e) => `${e.joinsPrevious ? jk : ""}${e.text}${e.joinsNext ? jk : ""}`; -function WD(e) { +const Zk = "‍", Y$ = (e) => `${e.joinsPrevious ? Zk : ""}${e.text}${e.joinsNext ? Zk : ""}`; +function Q$(e) { const t = /* @__PURE__ */ new Map(), n = (o) => { for (const r of o) r.program && t.set(r.program.family, r.program), r.children && n(r.children); }; return n(e), [...t.values()]; } -function UD(e, t) { +function X$(e, t) { const n = { fill: e.fill ?? "none", stroke: e.stroke ?? "none", @@ -15581,27 +16121,27 @@ function UD(e, t) { }; return e.fillRule !== void 0 && (n["fill-rule"] = e.fillRule), e.width !== void 0 && (n["stroke-width"] = e.width), e.hairline && (n["stroke-width"] = 1, n["vector-effect"] = "non-scaling-stroke"), e.opacity !== void 0 && (n.opacity = e.opacity), e.lineCap !== void 0 && (n["stroke-linecap"] = e.lineCap), e.dash && (n["stroke-dasharray"] = e.dash.join(" ")), n; } -function xM(e, t) { +function ZM(e, t) { return e.map((n) => { - const o = KD(n, t); + const o = Z$(n, t); if (!n.clip) return o; - const { x: r, y: s, width: i, height: a } = n.clip; + const { x: r, y: s, width: a, height: i } = n.clip; return { tag: "svg", attributes: { x: r, y: s, - width: i, - height: a, - viewBox: `${r} ${s} ${i} ${a}`, + width: a, + height: i, + viewBox: `${r} ${s} ${a} ${i}`, overflow: "hidden" }, children: [o] }; }); } -function KD(e, t) { - const n = UD(e.paint, t.miterLimit), o = e.paint.blend ? { "mix-blend-mode": e.paint.blend } : void 0, r = o ? { style: o } : {}; +function Z$(e, t) { + const n = X$(e.paint, t.miterLimit), o = e.paint.blend ? { "mix-blend-mode": e.paint.blend } : void 0, r = o ? { style: o } : {}; switch (e.kind) { case "rect": return { @@ -15675,7 +16215,7 @@ function KD(e, t) { "text-anchor": e.rtl ? "end" : "start", ...n }, - text: zD(e), + text: Y$(e), style: { "white-space": "pre", ...e.plain ? { "font-kerning": "none", "font-variant-ligatures": "none" } : {}, @@ -15685,13 +16225,13 @@ function KD(e, t) { }; } } -function qD(e) { +function J$(e) { return e.width <= 0 || e.height <= 0 ? null : `${e.x} ${e.y} ${e.width} ${e.height}`; } -function AM(e) { +function JM(e) { return Ye("ghost-opacity", e); } -function HD(e, t) { +function eB(e, t) { const n = e.accent ?? t, o = { strokeWidth: Ye("annotation-guide-width", e.guides.width), strokeDasharray: Ye("annotation-guide-dash", e.guides.style) @@ -15724,14 +16264,14 @@ function HD(e, t) { marquee: { fill: Ye( "annotation-marquee-fill", - e.marquee.fill ?? Vl("annotation-marquee-fill", n) + e.marquee.fill ?? Yl("annotation-marquee-fill", n) ), stroke: Ye("annotation-marquee-stroke", e.marquee.stroke ?? n) }, textOutline: Ye("annotation-text-outline", e.textOutline ?? n) }; } -function VD(e, t) { +function tB(e, t) { return e.map((n) => { switch (n.kind) { case "handle": @@ -15749,7 +16289,7 @@ function VD(e, t) { case "obb": return { kind: "turned-outline", - points: Yy(n.corners.map((o) => t.toPixels(o))) + points: c0(n.corners.map((o) => t.toPixels(o))) }; case "rotate-guides": return { @@ -15767,20 +16307,20 @@ function VD(e, t) { from: t.toPixels(n.from) }; case "marquee": - return { kind: "marquee", box: wo(n.rect, t) }; + return { kind: "marquee", box: Uo(n.rect, t) }; case "outline": - return { kind: "outline", box: wo(n.rect, t) }; + return { kind: "outline", box: Uo(n.rect, t) }; } }); } -const Fk = 16; -function SM(e) { - return e > 0 && e < Fk ? Fk / e : 1; +const Jk = 16; +function eE(e) { + return e > 0 && e < Jk ? Jk / e : 1; } -function PM(e) { +function tE(e) { return e === 1 ? null : `scale(${1 / e})`; } -function GD(e, t) { +function nB(e, t) { let n = null, o = null, r = null; const s = { onInput: (c) => n?.ref ? t.draftRichText(n.ref, c) : void 0, @@ -15790,12 +16330,12 @@ function GD(e, t) { onCommand: (c) => void t.text.toggleFormat(c), cssFontFamily: (c) => t.getCssFontFamily(c, n?.id ?? null), familyOfCss: (c) => t.getFamilyOfCss(c) - }, i = (c) => c.stopPropagation(), a = (c) => { + }, a = (c) => c.stopPropagation(), i = (c) => { c.relatedTarget == null && e.isConnected && n && t.getEditingId() === n.id && e.focus(); }; - return e.addEventListener("pointerdown", i), e.addEventListener("blur", a), { + return e.addEventListener("pointerdown", a), e.addEventListener("blur", i), { update(c, l) { - n = c, c && !o ? o = _D(e, s, { + n = c, c && !o ? o = $$(e, s, { document: c.richText, scale: l, body: c.face @@ -15804,23 +16344,23 @@ function GD(e, t) { u !== r && (r = u, e.contentEditable = u ? "true" : "false", u && (e.focus(), e.scrollTop = 0)); }, detach() { - o?.detach(), o = null, e.removeEventListener("pointerdown", i), e.removeEventListener("blur", a); + o?.detach(), o = null, e.removeEventListener("pointerdown", a), e.removeEventListener("blur", i); } }; } -function YD() { +function oB() { let e = null; const t = () => { e?.editor.detach(), e = null; }; return { follow(n, o, r, s) { - e !== null && e.element === n && e.annotation === o || (t(), n && o && (e = { element: n, annotation: o, editor: GD(n, o) })), e?.editor.update(r, s); + e !== null && e.element === n && e.annotation === o || (t(), n && o && (e = { element: n, annotation: o, editor: nB(n, o) })), e?.editor.update(r, s); }, detach: t }; } -function QD(e, t) { +function rB(e, t) { return { fontFamily: e.fontFamily, fontSynthesis: "none", @@ -15832,17 +16372,17 @@ function QD(e, t) { textAlign: e.align }; } -function XD(e, t, n) { - const o = wo(e.box, t), r = e.box.width > 0 ? o.width / e.box.width : 1, s = e.css.padding * r, i = Math.max(0, o.width - 2 * s), a = Math.max(0, o.height - 2 * s), c = SM(e.css.fontSize * r), l = r * c, u = e.rot ? `translate(${i / 2}px, ${a / 2}px) rotate(${e.rot}deg) translate(${-i / 2}px, ${-a / 2}px)` : null; +function sB(e, t, n) { + const o = Uo(e.box, t), r = e.box.width > 0 ? o.width / e.box.width : 1, s = e.css.padding * r, a = Math.max(0, o.width - 2 * s), i = Math.max(0, o.height - 2 * s), c = eE(e.css.fontSize * r), l = r * c, u = e.rot ? `translate(${a / 2}px, ${i / 2}px) rotate(${e.rot}deg) translate(${-a / 2}px, ${-i / 2}px)` : null; return { scale: l, style: { position: "absolute", left: `${o.left + s}px`, top: `${o.top + s}px`, - width: `${i * c}px`, - height: `${a * c}px`, - ...QD(e.css, l), + width: `${a * c}px`, + height: `${i * c}px`, + ...rB(e.css, l), boxSizing: "border-box", background: "transparent", whiteSpace: "pre-wrap", @@ -15851,97 +16391,97 @@ function XD(e, t, n) { overflowY: e.editing ? "auto" : "hidden", outline: e.editing ? `${c}px solid ${n}` : "none", cursor: e.editing ? "text" : "default", - transform: [u, PM(c)].filter(Boolean).join(" ") || "none", + transform: [u, tE(c)].filter(Boolean).join(" ") || "none", transformOrigin: "0 0", pointerEvents: e.editing ? "auto" : "none" } }; } -const Zy = (e) => "for" in e, Md = /* @__PURE__ */ new WeakMap(); -let ZD = 0; -function JD(e, t, n) { +const d0 = (e) => "for" in e, Id = /* @__PURE__ */ new WeakMap(); +let aB = 0; +function iB(e, t, n) { const o = []; for (const r of t) { - if (!Zy(r) || !r.interactive) continue; - let s = Md.get(e); - s || Md.set(e, s = /* @__PURE__ */ new Map()); - let i = s.get(r); - if (!i) { - const c = r.id ?? `renderer:${++ZD}`, l = r.interactive, u = typeof l == "function" ? (f) => l({ annotation: f, toolId: n() }) : () => !0; - i = { + if (!d0(r) || !r.interactive) continue; + let s = Id.get(e); + s || Id.set(e, s = /* @__PURE__ */ new Map()); + let a = s.get(r); + if (!a) { + const c = r.id ?? `renderer:${++aB}`, l = r.interactive, u = typeof l == "function" ? (f) => l({ annotation: f, toolId: n() }) : () => !0; + a = { id: c, count: 0, unregister: e.registerBehavior({ id: c, matches: r.for, engaged: u }) - }, s.set(r, i); + }, s.set(r, a); } - i.count++; - const a = i; + a.count++; + const i = a; o.push(() => { - a.count--, a.count === 0 && (a.unregister(), Md.get(e)?.delete(r)); + i.count--, i.count === 0 && (i.unregister(), Id.get(e)?.delete(r)); }); } return () => o.forEach((r) => r()); } -function e$(e, t) { - return "behavior" in t ? t.behavior : Md.get(e)?.get(t)?.id ?? null; +function cB(e, t) { + return "behavior" in t ? t.behavior : Id.get(e)?.get(t)?.id ?? null; } -function OM(e, t) { - return t?.find((o) => Zy(o) && o.for(e)) ?? null; +function nE(e, t) { + return t?.find((o) => d0(o) && o.for(e)) ?? null; } -function t$(e, t, n, o) { +function lB(e, t, n, o) { const r = t.getBehaviorFor(e); if (r) { - const i = n?.find( - (a) => e$(t, a) === r.id + const a = n?.find( + (i) => cB(t, i) === r.id ); - return i && "behavior" in i ? { kind: "owned", entry: i } : i ? { + return a && "behavior" in a ? { kind: "owned", entry: a } : a ? { kind: "look", - entry: i, + entry: a, interactive: !0, inert: !1 } : { kind: "native", inert: !0 }; } - const s = OM(e, n); + const s = nE(e, n); return s ? { kind: "look", entry: s, interactive: !1, inert: !o } : { kind: "native", inert: !1 }; } -function n$(e, t) { +function uB(e, t) { const n = e.find((o) => o.editing && o.ref !== null); return n?.ref ? t(n.ref) : null; } -function o$(e, t, n, o) { - const r = n?.filter((i) => Zy(i)) ?? []; +function dB(e, t, n, o) { + const r = n?.filter((a) => d0(a)) ?? []; if (r.length === 0) return e; const s = /* @__PURE__ */ new Map(); - for (const i of t) - i.ref !== null && i.annotation && s.set(o(i.ref), i.annotation); - return e.filter((i) => { - const a = i.ref !== null ? s.get(o(i.ref)) : void 0; - return !a || OM(a, r) === null; + for (const a of t) + a.ref !== null && a.annotation && s.set(o(a.ref), a.annotation); + return e.filter((a) => { + const i = a.ref !== null ? s.get(o(a.ref)) : void 0; + return !i || nE(i, r) === null; }); } -function MM(e) { +function oE(e) { const t = new ArrayBuffer(e.bytes.byteLength); new Uint8Array(t).set(e.bytes); const n = new Blob([t], e.mimeType ? { type: e.mimeType } : {}), o = URL.createObjectURL(n); return { url: o, revoke: () => URL.revokeObjectURL(o) }; } -function r$(e, t) { +function fB(e, t) { let n = !1, o = null; return e().then((r) => { - n || !r || (o = MM(r), t(o.url)); + n || !r || (o = oE(r), t(o.url)); }), () => { n = !0, o?.revoke(); }; } -const Rm = (e, t) => `${e}|${t ?? ""}`; -function Jy(e, t, n) { - return e[Rm(t, n ?? "Off")] ?? e[Rm(t, null)] ?? null; +const Wm = (e, t) => `${e}|${t ?? ""}`; +function f0(e, t, n) { + return e[Wm(t, n ?? "Off")] ?? e[Wm(t, null)] ?? null; } -function s$(e, t, n) { - const o = Jy(e, t, n); +function pB(e, t, n) { + const o = f0(e, t, n); return o ? { url: o.url } : null; } -function EM() { +function rE() { let e = []; const t = { replace(n) { @@ -15952,20 +16492,20 @@ function EM() { }; return t; } -function CM(e, t, n, o) { - return i$( +function sE(e, t, n, o) { + return hB( e, t, - (r) => Rm(n(r.ref), r.state), + (r) => Wm(n(r.ref), r.state), o ); } -function i$(e, t, n, o) { +function hB(e, t, n, o) { const r = new AbortController(); let s = []; - const i = () => { + const a = () => { s.forEach((c) => c()), s = []; - }, a = async (c) => { + }, i = async (c) => { const l = await c.image.objectUrl().abortWith(r.signal); if (r.signal.aborted) throw l.revoke(), r.signal.reason; @@ -15973,20 +16513,20 @@ function i$(e, t, n, o) { }; return (async () => { try { - const c = await t(r.signal), l = await Promise.all(c.map(a)); + const c = await t(r.signal), l = await Promise.all(c.map(i)); if (r.signal.aborted) return; const u = {}; c.forEach((f, d) => { u[n(f)] = { url: l[d], box: f.rect, version: f.version }; }), o(u), e.replace(s), s = []; } catch { - r.abort(), i(); + r.abort(), a(); } })(), () => { - r.abort(), i(); + r.abort(), a(); }; } -function a$(e, t) { +function gB(e, t) { const n = new Map(t.map((o) => [o.ref.objectNumber, o])); return e.map((o) => { const r = n.get(o.page.objectNumber); @@ -15997,33 +16537,33 @@ function a$(e, t) { }; }); } -function c$(e, t) { +function mB(e, t) { return { focus: Ye("form-focus", e.focus.color ?? t), border: Ye( "form-field-border", - e.fields.border ?? Vl("form-field-border", t) + e.fields.border ?? Yl("form-field-border", t) ), background: Ye("form-field-background", e.fields.background), text: Ye("form-field-color", e.fields.color) }; } -const e0 = (e, t) => e.box.width > 0 ? t.width / e.box.width : 1; -function IM(e, t) { - const n = e0(e, t); +const p0 = (e, t) => e.box.width > 0 ? t.width / e.box.width : 1; +function aE(e, t) { + const n = p0(e, t); return e.look.fontSize ? e.look.fontSize * n : e.multiline ? 12 * n : Math.max(6, t.height * 0.72); } -function l$(e, t, n, o = 1) { +function bB(e, t, n, o = 1) { return { - fontSize: `${IM(e, t) * o}px`, + fontSize: `${aE(e, t) * o}px`, textAlign: e.look.textAlign, color: e.look.color ?? n.text, background: e.look.background ?? n.background, ...e.comb && e.maxLength ? { letterSpacing: `${t.width / e.maxLength / 2 * o}px` } : {} }; } -function u$(e, t, n, o = null) { - const r = e0(e, t); +function yB(e, t, n, o = null) { + const r = p0(e, t); return { ...o ? { fontFamily: o.fontFamily, fontWeight: o.fontWeight, fontStyle: o.fontStyle } : {}, fontSize: `${(e.look.fontSize || 12) * r}px`, @@ -16035,21 +16575,21 @@ function u$(e, t, n, o = null) { borderColor: e.look.border ?? n.border }; } -function d$(e, t, n) { +function wB(e, t, n) { const o = t.disabled ? void 0 : e.setValue(t.fieldRef, { value: t.kind === "checkbox" && t.checked ? null : t.exportValue }); Promise.resolve(o).then(n, n); } -function f$(e, t, n) { - let o = { focused: !1, draft: n }, r = n, s = !1, i = null; - const a = /* @__PURE__ */ new Set(), c = (u) => { +function vB(e, t, n) { + let o = { focused: !1, draft: n }, r = n, s = !1, a = null; + const i = /* @__PURE__ */ new Set(), c = (u) => { const f = { ...o, ...u }; - f.focused === o.focused && f.draft === o.draft || (o = f, a.forEach((d) => d())); + f.focused === o.focused && f.draft === o.draft || (o = f, i.forEach((d) => d())); }, l = (u) => { - i = u; + a = u; const f = (d) => { - i === u && (i = null, o.focused || c({ draft: d ? u : r })); + a === u && (a = null, o.focused || c({ draft: d ? u : r })); }; e.commitDraftText(t).then( (d) => f(d?.status === "rejected"), @@ -16059,10 +16599,10 @@ function f$(e, t, n) { return { getState: () => o, subscribe(u) { - return a.add(u), () => a.delete(u); + return i.add(u), () => i.delete(u); }, setValue(u) { - r = u, !(o.focused || i !== null && u !== i) && (i = null, c({ draft: u })); + r = u, !(o.focused || a !== null && u !== a) && (a = null, c({ draft: u })); }, focus: () => c({ focused: !0 }), input(u) { @@ -16081,33 +16621,33 @@ function f$(e, t, n) { } }; } -function p$(e) { +function kB(e) { let t = [...e], n = e, o = JSON.stringify(e); - const r = /* @__PURE__ */ new Set(), s = (a) => { - t = [...a], r.forEach((c) => c()); - }, i = () => s(n); + const r = /* @__PURE__ */ new Set(), s = (i) => { + t = [...i], r.forEach((c) => c()); + }, a = () => s(n); return { get: () => t, - subscribe(a) { - return r.add(a), () => r.delete(a); + subscribe(i) { + return r.add(i), () => r.delete(i); }, - setConfirmed(a) { - n = a; - const c = JSON.stringify(a); - c !== o && (o = c, s(a)); + setConfirmed(i) { + n = i; + const c = JSON.stringify(i); + c !== o && (o = c, s(i)); }, - choose(a, c) { - s(a); + choose(i, c) { + s(i); try { - const l = c(a); - l && l.then(void 0, i); + const l = c(i); + l && l.then(void 0, a); } catch { - i(); + a(); } } }; } -const yp = Object.freeze({ +const xp = Object.freeze({ position: "absolute", inset: "0", width: "100%", @@ -16115,7 +16655,7 @@ const yp = Object.freeze({ boxSizing: "border-box", margin: "0" }); -function h$(e, t, n, { edge: o = !0 } = {}) { +function xB(e, t, n, { edge: o = !0 } = {}) { return { position: "absolute", left: `${t.left}px`, @@ -16126,25 +16666,25 @@ function h$(e, t, n, { edge: o = !0 } = {}) { ...o && e.look.border === null ? { boxShadow: `inset 0 0 0 1px ${n.border}` } : {} }; } -function g$(e, t, n, o, r = null) { - const s = e0(e, t), i = SM( - r ? r.fontSize * s : IM(e, t) - ), a = (l) => `${l * i}px`, c = (l) => a(l * s); +function AB(e, t, n, o, r = null) { + const s = p0(e, t), a = eE( + r ? r.fontSize * s : aE(e, t) + ), i = (l) => `${l * a}px`, c = (l) => i(l * s); return { position: "absolute", left: "0", top: "0", - width: `${100 * i}%`, - height: `${100 * i}%`, + width: `${100 * a}%`, + height: `${100 * a}%`, boxSizing: "border-box", margin: "0", - transform: PM(i) ?? "none", + transform: tE(a) ?? "none", transformOrigin: "0 0", border: "none", - outline: o ? `${a(2)} solid ${n.focus}` : "none", - outlineOffset: a(-2), - padding: `0 ${a(2)}`, - ...l$(e, t, n, i), + outline: o ? `${i(2)} solid ${n.focus}` : "none", + outlineOffset: i(-2), + padding: `0 ${i(2)}`, + ...bB(e, t, n, a), ...r ? { fontFamily: r.fontFamily, fontWeight: r.fontWeight, @@ -16167,18 +16707,18 @@ function g$(e, t, n, o, r = null) { ...e.disabled ? { pointerEvents: "none" } : {} }; } -function m$(e, t, n, o = null) { +function SB(e, t, n, o = null) { return { - ...yp, + ...xp, padding: "0", borderRadius: "0", outline: "none", - ...u$(e, t, n, o), + ...yB(e, t, n, o), cursor: e.disabled ? "default" : "pointer", ...e.disabled ? { pointerEvents: "none" } : {} }; } -function b$(e) { +function OB(e) { return { position: "absolute", inset: "0", @@ -16189,33 +16729,33 @@ function b$(e) { pointerEvents: "none" }; } -function y$(e, t) { +function PB(e, t) { return t ? e.filter((n) => !n.attached) : e; } -function w$(e) { +function MB(e) { const t = (e.activate?.root?.next.length ?? 0) > 0; - return e.target.kind !== "uri" || t || e.target.uri === void 0 ? null : Ky(e.target.uri); + return e.target.kind !== "uri" || t || e.target.uri === void 0 ? null : o0(e.target.uri); } -function v$(e, t, n) { +function EB(e, t, n) { return { link: e, - box: wo(e.bounds, t), - href: w$(e), + box: Uo(e.bounds, t), + href: MB(e), label: n(e) }; } -function k$(e) { +function CB(e) { return e.metaKey || e.ctrlKey || e.shiftKey || e.altKey; } -function x$(e, t, n) { +function IB(e, t, n) { return { activate: e.activate, ref: e.ref, page: t, ...n ? { stage: n } : {} }; } -function $u(e, t, n, o) { +function Wu(e, t, n, o) { if (!e || !t.ref) return; const r = { kind: "link", annotation: t.ref, page: n }; e.dispatch({ type: "annotation", event: o, annotation: t.ref, page: n, source: r }); } -function A$(e, t, n) { +function _B(e, t, n) { !e || !t.ref || !t.hoverEvents || e.hover({ ref: t.ref, page: n, @@ -16223,32 +16763,32 @@ function A$(e, t, n) { events: t.hoverEvents }); } -function S$(e, t) { +function NB(e, t) { const { page: n } = t; return e.flatMap( (o) => o.segments.map(({ quad: r }, s) => { - const i = o === t.active, a = i ? t.activeColor : t.color, c = `${o.start}:${s}`; - if (!LD(r)) - return { key: c, hit: o, active: i, fill: a, box: null, points: Yy(vM(r, n)) }; + const a = o === t.active, i = a ? t.activeColor : t.color, c = `${o.start}:${s}`; + if (!U$(r)) + return { key: c, hit: o, active: a, fill: i, box: null, points: c0(QM(r, n)) }; const l = n.toPixels(r.upperLeft), u = n.toPixels(r.lowerRight), f = { left: l.x, top: l.y, width: u.x - l.x, height: u.y - l.y }; - return { key: c, hit: o, active: i, fill: a, box: f, points: null }; + return { key: c, hit: o, active: a, fill: i, box: f, points: null }; }) ); } -const Dk = { mouse: 4, pen: 4, touch: 10 }; -function P$() { +const ex = { mouse: 4, pen: 4, touch: 10 }; +function TB() { let e = null; return { press(t) { e = { x: t.clientX, y: t.clientY, - slop: Dk[t.pointerType] ?? Dk.mouse + slop: ex[t.pointerType] ?? ex.mouse }; }, isClick(t) { @@ -16257,7 +16797,7 @@ function P$() { } }; } -function O$(e) { +function RB(e) { return { space: "overlay", toScreen: (t, n) => e()?.pageRectToViewport(t, n) ?? null, @@ -16275,7 +16815,7 @@ function O$(e) { } }; } -function M$(e, t) { +function LB(e, t) { return { toPagePoint: (n, o) => { const r = t(); @@ -16296,7 +16836,7 @@ function M$(e, t) { } }; } -function E$(e, t, n, o, r, s, i, a) { +function jB(e, t, n, o, r, s, a, i) { return { documentId: e, view: t, @@ -16304,32 +16844,32 @@ function E$(e, t, n, o, r, s, i, a) { pageIndex: o, frame: r, transform: s, - ...a ? { getViewDemand: a } : {}, - ...M$(() => s, i) + ...i ? { getViewDemand: i } : {}, + ...LB(() => s, a) }; } -const $k = [!1, !0].map( +const tx = [!1, !0].map( (e) => [!1, !0].map((t) => Object.freeze({ annotations: e, formFields: t })) -), Bk = /* @__PURE__ */ new WeakMap(); -function wp(e) { - let t = Bk.get(e); - return t || (t = C$(), Bk.set(e, t)), t; +), nx = /* @__PURE__ */ new WeakMap(); +function Ap(e) { + let t = nx.get(e); + return t || (t = FB(), nx.set(e, t)), t; } -function C$() { +function FB() { const e = { annotations: 0, formFields: 0 }, t = /* @__PURE__ */ new Set(); - let n = $k[0][0], o = !1; + let n = tx[0][0], o = !1; const r = () => { - const s = $k[e.annotations > 0 ? 1 : 0][e.formFields > 0 ? 1 : 0]; + const s = tx[e.annotations > 0 ? 1 : 0][e.formFields > 0 ? 1 : 0]; s !== n && (n = s, !o && (o = !0, queueMicrotask(() => { - o = !1, t.forEach((i) => i()); + o = !1, t.forEach((a) => a()); }))); }; return { paint(s) { e[s] += 1, r(); - let i = !1; + let a = !1; return () => { - i || (i = !0, e[s] -= 1, r()); + a || (a = !0, e[s] -= 1, r()); }; }, painted: () => n, @@ -16338,18 +16878,18 @@ function C$() { } }; } -function _M(e, t, n) { +function iE(e, t, n) { return { includeAnnotations: t.annotations ?? (!e.annotations && n.annotations), includeFormFields: t.formFields ?? (!e.formFields && n.formFields) }; } -function I$(e, t) { +function DB(e, t) { const n = []; return t.annotations === !0 && e.annotations && n.push("annotations"), t.formFields === !0 && e.formFields && n.push("formFields"), n; } -function _$(e, t, n) { - const { viewWidth: o, viewHeight: r, contentWidth: s, contentHeight: i, rotation: a } = e; +function $B(e, t, n) { + const { viewWidth: o, viewHeight: r, contentWidth: s, contentHeight: a, rotation: i } = e; return { outer: { left: n ? n.x - t.left : 0, @@ -16360,85 +16900,85 @@ function _$(e, t, n) { shadow: { left: t.left, top: t.top, width: o, height: r }, content: { left: t.left + (o - s) / 2, - top: t.top + (r - i) / 2, + top: t.top + (r - a) / 2, width: s, - height: i + height: a }, - turn: a ? `rotate(${a}deg)` : null + turn: i ? `rotate(${i}deg)` : null }; } -function N$(e, t, n) { +function BB(e, t, n) { const o = e.listVisiblePages().find((r) => r.ref.objectNumber === t); return o ? { desiredDeviceWidth: o.transform.deviceWidth, visibleRect: o.visibleRect } : { desiredDeviceWidth: n, visibleRect: { x: 0, y: 0, width: 0, height: 0 } }; } -function zk(e, t, n, o) { - const r = t ? e.clientHeight : e.clientWidth, s = t ? e.scrollHeight : e.scrollWidth, i = t ? e.scrollTop : e.scrollLeft, a = Math.max(0, s - r), c = Math.min( +function ox(e, t, n, o) { + const r = t ? e.clientHeight : e.clientWidth, s = t ? e.scrollHeight : e.scrollWidth, a = t ? e.scrollTop : e.scrollLeft, i = Math.max(0, s - r), c = Math.min( n, Math.max(o, s > 0 ? r / s * n : 0) - ), l = Math.max(0, n - c), u = a > 0 ? i / a * l : 0; - return { client: r, offset: i, maxOffset: a, thumbLength: c, travel: l, thumbPosition: u }; + ), l = Math.max(0, n - c), u = i > 0 ? a / i * l : 0; + return { client: r, offset: a, maxOffset: i, thumbLength: c, travel: l, thumbPosition: u }; } -const Wk = (e) => Math.min(1, Math.max(0, e)), Uk = (e, t) => { +const rx = (e) => Math.min(1, Math.max(0, e)), sx = (e, t) => { try { e.setPointerCapture(t); } catch { } -}, Bu = (e, t) => { +}, Uu = (e, t) => { const n = t.element.getBoundingClientRect(); return t.vertical ? e.clientY - n.top : e.clientX - n.left; }; -function T$(e) { +function zB(e) { let t = null, n = null, o = 0; const r = () => { n && (clearTimeout(n.timer), clearInterval(n.timer), n = null); - }, s = (i, a, c) => { - t = { grab: i, applied: a, max: c.maxOffset, travel: c.travel }, e(!0); + }, s = (a, i, c) => { + t = { grab: a, applied: i, max: c.maxOffset, travel: c.travel }, e(!0); }; return { - pressThumb(i, a) { - if (i.button !== 0) return; - i.preventDefault(), i.stopPropagation(), Uk(i.target, i.pointerId); - const c = a.layout; - s(Bu(i, a) - c.thumbPosition, c.offset, c); + pressThumb(a, i) { + if (a.button !== 0) return; + a.preventDefault(), a.stopPropagation(), sx(a.target, a.pointerId); + const c = i.layout; + s(Uu(a, i) - c.thumbPosition, c.offset, c); }, - pressTrack(i, a, c) { - if (i.button !== 0 || i.target !== i.currentTarget) return; - i.preventDefault(), Uk(i.currentTarget, i.pointerId); - const l = o = Bu(i, a), { layout: u, stage: f, vertical: d } = a; + pressTrack(a, i, c) { + if (a.button !== 0 || a.target !== a.currentTarget) return; + a.preventDefault(), sx(a.currentTarget, a.pointerId); + const l = o = Uu(a, i), { layout: u, stage: f, vertical: d } = i; if (c === "jump") { - const m = u.travel > 0 ? Wk((l - u.thumbLength / 2) / u.travel) * u.maxOffset : 0; + const m = u.travel > 0 ? rx((l - u.thumbLength / 2) / u.travel) * u.maxOffset : 0; f.scrollTo(d ? { top: m } : { left: m }), s(u.thumbLength / 2, m, u); return; } - const p = l < u.thumbPosition ? -1 : 1, h = () => { - const m = a.liveLayout(); + const p = l < u.thumbPosition ? -1 : 1, g = () => { + const m = i.liveLayout(); if (p === 1 ? o <= m.thumbPosition + m.thumbLength : o >= m.thumbPosition) { r(); return; } - const x = p * m.client * 0.9; - f.scrollBy(d ? { top: x } : { left: x }); + const E = p * m.client * 0.9; + f.scrollBy(d ? { top: E } : { left: E }); }; - h(), n = { timer: window.setTimeout(() => { - n && (n.timer = window.setInterval(h, 80)); + g(), n = { timer: window.setTimeout(() => { + n && (n.timer = window.setInterval(g, 80)); }, 350) }; }, - move(i, a) { + move(a, i) { if (t) { if (t.travel <= 0) return; - const c = Wk((Bu(i, a) - t.grab) / t.travel) * t.max, l = c - t.applied; - l && (a.stage.panBy(a.vertical ? 0 : -l, a.vertical ? -l : 0), t.applied = c); - } else n && (o = Bu(i, a)); + const c = rx((Uu(a, i) - t.grab) / t.travel) * t.max, l = c - t.applied; + l && (i.stage.panBy(i.vertical ? 0 : -l, i.vertical ? -l : 0), t.applied = c); + } else n && (o = Uu(a, i)); }, release() { t = null, r(), e(!1); } }; } -const Ki = { +const Va = { /** A unit (`NormalizedUnit.key`) at one variant. */ unit: (e, t) => `u:${e}@${t}`, /** A group in its collapsed form. */ @@ -16448,7 +16988,7 @@ const Ki = { /** The "More" button. */ overflowTrigger: "t:" }; -function R$() { +function WB() { const e = { horizontal: /* @__PURE__ */ new Map(), vertical: /* @__PURE__ */ new Map() @@ -16461,59 +17001,59 @@ function R$() { metrics(t, n, o) { const r = e[t]; return { - unit: (s, i) => r.get(Ki.unit(s, i)), - groupCollapsed: (s) => r.get(Ki.group(s)), - groupTrigger: (s) => r.get(Ki.groupTrigger(s)), - overflowTrigger: r.get(Ki.overflowTrigger) ?? 32, + unit: (s, a) => r.get(Va.unit(s, a)), + groupCollapsed: (s) => r.get(Va.group(s)), + groupTrigger: (s) => r.get(Va.groupTrigger(s)), + overflowTrigger: r.get(Va.overflowTrigger) ?? 32, gap: n, separator: o + n }; } }; } -function t0(e, t, n) { +function h0(e, t, n) { const o = () => n(e.getBoundingClientRect()[t]); o(); const r = new ResizeObserver(o); return r.observe(e), () => r.disconnect(); } -function n0(e, t) { - return t0(e, "width", t); +function g0(e, t) { + return h0(e, "width", t); } -function L$(e, t) { - return t0(e, "height", t); +function UB(e, t) { + return h0(e, "height", t); } -function NM(e, t, n) { - return t0(e, t === "vertical" ? "height" : "width", n); +function cE(e, t, n) { + return h0(e, t === "vertical" ? "height" : "width", n); } -function TM(e, t) { +function lE(e, t) { const n = e.style.flexGrow; e.style.flexGrow = "0"; const o = e.getBoundingClientRect()[t === "vertical" ? "height" : "width"]; return e.style.flexGrow = n, o; } -function j$(e, t, n) { - const o = () => n(TM(e, t)); +function KB(e, t, n) { + const o = () => n(lE(e, t)); o(); const r = new ResizeObserver(o); return r.observe(e), () => r.disconnect(); } -function F$(e, t, n) { +function qB(e, t, n) { let o = t === "width" ? e.clientWidth : e.clientHeight; n(o); const r = new ResizeObserver((s) => { - const i = s[s.length - 1]?.contentRect[t]; - i === void 0 || Math.abs(o - i) <= 0.5 || (o = i, n(i)); + const a = s[s.length - 1]?.contentRect[t]; + a === void 0 || Math.abs(o - a) <= 0.5 || (o = a, n(a)); }); return r.observe(e), () => r.disconnect(); } -function D$(e, t, n) { - return F$(e, t === "vertical" ? "height" : "width", n); +function HB(e, t, n) { + return qB(e, t === "vertical" ? "height" : "width", n); } -function vp(e) { +function Sp(e) { return e.ownerDocument.defaultView?.getComputedStyle(e).direction === "rtl" ? "rtl" : "ltr"; } -function RM(e, t, n) { +function uE(e, t, n) { if (e === "Home") return "first"; if (e === "End") return "last"; if (t === "vertical") @@ -16521,68 +17061,68 @@ function RM(e, t, n) { const o = n === "rtl" ? "ArrowLeft" : "ArrowRight", r = n === "rtl" ? "ArrowRight" : "ArrowLeft"; return e === o ? "next" : e === r ? "previous" : null; } -function Lm(e, t, n, o, r) { +function Um(e, t, n, o, r) { if (e === "first" || e === "last") { - const i = e === "first" ? 1 : -1; - for (let a = e === "first" ? 0 : n - 1; a >= 0 && a < n; a += i) - if (o(a)) return a; + const a = e === "first" ? 1 : -1; + for (let i = e === "first" ? 0 : n - 1; i >= 0 && i < n; i += a) + if (o(i)) return i; return -1; } const s = e === "next" ? 1 : -1; - for (let i = 1; i <= n; i += 1) { - let a = t + s * i; - if (a < 0 || a >= n) { + for (let a = 1; a <= n; a += 1) { + let i = t + s * a; + if (i < 0 || i >= n) { if (!r) return -1; - a = (a % n + n) % n; + i = (i % n + n) % n; } - if (a === t) return -1; - if (o(a)) return a; + if (i === t) return -1; + if (o(i)) return i; } return -1; } -function $$(e, t) { - const n = t.direction ?? (() => vp(e)), o = t.loop ?? !0; +function VB(e, t) { + const n = t.direction ?? (() => Sp(e)), o = t.loop ?? !0; let r = null; const s = (l) => { - const f = r !== null && l.includes(r) && !ea(r) ? r : l.find((d) => !ea(d)) ?? null; + const f = r !== null && l.includes(r) && !ti(r) ? r : l.find((d) => !ti(d)) ?? null; for (const d of l) { const p = d === f ? 0 : -1; d.tabIndex !== p && (d.tabIndex = p); } - }, i = () => s(t.stops()), a = (l) => { + }, a = () => s(t.stops()), i = (l) => { if (l.defaultPrevented || l.altKey || l.ctrlKey || l.metaKey || l.shiftKey) return; const u = t.stops(), f = l.target, d = u.indexOf(f); - if (d < 0 || BF(f, l.key)) return; - const p = RM(l.key, t.orientation, n()); + if (d < 0 || GD(f, l.key)) return; + const p = uE(l.key, t.orientation, n()); if (!p) return; - const h = Lm( + const g = Um( p, d, u.length, - (m) => !ea(u[m]), + (m) => !ti(u[m]), o ); - if (h < 0) return; + if (g < 0) return; l.preventDefault(); - const g = u[h]; - r = g, s(u), g.focus(); + const h = u[g]; + r = h, s(u), h.focus(); }, c = (l) => { const u = t.stops(), f = l.target; u.includes(f) && (r = f, s(u)); }; - return e.addEventListener("keydown", a), e.addEventListener("focusin", c), i(), { - refresh: i, + return e.addEventListener("keydown", i), e.addEventListener("focusin", c), a(), { + refresh: a, detach() { - e.removeEventListener("keydown", a), e.removeEventListener("focusin", c); + e.removeEventListener("keydown", i), e.removeEventListener("focusin", c); } }; } -const o0 = "data-epdf-toolbar-item"; -function B$(e) { +const m0 = "data-epdf-toolbar-item"; +function GB(e) { const t = []; - for (const n of e.querySelectorAll(`[${o0}]`)) { - const o = zy(n).find((r) => { + for (const n of e.querySelectorAll(`[${m0}]`)) { + const o = e0(n).find((r) => { const s = r.closest('[role="menu"]'); return s === null || !n.contains(s); }); @@ -16590,31 +17130,31 @@ function B$(e) { } return t; } -function z$(e, t) { - return $$(e, { orientation: t, stops: () => B$(e) }); +function YB(e, t) { + return VB(e, { orientation: t, stops: () => GB(e) }); } -const W$ = 500, U$ = '[role="menuitem"], [role="menuitemradio"], [role="menuitemcheckbox"]'; -function K$(e, t, n, o) { - const r = n.toLocaleLowerCase(), i = r.length > 1 && [...r].every((l) => l === r[0]) ? r[0] : r, a = i.length === 1 ? 1 : 0, c = e.length; +const QB = 500, XB = '[role="menuitem"], [role="menuitemradio"], [role="menuitemcheckbox"]'; +function ZB(e, t, n, o) { + const r = n.toLocaleLowerCase(), a = r.length > 1 && [...r].every((l) => l === r[0]) ? r[0] : r, i = a.length === 1 ? 1 : 0, c = e.length; for (let l = 0; l < c; l += 1) { - const u = ((t + a + l) % c + c) % c; - if (o(u) && e[u].toLocaleLowerCase().startsWith(i)) return u; + const u = ((t + i + l) % c + c) % c; + if (o(u) && e[u].toLocaleLowerCase().startsWith(a)) return u; } return -1; } -function q$(e) { +function JB(e) { return (e.getAttribute("aria-label") ?? e.textContent ?? "").trim().replace(/^[^\p{L}\p{N}]+/u, ""); } -function r0(e, t) { - const { trigger: n, close: o } = t, r = t.items ?? (() => [...e.querySelectorAll(U$)]); - let s = "", i = Number.NEGATIVE_INFINITY; - const a = () => { +function b0(e, t) { + const { trigger: n, close: o } = t, r = t.items ?? (() => [...e.querySelectorAll(XB)]); + let s = "", a = Number.NEGATIVE_INFINITY; + const i = () => { const d = r(); for (const p of d) p.tabIndex !== -1 && (p.tabIndex = -1); return d; - }, c = (d) => (p) => !ea(d[p]), l = (d) => { + }, c = (d) => (p) => !ti(d[p]), l = (d) => { if (d.defaultPrevented || d.altKey || d.ctrlKey || d.metaKey) return; - const p = a(), h = p.indexOf(d.target); + const p = i(), g = p.indexOf(d.target); if (d.key === "Escape") { d.preventDefault(), d.stopPropagation(), o(), n?.focus(); return; @@ -16623,21 +17163,21 @@ function r0(e, t) { o(), n?.focus(); return; } - if ((d.key === "Enter" || d.key === " " && s === "") && h >= 0) { - d.preventDefault(), ea(p[h]) || p[h].click(); + if ((d.key === "Enter" || d.key === " " && s === "") && g >= 0) { + d.preventDefault(), ti(p[g]) || p[g].click(); return; } - const g = d.shiftKey ? null : RM(d.key, "vertical", "ltr"); - if (g) { + const h = d.shiftKey ? null : uE(d.key, "vertical", "ltr"); + if (h) { d.preventDefault(); - const m = Lm(g, h, p.length, c(p), !0); + const m = Um(h, g, p.length, c(p), !0); m >= 0 && p[m].focus(); return; } if (d.key.length === 1) { - d.timeStamp - i > W$ && (s = ""), s += d.key, i = d.timeStamp; - const m = p.map(q$), M = K$(m, h, s, c(p)); - M >= 0 && (d.preventDefault(), p[M].focus()); + d.timeStamp - a > QB && (s = ""), s += d.key, a = d.timeStamp; + const m = p.map(JB), O = ZB(m, g, s, c(p)); + O >= 0 && (d.preventDefault(), p[O].focus()); } }, u = (d) => { d.key === " " && !d.defaultPrevented && d.preventDefault(); @@ -16645,34 +17185,34 @@ function r0(e, t) { e.addEventListener("keydown", l), e.addEventListener("keyup", u), n?.setAttribute("aria-expanded", "true"); const f = t.initialFocus ?? "first"; if (f !== "none") { - const d = a(), p = Lm(f, -1, d.length, c(d), !1); + const d = i(), p = Um(f, -1, d.length, c(d), !1); p >= 0 && d[p].focus(); } return () => { e.removeEventListener("keydown", l), e.removeEventListener("keyup", u), n?.setAttribute("aria-expanded", "false"); - const d = go(e.ownerDocument); + const d = mo(e.ownerDocument); n && (d === null || e.contains(d)) && n.focus(); }; } -function LM(e, t) { - if (Hc(e)) return; +function dE(e, t) { + if (qc(e)) return; if (t) { t.focus(); return; } - const n = _m(e)[0]; + const n = $m(e)[0]; if (n) { n.focus(); return; } e.hasAttribute("tabindex") || (e.tabIndex = -1), e.focus(); } -const pc = []; -function H$(e, t = {}) { - const n = e.ownerDocument, o = go(n), r = () => pc[pc.length - 1] === e; - let s = null, i = !1; - const a = (u) => { - const f = _m(e), d = u === "first" ? f[0] : f[f.length - 1]; +const fc = []; +function e9(e, t = {}) { + const n = e.ownerDocument, o = mo(n), r = () => fc[fc.length - 1] === e; + let s = null, a = !1; + const i = (u) => { + const f = $m(e), d = u === "first" ? f[0] : f[f.length - 1]; if (d) { d.focus(); return; @@ -16680,8 +17220,8 @@ function H$(e, t = {}) { e.hasAttribute("tabindex") || (e.tabIndex = -1), e.focus(); }, c = (u) => { if (u.key !== "Tab" || u.defaultPrevented || !r()) return; - const f = _m(e), d = go(n), p = f[0], h = f[f.length - 1], g = d === e || d === p || !p, m = d === h || !h; - (u.shiftKey ? g : m) && (u.preventDefault(), a(u.shiftKey ? "last" : "first")); + const f = $m(e), d = mo(n), p = f[0], g = f[f.length - 1], h = d === e || d === p || !p, m = d === g || !g; + (u.shiftKey ? h : m) && (u.preventDefault(), i(u.shiftKey ? "last" : "first")); }, l = (u) => { if (!r()) return; const f = u.composedPath(); @@ -16690,39 +17230,39 @@ function H$(e, t = {}) { return; } queueMicrotask(() => { - i || !r() || Hc(e) || (s?.isConnected && e.contains(s) ? s.focus() : a("first")); + a || !r() || qc(e) || (s?.isConnected && e.contains(s) ? s.focus() : i("first")); }); }; - return pc.push(e), e.addEventListener("keydown", c), n.addEventListener("focusin", l, !0), LM(e, t.initialFocus), s === null && Hc(e) && (s = go(n)), () => { - i = !0; - const u = pc.lastIndexOf(e); - if (u >= 0 && pc.splice(u, 1), e.removeEventListener("keydown", c), n.removeEventListener("focusin", l, !0), t.returnFocus === !1 || !o?.isConnected) return; - (go(n) === null || Hc(e)) && o.focus(); + return fc.push(e), e.addEventListener("keydown", c), n.addEventListener("focusin", l, !0), dE(e, t.initialFocus), s === null && qc(e) && (s = mo(n)), () => { + a = !0; + const u = fc.lastIndexOf(e); + if (u >= 0 && fc.splice(u, 1), e.removeEventListener("keydown", c), n.removeEventListener("focusin", l, !0), t.returnFocus === !1 || !o?.isConnected) return; + (mo(n) === null || qc(e)) && o.focus(); }; } -const V$ = (e) => e.tagName === "INPUT" || e.tagName === "TEXTAREA", G$ = /* @__PURE__ */ new Set(["ArrowUp", "ArrowLeft"]), Y$ = /* @__PURE__ */ new Set(["ArrowDown", "ArrowRight"]), Q$ = (e) => e.tabIndex >= 0 ? e : e.querySelector("input, textarea, select, button") ?? e; -function X$(e, t, n, o = {}) { +const t9 = (e) => e.tagName === "INPUT" || e.tagName === "TEXTAREA", n9 = /* @__PURE__ */ new Set(["ArrowUp", "ArrowLeft"]), o9 = /* @__PURE__ */ new Set(["ArrowDown", "ArrowRight"]), r9 = (e) => e.tabIndex >= 0 ? e : e.querySelector("input, textarea, select, button") ?? e; +function s9(e, t, n, o = {}) { const r = t.attachFocusTarget(n, { - focus: ({ select: i }) => { - const a = Q$(e); - a.focus({ preventScroll: !0 }), i && V$(a) && a.select(); - } - }), s = (i) => { - if (i.defaultPrevented || i.altKey || i.ctrlKey || i.metaKey) return; - if (i.key === "Tab") { - t.focusNext({ backward: i.shiftKey }) && i.preventDefault(); + focus: ({ select: a }) => { + const i = r9(e); + i.focus({ preventScroll: !0 }), a && t9(i) && i.select(); + } + }), s = (a) => { + if (a.defaultPrevented || a.altKey || a.ctrlKey || a.metaKey) return; + if (a.key === "Tab") { + t.focusNext({ backward: a.shiftKey }) && a.preventDefault(); return; } - if (!o.radio || i.shiftKey) return; - const a = G$.has(i.key); - (a || Y$.has(i.key)) && t.moveInGroup(n, a) && i.preventDefault(); + if (!o.radio || a.shiftKey) return; + const i = n9.has(a.key); + (i || o9.has(a.key)) && t.moveInGroup(n, i) && a.preventDefault(); }; return e.addEventListener("keydown", s), () => { e.removeEventListener("keydown", s), r(); }; } -const Z$ = (e) => e.tagName === "INPUT" || e.tagName === "TEXTAREA"; -function J$() { +const a9 = (e) => e.tagName === "INPUT" || e.tagName === "TEXTAREA"; +function i9() { let e = null, t = 0; return { follow(n, o, r, s = {}) { @@ -16730,70 +17270,70 @@ function J$() { t = 0; return; } - r === t || !n || (t = r, n.focus({ preventScroll: !0 }), s.select && Z$(n) && n.select()); + r === t || !n || (t = r, n.focus({ preventScroll: !0 }), s.select && a9(n) && n.select()); } }; } -const eB = { - copySelection: Wy, - copyImage: rM, - saveFile: gp -}, Kk = /* @__PURE__ */ new Set(); -function jM() { +const c9 = { + copySelection: t0, + copyImage: RM, + saveFile: wp +}, ax = /* @__PURE__ */ new Set(); +function fE() { try { return !1; } catch { return !0; } } -function Yl(e, t) { - !jM() || Kk.has(e) || (Kk.add(e), console.warn(`[embedpdf] ${t}`)); +function Xl(e, t) { + !fE() || ax.has(e) || (ax.add(e), console.warn(`[embedpdf] ${t}`)); } -const FM = Xt(null), tB = Xt(null); -function Mr() { - const e = rt(FM); +const pE = Yt(null), l9 = Yt(null); +function Cr() { + const e = rt(pE); if (!e) throw new Error("useKernel must be used within /"); return e; } -const Do = (e, t) => e === t || e.length === t.length && e.every((n, o) => n === t[o]); -function wt(e, t = Object.is) { - const n = Mr(), o = me(null), r = () => { +const Fo = (e, t) => e === t || e.length === t.length && e.every((n, o) => n === t[o]); +function vt(e, t = Object.is) { + const n = Cr(), o = ye(null), r = () => { const s = e(n); return o.current && t(o.current.v, s) ? o.current.v : (o.current = { v: s }, s); }; - return Uo(n.subscribe, r); + return Wo(n.subscribe, r); } -function nB() { - return wt((e) => e.documents.getActiveId()); +function u9() { + return vt((e) => e.documents.getActiveId()); } -function tn() { - const e = Ko(), t = nB(); +function an() { + const e = Ko(), t = u9(); return e ?? t; } function Ko() { - return rt(tB); + return rt(l9); } -function oB({ fallback: e = null, locked: t, error: n, children: o }) { - const r = mf(); - return r.status === "ready" ? /* @__PURE__ */ C(Te, { children: o }) : r.status === "locked" && t ? /* @__PURE__ */ C(Te, { children: t(r) }) : r.status === "error" && n ? /* @__PURE__ */ C(Te, { children: n(r) }) : /* @__PURE__ */ C(Te, { children: e }); +function d9({ fallback: e = null, locked: t, error: n, children: o }) { + const r = bf(); + return r.status === "ready" ? /* @__PURE__ */ I(Re, { children: o }) : r.status === "locked" && t ? /* @__PURE__ */ I(Re, { children: t(r) }) : r.status === "error" && n ? /* @__PURE__ */ I(Re, { children: n(r) }) : /* @__PURE__ */ I(Re, { children: e }); } function Ge(e) { - const t = Mr(), n = at(e); - return n || (t.scopeOf(e) === "document" ? gF(t, e) : t.capability(e)); + const t = Cr(), n = ct(e); + return n || (t.scopeOf(e) === "document" ? AD(t, e) : t.capability(e)); } -function at(e) { +function ct(e) { const t = Ko(); - return wt((n) => n.tryCapability(e, t ?? void 0)); + return vt((n) => n.tryCapability(e, t ?? void 0)); } -function Xe(e, t, n = Object.is) { - const o = Mr(), r = Ko(), s = at(e) ?? o.capability(e, r ?? void 0), i = me(null), a = () => { +function Ze(e, t, n = Object.is) { + const o = Cr(), r = Ko(), s = ct(e) ?? o.capability(e, r ?? void 0), a = ye(null), i = () => { const c = t(s); - return i.current && n(i.current.v, c) ? i.current.v : (i.current = { v: c }, c); + return a.current && n(a.current.v, c) ? a.current.v : (a.current = { v: c }, c); }; - return Uo(o.subscribe, a); + return Wo(o.subscribe, i); } -function ht(e, t, n, o = Object.is) { - const r = Mr(), s = at(e), i = me(null), a = () => { +function mt(e, t, n, o = Object.is) { + const r = Cr(), s = ct(e), a = ye(null), i = () => { let c; if (s === null) c = n; @@ -16803,118 +17343,118 @@ function ht(e, t, n, o = Object.is) { } catch { c = n; } - return i.current && o(i.current.v, c) ? i.current.v : (i.current = { v: c }, c); + return a.current && o(a.current.v, c) ? a.current.v : (a.current = { v: c }, c); }; - return Uo(r.subscribe, a); + return Wo(r.subscribe, i); } -function s0(e, t, n) { - const o = at(e), r = me(n); +function y0(e, t, n) { + const o = ct(e), r = ye(n); r.current = n; - const s = me(t); + const s = ye(t); s.current = t, Se(() => { if (o) - return s.current(o)((i) => r.current(i)); + return s.current(o)((a) => r.current(a)); }, [o]); } -function i0() { - return Ge(tt); +function w0() { + return Ge(nt); } -function DM(e, t, n, o) { +function hE(e, t, n, o) { const r = Ko(); - return wt((s) => { - const i = s.tryCapability(e, r ?? void 0), a = i ? t(i) : n; - return o ? o(a) : a; - }, Kl); -} -function mf(e) { - return DM(tt, vk.read, vk.empty, e); -} -function kp(e) { - return DM(tt, kk.read, kk.empty, e); -} -const rB = Object.freeze([]); -function sB() { - const e = tn(); - return wt( - (t) => e ? t.documents.listPages(e) : rB + return vt((s) => { + const a = s.tryCapability(e, r ?? void 0), i = a ? t(a) : n; + return o ? o(i) : i; + }, Hl); +} +function bf(e) { + return hE(nt, jk.read, jk.empty, e); +} +function Op(e) { + return hE(nt, Fk.read, Fk.empty, e); +} +const f9 = Object.freeze([]); +function p9() { + const e = an(); + return vt( + (t) => e ? t.documents.listPages(e) : f9 ); } -function hi(e) { - return wt((t) => { +function ma(e) { + return vt((t) => { const n = t.getSettings(); return e ? e(n) : n; - }, Kl); + }, Hl); } -const iB = _O(function({ +const h9 = iM(function({ engine: t, plugins: n, initialDocuments: o, fallback: r, renderError: s, - onReady: i, - identity: a, + onReady: a, + identity: i, scope: c, accent: l, page: u, fetch: f, children: d }, p) { - const h = me({ engine: t, plugins: n, initialDocuments: o }), g = Xj({ identity: a, scope: c, accent: l, page: u }), m = me(g); - m.current = g; - const M = me(!1); - jM() && !M.current && (h.current.engine !== t || h.current.plugins !== n) && (M.current = !0, console.warn( + const g = ye({ engine: t, plugins: n, initialDocuments: o }), h = sD({ identity: i, scope: c, accent: l, page: u }), m = ye(h); + m.current = h; + const O = ye(!1); + fE() && !O.current && (g.current.engine !== t || g.current.plugins !== n) && (O.current = !0, console.warn( "[embedpdf] engine/plugins are init-only. A changed identity is ignored — pass stable references (module scope, useState, or useMemo). An inline `plugins={[...]}` array recreates its identity every render." )); - const [x, S] = ke({ phase: "booting", kernel: null }), P = me(i); - P.current = i; - const k = me(f); - k.current = f, Ey( + const [E, P] = ke({ phase: "booting", kernel: null }), k = ye(a); + k.current = a; + const A = ye(f); + A.current = f, zy( p, - () => x.phase === "ready" ? x.kernel : null, - [x] + () => E.phase === "ready" ? E.kernel : null, + [E] ), Se(() => { - const y = h.current, w = typeof y.engine == "function", O = w ? y.engine() : y.engine; - dl(O) && O.warmup(); - let b; + const b = g.current, v = typeof b.engine == "function", x = v ? b.engine() : b.engine; + ul(x) && x.warmup(); + let y; try { - b = uF({ - engine: O, - plugins: y.plugins, + y = yD({ + engine: x, + plugins: b.plugins, settings: m.current, - clock: kF(), - printer: xF(), - measurer: LF(), - fetch: (E, I) => (k.current ?? globalThis.fetch)(E, I) + clock: CD(), + printer: ID(), + measurer: UD(), + fetch: (S, C) => (A.current ?? globalThis.fetch)(S, C) }); - } catch (E) { - S({ phase: "error", error: E }), w && O.destroy(); + } catch (S) { + P({ phase: "error", error: S }), v && x.destroy(); return; } - let v = !0; - return S({ phase: "booting", kernel: b }), b.start().then( + let M = !0; + return P({ phase: "booting", kernel: y }), y.start().then( () => { - v && (P.current?.(b), S({ phase: "ready", kernel: b }), b.documents.openAll(y.initialDocuments ?? [])); + M && (k.current?.(y), P({ phase: "ready", kernel: y }), y.documents.openAll(b.initialDocuments ?? [])); }, - (E) => { - v && S({ phase: "error", error: E }); + (S) => { + M && P({ phase: "error", error: S }); } ), () => { - v = !1, b.destroy().then(() => { - w && O.destroy(); + M = !1, y.destroy().then(() => { + v && x.destroy(); }); }; }, []); - const A = x.phase === "error" ? null : x.kernel; + const w = E.phase === "error" ? null : E.kernel; return Se(() => { - A?.updateSettings(m.current); - }), x.phase === "error" ? /* @__PURE__ */ C(Te, { children: s ? s(x.error) : null }) : x.kernel ? /* @__PURE__ */ C(FM.Provider, { value: x.kernel, children: x.phase === "ready" ? d : r ?? null }) : null; -}), $M = Xt(null), aB = $M.Provider; + w?.updateSettings(m.current); + }), E.phase === "error" ? /* @__PURE__ */ I(Re, { children: s ? s(E.error) : null }) : E.kernel ? /* @__PURE__ */ I(pE.Provider, { value: E.kernel, children: E.phase === "ready" ? d : r ?? null }) : null; +}), gE = Yt(null), g9 = gE.Provider; function so() { - const e = rt($M); + const e = rt(gE); if (!e) throw new Error("usePage must be used inside or a page"); return e; } -const yn = At("actions", { +const An = St("actions", { hint: "add actionsPlugin() from '@embedpdf/plugin-actions' to your plugins list", // Without a document, an adapter's stand-in rejects these with `not-ready`, as the // capability would; the type asks for every member that returns a promise. @@ -16926,16 +17466,16 @@ const yn = At("actions", { runDocumentVerb: !0, prepareClose: !0 } -}), cB = (e, t) => e === null || t === null ? e === t : e.page.objectNumber === t.page.objectNumber && ie(e.ref) === ie(t.ref); -function a0(e) { +}), m9 = (e, t) => e === null || t === null ? e === t : e.page.objectNumber === t.page.objectNumber && Y(e.ref) === Y(t.ref); +function v0(e) { let t = null, n = null, o = !1; const r = () => { - if (o || cB(t, n)) return; + if (o || m9(t, n)) return; o = !0; - const s = t, i = n; - t = i; - const a = []; - s && s.events?.exit !== !1 && a.push( + const s = t, a = n; + t = a; + const i = []; + s && s.events?.exit !== !1 && i.push( e({ type: "annotation", event: "cursorExit", @@ -16943,15 +17483,15 @@ function a0(e) { page: s.page, ...s.source ? { source: s.source } : {} }) - ), i && i.events?.enter !== !1 && a.push( + ), a && a.events?.enter !== !1 && i.push( e({ type: "annotation", event: "cursorEnter", - annotation: i.ref, - page: i.page, - ...i.source ? { source: i.source } : {} + annotation: a.ref, + page: a.page, + ...a.source ? { source: a.source } : {} }) - ), Promise.allSettled(a).then(() => { + ), Promise.allSettled(i).then(() => { o = !1, r(); }); }; @@ -16964,7 +17504,7 @@ function a0(e) { } }; } -const qk = (e) => { +const ix = (e) => { switch (e.type) { case "activate": return { type: "activate" }; @@ -16975,7 +17515,7 @@ const qk = (e) => { case "document": return { type: "document", event: e.event }; } -}, Hk = (e) => { +}, cx = (e) => { switch (e.type) { case "activate": return "user"; @@ -16985,7 +17525,7 @@ const qk = (e) => { case "document": return "lifecycle"; } -}, lB = { +}, b9 = { policy: { goto: { user: "allow", hover: "allow", lifecycle: "allow" }, named: { user: "allow", hover: "allow", lifecycle: "allow" }, @@ -17001,8 +17541,8 @@ const qk = (e) => { triggers: { document: !0, page: !0, annotation: !0 }, openSequence: "auto", javascript: { enabled: !1, identity: null } -}, Wa = yn; -function uB(e) { +}, zi = An; +function y9(e) { return e.map(({ ref: t, visibleRect: n, transform: o }) => { if (n.width <= 0 || n.height <= 0) return { page: t, role: "near", pixels: 0 }; @@ -17010,30 +17550,30 @@ function uB(e) { return { page: t, role: "visible", visible: n, pixels: Math.round(r) }; }); } -function dB(e, t) { +function w9(e, t) { let n = ""; const o = (r) => { - const s = uB(r), i = fB(s); - i !== n && (n = i, e.doc.setWorkingSet(e.id, s)); + const s = y9(r), a = v9(s); + a !== n && (n = a, e.doc.setWorkingSet(e.id, s)); }; e.watch(() => t.listVisiblePages(), o), o(t.listVisiblePages()); } -function fB(e) { +function v9(e) { return e.map(({ page: t, role: n, visible: o, pixels: r }) => { const s = o ? `${Math.round(o.x)},${Math.round(o.y)},${Math.round(o.width)},${Math.round(o.height)}` : ""; return `${t.objectNumber}:${n}:${r}:${s}`; }).join("|"); } -const BM = "stage"; -function pB(e, t) { +const mE = "stage"; +function k9(e, t) { if (e.watch( () => e.document()?.pagesSequence ?? 0, () => t.refit() - ), dB(e, t), e.id !== BM) return; - const n = e.tryGet(Wa); - n && (hB(e, t, n), gB(e, t, n)); + ), w9(e, t), e.id !== mE) return; + const n = e.tryGet(zi); + n && (x9(e, t, n), A9(e, t, n)); } -function hB(e, t, n) { +function x9(e, t, n) { const o = () => { const r = e.state.get(); return r.placed ? { @@ -17048,7 +17588,7 @@ function hB(e, t, n) { // page-state change and must not produce a report. () => { const r = o(); - return r === null ? "unplaced" : `${r.currentPage?.objectNumber ?? -1}|${r.visiblePages.map((s) => s.objectNumber).sort((s, i) => s - i).join(",")}`; + return r === null ? "unplaced" : `${r.currentPage?.objectNumber ?? -1}|${r.visiblePages.map((s) => s.objectNumber).sort((s, a) => s - a).join(",")}`; }, () => { const r = o(); @@ -17061,7 +17601,7 @@ function hB(e, t, n) { } ); } -function gB(e, t, n) { +function A9(e, t, n) { e.cleanup( n.registerExecutor("goto", (o) => o.type !== "goto" ? { status: "inert", reason: "not a goto node" } : e.getPage(o.destination.page) ? (t.goToDestination(o.destination), { status: "executed" }) : { status: "failed", error: "the destination page is not in this document" }) ), e.cleanup( @@ -17082,14 +17622,14 @@ function gB(e, t, n) { }) ); } -function zM(e) { +function bE(e) { if (e.length === 0) return null; let t = 1 / 0, n = 1 / 0, o = -1 / 0, r = -1 / 0; for (const s of e) t = Math.min(t, s.x), n = Math.min(n, s.y), o = Math.max(o, s.x + s.width), r = Math.max(r, s.y + s.height); return { x: t, y: n, width: o - t, height: r - n }; } -function hl(e, t) { +function pl(e, t) { const n = Math.max(e.x, t.x), o = Math.max(e.y, t.y); return { x: n, @@ -17098,7 +17638,7 @@ function hl(e, t) { height: Math.max(0, Math.min(e.y + e.height, t.y + t.height) - o) }; } -function mB(e, t) { +function S9(e, t) { return { x: Math.min(e.x, t.x), y: Math.min(e.y, t.y), @@ -17106,11 +17646,11 @@ function mB(e, t) { height: Math.abs(t.y - e.y) }; } -function bB(e, t) { - const n = hl(e, t); +function O9(e, t) { + const n = pl(e, t); return n.width > 0 && n.height > 0; } -function yB(e, t) { +function P9(e, t) { if (e.width <= 0 || e.height <= 0) return t; const n = Math.min(t.width / e.width, t.height / e.height), o = e.width * n, r = e.height * n; return { @@ -17120,24 +17660,24 @@ function yB(e, t) { height: r }; } -const c0 = { top: 0, right: 0, bottom: 0, left: 0 }; -function WM(e) { +const k0 = { top: 0, right: 0, bottom: 0, left: 0 }; +function yE(e) { return e === 90 || e === 270; } -function UM(e, t) { +function wE(e, t) { return (e + t) % 360; } -function Vk(e, t) { +function lx(e, t) { return Math.round(e * t) / t; } -function ta(e, t) { - return WM(t) ? { width: e.height, height: e.width } : { width: e.width, height: e.height }; +function ni(e, t) { + return yE(t) ? { width: e.height, height: e.width } : { width: e.width, height: e.height }; } -function wB(e, t) { +function M9(e, t) { return Math.max(1, Math.round(t * e.height / e.width)); } -function vB(e) { - const { pageSize: t, rotation: n, scale: o, dpr: r } = e, s = Math.max(1, Math.round(t.width * o * r)), i = wB(t, s), a = s / t.width, c = { width: s / r, height: i / r }, l = c.width / t.width, u = e.baseScale ?? o, f = u > 0 ? l / u : 1, d = ta(c, n), p = [l, 0, 0, l, 0, 0], h = yf(l, c.width, c.height, n), g = Yk(h), m = (w) => No(p, w), M = Yk(p), x = (w) => No(M, w), S = (w) => No(h, w), P = (w) => No(g, w), k = (w) => bf(h, w), A = (w) => bf(g, w), y = kB(h); +function E9(e) { + const { pageSize: t, rotation: n, scale: o, dpr: r } = e, s = Math.max(1, Math.round(t.width * o * r)), a = M9(t, s), i = s / t.width, c = { width: s / r, height: a / r }, l = c.width / t.width, u = e.baseScale ?? o, f = u > 0 ? l / u : 1, d = ni(c, n), p = [l, 0, 0, l, 0, 0], g = wf(l, c.width, c.height, n), h = dx(g), m = (v) => _o(p, v), O = dx(p), E = (v) => _o(O, v), P = (v) => _o(g, v), k = (v) => _o(h, v), A = (v) => yf(g, v), w = (v) => yf(h, v), b = C9(g); return { rotation: n, viewWidth: d.width, @@ -17145,68 +17685,68 @@ function vB(e) { contentWidth: c.width, contentHeight: c.height, deviceWidth: s, - deviceHeight: i, - renderScale: a, + deviceHeight: a, + renderScale: i, viewScale: l, baseScale: u, zoom: f, toPixels: m, - fromPixels: x, - pageToView: S, - pageToViewRect: k, - viewToPage: P, - viewToPageRect: A, - cssMatrix: y + fromPixels: E, + pageToView: P, + pageToViewRect: A, + viewToPage: k, + viewToPageRect: w, + cssMatrix: b }; } -function Gk(e, t) { - const [n, o, r, s, i, a] = e, [c, l, u, f, d, p] = t; +function ux(e, t) { + const [n, o, r, s, a, i] = e, [c, l, u, f, d, p] = t; return [ n * c + r * l, o * c + s * l, n * u + r * f, o * u + s * f, - n * d + r * p + i, - o * d + s * p + a + n * d + r * p + a, + o * d + s * p + i ]; } -function Yk(e) { - const [t, n, o, r, s, i] = e, a = t * r - n * o; - if (a === 0) throw new Error("Mat2D.invert: non-invertible matrix (det = 0)"); - const c = r / a, l = -n / a, u = -o / a, f = t / a; - return [c, l, u, f, -(c * s + u * i), -(l * s + f * i)]; +function dx(e) { + const [t, n, o, r, s, a] = e, i = t * r - n * o; + if (i === 0) throw new Error("Mat2D.invert: non-invertible matrix (det = 0)"); + const c = r / i, l = -n / i, u = -o / i, f = t / i; + return [c, l, u, f, -(c * s + u * a), -(l * s + f * a)]; } -function No(e, t) { - const [n, o, r, s, i, a] = e; - return { x: n * t.x + r * t.y + i, y: o * t.x + s * t.y + a }; +function _o(e, t) { + const [n, o, r, s, a, i] = e; + return { x: n * t.x + r * t.y + a, y: o * t.x + s * t.y + i }; } -function bf(e, t) { - const n = No(e, { x: t.x, y: t.y }), o = No(e, { x: t.x + t.width, y: t.y }), r = No(e, { x: t.x, y: t.y + t.height }), s = No(e, { x: t.x + t.width, y: t.y + t.height }), i = [n.x, o.x, r.x, s.x], a = [n.y, o.y, r.y, s.y], c = Math.min(...i), l = Math.min(...a); +function yf(e, t) { + const n = _o(e, { x: t.x, y: t.y }), o = _o(e, { x: t.x + t.width, y: t.y }), r = _o(e, { x: t.x, y: t.y + t.height }), s = _o(e, { x: t.x + t.width, y: t.y + t.height }), a = [n.x, o.x, r.x, s.x], i = [n.y, o.y, r.y, s.y], c = Math.min(...a), l = Math.min(...i); return { x: c, y: l, - width: Math.max(...i) - c, - height: Math.max(...a) - l + width: Math.max(...a) - c, + height: Math.max(...i) - l }; } -function kB(e) { - const [t, n, o, r, s, i] = e; - return `matrix(${t}, ${n}, ${o}, ${r}, ${s}, ${i})`; +function C9(e) { + const [t, n, o, r, s, a] = e; + return `matrix(${t}, ${n}, ${o}, ${r}, ${s}, ${a})`; } -function Qk(e, t) { +function fx(e, t) { return [1, 0, 0, 1, e, t]; } -function xB(e) { +function I9(e) { const t = Math.cos(e), n = Math.sin(e); return [t, n, -n, t, 0, 0]; } -function AB(e, t) { - return Gk( - Qk(e.x, e.y), - Gk(xB(t), Qk(-e.x, -e.y)) +function _9(e, t) { + return ux( + fx(e.x, e.y), + ux(I9(t), fx(-e.x, -e.y)) ); } -function yf(e, t, n, o) { +function wf(e, t, n, o) { switch (o) { case 90: return [0, e, -e, 0, n, 0]; @@ -17218,113 +17758,113 @@ function yf(e, t, n, o) { return [e, 0, 0, e, 0, 0]; } } -function KM(e) { +function vE(e) { return [e.upperLeft, e.upperRight, e.lowerLeft, e.lowerRight]; } -function xp(e) { +function Pp(e) { return [e.upperLeft, e.upperRight, e.lowerRight, e.lowerLeft]; } -function SB(e, t) { +function N9(e, t) { return t === "left" ? [e.upperLeft, e.lowerLeft] : [e.upperRight, e.lowerRight]; } -function l0(e) { +function x0(e) { const t = [e.upperLeft.x, e.upperRight.x, e.lowerLeft.x, e.lowerRight.x], n = [e.upperLeft.y, e.upperRight.y, e.lowerLeft.y, e.lowerRight.y], o = Math.min(...t), r = Math.min(...n); return { x: o, y: r, width: Math.max(...t) - o, height: Math.max(...n) - r }; } -function jm(e) { - const t = e.userUnit ?? 1, n = ta(e.size, e.rotation ?? 0); +function Km(e) { + const t = e.userUnit ?? 1, n = ni(e.size, e.rotation ?? 0); return t === 1 ? n : { width: n.width * t, height: n.height * t }; } -const gi = (e) => typeof e == "number" ? { top: e, right: e, bottom: e, left: e } : e, gl = 0.05, Ap = 64, PB = { min: gl, max: Ap }, OB = (e, t) => { - const n = Fn(t, gl, Ap); - return { min: Fn(e, gl, n), max: n }; -}, Rn = (e, t = PB) => Fn(e, t.min, t.max), nn = { +const ba = (e) => typeof e == "number" ? { top: e, right: e, bottom: e, left: e } : e, hl = 0.05, Mp = 64, T9 = { min: hl, max: Mp }, R9 = (e, t) => { + const n = to(t, hl, Mp); + return { min: to(e, hl, n), max: n }; +}, Ln = (e, t = T9) => to(e, t.min, t.max), cn = { Automatic: "automatic", FitPage: "fit-page", FitWidth: "fit-width", /** Fit the whole scene (every page) in view — the construction overview. */ FitAll: "fit-all" -}, Fn = (e, t, n) => Math.min(Math.max(e, t), n), Pc = (e, t) => ({ +}, to = (e, t, n) => Math.min(Math.max(e, t), n), Sc = (e, t) => ({ x: (t.x - e.x) * e.zoom, y: (t.y - e.y) * e.zoom -}), Sp = (e, t) => ({ +}), Ep = (e, t) => ({ x: e.x + t.x / e.zoom, y: e.y + t.y / e.zoom -}), MB = (e, t) => ({ +}), L9 = (e, t) => ({ x: e.x, y: e.y, width: t.width / e.zoom, height: t.height / e.zoom -}), EB = (e, t, n, o) => { - const r = Rn(e.zoom * n, o); +}), j9 = (e, t, n, o) => { + const r = Ln(e.zoom * n, o); return { x: e.x + t.x / e.zoom - t.x / r, y: e.y + t.y / e.zoom - t.y / r, zoom: r }; -}, Xk = (e, t, n) => ({ +}, px = (e, t, n) => ({ x: e.x - t / e.zoom, y: e.y - n / e.zoom, zoom: e.zoom -}), qM = (e, t, n, o, r, s = r) => ({ +}), kE = (e, t, n, o, r, s = r) => ({ near: e - r / o, far: e + t - (n - s) / o, fits: t * o <= n - r - s -}), $o = (e, t, n, o) => { +}), Do = (e, t, n, o) => { if (!o.bounded) return e; - const r = gi(o.padding), s = o.fitAlign ?? { x: "center", y: "center" }, i = (c, l, u, f, d, p, h) => { - const g = qM(l, u, f, e.zoom, p, h); - return g.fits ? d === "start" ? g.near : d === "end" ? g.far : (g.near + g.far) / 2 : Fn(c, g.near, g.far); - }, a = o.direction === "rtl" && s.x !== "center" ? s.x === "start" ? "end" : "start" : s.x; + const r = ba(o.padding), s = o.fitAlign ?? { x: "center", y: "center" }, a = (c, l, u, f, d, p, g) => { + const h = kE(l, u, f, e.zoom, p, g); + return h.fits ? d === "start" ? h.near : d === "end" ? h.far : (h.near + h.far) / 2 : to(c, h.near, h.far); + }, i = o.direction === "rtl" && s.x !== "center" ? s.x === "start" ? "end" : "start" : s.x; return { zoom: e.zoom, - x: i(e.x, t.x, t.width, n.width, a, r.left, r.right), - y: i(e.y, t.y, t.height, n.height, s.y, r.top, r.bottom) - }; -}, CB = (e, t, n, o) => { - const r = gi(o), s = (c, l, u, f, d, p) => { - const h = Math.min(l - d / e.zoom, c), m = (Math.max(l + u + p / e.zoom, c + f / e.zoom) - h) * e.zoom; - return { offset: (c - h) * e.zoom, total: m, scrollable: m > f + 0.5 }; - }, i = s(e.x, t.x, t.width, n.width, r.left, r.right), a = s(e.y, t.y, t.height, n.height, r.top, r.bottom); - return { - scrollLeft: i.offset, - scrollTop: a.offset, - scrollWidth: i.total, - scrollHeight: a.total, + x: a(e.x, t.x, t.width, n.width, i, r.left, r.right), + y: a(e.y, t.y, t.height, n.height, s.y, r.top, r.bottom) + }; +}, F9 = (e, t, n, o) => { + const r = ba(o), s = (c, l, u, f, d, p) => { + const g = Math.min(l - d / e.zoom, c), m = (Math.max(l + u + p / e.zoom, c + f / e.zoom) - g) * e.zoom; + return { offset: (c - g) * e.zoom, total: m, scrollable: m > f + 0.5 }; + }, a = s(e.x, t.x, t.width, n.width, r.left, r.right), i = s(e.y, t.y, t.height, n.height, r.top, r.bottom); + return { + scrollLeft: a.offset, + scrollTop: i.offset, + scrollWidth: a.total, + scrollHeight: i.total, clientWidth: n.width, clientHeight: n.height, - scrollableX: i.scrollable, - scrollableY: a.scrollable + scrollableX: a.scrollable, + scrollableY: i.scrollable }; -}, IB = (e, t, n, o, r) => { - const s = gi(o), i = (a, c, l, u, f, d, p) => { - if (a === void 0) return c; - const h = Math.min(l - d / e.zoom, c), g = Math.max(l + u + p / e.zoom, c + f / e.zoom), m = Math.max(0, (g - h) * e.zoom - f); - return h + Fn(a, 0, m) / e.zoom; +}, D9 = (e, t, n, o, r) => { + const s = ba(o), a = (i, c, l, u, f, d, p) => { + if (i === void 0) return c; + const g = Math.min(l - d / e.zoom, c), h = Math.max(l + u + p / e.zoom, c + f / e.zoom), m = Math.max(0, (h - g) * e.zoom - f); + return g + to(i, 0, m) / e.zoom; }; return { zoom: e.zoom, - x: i(r.left, e.x, t.x, t.width, n.width, s.left, s.right), - y: i(r.top, e.y, t.y, t.height, n.height, s.top, s.bottom) + x: a(r.left, e.x, t.x, t.width, n.width, s.left, s.right), + y: a(r.top, e.y, t.y, t.height, n.height, s.top, s.bottom) }; }; -function _B(e, t, n, o = 0, r = { x: "start", y: "start" }, s = "ltr") { - const i = gi(o), a = (l, u, f, d, p, h) => { +function $9(e, t, n, o = 0, r = { x: "start", y: "start" }, s = "ltr") { + const a = ba(o), i = (l, u, f, d, p, g) => { if (l === "start") return u - p / n; - if (l === "end") return u + f - (d - h) / n; - const g = l === "center" ? 0.5 : Fn(l, 0, 1); - return u + f / 2 - (d * g + (p - h) / 2) / n; + if (l === "end") return u + f - (d - g) / n; + const h = l === "center" ? 0.5 : to(l, 0, 1); + return u + f / 2 - (d * h + (p - g) / 2) / n; }, c = s === "rtl" && r.x === "start" ? "end" : s === "rtl" && r.x === "end" ? "start" : r.x; return { zoom: n, - x: a(c, e.x, e.width, t.width, i.left, i.right), - y: a(r.y, e.y, e.height, t.height, i.top, i.bottom) + x: i(c, e.x, e.width, t.width, a.left, a.right), + y: i(r.y, e.y, e.height, t.height, a.top, a.bottom) }; } -function NB(e, t, n, o = 0) { - const r = gi(o), s = (i, a, c, l, u, f) => { - const d = a + c - (l - f) / e.zoom, p = a - u / e.zoom; - return d > p ? p : Fn(i, d, p); +function B9(e, t, n, o = 0) { + const r = ba(o), s = (a, i, c, l, u, f) => { + const d = i + c - (l - f) / e.zoom, p = i - u / e.zoom; + return d > p ? p : to(a, d, p); }; return { zoom: e.zoom, @@ -17332,28 +17872,28 @@ function NB(e, t, n, o = 0) { y: s(e.y, t.y, t.height, n.height, r.top, r.bottom) }; } -function wf(e, t, n, o = 0, r) { - if ("level" in e) return Rn(e.level, r); - if ("pageWidth" in e) return Rn(e.pageWidth / t.width, r); - if ("pageHeight" in e) return Rn(e.pageHeight / t.height, r); - const s = gi(o), i = Math.max(1, n.width - s.left - s.right) / t.width, a = Math.max(1, n.height - s.top - s.bottom) / t.height; +function vf(e, t, n, o = 0, r) { + if ("level" in e) return Ln(e.level, r); + if ("pageWidth" in e) return Ln(e.pageWidth / t.width, r); + if ("pageHeight" in e) return Ln(e.pageHeight / t.height, r); + const s = ba(o), a = Math.max(1, n.width - s.left - s.right) / t.width, i = Math.max(1, n.height - s.top - s.bottom) / t.height; switch (e.mode) { - case nn.FitWidth: - return Rn(i, r); - case nn.FitPage: - case nn.FitAll: - return Rn(Math.min(i, a), r); - case nn.Automatic: + case cn.FitWidth: + return Ln(a, r); + case cn.FitPage: + case cn.FitAll: + return Ln(Math.min(a, i), r); + case cn.Automatic: default: - return Rn(Math.min(i, 1), r); + return Ln(Math.min(a, 1), r); } } -function Pp(e, t) { +function Cp(e, t) { const n = e.nearestItem(t); let o = n.pages[0], r = 1 / 0; for (const s of n.pages) { - const i = Math.abs(s.x + s.width / 2 - t.x); - i < r && (r = i, o = s); + const a = Math.abs(s.x + s.width / 2 - t.x); + a < r && (r = a, o = s); } return { pageIndex: o.pageIndex, @@ -17361,24 +17901,24 @@ function Pp(e, t) { fractionY: (t.y - o.y) / o.height }; } -function vf(e, t, n, o) { +function kf(e, t, n, o) { const r = t.items[t.itemOfPage(e.pageIndex)]; let s = r.pages[0]; - for (const a of r.pages) - a.pageIndex === e.pageIndex && (s = a); - const i = { + for (const i of r.pages) + i.pageIndex === e.pageIndex && (s = i); + const a = { x: s.x + e.fractionX * s.width, y: s.y + e.fractionY * s.height }; - return { zoom: o, x: i.x - n.x / o, y: i.y - n.y / o }; + return { zoom: o, x: a.x - n.x / o, y: a.y - n.y / o }; } -function HM(e, t, n, o) { - return Pp(t, Sp(e, o ?? { x: n.width / 2, y: n.height / 2 })); +function xE(e, t, n, o) { + return Cp(t, Ep(e, o ?? { x: n.width / 2, y: n.height / 2 })); } -function TB(e, t, n, o, r) { - return vf(e, t, r ?? { x: n.width / 2, y: n.height / 2 }, o); +function z9(e, t, n, o, r) { + return kf(e, t, r ?? { x: n.width / 2, y: n.height / 2 }, o); } -function VM(e, t) { +function AE(e, t) { let n = 0, o = e.length; for (; n < o; ) { const r = n + o >> 1; @@ -17386,7 +17926,7 @@ function VM(e, t) { } return n; } -function na(e, t) { +function gl(e, t) { let n = 0, o = e.length; for (; n < o; ) { const r = n + o >> 1; @@ -17394,40 +17934,49 @@ function na(e, t) { } return n; } -const Zk = 2; -function GM(e, t, n) { +function SE(e, t) { + const n = new Int32Array(t).fill(-1); + for (const r of e) for (const s of r.pageIndexes) n[s] = r.index; + const o = e.map((r) => r.pageIndexes[0]); + return (r) => { + const s = n[r] ?? -1; + return s >= 0 ? s : to(gl(o, r) - 1, 0, e.length - 1); + }; +} +const hx = 2; +function OE(e, t, n) { let o = 0, r = 0; for (let s = 0; s < t.length; s++) { - const i = jm(e[t[s]]); - o += i.width + (s > 0 ? n : 0), i.height > r && (r = i.height); + const a = Km(e[t[s]]); + o += a.width + (s > 0 ? n : 0), a.height > r && (r = a.height); } return { width: o, height: r }; } -function YM(e, t, n, o, r, s) { - let i = 0; +function PE(e, t, n, o, r, s) { + let a = 0; for (let f = 0; f < t.length; f++) - i = Math.max(i, jm(e[t[f]]).height * n); - const a = []; + a = Math.max(a, Km(e[t[f]]).height * n); + const i = []; let c = 0; for (let f = 0; f < t.length; f++) { - const d = jm(e[t[f]]), p = d.width * n, h = d.height * n; - a.push({ + const d = Km(e[t[f]]), p = d.width * n, g = d.height * n; + i.push({ pageIndex: t[f], lx: c + r.left, - ly: r.top + (i - h) / 2, + ly: r.top + (a - g) / 2, // page centers within the inner band w: p, - h, + h: g, rotation: e[t[f]].rotation ?? 0, userUnit: e[t[f]].userUnit ?? 1 }), c += r.left + p + r.right + o * n; } - const l = Math.max(0, c - o * n), u = r.top + i + r.bottom; + const l = Math.max(0, c - o * n), u = r.top + a + r.bottom; if (s === "rtl") - for (const f of a) f.lx = l - f.lx - f.w + (r.left - r.right); - return { local: a, width: l, height: u }; + for (const f of i) f.lx = l - f.lx - f.w + (r.left - r.right); + return { local: i, width: l, height: u }; } -function QM(e, t, n) { +function ME(e, t, n) { return t.map((o) => ({ pageIndex: o.pageIndex, x: e.x + o.lx, @@ -17441,111 +17990,106 @@ function QM(e, t, n) { contentScale: n * o.userUnit })); } -const XM = (e, t, n, o = 1) => (n === "uniform" && e > 0 ? t / e : 1) * o; -function RB(e, t, n = {}) { - const o = n.gap ?? 16, r = (n.axis ?? "y") === "y", s = n.align ?? "center", i = n.sizing ?? "intrinsic", a = n.direction ?? "ltr", c = !r && a === "rtl", l = n.pageFrame ?? c0, u = t.map((b) => GM(e, b, o)), f = (b) => r ? b.width : b.height, d = u.reduce((b, v) => Math.max(b, f(v)), 0), p = new Array(t.length), h = new Array(t.length), g = new Array(t.length); - let m = 0, M = 0, x = 0, S = 0; - for (let b = 0; b < t.length; b++) { - const v = XM(f(u[b]), d, i, n.viewUnitsPerPoint), E = YM(e, t[b], v, o, l, a), { width: I, height: T } = E; - g[b] = v, h[b] = E.local; - const _ = { - index: b, +const EE = (e, t, n, o = 1) => (n === "uniform" && e > 0 ? t / e : 1) * o; +function W9(e, t, n = {}) { + const o = n.gap ?? 16, r = (n.axis ?? "y") === "y", s = n.align ?? "center", a = n.sizing ?? "intrinsic", i = n.direction ?? "ltr", c = !r && i === "rtl", l = n.pageFrame ?? k0, u = t.map((x) => OE(e, x, o)), f = (x) => r ? x.width : x.height, d = u.reduce((x, y) => Math.max(x, f(y)), 0), p = new Array(t.length), g = new Array(t.length), h = new Array(t.length); + let m = 0, O = 0, E = 0, P = 0; + for (let x = 0; x < t.length; x++) { + const y = EE(f(u[x]), d, a, n.viewUnitsPerPoint), M = PE(e, t[x], y, o, l, i), { width: S, height: C } = M; + h[x] = y, g[x] = M.local; + const N = { + index: x, x: 0, y: 0, - width: I, - height: T, - pageIndexes: t[b], + width: S, + height: C, + pageIndexes: t[x], pages: [] }; - r ? (_.y = m, m += T + o) : (_.x = m, m += I + o), M = Math.max(M, r ? I : T), x = Math.max(x, I), S = Math.max(S, T), p[b] = _; - } - const P = Math.max(0, m - o), k = r ? { width: M, height: P } : { width: P, height: M }; - for (let b = 0; b < p.length; b++) { - const v = p[b]; - c && (v.x = k.width - v.x - v.width), r ? v.x = s === "center" ? (k.width - v.width) / 2 : 0 : v.y = s === "center" ? (k.height - v.height) / 2 : 0, v.pages = QM(v, h[b], g[b]); - } - const A = (b) => c ? p.length - 1 - b : b, y = p.map((b, v) => { - const E = p[A(v)]; - return r ? E.y : E.x; - }), w = p.map((b, v) => { - const E = p[A(v)]; - return r ? E.y + E.height : E.x + E.width; - }), O = p.map((b) => b.pageIndexes[0]); - return { - size: k, + r ? (N.y = m, m += C + o) : (N.x = m, m += S + o), O = Math.max(O, r ? S : C), E = Math.max(E, S), P = Math.max(P, C), p[x] = N; + } + const k = Math.max(0, m - o), A = r ? { width: O, height: k } : { width: k, height: O }; + for (let x = 0; x < p.length; x++) { + const y = p[x]; + c && (y.x = A.width - y.x - y.width), r ? y.x = s === "center" ? (A.width - y.width) / 2 : 0 : y.y = s === "center" ? (A.height - y.height) / 2 : 0, y.pages = ME(y, g[x], h[x]); + } + const w = (x) => c ? p.length - 1 - x : x, b = p.map((x, y) => { + const M = p[w(y)]; + return r ? M.y : M.x; + }), v = p.map((x, y) => { + const M = p[w(y)]; + return r ? M.y + M.height : M.x + M.width; + }); + return { + size: A, items: p, itemCount: p.length, axis: r ? "y" : "x", - maxItemSize: { width: x, height: S }, - query(b) { - const v = r ? b.y : b.x, E = r ? b.y + b.height : b.x + b.width, I = Math.max(0, VM(w, v) - Zk), T = Math.min(p.length, na(y, E) + Zk), _ = []; - for (let N = I; N < T; N++) _.push(p[A(N)]); - return _; + maxItemSize: { width: E, height: P }, + query(x) { + const y = r ? x.y : x.x, M = r ? x.y + x.height : x.x + x.width, S = Math.max(0, AE(v, y) - hx), C = Math.min(p.length, gl(b, M) + hx), N = []; + for (let _ = S; _ < C; _++) N.push(p[w(_)]); + return N; }, - nearestItem(b) { - const v = Fn(na(y, r ? b.y : b.x) - 1, 0, p.length - 1); - return p[A(v)]; - }, - itemOfPage(b) { - return Fn(na(O, b) - 1, 0, p.length - 1); - } - }; -} -function LB(e, t, n = {}) { - const o = n.gap ?? 48, r = t.length, s = n.sizing ?? "intrinsic", i = n.direction ?? "ltr", a = n.pageFrame ?? c0, c = t.map((v) => GM(e, v, o)), l = c.reduce((v, E) => Math.max(v, E.width), 0), u = new Array(r), f = new Array(r), d = new Array(r); - let p = 1, h = 1; - for (let v = 0; v < r; v++) { - const E = XM(c[v].width, l, s, n.viewUnitsPerPoint), I = YM(e, t[v], E, o, a, i); - d[v] = E, u[v] = I.local, f[v] = { width: I.width, height: I.height }, p = Math.max(p, f[v].width), h = Math.max(h, f[v].height); - } - const g = n.lineWidth !== void 0 ? Math.floor((n.lineWidth + o) / (p + o)) : n.columns ?? Math.ceil(Math.sqrt(r)), m = Math.max(1, Math.min(g, Math.max(1, r))), M = (v) => i === "rtl" ? m - 1 - v : v, x = p + o, S = Math.max(1, Math.ceil(r / m)), P = new Array(S).fill(1); - for (let v = 0; v < r; v++) { - const E = Math.floor(v / m); - P[E] = Math.max(P[E], f[v].height); - } - const k = new Array(S); - let A = 0; - for (let v = 0; v < S; v++) - k[v] = A, A += P[v] + o; - const y = k.map((v, E) => v + P[E]), w = new Array(r); - for (let v = 0; v < r; v++) { - const E = M(v % m), I = Math.floor(v / m), T = { - index: v, - x: E * x + (p - f[v].width) / 2, - y: k[I] + (P[I] - f[v].height) / 2, - width: f[v].width, - height: f[v].height, - pageIndexes: t[v], + nearestItem(x) { + const y = to(gl(b, r ? x.y : x.x) - 1, 0, p.length - 1); + return p[w(y)]; + }, + itemOfPage: SE(p, e.length) + }; +} +function U9(e, t, n = {}) { + const o = n.gap ?? 48, r = t.length, s = n.sizing ?? "intrinsic", a = n.direction ?? "ltr", i = n.pageFrame ?? k0, c = t.map((y) => OE(e, y, o)), l = c.reduce((y, M) => Math.max(y, M.width), 0), u = new Array(r), f = new Array(r), d = new Array(r); + let p = 1, g = 1; + for (let y = 0; y < r; y++) { + const M = EE(c[y].width, l, s, n.viewUnitsPerPoint), S = PE(e, t[y], M, o, i, a); + d[y] = M, u[y] = S.local, f[y] = { width: S.width, height: S.height }, p = Math.max(p, f[y].width), g = Math.max(g, f[y].height); + } + const h = n.lineWidth !== void 0 ? Math.floor((n.lineWidth + o) / (p + o)) : n.columns ?? Math.ceil(Math.sqrt(r)), m = Math.max(1, Math.min(h, Math.max(1, r))), O = (y) => a === "rtl" ? m - 1 - y : y, E = p + o, P = Math.max(1, Math.ceil(r / m)), k = new Array(P).fill(1); + for (let y = 0; y < r; y++) { + const M = Math.floor(y / m); + k[M] = Math.max(k[M], f[y].height); + } + const A = new Array(P); + let w = 0; + for (let y = 0; y < P; y++) + A[y] = w, w += k[y] + o; + const b = A.map((y, M) => y + k[M]), v = new Array(r); + for (let y = 0; y < r; y++) { + const M = O(y % m), S = Math.floor(y / m), C = { + index: y, + x: M * E + (p - f[y].width) / 2, + y: A[S] + (k[S] - f[y].height) / 2, + width: f[y].width, + height: f[y].height, + pageIndexes: t[y], pages: [] }; - T.pages = QM(T, u[v], d[v]), w[v] = T; + C.pages = ME(C, u[y], d[y]), v[y] = C; } - const O = { width: m * x - o, height: Math.max(1, A - o) }, b = w.map((v) => v.pageIndexes[0]); return { - size: O, - items: w, + size: { width: m * E - o, height: Math.max(1, w - o) }, + items: v, itemCount: r, axis: "grid", - maxItemSize: { width: p, height: h }, - query(v) { - const E = Math.max(0, Math.floor(v.x / x)), I = Math.min(m - 1, Math.floor((v.x + v.width) / x)), T = Math.max(0, VM(y, v.y)), _ = Math.min(S - 1, na(k, v.y + v.height) - 1), N = []; - for (let F = T; F <= _; F++) - for (let R = E; R <= I; R++) { - const j = F * m + M(R); - j < r && N.push(w[j]); + maxItemSize: { width: p, height: g }, + query(y) { + const M = Math.max(0, Math.floor(y.x / E)), S = Math.min(m - 1, Math.floor((y.x + y.width) / E)), C = Math.max(0, AE(b, y.y)), N = Math.min(P - 1, gl(A, y.y + y.height) - 1), _ = []; + for (let T = C; T <= N; T++) + for (let $ = M; $ <= S; $++) { + const j = T * m + O($); + j < r && _.push(v[j]); } - return N; + return _; }, - nearestItem(v) { - const E = Fn(Math.floor(v.x / x), 0, m - 1), I = Fn(na(k, v.y) - 1, 0, S - 1); - return w[Fn(I * m + M(E), 0, r - 1)]; + nearestItem(y) { + const M = to(Math.floor(y.x / E), 0, m - 1), S = to(gl(A, y.y) - 1, 0, P - 1); + return v[to(S * m + O(M), 0, r - 1)]; }, - itemOfPage(v) { - return Fn(na(b, v) - 1, 0, r - 1); - } + itemOfPage: SE(v, e.length) }; } -function jB(e, t = "none") { +function K9(e, t = "none") { const n = []; if (t === "none") { for (let r = 0; r < e; r++) n.push([r]); @@ -17555,136 +18099,136 @@ function jB(e, t = "none") { for (t === "even" && e > 0 && n.push([o++]); o < e; o += 2) n.push(o + 1 < e ? [o, o + 1] : [o]); return n; } -const ZM = 0.55, FB = 0.998, JM = 0.02, ig = 0.015, DB = (e, t) => (1 - 1 / (e * ZM / t + 1)) * t, $B = (e, t) => e * t / (ZM * (t - e)), BB = (e, t, n) => { - const o = Math.pow(FB, n), r = e + t * (n * (1 + o) / 2), s = t * o; - return Math.abs(s) < JM ? { position: r, velocity: 0, done: !0 } : { position: r, velocity: s, done: !1 }; -}, zB = (e, t, n, o) => { - const r = t + (-ig * ig * (e - n) - 2 * ig * t) * o, s = e + r * o; +const CE = 0.55, q9 = 0.998, IE = 0.02, dg = 0.015, H9 = (e, t) => (1 - 1 / (e * CE / t + 1)) * t, V9 = (e, t) => e * t / (CE * (t - e)), G9 = (e, t, n) => { + const o = Math.pow(q9, n), r = e + t * (n * (1 + o) / 2), s = t * o; + return Math.abs(s) < IE ? { position: r, velocity: 0, done: !0 } : { position: r, velocity: s, done: !1 }; +}, Y9 = (e, t, n, o) => { + const r = t + (-dg * dg * (e - n) - 2 * dg * t) * o, s = e + r * o; return Math.abs(s - n) < 0.5 && Math.abs(r) < 0.01 ? { position: n, velocity: 0, done: !0 } : { position: s, velocity: r, done: !1 }; -}, Jk = (e) => 1 - Math.pow(1 - e, 3), WB = (e, t, n) => e * Math.pow(t / e, n), ex = 240, ag = (e, t, n) => e + (t - e) * n; -function UB({ events: e, clock: t, scene: n }, o) { - const { motionEnded: r } = e, { camera: s, viewport: i, buildScene: a, stayBounds: c, constraint: l } = n, { writeCamera: u, writeCameraUnclamped: f, axisTravels: d, syncCursorFromCamera: p } = o; - let h = null; - const g = () => { - h?.(), h = null; +}, gx = (e) => 1 - Math.pow(1 - e, 3), Q9 = (e, t, n) => e * Math.pow(t / e, n), mx = 240, fg = (e, t, n) => e + (t - e) * n; +function X9({ events: e, clock: t, scene: n }, o) { + const { motionEnded: r } = e, { camera: s, viewport: a, buildScene: i, stayBounds: c, constraint: l } = n, { writeCamera: u, writeCameraUnclamped: f, axisTravels: d, syncCursorFromCamera: p } = o; + let g = null; + const h = () => { + g?.(), g = null; }, m = () => { - h = null, r.emit({ camera: s() }); + g = null, r.emit({ camera: s() }); }; return { - cancelAnimation: g, - animateTo: (P, k, A = ex, y) => { + cancelAnimation: h, + animateTo: (k, A, w = mx, b) => { if (!t.hasFrames) { - u(P, k), y?.(); + u(k, A), b?.(); return; } - g(); - const w = s(); - let O = !1, b = 0; - const v = (E) => { - O || (O = !0, b = E); - const I = Jk(Math.min(1, (E - b) / A)); + h(); + const v = s(); + let x = !1, y = 0; + const M = (S) => { + x || (x = !0, y = S); + const C = gx(Math.min(1, (S - y) / w)); u( { - x: ag(w.x, P.x, I), - y: ag(w.y, P.y, I), - zoom: ag(w.zoom, P.zoom, I) + x: fg(v.x, k.x, C), + y: fg(v.y, k.y, C), + zoom: fg(v.zoom, k.zoom, C) }, - k - ), I < 1 ? h = t.nextFrame(v) : (m(), y?.()); + A + ), C < 1 ? g = t.nextFrame(M) : (m(), b?.()); }; - h = t.nextFrame(v); + g = t.nextFrame(M); }, - animateZoomAnchored: (P, k, A, y = ex, w) => { + animateZoomAnchored: (k, A, w, b = mx, v) => { if (!t.hasFrames) { - const I = a(); - I.itemCount && u(vf(P, I, k, A)), w?.(); + const C = i(); + C.itemCount && u(kf(k, C, A, w)), v?.(); return; } - g(); - const O = s().zoom; - let b = !1, v = 0; - const E = (I) => { - b || (b = !0, v = I); - const T = Jk(Math.min(1, (I - v) / y)), _ = WB(O, A, T), N = a(); - N.itemCount && u(vf(P, N, k, _)), T < 1 ? h = t.nextFrame(E) : (m(), w?.()); + h(); + const x = s().zoom; + let y = !1, M = 0; + const S = (C) => { + y || (y = !0, M = C); + const N = gx(Math.min(1, (C - M) / b)), _ = Q9(x, w, N), T = i(); + T.itemCount && u(kf(k, T, A, _)), N < 1 ? g = t.nextFrame(S) : (m(), v?.()); }; - h = t.nextFrame(E); + g = t.nextFrame(S); }, - startCameraPhysics: (P, k) => { + startCameraPhysics: (k, A) => { if (!t.hasFrames) { u(s()); return; } - g(); - const A = s().zoom, y = s(), w = $o(y, c(), i(), l()), O = c(), b = i(), v = (F, R, j) => ({ - position: F * A, - velocity: -j / 1e3, - springing: F !== R, + h(); + const w = s().zoom, b = s(), v = Do(b, c(), a(), l()), x = c(), y = a(), M = ($, j, z) => ({ + position: $ * w, + velocity: -z / 1e3, + springing: $ !== j, done: !1 - }), E = v( - y.x, - w.x, - d("x", O.x, O.width, b.width, A) ? P : 0 - ), I = v( - y.y, - w.y, - d("y", O.y, O.height, b.height, A) ? k : 0 + }), S = M( + b.x, + v.x, + d("x", x.x, x.width, y.width, w) ? k : 0 + ), C = M( + b.y, + v.y, + d("y", x.y, x.height, y.height, w) ? A : 0 ); - if (!E.springing && !I.springing && Math.hypot(E.velocity, I.velocity) < JM) + if (!S.springing && !C.springing && Math.hypot(S.velocity, C.velocity) < IE) return; - let T = !1, _ = 0; - const N = (F) => { - h = null; - const R = T ? Math.min(64, Math.max(1, F - _)) : 16; - T = !0, _ = F; - const j = $o( - { x: E.position / A, y: I.position / A, zoom: A }, + let N = !1, _ = 0; + const T = ($) => { + g = null; + const j = N ? Math.min(64, Math.max(1, $ - _)) : 16; + N = !0, _ = $; + const z = Do( + { x: S.position / w, y: C.position / w, zoom: w }, c(), - i(), + a(), l() - ), B = (K, ee) => { - if (K.done) return; - const J = K.springing ? zB(K.position, K.velocity, ee * A, R) : BB(K.position, K.velocity, R); - K.position = J.position, K.velocity = J.velocity, K.done = J.done; + ), L = (B, V) => { + if (B.done) return; + const Q = B.springing ? Y9(B.position, B.velocity, V * w, j) : G9(B.position, B.velocity, j); + B.position = Q.position, B.velocity = Q.velocity, B.done = Q.done; }; - B(E, j.x), B(I, j.y); - const W = $o( - { x: E.position / A, y: I.position / A, zoom: A }, + L(S, z.x), L(C, z.y); + const D = Do( + { x: S.position / w, y: C.position / w, zoom: w }, c(), - i(), + a(), l() - ), $ = (K, ee) => { - !K.springing && Math.abs(ee * A - K.position) > 1e-6 && (K.position = ee * A, K.springing = !0, K.done = !1); + ), F = (B, V) => { + !B.springing && Math.abs(V * w - B.position) > 1e-6 && (B.position = V * w, B.springing = !0, B.done = !1); }; - if ($(E, W.x), $(I, W.y), f({ x: E.position / A, y: I.position / A, zoom: A }), p(), E.done && I.done) { + if (F(S, D.x), F(C, D.y), f({ x: S.position / w, y: C.position / w, zoom: w }), p(), S.done && C.done) { u(s()), r.emit({ camera: s() }); return; } - h = t.nextFrame(N); + g = t.nextFrame(T); }; - h = t.nextFrame(N); + g = t.nextFrame(T); }, api: { - isMoving: () => h !== null, + isMoving: () => g !== null, stopMotion: () => { - h && (g(), r.emit({ camera: s() })); + g && (h(), r.emit({ camera: s() })); } } }; } -const tx = (e) => ({ +const bx = (e) => ({ width: e.width, height: e.height, orientation: e.height >= e.width ? "portrait" : "landscape" -}), KB = (e, t) => (e.minWidth === void 0 || t.width >= e.minWidth) && (e.maxWidth === void 0 || t.width <= e.maxWidth) && (e.minHeight === void 0 || t.height >= e.minHeight) && (e.maxHeight === void 0 || t.height <= e.maxHeight) && (e.orientation === void 0 || t.orientation === e.orientation), qB = (e, t) => typeof e.when == "function" ? !!e.when(t) : KB(e.when, t), qi = (e, t) => { +}), Z9 = (e, t) => (e.minWidth === void 0 || t.width >= e.minWidth) && (e.maxWidth === void 0 || t.width <= e.maxWidth) && (e.minHeight === void 0 || t.height >= e.minHeight) && (e.maxHeight === void 0 || t.height <= e.maxHeight) && (e.orientation === void 0 || t.orientation === e.orientation), J9 = (e, t) => typeof e.when == "function" ? !!e.when(t) : Z9(e.when, t), Ga = (e, t) => { const n = { ...e }; let o; for (o in t) { - const r = o === "pageFrame" ? HB(t.pageFrame) : o === "padding" ? VB(t.padding) : o === "zoomBox" ? GB(t.zoomBox) : t[o]; + const r = o === "pageFrame" ? ez(t.pageFrame) : o === "padding" ? tz(t.padding) : o === "zoomBox" ? nz(t.zoomBox) : t[o]; r !== void 0 && Object.assign(n, { [o]: r }); } return n; -}, HB = (e) => e === void 0 ? void 0 : { ...c0, ...e }, VB = (e) => e === void 0 || typeof e == "number" ? e : { top: 0, right: 0, bottom: 0, left: 0, ...e }, GB = (e) => e === void 0 ? void 0 : { fill: e.fill ?? null, stroke: e.stroke ?? null }, Ed = (e, t) => { +}, ez = (e) => e === void 0 ? void 0 : { ...k0, ...e }, tz = (e) => e === void 0 || typeof e == "number" ? e : { top: 0, right: 0, bottom: 0, left: 0, ...e }, nz = (e) => e === void 0 ? void 0 : { fill: e.fill ?? null, stroke: e.stroke ?? null }, _d = (e, t) => { if (e === t) return !0; if (typeof e != "object" || typeof t != "object" || e === null || t === null) return !1; @@ -17692,13 +18236,13 @@ const tx = (e) => ({ return n.length === Object.keys(t).length && n.every( (o) => e[o] === t[o] ); -}, nx = (e, t, n) => { +}, yx = (e, t, n) => { let o = e; const r = []; for (const s of t) - qB(s, n) && (s.name !== void 0 && r.push(s.name), s.settings && (o = qi(o, s.settings))); + J9(s, n) && (s.name !== void 0 && r.push(s.name), s.settings && (o = Ga(o, s.settings))); return { effective: o, active: r }; -}, YB = { +}, oz = { flow: "continuous", layout: "vertical", spread: "none", @@ -17718,21 +18262,22 @@ const tx = (e) => ({ zoomAlign: { x: "center", y: "center" }, anchorAlign: { x: "start", y: "start" }, viewRotation: 0, - zoom: { mode: nn.Automatic }, - minZoom: gl, - maxZoom: Ap, + zoom: { mode: cn.Automatic }, + minZoom: hl, + maxZoom: Mp, scrollBehavior: "smooth", interaction: !0, panFallback: !0, zoomGestures: !0, turnGestures: !0, + scrollChaining: !0, zoomBox: { fill: null, stroke: null }, // Web: 1 PDF point = 96/72 CSS px, so 100% is physically accurate. A native // adapter overrides this at registration with its own logical-unit factor. viewUnitsPerPoint: 96 / 72 -}, QB = [ +}, rz = [ { name: "compact", when: { maxWidth: 600 }, settings: { padding: 4 } } -], Vc = { +], Hc = { flow: "reflow", layout: "scene", spread: "scene", @@ -17758,17 +18303,18 @@ const tx = (e) => ({ interaction: "none", panFallback: "none", zoomGestures: "none", - // Read by the Stage's own pan verbs; the surface binding never sees it. + // Read by the Stage's own pan and wheel verbs; the surface binding never sees them. turnGestures: "none", + scrollChaining: "none", zoomBox: "none", // paint only viewUnitsPerPoint: "scene" // a layout input: changing it resizes every page -}, ir = Object.keys(Vc), Fm = (e) => { +}, cr = Object.keys(Hc), qm = (e) => { const t = {}; - for (const n of ir) t[n] = e[n]; + for (const n of cr) t[n] = e[n]; return t; -}, XB = (e) => { +}, sz = (e) => { const { responsive: t, ...n } = e; return { camera: { x: 0, y: 0, zoom: 1 }, @@ -17781,10 +18327,10 @@ const tx = (e) => ({ activeRules: [], zoomDrag: null, locks: {}, - ...qi(YB, n) + ...Ga(oz, n) }; -}, ox = (e, t) => e.camera === t ? e : { ...e, camera: t }, cg = (e, t) => e.cameraResting === t ? e : { ...e, cameraResting: t }, ZB = (e) => e.placed ? e : { ...e, placed: !0 }, rx = (e, t) => e.viewport === t ? e : { ...e, viewport: t }, JB = (e, t) => e.dpr === t ? e : { ...e, dpr: t }, Op = (e, t) => e.pageIndex === t ? e : { ...e, pageIndex: t }, e9 = (e, t) => e.motionCause === t ? e : { ...e, motionCause: t }; -function br(e, t) { +}, wx = (e, t) => e.camera === t ? e : { ...e, camera: t }, pg = (e, t) => e.cameraResting === t ? e : { ...e, cameraResting: t }, az = (e) => e.placed ? e : { ...e, placed: !0 }, vx = (e, t) => e.viewport === t ? e : { ...e, viewport: t }, iz = (e, t) => e.dpr === t ? e : { ...e, dpr: t }, Ip = (e, t) => e.pageIndex === t ? e : { ...e, pageIndex: t }, cz = (e, t) => e.motionCause === t ? e : { ...e, motionCause: t }; +function yr(e, t) { let n = e, o; for (o in t) { const r = t[o]; @@ -17792,156 +18338,265 @@ function br(e, t) { } return n; } -const t9 = (e, t) => e.activeRules === t ? e : { ...e, activeRules: t }, zu = (e, t) => e.zoomDrag === t ? e : { ...e, zoomDrag: t }, n9 = (e, t) => e.locks === t ? e : { ...e, locks: t }, sx = (e, t) => ({ +const lz = (e, t) => e.activeRules === t ? e : { ...e, activeRules: t }, Ku = (e, t) => e.zoomDrag === t ? e : { ...e, zoomDrag: t }, uz = (e, t) => e.locks === t ? e : { ...e, locks: t }, kx = (e, t) => ({ x: (t.x - e.x) * e.zoom, y: (t.y - e.y) * e.zoom }); -function o9(e, { scene: t }, n, { cancelAnimation: o, animateTo: r, startCameraPhysics: s }, { scrollMetricsNow: i }, a) { - const { camera: c, viewport: l, padding: u, zoomLimits: f, buildScene: d, stayBounds: p, constraint: h } = t, { - gesture: g, +function dz(e, { scene: t }, n, { cancelAnimation: o, animateTo: r, startCameraPhysics: s }, { scrollMetricsNow: a }, i) { + const { camera: c, viewport: l, padding: u, zoomLimits: f, buildScene: d, stayBounds: p, constraint: g } = t, { + gesture: h, armRest: m, - writeCamera: M, - writeCameraUnclamped: x, - rubberize: S, - unrubberize: P, - syncCursorFromCamera: k, - markCause: A - } = n, y = (w) => { - if (A("user"), o(), !d().itemCount) return; - const O = IB(c(), p(), l(), u(), w); - w.behavior === "smooth" ? r(O, p(), void 0, k) : (M(O), k()); + writeCamera: O, + writeCameraUnclamped: E, + rubberize: P, + unrubberize: k, + syncCursorFromCamera: A, + markCause: w + } = n, b = (v) => { + if (w("user"), o(), !d().itemCount) return; + const x = D9(c(), p(), l(), u(), v); + v.behavior === "smooth" ? r(x, p(), void 0, A) : (O(x), A()); }; return { api: { - setCamera: (w) => { - A("user"), o(), M({ ...w, zoom: Rn(w.zoom, f()) }), k(); + setCamera: (v) => { + w("user"), o(), O({ ...v, zoom: Ln(v.zoom, f()) }), A(); }, - panBy: (w, O) => { - if (!a.beforePan()) { - if (A("user"), o(), g.depth > 0 && g.elastic) - g.raw = Xk(g.raw ?? P(c()), w, O), x(S(g.raw)); + panBy: (v, x) => { + if (!i.beforePan()) { + if (w("user"), o(), h.depth > 0 && h.elastic) + h.raw = px(h.raw ?? k(c()), v, x), E(P(h.raw)); else { - const b = Xk(c(), w, O); - M(b), a.refused(sx(b, c())); + const y = px(c(), v, x); + O(y), i.refused(kx(y, c())); } - k(); + A(); } }, - scrollTo: y, - scrollBy: ({ left: w, top: O, behavior: b }) => { - const v = i(); - y({ - left: w === void 0 ? void 0 : v.scrollLeft + w, - top: O === void 0 ? void 0 : v.scrollTop + O, - behavior: b + scrollTo: b, + scrollBy: ({ left: v, top: x, behavior: y }) => { + const M = a(); + b({ + left: v === void 0 ? void 0 : M.scrollLeft + v, + top: x === void 0 ? void 0 : M.scrollTop + x, + behavior: y }); }, - zoomAround: (w, O) => { + zoomAround: (v, x) => { o(); - const b = d(), v = b.itemCount ? Pp(b, Sp(c(), w)) : null; - M(EB(c(), w, O, f())), g.depth === 0 && e.state.update(br, { zoom: { level: c().zoom } }); - const E = d(); - E !== b && v && E.itemCount && M(vf(v, E, w, c().zoom)), g.depth > 0 && g.elastic && (g.raw = P(c())), k(); + const y = d(), M = y.itemCount ? Cp(y, Ep(c(), v)) : null; + O(j9(c(), v, x, f())), h.depth === 0 && e.state.update(yr, { zoom: { level: c().zoom } }); + const S = d(); + S !== y && M && S.itemCount && O(kf(M, S, v, c().zoom)), h.depth > 0 && h.elastic && (h.raw = k(c())), A(); }, - beginGesture: (w) => { - g.depth++, g.depth === 1 && (o(), g.zoomed = !1, g.elastic = w?.elastic === !0, g.raw = null, a.dragBegan()); + beginGesture: (v) => { + h.depth++, h.depth === 1 && (o(), h.zoomed = !1, h.elastic = v?.elastic === !0, h.raw = null, i.dragBegan()); }, endGesture: () => { - if (g.depth === 0 || (g.depth--, g.depth > 0)) return; - const w = g.raw ? sx(g.raw, $o(g.raw, p(), l(), h())) : { x: 0, y: 0 }, O = g.zoomed; - g.raw = null; - const b = g.elastic; - if (g.elastic = !1, g.zoomed && (g.zoomed = !1, e.state.update(br, { zoom: { level: c().zoom } }), m()), k(), !a.dragEnded(w, O) && b) { - const v = c(), E = $o(v, p(), l(), h()); - (E.x !== v.x || E.y !== v.y) && s(0, 0); + if (h.depth === 0 || (h.depth--, h.depth > 0)) return; + const v = h.raw ? kx(h.raw, Do(h.raw, p(), l(), g())) : { x: 0, y: 0 }, x = h.zoomed; + h.raw = null; + const y = h.elastic; + if (h.elastic = !1, h.zoomed && (h.zoomed = !1, e.state.update(yr, { zoom: { level: c().zoom } }), m()), A(), !i.dragEnded(v, x) && y) { + const M = c(), S = Do(M, p(), l(), g()); + (S.x !== M.x || S.y !== M.y) && s(0, 0); } }, - fling: (w, O) => { - a.flung({ x: w, y: O }) || s(w, O); + fling: (v, x) => { + i.flung({ x: v, y: x }) || s(v, x); + } + } + }; +} +const xx = 60, fz = 600, _E = 200, pz = { x: 0, y: 0 }, Ax = (e, t) => ({ x: e.x + t.x, y: e.y + t.y }); +function hz(e, { scene: t, clock: n }, { scrollMetricsNow: o }, r) { + const s = () => e.state.get(), a = () => t.paged() && s().turnGestures, i = () => s().direction === "rtl", c = (m) => ({ x: i() ? m.x : -m.x, y: -m.y }), l = () => { + const m = o(), O = !m.scrollableY || m.scrollTop <= 0.5, E = !m.scrollableY || m.scrollTop + m.clientHeight >= m.scrollHeight - 0.5, P = !m.scrollableX || m.scrollLeft <= 0.5, k = !m.scrollableX || m.scrollLeft + m.clientWidth >= m.scrollWidth - 0.5; + return { + next: { x: i() ? P : k, y: E }, + previous: { x: i() ? k : P, y: O } + }; + }; + let u = null, f = !1, d = null; + const p = () => (u ?? (u = { startedAt: l(), push: pz, spent: !1 }), u), g = () => { + d?.(), d = n.after(_E, () => { + d = null, u = null; + }); + }, h = (m, O, E) => { + for (const P of ["y", "x"]) { + if (O[P] >= E && m.startedAt.next[P] && r.canGoNext()) + return m.spent = !0, r.nextPage({ behavior: "instant" }), !0; + if (O[P] <= -E && m.startedAt.previous[P] && r.canGoPrevious()) + return m.spent = !0, r.previousPage({ + behavior: "instant", + arrivalAlign: P === "y" ? { y: "end" } : { x: "end" } + }), !0; + } + return !1; + }; + return { + /** Before a pan moves the camera. True: this stream already turned, so the pan moves nothing. */ + beforePan: () => { + if (!a()) return !1; + const m = p(); + return f || g(), m.spent; + }, + /** After a rigid pan: the part of it the clamp refused, in screen px. */ + refused: (m) => { + !a() || !u || (u.push = Ax(u.push, c(m)), f || h(u, u.push, xx)); + }, + /** + * A wheel or trackpad pushes anew while its last push still coasts: the + * next stream begins here, with no pause before it. + */ + pushBegan: () => { + f || (u = null); + }, + /** A drag begins: one stream for all of it, however long it holds still. */ + dragBegan: () => { + a() && (d?.(), d = null, u = null, f = !0, p()); + }, + /** + * The drag ended, its finger pulled `overshoot` past the edge (screen px). + * True: it turned the page, so nothing springs home. + */ + dragEnded: (m, O) => (f = !1, !a() || !u ? !1 : O ? (u = null, !1) : (g(), h(u, Ax(u.push, c(m)), xx))), + /** The release speed, right after a drag. True: no momentum, as the page turned. */ + flung: (m) => !a() || !u ? !1 : u.spent || h(u, c(m), fz), + /** + * Whether a push by `delta` (screen px) has anywhere to go along its longer + * axis: the camera can move that way, or a turn has a page to turn to. + */ + leadsSomewhere: (m) => { + const O = Math.abs(m.x) > Math.abs(m.y) ? "x" : "y", E = c(m)[O] > 0 ? "next" : "previous"; + return !s().bounded || !l()[E][O] ? !0 : a() ? E === "next" ? r.canGoNext() : r.canGoPrevious() : !1; + } + }; +} +const gz = 2.5, mz = 0.1, bz = 16, yz = 40; +function wz() { + let e = -1 / 0, t = 0, n = 0, o = 1 / 0; + return { + /** + * Take the next wheel: `size` px along its longer axis, at `timeMs`. True: + * with it the scroll sped up, a new push. + */ + brokenBy: (r, s) => { + const a = s - e; + if (a > yz) + return e = s, t = 0, !1; + if (t += r, a < bz) return !1; + const i = t / a; + e = s, t = 0; + const c = i > gz * Math.max(o, mz); + return c ? o = 1 / 0 : i < n && (o = Math.min(o, i)), n = i, c; + }, + /** The scroll paused: the next wheel has nothing before it. */ + forget: () => { + e = -1 / 0, t = 0, n = 0, o = 1 / 0; + } + }; +} +function vz(e, { clock: t }, n, { panBy: o }) { + let r = null, s = !1; + const a = wz(); + let i = null; + const c = () => { + i?.(), i = t.after(_E, () => { + i = null, r = null, s = !1, a.forget(); + }); + }; + return { + api: { + wheelBy: (l, u, f) => { + const d = e.state.get().scrollChaining; + if (l === 0 && u === 0) return !d || (r ?? !0); + const p = n.leadsSomewhere({ x: l, y: u }); + return a.brokenBy(Math.max(Math.abs(l), Math.abs(u)), f) && (n.pushBegan(), s || (r = null)), r ?? (r = p), s = r && p, c(), d && !r ? !1 : (o(l, u), !0); } } }; } -const r9 = 150; -function s9(e, { clock: t, placement: n, scene: o }) { - const { camera: r, viewport: s, padding: i, paged: a, buildScene: c, stayBounds: l, constraint: u } = o, f = { depth: 0, zoomed: !1, elastic: !1, raw: null }; +const kz = 150; +function xz(e, { clock: t, placement: n, scene: o }) { + const { camera: r, viewport: s, padding: a, paged: i, buildScene: c, stayBounds: l, constraint: u } = o, f = { depth: 0, zoomed: !1, elastic: !1, raw: null }; let d = null; const p = () => { d?.(), d = null; - }, h = () => { - !t.hasFrames || !n.started || (e.state.update(cg, !1), p(), d = t.after(r9, () => { - d = null, e.state.update(cg, !0); + }, g = () => { + !t.hasFrames || !n.started || (e.state.update(pg, !1), p(), d = t.after(kz, () => { + d = null, e.state.update(pg, !0); })); - }, g = (A, y = l()) => { - const w = $o(A, y, s(), u()); - w.zoom !== r().zoom && (f.depth > 0 ? (f.zoomed = !0, e.state.update(cg, !1), p()) : h()), e.state.update(ox, w); - }, m = (A, y, w, O, b) => { - const v = i(), [E, I] = A === "x" ? [v.left, v.right] : [v.top, v.bottom]; - return !qM(y, w, O, b, E, I).fits; + }, h = (w, b = l()) => { + const v = Do(w, b, s(), u()); + v.zoom !== r().zoom && (f.depth > 0 ? (f.zoomed = !0, e.state.update(pg, !1), p()) : g()), e.state.update(wx, v); + }, m = (w, b, v, x, y) => { + const M = a(), [S, C] = w === "x" ? [M.left, M.right] : [M.top, M.bottom]; + return !kE(b, v, x, y, S, C).fits; }; return { gesture: f, - armRest: h, - writeCamera: g, - writeCameraUnclamped: (A) => e.state.update(ox, A), + armRest: g, + writeCamera: h, + writeCameraUnclamped: (w) => e.state.update(wx, w), axisTravels: m, - rubberize: (A) => { - const y = $o(A, l(), s(), u()), w = s(), O = l(), b = (v, E, I, T) => { - if (!T) return E; - const _ = v - E; - if (_ === 0) return E; - const N = DB(Math.abs(_) * A.zoom, Math.max(1, I)); - return E + Math.sign(_) * N / A.zoom; + rubberize: (w) => { + const b = Do(w, l(), s(), u()), v = s(), x = l(), y = (M, S, C, N) => { + if (!N) return S; + const _ = M - S; + if (_ === 0) return S; + const T = H9(Math.abs(_) * w.zoom, Math.max(1, C)); + return S + Math.sign(_) * T / w.zoom; }; return { - zoom: A.zoom, - x: b( - A.x, - y.x, - w.width, - m("x", O.x, O.width, w.width, A.zoom) + zoom: w.zoom, + x: y( + w.x, + b.x, + v.width, + m("x", x.x, x.width, v.width, w.zoom) ), - y: b( - A.y, - y.y, - w.height, - m("y", O.y, O.height, w.height, A.zoom) + y: y( + w.y, + b.y, + v.height, + m("y", x.y, x.height, v.height, w.zoom) ) }; }, - unrubberize: (A) => { - const y = $o(A, l(), s(), u()), w = s(), O = l(), b = (v, E, I, T) => { - if (!T) return E; - const _ = v - E; - if (_ === 0) return E; - const N = Math.max(1, I), F = Math.min(Math.abs(_) * A.zoom, N - 1); - return E + Math.sign(_) * $B(F, N) / A.zoom; + unrubberize: (w) => { + const b = Do(w, l(), s(), u()), v = s(), x = l(), y = (M, S, C, N) => { + if (!N) return S; + const _ = M - S; + if (_ === 0) return S; + const T = Math.max(1, C), $ = Math.min(Math.abs(_) * w.zoom, T - 1); + return S + Math.sign(_) * V9($, T) / w.zoom; }; return { - zoom: A.zoom, - x: b( - A.x, - y.x, - w.width, - m("x", O.x, O.width, w.width, A.zoom) + zoom: w.zoom, + x: y( + w.x, + b.x, + v.width, + m("x", x.x, x.width, v.width, w.zoom) ), - y: b( - A.y, - y.y, - w.height, - m("y", O.y, O.height, w.height, A.zoom) + y: y( + w.y, + b.y, + v.height, + m("y", x.y, x.height, v.height, w.zoom) ) }; }, syncCursorFromCamera: () => { - if (a()) return; - const A = c(); - A.itemCount && e.state.update(Op, HM(r(), A, s()).pageIndex); + if (i()) return; + const w = c(); + w.itemCount && e.state.update(Ip, xE(r(), w, s()).pageIndex); }, - markCause: (A) => e.state.update(e9, A) + markCause: (w) => e.state.update(cz, w) }; } -const i9 = () => ({ started: !1, pending: null }); +const Az = () => ({ started: !1, pending: null }); function Ds(e, t, n) { if (e.started) { n(t); @@ -17949,133 +18604,133 @@ function Ds(e, t, n) { } e.pending = () => n({ ...t, behavior: "instant" }); } -function a9(e, { scene: t, placement: n }, { writeCamera: o, markCause: r }, { cancelAnimation: s, animateTo: i }) { +function Sz(e, { scene: t, placement: n }, { writeCamera: o, markCause: r }, { cancelAnimation: s, animateTo: a }) { const { - camera: a, + camera: i, viewport: c, padding: l, zoomLimits: u, paged: f, isFitAll: d, itemIndexOfPage: p, - buildScene: h, - sceneRect: g, + buildScene: g, + sceneRect: h, itemRect: m, - pageRectOf: M, - currentPages: x, - unitStartOf: S, - fitsAcross: P, - alignPoint: k, - fitBox: A, - boundsFor: y, - constraint: w, - indexOfTarget: O - } = t, b = () => e.state.get(), v = () => e.document()?.pageCount ?? 0, E = (R) => { - for (let j = 0; j < 3; j++) { - const B = h(); - if (R(), h() === B) return; - } - }, I = (R, j) => { - E(() => { - const B = h(); - if (!B.itemCount) return; - const W = B.items[B.itemOfPage(R.pageIndex)], $ = wf(b().zoom, A(W), c(), l(), u()), K = k(j ?? b().anchorAlign, c()); - o(TB(R, B, c(), $, K), y(W)); + pageRectOf: O, + currentPages: E, + unitStartOf: P, + fitsAcross: k, + alignPoint: A, + fitBox: w, + boundsFor: b, + constraint: v, + indexOfTarget: x + } = t, y = () => e.state.get(), M = () => e.document()?.pageCount ?? 0, S = (j) => { + for (let z = 0; z < 3; z++) { + const L = g(); + if (j(), g() === L) return; + } + }, C = (j, z) => { + S(() => { + const L = g(); + if (!L.itemCount) return; + const D = L.items[L.itemOfPage(j.pageIndex)], F = vf(y().zoom, w(D), c(), l(), u()), B = A(z ?? y().anchorAlign, c()); + o(z9(j, L, c(), F, B), b(D)); }); - }, T = (R, j) => { - d() ? _(b().pageIndex, { behavior: "instant" }) : I(R, j); - }, _ = (R, j) => { - if (r("programmatic"), s(), v() === 0) return; - const B = Math.max(0, Math.min(R, v() - 1)); - if (e.state.update(Op, B), j?.viewpoint) { - e.state.update(br, { zoom: j.viewpoint.zoom }), I(j.viewpoint.anchor); + }, N = (j, z) => { + d() ? _(y().pageIndex, { behavior: "instant" }) : C(j, z); + }, _ = (j, z) => { + if (r("programmatic"), s(), M() === 0) return; + const L = Math.max(0, Math.min(j, M() - 1)); + if (e.state.update(Ip, L), z?.viewpoint) { + e.state.update(yr, { zoom: z.viewpoint.zoom }), C(z.viewpoint.anchor); return; } - const W = () => { - const $ = h(); - if (!$.itemCount) return null; - const K = f() ? $.items[0] : $.items[p(B)], ee = wf(b().zoom, A(K), c(), l(), u()), J = d() ? g() : P(m(K), ee) ? m(K) : M(K, B), ue = { ...b().arrivalAlign, ...j?.arrivalAlign }, be = _B( - J, + const D = () => { + const F = g(); + if (!F.itemCount) return null; + const B = f() ? F.items[0] : F.items[p(L)], V = vf(y().zoom, w(B), c(), l(), u()), Q = d() ? h() : k(m(B), V) ? m(B) : O(B, L), le = { ...y().arrivalAlign, ...z?.arrivalAlign }, pe = $9( + Q, c(), - ee, + V, l(), { - x: ue.x === "keep" ? "start" : ue.x, - y: ue.y === "keep" ? "start" : ue.y + x: le.x === "keep" ? "start" : le.x, + y: le.y === "keep" ? "start" : le.y }, - b().direction - ), we = y(K), Oe = $o(be, we, c(), { ...w(), bounded: !0 }); + y().direction + ), me = b(B), Ae = Do(pe, me, c(), { ...v(), bounded: !0 }); return { camera: { - zoom: ee, - x: ue.x === "keep" ? a().x : Oe.x, - y: ue.y === "keep" ? a().y : Oe.y + zoom: V, + x: le.x === "keep" ? i().x : Ae.x, + y: le.y === "keep" ? i().y : Ae.y }, - bounds: we + bounds: me }; }; - if ((j?.behavior ?? b().scrollBehavior) === "smooth") { - const $ = W(); - $ && i($.camera, $.bounds); + if ((z?.behavior ?? y().scrollBehavior) === "smooth") { + const F = D(); + F && a(F.camera, F.bounds); } else - E(() => { - const $ = W(); - $ && o($.camera, $.bounds); + S(() => { + const F = D(); + F && o(F.camera, F.bounds); }); - }, N = (R, j) => { - const B = x(); - if (B.length) - if (R === 1) { - const W = Math.max(...B) + 1; - W < v() && _(W, j); + }, T = (j, z) => { + const L = E(); + if (L.length) + if (j === 1) { + const D = Math.max(...L) + 1; + D < M() && _(D, z); } else { - const W = Math.min(...B) - 1; - W >= 0 && _(S(W), j); + const D = Math.min(...L) - 1; + D >= 0 && _(P(D), z); } - }, F = () => _(0, { behavior: "instant" }); + }, $ = () => _(0, { behavior: "instant" }); return { - stabilized: E, - applyAnchor: I, - reapply: T, + stabilized: S, + applyAnchor: C, + reapply: N, goToTarget: _, - resetView: F, + resetView: $, api: { - goToPage: (R, j) => { - const B = O(R); - B !== null && Ds(n, j, (W) => _(B, W)); + goToPage: (j, z) => { + const L = x(j); + L !== null && Ds(n, z, (D) => _(L, D)); }, - goToFirstPage: (R) => Ds(n, R, (j) => _(0, j)), - goToLastPage: (R) => Ds( + goToFirstPage: (j) => Ds(n, j, (z) => _(0, z)), + goToLastPage: (j) => Ds( n, - R, - (j) => _(Math.max(0, (e.document()?.pageCount ?? 1) - 1), j) + j, + (z) => _(Math.max(0, (e.document()?.pageCount ?? 1) - 1), z) ), canGoNext: () => { - const R = x(); - return R.length > 0 && Math.max(...R) < v() - 1; + const j = E(); + return j.length > 0 && Math.max(...j) < M() - 1; }, canGoPrevious: () => { - const R = x(); - return R.length > 0 && Math.min(...R) > 0; + const j = E(); + return j.length > 0 && Math.min(...j) > 0; }, - nextPage: (R) => Ds(n, R, (j) => N(1, j)), - previousPage: (R) => Ds(n, R, (j) => N(-1, j)), - resetView: F + nextPage: (j) => Ds(n, j, (z) => T(1, z)), + previousPage: (j) => Ds(n, j, (z) => T(-1, z)), + resetView: $ } }; } -function c9(e, t) { +function Oz(e, t) { const { width: n, height: o } = t; switch (e.kind) { case "xyz": { - const { x: r, y: s, zoom: i } = e; + const { x: r, y: s, zoom: a } = e; return { // A null axis keeps the current camera value; the number fed in for // it is never read (the 'keep' anchor). rect: { x: r ?? 0, y: s ?? 0, width: 0, height: 0 }, align: { x: r != null ? "start" : "keep", y: s != null ? "start" : "keep" }, // A zoom of 0 means the same as null: keep the current zoom. - zoom: i != null && i !== 0 ? { level: i } : "keep" + zoom: a != null && a !== 0 ? { level: a } : "keep" }; } case "fit": @@ -18101,176 +18756,126 @@ function c9(e, t) { }; } case "fitR": { - const { x: r, y: s, width: i, height: a } = e; - return { rect: { x: r, y: s, width: i, height: a }, zoom: "fit" }; + const { x: r, y: s, width: a, height: i } = e; + return { rect: { x: r, y: s, width: a, height: i }, zoom: "fit" }; } } } -function l9(e, { scene: t, placement: n }, { writeCamera: o, markCause: r }, { cancelAnimation: s, animateTo: i }, { stabilized: a, goToTarget: c }) { +function Pz(e, { scene: t, placement: n }, { writeCamera: o, markCause: r }, { cancelAnimation: s, animateTo: a }, { stabilized: i, goToTarget: c }) { const { camera: l, viewport: u, padding: f, zoomLimits: d, paged: p, - itemIndexOfPage: h, - worldPageFrame: g, + itemIndexOfPage: g, + worldPageFrame: h, buildScene: m, - sceneRect: M, - pageRectOf: x, - worldRectForContent: S, - boundsFor: P, - indexOfTarget: k - } = t, A = () => e.state.get(), y = (v, E, I, T, _, N, F, R, j) => { - if (v === "keep") return E; - if (v === void 0) { - if (!F) { - const W = E + R / N, $ = E + (_ - j) / N; - return I >= W && I + T <= $ ? E : T > $ - W || I < W ? I - R / N : I + T - (_ - j) / N; - } - v = "center"; - } - if (v === "start") return I - R / N; - if (v === "end") return I + T - (_ - j) / N; - const B = v === "center" ? 0.5 : Math.min(1, Math.max(0, v)); - return I + T / 2 - (_ * B + (R - j) / 2) / N; - }, w = (v, E) => { + sceneRect: O, + pageRectOf: E, + worldRectForContent: P, + boundsFor: k, + indexOfTarget: A + } = t, w = () => e.state.get(), b = (M, S, C, N, _, T, $, j, z) => { + if (M === "keep") return S; + if (M === void 0) { + if (!$) { + const D = S + j / T, F = S + (_ - z) / T; + return C >= D && C + N <= F ? S : N > F - D || C < D ? C - j / T : C + N - (_ - z) / T; + } + M = "center"; + } + if (M === "start") return C - j / T; + if (M === "end") return C + N - (_ - z) / T; + const L = M === "center" ? 0.5 : Math.min(1, Math.max(0, M)); + return C + N / 2 - (_ * L + (j - z) / 2) / T; + }, v = (M, S) => { r("programmatic"); - const I = e.document()?.pageCount ?? 0; - if (I === 0) return; - const T = Math.max(0, Math.min(v, I - 1)); - if (!(!!E && (E.rect !== void 0 || E.align !== void 0 || E.zoom !== void 0 && E.zoom !== "keep"))) { + const C = e.document()?.pageCount ?? 0; + if (C === 0) return; + const N = Math.max(0, Math.min(M, C - 1)); + if (!(!!S && (S.rect !== void 0 || S.align !== void 0 || S.zoom !== void 0 && S.zoom !== "keep"))) { if (p()) { - c(T, E); + c(N, S); return; } - const R = m(); - if (!R.itemCount) return; - const j = x(R.items[h(T)], T), B = g(), W = { - x: j.x - B.left, - y: j.y - B.top, - width: j.width + B.left + B.right, - height: j.height + B.top + B.bottom - }, $ = NB(l(), W, u(), f()), K = l(); - if ($.x === K.x && $.y === K.y) return; - s(), (E?.behavior ?? A().scrollBehavior) === "smooth" ? i($, M()) : o($, M()); + const j = m(); + if (!j.itemCount) return; + const z = E(j.items[g(N)], N), L = h(), D = { + x: z.x - L.left, + y: z.y - L.top, + width: z.width + L.left + L.right, + height: z.height + L.top + L.bottom + }, F = B9(l(), D, u(), f()), B = l(); + if (F.x === B.x && F.y === B.y) return; + s(), (S?.behavior ?? w().scrollBehavior) === "smooth" ? a(F, O()) : o(F, O()); return; } - s(), e.state.update(Op, T); - const N = () => { - const R = m(); - if (!R.itemCount) return null; - const j = p() ? R.items[0] : R.items[h(T)], B = E.rect ? S(j, T, E.rect) : x(j, T), W = E.zoom ?? "keep", $ = f(), K = Math.max(1, u().width - $.left - $.right), ee = Math.max(1, u().height - $.top - $.bottom); - let J = typeof W == "object" ? W.level : W === "fit" ? Math.min(K / B.width, ee / B.height) : W === "fit-width" ? K / B.width : W === "fit-height" ? ee / B.height : l().zoom; - (!Number.isFinite(J) || J <= 0) && (J = l().zoom), J = Rn(J, d()); - const ue = W !== "keep", be = E.align ?? {}; + s(), e.state.update(Ip, N); + const T = () => { + const j = m(); + if (!j.itemCount) return null; + const z = p() ? j.items[0] : j.items[g(N)], L = S.rect ? P(z, N, S.rect) : E(z, N), D = S.zoom ?? "keep", F = f(), B = Math.max(1, u().width - F.left - F.right), V = Math.max(1, u().height - F.top - F.bottom); + let Q = typeof D == "object" ? D.level : D === "fit" ? Math.min(B / L.width, V / L.height) : D === "fit-width" ? B / L.width : D === "fit-height" ? V / L.height : l().zoom; + (!Number.isFinite(Q) || Q <= 0) && (Q = l().zoom), Q = Ln(Q, d()); + const le = D !== "keep", pe = S.align ?? {}; return { camera: { - x: y( - be.x, + x: b( + pe.x, l().x, - B.x, - B.width, + L.x, + L.width, u().width, - J, - ue, - $.left, - $.right + Q, + le, + F.left, + F.right ), - y: y( - be.y, + y: b( + pe.y, l().y, - B.y, - B.height, + L.y, + L.height, u().height, - J, - ue, - $.top, - $.bottom + Q, + le, + F.top, + F.bottom ), - zoom: J + zoom: Q }, - bounds: P(j), - zoomChanged: ue + bounds: k(z), + zoomChanged: le }; - }, F = N(); - if (F) - if (F.zoomChanged && e.state.update(br, { zoom: { level: F.camera.zoom } }), (E.behavior ?? A().scrollBehavior) === "smooth") { - const R = N() ?? F; - i(R.camera, R.bounds); + }, $ = T(); + if ($) + if ($.zoomChanged && e.state.update(yr, { zoom: { level: $.camera.zoom } }), (S.behavior ?? w().scrollBehavior) === "smooth") { + const j = T() ?? $; + a(j.camera, j.bounds); } else - a(() => { - const R = N(); - R && o(R.camera, R.bounds); + i(() => { + const j = T(); + j && o(j.camera, j.bounds); }); }; return { - api: { reveal: (v, E) => { - const I = k(v); - I !== null && Ds(n, E, (T) => w(I, T)); - }, goToDestination: (v, E) => { - const I = e.getPage(v.page); - if (!I) return; - const T = c9(v, I.size); + api: { reveal: (M, S) => { + const C = A(M); + C !== null && Ds(n, S, (N) => v(C, N)); + }, goToDestination: (M, S) => { + const C = e.getPage(M.page); + if (!C) return; + const N = Oz(M, C.size); Ds( n, - { ...T, behavior: E?.behavior }, - (_) => w(I.index, _) + { ...N, behavior: S?.behavior }, + (_) => v(C.index, _) ); } } }; } -const ix = 60, u9 = 600, d9 = 200, f9 = { x: 0, y: 0 }, ax = (e, t) => ({ x: e.x + t.x, y: e.y + t.y }); -function p9(e, { scene: t, clock: n }, { scrollMetricsNow: o }, r) { - const s = () => e.state.get(), i = () => t.paged() && s().turnGestures, a = () => s().direction === "rtl", c = (m) => ({ x: a() ? m.x : -m.x, y: -m.y }), l = () => { - const m = o(), M = !m.scrollableY || m.scrollTop <= 0.5, x = !m.scrollableY || m.scrollTop + m.clientHeight >= m.scrollHeight - 0.5, S = !m.scrollableX || m.scrollLeft <= 0.5, P = !m.scrollableX || m.scrollLeft + m.clientWidth >= m.scrollWidth - 0.5; - return { - next: { x: a() ? S : P, y: x }, - previous: { x: a() ? P : S, y: M } - }; - }; - let u = null, f = !1, d = null; - const p = () => (u ?? (u = { startedAt: l(), push: f9, spent: !1 }), u), h = () => { - d?.(), d = n.after(d9, () => { - d = null, u = null; - }); - }, g = (m, M, x) => { - for (const S of ["y", "x"]) { - if (M[S] >= x && m.startedAt.next[S] && r.canGoNext()) - return m.spent = !0, r.nextPage({ behavior: "instant" }), !0; - if (M[S] <= -x && m.startedAt.previous[S] && r.canGoPrevious()) - return m.spent = !0, r.previousPage({ - behavior: "instant", - arrivalAlign: S === "y" ? { y: "end" } : { x: "end" } - }), !0; - } - return !1; - }; - return { - /** Before a pan moves the camera. True: this stream already turned, so the pan moves nothing. */ - beforePan: () => { - if (!i()) return !1; - const m = p(); - return f || h(), m.spent; - }, - /** After a rigid pan: the part of it the clamp refused, in screen px. */ - refused: (m) => { - !i() || !u || (u.push = ax(u.push, c(m)), f || g(u, u.push, ix)); - }, - /** A drag begins: one stream for all of it, however long it holds still. */ - dragBegan: () => { - i() && (d?.(), d = null, u = null, f = !0, p()); - }, - /** - * The drag ended, its finger pulled `overshoot` past the edge (screen px). - * True: it turned the page, so nothing springs home. - */ - dragEnded: (m, M) => (f = !1, !i() || !u ? !1 : M ? (u = null, !1) : (h(), g(u, ax(u.push, c(m)), ix))), - /** The release speed, right after a drag. True: no momentum, as the page turned. */ - flung: (m) => !i() || !u ? !1 : u.spent || g(u, c(m), u9) - }; -} -const eE = [ +const NE = [ 0.05, 0.1, 0.15, @@ -18294,204 +18899,204 @@ const eE = [ 32, 48, 64 -], h9 = [...eE].reverse(), tE = 1.05, cx = 1e-9, g9 = (e, t) => Rn(eE.find((n) => n > e * tE) ?? t.max, t), m9 = (e, t) => Rn(h9.find((n) => n < e / tE) ?? t.min, t); -function b9(e, { scene: t }, { syncCursorFromCamera: n }, { +], Mz = [...NE].reverse(), TE = 1.05, Sx = 1e-9, Ez = (e, t) => Ln(NE.find((n) => n > e * TE) ?? t.max, t), Cz = (e, t) => Ln(Mz.find((n) => n < e / TE) ?? t.min, t); +function Iz(e, { scene: t }, { syncCursorFromCamera: n }, { cancelAnimation: o, animateZoomAnchored: r -}, s, i) { +}, s, a) { const { - camera: a, + camera: i, viewport: c, padding: l, zoomLimits: u, paged: f, itemIndexOfPage: d, buildScene: p, - alignPoint: h, - fitBox: g - } = t, m = () => e.state.get(), M = () => h(m().zoomAlign, c()), x = (P, k = M()) => { - P !== a().zoom && s.zoomAround(k, P / a().zoom); - }, S = (P) => i.updateSettings({ viewRotation: P }); + alignPoint: g, + fitBox: h + } = t, m = () => e.state.get(), O = () => g(m().zoomAlign, c()), E = (k, A = O()) => { + k !== i().zoom && s.zoomAround(A, k / i().zoom); + }, P = (k) => a.updateSettings({ viewRotation: k }); return { api: { - doubleTapZoom: (P) => { + doubleTapZoom: (k) => { o(); - const k = p(); - if (!k.itemCount) return; - const A = f() ? k.items[0] : k.items[d(m().pageIndex)], y = g(A), w = u(), O = wf( - { mode: nn.Automatic }, - y, + const A = p(); + if (!A.itemCount) return; + const w = f() ? A.items[0] : A.items[d(m().pageIndex)], b = h(w), v = u(), x = vf( + { mode: cn.Automatic }, + b, c(), l(), - w - ), b = wf( - { mode: nn.FitWidth }, - y, + v + ), y = vf( + { mode: cn.FitWidth }, + b, c(), l(), - w - ), v = [O, b, Rn(O * 2.5, w)].sort((F, R) => F - R).filter((F, R, j) => R === 0 || F > j[R - 1] * 1.1), E = (F, R) => F > R / 1.1 && F < R * 1.1, I = v.findIndex((F) => E(a().zoom, F)), T = I >= 0 ? v[(I + 1) % v.length] : v[0]; - e.state.update(br, { zoom: { level: T } }); + v + ), M = [x, y, Ln(x * 2.5, v)].sort(($, j) => $ - j).filter(($, j, z) => j === 0 || $ > z[j - 1] * 1.1), S = ($, j) => $ > j / 1.1 && $ < j * 1.1, C = M.findIndex(($) => S(i().zoom, $)), N = C >= 0 ? M[(C + 1) % M.length] : M[0]; + e.state.update(yr, { zoom: { level: N } }); const _ = p(); if (!_.itemCount) return; - const N = Pp(_, Sp(a(), P)); - r(N, P, T, void 0, n); + const T = Cp(_, Ep(i(), k)); + r(T, k, N, void 0, n); }, - zoomIn: (P) => x(g9(a().zoom, u()), P?.around), - zoomOut: (P) => x(m9(a().zoom, u()), P?.around), - canZoomIn: () => a().zoom < u().max * (1 - cx), - canZoomOut: () => a().zoom > u().min * (1 + cx), - zoomTo: (P, k) => { - if (typeof P == "number") { - k?.around ? s.zoomAround(k.around, P / a().zoom) : i.updateSettings({ zoom: { level: P } }); + zoomIn: (k) => E(Ez(i().zoom, u()), k?.around), + zoomOut: (k) => E(Cz(i().zoom, u()), k?.around), + canZoomIn: () => i().zoom < u().max * (1 - Sx), + canZoomOut: () => i().zoom > u().min * (1 + Sx), + zoomTo: (k, A) => { + if (typeof k == "number") { + A?.around ? s.zoomAround(A.around, k / i().zoom) : a.updateSettings({ zoom: { level: k } }); return; } - i.updateSettings({ zoom: P }); + a.updateSettings({ zoom: k }); }, - zoomBy: (P, k) => s.zoomAround(k?.around ?? M(), P), - fitWidth: () => i.updateSettings({ zoom: { mode: nn.FitWidth } }), - fitPage: () => i.updateSettings({ zoom: { mode: nn.FitPage } }), - fitAll: () => i.updateSettings({ zoom: { mode: nn.FitAll } }), - fitAutomatic: () => i.updateSettings({ zoom: { mode: nn.Automatic } }), - setViewRotation: S, - rotateViewBy: (P) => S(UM(m().viewRotation, P === 90 ? 90 : 270)) + zoomBy: (k, A) => s.zoomAround(A?.around ?? O(), k), + fitWidth: () => a.updateSettings({ zoom: { mode: cn.FitWidth } }), + fitPage: () => a.updateSettings({ zoom: { mode: cn.FitPage } }), + fitAll: () => a.updateSettings({ zoom: { mode: cn.FitAll } }), + fitAutomatic: () => a.updateSettings({ zoom: { mode: cn.Automatic } }), + setViewRotation: P, + rotateViewBy: (k) => P(wE(m().viewRotation, k === 90 ? 90 : 270)) } }; } -const lx = 4, ux = (e, t) => ({ +const Ox = 4, Px = (e, t) => ({ x: Math.min(e.x, t.x), y: Math.min(e.y, t.y), width: Math.abs(t.x - e.x), height: Math.abs(t.y - e.y) -}), dx = (e) => e.width >= lx || e.height >= lx; -function y9(e, { scene: t }, { +}), Mx = (e) => e.width >= Ox || e.height >= Ox; +function _z(e, { scene: t }, { writeCamera: n, markCause: o, syncCursorFromCamera: r }, { cancelAnimation: s, - animateZoomAnchored: i -}, a) { - const c = () => e.state.get(), l = (h, g) => { - const m = a.getPageBox(h); + animateZoomAnchored: a +}, i) { + const c = () => e.state.get(), l = (g, h) => { + const m = i.getPageBox(g); if (!m) return null; - const M = m.transform.pageToView(g); - return { x: m.screenX + M.x, y: m.screenY + M.y }; - }, u = (h) => { - const g = l(h.page, h.from), m = l(h.page, h.to); - return g && m ? ux(g, m) : null; - }, f = Ke( + const O = m.transform.pageToView(h); + return { x: m.screenX + O.x, y: m.screenY + O.y }; + }, u = (g) => { + const h = l(g.page, g.from), m = l(g.page, g.to); + return h && m ? Px(h, m) : null; + }, f = qe( () => (t.buildScene(), [c().zoomDrag, t.camera(), t.cacheKey()]), - (h, g, m) => { - const M = h && u(h); - return M && dx(M) ? M : null; - } - ), d = (h) => { - const g = a.pageToWorld(h.page, h.from), m = a.pageToWorld(h.page, h.to); - return g && m ? ux(g, m) : null; - }, p = (h) => { - const g = d(h); - if (!g) return; - const m = t.viewport(), M = t.padding(), x = Math.min( - Math.max(1, m.width - M.left - M.right) / g.width, - Math.max(1, m.height - M.top - M.bottom) / g.height + (g, h, m) => { + const O = g && u(g); + return O && Mx(O) ? O : null; + } + ), d = (g) => { + const h = i.pageToWorld(g.page, g.from), m = i.pageToWorld(g.page, g.to); + return h && m ? Px(h, m) : null; + }, p = (g) => { + const h = d(g); + if (!h) return; + const m = t.viewport(), O = t.padding(), E = Math.min( + Math.max(1, m.width - O.left - O.right) / h.width, + Math.max(1, m.height - O.top - O.bottom) / h.height ); - if (!Number.isFinite(x)) return; - const S = Math.min(Ap, Math.max(gl, x)); - e.state.update(br, { zoom: { level: S } }); - const P = d(h) ?? g, k = t.camera(), A = $o( + if (!Number.isFinite(E)) return; + const P = Math.min(Mp, Math.max(hl, E)); + e.state.update(yr, { zoom: { level: P } }); + const k = d(g) ?? h, A = t.camera(), w = Do( { - zoom: S, + zoom: P, // Centered in the padded viewport. - x: P.x + P.width / 2 - (m.width + M.left - M.right) / (2 * S), - y: P.y + P.height / 2 - (m.height + M.top - M.bottom) / (2 * S) + x: k.x + k.width / 2 - (m.width + O.left - O.right) / (2 * P), + y: k.y + k.height / 2 - (m.height + O.top - O.bottom) / (2 * P) }, t.stayBounds(), m, t.constraint() ); - if (o("user"), c().scrollBehavior === "instant" || Math.abs(A.zoom - k.zoom) < 1e-9) { - n(A), r(); + if (o("user"), c().scrollBehavior === "instant" || Math.abs(w.zoom - A.zoom) < 1e-9) { + n(w), r(); return; } - const y = (b, v) => (v * A.zoom - b * k.zoom) / (A.zoom - k.zoom), w = { x: y(k.x, A.x), y: y(k.y, A.y) }, O = t.buildScene(); - O.itemCount && i( - Pp(O, w), - Pc(k, w), - A.zoom, + const b = (y, M) => (M * w.zoom - y * A.zoom) / (w.zoom - A.zoom), v = { x: b(A.x, w.x), y: b(A.y, w.y) }, x = t.buildScene(); + x.itemCount && a( + Cp(x, v), + Sc(A, v), + w.zoom, void 0, r ); }; return { api: { - beginZoomDrag: (h) => { + beginZoomDrag: (g) => { s(); - const g = a.getPageAt(h)?.ref ?? a.listVisiblePages()[0]?.ref, m = g ? a.viewportToPage(g, h) : null; - e.state.update(zu, g && m ? { page: g, from: m, to: m } : null); + const h = i.getPageAt(g)?.ref ?? i.listVisiblePages()[0]?.ref, m = h ? i.viewportToPage(h, g) : null; + e.state.update(Ku, h && m ? { page: h, from: m, to: m } : null); }, - moveZoomDrag: (h) => { - const g = c().zoomDrag, m = g && a.viewportToPage(g.page, h); - g && m && e.state.update(zu, { ...g, to: m }); + moveZoomDrag: (g) => { + const h = c().zoomDrag, m = h && i.viewportToPage(h.page, g); + h && m && e.state.update(Ku, { ...h, to: m }); }, - endZoomDrag: (h) => { - const g = c().zoomDrag; - if (!g) return; - e.state.update(zu, null); - const m = u(g); + endZoomDrag: (g) => { + const h = c().zoomDrag; + if (!h) return; + e.state.update(Ku, null); + const m = u(h); if (m) { - if (!dx(m)) { - const M = { x: m.x, y: m.y }; - h?.zoomOut ? a.zoomOut({ around: M }) : a.zoomIn({ around: M }); + if (!Mx(m)) { + const O = { x: m.x, y: m.y }; + g?.zoomOut ? i.zoomOut({ around: O }) : i.zoomIn({ around: O }); return; } - p(g); + p(h); } }, - cancelZoomDrag: () => e.state.update(zu, null), + cancelZoomDrag: () => e.state.update(Ku, null), getZoomBox: f } }; } -function w9(e, { scene: t }) { +function Nz(e, { scene: t }) { const { camera: n, viewport: o, dpr: r, padding: s, - paged: i, - buildScene: a, + paged: a, + buildScene: i, cacheKey: c, stayBounds: l, cursorItem: u, currentPages: f, currentAnchor: d - } = t, p = () => e.state.get(), h = (b) => e.document()?.pages[b]?.ref.objectNumber ?? b + 1, g = (b) => { - const v = ta({ width: b.width, height: b.height }, b.rotation); - return { width: v.width / b.contentScale, height: v.height / b.contentScale }; - }, m = (b) => { - const v = e.document()?.pages[b.pageIndex], E = v ? { width: v.size.width, height: v.size.height } : g(b), I = n(), T = r(), _ = (b.x - I.x) * I.zoom, N = (b.y - I.y) * I.zoom, F = p().cameraResting, R = F ? Vk(_, T) : _, j = F ? Vk(N, T) : N, B = vB({ - pageSize: E, - rotation: b.rotation, - scale: b.contentScale * I.zoom, + } = t, p = () => e.state.get(), g = (y) => e.document()?.pages[y]?.ref.objectNumber ?? y + 1, h = (y) => { + const M = ni({ width: y.width, height: y.height }, y.rotation); + return { width: M.width / y.contentScale, height: M.height / y.contentScale }; + }, m = (y) => { + const M = e.document()?.pages[y.pageIndex], S = M ? { width: M.size.width, height: M.size.height } : h(y), C = n(), N = r(), _ = (y.x - C.x) * C.zoom, T = (y.y - C.y) * C.zoom, $ = p().cameraResting, j = $ ? lx(_, N) : _, z = $ ? lx(T, N) : T, L = E9({ + pageSize: S, + rotation: y.rotation, + scale: y.contentScale * C.zoom, // The page's physical 100%: the platform unit factor × its /UserUnit, // so `transform.zoom` reads as "percent of Acrobat's 100%" per page, // independent of sizing mode or camera state. - baseScale: p().viewUnitsPerPoint * (v?.userUnit ?? 1), - dpr: T - }), W = o(), $ = hl( - { x: -R, y: -j, width: W.width, height: W.height }, - { x: 0, y: 0, width: B.viewWidth, height: B.viewHeight } - ), K = $.width > 0 && $.height > 0 ? B.viewToPageRect($) : { x: 0, y: 0, width: 0, height: 0 }; + baseScale: p().viewUnitsPerPoint * (M?.userUnit ?? 1), + dpr: N + }), D = o(), F = pl( + { x: -j, y: -z, width: D.width, height: D.height }, + { x: 0, y: 0, width: L.viewWidth, height: L.viewHeight } + ), B = F.width > 0 && F.height > 0 ? L.viewToPageRect(F) : { x: 0, y: 0, width: 0, height: 0 }; return { - ...b, - ref: ut(h(b.pageIndex)), - screenX: R, - screenY: j, - transform: B, - visibleRect: K + ...y, + ref: dt(g(y.pageIndex)), + screenX: j, + screenY: z, + transform: L, + visibleRect: B }; - }, M = { + }, O = { scrollLeft: 0, scrollTop: 0, scrollWidth: 0, @@ -18501,550 +19106,551 @@ function w9(e, { scene: t }) { scrollableX: !1, scrollableY: !1 }; - let x = null; - const S = () => { - if (!p().placed) return M; - const b = CB( + let E = null; + const P = () => { + if (!p().placed) return O; + const y = F9( n(), - a().itemCount ? l() : { x: 0, y: 0, width: 0, height: 0 }, + i().itemCount ? l() : { x: 0, y: 0, width: 0, height: 0 }, o(), s() - ), v = x; - return v && v.scrollLeft === b.scrollLeft && v.scrollTop === b.scrollTop && v.scrollWidth === b.scrollWidth && v.scrollHeight === b.scrollHeight && v.clientWidth === b.clientWidth && v.clientHeight === b.clientHeight ? v : (x = b, b); - }, P = [], k = Ke( + ), M = E; + return M && M.scrollLeft === y.scrollLeft && M.scrollTop === y.scrollTop && M.scrollWidth === y.scrollWidth && M.scrollHeight === y.scrollHeight && M.clientWidth === y.clientWidth && M.clientHeight === y.clientHeight ? M : (E = y, y); + }, k = [], A = qe( () => { - const b = n(), v = o(); - return a(), [ + const y = n(), M = o(); + return i(), [ c(), p().flow, - b.x, - b.y, - b.zoom, - v.width, - v.height, + y.x, + y.y, + y.zoom, + M.width, + M.height, r(), p().cameraResting ]; }, - (b, v, E, I, T, _, N, F, R) => { - const j = a(); - return (i() ? j.items.slice(0, 1) : j.query(MB({ x: E, y: I, zoom: T }, { width: _, height: N }))).flatMap((W) => W.pages).map(m); + (y, M, S, C, N, _, T, $, j) => { + const z = i(); + return (a() ? z.items.slice(0, 1) : z.query(L9({ x: S, y: C, zoom: N }, { width: _, height: T }))).flatMap((D) => D.pages).map(m); } - ), A = () => p().placed ? k() : P, y = (b) => { + ), w = () => p().placed ? A() : k, b = (y) => { if (!p().placed) return null; - const v = e.getPage(b)?.index ?? -1; - if (v < 0) return null; - const E = a(); - if (!E.itemCount) return null; - const I = E.items[E.itemOfPage(v)].pages.find( - (T) => T.pageIndex === v + const M = e.getPage(y)?.index ?? -1; + if (M < 0) return null; + const S = i(); + if (!S.itemCount) return null; + const C = S.items[S.itemOfPage(M)].pages.find( + (N) => N.pageIndex === M ); - return I ? m(I) : null; - }, w = (b, v) => { - const E = y(b); - if (!E) return null; - const I = ta({ width: E.width, height: E.height }, E.rotation), T = yf( - E.contentScale, - I.width, - I.height, - E.rotation - ), _ = No(T, v); - return { x: E.x + _.x, y: E.y + _.y }; - }, O = (b) => { - const v = e.getPage(b)?.ref.objectNumber; - return v === void 0 ? null : A().find((E) => E.ref.objectNumber === v) ?? null; + return C ? m(C) : null; + }, v = (y, M) => { + const S = b(y); + if (!S) return null; + const C = ni({ width: S.width, height: S.height }, S.rotation), N = wf( + S.contentScale, + C.width, + C.height, + S.rotation + ), _ = _o(N, M); + return { x: S.x + _.x, y: S.y + _.y }; + }, x = (y) => { + const M = e.getPage(y)?.ref.objectNumber; + return M === void 0 ? null : w().find((S) => S.ref.objectNumber === M) ?? null; }; return { - scrollMetricsNow: S, - visiblePages: A, + scrollMetricsNow: P, + visiblePages: w, api: { getCamera: n, getViewportSize: o, - getScrollMetrics: S, - listVisiblePages: A, - isPageVisible: (b) => O(b) !== null, + getScrollMetrics: P, + listVisiblePages: w, + isPageVisible: (y) => x(y) !== null, getCurrentPageIndex: () => p().pageIndex, getCurrentPage: () => e.document()?.pages[p().pageIndex]?.ref ?? null, getPageCount: () => e.document()?.pageCount ?? 0, listCurrentItemPages: () => { - const b = u(), v = e.document()?.pages ?? []; - return b ? b.pageIndexes.map((E) => v[E]).filter((E) => E !== void 0) : []; + const y = u(), M = e.document()?.pages ?? []; + return y ? y.pageIndexes.map((S) => M[S]).filter((S) => S !== void 0) : []; }, listCurrentPages: () => { - const b = e.document()?.pages ?? []; - return f().map((v) => b[v]).filter((v) => v !== void 0); + const y = e.document()?.pages ?? []; + return f().map((M) => y[M]).filter((M) => M !== void 0); }, - getPageBox: y, - getPageAt: (b) => { - for (const v of A()) { - const E = b.x - v.screenX, I = b.y - v.screenY; - if (E >= 0 && I >= 0 && E <= v.transform.viewWidth && I <= v.transform.viewHeight) + getPageBox: b, + getPageAt: (y) => { + for (const M of w()) { + const S = y.x - M.screenX, C = y.y - M.screenY; + if (S >= 0 && C >= 0 && S <= M.transform.viewWidth && C <= M.transform.viewHeight) return { - ref: v.ref, - point: v.transform.viewToPage({ x: E, y: I }), - scale: v.transform.viewScale, - rotation: v.rotation, - zoom: v.transform.zoom + ref: M.ref, + point: M.transform.viewToPage({ x: S, y: C }), + scale: M.transform.viewScale, + rotation: M.rotation, + zoom: M.transform.zoom }; } return null; }, - viewportToPage: (b, v) => { - const E = O(b); - return E ? E.transform.viewToPage({ - x: v.x - E.screenX, - y: v.y - E.screenY + viewportToPage: (y, M) => { + const S = x(y); + return S ? S.transform.viewToPage({ + x: M.x - S.screenX, + y: M.y - S.screenY }) : null; }, - pageToWorld: w, - pageRectToViewport: (b, v) => { - const E = y(b); - if (!E) return null; - const I = ta({ width: E.width, height: E.height }, E.rotation), T = yf( - E.contentScale, - I.width, - I.height, - E.rotation - ), _ = bf(T, v), N = n(), F = Pc(N, { x: E.x + _.x, y: E.y + _.y }); + pageToWorld: v, + pageRectToViewport: (y, M) => { + const S = b(y); + if (!S) return null; + const C = ni({ width: S.width, height: S.height }, S.rotation), N = wf( + S.contentScale, + C.width, + C.height, + S.rotation + ), _ = yf(N, M), T = n(), $ = Sc(T, { x: S.x + _.x, y: S.y + _.y }); return { - x: F.x, - y: F.y, - width: _.width * N.zoom, - height: _.height * N.zoom + x: $.x, + y: $.y, + width: _.width * T.zoom, + height: _.height * T.zoom }; }, - worldToViewport: (b) => Pc(n(), b), - viewportToWorld: (b) => Sp(n(), b), - pageToViewport: (b, v) => { - const E = w(b, v); - return E ? Pc(n(), E) : null; + worldToViewport: (y) => Sc(n(), y), + viewportToWorld: (y) => Ep(n(), y), + pageToViewport: (y, M) => { + const S = v(y, M); + return S ? Sc(n(), S) : null; }, getViewRotation: () => p().viewRotation, getZoomLevel: () => n().zoom, getZoomMode: () => { - const b = p().zoom; - return "mode" in b ? b.mode : "custom"; + const y = p().zoom; + return "mode" in y ? y.mode : "custom"; }, getViewpoint: () => ({ anchor: d(), zoom: p().zoom }), getCurrentDestination: () => { - const { left: b, top: v } = s(), E = n(), I = A().filter((F) => { - const R = Pc(E, { x: F.x + F.width, y: F.y + F.height }); - return R.x > b && R.y > v; - }).sort((F, R) => F.pageIndex - R.pageIndex)[0], T = I && e.getPage(I.ref)?.size; - if (!I || !T) return null; - const _ = I.transform.viewToPage({ - x: b - I.screenX, - y: v - I.screenY - }), N = (F, R) => Math.round(Math.min(Math.max(F, 0), R) * 100) / 100; + const { left: y, top: M } = s(), S = n(), C = w().filter(($) => { + const j = Sc(S, { x: $.x + $.width, y: $.y + $.height }); + return j.x > y && j.y > M; + }).sort(($, j) => $.pageIndex - j.pageIndex)[0], N = C && e.getPage(C.ref)?.size; + if (!C || !N) return null; + const _ = C.transform.viewToPage({ + x: y - C.screenX, + y: M - C.screenY + }), T = ($, j) => Math.round(Math.min(Math.max($, 0), j) * 100) / 100; return { kind: "xyz", - page: I.ref, - x: N(_.x, T.width), - y: N(_.y, T.height), + page: C.ref, + x: T(_.x, N.width), + y: T(_.y, N.height), zoom: null }; } } }; } -function v9(e) { - const t = e.events.source(), n = e.events.source(), o = e.events.source(), r = e.events.source(), s = e.events.source(), i = e.events.source(); - return e.state.onChange(({ previous: a, next: c }) => { - a.camera !== c.camera && (o.emit({ camera: c.camera }), a.camera.zoom !== c.camera.zoom && n.emit({ +function Tz(e) { + const t = e.events.source(), n = e.events.source(), o = e.events.source(), r = e.events.source(), s = e.events.source(), a = e.events.source(); + return e.state.onChange(({ previous: i, next: c }) => { + i.camera !== c.camera && (o.emit({ camera: c.camera }), i.camera.zoom !== c.camera.zoom && n.emit({ level: c.camera.zoom, - previousLevel: a.camera.zoom, + previousLevel: i.camera.zoom, mode: "mode" in c.zoom ? c.zoom.mode : "custom" - })), a.pageIndex !== c.pageIndex && t.emit({ + })), i.pageIndex !== c.pageIndex && t.emit({ page: e.document()?.pages[c.pageIndex]?.ref ?? null, pageIndex: c.pageIndex, - previousPageIndex: a.pageIndex - }), a.viewport !== c.viewport && i.emit({ size: c.viewport }); - const l = ir.filter((u) => !Ed(a[u], c[u])); - l.length && s.emit({ settings: Fm(c), changedKeys: l }); - }), { pageChanged: t, zoomChanged: n, cameraChanged: o, motionEnded: r, settingsChanged: s, viewportChanged: i }; -} -function k9(e) { - const t = () => e.state.get(), n = () => t().camera, o = () => t().viewport, r = () => t().dpr, s = () => gi(t().padding), i = () => OB(t().minZoom, t().maxZoom), a = () => t().flow === "paged", c = () => { - const V = t().zoom; - return "mode" in V && V.mode === nn.FitAll; - }, l = Ke( + previousPageIndex: i.pageIndex + }), i.viewport !== c.viewport && a.emit({ size: c.viewport }); + const l = cr.filter((u) => !_d(i[u], c[u])); + l.length && s.emit({ settings: qm(c), changedKeys: l }); + }), { pageChanged: t, zoomChanged: n, cameraChanged: o, motionEnded: r, settingsChanged: s, viewportChanged: a }; +} +function Rz(e) { + const t = () => e.state.get(), n = () => t().camera, o = () => t().viewport, r = () => t().dpr, s = () => ba(t().padding), a = () => R9(t().minZoom, t().maxZoom), i = () => t().flow === "paged", c = () => { + const G = t().zoom; + return "mode" in G && G.mode === cn.FitAll; + }, l = qe( () => [e.document()?.pageCount ?? 0, t().spread], - (V, he) => { - const ve = jB(V, he); - return { grouping: ve, firstPages: ve.map((je) => je[0]) }; + (G, ge) => { + const ve = K9(G, ge); + return { grouping: ve, firstPages: ve.map((Te) => Te[0]) }; } - ), u = () => l().grouping.length, f = (V) => { - const he = l().firstPages; - let ve = 0, je = he.length; - for (; ve < je; ) { - const G = ve + je >> 1; - he[G] <= V ? ve = G + 1 : je = G; + ), u = () => l().grouping.length, f = (G) => { + const ge = l().firstPages; + let ve = 0, Te = ge.length; + for (; ve < Te; ) { + const X = ve + Te >> 1; + ge[X] <= G ? ve = X + 1 : Te = X; } return Math.max(0, ve - 1); }, d = () => { - const V = t().zoom; - return "level" in V ? Rn(V.level, i()) : Math.max(t().camera.zoom, 1e-4); + const G = t().zoom; + return "level" in G ? Ln(G.level, a()) : Math.max(t().camera.zoom, 1e-4); }, p = () => { - const { left: V, right: he } = s(); - return Math.max(1, (o().width - V - he) / d()); - }, h = () => { - const V = t().pageFrame; - if (!V.top && !V.right && !V.bottom && !V.left) return V; - const he = d(); + const { left: G, right: ge } = s(); + return Math.max(1, (o().width - G - ge) / d()); + }, g = () => { + const G = t().pageFrame; + if (!G.top && !G.right && !G.bottom && !G.left) return G; + const ge = d(); return { - top: V.top / he, - right: V.right / he, - bottom: V.bottom / he, - left: V.left / he + top: G.top / ge, + right: G.right / ge, + bottom: G.bottom / ge, + left: G.left / ge }; - }, g = () => { - const V = t().pageFrame; - if (!V.top && !V.right && !V.bottom && !V.left) return "-"; - const he = h(); - return `${Math.round(he.top)},${Math.round(he.right)},${Math.round(he.bottom)},${Math.round(he.left)}`; + }, h = () => { + const G = t().pageFrame; + if (!G.top && !G.right && !G.bottom && !G.left) return "-"; + const ge = g(); + return `${Math.round(ge.top)},${Math.round(ge.right)},${Math.round(ge.bottom)},${Math.round(ge.left)}`; }, m = () => { - const V = t().gap; - return typeof V == "number" ? V : V.px ? V.px / d() : 0; - }, M = () => { - const V = t().gap; - return typeof V == "number" ? String(V) : `px:${Math.round(m())}`; - }, x = (V) => { - const he = t(), ve = e.document()?.pages ?? [], je = he.viewRotation, G = je === 0 ? ve : ve.map((ae) => ({ - ...ae, - rotation: UM(ae.rotation, je) - })), re = h(), D = m(), ce = he.viewUnitsPerPoint; - return he.layout === "grid" ? LB(G, V, { - gap: D, - sizing: he.sizing, - direction: he.direction, - pageFrame: re, + const G = t().gap; + return typeof G == "number" ? G : G.px ? G.px / d() : 0; + }, O = () => { + const G = t().gap; + return typeof G == "number" ? String(G) : `px:${Math.round(m())}`; + }, E = (G) => { + const ge = t(), ve = e.document()?.pages ?? [], Te = ge.viewRotation, X = Te === 0 ? ve : ve.map((ie) => ({ + ...ie, + rotation: wE(ie.rotation, Te) + })), ae = g(), W = m(), ce = ge.viewUnitsPerPoint; + return ge.layout === "grid" ? U9(X, G, { + gap: W, + sizing: ge.sizing, + direction: ge.direction, + pageFrame: ae, viewUnitsPerPoint: ce, - columns: typeof he.columns == "number" ? he.columns : void 0, - lineWidth: he.columns === "auto" ? p() : void 0 - }) : RB(G, V, { - axis: he.layout === "horizontal" ? "x" : "y", - gap: D, - sizing: he.sizing, - direction: he.direction, - pageFrame: re, + columns: typeof ge.columns == "number" ? ge.columns : void 0, + lineWidth: ge.columns === "auto" ? p() : void 0 + }) : W9(X, G, { + axis: ge.layout === "horizontal" ? "x" : "y", + gap: W, + sizing: ge.sizing, + direction: ge.direction, + pageFrame: ae, viewUnitsPerPoint: ce }); - }, P = { + }, k = { columns: () => { - const V = t(); - return V.layout !== "grid" ? "-" : V.columns === "auto" ? `auto:${Math.round(p())}` : String(V.columns); - }, - gap: M, - pageFrame: g - }, k = ir.filter((V) => Vc[V] === "scene"), A = () => k.map((V) => { - const he = P[V]; - if (he) return he(); - const ve = t()[V]; + const G = t(); + return G.layout !== "grid" ? "-" : G.columns === "auto" ? `auto:${Math.round(p())}` : String(G.columns); + }, + gap: O, + pageFrame: h + }, A = cr.filter((G) => Hc[G] === "scene"), w = () => A.map((G) => { + const ge = k[G]; + if (ge) return ge(); + const ve = t()[G]; return typeof ve == "object" && ve !== null ? JSON.stringify(ve) : String(ve); }).join("|"); - let y = null; - const w = () => { - const V = e.document(); - return V ? `${V.pageCount}.${V.pagesSequence}` : "0.0"; - }, O = () => { - const { grouping: V } = l(); + let b = null; + const v = () => { + const G = e.document(); + return G ? `${G.pageCount}.${G.pagesSequence}` : "0.0"; + }, x = () => { + const { grouping: G } = l(); if (t().flow === "paged") { - const je = V.length ? Math.min(f(t().pageIndex), V.length - 1) : 0, G = `paged|${w()}|${A()}|${je}`; - if (y && y.key === G) return y.scene; - const re = x(V.length ? [V[je]] : []); - return y = { key: G, scene: re }, re; - } - const he = `continuous|${w()}|${A()}`; - if (y && y.key === he) return y.scene; - const ve = x(V); - return y = { key: he, scene: ve }, ve; - }, b = () => { - y = null; - }, v = () => y.key, E = () => { - const { width: V, height: he } = O().size; - return { x: 0, y: 0, width: V, height: he }; - }, I = (V) => ({ - x: V.x, - y: V.y, - width: V.width, - height: V.height - }), T = (V, he) => { - const ve = V.pages.find((je) => je.pageIndex === he) ?? V.pages[0]; + const Te = G.length ? Math.min(f(t().pageIndex), G.length - 1) : 0, X = `paged|${v()}|${w()}|${Te}`; + if (b && b.key === X) return b.scene; + const ae = E(G.length ? [G[Te]] : []); + return b = { key: X, scene: ae }, ae; + } + const ge = `continuous|${v()}|${w()}`; + if (b && b.key === ge) return b.scene; + const ve = E(G); + return b = { key: ge, scene: ve }, ve; + }, y = () => { + b = null; + }, M = () => b.key, S = () => { + const { width: G, height: ge } = x().size; + return { x: 0, y: 0, width: G, height: ge }; + }, C = (G) => ({ + x: G.x, + y: G.y, + width: G.width, + height: G.height + }), N = (G, ge) => { + const ve = G.pages.find((Te) => Te.pageIndex === ge) ?? G.pages[0]; return { x: ve.x, y: ve.y, width: ve.width, height: ve.height }; }, _ = () => { - const V = O(); - return a() ? V.items[0] : V.items[f(t().pageIndex)]; - }, N = (V) => c() || B(I(V), n().zoom), F = () => { - const V = _(); - return V ? N(V) ? V.pageIndexes : [t().pageIndex] : []; - }, R = (V) => { - const he = l().grouping[f(V)]; - if (!he || he.length === 1) return V; - const ve = O(), je = a() ? ve.items[0] : ve.items[f(V)]; - return je && N(je) ? he[0] : V; - }, j = (V, he, ve) => { - const je = V.pages.find((ce) => ce.pageIndex === he) ?? V.pages[0], G = ta({ width: je.width, height: je.height }, je.rotation), re = yf(je.contentScale, G.width, G.height, je.rotation), D = bf(re, ve); - return { x: je.x + D.x, y: je.y + D.y, width: D.width, height: D.height }; - }, B = (V, he) => { - const ve = o(), je = s(); - return V.width * he <= ve.width - je.left - je.right + 0.5; - }, W = (V) => V === "start" ? 0 : V === "center" ? 0.5 : V === "end" ? 1 : Math.min(1, Math.max(0, V)), $ = (V, he) => { - const ve = t().direction === "rtl", je = ve && V.x === "start" ? "end" : ve && V.x === "end" ? "start" : V.x, G = s(); + const G = x(); + return i() ? G.items[0] : G.items[f(t().pageIndex)]; + }, T = (G) => c() || L(C(G), n().zoom), $ = () => { + const G = _(); + return G ? T(G) ? G.pageIndexes : [t().pageIndex] : []; + }, j = (G) => { + const ge = l().grouping[f(G)]; + if (!ge || ge.length === 1) return G; + const ve = x(), Te = i() ? ve.items[0] : ve.items[f(G)]; + return Te && T(Te) ? ge[0] : G; + }, z = (G, ge, ve) => { + const Te = G.pages.find((ce) => ce.pageIndex === ge) ?? G.pages[0], X = ni({ width: Te.width, height: Te.height }, Te.rotation), ae = wf(Te.contentScale, X.width, X.height, Te.rotation), W = yf(ae, ve); + return { x: Te.x + W.x, y: Te.y + W.y, width: W.width, height: W.height }; + }, L = (G, ge) => { + const ve = o(), Te = s(); + return G.width * ge <= ve.width - Te.left - Te.right + 0.5; + }, D = (G) => G === "start" ? 0 : G === "center" ? 0.5 : G === "end" ? 1 : Math.min(1, Math.max(0, G)), F = (G, ge) => { + const ve = t().direction === "rtl", Te = ve && G.x === "start" ? "end" : ve && G.x === "end" ? "start" : G.x, X = s(); return { - x: G.left + (he.width - G.left - G.right) * W(je), - y: G.top + (he.height - G.top - G.bottom) * W(V.y) + x: X.left + (ge.width - X.left - X.right) * D(Te), + y: X.top + (ge.height - X.top - X.bottom) * D(G.y) }; - }, K = () => $(t().anchorAlign, o()), ee = (V) => c() ? O().size : a() ? { width: V.width, height: V.height } : O().maxItemSize, J = (V) => a() ? I(V) : E(), ue = () => a() ? I(O().items[0]) : E(), be = () => ({ + }, B = () => F(t().anchorAlign, o()), V = (G) => c() ? x().size : i() ? { width: G.width, height: G.height } : x().maxItemSize, Q = (G) => i() ? C(G) : S(), le = () => i() ? C(x().items[0]) : S(), pe = () => ({ bounded: t().bounded, padding: s(), fitAlign: t().fitAlign, direction: t().direction - }), we = (V) => { - const he = O(); - return he.itemCount ? HM(n(), he, o(), V) : { pageIndex: t().pageIndex, fractionX: 0.5, fractionY: 0 }; - }, Oe = () => we(K()), Ce = (V) => e.getPage(V)?.index ?? -1; + }), me = (G) => { + const ge = x(); + return ge.itemCount ? xE(n(), ge, o(), G) : { pageIndex: t().pageIndex, fractionX: 0.5, fractionY: 0 }; + }, Ae = () => me(B()), Pe = (G) => e.getPage(G)?.index ?? -1; return { camera: n, viewport: o, dpr: r, padding: s, - zoomLimits: i, - paged: a, + zoomLimits: a, + paged: i, isFitAll: c, grouping: l, itemCountFull: u, itemIndexOfPage: f, - worldPageFrame: h, - buildScene: O, - invalidate: b, - cacheKey: v, - sceneRect: E, - itemRect: I, - pageRectOf: T, + worldPageFrame: g, + buildScene: x, + invalidate: y, + cacheKey: M, + sceneRect: S, + itemRect: C, + pageRectOf: N, cursorItem: _, - currentPages: F, - unitStartOf: R, - worldRectForContent: j, - fitsAcross: B, - alignPoint: $, - anchorPoint: K, - fitBox: ee, - boundsFor: J, - stayBounds: ue, - constraint: be, - anchorAt: we, - currentAnchor: Oe, - indexOfPage: Ce, - indexOfTarget: (V) => { - if (typeof V == "number") return Number.isInteger(V) ? V : null; - const he = Ce(V); - return he >= 0 ? he : null; - } - }; -} -function x9(e) { - return { - events: v9(e), + currentPages: $, + unitStartOf: j, + worldRectForContent: z, + fitsAcross: L, + alignPoint: F, + anchorPoint: B, + fitBox: V, + boundsFor: Q, + stayBounds: le, + constraint: pe, + anchorAt: me, + currentAnchor: Ae, + indexOfPage: Pe, + indexOfTarget: (G) => { + if (typeof G == "number") return Number.isInteger(G) ? G : null; + const ge = Pe(G); + return ge >= 0 ? ge : null; + } + }; +} +function Lz(e) { + return { + events: Tz(e), clock: e.clock, - placement: i9(), - scene: k9(e) + placement: Az(), + scene: Rz(e) }; } -const fx = { +const Ex = { none: 0, reclamp: 1, refit: 2, scene: 3, reflow: 4 }; -function A9(e, { scene: t }, n, { writeCamera: o }, { cancelAnimation: r }, { +function jz(e, { scene: t }, n, { writeCamera: o }, { cancelAnimation: r }, { applyAnchor: s, - reapply: i, - goToTarget: a + reapply: a, + goToTarget: i }) { - const { camera: c, viewport: l, alignPoint: u, anchorAt: f } = t, d = () => e.state.get(), p = Ke( - () => ir.map((E) => d()[E]), - () => Fm(d()) - ), h = (E) => { + const { camera: c, viewport: l, alignPoint: u, anchorAt: f } = t, d = () => e.state.get(), p = qe( + () => cr.map((S) => d()[S]), + () => qm(d()) + ), g = (S) => { r(); - const I = (N) => ir.some((F) => E[F] !== void 0 && Vc[F] === N), T = I("refit") && !I("scene") && !I("reflow") ? d().zoomAlign : d().anchorAlign, _ = f(u(T, l())); - e.state.update(br, E), I("scene") && t.invalidate(), I("reflow") ? a(d().pageIndex, { behavior: "instant" }) : I("scene") || I("refit") ? i(_, T) : I("reclamp") && o(c()); + const C = (T) => cr.some(($) => S[$] !== void 0 && Hc[$] === T), N = C("refit") && !C("scene") && !C("reflow") ? d().zoomAlign : d().anchorAlign, _ = f(u(N, l())); + e.state.update(yr, S), C("scene") && t.invalidate(), C("reflow") ? i(d().pageIndex, { behavior: "instant" }) : C("scene") || C("refit") ? a(_, N) : C("reclamp") && o(c()); }; - let g = p(); - const m = g; - let M = n.responsive ?? QB, x = g, S = []; - const P = () => { - const { effective: E, active: I } = nx(g, M, tx(l())); + let h = p(); + const m = h; + let O = n.responsive ?? rz, E = h, P = []; + const k = () => { + const { effective: S, active: C } = yx(h, O, bx(l())); return { - effective: S.reduce( - (T, _) => qi(T, _.settings), - E + effective: P.reduce( + (N, _) => Ga(N, _.settings), + S ), - active: I + active: C }; - }, k = () => { - const E = {}; - for (const N of S) - for (const F of px(N)) - E[F] ?? (E[F] = { - by: N.by, - ...N.reasonKey !== void 0 ? { reasonKey: N.reasonKey } : {} + }, A = () => { + const S = {}; + for (const T of P) + for (const $ of Cx(T)) + S[$] ?? (S[$] = { + by: T.by, + ...T.reasonKey !== void 0 ? { reasonKey: T.reasonKey } : {} }); - const I = d().locks, T = Object.keys(E); - T.length === Object.keys(I).length && T.every( - (N) => I[N]?.by === E[N].by && I[N]?.reasonKey === E[N].reasonKey - ) || e.state.update(n9, E); - }, A = (E) => { - const I = d().activeRules; - (I.length !== E.length || E.some((T, _) => T !== I[_])) && e.state.update(t9, E); - }, y = (E, I = []) => { - const { effective: T, active: _ } = P(), N = {}; - for (const j of ir) { - const B = !Ed(T[j], x[j]), W = I.includes(j) && !Ed(T[j], d()[j]); - (B || W) && Object.assign(N, { [j]: T[j] }); - } - x = T, A(_); - const F = Object.keys(N); - if (F.length === 0) return "none"; - if (E) - return h(N), "none"; - e.state.update(br, N); - let R = "none"; - for (const j of F) - fx[Vc[j]] > fx[R] && (R = Vc[j]); - return (R === "scene" || R === "reflow") && t.invalidate(), R; - }, w = (E) => { - g = qi(g, E), y( + const C = d().locks, N = Object.keys(S); + N.length === Object.keys(C).length && N.every( + (T) => C[T]?.by === S[T].by && C[T]?.reasonKey === S[T].reasonKey + ) || e.state.update(uz, S); + }, w = (S) => { + const C = d().activeRules; + (C.length !== S.length || S.some((N, _) => N !== C[_])) && e.state.update(lz, S); + }, b = (S, C = []) => { + const { effective: N, active: _ } = k(), T = {}; + for (const z of cr) { + const L = !_d(N[z], E[z]), D = C.includes(z) && !_d(N[z], d()[z]); + (L || D) && Object.assign(T, { [z]: N[z] }); + } + E = N, w(_); + const $ = Object.keys(T); + if ($.length === 0) return "none"; + if (S) + return g(T), "none"; + e.state.update(yr, T); + let j = "none"; + for (const z of $) + Ex[Hc[z]] > Ex[j] && (j = Hc[z]); + return (j === "scene" || j === "reflow") && t.invalidate(), j; + }, v = (S) => { + h = Ga(h, S), b( !0, - ir.filter((I) => E[I] !== void 0) + cr.filter((C) => S[C] !== void 0) ); - }, O = (E) => { - r(), g = qi(g, Fm(E)); - const { effective: I, active: T } = P(); - x = I, A(T), e.state.update(br, I), e.state.update(Op, E.pageIndex ?? 0), t.invalidate(), s(E.anchor); + }, x = (S) => { + r(), h = Ga(h, qm(S)); + const { effective: C, active: N } = k(); + E = C, w(N), e.state.update(yr, C), e.state.update(Ip, S.pageIndex ?? 0), t.invalidate(), s(S.anchor); }; return { snapshotSettings: p, viewStateSettings: () => { - const E = p(); - if (S.length === 0) return E; - const { effective: I } = nx(g, M, tx(l())), T = { ...E }; + const S = p(); + if (P.length === 0) return S; + const { effective: C } = yx(h, O, bx(l())), N = { ...S }; for (const _ of Object.keys(d().locks)) - Object.assign(T, { [_]: I[_] }); - return T; + Object.assign(N, { [_]: C[_] }); + return N; }, - syncResponsive: y, - updateSettings: w, - applyViewState: O, + syncResponsive: b, + updateSettings: v, + applyViewState: x, api: { getSettings: p, resetSettings: () => { - g = qi(m, {}), y(!0, ir); + h = Ga(m, {}), b(!0, cr); }, - updateSettings: w, - setResponsiveRules: (E) => { - M = E, y(!0); + updateSettings: v, + setResponsiveRules: (S) => { + O = S, b(!0); }, - lockSettings: (E) => { - const I = px(E); - for (const N of I) { - if (!ir.includes(N)) - throw new Z("invalid-input", "stage", `"${N}" is not a Stage setting`); - if (N === "zoom") - throw new Z( + lockSettings: (S) => { + const C = Cx(S); + for (const T of C) { + if (!cr.includes(T)) + throw new te("invalid-input", "stage", `"${T}" is not a Stage setting`); + if (T === "zoom") + throw new te( "invalid-input", "stage", "the zoom cannot be locked: gestures set it" ); - const F = S.find((R) => { - const j = R.settings[N]; - return j !== void 0 && !Ed(j, E.settings[N]); + const $ = P.find((j) => { + const z = j.settings[T]; + return z !== void 0 && !_d(z, S.settings[T]); }); - if (F) - throw new Z( + if ($) + throw new te( "conflict", "stage", - `"${N}" is locked by ${F.by} at another value` + `"${T}" is locked by ${$.by} at another value` ); } - const T = { ...E, settings: { ...E.settings } }; - S = [...S, T], k(), y(!0, I); + const N = { ...S, settings: { ...S.settings } }; + P = [...P, N], A(), b(!0, C); let _ = !1; return () => { - _ || (_ = !0, S = S.filter((N) => N !== T), k(), y(!0, I)); + _ || (_ = !0, P = P.filter((T) => T !== N), A(), b(!0, C)); }; }, - getLock: (E) => d().locks[E] ?? null, - matchesRule: (E) => d().activeRules.includes(E), + getLock: (S) => d().locks[S] ?? null, + matchesRule: (S) => d().activeRules.includes(S), listActiveRules: () => d().activeRules, - applyViewState: O + applyViewState: x } }; } -const px = (e) => Object.keys(e.settings).filter( +const Cx = (e) => Object.keys(e.settings).filter( (t) => e.settings[t] !== void 0 ); -function S9(e, { scene: t, placement: n }, { cancelAnimation: o }, r, s) { - const { dpr: i, currentAnchor: a } = t, { goToTarget: c, reapply: l } = r, { snapshotSettings: u, viewStateSettings: f, syncResponsive: d } = s, p = () => e.state.get(), h = [], g = () => { +function Fz(e, { scene: t, placement: n }, { cancelAnimation: o }, r, s) { + const { dpr: a, currentAnchor: i } = t, { goToTarget: c, reapply: l } = r, { snapshotSettings: u, viewStateSettings: f, syncResponsive: d } = s, p = () => e.state.get(), g = [], h = () => { n.started = !0; - const m = [...h].sort( - (S, P) => P.priority - S.priority + const m = [...g].sort( + (P, k) => k.priority - P.priority ); - let M = null; - for (const S of m) - if (M = S.provide(), M) break; - M ? s.applyViewState(M) : r.resetView(); - const x = n.pending; - n.pending = null, x?.(), e.state.update(ZB); + let O = null; + for (const P of m) + if (O = P.provide(), O) break; + O ? s.applyViewState(O) : r.resetView(); + const E = n.pending; + n.pending = null, E?.(), e.state.update(az); }; return { api: { setViewportSize: (m) => { if (!n.started) { - e.state.update(rx, m), d(!1), m.width > 0 && m.height > 0 && (e.document()?.pageCount ?? 0) > 0 && g(); + e.state.update(vx, m), d(!1), m.width > 0 && m.height > 0 && (e.document()?.pageCount ?? 0) > 0 && h(); return; } if (m.width <= 0 || m.height <= 0) return; - const M = p().viewport; - if (m.width === M.width && m.height === M.height) return; + const O = p().viewport; + if (m.width === O.width && m.height === O.height) return; o(); - const x = a(); - e.state.update(rx, m), d(!1) === "reflow" ? c(p().pageIndex, { behavior: "instant" }) : l(x); + const E = i(); + e.state.update(vx, m), d(!1) === "reflow" ? c(p().pageIndex, { behavior: "instant" }) : l(E); }, setDevicePixelRatio: (m) => { - m > 0 && m !== i() && e.state.update(JB, m); + m > 0 && m !== a() && e.state.update(iz, m); }, refit: () => { - n.started && (o(), l(a())); + n.started && (o(), l(i())); }, getViewState: () => ({ // A lock is this document's now, not the user's: the saved view keeps what's under it. ...f(), pageIndex: p().pageIndex, - anchor: a() + anchor: i() }), getLensId: () => e.id, - provideInitialView: (m, M) => { - const x = { priority: m, provide: M }; - return h.push(x), () => { - const S = h.indexOf(x); - S >= 0 && h.splice(S, 1); + provideInitialView: (m, O) => { + const E = { priority: m, provide: O }; + return g.push(E), () => { + const P = g.indexOf(E); + P >= 0 && g.splice(P, 1); }; }, - placeInitial: g + placeInitial: h } }; } -function P9(e, t = {}) { - const n = x9(e), { events: o } = n, r = w9(e, n), s = s9(e, n), i = UB(n, s), a = a9(e, n, s, i), c = p9(e, n, r, a.api), l = o9(e, n, s, i, r, c), u = l9(e, n, s, i, a), f = A9(e, n, t, s, i, a), d = b9(e, n, s, i, l.api, f), p = y9(e, n, s, i, { ...r.api, ...d.api }), h = S9(e, n, i, a, f), g = ys("stage", [ +function Dz(e, t = {}) { + const n = Lz(e), { events: o } = n, r = Nz(e, n), s = xz(e, n), a = X9(n, s), i = Sz(e, n, s, a), c = hz(e, n, r, i.api), l = dz(e, n, s, a, r, c), u = vz(e, n, c, l.api), f = Pz(e, n, s, a, i), d = jz(e, n, t, s, a, i), p = Iz(e, n, s, a, l.api, d), g = _z(e, n, s, a, { ...r.api, ...p.api }), h = Fz(e, n, a, i, d), m = ys("stage", [ r.api, - i.api, - l.api, a.api, + l.api, u.api, + i.api, f.api, d.api, p.api, + g.api, h.api, { onPageChanged: o.pageChanged.on, @@ -19056,23 +19662,23 @@ function P9(e, t = {}) { } ]); return { - api: g, - connect: () => pB(e, g) + api: m, + connect: () => k9(e, m) }; } -const xt = At("stage", { +const At = St("stage", { hint: "add stagePlugin() from '@embedpdf/plugin-stage' to your plugins list" -}), hx = (e = {}) => { - const { id: t = BM, token: n = xt, ...o } = e; +}), Ix = (e = {}) => { + const { id: t = mE, token: n = At, ...o } = e; return { id: t, token: n, scope: "document", - optional: [yn], - state: () => XB(o), - create: (r) => P9(r, o) + optional: [An], + state: () => sz(o), + create: (r) => Dz(r, o) }; -}, gx = ln(xt, { +}, _x = pn(At, { read: (e) => ({ zoomLevel: e.getZoomLevel(), zoomMode: e.getZoomMode(), @@ -19084,7 +19690,7 @@ const xt = At("stage", { }), empty: { zoomLevel: 1, - zoomMode: nn.Automatic, + zoomMode: cn.Automatic, currentPageIndex: 0, currentPage: null, pageCount: 0, @@ -19092,7 +19698,7 @@ const xt = At("stage", { activeRules: [] } }); -function O9(e, t, n = {}) { +function $z(e, t, n = {}) { const o = n.panFallback ?? !0; let r = { x: 0, y: 0 }; const s = () => t.getActiveTool().enables.has("scroll"); @@ -19100,18 +19706,18 @@ function O9(e, t, n = {}) { id: "stage-scroll", priority: 10, // below page-aware handlers (selection, annotation), which claim first - enabledFor: (i) => i.enables.has("scroll") || o && i.gapCursor === void 0, - onPointerDown: (i) => !s() && i.page ? !1 : (r = i.viewport, t.claimCursor("stage-grab", "grabbing", 40), !0), - onPointerMove: (i) => { - e.panBy(i.viewport.x - r.x, i.viewport.y - r.y), r = i.viewport; + enabledFor: (a) => a.enables.has("scroll") || o && a.gapCursor === void 0, + onPointerDown: (a) => !s() && a.page ? !1 : (r = a.viewport, t.claimCursor("stage-grab", "grabbing", 40), !0), + onPointerMove: (a) => { + e.panBy(a.viewport.x - r.x, a.viewport.y - r.y), r = a.viewport; }, onPointerUp: () => t.claimCursor("stage-grab", null), - onHover: (i) => { - o && !s() && t.claimCursor("stage-pan-fallback", i.page ? null : "grab", 5); + onHover: (a) => { + o && !s() && t.claimCursor("stage-pan-fallback", a.page ? null : "grab", 5); } }; } -function M9(e, t) { +function Bz(e, t) { return { id: "stage-zoom-drag", priority: 10, @@ -19124,54 +19730,54 @@ function M9(e, t) { onHover: (n) => t.claimCursor("stage-zoom-out", n.modifiers.alt ? "zoom-out" : null) }; } -const u0 = At("feedback"), cn = At("interaction", { +const A0 = St("feedback"), fn = St("interaction", { hint: "add interactionPlugin() from '@embedpdf/plugin-interaction' to your plugins list" -}), E9 = { defaultTool: "pointer", tools: [] }, Ot = cn, ml = (e, t) => e.project?.(t) ?? (e.page?.ref.objectNumber === t.objectNumber ? e.page.point : null), d0 = Xt(null), C9 = d0.Provider, nE = Xt(null), I9 = nE.Provider; -function _9() { - return rt(d0); +}), zz = { defaultTool: "pointer", tools: [] }, _t = fn, ml = (e, t) => e.project?.(t) ?? (e.page?.ref.objectNumber === t.objectNumber ? e.page.point : null), S0 = Yt(null), Wz = S0.Provider, RE = Yt(null), Uz = RE.Provider; +function Kz() { + return rt(S0); } -function oE() { - const e = rt(d0); +function LE() { + const e = rt(S0); if (!e) throw new Error( "No ViewProjector in scope: mount anchored UI under (overlay slot) or ." ); return e; } -function Mp(e) { - const t = rt(nE); - return !e.anchor?.bounds || t && !t.has(e.anchor.page.objectNumber) ? null : /* @__PURE__ */ C(N9, { ...e }); +function _p(e) { + const t = rt(RE); + return !e.anchor?.bounds || t && !t.has(e.anchor.page.objectNumber) ? null : /* @__PURE__ */ I(qz, { ...e }); } -function N9({ +function qz({ anchor: e, placement: t = "top", gap: n = 8, pinned: o = !1, children: r }) { - const { projector: s, subscribe: i } = oE(), [a, c] = ke(null), [l, u] = ke(null), [, f] = cs((h) => h + 1, 0); - if (Ne(() => i ? i(f) : void 0, [i]), Ne(() => { + const { projector: s, subscribe: a } = LE(), [i, c] = ke(null), [l, u] = ke(null), [, f] = ls((g) => g + 1, 0); + if (_e(() => a ? a(f) : void 0, [a]), _e(() => { s.space === "client" && f(); - }, [s, e]), Ne(() => { - if (a) - return VF( - a, + }, [s, e]), _e(() => { + if (i) + return t$( + i, s.space, - (h) => u((g) => HF(g, h) ? g : h) + (g) => u((h) => e$(h, g) ? h : g) ); - }, [a, s.space]), Se(() => { - if (!a) return; - const h = (g) => g.stopPropagation(); - return a.addEventListener("pointerdown", h), () => a.removeEventListener("pointerdown", h); - }, [a]), !e?.bounds) return null; - const d = KF( + }, [i, s.space]), Se(() => { + if (!i) return; + const g = (h) => h.stopPropagation(); + return i.addEventListener("pointerdown", g), () => i.removeEventListener("pointerdown", g); + }, [i]), !e?.bounds) return null; + const d = ZD( s, { ...e, bounds: e.bounds }, { placement: t, gap: n, pinned: o }, l ); if (!d) return null; - const p = /* @__PURE__ */ C( + const p = /* @__PURE__ */ I( "div", { ref: c, @@ -19188,17 +19794,17 @@ function N9({ children: r } ); - return s.space === "client" ? typeof document > "u" ? null : _y(p, document.body) : p; + return s.space === "client" ? typeof document > "u" ? null : Ky(p, document.body) : p; } -const rE = Xt(null); -function T9({ token: e, children: t }) { - return /* @__PURE__ */ C(rE.Provider, { value: e, children: t }); +const jE = Yt(null); +function Hz({ token: e, children: t }) { + return /* @__PURE__ */ I(jE.Provider, { value: e, children: t }); } -function mi(e) { - const t = rt(rE); - return e ?? t ?? xt; +function ya(e) { + const t = rt(jE); + return e ?? t ?? At; } -const R9 = Object.freeze({ +const Vz = Object.freeze({ scrollLeft: 0, scrollTop: 0, scrollWidth: 0, @@ -19208,108 +19814,108 @@ const R9 = Object.freeze({ scrollableX: !1, scrollableY: !1 }); -function L9(e) { - const t = sE(mi(e)), n = Ko(); - return wt( - (o) => o.tryCapability(t, n ?? void 0)?.getScrollMetrics() ?? R9 +function Gz(e) { + const t = FE(ya(e)), n = Ko(); + return vt( + (o) => o.tryCapability(t, n ?? void 0)?.getScrollMetrics() ?? Vz ); } -const sE = (e) => e; -function Dm({ +const FE = (e) => e; +function Hm({ axis: e, token: t, autoHide: n = 1200, minThumbSize: o = 24, trackPress: r = "page", className: s, - style: i, - thumbClassName: a, + style: a, + thumbClassName: i, thumbStyle: c }) { - const l = mi(t), u = Ge(sE(l)), f = L9(l), d = e === "y", p = d ? f.scrollableY : f.scrollableX, h = me(null), [g, m] = ke(0), [M, x] = ke(!1), [S, P] = ke(!1), [k, A] = ke(!0), y = zk(f, d, g, o), w = n === !1 ? 0 : n; + const l = ya(t), u = Ge(FE(l)), f = Gz(l), d = e === "y", p = d ? f.scrollableY : f.scrollableX, g = ye(null), [h, m] = ke(0), [O, E] = ke(!1), [P, k] = ke(!1), [A, w] = ke(!0), b = ox(f, d, h, o), v = n === !1 ? 0 : n; Se(() => { - if (!w) return; - A(!0); - const T = setTimeout(() => A(!1), w); - return () => clearTimeout(T); - }, [f, w]); - const O = !w || k || S || M; + if (!v) return; + w(!0); + const N = setTimeout(() => w(!1), v); + return () => clearTimeout(N); + }, [f, v]); + const x = !v || A || P || O; Se(() => { - const T = h.current; - if (!T) return; - const _ = () => m(d ? T.clientHeight : T.clientWidth), N = new ResizeObserver(_); - return N.observe(T), _(), () => N.disconnect(); + const N = g.current; + if (!N) return; + const _ = () => m(d ? N.clientHeight : N.clientWidth), T = new ResizeObserver(_); + return T.observe(N), _(), () => T.disconnect(); }, [d, p]); - const b = He(() => T$(x), []), v = () => ({ + const y = He(() => zB(E), []), M = () => ({ stage: u, vertical: d, - element: h.current, - layout: y, + element: g.current, + layout: b, // Fresh geometry for paging steps — read from the capability, never a stale render. - liveLayout: () => zk(u.getScrollMetrics(), d, g, o) + liveLayout: () => ox(u.getScrollMetrics(), d, h, o) }); - if (Se(() => () => b.release(), [b]), !p) return null; - const E = d ? { position: "absolute", top: 0, right: 0, bottom: 0, width: 12 } : { position: "absolute", left: 0, right: 0, bottom: 0, height: 12 }, I = d ? { + if (Se(() => () => y.release(), [y]), !p) return null; + const S = d ? { position: "absolute", top: 0, right: 0, bottom: 0, width: 12 } : { position: "absolute", left: 0, right: 0, bottom: 0, height: 12 }, C = d ? { position: "absolute", left: 2, right: 2, - top: y.thumbPosition, - height: y.thumbLength + top: b.thumbPosition, + height: b.thumbLength } : { position: "absolute", top: 2, bottom: 2, - left: y.thumbPosition, - width: y.thumbLength + left: b.thumbPosition, + width: b.thumbLength }; - return /* @__PURE__ */ C( + return /* @__PURE__ */ I( "div", { - ref: h, + ref: g, role: "scrollbar", "aria-orientation": d ? "vertical" : "horizontal", "aria-valuemin": 0, - "aria-valuemax": Math.round(y.maxOffset), - "aria-valuenow": Math.round(y.offset), + "aria-valuemax": Math.round(b.maxOffset), + "aria-valuenow": Math.round(b.offset), "data-embedpdf-scrollbar": "", "data-axis": e, - "data-state": O ? "visible" : "hidden", - "data-dragging": M ? "" : void 0, + "data-state": x ? "visible" : "hidden", + "data-dragging": O ? "" : void 0, className: s, style: { - ...E, + ...S, touchAction: "none", userSelect: "none", - opacity: O ? 1 : 0, + opacity: x ? 1 : 0, transition: "opacity 200ms", // a hidden overlay bar must not eat the clicks under it - pointerEvents: O ? "auto" : "none", - ...i + pointerEvents: x ? "auto" : "none", + ...a }, - onPointerDown: (T) => b.pressTrack(T, v(), r), - onPointerMove: (T) => b.move(T, v()), - onPointerUp: () => b.release(), - onPointerCancel: () => b.release(), - onPointerEnter: () => P(!0), - onPointerLeave: () => P(!1), - children: /* @__PURE__ */ C( + onPointerDown: (N) => y.pressTrack(N, M(), r), + onPointerMove: (N) => y.move(N, M()), + onPointerUp: () => y.release(), + onPointerCancel: () => y.release(), + onPointerEnter: () => k(!0), + onPointerLeave: () => k(!1), + children: /* @__PURE__ */ I( "div", { "data-embedpdf-scrollbar-thumb": "", - className: a, + className: i, style: { - ...I, + ...C, borderRadius: 6, - background: Gl("scrollbar-thumb"), + background: Ql("scrollbar-thumb"), ...c }, - onPointerDown: (T) => b.pressThumb(T, v()) + onPointerDown: (N) => y.pressThumb(N, M()) } ) } ); } -function j9({ +function Yz({ documentId: e, page: t, frame: n, @@ -19317,8 +19923,8 @@ function j9({ render: r, chrome: s }) { - const i = me(null), a = t.transform, c = hi((p) => p.page), l = _$(a, n, { x: t.screenX, y: t.screenY }), u = t.ref.objectNumber, f = He(() => ut(u), [u]), d = He( - () => E$( + const a = ye(null), i = t.transform, c = ma((p) => p.page), l = $B(i, n, { x: t.screenX, y: t.screenY }), u = t.ref.objectNumber, f = He(() => dt(u), [u]), d = He( + () => jB( e, // the hosting lens — per-view raster planning keys tile state by it, // so a thumbnail rail and the main view never fight over one plan @@ -19326,14 +19932,14 @@ function j9({ f, t.pageIndex, n, - a, - () => i.current.getBoundingClientRect(), - () => N$(o, u, a.deviceWidth) + i, + () => a.current.getBoundingClientRect(), + () => BB(o, u, i.deviceWidth) ), - [e, f, u, t.pageIndex, n, a, o] + [e, f, u, t.pageIndex, n, i, o] ); - return /* @__PURE__ */ C("div", { style: { position: "absolute", ...l.outer }, children: /* @__PURE__ */ C(aB, { value: d, children: [ - /* @__PURE__ */ C( + return /* @__PURE__ */ I("div", { style: { position: "absolute", ...l.outer }, children: /* @__PURE__ */ I(g9, { value: d, children: [ + /* @__PURE__ */ I( "div", { style: { @@ -19343,10 +19949,10 @@ function j9({ } } ), - /* @__PURE__ */ C( + /* @__PURE__ */ I( "div", { - ref: i, + ref: a, style: { position: "absolute", ...l.content, @@ -19363,9 +19969,9 @@ function j9({ s?.(d) ] }) }); } -function F9({ token: e }) { - const n = Xe(e, (s) => s.getZoomBox()), o = Xe(e, (s) => s.getSettings().zoomBox), r = hi((s) => s.accent); - return n ? /* @__PURE__ */ C( +function Qz({ token: e }) { + const n = Ze(e, (s) => s.getZoomBox()), o = Ze(e, (s) => s.getSettings().zoomBox), r = ma((s) => s.accent); + return n ? /* @__PURE__ */ I( "svg", { "aria-hidden": !0, @@ -19378,112 +19984,112 @@ function F9({ token: e }) { overflow: "visible", pointerEvents: "none" }, - children: /* @__PURE__ */ C( + children: /* @__PURE__ */ I( "rect", { width: n.width, height: n.height, strokeWidth: 1, - strokeDasharray: wM, - style: ND(o, r) + strokeDasharray: YM, + style: B$(o, r) } ) } ) : null; } -function iE({ +function DE({ children: e, pageChrome: t, overlay: n, tool: o, onToolChange: r, token: s, - className: i, - style: a + className: a, + style: i }) { - const c = mi(s), l = Ge(c), u = at(Ot); + const c = ya(s), l = Ge(c), u = ct(_t); Se(() => { o === void 0 || !u || u.getActiveToolId() !== o && u.activateTool(o); - }, [o, u]), s0( - cn, - (w) => w.onToolChanged, - (w) => r?.(w.toolId) + }, [o, u]), y0( + fn, + (v) => v.onToolChanged, + (v) => r?.(v.toolId) ); - const f = Xe(c, (w) => w.getSettings().interaction), d = Xe(c, (w) => w.getSettings().panFallback), p = Xe(c, (w) => w.getSettings().zoomGestures), h = f && !!u, g = wt(() => u?.getCursor() ?? "default"), m = me(null), M = tn(), x = Xe(c, (w) => w.listVisiblePages()), S = Xe( + const f = Ze(c, (v) => v.getSettings().interaction), d = Ze(c, (v) => v.getSettings().panFallback), p = Ze(c, (v) => v.getSettings().zoomGestures), g = f && !!u, h = vt(() => u?.getCursor() ?? "default"), m = ye(null), O = an(), E = Ze(c, (v) => v.listVisiblePages()), P = Ze( c, - (w) => w.getSettings().pageFrame, - (w, O) => w.top === O.top && w.right === O.right && w.bottom === O.bottom && w.left === O.left - ), P = He(() => O$(() => l), [l]), k = He( - () => ({ projector: P, revision: x }), - [P, x] - ), A = x.map((w) => w.ref.objectNumber).join(","), y = He( - () => new Set(A ? A.split(",").map(Number) : []), - [A] + (v) => v.getSettings().pageFrame, + (v, x) => v.top === x.top && v.right === x.right && v.bottom === x.bottom && v.left === x.left + ), k = He(() => RB(() => l), [l]), A = He( + () => ({ projector: k, revision: E }), + [k, E] + ), w = E.map((v) => v.ref.objectNumber).join(","), b = He( + () => new Set(w ? w.split(",").map(Number) : []), + [w] ); - return Ne(() => { - const w = m.current, O = fD(w, l, { - hub: h ? u : null, + return _e(() => { + const v = m.current, x = v$(v, l, { + hub: g ? u : null, source: l.getLensId(), zoomGestures: p - }), b = h && u ? u.registerHandler(O9(l, u, { panFallback: d }), { + }), y = g && u ? u.registerHandler($z(l, u, { panFallback: d }), { source: l.getLensId() - }) : null, v = h && u ? u.registerHandler(M9(l, u), { source: l.getLensId() }) : null; + }) : null, M = g && u ? u.registerHandler(Bz(l, u), { source: l.getLensId() }) : null; return () => { - v?.(), b?.(), O(); + M?.(), y?.(), x(); }; - }, [l, u, h, p, d]), /* @__PURE__ */ C( + }, [l, u, g, p, d]), /* @__PURE__ */ I( "div", { ref: m, - className: i, + className: a, style: { position: "relative", overflow: "hidden", touchAction: "none", - ...h ? { cursor: g } : null, - ...a + ...g ? { cursor: h } : null, + ...i }, - children: /* @__PURE__ */ C(T9, { token: c, children: [ - x.map((w) => /* @__PURE__ */ C( - j9, + children: /* @__PURE__ */ I(Hz, { token: c, children: [ + E.map((v) => /* @__PURE__ */ I( + Yz, { - documentId: M ?? "", - page: w, - frame: S, + documentId: O ?? "", + page: v, + frame: P, stage: l, render: e, chrome: t }, - w.ref.objectNumber + v.ref.objectNumber )), - /* @__PURE__ */ C(F9, { token: c }), - /* @__PURE__ */ C(I9, { value: y, children: /* @__PURE__ */ C(C9, { value: k, children: n }) }) + /* @__PURE__ */ I(Qz, { token: c }), + /* @__PURE__ */ I(Uz, { value: b, children: /* @__PURE__ */ I(Wz, { value: A, children: n }) }) ] }) } ); } -function mx(e) { - return Ge(mi(e)); +function Nx(e) { + return Ge(ya(e)); } -function Sa(e, t) { - const n = mi(t), o = Ko(); - return wt((r) => { - const s = r.tryCapability(n, o ?? void 0), i = s ? gx.read(s) : gx.empty; - return e ? e(i) : i; - }, Kl); +function Ai(e, t) { + const n = ya(t), o = Ko(); + return vt((r) => { + const s = r.tryCapability(n, o ?? void 0), a = s ? _x.read(s) : _x.empty; + return e ? e(a) : a; + }, Hl); } -const Cd = { +const Nd = { engaged: !1, paint: [], fetching: [], stamp: "empty" -}, bx = 640, D9 = [1, 2, 4, 8, 16, 32]; -function $9(e) { +}, Tx = 640, Xz = [1, 2, 4, 8, 16, 32]; +function Zz(e) { const t = e.tiles === !1 ? void 0 : e.tiles; return { fullPage: { - maxWidth: e.fullPage?.maxWidth ?? bx, - maxWidthExplicit: e.fullPage?.maxWidth !== void 0 && e.fullPage.maxWidth !== bx, + maxWidth: e.fullPage?.maxWidth ?? Tx, + maxWidthExplicit: e.fullPage?.maxWidth !== void 0 && e.fullPage.maxWidth !== Tx, quantize: e.fullPage?.quantize ?? "exact" }, tiles: { @@ -19496,14 +20102,14 @@ function $9(e) { prefetchMargin: t?.prefetch?.margin ?? 0.5, velocityBias: t?.prefetch?.velocityBias ?? !0, settleMs: t?.settleMs ?? 150, - fallbackPyramid: D9 + fallbackPyramid: Xz }, format: e.format ?? void 0, quality: e.quality ?? void 0, debug: e.debug ?? !1 }; } -const ro = At("render", { +const ro = St("render", { hint: "add renderPlugin() from '@embedpdf/plugin-render' to your plugins list", // Without a document, an adapter's stand-in rejects these with `not-ready`, as the // capability would; the type asks for every member that returns a promise. @@ -19512,7 +20118,7 @@ const ro = At("render", { renderThumbnail: !0, renderPages: !0 } -}), B9 = 16e6, z9 = { +}), Jz = 16e6, eW = { fullPage: { maxWidth: 640, quantize: "exact" }, tiles: { size: 512, @@ -19527,8 +20133,8 @@ const ro = At("render", { slowAfterMs: 400, debug: !1, snapshot: { scale: 2, box: { fill: null, stroke: null } } -}, oa = "snapshot"; -class W9 { +}, oi = "snapshot"; +class tW { constructor() { this.entries = /* @__PURE__ */ new Map(), this.kept = /* @__PURE__ */ new Map(); } @@ -19537,52 +20143,52 @@ class W9 { const s = this.entries.get(n); if (s) return s.resolved && this.keep(t, n), this.attach(n, s, r); - const i = { + const a = { group: t, promise: void 0, refs: 0, abort: new AbortController(), resolved: !1 }; - return i.promise = o(i.abort.signal).then( - (a) => (i.resolved = !0, this.keep(t, n), a), - (a) => { - throw this.drop(n, i), a; + return a.promise = o(a.abort.signal).then( + (i) => (a.resolved = !0, this.keep(t, n), i), + (i) => { + throw this.drop(n, a), i; } - ), i.promise.catch(() => { - }), this.entries.set(n, i), this.attach(n, i, r); + ), a.promise.catch(() => { + }), this.entries.set(n, a), this.attach(n, a, r); } /** Keep `key` as the group's newest set, letting go of the oldest beyond the few kept. */ keep(t, n) { const o = (this.kept.get(t) ?? []).filter((s) => s !== n); o.push(n); - const r = o.splice(0, Math.max(0, o.length - U9)); + const r = o.splice(0, Math.max(0, o.length - nW)); this.kept.set(t, o); for (const s of r) { - const i = this.entries.get(s); - i && i.refs <= 0 && this.entries.delete(s); + const a = this.entries.get(s); + a && a.refs <= 0 && this.entries.delete(s); } } isKept(t, n) { return this.kept.get(t)?.includes(n) ?? !1; } attach(t, n, o) { - if (o?.aborted) return Promise.reject(lg(o)); + if (o?.aborted) return Promise.reject(hg(o)); if (n.refs += 1, !o) { const s = () => this.release(t, n); return n.promise.then(s, s), n.promise; } let r = !1; - return new Promise((s, i) => { - const a = () => { - r || (r = !0, n.refs -= 1, n.refs <= 0 && !n.resolved && (n.abort.abort(lg(o)), this.drop(t, n)), i(lg(o))); + return new Promise((s, a) => { + const i = () => { + r || (r = !0, n.refs -= 1, n.refs <= 0 && !n.resolved && (n.abort.abort(hg(o)), this.drop(t, n)), a(hg(o))); }; - o.addEventListener("abort", a, { once: !0 }), n.promise.then( + o.addEventListener("abort", i, { once: !0 }), n.promise.then( (c) => { - r || (r = !0, this.release(t, n), o.removeEventListener("abort", a), s(c)); + r || (r = !0, this.release(t, n), o.removeEventListener("abort", i), s(c)); }, (c) => { - r || (r = !0, this.release(t, n), o.removeEventListener("abort", a), i(c)); + r || (r = !0, this.release(t, n), o.removeEventListener("abort", i), a(c)); } ); }); @@ -19595,43 +20201,43 @@ class W9 { this.entries.get(t) === n && this.entries.delete(t); } } -const U9 = 4, K9 = 200; -class q9 { +const nW = 4, oW = 200; +class rW { constructor() { this.families = /* @__PURE__ */ new Map(); } /** A fetch's pictures, grouped by item: each replaces what its item had. */ remember(t, n, o) { const r = this.families.get(t) ?? /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(); - for (const i of n) { - const a = o(i); - s.set(a, [...s.get(a) ?? [], i]); + for (const a of n) { + const i = o(a); + s.set(i, [...s.get(i) ?? [], a]); } - for (const [i, a] of s) - r.delete(i), r.set(i, a); - for (; r.size > K9; ) r.delete(r.keys().next().value); + for (const [a, i] of s) + r.delete(a), r.set(a, i); + for (; r.size > oW; ) r.delete(r.keys().next().value); this.families.set(t, r); } of(t, n) { return this.families.get(t)?.get(n) ?? []; } } -function lg(e) { +function hg(e) { return e.reason ?? new DOMException("aborted", "AbortError"); } -const $m = (e) => e.flatMap((t) => t.page ? [t.page.objectNumber] : []), Fr = (e, t) => e.length ? { pages: [...new Set(e)], scope: t } : null; -function H9(e) { - const t = $m(e.meta.changedWidgets); - return "widgets" in e && t.push(...$m(e.widgets)), "page" in e && e.page && t.push(e.page.objectNumber), t; +const Vm = (e) => e.flatMap((t) => t.page ? [t.page.objectNumber] : []), $r = (e, t) => e.length ? { pages: [...new Set(e)], scope: t } : null; +function sW(e) { + const t = Vm(e.meta.changedWidgets); + return "widgets" in e && t.push(...Vm(e.widgets)), "page" in e && e.page && t.push(e.page.objectNumber), t; } -function V9(e, t) { +function aW(e, t) { switch (e.type) { case "annotations.created": case "annotations.updated": case "annotations.deleted": case "annotations.restored": case "annotations.reordered": - return Fr([e.page.objectNumber], "annotations"); + return $r([e.page.objectNumber], "annotations"); case "forms.valueSet": case "forms.created": case "forms.updated": @@ -19643,38 +20249,38 @@ function V9(e, t) { case "forms.widgetRestored": case "forms.widgetUpdated": case "forms.widgetsReordered": - return Fr(H9(e), "fields"); + return $r(sW(e), "fields"); // A coarse result (counts only, no per-widget detail): repaint every page. case "forms.repaired": - return Fr(t(), "fields"); + return $r(t(), "fields"); // Sealing bakes the signature into its widget's appearance. case "signatures.completed": - return Fr( - e.signature.widget ? $m([e.signature.widget]) : [], + return $r( + e.signature.widget ? Vm([e.signature.widget]) : [], "fields" ); // These rewrite the page content itself. case "redaction.applied": case "pages.flattened": - return Fr( + return $r( e.results.filter((n) => n.status === "applied").map((n) => n.page.objectNumber), "content" ); case "annotations.flattened": - return Fr( + return $r( e.results.some((n) => n.status === "applied") ? [e.page.objectNumber] : [], "content" ); // The stream lost events that will never arrive: any page may be stale. case "stream.desynced": - return Fr(t(), "content"); + return $r(t(), "content"); // The engine's own fonts changed, with no write behind it (a font // registered after the first pages were drawn): a page's text draws a // glyph its font lacks from a fallback, so any page may be stale. A // write's `fonts.changed` carries its `transaction`; that write's own events // repaint what it changed. case "fonts.changed": - return e.origin.transaction ? null : Fr(t(), "content"); + return e.origin.transaction ? null : $r(t(), "content"); // pages.* replace the page registry: the kernel's `pagesSequence` bump already // re-keys every layout, and metadata never touches pixels. A new saved // version changes no pixels beyond the signature it seals. The @@ -19683,44 +20289,44 @@ function V9(e, t) { return null; } } -const G9 = () => ({ +const iW = () => ({ contentEpochs: {}, annotationEpochs: {}, fieldEpochs: {}, snapshot: null }); -function Ni(e, t) { +function Ra(e, t) { return e.snapshot === t ? e : { ...e, snapshot: t }; } -const ug = (e, t) => { +const gg = (e, t) => { const n = { ...e }; for (const o of t) n[o] = (n[o] ?? 0) + 1; return n; }; -function Y9(e, t, n) { +function cW(e, t, n) { if (t.length === 0) return e; switch (n) { case "content": - return { ...e, contentEpochs: ug(e.contentEpochs, t) }; + return { ...e, contentEpochs: gg(e.contentEpochs, t) }; case "annotations": - return { ...e, annotationEpochs: ug(e.annotationEpochs, t) }; + return { ...e, annotationEpochs: gg(e.annotationEpochs, t) }; case "fields": - return { ...e, fieldEpochs: ug(e.fieldEpochs, t) }; + return { ...e, fieldEpochs: gg(e.fieldEpochs, t) }; } } -function Q9(e, t, n) { +function lW(e, t, n) { return (e.contentEpochs[t] ?? 0) + (n.includeAnnotations ? e.annotationEpochs[t] ?? 0 : 0) + (n.includeFormFields ? e.fieldEpochs[t] ?? 0 : 0); } -const Bm = (e) => `a${e.includeAnnotations ? 1 : 0}f${e.includeFormFields ? 1 : 0}`, Ti = (e, t = !1) => Object.freeze({ status: e, slow: t }), ra = { - idle: Ti("idle"), - loading: Ti("loading"), - slow: Ti("loading", !0), - ready: Ti("ready"), - forbidden: Ti("forbidden"), - error: Ti("error") -}, X9 = (e) => sn(e, "permission-denied") || typeof e == "object" && e !== null && e.code === "permission-denied"; -function Z9(e) { +const Gm = (e) => `a${e.includeAnnotations ? 1 : 0}f${e.includeFormFields ? 1 : 0}`, La = (e, t = !1) => Object.freeze({ status: e, slow: t }), ri = { + idle: La("idle"), + loading: La("loading"), + slow: La("loading", !0), + ready: La("ready"), + forbidden: La("forbidden"), + error: La("error") +}, uW = (e) => un(e, "permission-denied") || typeof e == "object" && e !== null && e.code === "permission-denied"; +function dW(e) { let t = null; for (const n of e.reports) { if (n.shown) return "ready"; @@ -19728,67 +20334,67 @@ function Z9(e) { } return t ?? "loading"; } -function J9(e, t) { - return e === "loading" ? t ? ra.slow : ra.loading : ra[e]; +function fW(e, t) { + return e === "loading" ? t ? ri.slow : ri.loading : ri[e]; } -function ez(e, t) { +function pW(e, t) { const n = /* @__PURE__ */ new Map(); let o = !1; e.cleanup(() => { o = !0; - for (const a of n.values()) for (const c of a.values()) c.cancelSlow?.(); + for (const i of n.values()) for (const c of i.values()) c.cancelSlow?.(); n.clear(); }); - function r(a, c) { - const l = c.reports.size === 0 ? "idle" : Z9(c); + function r(i, c) { + const l = c.reports.size === 0 ? "idle" : dW(c); if (l !== "loading") c.cancelSlow?.(), c.cancelSlow = null, c.slow = !1; else if (!c.slow && !c.cancelSlow) { const f = e.settings().get().slowAfterMs; f <= 0 ? c.slow = !0 : c.cancelSlow = e.clock.after(f, () => { - c.cancelSlow = null, c.slow = !0, r(a, c); + c.cancelSlow = null, c.slow = !0, r(i, c); }); } - const u = J9(l, c.slow); - c.state !== u && (c.state = u, e.notify(), t({ page: c.page, view: a, ...u })); + const u = fW(l, c.slow); + c.state !== u && (c.state = u, e.notify(), t({ page: c.page, view: i, ...u })); } - function s(a, c) { - return n.get(a)?.get(c)?.state ?? ra.idle; + function s(i, c) { + return n.get(i)?.get(c)?.state ?? ri.idle; } - function i(a, c) { + function a(i, c) { const l = { shown: !1, failure: null }; if (o) return { shown() { }, failed() { }, close() { } }; - let u = n.get(a); - u || n.set(a, u = /* @__PURE__ */ new Map()); + let u = n.get(i); + u || n.set(i, u = /* @__PURE__ */ new Map()); let f = u.get(c.objectNumber); f || (f = { page: c, reports: /* @__PURE__ */ new Set(), slow: !1, cancelSlow: null, - state: ra.idle + state: ri.idle }, u.set(c.objectNumber, f)); const d = f; - d.reports.add(l), r(a, d); + d.reports.add(l), r(i, d); let p = !0; return { shown() { - !p || o || l.shown || (l.shown = !0, l.failure = null, r(a, d)); + !p || o || l.shown || (l.shown = !0, l.failure = null, r(i, d)); }, - failed(h) { - !p || o || l.shown || (l.failure = X9(h) ? "forbidden" : "error", r(a, d)); + failed(g) { + !p || o || l.shown || (l.failure = uW(g) ? "forbidden" : "error", r(i, d)); }, close() { - !p || o || (p = !1, d.reports.delete(l), d.reports.size === 0 && n.get(a)?.get(c.objectNumber) === d && n.get(a).delete(c.objectNumber), r(a, d)); + !p || o || (p = !1, d.reports.delete(l), d.reports.size === 0 && n.get(i)?.get(c.objectNumber) === d && n.get(i).delete(c.objectNumber), r(i, d)); } }; } - return { open: i, stateIn: s }; + return { open: a, stateIn: s }; } -class tz { +class hW { constructor(t = 128 * 1024 * 1024) { this.maxCost = t, this.entries = /* @__PURE__ */ new Map(), this.tick = 0, this.total = 0; } @@ -19796,19 +20402,19 @@ class tz { const r = this.entries.get(t); if (r) return r.used = ++this.tick, this.attach(t, r, o); - const s = new AbortController(), i = { + const s = new AbortController(), a = { promise: void 0, refs: 0, abort: s, used: ++this.tick }; - return i.promise = n(s.signal).then( - (a) => (i.handle = a, i.cost = nz(a), this.total += i.cost, this.evict(), a), - (a) => { - throw this.drop(t, i), a; + return a.promise = n(s.signal).then( + (i) => (a.handle = i, a.cost = gW(i), this.total += a.cost, this.evict(), i), + (i) => { + throw this.drop(t, a), i; } - ), i.promise.catch(() => { - }), this.entries.set(t, i), this.evict(), this.attach(t, i, o); + ), a.promise.catch(() => { + }), this.entries.set(t, a), this.evict(), this.attach(t, a, o); } /** Resolved handle if present — synchronous peek for paint-time reuse. */ peek(t) { @@ -19823,7 +20429,7 @@ class tz { return this.total; } attach(t, n, o) { - if (o?.aborted) return Promise.reject(dg(o)); + if (o?.aborted) return Promise.reject(mg(o)); if (n.refs += 1, !o) { const s = () => { n.refs -= 1; @@ -19831,16 +20437,16 @@ class tz { return n.promise.then(s, s), n.promise; } let r = !1; - return new Promise((s, i) => { - const a = () => { - r || (r = !0, n.refs -= 1, n.refs <= 0 && n.handle === void 0 && (n.abort.abort(dg(o)), this.drop(t, n)), i(dg(o))); + return new Promise((s, a) => { + const i = () => { + r || (r = !0, n.refs -= 1, n.refs <= 0 && n.handle === void 0 && (n.abort.abort(mg(o)), this.drop(t, n)), a(mg(o))); }; - o.addEventListener("abort", a, { once: !0 }), n.promise.then( + o.addEventListener("abort", i, { once: !0 }), n.promise.then( (c) => { - r || (r = !0, n.refs -= 1, o.removeEventListener("abort", a), s(c)); + r || (r = !0, n.refs -= 1, o.removeEventListener("abort", i), s(c)); }, (c) => { - r || (r = !0, n.refs -= 1, o.removeEventListener("abort", a), i(c)); + r || (r = !0, n.refs -= 1, o.removeEventListener("abort", i), a(c)); } ); }); @@ -19858,163 +20464,163 @@ class tz { } } } -function nz(e) { +function gW(e) { return e.source?.kind === "bytes" ? e.source.bytes.byteLength : e.width !== void 0 && e.height !== void 0 ? e.width * e.height : 1; } -function dg(e) { +function mg(e) { return e.reason ?? new DOMException("aborted", "AbortError"); } -const oz = "doc.render", rz = "doc.content.copy", yx = "snapshot-box", wx = 4, vx = (e, t, n) => Math.min(n, Math.max(t, e)), kx = (e) => Math.abs(e.to.x - e.from.x) * e.scale >= wx || Math.abs(e.to.y - e.from.y) * e.scale >= wx; -function xx(e) { - const t = mB(e.from, e.to), n = 1 / e.scale; +const mW = "doc.render", bW = "doc.content.copy", Rx = "snapshot-box", Lx = 4, jx = (e, t, n) => Math.min(n, Math.max(t, e)), Fx = (e) => Math.abs(e.to.x - e.from.x) * e.scale >= Lx || Math.abs(e.to.y - e.from.y) * e.scale >= Lx; +function Dx(e) { + const t = S9(e.from, e.to), n = 1 / e.scale; return { ...t, width: Math.max(t.width, n), height: Math.max(t.height, n) }; } -function sz(e, t, n) { - const o = n.kind === "lattice" ? n.maxRenderPixels ?? 1 / 0 : 1 / 0, r = Math.min(B9, o), s = (a) => Math.ceil(e.width * a) * Math.ceil(e.height * a); - let i = Math.min(t, Math.sqrt(r / (e.width * e.height))); - for (; s(i) > r; ) i *= 0.999; - return i; +function yW(e, t, n) { + const o = n.kind === "lattice" ? n.maxRenderPixels ?? 1 / 0 : 1 / 0, r = Math.min(Jz, o), s = (i) => Math.ceil(e.width * i) * Math.ceil(e.height * i); + let a = Math.min(t, Math.sqrt(r / (e.width * e.height))); + for (; s(a) > r; ) a *= 0.999; + return a; } -function iz(e, { +function wW(e, { renderPage: t, renderPolicy: n, settings: o }) { - const r = e.events.source(), s = () => e.state.get().snapshot, i = () => e.allows(oz) && e.allows(rz); - let a = null, c = null; + const r = e.events.source(), s = () => e.state.get().snapshot, a = () => e.allows(mW) && e.allows(bW); + let i = null, c = null; function l() { c?.abort(), c = null; - const M = a; - a = null, e.state.update(Ni, null), M && r.emit({ snapshot: null }); - } - function u(M, x) { - const S = new AbortController(); - c = S; - const P = sz(x, o().scale, n()), k = e.cancellable(S.signal, e.changes.whenSettled()).then( - () => t(M.page, { - rect: x, - scale: P, - rotation: M.rotation, + const O = i; + i = null, e.state.update(Ra, null), O && r.emit({ snapshot: null }); + } + function u(O, E) { + const P = new AbortController(); + c = P; + const k = yW(E, o().scale, n()), A = e.cancellable(P.signal, e.changes.whenSettled()).then( + () => t(O.page, { + rect: E, + scale: k, + rotation: O.rotation, format: "png", - signal: S.signal + signal: P.signal }) ); - k.catch(() => { - }), a = { page: M.page, rect: x, image: k }, e.state.update(Ni, { - ...M, - from: { x: x.x, y: x.y }, - to: { x: x.x + x.width, y: x.y + x.height }, + A.catch(() => { + }), i = { page: O.page, rect: E, image: A }, e.state.update(Ra, { + ...O, + from: { x: E.x, y: E.y }, + to: { x: E.x + E.width, y: E.y + E.height }, held: !0 - }), r.emit({ snapshot: a }); - } - function f(M, x, S, P) { - return !i() || !e.getPage(M) ? !1 : (l(), e.state.update(Ni, { - page: M, - from: x, - to: x, - scale: S, - rotation: P, + }), r.emit({ snapshot: i }); + } + function f(O, E, P, k) { + return !a() || !e.getPage(O) ? !1 : (l(), e.state.update(Ra, { + page: O, + from: E, + to: E, + scale: P, + rotation: k, held: !1 }), !0); } - function d(M) { - const x = s(), S = x && !x.held ? e.getPage(x.page)?.size : void 0; - if (!x || !S) return; - const P = { x: vx(M.x, 0, S.width), y: vx(M.y, 0, S.height) }; - e.state.update(Ni, { ...x, to: P }); + function d(O) { + const E = s(), P = E && !E.held ? e.getPage(E.page)?.size : void 0; + if (!E || !P) return; + const k = { x: jx(O.x, 0, P.width), y: jx(O.y, 0, P.height) }; + e.state.update(Ra, { ...E, to: k }); } function p() { - const M = s(); - if (!M || M.held) return; - const x = e.getPage(M.page)?.size; - if (!x) { - e.state.update(Ni, null); + const O = s(); + if (!O || O.held) return; + const E = e.getPage(O.page)?.size; + if (!E) { + e.state.update(Ra, null); return; } - u(M, kx(M) ? xx(M) : { x: 0, y: 0, ...x }); + u(O, Fx(O) ? Dx(O) : { x: 0, y: 0, ...E }); } - function h() { - const M = s(); - M && !M.held && e.state.update(Ni, null); + function g() { + const O = s(); + O && !O.held && e.state.update(Ra, null); } - const g = { + const h = { id: "render-snapshot", priority: 10, - enabledFor: (M) => M.enables.has(yx), + enabledFor: (O) => O.enables.has(Rx), // A press between pages does nothing: a box lives on one page. - onPointerDown: (M) => M.page ? f( - M.page.ref, - M.page.point, - M.page.scale ?? 1, - M.page.rotation ?? 0 + onPointerDown: (O) => O.page ? f( + O.page.ref, + O.page.point, + O.page.scale ?? 1, + O.page.rotation ?? 0 ) : !1, - onPointerMove: (M) => { - const x = s(), S = x && ml(M, x.page); - S && d(S); + onPointerMove: (O) => { + const E = s(), P = E && ml(O, E.page); + P && d(P); }, - onPointerUp: (M) => { - const x = s(), S = x && ml(M, x.page); - S && d(S), p(); + onPointerUp: (O) => { + const E = s(), P = E && ml(O, E.page); + P && d(P), p(); }, - onPointerCancel: h - }, m = Ke( + onPointerCancel: g + }, m = qe( () => [s()], - (M) => M && (M.held || kx(M)) ? { page: M.page, rect: xx(M) } : null + (O) => O && (O.held || Fx(O)) ? { page: O.page, rect: Dx(O) } : null ); return { api: { - canSnapshot: i, + canSnapshot: a, // A snapshot of a page that left the document is gone with it. - getSnapshot: () => a && e.getPage(a.page) ? a : null, + getSnapshot: () => i && e.getPage(i.page) ? i : null, clearSnapshot: l, onSnapshotChanged: r.on, - getSnapshotBox: (M) => { - const x = m(); - return x && x.page.objectNumber === M.objectNumber ? x.rect : null; + getSnapshotBox: (O) => { + const E = m(); + return E && E.page.objectNumber === O.objectNumber ? E.rect : null; } }, /** Register the tool and its handler with the interaction hub, when there is one. */ connect() { - const M = e.tryGet(Ot); - M && (e.cleanup( - M.registerTool({ - id: oa, + const O = e.tryGet(_t); + O && (e.cleanup( + O.registerTool({ + id: oi, cursor: "crosshair", touch: "draw", - enables: /* @__PURE__ */ new Set([yx]) + enables: /* @__PURE__ */ new Set([Rx]) }) - ), e.cleanup(M.registerHandler(g)), e.listen(M.onToolChanged, ({ toolId: x }) => { - x !== oa && l(); + ), e.cleanup(O.registerHandler(h)), e.listen(O.onToolChanged, ({ toolId: E }) => { + E !== oi && l(); })); } }; } -const Id = (e) => [...e].sort((t, n) => t - n), Ax = (e, t) => { - const n = Id(e), o = n.filter((r) => r <= t); +const Td = (e) => [...e].sort((t, n) => t - n), $x = (e, t) => { + const n = Td(e), o = n.filter((r) => r <= t); return o.length ? o : n.slice(0, 1); }; -function aE(e, t) { - const n = e.kind === "lattice", o = n ? t.fullPage.maxWidthExplicit ? Ax(e.fullPage.widths, t.fullPage.maxWidth) : Id(e.fullPage.widths) : t.fullPage.quantize === "exact" ? null : Ax(t.fullPage.quantize, t.fullPage.maxWidth), r = t.tiles.quantize === "exact" ? null : Id(t.tiles.quantize), s = n ? e.tiles?.scales ? Id(e.tiles.scales) : r ?? t.tiles.fallbackPyramid : r, i = n && e.tiles?.tileSizes.length ? e.tiles.tileSizes.includes(t.tiles.size) ? t.tiles.size : e.tiles.tileSizes[0] : t.tiles.size, a = t.tiles.engageRatio ?? (o === null ? 1 : 1.25), c = t.format, l = c === void 0 ? void 0 : !n || e.formats.includes(c) ? c : e.formats[0]; +function $E(e, t) { + const n = e.kind === "lattice", o = n ? t.fullPage.maxWidthExplicit ? $x(e.fullPage.widths, t.fullPage.maxWidth) : Td(e.fullPage.widths) : t.fullPage.quantize === "exact" ? null : $x(t.fullPage.quantize, t.fullPage.maxWidth), r = t.tiles.quantize === "exact" ? null : Td(t.tiles.quantize), s = n ? e.tiles?.scales ? Td(e.tiles.scales) : r ?? t.tiles.fallbackPyramid : r, a = n && e.tiles?.tileSizes.length ? e.tiles.tileSizes.includes(t.tiles.size) ? t.tiles.size : e.tiles.tileSizes[0] : t.tiles.size, i = t.tiles.engageRatio ?? (o === null ? 1 : 1.25), c = t.format, l = c === void 0 ? void 0 : !n || e.formats.includes(c) ? c : e.formats[0]; return { widths: o, maxWidth: t.fullPage.maxWidth, pyramid: s, - tileSize: i, - engageRatio: a, + tileSize: a, + engageRatio: i, tileMaxScale: t.tiles.maxScale, format: l, quality: t.quality }; } -function cE(e, t) { +function BE(e, t) { const n = Math.max(1, Math.round(t)); return e.widths === null ? Math.min(n, e.maxWidth) : e.widths.find((o) => o >= n) ?? e.widths[e.widths.length - 1]; } -function Sx(e, t, n) { +function Bx(e, t, n) { return { scale: t, tileSize: n, @@ -20022,15 +20628,15 @@ function Sx(e, t, n) { rows: Math.max(1, Math.ceil(e.height * t / n)) }; } -const lE = (e) => e.tileSize / e.scale; -function _d(e, t, n) { - const o = lE(e), r = Math.max(0, Math.floor(n.x / o)), s = Math.max(0, Math.floor(n.y / o)), i = Math.min(e.cols - 1, Math.ceil((n.x + n.width) / o) - 1), a = Math.min(e.rows - 1, Math.ceil((n.y + n.height) / o) - 1), c = []; - for (let l = s; l <= a; l++) - for (let u = r; u <= i; u++) c.push({ ix: u, iy: l }); +const zE = (e) => e.tileSize / e.scale; +function Rd(e, t, n) { + const o = zE(e), r = Math.max(0, Math.floor(n.x / o)), s = Math.max(0, Math.floor(n.y / o)), a = Math.min(e.cols - 1, Math.ceil((n.x + n.width) / o) - 1), i = Math.min(e.rows - 1, Math.ceil((n.y + n.height) / o) - 1), c = []; + for (let l = s; l <= i; l++) + for (let u = r; u <= a; u++) c.push({ ix: u, iy: l }); return c; } -function az(e, t, n) { - const o = lE(e), r = n.ix * o, s = n.iy * o; +function vW(e, t, n) { + const o = zE(e), r = n.ix * o, s = n.iy * o; return { x: r, y: s, @@ -20038,7 +20644,7 @@ function az(e, t, n) { height: Math.min(o, t.height - s) }; } -function Px(e, t, n) { +function zx(e, t, n) { const o = Math.max(0, e.x - t), r = Math.max(0, e.y - t); return { x: o, @@ -20047,134 +20653,134 @@ function Px(e, t, n) { height: Math.min(n.height, e.y + e.height + t) - r }; } -function cz(e, t, n, o) { +function kW(e, t, n, o) { if (n.width <= 0 || n.height <= 0) return !0; - for (const r of _d(e, t, n)) + for (const r of Rd(e, t, n)) if (!o(r)) return !1; return !0; } -function lz(e, t, n) { +function xW(e, t, n) { const o = e.width * t, r = e.height * t; - let s = o, i = o, a = r, c = r; - return n && (n.dx > 0 ? (i = o * 2, s = o / 2) : n.dx < 0 && (s = o * 2, i = o / 2), n.dy > 0 ? (c = r * 2, a = r / 2) : n.dy < 0 && (a = r * 2, c = r / 2)), { + let s = o, a = o, i = r, c = r; + return n && (n.dx > 0 ? (a = o * 2, s = o / 2) : n.dx < 0 && (s = o * 2, a = o / 2), n.dy > 0 ? (c = r * 2, i = r / 2) : n.dy < 0 && (i = r * 2, c = r / 2)), { x: e.x - s, - y: e.y - a, - width: e.width + s + i, - height: e.height + a + c + y: e.y - i, + width: e.width + s + a, + height: e.height + i + c }; } -function uz(e, t) { +function AW(e, t) { const n = [...e].sort((o, r) => o - r); return n.find((o) => o >= t) ?? n[n.length - 1]; } -const Es = (e, t) => `${e}\0${t}`, dz = 8, fz = 64; -class pz { +const Es = (e, t) => `${e}\0${t}`, SW = 8, OW = 64; +class PW { constructor(t) { - this.deps = t, this.pages = /* @__PURE__ */ new Map(), this.strategy = Ke( + this.deps = t, this.pages = /* @__PURE__ */ new Map(), this.strategy = qe( () => [this.deps.getPolicy(), this.deps.getOptions()], - (n, o) => aE(n, o) + (n, o) => $E(n, o) ), this.inFlight = 0, this.warnedStageless = !1; } plan(t, n, o, r) { const s = this.deps.getOptions(); - if (!s.tiles.enabled) return Cd; - const i = this.strategy(), a = this.deps.getPageSize(n); - if (!a) return Cd; + if (!s.tiles.enabled) return Nd; + const a = this.strategy(), i = this.deps.getPageSize(n); + if (!i) return Nd; const c = this.deps.getEpoch(n, r), l = this.pageState(n, t); l.epoch !== c && (this.abortAll(l), l.entries.clear(), l.failedKeys.clear(), l.epoch = c, l.wantScale = null, l.wantWidth = null, l.planCache = null); - const u = cE(i, o.desiredDeviceWidth), f = o.desiredDeviceWidth / u; - if (f <= i.engageRatio) - return (l.entries.size || l.wantScale !== null) && (this.deps.debug?.(`disengage page=${n} (deficit ${f.toFixed(2)})`), this.abortAll(l), l.entries.clear(), l.failedKeys.clear(), l.wantScale = null, l.wantWidth = null, l.planCache = null, this.pump()), Cd; + const u = BE(a, o.desiredDeviceWidth), f = o.desiredDeviceWidth / u; + if (f <= a.engageRatio) + return (l.entries.size || l.wantScale !== null) && (this.deps.debug?.(`disengage page=${n} (deficit ${f.toFixed(2)})`), this.abortAll(l), l.entries.clear(), l.failedKeys.clear(), l.wantScale = null, l.wantWidth = null, l.planCache = null, this.pump()), Nd; let d, p; - if (i.pyramid ? (p = uz(i.pyramid, o.desiredDeviceWidth / a.width), d = Math.round(p * a.width)) : (d = Math.min( + if (a.pyramid ? (p = AW(a.pyramid, o.desiredDeviceWidth / i.width), d = Math.round(p * i.width)) : (d = Math.min( Math.max(1, Math.round(o.desiredDeviceWidth)), - Math.round(i.tileMaxScale * a.width) - ), p = d / a.width), !o.visibleRect) { - const E = Math.max( - i.tileSize, - Math.floor(i.tileSize * Math.sqrt(fz * a.width / a.height)) + Math.round(a.tileMaxScale * i.width) + ), p = d / i.width), !o.visibleRect) { + const S = Math.max( + a.tileSize, + Math.floor(a.tileSize * Math.sqrt(OW * i.width / i.height)) ); - if (d > E) + if (d > S) if (this.warnedStageless || (this.warnedStageless = !0, console.warn( - `[render] stage-less tile demand of ${Math.round(o.desiredDeviceWidth)} device px would tile the whole page — clamped to ${E}. Supply a visibleRect (host the page in a Stage) for sharp deep zoom.` - )), i.pyramid) { - const I = i.pyramid.filter( - (T) => Math.round(T * a.width) <= E + `[render] stage-less tile demand of ${Math.round(o.desiredDeviceWidth)} device px would tile the whole page — clamped to ${S}. Supply a visibleRect (host the page in a Stage) for sharp deep zoom.` + )), a.pyramid) { + const C = a.pyramid.filter( + (N) => Math.round(N * i.width) <= S ); - p = I.length ? I[I.length - 1] : i.pyramid[0], d = Math.round(p * a.width); + p = C.length ? C[C.length - 1] : a.pyramid[0], d = Math.round(p * i.width); } else - d = E, p = d / a.width; + d = S, p = d / i.width; } - const h = Sx(a, p, i.tileSize), g = o.visibleRect ?? { x: 0, y: 0, width: a.width, height: a.height }; - l.lastVisible = g; - const m = _d(h, a, g), M = lz( - g, + const g = Bx(i, p, a.tileSize), h = o.visibleRect ?? { x: 0, y: 0, width: i.width, height: i.height }; + l.lastVisible = h; + const m = Rd(g, i, h), O = xW( + h, s.tiles.prefetchMargin, s.tiles.velocityBias ? o.velocity : void 0 - ), x = new Set(m.map((E) => Ox(E))), S = _d(h, a, M).filter( - (E) => !x.has(Ox(E)) + ), E = new Set(m.map((S) => Wx(S))), P = Rd(g, i, O).filter( + (S) => !E.has(Wx(S)) ); this.schedule( n, l, - a, - h, + i, + g, p, d, r, c, m, - S, - g - ), this.releaseCovered(n, l, a, r) && (l.version += 1, l.planCache = null); - const P = `w${d}|${hz(g)}|e${c}`; - if (l.planCache && l.planCache.demandKey === P && l.planCache.version === l.version) + P, + h + ), this.releaseCovered(n, l, i, r) && (l.version += 1, l.planCache = null); + const k = `w${d}|${MW(h)}|e${c}`; + if (l.planCache && l.planCache.demandKey === k && l.planCache.version === l.version) return l.planCache.plan; - const k = [], A = [], y = [], w = this.deps.getOptions().tiles.bleedPx; - for (const E of l.entries.values()) { - const I = hl(E.rect, g); - if (E.resolved) { - if (I.width > 0 && I.height > 0) { - const T = this.deps.store.peek(E.key); - if (!T) { - y.push(E.key); + const A = [], w = [], b = [], v = this.deps.getOptions().tiles.bleedPx; + for (const S of l.entries.values()) { + const C = pl(S.rect, h); + if (S.resolved) { + if (C.width > 0 && C.height > 0) { + const N = this.deps.store.peek(S.key); + if (!N) { + b.push(S.key); continue; } - k.push({ - key: E.key, - scale: E.scale, + A.push({ + key: S.key, + scale: S.scale, // The placement rect is the bled one — it matches the bitmap the // fetch rendered. Retention/coverage math stays on the logical // (unbled) `entry.rect`; the overlap strips duplicate the // neighbor's content, so painting them is what kills the seams. - rect: w > 0 ? Px(E.rect, w / E.scale, a) : E.rect, + rect: v > 0 ? zx(S.rect, v / S.scale, i) : S.rect, z: 0, // ranked below — stacking is scale order among present entries - handle: T + handle: N }); } - } else E.scale === p && A.push(E.key); - } - for (const E of y) l.entries.delete(E); - const O = /* @__PURE__ */ new Map(), b = [...new Set(k.map((E) => E.scale))]; - for (const E of b.sort((I, T) => I - T)) O.set(E, O.size); - for (const E of k) E.z = O.get(E.scale); - k.sort((E, I) => E.z - I.z || E.key.localeCompare(I.key)); - const v = { + } else S.scale === p && w.push(S.key); + } + for (const S of b) l.entries.delete(S); + const x = /* @__PURE__ */ new Map(), y = [...new Set(A.map((S) => S.scale))]; + for (const S of y.sort((C, N) => C - N)) x.set(S, x.size); + for (const S of A) S.z = x.get(S.scale); + A.sort((S, C) => S.z - C.z || S.key.localeCompare(C.key)); + const M = { engaged: !0, - paint: k, - fetching: A.sort(), - stamp: `${P}|v${l.version}` + paint: A, + fetching: w.sort(), + stamp: `${k}|v${l.version}` }; - return l.planCache = { demandKey: P, version: l.version, plan: v }, v; + return l.planCache = { demandKey: k, version: l.version, plan: M }, M; } /** The layer's painted report: this key's pixels had a presentation opportunity. */ sourcePainted(t, n, o) { const r = this.pages.get(Es(t, n)), s = r?.entries.get(o); if (!r || !s || s.painted) return; s.painted = !0; - const i = this.deps.getPageSize(n); - i && this.releaseCovered(n, r, i, gz(o)), r.version += 1, r.planCache = null, this.deps.onAdvance(n); + const a = this.deps.getPageSize(n); + a && this.releaseCovered(n, r, a, EW(o)), r.version += 1, r.planCache = null, this.deps.onAdvance(n); } /** * The inverse report: this key's left the DOM (pan-away, plan drop), @@ -20213,42 +20819,42 @@ class pz { lastVisible: null }, this.pages.set(Es(n, t), o)), o; } - schedule(t, n, o, r, s, i, a, c, l, u, f) { - const d = this.deps.getOptions(), p = n.wantWidth === null, h = n.wantWidth !== null && n.wantWidth !== i; - h && n.failedKeys.clear(), n.wantScale = s, n.wantWidth = i; - const g = (y) => this.tileKey(t, i, y, a, c), m = new Set([...l, ...u].map(g)); - for (const [y, w] of n.entries) - m.has(y) || (w.resolved ? w.scale === s && n.entries.delete(y) : (w.abort?.abort(), this.releaseSlot(w), n.entries.delete(y))); - const M = f.x + f.width / 2, x = f.y + f.height / 2, S = r.tileSize / r.scale, P = (y) => { - const w = (y.ix + 0.5) * S - M, O = (y.iy + 0.5) * S - x; - return w * w + O * O; - }, k = [...l].sort( - (y, w) => P(y) - P(w) - ), A = () => { - const y = k.every((w) => { - const O = g(w); - return n.failedKeys.has(O) || n.entries.get(O)?.resolved === !0; + schedule(t, n, o, r, s, a, i, c, l, u, f) { + const d = this.deps.getOptions(), p = n.wantWidth === null, g = n.wantWidth !== null && n.wantWidth !== a; + g && n.failedKeys.clear(), n.wantScale = s, n.wantWidth = a; + const h = (b) => this.tileKey(t, a, b, i, c), m = new Set([...l, ...u].map(h)); + for (const [b, v] of n.entries) + m.has(b) || (v.resolved ? v.scale === s && n.entries.delete(b) : (v.abort?.abort(), this.releaseSlot(v), n.entries.delete(b))); + const O = f.x + f.width / 2, E = f.y + f.height / 2, P = r.tileSize / r.scale, k = (b) => { + const v = (b.ix + 0.5) * P - O, x = (b.iy + 0.5) * P - E; + return v * v + x * x; + }, A = [...l].sort( + (b, v) => k(b) - k(v) + ), w = () => { + const b = A.every((v) => { + const x = h(v); + return n.failedKeys.has(x) || n.entries.get(x)?.resolved === !0; }); n.queue = { - coords: y ? [...k, ...u] : k, - ringFrom: k.length, + coords: b ? [...A, ...u] : A, + ringFrom: A.length, next: 0, page: o, grid: r, - wantWidth: i, - layers: a, + wantWidth: a, + layers: i, epoch: c }, this.pump(); }; - if (h && d.tiles.settleMs > 0) { - this.deps.debug?.(`arm settle page=${t} level=${i}`), n.queue = null, n.pendingLevel = i, n.cancelSettle?.(), n.cancelSettle = this.deps.after(d.tiles.settleMs, () => { + if (g && d.tiles.settleMs > 0) { + this.deps.debug?.(`arm settle page=${t} level=${a}`), n.queue = null, n.pendingLevel = a, n.cancelSettle?.(), n.cancelSettle = this.deps.after(d.tiles.settleMs, () => { n.cancelSettle = null, this.deps.debug?.( - `settle fired page=${t} level=${i} current=${n.pendingLevel === i}` - ), n.pendingLevel === i && A(); + `settle fired page=${t} level=${a} current=${n.pendingLevel === a}` + ), n.pendingLevel === a && w(); }); return; } - n.cancelSettle !== null && !h && !p && (n.cancelSettle(), n.cancelSettle = null, n.pendingLevel = null), A(); + n.cancelSettle !== null && !g && !p && (n.cancelSettle(), n.cancelSettle = null, n.pendingLevel = null), w(); } /** * Starts queued tiles while transit slots are free: the first on-screen @@ -20259,7 +20865,7 @@ class pz { */ pump() { const t = /* @__PURE__ */ new Map(); - for (; this.inFlight < dz; ) { + for (; this.inFlight < SW; ) { let n = null; for (const o of this.pages.values()) { const r = this.nextToStart(o); @@ -20293,9 +20899,9 @@ class pz { } /** Starts one queued tile's fetch, in a transit slot. */ start(t, n) { - const { page: o, grid: r, wantWidth: s, layers: i, epoch: a } = t.queue, c = t.pageObjectNumber, l = this.tileKey(c, s, n, i, a), u = this.deps.getOptions().tiles.bleedPx / r.scale; + const { page: o, grid: r, wantWidth: s, layers: a, epoch: i } = t.queue, c = t.pageObjectNumber, l = this.tileKey(c, s, n, a, i), u = this.deps.getOptions().tiles.bleedPx / r.scale; this.inFlight += 1; - const f = new AbortController(), d = az(r, o, n), p = { + const f = new AbortController(), d = vW(r, o, n), p = { key: l, scale: r.scale, coord: n, @@ -20307,23 +20913,23 @@ class pz { }; t.entries.set(l, p), t.planCache = null, this.deps.store.acquire( l, - (h) => this.deps.fetchTile( + (g) => this.deps.fetchTile( t.view, c, // The rendered region is the bled rect — it matches the bled // placement rect the paint list emits for this entry. - u > 0 ? Px(d, u, o) : d, + u > 0 ? zx(d, u, o) : d, r.scale, - i, - h + a, + g ), f.signal ).then( () => { this.releaseSlot(p), t.entries.get(l) === p && (p.resolved = !0, t.version += 1, t.planCache = null, this.deps.onAdvance(c)), this.pump(); }, - (h) => { - this.releaseSlot(p), t.entries.get(l) === p && (t.entries.delete(l), f.signal.aborted || (t.failedKeys.add(l), this.deps.debug?.(`tile failed ${l}: ${String(h)}`), t.version += 1, t.planCache = null, this.deps.onAdvance(c))), this.pump(); + (g) => { + this.releaseSlot(p), t.entries.get(l) === p && (t.entries.delete(l), f.signal.aborted || (t.failedKeys.add(l), this.deps.debug?.(`tile failed ${l}: ${String(g)}`), t.version += 1, t.planCache = null, this.deps.onAdvance(c))), this.pump(); } ); } @@ -20340,22 +20946,22 @@ class pz { * mix of retained scales exists (exact levels included). */ releaseCovered(t, n, o, r) { - const { wantScale: s, wantWidth: i } = n; - if (s === null || i === null) return !1; - const a = Sx(o, s, this.strategy().tileSize), c = (f) => this.tileKey(t, i, f, r, n.epoch), l = (f) => n.entries.get(c(f))?.painted === !0; + const { wantScale: s, wantWidth: a } = n; + if (s === null || a === null) return !1; + const i = Bx(o, s, this.strategy().tileSize), c = (f) => this.tileKey(t, a, f, r, n.epoch), l = (f) => n.entries.get(c(f))?.painted === !0; let u = !1; for (const [f, d] of n.entries) { if (d.scale === s || !d.resolved) continue; - const p = n.lastVisible ? hl(d.rect, n.lastVisible) : d.rect; - if (cz(a, o, p, l)) + const p = n.lastVisible ? pl(d.rect, n.lastVisible) : d.rect; + if (kW(i, o, p, l)) n.entries.delete(f), u = !0; else if (this.deps.debug && this.deps.getOptions().debug) { - const h = _d(a, o, p).filter((m) => !l(m)), g = h.slice(0, 3).map((m) => { - const M = n.entries.get(c(m)), x = M ? M.resolved ? "RESOLVED-unpainted" : "PENDING" : "NO-ENTRY"; - return `${m.ix},${m.iy}=${x}`; + const g = Rd(i, o, p).filter((m) => !l(m)), h = g.slice(0, 3).map((m) => { + const O = n.entries.get(c(m)), E = O ? O.resolved ? "RESOLVED-unpainted" : "PENDING" : "NO-ENTRY"; + return `${m.ix},${m.iy}=${E}`; }); this.deps.debug( - `retained ${f} blocked by: ${g.join(" ")} (${h.length} missing)` + `retained ${f} blocked by: ${h.join(" ")} (${g.length} missing)` ); } } @@ -20386,333 +20992,333 @@ class pz { * the cloud policy arrives async after open and can change the resolved * format under a live store. */ tileKey(t, n, o, r, s) { - const { tiles: i } = this.deps.getOptions(), a = this.strategy().format, c = `g${i.size}.${i.bleedPx}${a ? `.${a}` : ""}`; - return `t:${t}|w${n}|${o.ix},${o.iy}|${Bm(r)}|e${s}|${c}`; + const { tiles: a } = this.deps.getOptions(), i = this.strategy().format, c = `g${a.size}.${a.bleedPx}${i ? `.${i}` : ""}`; + return `t:${t}|w${n}|${o.ix},${o.iy}|${Gm(r)}|e${s}|${c}`; } } -const Ox = (e) => `${e.ix},${e.iy}`, hz = (e) => `${Math.round(e.x)},${Math.round(e.y)},${Math.round(e.width)},${Math.round(e.height)}`, gz = (e) => { +const Wx = (e) => `${e.ix},${e.iy}`, MW = (e) => `${Math.round(e.x)},${Math.round(e.y)},${Math.round(e.width)},${Math.round(e.height)}`, EW = (e) => { const t = /\|a([01])f([01])\|/.exec(e); return { includeAnnotations: t?.[1] === "1", includeFormFields: t?.[2] === "1" }; -}, hc = "doc.render", Mx = "doc.render.thumbnail", Ex = "doc.forms.read", mz = "doc.annotate.read", bz = [!1, !0].map( +}, pc = "doc.render", Ux = "doc.render.thumbnail", Kx = "doc.forms.read", CW = "doc.annotate.read", IW = [!1, !0].map( (e) => [!1, !0].map((t) => Object.freeze({ annotations: e, formFields: t })) -), Dr = (e) => typeof e.reason == "string" ? e.reason : void 0, yz = 4; -function wz(e) { - const t = e.settings(), n = Ke( +), Br = (e) => typeof e.reason == "string" ? e.reason : void 0, _W = 4; +function NW(e) { + const t = e.settings(), n = qe( () => [t.get()], - (G) => $9(G) - ), o = new tz(), r = new W9(), s = new q9(), i = e.events.source(), a = e.events.source(), c = e.events.source(), l = e.events.source(), u = ez(e, l.emit), f = () => e.allows(hc), d = () => e.allows(Mx); + (X) => Zz(X) + ), o = new hW(), r = new tW(), s = new rW(), a = e.events.source(), i = e.events.source(), c = e.events.source(), l = e.events.source(), u = pW(e, l.emit), f = () => e.allows(pc), d = () => e.allows(Ux); let p = null; - const h = (G) => { + const g = (X) => { if (p) - throw new Z("conflict", "render", "another plugin paints the pictures already"); - const re = G; - p = re, e.notify(); - let D = !1; + throw new te("conflict", "render", "another plugin paints the pictures already"); + const ae = X; + p = ae, e.notify(); + let W = !1; return () => { - D || (D = !0, p === re && (p = null, e.notify())); + W || (W = !0, p === ae && (p = null, e.notify())); }; - }, g = () => bz[e.allows("doc.annotate.read") ? 1 : 0][e.allows("doc.forms.read") ? 1 : 0], m = (G) => { - const re = g(); - return sy( + }, h = () => IW[e.allows("doc.annotate.read") ? 1 : 0][e.allows("doc.forms.read") ? 1 : 0], m = (X) => { + const ae = h(); + return gy( { - ...G.includeAnnotations !== void 0 && (re.annotations || !G.includeAnnotations) ? { includeAnnotations: G.includeAnnotations } : {}, - ...G.includeFormFields !== void 0 && (re.formFields || !G.includeFormFields) ? { includeFormFields: G.includeFormFields } : {} + ...X.includeAnnotations !== void 0 && (ae.annotations || !X.includeAnnotations) ? { includeAnnotations: X.includeAnnotations } : {}, + ...X.includeFormFields !== void 0 && (ae.formFields || !X.includeFormFields) ? { includeFormFields: X.includeFormFields } : {} }, - re + ae ); - }, M = (G, re) => (G.includeAnnotations === !0 && e.assertAllowed("doc.annotate.read", re), G.includeFormFields === !0 && e.assertAllowed(Ex, re), m(G)); - let x = !1; - const S = (G, re) => { - x || re === void 0 || G.format === re || (x = !0, console.warn( - `[render] format '${re}' is not in the deployment's formats — using '${G.format}'.` + }, O = (X, ae) => (X.includeAnnotations === !0 && e.assertAllowed("doc.annotate.read", ae), X.includeFormFields === !0 && e.assertAllowed(Kx, ae), m(X)); + let E = !1; + const P = (X, ae) => { + E || ae === void 0 || X.format === ae || (E = !0, console.warn( + `[render] format '${ae}' is not in the deployment's formats — using '${X.format}'.` )); }; - let P = !1; - const k = (G, re) => { - P || n().tiles.enabled || G <= re * 2 || (P = !0, console.warn( - `[render] demand is ${(G / re).toFixed(1)}× over the base budget and the tile plane is disabled (tiles: false) — the page rests blurry. Raise fullPage.maxWidth or re-enable tiles.` + let k = !1; + const A = (X, ae) => { + k || n().tiles.enabled || X <= ae * 2 || (k = !0, console.warn( + `[render] demand is ${(X / ae).toFixed(1)}× over the base budget and the tile plane is disabled (tiles: false) — the page rests blurry. Raise fullPage.maxWidth or re-enable tiles.` )); - }, A = () => e.document()?.renderPolicy ?? xr, y = Ke( - () => [A(), n()], - (G, re) => { - const D = aE(G, re); - return S(D, re.format), D; - } - ), w = (G) => { - const re = e.getPage(G); - return re || e.assertPageRef(G), re.size.width; - }, O = () => (e.document()?.pages ?? []).map((G) => G.ref.objectNumber), b = (G) => e.document()?.pendingPages.has(G.objectNumber) ?? !1, v = (G) => { - const re = e.document()?.pendingPages.get(G.objectNumber); - return re?.kind === "copy" ? re.of : null; - }, E = async (G, re) => { - await e.waitFor(() => !b(G), re ? { signal: re } : void 0), e.getPage(G) || e.assertPageRef(G); - }, I = (G, re) => { - const D = re * w(G), ce = cE(y(), D); - return k(D, ce), { kind: "width", width: ce }; - }, T = (G, re) => Q9(e.state.get(), G, re), _ = (G, re, D, ce, ae) => `${G}|w${re}|${Bm(D)}|e${T(G, D)}${ce ? `|f${ce}` : ""}${ae !== void 0 ? `|q${ae}` : ""}`, N = (G, re, D, ce) => `${G}|thumbnail|${Bm(re)}|e${T(G, re)}${D ? `|f${D}` : ""}${ce !== void 0 ? `|q${ce}` : ""}`; - function F(G, re, D, ce) { + }, w = () => e.document()?.renderPolicy ?? Sr, b = qe( + () => [w(), n()], + (X, ae) => { + const W = $E(X, ae); + return P(W, ae.format), W; + } + ), v = (X) => { + const ae = e.getPage(X); + return ae || e.assertPageRef(X), ae.size.width; + }, x = () => (e.document()?.pages ?? []).map((X) => X.ref.objectNumber), y = (X) => e.document()?.pendingPages.has(X.objectNumber) ?? !1, M = (X) => { + const ae = e.document()?.pendingPages.get(X.objectNumber); + return ae?.kind === "copy" ? ae.of : null; + }, S = async (X, ae) => { + await e.waitFor(() => !y(X), ae ? { signal: ae } : void 0), e.getPage(X) || e.assertPageRef(X); + }, C = (X, ae) => { + const W = ae * v(X), ce = BE(b(), W); + return A(W, ce), { kind: "width", width: ce }; + }, N = (X, ae) => lW(e.state.get(), X, ae), _ = (X, ae, W, ce, ie) => `${X}|w${ae}|${Gm(W)}|e${N(X, W)}${ce ? `|f${ce}` : ""}${ie !== void 0 ? `|q${ie}` : ""}`, T = (X, ae, W, ce) => `${X}|thumbnail|${Gm(ae)}|e${N(X, ae)}${W ? `|f${W}` : ""}${ce !== void 0 ? `|q${ce}` : ""}`; + function $(X, ae, W, ce) { return o.acquire( - re, - (Q) => { - const fe = (le) => { - const Ae = e.doc.with({ + ae, + (ee) => { + const fe = (ue) => { + const Oe = e.doc.with({ priority: "high", - ...D.view !== void 0 ? { view: D.view } : {} - }).page(le).render.image({ - viewport: D.viewport, - ...D.layers, - ...D.format !== void 0 ? { format: D.format } : {}, - ...D.quality !== void 0 ? { quality: D.quality } : {} + ...W.view !== void 0 ? { view: W.view } : {} + }).page(ue).render.image({ + viewport: W.viewport, + ...W.layers, + ...W.format !== void 0 ? { format: W.format } : {}, + ...W.quality !== void 0 ? { quality: W.quality } : {} }); - return Q.aborted ? Ae.abort(Dr(Q)) : Q.addEventListener("abort", () => Ae.abort(Dr(Q)), { + return ee.aborted ? Oe.abort(Br(ee)) : ee.addEventListener("abort", () => Oe.abort(Br(ee)), { once: !0 - }), Ae; + }), Oe; }; - return ((le) => b(le) ? E(le, Q).then(() => fe(le)) : fe(le))(v(G) ?? G); + return ((ue) => y(ue) ? S(ue, ee).then(() => fe(ue)) : fe(ue))(M(X) ?? X); }, ce ).then( - (Q) => (a.emit({ page: G, key: re }), Q), - (Q) => { - const fe = Be("render", Q); - throw !sn(fe, "operation-cancelled") && !sn(fe, "instance-closed") && c.emit({ page: G, key: re, error: bn(fe) }), fe; + (ee) => (i.emit({ page: X, key: ae }), ee), + (ee) => { + const fe = Fe("render", ee); + throw !un(fe, "operation-cancelled") && !un(fe, "instance-closed") && c.emit({ page: X, key: ae, error: xn(fe) }), fe; } ); } - async function R(G, { scale: re, view: D, signal: ce, thumbnail: ae, ...Q }) { - if (ae) return W(G, { ...Q, view: D, signal: ce }, "render.renderSource"); - e.assertAllowed(hc, "render.renderSource"); - const fe = M(Q, "render.renderSource"), de = I(G, re), le = y(), ye = _( - G.objectNumber, + async function j(X, { scale: ae, view: W, signal: ce, thumbnail: ie, ...ee }) { + if (ie) return D(X, { ...ee, view: W, signal: ce }, "render.renderSource"); + e.assertAllowed(pc, "render.renderSource"); + const fe = O(ee, "render.renderSource"), de = C(X, ae), ue = b(), we = _( + X.objectNumber, de.kind === "width" ? de.width : 0, fe, - le.format, + ue.format, void 0 ); - return F( - G, - ye, + return $( + X, + we, { viewport: de, layers: fe, - format: le.format, - quality: le.quality, - view: D + format: ue.format, + quality: ue.quality, + view: W }, ce ); } - function j(G, re, D, ce, ae, Q) { - const fe = D.rect && hl(D.rect, { x: 0, y: 0, ...re }); + function z(X, ae, W, ce, ie, ee) { + const fe = W.rect && pl(W.rect, { x: 0, y: 0, ...ae }); if (fe && !(fe.width > 0 && fe.height > 0)) - throw new Z("invalid-input", "render", "the rect misses the page", { + throw new te("invalid-input", "render", "the rect misses the page", { details: { field: "rect" } }); - const de = D.signal, le = (Ae) => { - const Ue = e.doc.with({ priority: "high" }).page(Ae).render.image({ + const de = W.signal, ue = (Oe) => { + const Ke = e.doc.with({ priority: "high" }).page(Oe).render.image({ ...fe ? { target: { kind: "rect", rect: fe } } : {}, - viewport: D.width !== void 0 ? { kind: "width", width: Math.max(1, Math.round(D.width)) } : { kind: "scale", scale: D.scale ?? 1 }, - ...D.rotation ? { rotation: D.rotation } : {}, + viewport: W.width !== void 0 ? { kind: "width", width: Math.max(1, Math.round(W.width)) } : { kind: "scale", scale: W.scale ?? 1 }, + ...W.rotation ? { rotation: W.rotation } : {}, ...ce, - ...ae !== void 0 ? { format: ae } : {}, - ...Q !== void 0 ? { quality: Q } : {} + ...ie !== void 0 ? { format: ie } : {}, + ...ee !== void 0 ? { quality: ee } : {} }); - return de?.aborted ? Ue.abort(Dr(de)) : de?.addEventListener("abort", () => Ue.abort(Dr(de)), { once: !0 }), Ue; - }, ye = v(G) ?? G; - return b(ye) ? E(ye, de).then(() => le(ye)) : le(ye); - } - async function B(G, re = {}) { - e.assertAllowed(hc, "render.renderPage"); - const { ref: D, size: ce } = e.pageOf(G), ae = M(re, "render.renderPage"), Q = y(), fe = re.format ?? Q.format, de = re.quality ?? Q.quality; - if (re.rect !== void 0 || re.rotation) + return de?.aborted ? Ke.abort(Br(de)) : de?.addEventListener("abort", () => Ke.abort(Br(de)), { once: !0 }), Ke; + }, we = M(X) ?? X; + return y(we) ? S(we, de).then(() => ue(we)) : ue(we); + } + async function L(X, ae = {}) { + e.assertAllowed(pc, "render.renderPage"); + const { ref: W, size: ce } = e.pageOf(X), ie = O(ae, "render.renderPage"), ee = b(), fe = ae.format ?? ee.format, de = ae.quality ?? ee.quality; + if (ae.rect !== void 0 || ae.rotation) return e.cancellable( - re.signal, - j(D, ce, re, ae, fe, de) + ae.signal, + z(W, ce, ae, ie, fe, de) ); - const le = Math.max(1, Math.round(re.width ?? (re.scale ?? 1) * ce.width)), ye = _(D.objectNumber, le, ae, fe, re.quality); + const ue = Math.max(1, Math.round(ae.width ?? (ae.scale ?? 1) * ce.width)), we = _(W.objectNumber, ue, ie, fe, ae.quality); return e.cancellable( - re.signal, - F( - D, - ye, + ae.signal, + $( + W, + we, { - viewport: { kind: "width", width: le }, - layers: ae, + viewport: { kind: "width", width: ue }, + layers: ie, format: fe, quality: de, view: void 0 }, - re.signal + ae.signal ) ); } - async function W(G, { - view: re, - signal: D, + async function D(X, { + view: ae, + signal: W, format: ce, - quality: ae, - ...Q + quality: ie, + ...ee }, fe) { - e.assertAllowed(Mx, fe); - const de = M(Q, fe), le = y(), ye = ce ?? le.format, Ae = ae ?? le.quality; - return F( - G, - N(G.objectNumber, de, ye, ae), - { viewport: { kind: "thumbnail" }, layers: de, format: ye, quality: Ae, view: re }, - D + e.assertAllowed(Ux, fe); + const de = O(ee, fe), ue = b(), we = ce ?? ue.format, Oe = ie ?? ue.quality; + return $( + X, + T(X.objectNumber, de, we, ie), + { viewport: { kind: "thumbnail" }, layers: de, format: we, quality: Oe, view: ae }, + W ); } - async function $(G, re = {}) { - e.assertAllowed(hc, "render.renderPages"); - const D = Math.max(1, re.concurrency ?? yz), ce = [], ae = [], Q = G.map((ye, Ae) => ({ page: ye, index: Ae })), fe = async () => { - for (let ye = Q.shift(); ye; ye = Q.shift()) { - const { page: Ae, index: Ue } = ye; + async function F(X, ae = {}) { + e.assertAllowed(pc, "render.renderPages"); + const W = Math.max(1, ae.concurrency ?? _W), ce = [], ie = [], ee = X.map((we, Oe) => ({ page: we, index: Oe })), fe = async () => { + for (let we = ee.shift(); we; we = ee.shift()) { + const { page: Oe, index: Ke } = we; try { - const ze = await B(Ae, re); - ce.push({ index: Ue, render: { page: e.pageOf(Ae).ref, image: ze } }); + const ze = await L(Oe, ae); + ce.push({ index: Ke, render: { page: e.pageOf(Oe).ref, image: ze } }); } catch (ze) { - ae.push({ - index: Ue, - ref: Ae, - error: bn(Be("render", ze)) + ie.push({ + index: Ke, + ref: Oe, + error: xn(Fe("render", ze)) }); } } - }, de = Promise.all(Array.from({ length: Math.min(D, Q.length) }, fe)); - await e.cancellable(re.signal, de); - const le = (ye, Ae) => ye.index - Ae.index; + }, de = Promise.all(Array.from({ length: Math.min(W, ee.length) }, fe)); + await e.cancellable(ae.signal, de); + const ue = (we, Oe) => we.index - Oe.index; return { - applied: ce.sort(le).map(({ render: ye }) => ye), + applied: ce.sort(ue).map(({ render: we }) => we), skipped: [], - failed: ae.sort(le).map(({ ref: ye, error: Ae }) => ({ ref: ye, error: Ae })) + failed: ie.sort(ue).map(({ ref: we, error: Oe }) => ({ ref: we, error: Oe })) }; } - async function K(G, { family: re, scale: D, items: ce, signal: ae }) { + async function B(X, { family: ae, scale: W, items: ce, signal: ie }) { e.assertAllowed( - re === "widgets" ? Ex : mz, + ae === "widgets" ? Kx : CW, "render.renderAppearances" ); - const Q = e.pageOf(G).ref.objectNumber, fe = new Map(ce.map((Ae) => [ie(Ae.ref), Ae.version])), de = [...fe].map(([Ae, Ue]) => `${Ae}@${Ue}`).sort(), le = `${re}|${Q}`, ye = r.acquire( - le, - `${le}|s${D}|${de.join(",")}`, - async (Ae) => { - b(G) && await E(G, Ae); - const Ue = e.doc.page(ut(Q)), ze = { viewport: { kind: "scale", scale: D }, modes: ["normal"] }, lt = re === "widgets" ? Ue.forms.renderAppearances(ze) : Ue.annotations.renderAppearances(ze); - Ae.aborted ? lt.abort(Dr(Ae)) : Ae.addEventListener("abort", () => lt.abort(Dr(Ae)), { + const ee = e.pageOf(X).ref.objectNumber, fe = new Map(ce.map((Oe) => [Y(Oe.ref), Oe.version])), de = [...fe].map(([Oe, Ke]) => `${Oe}@${Ke}`).sort(), ue = `${ae}|${ee}`, we = r.acquire( + ue, + `${ue}|s${W}|${de.join(",")}`, + async (Oe) => { + y(X) && await S(X, Oe); + const Ke = e.doc.page(dt(ee)), ze = { viewport: { kind: "scale", scale: W }, modes: ["normal"] }, ut = ae === "widgets" ? Ke.forms.renderAppearances(ze) : Ke.annotations.renderAppearances(ze); + Oe.aborted ? ut.abort(Br(Oe)) : Oe.addEventListener("abort", () => ut.abort(Br(Oe)), { once: !0 }); - const X = (await lt).appearances.flatMap((pe) => { - const Ie = fe.get(ie(pe.ref)); - return Ie === void 0 ? [] : [{ ...pe, version: Ie }]; + const Xt = (await ut).appearances.flatMap((Z) => { + const he = fe.get(Y(Z.ref)); + return he === void 0 ? [] : [{ ...Z, version: he }]; }); - return s.remember(re, X, (pe) => ie(pe.ref)), X; + return s.remember(ae, Xt, (Z) => Y(Z.ref)), Xt; }, - ae + ie ); return e.cancellable( - ae, - ye.catch((Ae) => { - throw Be("render", Ae); + ie, + we.catch((Oe) => { + throw Fe("render", Oe); }) ); } - function ee(G, re, D) { - if (G.length !== 0) { - e.state.update(Y9, G, re); - for (const ce of G) Me(ce); - i.emit({ - pages: G.map((ce) => ut(ce)), - scope: re, - origin: D + function V(X, ae, W) { + if (X.length !== 0) { + e.state.update(cW, X, ae); + for (const ce of X) Me(ce); + a.emit({ + pages: X.map((ce) => dt(ce)), + scope: ae, + origin: W }); } } - function J({ pages: G, scope: re = "content" } = {}) { - const D = G?.flatMap((ce) => e.getPage(ce)?.ref.objectNumber ?? []); - ee(D ?? O(), re, null); + function Q({ pages: X, scope: ae = "content" } = {}) { + const W = X?.flatMap((ce) => e.getPage(ce)?.ref.objectNumber ?? []); + V(W ?? x(), ae, null); } - const ue = /* @__PURE__ */ new Set(); - let be = !1; - const we = (G) => { - ue.add(G), !be && (be = !0, e.clock.nextFrame(() => { - be = !1; - const re = [...ue]; - ue.clear(); - for (const D of re) Me(D); + const le = /* @__PURE__ */ new Set(); + let pe = !1; + const me = (X) => { + le.add(X), !pe && (pe = !0, e.clock.nextFrame(() => { + pe = !1; + const ae = [...le]; + le.clear(); + for (const W of ae) Me(W); })); - }, Oe = new pz({ + }, Ae = new PW({ store: o, getOptions: n, - getPolicy: A, - getPageSize: (G) => e.getPage(ut(G))?.size, - getEpoch: T, + getPolicy: w, + getPageSize: (X) => e.getPage(dt(X))?.size, + getEpoch: N, after: e.clock.after, - fetchTile: async (G, re, D, ce, ae, Q) => { - e.assertAllowed(hc, "render.tile"); - const fe = ut(re); - b(fe) && await E(fe, Q); - const de = y(), le = e.doc.with({ priority: "high", view: G }).page(fe).render.image({ - target: { kind: "rect", rect: D }, + fetchTile: async (X, ae, W, ce, ie, ee) => { + e.assertAllowed(pc, "render.tile"); + const fe = dt(ae); + y(fe) && await S(fe, ee); + const de = b(), ue = e.doc.with({ priority: "high", view: X }).page(fe).render.image({ + target: { kind: "rect", rect: W }, viewport: { kind: "scale", scale: ce }, - ...ae, + ...ie, ...de.format !== void 0 ? { format: de.format } : {}, ...de.quality !== void 0 ? { quality: de.quality } : {} }); - return Q.aborted ? le.abort(Dr(Q)) : Q.addEventListener("abort", () => le.abort(Dr(Q)), { once: !0 }), le; - }, - onAdvance: we, - debug: (G) => { - n().debug && console.debug(`[render] ${G}`); - } - }), Ce = /* @__PURE__ */ new Map(); - function Me(G) { - let re = !1; - for (const [D, ce] of Ce) { - const ae = ce.pages.get(G); - if (!ae) continue; - const Q = Oe.plan(D, G, ae.demand, ae.layers); - Q !== ae.plan && (ae.plan = Q, re = !0); - } - re && e.notify(); - } - function V(G) { - const re = Ce.get(G); - if (re) - return re.refs += 1, re.handle; - const D = /* @__PURE__ */ new Map(), ce = { - setDemand: (ae, Q, fe) => { - const de = ae.objectNumber, le = m(fe ?? {}), ye = D.get(de), Ae = Oe.plan(G, de, Q, le); - D.set(de, { demand: Q, layers: le, plan: Ae }), Ae !== ye?.plan && e.notify(); + return ee.aborted ? ue.abort(Br(ee)) : ee.addEventListener("abort", () => ue.abort(Br(ee)), { once: !0 }), ue; + }, + onAdvance: me, + debug: (X) => { + n().debug && console.debug(`[render] ${X}`); + } + }), Pe = /* @__PURE__ */ new Map(); + function Me(X) { + let ae = !1; + for (const [W, ce] of Pe) { + const ie = ce.pages.get(X); + if (!ie) continue; + const ee = Ae.plan(W, X, ie.demand, ie.layers); + ee !== ie.plan && (ie.plan = ee, ae = !0); + } + ae && e.notify(); + } + function G(X) { + const ae = Pe.get(X); + if (ae) + return ae.refs += 1, ae.handle; + const W = /* @__PURE__ */ new Map(), ce = { + setDemand: (ie, ee, fe) => { + const de = ie.objectNumber, ue = m(fe ?? {}), we = W.get(de), Oe = Ae.plan(X, de, ee, ue); + W.set(de, { demand: ee, layers: ue, plan: Oe }), Oe !== we?.plan && e.notify(); }, - getPlan: (ae) => D.get(ae.objectNumber)?.plan ?? Cd, - markPainted: (ae, Q) => Oe.sourcePainted(G, ae.objectNumber, Q), - markUnpainted: (ae, Q) => Oe.sourceUnpainted(G, ae.objectNumber, Q), - release: (ae) => { - D.delete(ae.objectNumber), Oe.releasePage(G, ae.objectNumber); + getPlan: (ie) => W.get(ie.objectNumber)?.plan ?? Nd, + markPainted: (ie, ee) => Ae.sourcePainted(X, ie.objectNumber, ee), + markUnpainted: (ie, ee) => Ae.sourceUnpainted(X, ie.objectNumber, ee), + release: (ie) => { + W.delete(ie.objectNumber), Ae.releasePage(X, ie.objectNumber); }, destroy: () => { - const ae = Ce.get(G); - if (!(!ae || ae.refs === 0) && (ae.refs -= 1, !(ae.refs > 0))) { - for (const Q of [...ae.pages.keys()]) - Oe.releasePage(G, Q); - ae.pages.clear(); + const ie = Pe.get(X); + if (!(!ie || ie.refs === 0) && (ie.refs -= 1, !(ie.refs > 0))) { + for (const ee of [...ie.pages.keys()]) + Ae.releasePage(X, ee); + ie.pages.clear(); } } }; - return Ce.set(G, { handle: ce, refs: 1, pages: D }), ce; + return Pe.set(X, { handle: ce, refs: 1, pages: W }), ce; } - const he = Ke( + const ge = qe( () => [n().tiles.enabled], - (G) => Object.freeze({ tiles: G }) + (X) => Object.freeze({ tiles: X }) ); e.listen(t.api.onSettingsChanged, () => { - const G = /* @__PURE__ */ new Set(); - for (const re of Ce.values()) for (const D of re.pages.keys()) G.add(D); - for (const re of G) Me(re); + const X = /* @__PURE__ */ new Set(); + for (const ae of Pe.values()) for (const W of ae.pages.keys()) X.add(W); + for (const ae of X) Me(ae); }); - const ve = iz(e, { - renderPage: B, - renderPolicy: A, + const ve = wW(e, { + renderPage: L, + renderPolicy: w, settings: () => t.get().snapshot }); return { @@ -20721,134 +21327,134 @@ function wz(e) { ...t.api, canRender: f, canRenderThumbnail: d, - handOverPictures: h, + handOverPictures: g, getPicturePainter: () => p, - renderPage: B, - renderThumbnail: async (G, re = {}) => e.cancellable( - re.signal, - W(e.pageOf(G).ref, re, "render.renderThumbnail") + renderPage: L, + renderThumbnail: async (X, ae = {}) => e.cancellable( + ae.signal, + D(e.pageOf(X).ref, ae, "render.renderThumbnail") ), - renderPages: $, - getRenderPolicy: A, - getRenderEpoch: (G, re = {}) => { - const D = e.getPage(G); - return D ? T(D.ref.objectNumber, m(re)) : 0; + renderPages: F, + getRenderPolicy: w, + getRenderEpoch: (X, ae = {}) => { + const W = e.getPage(X); + return W ? N(W.ref.objectNumber, m(ae)) : 0; }, - invalidate: J, - onInvalidated: i.on, - getPictureState: (G, re) => { - const D = e.getPage(G); - return D ? u.stateIn(re, D.ref.objectNumber) : ra.idle; + invalidate: Q, + onInvalidated: a.on, + getPictureState: (X, ae) => { + const W = e.getPage(X); + return W ? u.stateIn(ae, W.ref.objectNumber) : ri.idle; }, onPictureStateChanged: l.on, // ── host lens ── - renderSource: R, - getSourceKey: (G, { scale: re, view: D, thumbnail: ce, ...ae }) => { + renderSource: j, + getSourceKey: (X, { scale: ae, view: W, thumbnail: ce, ...ie }) => { if (ce) - return N( - G.objectNumber, - m(ae), - y().format, + return T( + X.objectNumber, + m(ie), + b().format, void 0 ); - const Q = I(G, re); + const ee = C(X, ae); return _( - G.objectNumber, - Q.kind === "width" ? Q.width : 0, - m(ae), - y().format, + X.objectNumber, + ee.kind === "width" ? ee.width : 0, + m(ie), + b().format, void 0 ); }, - conformViewport: I, - getPaintSettings: he, - getLayerRights: g, - createViewDemand: V, + conformViewport: C, + getPaintSettings: ge, + getLayerRights: h, + createViewDemand: G, reportPicture: u.open, - renderAppearances: K, - getKeptAppearances: (G, re) => s.of(G, ie(re)), - getAppearanceScale: (G) => j4(A(), G), - onRenderCompleted: a.on, + renderAppearances: B, + getKeptAppearances: (X, ae) => s.of(X, Y(ae)), + getAppearanceScale: (X) => WL(w(), X), + onRenderCompleted: i.on, onRenderFailed: c.on, // ── snapshots, both lenses ── ...ve.api }, connect() { - e.listen(e.doc.events, (G) => { - const re = V9(G, O); - re && ee(re.pages, re.scope, "origin" in G ? G.origin : null); + e.listen(e.doc.events, (X) => { + const ae = aW(X, x); + ae && V(ae.pages, ae.scope, "origin" in X ? X.origin : null); }), ve.connect(); } }; } -const pn = ro, vz = (e) => ({ +const wn = ro, TW = (e) => ({ id: "render", scope: "document", - token: pn, - optional: [Ot], - state: G9, - settings: { defaults: z9, registered: e, whole: ["snapshot.box"] }, - create: wz + token: wn, + optional: [_t], + state: iW, + settings: { defaults: eW, registered: e, whole: ["snapshot.box"] }, + create: NW }); -function uE(e, t) { - Iy(() => wp(e).paint(t), [e, t]); +function WE(e, t) { + Uy(() => Ap(e).paint(t), [e, t]); } -function kz(e) { - const t = wp(e); - return Uo(t.subscribe, t.painted, t.painted); +function RW(e) { + const t = Ap(e); + return Wo(t.subscribe, t.painted, t.painted); } -function Wn(e) { +function zn(e) { const { ensure: t } = e, n = function(r) { const s = Ko(); - return wt((i) => { - const a = i.tryCapability(e.token, s ?? void 0), c = a ? e.read(a) : e.empty; + return vt((a) => { + const i = a.tryCapability(e.token, s ?? void 0), c = i ? e.read(i) : e.empty; return r ? r(c) : c; - }, Kl); + }, Hl); }; return t ? function(r) { - const s = Ko(), i = wt( - (a) => a.tryCapability(e.token, s ?? void 0), + const s = Ko(), a = vt( + (i) => i.tryCapability(e.token, s ?? void 0), Object.is ); return Se(() => { - i && t(i).catch(() => { + a && t(a).catch(() => { }); - }, [i]), n(r); + }, [a]), n(r); } : n; } -function bi(e) { +function Wi(e) { return function(n) { - return wt((o) => { + return vt((o) => { const r = o.settingsOf(e).getSettings(); return n ? n(r) : r; - }, Kl); + }, Hl); }; } -const xz = bi(ro), Az = Object.freeze({ status: "idle", slow: !1 }); -function Sz() { +const LW = Wi(ro), jW = Object.freeze({ status: "idle", slow: !1 }); +function FW() { const e = so(); - return ht( + return mt( ro, (t) => t.getPictureState(e.ref, e.view), - Az + jW ); } -let Cx = !1; -function dE(e = {}) { - const t = so(), n = Xe(pn, (o) => o.getPicturePainter()); - return n?.paints(t.view) ? /* @__PURE__ */ C(Pz, { painter: n }) : /* @__PURE__ */ C(Oz, { ...e }); +let qx = !1; +function UE(e = {}) { + const t = so(), n = Ze(wn, (o) => o.getPicturePainter()); + return n?.paints(t.view) ? /* @__PURE__ */ I(DW, { painter: n }) : /* @__PURE__ */ I($W, { ...e }); } -function Pz({ painter: e }) { - const t = so(), n = me(null), o = Ge(pn), r = me(null); - return Ne(() => { +function DW({ painter: e }) { + const t = so(), n = ye(null), o = Ge(wn), r = ye(null); + return _e(() => { const s = o.reportPicture(t.view, t.ref); return r.current = { picture: e.paint(n.current, t, s), page: t }, () => { r.current?.picture.destroy(), r.current = null, s.close(); }; - }, [o, e, t.ref]), Ne(() => { + }, [o, e, t.ref]), _e(() => { const s = r.current; !s || s.page === t || (s.page = t, s.picture.update(t)); - }, [t]), /* @__PURE__ */ C( + }, [t]), /* @__PURE__ */ I( "div", { ref: n, @@ -20862,57 +21468,57 @@ function Pz({ painter: e }) { } ); } -function Oz({ +function $W({ annotations: e, formFields: t, tiles: n = !0, thumbnail: o = !1 }) { - const r = so(), s = Ge(pn), i = Xe(pn, (g) => g.getPaintSettings()), a = me(null), c = me(null), l = { annotations: e, formFields: t }, u = kz(r.ref), f = Xe(pn, (g) => g.getLayerRights()), d = _M(u, l, f); - I$(u, l).length > 0 && Yl( + const r = so(), s = Ge(wn), a = Ze(wn, (h) => h.getPaintSettings()), i = ye(null), c = ye(null), l = { annotations: e, formFields: t }, u = RW(r.ref), f = Ze(wn, (h) => h.getLayerRights()), d = iE(u, l, f); + DB(u, l).length > 0 && Xl( "render-layer-draws-what-a-layer-paints", " or draws what an or a on the page paints too, so it shows twice. Leave the prop out: the picture leaves out what a layer paints." ); - const p = o ? { thumbnail: !0 } : {}, h = Xe( - pn, - (g) => g.getSourceKey(r.ref, { scale: r.transform.renderScale, ...p, ...d }) + const p = o ? { thumbnail: !0 } : {}, g = Ze( + wn, + (h) => h.getSourceKey(r.ref, { scale: r.transform.renderScale, ...p, ...d }) ); - return Ne(() => { - const g = s.reportPicture(r.view, r.ref); - c.current = g; - const m = iD(a.current, () => g.shown()); + return _e(() => { + const h = s.reportPicture(r.view, r.ref); + c.current = h; + const m = h$(i.current, () => h.shown()); return () => { - m(), g.close(), c.current === g && (c.current = null); + m(), h.close(), c.current === h && (c.current = null); }; }, [s, r.view, r.ref]), Se(() => { - if (wp(r.ref).painted() !== u) return; - const g = new AbortController(); + if (Ap(r.ref).painted() !== u) return; + const h = new AbortController(); let m; return (async () => { try { - const x = await (await s.renderSource(r.ref, { + const E = await (await s.renderSource(r.ref, { scale: r.transform.renderScale, ...p, ...d, view: r.view, - signal: g.signal - })).objectUrl().abortWith(g.signal); - if (g.signal.aborted) { - x.revoke(); + signal: h.signal + })).objectUrl().abortWith(h.signal); + if (h.signal.aborted) { + E.revoke(); return; } - m = x.revoke, a.current && (a.current.src = x.url); - } catch (M) { - g.signal.aborted || c.current?.failed(M); + m = E.revoke, i.current && (i.current.src = E.url); + } catch (O) { + h.signal.aborted || c.current?.failed(O); } })(), () => { - g.abort(), m?.(); + h.abort(), m?.(); }; - }, [s, r.ref, h, u]), /* @__PURE__ */ C(Te, { children: [ - /* @__PURE__ */ C( + }, [s, r.ref, g, u]), /* @__PURE__ */ I(Re, { children: [ + /* @__PURE__ */ I( "img", { - ref: a, + ref: i, alt: "", draggable: !1, style: { @@ -20924,29 +21530,29 @@ function Oz({ } } ), - n && !o && i.tiles ? /* @__PURE__ */ C(Mz, { parts: l }) : null + n && !o && a.tiles ? /* @__PURE__ */ I(BW, { parts: l }) : null ] }); } -function Mz({ parts: e }) { - const t = so(), n = Ge(pn), o = t.getViewDemand?.() ?? { +function BW({ parts: e }) { + const t = so(), n = Ge(wn), o = t.getViewDemand?.() ?? { desiredDeviceWidth: t.transform.deviceWidth }, r = He(() => n.createViewDemand(t.view), [n, t.view]); - Se(() => () => r.destroy(), [r]), Ne(() => { - const c = wp(t.ref).painted(), l = _M(c, e, n.getLayerRights()); + Se(() => () => r.destroy(), [r]), _e(() => { + const c = Ap(t.ref).painted(), l = iE(c, e, n.getLayerRights()); r.setDemand(t.ref, o, l); }); - const s = Xe(pn, () => r.getPlan(t.ref)); + const s = Ze(wn, () => r.getPlan(t.ref)); if (Se(() => () => r.release(t.ref), [r, t.ref]), s.paint.length === 0) return null; - const i = t.transform, a = i.viewScale; - return /* @__PURE__ */ C( + const a = t.transform, i = a.viewScale; + return /* @__PURE__ */ I( "div", { style: { position: "absolute", left: 0, top: 0, - width: i.contentWidth, - height: i.contentHeight, + width: a.contentWidth, + height: a.contentHeight, pointerEvents: "none", // Stacking contract: tile s carry zIndex ranks (coarse under // fine) that exist only while generations are mixed — mid-zoom. This @@ -20957,15 +21563,15 @@ function Mz({ parts: e }) { // transform; `isolation` is the explicit, no-side-effect way. isolation: "isolate" }, - children: s.paint.map((c) => /* @__PURE__ */ C( - Ez, + children: s.paint.map((c) => /* @__PURE__ */ I( + zW, { source: c, view: { - x: c.rect.x * a, - y: c.rect.y * a, - width: c.rect.width * a, - height: c.rect.height * a + x: c.rect.x * i, + y: c.rect.y * i, + width: c.rect.width * i, + height: c.rect.height * i }, onPainted: () => r.markPainted(t.ref, c.key), onUnpainted: () => r.markUnpainted(t.ref, c.key) @@ -20975,28 +21581,28 @@ function Mz({ parts: e }) { } ); } -function Ez({ +function zW({ source: e, view: t, onPainted: n, onUnpainted: o }) { - const r = me(null); - return Ne(() => { + const r = ye(null); + return _e(() => { if (r.current) - return aD(r.current, e.handle, { onPainted: n, onUnpainted: o }); - }, [e.handle]), /* @__PURE__ */ C( + return g$(r.current, e.handle, { onPainted: n, onUnpainted: o }); + }, [e.handle]), /* @__PURE__ */ I( "img", { ref: r, alt: "", draggable: !1, onLoad: (s) => { - const i = s.currentTarget.naturalWidth; - if (i > 0 && !Cx) { - const a = Math.round(e.rect.width * e.scale); - Math.abs(i - a) > 1 && (Cx = !0, console.warn( - `[render] tile bitmap ${i}px wide does not match its rect (expected ~${a}px) — stale raster identity? key=${e.key}` + const a = s.currentTarget.naturalWidth; + if (a > 0 && !qx) { + const i = Math.round(e.rect.width * e.scale); + Math.abs(a - i) > 1 && (qx = !0, console.warn( + `[render] tile bitmap ${a}px wide does not match its rect (expected ~${i}px) — stale raster identity? key=${e.key}` )); } }, @@ -21011,41 +21617,41 @@ function Ez({ } ); } -function Cz() { - return ht(ro, (e) => e.getSnapshot(), null); +function WW() { + return mt(ro, (e) => e.getSnapshot(), null); } -function Iz({ children: e, gap: t = 8, placement: n = "bottom" }) { - const o = Cz(), r = He( +function UW({ children: e, gap: t = 8, placement: n = "bottom" }) { + const o = WW(), r = He( () => o && { page: o.page, bounds: o.rect }, [o] ); - return r ? /* @__PURE__ */ C(Mp, { anchor: r, placement: n, gap: t, children: e }) : null; + return r ? /* @__PURE__ */ I(_p, { anchor: r, placement: n, gap: t, children: e }) : null; } -function _z() { - const e = so(), t = ht(pn, (c) => c.getSnapshotBox(e.ref), null), n = xz((c) => c.snapshot.box), o = hi((c) => c.accent); +function KW() { + const e = so(), t = mt(wn, (c) => c.getSnapshotBox(e.ref), null), n = LW((c) => c.snapshot.box), o = ma((c) => c.accent); if (!t) return null; - const { left: r, top: s, width: i, height: a } = wo(t, e.transform); - return /* @__PURE__ */ C( + const { left: r, top: s, width: a, height: i } = Uo(t, e.transform); + return /* @__PURE__ */ I( "svg", { "aria-hidden": !0, - width: i, - height: a, + width: a, + height: i, style: { position: "absolute", left: r, top: s, overflow: "visible", pointerEvents: "none" }, - children: /* @__PURE__ */ C( + children: /* @__PURE__ */ I( "rect", { - width: i, - height: a, + width: a, + height: i, strokeWidth: 1, - strokeDasharray: TD, - style: RD(n, o) + strokeDasharray: z$, + style: W$(n, o) } ) } ); } -const Ua = At("page-edit", { +const Ui = St("page-edit", { hint: "add pageEditPlugin() from '@embedpdf/plugin-page-edit' to your plugins list", // Without a document, an adapter's stand-in rejects these with `not-ready`, as the // capability would; the type asks for every member that returns a promise. @@ -21060,231 +21666,231 @@ const Ua = At("page-edit", { duplicate: !0, extract: !0 } -}), Nz = () => ({ selected: [] }); -function Tz(e, t) { - const n = t.map((s) => s.objectNumber), o = t.filter((s, i) => n.indexOf(n[i]) === i); - return o.length === e.selected.length && o.every((s, i) => s.objectNumber === e.selected[i].objectNumber) ? e : { ...e, selected: o }; +}), qW = () => ({ selected: [] }); +function HW(e, t) { + const n = t.map((s) => s.objectNumber), o = t.filter((s, a) => n.indexOf(n[a]) === a); + return o.length === e.selected.length && o.every((s, a) => s.objectNumber === e.selected[a].objectNumber) ? e : { ...e, selected: o }; } -const or = "doc.pages.assemble", Ix = "doc.download", Rz = { width: 612, height: 792 }, _x = Object.freeze([]), Lz = Object.freeze([]); -function jz(e) { - const t = async (A) => { +const rr = "doc.pages.assemble", Hx = "doc.download", VW = { width: 612, height: 792 }, Vx = Object.freeze([]), GW = Object.freeze([]); +function YW(e) { + const t = async (w) => { try { - return await A(); - } catch (y) { - throw Be("page-edit", y); - } - }, n = () => e.document()?.pages ?? Lz, o = () => new Z("invalid-input", "page-edit", "no pages given"), r = (A) => { - if (A.length === 0) throw o(); - return A.map((y) => e.pageOf(y).ref); - }, s = (A) => !A || A === "start" || A === "end" ? A ?? "end" : "after" in A ? { after: e.pageOf(A.after).ref } : { before: e.pageOf(A.before).ref }, i = (A) => { - if (typeof A == "object") - return e.pageOf("after" in A ? A.after : A.before).size; - const y = n(); - return y.length === 0 ? Rz : (A === "start" ? y[0] : y[y.length - 1]).size; - }, a = Ke( + return await w(); + } catch (b) { + throw Fe("page-edit", b); + } + }, n = () => e.document()?.pages ?? GW, o = () => new te("invalid-input", "page-edit", "no pages given"), r = (w) => { + if (w.length === 0) throw o(); + return w.map((b) => e.pageOf(b).ref); + }, s = (w) => !w || w === "start" || w === "end" ? w ?? "end" : "after" in w ? { after: e.pageOf(w.after).ref } : { before: e.pageOf(w.before).ref }, a = (w) => { + if (typeof w == "object") + return e.pageOf("after" in w ? w.after : w.before).size; + const b = n(); + return b.length === 0 ? VW : (w === "start" ? b[0] : b[b.length - 1]).size; + }, i = qe( () => [n(), e.state.get().selected], - (A, y) => { - if (y.length === 0) return _x; - const w = new Set(A.map((O) => O.ref.objectNumber)); - return y.filter((O) => w.has(O.objectNumber)); - } - ), c = (A) => { - const y = A.flatMap((w) => { - const O = e.getPage(w); - return O ? [O.ref] : []; + (w, b) => { + if (b.length === 0) return Vx; + const v = new Set(w.map((x) => x.ref.objectNumber)); + return b.filter((x) => v.has(x.objectNumber)); + } + ), c = (w) => { + const b = w.flatMap((v) => { + const x = e.getPage(v); + return x ? [x.ref] : []; }); - e.state.update(Tz, y); - }, l = (A, y, w) => { - if (e.assertAllowed(A, y), w?.signal?.aborted) - throw new Z("operation-cancelled", "page-edit", `${y} was cancelled`); - }, u = (A, y, w, O) => { - const b = y === null ? { key: `pages.${A}` } : { key: `pages.${A}`, count: y }; - return e.changes.stage({ label: b, ops: w, ...O ? { undo: O } : {} }); - }, f = async (A, y) => { + e.state.update(HW, b); + }, l = (w, b, v) => { + if (e.assertAllowed(w, b), v?.signal?.aborted) + throw new te("operation-cancelled", "page-edit", `${b} was cancelled`); + }, u = (w, b, v, x) => { + const y = b === null ? { key: `pages.${w}` } : { key: `pages.${w}`, count: b }; + return e.changes.stage({ label: y, ops: v, ...x ? { undo: x } : {} }); + }, f = async (w, b) => { try { - return (await e.cancellable(y?.signal, A.result)).items[0]; - } catch (w) { - throw Be("page-edit", w); - } - }, d = async (A, y) => { - const w = await f(A, y); - return { pages: "insertedPages" in w ? w.insertedPages : _x }; - }, p = (A, y) => { - const w = /* @__PURE__ */ new Map(); - for (const b of A) { - const v = y(b); - w.set(v, [...w.get(v) ?? [], b]); - } - const O = [...w].map(([b, v]) => ({ + return (await e.cancellable(b?.signal, w.result)).items[0]; + } catch (v) { + throw Fe("page-edit", v); + } + }, d = async (w, b) => { + const v = await f(w, b); + return { pages: "insertedPages" in v ? v.insertedPages : Vx }; + }, p = (w, b) => { + const v = /* @__PURE__ */ new Map(); + for (const y of w) { + const M = b(y); + v.set(M, [...v.get(M) ?? [], y]); + } + const x = [...v].map(([y, M]) => ({ type: "pages.rotate", - pages: v, - rotation: b + pages: M, + rotation: y })); - return u("rotate", A.length, O, g8(n(), A)); - }, h = () => { - const A = e.document()?.pageLabels ?? []; - return A.length > 0 ? [{ type: "pages.relabel", labels: A }] : []; - }, g = (A) => { - const y = []; - for (; y.length < A; ) { - const w = e.changes.takeObjectNumber(); - if (w === null) break; - y.push(w); + return u("rotate", w.length, x, i4(n(), w)); + }, g = () => { + const w = e.document()?.pageLabels ?? []; + return w.length > 0 ? [{ type: "pages.relabel", labels: w }] : []; + }, h = (w) => { + const b = []; + for (; b.length < w; ) { + const v = e.changes.takeObjectNumber(); + if (v === null) break; + b.push(v); } - return y; - }, m = (A, y, w) => { - const O = g(A); - return O.length === A ? w(O) : (async () => { - const b = [...O]; - for (; b.length < A; ) + return b; + }, m = (w, b, v) => { + const x = h(w); + return x.length === w ? v(x) : (async () => { + const y = [...x]; + for (; y.length < w; ) await e.cancellable( - y?.signal, - e.changes.reserveObjectNumbers(A - b.length) - ), b.push(...g(A - b.length)); - return w(b); + b?.signal, + e.changes.reserveObjectNumbers(w - y.length) + ), y.push(...h(w - y.length)); + return v(y); })(); - }, M = async (A) => { - e.changes.sendHolds(), await e.cancellable(A?.signal, e.changes.whenSettled()); - }, x = async (A, y) => (await M(y), e.cancellable(y?.signal, e.doc.pages.extract([...A]))), S = async (A, y, w, O) => { - const b = y instanceof Uint8Array ? y : new Uint8Array(y); - return A === null ? d( - u("insert", null, [{ type: "pages.insert", source: b, position: w }]), - O - ) : m(A, O, (v) => { - const E = u( + }, O = async (w) => { + e.changes.sendHolds(), await e.cancellable(w?.signal, e.changes.whenSettled()); + }, E = async (w, b) => (await O(b), e.cancellable(b?.signal, e.doc.pages.extract([...w]))), P = async (w, b, v, x) => { + const y = b instanceof Uint8Array ? b : new Uint8Array(b); + return w === null ? d( + u("insert", null, [{ type: "pages.insert", source: y, position: v }]), + x + ) : m(w, x, (M) => { + const S = u( "insert", - A, - [{ type: "pages.insert", source: b, position: w, objectNumbers: v }], - [{ type: "pages.delete", pages: v.map(ut) }, ...h()] + w, + [{ type: "pages.insert", source: y, position: v, objectNumbers: M }], + [{ type: "pages.delete", pages: M.map(dt) }, ...g()] ); - return d(E, O); + return d(S, x); }); - }, P = async (A, y, w) => { - const O = await t( + }, k = async (w, b, v) => { + const x = await t( () => e.engine.open( { kind: "bytes", id: `page-edit-source-${Date.now().toString(36)}`, - bytes: new Uint8Array(A) + bytes: new Uint8Array(w) }, { scope: ["*"] } ) ); try { - const b = await t(() => e.cancellable(w, O.pages.list())), v = y.map((E) => { - const I = b.pages[E]; - if (!I) - throw new Z("not-found", "page-edit", `the PDF has no page ${E}`); - return I.ref; + const y = await t(() => e.cancellable(v, x.pages.list())), M = b.map((S) => { + const C = y.pages[S]; + if (!C) + throw new te("not-found", "page-edit", `the PDF has no page ${S}`); + return C.ref; }); - return await t(() => e.cancellable(w, O.pages.extract(v))); + return await t(() => e.cancellable(v, x.pages.extract(M))); } finally { - await O.close(); + await x.close(); } }; return { api: { - canEdit: () => e.allows(or), - canExtract: () => e.allows(Ix), - getSelected: a, + canEdit: () => e.allows(rr), + canExtract: () => e.allows(Hx), + getSelected: i, select: c, - rotateBy: async (A, y, w) => { - l(or, "pageEdit.rotateBy", w); - const O = r(A), b = p( - O, - (v) => ((e.pageOf(v).rotation + y) % 360 + 360) % 360 + rotateBy: async (w, b, v) => { + l(rr, "pageEdit.rotateBy", v); + const x = r(w), y = p( + x, + (M) => ((e.pageOf(M).rotation + b) % 360 + 360) % 360 ); - await f(b, w); + await f(y, v); }, - setRotation: async (A, y, w) => { - l(or, "pageEdit.setRotation", w); - const O = p(r(A), () => y); - await f(O, w); + setRotation: async (w, b, v) => { + l(rr, "pageEdit.setRotation", v); + const x = p(r(w), () => b); + await f(x, v); }, - reorder: async (A, y, w) => { - l(or, "pageEdit.reorder", w); - const O = r(A), b = u( + reorder: async (w, b, v) => { + l(rr, "pageEdit.reorder", v); + const x = r(w), y = u( "reorder", - O.length, - [{ type: "pages.reorder", pages: O, position: s(y) }], - [...h8(n(), O), ...h()] + x.length, + [{ type: "pages.reorder", pages: x, position: s(b) }], + [...a4(n(), x), ...g()] ); - await f(b, w); - }, - delete: async (A, y) => { - l(or, "pageEdit.delete", y); - const w = r(A), O = new Set(w.map((v) => v.objectNumber)); - if (n().every((v) => O.has(v.ref.objectNumber))) - throw new Z("invalid-input", "page-edit", "a document keeps at least one page"); - const b = u( + await f(y, v); + }, + delete: async (w, b) => { + l(rr, "pageEdit.delete", b); + const v = r(w), x = new Set(v.map((M) => M.objectNumber)); + if (n().every((M) => x.has(M.ref.objectNumber))) + throw new te("invalid-input", "page-edit", "a document keeps at least one page"); + const y = u( "delete", - w.length, - [{ type: "pages.delete", pages: w }], - [{ type: "pages.restore", pages: wP(n(), w) }, ...h()] + v.length, + [{ type: "pages.delete", pages: v }], + [{ type: "pages.restore", pages: zO(n(), v) }, ...g()] ); - await f(b, y); + await f(y, b); }, - insertBlank: async (A = {}) => { - l(or, "pageEdit.insertBlank", A); - const y = s(A.position), w = A.count ?? 1, O = A.size ?? i(y); - return m(w, A, (b) => { - const v = u( + insertBlank: async (w = {}) => { + l(rr, "pageEdit.insertBlank", w); + const b = s(w.position), v = w.count ?? 1, x = w.size ?? a(b); + return m(v, w, (y) => { + const M = u( "insertBlank", - w, - [{ type: "pages.insertBlank", spec: { size: O, count: w }, position: y, objectNumbers: b }], - [{ type: "pages.delete", pages: b.map(ut) }, ...h()] + v, + [{ type: "pages.insertBlank", spec: { size: x, count: v }, position: b, objectNumbers: y }], + [{ type: "pages.delete", pages: y.map(dt) }, ...g()] ); - return d(v, A); + return d(M, w); }); }, - insertFromBytes: async (A, y = {}) => { - l(or, "pageEdit.insertFromBytes", y); - const w = s(y.position), { pageIndexes: O, signal: b } = y; - if (O?.length === 0) throw o(); - const v = O ? await P(A, O, b) : A; - return S(O?.length ?? null, v, w, y); - }, - insertFromDocument: async (A, y, w = {}) => { - if (l(or, "pageEdit.insertFromDocument", w), y.length === 0) throw o(); - const O = e.documentHandle(A); - if (!O) - throw new Z("not-found", "page-edit", `document '${A}' is not open`); - const b = e.get(tt).listPages(A), v = y.map((T) => { - const _ = typeof T == "number" ? b[T] : b.find((N) => N.ref.objectNumber === T.objectNumber); + insertFromBytes: async (w, b = {}) => { + l(rr, "pageEdit.insertFromBytes", b); + const v = s(b.position), { pageIndexes: x, signal: y } = b; + if (x?.length === 0) throw o(); + const M = x ? await k(w, x, y) : w; + return P(x?.length ?? null, M, v, b); + }, + insertFromDocument: async (w, b, v = {}) => { + if (l(rr, "pageEdit.insertFromDocument", v), b.length === 0) throw o(); + const x = e.documentHandle(w); + if (!x) + throw new te("not-found", "page-edit", `document '${w}' is not open`); + const y = e.get(nt).listPages(w), M = b.map((N) => { + const _ = typeof N == "number" ? y[N] : y.find((T) => T.ref.objectNumber === N.objectNumber); if (!_) - throw new Z( + throw new te( "not-found", "page-edit", - `document '${A}' has no such page` + `document '${w}' has no such page` ); return _.ref; - }), E = s(w.position), I = await t( - () => e.cancellable(w.signal, O.pages.extract(v)) + }), S = s(v.position), C = await t( + () => e.cancellable(v.signal, x.pages.extract(M)) ); - return S(v.length, I, E, w); + return P(M.length, C, S, v); }, - duplicate: async (A, y = {}) => { - l(or, "pageEdit.duplicate", y); - const w = r(A), O = y.position ? s(y.position) : { after: w[w.length - 1] }; - return m(w.length, y, (b) => { - const v = u( + duplicate: async (w, b = {}) => { + l(rr, "pageEdit.duplicate", b); + const v = r(w), x = b.position ? s(b.position) : { after: v[v.length - 1] }; + return m(v.length, b, (y) => { + const M = u( "duplicate", - w.length, - [{ type: "pages.copy", pages: w, position: O, objectNumbers: b }], - [{ type: "pages.delete", pages: b.map(ut) }, ...h()] + v.length, + [{ type: "pages.copy", pages: v, position: x, objectNumbers: y }], + [{ type: "pages.delete", pages: y.map(dt) }, ...g()] ); - return d(v, y); + return d(M, b); }); }, - extract: async (A, y) => (l(Ix, "pageEdit.extract", y), x(r(A), y)) + extract: async (w, b) => (l(Hx, "pageEdit.extract", b), E(r(w), b)) } }; } -const Fz = () => ({ +const QW = () => ({ id: "page-edit", scope: "document", - token: Ua, - state: Nz, - create: jz -}), Dz = ln(Ua, { + token: Ui, + state: qW, + create: YW +}), XW = pn(Ui, { read: (e) => ({ selected: e.getSelected(), canEdit: e.canEdit(), @@ -21296,24 +21902,24 @@ const Fz = () => ({ canExtract: !1 } }); -function $z() { - return Ge(Ua); +function ZW() { + return Ge(Ui); } -const Bz = Wn(Dz), Cn = At("i18n", { +const JW = zn(XW), Yo = St("i18n", { hint: "add i18nPlugin() from '@embedpdf/plugin-i18n' to your plugins list" }); -function zm(e, t) { +function Ym(e, t) { return t ? e.replace( /\{(\w+)\}/g, (n, o) => t[o] !== void 0 ? String(t[o]) : n ) : e; } -const zz = [], Wz = {}, Uz = { +const eU = [], tU = {}, nU = { locale: null, fallbackLocale: "en", - locales: zz, - loaders: Wz -}, ri = At("link", { + locales: eU, + loaders: tU +}, aa = St("link", { hint: "add linkPlugin() from '@embedpdf/plugin-link' to your plugins list", // Without a document, an adapter's stand-in rejects these with `not-ready`, as the // capability would; the type asks for every member that returns a promise. @@ -21322,7 +21928,7 @@ const zz = [], Wz = {}, Uz = { ensureLoaded: !0 } }); -function fE(e, t) { +function KE(e, t) { switch (e.kind) { case "goto": return t(e.destination.page) ? { kind: "destination", destination: e.destination } : { kind: "reported", target: e }; @@ -21334,7 +21940,7 @@ function fE(e, t) { return { kind: "reported", target: e }; } } -const wn = At("selection", { +const Sn = St("selection", { hint: "add selectionPlugin() from '@embedpdf/plugin-selection' to your plugins list", // Without a document, an adapter's stand-in rejects these with `not-ready`, as the // capability would; the type asks for every member that returns a promise. @@ -21342,11 +21948,11 @@ const wn = At("selection", { readText: !0, readTextInRange: !0 } -}), pE = { +}), qE = { dragThresholdPx: 4, color: null, handles: { color: null, shadow: "0 1px 4px rgb(0 0 0 / 0.35)" } -}, Ka = At("outline", { +}, Ki = St("outline", { hint: "add outlinePlugin() from '@embedpdf/plugin-outline' to your plugins list", // Without a document, an adapter's stand-in rejects these with `not-ready`, as the // capability would; the type asks for every member that returns a promise. @@ -21358,178 +21964,178 @@ const wn = At("selection", { move: !0, delete: !0 } -}), yi = "top", Le = (e) => e ? String(e.objectNumber) : yi, Kz = Object.freeze([]), mn = (e, t) => e.children[t] ?? Kz; -function qz(e) { +}), wa = "top", $e = (e) => e ? String(e.objectNumber) : wa, oU = Object.freeze([]), kn = (e, t) => e.children[t] ?? oU; +function rU(e) { var o; const t = {}, n = {}; for (const r of e.items) { - const s = Le(r.ref); - t[s] = r, (n[o = Le(r.parent)] ?? (n[o] = [])).push(s); + const s = $e(r.ref); + t[s] = r, (n[o = $e(r.parent)] ?? (n[o] = [])).push(s); } return { items: t, children: n, incomplete: e.incomplete }; } -function Nx(e) { +function Gx(e) { const t = [], n = (o) => { - for (const r of mn(e, o)) { + for (const r of kn(e, o)) { const s = e.items[r]; s && (t.push(s), n(r)); } }; - return n(yi), t; + return n(wa), t; } -function hE(e, t) { +function HE(e, t) { const n = [t]; - for (let o = 0; o < n.length; o += 1) n.push(...mn(e, n[o])); + for (let o = 0; o < n.length; o += 1) n.push(...kn(e, n[o])); return n; } -function kf(e, t) { +function xf(e, t) { const n = [], o = /* @__PURE__ */ new Set([t]); for (let r = e.items[t]?.parent ?? null; r; ) { - const s = Le(r); + const s = $e(r); if (o.has(s)) break; o.add(s), n.push(s), r = e.items[s]?.parent ?? null; } return n; } -function Hz(e, t) { - const n = new Set(t.map(Le)), o = /* @__PURE__ */ new Set(); +function sU(e, t) { + const n = new Set(t.map($e)), o = /* @__PURE__ */ new Set(); return t.filter((r) => { - const s = Le(r); - return o.has(s) ? !1 : (o.add(s), !kf(e, s).some((i) => n.has(i))); + const s = $e(r); + return o.has(s) ? !1 : (o.add(s), !xf(e, s).some((a) => n.has(a))); }); } -function Vz(e, t) { +function aU(e, t) { const n = [], o = (r, s) => { - for (const i of mn(e, r)) { - const a = e.items[i]; - if (!a) continue; - const c = mn(e, i).length > 0, l = c && t[i] === !0; - n.push({ item: a, depth: s, hasChildren: c, expanded: l }), l && o(i, s + 1); + for (const a of kn(e, r)) { + const i = e.items[a]; + if (!i) continue; + const c = kn(e, a).length > 0, l = c && t[a] === !0; + n.push({ item: i, depth: s, hasChildren: c, expanded: l }), l && o(a, s + 1); } }; - return o(yi, 0), n; + return o(wa, 0), n; } -function Gz(e, t) { +function iU(e, t) { const n = []; return e.forEach((o, r) => { const s = o.target; if (s?.kind !== "goto") return; - const { destination: i } = s, a = t(i.page); - if (a === null) return; - const c = "y" in i ? i.y ?? 0 : 0; - n.push({ key: Le(o.ref), pageIndex: a, y: c, order: r }); + const { destination: a } = s, i = t(a.page); + if (i === null) return; + const c = "y" in a ? a.y ?? 0 : 0; + n.push({ key: $e(o.ref), pageIndex: i, y: c, order: r }); }), n.sort( (o, r) => o.pageIndex - r.pageIndex || o.y - r.y || o.order - r.order ); } -const Yz = 1; -function Qz(e, t, n) { +const cU = 1; +function lU(e, t, n) { let o = 0, r = e.length; for (; o < r; ) { - const s = o + r >> 1, i = e[s]; - i.pageIndex < t || i.pageIndex === t && i.y <= n + Yz ? o = s + 1 : r = s; + const s = o + r >> 1, a = e[s]; + a.pageIndex < t || a.pageIndex === t && a.y <= n + cU ? o = s + 1 : r = s; } return o > 0 ? e[o - 1] : null; } -const Xz = () => ({ +const uU = () => ({ expanded: {}, seeded: !1, selected: [] }); -function Zz(e, t) { +function dU(e, t) { if (e.seeded) return e; const n = { ...e.expanded }; for (const [o, r] of Object.entries(t.items)) r.open && (n[o] = !0); return { ...e, expanded: n, seeded: !0 }; } -function Wu(e, t) { +function qu(e, t) { const n = t.filter((r) => e.expanded[r] !== !0); if (n.length === 0) return e; const o = { ...e.expanded }; for (const r of n) o[r] = !0; return { ...e, expanded: o }; } -function Nd(e, t) { +function Ld(e, t) { const n = t.filter((r) => e.expanded[r] === !0); if (n.length === 0) return e; const o = { ...e.expanded }; for (const r of n) delete o[r]; return { ...e, expanded: o }; } -function Tx(e, t) { - const n = t.map(Le), o = t.filter((s, i) => n.indexOf(n[i]) === i); - return o.length === e.selected.length && o.every((s, i) => s.objectNumber === e.selected[i].objectNumber) ? e : { ...e, selected: o }; +function Yx(e, t) { + const n = t.map($e), o = t.filter((s, a) => n.indexOf(n[a]) === a); + return o.length === e.selected.length && o.every((s, a) => s.objectNumber === e.selected[a].objectNumber) ? e : { ...e, selected: o }; } -function Jz(e, t) { - const n = Object.keys(e.expanded).filter((s) => !t.items[s]), o = e.selected.filter((s) => t.items[Le(s)]); +function fU(e, t) { + const n = Object.keys(e.expanded).filter((s) => !t.items[s]), o = e.selected.filter((s) => t.items[$e(s)]); if (n.length === 0 && o.length === e.selected.length) return e; - const r = Nd(e, n); + const r = Ld(e, n); return o.length === e.selected.length ? r : { ...r, selected: o }; } -const eW = (e) => e === yi ? null : ly(Number(e)); -function yr(e, t, n) { +const pU = (e) => e === wa ? null : wy(Number(e)); +function wr(e, t, n) { const o = { ...e.children }; n.length > 0 ? o[t] = n : delete o[t]; - const r = e.items[t], s = r && s8(r, n.length > 0); + const r = e.items[t], s = r && X8(r, n.length > 0); return { ...e, children: o, items: s === r ? e.items : { ...e.items, [t]: s } }; } -function Qs(e, t) { +function Zs(e, t) { if (t.length === 0) return e; const n = { ...e.items }; - for (const o of t) n[Le(o.ref)] = o; + for (const o of t) n[$e(o.ref)] = o; return { ...e, items: n }; } -function gE(e, t) { +function VE(e, t) { const n = e.items[t]; if (!n) return e; - const o = hE(e, t), r = { ...e.items }, s = { ...e.children }; - for (const a of o) - delete r[a], delete s[a]; - const i = Le(n.parent); - return yr( + const o = HE(e, t), r = { ...e.items }, s = { ...e.children }; + for (const i of o) + delete r[i], delete s[i]; + const a = $e(n.parent); + return wr( { ...e, items: r, children: s }, - i, - mn(e, i).filter((a) => a !== t) + a, + kn(e, a).filter((i) => i !== t) ); } -function mE(e, t) { +function GE(e, t) { try { - return ay( - e.map(eW).filter((n) => n !== null), + return by( + e.map(pU).filter((n) => n !== null), t, - Le + $e ); } catch { return null; } } -const f0 = (e, t, n) => [...e.slice(0, t), ...n, ...e.slice(t)]; -function tW(e, t) { +const O0 = (e, t, n) => [...e.slice(0, t), ...n, ...e.slice(t)]; +function hU(e, t) { if (t.type === "pages.deleted" || t.type === "pages.restored") - return e && fo(); + return e && po(); if (!e) return e; switch (t.type) { case "outline.created": - return yr( - Qs(e, [t.item]), - Le(t.order.parent), - t.order.children.map(Le) + return wr( + Zs(e, [t.item]), + $e(t.order.parent), + t.order.children.map($e) ); case "outline.updated": - return Qs(e, [t.item]); + return Zs(e, [t.item]); case "outline.moved": { let n = e; for (const o of t.orders) { - const r = Le(o.parent); - n = yr(n, r, o.children.map(Le)), n = Qs( + const r = $e(o.parent); + n = wr(n, r, o.children.map($e)), n = Zs( n, o.children.flatMap((s) => { - const i = n.items[Le(s)]; - return i && Le(i.parent) !== r ? [{ ...i, parent: o.parent }] : []; + const a = n.items[$e(s)]; + return a && $e(a.parent) !== r ? [{ ...a, parent: o.parent }] : []; }) ); } @@ -21537,131 +22143,131 @@ function tW(e, t) { } case "outline.deleted": { const [n] = t.deleted; - return n ? gE(e, Le(n)) : e; + return n ? VE(e, $e(n)) : e; } case "outline.restored": - return yr( - bE(e, t.items), - Le(t.order.parent), - t.order.children.map(Le) + return wr( + YE(e, t.items), + $e(t.order.parent), + t.order.children.map($e) ); default: return e; } } -function bE(e, t) { - const n = Qs(e, t), o = { ...n.children }, r = new Set(t.map((i) => Le(i.ref))), s = {}; - for (const i of t.slice(1)) { - const a = Le(i.parent); - r.has(a) && (s[a] ?? (s[a] = [])).push(Le(i.ref)); +function YE(e, t) { + const n = Zs(e, t), o = { ...n.children }, r = new Set(t.map((a) => $e(a.ref))), s = {}; + for (const a of t.slice(1)) { + const i = $e(a.parent); + r.has(i) && (s[i] ?? (s[i] = [])).push($e(a.ref)); } - for (const i of r) - s[i] ? o[i] = s[i] : delete o[i]; + for (const a of r) + s[a] ? o[a] = s[a] : delete o[a]; return { ...n, children: o }; } -function yE(e, t) { +function QE(e, t) { if (!e) return e; switch (t.type) { case "outline.create": { if (t.objectNumber === void 0) return e; - const n = ly(t.objectNumber), o = Le(n), r = Le(t.parent); - if (e.items[o] || r !== yi && !e.items[r]) return e; - const s = mn(e, r), i = mE(s, t.position ?? "end"); - return i === null ? e : yr( - Qs(e, [o8(n, t.parent, t.data)]), + const n = wy(t.objectNumber), o = $e(n), r = $e(t.parent); + if (e.items[o] || r !== wa && !e.items[r]) return e; + const s = kn(e, r), a = GE(s, t.position ?? "end"); + return a === null ? e : wr( + Zs(e, [Y8(n, t.parent, t.data)]), r, - f0(s, i, [o]) + O0(s, a, [o]) ); } case "outline.update": { - const n = Le(t.ref), o = e.items[n]; + const n = $e(t.ref), o = e.items[n]; if (!o) return e; - const r = r8(o, t.patch, mn(e, n).length > 0); - return r === o ? e : Qs(e, [r]); + const r = Q8(o, t.patch, kn(e, n).length > 0); + return r === o ? e : Zs(e, [r]); } case "outline.move": - return nW(e, t.refs.map(Le), t.parent, t.position); + return gU(e, t.refs.map($e), t.parent, t.position); case "outline.delete": - return gE(e, Le(t.ref)); + return VE(e, $e(t.ref)); case "outline.restore": - return oW(e, t.items, t.index); + return mU(e, t.items, t.index); default: return e; } } -function nW(e, t, n, o) { - const r = Le(n); - if (r !== yi && !e.items[r] || new Set(t).size !== t.length || t.some((f) => !e.items[f])) return e; +function gU(e, t, n, o) { + const r = $e(n); + if (r !== wa && !e.items[r] || new Set(t).size !== t.length || t.some((f) => !e.items[f])) return e; const s = new Set(t); for (const f of t) - if (f === r || kf(e, f).some((d) => s.has(d))) + if (f === r || xf(e, f).some((d) => s.has(d))) return e; - if (kf(e, r).some((f) => s.has(f))) return e; - const i = mn(e, r).filter((f) => !s.has(f)), a = mE(i, o); - if (a === null) return e; - const c = f0(i, a, t); - if (rW(c, mn(e, r))) return e; + if (xf(e, r).some((f) => s.has(f))) return e; + const a = kn(e, r).filter((f) => !s.has(f)), i = GE(a, o); + if (i === null) return e; + const c = O0(a, i, t); + if (bU(c, kn(e, r))) return e; let l = e; - const u = new Set(t.map((f) => Le(e.items[f].parent))); + const u = new Set(t.map((f) => $e(e.items[f].parent))); u.delete(r); for (const f of u) - l = yr( + l = wr( l, f, - mn(l, f).filter((d) => !s.has(d)) + kn(l, f).filter((d) => !s.has(d)) ); - return l = yr(l, r, c), Qs( + return l = wr(l, r, c), Zs( l, t.flatMap((f) => { const d = l.items[f]; - return Le(d.parent) === r ? [] : [{ ...d, parent: n }]; + return $e(d.parent) === r ? [] : [{ ...d, parent: n }]; }) ); } -function oW(e, t, n) { +function mU(e, t, n) { const [o] = t; if (!o) return e; - const r = Le(o.parent); - if (r !== yi && !e.items[r]) return e; - const s = Le(o.ref); - let i = e; + const r = $e(o.parent); + if (r !== wa && !e.items[r]) return e; + const s = $e(o.ref); + let a = e; for (const l of t) { - const u = i.items[Le(l.ref)]; + const u = a.items[$e(l.ref)]; if (!u) continue; - const f = Le(u.parent); - i = yr( - i, + const f = $e(u.parent); + a = wr( + a, f, - mn(i, f).filter((d) => d !== Le(l.ref)) + kn(a, f).filter((d) => d !== $e(l.ref)) ); } - const a = mn(i, r), c = Math.max(0, Math.min(n, a.length)); - return yr(bE(i, t), r, f0(a, c, [s])); + const i = kn(a, r), c = Math.max(0, Math.min(n, i.length)); + return wr(YE(a, t), r, O0(i, c, [s])); } -const rW = (e, t) => e.length === t.length && e.every((n, o) => n === t[o]); -function Rx(e, t) { +const bU = (e, t) => e.length === t.length && e.every((n, o) => n === t[o]); +function Qx(e, t) { const n = e.items[t]; return n ? { type: "outline.restore", - items: hE(e, t).flatMap((r) => { + items: HE(e, t).flatMap((r) => { const s = e.items[r]; return s ? [s] : []; }), - index: mn(e, Le(n.parent)).indexOf(t) + index: kn(e, $e(n.parent)).indexOf(t) } : null; } -function sW(e, t) { +function yU(e, t) { switch (t.type) { case "outline.create": - return t.objectNumber === void 0 ? [] : [{ type: "outline.delete", ref: ly(t.objectNumber) }]; + return t.objectNumber === void 0 ? [] : [{ type: "outline.delete", ref: wy(t.objectNumber) }]; case "outline.update": case "outline.delete": { - const n = Rx(e, Le(t.ref)); + const n = Qx(e, $e(t.ref)); return n ? [n] : []; } case "outline.move": return t.refs.flatMap((o) => { - const r = Rx(e, Le(o)); + const r = Qx(e, $e(o)); return r ? [r] : []; }).sort( (o, r) => o.type === "outline.restore" && r.type === "outline.restore" ? o.index - r.index : 0 @@ -21670,16 +22276,16 @@ function sW(e, t) { return []; } } -function iW(e, t) { +function wU(e, t) { if (!e) return []; const n = []; let o = e; for (const r of t) - n.push(sW(o, r)), o = yE(o, r) ?? o; + n.push(yU(o, r)), o = QE(o, r) ?? o; return n.reverse().flat(); } -const Lx = "doc.outline.modify", aW = 32767, jx = Object.freeze([]), cW = Object.freeze([]), lW = Object.freeze([]); -function uW(e) { +const Xx = "doc.outline.modify", vU = 32767, Zx = Object.freeze([]), kU = Object.freeze([]), xU = Object.freeze([]); +function AU(e) { switch (e.type) { case "outline.created": return { type: "created", items: [e.item.ref] }; @@ -21695,208 +22301,208 @@ function uW(e) { return null; } } -function dW(e) { +function SU(e) { const t = e.events.source(), n = e.events.source(), o = e.mirror({ name: "outline", onDemand: !0, initial: () => null, - load: async (_) => ({ value: qz(await _.outline.get()) }), - fold: tW, - predict: yE, - onChanged: ({ cause: _, event: N, next: F }) => { - if (!F) return; + load: async (_) => ({ value: rU(await _.outline.get()) }), + fold: hU, + predict: QE, + onChanged: ({ cause: _, event: T, next: $ }) => { + if (!$) return; if (_ === "load") { - e.state.update(Zz, F), e.state.update(Jz, o.view() ?? F), n.emit({ outline: { items: Nx(F), incomplete: F.incomplete } }); + e.state.update(dU, $), e.state.update(fU, o.view() ?? $), n.emit({ outline: { items: Gx($), incomplete: $.incomplete } }); return; } - const R = N && "origin" in N ? uW(N) : null; - R && N && "origin" in N && t.emit({ ...R, origin: N.origin }); + const j = T && "origin" in T ? AU(T) : null; + j && T && "origin" in T && t.emit({ ...j, origin: T.origin }); } - }), r = () => o.view(), s = () => e.tryGet(xt), i = Ke( + }), r = () => o.view(), s = () => e.tryGet(At), a = qe( () => [r()], - (_) => _ ? Nx(_) : jx - ), a = (_) => r()?.items[Le(_)] ?? null, c = Jt( + (_) => _ ? Gx(_) : Zx + ), i = (_) => r()?.items[$e(_)] ?? null, c = Ut( (_) => [r()], - (_, N) => N ? mn(N, _).flatMap((F) => { - const R = N.items[F]; - return R ? [R] : []; - }) : jx, + (_, T) => T ? kn(T, _).flatMap(($) => { + const j = T.items[$]; + return j ? [j] : []; + }) : Zx, { maxEntries: 256 } - ), l = Ke( + ), l = qe( () => [r(), e.state.get().expanded], - (_, N) => _ ? Vz(_, N) : cW - ), u = Ke( + (_, T) => _ ? aU(_, T) : kU + ), u = qe( () => [r(), e.state.get().selected], - (_, N) => _ && N.length > 0 ? N.filter((F) => _.items[Le(F)] !== void 0) : lW - ), f = Ke( - () => [i(), e.document()?.pagesSequence ?? 0], - (_) => Gz(_, (N) => e.getPage(N)?.index ?? null) - ), d = Ke( + (_, T) => _ && T.length > 0 ? T.filter(($) => _.items[$e($)] !== void 0) : xU + ), f = qe( + () => [a(), e.document()?.pagesSequence ?? 0], + (_) => iU(_, (T) => e.getPage(T)?.index ?? null) + ), d = qe( () => { - const _ = s()?.getCurrentDestination() ?? null, N = _ ? e.getPage(_.page)?.index ?? -1 : -1, F = _?.kind === "xyz" ? _.y ?? 0 : 0; - return [f(), N, F]; + const _ = s()?.getCurrentDestination() ?? null, T = _ ? e.getPage(_.page)?.index ?? -1 : -1, $ = _?.kind === "xyz" ? _.y ?? 0 : 0; + return [f(), T, $]; }, - (_, N, F) => N < 0 ? null : Qz(_, N, F) + (_, T, $) => T < 0 ? null : lU(_, T, $) ), p = () => { const _ = d(); return _ ? r()?.items[_.key]?.ref ?? null : null; - }, h = () => { + }, g = () => { const _ = s()?.getCurrentDestination() ?? null; return _ ? { kind: "goto", destination: _ } : null; - }, g = (_) => a(_) !== null, m = () => { + }, h = (_) => i(_) !== null, m = () => { const _ = r(); - return _ ? Object.keys(_.children).filter((N) => _.items[N]) : []; - }, M = (_) => { - const N = r(), F = Le(_); - return !!N && mn(N, F).length > 0 && e.state.get().expanded[F] === !0; - }, x = (_) => { - const N = r(); - N && e.state.update(Wu, kf(N, Le(_))); - }, S = (_) => { - const N = a(_); - if (!N) - throw new Z("not-found", "outline", `the outline has no item ${_.objectNumber}`); - const F = e.tryGet(yn); - if (N.action && F) - return { status: "dispatched", dispatch: F.execute(N.action, { + return _ ? Object.keys(_.children).filter((T) => _.items[T]) : []; + }, O = (_) => { + const T = r(), $ = $e(_); + return !!T && kn(T, $).length > 0 && e.state.get().expanded[$] === !0; + }, E = (_) => { + const T = r(); + T && e.state.update(qu, xf(T, $e(_))); + }, P = (_) => { + const T = i(_); + if (!T) + throw new te("not-found", "outline", `the outline has no item ${_.objectNumber}`); + const $ = e.tryGet(An); + if (T.action && $) + return { status: "dispatched", dispatch: $.execute(T.action, { origin: "user", - source: { kind: "outline", item: N.ref }, + source: { kind: "outline", item: T.ref }, event: { type: "activate" } }) }; - if (!N.target) return { status: "none" }; - const R = e.tryGet(ri); - if (R) return R.activate(N.target); - const j = fE(N.target, (B) => e.getPage(B) !== null); - switch (j.kind) { + if (!T.target) return { status: "none" }; + const j = e.tryGet(aa); + if (j) return j.activate(T.target); + const z = KE(T.target, (L) => e.getPage(L) !== null); + switch (z.kind) { case "destination": { - const B = s(); - return B ? (B.goToDestination(j.destination), { status: "revealed" }) : { status: "destination", destination: j.destination }; + const L = s(); + return L ? (L.goToDestination(z.destination), { status: "revealed" }) : { status: "destination", destination: z.destination }; } case "uri": - return { status: "uri", uri: j.uri }; + return { status: "uri", uri: z.uri }; case "named": - return { status: "named", name: j.name }; + return { status: "named", name: z.name }; default: - return { status: "reported", target: j.target }; - } - }, P = (_, N) => { - if (e.assertAllowed(Lx, _), N?.signal?.aborted) - throw new Z("operation-cancelled", "outline", `${_} was cancelled`); - }, k = (_, N) => { - if (r() && !g(_)) - throw new Z( + return { status: "reported", target: z.target }; + } + }, k = (_, T) => { + if (e.assertAllowed(Xx, _), T?.signal?.aborted) + throw new te("operation-cancelled", "outline", `${_} was cancelled`); + }, A = (_, T) => { + if (r() && !h(_)) + throw new te( "not-found", "outline", - `${N}: the outline has no item ${_.objectNumber}` + `${T}: the outline has no item ${_.objectNumber}` ); - }, A = (_, N, F) => e.changes.stage({ - label: F === void 0 ? { key: `outline.${_}` } : { key: `outline.${_}`, count: F }, - ops: N, - undo: iW(r(), N) - }), y = async (_, N) => { + }, w = (_, T, $) => e.changes.stage({ + label: $ === void 0 ? { key: `outline.${_}` } : { key: `outline.${_}`, count: $ }, + ops: T, + undo: wU(r(), T) + }), b = async (_, T) => { try { - return (await e.cancellable(N?.signal, _.result)).items[0]; - } catch (F) { - throw Be("outline", F); + return (await e.cancellable(T?.signal, _.result)).items[0]; + } catch ($) { + throw Fe("outline", $); } - }, w = async () => { + }, v = async () => { for (; ; ) { const _ = e.changes.takeObjectNumber(); if (_ !== null) return _; await e.changes.reserveObjectNumbers(1); } - }, O = async (_) => { - const N = e.tryGet(wn); - if (N?.hasSelection()) + }, x = async (_) => { + const T = e.tryGet(Sn); + if (T?.hasSelection()) try { - const F = (await N.readText(_)).replace(/\s+/g, " ").trim(); - if (F) return F.slice(0, aW); - } catch (F) { - if (_?.signal?.aborted) throw Be("outline", F); - } - return e.tryGet(Cn)?.t("outline.untitled", { fallback: "Untitled" }) ?? "Untitled"; - }, b = async (_ = {}, N) => { - P("outline.create", N); - const { parent: F = null, position: R, title: j, target: B, color: W, bold: $, italic: K } = _; - F && k(F, "outline.create"); - const ee = B === void 0 ? h() : B, J = { - title: j ?? await O(N), - ...ee ? { target: ee } : {}, - ...W !== void 0 ? { color: W } : {}, - ...$ !== void 0 ? { bold: $ } : {}, - ...K !== void 0 ? { italic: K } : {} - }, ue = await w(), be = A("create", [ - { type: "outline.create", parent: F, ...R ? { position: R } : {}, data: J, objectNumber: ue } + const $ = (await T.readText(_)).replace(/\s+/g, " ").trim(); + if ($) return $.slice(0, vU); + } catch ($) { + if (_?.signal?.aborted) throw Fe("outline", $); + } + return e.tryGet(Yo)?.t("outline.untitled", { fallback: "Untitled" }) ?? "Untitled"; + }, y = async (_ = {}, T) => { + k("outline.create", T); + const { parent: $ = null, position: j, title: z, target: L, color: D, bold: F, italic: B } = _; + $ && A($, "outline.create"); + const V = L === void 0 ? g() : L, Q = { + title: z ?? await x(T), + ...V ? { target: V } : {}, + ...D !== void 0 ? { color: D } : {}, + ...F !== void 0 ? { bold: F } : {}, + ...B !== void 0 ? { italic: B } : {} + }, le = await v(), pe = w("create", [ + { type: "outline.create", parent: $, ...j ? { position: j } : {}, data: Q, objectNumber: le } ]); - if (N?.select) { - const Oe = { kind: "objectNumber", objectNumber: ue }; - x(Oe), e.state.update(Tx, [Oe]); - } - return { item: (await y(be, N)).item }; - }, v = async (_, N, F) => { - P("outline.update", F), k(_, "outline.update"); - const R = A("update", [{ type: "outline.update", ref: _, patch: N }]); - return { item: (await y(R, F)).item }; - }, E = async (_, N, F, R) => { - if (P("outline.move", R), _.length === 0) return; - for (const B of _) k(B, "outline.move"); - N && k(N, "outline.move"); - const j = A("move", [{ type: "outline.move", refs: _, parent: N, position: F }]); - await y(j, R); - }, I = async (_, N) => { - P("outline.delete", N); - for (const B of _) k(B, "outline.delete"); - const F = r(), R = F ? Hz(F, _) : _; - if (R.length === 0) return; - const j = A( + if (T?.select) { + const Ae = { kind: "objectNumber", objectNumber: le }; + E(Ae), e.state.update(Yx, [Ae]); + } + return { item: (await b(pe, T)).item }; + }, M = async (_, T, $) => { + k("outline.update", $), A(_, "outline.update"); + const j = w("update", [{ type: "outline.update", ref: _, patch: T }]); + return { item: (await b(j, $)).item }; + }, S = async (_, T, $, j) => { + if (k("outline.move", j), _.length === 0) return; + for (const L of _) A(L, "outline.move"); + T && A(T, "outline.move"); + const z = w("move", [{ type: "outline.move", refs: _, parent: T, position: $ }]); + await b(z, j); + }, C = async (_, T) => { + k("outline.delete", T); + for (const L of _) A(L, "outline.delete"); + const $ = r(), j = $ ? sU($, _) : _; + if (j.length === 0) return; + const z = w( "delete", - R.map((B) => ({ type: "outline.delete", ref: B })), - R.length + j.map((L) => ({ type: "outline.delete", ref: L })), + j.length ); - await y(j, N); + await b(z, T); }; return { api: { - list: i, - get: a, - getChildren: (_) => c(Le(_)), + list: a, + get: i, + getChildren: (_) => c($e(_)), listRows: l, getCurrentItem: p, isIncomplete: () => r()?.incomplete ?? !1, getStatus: o.getStatus, ensureLoaded: (_) => e.cancellable(_?.signal, o.ensureLoaded()), refresh: (_) => e.cancellable(_?.signal, o.refresh()), - isExpanded: M, + isExpanded: O, expand: (_) => { - g(_) && e.state.update(Wu, [Le(_)]); + h(_) && e.state.update(qu, [$e(_)]); }, - collapse: (_) => e.state.update(Nd, [Le(_)]), + collapse: (_) => e.state.update(Ld, [$e(_)]), toggle: (_) => { - M(_) ? e.state.update(Nd, [Le(_)]) : g(_) && e.state.update(Wu, [Le(_)]); + O(_) ? e.state.update(Ld, [$e(_)]) : h(_) && e.state.update(qu, [$e(_)]); }, - expandAll: () => e.state.update(Wu, m()), - collapseAll: () => e.state.update(Nd, Object.keys(e.state.get().expanded)), - reveal: x, + expandAll: () => e.state.update(qu, m()), + collapseAll: () => e.state.update(Ld, Object.keys(e.state.get().expanded)), + reveal: E, getSelected: u, - select: (_) => e.state.update(Tx, _.filter(g)), - activate: S, - canEdit: () => e.allows(Lx), - getCurrentViewTarget: h, - create: b, - update: v, - move: E, - delete: I, + select: (_) => e.state.update(Yx, _.filter(h)), + activate: P, + canEdit: () => e.allows(Xx), + getCurrentViewTarget: g, + create: y, + update: M, + move: S, + delete: C, onChanged: t.on, onResynced: n.on } }; } -const fW = () => ({ +const OU = () => ({ id: "outline", - token: Ka, + token: Ki, scope: "document", - optional: [xt, yn, ri, wn, Cn], - state: Xz, - create: dW -}), pW = ln(Ka, { + optional: [At, An, aa, Sn, Yo], + state: uU, + create: SU +}), PU = pn(Ki, { read: (e) => ({ items: e.list(), rows: e.listRows(), @@ -21917,10 +22523,10 @@ const fW = () => ({ }, ensure: (e) => e.ensureLoaded() }); -function kpe() { - return Ge(Ka); +function Dhe() { + return Ge(Ki); } -const hW = Wn(pW), Qe = At("annotation", { +const MU = zn(PU), Qe = St("annotation", { hint: "add annotationPlugin() from '@embedpdf/plugin-annotation' to your plugins list", // Without a document, an adapter's stand-in rejects these with `not-ready`, as the // capability would; the type asks for every member that returns a promise. @@ -21931,6 +22537,7 @@ const hW = Wn(pW), Qe = At("annotation", { update: !0, delete: !0, reorder: !0, + duplicate: !0, export: !0, import: !0, downloadResource: !0, @@ -21943,6 +22550,7 @@ const hW = Wn(pW), Qe = At("annotation", { "selection.resetRotation": !0, "selection.group": !0, "selection.ungroup": !0, + "selection.duplicate": !0, "draft.finish": !0, "text.end": !0, "text.toggleFormat": !0, @@ -21955,7 +22563,7 @@ const hW = Wn(pW), Qe = At("annotation", { "comments.delete": !0, "comments.deleteThread": !0 } -}), gW = ln(Qe, { +}), EU = pn(Qe, { read: (e) => ({ status: e.getStatus(), selected: e.selection.getSelected(), @@ -21963,7 +22571,7 @@ const hW = Wn(pW), Qe = At("annotation", { editing: e.text.getEditing() }), empty: { status: "loading", selected: [], hovered: null, editing: null } -}), Ep = "stamp", mW = 0.5, bW = (e) => e === !0 ? { opacity: mW } : e, yW = [ +}), Np = "stamp", CU = 0.5, IU = (e) => e === !0 ? { opacity: CU } : e, _U = [ "ref", "page", "index", @@ -21991,45 +22599,45 @@ const hW = Wn(pW), Qe = At("annotation", { "modifiedBy", "importedBy", "actions" -], Td = ["color", "interiorColor", "strokeWidth", "borderStyle"], fg = [ - ...Td, +], jd = ["color", "interiorColor", "strokeWidth", "borderStyle"], bg = [ + ...jd, "fontFamily", "fontSize", "fontColor", "textAlign" -], Gt = (e) => Fa[e].filter( - (t) => !yW.includes(t) -), wW = { - square: Gt("square"), - circle: Gt("circle"), - line: Gt("line"), - polygon: Gt("polygon"), - polyline: Gt("polyline"), - ink: Gt("ink"), - "free-text": Gt("free-text"), - "free-text-callout": Gt("free-text"), - highlight: Gt("highlight"), - underline: Gt("underline"), - strikeout: Gt("strikeout"), - squiggly: Gt("squiggly"), - caret: Gt("caret"), - redact: Gt("redact"), - stamp: Gt("stamp"), - link: Gt("link"), - text: Gt("text"), - "file-attachment": Gt("file-attachment"), +], Zt = (e) => ji[e].filter( + (t) => !_U.includes(t) +), NU = { + square: Zt("square"), + circle: Zt("circle"), + line: Zt("line"), + polygon: Zt("polygon"), + polyline: Zt("polyline"), + ink: Zt("ink"), + "free-text": Zt("free-text"), + "free-text-callout": Zt("free-text"), + highlight: Zt("highlight"), + underline: Zt("underline"), + strikeout: Zt("strikeout"), + squiggly: Zt("squiggly"), + caret: Zt("caret"), + redact: Zt("redact"), + stamp: Zt("stamp"), + link: Zt("link"), + text: Zt("text"), + "file-attachment": Zt("file-attachment"), // Widget client kinds (the form plugin's palette tools): box styling for // every family, `/DA` text styling for the text-bearing ones. The engine // maps them onto /MK //BS //DA //Q. - "widget-text": fg, - "widget-choice": fg, - "widget-button": fg, - "widget-toggle": Td, - "widget-radio": Td, + "widget-text": bg, + "widget-choice": bg, + "widget-button": bg, + "widget-toggle": jd, + "widget-radio": jd, // The bare box every other widget family ingests as (a signature field's // widget among them): box styling only, no text to style. - "widget-box": Td -}, vW = /* @__PURE__ */ new Set(["calibrate"]), rr = ["annotation-draw", "annotation-edit"], Cs = "#e5484d", Ri = ["text-select", "annotation-edit"], wE = (e) => e.has("annotation-draw") || e.has("text-select") ? "draw" : "tap", kW = [ + "widget-box": jd +}, TU = /* @__PURE__ */ new Set(["calibrate"]), sr = ["annotation-draw", "annotation-edit"], Cs = "#e5484d", ja = ["text-select", "annotation-edit"], XE = (e) => e.has("annotation-draw") || e.has("text-select") ? "draw" : "tap", RU = [ // shapes / lines / ink / free text — the `annotation-draw` gesture. // Draw tools carry click-create defaults (a bare click places a // default-size annotation). Their ghost is off: they are drag-first, so the @@ -22038,7 +22646,7 @@ const hW = Wn(pW), Qe = At("annotation", { id: "square", subtype: "square", cursor: "crosshair", - enables: rr, + enables: sr, defaults: { color: Cs, strokeWidth: 6 }, // A click shows 80 wide and 60 tall as the page is seen, turned or not. clickCreate: { width: 80, height: 60 }, @@ -22048,7 +22656,7 @@ const hW = Wn(pW), Qe = At("annotation", { id: "circle", subtype: "circle", cursor: "crosshair", - enables: rr, + enables: sr, defaults: { color: Cs, strokeWidth: 6 }, // A click shows 80 wide and 60 tall as the page is seen, turned or not. clickCreate: { width: 80, height: 60 }, @@ -22058,7 +22666,7 @@ const hW = Wn(pW), Qe = At("annotation", { id: "line", subtype: "line", cursor: "crosshair", - enables: rr, + enables: sr, defaults: { color: Cs, strokeWidth: 6 }, // A click lays it centred on the point, pointing right as the page shows. clickCreate: { length: 80 }, @@ -22088,14 +22696,14 @@ const hW = Wn(pW), Qe = At("annotation", { id: "polygon", subtype: "polygon", cursor: "crosshair", - enables: rr, + enables: sr, defaults: { color: Cs, strokeWidth: 6 } }, { id: "polyline", subtype: "polyline", cursor: "crosshair", - enables: rr, + enables: sr, defaults: { color: Cs, strokeWidth: 6 } }, { @@ -22117,7 +22725,7 @@ const hW = Wn(pW), Qe = At("annotation", { id: "ink", subtype: "ink", cursor: "crosshair", - enables: rr, + enables: sr, defaults: { color: "#ef4444", strokeWidth: 6, blendMode: "normal" }, ink: { groupStrokesMs: 800 } }, @@ -22133,7 +22741,7 @@ const hW = Wn(pW), Qe = At("annotation", { id: "free-text", subtype: "free-text", cursor: "crosshair", - enables: rr, + enables: sr, defaults: { color: Cs, strokeWidth: 2, fontColor: "#ef4444" }, upright: !0, // Top-left anchored: the box hangs where you'll type (the kind's reading @@ -22149,7 +22757,7 @@ const hW = Wn(pW), Qe = At("annotation", { id: "free-text-callout", subtype: "free-text-callout", cursor: "crosshair", - enables: rr, + enables: sr, defaults: { color: Cs, strokeWidth: 6, lineEnding: "open-arrow" }, upright: !0 }, @@ -22161,7 +22769,7 @@ const hW = Wn(pW), Qe = At("annotation", { id: "highlight", subtype: "highlight", cursor: "default", - enables: Ri, + enables: ja, defaults: { color: "#ffe16a", blendMode: "multiply" }, selection: { kind: "markup" } }, @@ -22187,7 +22795,7 @@ const hW = Wn(pW), Qe = At("annotation", { id: "underline", subtype: "underline", cursor: "default", - enables: Ri, + enables: ja, defaults: { color: "#ef4444" }, selection: { kind: "markup" } }, @@ -22195,7 +22803,7 @@ const hW = Wn(pW), Qe = At("annotation", { id: "strikeout", subtype: "strikeout", cursor: "default", - enables: Ri, + enables: ja, defaults: { color: "#ef4444" }, selection: { kind: "markup" } }, @@ -22203,7 +22811,7 @@ const hW = Wn(pW), Qe = At("annotation", { id: "squiggly", subtype: "squiggly", cursor: "default", - enables: Ri, + enables: ja, defaults: { color: "#ef4444" }, selection: { kind: "markup" } }, @@ -22215,7 +22823,7 @@ const hW = Wn(pW), Qe = At("annotation", { fieldsKind: "caret", preset: "caret", cursor: "default", - enables: Ri, + enables: ja, defaults: { color: "#ef4444" }, selection: { kind: "text-edit", operation: "insert" } }, @@ -22224,7 +22832,7 @@ const hW = Wn(pW), Qe = At("annotation", { subtype: "strikeout", fieldsKind: "strikeout", cursor: "default", - enables: Ri, + enables: ja, defaults: { color: "#ef4444" }, selection: { kind: "text-edit", operation: "replace" } }, @@ -22233,7 +22841,7 @@ const hW = Wn(pW), Qe = At("annotation", { // embedder can pass fixed bytes instead). `accept` narrows the dialog to // what the engine's stamp sniffer takes anyway. { - id: Ep, + id: Np, subtype: "stamp", cursor: "copy", enables: ["annotation-place", "annotation-edit"], @@ -22250,7 +22858,7 @@ const hW = Wn(pW), Qe = At("annotation", { id: "link", subtype: "link", cursor: "crosshair", - enables: rr + enables: sr }, // sticky note ("comment") — click-to-place, no payload: each click drops a // fixed 20×20 icon (engine-baked /AP from /C + /Name), screen-sized and @@ -22283,24 +22891,40 @@ const hW = Wn(pW), Qe = At("annotation", { ghost: !0 } ]; -function vE(e, t) { +function LU(e, t) { return e && t ? { ...e, ...t } : t ?? e; } -function xW(e, t) { +function Qm(e, t) { + const n = e.subtype ?? t?.subtype ?? e.id; return { - ...e, - ...t, - enables: t.enables ?? e.enables, - meta: e.meta || t.meta ? { ...e.meta, ...t.meta } : void 0, - defaults: vE(e.defaults, t.defaults), - flags: e.flags || t.flags ? { ...e.flags, ...t.flags } : void 0, - ink: e.ink || t.ink ? { ...e.ink, ...t.ink } : void 0, - afterCreate: e.afterCreate || t.afterCreate ? { ...e.afterCreate, ...t.afterCreate } : void 0 - }; -} -function AW(e) { + id: e.id, + subtype: n, + preset: e.preset ?? e.id, + fieldsKind: e.fieldsKind ?? t?.fieldsKind ?? n, + cursor: e.cursor ?? t?.cursor ?? "crosshair", + enables: new Set(e.enables ?? (t ? [...t.enables] : [])), + defaults: LU(t?.defaults, e.defaults), + flags: t?.flags || e.flags ? { ...t?.flags, ...e.flags } : void 0, + source: e.source ?? t?.source, + selection: e.selection ?? t?.selection, + ink: t?.ink || e.ink ? { ...t?.ink, ...e.ink } : void 0, + upright: e.upright ?? t?.upright ?? !1, + clickCreate: e.clickCreate ?? t?.clickCreate ?? !1, + ghost: IU(e.ghost ?? t?.ghost ?? !1), + afterCreate: t?.afterCreate || e.afterCreate ? { ...t?.afterCreate, ...e.afterCreate } : void 0, + capture: TU.has(e.id) || (t?.capture ?? !1), + meta: e.meta + }; +} +function jU(e, t) { + return { + ...Qm({ ...t, preset: t.preset ?? e.preset }, e), + meta: e.meta || t.meta ? { ...e.meta, ...t.meta } : void 0 + }; +} +function FU(e) { if (!e.defaults) return; - const t = wW[e.subtype]; + const t = NU[e.subtype]; if (!t) return; const n = new Set(t); for (const o of Object.keys(e.defaults)) @@ -22309,45 +22933,27 @@ function AW(e) { `[annotation] tool '${e.id}' does not support default '${o}' for '${e.subtype}'` ); } -function Fx(e = []) { +function ZE(e, t) { + let n; + if (t.extends) { + const o = e.get(t.extends); + if (!o) + throw new Error( + `[annotation] tool '${t.id}' extends '${t.extends}', which isn't defined before it` + ); + n = Qm(t, o); + } else { + const o = e.get(t.id); + n = o ? jU(o, t) : Qm(t); + } + return FU(n), e.set(n.id, n), n; +} +function DU(e = []) { const t = /* @__PURE__ */ new Map(); - for (const s of kW) t.set(s.id, s); - for (const s of e) { - const i = t.get(s.id); - t.set(s.id, i ? xW(i, s) : s); - } - const n = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Set(), r = (s) => { - const i = n.get(s); - if (i) return i; - const a = t.get(s); - if (!a) throw new Error(`[annotation] tool '${s}' extends an unknown tool`); - let c; - a.extends && a.extends !== s && !o.has(a.extends) && (o.add(s), c = r(a.extends), o.delete(s)); - const l = a.subtype ?? c?.subtype ?? a.id, u = { - id: a.id, - subtype: l, - preset: a.preset ?? a.id, - fieldsKind: a.fieldsKind ?? c?.fieldsKind ?? l, - cursor: a.cursor ?? c?.cursor ?? "crosshair", - enables: new Set(a.enables ?? (c ? [...c.enables] : [])), - defaults: vE(c?.defaults, a.defaults), - flags: c?.flags || a.flags ? { ...c?.flags, ...a.flags } : void 0, - source: a.source ?? c?.source, - selection: a.selection ?? c?.selection, - ink: c?.ink || a.ink ? { ...c?.ink, ...a.ink } : void 0, - upright: a.upright ?? c?.upright ?? !1, - clickCreate: a.clickCreate ?? c?.clickCreate ?? !1, - ghost: bW(a.ghost ?? c?.ghost ?? !1), - afterCreate: c?.afterCreate || a.afterCreate ? { ...c?.afterCreate, ...a.afterCreate } : void 0, - capture: vW.has(a.id) || (c?.capture ?? !1), - meta: c?.meta || a.meta ? { ...c?.meta, ...a.meta } : void 0 - }; - return AW(u), n.set(s, u), u; - }; - for (const s of t.keys()) r(s); - return n; + for (const n of [...RU, ...e]) ZE(t, n); + return t; } -const SW = { +const $U = { tools: [], afterCreate: { select: !0, tool: "stay", editText: !0 }, chrome: { @@ -22376,7 +22982,7 @@ const SW = { rotationThresholdDeg: 4 }, editable: !0 -}, qa = At("attachment", { +}, qi = St("attachment", { hint: "add attachmentPlugin() from '@embedpdf/plugin-attachment' to your plugins list", // Without a document, an adapter's stand-in rejects these with `not-ready`, as the // capability would; the type asks for every member that returns a promise. @@ -22387,64 +22993,64 @@ const SW = { delete: !0, download: !0 } -}), PW = /[\u0000-\u001f\u007f-\u009f\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/g; -function OW(e) { - return e.name.replace(PW, "").trim() || "attachment"; +}), BU = /[\u0000-\u001f\u007f-\u009f\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/g; +function zU(e) { + return e.name.replace(BU, "").trim() || "attachment"; } -const MW = () => ({ selected: [] }); -function EW(e, t) { +const WU = () => ({ selected: [] }); +function UU(e, t) { const n = t.filter((r, s) => t.indexOf(r) === s); return n.length === e.selected.length && n.every((r, s) => r === e.selected[s]) ? e : { ...e, selected: n }; } -const CW = (e) => `doc:${e.key}`, IW = (e) => `page:${ie(e)}`; -function _W(e) { +const KU = (e) => `doc:${e.key}`, qU = (e) => `page:${Y(e)}`; +function HU(e) { const { ref: t, index: n, ...o } = e; - return { ...o, id: CW(t), home: { kind: "document", ref: t } }; + return { ...o, id: KU(t), home: { kind: "document", ref: t } }; } -function NW(e) { +function VU(e) { return e.subtype !== "file-attachment" || !e.file ? null : { ...e.file, - id: IW(e.ref), + id: qU(e.ref), home: { kind: "page", ref: e.ref } }; } -function TW(e, t) { +function GU(e, t) { if (!t.has(e)) return e; const n = e.lastIndexOf("."), o = n > 0 ? e.slice(0, n) : e, r = n > 0 ? e.slice(n) : ""; for (let s = 2; ; s++) { - const i = `${o} (${s})${r}`; - if (!t.has(i)) return i; + const a = `${o} (${s})${r}`; + if (!t.has(a)) return a; } } -function kE(e) { +function JE(e) { return e.map((t, n) => t.index === n ? t : { ...t, index: n }); } -const Wm = (e, t) => e.some((n) => n.ref.key === t); -function Um(e, t) { +const Xm = (e, t) => e.some((n) => n.ref.key === t); +function Zm(e, t) { const n = t.ref.key, o = e.filter((s) => s.ref.key !== n), r = o.findIndex((s) => s.ref.key > n); - return kE( + return JE( r < 0 ? [...o, t] : [...o.slice(0, r), t, ...o.slice(r)] ); } -function xE(e, t) { - return Wm(e, t) ? kE(e.filter((n) => n.ref.key !== t)) : e; +function eC(e, t) { + return Xm(e, t) ? JE(e.filter((n) => n.ref.key !== t)) : e; } -function RW(e, t) { +function YU(e, t) { if (!e) return e; switch (t.type) { case "attachments.created": case "attachments.restored": - return Um(e, t.attachment); + return Zm(e, t.attachment); case "attachments.deleted": - return t.deleted ? xE(e, t.deleted.key) : e; + return t.deleted ? eC(e, t.deleted.key) : e; default: return e; } } -function LW(e) { +function QU(e) { const t = e.resources.file; return { - ref: U5(e.file.name), + ref: fO(e.file.name), index: 0, name: e.file.name, mimeType: e.file.mimeType ?? null, @@ -22455,23 +23061,23 @@ function LW(e) { modifiedAt: null }; } -function AE(e, t) { +function tC(e, t) { if (!e) return e; switch (t.type) { case "attachments.create": - return Wm(e, t.file.name) ? e : Um(e, LW(t)); + return Xm(e, t.file.name) ? e : Zm(e, QU(t)); case "attachments.delete": - return xE(e, t.ref.key); + return eC(e, t.ref.key); case "attachments.restore": - return Wm(e, t.attachment.ref.key) ? e : Um(e, t.attachment); + return Xm(e, t.attachment.ref.key) ? e : Zm(e, t.attachment); default: return e; } } -function jW(e, t) { +function XU(e, t) { switch (t.type) { case "attachments.create": - return [{ type: "attachments.delete", ref: U5(t.file.name) }]; + return [{ type: "attachments.delete", ref: fO(t.file.name) }]; case "attachments.delete": { const n = e.find((o) => o.ref.key === t.ref.key); return n ? [{ type: "attachments.restore", attachment: n }] : []; @@ -22480,31 +23086,31 @@ function jW(e, t) { return []; } } -function Dx(e, t) { +function Jx(e, t) { if (!e) return []; const n = []; let o = e; for (const r of t) - n.push(jW(o, r)), o = AE(o, r) ?? o; + n.push(XU(o, r)), o = tC(o, r) ?? o; return n.reverse().flat(); } -const Uu = "doc.attachments.modify", $x = "doc.download", Ku = Object.freeze([]); -function FW(e) { - const t = e.events.source(), n = e.events.source(), o = /* @__PURE__ */ new WeakMap(), r = (y) => { - let w = o.get(y); - return w || o.set(y, w = _W(y)), w; - }, s = /* @__PURE__ */ new WeakMap(), i = (y) => { - let w = s.get(y); - return w === void 0 && s.set(y, w = NW(y)), w; - }, a = (y, w) => { - switch (y.type) { +const Hu = "doc.attachments.modify", e2 = "doc.download", Vu = Object.freeze([]); +function ZU(e) { + const t = e.events.source(), n = e.events.source(), o = /* @__PURE__ */ new WeakMap(), r = (b) => { + let v = o.get(b); + return v || o.set(b, v = HU(b)), v; + }, s = /* @__PURE__ */ new WeakMap(), a = (b) => { + let v = s.get(b); + return v === void 0 && s.set(b, v = VU(b)), v; + }, i = (b, v) => { + switch (b.type) { case "attachments.created": - return { type: "created", files: [r(y.attachment)] }; + return { type: "created", files: [r(b.attachment)] }; case "attachments.restored": - return { type: "restored", files: [r(y.attachment)] }; + return { type: "restored", files: [r(b.attachment)] }; case "attachments.deleted": { - const O = w?.find((b) => b.ref.key === y.deleted?.key); - return { type: "deleted", files: O ? [r(O)] : [] }; + const x = v?.find((y) => y.ref.key === b.deleted?.key); + return { type: "deleted", files: x ? [r(x)] : [] }; } default: return null; @@ -22513,129 +23119,129 @@ function FW(e) { name: "attachments", onDemand: !0, initial: () => null, - load: async (y) => ({ value: (await y.attachments.list()).attachments }), - fold: RW, - predict: AE, - onChanged: ({ cause: y, event: w, previous: O, next: b }) => { - if (!b) return; - if (y === "load") { - n.emit({ files: b.map(r) }); + load: async (b) => ({ value: (await b.attachments.list()).attachments }), + fold: YU, + predict: tC, + onChanged: ({ cause: b, event: v, previous: x, next: y }) => { + if (!y) return; + if (b === "load") { + n.emit({ files: y.map(r) }); return; } - const v = w && "origin" in w ? a(w, O) : null; - v && w && "origin" in w && t.emit({ ...v, origin: w.origin }); + const M = v && "origin" in v ? i(v, x) : null; + M && v && "origin" in v && t.emit({ ...M, origin: v.origin }); } - }), l = () => e.tryGet(Qe), u = Ke( + }), l = () => e.tryGet(Qe), u = qe( () => [c.view(), l()?.list() ?? null], - (y, w) => { - const O = [ - ...(y ?? []).map(r), - ...(w ?? []).flatMap((b) => { - const v = i(b); - return v ? [v] : []; + (b, v) => { + const x = [ + ...(b ?? []).map(r), + ...(v ?? []).flatMap((y) => { + const M = a(y); + return M ? [M] : []; }) ]; - return O.length > 0 ? O : Ku; + return x.length > 0 ? x : Vu; } - ), f = (y) => u().find((w) => w.id === y) ?? null, d = Ke( + ), f = (b) => u().find((v) => v.id === b) ?? null, d = qe( () => [u(), e.state.get().selected], - (y, w) => { - if (w.length === 0) return Ku; - const O = new Map(y.map((v) => [v.id, v])), b = w.flatMap((v) => { - const E = O.get(v); - return E ? [E] : []; + (b, v) => { + if (v.length === 0) return Vu; + const x = new Map(b.map((M) => [M.id, M])), y = v.flatMap((M) => { + const S = x.get(M); + return S ? [S] : []; }); - return b.length > 0 ? b : Ku; - } - ), p = (y) => { - if (y.home.kind === "page") return l()?.isPending(y.home.ref) ?? !1; - const w = y.home.ref.key; - return !(c.get() ?? []).some((O) => O.ref.key === w); - }, h = (y, w, O) => { - if (e.assertAllowed(y, w), O?.signal?.aborted) - throw new Z("operation-cancelled", "attachment", `${w} was cancelled`); - }, g = async (y, w) => { + return y.length > 0 ? y : Vu; + } + ), p = (b) => { + if (b.home.kind === "page") return l()?.isPending(b.home.ref) ?? !1; + const v = b.home.ref.key; + return !(c.get() ?? []).some((x) => x.ref.key === v); + }, g = (b, v, x) => { + if (e.assertAllowed(b, v), x?.signal?.aborted) + throw new te("operation-cancelled", "attachment", `${v} was cancelled`); + }, h = async (b, v) => { try { - return await e.cancellable(w?.signal, y.result); - } catch (O) { - throw Be("attachment", O); + return await e.cancellable(v?.signal, b.result); + } catch (x) { + throw Fe("attachment", x); } - }, m = (y) => { - const w = l(); - if (!w) - throw new Z("not-found", "attachment", `${y}: no annotation plugin`); - return w; - }, M = (y, w) => { - const { data: O, description: b } = y, v = typeof Blob < "u" && O instanceof Blob ? O : null, E = y.name ?? (v && "name" in v ? String(v.name) : ""); - if (!E) - throw new Z( + }, m = (b) => { + const v = l(); + if (!v) + throw new te("not-found", "attachment", `${b}: no annotation plugin`); + return v; + }, O = (b, v) => { + const { data: x, description: y } = b, M = typeof Blob < "u" && x instanceof Blob ? x : null, S = b.name ?? (M && "name" in M ? String(M.name) : ""); + if (!S) + throw new te( "invalid-input", "attachment", "attachment.add: a file needs a name: pass { data, name } or a File" ); - const I = TW(E, w); - w.add(I); - const T = y.mimeType ?? (v?.type || void 0); + const C = GU(S, v); + v.add(C); + const N = b.mimeType ?? (M?.type || void 0); return { type: "attachments.create", file: { - name: I, - ...T !== void 0 ? { mimeType: T } : {}, - ...b !== void 0 ? { description: b } : {} + name: C, + ...N !== void 0 ? { mimeType: N } : {}, + ...y !== void 0 ? { description: y } : {} }, - resources: { file: O instanceof ArrayBuffer ? new Uint8Array(O) : O } + resources: { file: x instanceof ArrayBuffer ? new Uint8Array(x) : x } }; - }, x = async (y, w) => { - if (h(Uu, "attachment.add", w), y.length === 0) return Ku; - await e.cancellable(w?.signal, c.ensureLoaded()); - const O = new Set((c.view() ?? []).map((I) => I.ref.key)), b = y.map((I) => M(I, O)), v = e.changes.stage({ - label: { key: "attachment.add", count: b.length }, - ops: b, - undo: Dx(c.view(), b) + }, E = async (b, v) => { + if (g(Hu, "attachment.add", v), b.length === 0) return Vu; + await e.cancellable(v?.signal, c.ensureLoaded()); + const x = new Set((c.view() ?? []).map((C) => C.ref.key)), y = b.map((C) => O(C, x)), M = e.changes.stage({ + label: { key: "attachment.add", count: y.length }, + ops: y, + undo: Jx(c.view(), y) }); - return (await g(v, w)).items.flatMap( - (I) => I.type === "attachments.create" ? [r(I.attachment)] : [] + return (await h(M, v)).items.flatMap( + (C) => C.type === "attachments.create" ? [r(C.attachment)] : [] ); - }, S = async (y, w) => { - if (y.home.kind === "page") - return m("attachment.remove").delete(y.home.ref, w); - h(Uu, "attachment.remove", w); - const { ref: O } = y.home, b = c.view(); - if (b && !b.some((I) => I.ref.key === O.key)) - throw new Z( + }, P = async (b, v) => { + if (b.home.kind === "page") + return m("attachment.remove").delete(b.home.ref, v); + g(Hu, "attachment.remove", v); + const { ref: x } = b.home, y = c.view(); + if (y && !y.some((C) => C.ref.key === x.key)) + throw new te( "not-found", "attachment", - `attachment.remove: the document has no attachment '${O.key}'` + `attachment.remove: the document has no attachment '${x.key}'` ); - const v = [{ type: "attachments.delete", ref: O }], E = e.changes.stage({ + const M = [{ type: "attachments.delete", ref: x }], S = e.changes.stage({ label: { key: "attachment.remove" }, - ops: v, - undo: Dx(b, v) + ops: M, + undo: Jx(y, M) }); - await g(E, w); - }, P = async (y, w) => { - const O = (b) => ({ - bytes: b, - name: OW(y), - mimeType: y.mimeType + await h(S, v); + }, k = async (b, v) => { + const x = (y) => ({ + bytes: y, + name: zU(b), + mimeType: b.mimeType }); - if (y.home.kind === "page") { - const b = m("attachment.download"); - return O(await b.downloadResource(y.home.ref, "file", w)); + if (b.home.kind === "page") { + const y = m("attachment.download"); + return x(await y.downloadResource(b.home.ref, "file", v)); } - h($x, "attachment.download", w), p(y) && await e.cancellable(w?.signal, e.changes.whenSettled()); + g(e2, "attachment.download", v), p(b) && await e.cancellable(v?.signal, e.changes.whenSettled()); try { - return O( - await e.cancellable(w?.signal, e.doc.attachments.download(y.home.ref)) + return x( + await e.cancellable(v?.signal, e.doc.attachments.download(b.home.ref)) ); - } catch (b) { - throw Be("attachment", b); + } catch (y) { + throw Fe("attachment", y); } - }, k = (y) => { - if (y.home.kind !== "page") return; - const w = l(), O = w?.get(y.home.ref); - !w || !O || (w.selection.select([O.ref]), e.tryGet(xt)?.reveal(O.ref.page, { - rect: O.rect, + }, A = (b) => { + if (b.home.kind !== "page") return; + const v = l(), x = v?.get(b.home.ref); + !v || !x || (v.selection.select([x.ref]), e.tryGet(At)?.reveal(x.ref.page, { + rect: x.rect, align: { x: "center", y: 0.35 }, behavior: "smooth" })); @@ -22644,33 +23250,33 @@ function FW(e) { list: u, get: f, getSelected: d, - select: (y) => e.state.update( - EW, - y.map((w) => w.id) + select: (b) => e.state.update( + UU, + b.map((v) => v.id) ), isPending: p, getStatus: c.getStatus, - ensureLoaded: (y) => e.cancellable(y?.signal, c.ensureLoaded()), - refresh: (y) => e.cancellable(y?.signal, c.refresh()), - canDownload: () => e.allows($x), - canCreate: () => e.allows(Uu), - canDelete: (y) => y.home.kind === "page" ? l()?.canDelete(y.home.ref) ?? !1 : e.allows(Uu), - create: x, - delete: S, - download: P, - reveal: k, + ensureLoaded: (b) => e.cancellable(b?.signal, c.ensureLoaded()), + refresh: (b) => e.cancellable(b?.signal, c.refresh()), + canDownload: () => e.allows(e2), + canCreate: () => e.allows(Hu), + canDelete: (b) => b.home.kind === "page" ? l()?.canDelete(b.home.ref) ?? !1 : e.allows(Hu), + create: E, + delete: P, + download: k, + reveal: A, onChanged: t.on, onResynced: n.on } }; } -const DW = () => ({ +const JU = () => ({ id: "attachment", - token: qa, + token: qi, scope: "document", - optional: [Qe, xt], - state: MW, - create: FW -}), $W = ln(qa, { + optional: [Qe, At], + state: WU, + create: ZU +}), eK = pn(qi, { read: (e) => ({ files: e.list(), selected: e.getSelected(), @@ -22687,31 +23293,31 @@ const DW = () => ({ }, ensure: (e) => e.ensureLoaded() }); -function xpe() { - return Ge(qa); +function $he() { + return Ge(qi); } -const SE = Wn($W), BW = () => ({ +const nC = zn(eK), tK = () => ({ activeToolId: "pointer", toolStack: [], cursor: "default" }); -function pg(e, t) { +function yg(e, t) { return e.activeToolId === t && e.toolStack.length === 0 ? e : { ...e, activeToolId: t, toolStack: [] }; } -function zW(e, t) { +function nK(e, t) { return { ...e, toolStack: [...e.toolStack, e.activeToolId], activeToolId: t }; } -function WW(e) { +function oK(e) { return e.toolStack.length === 0 ? e : { ...e, toolStack: e.toolStack.slice(0, -1), activeToolId: e.toolStack[e.toolStack.length - 1] }; } -function UW(e, t) { +function rK(e, t) { return e.cursor === t ? e : { ...e, cursor: t }; } -const KW = () => [ +const sK = () => [ { id: "pointer", cursor: "default", @@ -22737,596 +23343,596 @@ const KW = () => [ touch: "draw", enables: /* @__PURE__ */ new Set(["zoom-box"]) } -], qW = 1e3, Bx = /* @__PURE__ */ new Set(); -function HW(e, t) { +], aK = 1e3, t2 = /* @__PURE__ */ new Set(); +function iK(e, t) { const n = e.settings(), o = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(); let s = 0; - const i = [], a = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map(); + const a = [], i = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map(); let u = null, f = null, d = !1; - const p = e.events.source(), h = e.events.source(), g = e.events.source(), m = e.events.source(), M = e.events.source(); - e.state.onChange(({ previous: R, next: j }) => { - R.cursor !== j.cursor && M.emit({ cursor: j.cursor }); + const p = e.events.source(), g = e.events.source(), h = e.events.source(), m = e.events.source(), O = e.events.source(); + e.state.onChange(({ previous: j, next: z }) => { + j.cursor !== z.cursor && O.emit({ cursor: z.cursor }); }); - const x = () => e.state.get(), S = (R) => o.get(R) ?? { id: R, cursor: "default", enables: Bx }, P = () => S(x().activeToolId), k = Ke( + const E = () => e.state.get(), P = (j) => o.get(j) ?? { id: j, cursor: "default", enables: t2 }, k = () => P(E().activeToolId), A = qe( () => [s], - (R) => [...o.values()] - ), A = () => { - let R = null; - for (const W of c.values()) (!R || W.priority > R.priority) && (R = W); - const j = P(), B = l.get(j.id); - return R ? B?.[R.cursor] ?? R.cursor : d ? B?.[j.cursor] ?? j.cursor : j.gapCursor ?? "default"; - }, y = () => e.state.update(UW, A()), w = (R) => { - const j = i.indexOf(R); - j >= 0 && i.splice(j, 1), a.delete(R), u === R && (u = null, f = null); - }, O = (R, j) => (i.push(R), j !== void 0 && a.set(R, j), () => w(R)), b = (R) => { - o.delete(R.id); - const j = r.get(R); - r.delete(R), j && w(j); - }, v = (R, j) => { - const B = o.get(R.id); - if (B && !j) - throw new Z( + (j) => [...o.values()] + ), w = () => { + let j = null; + for (const D of c.values()) (!j || D.priority > j.priority) && (j = D); + const z = k(), L = l.get(z.id); + return j ? L?.[j.cursor] ?? j.cursor : d ? L?.[z.cursor] ?? z.cursor : z.gapCursor ?? "default"; + }, b = () => e.state.update(rK, w()), v = (j) => { + const z = a.indexOf(j); + z >= 0 && a.splice(z, 1), i.delete(j), u === j && (u = null, f = null); + }, x = (j, z) => (a.push(j), z !== void 0 && i.set(j, z), () => v(j)), y = (j) => { + o.delete(j.id); + const z = r.get(j); + r.delete(j), z && v(z); + }, M = (j, z) => { + const L = o.get(j.id); + if (L && !z) + throw new te( "conflict", "interaction", - `tool '${R.id}' is already registered; pass { replace: true } to replace it` + `tool '${j.id}' is already registered; pass { replace: true } to replace it` ); - B && b(B); - const W = R.enables ? R : { ...R, enables: Bx }; - o.set(W.id, W); - const $ = VW(W); - return $ && (r.set(W, $), O($)), W; - }, E = () => { + L && y(L); + const D = j.enables ? j : { ...j, enables: t2 }; + o.set(D.id, D); + const F = cK(D); + return F && (r.set(D, F), x(F)), D; + }, S = () => { s += 1, e.notify(); - }, I = (R) => () => { - o.get(R.id) === R && (b(R), l.delete(R.id), E()); - }; - for (const R of t) v(R, !0); - let T = n.get().tools.map((R) => I(v(R, !0))); - n.api.onSettingsChanged(({ changedKeys: R }) => { - if (R.includes("tools")) { - for (const j of T) j(); - T = n.get().tools.map((j) => I(v(j, !0))), E(); - } - }), e.state.update(pg, n.get().defaultTool), y(); - const _ = (R) => { - const j = P(); - return i.filter((B) => { - const W = a.get(B); - return W === void 0 || R === void 0 || W === R; - }).filter((B) => B.enabledFor(j)).sort((B, W) => W.priority - B.priority); - }; - function N(R, j) { - if (!o.has(R)) throw new Z("not-found", "interaction", `unknown tool '${R}'`); - const B = x().activeToolId; - u = null, f = null, c.clear(), e.state.update(j), y(), p.emit({ toolId: R, previousToolId: B }); + }, C = (j) => () => { + o.get(j.id) === j && (y(j), l.delete(j.id), S()); + }; + for (const j of t) M(j, !0); + let N = n.get().tools.map((j) => C(M(j, !0))); + n.api.onSettingsChanged(({ changedKeys: j }) => { + if (j.includes("tools")) { + for (const z of N) z(); + N = n.get().tools.map((z) => C(M(z, !0))), S(); + } + }), e.state.update(yg, n.get().defaultTool), b(); + const _ = (j) => { + const z = k(); + return a.filter((L) => { + const D = i.get(L); + return D === void 0 || j === void 0 || D === j; + }).filter((L) => L.enabledFor(z)).sort((L, D) => D.priority - L.priority); + }; + function T(j, z) { + if (!o.has(j)) throw new te("not-found", "interaction", `unknown tool '${j}'`); + const L = E().activeToolId; + u = null, f = null, c.clear(), e.state.update(z), b(), p.emit({ toolId: j, previousToolId: L }); } return { api: { ...n.api, // ── public ──────────────────────────────────────────────────────────── - getActiveTool: P, - getActiveToolId: () => x().activeToolId, + getActiveTool: k, + getActiveToolId: () => E().activeToolId, getDefaultToolId: () => n.get().defaultTool, - listTools: k, - getTool: (R) => o.get(R) ?? null, - hasTool: (R) => o.has(R), - activateTool: (R) => N(R, (j) => pg(j, R)), + listTools: A, + getTool: (j) => o.get(j) ?? null, + hasTool: (j) => o.has(j), + activateTool: (j) => T(j, (z) => yg(z, j)), activateDefaultTool: () => { - const R = n.get().defaultTool; - N(R, (j) => pg(j, R)); + const j = n.get().defaultTool; + T(j, (z) => yg(z, j)); }, - pushTool: (R) => N(R, (j) => zW(j, R)), + pushTool: (j) => T(j, (z) => nK(z, j)), popTool: () => { - const R = x().toolStack; - R.length !== 0 && N(R[R.length - 1], WW); + const j = E().toolStack; + j.length !== 0 && T(j[j.length - 1], oK); }, - setToolCursor: (R, j) => { - j === null ? l.delete(R) : l.set(R, j), y(); + setToolCursor: (j, z) => { + z === null ? l.delete(j) : l.set(j, z), b(); }, - registerTool: (R, j) => { - const B = v(R, j?.replace ?? !1); - return E(), I(B); + registerTool: (j, z) => { + const L = M(j, z?.replace ?? !1); + return S(), C(L); }, onToolChanged: p.on, - onGestureStarted: h.on, - onGestureEnded: g.on, + onGestureStarted: g.on, + onGestureEnded: h.on, onGestureCancelled: m.on, // ── host ────────────────────────────────────────────────────────────── - activeToolEnables: (R) => P().enables.has(R), - registerHandler: (R, j) => O(R, j?.source), - claimCursor: (R, j, B = 0) => { - j === null ? c.delete(R) : c.set(R, { cursor: j, priority: B }), y(); + activeToolEnables: (j) => k().enables.has(j), + registerHandler: (j, z) => x(j, z?.source), + claimCursor: (j, z, L = 0) => { + z === null ? c.delete(j) : c.set(j, { cursor: z, priority: L }), b(); }, - getCursor: () => x().cursor, + getCursor: () => E().cursor, hasCursorClaim: () => c.size > 0, - onCursorChanged: M.on, - wouldClaimTouch: (R) => { - for (const j of _(R.source)) if (j.claimsTouch?.(R)) return !0; + onCursorChanged: O.on, + wouldClaimTouch: (j) => { + for (const z of _(j.source)) if (z.claimsTouch?.(j)) return !0; return !1; }, - dispatchPointer: (R) => { - const j = R.page != null; - if (j !== d && (d = j, y()), R.phase === "down") { + dispatchPointer: (j) => { + const z = j.page != null; + if (z !== d && (d = z, b()), j.phase === "down") { u = null, f = null; - for (const B of _(R.source)) - if (B.onPointerDown(R)) { - u = B, f = { - toolId: x().activeToolId, - page: R.page?.ref ?? null, - pointerType: R.pointerType ?? "mouse" - }, h.emit(f); + for (const L of _(j.source)) + if (L.onPointerDown(j)) { + u = L, f = { + toolId: E().activeToolId, + page: j.page?.ref ?? null, + pointerType: j.pointerType ?? "mouse" + }, g.emit(f); break; } - } else if (R.phase === "move") - if (u) u.onPointerMove?.(R); - else for (const B of _(R.source)) B.onHover?.(R); + } else if (j.phase === "move") + if (u) u.onPointerMove?.(j); + else for (const L of _(j.source)) L.onHover?.(j); else { - const B = u, W = f; - if (u = null, f = null, !B || !W) return; - R.phase === "cancel" ? ((B.onPointerCancel ?? B.onPointerUp)?.call(B, R), m.emit(W)) : (B.onPointerUp?.(R), g.emit(W)); + const L = u, D = f; + if (u = null, f = null, !L || !D) return; + j.phase === "cancel" ? ((L.onPointerCancel ?? L.onPointerUp)?.call(L, j), m.emit(D)) : (L.onPointerUp?.(j), h.emit(D)); } } } }; } -function VW(e) { +function cK(e) { if (!e.onPointerDown && !e.onHover) return null; let t = null, n = null; - const o = (i, a, c) => ({ - page: i, - point: a, + const o = (a, i, c) => ({ + page: a, + point: i, modifiers: c.modifiers, pointerType: c.pointerType ?? "mouse" - }), r = (i) => { + }), r = (a) => { if (!t) return null; - const a = ml(i, t); - return a && (n = o(t, a, i)), n; - }, s = (i) => { - const a = r(i); - t = null, n = null, a && e.onPointerUp?.(a); + const i = ml(a, t); + return i && (n = o(t, i, a)), n; + }, s = (a) => { + const i = r(a); + t = null, n = null, i && e.onPointerUp?.(i); }; return { id: `tool:${e.id}`, - priority: qW, - enabledFor: (i) => i === e, - onPointerDown: (i) => { - if (!i.page || !e.onPointerDown) return !1; - const a = o(i.page.ref, i.page.point, i); - return e.onPointerDown(a) !== !0 ? !1 : (t = i.page.ref, n = a, !0); + priority: aK, + enabledFor: (a) => a === e, + onPointerDown: (a) => { + if (!a.page || !e.onPointerDown) return !1; + const i = o(a.page.ref, a.page.point, a); + return e.onPointerDown(i) !== !0 ? !1 : (t = a.page.ref, n = i, !0); }, - onPointerMove: (i) => { - const a = r(i); - a && e.onPointerMove?.(a); + onPointerMove: (a) => { + const i = r(a); + i && e.onPointerMove?.(i); }, onPointerUp: s, onPointerCancel: s, - onHover: (i) => { - i.page && e.onHover?.(o(i.page.ref, i.page.point, i)); + onHover: (a) => { + a.page && e.onHover?.(o(a.page.ref, a.page.point, a)); } }; } -const GW = (e) => ({ +const lK = (e) => ({ id: "interaction", - token: Ot, + token: _t, scope: "document", - state: BW, - settings: { defaults: E9, registered: e }, - create: (t) => HW(t, KW()) -}), YW = ln(cn, { + state: tK, + settings: { defaults: zz, registered: e }, + create: (t) => iK(t, sK()) +}), uK = pn(fn, { read: (e) => ({ activeToolId: e.getActiveToolId(), tools: e.listTools() }), empty: { activeToolId: null, tools: [] } -}), QW = { selection() { +}), dK = { selection() { }, impact() { }, notify() { -} }, XW = (e = {}) => ({ +} }, fK = (e = {}) => ({ id: "feedback", scope: "workspace", - token: u0, - create: () => ({ api: e.provider ?? QW }) -}), ZW = Wn(YW); -function JW(e) { - const t = at(Ot), n = e && JSON.stringify(e), o = me(e); + token: A0, + create: () => ({ api: e.provider ?? dK }) +}), pK = zn(uK); +function hK(e) { + const t = ct(_t), n = e && JSON.stringify(e), o = ye(e); o.current = e, Se(() => { const r = o.current; if (!(!r || !t)) - return t.setToolCursor(r.toolId, eD(r.cursors)), () => t.setToolCursor(r.toolId, null); + return t.setToolCursor(r.toolId, c$(r.cursors)), () => t.setToolCursor(r.toolId, null); }, [t, n]); } -const zx = "selection-text"; -function eU(e, t, n, o = {}) { - const r = o.dragThresholdPx ?? (() => pE.dragThresholdPx); - let s = null, i = !1; +const n2 = "selection-text"; +function gK(e, t, n, o = {}) { + const r = o.dragThresholdPx ?? (() => qE.dragThresholdPx); + let s = null, a = !1; return { id: "text-select", priority: 60, - enabledFor: (a) => a.enables.has("text-select"), - onPointerDown: (a) => { - if (s = null, i = !1, !a.page || !e.canSelect()) return !1; - const { ref: c, point: l } = a.page, u = a.clickCount ?? 1; - return e.beginGesture(), u >= 3 ? (e.selectLineAt(c, l), !0) : u === 2 ? (e.selectWordAt(c, l) && a.gesture === "long-press" && n?.selection(), !0) : (e.clear(), e.isOverText(c, l) ? (s = { page: c, point: l, viewportX: a.viewport.x, viewportY: a.viewport.y }, !0) : (e.endGesture(), !1)); + enabledFor: (i) => i.enables.has("text-select"), + onPointerDown: (i) => { + if (s = null, a = !1, !i.page || !e.canSelect()) return !1; + const { ref: c, point: l } = i.page, u = i.clickCount ?? 1; + return e.beginGesture(), u >= 3 ? (e.selectLineAt(c, l), !0) : u === 2 ? (e.selectWordAt(c, l) && i.gesture === "long-press" && n?.selection(), !0) : (e.clear(), e.isOverText(c, l) ? (s = { page: c, point: l, viewportX: i.viewport.x, viewportY: i.viewport.y }, !0) : (e.endGesture(), !1)); }, - onPointerMove: (a) => { - if (!(!a.page || !s)) { - if (!i) { + onPointerMove: (i) => { + if (!(!i.page || !s)) { + if (!a) { if (Math.hypot( - a.viewport.x - s.viewportX, - a.viewport.y - s.viewportY + i.viewport.x - s.viewportX, + i.viewport.y - s.viewportY ) < r()) return; - i = !0, e.beginGestureAt(s.page, s.point); + a = !0, e.beginGestureAt(s.page, s.point); } - e.extendTo(a.page.ref, a.page.point); + e.extendTo(i.page.ref, i.page.point); } }, onPointerUp: () => { - s = null, i = !1, e.endGesture(); + s = null, a = !1, e.endGesture(); }, onPointerCancel: () => { - s = null, i = !1, e.clear(), e.endGesture(); + s = null, a = !1, e.clear(), e.endGesture(); }, - onHover: (a) => { - if (!a.page) { - t.claimCursor(zx, null); + onHover: (i) => { + if (!i.page) { + t.claimCursor(n2, null); return; } - e.ensureLoaded(a.page.ref); - const c = e.isOverText(a.page.ref, a.page.point); - t.claimCursor(zx, c ? "text" : null, 10); + e.ensureLoaded(i.page.ref); + const c = e.isOverText(i.page.ref, i.page.point); + t.claimCursor(n2, c ? "text" : null, 10); } }; } -function tU(e, t) { - const n = e.get(Ot), o = e.tryGet(u0) ?? void 0, r = e.settings(); +function mK(e, t) { + const n = e.get(_t), o = e.tryGet(A0) ?? void 0, r = e.settings(); e.cleanup( n.registerHandler( - eU(t, n, o, { + gK(t, n, o, { dragThresholdPx: () => r.get().dragThresholdPx }) ) ); } -const nU = () => ({ +const bK = () => ({ selection: null, segments: {}, highlightHidden: !1, selecting: !1 -}), Wx = (e, t) => e.glyph === t.glyph && e.page.objectNumber === t.page.objectNumber, oU = (e, t) => e === t || e !== null && t !== null && Wx(e.anchor, t.anchor) && Wx(e.focus, t.focus), rU = (e, t) => ["upperLeft", "upperRight", "lowerLeft", "lowerRight"].every( +}), o2 = (e, t) => e.glyph === t.glyph && e.page.objectNumber === t.page.objectNumber, yK = (e, t) => e === t || e !== null && t !== null && o2(e.anchor, t.anchor) && o2(e.focus, t.focus), wK = (e, t) => ["upperLeft", "upperRight", "lowerLeft", "lowerRight"].every( (n) => e[n].x === t[n].x && e[n].y === t[n].y -), sU = (e, t) => e === t || e.length === t.length && e.every( - (n, o) => n.advance === t[o].advance && rU(n.quad, t[o].quad) +), vK = (e, t) => e === t || e.length === t.length && e.every( + (n, o) => n.advance === t[o].advance && wK(n.quad, t[o].quad) ); -function iU(e, t, n) { +function kK(e, t, n) { const o = Object.keys(n).map(Number); let r = o.length !== Object.keys(e.segments).length; const s = {}; - for (const a of o) { - const c = e.segments[a], l = n[a]; - c && sU(c, l) ? s[a] = c : (s[a] = l, r = !0); + for (const i of o) { + const c = e.segments[i], l = n[i]; + c && vK(c, l) ? s[i] = c : (s[i] = l, r = !0); } - const i = !oU(e.selection, t); - return !i && !r ? e : { + const a = !yK(e.selection, t); + return !a && !r ? e : { ...e, - selection: i ? t : e.selection, + selection: a ? t : e.selection, segments: r ? s : e.segments }; } -function gc(e) { +function hc(e) { return e.selection === null && Object.keys(e.segments).length === 0 ? e : { ...e, selection: null, segments: {} }; } -const aU = (e, t) => e.highlightHidden === t ? e : { ...e, highlightHidden: t }, cU = (e, t) => e.selecting === t ? e : { ...e, selecting: t }; -function Ux(e) { +const xK = (e, t) => e.highlightHidden === t ? e : { ...e, highlightHidden: t }, AK = (e, t) => e.selecting === t ? e : { ...e, selecting: t }; +function r2(e) { if (e.type === "annotations.flattened") return e.results.some((n) => n.status === "applied") ? [e.page] : null; if (e.type !== "redaction.applied" && e.type !== "pages.flattened") return null; const t = e.results.filter((n) => n.status === "applied").map((n) => n.page); return t.length > 0 ? t : null; } -const Li = "doc.text.select", hg = "doc.text.copy", qu = Object.freeze([]), lU = Object.freeze([]), uU = Object.freeze([]), Kx = 8, mc = Number.MAX_SAFE_INTEGER; -function dU(e) { - const t = e.settings(), n = e.events.source(), o = e.events.source(), r = e.events.source(), s = /* @__PURE__ */ new Map(), i = () => e.state.get(), a = () => e.allows(Li), c = () => e.allows(hg), l = ($) => e.getPage($)?.index ?? -1, u = ($) => e.document()?.pages[$]?.ref, f = e.pageMirror({ +const Fa = "doc.text.select", wg = "doc.text.copy", Gu = Object.freeze([]), SK = Object.freeze([]), OK = Object.freeze([]), s2 = 8, gc = Number.MAX_SAFE_INTEGER; +function PK(e) { + const t = e.settings(), n = e.events.source(), o = e.events.source(), r = e.events.source(), s = /* @__PURE__ */ new Map(), a = () => e.state.get(), i = () => e.allows(Fa), c = () => e.allows(wg), l = (F) => e.getPage(F)?.index ?? -1, u = (F) => e.document()?.pages[F]?.ref, f = e.pageMirror({ name: "geometry", - load: ($, K) => $.page(K).text.layout(), - affected: Ux, - onChanged: ({ cause: $ }) => { - if ($ !== "load") return; - const K = i().selection; - K && x(K); - } - }), p = ($) => f.getStatus($) === "ready" ? f.get($) : void 0, h = ($, K) => $.charAt(K); - function g($) { - return !a() || !e.getPage($) ? Promise.resolve() : f.ensureLoaded($).catch(() => { + load: (F, B) => F.page(B).text.layout(), + affected: r2, + onChanged: ({ cause: F }) => { + if (F !== "load") return; + const B = a().selection; + B && E(B); + } + }), p = (F) => f.getStatus(F) === "ready" ? f.get(F) : void 0, g = (F, B) => F.charAt(B); + function h(F) { + return !i() || !e.getPage(F) ? Promise.resolve() : f.ensureLoaded(F).catch(() => { }); } - function m($) { - const K = l($.anchor.page), ee = l($.focus.page); - return K < ee || K === ee && $.anchor.glyph <= $.focus.glyph ? { start: $.anchor, end: $.focus, direction: "forward" } : { start: $.focus, end: $.anchor, direction: "backward" }; - } - function M($) { - const K = p($.page); - if (!K) return $; - const ee = Math.max(K.charCount - 1, 0), J = Math.max(0, Math.min($.glyph, ee)); - return J === $.glyph ? $ : { page: $.page, glyph: J }; - } - function x($) { - const K = { - anchor: M($.anchor), - focus: M($.focus) - }, { start: ee, end: J } = m(K), ue = l(ee.page), be = l(J.page); - if (ue < 0 || be < 0) { - e.state.update(gc); + function m(F) { + const B = l(F.anchor.page), V = l(F.focus.page); + return B < V || B === V && F.anchor.glyph <= F.focus.glyph ? { start: F.anchor, end: F.focus, direction: "forward" } : { start: F.focus, end: F.anchor, direction: "backward" }; + } + function O(F) { + const B = p(F.page); + if (!B) return F; + const V = Math.max(B.charCount - 1, 0), Q = Math.max(0, Math.min(F.glyph, V)); + return Q === F.glyph ? F : { page: F.page, glyph: Q }; + } + function E(F) { + const B = { + anchor: O(F.anchor), + focus: O(F.focus) + }, { start: V, end: Q } = m(B), le = l(V.page), pe = l(Q.page); + if (le < 0 || pe < 0) { + e.state.update(hc); return; } - const we = {}; - for (let Oe = ue; Oe <= be; Oe++) { - const Ce = u(Oe); - if (!Ce) continue; - const Me = p(Ce); + const me = {}; + for (let Ae = le; Ae <= pe; Ae++) { + const Pe = u(Ae); + if (!Pe) continue; + const Me = p(Pe); if (!Me) { - g(Ce); + h(Pe); continue; } - const V = Oe === ue ? ee.glyph : 0, he = Oe === be ? J.glyph : Me.charCount - 1; - we[Ce.objectNumber] = Me.segments({ start: V, count: he - V + 1 }); + const G = Ae === le ? V.glyph : 0, ge = Ae === pe ? Q.glyph : Me.charCount - 1; + me[Pe.objectNumber] = Me.segments({ start: G, count: ge - G + 1 }); } - e.state.update(iU, K, we); + e.state.update(kK, B, me); } - const S = Ke( - () => [i().selection, i().segments, e.document()?.pagesSequence ?? 0], - ($, K) => P($, K) + const P = qe( + () => [a().selection, a().segments, e.document()?.pagesSequence ?? 0], + (F, B) => k(F, B) ); - function P($, K) { - const ee = Object.keys(K).map((ve) => ut(Number(ve))).filter((ve) => (K[ve.objectNumber]?.length ?? 0) > 0).sort((ve, je) => l(ve) - l(je)), J = ee.map((ve) => ({ + function k(F, B) { + const V = Object.keys(B).map((ve) => dt(Number(ve))).filter((ve) => (B[ve.objectNumber]?.length ?? 0) > 0).sort((ve, Te) => l(ve) - l(Te)), Q = V.map((ve) => ({ page: ve, - segments: K[ve.objectNumber] - })), ue = ee.length ? ee : lU; - if (!$) + segments: B[ve.objectNumber] + })), le = V.length ? V : SK; + if (!F) return { snapshot: { - pages: J, + pages: Q, start: null, end: null, direction: "forward", range: null }, - pages: ue, + pages: le, anchor: null }; - const { start: be, end: we, direction: Oe } = m($), Ce = { - pages: J, - start: k(K, be, "start"), - end: k(K, we, "end"), - direction: Oe, + const { start: pe, end: me, direction: Ae } = m(F), Pe = { + pages: Q, + start: A(B, pe, "start"), + end: A(B, me, "end"), + direction: Ae, range: { - start: { page: be.page, index: be.glyph }, - end: { page: we.page, index: we.glyph + 1 } - } - }, Me = A(K[we.page.objectNumber]); - let V = Me ? { page: we.page, bounds: Me } : null; - const he = ee[ee.length - 1]; - return !V && he && (V = { page: he, bounds: A(K[he.objectNumber]) }), { snapshot: Ce, pages: ue, anchor: V }; - } - function k($, K, ee) { - const J = $[K.page.objectNumber] ?? qu; - if (!J.length) return null; - const ue = ee === "start" ? J[0] : J[J.length - 1], be = p(K.page), we = be ? be.charQuad(K.glyph) : null; - return be && we ? { - page: K.page, - glyphQuad: we, - advance: ue.advance, - rect: l0(we) + start: { page: pe.page, index: pe.glyph }, + end: { page: me.page, index: me.glyph + 1 } + } + }, Me = w(B[me.page.objectNumber]); + let G = Me ? { page: me.page, bounds: Me } : null; + const ge = V[V.length - 1]; + return !G && ge && (G = { page: ge, bounds: w(B[ge.objectNumber]) }), { snapshot: Pe, pages: le, anchor: G }; + } + function A(F, B, V) { + const Q = F[B.page.objectNumber] ?? Gu; + if (!Q.length) return null; + const le = V === "start" ? Q[0] : Q[Q.length - 1], pe = p(B.page), me = pe ? pe.charQuad(B.glyph) : null; + return pe && me ? { + page: B.page, + glyphQuad: me, + advance: le.advance, + rect: x0(me) } : { - page: K.page, - glyphQuad: ue.quad, - advance: ue.advance, - rect: ue.rect + page: B.page, + glyphQuad: le.quad, + advance: le.advance, + rect: le.rect }; } - const A = ($) => $ ? zM($.map((K) => K.rect)) : null, y = Jt( - ($) => [i().segments[$]], - ($, K) => (K ?? qu).map((ee) => ee.rect) + const w = (F) => F ? bE(F.map((B) => B.rect)) : null, b = Ut( + (F) => [a().segments[F]], + (F, B) => (B ?? Gu).map((V) => V.rect) ); - e.state.onChange(({ previous: $, next: K }) => { - if ($.selection === K.selection && $.segments === K.segments) return; - const ee = S(); - n.emit({ range: ee.snapshot.range, pages: ee.pages }), $.selection !== null && K.selection === null && r.emit({}); + e.state.onChange(({ previous: F, next: B }) => { + if (F.selection === B.selection && F.segments === B.segments) return; + const V = P(); + n.emit({ range: V.snapshot.range, pages: V.pages }), F.selection !== null && B.selection === null && r.emit({}); }); - function w($) { - e.assertAllowed(Li, "selection.select"); - const K = "page" in $ ? { - start: { page: $.page, index: $.start }, - end: { page: $.page, index: $.start + $.count } - } : $; - e.assertPageRef(K.start.page), e.assertPageRef(K.end.page); - const ee = l(K.start.page); - let J = l(K.end.page), ue = K.end.index; - if (J < ee || J === ee && ue <= K.start.index) { - e.state.update(gc); + function v(F) { + e.assertAllowed(Fa, "selection.select"); + const B = "page" in F ? { + start: { page: F.page, index: F.start }, + end: { page: F.page, index: F.start + F.count } + } : F; + e.assertPageRef(B.start.page), e.assertPageRef(B.end.page); + const V = l(B.start.page); + let Q = l(B.end.page), le = B.end.index; + if (Q < V || Q === V && le <= B.start.index) { + e.state.update(hc); return; } - if (ue === 0) { - if (J -= 1, J < ee) { - e.state.update(gc); + if (le === 0) { + if (Q -= 1, Q < V) { + e.state.update(hc); return; } - ue = mc; + le = gc; } - const be = u(J); - be && x({ - anchor: { page: K.start.page, glyph: Math.max(0, K.start.index) }, - focus: { page: be, glyph: ue - 1 } + const pe = u(Q); + pe && E({ + anchor: { page: B.start.page, glyph: Math.max(0, B.start.index) }, + focus: { page: pe, glyph: le - 1 } }); } - function O() { - e.assertAllowed(Li, "selection.selectAll"); - const $ = e.document()?.pages ?? []; - $.length !== 0 && x({ - anchor: { page: $[0].ref, glyph: 0 }, - focus: { page: $[$.length - 1].ref, glyph: mc } + function x() { + e.assertAllowed(Fa, "selection.selectAll"); + const F = e.document()?.pages ?? []; + F.length !== 0 && E({ + anchor: { page: F[0].ref, glyph: 0 }, + focus: { page: F[F.length - 1].ref, glyph: gc } }); } - function b($) { - e.assertAllowed(Li, "selection.selectPage"); - const K = e.pageOf($).ref; - x({ anchor: { page: K, glyph: 0 }, focus: { page: K, glyph: mc } }); - } - function v($, K, ee) { - e.assertAllowed(Li, `selection.select${ee === "word" ? "WordAt" : "LineAt"}`); - const J = e.pageOf($).ref, ue = p(J); - if (!ue) return !1; - const be = h(ue, K); - if (be == null) return !1; - const we = ee === "word" ? ue.wordAt(be) : ue.lineAt(be); - return we ? (x({ - anchor: { page: J, glyph: we.start }, - focus: { page: J, glyph: we.start + we.count - 1 } + function y(F) { + e.assertAllowed(Fa, "selection.selectPage"); + const B = e.pageOf(F).ref; + E({ anchor: { page: B, glyph: 0 }, focus: { page: B, glyph: gc } }); + } + function M(F, B, V) { + e.assertAllowed(Fa, `selection.select${V === "word" ? "WordAt" : "LineAt"}`); + const Q = e.pageOf(F).ref, le = p(Q); + if (!le) return !1; + const pe = g(le, B); + if (pe == null) return !1; + const me = V === "word" ? le.wordAt(pe) : le.lineAt(pe); + return me ? (E({ + anchor: { page: Q, glyph: me.start }, + focus: { page: Q, glyph: me.start + me.count - 1 } }), !0) : !1; } - function E($, K) { - e.assertAllowed(Li, "selection.extendTo"); - const ee = e.pageOf($).ref, J = i().selection; - if (!J) return; - const ue = p(ee); - if (!ue) { - g(ee); + function S(F, B) { + e.assertAllowed(Fa, "selection.extendTo"); + const V = e.pageOf(F).ref, Q = a().selection; + if (!Q) return; + const le = p(V); + if (!le) { + h(V); return; } - const be = h(ue, K); - be != null && x({ anchor: J.anchor, focus: { page: ee, glyph: be } }); - } - function I($) { - const K = $.objectNumber, ee = s.get(K); - if (ee) return ee; - const J = Promise.resolve(e.doc.page($).text.get()); - return s.set(K, J), J.catch(() => { - s.get(K) === J && s.delete(K); - }), J; - } - async function T($) { - e.assertAllowed(hg, "selection.readText"); - const K = S().snapshot.range; - return K ? N(K, $) : ""; - } - async function _($, K) { - return e.assertAllowed(hg, "selection.readTextInRange"), N($, K); - } - async function N($, K) { - e.assertPageRef($.start.page), e.assertPageRef($.end.page); - const ee = l($.start.page); - let J = l($.end.page), ue = $.end.index; - if (J < ee || J === ee && ue <= $.start.index) + const pe = g(le, B); + pe != null && E({ anchor: Q.anchor, focus: { page: V, glyph: pe } }); + } + function C(F) { + const B = F.objectNumber, V = s.get(B); + if (V) return V; + const Q = Promise.resolve(e.doc.page(F).text.get()); + return s.set(B, Q), Q.catch(() => { + s.get(B) === Q && s.delete(B); + }), Q; + } + async function N(F) { + e.assertAllowed(wg, "selection.readText"); + const B = P().snapshot.range; + return B ? T(B, F) : ""; + } + async function _(F, B) { + return e.assertAllowed(wg, "selection.readTextInRange"), T(F, B); + } + async function T(F, B) { + e.assertPageRef(F.start.page), e.assertPageRef(F.end.page); + const V = l(F.start.page); + let Q = l(F.end.page), le = F.end.index; + if (Q < V || Q === V && le <= F.start.index) return ""; - ue === 0 && (J -= 1, ue = mc); - const be = []; - for (let Ce = ee; Ce <= J; Ce++) { - const Me = u(Ce); - Me && be.push({ + le === 0 && (Q -= 1, le = gc); + const pe = []; + for (let Pe = V; Pe <= Q; Pe++) { + const Me = u(Pe); + Me && pe.push({ page: Me, - from: Ce === ee ? Math.max(0, $.start.index) : 0, - to: Ce === J ? ue : mc + from: Pe === V ? Math.max(0, F.start.index) : 0, + to: Pe === Q ? le : gc }); } - const we = K?.signal, Oe = new Array(be.length); - for (let Ce = 0; Ce < be.length; Ce += Kx) { - if (we?.aborted) - throw new Z("operation-cancelled", "selection", "reading the text was cancelled"); - const Me = be.slice(Ce, Ce + Kx); + const me = B?.signal, Ae = new Array(pe.length); + for (let Pe = 0; Pe < pe.length; Pe += s2) { + if (me?.aborted) + throw new te("operation-cancelled", "selection", "reading the text was cancelled"); + const Me = pe.slice(Pe, Pe + s2); (await e.cancellable( - we, - Promise.all(Me.map((he) => I(he.page))) - )).forEach((he, ve) => { - const { from: je, to: G } = Me[ve]; - Oe[Ce + ve] = L5(he, { start: je, count: G - je }); + me, + Promise.all(Me.map((ge) => C(ge.page))) + )).forEach((ge, ve) => { + const { from: Te, to: X } = Me[ve]; + Ae[Pe + ve] = nO(ge, { start: Te, count: X - Te }); }); } - return Oe.join(` + return Ae.join(` `); } - function F() { - const $ = new Set((e.document()?.pages ?? []).map((ee) => ee.ref.objectNumber)); - for (const ee of [...s.keys()]) - $.has(ee) || s.delete(ee); - const K = i().selection; - K && x(K); - } - function R($) { - for (const K of $) s.delete(K.objectNumber); - e.state.update(gc); - } - const j = ($) => e.state.update(cU, $), B = ($) => { - const K = e.getPage($); - return K ? i().segments[K.ref.objectNumber] ?? qu : qu; - }, W = { + function $() { + const F = new Set((e.document()?.pages ?? []).map((V) => V.ref.objectNumber)); + for (const V of [...s.keys()]) + F.has(V) || s.delete(V); + const B = a().selection; + B && E(B); + } + function j(F) { + for (const B of F) s.delete(B.objectNumber); + e.state.update(hc); + } + const z = (F) => e.state.update(AK, F), L = (F) => { + const B = e.getPage(F); + return B ? a().segments[B.ref.objectNumber] ?? Gu : Gu; + }, D = { ...t.api, // ── public lens ── - canSelect: a, + canSelect: i, canCopy: c, - select: w, - selectAll: O, - selectPage: b, - selectWordAt: ($, K) => v($, K, "word"), - selectLineAt: ($, K) => v($, K, "line"), - extendTo: E, - clear: () => e.state.update(gc), - hasSelection: () => i().selection != null, - isSelecting: () => i().selecting, - getSnapshot: () => S().snapshot, - getRange: () => S().snapshot.range, - listSelectedPages: () => S().pages, - listSegments: B, - listRects: ($) => { - const K = e.getPage($); - return K ? y(K.ref.objectNumber) : uU; - }, - getAnchor: () => S().anchor, - readText: T, + select: v, + selectAll: x, + selectPage: y, + selectWordAt: (F, B) => M(F, B, "word"), + selectLineAt: (F, B) => M(F, B, "line"), + extendTo: S, + clear: () => e.state.update(hc), + hasSelection: () => a().selection != null, + isSelecting: () => a().selecting, + getSnapshot: () => P().snapshot, + getRange: () => P().snapshot.range, + listSelectedPages: () => P().pages, + listSegments: L, + listRects: (F) => { + const B = e.getPage(F); + return B ? b(B.ref.objectNumber) : OK; + }, + getAnchor: () => P().anchor, + readText: N, readTextInRange: _, onChanged: n.on, onCommitted: o.on, onCleared: r.on, // ── host lens ── - ensureLoaded: g, - isLoaded: ($) => f.getStatus($) === "ready", - isOverText: ($, K) => { - const ee = p($); - return ee ? h(ee, K) != null : !1; - }, - beginGesture: () => j(!0), - beginGestureAt: ($, K) => { - if (!a()) return !1; - const ee = p($); - if (!ee) return !1; - const J = h(ee, K); - return J == null ? !1 : (j(!0), x({ anchor: { page: $, glyph: J }, focus: { page: $, glyph: J } }), !0); + ensureLoaded: h, + isLoaded: (F) => f.getStatus(F) === "ready", + isOverText: (F, B) => { + const V = p(F); + return V ? g(V, B) != null : !1; + }, + beginGesture: () => z(!0), + beginGestureAt: (F, B) => { + if (!i()) return !1; + const V = p(F); + if (!V) return !1; + const Q = g(V, B); + return Q == null ? !1 : (z(!0), E({ anchor: { page: F, glyph: Q }, focus: { page: F, glyph: Q } }), !0); }, endGesture: () => { - j(!1); - const $ = S().snapshot.range; - $ && o.emit({ range: $ }); + z(!1); + const F = P().snapshot.range; + F && o.emit({ range: F }); }, - setHighlightVisible: ($) => e.state.update(aU, !$), - isHighlightVisible: () => !i().highlightHidden + setHighlightVisible: (F) => e.state.update(xK, !F), + isHighlightVisible: () => !a().highlightHidden }; return { - api: W, + api: D, connect() { - e.watch(() => e.document()?.pagesSequence ?? 0, F), e.listen(e.doc.events, ($) => { - const K = Ux($); - K && R(K); - }), tU(e, W); + e.watch(() => e.document()?.pagesSequence ?? 0, $), e.listen(e.doc.events, (F) => { + const B = r2(F); + B && j(B); + }), mK(e, D); } }; } -const wr = wn, fU = (e) => ({ +const vr = Sn, MK = (e) => ({ id: "selection", - token: wr, + token: vr, scope: "document", - requires: [Ot], - optional: [u0], - state: nU, - settings: { defaults: pE, registered: e }, - create: dU -}), pU = ln(wn, { + requires: [_t], + optional: [A0], + state: bK, + settings: { defaults: qE, registered: e }, + create: PK +}), EK = pn(Sn, { read: (e) => ({ hasSelection: e.hasSelection(), isSelecting: e.isSelecting(), @@ -23340,77 +23946,77 @@ const wr = wn, fU = (e) => ({ pages: [] } }); -function qx(e) { +function a2(e) { return { toOverlay: (t, n) => e.pageToViewport(t, n), pageAt: (t) => e.getPageAt(t), pointOnPage: (t, n) => e.viewportToPage(t, n) }; } -function hU(e) { +function CK(e) { const { start: t, end: n } = e; return !t || !n ? null : { start: { page: t.page, glyphQuad: t.glyphQuad, advance: t.advance }, end: { page: n.page, glyphQuad: n.glyphQuad, advance: n.advance } }; } -const fr = 12, Hu = 2, Is = 14, gU = 0.05, Rd = (e, t) => ({ +const pr = 12, Yu = 2, Is = 14, IK = 0.05, Fd = (e, t) => ({ x: (e.x + t.x) / 2, y: (e.y + t.y) / 2 }); -function PE(e, t, n) { - const o = n === "start" ? t.advance > 0 : t.advance < 0, [r, s] = SB(t.glyphQuad, o ? "left" : "right"), i = e.toOverlay(t.page, r), a = e.toOverlay(t.page, s); - if (!i || !a) return null; - const c = a.x - i.x, l = a.y - i.y, u = Math.hypot(c, l); +function oC(e, t, n) { + const o = n === "start" ? t.advance > 0 : t.advance < 0, [r, s] = N9(t.glyphQuad, o ? "left" : "right"), a = e.toOverlay(t.page, r), i = e.toOverlay(t.page, s); + if (!a || !i) return null; + const c = i.x - a.x, l = i.y - a.y, u = Math.hypot(c, l); if (u === 0) return null; - const f = Math.atan2(l, c) * 180 / Math.PI - 90, d = Math.abs(f) < gU, p = c / u, h = l / u, g = n === "start" ? { x: i.x - p * fr / 2, y: i.y - h * fr / 2 } : { x: a.x + p * fr / 2, y: a.y + h * fr / 2 }; - return { bar: { from: i, to: a }, length: u, rotation: f, upright: d, head: g }; + const f = Math.atan2(l, c) * 180 / Math.PI - 90, d = Math.abs(f) < IK, p = c / u, g = l / u, h = n === "start" ? { x: a.x - p * pr / 2, y: a.y - g * pr / 2 } : { x: i.x + p * pr / 2, y: i.y + g * pr / 2 }; + return { bar: { from: a, to: i }, length: u, rotation: f, upright: d, head: h }; } -function mU(e, t, n, o) { - const r = n.glyphQuad, s = Rd( - Rd(r.upperLeft, r.lowerRight), - Rd(r.upperRight, r.lowerLeft) +function _K(e, t, n, o) { + const r = n.glyphQuad, s = Fd( + Fd(r.upperLeft, r.lowerRight), + Fd(r.upperRight, r.lowerLeft) ); - let i = !1, a = o; + let a = !1, i = o; return { move: (c) => { - if (!i) { + if (!a) { if (!e.beginGestureAt(n.page, s)) return; - i = !0; + a = !0; } const l = t.pageAt(c); if (l) - a = l.ref, e.extendTo(l.ref, l.point); + i = l.ref, e.extendTo(l.ref, l.point); else { - const u = t.pointOnPage(a, c); - u && e.extendTo(a, u); + const u = t.pointOnPage(i, c); + u && e.extendTo(i, u); } }, end: () => { - i && e.endGesture(); + a && e.endGesture(); } }; } -function bU(e, t, n, o) { - const r = PE(t, n[o], o); +function NK(e, t, n, o) { + const r = oC(t, n[o], o); if (!r) return null; const s = n[o === "start" ? "end" : "start"]; return { - base: Rd(r.bar.from, r.bar.to), - drag: mU(e, t, s, n[o].page) + base: Fd(r.bar.from, r.bar.to), + drag: _K(e, t, s, n[o].page) }; } -function yU() { - const e = so(), t = Ge(wr), n = Xe( - wr, - (a) => a.listSegments(e.ref), - Do - ), o = Xe(wr, (a) => a.isHighlightVisible()), r = ME((a) => a.color), s = hi((a) => a.accent); +function TK() { + const e = so(), t = Ge(vr), n = Ze( + vr, + (i) => i.listSegments(e.ref), + Fo + ), o = Ze(vr, (i) => i.isHighlightVisible()), r = sC((i) => i.color), s = ma((i) => i.accent); if (Se(() => { t.ensureLoaded(e.ref); }, [t, e.ref]), !o) return null; - const i = Ye("text-selection", r ?? Vl("text-selection", s)); - return /* @__PURE__ */ C( + const a = Ye("text-selection", r ?? Yl("text-selection", s)); + return /* @__PURE__ */ I( "svg", { style: { @@ -23421,14 +24027,14 @@ function yU() { overflow: "visible", pointerEvents: "none" }, - children: n.map((a, c) => ( + children: n.map((i, c) => ( // Page space → the page layer's pixels, which ride the page's CSS // rotation: mapping the four corners is exact, for turned text too. - /* @__PURE__ */ C( + /* @__PURE__ */ I( "polygon", { - points: Yy(vM(a.quad, e.transform)), - style: { fill: i } + points: c0(QM(i.quad, e.transform)), + style: { fill: a } }, c ) @@ -23436,132 +24042,132 @@ function yU() { } ); } -const OE = Wn(pU), ME = bi(wn); -function wU({ children: e, gap: t = 8, placement: n = "top" }) { - const o = OE((s) => s.isSelecting), r = Xe(wn, (s) => s.getAnchor(), kM); - return o || !r ? null : /* @__PURE__ */ C(Mp, { anchor: r, placement: n, gap: t, children: e }); +const rC = zn(EK), sC = Wi(Sn); +function RK({ children: e, gap: t = 8, placement: n = "top" }) { + const o = rC((s) => s.isSelecting), r = Ze(Sn, (s) => s.getAnchor(), XM); + return o || !r ? null : /* @__PURE__ */ I(_p, { anchor: r, placement: n, gap: t, children: e }); } -function vU({ token: e } = {}) { - const t = mi(e), n = Ge(wr), o = at(t), r = _9(); - (!r || r.projector.space !== "overlay") && Yl( +function LK({ token: e } = {}) { + const t = ya(e), n = Ge(vr), o = ct(t), r = Kz(); + (!r || r.projector.space !== "overlay") && Xl( "selection-handles-outside-stage", " renders nothing here: mount it in the overlay slot (a has no camera to project the handles through)." ); - const s = OE((x) => x.isSelecting), i = Xe(wr, (x) => x.isHighlightVisible()), a = ME((x) => x.handles), c = hi((x) => x.accent), l = Xe( - wr, - (x) => hU(x.getSnapshot()), - BD + const s = rC((E) => E.isSelecting), a = Ze(vr, (E) => E.isHighlightVisible()), i = sC((E) => E.handles), c = ma((E) => E.accent), l = Ze( + vr, + (E) => CK(E.getSnapshot()), + G$ ); - wt(() => o?.listVisiblePages() ?? null); - const [u, f] = ke(null), d = me( + vt(() => o?.listVisiblePages() ?? null); + const [u, f] = ke(null), d = ye( null ); d.current = o && l ? { stage: o, endpoints: l } : null; const p = He(() => { - const x = {}, S = (P) => (k) => { - x[P]?.(), delete x[P], k && (x[P] = dD(k, { + const E = {}, P = (k) => (A) => { + E[k]?.(), delete E[k], A && (E[k] = w$(A, { arm: () => { - const A = d.current; - if (!A) return null; - const y = bU( + const w = d.current; + if (!w) return null; + const b = NK( n, - qx(A.stage), - A.endpoints, - P + a2(w.stage), + w.endpoints, + k ); - return y ? (f(P), { + return b ? (f(k), { // the point the user grabbed: the bar's midpoint - base: y.base, + base: b.base, session: { - move: y.drag.move, + move: b.drag.move, end: () => { - y.drag.end(), f(null); + b.drag.end(), f(null); } } }) : null; } })); }; - return { start: S("start"), end: S("end") }; + return { start: P("start"), end: P("end") }; }, [n]); - if (!o || !l || !i || s && !u) return null; - const h = qx(o), g = Ye("text-selection-handle", a.color ?? c), m = Ye("text-selection-handle-shadow", a.shadow), M = (x) => { - const S = PE(h, l[x], x); - if (!S) return null; - const P = Is + (x === "start" ? fr : 0), k = Is + Hu / 2; - return /* @__PURE__ */ C( + if (!o || !l || !a || s && !u) return null; + const g = a2(o), h = Ye("text-selection-handle", i.color ?? c), m = Ye("text-selection-handle-shadow", i.shadow), O = (E) => { + const P = oC(g, l[E], E); + if (!P) return null; + const k = Is + (E === "start" ? pr : 0), A = Is + Yu / 2; + return /* @__PURE__ */ I( "div", { - ref: p[x], + ref: p[E], style: { position: "absolute", - left: S.bar.from.x - k, - top: S.bar.from.y - P, - width: Hu + 2 * Is, - height: S.length + fr + 2 * Is, + left: P.bar.from.x - A, + top: P.bar.from.y - k, + width: Yu + 2 * Is, + height: P.length + pr + 2 * Is, // Upright text carries no transform — pixel-identical to an // axis-aligned box (the geometry's float-noise guard decides). - ...S.upright ? null : { - transform: `rotate(${S.rotation}deg)`, - transformOrigin: `${k}px ${P}px` + ...P.upright ? null : { + transform: `rotate(${P.rotation}deg)`, + transformOrigin: `${A}px ${k}px` }, touchAction: "none", cursor: "grab", pointerEvents: "auto" }, children: [ - /* @__PURE__ */ C( + /* @__PURE__ */ I( "div", { style: { position: "absolute", left: Is, - top: P, - width: Hu, - height: S.length, - background: g, - borderRadius: Hu / 2 + top: k, + width: Yu, + height: P.length, + background: h, + borderRadius: Yu / 2 } } ), - /* @__PURE__ */ C( + /* @__PURE__ */ I( "div", { style: { position: "absolute", - left: k - fr / 2, - top: x === "start" ? Is : Is + S.length, - width: fr, - height: fr, + left: A - pr / 2, + top: E === "start" ? Is : Is + P.length, + width: pr, + height: pr, borderRadius: "50%", - background: g, + background: h, boxShadow: m } } ) ] }, - x + E ); }; - return /* @__PURE__ */ C(Te, { children: [ - M("start"), - M("end") + return /* @__PURE__ */ I(Re, { children: [ + O("start"), + O("end") ] }); } -function kU({ prefetch: e, onRefused: t, target: n } = {}) { - const o = at(wn), r = me(t); +function jK({ prefetch: e, onRefused: t, target: n } = {}) { + const o = ct(Sn), r = ye(t); return r.current = t, Se(() => { const s = n ? n.current : void 0; if (!(!o || s === null)) - return WF(o, { + return QD(o, { ...e === void 0 ? {} : { prefetch: e }, ...s ? { target: s } : {}, onRefused: () => r.current?.() }); }, [o, e, n]), null; } -const Er = At("fonts", { +const Ir = St("fonts", { hint: "add fontsPlugin() from '@embedpdf/plugin-fonts' to your plugins list", // Without a document, an adapter's stand-in rejects these with `not-ready`, as the // capability would; the type asks for every member that returns a promise. @@ -23572,29 +24178,29 @@ const Er = At("fonts", { readProgram: !0 } }); -function si(e, t, n, o, r) { - const s = 1 - r, i = [s * s * s, 3 * s * s * r, 3 * s * r * r, r * r * r]; +function ia(e, t, n, o, r) { + const s = 1 - r, a = [s * s * s, 3 * s * s * r, 3 * s * r * r, r * r * r]; return { - x: i[0] * e.x + i[1] * t.x + i[2] * n.x + i[3] * o.x, - y: i[0] * e.y + i[1] * t.y + i[2] * n.y + i[3] * o.y + x: a[0] * e.x + a[1] * t.x + a[2] * n.x + a[3] * o.x, + y: a[0] * e.y + a[1] * t.y + a[2] * n.y + a[3] * o.y }; } -function xf(e, t, n, o) { - const r = -e + 3 * t - 3 * n + o, s = 2 * (e - 2 * t + n), i = t - e; - return (Math.abs(r) < 1e-12 ? Math.abs(s) < 1e-12 ? [] : [-i / s] : s * s - 4 * r * i < 0 ? [] : [ - (-s + Math.sqrt(s * s - 4 * r * i)) / (2 * r), - (-s - Math.sqrt(s * s - 4 * r * i)) / (2 * r) +function Af(e, t, n, o) { + const r = -e + 3 * t - 3 * n + o, s = 2 * (e - 2 * t + n), a = t - e; + return (Math.abs(r) < 1e-12 ? Math.abs(s) < 1e-12 ? [] : [-a / s] : s * s - 4 * r * a < 0 ? [] : [ + (-s + Math.sqrt(s * s - 4 * r * a)) / (2 * r), + (-s - Math.sqrt(s * s - 4 * r * a)) / (2 * r) ]).filter((c) => c > 0 && c < 1); } -function xU(e, t, n, o, r) { +function FK(e, t, n, o, r) { const s = Math.max( Math.hypot(e.x - 2 * t.x + n.x, e.y - 2 * t.y + n.y), Math.hypot(t.x - 2 * n.x + o.x, t.y - 2 * n.y + o.y) - ), i = Math.max(1, Math.ceil(Math.sqrt(0.75 * s / r))), a = []; - for (let c = 1; c <= i; c++) a.push(si(e, t, n, o, c / i)); - return a; + ), a = Math.max(1, Math.ceil(Math.sqrt(0.75 * s / r))), i = []; + for (let c = 1; c <= a; c++) i.push(ia(e, t, n, o, c / a)); + return i; } -const Oo = (e) => Number(e.toFixed(4)).toString(), bl = 4, EE = ["nw", "n", "ne", "e", "se", "s", "sw", "w"], AU = { +const Oo = (e) => Number(e.toFixed(4)).toString(), bl = 4, aC = ["nw", "n", "ne", "e", "se", "s", "sw", "w"], DK = { nw: "nwse-resize", se: "nwse-resize", ne: "nesw-resize", @@ -23603,7 +24209,7 @@ const Oo = (e) => Number(e.toFixed(4)).toString(), bl = 4, EE = ["nw", "n", "ne" s: "ns-resize", e: "ew-resize", w: "ew-resize" -}, SU = { +}, $K = { n: 0, ne: 45, e: 90, @@ -23612,7 +24218,7 @@ const Oo = (e) => Number(e.toFixed(4)).toString(), bl = 4, EE = ["nw", "n", "ne" sw: 225, w: 270, nw: 315 -}, Km = [ +}, Jm = [ "ns-resize", "nesw-resize", "ew-resize", @@ -23621,31 +24227,31 @@ const Oo = (e) => Number(e.toFixed(4)).toString(), bl = 4, EE = ["nw", "n", "ne" "nesw-resize", "ew-resize", "nwse-resize" -], PU = (e, t) => Km[Math.round(Qt(SU[e] + t) / 45) % 8]; -function Af(e, t) { - const n = Km.indexOf(e); - return n < 0 ? e : Km[(n + Math.round(Qt(t) / 45)) % 8]; +], BK = (e, t) => Jm[Math.round(tn($K[e] + t) / 45) % 8]; +function Sf(e, t) { + const n = Jm.indexOf(e); + return n < 0 ? e : Jm[(n + Math.round(tn(t) / 45)) % 8]; } -const CE = (e) => ({ +const iC = (e) => ({ w: e === "nw" || e === "w" || e === "sw", e: e === "ne" || e === "e" || e === "se", n: e === "nw" || e === "n" || e === "ne", s: e === "sw" || e === "s" || e === "se" -}), Cp = (e, t) => { - const n = CE(t); +}), Tp = (e, t) => { + const n = iC(t); return { x: n.w ? e.x : n.e ? e.x + e.width : e.x + e.width / 2, y: n.n ? e.y : n.s ? e.y + e.height : e.y + e.height / 2 }; }; -function qm(e, t, n) { - const o = CE(t); - let r = e.x, s = e.x + e.width, i = e.y, a = e.y + e.height; - return o.w && (r = n.x), o.e && (s = n.x), o.n && (i = n.y), o.s && (a = n.y), { +function eb(e, t, n) { + const o = iC(t); + let r = e.x, s = e.x + e.width, a = e.y, i = e.y + e.height; + return o.w && (r = n.x), o.e && (s = n.x), o.n && (a = n.y), o.s && (i = n.y), { x: Math.min(r, s), - y: Math.min(i, a), + y: Math.min(a, i), width: Math.max(bl, Math.abs(s - r)), - height: Math.max(bl, Math.abs(a - i)) + height: Math.max(bl, Math.abs(i - a)) }; } const yl = (e, t) => ({ @@ -23653,73 +24259,73 @@ const yl = (e, t) => ({ y: Math.min(e.y, t.y), width: Math.abs(t.x - e.x), height: Math.abs(t.y - e.y) -}), IE = (e, t) => t.x >= e.x && t.x <= e.x + e.width && t.y >= e.y && t.y <= e.y + e.height; -function p0(e, t, n) { - const o = n.x - t.x, r = n.y - t.y, s = o * o + r * r, i = s === 0 ? 0 : Math.max(0, Math.min(1, ((e.x - t.x) * o + (e.y - t.y) * r) / s)); - return Math.hypot(e.x - (t.x + i * o), e.y - (t.y + i * r)); +}), cC = (e, t) => t.x >= e.x && t.x <= e.x + e.width && t.y >= e.y && t.y <= e.y + e.height; +function P0(e, t, n) { + const o = n.x - t.x, r = n.y - t.y, s = o * o + r * r, a = s === 0 ? 0 : Math.max(0, Math.min(1, ((e.x - t.x) * o + (e.y - t.y) * r) / s)); + return Math.hypot(e.x - (t.x + a * o), e.y - (t.y + a * r)); } -function Hx(e, t) { +function i2(e, t) { const n = Math.max(t.x - e.x, 0, e.x - (t.x + t.width)), o = Math.max(t.y - e.y, 0, e.y - (t.y + t.height)); return Math.hypot(n, o); } -function _E(e, t, n) { +function lC(e, t, n) { const o = t.x - e.x, r = t.y - e.y, s = [ [-o, e.x - n.x], [o, n.x + n.width - e.x], [-r, e.y - n.y], [r, n.y + n.height - e.y] ]; - let i = 0, a = 1; + let a = 0, i = 1; for (const [c, l] of s) { if (c === 0) { if (l < 0) return !1; continue; } const u = l / c; - if (c < 0 ? i = Math.max(i, u) : a = Math.min(a, u), i > a) return !1; + if (c < 0 ? a = Math.max(a, u) : i = Math.min(i, u), a > i) return !1; } return !0; } -function OU(e, t, n) { - return _E(e, t, n) ? 0 : Math.min( - Hx(e, n), - Hx(t, n), - ...xo(n).map((o) => p0(o, e, t)) +function zK(e, t, n) { + return lC(e, t, n) ? 0 : Math.min( + i2(e, n), + i2(t, n), + ...ao(n).map((o) => P0(o, e, t)) ); } -function MU(e, t) { - return e.some((n) => IE(t, n)) || Ql({ x: t.x, y: t.y }, e) ? !0 : e.some((n, o) => _E(n, e[(o + 1) % e.length], t)); +function WK(e, t) { + return e.some((n) => cC(t, n)) || Zl({ x: t.x, y: t.y }, e) ? !0 : e.some((n, o) => lC(n, e[(o + 1) % e.length], t)); } -function Ql(e, t) { +function Zl(e, t) { let n = !1; for (let o = 0, r = t.length - 1; o < t.length; r = o++) { - const s = t[o], i = t[r]; - s.y > e.y != i.y > e.y && e.x < (i.x - s.x) * (e.y - s.y) / (i.y - s.y) + s.x && (n = !n); + const s = t[o], a = t[r]; + s.y > e.y != a.y > e.y && e.x < (a.x - s.x) * (e.y - s.y) / (a.y - s.y) + s.x && (n = !n); } return n; } -function pt(e) { +function ft(e) { let t = 1 / 0, n = 1 / 0, o = -1 / 0, r = -1 / 0; for (const s of e) t = Math.min(t, s.x), n = Math.min(n, s.y), o = Math.max(o, s.x), r = Math.max(r, s.y); return { x: t, y: n, width: o - t, height: r - n }; } -const Ha = (e, t) => ({ +const va = (e, t) => ({ x: e.x - t, y: e.y - t, width: e.width + 2 * t, height: e.height + 2 * t -}), xo = (e) => [ +}), ao = (e) => [ { x: e.x, y: e.y }, { x: e.x + e.width, y: e.y }, { x: e.x + e.width, y: e.y + e.height }, { x: e.x, y: e.y + e.height } -], Sf = Math.PI / 180, Qt = (e) => (e % 360 + 360) % 360, _t = (e) => ({ +], Of = Math.PI / 180, tn = (e) => (e % 360 + 360) % 360, Rt = (e) => ({ x: e.x + e.width / 2, y: e.y + e.height / 2 }); -function h0(e) { - const t = _t(e); +function M0(e) { + const t = Rt(e); return { x: t.x - e.height / 2, y: t.y - e.width / 2, @@ -23727,11 +24333,11 @@ function h0(e) { height: e.width }; } -const EU = (e, t) => AB(e, t * Sf), ft = (e, t, n) => No(EU(t, n), e); -function Ip(e, t, n = _t(e)) { - return t ? pt(xo(e).map((o) => ft(o, n, t))) : e; +const UK = (e, t) => _9(e, t * Of), ht = (e, t, n) => _o(UK(t, n), e); +function Rp(e, t, n = Rt(e)) { + return t ? ft(ao(e).map((o) => ht(o, n, t))) : e; } -const g0 = (e, t) => { +const E0 = (e, t) => { const n = Math.max(0, e.width - 2 * t), o = Math.max(0, e.height - 2 * t); return { x: e.x + (e.width - n) / 2, @@ -23739,7 +24345,7 @@ const g0 = (e, t) => { width: n, height: o }; -}, NE = { +}, uC = { nw: "se", ne: "sw", se: "nw", @@ -23749,27 +24355,27 @@ const g0 = (e, t) => { e: "w", w: "e" }; -function CU(e, t, n, o) { - if (!t) return qm(e, n, o); - const r = _t(e), s = ft(o, r, -t), i = qm(e, n, s), a = Cp(e, NE[n]), c = ft(a, r, t), l = _t(i), u = a.x - l.x, f = a.y - l.y, d = t * Sf, p = Math.cos(d), h = Math.sin(d), g = p * u - h * f, m = h * u + p * f, M = c.x - g, x = c.y - m; +function KK(e, t, n, o) { + if (!t) return eb(e, n, o); + const r = Rt(e), s = ht(o, r, -t), a = eb(e, n, s), i = Tp(e, uC[n]), c = ht(i, r, t), l = Rt(a), u = i.x - l.x, f = i.y - l.y, d = t * Of, p = Math.cos(d), g = Math.sin(d), h = p * u - g * f, m = g * u + p * f, O = c.x - h, E = c.y - m; return { - x: M - i.width / 2, - y: x - i.height / 2, - width: i.width, - height: i.height + x: O - a.width / 2, + y: E - a.height / 2, + width: a.width, + height: a.height }; } -const wl = Math.PI, Jr = Math.PI / 2, hr = 34 * Math.PI / 180, Vx = 30 * Math.PI / 180, Hm = 12 * Math.PI / 180; -class TE { +const wl = Math.PI, es = Math.PI / 2, gr = 34 * Math.PI / 180, c2 = 30 * Math.PI / 180, tb = 12 * Math.PI / 180; +class dC { constructor(t, n) { this.ox = t, this.oy = n, this.parts = [], this.started = !1; } moveTo(t, n) { this.parts.push(`M ${Oo(t + this.ox)} ${Oo(-n + this.oy)}`), this.started = !0; } - curveTo(t, n, o, r, s, i) { + curveTo(t, n, o, r, s, a) { this.parts.push( - `C ${Oo(t + this.ox)} ${Oo(-n + this.oy)}, ${Oo(o + this.ox)} ${Oo(-r + this.oy)}, ${Oo(s + this.ox)} ${Oo(-i + this.oy)}` + `C ${Oo(t + this.ox)} ${Oo(-n + this.oy)}, ${Oo(o + this.ox)} ${Oo(-r + this.oy)}, ${Oo(s + this.ox)} ${Oo(-a + this.oy)}` ); } close() { @@ -23779,7 +24385,7 @@ class TE { return this.parts.join(" "); } } -class RE { +class fC { constructor(t, n) { this.ox = t, this.oy = n, this.left = 1 / 0, this.top = 1 / 0, this.right = -1 / 0, this.bottom = -1 / 0, this.current = { x: 0, y: 0 }; } @@ -23792,13 +24398,13 @@ class RE { moveTo(t, n) { this.current = this.place(t, n), this.add(this.current); } - curveTo(t, n, o, r, s, i) { - const a = this.current, c = this.place(t, n), l = this.place(o, r), u = this.place(s, i); + curveTo(t, n, o, r, s, a) { + const i = this.current, c = this.place(t, n), l = this.place(o, r), u = this.place(s, a); for (const f of [ - ...xf(a.x, c.x, l.x, u.x), - ...xf(a.y, c.y, l.y, u.y) + ...Af(i.x, c.x, l.x, u.x), + ...Af(i.y, c.y, l.y, u.y) ]) - this.add(si(a, c, l, u, f)); + this.add(ia(i, c, l, u, f)); this.add(u), this.current = u; } bounds() { @@ -23810,8 +24416,8 @@ class RE { }; } } -const IU = 0.5; -class LE { +const qK = 0.5; +class pC { constructor(t, n) { this.ox = t, this.oy = n, this.lines = [], this.current = { x: 0, y: 0 }; } @@ -23821,16 +24427,16 @@ class LE { moveTo(t, n) { this.current = this.place(t, n), this.lines.push([this.current]); } - curveTo(t, n, o, r, s, i) { - const a = this.current, c = this.place(t, n), l = this.place(o, r), u = this.place(s, i), f = os(a, c) + os(c, l) + os(l, u), d = Math.max(2, Math.ceil(f / IU)); + curveTo(t, n, o, r, s, a) { + const i = this.current, c = this.place(t, n), l = this.place(o, r), u = this.place(s, a), f = rs(i, c) + rs(c, l) + rs(l, u), d = Math.max(2, Math.ceil(f / qK)); let p = this.lines[this.lines.length - 1]; - p || this.lines.push(p = [a]); - for (let h = 1; h <= d; h++) p.push(si(a, c, l, u, h / d)); + p || this.lines.push(p = [i]); + for (let g = 1; g <= d; g++) p.push(ia(i, c, l, u, g / d)); this.current = u; } } -const os = (e, t) => Math.hypot(t.x - e.x, t.y - e.y), jE = (e, t) => t === 0 ? 0 : e / t, FE = (e, t) => t === 0 ? 0 : e / t; -function _U(e) { +const rs = (e, t) => Math.hypot(t.x - e.x, t.y - e.y), hC = (e, t) => t === 0 ? 0 : e / t, gC = (e, t) => t === 0 ? 0 : e / t; +function HK(e) { let t = 0; for (let n = 0; n < e.length; n++) { const o = (n + 1) % e.length; @@ -23838,10 +24444,10 @@ function _U(e) { } return t; } -function NU(e) { - _U(e) < 0 && e.reverse(); +function VK(e) { + HK(e) < 0 && e.reverse(); } -function TU(e) { +function GK(e) { if (e.length <= 2) return e; const t = 0.5, n = [e[0]]; for (let o = 1; o < e.length; o++) { @@ -23850,14 +24456,14 @@ function TU(e) { } return n; } -function sa(e, t, n, o, r, s, i, a) { +function si(e, t, n, o, r, s, a, i) { const c = Math.cos(e), l = Math.sin(e), u = Math.cos(t), f = Math.sin(t), d = Math.sin((t - e) / 2); if (d === 0) { - a && i.moveTo(n + r * c, o + s * l); + i && a.moveTo(n + r * c, o + s * l); return; } const p = 4 / 3 * (1 - Math.cos((t - e) / 2)) / d; - a && i.moveTo(n + r * c, o + s * l), i.curveTo( + i && a.moveTo(n + r * c, o + s * l), a.curveTo( n + r * (c - p * l), o + s * (l + p * c), n + r * (u + p * f), @@ -23866,42 +24472,42 @@ function sa(e, t, n, o, r, s, i, a) { o + s * f ); } -function gg(e, t, n, o) { - const r = Math.cos(e), s = Math.sin(e), i = Math.cos(t), a = Math.sin(t), c = Math.sin((t - e) / 2); +function vg(e, t, n, o) { + const r = Math.cos(e), s = Math.sin(e), a = Math.cos(t), i = Math.sin(t), c = Math.sin((t - e) / 2); if (c === 0) return []; const l = 4 / 3 * (1 - Math.cos((t - e) / 2)) / c; return [ { x: n * (r - l * s), y: o * (s + l * r) }, - { x: n * (i + l * a), y: o * (a - l * i) }, - { x: n * i, y: o * a } + { x: n * (a + l * i), y: o * (i - l * a) }, + { x: n * a, y: o * i } ]; } -function DE(e, t, n, o, r, s, i, a) { +function mC(e, t, n, o, r, s, a, i) { let c = t - e; for (; c < 0; ) c += 2 * Math.PI; const l = c; let u = 0; - for (a && i.moveTo(r + n * Math.cos(e), s + o * Math.sin(e)); c > Jr; ) - sa(e + u, e + u + Jr, r, s, n, o, i, !1), u += Jr, c -= Jr; - c > 0 && sa(e + u, e + l, r, s, n, o, i, !1); + for (i && a.moveTo(r + n * Math.cos(e), s + o * Math.sin(e)); c > es; ) + si(e + u, e + u + es, r, s, n, o, a, !1), u += es, c -= es; + c > 0 && si(e + u, e + l, r, s, n, o, a, !1); } -function $E(e, t, n, o, r, s, i, a, c) { - const l = e + wl + i, u = l - 22 * Math.PI / 180; - sa(l, u, o, r, n, n, a, c), DE(u, t - s, n, n, o, r, a, !1); +function bC(e, t, n, o, r, s, a, i, c) { + const l = e + wl + a, u = l - 22 * Math.PI / 180; + si(l, u, o, r, n, n, i, c), mC(u, t - s, n, n, o, r, i, !1); } -function RU(e, t, n, o, r, s) { - const i = e + wl; - sa(i + n, i + n - Vx, o, r, t, t, s, !1), sa(i + n - Vx, i + Jr, o, r, t, t, s, !1), sa(i + Jr, i + wl - hr, o, r, t, t, s, !1); +function YK(e, t, n, o, r, s) { + const a = e + wl; + si(a + n, a + n - c2, o, r, t, t, s, !1), si(a + n - c2, a + es, o, r, t, t, s, !1), si(a + es, a + wl - gr, o, r, t, t, s, !1); } -function LU(e, t) { +function QK(e, t) { const n = e + wl; return [ - ...gg(n + hr, n + Hm, t, t), - ...gg(n + Hm, n + Jr, t, t), - ...gg(n + Jr, n + wl - hr, t, t) + ...vg(n + gr, n + tb, t, t), + ...vg(n + tb, n + es, t, t), + ...vg(n + es, n + wl - gr, t, t) ]; } -function jU(e, t, n, o) { +function XK(e, t, n, o) { for (let r = 0; r + 2 < e.length; r += 3) o.curveTo( e[r].x + t, @@ -23912,22 +24518,22 @@ function jU(e, t, n, o) { e[r + 2].y + n ); } -const BE = (e, t) => 4.75 * e + 0.5 * t, FU = (e, t) => 4 * e + 0.5 * t; -function DU(e, t, n) { +const yC = (e, t) => 4.75 * e + 0.5 * t, ZK = (e, t) => 4 * e + 0.5 * t; +function JK(e, t, n) { if (n === 0) return { n: -1, adjustedRadius: e }; const o = n - 2 * t * e; if (o <= 0) return { n: 0, adjustedRadius: e }; const r = Math.max(1, Math.ceil(o / (2 * t * e))); return { n: r, adjustedRadius: o / (r * 2 * t) }; } -function m0(e, t, n, o, r) { - const s = TU(e); - NU(s); - const i = s.length; - if (i < 2) return; +function C0(e, t, n, o, r) { + const s = GK(e); + VK(s); + const a = s.length; + if (a < 2) return; if (n <= 0) { r.moveTo(s[0].x, s[0].y); - for (let d = 1; d < i; d++) + for (let d = 1; d < a; d++) r.curveTo( s[d].x, s[d].y, @@ -23938,72 +24544,72 @@ function m0(e, t, n, o, r) { ); return; } - let a = t ? BE(n, o) : FU(n, o); - a < 0.5 && (a = 0.5); - const c = Math.cos(hr), l = []; - for (let d = 0; d + 1 < i; d++) { - const p = os(s[d], s[d + 1]); + let i = t ? yC(n, o) : ZK(n, o); + i < 0.5 && (i = 0.5); + const c = Math.cos(gr), l = []; + for (let d = 0; d + 1 < a; d++) { + const p = rs(s[d], s[d + 1]); l.push( - p <= 0 || p >= 2 * c * a ? hr : Math.acos(Math.min(1, p / (2 * a))) + p <= 0 || p >= 2 * c * i ? gr : Math.acos(Math.min(1, p / (2 * i))) ); } let u = 0, f = !1; - for (let d = 0; d + 1 < i; d++) { - const p = s[d], h = s[d + 1], g = os(p, h); - if (g === 0) continue; - const m = DU(a, c, g); + for (let d = 0; d + 1 < a; d++) { + const p = s[d], g = s[d + 1], h = rs(p, g); + if (h === 0) continue; + const m = JK(i, c, h); if (m.n < 0) { f || (r.moveTo(p.x, p.y), f = !0); continue; } - const M = Math.max(0.5, m.adjustedRadius), x = 2 * c * M, S = c * a + c * M, P = Math.atan2(h.y - p.y, h.x - p.x); + const O = Math.max(0.5, m.adjustedRadius), E = 2 * c * O, P = c * i + c * O, k = Math.atan2(g.y - p.y, g.x - p.x); if (d === 0) { - const v = s[i - 2]; - u = Math.atan2(p.y - v.y, p.x - v.x); - } - const k = jE(h.x - p.x, g), A = FE(h.y - p.y, g); - let y = p.x, w = p.y; - const O = l[d], b = l[d === 0 ? i - 2 : d - 1] ?? hr; - if ($E(u, P, a, p.x, p.y, O, b, r, !f), f = !0, m.n === 0) - y += g * k, w += g * A; + const M = s[a - 2]; + u = Math.atan2(p.y - M.y, p.x - M.x); + } + const A = hC(g.x - p.x, h), w = gC(g.y - p.y, h); + let b = p.x, v = p.y; + const x = l[d], y = l[d === 0 ? a - 2 : d - 1] ?? gr; + if (bC(u, k, i, p.x, p.y, x, y, r, !f), f = !0, m.n === 0) + b += h * A, v += h * w; else { - y += S * k, w += S * A; - let v = m.n; - m.n >= 1 && (RU(P, M, hr, y, w, r), y += x * k, w += x * A, v = m.n - 1); - const E = LU(P, M); - for (let I = 0; I < v; I++) - jU(E, y, w, r), y += x * k, w += x * A; + b += P * A, v += P * w; + let M = m.n; + m.n >= 1 && (YK(k, O, gr, b, v, r), b += E * A, v += E * w, M = m.n - 1); + const S = QK(k, O); + for (let C = 0; C < M; C++) + XK(S, b, v, r), b += E * A, v += E * w; } - u = P; + u = k; } } -function $U(e, t, n, o) { - const r = (e + n) / 2, s = (t + o) / 2, i = (n - e) / 2, a = (o - t) / 2; - if (i <= 0 || a <= 0) return []; - const c = Math.max(32, Math.ceil(Math.max(i, a) * 2)), l = []; +function eq(e, t, n, o) { + const r = (e + n) / 2, s = (t + o) / 2, a = (n - e) / 2, i = (o - t) / 2; + if (a <= 0 || i <= 0) return []; + const c = Math.max(32, Math.ceil(Math.max(a, i) * 2)), l = []; for (let u = 0; u <= c; u++) { const f = 2 * Math.PI * u / c; - l.push({ x: r + i * Math.cos(f), y: s + a * Math.sin(f) }); + l.push({ x: r + a * Math.cos(f), y: s + i * Math.sin(f) }); } return l; } -function Gx(e, t, n, o) { - const r = os(e, t); - if (r === 0) return hr; +function l2(e, t, n, o) { + const r = rs(e, t); + if (r === 0) return gr; const s = (o / 2 + (r - o) / 2) / n; return s < -1 || s > 1 ? 0 : Math.acos(s); } -function BU(e, t, n, o, r, s, i) { - const a = () => { - const v = Math.abs(n - e) / 2, E = Math.abs(o - t) / 2; - DE(0, 2 * Math.PI, v, E, (e + n) / 2, (t + o) / 2, i, !0); +function tq(e, t, n, o, r, s, a) { + const i = () => { + const M = Math.abs(n - e) / 2, S = Math.abs(o - t) / 2; + mC(0, 2 * Math.PI, M, S, (e + n) / 2, (t + o) / 2, a, !0); }; - if (r <= 0) return a(); + if (r <= 0) return i(); const c = n - e, l = o - t; - let u = BE(r, s); - if (c < 0.5 * u && l < 0.5 * u) return a(); + let u = yC(r, s); + if (c < 0.5 * u && l < 0.5 * u) return i(); if (c < 5 && l > 20 || c > 20 && l < 5) - return m0( + return C0( [ { x: e, y: t }, { x: n, y: t }, @@ -24014,74 +24620,74 @@ function BU(e, t, n, o, r, s, i) { !0, r, s, - i + a ); - const f = Math.sin(Hm) * u - 1.5; - let d = e, p = n, h = t, g = o; + const f = Math.sin(tb) * u - 1.5; + let d = e, p = n, g = t, h = o; if (c > 2 * f) d += f, p -= f; else { - const v = (e + n) / 2; - d = v - 0.1, p = v + 0.1; + const M = (e + n) / 2; + d = M - 0.1, p = M + 0.1; } if (l > 2 * f) - h += f, g -= f; + g += f, h -= f; else { - const v = (o + t) / 2; - g = v + 0.1, h = v - 0.1; + const M = (o + t) / 2; + h = M + 0.1, g = M - 0.1; } - const m = $U(d, h, p, g); + const m = eq(d, g, p, h); if (m.length < 2) return; - let M = 0; - for (let v = 1; v < m.length; v++) M += os(m[v - 1], m[v]); - const x = Math.cos(hr); - let S = Math.ceil(M / (2 * x * u)); - if (S < 2) return a(); - let P = M / S; - if (u = P / (2 * x), u < 0.5) - u = 0.5, P = 2 * x * u; + let O = 0; + for (let M = 1; M < m.length; M++) O += rs(m[M - 1], m[M]); + const E = Math.cos(gr); + let P = Math.ceil(O / (2 * E * u)); + if (P < 2) return i(); + let k = O / P; + if (u = k / (2 * E), u < 0.5) + u = 0.5, k = 2 * E * u; else if (u < 3) - return a(); - const k = []; - let A = 0; - const y = s * 0.1; - for (let v = 0; v + 1 < m.length; v++) { - const E = m[v], I = m[v + 1], T = os(E, I); - if (T === 0) continue; - let _ = T + A; - if (_ >= P - y || v === m.length - 2) { - const N = jE(I.x - E.x, T), F = FE(I.y - E.y, T); - let R = P - A; - for (; _ >= P - y; ) - k.push({ x: E.x + R * N, y: E.y + R * F }), _ -= P, R += P; - A = Math.max(0, _); + return i(); + const A = []; + let w = 0; + const b = s * 0.1; + for (let M = 0; M + 1 < m.length; M++) { + const S = m[M], C = m[M + 1], N = rs(S, C); + if (N === 0) continue; + let _ = N + w; + if (_ >= k - b || M === m.length - 2) { + const T = hC(C.x - S.x, N), $ = gC(C.y - S.y, N); + let j = k - w; + for (; _ >= k - b; ) + A.push({ x: S.x + j * T, y: S.y + j * $ }), _ -= k, j += k; + w = Math.max(0, _); } else - A += T; + w += N; } - const w = k.length; - let O = 0, b = 0; - for (let v = 0; v < w; v++) { - const E = k[v], I = k[(v + 1) % w]; - if (v === 0) { - const N = k[w - 1]; - O = Math.atan2(E.y - N.y, E.x - N.x), b = Gx(N, E, u, P); + const v = A.length; + let x = 0, y = 0; + for (let M = 0; M < v; M++) { + const S = A[M], C = A[(M + 1) % v]; + if (M === 0) { + const T = A[v - 1]; + x = Math.atan2(S.y - T.y, S.x - T.x), y = l2(T, S, u, k); } - const T = Math.atan2(I.y - E.y, I.x - E.x), _ = Gx(E, I, u, P); - $E(O, T, u, E.x, E.y, _, b, i, v === 0), O = T, b = _; + const N = Math.atan2(C.y - S.y, C.x - S.x), _ = l2(S, C, u, k); + bC(x, N, u, S.x, S.y, _, y, a, M === 0), x = N, y = _; } } -function b0(e, t, n, o) { - const r = e.map((a) => ({ x: a.x, y: -a.y })), s = r[0], i = r[r.length - 1]; - s && (s.x !== i.x || s.y !== i.y) && r.push({ ...s }), m0(r, !1, t, n, o); +function I0(e, t, n, o) { + const r = e.map((i) => ({ x: i.x, y: -i.y })), s = r[0], a = r[r.length - 1]; + s && (s.x !== a.x || s.y !== a.y) && r.push({ ...s }), C0(r, !1, t, n, o); } -function y0(e, t, n, o, r) { - const s = e.width, i = e.height; - t ? BU(0, -i, s, 0, n, o, r) : m0( +function _0(e, t, n, o, r) { + const s = e.width, a = e.height; + t ? tq(0, -a, s, 0, n, o, r) : C0( [ { x: 0, y: 0 }, { x: s, y: 0 }, - { x: s, y: -i }, - { x: 0, y: -i }, + { x: s, y: -a }, + { x: 0, y: -a }, { x: 0, y: 0 } ], !1, @@ -24090,88 +24696,88 @@ function y0(e, t, n, o, r) { r ); } -function zU(e, t, n) { - const o = new TE(0, 0); - return b0(e, t, n, o), o.close(), o.build(); +function nq(e, t, n) { + const o = new dC(0, 0); + return I0(e, t, n, o), o.close(), o.build(); } -function WU(e, t, n, o) { - const r = new TE(e.x, e.y); - return y0(e, t, n, o, r), r.close(), r.build(); +function oq(e, t, n, o) { + const r = new dC(e.x, e.y); + return _0(e, t, n, o, r), r.close(), r.build(); } -function UU(e, t, n) { - const o = new RE(0, 0); - return b0(e, t, n, o), Ha(o.bounds(), n / 2); +function rq(e, t, n) { + const o = new fC(0, 0); + return I0(e, t, n, o), va(o.bounds(), n / 2); } -function KU(e, t, n) { - const o = new LE(0, 0); - return b0(e, t, n, o), o.lines; +function sq(e, t, n) { + const o = new pC(0, 0); + return I0(e, t, n, o), o.lines; } -function qU(e, t, n, o) { - const r = new LE(e.x, e.y); - return y0(e, t, n, o, r), r.lines; +function aq(e, t, n, o) { + const r = new pC(e.x, e.y); + return _0(e, t, n, o, r), r.lines; } -function HU(e, t, n, o) { - const r = new RE(e.x, e.y); - return y0(e, t, n, o, r), Ha(r.bounds(), o / 2); +function iq(e, t, n, o) { + const r = new fC(e.x, e.y); + return _0(e, t, n, o, r), va(r.bounds(), o / 2); } -const zE = /* @__PURE__ */ new Set(["square", "circle", "stamp"]), Vm = (e) => e.subtype === "circle" || e.subtype === "widget" && e.fieldKind === "radio"; -function VU(e) { - if (!zE.has(e.subtype)) - return { kind: "box", box: e.rect, rotation: 0, ellipse: Vm(e) }; +const wC = /* @__PURE__ */ new Set(["square", "circle", "stamp"]), nb = (e) => e.subtype === "circle" || e.subtype === "widget" && e.fieldKind === "radio"; +function cq(e) { + if (!wC.has(e.subtype)) + return { kind: "box", box: e.rect, rotation: 0, ellipse: nb(e) }; const { box: t, rotation: n } = e; - return { kind: "box", box: t, rotation: n ?? 0, ellipse: Vm(e) }; + return { kind: "box", box: t, rotation: n ?? 0, ellipse: nb(e) }; } -function GU(e, t) { +function lq(e, t) { if (e.kind !== "box") return null; const n = t.subtype === "stamp", o = e.rot % 180 !== 0; return { kind: "box", - box: !n && o ? h0(e.rect) : e.rect, + box: !n && o ? M0(e.rect) : e.rect, rotation: n ? e.rot : 0, - ellipse: Vm(t) + ellipse: nb(t) }; } -function YU(e, t) { - return zE.has(t) ? { box: e.box, rotation: e.rotation || null } : { rect: e.box }; +function uq(e, t) { + return wC.has(t) ? { box: e.box, rotation: e.rotation || null } : { rect: e.box }; } -function WE(e, t) { +function vC(e, t) { const { cloudyIntensity: n, strokeWidth: o } = t; - return n && e.box.width > 0 && e.box.height > 0 ? HU(e.box, e.ellipse, n, o) : e.box; + return n && e.box.width > 0 && e.box.height > 0 ? iq(e.box, e.ellipse, n, o) : e.box; } -function QU(e, t) { - return Ip(WE(e, t), e.rotation, _t(e.box)); +function dq(e, t) { + return Rp(vC(e, t), e.rotation, Rt(e.box)); } -function ls(e) { - const t = _t(e.box); - return xo(e.box).map( - (n) => ft(n, t, e.rotation) +function us(e) { + const t = Rt(e.box); + return ao(e.box).map( + (n) => ht(n, t, e.rotation) ); } -function XU(e, t, n) { - const o = e.rotation ? ft(t, _t(e.box), -e.rotation) : t; - return IE(Ha(e.box, n), o); +function fq(e, t, n) { + const o = e.rotation ? ht(t, Rt(e.box), -e.rotation) : t; + return cC(va(e.box, n), o); } -function w0(e, t) { +function N0(e, t) { return { ...e, box: { ...e.box, x: e.box.x + t.x, y: e.box.y + t.y } }; } -const UE = (e, t) => ({ +const kC = (e, t) => ({ x: e.x - t.width / 2, y: e.y - t.height / 2, width: t.width, height: t.height }); -function KE(e, t, n) { +function xC(e, t, n) { return { ...e, - box: UE(ft(_t(e.box), t, n), e.box), - rotation: Qt(e.rotation + n) + box: kC(ht(Rt(e.box), t, n), e.box), + rotation: tn(e.rotation + n) }; } -function v0(e, t, n, o, r = 0) { - const s = _t(e.box); +function T0(e, t, n, o, r = 0) { + const s = Rt(e.box); return { ...e, - box: UE( + box: kC( { x: t.x + (s.x - t.x) * n, y: t.y + (s.y - t.y) * o }, { width: Math.max(r, e.box.width * Math.abs(n)), @@ -24180,180 +24786,180 @@ function v0(e, t, n, o, r = 0) { ) }; } -function qE(e) { - const t = _t(e.box); - return EE.map((n) => ({ +function AC(e) { + const t = Rt(e.box); + return aC.map((n) => ({ id: n, - at: ft(Cp(e.box, n), t, e.rotation), - cursor: PU(n, e.rotation) + at: ht(Tp(e.box, n), t, e.rotation), + cursor: BK(n, e.rotation) })); } -function HE(e, t, n) { - return { ...e, box: CU(e.box, e.rotation, t, n) }; +function SC(e, t, n) { + return { ...e, box: KK(e.box, e.rotation, t, n) }; } -function ZU(e, t, n) { - const { strokeWidth: o, cloudyIntensity: r } = t, { box: s, rotation: i, ellipse: a } = e, c = o / 2, l = _t(s), u = (p) => i ? p.map((h) => ft(h, l, i)) : p; +function pq(e, t, n) { + const { strokeWidth: o, cloudyIntensity: r } = t, { box: s, rotation: a, ellipse: i } = e, c = o / 2, l = Rt(s), u = (p) => a ? p.map((g) => ht(g, l, a)) : p; if (r && s.width > 0 && s.height > 0) { - const p = qU(s, a, r, o).map(u), h = p.map( + const p = aq(s, i, r, o).map(u), g = p.map( (m) => ({ kind: "stroke", points: m, closed: !0, halfWidth: c }) ); - return n ? [a ? { + return n ? [i ? { kind: "oval", center: l, rx: s.width / 2, ry: s.height / 2, - rotation: i, + rotation: a, halfWidth: 0, filled: !0 - } : { kind: "area", ring: ls(e) }, ...p.map((m) => ({ kind: "area", ring: m })), ...h] : h; + } : { kind: "area", ring: us(e) }, ...p.map((m) => ({ kind: "area", ring: m })), ...g] : g; } - const f = g0(s, c); - if (a) { + const f = E0(s, c); + if (i) { if (s.width <= 0 || s.height <= 0) return []; - const p = Math.max(0.01, f.width / 2), h = Math.max(0.01, f.height / 2); - return [{ kind: "oval", center: l, rx: p, ry: h, rotation: i, halfWidth: c, filled: n }]; + const p = Math.max(0.01, f.width / 2), g = Math.max(0.01, f.height / 2); + return [{ kind: "oval", center: l, rx: p, ry: g, rotation: a, halfWidth: c, filled: n }]; } const d = { kind: "stroke", - points: u(xo(f)), + points: u(ao(f)), closed: !0, halfWidth: c }; - return n ? [{ kind: "area", ring: ls(e) }, d] : [d]; + return n ? [{ kind: "area", ring: us(e) }, d] : [d]; } -function JU(e, t) { +function hq(e, t) { const { strokeWidth: n, cloudyIntensity: o } = t; if (o && e.box.width > 0 && e.box.height > 0) return [ { kind: "path", - d: WU(e.box, e.ellipse, o, n) + d: oq(e.box, e.ellipse, o, n) } ]; - const r = g0(e.box, n / 2); + const r = E0(e.box, n / 2); return [e.ellipse ? { kind: "ellipse", rect: r } : { kind: "rect", rect: r }]; } -const un = { - read: VU, - write: YU, - placed: GU, +const hn = { + read: cq, + write: uq, + placed: lq, bounds: (e) => e.box, - drawnBounds: WE, - rect: QU, + drawnBounds: vC, + rect: dq, selectionBounds: (e) => e.box, oriented: () => !0, - turnedCorners: ls, - pivot: (e) => _t(e.box), - translate: w0, - rotateAbout: KE, - scaleAbout: v0, + turnedCorners: us, + pivot: (e) => Rt(e.box), + translate: N0, + rotateAbout: xC, + scaleAbout: T0, upright: (e) => ({ ...e, rotation: 0 }), - handles: qE, - drag: HE, - painted: ZU, - scene: JU -}, k0 = (e) => [ + handles: AC, + drag: SC, + painted: pq, + scene: hq +}, R0 = (e) => [ { kind: "area", ring: e }, { kind: "stroke", points: e, closed: !0, halfWidth: 0 } -], eK = (e, t, n) => e.some((o) => nK(o, t, n)), tK = (e, t) => e.some((n) => oK(n, t)); -function nK(e, t, n) { +], gq = (e, t, n) => e.some((o) => bq(o, t, n)), mq = (e, t) => e.some((n) => yq(n, t)); +function bq(e, t, n) { switch (e.kind) { case "stroke": - return YE(e, (o, r) => p0(t, o, r) <= e.halfWidth + n); + return MC(e, (o, r) => P0(t, o, r) <= e.halfWidth + n); case "area": - return Ql(t, e.ring); + return Zl(t, e.ring); case "oval": { if (e.rx <= 0 || e.ry <= 0) return !1; - const o = VE(e, t), r = Math.hypot(o.x, o.y), s = GE(e, e.halfWidth + n); + const o = OC(e, t), r = Math.hypot(o.x, o.y), s = PC(e, e.halfWidth + n); return e.filled ? r <= 1 + s : Math.abs(r - 1) <= s; } } } -function oK(e, t) { +function yq(e, t) { switch (e.kind) { case "stroke": - return YE( + return MC( e, - (n, o) => OU(n, o, t) <= e.halfWidth + (n, o) => zK(n, o, t) <= e.halfWidth ); case "area": - return MU(e.ring, t); + return WK(e.ring, t); case "oval": { if (e.rx <= 0 || e.ry <= 0) return !1; - const n = xo(t).map((a) => VE(e, a)), o = { x: 0, y: 0 }, r = Ql(o, n) ? 0 : Math.min(...n.map((a, c) => p0(o, a, n[(c + 1) % 4]))), s = Math.max(...n.map((a) => Math.hypot(a.x, a.y))), i = GE(e, e.halfWidth); - return r <= 1 + i && (e.filled || s >= 1 - i); + const n = ao(t).map((i) => OC(e, i)), o = { x: 0, y: 0 }, r = Zl(o, n) ? 0 : Math.min(...n.map((i, c) => P0(o, i, n[(c + 1) % 4]))), s = Math.max(...n.map((i) => Math.hypot(i.x, i.y))), a = PC(e, e.halfWidth); + return r <= 1 + a && (e.filled || s >= 1 - a); } } } -function VE(e, t) { - const n = e.rotation ? ft(t, e.center, -e.rotation) : t; +function OC(e, t) { + const n = e.rotation ? ht(t, e.center, -e.rotation) : t; return { x: (n.x - e.center.x) / e.rx, y: (n.y - e.center.y) / e.ry }; } -const GE = (e, t) => t / Math.min(e.rx, e.ry); -function YE(e, t) { +const PC = (e, t) => t / Math.min(e.rx, e.ry); +function MC(e, t) { const { points: n } = e; for (let o = 0; o < n.length - 1; o++) if (t(n[o], n[o + 1])) return !0; return e.closed && n.length > 2 && t(n[n.length - 1], n[0]); } -function rK(e) { +function wq(e) { const { box: t, rotation: n } = e; return { kind: "caret", box: t, rotation: n ?? 0 }; } -const sK = (e) => ({ +const vq = (e) => ({ box: e.box, rotation: e.rotation || null }); -function iK(e) { +function kq(e) { const t = e.glyphQuad, n = Math.hypot(t.lowerLeft.x - t.upperLeft.x, t.lowerLeft.y - t.upperLeft.y), o = Math.max(n / 2, 1), r = e.advance > 0 ? t.lowerRight : t.lowerLeft; return { x: r.x - o / 2, y: r.y - o, width: o, height: o }; } -const Yx = 0.05; -function QE(e) { - const t = e.glyphQuad, n = Math.hypot(t.lowerLeft.x - t.upperLeft.x, t.lowerLeft.y - t.upperLeft.y), o = Math.max(n / 2, 1), r = e.advance > 0 ? t.lowerRight : t.lowerLeft, s = t.lowerRight.x - t.lowerLeft.x, i = t.lowerRight.y - t.lowerLeft.y, a = Math.hypot(s, i) > 0 ? Qt(Math.atan2(i, s) * 180 / Math.PI) : 0; - if (a < Yx || a > 360 - Yx) - return { kind: "caret", box: iK(e), rotation: 0 }; +const u2 = 0.05; +function EC(e) { + const t = e.glyphQuad, n = Math.hypot(t.lowerLeft.x - t.upperLeft.x, t.lowerLeft.y - t.upperLeft.y), o = Math.max(n / 2, 1), r = e.advance > 0 ? t.lowerRight : t.lowerLeft, s = t.lowerRight.x - t.lowerLeft.x, a = t.lowerRight.y - t.lowerLeft.y, i = Math.hypot(s, a) > 0 ? tn(Math.atan2(a, s) * 180 / Math.PI) : 0; + if (i < u2 || i > 360 - u2) + return { kind: "caret", box: kq(e), rotation: 0 }; const c = (t.upperLeft.x - t.lowerLeft.x) / n, l = (t.upperLeft.y - t.lowerLeft.y) / n, u = r.x + c * o / 2, f = r.y + l * o / 2; return { kind: "caret", box: { x: u - o / 2, y: f - o / 2, width: o, height: o }, - rotation: a + rotation: i }; } -const XE = 0.5; -function aK(e) { - const { x: t, y: n, width: o, height: r } = e.box, s = t + o / 2, i = n + r; +const CC = 0.5; +function xq(e) { + const { x: t, y: n, width: o, height: r } = e.box, s = t + o / 2, a = n + r; return [{ kind: "path", d: [ - `M ${t} ${i}`, - `C ${t + o * 0.27} ${i} ${s} ${n + r * 0.56} ${s} ${n}`, - `C ${s} ${n + r * 0.56} ${t + o * 0.73} ${i} ${t + o} ${i}` + `M ${t} ${a}`, + `C ${t + o * 0.27} ${a} ${s} ${n + r * 0.56} ${s} ${n}`, + `C ${s} ${n + r * 0.56} ${t + o * 0.73} ${a} ${t + o} ${a}` ].join(" ") }]; } -function Qx(e) { +function d2(e) { const { box: t } = e; - return { ...t, height: t.height + XE / 2 }; + return { ...t, height: t.height + CC / 2 }; } -const ZE = { - read: rK, - write: sK, +const IC = { + read: wq, + write: vq, // A caret is made from a text selection, never placed. placed: () => null, bounds: (e) => e.box, - drawnBounds: Qx, - rect: (e) => Ip(Qx(e), e.rotation, _t(e.box)), + drawnBounds: d2, + rect: (e) => Rp(d2(e), e.rotation, Rt(e.box)), selectionBounds: (e) => e.box, oriented: () => !0, - turnedCorners: ls, - pivot: (e) => _t(e.box), - translate: w0, + turnedCorners: us, + pivot: (e) => Rt(e.box), + translate: N0, rotateAbout: (e) => e, - scaleAbout: v0, + scaleAbout: T0, upright: (e) => ({ ...e, rotation: 0 }), handles: () => [], drag: (e) => e, // A caret paints its whole box: the mark is small. - painted: (e) => k0(ls(e)), - scene: aK -}, Vu = (e) => ({ + painted: (e) => R0(us(e)), + scene: xq +}, Qu = (e) => ({ shape: "poly", closed: e, rotation: (t) => t, @@ -24369,7 +24975,7 @@ const ZE = { { x: r, y: -s } ]; } -}), Xx = (e, t) => ({ +}), f2 = (e, t) => ({ shape: "poly", closed: !1, rotation: t, @@ -24380,11 +24986,11 @@ const ZE = { { x: o, y: 0 } ]; } -}), cK = { - "open-arrow": Vu(!1), - "closed-arrow": Vu(!0), - "r-open-arrow": { ...Vu(!1), rotation: (e) => e + Math.PI }, - "r-closed-arrow": { ...Vu(!0), rotation: (e) => e + Math.PI }, +}), Aq = { + "open-arrow": Qu(!1), + "closed-arrow": Qu(!0), + "r-open-arrow": { ...Qu(!1), rotation: (e) => e + Math.PI }, + "r-closed-arrow": { ...Qu(!0), rotation: (e) => e + Math.PI }, circle: { shape: "ellipse", closed: !0, @@ -24426,42 +25032,42 @@ const ZE = { ]; } }, - butt: Xx(6, (e) => e + Math.PI / 2), - slash: Xx(18, (e) => e + Math.PI / 1.5) -}, JE = (e, t, n) => { + butt: f2(6, (e) => e + Math.PI / 2), + slash: f2(18, (e) => e + Math.PI / 1.5) +}, _C = (e, t, n) => { const o = Math.cos(t), r = Math.sin(t); return { x: n.x + e.x * o - e.y * r, y: n.y + e.x * r + e.y * o }; -}, eC = (e) => e && e !== "none" ? cK[e] : void 0; -function Gm(e, t, n, o) { - const r = eC(n); +}, NC = (e) => e && e !== "none" ? Aq[e] : void 0; +function ob(e, t, n, o) { + const r = NC(n); if (!r) return []; const s = r.rotation(t); - return r.points(o).map((i) => JE(i, s, e)); + return r.points(o).map((a) => _C(a, s, e)); } -function us(e, t, n, o) { - const r = eC(n); +function ds(e, t, n, o) { + const r = NC(n); if (!r) return []; - const s = r.rotation(t), i = r.points(o).map((a) => JE(a, s, e)); + const s = r.rotation(t), a = r.points(o).map((i) => _C(i, s, e)); if (r.shape === "ellipse") { - const [a, c] = i; + const [i, c] = a; return [ { kind: "ellipse", rect: { - x: Math.min(a.x, c.x), - y: Math.min(a.y, c.y), - width: Math.abs(c.x - a.x), - height: Math.abs(c.y - a.y) + x: Math.min(i.x, c.x), + y: Math.min(i.y, c.y), + width: Math.abs(c.x - i.x), + height: Math.abs(c.y - i.y) } } ]; } - return [{ kind: "poly", points: i, closed: r.closed }]; + return [{ kind: "poly", points: a, closed: r.closed }]; } -function x0(e, t) { +function L0(e, t) { const n = t / 2; return e.flatMap((o) => { if (o.kind === "ellipse") { @@ -24469,7 +25075,7 @@ function x0(e, t) { return [ { kind: "oval", - center: _t(s), + center: Rt(s), rx: s.width / 2, ry: s.height / 2, rotation: 0, @@ -24488,70 +25094,70 @@ function x0(e, t) { return o.closed ? [{ kind: "area", ring: o.points }, r] : [r]; }); } -const lK = Math.SQRT2, Us = 0.5, qr = (e, t) => ({ x: e.x + t.x, y: e.y + t.y }), Xs = (e, t) => ({ x: e.x - t.x, y: e.y - t.y }), Gn = (e, t) => ({ x: e.x * t, y: e.y * t }), Hr = (e, t) => e.x * t.x + e.y * t.y, _p = (e, t) => Math.hypot(e.x - t.x, e.y - t.y); -function mg(e) { +const Sq = Math.SQRT2, Us = 0.5, Hr = (e, t) => ({ x: e.x + t.x, y: e.y + t.y }), Js = (e, t) => ({ x: e.x - t.x, y: e.y - t.y }), Hn = (e, t) => ({ x: e.x * t, y: e.y * t }), Vr = (e, t) => e.x * t.x + e.y * t.y, Lp = (e, t) => Math.hypot(e.x - t.x, e.y - t.y); +function kg(e) { const t = Math.hypot(e.x, e.y); return t === 0 ? { x: 0, y: 0 } : { x: e.x / t, y: e.y / t }; } -function uK(e, t) { +function Oq(e, t) { const n = [0]; for (let r = t.first + 1; r <= t.last; r++) - n.push(n[n.length - 1] + _p(e[r], e[r - 1])); + n.push(n[n.length - 1] + Lp(e[r], e[r - 1])); const o = n[n.length - 1]; return n.map((r) => r / o); } -function dK(e, t, n) { +function Pq(e, t, n) { const o = e[t.first], r = e[t.last]; - let s = 0, i = 0, a = 0, c = 0, l = 0; - n.forEach((h, g) => { - const m = 1 - h, M = m * m * m, x = 3 * h * m * m, S = 3 * h * h * m, P = h * h * h, k = Gn(t.leaving, x), A = Gn(t.arriving, S); - s += Hr(k, k), i += Hr(k, A), a += Hr(A, A); - const y = Xs( - e[t.first + g], - qr(qr(Gn(o, M), Gn(o, x)), qr(Gn(r, S), Gn(r, P))) + let s = 0, a = 0, i = 0, c = 0, l = 0; + n.forEach((g, h) => { + const m = 1 - g, O = m * m * m, E = 3 * g * m * m, P = 3 * g * g * m, k = g * g * g, A = Hn(t.leaving, E), w = Hn(t.arriving, P); + s += Vr(A, A), a += Vr(A, w), i += Vr(w, w); + const b = Js( + e[t.first + h], + Hr(Hr(Hn(o, O), Hn(o, E)), Hr(Hn(r, P), Hn(r, k))) ); - c += Hr(k, y), l += Hr(A, y); + c += Vr(A, b), l += Vr(w, b); }); - const u = s * a - i * i; - let f = u === 0 ? 0 : (c * a - l * i) / u, d = u === 0 ? 0 : (s * l - i * c) / u; - const p = _p(r, o); + const u = s * i - a * a; + let f = u === 0 ? 0 : (c * i - l * a) / u, d = u === 0 ? 0 : (s * l - a * c) / u; + const p = Lp(r, o); return (f < 1e-6 * p || d < 1e-6 * p) && (f = p / 3, d = p / 3), [ o, - qr(o, Gn(t.leaving, f)), - qr(r, Gn(t.arriving, d)), + Hr(o, Hn(t.leaving, f)), + Hr(r, Hn(t.arriving, d)), r ]; } -function fK(e, t, n, o) { - const [r, s, i, a] = o; +function Mq(e, t, n, o) { + const [r, s, a, i] = o; let c = { squared: 0, index: Math.floor((t.last - t.first + 1) / 2) + t.first }; for (let l = t.first + 1; l < t.last; l++) { - const u = Xs(si(r, s, i, a, n[l - t.first]), e[l]), f = Hr(u, u); + const u = Js(ia(r, s, a, i, n[l - t.first]), e[l]), f = Vr(u, u); f >= c.squared && (c = { squared: f, index: l }); } return c; } -function pK(e, t, n) { - const o = Xs(n, t), r = Hr(o, o), s = r === 0 ? 0 : Math.min(1, Math.max(0, Hr(Xs(e, t), o) / r)); - return _p(e, qr(t, Gn(o, s))); +function Eq(e, t, n) { + const o = Js(n, t), r = Vr(o, o), s = r === 0 ? 0 : Math.min(1, Math.max(0, Vr(Js(e, t), o) / r)); + return Lp(e, Hr(t, Hn(o, s))); } -function hK(e, t, n) { - const [o, r, s, i] = n; - let a = 0; +function Cq(e, t, n) { + const [o, r, s, a] = n; + let i = 0; for (let c = 0; c <= 64; c++) { - const l = si(o, r, s, i, c / 64); + const l = ia(o, r, s, a, c / 64); let u = 1 / 0; for (let f = t.first; f < t.last; f++) - u = Math.min(u, pK(l, e[f], e[f + 1])); - a = Math.max(a, u); + u = Math.min(u, Eq(l, e[f], e[f + 1])); + i = Math.max(i, u); } - return a; + return i; } -function gK(e, t = lK) { +function Iq(e, t = Sq) { const n = []; - for (const i of e) { - const a = n[n.length - 1]; - (!a || a.x !== i.x || a.y !== i.y) && n.push(i); + for (const a of e) { + const i = n[n.length - 1]; + (!i || i.x !== a.x || i.y !== a.y) && n.push(a); } if (n.length === 0) return null; if (n.length === 1) return { kind: "dot", center: n[0] }; @@ -24559,37 +25165,37 @@ function gK(e, t = lK) { { first: 0, last: r, - leaving: mg(Xs(n[1], n[0])), - arriving: mg(Xs(n[r - 1], n[r])) + leaving: kg(Js(n[1], n[0])), + arriving: kg(Js(n[r - 1], n[r])) } ]; for (; s.length > 0; ) { - const i = s.pop(), a = n[i.first], c = n[i.last]; - if (i.last - i.first === 1) { - const h = _p(c, a) / 3; + const a = s.pop(), i = n[a.first], c = n[a.last]; + if (a.last - a.first === 1) { + const g = Lp(c, i) / 3; o.push({ - control1: qr(a, Gn(i.leaving, h)), - control2: qr(c, Gn(i.arriving, h)), + control1: Hr(i, Hn(a.leaving, g)), + control2: Hr(c, Hn(a.arriving, g)), end: c }); continue; } - const l = uK(n, i), u = dK(n, i, l), f = fK(n, i, l, u); - if (f.squared < t * t && hK(n, i, u) < t) { + const l = Oq(n, a), u = Pq(n, a, l), f = Mq(n, a, l, u); + if (f.squared < t * t && Cq(n, a, u) < t) { o.push({ control1: u[1], control2: u[2], end: c }); continue; } - const d = f.index, p = mg(Xs(n[d - 1], n[d + 1])); + const d = f.index, p = kg(Js(n[d - 1], n[d + 1])); s.push({ first: d, - last: i.last, - leaving: Gn(p, -1), - arriving: i.arriving - }), s.push({ first: i.first, last: d, leaving: i.leaving, arriving: p }); + last: a.last, + leaving: Hn(p, -1), + arriving: a.arriving + }), s.push({ first: a.first, last: d, leaving: a.leaving, arriving: p }); } return { kind: "curves", start: n[0], cubics: o }; } -function mK(e) { +function _q(e) { const t = (n) => `${Oo(n.x)} ${Oo(n.y)}`; return [ `M ${t(e.start)}`, @@ -24598,15 +25204,15 @@ function mK(e) { ) ].join(" "); } -const bK = 0.05; -function yK(e) { +const Nq = 0.05; +function Tq(e) { const t = [e.start]; let n = e.start; for (const { control1: o, control2: r, end: s } of e.cubics) - t.push(...xU(n, o, r, s, bK)), n = s; + t.push(...FK(n, o, r, s, Nq)), n = s; return t; } -function wK(e) { +function Rq(e) { const t = e, n = t.rotation ?? 0; switch (t.subtype) { case "line": @@ -24637,8 +25243,8 @@ function wK(e) { return { kind: "ink", inkList: t.inkList, rotation: n }; } } -const vK = { start: "none", end: "none" }, vl = (e) => "lineEndings" in e && e.lineEndings || vK; -function kK(e, t) { +const Lq = { start: "none", end: "none" }, vl = (e) => "lineEndings" in e && e.lineEndings || Lq; +function jq(e, t) { return e.kind !== "segment" || t.subtype !== "line" ? null : { kind: "line", linePoints: { start: e.a, end: e.b }, @@ -24646,7 +25252,7 @@ function kK(e, t) { rotation: 0 }; } -function xK(e) { +function Fq(e) { const t = e.rotation || null; return e.kind === "line" ? { linePoints: e.linePoints, rotation: t } : e.kind === "poly" ? { vertices: e.vertices, @@ -24654,136 +25260,140 @@ function xK(e) { rotation: t } : { inkList: e.inkList, rotation: t }; } -function Np(e) { +function jp(e) { return e.kind === "line" ? [[e.linePoints.start, e.linePoints.end]] : e.kind === "poly" ? [e.vertices] : e.inkList; } -function Ym(e, t) { +function rb(e, t) { if (e.kind === "line") { const [n, o] = t[0]; return { ...e, linePoints: { start: n, end: o } }; } return e.kind === "poly" ? { ...e, vertices: t[0] } : { ...e, inkList: t }; } -function tC(e, t) { - const n = Ym( +function TC(e, t) { + const n = rb( e, - Np(e).map((o) => o.map(t)) + jp(e).map((o) => o.map(t)) ); return n.kind === "poly" && n.captionCenter ? { ...n, captionCenter: t(n.captionCenter) } : n; } -const A0 = (e) => e.rotation ? qR(Np(e).flat(), e.rotation) : void 0; -function AK(e, t) { - const n = A0(e); - return n ? cP(t, n) : t; +const j0 = (e) => e.rotation ? F8(jp(e).flat(), e.rotation) : void 0; +function Dq(e, t) { + const n = j0(e); + return n ? _O(t, n) : t; } -function SK(e, t) { - const n = A0(e); - return n ? lP(t, n) : t; +function $q(e, t) { + const n = j0(e); + return n ? NO(t, n) : t; } -const Zx = /* @__PURE__ */ new WeakMap(); -function Cr(e) { - const t = Zx.get(e); +const p2 = /* @__PURE__ */ new WeakMap(); +function _r(e) { + const t = p2.get(e); if (t) return t; - const n = A0(e), o = Np(e), r = n ? o.map((s) => s.map((i) => cP(i, n))) : o; - return Zx.set(e, r), r; + const n = j0(e), o = jp(e), r = n ? o.map((s) => s.map((a) => _O(a, n))) : o; + return p2.set(e, r), r; } -function Tp(e) { - const [t, n] = Cr(e)[0]; +function Fp(e) { + const [t, n] = _r(e)[0]; return { start: t, end: n }; } -const PK = (e) => Cr(e)[0], Xl = (e) => _t(pt(Np(e).flat())), OK = (e) => pt(Cr(e).flat()); -function nC(e, t) { - return !t.x && !t.y ? e : tC(e, (n) => ({ x: n.x + t.x, y: n.y + t.y })); +const Bq = (e) => _r(e)[0], Jl = (e) => Rt(ft(jp(e).flat())), zq = (e) => ft(_r(e).flat()); +function RC(e, t) { + return !t.x && !t.y ? e : TC(e, (n) => ({ x: n.x + t.x, y: n.y + t.y })); } -const Jx = 1e-9; -function oC(e, t, n) { - const o = Xl(e), r = ft(o, t, n), s = { x: r.x - o.x, y: r.y - o.y }; - return { ...Math.abs(s.x) < Jx && Math.abs(s.y) < Jx ? e : nC(e, s), rotation: Qt(e.rotation + n) }; -} -function MK(e, t, n, o) { - const r = e.rotation ? Xl(e) : t, s = e.rotation ? { x: t.x + (r.x - t.x) * n, y: t.y + (r.y - t.y) * o } : t; - return tC(e, (i) => ({ - x: s.x + (i.x - r.x) * n, - y: s.y + (i.y - r.y) * o +const h2 = 1e-9; +function LC(e, t, n) { + const o = Jl(e), r = ht(o, t, n), s = { x: r.x - o.x, y: r.y - o.y }; + return { ...Math.abs(s.x) < h2 && Math.abs(s.y) < h2 ? e : RC(e, s), rotation: tn(e.rotation + n) }; +} +function Wq(e, t, n, o) { + const r = e.rotation ? Jl(e) : t, s = e.rotation ? { x: t.x + (r.x - t.x) * n, y: t.y + (r.y - t.y) * o } : t; + return TC(e, (a) => ({ + x: s.x + (a.x - r.x) * n, + y: s.y + (a.y - r.y) * o })); } -function EK(e, t) { - return e.rotation ? oC(e, t ?? Xl(e), -e.rotation) : e; +function Uq(e, t) { + return e.rotation ? LC(e, t ?? Jl(e), -e.rotation) : e; } -function CK(e) { - return e.kind === "ink" ? [] : Cr(e)[0].map((t, n) => ({ id: `v${n}`, at: t, cursor: "crosshair" })); +function Kq(e) { + return e.kind === "ink" ? [] : _r(e)[0].map((t, n) => ({ id: `v${n}`, at: t, cursor: "crosshair" })); } -function IK(e, t, n) { +function qq(e, t, n) { if (e.kind === "ink") return e; - const o = Number(t.slice(1)), r = Cr(e)[0]; + const o = Number(t.slice(1)), r = _r(e)[0]; if (!Number.isInteger(o) || o < 0 || o >= r.length) return e; const s = r.slice(); - if (s[o] = n, !e.rotation) return Ym(e, [s]); - const i = HR(s, e.rotation); - return Ym(e, [s.map((a) => lP(a, i))]); + if (s[o] = n, !e.rotation) return rb(e, [s]); + const a = D8(s, e.rotation); + return rb(e, [s.map((i) => NO(i, a))]); } -const Rp = 10; -function Qm(e, t, n) { +const Dp = 10; +function sb(e, t, n) { const o = n / 2, r = e.length; if (r === 0) return []; if (r === 1 || o === 0) return [...e]; - const s = t ? r : r - 1, i = [], a = []; + const s = t ? r : r - 1, a = [], i = []; for (let f = 0; f < s; f++) { - const d = e[f], p = e[(f + 1) % r], h = Math.hypot(p.x - d.x, p.y - d.y) || 1, g = (p.x - d.x) / h, m = (p.y - d.y) / h; - i.push({ x: g, y: m }), a.push({ x: -m, y: g }); + const d = e[f], p = e[(f + 1) % r], g = Math.hypot(p.x - d.x, p.y - d.y) || 1, h = (p.x - d.x) / g, m = (p.y - d.y) / g; + a.push({ x: h, y: m }), i.push({ x: -m, y: h }); } const c = []; for (let f = 0; f < s; f++) { - const d = e[f], p = e[(f + 1) % r], h = a[f].x * o, g = a[f].y * o; - c.push({ x: d.x + h, y: d.y + g }, { x: d.x - h, y: d.y - g }), c.push({ x: p.x + h, y: p.y + g }, { x: p.x - h, y: p.y - g }); + const d = e[f], p = e[(f + 1) % r], g = i[f].x * o, h = i[f].y * o; + c.push({ x: d.x + g, y: d.y + h }, { x: d.x - g, y: d.y - h }), c.push({ x: p.x + g, y: p.y + h }, { x: p.x - g, y: p.y - h }); } const l = t ? 0 : 1, u = t ? r : r - 1; for (let f = l; f < u; f++) { - const d = t ? (f - 1 + r) % r : f - 1, p = f, h = i[d], g = i[p], m = a[d], M = a[p], x = h.x - g.x, S = h.y - g.y; - if (Math.hypot(x, S) < 1e-9) continue; - let P = m.x + M.x, k = m.y + M.y; - const A = Math.hypot(P, k); - if (A < 1e-9) continue; - P /= A, k /= A, P * x + k * S < 0 && (P = -P, k = -k); - const y = Math.abs(P * m.x + k * m.y); - if (y < 1e-9) continue; - const w = o / y; - if (w > Rp * o) continue; - const O = e[f]; - c.push({ x: O.x + P * w, y: O.y + k * w }); + const d = t ? (f - 1 + r) % r : f - 1, p = f, g = a[d], h = a[p], m = i[d], O = i[p], E = g.x - h.x, P = g.y - h.y; + if (Math.hypot(E, P) < 1e-9) continue; + let k = m.x + O.x, A = m.y + O.y; + const w = Math.hypot(k, A); + if (w < 1e-9) continue; + k /= w, A /= w, k * E + A * P < 0 && (k = -k, A = -A); + const b = Math.abs(k * m.x + A * m.y); + if (b < 1e-9) continue; + const v = o / b; + if (v > Dp * o) continue; + const x = e[f]; + c.push({ x: x.x + k * v, y: x.y + A * v }); } return c; } -function S0(e, t) { +function F0(e, t) { return e.flatMap((n) => { switch (n.kind) { case "line": - return Qm([n.a, n.b], !1, t); + return sb([n.a, n.b], !1, t); case "poly": - return Qm(n.points, n.closed, t); + return sb(n.points, n.closed, t); case "ellipse": case "rect": - return xo(Ha(n.rect, t / 2)); + return ao(va(n.rect, t / 2)); case "path": return []; } }); } -const e2 = /* @__PURE__ */ new WeakMap(); -function P0(e) { - const t = e2.get(e); - if (t) return t; - const n = e.flatMap((o) => gK(o) ?? []); - return e2.set(e, n), n; +const g2 = /* @__PURE__ */ new WeakMap(); +function D0(e) { + return e.flatMap((t) => { + let n = g2.get(t); + return n === void 0 && (n = Iq(t), g2.set(t, n)), n ?? []; + }); +} +function $0(e, t) { + const n = t[t.length - 1]; + return !e.drawing || !n || n.length < 2 ? { fitted: t, drawing: null } : { fitted: t.slice(0, -1), drawing: n }; } -function t2(e, t) { +function m2(e, t) { for (const n of t) { const o = Math.hypot(n.x - e.x, n.y - e.y); if (o >= 1e-9) return { x: (n.x - e.x) / o, y: (n.y - e.y) / o }; } return null; } -function _K(e, t) { +function Hq(e, t) { const n = t / 2; if (e.kind === "dot") { const { x: l, y: u } = e.center, f = Us + n; @@ -24793,18 +25403,18 @@ function _K(e, t) { ]; } const o = [e.start], r = [], s = []; - let i = e.start; + let a = e.start; for (const { control1: l, control2: u, end: f } of e.cubics) { o.push(f); - for (const h of xf(i.x, l.x, u.x, f.x)) - r.push({ at: si(i, l, u, f, h), acrossX: !0 }); - for (const h of xf(i.y, l.y, u.y, f.y)) - r.push({ at: si(i, l, u, f, h), acrossX: !1 }); - const d = t2(i, [l, u, f]), p = t2(f, [u, l, i]); - d && p && s.push({ from: i, to: f, leaving: d, arriving: { x: -p.x, y: -p.y } }), i = f; + for (const g of Af(a.x, l.x, u.x, f.x)) + r.push({ at: ia(a, l, u, f, g), acrossX: !0 }); + for (const g of Af(a.y, l.y, u.y, f.y)) + r.push({ at: ia(a, l, u, f, g), acrossX: !1 }); + const d = m2(a, [l, u, f]), p = m2(f, [u, l, a]); + d && p && s.push({ from: a, to: f, leaving: d, arriving: { x: -p.x, y: -p.y } }), a = f; } if (o.push(...r.map(({ at: l }) => l)), n <= 0 || s.length === 0) return o; - const a = (l, u) => [ + const i = (l, u) => [ { x: l.x - u.y * n, y: l.y + u.x * n }, { x: l.x + u.y * n, y: l.y - u.x * n } ], c = (l) => [ @@ -24814,12 +25424,12 @@ function _K(e, t) { { x: l.x, y: l.y + n } ]; for (const l of s) - o.push(...a(l.from, l.leaving), ...a(l.to, l.arriving)); + o.push(...i(l.from, l.leaving), ...i(l.to, l.arriving)); for (let l = 0; l + 1 < s.length; l++) { - const { to: u, arriving: f } = s[l], { leaving: d } = s[l + 1], p = Math.hypot(f.x + d.x, f.y + d.y), h = { x: f.x - d.x, y: f.y - d.y }, g = Math.hypot(h.x, h.y); - if (p < 1e-9 || g < 1e-9 || 2 / p > Rp) continue; - const m = n * (2 / p) / g; - o.push({ x: u.x + h.x * m, y: u.y + h.y * m }); + const { to: u, arriving: f } = s[l], { leaving: d } = s[l + 1], p = Math.hypot(f.x + d.x, f.y + d.y), g = { x: f.x - d.x, y: f.y - d.y }, h = Math.hypot(g.x, g.y); + if (p < 1e-9 || h < 1e-9 || 2 / p > Dp) continue; + const m = n * (2 / p) / h; + o.push({ x: u.x + g.x * m, y: u.y + g.y * m }); } o.push(...c(s[0].from), ...c(s[s.length - 1].to)); for (const { at: l, acrossX: u } of r) @@ -24829,13 +25439,13 @@ function _K(e, t) { ); return o; } -const O0 = (e) => e > 0 ? e : 1; -function M0(e) { +const B0 = (e) => e > 0 ? e : 1; +function z0(e) { if (e.kind === "ink" || !e.lineEndings) return []; if (e.kind === "poly" && e.closed) return []; - const t = Cr(e)[0], n = t.length; + const t = _r(e)[0], n = t.length; if (n < 2) return []; - const o = t[0], r = t[1], s = t[n - 1], i = t[n - 2]; + const o = t[0], r = t[1], s = t[n - 1], a = t[n - 2]; return [ { tip: o, @@ -24844,51 +25454,56 @@ function M0(e) { }, { tip: s, - angle: Math.atan2(s.y - i.y, s.x - i.x), + angle: Math.atan2(s.y - a.y, s.x - a.x), ending: e.lineEndings.end } ]; } -function Ld(e, t) { - const { strokeWidth: n, cloudyIntensity: o } = t, r = Cr(e); - if (e.kind === "ink") - return pt([ +function Dd(e, t) { + const { strokeWidth: n, cloudyIntensity: o } = t, r = _r(e); + if (e.kind === "ink") { + const { fitted: c, drawing: l } = $0(e, r); + return ft([ ...r.flat(), - ...P0(r).flatMap((c) => _K(c, n)) + ...D0(c).flatMap((u) => Hq(u, n)), + ...l ? ao(va(ft(l), n / 2)) : [] ]); - const s = r[0], i = e.kind === "poly" && e.closed; - if (i && o) return UU(s, o, n); - const a = M0(e).flatMap( - (c) => us(c.tip, c.angle, c.ending, O0(n)) + } + const s = r[0], a = e.kind === "poly" && e.closed; + if (a && o) return rq(s, o, n); + const i = z0(e).flatMap( + (c) => ds(c.tip, c.angle, c.ending, B0(n)) ); - return pt([ - ...Qm(s, i, n), - ...S0(a, n) + return ft([ + ...sb(s, a, n), + ...F0(i, n) ]); } -function NK(e, t) { - const n = { ...e, rotation: 0 }, o = xo(Ld(n, t)); +function Vq(e, t) { + const n = { ...e, rotation: 0 }, o = ao(Dd(n, t)); if (!e.rotation) return o; - const r = Xl(e); - return o.map((s) => ft(s, r, e.rotation)); -} -function TK(e, t, n) { - const { strokeWidth: o, cloudyIntensity: r } = t, s = o / 2, i = Cr(e); - if (e.kind === "ink") - return P0(i).map( - (u) => u.kind === "dot" ? { + const r = Jl(e); + return o.map((s) => ht(s, r, e.rotation)); +} +function Gq(e, t, n) { + const { strokeWidth: o, cloudyIntensity: r } = t, s = o / 2, a = _r(e); + if (e.kind === "ink") { + const { fitted: u, drawing: f } = $0(e, a), d = D0(u).map( + (p) => p.kind === "dot" ? { kind: "oval", - center: u.center, + center: p.center, rx: Us, ry: Us, rotation: 0, halfWidth: s, filled: !0 - } : { kind: "stroke", points: yK(u), closed: !1, halfWidth: s } + } : { kind: "stroke", points: Tq(p), closed: !1, halfWidth: s } ); - const a = e.kind === "poly" && e.closed, c = i[0], l = []; - if (c && a && r && c.length >= 3) { - const u = KU(c, r, o); + return f && d.push({ kind: "stroke", points: f, closed: !1, halfWidth: s }), d; + } + const i = e.kind === "poly" && e.closed, c = a[0], l = []; + if (c && i && r && c.length >= 3) { + const u = sq(c, r, o); if (n) { l.push({ kind: "area", ring: c }); for (const f of u) l.push({ kind: "area", ring: f }); @@ -24896,103 +25511,105 @@ function TK(e, t, n) { for (const f of u) l.push({ kind: "stroke", points: f, closed: !0, halfWidth: s }); return l; } - c && n && a && l.push({ kind: "area", ring: c }); - for (const u of i) l.push({ kind: "stroke", points: u, closed: a, halfWidth: s }); - for (const u of M0(e)) + c && n && i && l.push({ kind: "area", ring: c }); + for (const u of a) l.push({ kind: "stroke", points: u, closed: i, halfWidth: s }); + for (const u of z0(e)) l.push( - ...x0( - us(u.tip, u.angle, u.ending, O0(o)), + ...L0( + ds(u.tip, u.angle, u.ending, B0(o)), o ) ); return l; } -function RK(e, t) { - const { strokeWidth: n, cloudyIntensity: o } = t, r = Cr(e); - if (e.kind === "ink") - return P0(r).map( - (a) => a.kind === "dot" ? { +function Yq(e, t) { + const { strokeWidth: n, cloudyIntensity: o } = t, r = _r(e); + if (e.kind === "ink") { + const { fitted: i, drawing: c } = $0(e, r), l = D0(i).map( + (u) => u.kind === "dot" ? { kind: "ellipse", rect: { - x: a.center.x - Us, - y: a.center.y - Us, + x: u.center.x - Us, + y: u.center.y - Us, width: 2 * Us, height: 2 * Us } - } : { kind: "path", d: mK(a) } + } : { kind: "path", d: _q(u) } ); + return c && l.push({ kind: "poly", points: c, closed: !1 }), l; + } const s = r[0]; if (e.kind === "poly" && e.closed && o && s.length >= 3) - return [{ kind: "path", d: zU(s, o, n) }]; - const i = e.kind === "line" ? [{ kind: "line", a: s[0], b: s[1] }] : [{ kind: "poly", points: s, closed: e.closed }]; - for (const a of M0(e)) - i.push(...us(a.tip, a.angle, a.ending, O0(n))); - return i; + return [{ kind: "path", d: nq(s, o, n) }]; + const a = e.kind === "line" ? [{ kind: "line", a: s[0], b: s[1] }] : [{ kind: "poly", points: s, closed: e.closed }]; + for (const i of z0(e)) + a.push(...ds(i.tip, i.angle, i.ending, B0(n))); + return a; } -const Zs = { - read: wK, - write: xK, - placed: kK, - bounds: OK, - drawnBounds: Ld, - rect: Ld, - selectionBounds: Ld, +const ea = { + read: Rq, + write: Fq, + placed: jq, + bounds: zq, + drawnBounds: Dd, + rect: Dd, + selectionBounds: Dd, oriented: () => !0, - turnedCorners: NK, - pivot: Xl, - translate: nC, - rotateAbout: oC, - scaleAbout: MK, - upright: EK, - handles: CK, - drag: IK, - painted: TK, - scene: RK + turnedCorners: Vq, + pivot: Jl, + translate: RC, + rotateAbout: LC, + scaleAbout: Wq, + upright: Uq, + handles: Kq, + drag: qq, + painted: Gq, + scene: Yq }; -function LK(e) { +function Qq(e) { return { kind: "quads", quadPoints: e.quadPoints }; } -const Xm = (e) => pt(e.quadPoints.flatMap(KM)), n2 = (e, { strokeWidth: t }) => Ha(Xm(e), t / 2); -function jK(e) { - const t = e.quadPoints.flatMap(KM), n = t.length || 1; +const ab = (e) => ft(e.quadPoints.flatMap(vE)), b2 = (e, { strokeWidth: t }) => va(ab(e), t / 2); +function Xq(e) { + const t = e.quadPoints.flatMap(vE), n = t.length || 1; return { x: t.reduce((o, r) => o + r.x, 0) / n, y: t.reduce((o, r) => o + r.y, 0) / n }; } -const FK = (e, t) => ({ +const Zq = (e, t) => ({ upperLeft: t(e.upperLeft), upperRight: t(e.upperRight), lowerLeft: t(e.lowerLeft), lowerRight: t(e.lowerRight) }); -function DK(e, t) { +function Jq(e, t) { const n = (o) => ({ x: o.x + t.x, y: o.y + t.y }); - return { ...e, quadPoints: e.quadPoints.map((o) => FK(o, n)) }; + return { ...e, quadPoints: e.quadPoints.map((o) => Zq(o, n)) }; } -const $K = (e) => e.quadPoints.map((t) => ({ kind: "poly", points: xp(t), closed: !0 })), Va = { - read: LK, +const eH = (e) => e.quadPoints.map((t) => ({ kind: "poly", points: Pp(t), closed: !0 })), Hi = { + read: Qq, write: (e) => ({ quadPoints: e.quadPoints }), // Quads are made from a text selection, never placed. placed: () => null, - bounds: Xm, - drawnBounds: n2, - rect: n2, - selectionBounds: Xm, + bounds: ab, + drawnBounds: b2, + rect: b2, + selectionBounds: ab, oriented: () => !1, turnedCorners: () => null, - pivot: jK, - translate: DK, + pivot: Xq, + translate: Jq, rotateAbout: (e) => e, scaleAbout: (e) => e, upright: (e) => e, handles: () => [], drag: (e) => e, // Each quad is filled: a highlight's colour, or the text a mark covers. - painted: (e) => e.quadPoints.map((t) => ({ kind: "area", ring: xp(t) })), - scene: $K + painted: (e) => e.quadPoints.map((t) => ({ kind: "area", ring: Pp(t) })), + scene: eH }; -function BK(e) { +function tH(e) { return e.kind !== "box" ? null : { kind: "text-box", box: e.rect, @@ -25001,7 +25618,7 @@ function BK(e) { lineEnding: null }; } -function zK(e) { +function nH(e) { const t = e, n = t.intent === "free-text-callout" ? t.calloutLine ?? null : null; return { kind: "text-box", @@ -25011,156 +25628,156 @@ function zK(e) { lineEnding: n ? t.lineEnding ?? "none" : null }; } -function WK(e) { +function oH(e) { return { box: e.box, rotation: e.rotation || null, ...e.calloutLine ? { calloutLine: e.calloutLine, lineEnding: e.lineEnding ?? "none" } : {} }; } -function o2(e, t, n = 0) { - const o = _t(e), r = n ? ft(t, o, -n) : t, s = r.x - o.x, i = r.y - o.y, a = Math.abs(s) >= Math.abs(i) ? { x: s >= 0 ? e.x + e.width : e.x, y: o.y } : { x: o.x, y: i >= 0 ? e.y + e.height : e.y }; - return n ? ft(a, o, n) : a; +function y2(e, t, n = 0) { + const o = Rt(e), r = n ? ht(t, o, -n) : t, s = r.x - o.x, a = r.y - o.y, i = Math.abs(s) >= Math.abs(a) ? { x: s >= 0 ? e.x + e.width : e.x, y: o.y } : { x: o.x, y: a >= 0 ? e.y + e.height : e.y }; + return n ? ht(i, o, n) : i; } -const rC = (e, t, n) => n ? [t, n, o2(e.box, n, e.rotation)] : [t, o2(e.box, t, e.rotation)]; -function sC(e, t, n, o, r) { +const jC = (e, t, n) => n ? [t, n, y2(e.box, n, e.rotation)] : [t, y2(e.box, t, e.rotation)]; +function FC(e, t, n, o, r) { const s = { box: e, rotation: t }; - return { kind: "text-box", ...s, calloutLine: rC(s, n, o), lineEnding: r }; + return { kind: "text-box", ...s, calloutLine: jC(s, n, o), lineEnding: r }; } -function jd(e) { +function $d(e) { const t = e.calloutLine; - return t ? { ...e, calloutLine: rC(e, t[0], t.length === 3 ? t[1] : void 0) } : e; + return t ? { ...e, calloutLine: jC(e, t[0], t.length === 3 ? t[1] : void 0) } : e; } -function UK(e, t) { - const n = w0(e, t), o = e.calloutLine; +function rH(e, t) { + const n = N0(e, t), o = e.calloutLine; if (!o) return n; const r = (s) => ({ x: s.x + t.x, y: s.y + t.y }); return { ...n, calloutLine: o.map(r) }; } -function KK(e, t, n) { - return e.calloutLine ? e : KE(e, t, n); +function sH(e, t, n) { + return e.calloutLine ? e : xC(e, t, n); } -function qK(e, t, n, o, r) { - return e.calloutLine ? e : v0(e, t, n, o, r); +function aH(e, t, n, o, r) { + return e.calloutLine ? e : T0(e, t, n, o, r); } -function HK(e) { - return jd({ ...e, rotation: 0 }); +function iH(e) { + return $d({ ...e, rotation: 0 }); } -function VK(e) { - const t = qE(e), n = e.calloutLine; +function cH(e) { + const t = AC(e), n = e.calloutLine; return n && (t.push({ id: "callout-tip", at: n[0], cursor: "crosshair" }), n.length === 3 && t.push({ id: "callout-knee", at: n[1], cursor: "crosshair" })), t; } -function GK(e, t, n) { +function lH(e, t, n) { const o = e.calloutLine; - return o && t === "callout-tip" ? jd({ + return o && t === "callout-tip" ? $d({ ...e, calloutLine: o.length === 3 ? [n, o[1], o[2]] : [n, o[1]] - }) : o && t === "callout-knee" ? o.length === 3 ? jd({ ...e, calloutLine: [o[0], n, o[2]] }) : e : jd(HE(e, t, n)); + }) : o && t === "callout-knee" ? o.length === 3 ? $d({ ...e, calloutLine: [o[0], n, o[2]] }) : e : $d(SC(e, t, n)); } -const Lp = (e) => Math.atan2(e[0].y - e[1].y, e[0].x - e[1].x); -function YK(e, { strokeWidth: t }) { +const $p = (e) => Math.atan2(e[0].y - e[1].y, e[0].x - e[1].x); +function uH(e, { strokeWidth: t }) { const n = e.calloutLine; if (!n) return e.box; - const o = [...ls(e), ...n]; - return e.lineEnding && o.push(...Gm(n[0], Lp(n), e.lineEnding, t)), Ha(pt(o), t / 2); + const o = [...us(e), ...n]; + return e.lineEnding && o.push(...ob(n[0], $p(n), e.lineEnding, t)), va(ft(o), t / 2); } -function iC(e, { strokeWidth: t }) { - const n = Ip(e.box, e.rotation), o = e.calloutLine; +function DC(e, { strokeWidth: t }) { + const n = Rp(e.box, e.rotation), o = e.calloutLine; if (!o) return n; - const r = o[o.length - 1], s = o[o.length - 2], i = Math.hypot(r.x - s.x, r.y - s.y) || 1, a = t / 2 / i, l = [ + const r = o[o.length - 1], s = o[o.length - 2], a = Math.hypot(r.x - s.x, r.y - s.y) || 1, i = t / 2 / a, l = [ { kind: "poly", points: [ ...o.slice(0, -1), - { x: r.x + (r.x - s.x) * a, y: r.y + (r.y - s.y) * a } + { x: r.x + (r.x - s.x) * i, y: r.y + (r.y - s.y) * i } ], closed: !1 }, - ...us(o[0], Lp(o), e.lineEnding ?? void 0, t) + ...ds(o[0], $p(o), e.lineEnding ?? void 0, t) ]; - return pt([...xo(n), ...S0(l, t)]); + return ft([...ao(n), ...F0(l, t)]); } -function QK(e, t) { - return e.calloutLine ? iC(e, t) : e.box; +function dH(e, t) { + return e.calloutLine ? DC(e, t) : e.box; } -function XK(e, { strokeWidth: t }) { - const n = k0(ls(e)), o = e.calloutLine; +function fH(e, { strokeWidth: t }) { + const n = R0(us(e)), o = e.calloutLine; if (!o) return n; n.push({ kind: "stroke", points: o, closed: !1, halfWidth: t / 2 }); - const r = us(o[0], Lp(o), e.lineEnding ?? void 0, t); - return [...n, ...x0(r, t)]; + const r = ds(o[0], $p(o), e.lineEnding ?? void 0, t); + return [...n, ...L0(r, t)]; } -function ZK(e, { strokeWidth: t }) { +function pH(e, { strokeWidth: t }) { const n = [], o = e.calloutLine; if (o) { - const i = [...o], a = i[i.length - 1], c = i[i.length - 2], l = Math.hypot(a.x - c.x, a.y - c.y); - t > 0 && l > 0 && (i[i.length - 1] = { - x: a.x + (a.x - c.x) / l * (t / 2), - y: a.y + (a.y - c.y) / l * (t / 2) - }), n.push({ kind: "poly", points: i, closed: !1 }), e.lineEnding && n.push(...us(o[0], Lp(o), e.lineEnding, t)); + const a = [...o], i = a[a.length - 1], c = a[a.length - 2], l = Math.hypot(i.x - c.x, i.y - c.y); + t > 0 && l > 0 && (a[a.length - 1] = { + x: i.x + (i.x - c.x) / l * (t / 2), + y: i.y + (i.y - c.y) / l * (t / 2) + }), n.push({ kind: "poly", points: a, closed: !1 }), e.lineEnding && n.push(...ds(o[0], $p(o), e.lineEnding, t)); } - const r = g0(e.box, t / 2); + const r = E0(e.box, t / 2); if (!o || !e.rotation) return n.push({ kind: "rect", rect: r }), n; - const s = _t(e.box); + const s = Rt(e.box); return n.push({ kind: "poly", - points: xo(r).map((i) => ft(i, s, e.rotation)), + points: ao(r).map((a) => ht(a, s, e.rotation)), closed: !0 }), n; } -const E0 = { - read: zK, - write: WK, - placed: BK, +const W0 = { + read: nH, + write: oH, + placed: tH, bounds: (e) => e.box, - drawnBounds: YK, - rect: iC, - selectionBounds: QK, + drawnBounds: uH, + rect: DC, + selectionBounds: dH, oriented: (e) => !e.calloutLine, - turnedCorners: (e) => e.calloutLine ? null : ls(e), - pivot: (e) => _t(e.box), - translate: UK, - rotateAbout: KK, - scaleAbout: qK, - upright: HK, - handles: VK, - drag: GK, + turnedCorners: (e) => e.calloutLine ? null : us(e), + pivot: (e) => Rt(e.box), + translate: rH, + rotateAbout: sH, + scaleAbout: aH, + upright: iH, + handles: cH, + drag: lH, // A text box is hit anywhere in its box, filled or not. - painted: (e, t) => XK(e, t), - scene: ZK + painted: (e, t) => fH(e, t), + scene: pH }; -function JK(e) { +function hH(e) { return 2 * Math.max(0, e); } -const eq = { - box: un, - caret: ZE, - "text-box": E0, - quads: Va, - line: Zs, - poly: Zs, - ink: Zs -}, Ze = (e) => eq[e.kind]; -function tq(e) { +const gH = { + box: hn, + caret: IC, + "text-box": W0, + quads: Hi, + line: ea, + poly: ea, + ink: ea +}, et = (e) => gH[e.kind]; +function mH(e) { return { read: (t) => e(t).read(t), - write: (t, n) => Ze(t).write(t, n), + write: (t, n) => et(t).write(t, n), placed: (t, n) => e(n).placed(t, n), - bounds: (t) => Ze(t).bounds(t), - drawnBounds: (t, n) => Ze(t).drawnBounds(t, n), - rect: (t, n) => Ze(t).rect(t, n), - selectionBounds: (t, n) => Ze(t).selectionBounds(t, n), - oriented: (t) => Ze(t).oriented(t), - turnedCorners: (t, n) => Ze(t).turnedCorners(t, n), - pivot: (t) => Ze(t).pivot(t), - translate: (t, n) => Ze(t).translate(t, n), - rotateAbout: (t, n, o) => Ze(t).rotateAbout(t, n, o), - scaleAbout: (t, n, o, r, s) => Ze(t).scaleAbout(t, n, o, r, s), - upright: (t, n) => Ze(t).upright(t, n), - handles: (t) => Ze(t).handles(t), - drag: (t, n, o) => Ze(t).drag(t, n, o), - painted: (t, n, o) => Ze(t).painted(t, n, o), - scene: (t, n) => Ze(t).scene(t, n) - }; -} -const Kt = { + bounds: (t) => et(t).bounds(t), + drawnBounds: (t, n) => et(t).drawnBounds(t, n), + rect: (t, n) => et(t).rect(t, n), + selectionBounds: (t, n) => et(t).selectionBounds(t, n), + oriented: (t) => et(t).oriented(t), + turnedCorners: (t, n) => et(t).turnedCorners(t, n), + pivot: (t) => et(t).pivot(t), + translate: (t, n) => et(t).translate(t, n), + rotateAbout: (t, n, o) => et(t).rotateAbout(t, n, o), + scaleAbout: (t, n, o, r, s) => et(t).scaleAbout(t, n, o, r, s), + upright: (t, n) => et(t).upright(t, n), + handles: (t) => et(t).handles(t), + drag: (t, n, o) => et(t).drag(t, n, o), + painted: (t, n, o) => et(t).painted(t, n, o), + scene: (t, n) => et(t).scene(t, n) + }; +} +const Qt = { selectable: !1, movable: !1, resizable: !1, @@ -25182,7 +25799,7 @@ const Kt = { ignoresReadOnly: !1, noZoom: !1, noRotate: !1 -}, vt = (e) => e, Yo = { +}, kt = (e) => e, Qo = { key: "opacity", control: "number", label: "Opacity", @@ -25190,24 +25807,24 @@ const Kt = { min: 0.1, max: 1, step: 0.05 -}, aC = { +}, $C = { key: "color", control: "color", label: "Stroke", labelKey: "annotation.style.stroke", allowsNone: !0 -}, C0 = { +}, U0 = { key: "interiorColor", control: "color", label: "Fill", labelKey: "annotation.style.fill", allowsNone: !0 -}, Zl = { +}, eu = { key: "color", control: "color", label: "Color", labelKey: "annotation.style.color" -}, I0 = { +}, K0 = { key: "strokeWidth", control: "number", label: "Stroke width", @@ -25215,33 +25832,33 @@ const Kt = { min: 0.5, max: 30, step: 0.5 -}, cC = { +}, BC = { value: "solid", label: "Solid", labelKey: "annotation.borderStyles.solid" -}, lC = { +}, zC = { value: "dashed", label: "Dashed", labelKey: "annotation.borderStyles.dashed" -}, nq = { +}, bH = { value: "cloudy", label: "Cloudy", labelKey: "annotation.borderStyles.cloudy" -}, oq = { +}, yH = { key: "borderStyle", control: "choice", label: "Border", labelKey: "annotation.style.border", - options: [cC, lC, nq], + options: [BC, zC, bH], cloudy: !0 -}, uC = { +}, WC = { key: "borderStyle", control: "choice", label: "Border", labelKey: "annotation.style.border", - options: [cC, lC], + options: [BC, zC], cloudy: !1 -}, rq = [ +}, wH = [ { value: "none", label: "None", labelKey: "annotation.lineEndings.none" }, { value: "square", label: "Square", labelKey: "annotation.lineEndings.square" }, { value: "circle", label: "Circle", labelKey: "annotation.lineEndings.circle" }, @@ -25260,13 +25877,13 @@ const Kt = { labelKey: "annotation.lineEndings.reverseClosedArrow" }, { value: "slash", label: "Slash", labelKey: "annotation.lineEndings.slash" } -], sq = { +], vH = { key: "lineEndings", control: "choice", label: "Line endings", labelKey: "annotation.style.lineEndings", - options: rq -}, iq = [ + options: wH +}, kH = [ { value: "normal", label: "Normal", labelKey: "annotation.blendModes.normal" }, { value: "multiply", label: "Multiply", labelKey: "annotation.blendModes.multiply" }, { value: "screen", label: "Screen", labelKey: "annotation.blendModes.screen" }, @@ -25283,13 +25900,13 @@ const Kt = { { value: "saturation", label: "Saturation", labelKey: "annotation.blendModes.saturation" }, { value: "color", label: "Color", labelKey: "annotation.blendModes.color" }, { value: "luminosity", label: "Luminosity", labelKey: "annotation.blendModes.luminosity" } -], dC = { +], UC = { key: "blendMode", control: "choice", label: "Blend mode", labelKey: "annotation.style.blendMode", - options: iq -}, aq = [ + options: kH +}, xH = [ { value: "courier", label: "Courier", labelKey: "annotation.fonts.courier" }, { value: "courier-bold", label: "Courier Bold", labelKey: "annotation.fonts.courierBold" }, { @@ -25324,13 +25941,13 @@ const Kt = { { value: "times-italic", label: "Times Italic", labelKey: "annotation.fonts.timesItalic" }, { value: "symbol", label: "Symbol", labelKey: "annotation.fonts.symbol" }, { value: "zapf-dingbats", label: "Zapf Dingbats", labelKey: "annotation.fonts.zapfDingbats" } -], _0 = { +], q0 = { key: "fontFamily", control: "choice", label: "Font", labelKey: "annotation.style.font", - options: aq -}, N0 = { + options: xH +}, H0 = { key: "textAlign", control: "choice", label: "Align", @@ -25345,22 +25962,22 @@ const Kt = { control: "link", label: "Link", labelKey: "annotation.style.link" -}, T0 = [ - aC, - C0, - Yo, - I0, - oq, +}, V0 = [ + $C, + U0, + Qo, + K0, + yH, ws -], fC = [ - aC, - C0, - Yo, - I0, - uC, - sq, +], KC = [ + $C, + U0, + Qo, + K0, + WC, + vH, ws -], jp = [Zl, Yo, dC, ws], cq = [ +], Bp = [eu, Qo, UC, ws], AH = [ { key: "print", control: "flag", label: "Print", labelKey: "annotation.flags.print" }, { key: "hidden", control: "flag", label: "Hidden", labelKey: "annotation.flags.hidden" }, { key: "noView", control: "flag", label: "No view", labelKey: "annotation.flags.noView" }, @@ -25381,7 +25998,7 @@ const Kt = { { key: "noZoom", control: "flag", label: "No zoom", labelKey: "annotation.flags.noZoom" }, { key: "noRotate", control: "flag", label: "No rotate", labelKey: "annotation.flags.noRotate" }, { key: "invisible", control: "flag", label: "Invisible", labelKey: "annotation.flags.invisible" } -], lq = [ +], SH = [ { value: "highlight", label: "Highlight", labelKey: "annotation.highlight" }, { value: "underline", label: "Underline", labelKey: "annotation.underline" }, { value: "squiggly", label: "Squiggly", labelKey: "annotation.squiggly" }, @@ -25389,16 +26006,16 @@ const Kt = { { value: "square", label: "Square", labelKey: "annotation.square" }, { value: "circle", label: "Circle", labelKey: "annotation.circle" } ]; -function uq(e) { +function OH(e) { return { key: "subtype", control: "choice", label: "Type", labelKey: "annotation.style.kind", - options: lq.filter((t) => e.includes(t.value)) + options: SH.filter((t) => e.includes(t.value)) }; } -const Fp = { borderStyle: "solid", dashArray: null, cloudyIntensity: null }; +const zp = { borderStyle: "solid", dashArray: null, cloudyIntensity: null }; function vs(e) { const t = e; return { @@ -25412,7 +26029,7 @@ function vs(e) { cloudyIntensity: "cloudyIntensity" in t && t.cloudyIntensity || null }; } -const Dp = (e) => (t) => { +const Wp = (e) => (t) => { const n = t; return { color: n.color, @@ -25420,10 +26037,10 @@ const Dp = (e) => (t) => { strokeWidth: e, opacity: n.opacity, blendMode: n.blendMode, - ...Fp + ...zp }; -}, $p = Dp(0), dq = Dp(1), fq = Dp(1.5), pC = Dp(1); -function pq(e) { +}, Up = Wp(0), PH = Wp(1), MH = Wp(1.5), qC = Wp(1); +function EH(e) { const t = e; return { color: "#444444", @@ -25431,10 +26048,10 @@ function pq(e) { strokeWidth: 1, opacity: t.opacity, blendMode: t.blendMode, - ...Fp + ...zp }; } -function wi(e) { +function ka(e) { const t = e; return { color: t.color ?? "#1a1a1a", @@ -25442,41 +26059,41 @@ function wi(e) { strokeWidth: t.strokeWidth, opacity: 1, blendMode: t.blendMode, - ...Fp, + ...zp, // Only a widget draws an underline border; a box drawn for it (a tool's // ghost) shows it solid. borderStyle: t.borderStyle === "underline" ? "solid" : t.borderStyle }; } -function hC(e) { +function HC(e) { return { color: "#444444", interiorColor: null, strokeWidth: 1, opacity: 1, blendMode: e.blendMode, - ...Fp + ...zp }; } -function es(e) { +function ts(e) { return e.blendMode === "normal" ? void 0 : e.blendMode; } -function gC(e) { +function VC(e) { if (!(e.cloudyIntensity || e.borderStyle !== "dashed")) return e.dashArray?.length ? e.dashArray : [3, 3]; } -const r2 = vt({ +const w2 = kt({ name: "caret", - family: ZE, - style: dq, - caps: { ...Kt, selectable: !0, anchored: !0, commentable: !0 }, - properties: [Zl, Yo] -}), s2 = vt({ + family: IC, + style: PH, + caps: { ...Qt, selectable: !0, anchored: !0, commentable: !0 }, + properties: [eu, Qo] +}), v2 = kt({ name: "circle", - family: un, + family: hn, style: vs, caps: { - ...Kt, + ...Qt, selectable: !0, movable: !0, resizable: !0, @@ -25488,18 +26105,18 @@ const r2 = vt({ hasFill: !0, hasCloudy: !0 }, - properties: T0 -}), hq = [ + properties: V0 +}), CH = [ { value: "push-pin", label: "Push pin", labelKey: "annotation.attachmentIcons.pushPin" }, { value: "paperclip", label: "Paperclip", labelKey: "annotation.attachmentIcons.paperclip" }, { value: "graph", label: "Graph", labelKey: "annotation.attachmentIcons.graph" }, { value: "tag", label: "Tag", labelKey: "annotation.attachmentIcons.tag" } -], i2 = vt({ +], k2 = kt({ name: "file-attachment", - family: un, - style: pC, + family: hn, + style: qC, caps: { - ...Kt, + ...Qt, selectable: !0, movable: !0, groupMovable: !0, @@ -25514,13 +26131,13 @@ const r2 = vt({ control: "choice", label: "Icon", labelKey: "annotation.style.icon", - options: hq + options: CH }, - Zl, - Yo + eu, + Qo ] }); -function mC(e) { +function GC(e) { const t = e, n = t.richText?.body; return { fontFamily: t.fontFamily, @@ -25532,7 +26149,7 @@ function mC(e) { ...n?.decoration.includes("underline") ? { underline: !0 } : {} }; } -function R0(e) { +function G0(e) { const t = e; return { fontFamily: t.fontFamily ?? "helvetica", @@ -25541,7 +26158,7 @@ function R0(e) { textAlign: t.textAlign }; } -function gq(e) { +function IH(e) { const t = e; return { fontFamily: t.fontFamily, @@ -25550,8 +26167,8 @@ function gq(e) { textAlign: t.textAlign }; } -const bC = { - ...Kt, +const YC = { + ...Qt, selectable: !0, movable: !0, resizable: !0, @@ -25563,8 +26180,8 @@ const bC = { commentable: !0, hasFill: !0 // `/C`, the box's background -}, yC = [ - _0, +}, QC = [ + q0, { key: "fontSize", control: "number", @@ -25601,8 +26218,8 @@ const bC = { labelKey: "annotation.style.underline", format: "underline" }, - N0, - Yo, + H0, + Qo, { key: "interiorColor", control: "color", @@ -25621,32 +26238,32 @@ const bC = { step: 0.5 }, ws -], a2 = vt({ +], x2 = kt({ name: "free-text", - family: E0, + family: W0, style: vs, - text: mC, - caps: bC, - properties: yC -}), c2 = vt({ + text: GC, + caps: YC, + properties: QC +}), A2 = kt({ name: "free-text-callout", - family: E0, + family: W0, style: vs, - text: mC, - caps: { ...bC, rotatable: !1, groupResizable: !1, groupRotatable: !1 }, - properties: yC -}), l2 = vt({ + text: GC, + caps: { ...YC, rotatable: !1, groupResizable: !1, groupRotatable: !1 }, + properties: QC +}), S2 = kt({ name: "highlight", - family: Va, - style: $p, - caps: { ...Kt, paintsBeneath: !0, selectable: !0, anchored: !0, commentable: !0 }, - properties: jp -}), u2 = vt({ + family: Hi, + style: Up, + caps: { ...Qt, paintsBeneath: !0, selectable: !0, anchored: !0, commentable: !0 }, + properties: Bp +}), O2 = kt({ name: "ink", - family: Zs, + family: ea, style: vs, caps: { - ...Kt, + ...Qt, selectable: !0, movable: !0, rotatable: !0, @@ -25655,13 +26272,13 @@ const bC = { groupRotatable: !0, commentable: !0 }, - properties: [Zl, Yo, I0, dC, ws] -}), d2 = vt({ + properties: [eu, Qo, K0, UC, ws] +}), P2 = kt({ name: "line", - family: Zs, + family: ea, style: vs, caps: { - ...Kt, + ...Qt, selectable: !0, movable: !0, vertexEditable: !0, @@ -25672,13 +26289,13 @@ const bC = { commentable: !0, hasEndings: !0 }, - properties: fC -}), f2 = vt({ + properties: KC +}), M2 = kt({ name: "link", - family: un, - style: hC, + family: hn, + style: HC, caps: { - ...Kt, + ...Qt, selectable: !0, movable: !0, resizable: !0, @@ -25687,12 +26304,12 @@ const bC = { rasterOnly: !0 }, properties: [ws] -}), p2 = vt({ +}), E2 = kt({ name: "polygon", - family: Zs, + family: ea, style: vs, caps: { - ...Kt, + ...Qt, selectable: !0, movable: !0, vertexEditable: !0, @@ -25704,13 +26321,13 @@ const bC = { hasFill: !0, hasCloudy: !0 }, - properties: T0 -}), h2 = vt({ + properties: V0 +}), C2 = kt({ name: "polyline", - family: Zs, + family: ea, style: vs, caps: { - ...Kt, + ...Qt, selectable: !0, movable: !0, vertexEditable: !0, @@ -25721,16 +26338,16 @@ const bC = { commentable: !0, hasEndings: !0 }, - properties: fC -}), mq = tq( - (e) => e.subtype === "redact" && e.quadPoints.length > 0 ? Va : un -), g2 = vt({ + properties: KC +}), _H = mH( + (e) => e.subtype === "redact" && e.quadPoints.length > 0 ? Hi : hn +), I2 = kt({ name: "redact", - family: mq, - style: fq, - text: gq, + family: _H, + style: MH, + text: IH, caps: { - ...Kt, + ...Qt, paintsBeneath: !0, selectable: !0, movable: !0, @@ -25741,10 +26358,10 @@ const bC = { }, properties: [ { key: "color", control: "color", label: "Outline", labelKey: "annotation.style.outline" }, - C0, - Yo, + U0, + Qo, { key: "overlayText", control: "text", label: "Label", labelKey: "annotation.style.label" }, - { ..._0, label: "Label font", labelKey: "annotation.style.labelFont" }, + { ...q0, label: "Label font", labelKey: "annotation.style.labelFont" }, { key: "fontSize", control: "number", @@ -25760,14 +26377,14 @@ const bC = { label: "Label color", labelKey: "annotation.style.labelColor" }, - N0 + H0 ] -}), m2 = vt({ +}), _2 = kt({ name: "square", - family: un, + family: hn, style: vs, caps: { - ...Kt, + ...Qt, selectable: !0, movable: !0, resizable: !0, @@ -25779,19 +26396,19 @@ const bC = { hasFill: !0, hasCloudy: !0 }, - properties: T0 -}), b2 = vt({ + properties: V0 +}), N2 = kt({ name: "squiggly", - family: Va, - style: $p, - caps: { ...Kt, paintsBeneath: !0, selectable: !0, anchored: !0, commentable: !0 }, - properties: jp -}), y2 = vt({ + family: Hi, + style: Up, + caps: { ...Qt, paintsBeneath: !0, selectable: !0, anchored: !0, commentable: !0 }, + properties: Bp +}), T2 = kt({ name: "stamp", - family: un, - style: pq, + family: hn, + style: EH, caps: { - ...Kt, + ...Qt, selectable: !0, movable: !0, resizable: !0, @@ -25803,14 +26420,14 @@ const bC = { opaqueBody: !0, rasterOnly: !0 }, - properties: [Yo, ws] -}), w2 = vt({ + properties: [Qo, ws] +}), R2 = kt({ name: "strikeout", - family: Va, - style: $p, - caps: { ...Kt, paintsBeneath: !0, selectable: !0, anchored: !0, commentable: !0 }, - properties: jp -}), bq = [ + family: Hi, + style: Up, + caps: { ...Qt, paintsBeneath: !0, selectable: !0, anchored: !0, commentable: !0 }, + properties: Bp +}), NH = [ { value: "comment", label: "Comment", labelKey: "annotation.noteIcons.comment" }, { value: "key", label: "Key", labelKey: "annotation.noteIcons.key" }, { value: "note", label: "Note", labelKey: "annotation.noteIcons.note" }, @@ -25822,12 +26439,12 @@ const bC = { }, { value: "paragraph", label: "Paragraph", labelKey: "annotation.noteIcons.paragraph" }, { value: "insert", label: "Insert", labelKey: "annotation.noteIcons.insert" } -], v2 = vt({ +], L2 = kt({ name: "text", - family: un, - style: pC, + family: hn, + style: qC, caps: { - ...Kt, + ...Qt, selectable: !0, movable: !0, groupMovable: !0, @@ -25843,20 +26460,20 @@ const bC = { control: "choice", label: "Icon", labelKey: "annotation.style.icon", - options: bq + options: NH }, - Zl, - Yo, + eu, + Qo, ws ] -}), k2 = vt({ +}), j2 = kt({ name: "underline", - family: Va, - style: $p, - caps: { ...Kt, paintsBeneath: !0, selectable: !0, anchored: !0, commentable: !0 }, - properties: jp -}), vi = { - ...Kt, + family: Hi, + style: Up, + caps: { ...Qt, paintsBeneath: !0, selectable: !0, anchored: !0, commentable: !0 }, + properties: Bp +}), xa = { + ...Qt, selectable: !0, movable: !0, resizable: !0, @@ -25865,7 +26482,7 @@ const bC = { opaqueBody: !0, rasterOnly: !0, ignoresReadOnly: !0 -}, Bp = [ +}, Kp = [ { key: "color", control: "color", @@ -25889,10 +26506,10 @@ const bC = { max: 12, step: 0.5 }, - { ...uC, label: "Border style", labelKey: "annotation.style.borderStyle" } -], L0 = [ - ...Bp, - _0, + { ...WC, label: "Border style", labelKey: "annotation.style.borderStyle" } +], Y0 = [ + ...Kp, + q0, { key: "fontSize", control: "number", @@ -25908,216 +26525,216 @@ const bC = { label: "Text color", labelKey: "annotation.style.textColor" }, - { ...N0, label: "Alignment", labelKey: "annotation.style.alignment" } -], Pf = vt({ + { ...H0, label: "Alignment", labelKey: "annotation.style.alignment" } +], Pf = kt({ name: "widget-text", - family: un, - style: wi, - text: R0, - caps: vi, - properties: L0 -}), kl = vt({ + family: hn, + style: ka, + text: G0, + caps: xa, + properties: Y0 +}), kl = kt({ name: "widget-choice", - family: un, - style: wi, - text: R0, - caps: vi, - properties: L0 -}), Of = vt({ + family: hn, + style: ka, + text: G0, + caps: xa, + properties: Y0 +}), Mf = kt({ name: "widget-button", - family: un, - style: wi, - text: R0, - caps: vi, - properties: L0 -}), Mf = vt({ + family: hn, + style: ka, + text: G0, + caps: xa, + properties: Y0 +}), Ef = kt({ name: "widget-toggle", - family: un, - style: wi, - caps: vi, - properties: Bp -}), Ef = vt({ + family: hn, + style: ka, + caps: xa, + properties: Kp +}), Cf = kt({ name: "widget-radio", - family: un, - style: wi, - caps: vi, - properties: Bp -}), Cf = vt({ + family: hn, + style: ka, + caps: xa, + properties: Kp +}), If = kt({ name: "widget-box", - family: un, - style: wi, - caps: vi, - properties: Bp -}), Zm = vt({ + family: hn, + style: ka, + caps: xa, + properties: Kp +}), ib = kt({ name: "widget-mark", - family: un, - style: wi, - caps: vi, + family: hn, + style: ka, + caps: xa, properties: [] -}), yq = { +}), TH = { text: Pf.name, combobox: kl.name, listbox: kl.name, - pushbutton: Of.name, - checkbox: Mf.name, - radio: Ef.name -}, wq = (e) => e.hasMark ? Zm.name : yq[e.fieldKind] ?? Cf.name, vq = { + pushbutton: Mf.name, + checkbox: Ef.name, + radio: Cf.name +}, RH = (e) => e.hasMark ? ib.name : TH[e.fieldKind] ?? If.name, LH = { [Pf.name]: "text", [kl.name]: "combobox", - [Of.name]: "pushbutton", - [Mf.name]: "checkbox", - [Ef.name]: "radio", - [Cf.name]: "signature" -}, kq = (e) => vq[e], xq = { - [m2.name]: m2, - [s2.name]: s2, - [d2.name]: d2, - [p2.name]: p2, - [h2.name]: h2, - [u2.name]: u2, - [a2.name]: a2, - [c2.name]: c2, - [l2.name]: l2, - [k2.name]: k2, - [b2.name]: b2, - [w2.name]: w2, - [r2.name]: r2, - [g2.name]: g2, + [Mf.name]: "pushbutton", + [Ef.name]: "checkbox", + [Cf.name]: "radio", + [If.name]: "signature" +}, jH = (e) => LH[e], FH = { + [_2.name]: _2, [v2.name]: v2, - [i2.name]: i2, - [y2.name]: y2, - [f2.name]: f2, + [P2.name]: P2, + [E2.name]: E2, + [C2.name]: C2, + [O2.name]: O2, + [x2.name]: x2, + [A2.name]: A2, + [S2.name]: S2, + [j2.name]: j2, + [N2.name]: N2, + [R2.name]: R2, + [w2.name]: w2, + [I2.name]: I2, + [L2.name]: L2, + [k2.name]: k2, + [T2.name]: T2, + [M2.name]: M2, [Pf.name]: Pf, [kl.name]: kl, - [Of.name]: Of, [Mf.name]: Mf, [Ef.name]: Ef, [Cf.name]: Cf, - [Zm.name]: Zm -}, x2 = /* @__PURE__ */ new Map(); -function Fd(e) { - const t = xq[e]; + [If.name]: If, + [ib.name]: ib +}, F2 = /* @__PURE__ */ new Map(); +function Bd(e) { + const t = FH[e]; if (t) return t; - let n = x2.get(e); + let n = F2.get(e); return n || (n = { name: e, - family: un, - style: hC, - caps: { ...Kt, rasterOnly: !0 }, + family: hn, + style: HC, + caps: { ...Qt, rasterOnly: !0 }, properties: [] - }, x2.set(e, n)), n; + }, F2.set(e, n)), n; } -function mt(e) { +function yt(e) { switch (e.subtype) { case "widget": - return Fd(wq(e)); + return Bd(RH(e)); case "free-text": - return Fd( + return Bd( e.intent === "free-text-callout" ? "free-text-callout" : "free-text" ); default: - return Fd(e.subtype); + return Bd(e.subtype); } } -const Ct = (e) => e?.annotation.ref ?? null, ii = (e) => e.reply?.type === "group" ? ie(e.reply.to) : void 0, Aq = { ...i5, print: !0 }, Sq = Object.keys(i5), Pq = (e) => e.invisible && e.subtype === "unsupported" && e.rawSubtypeCode === x4.UNKNOWN && e.rawSubtypeName !== "Projection", j0 = (e, t = !1) => !e.hidden && !Pq(e) && (!e.noView || e.toggleNoView && t), Oq = (e) => !e.hidden && !e.noView && !e.readOnly, zp = (e) => mt(e.annotation).caps.ignoresReadOnly ? !e.annotation.hidden && !e.annotation.noView : Oq(e.annotation), Wp = (e) => zp(e) && !e.annotation.locked && (e.authority?.update ?? !0), wC = (e) => zp(e) && !e.annotation.locked && (e.authority?.delete ?? !0), Up = (e) => zp(e) && !e.annotation.lockedContents && (e.authority?.update ?? !0), Mq = /* @__PURE__ */ new Set(["contents", "richText"]); -function vC(e, t) { - return Sq.includes(t) ? e.authority?.update ?? !0 : Mq.has(t) ? Up(e) : Wp(e); +const Nt = (e) => e?.annotation.ref ?? null, ca = (e) => e.reply?.type === "group" ? Y(e.reply.to) : void 0, DH = { ...P5, print: !0 }, $H = Object.keys(P5), BH = (e) => e.invisible && e.subtype === "unsupported" && e.rawSubtypeCode === EL.UNKNOWN && e.rawSubtypeName !== "Projection", Q0 = (e, t = !1) => !e.hidden && !BH(e) && (!e.noView || e.toggleNoView && t), zH = (e) => !e.hidden && !e.noView && !e.readOnly, qp = (e) => yt(e.annotation).caps.ignoresReadOnly ? !e.annotation.hidden && !e.annotation.noView : zH(e.annotation), Hp = (e) => qp(e) && !e.annotation.locked && (e.authority?.update ?? !0), XC = (e) => qp(e) && !e.annotation.locked && (e.authority?.delete ?? !0), Vp = (e) => qp(e) && !e.annotation.lockedContents && (e.authority?.update ?? !0), WH = /* @__PURE__ */ new Set(["contents", "richText"]); +function ZC(e, t) { + return $H.includes(t) ? e.authority?.update ?? !0 : WH.has(t) ? Vp(e) : Hp(e); } -function Eq(e) { +function UH(e) { const { intent: t } = e; - return va(e) ? t : e.subtype; + return wi(e) ? t : e.subtype; } function ks(e, t) { const { editable: n } = e; - return typeof n == "boolean" ? n : n.includes(Eq(t)); + return typeof n == "boolean" ? n : n.includes(UH(t)); } -const Qo = (e, t) => Wp(t) && ks(e, t.annotation), Cq = (e, t) => wC(t) && ks(e, t.annotation), kC = (e, t) => Up(t) && ks(e, t.annotation), A2 = (e) => typeof e == "string" && e !== ""; -function Iq(e) { +const Xo = (e, t) => Hp(t) && ks(e, t.annotation), KH = (e, t) => XC(t) && ks(e, t.annotation), JC = (e, t) => Vp(t) && ks(e, t.annotation), D2 = (e) => typeof e == "string" && e !== ""; +function qH(e) { const t = e.annotation; - return t.reply && t.reply.type !== "group" || t.subtype === "text" && (A2(t.state) || A2(t.stateModel)) ? !0 : t.subtype === "popup"; + return t.reply && t.reply.type !== "group" || t.subtype === "text" && (D2(t.state) || D2(t.stateModel)) ? !0 : t.subtype === "popup"; } -function Kp(e) { +function Gp(e) { return e.annotation.subtype === "link" && e.annotation.reply?.type === "group"; } -function F0(e) { - return Iq(e) || Kp(e); +function X0(e) { + return qH(e) || Gp(e); } -const qp = 24, _q = { +const Yp = 24, HH = { handleTol: 6, knobTol: 6, - knobOffset: qp + knobOffset: Yp }; -function kn(e) { +function On(e) { return e.kind === "quads" ? 0 : e.rotation; } -const Nq = (e) => Ze(e).pivot(e), Tq = (e) => Ze(e).oriented(e); -function Jl(e, t, n) { - return n === 0 ? e : Ze(e).rotateAbout(e, t, n); +const VH = (e) => et(e).pivot(e), GH = (e) => et(e).oriented(e); +function tu(e, t, n) { + return n === 0 ? e : et(e).rotateAbout(e, t, n); } -const D0 = (e) => Qt(-e); -function Rq(e, t, n, o) { - const r = Qt(o), s = r === 90 ? { x: e.x + n / 2, y: e.y - t / 2 } : r === 180 ? { x: e.x - t / 2, y: e.y - n / 2 } : r === 270 ? { x: e.x - n / 2, y: e.y + t / 2 } : { x: e.x + t / 2, y: e.y + n / 2 }; +const Z0 = (e) => tn(-e); +function YH(e, t, n, o) { + const r = tn(o), s = r === 90 ? { x: e.x + n / 2, y: e.y - t / 2 } : r === 180 ? { x: e.x - t / 2, y: e.y - n / 2 } : r === 270 ? { x: e.x - n / 2, y: e.y + t / 2 } : { x: e.x + t / 2, y: e.y + n / 2 }; return { x: s.x - t / 2, y: s.y - n / 2, width: t, height: n }; } -const S2 = (e, t, n) => Math.max(t, Math.min(n, e)); -function $0(e, t, n, o) { - const r = WM(Qt(o) ?? 0), s = r ? t.height : t.width, i = r ? t.width : t.height, a = Math.min(1, s > 0 ? n.width / s : 1, i > 0 ? n.height / i : 1), c = t.width * a, l = t.height * a, u = r ? l : c, f = r ? c : l, d = S2(e.x, u / 2, n.width - u / 2), p = S2(e.y, f / 2, n.height - f / 2); +const $2 = (e, t, n) => Math.max(t, Math.min(n, e)); +function J0(e, t, n, o) { + const r = yE(tn(o) ?? 0), s = r ? t.height : t.width, a = r ? t.width : t.height, i = Math.min(1, s > 0 ? n.width / s : 1, a > 0 ? n.height / a : 1), c = t.width * i, l = t.height * i, u = r ? l : c, f = r ? c : l, d = $2(e.x, u / 2, n.width - u / 2), p = $2(e.y, f / 2, n.height - f / 2); return { x: d - c / 2, y: p - l / 2, width: c, height: l }; } -function Lq(e, t) { - return kn(e) ? Ze(e).upright(e, t) : e; +function QH(e, t) { + return On(e) ? et(e).upright(e, t) : e; } -function jq(e, t) { - const n = Ze(e).turnedCorners(e, t); - return n ? { corners: n, angle: kn(e) } : null; +function XH(e, t) { + const n = et(e).turnedCorners(e, t); + return n ? { corners: n, angle: On(e) } : null; } -function xC(e) { - return EE.map((t) => ({ +function eI(e) { + return aC.map((t) => ({ id: t, - at: Cp(e, t), - cursor: AU[t] + at: Tp(e, t), + cursor: DK[t] })); } -function AC(e, t) { - return Cp(e, NE[t] ?? "nw"); +function tI(e, t) { + return Tp(e, uC[t] ?? "nw"); } -function Fq(e, t, n, o) { - const r = qm(e, t, n); +function ZH(e, t, n, o) { + const r = eb(e, t, n); if (!o) return r; - const s = e.width > 0 ? r.width / e.width : 1, i = e.height > 0 ? r.height / e.height : 1, a = Math.max(bl / Math.max(e.width, e.height, 1), Math.max(s, i)), c = AC(e, t); + const s = e.width > 0 ? r.width / e.width : 1, a = e.height > 0 ? r.height / e.height : 1, i = Math.max(bl / Math.max(e.width, e.height, 1), Math.max(s, a)), c = tI(e, t); return { - x: c.x + (e.x - c.x) * a, - y: c.y + (e.y - c.y) * a, - width: e.width * a, - height: e.height * a + x: c.x + (e.x - c.x) * i, + y: c.y + (e.y - c.y) * i, + width: e.width * i, + height: e.height * i }; } -function SC(e, t) { +function nI(e, t) { return { sx: e.width > 0 ? t.width / e.width : 1, sy: e.height > 0 ? t.height / e.height : 1 }; } -function Hp(e, t, n, o, r) { - return Ze(e).scaleAbout(e, t, n, o, r); +function Qp(e, t, n, o, r) { + return et(e).scaleAbout(e, t, n, o, r); } -function Dq(e, t) { - const [n, o, , r] = e, s = { x: (n.x + o.x) / 2, y: (n.y + o.y) / 2 }, i = { x: r.x - n.x, y: r.y - n.y }, a = Math.hypot(i.x, i.y) || 1, c = { x: -i.x / a, y: -i.y / a }; +function JH(e, t) { + const [n, o, , r] = e, s = { x: (n.x + o.x) / 2, y: (n.y + o.y) / 2 }, a = { x: r.x - n.x, y: r.y - n.y }, i = Math.hypot(a.x, a.y) || 1, c = { x: -a.x / i, y: -a.y / i }; return { at: { x: s.x + c.x * t, y: s.y + c.y * t }, from: s }; } -const P2 = (e, t) => t.x >= e.x && t.x <= e.x + e.width && t.y >= e.y && t.y <= e.y + e.height; -function $q(e, t, n) { - const o = { x: Math.cos(n * Sf), y: Math.sin(n * Sf) }; +const B2 = (e, t) => t.x >= e.x && t.x <= e.x + e.width && t.y >= e.y && t.y <= e.y + e.height; +function eV(e, t, n) { + const o = { x: Math.cos(n * Of), y: Math.sin(n * Of) }; let r = -1 / 0, s = 1 / 0; - for (const [i, a, c, l] of [ + for (const [a, i, c, l] of [ [o.x, t.x, e.x, e.x + e.width], [o.y, t.y, e.y, e.y + e.height] ]) { - if (Math.abs(i) < 1e-12) { - if (a < c || a > l) return null; + if (Math.abs(a) < 1e-12) { + if (i < c || i > l) return null; continue; } - const u = (c - a) / i, f = (l - a) / i; + const u = (c - i) / a, f = (l - i) / a; r = Math.max(r, Math.min(u, f)), s = Math.min(s, Math.max(u, f)); } return r >= s || !Number.isFinite(r) || !Number.isFinite(s) ? null : { @@ -26125,14 +26742,14 @@ function $q(e, t, n) { b: { x: t.x + o.x * s, y: t.y + o.y * s } }; } -function If(e, t, n) { - const o = Dq(e, t); - if (!n || P2(n, o.at)) return o; - const [r, , s, i] = e, a = { x: (i.x + s.x) / 2, y: (i.y + s.y) / 2 }, c = { x: i.x - r.x, y: i.y - r.y }, l = Math.hypot(c.x, c.y) || 1, u = { - x: a.x + c.x / l * t, - y: a.y + c.y / l * t +function _f(e, t, n) { + const o = JH(e, t); + if (!n || B2(n, o.at)) return o; + const [r, , s, a] = e, i = { x: (a.x + s.x) / 2, y: (a.y + s.y) / 2 }, c = { x: a.x - r.x, y: a.y - r.y }, l = Math.hypot(c.x, c.y) || 1, u = { + x: i.x + c.x / l * t, + y: i.y + c.y / l * t }; - return P2(n, u) ? { at: u, from: a } : { + return B2(n, u) ? { at: u, from: i } : { at: { x: Math.min(Math.max(o.at.x, n.x), n.x + n.width), y: Math.min(Math.max(o.at.y, n.y), n.y + n.height) @@ -26140,61 +26757,61 @@ function If(e, t, n) { from: o.from }; } -const Oc = (e, t) => Ze(e).drawnBounds(e, t), Bq = (e, t) => Ze(e).selectionBounds(e, t); -function Ga(e, t) { - const n = jq(e, t); - return n ? n.corners : xo(Bq(e, t)); +const Oc = (e, t) => et(e).drawnBounds(e, t), tV = (e, t) => et(e).selectionBounds(e, t); +function Vi(e, t) { + const n = XH(e, t); + return n ? n.corners : ao(tV(e, t)); } -const zq = (e, t) => Ql(e, t), PC = (e) => Ze(e).bounds(e), O2 = /* @__PURE__ */ new WeakMap(); -function Wq(e, t, n) { +const nV = (e, t) => Zl(e, t), oI = (e) => et(e).bounds(e), z2 = /* @__PURE__ */ new WeakMap(); +function oV(e, t, n) { const o = { strokeWidth: t.strokeWidth, cloudyIntensity: t.cloudyIntensity ?? null - }, r = O2.get(e); + }, r = z2.get(e); if (r?.filled === n && r.stroke.strokeWidth === o.strokeWidth && r.stroke.cloudyIntensity === o.cloudyIntensity) return r.pieces; - const s = Ze(e).painted(e, o, n); - return O2.set(e, { stroke: o, filled: n, pieces: s }), s; + const s = et(e).painted(e, o, n); + return z2.set(e, { stroke: o, filled: n, pieces: s }), s; } -const B0 = (e) => Ze(e).handles(e), z0 = (e, t) => Ze(e).translate(e, t), Uq = (e, t, n) => Ze(e).drag(e, t, n), M2 = (e, t) => Ze(e).scene(e, t); -function Kq(e, t) { +const ew = (e) => et(e).handles(e), tw = (e, t) => et(e).translate(e, t), rV = (e, t, n) => et(e).drag(e, t, n), W2 = (e, t) => et(e).scene(e, t); +function sV(e, t) { const n = e.annotation.subtype, o = t.subtype; - return typeof o != "string" || o === n ? n : vC(e, "subtype") && g5(e.annotation, o) ? o : n; + return typeof o != "string" || o === n ? n : ZC(e, "subtype") && L5(e.annotation, o) ? o : n; } -function ai(e, t) { - const n = Kq(e, t), o = Fa[n], r = n === e.annotation.subtype ? {} : { subtype: n }; - for (const [a, c] of Object.entries(t)) - c === void 0 || a === "subtype" || !o.includes(a) || vC(e, a) && (r[a] = c); +function la(e, t) { + const n = sV(e, t), o = ji[n], r = n === e.annotation.subtype ? {} : { subtype: n }; + for (const [i, c] of Object.entries(t)) + c === void 0 || i === "subtype" || !o.includes(i) || ZC(e, i) && (r[i] = c); if (!Object.keys(r).length) return e; - const s = YR(e.annotation, { + const s = z8(e.annotation, { ...r, subtype: n - }), i = b4(e.annotation, s); - return Object.keys(ul(e.annotation, i)).length ? { ...e, annotation: i } : e; + }), a = AL(e.annotation, s); + return Object.keys(ll(e.annotation, a)).length ? { ...e, annotation: a } : e; } -const E2 = /* @__PURE__ */ new WeakMap(); -function gt(e) { - let t = E2.get(e); - return t || (t = mt(e).family.read(e), E2.set(e, t)), t; +const U2 = /* @__PURE__ */ new WeakMap(); +function bt(e) { + let t = U2.get(e); + return t || (t = yt(e).family.read(e), U2.set(e, t)), t; } -const $s = (e, t) => ai(e, Ze(t).write(t, e.annotation.subtype)), C2 = /* @__PURE__ */ new WeakMap(); -function Wt(e) { - let t = C2.get(e); - return t || (t = mt(e).style(e), C2.set(e, t)), t; +const $s = (e, t) => la(e, et(t).write(t, e.annotation.subtype)), K2 = /* @__PURE__ */ new WeakMap(); +function Vt(e) { + let t = K2.get(e); + return t || (t = yt(e).style(e), K2.set(e, t)), t; } -const bg = /* @__PURE__ */ new WeakMap(); -function ki(e) { - if (bg.has(e)) return bg.get(e); - const t = mt(e).text?.(e); - return bg.set(e, t), t; +const xg = /* @__PURE__ */ new WeakMap(); +function Aa(e) { + if (xg.has(e)) return xg.get(e); + const t = yt(e).text?.(e); + return xg.set(e, t), t; } -function qq(e, t) { - return e.kind === "quads" ? e.quadPoints.map(l0) : e.kind === "text-box" ? [Ip(e.box, e.rotation)] : [pt(Ga(e, t))]; +function aV(e, t) { + return e.kind === "quads" ? e.quadPoints.map(x0) : e.kind === "text-box" ? [Rp(e.box, e.rotation)] : [ft(Vi(e, t))]; } -function W0(e) { +function nw(e) { return e && (e.kind === "goto" || e.kind === "uri") ? e : null; } -function Hq() { +function iV() { var e = (function(t) { var n = { R: "13k,1a,2,3,3,2+1j,ch+16,a+1,5+2,2+n,5,a,4,6+16,4+3,h+1b,4mo,179q,2+9,2+11,2i9+7y,2+68,4,3+4,5+13,4+3,2+4k,3+29,8+cf,1t+7z,w+17,3+3m,1t+3z,16o1+5r,8+30,8+mc,29+1r,29+4v,75+73", @@ -26220,440 +26837,440 @@ function Hq() { FSI: "6eg", PDI: "6eh" }, o = {}, r = {}; - o.L = 1, r[1] = "L", Object.keys(n).forEach(function(D, ce) { - o[D] = 1 << ce + 1, r[o[D]] = D; + o.L = 1, r[1] = "L", Object.keys(n).forEach(function(W, ce) { + o[W] = 1 << ce + 1, r[o[W]] = W; }), Object.freeze(o); - var s = o.LRI | o.RLI | o.FSI, i = o.L | o.R | o.AL, a = o.B | o.S | o.WS | o.ON | o.FSI | o.LRI | o.RLI | o.PDI, c = o.BN | o.RLE | o.LRE | o.RLO | o.LRO | o.PDF, l = o.S | o.WS | o.B | s | o.PDI | c, u = null; + var s = o.LRI | o.RLI | o.FSI, a = o.L | o.R | o.AL, i = o.B | o.S | o.WS | o.ON | o.FSI | o.LRI | o.RLI | o.PDI, c = o.BN | o.RLE | o.LRE | o.RLO | o.LRO | o.PDF, l = o.S | o.WS | o.B | s | o.PDI | c, u = null; function f() { if (!u) { u = /* @__PURE__ */ new Map(); - var D = 0; + var W = 0; for (var ce in n) if (n.hasOwnProperty(ce)) - for (var ae = n[ce], Q = "", fe = void 0, de = !1, le = 0, ye = 0; ye <= ae.length + 1; ye += 1) { - var Ae = ae[ye]; - if (Ae !== "," && ye !== ae.length) - Ae === "+" ? (de = !0, le = D = le + parseInt(Q, 36), Q = "") : Q += Ae; + for (var ie = n[ce], ee = "", fe = void 0, de = !1, ue = 0, we = 0; we <= ie.length + 1; we += 1) { + var Oe = ie[we]; + if (Oe !== "," && we !== ie.length) + Oe === "+" ? (de = !0, ue = W = ue + parseInt(ee, 36), ee = "") : ee += Oe; else { - de ? fe = D + parseInt(Q, 36) : (le = D = le + parseInt(Q, 36), fe = D), de = !1, Q = "", le = fe; - for (var Ue = D; Ue < fe + 1; Ue += 1) - u.set(Ue, o[ce]); + de ? fe = W + parseInt(ee, 36) : (ue = W = ue + parseInt(ee, 36), fe = W), de = !1, ee = "", ue = fe; + for (var Ke = W; Ke < fe + 1; Ke += 1) + u.set(Ke, o[ce]); } } } } - function d(D) { - return f(), u.get(D.codePointAt(0)) || o.L; + function d(W) { + return f(), u.get(W.codePointAt(0)) || o.L; } - function p(D) { - return r[d(D)]; + function p(W) { + return r[d(W)]; } - var h = { + var g = { pairs: "14>1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1", canonical: "6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye" }; - function g(D, ce) { - var ae = 36, Q = 0, fe = /* @__PURE__ */ new Map(), de = ce && /* @__PURE__ */ new Map(), le; - return D.split(",").forEach(function ye(Ae) { - if (Ae.indexOf("+") !== -1) - for (var Ue = +Ae; Ue--; ) - ye(le); + function h(W, ce) { + var ie = 36, ee = 0, fe = /* @__PURE__ */ new Map(), de = ce && /* @__PURE__ */ new Map(), ue; + return W.split(",").forEach(function we(Oe) { + if (Oe.indexOf("+") !== -1) + for (var Ke = +Oe; Ke--; ) + we(ue); else { - le = Ae; - var ze = Ae.split(">"), lt = ze[0], X = ze[1]; - lt = String.fromCodePoint(Q += parseInt(lt, ae)), X = String.fromCodePoint(Q += parseInt(X, ae)), fe.set(lt, X), ce && de.set(X, lt); + ue = Oe; + var ze = Oe.split(">"), ut = ze[0], Xt = ze[1]; + ut = String.fromCodePoint(ee += parseInt(ut, ie)), Xt = String.fromCodePoint(ee += parseInt(Xt, ie)), fe.set(ut, Xt), ce && de.set(Xt, ut); } }), { map: fe, reverseMap: de }; } - var m, M, x; - function S() { + var m, O, E; + function P() { if (!m) { - var D = g(h.pairs, !0), ce = D.map, ae = D.reverseMap; - m = ce, M = ae, x = g(h.canonical, !1).map; + var W = h(g.pairs, !0), ce = W.map, ie = W.reverseMap; + m = ce, O = ie, E = h(g.canonical, !1).map; } } - function P(D) { - return S(), m.get(D) || null; + function k(W) { + return P(), m.get(W) || null; } - function k(D) { - return S(), M.get(D) || null; + function A(W) { + return P(), O.get(W) || null; } - function A(D) { - return S(), x.get(D) || null; + function w(W) { + return P(), E.get(W) || null; } - var y = o.L, w = o.R, O = o.EN, b = o.ES, v = o.ET, E = o.AN, I = o.CS, T = o.B, _ = o.S, N = o.ON, F = o.BN, R = o.NSM, j = o.AL, B = o.LRO, W = o.RLO, $ = o.LRE, K = o.RLE, ee = o.PDF, J = o.LRI, ue = o.RLI, be = o.FSI, we = o.PDI; - function Oe(D, ce) { - for (var ae = 125, Q = new Uint32Array(D.length), fe = 0; fe < D.length; fe++) - Q[fe] = d(D[fe]); + var b = o.L, v = o.R, x = o.EN, y = o.ES, M = o.ET, S = o.AN, C = o.CS, N = o.B, _ = o.S, T = o.ON, $ = o.BN, j = o.NSM, z = o.AL, L = o.LRO, D = o.RLO, F = o.LRE, B = o.RLE, V = o.PDF, Q = o.LRI, le = o.RLI, pe = o.FSI, me = o.PDI; + function Ae(W, ce) { + for (var ie = 125, ee = new Uint32Array(W.length), fe = 0; fe < W.length; fe++) + ee[fe] = d(W[fe]); var de = /* @__PURE__ */ new Map(); - function le(Sn, ao) { - var Pn = Q[Sn]; - Q[Sn] = ao, de.set(Pn, de.get(Pn) - 1), Pn & a && de.set(a, de.get(a) - 1), de.set(ao, (de.get(ao) || 0) + 1), ao & a && de.set(a, (de.get(a) || 0) + 1); - } - for (var ye = new Uint8Array(D.length), Ae = /* @__PURE__ */ new Map(), Ue = [], ze = null, lt = 0; lt < D.length; lt++) - ze || Ue.push(ze = { - start: lt, - end: D.length - 1, + function ue(Mn, co) { + var En = ee[Mn]; + ee[Mn] = co, de.set(En, de.get(En) - 1), En & i && de.set(i, de.get(i) - 1), de.set(co, (de.get(co) || 0) + 1), co & i && de.set(i, (de.get(i) || 0) + 1); + } + for (var we = new Uint8Array(W.length), Oe = /* @__PURE__ */ new Map(), Ke = [], ze = null, ut = 0; ut < W.length; ut++) + ze || Ke.push(ze = { + start: ut, + end: W.length - 1, // 3.3.1 P2-P3: Determine the paragraph level - level: ce === "rtl" ? 1 : ce === "ltr" ? 0 : Dv(lt, !1) - }), Q[lt] & T && (ze.end = lt, ze = null); - for (var X = K | $ | W | B | s | we | ee | T, pe = function(Sn) { - return Sn + (Sn & 1 ? 1 : 2); - }, Ie = function(Sn) { - return Sn + (Sn & 1 ? 2 : 1); - }, dt = 0; dt < Ue.length; dt++) { - ze = Ue[dt]; - var qe = [{ + level: ce === "rtl" ? 1 : ce === "ltr" ? 0 : Jv(ut, !1) + }), ee[ut] & N && (ze.end = ut, ze = null); + for (var Xt = B | F | D | L | s | me | V | N, Z = function(Mn) { + return Mn + (Mn & 1 ? 1 : 2); + }, he = function(Mn) { + return Mn + (Mn & 1 ? 2 : 1); + }, Ne = 0; Ne < Ke.length; Ne++) { + ze = Ke[Ne]; + var Le = [{ _level: ze.level, _override: 0, //0=neutral, 1=L, 2=R _isolate: 0 //bool - }], et = void 0, qt = 0, An = 0, _r = 0; + }], Xe = void 0, Ft = 0, nn = 0, Tr = 0; de.clear(); - for (var Tt = ze.start; Tt <= ze.end; Tt++) { - var Rt = Q[Tt]; - if (et = qe[qe.length - 1], de.set(Rt, (de.get(Rt) || 0) + 1), Rt & a && de.set(a, (de.get(a) || 0) + 1), Rt & X) - if (Rt & (K | $)) { - ye[Tt] = et._level; - var Za = (Rt === K ? Ie : pe)(et._level); - Za <= ae && !qt && !An ? qe.push({ - _level: Za, + for (var Ot = ze.start; Ot <= ze.end; Ot++) { + var Dt = ee[Ot]; + if (Xe = Le[Le.length - 1], de.set(Dt, (de.get(Dt) || 0) + 1), Dt & i && de.set(i, (de.get(i) || 0) + 1), Dt & Xt) + if (Dt & (B | F)) { + we[Ot] = Xe._level; + var Xi = (Dt === B ? he : Z)(Xe._level); + Xi <= ie && !Ft && !nn ? Le.push({ + _level: Xi, _override: 0, _isolate: 0 - }) : qt || An++; - } else if (Rt & (W | B)) { - ye[Tt] = et._level; - var fu = (Rt === W ? Ie : pe)(et._level); - fu <= ae && !qt && !An ? qe.push({ - _level: fu, - _override: Rt & W ? w : y, + }) : Ft || nn++; + } else if (Dt & (D | L)) { + we[Ot] = Xe._level; + var gu = (Dt === D ? he : Z)(Xe._level); + gu <= ie && !Ft && !nn ? Le.push({ + _level: gu, + _override: Dt & D ? v : b, _isolate: 0 - }) : qt || An++; - } else if (Rt & s) { - Rt & be && (Rt = Dv(Tt + 1, !0) === 1 ? ue : J), ye[Tt] = et._level, et._override && le(Tt, et._override); - var Ja = (Rt === ue ? Ie : pe)(et._level); - Ja <= ae && qt === 0 && An === 0 ? (_r++, qe.push({ - _level: Ja, + }) : Ft || nn++; + } else if (Dt & s) { + Dt & pe && (Dt = Jv(Ot + 1, !0) === 1 ? le : Q), we[Ot] = Xe._level, Xe._override && ue(Ot, Xe._override); + var Zi = (Dt === le ? he : Z)(Xe._level); + Zi <= ie && Ft === 0 && nn === 0 ? (Tr++, Le.push({ + _level: Zi, _override: 0, _isolate: 1, - _isolInitIndex: Tt - })) : qt++; - } else if (Rt & we) { - if (qt > 0) - qt--; - else if (_r > 0) { - for (An = 0; !qe[qe.length - 1]._isolate; ) - qe.pop(); - var Ss = qe[qe.length - 1]._isolInitIndex; - Ss != null && (Ae.set(Ss, Tt), Ae.set(Tt, Ss)), qe.pop(), _r--; + _isolInitIndex: Ot + })) : Ft++; + } else if (Dt & me) { + if (Ft > 0) + Ft--; + else if (Tr > 0) { + for (nn = 0; !Le[Le.length - 1]._isolate; ) + Le.pop(); + var Ss = Le[Le.length - 1]._isolInitIndex; + Ss != null && (Oe.set(Ss, Ot), Oe.set(Ot, Ss)), Le.pop(), Tr--; } - et = qe[qe.length - 1], ye[Tt] = et._level, et._override && le(Tt, et._override); - } else Rt & ee ? (qt === 0 && (An > 0 ? An-- : !et._isolate && qe.length > 1 && (qe.pop(), et = qe[qe.length - 1])), ye[Tt] = et._level) : Rt & T && (ye[Tt] = ze.level); + Xe = Le[Le.length - 1], we[Ot] = Xe._level, Xe._override && ue(Ot, Xe._override); + } else Dt & V ? (Ft === 0 && (nn > 0 ? nn-- : !Xe._isolate && Le.length > 1 && (Le.pop(), Xe = Le[Le.length - 1])), we[Ot] = Xe._level) : Dt & N && (we[Ot] = ze.level); else - ye[Tt] = et._level, et._override && Rt !== F && le(Tt, et._override); + we[Ot] = Xe._level, Xe._override && Dt !== $ && ue(Ot, Xe._override); } - for (var Un = [], dn = null, nr = ze.start; nr <= ze.end; nr++) { - var Ps = Q[nr]; - if (!(Ps & c)) { - var ec = ye[nr], L = Ps & s, z = Ps === we; - dn && ec === dn._level ? (dn._end = nr, dn._endsWithIsolInit = L) : Un.push(dn = { - _start: nr, - _end: nr, - _level: ec, - _startsWithPDI: z, - _endsWithIsolInit: L + for (var Wn = [], gn = null, or = ze.start; or <= ze.end; or++) { + var Os = ee[or]; + if (!(Os & c)) { + var Ji = we[or], R = Os & s, U = Os === me; + gn && Ji === gn._level ? (gn._end = or, gn._endsWithIsolInit = R) : Wn.push(gn = { + _start: or, + _end: or, + _level: Ji, + _startsWithPDI: U, + _endsWithIsolInit: R }); } } - for (var U = [], te = 0; te < Un.length; te++) { - var ne = Un[te]; - if (!ne._startsWithPDI || ne._startsWithPDI && !Ae.has(ne._start)) { - for (var se = [dn = ne], Fe = void 0; dn && dn._endsWithIsolInit && (Fe = Ae.get(dn._end)) != null; ) - for (var Pe = te + 1; Pe < Un.length; Pe++) - if (Un[Pe]._start === Fe) { - se.push(dn = Un[Pe]); + for (var K = [], oe = 0; oe < Wn.length; oe++) { + var re = Wn[oe]; + if (!re._startsWithPDI || re._startsWithPDI && !Oe.has(re._start)) { + for (var ne = [gn = re], De = void 0; gn && gn._endsWithIsolInit && (De = Oe.get(gn._end)) != null; ) + for (var Ie = oe + 1; Ie < Wn.length; Ie++) + if (Wn[Ie]._start === De) { + ne.push(gn = Wn[Ie]); break; } - for (var Ve = [], Ht = 0; Ht < se.length; Ht++) - for (var Lt = se[Ht], Kn = Lt._start; Kn <= Lt._end; Kn++) - Ve.push(Kn); - for (var _n = ye[Ve[0]], Nr = ze.level, Tr = Ve[0] - 1; Tr >= 0; Tr--) - if (!(Q[Tr] & c)) { - Nr = ye[Tr]; + for (var Je = [], $t = 0; $t < ne.length; $t++) + for (var Ve = ne[$t], Bt = Ve._start; Bt <= Ve._end; Bt++) + Je.push(Bt); + for (var on = we[Je[0]], Rr = ze.level, Lr = Je[0] - 1; Lr >= 0; Lr--) + if (!(ee[Lr] & c)) { + Rr = we[Lr]; break; } - var bh = Ve[Ve.length - 1], IN = ye[bh], vv = ze.level; - if (!(Q[bh] & s)) { - for (var pu = bh + 1; pu <= ze.end; pu++) - if (!(Q[pu] & c)) { - vv = ye[pu]; + var xh = Je[Je.length - 1], vT = we[xh], Lv = ze.level; + if (!(ee[xh] & s)) { + for (var mu = xh + 1; mu <= ze.end; mu++) + if (!(ee[mu] & c)) { + Lv = we[mu]; break; } } - U.push({ - _seqIndices: Ve, - _sosType: Math.max(Nr, _n) % 2 ? w : y, - _eosType: Math.max(vv, IN) % 2 ? w : y + K.push({ + _seqIndices: Je, + _sosType: Math.max(Rr, on) % 2 ? v : b, + _eosType: Math.max(Lv, vT) % 2 ? v : b }); } } - for (var yh = 0; yh < U.length; yh++) { - var wh = U[yh], _e = wh._seqIndices, tc = wh._sosType, _N = wh._eosType, Pi = ye[_e[0]] & 1 ? w : y; - if (de.get(R)) - for (var hu = 0; hu < _e.length; hu++) { - var kv = _e[hu]; - if (Q[kv] & R) { - for (var vh = tc, gu = hu - 1; gu >= 0; gu--) - if (!(Q[_e[gu]] & c)) { - vh = Q[_e[gu]]; + for (var Ah = 0; Ah < K.length; Ah++) { + var Sh = K[Ah], Ce = Sh._seqIndices, ec = Sh._sosType, kT = Sh._eosType, Ma = we[Ce[0]] & 1 ? v : b; + if (de.get(j)) + for (var bu = 0; bu < Ce.length; bu++) { + var jv = Ce[bu]; + if (ee[jv] & j) { + for (var Oh = ec, yu = bu - 1; yu >= 0; yu--) + if (!(ee[Ce[yu]] & c)) { + Oh = ee[Ce[yu]]; break; } - le(kv, vh & (s | we) ? N : vh); + ue(jv, Oh & (s | me) ? T : Oh); } } - if (de.get(O)) - for (var mu = 0; mu < _e.length; mu++) { - var xv = _e[mu]; - if (Q[xv] & O) - for (var bu = mu - 1; bu >= -1; bu--) { - var Av = bu === -1 ? tc : Q[_e[bu]]; - if (Av & i) { - Av === j && le(xv, E); + if (de.get(x)) + for (var wu = 0; wu < Ce.length; wu++) { + var Fv = Ce[wu]; + if (ee[Fv] & x) + for (var vu = wu - 1; vu >= -1; vu--) { + var Dv = vu === -1 ? ec : ee[Ce[vu]]; + if (Dv & a) { + Dv === z && ue(Fv, S); break; } } } - if (de.get(j)) - for (var kh = 0; kh < _e.length; kh++) { - var Sv = _e[kh]; - Q[Sv] & j && le(Sv, w); + if (de.get(z)) + for (var Ph = 0; Ph < Ce.length; Ph++) { + var $v = Ce[Ph]; + ee[$v] & z && ue($v, v); } - if (de.get(b) || de.get(I)) - for (var nc = 1; nc < _e.length - 1; nc++) { - var xh = _e[nc]; - if (Q[xh] & (b | I)) { - for (var Oi = 0, Ah = 0, Sh = nc - 1; Sh >= 0 && (Oi = Q[_e[Sh]], !!(Oi & c)); Sh--) + if (de.get(y) || de.get(C)) + for (var tc = 1; tc < Ce.length - 1; tc++) { + var Mh = Ce[tc]; + if (ee[Mh] & (y | C)) { + for (var Ea = 0, Eh = 0, Ch = tc - 1; Ch >= 0 && (Ea = ee[Ce[Ch]], !!(Ea & c)); Ch--) ; - for (var Ph = nc + 1; Ph < _e.length && (Ah = Q[_e[Ph]], !!(Ah & c)); Ph++) + for (var Ih = tc + 1; Ih < Ce.length && (Eh = ee[Ce[Ih]], !!(Eh & c)); Ih++) ; - Oi === Ah && (Q[xh] === b ? Oi === O : Oi & (O | E)) && le(xh, Oi); + Ea === Eh && (ee[Mh] === y ? Ea === x : Ea & (x | S)) && ue(Mh, Ea); } } - if (de.get(O)) - for (var So = 0; So < _e.length; So++) { - var NN = _e[So]; - if (Q[NN] & O) { - for (var yu = So - 1; yu >= 0 && Q[_e[yu]] & (v | c); yu--) - le(_e[yu], O); - for (So++; So < _e.length && Q[_e[So]] & (v | c | O); So++) - Q[_e[So]] !== O && le(_e[So], O); + if (de.get(x)) + for (var Ao = 0; Ao < Ce.length; Ao++) { + var xT = Ce[Ao]; + if (ee[xT] & x) { + for (var ku = Ao - 1; ku >= 0 && ee[Ce[ku]] & (M | c); ku--) + ue(Ce[ku], x); + for (Ao++; Ao < Ce.length && ee[Ce[Ao]] & (M | c | x); Ao++) + ee[Ce[Ao]] !== x && ue(Ce[Ao], x); } } - if (de.get(v) || de.get(b) || de.get(I)) - for (var oc = 0; oc < _e.length; oc++) { - var Pv = _e[oc]; - if (Q[Pv] & (v | b | I)) { - le(Pv, N); - for (var wu = oc - 1; wu >= 0 && Q[_e[wu]] & c; wu--) - le(_e[wu], N); - for (var vu = oc + 1; vu < _e.length && Q[_e[vu]] & c; vu++) - le(_e[vu], N); + if (de.get(M) || de.get(y) || de.get(C)) + for (var nc = 0; nc < Ce.length; nc++) { + var Bv = Ce[nc]; + if (ee[Bv] & (M | y | C)) { + ue(Bv, T); + for (var xu = nc - 1; xu >= 0 && ee[Ce[xu]] & c; xu--) + ue(Ce[xu], T); + for (var Au = nc + 1; Au < Ce.length && ee[Ce[Au]] & c; Au++) + ue(Ce[Au], T); } } - if (de.get(O)) - for (var Oh = 0, Ov = tc; Oh < _e.length; Oh++) { - var Mv = _e[Oh], Mh = Q[Mv]; - Mh & O ? Ov === y && le(Mv, y) : Mh & i && (Ov = Mh); + if (de.get(x)) + for (var _h = 0, zv = ec; _h < Ce.length; _h++) { + var Wv = Ce[_h], Nh = ee[Wv]; + Nh & x ? zv === b && ue(Wv, b) : Nh & a && (zv = Nh); } - if (de.get(a)) { - var rc = w | O | E, Ev = rc | y, ku = []; + if (de.get(i)) { + var oc = v | x | S, Uv = oc | b, Su = []; { - for (var Mi = [], Ei = 0; Ei < _e.length; Ei++) - if (Q[_e[Ei]] & a) { - var sc = D[_e[Ei]], Cv = void 0; - if (P(sc) !== null) - if (Mi.length < 63) - Mi.push({ char: sc, seqIndex: Ei }); + for (var Ca = [], Ia = 0; Ia < Ce.length; Ia++) + if (ee[Ce[Ia]] & i) { + var rc = W[Ce[Ia]], Kv = void 0; + if (k(rc) !== null) + if (Ca.length < 63) + Ca.push({ char: rc, seqIndex: Ia }); else break; - else if ((Cv = k(sc)) !== null) - for (var ic = Mi.length - 1; ic >= 0; ic--) { - var Eh = Mi[ic].char; - if (Eh === Cv || Eh === k(A(sc)) || P(A(Eh)) === sc) { - ku.push([Mi[ic].seqIndex, Ei]), Mi.length = ic; + else if ((Kv = A(rc)) !== null) + for (var sc = Ca.length - 1; sc >= 0; sc--) { + var Th = Ca[sc].char; + if (Th === Kv || Th === A(w(rc)) || k(w(Th)) === rc) { + Su.push([Ca[sc].seqIndex, Ia]), Ca.length = sc; break; } } } - ku.sort(function(Sn, ao) { - return Sn[0] - ao[0]; + Su.sort(function(Mn, co) { + return Mn[0] - co[0]; }); } - for (var Ch = 0; Ch < ku.length; Ch++) { - for (var Iv = ku[Ch], xu = Iv[0], Ih = Iv[1], _v = !1, io = 0, _h = xu + 1; _h < Ih; _h++) { - var Nv = _e[_h]; - if (Q[Nv] & Ev) { - _v = !0; - var Tv = Q[Nv] & rc ? w : y; - if (Tv === Pi) { - io = Tv; + for (var Rh = 0; Rh < Su.length; Rh++) { + for (var qv = Su[Rh], Ou = qv[0], Lh = qv[1], Hv = !1, io = 0, jh = Ou + 1; jh < Lh; jh++) { + var Vv = Ce[jh]; + if (ee[Vv] & Uv) { + Hv = !0; + var Gv = ee[Vv] & oc ? v : b; + if (Gv === Ma) { + io = Gv; break; } } } - if (_v && !io) { - io = tc; - for (var Nh = xu - 1; Nh >= 0; Nh--) { - var Rv = _e[Nh]; - if (Q[Rv] & Ev) { - var Lv = Q[Rv] & rc ? w : y; - Lv !== Pi ? io = Lv : io = Pi; + if (Hv && !io) { + io = ec; + for (var Fh = Ou - 1; Fh >= 0; Fh--) { + var Yv = Ce[Fh]; + if (ee[Yv] & Uv) { + var Qv = ee[Yv] & oc ? v : b; + Qv !== Ma ? io = Qv : io = Ma; break; } } } if (io) { - if (Q[_e[xu]] = Q[_e[Ih]] = io, io !== Pi) { - for (var ac = xu + 1; ac < _e.length; ac++) - if (!(Q[_e[ac]] & c)) { - d(D[_e[ac]]) & R && (Q[_e[ac]] = io); + if (ee[Ce[Ou]] = ee[Ce[Lh]] = io, io !== Ma) { + for (var ac = Ou + 1; ac < Ce.length; ac++) + if (!(ee[Ce[ac]] & c)) { + d(W[Ce[ac]]) & j && (ee[Ce[ac]] = io); break; } } - if (io !== Pi) { - for (var cc = Ih + 1; cc < _e.length; cc++) - if (!(Q[_e[cc]] & c)) { - d(D[_e[cc]]) & R && (Q[_e[cc]] = io); + if (io !== Ma) { + for (var ic = Lh + 1; ic < Ce.length; ic++) + if (!(ee[Ce[ic]] & c)) { + d(W[Ce[ic]]) & j && (ee[Ce[ic]] = io); break; } } } } - for (var Rr = 0; Rr < _e.length; Rr++) - if (Q[_e[Rr]] & a) { - for (var jv = Rr, Th = Rr, Rh = tc, lc = Rr - 1; lc >= 0; lc--) - if (Q[_e[lc]] & c) - jv = lc; + for (var jr = 0; jr < Ce.length; jr++) + if (ee[Ce[jr]] & i) { + for (var Xv = jr, Dh = jr, $h = ec, cc = jr - 1; cc >= 0; cc--) + if (ee[Ce[cc]] & c) + Xv = cc; else { - Rh = Q[_e[lc]] & rc ? w : y; + $h = ee[Ce[cc]] & oc ? v : b; break; } - for (var Fv = _N, uc = Rr + 1; uc < _e.length; uc++) - if (Q[_e[uc]] & (a | c)) - Th = uc; + for (var Zv = kT, lc = jr + 1; lc < Ce.length; lc++) + if (ee[Ce[lc]] & (i | c)) + Dh = lc; else { - Fv = Q[_e[uc]] & rc ? w : y; + Zv = ee[Ce[lc]] & oc ? v : b; break; } - for (var Lh = jv; Lh <= Th; Lh++) - Q[_e[Lh]] = Rh === Fv ? Rh : Pi; - Rr = Th; + for (var Bh = Xv; Bh <= Dh; Bh++) + ee[Ce[Bh]] = $h === Zv ? $h : Ma; + jr = Dh; } } } - for (var Nn = ze.start; Nn <= ze.end; Nn++) { - var TN = ye[Nn], Au = Q[Nn]; - if (TN & 1 ? Au & (y | O | E) && ye[Nn]++ : Au & w ? ye[Nn]++ : Au & (E | O) && (ye[Nn] += 2), Au & c && (ye[Nn] = Nn === 0 ? ze.level : ye[Nn - 1]), Nn === ze.end || d(D[Nn]) & (_ | T)) - for (var Su = Nn; Su >= 0 && d(D[Su]) & l; Su--) - ye[Su] = ze.level; + for (var Tn = ze.start; Tn <= ze.end; Tn++) { + var AT = we[Tn], Pu = ee[Tn]; + if (AT & 1 ? Pu & (b | x | S) && we[Tn]++ : Pu & v ? we[Tn]++ : Pu & (S | x) && (we[Tn] += 2), Pu & c && (we[Tn] = Tn === 0 ? ze.level : we[Tn - 1]), Tn === ze.end || d(W[Tn]) & (_ | N)) + for (var Mu = Tn; Mu >= 0 && d(W[Mu]) & l; Mu--) + we[Mu] = ze.level; } } return { - levels: ye, - paragraphs: Ue + levels: we, + paragraphs: Ke }; - function Dv(Sn, ao) { - for (var Pn = Sn; Pn < D.length; Pn++) { - var Lr = Q[Pn]; - if (Lr & (w | j)) + function Jv(Mn, co) { + for (var En = Mn; En < W.length; En++) { + var Fr = ee[En]; + if (Fr & (v | z)) return 1; - if (Lr & (T | y) || ao && Lr === we) + if (Fr & (N | b) || co && Fr === me) return 0; - if (Lr & s) { - var $v = RN(Pn); - Pn = $v === -1 ? D.length : $v; + if (Fr & s) { + var e1 = ST(En); + En = e1 === -1 ? W.length : e1; } } return 0; } - function RN(Sn) { - for (var ao = 1, Pn = Sn + 1; Pn < D.length; Pn++) { - var Lr = Q[Pn]; - if (Lr & T) + function ST(Mn) { + for (var co = 1, En = Mn + 1; En < W.length; En++) { + var Fr = ee[En]; + if (Fr & N) break; - if (Lr & we) { - if (--ao === 0) - return Pn; - } else Lr & s && ao++; + if (Fr & me) { + if (--co === 0) + return En; + } else Fr & s && co++; } return -1; } } - var Ce = "14>1,j>2,t>2,u>2,1a>g,2v3>1,1>1,1ge>1,1wd>1,b>1,1j>1,f>1,ai>3,-2>3,+1,8>1k0,-1jq>1y7,-1y6>1hf,-1he>1h6,-1h5>1ha,-1h8>1qi,-1pu>1,6>3u,-3s>7,6>1,1>1,f>1,1>1,+2,3>1,1>1,+13,4>1,1>1,6>1eo,-1ee>1,3>1mg,-1me>1mk,-1mj>1mi,-1mg>1mi,-1md>1,1>1,+2,1>10k,-103>1,1>1,4>1,5>1,1>1,+10,3>1,1>8,-7>8,+1,-6>7,+1,a>1,1>1,u>1,u6>1,1>1,+5,26>1,1>1,2>1,2>2,8>1,7>1,4>1,1>1,+5,b8>1,1>1,+3,1>3,-2>1,2>1,1>1,+2,c>1,3>1,1>1,+2,h>1,3>1,a>1,1>1,2>1,3>1,1>1,d>1,f>1,3>1,1a>1,1>1,6>1,7>1,13>1,k>1,1>1,+19,4>1,1>1,+2,2>1,1>1,+18,m>1,a>1,1>1,lk>1,1>1,4>1,2>1,f>1,3>1,1>1,+3,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,6>1,4j>1,j>2,t>2,u>2,2>1,+1", Me; - function V() { + var Pe = "14>1,j>2,t>2,u>2,1a>g,2v3>1,1>1,1ge>1,1wd>1,b>1,1j>1,f>1,ai>3,-2>3,+1,8>1k0,-1jq>1y7,-1y6>1hf,-1he>1h6,-1h5>1ha,-1h8>1qi,-1pu>1,6>3u,-3s>7,6>1,1>1,f>1,1>1,+2,3>1,1>1,+13,4>1,1>1,6>1eo,-1ee>1,3>1mg,-1me>1mk,-1mj>1mi,-1mg>1mi,-1md>1,1>1,+2,1>10k,-103>1,1>1,4>1,5>1,1>1,+10,3>1,1>8,-7>8,+1,-6>7,+1,a>1,1>1,u>1,u6>1,1>1,+5,26>1,1>1,2>1,2>2,8>1,7>1,4>1,1>1,+5,b8>1,1>1,+3,1>3,-2>1,2>1,1>1,+2,c>1,3>1,1>1,+2,h>1,3>1,a>1,1>1,2>1,3>1,1>1,d>1,f>1,3>1,1a>1,1>1,6>1,7>1,13>1,k>1,1>1,+19,4>1,1>1,+2,2>1,1>1,+18,m>1,a>1,1>1,lk>1,1>1,4>1,2>1,f>1,3>1,1>1,+3,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,6>1,4j>1,j>2,t>2,u>2,2>1,+1", Me; + function G() { if (!Me) { - var D = g(Ce, !0), ce = D.map, ae = D.reverseMap; - ae.forEach(function(Q, fe) { - ce.set(fe, Q); + var W = h(Pe, !0), ce = W.map, ie = W.reverseMap; + ie.forEach(function(ee, fe) { + ce.set(fe, ee); }), Me = ce; } } - function he(D) { - return V(), Me.get(D) || null; + function ge(W) { + return G(), Me.get(W) || null; } - function ve(D, ce, ae, Q) { - var fe = D.length; - ae = Math.max(0, ae == null ? 0 : +ae), Q = Math.min(fe - 1, Q == null ? fe - 1 : +Q); - for (var de = /* @__PURE__ */ new Map(), le = ae; le <= Q; le++) - if (ce[le] & 1) { - var ye = he(D[le]); - ye !== null && de.set(le, ye); + function ve(W, ce, ie, ee) { + var fe = W.length; + ie = Math.max(0, ie == null ? 0 : +ie), ee = Math.min(fe - 1, ee == null ? fe - 1 : +ee); + for (var de = /* @__PURE__ */ new Map(), ue = ie; ue <= ee; ue++) + if (ce[ue] & 1) { + var we = ge(W[ue]); + we !== null && de.set(ue, we); } return de; } - function je(D, ce, ae, Q) { - var fe = D.length; - ae = Math.max(0, ae == null ? 0 : +ae), Q = Math.min(fe - 1, Q == null ? fe - 1 : +Q); + function Te(W, ce, ie, ee) { + var fe = W.length; + ie = Math.max(0, ie == null ? 0 : +ie), ee = Math.min(fe - 1, ee == null ? fe - 1 : +ee); var de = []; - return ce.paragraphs.forEach(function(le) { - var ye = Math.max(ae, le.start), Ae = Math.min(Q, le.end); - if (ye < Ae) { - for (var Ue = ce.levels.slice(ye, Ae + 1), ze = Ae; ze >= ye && d(D[ze]) & l; ze--) - Ue[ze] = le.level; - for (var lt = le.level, X = 1 / 0, pe = 0; pe < Ue.length; pe++) { - var Ie = Ue[pe]; - Ie > lt && (lt = Ie), Ie < X && (X = Ie | 1); + return ce.paragraphs.forEach(function(ue) { + var we = Math.max(ie, ue.start), Oe = Math.min(ee, ue.end); + if (we < Oe) { + for (var Ke = ce.levels.slice(we, Oe + 1), ze = Oe; ze >= we && d(W[ze]) & l; ze--) + Ke[ze] = ue.level; + for (var ut = ue.level, Xt = 1 / 0, Z = 0; Z < Ke.length; Z++) { + var he = Ke[Z]; + he > ut && (ut = he), he < Xt && (Xt = he | 1); } - for (var dt = lt; dt >= X; dt--) - for (var qe = 0; qe < Ue.length; qe++) - if (Ue[qe] >= dt) { - for (var et = qe; qe + 1 < Ue.length && Ue[qe + 1] >= dt; ) - qe++; - qe > et && de.push([et + ye, qe + ye]); + for (var Ne = ut; Ne >= Xt; Ne--) + for (var Le = 0; Le < Ke.length; Le++) + if (Ke[Le] >= Ne) { + for (var Xe = Le; Le + 1 < Ke.length && Ke[Le + 1] >= Ne; ) + Le++; + Le > Xe && de.push([Xe + we, Le + we]); } } }), de; } - function G(D, ce, ae, Q) { - var fe = re(D, ce, ae, Q), de = [].concat(D); - return fe.forEach(function(le, ye) { - de[ye] = (ce.levels[le] & 1 ? he(D[le]) : null) || D[le]; + function X(W, ce, ie, ee) { + var fe = ae(W, ce, ie, ee), de = [].concat(W); + return fe.forEach(function(ue, we) { + de[we] = (ce.levels[ue] & 1 ? ge(W[ue]) : null) || W[ue]; }), de.join(""); } - function re(D, ce, ae, Q) { - for (var fe = je(D, ce, ae, Q), de = [], le = 0; le < D.length; le++) - de[le] = le; - return fe.forEach(function(ye) { - for (var Ae = ye[0], Ue = ye[1], ze = de.slice(Ae, Ue + 1), lt = ze.length; lt--; ) - de[Ue - lt] = ze[lt]; + function ae(W, ce, ie, ee) { + for (var fe = Te(W, ce, ie, ee), de = [], ue = 0; ue < W.length; ue++) + de[ue] = ue; + return fe.forEach(function(we) { + for (var Oe = we[0], Ke = we[1], ze = de.slice(Oe, Ke + 1), ut = ze.length; ut--; ) + de[Ke - ut] = ze[ut]; }), de; } - return t.closingToOpeningBracket = k, t.getBidiCharType = d, t.getBidiCharTypeName = p, t.getCanonicalBracket = A, t.getEmbeddingLevels = Oe, t.getMirroredCharacter = he, t.getMirroredCharactersMap = ve, t.getReorderSegments = je, t.getReorderedIndices = re, t.getReorderedString = G, t.openingToClosingBracket = P, Object.defineProperty(t, "__esModule", { value: !0 }), t; + return t.closingToOpeningBracket = A, t.getBidiCharType = d, t.getBidiCharTypeName = p, t.getCanonicalBracket = w, t.getEmbeddingLevels = Ae, t.getMirroredCharacter = ge, t.getMirroredCharactersMap = ve, t.getReorderSegments = Te, t.getReorderedIndices = ae, t.getReorderedString = X, t.openingToClosingBracket = k, Object.defineProperty(t, "__esModule", { value: !0 }), t; })({}); return e; } -const qn = [ +const Un = [ 32, 33, 34, @@ -26870,12 +27487,12 @@ const qn = [ 253, 254, 255 -], U0 = { +], ow = { courier: { ascent: 803, descent: -248, programHash: "955500bf0048e07e3046477b3874ef9e7653010a2bc780bbf27f837d7ca34d19", - codePoints: qn, + codePoints: Un, advances: [ 600, 600, @@ -27099,7 +27716,7 @@ const qn = [ ascent: 811, descent: -248, programHash: "386d8684b075c7ff4911235ae9691d5e9e924fff13fa1f17841c6d4d4f3762e6", - codePoints: qn, + codePoints: Un, advances: [ 600, 600, @@ -27323,7 +27940,7 @@ const qn = [ ascent: 811, descent: -248, programHash: "d1dae62980ea92bfa86f9e3961a3064e164e41a5064211f2a3a8833643a322a5", - codePoints: qn, + codePoints: Un, advances: [ 600, 600, @@ -27547,7 +28164,7 @@ const qn = [ ascent: 803, descent: -248, programHash: "d790f273acf84a1afada2cf96a6eb646728a1a6e7afe961a2cc846bb3a501b0b", - codePoints: qn, + codePoints: Un, advances: [ 600, 600, @@ -27771,7 +28388,7 @@ const qn = [ ascent: 945, descent: -224, programHash: "93fe419ed14bac240018cf4506dbb64643eeeee379c0b51d3c52d239f4adbc58", - codePoints: qn, + codePoints: Un, advances: [ 278, 278, @@ -27995,7 +28612,7 @@ const qn = [ ascent: 962, descent: -227, programHash: "f11bf41cf5d115966ee4d954d9d3eab4a7d1b63d371e5d655fc82d15350bc929", - codePoints: qn, + codePoints: Un, advances: [ 278, 333, @@ -28219,7 +28836,7 @@ const qn = [ ascent: 962, descent: -227, programHash: "9cd559e9d134dd6bb8bb75186d4302079e78ebee53a7c9b38dea1fba52a534d8", - codePoints: qn, + codePoints: Un, advances: [ 278, 333, @@ -28443,7 +29060,7 @@ const qn = [ ascent: 951, descent: -224, programHash: "872e4efa9cc73daff4a3fffa952663f32144db19ec91a8407afc359486eae30b", - codePoints: qn, + codePoints: Un, advances: [ 278, 278, @@ -28667,7 +29284,7 @@ const qn = [ ascent: 878, descent: -249, programHash: "7be927a55309ca34d67972ccf041ff3d156d774017022b18131fa365e6dd922e", - codePoints: qn, + codePoints: Un, advances: [ 250, 333, @@ -28891,7 +29508,7 @@ const qn = [ ascent: 889, descent: -249, programHash: "f23f2efbfa079f9083d967acf695b10db7c78e39862dbeb4788a4fd0533ff29c", - codePoints: qn, + codePoints: Un, advances: [ 250, 333, @@ -29115,7 +29732,7 @@ const qn = [ ascent: 869, descent: -249, programHash: "cf51fab68d7d965f5755218a7f99b0376bc440e1bb4e90498aef0964aac94490", - codePoints: qn, + codePoints: Un, advances: [ 250, 389, @@ -29339,7 +29956,7 @@ const qn = [ ascent: 868, descent: -249, programHash: "f405670768d71ff8d8a4e493cbcb9c6deff9565419bf63a38abb544789aa87b4", - codePoints: qn, + codePoints: Un, advances: [ 250, 333, @@ -30331,12 +30948,12 @@ const qn = [ 918 ] } -}, I2 = /* @__PURE__ */ new Map(); -function K0(e) { - const t = I2.get(e); +}, q2 = /* @__PURE__ */ new Map(); +function rw(e) { + const t = q2.get(e); if (t) return t; - const n = U0[e], o = /* @__PURE__ */ new Map(); - n.codePoints.forEach((s, i) => o.set(s, n.advances[i])); + const n = ow[e], o = /* @__PURE__ */ new Map(); + n.codePoints.forEach((s, a) => o.set(s, n.advances[a])); const r = { font: e, ascent: n.ascent, @@ -30344,20 +30961,20 @@ function K0(e) { codePoints: n.codePoints, advance: (s) => o.get(s) ?? null }; - return I2.set(e, r), r; + return q2.set(e, r), r; } -const Vq = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", Mc = /* @__PURE__ */ new Uint8Array(128); -for (let e = 0; e < 64; e += 1) Mc[Vq.charCodeAt(e)] = e; -function q0(e) { +const cV = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", Pc = /* @__PURE__ */ new Uint8Array(128); +for (let e = 0; e < 64; e += 1) Pc[cV.charCodeAt(e)] = e; +function sw(e) { const t = e.endsWith("==") ? 2 : e.endsWith("=") ? 1 : 0, n = new Uint8Array(e.length / 4 * 3 - t); let o = 0; for (let r = 0; r < e.length; r += 4) { - const s = Mc[e.charCodeAt(r)] << 18 | Mc[e.charCodeAt(r + 1)] << 12 | Mc[e.charCodeAt(r + 2)] << 6 | Mc[e.charCodeAt(r + 3)]; + const s = Pc[e.charCodeAt(r)] << 18 | Pc[e.charCodeAt(r + 1)] << 12 | Pc[e.charCodeAt(r + 2)] << 6 | Pc[e.charCodeAt(r + 3)]; o < n.length && (n[o++] = s >> 16), o < n.length && (n[o++] = s >> 8 & 255), o < n.length && (n[o++] = s & 255); } return n; } -const Gq = { +const lV = { courier: () => import("./courier.generated-Db-fW_ef-D3vIKTw3.js"), "courier-bold": () => import("./courier-bold.generated-x9MmbkbU-C7YQzW08.js"), "courier-bold-oblique": () => import("./courier-bold-oblique.generated-C4JG-Sd4-W7-e90Dn.js"), @@ -30372,20 +30989,20 @@ const Gq = { "times-italic": () => import("./times-italic.generated-BhPCUnVM-DTpW3zAH.js"), symbol: () => import("./symbol.generated-DXSVzciM-CR210hra.js"), "zapf-dingbats": () => import("./zapf-dingbats.generated-DSHah6NK-lpJ-p1Lt.js") -}, Sr = (e) => `epdf-${e.slice(0, 16)}`, _2 = /* @__PURE__ */ new Map(); -function To(e) { - const t = _2.get(e); +}, Pr = (e) => `epdf-${e.slice(0, 16)}`, H2 = /* @__PURE__ */ new Map(); +function No(e) { + const t = H2.get(e); if (t) return t; - const n = U0[e].programHash; + const n = ow[e].programHash; let o = null; const r = { hash: n, - family: Sr(n), - weight: Lo[e].weight, - style: Lo[e].italic ? "italic" : "normal", + family: Pr(n), + weight: Ro[e].weight, + style: Ro[e].italic ? "italic" : "normal", load: () => { if (!o) { - const s = Gq[e]().then((i) => q0(i.default)); + const s = lV[e]().then((a) => sw(a.default)); s.catch(() => { o === s && (o = null); }), o = s; @@ -30393,73 +31010,73 @@ function To(e) { return o; } }; - return _2.set(e, r), r; + return H2.set(e, r), r; } -const ds = "e9d14973462069b4906f8d22a9aaec2d6ec9eb02ac31d697631783316d8b8768", Yq = "AAEAAAAKAIAAAwAgT1MvMlUTUmMAAACsAAAAYGNtYXAAIrhhAAABDAAAADRnbHlmBX0EwQAAAUAAAAA4aGVhZGHSQ6EAAAF4AAAANmhoZWEFogH3AAABsAAAACRobXR4BRQAPAAAAdQAAAAIbG9jYQAcAAAAAAHcAAAABm1heHAABQAKAAAB5AAAACBuYW1lLeJOdAAAAgQAAAI6cG9zdP+fADIAAARAAAAAIAAEArwBkAAFAQACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFUERGAMAAIP//AyD/OAAAAyAAyAAAAAAAAAAAAfQCvAAAACAAAQAAAAEAAwAKAAAADAANAAAAAAAoAAAAAAAAAAIAAAAgAADX/wAAAAEAAOAAABD//wAAAAEAAgA8AAACgAK8AAMABwAAAQEBAQEBAQEAPAAAAkQAAP/EAAD+NAAAAAACvAAA/UQAPAJEAAD9vAABAAAAAQAAu91Pc18PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAAA8AAACgAK8AAAACAACAAAAAAAAAAEAAAMg/zgAAAK8AAAAAAKAAAEAAAAAAAAAAAAAAAAAAAACAlgAAAK8ADwAAAAAABwAAAABAAAAAgAIAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACQByAAMAAQQJAAAANgAAAAMAAQQJAAEAKAA2AAMAAQQJAAIADgBeAAMAAQQJAAMANABsAAMAAQQJAAQAKACgAAMAAQQJAAUAGgDIAAMAAQQJAAYANADiAAMAAQQJAA0AXAEWAAMAAQQJAA4AVgFyAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADIANgAgAEMAbABvAHUAZABQAEQARgAgAEwAVABEAEUAbQBiAGUAZABQAEQARgAgAEwAYQBzAHQAIABSAGUAcwBvAHIAdABSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBMAGEAcwB0AFIAZQBzAG8AcgB0AC0AUgBlAGcAdQBsAGEAcgBFAG0AYgBlAGQAUABEAEYAIABMAGEAcwB0ACAAUgBlAHMAbwByAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYATABhAHMAdABSAGUAcwBvAHIAdAAtAFIAZQBnAHUAbABhAHIATABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMABoAHQAdABwAHMAOgAvAC8AdwB3AHcALgBhAHAAYQBjAGgAZQAuAG8AcgBnAC8AbABpAGMAZQBuAHMAZQBzAC8ATABJAEMARQBOAFMARQAtADIALgAwAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="; -let yg = null; +const fs = "e9d14973462069b4906f8d22a9aaec2d6ec9eb02ac31d697631783316d8b8768", uV = "AAEAAAAKAIAAAwAgT1MvMlUTUmMAAACsAAAAYGNtYXAAIrhhAAABDAAAADRnbHlmBX0EwQAAAUAAAAA4aGVhZGHSQ6EAAAF4AAAANmhoZWEFogH3AAABsAAAACRobXR4BRQAPAAAAdQAAAAIbG9jYQAcAAAAAAHcAAAABm1heHAABQAKAAAB5AAAACBuYW1lLeJOdAAAAgQAAAI6cG9zdP+fADIAAARAAAAAIAAEArwBkAAFAQACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFUERGAMAAIP//AyD/OAAAAyAAyAAAAAAAAAAAAfQCvAAAACAAAQAAAAEAAwAKAAAADAANAAAAAAAoAAAAAAAAAAIAAAAgAADX/wAAAAEAAOAAABD//wAAAAEAAgA8AAACgAK8AAMABwAAAQEBAQEBAQEAPAAAAkQAAP/EAAD+NAAAAAACvAAA/UQAPAJEAAD9vAABAAAAAQAAu91Pc18PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAAA8AAACgAK8AAAACAACAAAAAAAAAAEAAAMg/zgAAAK8AAAAAAKAAAEAAAAAAAAAAAAAAAAAAAACAlgAAAK8ADwAAAAAABwAAAABAAAAAgAIAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACQByAAMAAQQJAAAANgAAAAMAAQQJAAEAKAA2AAMAAQQJAAIADgBeAAMAAQQJAAMANABsAAMAAQQJAAQAKACgAAMAAQQJAAUAGgDIAAMAAQQJAAYANADiAAMAAQQJAA0AXAEWAAMAAQQJAA4AVgFyAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADIANgAgAEMAbABvAHUAZABQAEQARgAgAEwAVABEAEUAbQBiAGUAZABQAEQARgAgAEwAYQBzAHQAIABSAGUAcwBvAHIAdABSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBMAGEAcwB0AFIAZQBzAG8AcgB0AC0AUgBlAGcAdQBsAGEAcgBFAG0AYgBlAGQAUABEAEYAIABMAGEAcwB0ACAAUgBlAHMAbwByAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYATABhAHMAdABSAGUAcwBvAHIAdAAtAFIAZQBnAHUAbABhAHIATABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMABoAHQAdABwAHMAOgAvAC8AdwB3AHcALgBhAHAAYQBjAGgAZQAuAG8AcgBnAC8AbABpAGMAZQBuAHMAZQBzAC8ATABJAEMARQBOAFMARQAtADIALgAwAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="; +let Ag = null; function xl() { - if (!yg) { + if (!Ag) { let e = null; - yg = { - hash: ds, - family: Sr(ds), + Ag = { + hash: fs, + family: Pr(fs), weight: 400, style: "normal", - load: () => Promise.resolve(e ?? (e = q0("AAEAAAAKAIAAAwAgT1MvMlUTUmMAAACsAAAAYGNtYXAAIrhhAAABDAAAADRnbHlmBX0EwQAAAUAAAAA4aGVhZGHSQ6EAAAF4AAAANmhoZWEFogH3AAABsAAAACRobXR4BRQAPAAAAdQAAAAIbG9jYQAcAAAAAAHcAAAABm1heHAABQAKAAAB5AAAACBuYW1lLeJOdAAAAgQAAAI6cG9zdP+fADIAAARAAAAAIAAEArwBkAAFAQACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFUERGAMAAIP//AyD/OAAAAyAAyAAAAAAAAAAAAfQCvAAAACAAAQAAAAEAAwAKAAAADAANAAAAAAAoAAAAAAAAAAIAAAAgAADX/wAAAAEAAOAAABD//wAAAAEAAgA8AAACgAK8AAMABwAAAQEBAQEBAQEAPAAAAkQAAP/EAAD+NAAAAAACvAAA/UQAPAJEAAD9vAABAAAAAQAAu91Pc18PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAAA8AAACgAK8AAAACAACAAAAAAAAAAEAAAMg/zgAAAK8AAAAAAKAAAEAAAAAAAAAAAAAAAAAAAACAlgAAAK8ADwAAAAAABwAAAABAAAAAgAIAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACQByAAMAAQQJAAAANgAAAAMAAQQJAAEAKAA2AAMAAQQJAAIADgBeAAMAAQQJAAMANABsAAMAAQQJAAQAKACgAAMAAQQJAAUAGgDIAAMAAQQJAAYANADiAAMAAQQJAA0AXAEWAAMAAQQJAA4AVgFyAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADIANgAgAEMAbABvAHUAZABQAEQARgAgAEwAVABEAEUAbQBiAGUAZABQAEQARgAgAEwAYQBzAHQAIABSAGUAcwBvAHIAdABSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBMAGEAcwB0AFIAZQBzAG8AcgB0AC0AUgBlAGcAdQBsAGEAcgBFAG0AYgBlAGQAUABEAEYAIABMAGEAcwB0ACAAUgBlAHMAbwByAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYATABhAHMAdABSAGUAcwBvAHIAdAAtAFIAZQBnAHUAbABhAHIATABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMABoAHQAdABwAHMAOgAvAC8AdwB3AHcALgBhAHAAYQBjAGgAZQAuAG8AcgBnAC8AbABpAGMAZQBuAHMAZQBzAC8ATABJAEMARQBOAFMARQAtADIALgAwAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="))) + load: () => Promise.resolve(e ?? (e = sw("AAEAAAAKAIAAAwAgT1MvMlUTUmMAAACsAAAAYGNtYXAAIrhhAAABDAAAADRnbHlmBX0EwQAAAUAAAAA4aGVhZGHSQ6EAAAF4AAAANmhoZWEFogH3AAABsAAAACRobXR4BRQAPAAAAdQAAAAIbG9jYQAcAAAAAAHcAAAABm1heHAABQAKAAAB5AAAACBuYW1lLeJOdAAAAgQAAAI6cG9zdP+fADIAAARAAAAAIAAEArwBkAAFAQACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFUERGAMAAIP//AyD/OAAAAyAAyAAAAAAAAAAAAfQCvAAAACAAAQAAAAEAAwAKAAAADAANAAAAAAAoAAAAAAAAAAIAAAAgAADX/wAAAAEAAOAAABD//wAAAAEAAgA8AAACgAK8AAMABwAAAQEBAQEBAQEAPAAAAkQAAP/EAAD+NAAAAAACvAAA/UQAPAJEAAD9vAABAAAAAQAAu91Pc18PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAAA8AAACgAK8AAAACAACAAAAAAAAAAEAAAMg/zgAAAK8AAAAAAKAAAEAAAAAAAAAAAAAAAAAAAACAlgAAAK8ADwAAAAAABwAAAABAAAAAgAIAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACQByAAMAAQQJAAAANgAAAAMAAQQJAAEAKAA2AAMAAQQJAAIADgBeAAMAAQQJAAMANABsAAMAAQQJAAQAKACgAAMAAQQJAAUAGgDIAAMAAQQJAAYANADiAAMAAQQJAA0AXAEWAAMAAQQJAA4AVgFyAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADIANgAgAEMAbABvAHUAZABQAEQARgAgAEwAVABEAEUAbQBiAGUAZABQAEQARgAgAEwAYQBzAHQAIABSAGUAcwBvAHIAdABSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBMAGEAcwB0AFIAZQBzAG8AcgB0AC0AUgBlAGcAdQBsAGEAcgBFAG0AYgBlAGQAUABEAEYAIABMAGEAcwB0ACAAUgBlAHMAbwByAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYATABhAHMAdABSAGUAcwBvAHIAdAAtAFIAZQBnAHUAbABhAHIATABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMABoAHQAdABwAHMAOgAvAC8AdwB3AHcALgBhAHAAYQBjAGgAZQAuAG8AcgBnAC8AbABpAGMAZQBuAHMAZQBzAC8ATABJAEMARQBOAFMARQAtADIALgAwAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="))) }; } - return yg; + return Ag; } -const ia = { +const ai = { advance: 700, ascent: 800, descent: -200 }; -function Qq() { - return q0(Yq); +function dV() { + return sw(uV); } -const Xq = { +const fV = { Helvetica: "Helvetica, Arial, sans-serif", Times: '"Times New Roman", Times, serif', Courier: '"Courier New", Courier, monospace', Symbol: "Symbol, serif", ZapfDingbats: '"Zapf Dingbats", ZapfDingbats, serif' }; -function Vp(e) { - return Xq[Lo[e].family]; +function Xp(e) { + return fV[Ro[e].family]; } -const N2 = /* @__PURE__ */ new Map(); -function Pa(e) { - let t = N2.get(e); +const V2 = /* @__PURE__ */ new Map(); +function Si(e) { + let t = V2.get(e); if (!t) { - const n = To(e); + const n = No(e); t = { - fontFamily: `"${n.family}", ${Vp(e)}`, + fontFamily: `"${n.family}", ${Xp(e)}`, fontWeight: n.weight, fontStyle: n.style, programs: [n] - }, N2.set(e, t); + }, V2.set(e, t); } return t; } -function xi(e) { - return po(e) ? e : "helvetica"; +function Sa(e) { + return ho(e) ? e : "helvetica"; } -let wg = null; +let Sg = null; function Al(e) { - return wg ?? (wg = new Map(ja.map((t) => [Sr(U0[t].programHash), t]))), wg.get(e); + return Sg ?? (Sg = new Map(Li.map((t) => [Pr(ow[t].programHash), t]))), Sg.get(e); } -const Zq = { - standardDisplayHash: (e) => To(e).hash, - lastResortDisplayHash: ds -}, Jq = [{ +const pV = { + standardDisplayHash: (e) => No(e).hash, + lastResortDisplayHash: fs +}, hV = [{ start: 32, count: 55264 }, { start: 57344, count: 1056768 -}], OC = (e) => ja.find((t) => To(t).hash === e); -function eH(e) { +}], rI = (e) => Li.find((t) => No(t).hash === e); +function gV(e) { const t = []; for (const n of [...e].sort((o, r) => o - r)) { const o = t[t.length - 1]; @@ -30470,8 +31087,8 @@ function eH(e) { } return t; } -function tH(e) { - const t = OC(e), n = { +function mV(e) { + const t = rI(e), n = { displaySha256: e, sourceSha256: null, embedded: "none", @@ -30480,10 +31097,10 @@ function tH(e) { canDownload: !0 }; if (t) { - const o = K0(t); + const o = rw(t); return { ...n, - covers: eH(o.codePoints), + covers: gV(o.codePoints), ascent: o.ascent, descent: o.descent }; @@ -30492,52 +31109,52 @@ function tH(e) { ...n, format: "truetype", embeddingPermission: "installable", - covers: Jq, - ascent: ia.ascent, - descent: ia.descent + covers: hV, + ascent: ai.ascent, + descent: ai.descent }; } -function nH(e) { - const t = OC(e); - if (t) return To(t).load(); +function bV(e) { + const t = rI(e); + if (t) return No(t).load(); if (e === "e9d14973462069b4906f8d22a9aaec2d6ec9eb02ac31d697631783316d8b8768") return xl().load(); } -const oH = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ +const yV = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null, - BUILT_IN_PROGRAMS: Zq, - LAST_RESORT_HASH: ds, - LAST_RESORT_METRICS: ia, - builtInProgramInfo: tH, - fontProgramFamily: Sr, - lastResortFontBytes: Qq, + BUILT_IN_PROGRAMS: pV, + LAST_RESORT_HASH: fs, + LAST_RESORT_METRICS: ai, + builtInProgramInfo: mV, + fontProgramFamily: Pr, + lastResortFontBytes: dV, lastResortFontProgram: xl, - loadBuiltInProgram: nH, - standardFontCss: Pa, - standardFontMetrics: K0, - standardFontOf: xi, + loadBuiltInProgram: bV, + standardFontCss: Si, + standardFontMetrics: rw, + standardFontOf: Sa, standardFontOfProgramFamily: Al, - standardFontProgram: To, - standardFontStack: Vp -}, Symbol.toStringTag, { value: "Module" })), Jm = 8205, rH = /\p{M}/u, H0 = (e) => e > 65535 ? 2 : 1, sH = (e) => rH.test(String.fromCodePoint(e)), MC = (e) => e >= 65024 && e <= 65039 || e >= 917760 && e <= 917999; -function eu(e) { + standardFontProgram: No, + standardFontStack: Xp +}, Symbol.toStringTag, { value: "Module" })), cb = 8205, wV = /\p{M}/u, aw = (e) => e > 65535 ? 2 : 1, vV = (e) => wV.test(String.fromCodePoint(e)), sI = (e) => e >= 65024 && e <= 65039 || e >= 917760 && e <= 917999; +function nu(e) { const t = []; for (let n = 0; n < e.length; ) { const o = e.codePointAt(n); - t.push(o), n += H0(o); + t.push(o), n += aw(o); } return t; } -function EC(e) { +function aI(e) { const t = new Array(e.length).fill(!1); let n = !1; for (let o = 0; o < e.length; ) { const r = e.codePointAt(o); - t[o] = !(o > 0 && (sH(r) || MC(r) || r === Jm || n)), n = r === Jm, o += H0(r); + t[o] = !(o > 0 && (vV(r) || sI(r) || r === cb || n)), n = r === cb, o += aw(r); } return t; } -function CC(e) { - const t = EC(e), n = []; +function iI(e) { + const t = aI(e), n = []; for (let o = 0; o < e.length; ) { let r = o + 1; for (; r < e.length && !t[r]; ) r += 1; @@ -30545,11 +31162,11 @@ function CC(e) { } return n; } -const iH = (e) => e !== Jm && !MC(e); -function IC(e) { - return eu(e).every((t) => t < 32 || t >= 127 && t <= 159 || t === 173 || t === 847 || t === 1564 || t >= 4447 && t <= 4448 || t >= 6068 && t <= 6069 || t >= 6155 && t <= 6159 || t >= 8203 && t <= 8207 || t >= 8234 && t <= 8238 || t >= 8288 && t <= 8303 || t === 12644 || t >= 65024 && t <= 65039 || t === 65279 || t === 65440 || t >= 65520 && t <= 65528 || t >= 113824 && t <= 113827 || t >= 119155 && t <= 119162 || t >= 917504 && t <= 921599); +const kV = (e) => e !== cb && !sI(e); +function cI(e) { + return nu(e).every((t) => t < 32 || t >= 127 && t <= 159 || t === 173 || t === 847 || t === 1564 || t >= 4447 && t <= 4448 || t >= 6068 && t <= 6069 || t >= 6155 && t <= 6159 || t >= 8203 && t <= 8207 || t >= 8234 && t <= 8238 || t >= 8288 && t <= 8303 || t === 12644 || t >= 65024 && t <= 65039 || t === 65279 || t === 65440 || t >= 65520 && t <= 65528 || t >= 113824 && t <= 113827 || t >= 119155 && t <= 119162 || t >= 917504 && t <= 921599); } -const V0 = Hq(), aH = { +const iw = iV(), xV = { L: "a", R: "א", AL: "ا", @@ -30573,7 +31190,7 @@ const V0 = Hq(), aH = { RLI: "⁧", FSI: "⁨", PDI: "⁩" -}, cH = /* @__PURE__ */ new Set([ +}, AV = /* @__PURE__ */ new Set([ "WS", "S", "B", @@ -30587,41 +31204,41 @@ const V0 = Hq(), aH = { "RLI", "FSI", "PDI" -]), G0 = (e) => V0.getBidiCharTypeName(String.fromCodePoint(e)); -function lH(e) { +]), cw = (e) => iw.getBidiCharTypeName(String.fromCodePoint(e)); +function SV(e) { let t = ""; for (let n = 0; n < e.length; ) { const o = e.codePointAt(n); if (o > 65535) { - const r = aH[G0(o)]; + const r = xV[cw(o)]; t += r + r, n += 2; } else t += e[n], n += 1; } return t; } -function uH(e, t) { +function OV(e, t) { const n = t ? 1 : 0; - return e.length === 0 ? [] : _C(e, Array.from(V0.getEmbeddingLevels(lH(e), t ? "rtl" : "ltr").levels), 0, e.length, n); + return e.length === 0 ? [] : lI(e, Array.from(iw.getEmbeddingLevels(SV(e), t ? "rtl" : "ltr").levels), 0, e.length, n); } -function dH(e, t, n, o, r) { - return _C(e, t.slice(n, o), n, o, r); +function PV(e, t, n, o, r) { + return lI(e, t.slice(n, o), n, o, r); } -function _C(e, t, n, o, r) { +function lI(e, t, n, o, r) { let s = o; for (; s > n; ) { - const i = e.charCodeAt(s - 1), a = i >= 56320 && i <= 57343 && s - 2 >= n ? s - 2 : s - 1; - if (!cH.has(G0(e.codePointAt(a)))) break; - for (let c = a; c < s; c += 1) t[c - n] = r; - s = a; + const a = e.charCodeAt(s - 1), i = a >= 56320 && a <= 57343 && s - 2 >= n ? s - 2 : s - 1; + if (!AV.has(cw(e.codePointAt(i)))) break; + for (let c = i; c < s; c += 1) t[c - n] = r; + s = i; } return t; } -function fH(e) { +function MV(e) { let t = 0; for (let n = 0; n < e.length; ) { const o = e.codePointAt(n); - switch (G0(o)) { + switch (cw(o)) { case "L": if (t === 0) return !1; break; @@ -30638,11 +31255,11 @@ function fH(e) { t > 0 && (t -= 1); break; } - n += H0(o); + n += aw(o); } return null; } -function pH(e) { +function EV(e) { const t = e.map((r, s) => s); if (e.length === 0) return t; const n = Math.max(...e), o = Math.min(...e.map((r) => r % 2 ? r : r + 1)); @@ -30651,17 +31268,17 @@ function pH(e) { s += 1; continue; } - let i = s + 1; - for (; i < t.length && e[t[i]] >= r; ) i += 1; - t.splice(s, i - s, ...t.slice(s, i).reverse()), s = i; + let a = s + 1; + for (; a < t.length && e[t[a]] >= r; ) a += 1; + t.splice(s, a - s, ...t.slice(s, a).reverse()), s = a; } return t; } -function hH(e) { - const t = V0.getMirroredCharacter(String.fromCodePoint(e)); +function CV(e) { + const t = iw.getMirroredCharacter(String.fromCodePoint(e)); return t ? t.codePointAt(0) : e; } -const Gp = [ +const Zp = [ 0, 12, 8, @@ -30790,7 +31407,7 @@ const Gp = [ 8, 0, 0 -], T2 = (e) => e <= 127 ? (Gp[e] & 1) !== 0 : e >= 192 && e <= 255 || e >= 256 && e <= 591 || e >= 7680 && e <= 7935 || e >= 11360 && e <= 11391 || e >= 42784 && e <= 43007 || e >= 65313 && e <= 65338 || e >= 65345 && e <= 65370, R2 = (e) => e >= 48 && e <= 57, gH = /* @__PURE__ */ new Set([ +], G2 = (e) => e <= 127 ? (Zp[e] & 1) !== 0 : e >= 192 && e <= 255 || e >= 256 && e <= 591 || e >= 7680 && e <= 7935 || e >= 11360 && e <= 11391 || e >= 42784 && e <= 43007 || e >= 65313 && e <= 65338 || e >= 65345 && e <= 65370, Y2 = (e) => e >= 48 && e <= 57, IV = /* @__PURE__ */ new Set([ 12293, 12294, 12321, @@ -30808,10 +31425,10 @@ const Gp = [ 12340, 12341 ]); -function L2(e) { - return e >= 4352 && e <= 4607 || e >= 11904 && e <= 12287 || e >= 12352 && e <= 40895 || e >= 44032 && e <= 55215 || e >= 63744 && e <= 64255 || e >= 65072 && e <= 65103 || e >= 131072 && e <= 173791 || e >= 194560 && e <= 195103 ? !0 : e >= 12288 && e <= 12351 ? gH.has(e) : e >= 65382 && e <= 65437; +function Q2(e) { + return e >= 4352 && e <= 4607 || e >= 11904 && e <= 12287 || e >= 12352 && e <= 40895 || e >= 44032 && e <= 55215 || e >= 63744 && e <= 64255 || e >= 65072 && e <= 65103 || e >= 131072 && e <= 173791 || e >= 194560 && e <= 195103 ? !0 : e >= 12288 && e <= 12351 ? IV.has(e) : e >= 65382 && e <= 65437; } -const mH = /* @__PURE__ */ new Set([ +const _V = /* @__PURE__ */ new Set([ 8208, 8209, 8210, @@ -30834,7 +31451,7 @@ const mH = /* @__PURE__ */ new Set([ 8253, 8254, 8260 -]), bH = /* @__PURE__ */ new Set([ +]), NV = /* @__PURE__ */ new Set([ 12289, 12290, 12291, @@ -30859,7 +31476,7 @@ const mH = /* @__PURE__ */ new Set([ 12317, 12318, 12319 -]), yH = /* @__PURE__ */ new Set([ +]), TV = /* @__PURE__ */ new Set([ 65281, 65282, 65287, @@ -30885,10 +31502,10 @@ const mH = /* @__PURE__ */ new Set([ 65438, 65439 ]); -function j2(e) { - return e <= 127 ? (Gp[e] & 8) !== 0 : e >= 128 && e <= 255 ? e <= 148 || e === 150 || e === 180 || e === 184 : e >= 8192 && e <= 8303 ? mH.has(e) : e >= 12288 && e <= 12351 ? bH.has(e) : e >= 65104 && e <= 65135 ? e >= 65104 && e <= 65118 || e === 65123 : e >= 65280 && e <= 65519 ? yH.has(e) : !1; +function X2(e) { + return e <= 127 ? (Zp[e] & 8) !== 0 : e >= 128 && e <= 255 ? e <= 148 || e === 150 || e === 180 || e === 184 : e >= 8192 && e <= 8303 ? _V.has(e) : e >= 12288 && e <= 12351 ? NV.has(e) : e >= 65104 && e <= 65135 ? e >= 65104 && e <= 65118 || e === 65123 : e >= 65280 && e <= 65519 ? TV.has(e) : !1; } -const F2 = (e) => e <= 127 && (Gp[e] & 32) !== 0, wH = /* @__PURE__ */ new Set([ +const Z2 = (e) => e <= 127 && (Zp[e] & 32) !== 0, RV = /* @__PURE__ */ new Set([ 12298, 12300, 12302, @@ -30901,40 +31518,40 @@ const F2 = (e) => e <= 127 && (Gp[e] & 32) !== 0, wH = /* @__PURE__ */ new Set([ 65339, 65371, 65378 -]), D2 = (e) => e <= 127 ? (Gp[e] & 4) !== 0 : wH.has(e), vH = (e) => e === 36 || e === 128 || e === 162 || e === 163 || e === 164 || e === 165 || e >= 8352 && e <= 8399 || e === 65129 || e === 65284 || e === 65504 || e === 65505 || e === 65509 || e === 65510, $2 = (e) => vH(e) || e === 8470, eb = (e) => e === 32 || e === 12288; -function kH(e, t) { - return (T2(e) || R2(e)) && (T2(t) || R2(t)) || eb(t) || j2(t) || F2(e) || F2(t) ? !1 : eb(e) || j2(e) ? !0 : $2(e) ? !1 : $2(t) || L2(t) ? !0 : L2(e); +]), J2 = (e) => e <= 127 ? (Zp[e] & 4) !== 0 : RV.has(e), LV = (e) => e === 36 || e === 128 || e === 162 || e === 163 || e === 164 || e === 165 || e >= 8352 && e <= 8399 || e === 65129 || e === 65284 || e === 65504 || e === 65505 || e === 65509 || e === 65510, eA = (e) => LV(e) || e === 8470, lb = (e) => e === 32 || e === 12288; +function jV(e, t) { + return (G2(e) || Y2(e)) && (G2(t) || Y2(t)) || lb(t) || X2(t) || Z2(e) || Z2(t) ? !1 : lb(e) || X2(e) ? !0 : eA(e) ? !1 : eA(t) || Q2(t) ? !0 : Q2(e); } -const tb = (e, t) => eu(t).every((n) => !iH(n) || e.covers(n)); -function NC(e, t) { - if (tb(t.face, e)) return { +const ub = (e, t) => nu(t).every((n) => !kV(n) || e.covers(n)); +function uI(e, t) { + if (ub(t.face, e)) return { font: t.face, covered: !0 }; - const n = t.fallbacks.find((o) => tb(o, e)); + const n = t.fallbacks.find((o) => ub(o, e)); return n ? { font: n, covered: !0 } : { - font: (IC(e) ? null : t.lastResort) ?? t.face, + font: (cI(e) ? null : t.lastResort) ?? t.face, covered: !1 }; } -const B2 = /* @__PURE__ */ new Map(); -function xH(e) { - const t = B2.get(e); +const tA = /* @__PURE__ */ new Map(); +function FV(e) { + const t = tA.get(e); if (t) return t; - const n = K0(e), o = { + const n = rw(e), o = { key: e, ascent: n.ascent, descent: n.descent, standard: !0, covers: (r) => r <= 65535 && n.advance(r) !== null, - width: (r, s) => eu(r).reduce((i, a) => i + (n.advance(s ? hH(a) : a) ?? 0), 0) + width: (r, s) => nu(r).reduce((a, i) => a + (n.advance(s ? CV(i) : i) ?? 0), 0) }; - return B2.set(e, o), o; + return tA.set(e, o), o; } -const Y0 = "Common", Q0 = "Inherited", X0 = "Unknown", AH = /* @__PURE__ */ new Set([ +const lw = "Common", uw = "Inherited", dw = "Unknown", DV = /* @__PURE__ */ new Set([ "Latin", "Greek", "Cyrillic", @@ -30945,12 +31562,12 @@ const Y0 = "Common", Q0 = "Inherited", X0 = "Unknown", AH = /* @__PURE__ */ new "Katakana", "Hangul", "Bopomofo", - Y0, - Q0, - X0 -]), SH = [ - Y0, - Q0, + lw, + uw, + dw +]), $V = [ + lw, + uw, "Latin", "Hebrew", "Arabic", @@ -30980,45 +31597,45 @@ const Y0 = "Common", Q0 = "Inherited", X0 = "Unknown", AH = /* @__PURE__ */ new Tifinagh Tirhuta Todhri Toto Tulu_Tigalari Ugaritic Vai Vithkuqi Wancho Warang_Citi Yezidi Yi Zanabazar_Square`.split(/\s+/) ]; -let bc; -const z2 = /* @__PURE__ */ new Map(); -function PH() { - if (bc) return bc; - bc = []; - for (const e of new Set(SH)) try { - bc.push([e, new RegExp(`^\\p{Script=${e}}$`, "u")]); +let mc; +const nA = /* @__PURE__ */ new Map(); +function BV() { + if (mc) return mc; + mc = []; + for (const e of new Set($V)) try { + mc.push([e, new RegExp(`^\\p{Script=${e}}$`, "u")]); } catch { } - return bc; + return mc; } -function OH(e) { - const t = z2.get(e); +function zV(e) { + const t = nA.get(e); if (t !== void 0) return t; - const n = String.fromCodePoint(e), o = PH().find(([, r]) => r.test(n))?.[0] ?? X0; - return z2.set(e, o), o; + const n = String.fromCodePoint(e), o = BV().find(([, r]) => r.test(n))?.[0] ?? dw; + return nA.set(e, o), o; } -const vg = (e) => e === Y0 || e === Q0 || e === X0, TC = (e) => AH.has(e), MH = /^\s+$/u; -function EH(e, t, n) { - const o = uH(e, t), r = CC(e), s = [], i = []; - let a = "Common"; +const Og = (e) => e === lw || e === uw || e === dw, dI = (e) => DV.has(e), WV = /^\s+$/u; +function UV(e, t, n) { + const o = OV(e, t), r = iI(e), s = [], a = []; + let i = "Common"; for (const [u, f] of r) { const d = e.slice(u, f); - let p = OH(e.codePointAt(u)); - vg(p) ? p = a : a = p; - const h = NC(d, n); - !h.covered && !IC(d) && !s.includes(d) && s.push(d), i.push({ + let p = zV(e.codePointAt(u)); + Og(p) ? p = i : i = p; + const g = uI(d, n); + !g.covered && !cI(d) && !s.includes(d) && s.push(d), a.push({ begin: u, end: f, script: p, level: o[u], - font: h.font + font: g.font }); } - for (let u = i.length; u > 1; u -= 1) vg(i[u - 2].script) && (i[u - 2].script = i[u - 1].script); + for (let u = a.length; u > 1; u -= 1) Og(a[u - 2].script) && (a[u - 2].script = a[u - 1].script); const c = []; - for (const u of i) { + for (const u of a) { const f = c[c.length - 1]; - if (f && f.font === u.font && f.level === u.level && (f.script === u.script || vg(u.script))) { + if (f && f.font === u.font && f.level === u.level && (f.script === u.script || Og(u.script))) { c[c.length - 1] = { ...f, end: u.end @@ -31029,10 +31646,10 @@ function EH(e, t, n) { } const l = []; return c.forEach((u, f) => { - const d = r.filter(([h]) => h >= u.begin && h < u.end), p = CH(e, u, d); - d.forEach(([h, g], m) => l.push({ - begin: h, - end: g, + const d = r.filter(([g]) => g >= u.begin && g < u.end), p = KV(e, u, d); + d.forEach(([g, h], m) => l.push({ + begin: g, + end: h, item: f, widths: p[m] })); @@ -31045,56 +31662,56 @@ function EH(e, t, n) { missing: s }; } -function CH(e, t, n) { +function KV(e, t, n) { const o = t.level % 2 === 1, { font: r } = t; - if (r.standard) return n.map(([a, c]) => eu(e.slice(a, c)).map((l) => r.width(String.fromCodePoint(l), o))); - if (TC(t.script)) return n.map(([a, c]) => [Math.round(r.width(e.slice(a, c), o))]); - const s = [], i = (a) => MH.test(e.slice(n[a][0], n[a][1])); - for (let a = 0; a < n.length; ) { - if (i(a)) { - s.push([r.width(e.slice(n[a][0], n[a][1]), o)]), a += 1; + if (r.standard) return n.map(([i, c]) => nu(e.slice(i, c)).map((l) => r.width(String.fromCodePoint(l), o))); + if (dI(t.script)) return n.map(([i, c]) => [Math.round(r.width(e.slice(i, c), o))]); + const s = [], a = (i) => WV.test(e.slice(n[i][0], n[i][1])); + for (let i = 0; i < n.length; ) { + if (a(i)) { + s.push([r.width(e.slice(n[i][0], n[i][1]), o)]), i += 1; continue; } - let c = a + 1; - for (; c < n.length && !i(c); ) c += 1; - const l = n[a][0]; + let c = i + 1; + for (; c < n.length && !a(c); ) c += 1; + const l = n[i][0]; let u = 0; - for (let f = a; f < c; f += 1) { + for (let f = i; f < c; f += 1) { const d = r.width(e.slice(l, n[f][1]), o); s.push([d - u]), u = d; } - a = c; + i = c; } return s; } -const _f = Math.fround, IH = _f(1e-3), js = (e, t) => _f(_f(e * t) * IH); -function RC(e, t, n, o) { +const Nf = Math.fround, qV = Nf(1e-3), js = (e, t) => Nf(Nf(e * t) * qV); +function fI(e, t, n, o) { let r = 0; - for (let s = t; s < n; s += 1) for (const i of e.graphemes[s].widths) r = _f(r + js(i, o)); + for (let s = t; s < n; s += 1) for (const a of e.graphemes[s].widths) r = Nf(r + js(a, o)); return r; } -function W2(e, t, n, o) { +function oA(e, t, n, o) { if (t >= n) return []; - const { text: r, graphemes: s, items: i } = e, a = s[t].begin, c = s[n - 1].end, l = dH(r, e.levels, a, c, e.base), u = [], f = []; + const { text: r, graphemes: s, items: a } = e, i = s[t].begin, c = s[n - 1].end, l = PV(r, e.levels, i, c, e.base), u = [], f = []; let d = t; for (; d < n; ) { - const p = s[d], h = l[p.begin - a]; - let g = d + 1; - for (; g < n && s[g].item === p.item && l[s[g].begin - a] === h; ) g += 1; - const m = i[p.item], M = s[g - 1].end; + const p = s[d], g = l[p.begin - i]; + let h = d + 1; + for (; h < n && s[h].item === p.item && l[s[h].begin - i] === g; ) h += 1; + const m = a[p.item], O = s[h - 1].end; u.push({ font: m.font, - text: r.slice(p.begin, M), + text: r.slice(p.begin, O), rtl: m.level % 2 === 1, - plain: m.font.standard || TC(m.script), - width: RC(e, d, g, o), + plain: m.font.standard || dI(m.script), + width: fI(e, d, h, o), begin: p.begin, - end: M - }), f.push(h), d = g; + end: O + }), f.push(g), d = h; } - return pH(f).map((p) => u[p]); + return EV(f).map((p) => u[p]); } -const U2 = [ +const rA = [ [ 1536, 1541, @@ -32035,36 +32652,36 @@ const U2 = [ 125259, "T" ] -], _H = /^[\p{Mn}\p{Me}\p{Cf}]$/u; -function NH(e) { - let t = 0, n = U2.length - 1; +], HV = /^[\p{Mn}\p{Me}\p{Cf}]$/u; +function VV(e) { + let t = 0, n = rA.length - 1; for (; t <= n; ) { - const o = t + n >> 1, [r, s, i] = U2[o]; + const o = t + n >> 1, [r, s, a] = rA[o]; if (e < r) n = o - 1; else if (e > s) t = o + 1; - else return i; + else return a; } - return _H.test(String.fromCodePoint(e)) ? "T" : "U"; + return HV.test(String.fromCodePoint(e)) ? "T" : "U"; } -function TH(e) { - for (const t of eu(e)) { - const n = NH(t); +function GV(e) { + for (const t of nu(e)) { + const n = VV(t); if (n !== "T") return n; } return "T"; } -const RH = (e) => e === "D" || e === "R" || e === "C", LH = (e) => e === "D" || e === "L" || e === "C"; -function jH(e, t = () => !0) { - const n = e.map(TH), o = e.map(() => ({ +const YV = (e) => e === "D" || e === "R" || e === "C", QV = (e) => e === "D" || e === "L" || e === "C"; +function XV(e, t = () => !0) { + const n = e.map(GV), o = e.map(() => ({ previous: !1, next: !1 })); let r = -1; - return n.forEach((s, i) => { - s !== "T" && (r >= 0 && LH(n[r]) && RH(s) && t(r, i) && (o[r].next = !0, o[i].previous = !0), r = i); + return n.forEach((s, a) => { + s !== "T" && (r >= 0 && QV(n[r]) && YV(s) && t(r, a) && (o[r].next = !0, o[a].previous = !0), r = a); }), o; } -const K2 = "‍", FH = (e, t) => `${t.previous ? K2 : ""}${e}${t.next ? K2 : ""}`, ct = Math.fround, LC = (e) => e < 1e-4 && e > -1e-4, q2 = (e, t) => e > t && !LC(ct(e - t)), kg = [ +const sA = "‍", ZV = (e, t) => `${t.previous ? sA : ""}${e}${t.next ? sA : ""}`, lt = Math.fround, pI = (e) => e < 1e-4 && e > -1e-4, aA = (e, t) => e > t && !pI(lt(e - t)), Pg = [ 4, 6, 8, @@ -32091,210 +32708,210 @@ const K2 = "‍", FH = (e, t) => `${t.previous ? K2 : ""}${e}${t.next ? K2 : ""} 130, 144 ]; -function nb(e, t, n) { - const { plate: o, alignment: r, multiline: s, cells: i } = n, a = ct(o.right - o.left), c = ct(o.top - o.bottom), l = Math.max(a, 0), u = DH(e, n), f = fH(u.join("")) ?? !1, d = i > 0, p = u.map((E) => { - const I = EH(E, f, t); +function db(e, t, n) { + const { plate: o, alignment: r, multiline: s, cells: a } = n, i = lt(o.right - o.left), c = lt(o.top - o.bottom), l = Math.max(i, 0), u = JV(e, n), f = MV(u.join("")) ?? !1, d = a > 0, p = u.map((S) => { + const C = UV(S, f, t); return { - paragraph: I, - units: I.graphemes.map((T, _) => { - const { font: N } = I.items[T.item]; + paragraph: C, + units: C.graphemes.map((N, _) => { + const { font: T } = C.items[N.item]; return { grapheme: _, - code: E.charCodeAt(T.begin), - ascent: N.ascent, - descent: N.descent + code: S.charCodeAt(N.begin), + ascent: T.ascent, + descent: T.descent }; }) }; - }), h = [...new Set(p.flatMap((E) => E.paragraph.missing))], g = (E, I, T) => RC(E.paragraph, I.grapheme, I.grapheme + 1, T), m = ({ paragraph: E, units: I }) => { - const T = (_) => E.graphemes[_.grapheme]; - return jH(I.map((_) => E.text.slice(T(_).begin, T(_).end)), (_, N) => T(I[_]).item === T(I[N]).item); - }, M = (E, I, T, _) => { - if (!T.previous && !T.next) return g(E, I, _); - const { paragraph: N } = E, F = N.graphemes[I.grapheme], R = N.items[F.item], j = FH(N.text.slice(F.begin, F.end), T); - return js(R.font.width(j, R.level % 2 === 1), _); - }, x = (E) => js(t.face.ascent, E), S = (E) => js(t.face.descent, E); - let P = n.fontSize; - if (LC(P) && (P = 0, a > 0)) { - const E = s ? kg.slice(0, Math.trunc(kg.length / 4)) : kg, I = (N) => { - let F = 0, R = 0; - for (const j of p) { - const B = v(j, N, null); - if (F = Math.max(B.width, F), R = ct(R + B.height), q2(F, a) || q2(R, c)) return !0; + }), g = [...new Set(p.flatMap((S) => S.paragraph.missing))], h = (S, C, N) => fI(S.paragraph, C.grapheme, C.grapheme + 1, N), m = ({ paragraph: S, units: C }) => { + const N = (_) => S.graphemes[_.grapheme]; + return XV(C.map((_) => S.text.slice(N(_).begin, N(_).end)), (_, T) => N(C[_]).item === N(C[T]).item); + }, O = (S, C, N, _) => { + if (!N.previous && !N.next) return h(S, C, _); + const { paragraph: T } = S, $ = T.graphemes[C.grapheme], j = T.items[$.item], z = ZV(T.text.slice($.begin, $.end), N); + return js(j.font.width(z, j.level % 2 === 1), _); + }, E = (S) => js(t.face.ascent, S), P = (S) => js(t.face.descent, S); + let k = n.fontSize; + if (pI(k) && (k = 0, i > 0)) { + const S = s ? Pg.slice(0, Math.trunc(Pg.length / 4)) : Pg, C = (T) => { + let $ = 0, j = 0; + for (const z of p) { + const L = M(z, T, null); + if ($ = Math.max(L.width, $), j = lt(j + L.height), aA($, i) || aA(j, c)) return !0; } return !1; }; - let T = 0, _ = E.length; + let N = 0, _ = S.length; for (; _ > 0; ) { - const N = _ >> 1; - I(E[T + N]) ? _ = N : (T += N + 1, _ -= N + 1); + const T = _ >> 1; + C(S[N + T]) ? _ = T : (N += T + 1, _ -= T + 1); } - P = T === E.length ? E[E.length - 1] : E[T === 0 ? 0 : T - 1]; + k = N === S.length ? S[S.length - 1] : S[N === 0 ? 0 : N - 1]; } - const k = []; - let A = 0, y = 0; - for (const E of p) { - let I; - const T = []; - let _ = [], N = 0, F; + const A = []; + let w = 0, b = 0; + for (const S of p) { + let C; + const N = []; + let _ = [], T = 0, $; if (d) { - const R = ct(a / i), j = E.units.length; - let B = 0; - r === 1 ? B = Math.trunc((i - j) / 2) : r === 2 && (B = i - j); - const W = x(P); - let $ = S(P); - _ = m(E); - for (let K = 0; K < j && K < i; K += 1) { - const ee = E.units[K], J = M(E, ee, _[K], P); - T.push(ct(R * (K + B + 0.5) - ct(J * 0.5))), $ = Math.min($, js(ee.descent, P)); - } - I = [{ - begin: j > 0 ? 0 : -1, - end: j - 1, + const j = lt(i / a), z = S.units.length; + let L = 0; + r === 1 ? L = Math.trunc((a - z) / 2) : r === 2 && (L = a - z); + const D = E(k); + let F = P(k); + _ = m(S); + for (let B = 0; B < z && B < a; B += 1) { + const V = S.units[B], Q = O(S, V, _[B], k); + N.push(lt(j * (B + L + 0.5) - lt(Q * 0.5))), F = Math.min(F, js(V.descent, k)); + } + C = [{ + begin: z > 0 ? 0 : -1, + end: z - 1, width: 0, - ascent: W, - descent: $ - }], F = ct(W - $); + ascent: D, + descent: F + }], $ = lt(D - F); } else { - I = []; - const R = v(E, P, I); - N = H2(r, l, R.width), F = R.height; - } - k.push({ - section: E, - lines: I, - cellX: T, + C = []; + const j = M(S, k, C); + T = iA(r, l, j.width), $ = j.height; + } + A.push({ + section: S, + lines: C, + cellX: N, cellJoins: _, - left: N, - top: A - }), A = ct(A + F), y = ct(y + F); - } - const w = n.centered ? ct(ct(y - c) / 2) : 0, O = []; - for (const { section: E, lines: I, cellX: T, cellJoins: _, left: N, top: F } of k) { - let R = 0; - for (const j of I) { - R = ct(R + j.ascent); - const B = ct(ct(R + F) - w); - R = ct(R - j.descent); - const W = []; - if (j.begin >= 0) if (d) T.forEach(($, K) => { - const ee = E.units[K], J = _[K]; - for (const ue of W2(E.paragraph, ee.grapheme, ee.grapheme + 1, P)) W.push({ - ...b(ue, $), - width: M(E, ee, J, P), - joinsPrevious: J.previous, - joinsNext: J.next + left: T, + top: w + }), w = lt(w + $), b = lt(b + $); + } + const v = n.centered ? lt(lt(b - c) / 2) : 0, x = []; + for (const { section: S, lines: C, cellX: N, cellJoins: _, left: T, top: $ } of A) { + let j = 0; + for (const z of C) { + j = lt(j + z.ascent); + const L = lt(lt(j + $) - v); + j = lt(j - z.descent); + const D = []; + if (z.begin >= 0) if (d) N.forEach((F, B) => { + const V = S.units[B], Q = _[B]; + for (const le of oA(S.paragraph, V.grapheme, V.grapheme + 1, k)) D.push({ + ...y(le, F), + width: O(S, V, Q, k), + joinsPrevious: Q.previous, + joinsNext: Q.next }); }); else { - let $ = H2(r, l, j.width); - const K = E.units[j.begin].grapheme, ee = E.units[j.end].grapheme + 1; - for (const J of W2(E.paragraph, K, ee, P)) - W.push(b(J, ct(ct($ - N) + N))), $ = ct($ + J.width); - } - O.push({ - baseline: ct(o.top - B), - runs: W + let F = iA(r, l, z.width); + const B = S.units[z.begin].grapheme, V = S.units[z.end].grapheme + 1; + for (const Q of oA(S.paragraph, B, V, k)) + D.push(y(Q, lt(lt(F - T) + T))), F = lt(F + Q.width); + } + x.push({ + baseline: lt(o.top - L), + runs: D }); } } return { - fontSize: P, - contentHeight: y, - lines: O, + fontSize: k, + contentHeight: b, + lines: x, rtl: f, - missing: h + missing: g }; - function b(E, I) { - const { font: T, text: _, rtl: N, plain: F, width: R } = E; + function y(S, C) { + const { font: N, text: _, rtl: T, plain: $, width: j } = S; return { - font: T, + font: N, text: _, - rtl: N, - plain: F, - x: ct(o.left + I), - width: R, + rtl: T, + plain: $, + x: lt(o.left + C), + width: j, joinsPrevious: !1, joinsNext: !1 }; } - function v(E, I, T) { - const { units: _ } = E; + function M(S, C, N) { + const { units: _ } = S; if (_.length === 0) { - const V = x(I), he = S(I); - return T?.push({ + const G = E(C), ge = P(C); + return N?.push({ begin: -1, end: -1, width: 0, - ascent: V, - descent: he + ascent: G, + descent: ge }), { width: 0, - height: ct(V - he) + height: lt(G - ge) }; } - let N = 0, F = 0, R = 0, j = 0, B = 0, W = 0, $ = 0, K = 0, ee = 0, J = 0, ue = !1, be = 0, we = 0, Oe = !1; - const Ce = (V) => { - T?.push({ - begin: N, - end: V, - width: j, - ascent: W, - descent: K - }), R = ct(R + W), R = ct(R - K), F = Math.max(j, F); + let T = 0, $ = 0, j = 0, z = 0, L = 0, D = 0, F = 0, B = 0, V = 0, Q = 0, le = !1, pe = 0, me = 0, Ae = !1; + const Pe = (G) => { + N?.push({ + begin: T, + end: G, + width: z, + ascent: D, + descent: B + }), j = lt(j + D), j = lt(j - B), $ = Math.max(z, $); }; let Me = 0; for (; Me < _.length; ) { - const V = _[Me], he = _[Me > 0 ? Me - 1 : Me]; - W = Math.max(W, js(V.ascent, I)), K = Math.min(K, js(V.descent, I)), Oe ? !eb(V.code) && !D2(V.code) && (Oe = !1) : D2(V.code) ? (Oe = !0, ue = !0) : kH(he.code, V.code) && (ue = !0), ue && (ue = !1, we > 0 && (be += 1), J = Me, B = j, $ = W, ee = K), we += 1; - const ve = g(E, V, I); - s && l > 0 && ct(j + ve) > l ? (be > 0 && (Me = J, j = B, W = $, K = ee), we === 1 && (j = ve, Me += 1), Ce(Me - 1), N = Me, j = 0, W = 0, K = 0, we = 0, be = 0, ue = !1) : (j = ct(j + ve), Me += 1); - } - return N <= _.length - 1 && Ce(_.length - 1), { - width: F, - height: R + const G = _[Me], ge = _[Me > 0 ? Me - 1 : Me]; + D = Math.max(D, js(G.ascent, C)), B = Math.min(B, js(G.descent, C)), Ae ? !lb(G.code) && !J2(G.code) && (Ae = !1) : J2(G.code) ? (Ae = !0, le = !0) : jV(ge.code, G.code) && (le = !0), le && (le = !1, me > 0 && (pe += 1), Q = Me, L = z, F = D, V = B), me += 1; + const ve = h(S, G, C); + s && l > 0 && lt(z + ve) > l ? (pe > 0 && (Me = Q, z = L, D = F, B = V), me === 1 && (z = ve, Me += 1), Pe(Me - 1), T = Me, z = 0, D = 0, B = 0, me = 0, pe = 0, le = !1) : (z = lt(z + ve), Me += 1); + } + return T <= _.length - 1 && Pe(_.length - 1), { + width: $, + height: j }; } } -function H2(e, t, n) { - return e === 1 ? ct(ct(t - n) * 0.5) : e === 2 ? ct(t - n) : 0; +function iA(e, t, n) { + return e === 1 ? lt(lt(t - n) * 0.5) : e === 2 ? lt(t - n) : 0; } -function DH(e, t) { - const { limit: n, cells: o, multiline: r, password: s } = t, i = EC(e), a = [""]; +function JV(e, t) { + const { limit: n, cells: o, multiline: r, password: s } = t, a = aI(e), i = [""]; let c = 0, l = 0, u = 0, f = 0; for (let d = 0; d < e.length; ) { let p = d + 1; - for (; p < e.length && !i[p]; ) p += 1; - const h = p - d; - if (n > 0 && c + h > n || o > 0 && l >= o) break; - const g = e[d]; - if (g === "\r" || g === ` + for (; p < e.length && !a[p]; ) p += 1; + const g = p - d; + if (n > 0 && c + g > n || o > 0 && l >= o) break; + const h = e[d]; + if (h === "\r" || h === ` `) { if (r) { - const m = g === "\r" ? ` + const m = h === "\r" ? ` ` : "\r"; - e[p] === m && (p += 1), a.push(""), u += 1, f += 1; + e[p] === m && (p += 1), i.push(""), u += 1, f += 1; } - } else n > 0 && u + h > n || o > 0 && f >= o || (a[a.length - 1] += s ? "*" : g === " " ? " " : e.slice(d, p), u += h, f += 1); - c += h, l += 1, d = p; + } else n > 0 && u + g > n || o > 0 && f >= o || (i[i.length - 1] += s ? "*" : h === " " ? " " : e.slice(d, p), u += g, f += 1); + c += g, l += 1, d = p; } - return a; + return i; } -const V2 = /* @__PURE__ */ new Map(); -function Hi(e) { - const t = V2.get(e); +const cA = /* @__PURE__ */ new Map(); +function Ya(e) { + const t = cA.get(e); if (t) return t; - const { fontFamily: n, fontWeight: o, fontStyle: r } = Pa(e), s = { - ...xH(e), + const { fontFamily: n, fontWeight: o, fontStyle: r } = Si(e), s = { + ...FV(e), fontFamily: n, fontWeight: o, fontStyle: r, - program: To(e) + program: No(e) }; - return V2.set(e, s), s; + return cA.set(e, s), s; } -function $H(e, t, n) { - const o = BH(e.covers); +function eG(e, t, n) { + const o = tG(e.covers); return { key: t.hash, ascent: e.ascent, @@ -32308,52 +32925,52 @@ function $H(e, t, n) { program: t }; } -function BH(e) { +function tG(e) { const t = [...e].sort((n, o) => n.start - o.start); return (n) => { let o = 0, r = t.length - 1; for (; o <= r; ) { - const s = o + r >> 1, { start: i, count: a } = t[s]; - if (n < i) r = s - 1; - else if (n >= i + a) o = s + 1; + const s = o + r >> 1, { start: a, count: i } = t[s]; + if (n < a) r = s - 1; + else if (n >= a + i) o = s + 1; else return !0; } return !1; }; } -const zH = 8205, WH = (e) => e >= 65024 && e <= 65039 || e >= 917760 && e <= 917999; -let Gu; -function jC() { - if (Gu) return Gu; +const nG = 8205, oG = (e) => e >= 65024 && e <= 65039 || e >= 917760 && e <= 917999; +let Xu; +function hI() { + if (Xu) return Xu; const e = xl(); - return Gu = { - key: ds, - ascent: ia.ascent, - descent: ia.descent, + return Xu = { + key: fs, + ascent: ai.ascent, + descent: ai.descent, standard: !1, covers: (t) => t >= 32 && (t < 55296 || t > 57343), width: (t) => { let n = 0; for (const o of t) { const r = o.codePointAt(0); - r !== zH && !WH(r) && (n += ia.advance); + r !== nG && !oG(r) && (n += ai.advance); } return n; }, - fontFamily: `"${Sr(ds)}"`, + fontFamily: `"${Pr(fs)}"`, fontWeight: e.weight, fontStyle: e.style, program: e - }, Gu; + }, Xu; } -function Z0(e) { +function fw(e) { return { - face: Hi(xi(e ?? "helvetica")), + face: Ya(Sa(e ?? "helvetica")), fallbacks: [], - lastResort: jC() + lastResort: hI() }; } -const UH = [ +const rG = [ 278, 278, 355, @@ -32449,7 +33066,7 @@ const UH = [ 260, 334, 584 -], KH = { +], sG = { "²": 333, "³": 333, "′": 191, @@ -32457,19 +33074,19 @@ const UH = [ "−": 584, " ": 278 }; -function qH(e) { +function aG(e) { let t = 0; for (const n of e) { const o = n.codePointAt(0); - t += UH[o - 32] ?? KH[n] ?? 556; + t += rG[o - 32] ?? sG[n] ?? 556; } return t / 1e3; } -const rs = 9; -function FC(e) { - return qH(e.trimEnd()) * rs; +const ss = 9; +function gI(e) { + return aG(e.trimEnd()) * ss; } -function yo(e) { +function wo(e) { if (e.subtype === "line" && e.intent === "line-dimension") return { intent: e.intent, @@ -32488,12 +33105,12 @@ function yo(e) { contents: e.contents }; } -const HH = { +const iG = { "line-dimension": "Distance", "polyline-dimension": "Perimeter", "polygon-dimension": "Area" }; -function J0(e) { +function pw(e) { const t = e.intent === "line-dimension" ? { captionEnabled: e.captionEnabled, captionPosition: e.captionPosition, @@ -32504,36 +33121,36 @@ function J0(e) { intent: e.intent, measure: e.measure?.subtype === "rectilinear" ? e.measure : null, ...Object.fromEntries(Object.entries(t).filter(([, n]) => n !== void 0)), - subject: HH[e.intent] + subject: iG[e.intent] }; } -const Oa = 2, VH = 7, GH = 24, YH = 20; -function zt(e, t, n) { +const Oi = 2, cG = 7, lG = 24, uG = 20; +function Ht(e, t, n) { return { x: e.x + t.x * n, y: e.y + t.y * n }; } -function ci(e, t, n) { +function ua(e, t, n) { return (t.x - e.x) * n.x + (t.y - e.y) * n.y; } -function ew(e, t) { +function hw(e, t) { const n = Math.hypot(t.x - e.x, t.y - e.y), o = n > 0 ? { x: (t.x - e.x) / n, y: (t.y - e.y) / n } : { x: 1, y: 0 }, r = { x: o.y, y: -o.x }; return { along: o, normal: r, length: n }; } -function QH(e, t) { +function dG(e, t) { if (e.kind !== "line") return t.contents ?? ""; - const n = gr({ + const n = mr({ subtype: "line", intent: t.intent, measure: t.measure, linePoints: e.linePoints }); - return Da(n) ? n.label : t.contents ?? ""; + return Fi(n) ? n.label : t.contents ?? ""; } -function XH(e, t, n, o, r) { - const s = (i, a) => zt(zt(e, t, i), n, a); +function fG(e, t, n, o, r) { + const s = (a, i) => Ht(Ht(e, t, a), n, i); return [ s(-o / 2, -r / 2), s(o / 2, -r / 2), @@ -32541,111 +33158,111 @@ function XH(e, t, n, o, r) { s(-o / 2, r / 2) ]; } -function ZH(e, t, n, o, r) { +function pG(e, t, n, o, r) { if (!r || r.along === 0 && r.perpendicular === 0) return []; - const s = ci(e, t.center, o), i = ci(e, t.center, n), a = t.width / 2 + Oa, c = t.height / 2 + Oa; + const s = ua(e, t.center, o), a = ua(e, t.center, n), i = t.width / 2 + Oi, c = t.height / 2 + Oi; if (Math.abs(s) <= c) return []; - if (Math.abs(i) <= a) { - const f = zt(e, o, s - Math.sign(s) * c); + if (Math.abs(a) <= i) { + const f = Ht(e, o, s - Math.sign(s) * c); return [{ from: e, to: f }]; } - const l = zt(e, o, s), u = zt(t.center, n, -Math.sign(i) * a); + const l = Ht(e, o, s), u = Ht(t.center, n, -Math.sign(a) * i); return [ { from: e, to: l }, { from: l, to: u } ]; } -function JH(e, t, n, o, r, s, i, a, c) { - if (a) { - const g = YH * c; +function hG(e, t, n, o, r, s, a, i, c) { + if (i) { + const h = uG * c; return [ - { from: zt(e, n, -g), to: e }, - { from: t, to: zt(t, n, g) } + { from: Ht(e, n, -h), to: e }, + { from: t, to: Ht(t, n, h) } ]; } - if (!s || i === "top") + if (!s || a === "top") return [{ from: e, to: t }]; - const l = ci(e, s.center, o); - if (Math.abs(l) >= s.height / 2 + Oa) + const l = ua(e, s.center, o); + if (Math.abs(l) >= s.height / 2 + Oi) return [{ from: e, to: t }]; - const u = ci(e, s.center, n), f = s.width / 2 + Oa, d = Math.max(0, Math.min(r, u - f)), p = Math.max(0, Math.min(r, u + f)), h = []; - return d > 0 && h.push({ from: e, to: zt(e, n, d) }), p < r && h.push({ from: zt(e, n, p), to: t }), h; + const u = ua(e, s.center, n), f = s.width / 2 + Oi, d = Math.max(0, Math.min(r, u - f)), p = Math.max(0, Math.min(r, u + f)), g = []; + return d > 0 && g.push({ from: e, to: Ht(e, n, d) }), p < r && g.push({ from: Ht(e, n, p), to: t }), g; } -function Ai(e, t, n) { +function Oa(e, t, n) { if (e.kind !== "line") return null; - const { start: o, end: r } = Tp(e), { along: s, normal: i, length: a } = ew(o, r), c = t.leader?.length ?? 0, l = zt(o, i, c), u = zt(r, i, c), f = zt(l, s, a / 2), d = QH(e, t), p = FC(d), h = !!t.captionEnabled && d.length > 0, g = h && p + 2 * Oa + GH * n > a; + const { start: o, end: r } = Fp(e), { along: s, normal: a, length: i } = hw(o, r), c = t.leader?.length ?? 0, l = Ht(o, a, c), u = Ht(r, a, c), f = Ht(l, s, i / 2), d = dG(e, t), p = gI(d), g = !!t.captionEnabled && d.length > 0, h = g && p + 2 * Oi + lG * n > i; let m = null; - if (h) { - const b = s.x < 0 || s.x === 0 && s.y > 0 ? { x: -s.x, y: -s.y } : s, v = { x: b.y, y: -b.x }, E = t.captionOffset; - let I = zt(f, s, E?.along ?? 0); - if (I = zt(I, i, E?.perpendicular ?? 0), t.captionPosition === "top" || g) { - const T = g && c < 0 ? -1 : 1, _ = g ? VH : Oa; - I = zt(I, i, T * (rs / 2 + _)); + if (g) { + const y = s.x < 0 || s.x === 0 && s.y > 0 ? { x: -s.x, y: -s.y } : s, M = { x: y.y, y: -y.x }, S = t.captionOffset; + let C = Ht(f, s, S?.along ?? 0); + if (C = Ht(C, a, S?.perpendicular ?? 0), t.captionPosition === "top" || h) { + const N = h && c < 0 ? -1 : 1, _ = h ? cG : Oi; + C = Ht(C, a, N * (ss / 2 + _)); } m = { text: d, - center: I, - along: b, - normal: v, + center: C, + along: y, + normal: M, width: p, - height: rs, - bounds: XH(I, b, v, p, rs) + height: ss, + bounds: fG(C, y, M, p, ss) }; } - const M = []; + const O = []; if (c !== 0) { - const O = Math.sign(c), b = O * (t.leader?.offset ?? 0), v = c + O * (t.leader?.extension ?? 0); - for (const E of [o, r]) - M.push({ - from: zt(E, i, b), - to: zt(E, i, v) + const x = Math.sign(c), y = x * (t.leader?.offset ?? 0), M = c + x * (t.leader?.extension ?? 0); + for (const S of [o, r]) + O.push({ + from: Ht(S, a, y), + to: Ht(S, a, M) }); } - const x = JH( + const E = hG( l, u, s, - i, a, + i, m, t.captionPosition, - g, + h, n - ), S = m ? ZH(f, m, s, i, t.captionOffset) : [], P = Math.atan2(s.y, s.x), k = g ? P : P + Math.PI, A = g ? P + Math.PI : P, y = [ - ...us(l, k, e.lineEndings?.start, n), - ...us(u, A, e.lineEndings?.end, n) - ], w = [ + ), P = m ? pG(f, m, s, a, t.captionOffset) : [], k = Math.atan2(s.y, s.x), A = h ? k : k + Math.PI, w = h ? k + Math.PI : k, b = [ + ...ds(l, A, e.lineEndings?.start, n), + ...ds(u, w, e.lineEndings?.end, n) + ], v = [ o, r, - ...x.flatMap((O) => [O.from, O.to]), - ...M.flatMap((O) => [O.from, O.to]), - ...S.flatMap((O) => [O.from, O.to]), - ...Gm(l, k, e.lineEndings?.start, n), - ...Gm(u, A, e.lineEndings?.end, n), + ...E.flatMap((x) => [x.from, x.to]), + ...O.flatMap((x) => [x.from, x.to]), + ...P.flatMap((x) => [x.from, x.to]), + ...ob(l, A, e.lineEndings?.start, n), + ...ob(u, w, e.lineEndings?.end, n), ...m?.bounds ?? [] ]; return { along: s, - normal: i, - length: a, + normal: a, + length: i, measuredStart: o, measuredEnd: r, dimensionStart: l, dimensionEnd: u, - dimensionSegments: x, - leaderSegments: M, - captionConnector: S, + dimensionSegments: E, + leaderSegments: O, + captionConnector: P, caption: m, - arrowPlacement: g ? "outside" : "inside", - endings: y, - selectionPoints: w, - visualBounds: DC(pt(w), n / 2 + 1) + arrowPlacement: h ? "outside" : "inside", + endings: b, + selectionPoints: v, + visualBounds: mI(ft(v), n / 2 + 1) }; } -function DC(e, t) { +function mI(e, t) { return { x: e.x - t, y: e.y - t, @@ -32653,19 +33270,19 @@ function DC(e, t) { height: e.height + 2 * t }; } -function eV(e, t, n) { - const o = Ai(e, t, n); +function gG(e, t, n) { + const o = Oa(e, t, n); if (!o || e.kind !== "line") - return Ga(e, { strokeWidth: n }); - const r = kn(e), s = Tp(e).start, i = o.selectionPoints.map((l) => ft(l, s, -r)), a = DC(pt(i), n / 2 + 1), c = (l, u) => ft({ x: l, y: u }, s, r); + return Vi(e, { strokeWidth: n }); + const r = On(e), s = Fp(e).start, a = o.selectionPoints.map((l) => ht(l, s, -r)), i = mI(ft(a), n / 2 + 1), c = (l, u) => ht({ x: l, y: u }, s, r); return [ - c(a.x, a.y), - c(a.x + a.width, a.y), - c(a.x + a.width, a.y + a.height), - c(a.x, a.y + a.height) + c(i.x, i.y), + c(i.x + i.width, i.y), + c(i.x + i.width, i.y + i.height), + c(i.x, i.y + i.height) ]; } -function $C(e) { +function bI(e) { return [ { id: "v0", at: e.measuredStart, cursor: "crosshair" }, { id: "v1", at: e.measuredEnd, cursor: "crosshair" }, @@ -32673,22 +33290,22 @@ function $C(e) { { id: "leader-end", at: e.dimensionEnd, cursor: "move" } ]; } -function tV(e, t, n = 0) { +function mG(e, t, n = 0) { const o = e.caption; if (!o) return !1; - const r = ci(o.center, t, o.along), s = ci(o.center, t, o.normal); + const r = ua(o.center, t, o.along), s = ua(o.center, t, o.normal); return Math.abs(r) <= o.width / 2 + n && Math.abs(s) <= o.height / 2 + n; } -const BC = (e) => e ? k0(e.bounds) : []; -function nV(e, t) { +const yI = (e) => e ? R0(e.bounds) : []; +function bG(e, t) { const n = t / 2, o = [ ...e.dimensionSegments, ...e.leaderSegments, ...e.captionConnector ]; return [ - ...BC(e.caption), + ...yI(e.caption), ...o.map( ({ from: r, to: s }) => ({ kind: "stroke", @@ -32697,78 +33314,78 @@ function nV(e, t) { halfWidth: n }) ), - ...x0(e.endings, t) + ...L0(e.endings, t) ]; } -function ob(e, t) { +function fb(e, t) { if (e.kind !== "line") return 0; - const { start: n, end: o } = Tp(e), { normal: r } = ew(n, o); - return ci(n, t, r); + const { start: n, end: o } = Fp(e), { normal: r } = hw(n, o); + return ua(n, t, r); } -function oV(e, t, n) { +function yG(e, t, n) { if (e.kind !== "line") return t; - const { start: o, end: r } = Tp(e), { along: s, normal: i } = ew(o, r), a = t.captionOffset; + const { start: o, end: r } = Fp(e), { along: s, normal: a } = hw(o, r), i = t.captionOffset; return { ...t, captionOffset: { - along: (a?.along ?? 0) + n.x * s.x + n.y * s.y, - perpendicular: (a?.perpendicular ?? 0) + n.x * i.x + n.y * i.y + along: (i?.along ?? 0) + n.x * s.x + n.y * s.y, + perpendicular: (i?.perpendicular ?? 0) + n.x * a.x + n.y * a.y } }; } -function rV(e, t) { +function wG(e, t) { const n = [ ...e.dimensionSegments, ...e.leaderSegments, ...e.captionConnector ].map((o) => ({ kind: "line", a: o.from, b: o.to })); - return pt([ - ...S0([...n, ...e.endings], t), + return ft([ + ...F0([...n, ...e.endings], t), ...e.caption?.bounds ?? [] ]); } -function sV(e, t, n) { - const o = Ai(e, t, n.strokeWidth); +function vG(e, t, n) { + const o = Oa(e, t, n.strokeWidth); if (!o) return []; const r = { stroke: n.color ?? void 0, width: n.strokeWidth, opacity: n.opacity, - dash: gC(n) - }, i = [ + dash: VC(n) + }, a = [ ...o.dimensionSegments, ...o.leaderSegments, ...o.captionConnector - ].map((a) => ({ + ].map((i) => ({ kind: "line", - a: a.from, - b: a.to, + a: i.from, + b: i.to, paint: r })); - for (const a of o.endings) { - const c = a.kind === "ellipse" || a.kind === "poly" && a.closed; - i.push({ - ...a, + for (const i of o.endings) { + const c = i.kind === "ellipse" || i.kind === "poly" && i.closed; + a.push({ + ...i, paint: { ...r, fill: c ? n.interiorColor ?? void 0 : void 0 } }); } - return i.push(...zC(o.caption, n)), i; + return a.push(...wI(o.caption, n)), a; } -function zC(e, t) { +function wI(e, t) { if (e) { - const n = Hi("helvetica"), o = zt(e.center, e.normal, -rs * 0.33); + const n = Ya("helvetica"), o = Ht(e.center, e.normal, -ss * 0.33); return [ { kind: "text", - at: zt(o, e.along, -e.width / 2), + at: Ht(o, e.along, -e.width / 2), text: e.text, - fontSize: rs, + fontSize: ss, fontFamily: n.fontFamily, program: n.program, rotation: Math.atan2(e.along.y, e.along.x) * 180 / Math.PI, @@ -32778,31 +33395,31 @@ function zC(e, t) { } return []; } -const aa = { x: 0, y: 0 }; -function Yp(e, t) { - return gr({ +const ii = { x: 0, y: 0 }; +function Jp(e, t) { + return mr({ subtype: t.intent === "polygon-dimension" ? "polygon" : "polyline", intent: t.intent, measure: t.measure, vertices: e.kind === "poly" ? e.vertices : [] }); } -function iV(e, t) { - const n = Yp(e, t); - return Da(n) ? n.label : n.unavailable === "invalid-geometry" ? "—" : t.contents ?? ""; +function kG(e, t) { + const n = Jp(e, t); + return Fi(n) ? n.label : n.unavailable === "invalid-geometry" ? "—" : t.contents ?? ""; } -function aV(e, t) { - if (!e.length) return aa; +function xG(e, t) { + if (!e.length) return ii; if (!t) { const u = e.slice(1).map((d, p) => Math.hypot(d.x - e[p].x, d.y - e[p].y)); let f = u.reduce((d, p) => d + p, 0) / 2; for (let d = 0; d < u.length; d++) { const p = u[d]; if (p > 0 && f <= p) { - const h = f / p; + const g = f / p; return { - x: e[d].x + h * (e[d + 1].x - e[d].x), - y: e[d].y + h * (e[d + 1].y - e[d].y) - rs / 2 - 2 + x: e[d].x + g * (e[d + 1].x - e[d].x), + y: e[d].y + g * (e[d + 1].y - e[d].y) - ss / 2 - 2 }; } f -= p; @@ -32812,127 +33429,127 @@ function aV(e, t) { const n = e[0]; let o = 0, r = 0, s = 0; for (let u = 0; u < e.length; u++) { - const f = { x: e[u].x - n.x, y: e[u].y - n.y }, d = e[(u + 1) % e.length], p = { x: d.x - n.x, y: d.y - n.y }, h = f.x * p.y - p.x * f.y; - o += h, r += (f.x + p.x) * h, s += (f.y + p.y) * h; + const f = { x: e[u].x - n.x, y: e[u].y - n.y }, d = e[(u + 1) % e.length], p = { x: d.x - n.x, y: d.y - n.y }, g = f.x * p.y - p.x * f.y; + o += g, r += (f.x + p.x) * g, s += (f.y + p.y) * g; } if (Math.abs(o) > 1e-8) { const u = { x: n.x + r / (3 * o), y: n.y + s / (3 * o) }; - if (Ql(u, e)) return u; + if (Zl(u, e)) return u; } - const i = pt([...e]), a = { x: i.x + i.width / 2, y: i.y + i.height / 2 }, c = []; + const a = ft([...e]), i = { x: a.x + a.width / 2, y: a.y + a.height / 2 }, c = []; for (let u = 0; u < e.length; u++) { const f = e[u], d = e[(u + 1) % e.length]; - f.y > a.y != d.y > a.y && c.push( - f.x + (a.y - f.y) * (d.x - f.x) / (d.y - f.y) + f.y > i.y != d.y > i.y && c.push( + f.x + (i.y - f.y) * (d.x - f.x) / (d.y - f.y) ); } c.sort((u, f) => u - f); let l = -1; for (let u = 1; u < c.length; u += 2) { const f = c[u] - c[u - 1]; - f > l && (l = f, a.x = (c[u] + c[u - 1]) / 2); + f > l && (l = f, i.x = (c[u] + c[u - 1]) / 2); } - return a; + return i; } -function tu(e, t, n) { +function ou(e, t, n) { if (e.kind !== "poly" || !e.vertices.length) return null; - const o = kn(e), r = PK(e).map((h) => ft(h, aa, -o)), s = e.captionCenter ? AK(e, e.captionCenter) : ft(aV(r, e.closed), aa, o), i = iV(e, t), a = FC(i), c = rs, l = ft({ x: 1, y: 0 }, aa, o), u = { x: l.y, y: -l.x }, f = (h, g) => ({ - x: s.x + h * l.x + g * u.x, - y: s.y + h * l.y + g * u.y - }), d = t.captionEnabled && i ? { - text: i, + const o = On(e), r = Bq(e).map((g) => ht(g, ii, -o)), s = e.captionCenter ? Dq(e, e.captionCenter) : ht(xG(r, e.closed), ii, o), a = kG(e, t), i = gI(a), c = ss, l = ht({ x: 1, y: 0 }, ii, o), u = { x: l.y, y: -l.x }, f = (g, h) => ({ + x: s.x + g * l.x + h * u.x, + y: s.y + g * l.y + h * u.y + }), d = t.captionEnabled && a ? { + text: a, center: s, along: l, normal: u, - width: a, + width: i, height: c, bounds: [ - f(-a / 2, -c / 2), - f(a / 2, -c / 2), - f(a / 2, c / 2), - f(-a / 2, c / 2) + f(-i / 2, -c / 2), + f(i / 2, -c / 2), + f(i / 2, c / 2), + f(-i / 2, c / 2) ] - } : null, p = [...Ga(e, n), ...d?.bounds ?? []]; - return { caption: d, selectionPoints: p, visualBounds: pt(p) }; + } : null, p = [...Vi(e, n), ...d?.bounds ?? []]; + return { caption: d, selectionPoints: p, visualBounds: ft(p) }; } function Sl(e, t, n) { - return t.intent === "line-dimension" ? Ai(e, t, n.strokeWidth) : tu(e, t, n); + return t.intent === "line-dimension" ? Oa(e, t, n.strokeWidth) : ou(e, t, n); } -function WC(e, t, n) { +function vI(e, t, n) { if (t.intent === "line-dimension") - return eV(e, t, n.strokeWidth); - const o = tu(e, t, n); - if (!o) return Ga(e, n); - const r = kn(e), s = pt( - o.selectionPoints.map((i) => ft(i, aa, -r)) + return gG(e, t, n.strokeWidth); + const o = ou(e, t, n); + if (!o) return Vi(e, n); + const r = On(e), s = ft( + o.selectionPoints.map((a) => ht(a, ii, -r)) ); return [ { x: s.x, y: s.y }, { x: s.x + s.width, y: s.y }, { x: s.x + s.width, y: s.y + s.height }, { x: s.x, y: s.y + s.height } - ].map((i) => ft(i, aa, r)); + ].map((a) => ht(a, ii, r)); } -function Qp(e, t, n, o) { +function eh(e, t, n, o) { if (t.intent === "line-dimension") - return { geometry: e, measure: oV(e, t, n) }; - const r = tu(e, t, o)?.caption?.center; + return { geometry: e, measure: yG(e, t, n) }; + const r = ou(e, t, o)?.caption?.center; if (!r || e.kind !== "poly") return { geometry: e, measure: t }; const s = { x: r.x + n.x, y: r.y + n.y }; return { - geometry: { ...e, captionCenter: SK(e, s) }, + geometry: { ...e, captionCenter: $q(e, s) }, measure: t }; } -const rb = (e) => rp.has(e.subtype); -function UC(e) { - const t = gt(e), n = Wt(e), o = Ze(t).rect(t, n), r = yo(e); +const pb = (e) => cp.has(e.subtype); +function kI(e) { + const t = bt(e), n = Vt(e), o = et(t).rect(t, n), r = wo(e); if (!r) return o; if (r.intent === "line-dimension") { - const i = Ai(t, r, n.strokeWidth); - return i ? rV(i, n.strokeWidth) : o; + const a = Oa(t, r, n.strokeWidth); + return a ? wG(a, n.strokeWidth) : o; } - const s = tu(t, r, n)?.caption; - return s ? pt([...xo(o), ...s.bounds]) : o; + const s = ou(t, r, n)?.caption; + return s ? ft([...ao(o), ...s.bounds]) : o; } -function KC(e, t) { - const n = dP(e, t); - return rb(n) ? { ...n, rect: UC(n) } : n; +function xI(e, t) { + const n = RO(e, t); + return pb(n) ? { ...n, rect: kI(n) } : n; } -function tw(e, t) { - const n = uP(e, t), o = b5(e, ap(e, t)); +function gw(e, t) { + const n = TO(e, t), o = D5(e, dp(e, t)); switch (o.impact) { case "inert": return n; case "translation": { - if (!rb(n)) return n; + if (!pb(n)) return n; const { rect: r } = e; return { ...n, rect: { ...r, x: r.x + o.by.x, y: r.y + o.by.y } }; } case "regenerate": return { ...n, - ...m5.has(n.subtype) ? {} : { hasAppearance: !0 }, - ...rb(n) ? { rect: UC(n) } : {} + ...j5.has(n.subtype) ? {} : { hasAppearance: !0 }, + ...pb(n) ? { rect: kI(n) } : {} }; } } -function Ec(e) { - const t = "box" in e && GR(e) !== null ? e.box : void 0; +function Mc(e) { + const t = "box" in e && B8(e) !== null ? e.box : void 0; return { - id: ie(e.ref), + id: Y(e.ref), source: "baked", annotation: e, apBox: t ?? e.rect, - ...t ? { apRot: kn(gt(e)) } : {} + ...t ? { apRot: On(bt(e)) } : {} }; } -const qC = (e) => !!e && !Kp(e); -function nw(e, t) { +const AI = (e) => !!e && !Gp(e); +function mw(e, t) { const n = t.map((r) => e.byId[r]).filter((r) => !!r); if (n.length === 0) return { movable: !1, resizable: !1, rotatable: !1 }; const o = (r) => n.every( - (s) => Qo(e, s) && r(mt(s.annotation).caps) + (s) => Xo(e, s) && r(yt(s.annotation).caps) ); return { movable: o((r) => r.groupMovable), @@ -32940,260 +33557,260 @@ function nw(e, t) { rotatable: o((r) => r.groupRotatable) }; } -function HC(e, t) { +function SI(e, t) { const n = e.byId[t]; if (!n) return null; - const o = ii(n.annotation); - if (o) return Kp(n) ? null : o; + const o = ca(n.annotation); + if (o) return Gp(n) ? null : o; for (const r of e.order) { const s = e.byId[r]; - if (s && ii(s.annotation) === t && qC(s)) return t; + if (s && ca(s.annotation) === t && AI(s)) return t; } return null; } -function VC(e, t) { - const n = HC(e, t); +function OI(e, t) { + const n = SI(e, t); if (n == null) return [t]; const o = []; e.byId[n] && o.push(n); for (const r of e.order) { const s = e.byId[r]; - r !== n && s && ii(s.annotation) === n && qC(s) && o.push(r); + r !== n && s && ca(s.annotation) === n && AI(s) && o.push(r); } return o; } -function Nf(e, t) { +function Tf(e, t) { const n = [], o = /* @__PURE__ */ new Set(); for (const r of t) - for (const s of VC(e, r)) + for (const s of OI(e, r)) o.has(s) || (o.add(s), n.push(s)); return n; } -function Ut(e) { - const t = mt(e.annotation).caps, n = !!e.annotation.noZoom || t.noZoom, o = !!e.annotation.noRotate || t.noRotate; +function Gt(e) { + const t = yt(e.annotation).caps, n = !!e.annotation.noZoom || t.noZoom, o = !!e.annotation.noRotate || t.noRotate; return n || o ? { zoom: n, upright: o } : null; } -const GC = (e) => e.kind === "box" || e.kind === "line" || e.kind === "poly" || e.kind === "ink" || e.kind === "text-box" && !e.calloutLine, ow = (e) => { - const t = PC(e); +const PI = (e) => e.kind === "box" || e.kind === "line" || e.kind === "poly" || e.kind === "ink" || e.kind === "text-box" && !e.calloutLine, bw = (e) => { + const t = oI(e); return { x: t.x, y: t.y }; -}, xg = { x: 0, y: 0 }; -function nu(e, t) { +}, Mg = { x: 0, y: 0 }; +function ru(e, t) { if (!e || !t) return null; - const n = e.zoom ? Math.max(t.zoom || 1, 1) : 1, o = e.upright ? Qt(t.rotation) : 0; + const n = e.zoom ? Math.max(t.zoom || 1, 1) : 1, o = e.upright ? tn(t.rotation) : 0; return n !== 1 || o !== 0 ? { s: n, r: o } : null; } -function YC(e, t) { - const n = nu(e, t); +function MI(e, t) { + const n = ru(e, t); return n ? 1 / n.s : 1; } -function Xo(e, t, n) { - const o = nu(t, n); - if (!o || !GC(e)) return e; - const r = ow(e); +function Zo(e, t, n) { + const o = ru(t, n); + if (!o || !PI(e)) return e; + const r = bw(e); let s = e; - return o.s !== 1 && (s = Hp(s, r, 1 / o.s, 1 / o.s)), o.r !== 0 && (s = Jl(s, r, Qt(-o.r))), s; + return o.s !== 1 && (s = Qp(s, r, 1 / o.s, 1 / o.s)), o.r !== 0 && (s = tu(s, r, tn(-o.r))), s; } -function rw(e, t, n) { - const o = nu(t, n); - if (!o || !GC(e)) return e; +function yw(e, t, n) { + const o = ru(t, n); + if (!o || !PI(e)) return e; let r = e; - o.s !== 1 && (r = Hp(r, xg, o.s, o.s)), o.r !== 0 && (r = Jl(r, xg, o.r)); - const s = ow(r), i = ft(s, xg, -o.r); - return z0(r, { - x: i.x / o.s - s.x, - y: i.y / o.s - s.y + o.s !== 1 && (r = Qp(r, Mg, o.s, o.s)), o.r !== 0 && (r = tu(r, Mg, o.r)); + const s = bw(r), a = ht(s, Mg, -o.r); + return tw(r, { + x: a.x / o.s - s.x, + y: a.y / o.s - s.y }); } -const sw = (e, t, n) => { - const o = nu(t, n); +const ww = (e, t, n) => { + const o = ru(t, n); return o ? e / o.s : e; }; -function cV(e, t, n, o) { - const r = nu(n, o); +function AG(e, t, n, o) { + const r = ru(n, o); if (!r) return null; - const s = { x: e.x + e.width / 2, y: e.y + e.height / 2 }, i = { + const s = { x: e.x + e.width / 2, y: e.y + e.height / 2 }, a = { x: t.x + (s.x - t.x) / r.s, y: t.y + (s.y - t.y) / r.s - }, a = r.r !== 0 ? ft(i, t, Qt(-r.r)) : i, c = e.width / r.s, l = e.height / r.s; + }, i = r.r !== 0 ? ht(a, t, tn(-r.r)) : a, c = e.width / r.s, l = e.height / r.s; return { - box: { x: a.x - c / 2, y: a.y - l / 2, width: c, height: l }, - rot: Qt(-r.r) + box: { x: i.x - c / 2, y: i.y - l / 2, width: c, height: l }, + rot: tn(-r.r) }; } -function vr(e, t, n) { - const o = n?.style ?? Wt(e.annotation), r = n?.measure ?? yo(e.annotation), s = Ut(e), i = Xo(n?.geometry ?? gt(e.annotation), s, t), a = sw(o.strokeWidth, s, t), c = r ? WC(i, r, { ...o, strokeWidth: a }) : Ga(i, { ...o, strokeWidth: a }); +function kr(e, t, n) { + const o = n?.style ?? Vt(e.annotation), r = n?.measure ?? wo(e.annotation), s = Gt(e), a = Zo(n?.geometry ?? bt(e.annotation), s, t), i = ww(o.strokeWidth, s, t), c = r ? vI(a, r, { ...o, strokeWidth: i }) : Vi(a, { ...o, strokeWidth: i }); return { corners: c, center: { x: (c[0].x + c[1].x + c[2].x + c[3].x) / 4, y: (c[0].y + c[1].y + c[2].y + c[3].y) / 4 }, - angle: Tq(i) ? kn(i) : 0 + angle: GH(a) ? On(a) : 0 }; } -function iw(e, t) { - return Nq(Xo(gt(e.annotation), Ut(e), t)); +function vw(e, t) { + return VH(Zo(bt(e.annotation), Gt(e), t)); } -function QC(e, t) { +function EI(e, t) { const n = t.objectNumber, o = [], r = []; for (const s of e.order) { - const i = e.byId[s]; - !i || i.annotation.page.objectNumber !== n || j0(i.annotation, e.selected.includes(s)) && (F0(i) || (mt(i.annotation).caps.paintsBeneath ? o : r).push(s)); + const a = e.byId[s]; + !a || a.annotation.page.objectNumber !== n || Q0(a.annotation, e.selected.includes(s)) && (X0(a) || (yt(a.annotation).caps.paintsBeneath ? o : r).push(s)); } return [...o, ...r]; } const vo = (e, t) => { const n = e.byId[t]; - return !!n && zp(n) && mt(n.annotation).caps.selectable; -}, XC = (e) => mt(e.annotation).caps.anchored && gt(e.annotation).kind === "quads", Ma = (e, t) => { + return !!n && qp(n) && yt(n.annotation).caps.selectable; +}, CI = (e) => yt(e.annotation).caps.anchored && bt(e.annotation).kind === "quads", II = (e) => yt(e.annotation).caps.movable && !CI(e), Pi = (e, t) => { const n = e.byId[t]; - return !!n && Qo(e, n) && mt(n.annotation).caps.movable && !XC(n); -}, lV = (e, t) => { - if (!Qo(e, t) || XC(t)) return !1; - const n = mt(t.annotation).caps; + return !!n && Xo(e, n) && II(n); +}, SG = (e, t) => { + if (!Xo(e, t) || CI(t)) return !1; + const n = yt(t.annotation).caps; return n.resizable || n.vertexEditable; -}, aw = (e, t) => Xo(gt(e.annotation), Ut(e), t); -function ZC(e, t) { - const n = Wt(e.annotation), o = yo(e.annotation), r = aw(e, t), s = { ...n, strokeWidth: sb(e, t) }; +}, kw = (e, t) => Zo(bt(e.annotation), Gt(e), t); +function _I(e, t) { + const n = Vt(e.annotation), o = wo(e.annotation), r = kw(e, t), s = { ...n, strokeWidth: hb(e, t) }; if (o?.intent === "line-dimension") { - const c = Ai(r, o, s.strokeWidth); - if (c) return nV(c, s.strokeWidth); + const c = Oa(r, o, s.strokeWidth); + if (c) return bG(c, s.strokeWidth); } - const i = o ? Sl(r, o, s)?.caption : null, a = Wq(r, s, dV(e)); - return i ? [...BC(i), ...a] : a; + const a = o ? Sl(r, o, s)?.caption : null, i = oV(r, s, PG(e)); + return a ? [...yI(a), ...i] : i; } -function uV(e, t, n, o) { - const r = aw(e, o); - return r.kind === "text-box" && XU(r, t, n); +function OG(e, t, n, o) { + const r = kw(e, o); + return r.kind === "text-box" && fq(r, t, n); } -const sb = (e, t) => sw(Wt(e.annotation).strokeWidth, Ut(e), t), dV = (e) => { - const t = gt(e.annotation); - return Wt(e.annotation).interiorColor != null || t.kind === "quads" || mt(e.annotation).caps.opaqueBody; -}, fV = (e, t) => t.x >= e.x && t.x <= e.x + e.width && t.y >= e.y && t.y <= e.y + e.height, pV = (e, t, n) => zq(t, vr(e, n).corners); -function hV(e, t, n) { +const hb = (e, t) => ww(Vt(e.annotation).strokeWidth, Gt(e), t), PG = (e) => { + const t = bt(e.annotation); + return Vt(e.annotation).interiorColor != null || t.kind === "quads" || yt(e.annotation).caps.opaqueBody; +}, MG = (e, t) => t.x >= e.x && t.x <= e.x + e.width && t.y >= e.y && t.y <= e.y + e.height, EG = (e, t, n) => nV(t, kr(e, n).corners); +function CG(e, t, n) { const o = t.objectNumber, r = e.selected.filter( - (i) => e.byId[i]?.annotation.page.objectNumber === o && vo(e, i) && Ma(e, i) + (a) => e.byId[a]?.annotation.page.objectNumber === o && vo(e, a) && Pi(e, a) ); if (r.length < 2) return null; const s = []; - for (const i of r) { - const a = e.byId[i]; - s.push(...vr(a, n).corners); + for (const a of r) { + const i = e.byId[a]; + s.push(...kr(i, n).corners); } - return pt(s); + return ft(s); } -function ib(e, t, n) { +function gb(e, t, n) { const o = t.objectNumber, r = []; for (const s of e.selected) { - const i = e.byId[s]; - !i || i.annotation.page.objectNumber !== o || r.push(...vr(i, n).corners); + const a = e.byId[s]; + !a || a.annotation.page.objectNumber !== o || r.push(...kr(a, n).corners); } - return r.length ? pt(r) : null; + return r.length ? ft(r) : null; } -function cw(e, t, n, o, r, s, i, a) { +function xw(e, t, n, o, r, s, a, i) { const c = t.objectNumber; if (e.selected.length === 1 && vo(e, e.selected[0])) { const f = e.byId[e.selected[0]]; if (f.annotation.page.objectNumber === c) { - if (mt(f.annotation).caps.rotatable && Qo(e, f)) { - const d = vr(f, a), p = If(d.corners, o.knobOffset, s); + if (yt(f.annotation).caps.rotatable && Xo(e, f)) { + const d = kr(f, i), p = _f(d.corners, o.knobOffset, s); if (o.rotationHandle !== !1 && Math.abs(p.at.x - n.x) <= o.knobTol && Math.abs(p.at.y - n.y) <= o.knobTol) return { kind: "rotate", ids: [f.id], - pivot: iw(f, a) + pivot: vw(f, i) }; } - if (lV(e, f)) { - const d = Wt(f.annotation), p = yo(f.annotation), h = aw(f, a), g = p?.intent === "line-dimension" && Ai(h, p, sb(f, a)), m = g ? $C(g) : B0(h); - if (g) { - const x = (S) => Math.hypot(S.at.x - n.x, S.at.y - n.y); - m.sort((S, P) => x(S) - x(P)); + if (SG(e, f)) { + const d = Vt(f.annotation), p = wo(f.annotation), g = kw(f, i), h = p?.intent === "line-dimension" && Oa(g, p, hb(f, i)), m = h ? bI(h) : ew(g); + if (h) { + const E = (P) => Math.hypot(P.at.x - n.x, P.at.y - n.y); + m.sort((P, k) => E(P) - E(k)); } - const M = p && Sl(h, p, { + const O = p && Sl(g, p, { ...d, - strokeWidth: sb(f, a) + strokeWidth: hb(f, i) }); - if (M && tV(M, n, Math.min(2, o.handleTol / 3))) + if (O && mG(O, n, Math.min(2, o.handleTol / 3))) return { kind: "handle", id: f.id, handle: "caption", cursor: "move" }; - for (const x of m) - if (Math.abs(x.at.x - n.x) <= o.handleTol && Math.abs(x.at.y - n.y) <= o.handleTol) + for (const E of m) + if (Math.abs(E.at.x - n.x) <= o.handleTol && Math.abs(E.at.y - n.y) <= o.handleTol) return { kind: "handle", id: f.id, - handle: x.id, - cursor: Af(x.cursor, a?.rotation ?? 0) + handle: E.id, + cursor: Sf(E.cursor, i?.rotation ?? 0) }; } } } else if (e.selected.length > 1) { - const f = nw(e, e.selected); + const f = mw(e, e.selected); if (f.rotatable) { - const d = ib(e, t, a); + const d = gb(e, t, i); if (d) { const p = [ { x: d.x, y: d.y }, { x: d.x + d.width, y: d.y }, { x: d.x + d.width, y: d.y + d.height }, { x: d.x, y: d.y + d.height } - ], h = If(p, o.knobOffset, s); - if (o.rotationHandle !== !1 && Math.abs(h.at.x - n.x) <= o.knobTol && Math.abs(h.at.y - n.y) <= o.knobTol) { - const g = { x: d.x + d.width / 2, y: d.y + d.height / 2 }; + ], g = _f(p, o.knobOffset, s); + if (o.rotationHandle !== !1 && Math.abs(g.at.x - n.x) <= o.knobTol && Math.abs(g.at.y - n.y) <= o.knobTol) { + const h = { x: d.x + d.width / 2, y: d.y + d.height / 2 }; return { kind: "rotate", ids: e.selected.filter( (m) => e.byId[m]?.annotation.page.objectNumber === c ), - pivot: g + pivot: h }; } } } if (f.resizable) { - const d = ib(e, t, a); + const d = gb(e, t, i); if (d) { - for (const p of xC(d)) + for (const p of eI(d)) if (Math.abs(p.at.x - n.x) <= o.handleTol && Math.abs(p.at.y - n.y) <= o.handleTol) return { kind: "group-handle", ids: e.selected.filter( - (h) => e.byId[h]?.annotation.page.objectNumber === c + (g) => e.byId[g]?.annotation.page.objectNumber === c ), handle: p.id, - cursor: Af(p.cursor, a?.rotation ?? 0), + cursor: Sf(p.cursor, i?.rotation ?? 0), box: d }; } } } - const l = QC(e, t); + const l = EI(e, t); for (let f = l.length - 1; f >= 0; f--) { const d = l[f], p = e.byId[d]; - if (!(!p || i?.has(d) || !vo(e, d))) { - if (e.selected.includes(d) && Ma(e, d) && pV(p, n, a)) + if (!(!p || a?.has(d) || !vo(e, d))) { + if (e.selected.includes(d) && Pi(e, d) && EG(p, n, i)) return { kind: "annot", id: d }; - if (eK(ZC(p, a), n, r)) + if (gq(_I(p, i), n, r)) return { kind: "annot", id: d }; } } - const u = hV(e, t, a); - if (u && fV(u, n)) { + const u = CG(e, t, i); + if (u && MG(u, n)) { for (let f = l.length - 1; f >= 0; f--) - if (e.selected.includes(l[f]) && Ma(e, l[f])) + if (e.selected.includes(l[f]) && Pi(e, l[f])) return { kind: "annot", id: l[f] }; } return { kind: "empty" }; } -function gV(e, t, n, o, r, s, i, a) { - const c = cw(e, t, n, o, r, s, i, a); - return c.kind === "handle" || c.kind === "group-handle" ? c.cursor : c.kind === "rotate" ? "grab" : c.kind === "annot" ? e.selected.includes(c.id) && Ma(e, c.id) ? "move" : "pointer" : null; +function IG(e, t, n, o, r, s, a, i) { + const c = xw(e, t, n, o, r, s, a, i); + return c.kind === "handle" || c.kind === "group-handle" ? c.cursor : c.kind === "rotate" ? "grab" : c.kind === "annot" ? e.selected.includes(c.id) && Pi(e, c.id) ? "move" : "pointer" : null; } -const Ya = (e) => e.painter !== void 0 || !mt(e.annotation).caps.rasterOnly, lw = (e) => Ya({ annotation: e }) ? "vector" : "baked", G2 = (e, t) => Ya({ annotation: e }) && (t || !e.hasAppearance) ? "vector" : "baked"; -function Tf(e, t) { - if (!Ya(e)) return {}; - const n = b5( +const Gi = (e) => e.painter !== void 0 || !yt(e.annotation).caps.rasterOnly, th = (e) => Gi({ annotation: e }) ? "vector" : "baked", lA = (e, t) => Gi({ annotation: e }) && (t || !e.hasAppearance) ? "vector" : "baked"; +function Rf(e, t) { + if (!Gi(e)) return {}; + const n = D5( e.annotation, - ap(e.annotation, t) + dp(e.annotation, t) ); switch (n.impact) { case "inert": @@ -33206,50 +33823,50 @@ function Tf(e, t) { return e.source === "vector" ? {} : { source: "vector" }; } } -function mV(e, t) { +function _G(e, t) { return { ...e, - annotation: tw(e.annotation, t), - ...Tf(e, t) + annotation: gw(e.annotation, t), + ...Rf(e, t) }; } -function JC(e, t) { +function NI(e, t) { const n = e.byId[t]; - if (!Ya(n)) return n.source; - if (e.editing === t && gt(n.annotation).kind === "text-box") return "vector"; + if (!Gi(n)) return n.source; + if (e.editing === t && bt(n.annotation).kind === "text-box") return "vector"; const o = e.draft; return (o?.kind === "handle" || o?.kind === "caption" || o?.kind === "leader") && o.id === t || (o?.kind === "rotate" || o?.kind === "group") && o.ids.includes(t) ? "vector" : n.source; } -function bV(e, t) { +function NG(e, t) { const { annotation: n, apBox: o } = e; - return n.subtype === "stamp" && n.fit === "contain" && o ? yB(o, t) : t; + return n.subtype === "stamp" && n.fit === "contain" && o ? P9(o, t) : t; } -function yV(e, t, n, o) { +function TG(e, t, n, o) { const r = e.byId[t]; - if (mt(r.annotation).caps.rasterOnly) + if (yt(r.annotation).caps.rasterOnly) return { - box: o.kind === "box" ? bV(r, o.box) : r.apBox, - rot: kn(o) || void 0 + box: o.kind === "box" ? NG(r, o.box) : r.apBox, + rot: On(o) || void 0 }; if (!r.apBox) return { rot: r.apRot }; - const s = cV( + const s = AG( r.apBox, - ow(gt(r.annotation)), - Ut(r), + bw(bt(r.annotation)), + Gt(r), n ); - let i = s?.box ?? r.apBox; - const a = Qt((r.apRot ?? 0) + (s?.rot ?? 0)) || void 0, c = e.draft; - return c?.kind === "move" && c.ids.includes(t) && (i = { ...i, x: i.x + c.delta.x, y: i.y + c.delta.y }), { box: i, rot: a }; + let a = s?.box ?? r.apBox; + const i = tn((r.apRot ?? 0) + (s?.rot ?? 0)) || void 0, c = e.draft; + return c?.kind === "move" && c.ids.includes(t) && (a = { ...a, x: a.x + c.delta.x, y: a.y + c.delta.y }), { box: a, rot: i }; } -function wV(e, t) { +function RG(e, t) { if (e.length < 3) return [...e]; - const n = e[0], o = e[e.length - 1], r = o.x - n.x, s = o.y - n.y, i = Math.hypot(r, s); - if (i < 3) return [...e]; + const n = e[0], o = e[e.length - 1], r = o.x - n.x, s = o.y - n.y, a = Math.hypot(r, s); + if (a < 3) return [...e]; if (e.reduce((l, u) => { - const f = Math.abs(r * (n.y - u.y) - (n.x - u.x) * s) / i; + const f = Math.abs(r * (n.y - u.y) - (n.x - u.x) * s) / a; return Math.max(l, f); - }, 0) / i >= t.deviationThreshold) return [...e]; + }, 0) / a >= t.deviationThreshold) return [...e]; const c = Math.atan2(Math.abs(s), Math.abs(r)) * (180 / Math.PI); if (c <= t.axisSnapDegrees) { const l = e.reduce((u, f) => u + f.y, 0) / e.length; @@ -33267,11 +33884,11 @@ function wV(e, t) { } return [...e]; } -const Rf = (e, t, n) => Math.max(t, Math.min(n, e)), Pl = (e, t) => t ? { - x: Rf(e.x, t.x, t.x + t.width), - y: Rf(e.y, t.y, t.y + t.height) -} : e, Vi = (e) => e.zoom != null || e.displayRotation != null ? { zoom: e.zoom ?? 1, rotation: e.displayRotation ?? 0 } : void 0; -function Y2(e, t) { +const Lf = (e, t, n) => Math.max(t, Math.min(n, e)), Ol = (e, t) => t ? { + x: Lf(e.x, t.x, t.x + t.width), + y: Lf(e.y, t.y, t.y + t.height) +} : e, Qa = (e) => e.zoom != null || e.displayRotation != null ? { zoom: e.zoom ?? 1, rotation: e.displayRotation ?? 0 } : void 0; +function uA(e, t) { let n = 0; for (const o of e) n = Math.max( @@ -33283,89 +33900,89 @@ function Y2(e, t) { ); return n; } -function Lf(e, t) { +function jf(e, t) { if (!e) return 1; - const n = Y2(t(0), e) + 1e-9, o = (i) => Y2(t(i), e) <= n; + const n = uA(t(0), e) + 1e-9, o = (a) => uA(t(a), e) <= n; if (o(1)) return 1; let r = 0, s = 1; - for (let i = 0; i < 30; i++) { - const a = (r + s) / 2; - o(a) ? r = a : s = a; + for (let a = 0; a < 30; a++) { + const i = (r + s) / 2; + o(i) ? r = i : s = i; } return r; } -function Q2(e, t, n) { - const o = t.x * Lf(e, (s) => n({ x: t.x * s, y: 0 })), r = t.y * Lf(e, (s) => n({ x: o, y: t.y * s })); +function dA(e, t, n) { + const o = t.x * jf(e, (s) => n({ x: t.x * s, y: 0 })), r = t.y * jf(e, (s) => n({ x: o, y: t.y * s })); return { x: o, y: r }; } -function vV(e, t, n) { +function LG(e, t, n) { const o = []; for (const r of t) { const s = e.byId[r]; - s && o.push(...vr(s, n).corners); + s && o.push(...kr(s, n).corners); } - return o.length ? pt(o) : null; + return o.length ? ft(o) : null; } -function X2(e, t, n, o, r) { +function fA(e, t, n, o, r) { if (!o) return n; - const s = vV(e, t, r); + const s = LG(e, t, r); return s ? { - x: Rf(n.x, o.x - s.x, o.x + o.width - (s.x + s.width)), - y: Rf(n.y, o.y - s.y, o.y + o.height - (s.y + s.height)) + x: Lf(n.x, o.x - s.x, o.x + o.width - (s.x + s.width)), + y: Lf(n.y, o.y - s.y, o.y + o.height - (s.y + s.height)) } : n; } -function kV(e, t) { +function jG(e, t) { const n = "id" in t ? t.id : "ids" in t && t.ids.length ? t.ids[0] : null; return n != null ? e.byId[n]?.annotation.page ?? null : null; } -const Gc = 3, Z2 = (e, t) => t ? { +const Vc = 3, pA = (e, t) => t ? { ...e, x: Math.min(Math.max(e.x, t.x), Math.max(t.x, t.x + t.width - e.width)), y: Math.min(Math.max(e.y, t.y), Math.max(t.y, t.y + t.height - e.height)) } : e; -function ca(e, t, n) { - return e === "segment" ? Math.hypot(n.x - t.x, n.y - t.y) >= Gc : Math.abs(n.x - t.x) >= Gc || Math.abs(n.y - t.y) >= Gc; -} -const e3 = ({ upright: e, displayRotation: t }) => e && t ? D0(t) : 0; -function Xp(e, t, n, o, r = {}) { - if (!ca(e, t, n)) - return o ? t3(t, o, r) : null; - const s = r.pageBox ? Pl(t, r.pageBox) : t, i = r.pageBox ? Pl(n, r.pageBox) : n; - if (e === "segment") return { kind: "segment", a: s, b: i }; - const a = e3(r), c = yl(s, i); - return { kind: "box", rect: a % 180 ? h0(c) : c, rot: a }; -} -function t3(e, t, n = {}) { +function ci(e, t, n) { + return e === "segment" ? Math.hypot(n.x - t.x, n.y - t.y) >= Vc : Math.abs(n.x - t.x) >= Vc || Math.abs(n.y - t.y) >= Vc; +} +const TI = ({ upright: e, displayRotation: t }) => e && t ? Z0(t) : 0; +function nh(e, t, n, o, r = {}) { + if (!ci(e, t, n)) + return o ? RI(t, o, r) : null; + const s = r.pageBox ? Ol(t, r.pageBox) : t, a = r.pageBox ? Ol(n, r.pageBox) : n; + if (e === "segment") return { kind: "segment", a: s, b: a }; + const i = TI(r), c = yl(s, a); + return { kind: "box", rect: i % 180 ? M0(c) : c, rot: i }; +} +function RI(e, t, n = {}) { const o = n.upright ? n.displayRotation ?? 0 : 0; if ("length" in t) { - const u = (t.rotation ?? 0) * Math.PI / 180, f = ft( + const u = (t.rotation ?? 0) * Math.PI / 180, f = ht( { x: Math.cos(u) * t.length, y: Math.sin(u) * t.length }, { x: 0, y: 0 }, -o - ), d = t.anchor === "start" ? 0 : t.anchor === "end" ? 1 : 0.5, p = { x: e.x - f.x * d, y: e.y - f.y * d }, h = { x: p.x + f.x, y: p.y + f.y }, g = yl(p, h), m = Z2(g, n.pageBox), M = m.x - g.x, x = m.y - g.y; - return { kind: "segment", a: { x: p.x + M, y: p.y + x }, b: { x: h.x + M, y: h.y + x } }; + ), d = t.anchor === "start" ? 0 : t.anchor === "end" ? 1 : 0.5, p = { x: e.x - f.x * d, y: e.y - f.y * d }, g = { x: p.x + f.x, y: p.y + f.y }, h = yl(p, g), m = pA(h, n.pageBox), O = m.x - h.x, E = m.y - h.y; + return { kind: "segment", a: { x: p.x + O, y: p.y + E }, b: { x: g.x + O, y: g.y + E } }; } - const { width: r, height: s } = t, i = e3(n), a = t.anchor === "top-left" ? Rq(e, r, s, o) : { x: e.x - r / 2, y: e.y - s / 2, width: r, height: s }, c = i % 180 ? h0(a) : a, l = Z2(c, n.pageBox); + const { width: r, height: s } = t, a = TI(n), i = t.anchor === "top-left" ? YH(e, r, s, o) : { x: e.x - r / 2, y: e.y - s / 2, width: r, height: s }, c = a % 180 ? M0(i) : i, l = pA(c, n.pageBox); return { kind: "box", - rect: { ...a, x: a.x + l.x - c.x, y: a.y + l.y - c.y }, - rot: i + rect: { ...i, x: i.x + l.x - c.x, y: i.y + l.y - c.y }, + rot: a }; } -function Yc(e, t) { - return mt(e).family.placed(t, e); +function Gc(e, t) { + return yt(e).family.placed(t, e); } -const n3 = (e) => e === "free-text-callout" ? "free-text" : e.startsWith("widget") ? "widget" : e; -function o3(e, t) { - const n = n3(e), o = n === "widget" ? kq(e) : void 0; +const LI = (e) => e === "free-text-callout" ? "free-text" : e.startsWith("widget") ? "widget" : e; +function jI(e, t) { + const n = LI(e), o = n === "widget" ? jH(e) : void 0; return { subtype: n, - ...ry(n), + ...hy(n), ...o ? { fieldKind: o } : {}, ...t }; } -const xV = [ +const FG = [ "color", "interiorColor", "strokeWidth", @@ -33375,15 +33992,15 @@ const xV = [ "fontColor", "textAlign" ]; -function AV(e) { +function DG(e) { return Object.fromEntries( - xV.filter((t) => e[t] !== void 0).map((t) => [ + FG.filter((t) => e[t] !== void 0).map((t) => [ t, e[t] ]) ); } -const r3 = { +const FI = { selected: [], hovered: null, draft: null, @@ -33400,74 +34017,76 @@ const r3 = { rotationThresholdDeg: 4 }, editable: !0 -}, SV = {}, In = (e, t) => e.defaults[t] ?? SV, Ro = (e, t, n = t) => o3(t, In(e, n)); -function PV(e, t, n) { - const o = { ...In(e, t), ...n }; - return [{ ...e, defaults: { ...e.defaults, [t]: o } }, []]; +}, $G = {}, Nn = (e, t) => e.defaults[t] ?? $G, To = (e, t, n = t) => jI(t, Nn(e, n)); +function BG(e, t, n) { + return DI(e, t, { ...Nn(e, t), ...n }); +} +function DI(e, t, n) { + return [{ ...e, defaults: { ...e.defaults, [t]: n } }, []]; } -function OV(e) { +function zG(e) { return e ? e.kind === "move" ? new Set(e.ids) : e.kind === "handle" || e.kind === "caption" || e.kind === "leader" ? /* @__PURE__ */ new Set([e.id]) : e.kind === "rotate" || e.kind === "group" ? new Set(e.ids) : /* @__PURE__ */ new Set() : /* @__PURE__ */ new Set(); } -function s3(e, t) { - const n = new Set(t), o = e.selected.filter((a) => !n.has(a)), r = e.hovered !== null && n.has(e.hovered) ? null : e.hovered, s = e.editing !== null && n.has(e.editing) ? null : e.editing, i = [...OV(e.draft)].some((a) => n.has(a)); - return o.length === e.selected.length && r === e.hovered && s === e.editing && !i ? e : { ...e, selected: o, hovered: r, editing: s, draft: i ? null : e.draft }; +function $I(e, t) { + const n = new Set(t), o = e.selected.filter((i) => !n.has(i)), r = e.hovered !== null && n.has(e.hovered) ? null : e.hovered, s = e.editing !== null && n.has(e.editing) ? null : e.editing, a = [...zG(e.draft)].some((i) => n.has(i)); + return o.length === e.selected.length && r === e.hovered && s === e.editing && !a ? e : { ...e, selected: o, hovered: r, editing: s, draft: a ? null : e.draft }; } -const MV = (e) => e === "polygon" || e === "polyline", Ag = (e, t) => ({ x: e.x - t.x, y: e.y - t.y }), J2 = (e, t, n) => { - const o = Ut(e); - return rw( - n(Xo(gt(e.annotation), o, t)), +const WG = (e) => e === "polygon" || e === "polyline", Eg = (e, t) => ({ x: e.x - t.x, y: e.y - t.y }), hA = (e, t, n) => { + const o = Gt(e); + return yw( + n(Zo(bt(e.annotation), o, t)), o, t ); -}, EV = (e, t) => JSON.stringify(e) === JSON.stringify(t), CV = (e, t, n) => { +}, UG = (e, t) => JSON.stringify(e) === JSON.stringify(t), KG = (e, t, n) => { const o = e.objectNumbers[n - 1]; if (o === void 0) throw new Error("annotation-core: the session holds no object number for a new record"); return { kind: "objectNumber", page: t, objectNumber: o }; }, xs = (e, t) => e.objectNumbers.slice(t); -function Pr(e, t, n, o = {}, r = {}) { - const s = n3(e), i = Fa[s]; +function Mr(e, t, n, o = {}, r = {}) { + const s = LI(e), a = ji[s]; return { ...Object.fromEntries( - Object.entries(t).filter(([c]) => i.includes(c)) + Object.entries(t).filter(([c]) => a.includes(c)) ), - ...Ze(n).write(n, s), + ...et(n).write(n, s), ...o, - ...Aq, + ...DH, ...r, subtype: s }; } -function Or(e, t, n, o = {}) { - const r = o.offset ?? 1, s = CV(e, t, r), i = KC(n, { ref: s }), a = o.reply ? { ...i, reply: o.reply } : i; +function Er(e, t, n, o = {}) { + const r = o.offset ?? 1, s = KG(e, t, r), a = xI(n, { ref: s }), i = o.reply ? { ...a, reply: o.reply } : a; return { record: { - id: ie(s), + id: Y(s), unconfirmed: !0, - source: lw(a), - annotation: a + source: th(i), + annotation: i }, draft: o.reply ? { ...n, reply: o.reply } : n }; } -function IV(e, t) { +function qG(e, t) { const n = new Set(t), o = { ...e.byId }; for (const r of t) delete o[r]; - return s3({ ...e, byId: o, order: e.order.filter((r) => !n.has(r)) }, t); + return $I({ ...e, byId: o, order: e.order.filter((r) => !n.has(r)) }, t); } -const _V = { width: 150, height: 40, anchor: "top-left" }; -function i3(e) { - return e.upright && e.displayRotation ? D0(e.displayRotation) : 0; +const HG = { width: 150, height: 40, anchor: "top-left" }; +function BI(e) { + return e.upright && e.displayRotation ? Z0(e.displayRotation) : 0; } -function a3(e) { +function zI(e) { const t = e.boxFrom ?? e.current; - return Xp("box", t, e.boxTo ?? t, _V, { + return nh("box", t, e.boxTo ?? t, HG, { pageBox: e.pageBox, upright: e.upright, displayRotation: e.displayRotation }).rect; } -function NV(e, t, n, o = "free-text-callout", r) { +function VG(e, t, n, o = "free-text-callout", r) { const s = e.draft; if (t === "down") return s?.kind !== "create-callout" || s.page.objectNumber !== n.page.objectNumber ? [ @@ -33499,13 +34118,13 @@ function NV(e, t, n, o = "free-text-callout", r) { return s?.kind !== "create-callout" ? [e, []] : s.step === "box" && s.boxFrom ? [{ ...e, draft: { ...s, boxTo: n.point } }, []] : [{ ...e, draft: { ...s, current: n.point } }, []]; if (s?.kind !== "create-callout" || s.step !== "box" || !s.boxFrom) return [e, []]; - const i = a3(s), a = i3(s), c = Ro(e, "free-text-callout", s.preset), l = c.subtype === "free-text" ? c.lineEnding : null, u = l && l !== "none" ? l : "open-arrow", f = Or( + const a = zI(s), i = BI(s), c = To(e, "free-text-callout", s.preset), l = c.subtype === "free-text" ? c.lineEnding : null, u = l && l !== "none" ? l : "open-arrow", f = Er( e, s.page, - Pr( + Mr( "free-text-callout", - In(e, s.preset ?? "free-text-callout"), - sC(i, a, s.tip, s.knee, u), + Nn(e, s.preset ?? "free-text-callout"), + FC(a, i, s.tip, s.knee, u), { intent: "free-text-callout", contents: "" }, s.flags ) @@ -33523,9 +34142,9 @@ function NV(e, t, n, o = "free-text-callout", r) { [{ type: "create", id: d, draft: f.draft }] ]; } -function TV(e, t, n, o, r, s) { - const i = e.draft; - if (i?.kind !== "create-distance") +function GG(e, t, n, o, r, s) { + const a = e.draft; + if (a?.kind !== "create-distance") return t !== "down" || !r ? [e, []] : [ { ...e, @@ -33547,59 +34166,59 @@ function TV(e, t, n, o, r, s) { }, [] ]; - if (n.page.objectNumber !== i.page.objectNumber) + if (n.page.objectNumber !== a.page.objectNumber) return [e, []]; - if (i.step === "endpoints") { + if (a.step === "endpoints") { if (t === "down") return [e, []]; - const m = { ...i, to: n.point }; - return t === "move" ? [{ ...e, draft: m }, []] : Math.hypot(m.to.x - m.from.x, m.to.y - m.from.y) < Gc ? [{ ...e, draft: null }, []] : [{ ...e, draft: { ...m, step: "offset" } }, []]; + const m = { ...a, to: n.point }; + return t === "move" ? [{ ...e, draft: m }, []] : Math.hypot(m.to.x - m.from.x, m.to.y - m.from.y) < Vc ? [{ ...e, draft: null }, []] : [{ ...e, draft: { ...m, step: "offset" } }, []]; } if (t === "up") return [e, []]; - const a = Ro(e, i.subtype, i.preset), c = { + const i = To(e, a.subtype, a.preset), c = { kind: "line", - linePoints: { start: i.from, end: i.to }, - lineEndings: vl(a), + linePoints: { start: a.from, end: a.to }, + lineEndings: vl(i), rotation: 0 - }, l = Wt(a), u = (m) => ({ - ...i.measure, - leader: { ...i.measure.leader, length: m } - }), f = ob(c, n.point), d = Lf( + }, l = Vt(i), u = (m) => ({ + ...a.measure, + leader: { ...a.measure.leader, length: m } + }), f = fb(c, n.point), d = jf( n.pageBox, - (m) => WC(c, u(f * m), l) + (m) => vI(c, u(f * m), l) ), p = u(f * d); if (t === "move") - return [{ ...e, draft: { ...i, measure: p } }, []]; - const h = Or( + return [{ ...e, draft: { ...a, measure: p } }, []]; + const g = Er( e, - i.page, - Pr( + a.page, + Mr( "line", - In(e, i.preset), + Nn(e, a.preset), c, { - ...J0(p), + ...pw(p), // The arrowheads fill with the stroke colour when the tool gives no fill. interiorColor: l.interiorColor ?? l.color }, - i.flags + a.flags ) - ), g = h.record.id; + ), h = g.record.id; return [ { ...e, objectNumbers: xs(e, 1), - byId: { ...e.byId, [g]: h.record }, - order: [...e.order, g], - selected: [g], + byId: { ...e.byId, [h]: g.record }, + order: [...e.order, h], + selected: [h], draft: null }, - [{ type: "create", id: g, draft: h.draft }] + [{ type: "create", id: h, draft: g.draft }] ]; } -function c3(e, t) { - return Xp( +function WI(e, t) { + return nh( e.kind === "create-line" ? "segment" : "box", e.from, e.to, @@ -33607,11 +34226,11 @@ function c3(e, t) { { pageBox: t, upright: e.upright, displayRotation: e.displayRotation } ); } -function RV(e, t, n, o, r = n, s, i = !1, a, c, l, u, f) { +function YG(e, t, n, o, r = n, s, a = !1, i, c, l, u, f) { if (t !== "down" && e.draft && "page" in e.draft && e.draft.page.objectNumber !== o.page.objectNumber) return [e, []]; - if (o.pageBox && (o = { ...o, point: Pl(o.point, o.pageBox) }), e.draft?.kind === "create-distance" || u?.intent === "line-dimension" && !f) - return TV( + if (o.pageBox && (o = { ...o, point: Ol(o.point, o.pageBox) }), e.draft?.kind === "create-distance" || u?.intent === "line-dimension" && !f) + return GG( e, t, o, @@ -33619,10 +34238,10 @@ function RV(e, t, n, o, r = n, s, i = !1, a, c, l, u, f) { u?.intent === "line-dimension" ? u : void 0, l ); - if (n === "free-text-callout") return NV(e, t, o, r, l); + if (n === "free-text-callout") return VG(e, t, o, r, l); if (t === "down") { - if (MV(n)) - return o.finish ? u3(e) : e.draft?.kind === "create-poly" && e.draft.subtype === n && e.draft.preset === r && e.draft.page.objectNumber === o.page.objectNumber ? [ + if (WG(n)) + return o.finish ? KI(e) : e.draft?.kind === "create-poly" && e.draft.subtype === n && e.draft.preset === r && e.draft.page.objectNumber === o.page.objectNumber ? [ { ...e, draft: { @@ -33650,7 +34269,7 @@ function RV(e, t, n, o, r = n, s, i = !1, a, c, l, u, f) { }, [] ]; - const S = n === "line" ? { + const P = n === "line" ? { kind: "create-line", measure: u, capture: f, @@ -33663,12 +34282,13 @@ function RV(e, t, n, o, r = n, s, i = !1, a, c, l, u, f) { ...o.upright && o.displayRotation ? { displayRotation: o.displayRotation, upright: !0 } : {}, ...c !== void 0 ? { clickCreate: c } : {}, ...l ? { flags: l } : {} - } : n === "ink" ? e.draft?.kind === "create-ink" && e.draft.subtype === n && e.draft.preset === r && e.draft.page.objectNumber === o.page.objectNumber ? { ...e.draft, strokes: [...e.draft.strokes, [o.point]] } : { + } : n === "ink" ? e.draft?.kind === "create-ink" && e.draft.subtype === n && e.draft.preset === r && e.draft.page.objectNumber === o.page.objectNumber ? { ...e.draft, strokes: [...e.draft.strokes, [o.point]], drawing: !0 } : { kind: "create-ink", subtype: n, preset: r, page: o.page, strokes: [[o.point]], + drawing: !0, intent: s, ...l ? { flags: l } : {} } : n === "square" || n === "circle" || n === "free-text" || n === "redact" || n === "link" ? { @@ -33684,7 +34304,7 @@ function RV(e, t, n, o, r = n, s, i = !1, a, c, l, u, f) { ...c !== void 0 ? { clickCreate: c } : {}, ...l ? { flags: l } : {} } : null; - return S ? [{ ...e, selected: [], draft: S }, []] : [e, []]; + return P ? [{ ...e, selected: [], draft: P }, []] : [e, []]; } if (t === "move") { if (e.draft?.kind === "create-poly") @@ -33692,8 +34312,8 @@ function RV(e, t, n, o, r = n, s, i = !1, a, c, l, u, f) { if (e.draft?.kind === "create-rect" || e.draft?.kind === "create-line") return [{ ...e, draft: { ...e.draft, to: o.point } }, []]; if (e.draft?.kind === "create-ink") { - const S = e.draft.strokes.slice(); - return S[S.length - 1] = [...S[S.length - 1], o.point], [{ ...e, draft: { ...e.draft, strokes: S } }, []]; + const P = e.draft.strokes.slice(); + return P[P.length - 1] = [...P[P.length - 1], o.point], [{ ...e, draft: { ...e.draft, strokes: P } }, []]; } return [e, []]; } @@ -33701,67 +34321,68 @@ function RV(e, t, n, o, r = n, s, i = !1, a, c, l, u, f) { if (d?.kind !== "create-rect" && d?.kind !== "create-line" && d?.kind !== "create-ink") return [e, []]; if (d.kind === "create-ink") { - let S = e; - if (a && d.strokes.length) { - const P = d.strokes.slice(), k = P.length - 1; - P[k] = wV(P[k], a), S = { ...e, draft: { ...d, strokes: P } }; + const P = d.strokes.slice(); + if (i && P.length) { + const A = P.length - 1; + P[A] = RG(P[A], i); } - return i ? [S, []] : l3(S); + const k = { ...e, draft: { ...d, strokes: P, drawing: !1 } }; + return a ? [k, []] : UI(k); } - const p = Ro(e, d.subtype, d.preset), h = c3(d, o.pageBox), g = h && Yc(p, h); - if (!g) return [{ ...e, draft: null }, []]; + const p = To(e, d.subtype, d.preset), g = WI(d, o.pageBox), h = g && Gc(p, g); + if (!h) return [{ ...e, draft: null }, []]; if (d.kind === "create-line" && d.capture) return [ { ...e, draft: null }, - [{ type: "captured", tool: d.capture, page: d.page, geometry: g }] + [{ type: "captured", tool: d.capture, page: d.page, geometry: h }] ]; const m = { // A measurement states its intent, scale, caption and leader. - ...d.kind === "create-line" && d.measure ? J0(d.measure) : {}, + ...d.kind === "create-line" && d.measure ? pw(d.measure) : {}, // A free text starts empty, as a plain box. - ...g.kind === "text-box" ? { intent: "free-text", contents: "" } : {}, + ...h.kind === "text-box" ? { intent: "free-text", contents: "" } : {}, // A drawn link starts at the tool preset's target ('docs-link' style // presets), or dead (`null` — the create-then-edit flow). - ...d.subtype === "link" ? { target: W0(p.subtype === "link" ? p.target : null) } : {} - }, M = Or( + ...d.subtype === "link" ? { target: nw(p.subtype === "link" ? p.target : null) } : {} + }, O = Er( e, d.page, - Pr( + Mr( d.subtype, - In(e, d.preset ?? d.subtype), - g, + Nn(e, d.preset ?? d.subtype), + h, m, d.flags ) - ), x = M.record.id; + ), E = O.record.id; return [ { ...e, objectNumbers: xs(e, 1), - byId: { ...e.byId, [x]: M.record }, - order: [...e.order, x], - selected: [x], + byId: { ...e.byId, [E]: O.record }, + order: [...e.order, E], + selected: [E], draft: null, // A freshly drawn free-text box opens straight into edit (type immediately). - editing: g.kind === "text-box" ? x : e.editing + editing: h.kind === "text-box" ? E : e.editing }, - [{ type: "create", id: x, draft: M.draft }] + [{ type: "create", id: E, draft: O.draft }] ]; } -function l3(e) { +function UI(e) { const t = e.draft; if (t?.kind !== "create-ink") return [e, []]; const n = t.strokes.flat(); - if (!t.strokes.some((i) => i.length >= 2) || n.length === 0) + if (!t.strokes.some((a) => a.length >= 2) || n.length === 0) return [{ ...e, draft: null }, []]; - const o = pt(n); - if (Math.max(o.width, o.height) < Gc) return [{ ...e, draft: null }, []]; - const r = Or( + const o = ft(n); + if (Math.max(o.width, o.height) < Vc) return [{ ...e, draft: null }, []]; + const r = Er( e, t.page, - Pr( + Mr( t.subtype, - In(e, t.preset ?? t.subtype), + Nn(e, t.preset ?? t.subtype), { kind: "ink", inkList: t.strokes, rotation: 0 }, // The ink highlighter says so: `/IT` is set at create, never changed. t.intent === "ink-highlight" ? { intent: t.intent } : {}, @@ -33780,151 +34401,151 @@ function l3(e) { [{ type: "create", id: s, draft: r.draft }] ]; } -function u3(e) { +function KI(e) { const t = e.draft; if (t?.kind !== "create-poly") return [e, []]; const n = t.closed ? 3 : 2; if (t.points.length < n) return [{ ...e, draft: null }, []]; - const o = Ro(e, t.subtype, t.preset), r = { + const o = To(e, t.subtype, t.preset), r = { kind: "poly", vertices: t.points, closed: t.closed, lineEndings: t.closed ? void 0 : vl(o), rotation: 0 }; - if (t.measure && "unavailable" in Yp(r, t.measure)) + if (t.measure && "unavailable" in Jp(r, t.measure)) return [e, []]; - const s = Or( + const s = Er( e, t.page, - Pr( + Mr( t.subtype, - In(e, t.preset ?? t.subtype), + Nn(e, t.preset ?? t.subtype), r, - t.measure ? J0(t.measure) : {}, + t.measure ? pw(t.measure) : {}, t.flags ) - ), i = s.record.id; + ), a = s.record.id; return [ { ...e, objectNumbers: xs(e, 1), - byId: { ...e.byId, [i]: s.record }, - order: [...e.order, i], - selected: [i], + byId: { ...e.byId, [a]: s.record }, + order: [...e.order, a], + selected: [a], draft: null }, - [{ type: "create", id: i, draft: s.draft }] + [{ type: "create", id: a, draft: s.draft }] ]; } -const Yu = 14, Sg = (e) => ({ +const Zu = 14, Cg = (e) => ({ min: { x: e.x, y: e.y }, max: { x: e.x + e.width, y: e.y + e.height } -}), eA = (e) => [e.min.x, (e.min.x + e.max.x) / 2, e.max.x], tA = (e) => [e.min.y, (e.min.y + e.max.y) / 2, e.max.y], nA = (e, t) => ({ +}), gA = (e) => [e.min.x, (e.min.x + e.max.x) / 2, e.max.x], mA = (e) => [e.min.y, (e.min.y + e.max.y) / 2, e.max.y], bA = (e, t) => ({ min: { x: e.min.x + t.x, y: e.min.y + t.y }, max: { x: e.max.x + t.x, y: e.max.y + t.y } -}), oA = (e, t) => { - const n = gt(e.byId[t].annotation), o = Wt(e.byId[t].annotation); - return Ga(n, o); +}), yA = (e, t) => { + const n = bt(e.byId[t].annotation), o = Vt(e.byId[t].annotation); + return Vi(n, o); }; -function LV(e, t, n, o, r, s) { - const i = n.objectNumber, a = new Set(t); - if (t.some((m) => e.byId[m] && Ut(e.byId[m]))) +function QG(e, t, n, o, r, s) { + const a = n.objectNumber, i = new Set(t); + if (t.some((m) => e.byId[m] && Gt(e.byId[m]))) return { delta: o, guides: [] }; - const c = Sg(pt(t.flatMap((m) => oA(e, m)))), l = nA(c, o), u = [ - ...s ? [Sg(s)] : [], + const c = Cg(ft(t.flatMap((m) => yA(e, m)))), l = bA(c, o), u = [ + ...s ? [Cg(s)] : [], ...e.order.filter( - (m) => !a.has(m) && e.byId[m].annotation.page.objectNumber === i && vo(e, m) && !Ut(e.byId[m]) - ).map((m) => Sg(pt(oA(e, m)))) + (m) => !i.has(m) && e.byId[m].annotation.page.objectNumber === a && vo(e, m) && !Gt(e.byId[m]) + ).map((m) => Cg(ft(yA(e, m)))) ]; let f = null, d = null; for (const m of u) { - for (const M of eA(m)) - for (const x of eA(l)) { - const S = M - x; - Math.abs(S) < r && (!f || Math.abs(S) < Math.abs(f.adjust)) && (f = { adjust: S, at: M, tb: m }); + for (const O of gA(m)) + for (const E of gA(l)) { + const P = O - E; + Math.abs(P) < r && (!f || Math.abs(P) < Math.abs(f.adjust)) && (f = { adjust: P, at: O, tb: m }); } - for (const M of tA(m)) - for (const x of tA(l)) { - const S = M - x; - Math.abs(S) < r && (!d || Math.abs(S) < Math.abs(d.adjust)) && (d = { adjust: S, at: M, tb: m }); + for (const O of mA(m)) + for (const E of mA(l)) { + const P = O - E; + Math.abs(P) < r && (!d || Math.abs(P) < Math.abs(d.adjust)) && (d = { adjust: P, at: O, tb: m }); } } - const p = { x: o.x + (f?.adjust ?? 0), y: o.y + (d?.adjust ?? 0) }, h = nA(c, p), g = []; - return f && g.push({ + const p = { x: o.x + (f?.adjust ?? 0), y: o.y + (d?.adjust ?? 0) }, g = bA(c, p), h = []; + return f && h.push({ axis: "x", at: f.at, - lo: Math.min(h.min.y, f.tb.min.y) - Yu, - hi: Math.max(h.max.y, f.tb.max.y) + Yu - }), d && g.push({ + lo: Math.min(g.min.y, f.tb.min.y) - Zu, + hi: Math.max(g.max.y, f.tb.max.y) + Zu + }), d && h.push({ axis: "y", at: d.at, - lo: Math.min(h.min.x, d.tb.min.x) - Yu, - hi: Math.max(h.max.x, d.tb.max.x) + Yu - }), { delta: p, guides: g }; + lo: Math.min(g.min.x, d.tb.min.x) - Zu, + hi: Math.max(g.max.x, d.tb.max.x) + Zu + }), { delta: p, guides: h }; } -function jV(e) { +function XG(e) { const t = e.draft; if (t.kind === "leader") { - const n = e.byId[t.id], o = n && yo(n.annotation); + const n = e.byId[t.id], o = n && wo(n.annotation); if (o?.intent !== "line-dimension" || t.delta === 0) return [{ ...e, draft: null }, []]; - const r = ai(n, { + const r = la(n, { leader: { ...o.leader, length: (o.leader?.length ?? 0) + t.delta } }); return [{ ...e, draft: null, byId: { ...e.byId, [r.id]: r } }, []]; } if (t.kind === "caption") { - const n = e.byId[t.id], o = n && yo(n.annotation); + const n = e.byId[t.id], o = n && wo(n.annotation); if (!o || !t.delta.x && !t.delta.y) return [{ ...e, draft: null }, []]; - const r = Wt(n.annotation), s = Qp( - gt(n.annotation), + const r = Vt(n.annotation), s = eh( + bt(n.annotation), o, t.delta, r - ), i = s.measure.intent === "line-dimension" ? ai(n, { captionOffset: s.measure.captionOffset }) : $s(n, s.geometry); - return [{ ...e, draft: null, byId: { ...e.byId, [i.id]: i } }, []]; + ), a = s.measure.intent === "line-dimension" ? la(n, { captionOffset: s.measure.captionOffset }) : $s(n, s.geometry); + return [{ ...e, draft: null, byId: { ...e.byId, [a.id]: a } }, []]; } if (t.kind === "handle") { - if (EV(t.base, t.current)) return [{ ...e, draft: null }, []]; - const n = e.byId[t.id], o = rw(t.current, Ut(n), t.view), r = yo(n.annotation); + if (UG(t.base, t.current)) return [{ ...e, draft: null }, []]; + const n = e.byId[t.id], o = yw(t.current, Gt(n), t.view), r = wo(n.annotation); if (r?.intent === "polygon-dimension") { - const i = Yp(o, r); - if ("unavailable" in i && i.unavailable === "invalid-geometry") + const a = Jp(o, r); + if ("unavailable" in a && a.unavailable === "invalid-geometry") return [{ ...e, draft: null }, []]; } const s = $s(n, o); return [{ ...e, byId: { ...e.byId, [t.id]: s }, draft: null }, []]; } if (t.kind === "rotate") { - const { delta: n } = ou(e, t); + const { delta: n } = su(e, t); if (Math.abs(n) < 0.01) return [{ ...e, draft: null }, []]; const o = { ...e.byId }; for (const r of t.ids) { const s = o[r]; if (!s) continue; - const i = J2( + const a = hA( s, t.view, - (a) => Jl(a, t.pivot, n) + (i) => tu(i, t.pivot, n) ); - o[r] = $s(s, i); + o[r] = $s(s, a); } return [{ ...e, byId: o, draft: null }, []]; } if (t.kind === "group") { - const { sx: n, sy: o } = SC(t.base, t.current); + const { sx: n, sy: o } = nI(t.base, t.current); if (Math.abs(n - 1) < 1e-4 && Math.abs(o - 1) < 1e-4) return [{ ...e, draft: null }, []]; const r = { ...e.byId }; for (const s of t.ids) { - const i = r[s]; - if (!i) continue; - const a = J2( - i, + const a = r[s]; + if (!a) continue; + const i = hA( + a, t.view, - (c) => Hp(c, t.anchor, n, o, bl) + (c) => Qp(c, t.anchor, n, o, bl) ); - r[s] = $s(i, a); + r[s] = $s(a, i); } return [{ ...e, byId: r, draft: null }, []]; } @@ -33932,41 +34553,41 @@ function jV(e) { if (Math.hypot(t.delta.x, t.delta.y) < 0.01) return [{ ...e, draft: null }, []]; const n = { ...e.byId }; for (const o of t.ids) { - const r = n[o], s = gt(r.annotation); - n[o] = $s(r, z0(s, t.delta)); + const r = n[o], s = bt(r.annotation); + n[o] = $s(r, tw(s, t.delta)); } return [{ ...e, byId: n, draft: null }, []]; } return [{ ...e, draft: null }, []]; } -const FV = 180 / Math.PI, rA = (e, t) => Math.atan2(t.y - e.y, t.x - e.x) * FV, DV = (e, t) => (t - e + 540) % 360 - 180; -function ou(e, t) { - const n = rA(t.pivot, t.current) - rA(t.pivot, t.start), o = t.ids.length === 1 ? e.byId[t.ids[0]] : null, r = o ? kn(Xo(gt(o.annotation), Ut(o), t.view)) : 0, s = Qt(r + n); +const ZG = 180 / Math.PI, wA = (e, t) => Math.atan2(t.y - e.y, t.x - e.x) * ZG, JG = (e, t) => (t - e + 540) % 360 - 180; +function su(e, t) { + const n = wA(t.pivot, t.current) - wA(t.pivot, t.start), o = t.ids.length === 1 ? e.byId[t.ids[0]] : null, r = o ? On(Zo(bt(o.annotation), Gt(o), t.view)) : 0, s = tn(r + n); if (!e.snap.rotation || t.free) return { delta: n, angle: s, snapped: !1 }; - for (const i of e.snap.rotationAngles) { - const a = DV(s, Qt(i)); - if (Math.abs(a) <= e.snap.rotationThresholdDeg) - return { delta: n + a, angle: Qt(i), snapped: !0 }; + for (const a of e.snap.rotationAngles) { + const i = JG(s, tn(a)); + if (Math.abs(i) <= e.snap.rotationThresholdDeg) + return { delta: n + i, angle: tn(a), snapped: !0 }; } return { delta: n, angle: s, snapped: !1 }; } -const $V = (e, t) => t.some((n) => { +const eY = (e, t) => t.some((n) => { const o = e.byId[n]; - return !!o && kn(gt(o.annotation)) !== 0; + return !!o && On(bt(o.annotation)) !== 0; }); -function BV(e, t, n) { - return t === "down" ? zV(e, n) : t === "move" ? e.draft ? WV(e, n) : [e, []] : e.draft ? jV(e) : [e, []]; +function tY(e, t, n) { + return t === "down" ? nY(e, n) : t === "move" ? e.draft ? oY(e, n) : [e, []] : e.draft ? XG(e) : [e, []]; } -function zV(e, t) { - const n = cw( +function nY(e, t) { + const n = xw( e, t.page, t.point, - t.chrome ?? _q, + t.chrome ?? HH, e.hitMargin / (t.scale || 1), t.pageBox, t.inert, - Vi(t) + Qa(t) ); if (n.kind === "handle" && n.handle === "caption") return [ @@ -33985,7 +34606,7 @@ function zV(e, t) { [] ]; if (n.kind === "handle") { - const o = e.byId[n.id], r = Vi(t), s = Xo(gt(o.annotation), Ut(o), r); + const o = e.byId[n.id], r = Qa(t), s = Zo(bt(o.annotation), Gt(o), r); return [ { ...e, @@ -34002,7 +34623,7 @@ function zV(e, t) { ]; } if (n.kind === "rotate") { - const o = Vi(t); + const o = Qa(t); return [ { ...e, @@ -34019,7 +34640,7 @@ function zV(e, t) { ]; } if (n.kind === "group-handle") { - const o = Vi(t); + const o = Qa(t); return [ { ...e, @@ -34028,7 +34649,7 @@ function zV(e, t) { op: "resize", ids: n.ids, handle: n.handle, - anchor: AC(n.box, n.handle), + anchor: tI(n.box, n.handle), base: n.box, current: n.box, ...o ? { view: o } : {} @@ -34038,163 +34659,163 @@ function zV(e, t) { ]; } if (n.kind === "annot") { - const o = VC(e, n.id), r = e.selected.includes(n.id), s = t.shift ? r ? e.selected.filter((c) => !o.includes(c)) : [...e.selected, ...o.filter((c) => !e.selected.includes(c))] : r ? e.selected : o, a = s.length > 0 && s.every((c) => Ma(e, c)) ? { kind: "move", ids: s, start: t.point, delta: { x: 0, y: 0 }, guides: [] } : null; - return [{ ...e, selected: s, draft: a }, []]; + const o = OI(e, n.id), r = e.selected.includes(n.id), s = t.shift ? r ? e.selected.filter((c) => !o.includes(c)) : [...e.selected, ...o.filter((c) => !e.selected.includes(c))] : r ? e.selected : o, i = s.length > 0 && s.every((c) => Pi(e, c)) ? { kind: "move", ids: s, start: t.point, delta: { x: 0, y: 0 }, guides: [] } : null; + return [{ ...e, selected: s, draft: i }, []]; } return [{ ...e, selected: [] }, []]; } -function WV(e, t) { - const n = e.draft, o = kV(e, n); +function oY(e, t) { + const n = e.draft, o = jG(e, n); if (o != null && t.page.objectNumber !== o.objectNumber) return [e, []]; if (n.kind === "move") { - const s = Vi(t), i = X2( + const s = Qa(t), a = fA( e, n.ids, - Ag(t.point, n.start), + Eg(t.point, n.start), t.pageBox, s ); if (!e.snap.alignment || t.shift) - return [{ ...e, draft: { ...n, delta: i, guides: [] } }, []]; - const a = LV( + return [{ ...e, draft: { ...n, delta: a, guides: [] } }, []]; + const i = QG( e, n.ids, t.page, - i, + a, // Screen pixels to page units at this sample's view. e.snap.alignmentThresholdPx / (t.scale || 1), t.pageBox - ), c = X2(e, n.ids, a.delta, t.pageBox, s), l = a.guides.filter( - (u) => u.axis === "x" ? c.x === a.delta.x : c.y === a.delta.y + ), c = fA(e, n.ids, i.delta, t.pageBox, s), l = i.guides.filter( + (u) => u.axis === "x" ? c.x === i.delta.x : c.y === i.delta.y ); return [{ ...e, draft: { ...n, delta: c, guides: l } }, []]; } - const r = Pl(t.point, t.pageBox); + const r = Ol(t.point, t.pageBox); if (n.kind === "leader") { - const s = e.byId[n.id], i = gt(s.annotation), a = yo(s.annotation), c = ob(i, r) - ob(i, n.start); - if (a?.intent !== "line-dimension") + const s = e.byId[n.id], a = bt(s.annotation), i = wo(s.annotation), c = fb(a, r) - fb(a, n.start); + if (i?.intent !== "line-dimension") return [{ ...e, draft: { ...n, delta: c } }, []]; - const l = a.leader?.length ?? 0, u = Lf(t.pageBox, (f) => { - const d = { ...a.leader, length: l + c * f }; - return vr(s, void 0, { measure: { ...a, leader: d } }).corners; + const l = i.leader?.length ?? 0, u = jf(t.pageBox, (f) => { + const d = { ...i.leader, length: l + c * f }; + return kr(s, void 0, { measure: { ...i, leader: d } }).corners; }); return [{ ...e, draft: { ...n, delta: c * u } }, []]; } if (n.kind === "caption") { - const s = e.byId[n.id], i = gt(s.annotation), a = yo(s.annotation), c = Wt(s.annotation), l = Ag(r, n.start), u = a ? Q2(t.pageBox, l, (f) => { - const d = Qp(i, a, f, c); - return vr(s, void 0, d).corners; + const s = e.byId[n.id], a = bt(s.annotation), i = wo(s.annotation), c = Vt(s.annotation), l = Eg(r, n.start), u = i ? dA(t.pageBox, l, (f) => { + const d = eh(a, i, f, c); + return kr(s, void 0, d).corners; }) : l; return [{ ...e, draft: { ...n, delta: u } }, []]; } if (n.kind === "handle") { - const s = e.byId[n.id], i = B0(n.base).find((l) => l.id === n.handle)?.at ?? r, a = (l) => Uq(n.base, n.handle, { x: i.x + l.x, y: i.y + l.y }), c = Q2(t.pageBox, Ag(r, i), (l) => { - const u = a(l); - return vr(s, void 0, { geometry: u }).corners; + const s = e.byId[n.id], a = ew(n.base).find((l) => l.id === n.handle)?.at ?? r, i = (l) => rV(n.base, n.handle, { x: a.x + l.x, y: a.y + l.y }), c = dA(t.pageBox, Eg(r, a), (l) => { + const u = i(l); + return kr(s, void 0, { geometry: u }).corners; }); - return [{ ...e, draft: { ...n, current: a(c) } }, []]; + return [{ ...e, draft: { ...n, current: i(c) } }, []]; } if (n.kind === "rotate") return [{ ...e, draft: { ...n, current: t.point, free: t.shift } }, []]; if (n.kind === "group") { - const s = $V(e, n.ids); + const s = eY(e, n.ids); return [ { ...e, - draft: { ...n, current: Fq(n.base, n.handle, r, s) } + draft: { ...n, current: ZH(n.base, n.handle, r, s) } }, [] ]; } return [e, []]; } -function UV(e, t, n) { - const o = Pl(n.point, n.pageBox); +function rY(e, t, n) { + const o = Ol(n.point, n.pageBox); if (t === "down") return [{ ...e, draft: { kind: "marquee", page: n.page, from: o, to: o } }, []]; if (e.draft?.kind !== "marquee") return [e, []]; if (e.draft.page.objectNumber !== n.page.objectNumber) return [e, []]; if (t === "move") return [{ ...e, draft: { ...e.draft, to: o } }, []]; - const r = d3( + const r = qI( e, e.draft.page, yl(e.draft.from, o), n.inert, - Vi(n) - ), s = n.shift ? KV(e.selected, r) : r; + Qa(n) + ), s = n.shift ? sY(e.selected, r) : r; return [{ ...e, selected: s, draft: null }, []]; } -function KV(e, t) { +function sY(e, t) { const n = new Set(e); for (const o of t) n.has(o) ? n.delete(o) : n.add(o); return [...n]; } -function d3(e, t, n, o, r) { - return Nf(e, qV(e, t, n, o, r)); +function qI(e, t, n, o, r) { + return Tf(e, aY(e, t, n, o, r)); } -function qV(e, t, n, o, r) { +function aY(e, t, n, o, r) { const s = t.objectNumber; - return e.order.filter((i) => { - const a = e.byId[i]; - return a?.annotation.page.objectNumber !== s || o?.has(i) || !vo(e, i) || F0(a) ? !1 : tK(ZC(a, r), n); + return e.order.filter((a) => { + const i = e.byId[a]; + return i?.annotation.page.objectNumber !== s || o?.has(a) || !vo(e, a) || X0(i) ? !1 : mq(_I(i, r), n); }); } -function jf(e, t) { +function Pl(e, t) { const n = []; for (const o of e.order) { const r = e.byId[o]; - r && Kp(r) && ii(r.annotation) === t && n.push(r); + r && Gp(r) && ca(r.annotation) === t && n.push(r); } return n; } -function ab(e, t) { - const n = jf(e, t)[0]?.annotation; +function mb(e, t) { + const n = Pl(e, t)[0]?.annotation; return n?.subtype === "link" ? n.target ?? null : null; } -const HV = { +const iY = { fontFamily: "helvetica", fontSize: 14, fontColor: "#000000", textAlign: "left" -}, VV = (e) => e.properties.some((t) => t.key === "link"), sA = /* @__PURE__ */ new WeakMap(); -function cb(e) { - let t = sA.get(e); - return t || (t = [...e.properties, ...cq], sA.set(e, t)), t; +}, cY = (e) => e.properties.some((t) => t.key === "link"), vA = /* @__PURE__ */ new WeakMap(); +function bb(e) { + let t = vA.get(e); + return t || (t = [...e.properties, ...AH], vA.set(e, t)), t; } -function GV(e) { +function lY(e) { const t = [...new Set(e)]; if (!t.length) return []; - const n = cb(t[0]); + const n = bb(t[0]); if (t.length === 1) return n; - const o = t.slice(1).map((r) => new Set(cb(r).map((s) => s.key))); + const o = t.slice(1).map((r) => new Set(bb(r).map((s) => s.key))); return n.filter((r) => o.every((s) => s.has(r.key))); } -function YV(e, t) { +function uY(e, t) { const [n] = t; if (!n) return null; - const o = [n.subtype, ...Jd(n.subtype)]; + const o = [n.subtype, ...ef(n.subtype)]; if (!t.every( - (i) => o.includes(i.subtype) && Jd(i.subtype).some((a) => g5(i, a)) + (a) => o.includes(a.subtype) && ef(a.subtype).some((i) => L5(a, i)) )) return null; const s = o.filter( - (i) => ks(e, { ...n, subtype: i }) + (a) => ks(e, { ...n, subtype: a }) ); - return s.length > 1 ? uq(s) : null; + return s.length > 1 ? OH(s) : null; } -function QV(e, t) { - const n = GV(t.map((r) => mt(r))), o = YV(e, t); +function dY(e, t) { + const n = lY(t.map((r) => yt(r))), o = uY(e, t); return o ? [o, ...n] : n; } -function XV(e) { +function fY(e) { let t = 0; return e.paragraphs.forEach((n, o) => { o > 0 && (t += 1); for (const r of n.runs) t += r.text.length; }), t; } -const f3 = [ +const HI = [ "family", "weight", "italic", @@ -34206,143 +34827,143 @@ const f3 = [ "horizontalScale", "unknown" ]; -function ZV(e, t) { +function pY(e, t) { if (e === t) return !0; if (!e || !t || e.length !== t.length) return !1; const n = (s) => [...s].sort(), o = n(e), r = n(t); - return o.every((s, i) => s === r[i]); + return o.every((s, a) => s === r[a]); } -function JV(e, t) { +function hY(e, t) { const n = e ?? {}, o = t ?? {}; - for (const r of f3) + for (const r of HI) if (r === "decoration") { - if (!ZV(n.decoration, o.decoration)) return !1; + if (!pY(n.decoration, o.decoration)) return !1; } else if (n[r] !== o[r]) return !1; return !0; } -function eG(e) { +function gY(e) { if (!e) return; const t = {}; let n = !1; - for (const o of f3) { + for (const o of HI) { const r = e[o]; r !== void 0 && (t[o] = r, n = !0); } return n ? t : void 0; } -function uw(e) { +function Aw(e) { const t = e.paragraphs.map((n) => { const o = []; for (const r of n.runs) { if (r.text.length === 0) continue; - const s = eG(r.style), i = o[o.length - 1]; - i && JV(i.style, s) ? o[o.length - 1] = { ...i, text: i.text + r.text } : o.push(s ? { text: r.text, style: s } : { text: r.text }); + const s = gY(r.style), a = o[o.length - 1]; + a && hY(a.style, s) ? o[o.length - 1] = { ...a, text: a.text + r.text } : o.push(s ? { text: r.text, style: s } : { text: r.text }); } return o.length === 0 && o.push({ text: "" }), { ...n, runs: o }; }); return { ...e, paragraphs: t }; } -function Ol(e, t) { +function Ml(e, t) { let n = 0; for (let o = 0; o < e.paragraphs.length; o++) { - const r = e.paragraphs[o].runs.reduce((s, i) => s + i.text.length, 0); + const r = e.paragraphs[o].runs.reduce((s, a) => s + a.text.length, 0); if (t <= n + r || o === e.paragraphs.length - 1) return { paragraph: o, offset: Math.max(0, Math.min(r, t - n)) }; n += r + 1; } return { paragraph: 0, offset: 0 }; } -function iA(e, t) { +function kA(e, t) { const n = []; let o = 0; for (const r of e.runs) { const s = o + r.text.length; if (t > o && t < s) { - const i = t - o; - n.push({ ...r, text: r.text.slice(0, i) }), n.push({ ...r, text: r.text.slice(i) }); + const a = t - o; + n.push({ ...r, text: r.text.slice(0, a) }), n.push({ ...r, text: r.text.slice(a) }); } else n.push(r); o = s; } return { ...e, runs: n }; } -function p3(e, t, n, o = []) { +function VI(e, t, n, o = []) { const r = Math.max(0, Math.min(t.start, t.end)), s = Math.max(t.start, t.end); if (s <= r) return e; - const i = Ol(e, r), a = Ol(e, s), c = e.paragraphs.map((l, u) => { - if (u < i.paragraph || u > a.paragraph) return l; - const f = u === i.paragraph ? i.offset : 0, d = u === a.paragraph ? a.offset : l.runs.reduce((m, M) => m + M.text.length, 0); + const a = Ml(e, r), i = Ml(e, s), c = e.paragraphs.map((l, u) => { + if (u < a.paragraph || u > i.paragraph) return l; + const f = u === a.paragraph ? a.offset : 0, d = u === i.paragraph ? i.offset : l.runs.reduce((m, O) => m + O.text.length, 0); if (d <= f) return l; - const p = iA(iA(l, f), d); - let h = 0; - const g = p.runs.map((m) => { - const M = h; - if (h += m.text.length, M < f || M >= d || m.text.length === 0) return m; - const x = { ...m.style ?? {}, ...n }; - for (const S of o) delete x[S]; - return { ...m, style: x }; + const p = kA(kA(l, f), d); + let g = 0; + const h = p.runs.map((m) => { + const O = g; + if (g += m.text.length, O < f || O >= d || m.text.length === 0) return m; + const E = { ...m.style ?? {}, ...n }; + for (const P of o) delete E[P]; + return { ...m, style: E }; }); - return { ...p, runs: g }; + return { ...p, runs: h }; }); - return uw({ ...e, paragraphs: c }); + return Aw({ ...e, paragraphs: c }); } -function tG(e, t) { - const n = Ol(e, t), o = e.paragraphs[n.paragraph]; +function mY(e, t) { + const n = Ml(e, t), o = e.paragraphs[n.paragraph]; if (!o) return; let r = 0, s; - for (const i of o.runs) { - const a = r + i.text.length; - if (n.offset > r && n.offset <= a) return i.style ?? {}; - if (n.offset === r && r === 0) return i.style ?? {}; - s = i, r = a; + for (const a of o.runs) { + const i = r + a.text.length; + if (n.offset > r && n.offset <= i) return a.style ?? {}; + if (n.offset === r && r === 0) return a.style ?? {}; + s = a, r = i; } return s?.style ?? {}; } -function nG(e, t, n) { +function bY(e, t, n) { const o = Ff(e), r = Ff(t), s = r.length - o.length; return s <= 0 || n > o.length || r.slice(0, n) !== o.slice(0, n) || r.slice(n + s) !== o.slice(n) ? null : r.slice(n, n + s); } -function oG(e, t, n, o) { - const r = nG(e, t, n); +function yY(e, t, n, o) { + const r = bY(e, t, n); if (r === null) return null; const s = n + r.length; - return /^\n+$/.test(r) ? { doc: t, caret: s, style: o } : { doc: p3(t, { start: n, end: s }, o), caret: s }; + return /^\n+$/.test(r) ? { doc: t, caret: s, style: o } : { doc: VI(t, { start: n, end: s }, o), caret: s }; } -const rG = Object.freeze({}); -function h3(e, t) { +const wY = Object.freeze({}); +function GI(e, t) { let n = !1; const o = e.paragraphs.map((r) => ({ ...r, runs: r.runs.map((s) => { - const i = s.style ?? rG, a = t(i); - return a === i ? s : (n = !0, { ...s, style: a }); + const a = s.style ?? wY, i = t(a); + return i === a ? s : (n = !0, { ...s, style: i }); }) })); - return n ? uw({ ...e, paragraphs: o }) : e; + return n ? Aw({ ...e, paragraphs: o }) : e; } -function lb(e, t) { +function yb(e, t) { if (!t.some((o) => e[o] !== void 0)) return e; const n = { ...e }; for (const o of t) delete n[o]; return n; } -function g3(e) { +function YI(e) { return e.split(/\r\n|\r|\n/).map((t) => ({ runs: [{ text: t }] })); } function Ff(e) { return e.paragraphs.map((t) => t.runs.map((n) => n.text).join("")).join(` `); } -const m3 = (e, t) => qb(e, t && ((n) => t().find((o) => o.key === n))), sG = (e) => e.trim().toUpperCase(); -function iG(e, t) { - const n = m3(e.fontFamily, t); +const QI = (e, t) => ty(e, t && ((n) => t().find((o) => o.key === n))), vY = (e) => e.trim().toUpperCase(); +function kY(e, t) { + const n = QI(e.fontFamily, t); return { family: n.family, weight: e.bold ? 700 : n.weight ?? 400, italic: e.italic ?? n.italic ?? !1, size: e.fontSize, - color: sG(e.fontColor), + color: vY(e.fontColor), decoration: e.underline ? ["underline"] : [], script: "normal", letterSpacing: 0, @@ -34351,136 +34972,136 @@ function iG(e, t) { dir: "ltr" }; } -function fs(e, t) { +function ps(e, t) { if (e.subtype === "free-text" && e.richText) return e.richText; - const n = ki(e) ?? { + const n = Aa(e) ?? { fontFamily: "helvetica", fontSize: 12, fontColor: "#000000", textAlign: "left" }; return { - body: iG(n, t), - paragraphs: g3(e.contents ?? "") + body: kY(n, t), + paragraphs: YI(e.contents ?? "") }; } -function Zp(e, t, n) { +function oh(e, t, n) { let o = null; for (const r of t) { const s = (o ?? e.byId)[r]; if (!s || !ks(e, s.annotation)) continue; - const i = n(s); - i !== s && (o ?? (o = { ...e.byId }), o[r] = i); + const a = n(s); + a !== s && (o ?? (o = { ...e.byId }), o[r] = a); } return o ? { ...e, byId: o } : e; } -function aG(e, t) { - return [Zp(e, Object.keys(t), (o) => { - const { subtype: r, ...s } = t[o.id], i = r === void 0 || ks(e, { ...o.annotation, subtype: r }), a = cG(o.annotation, s); - return ai(o, i ? { subtype: r, ...a } : a); +function xY(e, t) { + return [oh(e, Object.keys(t), (o) => { + const { subtype: r, ...s } = t[o.id], a = r === void 0 || ks(e, { ...o.annotation, subtype: r }), i = AY(o.annotation, s); + return la(o, a ? { subtype: r, ...i } : i); }), []]; } -const aA = { +const xA = { fontFamily: "family", fontSize: "size", fontColor: "color" }; -function cG(e, t) { +function AY(e, t) { if (e.subtype !== "free-text") return t; - const n = Object.keys(t).filter((i) => t[i] !== void 0 && aA[i]).map((i) => aA[i]); + const n = Object.keys(t).filter((a) => t[a] !== void 0 && xA[a]).map((a) => xA[a]); if (!n.length) return t; - const { body: o, paragraphs: r } = e.richText, s = h3({ paragraphs: r }, (i) => lb(i, n)); + const { body: o, paragraphs: r } = e.richText, s = GI({ paragraphs: r }, (a) => yb(a, n)); return s.paragraphs === r ? t : { ...t, richText: { body: o, paragraphs: s.paragraphs } }; } -function lG(e, t) { +function SY(e, t) { return t === "bold" ? e.weight >= 600 : t === "italic" ? e.italic : e.decoration.includes("underline"); } -function uG(e, t, n) { +function OY(e, t, n) { if (t === "bold") return { ...e, weight: n ? 700 : 400 }; if (t === "italic") return { ...e, italic: n }; const o = e.decoration.filter((r) => r !== "underline"); return { ...e, decoration: n ? [...o, "underline"] : o }; } -function dG(e, t, n) { - if (t === "bold") return lb(e, ["weight"]); - if (t === "italic") return lb(e, ["italic"]); +function PY(e, t, n) { + if (t === "bold") return yb(e, ["weight"]); + if (t === "italic") return yb(e, ["italic"]); if (!e.decoration || e.decoration.includes("underline") === n) return e; const o = e.decoration.filter((r) => r !== "underline"); return { ...e, decoration: n ? [...o, "underline"] : o }; } -function fG(e, t, n) { - return [Zp(e, e.selected, (r) => { +function MY(e, t, n) { + return [oh(e, e.selected, (r) => { const s = r.annotation; if (s.subtype !== "free-text") return r; - const { body: i, paragraphs: a } = s.richText, c = h3({ paragraphs: a }, (l) => dG(l, t, n)); - return lG(i, t) === n && c.paragraphs === a ? r : ai(r, { - richText: { body: uG(i, t, n), paragraphs: c.paragraphs } + const { body: a, paragraphs: i } = s.richText, c = GI({ paragraphs: i }, (l) => PY(l, t, n)); + return SY(a, t) === n && c.paragraphs === i ? r : la(r, { + richText: { body: OY(a, t, n), paragraphs: c.paragraphs } }); }), []]; } -function pG(e, t) { +function EY(e, t) { const n = [], o = []; for (const r of e.selected) { const s = e.byId[r]; - !s || !Qo(e, s) || !VV(mt(s.annotation)) || (s.annotation.subtype === "link" ? o.push(r) : n.push({ type: "syncLink", id: r, target: t })); + !s || !Xo(e, s) || !cY(yt(s.annotation)) || (s.annotation.subtype === "link" ? o.push(r) : n.push({ type: "syncLink", id: r, target: t })); } - return t && !W0(t) ? [e, n] : [Zp(e, o, (r) => ai(r, { target: t })), n]; + return t && !nw(t) ? [e, n] : [oh(e, o, (r) => la(r, { target: t })), n]; } -function hG(e, t, n) { - return [Zp(e, n ?? e.selected, (o) => ai(o, t)), []]; +function CY(e, t, n) { + return [oh(e, n ?? e.selected, (o) => la(o, t)), []]; } -function gG(e, t) { +function IY(e, t) { const n = e.selected.filter((s) => { - const i = e.byId[s]; - return i && Qo(e, i) && mt(i.annotation).caps.rotatable; + const a = e.byId[s]; + return a && Xo(e, a) && yt(a.annotation).caps.rotatable; }); if (!n.length) return [e, []]; let o; if (n.length === 1) { const s = e.byId[n[0]]; - o = iw(s); + o = vw(s); } else { - const s = e.byId[n[0]].annotation.page, i = ib({ ...e, selected: n }, s); - if (!i) return [e, []]; - o = { x: i.x + i.width / 2, y: i.y + i.height / 2 }; + const s = e.byId[n[0]].annotation.page, a = gb({ ...e, selected: n }, s); + if (!a) return [e, []]; + o = { x: a.x + a.width / 2, y: a.y + a.height / 2 }; } const r = { ...e.byId }; for (const s of n) { - const i = r[s], a = gt(i.annotation); - r[s] = $s(i, Jl(a, o, t)); + const a = r[s], i = bt(a.annotation); + r[s] = $s(a, tu(i, o, t)); } return [{ ...e, byId: r }, []]; } -function mG(e) { +function _Y(e) { const t = { ...e.byId }; let n = !1; for (const o of e.selected) { const r = t[o]; - if (!r || !Qo(e, r) || !mt(r.annotation).caps.rotatable) + if (!r || !Xo(e, r) || !yt(r.annotation).caps.rotatable) continue; - const s = gt(r.annotation); - if (kn(s) === 0) continue; - const i = iw(r); - t[o] = $s(r, Lq(s, i)), n = !0; + const s = bt(r.annotation); + if (On(s) === 0) continue; + const a = vw(r); + t[o] = $s(r, QH(s, a)), n = !0; } return n ? [{ ...e, byId: t }, []] : [e, []]; } -function bG(e) { +function NY(e) { const t = e.selected.filter((r) => { const s = e.byId[r]; - return !!s && Cq(e, s); + return !!s && KH(e, s); }); if (!t.length) return [e, []]; const n = [ ...t, - ...t.flatMap((r) => jf(e, r).map((s) => s.id)) + ...t.flatMap((r) => Pl(e, r).map((s) => s.id)) ], o = n.filter((r) => e.byId[r]).map((r) => ({ type: "delete", id: r })); - return [{ ...IV(e, n), draft: null }, o]; + return [{ ...qG(e, n), draft: null }, o]; } -function yG(e, t, n) { +function TY(e, t, n) { const o = e.byId[t]; if (!o) return [e, []]; - const r = g3(n), s = o.annotation.subtype === "free-text" ? { + const r = YI(n), s = o.annotation.subtype === "free-text" ? { ...o.annotation, contents: Ff({ paragraphs: r }), richText: { ...o.annotation.richText, paragraphs: r } @@ -34490,29 +35111,29 @@ function yG(e, t, n) { [{ type: "text", id: t }] ]; } -function wG(e, t, n) { +function RY(e, t, n) { const o = e.byId[t]; if (!o || o.annotation.subtype !== "free-text") return [e, []]; - const r = uw(n), s = { - body: r.body ? { ...il, ...r.body } : o.annotation.richText.body, + const r = Aw(n), s = { + body: r.body ? { ...sl, ...r.body } : o.annotation.richText.body, paragraphs: r.paragraphs - }, i = { + }, a = { ...o, annotation: { ...o.annotation, richText: s, contents: Ff(s) } }; - return [{ ...e, byId: { ...e.byId, [t]: i } }, [{ type: "text", id: t }]]; + return [{ ...e, byId: { ...e.byId, [t]: a } }, [{ type: "text", id: t }]]; } -const dw = (e) => e.filter((t) => { +const Sw = (e) => e.filter((t) => { const n = t.upperRight.x - t.upperLeft.x, o = t.upperRight.y - t.upperLeft.y, r = t.lowerLeft.x - t.upperLeft.x, s = t.lowerLeft.y - t.upperLeft.y; return Math.abs(n * s - o * r) > 0; }); -function vG(e, t, n, o, r = t, s) { - const i = dw(o); - if (!i.length) return [e, []]; - const a = { kind: "quads", quadPoints: i }, c = t === "redact" ? { rect: PC(a) } : {}, l = Or( +function LY(e, t, n, o, r = t, s) { + const a = Sw(o); + if (!a.length) return [e, []]; + const i = { kind: "quads", quadPoints: a }, c = t === "redact" ? { rect: oI(i) } : {}, l = Er( e, n, - Pr(t, In(e, r), a, c, s) + Mr(t, Nn(e, r), i, c, s) ), u = l.record.id; return [ { @@ -34527,79 +35148,79 @@ function vG(e, t, n, o, r = t, s) { [{ type: "create", id: u, draft: l.draft }] ]; } -function kG(e, t, n, o, r = "replace-text") { - const s = dw(n); +function jY(e, t, n, o, r = "replace-text") { + const s = Sw(n); if (!s.length) return [e, []]; - const i = Wt(Ro(e, "strikeout", r)), a = Or( + const a = Vt(To(e, "strikeout", r)), i = Er( e, t, - Pr("caret", {}, QE(o), { - color: i.color, - opacity: i.opacity, + Mr("caret", {}, EC(o), { + color: a.color, + opacity: a.opacity, intent: "replace" }) - ), c = a.record.id, l = Or( + ), c = i.record.id, l = Er( e, t, - Pr( + Mr( "strikeout", - In(e, r), + Nn(e, r), { kind: "quads", quadPoints: s }, { intent: "strikeout-text-edit" } ), - { offset: 2, reply: { to: a.record.annotation.ref, type: "group" } } + { offset: 2, reply: { to: i.record.annotation.ref, type: "group" } } ), u = l.record.id; return [ { ...e, objectNumbers: xs(e, 2), - byId: { ...e.byId, [c]: a.record, [u]: l.record }, + byId: { ...e.byId, [c]: i.record, [u]: l.record }, order: [...e.order, c, u], selected: [c, u], draft: null, preview: null }, [ - { type: "create", id: c, draft: a.draft }, + { type: "create", id: c, draft: i.draft }, { type: "create", id: u, draft: l.draft } ] ]; } -function xG(e, t, n, o) { - const r = QE(n); +function FY(e, t, n, o) { + const r = EC(n); if (r.box.width <= 0 || r.box.height <= 0) return [e, []]; - const s = Or( + const s = Er( e, t, - Pr("caret", In(e, "caret"), r, {}, o) - ), i = s.record.id; + Mr("caret", Nn(e, "caret"), r, {}, o) + ), a = s.record.id; return [ { ...e, objectNumbers: xs(e, 1), - byId: { ...e.byId, [i]: s.record }, - order: [...e.order, i], - selected: [i], + byId: { ...e.byId, [a]: s.record }, + order: [...e.order, a], + selected: [a], draft: null, preview: null }, - [{ type: "create", id: i, draft: s.draft }] + [{ type: "create", id: a, draft: s.draft }] ]; } -function AG(e, t, n, o = t) { +function DY(e, t, n, o = t) { const r = {}; for (const s in n) { - const i = dw(n[s]); - i.length && (r[Number(s)] = i); + const a = Sw(n[s]); + a.length && (r[Number(s)] = a); } return [{ ...e, preview: { subtype: t, preset: o, byPage: r } }, []]; } -({ ...r3 }); -function SG(e, t) { - const [n, o] = NG(e, t), r = _G(e, n); - return { session: CG(n), change: r, effects: [...o, ...OG(r, o)] }; +({ ...FI }); +function $Y(e, t) { + const [n, o] = VY(e, t), r = HY(e, n); + return { session: KY(n), change: r, effects: [...o, ...zY(r, o)] }; } -function PG(e) { +function BY(e) { switch (e.type) { case "createReplaceText": return 2; @@ -34614,14 +35235,14 @@ function PG(e) { return 0; } } -function OG(e, t) { +function zY(e, t) { const n = new Set(t.flatMap((o) => o.type === "text" ? [o.id] : [])); return e.put.flatMap((o) => { const r = e.patches[o.id]; return r && !n.has(o.id) ? [{ type: "patch", id: o.id, patch: r }] : []; }); } -const MG = { +const WY = { selected: !0, hovered: !0, draft: !0, @@ -34632,7 +35253,7 @@ const MG = { editing: !0, snap: !0, editable: !0 -}, EG = Object.keys(MG), CG = (e) => ({ +}, UY = Object.keys(WY), KY = (e) => ({ selected: e.selected, hovered: e.hovered, draft: e.draft, @@ -34643,33 +35264,33 @@ const MG = { editing: e.editing, snap: e.snap, editable: e.editable -}), IG = (e, t) => EG.every((n) => Object.is(e[n], t[n])), cA = { put: [], drop: [], patches: {} }; -function _G(e, t) { - if (e.byId === t.byId) return cA; +}), qY = (e, t) => UY.every((n) => Object.is(e[n], t[n])), AA = { put: [], drop: [], patches: {} }; +function HY(e, t) { + if (e.byId === t.byId) return AA; const n = [], o = {}; for (const s of t.order) { - const i = t.byId[s], a = e.byId[s]; - if (!i || i === a) continue; - if (!a) { - n.push(i); + const a = t.byId[s], i = e.byId[s]; + if (!a || a === i) continue; + if (!i) { + n.push(a); continue; } - const c = ul(a.annotation, i.annotation); + const c = ll(i.annotation, a.annotation); if (!Object.keys(c).length) continue; - const l = { subtype: a.annotation.subtype, ...c }; - o[s] = l, n.push(mV(a, l)); + const l = { subtype: i.annotation.subtype, ...c }; + o[s] = l, n.push(_G(i, l)); } const r = e.order.filter((s) => e.byId[s] && !t.byId[s]); - return n.length || r.length ? { put: n, drop: r, patches: o } : cA; + return n.length || r.length ? { put: n, drop: r, patches: o } : AA; } -function NG(e, t) { +function VY(e, t) { switch (t.type) { case "editPointer": - return BV(e, t.phase, t.in); + return tY(e, t.phase, t.in); case "marqueePointer": - return UV(e, t.phase, t.in); + return rY(e, t.phase, t.in); case "createPointer": - return RV( + return YG( e, t.phase, t.subtype, @@ -34684,15 +35305,15 @@ function NG(e, t) { t.capture ); case "finishInkDraft": - return l3(e); + return UI(e); case "finishCreationDraft": - return u3(e); + return KI(e); case "createCaret": - return xG(e, t.page, t.anchor, t.flags); + return FY(e, t.page, t.anchor, t.flags); case "createReplaceText": - return kG(e, t.page, t.quads, t.anchor, t.preset); + return jY(e, t.page, t.quads, t.anchor, t.preset); case "createMarkup": - return vG( + return LY( e, t.subtype, t.page, @@ -34701,11 +35322,11 @@ function NG(e, t) { t.flags ); case "setMarkupPreview": - return AG(e, t.subtype, t.quadsByPage, t.preset); + return DY(e, t.subtype, t.quadsByPage, t.preset); case "clearMarkupPreview": return e.preview ? [{ ...e, preview: null }, []] : [e, []]; case "select": { - const n = Nf( + const n = Tf( e, t.ids.filter((r) => vo(e, r)) ); @@ -34720,44 +35341,46 @@ function NG(e, t) { return o.length === e.selected.length ? [e, []] : [{ ...e, selected: o }, []]; } case "setFields": - return aG(e, t.patches); + return xY(e, t.patches); case "setTextFormat": - return fG(e, t.format, t.on); + return MY(e, t.format, t.on); case "setLink": - return pG(e, t.target); + return EY(e, t.target); case "setFlags": - return hG(e, t.patch, t.ids); + return CY(e, t.patch, t.ids); case "setDefaults": - return PV(e, t.preset, t.patch); + return BG(e, t.preset, t.patch); + case "replaceDefaults": + return DI(e, t.preset, t.defaults); case "setSnap": return [{ ...e, snap: { ...e.snap, ...t.patch } }, []]; case "rotateSelection": - return gG(e, t.degrees); + return IY(e, t.degrees); case "resetRotation": - return mG(e); + return _Y(e); case "delete": - return bG(e); + return NY(e); case "cancel": return [{ ...e, draft: null }, []]; case "forget": - return [s3(e, t.ids), []]; + return [$I(e, t.ids), []]; case "hover": return e.hovered === t.id ? [e, []] : [{ ...e, hovered: t.id }, []]; case "beginTextEdit": - return e.byId[t.id] && kC(e, e.byId[t.id]) ? [{ ...e, editing: t.id, selected: [t.id], draft: null }, []] : [e, []]; + return e.byId[t.id] && JC(e, e.byId[t.id]) ? [{ ...e, editing: t.id, selected: [t.id], draft: null }, []] : [e, []]; case "setText": - return yG(e, t.id, t.text); + return TY(e, t.id, t.text); case "setRichText": - return wG(e, t.id, t.doc); + return RY(e, t.id, t.doc); case "endTextEdit": return e.editing ? [{ ...e, editing: null }, []] : [e, []]; } } -function TG(e, t) { - return e.kind === "box" || e.kind === "caret" || e.kind === "text-box" && !e.calloutLine ? Qt(t ?? 0) : 0; +function GY(e, t) { + return e.kind === "box" || e.kind === "caret" || e.kind === "text-box" && !e.calloutLine ? tn(t ?? 0) : 0; } -function RG(e, t, n) { - const o = ft(_t(t), _t(e.box), -e.rotation); +function YY(e, t, n) { + const o = ht(Rt(t), Rt(e.box), -e.rotation); return { box: { x: o.x - t.width / 2 - e.box.x, @@ -34765,28 +35388,28 @@ function RG(e, t, n) { width: t.width, height: t.height }, - rotation: Qt(n - e.rotation) + rotation: tn(n - e.rotation) }; } -function Cc(e, t = 1) { - const n = { box: e.box, rotation: TG(e.geometry, e.rot), scale: t }; +function Ec(e, t = 1) { + const n = { box: e.box, rotation: GY(e.geometry, e.rot), scale: t }; return { ...e, frame: n, - raster: e.apBox ? RG(n, e.apBox, e.apRot ?? 0) : null + raster: e.apBox ? YY(n, e.apBox, e.apRot ?? 0) : null }; } -const Pg = "__draft__", LG = "__markup_preview__", jG = (e, t) => { +const Ig = "__draft__", QY = "__markup_preview__", XY = (e, t) => { const n = e[e.length - 1]; return n && (t.x !== n.x || t.y !== n.y) ? [...e, t] : e; -}, b3 = (e) => e.subtype === "redact" && e.overlayText ? { label: { text: e.overlayText, repeat: e.repeat } } : {}, y3 = (e) => (e.subtype === "text" || e.subtype === "file-attachment") && e.icon ? { icon: e.icon } : {}; -function fw(e, t) { - const n = e.byId[t], o = e.draft, r = yo(n.annotation); +}, XI = (e) => e.subtype === "redact" && e.overlayText ? { label: { text: e.overlayText, repeat: e.repeat } } : {}, ZI = (e) => (e.subtype === "text" || e.subtype === "file-attachment") && e.icon ? { icon: e.icon } : {}; +function Ow(e, t) { + const n = e.byId[t], o = e.draft, r = wo(n.annotation); if (!r || !o) return r; if (o.kind === "caption" && o.id === t) { - const s = gt(n.annotation), i = Wt(n.annotation); - return Qp(s, r, o.delta, i).measure; + const s = bt(n.annotation), a = Vt(n.annotation); + return eh(s, r, o.delta, a).measure; } return o.kind === "leader" && o.id === t && r.intent === "line-dimension" ? { ...r, @@ -34796,117 +35419,122 @@ function fw(e, t) { } } : r; } -function li(e, t, n) { - const o = e.byId[t], r = Xo(gt(o.annotation), Ut(o), n), s = e.draft; +function da(e, t, n) { + const o = e.byId[t], r = Zo(bt(o.annotation), Gt(o), n), s = e.draft; if (s) { if (s.kind === "move" && s.ids.includes(t)) - return z0(r, s.delta); + return tw(r, s.delta); if (s.kind === "handle" && s.id === t) return s.current; if (s.kind === "caption" && s.id === t) { - const i = Wt(o.annotation), a = yo(o.annotation); - return a ? Qp(r, a, s.delta, i).geometry : r; + const a = Vt(o.annotation), i = wo(o.annotation); + return i ? eh(r, i, s.delta, a).geometry : r; } if (s.kind === "rotate" && s.ids.includes(t)) - return Jl(r, s.pivot, ou(e, s).delta); + return tu(r, s.pivot, su(e, s).delta); if (s.kind === "group" && s.ids.includes(t)) { - const { sx: i, sy: a } = SC(s.base, s.current); - return Hp(r, s.anchor, i, a, bl); + const { sx: a, sy: i } = nI(s.base, s.current); + return Qp(r, s.anchor, a, i, bl); } } return r; } -function Jp(e, t) { - const n = Ut({ annotation: e }), o = Wt(e); - return !n?.zoom || !t ? o : { ...o, strokeWidth: sw(o.strokeWidth, n, t) }; +function rh(e, t) { + const n = Gt({ annotation: e }), o = Vt(e); + return !n?.zoom || !t ? o : { ...o, strokeWidth: ww(o.strokeWidth, n, t) }; } -function ub(e, t, n, o, r, s) { - const i = Xo(n, Ut({ annotation: t }), r), a = Jp(t, r), c = s && Sl(i, s, a), l = ki(t); - return Cc( +function wb(e, t, n, o, r, s) { + const a = Zo(n, Gt({ annotation: t }), r), i = rh(t, r), c = s && Sl(a, s, i), l = Aa(t); + return Ec( { id: e, ref: null, - subtype: mt(t).name, - geometry: i, - box: c?.visualBounds ?? Oc(i, a), - style: a, + subtype: yt(t).name, + geometry: a, + box: c?.visualBounds ?? Oc(a, i), + style: i, ...l ? { text: l } : {}, - ...y3(t), - ...b3(t), + ...ZI(t), + ...XI(t), ...s ? { measure: s } : {}, source: o, selected: !1, - rot: kn(i), - blend: es(a) + rot: On(a), + blend: ts(i) }, - YC(Ut({ annotation: t }), r) + MI(Gt({ annotation: t }), r) ); } -function FG(e, t) { +function ZY(e, t) { let n = null; return () => (n ?? (n = { result: e(t) })).result; } -function DG(e, t) { - return e.editing === t || JC(e, t) === "vector"; +function JY(e, t) { + return e.editing === t || NI(e, t) === "vector"; } -function $G(e, t, n) { +function eQ(e, t, n) { const o = t.objectNumber, r = []; - for (const a of QC(e, t)) { - const c = e.byId[a], l = ki(c.annotation), u = li(e, a, n), f = Jp(c.annotation, n), d = yV(e, a, n, u), p = fw(e, a), g = (p && Sl(u, p, f))?.visualBounds ?? Oc(u, f); + for (const i of EI(e, t)) { + const c = e.byId[i], l = Aa(c.annotation), u = da(e, i, n), f = rh(c.annotation, n), d = TG(e, i, n, u), p = Ow(e, i), h = (p && Sl(u, p, f))?.visualBounds ?? Oc(u, f); r.push( - Cc( + Ec( { - id: a, - ref: Ct(c), + id: i, + ref: Nt(c), annotation: c.annotation, - subtype: mt(c.annotation).name, + subtype: yt(c.annotation).name, geometry: u, - box: g, + box: h, apBox: d.box, style: f, ...l ? { text: l } : {}, - ...y3(c.annotation), - ...b3(c.annotation), + ...ZI(c.annotation), + ...XI(c.annotation), measure: p, - source: JC(e, a), + source: NI(e, i), pictureVersion: c.pictureVersion ?? 0, // A lent record's lender draws it where it is now, a gesture included. - ...c.painter ? { lentScene: FG(c.painter, g) } : {}, - selected: e.selected.includes(a), - ...e.hovered === a ? { hovered: !0 } : {}, - rot: kn(u), + ...c.painter ? { lentScene: ZY(c.painter, h) } : {}, + selected: e.selected.includes(i), + ...e.hovered === i ? { hovered: !0 } : {}, + rot: On(u), ...d.rot ? { apRot: d.rot } : {}, - blend: es(f) + blend: ts(f) }, - YC(Ut(c), n) + MI(Gt(c), n) ) ); } const s = e.draft; - if ((s?.kind === "create-rect" || s?.kind === "create-line") && s.page.objectNumber === o && ca(s.kind === "create-line" ? "segment" : "box", s.from, s.to)) { - const a = c3(s), c = { ...Ro(e, s.subtype, s.preset), ...s.flags }, l = a && Yc(c, a); + if ((s?.kind === "create-rect" || s?.kind === "create-line") && s.page.objectNumber === o && ci(s.kind === "create-line" ? "segment" : "box", s.from, s.to)) { + const i = WI(s), c = { ...To(e, s.subtype, s.preset), ...s.flags }, l = i && Gc(c, i); if (l) { const u = s.kind === "create-line" ? s.measure : void 0; - r.push(ub(Pg, c, l, "draft", n, u)); + r.push(wb(Ig, c, l, "draft", n, u)); } } if ((s?.kind === "create-distance" || s?.kind === "create-poly" || s?.kind === "create-ink") && s.page.objectNumber === o) { - const a = Ro(e, s.subtype, s.preset), c = { ...Wt(a) }; + const i = To(e, s.subtype, s.preset), c = { ...Vt(i) }; s.kind === "create-distance" && c.interiorColor == null && (c.interiorColor = c.color); const l = s.kind === "create-distance" ? { kind: "line", linePoints: { start: s.from, end: s.to }, - lineEndings: vl(a), + lineEndings: vl(i), rotation: 0 } : s.kind === "create-poly" ? { kind: "poly", - vertices: jG(s.points, s.current), + vertices: XY(s.points, s.current), closed: s.closed, - lineEndings: s.closed ? void 0 : vl(a), + lineEndings: s.closed ? void 0 : vl(i), rotation: 0 - } : { kind: "ink", inkList: s.strokes, rotation: 0 }, u = s.kind === "create-distance" || s.kind === "create-poly" ? s.measure : void 0, f = u && Sl(l, u, c); + } : { + kind: "ink", + inkList: s.strokes, + rotation: 0, + ...s.drawing ? { drawing: !0 } : {} + }, u = s.kind === "create-distance" || s.kind === "create-poly" ? s.measure : void 0, f = u && Sl(l, u, c); r.push( - Cc({ - id: Pg, + Ec({ + id: Ig, ref: null, measure: u, subtype: s.subtype, @@ -34919,15 +35547,15 @@ function $G(e, t, n) { ); } if (s?.kind === "create-callout" && s.page.objectNumber === o) { - const a = Ro(e, s.subtype, s.preset), c = Wt(a), l = a.subtype === "free-text" ? a.lineEnding : null, u = l && l !== "none" ? l : "open-arrow", f = i3(s), d = s.step === "knee" ? { + const i = To(e, s.subtype, s.preset), c = Vt(i), l = i.subtype === "free-text" ? i.lineEnding : null, u = l && l !== "none" ? l : "open-arrow", f = BI(s), d = s.step === "knee" ? { kind: "line", linePoints: { start: s.tip, end: s.current }, lineEndings: { start: u, end: "none" }, rotation: 0 - } : sC(a3(s), f, s.tip, s.knee, u); + } : FC(zI(s), f, s.tip, s.knee, u); r.push( - Cc({ - id: Pg, + Ec({ + id: Ig, ref: null, subtype: s.subtype, geometry: d, @@ -34938,17 +35566,17 @@ function $G(e, t, n) { }) ); } - const i = e.preview?.byPage[o]; - if (e.preview && i?.length) { - const a = { kind: "quads", quadPoints: i }; + const a = e.preview?.byPage[o]; + if (e.preview && a?.length) { + const i = { kind: "quads", quadPoints: a }; r.push( - Cc({ - id: LG, + Ec({ + id: QY, ref: null, subtype: e.preview.subtype, - geometry: a, - box: Oc(a, { strokeWidth: 0 }), - style: Wt(Ro(e, e.preview.subtype, e.preview.preset)), + geometry: i, + box: Oc(i, { strokeWidth: 0 }), + style: Vt(To(e, e.preview.subtype, e.preview.preset)), source: "draft", selected: !1 }) @@ -34956,184 +35584,184 @@ function $G(e, t, n) { } return r; } -function BG(e, t, n) { +function tQ(e, t, n) { const o = t.objectNumber, r = []; for (const s of e.order) { - const i = e.byId[s]; - if (i.annotation.page.objectNumber !== o || !j0(i.annotation, e.selected.includes(s)) || !DG(e, s)) continue; - const a = w3(e, s, n); - a && r.push(a); + const a = e.byId[s]; + if (a.annotation.page.objectNumber !== o || !Q0(a.annotation, e.selected.includes(s)) || !JY(e, s)) continue; + const i = JI(e, s, n); + i && r.push(i); } return r; } -function w3(e, t, n) { +function JI(e, t, n) { const o = e.byId[t]; - if (!o || gt(o.annotation).kind !== "text-box") return null; - const r = li(e, t, n); + if (!o || bt(o.annotation).kind !== "text-box") return null; + const r = da(e, t, n); return r.kind !== "text-box" ? null : { id: t, box: r.box, editing: e.editing === t, - rot: kn(r) + rot: On(r) }; } -const zG = (e) => [ +const nQ = (e) => [ { x: e.x, y: e.y }, { x: e.x + e.width, y: e.y }, { x: e.x + e.width, y: e.y + e.height }, { x: e.x, y: e.y + e.height } ]; -function ru(e, t, n, o) { +function au(e, t, n, o) { const r = e.byId[t]; - return vr(r, void 0, { + return kr(r, void 0, { geometry: n, - style: Jp(r.annotation, o), - measure: fw(e, t) + style: rh(r.annotation, o), + measure: Ow(e, t) }); } -function v3(e, t, n, o) { +function e3(e, t, n, o) { const r = t.objectNumber, s = []; - for (const i of e.selected) { - const a = e.byId[i]; - !a || a.annotation.page.objectNumber !== r || s.push(...ru(e, i, n(i), o).corners); + for (const a of e.selected) { + const i = e.byId[a]; + !i || i.annotation.page.objectNumber !== r || s.push(...au(e, a, n(a), o).corners); } - return s.length ? pt(s) : null; + return s.length ? ft(s) : null; } -function lA(e, t, n, o, r, s) { - const i = t.objectNumber, a = e.selected.filter( - (c) => vo(e, c) && e.byId[c].annotation.page.objectNumber === i +function SA(e, t, n, o, r, s) { + const a = t.objectNumber, i = e.selected.filter( + (c) => vo(e, c) && e.byId[c].annotation.page.objectNumber === a ); - if (a.length === 1) { - const c = e.byId[a[0]]; - if (!mt(c.annotation).caps.rotatable || !Qo(e, c)) + if (i.length === 1) { + const c = e.byId[i[0]]; + if (!yt(c.annotation).caps.rotatable || !Xo(e, c)) return null; - const l = ru(e, c.id, r(c.id), s); - return If(l.corners, o, n); + const l = au(e, c.id, r(c.id), s); + return _f(l.corners, o, n); } - if (a.length > 1 && nw(e, a).rotatable) { - const c = v3(e, t, r, s); - if (c) return If(zG(c), o, n); + if (i.length > 1 && mw(e, i).rotatable) { + const c = e3(e, t, r, s); + if (c) return _f(nQ(c), o, n); } return null; } -function k3(e, t, n, o = qp, r) { +function t3(e, t, n, o = Yp, r) { const s = e.draft; if (s?.kind === "rotate" && e.byId[s.ids[0]]?.annotation.page.objectNumber === t.objectNumber) { - const i = lA( + const a = SA( e, t, n, o, - (c) => Xo(gt(e.byId[c].annotation), Ut(e.byId[c]), r), + (c) => Zo(bt(e.byId[c].annotation), Gt(e.byId[c]), r), r ); - if (!i) return null; - const { delta: a } = ou(e, s); + if (!a) return null; + const { delta: i } = su(e, s); return { - at: ft(i.at, s.pivot, a), - from: ft(i.from, s.pivot, a) + at: ht(a.at, s.pivot, i), + from: ht(a.from, s.pivot, i) }; } - return lA( + return SA( e, t, n, o, - (i) => li(e, i, r), + (a) => da(e, a, r), r ); } -function WG(e, t, n, o = qp, r) { - const s = t.objectNumber, i = []; - if (e.draft?.kind === "marquee" && e.draft.page.objectNumber === s && i.push({ kind: "marquee", rect: yl(e.draft.from, e.draft.to) }), e.draft?.kind === "create-rect" && e.draft.subtype === "link" && e.draft.page.objectNumber === s && i.push({ kind: "marquee", rect: yl(e.draft.from, e.draft.to) }), e.draft?.kind === "move" && e.draft.guides.length && e.byId[e.draft.ids[0]]?.annotation.page.objectNumber === s) +function oQ(e, t, n, o = Yp, r) { + const s = t.objectNumber, a = []; + if (e.draft?.kind === "marquee" && e.draft.page.objectNumber === s && a.push({ kind: "marquee", rect: yl(e.draft.from, e.draft.to) }), e.draft?.kind === "create-rect" && e.draft.subtype === "link" && e.draft.page.objectNumber === s && a.push({ kind: "marquee", rect: yl(e.draft.from, e.draft.to) }), e.draft?.kind === "move" && e.draft.guides.length && e.byId[e.draft.ids[0]]?.annotation.page.objectNumber === s) for (const l of e.draft.guides) - i.push({ kind: "guide", axis: l.axis, at: l.at, lo: l.lo, hi: l.hi }); - const a = e.draft?.kind === "rotate" && e.byId[e.draft.ids[0]]?.annotation.page.objectNumber === s ? e.draft : null; - if (a) { - const { angle: l } = ou(e, a), u = n ?? { x: a.pivot.x - 300, y: a.pivot.y - 300, width: 600, height: 600 }, f = []; + a.push({ kind: "guide", axis: l.axis, at: l.at, lo: l.lo, hi: l.hi }); + const i = e.draft?.kind === "rotate" && e.byId[e.draft.ids[0]]?.annotation.page.objectNumber === s ? e.draft : null; + if (i) { + const { angle: l } = su(e, i), u = n ?? { x: i.pivot.x - 300, y: i.pivot.y - 300, width: 600, height: 600 }, f = []; for (const [d, p] of [ [0, "axis"], [90, "axis"], [l, "indicator"] ]) { - const h = $q(u, a.pivot, d); - h && f.push({ ...h, role: p }); + const g = eV(u, i.pivot, d); + g && f.push({ ...g, role: p }); } - i.push({ kind: "rotate-guides", center: a.pivot, angle: l, lines: f }); + a.push({ kind: "rotate-guides", center: i.pivot, angle: l, lines: f }); } const c = e.selected.filter( (l) => vo(e, l) && e.byId[l].annotation.page.objectNumber === s ); if (c.length === 1) { - const l = e.byId[c[0]], u = li(e, c[0], r), f = Jp(l.annotation, r), d = mt(l.annotation).caps, p = kn(u), h = fw(e, l.id), g = h?.intent === "line-dimension" && Ai(u, h, f.strokeWidth), m = ru(e, l.id, u, r); - if (m.angle !== 0 ? i.push({ kind: "obb", corners: m.corners, angle: m.angle }) : i.push({ kind: "outline", rect: pt(m.corners) }), !a && Qo(e, l) && (d.resizable || d.vertexEditable)) { - const M = g ? $C(g) : B0(u), x = e.draft?.kind === "handle" && e.draft.id === l.id ? e.draft.handle : null; - for (const S of M) - i.push({ + const l = e.byId[c[0]], u = da(e, c[0], r), f = rh(l.annotation, r), d = yt(l.annotation).caps, p = On(u), g = Ow(e, l.id), h = g?.intent === "line-dimension" && Oa(u, g, f.strokeWidth), m = au(e, l.id, u, r); + if (m.angle !== 0 ? a.push({ kind: "obb", corners: m.corners, angle: m.angle }) : a.push({ kind: "outline", rect: ft(m.corners) }), !i && Xo(e, l) && (d.resizable || d.vertexEditable)) { + const O = h ? bI(h) : ew(u), E = e.draft?.kind === "handle" && e.draft.id === l.id ? e.draft.handle : null; + for (const P of O) + a.push({ kind: "handle", - at: S.at, - cursor: Af(S.cursor, r?.rotation ?? 0), + at: P.at, + cursor: Sf(P.cursor, r?.rotation ?? 0), ...p ? { rot: p } : {}, - role: uA(S.id), - active: S.id === x + role: OA(P.id), + active: P.id === E }); } - } else if (c.length > 1 && !a) { - const l = v3(e, t, (u) => li(e, u, r), r); - if (l && (i.push({ kind: "outline", rect: l }), nw(e, c).resizable)) { + } else if (c.length > 1 && !i) { + const l = e3(e, t, (u) => da(e, u, r), r); + if (l && (a.push({ kind: "outline", rect: l }), mw(e, c).resizable)) { const f = e.draft?.kind === "group" && e.draft.op === "resize" ? e.draft.handle : null; - for (const d of xC(l)) - i.push({ + for (const d of eI(l)) + a.push({ kind: "handle", at: d.at, - cursor: Af(d.cursor, r?.rotation ?? 0), - role: uA(d.id), + cursor: Sf(d.cursor, r?.rotation ?? 0), + role: OA(d.id), active: d.id === f }); } } - if (!a) { - const l = k3(e, t, n, o, r); - l && i.push({ kind: "rotate-knob", at: l.at, from: l.from }); + if (!i) { + const l = t3(e, t, n, o, r); + l && a.push({ kind: "rotate-knob", at: l.at, from: l.from }); } - return i; + return a; } -function UG(e, t, n) { +function rQ(e, t, n) { const o = t.objectNumber, r = e.selected.filter( - (i) => vo(e, i) && e.byId[i].annotation.page.objectNumber === o + (a) => vo(e, a) && e.byId[a].annotation.page.objectNumber === o ); if (r.length === 0) return null; const s = r.flatMap( - (i) => ru(e, i, li(e, i, n), n).corners + (a) => au(e, a, da(e, a, n), n).corners ); - return pt(s); + return ft(s); } -function KG(e, t, n, o) { +function sQ(e, t, n, o) { if (e.draft && !e.draft.kind.startsWith("create-")) return null; const r = e.selected.find((l) => vo(e, l)); if (r == null) return null; - const s = e.byId[r].annotation.page, i = o?.(s), a = UG(e, s, i); - if (!a) return null; - const c = k3( + const s = e.byId[r].annotation.page, a = o?.(s), i = rQ(e, s, a); + if (!i) return null; + const c = t3( e, s, t?.(s), - n?.(s) ?? qp, - i + n?.(s) ?? Yp, + a ); - return c ? { page: s, bounds: a, knob: c.at } : { page: s, bounds: a }; + return c ? { page: s, bounds: i, knob: c.at } : { page: s, bounds: i }; } -function qG(e) { +function aQ(e) { const t = e.draft; if (t?.kind !== "rotate") return null; const n = e.byId[t.ids[0]]?.annotation.page; return n ? { page: n, at: t.current, - angle: Math.round(ou(e, t).angle) + angle: Math.round(su(e, t).angle) } : null; } -function x3(e) { +function n3(e) { const t = e.draft; if (t?.kind !== "create-poly" || !t.points.length) return null; const n = t.closed ? 3 : 2; @@ -35141,32 +35769,32 @@ function x3(e) { kind: "poly", subtype: t.closed ? "polygon" : "polyline", page: t.page, - bounds: pt(t.points), + bounds: ft(t.points), pointCount: t.points.length, minPoints: n, - canFinish: t.points.length >= n && (!t.measure || !("unavailable" in Yp( + canFinish: t.points.length >= n && (!t.measure || !("unavailable" in Jp( { kind: "poly", vertices: t.points, closed: t.closed }, t.measure ))) }; } -function uA(e) { +function OA(e) { return e === "nw" || e === "ne" || e === "se" || e === "sw" ? "corner" : e === "n" || e === "e" || e === "s" || e === "w" ? "side" : "point"; } -function dA(e, t, n) { +function PA(e, t, n) { const o = e.byId[t]; if (!o) return null; - const r = ru(e, t, li(e, t, n), n); - return { page: o.annotation.page, bounds: pt(r.corners) }; + const r = au(e, t, da(e, t, n), n); + return { page: o.annotation.page, bounds: ft(r.corners) }; } -const la = 20, Gi = 1, fA = (e) => Number(e.toFixed(3)); -class db { +const li = 20, Xa = 1, MA = (e) => Number(e.toFixed(3)); +class vb { constructor(t) { this.toPage = t, this.parts = []; } point(t, n) { const o = this.toPage(t, n); - return `${fA(o.x)} ${fA(o.y)}`; + return `${MA(o.x)} ${MA(o.y)}`; } move(t, n) { return this.parts.push(`M ${this.point(t, n)}`), this; @@ -35174,8 +35802,8 @@ class db { line(t, n) { return this.parts.push(`L ${this.point(t, n)}`), this; } - curve(t, n, o, r, s, i) { - return this.parts.push(`C ${this.point(t, n)} ${this.point(o, r)} ${this.point(s, i)}`), this; + curve(t, n, o, r, s, a) { + return this.parts.push(`C ${this.point(t, n)} ${this.point(o, r)} ${this.point(s, a)}`), this; } close() { return this.parts.push("Z"), this; @@ -35186,20 +35814,20 @@ class db { } /** A closed ellipse in the box between two corners: four curves from its top middle. */ ellipse(t, n, o, r) { - const s = (t + o) / 2, i = (n + r) / 2, a = pA * Math.abs(o - t) / 2, c = pA * Math.abs(r - n) / 2, [l, u] = [Math.min(t, o), Math.max(t, o)], [f, d] = [Math.min(n, r), Math.max(n, r)]; - return this.move(s, d).curve(s + a, d, u, i + c, u, i).curve(u, i - c, s + a, f, s, f).curve(s - a, f, l, i - c, l, i).curve(l, i + c, s - a, d, s, d).close(); + const s = (t + o) / 2, a = (n + r) / 2, i = EA * Math.abs(o - t) / 2, c = EA * Math.abs(r - n) / 2, [l, u] = [Math.min(t, o), Math.max(t, o)], [f, d] = [Math.min(n, r), Math.max(n, r)]; + return this.move(s, d).curve(s + i, d, u, a + c, u, a).curve(u, a - c, s + i, f, s, f).curve(s - i, f, l, a - c, l, a).curve(l, a + c, s - i, d, s, d).close(); } get d() { return this.parts.join(" "); } } -const pA = 0.5523; -function HG(e) { - const t = e?.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i), [n, o, r] = t ? t.slice(1).map((i) => parseInt(i, 16) / 255) : [0, 0, 0]; +const EA = 0.5523; +function iQ(e) { + const t = e?.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i), [n, o, r] = t ? t.slice(1).map((a) => parseInt(a, 16) / 255) : [0, 0, 0]; return 0.299 * n + 0.587 * o + 0.114 * r < 0.45 ? "#ffffff" : "#000000"; } -function A3(e, t) { - const n = HG(e.color), o = { opacity: e.opacity, blend: es(e) }; +function o3(e, t) { + const n = iQ(e.color), o = { opacity: e.opacity, blend: ts(e) }; return { contrast: n, /** Filled with the colour and outlined, as PDF's `B` (or `B*`, even-odd) paints. */ @@ -35207,11 +35835,11 @@ function A3(e, t) { ...o, fill: e.color ?? void 0, stroke: n, - width: Gi * t, + width: Xa * t, ...r ? { fillRule: "evenodd" } : {} }), /** Outlined only. */ - outline: (r = Gi, s = !1) => ({ + outline: (r = Xa, s = !1) => ({ ...o, stroke: n, width: r * t, @@ -35229,85 +35857,85 @@ function A3(e, t) { }) }; } -function S3(e) { - const t = e.width / la, n = e.height / la; +function r3(e) { + const t = e.width / li, n = e.height / li; return { - toPage: (o, r) => ({ x: e.x + o * t, y: e.y + (la - r) * n }), + toPage: (o, r) => ({ x: e.x + o * t, y: e.y + (li - r) * n }), pen: Math.sqrt(t * n) }; } -const P3 = (e, t) => (n, o) => e( - Gi / 2 + n / t * (la - Gi), - Gi / 2 + o / t * (la - Gi) +const s3 = (e, t) => (n, o) => e( + Xa / 2 + n / t * (li - Xa), + Xa / 2 + o / t * (li - Xa) ); -function VG(e, t, n) { - const { toPage: o, pen: r } = S3(t), s = A3(n, r), i = () => new db(o), a = () => new db(P3(o, la)), c = (l, u) => ({ kind: "path", d: l.d, paint: u }); +function cQ(e, t, n) { + const { toPage: o, pen: r } = r3(t), s = o3(n, r), a = () => new vb(o), i = () => new vb(s3(o, li)), c = (l, u) => ({ kind: "path", d: l.d, paint: u }); switch (e) { case "comment": { - const l = i().move(0.5, 4.5).line(0.5, 19.5).line(19.5, 19.5).line(19.5, 4.5).line(8.5, 4.5).line(6.5, 0.5).line(4.5, 4.5).line(0.5, 4.5); + const l = a().move(0.5, 4.5).line(0.5, 19.5).line(19.5, 19.5).line(19.5, 4.5).line(8.5, 4.5).line(6.5, 0.5).line(4.5, 4.5).line(0.5, 4.5); for (const u of [15.75, 12, 8.25]) l.move(2.5, u).line(17.5, u); return [c(l, s.body(!0))]; } case "help": { - const l = a().move(7.2, 12.8).curve(7.2, 15.2, 8.6, 16.2, 10.2, 16.2).curve(11.9, 16.2, 13, 15.1, 13, 13.6).curve(13, 11.6, 10.2, 11.3, 10.2, 9).line(10.2, 7.8); + const l = i().move(7.2, 12.8).curve(7.2, 15.2, 8.6, 16.2, 10.2, 16.2).curve(11.9, 16.2, 13, 15.1, 13, 13.6).curve(13, 11.6, 10.2, 11.3, 10.2, 9).line(10.2, 7.8); return [ - c(a().ellipse(1, 1, 19, 19), s.body()), + c(i().ellipse(1, 1, 19, 19), s.body()), c(l, s.outline(1.8, !0)), - c(a().ellipse(9, 4, 11.4, 6.4), s.mark()) + c(i().ellipse(9, 4, 11.4, 6.4), s.mark()) ]; } case "key": { - const l = a().ellipse(1.5, 8.5, 10.5, 17.5).ellipse(4.2, 11.2, 7.8, 14.8).rect(10.5, 11.8, 18.5, 14.2).rect(13.5, 8.8, 15, 11.8).rect(16.5, 9.8, 18.5, 11.8); + const l = i().ellipse(1.5, 8.5, 10.5, 17.5).ellipse(4.2, 11.2, 7.8, 14.8).rect(10.5, 11.8, 18.5, 14.2).rect(13.5, 8.8, 15, 11.8).rect(16.5, 9.8, 18.5, 11.8); return [c(l, s.body(!0))]; } case "new-paragraph": { - const l = a().move(3, 8).line(17, 8).line(10, 18).close().rect(3, 2, 17, 5); + const l = i().move(3, 8).line(17, 8).line(10, 18).close().rect(3, 2, 17, 5); return [c(l, s.body(!0))]; } case "paragraph": { - const l = a().move(15.5, 18).line(15.5, 2).line(13.7, 2).line(13.7, 16.2).line(11.8, 16.2).line(11.8, 2).line(10, 2).line(10, 9.6).curve(6.6, 9.6, 4, 11.4, 4, 13.8).curve(4, 16.2, 6.6, 18, 10, 18).close(); + const l = i().move(15.5, 18).line(15.5, 2).line(13.7, 2).line(13.7, 16.2).line(11.8, 16.2).line(11.8, 2).line(10, 2).line(10, 9.6).curve(6.6, 9.6, 4, 11.4, 4, 13.8).curve(4, 16.2, 6.6, 18, 10, 18).close(); return [c(l, s.body())]; } case "insert": { - const l = a().move(2.5, 3).line(10, 17).line(17.5, 3).line(14.3, 3).line(10, 11.2).line(5.7, 3).close(); + const l = i().move(2.5, 3).line(10, 17).line(17.5, 3).line(14.3, 3).line(10, 11.2).line(5.7, 3).close(); return [c(l, s.body())]; } default: { - const l = a().move(3.5, 1).line(3.5, 19).line(12.5, 19).line(16.5, 15).line(16.5, 1).close(), u = a().move(12.5, 19).line(12.5, 15).line(16.5, 15); + const l = i().move(3.5, 1).line(3.5, 19).line(12.5, 19).line(16.5, 15).line(16.5, 1).close(), u = i().move(12.5, 19).line(12.5, 15).line(16.5, 15); for (const f of [12, 8.5, 5]) u.move(6, f).line(14, f); return [c(l, s.body()), c(u, s.outline())]; } } } -function GG(e, t, n) { - const { toPage: o, pen: r } = S3(t), s = A3(n, r), i = () => new db(P3(o, 1)), a = (c, l) => ({ kind: "path", d: c.d, paint: l }); +function lQ(e, t, n) { + const { toPage: o, pen: r } = r3(t), s = o3(n, r), a = () => new vb(s3(o, 1)), i = (c, l) => ({ kind: "path", d: c.d, paint: l }); switch (e) { case "paperclip": { - const c = i().move(0.32, 0.28).line(0.32, 0.72).curve(0.32, 0.85, 0.68, 0.85, 0.68, 0.72).line(0.68, 0.2).curve(0.68, 0.1, 0.5, 0.1, 0.5, 0.2).line(0.5, 0.65).curve(0.5, 0.72, 0.41, 0.72, 0.41, 0.65).line(0.41, 0.3); - return [a(c, s.outline(2.6, !0)), a(c, s.wire(1.4))]; + const c = a().move(0.32, 0.28).line(0.32, 0.72).curve(0.32, 0.85, 0.68, 0.85, 0.68, 0.72).line(0.68, 0.2).curve(0.68, 0.1, 0.5, 0.1, 0.5, 0.2).line(0.5, 0.65).curve(0.5, 0.72, 0.41, 0.72, 0.41, 0.65).line(0.41, 0.3); + return [i(c, s.outline(2.6, !0)), i(c, s.wire(1.4))]; } case "graph": { - const c = i().rect(0.1, 0.1, 0.9, 0.9).rect(0.16, 0.16, 0.84, 0.84).rect(0.22, 0.16, 0.36, 0.4).rect(0.43, 0.16, 0.57, 0.56).rect(0.64, 0.16, 0.78, 0.76); - return [a(c, s.body(!0))]; + const c = a().rect(0.1, 0.1, 0.9, 0.9).rect(0.16, 0.16, 0.84, 0.84).rect(0.22, 0.16, 0.36, 0.4).rect(0.43, 0.16, 0.57, 0.56).rect(0.64, 0.16, 0.78, 0.76); + return [i(c, s.body(!0))]; } case "tag": { - const c = i().move(0.1, 0.5).line(0.34, 0.8).line(0.9, 0.8).line(0.9, 0.2).line(0.34, 0.2).close().ellipse(0.305, 0.445, 0.415, 0.555); - return [a(c, s.body(!0))]; + const c = a().move(0.1, 0.5).line(0.34, 0.8).line(0.9, 0.8).line(0.9, 0.2).line(0.34, 0.2).close().ellipse(0.305, 0.445, 0.415, 0.555); + return [i(c, s.body(!0))]; } default: { - const c = i().ellipse(0.33, 0.53, 0.67, 0.87).rect(0.37, 0.46, 0.63, 0.525).move(0.47, 0.455).line(0.53, 0.455).line(0.5, 0.1).close(); - return [a(c, s.body())]; + const c = a().ellipse(0.33, 0.53, 0.67, 0.87).rect(0.37, 0.46, 0.63, 0.525).move(0.47, 0.455).line(0.53, 0.455).line(0.5, 0.1).close(); + return [i(c, s.body())]; } } } -const Df = (e) => Number(e.toFixed(3)), YG = /* @__PURE__ */ new Set(["line", "polyline", "ink"]); -function QG(e, t) { +const Df = (e) => Number(e.toFixed(3)), uQ = /* @__PURE__ */ new Set(["line", "polyline", "ink"]); +function dQ(e, t) { return { fill: t ? e.interiorColor ?? void 0 : void 0, stroke: e.color ?? void 0, width: e.strokeWidth, opacity: e.opacity, - dash: gC(e), + dash: VC(e), // Cloud curls end in deliberate direction reversals (the 22° curl-back // tails), which a miter join blows up into spikes. PDFium bakes cloudy // borders with `1 j` (round join) for exactly this reason — match it, so @@ -35315,135 +35943,135 @@ function QG(e, t) { ...e.cloudyIntensity ? { join: "round" } : {} }; } -function XG(e, t, n, o, r) { - const s = Math.max(2, r * 1.5), i = (u, f) => ({ +function fQ(e, t, n, o, r) { + const s = Math.max(2, r * 1.5), a = (u, f) => ({ x: e.x + t.x * u + n.x * f, y: e.y + t.y * u + n.y * f - }), a = (u) => `${Df(u.x)} ${Df(u.y)}`, c = i(s / 2, r); - let l = `M ${a(i(0, 0))} Q ${a(c)} ${a(i(s, 0))}`; + }), i = (u) => `${Df(u.x)} ${Df(u.y)}`, c = a(s / 2, r); + let l = `M ${i(a(0, 0))} Q ${i(c)} ${i(a(s, 0))}`; for (let u = s; u + s <= o + 0.5; u += s) - l += ` T ${a(i(u + s, 0))}`; + l += ` T ${i(a(u + s, 0))}`; return l; } -function ZG(e, t, n) { +function pQ(e, t, n) { const o = n.color ?? void 0, r = n.opacity, s = []; - for (const i of t) { - const a = { - x: i.lowerLeft.x - i.upperLeft.x, - y: i.lowerLeft.y - i.upperLeft.y - }, c = Math.hypot(a.x, a.y), l = { - x: i.lowerRight.x - i.lowerLeft.x, - y: i.lowerRight.y - i.lowerLeft.y + for (const a of t) { + const i = { + x: a.lowerLeft.x - a.upperLeft.x, + y: a.lowerLeft.y - a.upperLeft.y + }, c = Math.hypot(i.x, i.y), l = { + x: a.lowerRight.x - a.lowerLeft.x, + y: a.lowerRight.y - a.lowerLeft.y }, u = Math.hypot(l.x, l.y); if (u <= 0 || c <= 0) continue; - const f = { x: a.x / c, y: a.y / c }, d = Math.min(2.5, Math.max(0.75, c * 0.06)); + const f = { x: i.x / c, y: i.y / c }, d = Math.min(2.5, Math.max(0.75, c * 0.06)); if (e === "underline") s.push({ kind: "line", - a: { x: i.lowerLeft.x - f.x * d, y: i.lowerLeft.y - f.y * d }, - b: { x: i.lowerRight.x - f.x * d, y: i.lowerRight.y - f.y * d }, - paint: { stroke: o, width: d, opacity: r, blend: es(n) } + a: { x: a.lowerLeft.x - f.x * d, y: a.lowerLeft.y - f.y * d }, + b: { x: a.lowerRight.x - f.x * d, y: a.lowerRight.y - f.y * d }, + paint: { stroke: o, width: d, opacity: r, blend: ts(n) } }); else if (e === "strikeout") s.push({ kind: "line", a: { - x: (i.upperLeft.x + i.lowerLeft.x) / 2, - y: (i.upperLeft.y + i.lowerLeft.y) / 2 + x: (a.upperLeft.x + a.lowerLeft.x) / 2, + y: (a.upperLeft.y + a.lowerLeft.y) / 2 }, b: { - x: (i.upperRight.x + i.lowerRight.x) / 2, - y: (i.upperRight.y + i.lowerRight.y) / 2 + x: (a.upperRight.x + a.lowerRight.x) / 2, + y: (a.upperRight.y + a.lowerRight.y) / 2 }, - paint: { stroke: o, width: d, opacity: r, blend: es(n) } + paint: { stroke: o, width: d, opacity: r, blend: ts(n) } }); else if (e === "squiggly") { - const p = Math.min(2, Math.max(1, c * 0.08)), h = { x: l.x / u, y: l.y / u }, g = { - x: i.lowerLeft.x - f.x * p, - y: i.lowerLeft.y - f.y * p + const p = Math.min(2, Math.max(1, c * 0.08)), g = { x: l.x / u, y: l.y / u }, h = { + x: a.lowerLeft.x - f.x * p, + y: a.lowerLeft.y - f.y * p }; s.push({ kind: "path", // n̂ toward ascent = −(toward baseline) - d: XG(g, h, { x: -f.x, y: -f.y }, u, p), - paint: { stroke: o, width: d, opacity: r, blend: es(n) } + d: fQ(h, g, { x: -f.x, y: -f.y }, u, p), + paint: { stroke: o, width: d, opacity: r, blend: ts(n) } }); } else s.push({ kind: "poly", - points: xp(i), + points: Pp(a), closed: !0, - paint: { fill: o, opacity: r, blend: es(n) } + paint: { fill: o, opacity: r, blend: ts(n) } }); } return s; } -const JG = (e) => [ +const hQ = (e) => [ { x: e.x, y: e.y }, { x: e.x + e.width, y: e.y }, { x: e.x + e.width, y: e.y + e.height }, { x: e.x, y: e.y + e.height } ]; -function eY(e) { +function gQ(e) { if (e.kind === "quads") { const t = []; for (const n of e.quadPoints) { - const o = l0(n); - o.width > 0 && o.height > 0 && t.push({ ring: xp(n), bounds: o }); + const o = x0(n); + o.width > 0 && o.height > 0 && t.push({ ring: Pp(n), bounds: o }); } return t; } - return e.kind === "box" ? [{ ring: JG(e.box), bounds: e.box }] : []; + return e.kind === "box" ? [{ ring: hQ(e.box), bounds: e.box }] : []; } -const tY = 12, nY = 10, oY = { left: 0, center: 1, right: 2 }; -function rY(e, t, n, o) { +const mQ = 12, bQ = 10, yQ = { left: 0, center: 1, right: 2 }; +function wQ(e, t, n, o) { if (!t.text) return null; - const r = n?.fontSize ?? 0, s = Math.abs(r) < 1e-4, i = { + const r = n?.fontSize ?? 0, s = Math.abs(r) < 1e-4, a = { plate: { left: 0, bottom: 0, right: e.width, top: e.height }, - fontSize: t.repeat && s ? tY : r, - alignment: oY[n?.textAlign ?? "left"], + fontSize: t.repeat && s ? mQ : r, + alignment: yQ[n?.textAlign ?? "left"], multiline: t.repeat || !s, password: !1, limit: 0, cells: 0, centered: !1 }; - let a = t.text, c = nb(a, o, i); - for (let l = 0; t.repeat && l < nY && c.contentHeight < e.height; l++) - a = `${a} ${a}`, c = nb(a, o, i); + let i = t.text, c = db(i, o, a); + for (let l = 0; t.repeat && l < bQ && c.contentHeight < e.height; l++) + i = `${i} ${i}`, c = db(i, o, a); return c; } -function sY(e, t, n) { - const o = rY( +function vQ(e, t, n) { + const o = wQ( e, t, n, - t.fonts ?? Z0(n?.fontFamily ?? null) + t.fonts ?? fw(n?.fontFamily ?? null) ); if (!o) return []; const r = { fill: n?.fontColor ?? "#ffffff", opacity: 1 }, s = []; - for (const i of o.lines) - for (const a of i.runs) + for (const a of o.lines) + for (const i of a.runs) s.push({ kind: "textRun", - at: { x: Df(e.x + a.x), y: Df(e.y + e.height - i.baseline) }, - text: a.text, - rtl: a.rtl, - plain: a.plain, - ...a.joinsPrevious ? { joinsPrevious: !0 } : {}, - ...a.joinsNext ? { joinsNext: !0 } : {}, + at: { x: Df(e.x + i.x), y: Df(e.y + e.height - a.baseline) }, + text: i.text, + rtl: i.rtl, + plain: i.plain, + ...i.joinsPrevious ? { joinsPrevious: !0 } : {}, + ...i.joinsNext ? { joinsNext: !0 } : {}, fontSize: o.fontSize, - fontFamily: a.font.fontFamily, - fontWeight: a.font.fontWeight, - fontStyle: a.font.fontStyle, - program: a.font.program, + fontFamily: i.font.fontFamily, + fontWeight: i.font.fontWeight, + fontStyle: i.font.fontStyle, + program: i.font.program, paint: r, clip: e }); return s; } -function iY(e) { - const t = eY(e.geometry); +function kQ(e) { + const t = gQ(e.geometry); if (!e.hovered) { const o = { stroke: e.style.color ?? void 0, @@ -35462,188 +36090,193 @@ function iY(e) { } if (e.label) for (const o of t) - n.push(...sY(o.bounds, e.label, e.text)); + n.push(...vQ(o.bounds, e.label, e.text)); return n; } -const aY = (e) => e.source !== "baked" || e.lentScene !== void 0 || e.annotation !== void 0 && Ya({ annotation: e.annotation }); -function cY(e) { +const xQ = (e) => e.source !== "baked" || e.lentScene !== void 0 || e.annotation !== void 0 && Gi({ annotation: e.annotation }); +function AQ(e) { if (e.lentScene) return [...e.lentScene()]; if (e.subtype === "link") return []; if (e.geometry.kind === "box" && e.subtype === "text") - return VG(e.icon, e.geometry.box, e.style); + return cQ(e.icon, e.geometry.box, e.style); if (e.geometry.kind === "box" && e.subtype === "file-attachment") - return GG(e.icon, e.geometry.box, e.style); + return lQ(e.icon, e.geometry.box, e.style); if (e.measure?.intent === "line-dimension") - return sV(e.geometry, e.measure, e.style); - if (e.subtype === "redact") return iY(e); + return vG(e.geometry, e.measure, e.style); + if (e.subtype === "redact") return kQ(e); if (e.geometry.kind === "quads") - return ZG(e.subtype, e.geometry.quadPoints, e.style); + return pQ(e.subtype, e.geometry.quadPoints, e.style); if (e.geometry.kind === "caret") - return M2(e.geometry, e.style).map((r) => ({ + return W2(e.geometry, e.style).map((r) => ({ ...r, paint: { fill: e.style.color ?? void 0, stroke: e.style.color ?? void 0, - width: XE, + width: CC, opacity: e.style.opacity } })); - const t = e.geometry.kind === "ink", n = e.style.strokeWidth === 0 && YG.has(e.subtype), o = M2(e.geometry, e.style).map((r) => { - const s = r.kind === "rect" || r.kind === "ellipse" || r.kind === "path" && !t || r.kind === "poly" && r.closed, i = { - ...QG(e.style, s), - blend: es(e.style), + const t = e.geometry.kind === "ink", n = e.style.strokeWidth === 0 && uQ.has(e.subtype), o = W2(e.geometry, e.style).map((r) => { + const s = r.kind === "rect" || r.kind === "ellipse" || r.kind === "path" && !t || r.kind === "poly" && r.closed, a = { + ...dQ(e.style, s), + blend: ts(e.style), ...n ? { hairline: !0 } : {} }; return { ...r, - paint: t ? { ...i, fill: s ? e.style.color ?? void 0 : void 0, lineCap: "round" } : i + paint: t ? { + ...a, + fill: s ? e.style.color ?? void 0 : void 0, + lineCap: "round", + ...r.kind === "poly" ? { join: "round" } : {} + } : a }; }); if (e.measure) { - const r = tu(e.geometry, e.measure, e.style); - o.push(...zC(r?.caption ?? null, e.style)); + const r = ou(e.geometry, e.measure, e.style); + o.push(...wI(r?.caption ?? null, e.style)); } return o; } -function lY(e, t) { +function SQ(e, t) { const n = /* @__PURE__ */ new Map(); - for (const { ids: r, error: s } of t.failed) for (const i of r) n.set(i, s); + for (const { ids: r, error: s } of t.failed) for (const a of r) n.set(a, s); const o = e.flatMap((r) => { - const s = n.get(ie(r)); - return s ? [{ ref: r, error: bn(s) }] : []; + const s = n.get(Y(r)); + return s ? [{ ref: r, error: xn(s) }] : []; }); return { - applied: e.filter((r) => !n.has(ie(r))), + applied: e.filter((r) => !n.has(Y(r))), skipped: [], failed: o }; } -function Qc(e) { +function Yc(e) { const [t] = e.failed; if (t) throw t.error; } -const O3 = () => new Z("operation-failed", "annotation", "the annotation could not be created"), uY = (e, t) => { +const a3 = () => new te("operation-failed", "annotation", "the annotation could not be created"), OQ = (e, t) => { for (const n of e.result?.items ?? []) - if (n.type === "annotations.create" && ie(n.annotation.ref) === t) + if (n.type === "annotations.create" && Y(n.annotation.ref) === t) return n.annotation; return null; }; -async function M3(e) { +async function i3(e) { const t = e.effects.find((r) => r.type === "create"), n = await e.written; - Qc(n); - const o = t?.type === "create" ? uY(n, t.id) : null; - if (!o) throw O3(); + Yc(n); + const o = t?.type === "create" ? OQ(n, t.id) : null; + if (!o) throw a3(); return o.ref; } -async function ps(e) { +async function xr(e) { const t = await e.written; - return Qc(t), t; + return Yc(t), t; } -async function Ea(e, t = 0) { - return (await ps(e)).annotations[t] ?? null; +async function Mi(e, t = 0) { + return (await xr(e)).annotations[t] ?? null; } -async function dY(e, t = 0) { - const n = await Ea(e, t); - if (!n) throw O3(); +async function PQ(e, t = 0) { + const n = await Mi(e, t); + if (!n) throw a3(); return n.ref; } -const fY = { noZoom: !0, noRotate: !0 }, hA = { hidden: !0, noZoom: !0, noRotate: !0 }, Og = (e) => ({ x: e.x, y: e.y, width: 20, height: 20 }); -function pY(e, { store: t, authority: n, events: o }, r, s) { - const i = (f, d) => t.applyWhenNumbered([{ type: "create", page: ut(f), draft: d }]).then((p) => dY(p)), a = async (f, d) => { - await e.cancellable(d, ps(t.apply([{ type: "delete", ref: f }]))); +const MQ = { noZoom: !0, noRotate: !0 }, CA = { hidden: !0, noZoom: !0, noRotate: !0 }, _g = (e) => ({ x: e.x, y: e.y, width: 20, height: 20 }); +function EQ(e, { store: t, authority: n, events: o }, r, s) { + const a = (f, d) => t.applyWhenNumbered([{ type: "create", page: dt(f), draft: d }]).then((p) => PQ(p)), i = async (f, d) => { + await e.cancellable(d, xr(t.apply([{ type: "delete", ref: f }]))); }, c = (f) => { - const d = t.model().byId[ie(f)]; - return !!d && !va(d.annotation) && Up(d); + const d = t.model().byId[Y(f)]; + return !!d && !wi(d.annotation) && Vp(d); }, l = (f, d) => o.threadChanged.emit({ rootRef: f, type: d }); return { api: { comments: { listThreads: () => r.index().threads, - getThread: (f) => r.index().byMember.get(ie(f)) ?? null, + getThread: (f) => r.index().byMember.get(Y(f)) ?? null, onThreadChanged: o.threadChanged.on, reply: async (f, d, p = {}) => { e.assertAllowed("annotations:create", "annotation.comments.reply"); - const h = r.rootRefOf(f), g = r.threadOf(f), m = await t.applyWhenNumbered([ + const g = r.rootRefOf(f), h = r.threadOf(f), m = await t.applyWhenNumbered([ { type: "create", - page: ut(g.page.objectNumber), + page: dt(h.page.objectNumber), draft: { subtype: "text", - rect: Og(g.root.rect), + rect: _g(h.root.rect), icon: "comment", contents: d, - reply: { to: g.root.ref }, - ...fY + reply: { to: h.root.ref }, + ...MQ } } - ]), M = await e.cancellable( + ]), O = await e.cancellable( p.signal, - Ea(m) + Mi(m) ); - if (l(h, "reply"), !M) - throw new Z("operation-failed", "annotation", "the reply could not be created"); - return { annotation: M }; + if (l(g, "reply"), !O) + throw new te("operation-failed", "annotation", "the reply could not be created"); + return { annotation: O }; }, setText: async (f, d, p = {}) => { - const h = r.rootRefOf(f), g = t.model().byId[ie(f)]; - if (g && va(g.annotation)) - throw new Z( + const g = r.rootRefOf(f), h = t.model().byId[Y(f)]; + if (h && wi(h.annotation)) + throw new te( "invalid-input", "annotation", "a measurement's text is worked out from its points" ); - if (!Ct(g)) - throw new Z("not-found", "annotation", `no annotation ${ie(f)}`); + if (!Nt(h)) + throw new te("not-found", "annotation", `no annotation ${Y(f)}`); await s.update( f, - { subtype: g.annotation.subtype, contents: d }, + { subtype: h.annotation.subtype, contents: d }, void 0, p - ), l(h, "text"); + ), l(g, "text"); }, setStatus: async (f, d, p = {}) => { e.assertAllowed("annotations:create", "annotation.comments.setStatus"); - const h = r.rootRefOf(f), g = r.threadOf(f), m = r.currentUserId(), M = m ? g.review.byReviewer[m] : void 0; + const g = r.rootRefOf(f), h = r.threadOf(f), m = r.currentUserId(), O = m ? h.review.byReviewer[m] : void 0; await e.cancellable( p.signal, - i(g.page.objectNumber, { + a(h.page.objectNumber, { subtype: "text", - rect: Og(g.root.rect), - reply: { to: M?.ref ?? g.root.ref }, + rect: _g(h.root.rect), + reply: { to: O?.ref ?? h.root.ref }, state: d, stateModel: "review", - ...hA + ...CA }) - ), l(h, "status"); + ), l(g, "status"); }, setMarked: async (f, d, p = {}) => { e.assertAllowed("annotations:create", "annotation.comments.setMarked"); - const h = r.rootRefOf(f), g = r.threadOf(f); + const g = r.rootRefOf(f), h = r.threadOf(f); await e.cancellable( p.signal, - i(g.page.objectNumber, { + a(h.page.objectNumber, { subtype: "text", - rect: Og(g.root.rect), - reply: { to: g.root.ref }, + rect: _g(h.root.rect), + reply: { to: h.root.ref }, state: d ? "marked" : "unmarked", stateModel: "marked", - ...hA + ...CA }) - ), l(h, "marked"); + ), l(g, "marked"); }, delete: async (f, d = {}) => { const p = r.rootRefOf(f); - await a(f, d.signal), l(p, "deleted"); + await i(f, d.signal), l(p, "deleted"); }, deleteThread: async (f, d = {}) => { - const p = r.rootRefOf(f), h = r.threadOf(f), g = r.memberRefsOf(h), m = n.blockersOf(p); + const p = r.rootRefOf(f), g = r.threadOf(f), h = r.memberRefsOf(g), m = n.blockersOf(p); if (m.length > 0) return l(p, "deleted"), { deleted: [], - failed: m.map((M) => ({ ref: M, error: new Error("delete not permitted") })) + failed: m.map((O) => ({ ref: O, error: new Error("delete not permitted") })) }; try { - return await a(p, d.signal), { deleted: g, failed: [] }; - } catch (M) { - return { deleted: [], failed: [{ ref: p, error: M }] }; + return await i(p, d.signal), { deleted: h, failed: [] }; + } catch (O) { + return { deleted: [], failed: [{ ref: p, error: O }] }; } finally { l(p, "deleted"); } @@ -35656,45 +36289,45 @@ function pY(e, { store: t, authority: n, events: o }, r, s) { canSetText: c, canDelete: (f) => n.canDelete(f), canDeleteThread: (f) => { - const d = r.index().byMember.get(ie(f)) ?? null; + const d = r.index().byMember.get(Y(f)) ?? null; return d !== null && n.canDelete(d.root.ref); } } } }; } -function hY(e, { store: t }) { +function CQ(e, { store: t }) { const n = () => e.doc?.security.identity?.userId; let o = null; const r = () => (e.document()?.pages ?? []).map((u) => u.ref.objectNumber).join(","), s = () => { const u = t.model(), f = []; for (const m of u.order) { - const M = u.byId[m]; - M && Ct(M) && f.push(M.annotation); - } - const d = eT(f, { currentUserId: n() }), p = e.document()?.pages ?? [], h = new Map(p.map((m, M) => [m.ref.objectNumber, M])); - d.sort((m, M) => { - const x = h.get(m.page.objectNumber) ?? Number.MAX_SAFE_INTEGER, S = h.get(M.page.objectNumber) ?? Number.MAX_SAFE_INTEGER; - if (x !== S) return x - S; - if (m.root.rect.y !== M.root.rect.y) return m.root.rect.y - M.root.rect.y; - const P = m.root.createdAt, k = M.root.createdAt; - return P === null || k === null ? P === k ? 0 : P === null ? -1 : 1 : Jb(P, k); + const O = u.byId[m]; + O && Nt(O) && f.push(O.annotation); + } + const d = ZT(f, { currentUserId: n() }), p = e.document()?.pages ?? [], g = new Map(p.map((m, O) => [m.ref.objectNumber, O])); + d.sort((m, O) => { + const E = g.get(m.page.objectNumber) ?? Number.MAX_SAFE_INTEGER, P = g.get(O.page.objectNumber) ?? Number.MAX_SAFE_INTEGER; + if (E !== P) return E - P; + if (m.root.rect.y !== O.root.rect.y) return m.root.rect.y - O.root.rect.y; + const k = m.root.createdAt, A = O.root.createdAt; + return k === null || A === null ? k === A ? 0 : k === null ? -1 : 1 : ly(k, A); }); - const g = /* @__PURE__ */ new Map(); + const h = /* @__PURE__ */ new Map(); for (const m of d) { - g.set(ie(m.root.ref), m); - for (const M of m.replies) g.set(ie(M.ref), m); - for (const M of m.groupedParts) g.set(ie(M.ref), m); - for (const M of m.review.statusRefs) g.set(ie(M), m); + h.set(Y(m.root.ref), m); + for (const O of m.replies) h.set(Y(O.ref), m); + for (const O of m.groupedParts) h.set(Y(O.ref), m); + for (const O of m.review.statusRefs) h.set(Y(O), m); } - return { threads: d, byMember: g }; - }, i = () => { + return { threads: d, byMember: h }; + }, a = () => { const u = t.model(), f = r(), d = n(); return o && o.byId === u.byId && o.order === u.order && o.layout === f && o.userId === d || (o = { ...s(), byId: u.byId, order: u.order, layout: f, userId: d }), o; }; - return { currentUserId: n, index: i, threadOf: (u) => { - const f = i().byMember.get(ie(u)); + return { currentUserId: n, index: a, threadOf: (u) => { + const f = a().byMember.get(Y(u)); if (!f) throw new Error("[annotation] no comment thread contains this ref"); return f; - }, rootRefOf: (u) => i().byMember.get(ie(u))?.root.ref ?? u, memberRefsOf: (u) => [ + }, rootRefOf: (u) => a().byMember.get(Y(u))?.root.ref ?? u, memberRefsOf: (u) => [ ...u.replies.map((f) => f.ref), ...u.groupedParts.map((f) => f.ref), ...u.review.statusRefs, @@ -35702,8 +36335,8 @@ function hY(e, { store: t }) { // root LAST — children first keeps foreign readers coherent ] }; } -const E3 = 100, gY = 95, mY = 55, bY = 50, yY = 4, Qu = (e) => e === "polygon" || e === "polyline", gA = (e) => e === "free-text-callout", Vr = (e, t) => e.project?.(t) ?? (e.page?.ref.objectNumber === t.objectNumber ? e.page.point : null); -function C3(e, t, n) { +const c3 = 100, IQ = 95, _Q = 55, NQ = 50, TQ = 4, Ju = (e) => e === "polygon" || e === "polyline", IA = (e) => e === "free-text-callout", Gr = (e, t) => e.project?.(t) ?? (e.page?.ref.objectNumber === t.objectNumber ? e.page.point : null); +function l3(e, t, n) { n.page && e.canCreate() && !t.hasCursorClaim() ? e.hoverGhostAt( t.getActiveToolId(), n.page.ref, @@ -35712,12 +36345,12 @@ function C3(e, t, n) { n.page.zoom ) : e.clearGhost(); } -function wY(e, t) { +function RQ(e, t) { return { id: "annotation-place", // `annotation-stamp` is honoured as a legacy alias for embedder tool // configs written before the tags were unified. - priority: gY, + priority: IQ, enabledFor: (n) => n.enables.has("annotation-place") || n.enables.has("annotation-stamp"), onPointerDown: (n) => n.page ? e.placeAt( n.page.ref, @@ -35727,14 +36360,14 @@ function wY(e, t) { ) : !1, onPointerUp: () => e.clearGhost(), onPointerCancel: () => e.clearGhost(), - onHover: (n) => C3(e, t, n) + onHover: (n) => l3(e, t, n) }; } -function vY(e, t) { +function LQ(e, t) { let n = null; return { id: "annotation-edit", - priority: E3, + priority: c3, enabledFor: (o) => o.enables.has("annotation-edit"), // Touch consent: a finger owns a tool drag only over the selection's own // chrome or a selected annotation's body (see claimsTouchAt) — unselected @@ -35780,7 +36413,7 @@ function vY(e, t) { }, onPointerMove: (o) => { if (!n) return; - const r = Vr(o, n.page); + const r = Gr(o, n.page); r && (n.point = r, e.editPointer( "move", n.page, @@ -35796,7 +36429,7 @@ function vY(e, t) { n && (e.editPointer( "up", n.page, - Vr(o, n.page) ?? n.point, + Gr(o, n.page) ?? n.point, !1, void 0, void 0, @@ -35832,11 +36465,11 @@ function vY(e, t) { } }; } -function kY(e) { +function jQ(e) { let t = null, n = null, o = !1, r = {}; return { id: "annotation-marquee", - priority: bY, + priority: NQ, enabledFor: (s) => s.enables.has("annotation-marquee"), onPointerDown: (s) => s.page ? (t = { page: s.page.ref, @@ -35847,10 +36480,10 @@ function kY(e) { }, n = { page: s.page.ref, point: s.page.point }, r = { scale: s.page.scale, rotation: s.page.rotation, zoom: s.page.zoom }, o = !1, !0) : !1, onPointerMove: (s) => { if (!t) return; - const i = Vr(s, t.page); - if (i) { - if (n = { page: t.page, point: i }, !o) { - if (Math.hypot(s.viewport.x - t.vx, s.viewport.y - t.vy) < yY) + const a = Gr(s, t.page); + if (a) { + if (n = { page: t.page, point: a }, !o) { + if (Math.hypot(s.viewport.x - t.vx, s.viewport.y - t.vy) < TQ) return; o = !0, e.marqueePointer( "down", @@ -35865,7 +36498,7 @@ function kY(e) { e.marqueePointer( "move", t.page, - i, + a, t.shift, r.scale, r.rotation, @@ -35889,14 +36522,14 @@ function kY(e) { } }; } -function xY(e, t, n, o) { +function FQ(e, t, n, o) { const r = () => t.getActiveToolId(), s = (d) => e.getToolSubtype(d); - let i = !1, a = !1, c = null, l = null, u = null; + let a = !1, i = !1, c = null, l = null, u = null; const f = () => { u && (u.cancelWait(), u = null, e.finishInkDraft()); }; return o?.(f), t.onToolChanged(() => { - f(), i = !1, a = !1, c = null, l = null; + f(), a = !1, i = !1, c = null, l = null; }), { id: "annotation-draw", // The gesture cascade — relative order is the composition policy: @@ -35911,20 +36544,20 @@ function xY(e, t, n, o) { // per-line quad marks, anywhere else it drag-creates. Priority only breaks // ties between simultaneously-eligible handlers, and draw-only tools // (square/ink/arrow…) never co-enable text-select, so they are unaffected. - priority: mY, + priority: _Q, enabledFor: (d) => d.enables.has("annotation-draw"), onPointerDown: (d) => { - const p = r(), h = s(p), g = e.getDistanceCreationPage?.(); - if (g != null) { - const m = Vr(d, g); - return m && e.createPointer(p, "down", g, m), l = null, !0; + const p = r(), g = s(p), h = e.getDistanceCreationPage?.(); + if (h != null) { + const m = Gr(d, h); + return m && e.createPointer(p, "down", h, m), l = null, !0; } if (!d.page) return !1; - if (h === "ink" && u && (u.tool === p && u.page.objectNumber === d.page.ref.objectNumber ? (u.cancelWait(), u = null) : f()), l = { page: d.page.ref, point: d.page.point }, Qu(h)) { + if (g === "ink" && u && (u.tool === p && u.page.objectNumber === d.page.ref.objectNumber ? (u.cancelWait(), u = null) : f()), l = { page: d.page.ref, point: d.page.point }, Ju(g)) { const m = (d.clickCount ?? 1) >= 2; - return e.createPointer(p, "down", d.page.ref, d.page.point, m), i = !m, c = m ? null : d.page.ref, !0; + return e.createPointer(p, "down", d.page.ref, d.page.point, m), a = !m, c = m ? null : d.page.ref, !0; } - return i = !1, gA(h) ? (a = !0, c = d.page.ref) : c = null, e.createPointer( + return a = !1, IA(g) ? (i = !0, c = d.page.ref) : c = null, e.createPointer( p, "down", d.page.ref, @@ -35934,50 +36567,50 @@ function xY(e, t, n, o) { ), !0; }, onPointerMove: (d) => { - const p = r(), h = s(p); - if (!l || Qu(h) && !i) return; - const g = Vr(d, l.page); - g && (l.point = g, e.createPointer(p, "move", l.page, g)); + const p = r(), g = s(p); + if (!l || Ju(g) && !a) return; + const h = Gr(d, l.page); + h && (l.point = h, e.createPointer(p, "move", l.page, h)); }, onPointerUp: (d) => { - const p = r(), h = s(p); - if (l && !Qu(h) && (e.createPointer(p, "up", l.page, Vr(d, l.page) ?? l.point), h === "ink")) { - const g = e.getResolvedTool(p)?.ink?.groupStrokesMs ?? 0; - if (g > 0) { - const m = l.page, M = n.after(g, () => { + const p = r(), g = s(p); + if (l && !Ju(g) && (e.createPointer(p, "up", l.page, Gr(d, l.page) ?? l.point), g === "ink")) { + const h = e.getResolvedTool(p)?.ink?.groupStrokesMs ?? 0; + if (h > 0) { + const m = l.page, O = n.after(h, () => { u = null, e.finishInkDraft(); }); - u = { tool: p, page: m, cancelWait: M }; + u = { tool: p, page: m, cancelWait: O }; } } l = null, e.clearGhost(); }, onPointerCancel: () => { - u && (u.cancelWait(), u = null), i = !1, a = !1, c = null, l = null, e.draft.cancel(), e.clearGhost(); + u && (u.cancelWait(), u = null), a = !1, i = !1, c = null, l = null, e.draft.cancel(), e.clearGhost(); }, onHover: (d) => { - C3(e, t, d); - const p = r(), h = s(p), g = e.getDistanceCreationPage?.(); - if (g != null) { - const m = Vr(d, g); - m && e.createPointer(p, "move", g, m); + l3(e, t, d); + const p = r(), g = s(p), h = e.getDistanceCreationPage?.(); + if (h != null) { + const m = Gr(d, h); + m && e.createPointer(p, "move", h, m); return; } - if (c && (i && Qu(h) || a && gA(h))) { - const m = Vr(d, c); + if (c && (a && Ju(g) || i && IA(g))) { + const m = Gr(d, c); m && e.createPointer(p, "move", c, m); } } }; } -function AY(e, t, n) { +function DQ(e, t, n) { const o = () => { - const r = e.getResolvedTool(n.getActiveToolId()), s = r?.selection, i = s?.kind === "markup" ? r.subtype : s?.kind === "text-edit" && s.operation === "replace" ? "strikeout" : null; - if (t.setHighlightVisible(i == null), i && r && t.hasSelection()) { - const a = {}; + const r = e.getResolvedTool(n.getActiveToolId()), s = r?.selection, a = s?.kind === "markup" ? r.subtype : s?.kind === "text-edit" && s.operation === "replace" ? "strikeout" : null; + if (t.setHighlightVisible(a == null), a && r && t.hasSelection()) { + const i = {}; for (const c of t.getSnapshot().pages) - a[c.page.objectNumber] = c.segments.map((l) => l.quad); - e.previewMarkup(i, a, r.preset); + i[c.page.objectNumber] = c.segments.map((l) => l.quad); + e.previewMarkup(a, i, r.preset); } else e.clearMarkupPreview(); }; @@ -35987,8 +36620,8 @@ function AY(e, t, n) { t.isSelecting() || e.applyToolToSelection(n.getActiveToolId()), o(); }); } -function SY(e, t) { - const n = e.get(Ot), o = e.tryGet(wr), r = e.tryGet(Wa); +function $Q(e, t) { + const n = e.get(_t), o = e.tryGet(vr), r = e.tryGet(zi); r && e.cleanup( r.registerAnnotCommitSink((s) => t.commitScriptEffects(s)) ); @@ -35999,265 +36632,268 @@ function SY(e, t) { cursor: s.cursor, enables: s.enables, // Drag-create tools own single-finger touch; click-place tools do not. - touch: wE(s.enables) + touch: XE(s.enables) }) ); for (const s of [ - wY(t, n), - vY(t, n), - kY(t), - xY(t, n, e.clock, (i) => e.onSettle(i)) + RQ(t, n), + LQ(t, n), + jQ(t), + FQ(t, n, e.clock, (a) => e.onSettle(a)) ]) e.cleanup(n.registerHandler(s)); e.listen(n.onToolChanged, () => { t.cancel(), t.clearGhost(), t.pruneEngagedSelection(); const s = n.getActiveTool(); - s.id !== Ep && !s.enables.has("annotation-stamp") && t.stamps.disarm(); - }), o && AY(t, o, n); + s.id !== Np && !s.enables.has("annotation-stamp") && t.stamps.disarm(); + }), o && DQ(t, o, n); } -const PY = () => ({ - session: r3, +const BQ = () => ({ + session: FI, vector: {}, ghostAt: null, placing: null, textSelection: null -}), mA = (e, t) => e.session.snap === t ? e : { ...e, session: { ...e.session, snap: t } }, bA = (e, t) => e.session.editable === t ? e : { ...e, session: { ...e.session, editable: t } }; -function yA(e, t, n = []) { - const o = IG(e.session, t) ? e : { ...e, session: t }; - return I3(o, n); +}), _A = (e, t) => e.session.snap === t ? e : { ...e, session: { ...e.session, snap: t } }, NA = (e, t) => e.session.editable === t ? e : { ...e, session: { ...e.session, editable: t } }; +function TA(e, t, n = []) { + const o = qY(e.session, t) ? e : { ...e, session: t }; + return u3(o, n); } -const OY = (e, t) => t.length ? { +const zQ = (e, t) => t.length ? { ...e, session: { ...e.session, objectNumbers: [...e.session.objectNumbers, ...t] } } : e; -function MY(e, t) { +function WQ(e, t) { const n = new Set(t), o = e.session.objectNumbers.filter((r) => !n.has(r)); return o.length === e.session.objectNumbers.length ? e : { ...e, session: { ...e.session, objectNumbers: o } }; } -function I3(e, t) { +function u3(e, t) { const n = t.filter((r) => !e.vector[r]); if (!n.length) return e; const o = { ...e.vector }; for (const r of n) o[r] = !0; return { ...e, vector: o }; } -function wA(e, t) { +function RA(e, t) { const n = t.filter((r) => e.vector[r]); if (!n.length) return e; const o = { ...e.vector }; for (const r of n) delete o[r]; return { ...e, vector: o }; } -const fb = (e, t) => e.ghostAt === t ? e : { ...e, ghostAt: t }, vA = (e, t) => e.placing === t ? e : { ...e, placing: t }, Xu = (e, t) => e.textSelection === t ? e : { ...e, textSelection: t }; -function EY(e, { store: t, records: n, lending: o }) { - const r = (k) => t.model().byId[ie(k)]?.annotation ?? null, s = (k) => { - const A = ie(k); - return n.view().byKey[A] !== n.get().byKey[A]; - }, i = (k) => { - if (!k?.pages) return null; - const A = /* @__PURE__ */ new Set(); - for (const y of k.pages) { - const w = e.getPage(y); - w && A.add(w.ref.objectNumber); +const kb = (e, t) => e.ghostAt === t ? e : { ...e, ghostAt: t }, LA = (e, t) => e.placing === t ? e : { ...e, placing: t }, ed = (e, t) => e.textSelection === t ? e : { ...e, textSelection: t }; +function UQ(e, { store: t, records: n, lending: o }) { + const r = (w) => t.model().byId[Y(w)]?.annotation ?? null, s = (w) => { + const b = Y(w); + return n.view().byKey[b] !== n.get().byKey[b]; + }, a = (w) => { + if (!w?.pages) return null; + const b = /* @__PURE__ */ new Set(); + for (const v of w.pages) { + const x = e.getPage(v); + x && b.add(x.ref.objectNumber); } - return A; - }, a = (k) => { - const A = t.model(), y = i(k); - return A.order.map((w) => A.byId[w]).filter((w) => w !== void 0).filter( - (w) => !o.owns(w.id) && (!y || y.has(w.annotation.page.objectNumber)) && (!k?.subtype || w.annotation.subtype === k.subtype) + return b; + }, i = (w) => { + const b = t.model(), v = a(w); + return b.order.map((x) => b.byId[x]).filter((x) => x !== void 0).filter( + (x) => !o.owns(x.id) && (!v || v.has(x.annotation.page.objectNumber)) && (!w?.subtype || x.annotation.subtype === w.subtype) ); - }, c = (k) => k.map((A) => A.annotation); + }, c = (w) => w.map((b) => b.annotation); let l = null; - const u = /* @__PURE__ */ new Map(), f = (k) => { - const A = t.model(); - if (!k || !k.pages && k.subtype === void 0) - return l?.model !== A && (l = { model: A, v: c(a()) }), l.v; - const y = k.pages?.length === 1 ? e.getPage(k.pages[0]) : null; - if (y && k.subtype === void 0) { - const w = y.ref.objectNumber, O = u.get(w); - if (O?.model === A) return O.v; - const b = c(a(k)); - return u.set(w, { model: A, v: b }), b; - } - return c(a(k)); + const u = /* @__PURE__ */ new Map(), f = (w) => { + const b = t.model(); + if (!w || !w.pages && w.subtype === void 0) + return l?.model !== b && (l = { model: b, v: c(i()) }), l.v; + const v = w.pages?.length === 1 ? e.getPage(w.pages[0]) : null; + if (v && w.subtype === void 0) { + const x = v.ref.objectNumber, y = u.get(x); + if (y?.model === b) return y.v; + const M = c(i(w)); + return u.set(x, { model: b, v: M }), M; + } + return c(i(w)); }; let d = null; return { get: r, - listAnnots: a, + listAnnots: i, listSelected: () => { - const k = t.model(); - return d?.model !== k && (d = { - model: k, + const w = t.model(); + return d?.model !== w && (d = { + model: w, v: c( - k.selected.map((A) => k.byId[A]).filter((A) => !!A) + w.selected.map((b) => w.byId[b]).filter((b) => !!b) ) }), d.v; }, getEditing: () => { - const k = t.model(); - return k.editing ? k.byId[k.editing]?.annotation ?? null : null; + const w = t.model(); + return w.editing ? w.byId[w.editing]?.annotation ?? null : null; }, - loadedOrThrow: (k) => { - const A = t.model().byId[ie(k)]; - if (!A) - throw new Z("not-found", "annotation", "annotation is not loaded in this document"); - return A; + loadedOrThrow: (w) => { + const b = t.model().byId[Y(w)]; + if (!b) + throw new te("not-found", "annotation", "annotation is not loaded in this document"); + return b; }, selectedRecords: () => { - const k = t.model(); - return k.selected.map((A) => k.byId[A]).filter((A) => !!A); + const w = t.model(); + return w.selected.map((b) => w.byId[b]).filter((b) => !!b); }, - pageOf: (k) => t.model().byId[ie(k)]?.annotation.page ?? k.page, + pageOf: (w) => t.model().byId[Y(w)]?.annotation.page ?? w.page, api: { get: r, list: f, isPending: s, getHovered: () => { - const k = t.model(); - return k.hovered ? k.byId[k.hovered]?.annotation ?? null : null; - }, isEditable: (k) => { - const A = t.model(), y = A.byId[ie(k)]; - return !!y && ks(A, y.annotation); + const w = t.model(); + return w.hovered ? w.byId[w.hovered]?.annotation ?? null : null; + }, isEditable: (w) => { + const b = t.model(), v = b.byId[Y(w)]; + return !!v && ks(b, v.annotation); + }, isMovable: (w) => { + const b = t.model().byId[Y(w)]; + return !!b && II(b); } } }; } const Bs = (e, t) => e != null || t != null ? { zoom: e ?? 1, rotation: t ?? 0 } : void 0; -function CY(e) { - const t = (s) => e.document()?.pages.find((i) => i.ref.objectNumber === s), n = (s) => t(s)?.size ?? null; +function KQ(e) { + const t = (s) => e.document()?.pages.find((a) => a.ref.objectNumber === s), n = (s) => t(s)?.size ?? null; return { sizeOf: n, cropOf: (s) => t(s)?.pdfCropBox ?? null, pageBoxOf: (s) => { - const i = n(s); - return i ? { x: 0, y: 0, ...i } : void 0; + const a = n(s); + return a ? { x: 0, y: 0, ...a } : void 0; } }; } -const kA = 2; -function IY(e, { +const jA = 2; +function qQ(e, { store: t, geometry: n, behaviors: o, settings: r }) { - const s = () => r.get().chrome, i = (y, w = 1) => { - const O = s(), b = y || 1; + const s = () => r.get().chrome, a = (b, v = 1) => { + const x = s(), y = b || 1; return { - handleTol: O.handles.hitSize / 2 / b * w, - knobTol: O.rotationHandle.hitSize / 2 / b * w, - knobOffset: O.rotationHandle.offset / b, - rotationHandle: O.rotationHandle.enabled + handleTol: x.handles.hitSize / 2 / y * v, + knobTol: x.rotationHandle.hitSize / 2 / y * v, + knobOffset: x.rotationHandle.offset / y, + rotationHandle: x.rotationHandle.enabled }; - }, a = (y) => y ? kA : 1, c = (y) => t.model().hitMargin / (y || 1), l = (y, w, O = {}, b = 1, v = void 0) => { - const E = t.model(), I = y.objectNumber; - return cw( - E, - y, - w, - i(O.scale, b), - c(O.scale), - n.pageBoxOf(I), - v === void 0 ? o.engagedIdsOn(I) : v ?? void 0, - Bs(O.zoom, O.rotation) + }, i = (b) => b ? jA : 1, c = (b) => t.model().hitMargin / (b || 1), l = (b, v, x = {}, y = 1, M = void 0) => { + const S = t.model(), C = b.objectNumber; + return xw( + S, + b, + v, + a(x.scale, y), + c(x.scale), + n.pageBoxOf(C), + M === void 0 ? o.engagedIdsOn(C) : M ?? void 0, + Bs(x.zoom, x.rotation) ); - }, u = (y, w, O = {}) => { - const b = l(y, w, O, 1, null), v = b.kind === "annot" || b.kind === "handle" ? b.id : null, E = v != null ? t.model().byId[v] : void 0; - return !!E && uV( - E, - w, - i(O.scale).handleTol, - Bs(O.zoom, O.rotation) - ) ? v : null; - }, f = /* @__PURE__ */ new Map(), d = (y, w, O, b) => { - const v = y.objectNumber, E = t.model(), I = s(), T = f.get(v); - if (T && T.model === E && T.cs === I && T.scale === w && T.rotation === O && T.zoom === b) - return T.v; - let _ = WG( - E, - y, - n.pageBoxOf(v), - i(w).knobOffset, - Bs(b, O) + }, u = (b, v, x = {}) => { + const y = l(b, v, x, 1, null), M = y.kind === "annot" || y.kind === "handle" ? y.id : null, S = M != null ? t.model().byId[M] : void 0; + return !!S && OG( + S, + v, + a(x.scale).handleTol, + Bs(x.zoom, x.rotation) + ) ? M : null; + }, f = /* @__PURE__ */ new Map(), d = (b, v, x, y) => { + const M = b.objectNumber, S = t.model(), C = s(), N = f.get(M); + if (N && N.model === S && N.cs === C && N.scale === v && N.rotation === x && N.zoom === y) + return N.v; + let _ = oQ( + S, + b, + n.pageBoxOf(M), + a(v).knobOffset, + Bs(y, x) ); - return I.guides.enabled || (_ = _.filter((N) => N.kind !== "rotate-guides")), I.rotationHandle.enabled || (_ = _.filter((N) => N.kind !== "rotate-knob")), f.set(v, { model: E, cs: I, scale: w, rotation: O, zoom: b, v: _ }), _; + return C.guides.enabled || (_ = _.filter((T) => T.kind !== "rotate-guides")), C.rotationHandle.enabled || (_ = _.filter((T) => T.kind !== "rotate-knob")), f.set(M, { model: S, cs: C, scale: v, rotation: x, zoom: y, v: _ }), _; }; let p = null; - const h = (y, w, O) => { - const b = t.model(), v = s(); - if (p && p.model === b && p.cs === v && p.scale === y && p.rotation === w && p.zoom === O) + const g = (b, v, x) => { + const y = t.model(), M = s(); + if (p && p.model === y && p.cs === M && p.scale === b && p.rotation === v && p.zoom === x) return p.v; - const E = KG( - b, - (T) => n.pageBoxOf(T.objectNumber), - () => i(y).knobOffset, - () => Bs(O, w) - ), I = E ? { - page: E.page, - bounds: E.bounds, - ...E.knob && v.rotationHandle.enabled ? { rotationHandle: E.knob } : {} + const S = sQ( + y, + (N) => n.pageBoxOf(N.objectNumber), + () => a(b).knobOffset, + () => Bs(x, v) + ), C = S ? { + page: S.page, + bounds: S.bounds, + ...S.knob && M.rotationHandle.enabled ? { rotationHandle: S.knob } : {} } : null; - return p = { model: b, cs: v, scale: y, rotation: w, zoom: O, v: I }, I; - }, g = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map(), M = (y, w) => { - let O = m.get(y); - return O || (O = (b) => { - const v = t.model(), E = v.byId[ie(w)]; - return E ? dA(v, E.id, b)?.bounds ?? null : null; - }, m.set(y, O)), O; - }, x = (y, w) => { - const O = t.model(), b = ie(y), v = g.get(b); - if (v && v.model === O && v.view?.zoom === w?.zoom && v.view?.rotation === w?.rotation) - return v.v; - const E = O.byId[ie(y)]; - E || m.delete(b); - const I = E ? dA(O, E.id, w) : null, T = I && E && !w && Ut(E) ? { ...I, boundsIn: M(b, y) } : I, _ = v?.v ?? null, N = T && _ && _.page.objectNumber === T.page.objectNumber && _.bounds.x === T.bounds.x && _.bounds.y === T.bounds.y && _.bounds.width === T.bounds.width && _.bounds.height === T.bounds.height && _.boundsIn === T.boundsIn ? _ : T; - return g.set(b, { model: O, view: w, v: N }), N; - }, S = (y, w) => { - const O = e.getPage(y); - if (!O) return null; - const b = t.model(), v = l(O.ref, w); - if (v.kind === "annot") return b.byId[v.id]?.annotation ?? null; - if (v.kind === "empty") return null; - const E = b.selected[0]; - return E ? b.byId[E]?.annotation ?? null : null; + return p = { model: y, cs: M, scale: b, rotation: v, zoom: x, v: C }, C; + }, h = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map(), O = (b, v) => { + let x = m.get(b); + return x || (x = (y) => { + const M = t.model(), S = M.byId[Y(v)]; + return S ? PA(M, S.id, y)?.bounds ?? null : null; + }, m.set(b, x)), x; + }, E = (b, v) => { + const x = t.model(), y = Y(b), M = h.get(y); + if (M && M.model === x && M.view?.zoom === v?.zoom && M.view?.rotation === v?.rotation) + return M.v; + const S = x.byId[Y(b)]; + S || m.delete(y); + const C = S ? PA(x, S.id, v) : null, N = C && S && !v && Gt(S) ? { ...C, boundsIn: O(y, b) } : C, _ = M?.v ?? null, T = N && _ && _.page.objectNumber === N.page.objectNumber && _.bounds.x === N.bounds.x && _.bounds.y === N.bounds.y && _.bounds.width === N.bounds.width && _.bounds.height === N.bounds.height && _.boundsIn === N.boundsIn ? _ : N; + return h.set(y, { model: x, view: v, v: T }), T; + }, P = (b, v) => { + const x = e.getPage(b); + if (!x) return null; + const y = t.model(), M = l(x.ref, v); + if (M.kind === "annot") return y.byId[M.id]?.annotation ?? null; + if (M.kind === "empty") return null; + const S = y.selected[0]; + return S ? y.byId[S]?.annotation ?? null : null; }; - let P = null; - const k = () => { - const y = t.model(); - if (P && P.model === y) return P.v; - const w = qG(y); - return P = { model: y, v: w }, w; + let k = null; + const A = () => { + const b = t.model(); + if (k && k.model === b) return k.v; + const v = aQ(b); + return k = { model: b, v }, v; }; return { chromeSettings: s, - chromeGeomAt: i, - grabBoost: a, + chromeGeomAt: a, + grabBoost: i, hitAt: l, textBoxAt: u, - annotationAt: S, - selectionAnchor: () => h(), - rotationAnchor: () => k(), + annotationAt: P, + selectionAnchor: () => g(), + rotationAnchor: () => A(), api: { - listChromeNodes: (y, w, O, b) => d(y, w, O, b), - getSelectionAnchorIn: (y) => h(y.scale, y.rotation, y.zoom), - getAnnotationAnchor: (y, w) => x(y, w), - getHitKind: (y, w, O, b, v, E) => l(y, w, { scale: O, rotation: b, zoom: v }, a(E)).kind, - claimsTouchAt: (y, w, O, b, v) => { - const E = t.model(), I = l(y, w, { scale: O, rotation: b, zoom: v }, kA); - return I.kind === "handle" || I.kind === "rotate" || I.kind === "group-handle" ? !0 : I.kind === "annot" ? E.selected.includes(I.id) && E.selected.every((T) => Ma(E, T)) : !1; + listChromeNodes: (b, v, x, y) => d(b, v, x, y), + getSelectionAnchorIn: (b) => g(b.scale, b.rotation, b.zoom), + getAnnotationAnchor: (b, v) => E(b, v), + getHitKind: (b, v, x, y, M, S) => l(b, v, { scale: x, rotation: y, zoom: M }, i(S)).kind, + claimsTouchAt: (b, v, x, y, M) => { + const S = t.model(), C = l(b, v, { scale: x, rotation: y, zoom: M }, jA); + return C.kind === "handle" || C.kind === "rotate" || C.kind === "group-handle" ? !0 : C.kind === "annot" ? S.selected.includes(C.id) && S.selected.every((N) => Pi(S, N)) : !1; }, - getCursorAt: (y, w, O, b, v) => { - const E = y.objectNumber, I = t.model(); - return gV( - I, - y, - w, - i(O), - c(O), - n.pageBoxOf(E), - o.engagedIdsOn(E), - Bs(v, b) + getCursorAt: (b, v, x, y, M) => { + const S = b.objectNumber, C = t.model(); + return IG( + C, + b, + v, + a(x), + c(x), + n.pageBoxOf(S), + o.engagedIdsOn(S), + Bs(M, y) ); } } }; } -const xA = [ +const FA = [ "fontFamily", "fontSize", "fontColor", @@ -36265,28 +36901,28 @@ const xA = [ "italic", "underline" ]; -function _Y(e, t) { +function HQ(e, t) { const n = e.weight ?? 400, o = e.italic ?? !1; - return Vb({ family: e.family, weight: n, italic: o }, (r) => { - const s = ei(r); - let i; - for (const a of t?.() ?? []) { - if (ei(a.familyName) !== s) continue; - const c = Math.abs(a.weight - n) + (a.italic === o ? 0 : 1e3); - (!i || c < i.score) && (i = { key: a.key, score: c }); + return oy({ family: e.family, weight: n, italic: o }, (r) => { + const s = na(r); + let a; + for (const i of t?.() ?? []) { + if (na(i.familyName) !== s) continue; + const c = Math.abs(i.weight - n) + (i.italic === o ? 0 : 1e3); + (!a || c < a.score) && (a = { key: i.key, score: c }); } - return i?.key; + return a?.key; }); } -const NY = (e) => e.trim().toUpperCase(); -function TY(e, t, n) { +const VQ = (e) => e.trim().toUpperCase(); +function GQ(e, t, n) { return { richText: { - paragraphs: _3(t, fs(e.annotation, n).body) + paragraphs: d3(t, ps(e.annotation, n).body) } }; } -function _3(e, t) { +function d3(e, t) { return e.map((n) => { if ((n.align === void 0 || n.align !== t.align) && (n.dir === void 0 || n.dir !== t.dir)) return n; @@ -36298,21 +36934,21 @@ function _3(e, t) { }; }); } -function RY(e, t) { +function YQ(e, t) { const n = {}, o = {}; for (const [r, s] of Object.entries(e)) if (s !== void 0) switch (r) { case "fontFamily": { - const i = m3(s, t); - n.family = i.family, i.weight !== void 0 && (n.weight = i.weight), i.italic !== void 0 && (n.italic = i.italic); + const a = QI(s, t); + n.family = a.family, a.weight !== void 0 && (n.weight = a.weight), a.italic !== void 0 && (n.italic = a.italic); break; } case "fontSize": n.size = s; break; case "fontColor": - n.color = NY(s); + n.color = VQ(s); break; case "bold": n.weight = s ? 700 : 400; @@ -36328,27 +36964,27 @@ function RY(e, t) { } return { delta: n, rest: o }; } -function LY(e, t) { +function QQ(e, t) { const n = Math.min(t.start, t.end), o = Math.max(t.start, t.end); if (o <= n) return []; - const r = Ol(e, n), s = Ol(e, o), i = []; - for (let a = r.paragraph; a <= s.paragraph; a++) { - const c = e.paragraphs[a], l = a === r.paragraph ? r.offset : 0, u = a === s.paragraph ? s.offset : c.runs.reduce((d, p) => d + p.text.length, 0); + const r = Ml(e, n), s = Ml(e, o), a = []; + for (let i = r.paragraph; i <= s.paragraph; i++) { + const c = e.paragraphs[i], l = i === r.paragraph ? r.offset : 0, u = i === s.paragraph ? s.offset : c.runs.reduce((d, p) => d + p.text.length, 0); let f = 0; for (const d of c.runs) { const p = f + d.text.length; - p > l && f < u && d.text.length > 0 && i.push(d.style ?? {}), f = p; + p > l && f < u && d.text.length > 0 && a.push(d.style ?? {}), f = p; } } - return i; + return a; } -function AA(e, t, n) { - return N3(e.body, LY(e, t), n); +function DA(e, t, n) { + return f3(e.body, QQ(e, t), n); } -function jY(e, t, n, o) { - return N3(e.body, [{ ...tG(e, t), ...n }], o); +function XQ(e, t, n, o) { + return f3(e.body, [{ ...mY(e, t), ...n }], o); } -function N3(e, t, n) { +function f3(e, t, n) { const o = (c) => ({ family: c.family ?? e.family, weight: c.weight ?? e.weight, @@ -36356,16 +36992,16 @@ function N3(e, t, n) { size: c.size ?? e.size, color: c.color ?? e.color, decoration: c.decoration ?? e.decoration - }), r = (t.length ? t : [{}]).map(o), s = {}, i = [], a = (c, l) => { + }), r = (t.length ? t : [{}]).map(o), s = {}, a = [], i = (c, l) => { const u = l(r[0]); - s[c] = u, r.some((f) => JSON.stringify(l(f)) !== JSON.stringify(u)) && i.push(c); + s[c] = u, r.some((f) => JSON.stringify(l(f)) !== JSON.stringify(u)) && a.push(c); }; - return a( + return i( "fontFamily", - (c) => _Y({ family: c.family, weight: e.weight, italic: e.italic }, n) - ), a("fontSize", (c) => c.size), a("fontColor", (c) => c.color.toLowerCase()), a("bold", (c) => (c.weight ?? 400) >= 600), a("italic", (c) => !!c.italic), a("underline", (c) => (c.decoration ?? []).includes("underline")), { values: s, mixed: i }; + (c) => HQ({ family: c.family, weight: e.weight, italic: e.italic }, n) + ), i("fontSize", (c) => c.size), i("fontColor", (c) => c.color.toLowerCase()), i("bold", (c) => (c.weight ?? 400) >= 600), i("italic", (c) => !!c.italic), i("underline", (c) => (c.decoration ?? []).includes("underline")), { values: s, mixed: a }; } -const FY = /* @__PURE__ */ new Set([ +const ZQ = /* @__PURE__ */ new Set([ "fontFamily", "fontSize", "fontColor", @@ -36373,23 +37009,23 @@ const FY = /* @__PURE__ */ new Set([ "bold", "italic", "underline" -]), DY = /* @__PURE__ */ new Set(["bold", "italic", "underline"]); -function T3(e, { data: t, text: n, link: o }) { +]), JQ = /* @__PURE__ */ new Set(["bold", "italic", "underline"]); +function p3(e, { data: t, text: n, link: o }) { return e.key === "link" ? o ?? null : e.key === "borderStyle" ? { borderStyle: t.borderStyle ?? "solid", dashArray: t.dashArray ?? null, cloudyIntensity: t.cloudyIntensity ?? null - } : n && FY.has(e.key) ? n[e.key] ?? (DY.has(e.key) ? !1 : void 0) : t[e.key]; + } : n && ZQ.has(e.key) ? n[e.key] ?? (JQ.has(e.key) ? !1 : void 0) : t[e.key]; } -function R3(e, t) { +function h3(e, t) { const n = {}; for (const o of e) { - const r = T3(o, t); + const r = p3(o, t); o.key === "borderStyle" ? Object.assign(n, r) : n[o.key] = r; } return n; } -function $Y(e, { store: t, fonts: n }) { +function eX(e, { store: t, fonts: n }) { const o = (u) => { const f = e.state.get().textSelection; return f && u.editing === f.id && u.byId[f.id] ? f : null; @@ -36399,55 +37035,55 @@ function $Y(e, { store: t, fonts: n }) { }, s = (u) => { const f = o(u); return f && f.end === f.start ? f : null; - }, i = (u, f) => { - const d = f.annotation, p = ki(d); + }, a = (u, f) => { + const d = f.annotation, p = Aa(d); return { data: d, ...p ? { text: p } : {}, // Parents store no link: the committed children are the truth, read // through the lens. A link annotation reads its own target. - link: d.subtype === "link" ? d.target ?? null : ab(u, f.id) + link: d.subtype === "link" ? d.target ?? null : mb(u, f.id) }; - }, a = (u, f) => { + }, i = (u, f) => { if (f.annotation.subtype !== "free-text") return null; - const d = fs(f.annotation, n), p = o(u); - return p?.id !== f.id ? AA(d, { start: 0, end: XV(d) }, n) : p.end > p.start ? AA(d, p, n) : jY(d, p.start, p.typing, n); + const d = ps(f.annotation, n), p = o(u); + return p?.id !== f.id ? DA(d, { start: 0, end: fY(d) }, n) : p.end > p.start ? DA(d, p, n) : XQ(d, p.start, p.typing, n); }; let c = null; return { activeTextRange: r, activeCaret: s, selectionPropertiesOf: () => { const u = t.model(), f = o(u); if (c && c.model === u && c.selection === f) return c.v; - const d = u.selected.map((P) => u.byId[P]).filter( - (P) => !!P && ks(u, P.annotation) - ), p = QV( + const d = u.selected.map((k) => u.byId[k]).filter( + (k) => !!k && ks(u, k.annotation) + ), p = dY( u, - d.map((P) => P.annotation) - ), h = d.map((P) => i(u, P)), g = d.map((P) => a(u, P)), m = (P, k) => { - const A = g[k]; - return A && xA.includes(P.key) ? A.values[P.key] : T3(P, h[k]); - }, M = h.length ? R3(p, h[0]) : {}, x = []; - for (const P of p) { - const k = xA.includes(P.key); - k && g[0] && (M[P.key] = g[0].values[P.key]); - const A = JSON.stringify(m(P, 0)); - (h.some((y, w) => JSON.stringify(m(P, w)) !== A) || k && g.some((y) => y?.mixed.includes(P.key))) && x.push(P.key); - } - const S = { properties: p, values: M, mixed: x }; - return c = { model: u, selection: f, v: S }, S; + d.map((k) => k.annotation) + ), g = d.map((k) => a(u, k)), h = d.map((k) => i(u, k)), m = (k, A) => { + const w = h[A]; + return w && FA.includes(k.key) ? w.values[k.key] : p3(k, g[A]); + }, O = g.length ? h3(p, g[0]) : {}, E = []; + for (const k of p) { + const A = FA.includes(k.key); + A && h[0] && (O[k.key] = h[0].values[k.key]); + const w = JSON.stringify(m(k, 0)); + (g.some((b, v) => JSON.stringify(m(k, v)) !== w) || A && h.some((b) => b?.mixed.includes(k.key))) && E.push(k.key); + } + const P = { properties: p, values: O, mixed: E }; + return c = { model: u, selection: f, v: P }, P; } }; } -function BY(e, t, n, o) { - return BG(e, t, n).map((r) => L3(e, r, o)); +function tX(e, t, n, o) { + return tQ(e, t, n).map((r) => g3(e, r, o)); } -function zY(e, t, n, o) { - const r = w3(e, t, n); - return r && L3(e, r, o); +function nX(e, t, n, o) { + const r = JI(e, t, n); + return r && g3(e, r, o); } -function L3(e, t, n) { - const o = e.byId[t.id], r = (o && ki(o.annotation)) ?? HV, s = o ? Wt(o.annotation).strokeWidth : 0, i = o ? fs(o.annotation, n?.lookup) : null, a = i ? { family: i.body.family, weight: i.body.weight, italic: i.body.italic } : { family: "Helvetica", weight: 400, italic: !1 }, c = n?.text.bodyCss(t.id, r, a) ?? Pa(xi(r.fontFamily)); +function g3(e, t, n) { + const o = e.byId[t.id], r = (o && Aa(o.annotation)) ?? iY, s = o ? Vt(o.annotation).strokeWidth : 0, a = o ? ps(o.annotation, n?.lookup) : null, i = a ? { family: a.body.family, weight: a.body.weight, italic: a.body.italic } : { family: "Helvetica", weight: 400, italic: !1 }, c = n?.text.bodyCss(t.id, r, i) ?? Si(Sa(r.fontFamily)); return { id: t.id, - ref: Ct(o), + ref: Nt(o), box: t.box, contents: o?.annotation.contents ?? "", // Paragraph alignment/direction equal to the body's is inherited, not @@ -36455,10 +37091,10 @@ function L3(e, t, n) { // block must not pin itself to a resolved value — or the Align // buttons (which move the body) would stop moving the text. richText: { - paragraphs: i ? _3(i.paragraphs, i.body) : [{ runs: [{ text: "" }] }] + paragraphs: a ? d3(a.paragraphs, a.body) : [{ runs: [{ text: "" }] }] }, - face: a, - programs: n && i ? WY(t.id, i, a, c.programs, n.text) : c.programs, + face: i, + programs: n && a ? oX(t.id, a, i, c.programs, n.text) : c.programs, editing: t.editing, ...t.rot ? { rot: t.rot } : {}, css: { @@ -36469,15 +37105,15 @@ function L3(e, t, n) { fontStyle: r.italic ? "italic" : "normal", textDecoration: r.underline ? "underline" : "none", align: r.textAlign, - padding: JK(s) + padding: hH(s) } }; } -function WY(e, t, n, o, r) { +function oX(e, t, n, o, r) { const s = [...o]; - for (const i of t.paragraphs) - for (const a of i.runs) { - const c = a.style; + for (const a of t.paragraphs) + for (const i of a.runs) { + const c = i.style; if (c?.family === void 0 && c?.weight === void 0 && c?.italic === void 0) continue; const l = r.faceCss(e, { @@ -36490,171 +37126,208 @@ function WY(e, t, n, o, r) { } return s; } -function UY(e, { +function rX(e, { view: { pageModel: t }, lending: n, - fonts: o, - textFonts: r -}, s, i) { - const a = /* @__PURE__ */ new Map(), c = () => e.tryGet(Er), l = (w) => { - if (!w.hovered || !w.label) return w; - const O = c()?.getPaintFonts( - w.text?.fontFamily ?? "helvetica", - w.label.text + records: o, + copySources: r, + fonts: s, + textFonts: a +}, i, c) { + const l = /* @__PURE__ */ new Map(), u = () => e.tryGet(Ir), f = (S) => { + if (!S.hovered || !S.label) return S; + const C = u()?.getPaintFonts( + S.text?.fontFamily ?? "helvetica", + S.label.text ); - return O ? { ...w, label: { ...w.label, fonts: O } } : w; - }, u = (w, O) => { - const b = w.objectNumber, v = t(b), E = e.state.get(), I = E.ghostAt?.page.objectNumber === b ? E.ghostAt : null, T = E.placing?.page.objectNumber === b ? E.placing : null, _ = c()?.getPaintFontsEpoch() ?? 0, N = a.get(b); - if (N && N.model === v && N.ghostAt === I && N.placing === T && N.zoom === O?.zoom && N.rotation === O?.rotation && N.fontsEpoch === _) - return N.v; - const F = [ - ...$G(v, w, O).map(l), - ...s.itemsOn(b, v, O) + return C ? { ...S, label: { ...S.label, fonts: C } } : S; + }, d = (S, C) => { + const N = S.objectNumber, _ = t(N), T = e.state.get(), $ = T.ghostAt?.page.objectNumber === N ? T.ghostAt : null, j = T.placing?.page.objectNumber === N ? T.placing : null, z = u()?.getPaintFontsEpoch() ?? 0, L = l.get(N); + if (L && L.model === _ && L.ghostAt === $ && L.placing === j && L.zoom === C?.zoom && L.rotation === C?.rotation && L.fontsEpoch === z) + return L.v; + const D = [ + ...eQ(_, S, C).map(f), + ...i.itemsOn(N, _, C) ]; - return a.set(b, { - model: v, - ghostAt: I, - placing: T, - zoom: O?.zoom, - rotation: O?.rotation, - fontsEpoch: _, - v: F - }), F; - }, f = /* @__PURE__ */ new Map(), d = (w, O) => { - const b = w.objectNumber, v = t(b), E = r.version(), I = f.get(b); - if (I && I.model === v && I.zoom === O?.zoom && I.rotation === O?.rotation && I.fonts === E) - return I.v; - const T = BY(v, w, O, { lookup: o, text: r }); - return f.set(b, { - model: v, - zoom: O?.zoom, - rotation: O?.rotation, - fonts: E, - v: T - }), T; - }, p = /* @__PURE__ */ new Map(), h = (w, O) => { - const b = ie(w), v = t(w.page.objectNumber), E = r.version(), I = p.get(b); - if (I && I.model === v && I.zoom === O?.zoom && I.rotation === O?.rotation && I.fonts === E) - return I.v; - const T = zY(v, b, O, { lookup: o, text: r }); - return p.set(b, { model: v, zoom: O?.zoom, rotation: O?.rotation, fonts: E, v: T }), T; - }, g = /* @__PURE__ */ new Map(), m = (w) => { - const O = t(w), b = g.get(w); - if (b && b.model === O) return b.v; - const v = []; - for (const E of O.order) { - const I = O.byId[E], T = I?.annotation; - if (!T || T.page.objectNumber !== w || T.subtype !== "link" || !j0(T, !1)) continue; - const _ = T.target ?? null, N = gt(T); - if (_ == null || N.kind !== "box") continue; - const F = T.actions?.activate, R = Ct(I) ?? void 0, j = !!T.actions?.cursorEnter?.root, B = !!T.actions?.cursorExit?.root; - v.push({ - id: E, - bounds: N.box, - target: _, - attached: ii(T) !== void 0, - ...F ? { activate: F } : {}, - ...R ? { ref: R } : {}, - ...j || B ? { hoverEvents: { enter: j, exit: B } } : {} + return l.set(N, { + model: _, + ghostAt: $, + placing: j, + zoom: C?.zoom, + rotation: C?.rotation, + fontsEpoch: z, + v: D + }), D; + }, p = /* @__PURE__ */ new Map(), g = (S, C) => { + const N = S.objectNumber, _ = t(N), T = a.version(), $ = p.get(N); + if ($ && $.model === _ && $.zoom === C?.zoom && $.rotation === C?.rotation && $.fonts === T) + return $.v; + const j = tX(_, S, C, { lookup: s, text: a }); + return p.set(N, { + model: _, + zoom: C?.zoom, + rotation: C?.rotation, + fonts: T, + v: j + }), j; + }, h = /* @__PURE__ */ new Map(), m = (S, C) => { + const N = Y(S), _ = t(S.page.objectNumber), T = a.version(), $ = h.get(N); + if ($ && $.model === _ && $.zoom === C?.zoom && $.rotation === C?.rotation && $.fonts === T) + return $.v; + const j = nX(_, N, C, { lookup: s, text: a }); + return h.set(N, { model: _, zoom: C?.zoom, rotation: C?.rotation, fonts: T, v: j }), j; + }, O = /* @__PURE__ */ new Map(), E = (S) => { + const C = t(S), N = O.get(S); + if (N && N.model === C) return N.v; + const _ = []; + for (const T of C.order) { + const $ = C.byId[T], j = $?.annotation; + if (!j || j.page.objectNumber !== S || j.subtype !== "link" || !Q0(j, !1)) continue; + const z = j.target ?? null, L = bt(j); + if (z == null || L.kind !== "box") continue; + const D = j.actions?.activate, F = Nt($) ?? void 0, B = !!j.actions?.cursorEnter?.root, V = !!j.actions?.cursorExit?.root; + _.push({ + id: T, + bounds: L.box, + target: z, + attached: ca(j) !== void 0, + ...D ? { activate: D } : {}, + ...F ? { ref: F } : {}, + ...B || V ? { hoverEvents: { enter: B, exit: V } } : {} }); } - return g.set(w, { model: O, v }), v; - }, M = { - listPageItems: (w, O) => u(w, O), - listTextItems: (w, O) => d(w, O), - getTextItem: (w, O) => h(w, O), - listLinkItems: (w) => m(w.objectNumber), - getAppearanceEpoch: (w) => { - const { engine: O, placed: b, lent: v } = x(w); - return [O.map((I) => `${ie(I.ref)}@${I.version}`).sort().join("|"), b, v].filter(Boolean).join("|"); - }, - renderAppearances: (w, O, b) => Promise.all([ - P(w, O, x(w).engine, b), - S(w, O, b), - y(w, O) - ]).then(([v, E, I]) => [...v, ...E, ...I]) - }, x = (w) => { - const O = w.objectNumber, b = t(O), v = [], E = []; - let I = !1; - for (const _ of b.order) { - const N = b.byId[_]; - if (!(!N || N.annotation.page.objectNumber !== O || N.source !== "baked") && !F0(N)) { - if (N.unconfirmed) { - i.lookOf(N) ? E.push(`${_}@placed`) : A(_, N.annotation.ref).length && E.push(`${_}@kept`); + return O.set(S, { model: C, v: _ }), _; + }, P = { + listPageItems: (S, C) => d(S, C), + listTextItems: (S, C) => g(S, C), + getTextItem: (S, C) => m(S, C), + listLinkItems: (S) => E(S.objectNumber), + getAppearanceEpoch: (S) => { + const { engine: C, placed: N, lent: _ } = k(S); + return [C.map(($) => `${Y($.ref)}@${$.version}`).sort().join("|"), N, _].filter(Boolean).join("|"); + }, + renderAppearances: (S, C, N) => Promise.all([ + w(S, C, k(S).engine, N), + A(S, C, N), + M(S, C) + ]).then(([_, T, $]) => [..._, ...T, ...$]) + }, k = (S) => { + const C = S.objectNumber, N = t(C), _ = [], T = []; + let $ = !1; + for (const z of N.order) { + const L = N.byId[z]; + if (!(!L || L.annotation.page.objectNumber !== C || L.source !== "baked") && !X0(L)) { + if (L.unconfirmed) { + x(L) ? T.push(`${z}@placed`) : y(L).length && T.push(`${z}@kept`); continue; } - if (n.owns(_)) { - I = !0; + if (n.owns(z)) { + $ = !0; continue; } - v.push({ ref: N.annotation.ref, version: N.pictureVersion ?? 0 }); + _.push({ ref: L.annotation.ref, version: L.pictureVersion ?? 0 }); } } - const T = n.lender(); + const j = n.lender(); return { - engine: v, - placed: E.sort().join("|"), - lent: I && T ? `lent:${T.getPictureEpoch(w)}` : "" + engine: _, + placed: T.sort().join("|"), + lent: $ && j ? `lent:${j.getPictureEpoch(S)}` : "" }; - }, S = (w, O, b) => { - const v = n.lender(), E = t(w.objectNumber), I = E.order.some((T) => n.owns(T) && !E.byId[T].unconfirmed); - return !v || !I ? Promise.resolve([]) : v.renderAppearances(w, O, b).catch(() => []); - }, P = (w, O, b, v) => { - const E = e.tryGet(pn); - return !E || !e.doc || b.length === 0 ? Promise.resolve([]) : E.renderAppearances(w, { + }, A = (S, C, N) => { + const _ = n.lender(), T = t(S.objectNumber), $ = T.order.some((j) => n.owns(j) && !T.byId[j].unconfirmed); + return !_ || !$ ? Promise.resolve([]) : _.renderAppearances(S, C, N).catch(() => []); + }, w = (S, C, N, _) => { + const T = e.tryGet(wn); + return !T || !e.doc || N.length === 0 ? Promise.resolve([]) : T.renderAppearances(S, { family: "annotations", - scale: O, - items: b, - ...v ? { signal: v } : {} + scale: C, + items: N, + ..._ ? { signal: _ } : {} }).catch(() => []); - }, k = (w) => n.owns(w) ? "widgets" : "annotations", A = (w, O) => e.tryGet(pn)?.getKeptAppearances(k(w), O) ?? [], y = async (w, O) => { - const b = t(w.objectNumber), v = b.order.map(async (E) => { - const I = b.byId[E]; - if (!I.unconfirmed) return []; - const T = I.pictureVersion ?? 0, _ = i.lookOf(I); - if (!_) return A(E, I.annotation.ref).map((R) => ({ ...R, version: T })); - const N = I.apBox; - if (!N) return []; - const F = await _(N.width * O); - return F ? [ + }, b = (S) => n.owns(S) ? "widgets" : "annotations", v = (S) => { + const { byKey: C } = o.view(), N = [], _ = /* @__PURE__ */ new Set([S]); + let T = C[S]?.copyOf; + for (; T && !_.has(Y(T)); ) + _.add(Y(T)), N.push(T), T = C[Y(T)]?.copyOf; + const $ = r.of(S); + return $ && !_.has(Y($)) && N.push($), N; + }, x = (S) => { + const C = c.lookOf(S); + if (C || !S.unconfirmed) return C; + for (const N of v(S.id)) { + const _ = t(N.page.objectNumber).byId[Y(N)], T = _ ? c.lookOf(_) : null; + if (T) return T; + } + return null; + }, y = (S) => { + const C = e.tryGet(wn); + if (!C) return []; + const { ref: N } = S.annotation, _ = C.getKeptAppearances(b(S.id), N); + if (_.length) return _; + for (const T of v(S.id)) { + const $ = C.getKeptAppearances("annotations", T); + if ($.length) + return $.map((j) => ({ ...j, ref: N, rect: S.apBox ?? j.rect })); + } + return []; + }, M = async (S, C) => { + const N = t(S.objectNumber), _ = N.order.map(async (T) => { + const $ = N.byId[T]; + if (!$.unconfirmed) return []; + const j = $.pictureVersion ?? 0, z = x($); + if (!z) return y($).map((F) => ({ ...F, version: j })); + const L = $.apBox; + if (!L) return []; + const D = await z(L.width * C); + return D ? [ { - ref: I.annotation.ref, + ref: $.annotation.ref, mode: "normal", state: null, - rect: N, - image: QT(F.bytes, F.mimeType ?? "image/png"), - version: T + rect: L, + image: zR(D.bytes, D.mimeType ?? "image/png"), + version: j } ] : []; }); - return (await Promise.all(v)).flat(); + return (await Promise.all(_)).flat(); }; - return { api: M }; + return { api: P }; } -function KY(e, t) { - const n = () => e.allows("doc.annotate.read"), o = () => e.allows("annotations:create"), r = (l) => { - const u = t.model().byId[ie(l)]?.annotation; +function sX(e, t) { + const n = () => e.allows("doc.annotate.read"), o = () => e.allows("annotations:create"), r = (u) => { + const f = t.model().byId[Y(u)]?.annotation; return { - ...u?.userId != null ? { userId: u.userId } : {}, - ...u?.groupId != null ? { groupId: u.groupId } : {} + ...f?.userId != null ? { userId: f.userId } : {}, + ...f?.groupId != null ? { groupId: f.groupId } : {} }; - }, s = (l, u) => e.doc?.security.allowsAnnotation(l, r(u)) ?? !1, i = (l) => { - const u = t.model().byId[ie(l)]; - return !!u && Wp(u); - }, a = (l) => { - const u = t.model(), f = ie(l); - if (!u.byId[f]) return [l]; - const p = u.order.map((h) => u.byId[h]?.annotation).filter( - (h) => h?.page.objectNumber === l.page.objectNumber + }, s = (u, f) => e.doc?.security.allowsAnnotation(u, r(f)) ?? !1, a = (u) => { + const f = t.model().byId[Y(u)]; + return !!f && Hp(f); + }, i = (u) => { + const f = t.model(), d = Y(u); + if (!f.byId[d]) return [u]; + const g = f.order.map((h) => f.byId[h]?.annotation).filter( + (h) => h?.page.objectNumber === u.page.objectNumber ); - return op(p, l).filter((h) => { - const g = u.byId[ie(h.ref)]; - return g ? ie(h.ref) === f ? !wC(g) : !qY(g) : !0; + return ip(g, u).filter((h) => { + const m = f.byId[Y(h.ref)]; + return m ? Y(h.ref) === d ? !XC(m) : !aX(m) : !0; }).map((h) => h.ref); }; - return { canRead: n, canCreate: o, canUpdate: i, canDelete: (l) => a(l).length === 0, blockersOf: a, allowsMutation: s }; + return { canRead: n, canCreate: o, canUpdate: a, canDelete: (u) => i(u).length === 0, canDuplicate: (u) => { + if (!u.length || !o()) return !1; + const f = t.model(), d = []; + for (const p of u) { + const g = f.byId[Y(p)]?.annotation; + if (!g || g.locked) return !1; + d.push(g); + } + return eP(d, {}).dropped.length === 0; + }, blockersOf: i, allowsMutation: s }; } -const qY = (e) => !e.annotation.locked && (e.authority?.delete ?? !0), HY = (e, t) => { +const aX = (e) => !e.annotation.locked && (e.authority?.delete ?? !0), iX = (e, t) => { const n = e.doc?.security; if (!n) return; const o = { @@ -36666,67 +37339,67 @@ const qY = (e) => !e.annotation.locked && (e.authority?.delete ?? !0), HY = (e, delete: n.allowsAnnotation("delete", o) }; }; -function VY(e, t, n) { - const o = /* @__PURE__ */ new WeakMap(), r = (x, S) => { - const P = o.get(x); - if (P && P.vector === S) return P.record; - const k = Ec(x.dto), A = { - ...k, - source: G2(k.annotation, S), - pictureVersion: x.pictureVersion, - authority: HY(e, x.dto) +function cX(e, t, n) { + const o = /* @__PURE__ */ new WeakMap(), r = (E, P) => { + const k = o.get(E); + if (k && k.vector === P) return k.record; + const A = Mc(E.dto), w = { + ...A, + source: lA(A.annotation, P), + pictureVersion: E.pictureVersion, + authority: iX(e, E.dto) }; - return o.set(x, { vector: S, record: A }), A; - }, s = /* @__PURE__ */ new WeakMap(), i = (x, S, P) => { - const k = s.get(x); - if (k && k.truth === S && k.vector === P) return k.record; - let A; - if (!S) - A = { ...Ec(x.dto), unconfirmed: !0, source: lw(x.dto) }; + return o.set(E, { vector: P, record: w }), w; + }, s = /* @__PURE__ */ new WeakMap(), a = (E, P, k) => { + const A = s.get(E); + if (A && A.truth === P && A.vector === k) return A.record; + let w; + if (!P) + w = { ...Mc(E.dto), unconfirmed: !0, source: th(E.dto) }; else { - const y = r(S, P), w = { - ...ul(S.dto, x.dto), - subtype: S.dto.subtype + const b = r(P, k), v = { + ...ll(P.dto, E.dto), + subtype: P.dto.subtype }; - A = { ...y, annotation: x.dto, ...Tf(y, w) }; - } - return s.set(x, { truth: S, vector: P, record: A }), A; - }, a = (x, S) => { - const P = S.painter(x); - return P ? { painter: P } : {}; - }, c = /* @__PURE__ */ new WeakMap(), l = (x, S, P) => { - const k = c.get(x); - if (k && k.truth === S) return k.record; - let A; - if (!S) - A = { - ...Ec(x), + w = { ...b, annotation: E.dto, ...Rf(b, v) }; + } + return s.set(E, { truth: P, vector: k, record: w }), w; + }, i = (E, P) => { + const k = P.painter(E); + return k ? { painter: k } : {}; + }, c = /* @__PURE__ */ new WeakMap(), l = (E, P, k) => { + const A = c.get(E); + if (A && A.truth === P) return A.record; + let w; + if (!P) + w = { + ...Mc(E), unconfirmed: !0, - source: f.has(ie(x.ref)) ? "baked" : "vector", - pictureVersion: P.getPictureVersion(x.ref), - authority: P.getAuthority(x), - ...a(x, P) + source: f.has(Y(E.ref)) ? "baked" : "vector", + pictureVersion: k.getPictureVersion(E.ref), + authority: k.getAuthority(E), + ...i(E, k) }; else { - const y = { - ...Ec(S), - source: G2(S, !1), - pictureVersion: P.getPictureVersion(S.ref), - authority: P.getAuthority(S), - ...a(x, P) - }, w = { ...ul(S, x), subtype: S.subtype }; - A = x === S ? y : { ...y, annotation: x, ...Tf(y, w) }, P.isPending(x.ref) && Ya(A) && (A = { ...A, source: "vector" }); - } - return c.set(x, { truth: S, record: A }), A; - }, u = /* @__PURE__ */ new WeakMap(), f = /* @__PURE__ */ new Set(), d = (x) => { - let S = u.get(x); - if (!S) { - S = new Map(x.map((P) => [ie(P.ref), P])); - for (const P of S.keys()) f.add(P); - u.set(x, S); - } - return S; - }, p = Ke( + const b = { + ...Mc(P), + source: lA(P, !1), + pictureVersion: k.getPictureVersion(P.ref), + authority: k.getAuthority(P), + ...i(E, k) + }, v = { ...ll(P, E), subtype: P.subtype }; + w = E === P ? b : { ...b, annotation: E, ...Rf(b, v) }, k.isPending(E.ref) && Gi(w) && (w = { ...w, source: "vector" }); + } + return c.set(E, { truth: P, record: w }), w; + }, u = /* @__PURE__ */ new WeakMap(), f = /* @__PURE__ */ new Set(), d = (E) => { + let P = u.get(E); + if (!P) { + P = new Map(E.map((k) => [Y(k.ref), k])); + for (const k of P.keys()) f.add(k); + u.set(E, P); + } + return P; + }, p = qe( () => [ t.get(), t.view(), @@ -36734,65 +37407,77 @@ function VY(e, t, n) { e.document(), n.records() ], - (x, S, P, k, A) => { - const y = {}; - for (const b of S.order) { - const v = S.byKey[b], E = x.byKey[b]; - y[b] = v === E ? r(v, b in P) : i(v, E, b in P); - } - const w = [...S.order], O = n.lender(); - if (A && O) { - const b = d(A.confirmed); - for (const v of A.shown) { - const E = ie(v.ref); - E in y || (y[E] = l(v, b.get(E), O), w.push(E)); + (E, P, k, A, w) => { + const b = {}; + for (const y of P.order) { + const M = P.byKey[y], S = E.byKey[y]; + b[y] = M === S ? r(M, y in k) : a(M, S, y in k); + } + const v = [...P.order], x = n.lender(); + if (w && x) { + const y = d(w.confirmed); + for (const M of w.shown) { + const S = Y(M.ref); + S in b || (b[S] = l(M, y.get(S), x), v.push(S)); } } - return { byId: y, order: w }; + return { byId: b, order: v }; } - ), h = Ke( + ), g = qe( () => [e.state.get().session, p()], - (x, S) => ({ ...x, ...S }) - ), g = Ke( - () => [h()], - (x) => { - const S = /* @__PURE__ */ new Map(); - for (const P of x.order) { - const k = x.byId[P], A = S.get(k.annotation.page.objectNumber); - A ? A.push(k) : S.set(k.annotation.page.objectNumber, [k]); + (E, P) => ({ ...E, ...P }) + ), h = qe( + () => [g()], + (E) => { + const P = /* @__PURE__ */ new Map(); + for (const k of E.order) { + const A = E.byId[k], w = P.get(A.annotation.page.objectNumber); + w ? w.push(A) : P.set(A.annotation.page.objectNumber, [A]); } - return S; + return P; } ), m = /* @__PURE__ */ new Map(); - return { view: p, model: h, pageModel: (x) => { - const S = h(), P = m.get(x); - if (P?.whole === S) return P.model; - const k = g().get(x) ?? GY, A = (b) => S.byId[b]?.annotation.page.objectNumber === x, y = S.draft, w = { - records: k, - selected: S.selected.filter(A), - hovered: S.hovered !== null && A(S.hovered) ? S.hovered : null, - editing: S.editing !== null && A(S.editing) ? S.editing : null, - draft: y && ("page" in y ? y.page.objectNumber === x : "ids" in y ? y.ids.some(A) : A(y.id)) ? y : null, - preview: S.preview?.byPage[x] ? S.preview : null, - settings: [S.defaults, S.hitMargin, S.snap, S.editable] + return { view: p, model: g, pageModel: (E) => { + const P = g(), k = m.get(E); + if (k?.whole === P) return k.model; + const A = h().get(E) ?? lX, w = (y) => P.byId[y]?.annotation.page.objectNumber === E, b = P.draft, v = { + records: A, + selected: P.selected.filter(w), + hovered: P.hovered !== null && w(P.hovered) ? P.hovered : null, + editing: P.editing !== null && w(P.editing) ? P.editing : null, + draft: b && ("page" in b ? b.page.objectNumber === E : "ids" in b ? b.ids.some(w) : w(b.id)) ? b : null, + preview: P.preview?.byPage[E] ? P.preview : null, + settings: [P.defaults, P.hitMargin, P.snap, P.editable] }; - if (P && YY(P.parts, w)) - return m.set(x, { whole: S, parts: P.parts, model: P.model }), P.model; - const O = { - ...S, - byId: Object.fromEntries(k.map((b) => [b.id, b])), - order: k.map((b) => b.id), - selected: [...w.selected], - hovered: w.hovered, - editing: w.editing, - draft: w.draft, - preview: w.preview + if (k && uX(k.parts, v)) + return m.set(E, { whole: P, parts: k.parts, model: k.model }), k.model; + const x = { + ...P, + byId: Object.fromEntries(A.map((y) => [y.id, y])), + order: A.map((y) => y.id), + selected: [...v.selected], + hovered: v.hovered, + editing: v.editing, + draft: v.draft, + preview: v.preview }; - return m.set(x, { whole: S, parts: w, model: O }), O; + return m.set(E, { whole: P, parts: v, model: x }), x; } }; } -const GY = [], Mg = (e, t) => e.length === t.length && e.every((n, o) => Object.is(n, t[o])), YY = (e, t) => Mg(e.records, t.records) && Mg(e.selected, t.selected) && e.hovered === t.hovered && e.editing === t.editing && e.draft === t.draft && e.preview === t.preview && Mg(e.settings, t.settings); -function QY(e) { +const lX = [], Ng = (e, t) => e.length === t.length && e.every((n, o) => Object.is(n, t[o])), uX = (e, t) => Ng(e.records, t.records) && Ng(e.selected, t.selected) && e.hovered === t.hovered && e.editing === t.editing && e.draft === t.draft && e.preview === t.preview && Ng(e.settings, t.settings); +function dX(e) { + const t = /* @__PURE__ */ new Map(); + return { + note(n) { + const { byKey: o } = e.view(); + for (const r of t.keys()) r in o || t.delete(r); + for (const { ref: r, of: s } of n) + t.set(Y(r), t.get(Y(s)) ?? s); + }, + of: (n) => t.get(n) ?? null + }; +} +function fX(e) { return { created: e.events.source(), updated: e.events.source(), @@ -36810,34 +37495,34 @@ function QY(e) { recordsChanged: e.events.source() }; } -function XY(e) { +function pX(e) { let t = null; return { set: (r) => (t = r, () => { t === r && (t = null); - }), promptAt: (r, s, i, a) => { + }), promptAt: (r, s, a, i) => { const c = t; if (!c) return !1; const l = r.source, u = { toolId: r.id, subtype: r.subtype, accept: l?.kind === "prompt" ? l.accept : void 0, - page: ut(s), - point: i + page: dt(s), + point: a }, f = e.doc; return c(u).then( (d) => { - d && e.doc === f && e.tryGet(cn)?.getActiveToolId() === r.id && a(d); + d && e.doc === f && e.tryGet(fn)?.getActiveToolId() === r.id && i(d); }, (d) => console.error("[annotation] file-picker provider failed:", d) ), !0; } }; } -const ZY = /* @__PURE__ */ new Set(); -function JY(e) { +const hX = /* @__PURE__ */ new Set(); +function gX(e) { let t = null; - const n = () => t?.records() ?? null, o = Ke( + const n = () => t?.records() ?? null, o = qe( () => [n()?.shown], - (r) => r ? new Set(r.map((s) => ie(s.ref))) : ZY + (r) => r ? new Set(r.map((s) => Y(s.ref))) : hX ); return { lender: () => t, @@ -36850,80 +37535,80 @@ function JY(e) { } }; } -function eQ(e, t) { - if (!e.owns(ie(t))) return; +function $A(e, t) { + if (!e.owns(Y(t))) return; const n = e.lender()?.owner ?? "its own"; - throw new Z( + throw new te( "invalid-input", "annotation", - `${ie(t)} belongs to the ${n} plugin: change it there` + `${Y(t)} belongs to the ${n} plugin: change it there` ); } -function tQ(e, t, n) { - const o = e.lender(), r = (c) => e.owns(ie(c)), s = t.refs.filter(r); +function mX(e, t, n) { + const o = e.lender(), r = (c) => e.owns(Y(c)), s = t.refs.filter(r); if (!o || !s.length) return t; - const i = t.refs.filter((c) => !r(c)), a = sp(t.position); - if (a && (i.length || !r(a))) - throw new Z( + const a = t.refs.filter((c) => !r(c)), i = lp(t.position); + if (i && (a.length || !r(i))) + throw new te( "invalid-input", "annotation", - `${o.owner} records move among their own: ${ie(a)} can't be their neighbour` + `${o.owner} records move among their own: ${Y(i)} can't be their neighbour` ); - return n.push(...o.reorderOps(t.page, s, t.position)), i.length ? { ...t, refs: i } : null; + return n.push(...o.reorderOps(t.page, s, t.position)), a.length ? { ...t, refs: a } : null; } -function nQ(e) { +function bX(e) { let t = !1; const n = () => { - t || !e.doc || (t = !0, e.doc.objectNumbers.onLost(({ numbers: i }) => e.state.update(MY, i))); - }, o = (i) => { - const a = e.state.get().session.objectNumbers.length; - if (a >= i) return !0; + t || !e.doc || (t = !0, e.doc.objectNumbers.onLost(({ numbers: a }) => e.state.update(WQ, a))); + }, o = (a) => { + const i = e.state.get().session.objectNumbers.length; + if (i >= a) return !0; n(); const c = []; - for (; a + c.length < i; ) { + for (; i + c.length < a; ) { const l = e.changes.takeObjectNumber(); if (l === null) break; c.push(l); } - return c.length && e.state.update(OY, c), a + c.length >= i; + return c.length && e.state.update(zQ, c), i + c.length >= a; }; - return { hold: o, take: (i) => { - if (!o(i)) return null; - const { objectNumbers: a } = e.state.get().session; + return { hold: o, take: (a) => { + if (!o(a)) return null; + const { objectNumbers: i } = e.state.get().session; return e.state.update((c) => ({ ...c, - session: { ...c.session, objectNumbers: a.slice(i) } - })), a.slice(0, i); - }, named: (i, a) => { - let c = a; - return { ops: i.map((u) => { + session: { ...c.session, objectNumbers: i.slice(a) } + })), i.slice(0, a); + }, named: (a, i) => { + let c = i; + return { ops: a.map((u) => { if (u.type !== "annotations.create" || u.objectNumber !== void 0) return u; const [f, ...d] = c, p = f ?? e.changes.takeObjectNumber(); return f !== void 0 && (c = d), p === null ? u : { ...u, objectNumber: p }; }), held: c }; } }; } -const oQ = 200; -function rQ(e, t) { - const n = /* @__PURE__ */ new Map(), o = (r, s, i) => { - n.set(r, { before: s, after: i }), n.size > oQ && n.delete(n.keys().next().value); +const yX = 200; +function wX(e, t) { + const n = /* @__PURE__ */ new Map(), o = (r, s, a) => { + n.set(r, { before: s, after: a }), n.size > yX && n.delete(n.keys().next().value); }; return e.changes.onStaged((r) => { if (r.undoOf === null) return; const s = n.get(r.undoOf); if (!s) return; o(r.opId, s.after, s.before); - const i = t.model(), a = s.before.filter((c) => c in i.byId); - t.commit(a.length ? { type: "select", ids: a } : { type: "deselect" }); + const a = t.model(), i = s.before.filter((c) => c in a.byId); + t.commit(i.length ? { type: "select", ids: i } : { type: "deselect" }); }), { remember: o }; } -const sQ = { byKey: {}, order: [] }; -function Ml(e, t, n) { +const vX = { byKey: {}, order: [] }; +function El(e, t, n) { if (!t.length) return e; const o = { ...e.byKey }, r = []; for (const s of t) { - const i = ie(s.ref), a = o[i]; - a || r.push(i), o[i] = { dto: s, pictureVersion: (a?.pictureVersion ?? 0) + (n ? 1 : 0) }; + const a = Y(s.ref), i = o[a]; + i || r.push(a), o[a] = { dto: s, pictureVersion: (i?.pictureVersion ?? 0) + (n ? 1 : 0) }; } return { byKey: o, order: r.length ? [...e.order, ...r] : e.order }; } @@ -36934,15 +37619,15 @@ function $f(e, t) { for (const s of n) delete r[s]; return { byKey: r, order: e.order.filter((s) => !o.has(s)) }; } -const j3 = (e, t) => { +const m3 = (e, t) => { const n = new Set(t.map((o) => o.objectNumber)); return e.order.filter((o) => n.has(e.byKey[o].dto.page.objectNumber)); }; -function Eg(e, t) { +function Tg(e, t) { const n = new Set(t.map((r) => r.objectNumber)), o = /* @__PURE__ */ new Map(); for (const r of e.order) { - const { dto: s } = e.byKey[r], { target: i, actions: a } = s; - n.has(s.page.objectNumber) || o.has(s.page.objectNumber) || (Bf(i, n) || Bf(a, n)) && o.set(s.page.objectNumber, s.page); + const { dto: s } = e.byKey[r], { target: a, actions: i } = s; + n.has(s.page.objectNumber) || o.has(s.page.objectNumber) || (Bf(a, n) || Bf(i, n)) && o.set(s.page.objectNumber, s.page); } return [...o.values()]; } @@ -36954,86 +37639,120 @@ function Bf(e, t) { const o = n.page?.objectNumber; return typeof o == "number" && t.has(o) ? !0 : Object.values(n).some((r) => Bf(r, t)); } -function iQ(e, t) { +function kX(e, t) { const n = {}, o = []; for (const r of t) { - const s = ie(r.ref), i = e.byKey[s]; - s in n || o.push(s), n[s] = { dto: r, pictureVersion: i ? i.pictureVersion + 1 : 0 }; + const s = Y(r.ref), a = e.byKey[s]; + s in n || o.push(s), n[s] = { dto: r, pictureVersion: a ? a.pictureVersion + 1 : 0 }; } return { byKey: n, order: o }; } -function aQ(e, t, n) { - const o = new Set(n.map((s) => ie(s.ref))), r = j3(e, t).filter((s) => !o.has(s)); - return Ml($f(e, r), n, !0); +function xX(e, t, n) { + const o = new Set(n.map((s) => Y(s.ref))), r = m3(e, t).filter((s) => !o.has(s)); + return El($f(e, r), n, !0); } -function cQ(e, t) { +function AX(e, t) { switch (t.type) { // A new record comes with a freshly baked appearance; the engine says // whether an update changed one. case "annotations.created": - return Ml(e, [t.annotation], !0); + return El(e, [t.annotation], !0); case "annotations.updated": - return Ml(e, [t.annotation], t.appearance.changed); + return El(e, [t.annotation], t.appearance.changed); case "annotations.reordered": { const n = t.page.objectNumber; return { ...e, - order: cy( + order: yy( e.order, (o) => e.byKey[o]?.dto.page.objectNumber === n, - t.order.map(ie), + t.order.map(Y), (o) => o ) }; } case "annotations.deleted": - return $f(e, t.deleted.map(ie)); + return $f(e, t.deleted.map(Y)); // An undo brought deleted annotations back, each in the place it had: // the event doesn't say where, so the page is read again. case "annotations.restored": - return fo({ pages: [t.page] }); + return po({ pages: [t.page] }); // A page's annotations go with it; links elsewhere to it read again. case "pages.deleted": { - const n = Eg(e, t.pages); - return n.length ? fo({ pages: [...t.pages, ...n] }) : $f(e, j3(e, t.pages)); + const n = Tg(e, t.pages); + return n.length ? po({ pages: [...t.pages, ...n] }) : $f(e, m3(e, t.pages)); } case "pages.inserted": - return t.insertedPages.length ? fo({ pages: [...t.insertedPages, ...Eg(e, t.insertedPages)] }) : e; + return t.insertedPages.length ? po({ pages: [...t.insertedPages, ...Tg(e, t.insertedPages)] }) : e; // An undo brought deleted pages back, with their annotations, and links // elsewhere to them read again. case "pages.restored": - return fo({ pages: [...t.pages, ...Eg(e, t.pages)] }); + return po({ pages: [...t.pages, ...Tg(e, t.pages)] }); // These paint annotations into the page content and remove them. case "redaction.applied": case "pages.flattened": { const n = t.results.filter((o) => o.status === "applied").map((o) => o.page); - return n.length ? fo({ pages: n }) : e; + return n.length ? po({ pages: n }) : e; } case "annotations.flattened": - return t.results.some((n) => n.status === "applied") ? fo({ pages: [t.page] }) : e; + return t.results.some((n) => n.status === "applied") ? po({ pages: [t.page] }) : e; default: return e; } } -function F3(e, t) { +function Pw(e, t) { const { reply: n, parent: o, ...r } = e; return { - ...KC(r, { ref: t }), + ...xI(r, { ref: t }), ...n ? { reply: { to: n.to, type: n.type ?? "reply" } } : {}, ...o ? { parent: o } : {} }; } -function lQ(e, t, n, o) { +function Mw(e, t) { + const { objectNumbers: n } = t; + if (!n || n.length !== t.refs.length) return []; + const o = []; + for (const a of t.refs) { + const i = e.byKey[Y(a)]; + if (!i) return []; + o.push(i.dto); + } + const { copies: r } = eP(o, { + ...t.page ? { page: t.page } : {}, + ...t.offset ? { offset: t.offset } : {} + }), s = r.map( + (a) => ({ + kind: "objectNumber", + page: a.page, + objectNumber: n[a.source] + }) + ); + return r.map((a, i) => { + const c = { + ...a.data, + ...a.replyTo ? { reply: { to: s[a.replyTo.copy], type: a.replyTo.type } } : {}, + ...a.parent !== void 0 ? { parent: s[a.parent] } : {} + }; + let l; + try { + l = Pw(c, s[i]); + } catch { + l = null; + } + return { ref: s[i], copy: l, of: o[a.source].ref, source: a.source }; + }); +} +function SX(e, t, n, o) { const r = (s) => e.byKey[s]?.dto.page.objectNumber === t; try { - const s = tf(e.order.filter(r), n, o, (i) => i); - return cy(e.order, r, s, (i) => i); + const s = nf(e.order.filter(r), n, o, (a) => a); + return yy(e.order, r, s, (a) => a); } catch { return e.order; } } -const pb = (e, t) => e.order.map((n) => e.byKey[n].dto).filter((n) => n.page.objectNumber === t); -function pw(e, t) { +const xb = (e, t) => e.order.map((n) => e.byKey[n].dto).filter((n) => n.page.objectNumber === t); +function zf(e, t) { switch (t.type) { case "annotations.create": { if (t.objectNumber === void 0) return e; @@ -37042,56 +37761,69 @@ function pw(e, t) { page: t.page, objectNumber: t.objectNumber }; - if (ie(n) in e.byKey) return e; + if (Y(n) in e.byKey) return e; try { - return Ml(e, [F3(t.data, n)], !1); + return El(e, [Pw(t.data, n)], !1); } catch { return e; } } case "annotations.update": { - const n = e.byKey[ie(t.ref)]; + const n = e.byKey[Y(t.ref)]; if (!n) return e; let o; try { - o = tw(n.dto, t.patch); + o = gw(n.dto, t.patch); } catch { return e; } - return Ml(e, [o], !1); + return El(e, [o], !1); } case "annotations.delete": { - const n = pb(e, t.ref.page.objectNumber); + const n = xb(e, t.ref.page.objectNumber); return $f( e, - op(n, t.ref).map((o) => ie(o.ref)) + ip(n, t.ref).map((o) => Y(o.ref)) ); } case "annotations.reorder": { - const n = lQ( + const n = SX( e, t.page.objectNumber, - t.refs.map(ie), - typeof t.position == "object" ? "before" in t.position ? { before: ie(t.position.before) } : { after: ie(t.position.after) } : t.position + t.refs.map(Y), + typeof t.position == "object" ? "before" in t.position ? { before: Y(t.position.before) } : { after: Y(t.position.after) } : t.position ); return n === e.order ? e : { ...e, order: n }; } + case "annotations.copy": { + const n = Mw(e, t).flatMap( + ({ copy: r, of: s }) => r && !(Y(r.ref) in e.byKey) ? [{ copy: r, of: s }] : [] + ); + if (!n.length) return e; + const o = { ...e.byKey }; + for (const { copy: r, of: s } of n) + o[Y(r.ref)] = { dto: r, pictureVersion: 0, copyOf: s }; + return { + byKey: o, + order: [...e.order, ...n.map(({ copy: r }) => Y(r.ref))] + }; + } case "annotations.restore": { - const n = ie(t.annotation.ref); + const n = Y(t.annotation.ref); if (n in e.byKey) return e; const o = t.annotation.page.objectNumber, s = e.order.filter( - (a) => e.byKey[a].dto.page.objectNumber === o - )[t.index], i = s === void 0 ? e.order.length : e.order.indexOf(s); + (i) => e.byKey[i].dto.page.objectNumber === o + )[t.index], a = s === void 0 ? e.order.length : e.order.indexOf(s); return { byKey: { ...e.byKey, [n]: { dto: t.annotation, pictureVersion: 0 } }, - order: [...e.order.slice(0, i), n, ...e.order.slice(i)] + order: [...e.order.slice(0, a), n, ...e.order.slice(a)] }; } default: return e; } } -function uQ(e, t) { +function OX(e, t) { switch (t.type) { case "annotations.create": return t.objectNumber === void 0 ? [] : [ @@ -37101,32 +37833,34 @@ function uQ(e, t) { } ]; case "annotations.update": { - const n = e.byKey[ie(t.ref)]; + const n = e.byKey[Y(t.ref)]; if (!n) return []; let o; try { - o = tw(n.dto, t.patch); + o = gw(n.dto, t.patch); } catch { return []; } const r = { - ...ul(o, n.dto), + ...ll(o, n.dto), subtype: n.dto.subtype }; return [{ type: "annotations.update", ref: t.ref, patch: r }]; } case "annotations.delete": { - const n = pb(e, t.ref.page.objectNumber), o = new Set(op(n, t.ref)); + const n = xb(e, t.ref.page.objectNumber), o = new Set(ip(n, t.ref)); return n.flatMap( (r, s) => o.has(r) ? [{ type: "annotations.restore", annotation: r, index: s }] : [] ); } + case "annotations.copy": + return Mw(e, t).map(({ ref: n }) => ({ type: "annotations.delete", ref: n })); case "annotations.reorder": return [ { type: "annotations.reorder", page: t.page, - refs: pb(e, t.page.objectNumber).map((n) => n.ref), + refs: xb(e, t.page.objectNumber).map((n) => n.ref), position: "start" } ]; @@ -37134,38 +37868,38 @@ function uQ(e, t) { return []; } } -function SA(e, t) { +function BA(e, t) { const n = []; let o = e; for (const r of t) - n.push(uQ(o, r)), o = pw(o, r); + n.push(OX(o, r)), o = zf(o, r); return n.reverse().flat(); } -function dQ(e, t) { +function PX(e, t) { const n = e.mirror({ name: "records", - initial: () => sQ, + initial: () => vX, // Without `doc.annotate.read` the bulk read would be refused: skip it // and report `forbidden`; a later refresh checks again. readable: () => e.doc?.security.allows("doc.annotate.read") ?? !0, load: async (o) => { const r = await o.annotations.list(); return { - value: iQ(n.get(), r.annotations), + value: kX(n.get(), r.annotations), cursor: r.auditHead }; }, - fold: cQ, - predict: pw, + fold: AX, + predict: zf, loadPages: async (o, r) => { - const s = new Set(e.document()?.pages.map((c) => c.ref.objectNumber)), i = r.filter((c) => s.has(c.objectNumber)), { annotations: a } = i.length ? await o.annotations.list({ pages: i }) : { annotations: [] }; - return (c) => aQ(c, r, a); + const s = new Set(e.document()?.pages.map((c) => c.ref.objectNumber)), a = r.filter((c) => s.has(c.objectNumber)), { annotations: i } = a.length ? await o.annotations.list({ pages: a }) : { annotations: [] }; + return (c) => xX(c, r, i); }, onChanged: (o) => t.recordsChanged.emit(o) }); return n; } -const PA = (e) => { +const Ew = (e) => e.along?.length ? [...e.refs, ...e.along] : e.refs, zA = (e) => { switch (e.type) { case "create": return { @@ -37190,54 +37924,66 @@ const PA = (e) => { refs: e.refs, position: e.position }; + case "copy": + return { + type: "annotations.copy", + refs: Ew(e), + ...e.page ? { page: e.page } : {}, + ...e.offset ? { offset: e.offset } : {} + }; } -}, fQ = (e) => { +}, MX = (e) => { switch (e.type) { case "annotations.create": return e.objectNumber === void 0 ? [] : [`obj:${e.objectNumber}`]; + // The copies: the annotations it copies stay as they are. + case "annotations.copy": + return (e.objectNumbers ?? []).map((t) => `obj:${t}`); case "annotations.update": case "annotations.delete": - return [ie(e.ref)]; + return [Y(e.ref)]; case "annotations.reorder": - return e.refs.map(ie); + return e.refs.map(Y); // A lent record's ops (form widgets). case "forms.updateWidget": case "forms.deleteWidget": - return [ie(e.widget)]; + return [Y(e.widget)]; case "forms.reorderWidgets": - return e.widgets.map(ie); + return e.widgets.map(Y); default: return []; } -}, Ic = (e) => [...new Set(e.flatMap(fQ))], pQ = (e) => { - const t = new Set(e.map((i) => i.type)), [n] = t, [o, r] = t.size === 1 && n ? n.split(".") : ["annotations", "change"]; - return { key: `${o === "annotations" ? "annotation" : o === "forms" ? "form" : o}.${r}`, count: Ic(e).length }; +}, Cc = (e) => [...new Set(e.flatMap(MX))], EX = { + "annotations.copy": "duplicate" +}, CX = (e) => { + const t = new Set(e.map((i) => i.type)), [n] = t, [o, r] = t.size === 1 && n ? n.split(".") : ["annotations", "change"], s = o === "annotations" ? "annotation" : o === "forms" ? "form" : o, a = t.size === 1 && n ? EX[n] : void 0; + return { key: `${s}.${a ?? r}`, count: Cc(e).length }; }; -function OA(e, t) { +function WA(e, t) { const n = t.flatMap((r) => r.type === "annotations.delete" ? [r.ref] : []); if (n.length < 2) return t; const o = /* @__PURE__ */ new Set(); for (const r of n) { - const s = e.order.map((i) => e.byKey[i].dto).filter((i) => i.page.objectNumber === r.page.objectNumber); - for (const i of op(s, r)) - ie(i.ref) !== ie(r) && o.add(ie(i.ref)); + const s = e.order.map((a) => e.byKey[a].dto).filter((a) => a.page.objectNumber === r.page.objectNumber); + for (const a of ip(s, r)) + Y(a.ref) !== Y(r) && o.add(Y(a.ref)); } return t.filter( - (r) => r.type !== "annotations.delete" || !o.has(ie(r.ref)) + (r) => r.type !== "annotations.delete" || !o.has(Y(r.ref)) ); } -const MA = (e, t, n) => e.flatMap( +const UA = (e, t, n) => e.flatMap( (o) => o.type === "annotations.update" && t ? [o, ...t(o, n)] : [o] ); -function hQ(e, t, n) { +function IX(e, t, n) { const o = {}; for (const r of n.order) { - const s = n.byKey[r], i = t.byKey[r] === s ? e.byId[r] : void 0; - o[r] = i ?? { ...Ec(s.dto), source: "vector" }; + const s = n.byKey[r], a = t.byKey[r] === s ? e.byId[r] : void 0; + o[r] = a ?? { ...Mc(s.dto), source: "vector" }; } return { ...e, byId: o, order: [...n.order] }; } -function gQ(e, t) { +function _X(e, t) { if (!t.change.put.length && !t.change.drop.length) return { ...e, ...t.session }; const n = { ...e.byId }; @@ -37246,12 +37992,35 @@ function gQ(e, t) { const o = t.change.put.map((s) => s.id).filter((s) => !(s in e.byId)), r = [...e.order.filter((s) => s in n), ...o]; return { ...t.session, byId: n, order: r }; } -const EA = (e) => new Z("not-found", "annotation", `no annotation ${ie(e)}`); -function mQ(e, t, n, o) { +const Ab = (e) => new te("not-found", "annotation", `no annotation ${Y(e)}`), KA = (e) => e.reduce( + (t, n) => t + (n.type === "create" ? 1 : n.type === "copy" ? Ew(n).length : 0), + 0 +); +function NX(e, t, n) { + const o = Ew(e); + for (const a of o) + if (!(Y(a) in t.byKey)) throw Ab(a); + const r = { + type: "annotations.copy", + refs: o, + ...e.page ? { page: e.page } : {}, + ...e.offset ? { offset: e.offset } : {}, + objectNumbers: n.splice(0, o.length) + }, s = Mw(t, r); + return { + ids: s.filter(({ source: a }) => a < e.refs.length).map(({ ref: a }) => Y(a)), + op: r, + live: s.flatMap( + ({ copy: a }) => a && th(a) === "vector" ? [Y(a.ref)] : [] + ), + copies: s + }; +} +function TX(e, t, n, o) { if (e.type === "create") { - const c = n.shift(), l = { kind: "objectNumber", page: e.page, objectNumber: c }, u = F3(e.draft, l); + const c = n.shift(), l = { kind: "objectNumber", page: e.page, objectNumber: c }, u = Pw(e.draft, l); return { - id: ie(l), + id: Y(l), op: { type: "annotations.create", page: e.page, @@ -37259,14 +38028,14 @@ function mQ(e, t, n, o) { objectNumber: c, ...e.resources ? { resources: e.resources } : {} }, - live: lw(u) === "vector" + live: th(u) === "vector" }; } if (e.type === "reorder") { for (const c of e.refs) - if (!(ie(c) in t.byKey)) throw EA(c); + if (!(Y(c) in t.byKey)) throw Ab(c); return { - id: ie(e.refs[0]), + id: Y(e.refs[0]), op: { type: "annotations.reorder", page: e.page, @@ -37275,12 +38044,12 @@ function mQ(e, t, n, o) { } }; } - const r = ie(e.ref), s = t.byKey[r]; - if (!s) throw EA(e.ref); + const r = Y(e.ref), s = t.byKey[r]; + if (!s) throw Ab(e.ref); if (e.type === "delete") return { id: r, op: { type: "annotations.delete", ref: e.ref } }; if (Object.keys(e.patch).every((c) => c === "subtype") && !e.resources) return { id: r, op: null }; - ap(s.dto, e.patch); - const a = o(r); + dp(s.dto, e.patch); + const i = o(r); return { id: r, op: { @@ -37289,402 +38058,432 @@ function mQ(e, t, n, o) { patch: e.patch, ...e.resources ? { resources: e.resources } : {} }, - live: !!a && Tf(a, e.patch).source === "vector" + live: !!i && Rf(i, e.patch).source === "vector" }; } -const hb = (e, t) => t.map((n) => Ct(e.byId[n])).filter((n) => n != null), bQ = (e, t) => e === t || e.length === t.length && e.every((n, o) => n === t[o]), Cg = { failed: [], result: null }, yQ = () => new Z( +const Sb = (e, t) => t.map((n) => Nt(e.byId[n])).filter((n) => n != null), qA = (e, t) => e === t || e.length === t.length && e.every((n, o) => n === t[o]), Rg = { failed: [], result: null }, RX = () => new te( "not-ready", "annotation", "the document holds no object number for a new annotation right now" ); -function wQ(e, t, n, o, r) { - let s = null; - const i = /* @__PURE__ */ new Map(), a = t.model, c = /* @__PURE__ */ new Set(); - e.changes.onSettled((S) => { - if (!c.delete(S.change.opId) || S.status !== "refused" || S.error.code === "operation-cancelled" || S.error.code === "instance-closed") +function LX(e, t, n, o, r, s) { + let a = null; + const i = /* @__PURE__ */ new Map(), c = t.model, l = /* @__PURE__ */ new Set(); + e.changes.onSettled((k) => { + if (!l.delete(k.change.opId) || k.status !== "refused" || k.error.code === "operation-cancelled" || k.error.code === "instance-closed") return; - const P = S.change.shows.flatMap( - (k) => k.type === "annotations.create" && k.objectNumber !== void 0 ? [{ kind: "objectNumber", page: k.page, objectNumber: k.objectNumber }] : k.type === "annotations.update" || k.type === "annotations.delete" ? [k.ref] : k.type === "forms.updateWidget" || k.type === "forms.deleteWidget" ? [k.widget] : k.type === "annotations.reorder" ? [...k.refs] : k.type === "forms.reorderWidgets" ? [...k.widgets] : [] + const A = k.change.shows.flatMap( + (w) => w.type === "annotations.create" && w.objectNumber !== void 0 ? [{ kind: "objectNumber", page: w.page, objectNumber: w.objectNumber }] : w.type === "annotations.update" || w.type === "annotations.delete" ? [w.ref] : w.type === "annotations.copy" ? [...w.refs] : w.type === "forms.updateWidget" || w.type === "forms.deleteWidget" ? [w.widget] : w.type === "annotations.reorder" ? [...w.refs] : w.type === "forms.reorderWidgets" ? [...w.widgets] : [] ); - o.writeFailed.emit({ refs: P, error: bn(S.error) }); + o.writeFailed.emit({ refs: A, error: xn(k.error) }); }); - const l = (S, P) => S.result.then( - (k) => ({ failed: [], result: k }), - (k) => ({ - failed: [{ ids: P, error: Be("annotation", k) }], + const u = (k, A) => k.result.then( + (w) => ({ failed: [], result: w }), + (w) => ({ + failed: [{ ids: A, error: Fe("annotation", w) }], result: null }) - ), u = (S, P, k = []) => { - const A = [...S, ...k], y = [ - ...k.length ? r.lender()?.undoOf(k) ?? [] : [], - ...SA(P, S) - ], w = e.changes.stage({ label: pQ(A), ops: A, undo: y }); - return c.add(w.opId), w; - }, f = nQ(e), d = rQ(e, { model: a, commit: (S) => h(S) }), p = (S, P) => { - const k = e.changes.hold(S, P); + ), f = (k, A, w = [], b) => { + const v = [...k, ...w], x = [ + ...w.length ? r.lender()?.undoOf(w) ?? [] : [], + ...BA(A, k) + ], y = e.changes.stage({ label: b ?? CX(v), ops: v, undo: x }); + return l.add(y.opId), y; + }, d = bX(e), p = wX(e, { model: c, commit: (k) => h(k) }), g = (k, A) => { + const w = e.changes.hold(k, A); return { - held: k, + held: w, base: null, get open() { - return k.open; + return w.open; }, - send: () => void k.send(), + send: () => void w.send(), cancel: () => { - k.change && c.delete(k.change.opId), k.cancel(); + w.change && l.delete(w.change.opId), w.cancel(); } }; - }, h = (S, P = {}) => { - const k = PG(S); - if (k > 0 && !f.hold(k)) return g(S, P, k); - const A = a(); - let y; + }, h = (k, A = {}) => { + const w = BY(k); + if (w > 0 && !d.hold(w)) return m(k, A, w); + const b = c(); + let v; try { - y = SG(A, S); - } catch (j) { - throw Be("annotation", j); + v = $Y(b, k); + } catch (L) { + throw Fe("annotation", L); } - P.adjust && (y = P.adjust(y)); - const w = gQ(A, y), O = n.view(), b = r.lender(), v = (j) => b !== null && "id" in j && r.owns(j.id), E = y.effects.filter(v), I = MA( - y.effects.filter((j) => !v(j)).flatMap((j) => i.get(j.type)?.(j, w, A) ?? []), - s, - w - ), T = E.length && b ? b.opsOf(E, w, A) : [], _ = f.named(I, y.session.objectNumbers), N = OA(O, _.ops); - _.held !== y.session.objectNumbers && (y = { ...y, session: { ...y.session, objectNumbers: _.held } }); - let F = Promise.resolve(Cg); - if (T.length && !P.into) { - const j = u(N, O, T); - d.remember(j.opId, A.selected, y.session.selected), F = l(j, Ic([...N, ...T])); - } else if (N.length) { - const j = P.into; - if (j) { - j.base ?? (j.base = O), j.held.set(N, SA(j.base, N)); - const B = j.held.change; - B && (c.add(B.opId), d.remember(B.opId, A.selected, y.session.selected), F = l(B, Ic(N))); + A.adjust && (v = A.adjust(v)); + const x = _X(b, v), y = n.view(), M = r.lender(), S = (L) => M !== null && "id" in L && r.owns(L.id), C = v.effects.filter(S), N = UA( + v.effects.filter((L) => !S(L)).flatMap((L) => i.get(L.type)?.(L, x, b) ?? []), + a, + x + ), _ = C.length && M ? M.opsOf(C, x, b) : [], T = d.named(N, v.session.objectNumbers), $ = WA(y, T.ops); + T.held !== v.session.objectNumbers && (v = { ...v, session: { ...v.session, objectNumbers: T.held } }); + let j = Promise.resolve(Rg); + if (_.length && !A.into) { + const L = f($, y, _); + p.remember(L.opId, b.selected, v.session.selected), j = u(L, Cc([...$, ..._])); + } else if ($.length) { + const L = A.into; + if (L) { + L.base ?? (L.base = y), L.held.set($, BA(L.base, $)); + const D = L.held.change; + D && (l.add(D.opId), p.remember(D.opId, b.selected, v.session.selected), j = u(D, Cc($))); } else { - const B = u(N, O); - d.remember(B.opId, A.selected, y.session.selected), F = l(B, Ic(N)); + const D = f($, y); + p.remember(D.opId, b.selected, v.session.selected), j = u(D, Cc($)); } } - const R = y.change.put.filter((j) => j.source === "vector").map((j) => j.id); - return e.state.update(yA, y.session, R), { effects: y.effects, written: F }; - }, g = (S, P, k) => { - const A = a().draft, y = e.changes.reserveObjectNumbers(k).then( - () => a().draft === A ? h(S, P).written : Cg, - (w) => ({ - failed: [{ ids: [], error: Be("annotation", w) }], + const z = v.change.put.filter((L) => L.source === "vector").map((L) => L.id); + return e.state.update(TA, v.session, z), { effects: v.effects, written: j }; + }, m = (k, A, w) => { + const b = c().draft, v = e.changes.reserveObjectNumbers(w).then( + () => c().draft === b ? h(k, A).written : Rg, + (x) => ({ + failed: [{ ids: [], error: Fe("annotation", x) }], result: null }) ); - return { effects: [], written: y }; - }, m = (S, P = {}) => { - const k = n.view(), A = S.filter((R) => R.type === "create").length, y = A ? f.take(A) : []; - if (!y) throw yQ(); - const w = [], O = [], b = [], v = [], E = []; - let I = k; + return { effects: [], written: v }; + }, O = (k, A = {}) => { + const w = n.view(), b = KA(k), v = b ? d.take(b) : []; + if (!v) throw RX(); + const x = [], y = [], M = [], S = [], C = [], N = []; + let _ = w; try { - for (const R of S) { - (R.type === "update" || R.type === "delete") && eQ(r, R.ref); - const j = R.type === "reorder" ? tQ(r, R, O) : R; - if (!j) { - v.push(ie(R.refs[0])), b.push(-1); + for (const L of k) { + if ((L.type === "update" || L.type === "delete") && $A(r, L.ref), L.type === "copy") { + for (const V of [...L.refs, ...L.along ?? []]) $A(r, V); + const B = NX(L, _, v); + S.push(...B.ids), M.push(x.length), x.push(B.op), C.push(...B.live), N.push(...B.copies), _ = zf(_, B.op); + continue; + } + const D = L.type === "reorder" ? mX(r, L, y) : L; + if (!D) { + S.push(Y(L.refs[0])), M.push(-1); continue; } - const B = mQ(j, I, y, (W) => a().byId[W]); - v.push(B.id), b.push(B.op ? w.length : -1), B.op && (w.push(B.op), B.live && E.push(B.id), I = pw(I, B.op)); + const F = TX(D, _, v, (B) => c().byId[B]); + S.push(F.id), M.push(F.op ? x.length : -1), F.op && (x.push(F.op), F.live && C.push(F.id), _ = zf(_, F.op)); } - } catch (R) { - throw Be("annotation", R); + } catch (L) { + throw Fe("annotation", L); } - if (!w.length && !O.length) + if (A.lent && (y.push(...A.lent.ops), S.push(...A.lent.ids)), !x.length && !y.length) return { - ids: v, - written: Promise.resolve({ ...Cg, annotations: S.map(() => null) }) + ids: S, + written: Promise.resolve({ ...Rg, annotations: k.map(() => null) }) }; - const T = f.named( - MA(w, s, hQ(a(), k, I)).filter( - (R) => !w.includes(R) + const T = d.named( + UA(x, a, IX(c(), w, _)).filter( + (L) => !x.includes(L) ), e.state.get().session.objectNumbers ); - T.held !== e.state.get().session.objectNumbers && e.state.update((R) => ({ - ...R, - session: { ...R.session, objectNumbers: T.held } + T.held !== e.state.get().session.objectNumbers && e.state.update((L) => ({ + ...L, + session: { ...L.session, objectNumbers: T.held } })); - const _ = a().selected, N = u(OA(k, [...w, ...T.ops]), k, O); - d.remember(N.opId, _, P.select ? v : _), E.length && e.state.update(yA, e.state.get().session, E), P.select && h({ type: "select", ids: v }); - const F = l(N, Ic([...w, ...O])).then( - (R) => ({ - ...R, - annotations: b.map((j) => { - const B = j < 0 ? void 0 : R.result?.items[j]; - return B && "annotation" in B ? B.annotation : null; + const $ = c().selected; + s.note(N); + const j = f( + WA(w, [...x, ...T.ops]), + w, + y, + A.label + ); + if (p.remember(j.opId, $, A.select ? S : $), C.length && e.state.update(TA, e.state.get().session, C), A.select && (h({ type: "select", ids: S }), S.some((L) => !(L in c().byId)))) { + const L = c().selected, D = () => { + qA(c().selected, L) && h({ type: "select", ids: S }); + }; + j.result.then(D, () => { + }); + } + const z = u(j, Cc([...x, ...y])).then( + (L) => ({ + ...L, + annotations: M.map((D) => { + const F = D < 0 ? void 0 : L.result?.items[D]; + return F && "annotation" in F ? F.annotation : null; }) }) ); - return { ids: v, written: F }; - }, M = async (S, P) => { - const k = S.filter((A) => A.type === "create").length; - for (; !f.hold(k); ) await e.changes.reserveObjectNumbers(k); - return m(S, P); - }; - e.watch(t.view, (S, P) => { - const k = P.order.filter((A) => !(A in S.byId)); - k.length && h({ type: "forget", ids: k }); + return { ids: S, written: z }; + }, E = async (k, A) => { + const w = KA(k); + for (; !d.hold(w); ) await e.changes.reserveObjectNumbers(w); + return O(k, A); + }; + e.watch(t.view, (k, A) => { + const w = A.order.filter((b) => !(b in k.byId)); + w.length && h({ type: "forget", ids: w }); }); - let x = a(); + let P = c(); return e.state.onChange(() => { - const S = a(), P = x; - x = S, bQ(P.selected, S.selected) || o.selectionChanged.emit({ - refs: hb(S, S.selected), - previousRefs: hb(P, P.selected) - }), P.draft !== S.draft && o.draftChanged.emit({ draft: x3(S) }), P.editing !== S.editing && o.editingChanged.emit({ - ref: S.editing ? Ct(S.byId[S.editing]) : null - }), P.hovered !== S.hovered && o.hoverChanged.emit({ - ref: S.hovered ? Ct(S.byId[S.hovered]) : null + const k = c(), A = P; + P = k, qA(A.selected, k.selected) || o.selectionChanged.emit({ + refs: Sb(k, k.selected), + previousRefs: Sb(A, A.selected) + }), A.draft !== k.draft && o.draftChanged.emit({ draft: n3(k) }), A.editing !== k.editing && o.editingChanged.emit({ + ref: k.editing ? Nt(k.byId[k.editing]) : null + }), A.hovered !== k.hovered && o.hoverChanged.emit({ + ref: k.hovered ? Nt(k.byId[k.hovered]) : null }); }), { - model: a, + model: c, commit: h, - apply: m, - applyWhenNumbered: M, - hold: p, - onUpdate: (S) => { - s = S; + apply: O, + applyWhenNumbered: E, + hold: g, + onUpdate: (k) => { + a = k; }, - onEffect: (S, P) => { + onEffect: (k, A) => { i.set( - S, - (k, A, y) => P(k, A, y) + k, + (w, b, v) => A(w, b, v) ); }, whenWritten: () => e.changes.whenSettled() }; } -const vQ = 250, Zu = (e) => `${ei(e.family)}|${e.weight}|${e.italic}`, Ju = "body", CA = (e) => Array.from(e, (t) => t.codePointAt(0)); -function kQ(e, t, n) { - const o = () => e.tryGet(Er), r = /* @__PURE__ */ new Map(); - let s = null, i = null; - const a = /* @__PURE__ */ new Map(); +const jX = 250, td = (e) => `${na(e.family)}|${e.weight}|${e.italic}`, nd = "body", HA = (e) => Array.from(e, (t) => t.codePointAt(0)); +function FX(e, t, n) { + const o = () => e.tryGet(Ir), r = /* @__PURE__ */ new Map(); + let s = null, a = null; + const i = /* @__PURE__ */ new Map(); let c = () => { }, l = 0, u = { list: null, answered: l, epoch: 0 }; - const f = (g, m) => { - const M = qb( - g.fontFamily, - (x) => n().find((S) => S.key === x) + const f = (h, m) => { + const O = ty( + h.fontFamily, + (E) => n().find((P) => P.key === E) ); - return (M.weight ?? 400) === m.weight && (M.italic ?? !1) === m.italic; - }, d = (g) => { - const m = ki(g.annotation); - if (!m || g.annotation.subtype !== "free-text") return null; - const M = fs(g.annotation, n), x = M.body, S = [Ju], P = [IA(m, x, f(m, x))]; - let k = ""; - for (const y of M.paragraphs) - for (const w of y.runs) { - k += w.text; - const O = w.style; - if (O?.family === void 0 && O?.weight === void 0 && O?.italic === void 0) { - S.push(Ju), P.push({ ...IA(m, x, f(m, x)), text: w.text }); + return (O.weight ?? 400) === m.weight && (O.italic ?? !1) === m.italic; + }, d = (h) => { + const m = Aa(h.annotation); + if (!m || h.annotation.subtype !== "free-text") return null; + const O = ps(h.annotation, n), E = O.body, P = [nd], k = [VA(m, E, f(m, E))]; + let A = ""; + for (const b of O.paragraphs) + for (const v of b.runs) { + A += v.text; + const x = v.style; + if (x?.family === void 0 && x?.weight === void 0 && x?.italic === void 0) { + P.push(nd), k.push({ ...VA(m, E, f(m, E)), text: v.text }); continue; } - const b = { - family: O.family ?? x.family, - weight: O.weight ?? x.weight, - italic: O.italic ?? x.italic + const y = { + family: x.family ?? E.family, + weight: x.weight ?? E.weight, + italic: x.italic ?? E.italic }; - S.push(Zu(b)), P.push({ text: w.text, ...b }); - } - const A = JSON.stringify({ body: P[0], faces: [...new Set(S)].sort() }); - return { body: x, runs: P, faces: S, text: k, key: A }; - }, p = async (g) => { - const m = o(), M = t.model().byId[g], x = m && M && d(M); - if (!m || !M || !x) return; - const { body: S, runs: P, faces: k, text: A, key: y } = x, w = Ct(M) ?? void 0; - g === s && (i = { id: g, codePoints: new Set(CA(A)) }), a.get(g)?.abort(); - const O = new AbortController(); - a.set(g, O); + P.push(td(y)), k.push({ text: v.text, ...y }); + } + const w = JSON.stringify({ body: k[0], faces: [...new Set(P)].sort() }); + return { body: E, runs: k, faces: P, text: A, key: w }; + }, p = async (h) => { + const m = o(), O = t.model().byId[h], E = m && O && d(O); + if (!m || !O || !E) return; + const { body: P, runs: k, faces: A, text: w, key: b } = E, v = Nt(O) ?? void 0; + h === s && (a = { id: h, codePoints: new Set(HA(w)) }), i.get(h)?.abort(); + const x = new AbortController(); + i.set(h, x); try { await m.ensureLoaded(); - const b = await m.resolve( - { ...w ? { annotation: w } : {}, runs: P }, - { signal: O.signal } + const y = await m.resolve( + { ...v ? { annotation: v } : {}, runs: k }, + { signal: x.signal } ); - if (a.get(g) !== O) return; - a.delete(g); - const v = /* @__PURE__ */ new Map(); - b.runs.forEach((E, I) => { - const T = k[I]; - v.has(T) || v.set(T, E); - }), v.has(Zu(S)) || v.set(Zu(S), v.get(Ju)), r.set(g, { faces: y, record: M, byFace: v }), l++, e.notify(); + if (i.get(h) !== x) return; + i.delete(h); + const M = /* @__PURE__ */ new Map(); + y.runs.forEach((S, C) => { + const N = A[C]; + M.has(N) || M.set(N, S); + }), M.has(td(P)) || M.set(td(P), M.get(nd)), r.set(h, { faces: b, record: O, byFace: M }), l++, e.notify(); } catch { } - }, h = (g) => { + }, g = (h) => { let m = !1; - for (const [M, x] of r) { - const S = g.byId[M]; - if (S === x.record) continue; - const P = S && d(S); - if (P && P.key === x.faces) { - r.set(M, { ...x, record: S }); + for (const [O, E] of r) { + const P = h.byId[O]; + if (P === E.record) continue; + const k = P && d(P); + if (k && k.key === E.faces) { + r.set(O, { ...E, record: P }); continue; } - r.delete(M), m = !0, P && p(M); + r.delete(O), m = !0, k && p(O); } m && (l++, e.notify()); }; - return e.watch(t.model, h), e.state.onChange(() => { - const g = t.model().editing; - g !== s && (s = g, c(), i = null, g !== null && p(g)); + return e.watch(t.model, g), e.state.onChange(() => { + const h = t.model().editing; + h !== s && (s = h, c(), a = null, h !== null && p(h)); }), { - bodyCss: (g, m, M) => { - const x = o(), S = f(m, M); - if (!x) - return Pa( - S ? xi(m.fontFamily) : Kr(M) + bodyCss: (h, m, O) => { + const E = o(), P = f(m, O); + if (!E) + return Si( + P ? Sa(m.fontFamily) : qr(O) ); - const P = r.get(g)?.byFace.get(Ju); - return P ? x.getRunCss(P) : S ? x.getFontCss(m.fontFamily) : x.getFaceCss(M); + const k = r.get(h)?.byFace.get(nd); + return k ? E.getRunCss(k) : P ? E.getFontCss(m.fontFamily) : E.getFaceCss(O); }, - faceCss: (g, m) => { - const M = o(); - if (!M) return Pa(Kr(m)); - const x = g !== null ? r.get(g)?.byFace.get(Zu(m)) : void 0; - return x ? M.getRunCss(x) : M.getFaceCss(m); + faceCss: (h, m) => { + const O = o(); + if (!O) return Si(qr(m)); + const E = h !== null ? r.get(h)?.byFace.get(td(m)) : void 0; + return E ? O.getRunCss(E) : O.getFaceCss(m); }, - familyOfCss: (g) => { - const m = o()?.getFaceOfCssFamily(g); + familyOfCss: (h) => { + const m = o()?.getFaceOfCssFamily(h); if (m) return m.family; - const M = Al(g); - return M && Lo[M].family; + const O = Al(h); + return O && Ro[O].family; }, version: () => { - const g = o(), m = g?.getFontList() ?? null, M = g?.getPaintFontsEpoch() ?? 0; - return (u.list !== m || u.answered !== l || u.epoch !== M) && (u = { list: m, answered: l, epoch: M }), u; + const h = o(), m = h?.getFontList() ?? null, O = h?.getPaintFontsEpoch() ?? 0; + return (u.list !== m || u.answered !== l || u.epoch !== O) && (u = { list: m, answered: l, epoch: O }), u; }, - typed: (g) => { - if (s !== g) return; - const m = t.model().byId[g]; + typed: (h) => { + if (s !== h) return; + const m = t.model().byId[h]; if (!m) return; - const M = fs(m.annotation, n).paragraphs.flatMap((S) => S.runs.map((P) => P.text)).join(""), x = i?.id === g ? i.codePoints : null; - x && CA(M).every((S) => x.has(S)) || (c(), c = e.clock.after(vQ, () => void p(g))); + const O = ps(m.annotation, n).paragraphs.flatMap((P) => P.runs.map((k) => k.text)).join(""), E = a?.id === h ? a.codePoints : null; + E && HA(O).every((P) => E.has(P)) || (c(), c = e.clock.after(jX, () => void p(h))); } }; } -function IA(e, t, n) { +function VA(e, t, n) { return n ? { text: "", fontFamily: e.fontFamily } : { text: "", family: t.family, weight: t.weight, italic: t.italic }; } -function xQ(e) { - const t = [], n = (s) => t.find((i) => i.matches(s) && i.engaged(s)); +function DX(e) { + const t = [], n = (s) => t.find((a) => a.matches(s) && a.engaged(s)); return { engagedIdsOn: (s) => { if (!t.length) return; - const i = e.model(); - let a; - for (const c of i.order) { - const l = i.byId[c]; - !l || l.annotation.page.objectNumber !== s || n(l.annotation) && (a ?? (a = /* @__PURE__ */ new Set())).add(c); + const a = e.model(); + let i; + for (const c of a.order) { + const l = a.byId[c]; + !l || l.annotation.page.objectNumber !== s || n(l.annotation) && (i ?? (i = /* @__PURE__ */ new Set())).add(c); } - return a; + return i; }, api: { registerBehavior: (s) => (t.push(s), () => { - const i = t.indexOf(s); - i >= 0 && t.splice(i, 1); + const a = t.indexOf(s); + a >= 0 && t.splice(a, 1); }), getBehaviorFor: (s) => n(s) ?? null, pruneEngagedSelection: () => { - const s = e.model(), i = s.selected.filter((a) => { - const c = s.byId[a]; + const s = e.model(), a = s.selected.filter((i) => { + const c = s.byId[i]; return !!c && !!n(c.annotation); }); - i.length && e.commit({ type: "deselect", ids: i }); + a.length && e.commit({ type: "deselect", ids: a }); } } }; } -function AQ(e, t, n, o) { - const r = [...t], s = Fx(r); - for (const x of s.values()) - x.defaults && n.commit({ type: "setDefaults", preset: x.preset, patch: x.defaults }); - const i = (x) => s.get(x), a = () => [...s.values()], c = () => { - const x = e.tryGet(Ot); - return x ? s.get(x.getActiveToolId()) : void 0; - }, l = (x) => x && c()?.upright ? D0(x) : 0, u = /* @__PURE__ */ new Map(), f = (x) => { - const S = s.get(x), P = S?.subtype ?? x, k = In(n.model(), S?.preset ?? x), A = u.get(x); - if (A?.own === k) return A; - const y = o3(P, k), { subtype: w, ...O } = y, b = cb(Fd(S?.fieldsKind ?? x)), v = ki(y), E = y.subtype === "link" ? y.target ?? null : null, I = { - own: k, - defaults: O, +function $X(e, t, n, o) { + const r = DU(t); + for (const P of r.values()) + P.defaults && n.commit({ type: "setDefaults", preset: P.preset, patch: P.defaults }); + const s = (P) => r.get(P), a = () => [...r.values()], i = () => { + const P = e.tryGet(_t); + return P ? r.get(P.getActiveToolId()) : void 0; + }, c = (P) => P && i()?.upright ? Z0(P) : 0, l = /* @__PURE__ */ new Map(), u = (P) => { + const k = r.get(P), A = k?.subtype ?? P, w = Nn(n.model(), k?.preset ?? P), b = l.get(P); + if (b?.own === w) return b; + const v = jI(A, w), { subtype: x, ...y } = v, M = bb(Bd(k?.fieldsKind ?? P)), S = Aa(v), C = v.subtype === "link" ? v.target ?? null : null, N = { + own: w, + defaults: y, properties: { - properties: b, - values: R3(b, { data: O, text: v, link: E }), + properties: M, + values: h3(M, { data: y, text: S, link: C }), mixed: [] } }; - return u.set(x, I), I; - }, d = (x, S) => { - const P = f(x).own; - Object.entries(S).some( - ([A, y]) => JSON.stringify(P[A]) !== JSON.stringify(y) + return l.set(P, N), N; + }, f = (P, k) => { + const A = u(P).own; + Object.entries(k).some( + ([b, v]) => JSON.stringify(A[b]) !== JSON.stringify(v) ) && (n.commit({ type: "setDefaults", - preset: s.get(x)?.preset ?? x, - patch: S - }), o.toolDefaultsChanged.emit({ toolId: x, defaults: f(x).defaults })); - }, p = /* @__PURE__ */ new WeakMap(), h = (x) => { - let S = p.get(x); - return S || (S = { - id: x.id, - subtype: x.subtype, - preset: x.preset, - cursor: x.cursor, - enables: [...x.enables], - ...x.defaults ? { defaults: x.defaults } : {}, - ghost: x.ghost, - ...x.meta ? { meta: x.meta } : {} - }, p.set(x, S)), S; - }, m = { - list: () => a().map(h), - get: (x) => { - const S = s.get(x); - return S ? h(S) : null; - }, - register: (x) => { - const S = Fx([...r, x]).get(x.id); - if (!S) throw new Error(`[annotation] could not resolve tool '${x.id}'`); - s.set(S.id, S); - const P = e.tryGet(Ot)?.registerTool( - { - id: S.id, - cursor: S.cursor, - enables: S.enables, - touch: wE(S.enables) - }, - { replace: !0 } - ); - return S.defaults && n.commit({ type: "setDefaults", preset: S.preset, patch: S.defaults }), () => { - s.delete(S.id), P?.(); + preset: r.get(P)?.preset ?? P, + patch: k + }), o.toolDefaultsChanged.emit({ toolId: P, defaults: u(P).defaults })); + }, d = /* @__PURE__ */ new WeakMap(), p = (P) => { + let k = d.get(P); + return k || (k = { + id: P.id, + subtype: P.subtype, + preset: P.preset, + cursor: P.cursor, + enables: [...P.enables], + ...P.defaults ? { defaults: P.defaults } : {}, + ghost: P.ghost, + ...P.meta ? { meta: P.meta } : {} + }, d.set(P, k)), k; + }, g = (P) => { + const { id: k, cursor: A, enables: w } = P, b = { id: k, cursor: A, enables: w, touch: XE(w) }; + return e.tryGet(_t)?.registerTool(b, { replace: !0 }); + }, h = /* @__PURE__ */ new Map(), O = { + list: () => a().map(p), + get: (P) => { + const k = r.get(P); + return k ? p(k) : null; + }, + register: (P) => { + const k = r.get(P.id), A = ZE(r, P), w = g(A); + A.defaults && n.commit({ type: "setDefaults", preset: A.preset, patch: A.defaults }); + const b = { replaced: k }; + return h.set(A.id, [...h.get(A.id) ?? [], b]), () => { + const v = h.get(A.id) ?? [], x = v.indexOf(b); + if (x < 0) return; + const y = v.filter((C) => C !== b); + y.length ? h.set(A.id, y) : h.delete(A.id); + const M = v[x + 1]; + if (M) { + M.replaced = b.replaced; + return; + } + const S = b.replaced; + if (!S) { + r.delete(A.id), w?.(); + return; + } + r.set(S.id, S), g(S), n.commit({ + type: "replaceDefaults", + preset: S.preset, + defaults: S.defaults ?? {} + }); }; }, - getDefaults: (x) => f(x).defaults, - updateDefaults: d, - getProperties: (x) => f(x).properties, + getDefaults: (P) => u(P).defaults, + updateDefaults: f, + getProperties: (P) => u(P).properties, onDefaultsChanged: o.toolDefaultsChanged.on }; - return { get: i, values: a, activeTool: c, uprightRotFor: l, tools: m, api: { + return { get: s, values: a, activeTool: i, uprightRotFor: c, tools: O, api: { listResolvedTools: () => a(), - getResolvedTool: (x) => s.get(x) ?? null, - getToolSubtype: (x) => s.get(x)?.subtype ?? x + getResolvedTool: (P) => r.get(P) ?? null, + getToolSubtype: (P) => r.get(P)?.subtype ?? P } }; } -const SQ = (e) => e.effects.flatMap((t) => t.type === "create" ? [t.id] : []); -function PQ(e, { settings: t, tools: n, store: o }) { +const BX = (e) => e.effects.flatMap((t) => t.type === "create" ? [t.id] : []); +function zX(e, { settings: t, tools: n, store: o }) { const r = (c) => ({ ...t.get().afterCreate, ...c ? n.get(c)?.afterCreate : void 0 }); return { shape: (c) => (l) => { - const u = SQ(l); + const u = BX(l); if (!u.length) return l; const f = r(c); let d = l.session; @@ -37692,43 +38491,44 @@ function PQ(e, { settings: t, tools: n, store: o }) { const p = d.editing !== null && u.includes(d.editing); return !f.select && !p && (d = { ...d, selected: [] }), d === l.session ? l : { ...l, session: d }; }, done: (c, l) => { - l.effects.some((u) => u.type === "create") && r(c).tool === "default" && e.tryGet(Ot)?.activateDefaultTool(); + l.effects.some((u) => u.type === "create") && r(c).tool === "default" && e.tryGet(_t)?.activateDefaultTool(); }, placed: (c, l) => { - r(c).select && o.commit({ type: "select", ids: [...l] }), r(c).tool === "default" && e.tryGet(Ot)?.activateDefaultTool(); + r(c).select && o.commit({ type: "select", ids: [...l] }), r(c).tool === "default" && e.tryGet(_t)?.activateDefaultTool(); } }; } -function OQ(e) { - const t = e.settings(), n = QY(e), o = CY(e), r = dQ(e, n), s = JY(() => e.notify()), i = VY(e, r, s), a = wQ(e, i, r, n, s), c = AQ(e, t.get().tools, a, n), l = MQ(e); +function WX(e) { + const t = e.settings(), n = fX(e), o = KQ(e), r = PX(e, n), s = gX(() => e.notify()), a = cX(e, r, s), i = dX(r), c = LX(e, a, r, n, s, i), l = $X(e, t.get().tools, c, n), u = UX(e); return { settings: t, events: n, records: r, - view: i, + view: a, lending: s, - store: a, + copySources: i, + store: c, geometry: o, - authority: KY(e, a), - filePicker: XY(e), - fonts: l, - textFonts: kQ(e, a, l), - tools: c, - behaviors: xQ(a), - afterCreate: PQ(e, { settings: t, tools: c, store: a }) + authority: sX(e, c), + filePicker: pX(e), + fonts: u, + textFonts: FX(e, c, u), + tools: l, + behaviors: DX(c), + afterCreate: zX(e, { settings: t, tools: l, store: c }) }; } -function MQ(e) { +function UX(e) { let t = null; return () => { - const n = e.tryGet(Er)?.getFontList(); - if (!n) return dl(e.engine) ? e.engine.fonts.list() : []; + const n = e.tryGet(Ir)?.getFontList(); + if (!n) return ul(e.engine) ? e.engine.fonts.list() : []; if (t?.list !== n) { - const o = n.fonts.filter((r) => r.source !== "standard").map(({ name: r, familyName: s, weight: i, italic: a }) => ({ key: r, familyName: s, weight: i, italic: a })); + const o = n.fonts.filter((r) => r.source !== "standard").map(({ name: r, familyName: s, weight: a, italic: i }) => ({ key: r, familyName: s, weight: a, italic: i })); t = { list: n, fonts: o }; } return t.fonts; }; } -function EQ(e) { +function KX(e) { return { created: (t, n) => e.created.emit({ annotation: t, origin: n }), updated: (t, n) => e.updated.emit({ annotation: t, origin: n }), @@ -37736,7 +38536,7 @@ function EQ(e) { reordered: (t, n, o) => e.reordered.emit({ page: t, order: n, origin: o }) }; } -function CQ(e, { events: t }, n) { +function qX(e, { events: t }, n) { t.recordsChanged.on((r) => o(r)); function o(r) { if (r.cause === "load") { @@ -37745,43 +38545,43 @@ function CQ(e, { events: t }, n) { } const s = r.event; if (!s || !("origin" in s)) return; - const { origin: i } = s, a = i.kind === "remote"; + const { origin: a } = s, i = a.kind === "remote"; switch (s.type) { case "annotations.created": { - const { annotation: c } = s, l = ie(c.ref); - e.state.update(a ? wA : I3, [l]), n.created(c, i); + const { annotation: c } = s, l = Y(c.ref); + e.state.update(i ? RA : u3, [l]), n.created(c, a); return; } case "annotations.updated": - a && e.state.update(wA, [ie(s.annotation.ref)]), n.updated(s.annotation, i); + i && e.state.update(RA, [Y(s.annotation.ref)]), n.updated(s.annotation, a); return; case "annotations.deleted": - n.deleted(s.deleted, s.page, i); + n.deleted(s.deleted, s.page, a); return; case "annotations.reordered": - n.reordered(s.page, s.order, i); + n.reordered(s.page, s.order, a); return; default: return; } } } -const IQ = { width: 20, height: 20 }, zf = (e) => e === "text" || e === "file-attachment", Dd = (e, t) => ({ ...Ro(e, t.subtype, t.preset), ...t.flags }); -function D3(e, t, n, o) { - const r = Ut({ annotation: e }), s = { +const HX = { width: 20, height: 20 }, Wf = (e) => e === "text" || e === "file-attachment", zd = (e, t) => ({ ...To(e, t.subtype, t.preset), ...t.flags }); +function b3(e, t, n, o) { + const r = Gt({ annotation: e }), s = { kind: "box", - box: { x: 0, y: 0, ...IQ }, + box: { x: 0, y: 0, ...HX }, rotation: 0, ellipse: !1 - }, { box: i, rotation: a } = Xo(s, r, o), c = { + }, { box: a, rotation: i } = Zo(s, r, o), c = { kind: "box", - box: $0(t, { width: i.width, height: i.height }, n, a), - rotation: a, + box: J0(t, { width: a.width, height: a.height }, n, i), + rotation: i, ellipse: !1 }; - return { shown: c, rect: rw(c, r, o).box }; + return { shown: c, rect: yw(c, r, o).box }; } -function _Q(e, t, n, o, r) { +function VX(e, t, n, o, r) { const s = { ...n, ...t, ...o }; if (e === "text") return { data: { ...s, subtype: "text" } }; if (!r) @@ -37790,12 +38590,12 @@ function _Q(e, t, n, o, r) { data: { ...s, subtype: "file-attachment", - file: NQ(r) + file: GX(r) }, resources: { file: r.data instanceof ArrayBuffer ? new Uint8Array(r.data) : r.data } }; } -function NQ(e) { +function GX(e) { const t = typeof Blob < "u" && e.data instanceof Blob ? e.data : null, n = e.name ?? t?.name; if (!n) throw new Error("[annotation] an attached file needs a name: pass { data, name } or a File"); @@ -37806,196 +38606,249 @@ function NQ(e) { ...e.description !== void 0 ? { description: e.description } : {} }; } -const TQ = "tool-ghost", RQ = "tool-placing"; -function _A(e, t) { - return t && ca("box", t.from, t.to) ? !1 : e ? e.kind === "create-rect" ? !ca("box", e.from, e.to) : e.kind === "create-line" ? !ca("segment", e.from, e.to) : !1 : !0; +const YX = "tool-ghost", QX = "tool-placing"; +function GA(e, t) { + return t && ci("box", t.from, t.to) ? !1 : e ? e.kind === "create-rect" ? !ci("box", e.from, e.to) : e.kind === "create-line" ? !ci("segment", e.from, e.to) : !1 : !0; } -function LQ(e, { store: t, geometry: n, tools: o }, r) { +function XX(e, { store: t, geometry: n, tools: o }, r) { const s = () => { - e.state.update(fb, null); - }, i = (p) => r.armed() !== null || zf(p.subtype) || p.clickCreate !== !1, a = (p, h, g, m, M) => { - const x = o.get(p); - if (!x || x.ghost === !1 || !i(x) || !n.sizeOf(h.objectNumber)) { + e.state.update(kb, null); + }, a = (p) => r.armed() !== null || Wf(p.subtype) || p.clickCreate !== !1, i = (p, g, h, m, O) => { + const E = o.get(p); + if (!E || E.ghost === !1 || !a(E) || !n.sizeOf(g.objectNumber)) { s(); return; } - const S = { + const P = { toolId: p, - page: h, - point: g, + page: g, + point: h, ...m !== void 0 ? { displayRotation: m } : {}, - ...M !== void 0 ? { zoom: M } : {} + ...O !== void 0 ? { zoom: O } : {} }; - e.state.update(fb, S); - }, c = (p, h, g) => { - const m = h.page.objectNumber, M = n.sizeOf(m); - if (!M) return null; - const x = Dd(g, p); - if (zf(p.subtype)) { - const P = Bs(h.zoom, h.displayRotation), { rect: k } = D3(x, h.point, M, P); - return Yc(x, { kind: "box", rect: k, rot: 0 }); + e.state.update(kb, P); + }, c = (p, g, h) => { + const m = g.page.objectNumber, O = n.sizeOf(m); + if (!O) return null; + const E = zd(h, p); + if (Wf(p.subtype)) { + const k = Bs(g.zoom, g.displayRotation), { rect: A } = b3(E, g.point, O, k); + return Gc(E, { kind: "box", rect: A, rot: 0 }); } if (!p.clickCreate) return null; - const S = t3(h.point, p.clickCreate, { + const P = RI(g.point, p.clickCreate, { pageBox: n.pageBoxOf(m), upright: p.upright, - displayRotation: h.displayRotation + displayRotation: g.displayRotation }); - return Yc(x, S); - }, l = (p, h, g) => { - const { ghostAt: m, placing: M } = e.state.get(), x = [], S = m && o.get(m.toolId); - if (m?.page.objectNumber === p && S?.ghost && r.armed() === null && _A(h.draft, M)) { - const k = c(S, m, h); - k && x.push({ - ...ub(TQ, Dd(h, S), k, "ghost", g), - ghostOpacity: S.ghost.opacity + return Gc(E, P); + }, l = (p, g, h) => { + const { ghostAt: m, placing: O } = e.state.get(), E = [], P = m && o.get(m.toolId); + if (m?.page.objectNumber === p && P?.ghost && r.armed() === null && GA(g.draft, O)) { + const A = c(P, m, g); + A && E.push({ + ...wb(YX, zd(g, P), A, "ghost", h), + ghostOpacity: P.ghost.opacity }); } - const P = M && o.get(M.toolId); - if (M?.page.objectNumber === p && P && ca("box", M.from, M.to)) { - const k = Xp("box", M.from, M.to, P.clickCreate, { + const k = O && o.get(O.toolId); + if (O?.page.objectNumber === p && k && ci("box", O.from, O.to)) { + const A = nh("box", O.from, O.to, k.clickCreate, { pageBox: n.pageBoxOf(p) - }), A = Dd(h, P), y = k && Yc(A, k); - y && x.push(ub(RQ, A, y, "draft", g)); + }), w = zd(g, k), b = A && Gc(w, A); + b && E.push(wb(QX, w, b, "draft", h)); } - return x; + return E; }; let u = null; return { itemsOn: l, api: { - hoverGhostAt: a, + hoverGhostAt: i, clearGhost: s, - previewPlacement: (p, h, g, m) => { - e.state.update(vA, { toolId: p, page: h, from: g, to: m }); + previewPlacement: (p, g, h, m) => { + e.state.update(LA, { toolId: p, page: g, from: h, to: m }); }, clearPlacementPreview: () => { - e.state.update(vA, null); + e.state.update(LA, null); }, getImageGhost: (p) => { - const { ghostAt: h, placing: g } = e.state.get(), m = r.armed(); - if (!h || !m || h.page.objectNumber !== p.objectNumber || !_A(t.model().draft, g)) return null; - if (u?.ghostAt !== h || u.armed !== m) { - const M = o.get(h.toolId), x = n.sizeOf(p.objectNumber), S = o.uprightRotFor(h.displayRotation), P = M?.ghost && x ? { + const { ghostAt: g, placing: h } = e.state.get(), m = r.armed(); + if (!g || !m || g.page.objectNumber !== p.objectNumber || !GA(t.model().draft, h)) return null; + if (u?.ghostAt !== g || u.armed !== m) { + const O = o.get(g.toolId), E = n.sizeOf(p.objectNumber), P = o.uprightRotFor(g.displayRotation), k = O?.ghost && E ? { page: p, - box: $0(h.point, m, x, S), - rot: S, - opacity: M.ghost.opacity + box: J0(g.point, m, E, P), + rot: P, + opacity: O.ghost.opacity } : null; - u = { ghostAt: h, armed: m, value: P }; + u = { ghostAt: g, armed: m, value: k }; } return u.value; } } }; } -function jQ(e, { store: t, tools: n, records: o }, r, s) { - const i = (M) => { - const x = r.get(M); - if (!x) - throw new Z("not-found", "annotation", `no annotation ${ie(M)}`); - return { annotation: x }; - }, a = (M, x) => { - const S = n.get(x); - if (!S) throw new Z("not-found", "annotation", `no tool '${x}'`); - const P = Fa[M.subtype], k = Object.entries(In(t.model(), S.preset)).filter( - ([A]) => A !== "richText" && P.includes(A) +function ZX(e, { + store: t, + tools: n, + records: o, + lending: r +}, s, a) { + const i = (P) => { + const k = s.get(P); + if (!k) + throw new te("not-found", "annotation", `no annotation ${Y(P)}`); + return { annotation: k }; + }, c = (P, k) => { + const A = n.get(k); + if (!A) throw new te("not-found", "annotation", `no tool '${k}'`); + const w = ji[P.subtype], b = Object.entries(Nn(t.model(), A.preset)).filter( + ([v]) => v !== "richText" && w.includes(v) ); - return { ...S.flags, ...Object.fromEntries(k), ...M }; - }, c = async (M, x, S, P = {}) => { + return { ...A.flags, ...Object.fromEntries(b), ...P }; + }, l = async (P, k, A, w = {}) => { e.assertAllowed("annotations:create", "annotation.create"); - const { ref: k } = e.pageOf(M); - if (x.subtype === "unsupported") - throw new Z( + const { ref: b } = e.pageOf(P); + if (k.subtype === "unsupported") + throw new te( "invalid-input", "annotation", "a kind the engine doesn't know can't be created" ); - const A = x, y = P.tool ? a(A, P.tool) : A, w = await t.applyWhenNumbered( - [{ type: "create", page: k, draft: y, ...S ? { resources: S } : {} }], - { select: P.select } - ), O = await e.cancellable(P.signal, Ea(w)); - if (!O) - throw new Z( + const v = k, x = w.tool ? c(v, w.tool) : v, y = await t.applyWhenNumbered( + [{ type: "create", page: b, draft: x, ...A ? { resources: A } : {} }], + { select: w.select } + ), M = await e.cancellable(w.signal, Mi(y)); + if (!M) + throw new te( "operation-failed", "annotation", "the annotation could not be created" ); - return { annotation: O }; - }, l = async (M, x, S, P = {}) => { - const k = await e.cancellable( - P.signal, - Ea( - t.apply([{ type: "update", ref: M, patch: x, ...S ? { resources: S } : {} }]) + return { annotation: M }; + }, u = async (P, k, A, w = {}) => { + const b = await e.cancellable( + w.signal, + Mi( + t.apply([{ type: "update", ref: P, patch: k, ...A ? { resources: A } : {} }]) ) ); - return k ? { annotation: k } : i(M); - }, u = async (M, x = {}) => { - await e.cancellable(x.signal, ps(t.apply([{ type: "delete", ref: M }]))); - }, f = async (M, x, S = {}) => { - if (!M.length) return; - const P = t.model(), k = (v) => { - const E = P.byId[ie(v)]; - if (!E) - throw new Z("not-found", "annotation", `no annotation ${ie(v)}`); - return E; - }, A = M.map(k), y = sp(x), w = y ? k(y) : null, O = A[0].annotation.page, b = (v) => v.annotation.page.objectNumber !== O.objectNumber; - if (A.some(b) || w && b(w)) - throw new Z( + return b ? { annotation: b } : i(P); + }, f = async (P, k = {}) => { + await e.cancellable(k.signal, xr(t.apply([{ type: "delete", ref: P }]))); + }, d = async (P, k, A = {}) => { + if (!P.length) return; + const w = t.model(), b = (C) => { + const N = w.byId[Y(C)]; + if (!N) + throw new te("not-found", "annotation", `no annotation ${Y(C)}`); + return N; + }, v = P.map(b), x = lp(k), y = x ? b(x) : null, M = v[0].annotation.page, S = (C) => C.annotation.page.objectNumber !== M.objectNumber; + if (v.some(S) || y && S(y)) + throw new te( "invalid-input", "annotation", "a reorder stays on one page: the annotations and their neighbour" ); await e.cancellable( - S.signal, - ps( + A.signal, + xr( t.apply([ { type: "reorder", - page: O, - refs: A.map((v) => v.annotation.ref), - position: x + page: M, + refs: v.map((C) => C.annotation.ref), + position: k } ]) ) ); - }, d = (M) => M?.map((x) => e.pageOf(x).ref); - return { update: l, api: { - create: c, - update: l, - delete: u, - reorder: f, - export: async (M = {}, x = {}) => { + }, p = async (P, k = {}, A = []) => { + if ((P.length || !A.length) && e.assertAllowed("annotations:create", "annotation.duplicate"), !P.length && !A.length) return { annotations: [], dropped: [] }; + const w = k.page === void 0 ? void 0 : e.pageOf(k.page).ref, b = { + ...w ? { page: w } : {}, + ...k.offset ? { offset: k.offset } : {} + }, v = A.length ? r.lender() : null, x = v ? await v.copyOps(A, b) : null, y = t.model(), M = new Set(P.map(Y)), S = P.flatMap( + (D) => Pl(y, Y(D)).map((F) => F.annotation.ref).filter((F) => !M.has(Y(F))) + ), C = x?.copies.map(Y) ?? [], N = await t.applyWhenNumbered( + P.length ? [{ type: "copy", refs: P, ...S.length ? { along: S } : {}, ...b }] : [], + { + select: k.select, + ...x ? { + lent: { ops: x.ops, ids: C }, + label: { + key: P.length ? "annotation.duplicate" : `${v.owner}.duplicate`, + count: P.length + C.length + } + } : {} + } + ), T = (await e.cancellable(k.signal, xr(N))).result?.items ?? [], $ = T.find((D) => D.type === "annotations.copy"); + if (P.length && $?.type !== "annotations.copy") + throw new te( + "operation-failed", + "annotation", + "the annotations could not be copied" + ); + const j = new Set(N.ids), z = $?.type === "annotations.copy" ? $.annotations.filter((D) => j.has(Y(D.ref))) : [], L = /* @__PURE__ */ new Map(); + for (const D of T) { + const F = D.type === "forms.copy" || D.type === "forms.addWidget" ? D.widgets : D.type === "forms.updateWidget" ? [D.widget] : []; + for (const B of F) L.set(Y(B.ref), B); + } + return { + annotations: [...z, ...C.flatMap((D) => L.get(D) ?? [])], + dropped: $?.type === "annotations.copy" ? $.dropped : [] + }; + }, g = (P) => P?.map((k) => e.pageOf(k).ref); + return { update: u, duplicate: p, api: { + create: l, + update: u, + delete: f, + reorder: d, + duplicate: p, + export: async (P = {}, k = {}) => { e.assertAllowed("doc.download", "annotation.export"); - const S = d(M.pages); - return await e.cancellable(x.signal, s()), e.cancellable( - x.signal, + const A = g(P.pages); + return await e.cancellable(k.signal, a()), e.cancellable( + k.signal, e.doc.annotations.export({ - ...M.refs ? { refs: M.refs } : {}, - ...S ? { pages: S } : {} + ...P.refs ? { refs: P.refs } : {}, + ...A ? { pages: A } : {} }) ); }, - import: async (M, x = {}) => { + import: async (P, k = {}) => { e.assertAllowed("annotations:create", "annotation.import"); - const { signal: S, ...P } = x, k = await e.cancellable(S, e.doc.annotations.import(M, P)); - return await o.settled(), { annotations: k.annotations, refMap: k.refMap, dropped: k.dropped }; + const { signal: A, history: w, ...b } = k, v = e.changes.stage({ + label: { key: "annotation.import" }, + opId: b.opId, + history: w, + send: (M, { opId: S }) => e.cancellable(A, M.annotations.import(P, { ...b, opId: S })).then((C) => ({ + items: [{ type: "annotations.import", ...C }], + meta: C.meta + })) + }), { items: x } = await v.result, y = x[0]; + return await o.settled(), { + annotations: y.annotations, + refMap: y.refMap, + dropped: y.dropped + }; }, - downloadResource: async (M, x, S = {}) => (e.assertAllowed("doc.download", "annotation.downloadResource"), i(M), e.cancellable( - S.signal, - e.doc.page(r.pageOf(M)).annotations.downloadResource(M, x) + downloadResource: async (P, k, A = {}) => (e.assertAllowed("doc.download", "annotation.downloadResource"), i(P), e.cancellable( + A.signal, + e.doc.page(s.pageOf(P)).annotations.downloadResource(P, k) )) } }; } -function FQ(e, { +function JX(e, { store: t, events: n, tools: o, afterCreate: r }, s) { - let i = null; - const a = () => { + let a = null; + const i = () => { const f = t.model(); - if (i && i.model === f) return i.v; - const d = x3(f); - return i = { model: f, v: d }, d; + if (a && a.model === f) return a.v; + const d = n3(f); + return a = { model: f, v: d }, d; }; t.onEffect("captured", (f) => { f.geometry.kind === "line" && n.draftCaptured.emit({ @@ -38006,16 +38859,16 @@ function FQ(e, { }); }); const l = { - get: () => a(), + get: () => i(), finish: async (f = {}) => { const d = t.model().draft; if (!d || !d.kind.startsWith("create-")) return null; - const p = o.activeTool()?.id, h = t.commit( + const p = o.activeTool()?.id, g = t.commit( { type: d.kind === "create-ink" ? "finishInkDraft" : "finishCreationDraft" }, { adjust: r.shape(p) } ); - if (r.done(p, h), !h.effects.some((M) => M.type === "create")) return null; - const g = await e.cancellable(f.signal, M3(h)), m = s.get(g); + if (r.done(p, g), !g.effects.some((O) => O.type === "create")) return null; + const h = await e.cancellable(f.signal, i3(g)), m = s.get(h); return m ? { annotation: m } : null; }, cancel: () => { @@ -38040,145 +38893,145 @@ function FQ(e, { }; return { draft: l, api: u }; } -function DQ(e, { +function eZ(e, { store: t, geometry: n, tools: o, filePicker: r, afterCreate: s -}, i) { - const a = (f, d, { data: p, resources: h }) => t.applyWhenNumbered([ - { type: "create", page: ut(d), draft: p, resources: h } - ]).then((g) => (s.placed(f.id, g.ids), ps(g))), c = (f, d, p, h, g) => { - const m = e.doc, M = n.sizeOf(d); - if (!m || !M || !zf(f.subtype)) return !1; - const { rect: x } = D3(Dd(t.model(), f), p, M, h), S = _Q( +}, a) { + const i = (f, d, { data: p, resources: g }) => t.applyWhenNumbered([ + { type: "create", page: dt(d), draft: p, resources: g } + ]).then((h) => (s.placed(f.id, h.ids), xr(h))), c = (f, d, p, g, h) => { + const m = e.doc, O = n.sizeOf(d); + if (!m || !O || !Wf(f.subtype)) return !1; + const { rect: E } = b3(zd(t.model(), f), p, O, g), P = VX( f.subtype, - { rect: x }, - In(t.model(), f.preset), + { rect: E }, + Nn(t.model(), f.preset), f.flags, - g + h ); - return a(f, d, S).catch( - (P) => console.error("[annotation] icon placement failed:", P) + return i(f, d, P).catch( + (k) => console.error("[annotation] icon placement failed:", k) ), !0; - }, l = (f, d, p, h) => { - if (i.placeArmedStamp(f, d, p)) return !0; - const g = o.activeTool(); - if (!g) return !1; - if (g.subtype === "stamp") - return i.requestStampAt(f, d, p); - if (!zf(g.subtype)) return !1; - const m = Bs(h, p); - return g.subtype === "text" ? c(g, f, d, m, null) : r.promptAt( - g, + }, l = (f, d, p, g) => { + if (a.placeArmedStamp(f, d, p)) return !0; + const h = o.activeTool(); + if (!h) return !1; + if (h.subtype === "stamp") + return a.requestStampAt(f, d, p); + if (!Wf(h.subtype)) return !1; + const m = Bs(g, p); + return h.subtype === "text" ? c(h, f, d, m, null) : r.promptAt( + h, f, d, - (M) => c(g, f, d, m, M) + (O) => c(h, f, d, m, O) ); }; return { api: { - placeAt: (f, d, p, h) => l(f.objectNumber, d, p, h), + placeAt: (f, d, p, g) => l(f.objectNumber, d, p, g), setFilePickerProvider: (f) => r.set(f) } }; } -function $Q(e, { store: t }) { - const n = (s, i, a) => { - const c = a.byId[s], l = Ct(c); - if (!c || !l || mt(c.annotation).name === "link") return []; - const u = W0(i), f = i == null ? [] : qq(gt(c.annotation), Wt(c.annotation)), d = jf(a, s), p = [], h = Math.min(d.length, f.length); - for (let g = 0; g < h; g++) +function tZ(e, { store: t }) { + const n = (s, a, i) => { + const c = i.byId[s], l = Nt(c); + if (!c || !l || yt(c.annotation).name === "link") return []; + const u = nw(a), f = a == null ? [] : aV(bt(c.annotation), Vt(c.annotation)), d = Pl(i, s), p = [], g = Math.min(d.length, f.length); + for (let h = 0; h < g; h++) p.push({ type: "update", - ref: d[g].annotation.ref, - patch: { subtype: "link", rect: f[g], ...u ? { target: u } : {} } + ref: d[h].annotation.ref, + patch: { subtype: "link", rect: f[h], ...u ? { target: u } : {} } }); - for (let g = d.length; g < f.length; g++) + for (let h = d.length; h < f.length; h++) p.push({ type: "create", page: c.annotation.page, draft: { subtype: "link", - rect: f[g], + rect: f[h], target: u, reply: { to: l, type: "group" } } }); - for (let g = f.length; g < d.length; g++) - p.push({ type: "delete", ref: d[g].annotation.ref }); + for (let h = f.length; h < d.length; h++) + p.push({ type: "delete", ref: d[h].annotation.ref }); return p; - }, o = async (s, i, a) => { - const c = n(ie(s), i, t.model()); - c.length && await e.cancellable(a.signal, t.applyWhenNumbered(c).then(ps)); + }, o = async (s, a, i) => { + const c = n(Y(s), a, t.model()); + c.length && await e.cancellable(i.signal, t.applyWhenNumbered(c).then(xr)); }; return t.onEffect( "syncLink", - (s, i) => n(s.id, s.target, i).map(PA) - ), t.onUpdate((s, i) => { - const a = ie(s.ref); - return jf(i, a).length ? n(a, ab(i, a), i).map(PA) : []; + (s, a) => n(s.id, s.target, a).map(zA) + ), t.onUpdate((s, a) => { + const i = Y(s.ref); + return Pl(a, i).length ? n(i, mb(a, i), a).map(zA) : []; }), { childChanges: n, api: { links: { get: (s) => { - const i = t.model(), a = i.byId[ie(s)]; - if (!a) return null; - const c = a.annotation; - return c.subtype === "link" ? c.target ?? null : ab(i, a.id); + const a = t.model(), i = a.byId[Y(s)]; + if (!i) return null; + const c = i.annotation; + return c.subtype === "link" ? c.target ?? null : mb(a, i.id); }, // Resolve once the engine answered: `get` reads the new value at once, // and still does then. - set: (s, i, a = {}) => o(s, i, a), - clear: (s, i = {}) => o(s, null, i) + set: (s, a, i = {}) => o(s, a, i), + clear: (s, a = {}) => o(s, null, a) } } }; } -const NA = (e) => { +const YA = (e) => { const t = e.selection; return t ? t.kind === "markup" ? { kind: "markup", subtype: e.subtype } : { kind: t.operation } : null; }; -function BQ(e, { +function nZ(e, { store: t, authority: n, tools: o, afterCreate: r }, s) { - const i = (f, d, p, h, g) => t.commit( + const a = (f, d, p, g, h) => t.commit( { type: "createMarkup", subtype: f, page: d, quads: p, - preset: h, - flags: h ? o.get(h)?.flags : void 0 + preset: g, + flags: g ? o.get(g)?.flags : void 0 }, - { adjust: g } - ), a = (f, d, p) => t.commit({ type: "createCaret", page: f, anchor: d }, { adjust: p }), c = (f, d, p, h, g) => t.commit({ type: "createReplaceText", page: f, quads: d, anchor: p, preset: h }, { adjust: g }), l = (f, d, p, h) => { - const g = d.end; + { adjust: h } + ), i = (f, d, p) => t.commit({ type: "createCaret", page: f, anchor: d }, { adjust: p }), c = (f, d, p, g, h) => t.commit({ type: "createReplaceText", page: f, quads: d, anchor: p, preset: g }, { adjust: h }), l = (f, d, p, g) => { + const h = d.end; if (f.kind === "insert") - return g ? [a(g.page, { glyphQuad: g.glyphQuad, advance: g.advance }, h)] : []; + return h ? [i(h.page, { glyphQuad: h.glyphQuad, advance: h.advance }, g)] : []; const m = []; - for (const M of d.pages) { - const x = M.segments[M.segments.length - 1]; - if (!x) continue; - const S = M.segments.map((k) => k.quad); + for (const O of d.pages) { + const E = O.segments[O.segments.length - 1]; + if (!E) continue; + const P = O.segments.map((A) => A.quad); if (f.kind === "markup") { - m.push(i(f.subtype, M.page, S, p, h)); + m.push(a(f.subtype, O.page, P, p, g)); continue; } - const P = g && pi(g.page, M.page) ? { glyphQuad: g.glyphQuad, advance: g.advance } : { glyphQuad: x.quad, advance: x.advance }; - m.push(c(M.page, S, P, p, h)); + const k = h && ga(h.page, O.page) ? { glyphQuad: h.glyphQuad, advance: h.advance } : { glyphQuad: E.quad, advance: E.advance }; + m.push(c(O.page, P, k, p, g)); } return m; }; return { api: { - createMarkup: (f, d, p, h) => { - n.canCreate() && i(f, d, p, h); + createMarkup: (f, d, p, g) => { + n.canCreate() && a(f, d, p, g); }, createCaret: (f, d) => { - n.canCreate() && a(f, d); + n.canCreate() && i(f, d); }, - createReplaceText: (f, d, p, h) => { - n.canCreate() && c(f, d, p, h); + createReplaceText: (f, d, p, g) => { + n.canCreate() && c(f, d, p, g); }, /** * Turn the text selection into what the tool makes of it, then clear the @@ -38186,18 +39039,18 @@ function BQ(e, { * selection, without create authority, or without a selection. */ applyToolToSelection: (f) => { - const d = o.get(f), p = d && NA(d); + const d = o.get(f), p = d && YA(d); if (!d || !p || !n.canCreate()) return !1; - const h = e.tryGet(wn); - if (!h || !h.hasSelection()) return !1; - const g = l( + const g = e.tryGet(Sn); + if (!g || !g.hasSelection()) return !1; + const h = l( p, - h.getSnapshot(), + g.getSnapshot(), d.preset, r.shape(d.id) ); - h.clear(); - for (const m of g) r.done(d.id, m); + g.clear(); + for (const m of h) r.done(d.id, m); return !0; }, previewMarkup: (f, d, p) => { @@ -38208,73 +39061,74 @@ function BQ(e, { }, createFromSelection: async (f, d = {}) => { e.assertAllowed("annotations:create", "annotation.createFromSelection"); - const p = o.get(f), h = p && NA(p); - if (!p || !h) - throw new Z( + const p = o.get(f), g = p && YA(p); + if (!p || !g) + throw new te( "not-found", "annotation", `no tool '${f}' that makes something of selected text` ); - const g = e.tryGet(wn); - if (!g || !g.hasSelection()) return { annotations: [] }; - const m = t.model(), M = (P) => ({ - ...P, - session: { ...P.session, selected: m.selected, editing: m.editing } - }), x = l( - h, - g.getSnapshot(), + const h = e.tryGet(Sn); + if (!h || !h.hasSelection()) return { annotations: [] }; + const m = t.model(), O = (k) => ({ + ...k, + session: { ...k.session, selected: m.selected, editing: m.editing } + }), E = l( + g, + h.getSnapshot(), p.preset, - M + O ); - return d.clear !== !1 && g.clear(), { + return d.clear !== !1 && h.clear(), { annotations: (await e.cancellable( d.signal, Promise.all( - x.filter((P) => P.effects.length).map((P) => M3(P)) + E.filter((k) => k.effects.length).map((k) => i3(k)) ) - )).map((P) => s.get(P)).filter((P) => P !== null) + )).map((k) => s.get(k)).filter((k) => k !== null) }; } } }; } -function zQ(e, { store: t, records: n }, o) { - const r = /* @__PURE__ */ new Map(); +function oZ(e, { store: t, records: n }) { + const o = /* @__PURE__ */ new Map(); return e.cleanup(() => { - r.clear(); - }), { viewportsOf: (i) => r.get(i), api: { - setPageViewports: (i, a, c) => { - r.set(i.objectNumber, { viewports: a, fallback: c }); + o.clear(); + }), { viewportsOf: (s) => o.get(s), api: { + setPageViewports: (s, a, i) => { + o.set(s.objectNumber, { viewports: a, fallback: i }); }, - remeasurePage: async (i, a) => { - const c = i.objectNumber; + whenRemeasurable: async () => { n.getStatus() !== "ready" && await n.refresh().catch(() => { }), await n.settled(); - const l = { page: i, scale: a, updated: [], skipped: [], failed: [] }; + }, + stageRemeasure: (s, a) => { + const i = { page: s, scale: a, updated: [], skipped: [], failed: [] }; if (n.getStatus() !== "ready") - return l.error = ba(new Error("the annotations of this document are not loaded")), l; - const u = t.model(), f = Object.values(n.get().byKey).flatMap(({ dto: d }) => { - const p = u.byId[ie(d.ref)]; - return p && d.page.objectNumber === c && va(d) ? [{ dto: d, annotation: p }] : []; - }); - for (const { dto: d, annotation: p } of f) { - const h = d.ref, g = p.authority?.update === !1 ? "no-authority" : !Wp(p) || !Up(p) ? "locked" : "measure" in d && d.measure && d.measure.subtype !== "rectilinear" ? "foreign-measure" : Da(gr({ ...d, measure: a })) ? null : "unavailable"; + return i.error = ap(new Error("the annotations of this document are not loaded")), i; + const c = t.model(), l = Object.values(n.get().byKey).flatMap(({ dto: f }) => { + const d = c.byId[Y(f.ref)]; + return d && f.page.objectNumber === s.objectNumber && wi(f) ? [{ dto: f, annotation: d }] : []; + }), u = []; + for (const { dto: f, annotation: d } of l) { + const p = f.ref, g = d.authority?.update === !1 ? "no-authority" : !Hp(d) || !Vp(d) ? "locked" : "measure" in f && f.measure && f.measure.subtype !== "rectilinear" ? "foreign-measure" : Fi(mr({ ...f, measure: a })) ? null : "unavailable"; if (g) { - l.skipped.push({ ref: h, reason: g }); + i.skipped.push({ ref: p, reason: g }); continue; } - try { - await o.update(h, { subtype: d.subtype, measure: a }), l.updated.push(h); - } catch (m) { - l.failed.push({ ref: h, error: ba(m) }); - } + u.push({ + type: "update", + ref: p, + patch: { subtype: f.subtype, measure: a } + }), i.updated.push(p); } - return l; + return u.length > 0 && t.apply(u), i; } } }; } -function WQ({ store: e }) { +function rZ({ store: e }) { e.onEffect("create", (t, n) => { - const o = Ct(n.byId[t.id]); + const o = Nt(n.byId[t.id]); if (o?.kind === "objectNumber") return [ { @@ -38285,99 +39139,99 @@ function WQ({ store: e }) { } ]; }), e.onEffect("patch", (t, n) => { - const o = Ct(n.byId[t.id]); + const o = Nt(n.byId[t.id]); return o ? [{ type: "annotations.update", ref: o, patch: t.patch }] : void 0; }), e.onEffect("delete", (t, n, o) => { - const r = Ct(o.byId[t.id]); + const r = Nt(o.byId[t.id]); return r ? [{ type: "annotations.delete", ref: r }] : void 0; }); } -function UQ(e, t) { - const n = a0(e.dispatch), o = (r) => { +function sZ(e, t) { + const n = v0(e.dispatch), o = (r) => { if (!r) return null; - const s = t(r), i = s ? Ct(s) : null; - if (!s || !i || s.unconfirmed) return null; - const a = mt(s.annotation).name; - if (a.startsWith("widget") || a === "link") return null; + const s = t(r), a = s ? Nt(s) : null; + if (!s || !a || s.unconfirmed) return null; + const i = yt(s.annotation).name; + if (i.startsWith("widget") || i === "link") return null; const c = !!s.annotation.actions?.cursorEnter?.root, l = !!s.annotation.actions?.cursorExit?.root; - return !c && !l ? null : { ref: i, page: s.annotation.page, events: { enter: c, exit: l } }; + return !c && !l ? null : { ref: a, page: s.annotation.page, events: { enter: c, exit: l } }; }; return { hover: (r) => n.hover(o(r)) }; } -function KQ(e, { +function aZ(e, { store: t, geometry: n, authority: o, tools: r, behaviors: s, - afterCreate: i -}, a, c) { - const l = e.tryGet(yn), u = l ? UQ(l, (d) => t.model().byId[d] ?? null) : null; + afterCreate: a +}, i, c) { + const l = e.tryGet(An), u = l ? sZ(l, (d) => t.model().byId[d] ?? null) : null; return { api: { - editPointer: (d, p, h, g, m, M, x, S) => { + editPointer: (d, p, g, h, m, O, E, P) => { t.commit({ type: "editPointer", phase: d, in: { page: p, - point: h, - shift: g, + point: g, + shift: h, pageBox: n.pageBoxOf(p.objectNumber), // Touch grabs with the same widened zones the claim used, so the // gesture picks up exactly what claimsTouchAt said it would. - chrome: a.chromeGeomAt(m, a.grabBoost(S)), + chrome: i.chromeGeomAt(m, i.grabBoost(P)), // Screen-pixel settings (the alignment threshold) convert by it. ...m ? { scale: m } : {}, inert: s.engagedIdsOn(p.objectNumber), // the view env (screen-anchored bodies hit/clamp at their footprint) - ...x != null ? { zoom: x } : {}, - ...M != null ? { displayRotation: M } : {} + ...E != null ? { zoom: E } : {}, + ...O != null ? { displayRotation: O } : {} } }); }, - marqueePointer: (d, p, h, g, m, M, x) => { + marqueePointer: (d, p, g, h, m, O, E) => { t.commit({ type: "marqueePointer", phase: d, in: { page: p, - point: h, - shift: g, + point: g, + shift: h, pageBox: n.pageBoxOf(p.objectNumber), inert: s.engagedIdsOn(p.objectNumber), - ...x != null ? { zoom: x } : {}, - ...M != null ? { displayRotation: M } : {} + ...E != null ? { zoom: E } : {}, + ...O != null ? { displayRotation: O } : {} } }); }, - createPointer: (d, p, h, g, m = !1, M) => { - const x = h.objectNumber, S = r.get(d); - if (S?.capture === !0 ? !e.doc?.security.allows("doc.annotate.modify") : !o.canCreate()) + createPointer: (d, p, g, h, m = !1, O) => { + const E = g.objectNumber, P = r.get(d); + if (P?.capture === !0 ? !e.doc?.security.allows("doc.annotate.modify") : !o.canCreate()) return; - const P = n.sizeOf(x) !== null, k = c.viewportsOf(x), A = t.model().draft, y = (A?.kind === "create-distance" || A?.kind === "create-poly") && A.page.objectNumber === x && A.preset === (S?.preset ?? d), w = S ? In(t.model(), S.preset) : {}, O = w.intent, b = S && va({ subtype: S.subtype, intent: O }); - if (b && p === "down" && !y && (!P || !k?.viewports)) + const k = n.sizeOf(E) !== null, A = c.viewportsOf(E), w = t.model().draft, b = (w?.kind === "create-distance" || w?.kind === "create-poly") && w.page.objectNumber === E && w.preset === (P?.preset ?? d), v = P ? Nn(t.model(), P.preset) : {}, x = v.intent, y = P && wi({ subtype: P.subtype, intent: x }); + if (y && p === "down" && !b && (!k || !A?.viewports)) return; - const v = P && k?.viewports ? gP(k.viewports, g) : void 0, E = v ? v.measure ?? null : k?.fallback, I = w.captionEnabled ?? !0, T = b && P && k ? O === "line-dimension" ? { - intent: O, - measure: E ?? null, - captionEnabled: I, - captionPosition: w.captionPosition ?? "inline", + const M = k && A?.viewports ? rO(A.viewports, h) : void 0, S = M ? M.measure ?? null : A?.fallback, C = v.captionEnabled ?? !0, N = y && k && A ? x === "line-dimension" ? { + intent: x, + measure: S ?? null, + captionEnabled: C, + captionPosition: v.captionPosition ?? "inline", captionOffset: null, - leader: w.leader ?? null, + leader: v.leader ?? null, contents: "" } : { - intent: O, - measure: E ?? null, - captionEnabled: I, + intent: x, + measure: S ?? null, + captionEnabled: C, contents: "" } : void 0; - if (T && p === "down" && !y && !Da( - gr({ - subtype: S.subtype, - intent: T.intent, - measure: T.measure, + if (N && p === "down" && !b && !Fi( + mr({ + subtype: P.subtype, + intent: N.intent, + measure: N.measure, linePoints: { start: { x: 0, y: 0 }, end: { x: 1, y: 0 } }, vertices: [ { x: 0, y: 0 }, @@ -38390,46 +39244,46 @@ function KQ(e, { const _ = t.commit( { type: "createPointer", - measure: T, - capture: S?.capture === !0 ? d : void 0, + measure: N, + capture: P?.capture === !0 ? d : void 0, phase: p, - subtype: S?.subtype ?? d, - preset: S?.preset ?? d, - intent: O === "ink-highlight" ? O : void 0, - clickCreate: S?.clickCreate, - flags: S?.flags, - deferInkCommit: (S?.ink?.groupStrokesMs ?? 0) > 0, - straightenInk: S?.ink?.straighten, + subtype: P?.subtype ?? d, + preset: P?.preset ?? d, + intent: x === "ink-highlight" ? x : void 0, + clickCreate: P?.clickCreate, + flags: P?.flags, + deferInkCommit: (P?.ink?.groupStrokesMs ?? 0) > 0, + straightenInk: P?.ink?.straighten, in: { - page: h, - point: g, + page: g, + point: h, shift: !1, finish: m, - pageBox: n.pageBoxOf(x), - displayRotation: M, - upright: S?.upright + pageBox: n.pageBoxOf(E), + displayRotation: O, + upright: P?.upright } }, - { adjust: i.shape(S?.id) } + { adjust: a.shape(P?.id) } ); - i.done(S?.id, _); + a.done(P?.id, _); }, hoverAt: (d) => { const p = t.model(); - let h = null; + let g = null; if (d) { - const g = a.hitAt(d.page, d.point, { + const h = i.hitAt(d.page, d.point, { scale: d.scale, rotation: d.rotation, zoom: d.zoom }); - g.kind === "annot" && (h = g.id); + h.kind === "annot" && (g = h.id); } - p.hovered !== h && (u?.hover(h), t.commit({ type: "hover", id: h })); + p.hovered !== g && (u?.hover(g), t.commit({ type: "hover", id: g })); } } }; } -function qQ(e) { +function iZ(e) { if (e.incomplete) throw new Error("Refusing to execute an incomplete PDF action tree"); const t = [], n = (o) => { @@ -38439,11 +39293,11 @@ function qQ(e) { return e.root && n(e.root), t; } function zs(e) { - return qQ(e).join(` + return iZ(e).join(` ; `); } -function HQ(e) { +function cZ(e) { switch (e[0]) { case "T": return null; @@ -38461,20 +39315,20 @@ function HQ(e) { } } } -const Wf = Object.freeze({ +const Uf = Object.freeze({ maxExecutionMs: 50, maxMemoryBytes: 16 * 1024 * 1024, maxStackBytes: 512 * 1024, maxEffects: 256, maxOutputBytes: 1024 * 1024 }); -function VQ(e, t) { +function lZ(e, t) { let n = 2166136261; for (const o of `${e}:${t}`) n ^= o.charCodeAt(0), n = Math.imul(n, 16777619); return n >>> 0; } -function GQ(e, t) { +function uZ(e, t) { const n = e.security.identity, o = typeof t == "function" ? t() : t ?? {}; return { name: o.name ?? n?.displayName ?? n?.userId ?? "", @@ -38483,11 +39337,11 @@ function GQ(e, t) { email: o.email ?? n?.email ?? "" }; } -function YQ(e) { - const t = e.budget ?? Wf; +function dZ(e) { + const t = e.budget ?? Uf; let n = Promise.resolve(); - const o = (g) => { - const m = n.then(g, g); + const o = (h) => { + const m = n.then(h, h); return n = m.then( () => { }, @@ -38495,31 +39349,31 @@ function YQ(e) { } ), m; }; - let r = null, s = !1, i = null, a = null, c = 0, l = !1; - const u = () => (r ?? (r = e.sandboxFactory()), r), f = (g) => ({ + let r = null, s = !1, a = null, i = null, c = 0, l = !1; + const u = () => (r ?? (r = e.sandboxFactory()), r), f = (h) => ({ document: { ...e.document(), - ...g.pageNumber !== void 0 ? { pageNumber: g.pageNumber } : {} + ...h.pageNumber !== void 0 ? { pageNumber: h.pageNumber } : {} }, identity: e.identity(), environment: e.environment(c++), - fields: g.fields, - ...g.annots ? { annots: g.annots } : {}, - ...g.annotPages ? { annotPages: g.annotPages } : {}, - ...g.annotsCoverDocument !== void 0 ? { annotsCoverDocument: g.annotsCoverDocument } : {}, - event: g.event - }), d = (g) => { - g.destroyed && (r = null, s = !1, i = null); - }, p = async (g, m) => { + fields: h.fields, + ...h.annots ? { annots: h.annots } : {}, + ...h.annotPages ? { annotPages: h.annotPages } : {}, + ...h.annotsCoverDocument !== void 0 ? { annotsCoverDocument: h.annotsCoverDocument } : {}, + event: h.event + }), d = (h) => { + h.destroyed && (r = null, s = !1, a = null); + }, p = async (h, m) => { if (s) return null; s = !0; - const M = await u(); - a ?? (a = e.bootSources()); - let x = []; + const O = await u(); + i ?? (i = e.bootSources()); + let E = []; try { - x = await a; - } catch (P) { - return a = null, { + E = await i; + } catch (k) { + return i = null, { event: { rc: !0, value: null, change: "", selStart: 0, selEnd: 0 }, formEffects: [], annotEffects: [], @@ -38527,47 +39381,47 @@ function YQ(e) { diagnostics: [ { code: "script-error", - message: `Document boot script failed (continuing without it): ${P instanceof Error ? P.message : String(P)}` + message: `Document boot script failed (continuing without it): ${k instanceof Error ? k.message : String(k)}` } ] }; } - if (x.length === 0) return null; - const S = M.boot( - x, - f({ ...g, event: { kind: "name-tree-boot" } }), + if (E.length === 0) return null; + const P = O.boot( + E, + f({ ...h, event: { kind: "name-tree-boot" } }), m ?? t ); - return d(M), S; - }, h = async (g, m, M) => { - s || (i = await p(m, M)); - const x = await u(), S = x.run(g, f(m), M ?? t); - return d(x), S; + return d(O), P; + }, g = async (h, m, O) => { + s || (a = await p(m, O)); + const E = await u(), P = E.run(h, f(m), O ?? t); + return d(E), P; }; return { - transaction(g) { + transaction(h) { return l ? Promise.reject(new Error("script host is disposed")) : o( - () => g({ - boot: async (m, M) => { - if (i) { - const x = i; - return i = null, x; + () => h({ + boot: async (m, O) => { + if (a) { + const E = a; + return a = null, E; } - return p(m, M); + return p(m, O); }, - run: (m, M, x) => h(m, M, x) + run: (m, O, E) => g(m, O, E) }) ); }, destroy() { l = !0; - const g = r; - r = null, s = !1, i = null, g?.then((m) => m.destroy()).catch(() => { + const h = r; + r = null, s = !1, a = null, h?.then((m) => m.destroy()).catch(() => { }); } }; } -function QQ(e) { +function fZ(e) { switch (e.kind) { case "scalar": return e.value; @@ -38578,13 +39432,13 @@ function QQ(e) { return null; } } -function TA(e, t) { - return e.kind !== "checkbox" && e.kind !== "radio" ? QQ(t) : t.kind !== "scalar" ? "Off" : e.widgets.find((o) => o.onState === t.value)?.exportValue ?? t.value; +function QA(e, t) { + return e.kind !== "checkbox" && e.kind !== "radio" ? fZ(t) : t.kind !== "scalar" ? "Off" : e.widgets.find((o) => o.onState === t.value)?.exportValue ?? t.value; } -function XQ(e) { +function pZ(e) { return e ? e.hidden ? "hidden" : e.noView ? "noView" : e.print ? "visible" : "noPrint" : "visible"; } -function gb(e) { +function Ob(e) { const t = new Map( e.widgets.map((n) => [ n.ref.kind === "objectNumber" ? n.ref.objectNumber : 0, @@ -38595,20 +39449,20 @@ function gb(e) { ref: n.ref, name: n.name, kind: n.kind, - value: TA(n, n.valueEntry), - defaultValue: TA(n, n.defaultValueEntry), + value: QA(n, n.valueEntry), + defaultValue: QA(n, n.defaultValueEntry), // A field shows as its first widget does. - display: XQ(t.get(n.widgets?.[0]?.objectNumber ?? -1)), + display: pZ(t.get(n.widgets?.[0]?.objectNumber ?? -1)), readOnly: n.readOnly, required: n.required, ..."options" in n ? { options: n.options.map((o) => ({ label: o.label, value: o.value })) } : {}, ...n.kind === "checkbox" || n.kind === "radio" ? { exportValues: n.widgets.map((o) => o.exportValue) } : {} })); } -const ZQ = (e, t, n) => { +const hZ = (e, t, n) => { const o = { subtype: e }, r = (s) => { - const i = HQ(s); - return i ? qN(i.r * 255, i.g * 255, i.b * 255) : null; + const a = cZ(s); + return a ? jT(a.r * 255, a.g * 255, a.b * 255) : null; }; if (t.strokeColor) { const s = r(t.strokeColor); @@ -38617,50 +39471,50 @@ const ZQ = (e, t, n) => { } if (t.fillColor && (o.interiorColor = r(t.fillColor)), t.opacity !== void 0 && (o.opacity = t.opacity), t.width !== void 0 && (o.strokeWidth = t.width), t.borderStyle && (o.borderStyle = t.borderStyle === "D" ? "dashed" : "solid"), t.dash && (o.dashArray = t.dash), t.rect) { if (!n) return new Error("annotation page not loaded"); - const [s, i, a, c] = t.rect; - o.rect = j5( + const [s, a, i, c] = t.rect; + o.rect = sO( { - left: Math.min(s, a), - bottom: Math.min(i, c), - right: Math.max(s, a), - top: Math.max(i, c) + left: Math.min(s, i), + bottom: Math.min(a, c), + right: Math.max(s, i), + top: Math.max(a, c) }, n ); } return t.contents !== void 0 && (o.contents = t.contents), t.flags && Object.assign(o, t.flags), o; }; -function JQ(e, { store: t, geometry: n }) { +function gZ(e, { store: t, geometry: n }) { return { api: { commitScriptEffects: async (r) => { - const s = e.doc, i = []; - let a = !1; + const s = e.doc, a = []; + let i = !1; for (const c of r) { - if (a) { - i.push({ annotObjectNumber: c.annotObjectNumber, status: "skipped" }); + if (i) { + a.push({ annotObjectNumber: c.annotObjectNumber, status: "skipped" }); continue; } const l = t.model().byId[`obj:${c.annotObjectNumber}`], u = l?.annotation.page.objectNumber ?? c.page?.objectNumber; - let f = Ct(l), d = l?.annotation.subtype; + let f = Nt(l), d = l?.annotation.subtype; if ((!f || !d) && u !== void 0) try { - const { annotations: h } = await s.page(ut(u)).annotations.list(), g = h.find( + const { annotations: g } = await s.page(dt(u)).annotations.list(), h = g.find( (m) => m.ref.kind === "objectNumber" && m.ref.objectNumber === c.annotObjectNumber ); - g && (f = g.ref, d = g.subtype); + h && (f = h.ref, d = h.subtype); } catch { } if (u === void 0 || !f || !d) { - i.push({ + a.push({ annotObjectNumber: c.annotObjectNumber, status: "failed", error: "annotation not resolved (page not loaded)" }); continue; } - const p = ZQ(d, c.patch, n.cropOf(u)); + const p = hZ(d, c.patch, n.cropOf(u)); if (p instanceof Error) { - i.push({ + a.push({ annotObjectNumber: c.annotObjectNumber, status: "failed", error: p.message @@ -38668,334 +39522,374 @@ function JQ(e, { store: t, geometry: n }) { continue; } try { - await ps(t.apply([{ type: "update", ref: f, patch: p }])), i.push({ annotObjectNumber: c.annotObjectNumber, status: "applied" }); - } catch (h) { - a = !0, i.push({ + await xr(t.apply([{ type: "update", ref: f, patch: p }])), a.push({ annotObjectNumber: c.annotObjectNumber, status: "applied" }); + } catch (g) { + i = !0, a.push({ annotObjectNumber: c.annotObjectNumber, status: "failed", - error: h instanceof Error ? h.message : String(h) + error: g instanceof Error ? g.message : String(g) }); } } - return { results: i }; + return { results: a }; } } }; } -function eX(e, { +const Da = 10; +function mZ(e, { store: t, authority: n, fonts: o, behaviors: r, - lending: s -}, i, a, c, l) { - const u = () => hb(t.model(), t.model().selected), f = async (M, x) => { - const S = u(), P = await e.cancellable( - x, - Promise.all(M().map((k) => k.written)) + lending: s, + geometry: a +}, i, c, l, u, f) { + const d = () => Sb(t.model(), t.model().selected), p = (A) => { + const w = [], b = []; + for (const v of A) (s.owns(Y(v)) ? b : w).push(v); + return { own: w, lent: b }; + }, g = () => { + const A = i.selectedRecords().flatMap(({ annotation: b }) => { + const v = a.pageBoxOf(b.page.objectNumber); + return v ? [{ rect: b.rect, page: v }] : []; + }), w = (b, v) => A.some(({ rect: x, page: y }) => x[b] + x[v] + Da > y[v]) && A.every(({ rect: x }) => x[b] - Da >= 0); + return { + x: w("x", "width") ? -Da : Da, + y: w("y", "height") ? -Da : Da + }; + }, h = async (A, w) => { + const b = d(), v = await e.cancellable( + w, + Promise.all(A().map((x) => x.written)) ); - return lY(S, { failed: P.flatMap((k) => k.failed) }); - }, d = (M) => { - const x = t.model(), S = a.activeTextRange(x) ?? a.activeCaret(x), P = [], k = {}; - for (const A of x.selected) { - const y = x.byId[A]; - if (!y) continue; - const w = typeof M == "function" ? M(y.annotation) : M; - if (S?.id !== A) { - k[A] = w; + return SQ(b, { failed: v.flatMap((x) => x.failed) }); + }, m = (A) => { + const w = t.model(), b = c.activeTextRange(w) ?? c.activeCaret(w), v = [], x = {}; + for (const y of w.selected) { + const M = w.byId[y]; + if (!M) continue; + const S = typeof A == "function" ? A(M.annotation) : A; + if (b?.id !== y) { + x[y] = S; continue; } - const { delta: O, rest: b } = RY(w, o); - if (Object.keys(O).length && S.start === S.end) - l.styleTyping(A, O); - else if (Object.keys(O).length) { - const v = p3( - { paragraphs: fs(y.annotation, o).paragraphs }, - S, - O + const { delta: C, rest: N } = YQ(S, o); + if (Object.keys(C).length && b.start === b.end) + u.styleTyping(y, C); + else if (Object.keys(C).length) { + const _ = VI( + { paragraphs: ps(M.annotation, o).paragraphs }, + b, + C ); - P.push(l.type(A, { type: "setRichText", id: A, doc: v })); + v.push(u.type(y, { type: "setRichText", id: y, doc: _ })); } - k[A] = b; + x[y] = N; } - return Object.values(k).some((A) => Object.keys(A).length) && P.push(t.commit({ type: "setFields", patches: k })), P; - }, p = (M, x) => { - t.commit({ type: "select", ids: M.map((S) => ie(S)), add: x }); - }, h = async (M, x = {}) => { - const { values: S, mixed: P } = a.selectionPropertiesOf(), k = S[M] !== !0 || P.includes(M), A = t.model(), w = a.activeTextRange(A) ?? a.activeCaret(A) ? d({ [M]: k }) : [t.commit({ type: "setTextFormat", format: M, on: k })]; + return Object.values(x).some((y) => Object.keys(y).length) && v.push(t.commit({ type: "setFields", patches: x })), v; + }, O = (A, w) => { + t.commit({ type: "select", ids: A.map((b) => Y(b)), add: w }); + }, E = async (A, w = {}) => { + const { values: b, mixed: v } = c.selectionPropertiesOf(), x = b[A] !== !0 || v.includes(A), y = t.model(), S = c.activeTextRange(y) ?? c.activeCaret(y) ? m({ [A]: x }) : [t.commit({ type: "setTextFormat", format: A, on: x })]; (await e.cancellable( - x.signal, - Promise.all(w.map((b) => b.written)) - )).forEach(Qc); - }, g = { + w.signal, + Promise.all(S.map((N) => N.written)) + )).forEach(Yc); + }, P = { // `set([])` selects nothing, as its name says: the reducer leaves an empty `select` alone, // so an `add` of nothing stays a no-op. - select: (M) => M.length ? p(M, !1) : void t.commit({ type: "deselect" }), - add: (M) => p(M, !0), - selectAll: (M) => { - const x = M === void 0 ? null : e.getPage(M); - if (M !== void 0 && !x) { + select: (A) => A.length ? O(A, !1) : void t.commit({ type: "deselect" }), + add: (A) => O(A, !0), + selectAll: (A) => { + const w = A === void 0 ? null : e.getPage(A); + if (A !== void 0 && !w) { t.commit({ type: "deselect" }); return; } - const S = t.model(), P = S.order.filter((k) => { - const A = S.byId[k]; - return !!A && (!x || A.annotation.page.objectNumber === x.ref.objectNumber) && vo(S, k); + const b = t.model(), v = b.order.filter((x) => { + const y = b.byId[x]; + return !!y && (!w || y.annotation.page.objectNumber === w.ref.objectNumber) && vo(b, x); }); - t.commit({ type: "select", ids: P }); + t.commit({ type: "select", ids: v }); }, - selectInRect: (M, x) => { - const { ref: S } = e.pageOf(M), P = r.engagedIdsOn(S.objectNumber); - t.commit({ type: "select", ids: d3(t.model(), S, x, P) }); + selectInRect: (A, w) => { + const { ref: b } = e.pageOf(A), v = r.engagedIdsOn(b.objectNumber); + t.commit({ type: "select", ids: qI(t.model(), b, w, v) }); }, clear: () => { t.commit({ type: "deselect" }); }, getSelected: () => i.listSelected(), - update: (M, x = {}) => f(() => d(M), x.signal), - updateLink: (M, x = {}) => f(() => [t.commit({ type: "setLink", target: M })], x.signal), - getProperties: () => a.selectionPropertiesOf(), - delete: (M = {}) => f(() => [t.commit({ type: "delete" })], M.signal), - rotateBy: async (M, x = {}) => { - const S = t.commit({ type: "rotateSelection", degrees: M }); - Qc(await e.cancellable(x.signal, S.written)); - }, - resetRotation: async (M = {}) => { - const x = t.commit({ type: "resetRotation" }); - Qc(await e.cancellable(M.signal, x.written)); - }, - getAnchor: () => c.selectionAnchor(), - getRotationAnchor: () => c.rotationAnchor(), + update: (A, w = {}) => h(() => m(A), w.signal), + updateLink: (A, w = {}) => h(() => [t.commit({ type: "setLink", target: A })], w.signal), + getProperties: () => c.selectionPropertiesOf(), + delete: (A = {}) => h(() => [t.commit({ type: "delete" })], A.signal), + rotateBy: async (A, w = {}) => { + const b = t.commit({ type: "rotateSelection", degrees: A }); + Yc(await e.cancellable(w.signal, b.written)); + }, + resetRotation: async (A = {}) => { + const w = t.commit({ type: "resetRotation" }); + Yc(await e.cancellable(A.signal, w.written)); + }, + getAnchor: () => l.selectionAnchor(), + getRotationAnchor: () => l.rotationAnchor(), // Grouping writes a relationship (`/IRT` + `/RT /Group`) onto every // subordinate; ungrouping clears it, so each member becomes top-level // again. Either is one change; geometry and style are left alone, so no // appearance is baked again. - group: async (M = {}) => { - const x = t.model(), S = i.selectedRecords(); - if (S.length < 2 || S.some((O) => s.owns(O.id))) return; - const P = S[0].annotation.page.objectNumber; - if (S.some((O) => O.annotation.page.objectNumber !== P)) + group: async (A = {}) => { + const w = t.model(), b = i.selectedRecords(); + if (b.length < 2 || b.some((C) => s.owns(C.id))) return; + const v = b[0].annotation.page.objectNumber; + if (b.some((C) => C.annotation.page.objectNumber !== v)) return; - const k = [...S].sort( - (O, b) => x.order.indexOf(O.id) - x.order.indexOf(b.id) - ), [A, ...y] = k, w = Ct(A); - w && await m(y, { to: w, type: "group" }, M); + const x = [...b].sort( + (C, N) => w.order.indexOf(C.id) - w.order.indexOf(N.id) + ), [y, ...M] = x, S = Nt(y); + S && await k(M, { to: S, type: "group" }, A); }, - ungroup: async (M = {}) => { - const x = t.model(), S = Nf(x, x.selected).map((P) => x.byId[P]).filter((P) => !!P && !!ii(P.annotation)); - await m(S, null, M); + ungroup: async (A = {}) => { + const w = t.model(), b = Tf(w, w.selected).map((v) => w.byId[v]).filter((v) => !!v && !!ca(v.annotation)); + await k(b, null, A); }, canGroup: () => { - const M = t.model(), x = i.selectedRecords(); - if (x.length < 2 || x.some((P) => s.owns(P.id)) || x.some( - (P) => P.annotation.page.objectNumber !== x[0].annotation.page.objectNumber - ) || !x.every((P) => { - const k = Ct(P); - return k != null && n.allowsMutation("update", k); + const A = t.model(), w = i.selectedRecords(); + if (w.length < 2 || w.some((v) => s.owns(v.id)) || w.some( + (v) => v.annotation.page.objectNumber !== w[0].annotation.page.objectNumber + ) || !w.every((v) => { + const x = Nt(v); + return x != null && n.allowsMutation("update", x); })) return !1; - const S = new Set(M.selected.map((P) => HC(M, P))); - return !(S.size === 1 && !S.has(null)); + const b = new Set(A.selected.map((v) => SI(A, v))); + return !(b.size === 1 && !b.has(null)); }, canUngroup: () => { - const M = t.model(), x = Nf(M, M.selected).map((S) => M.byId[S]).filter((S) => !!S && !!ii(S.annotation)); - return x.length > 0 && x.every((S) => { - const P = Ct(S); - return P != null && n.allowsMutation("update", P); + const A = t.model(), w = Tf(A, A.selected).map((b) => A.byId[b]).filter((b) => !!b && !!ca(b.annotation)); + return w.length > 0 && w.every((b) => { + const v = Nt(b); + return v != null && n.allowsMutation("update", v); + }); + }, + // The selection holds every member of a selected group, so its copies + // are a group of their own. + // A lent record (a form's widget) is its lender's to copy, in the same + // change: what a person does to the selection goes to each record's owner. + duplicate: (A = {}) => { + const { own: w, lent: b } = p(d()); + return f.duplicate( + w, + { + offset: A.offset ?? g(), + select: !0, + ...A.signal ? { signal: A.signal } : {} + }, + b + ); + }, + canDuplicate: () => { + const { own: A, lent: w } = p(d()); + if (!A.length && !w.length || A.length && !n.canDuplicate(A)) return !1; + const b = s.lender(), v = t.model(); + return w.every((x) => { + const y = v.byId[Y(x)]; + return !!y && !y.annotation.locked && (b?.getAuthority(y.annotation).copy ?? !1); }); } - }, m = async (M, x, S) => { - const P = M.flatMap((k) => { - const A = Ct(k); - if (!A) return []; - const y = { subtype: k.annotation.subtype, reply: x }; - return [{ type: "update", ref: A, patch: y }]; + }, k = async (A, w, b) => { + const v = A.flatMap((x) => { + const y = Nt(x); + if (!y) return []; + const M = { subtype: x.annotation.subtype, reply: w }; + return [{ type: "update", ref: y, patch: M }]; }); - P.length && await e.cancellable(S.signal, ps(t.apply(P))); + v.length && await e.cancellable(b.signal, xr(t.apply(v))); }; - return { selection: g, toggleFormat: h }; + return { selection: P, toggleFormat: E }; } -function $3(e, t = 4096) { +function y3(e, t = 4096) { const n = Math.max(128, Math.ceil(e)); return Math.min(t, 2 ** Math.ceil(Math.log2(n))); } -const It = Qe, Ig = () => new Z( +const Tt = Qe, Lg = () => new te( "invalid-input", "annotation", "a stamp must be PNG, JPEG, or one-page PDF bytes" -), tX = (e) => e instanceof Uint8Array || !("data" in e) ? e : e.data, RA = (e, t) => { +), bZ = (e) => e instanceof Uint8Array || !("data" in e) ? e : e.data, XA = (e, t) => { const n = { bytes: e, ...t ? { mimeType: t } : {} }; return async () => n; -}, nX = (e) => { +}, yZ = (e) => { const t = /* @__PURE__ */ new Map(); return (n) => { - const o = $3(n); + const o = y3(n); let r = t.get(o); return r || (r = e(o).catch((s) => (console.error("[annotation] stamp preview failed:", s), null)), t.set(o, r)), r; }; }; -async function _g(e, t, n) { - if (typeof e.preview == "function") return nX(e.preview); +async function jg(e, t, n) { + if (typeof e.preview == "function") return yZ(e.preview); if (e.preview) { - const o = await bo(e.preview); - return RA(new Uint8Array(o.bytes), o.mimeType); + const o = await yo(e.preview); + return XA(new Uint8Array(o.bytes), o.mimeType); } - return n === "application/pdf" ? null : RA(new Uint8Array(t), n); + return n === "application/pdf" ? null : XA(new Uint8Array(t), n); } -const Ng = (e, t, n) => { +const Fg = (e, t, n) => { const o = n && n.width > 0 && n.height > 0 ? n : "width" in e && e.width > 0 ? { width: e.width, height: e.height } : { width: t ?? 150, height: t ?? 150 }; return t === void 0 ? o : { width: t, height: t * (o.height / o.width) }; }; -function oX(e, { +function wZ(e, { store: t, geometry: n, tools: o, filePicker: r, afterCreate: s }) { - let i = null; - const a = /* @__PURE__ */ new Map(), c = (k) => k.unconfirmed ? a.get(k.id) ?? null : (a.delete(k.id), null); + let a = null; + const i = /* @__PURE__ */ new Map(), c = (A) => A.unconfirmed ? i.get(A.id) ?? null : (i.delete(A.id), null); let l = null; const u = () => { - e.state.update(fb, null), e.notify(); - }, f = async (k, A = {}) => { - const y = await e.cancellable(A.signal, bo(k.source)), w = Xi(y.bytes); - if (!w) throw Ig(); - const O = await _g(k, y.bytes, w.mimeType); - i = { - source: k.source, - ...Ng(w, k.targetWidth, k.intrinsicSize), - preview: O, - ...k.name !== void 0 ? { name: k.name } : {}, - ...k.subject !== void 0 ? { subject: k.subject } : {} + e.state.update(kb, null), e.notify(); + }, f = async (A, w = {}) => { + const b = await e.cancellable(w.signal, yo(A.source)), v = Za(b.bytes); + if (!v) throw Lg(); + const x = await jg(A, b.bytes, v.mimeType); + a = { + source: A.source, + ...Fg(v, A.targetWidth, A.intrinsicSize), + preview: x, + ...A.name !== void 0 ? { name: A.name } : {}, + ...A.subject !== void 0 ? { subject: A.subject } : {} }, l = { - width: i.width, - height: i.height, - ...k.name !== void 0 ? { name: k.name } : {}, - ...k.subject !== void 0 ? { subject: k.subject } : {} - }, u(), e.tryGet(cn)?.activateTool(Ep); + width: a.width, + height: a.height, + ...A.name !== void 0 ? { name: A.name } : {}, + ...A.subject !== void 0 ? { subject: A.subject } : {} + }, u(), e.tryGet(fn)?.activateTool(Np); }, d = () => { - i && (i = null, l = null, u()); - }, p = (k, A, y, w, O, b = 0, v = {}, E = !1) => { - const I = e.doc, T = n.sizeOf(k); - if (!I || !T) return null; - const _ = $0(A, w, T, b), N = t.applyWhenNumbered( + a && (a = null, l = null, u()); + }, p = (A, w, b, v, x, y = 0, M = {}, S = !1) => { + const C = e.doc, N = n.sizeOf(A); + if (!C || !N) return null; + const _ = J0(w, v, N, y), T = t.applyWhenNumbered( [ { type: "create", - page: ut(k), + page: dt(A), draft: { subtype: "stamp", // Its box before any turn, and the turn (`null` upright, so none is kept). box: _, - rotation: b || null, + rotation: y || null, fit: "contain", - ...v.name !== void 0 ? { name: v.name } : {}, - ...v.subject !== void 0 ? { subject: v.subject } : {} + ...M.name !== void 0 ? { name: M.name } : {}, + ...M.subject !== void 0 ? { subject: M.subject } : {} }, - resources: { appearance: tX(y) } + resources: { appearance: bZ(b) } } ], - { select: E } + { select: S } ); - return O && N.then(({ ids: [F] }) => { - F !== void 0 && (a.set(F, O), e.notify()); - }), N; - }, h = (k, A, y, w, O, b = 0, v = {}) => { - const E = p(k, A, y, w, O, b, v); - if (!E) return !1; - const I = o.activeTool()?.id; - return E.then((T) => (s.placed(I, T.ids), Ea(T))).catch((T) => console.error("[annotation] stamp placement failed:", T)), !0; - }, g = async (k, A, y = {}) => { + return x && T.then(({ ids: [$] }) => { + $ !== void 0 && (i.set($, x), e.notify()); + }), T; + }, g = (A, w, b, v, x, y = 0, M = {}) => { + const S = p(A, w, b, v, x, y, M); + if (!S) return !1; + const C = o.activeTool()?.id; + return S.then((N) => (s.placed(C, N.ids), Mi(N))).catch((N) => console.error("[annotation] stamp placement failed:", N)), !0; + }, h = async (A, w, b = {}) => { e.assertAllowed("annotations:create", "annotation.stamps.place"); - const { ref: w } = e.pageOf(A.page), O = await e.cancellable(y.signal, bo(k.source)), b = Xi(O.bytes); - if (!b) throw Ig(); - const v = await e.cancellable( - y.signal, - _g(k, O.bytes, b.mimeType) - ), E = p( - w.objectNumber, - A.center, - k.source, - Ng(b, A.targetWidth ?? k.targetWidth, k.intrinsicSize), - v, - A.rotation ?? 0, + const { ref: v } = e.pageOf(w.page), x = await e.cancellable(b.signal, yo(A.source)), y = Za(x.bytes); + if (!y) throw Lg(); + const M = await e.cancellable( + b.signal, + jg(A, x.bytes, y.mimeType) + ), S = p( + v.objectNumber, + w.center, + A.source, + Fg(y, w.targetWidth ?? A.targetWidth, A.intrinsicSize), + M, + w.rotation ?? 0, { - ...k.name !== void 0 ? { name: k.name } : {}, - ...k.subject !== void 0 ? { subject: k.subject } : {} + ...A.name !== void 0 ? { name: A.name } : {}, + ...A.subject !== void 0 ? { subject: A.subject } : {} }, - A.select ?? !1 + w.select ?? !1 ); - if (!E) - throw new Z( + if (!S) + throw new te( "not-ready", "annotation", - `page ${w.objectNumber} isn't laid out yet` + `page ${v.objectNumber} isn't laid out yet` ); - const I = await e.cancellable( - y.signal, - E.then((T) => Ea(T)) + const C = await e.cancellable( + b.signal, + S.then((N) => Mi(N)) ); - if (!I) - throw new Z("operation-failed", "annotation", "the stamp could not be placed"); - return { annotation: I }; - }, m = (k, A, y) => { - const w = i; - return w ? h( - k, + if (!C) + throw new te("operation-failed", "annotation", "the stamp could not be placed"); + return { annotation: C }; + }, m = (A, w, b) => { + const v = a; + return v ? g( A, - w.source, - { width: w.width, height: w.height }, - w.preview, - o.uprightRotFor(y), + w, + v.source, + { width: v.width, height: v.height }, + v.preview, + o.uprightRotFor(b), { - ...w.name !== void 0 ? { name: w.name } : {}, - ...w.subject !== void 0 ? { subject: w.subject } : {} + ...v.name !== void 0 ? { name: v.name } : {}, + ...v.subject !== void 0 ? { subject: v.subject } : {} } ) : !1; - }, M = async (k, A, y, w, O) => { - const b = await bo(y), v = Xi(b.bytes); - if (!v) { - console.error("[annotation]", Ig().message); + }, O = async (A, w, b, v, x) => { + const y = await yo(b), M = Za(y.bytes); + if (!M) { + console.error("[annotation]", Lg().message); return; } - const E = await _g({}, b.bytes, v.mimeType); - h(k, A, y, Ng(v, O), E, w); - }, x = (k, A, y) => { - const w = o.activeTool(), O = w?.source; - if (!O) return !1; - const b = o.uprightRotFor(w.upright ? y : void 0); - return O.kind === "bytes" ? (M(k, A, O.source, b), !0) : r.promptAt( - w, - k, + const S = await jg({}, y.bytes, M.mimeType); + g(A, w, b, Fg(M, x), S, v); + }, E = (A, w, b) => { + const v = o.activeTool(), x = v?.source; + if (!x) return !1; + const y = o.uprightRotFor(v.upright ? b : void 0); + return x.kind === "bytes" ? (O(A, w, x.source, y), !0) : r.promptAt( + v, A, - (v) => void M( - k, + w, + (M) => void O( A, - v.data instanceof ArrayBuffer ? new Uint8Array(v.data) : v.data, - b + w, + M.data instanceof ArrayBuffer ? new Uint8Array(M.data) : M.data, + y ) ); }; - return { armed: () => i, lookOf: c, placeArmedStamp: m, requestStampAt: x, stamps: { + return { armed: () => a, lookOf: c, placeArmedStamp: m, requestStampAt: E, stamps: { arm: f, disarm: d, - isArmed: () => i != null, - place: g + isArmed: () => a != null, + place: h }, api: { - placeArmedStamp: (k, A, y) => m(k.objectNumber, A, y), - requestStampAt: (k, A, y) => x(k.objectNumber, A, y), + placeArmedStamp: (A, w, b) => m(A.objectNumber, w, b), + requestStampAt: (A, w, b) => E(A.objectNumber, w, b), getArmedStamp: () => l, - renderArmedStampPreview: (k) => i?.preview?.(k ?? 0) ?? Promise.resolve(null) + renderArmedStampPreview: (A) => a?.preview?.(A ?? 0) ?? Promise.resolve(null) } }; } -const rX = 250; -function sX(e, { store: t, fonts: n, textFonts: o }, r) { +const vZ = 250; +function kZ(e, { store: t, fonts: n, textFonts: o }, r) { let s = null; - const i = async () => { + const a = async () => { const d = s; d && (s = null, d.cancelPause(), d.hold.send(), await d.written); - }, a = (d, p) => { - s && (s.id !== d || !s.hold.open) && i(), s ?? (s = { + }, i = (d, p) => { + s && (s.id !== d || !s.hold.open) && a(), s ?? (s = { id: d, // Every pause of typing into one text box is one step of the history. hold: t.hold({ key: "annotation.text" }, { merge: `annotation.text:${d}` }), @@ -39003,114 +39897,123 @@ function sX(e, { store: t, fonts: n, textFonts: o }, r) { cancelPause: () => { } }); - const h = s, g = t.commit(p, { into: h.hold }); - return o.typed(d), h.written = g.written, h.cancelPause(), h.cancelPause = e.clock.after(rX, () => { - s === h && i(); - }), g; + const g = s, h = t.commit(p, { into: g.hold }); + return o.typed(d), g.written = h.written, g.cancelPause(), g.cancelPause = e.clock.after(vZ, () => { + s === g && a(); + }), h; }, c = (d, p) => { - const h = e.state.get().textSelection; - h?.id !== d || h.start !== h.end || e.state.update(Xu, { ...h, typing: { ...h.typing, ...p } }); + const g = e.state.get().textSelection; + g?.id !== d || g.start !== g.end || e.state.update(ed, { ...g, typing: { ...g.typing, ...p } }); }, l = (d, p) => { - const h = e.state.get().textSelection, g = t.model().byId[d]; - if (!h?.typing || h.id !== d || !g) return p; - const m = fs(g.annotation, n), M = oG(m, { paragraphs: p }, h.start, h.typing), x = M ? { id: d, start: M.caret, end: M.caret, ...M.style && { typing: M.style } } : { id: d, start: h.start, end: h.end }; - return e.state.update(Xu, x), M?.doc.paragraphs ?? p; + const g = e.state.get().textSelection, h = t.model().byId[d]; + if (!g?.typing || g.id !== d || !h) return p; + const m = ps(h.annotation, n), O = yY(m, { paragraphs: p }, g.start, g.typing), E = O ? { id: d, start: O.caret, end: O.caret, ...O.style && { typing: O.style } } : { id: d, start: g.start, end: g.end }; + return e.state.update(ed, E), O?.doc.paragraphs ?? p; }; return t.onEffect("text", (d, p) => { - const h = p.byId[d.id], g = Ct(h); - if (!h || !g) return; - const m = TY(h, fs(h.annotation, n).paragraphs, n); - return [{ type: "annotations.update", ref: g, patch: { subtype: "free-text", ...m } }]; - }), { type: a, styleTyping: c, sendTyping: i, text: { + const g = p.byId[d.id], h = Nt(g); + if (!g || !h) return; + const m = GQ(g, ps(g.annotation, n).paragraphs, n); + return [{ type: "annotations.update", ref: h, patch: { subtype: "free-text", ...m } }]; + }), { type: i, styleTyping: c, sendTyping: a, text: { begin: (d) => { - t.commit({ type: "beginTextEdit", id: ie(d) }); + t.commit({ type: "beginTextEdit", id: Y(d) }); }, end: async (d = {}) => { - const p = i(); - e.state.get().textSelection && e.state.update(Xu, null), t.commit({ type: "endTextEdit" }), await e.cancellable(d.signal, p); + const p = a(); + e.state.get().textSelection && e.state.update(ed, null), t.commit({ type: "endTextEdit" }), await e.cancellable(d.signal, p); } }, api: { - beginTextEditAt: (d, p, h, g, m) => { - const M = r.textBoxAt(d, p, { scale: h, rotation: g, zoom: m }); - return M != null && (t.commit({ type: "beginTextEdit", id: M }), t.model().editing === M); + beginTextEditAt: (d, p, g, h, m) => { + const O = r.textBoxAt(d, p, { scale: g, rotation: h, zoom: m }); + return O != null && (t.commit({ type: "beginTextEdit", id: O }), t.model().editing === O); }, getEditingId: () => t.model().editing, draftContents: (d, p) => { - const h = ie(d); - a(h, { type: "setText", id: h, text: p }); + const g = Y(d); + i(g, { type: "setText", id: g, text: p }); }, draftRichText: (d, p) => { - const h = ie(d), g = { paragraphs: l(h, p.paragraphs) }; - return a(h, { type: "setRichText", id: h, doc: g }), g; + const g = Y(d), h = { paragraphs: l(g, p.paragraphs) }; + return i(g, { type: "setRichText", id: g, doc: h }), h; }, // A selection that moves is a new one: the style chosen at the caret stays only while it doesn't. setTextSelection: (d, p) => { - const h = ie(d), g = e.state.get().textSelection, m = p ? { id: h, start: p.start, end: p.end } : null; - g === null == (m === null) && (!g || !m || g.id === m.id && g.start === m.start && g.end === m.end) || e.state.update(Xu, m); + const g = Y(d), h = e.state.get().textSelection, m = p ? { id: g, start: p.start, end: p.end } : null; + h === null == (m === null) && (!h || !m || h.id === m.id && h.start === m.start && h.end === m.end) || e.state.update(ed, m); }, getCssFontFamily: (d, p) => o.faceCss(p, d).fontFamily, getFamilyOfCss: (d) => o.familyOfCss(d) ?? d } }; } -function iX(e) { - const t = OQ(e), { events: n, records: o, view: r, authority: s, tools: i, behaviors: a, settings: c } = t; - e.state.update(mA, c.get().snap), e.state.update(bA, c.get().editable), c.api.onSettingsChanged(({ settings: I, changedKeys: T }) => { - T.includes("snap") && e.state.update(mA, I.snap), T.includes("editable") && e.state.update(bA, I.editable); +function xZ(e) { + const t = WX(e), { events: n, records: o, view: r, authority: s, tools: a, behaviors: i, settings: c } = t; + e.state.update(_A, c.get().snap), e.state.update(NA, c.get().editable), c.api.onSettingsChanged(({ settings: C, changedKeys: N }) => { + N.includes("snap") && e.state.update(_A, C.snap), N.includes("editable") && e.state.update(NA, C.editable); }); - const l = EY(e, t), u = IY(e, t), f = $Y(e, t); - CQ(e, t, EQ(n)); - const d = sX(e, t, u), p = async () => { + const l = UQ(e, t), u = qQ(e, t), f = eX(e, t); + qX(e, t, KX(n)); + const d = kZ(e, t, u), p = async () => { await d.sendTyping(), await t.store.whenWritten(); }; - c.api.onSettingsChanged(({ changedKeys: I }) => { - if (!I.includes("editable")) return; - const T = t.store.model(), _ = T.editing === null ? void 0 : T.byId[T.editing]; - _ && !kC(T, _) && d.text.end(); - const N = T.draft; - (N && "ids" in N ? N.ids : N && "id" in N ? [N.id] : []).some((R) => T.byId[R] && !Qo(T, T.byId[R])) && t.store.commit({ type: "cancel" }); + c.api.onSettingsChanged(({ changedKeys: C }) => { + if (!C.includes("editable")) return; + const N = t.store.model(), _ = N.editing === null ? void 0 : N.byId[N.editing]; + _ && !JC(N, _) && d.text.end(); + const T = N.draft; + (T && "ids" in T ? T.ids : T && "id" in T ? [T.id] : []).some((j) => N.byId[j] && !Xo(N, N.byId[j])) && t.store.commit({ type: "cancel" }); }); - const h = $Q(e, t); - WQ(t); - const g = jQ(e, t, l, p), m = oX(e, t), M = LQ(e, t, m), x = UY(e, t, M, m), S = DQ(e, t, m), P = eX(e, t, l, f, u, d), k = zQ(e, t, g), A = KQ(e, t, u, k), y = FQ(e, t, l), w = BQ(e, t, l), O = JQ(e, t), b = hY(e, t), v = pY(e, t, b, g), E = ys("annotation", [ + const g = tZ(e, t); + rZ(t); + const h = ZX(e, t, l, p), m = wZ(e, t), O = XX(e, t, m), E = rX(e, t, O, m), P = eZ(e, t, m), k = mZ( + e, + t, + l, + f, + u, + d, + h + ), A = oZ(e, t), w = aZ(e, t, u, A), b = JX(e, t, l), v = nZ(e, t, l), x = gZ(e, t), y = CQ(e, t), M = EQ(e, t, y, h), S = ys("annotation", [ c.api, l.api, u.api, - x.api, - i.api, + E.api, a.api, + i.api, d.api, - h.api, g.api, + h.api, m.api, - M.api, - S.api, - k.api, + O.api, + P.api, A.api, - y.api, w.api, - O.api, + b.api, v.api, + x.api, + M.api, { getAt: u.annotationAt, - selection: P.selection, - draft: y.draft, + selection: k.selection, + draft: b.draft, text: { ...d.text, getEditing: l.getEditing, - toggleFormat: P.toggleFormat + toggleFormat: k.toggleFormat }, - tools: i.tools, + tools: a.tools, stamps: m.stamps, lend: t.lending.lend, // Authority twins, the records mirror and the events are services, not areas. getStatus: o.getStatus, - refresh: (I) => e.cancellable(I?.signal, o.refresh()), + refresh: (C) => e.cancellable(C?.signal, o.refresh()), whenSynced: () => o.settled(), onResynced: n.resynced.on, canRead: s.canRead, canCreate: s.canCreate, canUpdate: s.canUpdate, canDelete: s.canDelete, + canDuplicate: s.canDuplicate, onCreated: n.created.on, onUpdated: n.updated.on, onDeleted: n.deleted.on, @@ -39123,8 +40026,8 @@ function iX(e) { } ]); return { - api: E, - connect: () => SY(e, E), + api: S, + connect: () => $Q(e, S), /** The composed model every read and gesture works on (for the plugin's tests). */ model: r.model, /** The door for gestures and selection verbs (for the plugin's tests). */ @@ -39133,62 +40036,62 @@ function iX(e) { apply: t.store.apply }; } -const aX = (e) => ({ +const AZ = (e) => ({ id: "annotation", - token: It, + token: Tt, scope: "document", - requires: [Ot], - optional: [wr, yn, ro, Er], - state: PY, - settings: { defaults: SW, registered: e, whole: ["chrome.marquee"] }, - create: iX + requires: [_t], + optional: [vr, An, ro, Ir], + state: BQ, + settings: { defaults: $U, registered: e, whole: ["chrome.marquee"] }, + create: xZ }); -function eh(e) { - const [t] = ke(() => _F()); +function sh(e) { + const [t] = ke(() => $D()); Se(() => () => t.release(), [t]), Se(() => t.mount(e)); } -const cX = Wn(gW), B3 = bi(Qe), z3 = Number.parseInt(G7, 10) >= 19 ? { inert: !0 } : { inert: "true" }; -function W3({ shapes: e }) { - return eh(WD(e)), /* @__PURE__ */ C(Te, { children: K3(e) }); +const SZ = zn(EU), w3 = Wi(Qe), v3 = Number.parseInt(nF, 10) >= 19 ? { inert: !0 } : { inert: "true" }; +function k3({ shapes: e }) { + return sh(Q$(e)), /* @__PURE__ */ I(Re, { children: A3(e) }); } -const U3 = (e) => e.replace(/-([a-z])/g, (t, n) => n.toUpperCase()); -function lX(e) { +const x3 = (e) => e.replace(/-([a-z])/g, (t, n) => n.toUpperCase()); +function OZ(e) { return Object.fromEntries( - Object.entries(e).map(([t, n]) => [U3(t), n]) + Object.entries(e).map(([t, n]) => [x3(t), n]) ); } -function uX(e) { +function PZ(e) { return Object.fromEntries( - Object.entries(e).map(([t, n]) => [U3(t), n]) + Object.entries(e).map(([t, n]) => [x3(t), n]) ); } -function K3(e) { +function A3(e) { return e.map( - (t, n) => rj.createElement( + (t, n) => fF.createElement( t.tag, { key: n, - ...lX(t.attributes), - ...t.style ? { style: uX(t.style) } : {} + ...OZ(t.attributes), + ...t.style ? { style: PZ(t.style) } : {} }, - t.children ? K3(t.children) : t.text + t.children ? A3(t.children) : t.text ) ); } -function dX({ children: e, gap: t = 15, placement: n = "top" }) { - const { projector: o } = oE(), r = ht( - It, +function MZ({ children: e, gap: t = 15, placement: n = "top" }) { + const { projector: o } = LE(), r = mt( + Tt, (s) => { - const i = s.selection.getAnchor(); - if (!i) return null; - const a = o.viewEnv(i.page); - return a ? s.getSelectionAnchorIn(a) : i; + const a = s.selection.getAnchor(); + if (!a) return null; + const i = o.viewEnv(a.page); + return i ? s.getSelectionAnchorIn(i) : a; }, null, - DD + H$ ); - return r ? /* @__PURE__ */ C( - Mp, + return r ? /* @__PURE__ */ I( + _p, { anchor: { page: r.page, @@ -39201,24 +40104,24 @@ function dX({ children: e, gap: t = 15, placement: n = "top" }) { } ) : null; } -function fX({ +function EZ({ children: e, gap: t = 16, placement: n = "right" }) { - const o = ht( + const o = mt( Qe, (s) => s.selection.getRotationAnchor(), null, - $D - ), r = B3((s) => s.chrome.readout); - return !o || !e && !r.enabled ? null : /* @__PURE__ */ C( - Mp, + V$ + ), r = w3((s) => s.chrome.readout); + return !o || !e && !r.enabled ? null : /* @__PURE__ */ I( + _p, { anchor: { page: o.page, bounds: { ...o.at, width: 0, height: 0 } }, placement: n, gap: t, - children: e ? e(o) : /* @__PURE__ */ C( + children: e ? e(o) : /* @__PURE__ */ I( "div", { style: { @@ -39226,7 +40129,7 @@ function fX({ whiteSpace: "nowrap", borderRadius: 4, padding: "2px 6px", - fontFamily: Gl("font-mono"), + fontFamily: Ql("font-mono"), fontSize: 12, background: Ye("readout-background", r.background), color: Ye("readout-color", r.color) @@ -39240,19 +40143,19 @@ function fX({ } ); } -const pX = Xt(1); -function hX({ +const CZ = Yt(1); +function IZ({ item: e, page: t, interactive: n = !1, inert: o = !1, children: r }) { - const s = cM(e.frame, t.transform); - return /* @__PURE__ */ C( + const s = DM(e.frame, t.transform); + return /* @__PURE__ */ I( "div", { - ...o ? z3 : {}, + ...o ? v3 : {}, style: { position: "absolute", left: s.left, @@ -39271,9 +40174,9 @@ function hX({ } ); } -function gX({ item: e }) { - const t = qD(e.box); - return t ? /* @__PURE__ */ C( +function _Z({ item: e }) { + const t = J$(e.box); + return t ? /* @__PURE__ */ I( "svg", { viewBox: t, @@ -39286,14 +40189,14 @@ function gX({ item: e }) { overflow: "visible", pointerEvents: "none", // A ghost is see-through as a whole, so its fill and stroke don't stack. - ...e.source === "ghost" ? { opacity: AM(e.ghostOpacity ?? 0.5) } : {} + ...e.source === "ghost" ? { opacity: JM(e.ghostOpacity ?? 0.5) } : {} }, - children: /* @__PURE__ */ C(W3, { shapes: xM(cY(e), { miterLimit: Rp }) }) + children: /* @__PURE__ */ I(k3, { shapes: ZM(AQ(e), { miterLimit: Dp }) }) } ) : null; } -function mX({ url: e, box: t }) { - return /* @__PURE__ */ C( +function NZ({ url: e, box: t }) { + return /* @__PURE__ */ I( "img", { src: e, @@ -39320,20 +40223,20 @@ function mX({ url: e, box: t }) { } ); } -function bX({ page: e }) { - const t = Ge(It), n = Xe( - It, +function TZ({ page: e }) { + const t = Ge(Tt), n = Ze( + Tt, (c) => c.getImageGhost(e.ref) - ), o = Xe(It, (c) => c.getArmedStamp()), [r, s] = ke(null), i = n ? $3(n.box.width * e.transform.renderScale) : 0; + ), o = Ze(Tt, (c) => c.getArmedStamp()), [r, s] = ke(null), a = n ? y3(n.box.width * e.transform.renderScale) : 0; if (Se(() => { - if (!i) { + if (!a) { s(null); return; } - return r$(() => t.renderArmedStampPreview(i), s); - }, [t, o, i]), !n || !r) return null; - const a = wo(n.box, e.transform); - return /* @__PURE__ */ C( + return fB(() => t.renderArmedStampPreview(a), s); + }, [t, o, a]), !n || !r) return null; + const i = Uo(n.box, e.transform); + return /* @__PURE__ */ I( "img", { src: r, @@ -39341,33 +40244,33 @@ function bX({ page: e }) { draggable: !1, style: { position: "absolute", - left: a.left, - top: a.top, - width: a.width, - height: a.height, + left: i.left, + top: i.top, + width: i.width, + height: i.height, // Same explicit-size rule as BakedImage: never let a global img reset // clamp the box and distort the aspect. maxWidth: "none", maxHeight: "none", pointerEvents: "none", - opacity: AM(n.opacity), + opacity: JM(n.opacity), ...n.rot ? { transform: `rotate(${n.rot}deg)`, transformOrigin: "center" } : {} } } ); } -function q3() { - const e = B3((o) => o.chrome), t = hi((o) => o.accent), n = He(() => HD(e, t), [e, t]); +function S3() { + const e = w3((o) => o.chrome), t = ma((o) => o.accent), n = He(() => eB(e, t), [e, t]); return { chrome: e, painted: n }; } -function yX({ +function RZ({ at: e, size: t, rotation: n, shape: o, style: r }) { - return o === "circle" ? /* @__PURE__ */ C("circle", { cx: e.x, cy: e.y, r: t / 2, strokeWidth: 1.5, style: r }) : /* @__PURE__ */ C( + return o === "circle" ? /* @__PURE__ */ I("circle", { cx: e.x, cy: e.y, r: t / 2, strokeWidth: 1.5, style: r }) : /* @__PURE__ */ I( "rect", { x: e.x - t / 2, @@ -39380,42 +40283,42 @@ function yX({ } ); } -function wX({ +function LZ({ page: e, components: t }) { - const n = e.transform.viewScale, o = e.transform.rotation, r = e.transform.zoom, s = Xe( - It, + const n = e.transform.viewScale, o = e.transform.rotation, r = e.transform.zoom, s = Ze( + Tt, (d) => d.listChromeNodes(e.ref, n, o, r), - Do - ), { chrome: i, painted: a } = q3(), c = t?.Handle, l = t?.RotationHandle, u = [], f = VD(s, e.transform).map((d, p) => { + Fo + ), { chrome: a, painted: i } = S3(), c = t?.Handle, l = t?.RotationHandle, u = [], f = tB(s, e.transform).map((d, p) => { switch (d.kind) { case "handle": return c ? (u.push( - /* @__PURE__ */ C( + /* @__PURE__ */ I( c, { at: d.at, - size: i.handles.size, + size: a.handles.size, rotation: d.rotation, kind: d.role, active: d.active }, p ) - ), null) : /* @__PURE__ */ C( - yX, + ), null) : /* @__PURE__ */ I( + RZ, { at: d.at, - size: i.handles.size, + size: a.handles.size, rotation: d.rotation, - shape: i.handles.shape, - style: a.handle + shape: a.handles.shape, + style: i.handle }, p ); case "guide": - return /* @__PURE__ */ C( + return /* @__PURE__ */ I( "line", { x1: d.from.x, @@ -39423,40 +40326,40 @@ function wX({ x2: d.to.x, y2: d.to.y, shapeRendering: "crispEdges", - style: a.guide + style: i.guide }, p ); case "turned-outline": - return /* @__PURE__ */ C("polygon", { points: d.points, fill: "none", style: a.outline }, p); + return /* @__PURE__ */ I("polygon", { points: d.points, fill: "none", style: i.outline }, p); case "rotation-guides": - return /* @__PURE__ */ C("g", { children: d.lines.map((h, g) => /* @__PURE__ */ C( + return /* @__PURE__ */ I("g", { children: d.lines.map((g, h) => /* @__PURE__ */ I( "line", { - x1: h.from.x, - y1: h.from.y, - x2: h.to.x, - y2: h.to.y, - opacity: h.opacity, - style: a.rotationGuide + x1: g.from.x, + y1: g.from.y, + x2: g.to.x, + y2: g.to.y, + opacity: g.opacity, + style: i.rotationGuide }, - g + h )) }, p); case "rotation-handle": return l ? (u.push( - /* @__PURE__ */ C( + /* @__PURE__ */ I( l, { at: d.at, from: d.from, - size: i.rotationHandle.size, + size: a.rotationHandle.size, rotation: 0, active: !1 }, p ) - ), null) : /* @__PURE__ */ C("g", { children: [ - i.rotationHandle.stalk && /* @__PURE__ */ C( + ), null) : /* @__PURE__ */ I("g", { children: [ + a.rotationHandle.stalk && /* @__PURE__ */ I( "line", { x1: d.from.x, @@ -39464,24 +40367,24 @@ function wX({ x2: d.at.x, y2: d.at.y, strokeWidth: 1, - style: { stroke: a.rotationHandle.stroke } + style: { stroke: i.rotationHandle.stroke } } ), - /* @__PURE__ */ C( + /* @__PURE__ */ I( "circle", { cx: d.at.x, cy: d.at.y, - r: i.rotationHandle.size / 2, + r: a.rotationHandle.size / 2, strokeWidth: 1.5, - style: a.rotationHandle + style: i.rotationHandle } ) ] }, p); // The box dragged to select keeps its own look (a see-through accent // fill, always dashed); the selection outline follows the settings. case "marquee": - return /* @__PURE__ */ C( + return /* @__PURE__ */ I( "rect", { x: d.box.left, @@ -39490,12 +40393,12 @@ function wX({ height: d.box.height, strokeWidth: 1, strokeDasharray: "4 3", - style: a.marquee + style: i.marquee }, p ); case "outline": - return /* @__PURE__ */ C( + return /* @__PURE__ */ I( "rect", { x: d.box.left, @@ -39503,128 +40406,128 @@ function wX({ width: d.box.width, height: d.box.height, fill: "none", - style: a.outline + style: i.outline }, p ); } }); - return /* @__PURE__ */ C(Te, { children: [ - /* @__PURE__ */ C("svg", { style: { position: "absolute", inset: 0, overflow: "visible", pointerEvents: "none" }, children: f }), - u.length > 0 && /* @__PURE__ */ C("div", { style: { position: "absolute", inset: 0, pointerEvents: "none" }, children: u }) + return /* @__PURE__ */ I(Re, { children: [ + /* @__PURE__ */ I("svg", { style: { position: "absolute", inset: 0, overflow: "visible", pointerEvents: "none" }, children: f }), + u.length > 0 && /* @__PURE__ */ I("div", { style: { position: "absolute", inset: 0, pointerEvents: "none" }, children: u }) ] }); } -function vX(e, t) { - const n = Ge(It), [o, r] = ke(null), [s] = ke(() => YD()); +function jZ(e, t) { + const n = Ge(Tt), [o, r] = ke(null), [s] = ke(() => oB()); return Se( () => s.follow(o, n, e, t), [s, n, o, e, t] ), Se(() => () => s.detach(), [s]), r; } -function kX({ item: e, page: t }) { - const { painted: n } = q3(); - eh(e.programs); - const o = XD(e, t.transform, n.textOutline), r = vX(e, o.scale); - return /* @__PURE__ */ C("div", { ref: r, suppressContentEditableWarning: !0, style: o.style }); +function FZ({ item: e, page: t }) { + const { painted: n } = S3(); + sh(e.programs); + const o = sB(e, t.transform, n.textOutline), r = jZ(e, o.scale); + return /* @__PURE__ */ I("div", { ref: r, suppressContentEditableWarning: !0, style: o.style }); } -function xX(e, t, n) { - const o = me(t); +function DZ(e, t, n) { + const o = ye(t); o.current = t; const [, r] = ke(0); Se(() => { if (!n) return; - const s = JD(e, n, () => o.current()); - return r((i) => i + 1), s; + const s = iB(e, n, () => o.current()); + return r((a) => a + 1), s; }, [e, n]); } -function AX({ renderers: e, components: t } = {}) { - const n = so(), o = Ge(It); - ht(cn, (m) => m.getActiveToolId(), ""); - const r = at(cn), s = n.transform.zoom, i = n.transform.rotation, a = Xe( - It, - (m) => m.listPageItems(n.ref, { zoom: s, rotation: i }), - Do - ), c = Xe( - It, - (m) => m.listTextItems(n.ref, { zoom: s, rotation: i }), - Do - ), [l, u] = ke(null), [f] = ke(EM); - Se(() => () => f.release(), [f]), xX(o, () => r?.getActiveToolId() ?? "", e), uE(n.ref, "annotations"); - const d = me(e); - e && d.current && e !== d.current && Do(e, d.current) && Yl( +function $Z({ renderers: e, components: t } = {}) { + const n = so(), o = Ge(Tt); + mt(fn, (m) => m.getActiveToolId(), ""); + const r = ct(fn), s = n.transform.zoom, a = n.transform.rotation, i = Ze( + Tt, + (m) => m.listPageItems(n.ref, { zoom: s, rotation: a }), + Fo + ), c = Ze( + Tt, + (m) => m.listTextItems(n.ref, { zoom: s, rotation: a }), + Fo + ), [l, u] = ke(null), [f] = ke(rE); + Se(() => () => f.release(), [f]), DZ(o, () => r?.getActiveToolId() ?? "", e), WE(n.ref, "annotations"); + const d = ye(e); + e && d.current && e !== d.current && Fo(e, d.current) && Xl( "annotation-renderers-inline", " was given a new array with the same entries — define it outside render (module scope or useMemo), because entry identity keys the behavior registration." ), d.current = e; - const p = Xe( - It, + const p = Ze( + Tt, (m) => m.getAppearanceEpoch(n.ref) - ), h = ht( - pn, + ), g = mt( + wn, (m) => m.getAppearanceScale(n.transform.renderScale), n.transform.renderScale ); Se( - () => CM( + () => sE( f, - (m) => o.renderAppearances(n.ref, h, m), - ie, + (m) => o.renderAppearances(n.ref, g, m), + Y, u ), - [f, o, n.ref, h, p] + [f, o, n.ref, g, p] ); - const g = n$(c, ie); - return /* @__PURE__ */ C("div", { style: { position: "absolute", inset: 0, pointerEvents: "none" }, children: [ - a.map((m) => { - const M = m.annotation?.appearanceState ?? null, x = yM({ + const h = uB(c, Y); + return /* @__PURE__ */ I("div", { style: { position: "absolute", inset: 0, pointerEvents: "none" }, children: [ + i.map((m) => { + const O = m.annotation?.appearanceState ?? null, E = GM({ pending: m.source !== "baked", - picture: l && Jy(l, m.id, M), + picture: l && f0(l, m.id, O), version: m.pictureVersion ?? 0, loaded: l !== null, - paint: () => aY(m) ? m : null - }), S = x?.kind === "painting" ? ( + paint: () => xQ(m) ? m : null + }), P = E?.kind === "painting" ? ( // shapes, cloudy, markup: all painted via scene() - /* @__PURE__ */ C(gX, { item: m }) - ) : x?.kind === "picture" && m.raster ? /* @__PURE__ */ C(mX, { url: x.picture.url, box: XF(m.raster, m.frame) }) : null, P = (O, b) => /* @__PURE__ */ C(hX, { item: m, page: n, ...b, children: O }, m.id), k = m.annotation; - if (!k) return P(S); - const A = (O, b) => { - const v = cM(m.frame, n.transform), E = O.scale !== !1, I = O.component, T = /* @__PURE__ */ C( - I, + /* @__PURE__ */ I(_Z, { item: m }) + ) : E?.kind === "picture" && m.raster ? /* @__PURE__ */ I(NZ, { url: E.picture.url, box: s$(m.raster, m.frame) }) : null, k = (x, y) => /* @__PURE__ */ I(IZ, { item: m, page: n, ...y, children: x }, m.id), A = m.annotation; + if (!A) return k(P); + const w = (x, y) => { + const M = DM(m.frame, n.transform), S = x.scale !== !1, C = x.component, N = /* @__PURE__ */ I( + C, { - annotation: k, - frame: ZF(v, E), - native: S, - appearance: l && s$(l, m.id, M), + annotation: A, + frame: a$(M, S), + native: P, + appearance: l && pB(l, m.id, O), hovered: m.hovered ?? !1, selected: m.selected, - interactive: b + interactive: y } ); - return E ? /* @__PURE__ */ C( + return S ? /* @__PURE__ */ I( "div", { style: { position: "absolute", left: 0, top: 0, - width: v.design.width, - height: v.design.height, - transform: `scale(${v.scale})`, + width: M.design.width, + height: M.design.height, + transform: `scale(${M.scale})`, transformOrigin: "0 0" }, - children: /* @__PURE__ */ C(pX.Provider, { value: v.scale, children: T }) + children: /* @__PURE__ */ I(CZ.Provider, { value: M.scale, children: N }) } - ) : T; - }, y = g !== null && ie(k.ref) === g, w = t$(k, o, e, y); - switch (w.kind) { + ) : N; + }, b = h !== null && Y(A.ref) === h, v = lB(A, o, e, b); + switch (v.kind) { case "owned": { - const O = w.entry.component; - return /* @__PURE__ */ C( - O, + const x = v.entry.component; + return /* @__PURE__ */ I( + x, { - annotation: k, + annotation: A, item: m, page: n, - native: P(S), + native: k(P), hovered: m.hovered ?? !1, selected: m.selected, interactive: !0 @@ -39633,111 +40536,111 @@ function AX({ renderers: e, components: t } = {}) { ); } case "look": - return P(A(w.entry, w.interactive), { - interactive: w.interactive, - inert: w.inert + return k(w(v.entry, v.interactive), { + interactive: v.interactive, + inert: v.inert }); case "native": - return P(S, { inert: w.inert }); + return k(P, { inert: v.inert }); } }), - o$(c, a, e, ie).map((m) => /* @__PURE__ */ C(kX, { item: m, page: n }, m.id)), - /* @__PURE__ */ C(bX, { page: n }), - /* @__PURE__ */ C(wX, { page: n, components: t }) + dB(c, i, e, Y).map((m) => /* @__PURE__ */ I(FZ, { item: m, page: n }, m.id)), + /* @__PURE__ */ I(TZ, { page: n }), + /* @__PURE__ */ I(LZ, { page: n, components: t }) ] }); } -const SX = wF; -function PX(e = SX) { - const t = at(Qe); +const BZ = MD; +function zZ(e = BZ) { + const t = ct(Qe); Se(() => { if (t) - return vF( + return ED( t, e, - () => Yl( + () => Xl( "file-picker-provider-twice", "useFilePickerProvider() is called from two mounted components for the same document — the later one wins. Call it once, at a document-scoped spot." ) ); }, [t, e]); } -function OX() { +function WZ() { return Ge(Qe); } -const MX = {}; -function EX(e) { - return ht( +const UZ = {}; +function KZ(e) { + return mt( Qe, (t) => t.tools.getDefaults(e), - MX + UZ ); } -const CX = { properties: [], values: {}, mixed: [] }; -function Ape(e) { - return ht( +const qZ = { properties: [], values: {}, mixed: [] }; +function Bhe(e) { + return mt( Qe, (t) => e === void 0 ? t.selection.getProperties() : t.tools.getProperties(e), - CX + qZ ); } -function Spe() { +function zhe() { return Ge(Qe).comments; } -const IX = [], _X = []; -function Ppe() { - const e = tn(), t = ht( +const HZ = [], VZ = []; +function Whe() { + const e = an(), t = mt( Qe, (o) => o.comments.listThreads(), - _X - ), n = wt( - (o) => e ? o.documents.listPages(e) : IX + VZ + ), n = vt( + (o) => e ? o.documents.listPages(e) : HZ ); - return He(() => a$(t, n), [t, n]); + return He(() => gB(t, n), [t, n]); } -const Yt = At("stamp", { +const Jt = St("stamp", { hint: "add stampPlugin() from '@embedpdf/plugin-stamp' to your plugins list" }); -function NX(e) { +function GZ(e) { const t = e.indexOf("="); return t < 0 ? { name: e, label: e } : { name: e.slice(0, t), label: e.slice(t + 1) }; } -function $d(e, t) { +function Wd(e, t) { return `${e}=${t}`; } -const LA = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; -function TX(e = Math.random) { +const ZA = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; +function YZ(e = Math.random) { let t = "#"; - for (let n = 0; n < 22; n++) t += LA[Math.floor(e() * LA.length)]; + for (let n = 0; n < 22; n++) t += ZA[Math.floor(e() * ZA.length)]; return t; } -function H3(e, t) { +function O3(e, t) { return `${e}:${t}`; } -const ed = "EMBD_StampLibrary", Xc = "EMBD_Stamp", V3 = 2, hw = "stamps"; -function RX(e) { +const od = "EMBD_StampLibrary", Qc = "EMBD_Stamp", P3 = 2, Cw = "stamps"; +function QZ(e) { return e === "stamps" ? "StampLibrary" : e === "signatures" ? "SignatureLibrary" : e; } -function LX(e) { - return !e || e === "StampLibrary" ? hw : e === "SignatureLibrary" ? "signatures" : e; +function XZ(e) { + return !e || e === "StampLibrary" ? Cw : e === "SignatureLibrary" ? "signatures" : e; } -function jX(e) { +function ZZ(e) { return e === "signature" ? "Signature" : e === "initials" ? "Initials" : "Stamp"; } -function Tg(e, t = {}) { +function Dg(e, t = {}) { return { - Version: V3, + Version: P3, Id: e, - Kind: { name: RX(t.kind ?? hw) }, + Kind: { name: QZ(t.kind ?? Cw) }, // Format version 2 keeps the name in the PDF's /Title. Name: null, Categories: t.categories ?? null, Locale: t.locale ?? null }; } -function mb(e, t = {}) { +function Pb(e, t = {}) { return { - Version: V3, - Kind: { name: jX(e) }, + Version: P3, + Kind: { name: ZZ(e) }, // Format version 2 keeps the identifier and label in the /Names /Pages // key; only an explicit /Subj override has no standard home. The format // version 1 `Name`/`Subject` keys are cleared, so a re-imported format @@ -39748,67 +40651,67 @@ function mb(e, t = {}) { Categories: t.categories ?? null }; } -const FX = { +const JZ = { assetEngine: null, fonts: [], previewWidth: 256, dynamic: !0 -}, Je = (e, t) => new Z(e, "stamp", t), Io = (e, t) => Je("not-found", `unknown ${e} '${t}'`), G3 = (e, t) => new Z("permission-denied", "stamp", `${t} requires ${e}`, { +}, tt = (e, t) => new te(e, "stamp", t), Co = (e, t) => tt("not-found", `unknown ${e} '${t}'`), M3 = (e, t) => new te("permission-denied", "stamp", `${t} requires ${e}`, { permission: e -}), Pt = (e) => { +}), It = (e) => { if (e?.aborted) - throw new Z("operation-cancelled", "stamp", "operation cancelled", { + throw new te("operation-cancelled", "stamp", "operation cancelled", { cause: e.reason }); -}, On = (e) => async (...t) => { +}, Cn = (e) => async (...t) => { try { return await e(...t); } catch (n) { - throw Be("stamp", n); + throw Fe("stamp", n); } }; -function DX(e, { +function eJ(e, { binaries: t, assetEngine: n, ghosts: o, targets: r }) { - const { binaries: s, libraryBinaries: i } = t, { ghostProvider: a } = o, { documentIdOf: c } = r, l = (d) => { + const { binaries: s, libraryBinaries: a } = t, { ghostProvider: i } = o, { documentIdOf: c } = r, l = (d) => { const p = e.state.get(); return (d?.libraryId ? [d.libraryId] : p.libraryOrder).flatMap( - (g) => (p.libraries[g]?.assetIds ?? []).map((m) => p.assets[m]) + (h) => (p.libraries[h]?.assetIds ?? []).map((m) => p.assets[m]) ).filter( - (g) => g != null && (!d?.kind || g.kind === d.kind) && (!d?.category || (g.categories ?? []).includes(d.category)) + (h) => h != null && (!d?.kind || h.kind === d.kind) && (!d?.category || (h.categories ?? []).includes(d.category)) ); }, u = (d) => { const p = c(d); return p ? e.tryForDocument(Qe, p)?.canCreate() ?? !1 : !1; }, f = (d) => { const p = c(d); - return p !== null && e.get(tt).canDownload(p); + return p !== null && e.get(nt).canDownload(p); }; return { canPlace: u, canCreateFromAnnotations: f, api: { listLibraries: (d) => { - const p = e.state.get(), h = d?.kind === void 0 ? null : new Set(typeof d.kind == "string" ? [d.kind] : d.kind); - return p.libraryOrder.map((g) => p.libraries[g]).filter( - (g) => g != null && (h === null || h.has(g.kind)) + const p = e.state.get(), g = d?.kind === void 0 ? null : new Set(typeof d.kind == "string" ? [d.kind] : d.kind); + return p.libraryOrder.map((h) => p.libraries[h]).filter( + (h) => h != null && (g === null || g.has(h.kind)) ); }, getLibrary: (d) => e.state.get().libraries[d] ?? null, listAssets: l, getAsset: (d) => e.state.get().assets[d] ?? null, getAssetPreview: (d) => s.get(d)?.preview ?? null, - renderAssetPreview: On( - async (d, { width: p, signal: h }) => { - Pt(h); - const g = s.get(d); - if (!g) throw Io("asset", d); + renderAssetPreview: Cn( + async (d, { width: p, signal: g }) => { + It(g); + const h = s.get(d); + if (!h) throw Co("asset", d); const m = await e.cancellable( - h, - a(g.bytes, g.preview, d)(p) + g, + i(h.bytes, h.preview, d)(p) ); return m ? { bytes: m.bytes, mimeType: m.mimeType ?? "image/png" } : null; } @@ -39818,10 +40721,10 @@ function DX(e, { return p ? new Uint8Array(p) : null; }, exportLibrary: async (d, p) => { - Pt(p?.signal); - const h = i.get(d); - if (!h) throw Io("library", d); - return new Uint8Array(h); + It(p?.signal); + const g = a.get(d); + if (!g) throw Co("library", d); + return new Uint8Array(g); }, canPlace: u, canCreateFromAnnotations: f, @@ -39829,9 +40732,9 @@ function DX(e, { } }; } -let $X = 0; -const Y3 = (e) => `${e}-${Date.now().toString(36)}-${($X++).toString(36)}`; -function BX(e) { +let tJ = 0; +const E3 = (e) => `${e}-${Date.now().toString(36)}-${(tJ++).toString(36)}`; +function nJ(e) { const t = e.settings(); let n = null, o = null; const r = [], s = () => { @@ -39841,31 +40744,31 @@ function BX(e) { typeof f == "function" && r.push(d), o = { from: f, engine: d }, n = null; } return o.engine; - }, i = /* @__PURE__ */ new WeakMap(), a = async (f) => { + }, a = /* @__PURE__ */ new WeakMap(), i = async (f) => { const d = t.get().fonts.find((m) => m.key === f); if (!d) return; const p = await s(); - if (!dl(p)) return; - let h = i.get(p); - h || i.set(p, h = /* @__PURE__ */ new Map()); - let g = h.get(f); - if (!g) { - const m = h; - g = d.load().then((M) => p.fonts.register({ key: f, data: M })).then(() => { - }), m.set(f, g), g.catch(() => m.delete(f)); - } - return g; + if (!ul(p)) return; + let g = a.get(p); + g || a.set(p, g = /* @__PURE__ */ new Map()); + let h = g.get(f); + if (!h) { + const m = g; + h = d.load().then((O) => p.fonts.register({ key: f, data: O })).then(() => { + }), m.set(f, h), h.catch(() => m.delete(f)); + } + return h; }, c = async (f) => { const d = await s(); - if (!dl(d)) - throw n !== !1 && (n = !1, e.notify()), Je( + if (!ul(d)) + throw n !== !1 && (n = !1, e.notify()), tt( "unsupported", t.get().assetEngine ? "the stamp plugin's assetEngine must be a local engine (createLocalEngine())" : "importing a library PDF needs a local engine, and this viewer's engine is a cloud engine. Pass stampPlugin({ assetEngine: () => import('@embedpdf/engine').then((module) => module.createLocalEngine()) }): it loads lazily, on first import." ); - return d.open({ kind: "bytes", id: Y3("stamp-import"), bytes: f }, { scope: ["*"] }); + return d.open({ kind: "bytes", id: E3("stamp-import"), bytes: f }, { scope: ["*"] }); }, l = (f) => { if (f.source.kind !== "bytes") - throw Je( + throw tt( "unsupported", "the asset engine returned a URL-sourced render; asset engines must be local" ); @@ -39885,36 +40788,36 @@ function BX(e) { }); }), { openAssetDocument: c, - registerFont: a, + registerFont: i, imageToPreview: l, renderThumbnail: u, /** Optimistic until an import finds the asset engine is not local (cloud). */ canImport: () => o && o.from !== t.get().assetEngine ? !0 : n !== !1 }; } -function zX(e) { - const t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(), o = (s, i, a) => e.serialQueue(`library:${s}`)(i, { signal: a }), r = /* @__PURE__ */ new Map(); +function oJ(e) { + const t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(), o = (s, a, i) => e.serialQueue(`library:${s}`)(a, { signal: i }), r = /* @__PURE__ */ new Map(); return e.cleanup(() => { t.clear(), r.clear(), n.clear(); }), { binaries: t, libraryBinaries: n, ghostRenders: r, mutateLibrary: o }; } -function WX(e) { - const t = () => e.get(tt), n = (s) => s ?? t().getActiveId(); +function rJ(e) { + const t = () => e.get(nt), n = (s) => s ?? t().getActiveId(); return { documentIdOf: n, targetOf: (s) => { - const i = n(s?.documentId); - if (!i) throw Je("not-ready", "no document is open"); - return i; - }, pageOf: (s, i) => { - const a = t().getPage(i, s); - if (!a) - throw Je( + const a = n(s?.documentId); + if (!a) throw tt("not-ready", "no document is open"); + return a; + }, pageOf: (s, a) => { + const i = t().getPage(a, s); + if (!i) + throw tt( "not-found", - `no page ${typeof i == "number" ? i : i.objectNumber} in document '${s}'` + `no page ${typeof a == "number" ? a : a.objectNumber} in document '${s}'` ); - return a; + return i; } }; } -function UX(e) { +function sJ(e) { return { libraryChanged: e.events.source(), libraryCreated: e.events.source(), @@ -39926,82 +40829,82 @@ function UX(e) { armChanged: e.events.source() }; } -function KX({ +function aJ({ openAssetDocument: e, imageToPreview: t }, { ghostRenders: n }) { - const o = async (s, i) => { - const a = await e(new Uint8Array(s)); + const o = async (s, a) => { + const i = await e(new Uint8Array(s)); try { - const l = (await a.pages.list()).pages[0]; + const l = (await i.pages.list()).pages[0]; return l ? t( - await a.page(l.ref).render.image({ - viewport: { kind: "width", width: i }, + await i.page(l.ref).render.image({ + viewport: { kind: "width", width: a }, background: "transparent", includeAnnotations: !0, format: "png" }) ) : null; } finally { - await a.close(); + await i.close(); } }; - return { ghostProvider: (s, i, a) => { - const c = a ? n.get(a) ?? /* @__PURE__ */ new Map() : /* @__PURE__ */ new Map(); - return a && n.set(a, c), (l) => { + return { ghostProvider: (s, a, i) => { + const c = i ? n.get(i) ?? /* @__PURE__ */ new Map() : /* @__PURE__ */ new Map(); + return i && n.set(i, c), (l) => { let u = c.get(l); - return u || (u = o(s, l).catch((f) => (globalThis.console?.warn("[stamp] ghost render failed, using the thumbnail:", f), i)), c.set(l, u)), u; + return u || (u = o(s, l).catch((f) => (globalThis.console?.warn("[stamp] ghost render failed, using the thumbnail:", f), a)), c.set(l, u)), u; }; } }; } -function qX(e) { - const t = zX(e), n = BX(e); +function iJ(e) { + const t = oJ(e), n = nJ(e); return { - events: UX(e), + events: sJ(e), binaries: t, assetEngine: n, - ghosts: KX(n, t), - targets: WX(e) + ghosts: aJ(n, t), + targets: rJ(e) }; } -const HX = () => ({ +const cJ = () => ({ libraries: {}, libraryOrder: [], assets: {}, armed: {} }); -function VX(e, t, n) { +function lJ(e, t, n) { return e.armed[t] === n ? e : { ...e, armed: { ...e.armed, [t]: n } }; } -function jA(e, t) { +function JA(e, t) { if (!t.some((o) => o in e.armed)) return e; const n = { ...e.armed }; for (const o of t) delete n[o]; return { ...e, armed: n }; } -function FA(e, t) { +function eS(e, t) { return { ...e, libraries: { ...e.libraries, [t.id]: t }, libraryOrder: [...e.libraryOrder, t.id] }; } -function GX(e, t) { +function uJ(e, t) { return e.libraries[t.id] ? { ...e, libraries: { ...e.libraries, [t.id]: t } } : e; } -function YX(e, t) { +function dJ(e, t) { const n = e.libraries[t]; if (!n) return e; const { [t]: o, ...r } = e.libraries, s = { ...e.assets }; - for (const i of n.assetIds) delete s[i]; + for (const a of n.assetIds) delete s[a]; return { ...e, libraries: r, - libraryOrder: e.libraryOrder.filter((i) => i !== t), + libraryOrder: e.libraryOrder.filter((a) => a !== t), assets: s }; } -function Q3(e, t) { +function C3(e, t) { const n = e.libraries[t.libraryId]; return n ? { ...e, @@ -40012,10 +40915,10 @@ function Q3(e, t) { } } : e; } -function QX(e, t) { +function fJ(e, t) { return e.assets[t.id] ? { ...e, assets: { ...e.assets, [t.id]: t } } : e; } -function XX(e, t) { +function pJ(e, t) { const n = e.assets[t]; if (!n) return e; const { [t]: o, ...r } = e.assets, s = e.libraries[n.libraryId]; @@ -40026,259 +40929,259 @@ function XX(e, t) { ...e.libraries, [s.id]: { ...s, - assetIds: s.assetIds.filter((i) => i !== t) + assetIds: s.assetIds.filter((a) => a !== t) } } : e.libraries }; } -function ZX(e, { +function hJ(e, { events: t, binaries: n, assetEngine: o, targets: r -}, { resolveAssetSource: s }, { createLibrary: i }, { canCreateFromAnnotations: a }) { - const { libraryChanged: c, assetCreated: l, assetUpdated: u, assetDeleted: f } = t, { binaries: d, libraryBinaries: p, ghostRenders: h, mutateLibrary: g } = n, { openAssetDocument: m, renderThumbnail: M } = o, { targetOf: x, pageOf: S } = r, P = async (b, v) => { - const E = v?.signal; - if (Pt(E), b.libraryId && !e.state.get().libraries[b.libraryId]) - throw Io("library", b.libraryId); - const I = await e.cancellable(E, s(b)), T = Xi(I.bytes); - if (!T) - throw Je("invalid-input", "asset source must be PNG, JPEG, or single-page PDF bytes"); - const _ = T.mimeType === "application/pdf", N = b.name ?? TX(), F = b.label ?? N; - if (N.length === 0 || N.includes("=")) - throw Je( +}, { resolveAssetSource: s }, { createLibrary: a }, { canCreateFromAnnotations: i }) { + const { libraryChanged: c, assetCreated: l, assetUpdated: u, assetDeleted: f } = t, { binaries: d, libraryBinaries: p, ghostRenders: g, mutateLibrary: h } = n, { openAssetDocument: m, renderThumbnail: O } = o, { targetOf: E, pageOf: P } = r, k = async (y, M) => { + const S = M?.signal; + if (It(S), y.libraryId && !e.state.get().libraries[y.libraryId]) + throw Co("library", y.libraryId); + const C = await e.cancellable(S, s(y)), N = Za(C.bytes); + if (!N) + throw tt("invalid-input", "asset source must be PNG, JPEG, or single-page PDF bytes"); + const _ = N.mimeType === "application/pdf", T = y.name ?? YZ(), $ = y.label ?? T; + if (T.length === 0 || T.includes("=")) + throw tt( "invalid-input", - `invalid stamp identifier '${N}': must be non-empty and contain no '='` + `invalid stamp identifier '${T}': must be non-empty and contain no '='` ); - const R = b.size ?? ("width" in T ? { width: T.width, height: T.height } : null); - if (!_ && (!R || R.width <= 0 || R.height <= 0)) - throw Je( + const j = y.size ?? ("width" in N ? { width: N.width, height: N.height } : null); + if (!_ && (!j || j.width <= 0 || j.height <= 0)) + throw tt( "invalid-input", "a raster asset needs a positive `size` (its page size in points)" ); - let j = null; - if (b.preview) { - const W = await bo(b.preview); - j = { - bytes: new Uint8Array(W.bytes), - mimeType: W.mimeType ?? "image/png" + let z = null; + if (y.preview) { + const D = await yo(y.preview); + z = { + bytes: new Uint8Array(D.bytes), + mimeType: D.mimeType ?? "image/png" }; } - const B = b.libraryId ?? (await i(F, { signal: E })).library.id; - return g( - B, + const L = y.libraryId ?? (await a($, { signal: S })).library.id; + return h( + L, async () => { - const W = e.state.get().libraries[B]; - if (!W) - throw Je("not-found", `library '${B}' no longer exists`); - const $ = H3(W.id, N); - if (e.state.get().assets[$]) - throw Je( + const D = e.state.get().libraries[L]; + if (!D) + throw tt("not-found", `library '${L}' no longer exists`); + const F = O3(D.id, T); + if (e.state.get().assets[F]) + throw tt( "invalid-input", - `library '${W.name}' already has a stamp named '${N}'` + `library '${D.name}' already has a stamp named '${T}'` ); - const K = p.get(W.id); - if (!K) - throw Je( + const B = p.get(D.id); + if (!B) + throw tt( "operation-failed", - `canonical bytes are missing for library '${W.id}'` + `canonical bytes are missing for library '${D.id}'` ); - const ee = await e.cancellable(E, m(K)); - let J; + const V = await e.cancellable(S, m(B)); + let Q; try { - let ue; + let le; if (_) { - const V = await ee.pages.insert(new Uint8Array(I.bytes)); - if (V.insertedPages.length !== 1) - throw Je("invalid-input", "a library asset must be a single-page PDF"); - ue = V.insertedPages[0]; + const G = await V.pages.insert(new Uint8Array(C.bytes)); + if (G.insertedPages.length !== 1) + throw tt("invalid-input", "a library asset must be a single-page PDF"); + le = G.insertedPages[0]; } else { - if (!ee.pages.flatten) - throw Je( + if (!V.pages.flatten) + throw tt( "unsupported", "raster assets need an asset engine with pages.flatten" ); - if (ue = (await ee.pages.insertBlank({ size: R })).insertedPages[0], await ee.page(ue).annotations.create( + if (le = (await V.pages.insertBlank({ size: j })).insertedPages[0], await V.page(le).annotations.create( { subtype: "stamp", - box: { x: 0, y: 0, width: R.width, height: R.height }, + box: { x: 0, y: 0, width: j.width, height: j.height }, fit: "fill" }, - { resources: { appearance: new Uint8Array(I.bytes) } } - ), (await ee.pages.flatten([ue], { usage: "display" })).results.some(({ status: ve }) => ve !== "applied")) - throw Je("operation-failed", "flattening the raster into its page failed"); + { resources: { appearance: new Uint8Array(C.bytes) } } + ), (await V.pages.flatten([le], { usage: "display" })).results.some(({ status: ve }) => ve !== "applied")) + throw tt("operation-failed", "flattening the raster into its page failed"); } - const be = (await ee.pages.list()).pages.find( - (V) => V.ref.objectNumber === ue.objectNumber - ), we = ee.page(ue); - if (!be) - throw Je("operation-failed", "the new page is missing from the library layout"); - await ee.pages.setName({ name: $d(N, F), page: ue }); - const Oe = { - id: $, - libraryId: W.id, - kind: b.kind ?? "stamp", - name: N, - label: F, - size: { width: be.size.width, height: be.size.height }, - page: ue, - ...b.subject !== void 0 ? { subject: b.subject } : {}, - ...b.categories !== void 0 ? { categories: b.categories } : {} + const pe = (await V.pages.list()).pages.find( + (G) => G.ref.objectNumber === le.objectNumber + ), me = V.page(le); + if (!pe) + throw tt("operation-failed", "the new page is missing from the library layout"); + await V.pages.setName({ name: Wd(T, $), page: le }); + const Ae = { + id: F, + libraryId: D.id, + kind: y.kind ?? "stamp", + name: T, + label: $, + size: { width: pe.size.width, height: pe.size.height }, + page: le, + ...y.subject !== void 0 ? { subject: y.subject } : {}, + ...y.categories !== void 0 ? { categories: y.categories } : {} }; - await we.pieceInfo.update( - Xc, - mb(Oe.kind, { subject: Oe.subject, categories: Oe.categories }) + await me.pieceInfo.update( + Qc, + Pb(Ae.kind, { subject: Ae.subject, categories: Ae.categories }) ); - const Ce = await ee.pages.extract([ue]), Me = j ?? await M(we); - J = { asset: Oe, bytes: Ce, preview: Me, canonical: await ee.download() }; + const Pe = await V.pages.extract([le]), Me = z ?? await O(me); + Q = { asset: Ae, bytes: Pe, preview: Me, canonical: await V.download() }; } finally { - await ee.close(); + await V.close(); } - return Pt(E), p.set(W.id, J.canonical), d.set(J.asset.id, { bytes: J.bytes, preview: J.preview }), e.state.update(Q3, J.asset), c.emit({ libraryId: W.id, type: "asset-created" }), l.emit({ - assetId: J.asset.id, - libraryId: W.id, - asset: J.asset - }), { asset: J.asset }; + return It(S), p.set(D.id, Q.canonical), d.set(Q.asset.id, { bytes: Q.bytes, preview: Q.preview }), e.state.update(C3, Q.asset), c.emit({ libraryId: D.id, type: "asset-created" }), l.emit({ + assetId: Q.asset.id, + libraryId: D.id, + asset: Q.asset + }), { asset: Q.asset }; }, - E + S ); - }, k = async (b, v, E, I) => { - const T = I?.signal; - Pt(T); - const _ = x(I); - if (!a(_)) - throw G3("doc.download", "stamp.createAssetFromAnnotations"); - const N = e.documentHandle(_); - if (!N) throw Je("not-found", `document '${_}' is not open`); - const F = N.page(S(_, b).ref), R = await e.cancellable(T, F.annotations.exportAppearance([...v])); - return P({ ...E, source: R }, { signal: T }); - }, A = async (b, v) => { - const E = v?.signal; - Pt(E); - const I = e.state.get().assets[b]; - if (I) - return g( - I.libraryId, + }, A = async (y, M, S, C) => { + const N = C?.signal; + It(N); + const _ = E(C); + if (!i(_)) + throw M3("doc.download", "stamp.createAssetFromAnnotations"); + const T = e.documentHandle(_); + if (!T) throw tt("not-found", `document '${_}' is not open`); + const $ = T.page(P(_, y).ref), j = await e.cancellable(N, $.annotations.exportAppearance([...M])); + return k({ ...S, source: j }, { signal: N }); + }, w = async (y, M) => { + const S = M?.signal; + It(S); + const C = e.state.get().assets[y]; + if (C) + return h( + C.libraryId, async () => { - const T = e.state.get().assets[b]; - if (!T) return; - const _ = e.state.get().libraries[T.libraryId]; + const N = e.state.get().assets[y]; + if (!N) return; + const _ = e.state.get().libraries[N.libraryId]; if (!_) return; - const N = p.get(_.id); - if (!N) - throw Je( + const T = p.get(_.id); + if (!T) + throw tt( "operation-failed", `canonical bytes are missing for library '${_.id}'` ); - const F = await e.cancellable(E, m(N)); - let R; + const $ = await e.cancellable(S, m(T)); + let j; try { - await F.pages.delete([T.page]), R = await F.download(); + await $.pages.delete([N.page]), j = await $.download(); } finally { - await F.close(); + await $.close(); } - Pt(E), p.set(_.id, R), d.delete(b), h.delete(b), e.state.update(XX, b), c.emit({ libraryId: _.id, type: "asset-deleted" }), f.emit({ assetId: b, libraryId: _.id, asset: null }); + It(S), p.set(_.id, j), d.delete(y), g.delete(y), e.state.update(pJ, y), c.emit({ libraryId: _.id, type: "asset-deleted" }), f.emit({ assetId: y, libraryId: _.id, asset: null }); }, - E + S ); - }, y = async (b, v, E) => { - const I = E?.signal; - Pt(I); - const T = e.state.get().assets[b]; - if (!T) throw Io("asset", b); - return g( - T.libraryId, + }, b = async (y, M, S) => { + const C = S?.signal; + It(C); + const N = e.state.get().assets[y]; + if (!N) throw Co("asset", y); + return h( + N.libraryId, async () => { - const _ = e.state.get().assets[b], N = _ ? e.state.get().libraries[_.libraryId] : void 0; - if (!_ || !N) throw Io("asset", b); - const { subject: F, ...R } = _, j = { - ...v.subject === null ? R : _, - ...v.label !== void 0 ? { label: v.label } : {}, - ...v.categories !== void 0 ? { categories: v.categories } : {}, - ...v.subject !== void 0 && v.subject !== null ? { subject: v.subject } : {} - }, B = p.get(N.id); - if (!B) - throw Je( + const _ = e.state.get().assets[y], T = _ ? e.state.get().libraries[_.libraryId] : void 0; + if (!_ || !T) throw Co("asset", y); + const { subject: $, ...j } = _, z = { + ...M.subject === null ? j : _, + ...M.label !== void 0 ? { label: M.label } : {}, + ...M.categories !== void 0 ? { categories: M.categories } : {}, + ...M.subject !== void 0 && M.subject !== null ? { subject: M.subject } : {} + }, L = p.get(T.id); + if (!L) + throw tt( "operation-failed", - `canonical bytes are missing for library '${N.id}'` + `canonical bytes are missing for library '${T.id}'` ); - const W = await e.cancellable(I, m(B)); - let $; + const D = await e.cancellable(C, m(L)); + let F; try { - j.label !== _.label && await W.pages.setName({ - name: $d(_.name, j.label), + z.label !== _.label && await D.pages.setName({ + name: Wd(_.name, z.label), page: _.page, - replace: $d(_.name, _.label) - }), await W.page(_.page).pieceInfo.update( - Xc, - mb(j.kind, { subject: j.subject, categories: j.categories }) - ), $ = await W.download(); + replace: Wd(_.name, _.label) + }), await D.page(_.page).pieceInfo.update( + Qc, + Pb(z.kind, { subject: z.subject, categories: z.categories }) + ), F = await D.download(); } finally { - await W.close(); + await D.close(); } - return Pt(I), p.set(N.id, $), e.state.update(QX, j), c.emit({ libraryId: N.id, type: "asset-updated" }), u.emit({ assetId: j.id, libraryId: N.id, asset: j }), { asset: j }; + return It(C), p.set(T.id, F), e.state.update(fJ, z), c.emit({ libraryId: T.id, type: "asset-updated" }), u.emit({ assetId: z.id, libraryId: T.id, asset: z }), { asset: z }; }, - I + C ); - }, w = async (b, v, E) => { - const I = E?.signal; - Pt(I); - const T = e.state.get().assets[b], _ = d.get(b); - if (!T || !_) throw Io("asset", b); - if (v.libraryId === T.libraryId) return { asset: T }; - const N = await P( + }, v = async (y, M, S) => { + const C = S?.signal; + It(C); + const N = e.state.get().assets[y], _ = d.get(y); + if (!N || !_) throw Co("asset", y); + if (M.libraryId === N.libraryId) return { asset: N }; + const T = await k( { - libraryId: v.libraryId, + libraryId: M.libraryId, source: new Uint8Array(_.bytes), - kind: T.kind, - label: T.label, - ...T.subject !== void 0 ? { subject: T.subject } : {}, - ...T.categories ? { categories: [...T.categories] } : {}, + kind: N.kind, + label: N.label, + ...N.subject !== void 0 ? { subject: N.subject } : {}, + ...N.categories ? { categories: [...N.categories] } : {}, ..._.preview ? { preview: _.preview.bytes } : {} }, - { signal: I } + { signal: C } ); - return await A(b), N; - }, O = async (b, v) => { - Pt(v?.signal); - const E = e.state.get().assets[b], I = d.get(b); - if (!E || !I) throw Io("asset", b); - return P( + return await w(y), T; + }, x = async (y, M) => { + It(M?.signal); + const S = e.state.get().assets[y], C = d.get(y); + if (!S || !C) throw Co("asset", y); + return k( { - libraryId: E.libraryId, - source: new Uint8Array(I.bytes), - kind: E.kind, - label: v?.label ?? `${E.label} copy`, - ...E.subject !== void 0 ? { subject: E.subject } : {}, - ...E.categories ? { categories: [...E.categories] } : {}, - ...I.preview ? { preview: I.preview.bytes } : {} + libraryId: S.libraryId, + source: new Uint8Array(C.bytes), + kind: S.kind, + label: M?.label ?? `${S.label} copy`, + ...S.subject !== void 0 ? { subject: S.subject } : {}, + ...S.categories ? { categories: [...S.categories] } : {}, + ...C.preview ? { preview: C.preview.bytes } : {} }, - { signal: v?.signal } + { signal: M?.signal } ); }; return { api: { - createAsset: On(P), - createAssetFromAnnotations: On(k), - updateAsset: On(y), - deleteAsset: On(A), - moveAsset: On(w), - duplicateAsset: On(O) + createAsset: Cn(k), + createAssetFromAnnotations: Cn(A), + updateAsset: Cn(b), + deleteAsset: Cn(w), + moveAsset: Cn(v), + duplicateAsset: Cn(x) } }; } -const Rg = [ +const $g = [ "<< /Type /Catalog /Pages 2 0 R >>", "<< /Type /Pages /Kids [3 0 R] /Count 1 >>", "<< /Type /Page /Parent 2 0 R /MediaBox [0 0 612 792] >>" ]; -let td = null; -function X3() { - if (td) return new Uint8Array(td); +let rd = null; +function I3() { + if (rd) return new Uint8Array(rd); let e = `%PDF-1.7 `; const t = []; - Rg.forEach((o, r) => { + $g.forEach((o, r) => { t.push(e.length), e += `${r + 1} 0 obj ${o} endobj @@ -40286,28 +41189,28 @@ endobj }); const n = e.length; e += `xref -0 ${Rg.length + 1} +0 ${$g.length + 1} 0000000000 65535 f `; for (const o of t) e += `${String(o).padStart(10, "0")} 00000 n `; return e += `trailer -<< /Size ${Rg.length + 1} /Root 1 0 R >> +<< /Size ${$g.length + 1} /Root 1 0 R >> startxref ${n} %%EOF -`, td = new TextEncoder().encode(e), new Uint8Array(td); +`, rd = new TextEncoder().encode(e), new Uint8Array(rd); } -const ji = (e, t) => { +const $a = (e, t) => { const n = e[t]; return n?.type === "string" && n.value.length > 0 ? n.value : void 0; -}, DA = (e, t) => { +}, tS = (e, t) => { const n = e[t]; return n?.type === "name" && n.value.length > 0 ? n.value : void 0; -}, $A = (e, t) => { +}, nS = (e, t) => { const n = e[t]; return n?.type === "string-array" ? [...n.value] : void 0; -}, JX = (e) => { +}, gJ = (e) => { switch (e?.toLowerCase()) { case "stamp": return "stamp"; @@ -40318,290 +41221,290 @@ const ji = (e, t) => { default: return; } -}, BA = (e, t, n) => { +}, oS = (e, t, n) => { let o = e; if (!o || n.has(o)) do - o = Y3(t); + o = E3(t); while (n.has(o)); return n.add(o), o; }; -function eZ(e, { events: t, binaries: n, assetEngine: o }) { - const { libraryChanged: r, libraryCreated: s, libraryUpdated: i, libraryDeleted: a, assetCreated: c } = t, { binaries: l, libraryBinaries: u, ghostRenders: f, mutateLibrary: d } = n, { openAssetDocument: p, renderThumbnail: h } = o, g = async (P, k) => { - const A = k?.signal; - Pt(A); - const y = k?.kind ?? hw, w = new Set(Object.keys(e.state.get().libraries)), O = BA(k?.id, "stamp-lib", w), b = await e.cancellable(A, p(X3())); - let v; +function mJ(e, { events: t, binaries: n, assetEngine: o }) { + const { libraryChanged: r, libraryCreated: s, libraryUpdated: a, libraryDeleted: i, assetCreated: c } = t, { binaries: l, libraryBinaries: u, ghostRenders: f, mutateLibrary: d } = n, { openAssetDocument: p, renderThumbnail: g } = o, h = async (k, A) => { + const w = A?.signal; + It(w); + const b = A?.kind ?? Cw, v = new Set(Object.keys(e.state.get().libraries)), x = oS(A?.id, "stamp-lib", v), y = await e.cancellable(w, p(I3())); + let M; try { - await b.metadata.update({ title: P }), await b.pieceInfo.update( - ed, - Tg(O, { kind: y, categories: k?.categories }) - ), v = await b.download(); + await y.metadata.update({ title: k }), await y.pieceInfo.update( + od, + Dg(x, { kind: b, categories: A?.categories }) + ), M = await y.download(); } finally { - await b.close(); + await y.close(); } - Pt(A); - const E = { - id: O, - name: P, - kind: y, + It(w); + const S = { + id: x, + name: k, + kind: b, assetIds: [], - ...k?.categories ? { categories: k.categories } : {} + ...A?.categories ? { categories: A.categories } : {} }; - return u.set(O, v), e.state.update(FA, E), r.emit({ libraryId: O, type: "created" }), s.emit({ libraryId: O, library: E }), { library: E }; - }, m = async (P, k) => { - const A = k?.signal; - Pt(A); - const y = await e.cancellable(A, bo(P)); - if (Xi(y.bytes)?.mimeType !== "application/pdf") - throw Je( + return u.set(x, M), e.state.update(eS, S), r.emit({ libraryId: x, type: "created" }), s.emit({ libraryId: x, library: S }), { library: S }; + }, m = async (k, A) => { + const w = A?.signal; + It(w); + const b = await e.cancellable(w, yo(k)); + if (Za(b.bytes)?.mimeType !== "application/pdf") + throw tt( "invalid-input", "importLibrary needs PDF bytes (use createAsset for a raster image)" ); - const O = await e.cancellable(A, p(new Uint8Array(y.bytes))); - let b; + const x = await e.cancellable(w, p(new Uint8Array(b.bytes))); + let y; try { - const v = await O.pages.list(); - if (v.pageCount === 0) - throw Je( + const M = await x.pages.list(); + if (M.pageCount === 0) + throw tt( "invalid-input", "a canonical stamp library PDF must contain at least one page" ); - const E = new Map( - v.pages.map((J) => [J.ref.objectNumber, J]) - ), I = (await O.pieceInfo.get(ed))?.entries ?? {}, T = new Set(Object.keys(e.state.get().libraries)), _ = BA(ji(I, "Id"), "stamp-lib", T), N = await O.metadata.get(), F = (N.title && N.title.length > 0 ? N.title : void 0) ?? ji(I, "Name") ?? k?.name ?? "Stamps"; - N.title || await O.metadata.update({ title: F }); - const R = k?.categories ?? $A(I, "Categories"), j = ji(I, "Locale"), B = k?.libraryKind ?? LX(DA(I, "Kind")), W = (v.namedPages ?? []).filter( - (J) => J.target.kind === "page" - ), $ = (v.namedPages ?? []).filter((J) => J.target.kind !== "page"); - $.length > 0 && globalThis.console?.warn( - `[stamp] library '${F}' carries ${$.length} hidden-template or dangling registration(s); they are not stamps and were ignored` + const S = new Map( + M.pages.map((Q) => [Q.ref.objectNumber, Q]) + ), C = (await x.pieceInfo.get(od))?.entries ?? {}, N = new Set(Object.keys(e.state.get().libraries)), _ = oS($a(C, "Id"), "stamp-lib", N), T = await x.metadata.get(), $ = (T.title && T.title.length > 0 ? T.title : void 0) ?? $a(C, "Name") ?? A?.name ?? "Stamps"; + T.title || await x.metadata.update({ title: $ }); + const j = A?.categories ?? nS(C, "Categories"), z = $a(C, "Locale"), L = A?.libraryKind ?? XZ(tS(C, "Kind")), D = (M.namedPages ?? []).filter( + (Q) => Q.target.kind === "page" + ), F = (M.namedPages ?? []).filter((Q) => Q.target.kind !== "page"); + F.length > 0 && globalThis.console?.warn( + `[stamp] library '${$}' carries ${F.length} hidden-template or dangling registration(s); they are not stamps and were ignored` ); - let K; - if (W.length > 0) { - const J = /* @__PURE__ */ new Set(); - K = W.map((ue) => { - const { name: be, label: we } = NX(ue.name); - if (!be) - throw Je( + let B; + if (D.length > 0) { + const Q = /* @__PURE__ */ new Set(); + B = D.map((le) => { + const { name: pe, label: me } = GZ(le.name); + if (!pe) + throw tt( "invalid-input", - `library '${F}': empty stamp identifier in key '${ue.name}'` + `library '${$}': empty stamp identifier in key '${le.name}'` ); - if (J.has(be)) - throw Je( + if (Q.has(pe)) + throw tt( "invalid-input", - `library '${F}': duplicate stamp identifier '${be}'` + `library '${$}': duplicate stamp identifier '${pe}'` ); - J.add(be); - const Oe = E.get(ue.target.page.objectNumber); - return { page: Oe.ref, index: Oe.index, name: be, label: we }; - }), K.sort((ue, be) => ue.index - be.index); + Q.add(pe); + const Ae = S.get(le.target.page.objectNumber); + return { page: Ae.ref, index: Ae.index, name: pe, label: me }; + }), B.sort((le, pe) => le.index - pe.index); } else { - if (v.namedPages === void 0) - throw Je( + if (M.namedPages === void 0) + throw tt( "unsupported", "the asset engine reports no named-page registry; an engine with named pages is needed to import libraries" ); - K = []; - for (const J of v.pages) { - const ue = (await O.page(J.ref).pieceInfo.get(Xc))?.entries, be = (ue && ji(ue, "Name")) ?? `Stamp${J.index + 1}`, we = (ue && ji(ue, "Subject")) ?? k?.assetName?.(J.index) ?? be; - K.push({ page: J.ref, index: J.index, name: be, label: we }); + B = []; + for (const Q of M.pages) { + const le = (await x.page(Q.ref).pieceInfo.get(Qc))?.entries, pe = (le && $a(le, "Name")) ?? `Stamp${Q.index + 1}`, me = (le && $a(le, "Subject")) ?? A?.assetName?.(Q.index) ?? pe; + B.push({ page: Q.ref, index: Q.index, name: pe, label: me }); } - for (const J of K) - await O.pages.setName({ - name: $d(J.name, J.label), - page: J.page + for (const Q of B) + await x.pages.setName({ + name: Wd(Q.name, Q.label), + page: Q.page }); } - await O.pieceInfo.update( - ed, - Tg(_, { - kind: B, - categories: R, - locale: j + await x.pieceInfo.update( + od, + Dg(_, { + kind: L, + categories: j, + locale: z }) ); - const ee = []; - for (const J of K) { - const ue = O.page(J.page), be = (await ue.pieceInfo.get(Xc))?.entries ?? {}, we = k?.assetKind ?? JX(DA(be, "Kind")) ?? "stamp", Oe = ji(be, "SubjectOverride"), Ce = $A(be, "Categories"), Me = E.get(J.page.objectNumber), V = { - id: H3(_, J.name), + const V = []; + for (const Q of B) { + const le = x.page(Q.page), pe = (await le.pieceInfo.get(Qc))?.entries ?? {}, me = A?.assetKind ?? gJ(tS(pe, "Kind")) ?? "stamp", Ae = $a(pe, "SubjectOverride"), Pe = nS(pe, "Categories"), Me = S.get(Q.page.objectNumber), G = { + id: O3(_, Q.name), libraryId: _, - kind: we, - name: J.name, - label: J.label, + kind: me, + name: Q.name, + label: Q.label, size: { width: Me.size.width, height: Me.size.height }, - page: J.page, - ...Oe !== void 0 ? { subject: Oe } : {}, - ...Ce !== void 0 ? { categories: Ce } : {} + page: Q.page, + ...Ae !== void 0 ? { subject: Ae } : {}, + ...Pe !== void 0 ? { categories: Pe } : {} }; - await ue.pieceInfo.update( - Xc, - mb(we, { subject: Oe, categories: Ce }) + await le.pieceInfo.update( + Qc, + Pb(me, { subject: Ae, categories: Pe }) ); - const he = await O.pages.extract([J.page]); - ee.push({ asset: V, bytes: he, preview: await h(ue) }); + const ge = await x.pages.extract([Q.page]); + V.push({ asset: G, bytes: ge, preview: await g(le) }); } - b = { + y = { library: { id: _, - name: F, - kind: B, - ...j ? { locale: j } : {}, - categories: R, + name: $, + kind: L, + ...z ? { locale: z } : {}, + categories: j, assetIds: [] }, - canonicalBytes: await O.download(), - assets: ee + canonicalBytes: await x.download(), + assets: V }; } finally { - await O.close(); - } - Pt(A), u.set(b.library.id, b.canonicalBytes), e.state.update(FA, b.library); - for (const { asset: v, bytes: E, preview: I } of b.assets) - l.set(v.id, { bytes: E, preview: I }), e.state.update(Q3, v); - r.emit({ libraryId: b.library.id, type: "imported" }), s.emit({ libraryId: b.library.id, library: b.library }); - for (const { asset: v } of b.assets) - c.emit({ assetId: v.id, libraryId: b.library.id, asset: v }); - return { library: e.state.get().libraries[b.library.id] ?? b.library }; - }, M = (P) => { - const k = e.state.get().libraries[P]; - if (k) - for (const A of k.assetIds) - l.delete(A), f.delete(A); - u.delete(P), e.state.update(YX, P); - }, x = (P, k) => d( - P, + await x.close(); + } + It(w), u.set(y.library.id, y.canonicalBytes), e.state.update(eS, y.library); + for (const { asset: M, bytes: S, preview: C } of y.assets) + l.set(M.id, { bytes: S, preview: C }), e.state.update(C3, M); + r.emit({ libraryId: y.library.id, type: "imported" }), s.emit({ libraryId: y.library.id, library: y.library }); + for (const { asset: M } of y.assets) + c.emit({ assetId: M.id, libraryId: y.library.id, asset: M }); + return { library: e.state.get().libraries[y.library.id] ?? y.library }; + }, O = (k) => { + const A = e.state.get().libraries[k]; + if (A) + for (const w of A.assetIds) + l.delete(w), f.delete(w); + u.delete(k), e.state.update(dJ, k); + }, E = (k, A) => d( + k, async () => { - const A = e.state.get().libraries[P] !== void 0; - M(P), A && (r.emit({ libraryId: P, type: "deleted" }), a.emit({ libraryId: P, library: null })); + const w = e.state.get().libraries[k] !== void 0; + O(k), w && (r.emit({ libraryId: k, type: "deleted" }), i.emit({ libraryId: k, library: null })); }, - k?.signal - ), S = async (P, k, A) => { - const y = A?.signal; - if (Pt(y), !e.state.get().libraries[P]) throw Io("library", P); + A?.signal + ), P = async (k, A, w) => { + const b = w?.signal; + if (It(b), !e.state.get().libraries[k]) throw Co("library", k); return d( - P, + k, async () => { - const w = e.state.get().libraries[P]; - if (!w) throw Io("library", P); - const O = u.get(P); - if (!O) - throw Je("operation-failed", `canonical bytes are missing for library '${P}'`); - const b = { - ...w, - ...k.name !== void 0 ? { name: k.name } : {}, - ...k.categories !== void 0 ? { categories: k.categories } : {} - }, v = await e.cancellable(y, p(O)); - let E; + const v = e.state.get().libraries[k]; + if (!v) throw Co("library", k); + const x = u.get(k); + if (!x) + throw tt("operation-failed", `canonical bytes are missing for library '${k}'`); + const y = { + ...v, + ...A.name !== void 0 ? { name: A.name } : {}, + ...A.categories !== void 0 ? { categories: A.categories } : {} + }, M = await e.cancellable(b, p(x)); + let S; try { - b.name !== w.name && await v.metadata.update({ title: b.name }), await v.pieceInfo.update( - ed, - Tg(P, { - kind: b.kind, - categories: b.categories, - locale: b.locale + y.name !== v.name && await M.metadata.update({ title: y.name }), await M.pieceInfo.update( + od, + Dg(k, { + kind: y.kind, + categories: y.categories, + locale: y.locale }) - ), E = await v.download(); + ), S = await M.download(); } finally { - await v.close(); + await M.close(); } - return Pt(y), u.set(P, E), e.state.update(GX, b), r.emit({ libraryId: P, type: "updated" }), i.emit({ libraryId: P, library: b }), { library: b }; + return It(b), u.set(k, S), e.state.update(uJ, y), r.emit({ libraryId: k, type: "updated" }), a.emit({ libraryId: k, library: y }), { library: y }; }, - y + b ); }; return { - createLibrary: g, + createLibrary: h, api: { - createLibrary: On(g), - updateLibrary: On(S), - importLibrary: On(m), - deleteLibrary: On(x) + createLibrary: Cn(h), + updateLibrary: Cn(P), + importLibrary: Cn(m), + deleteLibrary: Cn(E) } }; } -const tZ = (e) => { +const bJ = (e) => { const t = e.trim(); if (!/^#[0-9a-f]{6}$/i.test(t)) - throw Je("invalid-input", `mark color must be #rrggbb, got '${e}'`); + throw tt("invalid-input", `mark color must be #rrggbb, got '${e}'`); return t; -}, zA = (e) => { +}, rS = (e) => { const t = new ArrayBuffer(e.byteLength); return new Uint8Array(t).set(e), t; -}, nZ = (e) => { +}, yJ = (e) => { if (!e.some((t) => t.length > 0)) - throw Je("invalid-input", "an ink mark needs at least one point"); + throw tt("invalid-input", "an ink mark needs at least one point"); return e.map((t) => t.map(({ x: n, y: o }) => ({ x: n, y: o }))); -}, oZ = (e, t) => ({ +}, wJ = (e, t) => ({ x: 0, y: 0, width: Math.max(1, e.length) * t * 0.75 + t, height: t * 1.6 }); -function rZ({ assetEngine: e }) { - const { openAssetDocument: t, registerFont: n } = e, o = async (i) => { - i.kind === "text" && await n(i.fontFamily); - const a = await t(X3()); +function vJ({ assetEngine: e }) { + const { openAssetDocument: t, registerFont: n } = e, o = async (a) => { + a.kind === "text" && await n(a.fontFamily); + const i = await t(I3()); try { - const l = (await a.pages.list()).pages[0]; - if (!l) throw Je("operation-failed", "the scratch document has no page"); - const u = a.page(l.ref), f = tZ(i.color ?? "#1d2b53"), d = i.kind === "ink" ? await u.annotations.create({ + const l = (await i.pages.list()).pages[0]; + if (!l) throw tt("operation-failed", "the scratch document has no page"); + const u = i.page(l.ref), f = bJ(a.color ?? "#1d2b53"), d = a.kind === "ink" ? await u.annotations.create({ subtype: "ink", - inkList: nZ(i.strokes), + inkList: yJ(a.strokes), color: f, - strokeWidth: i.strokeWidth ?? 2 + strokeWidth: a.strokeWidth ?? 2 }) : await u.annotations.create({ subtype: "free-text", intent: "free-text", - contents: i.text, - fontFamily: i.fontFamily, - fontSize: i.fontSize ?? 36, + contents: a.text, + fontFamily: a.fontFamily, + fontSize: a.fontSize ?? 36, textAlign: "center", verticalAlign: "middle", - box: oZ(i.text, i.fontSize ?? 36), + box: wJ(a.text, a.fontSize ?? 36), fontColor: f, strokeWidth: 0 }); return new Uint8Array(await u.annotations.exportAppearance([d.annotation.ref])); } finally { - await a.close(); + await i.close(); } - }, r = async (i, a) => { - const c = await t(i); + }, r = async (a, i) => { + const c = await t(a); try { - const l = await c.pages.list(), u = l.pages[a]; + const l = await c.pages.list(), u = l.pages[i]; if (!u) - throw Je( + throw tt( "invalid-input", - `the PDF has no page ${a} (${l.pageCount} pages)` + `the PDF has no page ${i} (${l.pageCount} pages)` ); return await c.pages.extract([u.ref]); } finally { await c.close(); } }; - return { resolveAssetSource: async (i) => { - if (i.source === void 0 == (i.mark === void 0)) - throw Je("invalid-input", "createAsset takes exactly one of `source` / `mark`"); - if (i.source !== void 0) return bo(i.source); - const a = i.mark; - switch (a.kind) { + return { resolveAssetSource: async (a) => { + if (a.source === void 0 == (a.mark === void 0)) + throw tt("invalid-input", "createAsset takes exactly one of `source` / `mark`"); + if (a.source !== void 0) return yo(a.source); + const i = a.mark; + switch (i.kind) { case "image": - return bo(a.source); + return yo(i.source); case "pdf": { - const c = await bo(a.source); - return a.pageIndex === void 0 ? c : { - bytes: zA(await r(new Uint8Array(c.bytes), a.pageIndex)) + const c = await yo(i.source); + return i.pageIndex === void 0 ? c : { + bytes: rS(await r(new Uint8Array(c.bytes), i.pageIndex)) }; } case "ink": case "text": - return { bytes: zA(await o(a)) }; + return { bytes: rS(await o(i)) }; } } }; } -const ss = (e) => e.kind === "objectNumber" ? `obj:${e.objectNumber}` : `fqn:${e.name}`, gw = (e, t) => ss(e) === ss(t), Ks = (e) => Array.isArray(e) ? [...e] : e, WA = (e, t) => Array.isArray(e) && Array.isArray(t) ? e.length === t.length && e.every((n, o) => n === t[o]) : e === t; -function sZ(e) { +const as = (e) => e.kind === "objectNumber" ? `obj:${e.objectNumber}` : `fqn:${e.name}`, Iw = (e, t) => as(e) === as(t), Ks = (e) => Array.isArray(e) ? [...e] : e, sS = (e, t) => Array.isArray(e) && Array.isArray(t) ? e.length === t.length && e.every((n, o) => n === t[o]) : e === t; +function kJ(e) { return e.map((t) => ({ ...t, ref: { ...t.ref }, @@ -40610,15 +41513,15 @@ function sZ(e) { ...t.options ? { options: t.options.map((n) => ({ ...n })) } : {} })); } -function ua(e, t) { - return e.find((n) => gw(n.ref, t)); +function ui(e, t) { + return e.find((n) => Iw(n.ref, t)); } -function nd(e, t) { +function sd(e, t) { return e.fields.find( - (n) => gw(n.ref, t) || t.kind === "fqn" && n.name === t.name + (n) => Iw(n.ref, t) || t.kind === "fqn" && n.name === t.name ); } -function Z3(e, t) { +function _3(e, t) { switch (e.kind) { case "text": case "combobox": @@ -40643,7 +41546,7 @@ function Z3(e, t) { } throw new Error(`Form field '${e.name}' (${e.kind}) does not take this value`); } -function iZ(e) { +function xJ(e) { const t = e.value; switch (e.kind) { case "text": @@ -40665,29 +41568,29 @@ function _s(e, t) { for (const n of t) { if (n.kind === "reset") { for (const s of n.refs) { - const i = ua(e.fields, s); - i && (i.value = Ks(i.defaultValue), e.resetKeys.add(ss(s))); + const a = ui(e.fields, s); + a && (a.value = Ks(a.defaultValue), e.resetKeys.add(as(s))); } continue; } - const o = ua(e.fields, n.ref); + const o = ui(e.fields, n.ref); if (!o) continue; - const r = ss(n.ref); - n.kind === "setValue" ? (o.value = Z3(o, n.value), e.resetKeys.delete(r)) : n.kind === "setDisplay" ? o.display = n.display : e.appearances.set(r, { ref: n.ref, text: n.text }); + const r = as(n.ref); + n.kind === "setValue" ? (o.value = _3(o, n.value), e.resetKeys.delete(r)) : n.kind === "setDisplay" ? o.display = n.display : e.appearances.set(r, { ref: n.ref, text: n.text }); } } -function UA(e) { +function aS(e) { const t = [], n = []; for (const o of e.fields) { - const r = ua(e.original, o.ref); + const r = ui(e.original, o.ref); if (r) { - if (!WA(r.value, o.value)) { - const s = ss(o.ref); - if (e.resetKeys.has(s) && WA(o.value, o.defaultValue)) + if (!sS(r.value, o.value)) { + const s = as(o.ref); + if (e.resetKeys.has(s) && sS(o.value, o.defaultValue)) n.push(o.ref); else { - const i = iZ(o); - i && t.push({ kind: "setValue", ref: o.ref, value: i }); + const a = xJ(o); + a && t.push({ kind: "setValue", ref: o.ref, value: a }); } } r.display !== o.display && t.push({ kind: "setDisplay", ref: o.ref, display: o.display }); @@ -40701,10 +41604,10 @@ function UA(e) { })) ), t; } -function Po(e) { +function So(e) { return { kind: "invalid-output", message: e }; } -function aZ(e) { +function AJ(e) { let t = 0; for (let n = 0; n < e.length; n += 1) { const o = e.charCodeAt(n); @@ -40712,13 +41615,13 @@ function aZ(e) { } return t; } -function cZ(e, t) { +function SJ(e, t) { const n = t.widgets.find((r) => r.page !== null)?.page; if (!e || !n) return 0; const o = e.pages.findIndex((r) => r.ref.objectNumber === n.objectNumber); return Math.max(0, o); } -class lZ { +class OJ { constructor(t) { this.options = t, this.disposed = !1, this.transactionBudget = t.budget; } @@ -40747,11 +41650,11 @@ class lZ { */ async warm(t) { if (this.disposed) return; - const n = this.transactionBudget ?? Wf; + const n = this.transactionBudget ?? Uf; await this.options.transaction( (o) => o.run( "", - { fields: gb(t), event: { kind: "name-tree-boot" } }, + { fields: Ob(t), event: { kind: "name-tree-boot" } }, n ) ); @@ -40769,148 +41672,148 @@ class lZ { return this.transaction((n) => n.recalculate(t)); } async run(t, n, o, r, s) { - const i = o ?? n.calculationOrder.find( - (E) => E !== null && nd(n, E) !== void 0 + const a = o ?? n.calculationOrder.find( + (S) => S !== null && sd(n, S) !== void 0 ) ?? n.fields[0]?.ref; - if (!i) - return { status: "accepted", effects: [], bootEffects: [], uiEffects: [], diagnostics: [] }; - const a = nd(n, i); if (!a) - return this.failed([], [], Po(`Form field '${ss(i)}' no longer exists`)); - const c = a.ref, l = gb(n), u = { + return { status: "accepted", effects: [], bootEffects: [], uiEffects: [], diagnostics: [] }; + const i = sd(n, a); + if (!i) + return this.failed([], [], So(`Form field '${as(a)}' no longer exists`)); + const c = i.ref, l = Ob(n), u = { original: l, - fields: sZ(l), + fields: kJ(l), resetKeys: /* @__PURE__ */ new Set(), appearances: /* @__PURE__ */ new Map() - }, f = ua(u.fields, c); + }, f = ui(u.fields, c); if (!f) - return this.failed([], [], Po(`Form field '${ss(c)}' has no script view`)); + return this.failed([], [], So(`Form field '${as(c)}' has no script view`)); const d = r !== void 0; let p = Ks(f.value); if (r) try { - p = Z3(f, r); - } catch (E) { + p = _3(f, r); + } catch (S) { return this.failed( [], [], - Po(E instanceof Error ? E.message : String(E)) + So(S instanceof Error ? S.message : String(S)) ); } - const h = [], g = [], m = this.options.document(), M = cZ(m, a), x = this.transactionBudget ?? Wf; - let S = 0, P = 0; - const k = (E, I) => (P += aZ(JSON.stringify(E)), h.push(...E.uiEffects.map((T) => ({ ...T, phase: I }))), g.push(...E.diagnostics), P > x.maxOutputBytes ? { + const g = [], h = [], m = this.options.document(), O = SJ(m, i), E = this.transactionBudget ?? Uf; + let P = 0, k = 0; + const A = (S, C) => (k += AJ(JSON.stringify(S)), g.push(...S.uiEffects.map((N) => ({ ...N, phase: C }))), h.push(...S.diagnostics), k > E.maxOutputBytes ? { kind: "budget", - message: `Form script transaction output exceeded ${x.maxOutputBytes} bytes` - } : E.error ?? null), A = () => { - const E = x.maxExecutionMs - S; - return E <= 0 ? null : { ...x, maxExecutionMs: E }; - }, y = (E, I) => ({ - fields: E, - pageNumber: M, - event: I - }), w = async (E, I) => { - const T = A(); - if (!T) + message: `Form script transaction output exceeded ${E.maxOutputBytes} bytes` + } : S.error ?? null), w = () => { + const S = E.maxExecutionMs - P; + return S <= 0 ? null : { ...E, maxExecutionMs: S }; + }, b = (S, C) => ({ + fields: S, + pageNumber: O, + event: C + }), v = async (S, C) => { + const N = w(); + if (!N) return { error: { kind: "budget", message: "Form script transaction timed out" } }; let _; try { - const F = Date.now(); - _ = await t.run(E, I, T), S += Date.now() - F; - } catch (F) { + const $ = Date.now(); + _ = await t.run(S, C, N), P += Date.now() - $; + } catch ($) { return { - error: Po(F instanceof Error ? F.message : String(F)) + error: So($ instanceof Error ? $.message : String($)) }; } - const N = k(_, "user"); - return N ? { error: N } : { output: _ }; + const T = A(_, "user"); + return T ? { error: T } : { output: _ }; }; { - let E = null; + let S = null; try { - E = await t.boot(y(u.fields, { kind: "name-tree-boot" }), x); - } catch (I) { - g.push({ + S = await t.boot(b(u.fields, { kind: "name-tree-boot" }), E); + } catch (C) { + h.push({ code: "script-error", - message: `Document boot script failed (continuing without it): ${I instanceof Error ? I.message : String(I)}` + message: `Document boot script failed (continuing without it): ${C instanceof Error ? C.message : String(C)}` }); } - if (E) { - const I = k(E, "boot"); - I ? g.push({ + if (S) { + const C = A(S, "boot"); + C ? h.push({ code: "script-error", - message: `Document boot script failed (continuing without it): ${I.message}` - }) : _s(u, E.formEffects); + message: `Document boot script failed (continuing without it): ${C.message}` + }) : _s(u, S.formEffects); } } - const O = UA(u); + const x = aS(u); if (s) { - let E; + let S; try { - E = zs(s); - } catch (I) { + S = zs(s); + } catch (C) { return this.failed( - h, g, - Po(I instanceof Error ? I.message : String(I)) + h, + So(C instanceof Error ? C.message : String(C)) ); } - if (E) { - const I = await w( - E, - y(u.fields, { + if (S) { + const C = await v( + S, + b(u.fields, { kind: "widget-activate", target: c, source: c, value: f.value }) ); - if (I.error) return this.failed(h, g, I.error); - _s(u, I.output.formEffects); + if (C.error) return this.failed(g, h, C.error); + _s(u, C.output.formEffects); } } - if (!s && d && a.actions?.keystroke && a.kind === "text") { - let E; + if (!s && d && i.actions?.keystroke && i.kind === "text") { + let S; try { - E = zs(a.actions.keystroke); - } catch (I) { + S = zs(i.actions.keystroke); + } catch (C) { return this.failed( - h, g, - Po(I instanceof Error ? I.message : String(I)) + h, + So(C instanceof Error ? C.message : String(C)) ); } - if (E) { - const I = String(f.value ?? ""), T = await w( - E, - y(u.fields, { + if (S) { + const C = String(f.value ?? ""), N = await v( + S, + b(u.fields, { kind: "field-keystroke", target: c, source: c, - value: I, + value: C, change: String(p ?? ""), selStart: 0, - selEnd: I.length, + selEnd: C.length, willCommit: !1 }) ); - if (T.error && T.error.kind !== "exception") - return this.failed(h, g, T.error); - if (T.error) - g.push({ + if (N.error && N.error.kind !== "exception") + return this.failed(g, h, N.error); + if (N.error) + h.push({ code: "script-error", - message: `Keystroke script failed (kept the typed value): ${T.error.message}` + message: `Keystroke script failed (kept the typed value): ${N.error.message}` }); else { - if (!T.output.event.rc) - return this.rejected(O, h, g); - _s(u, T.output.formEffects); - const N = T.output.event, F = String(N.value ?? ""); - p = F.slice(0, N.selStart) + N.change + F.slice(Math.max(N.selStart, N.selEnd)); + if (!N.output.event.rc) + return this.rejected(x, g, h); + _s(u, N.output.formEffects); + const T = N.output.event, $ = String(T.value ?? ""); + p = $.slice(0, T.selStart) + T.change + $.slice(Math.max(T.selStart, T.selEnd)); } - const _ = await w( - E, - y(u.fields, { + const _ = await v( + S, + b(u.fields, { kind: "field-keystroke", target: c, source: c, @@ -40922,34 +41825,34 @@ class lZ { }) ); if (_.error && _.error.kind !== "exception") - return this.failed(h, g, _.error); + return this.failed(g, h, _.error); if (_.error) - g.push({ + h.push({ code: "script-error", message: `Keystroke commit script failed (kept the typed value): ${_.error.message}` }); else { if (!_.output.event.rc) - return this.rejected(O, h, g); + return this.rejected(x, g, h); _s(u, _.output.formEffects), p = Ks(_.output.event.value); } } } - if (!s && d && (f.value = Ks(p), u.resetKeys.delete(ss(c))), !s && d && a.actions?.validate) { - let E; + if (!s && d && (f.value = Ks(p), u.resetKeys.delete(as(c))), !s && d && i.actions?.validate) { + let S; try { - E = zs(a.actions.validate); - } catch (I) { + S = zs(i.actions.validate); + } catch (C) { return this.failed( - h, g, - Po(I instanceof Error ? I.message : String(I)) + h, + So(C instanceof Error ? C.message : String(C)) ); } - if (E) { - const I = await w( - E, - y(u.fields, { + if (S) { + const C = await v( + S, + b(u.fields, { kind: "field-validate", target: c, source: c, @@ -40957,94 +41860,94 @@ class lZ { willCommit: !0 }) ); - if (I.error && I.error.kind !== "exception") - return this.failed(h, g, I.error); - if (I.error) - g.push({ + if (C.error && C.error.kind !== "exception") + return this.failed(g, h, C.error); + if (C.error) + h.push({ code: "script-error", - message: `Validate script failed (accepted the value): ${I.error.message}` + message: `Validate script failed (accepted the value): ${C.error.message}` }); else { - if (!I.output.event.rc) - return this.rejected(O, h, g); - f.value = Ks(I.output.event.value), _s(u, I.output.formEffects); + if (!C.output.event.rc) + return this.rejected(x, g, h); + f.value = Ks(C.output.event.value), _s(u, C.output.formEffects); } } } - const b = !s && d ? [c] : []; - for (const E of s ? [] : n.calculationOrder) { - if (!E) continue; - const I = nd(n, E), T = I?.actions?.calculate; - if (!I || !T) continue; + const y = !s && d ? [c] : []; + for (const S of s ? [] : n.calculationOrder) { + if (!S) continue; + const C = sd(n, S), N = C?.actions?.calculate; + if (!C || !N) continue; let _; try { - _ = zs(T); - } catch (F) { + _ = zs(N); + } catch ($) { return this.failed( - h, g, - Po(F instanceof Error ? F.message : String(F)) + h, + So($ instanceof Error ? $.message : String($)) ); } - const N = ua(u.fields, E); - if (_ && N) { - const F = await w( + const T = ui(u.fields, S); + if (_ && T) { + const $ = await v( _, - y(u.fields, { + b(u.fields, { kind: "field-calculate", - target: E, + target: S, ...d ? { source: c } : {}, - value: N.value + value: T.value }) ); - if (F.error && F.error.kind !== "exception") - return this.failed(h, g, F.error); - F.error ? g.push({ + if ($.error && $.error.kind !== "exception") + return this.failed(g, h, $.error); + $.error ? h.push({ code: "script-error", - message: `Calculate script failed (field left unchanged): ${F.error.message}` - }) : _s(u, F.output.formEffects); + message: `Calculate script failed (field left unchanged): ${$.error.message}` + }) : _s(u, $.output.formEffects); } - b.some((F) => gw(F, E)) || b.push(E); + y.some(($) => Iw($, S)) || y.push(S); } - for (const E of b) { - const I = nd(n, E), T = I?.actions?.format, _ = ua(u.fields, E); - if (!I || !T || !_) continue; - let N; + for (const S of y) { + const C = sd(n, S), N = C?.actions?.format, _ = ui(u.fields, S); + if (!C || !N || !_) continue; + let T; try { - N = zs(T); - } catch (R) { + T = zs(N); + } catch (j) { return this.failed( - h, g, - Po(R instanceof Error ? R.message : String(R)) + h, + So(j instanceof Error ? j.message : String(j)) ); } - if (!N) continue; - const F = await w( - N, - y(u.fields, { + if (!T) continue; + const $ = await v( + T, + b(u.fields, { kind: "field-format", - target: E, + target: S, ...d ? { source: c } : {}, value: _.value }) ); - if (F.error && F.error.kind !== "exception") - return this.failed(h, g, F.error); - if (F.error) { - g.push({ + if ($.error && $.error.kind !== "exception") + return this.failed(g, h, $.error); + if ($.error) { + h.push({ code: "script-error", - message: `Format script failed (kept the raw value): ${F.error.message}` + message: `Format script failed (kept the raw value): ${$.error.message}` }); continue; } - _s(u, F.output.formEffects); + _s(u, $.output.formEffects); } - const v = UA(u); - return v.length + h.length > x.maxEffects ? this.failed(h, g, { + const M = aS(u); + return M.length + g.length > E.maxEffects ? this.failed(g, h, { kind: "budget", - message: `Form script transaction exceeded ${x.maxEffects} effects` - }) : { status: "accepted", effects: v, bootEffects: O, uiEffects: h, diagnostics: g }; + message: `Form script transaction exceeded ${E.maxEffects} effects` + }) : { status: "accepted", effects: M, bootEffects: x, uiEffects: g, diagnostics: h }; } failed(t, n, o) { return { status: "failed", effects: [], bootEffects: [], uiEffects: t, diagnostics: n, error: o }; @@ -41054,176 +41957,176 @@ class lZ { return { status: "rejected", effects: [], bootEffects: t, uiEffects: n, diagnostics: o }; } } -function J3(e) { - return new lZ(e); +function N3(e) { + return new OJ(e); } -function uZ(e, { +function PJ(e, { binaries: t, assetEngine: n, ghosts: o, targets: r }, { canPlace: s }) { - const { binaries: i, libraryBinaries: a } = t, { openAssetDocument: c, imageToPreview: l } = n, { ghostProvider: u } = o, { documentIdOf: f, targetOf: d, pageOf: p } = r, h = e.settings(), g = () => Object.keys(e.state.get().armed).filter( - (b) => !e.tryForDocument(It, b)?.stamps.isArmed() + const { binaries: a, libraryBinaries: i } = t, { openAssetDocument: c, imageToPreview: l } = n, { ghostProvider: u } = o, { documentIdOf: f, targetOf: d, pageOf: p } = r, g = e.settings(), h = () => Object.keys(e.state.get().armed).filter( + (y) => !e.tryForDocument(Tt, y)?.stamps.isArmed() ).join(` `); - e.watch(g, (b) => { - b && e.state.update(jA, b.split(` + e.watch(h, (y) => { + y && e.state.update(JA, y.split(` `)); }); - const m = (b, v, E) => ({ - source: v.bytes, - preview: u(v.bytes, v.preview, E ? null : b.id), - intrinsicSize: b.size, - name: b.name, - subject: b.subject ?? b.label - }), M = async (b, v, E) => { - if (!h.get().dynamic) return E; - const I = e.tryForDocument(Wa, b), T = I?.createDetachedScriptRealm; - if (!I || !T) return E; - const _ = e.get(tt), N = _.get(b); - if (N?.status !== "ready") - throw Je("not-found", `document '${b}' is not open`); - const F = { - name: N.name, - pageCount: N.pageCount, - pages: _.listPages(b) - }, R = a.get(v.libraryId), j = R ?? E.bytes, B = await c(new Uint8Array(j)); - let W = null, $ = null; + const m = (y, M, S) => ({ + source: M.bytes, + preview: u(M.bytes, M.preview, S ? null : y.id), + intrinsicSize: y.size, + name: y.name, + subject: y.subject ?? y.label + }), O = async (y, M, S) => { + if (!g.get().dynamic) return S; + const C = e.tryForDocument(zi, y), N = C?.createDetachedScriptRealm; + if (!C || !N) return S; + const _ = e.get(nt), T = _.get(y); + if (T?.status !== "ready") + throw tt("not-found", `document '${y}' is not open`); + const $ = { + name: T.name, + pageCount: T.pageCount, + pages: _.listPages(y) + }, j = i.get(M.libraryId), z = j ?? S.bytes, L = await c(new Uint8Array(z)); + let D = null, F = null; try { - const K = await B.pages.list(), ee = v.page === void 0 ? K.pageCount === 1 ? K.pages[0] : void 0 : K.pages.find(({ ref: Me }) => Me.objectNumber === v.page.objectNumber); - if (!ee) - throw Je( + const B = await L.pages.list(), V = M.page === void 0 ? B.pageCount === 1 ? B.pages[0] : void 0 : B.pages.find(({ ref: Me }) => Me.objectNumber === M.page.objectNumber); + if (!V) + throw tt( "invalid-input", - R ? `canonical page ${v.page?.objectNumber ?? "unknown"} no longer exists` : "a loose dynamic stamp asset must contain exactly one page" + j ? `canonical page ${M.page?.objectNumber ?? "unknown"} no longer exists` : "a loose dynamic stamp asset must contain exactly one page" ); - const J = await B.forms.list(); - if (!J.fields.some( - (Me) => Me.widgets.some(({ page: V }) => V?.objectNumber === ee.ref.objectNumber) - )) return E; - if (!B.pages.flatten || !B.pages.extract) - throw Je( + const Q = await L.forms.list(); + if (!Q.fields.some( + (Me) => Me.widgets.some(({ page: G }) => G?.objectNumber === V.ref.objectNumber) + )) return S; + if (!L.pages.flatten || !L.pages.extract) + throw tt( "unsupported", "dynamic PDF stamps need an asset engine with pages.flatten and pages.extract" ); - W = T.call(I, { - doc: B, - document: () => F, - bootSources: async () => (B.actions ? await B.actions.get() : null)?.nameTreeScripts.map(({ action: V }) => zs(V)) ?? [] - }), $ = J3({ - document: () => F, - transaction: W.transaction.bind(W), - budget: W.budget + D = N.call(C, { + doc: L, + document: () => $, + bootSources: async () => (L.actions ? await L.actions.get() : null)?.nameTreeScripts.map(({ action: G }) => zs(G)) ?? [] + }), F = N3({ + document: () => $, + transaction: D.transaction.bind(D), + budget: D.budget }); - const be = await $.transaction(async (Me) => { - const V = await Me.recalculate(J); - return V.status === "accepted" && V.effects.length > 0 && await B.apply({ ops: zc(V.effects) }), V; + const pe = await F.transaction(async (Me) => { + const G = await Me.recalculate(Q); + return G.status === "accepted" && G.effects.length > 0 && await L.apply({ ops: Bc(G.effects) }), G; }); - if (I.surfaceScriptCommit(be, { origin: "user", realm: "detached" }), be.status === "failed") - throw Je( + if (C.surfaceScriptCommit(pe, { origin: "user", realm: "detached" }), pe.status === "failed") + throw tt( "operation-failed", - `dynamic stamp scripting failed: ${be.error?.message ?? "native form effect failed"}` + `dynamic stamp scripting failed: ${pe.error?.message ?? "native form effect failed"}` ); - const we = ee.ref; - await B.pages.flatten([we], { usage: "display" }); - const Oe = await B.pages.extract([we]), Ce = await B.page(we).render.image({ - viewport: { kind: "width", width: h.get().previewWidth }, + const me = V.ref; + await L.pages.flatten([me], { usage: "display" }); + const Ae = await L.pages.extract([me]), Pe = await L.page(me).render.image({ + viewport: { kind: "width", width: g.get().previewWidth }, background: "transparent", includeAnnotations: !1, format: "png" }); - return { bytes: Oe, preview: l(Ce) }; + return { bytes: Ae, preview: l(Pe) }; } finally { - $?.destroy(), W?.destroy(), await B.close(); - } - }, x = (b) => { - const v = e.state.get().assets[b], E = i.get(b); - if (!v || !E) throw Io("asset", b); - return { asset: v, binary: E }; - }, S = (b, v) => { - if (!s(b)) throw G3("annotations:create", v); - }, P = async (b, v) => { - const E = v?.signal; - Pt(E); - const I = d(v), { asset: T, binary: _ } = x(b); - S(I, "stamp.armAsset"); - const N = await e.cancellable( - E, - M(I, T, _) + F?.destroy(), D?.destroy(), await L.close(); + } + }, E = (y) => { + const M = e.state.get().assets[y], S = a.get(y); + if (!M || !S) throw Co("asset", y); + return { asset: M, binary: S }; + }, P = (y, M) => { + if (!s(y)) throw M3("annotations:create", M); + }, k = async (y, M) => { + const S = M?.signal; + It(S); + const C = d(M), { asset: N, binary: _ } = E(y); + P(C, "stamp.armAsset"); + const T = await e.cancellable( + S, + O(C, N, _) ); - Pt(E), await e.forDocument(Qe, I).stamps.arm( + It(S), await e.forDocument(Qe, C).stamps.arm( { - ...m(T, N, N !== _), - targetWidth: v?.targetWidth + ...m(N, T, T !== _), + targetWidth: M?.targetWidth }, - { signal: E } - ), e.state.update(VX, I, b); - }, k = (b) => { - const v = f(b), E = v === null ? void 0 : e.state.get().armed[v]; - return v === null || E === void 0 || !e.tryForDocument(It, v)?.stamps.isArmed() ? null : e.state.get().assets[E] ?? null; - }, A = (b) => { - const v = f(b); - v !== null && (e.tryForDocument(Qe, v)?.stamps.disarm(), e.state.update(jA, [v])); - }, y = async (b, v, E, I) => { - const { asset: T, binary: _ } = x(v), N = await e.cancellable( - I, - M(b, T, _) + { signal: S } + ), e.state.update(lJ, C, y); + }, A = (y) => { + const M = f(y), S = M === null ? void 0 : e.state.get().armed[M]; + return M === null || S === void 0 || !e.tryForDocument(Tt, M)?.stamps.isArmed() ? null : e.state.get().assets[S] ?? null; + }, w = (y) => { + const M = f(y); + M !== null && (e.tryForDocument(Qe, M)?.stamps.disarm(), e.state.update(JA, [M])); + }, b = async (y, M, S, C) => { + const { asset: N, binary: _ } = E(M), T = await e.cancellable( + C, + O(y, N, _) ); - return Pt(I), e.forDocument(Qe, b).stamps.place( - m(T, N, N !== _), - E, - { signal: I } + return It(C), e.forDocument(Qe, y).stamps.place( + m(N, T, T !== _), + S, + { signal: C } ); - }, w = async (b, v, E) => { - Pt(E?.signal); - const I = d(E); - return x(b), S(I, "stamp.placeAsset"), y(I, b, v, E?.signal); - }, O = async (b, v, E, I) => { - const T = I?.signal; - Pt(T); - const _ = d(I); - x(b), S(_, "stamp.placeAssetOnPages"); - const N = v === "all" ? e.get(tt).listPages(_).map((j) => j.ref) : v.map((j) => p(_, j).ref), F = [], R = []; - for (const j of N) + }, v = async (y, M, S) => { + It(S?.signal); + const C = d(S); + return E(y), P(C, "stamp.placeAsset"), b(C, y, M, S?.signal); + }, x = async (y, M, S, C) => { + const N = C?.signal; + It(N); + const _ = d(C); + E(y), P(_, "stamp.placeAssetOnPages"); + const T = M === "all" ? e.get(nt).listPages(_).map((z) => z.ref) : M.map((z) => p(_, z).ref), $ = [], j = []; + for (const z of T) try { - const B = await y(_, b, { ...E, page: j }, T); - F.push(B.annotation); - } catch (B) { - const W = Be("stamp", B); - if (W.code === "operation-cancelled") throw W; - R.push({ ref: j, error: bn(W) }); + const L = await b(_, y, { ...S, page: z }, N); + $.push(L.annotation); + } catch (L) { + const D = Fe("stamp", L); + if (D.code === "operation-cancelled") throw D; + j.push({ ref: z, error: xn(D) }); } - return { applied: F, skipped: [], failed: R }; + return { applied: $, skipped: [], failed: j }; }; return { api: { - armAsset: On(P), - disarm: A, - getArmedAsset: k, - placeAsset: On(w), - placeAssetOnPages: On(O) + armAsset: Cn(k), + disarm: w, + getArmedAsset: A, + placeAsset: Cn(v), + placeAssetOnPages: Cn(x) } }; } -function dZ(e) { - const t = qX(e), { events: n } = t, o = e.settings(); +function MJ(e) { + const t = iJ(e), { events: n } = t, o = e.settings(); e.state.onChange(({ previous: u, next: f }) => { if (u.armed === f.armed) return; const d = /* @__PURE__ */ new Set([...Object.keys(u.armed), ...Object.keys(f.armed)]); for (const p of d) { - const h = f.armed[p]; - u.armed[p] !== h && n.armChanged.emit({ + const g = f.armed[p]; + u.armed[p] !== g && n.armChanged.emit({ documentId: p, - asset: h === void 0 ? null : f.assets[h] ?? null + asset: g === void 0 ? null : f.assets[g] ?? null }); } }); - const r = DX(e, t), s = rZ(t), i = eZ(e, t), a = ZX(e, t, s, i, r), c = uZ(e, t, r); + const r = eJ(e, t), s = vJ(t), a = mJ(e, t), i = hJ(e, t, s, a, r), c = PJ(e, t, r); return { api: ys("stamp", [ o.api, r.api, - i.api, a.api, + i.api, c.api, { // The events are services, not areas. @@ -41238,15 +42141,15 @@ function dZ(e) { } ]) }; } -const fZ = (e) => ({ +const EJ = (e) => ({ id: "stamp", - token: Yt, + token: Jt, scope: "workspace", - optional: [Qe, yn], - state: HX, + optional: [Qe, An], + state: cJ, // An engine is one value: a change replaces it, never merges into it. - settings: { defaults: FX, registered: e, whole: ["assetEngine", "fonts"] }, - create: dZ, + settings: { defaults: JZ, registered: e, whole: ["assetEngine", "fonts"] }, + create: MJ, // Inside a document's scope, a placing call that leaves out the document is for that one. inScope: (t, n) => { const o = (r) => ({ @@ -41255,17 +42158,17 @@ const fZ = (e) => ({ }); return { ...t, - createAssetFromAnnotations: (r, s, i, a) => t.createAssetFromAnnotations(r, s, i, o(a)), + createAssetFromAnnotations: (r, s, a, i) => t.createAssetFromAnnotations(r, s, a, o(i)), armAsset: (r, s) => t.armAsset(r, o(s)), disarm: (r = n) => t.disarm(r), getArmedAsset: (r = n) => t.getArmedAsset(r), - placeAsset: (r, s, i) => t.placeAsset(r, s, o(i)), - placeAssetOnPages: (r, s, i, a) => t.placeAssetOnPages(r, s, i, o(a)), + placeAsset: (r, s, a) => t.placeAsset(r, s, o(a)), + placeAssetOnPages: (r, s, a, i) => t.placeAssetOnPages(r, s, a, o(i)), canPlace: (r = n) => t.canPlace(r), canCreateFromAnnotations: (r = n) => t.canCreateFromAnnotations(r) }; } -}), pZ = ln(Yt, { +}), CJ = pn(Jt, { read: (e) => ({ armedAsset: e.getArmedAsset() }), @@ -41273,7 +42176,7 @@ const fZ = (e) => ({ armedAsset: null } }); -async function hZ(e, t) { +async function IJ(e, t) { const n = []; for (const { id: o, bytes: r } of await t.list()) try { @@ -41283,64 +42186,64 @@ async function hZ(e, t) { } return n; } -function gZ(e, t, n = {}) { - const o = new Set(n.except ?? []), r = /* @__PURE__ */ new Map(), s = (i, a) => { - const c = r.get(i); +function _J(e, t, n = {}) { + const o = new Set(n.except ?? []), r = /* @__PURE__ */ new Map(), s = (a, i) => { + const c = r.get(a); if (c) { - c.started ? c.next = a : c.step = a; + c.started ? c.next = i : c.step = i; return; } - const l = { step: a, started: !1, next: null }; - r.set(i, l), Promise.resolve().then(async () => { + const l = { step: i, started: !1, next: null }; + r.set(a, l), Promise.resolve().then(async () => { l.started = !0; try { - l.step === "save" ? await t.put(i, await e.exportLibrary(i)) : await t.delete(i); + l.step === "save" ? await t.put(a, await e.exportLibrary(a)) : await t.delete(a); } catch (u) { const f = l.step === "save" ? "persisting" : "deleting stored"; - globalThis.console?.warn(`[stamp] ${f} library '${i}' failed:`, u); + globalThis.console?.warn(`[stamp] ${f} library '${a}' failed:`, u); } - r.delete(i), l.next && s(i, l.next); + r.delete(a), l.next && s(a, l.next); }); }; - return e.onLibraryChanged(({ libraryId: i, type: a }) => { - o.has(i) || s(i, a === "deleted" ? "delete" : "save"); + return e.onLibraryChanged(({ libraryId: a, type: i }) => { + o.has(a) || s(a, i === "deleted" ? "delete" : "save"); }); } -function mw() { - return Ge(Yt); +function _w() { + return Ge(Jt); } -const mZ = Wn(pZ); -function bZ(e) { +const NJ = zn(CJ); +function TJ(e) { const t = e?.kind === void 0 ? void 0 : [].concat(e.kind).join("\0"); - return Xe( - Yt, + return Ze( + Jt, (n) => n.listLibraries(t === void 0 ? void 0 : { kind: t.split("\0") }), - Do + Fo ); } -function eI(e) { +function T3(e) { const t = e?.libraryId, n = e?.kind, o = e?.category; - return Xe( - Yt, + return Ze( + Jt, (r) => r.listAssets({ libraryId: t, kind: n, category: o }), - Do + Fo ); } -function yZ(e) { - const t = mw(), [n, o] = ke(null); +function RJ(e) { + const t = _w(), [n, o] = ke(null); return Se(() => { const r = e ? t.getAssetPreview(e) : null; if (!r) { o(null); return; } - const s = MM(r); + const s = oE(r); return o(s.url), () => { s.revoke(), o(null); }; }, [t, e]), n; } -const wZ = [ +const LJ = [ ...[1, 10, 20, 50, 100, 200].map((e) => ({ id: `metric-${e}`, label: `1:${e}`, @@ -41350,26 +42253,26 @@ const wZ = [ })), { id: "imperial-quarter", label: "1/4 in = 1 ft", paper: 1, real: 48, unit: "ft" }, { id: "imperial-eighth", label: "1/8 in = 1 ft", paper: 1, real: 96, unit: "ft" } -], tI = (e, t = 1) => typeof e == "object" ? e : pP(1, 1, e === "imperial" ? "ft" : "m", { userUnit: t }); -function vZ(e, t, n = uy(t)) { +], R3 = (e, t = 1) => typeof e == "object" ? e : jO(1, 1, e === "imperial" ? "ft" : "m", { userUnit: t }); +function jJ(e, t, n = vy(t)) { const o = e.x[0]?.unit.trim(); - if (!(o in Zn)) + if (!(o in Xn)) throw new RangeError("This scale has an unknown base unit; calibrate it first"); const r = e.distance[e.distance.length - 1], s = r?.fraction === "fraction" ? 100 : r?.precision ?? 100; return { ...e, - distance: [{ unit: t, conversion: Zn[o] / Zn[t], precision: s, fraction: "decimal" }], + distance: [{ unit: t, conversion: Xn[o] / Xn[t], precision: s, fraction: "decimal" }], area: [ { - unit: fy(n), - conversion: Zn[o] ** 2 / dy(n), + unit: xy(n), + conversion: Xn[o] ** 2 / ky(n), precision: s, fraction: "decimal" } ] }; } -function kZ(e, t) { +function FJ(e, t) { if (!Number.isInteger(Math.log10(t)) || t < 1 || t > 1e9) throw new RangeError("Invalid decimal precision"); const n = (o) => o.map( @@ -41377,24 +42280,24 @@ function kZ(e, t) { ); return { ...e, distance: n(e.distance), area: n(e.area) }; } -function xZ(e, t) { +function DJ(e, t) { const n = e.x[0]?.unit.trim(); - if (!(n in Zn)) + if (!(n in Xn)) throw new RangeError("This scale has an unknown base unit; calibrate it first"); const o = e.area[e.area.length - 1], r = o?.fraction === "fraction" ? 100 : o?.precision ?? 100; return { ...e, area: [ { - unit: fy(t), - conversion: Zn[n] ** 2 / dy(t), + unit: xy(t), + conversion: Xn[n] ** 2 / ky(t), precision: r, fraction: "decimal" } ] }; } -const Bo = At("measurement", { +const $o = St("measurement", { hint: "add measurementPlugin() from '@embedpdf/plugin-measurement' to your plugins list", // Without a document, an adapter's stand-in rejects these with `not-ready`, as the // capability would; the type asks for every member that returns a promise. @@ -41409,17 +42312,17 @@ const Bo = At("measurement", { clearScale: !0, createMeasurement: !0 } -}), AZ = { +}), $J = { defaultScale: "metric", - presets: wZ -}, SZ = Object.freeze({ + presets: LJ +}, BJ = Object.freeze({ measure: null, source: "default", ready: !1, persistent: !1 -}), PZ = Object.freeze({ unavailable: "not-dimension" }), nI = Object.keys(Zn), OZ = [...nI.map(uy), "ha", "acre"]; -function MZ(e, { siblings: t }, { scaleOf: n }) { - const { annotation: o } = t, r = e.settings(), s = () => e.state.get(), i = /* @__PURE__ */ new WeakMap(); +}), zJ = Object.freeze({ unavailable: "not-dimension" }), L3 = Object.keys(Xn), WJ = [...L3.map(vy), "ha", "acre"]; +function UJ(e, { siblings: t }, { scaleOf: n }) { + const { annotation: o } = t, r = e.settings(), s = () => e.state.get(), a = /* @__PURE__ */ new WeakMap(); return { api: { canMeasure: (u) => e.allows("annotations:create") && n(u).ready, @@ -41427,21 +42330,21 @@ function MZ(e, { siblings: t }, { scaleOf: n }) { isBusy: () => s().pending > 0, listLastReports: () => s().reports, listPresets: () => r.get().presets, - listUnits: () => nI, - listAreaUnits: () => OZ, + listUnits: () => L3, + listAreaUnits: () => WJ, getReadout: (u) => { const f = o.get(u); - if (!f) return PZ; - let d = i.get(f); - return d || (d = gr(f), i.set(f, d)), d; + if (!f) return zJ; + let d = a.get(f); + return d || (d = mr(f), a.set(f, d)), d; }, - measureDistance: (u, f, d) => gr({ + measureDistance: (u, f, d) => mr({ subtype: "line", intent: "line-dimension", measure: n(u).measure, linePoints: { start: f, end: d } }), - measureArea: (u, f) => gr({ + measureArea: (u, f) => mr({ subtype: "polygon", intent: "polygon-dimension", measure: n(u).measure, @@ -41451,7 +42354,7 @@ function MZ(e, { siblings: t }, { scaleOf: n }) { } }; } -function EZ(e) { +function KJ(e) { return { scaleChanged: e.events.source(), calibrationRequested: e.events.source(), @@ -41459,38 +42362,30 @@ function EZ(e) { calibrationDismissed: e.events.source() }; } -function CZ(e) { - return { annotation: e.get(It), interaction: e.get(cn) }; +function qJ(e) { + return { annotation: e.get(Tt), interaction: e.get(fn) }; } -const Zc = "doc.annotate.modify"; -function IZ(e) { - return { requirePage: (r) => e.pageOf(r), canCalibrate: () => e.allows(Zc), targets: (r) => r === "all" ? (e.document()?.pages ?? []).map((i) => i.ref) : (Array.isArray(r) ? r : [r]).map((i) => e.pageOf(i).ref) }; +const Kf = "doc.annotate.modify"; +function HJ(e) { + return { requirePage: (r) => e.pageOf(r), canCalibrate: () => e.allows(Kf), targets: (r) => r === "all" ? (e.document()?.pages ?? []).map((a) => a.ref) : (Array.isArray(r) ? r : [r]).map((a) => e.pageOf(a).ref) }; } -function _Z(e) { - return { events: EZ(e), store: IZ(e), siblings: CZ(e) }; +function VJ(e) { + return { events: KJ(e), store: HJ(e), siblings: qJ(e) }; } -const oI = Object.freeze([]), NZ = () => ({ +const j3 = Object.freeze([]), GJ = () => ({ pending: 0, calibration: null, - reports: oI, - loadErrors: {}, + reports: j3, localViewports: {} -}), TZ = (e) => ({ +}), YJ = (e) => ({ ...e, pending: e.pending + 1 -}), RZ = (e) => e.pending === 0 ? e : { ...e, pending: e.pending - 1 }, Bd = (e, t) => e.calibration === t ? e : { ...e, calibration: t }, LZ = (e, t) => e.reports === t ? e : { ...e, reports: t }, jZ = (e, t, n) => ({ - ...e, - loadErrors: { ...e.loadErrors, [t]: n } -}), FZ = (e, t) => { - if (!(t in e.loadErrors)) return e; - const { [t]: n, ...o } = e.loadErrors; - return { ...e, loadErrors: o }; -}, DZ = (e, t, n) => ({ +}), QJ = (e) => e.pending === 0 ? e : { ...e, pending: e.pending - 1 }, Ud = (e, t) => e.calibration === t ? e : { ...e, calibration: t }, XJ = (e, t) => e.reports === t ? e : { ...e, reports: t }, ZJ = (e, t, n) => ({ ...e, localViewports: { ...e.localViewports, [t]: n } }); -function $Z(e, t, n, o) { - const r = e.find((s) => s.owned) ?? gP(e, { x: t.width / 2, y: t.height / 2 }); +function JJ(e, t, n, o) { + const r = e.find((s) => s.owned) ?? rO(e, { x: t.width / 2, y: t.height / 2 }); return { measure: r ? r.measure ?? null : n, source: r ? r.owned ? "owned" : "foreign" : "default", @@ -41498,126 +42393,74 @@ function $Z(e, t, n, o) { persistent: o }; } -function BZ(e) { - const t = e.status === "error" && e.error ? { error: e.error } : {}; - return !e.viewports || !e.size ? { - measure: null, - source: "default", - ready: !1, - persistent: e.persistent, - ...t - } : { - ...$Z(e.viewports, e.size, e.fallback, e.persistent), - ...t - }; -} -const zZ = Object.freeze({ +const iS = Object.freeze({ measure: null, source: "default", ready: !1, persistent: !1 -}); -function WZ(e, { siblings: t }) { - const { annotation: n } = t, o = e.settings(), r = (f) => tI(o.get().defaultScale, f?.userUnit ?? 1), s = e.pageMirror({ - name: "viewports", - load: async (f, d, p) => { - e.assertPageRef(d); - const h = f.page(d).measure; - if (!h) return e.state.get().localViewports[d.objectNumber] ?? []; - try { - return (await h.listViewports()).viewports; - } catch (g) { - throw p.aborted || e.state.update(jZ, d.objectNumber, ba(g)), g; - } - }, - affected: (f) => f.type === "pages.scaleSet" ? [f.page] : null, - onChanged: ({ page: f, cause: d, next: p }) => { - if (d === "drop" || p === void 0) return; - e.state.update(FZ, f.objectNumber); - const h = e.getPage(f); - h && n.setPageViewports(f, [...p], r(h)); - } - }), i = (f) => e.doc.page(f).measure !== void 0, a = Jt( +}), Bg = Object.freeze([]); +function eee(e, { siblings: t }) { + const { annotation: n } = t, o = e.settings(), r = (f) => R3(o.get().defaultScale, f.userUnit), s = (f) => e.doc.page(f).measure !== void 0, a = (f) => s(f.ref) ? f.viewports ?? Bg : e.state.get().localViewports[f.ref.objectNumber] ?? Bg, i = Ut( (f) => { - const d = ut(f), p = e.getPage(d); + const d = e.getPage(dt(f)); return [ - s.get(d), - s.getStatus(d), - e.state.get().loadErrors[f], - p, - p ? i(d) : !1, + d, + d ? a(d) : Bg, + d ? s(d.ref) : !1, o.get().defaultScale ]; }, - (f, d, p, h, g, m) => BZ({ - viewports: d, - status: p, - error: h, - size: g?.size, - fallback: r(g), - persistent: m - }) + (f, d, p, g) => d ? JJ(p, d.size, r(d), g) : iS ); - return { - ensureLoaded: (f, d) => { - const p = e.getPage(f); - return p ? e.cancellable(d?.signal, s.ensureLoaded(p.ref)) : Promise.reject(new Z("not-found", "measurement", "no such page")); - }, - scaleOf: (f) => { - if (typeof f != "number") return a(f.objectNumber); - const d = e.getPage(f); - return d ? a(d.ref.objectNumber) : zZ; - }, - /** Re-read one page; for session-only scales, which no engine event announces. */ - refresh: (f) => s.refresh(f), - connect: () => { - const f = (d) => { - for (const p of d ?? []) - s.getStatus(p.ref) === "idle" && s.ensureLoaded(p.ref).catch(() => { - }); - }; - f(e.document()?.pages), e.watch(() => e.document()?.pages, f), e.listen(o.api.onSettingsChanged, ({ changedKeys: d }) => { - if (d.includes("defaultScale")) - for (const p of e.document()?.pages ?? []) { - const h = s.get(p.ref); - h && n.setPageViewports(p.ref, [...h], r(p)); - } - }); - } - }; + return { ensureLoaded: (f) => e.getPage(f) ? Promise.resolve() : Promise.reject(new te("not-found", "measurement", "no such page")), scaleOf: (f) => { + if (typeof f != "number") return i(f.objectNumber); + const d = e.getPage(f); + return d ? i(d.ref.objectNumber) : iS; + }, isPersistent: s, connect: () => { + const f = /* @__PURE__ */ new Map(), d = (g, h = !1) => { + const m = a(g); + !h && f.get(g.ref.objectNumber) === m || (f.set(g.ref.objectNumber, m), n.setPageViewports(g.ref, [...m], r(g))); + }, p = () => { + for (const g of e.document()?.pages ?? []) d(g); + }; + p(), e.watch(() => e.document()?.pages, p), e.watch(() => e.state.get().localViewports, p), e.listen(o.api.onSettingsChanged, ({ changedKeys: g }) => { + if (g.includes("defaultScale")) + for (const h of e.document()?.pages ?? []) d(h, !0); + }); + } }; } -function UZ(e, { events: t, store: n, siblings: o }) { - const { calibrationRequested: r, calibrationDismissed: s } = t, { canCalibrate: i } = n, { annotation: a, interaction: c } = o; +function tee(e, { events: t, store: n, siblings: o }) { + const { calibrationRequested: r, calibrationDismissed: s } = t, { canCalibrate: a } = n, { annotation: i, interaction: c } = o; return { connect: () => { - e.listen(a.onDraftCaptured, (d) => { - if (d.tool !== "calibrate" || !i()) return; - const p = ti(d.from), h = ti(d.to), g = Math.hypot(h.x - p.x, h.y - p.y); - if (!(g > 0)) return; - const m = { page: d.page, from: p, to: h, userSpaceLength: g }; - c.activateTool("pointer"), e.state.update(Bd, m), r.emit({ request: m }); + e.listen(i.onDraftCaptured, (d) => { + if (d.tool !== "calibrate" || !a()) return; + const p = oa(d.from), g = oa(d.to), h = Math.hypot(g.x - p.x, g.y - p.y); + if (!(h > 0)) return; + const m = { page: d.page, from: p, to: g, userSpaceLength: h }; + c.activateTool("pointer"), e.state.update(Ud, m), r.emit({ request: m }); }); }, api: { startCalibration: () => { - e.assertAllowed(Zc, "measurement.startCalibration"), e.state.update(Bd, null), c.activateTool("calibrate"); + e.assertAllowed(Kf, "measurement.startCalibration"), e.state.update(Ud, null), c.activateTool("calibrate"); }, dismissCalibration: () => { - e.state.get().calibration && (e.state.update(Bd, null), s.emit({})); + e.state.get().calibration && (e.state.update(Ud, null), s.emit({})); } } }; } -function KZ(e, { siblings: t }, { scaleOf: n }) { - const { annotation: o } = t, r = (i, a, c) => { +function nee(e, { siblings: t }, { scaleOf: n }) { + const { annotation: o } = t, r = (a, i, c) => { const l = o.tools.getDefaults(c), u = { color: l.color, strokeWidth: l.strokeWidth, opacity: l.opacity, - measure: n(a).measure, + measure: n(i).measure, captionEnabled: l.captionEnabled ?? !0 }; - switch (i.kind) { + switch (a.kind) { case "distance": { - const [f, d] = i.points; - return !f || !d || i.points.length !== 2 ? new Z( + const [f, d] = a.points; + return !f || !d || a.points.length !== 2 ? new te( "invalid-input", "measurement", "a distance needs exactly two points" @@ -41637,7 +42480,7 @@ function KZ(e, { siblings: t }, { scaleOf: n }) { return { subtype: "polyline", intent: "polyline-dimension", - vertices: i.points, + vertices: a.points, lineEndings: l.lineEndings, ...u }; @@ -41645,147 +42488,157 @@ function KZ(e, { siblings: t }, { scaleOf: n }) { return { subtype: "polygon", intent: "polygon-dimension", - vertices: i.points, + vertices: a.points, interiorColor: l.interiorColor, ...u }; } }; - return { api: { createMeasurement: async (i, a) => { + return { api: { createMeasurement: async (a, i) => { e.assertAllowed("annotations:create", "measurement.createMeasurement"); - const c = e.pageOf(i.page).ref; + const c = e.pageOf(a.page).ref; if (!n(c).ready) - throw new Z("not-ready", "measurement", "the page scale is not known yet"); - const l = r(i, c, i.tool ?? i.kind); + throw new te("not-ready", "measurement", "the page scale is not known yet"); + const l = r(a, c, a.tool ?? a.kind); if (l instanceof Error) throw l; - return o.create(c, l, void 0, { signal: a?.signal }); + return o.create(c, l, void 0, { signal: i?.signal }); } } }; } -function qZ(e, { events: t, store: n, siblings: o }, { - ensureLoaded: r, - refresh: s, - scaleOf: i -}) { - const { scaleChanged: a, calibrationCompleted: c } = t, { requirePage: l, targets: u } = n, { annotation: f } = o, d = e.settings(), p = /* @__PURE__ */ new Map(), h = (S) => { - let P = p.get(S.objectNumber); - return P || (P = e.serialQueue(`scale:${S.objectNumber}`), p.set(S.objectNumber, P)), P; - }; - e.onSettle(async () => { - await Promise.all([...p.values()].map((S) => S.idle())); - }); - const g = async (S, P, k) => { - const { signal: A } = k; - e.assertAllowed(Zc, "changing a scale"), await r(S, { signal: A }), e.assertAllowed(Zc, "changing a scale"); - const y = e.doc.page(S).measure; - if (y) - await e.cancellable(A, y.setScale(P)), await r(S); - else { - const b = l(S), v = (e.state.get().localViewports[S.objectNumber] ?? []).filter( - (E) => !E.owned - ); - e.state.update(DZ, S.objectNumber, [ - ...v, - ...P ? [ - { - bbox: { x: 0, y: 0, ...b.size }, - name: "EmbedPDF", - owned: !0, - measure: P - } - ] : [] - ]), await s(S); - } - const w = P ?? tI(d.get().defaultScale, l(S).userUnit), O = k.recalculate === !1 ? { page: S, scale: w, updated: [], skipped: [], failed: [] } : await e.cancellable(A, f.remeasurePage(S, w)); - return a.emit({ page: S, report: O }), O; - }, m = async (S, P, k = {}) => { - e.assertAllowed(Zc, "changing a scale"); - const A = u(S); - if (k.signal?.aborted) - throw new Z("operation-cancelled", "measurement", "operation cancelled", { - cause: k.signal.reason +function oee(e, { events: t, store: n, siblings: o }, { scaleOf: r, isPersistent: s }) { + const { scaleChanged: a, calibrationCompleted: i } = t, { requirePage: c, targets: l } = n, { annotation: u } = o, f = e.settings(), d = (k, A) => A ?? R3(f.get().defaultScale, c(k).userUnit), p = ({ page: k, scale: A }) => { + const w = c(k), b = e.state.get().localViewports[k.objectNumber] ?? []; + e.state.update( + ZJ, + k.objectNumber, + oO(b, w.size, A) + ); + }, g = (k) => { + const A = /* @__PURE__ */ new Map(); + for (const { page: w, scale: b } of k) { + const v = JSON.stringify(b), x = A.get(v) ?? { measure: b, pages: [] }; + x.pages.push(w), A.set(v, x); + } + return [...A.values()].map(({ measure: w, pages: b }) => ({ + type: "pages.setScale", + pages: b, + measure: w + })); + }, h = async (k, A, w) => { + const b = k.filter(({ page: y }) => s(y)); + k.filter(({ page: y }) => !s(y)).forEach(p); + const v = { key: "measurement.setScale", count: k.length }, x = e.changes.group(v, () => ({ + change: b.length > 0 ? e.changes.stage({ + label: v, + ops: g(b), + undo: c4( + e.document()?.pages ?? [], + b.map(({ page: y }) => y) + ) + }) : null, + reports: k.map(({ page: y, scale: M }) => { + const S = d(y, M); + return A ? u.stageRemeasure(y, S) : { page: y, scale: S, updated: [], skipped: [], failed: [] }; + }) + })); + return x.change ? await e.cancellable(w, x.change.result) : await e.cancellable(w, e.changes.whenSettled()), x.reports; + }, m = (k, A) => ({ + page: k, + updated: [], + skipped: [], + failed: [], + scaleError: ap(A) + }), O = async (k, A, w = {}) => { + e.assertAllowed(Kf, "changing a scale"); + const b = l(k), { signal: v } = w; + if (v?.aborted) + throw new te("operation-cancelled", "measurement", "operation cancelled", { + cause: v.reason }); - const y = S === "all" || A.length > 1; - e.state.update(TZ); + const x = k === "all" || b.length > 1, y = w.recalculate !== !1; + e.state.update(YJ); try { - const w = await Promise.all( - A.map( - (O) => h(O)(async () => { - try { - await r(O, { signal: k.signal }); - const b = P(O); - return b && oy(b), await g(O, b, k); - } catch (b) { - const v = Be("measurement", b); - if (!y || v.code === "operation-cancelled") throw v; - return { - page: O, - updated: [], - skipped: [], - failed: [], - scaleError: ba(b) - }; - } - }, k) - ) - ); - return e.state.update(LZ, w), w; + y && await e.cancellable(v, u.whenRemeasurable()), e.assertAllowed(Kf, "changing a scale"); + const M = /* @__PURE__ */ new Map(), S = []; + for (const N of b) + try { + const _ = A(N); + _ && py(_), S.push({ page: N, scale: _ }); + } catch (_) { + const T = Fe("measurement", _); + if (!x) throw T; + M.set(N.objectNumber, m(N, T)); + } + if (S.length > 0) + try { + for (const N of await h(S, y, v)) + M.set(N.page.objectNumber, N); + } catch (N) { + const _ = Fe("measurement", N); + if (!x || _.code === "operation-cancelled") throw _; + for (const { page: T } of S) + M.set(T.objectNumber, m(T, _)); + } + const C = b.map((N) => M.get(N.objectNumber)); + for (const N of C) + N.scaleError || a.emit({ page: N.page, report: N }); + return e.state.update(XJ, C), C; } finally { - e.state.update(RZ); + e.state.update(QJ); } - }, M = (S) => { - const P = i(S).measure; - if (!P || P.subtype !== "rectilinear") - throw new Z( + }, E = (k) => { + const A = r(k).measure; + if (!A || A.subtype !== "rectilinear") + throw new te( "not-ready", "measurement", "calibrate this page before changing its units or precision" ); - return P; + return A; }; return { api: { - setScale: (S, P, k) => m(S, () => P, k), - calibrate: async (S, P = {}) => { - const k = ti(S.from), A = ti(S.to); - let y; + setScale: (k, A, w) => O(k, () => A, w), + calibrate: async (k, A = {}) => { + const w = oa(k.from), b = oa(k.to); + let v; try { - y = XR(Math.hypot(A.x - k.x, A.y - k.y), S.distance); - } catch (I) { - throw new Z( + v = U8(Math.hypot(b.x - w.x, b.y - w.y), k.distance); + } catch (N) { + throw new te( "invalid-input", "measurement", - String(I.message ?? I) + String(N.message ?? N) ); } - const { applyTo: w, ...O } = P, b = l(S.page).ref, v = await m(w ?? b, () => y, O), E = e.state.get().calibration; - return E && pi(E.page, b) && e.state.update(Bd, null), c.emit({ page: b }), v; + const { applyTo: x, ...y } = A, M = c(k.page).ref, S = await O(x ?? M, () => v, y), C = e.state.get().calibration; + return C && ga(C.page, M) && e.state.update(Ud, null), i.emit({ page: M }), S; }, - setUnit: (S, P, k) => m(S, (A) => vZ(M(A), P), k), - setAreaUnit: (S, P, k) => m(S, (A) => xZ(M(A), P), k), - setPrecision: (S, P, k) => m(S, (A) => kZ(M(A), P), k), - setPreset: (S, P, k) => { - const A = d.get().presets.find((y) => y.id === P); - return A ? m( - S, - (y) => pP(A.paper, A.real, A.unit, { - userUnit: e.getPage(y)?.userUnit ?? 1 + setUnit: (k, A, w) => O(k, (b) => jJ(E(b), A), w), + setAreaUnit: (k, A, w) => O(k, (b) => DJ(E(b), A), w), + setPrecision: (k, A, w) => O(k, (b) => FJ(E(b), A), w), + setPreset: (k, A, w) => { + const b = f.get().presets.find((v) => v.id === A); + return b ? O( + k, + (v) => jO(b.paper, b.real, b.unit, { + userUnit: e.getPage(v)?.userUnit ?? 1 }), - k + w ) : Promise.reject( - new Z("not-found", "measurement", `unknown scale preset '${P}'`) + new te("not-found", "measurement", `unknown scale preset '${A}'`) ); }, - clearScale: (S, P) => m(S, () => null, P) + clearScale: (k, A) => O(k, () => null, A) } }; } -function HZ(e) { - const t = _Z(e), { events: n, store: o } = t, r = e.settings(), s = WZ(e, t), i = MZ(e, t, s), a = qZ(e, t, s), c = UZ(e, t), l = KZ(e, t, s); +function ree(e) { + const t = VJ(e), { events: n, store: o } = t, r = e.settings(), s = eee(e, t), a = UJ(e, t, s), i = oee(e, t, s), c = tee(e, t), l = nee(e, t, s); return { api: ys("measurement", [ r.api, - i.api, a.api, + i.api, c.api, l.api, { @@ -41802,16 +42655,16 @@ function HZ(e) { } }; } -const VZ = (e) => ({ +const see = (e) => ({ id: "measurement", scope: "document", - token: Bo, - requires: [It, cn], - state: NZ, + token: $o, + requires: [Tt, fn], + state: GJ, // A scale is one value: a change replaces it, never merges into it. - settings: { defaults: AZ, registered: e, whole: ["defaultScale"] }, - create: HZ -}), GZ = ln(Bo, { + settings: { defaults: $J, registered: e, whole: ["defaultScale"] }, + create: ree +}), aee = pn($o, { read: (e) => ({ busy: e.isBusy(), calibrationRequest: e.getCalibrationRequest(), @@ -41820,18 +42673,18 @@ const VZ = (e) => ({ empty: { busy: !1, calibrationRequest: null, - lastReports: oI + lastReports: j3 } }); -function Ope() { - return Ge(Bo); +function Uhe() { + return Ge($o); } -const YZ = Wn(GZ); -function QZ(e) { +const iee = zn(aee); +function cee(e) { const t = Ko(); - return wt((n) => e === null ? null : n.tryCapability(Bo, t ?? void 0)?.getPageScale(e) ?? SZ); + return vt((n) => e === null ? null : n.tryCapability($o, t ?? void 0)?.getPageScale(e) ?? BJ); } -const Zo = At("search", { +const Jo = St("search", { hint: "add searchPlugin() from '@embedpdf/plugin-search' to your plugins list", // Without a document, an adapter's stand-in rejects these with `not-ready`, as the // capability would; the type asks for every member that returns a promise. @@ -41840,10 +42693,10 @@ const Zo = At("search", { refresh: !0, findAll: !0 } -}), XZ = { +}), lee = { reveal: { align: { y: 0.35 }, behavior: "smooth" }, highlight: { color: "#ffd500", activeColor: "#ff9632", blendMode: "multiply" } -}, pr = At("redaction", { +}, hr = St("redaction", { hint: "add redactionPlugin() from '@embedpdf/plugin-redaction' to your plugins list", // Without a document, an adapter's stand-in rejects these with `not-ready`, as the // capability would; the type asks for every member that returns a promise. @@ -41859,12 +42712,12 @@ const Zo = At("search", { applyAll: !0, applyPages: !0 } -}), ZZ = { +}), uee = { overlay: { fill: "#000000", text: { color: "#ffffff", fontFamily: "helvetica", fontSize: 0 } } -}, JZ = (e) => e.quadPoints.length === 0 ? [e.rect] : e.quadPoints.map(VR), Lg = [], KA = (e, t) => ({ +}, dee = (e) => e.quadPoints.length === 0 ? [e.rect] : e.quadPoints.map($8), zg = [], cS = (e, t) => ({ ref: e.ref, page: e.ref.page, pageIndex: t, @@ -41873,296 +42726,296 @@ const Zo = At("search", { overlayText: e.overlayText ?? null, repeat: e.repeat ?? !1 }); -function eJ(e, { store: t, siblings: n }) { - const { pages: o, pageIndexOf: r } = t, { annotation: s } = n, i = Jt( +function fee(e, { store: t, siblings: n }) { + const { pages: o, pageIndexOf: r } = t, { annotation: s } = n, a = Ut( (d) => { - const p = ut(d); + const p = dt(d); return [s.list({ pages: [p] }), r(p)]; }, - (d, p, h) => { - const g = p.flatMap( - (m) => m.subtype === "redact" ? [KA(m, h)] : [] + (d, p, g) => { + const h = p.flatMap( + (m) => m.subtype === "redact" ? [cS(m, g)] : [] ); - return g.length ? g : Lg; + return h.length ? h : zg; } - ), a = Ke( - () => o().map((d) => i(d.objectNumber)), - (...d) => d.some((p) => p.length) ? d.flat() : Lg + ), i = qe( + () => o().map((d) => a(d.objectNumber)), + (...d) => d.some((p) => p.length) ? d.flat() : zg ), c = (d) => { - if (d?.page === void 0) return a(); + if (d?.page === void 0) return i(); const p = e.getPage(d.page); - return p ? i(p.ref.objectNumber) : Lg; + return p ? a(p.ref.objectNumber) : zg; }; return { listPending: c, - markFor: (d) => d.subtype === "redact" ? KA(d, r(d.ref.page)) : null, + markFor: (d) => d.subtype === "redact" ? cS(d, r(d.ref.page)) : null, api: { listPending: c, getPending: (d) => { - const p = ie(d); - return c().find((h) => ie(h.ref) === p) ?? null; + const p = Y(d); + return c().find((g) => Y(g.ref) === p) ?? null; }, getPendingCount: (d) => c(d === void 0 ? void 0 : { page: d }).length, estimateCollateral: (d) => { - const p = d ? new Set(d.map(ie)) : null, h = []; - for (const g of o()) { - const m = s.list({ pages: [g] }), M = m.filter( - (S) => S.subtype === "redact" && (!p || p.has(ie(S.ref))) + const p = d ? new Set(d.map(Y)) : null, g = []; + for (const h of o()) { + const m = s.list({ pages: [h] }), O = m.filter( + (P) => P.subtype === "redact" && (!p || p.has(Y(P.ref))) ); - if (M.length === 0) continue; - const x = M.flatMap(JZ); - for (const S of m) - S.subtype !== "redact" && x.some((P) => bB(P, S.rect)) && h.push(S.ref); + if (O.length === 0) continue; + const E = O.flatMap(dee); + for (const P of m) + P.subtype !== "redact" && E.some((k) => O9(k, P.rect)) && g.push(P.ref); } - return { count: h.length, refs: h }; + return { count: g.length, refs: g }; } } }; } -function tJ(e) { +function pee(e) { return { applied: e.events.source(), pendingChanged: e.events.source() }; } -function nJ(e) { +function hee(e) { return { - annotation: e.get(It), - selection: () => e.tryGet(wn), - search: () => e.tryGet(Zo) + annotation: e.get(Tt), + selection: () => e.tryGet(Sn), + search: () => e.tryGet(Jo) }; } -const oJ = [ +const gee = [ "doc.redact", "doc.pages.modify", "doc.annotate.modify" ]; -function rJ(e) { +function mee(e) { const t = () => { - const i = e.doc.redaction; - if (!i) - throw new Z("unsupported", "redaction", "this engine has no redaction service"); - return i; - }, n = () => (e.document()?.pages ?? []).map((i) => i.ref), o = Ke( + const a = e.doc.redaction; + if (!a) + throw new te("unsupported", "redaction", "this engine has no redaction service"); + return a; + }, n = () => (e.document()?.pages ?? []).map((a) => a.ref), o = qe( () => [e.document()?.pages], - (i) => new Map((i ?? []).map((a) => [a.ref.objectNumber, a.index])) + (a) => new Map((a ?? []).map((i) => [i.ref.objectNumber, i.index])) ); - return { requireService: t, pages: n, pageIndexOf: (i) => o().get(i.objectNumber) ?? -1, canApply: () => e.doc.redaction !== void 0 && oJ.every((i) => e.doc.security.allows(i)) }; + return { requireService: t, pages: n, pageIndexOf: (a) => o().get(a.objectNumber) ?? -1, canApply: () => e.doc.redaction !== void 0 && gee.every((a) => e.doc.security.allows(a)) }; } -function sJ(e) { - return { events: tJ(e), store: rJ(e), siblings: nJ(e) }; +function bee(e) { + return { events: pee(e), store: mee(e), siblings: hee(e) }; } -const iJ = () => ({ +const yee = () => ({ applying: !1, lastResult: null -}), aJ = (e) => e.applying ? e : { ...e, applying: !0 }, cJ = (e) => e.applying ? { ...e, applying: !1 } : e, lJ = (e, t) => e.lastResult === t ? e : { ...e, lastResult: t }; -function uJ(e, { events: t, siblings: n }) { +}), wee = (e) => e.applying ? e : { ...e, applying: !0 }, vee = (e) => e.applying ? { ...e, applying: !1 } : e, kee = (e, t) => e.lastResult === t ? e : { ...e, lastResult: t }; +function xee(e, { events: t, siblings: n }) { const { applied: o, pendingChanged: r } = t, { annotation: s } = n; - e.listen(e.doc.events, (a) => { - if (a.type !== "redaction.applied") return; - const { type: c, origin: l, ...u } = a; - e.state.update(lJ, u), o.emit({ result: u, origin: l }); + e.listen(e.doc.events, (i) => { + if (i.type !== "redaction.applied") return; + const { type: c, origin: l, ...u } = i; + e.state.update(kee, u), o.emit({ result: u, origin: l }); }); - const i = ({ annotation: a }) => { - a.subtype === "redact" && r.emit({ pages: [a.page] }); + const a = ({ annotation: i }) => { + i.subtype === "redact" && r.emit({ pages: [i.page] }); }; - e.listen(s.onCreated, i), e.listen(s.onUpdated, i), e.listen(s.onDeleted, (a) => r.emit({ pages: [a.page] })); + e.listen(s.onCreated, a), e.listen(s.onUpdated, a), e.listen(s.onDeleted, (i) => r.emit({ pages: [i.page] })); } -const dJ = ({ overlay: e }) => ({ +const Aee = ({ overlay: e }) => ({ interiorColor: e.fill, fontColor: e.text.color, fontFamily: e.text.fontFamily, fontSize: e.text.fontSize }); -function fJ(e, { siblings: t }) { - const { annotation: n } = t, o = e.settings(), r = () => n.tools.updateDefaults("redact", dJ(o.get())); +function See(e, { siblings: t }) { + const { annotation: n } = t, o = e.settings(), r = () => n.tools.updateDefaults("redact", Aee(o.get())); r(), e.listen(o.api.onSettingsChanged, ({ changedKeys: s }) => { s.includes("overlay") && r(); }); } -function pJ(e, { store: t }, { listPending: n }) { +function Oee(e, { store: t }, { listPending: n }) { const { requireService: o, pages: r } = t, s = e.serialQueue("apply"); e.onSettle(() => s.idle()); - const i = (u, f) => s( + const a = (u, f) => s( async () => { const d = o(), p = u(); - e.state.update(aJ); + e.state.update(wee); try { return await e.cancellable(f?.signal, d.apply(p)); } finally { - e.state.update(cJ); + e.state.update(vee); } }, { signal: f?.signal } ); - return { api: { apply: (u, f) => i(() => { - const d = new Set(u.map(ie)), p = n().filter((h) => d.has(ie(h.ref))).map((h) => h.ref); + return { api: { apply: (u, f) => a(() => { + const d = new Set(u.map(Y)), p = n().filter((g) => d.has(Y(g.ref))).map((g) => g.ref); if (p.length === 0) - throw new Z("not-found", "redaction", "no matching pending marks"); + throw new te("not-found", "redaction", "no matching pending marks"); return { annotations: p }; }, f), applyPages: async (u, f) => { if (u.length === 0) - throw new Z("invalid-input", "redaction", "no pages given"); + throw new te("invalid-input", "redaction", "no pages given"); const d = u.map((p) => e.pageOf(p).ref); - return i(() => ({ pages: d }), f); - }, applyAll: (u) => i(() => { + return a(() => ({ pages: d }), f); + }, applyAll: (u) => a(() => { const f = r(); if (f.length === 0) - throw new Z("not-ready", "redaction", "the document has no pages"); + throw new te("not-ready", "redaction", "the document has no pages"); return { pages: f }; }, u) } }; } -const qA = (e) => { +const lS = (e) => { if (e?.aborted) - throw new Z("operation-cancelled", "redaction", "operation cancelled", { + throw new te("operation-cancelled", "redaction", "operation cancelled", { cause: e.reason }); }; -function hJ(e, { siblings: t }, { listPending: n, markFor: o }) { - const { annotation: r, selection: s, search: i } = t, a = () => { - const P = r.tools.getDefaults("redact"); +function Pee(e, { siblings: t }, { listPending: n, markFor: o }) { + const { annotation: r, selection: s, search: a } = t, i = () => { + const k = r.tools.getDefaults("redact"); return { - color: P.color, - interiorColor: P.interiorColor, - opacity: P.opacity, - fontFamily: P.fontFamily, - fontSize: P.fontSize, - fontColor: P.fontColor, - textAlign: P.textAlign + color: k.color, + interiorColor: k.interiorColor, + opacity: k.opacity, + fontFamily: k.fontFamily, + fontSize: k.fontSize, + fontColor: k.fontColor, + textAlign: k.textAlign }; - }, c = (P) => { - const k = o(P); - if (!k) throw new Z("operation-failed", "redaction", "the record is not a mark"); - return k; - }, l = (P) => { - const k = ie(P); - return n().some((A) => ie(A.ref) === k); - }, u = (P) => l(P) && r.canDelete(P), f = (P) => l(P) && r.canUpdate(P), d = async (P) => { + }, c = (k) => { + const A = o(k); + if (!A) throw new te("operation-failed", "redaction", "the record is not a mark"); + return A; + }, l = (k) => { + const A = Y(k); + return n().some((w) => Y(w.ref) === A); + }, u = (k) => l(k) && r.canDelete(k), f = (k) => l(k) && r.canUpdate(k), d = async (k) => { e.assertAllowed("annotations:create", "redaction.markSelection"); - const k = s(); - if (!k) throw new Z("unsupported", "redaction", "no selection plugin"); - if (!k.hasSelection()) return { marks: [] }; - const { annotations: A } = await r.createFromSelection("redact", { + const A = s(); + if (!A) throw new te("unsupported", "redaction", "no selection plugin"); + if (!A.hasSelection()) return { marks: [] }; + const { annotations: w } = await r.createFromSelection("redact", { clear: !0, - signal: P?.signal + signal: k?.signal }); - return { marks: A.map(c) }; - }, p = async (P, k, A) => { - const y = await r.create( - P, - { subtype: "redact", ...k, ...a() }, + return { marks: w.map(c) }; + }, p = async (k, A, w) => { + const b = await r.create( + k, + { subtype: "redact", ...A, ...i() }, void 0, - { signal: A } + { signal: w } ); - return c(y.annotation); - }, h = async (P, k, A) => { + return c(b.annotation); + }, g = async (k, A, w) => { e.assertAllowed("annotations:create", "redaction.markArea"); - const y = e.pageOf(P).ref; - return { mark: await p(y, { rect: k }, A?.signal) }; - }, g = async (P, k) => { + const b = e.pageOf(k).ref; + return { mark: await p(b, { rect: A }, w?.signal) }; + }, h = async (k, A) => { e.assertAllowed("annotations:create", "redaction.markPage"); - const A = e.pageOf(P), y = { x: 0, y: 0, width: A.size.width, height: A.size.height }; - return { mark: await p(A.ref, { rect: y }, k?.signal) }; - }, m = async (P, k) => { + const w = e.pageOf(k), b = { x: 0, y: 0, width: w.size.width, height: w.size.height }; + return { mark: await p(w.ref, { rect: b }, A?.signal) }; + }, m = async (k, A) => { e.assertAllowed("annotations:create", "redaction.markMatches"); - const A = k?.signal, y = i(); - if (!y) throw new Z("unsupported", "redaction", "no search plugin"); - const w = k?.pages ? new Set(k.pages.map((b) => e.pageOf(b).ref.objectNumber)) : null; - await y.search(P, { signal: A }); - const O = []; - for (const b of y.listHits()) - w && !w.has(b.page.objectNumber) || b.segments.length !== 0 && (qA(A), O.push( + const w = A?.signal, b = a(); + if (!b) throw new te("unsupported", "redaction", "no search plugin"); + const v = A?.pages ? new Set(A.pages.map((y) => e.pageOf(y).ref.objectNumber)) : null; + await b.search(k, { signal: w }); + const x = []; + for (const y of b.listHits()) + v && !v.has(y.page.objectNumber) || y.segments.length !== 0 && (lS(w), x.push( await p( - b.page, - { quadPoints: b.segments.map((v) => v.quad) }, - A + y.page, + { quadPoints: y.segments.map((M) => M.quad) }, + w ) )); - return { marks: O }; - }, M = async (P, k) => { - const A = k?.signal; - qA(A); - const y = [], w = [], O = []; - for (const b of P) { - if (!l(b)) { - w.push({ ref: b, reason: "not a pending redaction mark" }); + return { marks: x }; + }, O = async (k, A) => { + const w = A?.signal; + lS(w); + const b = [], v = [], x = []; + for (const y of k) { + if (!l(y)) { + v.push({ ref: y, reason: "not a pending redaction mark" }); continue; } - if (!r.canDelete(b)) { - const v = new Z( + if (!r.canDelete(y)) { + const M = new te( "permission-denied", "redaction", "redaction.unmark requires annotations:delete", { permission: "annotations:delete" } ); - O.push({ ref: b, error: bn(v) }); + x.push({ ref: y, error: xn(M) }); continue; } try { - await r.delete(b, { signal: A }), y.push(b); - } catch (v) { - const E = Be("redaction", v); - if (E.code === "operation-cancelled") throw E; - O.push({ ref: b, error: bn(E) }); + await r.delete(y, { signal: w }), b.push(y); + } catch (M) { + const S = Fe("redaction", M); + if (S.code === "operation-cancelled") throw S; + x.push({ ref: y, error: xn(S) }); } } - return { applied: y, skipped: w, failed: O }; + return { applied: b, skipped: v, failed: x }; }; return { api: { canUnmark: u, canUpdateLabel: f, markSelection: d, - markArea: h, - markPage: g, + markArea: g, + markPage: h, markMatches: m, - unmark: M, - clearPending: (P) => M( - n().map((k) => k.ref), - P + unmark: O, + clearPending: (k) => O( + n().map((A) => A.ref), + k ), - updateLabel: async (P, k, A) => { - const y = r.get(P); - if (!y || y.subtype !== "redact") - throw new Z("not-found", "redaction", "the target is not a redaction mark"); - if (!r.canUpdate(P)) - throw new Z( + updateLabel: async (k, A, w) => { + const b = r.get(k); + if (!b || b.subtype !== "redact") + throw new te("not-found", "redaction", "the target is not a redaction mark"); + if (!r.canUpdate(k)) + throw new te( "permission-denied", "redaction", "redaction.updateLabel requires annotations:update", { permission: "annotations:update" } ); try { - const w = await r.update( - P, + const v = await r.update( + k, { subtype: "redact", - ...k.overlayText !== void 0 ? { overlayText: k.overlayText } : {}, - ...k.repeat !== void 0 ? { repeat: k.repeat } : {}, - fontFamily: y.fontFamily, - fontSize: y.fontSize, - fontColor: y.fontColor, - textAlign: y.textAlign + ...A.overlayText !== void 0 ? { overlayText: A.overlayText } : {}, + ...A.repeat !== void 0 ? { repeat: A.repeat } : {}, + fontFamily: b.fontFamily, + fontSize: b.fontSize, + fontColor: b.fontColor, + textAlign: b.textAlign }, void 0, - { signal: A?.signal } + { signal: w?.signal } ); - return { mark: c(w.annotation) }; - } catch (w) { - throw Be("redaction", w); + return { mark: c(v.annotation) }; + } catch (v) { + throw Fe("redaction", v); } } } }; } -function gJ(e) { - const t = sJ(e), { events: n, store: o } = t, r = e.settings(), s = eJ(e, t), i = hJ(e, t, s), a = pJ(e, t, s); +function Mee(e) { + const t = bee(e), { events: n, store: o } = t, r = e.settings(), s = fee(e, t), a = Pee(e, t, s), i = Oee(e, t, s); return { api: ys("redaction", [ r.api, s.api, - i.api, a.api, + i.api, { // Marks are annotations, so marking needs the session's annotation // create permission: what the annotation plugin's `canCreate` reads too. @@ -42175,20 +43028,20 @@ function gJ(e) { } ]), connect() { - uJ(e, t), fJ(e, t); + xee(e, t), See(e, t); } }; } -const mJ = (e) => ({ +const Eee = (e) => ({ id: "redaction", - token: pr, + token: hr, scope: "document", - requires: [It], - optional: [wn, Zo], - state: iJ, - settings: { defaults: ZZ, registered: e }, - create: gJ -}), Ao = At("form", { + requires: [Tt], + optional: [Sn, Jo], + state: yee, + settings: { defaults: uee, registered: e }, + create: Mee +}), xo = St("form", { hint: "add formPlugin() from '@embedpdf/plugin-form' to your plugins list", // Without a document, an adapter's stand-in rejects these with `not-ready`, as the // capability would; the type asks for every member that returns a promise. @@ -42203,6 +43056,8 @@ const mJ = (e) => ({ refresh: !0, create: !0, addWidget: !0, + duplicate: !0, + duplicateWidgets: !0, update: !0, delete: !0, removeWidget: !0, @@ -42211,16 +43066,16 @@ const mJ = (e) => ({ reorderCalculations: !0, repair: !0 } -}), bJ = { +}), Cee = { validation: "scripts", focus: { color: null }, fields: { border: null, background: "rgb(255 255 255 / 0.92)", color: "#1f2a44" }, fillable: !0 -}, HA = ["form-place", "annotation-edit"], Ns = { +}, uS = ["form-place", "annotation-edit"], Ns = { interiorColor: "#ffffff", color: "#6b7280", strokeWidth: 1 -}, rI = [ +}, F3 = [ { id: "form-text", fieldKind: "text", @@ -42282,15 +43137,15 @@ const mJ = (e) => ({ defaults: Ns, cursor: "crosshair" } -], jg = new Map( - rI.map((e) => [e.id, e]) +], Wg = new Map( + F3.map((e) => [e.id, e]) ); -function yJ(e, t) { +function Iee(e, t) { let n = 1; for (; t.has(`${e}_${n}`); ) n++; return `${e}_${n}`; } -function wJ(e, t) { +function _ee(e, t) { const n = Math.max(t.x, Math.min(e.x, t.width)), o = Math.max(t.y, Math.min(e.y, t.height)), r = { x: n, y: o, @@ -42299,7 +43154,7 @@ function wJ(e, t) { }; return r.width < 1 || r.height < 1 ? null : r; } -function vJ(e, t, n) { +function Nee(e, t, n) { switch (e.fieldKind) { case "radio": return { kind: "radio", name: t, widgets: [{ ...n, exportValue: "Choice1" }] }; @@ -42320,55 +43175,55 @@ function vJ(e, t, n) { return { kind: e.fieldKind, name: t, widgets: [n] }; } } -function kJ(e, t, n) { +function Tee(e, t, n) { let o = null; const r = () => { o = null, n?.clearPlacementPreview(), n?.clearGhost(); - }, s = async (i, a, c) => { - const l = e.getPageBox(a), u = l ? wJ(c, l) : null; + }, s = async (a, i, c) => { + const l = e.getPageBox(i), u = l ? _ee(c, l) : null; if (!u) return; - const f = AV( - n ? n.tools.getDefaults(i.id) : i.defaults - ), d = yJ(i.fieldKind, new Set(e.list().map((M) => M.name))), p = e.create(vJ(i, d, { page: a, rect: u, ...f })), h = e.get({ kind: "fqn", name: d }) ?? (await p).field; - if (!n || t.getActiveToolId() !== i.id) return; - const g = n.getSettings().afterCreate, m = h.widgets.find( - (M) => M.page?.objectNumber === a.objectNumber + const f = DG( + n ? n.tools.getDefaults(a.id) : a.defaults + ), d = Iee(a.fieldKind, new Set(e.list().map((O) => O.name))), p = e.create(Nee(a, d, { page: i, rect: u, ...f })), g = e.get({ kind: "fqn", name: d }) ?? (await p).field; + if (!n || t.getActiveToolId() !== a.id) return; + const h = n.getSettings().afterCreate, m = g.widgets.find( + (O) => O.page?.objectNumber === i.objectNumber ); - g.select && m?.ref && n.selection.select([m.ref]), g.tool === "default" && t.activateTool("form-edit"), await p; + h.select && m?.ref && n.selection.select([m.ref]), h.tool === "default" && t.activateTool("form-edit"), await p; }; return { id: "form-place", // Above the annotation edit handler (100): while a palette tool is // active, a drag on empty page means "place a field", not "marquee". priority: 95, - enabledFor: (i) => i.enables.has("form-place"), - onHover: (i) => { + enabledFor: (a) => a.enables.has("form-place"), + onHover: (a) => { if (!n) return; - const a = t.getActiveToolId(); - i.page && jg.has(a) && e.canDesign() && !t.hasCursorClaim() ? n.hoverGhostAt( - a, - i.page.ref, - i.page.point, - i.page.rotation, - i.page.zoom + const i = t.getActiveToolId(); + a.page && Wg.has(i) && e.canDesign() && !t.hasCursorClaim() ? n.hoverGhostAt( + i, + a.page.ref, + a.page.point, + a.page.rotation, + a.page.zoom ) : n.clearGhost(); }, - onPointerDown: (i) => !i.page || !jg.has(t.getActiveToolId()) || !e.canDesign() ? !1 : (o = { page: i.page.ref, start: i.page.point, last: i.page.point }, !0), - onPointerMove: (i) => { + onPointerDown: (a) => !a.page || !Wg.has(t.getActiveToolId()) || !e.canDesign() ? !1 : (o = { page: a.page.ref, start: a.page.point, last: a.page.point }, !0), + onPointerMove: (a) => { if (!o) return; - const a = ml(i, o.page); - a && (o.last = a, n?.previewPlacement(t.getActiveToolId(), o.page, o.start, a)); + const i = ml(a, o.page); + i && (o.last = i, n?.previewPlacement(t.getActiveToolId(), o.page, o.start, i)); }, - onPointerUp: (i) => { + onPointerUp: (a) => { if (!o) return; - const a = o; + const i = o; r(); - const c = jg.get(t.getActiveToolId()); + const c = Wg.get(t.getActiveToolId()); if (!c) return; - const l = ml(i, a.page) ?? a.last, u = Xp("box", a.start, l, c.clickCreate, { - pageBox: e.getPageBox(a.page) ?? void 0 + const l = ml(a, i.page) ?? i.last, u = nh("box", i.start, l, c.clickCreate, { + pageBox: e.getPageBox(i.page) ?? void 0 }); - u?.kind === "box" && s(c, a.page, u.rect).catch((f) => { + u?.kind === "box" && s(c, i.page, u.rect).catch((f) => { globalThis.console?.error("[form] placing the field failed:", f); }); }, @@ -42376,8 +43231,8 @@ function kJ(e, t, n) { onPointerCancel: r }; } -function xJ(e, t, n) { - const o = e.get(Ot), r = e.tryGet(It); +function Ree(e, t, n) { + const o = e.get(_t), r = e.tryGet(Tt); e.cleanup( o.registerTool({ id: "form-fill", @@ -42391,33 +43246,33 @@ function xJ(e, t, n) { enables: /* @__PURE__ */ new Set(["annotation-edit", "annotation-marquee"]) }) ); - for (const i of rI) + for (const a of F3) e.cleanup( r ? r.tools.register({ - id: i.id, - subtype: i.visualKind, - cursor: i.cursor, - enables: [...HA], - clickCreate: i.clickCreate, - defaults: i.defaults, + id: a.id, + subtype: a.visualKind, + cursor: a.cursor, + enables: [...uS], + clickCreate: a.clickCreate, + defaults: a.defaults, // Click-first: the field a click places follows the pointer. ghost: !0 }) : o.registerTool({ - id: i.id, - cursor: i.cursor, - enables: new Set(HA) + id: a.id, + cursor: a.cursor, + enables: new Set(uS) }) ); - e.cleanup(o.registerHandler(kJ(t, o, r))), r && e.allows("doc.forms.modify") && e.cleanup(r.lend(n)); - const s = e.tryGet(Wa); - s && (e.cleanup(s.registerFormCommitSink((i) => t.commitScriptFormEffects(i))), e.cleanup(s.registerFormReader(() => t.getSnapshot())), e.cleanup(s.registerFormFocus((i) => t.focus(DN(i)))), e.cleanup( + e.cleanup(o.registerHandler(Tee(t, o, r))), r && e.allows("doc.forms.modify") && e.cleanup(r.lend(n)); + const s = e.tryGet(zi); + s && (e.cleanup(s.registerFormCommitSink((a) => t.commitScriptFormEffects(a))), e.cleanup(s.registerFormReader(() => t.getSnapshot())), e.cleanup(s.registerFormFocus((a) => t.focus(ET(a)))), e.cleanup( s.registerSubmitResolver( - (i, a, c) => t.resolveSubmitDataset(i, a, c) + (a, i, c) => t.resolveSubmitDataset(a, i, c) ) ), e.cleanup( - s.registerExecutor("reset-form", async (i, a) => { - if (i.type !== "reset-form") return { status: "inert", reason: "not a reset-form node" }; - const c = await t.resetFormAction(i.fields, i.exclude, a.origin); + s.registerExecutor("reset-form", async (a, i) => { + if (a.type !== "reset-form") return { status: "inert", reason: "not a reset-form node" }; + const c = await t.resetFormAction(a.fields, a.exclude, i.origin); return c.status === "failed" ? { status: "failed", error: c.error?.message ?? "reset failed" } : c.status === "unchanged" ? { status: "inert", reason: c.diagnostics[0]?.message ?? "reset-form resolved no fields" @@ -42425,7 +43280,7 @@ function xJ(e, t, n) { }) )); } -const Ca = (e) => e.kind === "objectNumber" ? `obj:${e.objectNumber}` : `fqn:${e.name}`, vn = (e) => Ca(e.ref), AJ = () => ({ +const Ei = (e) => e.kind === "objectNumber" ? `obj:${e.objectNumber}` : `fqn:${e.name}`, Lt = (e) => Ei(e.ref), Lee = () => ({ snapshot: null, byKey: {}, byName: {}, @@ -42433,139 +43288,139 @@ const Ca = (e) => e.kind === "objectNumber" ? `obj:${e.objectNumber}` : `fqn:${e rowByWidget: {}, pictureVersions: {} }); -function bw(e, t = {}) { +function Nw(e, t = {}) { const n = {}, o = {}, r = {}, s = {}; - return e.fields.forEach((i, a) => { + return e.fields.forEach((a, i) => { var c; - n[vn(i)] = a, o[c = i.name] ?? (o[c] = a); - for (const l of i.widgets) - l.objectNumber > 0 && (r[l.objectNumber] = a); - }), e.widgets.forEach((i, a) => { - i.ref.kind === "objectNumber" && (s[i.ref.objectNumber] = a); + n[Lt(a)] = i, o[c = a.name] ?? (o[c] = i); + for (const l of a.widgets) + l.objectNumber > 0 && (r[l.objectNumber] = i); + }), e.widgets.forEach((a, i) => { + a.ref.kind === "objectNumber" && (s[a.ref.objectNumber] = i); }), { snapshot: e, byKey: n, byName: o, byWidget: r, rowByWidget: s, pictureVersions: t }; } -const Si = (e, t) => bw(t, e.pictureVersions); -function SJ(e, t) { +const Pa = (e, t) => Nw(t, e.pictureVersions); +function jee(e, t) { const n = {}; for (const [o, r] of Object.entries(e.pictureVersions)) n[Number(o)] = r + 1; for (const o of t.widgets) { - const r = da(o); + const r = di(o); r > 0 && (n[r] ?? (n[r] = 0)); } - return bw(t, n); + return Nw(t, n); } -const bb = (e, t) => e.pictureVersions[t] ?? 0; -function ar(e, t) { +const Mb = (e, t) => e.pictureVersions[t] ?? 0; +function Mo(e, t) { if (!e.snapshot || t.length === 0) return e; const n = e.snapshot.fields.slice(); for (const o of t) { - const r = e.byKey[vn(o)]; + const r = e.byKey[Lt(o)]; r === void 0 ? n.push(o) : n[r] = o; } - return Si(e, { ...e.snapshot, fields: n }); + return Pa(e, { ...e.snapshot, fields: n }); } -const da = (e) => e.ref.kind === "objectNumber" ? e.ref.objectNumber : 0; -function Eo(e, t) { +const di = (e) => e.ref.kind === "objectNumber" ? e.ref.objectNumber : 0; +function Gn(e, t) { if (!e.snapshot || t.length === 0) return e; - const n = new Map(t.map((r) => [da(r), r])), o = e.snapshot.widgets.map((r) => { - const s = n.get(da(r)); - return s && n.delete(da(r)), s ?? r; + const n = new Map(t.map((r) => [di(r), r])), o = e.snapshot.widgets.map((r) => { + const s = n.get(di(r)); + return s && n.delete(di(r)), s ?? r; }); - return Si(e, { ...e.snapshot, widgets: [...o, ...n.values()] }); + return Pa(e, { ...e.snapshot, widgets: [...o, ...n.values()] }); } -function sI(e, t, n) { +function D3(e, t, n) { if (!e.snapshot) return e; - const o = cy( + const o = yy( e.snapshot.widgets, (r) => r.page.objectNumber === t.objectNumber, - n.map(ie), - (r) => ie(r.ref) + n.map(Y), + (r) => Y(r.ref) ); - return Si(e, { ...e.snapshot, widgets: o }); + return Pa(e, { ...e.snapshot, widgets: o }); } -function El(e, t) { +function Cl(e, t) { if (!e.snapshot || t.length === 0) return e; - const n = new Set(t.map((r) => r.objectNumber)), o = e.snapshot.widgets.filter((r) => !n.has(da(r))); - return o.length === e.snapshot.widgets.length ? e : Si(e, { ...e.snapshot, widgets: o }); + const n = new Set(t.map((r) => r.objectNumber)), o = e.snapshot.widgets.filter((r) => !n.has(di(r))); + return o.length === e.snapshot.widgets.length ? e : Pa(e, { ...e.snapshot, widgets: o }); } -function iI(e, t) { +function $3(e, t) { if (!e.snapshot) return e; const n = e.snapshot.fields.filter( (o) => t.kind === "objectNumber" ? !(o.ref.kind === "objectNumber" && o.ref.objectNumber === t.objectNumber) : o.name !== t.name ); - return n.length === e.snapshot.fields.length ? e : Si(e, { ...e.snapshot, fields: n }); + return n.length === e.snapshot.fields.length ? e : Pa(e, { ...e.snapshot, fields: n }); } -function PJ(e, t) { - return CJ(MJ(e, OJ(t)), t); +function Fee(e, t) { + return zee($ee(e, Dee(t)), t); } -function OJ(e) { +function Dee(e) { if (e.type === "signatures.completed") return e.signature.widget ? [e.signature.widget] : []; if (!e.type.startsWith("forms.") || !("meta" in e)) return []; const t = e.meta; return t.redrawnWidgets ?? t.changedWidgets ?? []; } -function MJ(e, t) { +function $ee(e, t) { if (t.length === 0) return e; const n = /* @__PURE__ */ new Set(); for (const r of t) if (r.objectNumber) n.add(r.objectNumber); else if (r.page) for (const s of e.snapshot?.widgets ?? []) - s.page.objectNumber === r.page.objectNumber && n.add(da(s)); + s.page.objectNumber === r.page.objectNumber && n.add(di(s)); if (n.size === 0) return e; const o = { ...e.pictureVersions }; for (const r of n) o[r] = (o[r] ?? 0) + 1; return { ...e, pictureVersions: o }; } -function EJ(e, t) { +function Bee(e, t) { if (t.ref.kind !== "objectNumber") return e; const n = t.ref.objectNumber; if (t.widgets.some((r) => r.objectNumber === n)) return e; - const o = hn(e, n); - return o ? El(e, [{ ref: o.ref, objectNumber: n, page: o.page }]) : e; + const o = rn(e, n); + return o ? Cl(e, [{ ref: o.ref, objectNumber: n, page: o.page }]) : e; } -function CJ(e, t) { +function zee(e, t) { switch (t.type) { case "forms.widgetAdded": - return EJ( - Eo(ar(e, [t.field]), t.widgets), + return Bee( + Gn(Mo(e, [t.field]), t.widgets), t.field ); case "forms.valueSet": case "forms.widgetRemoved": case "forms.restored": - return Eo(ar(e, [t.field]), t.widgets); + return Gn(Mo(e, [t.field]), t.widgets); case "forms.updated": return qs( - Eo(ar(e, [t.field]), t.widgets), + Gn(Mo(e, [t.field]), t.widgets), t.calculationOrder ); case "forms.created": { - const n = Eo(ar(e, [t.field]), t.widgets); + const n = Gn(Mo(e, [t.field]), t.widgets); return qs( - n.snapshot?.formKind === "none" ? Si(n, { ...n.snapshot, formKind: "acroform" }) : n, + n.snapshot?.formKind === "none" ? Pa(n, { ...n.snapshot, formKind: "acroform" }) : n, t.calculationOrder ); } case "forms.calculationsReordered": return qs(e, t.calculationOrder); case "forms.widgetDeleted": { - const n = El(e, t.meta.changedWidgets); - return t.field ? ar(n, [t.field]) : n; + const n = Cl(e, t.meta.changedWidgets); + return t.field ? Mo(n, [t.field]) : n; } case "forms.widgetRestored": - return Eo(t.field ? ar(e, [t.field]) : e, t.widgets); + return Gn(t.field ? Mo(e, [t.field]) : e, t.widgets); case "forms.widgetUpdated": - return Eo(e, [t.widget]); + return Gn(e, [t.widget]); case "forms.widgetsReordered": - return sI(e, t.page, t.order); + return D3(e, t.page, t.order); case "forms.deleted": return t.deleted ? qs( - El(iI(e, t.deleted), t.meta.changedWidgets), + Cl($3(e, t.deleted), t.meta.changedWidgets), t.calculationOrder - ) : fo(); + ) : po(); // A repair reports only counts; the others add or remove pages, or paint their // widgets into the content. case "forms.repaired": @@ -42575,45 +43430,45 @@ function CJ(e, t) { case "pages.flattened": case "annotations.flattened": case "redaction.applied": - return fo(); + return po(); default: return e; } } -function IJ(e) { +function Wee(e) { return (e.snapshot?.fields ?? []).some( ({ actions: t }) => !!(t?.keystroke || t?.validate || t?.calculate || t?.format) ); } function qs(e, t) { - return !t || !e.snapshot ? e : Si(e, { ...e.snapshot, calculationOrder: [...t] }); + return !t || !e.snapshot ? e : Pa(e, { ...e.snapshot, calculationOrder: [...t] }); } const hs = (e, t) => { const n = e.byKey[t]; return n === void 0 ? null : e.snapshot?.fields[n] ?? null; }; -function kt(e, t) { - const n = t.kind === "fqn" ? e.byName[t.name] : e.byKey[Ca(t)]; +function pt(e, t) { + const n = t.kind === "fqn" ? e.byName[t.name] : e.byKey[Ei(t)]; return n === void 0 ? null : e.snapshot?.fields[n] ?? null; } -const Uf = (e, t) => { - const n = kt(e, t); - return n ? vn(n) : Ca(t); -}, Zt = (e, t) => { +const qf = (e, t) => { + const n = pt(e, t); + return n ? Lt(n) : Ei(t); +}, en = (e, t) => { const n = e.byWidget[t]; return n === void 0 ? null : e.snapshot?.fields[n] ?? null; }; -function _J(e, t) { +function Uee(e, t) { return (t.snapshot?.fields ?? []).filter((n) => { - const o = hs(e, vn(n)); - return !o || JSON.stringify(VA(o)) !== JSON.stringify(VA(n)); + const o = hs(e, Lt(n)); + return !o || JSON.stringify(dS(o)) !== JSON.stringify(dS(n)); }); } -const VA = (e) => "valueEntry" in e ? e.valueEntry : null, yw = (e) => !e.hidden && !e.noView; -function NJ(e, t) { +const dS = (e) => "valueEntry" in e ? e.valueEntry : null, Tw = (e) => !e.hidden && !e.noView; +function Kee(e, t) { const n = {}; for (const o of e.snapshot?.widgets ?? []) - o.page.objectNumber !== t || o.ref.kind !== "objectNumber" || yw(o) && (n[o.ref.objectNumber] = { + o.page.objectNumber !== t || o.ref.kind !== "objectNumber" || Tw(o) && (n[o.ref.objectNumber] = { box: o.rect, look: { border: o.color ?? null, @@ -42628,11 +43483,11 @@ function NJ(e, t) { }); return n; } -const TJ = { pending: !1, pictureVersion: 0 }; -function RJ(e, t, n = () => TJ) { +const qee = { pending: !1, pictureVersion: 0 }; +function Hee(e, t, n = () => qee) { const o = []; for (const r of e.snapshot?.widgets ?? []) - r.page.objectNumber !== t || !yw(r) || o.push({ + r.page.objectNumber !== t || !Tw(r) || o.push({ ref: r.ref, rect: r.rect, appearanceState: r.appearanceState, @@ -42640,23 +43495,23 @@ function RJ(e, t, n = () => TJ) { }); return o; } -function hn(e, t) { +function rn(e, t) { const n = e.rowByWidget[t]; return n === void 0 ? null : e.snapshot?.widgets[n] ?? null; } -const LJ = (e, t) => t.x >= e.x && t.x <= e.x + e.width && t.y >= e.y && t.y <= e.y + e.height; -function jJ(e, t, n) { +const Vee = (e, t) => t.x >= e.x && t.x <= e.x + e.width && t.y >= e.y && t.y <= e.y + e.height; +function Gee(e, t, n) { if (!t) return null; let o = null; for (const [r, { box: s }] of Object.entries(t)) { - if (!LJ(s, n)) continue; - const i = Number(r), a = Zt(e, i); - a && (!o || s.width * s.height < o.box.width * o.box.height) && (o = { annotObjectNumber: i, field: a, box: s }); + if (!Vee(s, n)) continue; + const a = Number(r), i = en(e, a); + i && (!o || s.width * s.height < o.box.width * o.box.height) && (o = { annotObjectNumber: a, field: i, box: s }); } return o; } -const FJ = () => ({ focused: null }), GA = Object.freeze([]), DJ = Object.freeze([]), fn = (e) => "kind" in e ? e.kind === "objectNumber" ? e.objectNumber : 0 : e.objectNumber; -function aI(e) { +const Yee = () => ({ focused: null }), fS = Object.freeze([]), Qee = Object.freeze([]), mn = (e) => "kind" in e ? e.kind === "objectNumber" ? e.objectNumber : 0 : e.objectNumber; +function B3(e) { const t = e.valueEntry; if (t.kind === "none" || t.kind === "unsupported") return null; switch (e.kind) { @@ -42674,12 +43529,12 @@ function aI(e) { return null; } } -function $J(e) { - const t = aI(e); +function Xee(e) { + const t = B3(e); if (t) return "checked" in t ? t.checked : "selectedValues" in t ? t.selectedValues : t.value; } -function BJ(e, t) { +function Zee(e, t) { switch (e.kind) { case "checkbox": return typeof t == "boolean" ? { checked: t } : typeof t == "string" || t === null ? { value: t } : null; @@ -42693,7 +43548,7 @@ function BJ(e, t) { return null; } } -function cI(e) { +function z3(e) { switch (e.kind) { case "text": case "combobox": @@ -42710,53 +43565,59 @@ function cI(e) { return !1; } } -function zJ(e, { fields: t, rights: n, siblings: o }) { - const r = () => t.view().snapshot?.fields ?? GA, s = (d) => { +function Jee(e, { fields: t, rights: n, siblings: o }) { + const r = () => t.view().snapshot?.fields ?? fS, s = (d) => { if (!d) return r(); const p = d.page === void 0 ? void 0 : e.getPage(d.page)?.ref; - return d.page !== void 0 && !p ? GA : r().filter( - (h) => (!d.kind || h.kind === d.kind) && (d.name === void 0 || h.name === d.name) && (!p || h.widgets.some((g) => g.page && pi(g.page, p))) + return d.page !== void 0 && !p ? fS : r().filter( + (g) => (!d.kind || g.kind === d.kind) && (d.name === void 0 || g.name === d.name) && (!p || g.widgets.some((h) => h.page && ga(h.page, p))) ); - }, i = Jt( + }, a = Ut( (d) => { const p = hs(t.view(), d); - return [p ? JSON.stringify(aI(p)) : null]; + return [p ? JSON.stringify(B3(p)) : null]; }, (d, p) => p === null ? null : JSON.parse(p), { maxEntries: 1024 } - ), a = Jt( + ), i = Ut( (d) => { const p = t.view(); - return (hs(p, d)?.widgets ?? []).map((g) => hn(p, g.objectNumber)); + return (hs(p, d)?.widgets ?? []).map((h) => rn(p, h.objectNumber)); }, - (d, ...p) => Object.freeze(p.filter((h) => h !== null)), + (d, ...p) => Object.freeze(p.filter((g) => g !== null)), { maxEntries: 1024 } - ), c = Ke( + ), c = qe( () => [t.view()], (d) => { const p = {}; - for (const h of d.snapshot?.fields ?? []) { - const g = $J(h); - g !== void 0 && (p[h.name] = g); + for (const g of d.snapshot?.fields ?? []) { + const h = Xee(g); + h !== void 0 && (p[g.name] = h); } return p; } ), l = (d) => { - const p = t.view(), h = d.widgets.map((m) => hn(p, m.objectNumber)).find((m) => m !== null); - return [h ? e.getPage(h.page)?.index ?? 1 / 0 : 1 / 0, h?.rect.y ?? 0, h?.rect.x ?? 0]; - }, u = Ke( + const p = t.view(), g = d.widgets.map((m) => rn(p, m.objectNumber)).find((m) => m !== null); + return [g ? e.getPage(g.page)?.index ?? 1 / 0 : 1 / 0, g?.rect.y ?? 0, g?.rect.x ?? 0]; + }, u = qe( () => [t.view(), e.document(), n.key()], (d) => { - const p = (d.snapshot?.fields ?? []).filter((h) => h.required && cI(h) && n.mayFill(h)).map((h) => ({ field: h, place: l(h) })).sort( - (h, g) => h.place[0] - g.place[0] || h.place[1] - g.place[1] || h.place[2] - g.place[2] - ).map(({ field: h }) => h); + const p = (d.snapshot?.fields ?? []).filter((g) => g.required && z3(g) && n.mayFill(g)).map((g) => ({ field: g, place: l(g) })).sort( + (g, h) => g.place[0] - h.place[0] || g.place[1] - h.place[1] || g.place[2] - h.place[2] + ).map(({ field: g }) => g); return { valid: p.length === 0, missing: p }; } - ), f = Ke( - () => [t.view(), o.annotation()?.selection.getSelected() ?? DJ], + ), f = qe( + () => [t.view(), o.annotation()?.selection.getSelected() ?? Qee], (d, p) => { - const [h] = p; - return p.length !== 1 || !h?.subtype.startsWith("widget") ? null : Zt(d, fn(h.ref)); + let g = null; + for (const h of p) { + if (!h.subtype.startsWith("widget")) return null; + const m = en(d, mn(h.ref)); + if (!m || g && Lt(g) !== Lt(m)) return null; + g = m; + } + return g; } ); return { @@ -42765,35 +43626,35 @@ function zJ(e, { fields: t, rights: n, siblings: o }) { getStatus: t.getStatus, getFormKind: () => t.view().snapshot?.formKind ?? "none", refresh: (d) => e.cancellable(d?.signal, t.refresh()), - get: (d) => kt(t.view(), d), - getFieldForWidget: (d) => Zt(t.view(), fn(d)), - getWidget: (d) => hn(t.view(), fn(d)), - getWidgets: (d) => a(Uf(t.view(), d)), + get: (d) => pt(t.view(), d), + getFieldForWidget: (d) => en(t.view(), mn(d)), + getWidget: (d) => rn(t.view(), mn(d)), + getWidgets: (d) => i(qf(t.view(), d)), list: s, - getValue: (d) => i(Uf(t.view(), d)), + getValue: (d) => a(qf(t.view(), d)), getSelectedField: f, validate: u, exportValues: c } }; } -const WJ = [ +const ete = [ { key: "name", control: "text", label: "Name", labelKey: "form.settings.name" }, { key: "alternateName", control: "text", label: "Tooltip", labelKey: "form.settings.tooltip" }, { key: "required", control: "flag", label: "Required", labelKey: "form.settings.required" }, { key: "readOnly", control: "flag", label: "Read-only", labelKey: "form.settings.readOnly" }, { key: "noExport", control: "flag", label: "Don't export", labelKey: "form.settings.noExport" } -], Fg = { label: "Default value", labelKey: "form.settings.defaultValue" }, YA = { +], Ug = { label: "Default value", labelKey: "form.settings.defaultValue" }, pS = { key: "options", control: "options", label: "Options", labelKey: "form.settings.options" }; -function UJ(e) { +function tte(e) { switch (e.kind) { case "text": return [ - { key: "defaultValue", control: "text", ...Fg }, + { key: "defaultValue", control: "text", ...Ug }, { key: "maxLength", control: "number", @@ -42832,7 +43693,7 @@ function UJ(e) { ]; case "combobox": return [ - YA, + pS, { key: "edit", control: "flag", @@ -42842,14 +43703,14 @@ function UJ(e) { { key: "defaultValue", control: "choice", - ...Fg, + ...Ug, options: e.options.map((t) => t.value), free: e.edit } ]; case "listbox": return [ - YA, + pS, { key: "multiSelect", control: "flag", @@ -42859,7 +43720,7 @@ function UJ(e) { { key: "defaultValue", control: "choices", - ...Fg, + ...Ug, options: e.options.map((t) => t.value) } ]; @@ -42867,34 +43728,34 @@ function UJ(e) { return []; } } -function KJ(e, t) { +function nte(e, t) { const n = e, o = {}; for (const { key: r } of t) r === "name" ? o.name = e.name.slice(e.name.lastIndexOf(".") + 1) : r === "alternateName" ? o.alternateName = e.alternateName ?? "" : o[r] = n[r] ?? null; return o; } -function qJ({ fields: e }) { - const t = Jt( +function ote({ fields: e }) { + const t = Ut( (n) => [hs(e.view(), n)], (n, o) => { if (!o) return null; - const r = [...WJ, ...UJ(o)]; - return { properties: r, values: KJ(o, r) }; + const r = [...ete, ...tte(o)]; + return { properties: r, values: nte(o, r) }; }, { maxEntries: 256 } ); return { api: { - getFieldSettings: (n) => t(Uf(e.view(), n)) + getFieldSettings: (n) => t(qf(e.view(), n)) } }; } -function HJ(e, t, n, o) { +function rte(e, t, n, o) { const s = { - key: vn(e), + key: Lt(e), fieldRef: e.ref, annotObjectNumber: t, - annotationRef: e.widgets.find((i) => i.objectNumber === t)?.ref ?? null, + annotationRef: e.widgets.find((a) => a.objectNumber === t)?.ref ?? null, box: n.box, look: n.look, disabled: e.readOnly || !o, @@ -42912,27 +43773,27 @@ function HJ(e, t, n, o) { comb: e.comb }; case "checkbox": { - const i = e.widgets.find( - (a) => a.objectNumber === t + const a = e.widgets.find( + (i) => i.objectNumber === t ); return { ...s, control: "toggle", kind: "checkbox", checked: e.checked, - exportValue: i && "exportValue" in i ? i.exportValue : e.exportValue + exportValue: a && "exportValue" in a ? a.exportValue : e.exportValue }; } case "radio": { - const i = e.widgets.find( - (a) => a.objectNumber === t + const a = e.widgets.find( + (i) => i.objectNumber === t ); return { ...s, control: "toggle", kind: "radio", - checked: i && "checked" in i ? i.checked : !1, - exportValue: i && "exportValue" in i ? i.exportValue : "" + checked: a && "checked" in a ? a.checked : !1, + exportValue: a && "exportValue" in a ? a.exportValue : "" }; } case "combobox": @@ -42963,40 +43824,40 @@ function HJ(e, t, n, o) { return null; } } -function VJ(e, t, n, o) { +function ste(e, t, n, o) { if (!e.snapshot || !n) return []; const r = []; for (const s of e.snapshot.fields) - for (const i of s.widgets) { - if (i.page?.objectNumber !== t) continue; - const a = n[i.objectNumber]; - if (!a) continue; - const c = HJ(s, i.objectNumber, a, o(s)); + for (const a of s.widgets) { + if (a.page?.objectNumber !== t) continue; + const i = n[a.objectNumber]; + if (!i) continue; + const c = rte(s, a.objectNumber, i, o(s)); c && r.push(c); } return r; } -const GJ = Object.freeze([]), YJ = Object.freeze([]); -function QJ(e, { +const ate = Object.freeze([]), ite = Object.freeze([]); +function cte(e, { fields: t, rights: n, looks: o, pictures: r }) { - const s = (u) => t.settled(), i = Jt( + const s = (u) => t.settled(), a = Ut( (u) => [t.view()], - (u, f) => NJ(f, u) - ), a = (u, f) => { + (u, f) => Kee(f, u) + ), i = (u, f) => { const d = e.getPage(u)?.ref; - return d ? jJ(t.view(), i(d.objectNumber), f) : null; - }, c = Jt( + return d ? Gee(t.view(), a(d.objectNumber), f) : null; + }, c = Ut( (u) => [ t.view(), - i(u), + a(u), n.key(), e.settings().get().fillable ], - (u, f, d) => VJ(f, u, d, n.mayFillByHand) + (u, f, d) => ste(f, u, d, n.mayFillByHand) ), l = (u) => { const f = e.getPage(u)?.size; return f ? { x: 0, y: 0, width: f.width, height: f.height } : null; @@ -43006,11 +43867,11 @@ function QJ(e, { api: { listWidgets: (u) => { const f = e.getPage(u)?.ref; - return f ? c(f.objectNumber) : GJ; + return f ? c(f.objectNumber) : ate; }, listShownWidgets: (u) => { const f = e.getPage(u)?.ref; - return f ? o.listShownWidgets(f.objectNumber) : YJ; + return f ? o.listShownWidgets(f.objectNumber) : ite; }, getAppearanceEpoch: r.epoch, renderAppearances: r.render, @@ -43018,95 +43879,99 @@ function QJ(e, { getTextEditorLayout: o.getTextEditorLayout, getWidgetFontCss: o.getWidgetFontCss, ensureLoaded: s, - getWidgetAt: a, + getWidgetAt: i, getPageBox: l } }; } -const lI = (e) => e.ref.kind === "objectNumber" ? e.ref.objectNumber : 0; -function ww(e, t) { +const W3 = (e) => e.ref.kind === "objectNumber" ? e.ref.objectNumber : 0; +function ah(e, t) { return t.widgets.flatMap((n) => { - const o = hn(e, n.objectNumber); + const o = rn(e, n.objectNumber); return o ? [o] : []; }); } -const zd = (e, t) => ({ +const Xc = (e, t) => ({ field: t, - widgets: ww(e, t) + widgets: ah(e, t) }); -function Yi(e, t) { - return t.length === 0 ? e : Eo( - ar( +function Hs(e, t) { + return t.length === 0 ? e : Gn( + Mo( e, t.map((n) => n.field) ), t.flatMap((n) => n.widgets) ); } -const uI = (e) => (e.snapshot?.fields ?? []).filter((t) => XJ.has(t.kind)), XJ = /* @__PURE__ */ new Set(["text", "checkbox", "radio", "combobox", "listbox"]); -function vw(e, t) { - let n = QA.get(e); +const U3 = (e) => (e.snapshot?.fields ?? []).filter((t) => lte.has(t.kind)), lte = /* @__PURE__ */ new Set(["text", "checkbox", "radio", "combobox", "listbox"]); +function Rw(e, t) { + let n = hS.get(e); const o = n?.get(t); if (o) return o; - const r = ZJ(e, t); - return n || QA.set(e, n = /* @__PURE__ */ new WeakMap()), n.set(t, r), r; + const r = ute(e, t); + return n || hS.set(e, n = /* @__PURE__ */ new WeakMap()), n.set(t, r), r; } -const QA = /* @__PURE__ */ new WeakMap(); -function ZJ(e, t) { +const hS = /* @__PURE__ */ new WeakMap(); +function ute(e, t) { try { switch (t.type) { case "forms.setValue": { - const n = kt(e, t.field); - return n ? Yi(e, [M8(zd(e, n), t.value)]) : e; + const n = pt(e, t.field); + return n ? Hs(e, [GO(Xc(e, n), t.value)]) : e; } case "forms.reset": { - const n = t.fields ? t.fields.flatMap((o) => kt(e, o) ?? []) : uI(e); - return Yi( + const n = t.fields ? t.fields.flatMap((o) => pt(e, o) ?? []) : U3(e); + return Hs( e, - n.map((o) => E8(zd(e, o))) + n.map((o) => k4(Xc(e, o))) ); } case "forms.setDisplay": { - const n = kt(e, t.field); - return n ? Eo(e, C8(ww(e, n), t.display)) : e; + const n = pt(e, t.field); + return n ? Gn(e, x4(ah(e, n), t.display)) : e; } case "forms.restore": - return Yi(e, [t]); + return Hs(e, [t]); case "forms.restoreWidget": { - const n = Eo(e, [t.widget]); - return t.field ? ar(n, [t.field]) : n; + const n = Gn(e, [t.widget]); + return t.field ? Mo(n, [t.field]) : n; } case "forms.create": - return eee(e, t); + return K3(e, t); + case "forms.copy": + return fte(e, t); + case "forms.addWidget": + return pte(e, t); case "forms.update": { - const n = kt(e, t.field); - return n ? Yi(e, [N8(zd(e, n), t.patch)]) : e; + const n = pt(e, t.field); + return n ? Hs(e, [S4(Xc(e, n), t.patch)]) : e; } case "forms.delete": { - const n = kt(e, t.field); + const n = pt(e, t.field); if (!n || !e.snapshot) return e; - const o = El(iI(e, n.ref), n.widgets); + const o = Cl($3(e, n.ref), n.widgets); return qs( o, - e.snapshot.calculationOrder.filter((r) => !JJ(r, n.ref)) + e.snapshot.calculationOrder.filter((r) => !dte(r, n.ref)) ); } case "forms.updateWidget": { - const n = Kf(e, t.widget); - return n ? Eo(e, [O8(n, t.patch)]) : e; + const n = Hf(e, t.widget); + return n ? Gn(e, [HO(n, t.patch)]) : e; } case "forms.deleteWidget": { - const n = Kf(e, t.widget); + const n = Hf(e, t.widget); if (!n) return e; - const o = lI(n), r = Zt(e, o), s = El(e, [{ objectNumber: o, page: n.page }]); + const o = W3(n), r = en(e, o), s = Cl(e, [{ objectNumber: o, page: n.page }]); if (!r) return s; - const i = r.widgets.filter((a) => a.objectNumber !== o); - return ar(s, [{ ...r, widgets: i }]); + const a = r.widgets.filter((i) => i.objectNumber !== o); + return Mo(s, [{ ...r, widgets: a }]); } case "forms.reorderWidgets": { if (!e.snapshot) return e; - const n = e.snapshot.widgets.filter((r) => r.page.objectNumber === t.page.objectNumber).map((r) => r.ref), o = tf(n, t.widgets, t.position, ie); - return sI(e, t.page, o); + const n = e.snapshot.widgets.filter((r) => r.page.objectNumber === t.page.objectNumber).map((r) => r.ref), o = nf(n, t.widgets, t.position, Y); + return D3(e, t.page, o); } case "forms.reorderCalculations": { if (!e.snapshot) return e; @@ -43115,7 +43980,7 @@ function ZJ(e, t) { ); return qs( e, - tf(n, t.fields, t.position, Ca) + nf(n, t.fields, t.position, Ei) ); } default: @@ -43125,60 +43990,124 @@ function ZJ(e, t) { return e; } } -const Kf = (e, t) => t.kind === "objectNumber" ? hn(e, t.objectNumber) : null, JJ = (e, t) => e !== null && Ca(e) === Ca(t); -function eee(e, t) { +const Hf = (e, t) => t.kind === "objectNumber" ? rn(e, t.objectNumber) : null, dte = (e, t) => e !== null && Ei(e) === Ei(t); +function K3(e, t) { const n = t.draft.widgets ?? [], o = t.widgetObjectNumbers ?? []; if (t.objectNumber === void 0 || o.length !== n.length) return e; const r = e.snapshot; - if (!r || kt(e, { kind: "objectNumber", objectNumber: t.objectNumber })) + if (!r || pt(e, { kind: "objectNumber", objectNumber: t.objectNumber })) return e; - const s = _8(t.draft, { + const s = YO(t.draft, { objectNumber: t.objectNumber, widgets: n.map((c, l) => ({ kind: "objectNumber", page: c.page, objectNumber: o[l] })) - }), i = r.formKind === "none" ? bw({ ...r, formKind: "acroform" }, e.pictureVersions) : e, a = Yi(i, [s]); - return t.draft.actions?.calculate ? qs(a, [...r.calculationOrder, s.field.ref]) : a; + }), a = r.formKind === "none" ? Nw({ ...r, formKind: "acroform" }, e.pictureVersions) : e, i = Hs(a, [s]); + return t.draft.actions?.calculate ? qs(i, [...r.calculationOrder, s.field.ref]) : i; +} +function q3(e, t) { + const { snapshot: n } = e; + if (!n || !t.objectNumbers) return []; + let o; + try { + o = _y({ + form: n, + fields: t.fields, + ...t.widgets ? { widgets: t.widgets } : {}, + placement: { + ...t.page ? { page: t.page } : {}, + ...t.offset ? { offset: t.offset } : {} + }, + values: t.values ?? !0, + mayScript: !0 + }).creates; + } catch { + return []; + } + const r = o.reduce((a, i) => a + 1 + i.widgets.length, 0); + if (t.objectNumbers.length !== r) return []; + let s = 0; + return o.map((a) => { + const [i, ...c] = t.objectNumbers.slice( + s, + s + 1 + a.widgets.length + ); + return s += 1 + a.widgets.length, { ...a, objectNumber: i, widgetObjectNumbers: c }; + }); +} +function fte(e, t) { + let n = e; + for (const o of q3(e, t)) { + const r = { kind: "objectNumber", objectNumber: o.objectNumber }; + if (pt(n, r)) continue; + n = K3(n, { + draft: o.draft, + objectNumber: o.objectNumber, + widgetObjectNumbers: o.widgetObjectNumbers + }); + const s = pt(n, r); + s && (n = Gn( + n, + ah(n, s).map((a, i) => HO(a, o.flags[i] ?? {})) + ), o.value && (n = Hs(n, [GO(Xc(n, s), o.value)]))); + } + return n; +} +function pte(e, t) { + if (t.objectNumber === void 0 || t.splitObjectNumber !== void 0) return e; + const n = pt(e, t.field); + if (!n || n.kind === "unknown" || n.ref.kind !== "objectNumber" || rn(e, t.objectNumber)) return e; + const o = "options" in n ? { options: n.options.map(({ label: i, value: c }) => ({ label: i, value: c })) } : {}, r = YO( + { kind: n.kind, name: n.name, ...o, widgets: [t.placement] }, + { + objectNumber: n.ref.objectNumber, + widgets: [{ kind: "objectNumber", page: t.placement.page, objectNumber: t.objectNumber }] + } + ), [s] = r.field.widgets, [a] = r.widgets; + return !s || !a ? e : Gn( + Mo(e, [{ ...n, widgets: [...n.widgets, s] }]), + [a] + ); } -function _c(e, t) { +function Ic(e, t) { const n = /* @__PURE__ */ new Map(), o = (r) => { - r && !n.has(vn(r)) && n.set(vn(r), r); + r && !n.has(Lt(r)) && n.set(Lt(r), r); }; for (const r of t) switch (r.type) { case "forms.setValue": case "forms.setDisplay": case "forms.setAppearanceText": - o(kt(e, r.field)); + o(pt(e, r.field)); break; case "forms.reset": - for (const s of r.fields ? r.fields.map((i) => kt(e, i)) : uI(e)) + for (const s of r.fields ? r.fields.map((a) => pt(e, a)) : U3(e)) o(s); break; } return [...n.values()]; } -function tee(e, t, n) { - return Yi( +function hte(e, t, n) { + return Hs( e, n.flatMap((o) => { - const r = hs(t, vn(o)); - return r ? [zd(t, r)] : []; + const r = hs(t, Lt(o)); + return r ? [Xc(t, r)] : []; }) ); } -const Dg = (e, t) => ({ +const Kg = (e, t) => ({ type: "forms.restore", field: t, - widgets: ww(e, t) -}), XA = (e, t) => ({ + widgets: ah(e, t) +}), gS = (e, t) => ({ type: "forms.restoreWidget", widget: t, - field: Zt(e, lI(t)) + field: en(e, W3(t)) }); -function nee(e, t) { +function gte(e, t) { switch (t.type) { case "forms.create": return t.objectNumber === void 0 ? [] : [ @@ -43187,21 +44116,39 @@ function nee(e, t) { field: { kind: "objectNumber", objectNumber: t.objectNumber } } ]; + case "forms.copy": + return q3(e, t).map( + (n) => ({ + type: "forms.delete", + field: { kind: "objectNumber", objectNumber: n.objectNumber } + }) + ).reverse(); + case "forms.addWidget": + return t.objectNumber === void 0 ? [] : [ + { + type: "forms.deleteWidget", + widget: { + kind: "objectNumber", + page: t.placement.page, + objectNumber: t.objectNumber + } + } + ]; case "forms.update": case "forms.delete": { - const n = kt(e, t.field); - return n ? [Dg(e, n)] : []; + const n = pt(e, t.field); + return n ? [Kg(e, n)] : []; } case "forms.updateWidget": case "forms.deleteWidget": { - const n = Kf(e, t.widget); - return n ? [XA(e, n)] : []; + const n = Hf(e, t.widget); + return n ? [gS(e, n)] : []; } case "forms.removeWidget": { - const n = kt(e, t.field), o = Kf(e, t.widget); + const n = pt(e, t.field), o = Hf(e, t.widget); return [ - ...o ? [XA(e, o)] : [], - ...n ? [Dg(e, n)] : [] + ...o ? [gS(e, o)] : [], + ...n ? [Kg(e, n)] : [] ]; } case "forms.reorderWidgets": { @@ -43213,51 +44160,51 @@ function nee(e, t) { (o) => o !== null ), position: "start" }]; default: - return _c(e, [t]).map((n) => Dg(e, n)); + return Ic(e, [t]).map((n) => Kg(e, n)); } } -function Qi(e, t) { +function Vs(e, t) { const n = []; let o = e; for (const r of t) - n.push(nee(o, r)), o = vw(o, r); + n.push(gte(o, r)), o = Rw(o, r); return n.reverse().flat(); } -function oee(e, t) { +function mte(e, t) { const n = e.mirror({ name: "fields", - initial: AJ, + initial: Lee, // A reviewer-shaped token without `doc.forms.read` is a common narrowed // scope: skip the doomed read and report `forbidden`. readable: () => e.allows("doc.forms.read"), - load: async (o) => ({ value: SJ(n.get(), await o.forms.list()) }), - fold: PJ, - predict: vw, + load: async (o) => ({ value: jee(n.get(), await o.forms.list()) }), + fold: Fee, + predict: Rw, onChanged: ({ cause: o, event: r, next: s }) => { if (o === "load") { s.snapshot && t.resynced.emit({ snapshot: s.snapshot }); return; } if (!r || !("origin" in r)) return; - const { origin: i } = r; + const { origin: a } = r; switch (r.type) { case "forms.valueSet": - t.valueChanged.emit({ field: r.field, origin: i }); + t.valueChanged.emit({ field: r.field, origin: a }); return; case "forms.created": - t.fieldCreated.emit({ field: r.field, origin: i }); + t.fieldCreated.emit({ field: r.field, origin: a }); return; case "forms.updated": case "forms.widgetAdded": case "forms.widgetRemoved": - t.fieldUpdated.emit({ field: r.field, origin: i }); + t.fieldUpdated.emit({ field: r.field, origin: a }); return; case "forms.widgetDeleted": case "forms.widgetRestored": - r.field && t.fieldUpdated.emit({ field: r.field, origin: i }); + r.field && t.fieldUpdated.emit({ field: r.field, origin: a }); return; case "forms.deleted": - r.deleted && t.fieldDeleted.emit({ ref: r.deleted, origin: i }); + r.deleted && t.fieldDeleted.emit({ ref: r.deleted, origin: a }); return; default: return; @@ -43266,46 +44213,46 @@ function oee(e, t) { }); return n; } -const ree = 2e3; -function see(e, t, n) { +const bte = 2e3; +function yte(e, t, n) { const o = /* @__PURE__ */ new Map(); - let r = null, s = null, i = null; - const a = (l) => { + let r = null, s = null, a = null; + const i = (l) => { const u = e.state.get().focused; if (u?.widget === l?.widget && u?.field === l?.field) return; e.state.update((p) => ({ ...p, focused: l })); - const f = l ? hs(t.view(), l.field) : null, d = l ? hn(t.view(), l.widget) : null; + const f = l ? hs(t.view(), l.field) : null, d = l ? rn(t.view(), l.widget) : null; n.focusChanged.emit({ field: f, widget: d?.ref ?? null }); }, c = () => { r?.expire(), r = null; }; return { focused: () => e.state.get().focused, - last: () => i, + last: () => a, note(l, u, f) { - const d = fn(f); + const d = mn(f); if (l === "focus") { s?.(), s = null, r && r.widget !== d && c(); - const p = kt(t.view(), u); - i = d, a(p ? { field: vn(p), widget: d } : null); + const p = pt(t.view(), u); + a = d, i(p ? { field: Lt(p), widget: d } : null); } else e.state.get().focused?.widget === d && (s?.(), s = e.clock.after(0, () => { - s = null, a(null); + s = null, i(null); })); }, goTo(l, u) { - const f = fn(l.ref), d = e.tryGet(xt); + const f = mn(l.ref), d = e.tryGet(At); d?.reveal(l.page, { rect: l.rect }), c(); const p = o.get(f); if (p) return p.focus({ select: u }), !0; if (!d) return !1; - const h = e.clock.after(ree, () => { + const g = e.clock.after(bte, () => { r?.widget === f && (r = null); }); - return r = { widget: f, select: u, expire: h }, !0; + return r = { widget: f, select: u, expire: g }, !0; }, attach(l, u) { - const f = fn(l); + const f = mn(l); if (o.set(f, u), r?.widget === f) { const { select: d } = r; c(), u.focus({ select: d }); @@ -43316,13 +44263,13 @@ function see(e, t, n) { } }; } -function iee(e, t) { - const n = e.tryGet(Ot); +function wte(e, t) { + const n = e.tryGet(_t); return { lending: () => t.annotation() !== null && n !== null && e.allows("doc.forms.modify") && !(n.getActiveTool()?.enables.has("form-fill") ?? !1) }; } -function aee(e) { +function vte(e) { return { valueChanged: e.events.source(), fieldCreated: e.events.source(), @@ -43333,77 +44280,77 @@ function aee(e) { focusChanged: e.events.source() }; } -const cee = (e, t) => typeof e == "boolean" ? e : e.includes(t); -function lee(e, t) { - const n = (i) => e.allowsField("fill", i), o = (i) => e.allowsField("sign", i), r = (i) => cee(e.settings().get().fillable, i.kind) && (i.kind === "signature" ? o(i) : n(i)), s = Ke( +const kte = (e, t) => typeof e == "boolean" ? e : e.includes(t); +function xte(e, t) { + const n = (a) => e.allowsField("fill", a), o = (a) => e.allowsField("sign", a), r = (a) => kte(e.settings().get().fillable, a.kind) && (a.kind === "signature" ? o(a) : n(a)), s = qe( () => [t.view()], - (i) => [...new Set((i.snapshot?.fields ?? []).map((a) => a.groupId))] + (a) => [...new Set((a.snapshot?.fields ?? []).map((i) => i.groupId))] ); return { mayFill: n, maySign: o, mayFillByHand: r, - takesInput: (i) => !i.readOnly && r(i), - assertMayFill: (i, a) => e.assertAllowedField("fill", i, a), - key: () => s().map((i) => `${n({ groupId: i }) ? 1 : 0}${o({ groupId: i }) ? 1 : 0}`).join("") + takesInput: (a) => !a.readOnly && r(a), + assertMayFill: (a, i) => e.assertAllowedField("fill", a, i), + key: () => s().map((a) => `${n({ groupId: a }) ? 1 : 0}${o({ groupId: a }) ? 1 : 0}`).join("") }; } -const uee = 8, ZA = (e) => e.kind === "text" || e.kind === "combobox" ? e.value : null; -function dee(e, t) { +const Ate = 8, mS = (e) => e.kind === "text" || e.kind === "combobox" ? e.value : null; +function Ste(e, t) { const n = /* @__PURE__ */ new Map(); let o = 0; return e.listen(e.changes.onStaged, (r) => { const s = t.view(); - for (const i of r.shows) { - if (i.type !== "forms.setAppearanceText") continue; - const a = kt(s, i.field), c = a ? ZA(a) : null; - if (!a || c === null) continue; - const l = vn(a), u = n.get(l) ?? /* @__PURE__ */ new Map(); - for (u.delete(c), u.set(c, i.text); u.size > uee; ) u.delete(u.keys().next().value); + for (const a of r.shows) { + if (a.type !== "forms.setAppearanceText") continue; + const i = pt(s, a.field), c = i ? mS(i) : null; + if (!i || c === null) continue; + const l = Lt(i), u = n.get(l) ?? /* @__PURE__ */ new Map(); + for (u.delete(c), u.set(c, a.text); u.size > Ate; ) u.delete(u.keys().next().value); n.set(l, u), o += 1; } }), { textOf(r) { - const s = ZA(r); - return s === null ? null : n.get(vn(r))?.get(s) ?? null; + const s = mS(r); + return s === null ? null : n.get(Lt(r))?.get(s) ?? null; }, version: () => o }; } -const $e = Math.fround, fee = [3]; -function Bn(e, t, n = t) { - const o = Math.min(e.left, e.right), r = Math.max(e.left, e.right), s = Math.min(e.bottom, e.top), i = Math.max(e.bottom, e.top); - return { left: $e(o + t), bottom: $e(s + n), right: $e(r - t), top: $e(i - n) }; +const We = Math.fround, Ote = [3]; +function $n(e, t, n = t) { + const o = Math.min(e.left, e.right), r = Math.max(e.left, e.right), s = Math.min(e.bottom, e.top), a = Math.max(e.bottom, e.top); + return { left: We(o + t), bottom: We(s + n), right: We(r - t), top: We(a - n) }; } -const mo = (e) => ({ +const bo = (e) => ({ op: "rect", x: e.left, y: e.bottom, - width: $e(e.right - e.left), - height: $e(e.top - e.bottom) -}), fa = (e) => [ + width: We(e.right - e.left), + height: We(e.top - e.bottom) +}), fi = (e) => [ parseInt(e.slice(1, 3), 16) / 255, parseInt(e.slice(3, 5), 16) / 255, parseInt(e.slice(5, 7), 16) / 255 -], ui = [0, 0, 0]; -function dI(e) { +], fa = [0, 0, 0]; +function H3(e) { const t = e.borderStyle ?? "solid", n = e.strokeWidth ?? 1; return { width: t === "beveled" || t === "inset" ? n * 2 : n, style: t, - dash: e.dashArray && e.dashArray.length > 0 ? e.dashArray.slice(0, 10) : fee + dash: e.dashArray && e.dashArray.length > 0 ? e.dashArray.slice(0, 10) : Ote }; } -function kw(e, t, n) { +function Lw(e, t, n) { const o = t.width; if (o <= 0) return []; - const { left: r, bottom: s, right: i, top: a } = e, c = $e(o / 2), l = (f, d) => ({ x: f, y: d }), u = (f) => f.map((d, p) => ({ op: p === 0 ? "move" : "line", x: d.x, y: d.y })); + const { left: r, bottom: s, right: a, top: i } = e, c = We(o / 2), l = (f, d) => ({ x: f, y: d }), u = (f) => f.map((d, p) => ({ op: p === 0 ? "move" : "line", x: d.x, y: d.y })); switch (t.style) { case "solid": return n ? [ { kind: "fill", - path: [mo(e), mo(Bn(e, o))], + path: [bo(e), bo($n(e, o))], color: n, evenOdd: !0 } @@ -43413,11 +44360,11 @@ function kw(e, t, n) { { kind: "stroke", path: u([ - l($e(r + c), $e(s + c)), - l($e(r + c), $e(a - c)), - l($e(i - c), $e(a - c)), - l($e(i - c), $e(s + c)), - l($e(r + c), $e(s + c)) + l(We(r + c), We(s + c)), + l(We(r + c), We(i - c)), + l(We(a - c), We(i - c)), + l(We(a - c), We(s + c)), + l(We(r + c), We(s + c)) ]), color: n, width: o, @@ -43426,17 +44373,17 @@ function kw(e, t, n) { ] : []; case "beveled": case "inset": { - const f = t.style === "beveled", d = f ? 1 : 0.5, p = f ? 0.5 : 0.75, h = [ + const f = t.style === "beveled", d = f ? 1 : 0.5, p = f ? 0.5 : 0.75, g = [ { kind: "fill", path: [ ...u([ - l($e(r + c), $e(s + c)), - l($e(r + c), $e(a - c)), - l($e(i - c), $e(a - c)), - l($e(i - o), $e(a - o)), - l($e(r + o), $e(a - o)), - l($e(r + o), $e(s + o)) + l(We(r + c), We(s + c)), + l(We(r + c), We(i - c)), + l(We(a - c), We(i - c)), + l(We(a - o), We(i - o)), + l(We(r + o), We(i - o)), + l(We(r + o), We(s + o)) ]) ], color: [d, d, d], @@ -43446,30 +44393,30 @@ function kw(e, t, n) { kind: "fill", path: [ ...u([ - l($e(i - c), $e(a - c)), - l($e(i - c), $e(s + c)), - l($e(r + c), $e(s + c)), - l($e(r + o), $e(s + o)), - l($e(i - o), $e(s + o)), - l($e(i - o), $e(a - o)) + l(We(a - c), We(i - c)), + l(We(a - c), We(s + c)), + l(We(r + c), We(s + c)), + l(We(r + o), We(s + o)), + l(We(a - o), We(s + o)), + l(We(a - o), We(i - o)) ]) ], color: [p, p, p], evenOdd: !1 } ]; - return n && h.push({ + return n && g.push({ kind: "fill", - path: [mo(e), mo(Bn(e, c))], + path: [bo(e), bo($n(e, c))], color: n, evenOdd: !0 - }), h; + }), g; } case "underline": return n ? [ { kind: "stroke", - path: u([l(r, $e(s + c)), l(i, $e(s + c))]), + path: u([l(r, We(s + c)), l(a, We(s + c))]), color: n, width: o, dash: null @@ -43477,40 +44424,40 @@ function kw(e, t, n) { ] : []; } } -function xw(e, t, n, o) { - const r = t.width, s = r > 0 ? Bn(e, $e(r / 2)) : e, i = []; - return n && i.push({ kind: "fill", path: [mo(s)], color: n, evenOdd: !0 }), o && r > 0 && i.push({ kind: "stroke", path: [mo(s)], color: o, width: r, dash: null }), i; +function jw(e, t, n, o) { + const r = t.width, s = r > 0 ? $n(e, We(r / 2)) : e, a = []; + return n && a.push({ kind: "fill", path: [bo(s)], color: n, evenOdd: !0 }), o && r > 0 && a.push({ kind: "stroke", path: [bo(s)], color: o, width: r, dash: null }), a; } -function fI(e, t, n, o) { +function V3(e, t, n, o) { const r = t.width, s = []; - return n && s.push({ kind: "fill", path: [mo(e)], color: n, evenOdd: !0 }), t.style !== "solid" ? s.push(...kw(e, t, o)) : o && r > 0 && s.push({ + return n && s.push({ kind: "fill", path: [bo(e)], color: n, evenOdd: !0 }), t.style !== "solid" ? s.push(...Lw(e, t, o)) : o && r > 0 && s.push({ kind: "stroke", - path: [mo(Bn(e, $e(r / 2)))], + path: [bo($n(e, We(r / 2)))], color: o, width: r, dash: null }), s; } -const Ft = Math.fround, Aw = (e) => e < 1e-4 && e > -1e-4, JA = (e, t) => e > t && !Aw(Ft(e - t)), pee = (e, t) => e < t && !Aw(Ft(e - t)), th = (e, t, n) => nb(t, e.fonts, { fontSize: e.fontSize, ...n }), hee = (e) => e.lines.flatMap( - (t) => t.runs.map(({ x: n, text: o, font: r, rtl: s, plain: i, width: a, joinsPrevious: c, joinsNext: l }) => ({ +const Wt = Math.fround, Fw = (e) => e < 1e-4 && e > -1e-4, bS = (e, t) => e > t && !Fw(Wt(e - t)), Pte = (e, t) => e < t && !Fw(Wt(e - t)), ih = (e, t, n) => db(t, e.fonts, { fontSize: e.fontSize, ...n }), Mte = (e) => e.lines.flatMap( + (t) => t.runs.map(({ x: n, text: o, font: r, rtl: s, plain: a, width: i, joinsPrevious: c, joinsNext: l }) => ({ x: n, y: t.baseline, text: o, font: r, rtl: s, - plain: i, - width: a, + plain: a, + width: i, joinsPrevious: c, joinsNext: l })) -), Cl = (e, t) => ({ +), Il = (e, t) => ({ kind: "text", size: e.fontSize, color: t, - runs: hee(e) -}), Sw = { multiline: !1, password: !1, limit: 0, cells: 0 }; -function yb(e, t) { - const n = e.border.width, o = Bn(e.bbox, Ft(2 * n), n), r = t.maxLength ?? 0, s = th(e, t.value, { + runs: Mte(e) +}), Dw = { multiline: !1, password: !1, limit: 0, cells: 0 }; +function Eb(e, t) { + const n = e.border.width, o = $n(e.bbox, Wt(2 * n), n), r = t.maxLength ?? 0, s = ih(e, t.value, { plate: o, alignment: e.alignment, multiline: t.multiline, @@ -43522,73 +44469,73 @@ function yb(e, t) { }); return { plate: o, laid: s }; } -function gee(e, t) { - const { bbox: n, border: o } = e, r = o.width, s = fI(n, o, e.background, e.borderColor), { laid: i } = yb(e, t), a = Cl(i, e.textColor ?? ui); +function Ete(e, t) { + const { bbox: n, border: o } = e, r = o.width, s = V3(n, o, e.background, e.borderColor), { laid: a } = Eb(e, t), i = Il(a, e.textColor ?? fa); return s.push({ kind: "clip", - rect: Bn(n, r), - ops: Pw(a) ? [a] : [] - }), { ops: s, missing: i.missing }; + rect: $n(n, r), + ops: $w(i) ? [i] : [] + }), { ops: s, missing: a.missing }; } -const Pw = (e) => e.kind === "text" && e.runs.length > 0; -function mee(e, t) { +const $w = (e) => e.kind === "text" && e.runs.length > 0; +function Cte(e, t) { const { bbox: n, border: o } = e, r = []; - e.background && r.push({ kind: "fill", path: [mo(n)], color: e.background, evenOdd: !1 }), r.push(...kw(n, o, e.borderColor)); - const s = Bn(n, o.width, o.width), i = tS({ ...s, left: Ft(s.right - 13) }), a = Bn(tS({ ...s, right: i.left }), 4, 0), c = th(e, t.value, { - ...Sw, - plate: a, + e.background && r.push({ kind: "fill", path: [bo(n)], color: e.background, evenOdd: !1 }), r.push(...Lw(n, o, e.borderColor)); + const s = $n(n, o.width, o.width), a = wS({ ...s, left: Wt(s.right - 13) }), i = $n(wS({ ...s, right: a.left }), 4, 0), c = ih(e, t.value, { + ...Dw, + plate: i, alignment: 0, centered: !0 - }), l = Cl(c, e.textColor ?? ui); - if (Pw(l) && r.push({ kind: "clip", rect: a, ops: [l] }), !vee(i)) { - const u = Ft(Ft(i.left + i.right) / 2), f = Ft(Ft(i.top + i.bottom) / 2), d = Ft(i.right - i.left), p = Ft(i.top - i.bottom); - JA(d, 6) && JA(p, 6) && r.push({ + }), l = Il(c, e.textColor ?? fa); + if ($w(l) && r.push({ kind: "clip", rect: i, ops: [l] }), !Tte(a)) { + const u = Wt(Wt(a.left + a.right) / 2), f = Wt(Wt(a.top + a.bottom) / 2), d = Wt(a.right - a.left), p = Wt(a.top - a.bottom); + bS(d, 6) && bS(p, 6) && r.push({ kind: "fill", path: [ - { op: "move", x: Ft(u - 3), y: Ft(f + 1.5) }, - { op: "line", x: Ft(u + 3), y: Ft(f + 1.5) }, - { op: "line", x: u, y: Ft(f - 1.5) }, - { op: "line", x: Ft(u - 3), y: Ft(f + 1.5) } + { op: "move", x: Wt(u - 3), y: Wt(f + 1.5) }, + { op: "line", x: Wt(u + 3), y: Wt(f + 1.5) }, + { op: "line", x: u, y: Wt(f - 1.5) }, + { op: "line", x: Wt(u - 3), y: Wt(f + 1.5) } ], - color: ui, + color: fa, evenOdd: !1 }); } return { ops: r, missing: c.missing }; } -const bee = [0, 51 / 255, 113 / 255], eS = [1, 1, 1]; -function yee(e, t) { +const Ite = [0, 51 / 255, 113 / 255], yS = [1, 1, 1]; +function _te(e, t) { const { bbox: n, border: o } = e, r = []; - e.background && r.push({ kind: "fill", path: [mo(n)], color: e.background, evenOdd: !1 }), r.push(...kw(n, o, e.borderColor)); - const s = Bn(n, o.width, o.width), i = [], a = /* @__PURE__ */ new Set(); - let c = s.top, l = ui; + e.background && r.push({ kind: "fill", path: [bo(n)], color: e.background, evenOdd: !1 }), r.push(...Lw(n, o, e.borderColor)); + const s = $n(n, o.width, o.width), a = [], i = /* @__PURE__ */ new Set(); + let c = s.top, l = fa; const u = t.topIndex < 0 ? t.options.length : t.topIndex; - for (let f = u; f < t.options.length && !pee(c, s.bottom); f += 1) { - const d = t.options[f], p = th(e, d.label, { - ...Sw, + for (let f = u; f < t.options.length && !Pte(c, s.bottom); f += 1) { + const d = t.options[f], p = ih(e, d.label, { + ...Dw, plate: { left: s.left, bottom: c, right: s.right, top: c }, - fontSize: e.fontSize === 0 || Aw(e.fontSize) ? 12 : e.fontSize, + fontSize: e.fontSize === 0 || Fw(e.fontSize) ? 12 : e.fontSize, alignment: 0, centered: !1 }); - for (const g of p.missing) a.add(g); - const h = p.contentHeight; - d.selected ? (i.push({ + for (const h of p.missing) i.add(h); + const g = p.contentHeight; + d.selected ? (a.push({ kind: "fill", - path: [mo({ left: s.left, bottom: Ft(c - h), right: s.right, top: c })], - color: bee, + path: [bo({ left: s.left, bottom: Wt(c - g), right: s.right, top: c })], + color: Ite, evenOdd: !1 - }), i.push(Cl(p, eS)), l = eS) : (l = e.textColor ?? l, i.push(Cl(p, l))), c = Ft(c - h); + }), a.push(Il(p, yS)), l = yS) : (l = e.textColor ?? l, a.push(Il(p, l))), c = Wt(c - g); } - return i.length && r.push({ kind: "clip", rect: s, ops: i }), { ops: r, missing: [...a] }; + return a.length && r.push({ kind: "clip", rect: s, ops: a }), { ops: r, missing: [...i] }; } -function wee(e, t) { - const { bbox: n, border: o } = e, r = xw(n, o, e.background, e.borderColor); +function Nte(e, t) { + const { bbox: n, border: o } = e, r = jw(n, o, e.background, e.borderColor); if (!t) return { ops: r, missing: [] }; - const s = Bn(n, Ft(2 * o.width), o.width), i = th(e, t, { ...Sw, plate: s, alignment: 1, centered: !0 }), a = Cl(i, e.textColor ?? ui); - return Pw(a) && r.push({ kind: "clip", rect: Bn(n, o.width), ops: [a] }), { ops: r, missing: i.missing }; + const s = $n(n, Wt(2 * o.width), o.width), a = ih(e, t, { ...Dw, plate: s, alignment: 1, centered: !0 }), i = Il(a, e.textColor ?? fa); + return $w(i) && r.push({ kind: "clip", rect: $n(n, o.width), ops: [i] }), { ops: r, missing: a.missing }; } -function tS(e) { +function wS(e) { return { left: Math.min(e.left, e.right), right: Math.max(e.left, e.right), @@ -43596,100 +44543,100 @@ function tS(e) { top: Math.max(e.bottom, e.top) }; } -const vee = (e) => e.left >= e.right || e.bottom >= e.top, oe = Math.fround, Yn = oe(0.5522847498308), nS = oe(0.5523); -function kee(e, t) { - const n = xw(e.bbox, e.border, e.background, e.borderColor); +const Tte = (e) => e.left >= e.right || e.bottom >= e.top, se = Math.fround, Vn = se(0.5522847498308), vS = se(0.5523); +function Rte(e, t) { + const n = jw(e.bbox, e.border, e.background, e.borderColor); if (!t) return n; - const o = e.checkStyle ?? "check", r = Bn(e.bbox, e.border.width); - return n.push(hI(e, o, pI(r, o, !1))), n; + const o = e.checkStyle ?? "check", r = $n(e.bbox, e.border.width); + return n.push(Y3(e, o, G3(r, o, !1))), n; } -function xee(e, t) { +function Lte(e, t) { const n = e.checkStyle ?? "circle"; if (n !== "circle") { - const p = xw(e.bbox, e.border, e.background, e.borderColor); + const p = jw(e.bbox, e.border, e.background, e.borderColor); return t && p.push( - hI(e, n, pI(Bn(e.bbox, e.border.width), n, !0)) + Y3(e, n, G3($n(e.bbox, e.border.width), n, !0)) ), p; } - const { bbox: o, border: r } = e, s = r.width, i = oe(s / 2), a = oe(oe(o.left + o.right) / 2), c = oe(oe(o.bottom + o.top) / 2), l = oe(oe(o.right - o.left) / 2), u = oe(oe(o.top - o.bottom) / 2), f = [], d = oS(a, c, oe(l - i), oe(u - i)); + const { bbox: o, border: r } = e, s = r.width, a = se(s / 2), i = se(se(o.left + o.right) / 2), c = se(se(o.bottom + o.top) / 2), l = se(se(o.right - o.left) / 2), u = se(se(o.top - o.bottom) / 2), f = [], d = kS(i, c, se(l - a), se(u - a)); return e.background && f.push({ kind: "fill", path: d, color: e.background, evenOdd: !0 }), e.borderColor && s > 0 && f.push({ kind: "stroke", path: d, color: e.borderColor, width: s, dash: null }), t && f.push({ kind: "fill", - path: oS( - a, + path: kS( + i, c, - oe(oe(l - s) * 0.5), - oe(oe(u - s) * 0.5) + se(se(l - s) * 0.5), + se(se(u - s) * 0.5) ), - color: e.symbolColor ?? ui, + color: e.symbolColor ?? fa, evenOdd: !0 }), f; } -function oS(e, t, n, o) { - const r = oe(nS * n), s = oe(nS * o); +function kS(e, t, n, o) { + const r = se(vS * n), s = se(vS * o); return [ - { op: "move", x: e, y: oe(t + o) }, + { op: "move", x: e, y: se(t + o) }, { op: "curve", - x1: oe(e + r), - y1: oe(t + o), - x2: oe(e + n), - y2: oe(t + s), - x: oe(e + n), + x1: se(e + r), + y1: se(t + o), + x2: se(e + n), + y2: se(t + s), + x: se(e + n), y: t }, { op: "curve", - x1: oe(e + n), - y1: oe(t - s), - x2: oe(e + r), - y2: oe(t - o), + x1: se(e + n), + y1: se(t - s), + x2: se(e + r), + y2: se(t - o), x: e, - y: oe(t - o) + y: se(t - o) }, { op: "curve", - x1: oe(e - r), - y1: oe(t - o), - x2: oe(e - n), - y2: oe(t - s), - x: oe(e - n), + x1: se(e - r), + y1: se(t - o), + x2: se(e - n), + y2: se(t - s), + x: se(e - n), y: t }, { op: "curve", - x1: oe(e - n), - y1: oe(t + s), - x2: oe(e - r), - y2: oe(t + o), + x1: se(e - n), + y1: se(t + s), + x2: se(e - r), + y2: se(t + o), x: e, - y: oe(t + o) + y: se(t + o) }, { op: "close" } ]; } -function pI(e, t, n) { - const o = oe(e.right - e.left), r = oe(e.top - e.bottom), s = o > r ? oe(r / 2) : oe(o / 2), i = oe(oe(e.left + e.right) / 2), a = oe(oe(e.top + e.bottom) / 2), c = { - left: oe(i - s), - bottom: oe(a - s), - right: oe(i + s), - top: oe(a + s) - }, l = t === "circle" ? oe(n ? 1 / 2 : 2 / 3) : t === "check" || t === "cross" ? 1 : oe(2 / 3); +function G3(e, t, n) { + const o = se(e.right - e.left), r = se(e.top - e.bottom), s = o > r ? se(r / 2) : se(o / 2), a = se(se(e.left + e.right) / 2), i = se(se(e.top + e.bottom) / 2), c = { + left: se(a - s), + bottom: se(i - s), + right: se(a + s), + top: se(i + s) + }, l = t === "circle" ? se(n ? 1 / 2 : 2 / 3) : t === "check" || t === "cross" ? 1 : se(2 / 3); if (l === 1) return c; - const u = oe(oe(c.right - c.left) / 2), f = oe(oe(c.top - c.bottom) / 2), d = oe(oe(c.left + c.right) / 2), p = oe(oe(c.top + c.bottom) / 2); + const u = se(se(c.right - c.left) / 2), f = se(se(c.top - c.bottom) / 2), d = se(se(c.left + c.right) / 2), p = se(se(c.top + c.bottom) / 2); return { - left: oe(d - oe(u * l)), - bottom: oe(p - oe(f * l)), - right: oe(d + oe(u * l)), - top: oe(p + oe(f * l)) + left: se(d - se(u * l)), + bottom: se(p - se(f * l)), + right: se(d + se(u * l)), + top: se(p + se(f * l)) }; } -function hI(e, t, n) { - const o = e.symbolColor ?? ui, r = oe(oe(n.left + n.right) / 2), s = oe(oe(n.bottom + n.top) / 2); +function Y3(e, t, n) { + const o = e.symbolColor ?? fa, r = se(se(n.left + n.right) / 2), s = se(se(n.bottom + n.top) / 2); switch (t) { case "check": - return { kind: "fill", path: See(n), color: o, evenOdd: !1 }; + return { kind: "fill", path: Fte(n), color: o, evenOdd: !1 }; case "circle": { - const i = oe(oe(n.right - n.left) / 2), a = oe(oe(n.top - n.bottom) / 2), c = { x: n.left, y: s }, l = { x: r, y: n.top }, u = { x: n.right, y: s }, f = { x: r, y: n.bottom }; + const a = se(se(n.right - n.left) / 2), i = se(se(n.top - n.bottom) / 2), c = { x: n.left, y: s }, l = { x: r, y: n.top }, u = { x: n.right, y: s }, f = { x: r, y: n.bottom }; return { kind: "fill", path: [ @@ -43697,36 +44644,36 @@ function hI(e, t, n) { { op: "curve", x1: c.x, - y1: oe(c.y + oe(a * Yn)), - x2: oe(l.x - oe(i * Yn)), + y1: se(c.y + se(i * Vn)), + x2: se(l.x - se(a * Vn)), y2: l.y, x: l.x, y: l.y }, { op: "curve", - x1: oe(l.x + oe(i * Yn)), + x1: se(l.x + se(a * Vn)), y1: l.y, x2: u.x, - y2: oe(u.y + oe(a * Yn)), + y2: se(u.y + se(i * Vn)), x: u.x, y: u.y }, { op: "curve", x1: u.x, - y1: oe(u.y - oe(a * Yn)), - x2: oe(f.x + oe(i * Yn)), + y1: se(u.y - se(i * Vn)), + x2: se(f.x + se(a * Vn)), y2: f.y, x: f.x, y: f.y }, { op: "curve", - x1: oe(f.x - oe(i * Yn)), + x1: se(f.x - se(a * Vn)), y1: f.y, x2: c.x, - y2: oe(c.y - oe(a * Yn)), + y2: se(c.y - se(i * Vn)), x: c.x, y: c.y } @@ -43751,7 +44698,7 @@ function hI(e, t, n) { case "diamond": return { kind: "fill", - path: $g([ + path: qg([ [n.left, s], [r, n.top], [n.right, s], @@ -43763,7 +44710,7 @@ function hI(e, t, n) { case "square": return { kind: "fill", - path: $g([ + path: qg([ [n.left, n.top], [n.right, n.top], [n.right, n.bottom], @@ -43773,29 +44720,29 @@ function hI(e, t, n) { evenOdd: !1 }; case "star": { - const i = oe(oe(n.top - n.bottom) / oe(1 + oe(Math.cos(Math.PI / 5)))), a = []; - let c = oe(Math.PI / 10); + const a = se(se(n.top - n.bottom) / se(1 + se(Math.cos(Math.PI / 5)))), i = []; + let c = se(Math.PI / 10); for (let l = 0; l < 5; l += 1) - a.push([ - oe(r + oe(i * oe(Math.cos(c)))), - oe(s + oe(i * oe(Math.sin(c)))) - ]), c = oe(c + oe(Math.PI * 2 / 5)); + i.push([ + se(r + se(a * se(Math.cos(c)))), + se(s + se(a * se(Math.sin(c)))) + ]), c = se(c + se(Math.PI * 2 / 5)); return { kind: "fill", - path: $g([a[0], a[2], a[4], a[1], a[3]]), + path: qg([i[0], i[2], i[4], i[1], i[3]]), color: o, evenOdd: !1 }; } } } -function $g(e) { +function qg(e) { return [ ...e.map(([t, n], o) => ({ op: o === 0 ? "move" : "line", x: t, y: n })), { op: "close" } ]; } -const Aee = [ +const jte = [ [ [0.28, 0.52], [0.27, 0.48], @@ -43837,44 +44784,44 @@ const Aee = [ [0.3, 0.56] ] ]; -function See(e) { - const t = oe(e.right - e.left), n = oe(e.top - e.bottom), o = Aee.map( +function Fte(e) { + const t = se(e.right - e.left), n = se(e.top - e.bottom), o = jte.map( (s) => s.map( - ([i, a]) => [oe(oe(oe(i) * t) + e.left), oe(oe(oe(a) * n) + e.bottom)] + ([a, i]) => [se(se(se(a) * t) + e.left), se(se(se(i) * n) + e.bottom)] ) ), r = [{ op: "move", x: o[0][0][0], y: o[0][0][1] }]; for (let s = 0; s < o.length; s += 1) { - const i = o[s], a = o[(s + 1) % o.length][0], [c, l] = i[0], u = oe(i[1][0] - c), f = oe(i[1][1] - l), d = oe(i[2][0] - a[0]), p = oe(i[2][1] - a[1]); + const a = o[s], i = o[(s + 1) % o.length][0], [c, l] = a[0], u = se(a[1][0] - c), f = se(a[1][1] - l), d = se(a[2][0] - i[0]), p = se(a[2][1] - i[1]); r.push({ op: "curve", - x1: oe(c + oe(u * Yn)), - y1: oe(l + oe(f * Yn)), - x2: oe(a[0] + oe(d * Yn)), - y2: oe(a[1] + oe(p * Yn)), - x: a[0], - y: a[1] + x1: se(c + se(u * Vn)), + y1: se(l + se(f * Vn)), + x2: se(i[0] + se(d * Vn)), + y2: se(i[1] + se(p * Vn)), + x: i[0], + y: i[1] }); } return r; } -const Pee = { left: 0, center: 1, right: 2 }; -function gI(e, t) { - const n = e.box ?? e.rect, o = e.fontFamily ?? "", r = po(o) ? o : null; +const Dte = { left: 0, center: 1, right: 2 }; +function Q3(e, t) { + const n = e.box ?? e.rect, o = e.fontFamily ?? "", r = ho(o) ? o : null; return { look: { bbox: { left: 0, bottom: 0, right: n.width, top: n.height }, - border: dI(e), - background: e.interiorColor ? fa(e.interiorColor) : null, - borderColor: e.color ? fa(e.color) : null, - fonts: t ?? Z0(e.fontFamily), + border: H3(e), + background: e.interiorColor ? fi(e.interiorColor) : null, + borderColor: e.color ? fi(e.color) : null, + fonts: t ?? fw(e.fontFamily), fontSize: e.fontSize ?? 0, - textColor: e.fontColor ? fa(e.fontColor) : null, - alignment: Pee[e.textAlign ?? "left"] + textColor: e.fontColor ? fi(e.fontColor) : null, + alignment: Dte[e.textAlign ?? "left"] }, approximate: r === "symbol" || r === "zapf-dingbats" ? "symbolic-font" : r || t ? null : "font" }; } -const mI = (e) => Oee.has(e.kind), Oee = /* @__PURE__ */ new Set([ +const X3 = (e) => $te.has(e.kind), $te = /* @__PURE__ */ new Set([ "checkbox", "radio", "text", @@ -43883,7 +44830,7 @@ const mI = (e) => Oee.has(e.kind), Oee = /* @__PURE__ */ new Set([ "pushbutton", "signature" ]); -function rS(e, t, n = {}) { +function xS(e, t, n = {}) { switch (t.kind) { case "text": { const o = n.text ?? t.value; @@ -43900,45 +44847,45 @@ function rS(e, t, n = {}) { return ""; } } -function Mee(e, t, n = {}, o) { - if (!mI(t)) return null; - const r = e.box ?? e.rect, s = { left: 0, bottom: 0, right: r.width, top: r.height }, i = dI(e), a = e.interiorColor ? fa(e.interiorColor) : null, c = e.color ? fa(e.color) : null, l = e.fontColor ? fa(e.fontColor) : null, u = (g, m = null) => ({ +function Bte(e, t, n = {}, o) { + if (!X3(t)) return null; + const r = e.box ?? e.rect, s = { left: 0, bottom: 0, right: r.width, top: r.height }, a = H3(e), i = e.interiorColor ? fi(e.interiorColor) : null, c = e.color ? fi(e.color) : null, l = e.fontColor ? fi(e.fontColor) : null, u = (h, m = null) => ({ width: r.width, height: r.height, - ops: g, + ops: h, approximate: m }); if (t.kind === "signature") - return u(fI(s, i, a, c)); + return u(V3(s, a, i, c)); if (t.kind === "checkbox" || t.kind === "radio") { - const g = { + const h = { bbox: s, - border: i, - background: a, + border: a, + background: i, borderColor: c, symbolColor: l, checkStyle: e.checkStyle ?? null }, m = n.checked ?? (e.appearanceState !== null && e.appearanceState !== "Off"); return u( - t.kind === "checkbox" ? kee(g, m) : xee(g, m) + t.kind === "checkbox" ? Rte(h, m) : Lte(h, m) ); } - const f = gI(e, o), d = f.look; + const f = Q3(e, o), d = f.look; let p = f.approximate; - const h = t.kind === "text" ? gee(d, { + const g = t.kind === "text" ? Ete(d, { value: n.text ?? t.value, multiline: t.multiline, password: t.password, comb: t.comb, maxLength: t.maxLength - }) : t.kind === "combobox" ? mee(d, { value: n.text ?? t.value }) : t.kind === "listbox" ? yee(d, { options: t.options, topIndex: t.topIndex }) : wee(d, e.caption ?? null); - return h.missing.length > 0 && !o && (p ?? (p = "glyph")), u(h.ops, p); + }) : t.kind === "combobox" ? Cte(d, { value: n.text ?? t.value }) : t.kind === "listbox" ? _te(d, { options: t.options, topIndex: t.topIndex }) : Nte(d, e.caption ?? null); + return g.missing.length > 0 && !o && (p ?? (p = "glyph")), u(g.ops, p); } -function Eee(e, t) { - const n = Vp(xi(e.face.key)); +function zte(e, t) { + const n = Xp(Sa(e.face.key)); return [...t.map((o) => `"${o.family}"`), n].join(", "); } -function Cee(e, t) { +function Wte(e, t) { const n = new Set(t.lines.flatMap((r) => r.runs.map((s) => s.font))), o = [ e.face, ...e.fallbacks.filter((r) => n.has(r)), @@ -43946,63 +44893,63 @@ function Cee(e, t) { ]; return [...new Map(o.map((r) => [r.program.family, r.program])).values()]; } -function Iee(e, t, n, o) { +function Ute(e, t, n, o) { if (t.kind !== "text") return null; - const { look: r } = gI(e, o), s = { + const { look: r } = Q3(e, o), s = { multiline: t.multiline, password: t.password, comb: t.comb, maxLength: t.maxLength - }, { plate: i, laid: a } = yb(r, { ...s, value: n }), { bbox: c } = r, { face: l } = r.fonts, u = a.fontSize, f = Cee(r.fonts, a), d = { + }, { plate: a, laid: i } = Eb(r, { ...s, value: n }), { bbox: c } = r, { face: l } = r.fonts, u = i.fontSize, f = Wte(r.fonts, i), d = { programs: f, - fontFamily: Eee(r.fonts, f), + fontFamily: zte(r.fonts, f), fontWeight: l.fontWeight, fontStyle: l.fontStyle, fontSize: u, lineHeight: (l.ascent - l.descent) * u / 1e3, - rtl: a.rtl, + rtl: i.rtl, padding: { - top: c.top - i.top, - right: c.right - i.right, - bottom: i.bottom - c.bottom, - left: i.left - c.left + top: c.top - a.top, + right: c.right - a.right, + bottom: a.bottom - c.bottom, + left: a.left - c.left } }, p = t.comb ? t.maxLength ?? 0 : 0; if (p === 0) return { ...d, letterSpacing: 0, comb: !1 }; - const g = (n ? a : yb(r, { ...s, value: "0" }).laid).lines.flatMap((x) => x.runs), m = g.reduce((x, S) => x + S.width, 0) / Math.max(1, g.length), M = (i.right - i.left) / p; + const h = (n ? i : Eb(r, { ...s, value: "0" }).laid).lines.flatMap((E) => E.runs), m = h.reduce((E, P) => E + P.width, 0) / Math.max(1, h.length), O = (a.right - a.left) / p; return { ...d, - padding: { ...d.padding, left: (g[0]?.x ?? i.left) - c.left }, - letterSpacing: M - m, + padding: { ...d.padding, left: (h[0]?.x ?? a.left) - c.left }, + letterSpacing: O - m, comb: !0 }; } -const Bg = (e) => `#${[...e].map( +const Hg = (e) => `#${[...e].map( (t) => Math.round(Math.min(1, Math.max(0, t)) * 255).toString(16).padStart(2, "0") -).join("")}`, od = (e) => Number(e.toFixed(3)); -function _ee(e, t) { - const { box: n } = t, o = ((t.rotation ?? 0) % 360 + 360) % 360, r = n.x + n.width / 2, s = n.y + n.height / 2, i = (f, d) => { - const p = n.x + f - r, h = n.y + (e.height - d) - s; +).join("")}`, ad = (e) => Number(e.toFixed(3)); +function Kte(e, t) { + const { box: n } = t, o = ((t.rotation ?? 0) % 360 + 360) % 360, r = n.x + n.width / 2, s = n.y + n.height / 2, a = (f, d) => { + const p = n.x + f - r, g = n.y + (e.height - d) - s; switch (o) { case 90: - return { x: r - h, y: s + p }; + return { x: r - g, y: s + p }; case 180: - return { x: r - p, y: s - h }; + return { x: r - p, y: s - g }; case 270: - return { x: r + h, y: s - p }; + return { x: r + g, y: s - p }; default: - return { x: r + p, y: s + h }; + return { x: r + p, y: s + g }; } - }, a = (f) => { - const d = (p, h) => { - const g = i(p, h); - return `${od(g.x)} ${od(g.y)}`; + }, i = (f) => { + const d = (p, g) => { + const h = a(p, g); + return `${ad(h.x)} ${ad(h.y)}`; }; return f.map((p) => { switch (p.op) { case "rect": { - const { x: h, y: g, width: m, height: M } = p; - return `M ${d(h, g)} L ${d(h + m, g)} L ${d(h + m, g + M)} L ${d(h, g + M)} Z`; + const { x: g, y: h, width: m, height: O } = p; + return `M ${d(g, h)} L ${d(g + m, h)} L ${d(g + m, h + O)} L ${d(g, h + O)} Z`; } case "move": return `M ${d(p.x, p.y)}`; @@ -44015,7 +44962,7 @@ function _ee(e, t) { } }).join(" "); }, c = (f) => { - const d = i(f.left, f.bottom), p = i(f.right, f.top); + const d = a(f.left, f.bottom), p = a(f.right, f.top); return { x: Math.min(d.x, p.x), y: Math.min(d.y, p.y), @@ -44024,47 +44971,47 @@ function _ee(e, t) { }; }, l = [], u = (f, d) => { for (const p of f) { - const h = d ? { clip: d } : {}; + const g = d ? { clip: d } : {}; switch (p.kind) { case "fill": { - const g = { - fill: Bg(p.color), + const h = { + fill: Hg(p.color), ...p.evenOdd ? { fillRule: "evenodd" } : {} }; - l.push({ kind: "path", d: a(p.path), paint: g, ...h }); + l.push({ kind: "path", d: i(p.path), paint: h, ...g }); break; } case "stroke": { - const g = { - stroke: Bg(p.color), + const h = { + stroke: Hg(p.color), width: p.width, ...p.dash ? { dash: [...p.dash] } : {} }; - l.push({ kind: "path", d: a(p.path), paint: g, ...h }); + l.push({ kind: "path", d: i(p.path), paint: h, ...g }); break; } case "clip": u(p.ops, c(p.rect)); break; case "text": { - for (const g of p.runs) { - const m = i(g.x, g.y); + for (const h of p.runs) { + const m = a(h.x, h.y); l.push({ kind: "textRun", - at: { x: od(m.x), y: od(m.y) }, - text: g.text, - rtl: g.rtl, - plain: g.plain, - ...g.joinsPrevious ? { joinsPrevious: !0 } : {}, - ...g.joinsNext ? { joinsNext: !0 } : {}, + at: { x: ad(m.x), y: ad(m.y) }, + text: h.text, + rtl: h.rtl, + plain: h.plain, + ...h.joinsPrevious ? { joinsPrevious: !0 } : {}, + ...h.joinsNext ? { joinsNext: !0 } : {}, fontSize: p.size, - fontFamily: g.font.fontFamily, - fontWeight: g.font.fontWeight, - fontStyle: g.font.fontStyle, + fontFamily: h.font.fontFamily, + fontWeight: h.font.fontWeight, + fontStyle: h.font.fontStyle, ...o ? { rotation: o } : {}, - program: g.font.program, - paint: { fill: Bg(p.color) }, - ...h + program: h.font.program, + paint: { fill: Hg(p.color) }, + ...g }); } break; @@ -44074,35 +45021,35 @@ function _ee(e, t) { }; return u(e.ops, void 0), l; } -const Nee = Object.freeze([]), Ts = (e) => e.kind === "objectNumber" ? e.objectNumber : -1; -function Tee({ +const qte = Object.freeze([]), Ts = (e) => e.kind === "objectNumber" ? e.objectNumber : -1; +function Hte({ fields: e, formatted: t, design: n, fonts: o }) { - const r = () => o()?.getPaintFontsEpoch() ?? 0, s = (p, h) => o()?.getPaintFonts(p.fontFamily ?? "helvetica", h), i = (p, h) => { - const g = p.box ?? p.rect, m = (() => { - switch (h?.kind) { + const r = () => o()?.getPaintFontsEpoch() ?? 0, s = (p, g) => o()?.getPaintFonts(p.fontFamily ?? "helvetica", g), a = (p, g) => { + const h = p.box ?? p.rect, m = (() => { + switch (g?.kind) { case "text": return [ - t.textOf(h) ?? h.value, - h.multiline, - h.password, - h.comb, - h.maxLength + t.textOf(g) ?? g.value, + g.multiline, + g.password, + g.comb, + g.maxLength ]; case "combobox": - return [t.textOf(h) ?? h.value]; + return [t.textOf(g) ?? g.value]; case "listbox": - return [h.topIndex, h.options.map((M) => [M.label, M.selected])]; + return [g.topIndex, g.options.map((O) => [O.label, O.selected])]; default: - return [h?.kind ?? null]; + return [g?.kind ?? null]; } })(); return JSON.stringify([ - g.width, - g.height, + h.width, + h.height, p.rotation ?? 0, p.color ?? null, p.interiorColor ?? null, @@ -44117,43 +45064,43 @@ function Tee({ p.checkStyle ?? null, m ]); - }, a = (p, h) => { - const g = hn(p, h); - return g ? i(g, Zt(p, h)) : null; - }, c = Jt( + }, i = (p, g) => { + const h = rn(p, g); + return h ? a(h, en(p, g)) : null; + }, c = Ut( (p) => [e.view(), e.get(), t.version(), n.lending(), r()], - (p, h, g, m, M) => M ? Nee : RJ(h, p, (x) => { - const S = Ts(x.ref); + (p, g, h, m, O) => O ? qte : Hee(g, p, (E) => { + const P = Ts(E.ref); return { - pending: a(h, S) !== a(g, S), - pictureVersion: bb(g, S) + pending: i(g, P) !== i(h, P), + pictureVersion: Mb(h, P) }; }) - ), l = (p, h, g, m = !1) => { - const M = e.view(), x = Zt(M, Ts(p.ref)); - if (!x) return null; - const S = t.textOf(x), P = S === null ? {} : { text: S }, k = s(p, rS(p, x, P)); - if (k === null && !m) return null; - const A = Mee({ ...p, box: h }, x, P, k ?? void 0); - return A && _ee(A, { box: h, rotation: g }); - }, u = Jt( + ), l = (p, g, h, m = !1) => { + const O = e.view(), E = en(O, Ts(p.ref)); + if (!E) return null; + const P = t.textOf(E), k = P === null ? {} : { text: P }, A = s(p, xS(p, E, k)); + if (A === null && !m) return null; + const w = Bte({ ...p, box: g }, E, k, A ?? void 0); + return w && Kte(w, { box: g, rotation: h }); + }, u = Ut( (p) => { - const h = e.view(), g = hn(h, p), m = g ? Zt(h, p) : null; - return [g, m, m ? t.textOf(m) : null, r()]; + const g = e.view(), h = rn(g, p), m = h ? en(g, p) : null; + return [h, m, m ? t.textOf(m) : null, r()]; }, - (p, h) => { - const g = h && l(h, h.box ?? h.rect, h.rotation); - return g ? { scene: g } : null; + (p, g) => { + const h = g && l(g, g.box ?? g.rect, g.rotation); + return h ? { scene: h } : null; } - ), f = (p) => o()?.getFontCss(p) ?? Pa(xi(p)), d = (p, h) => { - if (!o() || !h || po(h)) return p; - const g = f(h); + ), f = (p) => o()?.getFontCss(p) ?? Si(Sa(p)), d = (p, g) => { + if (!o() || !g || ho(g)) return p; + const h = f(g); return { ...p, - programs: g.programs, - fontFamily: g.fontFamily, - fontWeight: g.fontWeight, - fontStyle: g.fontStyle + programs: h.programs, + fontFamily: h.fontFamily, + fontWeight: h.fontWeight, + fontStyle: h.fontStyle }; }; return { @@ -44161,71 +45108,71 @@ function Tee({ getWidgetPainting: (p) => u(Ts(p)), /** The widget's look in the view isn't its confirmed look yet: it draws live until its picture is. */ isPending: (p) => { - const h = Ts(p); - return a(e.view(), h) !== a(e.get(), h); + const g = Ts(p); + return i(e.view(), g) !== i(e.get(), g); }, /** * How the painter draws a widget row live, upright in a box (where a gesture has it); `null` * for one whose field it doesn't draw, or with a mark in it, which only its picture shows. */ painterOf: (p) => { - const h = Zt(e.view(), Ts(p.ref)); - return h && mI(h) && !p.hasMark ? (g) => l(p, g, 0, !0) ?? [] : null; + const g = en(e.view(), Ts(p.ref)); + return g && X3(g) && !p.hasMark ? (h) => l(p, h, 0, !0) ?? [] : null; }, - getTextEditorLayout: (p, h) => { - const g = e.view(), m = Ts(p), M = hn(g, m), x = M ? Zt(g, m) : null; - if (!M || !x) return null; - const S = s(M, rS(M, x, { text: h })), P = Iee(M, x, h, S ?? void 0); - return P && (S ? P : d(P, M.fontFamily ?? null)); + getTextEditorLayout: (p, g) => { + const h = e.view(), m = Ts(p), O = rn(h, m), E = O ? en(h, m) : null; + if (!O || !E) return null; + const P = s(O, xS(O, E, { text: g })), k = Ute(O, E, g, P ?? void 0); + return k && (P ? k : d(k, O.fontFamily ?? null)); }, getWidgetFontCss: (p) => { - const h = hn(e.view(), Ts(p)); - return h ? f(h.fontFamily ?? "helvetica") : null; + const g = rn(e.view(), Ts(p)); + return g ? f(g.fontFamily ?? "helvetica") : null; } }; } -const Ree = Object.freeze([]); -function Lee(e, { render: t }) { - const n = Jt( +const Vte = Object.freeze([]); +function Gte(e, { render: t }) { + const n = Ut( (r) => [e.get()], (r, s) => (s.snapshot?.widgets ?? []).flatMap( - (i) => i.page.objectNumber === r && i.ref.kind === "objectNumber" ? [{ ref: i.ref, version: bb(s, i.ref.objectNumber) }] : [] + (a) => a.page.objectNumber === r && a.ref.kind === "objectNumber" ? [{ ref: a.ref, version: Mb(s, a.ref.objectNumber) }] : [] ) - ), o = Jt( + ), o = Ut( (r) => [n(r)], (r, s) => s.map( - ({ ref: i, version: a }) => `${i.kind === "objectNumber" ? i.objectNumber : ""}@${a}` + ({ ref: a, version: i }) => `${a.kind === "objectNumber" ? a.objectNumber : ""}@${i}` ).sort().join("|") ); return { epoch: (r) => o(r.objectNumber), - render: (r, s, i) => { - const a = t(); - return a ? a.renderAppearances(r, { + render: (r, s, a) => { + const i = t(); + return i ? i.renderAppearances(r, { family: "widgets", scale: s, items: n(r.objectNumber), - ...i ? { signal: i } : {} - }) : Promise.resolve(Ree); + ...a ? { signal: a } : {} + }) : Promise.resolve(Vte); }, - versionOf: (r) => r.kind === "objectNumber" ? bb(e.get(), r.objectNumber) : 0 + versionOf: (r) => r.kind === "objectNumber" ? Mb(e.get(), r.objectNumber) : 0 }; } -function jee(e, t) { +function Yte(e, t) { let n = null; const o = () => { if (n) return n; const l = t.actions()?.scriptRealm ?? null; if (!l) return null; - const u = J3({ + const u = N3({ document: () => e.document(), transaction: l.transaction.bind(l), budget: l.budget }); return e.cleanup(() => u.destroy()), n = u, u; }, r = e.settings(), s = () => r.get().validation === "scripts" ? o() : null; - let i = !1; - const a = (l) => IJ(l) ? (!o() && !i && r.get().validation === "scripts" && (i = !0, console.warn( + let a = !1; + const i = (l) => Wee(l) ? (!o() && !a && r.get().validation === "scripts" && (a = !0, console.warn( "[form] this form has scripts, but they don't run: add the actions plugin with JavaScript on (`actionsPlugin({ javascript: { enabled: true, sandboxFactory } })`), or set the form's `validation` to 'none' to fill it in without them." )), s()) : null; let c = !1; @@ -44233,11 +45180,11 @@ function jee(e, t) { /** The script pipeline when the document's scripts run, else `null`. */ controller: s, /** The script pipeline for a write to this form: `null` too when no field has a script. */ - scriptsFor: a, + scriptsFor: i, /** Start the realm before the first write needs it, once, when the form has scripts. */ warm(l) { if (c || !l.snapshot) return; - const u = a(l); + const u = i(l); u && (c = !0, u.warm(l.snapshot).catch(() => { })); }, @@ -44248,35 +45195,35 @@ function jee(e, t) { } }; } -function Fee(e) { +function Qte(e) { return { /** The annotation plugin: design mode's selection, tools, ghosts and placement previews. */ - annotation: () => e.tryGet(It), + annotation: () => e.tryGet(Tt), /** The script realm owner and the one surface port for script results. */ - actions: () => e.tryGet(Wa), + actions: () => e.tryGet(zi), /** The page renderer: the widgets' pictures, shared by the form layer and design mode. */ - render: () => e.tryGet(pn) + render: () => e.tryGet(wn) }; } -function Dee(e) { - const t = Fee(e), n = aee(e), o = oee(e, n), r = iee(e, t), s = dee(e, o); +function Xte(e) { + const t = Qte(e), n = vte(e), o = mte(e, n), r = wte(e, t), s = Ste(e, o); return { fields: o, - rights: lee(e, o), + rights: xte(e, o), events: n, - cursor: see(e, o, n), + cursor: yte(e, o, n), siblings: t, - scripting: jee(e, t), + scripting: Yte(e, t), design: r, formatted: s, - pictures: Lee(o, t), - looks: Tee({ fields: o, formatted: s, design: r, fonts: () => e.tryGet(Er) }), + pictures: Gte(o, t), + looks: Hte({ fields: o, formatted: s, design: r, fonts: () => e.tryGet(Ir) }), enqueue: e.serialQueue("writes"), - keyOf: (i) => Uf(o.view(), i) + keyOf: (a) => qf(o.view(), a) }; } -function $ee(e, t, { fill: n }) { - const { fields: o, scripting: r, cursor: s } = t, i = async (d) => (await o.settled(), (d.kind === "objectNumber" ? hn(o.view(), d.objectNumber) : null)?.actions?.activate ?? null), a = async (d, p, h) => { +function Zte(e, t, { fill: n }) { + const { fields: o, scripting: r, cursor: s } = t, a = async (d) => (await o.settled(), (d.kind === "objectNumber" ? rn(o.view(), d.objectNumber) : null)?.actions?.activate ?? null), i = async (d, p, g) => { if (!r.controller()) return { status: "unchanged", @@ -44284,7 +45231,7 @@ function $ee(e, t, { fill: n }) { uiEffects: [], diagnostics: [] }; - const m = await i(p); + const m = await a(p); if (!m) return { status: "unchanged", @@ -44292,11 +45239,11 @@ function $ee(e, t, { fill: n }) { uiEffects: [], diagnostics: [] }; - const { result: M } = await n( + const { result: O } = await n( { ops: [], scripts: { kind: "activate", field: d, action: m }, origin: "user" }, - h + g ); - return M; + return O; }, c = (d, p) => ({ kind: "widget", field: d, @@ -44304,8 +45251,8 @@ function $ee(e, t, { fill: n }) { page: p.page }); let l = null; - const u = (d) => (l ?? (l = a0(d.dispatch)), l), f = (d) => { - const p = d.kind === "objectNumber" ? hn(o.view(), d.objectNumber) : null; + const u = (d) => (l ?? (l = v0(d.dispatch)), l), f = (d) => { + const p = d.kind === "objectNumber" ? rn(o.view(), d.objectNumber) : null; return p ? { enter: !!p.actions?.cursorEnter?.root, exit: !!p.actions?.cursorExit?.root @@ -44314,49 +45261,49 @@ function $ee(e, t, { fill: n }) { return { api: { activateWidget: async (d, p) => { - const h = Zt(o.view(), fn(d)); - if (!h) throw new Z("not-found", "form", "no form field owns this widget"); - const g = e.tryGet(yn); - if (g) { + const g = en(o.view(), mn(d)); + if (!g) throw new te("not-found", "form", "no form field owns this widget"); + const h = e.tryGet(An); + if (h) { const m = await e.cancellable( p?.signal, - g.dispatch({ + h.dispatch({ type: "activate", annotation: d, page: d.page, - source: c(h.ref, d) + source: c(g.ref, d) }) ); if (!(m.status === "inert" && m.steps.length === 0 && m.diagnostics.length === 0)) return { status: "dispatched", result: m }; } return { status: "form", - result: await a(h.ref, d, p) + result: await i(g.ref, d, p) }; }, - notifyWidgetEvent: (d, p, h) => { - (h === "focus" || h === "blur") && s.note(h, d, p); - const g = e.tryGet(yn); - if (!g) return; + notifyWidgetEvent: (d, p, g) => { + (g === "focus" || g === "blur") && s.note(g, d, p); + const h = e.tryGet(An); + if (!h) return; const m = c(d, p); - if (h === "cursorEnter" || h === "cursorExit") { - if (h === "cursorExit") { - u(g).hover(null); + if (g === "cursorEnter" || g === "cursorExit") { + if (g === "cursorExit") { + u(h).hover(null); return; } - const M = f(p); - if (M && !M.enter && !M.exit) return; - u(g).hover({ + const O = f(p); + if (O && !O.enter && !O.exit) return; + u(h).hover({ ref: p, page: p.page, source: m, - ...M ? { events: M } : {} + ...O ? { events: O } : {} }); return; } - h === "focus" && r.warm(o.view()), g.dispatch({ + g === "focus" && r.warm(o.view()), h.dispatch({ type: "annotation", - event: h, + event: g, annotation: p, page: p.page, source: m @@ -44365,19 +45312,19 @@ function $ee(e, t, { fill: n }) { } }; } -function Bee(e) { +function Jte(e) { const t = []; let n = !1; const o = () => { n || !e.doc || (n = !0, e.doc.objectNumbers.onLost(({ numbers: s }) => { - const i = new Set(s); - t.splice(0, t.length, ...t.filter((a) => !i.has(a))); + const a = new Set(s); + t.splice(0, t.length, ...t.filter((i) => !a.has(i))); })); }, r = (s) => { for (o(); t.length < s; ) { - const i = e.changes.takeObjectNumber(); - if (i === null) return null; - t.push(i); + const a = e.changes.takeObjectNumber(); + if (a === null) return null; + t.push(a); } return t.splice(0, s); }; @@ -44385,28 +45332,148 @@ function Bee(e) { takeNow: r, async take(s) { for (; ; ) { - const i = r(s); - if (i) return i; + const a = r(s); + if (a) return a; await e.changes.reserveObjectNumbers(s - t.length); } } }; } -const sS = (e, t) => e.x >= 0 && e.y >= 0 && e.x + e.width <= t.width && e.y + e.height <= t.height; -function zee(e, t) { +function Z3(e) { + const t = new Set(e); + let n = e.length + 1; + for (; t.has(`Choice${n}`); ) n += 1; + return `Choice${n}`; +} +const J3 = (e) => e.ref.kind === "objectNumber" && e.widgets.some( + (t) => t.objectNumber === e.ref.objectNumber +), ene = { + invisible: !1, + hidden: !1, + print: !0, + noZoom: !1, + noRotate: !1, + noView: !1, + readOnly: !1, + locked: !1, + toggleNoView: !1, + lockedContents: !1 +}; +function tne(e) { + const t = cP(e), n = ene; + return Object.fromEntries( + Object.entries(t).filter(([o, r]) => r !== n[o]) + ); +} +const AS = (e) => e.kind === "objectNumber" ? e.objectNumber : -1; +function nne(e, t, n, o) { + const { snapshot: r } = e, s = n.offset ?? { x: 0, y: 0 }, a = [], i = t.map((m) => { + const O = rn(e, AS(m)); + if (!O || !r) + throw new te("not-found", "form", `no widget ${Y(m)}`); + return O; + }), c = [], l = [], u = [], f = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Set(); + for (const m of i) { + const O = en(e, AS(m.ref)); + if (!O) { + a.push({ ref: null, widget: m.ref, reason: "no-field" }); + continue; + } + const E = Lt(O); + if (O.kind !== "radio") { + c.some((w) => Lt(w) === E) || c.push(O), l.push(m.ref); + continue; + } + const P = f.get(E) ?? O.widgets.map((w) => w.exportValue), k = Z3(P); + f.set(E, [...P, k]); + const A = iP(O, m, (w) => w, o.mayScript, a); + u.push({ + row: m, + field: O, + placement: { + ...A, + ...n.page ? { page: n.page } : {}, + ...A.rect ? { rect: { ...A.rect, x: A.rect.x + s.x, y: A.rect.y + s.y } } : {}, + exportValue: k + }, + // Only the first button added splits a merged group. + split: J3(O) && !d.has(E) + }), d.add(E); + } + let p = null; + c.length > 0 && r && (p = _y({ + form: r, + fields: c.map((m) => m.ref), + widgets: l, + placement: n, + values: o.values, + // The engine decides what the session may write, and says what it left out. + mayScript: !0 + })); + const g = p ? p.creates.reduce((m, O) => m + 1 + O.widgets.length, 0) : 0; + return { + needs: g + u.reduce((m, O) => m + (O.split ? 2 : 1), 0), + dropped: a, + build(m) { + const O = [], E = /* @__PURE__ */ new Map(); + let P = 0; + if (p) { + O.push({ + type: "forms.copy", + fields: c.map((k) => k.ref), + widgets: l, + ...n.page ? { page: n.page } : {}, + ...n.offset ? { offset: n.offset } : {}, + values: o.values, + objectNumbers: m.slice(0, g) + }); + for (const k of p.creates) + P += 1, k.widgets.forEach((A, w) => { + E.set(Y(A), { + kind: "objectNumber", + page: k.draft.widgets[w].page, + objectNumber: m[P + w] + }); + }), P += k.widgets.length; + } + for (const k of u) { + const A = m[P], w = { + kind: "objectNumber", + page: k.placement.page, + objectNumber: A + }; + O.push({ + type: "forms.addWidget", + field: k.field.ref, + placement: k.placement, + objectNumber: A, + ...k.split ? { splitObjectNumber: m[P + 1] } : {} + }), P += k.split ? 2 : 1; + const b = tne(k.row); + Object.keys(b).length > 0 && O.push({ type: "forms.updateWidget", widget: w, patch: b }), E.set(Y(k.row.ref), w); + } + return { + ops: O, + copies: i.flatMap((k) => E.get(Y(k.ref)) ?? []) + }; + } + }; +} +const SS = (e, t) => e.x >= 0 && e.y >= 0 && e.x + e.width <= t.width && e.y + e.height <= t.height; +function one(e, t) { const n = e.at(-1); if (!n) return { x: 0, y: 0, width: 0, height: 0 }; - const { width: o, height: r } = n, s = e.at(-2), i = s && (s.x !== n.x || s.y !== n.y) ? { x: n.x - s.x, y: n.y - s.y } : { x: 0, y: r * 1.5 }, a = { x: n.x + i.x, y: n.y + i.y, width: o, height: r }; - if (sS(a, t)) return a; - const c = Math.abs(i.y) >= Math.abs(i.x), l = Math.min(...e.map((g) => g.x)), u = Math.min(...e.map((g) => g.y)), f = Math.max(...e.map((g) => g.x + g.width)), d = Math.max(...e.map((g) => g.y + g.height)), p = Math.max(c ? Math.abs(i.y) - r : Math.abs(i.x) - o, 0), h = c ? { x: f + (p || o / 2), y: u, width: o, height: r } : { x: l, y: d + (p || r / 2), width: o, height: r }; - return sS(h, t) ? h : { - x: Math.min(Math.max(a.x, 0), Math.max(t.width - o, 0)), - y: Math.min(Math.max(a.y, 0), Math.max(t.height - r, 0)), + const { width: o, height: r } = n, s = e.at(-2), a = s && (s.x !== n.x || s.y !== n.y) ? { x: n.x - s.x, y: n.y - s.y } : { x: 0, y: r * 1.5 }, i = { x: n.x + a.x, y: n.y + a.y, width: o, height: r }; + if (SS(i, t)) return i; + const c = Math.abs(a.y) >= Math.abs(a.x), l = Math.min(...e.map((h) => h.x)), u = Math.min(...e.map((h) => h.y)), f = Math.max(...e.map((h) => h.x + h.width)), d = Math.max(...e.map((h) => h.y + h.height)), p = Math.max(c ? Math.abs(a.y) - r : Math.abs(a.x) - o, 0), g = c ? { x: f + (p || o / 2), y: u, width: o, height: r } : { x: l, y: d + (p || r / 2), width: o, height: r }; + return SS(g, t) ? g : { + x: Math.min(Math.max(i.x, 0), Math.max(t.width - o, 0)), + y: Math.min(Math.max(i.y, 0), Math.max(t.height - r, 0)), width: o, height: r }; } -const Wee = [ +const rne = [ "color", "interiorColor", "strokeWidth", @@ -44419,346 +45486,412 @@ const Wee = [ "caption", "checkStyle", "rotation" -], Uee = (e) => { +], sne = (e) => { if (!e) return {}; const t = e, n = {}; - for (const o of Wee) + for (const o of rne) t[o] !== void 0 && t[o] !== null && (n[o] = t[o]); return n; }; -function Kee(e) { +function ane(e) { if (e.kind === "checkbox") return e.exportValue; - if (e.kind !== "radio") return; - const t = new Set(e.widgets.map((o) => o.exportValue)); - let n = e.widgets.length + 1; - for (; t.has(`Choice${n}`); ) n += 1; - return `Choice${n}`; -} -const qee = (e) => e.ref.kind === "objectNumber" && e.widgets.some( - (t) => t.objectNumber === e.ref.objectNumber -), Hee = "doc.forms.modify", Vee = "doc.forms.script"; -function Gee(e, { fields: t, enqueue: n }) { - const o = Bee(e), r = (l, u = !1) => { - e.assertAllowed(Hee, l), u && e.assertAllowed(Vee, l); - }, s = (l, u) => e.changes.stage({ - label: { key: `form.${l}` }, - ops: [u], - undo: Qi(t.view(), [u]) - }), i = async (l, u) => { + if (e.kind === "radio") + return Z3(e.widgets.map((t) => t.exportValue)); +} +const ine = "doc.forms.modify", OS = "doc.forms.script"; +function cne(e, { fields: t, enqueue: n }) { + const o = Jte(e), r = (g, h = !1) => { + e.assertAllowed(ine, g), h && e.assertAllowed(OS, g); + }, s = (g, h) => e.changes.stage({ + label: { key: `form.${g}` }, + ops: [h], + undo: Vs(t.view(), [h]) + }), a = (g, h) => e.changes.stage({ + label: { key: `form.${g}` }, + ops: [...h], + undo: Vs(t.view(), h) + }), i = async (g, h) => { try { - return (await e.cancellable(u?.signal, l.result)).items[0]; - } catch (f) { - throw Be("form", f); + return (await e.cancellable(h?.signal, g.result)).items[0]; + } catch (m) { + throw Fe("form", m); + } + }, c = async (g, h) => { + r("form.create", mP(g)); + const m = 1 + (g.widgets?.length ?? 0), [O, ...E] = o.takeNow(m) ?? await o.take(m), P = s("create", { + type: "forms.create", + draft: g, + objectNumber: O, + widgetObjectNumbers: E + }); + return { field: (await i(P, h)).field }; + }, l = async (g, h = {}, m) => { + r("form.addWidget", Xs(h.actions)); + const O = t.view(), E = pt(O, g); + if (!E) throw new te("not-found", "form", "no form field has this ref"); + const P = E.widgets.map((T) => rn(O, T.objectNumber)).filter((T) => T !== null), k = P.at(-1), A = h.page ?? k?.page; + if (!A) + throw new te( + "invalid-input", + "form", + "the field shows on no page: give `page` and `rect`" + ); + const w = e.getPage(A)?.size, b = P.filter((T) => T.page.objectNumber === A.objectNumber), v = h.rect ?? h.box ?? (w && b.length > 0 ? one( + b.map((T) => T.box), + w + ) : void 0); + if (!v) + throw new te( + "invalid-input", + "form", + "no widget of the field on that page: give `rect`" + ); + const x = h.exportValue ?? ane(E), y = J3(E), [M, S] = o.takeNow(y ? 2 : 1) ?? await o.take(y ? 2 : 1), C = s("addWidget", { + type: "forms.addWidget", + field: E.ref, + placement: { + ...sne(k), + ...h, + page: A, + ...h.box ? {} : { rect: v }, + ...x === void 0 ? {} : { exportValue: x } + }, + objectNumber: M, + ...y ? { splitObjectNumber: S } : {} + }), N = await i(C, m), _ = N.widgets.find( + (T) => T.ref.kind === "objectNumber" && T.ref.objectNumber === M + ) ?? N.widgets.at(-1); + return { field: N.field, widget: _ }; + }, u = (g) => ({ + ...g.page === void 0 ? {} : { page: e.pageOf(g.page).ref }, + ...g.offset ? { offset: g.offset } : {} + }), f = async (g, h, m) => { + let O; + try { + O = nne(t.view(), g, h, { + values: m, + mayScript: e.allows(OS) + }); + } catch (P) { + throw Fe("form", P); } + const E = O.needs ? o.takeNow(O.needs) ?? await o.take(O.needs) : []; + return { ...O.build(E), dropped: O.dropped }; }; return { + copyOps: f, api: { - create: async (l, u) => { - r("form.create", BP(l)); - const f = 1 + (l.widgets?.length ?? 0), [d, ...p] = o.takeNow(f) ?? await o.take(f), h = s("create", { - type: "forms.create", - draft: l, - objectNumber: d, - widgetObjectNumbers: p - }); - return { field: (await i(h, u)).field }; + create: c, + addWidget: l, + duplicate: async (g, h = {}) => { + if (r("form.duplicate"), g.length === 0) return { fields: [], widgets: [], dropped: [] }; + const m = u(h), O = h.values ?? !1, { snapshot: E } = t.view(); + if (!E) throw new te("not-ready", "form", "the form is still loading"); + let P; + try { + P = _y({ + form: E, + fields: g, + placement: m, + values: O, + mayScript: !0 + }).creates.reduce((v, x) => v + 1 + x.widgets.length, 0); + } catch (b) { + throw Fe("form", b); + } + const k = P ? o.takeNow(P) ?? await o.take(P) : [], A = a("duplicate", [ + { type: "forms.copy", fields: g, ...m, values: O, objectNumbers: k } + ]), w = await i(A, h); + return { fields: w.fields, widgets: w.widgets, dropped: w.dropped }; }, - addWidget: async (l, u = {}, f) => { - r("form.addWidget", Ys(u.actions)); - const d = t.view(), p = kt(d, l); - if (!p) throw new Z("not-found", "form", "no form field has this ref"); - const h = p.widgets.map((v) => hn(d, v.objectNumber)).filter((v) => v !== null), g = h.at(-1), m = u.page ?? g?.page; - if (!m) - throw new Z( - "invalid-input", - "form", - "the field shows on no page: give `page` and `rect`" - ); - const M = e.getPage(m)?.size, x = h.filter((v) => v.page.objectNumber === m.objectNumber), S = u.rect ?? u.box ?? (M && x.length > 0 ? zee( - x.map((v) => v.box), - M - ) : void 0); - if (!S) - throw new Z( - "invalid-input", - "form", - "no widget of the field on that page: give `rect`" - ); - const P = u.exportValue ?? Kee(p), k = qee(p), [A, y] = o.takeNow(k ? 2 : 1) ?? await o.take(k ? 2 : 1), w = s("addWidget", { - type: "forms.addWidget", - field: p.ref, - placement: { - ...Uee(g), - ...u, - page: m, - ...u.box ? {} : { rect: S }, - ...P === void 0 ? {} : { exportValue: P } - }, - objectNumber: A, - ...k ? { splitObjectNumber: y } : {} - }), O = await i(w, f), b = O.widgets.find( - (v) => v.ref.kind === "objectNumber" && v.ref.objectNumber === A - ) ?? O.widgets.at(-1); - return { field: O.field, widget: b }; + duplicateWidgets: async (g, h = {}) => { + r("form.duplicate"); + const m = await f(g, u(h), h.values ?? !1); + if (m.ops.length === 0) return { fields: [], widgets: [], dropped: [...m.dropped] }; + const O = a("duplicate", m.ops); + let E; + try { + E = (await e.cancellable(h.signal, O.result)).items; + } catch (P) { + throw Fe("form", P); + } + return lne(E, m.copies, m.dropped); }, - update: async (l, u, f) => { - r("form.update", Ys(u.actions)); - const d = s("update", { type: "forms.update", field: l, patch: u }); - return { field: (await i(d, f)).field }; + update: async (g, h, m) => { + r("form.update", Xs(h.actions)); + const O = s("update", { type: "forms.update", field: g, patch: h }); + return { field: (await i(O, m)).field }; }, - reorderCalculations: async (l, u, f) => { + reorderCalculations: async (g, h, m) => { r("form.reorderCalculations"); - const d = s("reorderCalculations", { + const O = s("reorderCalculations", { type: "forms.reorderCalculations", - fields: l, - position: u + fields: g, + position: h }); - return { calculationOrder: (await i(d, f)).calculationOrder }; + return { calculationOrder: (await i(O, m)).calculationOrder }; }, - delete: async (l, u) => { - r("form.delete"), await i(s("delete", { type: "forms.delete", field: l }), u); + delete: async (g, h) => { + r("form.delete"), await i(s("delete", { type: "forms.delete", field: g }), h); }, - removeWidget: async (l, u, f) => { + removeWidget: async (g, h, m) => { r("form.removeWidget"); - const d = s("removeWidget", { type: "forms.removeWidget", field: l, widget: u }); - return { field: (await i(d, f)).field }; + const O = s("removeWidget", { type: "forms.removeWidget", field: g, widget: h }); + return { field: (await i(O, m)).field }; }, - updateWidget: async (l, u, f) => { + updateWidget: async (g, h, m) => { r("form.updateWidget"); - const d = s("updateWidget", { type: "forms.updateWidget", widget: l, patch: u }); - return { widget: (await i(d, f)).widget }; + const O = s("updateWidget", { type: "forms.updateWidget", widget: g, patch: h }); + return { widget: (await i(O, m)).widget }; }, - deleteWidget: async (l, u) => { + deleteWidget: async (g, h) => { r("form.deleteWidget"); - const f = s("deleteWidget", { type: "forms.deleteWidget", widget: l }); - return { field: (await i(f, u)).field }; + const m = s("deleteWidget", { type: "forms.deleteWidget", widget: g }); + return { field: (await i(m, h)).field }; }, // A repair reads the whole form and fixes it where it stands: not a change of ops. - repair: async (l) => { + repair: async (g) => { r("form.repair"); - const { signal: u, ...f } = l ?? {}, d = () => l ? e.doc.forms.repair(f) : e.doc.forms.repair(); - return n(() => e.cancellable(u, d()), l); + const { signal: h, ...m } = g ?? {}, O = () => g ? e.doc.forms.repair(m) : e.doc.forms.repair(); + return n(() => e.cancellable(h, O()), g); } } }; } -const Yee = { key: "form.scripts" }, Qee = { key: "form.recalculate" }, Xee = /* @__PURE__ */ new Set(["form.fill", "form.reset"]), Zee = (e, t) => JSON.stringify(e) === JSON.stringify(t), Jee = (e, t) => JSON.stringify(e?.valueEntry ?? null) === JSON.stringify(t?.valueEntry ?? null); -function ete(e, { fields: t, scripting: n, enqueue: o }) { - const r = (S, P, k) => S.label ?? { key: "form.fill", count: _c(P, k).length }, s = (S) => { - const P = t.view(), k = S.ops.reduce(vw, P); - if (S.ops.length === 0) return { request: S, before: P, shown: k, hold: null }; - const A = e.changes.hold(r(S, P, S.ops)); - return A.set(S.ops, Qi(P, S.ops)), { request: S, before: P, shown: k, hold: A }; - }, i = ({ request: S, before: P }) => tee(t.view(), P, _c(P, S.ops)), a = ({ hold: S }) => S !== null && !S.open && !!S.change, c = ({ request: S, shown: P }) => { - const k = t.view(); - return _c(P, S.ops).every( - (A) => Jee(hs(k, vn(A)), A) +function lne(e, t, n) { + const o = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), s = [...n], a = (i) => { + i.ref.kind === "objectNumber" && r.set(i.ref.objectNumber, i); + }; + for (const i of e) + if (i.type === "forms.copy") { + for (const c of i.fields) o.set(Lt(c), c); + i.widgets.forEach(a), s.push(...i.dropped); + } else i.type === "forms.addWidget" ? (o.set(Lt(i.field), i.field), i.widgets.forEach(a)) : i.type === "forms.updateWidget" && a(i.widget); + return { + fields: [...o.values()], + widgets: t.flatMap( + (i) => i.kind === "objectNumber" ? r.get(i.objectNumber) ?? [] : [] + ), + dropped: s + }; +} +const une = { key: "form.scripts" }, dne = { key: "form.recalculate" }, fne = /* @__PURE__ */ new Set(["form.fill", "form.reset"]), pne = (e, t) => JSON.stringify(e) === JSON.stringify(t), hne = (e, t) => JSON.stringify(e?.valueEntry ?? null) === JSON.stringify(t?.valueEntry ?? null); +function gne(e, { fields: t, scripting: n, enqueue: o }) { + const r = (P, k, A) => P.label ?? { key: "form.fill", count: Ic(k, A).length }, s = (P) => { + const k = t.view(), A = P.ops.reduce(Rw, k); + if (P.ops.length === 0) return { request: P, before: k, shown: A, hold: null }; + const w = e.changes.hold(r(P, k, P.ops)); + return w.set(P.ops, Vs(k, P.ops)), { request: P, before: k, shown: A, hold: w }; + }, a = ({ request: P, before: k }) => hte(t.view(), k, Ic(k, P.ops)), i = ({ hold: P }) => P !== null && !P.open && !!P.change, c = ({ request: P, shown: k }) => { + const A = t.view(); + return Ic(k, P.ops).every( + (w) => hne(hs(A, Lt(w)), w) ); - }, l = (S, P, k) => { - const { request: A, hold: y } = S; - if (P.length === 0) - return y?.cancel(), { script: k, changes: [], after: t.view() }; - if (!y) { - const v = r(A, t.view(), P), E = e.changes.stage({ label: v, ops: P, undo: Qi(i(S), P) }); - return { script: k, changes: [E], after: t.view() }; - } - if (y.open) { - y.set(P, Qi(i(S), P)); - const v = y.send(); - return { script: k, changes: v ? [v] : [], after: t.view() }; - } - const w = y.change, O = P.filter((v) => !w?.shows.some((E) => Zee(E, v))), b = w ? [w] : []; - if (O.length > 0) { - const v = r(A, t.view(), O); - b.push(e.changes.stage({ label: v, ops: O, undo: Qi(t.view(), O) })); - } - return { script: k, changes: b, after: t.view() }; - }, u = ({ request: S, before: P }) => { - const k = _c(P, S.ops).flatMap((A) => { - const y = q8(A); - return y ? [{ type: "forms.setValue", field: A.ref, value: y }] : []; + }, l = (P, k, A) => { + const { request: w, hold: b } = P; + if (k.length === 0) + return b?.cancel(), { script: A, changes: [], after: t.view() }; + if (!b) { + const M = r(w, t.view(), k), S = e.changes.stage({ label: M, ops: k, undo: Vs(a(P), k) }); + return { script: A, changes: [S], after: t.view() }; + } + if (b.open) { + b.set(k, Vs(a(P), k)); + const M = b.send(); + return { script: A, changes: M ? [M] : [], after: t.view() }; + } + const v = b.change, x = k.filter((M) => !v?.shows.some((S) => pne(S, M))), y = v ? [v] : []; + if (x.length > 0) { + const M = r(w, t.view(), x); + y.push(e.changes.stage({ label: M, ops: x, undo: Vs(t.view(), x) })); + } + return { script: A, changes: y, after: t.view() }; + }, u = ({ request: P, before: k }) => { + const A = Ic(k, P.ops).flatMap((w) => { + const b = lP(w); + return b ? [{ type: "forms.setValue", field: w.ref, value: b }] : []; }); - k.length !== 0 && e.changes.stage({ label: r(S, P, k), ops: k, history: !1 }); - }, f = async (S, P) => { - const k = t.view().snapshot; - if (!k) return; - const A = await S.recalculate(k); - n.surface(A, P), !(A.status !== "accepted" || A.effects.length === 0) && e.changes.stage({ - label: Qee, - ops: zc(A.effects), + A.length !== 0 && e.changes.stage({ label: r(P, k, A), ops: A, history: !1 }); + }, f = async (P, k) => { + const A = t.view().snapshot; + if (!A) return; + const w = await P.recalculate(A); + n.surface(w, k), !(w.status !== "accepted" || w.effects.length === 0) && e.changes.stage({ + label: dne, + ops: Bc(w.effects), history: !1 }); - }, d = (S, P, k) => { - const A = t.view().snapshot; - if (!A) return null; - switch (k.kind) { + }, d = (P, k, A) => { + const w = t.view().snapshot; + if (!w) return null; + switch (A.kind) { case "commit": { - const y = i(P).snapshot ?? A; - return S.commit(y, k.field, k.value); + const b = a(k).snapshot ?? w; + return P.commit(b, A.field, A.value); } case "activate": - return S.activate(A, k.field, k.action); + return P.activate(w, A.field, A.action); case "recalculate": - return S.recalculate(A); + return P.recalculate(w); } - }, p = async (S) => { - const { request: P, hold: k } = S, A = P.scripts, y = A ? A.kind === "activate" ? n.controller() : n.scriptsFor(t.view()) : null; - if (!A || !y) return l(S, P.ops, null); + }, p = async (P) => { + const { request: k, hold: A } = P, w = k.scripts, b = w ? w.kind === "activate" ? n.controller() : n.scriptsFor(t.view()) : null; + if (!w || !b) return l(P, k.ops, null); t.view().snapshot || await t.settled(); try { - return await y.transaction(async (w) => { - const O = d(w, S, A); - if (!O) return l(S, P.ops, null); - const b = await O; - n.surface(b, P.origin); - const v = a(S); - if (b.status !== "accepted") - return k?.cancel(), v && u(S), b.status === "rejected" && b.bootEffects.length > 0 && e.changes.stage({ - label: Yee, - ops: zc(b.bootEffects), + return await b.transaction(async (v) => { + const x = d(v, P, w); + if (!x) return l(P, k.ops, null); + const y = await x; + n.surface(y, k.origin); + const M = i(P); + if (y.status !== "accepted") + return A?.cancel(), M && u(P), y.status === "rejected" && y.bootEffects.length > 0 && e.changes.stage({ + label: une, + ops: Bc(y.bootEffects), history: !1 - }), { script: b, changes: [], after: t.view() }; - if (v && !c(S)) - return await f(w, P.origin), { script: b, changes: [k.change], after: t.view() }; - const E = zc(b.effects); + }), { script: y, changes: [], after: t.view() }; + if (M && !c(P)) + return await f(v, k.origin), { script: y, changes: [A.change], after: t.view() }; + const S = Bc(y.effects); return l( - S, - A.kind === "recalculate" ? [...P.ops, ...E] : E, - b + P, + w.kind === "recalculate" ? [...k.ops, ...S] : S, + y ); }); - } catch (w) { - throw k?.cancel(), w; - } - }, h = async (S, P) => { - const { script: k } = P, y = { - scripted: k !== null, - uiEffects: k?.uiEffects ?? [], - diagnostics: k?.diagnostics ?? [], - ...k?.error ? { error: k.error } : {} - }, w = (b) => ({ - result: { status: b, ...y }, - before: S.before, - after: P.after + } catch (v) { + throw A?.cancel(), v; + } + }, g = async (P, k) => { + const { script: A } = k, b = { + scripted: A !== null, + uiEffects: A?.uiEffects ?? [], + diagnostics: A?.diagnostics ?? [], + ...A?.error ? { error: A.error } : {} + }, v = (y) => ({ + result: { status: y, ...b }, + before: P.before, + after: k.after }); - if (k?.status === "failed") return w("failed"); - if (k?.status === "rejected") return w("rejected"); - let O = !1; - for (const b of P.changes) + if (A?.status === "failed") return v("failed"); + if (A?.status === "rejected") return v("rejected"); + let x = !1; + for (const y of k.changes) try { - O = (await b.result).meta.undoable || O; - } catch (v) { - throw Be("form", v); - } - return w(O ? "applied" : "unchanged"); - }, g = async (S, P) => { - const k = s(S); - let A; + x = (await y.result).meta.undoable || x; + } catch (M) { + throw Fe("form", M); + } + return v(x ? "applied" : "unchanged"); + }, h = async (P, k) => { + const A = s(P); + let w; try { - A = await o(() => p(k), P); - } catch (y) { - throw k.hold?.cancel(), Be("form", y); - } - return e.cancellable(P?.signal, h(k, A)); - }, m = (S) => { - const P = s(S); - o(() => p(P)).catch((k) => { - P.hold?.cancel(); - const A = Be("form", k).message; + w = await o(() => p(A), k); + } catch (b) { + throw A.hold?.cancel(), Fe("form", b); + } + return e.cancellable(k?.signal, g(A, w)); + }, m = (P) => { + const k = s(P); + o(() => p(k)).catch((A) => { + k.hold?.cancel(); + const w = Fe("form", A).message; n.surface( - { uiEffects: [], diagnostics: [], error: Po(A) }, - S.origin + { uiEffects: [], diagnostics: [], error: So(w) }, + P.origin ); }); }; - let M = !1; - const x = () => o(async () => { - M = !1; - const S = n.controller(); - S && await S.transaction((P) => f(P, "user")); + let O = !1; + const E = () => o(async () => { + O = !1; + const P = n.controller(); + P && await P.transaction((k) => f(k, "user")); }); - return e.changes.onSettled((S) => { - if (S.status !== "refused" || S.change.undoOf !== null || !Xee.has(S.change.label.key) || M) return; - const P = t.view().snapshot?.calculationOrder ?? []; - !n.controller() || !P.some((k) => k !== null) || (M = !0, x().catch(() => { + return e.changes.onSettled((P) => { + if (P.status !== "refused" || P.change.undoOf !== null || !fne.has(P.change.label.key) || O) return; + const k = t.view().snapshot?.calculationOrder ?? []; + !n.controller() || !k.some((A) => A !== null) || (O = !0, E().catch(() => { })); }), e.onSettle(async () => { await o.idle(), await e.changes.whenSettled(); - }), { fill: g, fillSoon: m }; + }), { fill: h, fillSoon: m }; } -function iS(e) { - return new Z( +function PS(e) { + return new te( "operation-failed", "form", e.error?.message ?? e.diagnostics[0]?.message ?? "the write failed" ); } -const aS = (e, t) => e.kind === "radio" ? e.widgets.find((n) => n.objectNumber === t) ?? null : null; -function tte(e, { fields: t, rights: n, events: o, cursor: r }, s) { - const i = Ke( +const MS = (e, t) => e.kind === "radio" ? e.widgets.find((n) => n.objectNumber === t) ?? null : null; +function mne(e, { fields: t, rights: n, events: o, cursor: r }, s) { + const a = qe( () => [t.view(), e.document()?.pages, n.key(), e.settings().get().fillable], - (p, h) => { - const g = JR((p.snapshot?.widgets ?? []).filter(yw), h ?? []), m = /* @__PURE__ */ new Map(), M = [], x = /* @__PURE__ */ new Set(); - return g.forEach((S, P) => { - const k = fn(S.ref); - m.set(k, P); - const A = Zt(p, k); - if (!(!A || !n.takesInput(A))) { - if (A.kind === "radio") { - const y = `${vn(A)}@${S.page.objectNumber}`; - if (x.has(y)) return; - x.add(y); + (p, g) => { + const h = q8((p.snapshot?.widgets ?? []).filter(Tw), g ?? []), m = /* @__PURE__ */ new Map(), O = [], E = /* @__PURE__ */ new Set(); + return h.forEach((P, k) => { + const A = mn(P.ref); + m.set(A, k); + const w = en(p, A); + if (!(!w || !n.takesInput(w))) { + if (w.kind === "radio") { + const b = `${Lt(w)}@${P.page.objectNumber}`; + if (E.has(b)) return; + E.add(b); } - M.push({ row: S, field: A, at: P }); + O.push({ row: P, field: w, at: k }); } - }), { rows: g, position: m, stops: M }; + }), { rows: h, position: m, stops: O }; } - ), a = (p, h) => i().rows.filter( - (g) => (h === void 0 || g.page.objectNumber === h) && Zt(t.view(), fn(g.ref)) === p - ), c = (p, h) => { + ), i = (p, g) => a().rows.filter( + (h) => (g === void 0 || h.page.objectNumber === g) && en(t.view(), mn(h.ref)) === p + ), c = (p, g) => { if (p.field.kind !== "radio") return p.row; - const g = a(p.field, p.row.page.objectNumber); - return g.find( - (M) => aS(p.field, fn(M.ref))?.checked - ) ?? (h ? g.at(-1) ?? p.row : p.row); - }, l = (p, h = {}) => { - const g = t.view(), m = kt(g, p); + const h = i(p.field, p.row.page.objectNumber); + return h.find( + (O) => MS(p.field, mn(O.ref))?.checked + ) ?? (g ? h.at(-1) ?? p.row : p.row); + }, l = (p, g = {}) => { + const h = t.view(), m = pt(h, p); if (!m || !n.takesInput(m)) return !1; - let M; - if (h.widget) { - const x = fn(h.widget); - if (Zt(g, x) !== m) return !1; - M = i().rows.find((S) => fn(S.ref) === x); + let O; + if (g.widget) { + const E = mn(g.widget); + if (en(h, E) !== m) return !1; + O = a().rows.find((P) => mn(P.ref) === E); } else { - const x = i().stops.find((S) => S.field === m); - M = x && c(x, !1); + const E = a().stops.find((P) => P.field === m); + O = E && c(E, !1); } - return M ? r.goTo(M, h.select ?? !1) : !1; + return O ? r.goTo(O, g.select ?? !1) : !1; }, u = (p = {}) => { - const h = t.view(), { position: g, stops: m } = i(), M = p.backward ?? !1, x = p.from ? kt(h, p.from) : null, S = p.from ? x?.widgets.map(({ objectNumber: b }) => b).find((b) => g.has(b)) ?? null : r.focused()?.widget ?? r.last(), P = S === null ? null : g.get(S) ?? null, k = S === null ? null : Zt(h, S), A = S === null ? null : hn(h, S)?.page.objectNumber, y = m.filter( - (b) => (!p.empty || cI(b.field)) && // A radio group is one stop: from one of its buttons, the group is where the cursor is. - !(b.field === k && k.kind === "radio" && b.row.page.objectNumber === A) - ), w = y.filter( - (b) => P === null ? !0 : M ? b.at < P : b.at > P - ), O = (M ? w.at(-1) : w[0]) ?? (p.wrap ? M ? y.at(-1) : y[0] : void 0); - return O ? r.goTo(c(O, M), !0) : !1; - }, f = (p, h) => { - const g = fn(p), m = Zt(t.view(), g); + const g = t.view(), { position: h, stops: m } = a(), O = p.backward ?? !1, E = p.from ? pt(g, p.from) : null, P = p.from ? E?.widgets.map(({ objectNumber: y }) => y).find((y) => h.has(y)) ?? null : r.focused()?.widget ?? r.last(), k = P === null ? null : h.get(P) ?? null, A = P === null ? null : en(g, P), w = P === null ? null : rn(g, P)?.page.objectNumber, b = m.filter( + (y) => (!p.empty || z3(y.field)) && // A radio group is one stop: from one of its buttons, the group is where the cursor is. + !(y.field === A && A.kind === "radio" && y.row.page.objectNumber === w) + ), v = b.filter( + (y) => k === null ? !0 : O ? y.at < k : y.at > k + ), x = (O ? v.at(-1) : v[0]) ?? (p.wrap ? O ? b.at(-1) : b[0] : void 0); + return x ? r.goTo(c(x, O), !0) : !1; + }, f = (p, g) => { + const h = mn(p), m = en(t.view(), h); if (!m || m.kind !== "radio" || !n.takesInput(m)) return !1; - const M = a(m), x = M.findIndex((k) => fn(k.ref) === g); - if (x < 0 || M.length < 2) return !1; - const S = M[(x + (h ? M.length - 1 : 1)) % M.length]; - if (!r.goTo(S, !1)) return !1; - const P = aS(m, fn(S.ref)); - if (P) { - const k = () => void s.activateWidget(S.ref).catch(() => { + const O = i(m), E = O.findIndex((A) => mn(A.ref) === h); + if (E < 0 || O.length < 2) return !1; + const P = O[(E + (g ? O.length - 1 : 1)) % O.length]; + if (!r.goTo(P, !1)) return !1; + const k = MS(m, mn(P.ref)); + if (k) { + const A = () => void s.activateWidget(P.ref).catch(() => { }); - s.setValue(m.ref, { value: P.exportValue }).then(k, k); + s.setValue(m.ref, { value: k.exportValue }).then(A, A); } return !0; - }, d = Ke( + }, d = qe( () => [t.view(), r.focused()], - (p, h) => h ? hs(p, h.field) : null + (p, g) => g ? hs(p, g.field) : null ); return { api: { @@ -44771,84 +45904,94 @@ function tte(e, { fields: t, rights: n, events: o, cursor: r }, s) { } }; } -function nte(e, t) { +function bne(e, t) { const { enqueue: n, siblings: o } = t; return { - api: { export: async (i = {}, a) => { + api: { export: async (a = {}, i) => { e.assertAllowed("doc.forms.read", "form.export"), e.assertAllowed("doc.download", "form.export"); - const c = i.pages?.map((l) => e.pageOf(l).ref); + const c = a.pages?.map((l) => e.pageOf(l).ref); return n( () => e.cancellable( - a?.signal, + i?.signal, e.doc.forms.export({ - ...i.fields ? { fields: i.fields } : {}, + ...a.fields ? { fields: a.fields } : {}, ...c ? { pages: c } : {} }) ), - a + i ); - }, import: async (i, a = {}) => { - const { signal: c, ...l } = a; - return e.assertAllowed("doc.forms.modify", "form.import"), (l.attribution ?? "restore") === "restore" && e.assertAllowed("doc.forms.import", "form.import"), n(async () => { - const u = await e.cancellable(c, e.doc.forms.import(i, l)), f = o.annotation(); - return f && await f.whenSynced(), { fields: u.fields, refMap: u.refMap, dropped: u.dropped }; - }, a); + }, import: async (a, i = {}) => { + const { signal: c, history: l, ...u } = i; + return e.assertAllowed("doc.forms.modify", "form.import"), (u.attribution ?? "restore") === "restore" && e.assertAllowed("doc.forms.import", "form.import"), n(async () => { + const f = e.changes.stage({ + label: { key: "form.import" }, + opId: u.opId, + history: l, + send: (h, { opId: m }) => e.cancellable(c, h.forms.import(a, { ...u, opId: m })).then((O) => ({ + items: [{ type: "forms.import", ...O }], + meta: O.meta + })) + }), { items: d } = await f.result, p = d[0], g = o.annotation(); + return g && await g.whenSynced(), { fields: p.fields, refMap: p.refMap, dropped: p.dropped }; + }, i); } } }; } -const cS = (e) => e.kind === "objectNumber" ? e.objectNumber : -1; -function ote(e, { +const ES = (e) => e.kind === "objectNumber" ? e.objectNumber : -1; +function yne(e, { fields: t, design: n, pictures: o, looks: r -}) { - const s = Ke( +}, s) { + const a = qe( () => [n.lending(), t.get().snapshot, t.view().snapshot], - (a, c, l) => a && c && l ? { confirmed: c.widgets, shown: l.widgets } : null - ), i = (a) => { - const c = t.view(), l = [], u = /* @__PURE__ */ new Map(); - for (const f of a) { - const d = Zt(c, cS(f.ref)); - if (!d) { - l.push({ type: "forms.deleteWidget", widget: f.ref }); + (c, l, u) => c && l && u ? { confirmed: l.widgets, shown: u.widgets } : null + ), i = (c) => { + const l = t.view(), u = [], f = /* @__PURE__ */ new Map(); + for (const d of c) { + const p = en(l, ES(d.ref)); + if (!p) { + u.push({ type: "forms.deleteWidget", widget: d.ref }); continue; } - const p = u.get(vn(d)) ?? { field: d, widgets: [] }; - p.widgets.push(f), u.set(vn(d), p); + const g = f.get(Lt(p)) ?? { field: p, widgets: [] }; + g.widgets.push(d), f.set(Lt(p), g); } - for (const { field: f, widgets: d } of u.values()) { - const p = new Set(d.map((h) => cS(h.ref))); - f.widgets.every((h) => p.has(h.objectNumber)) ? l.push({ type: "forms.delete", field: f.ref }) : l.push( - ...d.map((h) => ({ type: "forms.deleteWidget", widget: h.ref })) + for (const { field: d, widgets: p } of f.values()) { + const g = new Set(p.map((h) => ES(h.ref))); + d.widgets.every((h) => g.has(h.objectNumber)) ? u.push({ type: "forms.delete", field: d.ref }) : u.push( + ...p.map((h) => ({ type: "forms.deleteWidget", widget: h.ref })) ); } - return l; + return u; }; return { owner: "form", - records: s, - opsOf(a, c, l) { - const u = [], f = []; - for (const d of a) - if (d.type === "patch") { - const p = Ct(c.byId[d.id]); - if (!p) continue; - const { subtype: h, ...g } = d.patch; - u.push({ type: "forms.updateWidget", widget: p, patch: g }); - } else if (d.type === "delete") { - const p = l.byId[d.id]; - p && f.push(p.annotation); + records: a, + opsOf(c, l, u) { + const f = [], d = []; + for (const p of c) + if (p.type === "patch") { + const g = Nt(l.byId[p.id]); + if (!g) continue; + const { subtype: h, ...m } = p.patch; + f.push({ type: "forms.updateWidget", widget: g, patch: m }); + } else if (p.type === "delete") { + const g = u.byId[p.id]; + g && d.push(g.annotation); } - return [...u, ...i(f)]; + return [...f, ...i(d)]; }, - undoOf: (a) => Qi(t.view(), a), - reorderOps: (a, c, l) => [ - { type: "forms.reorderWidgets", page: a, widgets: [...c], position: l } + undoOf: (c) => Vs(t.view(), c), + reorderOps: (c, l, u) => [ + { type: "forms.reorderWidgets", page: c, widgets: [...l], position: u } ], + // By hand, a copy is the question, not what someone filled in. + copyOps: (c, l) => s(c, l, !1), getAuthority: () => { - const a = e.allows("doc.forms.modify"); - return { update: a, delete: a }; + const c = e.allows("doc.forms.modify"); + return { update: c, delete: c, copy: c }; }, // The pictures the form layer draws too, from one store: switching modes // fetches nothing, and a page's pictures change only with its widgets. @@ -44858,54 +46001,54 @@ function ote(e, { // A widget draws live, by the painter, while a gesture reshapes it, while its look isn't // confirmed (a restyle, a resize, a field just placed), and until its new picture is there. isPending: r.isPending, - painter: (a) => a.subtype === "widget" ? r.painterOf(a) : null + painter: (c) => c.subtype === "widget" ? r.painterOf(c) : null }; } -const bI = (e, t, n) => { +const e_ = (e, t, n) => { if (t === null) return { selected: [...e], listed: () => !1 }; - const o = t.filter((a) => a.kind === "name").map((a) => a.name), r = new Set( - t.filter((a) => a.kind === "objectNumber").map((a) => a.objectNumber) - ), s = (a) => a.ref.kind === "objectNumber" && r.has(a.ref.objectNumber) || o.some((c) => a.name === c || a.name.startsWith(`${c}.`)); - return { selected: n ? e.filter((a) => !s(a)) : e.filter(s), listed: s }; -}, rte = (e, t, n) => { - const { selected: o, listed: r } = bI(e, t.fields, t.exclude), s = t.fields !== null && !t.exclude, i = []; - for (const a of o) { - const c = s && r(a); - if (a.kind === "pushbutton" || a.kind === "signature") { + const o = t.filter((i) => i.kind === "name").map((i) => i.name), r = new Set( + t.filter((i) => i.kind === "objectNumber").map((i) => i.objectNumber) + ), s = (i) => i.ref.kind === "objectNumber" && r.has(i.ref.objectNumber) || o.some((c) => i.name === c || i.name.startsWith(`${c}.`)); + return { selected: n ? e.filter((i) => !s(i)) : e.filter(s), listed: s }; +}, wne = (e, t, n) => { + const { selected: o, listed: r } = e_(e, t.fields, t.exclude), s = t.fields !== null && !t.exclude, a = []; + for (const i of o) { + const c = s && r(i); + if (i.kind === "pushbutton" || i.kind === "signature") { c && n({ code: "submit-entry-unsupported", - message: `submit: '${a.name}' (${a.kind}) has no representable submission value in v1 — skipped` + message: `submit: '${i.name}' (${i.kind}) has no representable submission value in v1 — skipped` }); continue; } - if (a.noExport) { + if (i.noExport) { c && n({ code: "submit-entry-unsupported", - message: `submit: '${a.name}' carries the NoExport flag — the veto is unconditional (ISO 12.7.6.2), skipped` + message: `submit: '${i.name}' carries the NoExport flag — the veto is unconditional (ISO 12.7.6.2), skipped` }); continue; } - const l = a.valueEntry; - l.kind === "scalar" ? i.push({ name: a.name, value: l.value }) : l.kind === "array" ? i.push({ name: a.name, value: l.values }) : l.kind === "none" ? t.includeNoValueFields && i.push({ name: a.name, value: null }) : n({ + const l = i.valueEntry; + l.kind === "scalar" ? a.push({ name: i.name, value: l.value }) : l.kind === "array" ? a.push({ name: i.name, value: l.values }) : l.kind === "none" ? t.includeNoValueFields && a.push({ name: i.name, value: null }) : n({ code: "submit-entry-unsupported", - message: `submit: '${a.name}' has an unsupported /V shape — skipped (would otherwise be silent data loss)` + message: `submit: '${i.name}' has an unsupported /V shape — skipped (would otherwise be silent data loss)` }); } - return i; -}, ste = { + return a; +}, vne = { status: "unchanged", scripted: !1, uiEffects: [], diagnostics: [] -}, ite = (e) => e.kind === "objectNumber" ? { kind: "objectNumber", objectNumber: e.objectNumber } : { kind: "name", name: e.name }; -function ate(e, t, { fill: n }) { - const { fields: o, rights: r } = t, s = (c) => c.kind !== "pushbutton" && c.kind !== "signature" && r.mayFill(c), i = async (c, l, u, f) => { +}, kne = (e) => e.kind === "objectNumber" ? { kind: "objectNumber", objectNumber: e.objectNumber } : { kind: "name", name: e.name }; +function xne(e, t, { fill: n }) { + const { fields: o, rights: r } = t, s = (c) => c.kind !== "pushbutton" && c.kind !== "signature" && r.mayFill(c), a = async (c, l, u, f) => { o.view().snapshot || await o.settled(); - const { selected: d } = bI( + const { selected: d } = e_( o.view().snapshot?.fields ?? [], c, l - ), p = d.filter(s).map((h) => h.ref); + ), p = d.filter(s).map((g) => g.ref); return p.length === 0 ? null : n( { label: { key: "form.reset", count: p.length }, @@ -44920,67 +46063,67 @@ function ate(e, t, { fill: n }) { api: { reset: async (c, l) => { for (const f of c ?? []) { - const d = kt(o.view(), f); + const d = pt(o.view(), f); d && r.assertMayFill(d, "form.reset"); } if (c && c.length === 0) return { fields: [] }; - const u = await i(c ? c.map(ite) : null, !1, "user", l); - return { fields: u ? _J(u.before, u.after) : [] }; + const u = await a(c ? c.map(kne) : null, !1, "user", l); + return { fields: u ? Uee(u.before, u.after) : [] }; }, resetFormAction: async (c, l, u = "user") => { - const f = await i(c, l, u); - if (!f) return ste; + const f = await a(c, l, u); + if (!f) return vne; const { result: d } = f; return d.status === "unchanged" ? { ...d, status: "applied" } : d; } } }; } -const cte = (e) => e.flatMap((t) => t.kind === "reset" ? t.refs : [t.ref]); -function lte(e, { fields: t, rights: n, enqueue: o }, { fillSoon: r }) { +const Ane = (e) => e.flatMap((t) => t.kind === "reset" ? t.refs : [t.ref]); +function Sne(e, { fields: t, rights: n, enqueue: o }, { fillSoon: r }) { return { api: { - resolveSubmitDataset: async (i, a, c) => (await o.idle(), await e.changes.whenSettled(), t.view().snapshot || await t.settled(), { - url: i.url, - method: i.method, - format: i.format, - ...i.charSet === void 0 ? {} : { charSet: i.charSet }, - entries: rte(t.view().snapshot?.fields ?? [], i, c), - origin: a.origin, - event: a.event + resolveSubmitDataset: async (a, i, c) => (await o.idle(), await e.changes.whenSettled(), t.view().snapshot || await t.settled(), { + url: a.url, + method: a.method, + format: a.format, + ...a.charSet === void 0 ? {} : { charSet: a.charSet }, + entries: wne(t.view().snapshot?.fields ?? [], a, c), + origin: i.origin, + event: i.event }), - commitScriptFormEffects: async (i) => { + commitScriptFormEffects: async (a) => { try { - for (const c of cte(i)) { - const l = kt(t.view(), c); + for (const c of Ane(a)) { + const l = pt(t.view(), c); l && n.assertMayFill(l, "form.fill"); } - const a = i.some( + const i = a.some( (c) => c.kind === "setValue" || c.kind === "reset" ); return r({ - ops: zc(i), - scripts: a ? { kind: "recalculate" } : null, + ops: Bc(a), + scripts: i ? { kind: "recalculate" } : null, origin: "user" }), { status: "applied" }; - } catch (a) { - return { status: "failed", error: ba(a).message }; + } catch (i) { + return { status: "failed", error: ap(i).message }; } } } }; } -function ute(e, { keyOf: t }, n) { +function One(e, { keyOf: t }, n) { const o = /* @__PURE__ */ new Map(), r = async (s) => { - const i = t(s), a = o.get(i); - return a ? (o.delete(i), n(a.field, a.text)) : null; + const a = t(s), i = o.get(a); + return i ? (o.delete(a), n(i.field, i.text)) : null; }; return e.onSettle(async () => { await Promise.all([...o.values()].map((s) => r(s.field))); }), { api: { - draftText: (s, i) => { - o.set(t(s), { field: s, text: i }); + draftText: (s, a) => { + o.set(t(s), { field: s, text: a }); }, commitDraftText: r, discardDraftText: (s) => { @@ -44989,130 +46132,130 @@ function ute(e, { keyOf: t }, n) { } }; } -function zg(e) { +function Vg(e) { if (e?.signal?.aborted) - throw new Z("operation-cancelled", "form", "operation cancelled", { + throw new te("operation-cancelled", "form", "operation cancelled", { cause: e.signal.reason }); } -const lS = (e, t) => ({ +const CS = (e, t) => ({ type: "forms.setValue", field: e, value: t }); -function dte(e, t, { fill: n }) { - const { validationRejected: o } = t.events, { fields: r, rights: s } = t, i = async (u, f, d, p) => { - const h = kt(r.view(), u); - h && s.assertMayFill(h, d); - const { result: g } = await n( +function Pne(e, t, { fill: n }) { + const { validationRejected: o } = t.events, { fields: r, rights: s } = t, a = async (u, f, d, p) => { + const g = pt(r.view(), u); + g && s.assertMayFill(g, d); + const { result: h } = await n( { - ops: [lS(u, f)], + ops: [CS(u, f)], scripts: { kind: "commit", field: u, value: f }, origin: "user" }, p ); - if (g.status === "failed") throw iS(g); - const m = kt(r.get(), u); - if (!m) throw new Z("not-found", "form", "no form field has this ref"); - return g.status === "rejected" ? (o.emit({ field: m, issues: g.diagnostics }), { field: m, status: "rejected" }) : { field: m, status: g.status }; - }, a = async (u, f) => { + if (h.status === "failed") throw PS(h); + const m = pt(r.get(), u); + if (!m) throw new te("not-found", "form", "no form field has this ref"); + return h.status === "rejected" ? (o.emit({ field: m, issues: h.diagnostics }), { field: m, status: "rejected" }) : { field: m, status: h.status }; + }, i = async (u, f) => { r.view().snapshot || await r.settled(); - const d = r.view(), p = [], h = []; - for (const g of u) + const d = r.view(), p = [], g = []; + for (const h of u) try { - const m = kt(d, g.ref); - if (!m) throw new Z("not-found", "form", "no form field has this ref"); - s.assertMayFill(m, "form.setValues"), AP(m, g.value), p.push({ ref: m.ref, value: g.value }); + const m = pt(d, h.ref); + if (!m) throw new te("not-found", "form", "no form field has this ref"); + s.assertMayFill(m, "form.setValues"), KO(m, h.value), p.push({ ref: m.ref, value: h.value }); } catch (m) { - h.push({ ref: g.ref, error: bn(Be("form", m)) }); + g.push({ ref: h.ref, error: xn(Fe("form", m)) }); } - if (p.length === 0) return { applied: [], failed: h }; - zg(f); + if (p.length === 0) return { applied: [], failed: g }; + Vg(f); try { - const { result: g } = await n( + const { result: h } = await n( { - ops: p.map((m) => lS(m.ref, m.value)), + ops: p.map((m) => CS(m.ref, m.value)), scripts: { kind: "recalculate" }, origin: "user" }, f ); - if (g.status === "failed") throw iS(g); - return { applied: p.map((m) => m.ref), failed: h }; - } catch (g) { - const m = bn(Be("form", g)); + if (h.status === "failed") throw PS(h); + return { applied: p.map((m) => m.ref), failed: g }; + } catch (h) { + const m = xn(Fe("form", h)); return { applied: [], - failed: [...h, ...p.map(({ ref: M }) => ({ ref: M, error: m }))] + failed: [...g, ...p.map(({ ref: O }) => ({ ref: O, error: m }))] }; } }; return { /** A text field's write, for the text being typed (write/typing.ts). */ - setText: (u, f) => i(u, { value: f }, "form.setValue"), + setText: (u, f) => a(u, { value: f }, "form.setValue"), api: { - setValue: (u, f, d) => i(u, f, "form.setValue", d), + setValue: (u, f, d) => a(u, f, "form.setValue", d), setValues: async (u, f) => { - zg(f); - const { applied: d, failed: p } = await a(u, f); + Vg(f); + const { applied: d, failed: p } = await i(u, f); return { applied: d, skipped: [], failed: p }; }, importValues: async (u, f) => { - zg(f), r.view().snapshot || await r.settled(); - const d = r.view(), p = [], h = [], g = /* @__PURE__ */ new Map(); - for (const [x, S] of Object.entries(u)) { - const P = kt(d, { kind: "fqn", name: x }); - if (!P) { - p.push({ ref: x, reason: "the form has no field with this name" }); + Vg(f), r.view().snapshot || await r.settled(); + const d = r.view(), p = [], g = [], h = /* @__PURE__ */ new Map(); + for (const [E, P] of Object.entries(u)) { + const k = pt(d, { kind: "fqn", name: E }); + if (!k) { + p.push({ ref: E, reason: "the form has no field with this name" }); continue; } - if (!s.mayFill(P)) { - p.push({ ref: x, reason: "you may not fill in this field" }); + if (!s.mayFill(k)) { + p.push({ ref: E, reason: "you may not fill in this field" }); continue; } - const k = BJ(P, S); - if (!k) { - p.push({ ref: x, reason: `a ${P.kind} field can't take this value` }); + const A = Zee(k, P); + if (!A) { + p.push({ ref: E, reason: `a ${k.kind} field can't take this value` }); continue; } - h.push({ ref: P.ref, value: k }), g.set(JSON.stringify(P.ref), x); + g.push({ ref: k.ref, value: A }), h.set(JSON.stringify(k.ref), E); } - const { applied: m, failed: M } = await a(h, f); + const { applied: m, failed: O } = await i(g, f); return { applied: m, skipped: p, - failed: M.map(({ ref: x, error: S }) => ({ - ref: g.get(JSON.stringify(x)) ?? "", - error: S + failed: O.map(({ ref: E, error: P }) => ({ + ref: h.get(JSON.stringify(E)) ?? "", + error: P })) }; } } }; } -function fte(e) { - const t = Dee(e), { events: n, rights: o } = t, r = e.settings(), s = zJ(e, t), i = QJ(e, t), a = qJ(t), c = ete(e, t), l = dte(e, t, c), u = ute(e, t, l.setText), f = ate(e, t, c), d = Gee(e, t), p = nte(e, t), h = $ee(e, t, c), g = lte(e, t, c), m = tte(e, t, { +function Mne(e) { + const t = Xte(e), { events: n, rights: o } = t, r = e.settings(), s = Jee(e, t), a = cte(e, t), i = ote(t), c = gne(e, t), l = Pne(e, t, c), u = One(e, t, l.setText), f = xne(e, t, c), d = cne(e, t), p = bne(e, t), g = Zte(e, t, c), h = Sne(e, t, c), m = mne(e, t, { setValue: l.api.setValue, - activateWidget: h.api.activateWidget - }), M = ys("form", [ + activateWidget: g.api.activateWidget + }), O = ys("form", [ r.api, s.api, - i.api, a.api, + i.api, l.api, u.api, f.api, d.api, p.api, - h.api, g.api, + h.api, m.api, { canRead: () => e.allows("doc.forms.read"), - canFill: (x) => { - const S = kt(t.fields.view(), x); - return S !== null && o.mayFill(S); + canFill: (E) => { + const P = pt(t.fields.view(), E); + return P !== null && o.mayFill(P); }, canDesign: () => e.allows("doc.forms.modify"), canRestoreAttribution: () => e.allows("doc.forms.import"), @@ -45126,20 +46269,20 @@ function fte(e) { } ]); return { - api: M, - connect: () => xJ(e, M, ote(e, t)) + api: O, + connect: () => Ree(e, O, yne(e, t, d.copyOps)) }; } -const Mn = Ao, pte = (e) => ({ +const In = xo, Ene = (e) => ({ id: "form", - token: Mn, + token: In, scope: "document", - requires: [Ot], - optional: [Qe, yn, ro, Er], - state: FJ, - settings: { defaults: bJ, registered: e }, - create: fte -}), hte = Object.freeze([]), gte = ln(Ao, { + requires: [_t], + optional: [Qe, An, ro, Ir], + state: Yee, + settings: { defaults: Cee, registered: e }, + create: Mne +}), Cne = Object.freeze([]), Ine = pn(xo, { read: (e) => ({ fields: e.list(), status: e.getStatus(), @@ -45148,13 +46291,13 @@ const Mn = Ao, pte = (e) => ({ focusedField: e.getFocusedField() }), empty: { - fields: hte, + fields: Cne, status: "idle", formKind: "none", selectedField: null, focusedField: null } -}), qo = At("signature", { +}), qo = St("signature", { hint: "add signaturePlugin() from '@embedpdf/plugin-signature' to your plugins list", // Without a document, an adapter's stand-in rejects these with `not-ready`, as the // capability would; the type asks for every member that returns a promise. @@ -45172,37 +46315,37 @@ const Mn = Ao, pte = (e) => ({ analyzeChanges: !0, readRevision: !0 } -}), mte = { +}), _ne = { signingKey: null, mode: null, trust: null, allowCertify: !1 -}, Ow = "signatures", Mpe = "signature", bte = "initials", uS = (e) => e.name === bte ? "initials" : "signature"; -function yte(e, t) { - return e.filter((n) => n.kind === Ow).map((n) => { +}, Bw = "signatures", Khe = "signature", Nne = "initials", IS = (e) => e.name === Nne ? "initials" : "signature"; +function Tne(e, t) { + return e.filter((n) => n.kind === Bw).map((n) => { const o = t.filter((r) => r.libraryId === n.id); return { libraryId: n.id, name: n.name, library: n, - signatures: o.filter((r) => uS(r) === "signature"), - initials: o.find((r) => uS(r) === "initials") ?? null + signatures: o.filter((r) => IS(r) === "signature"), + initials: o.find((r) => IS(r) === "initials") ?? null }; }); } -function wte({ +function Rne({ ariaLabel: e, disabled: t, multi: n, options: o, selected: r, onSelect: s, - onFocus: i, - onBlur: a, + onFocus: a, + onBlur: i, style: c }) { - const [l] = ke(() => p$(r)), u = Uo(l.subscribe, l.get, l.get), f = me(null); - return Se(() => f.current ? jD(f.current) : void 0, []), Se(() => l.setConfirmed(r), [l, r]), /* @__PURE__ */ C( + const [l] = ke(() => kB(r)), u = Wo(l.subscribe, l.get, l.get), f = ye(null); + return Se(() => f.current ? K$(f.current) : void 0, []), Se(() => l.setConfirmed(r), [l, r]), /* @__PURE__ */ I( "select", { ref: f, @@ -45211,37 +46354,37 @@ function wte({ size: Math.max(2, o.length), disabled: t, value: n ? u : u[0] ?? "", - onFocus: i, - onBlur: a, + onFocus: a, + onBlur: i, onChange: (d) => l.choose( Array.from(d.currentTarget.selectedOptions).map((p) => p.value), s ), style: c, - children: o.map((d, p) => /* @__PURE__ */ C("option", { value: d.value, children: d.label }, p)) + children: o.map((d, p) => /* @__PURE__ */ I("option", { value: d.value, children: d.label }, p)) } ); } -function Mw({ visible: e, color: t }) { - return e ? /* @__PURE__ */ C("span", { "aria-hidden": "true", "data-embedpdf-form-focus-ring": "", style: b$(t) }) : null; +function zw({ visible: e, color: t }) { + return e ? /* @__PURE__ */ I("span", { "aria-hidden": "true", "data-embedpdf-form-focus-ring": "", style: OB(t) }) : null; } -function vte() { - const e = hi((o) => o.accent), t = dS((o) => o.focus), n = dS((o) => o.fields); - return He(() => c$({ focus: t, fields: n }, e), [e, t, n]); +function Lne() { + const e = ma((o) => o.accent), t = _S((o) => o.focus), n = _S((o) => o.fields); + return He(() => mB({ focus: t, fields: n }, e), [e, t, n]); } -function kte(e) { - const t = me(null), n = me(e); +function jne(e) { + const t = ye(null), n = ye(e); return n.current = e, Se( - () => t.current ? Qy(t.current, () => n.current?.()) : void 0, + () => t.current ? l0(t.current, () => n.current?.()) : void 0, [] ), t; } -function xte(e, t) { - const n = Ge(Mn), o = me(t); +function Fne(e, t) { + const n = Ge(In), o = ye(t); return o.current = t, He(() => { const r = (s) => { - const i = o.current; - i && n.notifyWidgetEvent(e, i, s); + const a = o.current; + a && n.notifyWidgetEvent(e, a, s); }; return { onPointerEnter: () => r("cursorEnter"), @@ -45257,62 +46400,62 @@ function xte(e, t) { }; }, [n, e]); } -function su(e) { - const t = Ge(Mn), n = me(e); - return n.current = e, Fo(() => { +function iu(e) { + const t = Ge(In), n = ye(e); + return n.current = e, jo(() => { const o = n.current; o && t.activateWidget(o); }, [t]); } -function Qa({ +function Yi({ item: e, page: t, colors: n, edge: o = !0, focusable: r = !0, onClick: s, - children: i, - ...a + children: a, + ...i }) { - const c = Ge(Mn), { onPress: l, ...u } = xte(e.fieldRef, e.annotationRef), f = kte(l), d = wo(e.box, t.transform), p = e.annotationRef, h = r && !e.disabled, g = e.control === "toggle" && e.kind === "radio"; + const c = Ge(In), { onPress: l, ...u } = Fne(e.fieldRef, e.annotationRef), f = jne(l), d = Uo(e.box, t.transform), p = e.annotationRef, g = r && !e.disabled, h = e.control === "toggle" && e.kind === "radio"; return Se( - () => f.current && p && h ? X$(f.current, c, p, { radio: g }) : void 0, - [f, c, p, h, g] - ), /* @__PURE__ */ C( + () => f.current && p && g ? s9(f.current, c, p, { radio: h }) : void 0, + [f, c, p, g, h] + ), /* @__PURE__ */ I( "div", { ref: f, ...u, - ...a, + ...i, onFocus: (m) => { - u.onFocus?.(m), a.onFocus?.(m); + u.onFocus?.(m), i.onFocus?.(m); }, onBlur: (m) => { - u.onBlur?.(m), a.onBlur?.(m); + u.onBlur?.(m), i.onBlur?.(m); }, onClick: s, - style: { ...h$(e, d, n, { edge: o }), ...a.style }, - children: i + style: { ...xB(e, d, n, { edge: o }), ...i.style }, + children: a } ); } -function Ate({ item: e, page: t, colors: n }) { - const o = Ge(Mn), r = su(e.annotationRef), s = He( - () => f$(o, e.fieldRef, e.value), +function Dne({ item: e, page: t, colors: n }) { + const o = Ge(In), r = iu(e.annotationRef), s = He( + () => vB(o, e.fieldRef, e.value), // eslint-disable-next-line react-hooks/exhaustive-deps [o, e.key] - ), { focused: i, draft: a } = Uo( + ), { focused: a, draft: i } = Wo( s.subscribe, s.getState, s.getState ); Se(() => s.setValue(e.value), [s, e.value]); - const c = wo(e.box, t.transform); - ht(Er, (f) => f.getPaintFontsEpoch(), 0); - const l = e.annotationRef ? o.getTextEditorLayout(e.annotationRef, a) : null; - eh(l ? l.programs : yI); + const c = Uo(e.box, t.transform); + mt(Ir, (f) => f.getPaintFontsEpoch(), 0); + const l = e.annotationRef ? o.getTextEditorLayout(e.annotationRef, i) : null; + sh(l ? l.programs : t_); const u = { - value: a, + value: i, maxLength: e.maxLength ?? void 0, "aria-label": e.label, disabled: e.disabled, @@ -45322,18 +46465,18 @@ function Ate({ item: e, page: t, colors: n }) { onKeyDown: (f) => { s.keyDown(f.key, e.multiline) && f.currentTarget.blur(); }, - style: g$(e, c, n, i, l) + style: AB(e, c, n, a, l) }; return ( // A click runs the widget's action too, as in Acrobat: the editor's // focus click bubbles here, a read-only field's lands here directly. - /* @__PURE__ */ C(Qa, { item: e, page: t, colors: n, onClick: r, children: e.multiline ? /* @__PURE__ */ C("textarea", { ...u }) : /* @__PURE__ */ C("input", { ...u, type: e.password ? "password" : "text" }) }) + /* @__PURE__ */ I(Yi, { item: e, page: t, colors: n, onClick: r, children: e.multiline ? /* @__PURE__ */ I("textarea", { ...u }) : /* @__PURE__ */ I("input", { ...u, type: e.password ? "password" : "text" }) }) ); } -function Ste({ item: e, page: t, colors: n }) { - const o = Ge(Mn), r = su(e.annotationRef), [s, i] = ke(!1), a = () => d$(o, e, r); - return /* @__PURE__ */ C( - Qa, +function $ne({ item: e, page: t, colors: n }) { + const o = Ge(In), r = iu(e.annotationRef), [s, a] = ke(!1), i = () => wB(o, e, r); + return /* @__PURE__ */ I( + Yi, { item: e, page: t, @@ -45342,81 +46485,81 @@ function Ste({ item: e, page: t, colors: n }) { "aria-checked": e.checked, "aria-label": e.label, tabIndex: e.disabled ? -1 : 0, - onClick: a, - onFocus: () => i(!0), - onBlur: () => i(!1), + onClick: i, + onFocus: () => a(!0), + onBlur: () => a(!1), onKeyDown: (c) => { - (c.key === " " || c.key === "Enter") && (c.preventDefault(), a()); + (c.key === " " || c.key === "Enter") && (c.preventDefault(), i()); }, style: { cursor: e.disabled ? "default" : "pointer", outline: "none" }, - children: /* @__PURE__ */ C(Mw, { visible: s, color: n.focus }) + children: /* @__PURE__ */ I(zw, { visible: s, color: n.focus }) } ); } -function Pte({ item: e, page: t, colors: n }) { - const o = Ge(Mn), r = su(e.annotationRef), [s, i] = ke(!1); - return /* @__PURE__ */ C(Qa, { item: e, page: t, colors: n, onClick: r, children: [ - /* @__PURE__ */ C( +function Bne({ item: e, page: t, colors: n }) { + const o = Ge(In), r = iu(e.annotationRef), [s, a] = ke(!1); + return /* @__PURE__ */ I(Yi, { item: e, page: t, colors: n, onClick: r, children: [ + /* @__PURE__ */ I( "select", { defaultValue: e.selected[0] ?? "", "aria-label": e.label, disabled: e.disabled, - onFocus: () => i(!0), - onBlur: () => i(!1), - onChange: (a) => void o.setValue(e.fieldRef, { value: a.currentTarget.value || null }), + onFocus: () => a(!0), + onBlur: () => a(!1), + onChange: (i) => void o.setValue(e.fieldRef, { value: i.currentTarget.value || null }), style: { - ...yp, + ...xp, opacity: 0, cursor: e.disabled ? "default" : "pointer", ...e.disabled ? { pointerEvents: "none" } : {} }, children: [ - e.selected.length === 0 && /* @__PURE__ */ C("option", { value: "" }), - e.options.map((a, c) => /* @__PURE__ */ C("option", { value: a.value, children: a.label }, c)) + e.selected.length === 0 && /* @__PURE__ */ I("option", { value: "" }), + e.options.map((i, c) => /* @__PURE__ */ I("option", { value: i.value, children: i.label }, c)) ] }, e.selected.join("\0") ), - /* @__PURE__ */ C(Mw, { visible: s, color: n.focus }) + /* @__PURE__ */ I(zw, { visible: s, color: n.focus }) ] }); } -function Ote({ item: e, page: t, colors: n }) { - const o = Ge(Mn), r = su(e.annotationRef), [s, i] = ke(!1), a = wo(e.box, t.transform), c = Xe( - Mn, +function zne({ item: e, page: t, colors: n }) { + const o = Ge(In), r = iu(e.annotationRef), [s, a] = ke(!1), i = Uo(e.box, t.transform), c = Ze( + In, (l) => e.annotationRef ? l.getWidgetFontCss(e.annotationRef) : null ); - return eh(c ? c.programs : yI), /* @__PURE__ */ C(Qa, { item: e, page: t, colors: n, edge: !1, onClick: r, children: [ - /* @__PURE__ */ C( - wte, + return sh(c ? c.programs : t_), /* @__PURE__ */ I(Yi, { item: e, page: t, colors: n, edge: !1, onClick: r, children: [ + /* @__PURE__ */ I( + Rne, { ariaLabel: e.label, disabled: e.disabled, multi: e.multi, options: e.options, selected: e.selected, - onFocus: () => i(!0), - onBlur: () => i(!1), + onFocus: () => a(!0), + onBlur: () => a(!1), onSelect: async (l) => { await o.setValue(e.fieldRef, { selectedValues: l }); }, - style: m$(e, a, n, c) + style: SB(e, i, n, c) } ), - /* @__PURE__ */ C(Mw, { visible: s, color: n.focus }) + /* @__PURE__ */ I(zw, { visible: s, color: n.focus }) ] }); } -function Mte({ item: e, page: t, colors: n }) { - const o = su(e.annotationRef); - return /* @__PURE__ */ C( - Qa, +function Wne({ item: e, page: t, colors: n }) { + const o = iu(e.annotationRef); + return /* @__PURE__ */ I( + Yi, { item: e, page: t, colors: n, edge: !1, style: { cursor: e.disabled ? "default" : "pointer" }, - children: /* @__PURE__ */ C( + children: /* @__PURE__ */ I( "button", { type: "button", @@ -45424,7 +46567,7 @@ function Mte({ item: e, page: t, colors: n }) { disabled: e.disabled, onClick: o, style: { - ...yp, + ...xp, padding: 0, border: 0, background: "transparent", @@ -45437,21 +46580,21 @@ function Mte({ item: e, page: t, colors: n }) { } ); } -function Ete({ item: e, page: t, colors: n }) { - const o = at(qo), r = e.fieldRef, s = ht( +function Une({ item: e, page: t, colors: n }) { + const o = ct(qo), r = e.fieldRef, s = mt( qo, - (a) => a.getSignature(r)?.signed ?? e.signed, + (i) => i.getSignature(r)?.signed ?? e.signed, e.signed - ), i = o !== null && (s || !e.disabled); - return /* @__PURE__ */ C( - Qa, + ), a = o !== null && (s || !e.disabled); + return /* @__PURE__ */ I( + Yi, { item: e, page: t, colors: n, - focusable: i, - style: { cursor: i ? "pointer" : "default" }, - children: i ? /* @__PURE__ */ C( + focusable: a, + style: { cursor: a ? "pointer" : "default" }, + children: a ? /* @__PURE__ */ I( "button", { type: "button", @@ -45459,7 +46602,7 @@ function Ete({ item: e, page: t, colors: n }) { "data-signed": s ? "" : void 0, onClick: () => s ? o.requestInspection(r) : o.setTarget(r), style: { - ...yp, + ...xp, padding: 0, border: 0, background: "transparent", @@ -45470,92 +46613,91 @@ function Ete({ item: e, page: t, colors: n }) { } ); } -function Cte() { - const e = so(), t = Ge(Mn), n = vte(), o = Xe( - Ot, +function Kne() { + const e = so(), t = Ge(In), n = Lne(), o = Ze( + _t, (s) => s.activeToolEnables("form-fill") ); - uE(e.ref, "formFields"), Se(() => { + WE(e.ref, "formFields"), Se(() => { t.ensureLoaded(e.ref); }, [t, e.ref]); - const r = Xe( - Mn, + const r = Ze( + In, (s) => s.listWidgets(e.ref), - Do + Fo ); - return /* @__PURE__ */ C("div", { style: { position: "absolute", inset: 0, pointerEvents: "none" }, children: [ - /* @__PURE__ */ C(Ite, { page: e }), + return /* @__PURE__ */ I("div", { style: { position: "absolute", inset: 0, pointerEvents: "none" }, children: [ + /* @__PURE__ */ I(qne, { page: e }), (o ? r : []).map((s) => { - const i = `${s.key}:${s.annotObjectNumber}`; + const a = `${s.key}:${s.annotObjectNumber}`; switch (s.control) { case "text": - return /* @__PURE__ */ C(Ate, { item: s, page: e, colors: n }, i); + return /* @__PURE__ */ I(Dne, { item: s, page: e, colors: n }, a); case "toggle": - return /* @__PURE__ */ C(Ste, { item: s, page: e, colors: n }, i); + return /* @__PURE__ */ I($ne, { item: s, page: e, colors: n }, a); case "choice": - return s.kind === "list" ? /* @__PURE__ */ C(Ote, { item: s, page: e, colors: n }, i) : /* @__PURE__ */ C(Pte, { item: s, page: e, colors: n }, i); + return s.kind === "list" ? /* @__PURE__ */ I(zne, { item: s, page: e, colors: n }, a) : /* @__PURE__ */ I(Bne, { item: s, page: e, colors: n }, a); case "button": - return /* @__PURE__ */ C(Mte, { item: s, page: e, colors: n }, i); + return /* @__PURE__ */ I(Wne, { item: s, page: e, colors: n }, a); case "signature": - return /* @__PURE__ */ C(Ete, { item: s, page: e, colors: n }, i); + return /* @__PURE__ */ I(Une, { item: s, page: e, colors: n }, a); } }) ] }); } -function Ite({ page: e }) { - const t = Ge(Mn), n = Xe( - Mn, +function qne({ page: e }) { + const t = Ge(In), n = Ze( + In, (l) => l.listShownWidgets(e.ref), - Do - ), o = Xe(Mn, (l) => l.getAppearanceEpoch(e.ref)), r = ht( - pn, + Fo + ), o = Ze(In, (l) => l.getAppearanceEpoch(e.ref)), r = mt( + wn, (l) => l.getAppearanceScale(e.transform.renderScale), 0 - ), [s, i] = ke(null), [a] = ke(EM); - Se(() => () => a.release(), [a]), Se(() => { + ), [s, a] = ke(null), [i] = ke(rE); + Se(() => () => i.release(), [i]), Se(() => { if (r) - return CM( - a, + return sE( + i, (l) => t.renderAppearances(e.ref, r, l), - ie, - i + Y, + a ); - }, [a, t, e.ref, r, o]); + }, [i, t, e.ref, r, o]); const c = n.map( - (l) => yM({ + (l) => GM({ pending: l.pending, - picture: s && Jy(s, ie(l.ref), l.appearanceState), + picture: s && f0(s, Y(l.ref), l.appearanceState), version: l.pictureVersion, loaded: s !== null, paint: () => t.getWidgetPainting(l.ref) }) ); - return /* @__PURE__ */ C(Te, { children: n.map((l, u) => { + return /* @__PURE__ */ I(Re, { children: n.map((l, u) => { const f = c[u]; if (!f) return null; - const d = ie(l.ref); + const d = Y(l.ref), p = Uo(l.rect, e.transform); if (f.kind === "painting") { - const { x: h, y: g, width: m, height: M } = l.rect, x = wo(l.rect, e.transform); - return /* @__PURE__ */ C( + const { x: g, y: h, width: m, height: O } = l.rect; + return /* @__PURE__ */ I( "svg", { - viewBox: `${h} ${g} ${m} ${M}`, + viewBox: `${g} ${h} ${m} ${O}`, style: { position: "absolute", - left: x.left, - top: x.top, - width: x.width, - height: x.height, + left: p.left, + top: p.top, + width: p.width, + height: p.height, overflow: "visible", pointerEvents: "none" }, - children: /* @__PURE__ */ C(W3, { shapes: xM(f.painting.scene, { miterLimit: Rp }) }) + children: /* @__PURE__ */ I(k3, { shapes: ZM(f.painting.scene, { miterLimit: Dp }) }) }, d ); } - const p = wo(f.picture.box, e.transform); - return /* @__PURE__ */ C( + return /* @__PURE__ */ I( "img", { src: f.picture.url, @@ -45577,70 +46719,70 @@ function Ite({ page: e }) { ); }) }); } -const yI = Object.freeze([]); -Wn(gte); -const dS = bi(Ao); -function _te(e, t, n, o) { +const t_ = Object.freeze([]); +zn(Ine); +const _S = Wi(xo); +function Hne(e, t, n, o) { return { id: "signature:armed-mark-on-field", - priority: E3 + 1, - enabledFor: (r) => r.id === Ep, + priority: c3 + 1, + enabledFor: (r) => r.id === Np, onPointerDown: (r) => { if (!r.page) return !1; const s = o.getArmedAsset(e); - if (!s || o.getLibrary(s.libraryId)?.kind !== Ow) + if (!s || o.getLibrary(s.libraryId)?.kind !== Bw) return !1; - const i = n.getWidgetAt(r.page.ref, r.page.point); - return !i || i.field.kind !== "signature" ? !1 : (t.getSignature(i.field.ref)?.signed || i.field.valueEntry.kind !== "none" || (o.disarm(e), t.placeMark({ assetId: s.id }, { field: i.field.ref }).catch((a) => globalThis.console?.error("[signature] placing the mark failed:", a))), !0); + const a = n.getWidgetAt(r.page.ref, r.page.point); + return !a || a.field.kind !== "signature" ? !1 : (t.getSignature(a.field.ref)?.signed || a.field.valueEntry.kind !== "none" || (o.disarm(e), t.placeMark({ assetId: s.id }, { field: a.field.ref }).catch((i) => globalThis.console?.error("[signature] placing the mark failed:", i))), !0); } }; } -function Nte(e, t) { - const n = e.tryGet(Ot), o = e.tryGet(Yt), r = e.documentId; +function Vne(e, t) { + const n = e.tryGet(_t), o = e.tryGet(Jt), r = e.documentId; !n || !o || !r || e.cleanup( n.registerHandler( - _te(r, t, e.get(Ao), o) + Hne(r, t, e.get(xo), o) ) ); } -const Qn = (e) => async (...t) => { +const Yn = (e) => async (...t) => { try { return await e(...t); } catch (n) { - throw Be("signature", n); + throw Fe("signature", n); } }; -function Tte(e, { store: t }, { validate: n }, o, { findSignature: r, getVerdict: s }) { - const { requireSignatures: i } = t; +function Gne(e, { store: t }, { validate: n }, o, { findSignature: r, getVerdict: s }) { + const { requireSignatures: a } = t; return { api: { - refresh: Qn(async (a) => { - await e.cancellable(a?.signal, o.refresh()); + refresh: Yn(async (i) => { + await e.cancellable(i?.signal, o.refresh()); }), - validate: Qn(n), - validateField: Qn( - async (a, c) => { + validate: Yn(n), + validateField: Yn( + async (i, c) => { await n(c); - const l = s(a); + const l = s(i); if (!l) - throw new Z("not-found", "signature", "no signed field at that address"); + throw new te("not-found", "signature", "no signed field at that address"); return l; } ), - analyzeChanges: Qn( - async (a, c) => e.cancellable(c?.signal, i().analyze(a)) + analyzeChanges: Yn( + async (i, c) => e.cancellable(c?.signal, a().analyze(i)) ), - readRevision: Qn( - async (a, c) => { + readRevision: Yn( + async (i, c) => { e.assertAllowed("doc.download", "signature.readRevision"); - const l = i(); + const l = a(); let u; - if ("revisionIndex" in a) - u = a.revisionIndex; + if ("revisionIndex" in i) + u = i.revisionIndex; else { - const f = r(a); + const f = r(i); if (!f?.signed || f.revisionIndex === null) - throw new Z("not-found", "signature", "no signed revision at that address"); + throw new te("not-found", "signature", "no signed revision at that address"); u = f.revisionIndex; } return e.cancellable(c?.signal, l.downloadRevision(u)); @@ -45649,22 +46791,22 @@ function Tte(e, { store: t }, { validate: n }, o, { findSignature: r, getVerdict } }; } -const Rte = () => ({ +const Yne = () => ({ verdicts: null, target: null, busy: !1 -}), nh = (e, t) => e.kind === "objectNumber" && t.kind === "objectNumber" ? e.objectNumber === t.objectNumber : e.kind === "fqn" && t.kind === "fqn" ? e.name === t.name : !1; -function Lte(e, t) { +}), ch = (e, t) => e.kind === "objectNumber" && t.kind === "objectNumber" ? e.objectNumber === t.objectNumber : e.kind === "fqn" && t.kind === "fqn" ? e.name === t.name : !1; +function Qne(e, t) { return e.verdicts === t ? e : { ...e, verdicts: t }; } -function fS(e, t) { +function NS(e, t) { const n = e.target; - return n === t || n && t && nh(n, t) ? e : { ...e, target: t }; + return n === t || n && t && ch(n, t) ? e : { ...e, target: t }; } -function pS(e, t) { +function TS(e, t) { return e.busy === t ? e : { ...e, busy: t }; } -function jte(e, t) { +function Xne(e, t) { return t.filter((n) => { if (n.modifications.basis !== "working-copy" || n.summary !== "invalid") return !1; @@ -45672,7 +46814,7 @@ function jte(e, t) { return !o || o.summary !== "invalid"; }); } -const Fte = () => ({ snapshot: null, pending: null }), wb = (e) => e?.signatures.some((t) => t.signed) ?? !1, Dte = (e) => ({ +const Zne = () => ({ snapshot: null, pending: null }), Cb = (e) => e?.signatures.some((t) => t.signed) ?? !1, Jne = (e) => ({ status: e.status, signature: e.signature, version: e.version, @@ -45680,83 +46822,83 @@ const Fte = () => ({ snapshot: null, pending: null }), wb = (e) => e?.signatures protection: e.protection, meta: e.meta }); -function $te(e, t) { +function eoe(e, t) { if (!e) return null; const n = t.signature; return { ...e, signatures: e.signatures.map( - (o) => nh(o.field, n.field) ? n : o + (o) => ch(o.field, n.field) ? n : o ), protection: t.protection }; } -const Bte = /* @__PURE__ */ new Set([ +const toe = /* @__PURE__ */ new Set([ "forms.created", "forms.deleted", "forms.widgetAdded", "forms.widgetRemoved", "forms.repaired" ]); -function zte(e, t) { +function noe(e, t) { switch (t.type) { case "signatures.prepared": return { ...e, pending: { signingId: t.signingId, field: t.field } }; case "signatures.cancelled": return e.pending ? { ...e, pending: null } : e; case "signatures.completed": - return { snapshot: $te(e.snapshot, t), pending: null }; + return { snapshot: eoe(e.snapshot, t), pending: null }; default: - return Bte.has(t.type) ? fo() : e; + return toe.has(t.type) ? po() : e; } } -const hS = [], Wte = [], Ute = (e) => !("kind" in e) || e.kind === "objectNumber" && "page" in e ? e : null, Kte = (e) => "kind" in e && (e.kind === "fqn" || e.kind === "objectNumber" && !("page" in e)); -function qte(e, { authority: t, siblings: n }, o) { - const { form: r } = n, s = () => o.get().snapshot, i = Ke( +const RS = [], ooe = [], roe = (e) => !("kind" in e) || e.kind === "objectNumber" && "page" in e ? e : null, soe = (e) => "kind" in e && (e.kind === "fqn" || e.kind === "objectNumber" && !("page" in e)); +function aoe(e, { authority: t, siblings: n }, o) { + const { form: r } = n, s = () => o.get().snapshot, a = qe( () => [s(), e.state.get().verdicts], (u, f) => { if (!u) - return { all: hS, signed: hS, unsigned: Wte }; - const d = (h) => f?.find((g) => g.signature.index === h.index) ?? null, p = u.signatures.map( - (h) => ({ ...h, verdict: d(h) }) + return { all: RS, signed: RS, unsigned: ooe }; + const d = (g) => f?.find((h) => h.signature.index === g.index) ?? null, p = u.signatures.map( + (g) => ({ ...g, verdict: d(g) }) ); return { all: p, - signed: p.filter((h) => h.signed), - unsigned: u.signatures.filter((h) => !h.signed).map((h) => h.field) + signed: p.filter((g) => g.signed), + unsigned: u.signatures.filter((g) => !g.signed).map((g) => g.field) }; } - ), a = (u) => { + ), i = (u) => { const f = s(); if (!f) return null; - const d = Ute(u); + const d = roe(u); if (d) { const p = f.signatures.find( - (g) => g.widget?.objectNumber === d.objectNumber + (h) => h.widget?.objectNumber === d.objectNumber ); if (p) return p; - const h = r.getFieldForWidget(d); - return h ? a(h.ref) : null; + const g = r.getFieldForWidget(d); + return g ? i(g.ref) : null; } - return Kte(u) ? f.signatures.find( - (p) => u.kind === "fqn" ? p.fieldName === u.name : nh(p.field, u) + return soe(u) ? f.signatures.find( + (p) => u.kind === "fqn" ? p.fieldName === u.name : ch(p.field, u) ) ?? null : null; }, c = (u) => { - const f = a(u); - return f ? i().all.find((d) => d.index === f.index) ?? null : null; + const f = i(u); + return f ? a().all.find((d) => d.index === f.index) ?? null : null; }, l = (u) => { - const f = a(u); + const f = i(u); return f ? e.state.get().verdicts?.find((d) => d.signature.index === f.index) ?? null : null; }; return { snapshot: s, - findSignature: a, + findSignature: i, getVerdict: l, api: { getSnapshot: s, getStatus: o.getStatus, - listSignatures: () => i().signed, - listUnsignedFields: () => i().unsigned, + listSignatures: () => a().signed, + listUnsignedFields: () => a().unsigned, getSignature: c, listVerdicts: () => e.state.get().verdicts, getVerdict: l, @@ -45768,37 +46910,37 @@ function qte(e, { authority: t, siblings: n }, o) { } }; } -function Hte(e, { form: t }) { +function ioe(e, { form: t }) { const n = e.settings(), o = () => { - const { mode: a, signingKey: c } = n.get(); - return a ?? (c ? "sign" : "visual"); - }, r = async (a) => { - const c = a ?? n.get().signingKey; + const { mode: i, signingKey: c } = n.get(); + return i ?? (c ? "sign" : "visual"); + }, r = async (i) => { + const c = i ?? n.get().signingKey; if (!c) - throw new Z( + throw new te( "invalid-input", "signature", "no key: set the `key` setting or pass one with the call" ); return typeof c == "function" ? c() : c; - }, s = (a, c) => { + }, s = (i, c) => { const l = t.get(c); - return l !== null && e.allowsField(a, l); + return l !== null && e.allowsField(i, l); }; return { mode: o, resolveKey: r, - assertAllowedField: (a, c, l) => { + assertAllowedField: (i, c, l) => { const u = t.get(c); - u && e.assertAllowedField(a, u, l); + u && e.assertAllowedField(i, u, l); }, - canSign: (a) => s("sign", a), - canFill: (a) => s("fill", a), + canSign: (i) => s("sign", i), + canFill: (i) => s("fill", i), canCertify: () => n.get().allowCertify && e.allows("doc.sign.certify"), canReadRevision: () => e.allows("doc.download") }; } -function Vte(e) { +function coe(e) { const t = { signed: e.events.source(), filled: e.events.source(), @@ -45812,43 +46954,43 @@ function Vte(e) { }; return e.state.onChange(({ previous: n, next: o }) => { if (n.target !== o.target && t.targetChanged.emit({ field: o.target }), n.verdicts !== o.verdicts && o.verdicts) - for (const r of jte(n.verdicts, o.verdicts)) + for (const r of Xne(n.verdicts, o.verdicts)) t.invalidationPredicted.emit({ field: r.signature.field, detail: r.modifications.detail ?? "" }); }), t; } -function Gte({ stamp: e }) { - const t = async (o) => new Uint8Array((await bo(o)).bytes); +function loe({ stamp: e }) { + const t = async (o) => new Uint8Array((await yo(o)).bytes); return { bytesOf: t, markBytes: async (o) => { if ("assetId" in o) { const r = e()?.getAssetBytes(o.assetId); - if (!r) throw new Z("not-found", "signature", `unknown mark '${o.assetId}'`); + if (!r) throw new te("not-found", "signature", `unknown mark '${o.assetId}'`); return r; } return t(o.source); } }; } -function Yte(e) { +function uoe(e) { return { - form: e.get(Ao), - stamp: () => e.tryGet(Yt), + form: e.get(xo), + stamp: () => e.tryGet(Jt), annotation: () => e.tryGet(Qe) }; } -function Qte(e) { +function doe(e) { return { withBusy: async (r) => { - e.state.update(pS, !0); + e.state.update(TS, !0); try { return await r(); } finally { - e.state.update(pS, !1); + e.state.update(TS, !1); } }, requireSignatures: () => { const r = e.doc.signatures; if (!r) - throw new Z( + throw new te( "unsupported", "signature", "this engine does not implement signatures" @@ -45856,76 +46998,76 @@ function Qte(e) { return r; }, documentId: () => { const r = e.documentId; - if (!r) throw new Z("not-ready", "signature", "no document id"); + if (!r) throw new te("not-ready", "signature", "no document id"); return r; } }; } -function Xte(e) { - const t = Yte(e); +function foe(e) { + const t = uoe(e); return { - events: Vte(e), - store: Qte(e), - authority: Hte(e, t), + events: coe(e), + store: doe(e), + authority: ioe(e, t), siblings: t, - marks: Gte(t) + marks: loe(t) }; } -const Zte = /* @__PURE__ */ new Set([ +const poe = /* @__PURE__ */ new Set([ "annotations.created", "annotations.updated", "annotations.deleted", "annotations.reordered", "forms.valueSet", "forms.updated" -]), Jte = (e, t) => JSON.stringify(e) === JSON.stringify(t); -function ene(e, { events: t }, { validateNow: n, revalidateSoon: o }) { - const { signed: r, protectionChanged: s } = t, i = /* @__PURE__ */ new Set(), a = e.mirror({ +]), hoe = (e, t) => JSON.stringify(e) === JSON.stringify(t); +function goe(e, { events: t }, { validateNow: n, revalidateSoon: o }) { + const { signed: r, protectionChanged: s } = t, a = /* @__PURE__ */ new Set(), i = e.mirror({ name: "signatures", - initial: Fte, + initial: Zne, // The engine's snapshot says nothing about a parked signing: a load // keeps the one the events announced, unless the engine disowned it. load: async (c) => { - const l = c.signatures ? await c.signatures.list() : null, u = a.get().pending; + const l = c.signatures ? await c.signatures.list() : null, u = i.get().pending; return { value: { snapshot: l, - pending: u && !i.has(u.signingId) ? u : null + pending: u && !a.has(u.signingId) ? u : null } }; }, - fold: zte, + fold: noe, onChanged: ({ cause: c, event: l, previous: u, next: f }) => { const d = f.snapshot?.protection ?? null; - d && !Jte(u.snapshot?.protection ?? null, d) && s.emit({ protection: d }), l?.type === "signatures.completed" && r.emit({ + d && !hoe(u.snapshot?.protection ?? null, d) && s.emit({ protection: d }), l?.type === "signatures.completed" && r.emit({ field: l.signature.field, - result: Dte(l), + result: Jne(l), origin: l.origin - }), wb(f.snapshot) && (c === "load" ? n() : u.snapshot !== f.snapshot && o()); + }), Cb(f.snapshot) && (c === "load" ? n() : u.snapshot !== f.snapshot && o()); } }); return { - mirror: a, + mirror: i, /** * The engine does not know this parked signing (its cancel answered * `unknown`), so no event will ever clear it: reload without it. */ disown(c) { - return i.add(c), a.refresh(); + return a.add(c), i.refresh(); }, connect() { e.listen(e.doc.events, (c) => { - Zte.has(c.type) && wb(a.get().snapshot) && o(); + poe.has(c.type) && Cb(i.get().snapshot) && o(); }); } }; } -const tne = 300; -function nne(e, { events: t }) { +const moe = 300; +function boe(e, { events: t }) { const { validated: n } = t, o = e.settings(), r = async (c) => { if (!e.doc.signatures) return []; const { validateSignatures: l } = await e.cancellable( c?.signal, - import("./index-DSy5zKh6.js") + import("./index-iBTPgwni.js") ), u = await e.cancellable( c?.signal, l(e.doc, { @@ -45934,12 +47076,12 @@ function nne(e, { events: t }) { until: c?.until ?? "working-copy" }) ); - return e.state.update(Lte, u), n.emit({ verdicts: u }), u; + return e.state.update(Qne, u), n.emit({ verdicts: u }), u; }; let s = null; - const i = () => { + const a = () => { s?.(), s = null; - }, a = () => { + }, i = () => { r().catch( (c) => globalThis.console?.error("[signature] validation failed:", c) ); @@ -45948,32 +47090,32 @@ function nne(e, { events: t }) { validate: r, /** Judge now; a scheduled re-judgement is superseded. */ validateNow: () => { - i(), a(); + a(), i(); }, /** Judge once the edits pause. */ revalidateSoon: () => { - i(), s = e.clock.after(tne, () => { - s = null, a(); + a(), s = e.clock.after(moe, () => { + s = null, i(); }); } }; } -const gS = "q Q", Wg = [ +const LS = "q Q", Gg = [ "<< /Type /Catalog /Pages 2 0 R >>", "<< /Type /Pages /Kids [3 0 R] /Count 1 >>", "<< /Type /Page /Parent 2 0 R /MediaBox [0 0 200 60] /Contents 4 0 R /Resources << >> >>", - `<< /Length ${gS.length} >> + `<< /Length ${LS.length} >> stream -${gS} +${LS} endstream` ]; -let rd = null; -function one() { - if (rd) return new Uint8Array(rd); +let id = null; +function yoe() { + if (id) return new Uint8Array(id); let e = `%PDF-1.7 `; const t = []; - Wg.forEach((o, r) => { + Gg.forEach((o, r) => { t.push(e.length), e += `${r + 1} 0 obj ${o} endobj @@ -45981,186 +47123,186 @@ endobj }); const n = e.length; e += `xref -0 ${Wg.length + 1} +0 ${Gg.length + 1} 0000000000 65535 f `; for (const o of t) e += `${String(o).padStart(10, "0")} 00000 n `; return e += `trailer -<< /Size ${Wg.length + 1} /Root 1 0 R >> +<< /Size ${Gg.length + 1} /Root 1 0 R >> startxref ${n} %%EOF -`, rd = new TextEncoder().encode(e), new Uint8Array(rd); +`, id = new TextEncoder().encode(e), new Uint8Array(id); } -function rne(e, { +function woe(e, { events: t, store: n, marks: o, authority: r -}, { findSignature: s }, i) { - const { filled: a, cleared: c } = t, { withBusy: l } = n, { markBytes: u } = o, f = async (h, g, m) => { - const M = e.doc.forms; - if (!M.setSignatureAppearance) - throw new Z( +}, { findSignature: s }, a) { + const { filled: i, cleared: c } = t, { withBusy: l } = n, { markBytes: u } = o, f = async (g, h, m) => { + const O = e.doc.forms; + if (!O.setSignatureAppearance) + throw new te( "unsupported", "signature", "this engine cannot draw into a signature field" ); - const x = s(h); - if (x?.signed) - throw new Z("conflict", "signature", `'${x.fieldName}' is signed`); - await e.cancellable(m?.signal, M.setSignatureAppearance(h, { pdf: g })); - }, d = async (h, g, m) => (r.assertAllowedField("fill", h, "signature.fillField"), l(async () => { - await f(h, await u(g), m), i.clearIfTarget(h), a.emit({ field: h }); - })), p = async (h, g) => (r.assertAllowedField("fill", h, "signature.clearField"), l(async () => { - await f(h, one(), g), c.emit({ field: h }); + const E = s(g); + if (E?.signed) + throw new te("conflict", "signature", `'${E.fieldName}' is signed`); + await e.cancellable(m?.signal, O.setSignatureAppearance(g, { pdf: h })); + }, d = async (g, h, m) => (r.assertAllowedField("fill", g, "signature.fillField"), l(async () => { + await f(g, await u(h), m), a.clearIfTarget(g), i.emit({ field: g }); + })), p = async (g, h) => (r.assertAllowedField("fill", g, "signature.clearField"), l(async () => { + await f(g, yoe(), h), c.emit({ field: g }); })); return { fillField: d, api: { - fillField: Qn(d), - clearField: Qn(p) + fillField: Yn(d), + clearField: Yn(p) } }; } -function sne(e, { events: t }, { findSignature: n }) { - const { inspectionRequested: o } = t, r = (i, a) => { - if (nh(i, a)) return !0; - const c = n(i); - return c !== null && c.index === n(a)?.index; +function voe(e, { events: t }, { findSignature: n }) { + const { inspectionRequested: o } = t, r = (a, i) => { + if (ch(a, i)) return !0; + const c = n(a); + return c !== null && c.index === n(i)?.index; }; return { - clearIfTarget: (i) => { - const a = e.state.get().target; - a && r(a, i) && e.state.update(fS, null); + clearIfTarget: (a) => { + const i = e.state.get().target; + i && r(i, a) && e.state.update(NS, null); }, api: { - setTarget: (i) => e.state.update(fS, i), - requestInspection: (i) => o.emit({ field: i }) + setTarget: (a) => e.state.update(NS, a), + requestInspection: (a) => o.emit({ field: a }) } }; } -function ine(e, { +function koe(e, { events: t, store: n, authority: o, siblings: r }, { snapshot: s }, { - sign: i + sign: a }, { - fillField: a + fillField: i }) { const { signRequested: c } = t, { documentId: l } = n, { mode: u } = o, { stamp: f, annotation: d } = r, p = e.settings(); - return { api: { placeMark: Qn(async (g, m, M) => { + return { api: { placeMark: Yn(async (h, m, O) => { if (!("field" in m)) { - if ("assetId" in g) { - const P = f(); - if (!P) - throw new Z("unsupported", "signature", "no stamp plugin to place an asset"); - return { status: "placed", annotation: (await P.placeAsset(g.assetId, m, { + if ("assetId" in h) { + const k = f(); + if (!k) + throw new te("unsupported", "signature", "no stamp plugin to place an asset"); + return { status: "placed", annotation: (await k.placeAsset(h.assetId, m, { documentId: l(), - signal: M?.signal + signal: O?.signal })).annotation.ref }; } - const x = d(); - if (!x) - throw new Z("unsupported", "signature", "no annotation plugin to place a mark"); - return { status: "placed", annotation: (await x.stamps.place({ source: g.source }, m, M)).annotation.ref }; + const E = d(); + if (!E) + throw new te("unsupported", "signature", "no annotation plugin to place a mark"); + return { status: "placed", annotation: (await E.stamps.place({ source: h.source }, m, O)).annotation.ref }; } switch (u()) { case "sign": - return p.get().allowCertify && !wb(s()) ? (c.emit({ field: m.field, mark: g }), { status: "requested", field: m.field }) : { + return p.get().allowCertify && !Cb(s()) ? (c.emit({ field: m.field, mark: h }), { status: "requested", field: m.field }) : { status: "signed", field: m.field, - result: await i({ field: m.field, mark: g }, M) + result: await a({ field: m.field, mark: h }, O) }; case "visual": - return await a(m.field, g, M), { status: "filled", field: m.field }; + return await i(m.field, h, O), { status: "filled", field: m.field }; case "ask": - return c.emit({ field: m.field, mark: g }), { status: "requested", field: m.field }; + return c.emit({ field: m.field, mark: h }), { status: "requested", field: m.field }; } }) } }; } -function ane(e, { store: t, authority: n, marks: o }, { api: r }, s, i) { - const { withBusy: a, requireSignatures: c } = t, { resolveKey: l, assertAllowedField: u } = n, { bytesOf: f, markBytes: d } = o, p = /* @__PURE__ */ new Map(), h = (A) => new Z("operation-cancelled", "signature", "signing cancelled", { - cause: A.reason - }), g = (A) => { - const y = c(); - return A ? { +function xoe(e, { store: t, authority: n, marks: o }, { api: r }, s, a) { + const { withBusy: i, requireSignatures: c } = t, { resolveKey: l, assertAllowedField: u } = n, { bytesOf: f, markBytes: d } = o, p = /* @__PURE__ */ new Map(), g = (w) => new te("operation-cancelled", "signature", "signing cancelled", { + cause: w.reason + }), h = (w) => { + const b = c(); + return w ? { signatures: { - prepare: (w) => y.prepare(w), - cancel: (w) => y.cancel(w), - complete: (w) => A.aborted ? Promise.reject(h(A)) : y.complete(w) + prepare: (v) => b.prepare(v), + cancel: (v) => b.cancel(v), + complete: (v) => w.aborted ? Promise.reject(g(w)) : b.complete(v) } } : e.doc; - }, m = (A, y) => { - u("sign", A.field, y), A.certify && e.assertAllowed("doc.sign.certify", y); - }, M = async (A) => A.appearance ? f(A.appearance) : A.mark ? d(A.mark) : null, x = async (A, y) => { - if (m(A, "signature.sign"), y?.signal?.aborted) throw h(y.signal); - return a(async () => { - const w = g(y?.signal), { certificateCommonName: O, sign: b } = await import("./index-DSy5zKh6.js"), v = await l(A.signingKey), E = v.kind === "raw" && v.certificateChain[0] ? O(v.certificateChain[0]) : null, I = { ...E ? { name: E } : {}, ...A.signer }, T = await M(A), _ = await b(w, { - field: A.field, - key: v, - signer: I, - certify: A.certify, - lock: A.lock, - appearance: { pdf: T } + }, m = (w, b) => { + u("sign", w.field, b), w.certify && e.assertAllowed("doc.sign.certify", b); + }, O = async (w) => w.appearance ? f(w.appearance) : w.mark ? d(w.mark) : null, E = async (w, b) => { + if (m(w, "signature.sign"), b?.signal?.aborted) throw g(b.signal); + return i(async () => { + const v = h(b?.signal), { certificateCommonName: x, sign: y } = await import("./index-iBTPgwni.js"), M = await l(w.signingKey), S = M.kind === "raw" && M.certificateChain[0] ? x(M.certificateChain[0]) : null, C = { ...S ? { name: S } : {}, ...w.signer }, N = await O(w), _ = await y(v, { + field: w.field, + key: M, + signer: C, + certify: w.certify, + lock: w.lock, + appearance: { pdf: N } }); - return s.clearIfTarget(A.field), _; + return s.clearIfTarget(w.field), _; }); - }, S = async (A, y) => (m(A, "signature.prepareSignature"), a(async () => { - const w = c(), O = await M(A), b = w.prepare({ - field: A.field, - signer: A.signer, - certify: A.certify, - lock: A.lock, - subFilter: A.subFilter, - digest: A.digest, - ...O ? { appearance: { pdf: O } } : {} - }), v = await e.cancellable(y?.signal, b); - return p.set(v.signingId, v), v; - })), P = async (A, y, w) => { - if (w?.signal?.aborted) throw h(w.signal); - return a(async () => { - const O = c(), b = p.get(A); - if (!b) - throw new Z( + }, P = async (w, b) => (m(w, "signature.prepareSignature"), i(async () => { + const v = c(), x = await O(w), y = v.prepare({ + field: w.field, + signer: w.signer, + certify: w.certify, + lock: w.lock, + subFilter: w.subFilter, + digest: w.digest, + ...x ? { appearance: { pdf: x } } : {} + }), M = await e.cancellable(b?.signal, y); + return p.set(M.signingId, M), M; + })), k = async (w, b, v) => { + if (v?.signal?.aborted) throw g(v.signal); + return i(async () => { + const x = c(), y = p.get(w); + if (!y) + throw new te( "not-found", "signature", - `no signing '${A}' was prepared in this session` + `no signing '${w}' was prepared in this session` ); - const v = await O.complete({ - signingId: A, - cms: y, - expectedVersion: b.expectedVersion + const M = await x.complete({ + signingId: w, + cms: b, + expectedVersion: y.expectedVersion }); - return p.delete(A), s.clearIfTarget(v.signature.field), v; + return p.delete(w), s.clearIfTarget(M.signature.field), M; }); - }, k = async (A) => { - const y = r.getPending(); - if (!y) return; - u("sign", y.field, "signature.cancelPending"); - const { status: w } = await e.cancellable( - A?.signal, - c().cancel(y.signingId) + }, A = async (w) => { + const b = r.getPending(); + if (!b) return; + u("sign", b.field, "signature.cancelPending"); + const { status: v } = await e.cancellable( + w?.signal, + c().cancel(b.signingId) ); - p.delete(y.signingId), w === "unknown" && await i.disown(y.signingId); + p.delete(b.signingId), v === "unknown" && await a.disown(b.signingId); }; return { - sign: x, + sign: E, api: { - sign: Qn(x), - prepareSignature: Qn(S), - completeSignature: Qn(P), - cancelPending: Qn(k) + sign: Yn(E), + prepareSignature: Yn(P), + completeSignature: Yn(k), + cancelPending: Yn(A) } }; } -function cne(e) { - const t = Xte(e), { events: n, authority: o } = t, r = e.settings(), s = nne(e, t), i = ene(e, t, s), a = qte(e, t, i.mirror), c = Tte(e, t, s, i.mirror, a), l = sne(e, t, a), u = ane(e, t, a, l, i), f = rne(e, t, a, l), d = ine(e, t, a, u, f), p = ys("signature", [ +function Aoe(e) { + const t = foe(e), { events: n, authority: o } = t, r = e.settings(), s = boe(e, t), a = goe(e, t, s), i = aoe(e, t, a.mirror), c = Gne(e, t, s, a.mirror, i), l = voe(e, t, i), u = xoe(e, t, i, l, a), f = woe(e, t, i, l), d = koe(e, t, i, u, f), p = ys("signature", [ r.api, - a.api, + i.api, c.api, l.api, u.api, @@ -46186,21 +47328,21 @@ function cne(e) { return { api: p, connect() { - i.connect(), Nte(e, p); + a.connect(), Vne(e, p); } }; } -const lne = (e) => ({ +const Soe = (e) => ({ id: "signature", token: qo, scope: "document", - requires: [Ao], - optional: [Ot, Yt, Qe], - state: Rte, + requires: [xo], + optional: [_t, Jt, Qe], + state: Yne, // A signing key and a trust port are one value each: a change replaces them, never merges into them. - settings: { defaults: mte, registered: e, whole: ["signingKey", "trust"] }, - create: cne -}), une = Object.freeze([]), dne = ln(qo, { + settings: { defaults: _ne, registered: e, whole: ["signingKey", "trust"] }, + create: Aoe +}), Ooe = Object.freeze([]), Poe = pn(qo, { read: (e) => ({ signatures: e.listSignatures(), protection: e.getProtection(), @@ -46210,14 +47352,14 @@ const lne = (e) => ({ status: e.getStatus() }), empty: { - signatures: une, + signatures: Ooe, protection: null, target: null, busy: !1, pending: null, status: "idle" } -}), ts = { +}), ns = { data: "1.2.840.113549.1.7.1", signedData: "1.2.840.113549.1.7.2", contentType: "1.2.840.113549.1.9.3", @@ -46244,36 +47386,36 @@ const lne = (e) => ({ keyUsage: "2.5.29.15", basicConstraints: "2.5.29.19", commonName: "2.5.4.3" -}, Epe = { - [ts.sha1]: "sha1", - [ts.sha256]: "sha256", - [ts.sha384]: "sha384", - [ts.sha512]: "sha512" -}, Cpe = { - sha1: ts.sha1, - sha256: ts.sha256, - sha384: ts.sha384, - sha512: ts.sha512 -}, wI = { +}, qhe = { + [ns.sha1]: "sha1", + [ns.sha256]: "sha256", + [ns.sha384]: "sha384", + [ns.sha512]: "sha512" +}, Hhe = { + sha1: ns.sha1, + sha256: ns.sha256, + sha384: ns.sha384, + sha512: ns.sha512 +}, n_ = { sha1: "SHA-1", sha256: "SHA-256", sha384: "SHA-384", sha512: "SHA-512" -}, Ipe = { +}, Vhe = { sha1: 20, sha256: 32, sha384: 48, sha512: 64 }; -function vI(e) { +function o_(e) { const t = e.privateKey.algorithm; let n, o; switch (t.name) { case "RSASSA-PKCS1-v1_5": - n = "RSA-PKCS1-v1_5", o = mS(t.hash.name); + n = "RSA-PKCS1-v1_5", o = jS(t.hash.name); break; case "RSA-PSS": - n = "RSA-PSS", o = mS(t.hash.name); + n = "RSA-PSS", o = jS(t.hash.name); break; case "ECDSA": n = "ECDSA", o = e.hash ?? "sha256"; @@ -46287,14 +47429,14 @@ function vI(e) { algorithm: n, hash: o, async sign(r) { - const s = n === "RSA-PSS" ? { name: "RSA-PSS", saltLength: { sha256: 32, sha384: 48, sha512: 64 }[o] } : n === "ECDSA" ? { name: "ECDSA", hash: wI[o] } : { name: "RSASSA-PKCS1-v1_5" }, i = new Uint8Array(r.byteLength); - i.set(r); - const a = await globalThis.crypto.subtle.sign(s, e.privateKey, i); - return new Uint8Array(a); + const s = n === "RSA-PSS" ? { name: "RSA-PSS", saltLength: { sha256: 32, sha384: 48, sha512: 64 }[o] } : n === "ECDSA" ? { name: "ECDSA", hash: n_[o] } : { name: "RSASSA-PKCS1-v1_5" }, a = new Uint8Array(r.byteLength); + a.set(r); + const i = await globalThis.crypto.subtle.sign(s, e.privateKey, a); + return new Uint8Array(i); } }; } -function mS(e) { +function jS(e) { switch (e) { case "SHA-256": return "sha256"; @@ -46306,68 +47448,68 @@ function mS(e) { throw new Error(`unsupported key hash ${e}`); } } -async function fne(e = {}) { - const { selfSignedCertificate: t } = await import("./self-signed-DGAIwro5.js"), n = e.hash ?? "sha256", o = await kI(e.algorithm ?? "RSA-PKCS1-v1_5", n, !0), r = await t({ +async function Moe(e = {}) { + const { selfSignedCertificate: t } = await import("./self-signed-CTqGwK0Q.js"), n = e.hash ?? "sha256", o = await r_(e.algorithm ?? "RSA-PKCS1-v1_5", n, !0), r = await t({ publicKey: o.publicKey, privateKey: o.privateKey, commonName: e.commonName ?? "EmbedPDF test signer", hash: n }); - return { ...vI({ + return { ...o_({ privateKey: o.privateKey, certificateChain: [r], hash: n }), certificate: r, privateKey: o.privateKey }; } -async function _pe(e = {}) { - const t = await fne({ +async function Ghe(e = {}) { + const t = await Moe({ commonName: e.commonName ?? "EmbedPDF test timestamp authority" - }), { buildTimestampToken: n } = await import("./timestamp-D87vPTni.js").then((o) => o.t); + }), { buildTimestampToken: n } = await import("./timestamp-CjD6uYGV.js").then((o) => o.t); return { kind: "cms", certificate: t.certificate, sign: ({ digest: o, algorithm: r }) => n({ digest: o, hash: r, authority: t }) }; } -async function kI(e, t, n) { +async function r_(e, t, n) { return await globalThis.crypto.subtle.generateKey( e === "ECDSA" ? { name: "ECDSA", namedCurve: "P-256" } : { name: e === "RSA-PSS" ? "RSA-PSS" : "RSASSA-PKCS1-v1_5", modulusLength: 2048, publicExponent: new Uint8Array([1, 0, 1]), - hash: wI[t] + hash: n_[t] }, n, ["sign", "verify"] ); } -function Npe(e) { +function Yhe(e) { return { kind: "cms", sign: (t) => e.sign(t) }; } -async function Tpe(e) { +async function Qhe(e) { const { ensureEngine: t } = await import("./engine-CcsIvE98.js").then((s) => s.v); t(); const n = e.hash ?? "sha256"; let o = await e.store.load(e.subject); if (!o) { - const { selfSignedCertificate: s } = await import("./self-signed-DGAIwro5.js"), i = await kI(e.algorithm ?? "RSA-PKCS1-v1_5", n, !1), a = await s({ - publicKey: i.publicKey, - privateKey: i.privateKey, + const { selfSignedCertificate: s } = await import("./self-signed-CTqGwK0Q.js"), a = await r_(e.algorithm ?? "RSA-PKCS1-v1_5", n, !1), i = await s({ + publicKey: a.publicKey, + privateKey: a.privateKey, commonName: e.subject, hash: n }); - o = { privateKey: i.privateKey, certificate: a }, await e.store.save(e.subject, o); + o = { privateKey: a.privateKey, certificate: i }, await e.store.save(e.subject, o); } - return { ...vI({ + return { ...o_({ privateKey: o.privateKey, certificateChain: [o.certificate], hash: n }), certificate: o.certificate, subject: e.subject }; } -function Rpe() { +function Xhe() { const e = /* @__PURE__ */ new Map(); return { load: async (t) => e.get(t) ?? null, @@ -46379,44 +47521,44 @@ function Rpe() { } }; } -function Lpe(e, t = {}) { +function Zhe(e, t = {}) { const n = t.storeName ?? "keys"; let o = null; - const r = () => (o ?? (o = new Promise((i, a) => { + const r = () => (o ?? (o = new Promise((a, i) => { const c = indexedDB.open(e, 1); c.onupgradeneeded = () => { c.result.objectStoreNames.contains(n) || c.result.createObjectStore(n); - }, c.onsuccess = () => i(c.result), c.onerror = () => a(c.error ?? new Error("indexedDB open failed")); - })), o), s = async (i, a) => { + }, c.onsuccess = () => a(c.result), c.onerror = () => i(c.error ?? new Error("indexedDB open failed")); + })), o), s = async (a, i) => { const c = await r(); return new Promise((l, u) => { - const f = c.transaction(n, i), d = a(f.objectStore(n)); + const f = c.transaction(n, a), d = i(f.objectStore(n)); d.onsuccess = () => l(d.result), d.onerror = () => u(d.error ?? new Error("indexedDB request failed")); }); }; return { - load: async (i) => await s("readonly", (a) => a.get(i)) ?? null, - save: (i, a) => s("readwrite", (c) => c.put(a, i)).then(() => { + load: async (a) => await s("readonly", (i) => i.get(a)) ?? null, + save: (a, i) => s("readwrite", (c) => c.put(i, a)).then(() => { }), - remove: (i) => s("readwrite", (a) => a.delete(i)).then(() => { + remove: (a) => s("readwrite", (i) => i.delete(a)).then(() => { }) }; } -function jpe() { +function Jhe() { return Ge(qo); } -const Fpe = Wn(dne); -function sd(e, t) { - s0(qo, e, t); +const ege = zn(Poe); +function cd(e, t) { + y0(qo, e, t); } -function Dpe() { - const e = bZ({ kind: Ow }), t = eI(); - return He(() => yte(e, t), [e, t]); +function tge() { + const e = TJ({ kind: Bw }), t = T3(); + return He(() => Tne(e, t), [e, t]); } -function pne(e) { - const t = e.tryGet(It); +function Eoe(e) { + const t = e.tryGet(Tt); if (!t) return; - const n = e.get(Ot); + const n = e.get(_t); e.cleanup( t.registerBehavior({ id: "link-nav", @@ -46425,11 +47567,11 @@ function pne(e) { }) ); } -function hne(e) { +function Coe(e) { const t = []; for (const n of e) n.subtype !== "link" || n.target == null || n.hidden || n.noView || t.push({ - id: ie(n.ref), + id: Y(n.ref), bounds: n.rect, target: n.target, ...n.actions?.activate ? { activate: n.actions.activate } : {}, @@ -46444,8 +47586,8 @@ function hne(e) { }); return t; } -const bS = Object.freeze([]), Ug = (e) => "target" in e && "bounds" in e, gne = (e, t) => t.x >= e.x && t.x <= e.x + e.width && t.y >= e.y && t.y <= e.y + e.height; -function mne(e) { +const FS = Object.freeze([]), Yg = (e) => "target" in e && "bounds" in e, Ioe = (e, t) => t.x >= e.x && t.x <= e.x + e.width && t.y >= e.y && t.y <= e.y + e.height; +function _oe(e) { switch (e.type) { case "annotations.created": return [e.annotation.page]; @@ -46464,159 +47606,159 @@ function mne(e) { return null; } } -function bne(e) { - const t = () => e.tryGet(It), n = e.events.source(), o = e.events.source(), r = e.pageMirror({ +function Noe(e) { + const t = () => e.tryGet(Tt), n = e.events.source(), o = e.events.source(), r = e.pageMirror({ name: "links", - load: async (h, g) => { - if (!e.getPage(g)) - throw new Z( + load: async (g, h) => { + if (!e.getPage(h)) + throw new te( "not-found", "link", - `page ${g.objectNumber} is not in this document` + `page ${h.objectNumber} is not in this document` ); - const m = await h.page(g).annotations.list(); - return hne(m.annotations); + const m = await g.page(h).annotations.list(); + return Coe(m.annotations); }, - affected: mne, - onChanged: ({ page: h, cause: g }) => { - g === "load" && o.emit({ page: h }); + affected: _oe, + onChanged: ({ page: g, cause: h }) => { + h === "load" && o.emit({ page: g }); } - }), s = (h) => { - const g = e.getPage(h)?.ref; - if (!g) return bS; + }), s = (g) => { + const h = e.getPage(g)?.ref; + if (!h) return FS; const m = t(); - return m ? m.listLinkItems(g) : r.get(g) ?? bS; - }, i = async (h, g) => { - const { ref: m } = e.pageOf(h); - t() || await e.cancellable(g?.signal, r.ensureLoaded(m)); - }, a = [], c = (h) => fE(h, (g) => e.getPage(g) !== null), l = (h, g) => { - const m = e.tryGet(yn); - if (m && g?.activate) - return { status: "dispatched", dispatch: m.execute(g.activate, { + return m ? m.listLinkItems(h) : r.get(h) ?? FS; + }, a = async (g, h) => { + const { ref: m } = e.pageOf(g); + t() || await e.cancellable(h?.signal, r.ensureLoaded(m)); + }, i = [], c = (g) => KE(g, (h) => e.getPage(h) !== null), l = (g, h) => { + const m = e.tryGet(An); + if (m && h?.activate) + return { status: "dispatched", dispatch: m.execute(h.activate, { origin: "user", - source: { kind: "link", annotation: g.ref, page: g.page }, + source: { kind: "link", annotation: h.ref, page: h.page }, event: { type: "activate" } }) }; - const M = c(h); - switch (M.kind) { + const O = c(g); + switch (O.kind) { case "destination": { - const x = g?.stage ?? e.tryGet(xt); - return x ? (x.goToDestination(M.destination), { status: "revealed" }) : { status: "destination", destination: M.destination }; + const E = h?.stage ?? e.tryGet(At); + return E ? (E.goToDestination(O.destination), { status: "revealed" }) : { status: "destination", destination: O.destination }; } case "uri": { - const x = a[0]; - return !x || x(M.uri) ? { status: "uri", uri: M.uri } : { status: "reported", target: h }; + const E = i[0]; + return !E || E(O.uri) ? { status: "uri", uri: O.uri } : { status: "reported", target: g }; } case "named": - return { status: "named", name: M.name }; + return { status: "named", name: O.name }; default: - return { status: "reported", target: h }; + return { status: "reported", target: g }; } - }, u = (h, g) => { - const m = Ug(h) ? h.target : h, M = Ug(h) ? { activate: h.activate, ref: h.ref, ...g } : g, x = l(m, M); - return n.emit({ target: m, activation: x }), x; - }, f = (h, g) => { + }, u = (g, h) => { + const m = Yg(g) ? g.target : g, O = Yg(g) ? { activate: g.activate, ref: g.ref, ...h } : h, E = l(m, O); + return n.emit({ target: m, activation: E }), E; + }, f = (g, h) => { let m = null; - for (const M of s(h)) - gne(M.bounds, g) && (!m || M.bounds.width * M.bounds.height < m.bounds.width * m.bounds.height) && (m = M); + for (const O of s(g)) + Ioe(O.bounds, h) && (!m || O.bounds.width * O.bounds.height < m.bounds.width * m.bounds.height) && (m = O); return m; }; return { api: { listLinks: s, - getLink: (h, g) => s(h).find((m) => m.id === g) ?? null, + getLink: (g, h) => s(g).find((m) => m.id === h) ?? null, getLinkAt: f, - readAllLinks: async (h) => { - const g = e.document()?.pages ?? []; + readAllLinks: async (g) => { + const h = e.document()?.pages ?? []; return await e.cancellable( - h?.signal, - Promise.all(g.map((m) => i(m.ref, h))) - ), g.flatMap((m) => s(m.ref)); + g?.signal, + Promise.all(h.map((m) => a(m.ref, g))) + ), h.flatMap((m) => s(m.ref)); }, - ensureLoaded: i, - isLoaded: (h) => { - const g = e.getPage(h)?.ref; - return !!g && (t() !== null || r.getStatus(g) === "ready"); + ensureLoaded: a, + isLoaded: (g) => { + const h = e.getPage(g)?.ref; + return !!h && (t() !== null || r.getStatus(h) === "ready"); }, - getStatus: (h) => { - const g = e.getPage(h)?.ref; - return g ? t() ? "ready" : r.getStatus(g) : "idle"; + getStatus: (g) => { + const h = e.getPage(g)?.ref; + return h ? t() ? "ready" : r.getStatus(h) : "idle"; }, resolve: c, activate: u, - activateAt: (h, g, m) => { - const M = e.pageOf(h).ref, x = f(M, g); - return x ? u(x, { page: M, ...m }) : null; + activateAt: (g, h, m) => { + const O = e.pageOf(g).ref, E = f(O, h); + return E ? u(E, { page: O, ...m }) : null; }, - getLabel: (h) => { - const g = Ug(h) ? h.target : h; - switch (g.kind) { + getLabel: (g) => { + const h = Yg(g) ? g.target : g; + switch (h.kind) { case "uri": - return g.uri; + return h.uri; case "goto": return "Go to destination"; case "named": - return g.name; + return h.name; default: return "Link"; } }, onActivated: n.on, onLoaded: o.on, - registerUriOpener: (h) => (a.unshift(h), () => { - const g = a.indexOf(h); - g >= 0 && a.splice(g, 1); + registerUriOpener: (g) => (i.unshift(g), () => { + const h = i.indexOf(g); + h >= 0 && i.splice(h, 1); }), - isNavigationEngaged: () => e.tryGet(Ot)?.activeToolEnables("link-nav") ?? !1 + isNavigationEngaged: () => e.tryGet(_t)?.activeToolEnables("link-nav") ?? !1 }, connect() { - pne(e); + Eoe(e); } }; } -const Ew = ri, yne = () => ({ +const Ww = aa, Toe = () => ({ id: "link", - token: Ew, + token: Ww, scope: "document", - requires: [cn], - optional: [xt, Qe, yn], - create: bne + requires: [fn], + optional: [At, Qe, An], + create: Noe }); -function wne({ +function Roe({ onPress: e, ...t }) { - const n = me(null), o = me(e); + const n = ye(null), o = ye(e); return o.current = e, Se( - () => n.current ? Qy(n.current, () => o.current()) : void 0, + () => n.current ? l0(n.current, () => o.current()) : void 0, [] - ), /* @__PURE__ */ C("a", { ref: n, ...t }); + ), /* @__PURE__ */ I("a", { ref: n, ...t }); } -function vne() { - const e = at(Ew); - Se(() => e?.registerUriOpener(rD), [e]); +function Loe() { + const e = ct(Ww); + Se(() => e?.registerUriOpener(f$), [e]); } -function kne({ renderLink: e } = {}) { - const t = so(), n = Ge(ri); - vne(); - const o = at(mi()), r = at(yn), s = He(() => r ? a0(r.dispatch) : null, [r]), i = Xe(ri, (u) => u.listLinks(t.ref), Do), a = Xe(Ew, (u) => u.isNavigationEngaged()), c = ht( - Ot, +function joe({ renderLink: e } = {}) { + const t = so(), n = Ge(aa); + Loe(); + const o = ct(ya()), r = ct(An), s = He(() => r ? v0(r.dispatch) : null, [r]), a = Ze(aa, (u) => u.listLinks(t.ref), Fo), i = Ze(Ww, (u) => u.isNavigationEngaged()), c = mt( + _t, (u) => u.activeToolEnables("annotation-edit"), !1 ); if (Se(() => { n.ensureLoaded(t.ref); - }, [n, t.ref]), !a || !i.length) return null; - const l = y$(i, c); - return l.length ? /* @__PURE__ */ C("div", { style: { position: "absolute", inset: 0, pointerEvents: "none" }, children: l.map((u) => { - const { box: f, href: d, label: p } = v$( + }, [n, t.ref]), !i || !a.length) return null; + const l = PB(a, c); + return l.length ? /* @__PURE__ */ I("div", { style: { position: "absolute", inset: 0, pointerEvents: "none" }, children: l.map((u) => { + const { box: f, href: d, label: p } = EB( u, t.transform, - (M) => n.getLabel(M) - ), h = x$(u, t.ref, o), g = /* @__PURE__ */ C( - wne, + (O) => n.getLabel(O) + ), g = IB(u, t.ref, o), h = /* @__PURE__ */ I( + Roe, { - onPress: () => $u(r, u, t.ref, "mouseDown"), + onPress: () => Wu(r, u, t.ref, "mouseDown"), href: d ?? void 0, target: "_blank", rel: "noopener noreferrer", @@ -46624,17 +47766,17 @@ function kne({ renderLink: e } = {}) { tabIndex: 0, title: p, "aria-label": p, - onClick: (M) => { - d && k$(M) || (M.preventDefault(), n.activate(u, h)); + onClick: (O) => { + d && CB(O) || (O.preventDefault(), n.activate(u, g)); }, - onKeyDown: (M) => { - (M.key === "Enter" || M.key === " ") && (M.preventDefault(), n.activate(u, h)); + onKeyDown: (O) => { + (O.key === "Enter" || O.key === " ") && (O.preventDefault(), n.activate(u, g)); }, - onPointerEnter: () => A$(s, u, t.ref), + onPointerEnter: () => _B(s, u, t.ref), onPointerLeave: () => s?.hover(null), - onPointerUp: () => $u(r, u, t.ref, "mouseUp"), - onFocus: () => $u(r, u, t.ref, "focus"), - onBlur: () => $u(r, u, t.ref, "blur"), + onPointerUp: () => Wu(r, u, t.ref, "mouseUp"), + onFocus: () => Wu(r, u, t.ref, "focus"), + onBlur: () => Wu(r, u, t.ref, "blur"), style: { position: "absolute", left: f.left, @@ -46645,90 +47787,90 @@ function kne({ renderLink: e } = {}) { pointerEvents: "auto" } } - ), m = e?.({ link: u, native: g }) ?? g; - return /* @__PURE__ */ C(Te, { children: m }, u.id); + ), m = e?.({ link: u, native: h }) ?? h; + return /* @__PURE__ */ I(Re, { children: m }, u.id); }) }) : null; } -const xne = () => ({ +const Foe = () => ({ locale: "", locales: {}, loading: null, loadingFallback: null, fetched: {}, waitingTranslations: {} -}), Cw = (e, t, n) => t[n] !== void 0 && !e.fetched[n], xI = (e, t, n) => e.locales[n] !== void 0 && !Cw(e, t, n), Iw = (e, t, n) => xI(e, t, n) && e.loadingFallback === null; -function AI(e, t) { - const { fallbackLocale: n, loaders: o } = t, r = Cw(e, o, n) ? n : null; +}), Uw = (e, t, n) => t[n] !== void 0 && !e.fetched[n], s_ = (e, t, n) => e.locales[n] !== void 0 && !Uw(e, t, n), Kw = (e, t, n) => s_(e, t, n) && e.loadingFallback === null; +function a_(e, t) { + const { fallbackLocale: n, loaders: o } = t, r = Uw(e, o, n) ? n : null; return e.loadingFallback === r ? e : { ...e, loadingFallback: r }; } -function Ane(e, t) { - const n = AI(t.locales.reduce(qf, e), t), { fallbackLocale: o, loaders: r } = t, s = t.locale ?? o; - if (!(n.locales[s] !== void 0 || r[s] !== void 0) || Iw(n, r, s)) return { ...n, locale: s }; - const a = n.locales[o] !== void 0 ? o : Object.keys(n.locales)[0] ?? o; - return { ...n, locale: a, loading: s }; +function Doe(e, t) { + const n = a_(t.locales.reduce(Vf, e), t), { fallbackLocale: o, loaders: r } = t, s = t.locale ?? o; + if (!(n.locales[s] !== void 0 || r[s] !== void 0) || Kw(n, r, s)) return { ...n, locale: s }; + const i = n.locales[o] !== void 0 ? o : Object.keys(n.locales)[0] ?? o; + return { ...n, locale: i, loading: s }; } -function Il(e, t) { +function _l(e, t) { const n = { ...e }; for (const [o, r] of Object.entries(t)) { const s = n[o]; - n[o] = typeof r == "object" && typeof s == "object" ? Il(s, r) : r; + n[o] = typeof r == "object" && typeof s == "object" ? _l(s, r) : r; } return n; } -const SI = (e) => Object.entries(e).some( - ([t, n]) => t.includes(".") || typeof n == "object" && SI(n) +const i_ = (e) => Object.entries(e).some( + ([t, n]) => t.includes(".") || typeof n == "object" && i_(n) ); -function _w(e) { - if (!SI(e)) return e; +function qw(e) { + if (!i_(e)) return e; let t = {}; for (const [n, o] of Object.entries(e)) { - const r = typeof o == "object" ? _w(o) : o, s = n.split(".").reduceRight((i, a) => ({ [a]: i }), r); - t = Il(t, s); + const r = typeof o == "object" ? qw(o) : o, s = n.split(".").reduceRight((a, i) => ({ [i]: a }), r); + t = _l(t, s); } return t; } -const Sne = (e) => { - const t = _w(e.translations); +const $oe = (e) => { + const t = qw(e.translations); return t === e.translations ? e : { ...e, translations: t }; }; -function PI(e, t) { +function c_(e, t) { return !e.locales[t] || e.locale === t && e.loading === null ? e : { ...e, locale: t, loading: null }; } -function qf(e, t) { - const n = Sne(t), o = e.waitingTranslations[t.code]; +function Vf(e, t) { + const n = $oe(t), o = e.waitingTranslations[t.code]; if (!o) return { ...e, locales: { ...e.locales, [t.code]: n } }; const { [t.code]: r, ...s } = e.waitingTranslations; return { ...e, locales: { ...e.locales, - [t.code]: { ...n, translations: Il(n.translations, o) } + [t.code]: { ...n, translations: _l(n.translations, o) } }, waitingTranslations: s }; } -function Pne(e, t, n) { - const o = qf(e, n); +function Boe(e, t, n) { + const o = Vf(e, n); return { ...o, fetched: { ...o.fetched, [t]: !0 }, loadingFallback: o.loadingFallback === t ? null : o.loadingFallback }; } -function yS(e, t) { +function DS(e, t) { if (!e.locales[t]) return e; const { [t]: n, ...o } = e.locales, { [t]: r, ...s } = e.fetched; return { ...e, locales: o, fetched: s }; } -function One(e, t, n) { - const o = _w(n), r = e.locales[t]; +function zoe(e, t, n) { + const o = qw(n), r = e.locales[t]; if (!r) { const s = e.waitingTranslations[t] ?? {}; return { ...e, waitingTranslations: { ...e.waitingTranslations, - [t]: Il(s, o) + [t]: _l(s, o) } }; } @@ -46736,63 +47878,63 @@ function One(e, t, n) { ...e, locales: { ...e.locales, - [t]: { ...r, translations: Il(r.translations, o) } + [t]: { ...r, translations: _l(r.translations, o) } } }; } -function Mne(e, t) { +function Woe(e, t) { return e.loading === t ? e : { ...e, loading: t }; } -function vb(e, t) { +function Ib(e, t) { return e.loading === t ? { ...e, loading: null } : e; } -function wS(e, t) { +function $S(e, t) { return e.loadingFallback === t ? { ...e, loadingFallback: null } : e; } -function Ene(e, t, n, o) { - const r = () => e.state.get(), s = /* @__PURE__ */ new Set(), i = () => { +function Uoe(e, t, n, o) { + const r = () => e.state.get(), s = /* @__PURE__ */ new Set(), a = () => { const l = r().loading; - l === null || !Iw(r(), t.get().loaders, l) || (e.state.update(PI, l), n.settle(l, { ok: !0 })); - }, a = (l) => { + l === null || !Kw(r(), t.get().loaders, l) || (e.state.update(c_, l), n.settle(l, { ok: !0 })); + }, i = (l) => { if (s.has(l)) return; const u = t.get().loaders[l]; - if (!u || !Cw(r(), t.get().loaders, l)) { - r().locales[l] || (e.state.update(vb, l), e.state.update(wS, l)), i(); + if (!u || !Uw(r(), t.get().loaders, l)) { + r().locales[l] || (e.state.update(Ib, l), e.state.update($S, l)), a(); return; } s.add(l), u().then( (f) => { - s.delete(l), e.state.update(Pne, l, f), i(); + s.delete(l), e.state.update(Boe, l, f), a(); }, (f) => { - s.delete(l), e.state.update(vb, l), e.state.update(wS, l), o(l, f), n.settle(l, { + s.delete(l), e.state.update(Ib, l), e.state.update($S, l), o(l, f), n.settle(l, { ok: !1, - error: new Z("operation-failed", "i18n", `locale '${l}' failed to load`, { - details: bn(Be("i18n", f)) + error: new te("operation-failed", "i18n", `locale '${l}' failed to load`, { + details: xn(Fe("i18n", f)) }) - }), i(); + }), a(); } ); }; return { connect: () => { const l = (u) => { - u ? a(u) : i(); + u ? i(u) : a(); }; l(r().loadingFallback), l(r().loading), e.watch(() => r().loadingFallback, l), e.watch(() => r().loading, l); } }; } -function vS(e) { +function BS(e) { try { return new Intl.Locale(e).maximize().script ?? null; } catch { return null; } } -function kS(e, t) { - const n = vS(e), o = vS(t); +function zS(e, t) { + const n = BS(e), o = BS(t); return n === null || o === null || n === o; } -function oh(e, t) { +function cu(e, t) { const n = /* @__PURE__ */ new Map(); for (const r of e) { const s = r.toLowerCase(); @@ -46805,16 +47947,16 @@ function oh(e, t) { } for (const r of t) { const s = n.get(o(r)); - if (s !== void 0 && kS(r, s)) return s; + if (s !== void 0 && zS(r, s)) return s; } for (const r of t) { const s = o(r); - for (const [i, a] of n) - if (o(i) === s && kS(r, a)) return a; + for (const [a, i] of n) + if (o(a) === s && zS(r, i)) return i; } return null; } -const Cne = { +const Koe = { commands: { zoom: { in: "Vergrößern", @@ -46876,7 +48018,7 @@ const Cne = { } }, outline: { untitled: "Unbenannt" } -}, Ine = { +}, qoe = { commands: { zoom: { in: "Zoom in", out: "Zoom out", fitWidth: "Fit width", fitPage: "Fit page" }, page: { @@ -46933,7 +48075,7 @@ const Cne = { } }, outline: { untitled: "Untitled" } -}, _ne = { +}, Hoe = { commands: { zoom: { in: "Acercar", @@ -46992,7 +48134,7 @@ const Cne = { } }, outline: { untitled: "Sin título" } -}, Nne = { +}, Voe = { commands: { zoom: { in: "Zoom avant", @@ -47051,7 +48193,7 @@ const Cne = { } }, outline: { untitled: "Sans titre" } -}, Tne = { +}, Goe = { commands: { zoom: { in: "拡大", out: "縮小", fitWidth: "幅に合わせる", fitPage: "ページ全体を表示" }, page: { @@ -47105,7 +48247,7 @@ const Cne = { } }, outline: { untitled: "無題" } -}, Rne = { +}, Yoe = { commands: { zoom: { in: "Inzoomen", out: "Uitzoomen", fitWidth: "Paginabreedte", fitPage: "Hele pagina" }, page: { @@ -47159,7 +48301,7 @@ const Cne = { } }, outline: { untitled: "Naamloos" } -}, Lne = { +}, Qoe = { commands: { zoom: { in: "Zooma in", @@ -47218,7 +48360,7 @@ const Cne = { } }, outline: { untitled: "Namnlös" } -}, jne = { +}, Xoe = { commands: { zoom: { in: "放大", out: "缩小", fitWidth: "适合宽度", fitPage: "适合页面" }, page: { next: "下一页", previous: "上一页", first: "第一页", last: "最后一页" }, @@ -47267,21 +48409,21 @@ const Cne = { } }, outline: { untitled: "无标题" } -}, OI = { - en: Ine, - nl: Rne, - de: Cne, - fr: Nne, - es: _ne, - "zh-CN": jne, - sv: Lne, - ja: Tne -}, Fne = Object.keys(OI), xS = /* @__PURE__ */ new Map(); -function Dne(e) { - let t = xS.get(e); - return t === void 0 && (t = oh(Fne, [e]), xS.set(e, t)), t === null ? void 0 : OI[t]; -} -function AS(e, t) { +}, l_ = { + en: qoe, + nl: Yoe, + de: Koe, + fr: Voe, + es: Hoe, + "zh-CN": Xoe, + sv: Qoe, + ja: Goe +}, Zoe = Object.keys(l_), WS = /* @__PURE__ */ new Map(); +function Joe(e) { + let t = WS.get(e); + return t === void 0 && (t = cu(Zoe, [e]), WS.set(e, t)), t === null ? void 0 : l_[t]; +} +function US(e, t) { if (!e) return; let n = e; for (const o of t.split(".")) { @@ -47290,106 +48432,106 @@ function AS(e, t) { } return n; } -function $ne(e, t) { +function ere(e, t) { try { return new Intl.PluralRules(e).select(t); } catch { return t === 1 ? "one" : "other"; } } -function SS(e, t, n) { +function KS(e, t, n) { if (typeof e == "string") return e; if (e !== void 0 && typeof n?.count == "number") { - const o = e[$ne(t, n.count)] ?? e.other; + const o = e[ere(t, n.count)] ?? e.other; if (typeof o == "string") return o; } } -const PS = (e, t, n, o) => SS(AS(e.locales[t]?.translations, n), t, o) ?? SS(AS(Dne(t), n), t, o); -function OS(e, t, n) { - const o = n?.params, r = n?.fallbackKey, s = (a) => PS(e, a, t, o) ?? (r === void 0 ? void 0 : PS(e, a, r, o)), i = s(e.locale) ?? s(e.fallbackLocale); - return i !== void 0 ? { text: zm(i, n?.params), found: !0 } : n?.fallback !== void 0 ? { text: zm(n.fallback, n.params), found: !1 } : { text: t, found: !1 }; +const qS = (e, t, n, o) => KS(US(e.locales[t]?.translations, n), t, o) ?? KS(US(Joe(t), n), t, o); +function HS(e, t, n) { + const o = n?.params, r = n?.fallbackKey, s = (i) => qS(e, i, t, o) ?? (r === void 0 ? void 0 : qS(e, i, r, o)), a = s(e.locale) ?? s(e.fallbackLocale); + return a !== void 0 ? { text: Ym(a, n?.params), found: !0 } : n?.fallback !== void 0 ? { text: Ym(n.fallback, n.params), found: !1 } : { text: t, found: !1 }; } -const MS = (e) => new Z("not-found", "i18n", `unknown locale '${e}': not loaded and not in loaders`); -function Bne(e) { +const VS = (e) => new te("not-found", "i18n", `unknown locale '${e}': not loaded and not in loaders`); +function tre(e) { const t = e.settings(), n = e.events.source(), o = e.events.source(), r = () => e.state.get(); - e.state.update(Ane, t.get()); + e.state.update(Doe, t.get()); let s = r().locale; - e.state.onChange(({ next: x }) => { - if (x.loading !== null || x.locale === s) return; - const S = s; - s = x.locale, n.emit({ locale: x.locale, previousLocale: S }); + e.state.onChange(({ next: E }) => { + if (E.loading !== null || E.locale === s) return; + const P = s; + s = E.locale, n.emit({ locale: E.locale, previousLocale: P }); }); - const i = () => ({ + const a = () => ({ locale: r().locale, fallbackLocale: t.get().fallbackLocale, locales: r().locales - }), a = /* @__PURE__ */ new Set(), c = (x, S) => { - const P = OS(i(), x, S), k = S?.fallbackKey === void 0 ? `"${x}"` : `"${x}" or "${S.fallbackKey}"`; - return !P.found && S?.fallback === void 0 && !a.has(k) && (a.add(k), console.warn(`[i18n] missing translation ${k} (locale: ${r().locale})`)), P.text; - }, l = Ke( + }), i = /* @__PURE__ */ new Set(), c = (E, P) => { + const k = HS(a(), E, P), A = P?.fallbackKey === void 0 ? `"${E}"` : `"${E}" or "${P.fallbackKey}"`; + return !k.found && P?.fallback === void 0 && !i.has(A) && (i.add(A), console.warn(`[i18n] missing translation ${A} (locale: ${r().locale})`)), k.text; + }, l = qe( () => [r().locale, r().locales, t.get().fallbackLocale], - (x, S, P) => (k, A) => c(k, A) - ), u = Ke( + (E, P, k) => (A, w) => c(A, w) + ), u = qe( () => [r().locales, r().fetched, t.get().loaders], - (x, S, P) => { - const k = Object.values(x).map((A) => ({ - code: A.code, - name: A.name, - direction: A.direction ?? "ltr", - loaded: xI(r(), P, A.code) + (E, P, k) => { + const A = Object.values(E).map((w) => ({ + code: w.code, + name: w.name, + direction: w.direction ?? "ltr", + loaded: s_(r(), k, w.code) })); - for (const A of Object.keys(P)) - x[A] || k.push({ code: A, name: A, direction: "ltr", loaded: !1 }); - return k; + for (const w of Object.keys(k)) + E[w] || A.push({ code: w, name: w, direction: "ltr", loaded: !1 }); + return A; } - ), f = /* @__PURE__ */ new Map(), d = (x, S) => { - const P = f.get(x); - P && (f.delete(x), S.ok ? P.resolve() : P.reject(S.error)); + ), f = /* @__PURE__ */ new Map(), d = (E, P) => { + const k = f.get(E); + k && (f.delete(E), P.ok ? k.resolve() : k.reject(P.error)); }, p = () => { - for (const [x, S] of f) - f.delete(x), S.reject( - new Z("operation-cancelled", "i18n", `switching to '${x}' was replaced`) + for (const [E, P] of f) + f.delete(E), P.reject( + new te("operation-cancelled", "i18n", `switching to '${E}' was replaced`) ); - }, h = Ene( + }, g = Uoe( e, t, { settle: d }, - (x, S) => o.emit({ locale: x, error: bn(Be("i18n", S)) }) - ), g = (x, S = {}) => { - const { signal: P } = S; - if (P?.aborted) - return Promise.reject(new Z("operation-cancelled", "i18n", "operation cancelled")); - if (Iw(r(), t.get().loaders, x)) - return p(), e.state.update(PI, x), Promise.resolve(); - if (!r().locales[x] && !t.get().loaders[x]) - return Promise.reject(MS(x)); + (E, P) => o.emit({ locale: E, error: xn(Fe("i18n", P)) }) + ), h = (E, P = {}) => { + const { signal: k } = P; + if (k?.aborted) + return Promise.reject(new te("operation-cancelled", "i18n", "operation cancelled")); + if (Kw(r(), t.get().loaders, E)) + return p(), e.state.update(c_, E), Promise.resolve(); + if (!r().locales[E] && !t.get().loaders[E]) + return Promise.reject(VS(E)); p(); - const k = new Promise((A, y) => { - f.set(x, { resolve: A, reject: y }), e.state.update(Mne, x); + const A = new Promise((w, b) => { + f.set(E, { resolve: w, reject: b }), e.state.update(Woe, E); }); - return P?.addEventListener( + return k?.addEventListener( "abort", () => { - f.delete(x) && e.state.update(vb, x); + f.delete(E) && e.state.update(Ib, E); }, { once: !0 } - ), e.cancellable(P, k); + ), e.cancellable(k, A); }, m = () => { - let x = t.get(); - e.listen(t.api.onSettingsChanged, ({ settings: S, changedKeys: P }) => { - if (P.includes("locales")) { - for (const k of x.locales) - S.locales.some((A) => A.code === k.code) || e.state.update(yS, k.code); - for (const k of S.locales) - x.locales.includes(k) || e.state.update(qf, k); - } - if ((P.includes("fallbackLocale") || P.includes("loaders")) && e.state.update(AI, S), P.includes("locale")) { - const k = S.locale ?? S.fallbackLocale; - g(k).catch((A) => { - sn(A, "not-found") && console.warn(`[i18n] ${A.message}`); + let E = t.get(); + e.listen(t.api.onSettingsChanged, ({ settings: P, changedKeys: k }) => { + if (k.includes("locales")) { + for (const A of E.locales) + P.locales.some((w) => w.code === A.code) || e.state.update(DS, A.code); + for (const A of P.locales) + E.locales.includes(A) || e.state.update(Vf, A); + } + if ((k.includes("fallbackLocale") || k.includes("loaders")) && e.state.update(a_, P), k.includes("locale")) { + const A = P.locale ?? P.fallbackLocale; + h(A).catch((w) => { + un(w, "not-found") && console.warn(`[i18n] ${w.message}`); }); } - x = S; + E = P; }); }; return { @@ -47397,33 +48539,33 @@ function Bne(e) { ...t.api, t: c, getTranslator: l, - hasKey: (x) => OS(i(), x).found, + hasKey: (E) => HS(a(), E).found, getLocale: () => r().locale, getDirection: () => r().locales[r().locale]?.direction ?? "ltr", listLocales: u, getLoadingLocale: () => r().loading, - setLocale: g, - registerLocale: (x) => (e.state.update(qf, x), () => e.state.update(yS, x.code)), - addTranslations: (x, S) => { - if (!r().locales[x] && !t.get().loaders[x]) throw MS(x); - e.state.update(One, x, S); + setLocale: h, + registerLocale: (E) => (e.state.update(Vf, E), () => e.state.update(DS, E.code)), + addTranslations: (E, P) => { + if (!r().locales[E] && !t.get().loaders[E]) throw VS(E); + e.state.update(zoe, E, P); }, onLocaleChanged: n.on, onLocaleLoadFailed: o.on }, connect() { - h.connect(), m(); + g.connect(), m(); } }; } -const zne = (e) => ({ +const nre = (e) => ({ id: "i18n", scope: "workspace", - token: Cn, - state: xne, - settings: { defaults: Uz, registered: e }, - create: Bne -}), Wne = ln(Cn, { + token: Yo, + state: Foe, + settings: { defaults: nU, registered: e }, + create: tre +}), ore = pn(Yo, { read: (e) => ({ locale: e.getLocale(), direction: e.getDirection(), @@ -47431,170 +48573,170 @@ const zne = (e) => ({ loading: e.getLoadingLocale() }), empty: { locale: "en", direction: "ltr", locales: [], loading: null } -}), MI = Wn(Wne), $pe = bi(Cn); -function st() { - return Xe(Cn, (e) => e.getTranslator()); +}), Gf = zn(ore); +function it() { + return Ze(Yo, (e) => e.getTranslator()); } -const We = At("shell", { +const Ue = St("shell", { hint: "add shellPlugin() from '@embedpdf/plugin-shell' to your plugins list" -}), Jc = 5, EI = 3, Une = ["icon"], Kne = ["default"], Nw = (e) => e.kind === "custom" && e.terminal === null, Ia = (e) => e.kind === "command" ? e.command : e.terminal; -function qne(e, t, n) { - const o = typeof t == "string" ? { command: t } : t, r = o.importance ?? e.importance ?? EI, s = "slot" in o ? { +}), Zc = 5, u_ = 3, rre = ["icon"], sre = ["default"], Hw = (e) => e.kind === "custom" && e.terminal === null, Ci = (e) => e.kind === "command" ? e.command : e.terminal; +function are(e, t, n) { + const o = typeof t == "string" ? { command: t } : t, r = o.importance ?? e.importance ?? u_, s = "slot" in o ? { kind: "custom", key: `${e.id}:${o.slot}`, slot: o.slot, - variants: o.variants ?? Kne, + variants: o.variants ?? sre, terminal: o.terminal ?? null, - importance: o.terminal === void 0 ? Jc : r, + importance: o.terminal === void 0 ? Zc : r, grow: o.grow === !0 } : { kind: "command", key: `${e.id}:${o.command}`, command: o.command, - variants: o.variants ?? Une, + variants: o.variants ?? rre, importance: r }; if (s.variants.length === 0) throw new Error(`[ui-core] empty variant ladder: ${s.key}`); if (n.has(s.key)) throw new Error(`[ui-core] duplicate unit in bar: ${s.key}`); return n.add(s.key), s; } -function rh(e) { +function lh(e) { const t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set(), o = []; for (const r of ["start", "center", "end"]) { const s = e.sections[r]; !s || s.length === 0 || o.push({ name: r, - groups: s.map((i) => { - if (n.has(i.id)) - throw new Error(`[ui-core] duplicate group in bar: ${i.id}`); - n.add(i.id); - const a = i.items.map((c) => qne(i, c, t)); + groups: s.map((a) => { + if (n.has(a.id)) + throw new Error(`[ui-core] duplicate group in bar: ${a.id}`); + n.add(a.id); + const i = a.items.map((c) => are(a, c, t)); return { - id: i.id, - labelKey: i.labelKey, - role: i.role ?? "buttons", - shed: i.shed ?? !1, - collapse: i.collapse, - importance: a.some(Nw) ? Jc : i.importance ?? EI, - dependent: i.dependent === !0, - units: a + id: a.id, + labelKey: a.labelKey, + role: a.role ?? "buttons", + shed: a.shed ?? !1, + collapse: a.collapse, + importance: i.some(Hw) ? Zc : a.importance ?? u_, + dependent: a.dependent === !0, + units: i }; }) }); } return { id: e.id, sections: o }; } -function CI(e, t) { - const n = Tw(e, t); +function d_(e, t) { + const n = Vw(e, t); return { id: e.id, sections: e.sections.map((o) => ({ name: o.name, groups: o.groups.map((r) => ({ ...r, - units: n ? r.units.filter((s) => Nw(s) || t(s)) : [] + units: n ? r.units.filter((s) => Hw(s) || t(s)) : [] })) })) }; } -function Tw(e, t) { +function Vw(e, t) { return e.sections.some( (n) => n.groups.some( - (o) => !o.dependent && o.units.some((r) => Nw(r) || t(r)) + (o) => !o.dependent && o.units.some((r) => Hw(r) || t(r)) ) ); } -function Hne(e, t) { +function ire(e, t) { if (e === t) return 0; let n = [], o = Array.from({ length: t.length + 1 }, (r, s) => s); for (let r = 1; r <= e.length; r++) { const s = [r]; - for (let i = 1; i <= t.length; i++) { - const a = e[r - 1] === t[i - 1] ? 0 : 1; - let c = Math.min(o[i] + 1, s[i - 1] + 1, o[i - 1] + a); - r > 1 && i > 1 && e[r - 1] === t[i - 2] && e[r - 2] === t[i - 1] && (c = Math.min(c, n[i - 2] + 1)), s.push(c); + for (let a = 1; a <= t.length; a++) { + const i = e[r - 1] === t[a - 1] ? 0 : 1; + let c = Math.min(o[a] + 1, s[a - 1] + 1, o[a - 1] + i); + r > 1 && a > 1 && e[r - 1] === t[a - 2] && e[r - 2] === t[a - 1] && (c = Math.min(c, n[a - 2] + 1)), s.push(c); } n = o, o = s; } return o[t.length]; } -function Vne(e, t) { +function cre(e, t) { const n = Math.min(3, Math.max(1, Math.floor(e.length / 3))); let o = null, r = n + 1; for (const s of t) { if (s === e) continue; - const i = Hne(e, s); - i < r && (o = s, r = i); + const a = ire(e, s); + a < r && (o = s, r = a); } return o; } -function an(e, t) { - const n = Vne(e, t); +function dn(e, t) { + const n = cre(e, t); return n === null ? "" : ` (did you mean "${n}"?)`; } -const sh = /* @__PURE__ */ new WeakMap(); -function II(e = {}) { - return Rw(e, []); +const uh = /* @__PURE__ */ new WeakMap(); +function f_(e = {}) { + return Gw(e, []); } -function kb(e) { - return typeof e == "object" && e !== null && sh.has(e); +function _b(e) { + return typeof e == "object" && e !== null && uh.has(e); } -function Gne(e) { - return sh.get(e)?.warnings ?? []; +function lre(e) { + return uh.get(e)?.warnings ?? []; } -function _I(e, t) { - const n = sh.get(e); - return n ? Rw(n.data, [...n.warnings, t]) : e; +function p_(e, t) { + const n = uh.get(e); + return n ? Gw(n.data, [...n.warnings, t]) : e; } -function Rw(e, t) { - const n = ([r, s]) => Rw(r, s.length > 0 ? [...t, ...s] : t), o = Object.freeze({ - place: (r, s) => n(Xne(e, r, s)), +function Gw(e, t) { + const n = ([r, s]) => Gw(r, s.length > 0 ? [...t, ...s] : t), o = Object.freeze({ + place: (r, s) => n(fre(e, r, s)), addBar: (r, s) => n([no(e, "bars", r, s), []]), - removeBar: (r) => n(Zne(e, typeof r == "string" ? [r] : r)), - add: (r, s) => n(Jne(e, r, s)), - remove: (r, s) => n(noe(e, typeof r == "string" ? [r] : r, s)), - replace: (r, s) => n(ooe(e, r, s)), + removeBar: (r) => n(pre(e, typeof r == "string" ? [r] : r)), + add: (r, s) => n(hre(e, r, s)), + remove: (r, s) => n(bre(e, typeof r == "string" ? [r] : r, s)), + replace: (r, s) => n(yre(e, r, s)), addMenu: (r, s) => n([no(e, "menus", r, s), []]), addPanel: (r, s) => n([no(e, "panels", r, s), []]), - panel: (r, s) => n(roe(e, r, s)), - panels: (r) => n([soe(e, r), []]), - removePanel: (r) => n(ioe(e, r)), + panel: (r, s) => n(wre(e, r, s)), + panels: (r) => n([vre(e, r), []]), + removePanel: (r) => n(kre(e, r)), tabs: (r) => n([{ ...e, tabs: r }, []]), toJSON: () => e }); - return sh.set(o, { data: e, warnings: t }), o; + return uh.set(o, { data: e, warnings: t }), o; } -const is = ["start", "center", "end"], _a = (e) => typeof e == "object" && e !== null && !Array.isArray(e) && "items" in e; -function Js(e, t) { +const is = ["start", "center", "end"], Ii = (e) => typeof e == "object" && e !== null && !Array.isArray(e) && "items" in e; +function ta(e, t) { const n = e[t]; return Array.isArray(n) ? n : []; } function Ho(e) { - return Array.isArray(e) ? e : _a(e) ? Array.isArray(e.items) ? e.items : [] : [e]; + return Array.isArray(e) ? e : Ii(e) ? Array.isArray(e.items) ? e.items : [] : [e]; } -function zo(e) { +function Bo(e) { return typeof e == "string" ? e : typeof e != "object" || e === null ? "" : "custom" in e ? e.custom : e.command; } -function Yne(e) { +function ure(e) { return typeof e == "string" ? e : typeof e != "object" || e === null ? null : "custom" in e ? e.command ?? null : e.command; } -function Xa(e) { +function Qi(e) { if (typeof e == "string") return e.length > 0; if (typeof e != "object" || e === null || Array.isArray(e)) return !1; const t = e; return typeof t.custom == "string" || typeof t.command == "string"; } -function iu(e) { +function lu(e) { return typeof e == "object" && e !== null && "with" in e ? e.with : null; } -function NI(e) { +function h_(e) { return typeof e == "object" && e !== null && "panel" in e ? e.panel : null; } -function _l(e) { +function Nl(e) { const t = /* @__PURE__ */ new Set(); for (const n of is) - for (const o of Js(e, n)) - for (const r of Ho(o)) Xa(r) && t.add(zo(r)); + for (const o of ta(e, n)) + for (const r of Ho(o)) Qi(r) && t.add(Bo(r)); return [...t]; } function gs(e) { @@ -47602,126 +48744,126 @@ function gs(e) { const t = e?.items; return Array.isArray(t) ? t : []; } -const di = (e) => Array.isArray(e) ? e : [], Na = (e) => [ - ...new Set(di(e).flatMap((t) => gs(t))) -], ko = (e) => e.bars ?? {}, fi = (e) => e.menus ?? {}, Nl = (e) => e.panels ?? {}; +const pa = (e) => Array.isArray(e) ? e : [], _i = (e) => [ + ...new Set(pa(e).flatMap((t) => gs(t))) +], ko = (e) => e.bars ?? {}, ha = (e) => e.menus ?? {}, Tl = (e) => e.panels ?? {}; function no(e, t, n, o) { return { ...e, [t]: { ...e[t], [n]: o } }; } -function Qne(e, t, n) { +function dre(e, t, n) { const { [n]: o, ...r } = e[t] ?? {}; return { ...e, [t]: r }; } -function Tl(e, t) { - return t.length === 0 ? Ho(e).length === 0 ? e : null : _a(e) ? { ...e, items: t } : Array.isArray(e) ? t : t.length === 1 ? t[0] : t; -} function Rl(e, t) { + return t.length === 0 ? Ho(e).length === 0 ? e : null : Ii(e) ? { ...e, items: t } : Array.isArray(e) ? t : t.length === 1 ? t[0] : t; +} +function Ll(e, t) { const n = {}; - for (const a of is) { - const c = Js(e, a); + for (const i of is) { + const c = ta(e, i); if (c.length === 0) continue; - const l = c.map((u, f) => t(u, a, f)).filter((u) => u !== null); - l.length > 0 && (n[a] = l); + const l = c.map((u, f) => t(u, i, f)).filter((u) => u !== null); + l.length > 0 && (n[i] = l); } - const { start: o, center: r, end: s, ...i } = e; - return { ...i, ...n }; + const { start: o, center: r, end: s, ...a } = e; + return { ...a, ...n }; } -function ih(e, t) { +function dh(e, t) { return t.length === 0 ? null : Array.isArray(e) ? t : { ...e, items: t }; } -const Hf = (e, t, n, o) => `${e}: "${t}" is not in "${n}"${an(t, o)}`; -function Xne(e, t, n) { +const Yf = (e, t, n, o) => `${e}: "${t}" is not in "${n}"${dn(t, o)}`; +function fre(e, t, n) { const o = ko(e)[t]; - return o ? [no(e, "bars", t, { ...o, place: n }), []] : [e, [`place: no bar "${t}"${an(t, Object.keys(ko(e)))}`]]; + return o ? [no(e, "bars", t, { ...o, place: n }), []] : [e, [`place: no bar "${t}"${dn(t, Object.keys(ko(e)))}`]]; } -function TI(e, t) { +function g_(e, t) { const n = ko(e), o = new Set(t.filter((s) => n[s] !== void 0)); if (o.size === 0) return e; for (let s = !0; s; ) { s = !1; - for (const [i, a] of Object.entries(n)) { - const c = iu(a?.place); - c !== null && o.has(c) && !o.has(i) && (o.add(i), s = !0); + for (const [a, i] of Object.entries(n)) { + const c = lu(i?.place); + c !== null && o.has(c) && !o.has(a) && (o.add(a), s = !0); } } const r = Object.fromEntries(Object.entries(n).filter(([s]) => !o.has(s))); return { ...e, bars: r }; } -function Zne(e, t) { +function pre(e, t) { const n = ko(e), o = t.filter((r) => n[r] === void 0); return [ - TI(e, t), - o.map((r) => `removeBar: no bar "${r}"${an(r, Object.keys(n))}`) + g_(e, t), + o.map((r) => `removeBar: no bar "${r}"${dn(r, Object.keys(n))}`) ]; } -function Jne(e, t, n) { - if (!Xa(t)) return [e, [`add: ${JSON.stringify(t)} is not an item`]]; +function hre(e, t, n) { + if (!Qi(t)) return [e, [`add: ${JSON.stringify(t)} is not an item`]]; const o = n?.to; - if (!o) return [e, [`add: "${zo(t)}" needs a bar or menu to go to ({ to })`]]; + if (!o) return [e, [`add: "${Bo(t)}" needs a bar or menu to go to ({ to })`]]; const r = ko(e)[o]; - if (r) return eoe(e, o, r, t, n); - const s = fi(e)[o]; - if (s) return toe(e, o, s, t, n); - const i = [...Object.keys(ko(e)), ...Object.keys(fi(e))]; - return [e, [`add: no bar or menu "${o}"${an(o, i)}`]]; -} -function eoe(e, t, n, o, r) { - const s = zo(o), i = [], a = (p) => p.some((h) => zo(h) === s), c = `add: "${s}" is already in that group of "${t}"`, l = r.before ?? r.after; + if (r) return gre(e, o, r, t, n); + const s = ha(e)[o]; + if (s) return mre(e, o, s, t, n); + const a = [...Object.keys(ko(e)), ...Object.keys(ha(e))]; + return [e, [`add: no bar or menu "${o}"${dn(o, a)}`]]; +} +function gre(e, t, n, o, r) { + const s = Bo(o), a = [], i = (p) => p.some((g) => Bo(g) === s), c = `add: "${s}" is already in that group of "${t}"`, l = r.before ?? r.after; if (l !== void 0) { for (const p of is) { - const h = Js(n, p); - for (let g = 0; g < h.length; g++) { - const m = Ho(h[g]), M = m.findIndex((k) => zo(k) === l); - if (M === -1) continue; - if (a(m)) return [e, [c]]; - const x = r.before !== void 0 ? M : M + 1, S = [...m.slice(0, x), o, ...m.slice(x)], P = Rl( + const g = ta(n, p); + for (let h = 0; h < g.length; h++) { + const m = Ho(g[h]), O = m.findIndex((A) => Bo(A) === l); + if (O === -1) continue; + if (i(m)) return [e, [c]]; + const E = r.before !== void 0 ? O : O + 1, P = [...m.slice(0, E), o, ...m.slice(E)], k = Ll( n, - (k, A, y) => A === p && y === g ? Tl(k, S) : k + (A, w, b) => w === p && b === h ? Rl(A, P) : A ); - return [no(e, "bars", t, P), []]; + return [no(e, "bars", t, k), []]; } } - i.push(Hf("add", l, t, _l(n))); + a.push(Yf("add", l, t, Nl(n))); } if (r.group !== void 0) for (const p of is) { - const h = Js(n, p), g = h.findIndex( - (x) => _a(x) && x.id === r.group + const g = ta(n, p), h = g.findIndex( + (E) => Ii(E) && E.id === r.group ); - if (g === -1) continue; - const m = Ho(h[g]); - if (a(m)) return [e, [c]]; - const M = Rl( + if (h === -1) continue; + const m = Ho(g[h]); + if (i(m)) return [e, [c]]; + const O = Ll( n, - (x, S, P) => S === p && P === g ? Tl(x, [...m, o]) : x + (E, P, k) => P === p && k === h ? Rl(E, [...m, o]) : E ); - return [no(e, "bars", t, M), i]; + return [no(e, "bars", t, O), a]; } let u = r.section ?? "end"; - is.includes(u) || (i.push(`add: "${u}" is not a section (start, center or end); using "end"`), u = "end"); - const f = r.group !== void 0 ? { id: r.group, items: [o] } : [o], d = { ...n, [u]: [...Js(n, u), f] }; - return [no(e, "bars", t, d), i]; + is.includes(u) || (a.push(`add: "${u}" is not a section (start, center or end); using "end"`), u = "end"); + const f = r.group !== void 0 ? { id: r.group, items: [o] } : [o], d = { ...n, [u]: [...ta(n, u), f] }; + return [no(e, "bars", t, d), a]; } -function toe(e, t, n, o, r) { +function mre(e, t, n, o, r) { const s = typeof o == "string" ? o : "custom" in o ? null : o.command; if (s === null) return [e, [`add: "${t}" is a menu, which holds commands, not your own components`]]; - if (Na(n).includes(s)) + if (_i(n).includes(s)) return [e, [`add: "${s}" is already in "${t}"`]]; - const i = [], a = r.before ?? r.after; - if (a !== void 0) { - const c = di(n), l = c.findIndex((u) => gs(u).includes(a)); + const a = [], i = r.before ?? r.after; + if (i !== void 0) { + const c = pa(n), l = c.findIndex((u) => gs(u).includes(i)); if (l !== -1) { - const u = gs(c[l]), f = u.indexOf(a), d = r.before !== void 0 ? f : f + 1, p = [...u.slice(0, d), s, ...u.slice(d)], h = c.map( - (g, m) => m === l ? ih(g, p) : g + const u = gs(c[l]), f = u.indexOf(i), d = r.before !== void 0 ? f : f + 1, p = [...u.slice(0, d), s, ...u.slice(d)], g = c.map( + (h, m) => m === l ? dh(h, p) : h ); - return [no(e, "menus", t, h), []]; + return [no(e, "menus", t, g), []]; } - i.push(Hf("add", a, t, Na(n))); + a.push(Yf("add", i, t, _i(n))); } - return [no(e, "menus", t, [...di(n), [s]]), i]; + return [no(e, "menus", t, [...pa(n), [s]]), a]; } -function noe(e, t, n) { +function bre(e, t, n) { const o = n?.from; if (!o) return [ @@ -47730,129 +48872,129 @@ function noe(e, t, n) { `remove: ${t.map((l) => `"${l}"`).join(", ")} needs a bar or menu to come out of ({ from }); to leave something out everywhere, turn it off with \`disable\`` ] ]; - const r = new Set(t), s = /* @__PURE__ */ new Set(), i = ko(e)[o]; - if (i) { - const l = Rl( - i, - (f) => Tl( + const r = new Set(t), s = /* @__PURE__ */ new Set(), a = ko(e)[o]; + if (a) { + const l = Ll( + a, + (f) => Rl( f, Ho(f).filter((d) => { - const p = zo(d); + const p = Bo(d); return r.has(p) ? (s.add(p), !1) : !0; }) ) ), u = t.filter((f) => !s.has(f)); return [ s.size > 0 ? no(e, "bars", o, l) : e, - u.map((f) => Hf("remove", f, o, _l(i))) + u.map((f) => Yf("remove", f, o, Nl(a))) ]; } - const a = fi(e)[o]; - if (a) { - const l = di(a).map( - (f) => ih( + const i = ha(e)[o]; + if (i) { + const l = pa(i).map( + (f) => dh( f, gs(f).filter((d) => r.has(d) ? (s.add(d), !1) : !0) ) ).filter((f) => f !== null), u = t.filter((f) => !s.has(f)); return [ s.size > 0 ? no(e, "menus", o, l) : e, - u.map((f) => Hf("remove", f, o, Na(a))) + u.map((f) => Yf("remove", f, o, _i(i))) ]; } - const c = [...Object.keys(ko(e)), ...Object.keys(fi(e))]; - return [e, [`remove: no bar or menu "${o}"${an(o, c)}`]]; + const c = [...Object.keys(ko(e)), ...Object.keys(ha(e))]; + return [e, [`remove: no bar or menu "${o}"${dn(o, c)}`]]; } -function ooe(e, t, n) { - if (!Xa(n)) return [e, [`replace: ${JSON.stringify(n)} is not an item`]]; +function yre(e, t, n) { + if (!Qi(n)) return [e, [`replace: ${JSON.stringify(n)} is not an item`]]; let o = !1; const r = {}; - for (const [a, c] of Object.entries(ko(e))) { - if (!_l(c).includes(t)) { - r[a] = c; + for (const [i, c] of Object.entries(ko(e))) { + if (!Nl(c).includes(t)) { + r[i] = c; continue; } - o = !0, r[a] = Rl( + o = !0, r[i] = Ll( c, - (l) => Tl( + (l) => Rl( l, - Ho(l).map((u) => zo(u) === t ? n : u) + Ho(l).map((u) => Bo(u) === t ? n : u) ) ); } - const s = typeof n == "string" ? n : "custom" in n ? null : n.command, i = {}; - for (const [a, c] of Object.entries(fi(e))) { - if (s === null || !Na(c).includes(t)) { - i[a] = c; + const s = typeof n == "string" ? n : "custom" in n ? null : n.command, a = {}; + for (const [i, c] of Object.entries(ha(e))) { + if (s === null || !_i(c).includes(t)) { + a[i] = c; continue; } - o = !0, i[a] = di(c).map( - (l) => ih( + o = !0, a[i] = pa(c).map( + (l) => dh( l, gs(l).map((u) => u === t ? s : u) ) ); } if (!o) { - const a = [ - ...Object.values(ko(e)).flatMap(_l), - ...Object.values(fi(e)).flatMap(Na) + const i = [ + ...Object.values(ko(e)).flatMap(Nl), + ...Object.values(ha(e)).flatMap(_i) ]; - return [e, [`replace: "${t}" is in no bar or menu${an(t, a)}`]]; + return [e, [`replace: "${t}" is in no bar or menu${dn(t, i)}`]]; } - return [{ ...e, bars: r, menus: i }, []]; + return [{ ...e, bars: r, menus: a }, []]; } -const RI = (e) => typeof e == "string" ? { compact: e, medium: e, expanded: e } : e, xb = (e) => typeof e == "number" ? { initial: e } : e; -function LI(e, t) { +const m_ = (e) => typeof e == "string" ? { compact: e, medium: e, expanded: e } : e, Nb = (e) => typeof e == "number" ? { initial: e } : e; +function b_(e, t) { const n = { ...e }; - for (const [s, i] of Object.entries(t)) - i !== void 0 && (n[s] = i); + for (const [s, a] of Object.entries(t)) + a !== void 0 && (n[s] = a); t.title !== void 0 && t.titleKey === void 0 && delete n.titleKey, t.titleKey !== void 0 && t.title === void 0 && delete n.title; const { present: o, width: r } = t; - return typeof o == "object" && e.present !== void 0 && (n.present = { ...RI(e.present), ...o }), r !== void 0 && e.width !== void 0 && (typeof r == "object" || typeof e.width == "object") && (n.width = { ...xb(e.width), ...xb(r) }), n; + return typeof o == "object" && e.present !== void 0 && (n.present = { ...m_(e.present), ...o }), r !== void 0 && e.width !== void 0 && (typeof r == "object" || typeof e.width == "object") && (n.width = { ...Nb(e.width), ...Nb(r) }), n; } -function roe(e, t, n) { - const o = Nl(e)[t]; - return o ? [no(e, "panels", t, LI(o, n)), []] : [e, [`panel: no panel "${t}"${an(t, Object.keys(Nl(e)))}`]]; +function wre(e, t, n) { + const o = Tl(e)[t]; + return o ? [no(e, "panels", t, b_(o, n)), []] : [e, [`panel: no panel "${t}"${dn(t, Object.keys(Tl(e)))}`]]; } -function soe(e, t) { +function vre(e, t) { const n = Object.fromEntries( - Object.entries(Nl(e)).map(([o, r]) => [o, LI(r, t)]) + Object.entries(Tl(e)).map(([o, r]) => [o, b_(r, t)]) ); return { ...e, panels: n }; } -function ioe(e, t) { - if (!Nl(e)[t]) - return [e, [`removePanel: no panel "${t}"${an(t, Object.keys(Nl(e)))}`]]; +function kre(e, t) { + if (!Tl(e)[t]) + return [e, [`removePanel: no panel "${t}"${dn(t, Object.keys(Tl(e)))}`]]; const n = `panel:${t}`, o = Object.fromEntries( - Object.entries(ko(e)).map(([i, a]) => [ - i, - _l(a).includes(n) ? Rl( - a, - (c) => Tl( + Object.entries(ko(e)).map(([a, i]) => [ + a, + Nl(i).includes(n) ? Ll( + i, + (c) => Rl( c, - Ho(c).filter((l) => zo(l) !== n) + Ho(c).filter((l) => Bo(l) !== n) ) - ) : a + ) : i ]) ), r = Object.fromEntries( - Object.entries(fi(e)).map(([i, a]) => [ - i, - Na(a).includes(n) ? di(a).map( - (c) => ih( + Object.entries(ha(e)).map(([a, i]) => [ + a, + _i(i).includes(n) ? pa(i).map( + (c) => dh( c, gs(c).filter((l) => l !== n) ) - ).filter((c) => c !== null) : a + ).filter((c) => c !== null) : i ]) - ), s = Object.keys(o).filter((i) => NI(o[i]?.place) === t); - return [TI({ ...Qne(e, "panels", t), bars: o, menus: r }, s), []]; + ), s = Object.keys(o).filter((a) => h_(o[a]?.place) === t); + return [g_({ ...dre(e, "panels", t), bars: o, menus: r }, s), []]; } -const aoe = 600, jI = 1024; -function coe(e) { - return e < aoe ? "compact" : e < jI ? "medium" : "expanded"; +const xre = 600, y_ = 1024; +function Are(e) { + return e < xre ? "compact" : e < y_ ? "medium" : "expanded"; } -function loe(e, t, n) { +function Sre(e, t, n) { if (e === void 0) return t; if (typeof e == "function") { let o; @@ -47860,22 +49002,22 @@ function loe(e, t, n) { o = e(t, n); } catch (r) { const s = r instanceof Error ? r.message : String(r); - return _I( + return p_( t, `the layout function threw (${s}); showing the default layout` ); } - return ES(o, t, "the layout function returned"); + return GS(o, t, "the layout function returned"); } - return ES(e, t, "layout is"); + return GS(e, t, "layout is"); } -function ES(e, t, n) { - return kb(e) ? e : typeof e == "object" && e !== null && !Array.isArray(e) ? II(e) : _I( +function GS(e, t, n) { + return _b(e) ? e : typeof e == "object" && e !== null && !Array.isArray(e) ? f_(e) : p_( t, `${n} ${e === void 0 ? "nothing" : typeof e}, not a layout; showing the default layout` ); } -const uoe = "modes", Ll = "mode:view", ms = (e) => `mode:${e}`, bs = (e) => `panel:${e}`, CS = ["top", "bottom", "start", "end"], doe = [ +const Ore = "modes", jl = "mode:view", ms = (e) => `mode:${e}`, bs = (e) => `panel:${e}`, YS = ["top", "bottom", "start", "end"], Pre = [ "top-start", "top", "top-end", @@ -47887,75 +49029,75 @@ const uoe = "modes", Ll = "mode:view", ms = (e) => `mode:${e}`, bs = (e) => `pan ], As = (e) => Object.entries(e.bars ?? {}).filter( (t) => typeof t[1] == "object" && t[1] !== null ); -function FI(e) { - return typeof e == "string" ? CS.includes(e) ? e : null : typeof e == "object" && e !== null && "edge" in e && CS.includes(e.edge) ? e.edge : null; +function w_(e) { + return typeof e == "string" ? YS.includes(e) ? e : null : typeof e == "object" && e !== null && "edge" in e && YS.includes(e.edge) ? e.edge : null; } -function foe(e) { +function Mre(e) { return typeof e == "object" && e !== null && "at" in e ? e.at : null; } -function DI(e) { - return typeof e == "object" && e !== null && "float" in e && doe.includes(e.float) ? e.float : null; +function v_(e) { + return typeof e == "object" && e !== null && "float" in e && Pre.includes(e.float) ? e.float : null; } -function poe(e, t) { - const n = As(e).filter(([, i]) => FI(i.place) === t), o = (i) => typeof i == "object" && i !== null && "edge" in i ? i.before !== void 0 ? { id: i.before, after: !1 } : i.after !== void 0 ? { id: i.after, after: !0 } : null : null, r = n.filter(([, i]) => o(i.place) === null).map(([i]) => i); - let s = n.filter(([, i]) => o(i.place) !== null); - for (let i = !0; i && s.length > 0; ) - i = !1, s = s.filter(([a, c]) => { +function Ere(e, t) { + const n = As(e).filter(([, a]) => w_(a.place) === t), o = (a) => typeof a == "object" && a !== null && "edge" in a ? a.before !== void 0 ? { id: a.before, after: !1 } : a.after !== void 0 ? { id: a.after, after: !0 } : null : null, r = n.filter(([, a]) => o(a.place) === null).map(([a]) => a); + let s = n.filter(([, a]) => o(a.place) !== null); + for (let a = !0; a && s.length > 0; ) + a = !1, s = s.filter(([i, c]) => { const l = o(c.place), u = r.indexOf(l.id); - return u === -1 ? !0 : (r.splice(l.after ? u + 1 : u, 0, a), i = !0, !1); + return u === -1 ? !0 : (r.splice(l.after ? u + 1 : u, 0, i), a = !0, !1); }); - return [...r, ...s.map(([i]) => i)]; + return [...r, ...s.map(([a]) => a)]; } -function hoe(e, t) { - return As(e).filter(([, n]) => iu(n.place) === t).map(([n]) => n); +function Cre(e, t) { + return As(e).filter(([, n]) => lu(n.place) === t).map(([n]) => n); } -function $I(e, t) { +function k_(e, t) { const n = [], o = (r) => { if (!n.includes(r)) { n.push(r); - for (const s of hoe(e, r)) o(s); + for (const s of Cre(e, r)) o(s); } }; for (const r of t) o(r); return n; } -function goe(e, t) { - return $I(e, poe(e, t)); +function Ire(e, t) { + return k_(e, Ere(e, t)); } -function moe(e, t) { - return As(e).filter(([, n]) => DI(n.place) === t).map(([n]) => n); +function _re(e, t) { + return As(e).filter(([, n]) => v_(n.place) === t).map(([n]) => n); } -function boe(e, t) { - return $I(e, moe(e, t)); +function Nre(e, t) { + return k_(e, _re(e, t)); } -function yoe(e, t) { +function Tre(e, t) { const n = /* @__PURE__ */ new Set(); for (let o = t; o !== null && !n.has(o); ) { n.add(o); const r = e.bars?.[o]?.place; - if (DI(r) !== null) { + if (v_(r) !== null) { const s = r.hideWhenIdle; return typeof s == "boolean" ? s : void 0; } - o = iu(r); + o = lu(r); } } -function woe(e, t) { - return As(e).filter(([, n]) => foe(n.place) === t).map(([n]) => n); +function Rre(e, t) { + return As(e).filter(([, n]) => Mre(n.place) === t).map(([n]) => n); } -function voe(e, t) { - return As(e).filter(([, n]) => NI(n.place) === t).map(([n]) => n); +function Lre(e, t) { + return As(e).filter(([, n]) => h_(n.place) === t).map(([n]) => n); } -function Ta(e) { +function Ni(e) { const t = /* @__PURE__ */ new Set(); for (const [, n] of As(e)) typeof n.mode == "string" && n.mode.length > 0 && t.add(n.mode); return [...t]; } -function BI(e, t) { +function x_(e, t) { return As(e).filter(([, n]) => n.mode === t).map(([n]) => n); } -const koe = /* @__PURE__ */ new Set(), xoe = (e) => { +const jre = /* @__PURE__ */ new Set(), Fre = (e) => { if (typeof e == "string") return e; if ("custom" in e) { const n = { slot: e.custom }; @@ -47964,92 +49106,92 @@ const koe = /* @__PURE__ */ new Set(), xoe = (e) => { const t = { command: e.command }; return e.variants !== void 0 && (t.variants = e.variants), e.importance !== void 0 && (t.importance = e.importance), e.emphasis === "primary" && (t.emphasis = "primary"), t; }; -function Aoe(e, t) { - const n = Ta(e).map(ms).filter((r) => !t.has(r)); - return n.length === 0 ? [] : (t.has(Ll) ? n : [Ll, ...n]).map((r) => ({ command: r, variants: ["label"], importance: 1 })); +function Dre(e, t) { + const n = Ni(e).map(ms).filter((r) => !t.has(r)); + return n.length === 0 ? [] : (t.has(jl) ? n : [jl, ...n]).map((r) => ({ command: r, variants: ["label"], importance: 1 })); } -function Lw(e, t, n = {}) { +function Yw(e, t, n = {}) { const o = e.bars?.[t]; if (typeof o != "object" || o === null) return null; - const r = n.omit ?? koe, s = /* @__PURE__ */ new Set(), i = (c) => { + const r = n.omit ?? jre, s = /* @__PURE__ */ new Set(), a = (c) => { let l = c; for (let u = 2; s.has(l); u++) l = `${c}-${u}`; return s.add(l), l; - }, a = {}; + }, i = {}; for (const c of is) { const l = []; - Js(o, c).forEach((u, f) => { - const d = _a(u) ? u : null, p = /* @__PURE__ */ new Set(); - let h = Ho(u).filter((M) => { - if (!Xa(M)) return !1; - const x = zo(M); - return p.has(x) ? !1 : (p.add(x), typeof M == "object" && "custom" in M ? !0 : !r.has(x)); + ta(o, c).forEach((u, f) => { + const d = Ii(u) ? u : null, p = /* @__PURE__ */ new Set(); + let g = Ho(u).filter((O) => { + if (!Qi(O)) return !1; + const E = Bo(O); + return p.has(E) ? !1 : (p.add(E), typeof O == "object" && "custom" in O ? !0 : !r.has(E)); }); - const g = d?.id === uoe; - if (g && (h = [...Aoe(e, r).filter((M) => !p.has(M.command)), ...h]), h.length === 0) return; + const h = d?.id === Ore; + if (h && (g = [...Dre(e, r).filter((O) => !p.has(O.command)), ...g]), g.length === 0) return; const m = { - id: i(d?.id ?? `${c}-${f}`), - items: h.map(xoe) + id: a(d?.id ?? `${c}-${f}`), + items: g.map(Fre) }; - g && (m.role = "tabs"), d?.titleKey !== void 0 && (m.labelKey = d.titleKey), d?.shed !== void 0 && (m.shed = d.shed), d?.collapse !== void 0 && (m.collapse = d.collapse), d?.importance !== void 0 && (m.importance = d.importance), d?.dependent === !0 && (m.dependent = !0), l.push(m); - }), l.length > 0 && (a[c] = l); + h && (m.role = "tabs"), d?.titleKey !== void 0 && (m.labelKey = d.titleKey), d?.shed !== void 0 && (m.shed = d.shed), d?.collapse !== void 0 && (m.collapse = d.collapse), d?.importance !== void 0 && (m.importance = d.importance), d?.dependent === !0 && (m.dependent = !0), l.push(m); + }), l.length > 0 && (i[c] = l); } - return { id: t, sections: a }; + return { id: t, sections: i }; } -function Soe(e) { +function $re(e) { return e.tabs ?? "multiple"; } -function jw(e, t) { +function Qw(e, t) { const n = e.menus?.[t]; if (!n) return null; const o = (r) => [ ...new Set(gs(r).filter((s) => typeof s == "string")) ]; - return di(n).map((r) => { + return pa(n).map((r) => { if (Array.isArray(r) || typeof r != "object" || r === null) return { items: o(r) }; - const s = r, i = { + const s = r, a = { items: o(r) }; - return s.title !== void 0 && (i.title = s.title), s.titleKey !== void 0 && (i.titleKey = s.titleKey), i; + return s.title !== void 0 && (a.title = s.title), s.titleKey !== void 0 && (a.titleKey = s.titleKey), a; }).filter((r) => r.items.length > 0); } -const IS = /* @__PURE__ */ new WeakMap(); -function Poe(e) { - const t = IS.get(e); +const QS = /* @__PURE__ */ new WeakMap(); +function Bre(e) { + const t = QS.get(e); if (t) return t; - const n = Ta(e).map( - (i) => [i, BI(e, i).map((a) => rh(Lw(e, a)))] + const n = Ni(e).map( + (a) => [a, x_(e, a).map((i) => lh(Yw(e, i)))] ), o = new Map( - Object.keys(e.menus ?? {}).map((i) => [ - i, - jw(e, i).flatMap((a) => a.items) + Object.keys(e.menus ?? {}).map((a) => [ + a, + Qw(e, a).flatMap((i) => i.items) ]) ), r = /* @__PURE__ */ new Set(); - for (const [, i] of As(e)) - for (const a of is) - for (const c of Js(i, a)) + for (const [, a] of As(e)) + for (const i of is) + for (const c of ta(a, i)) for (const l of Ho(c)) - typeof l == "string" ? r.add(l) : Xa(l) && !("custom" in l) && r.add(l.command); + typeof l == "string" ? r.add(l) : Qi(l) && !("custom" in l) && r.add(l.command); const s = { modes: n, menus: o, buttons: [...r] }; - return IS.set(e, s), s; + return QS.set(e, s), s; } -function Ooe(e, t) { - const n = Poe(e), o = (s) => t(s)?.visible === !0, r = []; - for (const [s, i] of n.modes) +function zre(e, t, n = t) { + const o = Bre(e), r = (a) => t(a)?.visible === !0, s = []; + for (const [a, i] of o.modes) i.some( - (c) => Tw(c, (l) => { - const u = Ia(l); - return u !== null && o(u); + (l) => Vw(l, (u) => { + const f = Ci(u); + return f !== null && r(f); }) - ) || r.push(ms(s)); - for (const s of n.buttons) { - const i = t(s)?.menu; - i !== void 0 && !(n.menus.get(i) ?? []).some(o) && r.push(s); + ) || s.push(ms(a)); + for (const a of o.buttons) { + const i = n(a)?.menu; + i !== void 0 && !(o.menus.get(i) ?? []).some(r) && s.push(a); } - return r.sort(); + return s.sort(); } -const _S = ["top", "bottom", "start", "end"], NS = [ +const XS = ["top", "bottom", "start", "end"], ZS = [ "top-start", "top", "top-end", @@ -48058,17 +49200,17 @@ const _S = ["top", "bottom", "start", "end"], NS = [ "bottom-start", "bottom", "bottom-end" -], Moe = ["selection", "annotation", "snapshot"], TS = ["dock", "overlay", "sheet"], RS = ["compact", "medium", "expanded"], Eoe = ["initial", "min", "max"], Coe = ["always", "multiple", "never"]; -function Ioe(e, t) { - const n = kb(e) ? [...Gne(e)] : [], o = kb(e) ? e.toJSON() : e; +], Wre = ["selection", "annotation", "snapshot"], JS = ["dock", "overlay", "sheet"], e6 = ["compact", "medium", "expanded"], Ure = ["initial", "min", "max"], Kre = ["always", "multiple", "never"]; +function qre(e, t) { + const n = _b(e) ? [...lre(e)] : [], o = _b(e) ? e.toJSON() : e; if (typeof o != "object" || o === null) return [...n, "the layout is not an object"]; - const r = o.bars ?? {}, s = new Set(t.commands), i = new Set(s); - for (const c of Ta(o)) i.add(ms(c)); - Ta(o).length > 0 && i.add(Ll); - for (const c of Object.keys(o.panels ?? {})) i.add(bs(c)); - const a = (c, l) => { - !i.has(l) && t.hasCommand?.(l) !== !0 && n.push(`${c}: no command "${l}"${an(l, i)}`); + const r = o.bars ?? {}, s = new Set(t.commands), a = new Set(s); + for (const c of Ni(o)) a.add(ms(c)); + Ni(o).length > 0 && a.add(jl); + for (const c of Object.keys(o.panels ?? {})) a.add(bs(c)); + const i = (c, l) => { + !a.has(l) && t.hasCommand?.(l) !== !0 && n.push(`${c}: no command "${l}"${dn(l, a)}`); }; for (const [c, l] of Object.entries(r)) { const u = `bar "${c}"`; @@ -48076,151 +49218,151 @@ function Ioe(e, t) { n.push(`${u} is not a bar`); continue; } - n.push(..._oe(u, c, l.place, o)), l.mode !== void 0 && l.title === void 0 && l.titleKey === void 0 && (s.has(ms(l.mode)) || n.push( + n.push(...Hre(u, c, l.place, o)), l.mode !== void 0 && l.title === void 0 && l.titleKey === void 0 && (s.has(ms(l.mode)) || n.push( `${u}: its mode "${l.mode}" has no title, so its tab reads "${l.mode}"` - )), n.push(...Noe(u, l, a)); + )), n.push(...Vre(u, l, i)); } for (const [c, l] of Object.entries(o.menus ?? {})) - n.push(...Roe(`menu "${c}"`, l, a)); + n.push(...Yre(`menu "${c}"`, l, i)); for (const [c, l] of Object.entries(o.panels ?? {})) - n.push(...Foe(`panel "${c}"`, l)); - return o.tabs !== void 0 && !Coe.includes(o.tabs) && n.push(`tabs: "${o.tabs}" is not one of always, multiple or never`), n; + n.push(...Zre(`panel "${c}"`, l)); + return o.tabs !== void 0 && !Kre.includes(o.tabs) && n.push(`tabs: "${o.tabs}" is not one of always, multiple or never`), n; } -function _oe(e, t, n, o) { - const r = o.bars ?? {}, s = (i) => `${e}: ${i} is not a place (an edge, { edge, before | after }, { float }, { with }, { at } or { panel })`; +function Hre(e, t, n, o) { + const r = o.bars ?? {}, s = (a) => `${e}: ${a} is not a place (an edge, { edge, before | after }, { float }, { with }, { at } or { panel })`; if (n === void 0) return [`${e} has no place`]; - if (typeof n == "string") return _S.includes(n) ? [] : [s(`"${n}"`)]; + if (typeof n == "string") return XS.includes(n) ? [] : [s(`"${n}"`)]; if (typeof n != "object" || n === null) return [s(String(n))]; if ("edge" in n) { - if (!_S.includes(n.edge)) return [`${e}: "${n.edge}" is not an edge`]; - const i = n.before ?? n.after; - if (i === void 0) return []; - const a = n.before !== void 0 ? "before" : "after", c = Object.keys(r).filter( - (l) => l !== t && FI(r[l].place) === n.edge + if (!XS.includes(n.edge)) return [`${e}: "${n.edge}" is not an edge`]; + const a = n.before ?? n.after; + if (a === void 0) return []; + const i = n.before !== void 0 ? "before" : "after", c = Object.keys(r).filter( + (l) => l !== t && w_(r[l].place) === n.edge ); - return c.includes(i) ? [] : r[i] ? [`${e} goes ${a} "${i}", which is not on the ${n.edge} edge`] : [`${e} goes ${a} "${i}": no such bar${an(i, c)}`]; + return c.includes(a) ? [] : r[a] ? [`${e} goes ${i} "${a}", which is not on the ${n.edge} edge`] : [`${e} goes ${i} "${a}": no such bar${dn(a, c)}`]; } if ("float" in n) { - const i = NS.includes(n.float) ? [] : [ - `${e}: "${n.float}" is not a floating position${an(n.float, NS)}` - ], a = n.hideWhenIdle; - return a !== void 0 && typeof a != "boolean" && i.push(`${e}: hideWhenIdle ${JSON.stringify(a)} is not true or false`), i; + const a = ZS.includes(n.float) ? [] : [ + `${e}: "${n.float}" is not a floating position${dn(n.float, ZS)}` + ], i = n.hideWhenIdle; + return i !== void 0 && typeof i != "boolean" && a.push(`${e}: hideWhenIdle ${JSON.stringify(i)} is not true or false`), a; } if ("with" in n) { if (n.with === t) return [`${e} rides along itself`]; if (!r[n.with]) return [ - `${e} rides along "${n.with}": no such bar${an(n.with, Object.keys(r))}` + `${e} rides along "${n.with}": no such bar${dn(n.with, Object.keys(r))}` ]; - const i = /* @__PURE__ */ new Set([t]); - for (let a = n.with; a !== null; a = iu(r[a]?.place)) { - if (i.has(a)) return [`${e} rides along a bar that rides along it`]; - i.add(a); + const a = /* @__PURE__ */ new Set([t]); + for (let i = n.with; i !== null; i = lu(r[i]?.place)) { + if (a.has(i)) return [`${e} rides along a bar that rides along it`]; + a.add(i); } return []; } if ("at" in n) - return Moe.includes(n.at) ? [] : [`${e}: "${n.at}" is not selection, annotation or snapshot`]; + return Wre.includes(n.at) ? [] : [`${e}: "${n.at}" is not selection, annotation or snapshot`]; if ("panel" in n) { - const i = Object.keys(o.panels ?? {}); - return i.includes(n.panel) ? [] : [`${e} goes in "${n.panel}": no such panel${an(n.panel, i)}`]; + const a = Object.keys(o.panels ?? {}); + return a.includes(n.panel) ? [] : [`${e} goes in "${n.panel}": no such panel${dn(n.panel, a)}`]; } return [s(JSON.stringify(n))]; } -function Noe(e, t, n) { +function Vre(e, t, n) { const o = [], r = /* @__PURE__ */ new Set(); - let s = 0, i = 0; - for (const a of is) { - const c = t[a]; + let s = 0, a = 0; + for (const i of is) { + const c = t[i]; if (c !== void 0) { if (!Array.isArray(c)) { - o.push(`${e}: its ${a} section is not a list of groups`); + o.push(`${e}: its ${i} section is not a list of groups`); continue; } for (const l of c) { - if (_a(l) && l.id !== void 0 && (r.has(l.id) && o.push(`${e}: two groups are called "${l.id}"`), r.add(l.id)), s++, _a(l) && l.dependent !== void 0) { + if (Ii(l) && l.id !== void 0 && (r.has(l.id) && o.push(`${e}: two groups are called "${l.id}"`), r.add(l.id)), s++, Ii(l) && l.dependent !== void 0) { const f = l.dependent; - f === !0 ? i++ : f !== !1 && o.push( + f === !0 ? a++ : f !== !1 && o.push( `${e}: ${l.id === void 0 ? "a group" : `group "${l.id}"`} has dependent ${JSON.stringify(f)}, which is not true or false` ); } const u = /* @__PURE__ */ new Set(); for (const f of Ho(l)) { - if (!Xa(f)) { + if (!Qi(f)) { o.push(`${e}: ${JSON.stringify(f)} is not an item`); continue; } - const d = zo(f); - u.has(d) && o.push(`${e}: "${d}" is twice in one group`), u.add(d), o.push(...Toe(e, d, f)); - const p = Yne(f); + const d = Bo(f); + u.has(d) && o.push(`${e}: "${d}" is twice in one group`), u.add(d), o.push(...Gre(e, d, f)); + const p = ure(f); p !== null && n(e, p); } } } } - return s > 0 && i === s && o.push(`${e}: every group in it is dependent, so it never shows`), o; + return s > 0 && a === s && o.push(`${e}: every group in it is dependent, so it never shows`), o; } -function Toe(e, t, n) { +function Gre(e, t, n) { if (typeof n != "object") return []; - const o = "custom" in n, { grow: r, emphasis: s } = n, i = []; - return r !== void 0 && !o ? i.push(`${e}: "${t}" has grow, which only your own components take`) : r !== void 0 && typeof r != "boolean" && i.push(`${e}: "${t}" has grow ${JSON.stringify(r)}, which is not true or false`), s !== void 0 && o ? i.push(`${e}: "${t}" has emphasis, which only a command's button takes`) : s !== void 0 && s !== "primary" && i.push( + const o = "custom" in n, { grow: r, emphasis: s } = n, a = []; + return r !== void 0 && !o ? a.push(`${e}: "${t}" has grow, which only your own components take`) : r !== void 0 && typeof r != "boolean" && a.push(`${e}: "${t}" has grow ${JSON.stringify(r)}, which is not true or false`), s !== void 0 && o ? a.push(`${e}: "${t}" has emphasis, which only a command's button takes`) : s !== void 0 && s !== "primary" && a.push( `${e}: "${t}" has emphasis ${JSON.stringify(s)}, which is not primary` - ), i; + ), a; } -function Roe(e, t, n) { +function Yre(e, t, n) { if (!Array.isArray(t)) return [`${e} is not a list of sections`]; const o = [], r = /* @__PURE__ */ new Set(); for (const s of t) - for (const i of gs(s)) { - if (typeof i != "string") { - o.push(`${e}: ${JSON.stringify(i)} is not a command id`); + for (const a of gs(s)) { + if (typeof a != "string") { + o.push(`${e}: ${JSON.stringify(a)} is not a command id`); continue; } - r.has(i) && o.push(`${e}: "${i}" is in it twice`), r.add(i), n(e, i); + r.has(a) && o.push(`${e}: "${a}" is in it twice`), r.add(a), n(e, a); } return o; } -const id = (e) => typeof e == "number" && Number.isFinite(e) && e > 0; -function Loe(e, t) { +const ld = (e) => typeof e == "number" && Number.isFinite(e) && e > 0; +function Qre(e, t) { if (typeof t == "string") - return TS.includes(t) ? [] : [`${e}: present "${t}" is not dock, overlay or sheet`]; + return JS.includes(t) ? [] : [`${e}: present "${t}" is not dock, overlay or sheet`]; if (typeof t != "object" || t === null || Array.isArray(t)) return [`${e}: present ${JSON.stringify(t)} is not a way to open, or one per size`]; const n = []; for (const [o, r] of Object.entries(t)) - RS.includes(o) ? r !== void 0 && !TS.includes(r) && n.push(`${e}: present.${o} "${r}" is not dock, overlay or sheet`) : n.push(`${e}: present has "${o}", not a size${an(o, RS)}`); + e6.includes(o) ? r !== void 0 && !JS.includes(r) && n.push(`${e}: present.${o} "${r}" is not dock, overlay or sheet`) : n.push(`${e}: present has "${o}", not a size${dn(o, e6)}`); return n; } -function joe(e, t) { +function Xre(e, t) { if (typeof t == "number") - return id(t) ? [] : [`${e}: width ${t} is not a width in px`]; + return ld(t) ? [] : [`${e}: width ${t} is not a width in px`]; if (typeof t != "object" || t === null || Array.isArray(t)) return [ `${e}: width ${JSON.stringify(t)} is not a width in px, or { initial, min, max }` ]; const n = [], o = t; for (const [r, s] of Object.entries(o)) - Eoe.includes(r) ? s !== void 0 && !id(s) && n.push(`${e}: width.${r} ${JSON.stringify(s)} is not a width in px`) : n.push(`${e}: width has "${r}", not initial, min or max`); - return id(o.min) && id(o.max) && o.min > o.max && n.push(`${e}: width.min ${o.min} is wider than width.max ${o.max}`), n; + Ure.includes(r) ? s !== void 0 && !ld(s) && n.push(`${e}: width.${r} ${JSON.stringify(s)} is not a width in px`) : n.push(`${e}: width has "${r}", not initial, min or max`); + return ld(o.min) && ld(o.max) && o.min > o.max && n.push(`${e}: width.min ${o.min} is wider than width.max ${o.max}`), n; } -function Foe(e, t) { +function Zre(e, t) { if (typeof t != "object" || t === null) return [`${e} is not a panel`]; const n = []; - t.side !== void 0 && t.side !== "start" && t.side !== "end" && n.push(`${e}: side "${t.side}" is not start or end`), t.present !== void 0 && n.push(...Loe(e, t.present)), t.width !== void 0 && n.push(...joe(e, t.width)); + t.side !== void 0 && t.side !== "start" && t.side !== "end" && n.push(`${e}: side "${t.side}" is not start or end`), t.present !== void 0 && n.push(...Qre(e, t.present)), t.width !== void 0 && n.push(...Xre(e, t.width)); for (const o of ["resizable", "open", "closable"]) { const r = t[o]; r !== void 0 && typeof r != "boolean" && n.push(`${e}: ${o} ${JSON.stringify(r)} is not true or false`); } return n; } -const ad = { +const ud = { variant: 0, shed: 1, collapse: 2, "overflow-unit": 3, "overflow-group": 3 }; -function Doe(e) { +function Jre(e) { const t = []; let n = 0; for (const o of e.sections) @@ -48232,9 +49374,9 @@ function Doe(e) { overflowed: !1, units: [] }; - for (const i of r.units) + for (const a of r.units) s.units.push({ - unit: i, + unit: a, group: s, variantIndex: 0, shed: !1, @@ -48245,16 +49387,16 @@ function Doe(e) { } return t; } -function $oe(e) { +function ese(e) { let t = null; const n = (o) => { - (!t || o.importance < t.importance || o.importance === t.importance && (ad[o.type] < ad[t.type] || ad[o.type] === ad[t.type] && o.position > t.position)) && (t = o); + (!t || o.importance < t.importance || o.importance === t.importance && (ud[o.type] < ud[t.type] || ud[o.type] === ud[t.type] && o.position > t.position)) && (t = o); }; for (const o of e) { if (o.overflowed) continue; const r = o.units.length ? o.units[o.units.length - 1].position : 0; if (o.collapsed) { - o.group.importance < Jc && n({ + o.group.importance < Zc && n({ type: "overflow-group", importance: o.group.importance, position: r, @@ -48263,14 +49405,14 @@ function $oe(e) { continue; } let s = !0; - const i = o.units.filter((c) => !c.overflowed && !c.shed).length; + const a = o.units.filter((c) => !c.overflowed && !c.shed).length; for (const c of o.units) c.overflowed || c.shed || (c.variantIndex < c.unit.variants.length - 1 ? (s = !1, n({ type: "variant", importance: c.unit.importance, position: c.position, unit: c - })) : c.unit.importance < Jc && (o.group.shed && i > 1 ? n({ + })) : c.unit.importance < Zc && (o.group.shed && a > 1 ? n({ type: "shed", importance: c.unit.importance, position: c.position, @@ -48281,8 +49423,8 @@ function $oe(e) { position: c.position, unit: c }))); - const a = !o.group.shed || i <= 1; - s && a && o.group.importance < Jc && (o.group.collapse ? n({ + const i = !o.group.shed || a <= 1; + s && i && o.group.importance < Zc && (o.group.collapse ? n({ type: "collapse", importance: o.group.importance, position: r, @@ -48296,7 +49438,7 @@ function $oe(e) { } return t; } -function Boe(e) { +function tse(e) { switch (e.type) { case "variant": e.unit.variantIndex += 1; @@ -48318,18 +49460,18 @@ function Boe(e) { } } } -function LS(e, t, n) { +function t6(e, t, n) { let o = 0, r = !0, s = 0; - const i = /* @__PURE__ */ new Map(); - for (const a of e) { - if (a.overflowed) continue; - if (a.collapsed) { - const u = t.groupCollapsed(a.group.id); - u === void 0 && (r = !1), o += u ?? 0, s += 1, i.set(a.section, (i.get(a.section) ?? 0) + 1); + const a = /* @__PURE__ */ new Map(); + for (const i of e) { + if (i.overflowed) continue; + if (i.collapsed) { + const u = t.groupCollapsed(i.group.id); + u === void 0 && (r = !1), o += u ?? 0, s += 1, a.set(i.section, (a.get(i.section) ?? 0) + 1); continue; } let c = !1, l = 0; - for (const u of a.units) { + for (const u of i.units) { if (u.overflowed) continue; if (u.shed) { l += 1; @@ -48339,89 +49481,89 @@ function LS(e, t, n) { f === void 0 && (r = !1), o += f ?? 0, s += 1, c = !0; } if (l > 0) { - const u = t.groupTrigger(a.group.id); + const u = t.groupTrigger(i.group.id); u === void 0 && (r = !1), o += u ?? 0, s += 1, c = !0; } - c && i.set(a.section, (i.get(a.section) ?? 0) + 1); + c && a.set(i.section, (a.get(i.section) ?? 0) + 1); } n && (o += t.overflowTrigger, s += 1), s > 1 && (o += t.gap * (s - 1)); - for (const a of i.values()) - a > 1 && (o += t.separator * (a - 1)); + for (const i of a.values()) + i > 1 && (o += t.separator * (i - 1)); return { length: o, complete: r }; } -function jS(e) { +function n6(e) { return e.some((t) => t.units.some((n) => n.overflowed)); } -function FS(e, t, n, o) { - const r = Doe(e); - let s = LS(r, t, o); +function o6(e, t, n, o) { + const r = Jre(e); + let s = t6(r, t, o); for (; s.length > n; ) { - const i = $oe(r); - if (!i) break; - Boe(i), s = LS(r, t, o); + const a = ese(r); + if (!a) break; + tse(a), s = t6(r, t, o); } return { groups: r, measured: s }; } -function zoe(e, t, n) { - let o = FS(e, t, n, !1); - jS(o.groups) && (o = FS(e, t, n, !0)); +function nse(e, t, n) { + let o = o6(e, t, n, !1); + n6(o.groups) && (o = o6(e, t, n, !0)); const r = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(); - for (const i of o.groups) { - const a = i.units.filter( - (c) => c.shed && !c.overflowed && !i.collapsed + for (const a of o.groups) { + const i = a.units.filter( + (c) => c.shed && !c.overflowed && !a.collapsed ).length; - s.set(i.group.id, { - shedCount: a, - collapsed: i.collapsed, - overflowed: i.overflowed + s.set(a.group.id, { + shedCount: i, + collapsed: a.collapsed, + overflowed: a.overflowed }); - for (const c of i.units) + for (const c of a.units) r.set( c.unit.key, - c.overflowed ? { kind: "overflow" } : i.collapsed ? { kind: "collapsed" } : c.shed ? { kind: "shed" } : { kind: "variant", variant: c.unit.variants[c.variantIndex] } + c.overflowed ? { kind: "overflow" } : a.collapsed ? { kind: "collapsed" } : c.shed ? { kind: "shed" } : { kind: "variant", variant: c.unit.variants[c.variantIndex] } ); } return { units: r, groups: s, - hasOverflow: jS(o.groups), + hasOverflow: n6(o.groups), length: o.measured.length, complete: o.measured.complete }; } -function Woe(e, t) { - const n = Ia(e); +function ose(e, t) { + const n = Ci(e); if (n === null) return []; const o = t(n)?.menu; return [o ? { kind: "submenu", command: n, menu: o } : { kind: "command", command: n }]; } -function Uoe(e, t, n) { +function rse(e, t, n) { const o = []; for (const r of e.sections) for (const s of r.groups) { - const i = s.units.filter((a) => t.units.get(a.key)?.kind === "overflow").flatMap((a) => Woe(a, n)); - i.length !== 0 && o.push({ + const a = s.units.filter((i) => t.units.get(i.key)?.kind === "overflow").flatMap((i) => ose(i, n)); + a.length !== 0 && o.push({ labelKey: s.labelKey, role: s.role === "tabs" ? "radio" : void 0, - rows: i + rows: a }); } return o; } -function Koe(e, t) { - const n = CI(e, (r) => { - const s = Ia(r); +function sse(e, t) { + const n = d_(e, (r) => { + const s = Ci(r); return s !== null && t(s); }), o = []; for (const r of n.sections) for (const s of r.groups) { - const i = s.units.map(Ia).filter((a) => a !== null); - i.length !== 0 && o.push({ id: s.id, labelKey: s.labelKey, commands: i }); + const a = s.units.map(Ci).filter((i) => i !== null); + a.length !== 0 && o.push({ id: s.id, labelKey: s.labelKey, commands: a }); } return o; } -const qoe = ["start", "center", "end"], Hoe = ["icon"]; -function Voe(e) { +const ase = ["start", "center", "end"], ise = ["icon"]; +function cse(e) { return { ...e, sections: e.sections.map((t) => ({ @@ -48429,17 +49571,17 @@ function Voe(e) { groups: t.groups.map((n) => ({ ...n, units: n.units.map( - (o) => o.kind === "command" ? { ...o, variants: Hoe } : o + (o) => o.kind === "command" ? { ...o, variants: ise } : o ) })) })) }; } -function Goe(e) { +function lse(e) { const { resolve: t, execute: n, measureKey: o } = e, r = (u) => { - const f = Ia(u); + const f = Ci(u); return f === null ? null : t(f); - }, s = CI(e.bar, (u) => r(u)?.visible === !0), i = e.orientation === "vertical" ? Voe(s) : s, a = zoe(i, e.metrics, e.containerLength), c = (u) => u.map(r).filter((f) => f !== null && f.visible), l = { + }, s = d_(e.bar, (u) => r(u)?.visible === !0), a = e.orientation === "vertical" ? cse(s) : s, i = nse(a, e.metrics, e.containerLength), c = (u) => u.map(r).filter((f) => f !== null && f.visible), l = { unit: (u, f) => { if (u.kind === "custom") return { @@ -48488,59 +49630,59 @@ function Goe(e) { labelKey: u.labelKey, role: u.role, commands: c( - u.units.filter((d) => f || a.units.get(d.key)?.kind === "shed") + u.units.filter((d) => f || i.units.get(d.key)?.kind === "shed") ), execute: n } }) }; return { - sections: Yoe( - qoe.map((u) => Qoe(u, i, a, l)), - a.hasOverflow + sections: use( + ase.map((u) => dse(u, a, i, l)), + i.hasOverflow ), - measured: Xoe(i, l), - hasOverflow: a.hasOverflow, - overflow: Uoe(i, a, e.menuTarget) + measured: fse(a, l), + hasOverflow: i.hasOverflow, + overflow: rse(a, i, e.menuTarget) }; } -function Yoe(e, t) { - const n = (s) => s.groups.some((i) => i.parts.some((a) => a.kind === "custom" && a.grow)), o = e.some(n); +function use(e, t) { + const n = (s) => s.groups.some((a) => a.parts.some((i) => i.kind === "custom" && i.grow)), o = e.some(n); let r = !1; return e.map((s) => { - const i = s.groups.length > 0 || s.name === "end" && t, a = o ? i && r ? "gap" : "none" : s.name === "center" ? "balance" : "none"; - return r || (r = i), { ...s, grows: n(s), spacing: a }; + const a = s.groups.length > 0 || s.name === "end" && t, i = o ? a && r ? "gap" : "none" : s.name === "center" ? "balance" : "none"; + return r || (r = a), { ...s, grows: n(s), spacing: i }; }); } -function Qoe(e, t, n, o) { - const r = t.sections.find((i) => i.name === e), s = []; - for (const i of r?.groups ?? []) { - const a = n.groups.get(i.id); - if (!a || a.overflowed) continue; - if (a.collapsed) { - s.push({ id: i.id, parts: [o.collapsed(i)] }); +function dse(e, t, n, o) { + const r = t.sections.find((a) => a.name === e), s = []; + for (const a of r?.groups ?? []) { + const i = n.groups.get(a.id); + if (!i || i.overflowed) continue; + if (i.collapsed) { + s.push({ id: a.id, parts: [o.collapsed(a)] }); continue; } const c = []; - for (const l of i.units) { + for (const l of a.units) { const u = n.units.get(l.key); u?.kind === "variant" && c.push(o.unit(l, u.variant)); } - a.shedCount > 0 && c.push(o.disclosure(i, !1)), c.length > 0 && s.push({ id: i.id, parts: c }); + i.shedCount > 0 && c.push(o.disclosure(a, !1)), c.length > 0 && s.push({ id: a.id, parts: c }); } return { name: e, groups: s }; } -function Xoe(e, t) { +function fse(e, t) { const n = []; for (const o of e.sections) for (const r of o.groups) { for (const s of r.units) - for (const i of s.variants) n.push(t.unit(s, i)); + for (const a of s.variants) n.push(t.unit(s, a)); r.collapse && n.push(t.collapsed(r)), r.shed && n.push(t.disclosure(r, !0)); } return n; } -function au(e, t, n) { +function uu(e, t, n) { return { sections: [ { @@ -48555,9 +49697,9 @@ function au(e, t, n) { execute: (o) => e.execute(o) }; } -function Zoe(e, t) { +function pse(e, t) { const n = /* @__PURE__ */ new Map(); - return Koe(e, (r) => { + return sse(e, (r) => { const s = t(r); return s && n.set(r, s), s?.visible === !0; }).map((r) => ({ @@ -48566,12 +49708,12 @@ function Zoe(e, t) { commands: r.commands.map((s) => n.get(s)) })); } -function Joe(e, t, n) { +function hse(e, t, n) { return e.length === t.length && e.every( - (o, r) => o.id === t[r].id && o.commands.length === t[r].commands.length && o.commands.every((s, i) => n(s, t[r].commands[i])) + (o, r) => o.id === t[r].id && o.commands.length === t[r].commands.length && o.commands.every((s, a) => n(s, t[r].commands[a])) ); } -const ere = /* @__PURE__ */ new Set([ +const gse = /* @__PURE__ */ new Set([ "mod", "ctrl", "control", @@ -48582,7 +49724,7 @@ const ere = /* @__PURE__ */ new Set([ "option", "shift" ]); -function Fw(e) { +function Xw(e) { const t = e.split("+").map((r) => r.trim()), o = { key: (t[t.length - 1] === "" ? "+" : t[t.length - 1]).toLowerCase(), mod: !1, @@ -48594,7 +49736,7 @@ function Fw(e) { for (const r of t.slice(0, -1)) { const s = r.toLowerCase(); if (s !== "") { - if (!ere.has(s)) + if (!gse.has(s)) throw new Error(`[ui-core] unknown modifier "${r}" in "${e}"`); s === "mod" ? o.mod = !0 : s === "ctrl" || s === "control" ? o.ctrl = !0 : s === "meta" || s === "cmd" || s === "command" ? o.meta = !0 : s === "alt" || s === "option" ? o.alt = !0 : o.shift = !0; } @@ -48602,15 +49744,15 @@ function Fw(e) { if (o.key === "") throw new Error(`[ui-core] empty key in shortcut "${e}"`); return o; } -function tre(e, t, n) { +function mse(e, t, n) { const o = e.ctrl || e.mod && !n.isMac, r = e.meta || e.mod && n.isMac; if (t.ctrlKey !== o || t.metaKey !== r || t.altKey !== e.alt || e.shift && !t.shiftKey) return !1; const s = e.key !== e.key.toUpperCase(); return !e.shift && t.shiftKey && (e.key.length > 1 || s) ? !1 : t.key.toLowerCase() === e.key ? !0 : e.key.length > 1 && t.code !== void 0 && t.code.toLowerCase() === e.key; } -function nre(e, t, n) { +function bse(e, t, n) { const o = (r) => { - const s = Fw(r); + const s = Xw(r); return [ s.key, s.ctrl || s.mod && !n.isMac, @@ -48621,7 +49763,7 @@ function nre(e, t, n) { }; return o(e) === o(t); } -const ore = { +const yse = { arrowleft: ["←", "←"], arrowright: ["→", "→"], arrowup: ["↑", "↑"], @@ -48638,8 +49780,8 @@ const ore = { numpadadd: ["Num +", "Num +"], numpadsubtract: ["Num -", "Num -"] }; -function Dw(e, t) { - const n = Fw(e), o = ore[n.key], r = o ? o[t.isMac ? 0 : 1] : n.key.length === 1 ? n.key.toUpperCase() : rre(n.key); +function Zw(e, t) { + const n = Xw(e), o = yse[n.key], r = o ? o[t.isMac ? 0 : 1] : n.key.length === 1 ? n.key.toUpperCase() : wse(n.key); return t.isMac ? `${[ n.ctrl ? "⌃" : "", n.alt ? "⌥" : "", @@ -48652,12 +49794,12 @@ function Dw(e, t) { n.shift ? "Shift" : "" ].filter(Boolean), r].join("+"); } -function rre(e) { +function wse(e) { return e.charAt(0).toUpperCase() + e.slice(1); } -const zn = At("commands", { +const Bn = St("commands", { hint: "add commandsPlugin() from '@embedpdf/plugin-commands' to your plugins list" -}), zI = (e, t) => e === t ? !0 : !e || !t ? !1 : e.id === t.id && e.label === t.label && e.icon === t.icon && e.iconAccent?.primary === t.iconAccent?.primary && e.iconAccent?.secondary === t.iconAccent?.secondary && e.menu === t.menu && e.enabled === t.enabled && e.active === t.active && e.pressable === t.pressable && e.visible === t.visible && e.disabledReason === t.disabledReason && e.shortcuts.length === t.shortcuts.length && e.shortcuts.every((n, o) => n === t.shortcuts[o]), WI = (e) => ({ +}), A_ = (e, t) => e === t ? !0 : !e || !t ? !1 : e.id === t.id && e.label === t.label && e.icon === t.icon && e.iconAccent?.primary === t.iconAccent?.primary && e.iconAccent?.secondary === t.iconAccent?.secondary && e.menu === t.menu && e.enabled === t.enabled && e.active === t.active && e.pressable === t.pressable && e.visible === t.visible && e.disabledReason === t.disabledReason && e.shortcuts.length === t.shortcuts.length && e.shortcuts.every((n, o) => n === t.shortcuts[o]), S_ = (e) => ({ id: e, label: e, shortcuts: [], @@ -48666,389 +49808,410 @@ const zn = At("commands", { pressable: !1, visible: !1, categories: [] -}), sre = (e, t) => `no command "${e}"${an(e, t)}: it shows as neither visible nor enabled`; -function ire(e, t, n) { +}), vse = (e, t) => `no command "${e}"${dn(e, t)}: it shows as neither visible nor enabled`; +function kse(e, t, n) { const [o] = e.shortcuts; return { ...e, run: () => t(e.id), - shortcutLabel: o === void 0 ? null : Dw(o, { isMac: n.isMac }) + shortcutLabel: o === void 0 ? null : Zw(o, { isMac: n.isMac }) }; } -const are = { +const xse = { commands: [], appState: void 0, disabledCategories: [], disabledCommands: [], notAllowed: "hide" -}, Ab = (e) => { +}, Tb = (e) => { const t = e.shortcut === void 0 ? [] : [].concat(e.shortcut); - return { definition: e, shortcuts: t, parsed: t.map(Fw) }; -}, cre = (e) => "prefix" in e; -function lre(e) { + return { definition: e, shortcuts: t, parsed: t.map(Xw) }; +}, Ase = (e) => "prefix" in e; +function Sse(e) { const t = /* @__PURE__ */ new Map(), n = []; for (const o of e) - cre(o) ? n.push(o) : t.set(o.id, Ab(o)); + Ase(o) ? n.push(o) : t.set(o.id, Tb(o)); return { commands: t, families: n }; } -const UI = (e, t) => t.some((n) => e === n || e.startsWith(`${n}.`)), ure = (e, t) => { +const O_ = (e, t) => t.some((n) => e === n || e.startsWith(`${n}.`)), P_ = (e) => e.tryGet(Yo)?.getTranslator() ?? null, M_ = (e, t) => { if (e.labelParams) try { return e.labelParams(t); } catch { return; } -}, Wd = (e, t) => { - const n = ure(e, t), o = t.tryGet(Cn); - if (!o) return zm(e.label ?? e.labelKey ?? e.id, n); - const r = { +}, E_ = (e, t, n) => { + if (!n) return Ym(e.label ?? e.labelKey ?? e.id, t); + const o = { ...e.labelKey ? { fallbackKey: e.labelKey } : {}, - ...n ? { params: n } : {} - }; - return e.label === void 0 && e.labelKey ? o.t(e.id, r) : o.t(e.id, { ...r, fallback: e.label ?? e.id }); -}, dre = (e, t) => t === "annotations:create" ? e.allowsAnnotation("create") : e.allows(t), fre = (e) => `commands.notAllowed.${e.replace(/[.:]/g, "-")}`, KI = "commands.notAllowed.default", qI = (e, t, n) => { - const o = `${t} isn't allowed`, r = n.tryGet(Cn); - if (!r) return o; - const s = { label: t }; - return r.t(e, { - params: s, - fallback: r.t(KI, { params: s, fallback: o }) - }); -}, pre = "commands.locked.default", HI = (e, t, n) => { - const o = `${t} can't be changed in this document`, r = n.tryGet(Cn); - if (!r) return o; - const s = { label: t }, i = r.t(pre, { params: s, fallback: o }); - return e.reasonKey === void 0 ? i : r.t(e.reasonKey, { params: s, fallback: i }); -}, hre = (e, t) => { - const n = t.tryGet(Cn); - return n ? n.t("commands.turnedOff", { params: { label: e }, fallback: "{label} isn't available" }) : `${e} isn't available`; -}; -function gre(e, t) { - const n = (a) => { + ...t ? { params: t } : {} + }; + return e.label === void 0 && e.labelKey ? n(e.id, o) : n(e.id, { ...o, fallback: e.label ?? e.id }); +}, Ose = (e, t) => t === "annotations:create" ? e.allowsAnnotation("create") : e.allows(t), Pse = (e) => `commands.notAllowed.${e.replace(/[.:]/g, "-")}`, C_ = "commands.notAllowed.default", I_ = (e, t, n) => { + const o = `${t} isn't allowed`; + if (!n) return o; + const r = { label: t }; + return n(e, { params: r, fallback: n(C_, { params: r, fallback: o }) }); +}, __ = "commands.locked.default", N_ = (e, t, n) => { + const o = `${t} can't be changed in this document`; + if (!n) return o; + const r = { label: t }; + return n(e, { params: r, fallback: n(__, { params: r, fallback: o }) }); +}, Mse = (e, t) => t ? t("commands.turnedOff", { params: { label: e }, fallback: "{label} isn't available" }) : `${e} isn't available`; +function Ese(e, t) { + const n = (i) => { const { disabledCategories: c, disabledCommands: l } = t.get(); - return l.includes(a.id) || (a.categories ?? []).some((u) => UI(u, c)); - }, o = (a, c) => { - if (!a.allowed) return !0; + return l.includes(i.id) || (i.categories ?? []).some((u) => O_(u, c)); + }, o = (i, c) => { + if (!i.allowed) return !0; try { - return a.allowed(c); + return i.allowed(c); } catch { return !0; } - }, r = (a, c) => { - if (!a.locked) return null; + }, r = (i, c) => { + if (!i.locked) return null; + let l; try { - return a.locked(c); + l = i.locked(c); } catch { return null; } - }, s = (a, c) => { - if (!a.requires?.length && !a.allowed) return null; + return l === null ? null : l.reasonKey ?? __; + }, s = (i, c) => { + if (!i.requires?.length && !i.allowed) return null; const l = c.documentId === null ? null : e.documentHandle(c.documentId); if (!l) return null; - const u = a.requires?.find( - (f) => !dre(l.security, f) + const u = i.requires?.find( + (f) => !Ose(l.security, f) ); - return u !== void 0 ? fre(u) : o(a, c) ? null : a.notAllowedKey ?? KI; - }; - return { isTurnedOff: n, notAllowedKeyOf: s, lockOf: r, refusalOf: (a, c) => { - if (n(a)) - return { - reason: "turned-off", - message: hre(Wd(a, c), c) - }; - const l = s(a, c); - if (l !== null) - return { - reason: "not-allowed", - message: qI(l, Wd(a, c), c) - }; - const u = r(a, c); - return u === null ? null : { reason: "locked", message: HI(u, Wd(a, c), c) }; + return u !== void 0 ? Pse(u) : o(i, c) ? null : i.notAllowedKey ?? C_; + }; + return { isTurnedOff: n, notAllowedKeyOf: s, lockedKeyOf: r, refusalOf: (i, c) => { + const l = P_(c), u = () => E_(i, M_(i, c), l); + if (n(i)) + return { reason: "turned-off", message: Mse(u(), l) }; + const f = s(i, c); + if (f !== null) + return { reason: "not-allowed", message: I_(f, u(), l) }; + const d = r(i, c); + return d === null ? null : { reason: "locked", message: N_(d, u(), l) }; } }; } -function mre(e, t, n) { - const o = (a) => e.get()[a], r = (a, c) => e.api.updateSettings( - a === "disabledCategories" ? { disabledCategories: [...c] } : { disabledCommands: [...c] } - ), s = (a, c) => { - const l = o(a); - l.includes(c) || r(a, [...l, c]); - }, i = (a, c) => { - const l = o(a); +function Cse(e, t, n) { + const o = (i) => e.get()[i], r = (i, c) => e.api.updateSettings( + i === "disabledCategories" ? { disabledCategories: [...c] } : { disabledCommands: [...c] } + ), s = (i, c) => { + const l = o(i); + l.includes(c) || r(i, [...l, c]); + }, a = (i, c) => { + const l = o(i); l.includes(c) && r( - a, + i, l.filter((u) => u !== c) ); }; return { getDisabledCategories: () => o("disabledCategories"), - isCategoryDisabled: (a) => UI(a, o("disabledCategories")), - disableCategory: (a) => s("disabledCategories", a), - enableCategory: (a) => i("disabledCategories", a), - setDisabledCategories: (a) => r("disabledCategories", a), + isCategoryDisabled: (i) => O_(i, o("disabledCategories")), + disableCategory: (i) => s("disabledCategories", i), + enableCategory: (i) => a("disabledCategories", i), + setDisabledCategories: (i) => r("disabledCategories", i), getDisabledCommands: () => o("disabledCommands"), - isCommandDisabled: (a) => { - const c = t(a); - return c ? n(c) : o("disabledCommands").includes(a); + isCommandDisabled: (i) => { + const c = t(i); + return c ? n(c) : o("disabledCommands").includes(i); }, - disableCommand: (a) => s("disabledCommands", a), - enableCommand: (a) => i("disabledCommands", a), - setDisabledCommands: (a) => r("disabledCommands", a) + disableCommand: (i) => s("disabledCommands", i), + enableCommand: (i) => a("disabledCommands", i), + setDisabledCommands: (i) => r("disabledCommands", i) }; } -const DS = (e) => e.panel === void 0 ? null : typeof e.panel == "string" ? { id: e.panel } : e.panel, bre = (e) => !e.menu && (e.active !== void 0 || e.panel !== void 0), yre = [ +const r6 = (e) => e.panel === void 0 ? null : typeof e.panel == "string" ? { id: e.panel } : e.panel, Ise = (e) => !e.menu && (e.active !== void 0 || e.panel !== void 0), _se = [ null, - "", + null, + void 0, void 0, void 0, !1, !1, !1, - void 0 -], $S = [], wre = (e, t) => e === void 0 && t === void 0 ? void 0 : { + null, + null +], s6 = [], Nse = (e, t) => e === void 0 && t === void 0 ? void 0 : { ...e !== void 0 ? { primary: e } : {}, ...t !== void 0 ? { secondary: t } : {} -}, vre = (e, t) => JSON.stringify([e, t ?? null]); -function kre(e) { +}; +function Tse(e) { const t = e.settings(), n = /* @__PURE__ */ new Map(); let o = 0; const r = () => { o += 1, e.notify(); - }, s = Ke( + }, s = qe( () => [t.get().commands], - (N) => lre(N) - ), i = e.events.source(), a = e.events.source(), c = (N, F = {}) => { - const R = N ?? e.get(tt).getActiveId(), j = (B) => R ? e.forDocument(B, R) : e.get(B); + (L) => Sse(L) + ), a = e.events.source(), i = e.events.source(), c = (L, D = {}) => { + const F = L ?? e.get(nt).getActiveId(), B = (V) => F ? e.forDocument(V, F) : e.get(V); return { - documentId: R, + documentId: F, appState: t.get().appState, - ...F.args === void 0 ? {} : { args: F.args }, - ...F.signal ? { signal: F.signal } : {}, - get: j, - tryGet: (B) => { + ...D.args === void 0 ? {} : { args: D.args }, + ...D.signal ? { signal: D.signal } : {}, + get: B, + tryGet: (V) => { try { - return j(B); + return B(V); } catch { return null; } } }; - }, l = /* @__PURE__ */ new WeakMap(), u = (N, F) => { - let R = l.get(N); - R || (R = /* @__PURE__ */ new Map(), l.set(N, R)); - let j = R.get(F); - return j || (j = Ab({ ...N.command(F), id: `${N.prefix}${F}` }), R.set(F, j)), j; - }, f = (N) => { - const { commands: F, families: R } = s(), j = n.get(N) ?? F.get(N); - if (j) return j; - const B = R.find( - (W) => N.startsWith(W.prefix) && N.length > W.prefix.length + }, l = Ut( + (L) => [e.storeChangeCount()], + (L) => { + const D = c(L || void 0), F = /* @__PURE__ */ new Map(), B = (V) => (F.has(V) || F.set(V, D.tryGet(V)), F.get(V)); + return { ...D, tryGet: B, get: (V) => B(V) ?? D.get(V) }; + } + ), u = /* @__PURE__ */ new WeakMap(), f = (L, D) => { + let F = u.get(L); + F || (F = /* @__PURE__ */ new Map(), u.set(L, F)); + let B = F.get(D); + return B || (B = Tb({ ...L.command(D), id: `${L.prefix}${D}` }), F.set(D, B)), B; + }, d = (L) => { + const { commands: D, families: F } = s(), B = n.get(L) ?? D.get(L); + if (B) return B; + const V = F.find( + (Q) => L.startsWith(Q.prefix) && L.length > Q.prefix.length ); - return B ? u(B, N.slice(B.prefix.length)) : null; - }, d = Ke( + return V ? f(V, L.slice(V.prefix.length)) : null; + }, p = qe( () => [o, s()], - (N, { commands: F }) => { - const R = new Map(F); - for (const [j, B] of n) R.set(j, B); - return [...R.values()]; + (L, { commands: D }) => { + const F = new Map(D); + for (const [B, V] of n) F.set(B, V); + return [...F.values()]; } - ), p = (N, F, R) => { - if (!N) return R; + ), g = (L, D, F) => { + if (!L) return F; try { - return N(F); + return L(D); } catch { return !1; } - }, h = (N, F) => { - if (N) + }, h = (L, D) => { + if (L) try { - return N(F) ?? void 0; + return L(D) ?? void 0; } catch { return; } - }, g = (N, F) => { + }, m = (L, D) => { try { - return N.names(F); + return L.names(D); } catch { - return $S; + return s6; } - }, { isTurnedOff: m, notAllowedKeyOf: M, lockOf: x, refusalOf: S } = gre(e, t), P = (N, F) => { - const { definition: R } = N, j = c(F), B = Wd(R, j), W = m(R), $ = W ? null : M(R, j), K = t.get().notAllowed === "disable", ee = W || $ !== null ? null : x(R, j), J = W || $ !== null || ee !== null; - let ue; - if (R.active) - ue = p(R.active, j, !1); - else { - const we = j.tryGet(We), Oe = DS(R); - ue = we ? R.menu ? we.isMenuOpen(R.menu) : Oe ? we.isOpen(Oe.id) : R.modal ? we.isOpen(R.modal) : !1 : !1; - } - const be = h(R.iconAccent, j); + }, { isTurnedOff: O, notAllowedKeyOf: E, lockedKeyOf: P, refusalOf: k } = Ese( + e, + t + ), A = (L, D) => { + if (L.active) return g(L.active, D, !1); + const F = D.tryGet(Ue); + if (!F) return !1; + const B = r6(L); + return L.menu ? F.isMenuOpen(L.menu) : B ? F.isOpen(B.id) : L.modal ? F.isOpen(L.modal) : !1; + }, w = (L, D) => { + const F = O(L), B = F ? null : E(L, D), V = t.get().notAllowed === "disable", Q = F || B !== null ? null : P(L, D); + return { + enabled: !(F || B !== null || Q !== null) && g(L.enabled, D, !0), + visible: !F && (B === null || V) && g(L.visible, D, !0), + notAllowedKey: V ? B : null, + lockedKey: Q + }; + }, b = (L, D) => { + const { definition: F } = L, { enabled: B, visible: V, notAllowedKey: Q, lockedKey: le } = w(F, D), pe = M_(F, D), me = h(F.iconAccent, D); return [ - N, + L, + P_(D), + pe === void 0 ? void 0 : JSON.stringify(pe), + me?.primary, + me?.secondary, B, - be?.primary, - be?.secondary, - !J && p(R.enabled, j, !0), - ue, - !W && ($ === null || K) && p(R.visible, j, !0), - $ !== null && K ? qI($, B, j) : ee !== null ? HI(ee, B, j) : void 0 + A(F, D), + V, + Q, + le ]; - }, k = Jt( - (N) => { - const [F, R] = JSON.parse(N), j = f(F); - return j ? P(j, R ?? void 0) : yre; - }, - (N, F, R, j, B, W, $, K, ee) => F && { - id: F.definition.id, - label: R, - icon: F.definition.icon, - iconAccent: wre(j, B), - shortcuts: F.shortcuts, - menu: F.definition.menu, - enabled: W, - active: $, - pressable: bre(F.definition), - visible: K, - categories: F.definition.categories ?? [], - ...ee === void 0 ? {} : { disabledReason: ee } - } - ), A = (N, F) => f(N) ? k(vre(N, F)) : null, y = Jt( - (N) => { - const F = s(), R = c(N || void 0); + }, x = Ut((L) => [], (L) => { + const D = Ut( + (F) => [e.storeChangeCount()], + (F) => { + const B = d(F); + return B ? b(B, l(L)) : _se; + } + ); + return Ut( + (F) => D(F), + (F, B, V, Q, le, pe, me, Ae, Pe, Me, G) => { + if (!B) return null; + const ge = Q === void 0 ? void 0 : JSON.parse(Q), ve = E_(B.definition, ge, V), Te = Me !== null ? I_(Me, ve, V) : G !== null ? N_(G, ve, V) : void 0; + return { + id: B.definition.id, + label: ve, + icon: B.definition.icon, + iconAccent: Nse(le, pe), + shortcuts: B.shortcuts, + menu: B.definition.menu, + enabled: me, + active: Ae, + pressable: Ise(B.definition), + visible: Pe, + categories: B.definition.categories ?? [], + ...Te === void 0 ? {} : { disabledReason: Te } + }; + } + ); + }), y = (L, D) => x(D ?? "")(L), M = Ut( + (L) => { + const D = s(), F = l(L); return [ - d(), - F, - ...F.families.map((j) => g(j, R)) + p(), + D, + ...D.families.map((B) => m(B, F)) ]; }, - (N, ...F) => { - const [R, { families: j }, ...B] = F, W = R.map((K) => K.definition.id), $ = new Set(W); - return j.forEach((K, ee) => { - for (const J of B[ee] ?? $S) { - const ue = `${K.prefix}${J}`; - $.has(ue) || ($.add(ue), W.push(ue)); + (L, ...D) => { + const [F, { families: B }, ...V] = D, Q = F.map((pe) => pe.definition.id), le = new Set(Q); + return B.forEach((pe, me) => { + for (const Ae of V[me] ?? s6) { + const Pe = `${pe.prefix}${Ae}`; + le.has(Pe) || (le.add(Pe), Q.push(Pe)); } - }), W; - } - ), w = Jt( - (N) => y(N).map((F) => A(F, N || void 0)), - (N, ...F) => F.filter((R) => R !== null) - ), O = (N) => w(N ?? ""), b = Ke( - () => [d()], - (N) => N.flatMap( - (F) => F.shortcuts.map((R) => ({ commandId: F.definition.id, shortcut: R })) + }), Q; + } + ), S = Ut( + (L) => M(L).map((D) => y(D, L || void 0)), + (L, ...D) => D.filter((F) => F !== null) + ), C = (L) => S(L ?? ""), N = qe( + () => [p()], + (L) => L.flatMap( + (D) => D.shortcuts.map((F) => ({ commandId: D.definition.id, shortcut: F })) ) - ), v = async (N, F) => { - if (N.run) { - await N.run(F); + ), _ = async (L, D) => { + if (L.run) { + await L.run(D); return; } - const R = F.tryGet(We), j = DS(N); - R && (N.menu ? R.toggleMenu(N.menu) : j ? R.toggle(j.id, { exclusive: j.exclusive, focus: j.focus }) : N.modal && R.toggle(N.modal, { exclusive: "modal" })); - }, E = async (N, F = {}) => { - const { signal: R, documentId: j, args: B } = F; - if (R?.aborted) - throw new Z("operation-cancelled", "commands", "operation cancelled"); - const W = f(N); - if (!W) return { status: "rejected", reason: "not-found" }; - const $ = A(N, j); - if (!$?.visible) return { status: "rejected", reason: "hidden" }; - if (!$.enabled) return { status: "rejected", reason: "disabled" }; - const K = c(j, { args: B, signal: R }); + const F = D.tryGet(Ue), B = r6(L); + F && (L.menu ? F.toggleMenu(L.menu) : B ? F.toggle(B.id, { exclusive: B.exclusive, focus: B.focus }) : L.modal && F.toggle(L.modal, { exclusive: "modal" })); + }, T = async (L, D = {}) => { + const { signal: F, documentId: B, args: V } = D; + if (F?.aborted) + throw new te("operation-cancelled", "commands", "operation cancelled"); + const Q = d(L); + if (!Q) return { status: "rejected", reason: "not-found" }; + const le = w(Q.definition, l(B ?? "")); + if (!le.visible) return { status: "rejected", reason: "hidden" }; + if (!le.enabled) return { status: "rejected", reason: "disabled" }; + const pe = c(B, { args: V, signal: F }); try { - await e.cancellable(R, v(W.definition, K)); - } catch (ee) { - if (R?.aborted && sn(ee, "operation-cancelled")) throw ee; - const J = Be("commands", ee); - throw a.emit({ - commandId: N, - documentId: K.documentId, - error: bn(J) - }), J; + await e.cancellable(F, _(Q.definition, pe)); + } catch (me) { + if (F?.aborted && un(me, "operation-cancelled")) throw me; + const Ae = Fe("commands", me); + throw i.emit({ + commandId: L, + documentId: pe.documentId, + error: xn(Ae) + }), Ae; } finally { e.notify(); } - return i.emit({ commandId: N, documentId: K.documentId, args: B }), { status: "executed" }; - }, I = (N, F) => { - if ((n.has(N.id) || s().commands.has(N.id)) && !F?.replace) - throw new Z("conflict", "commands", `duplicate command '${N.id}'`); - const j = Ab(N); - return n.set(N.id, j), r(), () => { - n.get(N.id) === j && (n.delete(N.id), r()); + return a.emit({ commandId: L, documentId: pe.documentId, args: V }), { status: "executed" }; + }, $ = (L, D) => { + if ((n.has(L.id) || s().commands.has(L.id)) && !D?.replace) + throw new te("conflict", "commands", `duplicate command '${L.id}'`); + const B = Tb(L); + return n.set(L.id, B), r(), () => { + n.get(L.id) === B && (n.delete(L.id), r()); }; - }, T = mre( + }, j = Cse( t, - (N) => f(N)?.definition ?? null, - m + (L) => d(L)?.definition ?? null, + O ); return { api: { ...t.api, - registerCommand: I, - registerCommands: (N, F) => { - const R = N.map((j) => I(j, F)); - return () => R.forEach((j) => j()); - }, - hasCommand: (N) => f(N) !== null, - getCommand: (N) => f(N)?.definition ?? null, - listCommandIds: () => y(""), - resolveCommand: A, - listCommands: O, - searchCommands: (N, F) => { - const R = N.trim().toLowerCase(); - return O(F).filter( - (j) => j.visible && (R === "" || j.label.toLowerCase().includes(R) || j.id.includes(R)) + registerCommand: $, + registerCommands: (L, D) => { + const F = L.map((B) => $(B, D)); + return () => F.forEach((B) => B()); + }, + hasCommand: (L) => d(L) !== null, + getCommand: (L) => d(L)?.definition ?? null, + listCommandIds: () => M(""), + resolveCommand: y, + listCommands: C, + searchCommands: (L, D) => { + const F = L.trim().toLowerCase(); + return C(D).filter( + (B) => B.visible && (F === "" || B.label.toLowerCase().includes(F) || B.id.includes(F)) ); }, - listShortcuts: b, - execute: E, - canExecute: (N, F) => { - const R = A(N, F); - return !!R && R.enabled && R.visible; - }, - getRefusal: (N, F) => { - const R = f(N); - return R ? S(R.definition, c(F)) : null; - }, - ...T, - onExecuted: i.on, - onExecutionFailed: a.on, + listShortcuts: N, + execute: T, + canExecute: (L, D) => { + const F = d(L); + if (!F) return !1; + const B = w(F.definition, l(D ?? "")); + return B.enabled && B.visible; + }, + getRefusal: (L, D) => { + const F = d(L); + return F ? k(F.definition, l(D ?? "")) : null; + }, + ...j, + onExecuted: a.on, + onExecutionFailed: i.on, // ── host lens ── - matchStroke: (N, F) => { - let R = null, j = null; - for (const B of d()) { - if (F.inTextField && !B.definition.shortcutInTextFields || !B.parsed.some((ee) => tre(ee, N, F))) continue; - const W = c(), $ = S(B.definition, W), K = p(B.definition.visible, W, !0); - if (!$) { - if (K && p(B.definition.enabled, W, !0)) - return { commandId: B.definition.id, refusal: null }; - R ?? (R = { commandId: B.definition.id, refusal: null }); + matchStroke: (L, D) => { + let F = null, B = null; + for (const V of p()) { + if (D.inTextField && !V.definition.shortcutInTextFields || !V.parsed.some((me) => mse(me, L, D))) continue; + const Q = l(""), le = k(V.definition, Q), pe = g(V.definition.visible, Q, !0); + if (!le) { + if (pe && g(V.definition.enabled, Q, !0)) + return { commandId: V.definition.id, refusal: null }; + F ?? (F = { commandId: V.definition.id, refusal: null }); continue; } - K && (j ?? (j = { commandId: B.definition.id, refusal: $ })); + pe && (B ?? (B = { commandId: V.definition.id, refusal: le })); } - return R ?? j; + return F ?? B; }, - getMenuTarget: (N) => { - const F = f(N); - return F ? { menu: F.definition.menu } : null; + getMenuTarget: (L) => { + const D = d(L); + return D ? { menu: D.definition.menu } : null; } } }; } -const ah = zn, xre = (e) => ({ +const fh = Bn, Rse = (e) => ({ id: "commands", scope: "workspace", - token: ah, + token: fh, // Labels come from i18n, and commands that open a panel, menu or dialog // go through shell; without them a label is the command's own, and those // commands open nothing. - optional: [Cn, We], + optional: [Yo, Ue], // Command definitions come from the app and may use any capability. resolvesAnyCapability: !0, // Your app's state is replaced whole, never merged: a new value is the whole new state. settings: { - defaults: are, + defaults: xse, registered: e, whole: ["appState"] }, - create: kre, + create: Tse, // Inside a document's scope, a call that leaves out the document is for that one. inScope: (t, n) => ({ ...t, @@ -49059,30 +50222,30 @@ const ah = zn, xre = (e) => ({ canExecute: (o, r = n) => t.canExecute(o, r), getRefusal: (o, r = n) => t.getRefusal(o, r) }) -}), $t = (e) => e.tryGet(xt), yc = (e) => e.tryGet(ro)?.getSnapshot() ?? null, Ud = (e) => e.tryGet(cn), cd = (e) => $t(e) !== null, BS = /* @__PURE__ */ new WeakMap(), Are = (e) => { - let t = BS.get(e); - return t || (t = e.map((n) => n.id), BS.set(e, t)), t; -}, Sre = (e, t) => { +}), qt = (e) => e.tryGet(At), bc = (e) => e.tryGet(ro)?.getSnapshot() ?? null, Kd = (e) => e.tryGet(fn), dd = (e) => qt(e) !== null, a6 = /* @__PURE__ */ new WeakMap(), Lse = (e) => { + let t = a6.get(e); + return t || (t = e.map((n) => n.id), a6.set(e, t)), t; +}, jse = (e, t) => { const n = e.tryGet(Qe); return !n?.tools.get(t) || n.canCreate(); -}, Nc = (e) => ({ +}, _c = (e) => ({ labelKey: `commands.tool.${e}`, label: e, icon: e, categories: ["tool"], - run: (t) => Ud(t)?.activateTool(e), - active: (t) => Ud(t)?.getActiveToolId() === e, - visible: (t) => Ud(t)?.hasTool(e) ?? !1, - enabled: (t) => Sre(t, e) -}), Pre = { + run: (t) => Kd(t)?.activateTool(e), + active: (t) => Kd(t)?.getActiveToolId() === e, + visible: (t) => Kd(t)?.hasTool(e) ?? !1, + enabled: (t) => jse(t, e) +}), Fse = { prefix: "tool:", names: (e) => { - const t = Ud(e); - return t ? Are(t.listTools()) : []; + const t = Kd(e); + return t ? Lse(t.listTools()) : []; }, - command: Nc + command: _c }; -function Ore(e) { +function Dse(e) { return [ // ── zoom ── { @@ -49092,8 +50255,8 @@ function Ore(e) { icon: "zoom-in", shortcut: ["Mod+=", "Mod+NumpadAdd"], categories: ["zoom"], - run: (t) => $t(t)?.zoomIn(), - enabled: (t) => $t(t)?.canZoomIn() ?? !1 + run: (t) => qt(t)?.zoomIn(), + enabled: (t) => qt(t)?.canZoomIn() ?? !1 }, { id: "zoom:out", @@ -49102,8 +50265,8 @@ function Ore(e) { icon: "zoom-out", shortcut: ["Mod+-", "Mod+NumpadSubtract"], categories: ["zoom"], - run: (t) => $t(t)?.zoomOut(), - enabled: (t) => $t(t)?.canZoomOut() ?? !1 + run: (t) => qt(t)?.zoomOut(), + enabled: (t) => qt(t)?.canZoomOut() ?? !1 }, { id: "zoom:fit-width", @@ -49111,9 +50274,9 @@ function Ore(e) { label: "Fit width", icon: "fit-width", categories: ["zoom"], - run: (t) => $t(t)?.fitWidth(), - active: (t) => $t(t)?.getZoomMode() === "fit-width", - enabled: cd + run: (t) => qt(t)?.fitWidth(), + active: (t) => qt(t)?.getZoomMode() === "fit-width", + enabled: dd }, { id: "zoom:fit-page", @@ -49121,9 +50284,9 @@ function Ore(e) { label: "Fit page", icon: "fit-page", categories: ["zoom"], - run: (t) => $t(t)?.fitPage(), - active: (t) => $t(t)?.getZoomMode() === "fit-page", - enabled: cd + run: (t) => qt(t)?.fitPage(), + active: (t) => qt(t)?.getZoomMode() === "fit-page", + enabled: dd }, // ── pages ── { @@ -49133,8 +50296,8 @@ function Ore(e) { icon: "next-page", shortcut: "ArrowRight", categories: ["page"], - run: (t) => $t(t)?.nextPage(), - enabled: (t) => $t(t)?.canGoNext() ?? !1 + run: (t) => qt(t)?.nextPage(), + enabled: (t) => qt(t)?.canGoNext() ?? !1 }, { id: "page:previous", @@ -49143,8 +50306,8 @@ function Ore(e) { icon: "previous-page", shortcut: "ArrowLeft", categories: ["page"], - run: (t) => $t(t)?.previousPage(), - enabled: (t) => $t(t)?.canGoPrevious() ?? !1 + run: (t) => qt(t)?.previousPage(), + enabled: (t) => qt(t)?.canGoPrevious() ?? !1 }, { id: "page:first", @@ -49153,8 +50316,8 @@ function Ore(e) { icon: "first-page", shortcut: "Home", categories: ["page"], - run: (t) => $t(t)?.goToFirstPage(), - enabled: (t) => $t(t)?.canGoPrevious() ?? !1 + run: (t) => qt(t)?.goToFirstPage(), + enabled: (t) => qt(t)?.canGoPrevious() ?? !1 }, { id: "page:last", @@ -49163,8 +50326,8 @@ function Ore(e) { icon: "last-page", shortcut: "End", categories: ["page"], - run: (t) => $t(t)?.goToLastPage(), - enabled: (t) => $t(t)?.canGoNext() ?? !1 + run: (t) => qt(t)?.goToLastPage(), + enabled: (t) => qt(t)?.canGoNext() ?? !1 }, // ── view rotation: how the pages show, nothing written to the PDF ── { @@ -49173,8 +50336,8 @@ function Ore(e) { label: "Rotate clockwise", icon: "rotate-clockwise", categories: ["view"], - run: (t) => $t(t)?.rotateViewBy(90), - enabled: cd + run: (t) => qt(t)?.rotateViewBy(90), + enabled: dd }, { id: "view:rotate-counterclockwise", @@ -49182,20 +50345,20 @@ function Ore(e) { label: "Rotate counterclockwise", icon: "rotate-counterclockwise", categories: ["view"], - run: (t) => $t(t)?.rotateViewBy(-90), - enabled: cd + run: (t) => qt(t)?.rotateViewBy(-90), + enabled: dd }, // ── tools: the built-in ones have Acrobat's single keys; the family covers every other ── - { ...Nc("pointer"), id: "tool:pointer", shortcut: "V" }, - { ...Nc("pan"), id: "tool:pan", shortcut: "H" }, - { ...Nc("zoom"), id: "tool:zoom", shortcut: "Z" }, + { ..._c("pointer"), id: "tool:pointer", shortcut: "V" }, + { ..._c("pan"), id: "tool:pan", shortcut: "H" }, + { ..._c("zoom"), id: "tool:zoom", shortcut: "Z" }, { - ...Nc(oa), + ..._c(oi), id: "tool:snapshot", allowed: (t) => t.tryGet(ro)?.canSnapshot() ?? !0, notAllowedKey: "commands.notAllowed.doc-content-copy" }, - Pre, + Fse, // ── selections ── { id: "selection:copy", @@ -49204,12 +50367,12 @@ function Ore(e) { icon: "copy", shortcut: "Mod+C", categories: ["selection"], - run: (t) => e.copySelection(t.get(wn)), + run: (t) => e.copySelection(t.get(Sn)), // `canCopy()` in `enabled`, not `allowed`: a refused command keeps its keys, and Mod+C // with nothing selected in the viewer belongs to the page. The clipboard wiring says // when a selection may not be copied. enabled: (t) => { - const n = t.tryGet(wn); + const n = t.tryGet(Sn); return !!n && n.hasSelection() && n.canCopy(); } }, @@ -49238,10 +50401,10 @@ function Ore(e) { categories: ["snapshot"], // Straight to the clipboard, in the press itself: the picture follows when it's there. run: (t) => { - const n = yc(t); + const n = bc(t); return n ? e.copyImage(n.image) : void 0; }, - enabled: (t) => yc(t) !== null + enabled: (t) => bc(t) !== null }, { id: "snapshot:save", @@ -49250,12 +50413,12 @@ function Ore(e) { icon: "download", categories: ["snapshot"], run: async (t) => { - const n = yc(t); + const n = bc(t); if (!n) return; - const o = t.get(tt), r = t.documentId ?? void 0, s = await (await n.image).blob(), i = o.listPages(r).findIndex((a) => a.ref.objectNumber === n.page.objectNumber) + 1; - e.saveFile(s, Ere(o.get(r)?.name, i), "image/png"); + const o = t.get(nt), r = t.documentId ?? void 0, s = await (await n.image).blob(), a = o.listPages(r).findIndex((i) => i.ref.objectNumber === n.page.objectNumber) + 1; + e.saveFile(s, Bse(o.get(r)?.name, a), "image/png"); }, - enabled: (t) => yc(t) !== null + enabled: (t) => bc(t) !== null }, { id: "snapshot:clear", @@ -49264,7 +50427,7 @@ function Ore(e) { shortcut: "Escape", categories: ["snapshot"], run: (t) => t.get(ro).clearSnapshot(), - enabled: (t) => yc(t) !== null + enabled: (t) => bc(t) !== null }, // ── the document ── { @@ -49274,11 +50437,11 @@ function Ore(e) { icon: "download", shortcut: "Mod+S", categories: ["document"], - allowed: (t) => t.tryGet(tt)?.canDownload() ?? !0, + allowed: (t) => t.tryGet(nt)?.canDownload() ?? !0, notAllowedKey: "commands.notAllowed.doc-download", run: async (t) => { - const n = t.get(tt), o = t.documentId ?? void 0, r = await n.download(o, { signal: t.signal }); - e.saveFile(r, Mre(n.get(o)?.name), "application/pdf"); + const n = t.get(nt), o = t.documentId ?? void 0, r = await n.download(o, { signal: t.signal }); + e.saveFile(r, $se(n.get(o)?.name), "application/pdf"); }, enabled: (t) => t.documentId !== null }, @@ -49289,56 +50452,56 @@ function Ore(e) { icon: "print", shortcut: "Mod+P", categories: ["document"], - allowed: (t) => t.tryGet(tt)?.canPrint() ?? !0, + allowed: (t) => t.tryGet(nt)?.canPrint() ?? !0, notAllowedKey: "commands.notAllowed.doc-print", // The kernel prints the document's pages, and runs the document's own // print actions around the dialog when the actions plugin is there. run: async (t) => { - await t.get(tt).print(t.documentId ?? void 0, { signal: t.signal }); + await t.get(nt).print(t.documentId ?? void 0, { signal: t.signal }); }, enabled: (t) => t.documentId !== null } ]; } -function Mre(e) { +function $se(e) { return e ? /\.pdf$/i.test(e) ? e : `${e}.pdf` : "document.pdf"; } -function Ere(e, t) { +function Bse(e, t) { return `${(e ?? "document").replace(/\.pdf$/i, "")} p${t}.png`; } -const Cre = /* @__PURE__ */ Ore(eB); -function xn() { - return Ge(zn); +const zse = /* @__PURE__ */ Dse(c9); +function Pn() { + return Ge(Bn); } -const Ire = bi(zn); -function VI(e, t = {}) { - return Dw(e, { isMac: t.isMac ?? ql() }); +const Wse = Wi(Bn); +function T_(e, t = {}) { + return Zw(e, { isMac: t.isMac ?? Vl() }); } -function Dn(e) { - const t = Ge(zn), n = tn() ?? void 0, o = wt( +function Fn(e) { + const t = Ge(Bn), n = an() ?? void 0, o = vt( () => t.resolveCommand(e, n), - zI + A_ ); - return o === null && Yl(`useCommand:${e}`, `useCommand(): ${sre(e, t.listCommandIds())}`), He( - () => ire( - o ?? WI(e), + return o === null && Xl(`useCommand:${e}`, `useCommand(): ${vse(e, t.listCommandIds())}`), He( + () => kse( + o ?? S_(e), (r) => t.execute(r, { documentId: n }), - { isMac: ql() } + { isMac: Vl() } ), [o, t, n, e] ); } -function _re(e) { - const t = Ge(ah), n = e?.isMac, o = e?.target, r = me(e?.onRefused); +function Use(e) { + const t = Ge(fh), n = e?.isMac, o = e?.target, r = ye(e?.onRefused); r.current = e?.onRefused, Se(() => { - const s = (i, a) => r.current?.(i, a); - return o ? o.current ? Ok(t, { isMac: n, target: o.current, onRefused: s }) : void 0 : Ok(t, { isMac: n, onRefused: s }); + const s = (a, i) => r.current?.(a, i); + return o ? o.current ? Wk(t, { isMac: n, target: o.current, onRefused: s }) : void 0 : Wk(t, { isMac: n, onRefused: s }); }, [t, n, o]); } -const Tc = At("history", { +const Nc = St("history", { hint: "add historyPlugin() from '@embedpdf/plugin-history' to your plugins list" -}), Nre = { limit: 100 }, Tre = () => ({ undo: [], redo: [], merging: null, nextSeq: 0 }), GI = (e) => e === "undo" ? { from: "undo", to: "redo" } : { from: "redo", to: "undo" }, Kg = (e, t) => e[t].at(-1) ?? null; -function Rre(e, t, n) { +}), Kse = { limit: 100 }, qse = () => ({ undo: [], redo: [], merging: null, nextSeq: 0 }), R_ = (e) => e === "undo" ? { from: "undo", to: "redo" } : { from: "redo", to: "undo" }, Qg = (e, t) => e[t].at(-1) ?? null; +function Hse(e, t, n) { const o = { seq: e.nextSeq, id: t.opId, @@ -49366,25 +50529,25 @@ function Rre(e, t, n) { nextSeq: e.nextSeq + 1 }; } -function Lre(e, t, n, o) { - const { from: r, to: s } = GI(t), i = e[r].find((c) => c.seq === n); - if (!i) return e; - const a = { - ...i, - parts: i.parts.map((c) => ({ ...c, opId: o.get(c.id) ?? c.opId })) +function Vse(e, t, n, o) { + const { from: r, to: s } = R_(t), a = e[r].find((c) => c.seq === n); + if (!a) return e; + const i = { + ...a, + parts: a.parts.map((c) => ({ ...c, opId: o.get(c.id) ?? c.opId })) }; return { ...e, - [r]: e[r].filter((c) => c !== i), - [s]: [...e[s], a], + [r]: e[r].filter((c) => c !== a), + [s]: [...e[s], i], merging: null }; } -const zS = (e, t) => { +const i6 = (e, t) => { let n = !1; const o = []; for (const r of e) { - const s = r.parts.filter((i) => !t(i)); + const s = r.parts.filter((a) => !t(a)); if (s.length === r.parts.length) { o.push(r); continue; @@ -49393,12 +50556,12 @@ const zS = (e, t) => { } return n ? o : e; }; -function Sb(e, t) { - const n = zS(e.undo, (r) => r.id === t), o = zS(e.redo, (r) => r.id === t); +function Rb(e, t) { + const n = i6(e.undo, (r) => r.id === t), o = i6(e.redo, (r) => r.id === t); return n === e.undo && o === e.redo ? e : { ...e, undo: n, redo: o }; } -function jre(e, t, n, o) { - const { from: r } = GI(t), { undo: s, redo: i } = Sb(e, o.id), a = { undo: s, redo: i }, c = [...a[r]], l = c.findIndex((u) => u.seq === n.seq); +function Gse(e, t, n, o) { + const { from: r } = R_(t), { undo: s, redo: a } = Rb(e, o.id), i = { undo: s, redo: a }, c = [...i[r]], l = c.findIndex((u) => u.seq === n.seq); if (l >= 0) { const u = [...c[l].parts, o].sort((f, d) => f.seq - d.seq); c[l] = { ...c[l], parts: u }; @@ -49406,9 +50569,9 @@ function jre(e, t, n, o) { const u = (d) => r === "undo" ? d.seq < n.seq : d.seq > n.seq, f = c.filter(u).length; c.splice(f, 0, { ...n, parts: [o] }); } - return { ...e, ...a, [r]: c, merging: null }; + return { ...e, ...i, [r]: c, merging: null }; } -function Fre(e, t) { +function Yse(e, t) { const n = (o) => o.seq > t; return { ...e, @@ -49417,82 +50580,82 @@ function Fre(e, t) { merging: null }; } -const Dre = (e) => e.undo.length === 0 && e.redo.length === 0 && e.merging === null ? e : { ...e, undo: [], redo: [], merging: null }, $re = /* @__PURE__ */ new Set([ +const Qse = (e) => e.undo.length === 0 && e.redo.length === 0 && e.merging === null ? e : { ...e, undo: [], redo: [], merging: null }, Xse = /* @__PURE__ */ new Set([ "redaction.applied", "pages.flattened", "signatures.completed", "forms.repaired", "document.versioned" -]), WS = (e) => H.is(e.cause, q.UndoUnavailable), Bre = (e) => e.items.filter( +]), c6 = (e) => H.is(e.cause, q.UndoUnavailable), Zse = (e) => e.items.filter( (t) => t.type === "skipped" || "skipped" in t && (t.skipped?.length ?? 0) > 0 ).length; -function zre(e) { +function Jse(e) { const t = e.settings(), n = e.events.source(), o = e.events.source(), r = /* @__PURE__ */ new Set(), s = /* @__PURE__ */ new Set(); - let i = 0; - const a = (h) => { - if (i !== 0) - for (const g of h) s.add(g); - }, c = (h) => h.flatMap((g) => g.parts.map((m) => m.id)), l = () => { - const h = e.state.get(); - a(c([...h.undo, ...h.redo])), e.state.update(Dre); - }, u = (h, g, m, M) => M.result.then( - (x) => (x.meta.undoable || (a([m.id]), e.state.update(Sb, m.id)), { skipped: Bre(x) }), - (x) => { - if (r.add(M.opId), r.has(m.opId) || s.has(m.id)) return { moot: !0 }; - if (WS(x)) { - const S = e.state.get(), P = [...S.undo, ...S.redo].filter( - (k) => k.seq <= g.seq + let a = 0; + const i = (g) => { + if (a !== 0) + for (const h of g) s.add(h); + }, c = (g) => g.flatMap((h) => h.parts.map((m) => m.id)), l = () => { + const g = e.state.get(); + i(c([...g.undo, ...g.redo])), e.state.update(Qse); + }, u = (g, h, m, O) => O.result.then( + (E) => (E.meta.undoable || (i([m.id]), e.state.update(Rb, m.id)), { skipped: Zse(E) }), + (E) => { + if (r.add(O.opId), r.has(m.opId) || s.has(m.id)) return { moot: !0 }; + if (c6(E)) { + const P = e.state.get(), k = [...P.undo, ...P.redo].filter( + (A) => A.seq <= h.seq ); - a(c(P)), e.state.update(Fre, g.seq); + i(c(k)), e.state.update(Yse, h.seq); } else - e.state.update(jre, h, g, m); - return { error: x }; + e.state.update(Gse, g, h, m); + return { error: E }; } - ), f = (h) => { + ), f = (g) => { e.changes.sendHolds(); - const g = Kg(e.state.get(), h); - if (!g) return; - const m = h === "undo" ? [...g.parts].reverse() : g.parts, M = []; - for (const x of m) + const h = Qg(e.state.get(), g); + if (!h) return; + const m = g === "undo" ? [...h.parts].reverse() : h.parts, O = []; + for (const E of m) try { - const S = e.changes.stage({ - label: g.label, - undoOf: x.opId, - shows: h === "undo" ? x.backward : x.forward + const P = e.changes.stage({ + label: h.label, + undoOf: E.opId, + shows: g === "undo" ? E.backward : E.forward }); - M.push({ part: x, change: S }); - } catch (S) { - if (M.length === 0) throw S; + O.push({ part: E, change: P }); + } catch (P) { + if (O.length === 0) throw P; break; } e.state.update( - Lre, - h, - g.seq, - new Map(M.map(({ part: x, change: S }) => [x.id, S.opId])) - ), i += 1, Promise.all( - M.map(({ part: x, change: S }) => u(h, g, x, S)) - ).then((x) => { - i -= 1, i === 0 && (r.clear(), s.clear()); - const S = h === "redo"; - if (x.every((A) => "moot" in A)) return; - const P = x.find((A) => "error" in A); - if (P && "error" in P) { + Vse, + g, + h.seq, + new Map(O.map(({ part: E, change: P }) => [E.id, P.opId])) + ), a += 1, Promise.all( + O.map(({ part: E, change: P }) => u(g, h, E, P)) + ).then((E) => { + a -= 1, a === 0 && (r.clear(), s.clear()); + const P = g === "redo"; + if (E.every((w) => "moot" in w)) return; + const k = E.find((w) => "error" in w); + if (k && "error" in k) { o.emit({ - label: g.label, - redo: S, - reason: WS(P.error) ? "unavailable" : "refused", - error: P.error + label: h.label, + redo: P, + reason: c6(k.error) ? "unavailable" : "refused", + error: k.error }); return; } - const k = x.reduce( - (A, y) => A + ("skipped" in y ? y.skipped : 0), + const A = E.reduce( + (w, b) => w + ("skipped" in b ? b.skipped : 0), 0 ); - n.emit({ label: g.label, redo: S, skipped: k }); + n.emit({ label: h.label, redo: P, skipped: A }); }); - }, d = () => e.changes.listPending().find((h) => h.held && h.history) ?? null; + }, d = () => e.changes.listPending().find((g) => g.held && g.history) ?? null; return { api: { ...t.api, @@ -49500,46 +50663,46 @@ function zre(e) { redo: () => f("redo"), canUndo: () => d() !== null || e.state.get().undo.length > 0, canRedo: () => d() === null && e.state.get().redo.length > 0, - getUndoLabel: () => d()?.label ?? Kg(e.state.get(), "undo")?.label ?? null, - getRedoLabel: () => d() === null ? Kg(e.state.get(), "redo")?.label ?? null : null, + getUndoLabel: () => d()?.label ?? Qg(e.state.get(), "undo")?.label ?? null, + getRedoLabel: () => d() === null ? Qg(e.state.get(), "redo")?.label ?? null : null, clear: l, onUndone: n.on, onUndoFailed: o.on }, connect() { - e.listen(e.changes.onStaged, (h) => { - h.undoOf !== null || !h.history || e.state.update(Rre, h, t.get().limit); - }), e.listen(e.changes.onSettled, (h) => { - const { change: g } = h; - g.undoOf !== null || !g.history || (h.status === "refused" || !h.result.meta.undoable) && (h.status === "refused" && i > 0 && r.add(g.opId), a([g.opId]), e.state.update(Sb, g.opId)); - }), e.listen(e.doc.events, (h) => { - $re.has(h.type) && l(); + e.listen(e.changes.onStaged, (g) => { + g.undoOf !== null || !g.history || e.state.update(Hse, g, t.get().limit); + }), e.listen(e.changes.onSettled, (g) => { + const { change: h } = g; + h.undoOf !== null || !h.history || (g.status === "refused" || !g.result.meta.undoable) && (g.status === "refused" && a > 0 && r.add(h.opId), i([h.opId]), e.state.update(Rb, h.opId)); + }), e.listen(e.doc.events, (g) => { + Xse.has(g.type) && l(); }); } }; } -const Wre = (e) => ({ +const eae = (e) => ({ id: "history", - token: Tc, + token: Nc, scope: "document", - state: Tre, - settings: { defaults: Nre, registered: e }, - create: zre -}), Ure = () => ({ surfaces: {}, openMenus: [] }), $w = (e) => ({ + state: qse, + settings: { defaults: Kse, registered: e }, + create: Jse +}), tae = () => ({ surfaces: {}, openMenus: [] }), Jw = (e) => ({ ...e, open: !1, focusRequest: 0 }); -function Kre(e, t, n) { +function nae(e, t, n) { const o = {}; for (const [r, s] of Object.entries(e)) { - const i = s.open && s.exclusive === t && r !== n; - o[r] = i ? $w(s) : s; + const a = s.open && s.exclusive === t && r !== n; + o[r] = a ? Jw(s) : s; } return o; } -function YI(e, t, n = {}) { - const o = n.exclusive ? Kre(e.surfaces, n.exclusive, t) : { ...e.surfaces }, r = e.surfaces[t]?.focusRequest ?? 0; +function L_(e, t, n = {}) { + const o = n.exclusive ? nae(e.surfaces, n.exclusive, t) : { ...e.surfaces }, r = e.surfaces[t]?.focusRequest ?? 0; return o[t] = { open: !0, exclusive: n.exclusive, @@ -49547,56 +50710,56 @@ function YI(e, t, n = {}) { focusRequest: n.focus ? r + 1 : r }, { ...e, surfaces: o }; } -function QI(e, t) { +function j_(e, t) { const n = e.surfaces[t]; - return n?.open ? { ...e, surfaces: { ...e.surfaces, [t]: $w(n) } } : e; + return n?.open ? { ...e, surfaces: { ...e.surfaces, [t]: Jw(n) } } : e; } -function qre(e, t, n) { - return e.surfaces[t]?.open ? QI(e, t) : YI(e, t, n); +function oae(e, t, n) { + return e.surfaces[t]?.open ? j_(e, t) : L_(e, t, n); } -function Hre(e, t, n) { +function rae(e, t, n) { const o = e.surfaces[t]; return o ? { ...e, surfaces: { ...e.surfaces, [t]: { ...o, props: n } } } : e; } -function Vre(e) { +function sae(e) { if (!Object.values(e.surfaces).some((n) => n.open)) return e; const t = {}; for (const [n, o] of Object.entries(e.surfaces)) - t[n] = o.open ? $w(o) : o; + t[n] = o.open ? Jw(o) : o; return { ...e, surfaces: t }; } -function XI(e, t) { +function F_(e, t) { return e.openMenus.includes(t) ? e : { ...e, openMenus: [...e.openMenus, t] }; } -function ZI(e, t) { +function D_(e, t) { return e.openMenus.includes(t) ? { ...e, openMenus: e.openMenus.filter((n) => n !== t) } : e; } -function Gre(e, t) { - return e.openMenus.includes(t) ? ZI(e, t) : XI(e, t); +function aae(e, t) { + return e.openMenus.includes(t) ? D_(e, t) : F_(e, t); } -function Yre(e) { +function iae(e) { return e.openMenus.length === 0 ? e : { ...e, openMenus: [] }; } -function Qre(e) { +function cae(e) { const t = {}; for (const [n, { focusRequest: o, ...r }] of Object.entries(e.surfaces)) t[n] = r; return { surfaces: t, openMenus: e.openMenus }; } -function Xre(e, t) { +function lae(e, t) { const n = {}; for (const [o, r] of Object.entries(t.surfaces)) n[o] = { ...r, focusRequest: 0 }; return { surfaces: n, openMenus: [...t.openMenus] }; } -function Zre(e) { +function uae(e) { const t = e.events.source(), n = e.events.source(), o = e.events.source(), r = e.events.source(); e.state.onChange(({ previous: l, next: u }) => { if (l.surfaces !== u.surfaces) { const f = /* @__PURE__ */ new Set([...Object.keys(l.surfaces), ...Object.keys(u.surfaces)]); for (const d of f) { - const p = l.surfaces[d]?.open ?? !1, h = u.surfaces[d]?.open ?? !1; - p !== h && (h ? t.emit({ id: d, props: u.surfaces[d].props }) : n.emit({ id: d })); + const p = l.surfaces[d]?.open ?? !1, g = u.surfaces[d]?.open ?? !1; + p !== g && (g ? t.emit({ id: d, props: u.surfaces[d].props }) : n.emit({ id: d })); } } if (l.openMenus !== u.openMenus) { @@ -49606,61 +50769,61 @@ function Zre(e) { l.openMenus.includes(f) || o.emit({ id: f }); } }); - const s = () => e.state.get(), i = Jt( + const s = () => e.state.get(), a = Ut( (l) => [s().surfaces[l]], (l, u) => u ? { id: l, ...u } : null - ), a = Ke( + ), i = qe( () => [s().surfaces], - (l) => Object.keys(l).filter((u) => l[u].open).map((u) => i(u)) + (l) => Object.keys(l).filter((u) => l[u].open).map((u) => a(u)) ); return { api: { isOpen: (l) => s().surfaces[l]?.open ?? !1, - getSurface: i, - listOpenSurfaces: a, - open: (l, u) => e.state.update(YI, l, u), - close: (l) => e.state.update(QI, l), - toggle: (l, u) => e.state.update(qre, l, u), - updateSurfaceProps: (l, u) => e.state.update(Hre, l, u), - closeAll: () => e.state.update(Vre), + getSurface: a, + listOpenSurfaces: i, + open: (l, u) => e.state.update(L_, l, u), + close: (l) => e.state.update(j_, l), + toggle: (l, u) => e.state.update(oae, l, u), + updateSurfaceProps: (l, u) => e.state.update(rae, l, u), + closeAll: () => e.state.update(sae), isMenuOpen: (l) => s().openMenus.includes(l), listOpenMenus: () => s().openMenus, - openMenu: (l) => e.state.update(XI, l), - closeMenu: (l) => e.state.update(ZI, l), - toggleMenu: (l) => e.state.update(Gre, l), - closeAllMenus: () => e.state.update(Yre), - getSnapshot: Ke(() => [s()], Qre), - applySnapshot: (l) => e.state.update(Xre, l), + openMenu: (l) => e.state.update(F_, l), + closeMenu: (l) => e.state.update(D_, l), + toggleMenu: (l) => e.state.update(aae, l), + closeAllMenus: () => e.state.update(iae), + getSnapshot: qe(() => [s()], cae), + applySnapshot: (l) => e.state.update(lae, l), onSurfaceOpened: t.on, onSurfaceClosed: n.on, onMenuOpened: o.on, onMenuClosed: r.on } }; } -const Jre = () => ({ +const dae = () => ({ id: "shell", scope: "document", - token: We, - state: Ure, - create: Zre -}), ese = ln(We, { + token: Ue, + state: tae, + create: uae +}), fae = pn(Ue, { read: (e) => ({ openSurfaces: e.listOpenSurfaces(), openMenus: e.listOpenMenus() }), empty: { openSurfaces: [], openMenus: [] } }); -function tse() { - return Ge(We); -} -function nse(e, t) { - s0(We, e, t); -} -const ose = Wn(ese), US = Object.freeze({}); -function Jo(e) { - const t = at(We), n = ht(We, (r) => r.isOpen(e), !1), o = ht( - We, - (r) => r.getSurface(e)?.props ?? US, - US +function pae() { + return Ge(Ue); +} +function hae(e, t) { + y0(Ue, e, t); +} +const gae = zn(fae), l6 = Object.freeze({}); +function er(e) { + const t = ct(Ue), n = mt(Ue, (r) => r.isOpen(e), !1), o = mt( + Ue, + (r) => r.getSurface(e)?.props ?? l6, + l6 ); return He( () => ({ @@ -49673,54 +50836,54 @@ function Jo(e) { [t, e, n, o] ); } -function Bpe(e, t, n = {}) { - const o = at(We), r = ht( - We, - (a) => a.getSurface(e)?.focusRequest ?? 0, +function nge(e, t, n = {}) { + const o = ct(Ue), r = mt( + Ue, + (i) => i.getSurface(e)?.focusRequest ?? 0, 0 - ), [s] = ke(J$), i = n.select ?? !1; - Se(() => s.follow(t.current, o, r, { select: i })); + ), [s] = ke(i9), a = n.select ?? !1; + Se(() => s.follow(t.current, o, r, { select: a })); } -const rse = "attachments", sse = "attachment-item", Co = (e) => e.tryGet(qa), Rs = (e) => Co(e)?.getSelected()[0] ?? null; -async function KS(e, t) { +const mae = "attachments", bae = "attachment-item", Eo = (e) => e.tryGet(qi), Rs = (e) => Eo(e)?.getSelected()[0] ?? null; +async function u6(e, t) { const { bytes: n, name: o, mimeType: r } = await e.download(t); - gp(n, o, r ?? void 0); + wp(n, o, r ?? void 0); } -const qS = (e) => { +const d6 = (e) => { const t = e.tryGet(Qe)?.selection.getSelected() ?? [], [n] = t; if (t.length !== 1 || n?.subtype !== "file-attachment") return null; - const o = ie(n.ref); - return (Co(e)?.list() ?? []).find((r) => r.home.kind === "page" && ie(r.home.ref) === o) ?? null; -}, HS = { + const o = Y(n.ref); + return (Eo(e)?.list() ?? []).find((r) => r.home.kind === "page" && Y(r.home.ref) === o) ?? null; +}, f6 = { categories: ["documents.download"], - allowed: (e) => Co(e)?.canDownload() ?? !0, + allowed: (e) => Eo(e)?.canDownload() ?? !0, notAllowedKey: "commands.notAllowed.doc-download" -}, VS = { +}, p6 = { categories: ["attachments.adding"], - allowed: (e) => Co(e)?.canCreate() ?? !0, + allowed: (e) => Eo(e)?.canCreate() ?? !0, notAllowedKey: "commands.notAllowed.doc-attachments-modify" -}, ise = [ +}, yae = [ { id: "attachment:add", labelKey: "commands.attachment.add", icon: "plus", - ...VS, + ...p6, run: async (e) => { - const t = Co(e); + const t = Eo(e); if (!t) return; - const n = e.args?.files ?? [await hp()].filter((o) => o !== null); - n.length !== 0 && (e.tryGet(We)?.open(rse), await t.create(n.map((o) => ({ data: o })))); + const n = e.args?.files ?? [await yp()].filter((o) => o !== null); + n.length !== 0 && (e.tryGet(Ue)?.open(mae), await t.create(n.map((o) => ({ data: o })))); } }, { id: "attachment:save", labelKey: "commands.attachment.save", icon: "download", - ...HS, + ...f6, enabled: (e) => Rs(e) !== null, run: async (e) => { - const t = Co(e), n = Rs(e); - t && n && await KS(t, n); + const t = Eo(e), n = Rs(e); + t && n && await u6(t, n); } }, { @@ -49729,21 +50892,21 @@ const qS = (e) => { visible: (e) => Rs(e)?.home.kind === "page", run: (e) => { const t = Rs(e); - t && Co(e)?.reveal(t); + t && Eo(e)?.reveal(t); } }, { id: "attachment:delete", labelKey: "commands.attachment.delete", icon: "trash", - ...VS, + ...p6, allowed: (e) => { - const t = Co(e), n = Rs(e); + const t = Eo(e), n = Rs(e); return t ? n ? t.canDelete(n) : t.canCreate() : !0; }, enabled: (e) => Rs(e) !== null, run: async (e) => { - const t = Co(e), n = Rs(e); + const t = Eo(e), n = Rs(e); t && n && await t.delete(n); } }, @@ -49751,81 +50914,81 @@ const qS = (e) => { id: "menu:attachment-item", labelKey: "commands.attachment.more", icon: "dots", - menu: sse, + menu: bae, categories: ["attachments"] }, { id: "annotation:save-file", labelKey: "commands.annotate.saveFile", icon: "download", - ...HS, - visible: (e) => qS(e) !== null, + ...f6, + visible: (e) => d6(e) !== null, run: async (e) => { - const t = Co(e), n = qS(e); - t && n && await KS(t, n); + const t = Eo(e), n = d6(e); + t && n && await u6(t, n); } } -], ase = "comment-item", cse = [ +], wae = "comment-item", vae = [ "accepted", "rejected", "cancelled", "completed", "none" -], lse = { +], kae = { none: "comments.statusNone", accepted: "comments.statusAccepted", rejected: "comments.statusRejected", cancelled: "comments.statusCancelled", completed: "comments.statusCompleted" -}, use = (e) => !!e.root.contents?.trim() || e.replies.length > 0, dse = (e) => e.review.lastChange?.state ?? "none", Vf = (e) => e.tryGet(Qe)?.comments ?? null, jl = (e) => { +}, xae = (e) => !!e.root.contents?.trim() || e.replies.length > 0, Aae = (e) => e.review.lastChange?.state ?? "none", Qf = (e) => e.tryGet(Qe)?.comments ?? null, Fl = (e) => { const t = e.tryGet(Qe), [n] = t?.selection.getSelected() ?? []; return n ? t?.comments.getThread(n.ref) ?? null : null; -}, fse = (e) => { - const t = jl(e); - return t !== null && use(t) && !!Vf(e)?.canSetStatus(t.root.ref); -}, pse = (e) => ({ +}, Sae = (e) => { + const t = Fl(e); + return t !== null && xae(t) && !!Qf(e)?.canSetStatus(t.root.ref); +}, Oae = (e) => ({ id: `comment:status-${e}`, - labelKey: lse[e], + labelKey: kae[e], categories: ["comments.writing"], - visible: fse, + visible: Sae, active: (t) => { - const n = jl(t); - return n !== null && dse(n) === e; + const n = Fl(t); + return n !== null && Aae(n) === e; }, run: async (t) => { - const n = jl(t); - n && await Vf(t)?.setStatus(n.root.ref, e); + const n = Fl(t); + n && await Qf(t)?.setStatus(n.root.ref, e); } -}), hse = [ - ...cse.map(pse), +}), Pae = [ + ...vae.map(Oae), { id: "comment:delete-thread", labelKey: "comments.deleteThread", icon: "trash", categories: ["comments.writing"], enabled: (e) => { - const t = jl(e); - return t !== null && !!Vf(e)?.canDeleteThread(t.root.ref); + const t = Fl(e); + return t !== null && !!Qf(e)?.canDeleteThread(t.root.ref); }, run: async (e) => { - const t = jl(e); - t && await Vf(e)?.deleteThread(t.root.ref); + const t = Fl(e); + t && await Qf(e)?.deleteThread(t.root.ref); } }, { id: "menu:comment-item", labelKey: "commands.commentThread.more", icon: "dots", - menu: ase, + menu: wae, categories: ["comments.writing"] } -], gse = "mode"; -function Gf(e) { +], Mae = "mode"; +function Xf(e) { return e.listOpenSurfaces().find((t) => t.exclusive === "mode")?.id ?? null; } -function mse(e) { - return Ta(e).map((t) => { - const n = BI(e, t).map((o) => e.bars[o]).find((o) => o.title !== void 0 || o.titleKey !== void 0); +function Eae(e) { + return Ni(e).map((t) => { + const n = x_(e, t).map((o) => e.bars[o]).find((o) => o.title !== void 0 || o.titleKey !== void 0); return { mode: t, title: n?.title, @@ -49833,8 +50996,8 @@ function mse(e) { }; }); } -const bse = (e, t) => e.length === t.length && e.every((n, o) => n.mode === t[o].mode && n.title === t[o].title && n.titleKey === t[o].titleKey); -function yse(e, t) { +const Cae = (e, t) => e.length === t.length && e.every((n, o) => n.mode === t[o].mode && n.title === t[o].title && n.titleKey === t[o].titleKey); +function Iae(e, t) { return e.filter((n) => !t(ms(n.mode))).map((n) => { const o = ms(n.mode); return { @@ -49842,23 +51005,23 @@ function yse(e, t) { label: n.title ?? (n.titleKey === void 0 ? n.mode : void 0), labelKey: n.titleKey, run: (r) => { - r.tryGet(We)?.toggle(o, { exclusive: gse }), r.tryGet(cn)?.activateTool("pointer"); + r.tryGet(Ue)?.toggle(o, { exclusive: Mae }), r.tryGet(fn)?.activateTool("pointer"); }, - active: (r) => r.tryGet(We)?.isOpen(o) ?? !1 + active: (r) => r.tryGet(Ue)?.isOpen(o) ?? !1 }; }); } -const Pb = "document:open", Bw = "application/pdf", zw = (e) => e.type === Bw || /\.pdf$/i.test(e.name); -function JI(e) { +const Lb = "document:open", ev = "application/pdf", tv = (e) => e.type === ev || /\.pdf$/i.test(e.name); +function $_(e) { if (!e || !Array.from(e.types).includes("Files")) return !1; const t = Array.from(e.items ?? []).filter((n) => n.kind === "file"); - return t.length === 0 || t.some((n) => n.type === Bw || n.type === ""); + return t.length === 0 || t.some((n) => n.type === ev || n.type === ""); } -const wse = (e) => { +const _ae = (e) => { const t = e?.files; return Array.isArray(t) ? t : null; -}, vse = () => hp({ accept: `.pdf,${Bw}` }).then((e) => e ? [e] : []); -function kse(e, t) { +}, Nae = () => yp({ accept: `.pdf,${ev}` }).then((e) => e ? [e] : []); +function Tae(e, t) { e.openAll(t.map((n) => ({ name: n.name.replace(/\.pdf$/i, "") || n.name, source: async () => ({ @@ -49867,44 +51030,44 @@ function kse(e, t) { }) }))); } -const xse = { - id: Pb, +const Rae = { + id: Lb, labelKey: "commands.open", icon: "fileImport", shortcut: "Mod+O", categories: ["documents.open"], - visible: (e) => e.tryGet(tt)?.canOpenFiles() ?? !1, + visible: (e) => e.tryGet(nt)?.canOpenFiles() ?? !1, run: async (e) => { - const t = e.tryGet(tt); - t && kse(t, wse(e.args) ?? await vse()); + const t = e.tryGet(nt); + t && Tae(t, _ae(e.args) ?? await Nae()); } -}, Ase = "outline", Ob = "outline-rename", e_ = "outline-properties", Sse = "outline-item", Gr = (e) => e.tryGet(Ka), el = (e) => { - const t = Gr(e), [n] = t?.getSelected() ?? []; +}, Lae = "outline", jb = "outline-rename", B_ = "outline-properties", jae = "outline-item", Yr = (e) => e.tryGet(Ki), Jc = (e) => { + const t = Yr(e), [n] = t?.getSelected() ?? []; return n ? t?.get(n) ?? null : null; -}, wc = (e) => el(e) !== null, Ls = { +}, yc = (e) => Jc(e) !== null, Ls = { categories: ["outline.editing"], - allowed: (e) => Gr(e)?.canEdit() ?? !0, + allowed: (e) => Yr(e)?.canEdit() ?? !0, notAllowedKey: "commands.notAllowed.doc-outline-modify" }; -async function GS(e, t) { - const n = Gr(e); +async function h6(e, t) { + const n = Yr(e); if (!n) return; - const o = e.tryGet(We), r = el(e); - o?.open(Ase), o?.open(Ob, { props: { after: r?.ref.objectNumber ?? null } }); + const o = e.tryGet(Ue), r = Jc(e); + o?.open(Lae), o?.open(jb, { props: { after: r?.ref.objectNumber ?? null } }); try { await n.create(t(r), { select: !0 }); } catch (s) { - throw o?.close(Ob), s; + throw o?.close(jb), s; } } -const Pse = [ +const Fae = [ { id: "outline:add", labelKey: "commands.outline.add", icon: "plus", shortcut: "Mod+B", ...Ls, - run: (e) => GS(e, (t) => t ? { + run: (e) => h6(e, (t) => t ? { parent: t.parent, position: { after: t.ref } } : {}) @@ -49913,26 +51076,26 @@ const Pse = [ id: "outline:add-child", labelKey: "commands.outline.addChild", ...Ls, - enabled: wc, - run: (e) => GS(e, (t) => t ? { parent: t.ref } : {}) + enabled: yc, + run: (e) => h6(e, (t) => t ? { parent: t.ref } : {}) }, { id: "outline:rename", labelKey: "commands.outline.rename", ...Ls, - enabled: wc, + enabled: yc, run: (e) => { - const t = el(e); - t && e.tryGet(We)?.open(Ob, { props: { item: t.ref.objectNumber } }); + const t = Jc(e); + t && e.tryGet(Ue)?.open(jb, { props: { item: t.ref.objectNumber } }); } }, { id: "outline:set-destination", labelKey: "commands.outline.setDestination", ...Ls, - enabled: (e) => wc(e) && Gr(e)?.getCurrentViewTarget() != null, + enabled: (e) => yc(e) && Yr(e)?.getCurrentViewTarget() != null, run: async (e) => { - const t = Gr(e), n = el(e), o = t?.getCurrentViewTarget() ?? null; + const t = Yr(e), n = Jc(e), o = t?.getCurrentViewTarget() ?? null; t && n && o && await t.update(n.ref, { target: o }); } }, @@ -49940,10 +51103,10 @@ const Pse = [ id: "outline:properties", labelKey: "commands.outline.properties", ...Ls, - enabled: wc, + enabled: yc, run: (e) => { - const t = el(e); - t && e.tryGet(We)?.open(e_, { + const t = Jc(e); + t && e.tryGet(Ue)?.open(B_, { exclusive: "modal", props: { item: t.ref.objectNumber } }); @@ -49954,9 +51117,9 @@ const Pse = [ labelKey: "commands.outline.delete", icon: "trash", ...Ls, - enabled: wc, + enabled: yc, run: async (e) => { - const t = Gr(e), n = t?.getSelected() ?? []; + const t = Yr(e), n = t?.getSelected() ?? []; t && n.length > 0 && await t.delete(n); } }, @@ -49964,7 +51127,7 @@ const Pse = [ id: "menu:outline-item", labelKey: "commands.outline.more", icon: "dots", - menu: Sse, + menu: jae, ...Ls }, { @@ -49972,61 +51135,61 @@ const Pse = [ labelKey: "commands.outline.expandAll", icon: "chevronsDown", categories: ["outline"], - run: (e) => Gr(e)?.expandAll() + run: (e) => Yr(e)?.expandAll() }, { id: "outline:collapse-all", labelKey: "commands.outline.collapseAll", icon: "chevronsUp", categories: ["outline"], - run: (e) => Gr(e)?.collapseAll() + run: (e) => Yr(e)?.collapseAll() } -], Ose = "page", t_ = "application/pdf", Mo = (e) => e.tryGet(Ua), Yr = (e) => Mo(e)?.getSelected() ?? [], Mb = (e) => Yr(e).length > 0, Kd = (e) => e.tryGet(tt)?.listPages(e.documentId ?? void 0) ?? [], n_ = (e) => e.args ?? {}, Fs = { +], Dae = "page", z_ = "application/pdf", Po = (e) => e.tryGet(Ui), Qr = (e) => Po(e)?.getSelected() ?? [], Fb = (e) => Qr(e).length > 0, qd = (e) => e.tryGet(nt)?.listPages(e.documentId ?? void 0) ?? [], W_ = (e) => e.args ?? {}, Fs = { categories: ["pages"], - allowed: (e) => Mo(e)?.canEdit() ?? !0, + allowed: (e) => Po(e)?.canEdit() ?? !0, notAllowedKey: "commands.notAllowed.doc-pages-assemble" }; -function YS(e) { - const t = n_(e).position; +function g6(e) { + const t = W_(e).position; if (t) return t; - const n = new Set(Yr(e).map((r) => r.objectNumber)), o = Kd(e).filter((r) => n.has(r.ref.objectNumber)).pop(); + const n = new Set(Qr(e).map((r) => r.objectNumber)), o = qd(e).filter((r) => n.has(r.ref.objectNumber)).pop(); return o ? { after: o.ref } : "end"; } -async function Mse(e) { - const t = n_(e).files; - if (t) return t.filter(zw); - const n = await hp({ accept: `.pdf,${t_}` }); +async function $ae(e) { + const t = W_(e).files; + if (t) return t.filter(tv); + const n = await yp({ accept: `.pdf,${z_}` }); return n ? [n] : []; } -function Ese(e) { +function Bae(e) { const t = e.documentId ?? void 0; - return `${e.tryGet(tt)?.get(t)?.name?.replace(/\.pdf$/i, "") || "document"}-pages.pdf`; + return `${e.tryGet(nt)?.get(t)?.name?.replace(/\.pdf$/i, "") || "document"}-pages.pdf`; } -const QS = (e, t, n, o) => ({ +const m6 = (e, t, n, o) => ({ id: e, labelKey: t, icon: n, ...Fs, - enabled: Mb, + enabled: Fb, run: async (r) => { - const s = Yr(r); - s.length > 0 && await Mo(r)?.rotateBy(s, o); + const s = Qr(r); + s.length > 0 && await Po(r)?.rotateBy(s, o); } -}), Cse = [ - QS("page:rotate-clockwise", "commands.pages.rotateClockwise", "pageRotateClockwise", 90), - QS("page:rotate-counterclockwise", "commands.pages.rotateCounterclockwise", "pageRotateCounterClockwise", -90), +}), zae = [ + m6("page:rotate-clockwise", "commands.pages.rotateClockwise", "pageRotateClockwise", 90), + m6("page:rotate-counterclockwise", "commands.pages.rotateCounterclockwise", "pageRotateCounterClockwise", -90), { id: "page:delete", labelKey: "commands.pages.delete", icon: "trash", ...Fs, enabled: (e) => { - const t = Yr(e).length; - return t > 0 && t < Kd(e).length; + const t = Qr(e).length; + return t > 0 && t < qd(e).length; }, run: async (e) => { - const t = Yr(e); - t.length > 0 && await Mo(e)?.delete(t); + const t = Qr(e); + t.length > 0 && await Po(e)?.delete(t); } }, { @@ -50034,9 +51197,9 @@ const QS = (e, t, n, o) => ({ labelKey: "commands.pages.duplicate", icon: "copy", ...Fs, - enabled: Mb, + enabled: Fb, run: async (e) => { - const t = Mo(e), n = Yr(e); + const t = Po(e), n = Qr(e); if (!t || n.length === 0) return; const { pages: o } = await t.duplicate(n); t.select(o); @@ -50048,9 +51211,9 @@ const QS = (e, t, n, o) => ({ icon: "filePlus", ...Fs, run: async (e) => { - const t = Mo(e); + const t = Po(e); if (!t) return; - const { pages: n } = await t.insertBlank({ position: YS(e) }); + const { pages: n } = await t.insertBlank({ position: g6(e) }); t.select(n); } }, @@ -50060,15 +51223,15 @@ const QS = (e, t, n, o) => ({ icon: "fileImport", ...Fs, run: async (e) => { - const t = Mo(e); + const t = Po(e); if (!t) return; - let n = YS(e); - const o = await Mse(e), r = []; + let n = g6(e); + const o = await $ae(e), r = []; for (const s of o) { - const { pages: i } = await t.insertFromBytes(new Uint8Array(await s.arrayBuffer()), { position: n }); - r.push(...i); - const a = i[i.length - 1]; - a && (n = { after: a }); + const { pages: a } = await t.insertFromBytes(new Uint8Array(await s.arrayBuffer()), { position: n }); + r.push(...a); + const i = a[a.length - 1]; + i && (n = { after: i }); } r.length > 0 && t.select(r); } @@ -50078,29 +51241,29 @@ const QS = (e, t, n, o) => ({ labelKey: "commands.pages.extract", icon: "fileExport", categories: ["documents.download"], - allowed: (e) => Mo(e)?.canExtract() ?? !0, + allowed: (e) => Po(e)?.canExtract() ?? !0, notAllowedKey: "commands.notAllowed.doc-download", - enabled: Mb, + enabled: Fb, run: async (e) => { - const t = Yr(e), n = Mo(e); - !n || t.length === 0 || gp(await n.extract(t), Ese(e), t_); + const t = Qr(e), n = Po(e); + !n || t.length === 0 || wp(await n.extract(t), Bae(e), z_); } }, { id: "page:select-all", labelKey: "commands.pages.selectAll", categories: Fs.categories, - enabled: (e) => Yr(e).length < Kd(e).length, - run: (e) => Mo(e)?.select(Kd(e).map((t) => t.ref)) + enabled: (e) => Qr(e).length < qd(e).length, + run: (e) => Po(e)?.select(qd(e).map((t) => t.ref)) }, { id: "menu:page", labelKey: "commands.pages.more", icon: "dots", - menu: Ose, + menu: Dae, ...Fs } -], o_ = "go-to-page", r_ = "shortcuts", XS = "redact-confirm", Ise = "print", ZS = "form-design", _se = "form-edit", Nse = [ +], U_ = "go-to-page", K_ = "shortcuts", b6 = "redact-confirm", Wae = "print", y6 = "form-design", Uae = "form-edit", Kae = [ "form-text", "form-checkbox", "form-radio", @@ -50108,147 +51271,147 @@ const QS = (e, t, n, o) => ({ "form-listbox", "form-button", "form-signature" -], Tse = (e) => e === "form-edit" || e != null && Nse.includes(e), JS = (e) => Tse(e.tryGet(cn)?.getActiveToolId()), Rse = "embedpdf-custom", De = (e) => e.tryGet(xt), ld = (e) => (De(e)?.getPageCount() ?? 0) > 1, jt = (e) => e.tryGet(cn), Bt = (e) => e.tryGet(Qe), qd = (e) => e.tryGet(wn), Hd = (e) => e.tryGet(ro), ud = (e) => Hd(e)?.getSnapshot() ?? null, Lse = Cre.find((e) => "id" in e && e.id === "document:download"), jse = (e, t) => { - const n = e.tryGet(tt), o = e.documentId ?? void 0; +], qae = (e) => e === "form-edit" || e != null && Kae.includes(e), w6 = (e) => qae(e.tryGet(fn)?.getActiveToolId()), Hae = "embedpdf-custom", Be = (e) => e.tryGet(At), fd = (e) => (Be(e)?.getPageCount() ?? 0) > 1, zt = (e) => e.tryGet(fn), Pt = (e) => e.tryGet(Qe), Hd = (e) => e.tryGet(Sn), Vd = (e) => e.tryGet(ro), pd = (e) => Vd(e)?.getSnapshot() ?? null, Vae = zse.find((e) => "id" in e && e.id === "document:download"), Gae = (e, t) => { + const n = e.tryGet(nt), o = e.documentId ?? void 0; return `${(n?.get(o)?.name ?? "document").replace(/\.pdf$/i, "")} p${(n?.listPages(o).findIndex((r) => r.ref.objectNumber === t.objectNumber) ?? -1) + 1}.png`; -}, bt = { - allowed: (e) => Bt(e)?.canCreate() ?? !0, +}, gt = { + allowed: (e) => Pt(e)?.canCreate() ?? !0, notAllowedKey: "commands.notAllowed.annotations-create" -}, $r = { - allowed: (e) => e.tryGet(Ao)?.canDesign() ?? !0, +}, zr = { + allowed: (e) => e.tryGet(xo)?.canDesign() ?? !0, notAllowedKey: "commands.notAllowed.doc-forms-modify" -}, e6 = { - allowed: (e) => e.tryGet(Yt)?.canPlace(e.documentId ?? void 0) ?? !0, +}, v6 = { + allowed: (e) => e.tryGet(Jt)?.canPlace(e.documentId ?? void 0) ?? !0, notAllowedKey: "commands.notAllowed.annotations-create" -}, Fse = (e, t) => e === t || !!e && !!t && e.start.page.objectNumber === t.start.page.objectNumber && e.start.index === t.start.index && e.end.page.objectNumber === t.end.page.objectNumber && e.end.index === t.end.index, dd = (e, t) => ({ - run: (n) => n.tryGet(zn)?.execute(bs(e), { documentId: n.documentId ?? void 0 }), - active: (n) => n.tryGet(We)?.isOpen(e) ?? !1, - visible: (n) => (n.tryGet(zn)?.hasCommand(bs(e)) ?? !1) && (t?.(n) ?? !0) -}), qg = (e) => { - const t = De(e)?.getCurrentPage(); - return t != null && (e.tryGet(Bo)?.canMeasure(t) ?? !1); -}, Hg = (e) => (Bt(e)?.selection.getSelected().length ?? 0) > 0, t6 = (e) => { - const t = Bt(e); +}, Yae = (e, t) => e === t || !!e && !!t && e.start.page.objectNumber === t.start.page.objectNumber && e.start.index === t.start.index && e.end.page.objectNumber === t.end.page.objectNumber && e.end.index === t.end.index, hd = (e, t) => ({ + run: (n) => n.tryGet(Bn)?.execute(bs(e), { documentId: n.documentId ?? void 0 }), + active: (n) => n.tryGet(Ue)?.isOpen(e) ?? !1, + visible: (n) => (n.tryGet(Bn)?.hasCommand(bs(e)) ?? !1) && (t?.(n) ?? !0) +}), Xg = (e) => { + const t = Be(e)?.getCurrentPage(); + return t != null && (e.tryGet($o)?.canMeasure(t) ?? !1); +}, Zg = (e) => (Pt(e)?.selection.getSelected().length ?? 0) > 0, Jg = (e) => { + const t = Pt(e); return (t?.selection.getSelected() ?? []).every(({ ref: n }) => t.isEditable(n)); -}, Vg = (e) => new Set((Bt(e)?.selection.getSelected() ?? []).map((t) => t.subtype)), Gg = (e) => { - const t = Bt(e)?.selection.getSelected() ?? []; +}, em = (e) => new Set((Pt(e)?.selection.getSelected() ?? []).map((t) => t.subtype)), tm = (e) => { + const t = Pt(e)?.selection.getSelected() ?? []; return t.every((n) => n.subtype === "redact") ? t.map((n) => n.ref) : []; -}, fd = (e) => { - const t = Bt(e)?.selection.getProperties(); +}, gd = (e) => { + const t = Pt(e)?.selection.getProperties(); if (!(!t || !t.properties.some((n) => n.key === "link") || t.mixed.includes("link"))) return t.values.link ?? null; -}, pa = {}; -pa.stamp = { icon: "rubberStamp" }; -const s_ = (e, t, n) => { +}, pi = {}; +pi.stamp = { icon: "rubberStamp" }; +const q_ = (e, t, n) => { if (!n) return null; const o = e.tryGet(Qe); if (!o) return null; - const r = o.tools.getDefaults(t), s = (i) => r[i] ?? void 0; + const r = o.tools.getDefaults(t), s = (a) => r[a] ?? void 0; return { primary: s(n.primary), secondary: n.secondary ? s(n.secondary) : void 0 }; -}, i_ = {}, a_ = (e, t, n, { feature: o, check: r, accent: s }) => (n && (pa[t] = { +}, H_ = {}, V_ = (e, t, n, { feature: o, check: r, accent: s }) => (n && (pi[t] = { icon: n, ...s ? { accent: s } : {} -}), i_[t] = o, { +}), H_[t] = o, { id: e, ...n ? { icon: n } : {}, categories: [o], ...r, - run: (i) => jt(i)?.activateTool(t), - active: (i) => jt(i)?.getActiveToolId() === t, - enabled: (i) => jt(i) != null, - iconAccent: (i) => s_(i, t, s) -}), ot = (e, t, n, o, r) => ({ - ...a_(e, t, o, r), + run: (a) => zt(a)?.activateTool(t), + active: (a) => zt(a)?.getActiveToolId() === t, + enabled: (a) => zt(a) != null, + iconAccent: (a) => q_(a, t, s) +}), st = (e, t, n, o, r) => ({ + ...V_(e, t, o, r), labelKey: n -}), Yg = (e, t, n, o, r) => ({ +}), nm = (e, t, n, o, r) => ({ id: e, labelKey: n, icon: o, categories: [r], - ...bt, - visible: (s) => qd(s)?.hasSelection() ?? !1, - run: (s) => Bt(s)?.createFromSelection(t), - iconAccent: (s) => s_(s, t, { primary: "color" }) -}), Dse = (e) => { + ...gt, + visible: (s) => Hd(s)?.hasSelection() ?? !1, + run: (s) => Pt(s)?.createFromSelection(t), + iconAccent: (s) => q_(s, t, { primary: "color" }) +}), Qae = (e) => { const t = e?.page; return typeof t == "number" && Number.isFinite(t) ? Math.round(t) : null; -}, vc = (e, t, n) => ({ +}, wc = (e, t, n) => ({ id: e, labelKey: n, - run: (o) => De(o)?.zoomTo({ level: t }), - enabled: (o) => De(o) != null -}), Qg = (e, t, n, o) => ({ + run: (o) => Be(o)?.zoomTo({ level: t }), + enabled: (o) => Be(o) != null +}), om = (e, t, n, o) => ({ id: e, labelKey: n, icon: o, - run: (r) => De(r)?.updateSettings({ spread: t }), - active: (r) => De(r)?.getSettings().spread === t, - enabled: (r) => De(r) != null, - locked: (r) => De(r)?.getLock("spread") ?? null -}), n6 = (e, t, n, o) => ({ + run: (r) => Be(r)?.updateSettings({ spread: t }), + active: (r) => Be(r)?.getSettings().spread === t, + enabled: (r) => Be(r) != null, + locked: (r) => Be(r)?.getLock("spread") ?? null +}), k6 = (e, t, n, o) => ({ id: e, labelKey: n, icon: o, - run: (r) => De(r)?.updateSettings({ + run: (r) => Be(r)?.updateSettings({ flow: "continuous", layout: t }), active: (r) => { - const s = De(r)?.getSettings(); + const s = Be(r)?.getSettings(); return s?.flow === "continuous" && s.layout === t; }, - enabled: (r) => De(r) != null, - locked: (r) => De(r)?.getLock("flow") ?? De(r)?.getLock("layout") ?? null -}), o6 = [ + enabled: (r) => Be(r) != null, + locked: (r) => Be(r)?.getLock("flow") ?? Be(r)?.getLock("layout") ?? null +}), x6 = [ { id: "zoom:in", labelKey: "commands.zoom.in", icon: "zoomIn", shortcut: ["Mod+=", "Mod+NumpadAdd"], - run: (e) => De(e)?.zoomIn(), - enabled: (e) => De(e)?.canZoomIn() ?? !1 + run: (e) => Be(e)?.zoomIn(), + enabled: (e) => Be(e)?.canZoomIn() ?? !1 }, { id: "zoom:out", labelKey: "commands.zoom.out", icon: "zoomOut", shortcut: ["Mod+-", "Mod+NumpadSubtract"], - run: (e) => De(e)?.zoomOut(), - enabled: (e) => De(e)?.canZoomOut() ?? !1 + run: (e) => Be(e)?.zoomOut(), + enabled: (e) => Be(e)?.canZoomOut() ?? !1 }, { id: "zoom:fit-page", labelKey: "commands.zoom.fitPage", icon: "fitToPage", shortcut: "Mod+0", - run: (e) => De(e)?.fitPage(), - active: (e) => De(e)?.getZoomMode() === nn.FitPage, - enabled: (e) => De(e) != null + run: (e) => Be(e)?.fitPage(), + active: (e) => Be(e)?.getZoomMode() === cn.FitPage, + enabled: (e) => Be(e) != null }, { id: "zoom:fit-width", labelKey: "commands.zoom.fitWidth", icon: "fitToWidth", shortcut: "Mod+1", - run: (e) => De(e)?.fitWidth(), - active: (e) => De(e)?.getZoomMode() === nn.FitWidth, - enabled: (e) => De(e) != null + run: (e) => Be(e)?.fitWidth(), + active: (e) => Be(e)?.getZoomMode() === cn.FitWidth, + enabled: (e) => Be(e) != null }, { id: "zoom:automatic", labelKey: "commands.zoom.automatic", - run: (e) => De(e)?.fitAutomatic(), - active: (e) => De(e)?.getZoomMode() === nn.Automatic, - enabled: (e) => De(e) != null + run: (e) => Be(e)?.fitAutomatic(), + active: (e) => Be(e)?.getZoomMode() === cn.Automatic, + enabled: (e) => Be(e) != null }, - vc("zoom:50", 0.5, "commands.zoom.p50"), - vc("zoom:100", 1, "commands.zoom.p100"), - vc("zoom:150", 1.5, "commands.zoom.p150"), - vc("zoom:200", 2, "commands.zoom.p200"), - vc("zoom:400", 4, "commands.zoom.p400"), + wc("zoom:50", 0.5, "commands.zoom.p50"), + wc("zoom:100", 1, "commands.zoom.p100"), + wc("zoom:150", 1.5, "commands.zoom.p150"), + wc("zoom:200", 2, "commands.zoom.p200"), + wc("zoom:400", 4, "commands.zoom.p400"), { id: "menu:zoom", labelKey: "commands.zoom.menu", @@ -50260,84 +51423,84 @@ const s_ = (e, t, n) => { labelKey: "commands.page.next", icon: "chevronRight", shortcut: "ArrowRight", - run: (e) => De(e)?.nextPage(), - enabled: (e) => De(e)?.canGoNext() ?? !1, - visible: ld + run: (e) => Be(e)?.nextPage(), + enabled: (e) => Be(e)?.canGoNext() ?? !1, + visible: fd }, { id: "page:previous", labelKey: "commands.page.previous", icon: "chevronLeft", shortcut: "ArrowLeft", - run: (e) => De(e)?.previousPage(), - enabled: (e) => De(e)?.canGoPrevious() ?? !1, - visible: ld + run: (e) => Be(e)?.previousPage(), + enabled: (e) => Be(e)?.canGoPrevious() ?? !1, + visible: fd }, { id: "page:first", labelKey: "commands.page.first", shortcut: "Home", - run: (e) => De(e)?.goToFirstPage(), - enabled: (e) => De(e)?.canGoPrevious() ?? !1, - visible: ld + run: (e) => Be(e)?.goToFirstPage(), + enabled: (e) => Be(e)?.canGoPrevious() ?? !1, + visible: fd }, { id: "page:last", labelKey: "commands.page.last", shortcut: "End", - run: (e) => De(e)?.goToLastPage(), - enabled: (e) => De(e)?.canGoNext() ?? !1, - visible: ld + run: (e) => Be(e)?.goToLastPage(), + enabled: (e) => Be(e)?.canGoNext() ?? !1, + visible: fd }, { id: "page:go-to", labelKey: "commands.page.goTo", run: (e) => { - const t = De(e); + const t = Be(e); if (!t) return; - const n = Dse(e.args); + const n = Qae(e.args); if (n === null) { - e.tryGet(We)?.open(o_, { exclusive: "modal" }); + e.tryGet(Ue)?.open(U_, { exclusive: "modal" }); return; } t.goToPage(Math.min(Math.max(n, 1), t.getPageCount()) - 1); }, - enabled: (e) => (De(e)?.getPageCount() ?? 0) > 0 + enabled: (e) => (Be(e)?.getPageCount() ?? 0) > 0 }, { id: "tool:pan", labelKey: "commands.pan", icon: "hand", - run: (e) => jt(e)?.activateTool("pan"), - active: (e) => jt(e)?.getActiveToolId() === "pan", - enabled: (e) => jt(e) != null + run: (e) => zt(e)?.activateTool("pan"), + active: (e) => zt(e)?.getActiveToolId() === "pan", + enabled: (e) => zt(e) != null }, { id: "tool:pointer", labelKey: "commands.pointer", icon: "pointer", - run: (e) => jt(e)?.activateTool("pointer"), - active: (e) => jt(e)?.getActiveToolId() === "pointer", - enabled: (e) => jt(e) != null + run: (e) => zt(e)?.activateTool("pointer"), + active: (e) => zt(e)?.getActiveToolId() === "pointer", + enabled: (e) => zt(e) != null }, { id: "tool:zoom", labelKey: "commands.zoom.marquee", icon: "zoomInArea", - run: (e) => jt(e)?.activateTool("zoom"), - active: (e) => jt(e)?.getActiveToolId() === "zoom", - enabled: (e) => jt(e) != null + run: (e) => zt(e)?.activateTool("zoom"), + active: (e) => zt(e)?.getActiveToolId() === "zoom", + enabled: (e) => zt(e) != null }, { id: "tool:snapshot", labelKey: "commands.snapshot.tool", icon: "screenshot", categories: ["snapshots"], - allowed: (e) => Hd(e)?.canSnapshot() ?? !0, + allowed: (e) => Vd(e)?.canSnapshot() ?? !0, notAllowedKey: "commands.notAllowed.doc-content-copy", - run: (e) => jt(e)?.activateTool(oa), - active: (e) => jt(e)?.getActiveToolId() === oa, - enabled: (e) => jt(e)?.hasTool(oa) ?? !1 + run: (e) => zt(e)?.activateTool(oi), + active: (e) => zt(e)?.getActiveToolId() === oi, + enabled: (e) => zt(e)?.hasTool(oi) ?? !1 }, { id: "menu:document", @@ -50351,21 +51514,21 @@ const s_ = (e, t, n) => { icon: "viewSettings", menu: "view" }, - ...Pse, - ...ise, - ...hse, - ...Cse, - xse, + ...Fae, + ...yae, + ...Pae, + ...zae, + Rae, { id: "document:download", labelKey: "commands.download", icon: "download", shortcut: "Mod+S", categories: ["documents.download"], - allowed: (e) => e.tryGet(tt)?.canDownload() ?? !0, + allowed: (e) => e.tryGet(nt)?.canDownload() ?? !0, notAllowedKey: "commands.notAllowed.doc-download", run: (e) => { - e.tryGet(tt) && Promise.resolve(Lse.run?.(e)).catch((t) => console.warn("[embedpdf] download failed", t)); + e.tryGet(nt) && Promise.resolve(Vae.run?.(e)).catch((t) => console.warn("[embedpdf] download failed", t)); }, enabled: (e) => e.documentId != null }, @@ -50375,157 +51538,157 @@ const s_ = (e, t, n) => { icon: "print", shortcut: "Mod+P", categories: ["documents.print"], - allowed: (e) => e.tryGet(tt)?.canPrint() ?? !0, + allowed: (e) => e.tryGet(nt)?.canPrint() ?? !0, notAllowedKey: "commands.notAllowed.doc-print", - modal: Ise, + modal: Wae, enabled: (e) => e.documentId != null }, - Qg("view:single-page", "none", "commands.spread.none", "singlePage"), - Qg("view:two-pages", "odd", "commands.spread.odd", "doublePage"), - Qg("view:cover-page", "even", "commands.spread.even", "book2"), - n6("view:scroll-vertical", "vertical", "commands.scroll.vertical", "vertical"), - n6("view:scroll-horizontal", "horizontal", "commands.scroll.horizontal", "horizontal"), + om("view:single-page", "none", "commands.spread.none", "singlePage"), + om("view:two-pages", "odd", "commands.spread.odd", "doublePage"), + om("view:cover-page", "even", "commands.spread.even", "book2"), + k6("view:scroll-vertical", "vertical", "commands.scroll.vertical", "vertical"), + k6("view:scroll-horizontal", "horizontal", "commands.scroll.horizontal", "horizontal"), { id: "view:scroll-paged", labelKey: "commands.scroll.paged", icon: "pageByPage", - run: (e) => De(e)?.updateSettings({ flow: "paged" }), - active: (e) => De(e)?.getSettings().flow === "paged", - enabled: (e) => De(e) != null, - locked: (e) => De(e)?.getLock("flow") ?? null + run: (e) => Be(e)?.updateSettings({ flow: "paged" }), + active: (e) => Be(e)?.getSettings().flow === "paged", + enabled: (e) => Be(e) != null, + locked: (e) => Be(e)?.getLock("flow") ?? null }, { id: "view:rotate-clockwise", labelKey: "commands.rotate.clockwise", icon: "rotateClockwise", - run: (e) => De(e)?.rotateViewBy(90), - enabled: (e) => De(e) != null, - locked: (e) => De(e)?.getLock("viewRotation") ?? null + run: (e) => Be(e)?.rotateViewBy(90), + enabled: (e) => Be(e) != null, + locked: (e) => Be(e)?.getLock("viewRotation") ?? null }, { id: "view:rotate-counterclockwise", labelKey: "commands.rotate.counterclockwise", icon: "rotateCounterClockwise", - run: (e) => De(e)?.rotateViewBy(-90), - enabled: (e) => De(e) != null, - locked: (e) => De(e)?.getLock("viewRotation") ?? null + run: (e) => Be(e)?.rotateViewBy(-90), + enabled: (e) => Be(e) != null, + locked: (e) => Be(e)?.getLock("viewRotation") ?? null }, { id: "mode:view", labelKey: "commands.mode.view", run: (e) => { - const t = e.tryGet(We), n = t ? Gf(t) : null; - n && t?.close(n), jt(e)?.activateTool("pointer"); + const t = e.tryGet(Ue), n = t ? Xf(t) : null; + n && t?.close(n), zt(e)?.activateTool("pointer"); }, active: (e) => { - const t = e.tryGet(We); - return t ? Gf(t) === null : !0; + const t = e.tryGet(Ue); + return t ? Xf(t) === null : !0; } }, - Fi("mode:annotate", "commands.mode.annotate", { feature: "annotations" }), - Fi("mode:shapes", "commands.mode.shapes", { feature: "shapes" }), - Fi("mode:insert", "commands.mode.insert"), - Fi("mode:form", "commands.mode.form", { feature: "forms.building" }), - Fi("mode:redact", "commands.mode.redact", { feature: "redaction" }), - Fi("mode:measure", "commands.mode.measure", { feature: "measurement" }), - ot("tool:highlight", "highlight", "commands.annotate.highlight", "highlight", { + Ba("mode:annotate", "commands.mode.annotate", { feature: "annotations" }), + Ba("mode:shapes", "commands.mode.shapes", { feature: "shapes" }), + Ba("mode:insert", "commands.mode.insert"), + Ba("mode:form", "commands.mode.form", { feature: "forms.building" }), + Ba("mode:redact", "commands.mode.redact", { feature: "redaction" }), + Ba("mode:measure", "commands.mode.measure", { feature: "measurement" }), + st("tool:highlight", "highlight", "commands.annotate.highlight", "highlight", { feature: "annotations.highlight", - check: bt, + check: gt, accent: { primary: "color" } }), - ot("tool:strikeout", "strikeout", "commands.annotate.strikeout", "strikethrough", { + st("tool:strikeout", "strikeout", "commands.annotate.strikeout", "strikethrough", { feature: "annotations.markup", - check: bt, + check: gt, accent: { primary: "color" } }), - ot("tool:underline", "underline", "commands.annotate.underline", "underline", { + st("tool:underline", "underline", "commands.annotate.underline", "underline", { feature: "annotations.markup", - check: bt, + check: gt, accent: { primary: "color" } }), - ot("tool:squiggly", "squiggly", "commands.annotate.squiggly", "squiggly", { + st("tool:squiggly", "squiggly", "commands.annotate.squiggly", "squiggly", { feature: "annotations.markup", - check: bt, + check: gt, accent: { primary: "color" } }), - ot("tool:ink", "ink", "commands.annotate.ink", "pencilMarker", { + st("tool:ink", "ink", "commands.annotate.ink", "pencilMarker", { feature: "annotations.drawing", - check: bt, + check: gt, accent: { primary: "color" } }), - ot("tool:ink-highlight", "ink-highlight", "commands.annotate.inkHighlight", "inkHighlighter", { + st("tool:ink-highlight", "ink-highlight", "commands.annotate.inkHighlight", "inkHighlighter", { feature: "annotations.drawing", - check: bt, + check: gt, accent: { primary: "color" } }), - ot("tool:free-text", "free-text", "commands.annotate.text", "freeText", { + st("tool:free-text", "free-text", "commands.annotate.text", "freeText", { feature: "annotations.text", - check: bt, + check: gt, accent: { primary: "fontColor" } }), - ot("tool:insert-text", "insert-text", "commands.annotate.insertText", "insertText", { + st("tool:insert-text", "insert-text", "commands.annotate.insertText", "insertText", { feature: "annotations.text", - check: bt, + check: gt, accent: { primary: "color" } }), - ot("tool:replace-text", "replace-text", "commands.annotate.replaceText", "replaceText", { + st("tool:replace-text", "replace-text", "commands.annotate.replaceText", "replaceText", { feature: "annotations.text", - check: bt, + check: gt, accent: { primary: "color" } }), - ot("tool:callout", "free-text-callout", "commands.annotate.callout", "callout", { + st("tool:callout", "free-text-callout", "commands.annotate.callout", "callout", { feature: "annotations.text", - check: bt, + check: gt, accent: { primary: "color", secondary: "interiorColor" } }), - ot("tool:note", "note", "commands.annotate.note", "message", { + st("tool:note", "note", "commands.annotate.note", "message", { feature: "annotations.notes", - check: bt + check: gt }), - ot("tool:link", "link", "commands.annotate.link", "link", { + st("tool:link", "link", "commands.annotate.link", "link", { feature: "annotations.links", - check: bt + check: gt }), - ot("tool:square", "square", "commands.shapes.rectangle", "square", { + st("tool:square", "square", "commands.shapes.rectangle", "square", { feature: "shapes", - check: bt, + check: gt, accent: { primary: "color", secondary: "interiorColor" } }), - ot("tool:circle", "circle", "commands.shapes.circle", "circle", { + st("tool:circle", "circle", "commands.shapes.circle", "circle", { feature: "shapes", - check: bt, + check: gt, accent: { primary: "color", secondary: "interiorColor" } }), - ot("tool:line", "line", "commands.shapes.line", "line", { + st("tool:line", "line", "commands.shapes.line", "line", { feature: "shapes", - check: bt, + check: gt, accent: { primary: "color" } }), - ot("tool:arrow", "arrow", "commands.shapes.arrow", "lineArrow", { + st("tool:arrow", "arrow", "commands.shapes.arrow", "lineArrow", { feature: "shapes", - check: bt, + check: gt, accent: { primary: "color" } }), - ot("tool:polygon", "polygon", "commands.shapes.polygon", "polygon", { + st("tool:polygon", "polygon", "commands.shapes.polygon", "polygon", { feature: "shapes", - check: bt, + check: gt, accent: { primary: "color", secondary: "interiorColor" } }), - ot("tool:polyline", "polyline", "commands.shapes.polyline", "zigzag", { + st("tool:polyline", "polyline", "commands.shapes.polyline", "zigzag", { feature: "shapes", - check: bt, + check: gt, accent: { primary: "color" } }), { @@ -50533,76 +51696,76 @@ const s_ = (e, t, n) => { labelKey: "commands.insert.stamp", icon: "rubberStamp", categories: ["stamps"], - ...e6, - ...dd("stamps", (e) => e.tryGet(Yt) != null) + ...v6, + ...hd("stamps", (e) => e.tryGet(Jt) != null) }, - ot("tool:attachment", "attachment", "commands.insert.attachment", "paperclip", { + st("tool:attachment", "attachment", "commands.insert.attachment", "paperclip", { feature: "attachments.adding", - check: bt + check: gt }), { id: "tool:signature", labelKey: "commands.insert.signature", icon: "signature", categories: ["signatures.signing"], - ...e6, - ...dd("signatures", (e) => e.tryGet(Yt) != null && e.tryGet(qo) != null) + ...v6, + ...hd("signatures", (e) => e.tryGet(Jt) != null && e.tryGet(qo) != null) }, - ot("tool:image", "image", "commands.insert.image", "photo", { + st("tool:image", "image", "commands.insert.image", "photo", { feature: "stamps", - check: bt + check: gt }), { id: "form:design", labelKey: "commands.form.design", icon: "formDesign", categories: ["forms.building"], - ...$r, + ...zr, run: (e) => { - const t = jt(e), n = e.tryGet(We); + const t = zt(e), n = e.tryGet(Ue); if (t) { - if (JS(e)) { - t.activateTool("pointer"), n?.close(ZS); + if (w6(e)) { + t.activateTool("pointer"), n?.close(y6); return; } - n && !n.isOpen("mode:form") && n.open("mode:form", { exclusive: "mode" }), t.activateTool(_se), n?.open(ZS); + n && !n.isOpen("mode:form") && n.open("mode:form", { exclusive: "mode" }), t.activateTool(Uae), n?.open(y6); } }, - active: JS, - enabled: (e) => jt(e) != null + active: w6, + enabled: (e) => zt(e) != null }, - ot("tool:text-field", "form-text", "commands.form.textfield", "formTextfield", { + st("tool:text-field", "form-text", "commands.form.textfield", "formTextfield", { feature: "forms.building", - check: $r + check: zr }), - ot("tool:checkbox", "form-checkbox", "commands.form.checkbox", "formCheckbox", { + st("tool:checkbox", "form-checkbox", "commands.form.checkbox", "formCheckbox", { feature: "forms.building", - check: $r + check: zr }), - ot("tool:radio", "form-radio", "commands.form.radio", "formRadio", { + st("tool:radio", "form-radio", "commands.form.radio", "formRadio", { feature: "forms.building", - check: $r + check: zr }), - ot("tool:combo-box", "form-combobox", "commands.form.select", "formSelect", { + st("tool:combo-box", "form-combobox", "commands.form.select", "formSelect", { feature: "forms.building", - check: $r + check: zr }), - ot("tool:list-box", "form-listbox", "commands.form.listbox", "formListbox", { + st("tool:list-box", "form-listbox", "commands.form.listbox", "formListbox", { feature: "forms.building", - check: $r + check: zr }), - ot("tool:button", "form-button", "commands.form.button", "formButton", { + st("tool:button", "form-button", "commands.form.button", "formButton", { feature: "forms.building", - check: $r + check: zr }), - ot("tool:signature-field", "form-signature", "commands.form.signature", "signature", { + st("tool:signature-field", "form-signature", "commands.form.signature", "signature", { feature: "forms.building", - check: $r + check: zr }), - ot("tool:redact", "redact", "commands.redact.mark", "redactArea", { + st("tool:redact", "redact", "commands.redact.mark", "redactArea", { feature: "redaction", check: { - allowed: (e) => e.tryGet(pr)?.canMark() ?? !0, + allowed: (e) => e.tryGet(hr)?.canMark() ?? !0, notAllowedKey: "commands.notAllowed.annotations-create" } }), @@ -50611,71 +51774,71 @@ const s_ = (e, t, n) => { labelKey: "commands.redact.applyAll", icon: "redact", categories: ["redaction"], - allowed: (e) => e.tryGet(pr)?.canApply() ?? !0, - modal: XS, + allowed: (e) => e.tryGet(hr)?.canApply() ?? !0, + modal: b6, enabled: (e) => { - const t = e.tryGet(pr); + const t = e.tryGet(hr); return !!t && t.getPendingCount() > 0 && !t.isApplying(); } }, { id: "annotation:apply-redaction", labelKey: "commands.redact.apply", - labelParams: (e) => ({ count: Gg(e).length }), + labelParams: (e) => ({ count: tm(e).length }), icon: "check", categories: ["redaction"], - allowed: (e) => e.tryGet(pr)?.canApply() ?? !0, - run: (e) => e.tryGet(We)?.open(XS, { + allowed: (e) => e.tryGet(hr)?.canApply() ?? !0, + run: (e) => e.tryGet(Ue)?.open(b6, { exclusive: "modal", - props: { refs: Gg(e) } + props: { refs: tm(e) } }), - visible: (e) => Gg(e).length > 0, + visible: (e) => tm(e).length > 0, enabled: (e) => { - const t = e.tryGet(pr); + const t = e.tryGet(hr); return !!t && !t.isApplying(); } }, { - ...ot("tool:distance", "distance", "measurement.distance", "distance", { + ...st("tool:distance", "distance", "measurement.distance", "distance", { feature: "measurement", - check: bt, + check: gt, accent: { primary: "color" } }), - enabled: qg + enabled: Xg }, { - ...ot("tool:perimeter", "perimeter", "measurement.perimeter", "perimeter", { + ...st("tool:perimeter", "perimeter", "measurement.perimeter", "perimeter", { feature: "measurement", - check: bt, + check: gt, accent: { primary: "color" } }), - enabled: qg + enabled: Xg }, { - ...ot("tool:area", "area", "measurement.area", "area", { + ...st("tool:area", "area", "measurement.area", "area", { feature: "measurement", - check: bt, + check: gt, accent: { primary: "color" } }), - enabled: qg + enabled: Xg }, { id: "measurement:calibrate", labelKey: "measurement.calibrate", icon: "calibrate", categories: ["measurement"], - allowed: (e) => e.tryGet(Bo)?.canCalibrate() ?? !0, + allowed: (e) => e.tryGet($o)?.canCalibrate() ?? !0, notAllowedKey: "commands.notAllowed.doc-annotate-modify", - enabled: (e) => e.tryGet(Bo) != null, - active: (e) => jt(e)?.getActiveToolId() === "calibrate", - run: (e) => e.tryGet(Bo)?.startCalibration() + enabled: (e) => e.tryGet($o) != null, + active: (e) => zt(e)?.getActiveToolId() === "calibrate", + run: (e) => e.tryGet($o)?.startCalibration() }, { id: "annotation:cancel-creation", labelKey: "commands.annotate.cancelCreation", shortcut: "Escape", - enabled: (e) => Bt(e)?.draft.get() != null, - run: (e) => Bt(e)?.draft.cancel() + enabled: (e) => Pt(e)?.draft.get() != null, + run: (e) => Pt(e)?.draft.cancel() }, { id: "annotation:delete", @@ -50683,10 +51846,10 @@ const s_ = (e, t, n) => { icon: "trash", shortcut: ["Delete", "Backspace"], categories: ["annotations"], - run: (e) => void Bt(e)?.selection.delete(), - visible: Hg, + run: (e) => void Pt(e)?.selection.delete(), + visible: Zg, enabled: (e) => { - const t = Bt(e), n = t?.selection.getSelected() ?? []; + const t = Pt(e), n = t?.selection.getSelected() ?? []; return n.length > 0 && n.every(({ ref: o }) => t.canDelete(o) && t.isEditable(o)); } }, @@ -50695,88 +51858,107 @@ const s_ = (e, t, n) => { labelKey: "commands.comment", icon: "comment", categories: ["comments"], - ...dd("comments", (e) => Hg(e) && !Vg(e).has("widget")) + ...hd("comments", (e) => Zg(e) && !em(e).has("widget")) }, { id: "annotation:style", labelKey: "commands.style", icon: "palette", categories: ["annotations"], - ...dd("style", (e) => (Bt(e)?.selection.getProperties().properties.length ?? 0) > 0) + ...hd("style", (e) => (Pt(e)?.selection.getProperties().properties.length ?? 0) > 0) }, { id: "annotation:stamp-from-selection", labelKey: "commands.annotate.stampFromSelection", icon: "rubberStampPlus", categories: ["stamps"], - allowed: (e) => e.tryGet(Yt)?.canCreateFromAnnotations(e.documentId ?? void 0) ?? !0, + allowed: (e) => e.tryGet(Jt)?.canCreateFromAnnotations(e.documentId ?? void 0) ?? !0, notAllowedKey: "commands.notAllowed.doc-download", run: (e) => { - const t = Bt(e), n = e.tryGet(Yt), o = e.documentId; + const t = Pt(e), n = e.tryGet(Jt), o = e.documentId; if (!t || !n || o == null) return; const r = t.selection.getSelected(), s = r[0]?.ref.page; if (s === void 0) return; - const i = e.tryGet(Cn), a = i?.t("demo.stampsCustomLabel") ?? "Custom stamp", c = i?.t("demo.stampsCustomLibrary") ?? "My stamps", l = Rse; + const a = e.tryGet(Yo), i = a?.t("demo.stampsCustomLabel") ?? "Custom stamp", c = a?.t("demo.stampsCustomLibrary") ?? "My stamps", l = Hae; (n.getLibrary(l) ? Promise.resolve(l) : n.createLibrary(c, { id: l, categories: ["custom"] }).then(({ library: u }) => u.id)).then((u) => n.createAssetFromAnnotations(s, r.map((f) => f.ref), { libraryId: u, - label: `${a} ${n.listAssets({ libraryId: u }).length + 1}` + label: `${i} ${n.listAssets({ libraryId: u }).length + 1}` }, { documentId: o })).then(async () => { - const u = e.tryGet(We); - u && (u.isOpen("stamps") || await e.tryGet(zn)?.execute(bs("stamps"), { documentId: o }), u.updateSurfaceProps("stamps", { libraryId: l })); + const u = e.tryGet(Ue); + u && (u.isOpen("stamps") || await e.tryGet(Bn)?.execute(bs("stamps"), { documentId: o }), u.updateSurfaceProps("stamps", { libraryId: l })); }).catch((u) => console.warn("[embedpdf] stamp from selection failed", u)); }, - visible: (e) => e.tryGet(Yt) != null && Hg(e) && !Vg(e).has("widget") && !Vg(e).has("redact") && new Set((Bt(e)?.selection.getSelected() ?? []).map((t) => t.ref.page.objectNumber)).size === 1 + visible: (e) => e.tryGet(Jt) != null && Zg(e) && !em(e).has("widget") && !em(e).has("redact") && new Set((Pt(e)?.selection.getSelected() ?? []).map((t) => t.ref.page.objectNumber)).size === 1 + }, + { + id: "annotation:duplicate", + labelKey: "commands.annotate.duplicate", + icon: "duplicate", + shortcut: "Mod+D", + categories: ["annotations"], + allowed: (e) => { + const t = Pt(e); + return (t?.selection.getSelected() ?? []).some(({ subtype: n }) => n !== "widget") ? t?.canCreate() ?? !0 : !0; + }, + notAllowedKey: gt.notAllowedKey, + run: (e) => void Pt(e)?.selection.duplicate().catch(() => { + }), + visible: (e) => { + const t = Pt(e), n = t?.selection.getSelected() ?? []; + return n.length > 0 && Jg(e) && n.every(({ ref: o }) => t.isMovable(o)); + }, + enabled: (e) => Pt(e)?.selection.canDuplicate() ?? !1 }, { id: "annotation:group", labelKey: "commands.annotate.group", icon: "group", categories: ["annotations"], - run: (e) => void Bt(e)?.selection.group(), - visible: (e) => (Bt(e)?.selection.canGroup() ?? !1) && t6(e) + run: (e) => void Pt(e)?.selection.group(), + visible: (e) => (Pt(e)?.selection.canGroup() ?? !1) && Jg(e) }, { id: "annotation:ungroup", labelKey: "commands.annotate.ungroup", icon: "ungroup", categories: ["annotations"], - run: (e) => void Bt(e)?.selection.ungroup(), - visible: (e) => (Bt(e)?.selection.canUngroup() ?? !1) && t6(e) + run: (e) => void Pt(e)?.selection.ungroup(), + visible: (e) => (Pt(e)?.selection.canUngroup() ?? !1) && Jg(e) }, { id: "selection:copy", labelKey: "commands.selection.copy", icon: "copy", categories: ["text.copy"], - allowed: (e) => qd(e)?.canCopy() ?? !0, + allowed: (e) => Hd(e)?.canCopy() ?? !0, notAllowedKey: "commands.notAllowed.doc-text-copy", - visible: (e) => qd(e)?.hasSelection() ?? !1, + visible: (e) => Hd(e)?.hasSelection() ?? !1, run: (e) => { - const t = qd(e); + const t = Hd(e); if (!t) return; const n = t.getRange(); - Wy(t).then((o) => { - o !== "" && Fse(t.getRange(), n) && t.clear(); + t0(t).then((o) => { + o !== "" && Yae(t.getRange(), n) && t.clear(); }, () => { }); } }, - Yg("selection:highlight", "highlight", "commands.annotate.highlight", "highlight", "annotations.highlight"), - Yg("selection:underline", "underline", "commands.annotate.underline", "underline", "annotations.markup"), - Yg("selection:strikeout", "strikeout", "commands.annotate.strikeout", "strikethrough", "annotations.markup"), + nm("selection:highlight", "highlight", "commands.annotate.highlight", "highlight", "annotations.highlight"), + nm("selection:underline", "underline", "commands.annotate.underline", "underline", "annotations.markup"), + nm("selection:strikeout", "strikeout", "commands.annotate.strikeout", "strikethrough", "annotations.markup"), { id: "snapshot:copy", labelKey: "commands.snapshot.copy", icon: "copy", shortcut: "Mod+C", categories: ["snapshots"], - visible: (e) => ud(e) != null, + visible: (e) => pd(e) != null, run: (e) => { - const t = Hd(e), n = t?.getSnapshot(); - !t || !n || rM(n.image).then(() => { + const t = Vd(e), n = t?.getSnapshot(); + !t || !n || RM(n.image).then(() => { t.getSnapshot() === n && t.clearSnapshot(); }, () => { }); @@ -50787,12 +51969,12 @@ const s_ = (e, t, n) => { labelKey: "commands.snapshot.save", icon: "download", categories: ["snapshots"], - visible: (e) => ud(e) != null, + visible: (e) => pd(e) != null, run: (e) => { - const t = ud(e); + const t = pd(e); if (!t) return; - const n = jse(e, t.page); - t.image.then((o) => o.blob()).then((o) => gp(o, n, "image/png")).catch((o) => console.warn("[snippet-react] snapshot save failed", o)); + const n = Gae(e, t.page); + t.image.then((o) => o.blob()).then((o) => wp(o, n, "image/png")).catch((o) => console.warn("[snippet-react] snapshot save failed", o)); } }, { @@ -50801,97 +51983,97 @@ const s_ = (e, t, n) => { icon: "x", shortcut: "Escape", categories: ["snapshots"], - visible: (e) => ud(e) != null, - run: (e) => Hd(e)?.clearSnapshot() + visible: (e) => pd(e) != null, + run: (e) => Vd(e)?.clearSnapshot() }, { id: "annotation:link", labelKey: "commands.annotate.link", icon: "link", categories: ["annotations.links"], - run: (e) => e.tryGet(We)?.toggle("link-editor"), - active: (e) => e.tryGet(We)?.isOpen("link-editor") ?? !1, - visible: (e) => fd(e) === null + run: (e) => e.tryGet(Ue)?.toggle("link-editor"), + active: (e) => e.tryGet(Ue)?.isOpen("link-editor") ?? !1, + visible: (e) => gd(e) === null }, { id: "annotation:goto-link", labelKey: "commands.annotate.gotoLink", icon: "externalLink", run: (e) => { - const t = fd(e); - t && e.tryGet(ri)?.activate(t); + const t = gd(e); + t && e.tryGet(aa)?.activate(t); }, - visible: (e) => fd(e) != null + visible: (e) => gd(e) != null }, { id: "annotation:remove-link", labelKey: "commands.annotate.removeLink", icon: "linkOff", categories: ["annotations.links"], - run: (e) => Bt(e)?.selection.updateLink(null), - visible: (e) => fd(e) != null + run: (e) => Pt(e)?.selection.updateLink(null), + visible: (e) => gd(e) != null }, { id: "help:shortcuts", labelKey: "commands.shortcuts", shortcut: "?", - modal: r_, - enabled: (e) => e.tryGet(We) != null + modal: K_, + enabled: (e) => e.tryGet(Ue) != null }, { id: "history:undo", labelKey: "commands.undo", icon: "arrowBackUp", shortcut: "Mod+z", - run: (e) => e.tryGet(Tc)?.undo(), - enabled: (e) => e.tryGet(Tc)?.canUndo() ?? !1 + run: (e) => e.tryGet(Nc)?.undo(), + enabled: (e) => e.tryGet(Nc)?.canUndo() ?? !1 }, { id: "history:redo", labelKey: "commands.redo", icon: "arrowForwardUp", shortcut: ["Shift+Mod+z", "Mod+y"], - run: (e) => e.tryGet(Tc)?.redo(), - enabled: (e) => e.tryGet(Tc)?.canRedo() ?? !1 + run: (e) => e.tryGet(Nc)?.redo(), + enabled: (e) => e.tryGet(Nc)?.canRedo() ?? !1 } ]; -function Fi(e, t, { feature: n } = {}) { +function Ba(e, t, { feature: n } = {}) { return { id: e, labelKey: t, ...n ? { categories: [n] } : {}, run: (o) => { - o.tryGet(We)?.toggle(e, { exclusive: "mode" }), jt(o)?.activateTool("pointer"); + o.tryGet(Ue)?.toggle(e, { exclusive: "mode" }), zt(o)?.activateTool("pointer"); }, - active: (o) => o.tryGet(We)?.isOpen(e) ?? !1 + active: (o) => o.tryGet(Ue)?.isOpen(e) ?? !1 }; } -function $se(e, t) { +function Xae(e, t) { return e.flatMap((n) => { const o = `tool:${n.id}`; if (t(o)) return []; - const r = n.extends, s = n.meta ?? {}, i = typeof s.icon == "string" ? s.icon : r && pa[r]?.icon; + const r = n.extends, s = n.meta ?? {}, a = typeof s.icon == "string" ? s.icon : r && pi[r]?.icon; return [{ - ...a_(o, n.id, i || void 0, { - feature: r && i_[r] || "annotations", - check: bt, - ...r && pa[r]?.accent ? { accent: pa[r].accent } : {} + ...V_(o, n.id, a || void 0, { + feature: r && H_[r] || "annotations", + check: gt, + ...r && pi[r]?.accent ? { accent: pi[r].accent } : {} }), label: typeof s.label == "string" ? s.label : n.id }]; }); } -const Di = { +const za = { id: "style", items: ["panel:style"], importance: 4, dependent: !0 -}, $i = { +}, Wa = { id: "history", items: ["history:undo", "history:redo"], importance: 3, dependent: !0 -}, c_ = { +}, G_ = { bars: { main: { place: "top", @@ -50934,14 +52116,7 @@ const Di = { }], end: [{ id: "panels", - items: [ - { - custom: "view-only", - variants: ["label", "icon"] - }, - "panel:search", - "panel:comments" - ], + items: ["panel:search", "panel:comments"], importance: 5 }] }, @@ -50980,8 +52155,8 @@ const Di = { ], importance: 2 }, - Di, - $i + za, + Wa ] }, shapes: { @@ -51004,8 +52179,8 @@ const Di = { items: ["tool:polygon", "tool:polyline"], importance: 2 }, - Di, - $i + za, + Wa ] }, insert: { @@ -51028,8 +52203,8 @@ const Di = { ], importance: 4 }, - Di, - $i + za, + Wa ] }, form: { @@ -51066,8 +52241,8 @@ const Di = { items: ["tool:signature-field"], importance: 2 }, - Di, - $i + za, + Wa ] }, redact: { @@ -51080,8 +52255,8 @@ const Di = { items: ["tool:redact", "panel:redaction"], importance: 4 }, - Di, - $i + za, + Wa ] }, measure: { @@ -51108,7 +52283,7 @@ const Di = { }], importance: 4 }, - Di + za ] }, pager: { @@ -51156,6 +52331,7 @@ const Di = { "annotation:goto-link", "annotation:save-file", "annotation:remove-link", + "annotation:duplicate", "annotation:group", "annotation:ungroup" ], @@ -51186,7 +52362,7 @@ const Di = { ], importance: 1 }], - end: [$i] + end: [Wa] }, outline: { place: { panel: "outline" }, @@ -51315,7 +52491,7 @@ const Di = { measurement: { side: "end" }, "form-design": { side: "end" } } -}, Bse = II(c_), zse = [ +}, Zae = f_(G_), Jae = [ "iconAccent", "allowed", "enabled", @@ -51323,20 +52499,20 @@ const Di = { "visible", "labelParams", "run" -], Wse = [["label", "labelKey"], [ +], eie = [["label", "labelKey"], [ "run", "menu", "panel", "modal" ]]; -function Use(e, t) { +function tie(e, t) { const n = (s) => typeof s != "string" ? s : Object.prototype.hasOwnProperty.call(t.plugins, s) ? t.plugins[s] ?? null : null, o = ((s) => { - const i = n(s); - if (!i) throw new Error(`[embedpdf] the viewer has no plugin named "${String(s)}". Its plugins: ${Object.keys(t.plugins).join(", ")}.`); - return e.get(i); + const a = n(s); + if (!a) throw new Error(`[embedpdf] the viewer has no plugin named "${String(s)}". Its plugins: ${Object.keys(t.plugins).join(", ")}.`); + return e.get(a); }), r = ((s) => { - const i = n(s); - return i ? e.tryGet(i) : null; + const a = n(s); + return a ? e.tryGet(a) : null; }); return { documentId: e.documentId, @@ -51352,85 +52528,85 @@ function Use(e, t) { } }; } -function Kse(e, t) { +function nie(e, t) { const n = /* @__PURE__ */ new WeakMap(), o = (s) => { - let i = n.get(s); - return i || (i = Use(s, t), n.set(s, i)), i; + let a = n.get(s); + return a || (a = tie(s, t), n.set(s, a)), a; }, r = { ...e }; - for (const s of zse) { - const i = e[s]; - i && (r[s] = (a) => i(o(a))); + for (const s of Jae) { + const a = e[s]; + a && (r[s] = (i) => a(o(i))); } return r; } -function qse(e, t) { +function oie(e, t) { const n = { ...e }; - for (const o of Wse) + for (const o of eie) if (o.some((r) => t[r] !== void 0)) for (const r of o) delete n[r]; for (const [o, r] of Object.entries(t)) r !== void 0 && (n[o] = r); return n; } -const r6 = (e) => e.shortcut === void 0 ? [] : [].concat(e.shortcut), Hse = { +const A6 = (e) => e.shortcut === void 0 ? [] : [].concat(e.shortcut), rie = { commands: [], isYours: () => !1, over: (e) => e }; -function Vse(e, t, n, o) { +function sie(e, t, n, o) { const r = /* @__PURE__ */ new Map(); - for (const l of t) r.set(l.id, Kse(l, n)); - const s = [...r.values()].flatMap(r6), i = (l) => s.some((u) => { + for (const l of t) r.set(l.id, nie(l, n)); + const s = [...r.values()].flatMap(A6), a = (l) => s.some((u) => { try { - return nre(u, l, o); + return bse(u, l, o); } catch { return !1; } - }), a = (l) => { - const u = r6(l), f = u.filter((h) => !i(h)), d = f.length === u.length ? l : { + }), i = (l) => { + const u = A6(l), f = u.filter((g) => !a(g)), d = f.length === u.length ? l : { ...l, shortcut: f }, p = r.get(l.id); - return p ? qse(d, p) : d; + return p ? oie(d, p) : d; }, c = new Set(e.map((l) => l.id)); return { - commands: [...e.map(a), ...[...r.values()].filter((l) => !c.has(l.id))], + commands: [...e.map(i), ...[...r.values()].filter((l) => !c.has(l.id))], isYours: (l) => r.has(l) && !c.has(l), - over: a + over: i }; } -const er = Xt({ +const tr = Yt({ icons: {}, - viewerCommands: Hse, + viewerCommands: rie, stamp: {}, signature: {}, fonts: [], warnBeforeLeaving: !0 -}), Gse = er.Provider; -function Yse() { - return rt(er).layout; +}), aie = tr.Provider; +function iie() { + return rt(tr).layout; } -function Qse() { - const { size: e, touch: t } = rt(er); +function cie() { + const { size: e, touch: t } = rt(tr); return { size: e, touch: t }; } -function Xse() { - return rt(er).warnBeforeLeaving; +function lie() { + return rt(tr).warnBeforeLeaving; } -function l_() { - const { onPanelResize: e } = rt(er); +function Y_() { + const { onPanelResize: e } = rt(tr); return (t) => e?.(t); } -const Ww = { +const nv = { size: "expanded", - width: jI, + width: y_, touch: !1, dir: "ltr" }; -function Vd(e, t, n) { - const o = woe(e, t).map(n).filter((s) => s !== null); +function Gd(e, t, n) { + const o = Rre(e, t).map(n).filter((s) => s !== null); if (o.length <= 1) return o[0] ?? null; const r = {}; for (const s of [ @@ -51438,72 +52614,72 @@ function Vd(e, t, n) { "center", "end" ]) { - const i = o.flatMap((a) => (a.sections[s] ?? []).map((c) => ({ + const a = o.flatMap((i) => (i.sections[s] ?? []).map((c) => ({ ...c, - id: `${a.id}.${c.id}` + id: `${i.id}.${c.id}` }))); - i.length > 0 && (r[s] = i); + a.length > 0 && (r[s] = a); } return { id: t, sections: r }; } -function Zse(e, t) { - const n = (o) => Lw(e, o); +function uie(e, t) { + const n = (o) => Yw(e, o); return { data: e, env: t, bar: n, - strip: (o) => Vd(e, o, n), - menu: (o) => jw(e, o) + strip: (o) => Gd(e, o, n), + menu: (o) => Qw(e, o) }; } -const cu = Xt(Zse(c_, Ww)), Jse = cu.Provider; -function tr() { - return rt(cu); +const du = Yt(uie(G_, nv)), die = du.Provider; +function nr() { + return rt(du); } -function Ir() { - return rt(cu).env; +function Nr() { + return rt(du).env; } -function eie(e) { - return rt(cu).menu(e); +function fie(e) { + return rt(du).menu(e); } -function Uw(e) { - return rt(cu).strip(e) ?? void 0; +function ov(e) { + return rt(du).strip(e) ?? void 0; } -function Kw() { - return rt(er).viewerCommands; +function rv() { + return rt(tr).viewerCommands; } -function u_() { - return rt(er).icons; +function Q_() { + return rt(tr).icons; } -function tie() { - return rt(er).stamp; +function pie() { + return rt(tr).stamp; } -function zpe() { - return rt(er).signature; +function oge() { + return rt(tr).signature; } -function nie() { - return rt(er).fonts; +function hie() { + return rt(tr).fonts; } -const oie = (e) => Array.isArray(e); -function rie(e) { +const gie = (e) => Array.isArray(e); +function mie(e) { if (typeof e == "string") return [e]; - if (oie(e)) return e; + if (gie(e)) return e; const t = typeof e.paths == "string" ? [e.paths] : e.paths; return e.fill ? t.map((n) => typeof n == "string" ? { d: n, fill: !0 } : n) : t; } -const s6 = [{ +const S6 = [{ d: "M5 4H19M20 5V19M19 20H5M4 19V5", stroke: "primary" }, { d: "M3.1 3.1h1.8v1.8H3.1zM19.1 3.1h1.8v1.8h-1.8zM3.1 19.1h1.8v1.8H3.1zM19.1 19.1h1.8v1.8h-1.8z", stroke: "primary" -}], d_ = { +}], X_ = { ruler: ["M3 8h18v8H3z", "M7 8v4M11 8v2M15 8v4M19 8v2"], distance: [{ d: "M5 12H19", @@ -51515,7 +52691,7 @@ const s6 = [{ fill: "primary", fillOpacity: 0.25 }], - perimeter: s6, + perimeter: S6, area: [ { d: "M5 4H19V5H20V19H19V20H5V19H4V5H5Z", @@ -51528,7 +52704,7 @@ const s6 = [{ strokeWidth: 0.6, strokeOpacity: 0.5 }, - ...s6 + ...S6 ], alertTriangle: ["M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"], alignBottom: [ @@ -51634,6 +52810,12 @@ const s6 = [{ "M7 11l5 5l5 -5", "M12 4l0 12" ], + duplicate: [ + "M7 7m0 2.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667z", + "M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1", + "M11 14h6", + "M14 11v6" + ], externalLink: [ "M12 6h-6a2 2 0 0 0 -2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-6", "M11 13l9 -9", @@ -52089,15 +53271,15 @@ const s6 = [{ "M15 3h1a2 2 0 0 1 2 2v1" ], zoomOut: ["M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0", "M9 12l6 0"] -}, f_ = d_, sie = (e) => Object.prototype.hasOwnProperty.call(f_, e); -function p_(e, t) { +}, Z_ = X_, bie = (e) => Object.prototype.hasOwnProperty.call(Z_, e); +function J_(e, t) { const n = Object.prototype.hasOwnProperty.call(t, e) ? t[e] : void 0; - return n !== void 0 ? rie(n) : sie(e) ? f_[e] : null; + return n !== void 0 ? mie(n) : bie(e) ? Z_[e] : null; } -const iie = /* @__PURE__ */ new Set(["chevronLeft", "chevronRight"]), Ra = (e) => iie.has(e) ? "rtl:-scale-x-100" : ""; -function nt({ name: e, size: t = 20, strokeWidth: n = 2, className: o, title: r, accent: s }) { - const i = p_(e, u_()); - return i ? /* @__PURE__ */ C("svg", { +const yie = /* @__PURE__ */ new Set(["chevronLeft", "chevronRight"]), Ti = (e) => yie.has(e) ? "rtl:-scale-x-100" : ""; +function ot({ name: e, size: t = 20, strokeWidth: n = 2, className: o, title: r, accent: s }) { + const a = J_(e, Q_()); + return a ? /* @__PURE__ */ I("svg", { width: t, height: t, viewBox: "0 0 24 24", @@ -52110,5202 +53292,5283 @@ function nt({ name: e, size: t = 20, strokeWidth: n = 2, className: o, title: r, role: "img", "aria-hidden": r ? void 0 : !0, "aria-label": r, - children: i.map((a, c) => { - if (typeof a == "string") return /* @__PURE__ */ C("path", { d: a }, c); - const l = a.fill === !0 ? "currentColor" : a.fill ? s?.[a.fill] : void 0, u = a.stroke ? s?.[a.stroke] : a.fill ? "none" : void 0; - return /* @__PURE__ */ C("path", { - d: a.d, + children: a.map((i, c) => { + if (typeof i == "string") return /* @__PURE__ */ I("path", { d: i }, c); + const l = i.fill === !0 ? "currentColor" : i.fill ? s?.[i.fill] : void 0, u = i.stroke ? s?.[i.stroke] : i.fill ? "none" : void 0; + return /* @__PURE__ */ I("path", { + d: i.d, fill: l ?? "none", stroke: u, - strokeWidth: a.strokeWidth, - strokeDasharray: a.strokeDasharray, - strokeOpacity: a.strokeOpacity, - fillOpacity: a.fillOpacity + strokeWidth: i.strokeWidth, + strokeDasharray: i.strokeDasharray, + strokeOpacity: i.strokeOpacity, + fillOpacity: i.fillOpacity }, c); }) }) : null; } -const aie = { - top: !1, - right: !1, - bottom: !1, - left: !1 -}, pd = 1; -function h_(e, t) { - const n = e.right > 0 && e.left < t.width, o = e.bottom > 0 && e.top < t.height; - return { - top: n && e.top <= pd && e.bottom > 0, - right: o && e.right >= t.width - pd && e.left < t.width, - bottom: n && e.bottom >= t.height - pd && e.top < t.height, - left: o && e.left <= pd && e.right > 0 - }; -} -const cie = (e, t) => e.top === t.top && e.right === t.right && e.bottom === t.bottom && e.left === t.left, lie = { - top: "paddingTop", - right: "paddingRight", - bottom: "paddingBottom", - left: "paddingLeft" -}; -function g_(e, t = [ - "top", - "right", - "bottom", - "left" -]) { - const n = {}; - for (const o of t) e[o] && (n[lie[o]] = `env(safe-area-inset-${o}, 0px)`); - return n; -} -function m_(e) { - const { clientWidth: t, clientHeight: n } = e.ownerDocument.documentElement; - return { - width: t, - height: n - }; -} -const qw = { popover: "manual" }, b_ = "text-fg m-0 overflow-clip border-0 bg-transparent", uie = "data-epdf-focus-root", Eb = (e) => e.getRootNode().fullscreenElement === e; -function die(e) { - for (let t = e; t; ) { - if (Eb(t)) return !0; - t = t.parentElement ?? t.getRootNode().host ?? null; - } - return !1; -} -function fie(e, t) { - e.style.left = `${t.left}px`, e.style.top = `${t.top}px`, e.style.width = `${t.width}px`, e.style.height = `${t.height}px`; - const n = e.getBoundingClientRect(); - (Math.abs(n.left - t.left) > 0.5 || Math.abs(n.top - t.top) > 0.5) && (e.style.left = `${2 * t.left - n.left}px`, e.style.top = `${2 * t.top - n.top}px`); -} -function y_(e, t) { - const n = e.parentElement?.closest("[data-embedpdf-root]") ?? null; - typeof e.showPopover == "function" && e.showPopover(); - let o = ""; - const r = () => { - const f = m_(e), d = n?.getBoundingClientRect() ?? { - left: 0, - top: 0, - right: f.width, - bottom: f.height - }, p = Math.max(0, d.left), h = Math.max(0, d.top), g = { - left: p, - top: h, - width: Math.max(0, Math.min(f.width, d.right) - p), - height: Math.max(0, Math.min(f.height, d.bottom) - h) - }, m = `${g.left},${g.top},${g.width},${g.height},${f.width},${f.height}`; - m !== o && (o = m, fie(e, g), t?.(h_(d, f))); - }; - r(); - const s = new ResizeObserver(r); - n && s.observe(n); - const i = mp(r), a = e.ownerDocument, c = () => { - if (typeof e.showPopover != "function" || !e.matches(":popover-open")) return; - const f = go(a); - e.hidePopover(), e.showPopover(), f && f !== go(a) && f.focus({ preventScroll: !0 }); - }, l = () => { - n && die(n) && c(); - }, u = (f) => { - f.newState === "open" && c(); - }; - return a.addEventListener("fullscreenchange", l), n?.addEventListener("toggle", u), () => { - a.removeEventListener("fullscreenchange", l), n?.removeEventListener("toggle", u), i(), s.disconnect(), typeof e.hidePopover == "function" && e.matches(":popover-open") && e.hidePopover(); - }; -} -function ch(e, t) { - const n = e.ownerDocument, o = go(n), r = (a) => { - a.key !== "Escape" || a.defaultPrevented || (a.preventDefault(), a.stopPropagation(), t.onEscape()); - }; - e.addEventListener("keydown", r); - let s = null; - t.trap === !1 ? LM(e, t.initialFocus) : s = H$(e, { - initialFocus: t.initialFocus, - returnFocus: !1 - }); - const i = () => { - s?.(), s = null, e.removeEventListener("keydown", r); - }; - return { - standDown: i, - release: () => { - i(); - const a = go(n), c = a === null || e.contains(a) || a.hasAttribute("data-epdf-focus-root"); - o?.isConnected && c && o.focus(); - } - }; -} -const w_ = Xt("top"), lu = w_.Provider; -function Hw() { - return rt(w_); -} -function v_(e, t, n = "start", o = "above") { - return e === "start" || e === "end" ? `${e === "start" == (t === "ltr") ? "right" : "left"}-${n}` : `${e === "bottom" || e === "float-bottom" || e === "selection" && o === "above" ? "top" : "bottom"}-${n === "start" == (t === "ltr") ? "start" : "end"}`; -} -function k_(e) { - return e === "ltr" ? "right-start" : "left-start"; -} -function pie(e, t, n = !1, o = "above") { - return (n ? k_(t) : v_(e, t, "start", o)).split("-")[0]; -} -function x_(e) { - return e === "ltr" ? { - open: "ArrowRight", - close: "ArrowLeft" - } : { - open: "ArrowLeft", - close: "ArrowRight" - }; -} -const Yf = (e) => { - const t = e.getBoundingClientRect(); - return { - x: t.left, - y: t.top, - width: t.width, - height: t.height - }; -}, A_ = (e) => e.closest("[data-placement]")?.getAttribute("data-placement")?.startsWith("bottom") ? "below" : "above"; -function S_(e, t, n, o) { - const r = Uy(e, "client"); - if (!r) return; - const { left: s, top: i } = iM(t, n, o, { - size: { - width: e.offsetWidth, - height: e.offsetHeight +const O6 = { + code: "en", + name: "English", + translations: { + measurement: { + title: "Measurements", + distance: "Distance", + perimeter: "Perimeter", + area: "Area", + areaUnit: "Area unit", + resetLabel: "Reset label position", + calibrate: "Calibrate scale", + scale: "Scale", + custom: "Custom", + unavailable: "Unavailable", + instructions: "Drag to measure a distance, then click to place its dimension line. Click vertices for a perimeter or area and double-click to finish. Area boundaries must not cross; an unavailable preview cannot be finished. Press Escape to cancel. Drag the label itself to move it.", + sessionOnly: "This engine keeps page calibration for this session only.", + allPages: "Apply to all pages", + recalculate: "Recalculate existing measurements", + preset: "Scale preset", + choosePreset: "Choose a preset", + unit: "Unit", + precision: "Precision", + selection: "Selected measurements", + report: "{updated} updated · {skipped} skipped · {failed} failed", + knownLength: "Enter the real length represented by the line you just drew.", + length: "Known length", + apply: "Apply scale", + applying: "Applying…" }, - view: r - }); - e.style.left = `${s}px`, e.style.top = `${i}px`; - const a = e.getBoundingClientRect(); - (Math.abs(a.left - s) > 0.5 || Math.abs(a.top - i) > 0.5) && (e.style.left = `${2 * s - a.left}px`, e.style.top = `${2 * i - a.top}px`); -} -let Bi = null, i6 = Number.NEGATIVE_INFINITY; -const a6 = (e) => e.pointerType === "touch"; -function hie(e, t, n) { - let o = null, r = !1, s = !1, i = !1, a = !1, c, l; - const u = { hide: () => g() }, f = () => { - clearTimeout(c), clearTimeout(l); - }, d = () => e.getAttribute("aria-expanded") === "true", p = () => Bi !== null || Date.now() - i6 < 300, h = (y) => { - if (f(), !(o === y || o === "pointer")) { - if (o === null) { - if (t.canShow && !t.canShow()) return; - Bi !== u && Bi?.hide(), Bi = u, n.addEventListener("keydown", A, !0); - } - o = y, t.show(y); - } - }, g = () => { - f(), o !== null && (o = null, Bi === u && (Bi = null), i6 = Date.now(), n.removeEventListener("keydown", A, !0), t.hide()); - }, m = () => { - clearTimeout(l), l = setTimeout(g, 100); - }, M = (y) => { - a6(y) || (r = !0, clearTimeout(l), !(a || d()) && (o !== null || p() ? h("pointer") : c = setTimeout(() => h("pointer"), 500))); - }, x = (y) => { - a6(y) || (r = !1, clearTimeout(c), !i && (a = !1, o !== null && !s && m())); - }, S = () => { - e.matches(":focus-visible") && (i = !0, !a && !d() && h("focus")); - }, P = () => { - i = !1, !(r || s) && (a = !1, g()); - }, k = () => { - a = !0, g(); - }, A = (y) => { - y.key === "Escape" && (a = !0, g()); - }; - return e.addEventListener("pointerenter", M), e.addEventListener("pointerleave", x), e.addEventListener("focus", S), e.addEventListener("blur", P), e.addEventListener("pointerdown", k), { - enterTooltip() { - s = !0, clearTimeout(l); + commands: { + zoom: { + in: "Zoom In", + out: "Zoom Out", + fitPage: "Fit to Page", + fitWidth: "Fit to Width", + automatic: "Automatic", + marquee: "Marquee Zoom", + menu: "Zoom", + level: "Zoom Level", + p50: "50%", + p100: "100%", + p150: "150%", + p200: "200%", + p400: "400%" + }, + pan: "Pan", + pointer: "Pointer", + comment: "Comment", + style: "Style", + menu: "Menu", + viewControls: "View Controls", + open: "Open", + download: "Download", + print: "Print", + fullscreen: "Full Screen", + spread: { + group: "Page Layout", + none: "Single Page", + odd: "Two Page", + even: "Cover Page" + }, + scroll: { + group: "Scrolling", + vertical: "Vertical", + horizontal: "Horizontal", + paged: "Page by page" + }, + rotate: { + group: "Rotate", + clockwise: "Rotate Clockwise", + counterclockwise: "Rotate Counter-Clockwise" + }, + mode: { + measure: "Measure", + group: "Mode", + view: "View", + annotate: "Annotate", + shapes: "Shapes", + insert: "Insert", + form: "Form", + redact: "Redact" + }, + annotate: { + cancelCreation: "Cancel drawing", + highlight: "Highlight", + strikeout: "Strikeout", + underline: "Underline", + squiggly: "Squiggly", + ink: "Draw", + inkHighlight: "Ink Highlighter", + text: "Text", + insertText: "Insert Text", + replaceText: "Replace Text", + callout: "Callout", + note: "Comment", + link: "Link", + gotoLink: "Go to link", + saveFile: "Save file", + removeLink: "Remove link", + delete: "Delete", + duplicate: "Duplicate", + group: "Group", + ungroup: "Ungroup", + stampFromSelection: "Make stamp", + strip: "Annotation actions" + }, + selection: { + copy: "Copy", + strip: "Text selection actions" + }, + snapshot: { + tool: "Take a Snapshot", + copy: "Copy", + save: "Save Image", + clear: "Clear Snapshot", + strip: "Snapshot actions" + }, + shapes: { + rectangle: "Rectangle", + circle: "Circle", + line: "Line", + arrow: "Arrow", + polygon: "Polygon", + polyline: "Polyline" + }, + insert: { + stamp: "Rubber Stamp", + attachment: "Attach File", + signature: "Signature", + image: "Image" + }, + form: { + textfield: "Text Field", + checkbox: "Checkbox", + radio: "Radio Button", + select: "Dropdown", + listbox: "List Box", + button: "Button", + signature: "Signature Field", + design: "Form design" + }, + redact: { + mark: "Mark for Redaction", + applyAll: "Apply Redactions", + apply: { + one: "Apply Redaction", + other: "Apply {count} Redactions" + }, + clearAll: "Clear Marks" + }, + undo: "Undo", + redo: "Redo", + page: { + next: "Next Page", + previous: "Previous Page", + first: "First Page", + last: "Last Page", + goTo: "Go to Page" + }, + find: "Find", + shortcuts: "Keyboard Shortcuts", + notAllowed: { + default: "{label} isn't allowed", + "annotations-create": "Adding annotations isn't allowed", + "doc-annotate-modify": "Changing annotations isn't allowed", + "doc-annotate-read": "Viewing annotations isn't allowed", + "doc-attachments-modify": "Adding files isn’t allowed", + "doc-content-copy": "Taking snapshots isn't allowed", + "doc-download": "Downloading isn't allowed", + "doc-forms-modify": "Editing form fields isn't allowed", + "doc-outline-modify": "Changing the outline isn’t allowed", + "doc-pages-assemble": "Changing pages isn’t allowed", + "doc-print": "Printing isn't allowed", + "doc-render-thumbnail": "Showing thumbnails isn't allowed", + "doc-text-copy": "Copying isn't allowed", + "doc-text-search": "Searching isn't allowed" + }, + commentThread: { more: "More options" }, + attachment: { + add: "Add file", + save: "Save", + goTo: "Go to page", + delete: "Delete", + more: "More options" + }, + outline: { + add: "Add item", + addChild: "Add child item", + rename: "Rename", + setDestination: "Set destination to current view", + properties: "Properties…", + delete: "Delete", + expandAll: "Expand all", + collapseAll: "Collapse all", + more: "More options" + }, + pages: { + rotateClockwise: "Rotate Page Clockwise", + rotateCounterclockwise: "Rotate Page Counter-Clockwise", + delete: "Delete Pages", + duplicate: "Duplicate Pages", + insertBlank: "Insert Blank Page", + insertFile: "Insert from File…", + extract: "Extract Pages", + selectAll: "Select All Pages", + more: "Page Options" + }, + turnedOff: "{label} isn't available", + locked: { default: "{label} can't be changed in this document" } }, - leaveTooltip() { - s = !1, !r && !i && m(); + passwordPrompt: { + title: "Password required", + required: "This document is password protected. Enter the password to open it.", + incorrect: "The password was incorrect. Please try again.", + incorrectWarning: "Incorrect password", + label: "Password", + placeholder: "Enter password", + cancel: "Cancel", + open: "Open", + opening: "Opening…" }, - detach() { - e.removeEventListener("pointerenter", M), e.removeEventListener("pointerleave", x), e.removeEventListener("focus", S), e.removeEventListener("blur", P), e.removeEventListener("pointerdown", k), g(); - } - }; -} -const gie = 6, mie = '[inert], [aria-hidden="true"]', bie = "bg-tooltip text-tooltip-fg m-0 max-w-64 overflow-visible rounded-sm border border-transparent px-2 py-1 text-start text-xs font-normal leading-4 tracking-normal normal-case whitespace-normal shadow-md transition-opacity duration-100 starting:opacity-0 motion-reduce:transition-none", c6 = (e) => e.label !== "" && (!e.labelShown || !!e.shortcut || !!e.reason), yie = (e) => e !== null && (e.scrollWidth > e.clientWidth || e.scrollHeight > e.clientHeight); -function en(e, t = {}) { - const [n, o] = ke(null), [r, s] = ke(null), i = me(null), a = Hw(), c = Go(), l = t.clipped !== void 0 && e !== null && !c6(e), u = e !== null && (c6(e) || l && e.label !== ""), f = me(t.clipped); - f.current = t.clipped, Ne(() => { - if (!n || !u || n.closest(mie)) return; - const h = n.ownerDocument.defaultView ?? n.ownerDocument, g = hie(n, { - show: s, - hide: () => s(null), - canShow: l ? () => yie(f.current?.(n) ?? null) : void 0 - }, h); - return i.current = g, () => { - i.current = null, g.detach(); - }; - }, [ - n, - u, - l - ]); - const d = u && e !== null && r !== null && n !== null, p = d && (e.labelShown === !0 || t.clipped !== void 0 || n.getAttribute("aria-label") === e.label); - return { - trigger: { - ref: o, - "aria-describedby": d && (!p || e.shortcut || e.reason) ? c : void 0 + grantPrompt: { + passphraseTitle: "Passphrase required", + passphraseRequired: "This link is protected. Enter the passphrase you were given to open the document.", + passphraseIncorrect: "That passphrase didn’t work. Please try again.", + passphraseLabel: "Passphrase", + openTitle: "Before you open this document", + changeTitle: "Before you make changes", + asks: "The owner of this document asks who you are.", + shownOnChanges: "Your name is shown on what you add.", + final: "You can’t change your answers later.", + privacy: "Privacy notice", + optional: "optional", + invalid: "Check this answer.", + invalidEmail: "Enter a valid email address.", + fields: { + displayName: "Name", + email: "Email", + title: "Job title", + organization: "Organization", + organizationalUnit: "Department" + }, + open: "Open", + cancel: "Cancel", + continue: "Continue", + saving: "Saving…", + notNow: "Not now" }, - element: d ? /* @__PURE__ */ C(wie, { - id: c, - button: n, - content: e, - named: p, - interactive: r === "pointer", - placement: () => pie(a, vp(n), t.inMenu === !0, a === "selection" ? A_(n) : void 0), - timing: i - }) : null - }; -} -function lh({ content: e, options: t, children: n }) { - const o = en(e, t); - return /* @__PURE__ */ C(Te, { children: [n(o.trigger), o.element] }); -} -function P_({ label: e, reason: t, inMenu: n, ...o }) { - const r = en({ - label: e, - reason: t - }, { inMenu: n }); - return /* @__PURE__ */ C(Te, { children: [/* @__PURE__ */ C("button", { - type: "button", - "aria-label": e, - ...o, - ...r.trigger - }), r.element] }); -} -function wie({ id: e, button: t, content: n, named: o, interactive: r, placement: s, timing: i }) { - const a = me(null), c = me(s); - return c.current = s, Ne(() => { - const l = a.current; - if (!l) return; - typeof l.showPopover == "function" && l.showPopover(); - const u = () => S_(l, Yf(t), c.current(), gie); - u(); - const f = new ResizeObserver(u); - f.observe(l), f.observe(t); - const d = mp(u); - return () => { - d(), f.disconnect(), typeof l.hidePopover == "function" && l.matches(":popover-open") && l.hidePopover(); - }; - }, [t]), /* @__PURE__ */ C("div", { - ref: a, - ...qw, - id: e, - role: "tooltip", - part: "tooltip", - className: `${bie} ${r ? "pointer-events-auto" : "pointer-events-none"}`, - style: { - position: "fixed", - right: "auto", - bottom: "auto", - fontFamily: "var(--epdf-font)" + dropToOpen: { label: "Drop a PDF to open it" }, + documentError: { + title: "Couldn’t open document", + unknown: "The document could not be opened.", + notFound: "The file wasn’t found.", + notAllowed: "You don’t have access to this document.", + damaged: "This file isn’t a PDF, or it’s damaged.", + unsupported: "This viewer can’t open this kind of document.", + retry: "Try again", + close: "Close document" }, - onPointerEnter: () => i.current?.enterTooltip(), - onPointerLeave: () => i.current?.leaveTooltip(), - children: [ - /* @__PURE__ */ C("span", { - className: "flex items-baseline gap-2", - children: [ - /* @__PURE__ */ C("span", { - "aria-hidden": o || void 0, - children: n.label - }), - " ", - n.shortcut && /* @__PURE__ */ C("kbd", { - className: "opacity-75 [font-variant-emoji:text]", - style: { fontFamily: "inherit" }, - children: n.shortcut - }) - ] - }), - " ", - n.reason && /* @__PURE__ */ C("span", { - className: "mt-0.5 block opacity-80", - children: n.reason - }) - ] - }); -} -const vie = ["en", "de", "nl", "fr", "es", "zh-CN", "sv", "ja"], l6 = { - en: () => import("./en-DPJGdzVs.js"), - de: () => import("./de-B9ZThsfX.js"), - nl: () => import("./nl-PZU5WCRB.js"), - fr: () => import("./fr-B86BTPyb.js"), - es: () => import("./es-B_c68qs8.js"), - "zh-CN": () => import("./zh-CN-BZE2Bfuy.js"), - sv: () => import("./sv-NDp3ILj-.js"), - ja: () => import("./ja-BDuZnGZd.js") -}; -async function kie(e) { - const t = l6[e] ?? l6.en, { default: n } = await t(); - return xie(n); -} -function xie(e) { - const t = atob(e), n = new Uint8Array(t.length); - for (let o = 0; o < t.length; o++) n[o] = t.charCodeAt(o); - return n; -} -const Fl = "embedpdf-standard", Aie = "standard"; -function Sie(e) { - const t = `${Aie}:`; - return e.startsWith(t) ? `${Fl}:${e.slice(t.length)}` : e; -} -function Pie(e) { - return oh(vie, [e, ...typeof navigator < "u" ? navigator.languages ?? [] : []]) ?? "en"; -} -const Oie = async (e) => { - const t = await fetch(e); - if (!t.ok) throw new Error(`${e}: HTTP ${t.status}`); - return new Uint8Array(await t.arrayBuffer()); -}, Mie = (e, t) => t ? Oie(t.replace("{locale}", e)) : kie(e), u6 = /* @__PURE__ */ new WeakMap(); -function Eie(e, t, n) { - if (n === !1) return Promise.resolve(); - const o = typeof n == "string" ? n : void 0, r = u6.get(e); - if (r?.locale === t) return r.promise; - const i = (async () => { - await r?.promise.catch(() => { - }); - const a = e.getLibrary(Fl); - a?.locale !== t && (r && !a || (a && await e.deleteLibrary(Fl), await e.importLibrary(await Mie(t, o)))); - })(); - return u6.set(e, { - locale: t, - promise: i - }), i; -} -const Qf = typeof indexedDB > "u" ? null : pD("embedpdf-stamps", { storeName: "libraries" }), d6 = /* @__PURE__ */ new WeakMap(), O_ = (e) => { - let t = d6.get(e); - return t || (t = Qf ? hZ(e, Qf) : Promise.resolve(), d6.set(e, t)), t; -}; -function Cie() { - const e = mw(); - return Se(() => (O_(e), Qf ? gZ(e, Qf, { except: [Fl] }) : void 0), [e]), null; -} -const Iie = 0.5; -function _ie(e, t, n) { - if (e.length === 0) return null; - if (n >= 500) { - const o = e.filter((r) => r < t - 1); - return o.length > 0 ? o[o.length - 1] : null; - } - return n <= -500 ? e.find((o) => o > t + 1) ?? e[e.length - 1] : t < e[0] / 2 ? null : e.reduce((o, r) => Math.abs(r - t) < Math.abs(o - t) ? r : o); -} -function f6(e) { - const t = Math.max(0, Math.round(e - 40)), n = Math.min(t, Math.round(e * Iie)); - return n < t ? [n, t] : [t]; -} -const Nie = 'button, a[href], input, select, textarea, [role="tab"], [contenteditable]:not([contenteditable="false"])', Vw = "bg-black/30 transition-opacity duration-200 starting:opacity-0", M_ = () => { -}, E_ = Xt(M_), C_ = E_.Provider; -function Tie() { - return rt(E_); -} -const Rie = (e, t) => e.composedPath().some((n) => n instanceof Element && n !== t && n.matches('[aria-modal="true"]')), Lie = (e) => Object.fromEntries(Object.entries(e ?? {}).map(([t, n]) => [`data-${t}`, n])), jie = 8; -function I_({ label: e, onClose: t, size: n = "content", list: o = !1, trapFocus: r = !0, header: s, width: i, part: a, data: c, children: l }) { - const u = me(null), f = me(null), d = me(null), p = me(t); - p.current = t; - const h = me(0), g = me(null), m = () => n === "panel" ? f6(u.current?.offsetHeight ?? 0) : [d.current?.offsetHeight ?? 0], M = (k, A) => { - const y = d.current; - if (!y || A.length === 0) return; - const w = A[0], O = A[A.length - 1]; - n === "panel" && (y.style.height = `${Math.min(O, Math.max(w, k))}px`); - const b = Math.max(0, w - k); - y.style.translate = b > 0 ? `0 ${b}px` : "", f.current && (f.current.style.opacity = b > 0 ? `${Math.max(0, 1 - b / w)}` : ""); - }; - Ne(() => { - const k = u.current, A = d.current; - if (!k || !A) return; - const y = y_(k, (b) => { - const v = g_(b, [ - "right", - "bottom", - "left" - ]); - if (A.style.paddingLeft = v.paddingLeft ?? "", A.style.paddingRight = v.paddingRight ?? "", A.style.paddingBottom = v.paddingBottom ?? "", A.style.maxHeight = `${Math.max(0, k.offsetHeight - 40)}px`, n === "panel" && !g.current) { - const E = f6(k.offsetHeight); - M(E[Math.min(h.current, E.length - 1)], E); - } - }), w = r ? ch(A, { onEscape: () => p.current() }) : null, O = Xy(k, (b) => { - Rie(b, A) || p.current(); - }); - return () => { - O(), w?.release(), y(); - }; - }, []); - const x = (k) => { - if (k.pointerType === "mouse" && k.button !== 0 || k.target.closest(Nie)) return; - const A = d.current; - if (!A) return; - k.currentTarget.setPointerCapture(k.pointerId); - const y = A.offsetHeight; - g.current = { - pointerId: k.pointerId, - startY: k.clientY, - startHeight: y, - heights: m(), - samples: [{ - t: k.timeStamp, - x: k.clientX, - y: k.clientY - }], - height: y - }, u.current?.setAttribute("data-dragging", ""); - }, S = (k) => { - const A = g.current; - !A || A.pointerId !== k.pointerId || (A.height = A.startHeight - (k.clientY - A.startY), A.samples.push({ - t: k.timeStamp, - x: k.clientX, - y: k.clientY - }), A.samples.length > jie && A.samples.shift(), M(A.height, A.heights)); - }, P = (k) => { - const A = g.current; - if (!A || A.pointerId !== k.pointerId) return; - g.current = null, u.current?.removeAttribute("data-dragging"); - const y = k.type === "pointercancel", w = y ? 0 : Od(A.samples, k.timeStamp)?.vy ?? 0, O = y ? A.heights[h.current] : _ie(A.heights, A.height, w); - if (O === null) { - p.current(); - return; - } - h.current = Math.max(0, A.heights.indexOf(O)), M(O, A.heights); - }; - return /* @__PURE__ */ C("div", { - ref: u, - ...qw, - "data-epdf-layer": "", - className: `${b_} p-0 open:flex open:flex-col open:justify-end`, - style: { - position: "fixed", - inset: "auto", - maxWidth: "none", - maxHeight: "none" + tabs: { + close: "Close {name}", + loading: "Loading", + untitled: "Document {id}" }, - children: [/* @__PURE__ */ C("div", { - ref: f, - "aria-hidden": "true", - className: `absolute inset-0 ${Vw} in-data-dragging:transition-none`, - onClick: () => p.current() - }), /* @__PURE__ */ C("div", { - ref: d, - role: r ? "dialog" : void 0, - "aria-modal": r ? !0 : void 0, - "aria-label": r ? e : void 0, - part: a, - ...Lie(c), - "data-epdf-sheet": "", - className: `border-border-subtle bg-elevated starting:translate-y-full in-data-dragging:transition-none relative flex shrink-0 flex-col rounded-t-2xl border-t shadow-2xl transition-[translate,height] duration-200 ease-out motion-reduce:transition-none ${i === void 0 ? "w-full" : "max-w-full self-center border-x"}`, - style: i === void 0 ? void 0 : { width: i }, - children: [/* @__PURE__ */ C("div", { - className: "shrink-0 touch-pan-x select-none", - onPointerDown: x, - onPointerMove: S, - onPointerUp: P, - onPointerCancel: P, - children: [/* @__PURE__ */ C("div", { - "data-epdf-sheet-handle": "", - className: "flex h-6 cursor-grab items-center justify-center active:cursor-grabbing", - children: /* @__PURE__ */ C("span", { className: "bg-border-strong h-1 w-10 rounded-full" }) - }), s] - }), /* @__PURE__ */ C("div", { - className: "flex min-h-0 flex-1 flex-col overflow-y-auto overflow-x-hidden overscroll-contain", - children: /* @__PURE__ */ C(C_, { - value: o ? () => p.current() : M_, - children: l - }) - })] - })] - }); -} -const Fie = (e, t) => Joe(e, t, zI), Die = []; -function Gw(e) { - const t = Ge(ah), n = tn(), o = He(() => e ? rh(e) : null, [e]), r = wt( - () => o ? Zoe(o, (s) => t.resolveCommand(s, n ?? void 0)) : Die, - Fie - ); - return He( - () => r.length === 0 ? null : { - groups: r, - execute: (s) => void t.execute(s, { documentId: n ?? void 0 }) + closeUnsaved: { + title: "Close without saving?", + body: "“{name}” has changes that weren’t downloaded. They’ll be lost.", + cancel: "Cancel", + close: "Close without saving" }, - [r, t, n] - ); -} -function p6({ - k: e, - orientation: t, - onLength: n, - children: o -}) { - const r = me(null); - return Ne( - () => r.current ? NM(r.current, t, (s) => n(e, s)) : void 0, - [e, t, n] - ), /* @__PURE__ */ C("span", { ref: r, style: { display: "inline-flex", flexShrink: 0 }, children: o }); -} -function $ie({ - name: e, - k: t, - orientation: n, - grow: o, - onLength: r, - children: s -}) { - const i = me(null); - return Ne(() => { - const a = i.current; - if (!a) return; - const c = (l) => r(t, l); - return o ? j$(a, n, c) : NM(a, n, c); - }, [t, n, o, r]), /* @__PURE__ */ C( - "slot", - { - ref: i, - name: e, - style: { - display: "inline-flex", - alignItems: "center", - flexShrink: 0, - flexGrow: o ? 1 : 0 - }, - children: s - } - ); -} -const Bie = (e) => ({ - position: "absolute", - left: 0, - top: 0, - height: 0, - overflow: "hidden", - visibility: "hidden", - pointerEvents: "none", - display: "flex", - whiteSpace: "nowrap", - ...e === "vertical" ? { flexDirection: "column", alignItems: "flex-start" } : null -}), h6 = { [o0]: "" }, zie = { display: "contents" }, Wie = (e) => ({ - display: "flex", - flexDirection: e === "vertical" ? "column" : "row", - alignItems: "center", - flex: "1 0 auto" -}), __ = Gl("toolbar-surface"), La = Gl("toolbar-border"), Yw = Gl("toolbar-active"), Uie = (e, t, n) => /* @__PURE__ */ C( - "button", - { - type: "button", - onClick: n, - disabled: !e.enabled, - "aria-pressed": e.pressable ? e.active : void 0, - "aria-haspopup": e.menu ? "menu" : void 0, - "aria-expanded": e.menu ? e.active : void 0, - title: e.label, - style: { - display: "inline-flex", - alignItems: "center", - gap: 4, - padding: "4px 8px", - whiteSpace: "nowrap", - color: "inherit", - font: "inherit", - background: e.active ? Yw : "transparent", - border: `1px solid ${La}`, - borderRadius: 4, - cursor: e.enabled ? "pointer" : "default", - opacity: e.enabled ? 1 : 0.4 + viewOnly: { + label: "View only", + turnedOff: "The tools that change this document are turned off", + notAllowed: "You can read this document, but not change it" }, - children: e.label - } -); -function Kie({ orientation: e }) { - return /* @__PURE__ */ C( - "span", - { - style: { ...e === "vertical" ? { height: 1 } : { width: 1 }, alignSelf: "stretch", background: "currentColor", opacity: 0.2 } - } - ); -} -const N_ = (e, t) => /* @__PURE__ */ C( - "button", - { - type: "button", - onClick: t, - "aria-haspopup": "menu", - "aria-expanded": e, - title: "More", - style: { - display: "inline-flex", - alignItems: "center", - padding: "4px 8px", - color: "inherit", - font: "inherit", - border: `1px solid ${La}`, - borderRadius: 4, - background: e ? Yw : "transparent", - cursor: "pointer" + panel: { + close: "Close", + resize: "Resize {title}" }, - children: "⋯" - } -), qie = (e) => e === "vertical" ? { top: 0, insetInlineStart: "100%" } : { top: "100%", insetInlineEnd: 0 }; -function Qw({ - view: e, - orientation: t -}) { - const n = me(null), o = me(e.close); - return o.current = e.close, Ne(() => { - const r = n.current; - if (!e.isOpen || !r) return; - const s = r.parentElement ?? r, i = zy(s).find((l) => !r.contains(l)) ?? null, a = Xy(s, () => o.current()), c = r0(r, { trigger: i, close: () => o.current() }); - return () => { - a(), c(); - }; - }, [e.isOpen]), e.isOpen ? /* @__PURE__ */ C( - "div", - { - ref: n, - role: "menu", + menu: { back: "Back" }, + shortcuts: { + document: "Document", + viewing: "Viewing", + editing: "Editing", + other: "Other" + }, + goToPage: { go: "Go" }, + print: { + title: "Print", + pages: "Pages", + allPages: "All pages", + currentPage: "Current page", + range: "Custom", + rangeLabel: "Pages to print", + rangePlaceholder: "e.g. 1-3, 5", + rangeInvalid: "Use page numbers from 1 to {total}, such as 1-3, 5", + annotations: "Print annotations", + preparing: "Preparing…", + preparingPage: "Preparing page {page} of {total}…", + ready: "Ready to print.", + images: "Pages print as images at {dpi} DPI.", + lowResolution: "This document allows only low-resolution printing ({dpi} DPI).", + failed: "The printout couldn’t be prepared.", + cancel: "Cancel", + print: "Print" + }, + panels: { + thumbnails: "Thumbnails", + outline: "Outline", + attachments: "Attachments", + search: "Search", + comments: "Comments", + style: "Style", + stamps: "Stamps", + signatures: "Signatures", + redaction: "Redactions", + measurement: "Measurements", + formDesign: "Form design", + switch: "Switch panel" + }, + annotation: { + comment: "Comment", + highlight: "Highlight", + underline: "Underline", + squiggly: "Squiggly", + strikeout: "Strikethrough", + square: "Square", + circle: "Circle", + line: "Line", + polygon: "Polygon", + polyline: "Polyline", + ink: "Ink", + freeText: "Text", + stamp: "Stamp", + caret: "Caret", + redact: "Redact", + fileAttachment: "Attachment", style: { - position: "absolute", - ...qie(t), - zIndex: 41, - minWidth: 200, - padding: 4, - background: __, - border: `1px solid ${La}`, - borderRadius: 6, - boxShadow: "0 4px 16px rgba(0,0,0,0.15)" + kind: "Type", + opacity: "Opacity", + stroke: "Stroke", + fill: "Fill", + color: "Color", + strokeWidth: "Stroke width", + border: "Border", + borderStyle: "Border style", + borderColor: "Border color", + borderWidth: "Border width", + background: "Background", + outline: "Outline", + lineEndings: "Line endings", + blendMode: "Blend mode", + font: "Font", + fontSize: "Font size", + textColor: "Text color", + bold: "Bold", + italic: "Italic", + underline: "Underline", + align: "Align", + alignment: "Alignment", + label: "Label", + labelFont: "Label font", + labelSize: "Label size", + labelColor: "Label color", + icon: "Icon", + link: "Link" }, - children: e.sections.map((r, s) => /* @__PURE__ */ C(Te, { children: [ - s > 0 && /* @__PURE__ */ C("div", { style: { height: 1, background: La, margin: "4px 0" } }), - r.rows.map((i) => { - const a = e.resolve(i.command); - if (!a) return null; - const c = i.kind === "submenu"; - return /* @__PURE__ */ C( - "button", - { - type: "button", - role: r.role === "radio" ? "menuitemradio" : "menuitem", - "aria-checked": r.role === "radio" ? a.active : void 0, - disabled: !a.enabled, - tabIndex: -1, - onClick: () => { - e.execute(i.command), c || e.close(); - }, - style: { - display: "flex", - width: "100%", - alignItems: "center", - justifyContent: "space-between", - gap: 16, - padding: "6px 8px", - border: "none", - color: "inherit", - font: "inherit", - background: "transparent", - cursor: a.enabled ? "pointer" : "default", - opacity: a.enabled ? 1 : 0.4, - whiteSpace: "nowrap" - }, - children: [ - /* @__PURE__ */ C("span", { children: [ - a.active && r.role === "radio" ? "• " : "", - a.label - ] }), - c ? /* @__PURE__ */ C("span", { children: "▸" }) : null - ] - }, - i.command - ); - }) - ] }, s)) - } - ) : null; -} -function Hie({ - view: e, - orientation: t -}) { - if (e.collapse === "select") { - const n = e.commands.find((o) => o.active); - return /* @__PURE__ */ C( - "select", - { - value: n?.id ?? "", - onChange: (o) => e.execute(o.target.value), - style: { - padding: "4px 6px", - font: "inherit", - borderRadius: 4, - border: `1px solid ${La}`, - background: __ - }, - children: e.commands.map((o) => /* @__PURE__ */ C("option", { value: o.id, disabled: !o.enabled, children: o.label }, o.id)) - } - ); - } - return /* @__PURE__ */ C(Vie, { view: e, orientation: t }); -} -function Vie({ - view: e, - orientation: t -}) { - const [n, o] = ke(!1); - return /* @__PURE__ */ C("span", { style: { position: "relative", display: "inline-flex" }, children: [ - N_(n, () => o((r) => !r)), - /* @__PURE__ */ C( - Qw, - { - view: au(e, n, () => o(!1)), - orientation: t + flags: { + print: "Print", + hidden: "Hidden", + noView: "No view", + toggleNoView: "Toggle no view", + readOnly: "Read only", + locked: "Locked", + lockedContents: "Locked contents", + noZoom: "No zoom", + noRotate: "No rotate", + invisible: "Invisible" + }, + borderStyles: { + solid: "Solid", + dashed: "Dashed", + cloudy: "Cloudy" + }, + lineEndings: { + none: "None", + square: "Square", + circle: "Circle", + diamond: "Diamond", + openArrow: "Open arrow", + closedArrow: "Closed arrow", + butt: "Butt", + reverseOpenArrow: "Reverse open arrow", + reverseClosedArrow: "Reverse closed arrow", + slash: "Slash" + }, + blendModes: { + normal: "Normal", + multiply: "Multiply", + screen: "Screen", + overlay: "Overlay", + darken: "Darken", + lighten: "Lighten", + colorDodge: "Color dodge", + colorBurn: "Color burn", + hardLight: "Hard light", + softLight: "Soft light", + difference: "Difference", + exclusion: "Exclusion", + hue: "Hue", + saturation: "Saturation", + color: "Color", + luminosity: "Luminosity" + }, + fonts: { + courier: "Courier", + courierBold: "Courier Bold", + courierBoldOblique: "Courier Bold Oblique", + courierOblique: "Courier Oblique", + helvetica: "Helvetica", + helveticaBold: "Helvetica Bold", + helveticaBoldOblique: "Helvetica Bold Oblique", + helveticaOblique: "Helvetica Oblique", + timesRoman: "Times Roman", + timesBold: "Times Bold", + timesBoldItalic: "Times Bold Italic", + timesItalic: "Times Italic", + symbol: "Symbol", + zapfDingbats: "Zapf Dingbats" + }, + alignments: { + left: "Left", + center: "Center", + right: "Right" + }, + noteIcons: { + comment: "Comment", + key: "Key", + note: "Note", + help: "Help", + newParagraph: "New paragraph", + paragraph: "Paragraph", + insert: "Insert" + }, + attachmentIcons: { + pushPin: "Push pin", + paperclip: "Paperclip", + graph: "Graph", + tag: "Tag" } - ) - ] }); -} -function Gie({ - view: e, - orientation: t -}) { - const [n, o] = ke(!1), r = e.commands.some((s) => s.active); - return /* @__PURE__ */ C("span", { style: { position: "relative", display: "inline-flex" }, children: [ - /* @__PURE__ */ C( - "button", - { - type: "button", - onClick: () => o((s) => !s), - "aria-haspopup": "menu", - "aria-expanded": n, - title: "More", - style: { - display: "inline-flex", - alignItems: "center", - padding: "4px 6px", - color: "inherit", - font: "inherit", - border: `1px solid ${La}`, - borderRadius: 4, - // A hint that the active item is in here. - background: n || r ? Yw : "transparent", - cursor: "pointer" - }, - children: "▾" + }, + form: { settings: { + name: "Name", + tooltip: "Tooltip", + required: "Required", + readOnly: "Read-only", + noExport: "Don't export", + defaultValue: "Default value", + maxLength: "Maximum length", + multiline: "Several lines", + password: "Password", + comb: "One character per box", + radiosInUnison: "Buttons with one value turn on together", + keepOneOn: "Keep one on", + options: "Options", + allowTyping: "Allow typing", + multiSelect: "Several choices" + } }, + thumbnails: { page: "Page {page}" }, + formDesign: { + empty: "No fields yet. Pick a field tool to add one.", + page: "Page {page}", + allFields: "All fields", + buttons: "Buttons", + boxes: "Boxes", + box: "Box {number}", + addButton: "Add a button", + addBox: "Add a box", + duplicateGroup: "Duplicate group" + }, + stylePanel: { + mixed: "(mixed)", + transparent: "Transparent", + lineStart: "Start", + lineEnd: "End", + empty: "Pick a draw tool or select an annotation to edit its style.", + selected: { + one: "{count} selected", + other: "{count} selected" + }, + toolDefaults: "{tool} defaults", + defaults: "Defaults", + fontGroups: { + document: "In this document", + yours: "Your fonts", + server: "Server fonts", + standard: "Standard" + }, + fontStyles: { + bold: "Bold", + italic: "Italic", + boldItalic: "Bold Italic" + }, + fontRestrictions: { + notEmbedded: "The document only names it", + subset: "The document holds only the characters it uses", + previewAndPrint: "Its licence allows viewing and printing only", + unsupportedFormat: "New text can’t be written in this kind of font", + noUnicodeMap: "It doesn’t say which characters it draws", + other: "New text can’t be written in it" } - ), - /* @__PURE__ */ C( - Qw, - { - view: au(e, n, () => o(!1)), - orientation: t + }, + attachments: { + loading: "Loading attachments…", + failed: "The attachments couldn’t be read.", + empty: "This document has no attached files", + drop: "Drop files to attach them", + dropHint: "Or drop files here", + adding: "Adding…", + onPage: "Page {page}", + count: { + one: "{count} file", + other: "{count} files" } - ) - ] }); -} -function Yie({ - bar: e, - orientation: t = "horizontal", - gap: n = 8, - separatorWidth: o = 1, - "aria-label": r, - className: s, - style: i, - renderCommand: a = Uie, - renderCustom: c, - renderCollapsed: l, - renderGroupTrigger: u, - renderSeparator: f, - renderOverflowTrigger: d = N_, - renderOverflowMenu: p -}) { - const h = Mr(), g = Ge(ah), m = tn(), M = t === "vertical", [, x] = cs((W) => W + 1, 0); - Se(() => h.subscribe(x), [h]); - const S = me(null), [P, k] = ke(0); - Ne( - () => S.current ? D$(S.current, t, k) : void 0, - [t] - ); - const [A] = ke(R$), [, y] = cs((W) => W + 1, 0), w = He( - () => (W, $) => { - A.report(t, W, $) && y(); - }, - [A, t] - ), O = me(null); - Ne(() => { - const W = S.current; - if (!W) return; - const $ = z$(W, t); - return O.current = $, () => { - $.detach(), O.current = null; - }; - }, [t]), Ne(() => O.current?.refresh()); - const b = (W) => g.resolveCommand(W, m ?? void 0), v = (W) => void g.execute(W, { documentId: m ?? void 0 }), E = He(() => rh(e), [e]), I = Goe({ - bar: E, - resolve: b, - unregistered: WI, - execute: v, - menuTarget: (W) => g.getMenuTarget(W), - metrics: A.metrics(t, n, o), - measureKey: Ki, - containerLength: P, - orientation: t - }), [T, _] = ke(!1); - Se(() => { - I.hasOverflow || _(!1); - }, [I.hasOverflow]); - const N = (W) => W.kind === "custom" && !c?.[W.name], F = (W, $) => { - switch (W.kind) { - case "command": - return a(W.command, W.variant, W.run); - case "custom": { - const K = () => W.terminal ? a(W.terminal, "icon", W.runTerminal) : null, ee = c?.[W.name]; - if (ee) { - const J = ee(W.variant, { - layer: $, - measure: (ue) => w(W.measureKey, ue) - }); - return J === void 0 ? K() : J; - } - return $ === "measure" ? null : /* @__PURE__ */ C( - $ie, - { - name: W.name, - k: W.measureKey, - orientation: t, - grow: W.grow, - onLength: w, - children: K() - } - ); - } - case "collapsed": { - const K = l?.(W.view); - return K === void 0 ? /* @__PURE__ */ C(Hie, { view: W.view, orientation: t }) : K; - } - case "disclosure": { - const K = u?.(W.view); - return K === void 0 ? /* @__PURE__ */ C(Gie, { view: W.view, orientation: t }) : K; + }, + outline: { + filter: "Filter outline", + loading: "Loading outline…", + failed: "The outline couldn’t be read.", + empty: "This document has no outline", + noMatches: "No items match", + incomplete: "Part of the outline couldn’t be read.", + untitled: "Untitled", + properties: { + title: "Item properties", + name: "Title", + color: "Color", + noColor: "None", + customColor: "Custom color", + bold: "Bold", + italic: "Italic", + open: "Expanded when the document opens", + target: "Destination", + targetNone: "None", + targetView: "Current view", + targetNamed: "Page action", + targetKept: "Kept as it is", + keptNote: "This item runs a script or opens another file. It can’t be changed here.", + fit: "Fit", + fitKept: "As it is", + save: "Save", + cancel: "Cancel" } - } - }, R = (W) => W.groups.map(($, K) => /* @__PURE__ */ C(Te, { children: [ - K > 0 && (f ? f() : /* @__PURE__ */ C(Kie, { orientation: t })), - $.parts.map((ee) => /* @__PURE__ */ C( - "span", - { - ...h6, - style: ee.kind === "custom" && ee.grow ? Wie(t) : zie, - children: F(ee, "live") + }, + linkEditor: { + toUrl: "Link to a URL", + url: "URL", + toPage: "Link to a page", + page: "Page", + urlPlaceholder: "https://…", + pagePlaceholder: "Page number", + add: "Add link", + update: "Update link" + }, + pageNumber: { + page: "{current} / {total}", + pages: "{first}–{last} / {total}", + goToPage: "Go to page" + }, + comments: { + forbidden: "You don’t have access to comments on this document.", + loading: "Loading comments…", + error: "Comments failed to load.", + retry: "Retry", + empty: "No comments yet. Use the note tool to start a thread.", + emptyReadOnly: "No comments on this document.", + anonymous: "Guest", + page: "Page {page}", + count: { + one: "{count} comment", + other: "{count} comments" }, - ee.key - )) - ] }, $.id)), j = (W) => ({ - display: "flex", - flexDirection: M ? "column" : "row", - alignItems: "center", - gap: n, - flex: W.grows ? "1 0 auto" : "0 0 auto", - ...W.spacing === "balance" ? M ? { marginTop: "auto", marginBottom: "auto" } : { marginLeft: "auto", marginRight: "auto" } : W.spacing === "gap" ? M ? { marginTop: n } : { marginInlineStart: n } : null - }), B = { - sections: I.overflow, - isOpen: T, - close: () => _(!1), - resolve: b, - execute: v - }; - return /* @__PURE__ */ C( - "div", - { - ref: S, - role: "toolbar", - "aria-orientation": t, - "aria-label": r, - className: s, - style: { - position: "relative", - display: "flex", - flexDirection: M ? "column" : "row", - alignItems: "center", - ...i + reply: "Reply", + replyPlaceholder: "Reply…", + addPlaceholder: "Add a comment…", + delete: "Delete comment", + deleteThread: "Delete thread", + edit: "Edit comment", + status: "Status", + statusNone: "No status", + statusAccepted: "Accepted", + statusRejected: "Rejected", + statusCancelled: "Cancelled", + statusCompleted: "Completed", + markCompleted: "Mark as completed" + }, + demo: { + starting: "Starting viewer…", + opening: "Opening document…", + pageLoading: "Loading page {page}…", + pageError: "This page couldn’t load.", + pageForbidden: "You don’t have access to this page.", + more: "More", + searchPlaceholder: "Search document…", + searchCaseSensitive: "Case sensitive", + searchWholeWord: "Whole word", + searchRegex: "Regular expression", + searchSearching: "Searching…", + searchResults: { + one: "{count} result found", + other: "{count} results found" }, - children: [ - I.sections.map((W) => /* @__PURE__ */ C("div", { style: j(W), children: [ - R(W), - W.name === "end" && I.hasOverflow && /* @__PURE__ */ C("span", { ...h6, style: { position: "relative", display: "inline-flex" }, children: [ - d(T, () => _(($) => !$)), - p ? p(B) : /* @__PURE__ */ C(Qw, { view: B, orientation: t }) - ] }) - ] }, W.name)), - /* @__PURE__ */ C("div", { "aria-hidden": !0, ...z3, style: Bie(t), children: [ - I.measured.filter((W) => !N(W)).map((W) => { - const $ = F(W, "measure"); - return W.kind === "custom" && $ === null ? null : /* @__PURE__ */ C( - p6, - { - k: W.measureKey, - orientation: t, - onLength: w, - children: $ - }, - W.measureKey - ); - }), - /* @__PURE__ */ C( - p6, - { - k: Ki.overflowTrigger, - orientation: t, - onLength: w, - children: d(!1, () => { - }) - } - ) - ] }) - ] + searchNoResults: "No results", + searchPrevious: "Previous result", + searchNext: "Next result", + searchPage: "Page {page}", + searchHitOf: "{current} of {total}", + searchResult: "Result {index}", + searchOptions: "Search options", + empty: "Nothing here yet in this demo panel.", + cancel: "Cancel", + pageBadge: "p. {page}", + redactionEmpty: "No pending redactions. Use the Redact tool to mark text or areas.", + redactionArea: "Area mark", + redactionText: "Text mark", + redactionRemove: "Remove mark", + redactConfirmTitle: { + one: "Apply redaction?", + other: "Apply redactions?" + }, + redactConfirmBody: { + one: "Permanently remove the content under {count} redaction mark. This cannot be undone.", + other: "Permanently remove the content under {count} redaction marks. This cannot be undone." + }, + redactConfirmCollateral: { + one: "{count} other annotation will also be removed.", + other: "{count} other annotations will also be removed." + }, + redactApply: "Apply", + redactApplying: "Applying…", + formatLabel: "Format", + fieldSettingsTitle: "Field", + fieldOptionLabel: "Label", + fieldOptionValue: "Value", + fieldOptionAdd: "Add option", + fieldOptionRemove: "Remove option", + fieldNone: "None", + redactLabelTitle: "Redaction label", + redactLabelPlaceholder: "e.g. REDACTED", + redactLabelRepeat: "Repeat label across region", + stampsAll: "All stamps", + stampsLoading: "Loading stamps…", + stampsEmpty: "No stamps yet. Import a PDF to turn each of its pages into a stamp.", + stampsRemoveStamp: "Remove stamp", + stampsArmedHint: "Click a page to place the stamp.", + stampsImport: "Import PDF…", + stampsImporting: "Importing…", + stampsImportHint: "Import a PDF as a stamp library — each page becomes one stamp.", + stampsRemoveLibrary: "Remove library", + stampsExportLibrary: "Export library as PDF", + stampsCustomLibrary: "My stamps", + stampsCustomLabel: "Custom stamp", + stampsError: "The built-in stamps could not be loaded.", + stampsArmError: "That stamp could not be armed.", + stampsImportError: "That PDF could not be imported as a stamp library.", + quickStampsLabel: "Quick stamps", + signaturesEmpty: "No signatures yet. Create one to sign with.", + signaturesNew: "New signature…", + signaturesArmedHint: "Click a signature field to sign it, or anywhere on a page to place the mark.", + signaturesTargetHint: "Pick a mark for the selected field.", + signaturesInDocument: "In this document", + signaturesNone: "This document has no signature fields.", + signaturesValidate: "Validate", + signaturesValidating: "Validating…", + signaturesSigned: "Signed", + signaturesUnsigned: "Unsigned", + signaturesRename: "Rename", + signaturesRemove: "Remove", + signaturesExport: "Export as PDF", + signaturesAddInitials: "Add initials", + signatureLabel: "Signature", + initialsLabel: "Initials", + makerTitle: "New signature", + makerName: "Name", + makerNamePlaceholder: "Your name", + makerDraw: "Draw", + makerType: "Type", + makerUpload: "Upload", + makerTypePlaceholder: "Type your name", + makerFont: "Font", + makerUploadHint: "Choose a PNG, JPEG, or one-page PDF", + makerClear: "Clear", + makerOptional: "(optional)", + makerSave: "Save", + makerSaving: "Saving…", + makerError: "The signature could not be saved.", + signTitle: "Sign this field", + signReason: "Reason", + signLocation: "Location", + signKind: "What may change afterwards", + signKindApproval: "Approval signature — form filling and more signatures stay valid", + signKindCertifyAnnotate: "Certify — allow comments, form filling and signatures", + signKindCertifyFill: "Certify — allow form filling and signatures only", + signKindCertifyLocked: "Certify — allow no changes", + signButton: "Sign", + signSigning: "Signing…", + signFill: "Place without signing", + signError: "The field could not be signed.", + inspectTitle: "Signature", + inspectSigner: "Signed by", + inspectReason: "Reason", + inspectLocation: "Location", + inspectTime: "Time", + inspectIntegrity: "Document", + inspectCryptography: "Signature", + inspectTrust: "Signer", + inspectChanges: "Changes since", + inspectDownload: "Download signed version", + verdictValid: "Valid", + verdictValidUntrusted: "Valid, signer not trusted", + verdictInvalid: "Invalid — modified after signing", + verdictWillInvalidate: "Valid, invalid once saved", + signaturesInvalidating: "This change will invalidate {field} when the document is saved. Undo it to keep the signature.", + verdictIndeterminate: "Could not be verified", + verdictUnchanged: "None", + verdictRestored: "Changed, then restored", + inspectLaterRevisions: "Revisions after signing", + verdictPermitted: "Permitted", + verdictForbidden: "Not permitted" } - ); + } +}, P6 = { + de: () => import("./de-DAeMkxx6-Bxe1Z0it.js").then((e) => e.de), + fr: () => import("./fr-BgJ8dOAI-D1-gtQTu.js").then((e) => e.fr), + es: () => import("./es-BrwadaBk-BGCvUgEY.js").then((e) => e.es), + it: () => import("./it-BmmNdibU-CfnkmlJc.js").then((e) => e.it), + nl: () => import("./nl-DNuIdcyV-Dte7eubE.js").then((e) => e.nl), + pt: () => import("./pt-nD3P1M4h-BWUeQmPp.js").then((e) => e.pt), + pl: () => import("./pl-ZVxF5BV2-CbfU8VmS.js").then((e) => e.pl), + sv: () => import("./sv-CvLfpN-U-DJtc8253.js").then((e) => e.sv), + ja: () => import("./ja-DYL0fhQg-DqJ--L75.js").then((e) => e.ja), + "zh-CN": () => import("./zh-cn-C-XTtOHZ-sfngNd4o.js").then((e) => e.zhCN), + "zh-TW": () => import("./zh-tw-CO5cxPs5-C70V5LyG.js").then((e) => e.zhTW), + ko: () => import("./ko-D0EydnVj-gXBpgabc.js").then((e) => e.ko), + ar: () => import("./ar-C75qD9T8-Wu6Q7ZC4.js").then((e) => e.ar), + he: () => import("./he-DDOO6ydF-B5WmpXLy.js").then((e) => e.he) +}, eN = () => typeof navigator < "u" ? navigator.languages ?? [] : [], M6 = (e, t, n = "en") => cu(t, e !== "auto" ? [e] : eN()) ?? n, wie = (e) => [...e !== "auto" ? [e] : [], ...eN()]; +function vie(e) { + try { + return new Intl.Locale(e).region; + } catch { + return; + } } -const Qie = { - annotations: [ - "highlight", - "markup", - "drawing", - "text", - "notes", - "links" - ], - shapes: [], - stamps: [], - comments: ["writing"], - forms: ["filling", "building"], - signatures: ["signing", "checking"], - redaction: [], - measurement: [], - pages: [], - attachments: ["adding"], - text: ["selection", "copy"], - snapshots: [], - search: [], - thumbnails: [], - outline: ["editing"], - documents: [ - "open", - "download", - "print", - "tabs" - ] -}, T_ = [ - "annotations", - "shapes", - "stamps", - "comments.writing", - "forms", - "signatures.signing", - "redaction", - "measurement", - "pages", - "attachments.adding", - "outline.editing" -], Cb = (e, t) => e === t || e.startsWith(`${t}.`), Xie = (e) => T_.every(e), Zie = { - "annotations.highlight": ["highlight"], - "annotations.markup": [ - "underline", - "strikeout", - "squiggly" - ], - "annotations.drawing": ["ink"], - "annotations.text": ["free-text", "caret"], - "annotations.notes": ["text"], - "annotations.links": ["link"], - shapes: [ - "square", - "circle", - "line", - "polygon", - "polyline" - ], - stamps: ["stamp"], - redaction: ["redact"], - measurement: [ - "line-dimension", - "polyline-dimension", - "polygon-dimension" - ], - "attachments.adding": ["file-attachment"], - "forms.building": ["widget"] -}, Jie = { - "forms.filling": [ - "text", - "checkbox", - "radio", - "combobox", - "listbox", - "pushbutton" - ], - "signatures.signing": ["signature"] -}; -function g6(e, t) { - const n = Object.keys(e), o = n.filter((r) => !t.some((s) => Cb(r, s))); - return o.length === n.length ? !0 : o.length === 0 ? !1 : o.flatMap((r) => e[r]); +function kie(e, t, n) { + const o = n.find((r) => vie(r) !== void 0 && cu(t, [r]) === e); + try { + return Intl.getCanonicalLocales(o ?? e)[0]; + } catch { + return; + } } -const eae = (e) => Qie[e] ?? []; -function tae(e) { - if (!e) return []; - const t = e === !0 ? [] : e.except, n = [], o = (r) => { - if (t.some((i) => Cb(r, i))) return; - const s = eae(r); - if (s.length === 0 || !t.some((i) => Cb(i, r))) { - n.push(r); - return; +const xie = (e, t) => e === void 0 ? "en" : cu(t, [e]), Db = (e) => typeof e == "object" && e !== null; +function Zf(e, t) { + const n = { ...e }; + for (const [o, r] of Object.entries(t)) { + const s = o.split("."); + let a = n; + for (let l = 0; l < s.length - 1; l++) { + const u = a[s[l]]; + a = a[s[l]] = Db(u) ? { ...u } : {}; } - for (const i of s) o(`${r}.${i}`); - }; - for (const r of T_) o(r); + const i = s[s.length - 1], c = a[i]; + a[i] = typeof r == "string" ? r : Zf(Db(c) ? c : {}, r); + } return n; } -function R_(e, t) { - const n = (e ?? []).filter((o) => !o.includes(":")); - return [.../* @__PURE__ */ new Set([...n, ...tae(t)])]; +const md = (e, t) => t ? { + ...e, + translations: Zf(e.translations, t) +} : e, rm = (e) => typeof e == "function", Aie = (e) => Db(e.default) ? e.default : e; +function Sie(e) { + const t = e.filter((o) => !rm(o)).reduce((o, r) => Zf(o ?? {}, r), void 0); + return e.some(rm) ? { + words: t, + load: () => Promise.all(e.map((o) => rm(o) ? o().then(Aie) : Promise.resolve(o))).then((o) => o.reduce(Zf, {})) + } : { + words: t, + load: void 0 + }; +} +const Oie = /* @__PURE__ */ new Set([ + "Adlm", + "Arab", + "Aran", + "Hebr", + "Mand", + "Mend", + "Nkoo", + "Rohg", + "Samr", + "Syrc", + "Thaa", + "Yezi" +]); +function Pie(e) { + try { + const { script: t } = new Intl.Locale(e).maximize(); + return t !== void 0 && Oie.has(t) ? "rtl" : "ltr"; + } catch { + return "ltr"; + } +} +function Mie(e) { + try { + return new Intl.DisplayNames([e], { type: "language" }).of(e) ?? e; + } catch { + return e; + } } -function nae(e, t) { - const n = new Set((e ?? []).filter((o) => o.includes(":"))); +function Eie(e = {}) { + const t = ["en", ...Object.keys(P6)], n = (c) => t.find((l) => l.toLowerCase() === c.toLowerCase()), o = /* @__PURE__ */ new Map(); + for (const [c, l] of Object.entries(e)) { + const u = n(c) ?? c; + o.set(u, [...o.get(u) ?? [], l]); + } + const r = new Map([...o].map(([c, l]) => [c, Sie(l)])), s = r.get("en"), a = [md(O6, s?.words)], i = {}; + if (s?.load) { + const c = s.load; + i.en = () => c().then((l) => md(O6, l)); + } + for (const [c, l] of Object.entries(P6)) { + const u = r.get(c), f = u?.load, d = u?.words; + i[c] = f ? () => Promise.all([l(), f()]).then(([p, g]) => md(p, g)) : d ? () => l().then((p) => md(p, d)) : l; + } + for (const [c, { words: l, load: u }] of r) { + if (n(c) !== void 0) continue; + const f = { + code: c, + name: Mie(c), + direction: Pie(c) + }; + u ? i[c] = () => u().then((d) => ({ + ...f, + translations: d + })) : a.push({ + ...f, + translations: l ?? {} + }); + } return { - disabledCategories: R_(e, t), - disabledCommands: [...n] + locales: a, + loaders: i, + codes: [.../* @__PURE__ */ new Set([...t, ...o.keys()])] }; } -function oae(e, t) { - const n = R_(e, t); +const tN = Yt(void 0); +function Cie({ locale: e, children: t }) { + const n = Gf((s) => s.locale), o = Gf((s) => s.locales), r = He(() => kie(n, o.map((s) => s.code), wie(e)), [ + n, + o, + e + ]); + return /* @__PURE__ */ I(tN.Provider, { + value: r, + children: t + }); +} +function rge() { + return rt(tN); +} +const Iie = { + top: !1, + right: !1, + bottom: !1, + left: !1 +}, bd = 1; +function nN(e, t) { + const n = e.right > 0 && e.left < t.width, o = e.bottom > 0 && e.top < t.height; return { - editable: g6(Zie, n), - fillable: g6(Jie, n) + top: n && e.top <= bd && e.bottom > 0, + right: o && e.right >= t.width - bd && e.left < t.width, + bottom: n && e.bottom >= t.height - bd && e.top < t.height, + left: o && e.left <= bd && e.right > 0 }; } -function m6(e, t) { - return e === !0 ? t : t === !0 ? e : e === !1 || t === !1 ? !1 : e.filter((n) => t.includes(n)); +const _ie = (e, t) => e.top === t.top && e.right === t.right && e.bottom === t.bottom && e.left === t.left, Nie = { + top: "paddingTop", + right: "paddingRight", + bottom: "paddingBottom", + left: "paddingLeft" +}; +function oN(e, t = [ + "top", + "right", + "bottom", + "left" +]) { + const n = {}; + for (const o of t) e[o] && (n[Nie[o]] = `env(safe-area-inset-${o}, 0px)`); + return n; } -const b6 = (e, t) => typeof e == "boolean" || typeof t == "boolean" ? e === t : e.length === t.length && e.every((n, o) => n === t[o]); -function rae() { - const e = st(), t = QZ(Xe(xt, (r) => r.getCurrentPage())), n = Jo("measurement"), o = en({ label: e("measurement.title") }); - return /* @__PURE__ */ C(Te, { children: [/* @__PURE__ */ C("button", { - ...o.trigger, - type: "button", - part: En(n.isOpen), - className: oo(n.isOpen), - "aria-pressed": n.isOpen, - onClick: () => n.toggle(), - children: /* @__PURE__ */ C("span", { - className: "flex items-center whitespace-nowrap text-sm", - children: [/* @__PURE__ */ C(nt, { - name: "updateScale", - size: 20, - className: "me-1.5 shrink-0" - }), /* @__PURE__ */ C("span", { children: [ - e("measurement.scale"), - ":", - " ", - t?.measure?.subtype === "rectilinear" ? t.measure.ratio ?? e("measurement.custom") : e("measurement.unavailable") - ] })] - }) - }), o.element] }); +function rN(e) { + const { clientWidth: t, clientHeight: n } = e.ownerDocument.documentElement; + return { + width: t, + height: n + }; } -function sae() { - const e = st(), { files: t } = SE(); - return /* @__PURE__ */ C("span", { - className: "text-fg-muted whitespace-nowrap text-xs", - children: e("attachments.count", { params: { count: t.length } }) - }); +const sv = { popover: "manual" }, sN = "text-fg m-0 overflow-clip border-0 bg-transparent", Tie = "data-epdf-focus-root", $b = (e) => e.getRootNode().fullscreenElement === e; +function Rie(e) { + for (let t = e; t; ) { + if ($b(t)) return !0; + t = t.parentElement ?? t.getRootNode().host ?? null; + } + return !1; } -const Xw = Xt(null); -function iae({ children: e }) { - const t = tn() ?? "", [n, o] = ke(() => /* @__PURE__ */ new Map()), r = Fo((a) => o((c) => new Map(c).set(t, a)), [t]), s = n.get(t) ?? "", i = He(() => [s, r], [s, r]); - return /* @__PURE__ */ C(Xw.Provider, { - value: i, - children: e +function Lie(e, t) { + e.style.left = `${t.left}px`, e.style.top = `${t.top}px`, e.style.width = `${t.width}px`, e.style.height = `${t.height}px`; + const n = e.getBoundingClientRect(); + (Math.abs(n.left - t.left) > 0.5 || Math.abs(n.top - t.top) > 0.5) && (e.style.left = `${2 * t.left - n.left}px`, e.style.top = `${2 * t.top - n.top}px`); +} +function aN(e, t) { + const n = e.parentElement?.closest("[data-embedpdf-root]") ?? null; + typeof e.showPopover == "function" && e.showPopover(); + let o = ""; + const r = () => { + const f = rN(e), d = n?.getBoundingClientRect() ?? { + left: 0, + top: 0, + right: f.width, + bottom: f.height + }, p = Math.max(0, d.left), g = Math.max(0, d.top), h = { + left: p, + top: g, + width: Math.max(0, Math.min(f.width, d.right) - p), + height: Math.max(0, Math.min(f.height, d.bottom) - g) + }, m = `${h.left},${h.top},${h.width},${h.height},${f.width},${f.height}`; + m !== o && (o = m, Lie(e, h), t?.(nN(d, f))); + }; + r(); + const s = new ResizeObserver(r); + n && s.observe(n); + const a = vp(r), i = e.ownerDocument, c = () => { + if (typeof e.showPopover != "function" || !e.matches(":popover-open")) return; + const f = mo(i); + e.hidePopover(), e.showPopover(), f && f !== mo(i) && f.focus({ preventScroll: !0 }); + }, l = () => { + n && Rie(n) && c(); + }, u = (f) => { + f.newState === "open" && c(); + }; + return i.addEventListener("fullscreenchange", l), n?.addEventListener("toggle", u), () => { + i.removeEventListener("fullscreenchange", l), n?.removeEventListener("toggle", u), a(), s.disconnect(), typeof e.hidePopover == "function" && e.matches(":popover-open") && e.hidePopover(); + }; +} +function ph(e, t) { + const n = e.ownerDocument, o = mo(n), r = (i) => { + i.key !== "Escape" || i.defaultPrevented || (i.preventDefault(), i.stopPropagation(), t.onEscape()); + }; + e.addEventListener("keydown", r); + let s = null; + t.trap === !1 ? dE(e, t.initialFocus) : s = e9(e, { + initialFocus: t.initialFocus, + returnFocus: !1 }); + const a = () => { + s?.(), s = null, e.removeEventListener("keydown", r); + }; + return { + standDown: a, + release: () => { + a(); + const i = mo(n), c = i === null || e.contains(i) || i.hasAttribute("data-epdf-focus-root"); + o?.isConnected && c && o.focus(); + } + }; } -const aae = ["", () => { -}]; -function Wpe() { - return rt(Xw) ?? aae; +const iN = Yt("top"), fu = iN.Provider; +function av() { + return rt(iN); } -function cae({ variant: e }) { - const t = st(), n = rt(Xw); - if (!n) return null; - const [o, r] = n; - return /* @__PURE__ */ C("div", { - className: `relative ${e === "narrow" ? "w-24" : "w-36"}`, - children: [/* @__PURE__ */ C("div", { - className: "text-fg-muted pointer-events-none absolute inset-y-0 start-0 flex items-center ps-2", - children: /* @__PURE__ */ C(nt, { - name: "search", - size: 14 - }) - }), /* @__PURE__ */ C("input", { - type: "search", - value: o, - placeholder: t("outline.filter"), - "aria-label": t("outline.filter"), - onChange: (s) => r(s.target.value), - className: "border-border bg-surface text-fg focus:border-accent focus:ring-accent w-full rounded-md border py-1 pe-2 ps-7 text-sm outline-none focus:ring-1" - })] - }); -} -function lae(e) { - const t = e.listCurrentPages().map((n) => n.index + 1); - return t.length ? { - first: Math.min(...t), - last: Math.max(...t) - } : null; -} -const uae = (e, t) => e?.first === t?.first && e?.last === t?.last; -function dae() { - const e = st(), t = at(xt), n = Sa((P) => P.currentPageIndex + 1), o = Sa((P) => P.pageCount), r = ht(xt, lae, null, uae), s = r !== null && r.last > r.first, i = s ? r.first : n, [a, c] = ke(null), l = me(null), u = me(null), f = me(!1), d = a !== null, p = en({ label: e("pageNumber.goToPage") }), h = p.trigger.ref, g = Fo((P) => { - u.current = P, h(P); - }, [h]); - if (Ne(() => { - d ? (l.current?.focus(), l.current?.select()) : f.current && (f.current = !1, u.current?.focus()); - }, [d]), o <= 1) return null; - const m = () => { - f.current = !0, c(null); - }, M = () => { - const P = Number.parseInt(a ?? "", 10); - Number.isFinite(P) && t?.goToPage(Math.min(Math.max(P, 1), o) - 1), m(); - }, [x, S = ""] = (s ? e("pageNumber.pages", { params: { - first: "", - last: r.last, - total: o - } }) : e("pageNumber.page", { params: { - current: "", - total: o - } })).split(""); - return /* @__PURE__ */ C("span", { - className: "text-fg-secondary flex whitespace-nowrap text-sm", - children: d ? /* @__PURE__ */ C("span", { - className: "block h-8 px-2 leading-8", - children: [ - x, - /* @__PURE__ */ C("input", { - ref: l, - type: "text", - inputMode: "numeric", - "aria-label": e("pageNumber.goToPage"), - value: a, - onChange: (P) => c(P.target.value.replace(/[^0-9]/g, "")), - onKeyDown: (P) => { - P.key === "Enter" ? (P.preventDefault(), M()) : P.key === "Escape" && (P.preventDefault(), m()); - }, - onBlur: () => c(null), - style: { width: `${String(o).length + 1}ch` }, - className: "bg-hover ring-accent text-fg rounded text-center tabular-nums outline-none ring-1" - }), - S - ] - }) : /* @__PURE__ */ C(Te, { children: [/* @__PURE__ */ C("button", { - ...p.trigger, - ref: g, - type: "button", - onClick: () => c(String(i)), - className: "hover:bg-hover hover:text-fg block h-8 cursor-pointer rounded-md px-2 tabular-nums leading-8", - children: [ - x, - i, - S - ] - }), p.element] }) - }); -} -function fae() { - const e = st(), t = mw(), { standard: n, quick: o } = tie(), { locale: r } = MI(), s = eI(), i = tn(), a = ht(cn, (d) => d.getActiveToolId(), null), c = mZ((d) => d.armedAsset?.id ?? null), l = (o ?? []).map(Sie), u = l.some((d) => d.startsWith(`${Fl}:`)); - Se(() => { - u && O_(t).then(() => Eie(t, Pie(r), n)).catch((d) => console.error("[embedpdf] quick stamps failed:", d)); - }, [ - t, - r, - u - ]); - const f = l.map((d) => s.find((p) => p.id === d)).filter((d) => !!d); - return f.length === 0 || !i ? null : /* @__PURE__ */ C("div", { - className: "flex items-center gap-1", - role: "group", - "aria-label": e("demo.quickStampsLabel"), - children: f.map((d) => /* @__PURE__ */ C(pae, { - asset: d, - active: a === "stamp" && c === d.id, - onArm: () => void t.armAsset(d.id).catch((p) => console.error("[embedpdf] arm failed", p)) - }, d.id)) - }); -} -function pae({ asset: e, active: t, onArm: n }) { - const o = yZ(e.id), r = en({ - label: e.label, - labelShown: !o - }); - return /* @__PURE__ */ C(Te, { children: [/* @__PURE__ */ C("button", { - ...r.trigger, - type: "button", - onClick: n, - "aria-label": e.label, - "aria-pressed": t, - part: En(t), - className: oo(t, !0), - children: o ? /* @__PURE__ */ C("img", { - src: o, - alt: "", - className: "h-5 w-5 object-contain", - draggable: !1 - }) : /* @__PURE__ */ C("span", { - className: "text-xs", - children: e.label - }) - }), r.element] }); -} -function hae(e) { - return e.canCreate() ? !0 : e.list().some(({ ref: t }) => e.canUpdate(t) || e.canDelete(t)); -} -function gae(e, t) { - return e.canDesign() ? !0 : e.list().some((n) => n.kind === "signature" ? t?.canSign(n.ref) ?? !1 : e.canFill(n.ref)); +function cN(e, t, n = "start", o = "above") { + return e === "start" || e === "end" ? `${e === "start" == (t === "ltr") ? "right" : "left"}-${n}` : `${e === "bottom" || e === "float-bottom" || e === "selection" && o === "above" ? "top" : "bottom"}-${n === "start" == (t === "ltr") ? "start" : "end"}`; } -function mae() { - const e = at(Qe) !== null, t = at(qo), n = ht(Qe, hae, !1), o = ht(Ao, (i) => gae(i, t), !1), r = ht(Ua, (i) => i.canEdit(), !1), s = ht(pr, (i) => i.canApply(), !1); - return e && !n && !o && !r && !s; +function lN(e) { + return e === "ltr" ? "right-start" : "left-start"; } -function bae({ compact: e = !1 }) { - const t = st(), n = xn(); - Ire((s) => s.disabledCategories); - const o = Xie((s) => n.isCategoryDisabled(s)), r = mae(); - return !o && !r ? null : /* @__PURE__ */ C(lh, { - content: { label: t(o ? "viewOnly.turnedOff" : "viewOnly.notAllowed") }, - children: (s) => /* @__PURE__ */ C("span", { - ...s, - className: "bg-hover text-fg-secondary flex h-7 shrink-0 select-none items-center gap-1.5 whitespace-nowrap rounded-full px-2.5 text-xs font-medium", - children: [/* @__PURE__ */ C(nt, { - name: "eye", - size: 16, - className: "shrink-0" - }), /* @__PURE__ */ C("span", { - className: e ? "sr-only" : void 0, - children: t("viewOnly.label") - })] - }) - }); +function jie(e, t, n = !1, o = "above") { + return (n ? lN(t) : cN(e, t, "start", o)).split("-")[0]; } -const yae = { - orientation: "data-orientation", - edge: "data-edge", - variant: "data-variant", - size: "data-size" -}, wae = (e) => e === "float-top" || e === "float-bottom" ? "float" : e; -function vae(e, t) { - for (const [n, o] of Object.entries(yae)) { - const r = t[n]; - r === null ? e.removeAttribute(o) : e.getAttribute(o) !== r && e.setAttribute(o, r); - } +function uN(e) { + return e === "ltr" ? { + open: "ArrowRight", + close: "ArrowLeft" + } : { + open: "ArrowLeft", + close: "ArrowRight" + }; } -const kae = (e) => e.parentElement ?? e.getRootNode().host ?? null; -function L_() { - const e = /* @__PURE__ */ new WeakMap(), t = /* @__PURE__ */ new Set(); - let n = 0; +const Jf = (e) => { + const t = e.getBoundingClientRect(); return { - set(o, r) { - if (e.get(o) !== r) { - e.set(o, r), n += 1; - for (const s of [...t]) s(); - } + x: t.left, + y: t.top, + width: t.width, + height: t.height + }; +}, dN = (e) => e.closest("[data-placement]")?.getAttribute("data-placement")?.startsWith("bottom") ? "below" : "above"; +function fN(e, t, n, o) { + const r = n0(e, "client"); + if (!r) return; + const { left: s, top: a } = jM(t, n, o, { + size: { + width: e.offsetWidth, + height: e.offsetHeight }, - edgeOf(o) { - for (let r = o; r; r = kae(r)) { - const s = e.get(r); - if (s) return s; + view: r + }); + e.style.left = `${s}px`, e.style.top = `${a}px`; + const i = e.getBoundingClientRect(); + (Math.abs(i.left - s) > 0.5 || Math.abs(i.top - a) > 0.5) && (e.style.left = `${2 * s - i.left}px`, e.style.top = `${2 * a - i.top}px`); +} +let Ua = null, E6 = Number.NEGATIVE_INFINITY; +const C6 = (e) => e.pointerType === "touch"; +function Fie(e, t, n) { + let o = null, r = !1, s = !1, a = !1, i = !1, c, l; + const u = { hide: () => h() }, f = () => { + clearTimeout(c), clearTimeout(l); + }, d = () => e.getAttribute("aria-expanded") === "true", p = () => Ua !== null || Date.now() - E6 < 300, g = (b) => { + if (f(), !(o === b || o === "pointer")) { + if (o === null) { + if (t.canShow && !t.canShow()) return; + Ua !== u && Ua?.hide(), Ua = u, n.addEventListener("keydown", w, !0); } - return "top"; + o = b, t.show(b); + } + }, h = () => { + f(), o !== null && (o = null, Ua === u && (Ua = null), E6 = Date.now(), n.removeEventListener("keydown", w, !0), t.hide()); + }, m = () => { + clearTimeout(l), l = setTimeout(h, 100); + }, O = (b) => { + C6(b) || (r = !0, clearTimeout(l), !(i || d()) && (o !== null || p() ? g("pointer") : c = setTimeout(() => g("pointer"), 500))); + }, E = (b) => { + C6(b) || (r = !1, clearTimeout(c), !a && (i = !1, o !== null && !s && m())); + }, P = () => { + e.matches(":focus-visible") && (a = !0, !i && !d() && g("focus")); + }, k = () => { + a = !1, !(r || s) && (i = !1, h()); + }, A = () => { + i = !0, h(); + }, w = (b) => { + b.key === "Escape" && (i = !0, h()); + }; + return e.addEventListener("pointerenter", O), e.addEventListener("pointerleave", E), e.addEventListener("focus", P), e.addEventListener("blur", k), e.addEventListener("pointerdown", A), { + enterTooltip() { + s = !0, clearTimeout(l); }, - subscribe(o) { - return t.add(o), () => { - t.delete(o); - }; + leaveTooltip() { + s = !1, !r && !a && m(); }, - version: () => n + detach() { + e.removeEventListener("pointerenter", O), e.removeEventListener("pointerleave", E), e.removeEventListener("focus", P), e.removeEventListener("blur", k), e.removeEventListener("pointerdown", A), h(); + } }; } -const j_ = Xt(L_()), xae = j_.Provider; -function F_() { - return rt(j_); -} -const D_ = { - display: "inline-flex", - alignItems: "center", - flexShrink: 0 -}, Aae = { - ...D_, - flexGrow: 1 -}; -function Sae({ id: e, variant: t, orientation: n, grow: o = !1, measure: r, children: s }) { - const i = me(null), a = Hw(), { size: c } = Ir(), l = F_(), u = me(r); - u.current = r; - const f = me(null), d = t !== null; - return Ne(() => { - const p = i.current; - if (!p) return; - const h = n === "vertical" ? "height" : "width", g = () => u.current(o ? TM(p, n) : p.getBoundingClientRect()[h]); - d || g(); - const m = new ResizeObserver(g); - return m.observe(p), f.current = m, () => { - m.disconnect(), f.current = null; - }; - }, [ - n, - d, - o - ]), Ne(() => { - const p = i.current, h = f.current; - !p || !h || (h.unobserve(p), h.observe(p)); - }, [t]), Ne(() => { - const p = i.current; - if (!p) return; - const h = { - orientation: n, - edge: wae(a), - variant: t, - size: c - }, g = () => { - for (const m of p.assignedElements()) - vae(m, h), l.set(m, a); +const Die = 6, $ie = '[inert], [aria-hidden="true"]', Bie = "bg-tooltip text-tooltip-fg m-0 max-w-64 overflow-visible rounded-sm border border-transparent px-2 py-1 text-start text-xs font-normal leading-4 tracking-normal normal-case whitespace-normal shadow-md transition-opacity duration-100 starting:opacity-0 motion-reduce:transition-none", I6 = (e) => e.label !== "" && (!e.labelShown || !!e.shortcut || !!e.reason), zie = (e) => e !== null && (e.scrollWidth > e.clientWidth || e.scrollHeight > e.clientHeight); +function sn(e, t = {}) { + const [n, o] = ke(null), [r, s] = ke(null), a = ye(null), i = av(), c = Go(), l = t.clipped !== void 0 && e !== null && !I6(e), u = e !== null && (I6(e) || l && e.label !== ""), f = ye(t.clipped); + f.current = t.clipped, _e(() => { + if (!n || !u || n.closest($ie)) return; + const g = n.ownerDocument.defaultView ?? n.ownerDocument, h = Fie(n, { + show: s, + hide: () => s(null), + canShow: l ? () => zie(f.current?.(n) ?? null) : void 0 + }, g); + return a.current = h, () => { + a.current = null, h.detach(); }; - return g(), p.addEventListener("slotchange", g), () => p.removeEventListener("slotchange", g); }, [ n, - a, - t, - c, + u, l - ]), /* @__PURE__ */ C("slot", { - ref: i, - name: `item:${e}`, - style: o ? Aae : D_, - children: s - }); -} -const $_ = 4, Pae = { popover: "manual" }, Oae = '[role="menuitem"], [role="menuitemradio"], [role="menuitemcheckbox"]', B_ = '[inert], [aria-hidden="true"]', Ib = Xt(!1), tl = (e) => [...e.querySelectorAll(Oae)].filter((t) => t.closest('[role="menu"]') === e), z_ = (e) => e?.getAttribute("aria-label") || e?.textContent?.trim() || void 0, W_ = (e, t) => [...e.querySelectorAll("[aria-haspopup]")].find((n) => !t.contains(n)) ?? null; -function Mae(e, t) { - const n = Yf(e), o = e.closest('[role="menu"]'), r = o ? Yf(o) : n, s = t.clientTop + parseFloat(getComputedStyle(t).paddingTop || "0"); + ]); + const d = u && e !== null && r !== null && n !== null, p = d && (e.labelShown === !0 || t.clipped !== void 0 || n.getAttribute("aria-label") === e.label); return { - x: r.x, - y: n.y - s, - width: r.width, - height: n.height + trigger: { + ref: o, + "aria-describedby": d && (!p || e.shortcut || e.reason) ? c : void 0 + }, + element: d ? /* @__PURE__ */ I(Wie, { + id: c, + button: n, + content: e, + named: p, + interactive: r === "pointer", + placement: () => jie(i, Sp(n), t.inMenu === !0, i === "selection" ? dN(n) : void 0), + timing: a + }) : null }; } -function Eae(e, t, n, o) { - const r = Uy(e, "client"); - r && (e.style.maxHeight = `${Math.max(0, r.height - 2 * $_)}px`, S_(e, t, n, o)); -} -function Cae(e, t, n) { - const { nested: o, close: r } = n, s = W_(t, e), i = vp(t), a = n.placement(i), c = z_(s); - c && e.setAttribute("aria-label", c), typeof e.showPopover == "function" && e.showPopover(); - const l = () => Eae(e, o ? Mae(t, e) : Yf(t), a, o ? 0 : $_); - l(); - const u = new ResizeObserver(l); - u.observe(e), u.observe(t); - const f = mp(l), d = Xy(e, (m) => { - (!s || !m.composedPath().includes(s)) && r(); - }), p = r0(e, { - trigger: s, - close: r, - items: () => tl(e) - }), h = x_(i), g = (m) => { - const M = m.target, x = !m.defaultPrevented, S = M.getAttribute("aria-haspopup") === "menu"; - if (x && m.key === h.open && S && tl(e).includes(M)) - if (m.preventDefault(), M.getAttribute("aria-expanded") !== "true") M.click(); - else { - const P = M.parentElement?.querySelector('[role="menu"]'); - P && tl(P)[0]?.focus(); - } - else x && m.key === h.close && o && (m.preventDefault(), r(), s?.focus()); - o && m.key !== "Tab" && m.stopPropagation(); - }; - return e.addEventListener("keydown", g), () => { - e.removeEventListener("keydown", g), p(), d(), f(), u.disconnect(), typeof e.hidePopover == "function" && e.matches(":popover-open") && e.hidePopover(); - }; +function hh({ content: e, options: t, children: n }) { + const o = sn(e, t); + return /* @__PURE__ */ I(Re, { children: [n(o.trigger), o.element] }); } -function uu(e) { - const t = me(null), [n, o] = ke(!1), r = Ir().size === "compact"; - return Ne(() => { - const s = t.current?.parentElement; - s && !s.closest(B_) && o(!0); - }, []), n ? r ? /* @__PURE__ */ C(Nae, { ...e }) : /* @__PURE__ */ C(Iae, { ...e }) : /* @__PURE__ */ C("span", { - ref: t, - hidden: !0 - }); +function pN({ label: e, reason: t, inMenu: n, ...o }) { + const r = sn({ + label: e, + reason: t + }, { inMenu: n }); + return /* @__PURE__ */ I(Re, { children: [/* @__PURE__ */ I("button", { + type: "button", + "aria-label": e, + ...o, + ...r.trigger + }), r.element] }); } -function Iae({ children: e, onClose: t, align: n = "start" }) { - const o = me(null), r = Hw(), s = rt(Ib), i = me(t); - return i.current = t, Ne(() => { - const a = o.current, c = a?.parentElement; - if (!(!a || !c)) - return Cae(a, c, { - placement: (l) => s ? k_(l) : v_(r, l, n, r === "selection" ? A_(c) : void 0), - nested: s, - close: () => i.current() - }); - }, []), /* @__PURE__ */ C("div", { - ref: o, - ...Pae, - role: "menu", - part: "menu", - className: "border-border-subtle bg-elevated text-fg z-50 overflow-y-auto rounded-lg border shadow-xl", +function Wie({ id: e, button: t, content: n, named: o, interactive: r, placement: s, timing: a }) { + const i = ye(null), c = ye(s); + return c.current = s, _e(() => { + const l = i.current; + if (!l) return; + typeof l.showPopover == "function" && l.showPopover(); + const u = () => fN(l, Jf(t), c.current(), Die); + u(); + const f = new ResizeObserver(u); + f.observe(l), f.observe(t); + const d = vp(u); + return () => { + d(), f.disconnect(), typeof l.hidePopover == "function" && l.matches(":popover-open") && l.hidePopover(); + }; + }, [t]), /* @__PURE__ */ I("div", { + ref: i, + ...sv, + id: e, + role: "tooltip", + part: "tooltip", + className: `${Bie} ${r ? "pointer-events-auto" : "pointer-events-none"}`, style: { position: "fixed", right: "auto", bottom: "auto", - margin: 0 - }, - children: /* @__PURE__ */ C(Ib.Provider, { - value: !0, - children: e - }) - }); -} -const U_ = Xt(null); -function _ae(e) { - const t = e.closest("[data-epdf-layer]"), n = t?.parentElement; - return t && n ? W_(n, t) : null; -} -function Nae({ children: e, onClose: t }) { - const [n, o] = ke([]), r = me(n); - r.current = n; - const s = me(null), i = me(t); - i.current = t; - const a = (l) => o([...r.current, l]), c = () => { - const l = r.current; - l.length !== 0 && (s.current = l[l.length - 1].opener, o(l.slice(0, -1))); - }; - return Ne(() => { - s.current?.focus(), s.current = null; - }, [n]), /* @__PURE__ */ C(I_, { - label: "", - onClose: t, - trapFocus: !1, - children: /* @__PURE__ */ C(U_.Provider, { - value: a, - children: /* @__PURE__ */ C("div", { - className: "grid", - children: [/* @__PURE__ */ C(y6, { - covered: n.length > 0, - close: () => i.current(), - children: e - }), n.map((l, u) => /* @__PURE__ */ C(y6, { - covered: u < n.length - 1, - close: c, - opener: l.opener, - label: l.label, - onBack: c, - children: /* @__PURE__ */ C(Jw, { - menuId: l.menuId, - onRun: l.onRun - }) - }, u))] - }) - }) - }); -} -function y6({ covered: e, close: t, opener: n, label: o, onBack: r, children: s }) { - const i = st(), a = me(null), c = me({ - close: t, - onBack: r - }); - return c.current = { - close: t, - onBack: r - }, Ne(() => { - const l = a.current; - if (!l) return; - const u = n ?? _ae(l), f = o ?? z_(u); - f && l.setAttribute("aria-label", f); - const d = r0(l, { - trigger: u, - close: () => c.current.close(), - items: () => tl(l), - initialFocus: "none" - }); - queueMicrotask(() => { - l.isConnected && !l.inert && tl(l).find((g) => !ea(g))?.focus(); - }); - const p = x_(vp(l)), h = (g) => { - if (g.defaultPrevented) return; - const m = g.target; - g.key === p.open && m.getAttribute("aria-haspopup") === "menu" ? (g.preventDefault(), m.click()) : g.key === p.close && c.current.onBack && (g.preventDefault(), c.current.onBack()); - }; - return l.addEventListener("keydown", h), () => { - l.removeEventListener("keydown", h), d(); - }; - }, []), Ne(() => { - a.current && (a.current.inert = e); - }, [e]), /* @__PURE__ */ C("div", { - ref: a, - role: "menu", - part: "menu", - className: `bg-elevated isolate col-start-1 row-start-1 min-w-0 ${r ? "starting:translate-x-full rtl:starting:-translate-x-full transition-[translate] duration-200 ease-out motion-reduce:transition-none" : ""}`, - children: [r && /* @__PURE__ */ C("div", { - className: "p-1 pb-0", - children: [/* @__PURE__ */ C("button", { - type: "button", - tabIndex: -1, - role: "menuitem", - part: "menu-item", - "data-epdf-menu-back": "", - onClick: r, - className: Zw, - children: [/* @__PURE__ */ C(nt, { - name: "chevronLeft", - size: 16, - className: "text-fg-muted rtl:-scale-x-100" - }), /* @__PURE__ */ C("span", { - className: "flex-1 truncate", - children: i("menu.back") - })] - }), o && /* @__PURE__ */ C("div", { - className: "text-fg px-2.5 pb-1 pt-2 text-sm font-semibold", - children: o - })] - }), /* @__PURE__ */ C(Ib.Provider, { - value: !0, - children: s - })] - }); -} -const w6 = /* @__PURE__ */ new WeakMap(); -function Xg(e) { - let t = w6.get(e); - return t || (t = /* @__PURE__ */ new Map(), w6.set(e, t)), t; -} -function uh({ menuId: e, className: t = "relative inline-flex", children: n }) { - const o = at(We), r = ose((l) => l.openMenus.includes(e)), s = me(null), [, i] = cs((l) => l + 1, 0), a = o ? Xg(o).get(e) : void 0, c = r && a !== void 0 && a === s.current; - return Ne(() => { - const l = s.current; - if (!o || !l) return; - const u = Xg(o), f = u.get(e); - if (!r) { - f === l && u.delete(e); - return; - } - !f?.isConnected && !l.closest(B_) && (u.set(e, l), i()); - }), /* @__PURE__ */ C("span", { - ref: s, - className: t, - onClickCapture: (l) => { - const u = l.target, f = u.closest("[aria-haspopup]") && !u.closest('[role="menu"]'); - o && s.current && f && Xg(o).set(e, s.current); - }, - children: [n(c), c && /* @__PURE__ */ C(uu, { - onClose: () => o?.closeMenu(e), - children: /* @__PURE__ */ C(Jw, { - menuId: e, - onRun: () => o?.closeMenu(e) - }) - })] - }); -} -const K_ = (e) => { - const t = e.filter((o) => !o.menu), n = t.filter((o) => o.active).length; - return n === 0 ? "none" : n === 1 && t.length > 1 ? "radio" : "checkbox"; -}, Tae = { - none: "menuitem", - radio: "menuitemradio", - checkbox: "menuitemcheckbox" -}, q_ = "flex w-full items-center gap-3 rounded-md px-2.5 py-1.5 text-start text-sm outline-none transition-colors aria-disabled:cursor-not-allowed aria-disabled:opacity-40", Zw = `${q_} text-fg-secondary hover:bg-hover focus-visible:bg-hover aria-disabled:hover:bg-transparent`, Rae = `${q_} bg-selected text-accent focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-accent forced-colors:outline-2 forced-colors:outline-solid forced-colors:-outline-offset-2`, H_ = (e) => en(e.enabled ? null : { - label: e.label, - reason: e.disabledReason, - labelShown: !0 -}, { inMenu: !0 }); -function du({ command: e, choice: t, onSelect: n }) { - const o = t !== "none" && e.active, [r] = e.shortcuts, s = H_(e); - return /* @__PURE__ */ C(Te, { children: [/* @__PURE__ */ C("button", { - ...s.trigger, - type: "button", - tabIndex: -1, - role: Tae[t], - "aria-checked": t === "none" ? void 0 : e.active, - "aria-disabled": e.enabled ? void 0 : !0, - part: o ? "menu-item menu-item-active" : "menu-item", - onClick: () => { - e.enabled && n(); + fontFamily: "var(--epdf-font)" }, - className: o ? Rae : Zw, - children: [ - e.icon && /* @__PURE__ */ C(nt, { - name: e.icon, - size: 16, - accent: e.iconAccent, - className: `${o ? "text-accent" : "text-fg-muted"} ${Ra(e.icon)}` - }), - /* @__PURE__ */ C("span", { - className: "flex-1 truncate", - children: e.label - }), - r && /* @__PURE__ */ C("span", { - className: "text-fg-muted ms-4 text-xs [font-variant-emoji:text]", - children: VI(r) - }) - ] - }), s.element] }); -} -function V_({ command: e, menuId: t, onRun: n }) { - const [o, r] = ke(!1), s = rt(U_), i = H_(e); - return /* @__PURE__ */ C("div", { - role: "none", - className: "relative", + onPointerEnter: () => a.current?.enterTooltip(), + onPointerLeave: () => a.current?.leaveTooltip(), children: [ - /* @__PURE__ */ C("button", { - ...i.trigger, - type: "button", - tabIndex: -1, - role: "menuitem", - "aria-haspopup": "menu", - "aria-expanded": o, - "aria-disabled": e.enabled ? void 0 : !0, - part: "menu-item", - onClick: (a) => { - e.enabled && (s ? s({ - menuId: t, - label: e.label, - opener: a.currentTarget, - onRun: n - }) : r((c) => !c)); - }, - className: `${Zw} ${o ? "bg-hover" : ""}`, + /* @__PURE__ */ I("span", { + className: "flex items-baseline gap-2", children: [ - e.icon && /* @__PURE__ */ C(nt, { - name: e.icon, - size: 16, - accent: e.iconAccent, - className: `text-fg-muted ${Ra(e.icon)}` - }), - /* @__PURE__ */ C("span", { - className: "flex-1 truncate", - children: e.label + /* @__PURE__ */ I("span", { + "aria-hidden": o || void 0, + children: n.label }), - /* @__PURE__ */ C(nt, { - name: "chevronRight", - size: 16, - className: "text-fg-muted rtl:-scale-x-100" + " ", + n.shortcut && /* @__PURE__ */ I("kbd", { + className: "opacity-75 [font-variant-emoji:text]", + style: { fontFamily: "inherit" }, + children: n.shortcut }) ] }), - i.element, - o && /* @__PURE__ */ C(uu, { - onClose: () => r(!1), - children: /* @__PURE__ */ C(Jw, { - menuId: t, - onRun: n - }) + " ", + n.reason && /* @__PURE__ */ I("span", { + className: "mt-0.5 block opacity-80", + children: n.reason }) ] }); } -function Lae({ commandId: e, choice: t, onRun: n }) { - const o = Dn(e); - return o.visible ? o.menu ? /* @__PURE__ */ C(V_, { - command: o, - menuId: o.menu, - onRun: n - }) : /* @__PURE__ */ C(du, { - command: o, - choice: t, - onSelect: () => { - o.run(), n?.(); - } - }) : null; +const Uie = ["en", "de", "nl", "fr", "es", "zh-CN", "sv", "ja"], _6 = { + en: () => import("./en-DPJGdzVs.js"), + de: () => import("./de-B9ZThsfX.js"), + nl: () => import("./nl-PZU5WCRB.js"), + fr: () => import("./fr-B86BTPyb.js"), + es: () => import("./es-B_c68qs8.js"), + "zh-CN": () => import("./zh-CN-BZE2Bfuy.js"), + sv: () => import("./sv-NDp3ILj-.js"), + ja: () => import("./ja-BDuZnGZd.js") +}; +async function Kie(e) { + const t = _6[e] ?? _6.en, { default: n } = await t(); + return qie(n); } -function G_({ title: e, first: t, children: n }) { - const o = Go(); - return /* @__PURE__ */ C(Te, { children: [!t && /* @__PURE__ */ C("div", { - role: "separator", - className: "bg-border-subtle my-1 h-px" - }), /* @__PURE__ */ C("div", { - role: "group", - "aria-labelledby": e ? o : void 0, - children: [e && /* @__PURE__ */ C("div", { - id: o, - className: "text-fg-muted px-2.5 pb-1 pt-1.5 text-[11px] font-semibold uppercase tracking-wide", - children: e - }), n] - })] }); +function qie(e) { + const t = atob(e), n = new Uint8Array(t.length); + for (let o = 0; o < t.length; o++) n[o] = t.charCodeAt(o); + return n; } -const jae = (e, t) => e.length === t.length && e.every((n, o) => n === t[o]); -function Jw({ menuId: e, onRun: t }) { - const n = st(), o = eie(e), r = xn(), s = tn() ?? void 0, i = wt(() => (o ?? []).map((c) => { - const l = c.items.map((u) => r.resolveCommand(u, s)).filter((u) => u?.visible === !0); - return l.length === 0 ? null : K_(l); - }), jae); - if (!o) return null; - const a = o.flatMap((c, l) => { - const u = i[l]; - return u ? [{ - section: c, - choice: u - }] : []; - }); - return a.length === 0 ? null : /* @__PURE__ */ C("div", { - className: "min-w-52 p-1", - children: a.map(({ section: c, choice: l }, u) => /* @__PURE__ */ C(G_, { - first: u === 0, - title: c.title ?? (c.titleKey ? n(c.titleKey) : void 0), - children: c.items.map((f) => /* @__PURE__ */ C(Lae, { - commandId: f, - choice: l, - onRun: t - }, f)) - }, u)) - }); +const Dl = "embedpdf-standard", Hie = "standard"; +function Vie(e) { + const t = `${Hie}:`; + return e.startsWith(t) ? `${Dl}:${e.slice(t.length)}` : e; } -function dh({ view: e, align: t }) { - const n = st(); - if (!e.isOpen) return null; - const o = e.sections.map((r) => { - const s = r.rows.flatMap((i) => { - const a = e.resolve(i.command); - return a ? [{ - row: i, - command: a - }] : []; - }); - return { - section: r, - rows: s, - choice: r.role === "radio" ? "radio" : K_(s.map(({ command: i }) => i)) - }; - }); - return /* @__PURE__ */ C(uu, { - onClose: e.close, - align: t, - children: /* @__PURE__ */ C("div", { - className: "min-w-56 p-1", - children: o.map(({ section: r, rows: s, choice: i }, a) => /* @__PURE__ */ C(G_, { - first: a === 0, - title: r.labelKey ? n(r.labelKey) : void 0, - children: s.map(({ row: c, command: l }) => c.kind === "submenu" ? /* @__PURE__ */ C(V_, { - command: l, - menuId: c.menu, - onRun: e.close - }, c.command) : /* @__PURE__ */ C(du, { - command: l, - choice: i, - onSelect: () => { - e.execute(c.command), e.close(); - } - }, c.command)) - }, a)) - }) - }); +function Gie(e) { + return cu(Uie, [e, ...typeof navigator < "u" ? navigator.languages ?? [] : []]) ?? "en"; } -const v6 = "flex h-8 w-auto min-w-8 cursor-pointer items-center justify-center rounded-md p-[5px] transition-colors", Fae = "hover:bg-hover hover:ring hover:ring-accent", Dae = "border-none bg-selected text-accent shadow ring ring-accent", $ae = "cursor-not-allowed opacity-50 hover:bg-transparent hover:ring-0", Bae = "bg-accent text-on-accent hover:bg-accent-hover", zae = "border-none bg-accent-active text-on-accent shadow", Wae = "cursor-not-allowed opacity-50 hover:bg-accent"; -function oo(e, t = !0, n) { - return n === "primary" ? `${v6} ${e ? zae : Bae} ${t ? "" : Wae}` : `${v6} ${e ? Dae : Fae} ${t ? "" : $ae}`; +const Yie = async (e) => { + const t = await fetch(e); + if (!t.ok) throw new Error(`${e}: HTTP ${t.status}`); + return new Uint8Array(await t.arrayBuffer()); +}, Qie = (e, t) => t ? Yie(t.replace("{locale}", e)) : Kie(e), N6 = /* @__PURE__ */ new WeakMap(); +function Xie(e, t, n) { + if (n === !1) return Promise.resolve(); + const o = typeof n == "string" ? n : void 0, r = N6.get(e); + if (r?.locale === t) return r.promise; + const a = (async () => { + await r?.promise.catch(() => { + }); + const i = e.getLibrary(Dl); + i?.locale !== t && (r && !i || (i && await e.deleteLibrary(Dl), await e.importLibrary(await Qie(t, o)))); + })(); + return N6.set(e, { + locale: t, + promise: a + }), a; } -const En = (e, t) => [ - "toolbar-button", - t === "primary" ? "toolbar-button-primary" : null, - e ? "toolbar-button-active" : null -].filter(Boolean).join(" "), fh = (e) => `toolbar toolbar-${e}`, Y_ = (e) => e ? "mode-tab mode-tab-active" : "mode-tab", Uae = "flex h-8 w-auto min-w-8 cursor-pointer items-center justify-center rounded-none border-b-2 px-2 py-1 text-sm transition-colors hover:bg-transparent hover:border-b-fg-muted", Kae = "border-b-accent text-accent hover:border-b-accent", qae = "border-b-transparent", Q_ = (e, t = !0) => `${Uae} ${e ? Kae : qae} ${t ? "" : "cursor-not-allowed opacity-50"}`; -function ha(e, t = !1) { - const [n] = e.shortcuts; - return { - label: e.label, - shortcut: n === void 0 ? null : VI(n), - reason: e.enabled ? null : e.disabledReason ?? null, - labelShown: t - }; +const ep = typeof indexedDB > "u" ? null : k$("embedpdf-stamps", { storeName: "libraries" }), T6 = /* @__PURE__ */ new WeakMap(), hN = (e) => { + let t = T6.get(e); + return t || (t = ep ? IJ(e, ep) : Promise.resolve(), T6.set(e, t)), t; +}; +function Zie() { + const e = _w(); + return Se(() => (hN(e), ep ? _J(e, ep, { except: [Dl] }) : void 0), [e]), null; } -function ph({ cmd: e, variant: t, run: n, emphasis: o }) { - const r = t === "label", s = en(ha(e, r || t === "icon+label" || !e.icon)), i = (a) => /* @__PURE__ */ C(Te, { children: [/* @__PURE__ */ C("button", { - ...s.trigger, - type: "button", - onClick: n, - disabled: !e.enabled, - "aria-pressed": e.pressable ? a : void 0, - "aria-haspopup": e.menu ? "menu" : void 0, - "aria-expanded": e.menu ? a : void 0, - "aria-label": e.label, - part: r ? Y_(a) : En(a, o), - className: r ? Q_(a, e.enabled) : `${oo(a, e.enabled, o)} ${o === "primary" && t === "icon+label" ? "px-2.5" : ""}`, - children: r ? /* @__PURE__ */ C("span", { - className: "whitespace-nowrap px-1", - children: e.label - }) : t === "icon+label" ? /* @__PURE__ */ C("span", { - className: "flex items-center whitespace-nowrap text-sm", - children: [e.icon && /* @__PURE__ */ C(nt, { - name: e.icon, - size: 20, - accent: e.iconAccent, - className: `me-1.5 shrink-0 ${Ra(e.icon)}` - }), /* @__PURE__ */ C("span", { children: e.label })] - }) : e.icon ? /* @__PURE__ */ C(nt, { - name: e.icon, - size: 20, - accent: e.iconAccent, - className: Ra(e.icon) - }) : /* @__PURE__ */ C("span", { - className: "text-sm", - children: e.label - }) - }), s.element] }); - return e.menu ? /* @__PURE__ */ C(uh, { - menuId: e.menu, - children: i - }) : i(e.active); -} -const Zg = { - [o0]: "", - className: "contents" -}; -function Hae() { - const e = st(), t = xn(), n = Dn("zoom:in"), o = Dn("zoom:out"), r = Dn("menu:zoom"), s = en(ha(n)), i = en(ha(o)), a = en(ha(r)), c = at(We), l = at(xt), u = ht(xt, (g) => g.getZoomLevel(), 1), f = Math.round((u ?? 1) * 100), [d, p] = ke(String(f)); - Se(() => p(String(f)), [f]); - const h = (g) => { - g.preventDefault(); - const m = parseFloat(d); - !isNaN(m) && m > 0 && l?.zoomTo({ level: m / 100 }); - }; - return /* @__PURE__ */ C(uh, { - menuId: "zoom", - className: "relative block", - children: (g) => /* @__PURE__ */ C("div", { - className: "bg-hover flex items-center rounded", - children: [ - /* @__PURE__ */ C("form", { - onSubmit: h, - className: "flex min-w-0 flex-nowrap items-center overflow-hidden whitespace-nowrap", - children: [/* @__PURE__ */ C("input", { - name: "zoom", - type: "text", - inputMode: "numeric", - pattern: "\\d*", - "aria-label": e("commands.zoom.level"), - className: "h-6 w-8 min-w-0 shrink border-0 bg-transparent p-0 text-end text-sm outline-none focus:outline-none", - value: d, - onChange: (m) => p(m.target.value.replace(/[^0-9]/g, "")), - onBlur: () => { - (!d || parseFloat(d) <= 0) && p(String(f)); - } - }), /* @__PURE__ */ C("span", { - className: "shrink-0 text-sm", - children: "%" - })] - }), - /* @__PURE__ */ C("span", { - ...Zg, - children: [/* @__PURE__ */ C("button", { - ...a.trigger, - type: "button", - "aria-haspopup": "menu", - "aria-expanded": g, - "aria-label": r.label, - part: En(!1), - className: oo(!1), - onClick: () => c?.toggleMenu("zoom"), - children: /* @__PURE__ */ C(nt, { - name: "chevronDown", - size: 20 - }) - }), a.element] - }), - /* @__PURE__ */ C("span", { - ...Zg, - children: [/* @__PURE__ */ C("button", { - ...i.trigger, - type: "button", - "aria-label": o.label, - disabled: !o.enabled, - part: En(!1), - className: oo(!1, o.enabled), - onClick: () => t.execute("zoom:out"), - children: /* @__PURE__ */ C(nt, { - name: "zoomOut", - size: 20 - }) - }), i.element] - }), - /* @__PURE__ */ C("span", { - ...Zg, - children: [/* @__PURE__ */ C("button", { - ...s.trigger, - type: "button", - "aria-label": n.label, - disabled: !n.enabled, - part: En(!1), - className: oo(!1, n.enabled), - onClick: () => t.execute("zoom:in"), - children: /* @__PURE__ */ C(nt, { - name: "zoomIn", - size: 20 - }) - }), s.element] - }) - ] - }) - }); -} -function Vae() { - const e = at(We), t = Dn("menu:zoom"), n = en(ha(t)); - return /* @__PURE__ */ C(uh, { - menuId: "zoom", - children: (o) => /* @__PURE__ */ C(Te, { children: [/* @__PURE__ */ C("button", { - ...n.trigger, - type: "button", - "aria-label": t.label, - "aria-haspopup": "menu", - "aria-expanded": o, - part: En(o), - className: oo(o), - onClick: () => e?.toggleMenu("zoom"), - children: /* @__PURE__ */ C(nt, { - name: "zoomIn", - size: 20 - }) - }), n.element] }) - }); -} -function Gae({ view: e }) { - const [t, n] = ke(!1), o = e.commands.some((r) => r.active); - return /* @__PURE__ */ C("span", { - className: "relative inline-flex", - children: [/* @__PURE__ */ C("button", { - type: "button", - onClick: () => n((r) => !r), - "aria-haspopup": "menu", - "aria-expanded": t, - part: e.id === "modes" ? Y_(o) : En(t), - className: Q_(o), - children: /* @__PURE__ */ C(nt, { - name: "chevronDown", - size: 18 - }) - }), /* @__PURE__ */ C(dh, { view: au(e, t, () => n(!1)) })] - }); -} -function Yae({ view: e }) { - const [t, n] = ke(!1), o = e.commands.find((s) => s.active) ?? e.commands[0], r = !!(o?.active && o.id !== Ll); - return /* @__PURE__ */ C("div", { - style: { width: 100 }, - className: "relative", - children: [/* @__PURE__ */ C("button", { - type: "button", - onClick: () => n((s) => !s), - "aria-haspopup": "menu", - "aria-expanded": t, - part: En(t), - className: "bg-surface hover:bg-hover flex w-full cursor-pointer appearance-none items-center rounded-md py-1.5 pe-2 ps-3 text-[13px] transition-colors", - children: [/* @__PURE__ */ C("span", { - className: `min-w-0 flex-1 truncate text-start ${r ? "text-accent" : "text-fg"}`, - children: o?.label - }), /* @__PURE__ */ C(nt, { - name: "chevronDown", - size: 16, - className: r ? "text-accent" : "text-fg-secondary" - })] - }), /* @__PURE__ */ C(dh, { view: au(e, t, () => n(!1)) })] - }); -} -function Qae({ view: e }) { - const t = st(), [n, o] = ke(!1), r = e.commands.find((a) => a.active) ?? e.commands[0], s = e.labelKey ? t(e.labelKey) : r?.label, i = en(s ? { - label: s, - labelShown: !r?.icon - } : null); - return /* @__PURE__ */ C("span", { - className: "relative inline-flex", - children: [ - /* @__PURE__ */ C("button", { - ...i.trigger, - type: "button", - onClick: () => o((a) => !a), - "aria-haspopup": "menu", - "aria-expanded": n, - "aria-label": s, - part: En(n), - className: oo(n), - children: [r?.icon ? /* @__PURE__ */ C(nt, { - name: r.icon, - size: 20, - accent: r.iconAccent, - className: Ra(r.icon) - }) : /* @__PURE__ */ C("span", { - className: "whitespace-nowrap px-1 text-sm", - children: s - }), /* @__PURE__ */ C(nt, { - name: "chevronDown", - size: 14, - className: "text-fg-secondary" - })] - }), - i.element, - /* @__PURE__ */ C(dh, { view: au(e, n, () => o(!1)) }) - ] - }); -} -function Xae({ view: e }) { - return /* @__PURE__ */ C(dh, { - view: e, - align: "end" - }); -} -function Zae({ isOpen: e, toggle: t }) { - const n = st()("demo.more"), o = en({ label: n }); - return /* @__PURE__ */ C(Te, { children: [/* @__PURE__ */ C("button", { - ...o.trigger, - type: "button", - onClick: t, - "aria-haspopup": "menu", - "aria-expanded": e, - "aria-label": n, - part: En(e), - className: oo(e), - children: /* @__PURE__ */ C(nt, { - name: "dots", - size: 20 - }) - }), o.element] }); -} -const X_ = (e) => [ - ...e.sections.start ?? [], - ...e.sections.center ?? [], - ...e.sections.end ?? [] -].flatMap((t) => t.items); -function Jae(e) { - return X_(e).filter((t) => typeof t == "object" && "slot" in t); -} -function Z_(e) { - return new Set(X_(e).flatMap((t) => typeof t == "object" && "command" in t && t.emphasis === "primary" ? [t.command] : [])); -} -function ece({ commandId: e }) { - const t = Dn(e); - return t.visible ? /* @__PURE__ */ C(ph, { - cmd: t, - variant: "icon", - run: () => void t.run() - }) : null; -} -function ev({ bar: e, orientation: t = "horizontal", gap: n = 8, className: o }) { - const r = t === "vertical", s = He(() => Z_(e), [e]), i = { - "measurement-scale": () => /* @__PURE__ */ C(rae, {}), - zoom: (a) => a === "button" || r ? /* @__PURE__ */ C(Vae, {}) : /* @__PURE__ */ C(Hae, {}), - "quick-stamps": () => /* @__PURE__ */ C(fae, {}), - "page-number": () => /* @__PURE__ */ C(dae, {}), - "view-only": (a) => /* @__PURE__ */ C(bae, { compact: a === "icon" || r }), - "outline-filter": (a) => /* @__PURE__ */ C(cae, { variant: a }), - "attachments-count": () => /* @__PURE__ */ C(sae, {}) - }; - return /* @__PURE__ */ C(Yie, { - bar: e, - orientation: t, - gap: n, - separatorWidth: 1, - className: o, - renderCommand: (a, c, l) => /* @__PURE__ */ C(ph, { - cmd: a, - variant: c, - run: l, - emphasis: s.has(a.id) ? "primary" : void 0 - }), - renderCustom: { - ...Object.fromEntries(Jae(e).filter((a) => !Object.prototype.hasOwnProperty.call(i, a.slot)).map((a) => [a.slot, (c, l) => l.layer === "measure" ? null : /* @__PURE__ */ C(Sae, { - id: a.slot, - variant: a.variants ? c : null, - orientation: t, - grow: a.grow === !0, - measure: l.measure, - children: a.terminal ? /* @__PURE__ */ C(ece, { commandId: a.terminal }) : null - })])), - ...i - }, - renderCollapsed: (a) => a.id === "modes" ? /* @__PURE__ */ C(Yae, { view: a }) : a.collapse === "menu" ? /* @__PURE__ */ C(Qae, { view: a }) : void 0, - renderGroupTrigger: (a) => /* @__PURE__ */ C(Gae, { view: a }), - renderSeparator: () => /* @__PURE__ */ C("span", { className: `bg-border self-center ${r ? "h-px w-6" : "h-6 w-px"}` }), - renderOverflowTrigger: (a, c) => /* @__PURE__ */ C(Zae, { - isOpen: a, - toggle: c - }), - renderOverflowMenu: (a) => /* @__PURE__ */ C(Xae, { view: a }) - }); -} -const tce = [ - "accent", - "background", - "surface", - "surface-raised", - "text", - "text-muted", - "border", - "hover", - "canvas", - "page-background", - "page-shadow", - "tooltip", - "tooltip-text", - "radius", - "font" -], J_ = (e) => typeof e == "string" ? { preference: e } : e ?? {}, nce = (e) => tce.includes(e); -function oce(e) { - return Object.entries(e).filter(([t, n]) => n === void 0 ? !1 : nce(t) ? typeof n != "string" || /[{};]/.test(n) ? (console.warn(`[embedpdf] theme: ignoring the invalid value of "${t}"`), !1) : !0 : (console.warn(`[embedpdf] theme: "${t}" isn't a token, ignored`), !1)).map(([t, n]) => `--epdf-${t}:var(--embedpdf-host-${t},${n});`).join(""); -} -function Jg(e, t) { - const n = t ? oce(t) : ""; - return n ? `${e}{${n}}` : ""; -} -function rce(e, t) { - const { accent: n, tokens: o, light: r, dark: s } = J_(e); - return Jg(t, { - ...n === void 0 ? null : { accent: n }, - ...o - }) + Jg(`${t}:not(.dark)`, r) + Jg(`${t}.dark`, s); +const Jie = 0.5; +function ece(e, t, n) { + if (e.length === 0) return null; + if (n >= 500) { + const o = e.filter((r) => r < t - 1); + return o.length > 0 ? o[o.length - 1] : null; + } + return n <= -500 ? e.find((o) => o > t + 1) ?? e[e.length - 1] : t < e[0] / 2 ? null : e.reduce((o, r) => Math.abs(r - t) < Math.abs(o - t) ? r : o); } -const eN = Xt(null), tN = "(prefers-color-scheme: dark)", sce = () => typeof window < "u" && window.matchMedia?.(tN).matches ? "dark" : "light"; -function ice({ children: e, preference: t = "system", target: n }) { - const [o, r] = ke(sce); - Se(() => { - if (t !== "system" || typeof window > "u" || !window.matchMedia) return; - const a = window.matchMedia(tN), c = () => r(a.matches ? "dark" : "light"); - return c(), a.addEventListener("change", c), () => a.removeEventListener("change", c); - }, [t]); - const s = t === "system" ? o : t; - Ne(() => { - (n ?? document.documentElement).classList.toggle("dark", s === "dark"); - }, [s, n]); - const i = He(() => ({ mode: s }), [s]); - return /* @__PURE__ */ C(eN.Provider, { - value: i, - children: e - }); +function R6(e) { + const t = Math.max(0, Math.round(e - 40)), n = Math.min(t, Math.round(e * Jie)); + return n < t ? [n, t] : [t]; } -function Upe() { - const e = rt(eN); - if (!e) throw new Error("useTheme must be used within "); - return e; +const tce = 'button, a[href], input, select, textarea, [role="tab"], [contenteditable]:not([contenteditable="false"])', iv = "bg-black/30 transition-opacity duration-200 starting:opacity-0", gN = () => { +}, mN = Yt(gN), bN = mN.Provider; +function nce() { + return rt(mN); } -function tv({ labelledBy: e, onClose: t, className: n, children: o }) { - const r = me(null), s = me(null), i = me(t); - return i.current = t, Ne(() => { - const a = r.current, c = s.current; - if (!a || !c) return; - const l = y_(a), u = ch(c, { onEscape: () => i.current() }); +const oce = (e, t) => e.composedPath().some((n) => n instanceof Element && n !== t && n.matches('[aria-modal="true"]')), rce = (e) => Object.fromEntries(Object.entries(e ?? {}).map(([t, n]) => [`data-${t}`, n])), sce = 8; +function yN({ label: e, onClose: t, size: n = "content", list: o = !1, trapFocus: r = !0, header: s, width: a, part: i, data: c, children: l }) { + const u = ye(null), f = ye(null), d = ye(null), p = ye(t); + p.current = t; + const g = ye(0), h = ye(null), m = () => n === "panel" ? R6(u.current?.offsetHeight ?? 0) : [d.current?.offsetHeight ?? 0], O = (A, w) => { + const b = d.current; + if (!b || w.length === 0) return; + const v = w[0], x = w[w.length - 1]; + n === "panel" && (b.style.height = `${Math.min(x, Math.max(v, A))}px`); + const y = Math.max(0, v - A); + b.style.translate = y > 0 ? `0 ${y}px` : "", f.current && (f.current.style.opacity = y > 0 ? `${Math.max(0, 1 - y / v)}` : ""); + }; + _e(() => { + const A = u.current, w = d.current; + if (!A || !w) return; + const b = aN(A, (y) => { + const M = oN(y, [ + "right", + "bottom", + "left" + ]); + if (w.style.paddingLeft = M.paddingLeft ?? "", w.style.paddingRight = M.paddingRight ?? "", w.style.paddingBottom = M.paddingBottom ?? "", w.style.maxHeight = `${Math.max(0, A.offsetHeight - 40)}px`, n === "panel" && !h.current) { + const S = R6(A.offsetHeight); + O(S[Math.min(g.current, S.length - 1)], S); + } + }), v = r ? ph(w, { onEscape: () => p.current() }) : null, x = u0(A, (y) => { + oce(y, w) || p.current(); + }); return () => { - u.release(), l(); + x(), v?.release(), b(); }; - }, []), /* @__PURE__ */ C("div", { - ref: r, - ...qw, + }, []); + const E = (A) => { + if (A.pointerType === "mouse" && A.button !== 0 || A.target.closest(tce)) return; + const w = d.current; + if (!w) return; + A.currentTarget.setPointerCapture(A.pointerId); + const b = w.offsetHeight; + h.current = { + pointerId: A.pointerId, + startY: A.clientY, + startHeight: b, + heights: m(), + samples: [{ + t: A.timeStamp, + x: A.clientX, + y: A.clientY + }], + height: b + }, u.current?.setAttribute("data-dragging", ""); + }, P = (A) => { + const w = h.current; + !w || w.pointerId !== A.pointerId || (w.height = w.startHeight - (A.clientY - w.startY), w.samples.push({ + t: A.timeStamp, + x: A.clientX, + y: A.clientY + }), w.samples.length > sce && w.samples.shift(), O(w.height, w.heights)); + }, k = (A) => { + const w = h.current; + if (!w || w.pointerId !== A.pointerId) return; + h.current = null, u.current?.removeAttribute("data-dragging"); + const b = A.type === "pointercancel", v = b ? 0 : Cd(w.samples, A.timeStamp)?.vy ?? 0, x = b ? w.heights[g.current] : ece(w.heights, w.height, v); + if (x === null) { + p.current(); + return; + } + g.current = Math.max(0, w.heights.indexOf(x)), O(x, w.heights); + }; + return /* @__PURE__ */ I("div", { + ref: u, + ...sv, "data-epdf-layer": "", - className: `${b_} place-items-center p-4 open:grid`, + className: `${sN} p-0 open:flex open:flex-col open:justify-end`, style: { position: "fixed", inset: "auto", maxWidth: "none", maxHeight: "none" }, - children: [/* @__PURE__ */ C("div", { + children: [/* @__PURE__ */ I("div", { + ref: f, "aria-hidden": "true", - className: `absolute inset-0 ${Vw}` - }), /* @__PURE__ */ C("div", { - ref: s, - role: "dialog", - "aria-modal": "true", - "aria-labelledby": e, - className: `relative max-h-full max-w-full overflow-y-auto ${n}`, - children: o + className: `absolute inset-0 ${iv} in-data-dragging:transition-none`, + onClick: () => p.current() + }), /* @__PURE__ */ I("div", { + ref: d, + role: r ? "dialog" : void 0, + "aria-modal": r ? !0 : void 0, + "aria-label": r ? e : void 0, + part: i, + ...rce(c), + "data-epdf-sheet": "", + className: `border-border-subtle bg-elevated starting:translate-y-full in-data-dragging:transition-none relative flex shrink-0 flex-col rounded-t-2xl border-t shadow-2xl transition-[translate,height] duration-200 ease-out motion-reduce:transition-none ${a === void 0 ? "w-full" : "max-w-full self-center border-x"}`, + style: a === void 0 ? void 0 : { width: a }, + children: [/* @__PURE__ */ I("div", { + className: "shrink-0 touch-pan-x select-none", + onPointerDown: E, + onPointerMove: P, + onPointerUp: k, + onPointerCancel: k, + children: [/* @__PURE__ */ I("div", { + "data-epdf-sheet-handle": "", + className: "flex h-6 cursor-grab items-center justify-center active:cursor-grabbing", + children: /* @__PURE__ */ I("span", { className: "bg-border-strong h-1 w-10 rounded-full" }) + }), s] + }), /* @__PURE__ */ I("div", { + className: "flex min-h-0 flex-1 flex-col overflow-y-auto overflow-x-hidden overscroll-contain", + children: /* @__PURE__ */ I(bN, { + value: o ? () => p.current() : gN, + children: l + }) + })] })] }); } -const ace = [ - { key: "allura", familyName: "Allura", label: "Allura" }, - { key: "great-vibes", familyName: "Great Vibes", label: "Great Vibes" }, - { key: "caveat", familyName: "Caveat", label: "Caveat" } -], cce = { - allura: () => import("./allura-kQfqxOOE.js"), - "great-vibes": () => import("./great-vibes-C8QWrE7r.js"), - caveat: () => import("./caveat-pV6Lyl0p.js") -}; -async function lce(e) { - const t = cce[e]; - if (!t) throw new Error(`@embedpdf/default-signature-fonts: no font "${e}"`); - const { default: n } = await t(); - return uce(n); +const ace = (e, t) => hse(e, t, A_), ice = []; +function cv(e) { + const t = Ge(fh), n = an(), o = He(() => e ? lh(e) : null, [e]), r = vt( + () => o ? pse(o, (s) => t.resolveCommand(s, n ?? void 0)) : ice, + ace + ); + return He( + () => r.length === 0 ? null : { + groups: r, + execute: (s) => void t.execute(s, { documentId: n ?? void 0 }) + }, + [r, t, n] + ); } -function uce(e) { - const t = atob(e), n = new Uint8Array(t.length); - for (let o = 0; o < t.length; o++) n[o] = t.charCodeAt(o); - return n; +function L6({ + k: e, + orientation: t, + onLength: n, + children: o +}) { + const r = ye(null); + return _e( + () => r.current ? cE(r.current, t, (s) => n(e, s)) : void 0, + [e, t, n] + ), /* @__PURE__ */ I("span", { ref: r, style: { display: "inline-flex", flexShrink: 0 }, children: o }); } -function nN(e) { - let t = null; - return () => { - if (!t) { - const n = e(); - n.catch(() => { - t === n && (t = null); - }), t = n; +function cce({ + name: e, + k: t, + orientation: n, + grow: o, + onLength: r, + children: s +}) { + const a = ye(null); + return _e(() => { + const i = a.current; + if (!i) return; + const c = (l) => r(t, l); + return o ? KB(i, n, c) : cE(i, n, c); + }, [t, n, o, r]), /* @__PURE__ */ I( + "slot", + { + ref: a, + name: e, + style: { + display: "inline-flex", + alignItems: "center", + flexShrink: 0, + flexGrow: o ? 1 : 0 + }, + children: s } - return t; - }; -} -const dce = ace.map((e) => ({ - key: e.key, - label: e.label, - bytes: nN(() => lce(e.key)) -})), fce = (e) => async () => { - if (e.data) return new Uint8Array(e.data); - if (!e.url) throw new Error(`[embedpdf] signature font "${e.key}" has no url or data`); - const t = await fetch(e.url); - if (!t.ok) throw new Error(`${e.url}: HTTP ${t.status}`); - return new Uint8Array(await t.arrayBuffer()); -}, k6 = /* @__PURE__ */ new WeakMap(); -function pce(e) { - if (!e) return dce; - let t = k6.get(e); - return t || (t = e.map((n) => ({ - key: n.key, - label: n.label, - bytes: nN(fce(n)) - })), k6.set(e, t)), t; -} -const hce = (e) => pce(e).map((t) => ({ - key: t.key, - load: t.bytes -})), em = /* @__PURE__ */ new WeakMap(); -function Kpe(e) { - let t = em.get(e); - return t || (t = (async () => { - if (!globalThis.crypto?.subtle) return null; - const n = await e.bytes(), o = new Uint8Array(await crypto.subtle.digest("SHA-256", n)), r = Array.from(o, (s) => s.toString(16).padStart(2, "0")).join(""); - return { - hash: r, - family: Sr(r), - weight: 400, - style: "normal", - load: async () => n - }; - })(), em.set(e, t), t.catch(() => em.delete(e))), t; + ); } -const gce = (e, t) => t.type === "fonts.changed" ? fo() : e, Gd = (e, t) => e.fonts.find((n) => n.name === t); -function mce(e, t) { - const n = ei(t.family), o = t.weight ?? 400, r = t.italic ?? !1; - let s; - for (const i of e.fonts) { - if (i.source === "standard" || ei(i.familyName) !== n) continue; - const a = Math.abs(i.weight - o) + (i.italic === r ? 0 : 1e3) + (i.source === "engine" ? 0 : 0.5); - (!s || a < s.score) && (s = { font: i, score: a }); +const lce = (e) => ({ + position: "absolute", + left: 0, + top: 0, + height: 0, + overflow: "hidden", + visibility: "hidden", + pointerEvents: "none", + display: "flex", + whiteSpace: "nowrap", + ...e === "vertical" ? { flexDirection: "column", alignItems: "flex-start" } : null +}), j6 = { [m0]: "" }, uce = { display: "contents" }, dce = (e) => ({ + display: "flex", + flexDirection: e === "vertical" ? "column" : "row", + alignItems: "center", + flex: "1 0 auto" +}), wN = Ql("toolbar-surface"), Ri = Ql("toolbar-border"), lv = Ql("toolbar-active"), fce = (e, t, n) => /* @__PURE__ */ I( + "button", + { + type: "button", + onClick: n, + disabled: !e.enabled, + "aria-pressed": e.pressable ? e.active : void 0, + "aria-haspopup": e.menu ? "menu" : void 0, + "aria-expanded": e.menu ? e.active : void 0, + title: e.label, + style: { + display: "inline-flex", + alignItems: "center", + gap: 4, + padding: "4px 8px", + whiteSpace: "nowrap", + color: "inherit", + font: "inherit", + background: e.active ? lv : "transparent", + border: `1px solid ${Ri}`, + borderRadius: 4, + cursor: e.enabled ? "pointer" : "default", + opacity: e.enabled ? 1 : 0.4 + }, + children: e.label } - return s?.font; -} -function x6(e, t) { - const n = e?.fonts.find( - (o) => o.programs.some((r) => r.displaySha256 === t) +); +function pce({ orientation: e }) { + return /* @__PURE__ */ I( + "span", + { + style: { ...e === "vertical" ? { height: 1 } : { width: 1 }, alignSelf: "stretch", background: "currentColor", opacity: 0.2 } + } ); - return n ? { weight: n.weight, italic: n.italic } : { weight: 400, italic: !1 }; } -function bce(e) { - if (!e) return []; - const t = []; - for (const n of e.fallbacks) { - const o = Gd(e, n)?.programs[0]?.displaySha256; - o && t.push(o); +const vN = (e, t) => /* @__PURE__ */ I( + "button", + { + type: "button", + onClick: t, + "aria-haspopup": "menu", + "aria-expanded": e, + title: "More", + style: { + display: "inline-flex", + alignItems: "center", + padding: "4px 8px", + color: "inherit", + font: "inherit", + border: `1px solid ${Ri}`, + borderRadius: 4, + background: e ? lv : "transparent", + cursor: "pointer" + }, + children: "⋯" } - return t; -} -function yce(e, t) { - return [...e.map((n) => `"${n}"`), t].join(", "); -} -function wce(e) { - const { measurer: t } = e, n = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(); - let r = 0; - const s = (d) => { - let p = n.get(d); - return p || (p = Z0(d), n.set(d, p)), p; - }, i = async (d, p, h) => { - const g = e.programOf(p, h), m = await e.getProgram(p); - return $H(m, g, (M, x) => d.width(g, M, x)); - }, a = async (d, p) => { - const h = Al(Sr(p)); - return h ? Hi(h) : i(d, p); - }, c = async (d, p) => { - await e.loadList(); - const g = (await e.resolve({ runs: [{ text: " ", fontFamily: p }] })).runs[0], m = Promise.all(g.fallbacks.map((x) => a(d, x))); - return { face: po(g.font) ? Hi(g.font) : g.program ? await i(d, g.program, g) : Hi(e.standardOf(g.font)), fallbacks: await m, lastResort: jC() }; - }, l = (d, p) => { - const h = o.get(p) ?? { value: null, generation: -1, finding: !1 }; - if (o.set(p, h), h.finding || h.generation === r) return h; - h.finding = !0; - const g = r, m = (M) => { - h.value = M, h.generation = g, h.finding = !1, e.changed(); - }; - return c(d, p).then(m, () => m("failed")), h; - }, u = (d, p) => { - const h = !p.face.standard && e.refused(p.face.program), g = p.fallbacks.filter((m) => !e.refused(m.program)); - return !h && g.length === p.fallbacks.length ? p : { - face: h ? Hi(e.standardOf(d)) : p.face, - fallbacks: g, - lastResort: p.lastResort +), hce = (e) => e === "vertical" ? { top: 0, insetInlineStart: "100%" } : { top: "100%", insetInlineEnd: 0 }; +function uv({ + view: e, + orientation: t +}) { + const n = ye(null), o = ye(e.close); + return o.current = e.close, _e(() => { + const r = n.current; + if (!e.isOpen || !r) return; + const s = r.parentElement ?? r, a = e0(s).find((l) => !r.contains(l)) ?? null, i = u0(s, () => o.current()), c = b0(r, { trigger: a, close: () => o.current() }); + return () => { + i(), c(); }; - }, f = (d, p, h) => { - const g = /* @__PURE__ */ new Set(); - let m = !1; - for (const [M, x] of CC(h)) { - const { font: S, covered: P } = NC(h.slice(M, x), p); - !P || S.standard || g.has(S) || (g.add(S), d.ready(S.program) || (m = !0)); - } - return m; - }; - return { - /** - * The fonts a box in `font` draws `text` with; `null` while they're found - * or a program the text needs loads (`changed` says when to ask again). - * Text a standard font draws whole needs neither. Where the fonts can't be - * found or measured, the box's standard font, or Helvetica, with only the - * last resort behind it. - */ - get(d, p) { - const h = s(d); - if (po(d) && tb(h.face, p) || !t) return h; - const { value: g } = l(t, d); - if (g === null) return null; - if (g === "failed") return h; - const m = u(d, g); - return f(t, m, p) ? null : m; - }, - /** The document's fonts changed: find each font's again, the next time it's asked for. */ - reset() { - r++; + }, [e.isOpen]), e.isOpen ? /* @__PURE__ */ I( + "div", + { + ref: n, + role: "menu", + style: { + position: "absolute", + ...hce(t), + zIndex: 41, + minWidth: 200, + padding: 4, + background: wN, + border: `1px solid ${Ri}`, + borderRadius: 6, + boxShadow: "0 4px 16px rgba(0,0,0,0.15)" + }, + children: e.sections.map((r, s) => /* @__PURE__ */ I(Re, { children: [ + s > 0 && /* @__PURE__ */ I("div", { style: { height: 1, background: Ri, margin: "4px 0" } }), + r.rows.map((a) => { + const i = e.resolve(a.command); + if (!i) return null; + const c = a.kind === "submenu"; + return /* @__PURE__ */ I( + "button", + { + type: "button", + role: r.role === "radio" ? "menuitemradio" : "menuitem", + "aria-checked": r.role === "radio" ? i.active : void 0, + disabled: !i.enabled, + tabIndex: -1, + onClick: () => { + e.execute(a.command), c || e.close(); + }, + style: { + display: "flex", + width: "100%", + alignItems: "center", + justifyContent: "space-between", + gap: 16, + padding: "6px 8px", + border: "none", + color: "inherit", + font: "inherit", + background: "transparent", + cursor: i.enabled ? "pointer" : "default", + opacity: i.enabled ? 1 : 0.4, + whiteSpace: "nowrap" + }, + children: [ + /* @__PURE__ */ I("span", { children: [ + i.active && r.role === "radio" ? "• " : "", + i.label + ] }), + c ? /* @__PURE__ */ I("span", { children: "▸" }) : null + ] + }, + a.command + ); + }) + ] }, s)) } - }; + ) : null; } -function vce(e) { - const t = /^epdf-([0-9a-f]{16})$/.exec(e)?.[1]; - return t && !ds.startsWith(t) ? t : void 0; +function gce({ + view: e, + orientation: t +}) { + if (e.collapse === "select") { + const n = e.commands.find((o) => o.active); + return /* @__PURE__ */ I( + "select", + { + value: n?.id ?? "", + onChange: (o) => e.execute(o.target.value), + style: { + padding: "4px 6px", + font: "inherit", + borderRadius: 4, + border: `1px solid ${Ri}`, + background: wN + }, + children: e.commands.map((o) => /* @__PURE__ */ I("option", { value: o.id, disabled: !o.enabled, children: o.label }, o.id)) + } + ); + } + return /* @__PURE__ */ I(mce, { view: e, orientation: t }); } -function kce(e) { - const t = e.events.source(), n = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(); - let r = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), i = 0; - const a = () => { - i++, e.notify(); - }, c = e.mirror({ - name: "fonts", - onDemand: !0, - initial: () => null, - load: async (y) => ({ value: await y.fonts.list() }), - fold: gce, - onChanged: ({ previous: y, next: w }) => { - r = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), y && h.reset(), a(), w && t.emit({ fonts: w }); - } - }), l = (y, w) => { - const O = Al(Sr(y)); - if (O) return To(O); - if (y === ds) return xl(); - let b = n.get(y); - if (!b) { - let v = null; - b = { - hash: y, - family: Sr(y), - weight: w.weight, - style: w.italic ? "italic" : "normal", - load: () => { - if (!v) { - const E = Promise.resolve().then( - () => e.doc.fonts.downloadProgram(y) - ); - E.catch(() => { - v === E && (v = null); - }), v = E; - } - return v; - } - }, n.set(y, b); - } - return b; - }, u = (y, w) => { - if (po(y)) return y; - const O = c.get(), b = O ? Gd(O, y) : void 0; - return b ? Kr({ - family: b.familyName, - weight: w?.weight ?? b.weight, - italic: w?.italic ?? b.italic - }) : "helvetica"; - }, f = (y) => e.measurer?.refused(y) ?? !1, d = (y, w, O, b) => { - const v = c.get(), E = [], I = (_) => { - E.some((N) => N.hash === _.hash) || E.push(_); - }; - y && I(y); - for (const _ of O) { - const N = l(_, x6(v, _)); - f(N) || I(N); - } - return I(xl()), { - fontFamily: E.map((_) => e.measurer?.ready(_) ?? !0).every((_) => _) ? yce( - E.map((_) => _.family), - b - ) : b, - fontWeight: w.weight, - fontStyle: w.italic ? "italic" : "normal", - programs: E - }; - }, p = (y) => { - let w = o.get(y); - return w || (w = e.doc.fonts.getProgram(y), o.set(y, w), w.catch(() => o.delete(y))), w; - }, h = wce({ - measurer: e.measurer, - // After the asker's turn: a read (a render) that asks for fonts writes no state while it runs. - loadList: () => Promise.resolve().then(() => c.ensureLoaded()), - resolve: (y) => e.doc.fonts.resolve(y), - getProgram: p, - programOf: (y, w) => l(y, w ?? x6(c.get(), y)), - standardOf: (y) => u(y), - refused: f, - changed: a - }); - e.measurer?.onChange(() => { - r = /* @__PURE__ */ new Map(), a(); - }); - const g = () => { - c.getStatus() === "idle" && Promise.resolve().then(() => c.ensureLoaded()).catch(() => { - }); - }, m = (y) => { - const w = c.get(), O = `${y.weight}|${y.italic}`, b = s.get(O); - if (b) return b; - if (w && b === void 0) { - const v = s; - v.set(O, null), Promise.resolve().then( - () => e.doc.fonts.resolve({ - runs: [{ text: " ", family: "Helvetica", weight: y.weight, italic: y.italic }] - }) - ).then(({ runs: E }) => { - v === s && (v.set(O, E[0]?.fallbacks ?? []), r = /* @__PURE__ */ new Map(), a()); - }).catch(() => { - v === s && v.delete(O); - }); - } - return bce(w); - }, M = (y) => [ - ...m(y), - To(Kr(y)).hash - ], x = (y, w) => { - let O = r.get(y); - return O || (O = w(), r.set(y, O)), O; - }, S = (y, w) => Vp( - w ?? (y ? Kr({ - family: y.familyName, - weight: y.weight, - italic: y.italic - }) : "helvetica") - ), P = (y) => d( - To(y), - Lo[y], - M(Lo[y]), - S(void 0, y) - ), k = (y) => { - const w = y.programs[0], O = w?.displaySha256 && w.canDownload ? l(w.displaySha256, y) : null; - return !O || f(O) ? P( - Kr({ family: y.familyName, weight: y.weight, italic: y.italic }) - ) : d( - O, - y, - M({ family: y.familyName, weight: y.weight, italic: y.italic }), - S(y, null) - ); - }; - return { api: { - getFontList: c.get, - getStatus: c.getStatus, - ensureLoaded: () => c.ensureLoaded(), - refresh: () => c.refresh(), - resolve: async (y, w) => e.cancellable(w?.signal, e.doc.fonts.resolve(y)), - readProgram: async (y, w) => ( - // Another caller may share the read: cancelling this one leaves it running. - e.cancellable( - w?.signal, - p(y).then((O) => O) - ) +function mce({ + view: e, + orientation: t +}) { + const [n, o] = ke(!1); + return /* @__PURE__ */ I("span", { style: { position: "relative", display: "inline-flex" }, children: [ + vN(n, () => o((r) => !r)), + /* @__PURE__ */ I( + uv, + { + view: uu(e, n, () => o(!1)), + orientation: t + } + ) + ] }); +} +function bce({ + view: e, + orientation: t +}) { + const [n, o] = ke(!1), r = e.commands.some((s) => s.active); + return /* @__PURE__ */ I("span", { style: { position: "relative", display: "inline-flex" }, children: [ + /* @__PURE__ */ I( + "button", + { + type: "button", + onClick: () => o((s) => !s), + "aria-haspopup": "menu", + "aria-expanded": n, + title: "More", + style: { + display: "inline-flex", + alignItems: "center", + padding: "4px 6px", + color: "inherit", + font: "inherit", + border: `1px solid ${Ri}`, + borderRadius: 4, + // A hint that the active item is in here. + background: n || r ? lv : "transparent", + cursor: "pointer" + }, + children: "▾" + } ), - getPaintFonts: (y, w) => h.get(y, w), - getPaintFontsEpoch: () => i, - getFontCss: (y) => (po(y) || g(), x(`font:${y}`, () => { - if (po(y)) return P(y); - const w = c.get(), O = w ? Gd(w, y) : void 0; - return O ? k(O) : P(xi(y)); - })), - getFaceCss: (y) => (Hb(y.family) || g(), x(`face:${y.family}|${y.weight ?? 400}|${y.italic ?? !1}`, () => { - const w = c.get(), O = w ? mce(w, y) : void 0; - return O ? k(O) : P(Kr(y)); - })), - getRunCss: (y) => x( - `run:${y.font}|${y.weight}|${y.italic}|${y.program}|${y.fallbacks.join(",")}`, - () => { - const w = po(y.font) ? y.font : null, O = c.get(), b = y.program ? l(y.program, y) : null; - return d( - b && f(b) ? To(u(y.font, y)) : b, - y, - y.fallbacks, - S(O ? Gd(O, y.font) : void 0, w) + /* @__PURE__ */ I( + uv, + { + view: uu(e, n, () => o(!1)), + orientation: t + } + ) + ] }); +} +function yce({ + bar: e, + orientation: t = "horizontal", + gap: n = 8, + separatorWidth: o = 1, + "aria-label": r, + className: s, + style: a, + renderCommand: i = fce, + renderCustom: c, + renderCollapsed: l, + renderGroupTrigger: u, + renderSeparator: f, + renderOverflowTrigger: d = vN, + renderOverflowMenu: p +}) { + const g = Cr(), h = Ge(fh), m = an(), O = t === "vertical", [, E] = ls((D) => D + 1, 0); + Se(() => g.subscribe(E), [g]); + const P = ye(null), [k, A] = ke(0); + _e( + () => P.current ? HB(P.current, t, A) : void 0, + [t] + ); + const [w] = ke(WB), [, b] = ls((D) => D + 1, 0), v = He( + () => (D, F) => { + w.report(t, D, F) && b(); + }, + [w, t] + ), x = ye(null); + _e(() => { + const D = P.current; + if (!D) return; + const F = YB(D, t); + return x.current = F, () => { + F.detach(), x.current = null; + }; + }, [t]), _e(() => x.current?.refresh()); + const y = (D) => h.resolveCommand(D, m ?? void 0), M = (D) => void h.execute(D, { documentId: m ?? void 0 }), S = He(() => lh(e), [e]), C = lse({ + bar: S, + resolve: y, + unregistered: S_, + execute: M, + menuTarget: (D) => h.getMenuTarget(D), + metrics: w.metrics(t, n, o), + measureKey: Va, + containerLength: k, + orientation: t + }), [N, _] = ke(!1); + Se(() => { + C.hasOverflow || _(!1); + }, [C.hasOverflow]); + const T = (D) => D.kind === "custom" && !c?.[D.name], $ = (D, F) => { + switch (D.kind) { + case "command": + return i(D.command, D.variant, D.run); + case "custom": { + const B = () => D.terminal ? i(D.terminal, "icon", D.runTerminal) : null, V = c?.[D.name]; + if (V) { + const Q = V(D.variant, { + layer: F, + measure: (le) => v(D.measureKey, le) + }); + return Q === void 0 ? B() : Q; + } + return F === "measure" ? null : /* @__PURE__ */ I( + cce, + { + name: D.name, + k: D.measureKey, + orientation: t, + grow: D.grow, + onLength: v, + children: B() + } ); } - ), - getFaceOfCssFamily: (y) => { - const w = Al(y); - if (w) return { ...Lo[w] }; - const O = vce(y); - if (!O) return null; - const b = c.get()?.fonts.find( - (v) => v.programs.some((E) => E.displaySha256?.startsWith(O)) - ); - return b ? { family: b.familyName, weight: b.weight, italic: b.italic } : null; - }, - onFontListChanged: t.on - } }; + case "collapsed": { + const B = l?.(D.view); + return B === void 0 ? /* @__PURE__ */ I(gce, { view: D.view, orientation: t }) : B; + } + case "disclosure": { + const B = u?.(D.view); + return B === void 0 ? /* @__PURE__ */ I(bce, { view: D.view, orientation: t }) : B; + } + } + }, j = (D) => D.groups.map((F, B) => /* @__PURE__ */ I(Re, { children: [ + B > 0 && (f ? f() : /* @__PURE__ */ I(pce, { orientation: t })), + F.parts.map((V) => /* @__PURE__ */ I( + "span", + { + ...j6, + style: V.kind === "custom" && V.grow ? dce(t) : uce, + children: $(V, "live") + }, + V.key + )) + ] }, F.id)), z = (D) => ({ + display: "flex", + flexDirection: O ? "column" : "row", + alignItems: "center", + gap: n, + flex: D.grows ? "1 0 auto" : "0 0 auto", + ...D.spacing === "balance" ? O ? { marginTop: "auto", marginBottom: "auto" } : { marginLeft: "auto", marginRight: "auto" } : D.spacing === "gap" ? O ? { marginTop: n } : { marginInlineStart: n } : null + }), L = { + sections: C.overflow, + isOpen: N, + close: () => _(!1), + resolve: y, + execute: M + }; + return /* @__PURE__ */ I( + "div", + { + ref: P, + role: "toolbar", + "aria-orientation": t, + "aria-label": r, + className: s, + style: { + position: "relative", + display: "flex", + flexDirection: O ? "column" : "row", + alignItems: "center", + ...a + }, + children: [ + C.sections.map((D) => /* @__PURE__ */ I("div", { style: z(D), children: [ + j(D), + D.name === "end" && C.hasOverflow && /* @__PURE__ */ I("span", { ...j6, style: { position: "relative", display: "inline-flex" }, children: [ + d(N, () => _((F) => !F)), + p ? p(L) : /* @__PURE__ */ I(uv, { view: L, orientation: t }) + ] }) + ] }, D.name)), + /* @__PURE__ */ I("div", { "aria-hidden": !0, ...v3, style: lce(t), children: [ + C.measured.filter((D) => !T(D)).map((D) => { + const F = $(D, "measure"); + return D.kind === "custom" && F === null ? null : /* @__PURE__ */ I( + L6, + { + k: D.measureKey, + orientation: t, + onLength: v, + children: F + }, + D.measureKey + ); + }), + /* @__PURE__ */ I( + L6, + { + k: Va.overflowTrigger, + orientation: t, + onLength: v, + children: d(!1, () => { + }) + } + ) + ] }) + ] + } + ); } -const xce = () => ({ - id: "fonts", - token: Er, - scope: "document", - create: kce -}), oN = At("metadata", { - hint: "add metadataPlugin() from '@embedpdf/plugin-metadata' to your plugins list", - // Without a document, an adapter's stand-in rejects these with `not-ready`, as the - // capability would; the type asks for every member that returns a promise. - promises: { - update: !0, - refresh: !0, - ensureLoaded: !0, - "custom.update": !0, - "custom.refresh": !0 - } -}); -function A6(e, t) { - const n = Object.keys(t); - return e ? [.../* @__PURE__ */ new Set([...Object.keys(e), ...n])].filter((r) => e[r] !== t[r]) : n; +const kN = { + annotations: [ + "highlight", + "markup", + "drawing", + "text", + "notes", + "links" + ], + shapes: [], + stamps: [], + comments: ["writing"], + forms: ["filling", "building"], + signatures: ["signing", "checking"], + redaction: [], + measurement: [], + pages: [], + attachments: ["adding"], + text: ["selection", "copy"], + snapshots: [], + search: [], + thumbnails: [], + outline: ["editing"], + documents: [ + "open", + "download", + "print", + "tabs" + ] +}, wce = [ + "forms.building", + "redaction", + "measurement", + "snapshots" +], xN = [ + "annotations", + "shapes", + "stamps", + "comments.writing", + "forms", + "signatures.signing", + "redaction", + "measurement", + "pages", + "attachments.adding", + "outline.editing" +], Bb = (e, t) => e === t || e.startsWith(`${t}.`), vce = (e) => xN.every(e), kce = { + "annotations.highlight": ["highlight"], + "annotations.markup": [ + "underline", + "strikeout", + "squiggly" + ], + "annotations.drawing": ["ink"], + "annotations.text": ["free-text", "caret"], + "annotations.notes": ["text"], + "annotations.links": ["link"], + shapes: [ + "square", + "circle", + "line", + "polygon", + "polyline" + ], + stamps: ["stamp"], + redaction: ["redact"], + measurement: [ + "line-dimension", + "polyline-dimension", + "polygon-dimension" + ], + "attachments.adding": ["file-attachment"], + "forms.building": ["widget"] +}, xce = { + "forms.filling": [ + "text", + "checkbox", + "radio", + "combobox", + "listbox", + "pushbutton" + ], + "signatures.signing": ["signature"] +}; +function F6(e, t) { + const n = Object.keys(e), o = n.filter((r) => !t.some((s) => Bb(r, s))); + return o.length === n.length ? !0 : o.length === 0 ? !1 : o.flatMap((r) => e[r]); } -const S6 = "doc.metadata.modify"; -function Ace(e) { - const t = e.events.source(), n = e.events.source(), o = e.events.source(), r = e.events.source(), s = e.mirror({ - name: "metadata", - onDemand: !0, - initial: () => null, - load: async (f) => ({ value: await f.metadata.get() }), - fold: (f, d) => d.type === "metadata.updated" ? d.metadata : f, - onChanged: ({ cause: f, event: d, previous: p, next: h }) => { - h && (f === "load" ? n.emit({ metadata: h }) : d && "origin" in d && t.emit({ - metadata: h, - previous: p, - changedKeys: A6(p, h), - origin: d.origin - })); - } - }), i = e.mirror({ - name: "customMetadata", - onDemand: !0, - initial: () => null, - load: async (f) => ({ value: await f.metadata.custom.get() }), - fold: (f, d) => d.type === "metadata.customUpdated" ? d.custom : f, - onChanged: ({ cause: f, event: d, previous: p, next: h }) => { - h && (f === "load" ? r.emit({ custom: h }) : d && "origin" in d && o.emit({ - custom: h, - previous: p, - changedKeys: A6(p, h), - origin: d.origin - })); +const Ace = (e) => kN[e] ?? []; +function Sce(e) { + if (!e) return []; + const t = e === !0 ? [] : e.except, n = [], o = (r) => { + if (t.some((a) => Bb(r, a))) return; + const s = Ace(r); + if (s.length === 0 || !t.some((a) => Bb(a, r))) { + n.push(r); + return; } - }), a = () => e.allows(S6), c = (f, d) => { - if (e.assertAllowed(S6, f), d?.signal?.aborted) - throw new Z("operation-cancelled", "metadata", `${f} was cancelled`); - }, l = { - getSnapshot: i.get, - getStatus: i.getStatus, - update: async (f, d) => (c("metadata.custom.update", d), { custom: (await e.cancellable(d?.signal, e.doc.metadata.custom.update(f))).custom }), - refresh: (f) => e.cancellable(f?.signal, i.refresh()), - onUpdated: o.on, - onResynced: r.on + for (const a of s) o(`${r}.${a}`); }; - return { api: { - getSnapshot: s.get, - getStatus: s.getStatus, - ensureLoaded: (f) => e.cancellable( - f?.signal, - Promise.all([s.ensureLoaded(), i.ensureLoaded()]).then(() => { - }) - ), - canUpdate: a, - update: async (f, d) => (c("metadata.update", d), { metadata: (await e.cancellable(d?.signal, e.doc.metadata.update(f))).metadata }), - refresh: (f) => e.cancellable(f?.signal, s.refresh()), - onUpdated: t.on, - onResynced: n.on, - custom: l - } }; -} -const Sce = () => ({ - id: "metadata", - token: oN, - scope: "document", - create: Ace -}); -async function Pce(e, t, n, o = (r) => r) { - const [r, s] = await Promise.all([ - e.allows("doc.annotate.read") ? o(e.doc.page(n).annotations.list()).then((i) => i.annotations) : Promise.resolve([]), - e.allows("doc.forms.read") ? t.read(o).then( - (i) => i.widgets.filter((a) => a.page.objectNumber === n.objectNumber) - ) : Promise.resolve([]) - ]); - return [...r, ...s]; + for (const r of xN) o(r); + return n; } -async function P6(e, t, n, o = (r) => r) { - const r = ie(n), s = (i) => ie(i.ref) === r; - if (e.allows("doc.forms.read")) { - const i = (await t.read(o)).widgets.find(s); - if (i) return i; +const dv = (e) => { + const t = e.indexOf("."); + return t < 0 ? [e, void 0] : [e.slice(0, t), e.slice(t + 1)]; +}; +function AN(e) { + const t = new Map(Object.entries(kN).map(([n, o]) => [n, [...o]])); + for (const n of e) { + const [o, r] = dv(n), s = t.get(o) ?? []; + r !== void 0 && !s.includes(r) && s.push(r), t.set(o, s); } - return e.allows("doc.annotate.read") ? (await o(e.doc.page(n.page).annotations.list())).annotations.find(s) ?? null : null; + return t; } -const nv = (e, t) => { - const n = e.map((r) => r.result.status); - return { status: e.length === 0 ? "inert" : n.every((r) => r === "refused") ? "refused" : n.every((r) => r === "inert") ? "inert" : n.every((r) => r === "executed") ? "executed" : "partial", steps: e, diagnostics: t }; -}, O6 = (e) => { - switch (e.type) { - case "activate": - case "annotation": - return e.source ?? { kind: "annotation", annotation: e.annotation, page: e.page }; - case "page": - return { kind: "page", page: e.page }; - case "document": - return { kind: "document" }; - } -}, Oce = (e, t) => new Z("operation-cancelled", "actions", `${e} was cancelled`, { - cause: t?.reason -}); -function Mce(e, t, { run: n }, { triggerEnabled: o, lifecycleAnnotationsOf: r, planPageSteps: s }, i, { runDocumentEventOp: a }) { - const { executed: c, reportDiagnostic: l } = t.events, { decisionFor: u } = t.policy, { allowsPrint: f } = t.authority, { enqueue: d, budget: p } = t.queue, { readDocumentActions: h, DOC_EVENT_TREES: g } = t.catalog, { form: m } = t, { noteUserActivity: M } = i, x = async (I, T, _) => { - const N = await n(I, T, _); - return c.emit({ tree: I, result: N, source: T.source }), N; - }, S = (I, T, _) => { - const N = _?.signal; - return T.origin === "user" && M(), d(async () => { - p.scriptNodes = 0; - const F = await x(I, T, N); - if (F.status === "cancelled") throw Oce("actions.execute", N); - return F; - }, _); - }, P = (I, T) => { - if (I.incomplete || !I.root) return !1; - const _ = u(I.root, T.origin); - return _ === "allow" || _ === "adapter"; - }, k = async (I, T, _, N, F) => { - const R = []; - for (const j of I) { - if (F?.aborted) break; - const B = await x(j.tree, { origin: T, source: j.source, event: _ }, F); - R.push({ source: j.source, tree: j.tree, result: B }); - } - return F?.aborted ? { status: "cancelled", steps: R, diagnostics: N } : nv(R, N); - }, A = async (I, T) => { - const _ = [], N = (R) => { - _.push(R), l(R, { source: O6(I) }); - }, F = (R) => e.cancellable(T, R); - try { - if (!o(I)) - return N({ - code: "trigger-disabled", - message: `${I.type}: trigger family disabled by config` - }), { status: "inert", steps: [], diagnostics: _ }; - const R = Hk(I); - switch (I.type) { - case "activate": - case "annotation": { - const j = I.type === "activate" ? "activate" : I.event, B = await P6(e, m, I.annotation, F); - if (j === "mouseUp" && B?.actions?.activate) - return { status: "inert", steps: [], diagnostics: _ }; - const W = B?.actions?.[j]; - if (!W?.root && !W?.incomplete) return { status: "inert", steps: [], diagnostics: _ }; - const $ = O6(I); - return await k([{ source: $, tree: W }], R, qk(I), _, T); - } - case "page": { - const j = await r(I.page), B = e.getPage(I.page)?.actions, W = s(I.event, I.page, B, j); - return await k(W, R, qk(I), _, T); - } - case "document": - return I.event !== "open" ? await a(I.event, _, N) : i.claim() ? await i.run() : (N({ - code: "open-sequence-replayed", - message: "document open sequence already fired for this document" - }), { status: "inert", steps: [], diagnostics: _ }); - } - } catch (R) { - return sn(R, "operation-cancelled") && T?.aborted ? { status: "cancelled", steps: [], diagnostics: _ } : (N({ - code: "trigger-failed", - message: `trigger resolution failed: ${R instanceof Error ? R.message : String(R)}` - }), { status: "refused", steps: [], diagnostics: _ }); +function SN({ features: e, disable: t, readOnly: n }, o) { + const r = AN(o), s = /* @__PURE__ */ new Map(), a = (l) => { + let u = s.get(l); + if (!u) { + const f = r.get(l) ?? []; + u = { + on: !0, + parts: new Map(f.map((d) => [d, !0])) + }, s.set(l, u); } - }, y = (I, T) => { - const _ = T?.signal; - return Hk(I) === "user" && M(), d(() => (p.scriptNodes = 0, A(I, _)), T).catch( - // Only a signal that fired while the trigger waited for its turn gets - // here: resolveAndRun itself never throws. - () => ({ status: "cancelled", steps: [], diagnostics: [] }) - ); - }, w = (I) => ({ - root: { type: "named", subtype: "Named", name: I, next: [] }, - incomplete: !1, - warnings: [] - }), O = (I) => ({ - origin: "user", - source: { kind: "api" }, - event: { type: "activate" }, - ...I - }), b = (I, T, _) => S(w(I), O(T), _), v = (I, T) => P(w(I), O(T)) && (I !== "Print" || f()), E = async (I) => { - switch (I.kind) { - case "annotation": - return (await P6(e, m, I.annotation))?.actions?.[I.event ?? "activate"] ?? null; - case "field": { - const { fields: T } = await m.read(), _ = I.field; - return T.find( - (F) => _.kind === "objectNumber" ? F.ref.kind === "objectNumber" && F.ref.objectNumber === _.objectNumber : F.name === _.name - )?.actions?.[I.event] ?? null; - } - case "page": - return e.getPage(I.page)?.actions?.[I.event ?? "open"] ?? null; - case "outline": { - const { items: T } = await e.doc.outline.get(); - return T.find( - (N) => N.ref.objectNumber === I.item.objectNumber - )?.action ?? null; - } - case "document": { - const T = await h(); - if (!T) return null; - const _ = I.event ?? "open"; - return (_ === "open" ? T.openAction : T[g[_]]) ?? null; + return u; + }, i = (l) => { + const u = [...l].sort(([f], [d]) => Number(f.includes(".")) - Number(d.includes("."))); + for (const [f, d] of u) { + const [p, g] = dv(f), h = a(p); + if (g !== void 0) { + h.parts.set(g, d); + continue; } + h.on = d; + for (const m of h.parts.keys()) h.parts.set(m, d); } - }; + }, c = (l) => l.map((u) => [u, !1]); + return i(c(wce)), i(c((t ?? []).filter((l) => !l.includes(":")))), i(Object.entries(e ?? {}).filter((l) => typeof l[1] == "boolean")), i(c(Sce(n))), [...r.keys(), ...s.keys()].filter((l, u, f) => f.indexOf(l) === u && s.has(l)).flatMap((l) => { + const { on: u, parts: f } = s.get(l), d = [...f].filter(([, p]) => !p); + return !u && d.length === f.size ? [l] : d.map(([p]) => `${l}.${p}`); + }); +} +function Oce(e, t) { + const n = AN(t); + return Object.keys(e ?? {}).filter((o) => { + const [r, s] = dv(o), a = n.get(r); + return !a || s !== void 0 && !a.includes(s); + }); +} +function Pce(e, t = []) { + const n = new Set((e.disable ?? []).filter((o) => o.includes(":"))); return { - runAndEmit: x, - dispatch: y, - api: { - execute: S, - canExecute: P, - executeNamed: b, - canExecuteNamed: v, - readActionTree: (I, T) => e.cancellable(T?.signal, E(I)), - dispatch: y, - // The synchronous twin: the trigger family is enabled. Per-tree truth - // stays per step in the results; resolution is async and never - // previewed here. - canDispatch: (I) => o(I), - prepareClose: (I) => y({ type: "document", event: "will-close" }, I) - } + disabledCategories: SN(e, t), + disabledCommands: [...n] }; } -const Ece = /* @__PURE__ */ new Set([ - "launch", - "goto-remote", - "goto-embedded", - "sound", - "movie", - "import-data" -]), Cce = /* @__PURE__ */ new Set([ - "rendition", - "thread", - "set-ocg-state", - "transition", - "goto-3d-view", - "unknown" -]), Ice = /* @__PURE__ */ new Set(["reset-form", "javascript"]), rN = (e) => e.type === "named" && e.name === "Print"; -function _ce(e) { - const t = e.settings(), n = () => t.get().policy; - return { decisionFor: (r, s) => { - if (Ece.has(r.type)) return "never"; - if (Cce.has(r.type)) return "unsupported"; - const i = n(); - if (rN(r)) return i.print[s]; - const a = i[r.type]; - return a ? a[s] : "unsupported"; - }, current: n }; -} -const Nce = (e) => ({ - url: e.url, - fields: e.fields, - exclude: e.exclude, - includeNoValueFields: e.includeNoValueFields, - format: e.format, - method: e.method, - ...e.charSet === void 0 ? {} : { charSet: e.charSet } -}), Tce = (e, t) => ({ - entries: e.entries, - intent: { - url: e.url, - format: e.format, - method: e.method, - ...e.charSet === void 0 ? {} : { charSet: e.charSet } - }, - origin: e.origin, - sentAt: t -}), sN = (e) => { - const t = e.format ?? "fdf"; +function Mce(e, t = []) { + const n = SN(e, t); return { - url: e.url, - fields: e.fieldNames?.map((n) => ({ kind: "name", name: n })) ?? null, - exclude: !1, - includeNoValueFields: e.includeEmpty, - format: t, - method: e.method ?? "post" + editable: F6(kce, n), + fillable: F6(xce, n) }; -}; -function Rce(e, t, { performSubmit: n }, { firePrintThroughAdapter: o }) { - const { decisionFor: r } = t.policy, s = t.ports.slots, { reportDiagnostic: i } = t.events, { form: a } = t; - async function c(l, u, f) { - const d = [], p = (O, b) => { - d.push(O), i(O, { action: b, source: u.source }); - }; - if (l.incomplete) - return p( - { code: "incomplete-tree", message: "refused: the action tree is incomplete" }, - l.root?.type ?? null - ), { status: "refused", nodes: [], diagnostics: d }; - if (!l.root) return { status: "inert", nodes: [], diagnostics: d }; - const h = [], g = []; - let m = !1, M = !1; - const x = (O, b) => { - b.status === "executed" ? O.status = "executed" : b.status === "inert" ? (O.status = "inert", O.detail = b.reason, p( - { code: "executor-inert", message: `${O.type}: ${b.reason}` }, - O.type - )) : (O.status = "failed", O.detail = b.error, p( - { code: "executor-failed", message: `${O.type}: ${b.error}` }, - O.type - )); - }, S = async (O) => { - const b = O.hide ? "hidden" : "visible", v = (F) => p(F, "hide"), E = [], I = [], T = [], _ = []; - for (const F of O.targets) - F.kind === "objectNumber" ? _.push(F.objectNumber) : T.push(F.name); - if (T.length || _.length) { - const F = await a.read(); - for (const R of T) { - const j = F.fields.find((B) => B.name === R); - if (!j) { - v({ code: "unresolved-target", message: `hide: no field named '${R}'` }); - continue; - } - E.push(j.ref); - } - for (const R of _) { - const j = F.fields.find( - (B) => B.widgets.some((W) => W.objectNumber === R) - ); - j ? E.push(j.ref) : I.push({ - annotObjectNumber: R, - patch: { flags: { hidden: O.hide } } - }); - } - } - let N; - if (E.length) { - if (!s.formCommitSink) - return v({ - code: "no-commit-sink", - message: "hide: no form commit sink registered (form plugin absent)" - }), { status: "no-executor" }; - const F = await s.formCommitSink( - E.map((R) => ({ kind: "setDisplay", ref: R, display: b })) - ); - F.status === "failed" && (N = F.error ?? "failed", v({ code: "executor-failed", message: `hide: ${N}` })); - } - if (I.length && !N) { - if (!s.annotCommitSink) - return v({ - code: "no-commit-sink", - message: "hide: no annotation commit sink registered (annotation plugin absent)" - }), { status: "no-executor" }; - const F = await s.annotCommitSink(I), R = F.results.filter((j) => j.status === "failed"); - for (const j of R) - v({ - code: "executor-failed", - message: `hide: annotation ${j.annotObjectNumber}: ${j.error ?? "failed"}` - }); - R.length === F.results.length && R.length > 0 && (N = R[0]?.error); - } - return N ? { status: "failed", detail: N } : { status: "executed" }; - }, P = async (O, b) => { - const v = { path: b, type: O.type, status: "blocked" }; - h.push(v); - const E = r(O, u.origin), I = (T) => p(T, O.type); - if (E === "never" || E === "block" || E === "report") { - v.status = "blocked", E !== "block" && I({ - code: "blocked", - message: `${O.type}: ${E === "never" ? "never executable" : `policy 'report' for origin '${u.origin}'`}` - }); - return; - } - if (E === "unsupported") { - v.status = "no-executor"; - return; - } - if (O.type === "hide") { - if (m) { - v.status = "skipped"; - return; - } - const T = await S(O); - v.status = T.status, T.detail && (v.detail = T.detail), T.status === "failed" && (m = !0); - return; - } - if (Ice.has(O.type)) { - if (m) { - v.status = "skipped"; - return; - } - const T = s.executors.get(O.type); - if (!T) { - v.status = O.type === "javascript" ? "inert" : "no-executor", I({ - code: "no-executor", - message: `${O.type}: no executor registered${O.type === "javascript" ? " (scripting unavailable)" : ""}` - }); - return; - } - try { - x(v, await T(O, u)); - } catch (_) { - x(v, { - status: "failed", - error: _ instanceof Error ? _.message : String(_) - }); - } - v.status === "failed" && (m = !0); - return; - } - if (O.type === "submit-form") { - if (!O.payload) { - v.status = "inert", v.detail = "submit payload unavailable (older runtime extraction)", I({ - code: "submit-payload-unavailable", - message: "submit-form: payload unavailable (older runtime extraction) — node inert" - }); - return; - } - const T = O.payload; - v.status = "skipped", g.push({ - result: v, - fire: async () => { - const _ = await n( - Nce(T), - u, - I - ); - v.status = _.status, _.detail && (v.detail = _.detail); - } - }); - return; - } - if (rN(O) || O.type === "uri") { - v.status = "skipped", g.push({ - result: v, - fire: async () => { - if (O.type === "uri") { - if (!s.uiAdapter) { - v.status = "no-executor", I({ - code: "no-adapter", - message: `${O.type}: no UI adapter installed` - }); - return; - } - s.uiAdapter.openUri(O.uri, { - isMap: O.isMap, - origin: u.origin - }), v.status = "executed"; - return; - } - const T = await o(void 0, I); - v.status = T.status, T.detail && (v.detail = T.detail); - } - }); - return; - } - v.status = "skipped", g.push({ - result: v, - fire: async () => { - const T = s.executors.get(O.type); - if (!T) { - v.status = "no-executor", I({ code: "no-executor", message: `${O.type}: no executor registered` }); - return; - } - try { - x(v, await T(O, u)); - } catch (_) { - x(v, { - status: "failed", - error: _ instanceof Error ? _.message : String(_) - }); - } - } - }); - }, k = async (O, b) => { - if (f?.aborted) { - M = !0; - return; - } - await P(O, b); - for (let v = 0; v < O.next.length && !M; v++) - await k(O.next[v], [...b, v]); - }; - if (await k(l.root, []), !m && !M) - for (const O of g) await O.fire(); - if (M) return { status: "cancelled", nodes: h, diagnostics: d }; - const A = h.some((O) => O.status === "executed"), y = h.some( - (O) => O.status === "failed" || O.status === "skipped" - ); - return { status: A ? y ? "partial" : "executed" : y ? "partial" : "inert", nodes: h, diagnostics: d }; - } - return { run: c }; } -const Lce = (e) => { - switch (e.type) { - case "annotations.created": - case "annotations.updated": - case "annotations.deleted": - case "annotations.reordered": - case "annotations.flattened": - case "forms.widgetsReordered": - return [e.page]; - // A form write can add, move or remove widgets, which carry page actions too. - case "forms.created": - case "forms.deleted": - case "forms.widgetAdded": - case "forms.widgetRemoved": - case "forms.widgetDeleted": - case "forms.widgetRestored": - case "forms.widgetUpdated": - case "forms.restored": - case "forms.repaired": - return "all"; - case "pages.flattened": - return e.pages; - case "redaction.applied": - case "stream.desynced": - case "document.versioned": - return "all"; - default: - return null; +function D6(e, t) { + return e === !0 ? t : t === !0 ? e : e === !1 || t === !1 ? !1 : e.filter((n) => t.includes(n)); +} +const $6 = (e, t) => typeof e == "boolean" || typeof t == "boolean" ? e === t : e.length === t.length && e.every((n, o) => n === t[o]); +function Ece() { + const e = it(), t = cee(Ze(At, (r) => r.getCurrentPage())), n = er("measurement"), o = sn({ label: e("measurement.title") }); + return /* @__PURE__ */ I(Re, { children: [/* @__PURE__ */ I("button", { + ...o.trigger, + type: "button", + part: _n(n.isOpen), + className: oo(n.isOpen), + "aria-pressed": n.isOpen, + onClick: () => n.toggle(), + children: /* @__PURE__ */ I("span", { + className: "flex items-center whitespace-nowrap text-sm", + children: [/* @__PURE__ */ I(ot, { + name: "updateScale", + size: 20, + className: "me-1.5 shrink-0" + }), /* @__PURE__ */ I("span", { children: [ + e("measurement.scale"), + ":", + " ", + t?.measure?.subtype === "rectilinear" ? t.measure.ratio ?? e("measurement.custom") : e("measurement.unavailable") + ] })] + }) + }), o.element] }); +} +function Cce() { + const e = it(), { files: t } = nC(); + return /* @__PURE__ */ I("span", { + className: "text-fg-muted whitespace-nowrap text-xs", + children: e("attachments.count", { params: { count: t.length } }) + }); +} +const fv = Yt(null); +function Ice({ children: e }) { + const t = an() ?? "", [n, o] = ke(() => /* @__PURE__ */ new Map()), r = jo((i) => o((c) => new Map(c).set(t, i)), [t]), s = n.get(t) ?? "", a = He(() => [s, r], [s, r]); + return /* @__PURE__ */ I(fv.Provider, { + value: a, + children: e + }); +} +const _ce = ["", () => { +}]; +function sge() { + return rt(fv) ?? _ce; +} +function Nce({ variant: e }) { + const t = it(), n = rt(fv); + if (!n) return null; + const [o, r] = n; + return /* @__PURE__ */ I("div", { + className: `relative ${e === "narrow" ? "w-24" : "w-36"}`, + children: [/* @__PURE__ */ I("div", { + className: "text-fg-muted pointer-events-none absolute inset-y-0 start-0 flex items-center ps-2", + children: /* @__PURE__ */ I(ot, { + name: "search", + size: 14 + }) + }), /* @__PURE__ */ I("input", { + type: "search", + value: o, + placeholder: t("outline.filter"), + "aria-label": t("outline.filter"), + onChange: (s) => r(s.target.value), + className: "border-border bg-surface text-fg focus:border-accent focus:ring-accent w-full rounded-md border py-1 pe-2 ps-7 text-sm outline-none focus:ring-1" + })] + }); +} +function Tce(e) { + const t = e.listCurrentPages().map((n) => n.index + 1); + return t.length ? { + first: Math.min(...t), + last: Math.max(...t) + } : null; +} +const Rce = (e, t) => e?.first === t?.first && e?.last === t?.last; +function Lce() { + const e = it(), t = ct(At), n = Ai((k) => k.currentPageIndex + 1), o = Ai((k) => k.pageCount), r = mt(At, Tce, null, Rce), s = r !== null && r.last > r.first, a = s ? r.first : n, [i, c] = ke(null), l = ye(null), u = ye(null), f = ye(!1), d = i !== null, p = sn({ label: e("pageNumber.goToPage") }), g = p.trigger.ref, h = jo((k) => { + u.current = k, g(k); + }, [g]); + if (_e(() => { + d ? (l.current?.focus(), l.current?.select()) : f.current && (f.current = !1, u.current?.focus()); + }, [d]), o <= 1) return null; + const m = () => { + f.current = !0, c(null); + }, O = () => { + const k = Number.parseInt(i ?? "", 10); + Number.isFinite(k) && t?.goToPage(Math.min(Math.max(k, 1), o) - 1), m(); + }, [E, P = ""] = (s ? e("pageNumber.pages", { params: { + first: "", + last: r.last, + total: o + } }) : e("pageNumber.page", { params: { + current: "", + total: o + } })).split(""); + return /* @__PURE__ */ I("span", { + className: "text-fg-secondary flex whitespace-nowrap text-sm", + children: d ? /* @__PURE__ */ I("span", { + className: "block h-8 px-2 leading-8", + children: [ + E, + /* @__PURE__ */ I("input", { + ref: l, + type: "text", + inputMode: "numeric", + "aria-label": e("pageNumber.goToPage"), + value: i, + onChange: (k) => c(k.target.value.replace(/[^0-9]/g, "")), + onKeyDown: (k) => { + k.key === "Enter" ? (k.preventDefault(), O()) : k.key === "Escape" && (k.preventDefault(), m()); + }, + onBlur: () => c(null), + style: { width: `${String(o).length + 1}ch` }, + className: "bg-hover ring-accent text-fg rounded text-center tabular-nums outline-none ring-1" + }), + P + ] + }) : /* @__PURE__ */ I(Re, { children: [/* @__PURE__ */ I("button", { + ...p.trigger, + ref: h, + type: "button", + onClick: () => c(String(a)), + className: "hover:bg-hover hover:text-fg block h-8 cursor-pointer rounded-md px-2 tabular-nums leading-8", + children: [ + E, + a, + P + ] + }), p.element] }) + }); +} +function jce() { + const e = it(), t = _w(), { standard: n, quick: o } = pie(), { locale: r } = Gf(), s = T3(), a = an(), i = mt(fn, (d) => d.getActiveToolId(), null), c = NJ((d) => d.armedAsset?.id ?? null), l = (o ?? []).map(Vie), u = l.some((d) => d.startsWith(`${Dl}:`)); + Se(() => { + u && hN(t).then(() => Xie(t, Gie(r), n)).catch((d) => console.error("[embedpdf] quick stamps failed:", d)); + }, [ + t, + r, + u + ]); + const f = l.map((d) => s.find((p) => p.id === d)).filter((d) => !!d); + return f.length === 0 || !a ? null : /* @__PURE__ */ I("div", { + className: "flex items-center gap-1", + role: "group", + "aria-label": e("demo.quickStampsLabel"), + children: f.map((d) => /* @__PURE__ */ I(Fce, { + asset: d, + active: i === "stamp" && c === d.id, + onArm: () => void t.armAsset(d.id).catch((p) => console.error("[embedpdf] arm failed", p)) + }, d.id)) + }); +} +function Fce({ asset: e, active: t, onArm: n }) { + const o = RJ(e.id), r = sn({ + label: e.label, + labelShown: !o + }); + return /* @__PURE__ */ I(Re, { children: [/* @__PURE__ */ I("button", { + ...r.trigger, + type: "button", + onClick: n, + "aria-label": e.label, + "aria-pressed": t, + part: _n(t), + className: oo(t, !0), + children: o ? /* @__PURE__ */ I("img", { + src: o, + alt: "", + className: "h-5 w-5 object-contain", + draggable: !1 + }) : /* @__PURE__ */ I("span", { + className: "text-xs", + children: e.label + }) + }), r.element] }); +} +function Dce(e) { + return e.canCreate() ? !0 : e.list().some(({ ref: t }) => e.canUpdate(t) || e.canDelete(t)); +} +function $ce(e, t) { + return e.canDesign() ? !0 : e.list().some((n) => n.kind === "signature" ? t?.canSign(n.ref) ?? !1 : e.canFill(n.ref)); +} +function Bce() { + const e = ct(Qe) !== null, t = ct(qo), n = mt(Qe, Dce, !1), o = mt(xo, (a) => $ce(a, t), !1), r = mt(Ui, (a) => a.canEdit(), !1), s = mt(hr, (a) => a.canApply(), !1); + return e && !n && !o && !r && !s; +} +function zce({ compact: e = !1 }) { + const t = it(), n = Pn(); + Wse((s) => s.disabledCategories); + const o = vce((s) => n.isCategoryDisabled(s)), r = Bce(); + return !o && !r ? null : /* @__PURE__ */ I(hh, { + content: { label: t(o ? "viewOnly.turnedOff" : "viewOnly.notAllowed") }, + children: (s) => /* @__PURE__ */ I("span", { + ...s, + className: "bg-hover text-fg-secondary flex h-7 shrink-0 select-none items-center gap-1.5 whitespace-nowrap rounded-full px-2.5 text-xs font-medium", + children: [/* @__PURE__ */ I(ot, { + name: "eye", + size: 16, + className: "shrink-0" + }), /* @__PURE__ */ I("span", { + className: e ? "sr-only" : void 0, + children: t("viewOnly.label") + })] + }) + }); +} +const Wce = { + orientation: "data-orientation", + edge: "data-edge", + variant: "data-variant", + size: "data-size" +}, Uce = (e) => e === "float-top" || e === "float-bottom" ? "float" : e; +function Kce(e, t) { + for (const [n, o] of Object.entries(Wce)) { + const r = t[n]; + r === null ? e.removeAttribute(o) : e.getAttribute(o) !== r && e.setAttribute(o, r); } -}; -function jce(e, { settings: t, form: n }) { - const o = (c) => { - const { triggers: l } = t.get(); - switch (c.type) { - case "activate": - return !0; - // the click door is never gated - case "annotation": - return l.annotation; - case "page": - return l.page; - case "document": - return l.document; - } - }, r = /* @__PURE__ */ new Map(); - return { triggerEnabled: o, lifecycleAnnotationsOf: (c) => { - const l = c.objectNumber, u = r.get(l); - if (u) return u; - const f = Pce(e, n, c).then( - (d) => d.filter( - (p) => p.actions && (p.actions.pageOpen?.root || p.actions.pageClose?.root || p.actions.pageVisible?.root || p.actions.pageInvisible?.root) - ).map((p) => ({ ref: p.ref, actions: p.actions })) - ); - return r.set(l, f), f.catch(() => { - r.get(l) === f && r.delete(l); - }), f; - }, invalidate: (c) => { - const l = Lce(c); - if (l === "all") r.clear(); - else if (l) for (const u of l) r.delete(u.objectNumber); - }, planPageSteps: (c, l, u, f) => { - const d = { kind: "page", page: l }, p = (h) => f.filter((g) => g.actions[h]?.root).map((g) => ({ - source: { kind: "annotation", annotation: g.ref, page: l }, - tree: g.actions[h] - })); - switch (c) { - case "open": - return [ - ...u?.open?.root ? [{ source: d, tree: u.open }] : [], - ...p("pageOpen") - ]; - case "close": - return [ - ...p("pageClose"), - ...u?.close?.root ? [{ source: d, tree: u.close }] : [] - ]; - case "visible": - return p("pageVisible"); - case "invisible": - return p("pageInvisible"); - } - } }; } -function Fce(e, { - ensureOpenSequenceBeforeDocEvent: t -}, { runAndEmit: n }) { - const { reportDiagnostic: o } = e.events, { readDocumentActions: r, DOC_EVENT_TREES: s } = e.catalog, { enqueue: i, budget: a } = e.queue, c = e.ports.slots, { allowsPrint: l } = e.authority, { documentPrint: u } = e, f = e.printLatch, d = async (g, m) => { - if (!e.settings.get().triggers.document) return null; - try { - await t(); - const x = (await r())?.[s[g]]; - return !x?.root && !x?.incomplete ? null : { source: { kind: "document" }, tree: x, result: await n(x, { - origin: "lifecycle", - source: { kind: "document" }, - event: { type: "document", event: g } - }) }; - } catch (M) { - return m({ - code: "trigger-failed", - message: `${g}: ${M instanceof Error ? M.message : String(M)}` - }), null; - } - }; +const qce = (e) => e.parentElement ?? e.getRootNode().host ?? null; +function ON() { + const e = /* @__PURE__ */ new WeakMap(), t = /* @__PURE__ */ new Set(); + let n = 0; return { - runDocumentEventOp: async (g, m, M) => { - const x = await d(g, M); - return nv(x ? [x] : [], m); - }, - firePrintThroughAdapter: async (g, m) => { - if (f.active) - return m({ - code: "reentrant-print", - message: "print request during a document print event — suppressed (one dialog per request)" - }), { status: "blocked", detail: "reentrant print suppressed" }; - if (!l()) - return m({ code: "blocked", message: "print: doc.print is not allowed" }), { status: "blocked", detail: "doc.print is not allowed" }; - if (u.available()) - return g && g.origin !== "user" ? (m({ code: "blocked", message: `print: a ${g.origin} request never prints` }), { status: "blocked", detail: `${g.origin} print request` }) : (u.start().catch( - (M) => m({ - code: "trigger-failed", - message: `print: ${M instanceof Error ? M.message : String(M)}` - }) - ), { status: "executed" }); - if (!c.uiAdapter) - return m({ code: "no-adapter", message: "print: no UI adapter installed" }), { status: "no-executor", detail: "no UI adapter installed" }; - f.active = !0; - try { - await d("will-print", m); - const M = c.uiAdapter; - return M ? (g ? M.print(g) : M.print(), await d("did-print", m), { status: "executed" }) : { status: "no-executor", detail: "UI adapter uninstalled mid-print" }; - } finally { - f.active = !1; + set(o, r) { + if (e.get(o) !== r) { + e.set(o, r), n += 1; + for (const s of [...t]) s(); } }, - api: { - runDocumentVerb: (g, m, M) => i(async () => { - a.scriptNodes = 0; - const x = (A) => o(A, { source: { kind: "document" } }), S = g === "save" ? "will-save" : "will-print", P = g === "save" ? "did-save" : "did-print", k = async () => { - if (await d(S, x), M?.signal?.aborted) - throw new Z("operation-cancelled", "actions", `${g} was cancelled`, { - cause: M.signal.reason - }); - const A = await m(); - return await d(P, x), A; - }; - if (g !== "print") return k(); - f.active = !0; - try { - return await k(); - } finally { - f.active = !1; - } - }, M) - } - }; -} -function Dce(e, { releaseBarrier: t, resetCascade: n }, { runAndEmit: o }) { - const { reportDiagnostic: r, openSequenceCompleted: s } = e.events, i = () => e.settings.get().openSequence, { readDocumentActions: a } = e.catalog, { enqueue: c } = e.queue, l = e.ports.slots; - let u = !1, f = !1; - const d = async () => { - const M = [], x = [], S = { - origin: "lifecycle", - source: { kind: "document" }, - event: { type: "document", event: "open" } - }; - try { - const k = await a(); - if (k?.openDestination) { - const A = { - root: { - type: "goto", - subtype: "GoTo", - destination: k.openDestination, - next: [] - }, - incomplete: !1, - warnings: [] - }; - x.push({ - source: { kind: "document" }, - tree: A, - result: await o(A, S) - }); + edgeOf(o) { + for (let r = o; r; r = qce(r)) { + const s = e.get(r); + if (s) return s; } - (k?.openAction?.root || k?.openAction?.incomplete) && x.push({ - source: { kind: "document" }, - tree: k.openAction, - result: await o(k.openAction, S) - }); - } catch (k) { - const A = { - code: "trigger-failed", - message: `open sequence failed: ${k instanceof Error ? k.message : String(k)}` + return "top"; + }, + subscribe(o) { + return t.add(o), () => { + t.delete(o); }; - M.push(A), r(A, { source: { kind: "document" } }); - } finally { - t(!0); - } - const P = nv(x, M); - return s.emit({ result: P }), P; - }, p = async () => { - u || i() === "off" || (u = !0, await d()); - }, h = () => { - if (!u) { - if (i() === "off") { - u = !0, t(!1); - return; - } - !l.uiAdapter && i() !== "headless" && !f || (u = !0, c(() => d())); - } - }; - return { - run: d, - ensureOpenSequenceBeforeDocEvent: p, - noteUserActivity: () => { - n(), f || (f = !0, h()); }, - claim: () => u ? !1 : (u = !0, !0), - /** Arm the latch at bringup: fires immediately for 'headless', releases - * the barrier for 'off', waits for an adapter or user activity for 'auto'. */ - arm: h, - api: { - setUiAdapter: (M) => (l.uiAdapter = M, M && h(), () => { - l.uiAdapter === M && (l.uiAdapter = null); - }) - } + version: () => n }; } -const M6 = 8; -function $ce(e, { events: t, settings: n }, { dispatch: o }) { - const { reportDiagnostic: r } = t; - let s = !1, i = null, a = { - current: null, - visible: /* @__PURE__ */ new Set() - }, c = 0; - const l = (d) => { - d.cause === "user" && (c = 0); - const p = d.currentPage === null ? null : d.currentPage.objectNumber, h = new Set(d.visiblePages.map((S) => S.objectNumber)), g = p !== a.current, m = [...a.visible].filter( - (S) => !h.has(S) - ), M = [...h].filter( - (S) => !a.visible.has(S) - ); - if (!g && m.length === 0 && M.length === 0) return; - const x = a.current; - if (a = { current: p, visible: h }, d.cause === "programmatic" && (c += 1, c > M6)) { - r({ - code: "cascade-budget", - message: `page-lifecycle emission suppressed: ${c} consecutive programmatic rounds (cap ${M6})` - }); - return; - } - g && x !== null && o({ type: "page", event: "close", page: ut(x) }); - for (const S of m) - o({ type: "page", event: "invisible", page: ut(S) }); - for (const S of M) - o({ type: "page", event: "visible", page: ut(S) }); - g && p !== null && o({ type: "page", event: "open", page: ut(p) }); - }; - return { - releaseBarrier: (d) => { - s = !0; - const p = i; - i = null; - try { - if (p) - l(p); - else if (d && n.get().openSequence === "headless") { - const h = e.document()?.pages[0]?.ref.objectNumber; - h !== void 0 && (a = { current: h, visible: a.visible }, o({ type: "page", event: "open", page: ut(h) })); - } - } catch (h) { - r({ - code: "trigger-failed", - message: `barrier release failed: ${h instanceof Error ? h.message : String(h)}` - }); - } - }, - /** A user gesture resets the programmatic-cascade counter. */ - resetCascade: () => { - c = 0; - }, - api: { reportPageState: (d) => { - if (d.placed) { - if (d.cause === "user" && (c = 0), !s) { - i = d; - return; - } - l(d); - } - } } - }; +const PN = Yt(ON()), Hce = PN.Provider; +function MN() { + return rt(PN); } -function Bce(e, { form: t }) { - const n = (c) => { - if (!c) return ["T"]; - const { r: l, g: u, b: f } = HN(c); - return ["RGB", l / 255, u / 255, f / 255]; - }, o = async (c) => { - const l = ut(c), u = await t.read(), f = e.getPage(l), d = Math.max(0, f?.index ?? -1), { annotations: p } = await e.doc.page(l).annotations.list(), h = p.filter( - (g) => g.subtype !== "link" && !g.subtype.startsWith("widget") - ).map((g) => { - const m = f ? F5(g.rect, f.pdfCropBox) : null, M = g; - return { - ref: g.ref, - name: g.nm ?? "", - subtype: g.subtype, - page: d, - rect: m ? [m.left, m.bottom, m.right, m.top] : [0, 0, 0, 0], - contents: g.contents ?? "", - author: g.author ?? "", - subject: g.subject ?? "", - strokeColor: n(M.color), - fillColor: n(M.interiorColor), - opacity: M.opacity ?? 1, - width: M.strokeWidth ?? 1, - borderStyle: M.borderStyle === "dashed" ? "D" : "S", - dash: M.dashArray ?? [], - hidden: g.hidden, - print: g.print, - readOnly: g.readOnly, - locked: g.locked, - noView: g.noView, - toggleNoView: g.toggleNoView, - opaqueBody: g.subtype === "stamp" - }; - }); - return { - snapshot: u, - world: { - fields: gb(u), - annots: h, - annotPages: [d], - annotsCoverDocument: (e.document()?.pageCount ?? 0) <= 1 - } +const EN = { + display: "inline-flex", + alignItems: "center", + flexShrink: 0 +}, Vce = { + ...EN, + flexGrow: 1 +}; +function Gce({ id: e, variant: t, orientation: n, grow: o = !1, measure: r, children: s }) { + const a = ye(null), i = av(), { size: c } = Nr(), l = MN(), u = ye(r); + u.current = r; + const f = ye(null), d = t !== null; + return _e(() => { + const p = a.current; + if (!p) return; + const g = n === "vertical" ? "height" : "width", h = () => u.current(o ? lE(p, n) : p.getBoundingClientRect()[g]); + d || h(); + const m = new ResizeObserver(h); + return m.observe(p), f.current = m, () => { + m.disconnect(), f.current = null; }; - }, r = { - cursorEnter: "Mouse Enter", - cursorExit: "Mouse Exit", - mouseDown: "Mouse Down", - mouseUp: "Mouse Up", - focus: "Focus", - blur: "Blur" - }, s = { - open: "Open", - close: "Close", - // /PV and /PI have no Acrobat event name: these two are an EmbedPDF extension. - visible: "Visible", - invisible: "Invisible" - }, i = { - open: "Open", - "will-save": "WillSave", - "did-save": "DidSave", - "will-print": "WillPrint", - "did-print": "DidPrint", - "will-close": "WillClose" - }; - return { scriptWorldFor: o, scriptEventFor: (c, l) => { - const u = c.event, f = u.type === "page" ? "Page" : u.type === "document" ? "Doc" : c.source.kind === "widget" ? "Field" : c.source.kind === "link" ? "Link" : c.source.kind === "outline" ? "Bookmark" : "Annot", d = u.type === "activate" ? "Mouse Up" : u.type === "annotation" ? r[u.event] ?? "Mouse Up" : u.type === "page" ? s[u.event] ?? "Open" : i[u.event] ?? "Open", p = c.source.kind === "widget" ? c.source.field : void 0, h = p ? l.fields.find( - (g) => p.kind === "objectNumber" && g.ref.kind === "objectNumber" ? g.ref.objectNumber === p.objectNumber : p.kind === "fqn" && g.name === p.name - ) : void 0; - return { - kind: "widget-activate", - type: f, - name: d, - ...p ? { target: p, source: p } : {}, - ...h && h.valueEntry.kind === "scalar" ? { value: h.valueEntry.value } : {} + }, [ + n, + d, + o + ]), _e(() => { + const p = a.current, g = f.current; + !p || !g || (g.unobserve(p), g.observe(p)); + }, [t]), _e(() => { + const p = a.current; + if (!p) return; + const g = { + orientation: n, + edge: Uce(i), + variant: t, + size: c + }, h = () => { + for (const m of p.assignedElements()) + Kce(m, g), l.set(m, i); }; - } }; + return h(), p.addEventListener("slotchange", h), () => p.removeEventListener("slotchange", h); + }, [ + n, + i, + t, + c, + l + ]), /* @__PURE__ */ I("slot", { + ref: a, + name: `item:${e}`, + style: o ? Vce : EN, + children: s + }); } -const zce = 16; -function Wce(e, t, n, { scriptHost: o }, { performSubmit: r }, { surfaceScriptResult: s }, i) { - const { reportDiagnostic: a } = t.events, c = t.ports.slots, { budget: l } = t.queue, { firePrintThroughAdapter: u } = i, { scriptWorldFor: f, scriptEventFor: d } = Bce(e, t), p = async (g, m) => { - let M = null; - if (g.formEffects.length > 0) - if (!c.formCommitSink) - m({ - code: "no-commit-sink", - message: `script form effects dropped: no form commit sink registered (${g.formEffects.length})` - }); - else { - const x = await c.formCommitSink(g.formEffects); - x.status === "failed" && (M = `form effects: ${x.error ?? "failed"}`); - } - if (g.annotEffects.length > 0) - if (M) - m({ - code: "executor-failed", - message: `script annot effects skipped after form failure (${g.annotEffects.length})` - }); - else if (!c.annotCommitSink) - m({ - code: "no-commit-sink", - message: `script annot effects dropped: no annotation commit sink registered (${g.annotEffects.length})` - }); +const CN = 4, Yce = { popover: "manual" }, Qce = '[role="menuitem"], [role="menuitemradio"], [role="menuitemcheckbox"]', IN = '[inert], [aria-hidden="true"]', zb = Yt(!1), el = (e) => [...e.querySelectorAll(Qce)].filter((t) => t.closest('[role="menu"]') === e), _N = (e) => e?.getAttribute("aria-label") || e?.textContent?.trim() || void 0, NN = (e, t) => [...e.querySelectorAll("[aria-haspopup]")].find((n) => !t.contains(n)) ?? null; +function Xce(e, t) { + const n = Jf(e), o = e.closest('[role="menu"]'), r = o ? Jf(o) : n, s = t.clientTop + parseFloat(getComputedStyle(t).paddingTop || "0"); + return { + x: r.x, + y: n.y - s, + width: r.width, + height: n.height + }; +} +function Zce(e, t, n, o) { + const r = n0(e, "client"); + r && (e.style.maxHeight = `${Math.max(0, r.height - 2 * CN)}px`, fN(e, t, n, o)); +} +function Jce(e, t, n) { + const { nested: o, close: r } = n, s = NN(t, e), a = Sp(t), i = n.placement(a), c = _N(s); + c && e.setAttribute("aria-label", c), typeof e.showPopover == "function" && e.showPopover(); + const l = () => Zce(e, o ? Xce(t, e) : Jf(t), i, o ? 0 : CN); + l(); + const u = new ResizeObserver(l); + u.observe(e), u.observe(t); + const f = vp(l), d = u0(e, (m) => { + (!s || !m.composedPath().includes(s)) && r(); + }), p = b0(e, { + trigger: s, + close: r, + items: () => el(e) + }), g = uN(a), h = (m) => { + const O = m.target, E = !m.defaultPrevented, P = O.getAttribute("aria-haspopup") === "menu"; + if (E && m.key === g.open && P && el(e).includes(O)) + if (m.preventDefault(), O.getAttribute("aria-expanded") !== "true") O.click(); else { - const x = g.annotEffects.map((k) => ({ - annotObjectNumber: k.ref.kind === "objectNumber" ? k.ref.objectNumber : -1, - ...k.ref.kind === "objectNumber" ? { page: k.ref.page } : {}, - patch: k.patch - })), P = (await c.annotCommitSink(x)).results.find((k) => k.status === "failed"); - P && (M = `annotation ${P.annotObjectNumber}: ${P.error ?? "failed"}`); + const k = O.parentElement?.querySelector('[role="menu"]'); + k && el(k)[0]?.focus(); } - return M && m({ code: "executor-failed", message: `script commit: ${M}` }), M; + else E && m.key === g.close && o && (m.preventDefault(), r(), s?.focus()); + o && m.key !== "Tab" && m.stopPropagation(); }; - if (!o) return; - const h = n.maxScriptNodesPerDispatch ?? zce; - c.executors.set("javascript", async (g, m) => { - if (g.type !== "javascript") return { status: "inert", reason: "not a JS node" }; - if (l.scriptNodes >= h) - return { - status: "inert", - reason: `dispatch script budget exhausted (${h} JS nodes)` - }; - l.scriptNodes += 1; - const M = m.source, x = e.document()?.pages[0]?.ref.objectNumber, S = M.kind === "widget" || M.kind === "page" ? M.page.objectNumber : M.kind === "link" || M.kind === "annotation" ? M.page?.objectNumber ?? x : x; - if (S === void 0) - return { status: "inert", reason: "no page to anchor the world on" }; - const P = (w) => a(w, { action: "javascript", source: M }), k = [], A = (w, O) => w.uiEffects.filter((b) => b.type === "print" || b.type === "submitForm" ? (k.push({ effect: b, phase: O }), !1) : !0), y = await o.transaction(async (w) => { - let O = await f(S); - const b = await w.boot({ - ...O.world, - event: { kind: "name-tree-boot", type: "Doc", name: "Open" } - }); - b && (await p(b, P), s({ - uiEffects: A(b, "boot"), - diagnostics: b.diagnostics, - ...b.error ? { error: b.error } : {}, - origin: m.origin, - phase: "boot", - realm: "document", - source: M - }), (b.formEffects.length || b.annotEffects.length) && (O = await f(S))); - const v = await w.run(g.script, { - ...O.world, - event: d(m, O.snapshot) + return e.addEventListener("keydown", h), () => { + e.removeEventListener("keydown", h), p(), d(), f(), u.disconnect(), typeof e.hidePopover == "function" && e.matches(":popover-open") && e.hidePopover(); + }; +} +function pu(e) { + const t = ye(null), [n, o] = ke(!1), r = Nr().size === "compact"; + return _e(() => { + const s = t.current?.parentElement; + s && !s.closest(IN) && o(!0); + }, []), n ? r ? /* @__PURE__ */ I(nle, { ...e }) : /* @__PURE__ */ I(ele, { ...e }) : /* @__PURE__ */ I("span", { + ref: t, + hidden: !0 + }); +} +function ele({ children: e, onClose: t, align: n = "start" }) { + const o = ye(null), r = av(), s = rt(zb), a = ye(t); + return a.current = t, _e(() => { + const i = o.current, c = i?.parentElement; + if (!(!i || !c)) + return Jce(i, c, { + placement: (l) => s ? lN(l) : cN(r, l, n, r === "selection" ? dN(c) : void 0), + nested: s, + close: () => a.current() }); - if (s({ - uiEffects: A(v, "user"), - diagnostics: v.diagnostics, - ...v.error ? { error: v.error } : {}, - origin: m.origin, - phase: "user", - realm: "document", - source: M - }), v.error) return { status: "failed", error: v.error.message }; - const E = await p(v, P); - return E ? { status: "failed", error: E } : { status: "executed" }; - }); - for (const w of k) - w.effect.type === "print" ? await u( - { origin: m.origin, phase: w.phase }, - P - ) : await r(sN(w.effect), m, P); - return y; + }, []), /* @__PURE__ */ I("div", { + ref: o, + ...Yce, + role: "menu", + part: "menu", + className: "border-border-subtle bg-elevated text-fg z-50 overflow-y-auto rounded-lg border shadow-xl", + style: { + position: "fixed", + right: "auto", + bottom: "auto", + margin: 0 + }, + children: /* @__PURE__ */ I(zb.Provider, { + value: !0, + children: e + }) }); } -function Uce(e, t, n) { - const o = e.sandboxFactory ?? (() => import("./index--xJY1YJM.js").then( - ({ createQuickJsSandbox: s }) => s() - )), r = e.budget ?? Wf; - return { - budget: r, - realmFor: (s) => YQ({ - sandboxFactory: o, - document: () => { - const i = s.document(); - return { - id: s.doc.id, - fileName: e.fileName?.() ?? i?.name ?? "document.pdf", - pageCount: i?.pageCount ?? 0, - pageNumber: 0 - }; - }, - identity: () => GQ(n, t()), - environment: (i) => { - const a = e.now?.() ?? Date.now(); - return { - nowMs: a, - utcOffsetMinutes: e.utcOffsetMinutes?.() ?? -new Date(a).getTimezoneOffset(), - randomSeed: e.randomSeed?.() ?? VQ(s.doc.id, i) - }; - }, - bootSources: s.bootSources, - budget: r - }) - }; +const TN = Yt(null); +function tle(e) { + const t = e.closest("[data-epdf-layer]"), n = t?.parentElement; + return t && n ? NN(n, t) : null; } -function Kce(e, { catalog: t, settings: n }, o) { - const { readDocumentActions: r } = t, s = n.get().javascript.enabled ? Uce( - o, - () => n.get().javascript.identity ?? void 0, - e.doc - ) : null, i = s ? s.realmFor({ - doc: e.doc, - document: () => e.document(), - bootSources: async () => ((await r())?.nameTreeScripts ?? []).map( - ({ action: c }) => zs(c) - ) - }) : null; - return i && e.cleanup(() => i.destroy()), { - scriptHost: i, - api: { - isScriptingEnabled: () => i !== null, - ...i && s ? { - scriptRealm: { - transaction: (a) => i.transaction(a), - budget: s.budget - }, - createDetachedScriptRealm: (a) => { - const c = s.realmFor(a); - return { - transaction: (l) => c.transaction(l), - budget: s.budget, - destroy: () => c.destroy() - }; - } - } : {} - } +function nle({ children: e, onClose: t }) { + const [n, o] = ke([]), r = ye(n); + r.current = n; + const s = ye(null), a = ye(t); + a.current = t; + const i = (l) => o([...r.current, l]), c = () => { + const l = r.current; + l.length !== 0 && (s.current = l[l.length - 1].opener, o(l.slice(0, -1))); }; + return _e(() => { + s.current?.focus(), s.current = null; + }, [n]), /* @__PURE__ */ I(yN, { + label: "", + onClose: t, + trapFocus: !1, + children: /* @__PURE__ */ I(TN.Provider, { + value: i, + children: /* @__PURE__ */ I("div", { + className: "grid", + children: [/* @__PURE__ */ I(B6, { + covered: n.length > 0, + close: () => a.current(), + children: e + }), n.map((l, u) => /* @__PURE__ */ I(B6, { + covered: u < n.length - 1, + close: c, + opener: l.opener, + label: l.label, + onBack: c, + children: /* @__PURE__ */ I(hv, { + menuId: l.menuId, + onRun: l.onRun + }) + }, u))] + }) + }) + }); } -function qce(e, { performSubmit: t }) { - const { reportDiagnostic: n, scriptDiagnosticReported: o, scriptFailed: r } = e.events, s = e.ports.slots, { allowsPrint: i } = e.authority, { documentPrint: a } = e, c = e.printLatch, l = (f) => { - const d = { origin: f.origin, phase: f.phase }, p = f.source ?? null; - for (const h of f.uiEffects) { - if (f.realm === "detached" && h.type !== "alert") { - o.emit({ - code: "ui-effect-suppressed", - message: `script ${h.type} request from a detached realm suppressed: no document surface` - }); - continue; - } - if (h.type === "submitForm") { - t( - sN(h), - { - origin: f.origin, - source: f.source ?? { kind: "api" }, - event: { type: "activate" } - }, - (g) => n(g, { action: "javascript", source: p }) - ); - continue; - } - if (h.type === "print" && !i()) { - o.emit({ - code: "ui-effect-suppressed", - message: "script print request withheld: doc.print is not allowed" - }); - continue; - } - if (h.type === "print" && c.active) { - o.emit({ - code: "ui-effect-suppressed", - message: "script print request during a document print event — suppressed (reentrant)" - }); - continue; - } - if (h.type === "print" && a.available()) { - if (f.origin !== "user") { - o.emit({ - code: "ui-effect-suppressed", - message: `script print request from a ${f.origin} event suppressed` - }); - continue; - } - a.start().catch( - (g) => n( - { - code: "trigger-failed", - message: `print: ${g instanceof Error ? g.message : String(g)}` - }, - { action: "javascript", source: p } - ) - ); - continue; - } - if (h.type === "focusField") { - s.formFocus?.(h.field) || o.emit({ - code: "ui-effect-suppressed", - message: `script setFocus on "${h.field}" withheld: no such field to fill in on screen` - }); - continue; - } - if (!s.uiAdapter) { - n( - { code: "no-adapter", message: `script ${h.type}: no UI adapter installed` }, - { action: "javascript", source: p } - ); - continue; - } - h.type === "alert" ? s.uiAdapter.alert?.(h.message, { - ...d, - icon: h.icon, - ...h.title !== void 0 ? { title: h.title } : {} - }) : h.type === "goToPage" ? s.uiAdapter.goToPage?.(h.pageIndex, d) : s.uiAdapter.print(d); - } - for (const h of f.diagnostics) o.emit(h); - f.error && r.emit({ error: f.error, source: p }); - }; - return { - surfaceScriptResult: l, - api: { surfaceScriptResult: l, surfaceScriptCommit: (f, d) => { - const p = ["boot", "user"]; - for (const h of p) { - const g = f.uiEffects.filter((m) => m.phase === h); - g.length === 0 && h === "boot" || l({ - uiEffects: g, - diagnostics: h === "user" ? f.diagnostics : [], - ...h === "user" && f.error ? { error: f.error } : {}, - origin: d.origin, - phase: h, - realm: d.realm, - ...d.source ? { source: d.source } : {} - }); - } - } } - }; +function B6({ covered: e, close: t, opener: n, label: o, onBack: r, children: s }) { + const a = it(), i = ye(null), c = ye({ + close: t, + onBack: r + }); + return c.current = { + close: t, + onBack: r + }, _e(() => { + const l = i.current; + if (!l) return; + const u = n ?? tle(l), f = o ?? _N(u); + f && l.setAttribute("aria-label", f); + const d = b0(l, { + trigger: u, + close: () => c.current.close(), + items: () => el(l), + initialFocus: "none" + }); + queueMicrotask(() => { + l.isConnected && !l.inert && el(l).find((h) => !ti(h))?.focus(); + }); + const p = uN(Sp(l)), g = (h) => { + if (h.defaultPrevented) return; + const m = h.target; + h.key === p.open && m.getAttribute("aria-haspopup") === "menu" ? (h.preventDefault(), m.click()) : h.key === p.close && c.current.onBack && (h.preventDefault(), c.current.onBack()); + }; + return l.addEventListener("keydown", g), () => { + l.removeEventListener("keydown", g), d(); + }; + }, []), _e(() => { + i.current && (i.current.inert = e); + }, [e]), /* @__PURE__ */ I("div", { + ref: i, + role: "menu", + part: "menu", + className: `bg-elevated isolate col-start-1 row-start-1 min-w-0 ${r ? "starting:translate-x-full rtl:starting:-translate-x-full transition-[translate] duration-200 ease-out motion-reduce:transition-none" : ""}`, + children: [r && /* @__PURE__ */ I("div", { + className: "p-1 pb-0", + children: [/* @__PURE__ */ I("button", { + type: "button", + tabIndex: -1, + role: "menuitem", + part: "menu-item", + "data-epdf-menu-back": "", + onClick: r, + className: pv, + children: [/* @__PURE__ */ I(ot, { + name: "chevronLeft", + size: 16, + className: "text-fg-muted rtl:-scale-x-100" + }), /* @__PURE__ */ I("span", { + className: "flex-1 truncate", + children: a("menu.back") + })] + }), o && /* @__PURE__ */ I("div", { + className: "text-fg px-2.5 pb-1 pt-2 text-sm font-semibold", + children: o + })] + }), /* @__PURE__ */ I(zb.Provider, { + value: !0, + children: s + })] + }); } -function Hce(e) { - return { allowsPrint: () => e.allows("doc.print") }; +const z6 = /* @__PURE__ */ new WeakMap(); +function sm(e) { + let t = z6.get(e); + return t || (t = /* @__PURE__ */ new Map(), z6.set(e, t)), t; } -const Vce = { - "will-save": "willSave", - "did-save": "didSave", - "will-print": "willPrint", - "did-print": "didPrint", - "will-close": "willClose" -}; -function Gce(e) { - let t = null; - return { readDocumentActions: () => { - if (!t) { - const o = e.doc.actions, s = (o ? Promise.resolve(o.get()) : Promise.resolve(null)).catch((i) => { - throw t === s && (t = null), i; - }); - t = s; +function gh({ menuId: e, className: t = "relative inline-flex", children: n }) { + const o = ct(Ue), r = gae((l) => l.openMenus.includes(e)), s = ye(null), [, a] = ls((l) => l + 1, 0), i = o ? sm(o).get(e) : void 0, c = r && i !== void 0 && i === s.current; + return _e(() => { + const l = s.current; + if (!o || !l) return; + const u = sm(o), f = u.get(e); + if (!r) { + f === l && u.delete(e); + return; } - return t; - }, DOC_EVENT_TREES: Vce }; + !f?.isConnected && !l.closest(IN) && (u.set(e, l), a()); + }), /* @__PURE__ */ I("span", { + ref: s, + className: t, + onClickCapture: (l) => { + const u = l.target, f = u.closest("[aria-haspopup]") && !u.closest('[role="menu"]'); + o && s.current && f && sm(o).set(e, s.current); + }, + children: [n(c), c && /* @__PURE__ */ I(pu, { + onClose: () => o?.closeMenu(e), + children: /* @__PURE__ */ I(hv, { + menuId: e, + onRun: () => o?.closeMenu(e) + }) + })] + }); } -function Yce(e) { - const t = () => e.get(tt); - return { - /** Whether the kernel prints this document: `doc.print`, and the host gave a printer. */ - available: () => t().canPrint(), - /** Print the document through the kernel. */ - start: () => t().print() - }; +const RN = (e) => { + const t = e.filter((o) => !o.menu), n = t.filter((o) => o.active).length; + return n === 0 ? "none" : n === 1 && t.length > 1 ? "radio" : "checkbox"; +}, ole = { + none: "menuitem", + radio: "menuitemradio", + checkbox: "menuitemcheckbox" +}, LN = "flex w-full items-center gap-3 rounded-md px-2.5 py-1.5 text-start text-sm outline-none transition-colors aria-disabled:cursor-not-allowed aria-disabled:opacity-40", pv = `${LN} text-fg-secondary hover:bg-hover focus-visible:bg-hover aria-disabled:hover:bg-transparent`, rle = `${LN} bg-selected text-accent focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-accent forced-colors:outline-2 forced-colors:outline-solid forced-colors:-outline-offset-2`, jN = (e) => sn(e.enabled ? null : { + label: e.label, + reason: e.disabledReason, + labelShown: !0 +}, { inMenu: !0 }); +function hu({ command: e, choice: t, onSelect: n }) { + const o = t !== "none" && e.active, [r] = e.shortcuts, s = jN(e); + return /* @__PURE__ */ I(Re, { children: [/* @__PURE__ */ I("button", { + ...s.trigger, + type: "button", + tabIndex: -1, + role: ole[t], + "aria-checked": t === "none" ? void 0 : e.active, + "aria-disabled": e.enabled ? void 0 : !0, + part: o ? "menu-item menu-item-active" : "menu-item", + onClick: () => { + e.enabled && n(); + }, + className: o ? rle : pv, + children: [ + e.icon && /* @__PURE__ */ I(ot, { + name: e.icon, + size: 16, + accent: e.iconAccent, + className: `${o ? "text-accent" : "text-fg-muted"} ${Ti(e.icon)}` + }), + /* @__PURE__ */ I("span", { + className: "flex-1 truncate", + children: e.label + }), + r && /* @__PURE__ */ I("span", { + className: "text-fg-muted ms-4 text-xs [font-variant-emoji:text]", + children: T_(r) + }) + ] + }), s.element] }); } -function Qce(e) { - const t = e.events.source(), n = e.events.source(); - return { - executed: t, - diagnosticReported: n, - scriptDiagnosticReported: e.events.source(), - scriptFailed: e.events.source(), - openSequenceCompleted: e.events.source(), - /** Fire `onDiagnosticReported` with the action and source it concerns (`null` for none). */ - reportDiagnostic(o, r = {}) { - n.emit({ - code: o.code, - action: r.action ?? null, - source: r.source ?? null - }); - } - }; +function FN({ command: e, menuId: t, onRun: n }) { + const [o, r] = ke(!1), s = rt(TN), a = jN(e); + return /* @__PURE__ */ I("div", { + role: "none", + className: "relative", + children: [ + /* @__PURE__ */ I("button", { + ...a.trigger, + type: "button", + tabIndex: -1, + role: "menuitem", + "aria-haspopup": "menu", + "aria-expanded": o, + "aria-disabled": e.enabled ? void 0 : !0, + part: "menu-item", + onClick: (i) => { + e.enabled && (s ? s({ + menuId: t, + label: e.label, + opener: i.currentTarget, + onRun: n + }) : r((c) => !c)); + }, + className: `${pv} ${o ? "bg-hover" : ""}`, + children: [ + e.icon && /* @__PURE__ */ I(ot, { + name: e.icon, + size: 16, + accent: e.iconAccent, + className: `text-fg-muted ${Ti(e.icon)}` + }), + /* @__PURE__ */ I("span", { + className: "flex-1 truncate", + children: e.label + }), + /* @__PURE__ */ I(ot, { + name: "chevronRight", + size: 16, + className: "text-fg-muted rtl:-scale-x-100" + }) + ] + }), + a.element, + o && /* @__PURE__ */ I(pu, { + onClose: () => r(!1), + children: /* @__PURE__ */ I(hv, { + menuId: t, + onRun: n + }) + }) + ] + }); } -function Xce(e, t) { - return { - read: (n = (o) => o) => { - const o = t.formReader?.(); - return o ? Promise.resolve(o) : n(e.doc.forms.list()); +function sle({ commandId: e, choice: t, onRun: n }) { + const o = Fn(e); + return o.visible ? o.menu ? /* @__PURE__ */ I(FN, { + command: o, + menuId: o.menu, + onRun: n + }) : /* @__PURE__ */ I(hu, { + command: o, + choice: t, + onSelect: () => { + o.run(), n?.(); } - }; -} -function Zce({ reportDiagnostic: e }) { - const t = { - executors: /* @__PURE__ */ new Map(), - annotCommitSink: null, - formCommitSink: null, - formReader: null, - formFocus: null, - uiAdapter: null, - submitHandler: null, - submitResolver: null - }; - return { slots: t, api: { - registerExecutor: (o, r) => (t.executors.has(o) && e( - { code: "duplicate-executor", message: `executor for '${o}' replaced (last-wins)` }, - { action: o } - ), t.executors.set(o, r), () => { - t.executors.get(o) === r && t.executors.delete(o); - }), - registerAnnotCommitSink: (o) => (t.annotCommitSink = o, () => { - t.annotCommitSink === o && (t.annotCommitSink = null); - }), - registerFormCommitSink: (o) => (t.formCommitSink = o, () => { - t.formCommitSink === o && (t.formCommitSink = null); - }), - registerFormReader: (o) => (t.formReader = o, () => { - t.formReader === o && (t.formReader = null); - }), - registerFormFocus: (o) => (t.formFocus = o, () => { - t.formFocus === o && (t.formFocus = null); - }), - setSubmitHandler: (o) => (t.submitHandler = o, () => { - t.submitHandler === o && (t.submitHandler = null); - }), - registerSubmitResolver: (o) => (t.submitResolver = o, () => { - t.submitResolver === o && (t.submitResolver = null); - }) - } }; + }) : null; } -const Jce = () => ({ active: !1 }); -function ele(e) { - return { enqueue: e.serialQueue("actions"), budget: { scriptNodes: 0 } }; +function DN({ title: e, first: t, children: n }) { + const o = Go(); + return /* @__PURE__ */ I(Re, { children: [!t && /* @__PURE__ */ I("div", { + role: "separator", + className: "bg-border-subtle my-1 h-px" + }), /* @__PURE__ */ I("div", { + role: "group", + "aria-labelledby": e ? o : void 0, + children: [e && /* @__PURE__ */ I("div", { + id: o, + className: "text-fg-muted px-2.5 pb-1 pt-1.5 text-[11px] font-semibold uppercase tracking-wide", + children: e + }), n] + })] }); } -function tle(e) { - const t = Qce(e), n = Zce(t); - return { - settings: e.settings(), - events: t, - policy: _ce(e), - ports: n, - queue: ele(e), - catalog: Gce(e), - form: Xce(e, n.slots), - authority: Hce(e), - documentPrint: Yce(e), - printLatch: Jce() - }; +const ale = (e, t) => e.length === t.length && e.every((n, o) => n === t[o]); +function hv({ menuId: e, onRun: t }) { + const n = it(), o = fie(e), r = Pn(), s = an() ?? void 0, a = vt(() => (o ?? []).map((c) => { + const l = c.items.map((u) => r.resolveCommand(u, s)).filter((u) => u?.visible === !0); + return l.length === 0 ? null : RN(l); + }), ale); + if (!o) return null; + const i = o.flatMap((c, l) => { + const u = a[l]; + return u ? [{ + section: c, + choice: u + }] : []; + }); + return i.length === 0 ? null : /* @__PURE__ */ I("div", { + className: "min-w-52 p-1", + children: i.map(({ section: c, choice: l }, u) => /* @__PURE__ */ I(DN, { + first: u === 0, + title: c.title ?? (c.titleKey ? n(c.titleKey) : void 0), + children: c.items.map((f) => /* @__PURE__ */ I(sle, { + commandId: f, + choice: l, + onRun: t + }, f)) + }, u)) + }); } -function nle(e, t, n) { - const o = t.policy, r = t.ports.slots, { reportDiagnostic: s } = t.events, i = () => n.now?.() ?? Date.now(); - return { performSubmit: async (c, l, u) => { - const f = o.current()["submit-form"][l.origin]; - if (f !== "adapter" && f !== "allow") - return f === "report" && u({ - code: "blocked", - message: `submit-form: policy 'report' for origin '${l.origin}'` - }), { status: "blocked" }; - if (!r.submitResolver) - return u({ - code: "no-submit-resolver", - message: "submit-form: no dataset resolver registered (form plugin missing?)" - }), { status: "blocked", detail: "no dataset resolver" }; - let d; - try { - d = await r.submitResolver(c, l, u); - } catch (g) { - const m = g instanceof Error ? g.message : String(g); - return u({ code: "executor-failed", message: `submit-form: dataset resolution: ${m}` }), { status: "failed", detail: m }; - } - const p = e.doc.forms, h = typeof p.submit == "function" ? () => Promise.resolve( - p.submit(Tce(d, new Date(i()).toISOString())) - ) : null; - if (r.submitHandler) - try { - const g = r.submitHandler(d, { submitToDocumentHome: h }); - return g && typeof g.then == "function" && g.catch((m) => { - s( - { - code: "executor-failed", - message: `submit handler rejected (detached): ${m instanceof Error ? m.message : String(m)}` - }, - { action: "submit-form", source: l.source } - ); - }), { status: "executed" }; - } catch (g) { - const m = g instanceof Error ? g.message : String(g); - return u({ code: "executor-failed", message: `submit handler threw: ${m}` }), { status: "failed", detail: m }; - } - if (h) - try { - return await h(), { status: "executed" }; - } catch (g) { - const m = g instanceof Error ? g.message : String(g); - return u({ code: "executor-failed", message: `document home refused submit: ${m}` }), { status: "failed", detail: m }; - } - return u({ - code: "no-submit-sink", - message: "submit-form: no handler installed and the document has no submit-capable home" - }), { status: "blocked", detail: "no submit sink" }; - } }; +function mh({ view: e, align: t }) { + const n = it(); + if (!e.isOpen) return null; + const o = e.sections.map((r) => { + const s = r.rows.flatMap((a) => { + const i = e.resolve(a.command); + return i ? [{ + row: a, + command: i + }] : []; + }); + return { + section: r, + rows: s, + choice: r.role === "radio" ? "radio" : RN(s.map(({ command: a }) => a)) + }; + }); + return /* @__PURE__ */ I(pu, { + onClose: e.close, + align: t, + children: /* @__PURE__ */ I("div", { + className: "min-w-56 p-1", + children: o.map(({ section: r, rows: s, choice: a }, i) => /* @__PURE__ */ I(DN, { + first: i === 0, + title: r.labelKey ? n(r.labelKey) : void 0, + children: s.map(({ row: c, command: l }) => c.kind === "submenu" ? /* @__PURE__ */ I(FN, { + command: l, + menuId: c.menu, + onRun: e.close + }, c.command) : /* @__PURE__ */ I(hu, { + command: l, + choice: a, + onSelect: () => { + e.execute(c.command), e.close(); + } + }, c.command)) + }, i)) + }) + }); } -function ole(e, t = {}) { - const n = tle(e), { events: o, ports: r, settings: s } = n, i = { - dispatch: (x) => m.dispatch(x), - runAndEmit: (x, S) => m.runAndEmit(x, S) - }, a = t.javascript ?? {}, c = nle(e, n, a), l = Kce(e, n, a), u = qce(n, c), f = $ce(e, n, i), d = Dce(n, f, i), p = Fce(n, d, i), h = jce(e, n), g = Rce(e, n, c, p), m = Mce( - e, - n, - g, - h, - d, - p - ); - return Wce(e, n, a, l, c, u, p), { - api: ys("actions", [ - s.api, - r.api, - l.api, - u.api, - f.api, - d.api, - p.api, - m.api, - { - onExecuted: o.executed.on, - onDiagnosticReported: o.diagnosticReported.on, - onScriptDiagnosticReported: o.scriptDiagnosticReported.on, - onScriptFailed: o.scriptFailed.on, - onOpenSequenceCompleted: o.openSequenceCompleted.on - } - ]), - connect() { - e.listen(e.doc.events, (x) => h.invalidate(x)), d.arm(), e.aroundDownload((x) => p.api.runDocumentVerb("save", x)), e.aroundPrint((x) => p.api.runDocumentVerb("print", x)); - } - }; +const W6 = "flex h-8 w-auto min-w-8 cursor-pointer items-center justify-center rounded-md p-[5px] transition-colors", ile = "hover:bg-hover hover:ring hover:ring-accent", cle = "border-none bg-selected text-accent shadow ring ring-accent", lle = "cursor-not-allowed opacity-50 hover:bg-transparent hover:ring-0", ule = "bg-accent text-on-accent hover:bg-accent-hover", dle = "border-none bg-accent-active text-on-accent shadow", fle = "cursor-not-allowed opacity-50 hover:bg-accent"; +function oo(e, t = !0, n) { + return n === "primary" ? `${W6} ${e ? dle : ule} ${t ? "" : fle}` : `${W6} ${e ? cle : ile} ${t ? "" : lle}`; } -function rle(e) { - if (!e) return; - const { javascript: t } = e; +const _n = (e, t) => [ + "toolbar-button", + t === "primary" ? "toolbar-button-primary" : null, + e ? "toolbar-button-active" : null +].filter(Boolean).join(" "), bh = (e) => `toolbar toolbar-${e}`, $N = (e) => e ? "mode-tab mode-tab-active" : "mode-tab", ple = "flex h-8 w-auto min-w-8 cursor-pointer items-center justify-center rounded-none border-b-2 px-2 py-1 text-sm transition-colors hover:bg-transparent hover:border-b-fg-muted", hle = "border-b-accent text-accent hover:border-b-accent", gle = "border-b-transparent", BN = (e, t = !0) => `${ple} ${e ? hle : gle} ${t ? "" : "cursor-not-allowed opacity-50"}`; +function hi(e, t = !1) { + const [n] = e.shortcuts; return { - policy: e.policy, - triggers: e.triggers, - openSequence: e.openSequence, - javascript: t && { enabled: t.enabled, identity: t.identity } + label: e.label, + shortcut: n === void 0 ? null : T_(n), + reason: e.enabled ? null : e.disabledReason ?? null, + labelShown: t }; } -const sle = (e) => ({ - id: "actions", - token: Wa, - scope: "document", - settings: { defaults: lB, registered: rle(e) }, - create: (t) => ole(t, e) -}); -function ile(e) { - const t = at(yn), n = at(xt), o = me(e); - o.current = e, Se(() => { - if (!t) return; - const r = sD({ - overrides: () => o.current, - goToPage: (s) => n?.goToPage(s) - }); - return t.setUiAdapter(r); - }, [t, n]); +function yh({ cmd: e, variant: t, run: n, emphasis: o }) { + const r = t === "label", s = sn(hi(e, r || t === "icon+label" || !e.icon)), a = (i) => /* @__PURE__ */ I(Re, { children: [/* @__PURE__ */ I("button", { + ...s.trigger, + type: "button", + onClick: n, + disabled: !e.enabled, + "aria-pressed": e.pressable ? i : void 0, + "aria-haspopup": e.menu ? "menu" : void 0, + "aria-expanded": e.menu ? i : void 0, + "aria-label": e.label, + part: r ? $N(i) : _n(i, o), + className: r ? BN(i, e.enabled) : `${oo(i, e.enabled, o)} ${o === "primary" && t === "icon+label" ? "px-2.5" : ""}`, + children: r ? /* @__PURE__ */ I("span", { + className: "whitespace-nowrap px-1", + children: e.label + }) : t === "icon+label" ? /* @__PURE__ */ I("span", { + className: "flex items-center whitespace-nowrap text-sm", + children: [e.icon && /* @__PURE__ */ I(ot, { + name: e.icon, + size: 20, + accent: e.iconAccent, + className: `me-1.5 shrink-0 ${Ti(e.icon)}` + }), /* @__PURE__ */ I("span", { children: e.label })] + }) : e.icon ? /* @__PURE__ */ I(ot, { + name: e.icon, + size: 20, + accent: e.iconAccent, + className: Ti(e.icon) + }) : /* @__PURE__ */ I("span", { + className: "text-sm", + children: e.label + }) + }), s.element] }); + return e.menu ? /* @__PURE__ */ I(gh, { + menuId: e.menu, + children: a + }) : a(e.active); } -const iN = Object.freeze({ pagesSearched: 0, pageCount: 0 }), ov = () => ({ - query: null, - status: "idle", - operationId: null, - hits: [], - hitsByPage: {}, - activeHitIndex: -1, - progress: iN, - error: null -}), ale = (e, t, n) => ({ ...ov(), query: t, status: "searching", operationId: n }), cle = (e, t) => e.pagesSearched === t.pagesSearched && e.pageCount === t.pageCount; -function lle(e, t, n) { - const o = cle(e.progress, n) ? e.progress : n; - if (t.length === 0) return o === e.progress ? e : { ...e, progress: o }; - const r = { ...e.hitsByPage }; - for (const s of t) { - const i = s.page.objectNumber; - r[i] = [...r[i] ?? [], s]; - } - return { - ...e, - hits: [...e.hits, ...t], - hitsByPage: r, - activeHitIndex: e.activeHitIndex === -1 ? 0 : e.activeHitIndex, - progress: o +const am = { + [m0]: "", + className: "contents" +}; +function mle() { + const e = it(), t = Pn(), n = Fn("zoom:in"), o = Fn("zoom:out"), r = Fn("menu:zoom"), s = sn(hi(n)), a = sn(hi(o)), i = sn(hi(r)), c = ct(Ue), l = ct(At), u = mt(At, (h) => h.getZoomLevel(), 1), f = Math.round((u ?? 1) * 100), [d, p] = ke(String(f)); + Se(() => p(String(f)), [f]); + const g = (h) => { + h.preventDefault(); + const m = parseFloat(d); + !isNaN(m) && m > 0 && l?.zoomTo({ level: m / 100 }); }; + return /* @__PURE__ */ I(gh, { + menuId: "zoom", + className: "relative block", + children: (h) => /* @__PURE__ */ I("div", { + className: "bg-hover flex items-center rounded", + children: [ + /* @__PURE__ */ I("form", { + onSubmit: g, + className: "flex min-w-0 flex-nowrap items-center overflow-hidden whitespace-nowrap", + children: [/* @__PURE__ */ I("input", { + name: "zoom", + type: "text", + inputMode: "numeric", + pattern: "\\d*", + "aria-label": e("commands.zoom.level"), + className: "h-6 w-8 min-w-0 shrink border-0 bg-transparent p-0 text-end text-sm outline-none focus:outline-none", + value: d, + onChange: (m) => p(m.target.value.replace(/[^0-9]/g, "")), + onBlur: () => { + (!d || parseFloat(d) <= 0) && p(String(f)); + } + }), /* @__PURE__ */ I("span", { + className: "shrink-0 text-sm", + children: "%" + })] + }), + /* @__PURE__ */ I("span", { + ...am, + children: [/* @__PURE__ */ I("button", { + ...i.trigger, + type: "button", + "aria-haspopup": "menu", + "aria-expanded": h, + "aria-label": r.label, + part: _n(!1), + className: oo(!1), + onClick: () => c?.toggleMenu("zoom"), + children: /* @__PURE__ */ I(ot, { + name: "chevronDown", + size: 20 + }) + }), i.element] + }), + /* @__PURE__ */ I("span", { + ...am, + children: [/* @__PURE__ */ I("button", { + ...a.trigger, + type: "button", + "aria-label": o.label, + disabled: !o.enabled, + part: _n(!1), + className: oo(!1, o.enabled), + onClick: () => t.execute("zoom:out"), + children: /* @__PURE__ */ I(ot, { + name: "zoomOut", + size: 20 + }) + }), a.element] + }), + /* @__PURE__ */ I("span", { + ...am, + children: [/* @__PURE__ */ I("button", { + ...s.trigger, + type: "button", + "aria-label": n.label, + disabled: !n.enabled, + part: _n(!1), + className: oo(!1, n.enabled), + onClick: () => t.execute("zoom:in"), + children: /* @__PURE__ */ I(ot, { + name: "zoomIn", + size: 20 + }) + }), s.element] + }) + ] + }) + }); } -const ule = (e) => ({ - ...e, - status: "complete" -}), dle = (e) => ({ - ...e, - status: "cancelled" -}), fle = (e, t) => ({ - ...e, - status: "error", - error: t -}), ple = (e, t) => e.activeHitIndex === t ? e : { ...e, activeHitIndex: t }, hle = (e) => e.status === "idle" ? e : ov(); -function gle(e, t) { - const n = e.indexOf(t); - return n >= 0 ? n : e.findIndex( - (o) => o.start === t.start && o.count === t.count && pi(o.page, t.page) - ); +function ble() { + const e = ct(Ue), t = Fn("menu:zoom"), n = sn(hi(t)); + return /* @__PURE__ */ I(gh, { + menuId: "zoom", + children: (o) => /* @__PURE__ */ I(Re, { children: [/* @__PURE__ */ I("button", { + ...n.trigger, + type: "button", + "aria-label": t.label, + "aria-haspopup": "menu", + "aria-expanded": o, + part: _n(o), + className: oo(o), + onClick: () => e?.toggleMenu("zoom"), + children: /* @__PURE__ */ I(ot, { + name: "zoomIn", + size: 20 + }) + }), n.element] }) + }); } -const mle = (e, t) => t.filter((n) => (e.hitsByPage[n.ref.objectNumber]?.length ?? 0) > 0).map((n) => n.ref), E6 = Object.freeze([]), ble = Object.freeze([]), yle = 250; -function wle(e) { - const t = e.settings(), n = e.latest("session"), o = e.events.source(), r = e.events.source(), s = e.events.source(), i = e.events.source(), a = e.events.source(), c = e.events.source(), l = e.events.source(), u = () => e.state.get(); - e.state.onChange(({ previous: P, next: k }) => { - P.progress !== k.progress && r.emit({ ...k.progress, hitCount: k.hits.length }), P.activeHitIndex !== k.activeHitIndex && c.emit({ - index: k.activeHitIndex, - hit: k.hits[k.activeHitIndex] ?? null - }), P.status !== "idle" && k.status === "idle" && l.emit({}); +function yle({ view: e }) { + const [t, n] = ke(!1), o = e.commands.some((r) => r.active); + return /* @__PURE__ */ I("span", { + className: "relative inline-flex", + children: [/* @__PURE__ */ I("button", { + type: "button", + onClick: () => n((r) => !r), + "aria-haspopup": "menu", + "aria-expanded": t, + part: e.id === "modes" ? $N(o) : _n(t), + className: BN(o), + children: /* @__PURE__ */ I(ot, { + name: "chevronDown", + size: 18 + }) + }), /* @__PURE__ */ I(mh, { view: uu(e, t, () => n(!1)) })] }); - function f(P) { - const k = []; - for (const A of P.matches) { - const y = e.getPage(A.page); - if (!y) continue; - const w = A.segments; - k.push({ - page: A.page, - pageIndex: y.index, - start: A.start, - count: A.count, - segments: w, - ...w.length ? { bounds: zM(w.map((O) => O.rect)) ?? void 0 } : {}, - ...A.snippet ? { snippet: A.snippet } : {} - }); - } - return k; - } - async function d(P, k, A) { - const { signal: y } = k; - A.onStart(); - let w = k.snippets ?? e.allows("doc.text.copy"); - const O = k.snippets !== void 0; - let b, v = !1; - for (; ; ) { - if (y?.aborted) return !1; - let E; - const I = { - ...P, - snippets: w, - ...b !== void 0 ? { cursor: b } : k.from !== void 0 ? { from: k.from } : {} - }; - try { - E = await e.cancellable( - y, - e.doc.with({ priority: "low" }).search.query(I) - ); - } catch (T) { - if (y?.aborted) return !1; - if (!O && w && b === void 0 && sn(T, "permission-denied")) { - w = !1; - continue; - } - if (b !== void 0 && !v && sn(T, "invalid-input")) { - v = !0, b = void 0, A.onStart(); - continue; - } - throw T; - } - if (y?.aborted) return !1; - if (A.onSlice(f(E), E.pagesSearched, E.pageCount), E.nextCursor === null) return !0; - b = E.nextCursor; +} +function wle({ view: e }) { + const [t, n] = ke(!1), o = e.commands.find((s) => s.active) ?? e.commands[0], r = !!(o?.active && o.id !== jl); + return /* @__PURE__ */ I("div", { + style: { width: 100 }, + className: "relative", + children: [/* @__PURE__ */ I("button", { + type: "button", + onClick: () => n((s) => !s), + "aria-haspopup": "menu", + "aria-expanded": t, + part: _n(t), + className: "bg-surface hover:bg-hover flex w-full cursor-pointer appearance-none items-center rounded-md py-1.5 pe-2 ps-3 text-[13px] transition-colors", + children: [/* @__PURE__ */ I("span", { + className: `min-w-0 flex-1 truncate text-start ${r ? "text-accent" : "text-fg"}`, + children: o?.label + }), /* @__PURE__ */ I(ot, { + name: "chevronDown", + size: 16, + className: r ? "text-accent" : "text-fg-secondary" + })] + }), /* @__PURE__ */ I(mh, { view: uu(e, t, () => n(!1)) })] + }); +} +function vle({ view: e }) { + const t = it(), [n, o] = ke(!1), r = e.commands.find((i) => i.active) ?? e.commands[0], s = e.labelKey ? t(e.labelKey) : r?.label, a = sn(s ? { + label: s, + labelShown: !r?.icon + } : null); + return /* @__PURE__ */ I("span", { + className: "relative inline-flex", + children: [ + /* @__PURE__ */ I("button", { + ...a.trigger, + type: "button", + onClick: () => o((i) => !i), + "aria-haspopup": "menu", + "aria-expanded": n, + "aria-label": s, + part: _n(n), + className: oo(n), + children: [r?.icon ? /* @__PURE__ */ I(ot, { + name: r.icon, + size: 20, + accent: r.iconAccent, + className: Ti(r.icon) + }) : /* @__PURE__ */ I("span", { + className: "whitespace-nowrap px-1 text-sm", + children: s + }), /* @__PURE__ */ I(ot, { + name: "chevronDown", + size: 14, + className: "text-fg-secondary" + })] + }), + a.element, + /* @__PURE__ */ I(mh, { view: uu(e, n, () => o(!1)) }) + ] + }); +} +function kle({ view: e }) { + return /* @__PURE__ */ I(mh, { + view: e, + align: "end" + }); +} +function xle({ isOpen: e, toggle: t }) { + const n = it()("demo.more"), o = sn({ label: n }); + return /* @__PURE__ */ I(Re, { children: [/* @__PURE__ */ I("button", { + ...o.trigger, + type: "button", + onClick: t, + "aria-haspopup": "menu", + "aria-expanded": e, + "aria-label": n, + part: _n(e), + className: oo(e), + children: /* @__PURE__ */ I(ot, { + name: "dots", + size: 20 + }) + }), o.element] }); +} +const zN = (e) => [ + ...e.sections.start ?? [], + ...e.sections.center ?? [], + ...e.sections.end ?? [] +].flatMap((t) => t.items); +function Ale(e) { + return zN(e).filter((t) => typeof t == "object" && "slot" in t); +} +function WN(e) { + return new Set(zN(e).flatMap((t) => typeof t == "object" && "command" in t && t.emphasis === "primary" ? [t.command] : [])); +} +function Sle({ commandId: e }) { + const t = Fn(e); + return t.visible ? /* @__PURE__ */ I(yh, { + cmd: t, + variant: "icon", + run: () => void t.run() + }) : null; +} +function gv({ bar: e, orientation: t = "horizontal", gap: n = 8, className: o }) { + const r = t === "vertical", s = He(() => WN(e), [e]), a = { + "measurement-scale": () => /* @__PURE__ */ I(Ece, {}), + zoom: (i) => i === "button" || r ? /* @__PURE__ */ I(ble, {}) : /* @__PURE__ */ I(mle, {}), + "quick-stamps": () => /* @__PURE__ */ I(jce, {}), + "page-number": () => /* @__PURE__ */ I(Lce, {}), + "view-only": (i) => /* @__PURE__ */ I(zce, { compact: i === "icon" || r }), + "outline-filter": (i) => /* @__PURE__ */ I(Nce, { variant: i }), + "attachments-count": () => /* @__PURE__ */ I(Cce, {}) + }; + return /* @__PURE__ */ I(yce, { + bar: e, + orientation: t, + gap: n, + separatorWidth: 1, + className: o, + renderCommand: (i, c, l) => /* @__PURE__ */ I(yh, { + cmd: i, + variant: c, + run: l, + emphasis: s.has(i.id) ? "primary" : void 0 + }), + renderCustom: { + ...Object.fromEntries(Ale(e).filter((i) => !Object.prototype.hasOwnProperty.call(a, i.slot)).map((i) => [i.slot, (c, l) => l.layer === "measure" ? null : /* @__PURE__ */ I(Gce, { + id: i.slot, + variant: i.variants ? c : null, + orientation: t, + grow: i.grow === !0, + measure: l.measure, + children: i.terminal ? /* @__PURE__ */ I(Sle, { commandId: i.terminal }) : null + })])), + ...a + }, + renderCollapsed: (i) => i.id === "modes" ? /* @__PURE__ */ I(wle, { view: i }) : i.collapse === "menu" ? /* @__PURE__ */ I(vle, { view: i }) : void 0, + renderGroupTrigger: (i) => /* @__PURE__ */ I(yle, { view: i }), + renderSeparator: () => /* @__PURE__ */ I("span", { className: `bg-border self-center ${r ? "h-px w-6" : "h-6 w-px"}` }), + renderOverflowTrigger: (i, c) => /* @__PURE__ */ I(xle, { + isOpen: i, + toggle: c + }), + renderOverflowMenu: (i) => /* @__PURE__ */ I(kle, { view: i }) + }); +} +const Ole = [ + "accent", + "background", + "surface", + "surface-raised", + "text", + "text-muted", + "border", + "hover", + "canvas", + "page-background", + "page-shadow", + "tooltip", + "tooltip-text", + "radius", + "font" +], UN = (e) => typeof e == "string" ? { preference: e } : e ?? {}, Ple = (e) => Ole.includes(e); +function Mle(e) { + return Object.entries(e).filter(([t, n]) => n === void 0 ? !1 : Ple(t) ? typeof n != "string" || /[{};]/.test(n) ? (console.warn(`[embedpdf] theme: ignoring the invalid value of "${t}"`), !1) : !0 : (console.warn(`[embedpdf] theme: "${t}" isn't a token, ignored`), !1)).map(([t, n]) => `--epdf-${t}:var(--embedpdf-host-${t},${n});`).join(""); +} +function im(e, t) { + const n = t ? Mle(t) : ""; + return n ? `${e}{${n}}` : ""; +} +function Ele(e, t) { + const { accent: n, tokens: o, light: r, dark: s } = UN(e); + return im(t, { + ...n === void 0 ? null : { accent: n }, + ...o + }) + im(`${t}:not(.dark)`, r) + im(`${t}.dark`, s); +} +const KN = Yt(null), qN = "(prefers-color-scheme: dark)", Cle = () => typeof window < "u" && window.matchMedia?.(qN).matches ? "dark" : "light"; +function Ile({ children: e, preference: t = "system", target: n }) { + const [o, r] = ke(Cle); + Se(() => { + if (t !== "system" || typeof window > "u" || !window.matchMedia) return; + const i = window.matchMedia(qN), c = () => r(i.matches ? "dark" : "light"); + return c(), i.addEventListener("change", c), () => i.removeEventListener("change", c); + }, [t]); + const s = t === "system" ? o : t; + _e(() => { + (n ?? document.documentElement).classList.toggle("dark", s === "dark"); + }, [s, n]); + const a = He(() => ({ mode: s }), [s]); + return /* @__PURE__ */ I(KN.Provider, { + value: a, + children: e + }); +} +function age() { + const e = rt(KN); + if (!e) throw new Error("useTheme must be used within "); + return e; +} +function mv({ labelledBy: e, onClose: t, className: n, children: o }) { + const r = ye(null), s = ye(null), a = ye(t); + return a.current = t, _e(() => { + const i = r.current, c = s.current; + if (!i || !c) return; + const l = aN(i), u = ph(c, { onEscape: () => a.current() }); + return () => { + u.release(), l(); + }; + }, []), /* @__PURE__ */ I("div", { + ref: r, + ...sv, + "data-epdf-layer": "", + className: `${sN} place-items-center p-4 open:grid`, + style: { + position: "fixed", + inset: "auto", + maxWidth: "none", + maxHeight: "none" + }, + children: [/* @__PURE__ */ I("div", { + "aria-hidden": "true", + className: `absolute inset-0 ${iv}` + }), /* @__PURE__ */ I("div", { + ref: s, + role: "dialog", + "aria-modal": "true", + "aria-labelledby": e, + className: `relative max-h-full max-w-full overflow-y-auto ${n}`, + children: o + })] + }); +} +const _le = [ + { key: "allura", familyName: "Allura", label: "Allura" }, + { key: "great-vibes", familyName: "Great Vibes", label: "Great Vibes" }, + { key: "caveat", familyName: "Caveat", label: "Caveat" } +], Nle = { + allura: () => import("./allura-kQfqxOOE.js"), + "great-vibes": () => import("./great-vibes-C8QWrE7r.js"), + caveat: () => import("./caveat-pV6Lyl0p.js") +}; +async function Tle(e) { + const t = Nle[e]; + if (!t) throw new Error(`@embedpdf/default-signature-fonts: no font "${e}"`); + const { default: n } = await t(); + return Rle(n); +} +function Rle(e) { + const t = atob(e), n = new Uint8Array(t.length); + for (let o = 0; o < t.length; o++) n[o] = t.charCodeAt(o); + return n; +} +function HN(e) { + let t = null; + return () => { + if (!t) { + const n = e(); + n.catch(() => { + t === n && (t = null); + }), t = n; } + return t; + }; +} +const Lle = _le.map((e) => ({ + key: e.key, + label: e.label, + bytes: HN(() => Tle(e.key)) +})), jle = (e) => async () => { + if (e.data) return new Uint8Array(e.data); + if (!e.url) throw new Error(`[embedpdf] signature font "${e.key}" has no url or data`); + const t = await fetch(e.url); + if (!t.ok) throw new Error(`${e.url}: HTTP ${t.status}`); + return new Uint8Array(await t.arrayBuffer()); +}, U6 = /* @__PURE__ */ new WeakMap(); +function Fle(e) { + if (!e) return Lle; + let t = U6.get(e); + return t || (t = e.map((n) => ({ + key: n.key, + label: n.label, + bytes: HN(jle(n)) + })), U6.set(e, t)), t; +} +const Dle = (e) => Fle(e).map((t) => ({ + key: t.key, + load: t.bytes +})), cm = /* @__PURE__ */ new WeakMap(); +function ige(e) { + let t = cm.get(e); + return t || (t = (async () => { + if (!globalThis.crypto?.subtle) return null; + const n = await e.bytes(), o = new Uint8Array(await crypto.subtle.digest("SHA-256", n)), r = Array.from(o, (s) => s.toString(16).padStart(2, "0")).join(""); + return { + hash: r, + family: Pr(r), + weight: 400, + style: "normal", + load: async () => n + }; + })(), cm.set(e, t), t.catch(() => cm.delete(e))), t; +} +const $le = (e, t) => t.type === "fonts.changed" ? po() : e, Yd = (e, t) => e.fonts.find((n) => n.name === t); +function Ble(e, t) { + const n = na(t.family), o = t.weight ?? 400, r = t.italic ?? !1; + let s; + for (const a of e.fonts) { + if (a.source === "standard" || na(a.familyName) !== n) continue; + const i = Math.abs(a.weight - o) + (a.italic === r ? 0 : 1e3) + (a.source === "engine" ? 0 : 0.5); + (!s || i < s.score) && (s = { font: a, score: i }); } - const p = () => e.tryGet(xt)?.getCurrentPage() ?? void 0; - async function h(P, k = {}) { - if (P.text.length === 0) - return g(), { status: "complete", hitCount: 0 }; - e.assertAllowed("doc.text.search", "search"); - const A = k.from === void 0 ? p() : e.pageOf(k.from).ref; - let y = ""; - return n.run(async (w) => { - if (y = w.id, !await d( - P, - { from: A, signal: w.signal }, - { - onStart: () => w.commit(() => { - e.state.update(ale, P, w.id), o.emit({ query: P }); - }), - onSlice: (b, v, E) => w.commit(() => e.state.update(lle, b, { pagesSearched: v, pageCount: E })) - } - )) throw new Z("operation-cancelled", "search", "search aborted"); - return w.commit(() => { - e.state.update(ule), s.emit({ hitCount: u().hits.length }); - }), { status: "complete", hitCount: u().hits.length }; - }, k).catch((w) => { - if (sn(w, "instance-closed")) return { status: "cancelled", hitCount: 0 }; - if (sn(w, "operation-cancelled")) { - const b = w.details?.reason ?? "cancelled", v = b === "superseded" ? "superseded" : b === "cleared" ? "cleared" : "cancelled"; - return v === "cancelled" && u().operationId === y && e.state.update(dle), i.emit({ reason: v }), { - status: v === "superseded" ? "superseded" : "cancelled", - hitCount: u().hits.length - }; - } - const O = bn(Be("search", w)); - throw u().operationId === y && e.state.update(fle, O), a.emit({ error: O }), w; - }); - } - function g() { - n.cancel("cleared"), e.state.update(hle); - } - function m(P, k) { - const { hits: A } = u(); - if (A.length === 0) return null; - const y = typeof P == "number" ? (P % A.length + A.length) % A.length : gle(A, P); - return y < 0 ? null : (e.state.update(ple, y), M(A[y], k), A[y]); - } - function M(P, k) { - const A = { ...t.get().reveal, ...k }; - e.tryGet(xt)?.reveal(P.page, { - rect: P.bounds, - align: A.align, - behavior: A.behavior - }); + return s?.font; +} +function K6(e, t) { + const n = e?.fonts.find( + (o) => o.programs.some((r) => r.displaySha256 === t) + ); + return n ? { weight: n.weight, italic: n.italic } : { weight: 400, italic: !1 }; +} +function zle(e) { + if (!e) return []; + const t = []; + for (const n of e.fallbacks) { + const o = Yd(e, n)?.programs[0]?.displaySha256; + o && t.push(o); } - const x = (P) => { - const k = e.getPage(P); - return k ? u().hitsByPage[k.ref.objectNumber] ?? E6 : E6; - }, S = { - ...t.api, - // The twin of search() and findAll(), which refuse without doc.text.search. - // Snippets need doc.text.copy too, but a search without it still runs: its - // matches come without snippets (see collect). - canSearch: (P) => e.allows("doc.text.search") && (!P?.snippets || e.allows("doc.text.copy")), - search: h, - refresh: async (P) => { - const { query: k, status: A } = u(); - !k || A === "idle" || await h(k, P); - }, - cancel: () => n.cancel("cancelled"), - clear: g, - nextHit: (P) => m(u().activeHitIndex + 1, P), - previousHit: (P) => m(u().activeHitIndex - 1, P), - goToHit: m, - revealActiveHit: (P) => { - const k = S.getActiveHit(); - k && M(k, P); - }, - getQuery: () => u().query, - getStatus: () => u().status, - listHits: (P) => P?.page === void 0 ? u().hits : x(P.page), - getHitCount: (P) => (P === void 0 ? u().hits : x(P)).length, - listPagesWithHits: () => u().hits.length ? mle(u(), e.document()?.pages ?? []) : ble, - getActiveHitIndex: () => u().activeHitIndex, - getActiveHit: () => u().hits[u().activeHitIndex] ?? null, - getProgress: () => u().progress, - getError: () => u().error, - // ── the service ────────────────────────────────────────────────────── - findAll: async (P, k = {}) => { - e.assertAllowed("doc.text.search", "findAll"), k.snippets && e.assertAllowed("doc.text.copy", "findAll"); - const A = []; - if (!await d( - P, - { - ...k.snippets !== void 0 ? { snippets: k.snippets } : {}, - ...k.signal ? { signal: k.signal } : {} - }, - { - onStart: () => { - A.length = 0; - }, - onSlice: (w) => A.push(...w) - } - )) throw new Z("operation-cancelled", "search", "findAll aborted"); - return A; - }, - onStarted: o.on, - onProgressChanged: r.on, - onCompleted: s.on, - onCancelled: i.on, - onFailed: a.on, - onActiveHitChanged: c.on, - onCleared: l.on + return t; +} +function Wle(e, t) { + return [...e.map((n) => `"${n}"`), t].join(", "); +} +function Ule(e) { + const { measurer: t } = e, n = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(); + let r = 0; + const s = (d) => { + let p = n.get(d); + return p || (p = fw(d), n.set(d, p)), p; + }, a = async (d, p, g) => { + const h = e.programOf(p, g), m = await e.getProgram(p); + return eG(m, h, (O, E) => d.width(h, O, E)); + }, i = async (d, p) => { + const g = Al(Pr(p)); + return g ? Ya(g) : a(d, p); + }, c = async (d, p) => { + await e.loadList(); + const h = (await e.resolve({ runs: [{ text: " ", fontFamily: p }] })).runs[0], m = Promise.all(h.fallbacks.map((E) => i(d, E))); + return { face: ho(h.font) ? Ya(h.font) : h.program ? await a(d, h.program, h) : Ya(e.standardOf(h.font)), fallbacks: await m, lastResort: hI() }; + }, l = (d, p) => { + const g = o.get(p) ?? { value: null, generation: -1, finding: !1 }; + if (o.set(p, g), g.finding || g.generation === r) return g; + g.finding = !0; + const h = r, m = (O) => { + g.value = O, g.generation = h, g.finding = !1, e.changed(); + }; + return c(d, p).then(m, () => m("failed")), g; + }, u = (d, p) => { + const g = !p.face.standard && e.refused(p.face.program), h = p.fallbacks.filter((m) => !e.refused(m.program)); + return !g && h.length === p.fallbacks.length ? p : { + face: g ? Ya(e.standardOf(d)) : p.face, + fallbacks: h, + lastResort: p.lastResort + }; + }, f = (d, p, g) => { + const h = /* @__PURE__ */ new Set(); + let m = !1; + for (const [O, E] of iI(g)) { + const { font: P, covered: k } = uI(g.slice(O, E), p); + !k || P.standard || h.has(P) || (h.add(P), d.ready(P.program) || (m = !0)); + } + return m; }; return { - api: S, - connect() { - let P = null; - e.listen(e.doc.events, () => { - u().status !== "idle" && (P?.(), P = e.clock.after(yle, () => { - P = null, S.refresh().catch(() => { - }); - })); + /** + * The fonts a box in `font` draws `text` with; `null` while they're found + * or a program the text needs loads (`changed` says when to ask again). + * Text a standard font draws whole needs neither. Where the fonts can't be + * found or measured, the box's standard font, or Helvetica, with only the + * last resort behind it. + */ + get(d, p) { + const g = s(d); + if (ho(d) && ub(g.face, p) || !t) return g; + const { value: h } = l(t, d); + if (h === null) return null; + if (h === "failed") return g; + const m = u(d, h); + return f(t, m, p) ? null : m; + }, + /** The document's fonts changed: find each font's again, the next time it's asked for. */ + reset() { + r++; + } + }; +} +function Kle(e) { + const t = /^epdf-([0-9a-f]{16})$/.exec(e)?.[1]; + return t && !fs.startsWith(t) ? t : void 0; +} +function qle(e) { + const t = e.events.source(), n = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(); + let r = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), a = 0; + const i = () => { + a++, e.notify(); + }, c = e.mirror({ + name: "fonts", + onDemand: !0, + initial: () => null, + load: async (b) => ({ value: await b.fonts.list() }), + fold: $le, + onChanged: ({ previous: b, next: v }) => { + r = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), b && g.reset(), i(), v && t.emit({ fonts: v }); + } + }), l = (b, v) => { + const x = Al(Pr(b)); + if (x) return No(x); + if (b === fs) return xl(); + let y = n.get(b); + if (!y) { + let M = null; + y = { + hash: b, + family: Pr(b), + weight: v.weight, + style: v.italic ? "italic" : "normal", + load: () => { + if (!M) { + const S = Promise.resolve().then( + () => e.doc.fonts.downloadProgram(b) + ); + S.catch(() => { + M === S && (M = null); + }), M = S; + } + return M; + } + }, n.set(b, y); + } + return y; + }, u = (b, v) => { + if (ho(b)) return b; + const x = c.get(), y = x ? Yd(x, b) : void 0; + return y ? qr({ + family: y.familyName, + weight: v?.weight ?? y.weight, + italic: v?.italic ?? y.italic + }) : "helvetica"; + }, f = (b) => e.measurer?.refused(b) ?? !1, d = (b, v, x, y) => { + const M = c.get(), S = [], C = (_) => { + S.some((T) => T.hash === _.hash) || S.push(_); + }; + b && C(b); + for (const _ of x) { + const T = l(_, K6(M, _)); + f(T) || C(T); + } + return C(xl()), { + fontFamily: S.map((_) => e.measurer?.ready(_) ?? !0).every((_) => _) ? Wle( + S.map((_) => _.family), + y + ) : y, + fontWeight: v.weight, + fontStyle: v.italic ? "italic" : "normal", + programs: S + }; + }, p = (b) => { + let v = o.get(b); + return v || (v = e.doc.fonts.getProgram(b), o.set(b, v), v.catch(() => o.delete(b))), v; + }, g = Ule({ + measurer: e.measurer, + // After the asker's turn: a read (a render) that asks for fonts writes no state while it runs. + loadList: () => Promise.resolve().then(() => c.ensureLoaded()), + resolve: (b) => e.doc.fonts.resolve(b), + getProgram: p, + programOf: (b, v) => l(b, v ?? K6(c.get(), b)), + standardOf: (b) => u(b), + refused: f, + changed: i + }); + e.measurer?.onChange(() => { + r = /* @__PURE__ */ new Map(), i(); + }); + const h = () => { + c.getStatus() === "idle" && Promise.resolve().then(() => c.ensureLoaded()).catch(() => { + }); + }, m = (b) => { + const v = c.get(), x = `${b.weight}|${b.italic}`, y = s.get(x); + if (y) return y; + if (v && y === void 0) { + const M = s; + M.set(x, null), Promise.resolve().then( + () => e.doc.fonts.resolve({ + runs: [{ text: " ", family: "Helvetica", weight: b.weight, italic: b.italic }] + }) + ).then(({ runs: S }) => { + M === s && (M.set(x, S[0]?.fallbacks ?? []), r = /* @__PURE__ */ new Map(), i()); + }).catch(() => { + M === s && M.delete(x); }); } + return zle(v); + }, O = (b) => [ + ...m(b), + No(qr(b)).hash + ], E = (b, v) => { + let x = r.get(b); + return x || (x = v(), r.set(b, x)), x; + }, P = (b, v) => Xp( + v ?? (b ? qr({ + family: b.familyName, + weight: b.weight, + italic: b.italic + }) : "helvetica") + ), k = (b) => d( + No(b), + Ro[b], + O(Ro[b]), + P(void 0, b) + ), A = (b) => { + const v = b.programs[0], x = v?.displaySha256 && v.canDownload ? l(v.displaySha256, b) : null; + return !x || f(x) ? k( + qr({ family: b.familyName, weight: b.weight, italic: b.italic }) + ) : d( + x, + b, + O({ family: b.familyName, weight: b.weight, italic: b.italic }), + P(b, null) + ); }; + return { api: { + getFontList: c.get, + getStatus: c.getStatus, + ensureLoaded: () => c.ensureLoaded(), + refresh: () => c.refresh(), + resolve: async (b, v) => e.cancellable(v?.signal, e.doc.fonts.resolve(b)), + readProgram: async (b, v) => ( + // Another caller may share the read: cancelling this one leaves it running. + e.cancellable( + v?.signal, + p(b).then((x) => x) + ) + ), + getPaintFonts: (b, v) => g.get(b, v), + getPaintFontsEpoch: () => a, + getFontCss: (b) => (ho(b) || h(), E(`font:${b}`, () => { + if (ho(b)) return k(b); + const v = c.get(), x = v ? Yd(v, b) : void 0; + return x ? A(x) : k(Sa(b)); + })), + getFaceCss: (b) => (ny(b.family) || h(), E(`face:${b.family}|${b.weight ?? 400}|${b.italic ?? !1}`, () => { + const v = c.get(), x = v ? Ble(v, b) : void 0; + return x ? A(x) : k(qr(b)); + })), + getRunCss: (b) => E( + `run:${b.font}|${b.weight}|${b.italic}|${b.program}|${b.fallbacks.join(",")}`, + () => { + const v = ho(b.font) ? b.font : null, x = c.get(), y = b.program ? l(b.program, b) : null; + return d( + y && f(y) ? No(u(b.font, b)) : y, + b, + b.fallbacks, + P(x ? Yd(x, b.font) : void 0, v) + ); + } + ), + getFaceOfCssFamily: (b) => { + const v = Al(b); + if (v) return { ...Ro[v] }; + const x = Kle(b); + if (!x) return null; + const y = c.get()?.fonts.find( + (M) => M.programs.some((S) => S.displaySha256?.startsWith(x)) + ); + return y ? { family: y.familyName, weight: y.weight, italic: y.italic } : null; + }, + onFontListChanged: t.on + } }; } -const vle = (e) => ({ - id: "search", - token: Zo, +const Hle = () => ({ + id: "fonts", + token: Ir, scope: "document", - optional: [xt], - state: ov, - settings: { defaults: XZ, registered: e }, - create: wle -}), kle = ln(Zo, { - read: (e) => ({ - query: e.getQuery(), - status: e.getStatus(), - hitCount: e.getHitCount(), - activeHitIndex: e.getActiveHitIndex(), - activeHit: e.getActiveHit(), - progress: e.getProgress(), - error: e.getError() - }), - empty: { - query: null, - status: "idle", - hitCount: 0, - activeHitIndex: -1, - activeHit: null, - progress: iN, - error: null + create: qle +}), VN = St("metadata", { + hint: "add metadataPlugin() from '@embedpdf/plugin-metadata' to your plugins list", + // Without a document, an adapter's stand-in rejects these with `not-ready`, as the + // capability would; the type asks for every member that returns a promise. + promises: { + update: !0, + refresh: !0, + ensureLoaded: !0, + "custom.update": !0, + "custom.refresh": !0 } }); -function xle({ onHitClick: e }) { - const t = so(), n = Ole(t.ref), o = Ale((d) => d.activeHit), r = Sle((d) => d.highlight), [s] = ke(P$); - if (n.length === 0) return null; - const i = Ye("search-highlight", r.color), a = Ye("search-highlight-active", r.activeColor), c = Ye( - "search-blend-mode", - r.blendMode - ), l = e ? { pointerEvents: "auto", cursor: "pointer" } : null, u = (d) => e && { - onPointerDown: (p) => s.press(p), - onClick: (p) => { - s.isClick(p) && e(d); +function q6(e, t) { + const n = Object.keys(t); + return e ? [.../* @__PURE__ */ new Set([...Object.keys(e), ...n])].filter((r) => e[r] !== t[r]) : n; +} +const H6 = "doc.metadata.modify"; +function Vle(e) { + const t = e.events.source(), n = e.events.source(), o = e.events.source(), r = e.events.source(), s = e.mirror({ + name: "metadata", + onDemand: !0, + initial: () => null, + load: async (f) => ({ value: await f.metadata.get() }), + fold: (f, d) => d.type === "metadata.updated" ? d.metadata : f, + onChanged: ({ cause: f, event: d, previous: p, next: g }) => { + g && (f === "load" ? n.emit({ metadata: g }) : d && "origin" in d && t.emit({ + metadata: g, + previous: p, + changedKeys: q6(p, g), + origin: d.origin + })); } - }, f = S$(n, { - active: o, - page: t.transform, - color: i, - activeColor: a - }); - return /* @__PURE__ */ C("div", { style: { position: "absolute", inset: 0, pointerEvents: "none" }, children: f.map( - (d) => d.box ? /* @__PURE__ */ C( - "div", - { - ...u(d.hit), - style: { - position: "absolute", - left: d.box.left, - top: d.box.top, - width: d.box.width, - height: d.box.height, - backgroundColor: d.fill, - mixBlendMode: c, - borderRadius: 2, - ...l - } - }, - d.key - ) : /* @__PURE__ */ C( - "svg", - { - style: { - position: "absolute", - inset: 0, - width: "100%", - height: "100%", - overflow: "visible", - mixBlendMode: c - }, - children: /* @__PURE__ */ C( - "polygon", - { - points: d.points ?? void 0, - ...u(d.hit), - style: { fill: d.fill, ...l } - } - ) - }, - d.key - ) - ) }); + }), a = e.mirror({ + name: "customMetadata", + onDemand: !0, + initial: () => null, + load: async (f) => ({ value: await f.metadata.custom.get() }), + fold: (f, d) => d.type === "metadata.customUpdated" ? d.custom : f, + onChanged: ({ cause: f, event: d, previous: p, next: g }) => { + g && (f === "load" ? r.emit({ custom: g }) : d && "origin" in d && o.emit({ + custom: g, + previous: p, + changedKeys: q6(p, g), + origin: d.origin + })); + } + }), i = () => e.allows(H6), c = (f, d) => { + if (e.assertAllowed(H6, f), d?.signal?.aborted) + throw new te("operation-cancelled", "metadata", `${f} was cancelled`); + }, l = { + getSnapshot: a.get, + getStatus: a.getStatus, + update: async (f, d) => (c("metadata.custom.update", d), { custom: (await e.cancellable(d?.signal, e.doc.metadata.custom.update(f))).custom }), + refresh: (f) => e.cancellable(f?.signal, a.refresh()), + onUpdated: o.on, + onResynced: r.on + }; + return { api: { + getSnapshot: s.get, + getStatus: s.getStatus, + ensureLoaded: (f) => e.cancellable( + f?.signal, + Promise.all([s.ensureLoaded(), a.ensureLoaded()]).then(() => { + }) + ), + canUpdate: i, + update: async (f, d) => (c("metadata.update", d), { metadata: (await e.cancellable(d?.signal, e.doc.metadata.update(f))).metadata }), + refresh: (f) => e.cancellable(f?.signal, s.refresh()), + onUpdated: t.on, + onResynced: n.on, + custom: l + } }; } -function qpe() { - return Ge(Zo); +const Gle = () => ({ + id: "metadata", + token: VN, + scope: "document", + create: Vle +}); +async function Yle(e, t, n, o = (r) => r) { + const [r, s] = await Promise.all([ + e.allows("doc.annotate.read") ? o(e.doc.page(n).annotations.list()).then((a) => a.annotations) : Promise.resolve([]), + e.allows("doc.forms.read") ? t.read(o).then( + (a) => a.widgets.filter((i) => i.page.objectNumber === n.objectNumber) + ) : Promise.resolve([]) + ]); + return [...r, ...s]; } -const Ale = Wn(kle), Sle = bi(Zo), Ple = Object.freeze([]); -function Ole(e) { - const t = Ko(); - return wt( - (n) => n.tryCapability(Zo, t ?? void 0)?.listHits(e === void 0 ? void 0 : { page: e }) ?? Ple - ); +async function V6(e, t, n, o = (r) => r) { + const r = Y(n), s = (a) => Y(a.ref) === r; + if (e.allows("doc.forms.read")) { + const a = (await t.read(o)).widgets.find(s); + if (a) return a; + } + return e.allows("doc.annotate.read") ? (await o(e.doc.page(n.page).annotations.list())).annotations.find(s) ?? null : null; } -const nl = At("stage-thumbs"), C6 = { - code: "en", - name: "English", - translations: { - measurement: { - title: "Measurements", - distance: "Distance", - perimeter: "Perimeter", - area: "Area", - areaUnit: "Area unit", - resetLabel: "Reset label position", - calibrate: "Calibrate scale", - scale: "Scale", - custom: "Custom", - unavailable: "Unavailable", - instructions: "Drag to measure a distance, then click to place its dimension line. Click vertices for a perimeter or area and double-click to finish. Area boundaries must not cross; an unavailable preview cannot be finished. Press Escape to cancel. Drag the label itself to move it.", - sessionOnly: "This engine keeps page calibration for this session only.", - allPages: "Apply to all pages", - recalculate: "Recalculate existing measurements", - preset: "Scale preset", - choosePreset: "Choose a preset", - unit: "Unit", - precision: "Precision", - selection: "Selected measurements", - report: "{updated} updated · {skipped} skipped · {failed} failed", - knownLength: "Enter the real length represented by the line you just drew.", - length: "Known length", - apply: "Apply scale", - applying: "Applying…" - }, - commands: { - zoom: { - in: "Zoom In", - out: "Zoom Out", - fitPage: "Fit to Page", - fitWidth: "Fit to Width", - automatic: "Automatic", - marquee: "Marquee Zoom", - menu: "Zoom", - level: "Zoom Level", - p50: "50%", - p100: "100%", - p150: "150%", - p200: "200%", - p400: "400%" - }, - pan: "Pan", - pointer: "Pointer", - comment: "Comment", - style: "Style", - menu: "Menu", - viewControls: "View Controls", - open: "Open", - download: "Download", - print: "Print", - fullscreen: "Full Screen", - spread: { - group: "Page Layout", - none: "Single Page", - odd: "Two Page", - even: "Cover Page" - }, - scroll: { - group: "Scrolling", - vertical: "Vertical", - horizontal: "Horizontal", - paged: "Page by page" - }, - rotate: { - group: "Rotate", - clockwise: "Rotate Clockwise", - counterclockwise: "Rotate Counter-Clockwise" - }, - mode: { - measure: "Measure", - group: "Mode", - view: "View", - annotate: "Annotate", - shapes: "Shapes", - insert: "Insert", - form: "Form", - redact: "Redact" - }, - annotate: { - cancelCreation: "Cancel drawing", - highlight: "Highlight", - strikeout: "Strikeout", - underline: "Underline", - squiggly: "Squiggly", - ink: "Draw", - inkHighlight: "Ink Highlighter", - text: "Text", - insertText: "Insert Text", - replaceText: "Replace Text", - callout: "Callout", - note: "Comment", - link: "Link", - gotoLink: "Go to link", - saveFile: "Save file", - removeLink: "Remove link", - delete: "Delete", - group: "Group", - ungroup: "Ungroup", - stampFromSelection: "Make stamp", - strip: "Annotation actions" - }, - selection: { - copy: "Copy", - strip: "Text selection actions" - }, - snapshot: { - tool: "Take a Snapshot", - copy: "Copy", - save: "Save Image", - clear: "Clear Snapshot", - strip: "Snapshot actions" - }, - shapes: { - rectangle: "Rectangle", - circle: "Circle", - line: "Line", - arrow: "Arrow", - polygon: "Polygon", - polyline: "Polyline" - }, - insert: { - stamp: "Rubber Stamp", - attachment: "Attach File", - signature: "Signature", - image: "Image" - }, - form: { - textfield: "Text Field", - checkbox: "Checkbox", - radio: "Radio Button", - select: "Dropdown", - listbox: "List Box", - button: "Button", - signature: "Signature Field", - design: "Form design" - }, - redact: { - mark: "Mark for Redaction", - applyAll: "Apply Redactions", - apply: { - one: "Apply Redaction", - other: "Apply {count} Redactions" - }, - clearAll: "Clear Marks" - }, - undo: "Undo", - redo: "Redo", - page: { - next: "Next Page", - previous: "Previous Page", - first: "First Page", - last: "Last Page", - goTo: "Go to Page" - }, - find: "Find", - shortcuts: "Keyboard Shortcuts", - notAllowed: { - default: "{label} isn't allowed", - "annotations-create": "Adding annotations isn't allowed", - "doc-annotate-modify": "Changing annotations isn't allowed", - "doc-annotate-read": "Viewing annotations isn't allowed", - "doc-attachments-modify": "Adding files isn’t allowed", - "doc-content-copy": "Taking snapshots isn't allowed", - "doc-download": "Downloading isn't allowed", - "doc-forms-modify": "Editing form fields isn't allowed", - "doc-outline-modify": "Changing the outline isn’t allowed", - "doc-pages-assemble": "Changing pages isn’t allowed", - "doc-print": "Printing isn't allowed", - "doc-render-thumbnail": "Showing thumbnails isn't allowed", - "doc-text-copy": "Copying isn't allowed", - "doc-text-search": "Searching isn't allowed" - }, - commentThread: { more: "More options" }, - attachment: { - add: "Add file", - save: "Save", - goTo: "Go to page", - delete: "Delete", - more: "More options" - }, - outline: { - add: "Add item", - addChild: "Add child item", - rename: "Rename", - setDestination: "Set destination to current view", - properties: "Properties…", - delete: "Delete", - expandAll: "Expand all", - collapseAll: "Collapse all", - more: "More options" - }, - pages: { - rotateClockwise: "Rotate Page Clockwise", - rotateCounterclockwise: "Rotate Page Counter-Clockwise", - delete: "Delete Pages", - duplicate: "Duplicate Pages", - insertBlank: "Insert Blank Page", - insertFile: "Insert from File…", - extract: "Extract Pages", - selectAll: "Select All Pages", - more: "Page Options" - }, - turnedOff: "{label} isn't available", - locked: { default: "{label} can't be changed in this document" } - }, - passwordPrompt: { - title: "Password required", - required: "This document is password protected. Enter the password to open it.", - incorrect: "The password was incorrect. Please try again.", - incorrectWarning: "Incorrect password", - label: "Password", - placeholder: "Enter password", - cancel: "Cancel", - open: "Open", - opening: "Opening…" - }, - grantPrompt: { - passphraseTitle: "Passphrase required", - passphraseRequired: "This link is protected. Enter the passphrase you were given to open the document.", - passphraseIncorrect: "That passphrase didn’t work. Please try again.", - passphraseLabel: "Passphrase", - openTitle: "Before you open this document", - changeTitle: "Before you make changes", - asks: "The owner of this document asks who you are.", - shownOnChanges: "Your name is shown on what you add.", - final: "You can’t change your answers later.", - privacy: "Privacy notice", - optional: "optional", - invalid: "Check this answer.", - invalidEmail: "Enter a valid email address.", - fields: { - displayName: "Name", - email: "Email", - title: "Job title", - organization: "Organization", - organizationalUnit: "Department" - }, - open: "Open", - cancel: "Cancel", - continue: "Continue", - saving: "Saving…", - notNow: "Not now" - }, - dropToOpen: { label: "Drop a PDF to open it" }, - documentError: { - title: "Couldn’t open document", - unknown: "The document could not be opened.", - notFound: "The file wasn’t found.", - notAllowed: "You don’t have access to this document.", - damaged: "This file isn’t a PDF, or it’s damaged.", - unsupported: "This viewer can’t open this kind of document.", - retry: "Try again", - close: "Close document" - }, - tabs: { - close: "Close {name}", - loading: "Loading", - untitled: "Document {id}" - }, - closeUnsaved: { - title: "Close without saving?", - body: "“{name}” has changes that weren’t downloaded. They’ll be lost.", - cancel: "Cancel", - close: "Close without saving" - }, - viewOnly: { - label: "View only", - turnedOff: "The tools that change this document are turned off", - notAllowed: "You can read this document, but not change it" - }, - panel: { - close: "Close", - resize: "Resize {title}" - }, - menu: { back: "Back" }, - shortcuts: { - document: "Document", - viewing: "Viewing", - editing: "Editing", - other: "Other" - }, - goToPage: { go: "Go" }, - print: { - title: "Print", - pages: "Pages", - allPages: "All pages", - currentPage: "Current page", - range: "Custom", - rangeLabel: "Pages to print", - rangePlaceholder: "e.g. 1-3, 5", - rangeInvalid: "Use page numbers from 1 to {total}, such as 1-3, 5", - annotations: "Print annotations", - preparing: "Preparing…", - preparingPage: "Preparing page {page} of {total}…", - ready: "Ready to print.", - images: "Pages print as images at {dpi} DPI.", - lowResolution: "This document allows only low-resolution printing ({dpi} DPI).", - failed: "The printout couldn’t be prepared.", - cancel: "Cancel", - print: "Print" - }, - panels: { - thumbnails: "Thumbnails", - outline: "Outline", - attachments: "Attachments", - search: "Search", - comments: "Comments", - style: "Style", - stamps: "Stamps", - signatures: "Signatures", - redaction: "Redactions", - measurement: "Measurements", - formDesign: "Form design", - switch: "Switch panel" - }, - annotation: { - comment: "Comment", - highlight: "Highlight", - underline: "Underline", - squiggly: "Squiggly", - strikeout: "Strikethrough", - square: "Square", - circle: "Circle", - line: "Line", - polygon: "Polygon", - polyline: "Polyline", - ink: "Ink", - freeText: "Text", - stamp: "Stamp", - caret: "Caret", - redact: "Redact", - fileAttachment: "Attachment", - style: { - kind: "Type", - opacity: "Opacity", - stroke: "Stroke", - fill: "Fill", - color: "Color", - strokeWidth: "Stroke width", - border: "Border", - borderStyle: "Border style", - borderColor: "Border color", - borderWidth: "Border width", - background: "Background", - outline: "Outline", - lineEndings: "Line endings", - blendMode: "Blend mode", - font: "Font", - fontSize: "Font size", - textColor: "Text color", - bold: "Bold", - italic: "Italic", - underline: "Underline", - align: "Align", - alignment: "Alignment", - label: "Label", - labelFont: "Label font", - labelSize: "Label size", - labelColor: "Label color", - icon: "Icon", - link: "Link" - }, - flags: { - print: "Print", - hidden: "Hidden", - noView: "No view", - toggleNoView: "Toggle no view", - readOnly: "Read only", - locked: "Locked", - lockedContents: "Locked contents", - noZoom: "No zoom", - noRotate: "No rotate", - invisible: "Invisible" - }, - borderStyles: { - solid: "Solid", - dashed: "Dashed", - cloudy: "Cloudy" - }, - lineEndings: { - none: "None", - square: "Square", - circle: "Circle", - diamond: "Diamond", - openArrow: "Open arrow", - closedArrow: "Closed arrow", - butt: "Butt", - reverseOpenArrow: "Reverse open arrow", - reverseClosedArrow: "Reverse closed arrow", - slash: "Slash" - }, - blendModes: { - normal: "Normal", - multiply: "Multiply", - screen: "Screen", - overlay: "Overlay", - darken: "Darken", - lighten: "Lighten", - colorDodge: "Color dodge", - colorBurn: "Color burn", - hardLight: "Hard light", - softLight: "Soft light", - difference: "Difference", - exclusion: "Exclusion", - hue: "Hue", - saturation: "Saturation", - color: "Color", - luminosity: "Luminosity" - }, - fonts: { - courier: "Courier", - courierBold: "Courier Bold", - courierBoldOblique: "Courier Bold Oblique", - courierOblique: "Courier Oblique", - helvetica: "Helvetica", - helveticaBold: "Helvetica Bold", - helveticaBoldOblique: "Helvetica Bold Oblique", - helveticaOblique: "Helvetica Oblique", - timesRoman: "Times Roman", - timesBold: "Times Bold", - timesBoldItalic: "Times Bold Italic", - timesItalic: "Times Italic", - symbol: "Symbol", - zapfDingbats: "Zapf Dingbats" - }, - alignments: { - left: "Left", - center: "Center", - right: "Right" - }, - noteIcons: { - comment: "Comment", - key: "Key", - note: "Note", - help: "Help", - newParagraph: "New paragraph", - paragraph: "Paragraph", - insert: "Insert" - }, - attachmentIcons: { - pushPin: "Push pin", - paperclip: "Paperclip", - graph: "Graph", - tag: "Tag" +const bv = (e, t) => { + const n = e.map((r) => r.result.status); + return { status: e.length === 0 ? "inert" : n.every((r) => r === "refused") ? "refused" : n.every((r) => r === "inert") ? "inert" : n.every((r) => r === "executed") ? "executed" : "partial", steps: e, diagnostics: t }; +}, G6 = (e) => { + switch (e.type) { + case "activate": + case "annotation": + return e.source ?? { kind: "annotation", annotation: e.annotation, page: e.page }; + case "page": + return { kind: "page", page: e.page }; + case "document": + return { kind: "document" }; + } +}, Qle = (e, t) => new te("operation-cancelled", "actions", `${e} was cancelled`, { + cause: t?.reason +}); +function Xle(e, t, { run: n }, { triggerEnabled: o, lifecycleAnnotationsOf: r, planPageSteps: s }, a, { runDocumentEventOp: i }) { + const { executed: c, reportDiagnostic: l } = t.events, { decisionFor: u } = t.policy, { allowsPrint: f } = t.authority, { enqueue: d, budget: p } = t.queue, { readDocumentActions: g, DOC_EVENT_TREES: h } = t.catalog, { form: m } = t, { noteUserActivity: O } = a, E = async (C, N, _) => { + const T = await n(C, N, _); + return c.emit({ tree: C, result: T, source: N.source }), T; + }, P = (C, N, _) => { + const T = _?.signal; + return N.origin === "user" && O(), d(async () => { + p.scriptNodes = 0; + const $ = await E(C, N, T); + if ($.status === "cancelled") throw Qle("actions.execute", T); + return $; + }, _); + }, k = (C, N) => { + if (C.incomplete || !C.root) return !1; + const _ = u(C.root, N.origin); + return _ === "allow" || _ === "adapter"; + }, A = async (C, N, _, T, $) => { + const j = []; + for (const z of C) { + if ($?.aborted) break; + const L = await E(z.tree, { origin: N, source: z.source, event: _ }, $); + j.push({ source: z.source, tree: z.tree, result: L }); + } + return $?.aborted ? { status: "cancelled", steps: j, diagnostics: T } : bv(j, T); + }, w = async (C, N) => { + const _ = [], T = (j) => { + _.push(j), l(j, { source: G6(C) }); + }, $ = (j) => e.cancellable(N, j); + try { + if (!o(C)) + return T({ + code: "trigger-disabled", + message: `${C.type}: trigger family disabled by config` + }), { status: "inert", steps: [], diagnostics: _ }; + const j = cx(C); + switch (C.type) { + case "activate": + case "annotation": { + const z = C.type === "activate" ? "activate" : C.event, L = await V6(e, m, C.annotation, $); + if (z === "mouseUp" && L?.actions?.activate) + return { status: "inert", steps: [], diagnostics: _ }; + const D = L?.actions?.[z]; + if (!D?.root && !D?.incomplete) return { status: "inert", steps: [], diagnostics: _ }; + const F = G6(C); + return await A([{ source: F, tree: D }], j, ix(C), _, N); + } + case "page": { + const z = await r(C.page), L = e.getPage(C.page)?.actions, D = s(C.event, C.page, L, z); + return await A(D, j, ix(C), _, N); + } + case "document": + return C.event !== "open" ? await i(C.event, _, T) : a.claim() ? await a.run() : (T({ + code: "open-sequence-replayed", + message: "document open sequence already fired for this document" + }), { status: "inert", steps: [], diagnostics: _ }); } + } catch (j) { + return un(j, "operation-cancelled") && N?.aborted ? { status: "cancelled", steps: [], diagnostics: _ } : (T({ + code: "trigger-failed", + message: `trigger resolution failed: ${j instanceof Error ? j.message : String(j)}` + }), { status: "refused", steps: [], diagnostics: _ }); + } + }, b = (C, N) => { + const _ = N?.signal; + return cx(C) === "user" && O(), d(() => (p.scriptNodes = 0, w(C, _)), N).catch( + // Only a signal that fired while the trigger waited for its turn gets + // here: resolveAndRun itself never throws. + () => ({ status: "cancelled", steps: [], diagnostics: [] }) + ); + }, v = (C) => ({ + root: { type: "named", subtype: "Named", name: C, next: [] }, + incomplete: !1, + warnings: [] + }), x = (C) => ({ + origin: "user", + source: { kind: "api" }, + event: { type: "activate" }, + ...C + }), y = (C, N, _) => P(v(C), x(N), _), M = (C, N) => k(v(C), x(N)) && (C !== "Print" || f()), S = async (C) => { + switch (C.kind) { + case "annotation": + return (await V6(e, m, C.annotation))?.actions?.[C.event ?? "activate"] ?? null; + case "field": { + const { fields: N } = await m.read(), _ = C.field; + return N.find( + ($) => _.kind === "objectNumber" ? $.ref.kind === "objectNumber" && $.ref.objectNumber === _.objectNumber : $.name === _.name + )?.actions?.[C.event] ?? null; + } + case "page": + return e.getPage(C.page)?.actions?.[C.event ?? "open"] ?? null; + case "outline": { + const { items: N } = await e.doc.outline.get(); + return N.find( + (T) => T.ref.objectNumber === C.item.objectNumber + )?.action ?? null; + } + case "document": { + const N = await g(); + if (!N) return null; + const _ = C.event ?? "open"; + return (_ === "open" ? N.openAction : N[h[_]]) ?? null; + } + } + }; + return { + runAndEmit: E, + dispatch: b, + api: { + execute: P, + canExecute: k, + executeNamed: y, + canExecuteNamed: M, + readActionTree: (C, N) => e.cancellable(N?.signal, S(C)), + dispatch: b, + // The synchronous twin: the trigger family is enabled. Per-tree truth + // stays per step in the results; resolution is async and never + // previewed here. + canDispatch: (C) => o(C), + prepareClose: (C) => b({ type: "document", event: "will-close" }, C) + } + }; +} +const Zle = /* @__PURE__ */ new Set([ + "launch", + "goto-remote", + "goto-embedded", + "sound", + "movie", + "import-data" +]), Jle = /* @__PURE__ */ new Set([ + "rendition", + "thread", + "set-ocg-state", + "transition", + "goto-3d-view", + "unknown" +]), eue = /* @__PURE__ */ new Set(["reset-form", "javascript"]), GN = (e) => e.type === "named" && e.name === "Print"; +function tue(e) { + const t = e.settings(), n = () => t.get().policy; + return { decisionFor: (r, s) => { + if (Zle.has(r.type)) return "never"; + if (Jle.has(r.type)) return "unsupported"; + const a = n(); + if (GN(r)) return a.print[s]; + const i = a[r.type]; + return i ? i[s] : "unsupported"; + }, current: n }; +} +const nue = (e) => ({ + url: e.url, + fields: e.fields, + exclude: e.exclude, + includeNoValueFields: e.includeNoValueFields, + format: e.format, + method: e.method, + ...e.charSet === void 0 ? {} : { charSet: e.charSet } +}), oue = (e, t) => ({ + entries: e.entries, + intent: { + url: e.url, + format: e.format, + method: e.method, + ...e.charSet === void 0 ? {} : { charSet: e.charSet } + }, + origin: e.origin, + sentAt: t +}), YN = (e) => { + const t = e.format ?? "fdf"; + return { + url: e.url, + fields: e.fieldNames?.map((n) => ({ kind: "name", name: n })) ?? null, + exclude: !1, + includeNoValueFields: e.includeEmpty, + format: t, + method: e.method ?? "post" + }; +}; +function rue(e, t, { performSubmit: n }, { firePrintThroughAdapter: o }) { + const { decisionFor: r } = t.policy, s = t.ports.slots, { reportDiagnostic: a } = t.events, { form: i } = t; + async function c(l, u, f) { + const d = [], p = (x, y) => { + d.push(x), a(x, { action: y, source: u.source }); + }; + if (l.incomplete) + return p( + { code: "incomplete-tree", message: "refused: the action tree is incomplete" }, + l.root?.type ?? null + ), { status: "refused", nodes: [], diagnostics: d }; + if (!l.root) return { status: "inert", nodes: [], diagnostics: d }; + const g = [], h = []; + let m = !1, O = !1; + const E = (x, y) => { + y.status === "executed" ? x.status = "executed" : y.status === "inert" ? (x.status = "inert", x.detail = y.reason, p( + { code: "executor-inert", message: `${x.type}: ${y.reason}` }, + x.type + )) : (x.status = "failed", x.detail = y.error, p( + { code: "executor-failed", message: `${x.type}: ${y.error}` }, + x.type + )); + }, P = async (x) => { + const y = x.hide ? "hidden" : "visible", M = ($) => p($, "hide"), S = [], C = [], N = [], _ = []; + for (const $ of x.targets) + $.kind === "objectNumber" ? _.push($.objectNumber) : N.push($.name); + if (N.length || _.length) { + const $ = await i.read(); + for (const j of N) { + const z = $.fields.find((L) => L.name === j); + if (!z) { + M({ code: "unresolved-target", message: `hide: no field named '${j}'` }); + continue; + } + S.push(z.ref); + } + for (const j of _) { + const z = $.fields.find( + (L) => L.widgets.some((D) => D.objectNumber === j) + ); + z ? S.push(z.ref) : C.push({ + annotObjectNumber: j, + patch: { flags: { hidden: x.hide } } + }); + } + } + let T; + if (S.length) { + if (!s.formCommitSink) + return M({ + code: "no-commit-sink", + message: "hide: no form commit sink registered (form plugin absent)" + }), { status: "no-executor" }; + const $ = await s.formCommitSink( + S.map((j) => ({ kind: "setDisplay", ref: j, display: y })) + ); + $.status === "failed" && (T = $.error ?? "failed", M({ code: "executor-failed", message: `hide: ${T}` })); + } + if (C.length && !T) { + if (!s.annotCommitSink) + return M({ + code: "no-commit-sink", + message: "hide: no annotation commit sink registered (annotation plugin absent)" + }), { status: "no-executor" }; + const $ = await s.annotCommitSink(C), j = $.results.filter((z) => z.status === "failed"); + for (const z of j) + M({ + code: "executor-failed", + message: `hide: annotation ${z.annotObjectNumber}: ${z.error ?? "failed"}` + }); + j.length === $.results.length && j.length > 0 && (T = j[0]?.error); + } + return T ? { status: "failed", detail: T } : { status: "executed" }; + }, k = async (x, y) => { + const M = { path: y, type: x.type, status: "blocked" }; + g.push(M); + const S = r(x, u.origin), C = (N) => p(N, x.type); + if (S === "never" || S === "block" || S === "report") { + M.status = "blocked", S !== "block" && C({ + code: "blocked", + message: `${x.type}: ${S === "never" ? "never executable" : `policy 'report' for origin '${u.origin}'`}` + }); + return; + } + if (S === "unsupported") { + M.status = "no-executor"; + return; + } + if (x.type === "hide") { + if (m) { + M.status = "skipped"; + return; + } + const N = await P(x); + M.status = N.status, N.detail && (M.detail = N.detail), N.status === "failed" && (m = !0); + return; + } + if (eue.has(x.type)) { + if (m) { + M.status = "skipped"; + return; + } + const N = s.executors.get(x.type); + if (!N) { + M.status = x.type === "javascript" ? "inert" : "no-executor", C({ + code: "no-executor", + message: `${x.type}: no executor registered${x.type === "javascript" ? " (scripting unavailable)" : ""}` + }); + return; + } + try { + E(M, await N(x, u)); + } catch (_) { + E(M, { + status: "failed", + error: _ instanceof Error ? _.message : String(_) + }); + } + M.status === "failed" && (m = !0); + return; + } + if (x.type === "submit-form") { + if (!x.payload) { + M.status = "inert", M.detail = "submit payload unavailable (older runtime extraction)", C({ + code: "submit-payload-unavailable", + message: "submit-form: payload unavailable (older runtime extraction) — node inert" + }); + return; + } + const N = x.payload; + M.status = "skipped", h.push({ + result: M, + fire: async () => { + const _ = await n( + nue(N), + u, + C + ); + M.status = _.status, _.detail && (M.detail = _.detail); + } + }); + return; + } + if (GN(x) || x.type === "uri") { + M.status = "skipped", h.push({ + result: M, + fire: async () => { + if (x.type === "uri") { + if (!s.uiAdapter) { + M.status = "no-executor", C({ + code: "no-adapter", + message: `${x.type}: no UI adapter installed` + }); + return; + } + s.uiAdapter.openUri(x.uri, { + isMap: x.isMap, + origin: u.origin + }), M.status = "executed"; + return; + } + const N = await o(void 0, C); + M.status = N.status, N.detail && (M.detail = N.detail); + } + }); + return; + } + M.status = "skipped", h.push({ + result: M, + fire: async () => { + const N = s.executors.get(x.type); + if (!N) { + M.status = "no-executor", C({ code: "no-executor", message: `${x.type}: no executor registered` }); + return; + } + try { + E(M, await N(x, u)); + } catch (_) { + E(M, { + status: "failed", + error: _ instanceof Error ? _.message : String(_) + }); + } + } + }); + }, A = async (x, y) => { + if (f?.aborted) { + O = !0; + return; + } + await k(x, y); + for (let M = 0; M < x.next.length && !O; M++) + await A(x.next[M], [...y, M]); + }; + if (await A(l.root, []), !m && !O) + for (const x of h) await x.fire(); + if (O) return { status: "cancelled", nodes: g, diagnostics: d }; + const w = g.some((x) => x.status === "executed"), b = g.some( + (x) => x.status === "failed" || x.status === "skipped" + ); + return { status: w ? b ? "partial" : "executed" : b ? "partial" : "inert", nodes: g, diagnostics: d }; + } + return { run: c }; +} +const sue = (e) => { + switch (e.type) { + case "annotations.created": + case "annotations.updated": + case "annotations.deleted": + case "annotations.reordered": + case "annotations.flattened": + case "forms.widgetsReordered": + return [e.page]; + // A form write can add, move or remove widgets, which carry page actions too. + case "forms.created": + case "forms.deleted": + case "forms.widgetAdded": + case "forms.widgetRemoved": + case "forms.widgetDeleted": + case "forms.widgetRestored": + case "forms.widgetUpdated": + case "forms.restored": + case "forms.repaired": + return "all"; + case "pages.flattened": + return e.pages; + case "redaction.applied": + case "stream.desynced": + case "document.versioned": + return "all"; + default: + return null; + } +}; +function aue(e, { settings: t, form: n }) { + const o = (c) => { + const { triggers: l } = t.get(); + switch (c.type) { + case "activate": + return !0; + // the click door is never gated + case "annotation": + return l.annotation; + case "page": + return l.page; + case "document": + return l.document; + } + }, r = /* @__PURE__ */ new Map(); + return { triggerEnabled: o, lifecycleAnnotationsOf: (c) => { + const l = c.objectNumber, u = r.get(l); + if (u) return u; + const f = Yle(e, n, c).then( + (d) => d.filter( + (p) => p.actions && (p.actions.pageOpen?.root || p.actions.pageClose?.root || p.actions.pageVisible?.root || p.actions.pageInvisible?.root) + ).map((p) => ({ ref: p.ref, actions: p.actions })) + ); + return r.set(l, f), f.catch(() => { + r.get(l) === f && r.delete(l); + }), f; + }, invalidate: (c) => { + const l = sue(c); + if (l === "all") r.clear(); + else if (l) for (const u of l) r.delete(u.objectNumber); + }, planPageSteps: (c, l, u, f) => { + const d = { kind: "page", page: l }, p = (g) => f.filter((h) => h.actions[g]?.root).map((h) => ({ + source: { kind: "annotation", annotation: h.ref, page: l }, + tree: h.actions[g] + })); + switch (c) { + case "open": + return [ + ...u?.open?.root ? [{ source: d, tree: u.open }] : [], + ...p("pageOpen") + ]; + case "close": + return [ + ...p("pageClose"), + ...u?.close?.root ? [{ source: d, tree: u.close }] : [] + ]; + case "visible": + return p("pageVisible"); + case "invisible": + return p("pageInvisible"); + } + } }; +} +function iue(e, { + ensureOpenSequenceBeforeDocEvent: t +}, { runAndEmit: n }) { + const { reportDiagnostic: o } = e.events, { readDocumentActions: r, DOC_EVENT_TREES: s } = e.catalog, { enqueue: a, budget: i } = e.queue, c = e.ports.slots, { allowsPrint: l } = e.authority, { documentPrint: u } = e, f = e.printLatch, d = async (h, m) => { + if (!e.settings.get().triggers.document) return null; + try { + await t(); + const E = (await r())?.[s[h]]; + return !E?.root && !E?.incomplete ? null : { source: { kind: "document" }, tree: E, result: await n(E, { + origin: "lifecycle", + source: { kind: "document" }, + event: { type: "document", event: h } + }) }; + } catch (O) { + return m({ + code: "trigger-failed", + message: `${h}: ${O instanceof Error ? O.message : String(O)}` + }), null; + } + }; + return { + runDocumentEventOp: async (h, m, O) => { + const E = await d(h, O); + return bv(E ? [E] : [], m); }, - form: { settings: { - name: "Name", - tooltip: "Tooltip", - required: "Required", - readOnly: "Read-only", - noExport: "Don't export", - defaultValue: "Default value", - maxLength: "Maximum length", - multiline: "Several lines", - password: "Password", - comb: "One character per box", - radiosInUnison: "Buttons with one value turn on together", - keepOneOn: "Keep one on", - options: "Options", - allowTyping: "Allow typing", - multiSelect: "Several choices" - } }, - thumbnails: { page: "Page {page}" }, - formDesign: { - empty: "No fields yet. Pick a field tool to add one.", - page: "Page {page}", - allFields: "All fields", - buttons: "Buttons", - boxes: "Boxes", - box: "Box {number}", - addButton: "Add a button", - addBox: "Add a box" - }, - stylePanel: { - mixed: "(mixed)", - transparent: "Transparent", - lineStart: "Start", - lineEnd: "End", - empty: "Pick a draw tool or select an annotation to edit its style.", - selected: { - one: "{count} selected", - other: "{count} selected" - }, - toolDefaults: "{tool} defaults", - defaults: "Defaults", - fontGroups: { - document: "In this document", - yours: "Your fonts", - server: "Server fonts", - standard: "Standard" - }, - fontStyles: { - bold: "Bold", - italic: "Italic", - boldItalic: "Bold Italic" - }, - fontRestrictions: { - notEmbedded: "The document only names it", - subset: "The document holds only the characters it uses", - previewAndPrint: "Its licence allows viewing and printing only", - unsupportedFormat: "New text can’t be written in this kind of font", - noUnicodeMap: "It doesn’t say which characters it draws", - other: "New text can’t be written in it" + firePrintThroughAdapter: async (h, m) => { + if (f.active) + return m({ + code: "reentrant-print", + message: "print request during a document print event — suppressed (one dialog per request)" + }), { status: "blocked", detail: "reentrant print suppressed" }; + if (!l()) + return m({ code: "blocked", message: "print: doc.print is not allowed" }), { status: "blocked", detail: "doc.print is not allowed" }; + if (u.available()) + return h && h.origin !== "user" ? (m({ code: "blocked", message: `print: a ${h.origin} request never prints` }), { status: "blocked", detail: `${h.origin} print request` }) : (u.start().catch( + (O) => m({ + code: "trigger-failed", + message: `print: ${O instanceof Error ? O.message : String(O)}` + }) + ), { status: "executed" }); + if (!c.uiAdapter) + return m({ code: "no-adapter", message: "print: no UI adapter installed" }), { status: "no-executor", detail: "no UI adapter installed" }; + f.active = !0; + try { + await d("will-print", m); + const O = c.uiAdapter; + return O ? (h ? O.print(h) : O.print(), await d("did-print", m), { status: "executed" }) : { status: "no-executor", detail: "UI adapter uninstalled mid-print" }; + } finally { + f.active = !1; } }, - attachments: { - loading: "Loading attachments…", - failed: "The attachments couldn’t be read.", - empty: "This document has no attached files", - drop: "Drop files to attach them", - dropHint: "Or drop files here", - adding: "Adding…", - onPage: "Page {page}", - count: { - one: "{count} file", - other: "{count} files" + api: { + runDocumentVerb: (h, m, O) => a(async () => { + i.scriptNodes = 0; + const E = (w) => o(w, { source: { kind: "document" } }), P = h === "save" ? "will-save" : "will-print", k = h === "save" ? "did-save" : "did-print", A = async () => { + if (await d(P, E), O?.signal?.aborted) + throw new te("operation-cancelled", "actions", `${h} was cancelled`, { + cause: O.signal.reason + }); + const w = await m(); + return await d(k, E), w; + }; + if (h !== "print") return A(); + f.active = !0; + try { + return await A(); + } finally { + f.active = !1; + } + }, O) + } + }; +} +function cue(e, { releaseBarrier: t, resetCascade: n }, { runAndEmit: o }) { + const { reportDiagnostic: r, openSequenceCompleted: s } = e.events, a = () => e.settings.get().openSequence, { readDocumentActions: i } = e.catalog, { enqueue: c } = e.queue, l = e.ports.slots; + let u = !1, f = !1; + const d = async () => { + const O = [], E = [], P = { + origin: "lifecycle", + source: { kind: "document" }, + event: { type: "document", event: "open" } + }; + try { + const A = await i(); + if (A?.openDestination) { + const w = { + root: { + type: "goto", + subtype: "GoTo", + destination: A.openDestination, + next: [] + }, + incomplete: !1, + warnings: [] + }; + E.push({ + source: { kind: "document" }, + tree: w, + result: await o(w, P) + }); } - }, - outline: { - filter: "Filter outline", - loading: "Loading outline…", - failed: "The outline couldn’t be read.", - empty: "This document has no outline", - noMatches: "No items match", - incomplete: "Part of the outline couldn’t be read.", - untitled: "Untitled", - properties: { - title: "Item properties", - name: "Title", - color: "Color", - noColor: "None", - customColor: "Custom color", - bold: "Bold", - italic: "Italic", - open: "Expanded when the document opens", - target: "Destination", - targetNone: "None", - targetView: "Current view", - targetNamed: "Page action", - targetKept: "Kept as it is", - keptNote: "This item runs a script or opens another file. It can’t be changed here.", - fit: "Fit", - fitKept: "As it is", - save: "Save", - cancel: "Cancel" + (A?.openAction?.root || A?.openAction?.incomplete) && E.push({ + source: { kind: "document" }, + tree: A.openAction, + result: await o(A.openAction, P) + }); + } catch (A) { + const w = { + code: "trigger-failed", + message: `open sequence failed: ${A instanceof Error ? A.message : String(A)}` + }; + O.push(w), r(w, { source: { kind: "document" } }); + } finally { + t(!0); + } + const k = bv(E, O); + return s.emit({ result: k }), k; + }, p = async () => { + u || a() === "off" || (u = !0, await d()); + }, g = () => { + if (!u) { + if (a() === "off") { + u = !0, t(!1); + return; } + !l.uiAdapter && a() !== "headless" && !f || (u = !0, c(() => d())); + } + }; + return { + run: d, + ensureOpenSequenceBeforeDocEvent: p, + noteUserActivity: () => { + n(), f || (f = !0, g()); }, - linkEditor: { - toUrl: "Link to a URL", - url: "URL", - toPage: "Link to a page", - page: "Page", - urlPlaceholder: "https://…", - pagePlaceholder: "Page number", - add: "Add link", - update: "Update link" - }, - pageNumber: { - page: "{current} / {total}", - pages: "{first}–{last} / {total}", - goToPage: "Go to page" + claim: () => u ? !1 : (u = !0, !0), + /** Arm the latch at bringup: fires immediately for 'headless', releases + * the barrier for 'off', waits for an adapter or user activity for 'auto'. */ + arm: g, + api: { + setUiAdapter: (O) => (l.uiAdapter = O, O && g(), () => { + l.uiAdapter === O && (l.uiAdapter = null); + }) + } + }; +} +const Y6 = 8; +function lue(e, { events: t, settings: n }, { dispatch: o }) { + const { reportDiagnostic: r } = t; + let s = !1, a = null, i = { + current: null, + visible: /* @__PURE__ */ new Set() + }, c = 0; + const l = (d) => { + d.cause === "user" && (c = 0); + const p = d.currentPage === null ? null : d.currentPage.objectNumber, g = new Set(d.visiblePages.map((P) => P.objectNumber)), h = p !== i.current, m = [...i.visible].filter( + (P) => !g.has(P) + ), O = [...g].filter( + (P) => !i.visible.has(P) + ); + if (!h && m.length === 0 && O.length === 0) return; + const E = i.current; + if (i = { current: p, visible: g }, d.cause === "programmatic" && (c += 1, c > Y6)) { + r({ + code: "cascade-budget", + message: `page-lifecycle emission suppressed: ${c} consecutive programmatic rounds (cap ${Y6})` + }); + return; + } + h && E !== null && o({ type: "page", event: "close", page: dt(E) }); + for (const P of m) + o({ type: "page", event: "invisible", page: dt(P) }); + for (const P of O) + o({ type: "page", event: "visible", page: dt(P) }); + h && p !== null && o({ type: "page", event: "open", page: dt(p) }); + }; + return { + releaseBarrier: (d) => { + s = !0; + const p = a; + a = null; + try { + if (p) + l(p); + else if (d && n.get().openSequence === "headless") { + const g = e.document()?.pages[0]?.ref.objectNumber; + g !== void 0 && (i = { current: g, visible: i.visible }, o({ type: "page", event: "open", page: dt(g) })); + } + } catch (g) { + r({ + code: "trigger-failed", + message: `barrier release failed: ${g instanceof Error ? g.message : String(g)}` + }); + } }, - comments: { - forbidden: "You don’t have access to comments on this document.", - loading: "Loading comments…", - error: "Comments failed to load.", - retry: "Retry", - empty: "No comments yet. Use the note tool to start a thread.", - emptyReadOnly: "No comments on this document.", - anonymous: "Guest", - page: "Page {page}", - count: { - one: "{count} comment", - other: "{count} comments" - }, - reply: "Reply", - replyPlaceholder: "Reply…", - addPlaceholder: "Add a comment…", - delete: "Delete comment", - deleteThread: "Delete thread", - edit: "Edit comment", - status: "Status", - statusNone: "No status", - statusAccepted: "Accepted", - statusRejected: "Rejected", - statusCancelled: "Cancelled", - statusCompleted: "Completed", - markCompleted: "Mark as completed" + /** A user gesture resets the programmatic-cascade counter. */ + resetCascade: () => { + c = 0; }, - demo: { - starting: "Starting viewer…", - opening: "Opening document…", - pageLoading: "Loading page {page}…", - pageError: "This page couldn’t load.", - pageForbidden: "You don’t have access to this page.", - more: "More", - searchPlaceholder: "Search document…", - searchCaseSensitive: "Case sensitive", - searchWholeWord: "Whole word", - searchRegex: "Regular expression", - searchSearching: "Searching…", - searchResults: { - one: "{count} result found", - other: "{count} results found" - }, - searchNoResults: "No results", - searchPrevious: "Previous result", - searchNext: "Next result", - searchPage: "Page {page}", - searchHitOf: "{current} of {total}", - searchResult: "Result {index}", - searchOptions: "Search options", - empty: "Nothing here yet in this demo panel.", - cancel: "Cancel", - pageBadge: "p. {page}", - redactionEmpty: "No pending redactions. Use the Redact tool to mark text or areas.", - redactionArea: "Area mark", - redactionText: "Text mark", - redactionRemove: "Remove mark", - redactConfirmTitle: { - one: "Apply redaction?", - other: "Apply redactions?" - }, - redactConfirmBody: { - one: "Permanently remove the content under {count} redaction mark. This cannot be undone.", - other: "Permanently remove the content under {count} redaction marks. This cannot be undone." + api: { reportPageState: (d) => { + if (d.placed) { + if (d.cause === "user" && (c = 0), !s) { + a = d; + return; + } + l(d); + } + } } + }; +} +function uue(e, { form: t }) { + const n = (c) => { + if (!c) return ["T"]; + const { r: l, g: u, b: f } = FT(c); + return ["RGB", l / 255, u / 255, f / 255]; + }, o = async (c) => { + const l = dt(c), u = await t.read(), f = e.getPage(l), d = Math.max(0, f?.index ?? -1), { annotations: p } = await e.doc.page(l).annotations.list(), g = p.filter( + (h) => h.subtype !== "link" && !h.subtype.startsWith("widget") + ).map((h) => { + const m = f ? aO(h.rect, f.pdfCropBox) : null, O = h; + return { + ref: h.ref, + name: h.nm ?? "", + subtype: h.subtype, + page: d, + rect: m ? [m.left, m.bottom, m.right, m.top] : [0, 0, 0, 0], + contents: h.contents ?? "", + author: h.author ?? "", + subject: h.subject ?? "", + strokeColor: n(O.color), + fillColor: n(O.interiorColor), + opacity: O.opacity ?? 1, + width: O.strokeWidth ?? 1, + borderStyle: O.borderStyle === "dashed" ? "D" : "S", + dash: O.dashArray ?? [], + hidden: h.hidden, + print: h.print, + readOnly: h.readOnly, + locked: h.locked, + noView: h.noView, + toggleNoView: h.toggleNoView, + opaqueBody: h.subtype === "stamp" + }; + }); + return { + snapshot: u, + world: { + fields: Ob(u), + annots: g, + annotPages: [d], + annotsCoverDocument: (e.document()?.pageCount ?? 0) <= 1 + } + }; + }, r = { + cursorEnter: "Mouse Enter", + cursorExit: "Mouse Exit", + mouseDown: "Mouse Down", + mouseUp: "Mouse Up", + focus: "Focus", + blur: "Blur" + }, s = { + open: "Open", + close: "Close", + // /PV and /PI have no Acrobat event name: these two are an EmbedPDF extension. + visible: "Visible", + invisible: "Invisible" + }, a = { + open: "Open", + "will-save": "WillSave", + "did-save": "DidSave", + "will-print": "WillPrint", + "did-print": "DidPrint", + "will-close": "WillClose" + }; + return { scriptWorldFor: o, scriptEventFor: (c, l) => { + const u = c.event, f = u.type === "page" ? "Page" : u.type === "document" ? "Doc" : c.source.kind === "widget" ? "Field" : c.source.kind === "link" ? "Link" : c.source.kind === "outline" ? "Bookmark" : "Annot", d = u.type === "activate" ? "Mouse Up" : u.type === "annotation" ? r[u.event] ?? "Mouse Up" : u.type === "page" ? s[u.event] ?? "Open" : a[u.event] ?? "Open", p = c.source.kind === "widget" ? c.source.field : void 0, g = p ? l.fields.find( + (h) => p.kind === "objectNumber" && h.ref.kind === "objectNumber" ? h.ref.objectNumber === p.objectNumber : p.kind === "fqn" && h.name === p.name + ) : void 0; + return { + kind: "widget-activate", + type: f, + name: d, + ...p ? { target: p, source: p } : {}, + ...g && g.valueEntry.kind === "scalar" ? { value: g.valueEntry.value } : {} + }; + } }; +} +const due = 16; +function fue(e, t, n, { scriptHost: o }, { performSubmit: r }, { surfaceScriptResult: s }, a) { + const { reportDiagnostic: i } = t.events, c = t.ports.slots, { budget: l } = t.queue, { firePrintThroughAdapter: u } = a, { scriptWorldFor: f, scriptEventFor: d } = uue(e, t), p = async (h, m) => { + let O = null; + if (h.formEffects.length > 0) + if (!c.formCommitSink) + m({ + code: "no-commit-sink", + message: `script form effects dropped: no form commit sink registered (${h.formEffects.length})` + }); + else { + const E = await c.formCommitSink(h.formEffects); + E.status === "failed" && (O = `form effects: ${E.error ?? "failed"}`); + } + if (h.annotEffects.length > 0) + if (O) + m({ + code: "executor-failed", + message: `script annot effects skipped after form failure (${h.annotEffects.length})` + }); + else if (!c.annotCommitSink) + m({ + code: "no-commit-sink", + message: `script annot effects dropped: no annotation commit sink registered (${h.annotEffects.length})` + }); + else { + const E = h.annotEffects.map((A) => ({ + annotObjectNumber: A.ref.kind === "objectNumber" ? A.ref.objectNumber : -1, + ...A.ref.kind === "objectNumber" ? { page: A.ref.page } : {}, + patch: A.patch + })), k = (await c.annotCommitSink(E)).results.find((A) => A.status === "failed"); + k && (O = `annotation ${k.annotObjectNumber}: ${k.error ?? "failed"}`); + } + return O && m({ code: "executor-failed", message: `script commit: ${O}` }), O; + }; + if (!o) return; + const g = n.maxScriptNodesPerDispatch ?? due; + c.executors.set("javascript", async (h, m) => { + if (h.type !== "javascript") return { status: "inert", reason: "not a JS node" }; + if (l.scriptNodes >= g) + return { + status: "inert", + reason: `dispatch script budget exhausted (${g} JS nodes)` + }; + l.scriptNodes += 1; + const O = m.source, E = e.document()?.pages[0]?.ref.objectNumber, P = O.kind === "widget" || O.kind === "page" ? O.page.objectNumber : O.kind === "link" || O.kind === "annotation" ? O.page?.objectNumber ?? E : E; + if (P === void 0) + return { status: "inert", reason: "no page to anchor the world on" }; + const k = (v) => i(v, { action: "javascript", source: O }), A = [], w = (v, x) => v.uiEffects.filter((y) => y.type === "print" || y.type === "submitForm" ? (A.push({ effect: y, phase: x }), !1) : !0), b = await o.transaction(async (v) => { + let x = await f(P); + const y = await v.boot({ + ...x.world, + event: { kind: "name-tree-boot", type: "Doc", name: "Open" } + }); + y && (await p(y, k), s({ + uiEffects: w(y, "boot"), + diagnostics: y.diagnostics, + ...y.error ? { error: y.error } : {}, + origin: m.origin, + phase: "boot", + realm: "document", + source: O + }), (y.formEffects.length || y.annotEffects.length) && (x = await f(P))); + const M = await v.run(h.script, { + ...x.world, + event: d(m, x.snapshot) + }); + if (s({ + uiEffects: w(M, "user"), + diagnostics: M.diagnostics, + ...M.error ? { error: M.error } : {}, + origin: m.origin, + phase: "user", + realm: "document", + source: O + }), M.error) return { status: "failed", error: M.error.message }; + const S = await p(M, k); + return S ? { status: "failed", error: S } : { status: "executed" }; + }); + for (const v of A) + v.effect.type === "print" ? await u( + { origin: m.origin, phase: v.phase }, + k + ) : await r(YN(v.effect), m, k); + return b; + }); +} +function pue(e, t, n) { + const o = e.sandboxFactory ?? (() => import("./index-DdNeh5iP.js").then( + ({ createQuickJsSandbox: s }) => s() + )), r = e.budget ?? Uf; + return { + budget: r, + realmFor: (s) => dZ({ + sandboxFactory: o, + document: () => { + const a = s.document(); + return { + id: s.doc.id, + fileName: e.fileName?.() ?? a?.name ?? "document.pdf", + pageCount: a?.pageCount ?? 0, + pageNumber: 0 + }; }, - redactConfirmCollateral: { - one: "{count} other annotation will also be removed.", - other: "{count} other annotations will also be removed." + identity: () => uZ(n, t()), + environment: (a) => { + const i = e.now?.() ?? Date.now(); + return { + nowMs: i, + utcOffsetMinutes: e.utcOffsetMinutes?.() ?? -new Date(i).getTimezoneOffset(), + randomSeed: e.randomSeed?.() ?? lZ(s.doc.id, a) + }; }, - redactApply: "Apply", - redactApplying: "Applying…", - formatLabel: "Format", - fieldSettingsTitle: "Field", - fieldOptionLabel: "Label", - fieldOptionValue: "Value", - fieldOptionAdd: "Add option", - fieldOptionRemove: "Remove option", - fieldNone: "None", - redactLabelTitle: "Redaction label", - redactLabelPlaceholder: "e.g. REDACTED", - redactLabelRepeat: "Repeat label across region", - stampsAll: "All stamps", - stampsLoading: "Loading stamps…", - stampsEmpty: "No stamps yet. Import a PDF to turn each of its pages into a stamp.", - stampsRemoveStamp: "Remove stamp", - stampsArmedHint: "Click a page to place the stamp.", - stampsImport: "Import PDF…", - stampsImporting: "Importing…", - stampsImportHint: "Import a PDF as a stamp library — each page becomes one stamp.", - stampsRemoveLibrary: "Remove library", - stampsExportLibrary: "Export library as PDF", - stampsCustomLibrary: "My stamps", - stampsCustomLabel: "Custom stamp", - stampsError: "The built-in stamps could not be loaded.", - stampsArmError: "That stamp could not be armed.", - stampsImportError: "That PDF could not be imported as a stamp library.", - quickStampsLabel: "Quick stamps", - signaturesEmpty: "No signatures yet. Create one to sign with.", - signaturesNew: "New signature…", - signaturesArmedHint: "Click a signature field to sign it, or anywhere on a page to place the mark.", - signaturesTargetHint: "Pick a mark for the selected field.", - signaturesInDocument: "In this document", - signaturesNone: "This document has no signature fields.", - signaturesValidate: "Validate", - signaturesValidating: "Validating…", - signaturesSigned: "Signed", - signaturesUnsigned: "Unsigned", - signaturesRename: "Rename", - signaturesRemove: "Remove", - signaturesExport: "Export as PDF", - signaturesAddInitials: "Add initials", - signatureLabel: "Signature", - initialsLabel: "Initials", - makerTitle: "New signature", - makerName: "Name", - makerNamePlaceholder: "Your name", - makerDraw: "Draw", - makerType: "Type", - makerUpload: "Upload", - makerTypePlaceholder: "Type your name", - makerFont: "Font", - makerUploadHint: "Choose a PNG, JPEG, or one-page PDF", - makerClear: "Clear", - makerOptional: "(optional)", - makerSave: "Save", - makerSaving: "Saving…", - makerError: "The signature could not be saved.", - signTitle: "Sign this field", - signReason: "Reason", - signLocation: "Location", - signKind: "What may change afterwards", - signKindApproval: "Approval signature — form filling and more signatures stay valid", - signKindCertifyAnnotate: "Certify — allow comments, form filling and signatures", - signKindCertifyFill: "Certify — allow form filling and signatures only", - signKindCertifyLocked: "Certify — allow no changes", - signButton: "Sign", - signSigning: "Signing…", - signFill: "Place without signing", - signError: "The field could not be signed.", - inspectTitle: "Signature", - inspectSigner: "Signed by", - inspectReason: "Reason", - inspectLocation: "Location", - inspectTime: "Time", - inspectIntegrity: "Document", - inspectCryptography: "Signature", - inspectTrust: "Signer", - inspectChanges: "Changes since", - inspectDownload: "Download signed version", - verdictValid: "Valid", - verdictValidUntrusted: "Valid, signer not trusted", - verdictInvalid: "Invalid — modified after signing", - verdictWillInvalidate: "Valid, invalid once saved", - signaturesInvalidating: "This change will invalidate {field} when the document is saved. Undo it to keep the signature.", - verdictIndeterminate: "Could not be verified", - verdictUnchanged: "None", - verdictRestored: "Changed, then restored", - inspectLaterRevisions: "Revisions after signing", - verdictPermitted: "Permitted", - verdictForbidden: "Not permitted" + bootSources: s.bootSources, + budget: r + }) + }; +} +function hue(e, { catalog: t, settings: n }, o) { + const { readDocumentActions: r } = t, s = n.get().javascript.enabled ? pue( + o, + () => n.get().javascript.identity ?? void 0, + e.doc + ) : null, a = s ? s.realmFor({ + doc: e.doc, + document: () => e.document(), + bootSources: async () => ((await r())?.nameTreeScripts ?? []).map( + ({ action: c }) => zs(c) + ) + }) : null; + return a && e.cleanup(() => a.destroy()), { + scriptHost: a, + api: { + isScriptingEnabled: () => a !== null, + ...a && s ? { + scriptRealm: { + transaction: (i) => a.transaction(i), + budget: s.budget + }, + createDetachedScriptRealm: (i) => { + const c = s.realmFor(i); + return { + transaction: (l) => c.transaction(l), + budget: s.budget, + destroy: () => c.destroy() + }; + } + } : {} + } + }; +} +function gue(e, { performSubmit: t }) { + const { reportDiagnostic: n, scriptDiagnosticReported: o, scriptFailed: r } = e.events, s = e.ports.slots, { allowsPrint: a } = e.authority, { documentPrint: i } = e, c = e.printLatch, l = (f) => { + const d = { origin: f.origin, phase: f.phase }, p = f.source ?? null; + for (const g of f.uiEffects) { + if (f.realm === "detached" && g.type !== "alert") { + o.emit({ + code: "ui-effect-suppressed", + message: `script ${g.type} request from a detached realm suppressed: no document surface` + }); + continue; + } + if (g.type === "submitForm") { + t( + YN(g), + { + origin: f.origin, + source: f.source ?? { kind: "api" }, + event: { type: "activate" } + }, + (h) => n(h, { action: "javascript", source: p }) + ); + continue; + } + if (g.type === "print" && !a()) { + o.emit({ + code: "ui-effect-suppressed", + message: "script print request withheld: doc.print is not allowed" + }); + continue; + } + if (g.type === "print" && c.active) { + o.emit({ + code: "ui-effect-suppressed", + message: "script print request during a document print event — suppressed (reentrant)" + }); + continue; + } + if (g.type === "print" && i.available()) { + if (f.origin !== "user") { + o.emit({ + code: "ui-effect-suppressed", + message: `script print request from a ${f.origin} event suppressed` + }); + continue; + } + i.start().catch( + (h) => n( + { + code: "trigger-failed", + message: `print: ${h instanceof Error ? h.message : String(h)}` + }, + { action: "javascript", source: p } + ) + ); + continue; + } + if (g.type === "focusField") { + s.formFocus?.(g.field) || o.emit({ + code: "ui-effect-suppressed", + message: `script setFocus on "${g.field}" withheld: no such field to fill in on screen` + }); + continue; + } + if (!s.uiAdapter) { + n( + { code: "no-adapter", message: `script ${g.type}: no UI adapter installed` }, + { action: "javascript", source: p } + ); + continue; + } + g.type === "alert" ? s.uiAdapter.alert?.(g.message, { + ...d, + icon: g.icon, + ...g.title !== void 0 ? { title: g.title } : {} + }) : g.type === "goToPage" ? s.uiAdapter.goToPage?.(g.pageIndex, d) : s.uiAdapter.print(d); } - } -}, I6 = { - de: () => import("./de-Brfb8qPY-DjSVSg7f.js").then((e) => e.de), - fr: () => import("./fr-CxJ-h5zO-Ct_Z5wYg.js").then((e) => e.fr), - es: () => import("./es-MfgrlNdR-DW332Lm9.js").then((e) => e.es), - it: () => import("./it-B0rNVsFK-C9JKRTCT.js").then((e) => e.it), - nl: () => import("./nl-DMicqqYw-jDRpgMWC.js").then((e) => e.nl), - pt: () => import("./pt-DyQ0sdQk-DbzdajDg.js").then((e) => e.pt), - pl: () => import("./pl-BrqfUcaS-BK8oIkBd.js").then((e) => e.pl), - sv: () => import("./sv-BU7Kv6y9-DVYIsZF9.js").then((e) => e.sv), - ja: () => import("./ja-NIsVo9eS-TU5VOOvE.js").then((e) => e.ja), - "zh-CN": () => import("./zh-cn-CJUxCiaS-DJhfzusu.js").then((e) => e.zhCN), - "zh-TW": () => import("./zh-tw-C8JAsPYs-Ct2GX9YM.js").then((e) => e.zhTW), - ko: () => import("./ko-DGQjyIlu-BBjTyYlT.js").then((e) => e.ko), - ar: () => import("./ar-8tnB9ZtN-6jbI8wNW.js").then((e) => e.ar), - he: () => import("./he-DdQ5RKLM-DWlzNFC0.js").then((e) => e.he) -}, _6 = (e, t, n = "en") => oh(t, e !== "auto" ? [e] : typeof navigator < "u" ? navigator.languages : []) ?? n, Mle = (e, t) => e === void 0 ? "en" : oh(t, [e]), _b = (e) => typeof e == "object" && e !== null; -function Xf(e, t) { - const n = { ...e }; - for (const [o, r] of Object.entries(t)) { - const s = o.split("."); - let i = n; - for (let l = 0; l < s.length - 1; l++) { - const u = i[s[l]]; - i = i[s[l]] = _b(u) ? { ...u } : {}; + for (const g of f.diagnostics) o.emit(g); + f.error && r.emit({ error: f.error, source: p }); + }; + return { + surfaceScriptResult: l, + api: { surfaceScriptResult: l, surfaceScriptCommit: (f, d) => { + const p = ["boot", "user"]; + for (const g of p) { + const h = f.uiEffects.filter((m) => m.phase === g); + h.length === 0 && g === "boot" || l({ + uiEffects: h, + diagnostics: g === "user" ? f.diagnostics : [], + ...g === "user" && f.error ? { error: f.error } : {}, + origin: d.origin, + phase: g, + realm: d.realm, + ...d.source ? { source: d.source } : {} + }); + } + } } + }; +} +function mue(e) { + return { allowsPrint: () => e.allows("doc.print") }; +} +const bue = { + "will-save": "willSave", + "did-save": "didSave", + "will-print": "willPrint", + "did-print": "didPrint", + "will-close": "willClose" +}; +function yue(e) { + let t = null; + return { readDocumentActions: () => { + if (!t) { + const o = e.doc.actions, s = (o ? Promise.resolve(o.get()) : Promise.resolve(null)).catch((a) => { + throw t === s && (t = null), a; + }); + t = s; } - const a = s[s.length - 1], c = i[a]; - i[a] = typeof r == "string" ? r : Xf(_b(c) ? c : {}, r); - } - return n; + return t; + }, DOC_EVENT_TREES: bue }; } -const hd = (e, t) => t ? { - ...e, - translations: Xf(e.translations, t) -} : e, tm = (e) => typeof e == "function", Ele = (e) => _b(e.default) ? e.default : e; -function Cle(e) { - const t = e.filter((o) => !tm(o)).reduce((o, r) => Xf(o ?? {}, r), void 0); - return e.some(tm) ? { - words: t, - load: () => Promise.all(e.map((o) => tm(o) ? o().then(Ele) : Promise.resolve(o))).then((o) => o.reduce(Xf, {})) - } : { - words: t, - load: void 0 +function wue(e) { + const t = () => e.get(nt); + return { + /** Whether the kernel prints this document: `doc.print`, and the host gave a printer. */ + available: () => t().canPrint(), + /** Print the document through the kernel. */ + start: () => t().print() }; } -const Ile = /* @__PURE__ */ new Set([ - "Adlm", - "Arab", - "Aran", - "Hebr", - "Mand", - "Mend", - "Nkoo", - "Rohg", - "Samr", - "Syrc", - "Thaa", - "Yezi" -]); -function _le(e) { - try { - const { script: t } = new Intl.Locale(e).maximize(); - return t !== void 0 && Ile.has(t) ? "rtl" : "ltr"; - } catch { - return "ltr"; - } +function vue(e) { + const t = e.events.source(), n = e.events.source(); + return { + executed: t, + diagnosticReported: n, + scriptDiagnosticReported: e.events.source(), + scriptFailed: e.events.source(), + openSequenceCompleted: e.events.source(), + /** Fire `onDiagnosticReported` with the action and source it concerns (`null` for none). */ + reportDiagnostic(o, r = {}) { + n.emit({ + code: o.code, + action: r.action ?? null, + source: r.source ?? null + }); + } + }; } -function Nle(e) { - try { - return new Intl.DisplayNames([e], { type: "language" }).of(e) ?? e; - } catch { - return e; +function kue(e, t) { + return { + read: (n = (o) => o) => { + const o = t.formReader?.(); + return o ? Promise.resolve(o) : n(e.doc.forms.list()); + } + }; +} +function xue({ reportDiagnostic: e }) { + const t = { + executors: /* @__PURE__ */ new Map(), + annotCommitSink: null, + formCommitSink: null, + formReader: null, + formFocus: null, + uiAdapter: null, + submitHandler: null, + submitResolver: null + }; + return { slots: t, api: { + registerExecutor: (o, r) => (t.executors.has(o) && e( + { code: "duplicate-executor", message: `executor for '${o}' replaced (last-wins)` }, + { action: o } + ), t.executors.set(o, r), () => { + t.executors.get(o) === r && t.executors.delete(o); + }), + registerAnnotCommitSink: (o) => (t.annotCommitSink = o, () => { + t.annotCommitSink === o && (t.annotCommitSink = null); + }), + registerFormCommitSink: (o) => (t.formCommitSink = o, () => { + t.formCommitSink === o && (t.formCommitSink = null); + }), + registerFormReader: (o) => (t.formReader = o, () => { + t.formReader === o && (t.formReader = null); + }), + registerFormFocus: (o) => (t.formFocus = o, () => { + t.formFocus === o && (t.formFocus = null); + }), + setSubmitHandler: (o) => (t.submitHandler = o, () => { + t.submitHandler === o && (t.submitHandler = null); + }), + registerSubmitResolver: (o) => (t.submitResolver = o, () => { + t.submitResolver === o && (t.submitResolver = null); + }) + } }; +} +const Aue = () => ({ active: !1 }); +function Sue(e) { + return { enqueue: e.serialQueue("actions"), budget: { scriptNodes: 0 } }; +} +function Oue(e) { + const t = vue(e), n = xue(t); + return { + settings: e.settings(), + events: t, + policy: tue(e), + ports: n, + queue: Sue(e), + catalog: yue(e), + form: kue(e, n.slots), + authority: mue(e), + documentPrint: wue(e), + printLatch: Aue() + }; +} +function Pue(e, t, n) { + const o = t.policy, r = t.ports.slots, { reportDiagnostic: s } = t.events, a = () => n.now?.() ?? Date.now(); + return { performSubmit: async (c, l, u) => { + const f = o.current()["submit-form"][l.origin]; + if (f !== "adapter" && f !== "allow") + return f === "report" && u({ + code: "blocked", + message: `submit-form: policy 'report' for origin '${l.origin}'` + }), { status: "blocked" }; + if (!r.submitResolver) + return u({ + code: "no-submit-resolver", + message: "submit-form: no dataset resolver registered (form plugin missing?)" + }), { status: "blocked", detail: "no dataset resolver" }; + let d; + try { + d = await r.submitResolver(c, l, u); + } catch (h) { + const m = h instanceof Error ? h.message : String(h); + return u({ code: "executor-failed", message: `submit-form: dataset resolution: ${m}` }), { status: "failed", detail: m }; + } + const p = e.doc.forms, g = typeof p.submit == "function" ? () => Promise.resolve( + p.submit(oue(d, new Date(a()).toISOString())) + ) : null; + if (r.submitHandler) + try { + const h = r.submitHandler(d, { submitToDocumentHome: g }); + return h && typeof h.then == "function" && h.catch((m) => { + s( + { + code: "executor-failed", + message: `submit handler rejected (detached): ${m instanceof Error ? m.message : String(m)}` + }, + { action: "submit-form", source: l.source } + ); + }), { status: "executed" }; + } catch (h) { + const m = h instanceof Error ? h.message : String(h); + return u({ code: "executor-failed", message: `submit handler threw: ${m}` }), { status: "failed", detail: m }; + } + if (g) + try { + return await g(), { status: "executed" }; + } catch (h) { + const m = h instanceof Error ? h.message : String(h); + return u({ code: "executor-failed", message: `document home refused submit: ${m}` }), { status: "failed", detail: m }; + } + return u({ + code: "no-submit-sink", + message: "submit-form: no handler installed and the document has no submit-capable home" + }), { status: "blocked", detail: "no submit sink" }; + } }; +} +function Mue(e, t = {}) { + const n = Oue(e), { events: o, ports: r, settings: s } = n, a = { + dispatch: (E) => m.dispatch(E), + runAndEmit: (E, P) => m.runAndEmit(E, P) + }, i = t.javascript ?? {}, c = Pue(e, n, i), l = hue(e, n, i), u = gue(n, c), f = lue(e, n, a), d = cue(n, f, a), p = iue(n, d, a), g = aue(e, n), h = rue(e, n, c, p), m = Xle( + e, + n, + h, + g, + d, + p + ); + return fue(e, n, i, l, c, u, p), { + api: ys("actions", [ + s.api, + r.api, + l.api, + u.api, + f.api, + d.api, + p.api, + m.api, + { + onExecuted: o.executed.on, + onDiagnosticReported: o.diagnosticReported.on, + onScriptDiagnosticReported: o.scriptDiagnosticReported.on, + onScriptFailed: o.scriptFailed.on, + onOpenSequenceCompleted: o.openSequenceCompleted.on + } + ]), + connect() { + e.listen(e.doc.events, (E) => g.invalidate(E)), d.arm(), e.aroundDownload((E) => p.api.runDocumentVerb("save", E)), e.aroundPrint((E) => p.api.runDocumentVerb("print", E)); + } + }; +} +function Eue(e) { + if (!e) return; + const { javascript: t } = e; + return { + policy: e.policy, + triggers: e.triggers, + openSequence: e.openSequence, + javascript: t && { enabled: t.enabled, identity: t.identity } + }; +} +const Cue = (e) => ({ + id: "actions", + token: zi, + scope: "document", + settings: { defaults: b9, registered: Eue(e) }, + create: (t) => Mue(t, e) +}); +function Iue(e) { + const t = ct(An), n = ct(At), o = ye(e); + o.current = e, Se(() => { + if (!t) return; + const r = p$({ + overrides: () => o.current, + goToPage: (s) => n?.goToPage(s) + }); + return t.setUiAdapter(r); + }, [t, n]); +} +const QN = Object.freeze({ pagesSearched: 0, pageCount: 0 }), yv = () => ({ + query: null, + status: "idle", + operationId: null, + hits: [], + hitsByPage: {}, + activeHitIndex: -1, + progress: QN, + error: null +}), _ue = (e, t, n) => ({ ...yv(), query: t, status: "searching", operationId: n }), Nue = (e, t) => e.pagesSearched === t.pagesSearched && e.pageCount === t.pageCount; +function Tue(e, t, n) { + const o = Nue(e.progress, n) ? e.progress : n; + if (t.length === 0) return o === e.progress ? e : { ...e, progress: o }; + const r = { ...e.hitsByPage }; + for (const s of t) { + const a = s.page.objectNumber; + r[a] = [...r[a] ?? [], s]; } + return { + ...e, + hits: [...e.hits, ...t], + hitsByPage: r, + activeHitIndex: e.activeHitIndex === -1 ? 0 : e.activeHitIndex, + progress: o + }; } -function Tle(e = {}) { - const t = ["en", ...Object.keys(I6)], n = (c) => t.find((l) => l.toLowerCase() === c.toLowerCase()), o = /* @__PURE__ */ new Map(); - for (const [c, l] of Object.entries(e)) { - const u = n(c) ?? c; - o.set(u, [...o.get(u) ?? [], l]); +const Rue = (e) => ({ + ...e, + status: "complete" +}), Lue = (e) => ({ + ...e, + status: "cancelled" +}), jue = (e, t) => ({ + ...e, + status: "error", + error: t +}), Fue = (e, t) => e.activeHitIndex === t ? e : { ...e, activeHitIndex: t }, Due = (e) => e.status === "idle" ? e : yv(); +function $ue(e, t) { + const n = e.indexOf(t); + return n >= 0 ? n : e.findIndex( + (o) => o.start === t.start && o.count === t.count && ga(o.page, t.page) + ); +} +const Bue = (e, t) => t.filter((n) => (e.hitsByPage[n.ref.objectNumber]?.length ?? 0) > 0).map((n) => n.ref), Q6 = Object.freeze([]), zue = Object.freeze([]), Wue = 250; +function Uue(e) { + const t = e.settings(), n = e.latest("session"), o = e.events.source(), r = e.events.source(), s = e.events.source(), a = e.events.source(), i = e.events.source(), c = e.events.source(), l = e.events.source(), u = () => e.state.get(); + e.state.onChange(({ previous: k, next: A }) => { + k.progress !== A.progress && r.emit({ ...A.progress, hitCount: A.hits.length }), k.activeHitIndex !== A.activeHitIndex && c.emit({ + index: A.activeHitIndex, + hit: A.hits[A.activeHitIndex] ?? null + }), k.status !== "idle" && A.status === "idle" && l.emit({}); + }); + function f(k) { + const A = []; + for (const w of k.matches) { + const b = e.getPage(w.page); + if (!b) continue; + const v = w.segments; + A.push({ + page: w.page, + pageIndex: b.index, + start: w.start, + count: w.count, + segments: v, + ...v.length ? { bounds: bE(v.map((x) => x.rect)) ?? void 0 } : {}, + ...w.snippet ? { snippet: w.snippet } : {} + }); + } + return A; } - const r = new Map([...o].map(([c, l]) => [c, Cle(l)])), s = r.get("en"), i = [hd(C6, s?.words)], a = {}; - if (s?.load) { - const c = s.load; - a.en = () => c().then((l) => hd(C6, l)); + async function d(k, A, w) { + const { signal: b } = A; + w.onStart(); + let v = A.snippets ?? e.allows("doc.text.copy"); + const x = A.snippets !== void 0; + let y, M = !1; + for (; ; ) { + if (b?.aborted) return !1; + let S; + const C = { + ...k, + snippets: v, + ...y !== void 0 ? { cursor: y } : A.from !== void 0 ? { from: A.from } : {} + }; + try { + S = await e.cancellable( + b, + e.doc.with({ priority: "low" }).search.query(C) + ); + } catch (N) { + if (b?.aborted) return !1; + if (!x && v && y === void 0 && un(N, "permission-denied")) { + v = !1; + continue; + } + if (y !== void 0 && !M && un(N, "invalid-input")) { + M = !0, y = void 0, w.onStart(); + continue; + } + throw N; + } + if (b?.aborted) return !1; + if (w.onSlice(f(S), S.pagesSearched, S.pageCount), S.nextCursor === null) return !0; + y = S.nextCursor; + } } - for (const [c, l] of Object.entries(I6)) { - const u = r.get(c), f = u?.load, d = u?.words; - a[c] = f ? () => Promise.all([l(), f()]).then(([p, h]) => hd(p, h)) : d ? () => l().then((p) => hd(p, d)) : l; + const p = () => e.tryGet(At)?.getCurrentPage() ?? void 0; + async function g(k, A = {}) { + if (k.text.length === 0) + return h(), { status: "complete", hitCount: 0 }; + e.assertAllowed("doc.text.search", "search"); + const w = A.from === void 0 ? p() : e.pageOf(A.from).ref; + let b = ""; + return n.run(async (v) => { + if (b = v.id, !await d( + k, + { from: w, signal: v.signal }, + { + onStart: () => v.commit(() => { + e.state.update(_ue, k, v.id), o.emit({ query: k }); + }), + onSlice: (y, M, S) => v.commit(() => e.state.update(Tue, y, { pagesSearched: M, pageCount: S })) + } + )) throw new te("operation-cancelled", "search", "search aborted"); + return v.commit(() => { + e.state.update(Rue), s.emit({ hitCount: u().hits.length }); + }), { status: "complete", hitCount: u().hits.length }; + }, A).catch((v) => { + if (un(v, "instance-closed")) return { status: "cancelled", hitCount: 0 }; + if (un(v, "operation-cancelled")) { + const y = v.details?.reason ?? "cancelled", M = y === "superseded" ? "superseded" : y === "cleared" ? "cleared" : "cancelled"; + return M === "cancelled" && u().operationId === b && e.state.update(Lue), a.emit({ reason: M }), { + status: M === "superseded" ? "superseded" : "cancelled", + hitCount: u().hits.length + }; + } + const x = xn(Fe("search", v)); + throw u().operationId === b && e.state.update(jue, x), i.emit({ error: x }), v; + }); } - for (const [c, { words: l, load: u }] of r) { - if (n(c) !== void 0) continue; - const f = { - code: c, - name: Nle(c), - direction: _le(c) - }; - u ? a[c] = () => u().then((d) => ({ - ...f, - translations: d - })) : i.push({ - ...f, - translations: l ?? {} + function h() { + n.cancel("cleared"), e.state.update(Due); + } + function m(k, A) { + const { hits: w } = u(); + if (w.length === 0) return null; + const b = typeof k == "number" ? (k % w.length + w.length) % w.length : $ue(w, k); + return b < 0 ? null : (e.state.update(Fue, b), O(w[b], A), w[b]); + } + function O(k, A) { + const w = { ...t.get().reveal, ...A }; + e.tryGet(At)?.reveal(k.page, { + rect: k.bounds, + align: w.align, + behavior: w.behavior }); } + const E = (k) => { + const A = e.getPage(k); + return A ? u().hitsByPage[A.ref.objectNumber] ?? Q6 : Q6; + }, P = { + ...t.api, + // The twin of search() and findAll(), which refuse without doc.text.search. + // Snippets need doc.text.copy too, but a search without it still runs: its + // matches come without snippets (see collect). + canSearch: (k) => e.allows("doc.text.search") && (!k?.snippets || e.allows("doc.text.copy")), + search: g, + refresh: async (k) => { + const { query: A, status: w } = u(); + !A || w === "idle" || await g(A, k); + }, + cancel: () => n.cancel("cancelled"), + clear: h, + nextHit: (k) => m(u().activeHitIndex + 1, k), + previousHit: (k) => m(u().activeHitIndex - 1, k), + goToHit: m, + revealActiveHit: (k) => { + const A = P.getActiveHit(); + A && O(A, k); + }, + getQuery: () => u().query, + getStatus: () => u().status, + listHits: (k) => k?.page === void 0 ? u().hits : E(k.page), + getHitCount: (k) => (k === void 0 ? u().hits : E(k)).length, + listPagesWithHits: () => u().hits.length ? Bue(u(), e.document()?.pages ?? []) : zue, + getActiveHitIndex: () => u().activeHitIndex, + getActiveHit: () => u().hits[u().activeHitIndex] ?? null, + getProgress: () => u().progress, + getError: () => u().error, + // ── the service ────────────────────────────────────────────────────── + findAll: async (k, A = {}) => { + e.assertAllowed("doc.text.search", "findAll"), A.snippets && e.assertAllowed("doc.text.copy", "findAll"); + const w = []; + if (!await d( + k, + { + ...A.snippets !== void 0 ? { snippets: A.snippets } : {}, + ...A.signal ? { signal: A.signal } : {} + }, + { + onStart: () => { + w.length = 0; + }, + onSlice: (v) => w.push(...v) + } + )) throw new te("operation-cancelled", "search", "findAll aborted"); + return w; + }, + onStarted: o.on, + onProgressChanged: r.on, + onCompleted: s.on, + onCancelled: a.on, + onFailed: i.on, + onActiveHitChanged: c.on, + onCleared: l.on + }; return { - locales: i, - loaders: a, - codes: [.../* @__PURE__ */ new Set([...t, ...o.keys()])] + api: P, + connect() { + let k = null; + e.listen(e.doc.events, () => { + u().status !== "idle" && (k?.(), k = e.clock.after(Wue, () => { + k = null, P.refresh().catch(() => { + }); + })); + }); + } }; } -const rv = { - stage: xt, - thumbnails: nl, +const Kue = (e) => ({ + id: "search", + token: Jo, + scope: "document", + optional: [At], + state: yv, + settings: { defaults: lee, registered: e }, + create: Uue +}), que = pn(Jo, { + read: (e) => ({ + query: e.getQuery(), + status: e.getStatus(), + hitCount: e.getHitCount(), + activeHitIndex: e.getActiveHitIndex(), + activeHit: e.getActiveHit(), + progress: e.getProgress(), + error: e.getError() + }), + empty: { + query: null, + status: "idle", + hitCount: 0, + activeHitIndex: -1, + activeHit: null, + progress: QN, + error: null + } +}); +function Hue({ onHitClick: e }) { + const t = so(), n = Que(t.ref), o = Vue((d) => d.activeHit), r = Gue((d) => d.highlight), [s] = ke(TB); + if (n.length === 0) return null; + const a = Ye("search-highlight", r.color), i = Ye("search-highlight-active", r.activeColor), c = Ye( + "search-blend-mode", + r.blendMode + ), l = e ? { pointerEvents: "auto", cursor: "pointer" } : null, u = (d) => e && { + onPointerDown: (p) => s.press(p), + onClick: (p) => { + s.isClick(p) && e(d); + } + }, f = NB(n, { + active: o, + page: t.transform, + color: a, + activeColor: i + }); + return /* @__PURE__ */ I("div", { style: { position: "absolute", inset: 0, pointerEvents: "none" }, children: f.map( + (d) => d.box ? /* @__PURE__ */ I( + "div", + { + ...u(d.hit), + style: { + position: "absolute", + left: d.box.left, + top: d.box.top, + width: d.box.width, + height: d.box.height, + backgroundColor: d.fill, + mixBlendMode: c, + borderRadius: 2, + ...l + } + }, + d.key + ) : /* @__PURE__ */ I( + "svg", + { + style: { + position: "absolute", + inset: 0, + width: "100%", + height: "100%", + overflow: "visible", + mixBlendMode: c + }, + children: /* @__PURE__ */ I( + "polygon", + { + points: d.points ?? void 0, + ...u(d.hit), + style: { fill: d.fill, ...l } + } + ) + }, + d.key + ) + ) }); +} +function cge() { + return Ge(Jo); +} +const Vue = zn(que), Gue = Wi(Jo), Yue = Object.freeze([]); +function Que(e) { + const t = Ko(); + return vt( + (n) => n.tryCapability(Jo, t ?? void 0)?.listHits(e === void 0 ? void 0 : { page: e }) ?? Yue + ); +} +const tl = St("stage-thumbs"), wv = { + stage: At, + thumbnails: tl, render: ro, - link: ri, - selection: wn, - search: Zo, + link: aa, + selection: Sn, + search: Jo, annotation: Qe, - stamp: Yt, - measurement: Bo, - redaction: pr, - form: Ao, + stamp: Jt, + measurement: $o, + redaction: hr, + form: xo, signature: qo, - pageEdit: Ua, - metadata: oN, - fonts: Er, - outline: Ka, - attachment: qa, - actions: yn, - documents: tt, - interaction: cn, - commands: zn, - shell: We, - i18n: Cn -}, Rle = Symbol.for("@embedpdf/viewer/kernel"), Lle = "this viewer is gone: it was unmounted, or mounted again with a new config. Use the viewer the new onReady gives you.", jle = /^(?:on|register)(?:[A-Z]|$)/, Fle = (e) => { + pageEdit: Ui, + metadata: VN, + fonts: Ir, + outline: Ki, + attachment: qi, + actions: An, + documents: nt, + interaction: fn, + commands: Bn, + shell: Ue, + i18n: Yo +}, Xue = Symbol.for("@embedpdf/viewer/kernel"), Zue = "this viewer is gone: it was unmounted, or mounted again with a new config. Use the viewer the new onReady gives you.", Jue = /^(?:on|register)(?:[A-Z]|$)/, ede = (e) => { if (typeof e != "object" || e === null) return !1; const t = Object.getPrototypeOf(e); return t === Object.prototype || t === null; }; -function Dle(e, t) { +function tde(e, t) { let n = !1; - const o = /* @__PURE__ */ new Set(), r = (g) => new Z("instance-closed", g, Lle), s = (g) => { + const o = /* @__PURE__ */ new Set(), r = (h) => new te("instance-closed", h, Zue), s = (h) => { const m = () => { - o.delete(m), g(); + o.delete(m), h(); }; return o.add(m), m; - }, i = /* @__PURE__ */ new WeakMap(), a = (g, m) => { - const M = i.get(g); - if (M) return M; - const x = /* @__PURE__ */ new Map(), S = (A, y) => jle.test(A) ? (...w) => { + }, a = /* @__PURE__ */ new WeakMap(), i = (h, m) => { + const O = a.get(h); + if (O) return O; + const E = /* @__PURE__ */ new Map(), P = (w, b) => Jue.test(w) ? (...v) => { if (n) return () => { }; - const O = y.apply(g, w); - return typeof O == "function" ? s(O) : O; - } : fF(A) ? (...w) => { + const x = b.apply(h, v); + return typeof x == "function" ? s(x) : x; + } : vD(w) ? (...v) => { if (n) throw r(m); - return y.apply(g, w); - } : (...w) => n ? Promise.reject(r(m)) : y.apply(g, w), P = (A) => { - const y = Reflect.get(g, A, g); - if (typeof A == "symbol") return y; - if (Fle(y)) return a(y, m); - if (typeof y != "function") return y; - const w = x.get(A); - if (w?.value === y) return w.member; - const O = S(A, y); - return x.set(A, { - value: y, - member: O - }), O; - }, k = new Proxy({}, { - get: (A, y) => P(y), - has: (A, y) => Reflect.has(g, y), - ownKeys: () => Reflect.ownKeys(g), - getOwnPropertyDescriptor: (A, y) => { - const w = Reflect.getOwnPropertyDescriptor(g, y); - return w && { + return b.apply(h, v); + } : (...v) => n ? Promise.reject(r(m)) : b.apply(h, v), k = (w) => { + const b = Reflect.get(h, w, h); + if (typeof w == "symbol") return b; + if (ede(b)) return i(b, m); + if (typeof b != "function") return b; + const v = E.get(w); + if (v?.value === b) return v.member; + const x = P(w, b); + return E.set(w, { + value: b, + member: x + }), x; + }, A = new Proxy({}, { + get: (w, b) => k(b), + has: (w, b) => Reflect.has(h, b), + ownKeys: () => Reflect.ownKeys(h), + getOwnPropertyDescriptor: (w, b) => { + const v = Reflect.getOwnPropertyDescriptor(h, b); + return v && { configurable: !0, - enumerable: w.enumerable, - value: P(y) + enumerable: v.enumerable, + value: k(b) }; } }); - return i.set(g, k), k; - }, c = (g) => Object.prototype.hasOwnProperty.call(t, g) ? t[g] ?? null : null, l = (g) => { - if (typeof g != "string") return g; - const m = c(g); - if (!m) throw new Error(`[embedpdf] the viewer has no plugin named "${g}". Its plugins: ${Object.keys(t).join(", ")}.`); + return a.set(h, A), A; + }, c = (h) => Object.prototype.hasOwnProperty.call(t, h) ? t[h] ?? null : null, l = (h) => { + if (typeof h != "string") return h; + const m = c(h); + if (!m) throw new Error(`[embedpdf] the viewer has no plugin named "${h}". Its plugins: ${Object.keys(t).join(", ")}.`); return m; - }, u = (g, m) => { + }, u = (h, m) => { try { - return e.capability(g, m); - } catch (M) { - if (sn(M) || e.scopeOf(g) !== "document") throw M; - const x = M instanceof Error ? M.message : String(M); - throw new Z("not-ready", g.name, x, { cause: M }); + return e.capability(h, m); + } catch (O) { + if (un(O) || e.scopeOf(h) !== "document") throw O; + const E = O instanceof Error ? O.message : String(O); + throw new te("not-ready", h.name, E, { cause: O }); } - }, f = (g) => { - function m(x) { - const S = l(x); - if (n) throw r(S.name); - return a(u(S, g), S.name); + }, f = (h) => { + function m(E) { + const P = l(E); + if (n) throw r(P.name); + return i(u(P, h), P.name); } - function M(x) { - const S = typeof x == "string" ? c(x) : x, P = S && !n ? e.tryCapability(S, g) : null; - return P === null ? null : a(P, S.name); + function O(E) { + const P = typeof E == "string" ? c(E) : E, k = P && !n ? e.tryCapability(P, h) : null; + return k === null ? null : i(k, P.name); } return { get: m, - tryGet: M + tryGet: O }; - }, d = (g, m, M = {}) => { + }, d = (h, m, O = {}) => { if (n) return () => { }; - const { immediate: x = !1, isEqual: S = Object.is } = M, P = m; - let k = null; - const A = () => { - let y; + const { immediate: E = !1, isEqual: P = Object.is } = O, k = m; + let A = null; + const w = () => { + let b; try { - y = g(); - } catch (O) { - if (sn(O, "not-ready")) return; - throw O; + b = h(); + } catch (x) { + if (un(x, "not-ready")) return; + throw x; } - if (k === null) { - k = { value: y }, x && P(y, void 0); + if (A === null) { + A = { value: b }, E && k(b, void 0); return; } - if (S(k.value, y)) return; - const w = k.value; - k = { value: y }, P(y, w); + if (P(A.value, b)) return; + const v = A.value; + A = { value: b }, k(b, v); }; - return A(), s(e.subscribe(A)); + return w(), s(e.subscribe(w)); }, p = { ...f(void 0), - documents: a(e.documents, tt.name), - commands: a(e.capability(zn), zn.name), + documents: i(e.documents, nt.name), + commands: i(e.capability(Bn), Bn.name), forDocument: f, watch: d }; - return Object.defineProperty(p, Rle, { value: e }), { + return Object.defineProperty(p, Xue, { value: e }), { viewer: p, destroy: () => { if (!n) { n = !0; - for (const g of [...o]) g(); + for (const h of [...o]) h(); } } }; } -function $le(e) { +function nde(e) { let t = null; return { attach: (n) => (t?.kernel !== n && (t?.lifetime.destroy(), t = { kernel: n, - lifetime: Dle(n, e) + lifetime: tde(n, e) }), t.lifetime.viewer), current: () => t?.lifetime.viewer ?? null, release: (n) => { @@ -57313,15 +58576,15 @@ function $le(e) { } }; } -const Ble = [ +const ode = [ "standard", "quick", "sidebar" -], zle = [ +], rde = [ "kinds", "fonts", "libraries" -], Wle = /* @__PURE__ */ new Set([ +], sde = /* @__PURE__ */ new Set([ "link", "pageEdit", "metadata", @@ -57330,49 +58593,49 @@ const Ble = [ "attachment", "documents", "shell" -]), Ule = (e) => Object.prototype.hasOwnProperty.call(rv, e), aN = (e) => typeof e == "object" && e !== null; -function N6(e) { - if (!aN(e)) return !1; +]), ade = (e) => Object.prototype.hasOwnProperty.call(wv, e), XN = (e) => typeof e == "object" && e !== null; +function X6(e) { + if (!XN(e)) return !1; const { id: t, create: n } = e; return typeof t == "string" && typeof n == "function"; } -function Kle(e) { +function ide(e) { const t = {}, n = [], o = []; for (const [r, s] of Object.entries(e ?? {})) - s !== void 0 && (Ule(r) ? N6(s) ? o.push(`"${r}" is the viewer's own ${r} plugin: give it settings, or give your plugin a name of its own`) : Wle.has(r) ? o.push(`the ${r} plugin takes no settings`) : !aN(s) || Array.isArray(s) ? o.push(`the ${r} plugin's settings are an object`) : t[r] = s : N6(s) ? n.push({ + s !== void 0 && (ade(r) ? X6(s) ? o.push(`"${r}" is the viewer's own ${r} plugin: give it settings, or give your plugin a name of its own`) : sde.has(r) ? o.push(`the ${r} plugin takes no settings`) : !XN(s) || Array.isArray(s) ? o.push(`the ${r} plugin's settings are an object`) : t[r] = s : X6(s) ? n.push({ name: r, plugin: s - }) : o.push(`"${r}" is not one of the viewer's plugins, and not a plugin definition` + an(r, Object.keys(rv)))); - return t.i18n && (t.i18n = qle(t.i18n, o)), { + }) : o.push(`"${r}" is not one of the viewer's plugins, and not a plugin definition` + dn(r, Object.keys(wv)))); + return t.i18n && (t.i18n = cde(t.i18n, o)), { settings: t, viewer: { - stamp: T6(t, "stamp", Ble), - signature: T6(t, "signature", zle) + stamp: Z6(t, "stamp", ode), + signature: Z6(t, "signature", rde) }, own: n, problems: o }; } -function qle(e, t) { +function cde(e, t) { const { fallbackLocale: n, ...o } = e; for (const r of Object.keys(o)) t.push(r === "locale" ? "the i18n plugin's locale is the viewer's `locale`" : `the i18n plugin's ${r} are the viewer's \`strings\`: give your words there`); return n === void 0 ? {} : { fallbackLocale: n }; } -function T6(e, t, n) { +function Z6(e, t, n) { const o = e[t]; if (!o) return {}; const r = {}, s = { ...o }; - for (const i of n) - s[i] !== void 0 && (r[i] = s[i]), delete s[i]; + for (const a of n) + s[a] !== void 0 && (r[a] = s[a]), delete s[a]; return e[t] = s, r; } -function R6(e, t) { - return Mm(e, t); +function J6(e, t) { + return Lm(e, t); } -function Hle(e) { +function lde(e) { return e.screen ? "screen" : e.topLevel && e.popover ? "window" : null; } -function cN(e) { +function ZN(e) { const t = e.ownerDocument, n = t.defaultView; return { screen: t.fullscreenEnabled === !0 && typeof e.requestFullscreen == "function", @@ -57380,73 +58643,73 @@ function cN(e) { popover: typeof e.showPopover == "function" }; } -const lN = (e) => e.closest("[data-embedpdf-root]") ?? e, sv = "data-epdf-fills-window"; -function ga(e) { - if (e.hasAttribute(sv)) return "window"; +const JN = (e) => e.closest("[data-embedpdf-root]") ?? e, vv = "data-epdf-fills-window"; +function gi(e) { + if (e.hasAttribute(vv)) return "window"; const t = e.getRootNode().host ?? null; - return Eb(e) || t !== null && Eb(t) ? "screen" : null; + return $b(e) || t !== null && $b(t) ? "screen" : null; } -async function Vle(e) { - if (ga(e) !== null) return; - const t = cN(e); +async function ude(e) { + if (gi(e) !== null) return; + const t = ZN(e); if (t.screen) try { await e.requestFullscreen({ navigationUI: "hide" }); return; } catch { } - t.topLevel && t.popover && Yle(e); + t.topLevel && t.popover && fde(e); } -async function Gle(e) { - const t = ga(e); - t === "window" ? Nb(e) : t === "screen" && await e.ownerDocument.exitFullscreen(); +async function dde(e) { + const t = gi(e); + t === "window" ? Wb(e) : t === "screen" && await e.ownerDocument.exitFullscreen(); } -function Yle(e) { - e.setAttribute(sv, ""), e.setAttribute("popover", "manual"), e.showPopover(); +function fde(e) { + e.setAttribute(vv, ""), e.setAttribute("popover", "manual"), e.showPopover(); } -function Nb(e) { - e.matches(":popover-open") && e.hidePopover(), e.removeAttribute("popover"), e.removeAttribute(sv); +function Wb(e) { + e.matches(":popover-open") && e.hidePopover(), e.removeAttribute("popover"), e.removeAttribute(vv); } -const Qle = { +const pde = { way: null, current: null }; -function Xle(e) { - const [t, n] = ke(Qle); - return Ne(() => { +function hde(e) { + const [t, n] = ke(pde); + return _e(() => { const o = e.current; if (!o) return; - const r = lN(o), s = Hle(cN(r)), i = () => { - const l = ga(r); + const r = JN(o), s = lde(ZN(r)), a = () => { + const l = gi(r); n((u) => u.way === s && u.current === l ? u : { way: s, current: l }); - }, a = (l) => { - l.key !== "Escape" || l.defaultPrevented || pf(l) || ga(r) === "window" && (l.preventDefault(), Nb(r)); + }, i = (l) => { + l.key !== "Escape" || l.defaultPrevented || hf(l) || gi(r) === "window" && (l.preventDefault(), Wb(r)); }, c = r.ownerDocument; - return i(), c.addEventListener("fullscreenchange", i), r.addEventListener("toggle", i), r.addEventListener("keydown", a), () => { - c.removeEventListener("fullscreenchange", i), r.removeEventListener("toggle", i), r.removeEventListener("keydown", a), ga(r) === "window" && Nb(r); + return a(), c.addEventListener("fullscreenchange", a), r.addEventListener("toggle", a), r.addEventListener("keydown", i), () => { + c.removeEventListener("fullscreenchange", a), r.removeEventListener("toggle", a), r.removeEventListener("keydown", i), gi(r) === "window" && Wb(r); }; }, [e]), t; } -const Zle = "view:fullscreen"; -function Jle(e, t, n) { +const gde = "view:fullscreen"; +function mde(e, t, n) { const o = t.current !== null, r = o || t.way === "screen" || t.way === "window" && !n; return { - id: Zle, + id: gde, labelKey: "commands.fullscreen", icon: o ? "fullscreenExit" : "fullscreen", visible: () => r, active: () => o, - run: () => ga(e) === null ? Vle(e) : Gle(e) + run: () => gi(e) === null ? ude(e) : dde(e) }; } -const iv = (e) => typeof e == "object" && e !== null, eue = (e) => e.side === "start" ? "start" : "end"; -function tue(e, t) { - return Object.entries(e.panels ?? {}).filter(([, n]) => iv(n) && eue(n) === t).map(([n]) => n); +const kv = (e) => typeof e == "object" && e !== null, bde = (e) => e.side === "start" ? "start" : "end"; +function yde(e, t) { + return Object.entries(e.panels ?? {}).filter(([, n]) => kv(n) && bde(n) === t).map(([n]) => n); } -function nue(e, t, n) { - const o = t.ids.filter((s) => t.shown.includes(s) && iv(e[s])), r = o.filter((s) => e[s].open === !0 && !n.has(s)); +function wde(e, t, n) { + const o = t.ids.filter((s) => t.shown.includes(s) && kv(e[s])), r = o.filter((s) => e[s].open === !0 && !n.has(s)); return t.current !== null ? { open: null, started: r @@ -57455,19 +58718,19 @@ function nue(e, t, n) { started: r }; } -const L6 = (e, t, n, o) => t > 0 || n && !(e.tryGet(zn)?.isCategoryDisabled(o) ?? !1), av = "search", uN = { +const e5 = (e, t, n, o) => t > 0 || n && !(e.tryGet(Bn)?.isCategoryDisabled(o) ?? !1), xv = "search", eT = { categories: ["search"], - allowed: (e) => e.tryGet(Zo)?.canSearch() ?? !0, + allowed: (e) => e.tryGet(Jo)?.canSearch() ?? !0, notAllowedKey: "commands.notAllowed.doc-text-search" -}, j6 = { +}, t5 = { id: "search:find", labelKey: "commands.find", icon: "search", shortcut: "Mod+F", shortcutInTextFields: !0, - ...uN, - run: (e) => e.tryGet(We)?.open(av, { focus: !0 }) -}, oue = /* @__PURE__ */ new Map([ + ...eT, + run: (e) => e.tryGet(Ue)?.open(xv, { focus: !0 }) +}, vde = /* @__PURE__ */ new Map([ ["thumbnails", { titleKey: "panels.thumbnails", icon: "sidebar", @@ -57480,8 +58743,8 @@ const L6 = (e, t, n, o) => t > 0 || n && !(e.tryGet(zn)?.isCategoryDisabled(o) ? icon: "listTree", categories: ["outline"], visible: (e) => { - const t = e.tryGet(Ka); - return t != null && L6(e, t.list().length, t.canEdit(), "outline.editing"); + const t = e.tryGet(Ki); + return t != null && e5(e, t.list().length, t.canEdit(), "outline.editing"); } }], ["attachments", { @@ -57489,14 +58752,14 @@ const L6 = (e, t, n, o) => t > 0 || n && !(e.tryGet(zn)?.isCategoryDisabled(o) ? icon: "paperclip", categories: ["attachments"], visible: (e) => { - const t = e.tryGet(qa); - return t != null && L6(e, t.list().length, t.canCreate(), "attachments.adding"); + const t = e.tryGet(qi); + return t != null && e5(e, t.list().length, t.canCreate(), "attachments.adding"); } }], - [av, { + [xv, { titleKey: "panels.search", icon: "search", - ...uN, + ...eT, focus: !0 }], ["comments", { @@ -57515,22 +58778,22 @@ const L6 = (e, t, n, o) => t > 0 || n && !(e.tryGet(zn)?.isCategoryDisabled(o) ? titleKey: "panels.stamps", icon: "rubberStamp", categories: ["stamps"], - allowed: (e) => e.tryGet(Yt)?.canPlace(e.documentId ?? void 0) ?? !0, + allowed: (e) => e.tryGet(Jt)?.canPlace(e.documentId ?? void 0) ?? !0, notAllowedKey: "commands.notAllowed.annotations-create", - visible: (e) => e.tryGet(Yt) != null + visible: (e) => e.tryGet(Jt) != null }], ["signatures", { titleKey: "panels.signatures", icon: "signature", categories: ["signatures"], - visible: (e) => e.tryGet(Yt) != null && e.tryGet(qo) != null + visible: (e) => e.tryGet(Jt) != null && e.tryGet(qo) != null }], ["redaction", { titleKey: "panels.redaction", icon: "redactionSidebar", categories: ["redaction"], allowed: (e) => { - const t = e.tryGet(pr); + const t = e.tryGet(hr); return t ? t.canMark() || t.canApply() : !0; } }], @@ -57539,7 +58802,7 @@ const L6 = (e, t, n, o) => t > 0 || n && !(e.tryGet(zn)?.isCategoryDisabled(o) ? icon: "updateScale", categories: ["measurement"], allowed: (e) => { - const t = e.tryGet(Bo), n = e.tryGet(Qe); + const t = e.tryGet($o), n = e.tryGet(Qe); return t ? t.canCalibrate() || (n?.canCreate() ?? !0) : !0; } }], @@ -57547,72 +58810,72 @@ const L6 = (e, t, n, o) => t > 0 || n && !(e.tryGet(zn)?.isCategoryDisabled(o) ? titleKey: "panels.formDesign", icon: "formDesign", categories: ["forms.building"], - allowed: (e) => e.tryGet(Ao)?.canDesign() ?? !0, - visible: (e) => e.tryGet(We)?.isOpen("mode:form") ?? !1 + allowed: (e) => e.tryGet(xo)?.canDesign() ?? !0, + visible: (e) => e.tryGet(Ue)?.isOpen("mode:form") ?? !1 }] -]), rue = (e, t, n) => n ? { panel: t ? { +]), kde = (e, t, n) => n ? { panel: t ? { id: e, focus: t } : e } : { - run: (o) => o.tryGet(We)?.open(e, t ? { focus: t } : void 0), - active: (o) => o.tryGet(We)?.isOpen(e) ?? !1 + run: (o) => o.tryGet(Ue)?.open(e, t ? { focus: t } : void 0), + active: (o) => o.tryGet(Ue)?.isOpen(e) ?? !1 }; -function sue(e, t) { +function xde(e, t) { return Object.entries(e ?? {}).flatMap(([n, o]) => { const r = bs(n); - if (!iv(o)) return []; - const s = n === av && !t(j6.id) ? [j6] : []; + if (!kv(o)) return []; + const s = n === xv && !t(t5.id) ? [t5] : []; if (t(r)) return s; - const i = oue.get(n), { focus: a, titleKey: c, icon: l, ...u } = i ?? {}, f = o.titleKey ?? (o.title === void 0 ? i?.titleKey : void 0); + const a = vde.get(n), { focus: i, titleKey: c, icon: l, ...u } = a ?? {}, f = o.titleKey ?? (o.title === void 0 ? a?.titleKey : void 0); return [{ id: r, label: o.title ?? (f === void 0 ? n : void 0), labelKey: f, - icon: o.icon ?? i?.icon, - ...rue(n, a, o.closable !== !1), + icon: o.icon ?? a?.icon, + ...kde(n, i, o.closable !== !1), ...u }, ...s]; }); } -const iue = (e, t) => e === t || JSON.stringify(e ?? {}) === JSON.stringify(t ?? {}), aue = 2e3; -function cue(e, t) { +const Ade = (e, t) => e === t || JSON.stringify(e ?? {}) === JSON.stringify(t ?? {}), Sde = 2e3; +function Ode(e, t) { const { start: n = [], center: o = [], end: r = [] } = e.sections; return [ ...n, ...o, ...r - ].some((s) => s.items.some((i) => typeof i == "object" && "slot" in i && i.slot === t)); + ].some((s) => s.items.some((a) => typeof a == "object" && "slot" in a && a.slot === t)); } -function lue(e, t) { - return t === null ? !1 : e ?? cue(t, "page-number"); +function Pde(e, t) { + return t === null ? !1 : e ?? Ode(t, "page-number"); } -function uue(e, t) { - const n = at(xt), [o, r] = ke(!1); +function Mde(e, t) { + const n = ct(At), [o, r] = ke(!1); return Se(() => { const s = t.current; if (!e || !s) return; - let i = !1, a; + let a = !1, i; const c = () => { - const m = go(s.ownerDocument); - return i || m !== null && s.contains(m) && m.matches(":focus-visible") || s.querySelector('[aria-expanded="true"]') !== null; + const m = mo(s.ownerDocument); + return a || m !== null && s.contains(m) && m.matches(":focus-visible") || s.querySelector('[aria-expanded="true"]') !== null; }, l = () => { - r(!1), clearTimeout(a), a = setTimeout(u, aue); + r(!1), clearTimeout(i), i = setTimeout(u, Sde); }; function u() { c() ? l() : r(!0); } const f = () => { - i = !0, l(); + a = !0, l(); }, d = () => { - i = !1, l(); - }, p = s.closest("[data-float]")?.offsetParent ?? null, h = { + a = !1, l(); + }, p = s.closest("[data-float]")?.offsetParent ?? null, g = { capture: !0, passive: !0 }; - p?.addEventListener("pointermove", l, h), p?.addEventListener("pointerdown", l, h), s.addEventListener("pointerenter", f), s.addEventListener("pointerleave", d), s.addEventListener("focusin", l); - const g = n?.onCameraChanged(l); + p?.addEventListener("pointermove", l, g), p?.addEventListener("pointerdown", l, g), s.addEventListener("pointerenter", f), s.addEventListener("pointerleave", d), s.addEventListener("focusin", l); + const h = n?.onCameraChanged(l); return l(), () => { - g?.(), p?.removeEventListener("pointermove", l, h), p?.removeEventListener("pointerdown", l, h), s.removeEventListener("pointerenter", f), s.removeEventListener("pointerleave", d), s.removeEventListener("focusin", l), clearTimeout(a), r(!1); + h?.(), p?.removeEventListener("pointermove", l, g), p?.removeEventListener("pointerdown", l, g), s.removeEventListener("pointerenter", f), s.removeEventListener("pointerleave", d), s.removeEventListener("focusin", l), clearTimeout(i), r(!1); }; }, [ e, @@ -57620,57 +58883,57 @@ function uue(e, t) { t ]), o; } -function due(e) { - const [t, n] = ke(aie); - return Ne(() => { +function Ede(e) { + const [t, n] = ke(Iie); + return _e(() => { const o = e.current; if (!o) return; const r = () => { - const a = h_(o.getBoundingClientRect(), m_(o)); - n((c) => cie(c, a) ? c : a); + const i = nN(o.getBoundingClientRect(), rN(o)); + n((c) => _ie(c, i) ? c : i); }; r(); const s = new ResizeObserver(r); s.observe(o); - const i = mp(r); + const a = vp(r); return () => { - i(), s.disconnect(); + a(), s.disconnect(); }; }, [e]), t; } -const dN = "(pointer: coarse)", fue = () => typeof matchMedia == "function" && matchMedia(dN).matches, F6 = (e, t) => e.length === t.length && e.every((n, o) => n === t[o]); -function D6(e, t) { - const n = me(e); +const tT = "(pointer: coarse)", Cde = () => typeof matchMedia == "function" && matchMedia(tT).matches, n5 = (e, t) => e.length === t.length && e.every((n, o) => n === t[o]); +function o5(e, t) { + const n = ye(e); return n.current !== e && !t(n.current, e) && (n.current = e), n.current; } -const $6 = [ +const r5 = [ "compact", "medium", "expanded" ]; -function pue(e, t) { +function Ide(e, t) { const n = [], o = (r) => r === void 0 || r === "auto"; - return !o(e) && !$6.includes(e) && n.push(`size: ${JSON.stringify(e)} is not auto, compact, medium or expanded; the viewer measures its width`), !o(t) && typeof t != "boolean" && n.push(`touch: ${JSON.stringify(t)} is not auto, true or false; the viewer asks the browser`), { - size: $6.includes(e) ? e : null, + return !o(e) && !r5.includes(e) && n.push(`size: ${JSON.stringify(e)} is not auto, compact, medium or expanded; the viewer measures its width`), !o(t) && typeof t != "boolean" && n.push(`touch: ${JSON.stringify(t)} is not auto, true or false; the viewer asks the browser`), { + size: r5.includes(e) ? e : null, touch: typeof t == "boolean" ? t : null, problems: n }; } -function hue(e, t) { - const n = MI((u) => u.direction), [o, r] = ke(null), [s, i] = ke(fue); - Ne(() => { +function _de(e, t) { + const n = Gf((u) => u.direction), [o, r] = ke(null), [s, a] = ke(Cde); + _e(() => { const u = e.current; - return u ? n0(u, (f) => r(Math.round(f))) : void 0; + return u ? g0(u, (f) => r(Math.round(f))) : void 0; }, [e]); - const a = t.touch === null; + const i = t.touch === null; Se(() => { - if (!a || typeof matchMedia != "function") return; - const u = matchMedia(dN), f = () => i(u.matches); + if (!i || typeof matchMedia != "function") return; + const u = matchMedia(tT), f = () => a(u.matches); return u.addEventListener("change", f), () => u.removeEventListener("change", f); - }, [a]); + }, [i]); const c = t.size, l = t.touch ?? s; return He(() => o === null ? null : { - size: c ?? coe(o), + size: c ?? Are(o), width: o, touch: l, dir: n @@ -57681,58 +58944,58 @@ function hue(e, t) { n ]); } -function gue({ className: e, rootRef: t, children: n }) { - const o = me(null), r = t ?? o, s = Qse(), [i] = ke(() => pue(s.size, s.touch)); +function Nde({ className: e, rootRef: t, children: n }) { + const o = ye(null), r = t ?? o, s = cie(), [a] = ke(() => Ide(s.size, s.touch)); Se(() => { - for (const S of i.problems) console.warn(`[embedpdf] ${S}`); - }, [i]); - const a = hue(r, i), c = a ?? Ww, l = Yse(), u = He(() => loe(l, Bse, c), [l, c]), f = u.toJSON(), d = xn(), p = tn() ?? void 0, h = wt(() => Ooe(f, (S) => d.resolveCommand(S, p)), F6), g = me(/* @__PURE__ */ new Map()), m = He(() => { - const S = (O, b) => { - const v = JSON.stringify(b), E = g.current.get(O); - return E?.key === v ? E.value : (g.current.set(O, { - key: v, - value: b - }), b); - }, P = new Set(h), k = /* @__PURE__ */ new Map(); - for (const O of Object.keys(f.bars ?? {})) k.set(O, S(`bar:${O}`, Lw(f, O, { omit: P }))); - const A = (O) => k.get(O) ?? null, y = { - selection: S("strip:selection", Vd(f, "selection", A)), - annotation: S("strip:annotation", Vd(f, "annotation", A)), - snapshot: S("strip:snapshot", Vd(f, "snapshot", A)) - }, w = /* @__PURE__ */ new Map(); - for (const O of Object.keys(f.menus ?? {})) w.set(O, S(`menu:${O}`, jw(f, O))); + for (const P of a.problems) console.warn(`[embedpdf] ${P}`); + }, [a]); + const i = _de(r, a), c = i ?? nv, l = iie(), u = He(() => Sre(l, Zae, c), [l, c]), f = u.toJSON(), d = Pn(), p = an() ?? void 0, g = vt(() => zre(f, (P) => d.resolveCommand(P, p), (P) => d.getCommand(P)), n5), h = ye(/* @__PURE__ */ new Map()), m = He(() => { + const P = (x, y) => { + const M = JSON.stringify(y), S = h.current.get(x); + return S?.key === M ? S.value : (h.current.set(x, { + key: M, + value: y + }), y); + }, k = new Set(g), A = /* @__PURE__ */ new Map(); + for (const x of Object.keys(f.bars ?? {})) A.set(x, P(`bar:${x}`, Yw(f, x, { omit: k }))); + const w = (x) => A.get(x) ?? null, b = { + selection: P("strip:selection", Gd(f, "selection", w)), + annotation: P("strip:annotation", Gd(f, "annotation", w)), + snapshot: P("strip:snapshot", Gd(f, "snapshot", w)) + }, v = /* @__PURE__ */ new Map(); + for (const x of Object.keys(f.menus ?? {})) v.set(x, P(`menu:${x}`, Qw(f, x))); return { data: f, env: c, - bar: A, - strip: (O) => y[O], - menu: (O) => w.get(O) ?? null + bar: w, + strip: (x) => b[x], + menu: (x) => v.get(x) ?? null }; }, [ f, c, - h - ]), M = wt(() => Ta(f).map(ms).filter((S) => !h.includes(S) && d.resolveCommand(S, p)?.visible === !0), F6); - mue(D6(mse(f), bse)), bue(D6(f.panels, iue)), wue(M), vue(a === null ? null : u); - const x = due(r); - return yue(r, x.top && x.right && x.bottom && x.left), /* @__PURE__ */ C("div", { + g + ]), O = vt(() => Ni(f).map(ms).filter((P) => !g.includes(P) && d.resolveCommand(P, p)?.visible === !0), n5); + Tde(o5(Eae(f), Cae)), Rde(o5(f.panels, Ade)), jde(O), Fde(i === null ? null : u); + const E = Ede(r); + return Lde(r, E.top && E.right && E.bottom && E.left), /* @__PURE__ */ I("div", { ref: r, tabIndex: -1, - [uie]: "", + [Tie]: "", dir: c.dir, "data-touch": c.touch ? "" : void 0, className: e, - style: g_(x), - children: /* @__PURE__ */ C(Jse, { + style: oN(E), + children: /* @__PURE__ */ I(die, { value: m, children: n }) }); } -function mue(e) { - const t = xn(), n = Kw(); - Ne(() => { - const o = yse(e, (r) => t.hasCommand(r) && !n.isYours(r)).map(n.over); +function Tde(e) { + const t = Pn(), n = rv(); + _e(() => { + const o = Iae(e, (r) => t.hasCommand(r) && !n.isYours(r)).map(n.over); return o.length > 0 ? t.registerCommands(o, { replace: !0 }) : void 0; }, [ t, @@ -57740,10 +59003,10 @@ function mue(e) { n ]); } -function bue(e) { - const t = xn(), n = Kw(); - Ne(() => { - const o = sue(e, (r) => t.hasCommand(r) && !n.isYours(r)).map(n.over); +function Rde(e) { + const t = Pn(), n = rv(); + _e(() => { + const o = xde(e, (r) => t.hasCommand(r) && !n.isYours(r)).map(n.over); return o.length > 0 ? t.registerCommands(o, { replace: !0 }) : void 0; }, [ t, @@ -57751,13 +59014,13 @@ function bue(e) { n ]); } -function yue(e, t) { - const n = xn(), o = Kw(), r = Xle(e); - Ne(() => { +function Lde(e, t) { + const n = Pn(), o = rv(), r = hde(e); + _e(() => { const s = e.current; if (!s) return; - const i = Jle(lN(s), r, t); - return n.registerCommands([o.over(i)], { replace: !0 }); + const a = mde(JN(s), r, t); + return n.registerCommands([o.over(a)], { replace: !0 }); }, [ n, o, @@ -57766,10 +59029,10 @@ function yue(e, t) { t ]); } -function wue(e) { - const t = xn(), n = at(We), o = ht(We, Gf, null); +function jde(e) { + const t = Pn(), n = ct(Ue), o = mt(Ue, Xf, null); Se(() => { - o === null || e.includes(o) || (n?.close(o), t.execute(Ll).catch(() => { + o === null || e.includes(o) || (n?.close(o), t.execute(jl).catch(() => { })); }, [ t, @@ -57778,11 +59041,11 @@ function wue(e) { e ]); } -function vue(e) { - const t = xn(), n = me(/* @__PURE__ */ new Set()); +function Fde(e) { + const t = Pn(), n = ye(/* @__PURE__ */ new Set()); Se(() => { if (e === null) return; - const o = Ioe(e, { + const o = qre(e, { commands: t.listCommandIds(), hasCommand: (r) => t.hasCommand(r) }); @@ -57790,7 +59053,7 @@ function vue(e) { n.current.has(r) || (n.current.add(r), console.warn(`[embedpdf] layout: ${r}`)); }, [t, e]); } -const kue = { +const Dde = { top: { start: "top-start", middle: "top", @@ -57806,83 +59069,83 @@ const kue = { middle: "bottom", end: "bottom-end" } -}, cr = { +}, lr = { insetStart: 0, insetEnd: 0, offset: 0 -}, Ur = (e) => e !== null && e.width > 0; -function xue(e, t, n, o) { +}, Kr = (e) => e !== null && e.width > 0; +function $de(e, t, n, o) { const r = n + t / 2, s = e - o - t / 2; if (r > s) return null; - const i = Math.min(Math.max(e / 2, r), s), a = Math.min(i - n, e - o - i); + const a = Math.min(Math.max(e / 2, r), s), i = Math.min(a - n, e - o - a); return { - insetStart: i - a, - insetEnd: e - i - a, + insetStart: a - i, + insetEnd: e - a - i, offset: 0 }; } -function Aue({ length: e, gap: t, start: n, middle: o, end: r }) { - const s = Ur(n) ? n.width + t : 0, i = Ur(r) ? r.width + t : 0, a = Ur(o) ? xue(e, o.width, s, i) : null, c = Ur(o) && a === null ? o.height + t : 0, l = Ur(n) && Ur(r) && n.width + t + r.width > e; +function Bde({ length: e, gap: t, start: n, middle: o, end: r }) { + const s = Kr(n) ? n.width + t : 0, a = Kr(r) ? r.width + t : 0, i = Kr(o) ? $de(e, o.width, s, a) : null, c = Kr(o) && i === null ? o.height + t : 0, l = Kr(n) && Kr(r) && n.width + t + r.width > e; return { start: { - ...cr, + ...lr, offset: c }, - middle: a ?? cr, + middle: i ?? lr, end: { - ...cr, + ...lr, offset: c + (l ? n.height + t : 0) } }; } -function Sue({ length: e, gap: t, start: n, end: o }) { - return Ur(n) && Ur(o) && n.width + t + o.width > e ? { +function zde({ length: e, gap: t, start: n, end: o }) { + return Kr(n) && Kr(o) && n.width + t + o.width > e ? { start: { - ...cr, + ...lr, offset: o.height + t }, - middle: cr, + middle: lr, end: { - ...cr, + ...lr, offset: n.height + t } } : { - start: cr, - middle: cr, - end: cr + start: lr, + middle: lr, + end: lr }; } -function cv(e) { - const t = xn(), n = tn() ?? void 0, o = He(() => e ? rh(e) : null, [e]); - return wt(() => o !== null && Tw(o, (r) => { - const s = Ia(r); +function Av(e) { + const t = Pn(), n = an() ?? void 0, o = He(() => e ? lh(e) : null, [e]); + return vt(() => o !== null && Vw(o, (r) => { + const s = Ci(r); return s !== null && t.resolveCommand(s, n)?.visible === !0; })); } -function lv(e) { - const { data: t } = tr(), n = ht(We, Gf, null); +function Sv(e) { + const { data: t } = nr(), n = mt(Ue, Xf, null); return e.filter((o) => { const r = t.bars?.[o]?.mode; return r === void 0 || n === ms(r); }); } -const Pue = { +const Wde = { top: "border-b", bottom: "border-t", start: "border-e", end: "border-s" }; -function Oue({ id: e, edge: t, rides: n }) { - const o = tr().bar(e), r = cv(o); +function Ude({ id: e, edge: t, rides: n }) { + const o = nr().bar(e), r = Av(o); if (!o || !r) return null; const s = t === "start" || t === "end"; - return /* @__PURE__ */ C(lu, { + return /* @__PURE__ */ I(fu, { value: t, - children: /* @__PURE__ */ C("div", { - part: fh(e), + children: /* @__PURE__ */ I("div", { + part: bh(e), "data-bar": e, - className: `border-border flex shrink-0 ${s ? "flex-col px-2 py-4" : "items-center px-4 py-2"} ${n ? "bg-surface-alt" : "bg-surface"} ${Pue[t]}`, - children: /* @__PURE__ */ C(ev, { + className: `border-border flex shrink-0 ${s ? "flex-col px-2 py-4" : "items-center px-4 py-2"} ${n ? "bg-surface-alt" : "bg-surface"} ${Wde[t]}`, + children: /* @__PURE__ */ I(gv, { bar: o, orientation: s ? "vertical" : "horizontal", className: s ? "min-h-0 flex-1" : "w-full" @@ -57890,15 +59153,15 @@ function Oue({ id: e, edge: t, rides: n }) { }) }); } -function gd({ edge: e }) { - const { data: t } = tr(), n = lv(He(() => goe(t, e), [t, e])); - return /* @__PURE__ */ C(Te, { children: (e === "top" || e === "start" ? n : [...n].reverse()).map((o) => /* @__PURE__ */ C(Oue, { +function yd({ edge: e }) { + const { data: t } = nr(), n = Sv(He(() => Ire(t, e), [t, e])); + return /* @__PURE__ */ I(Re, { children: (e === "top" || e === "start" ? n : [...n].reverse()).map((o) => /* @__PURE__ */ I(Ude, { id: o, edge: e, - rides: iu(t.bars?.[o]?.place) !== null + rides: lu(t.bars?.[o]?.place) !== null }, o)) }); } -const B6 = { +const s5 = { "top-start": "start", top: "center", "top-end": "end", @@ -57907,12 +59170,12 @@ const B6 = { "bottom-start": "start", bottom: "center", "bottom-end": "end" -}, Mue = [ +}, Kde = [ "start", "center", "end" -], Eue = (e) => e.startsWith("bottom") ? "float-bottom" : "float-top"; -function Cue(e, t) { +], qde = (e) => e.startsWith("bottom") ? "float-bottom" : "float-top"; +function Hde(e, t) { const n = [ ...e.sections.start ?? [], ...e.sections.center ?? [], @@ -57923,18 +59186,18 @@ function Cue(e, t) { sections: { [t]: n } }; } -const fN = Xt(() => { +const nT = Yt(() => { }); -function Iue({ id: e, position: t }) { - const { data: n, bar: o } = tr(), r = o(e), s = cv(r), i = He(() => r ? Cue(r, B6[t]) : null, [r, t]), a = me(null), c = i !== null && s; - Se(() => c && a.current ? Qy(a.current) : void 0, [c]); - const l = uue(c && lue(yoe(n, e), r), a), u = rt(fN); - return Ne(() => { +function Vde({ id: e, position: t }) { + const { data: n, bar: o } = nr(), r = o(e), s = Av(r), a = He(() => r ? Hde(r, s5[t]) : null, [r, t]), i = ye(null), c = a !== null && s; + Se(() => c && i.current ? l0(i.current) : void 0, [c]); + const l = Mde(c && Pde(Tre(n, e), r), i), u = rt(nT); + return _e(() => { let f = null; - if (a.current?.querySelectorAll(':scope > [role="toolbar"] > div')?.forEach((p, h) => { - Mue[h] === B6[t] ? (p.setAttribute("part", fh(e)), f = p) : p.removeAttribute("part"); + if (i.current?.querySelectorAll(':scope > [role="toolbar"] > div')?.forEach((p, g) => { + Kde[g] === s5[t] ? (p.setAttribute("part", bh(e)), f = p) : p.removeAttribute("part"); }), f === null) return; - const d = n0(f, (p) => u(e, p)); + const d = g0(f, (p) => u(e, p)); return () => { d(), u(e, null); }; @@ -57943,130 +59206,130 @@ function Iue({ id: e, position: t }) { t, e, u - ]), c ? /* @__PURE__ */ C(lu, { - value: Eue(t), - children: /* @__PURE__ */ C("div", { - ref: a, + ]), c ? /* @__PURE__ */ I(fu, { + value: qde(t), + children: /* @__PURE__ */ I("div", { + ref: i, "data-bar": e, "data-idle-hidden": l ? "" : void 0, className: "flex w-full", - children: /* @__PURE__ */ C(ev, { - bar: i, + children: /* @__PURE__ */ I(gv, { + bar: a, className: "float-pill:pointer-events-auto float-pill:rounded-lg float-pill:border float-pill:border-border-subtle float-pill:bg-elevated/95 float-pill:p-0.5 float-pill:shadow-lg pointer-events-none w-full" }) }) }) : null; } -const _ue = 8, ns = 20, Nue = [ +const Gde = 8, os = 20, Yde = [ "top", "sides", "bottom" -], Tue = [ +], Qde = [ "start", "middle", "end" -], Rue = { - top: { top: ns }, +], Xde = { + top: { top: os }, sides: { - top: ns, - bottom: ns, + top: os, + bottom: os, display: "flex", flexDirection: "column", justifyContent: "center" }, - bottom: { bottom: ns } -}, Lue = (e, t) => e === "top" || e === "sides" && t === "end" ? "paddingTop" : "paddingBottom"; -function jue() { - const e = me(null), [t, n] = ke(0); - return Ne(() => e.current ? n0(e.current, n) : void 0, []), /* @__PURE__ */ C(Te, { children: [/* @__PURE__ */ C("div", { + bottom: { bottom: os } +}, Zde = (e, t) => e === "top" || e === "sides" && t === "end" ? "paddingTop" : "paddingBottom"; +function Jde() { + const e = ye(null), [t, n] = ke(0); + return _e(() => e.current ? g0(e.current, n) : void 0, []), /* @__PURE__ */ I(Re, { children: [/* @__PURE__ */ I("div", { ref: e, "aria-hidden": !0, className: "pointer-events-none absolute top-0 h-0", style: { - insetInlineStart: ns, - insetInlineEnd: ns + insetInlineStart: os, + insetInlineEnd: os } - }), Nue.map((o) => /* @__PURE__ */ C($ue, { + }), Yde.map((o) => /* @__PURE__ */ I(nfe, { row: o, length: t }, o))] }); } -const Fue = { +const efe = { start: null, middle: null, end: null -}, Due = (e, t) => e === t || e !== null && t !== null && Math.abs(e.width - t.width) <= 0.5 && Math.abs(e.height - t.height) <= 0.5; -function $ue({ row: e, length: t }) { - const { data: n } = tr(), o = kue[e], [r, s] = ke(Fue), i = Fo((c, l) => s((u) => Due(u[c], l) ? u : { +}, tfe = (e, t) => e === t || e !== null && t !== null && Math.abs(e.width - t.width) <= 0.5 && Math.abs(e.height - t.height) <= 0.5; +function nfe({ row: e, length: t }) { + const { data: n } = nr(), o = Dde[e], [r, s] = ke(efe), a = jo((c, l) => s((u) => tfe(u[c], l) ? u : { ...u, [c]: l - }), []), a = (e === "sides" ? Sue : Aue)({ + }), []), i = (e === "sides" ? zde : Bde)({ length: t, - gap: _ue, + gap: Gde, ...r }); - return /* @__PURE__ */ C(Te, { children: Tue.map((c) => { + return /* @__PURE__ */ I(Re, { children: Qde.map((c) => { const l = o[c]; - return l === null ? null : /* @__PURE__ */ C(Bue, { + return l === null ? null : /* @__PURE__ */ I(ofe, { row: e, slot: c, position: l, - stack: boe(n, l), - spot: a[c], - onColumn: i + stack: Nre(n, l), + spot: i[c], + onColumn: a }, l); }) }); } -function Bue({ row: e, slot: t, position: n, stack: o, spot: r, onColumn: s }) { - const i = lv(o), a = me(null), [c, l] = ke(0), [u, f] = ke(() => /* @__PURE__ */ new Map()), d = Fo((g, m) => f((M) => { - const x = M.get(g); - if (m === null ? x === void 0 : x !== void 0 && Math.abs(x - m) <= 0.5) return M; - const S = new Map(M); - return m === null ? S.delete(g) : S.set(g, m), S; +function ofe({ row: e, slot: t, position: n, stack: o, spot: r, onColumn: s }) { + const a = Sv(o), i = ye(null), [c, l] = ke(0), [u, f] = ke(() => /* @__PURE__ */ new Map()), d = jo((h, m) => f((O) => { + const E = O.get(h); + if (m === null ? E === void 0 : E !== void 0 && Math.abs(E - m) <= 0.5) return O; + const P = new Map(O); + return m === null ? P.delete(h) : P.set(h, m), P; }), []), p = o.length > 0; - Ne(() => p && a.current ? L$(a.current, l) : void 0, [p]); - const h = Math.max(0, ...u.values()); - return Ne(() => { - s(t, h > 0 ? { - width: h, + _e(() => p && i.current ? UB(i.current, l) : void 0, [p]); + const g = Math.max(0, ...u.values()); + return _e(() => { + s(t, g > 0 ? { + width: g, height: c } : null); }, [ s, t, - h, + g, c - ]), Ne(() => () => s(t, null), [s, t]), p ? /* @__PURE__ */ C("div", { + ]), _e(() => () => s(t, null), [s, t]), p ? /* @__PURE__ */ I("div", { "data-float": n, className: "pointer-events-none absolute", style: { - ...Rue[e], - insetInlineStart: ns + r.insetStart, - insetInlineEnd: ns + r.insetEnd, - [Lue(e, t)]: r.offset + ...Xde[e], + insetInlineStart: os + r.insetStart, + insetInlineEnd: os + r.insetEnd, + [Zde(e, t)]: r.offset }, - children: /* @__PURE__ */ C("div", { - ref: a, + children: /* @__PURE__ */ I("div", { + ref: i, className: `flex gap-2 ${e === "bottom" ? "flex-col-reverse" : "flex-col"}`, - children: /* @__PURE__ */ C(fN.Provider, { + children: /* @__PURE__ */ I(nT.Provider, { value: d, - children: i.map((g) => /* @__PURE__ */ C(Iue, { - id: g, + children: a.map((h) => /* @__PURE__ */ I(Vde, { + id: h, position: n - }, g)) + }, h)) }) }) }) : null; } -function zue({ id: e }) { - const t = tr().bar(e), n = cv(t); - return !t || !n ? null : /* @__PURE__ */ C(lu, { +function rfe({ id: e }) { + const t = nr().bar(e), n = Av(t); + return !t || !n ? null : /* @__PURE__ */ I(fu, { value: "top", - children: /* @__PURE__ */ C("div", { - part: fh(e), + children: /* @__PURE__ */ I("div", { + part: bh(e), "data-bar": e, className: "border-border-subtle flex shrink-0 items-center border-b p-2", - children: /* @__PURE__ */ C(ev, { + children: /* @__PURE__ */ I(gv, { bar: t, gap: 4, className: "w-full" @@ -58074,101 +59337,101 @@ function zue({ id: e }) { }) }); } -function Wue({ panel: e }) { - const { data: t } = tr(); - return /* @__PURE__ */ C(Te, { children: lv(He(() => voe(t, e), [t, e])).map((n) => /* @__PURE__ */ C(zue, { id: n }, n)) }); +function sfe({ panel: e }) { + const { data: t } = nr(); + return /* @__PURE__ */ I(Re, { children: Sv(He(() => Lre(t, e), [t, e])).map((n) => /* @__PURE__ */ I(rfe, { id: n }, n)) }); } -async function Uue(e) { +async function afe(e) { if (e.data) return new Uint8Array(e.data); if (!e.url) throw new Error("a font needs a url or its data"); const t = await fetch(e.url); if (!t.ok) throw new Error(`${e.url}: HTTP ${t.status}`); return new Uint8Array(await t.arrayBuffer()); } -function Kue() { - const e = Mr(), t = nie(); +function ife() { + const e = Cr(), t = hie(); return Se(() => { if (!t.length) return; - if (!dl(e.engine)) { + if (!ul(e.engine)) { console.warn("[embedpdf] the `fonts` setting is ignored: only a local engine takes an app’s fonts. A cloud engine’s fonts are its server’s."); return; } const n = e.engine.fonts; let o = !1; - const r = t.map((s) => Uue(s)); + const r = t.map((s) => afe(s)); return (async () => { - for (const [s, i] of t.entries()) try { - const a = await r[s]; + for (const [s, a] of t.entries()) try { + const i = await r[s]; if (o) return; await n.register({ - key: i.key, - familyName: i.familyName, - weight: i.weight, - italic: i.italic, - data: a + key: a.key, + familyName: a.familyName, + weight: a.weight, + italic: a.italic, + data: i }); - } catch (a) { - console.warn(`[embedpdf] font "${i.key}" was not registered:`, a); + } catch (i) { + console.warn(`[embedpdf] font "${a.key}" was not registered:`, i); } })(), () => { o = !0; }; }, [e, t]), null; } -const pN = []; -function Nt(e, { shownWhile: t, prefetch: n = !0 } = {}) { +const oT = []; +function jt(e, { shownWhile: t, prefetch: n = !0 } = {}) { let o = null; - const r = () => o ?? (o = e().catch((a) => { - throw o = null, a; + const r = () => o ?? (o = e().catch((i) => { + throw o = null, i; })); - n && pN.push(r); - const s = LO(async () => ({ default: await r() })), i = (a) => /* @__PURE__ */ C(qc, { + n && oT.push(r); + const s = dM(async () => ({ default: await r() })), a = (i) => /* @__PURE__ */ I(Kc, { fallback: null, - children: /* @__PURE__ */ C(s, { ...a }) + children: /* @__PURE__ */ I(s, { ...i }) }); return t ? function(c) { - return t() ? /* @__PURE__ */ C(i, { ...c }) : null; - } : i; + return t() ? /* @__PURE__ */ I(a, { ...c }) : null; + } : a; } -const que = 1e4, Hue = 1e3; -function Vue(e) { +const cfe = 1e4, lfe = 1e3; +function ufe(e) { if (typeof requestIdleCallback == "function") { - const n = requestIdleCallback(e, { timeout: que }); + const n = requestIdleCallback(e, { timeout: cfe }); return () => cancelIdleCallback(n); } - const t = setTimeout(e, Hue); + const t = setTimeout(e, lfe); return () => clearTimeout(t); } -let kc = "not-yet"; -function Gue() { - if (kc !== "not-yet") return () => { +let vc = "not-yet"; +function dfe() { + if (vc !== "not-yet") return () => { }; - kc = "running"; - const e = [...pN]; + vc = "running"; + const e = [...oT]; let t = () => { }, n = !1; const o = () => { const r = e.shift(); if (!n) { if (!r) { - kc = "done"; + vc = "done"; return; } - t = Vue(() => { + t = ufe(() => { r().catch(() => { }).finally(o); }); } }; return o(), () => { - n = !0, t(), kc === "running" && (kc = "not-yet"); + n = !0, t(), vc === "running" && (vc = "not-yet"); }; } -function Yue() { - return Se(() => Gue(), []), null; +function ffe() { + return Se(() => dfe(), []), null; } -function Que({ cmd: e, run: t, emphasis: n }) { - const o = en(ha(e)), r = (s) => /* @__PURE__ */ C(Te, { children: [/* @__PURE__ */ C("button", { +function pfe({ cmd: e, run: t, emphasis: n }) { + const o = sn(hi(e)), r = (s) => /* @__PURE__ */ I(Re, { children: [/* @__PURE__ */ I("button", { ...o.trigger, type: "button", onClick: t, @@ -58177,138 +59440,138 @@ function Que({ cmd: e, run: t, emphasis: n }) { "aria-haspopup": e.menu ? "menu" : void 0, "aria-expanded": e.menu ? s : void 0, "aria-label": e.label, - part: En(s, n), + part: _n(s, n), className: oo(s, e.enabled, n), - children: e.icon && /* @__PURE__ */ C(nt, { + children: e.icon && /* @__PURE__ */ I(ot, { name: e.icon, size: 20, accent: e.iconAccent, - className: Ra(e.icon) + className: Ti(e.icon) }) }), o.element] }); - return e.menu ? /* @__PURE__ */ C(uh, { + return e.menu ? /* @__PURE__ */ I(gh, { menuId: e.menu, children: r }) : r(e.active); } -function uv({ bar: e, view: t, label: n }) { - const o = He(() => Z_(e), [e]); - return /* @__PURE__ */ C(lu, { +function Ov({ bar: e, view: t, label: n }) { + const o = He(() => WN(e), [e]); + return /* @__PURE__ */ I(fu, { value: "selection", - children: /* @__PURE__ */ C("div", { + children: /* @__PURE__ */ I("div", { role: "toolbar", "aria-label": n, - part: fh(e.id), + part: bh(e.id), className: "border-border-subtle bg-elevated flex items-center gap-1 rounded-lg border p-1 shadow-xl", - children: t.groups.map((r, s) => /* @__PURE__ */ C(Te, { children: [s > 0 && /* @__PURE__ */ C("span", { + children: t.groups.map((r, s) => /* @__PURE__ */ I(Re, { children: [s > 0 && /* @__PURE__ */ I("span", { "aria-hidden": !0, className: "bg-border h-5 w-px" - }), r.commands.map((i) => /* @__PURE__ */ C(Que, { - cmd: i, - run: () => t.execute(i.id), - emphasis: o.has(i.id) ? "primary" : void 0 - }, i.id))] }, r.id)) + }), r.commands.map((a) => /* @__PURE__ */ I(pfe, { + cmd: a, + run: () => t.execute(a.id), + emphasis: o.has(a.id) ? "primary" : void 0 + }, a.id))] }, r.id)) }) }); } -const Xue = Nt(() => import("./link-editor-CVY83aSe-Bi8RWDtN.js").then((e) => e.LinkEditorCard)); -function Zue() { - const e = st(), t = Uw("annotation"), n = Gw(t), o = Jo("link-editor"), r = cX((s) => s.selected); +const hfe = jt(() => import("./link-editor-BQl5WwML-DRSd4102.js").then((e) => e.LinkEditorCard)); +function gfe() { + const e = it(), t = ov("annotation"), n = cv(t), o = er("link-editor"), r = SZ((s) => s.selected); return Se(() => { !r.length && o.isOpen && o.close(); - }, [r.length, o.isOpen]), !t || !n ? null : /* @__PURE__ */ C(dX, { + }, [r.length, o.isOpen]), !t || !n ? null : /* @__PURE__ */ I(MZ, { placement: "bottom", gap: 15, - children: o.isOpen ? /* @__PURE__ */ C(Xue, { onClose: o.close }) : /* @__PURE__ */ C(uv, { + children: o.isOpen ? /* @__PURE__ */ I(hfe, { onClose: o.close }) : /* @__PURE__ */ I(Ov, { bar: t, view: n, label: e("commands.annotate.strip") }) }); } -function Jue() { - const e = tn(), { unlock: t, close: n } = i0(), o = kp((h) => h.documents), r = st(), [s, i] = ke(""), [a, c] = ke(!1), [l, u] = ke(!1), f = o.find((h) => h.id === e); +function mfe() { + const e = an(), { unlock: t, close: n } = w0(), o = Op((g) => g.documents), r = it(), [s, a] = ke(""), [i, c] = ke(!1), [l, u] = ke(!1), f = o.find((g) => g.id === e); if (!e || !f) return null; - const d = a || f.passwordProvided === !0, p = async () => { + const d = i || f.passwordProvided === !0, p = async () => { if (!(l || !s.trim())) { u(!0); try { await t(e, { password: s }); } catch { - c(!0), i(""); + c(!0), a(""); } finally { u(!1); } } }; - return /* @__PURE__ */ C("div", { + return /* @__PURE__ */ I("div", { className: "bg-app flex h-full w-full items-center justify-center p-8", - children: /* @__PURE__ */ C("div", { + children: /* @__PURE__ */ I("div", { className: "bg-surface border-border w-full max-w-sm rounded-xl border p-6 shadow-lg", children: [ - /* @__PURE__ */ C("div", { + /* @__PURE__ */ I("div", { className: "flex flex-col items-center text-center", children: [ - /* @__PURE__ */ C("div", { + /* @__PURE__ */ I("div", { className: "bg-accent-light mb-4 rounded-full p-4", - children: /* @__PURE__ */ C(nt, { + children: /* @__PURE__ */ I(ot, { name: "lock", size: 28, className: "text-accent" }) }), - /* @__PURE__ */ C("h3", { + /* @__PURE__ */ I("h3", { className: "text-fg text-lg font-semibold", children: r("passwordPrompt.title") }), - f.name && /* @__PURE__ */ C("p", { + f.name && /* @__PURE__ */ I("p", { className: "text-fg-muted mt-1 text-sm", children: f.name }) ] }), - /* @__PURE__ */ C("p", { + /* @__PURE__ */ I("p", { className: "text-fg-secondary mt-4 text-center text-sm", children: r(d ? "passwordPrompt.incorrect" : "passwordPrompt.required") }), - /* @__PURE__ */ C("div", { + /* @__PURE__ */ I("div", { className: "mt-5", - children: [/* @__PURE__ */ C("label", { + children: [/* @__PURE__ */ I("label", { className: "text-fg mb-1.5 block text-sm font-medium", htmlFor: "doc-password", children: r("passwordPrompt.label") - }), /* @__PURE__ */ C("input", { + }), /* @__PURE__ */ I("input", { id: "doc-password", type: "password", value: s, - onChange: (h) => i(h.target.value), - onKeyDown: (h) => h.key === "Enter" && void p(), + onChange: (g) => a(g.target.value), + onKeyDown: (g) => g.key === "Enter" && void p(), disabled: l, placeholder: r("passwordPrompt.placeholder"), className: "bg-surface border-border focus:border-accent focus:ring-accent text-fg placeholder:text-fg-muted block w-full rounded-md border px-3 py-2.5 text-sm focus:outline-none focus:ring-1 disabled:opacity-50", autoFocus: !0 })] }), - d && /* @__PURE__ */ C("div", { + d && /* @__PURE__ */ I("div", { className: "mt-3 flex items-center gap-2 rounded-md border border-red-500/40 bg-red-500/10 p-3", - children: [/* @__PURE__ */ C(nt, { + children: [/* @__PURE__ */ I(ot, { name: "alertTriangle", size: 16, className: "flex-shrink-0 text-red-500" - }), /* @__PURE__ */ C("p", { + }), /* @__PURE__ */ I("p", { className: "text-sm text-red-500", children: r("passwordPrompt.incorrectWarning") })] }), - /* @__PURE__ */ C("div", { + /* @__PURE__ */ I("div", { className: "mt-6 flex gap-3", - children: [/* @__PURE__ */ C("button", { + children: [/* @__PURE__ */ I("button", { type: "button", onClick: () => void n(e), disabled: l, className: "border-border text-fg-secondary hover:bg-hover flex-1 cursor-pointer rounded-md border px-4 py-2.5 text-sm font-medium transition-colors disabled:opacity-50", children: r("passwordPrompt.cancel") - }), /* @__PURE__ */ C("button", { + }), /* @__PURE__ */ I("button", { type: "button", onClick: () => void p(), disabled: l || !s.trim(), @@ -58320,7 +59583,7 @@ function Jue() { }) }); } -function Tb(e) { +function Ub(e) { switch (e?.code) { case "not-found": return "documentError.notFound"; @@ -58334,43 +59597,43 @@ function Tb(e) { return "documentError.unknown"; } } -function ede() { - const e = tn(), { close: t, retry: n } = i0(), o = kp((i) => i.documents), r = st(), s = o.find((i) => i.id === e); - return !e || !s ? null : /* @__PURE__ */ C("div", { +function bfe() { + const e = an(), { close: t, retry: n } = w0(), o = Op((a) => a.documents), r = it(), s = o.find((a) => a.id === e); + return !e || !s ? null : /* @__PURE__ */ I("div", { className: "bg-app flex h-full w-full items-center justify-center p-8", - children: /* @__PURE__ */ C("div", { + children: /* @__PURE__ */ I("div", { role: "alert", className: "bg-surface border-border flex max-w-sm flex-col items-center rounded-xl border p-6 text-center shadow-lg", children: [ - /* @__PURE__ */ C("div", { + /* @__PURE__ */ I("div", { className: "mb-4 rounded-full bg-red-500/10 p-4", - children: /* @__PURE__ */ C(nt, { + children: /* @__PURE__ */ I(ot, { name: "alertTriangle", size: 28, className: "text-red-500" }) }), - /* @__PURE__ */ C("h3", { + /* @__PURE__ */ I("h3", { className: "text-fg text-lg font-semibold", children: r("documentError.title") }), - s.name && /* @__PURE__ */ C("p", { + s.name && /* @__PURE__ */ I("p", { className: "text-fg-muted mt-1 text-sm", children: s.name }), - /* @__PURE__ */ C("p", { + /* @__PURE__ */ I("p", { className: "text-fg-secondary mt-2 text-sm", "data-epdf-error-reason": "", - children: r(Tb(s.error)) + children: r(Ub(s.error)) }), - /* @__PURE__ */ C("div", { + /* @__PURE__ */ I("div", { className: "mt-5 flex w-full gap-3", - children: [/* @__PURE__ */ C("button", { + children: [/* @__PURE__ */ I("button", { type: "button", onClick: () => void t(e), className: "border-border text-fg-secondary hover:bg-hover flex-1 cursor-pointer rounded-md border px-4 py-2.5 text-sm font-medium transition-colors", children: r("documentError.close") - }), /* @__PURE__ */ C("button", { + }), /* @__PURE__ */ I("button", { type: "button", onClick: () => void n(e).catch(() => { }), @@ -58382,76 +59645,76 @@ function ede() { }) }); } -function tde({ className: e, children: t }) { - const n = st(), o = xn(), r = Dn(Pb), s = r.visible && r.enabled, i = me(0), [a, c] = ke(!1), l = (f) => s && JI(f.dataTransfer), u = () => { - i.current = 0, c(!1); +function yfe({ className: e, children: t }) { + const n = it(), o = Pn(), r = Fn(Lb), s = r.visible && r.enabled, a = ye(0), [i, c] = ke(!1), l = (f) => s && $_(f.dataTransfer), u = () => { + a.current = 0, c(!1); }; - return /* @__PURE__ */ C("div", { + return /* @__PURE__ */ I("div", { className: e, onDragEnter: (f) => { - l(f) && (f.preventDefault(), i.current += 1, c(!0)); + l(f) && (f.preventDefault(), a.current += 1, c(!0)); }, onDragOver: (f) => { l(f) && (f.preventDefault(), f.dataTransfer.dropEffect = "copy"); }, onDragLeave: () => { - i.current !== 0 && (i.current -= 1, i.current === 0 && c(!1)); + a.current !== 0 && (a.current -= 1, a.current === 0 && c(!1)); }, onDrop: (f) => { if (u(), !l(f)) return; f.preventDefault(), f.stopPropagation(); - const d = Array.from(f.dataTransfer.files).filter(zw); + const d = Array.from(f.dataTransfer.files).filter(tv); if (d.length === 0) return; const p = { files: d }; - o.execute(Pb, { args: p }).catch(() => { + o.execute(Lb, { args: p }).catch(() => { }); }, - children: [t, a && /* @__PURE__ */ C("div", { + children: [t, i && /* @__PURE__ */ I("div", { "data-epdf-drop-target": "", className: "border-accent bg-accent-light/60 pointer-events-none absolute inset-2 z-40 grid place-items-center rounded-lg border-2 border-dashed", - children: /* @__PURE__ */ C("span", { + children: /* @__PURE__ */ I("span", { className: "bg-elevated text-fg rounded-full px-4 py-1.5 text-sm font-medium shadow-lg", children: n("dropToOpen.label", { fallback: "Drop a PDF to open it" }) }) })] }); } -function nde() { - const e = Jo(o_); - return e.isOpen ? /* @__PURE__ */ C(ode, { onClose: e.close }) : null; +function wfe() { + const e = er(U_); + return e.isOpen ? /* @__PURE__ */ I(vfe, { onClose: e.close }) : null; } -function ode({ onClose: e }) { - const t = st(), n = Go(), o = at(xt), r = Sa((f) => f.currentPageIndex + 1), s = Sa((f) => f.pageCount), [i, a] = ke(() => String(r)), c = () => { - const f = Number.parseInt(i, 10); +function vfe({ onClose: e }) { + const t = it(), n = Go(), o = ct(At), r = Ai((f) => f.currentPageIndex + 1), s = Ai((f) => f.pageCount), [a, i] = ke(() => String(r)), c = () => { + const f = Number.parseInt(a, 10); Number.isFinite(f) && s > 0 && o?.goToPage(Math.min(Math.max(f, 1), s) - 1), e(); }, [l, u = ""] = t("pageNumber.page", { params: { current: "", total: s } }).split(""); - return /* @__PURE__ */ C(tv, { + return /* @__PURE__ */ I(mv, { labelledBy: n, onClose: e, className: "border-border bg-surface w-80 rounded-lg border p-4 shadow-xl", - children: /* @__PURE__ */ C("form", { + children: /* @__PURE__ */ I("form", { onSubmit: (f) => { f.preventDefault(), c(); }, children: [ - /* @__PURE__ */ C("h2", { + /* @__PURE__ */ I("h2", { id: n, className: "text-fg text-base font-semibold", children: t("commands.page.goTo") }), - /* @__PURE__ */ C("label", { + /* @__PURE__ */ I("label", { className: "text-fg-secondary mt-3 flex items-center gap-2 text-sm", children: [ l, - /* @__PURE__ */ C("input", { + /* @__PURE__ */ I("input", { type: "text", inputMode: "numeric", "aria-label": t("pageNumber.goToPage"), - value: i, - onChange: (f) => a(f.target.value.replace(/[^0-9]/g, "")), + value: a, + onChange: (f) => i(f.target.value.replace(/[^0-9]/g, "")), onFocus: (f) => f.currentTarget.select(), style: { width: `${String(s).length + 2}ch` }, className: "border-border bg-surface text-fg focus:border-accent focus:ring-accent rounded-md border px-1.5 py-1 text-center tabular-nums outline-none focus:ring-1" @@ -58459,14 +59722,14 @@ function ode({ onClose: e }) { u ] }), - /* @__PURE__ */ C("div", { + /* @__PURE__ */ I("div", { className: "mt-4 flex justify-end gap-2", - children: [/* @__PURE__ */ C("button", { + children: [/* @__PURE__ */ I("button", { type: "button", onClick: e, className: "border-border text-fg hover:bg-hover rounded-md border px-3 py-1.5 text-sm", children: t("demo.cancel") - }), /* @__PURE__ */ C("button", { + }), /* @__PURE__ */ I("button", { type: "submit", className: "bg-accent text-on-accent hover:bg-accent-hover rounded-md px-3 py-1.5 text-sm", children: t("goToPage.go") @@ -58476,12 +59739,12 @@ function ode({ onClose: e }) { }) }); } -function hN({ small: e = !1 }) { - const t = st(), n = so(), { status: o, slow: r } = Sz(), s = o === "loading" && r; +function rT({ small: e = !1 }) { + const t = it(), n = so(), { status: o, slow: r } = FW(), s = o === "loading" && r; if (!s && !(o === "error" || o === "forbidden")) return null; - const { viewScale: i, rotation: a } = n.transform, c = n.getViewDemand?.().visibleRect, l = c && c.width > 0 && c.height > 0 ? { - x: (c.x + c.width / 2) * i, - y: (c.y + c.height / 2) * i + const { viewScale: a, rotation: i } = n.transform, c = n.getViewDemand?.().visibleRect, l = c && c.width > 0 && c.height > 0 ? { + x: (c.x + c.width / 2) * a, + y: (c.y + c.height / 2) * a } : { x: n.transform.contentWidth / 2, y: n.transform.contentHeight / 2 @@ -58489,14 +59752,14 @@ function hN({ small: e = !1 }) { position: "absolute", left: l.x, top: l.y, - transform: `translate(-50%, -50%) rotate(${-a}deg)`, + transform: `translate(-50%, -50%) rotate(${-i}deg)`, pointerEvents: "none" }; if (s) { const f = e ? "h-5 w-5" : "h-8 w-8"; - return /* @__PURE__ */ C("div", { + return /* @__PURE__ */ I("div", { style: u, - children: /* @__PURE__ */ C("div", { + children: /* @__PURE__ */ I("div", { part: "page-loading", role: "status", "aria-label": t("demo.pageLoading", { params: { page: n.pageIndex + 1 } }), @@ -58504,7 +59767,7 @@ function hN({ small: e = !1 }) { }) }); } - return e ? null : /* @__PURE__ */ C("p", { + return e ? null : /* @__PURE__ */ I("p", { part: "page-error", role: "status", className: "text-fg-muted m-0 max-w-[16rem] text-center text-sm", @@ -58512,76 +59775,76 @@ function hN({ small: e = !1 }) { children: t(o === "forbidden" ? "demo.pageForbidden" : "demo.pageError") }); } -const nm = { +const lm = { initial: 288, min: 200, max: 640 -}, rde = { +}, kfe = { compact: "sheet", medium: "overlay", expanded: "dock" }; -function gN(e, t) { - return (t === void 0 ? void 0 : RI(t)[e]) ?? rde[e]; +function sT(e, t) { + return (t === void 0 ? void 0 : m_(t)[e]) ?? kfe[e]; } -function dv(e) { - const t = e === void 0 ? {} : xb(e), n = t.max ?? nm.max, o = Math.min(t.min ?? nm.min, n); +function Pv(e) { + const t = e === void 0 ? {} : Nb(e), n = t.max ?? lm.max, o = Math.min(t.min ?? lm.min, n); return { - initial: t.initial ?? nm.initial, + initial: t.initial ?? lm.initial, min: o, max: n }; } -function fv(e, t) { +function Mv(e, t) { return Math.max(t.min, Math.min(t.max, Math.floor(e / 2))); } -function hh(e, t, n) { - const o = fv(t, n); +function wh(e, t, n) { + const o = Mv(t, n); return Math.round(Math.min(o, Math.max(n.min, e))); } -function sde(e, t) { +function xfe(e, t) { return Math.round(Math.max(0, Math.min(e, t - 48))); } -function ide(e, t, n) { +function Afe(e, t, n) { const o = Math.min(n.max, Math.max(n.min, e)); return Math.round(Math.max(0, Math.min(o, t))); } -const ade = (e, t) => gN(e, t) === "dock"; -function cde(e, t) { +const Sfe = (e, t) => sT(e, t) === "dock"; +function Ofe(e, t) { return e === "start" == (t === "ltr") ? 1 : -1; } -function Rb(e, t, n) { - return hh(e + t * cde(n.side, n.dir), n.viewerWidth, n.widths); +function Kb(e, t, n) { + return wh(e + t * Ofe(n.side, n.dir), n.viewerWidth, n.widths); } -function lde(e, t, n, o) { +function Pfe(e, t, n, o) { const r = 16 * (n ? 4 : 1); - return t === "ArrowRight" ? Rb(e, r, o) : t === "ArrowLeft" ? Rb(e, -r, o) : t === "Home" ? hh(o.widths.min, o.viewerWidth, o.widths) : t === "End" ? fv(o.viewerWidth, o.widths) : null; + return t === "ArrowRight" ? Kb(e, r, o) : t === "ArrowLeft" ? Kb(e, -r, o) : t === "Home" ? wh(o.widths.min, o.viewerWidth, o.widths) : t === "End" ? Mv(o.viewerWidth, o.widths) : null; } -function ude(e) { - const { size: t } = Ir(), n = gN(t, e.present); - return n === "sheet" ? /* @__PURE__ */ C(gde, { ...e }) : n === "overlay" ? /* @__PURE__ */ C(hde, { ...e }) : /* @__PURE__ */ C(fde, { ...e }); +function Mfe(e) { + const { size: t } = Nr(), n = sT(t, e.present); + return n === "sheet" ? /* @__PURE__ */ I(Nfe, { ...e }) : n === "overlay" ? /* @__PURE__ */ I(_fe, { ...e }) : /* @__PURE__ */ I(Cfe, { ...e }); } -function pv({ title: e, header: t, onClose: n }) { - const o = st(); - return /* @__PURE__ */ C("div", { +function Ev({ title: e, header: t, onClose: n }) { + const o = it(); + return /* @__PURE__ */ I("div", { part: "panel-header", "data-epdf-panel-header": "", className: "border-border-subtle flex min-h-11 shrink-0 items-center gap-2 border-b px-3 py-1.5", - children: [/* @__PURE__ */ C("div", { + children: [/* @__PURE__ */ I("div", { className: "flex min-w-0 flex-1 items-center", - children: t ?? /* @__PURE__ */ C("h2", { + children: t ?? /* @__PURE__ */ I("h2", { className: "text-fg truncate text-sm font-semibold", children: e }) - }), n && /* @__PURE__ */ C(lh, { + }), n && /* @__PURE__ */ I(hh, { content: { label: o("panel.close") }, - children: (r) => /* @__PURE__ */ C("button", { + children: (r) => /* @__PURE__ */ I("button", { ...r, type: "button", onClick: n, "aria-label": o("panel.close"), className: "text-fg-muted hover:bg-hover grid h-7 w-7 shrink-0 place-items-center rounded-md", - children: /* @__PURE__ */ C(nt, { + children: /* @__PURE__ */ I(ot, { name: "x", size: 16 }) @@ -58589,25 +59852,25 @@ function pv({ title: e, header: t, onClose: n }) { })] }); } -const z6 = /* @__PURE__ */ new WeakMap(); -function dde(e) { - let t = z6.get(e); - return t || (t = /* @__PURE__ */ new Map(), z6.set(e, t)), t; +const a5 = /* @__PURE__ */ new WeakMap(); +function Efe(e) { + let t = a5.get(e); + return t || (t = /* @__PURE__ */ new Map(), a5.set(e, t)), t; } -function hv(e, t) { - const n = dde(Mr()), [, o] = cs((i) => i + 1, 0); - return [n.get(e) ?? t.initial, (i) => { - n.get(e) !== i && (n.set(e, i), o()); +function Cv(e, t) { + const n = Efe(Cr()), [, o] = ls((a) => a + 1, 0); + return [n.get(e) ?? t.initial, (a) => { + n.get(e) !== a && (n.set(e, a), o()); }]; } -function fde({ id: e, side: t, width: n, resizable: o = !0, closable: r = !0, title: s, onClose: i, header: a, bars: c, children: l }) { - const u = Ir(), f = Go(), d = dv(n), [p, h] = hv(e, d), g = hh(p, u.width, d), m = l_(), M = { +function Cfe({ id: e, side: t, width: n, resizable: o = !0, closable: r = !0, title: s, onClose: a, header: i, bars: c, children: l }) { + const u = Nr(), f = Go(), d = Pv(n), [p, g] = Cv(e, d), h = wh(p, u.width, d), m = Y_(), O = { side: t, dir: u.dir, viewerWidth: u.width, widths: d }; - return /* @__PURE__ */ C("section", { + return /* @__PURE__ */ I("section", { id: f, role: "region", "aria-label": s, @@ -58615,55 +59878,55 @@ function fde({ id: e, side: t, width: n, resizable: o = !0, closable: r = !0, ti "data-epdf-panel": e, "data-present": "dock", className: `bg-surface border-border-subtle relative z-[35] flex shrink-0 flex-col ${t === "start" ? "border-e" : "border-s"}`, - style: { width: g }, + style: { width: h }, children: [ - /* @__PURE__ */ C(pv, { + /* @__PURE__ */ I(Ev, { title: s, - header: a, - onClose: r ? i : void 0 + header: i, + onClose: r ? a : void 0 }), c, - /* @__PURE__ */ C("div", { + /* @__PURE__ */ I("div", { className: "flex min-h-0 flex-1 flex-col", children: l }), - o && /* @__PURE__ */ C(mN, { + o && /* @__PURE__ */ I(aT, { regionId: f, - edge: M, + edge: O, title: s, - width: g, - onWidth: h, - onResized: (x) => m({ + width: h, + onWidth: g, + onResized: (E) => m({ id: e, - width: x + width: E }) }) ] }); } -function mN({ regionId: e, edge: t, title: n, width: o, onWidth: r, onResized: s }) { - const i = st(), a = me(null), c = (f) => { - f.pointerType === "mouse" && f.button !== 0 || (f.preventDefault(), f.currentTarget.setPointerCapture(f.pointerId), a.current = { +function aT({ regionId: e, edge: t, title: n, width: o, onWidth: r, onResized: s }) { + const a = it(), i = ye(null), c = (f) => { + f.pointerType === "mouse" && f.button !== 0 || (f.preventDefault(), f.currentTarget.setPointerCapture(f.pointerId), i.current = { pointerId: f.pointerId, startX: f.clientX, startWidth: o, width: o }); }, l = (f) => { - const d = a.current; - !d || d.pointerId !== f.pointerId || (d.width = Rb(d.startWidth, f.clientX - d.startX, t), r(d.width)); + const d = i.current; + !d || d.pointerId !== f.pointerId || (d.width = Kb(d.startWidth, f.clientX - d.startX, t), r(d.width)); }, u = (f) => { - const d = a.current; - d?.pointerId === f.pointerId && (a.current = null, d.width !== d.startWidth && s(d.width)); + const d = i.current; + d?.pointerId === f.pointerId && (i.current = null, d.width !== d.startWidth && s(d.width)); }; - return /* @__PURE__ */ C("div", { + return /* @__PURE__ */ I("div", { role: "separator", "aria-orientation": "vertical", "aria-controls": e, - "aria-label": i("panel.resize", { params: { title: n } }), + "aria-label": a("panel.resize", { params: { title: n } }), "aria-valuenow": o, "aria-valuemin": t.widths.min, - "aria-valuemax": fv(t.viewerWidth, t.widths), + "aria-valuemax": Mv(t.viewerWidth, t.widths), tabIndex: 0, "data-epdf-panel-edge": "", className: `focus-visible:bg-accent/40 hover:bg-accent/20 absolute inset-y-0 z-10 w-2 cursor-col-resize touch-none outline-none transition-colors ${t.side === "start" ? "-end-1" : "-start-1"}`, @@ -58672,125 +59935,125 @@ function mN({ regionId: e, edge: t, title: n, width: o, onWidth: r, onResized: s onPointerUp: u, onPointerCancel: u, onKeyDown: (f) => { - const d = lde(o, f.key, f.shiftKey, t); + const d = Pfe(o, f.key, f.shiftKey, t); d !== null && (f.preventDefault(), d !== o && (r(d), s(d))); } }); } -const pde = { +const Ife = { start: "start-0 border-e starting:-translate-x-full rtl:starting:translate-x-full", end: "end-0 border-s starting:translate-x-full rtl:starting:-translate-x-full" }; -function hde({ id: e, side: t, width: n, resizable: o = !0, title: r, onClose: s, header: i, bars: a, list: c, children: l }) { - const u = Ir(), f = Go(), d = dv(n), [p, h] = hv(e, d), g = hh(p, u.width, d), m = l_(), M = { +function _fe({ id: e, side: t, width: n, resizable: o = !0, title: r, onClose: s, header: a, bars: i, list: c, children: l }) { + const u = Nr(), f = Go(), d = Pv(n), [p, g] = Cv(e, d), h = wh(p, u.width, d), m = Y_(), O = { side: t, dir: u.dir, viewerWidth: u.width, widths: d - }, x = me(null), S = me(s); - return S.current = s, Ne(() => { - const P = x.current; - if (!P) return; - const k = ch(P, { - onEscape: () => S.current(), + }, E = ye(null), P = ye(s); + return P.current = s, _e(() => { + const k = E.current; + if (!k) return; + const A = ph(k, { + onEscape: () => P.current(), trap: !1 }); - return () => k.release(); - }, []), /* @__PURE__ */ C(Te, { children: [/* @__PURE__ */ C("div", { + return () => A.release(); + }, []), /* @__PURE__ */ I(Re, { children: [/* @__PURE__ */ I("div", { "aria-hidden": "true", "data-epdf-scrim": "", - className: `absolute inset-0 z-30 ${Vw}`, - onClick: () => S.current() - }), /* @__PURE__ */ C("section", { - ref: x, + className: `absolute inset-0 z-30 ${iv}`, + onClick: () => P.current() + }), /* @__PURE__ */ I("section", { + ref: E, id: f, role: "dialog", "aria-label": r, part: "panel", "data-epdf-panel": e, "data-present": "overlay", - className: `bg-surface border-border-subtle absolute inset-y-0 z-40 flex flex-col shadow-xl transition-[translate] duration-200 ease-out motion-reduce:transition-none ${pde[t]}`, - style: { width: sde(g, u.width) }, + className: `bg-surface border-border-subtle absolute inset-y-0 z-40 flex flex-col shadow-xl transition-[translate] duration-200 ease-out motion-reduce:transition-none ${Ife[t]}`, + style: { width: xfe(h, u.width) }, children: [ - /* @__PURE__ */ C(pv, { + /* @__PURE__ */ I(Ev, { title: r, - header: i, + header: a, onClose: s }), - a, - /* @__PURE__ */ C("div", { + i, + /* @__PURE__ */ I("div", { className: "flex min-h-0 flex-1 flex-col", - children: /* @__PURE__ */ C(C_, { - value: c ? () => S.current() : () => { + children: /* @__PURE__ */ I(bN, { + value: c ? () => P.current() : () => { }, children: l }) }), - o && /* @__PURE__ */ C(mN, { + o && /* @__PURE__ */ I(aT, { regionId: f, - edge: M, + edge: O, title: r, - width: g, - onWidth: h, - onResized: (P) => m({ + width: h, + onWidth: g, + onResized: (k) => m({ id: e, - width: P + width: k }) }) ] })] }); } -function gde({ id: e, width: t, title: n, onClose: o, header: r, bars: s, list: i, children: a }) { - const c = Ir(), l = dv(t), [u] = hv(e, l); - return /* @__PURE__ */ C(I_, { +function Nfe({ id: e, width: t, title: n, onClose: o, header: r, bars: s, list: a, children: i }) { + const c = Nr(), l = Pv(t), [u] = Cv(e, l); + return /* @__PURE__ */ I(yN, { label: n, onClose: o, size: "panel", - width: c.size === "compact" ? void 0 : ide(u, c.width, l), - list: i, + width: c.size === "compact" ? void 0 : Afe(u, c.width, l), + list: a, part: "panel", data: { "epdf-panel": e, present: "sheet" }, - header: /* @__PURE__ */ C(Te, { children: [/* @__PURE__ */ C(pv, { + header: /* @__PURE__ */ I(Re, { children: [/* @__PURE__ */ I(Ev, { title: n, header: r, onClose: o }), s] }), - children: a + children: i }); } -function mde({ id: e, side: t, title: n, onClose: o, children: r }) { - const s = st(), { size: i } = Ir(), a = me(null), c = me(o); - return c.current = o, Ne(() => { - const l = a.current; +function Tfe({ id: e, side: t, title: n, onClose: o, children: r }) { + const s = it(), { size: a } = Nr(), i = ye(null), c = ye(o); + return c.current = o, _e(() => { + const l = i.current; if (!l) return; - const u = ch(l, { + const u = ph(l, { onEscape: () => c.current(), trap: !1 }); return () => u.release(); - }, []), /* @__PURE__ */ C("section", { - ref: a, + }, []), /* @__PURE__ */ I("section", { + ref: i, role: "dialog", "aria-label": n, part: "panel", "data-epdf-panel": e, "data-present": "bar", - className: `bg-surface border-border-subtle absolute top-2 z-40 flex items-start gap-1 rounded-lg border p-2 shadow-xl ${i === "compact" ? "inset-x-2" : `w-[24rem] max-w-[calc(100%-1rem)] ${t === "start" ? "start-2" : "end-2"}`}`, - children: [/* @__PURE__ */ C("div", { + className: `bg-surface border-border-subtle absolute top-2 z-40 flex items-start gap-1 rounded-lg border p-2 shadow-xl ${a === "compact" ? "inset-x-2" : `w-[24rem] max-w-[calc(100%-1rem)] ${t === "start" ? "start-2" : "end-2"}`}`, + children: [/* @__PURE__ */ I("div", { className: "min-w-0 flex-1", children: r - }), /* @__PURE__ */ C(lh, { + }), /* @__PURE__ */ I(hh, { content: { label: s("panel.close") }, - children: (l) => /* @__PURE__ */ C("button", { + children: (l) => /* @__PURE__ */ I("button", { ...l, type: "button", onClick: o, "aria-label": s("panel.close"), className: "text-fg-muted hover:bg-hover grid h-8 w-8 shrink-0 place-items-center rounded-md", - children: /* @__PURE__ */ C(nt, { + children: /* @__PURE__ */ I(ot, { name: "x", size: 16 }) @@ -58798,46 +60061,46 @@ function mde({ id: e, side: t, title: n, onClose: o, children: r }) { })] }); } -function bde({ id: e, title: t, panels: n }) { - const o = st(), [r, s] = ke(!1), i = en({ label: o("panels.switch") }); - return /* @__PURE__ */ C("div", { +function Rfe({ id: e, title: t, panels: n }) { + const o = it(), [r, s] = ke(!1), a = sn({ label: o("panels.switch") }); + return /* @__PURE__ */ I("div", { className: "relative flex min-w-0", children: [ - /* @__PURE__ */ C("button", { - ...i.trigger, + /* @__PURE__ */ I("button", { + ...a.trigger, type: "button", "aria-haspopup": "menu", "aria-expanded": r, "data-epdf-panel-switcher": "", - onClick: () => s((a) => !a), + onClick: () => s((i) => !i), className: "text-fg hover:bg-hover -ms-1.5 flex min-w-0 items-center gap-1 rounded-md px-1.5 py-1 text-sm font-semibold", - children: [/* @__PURE__ */ C("span", { + children: [/* @__PURE__ */ I("span", { className: "truncate", children: t - }), /* @__PURE__ */ C(nt, { + }), /* @__PURE__ */ I(ot, { name: "chevronDown", size: 16, className: "text-fg-muted shrink-0" })] }), - i.element, - r && /* @__PURE__ */ C(uu, { + a.element, + r && /* @__PURE__ */ I(pu, { onClose: () => s(!1), - children: /* @__PURE__ */ C("div", { + children: /* @__PURE__ */ I("div", { className: "min-w-48 p-1", - children: n.map((a) => /* @__PURE__ */ C(yde, { - panel: a, - current: a === e, + children: n.map((i) => /* @__PURE__ */ I(Lfe, { + panel: i, + current: i === e, onPicked: () => s(!1) - }, a)) + }, i)) }) }) ] }); } -function yde({ panel: e, current: t, onPicked: n }) { - const o = Dn(bs(e)); - return o.visible ? /* @__PURE__ */ C(du, { +function Lfe({ panel: e, current: t, onPicked: n }) { + const o = Fn(bs(e)); + return o.visible ? /* @__PURE__ */ I(hu, { command: { ...o, active: t @@ -58848,47 +60111,47 @@ function yde({ panel: e, current: t, onPicked: n }) { } }) : null; } -const md = 2; -function bN(e) { +const wd = 2; +function iT(e) { const t = e[0]; return t ? Math.max(1, e.filter((n) => Math.abs(n.y - t.y) < 1).length) : 1; } -function W6(e, t, n) { +function i5(e, t, n) { const o = Math.max(e.x - t, 0, t - (e.x + e.width)), r = Math.max(e.y - n, 0, n - (e.y + e.height)); return Math.hypot(o, r); } -function wde(e, t, n) { - const o = e.filter((a) => !t.has(a)), r = "before" in n ? n.before : n.after, s = o.indexOf(r) + ("after" in n ? 1 : 0), i = e.filter((a) => t.has(a)); +function jfe(e, t, n) { + const o = e.filter((i) => !t.has(i)), r = "before" in n ? n.before : n.after, s = o.indexOf(r) + ("after" in n ? 1 : 0), a = e.filter((i) => t.has(i)); return [ ...o.slice(0, s), - ...i, + ...a, ...o.slice(s) ]; } -function vde(e, t, n, o, r) { +function Ffe(e, t, n, o, r) { let s = null; - for (const u of e) (!s || W6(u, t.x, t.y) < W6(s, t.x, t.y)) && (s = u); + for (const u of e) (!s || i5(u, t.x, t.y) < i5(s, t.x, t.y)) && (s = u); if (!s || r.has(s.page)) return null; - const i = bN(e) > 1, a = i ? t.x < s.x + s.width / 2 : t.y < s.y + s.height / 2, c = a ? { before: s.page } : { after: s.page }; - if (r.size > 0 && wde(o, r, c).every((u, f) => u === o[f])) + const a = iT(e) > 1, i = a ? t.x < s.x + s.width / 2 : t.y < s.y + s.height / 2, c = i ? { before: s.page } : { after: s.page }; + if (r.size > 0 && jfe(o, r, c).every((u, f) => u === o[f])) return null; const l = n.gap / 2; return { position: c, - line: i ? { - x: (a ? s.x - l : s.x + s.width + l) - md / 2, + line: a ? { + x: (i ? s.x - l : s.x + s.width + l) - wd / 2, y: s.y, - width: md, + width: wd, height: s.height } : { x: s.x, - y: (a ? s.y - l : s.y + s.height + n.band + l) - md / 2, + y: (i ? s.y - l : s.y + s.height + n.band + l) - wd / 2, width: s.width, - height: md + height: wd } }; } -function kde(e, t, n) { +function Dfe(e, t, n) { const o = e.flatMap((r, s) => t.has(r) ? [s] : []); if (o.length === 0) return null; if (n < 0) { @@ -58898,8 +60161,8 @@ function kde(e, t, n) { for (let r = o[o.length - 1] + 1; r < e.length; r += 1) if (!t.has(e[r])) return { after: e[r] }; return null; } -const xde = 4, Ade = 450, U6 = 28, Sde = 16; -function K6(e) { +const $fe = 4, Bfe = 450, c5 = 28, zfe = 16; +function l5(e) { return e.listVisiblePages().map((t) => ({ page: t.ref.objectNumber, x: t.screenX, @@ -58908,282 +60171,282 @@ function K6(e) { height: t.transform.viewHeight })); } -const om = (e) => "before" in e ? { before: ut(e.before) } : { after: ut(e.after) }; -function Pde() { - const e = st(), t = Go(), n = mx(), o = mx(nl), r = Sa((D) => D.currentPageIndex), s = sB(), i = $z(), a = Bz((D) => D.selected), c = xn(), l = Dn("page:insert-file"), u = Dn("page:insert-blank"), f = u.visible && u.enabled, d = Tie(), p = me(null), [h, g] = ke(null), [m, M] = ke(null), [x, S] = ke(!1), [P, k] = ke(null), A = me(null); - A.current = P; - const [y, w] = ke(null), O = me(null), b = me(!1), v = s.map((D) => D.ref.objectNumber), E = (D) => D === null ? -1 : v.indexOf(D), I = new Set(a.map((D) => D.objectNumber)), T = E(h) >= 0 ? E(h) : r; +const um = (e) => "before" in e ? { before: dt(e.before) } : { after: dt(e.after) }; +function Wfe() { + const e = it(), t = Go(), n = Nx(), o = Nx(tl), r = Ai((W) => W.currentPageIndex), s = p9(), a = ZW(), i = JW((W) => W.selected), c = Pn(), l = Fn("page:insert-file"), u = Fn("page:insert-blank"), f = u.visible && u.enabled, d = nce(), p = ye(null), [g, h] = ke(null), [m, O] = ke(null), [E, P] = ke(!1), [k, A] = ke(null), w = ye(null); + w.current = k; + const [b, v] = ke(null), x = ye(null), y = ye(!1), M = s.map((W) => W.ref.objectNumber), S = (W) => W === null ? -1 : M.indexOf(W), C = new Set(i.map((W) => W.objectNumber)), N = S(g) >= 0 ? S(g) : r; Se(() => o.reveal(r), [r, o]); - const _ = Sa((D) => D.pageCount, nl), N = a[a.length - 1]?.objectNumber ?? null, F = N === null ? -1 : v.indexOf(N); + const _ = Ai((W) => W.pageCount, tl), T = i[i.length - 1]?.objectNumber ?? null, $ = T === null ? -1 : M.indexOf(T); Se(() => { - F >= 0 && F < _ && o.reveal(F); + $ >= 0 && $ < _ && o.reveal($); }, [ - F, + $, _, o ]); - const R = () => { - const { gap: D, pageFrame: ce } = o.getSettings(); + const j = () => { + const { gap: W, pageFrame: ce } = o.getSettings(); return { - gap: typeof D == "object" && D !== null && "px" in D ? D.px : Sde, + gap: typeof W == "object" && W !== null && "px" in W ? W.px : zfe, band: ce.bottom }; - }, j = (D, ce) => { - const ae = p.current?.getBoundingClientRect(); - return ae ? { - x: D - ae.left, - y: ce - ae.top + }, z = (W, ce) => { + const ie = p.current?.getBoundingClientRect(); + return ie ? { + x: W - ie.left, + y: ce - ie.top } : null; - }, B = (D, ce, ae) => { - const Q = j(D, ce); - return Q ? vde(K6(o), Q, R(), v, ae) : null; - }, W = (D) => { - n.goToPage(D), d(); - }, $ = (D) => i.select(D), K = (D, ce, ae) => { - if (b.current) { - b.current = !1; + }, L = (W, ce, ie) => { + const ee = z(W, ce); + return ee ? Ffe(l5(o), ee, j(), M, ie) : null; + }, D = (W) => { + n.goToPage(W), d(); + }, F = (W) => a.select(W), B = (W, ce, ie) => { + if (y.current) { + y.current = !1; return; } - const Q = D.objectNumber; - if (g(Q), f && (ae.metaKey || ae.ctrlKey)) { - $(I.has(Q) ? a.filter((fe) => fe.objectNumber !== Q) : [...a, D]), M(Q); + const ee = W.objectNumber; + if (h(ee), f && (ie.metaKey || ie.ctrlKey)) { + F(C.has(ee) ? i.filter((fe) => fe.objectNumber !== ee) : [...i, W]), O(ee); return; } - if (f && ae.shiftKey && E(m) >= 0) { - const fe = E(m), [de, le] = fe < ce ? [fe, ce] : [ce, fe]; - $(s.slice(de, le + 1).map((ye) => ye.ref)); + if (f && ie.shiftKey && S(m) >= 0) { + const fe = S(m), [de, ue] = fe < ce ? [fe, ce] : [ce, fe]; + F(s.slice(de, ue + 1).map((we) => we.ref)); return; } - M(Q), f && $([D]), W(ce); - }, ee = (D) => { - g(D.objectNumber), I.has(D.objectNumber) || $([D]); - }, J = (D) => p.current?.querySelector(`[data-epdf-page-menu="${D}"] button`)?.click(), ue = () => { - O.current !== null && clearTimeout(O.current), O.current = null; - }, be = (D, ce) => { + O(ee), f && F([W]), D(ce); + }, V = (W) => { + h(W.objectNumber), C.has(W.objectNumber) || F([W]); + }, Q = (W) => p.current?.querySelector(`[data-epdf-page-menu="${W}"] button`)?.click(), le = () => { + x.current !== null && clearTimeout(x.current), x.current = null; + }, pe = (W, ce) => { if (!f || ce.button !== 0 || ce.target.closest("[data-epdf-page-menu]")) return; - const ae = D.objectNumber, Q = I.has(ae) ? I : /* @__PURE__ */ new Set([ae]); - k({ + const ie = W.objectNumber, ee = C.has(ie) ? C : /* @__PURE__ */ new Set([ie]); + A({ pointerId: ce.pointerId, startX: ce.clientX, startY: ce.clientY, - page: ae, - moving: Q, + page: ie, + moving: ee, held: !1, active: !1, drop: null - }), ce.pointerType !== "mouse" && (O.current = setTimeout(() => { - const fe = A.current; - fe && !fe.active && k({ + }), ce.pointerType !== "mouse" && (x.current = setTimeout(() => { + const fe = w.current; + fe && !fe.active && A({ ...fe, held: !0 }); - }, Ade)); - }, we = P?.active === !0, Oe = P !== null; + }, Bfe)); + }, me = k?.active === !0, Ae = k !== null; Se(() => { - if (!Oe) return; - const D = (fe) => { - const de = A.current; + if (!Ae) return; + const W = (fe) => { + const de = w.current; if (!de || fe.pointerId !== de.pointerId) return; if (!de.active) { - if (Math.hypot(fe.clientX - de.startX, fe.clientY - de.startY) <= xde) return; + if (Math.hypot(fe.clientX - de.startX, fe.clientY - de.startY) <= $fe) return; if (fe.pointerType !== "mouse" && !de.held) { - ue(), k(null); + le(), A(null); return; } } - const le = p.current?.getBoundingClientRect(); - le && fe.clientY < le.top + U6 ? o.scrollBy({ top: -8 }) : le && fe.clientY > le.bottom - U6 && o.scrollBy({ top: 8 }), k({ + const ue = p.current?.getBoundingClientRect(); + ue && fe.clientY < ue.top + c5 ? o.scrollBy({ top: -8 }) : ue && fe.clientY > ue.bottom - c5 && o.scrollBy({ top: 8 }), A({ ...de, active: !0, - drop: B(fe.clientX, fe.clientY, de.moving) + drop: L(fe.clientX, fe.clientY, de.moving) }); }, ce = (fe, de) => { - ue(); - const le = A.current; - if (!le || fe.pointerId !== le.pointerId) return; - if (k(null), !le.active) { - le.held && de && (b.current = !0, ee(ut(le.page)), J(le.page)); + le(); + const ue = w.current; + if (!ue || fe.pointerId !== ue.pointerId) return; + if (A(null), !ue.active) { + ue.held && de && (y.current = !0, V(dt(ue.page)), Q(ue.page)); return; } - if (b.current = !0, setTimeout(() => { - b.current = !1; - }, 0), !de || !le.drop) return; - const ye = s.filter((Ae) => le.moving.has(Ae.ref.objectNumber)); - i.reorder(ye.map((Ae) => Ae.ref), om(le.drop.position)).catch(() => { + if (y.current = !0, setTimeout(() => { + y.current = !1; + }, 0), !de || !ue.drop) return; + const we = s.filter((Oe) => ue.moving.has(Oe.ref.objectNumber)); + a.reorder(we.map((Oe) => Oe.ref), um(ue.drop.position)).catch(() => { }); - }, ae = (fe) => ce(fe, !0), Q = (fe) => ce(fe, !1); - return window.addEventListener("pointermove", D), window.addEventListener("pointerup", ae), window.addEventListener("pointercancel", Q), () => { - window.removeEventListener("pointermove", D), window.removeEventListener("pointerup", ae), window.removeEventListener("pointercancel", Q); + }, ie = (fe) => ce(fe, !0), ee = (fe) => ce(fe, !1); + return window.addEventListener("pointermove", W), window.addEventListener("pointerup", ie), window.addEventListener("pointercancel", ee), () => { + window.removeEventListener("pointermove", W), window.removeEventListener("pointerup", ie), window.removeEventListener("pointercancel", ee); }; }), Se(() => { - if (!we) return; - const D = (ce) => ce.preventDefault(); - return document.addEventListener("touchmove", D, { passive: !1 }), () => document.removeEventListener("touchmove", D); - }, [we]), Se(() => ue, []); - const Ce = (D) => f && l.visible && l.enabled && JI(D.dataTransfer), Me = (D) => { - Ce(D) && (D.preventDefault(), D.stopPropagation(), D.dataTransfer.dropEffect = "copy", w(B(D.clientX, D.clientY, /* @__PURE__ */ new Set()))); - }, V = (D) => { - if (!Ce(D)) return; - D.stopPropagation(); - const ce = D.relatedTarget; - (!ce || !p.current?.contains(ce)) && w(null); - }, he = (D) => { - if (!Ce(D)) return; - D.preventDefault(), D.stopPropagation(); - const ce = B(D.clientX, D.clientY, /* @__PURE__ */ new Set()); - w(null); - const ae = Array.from(D.dataTransfer.files).filter(zw); - if (ae.length === 0) return; - const Q = { - files: ae, - ...ce ? { position: om(ce.position) } : {} + if (!me) return; + const W = (ce) => ce.preventDefault(); + return document.addEventListener("touchmove", W, { passive: !1 }), () => document.removeEventListener("touchmove", W); + }, [me]), Se(() => le, []); + const Pe = (W) => f && l.visible && l.enabled && $_(W.dataTransfer), Me = (W) => { + Pe(W) && (W.preventDefault(), W.stopPropagation(), W.dataTransfer.dropEffect = "copy", v(L(W.clientX, W.clientY, /* @__PURE__ */ new Set()))); + }, G = (W) => { + if (!Pe(W)) return; + W.stopPropagation(); + const ce = W.relatedTarget; + (!ce || !p.current?.contains(ce)) && v(null); + }, ge = (W) => { + if (!Pe(W)) return; + W.preventDefault(), W.stopPropagation(); + const ce = L(W.clientX, W.clientY, /* @__PURE__ */ new Set()); + v(null); + const ie = Array.from(W.dataTransfer.files).filter(tv); + if (ie.length === 0) return; + const ee = { + files: ie, + ...ce ? { position: um(ce.position) } : {} }; - c.execute("page:insert-file", { args: Q }).catch(() => { + c.execute("page:insert-file", { args: ee }).catch(() => { }); - }, ve = (D, ce) => { - const ae = s[D]; - if (ae) { - if (g(ae.ref.objectNumber), o.reveal(D), !f) { - n.goToPage(D); + }, ve = (W, ce) => { + const ie = s[W]; + if (ie) { + if (h(ie.ref.objectNumber), o.reveal(W), !f) { + n.goToPage(W); return; } - if (ce && E(m) >= 0) { - const Q = E(m), [fe, de] = Q < D ? [Q, D] : [D, Q]; - $(s.slice(fe, de + 1).map((le) => le.ref)); + if (ce && S(m) >= 0) { + const ee = S(m), [fe, de] = ee < W ? [ee, W] : [W, ee]; + F(s.slice(fe, de + 1).map((ue) => ue.ref)); return; } - M(ae.ref.objectNumber), $([ae.ref]), n.goToPage(D); + O(ie.ref.objectNumber), F([ie.ref]), n.goToPage(W); } - }, je = (D) => { - if (D.target !== D.currentTarget || s.length === 0) return; - S(!0); - const ce = bN(K6(o)), ae = { + }, Te = (W) => { + if (W.target !== W.currentTarget || s.length === 0) return; + P(!0); + const ce = iT(l5(o)), ie = { ArrowLeft: -1, ArrowRight: 1, ArrowUp: -ce, ArrowDown: ce - }[D.key], Q = D.metaKey || D.ctrlKey; - if (ae !== void 0 && D.altKey && f) { - D.preventDefault(); - const fe = kde(v, I, ae < 0 ? -1 : 1), de = s.filter((le) => I.has(le.ref.objectNumber)); - fe && de.length > 0 && i.reorder(de.map((le) => le.ref), om(fe)).catch(() => { + }[W.key], ee = W.metaKey || W.ctrlKey; + if (ie !== void 0 && W.altKey && f) { + W.preventDefault(); + const fe = Dfe(M, C, ie < 0 ? -1 : 1), de = s.filter((ue) => C.has(ue.ref.objectNumber)); + fe && de.length > 0 && a.reorder(de.map((ue) => ue.ref), um(fe)).catch(() => { }); return; } - if (ae !== void 0) { - D.preventDefault(), ve(Math.max(0, Math.min(s.length - 1, T + ae)), D.shiftKey); + if (ie !== void 0) { + W.preventDefault(), ve(Math.max(0, Math.min(s.length - 1, N + ie)), W.shiftKey); return; } - switch (D.key) { + switch (W.key) { case "Home": case "End": - D.preventDefault(), ve(D.key === "Home" ? 0 : s.length - 1, D.shiftKey); + W.preventDefault(), ve(W.key === "Home" ? 0 : s.length - 1, W.shiftKey); return; case "Enter": - D.preventDefault(), W(T); + W.preventDefault(), D(N); return; case " ": { if (!f) return; - D.preventDefault(); - const fe = s[T]; + W.preventDefault(); + const fe = s[N]; if (!fe) return; const de = fe.ref.objectNumber; - M(de), $(I.has(de) ? a.filter((le) => le.objectNumber !== de) : [...a, fe.ref]); + O(de), F(C.has(de) ? i.filter((ue) => ue.objectNumber !== de) : [...i, fe.ref]); return; } case "Delete": case "Backspace": if (!f) return; - D.preventDefault(), c.execute("page:delete").catch(() => { + W.preventDefault(), c.execute("page:delete").catch(() => { }); return; case "a": case "A": - if (!Q || !f) return; - D.preventDefault(), c.execute("page:select-all").catch(() => { + if (!ee || !f) return; + W.preventDefault(), c.execute("page:select-all").catch(() => { }); return; } - }, G = s[T]?.ref ?? null, re = we ? P.drop : y; - return /* @__PURE__ */ C("div", { + }, X = s[N]?.ref ?? null, ae = me ? k.drop : b; + return /* @__PURE__ */ I("div", { className: "flex min-h-0 flex-1 flex-col", - children: /* @__PURE__ */ C("div", { + children: /* @__PURE__ */ I("div", { ref: p, role: "listbox", "aria-label": e("panels.thumbnails"), "aria-multiselectable": f || void 0, tabIndex: 0, - "aria-activedescendant": x && G ? `${t}-${G.objectNumber}` : void 0, - onKeyDown: je, - onFocus: (D) => D.target === D.currentTarget && S(D.currentTarget.matches(":focus-visible")), - onBlur: (D) => D.target === D.currentTarget && S(!1), + "aria-activedescendant": E && X ? `${t}-${X.objectNumber}` : void 0, + onKeyDown: Te, + onFocus: (W) => W.target === W.currentTarget && P(W.currentTarget.matches(":focus-visible")), + onBlur: (W) => W.target === W.currentTarget && P(!1), onDragEnter: Me, onDragOver: Me, - onDragLeave: V, - onDrop: he, + onDragLeave: G, + onDrop: ge, className: "focus-visible:ring-accent relative flex min-h-0 flex-1 flex-col outline-none focus-visible:ring-2 focus-visible:ring-inset", - children: /* @__PURE__ */ C(iE, { - token: nl, + children: /* @__PURE__ */ I(DE, { + token: tl, className: "flex-1", style: { position: "relative" }, - overlay: /* @__PURE__ */ C(Te, { children: [re && /* @__PURE__ */ C("div", { + overlay: /* @__PURE__ */ I(Re, { children: [ae && /* @__PURE__ */ I("div", { "aria-hidden": !0, className: "bg-accent pointer-events-none absolute rounded-full", style: { - left: re.line.x, - top: re.line.y, - width: re.line.width, - height: re.line.height + left: ae.line.x, + top: ae.line.y, + width: ae.line.width, + height: ae.line.height } - }), /* @__PURE__ */ C(Dm, { axis: "y" })] }), - pageChrome: (D) => { - const ce = D.ref.objectNumber, ae = f && I.has(ce), Q = D.pageIndex === r, fe = x && G?.objectNumber === ce, de = we && P.moving.has(ce); - return /* @__PURE__ */ C("div", { + }), /* @__PURE__ */ I(Hm, { axis: "y" })] }), + pageChrome: (W) => { + const ce = W.ref.objectNumber, ie = f && C.has(ce), ee = W.pageIndex === r, fe = E && X?.objectNumber === ce, de = me && k.moving.has(ce); + return /* @__PURE__ */ I("div", { className: "group", style: { position: "absolute", inset: 0 }, children: [ - /* @__PURE__ */ C(P_, { - label: e("thumbnails.page", { params: { page: D.pageIndex + 1 } }), + /* @__PURE__ */ I(pN, { + label: e("thumbnails.page", { params: { page: W.pageIndex + 1 } }), id: `${t}-${ce}`, role: "option", - "aria-selected": f ? ae : Q, - "aria-current": Q ? "page" : void 0, + "aria-selected": f ? ie : ee, + "aria-current": ee ? "page" : void 0, tabIndex: -1, - onClick: (le) => K(D.ref, D.pageIndex, le), - onPointerDown: (le) => be(D.ref, le), - onContextMenu: (le) => { - f && (le.preventDefault(), ee(D.ref), J(ce)); + onClick: (ue) => B(W.ref, W.pageIndex, ue), + onPointerDown: (ue) => pe(W.ref, ue), + onContextMenu: (ue) => { + f && (ue.preventDefault(), V(W.ref), Q(ce)); }, - className: `box-border cursor-pointer touch-manipulation rounded ${ae || Q ? "border-accent border-2" : "border-border-subtle border"} ${Q ? "ring-accent-light ring-2" : ""} ${ae ? "bg-accent/10" : ""} ${fe ? "outline-accent outline outline-2 outline-offset-2" : ""} ${de ? "bg-surface/60" : ""}`, + className: `box-border cursor-pointer touch-manipulation rounded ${ie || ee ? "border-accent border-2" : "border-border-subtle border"} ${ee ? "ring-accent-light ring-2" : ""} ${ie ? "bg-accent/10" : ""} ${fe ? "outline-accent outline outline-2 outline-offset-2" : ""} ${de ? "bg-surface/60" : ""}`, style: { position: "absolute", - top: D.frame.top, - left: D.frame.left, - right: D.frame.right, - bottom: D.frame.bottom + top: W.frame.top, + left: W.frame.left, + right: W.frame.right, + bottom: W.frame.bottom } }), - f && /* @__PURE__ */ C("span", { + f && /* @__PURE__ */ I("span", { "data-epdf-page-menu": ce, - onClick: (le) => le.stopPropagation(), - onPointerDownCapture: () => ee(D.ref), - className: `bg-elevated absolute rounded shadow-sm ${ae || fe ? "" : "opacity-0 focus-within:opacity-100 group-hover:opacity-100"}`, + onClick: (ue) => ue.stopPropagation(), + onPointerDownCapture: () => V(W.ref), + className: `bg-elevated absolute rounded shadow-sm ${ie || fe ? "" : "opacity-0 focus-within:opacity-100 group-hover:opacity-100"}`, style: { - top: D.frame.top + 4, - right: D.frame.right + 4 + top: W.frame.top + 4, + right: W.frame.right + 4 }, - children: /* @__PURE__ */ C(Ode, {}) + children: /* @__PURE__ */ I(Ufe, {}) }), - /* @__PURE__ */ C("div", { + /* @__PURE__ */ I("div", { style: { position: "absolute", bottom: 0, left: 0, right: 0, - height: D.frame.bottom, + height: W.frame.bottom, display: "flex", alignItems: "center", justifyContent: "center", @@ -59191,119 +60454,119 @@ function Pde() { color: "var(--epdf-text-muted)", pointerEvents: "none" }, - children: D.pageIndex + 1 + children: W.pageIndex + 1 }) ] }); }, - children: () => /* @__PURE__ */ C(Te, { children: [/* @__PURE__ */ C(dE, { thumbnail: !0 }), /* @__PURE__ */ C(hN, { small: !0 })] }) + children: () => /* @__PURE__ */ I(Re, { children: [/* @__PURE__ */ I(UE, { thumbnail: !0 }), /* @__PURE__ */ I(rT, { small: !0 })] }) }) }) }); } -function Ode() { - const e = Dn("menu:page"); - return e.visible ? /* @__PURE__ */ C(ph, { +function Ufe() { + const e = Fn("menu:page"); + return e.visible ? /* @__PURE__ */ I(yh, { cmd: e, variant: "icon", run: () => void e.run() }) : null; } -const Mde = Nt(() => import("./search-panel-Eivx6mw6-CopOushs.js").then((e) => e.SearchPanel)), Ede = Nt(() => import("./search-panel-Eivx6mw6-CopOushs.js").then((e) => e.FindBar)), Cde = Nt(() => import("./comments-panel-WWRsL--Q-C5ywnt1o.js").then((e) => e.CommentsPanel)), Ide = Nt(() => import("./measurement-DZOOYxOT-DZDR7o1H.js").then((e) => e.MeasurementSection)), _de = Nt(() => import("./annotation-style-CF_uQ82y-CngnKxKD.js").then((e) => e.AnnotationStylePanel)), Nde = Nt(() => import("./stamps-panel-vnotr2Nq-CkkPQe1M.js").then((e) => e.StampsPanel)), Tde = Nt(() => import("./signatures-panel-DKFVlxyM-CDTHYCQY.js").then((e) => e.SignaturesPanel)), Rde = Nt(() => import("./redaction-panel-BJvgl75F-aF47DJXW.js").then((e) => e.RedactionPanel)), Lde = Nt(() => import("./outline-panel-BgbrOoBa-DCb1Oxsu.js").then((e) => e.OutlinePanel)), jde = Nt(() => import("./attachments-panel-CPssFrCE-D2gQF6pz.js").then((e) => e.AttachmentsPanel)), Fde = Nt(() => import("./form-design-panel-wzDO2bUT-GN0HL8gx.js").then((e) => e.FormDesignPanel)), yN = /* @__PURE__ */ new Map([ +const Kfe = jt(() => import("./search-panel-Bg1iPcy6-BiaQMQSJ.js").then((e) => e.SearchPanel)), qfe = jt(() => import("./search-panel-Bg1iPcy6-BiaQMQSJ.js").then((e) => e.FindBar)), Hfe = jt(() => import("./comments-panel-DfUngPkF-u2dBWV5n.js").then((e) => e.CommentsPanel)), Vfe = jt(() => import("./measurement-6M_KEsFK-Bvj4oM5j.js").then((e) => e.MeasurementSection)), Gfe = jt(() => import("./annotation-style-CNXq5gcp-D69Z-BZe.js").then((e) => e.AnnotationStylePanel)), Yfe = jt(() => import("./stamps-panel-moG5l7rv-DwpU8oxh.js").then((e) => e.StampsPanel)), Qfe = jt(() => import("./signatures-panel-QneSliC6-B-zJ-FPc.js").then((e) => e.SignaturesPanel)), Xfe = jt(() => import("./redaction-panel-Djm12Ydh-DqRKqVFO.js").then((e) => e.RedactionPanel)), Zfe = jt(() => import("./outline-panel-qcEnzfex-B8RxefiU.js").then((e) => e.OutlinePanel)), Jfe = jt(() => import("./attachments-panel-YtEhxrto-7d2aGyW5.js").then((e) => e.AttachmentsPanel)), epe = jt(() => import("./form-design-panel-BLoqGIJY-DEciaS3X.js").then((e) => e.FormDesignPanel)), cT = /* @__PURE__ */ new Map([ ["thumbnails", { - draw: () => /* @__PURE__ */ C(Pde, {}), + draw: () => /* @__PURE__ */ I(Wfe, {}), list: !0 }], ["outline", { - draw: (e) => /* @__PURE__ */ C(Lde, {}, e ?? "none"), + draw: (e) => /* @__PURE__ */ I(Zfe, {}, e ?? "none"), list: !0, - scope: iae + scope: Ice }], ["attachments", { - draw: (e) => /* @__PURE__ */ C(jde, {}, e ?? "none"), + draw: (e) => /* @__PURE__ */ I(Jfe, {}, e ?? "none"), list: !0 }], ["search", { - draw: (e) => /* @__PURE__ */ C(Mde, {}, e ?? "none"), + draw: (e) => /* @__PURE__ */ I(Kfe, {}, e ?? "none"), list: !0, bar: { - when: (e, t) => e.tryCapability(Zo, t ?? void 0)?.canSearch({ snippets: !0 }) === !1, - draw: (e) => /* @__PURE__ */ C(Ede, {}, e ?? "none") + when: (e, t) => e.tryCapability(Jo, t ?? void 0)?.canSearch({ snippets: !0 }) === !1, + draw: (e) => /* @__PURE__ */ I(qfe, {}, e ?? "none") } }], - ["comments", { draw: (e) => /* @__PURE__ */ C(Cde, {}, e ?? "none") }], - ["measurement", { draw: (e) => /* @__PURE__ */ C(Ide, {}, e ?? "none") }], - ["style", { draw: () => /* @__PURE__ */ C(_de, {}) }], - ["stamps", { draw: () => /* @__PURE__ */ C(Nde, {}) }], - ["signatures", { draw: () => /* @__PURE__ */ C(Tde, {}) }], - ["redaction", { draw: () => /* @__PURE__ */ C(Rde, {}) }], - ["form-design", { draw: (e) => /* @__PURE__ */ C(Fde, {}, e ?? "none") }] -]), Dde = [], bd = (e, t) => e.length === t.length && e.every((n, o) => n === t[o]), $de = (e, t) => bd(e.shown, t.shown) && bd(e.off, t.off) && bd(e.open, t.open) && bd(e.bars, t.bars), q6 = /* @__PURE__ */ new WeakMap(); -function Bde(e, t) { - let n = q6.get(e); + ["comments", { draw: (e) => /* @__PURE__ */ I(Hfe, {}, e ?? "none") }], + ["measurement", { draw: (e) => /* @__PURE__ */ I(Vfe, {}, e ?? "none") }], + ["style", { draw: () => /* @__PURE__ */ I(Gfe, {}) }], + ["stamps", { draw: () => /* @__PURE__ */ I(Yfe, {}) }], + ["signatures", { draw: () => /* @__PURE__ */ I(Qfe, {}) }], + ["redaction", { draw: () => /* @__PURE__ */ I(Xfe, {}) }], + ["form-design", { draw: (e) => /* @__PURE__ */ I(epe, {}, e ?? "none") }] +]), tpe = [], vd = (e, t) => e.length === t.length && e.every((n, o) => n === t[o]), npe = (e, t) => vd(e.shown, t.shown) && vd(e.off, t.off) && vd(e.open, t.open) && vd(e.bars, t.bars), u5 = /* @__PURE__ */ new WeakMap(); +function ope(e, t) { + let n = u5.get(e); return n || (n = { start: /* @__PURE__ */ new Set(), end: /* @__PURE__ */ new Set() - }, q6.set(e, n)), n[t]; + }, u5.set(e, n)), n[t]; } -function H6({ side: e }) { - const { data: t, env: n } = tr(), o = xn(), r = at(We), s = tn(), i = He(() => tue(t, e), [t, e]), { shown: a, off: c, open: l, bars: u } = wt((d) => { - const p = (h) => o.resolveCommand(bs(h), s ?? void 0)?.visible; +function d5({ side: e }) { + const { data: t, env: n } = nr(), o = Pn(), r = ct(Ue), s = an(), a = He(() => yde(t, e), [t, e]), { shown: i, off: c, open: l, bars: u } = vt((d) => { + const p = (g) => o.resolveCommand(bs(g), s ?? void 0)?.visible; return { - shown: i.filter((h) => p(h) === !0), - off: i.filter((h) => p(h) === !1), - open: r ? i.filter((h) => r.isOpen(h)) : Dde, - bars: i.filter((h) => yN.get(h)?.bar?.when(d, s) === !0) + shown: a.filter((g) => p(g) === !0), + off: a.filter((g) => p(g) === !1), + open: r ? a.filter((g) => r.isOpen(g)) : tpe, + bars: a.filter((g) => cT.get(g)?.bar?.when(d, s) === !0) }; - }, $de); - nse((d) => d.onSurfaceOpened, (d) => { - if (!(!r || !i.includes(d.id))) - for (const p of i) p !== d.id && r.isOpen(p) && r.close(p); + }, npe); + hae((d) => d.onSurfaceOpened, (d) => { + if (!(!r || !a.includes(d.id))) + for (const p of a) p !== d.id && r.isOpen(p) && r.close(p); }); - const f = l.find((d) => a.includes(d)) ?? null; - return Ne(() => { + const f = l.find((d) => i.includes(d)) ?? null; + return _e(() => { if (!r) return; - for (const g of l) g !== f && (f !== null || c.includes(g)) && r.close(g); - if (n === Ww) return; - const d = t.panels ?? {}, p = Bde(r, e), h = nue(d, { - ids: i, - shown: a, + for (const h of l) h !== f && (f !== null || c.includes(h)) && r.close(h); + if (n === nv) return; + const d = t.panels ?? {}, p = ope(r, e), g = wde(d, { + ids: a, + shown: i, current: f, - docks: (g) => ade(n.size, d[g]?.present) && !u.includes(g) + docks: (h) => Sfe(n.size, d[h]?.present) && !u.includes(h) }, p); - for (const g of h.started) p.add(g); - h.open !== null && r.open(h.open); + for (const h of g.started) p.add(h); + g.open !== null && r.open(g.open); }, [ r, e, t, n, - i, a, + i, l, c, u, f - ]), f === null ? null : /* @__PURE__ */ C(zde, { + ]), f === null ? null : /* @__PURE__ */ I(rpe, { id: f, side: e, - siblings: a + siblings: i }, f); } -function zde({ id: e, side: t, siblings: n }) { - const o = tr().data.panels?.[e], r = xn(), s = at(We), i = tn(), a = yN.get(e), c = wt((f) => a?.bar?.when(f, i) === !0), l = wt(() => r.resolveCommand(bs(e), i ?? void 0)?.label ?? null); +function rpe({ id: e, side: t, siblings: n }) { + const o = nr().data.panels?.[e], r = Pn(), s = ct(Ue), a = an(), i = cT.get(e), c = vt((f) => i?.bar?.when(f, a) === !0), l = vt(() => r.resolveCommand(bs(e), a ?? void 0)?.label ?? null); if (!o) return null; const u = l ?? o.title ?? e; - return c ? /* @__PURE__ */ C(mde, { + return c ? /* @__PURE__ */ I(Tfe, { id: e, side: t, title: u, onClose: () => s?.close(e), - children: /* @__PURE__ */ C("slot", { + children: /* @__PURE__ */ I("slot", { name: `panel:${e}`, - children: a?.bar?.draw(i) + children: i?.bar?.draw(a) }) - }) : /* @__PURE__ */ C(a?.scope ?? Te, { children: /* @__PURE__ */ C(ude, { + }) : /* @__PURE__ */ I(i?.scope ?? Re, { children: /* @__PURE__ */ I(Mfe, { id: e, side: t, present: o.present, @@ -59311,21 +60574,21 @@ function zde({ id: e, side: t, siblings: n }) { resizable: o.resizable, closable: o.closable !== !1, title: u, - header: n.length > 1 ? /* @__PURE__ */ C(bde, { + header: n.length > 1 ? /* @__PURE__ */ I(Rfe, { id: e, title: u, panels: n }) : void 0, - bars: /* @__PURE__ */ C(Wue, { panel: e }), - list: a?.list, + bars: /* @__PURE__ */ I(sfe, { panel: e }), + list: i?.list, onClose: () => s?.close(e), - children: /* @__PURE__ */ C("slot", { + children: /* @__PURE__ */ I("slot", { name: `panel:${e}`, - children: a?.draw(i) + children: i?.draw(a) }) }) }); } -function Wde() { +function spe() { let e = []; const t = /* @__PURE__ */ new Set(), n = (o) => { e = o; @@ -59340,36 +60603,36 @@ function Wde() { }, place(o) { const r = e.findIndex((s) => s.host === o.host); - n(r < 0 ? [...e, o] : e.map((s, i) => i === r ? o : s)); + n(r < 0 ? [...e, o] : e.map((s, a) => a === r ? o : s)); }, remove(o) { e.some((r) => r.host === o) && n(e.filter((r) => r.host !== o)); } }; } -const rm = /* @__PURE__ */ new WeakSet(); -function Ude(e, t) { +const dm = /* @__PURE__ */ new WeakSet(); +function ape(e, t) { const { visible: n, enabled: o } = t; - Ne(() => { - !n && !e.hidden ? (e.hidden = !0, rm.add(e)) : n && rm.has(e) && (e.hidden = !1, rm.delete(e)), o ? e.removeAttribute("aria-disabled") : e.setAttribute("aria-disabled", "true"); + _e(() => { + !n && !e.hidden ? (e.hidden = !0, dm.add(e)) : n && dm.has(e) && (e.hidden = !1, dm.delete(e)), o ? e.removeAttribute("aria-disabled") : e.setAttribute("aria-disabled", "true"); }, [ e, n, o ]); } -function wN({ icon: e, label: t }) { - return e ? /* @__PURE__ */ C(nt, { +function lT({ icon: e, label: t }) { + return e ? /* @__PURE__ */ I(ot, { name: e, size: 20 - }) : /* @__PURE__ */ C("span", { + }) : /* @__PURE__ */ I("span", { className: "whitespace-nowrap px-1 text-sm", children: t }); } -function Kde({ host: e, commandId: t, active: n }) { - const o = Dn(t); - return Ude(e, o), o.visible ? /* @__PURE__ */ C(ph, { +function ipe({ host: e, commandId: t, active: n }) { + const o = Fn(t); + return ape(e, o), o.visible ? /* @__PURE__ */ I(yh, { cmd: n ? { ...o, active: n @@ -59378,36 +60641,36 @@ function Kde({ host: e, commandId: t, active: n }) { run: () => void o.run() }) : null; } -function qde({ icon: e, label: t, active: n }) { - const o = en(t ? { +function cpe({ icon: e, label: t, active: n }) { + const o = sn(t ? { label: t, labelShown: !e } : null); - return /* @__PURE__ */ C(Te, { children: [/* @__PURE__ */ C("button", { + return /* @__PURE__ */ I(Re, { children: [/* @__PURE__ */ I("button", { ...o.trigger, type: "button", "aria-label": t ?? void 0, "aria-pressed": n || void 0, - part: En(n), + part: _n(n), className: oo(n), - children: /* @__PURE__ */ C(wN, { + children: /* @__PURE__ */ I(lT, { icon: e, label: t }) }), o.element] }); } -function Hde({ button: e }) { - return e.command ? /* @__PURE__ */ C(Kde, { +function lpe({ button: e }) { + return e.command ? /* @__PURE__ */ I(ipe, { host: e.host, commandId: e.command, active: e.active - }) : /* @__PURE__ */ C(qde, { + }) : /* @__PURE__ */ I(cpe, { icon: e.icon, label: e.label, active: e.active }); } -const Vde = (e) => ({ +const upe = (e) => ({ id: "", label: e.label, icon: e.icon ?? void 0, @@ -59418,8 +60681,8 @@ const Vde = (e) => ({ visible: !0, categories: [] }); -function Gde({ item: e, commandId: t, onPicked: n }) { - const o = Dn(t); +function dpe({ item: e, commandId: t, onPicked: n }) { + const o = Fn(t); if (!o.visible) return null; const r = { ...o, @@ -59427,7 +60690,7 @@ function Gde({ item: e, commandId: t, onPicked: n }) { icon: e.icon ?? o.icon, active: e.active || o.active }; - return /* @__PURE__ */ C(du, { + return /* @__PURE__ */ I(hu, { command: r, choice: r.active ? "checkbox" : "none", onSelect: () => { @@ -59435,128 +60698,128 @@ function Gde({ item: e, commandId: t, onPicked: n }) { } }); } -function Yde({ menu: e }) { - const [t, n] = ke(!1), o = () => n(!1), r = en(e.label ? { +function fpe({ menu: e }) { + const [t, n] = ke(!1), o = () => n(!1), r = sn(e.label ? { label: e.label, labelShown: !e.icon } : null); - return /* @__PURE__ */ C("span", { + return /* @__PURE__ */ I("span", { className: "relative inline-flex", children: [ - /* @__PURE__ */ C("button", { + /* @__PURE__ */ I("button", { ...r.trigger, type: "button", "aria-haspopup": "menu", "aria-expanded": t, "aria-label": e.label ?? void 0, - part: En(t), + part: _n(t), className: oo(t), onClick: () => n((s) => !s), - children: /* @__PURE__ */ C(wN, { + children: /* @__PURE__ */ I(lT, { icon: e.icon, label: e.label }) }), r.element, - t && /* @__PURE__ */ C(uu, { + t && /* @__PURE__ */ I(pu, { onClose: o, - children: /* @__PURE__ */ C("div", { + children: /* @__PURE__ */ I("div", { className: "min-w-52 p-1", - children: e.items.map((s, i) => s.command ? /* @__PURE__ */ C(Gde, { + children: e.items.map((s, a) => s.command ? /* @__PURE__ */ I(dpe, { item: s, commandId: s.command, onPicked: o - }, i) : /* @__PURE__ */ C(du, { - command: Vde(s), + }, a) : /* @__PURE__ */ I(hu, { + command: upe(s), choice: s.active ? "checkbox" : "none", onSelect: () => { s.select(), o(); } - }, i)) + }, a)) }) }) ] }); } -function Qde({ icon: e }) { - return e.icon ? /* @__PURE__ */ C(nt, { +function ppe({ icon: e }) { + return e.icon ? /* @__PURE__ */ I(ot, { name: e.icon, size: e.size ?? 20, title: e.label ?? void 0, className: "block" }) : null; } -const V6 = /* @__PURE__ */ new WeakMap(); -let Xde = 0; -const Zde = (e) => { - let t = V6.get(e); - return t === void 0 && (t = Xde++, V6.set(e, t)), t; +const f5 = /* @__PURE__ */ new WeakMap(); +let hpe = 0; +const gpe = (e) => { + let t = f5.get(e); + return t === void 0 && (t = hpe++, f5.set(e, t)), t; }; -function Jde({ components: e }) { - const t = Uo(e.subscribe, e.list, e.list), n = F_(); - return Uo(n.subscribe, n.version, n.version), /* @__PURE__ */ C(Te, { children: t.map((o) => /* @__PURE__ */ C(Te, { children: _y(/* @__PURE__ */ C(lu, { +function mpe({ components: e }) { + const t = Wo(e.subscribe, e.list, e.list), n = MN(); + return Wo(n.subscribe, n.version, n.version), /* @__PURE__ */ I(Re, { children: t.map((o) => /* @__PURE__ */ I(Re, { children: Ky(/* @__PURE__ */ I(fu, { value: n.edgeOf(o.host), - children: o.kind === "button" ? /* @__PURE__ */ C(Hde, { button: o }) : o.kind === "menu" ? /* @__PURE__ */ C(Yde, { menu: o }) : /* @__PURE__ */ C(Qde, { icon: o }) - }), o.root) }, Zde(o.host))) }); + children: o.kind === "button" ? /* @__PURE__ */ I(lpe, { button: o }) : o.kind === "menu" ? /* @__PURE__ */ I(fpe, { menu: o }) : /* @__PURE__ */ I(ppe, { icon: o }) + }), o.root) }, gpe(o.host))) }); } -const efe = 2500; -function tfe() { - const e = st(), [t, n] = ke(null), o = Fo((r) => n((s) => ({ +const bpe = 2500; +function ype() { + const e = it(), [t, n] = ke(null), o = jo((r) => n((s) => ({ message: r, count: (s?.count ?? 0) + 1 })), []); return Se(() => { if (!t) return; - const r = setTimeout(() => n(null), efe); + const r = setTimeout(() => n(null), bpe); return () => clearTimeout(r); }, [t]), { - onShortcutRefused: Fo((r, s) => o(s.message), [o]), - onCopyRefused: Fo(() => o(e("commands.notAllowed.doc-text-copy", { fallback: "Copying isn't allowed" })), [o, e]), - element: /* @__PURE__ */ C("div", { + onShortcutRefused: jo((r, s) => o(s.message), [o]), + onCopyRefused: jo(() => o(e("commands.notAllowed.doc-text-copy", { fallback: "Copying isn't allowed" })), [o, e]), + element: /* @__PURE__ */ I("div", { role: "status", "aria-live": "polite", "data-epdf-refusal-notice": "", className: "pointer-events-none absolute inset-x-0 bottom-16 z-30 flex justify-center", - children: t && /* @__PURE__ */ C("div", { + children: t && /* @__PURE__ */ I("div", { className: "border-border-subtle bg-elevated/95 text-fg rounded-full border px-4 py-1.5 text-sm shadow-lg backdrop-blur", children: t.message }, t.count) }) }; } -function nfe() { - return /* @__PURE__ */ C(fX, { children: ({ angle: e }) => /* @__PURE__ */ C("div", { +function wpe() { + return /* @__PURE__ */ I(EZ, { children: ({ angle: e }) => /* @__PURE__ */ I("div", { className: "pointer-events-none whitespace-nowrap rounded bg-black/80 px-1.5 py-0.5 font-mono text-xs text-white", children: [e, "°"] }) }); } -const ofe = 12, rfe = 38; -function sfe() { - const e = st(), { touch: t } = Ir(), n = Uw("selection"), o = Gw(n); - return !n || !o ? null : /* @__PURE__ */ C(wU, { +const vpe = 12, kpe = 38; +function xpe() { + const e = it(), { touch: t } = Nr(), n = ov("selection"), o = cv(n); + return !n || !o ? null : /* @__PURE__ */ I(RK, { placement: "bottom", - gap: t ? rfe : ofe, - children: /* @__PURE__ */ C(uv, { + gap: t ? kpe : vpe, + children: /* @__PURE__ */ I(Ov, { bar: n, view: o, label: e("commands.selection.strip") }) }); } -const ife = 12; -function afe() { - const e = st(), t = Uw("snapshot"), n = Gw(t); - return !t || !n ? null : /* @__PURE__ */ C(Iz, { +const Ape = 12; +function Spe() { + const e = it(), t = ov("snapshot"), n = cv(t); + return !t || !n ? null : /* @__PURE__ */ I(UW, { placement: "bottom", - gap: ife, - children: /* @__PURE__ */ C(uv, { + gap: Ape, + children: /* @__PURE__ */ I(Ov, { bar: t, view: n, label: e("commands.snapshot.strip") }) }); } -const G6 = [ +const p5 = [ { titleKey: "shortcuts.document", areas: ["document"] @@ -59587,97 +60850,97 @@ const G6 = [ "outline" ] } -], Y6 = "shortcuts.other", cfe = /* @__PURE__ */ new Set([ +], h5 = "shortcuts.other", Ope = /* @__PURE__ */ new Set([ "selection", "annotation", "snapshot" -]), Q6 = (e) => e.split(":")[0] ?? e; -function lfe(e, t) { +]), g5 = (e) => e.split(":")[0] ?? e; +function Ppe(e, t) { const n = [...new Set(e.listShortcuts().map((r) => r.commandId))].flatMap((r) => { if (e.getRefusal(r, t)) return []; const s = e.resolveCommand(r, t); - return !s || s.shortcuts.length === 0 ? [] : !s.visible && !cfe.has(Q6(r)) ? [] : [{ + return !s || s.shortcuts.length === 0 ? [] : !s.visible && !Ope.has(g5(r)) ? [] : [{ commandId: r, label: s.label, shortcuts: s.shortcuts }]; - }), o = (r) => G6.find((s) => s.areas.includes(Q6(r.commandId)))?.titleKey ?? Y6; - return [...G6.map((r) => r.titleKey), Y6].map((r) => ({ + }), o = (r) => p5.find((s) => s.areas.includes(g5(r.commandId)))?.titleKey ?? h5; + return [...p5.map((r) => r.titleKey), h5].map((r) => ({ titleKey: r, rows: n.filter((s) => o(s) === r) })).filter((r) => r.rows.length > 0); } -const ufe = (e, t) => JSON.stringify(e) === JSON.stringify(t); -function dfe() { - const e = Jo(r_); - return e.isOpen ? /* @__PURE__ */ C(ffe, { onClose: e.close }) : null; +const Mpe = (e, t) => JSON.stringify(e) === JSON.stringify(t); +function Epe() { + const e = er(K_); + return e.isOpen ? /* @__PURE__ */ I(Cpe, { onClose: e.close }) : null; } -function ffe({ onClose: e }) { - const t = st(), n = Go(), o = xn(), r = tn() ?? void 0, s = wt(() => lfe(o, r), ufe), i = ql(); - return /* @__PURE__ */ C(tv, { +function Cpe({ onClose: e }) { + const t = it(), n = Go(), o = Pn(), r = an() ?? void 0, s = vt(() => Ppe(o, r), Mpe), a = Vl(); + return /* @__PURE__ */ I(mv, { labelledBy: n, onClose: e, className: "border-border bg-surface w-96 rounded-lg border p-4 shadow-xl", - children: /* @__PURE__ */ C("div", { + children: /* @__PURE__ */ I("div", { "data-epdf-shortcuts": "", - children: [/* @__PURE__ */ C("div", { + children: [/* @__PURE__ */ I("div", { className: "flex items-center justify-between gap-4", - children: [/* @__PURE__ */ C("h2", { + children: [/* @__PURE__ */ I("h2", { id: n, className: "text-fg text-base font-semibold", children: t("commands.shortcuts") - }), /* @__PURE__ */ C(P_, { + }), /* @__PURE__ */ I(pN, { label: t("panel.close"), onClick: e, className: "text-fg-muted hover:bg-hover hover:text-fg grid h-7 w-7 place-items-center rounded-md", - children: /* @__PURE__ */ C(nt, { + children: /* @__PURE__ */ I(ot, { name: "x", size: 16 }) })] - }), s.map((a) => /* @__PURE__ */ C("section", { + }), s.map((i) => /* @__PURE__ */ I("section", { className: "mt-4", - children: [/* @__PURE__ */ C("h3", { + children: [/* @__PURE__ */ I("h3", { className: "text-fg-muted text-xs font-semibold", - children: t(a.titleKey) - }), /* @__PURE__ */ C("dl", { + children: t(i.titleKey) + }), /* @__PURE__ */ I("dl", { className: "mt-1", - children: a.rows.map((c) => /* @__PURE__ */ C("div", { + children: i.rows.map((c) => /* @__PURE__ */ I("div", { "data-epdf-shortcut": "", className: "flex items-center justify-between gap-4 py-1 text-sm", - children: [/* @__PURE__ */ C("dt", { + children: [/* @__PURE__ */ I("dt", { className: "text-fg min-w-0 truncate", children: c.label - }), /* @__PURE__ */ C("dd", { + }), /* @__PURE__ */ I("dd", { className: "flex shrink-0 gap-1", - children: c.shortcuts.map((l) => /* @__PURE__ */ C("kbd", { + children: c.shortcuts.map((l) => /* @__PURE__ */ I("kbd", { className: "border-border-subtle bg-surface-alt text-fg-secondary rounded border px-1.5 py-0.5 font-sans text-xs", - children: Dw(l, { isMac: i }) + children: Zw(l, { isMac: a }) }, l)) })] }, c.commandId)) })] - }, a.titleKey))] + }, i.titleKey))] }) }); } -function pfe() { - return hW((e) => e.status), SE((e) => e.status), null; +function Ipe() { + return MU((e) => e.status), nC((e) => e.status), null; } -function hfe() { - const e = tse(); - return sd((t) => t.onTargetChanged, (t) => { +function _pe() { + const e = pae(); + return cd((t) => t.onTargetChanged, (t) => { t.field && e.open("signatures"); - }), sd((t) => t.onSignRequested, (t) => e.open("signature-sign", { + }), cd((t) => t.onSignRequested, (t) => e.open("signature-sign", { exclusive: "modal", props: { field: t.field, mark: t.mark } - })), sd((t) => t.onInspectionRequested, (t) => e.open("signature-inspector", { props: { field: t.field } })), sd((t) => t.onInvalidationPredicted, () => e.open("signatures")), null; + })), cd((t) => t.onInspectionRequested, (t) => e.open("signature-inspector", { props: { field: t.field } })), cd((t) => t.onInvalidationPredicted, () => e.open("signatures")), null; } -function gfe() { - const e = Xse(), t = kp((n) => n.documents.some((o) => o.hasUnsavedChanges)); +function Npe() { + const e = lie(), t = Op((n) => n.documents.some((o) => o.hasUnsavedChanges)); return Se(() => { if (!e || !t) return; const n = (o) => { @@ -59686,30 +60949,30 @@ function gfe() { return window.addEventListener("beforeunload", n), () => window.removeEventListener("beforeunload", n); }, [e, t]), null; } -function mfe({ name: e, onCancel: t, onClose: n }) { - const o = st(), r = Go(); - return /* @__PURE__ */ C(tv, { +function Tpe({ name: e, onCancel: t, onClose: n }) { + const o = it(), r = Go(); + return /* @__PURE__ */ I(mv, { labelledBy: r, onClose: t, className: "border-border bg-surface w-96 rounded-lg border p-4 shadow-xl", children: [ - /* @__PURE__ */ C("h2", { + /* @__PURE__ */ I("h2", { id: r, className: "text-fg text-base font-semibold", children: o("closeUnsaved.title") }), - /* @__PURE__ */ C("p", { + /* @__PURE__ */ I("p", { className: "text-fg-muted mt-2 text-sm", children: o("closeUnsaved.body", { params: { name: e } }) }), - /* @__PURE__ */ C("div", { + /* @__PURE__ */ I("div", { className: "mt-4 flex justify-end gap-2", - children: [/* @__PURE__ */ C("button", { + children: [/* @__PURE__ */ I("button", { type: "button", onClick: t, className: "border-border text-fg hover:bg-hover rounded-md border px-3 py-1.5 text-sm", children: o("closeUnsaved.cancel") - }), /* @__PURE__ */ C("button", { + }), /* @__PURE__ */ I("button", { type: "button", onClick: n, className: "rounded-md bg-red-600 px-3 py-1.5 text-sm text-white hover:bg-red-700", @@ -59719,22 +60982,22 @@ function mfe({ name: e, onCancel: t, onClose: n }) { ] }); } -function bfe({ visibility: e }) { - const { setActive: t, close: n } = i0(), { documents: o, activeId: r } = kp(), s = st(), [i, a] = ke(null); +function Rpe({ visibility: e }) { + const { setActive: t, close: n } = w0(), { documents: o, activeId: r } = Op(), s = it(), [a, i] = ke(null); if (!(e === "always" || e === "multiple" && o.length > 1)) return null; const c = (l, u) => { - l.hasUnsavedChanges ? a({ + l.hasUnsavedChanges ? i({ id: l.id, name: u }) : n(l.id); }; - return /* @__PURE__ */ C("div", { + return /* @__PURE__ */ I("div", { className: "bg-surface-alt flex items-end pr-2 pt-2", - children: [/* @__PURE__ */ C("div", { + children: [/* @__PURE__ */ I("div", { className: "flex flex-1 items-end overflow-x-auto pl-4", children: o.map((l) => { const u = r === l.id, f = l.name ?? s("tabs.untitled", { params: { id: l.id.slice(0, 8) } }); - return /* @__PURE__ */ C("div", { + return /* @__PURE__ */ I("div", { onClick: () => t(l.id), role: "tab", part: u ? "tab tab-active" : "tab", @@ -59745,46 +61008,46 @@ function bfe({ visibility: e }) { }, className: `group relative flex min-w-[120px] max-w-[240px] cursor-pointer items-center gap-2 rounded-t-lg px-4 py-2 text-sm font-medium transition-all ${u ? "bg-surface text-fg z-10" : "bg-surface-alt text-fg-secondary hover:bg-hover hover:text-fg"}`, children: [ - l.status === "loading" && /* @__PURE__ */ C("span", { + l.status === "loading" && /* @__PURE__ */ I("span", { className: "border-border-subtle border-t-accent h-3 w-3 flex-shrink-0 animate-spin rounded-full border", "aria-label": s("tabs.loading") }), - l.status === "locked" && /* @__PURE__ */ C(nt, { + l.status === "locked" && /* @__PURE__ */ I(ot, { name: "lock", size: 13, className: "text-fg-muted flex-shrink-0" }), - l.status === "error" && l.openRequest && /* @__PURE__ */ C(nt, { + l.status === "error" && l.openRequest && /* @__PURE__ */ I(ot, { name: "lock", size: 13, className: "text-fg-muted flex-shrink-0" }), - l.status === "error" && !l.openRequest && /* @__PURE__ */ C(lh, { - content: { label: s(Tb(l.error)) }, - children: (d) => /* @__PURE__ */ C("span", { + l.status === "error" && !l.openRequest && /* @__PURE__ */ I(hh, { + content: { label: s(Ub(l.error)) }, + children: (d) => /* @__PURE__ */ I("span", { ...d, className: "flex flex-shrink-0", role: "img", - "aria-label": s(Tb(l.error)), - children: /* @__PURE__ */ C(nt, { + "aria-label": s(Ub(l.error)), + children: /* @__PURE__ */ I(ot, { name: "alertTriangle", size: 13, className: "text-red-500" }) }) }), - /* @__PURE__ */ C("span", { + /* @__PURE__ */ I("span", { className: "min-w-0 flex-1 truncate", children: f }), - u && o.length > 1 && /* @__PURE__ */ C("button", { + u && o.length > 1 && /* @__PURE__ */ I("button", { type: "button", onClick: (d) => { d.stopPropagation(), c(l, f); }, "aria-label": s("tabs.close", { params: { name: f } }), className: "hover:bg-hover flex-shrink-0 cursor-pointer rounded-full p-1 opacity-100 transition-all", - children: /* @__PURE__ */ C(nt, { + children: /* @__PURE__ */ I(ot, { name: "x", size: 14 }) @@ -59792,288 +61055,300 @@ function bfe({ visibility: e }) { ] }, l.id); }) - }), i && /* @__PURE__ */ C(mfe, { - name: i.name, - onCancel: () => a(null), + }), a && /* @__PURE__ */ I(Tpe, { + name: a.name, + onCancel: () => i(null), onClose: () => { - a(null), n(i.id); + i(null), n(a.id); } })] }); } -const yd = 40, vN = { +const kd = 40, uT = { x: 8, y: 28 -}, Yd = "#1a1a1a", ol = "#ffffff", yfe = "#34a853"; -function wfe(e, t, n) { - const o = p_(e, n); +}, Qd = "#1a1a1a", nl = "#ffffff", Lpe = "#34a853"; +function jpe(e, t, n) { + const o = J_(e, n); if (!o) return null; const r = [], s = []; - for (const i of o) { - const a = typeof i == "string" ? { - d: i, + for (const a of o) { + const i = typeof a == "string" ? { + d: a, fill: void 0, stroke: void 0 - } : i, c = a.fill === !0 ? Yd : a.fill ? t?.[a.fill] : void 0, l = a.stroke ? t?.[a.stroke] ?? Yd : a.fill ? "none" : Yd; - r.push(``); + } : a, c = i.fill === !0 ? Qd : i.fill ? t?.[i.fill] : void 0, l = i.stroke ? t?.[i.stroke] ?? Qd : i.fill ? "none" : Qd; + r.push(``); const u = [ - ["stroke-width", a.strokeWidth], - ["stroke-dasharray", a.strokeDasharray], - ["stroke-opacity", a.strokeOpacity], - ["fill-opacity", a.fillOpacity] + ["stroke-width", i.strokeWidth], + ["stroke-dasharray", i.strokeDasharray], + ["stroke-opacity", i.strokeOpacity], + ["fill-opacity", i.fillOpacity] ].filter(([, f]) => f !== void 0).map(([f, d]) => `${f}="${d}"`).join(" "); - s.push(``); + s.push(``); } return r.join("") + s.join(""); } -const xc = (e, t, n, o) => ``; -function vfe(e) { - const { x: t, y: n } = vN; - return e === "crosshair" ? xc(t, n - 6, t, n + 6) + xc(t - 6, n, t + 6, n) : e === "ibeam" ? xc(t, n - 6.5, t, n + 6.5) + xc(t - 2.5, n - 6.5, t + 2.5, n - 6.5) + xc(t - 2.5, n + 6.5, t + 2.5, n + 6.5) : ``; +const kc = (e, t, n, o) => ``; +function Fpe(e) { + const { x: t, y: n } = uT; + return e === "crosshair" ? kc(t, n - 6, t, n + 6) + kc(t - 6, n, t + 6, n) : e === "ibeam" ? kc(t, n - 6.5, t, n + 6.5) + kc(t - 2.5, n - 6.5, t + 2.5, n - 6.5) + kc(t - 2.5, n + 6.5, t + 2.5, n + 6.5) : ``; } -function kfe(e, t, n, o) { - const r = wfe(t, n, o); - return `` + vfe(e) + (r ? `${r}` : "") + ""; +function Dpe(e, t, n, o) { + const r = jpe(t, n, o); + return `` + Fpe(e) + (r ? `${r}` : "") + ""; } -const xfe = { +const $pe = { crosshair: "crosshair", text: "ibeam", copy: "plus" }; -function Afe() { - const e = ZW((i) => i.activeToolId) ?? "pointer", t = EX(e), n = u_(), o = OX().tools.get(e)?.ghost ? void 0 : pa[e], r = (i) => t[i] ?? void 0, s = o?.accent ? { +function Bpe() { + const e = pK((a) => a.activeToolId) ?? "pointer", t = KZ(e), n = Q_(), o = WZ().tools.get(e)?.ghost ? void 0 : pi[e], r = (a) => t[a] ?? void 0, s = o?.accent ? { primary: r(o.accent.primary), secondary: o.accent.secondary ? r(o.accent.secondary) : void 0 } : void 0; - return JW(o ? { + return hK(o ? { toolId: e, - cursors: Object.fromEntries(Object.entries(xfe).map(([i, a]) => [i, { - svg: kfe(a, o.icon, s, n), - hotspot: vN + cursors: Object.fromEntries(Object.entries($pe).map(([a, i]) => [a, { + svg: Dpe(i, o.icon, s, n), + hotspot: uT }])) } : null), null; } -const Sfe = () => Jo("redact-confirm").isOpen, Pfe = () => YZ((e) => e.calibrationRequest !== null), Ofe = () => Jo("signature-sign").isOpen, Mfe = () => Jo("signature-maker").isOpen, Efe = () => Jo("signature-inspector").isOpen, Cfe = () => Jo("print").isOpen, Ife = Nt(() => import("./redact-confirm-C0AI8Tbt-BKs7oimi.js").then((e) => e.RedactConfirmModal), { shownWhile: Sfe }), _fe = Nt(() => import("./measurement-DZOOYxOT-DZDR7o1H.js").then((e) => e.CalibrationDialog), { shownWhile: Pfe }), Nfe = Nt(() => import("./sign-dialog-DETgmjof-B_Wtujza.js").then((e) => e.SignDialog), { shownWhile: Ofe }), Tfe = Nt(() => import("./signature-maker-DmqserJG-CYqKZLra.js").then((e) => e.SignatureMakerModal), { shownWhile: Mfe }), Rfe = Nt(() => import("./signature-inspector-DkpEvdof-z1l1Wzls.js").then((e) => e.SignatureInspector), { shownWhile: Efe }), Lfe = Nt(() => import("./print-dialog-Bloq0P0B-DsjwXVbZ.js").then((e) => e.PrintDialog), { shownWhile: Cfe }), jfe = () => Jo(e_).isOpen, X6 = Nt(() => import("./grant-prompt-BDEos2cl-rK3RzVh7.js").then((e) => e.GrantPrompt), { prefetch: !1 }), Ffe = () => mf((e) => e.identityRequest !== void 0), Dfe = Nt(() => import("./grant-prompt-BDEos2cl-rK3RzVh7.js").then((e) => e.VisitorIdentityDialog), { - shownWhile: Ffe, +const zpe = () => er("redact-confirm").isOpen, Wpe = () => iee((e) => e.calibrationRequest !== null), Upe = () => er("signature-sign").isOpen, Kpe = () => er("signature-maker").isOpen, qpe = () => er("signature-inspector").isOpen, Hpe = () => er("print").isOpen, Vpe = jt(() => import("./redact-confirm-C0AI8Tbt-DkVNXVHu.js").then((e) => e.RedactConfirmModal), { shownWhile: zpe }), Gpe = jt(() => import("./measurement-6M_KEsFK-Bvj4oM5j.js").then((e) => e.CalibrationDialog), { shownWhile: Wpe }), Ype = jt(() => import("./sign-dialog-DETgmjof-BYRrkPq_.js").then((e) => e.SignDialog), { shownWhile: Upe }), Qpe = jt(() => import("./signature-maker-CnLiLraV-BTRLVmex.js").then((e) => e.SignatureMakerModal), { shownWhile: Kpe }), Xpe = jt(() => import("./signature-inspector-PcOYwkvA-NZGZH_BY.js").then((e) => e.SignatureInspector), { shownWhile: qpe }), Zpe = jt(() => import("./print-dialog-Cx4W9E8--k4Pf50tT.js").then((e) => e.PrintDialog), { shownWhile: Hpe }), Jpe = () => er(B_).isOpen, m5 = jt(() => import("./grant-prompt-Co4bzHaR-Cd5zAJXq.js").then((e) => e.GrantPrompt), { prefetch: !1 }), ehe = () => bf((e) => e.identityRequest !== void 0), the = jt(() => import("./grant-prompt-Co4bzHaR-Cd5zAJXq.js").then((e) => e.VisitorIdentityDialog), { + shownWhile: ehe, prefetch: !1 -}), $fe = Nt(() => import("./outline-properties-Fm45njZA-BlMJu-4C.js").then((e) => e.OutlinePropertiesDialog), { shownWhile: jfe }); -function Bfe() { - const e = Soe(tr().data); - return e === "never" ? null : /* @__PURE__ */ C("slot", { +}), nhe = jt(() => import("./outline-properties-D8sxr4I4-4vueiSIZ.js").then((e) => e.OutlinePropertiesDialog), { shownWhile: Jpe }); +function ohe() { + const e = $re(nr().data); + return e === "never" ? null : /* @__PURE__ */ I("slot", { name: "tabs", - children: /* @__PURE__ */ C(bfe, { visibility: e }) + children: /* @__PURE__ */ I(Rpe, { visibility: e }) }); } -function zfe() { - const e = st(); - return /* @__PURE__ */ C("div", { +function rhe() { + const e = it(); + return /* @__PURE__ */ I("div", { className: "grid h-full w-full place-items-center", - children: /* @__PURE__ */ C("div", { + children: /* @__PURE__ */ I("div", { className: "text-fg-muted flex flex-col items-center gap-3", - children: [/* @__PURE__ */ C("div", { className: "border-border-subtle border-t-accent h-8 w-8 animate-spin rounded-full border-2" }), /* @__PURE__ */ C("div", { + children: [/* @__PURE__ */ I("div", { className: "border-border-subtle border-t-accent h-8 w-8 animate-spin rounded-full border-2" }), /* @__PURE__ */ I("div", { className: "text-sm", children: e("demo.opening") })] }) }); } -function Wfe({ children: e }) { - const t = tn(), n = mf((r) => r.status), o = mf((r) => r.openRequest !== void 0); - return t === null ? /* @__PURE__ */ C("div", { +function she({ children: e }) { + const t = an(), n = bf((r) => r.status), o = bf((r) => r.openRequest !== void 0); + return t === null ? /* @__PURE__ */ I("div", { className: "min-w-0 flex-1 overflow-auto", - children: /* @__PURE__ */ C("slot", { name: "empty" }) - }) : n === "locked" ? /* @__PURE__ */ C(Jue, {}, t) : n === "error" ? o ? /* @__PURE__ */ C(X6, {}, t) : /* @__PURE__ */ C(ede, {}, t) : /* @__PURE__ */ C(oB, { - fallback: /* @__PURE__ */ C(zfe, {}), - children: [e, o && /* @__PURE__ */ C("div", { + children: /* @__PURE__ */ I("slot", { name: "empty" }) + }) : n === "locked" ? /* @__PURE__ */ I(mfe, {}, t) : n === "error" ? o ? /* @__PURE__ */ I(m5, {}, t) : /* @__PURE__ */ I(bfe, {}, t) : /* @__PURE__ */ I(d9, { + fallback: /* @__PURE__ */ I(rhe, {}), + children: [e, o && /* @__PURE__ */ I("div", { className: "absolute inset-0 z-40", - children: /* @__PURE__ */ C(X6, {}, t) + children: /* @__PURE__ */ I(m5, {}, t) })] }); } -function Ufe({ children: e }) { - const { dir: t } = Ir(); - return /* @__PURE__ */ C("div", { +function ahe({ children: e }) { + const { dir: t } = Nr(); + return /* @__PURE__ */ I("div", { dir: t, className: "contents", children: e }); } -function Kfe({ components: e }) { - const t = tfe(), n = me(null); - return _re({ +function ihe({ components: e }) { + const t = ype(), n = ye(null); + return Use({ target: n, onRefused: t.onShortcutRefused - }), PX(), ile(), /* @__PURE__ */ C(Te, { children: [/* @__PURE__ */ C(Kue, {}), /* @__PURE__ */ C(gue, { + }), zZ(), Iue(), /* @__PURE__ */ I(Re, { children: [/* @__PURE__ */ I(ife, {}), /* @__PURE__ */ I(Nde, { rootRef: n, className: "bg-app text-fg flex h-full flex-col outline-none", children: [ - e && /* @__PURE__ */ C(Jde, { components: e }), - /* @__PURE__ */ C(Cie, {}), - /* @__PURE__ */ C(gfe, {}), - /* @__PURE__ */ C("slot", { name: "header" }), - /* @__PURE__ */ C(Bfe, {}), - /* @__PURE__ */ C(gd, { edge: "top" }), - /* @__PURE__ */ C("div", { + e && /* @__PURE__ */ I(mpe, { components: e }), + /* @__PURE__ */ I(Zie, {}), + /* @__PURE__ */ I(Npe, {}), + /* @__PURE__ */ I("slot", { name: "header" }), + /* @__PURE__ */ I(ohe, {}), + /* @__PURE__ */ I(yd, { edge: "top" }), + /* @__PURE__ */ I("div", { className: "relative flex min-h-0 flex-1", children: [ t.element, - /* @__PURE__ */ C(gd, { edge: "start" }), - /* @__PURE__ */ C(tde, { + /* @__PURE__ */ I(yd, { edge: "start" }), + /* @__PURE__ */ I(yfe, { className: "relative flex min-w-0 flex-1", - children: /* @__PURE__ */ C(Wfe, { children: [ - /* @__PURE__ */ C(H6, { side: "start" }), - /* @__PURE__ */ C("div", { + children: /* @__PURE__ */ I(she, { children: [ + /* @__PURE__ */ I(d5, { side: "start" }), + /* @__PURE__ */ I("div", { className: "relative min-w-0 flex-1", children: [ - /* @__PURE__ */ C(Afe, {}), - /* @__PURE__ */ C(kU, { + /* @__PURE__ */ I(Bpe, {}), + /* @__PURE__ */ I(jK, { target: n, onRefused: t.onCopyRefused }), - /* @__PURE__ */ C(iE, { - overlay: /* @__PURE__ */ C(Ufe, { children: [ - /* @__PURE__ */ C(jue, {}), - /* @__PURE__ */ C(Zue, {}), - /* @__PURE__ */ C(nfe, {}), - /* @__PURE__ */ C(sfe, {}), - /* @__PURE__ */ C(afe, {}), - /* @__PURE__ */ C(Rfe, {}), - /* @__PURE__ */ C(vU, {}), - /* @__PURE__ */ C(Dm, { axis: "y" }), - /* @__PURE__ */ C(Dm, { axis: "x" }) + /* @__PURE__ */ I(DE, { + overlay: /* @__PURE__ */ I(ahe, { children: [ + /* @__PURE__ */ I(Jde, {}), + /* @__PURE__ */ I(gfe, {}), + /* @__PURE__ */ I(wpe, {}), + /* @__PURE__ */ I(xpe, {}), + /* @__PURE__ */ I(Spe, {}), + /* @__PURE__ */ I(Xpe, {}), + /* @__PURE__ */ I(LK, {}), + /* @__PURE__ */ I(Hm, { axis: "y" }), + /* @__PURE__ */ I(Hm, { axis: "x" }) ] }), className: "h-full w-full", style: { background: "var(--epdf-canvas)", direction: "ltr" }, - children: () => /* @__PURE__ */ C(Te, { children: [ - /* @__PURE__ */ C(dE, {}), - /* @__PURE__ */ C(hN, {}), - /* @__PURE__ */ C(yU, {}), - /* @__PURE__ */ C(xle, {}), - /* @__PURE__ */ C(kne, {}), - /* @__PURE__ */ C(AX, {}), - /* @__PURE__ */ C(Cte, {}), - /* @__PURE__ */ C(_z, {}) + children: () => /* @__PURE__ */ I(Re, { children: [ + /* @__PURE__ */ I(UE, {}), + /* @__PURE__ */ I(rT, {}), + /* @__PURE__ */ I(TK, {}), + /* @__PURE__ */ I(Hue, {}), + /* @__PURE__ */ I(joe, {}), + /* @__PURE__ */ I($Z, {}), + /* @__PURE__ */ I(Kne, {}), + /* @__PURE__ */ I(KW, {}) ] }) }) ] }), - /* @__PURE__ */ C(H6, { side: "end" }), - /* @__PURE__ */ C(Ife, {}), - /* @__PURE__ */ C(_fe, {}), - /* @__PURE__ */ C(nde, {}), - /* @__PURE__ */ C(Lfe, {}), - /* @__PURE__ */ C($fe, {}), - /* @__PURE__ */ C(dfe, {}), - /* @__PURE__ */ C(hfe, {}), - /* @__PURE__ */ C(pfe, {}), - /* @__PURE__ */ C(Yue, {}), - /* @__PURE__ */ C(Nfe, {}), - /* @__PURE__ */ C(Tfe, {}), - /* @__PURE__ */ C(Dfe, {}) + /* @__PURE__ */ I(d5, { side: "end" }), + /* @__PURE__ */ I(Vpe, {}), + /* @__PURE__ */ I(Gpe, {}), + /* @__PURE__ */ I(wfe, {}), + /* @__PURE__ */ I(Zpe, {}), + /* @__PURE__ */ I(nhe, {}), + /* @__PURE__ */ I(Epe, {}), + /* @__PURE__ */ I(_pe, {}), + /* @__PURE__ */ I(Ipe, {}), + /* @__PURE__ */ I(ffe, {}), + /* @__PURE__ */ I(Ype, {}), + /* @__PURE__ */ I(Qpe, {}), + /* @__PURE__ */ I(the, {}) ] }) }), - /* @__PURE__ */ C(gd, { edge: "end" }) + /* @__PURE__ */ I(yd, { edge: "end" }) ] }), - /* @__PURE__ */ C(gd, { edge: "bottom" }), - /* @__PURE__ */ C("slot", { name: "footer" }) + /* @__PURE__ */ I(yd, { edge: "bottom" }), + /* @__PURE__ */ I("slot", { name: "footer" }) ] })] }); } -function qfe({ slot: e, onReady: t, onDocumentChange: n }) { - const o = Mr(); - return Ne(() => { +function che({ slot: e, onReady: t, onDocumentChange: n }) { + const o = Cr(); + return _e(() => { const r = e.attach(o); if (t?.(r), n) { - r.watch(() => r.documents.getActiveId(), (i) => n(i)); + r.watch(() => r.documents.getActiveId(), (a) => n(a)); const s = r.documents.getActiveId(); s !== null && n(s); } return () => e.release(o); }, [o]), null; } -const Z6 = (e, t) => e.length === t.length && e.every((n, o) => n === t[o]); -function kN(e, t, n) { - const o = nae(e, t), r = oae(e, t), s = (i, a) => a?.length ? [.../* @__PURE__ */ new Set([...i, ...a])] : i; +const b5 = /* @__PURE__ */ new Set(), y5 = (e, t) => e.length === t.length && e.every((n, o) => n === t[o]); +function dT(e, t, n) { + const o = Pce(e, t), r = Mce(e, t), s = (a, i) => i?.length ? [.../* @__PURE__ */ new Set([...a, ...i])] : a; return { disabled: { disabledCategories: s(o.disabledCategories, n.commands?.disabledCategories), disabledCommands: s(o.disabledCommands, n.commands?.disabledCommands) }, byHand: { - editable: m6(r.editable, n.annotation?.editable ?? !0), - fillable: m6(r.fillable, n.form?.fillable ?? !0) - } - }; -} -function Hfe({ registered: e, settings: t, locale: n, disable: o, readOnly: r, appState: s }) { - const i = Mr(), a = me(e); - return Ne(() => { - const { disabled: c, byHand: l } = kN(o, r, t), u = a.current; - a.current = { - locale: n, - disabled: c, - byHand: l, - appState: s - }, Object.is(u.appState, s) || i.capability(zn).updateSettings({ appState: s }), b6(u.byHand.editable, l.editable) || i.settingsOf(Qe).updateSettings({ editable: l.editable }), b6(u.byHand.fillable, l.fillable) || i.settingsOf(Ao).updateSettings({ fillable: l.fillable }), (!Z6(u.disabled.disabledCategories, c.disabledCategories) || !Z6(u.disabled.disabledCommands, c.disabledCommands)) && i.capability(zn).updateSettings(c), u.locale !== n && i.capability(Cn).setLocale(n).catch(() => { + editable: D6(n.annotation?.editable ?? !0, r.editable), + fillable: D6(n.form?.fillable ?? !0, r.fillable) + } + }; +} +function lhe({ registered: e, settings: t, yours: n, locale: o, features: r, disable: s, readOnly: a, appState: i }) { + const c = Cr(), l = ye(e); + return _e(() => { + const { disabled: u, byHand: f } = dT({ + features: r, + disable: s, + readOnly: a + }, n, t), d = l.current; + l.current = { + locale: o, + disabled: u, + byHand: f, + appState: i + }, Object.is(d.appState, i) || c.capability(Bn).updateSettings({ appState: i }), $6(d.byHand.editable, f.editable) || c.settingsOf(Qe).updateSettings({ editable: f.editable }), $6(d.byHand.fillable, f.fillable) || c.settingsOf(xo).updateSettings({ fillable: f.fillable }), (!y5(d.disabled.disabledCategories, u.disabledCategories) || !y5(d.disabled.disabledCommands, u.disabledCommands)) && c.capability(Bn).updateSettings(u), d.locale !== o && c.capability(Yo).setLocale(o).catch(() => { }); }), null; } -function Vfe() { - return /* @__PURE__ */ C("div", { +function uhe() { + return /* @__PURE__ */ I("div", { className: "bg-app text-fg-muted grid h-full place-items-center", - children: /* @__PURE__ */ C("div", { + children: /* @__PURE__ */ I("div", { className: "animate-pulse text-sm", - children: st()("demo.starting") + children: it()("demo.starting") }) }); } -function J6({ engine: e, initialDocuments: t, fetch: n, fallback: o, commands: r, appState: s, icons: i, strings: a, locale: c = "auto", disable: l, readOnly: u, scope: f, identity: d, notAllowed: p, layout: h, size: g, touch: m, plugins: M, fonts: x, warnBeforeLeaving: S, theme: P, themeTarget: k, components: A, onReady: y, onDocumentChange: w, onPanelResize: O }) { - const [b] = ke(L_), [v] = ke(() => { - const _ = Kle(M), { locales: N, loaders: F, codes: R } = Tle(a), j = _.settings.i18n?.fallbackLocale, B = Mle(j, R), W = B === null ? [`the viewer has no language "${j}" to fall back to, so it falls back to English: give its words in \`strings\``] : [], $ = { ...rv }; - for (const { name: J, plugin: ue } of _.own) ue.token && ($[J] = ue.token); - const K = $le($), ee = new Set(o6.map((J) => J.id)); +function w5({ engine: e, initialDocuments: t, fetch: n, fallback: o, commands: r, appState: s, icons: a, strings: i, locale: c = "auto", features: l, disable: u, readOnly: f, scope: d, identity: p, notAllowed: g, layout: h, size: m, touch: O, plugins: E, fonts: P, warnBeforeLeaving: k, theme: A, themeTarget: w, components: b, onReady: v, onDocumentChange: x, onPanelResize: y }) { + const [M] = ke(ON), [S] = ke(() => { + const T = ide(E), { locales: $, loaders: j, codes: z } = Eie(i), L = T.settings.i18n?.fallbackLocale, D = xie(L, z), F = D === null ? [`the viewer has no language "${L}" to fall back to, so it falls back to English: give its words in \`strings\``] : [], B = { ...wv }; + for (const { name: me, plugin: Ae } of T.own) Ae.token && (B[me] = Ae.token); + const V = nde(B), Q = new Set(x6.map((me) => me.id)), le = sie([...x6, ...Xae(T.settings.annotation?.tools ?? [], (me) => Q.has(me))], r ?? [], { + plugins: B, + viewer: V.current + }, { isMac: Vl() }), pe = (r ?? []).flatMap((me) => me.categories ?? []); return { - slot: K, - viewerCommands: Vse([...o6, ...$se(_.settings.annotation?.tools ?? [], (J) => ee.has(J))], r ?? [], { - plugins: $, - viewer: K.current - }, { isMac: ql() }), + slot: V, + viewerCommands: le, layout: h, - size: g, - touch: m, - icons: i ?? {}, - stamp: _.viewer.stamp, - signature: _.viewer.signature, - fonts: x ?? [], - warnBeforeLeaving: S !== !1, - onPanelResize: O, + size: m, + touch: O, + icons: a ?? {}, + stamp: T.viewer.stamp, + signature: T.viewer.signature, + fonts: P ?? [], + warnBeforeLeaving: k !== !1, + onPanelResize: y, i18n: { - locales: N, - loaders: F, - codes: R, - fallback: B ?? "en", - initial: _6(c, R, B ?? "en") + locales: $, + loaders: j, + codes: z, + fallback: D ?? "en", + initial: M6(c, z, D ?? "en") }, plugins: { - ..._, - problems: [..._.problems, ...W] + ...T, + problems: [...T.problems, ...F] }, - tokens: $, - ...kN(l, u, _.settings), + tokens: B, + yourCategories: pe, + ...dT({ + features: l, + disable: u, + readOnly: f + }, pe, T.settings), appState: s }; }); Se(() => { - }, [v]), Se(() => { - for (const _ of v.plugins.problems) console.warn(`[embedpdf] plugins: ${_}`); - }, [v]); - const { settings: E } = v.plugins, [I] = ke(() => [ - hx(R6({ layout: "vertical" }, E.stage)), - hx({ + }, [S]), Se(() => { + for (const T of S.plugins.problems) console.warn(`[embedpdf] plugins: ${T}`); + }, [S]), Se(() => { + for (const T of Oce(l, S.yourCategories)) + b5.has(T) || (b5.add(T), console.warn(`[embedpdf] features: no feature or part is called "${T}"`)); + }, [l, S]); + const { settings: C } = S.plugins, [N] = ke(() => [ + Ix(J6({ layout: "vertical" }, C.stage)), + Ix({ layout: "grid", columns: "auto", sizing: "uniform", @@ -60094,21 +61369,21 @@ function J6({ engine: e, initialDocuments: t, fetch: n, fallback: o, commands: r scrollBehavior: "instant", interaction: !1, zoomGestures: !1, - ...E.thumbnails, + ...C.thumbnails, id: "stage-thumbs", - token: nl + token: tl }), - vz(E.render), - Fz(), - Sce(), - xce(), - fW(), - DW(), - GW(E.interaction), - XW({ provider: cD }), - fU(E.selection), - aX({ - ...E.annotation, + TW(C.render), + QW(), + Gle(), + Hle(), + OU(), + JU(), + lK(C.interaction), + fK({ provider: m$ }), + MK(C.selection), + AZ({ + ...C.annotation, tools: [ { id: "square", @@ -60138,104 +61413,110 @@ function J6({ engine: e, initialDocuments: t, fetch: n, fallback: o, commands: r accept: "image/png,image/jpeg" } }, - ...E.annotation?.tools ?? [] + ...C.annotation?.tools ?? [] ], - editable: v.byHand.editable + editable: S.byHand.editable }), - Wre(), - fZ({ - fonts: hce(v.signature.fonts), - ...E.stamp + eae(), + EJ({ + fonts: Dle(S.signature.fonts), + ...C.stamp }), - sle(R6({ javascript: { enabled: !0 } }, E.actions)), - pte({ - ...E.form, - fillable: v.byHand.fillable + Cue(J6({ javascript: { enabled: !0 } }, C.actions)), + Ene({ + ...C.form, + fillable: S.byHand.fillable }), - lne(E.signature), - yne(), - mJ(E.redaction), - VZ(E.measurement), - vle(E.search), - zne({ - locale: v.i18n.initial, - fallbackLocale: v.i18n.fallback, - locales: v.i18n.locales, - loaders: v.i18n.loaders + Soe(C.signature), + Toe(), + Eee(C.redaction), + see(C.measurement), + Kue(C.search), + nre({ + locale: S.i18n.initial, + fallbackLocale: S.i18n.fallback, + locales: S.i18n.locales, + loaders: S.i18n.loaders }), - xre({ - ...E.commands, - commands: [...v.viewerCommands.commands, ...E.commands?.commands ?? []], - ...v.appState === void 0 ? {} : { appState: v.appState }, - ...v.disabled, - ...p ? { notAllowed: p } : {} + Rse({ + ...C.commands, + commands: [...S.viewerCommands.commands, ...C.commands?.commands ?? []], + ...S.appState === void 0 ? {} : { appState: S.appState }, + ...S.disabled, + ...g ? { notAllowed: g } : {} }), - Jre(), - ...v.plugins.own.map(({ plugin: _ }) => _) - ]), T = v; - return /* @__PURE__ */ C(ice, { - preference: J_(P).preference, - target: k, - children: /* @__PURE__ */ C(iB, { + dae(), + ...S.plugins.own.map(({ plugin: T }) => T) + ]), _ = S; + return /* @__PURE__ */ I(Ile, { + preference: UN(A).preference, + target: w, + children: /* @__PURE__ */ I(h9, { engine: e, - plugins: I, + plugins: N, initialDocuments: t, fetch: n, - scope: f, - identity: d, - fallback: o ?? /* @__PURE__ */ C(Vfe, {}), - onReady: (_) => void v.slot.attach(_), - children: /* @__PURE__ */ C(Gse, { - value: T, + scope: d, + identity: p, + fallback: o ?? /* @__PURE__ */ I(uhe, {}), + onReady: (T) => void S.slot.attach(T), + children: /* @__PURE__ */ I(aie, { + value: _, children: [ - /* @__PURE__ */ C(Hfe, { + /* @__PURE__ */ I(lhe, { registered: { - locale: v.i18n.initial, - disabled: v.disabled, - byHand: v.byHand, - appState: v.appState + locale: S.i18n.initial, + disabled: S.disabled, + byHand: S.byHand, + appState: S.appState }, - settings: E, - locale: _6(c, v.i18n.codes, v.i18n.fallback), - disable: l, - readOnly: u, + settings: C, + yours: S.yourCategories, + locale: M6(c, S.i18n.codes, S.i18n.fallback), + features: l, + disable: u, + readOnly: f, appState: s }), - /* @__PURE__ */ C(qfe, { - slot: v.slot, - onReady: y, - onDocumentChange: w + /* @__PURE__ */ I(che, { + slot: S.slot, + onReady: v, + onDocumentChange: x }), - /* @__PURE__ */ C(xae, { - value: b, - children: /* @__PURE__ */ C(Kfe, { components: A }) + /* @__PURE__ */ I(Hce, { + value: M, + children: /* @__PURE__ */ I(Cie, { + locale: c, + children: /* @__PURE__ */ I(ihe, { components: b }) + }) }) ] }) }) }); } -const Gfe = /* @__PURE__ */ new Set([ +const dhe = /* @__PURE__ */ new Set([ "src", "theme", "locale", + "features", "disable", "readOnly", "fetch", "appState" -]), Yfe = (e) => Gfe.has(e), e5 = (e) => { +]), fhe = (e) => dhe.has(e), v5 = (e) => { if (typeof e != "object" || e === null) return !1; const t = Object.getPrototypeOf(e); return t === Object.prototype || t === null; }; -function Lb(e, t) { - return Object.is(e, t) ? !0 : Array.isArray(e) && Array.isArray(t) ? e.length === t.length && e.every((n, o) => Lb(n, t[o])) : e5(e) && e5(t) ? [.../* @__PURE__ */ new Set([...Object.keys(e), ...Object.keys(t)])].every((o) => Lb(e[o], t[o])) : !1; +function qb(e, t) { + return Object.is(e, t) ? !0 : Array.isArray(e) && Array.isArray(t) ? e.length === t.length && e.every((n, o) => qb(n, t[o])) : v5(e) && v5(t) ? [.../* @__PURE__ */ new Set([...Object.keys(e), ...Object.keys(t)])].every((o) => qb(e[o], t[o])) : !1; } -function Qfe(e, t) { +function phe(e, t) { const n = e, o = t; - return [.../* @__PURE__ */ new Set([...Object.keys(n), ...Object.keys(o)])].filter((s) => !Lb(n[s], o[s])); + return [.../* @__PURE__ */ new Set([...Object.keys(n), ...Object.keys(o)])].filter((s) => !qb(n[s], o[s])); } -function Xfe(e, t) { +function hhe(e, t) { if (!e) return t; const n = { ...e }; for (const [o, r] of Object.entries(t ?? {})) { @@ -60244,73 +61525,73 @@ function Xfe(e, t) { } return n; } -const gh = (e) => typeof e == "object" && "kind" in e, Zfe = (e) => typeof e == "string" || e instanceof ArrayBuffer || e instanceof Uint8Array || typeof Blob < "u" && e instanceof Blob; -function Jfe(e) { +const vh = (e) => typeof e == "object" && "kind" in e, ghe = (e) => typeof e == "string" || e instanceof ArrayBuffer || e instanceof Uint8Array || typeof Blob < "u" && e instanceof Blob; +function mhe(e) { return (typeof e == "string" ? decodeURIComponent(e.split("?")[0].split("/").pop() ?? "") : typeof File < "u" && e instanceof File ? e.name : "").replace(/\.pdf$/i, "") || "Document"; } -const xN = (e) => typeof e == "string" ? e : gh(e) ? "id" in e && typeof e.id == "string" ? e.id : "document" : typeof File < "u" && e instanceof File ? e.name : "document"; -function AN(e, t, n = Promise.resolve()) { - if (gh(e)) +const fT = (e) => typeof e == "string" ? e : vh(e) ? "id" in e && typeof e.id == "string" ? e.id : "document" : typeof File < "u" && e instanceof File ? e.name : "document"; +function pT(e, t, n = Promise.resolve()) { + if (vh(e)) return { source: async () => (await n, e) }; - if (!Zfe(e)) + if (!ghe(e)) return { source: async () => { - throw new Z("invalid-input", "documents", "this viewer can't open that document"); + throw new te("invalid-input", "documents", "this viewer can't open that document"); } }; - const o = Jfe(e); + const o = mhe(e); return typeof e == "string" ? { name: o, source: async () => ({ kind: "url", url: e, id: t }) } : { name: o, source: async () => { const r = e instanceof Blob ? new Uint8Array(await e.arrayBuffer()) : new Uint8Array(e); - if (!qO(r)) throw new Z("invalid-input", "documents", `${o} isn't a PDF`); + if (!kM(r)) throw new te("invalid-input", "documents", `${o} isn't a PDF`); return { kind: "bytes", id: t, bytes: r }; } }; } -function epe(e, t = (n) => n) { +function bhe(e, t = (n) => n) { const n = /* @__PURE__ */ new Set(), o = (r) => { let s = r; - for (let i = 2; n.has(s); i++) s = `${r}#${i}`; + for (let a = 2; n.has(s); a++) s = `${r}#${a}`; return n.add(s), s; }; - return e.map(({ src: r, name: s, password: i, active: a }) => { + return e.map(({ src: r, name: s, password: a, active: i }) => { const c = t(r); return { - ...gh(c) ? { source: c } : AN(c, o(xN(c))), + ...vh(c) ? { source: c } : pT(c, o(fT(c))), ...s !== void 0 ? { name: s } : {}, - ...i !== void 0 ? { password: i } : {}, - ...a ? { active: a } : {} + ...a !== void 0 ? { password: a } : {}, + ...i ? { active: i } : {} }; }); } -function tpe(e, t) { +function yhe(e, t) { if (!t) return e; const n = { ...e }; for (const [o, r] of Object.entries(t)) r !== void 0 && (n[o] = r); return n; } -function npe(e) { +function whe(e) { const t = {}, n = e.getAttribute("src"), o = e.getAttribute("locale"), r = e.getAttribute("theme"); return n && (t.src = n), o && (t.locale = o), (r === "light" || r === "dark" || r === "system") && (t.theme = r), t; } -const ope = '/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-green-600:oklch(62.7% .194 149.214);--color-black:#000;--color-white:#fff;--spacing:4px;--container-sm:384px;--text-xs:12px;--text-xs--line-height:calc(1/.75);--text-sm:14px;--text-sm--line-height:calc(1.25/.875);--text-base:16px;--text-base--line-height: 1.5 ;--text-lg:18px;--text-lg--line-height:calc(1.75/1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-normal:0em;--tracking-wide:.025em;--ease-out:cubic-bezier(0,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-1{inset:calc(var(--spacing)*1)}.inset-2{inset:calc(var(--spacing)*2)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-x-2{inset-inline:calc(var(--spacing)*2)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.inset-y-1{inset-block:calc(var(--spacing)*1)}.-start-1{inset-inline-start:calc(var(--spacing)*-1)}.start-0{inset-inline-start:calc(var(--spacing)*0)}.start-2{inset-inline-start:calc(var(--spacing)*2)}.-end-1{inset-inline-end:calc(var(--spacing)*-1)}.end-0{inset-inline-end:calc(var(--spacing)*0)}.end-1{inset-inline-end:calc(var(--spacing)*1)}.end-2{inset-inline-end:calc(var(--spacing)*2)}.end-4{inset-inline-end:calc(var(--spacing)*4)}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.bottom-16{bottom:calc(var(--spacing)*16)}.isolate{isolation:isolate}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\\[35\\]{z-index:35}.col-start-1{grid-column-start:1}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.m-0{margin:calc(var(--spacing)*0)}.my-1{margin-block:calc(var(--spacing)*1)}.-ms-1\\.5{margin-inline-start:calc(var(--spacing)*-1.5)}.ms-1{margin-inline-start:calc(var(--spacing)*1)}.ms-1\\.5{margin-inline-start:calc(var(--spacing)*1.5)}.ms-4{margin-inline-start:calc(var(--spacing)*4)}.me-1\\.5{margin-inline-end:calc(var(--spacing)*1.5)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-2\\.5{margin-top:calc(var(--spacing)*2.5)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.box-border{box-sizing:border-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.h-0{height:calc(var(--spacing)*0)}.h-0\\.5{height:calc(var(--spacing)*.5)}.h-1{height:calc(var(--spacing)*1)}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-16{height:calc(var(--spacing)*16)}.h-24{height:calc(var(--spacing)*24)}.h-full{height:100%}.h-px{height:1px}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-5{min-height:calc(var(--spacing)*5)}.min-h-11{min-height:calc(var(--spacing)*11)}.w-0\\.5{width:calc(var(--spacing)*.5)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-24{width:calc(var(--spacing)*24)}.w-36{width:calc(var(--spacing)*36)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-\\[24rem\\]{width:384px}.w-\\[26rem\\]{width:416px}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-64{max-width:calc(var(--spacing)*64)}.max-w-\\[16rem\\]{max-width:256px}.max-w-\\[180px\\]{max-width:180px}.max-w-\\[240px\\]{max-width:240px}.max-w-\\[calc\\(100\\%-1rem\\)\\]{max-width:calc(100% - 16px)}.max-w-\\[calc\\(100vw-2rem\\)\\]{max-width:calc(100vw - 32px)}.max-w-full{max-width:100%}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-8{min-width:calc(var(--spacing)*8)}.min-w-48{min-width:calc(var(--spacing)*48)}.min-w-52{min-width:calc(var(--spacing)*52)}.min-w-56{min-width:calc(var(--spacing)*56)}.min-w-\\[120px\\]{min-width:120px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-top-left{transform-origin:0 0}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pan-x{--tw-pan-x:pan-x;touch-action:var(--tw-pan-x,)var(--tw-pan-y,)var(--tw-pinch-zoom,)}.touch-manipulation{touch-action:manipulation}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\\[2fr_1fr\\]{grid-template-columns:2fr 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-x-1{column-gap:calc(var(--spacing)*1)}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.gap-y-3{row-gap:calc(var(--spacing)*3)}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:calc(var(--epdf-radius)*2/3)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:calc(var(--epdf-radius)*4/3)}.rounded-md{border-radius:var(--epdf-radius)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--epdf-radius)*2/3)}.rounded-xl{border-radius:calc(var(--epdf-radius)*2)}.rounded-xs{border-radius:calc(var(--epdf-radius)/2)}.rounded-t-2xl{border-top-left-radius:calc(var(--epdf-radius)*8/3);border-top-right-radius:calc(var(--epdf-radius)*8/3)}.rounded-t-lg{border-top-left-radius:calc(var(--epdf-radius)*4/3);border-top-right-radius:calc(var(--epdf-radius)*4/3)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-s-2{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-accent{border-color:var(--epdf-accent)}.border-border,.border-border-strong{border-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.border-border-strong{border-color:color-mix(in srgb,var(--epdf-border)75%,var(--epdf-text))}}.border-border-subtle{border-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.border-border-subtle{border-color:color-mix(in srgb,var(--epdf-border)50%,var(--epdf-surface))}}.border-red-400{border-color:var(--color-red-400)}.border-red-500\\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\\/40{border-color:color-mix(in oklab,var(--color-red-500)40%,transparent)}}.border-transparent{border-color:#0000}.border-t-accent{border-top-color:var(--epdf-accent)}.border-b-accent{border-bottom-color:var(--epdf-accent)}.border-b-transparent{border-bottom-color:#0000}.bg-accent,.bg-accent-active{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent-active{background-color:color-mix(in srgb,var(--epdf-accent)65%,black)}}.bg-accent-light,.bg-accent-light\\/60{background-color:var(--embedpdf-accent-tint)}@supports (color:color-mix(in lab,red,red)){.bg-accent-light\\/60{background-color:color-mix(in oklab,var(--embedpdf-accent-tint)60%,transparent)}}.bg-accent\\/10{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\\/10{background-color:color-mix(in oklab,var(--epdf-accent)10%,transparent)}}.bg-app{background-color:var(--epdf-background)}.bg-black\\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-border,.bg-border-strong{background-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.bg-border-strong{background-color:color-mix(in srgb,var(--epdf-border)75%,var(--epdf-text))}}.bg-border-subtle{background-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.bg-border-subtle{background-color:color-mix(in srgb,var(--epdf-border)50%,var(--epdf-surface))}}.bg-elevated,.bg-elevated\\/95{background-color:var(--epdf-surface-raised)}@supports (color:color-mix(in lab,red,red)){.bg-elevated\\/95{background-color:color-mix(in oklab,var(--epdf-surface-raised)95%,transparent)}}.bg-hover{background-color:var(--epdf-hover)}.bg-red-500\\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-selected{background-color:var(--embedpdf-accent-tint)}.bg-surface,.bg-surface-alt{background-color:var(--epdf-surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface-alt{background-color:color-mix(in srgb,var(--epdf-surface),var(--epdf-text)6%)}}.bg-surface\\/60{background-color:var(--epdf-surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface\\/60{background-color:color-mix(in oklab,var(--epdf-surface)60%,transparent)}}.bg-surface\\/80{background-color:var(--epdf-surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface\\/80{background-color:color-mix(in oklab,var(--epdf-surface)80%,transparent)}}.bg-tooltip{background-color:var(--epdf-tooltip)}.bg-transparent{background-color:#0000}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-\\[5px\\]{padding:5px}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.ps-2{padding-inline-start:calc(var(--spacing)*2)}.ps-2\\.5{padding-inline-start:calc(var(--spacing)*2.5)}.ps-3{padding-inline-start:calc(var(--spacing)*3)}.ps-7{padding-inline-start:calc(var(--spacing)*7)}.ps-8{padding-inline-start:calc(var(--spacing)*8)}.pe-1{padding-inline-end:calc(var(--spacing)*1)}.pe-2{padding-inline-end:calc(var(--spacing)*2)}.pe-2\\.5{padding-inline-end:calc(var(--spacing)*2.5)}.pe-7{padding-inline-end:calc(var(--spacing)*7)}.pe-9{padding-inline-end:calc(var(--spacing)*9)}.pt-1\\.5{padding-top:calc(var(--spacing)*1.5)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-1\\.5{padding-bottom:calc(var(--spacing)*1.5)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.text-center{text-align:center}.text-end{text-align:end}.text-left{text-align:left}.text-start{text-align:start}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[11px\\]{font-size:11px}.text-\\[13px\\]{font-size:13px}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-8{--tw-leading:calc(var(--spacing)*8);line-height:calc(var(--spacing)*8)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent{color:var(--epdf-accent)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-fg{color:var(--epdf-text)}.text-fg-disabled{color:var(--epdf-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-fg-disabled{color:color-mix(in srgb,var(--epdf-text-muted)60%,var(--epdf-surface))}}.text-fg-muted{color:var(--epdf-text-muted)}.text-fg-secondary{color:var(--epdf-text)}@supports (color:color-mix(in lab,red,red)){.text-fg-secondary{color:color-mix(in srgb,var(--epdf-text)65%,var(--epdf-text-muted))}}.text-green-600{color:var(--color-green-600)}.text-on-accent{color:var(--epdf-surface)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-tooltip-fg{color:var(--epdf-tooltip-text)}.text-white{color:var(--color-white)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.accent-accent{accent-color:var(--epdf-accent)}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-accent{--tw-ring-color:var(--epdf-accent)}.ring-accent-light{--tw-ring-color:var(--embedpdf-accent-tint)}.ring-accent\\/40{--tw-ring-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.ring-accent\\/40{--tw-ring-color:color-mix(in oklab,var(--epdf-accent)40%,transparent)}}.ring-accent\\/60{--tw-ring-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.ring-accent\\/60{--tw-ring-color:color-mix(in oklab,var(--epdf-accent)60%,transparent)}}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.\\!outline{outline-style:var(--tw-outline-style)!important;outline-width:1px!important}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-offset-2{outline-offset:2px}.outline-accent{outline-color:var(--epdf-accent)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-\\[translate\\,height\\]{transition-property:translate,height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[translate\\]{transition-property:translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\\[font-variant-emoji\\:text\\]{font-variant-emoji:text}.ring-inset{--tw-ring-inset:inset}@media(hover:hover){.group-hover\\:opacity-100:is(:where(.group):hover *),.group-hover\\/body\\:opacity-100:is(:where(.group\\/body):hover *){opacity:1}}.peer-checked\\:opacity-100:is(:where(.peer):checked~*){opacity:1}.selection\\:underline ::selection{text-decoration-line:underline}.selection\\:underline::selection{text-decoration-line:underline}.placeholder\\:text-fg-muted::placeholder{color:var(--epdf-text-muted)}.first\\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}.open\\:flex:is([open],:popover-open,:open){display:flex}.open\\:grid:is([open],:popover-open,:open){display:grid}.open\\:flex-col:is([open],:popover-open,:open){flex-direction:column}.open\\:justify-end:is([open],:popover-open,:open){justify-content:flex-end}.checked\\:border-accent:checked{border-color:var(--epdf-accent)}.checked\\:bg-accent:checked{background-color:var(--epdf-accent)}.focus-within\\:opacity-100:focus-within{opacity:1}@media(hover:hover){.hover\\:border-border:hover{border-color:var(--epdf-border)}.hover\\:border-b-accent:hover{border-bottom-color:var(--epdf-accent)}.hover\\:border-b-fg-muted:hover{border-bottom-color:var(--epdf-text-muted)}.hover\\:bg-accent:hover,.hover\\:bg-accent-hover:hover{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-accent-hover:hover{background-color:color-mix(in srgb,var(--epdf-accent)80%,black)}}.hover\\:bg-accent\\/20:hover{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-accent\\/20:hover{background-color:color-mix(in oklab,var(--epdf-accent)20%,transparent)}}.hover\\:bg-hover:hover{background-color:var(--epdf-hover)}.hover\\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\\:bg-transparent:hover{background-color:#0000}.hover\\:text-fg:hover,.hover\\:text-fg-secondary:hover{color:var(--epdf-text)}@supports (color:color-mix(in lab,red,red)){.hover\\:text-fg-secondary:hover{color:color-mix(in srgb,var(--epdf-text)65%,var(--epdf-text-muted))}}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:ring:hover{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:ring-0:hover{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:ring-accent:hover{--tw-ring-color:var(--epdf-accent)}}.focus\\:border-accent:focus{border-color:var(--epdf-accent)}.focus\\:border-red-400:focus{border-color:var(--color-red-400)}.focus\\:opacity-100:focus{opacity:1}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-accent:focus{--tw-ring-color:var(--epdf-accent)}.focus\\:ring-red-400:focus{--tw-ring-color:var(--color-red-400)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:bg-accent\\/40:focus-visible{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.focus-visible\\:bg-accent\\/40:focus-visible{background-color:color-mix(in oklab,var(--epdf-accent)40%,transparent)}}.focus-visible\\:bg-hover:focus-visible{background-color:var(--epdf-hover)}.focus-visible\\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-accent:focus-visible{--tw-ring-color:var(--epdf-accent)}.focus-visible\\:ring-inset:focus-visible{--tw-ring-inset:inset}.active\\:cursor-grabbing:active{cursor:grabbing}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:opacity-60:disabled{opacity:.6}:where([data-dragging]) .in-data-dragging\\:transition-none{transition-property:none}.aria-disabled\\:cursor-not-allowed[aria-disabled=true]{cursor:not-allowed}.aria-disabled\\:opacity-40[aria-disabled=true]{opacity:.4}@media(hover:hover){.aria-disabled\\:hover\\:bg-transparent[aria-disabled=true]:hover{background-color:#0000}}.aria-\\[invalid\\=true\\]\\:border-red-600[aria-invalid=true]{border-color:var(--color-red-600)}@media(prefers-reduced-motion:no-preference){.motion-safe\\:animate-spin{animation:var(--animate-spin)}}@media(prefers-reduced-motion:reduce){.motion-reduce\\:transition-none{transition-property:none}}.rtl\\:origin-top-right:where(:dir(rtl),[dir=rtl],[dir=rtl] *){transform-origin:100% 0}.rtl\\:-scale-x-100:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-scale-x: -100% ;scale:var(--tw-scale-x)var(--tw-scale-y)}.rtl\\:-rotate-90:where(:dir(rtl),[dir=rtl],[dir=rtl] *){rotate:-90deg}@starting-style{.starting\\:-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@starting-style{.starting\\:translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@starting-style{.starting\\:translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@starting-style{.starting\\:opacity-0{opacity:0}}@starting-style{.rtl\\:starting\\:-translate-x-full:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@starting-style{.rtl\\:starting\\:translate-x-full:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@media(forced-colors:active){.forced-colors\\:outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.forced-colors\\:-outline-offset-2{outline-offset:-2px}.forced-colors\\:outline-solid{--tw-outline-style:solid;outline-style:solid}}.float-pill\\:pointer-events-auto>div:has(>[data-epdf-toolbar-item]:not(:empty)){pointer-events:auto}.float-pill\\:rounded-lg>div:has(>[data-epdf-toolbar-item]:not(:empty)){border-radius:calc(var(--epdf-radius)*4/3)}.float-pill\\:border>div:has(>[data-epdf-toolbar-item]:not(:empty)){border-style:var(--tw-border-style);border-width:1px}.float-pill\\:border-border-subtle>div:has(>[data-epdf-toolbar-item]:not(:empty)){border-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.float-pill\\:border-border-subtle>div:has(>[data-epdf-toolbar-item]:not(:empty)){border-color:color-mix(in srgb,var(--epdf-border)50%,var(--epdf-surface))}}.float-pill\\:bg-elevated\\/95>div:has(>[data-epdf-toolbar-item]:not(:empty)){background-color:var(--epdf-surface-raised)}@supports (color:color-mix(in lab,red,red)){.float-pill\\:bg-elevated\\/95>div:has(>[data-epdf-toolbar-item]:not(:empty)){background-color:color-mix(in oklab,var(--epdf-surface-raised)95%,transparent)}}.float-pill\\:p-0\\.5>div:has(>[data-epdf-toolbar-item]:not(:empty)){padding:calc(var(--spacing)*.5)}.float-pill\\:shadow-lg>div:has(>[data-epdf-toolbar-item]:not(:empty)){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}:host{--embedpdf-host-accent:var(--epdf-accent);--embedpdf-host-background:var(--epdf-background);--embedpdf-host-surface:var(--epdf-surface);--embedpdf-host-surface-raised:var(--epdf-surface-raised);--embedpdf-host-text:var(--epdf-text);--embedpdf-host-text-muted:var(--epdf-text-muted);--embedpdf-host-border:var(--epdf-border);--embedpdf-host-hover:var(--epdf-hover);--embedpdf-host-canvas:var(--epdf-canvas);--embedpdf-host-page-background:var(--epdf-page-background);--embedpdf-host-page-shadow:var(--epdf-page-shadow);--embedpdf-host-tooltip:var(--epdf-tooltip);--embedpdf-host-tooltip-text:var(--epdf-tooltip-text);--embedpdf-host-radius:var(--epdf-radius);--embedpdf-host-font:var(--epdf-font);--embedpdf-host-scrollbar-thumb:var(--epdf-scrollbar-thumb);--embedpdf-host-toolbar-surface:var(--epdf-toolbar-surface);--embedpdf-host-toolbar-border:var(--epdf-toolbar-border);--embedpdf-host-toolbar-active:var(--epdf-toolbar-active)}:root,[data-embedpdf-root]{--epdf-accent:var(--embedpdf-host-accent,#3b82f6);--epdf-background:var(--embedpdf-host-background,#f3f4f6);--epdf-surface:var(--embedpdf-host-surface,#fff);--epdf-surface-raised:var(--embedpdf-host-surface-raised,#fff);--epdf-text:var(--embedpdf-host-text,#111827);--epdf-text-muted:var(--embedpdf-host-text-muted,#6b7280);--epdf-border:var(--embedpdf-host-border,#d1d5db);--epdf-hover:var(--embedpdf-host-hover,#f3f4f6);--epdf-canvas:var(--embedpdf-host-canvas,#f3f4f6);--epdf-page-background:var(--embedpdf-host-page-background,#fff);--epdf-page-shadow:var(--embedpdf-host-page-shadow,0 6px 18px #0000002e);--epdf-tooltip:var(--embedpdf-host-tooltip,var(--epdf-text));--epdf-tooltip-text:var(--embedpdf-host-tooltip-text,var(--epdf-surface));--epdf-radius:var(--embedpdf-host-radius,6px);--epdf-font:var(--embedpdf-host-font,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");--epdf-scrollbar-thumb:var(--embedpdf-host-scrollbar-thumb,var(--epdf-text))}@supports (color:color-mix(in lab,red,red)){:root,[data-embedpdf-root]{--epdf-scrollbar-thumb:var(--embedpdf-host-scrollbar-thumb,color-mix(in srgb,var(--epdf-text)35%,transparent))}}:root,[data-embedpdf-root]{--epdf-toolbar-surface:var(--embedpdf-host-toolbar-surface,var(--epdf-surface-raised));--epdf-toolbar-border:var(--embedpdf-host-toolbar-border,var(--epdf-border));--epdf-toolbar-active:var(--embedpdf-host-toolbar-active,var(--epdf-hover))}@supports (color:color-mix(in lab,red,red)){:root,[data-embedpdf-root]{--epdf-toolbar-active:var(--embedpdf-host-toolbar-active,color-mix(in srgb,var(--epdf-hover)90%,var(--epdf-text)))}}:root,[data-embedpdf-root]{--embedpdf-accent-tint:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){:root,[data-embedpdf-root]{--embedpdf-accent-tint:color-mix(in srgb,var(--epdf-accent)8%,var(--epdf-surface))}}.dark{--epdf-accent:var(--embedpdf-host-accent,#60a5fa);--epdf-background:var(--embedpdf-host-background,#111827);--epdf-surface:var(--embedpdf-host-surface,#1f2937);--epdf-surface-raised:var(--embedpdf-host-surface-raised,#1f2937);--epdf-text:var(--embedpdf-host-text,#f9fafb);--epdf-text-muted:var(--embedpdf-host-text-muted,#9ca3af);--epdf-border:var(--embedpdf-host-border,#4b5563);--epdf-hover:var(--embedpdf-host-hover,#374151);--epdf-canvas:var(--embedpdf-host-canvas,#0d1117);--epdf-tooltip:var(--embedpdf-host-tooltip,var(--epdf-text));--epdf-tooltip-text:var(--embedpdf-host-tooltip-text,var(--epdf-surface));--epdf-scrollbar-thumb:var(--embedpdf-host-scrollbar-thumb,var(--epdf-text))}@supports (color:color-mix(in lab,red,red)){.dark{--epdf-scrollbar-thumb:var(--embedpdf-host-scrollbar-thumb,color-mix(in srgb,var(--epdf-text)28%,transparent))}}.dark{--embedpdf-accent-tint:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.dark{--embedpdf-accent-tint:color-mix(in srgb,var(--epdf-accent)25%,var(--epdf-surface))}}html,body,#root{height:100%;margin:0}body{font-family:var(--epdf-font);color:var(--epdf-text);background:var(--epdf-background)}[data-measure-layer]{pointer-events:none}[data-embedpdf-scrollbar-thumb]{transition:background .15s}[data-embedpdf-scrollbar-thumb]:hover,[data-embedpdf-scrollbar][data-dragging] [data-embedpdf-scrollbar-thumb]{background:var(--epdf-text-muted)}[data-epdf-fills-window]:popover-open{border:0;width:auto;max-width:none;height:auto;max-height:none;margin:0;padding:0;position:fixed;inset:0}[data-touch] [role=toolbar] button,[data-touch] [role=tab],[data-touch] [data-epdf-panel-header] button,[data-touch] [role=menu] :is([role=menuitem],[role=menuitemradio],[role=menuitemcheckbox]){min-height:44px}[data-touch] [role=toolbar] button,[data-touch] [data-epdf-panel-header] button{min-width:44px}[data-touch] :is(input,textarea,select){font-size:16px}[data-float] [data-bar]{transition:opacity .15s}[data-float] [data-idle-hidden]{opacity:0;transition:opacity .5s}[data-idle-hidden] *{pointer-events:none}@media(prefers-reduced-motion:reduce){[data-float] [data-bar]{transition:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}'; -function mh(e) { +const vhe = '/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-green-600:oklch(62.7% .194 149.214);--color-black:#000;--color-white:#fff;--spacing:4px;--container-sm:384px;--text-xs:12px;--text-xs--line-height:calc(1/.75);--text-sm:14px;--text-sm--line-height:calc(1.25/.875);--text-base:16px;--text-base--line-height: 1.5 ;--text-lg:18px;--text-lg--line-height:calc(1.75/1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-normal:0em;--tracking-wide:.025em;--ease-out:cubic-bezier(0,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-1{inset:calc(var(--spacing)*1)}.inset-2{inset:calc(var(--spacing)*2)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-x-2{inset-inline:calc(var(--spacing)*2)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.inset-y-1{inset-block:calc(var(--spacing)*1)}.-start-1{inset-inline-start:calc(var(--spacing)*-1)}.start-0{inset-inline-start:calc(var(--spacing)*0)}.start-2{inset-inline-start:calc(var(--spacing)*2)}.-end-1{inset-inline-end:calc(var(--spacing)*-1)}.end-0{inset-inline-end:calc(var(--spacing)*0)}.end-1{inset-inline-end:calc(var(--spacing)*1)}.end-2{inset-inline-end:calc(var(--spacing)*2)}.end-4{inset-inline-end:calc(var(--spacing)*4)}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.bottom-16{bottom:calc(var(--spacing)*16)}.isolate{isolation:isolate}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\\[35\\]{z-index:35}.col-start-1{grid-column-start:1}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.m-0{margin:calc(var(--spacing)*0)}.my-1{margin-block:calc(var(--spacing)*1)}.-ms-1\\.5{margin-inline-start:calc(var(--spacing)*-1.5)}.ms-1{margin-inline-start:calc(var(--spacing)*1)}.ms-1\\.5{margin-inline-start:calc(var(--spacing)*1.5)}.ms-4{margin-inline-start:calc(var(--spacing)*4)}.me-1\\.5{margin-inline-end:calc(var(--spacing)*1.5)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-2\\.5{margin-top:calc(var(--spacing)*2.5)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.box-border{box-sizing:border-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.h-0{height:calc(var(--spacing)*0)}.h-0\\.5{height:calc(var(--spacing)*.5)}.h-1{height:calc(var(--spacing)*1)}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-16{height:calc(var(--spacing)*16)}.h-24{height:calc(var(--spacing)*24)}.h-full{height:100%}.h-px{height:1px}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-5{min-height:calc(var(--spacing)*5)}.min-h-11{min-height:calc(var(--spacing)*11)}.w-0\\.5{width:calc(var(--spacing)*.5)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-24{width:calc(var(--spacing)*24)}.w-36{width:calc(var(--spacing)*36)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-\\[24rem\\]{width:384px}.w-\\[26rem\\]{width:416px}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-64{max-width:calc(var(--spacing)*64)}.max-w-\\[16rem\\]{max-width:256px}.max-w-\\[180px\\]{max-width:180px}.max-w-\\[240px\\]{max-width:240px}.max-w-\\[calc\\(100\\%-1rem\\)\\]{max-width:calc(100% - 16px)}.max-w-\\[calc\\(100vw-2rem\\)\\]{max-width:calc(100vw - 32px)}.max-w-full{max-width:100%}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-8{min-width:calc(var(--spacing)*8)}.min-w-48{min-width:calc(var(--spacing)*48)}.min-w-52{min-width:calc(var(--spacing)*52)}.min-w-56{min-width:calc(var(--spacing)*56)}.min-w-\\[120px\\]{min-width:120px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-top-left{transform-origin:0 0}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-pan-x{--tw-pan-x:pan-x;touch-action:var(--tw-pan-x,)var(--tw-pan-y,)var(--tw-pinch-zoom,)}.touch-manipulation{touch-action:manipulation}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\\[2fr_1fr\\]{grid-template-columns:2fr 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-x-1{column-gap:calc(var(--spacing)*1)}.gap-x-1\\.5{column-gap:calc(var(--spacing)*1.5)}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-y-0\\.5{row-gap:calc(var(--spacing)*.5)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.gap-y-3{row-gap:calc(var(--spacing)*3)}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:calc(var(--epdf-radius)*2/3)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:calc(var(--epdf-radius)*4/3)}.rounded-md{border-radius:var(--epdf-radius)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--epdf-radius)*2/3)}.rounded-xl{border-radius:calc(var(--epdf-radius)*2)}.rounded-xs{border-radius:calc(var(--epdf-radius)/2)}.rounded-t-2xl{border-top-left-radius:calc(var(--epdf-radius)*8/3);border-top-right-radius:calc(var(--epdf-radius)*8/3)}.rounded-t-lg{border-top-left-radius:calc(var(--epdf-radius)*4/3);border-top-right-radius:calc(var(--epdf-radius)*4/3)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-s-2{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-accent{border-color:var(--epdf-accent)}.border-border,.border-border-strong{border-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.border-border-strong{border-color:color-mix(in srgb,var(--epdf-border)75%,var(--epdf-text))}}.border-border-subtle{border-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.border-border-subtle{border-color:color-mix(in srgb,var(--epdf-border)50%,var(--epdf-surface))}}.border-red-400{border-color:var(--color-red-400)}.border-red-500\\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\\/40{border-color:color-mix(in oklab,var(--color-red-500)40%,transparent)}}.border-transparent{border-color:#0000}.border-t-accent{border-top-color:var(--epdf-accent)}.border-b-accent{border-bottom-color:var(--epdf-accent)}.border-b-transparent{border-bottom-color:#0000}.bg-accent,.bg-accent-active{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent-active{background-color:color-mix(in srgb,var(--epdf-accent)65%,black)}}.bg-accent-light,.bg-accent-light\\/60{background-color:var(--embedpdf-accent-tint)}@supports (color:color-mix(in lab,red,red)){.bg-accent-light\\/60{background-color:color-mix(in oklab,var(--embedpdf-accent-tint)60%,transparent)}}.bg-accent\\/10{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\\/10{background-color:color-mix(in oklab,var(--epdf-accent)10%,transparent)}}.bg-app{background-color:var(--epdf-background)}.bg-black\\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-border,.bg-border-strong{background-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.bg-border-strong{background-color:color-mix(in srgb,var(--epdf-border)75%,var(--epdf-text))}}.bg-border-subtle{background-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.bg-border-subtle{background-color:color-mix(in srgb,var(--epdf-border)50%,var(--epdf-surface))}}.bg-elevated,.bg-elevated\\/95{background-color:var(--epdf-surface-raised)}@supports (color:color-mix(in lab,red,red)){.bg-elevated\\/95{background-color:color-mix(in oklab,var(--epdf-surface-raised)95%,transparent)}}.bg-hover{background-color:var(--epdf-hover)}.bg-red-500\\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-selected{background-color:var(--embedpdf-accent-tint)}.bg-surface,.bg-surface-alt{background-color:var(--epdf-surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface-alt{background-color:color-mix(in srgb,var(--epdf-surface),var(--epdf-text)6%)}}.bg-surface\\/60{background-color:var(--epdf-surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface\\/60{background-color:color-mix(in oklab,var(--epdf-surface)60%,transparent)}}.bg-surface\\/80{background-color:var(--epdf-surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface\\/80{background-color:color-mix(in oklab,var(--epdf-surface)80%,transparent)}}.bg-tooltip{background-color:var(--epdf-tooltip)}.bg-transparent{background-color:#0000}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-\\[5px\\]{padding:5px}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.ps-2{padding-inline-start:calc(var(--spacing)*2)}.ps-2\\.5{padding-inline-start:calc(var(--spacing)*2.5)}.ps-3{padding-inline-start:calc(var(--spacing)*3)}.ps-7{padding-inline-start:calc(var(--spacing)*7)}.ps-8{padding-inline-start:calc(var(--spacing)*8)}.pe-1{padding-inline-end:calc(var(--spacing)*1)}.pe-2{padding-inline-end:calc(var(--spacing)*2)}.pe-2\\.5{padding-inline-end:calc(var(--spacing)*2.5)}.pe-7{padding-inline-end:calc(var(--spacing)*7)}.pe-9{padding-inline-end:calc(var(--spacing)*9)}.pt-1\\.5{padding-top:calc(var(--spacing)*1.5)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-1\\.5{padding-bottom:calc(var(--spacing)*1.5)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.text-center{text-align:center}.text-end{text-align:end}.text-left{text-align:left}.text-start{text-align:start}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[11px\\]{font-size:11px}.text-\\[13px\\]{font-size:13px}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-8{--tw-leading:calc(var(--spacing)*8);line-height:calc(var(--spacing)*8)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent{color:var(--epdf-accent)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-fg{color:var(--epdf-text)}.text-fg-disabled{color:var(--epdf-text-muted)}@supports (color:color-mix(in lab,red,red)){.text-fg-disabled{color:color-mix(in srgb,var(--epdf-text-muted)60%,var(--epdf-surface))}}.text-fg-muted{color:var(--epdf-text-muted)}.text-fg-secondary{color:var(--epdf-text)}@supports (color:color-mix(in lab,red,red)){.text-fg-secondary{color:color-mix(in srgb,var(--epdf-text)65%,var(--epdf-text-muted))}}.text-green-600{color:var(--color-green-600)}.text-on-accent{color:var(--epdf-surface)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-tooltip-fg{color:var(--epdf-tooltip-text)}.text-white{color:var(--color-white)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.accent-accent{accent-color:var(--epdf-accent)}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-accent{--tw-ring-color:var(--epdf-accent)}.ring-accent-light{--tw-ring-color:var(--embedpdf-accent-tint)}.ring-accent\\/40{--tw-ring-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.ring-accent\\/40{--tw-ring-color:color-mix(in oklab,var(--epdf-accent)40%,transparent)}}.ring-accent\\/60{--tw-ring-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.ring-accent\\/60{--tw-ring-color:color-mix(in oklab,var(--epdf-accent)60%,transparent)}}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.\\!outline{outline-style:var(--tw-outline-style)!important;outline-width:1px!important}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-offset-2{outline-offset:2px}.outline-accent{outline-color:var(--epdf-accent)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-\\[translate\\,height\\]{transition-property:translate,height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[translate\\]{transition-property:translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\\[font-variant-emoji\\:text\\]{font-variant-emoji:text}.ring-inset{--tw-ring-inset:inset}@media(hover:hover){.group-hover\\:opacity-100:is(:where(.group):hover *),.group-hover\\/body\\:opacity-100:is(:where(.group\\/body):hover *){opacity:1}}.peer-checked\\:opacity-100:is(:where(.peer):checked~*){opacity:1}.selection\\:underline ::selection{text-decoration-line:underline}.selection\\:underline::selection{text-decoration-line:underline}.placeholder\\:text-fg-muted::placeholder{color:var(--epdf-text-muted)}.first\\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}.open\\:flex:is([open],:popover-open,:open){display:flex}.open\\:grid:is([open],:popover-open,:open){display:grid}.open\\:flex-col:is([open],:popover-open,:open){flex-direction:column}.open\\:justify-end:is([open],:popover-open,:open){justify-content:flex-end}.checked\\:border-accent:checked{border-color:var(--epdf-accent)}.checked\\:bg-accent:checked{background-color:var(--epdf-accent)}.focus-within\\:opacity-100:focus-within{opacity:1}@media(hover:hover){.hover\\:border-border:hover{border-color:var(--epdf-border)}.hover\\:border-b-accent:hover{border-bottom-color:var(--epdf-accent)}.hover\\:border-b-fg-muted:hover{border-bottom-color:var(--epdf-text-muted)}.hover\\:bg-accent:hover,.hover\\:bg-accent-hover:hover{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-accent-hover:hover{background-color:color-mix(in srgb,var(--epdf-accent)80%,black)}}.hover\\:bg-accent\\/20:hover{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-accent\\/20:hover{background-color:color-mix(in oklab,var(--epdf-accent)20%,transparent)}}.hover\\:bg-hover:hover{background-color:var(--epdf-hover)}.hover\\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\\:bg-transparent:hover{background-color:#0000}.hover\\:text-fg:hover,.hover\\:text-fg-secondary:hover{color:var(--epdf-text)}@supports (color:color-mix(in lab,red,red)){.hover\\:text-fg-secondary:hover{color:color-mix(in srgb,var(--epdf-text)65%,var(--epdf-text-muted))}}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:ring:hover{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:ring-0:hover{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:ring-accent:hover{--tw-ring-color:var(--epdf-accent)}}.focus\\:border-accent:focus{border-color:var(--epdf-accent)}.focus\\:border-red-400:focus{border-color:var(--color-red-400)}.focus\\:opacity-100:focus{opacity:1}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-accent:focus{--tw-ring-color:var(--epdf-accent)}.focus\\:ring-red-400:focus{--tw-ring-color:var(--color-red-400)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:bg-accent\\/40:focus-visible{background-color:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.focus-visible\\:bg-accent\\/40:focus-visible{background-color:color-mix(in oklab,var(--epdf-accent)40%,transparent)}}.focus-visible\\:bg-hover:focus-visible{background-color:var(--epdf-hover)}.focus-visible\\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-accent:focus-visible{--tw-ring-color:var(--epdf-accent)}.focus-visible\\:ring-inset:focus-visible{--tw-ring-inset:inset}.active\\:cursor-grabbing:active{cursor:grabbing}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:opacity-60:disabled{opacity:.6}:where([data-dragging]) .in-data-dragging\\:transition-none{transition-property:none}.aria-disabled\\:cursor-not-allowed[aria-disabled=true]{cursor:not-allowed}.aria-disabled\\:opacity-40[aria-disabled=true]{opacity:.4}@media(hover:hover){.aria-disabled\\:hover\\:bg-transparent[aria-disabled=true]:hover{background-color:#0000}}.aria-\\[invalid\\=true\\]\\:border-red-600[aria-invalid=true]{border-color:var(--color-red-600)}@media(prefers-reduced-motion:no-preference){.motion-safe\\:animate-spin{animation:var(--animate-spin)}}@media(prefers-reduced-motion:reduce){.motion-reduce\\:transition-none{transition-property:none}}.rtl\\:origin-top-right:where(:dir(rtl),[dir=rtl],[dir=rtl] *){transform-origin:100% 0}.rtl\\:-scale-x-100:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-scale-x: -100% ;scale:var(--tw-scale-x)var(--tw-scale-y)}.rtl\\:-rotate-90:where(:dir(rtl),[dir=rtl],[dir=rtl] *){rotate:-90deg}@starting-style{.starting\\:-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@starting-style{.starting\\:translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@starting-style{.starting\\:translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@starting-style{.starting\\:opacity-0{opacity:0}}@starting-style{.rtl\\:starting\\:-translate-x-full:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@starting-style{.rtl\\:starting\\:translate-x-full:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}}@media(forced-colors:active){.forced-colors\\:outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.forced-colors\\:-outline-offset-2{outline-offset:-2px}.forced-colors\\:outline-solid{--tw-outline-style:solid;outline-style:solid}}.float-pill\\:pointer-events-auto>div:has(>[data-epdf-toolbar-item]:not(:empty)){pointer-events:auto}.float-pill\\:rounded-lg>div:has(>[data-epdf-toolbar-item]:not(:empty)){border-radius:calc(var(--epdf-radius)*4/3)}.float-pill\\:border>div:has(>[data-epdf-toolbar-item]:not(:empty)){border-style:var(--tw-border-style);border-width:1px}.float-pill\\:border-border-subtle>div:has(>[data-epdf-toolbar-item]:not(:empty)){border-color:var(--epdf-border)}@supports (color:color-mix(in lab,red,red)){.float-pill\\:border-border-subtle>div:has(>[data-epdf-toolbar-item]:not(:empty)){border-color:color-mix(in srgb,var(--epdf-border)50%,var(--epdf-surface))}}.float-pill\\:bg-elevated\\/95>div:has(>[data-epdf-toolbar-item]:not(:empty)){background-color:var(--epdf-surface-raised)}@supports (color:color-mix(in lab,red,red)){.float-pill\\:bg-elevated\\/95>div:has(>[data-epdf-toolbar-item]:not(:empty)){background-color:color-mix(in oklab,var(--epdf-surface-raised)95%,transparent)}}.float-pill\\:p-0\\.5>div:has(>[data-epdf-toolbar-item]:not(:empty)){padding:calc(var(--spacing)*.5)}.float-pill\\:shadow-lg>div:has(>[data-epdf-toolbar-item]:not(:empty)){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}:host{--embedpdf-host-accent:var(--epdf-accent);--embedpdf-host-background:var(--epdf-background);--embedpdf-host-surface:var(--epdf-surface);--embedpdf-host-surface-raised:var(--epdf-surface-raised);--embedpdf-host-text:var(--epdf-text);--embedpdf-host-text-muted:var(--epdf-text-muted);--embedpdf-host-border:var(--epdf-border);--embedpdf-host-hover:var(--epdf-hover);--embedpdf-host-canvas:var(--epdf-canvas);--embedpdf-host-page-background:var(--epdf-page-background);--embedpdf-host-page-shadow:var(--epdf-page-shadow);--embedpdf-host-tooltip:var(--epdf-tooltip);--embedpdf-host-tooltip-text:var(--epdf-tooltip-text);--embedpdf-host-radius:var(--epdf-radius);--embedpdf-host-font:var(--epdf-font);--embedpdf-host-scrollbar-thumb:var(--epdf-scrollbar-thumb);--embedpdf-host-toolbar-surface:var(--epdf-toolbar-surface);--embedpdf-host-toolbar-border:var(--epdf-toolbar-border);--embedpdf-host-toolbar-active:var(--epdf-toolbar-active)}:root,[data-embedpdf-root]{--epdf-accent:var(--embedpdf-host-accent,#3b82f6);--epdf-background:var(--embedpdf-host-background,#f3f4f6);--epdf-surface:var(--embedpdf-host-surface,#fff);--epdf-surface-raised:var(--embedpdf-host-surface-raised,#fff);--epdf-text:var(--embedpdf-host-text,#111827);--epdf-text-muted:var(--embedpdf-host-text-muted,#6b7280);--epdf-border:var(--embedpdf-host-border,#d1d5db);--epdf-hover:var(--embedpdf-host-hover,#f3f4f6);--epdf-canvas:var(--embedpdf-host-canvas,#f3f4f6);--epdf-page-background:var(--embedpdf-host-page-background,#fff);--epdf-page-shadow:var(--embedpdf-host-page-shadow,0 6px 18px #0000002e);--epdf-tooltip:var(--embedpdf-host-tooltip,var(--epdf-text));--epdf-tooltip-text:var(--embedpdf-host-tooltip-text,var(--epdf-surface));--epdf-radius:var(--embedpdf-host-radius,6px);--epdf-font:var(--embedpdf-host-font,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");--epdf-scrollbar-thumb:var(--embedpdf-host-scrollbar-thumb,var(--epdf-text))}@supports (color:color-mix(in lab,red,red)){:root,[data-embedpdf-root]{--epdf-scrollbar-thumb:var(--embedpdf-host-scrollbar-thumb,color-mix(in srgb,var(--epdf-text)35%,transparent))}}:root,[data-embedpdf-root]{--epdf-toolbar-surface:var(--embedpdf-host-toolbar-surface,var(--epdf-surface-raised));--epdf-toolbar-border:var(--embedpdf-host-toolbar-border,var(--epdf-border));--epdf-toolbar-active:var(--embedpdf-host-toolbar-active,var(--epdf-hover))}@supports (color:color-mix(in lab,red,red)){:root,[data-embedpdf-root]{--epdf-toolbar-active:var(--embedpdf-host-toolbar-active,color-mix(in srgb,var(--epdf-hover)90%,var(--epdf-text)))}}:root,[data-embedpdf-root]{--embedpdf-accent-tint:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){:root,[data-embedpdf-root]{--embedpdf-accent-tint:color-mix(in srgb,var(--epdf-accent)8%,var(--epdf-surface))}}.dark{--epdf-accent:var(--embedpdf-host-accent,#60a5fa);--epdf-background:var(--embedpdf-host-background,#111827);--epdf-surface:var(--embedpdf-host-surface,#1f2937);--epdf-surface-raised:var(--embedpdf-host-surface-raised,#1f2937);--epdf-text:var(--embedpdf-host-text,#f9fafb);--epdf-text-muted:var(--embedpdf-host-text-muted,#9ca3af);--epdf-border:var(--embedpdf-host-border,#4b5563);--epdf-hover:var(--embedpdf-host-hover,#374151);--epdf-canvas:var(--embedpdf-host-canvas,#0d1117);--epdf-tooltip:var(--embedpdf-host-tooltip,var(--epdf-text));--epdf-tooltip-text:var(--embedpdf-host-tooltip-text,var(--epdf-surface));--epdf-scrollbar-thumb:var(--embedpdf-host-scrollbar-thumb,var(--epdf-text))}@supports (color:color-mix(in lab,red,red)){.dark{--epdf-scrollbar-thumb:var(--embedpdf-host-scrollbar-thumb,color-mix(in srgb,var(--epdf-text)28%,transparent))}}.dark{--embedpdf-accent-tint:var(--epdf-accent)}@supports (color:color-mix(in lab,red,red)){.dark{--embedpdf-accent-tint:color-mix(in srgb,var(--epdf-accent)25%,var(--epdf-surface))}}html,body,#root{height:100%;margin:0}body{font-family:var(--epdf-font);color:var(--epdf-text);background:var(--epdf-background)}[data-measure-layer]{pointer-events:none}[data-embedpdf-scrollbar-thumb]{transition:background .15s}[data-embedpdf-scrollbar-thumb]:hover,[data-embedpdf-scrollbar][data-dragging] [data-embedpdf-scrollbar-thumb]{background:var(--epdf-text-muted)}[data-epdf-fills-window]:popover-open{border:0;width:auto;max-width:none;height:auto;max-height:none;margin:0;padding:0;position:fixed;inset:0}[data-touch] [role=toolbar] button,[data-touch] [role=tab],[data-touch] [data-epdf-panel-header] button,[data-touch] [role=menu] :is([role=menuitem],[role=menuitemradio],[role=menuitemcheckbox]){min-height:44px}[data-touch] [role=toolbar] button,[data-touch] [data-epdf-panel-header] button{min-width:44px}[data-touch] :is(input,textarea,select){font-size:16px}[data-float] [data-bar]{transition:opacity .15s}[data-float] [data-idle-hidden]{opacity:0;transition:opacity .5s}[data-idle-hidden] *{pointer-events:none}@media(prefers-reduced-motion:reduce){[data-float] [data-bar]{transition:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}'; +function kh(e) { const t = new CSSStyleSheet(); return t.replaceSync(e), t; } -let t5 = null; -function SN() { - return t5 ?? (t5 = mh(ope)), t5; +let k5 = null; +function hT() { + return k5 ?? (k5 = kh(vhe)), k5; } -const sm = Symbol.for("@embedpdf/viewer/placed-components"); -function jb(e) { +const fm = Symbol.for("@embedpdf/viewer/placed-components"); +function Hb(e) { const t = e; - return t[sm] || Object.defineProperty(t, sm, { value: Wde() }), t[sm]; + return t[fm] || Object.defineProperty(t, fm, { value: spe() }), t[fm]; } -function rpe(e) { +function khe(e) { for (let t = e.parentNode; t; ) if (t instanceof ShadowRoot) t = t.host; else { @@ -60319,70 +61600,70 @@ function rpe(e) { } return null; } -const spe = ":host{display:inline-flex;vertical-align:middle}:host([hidden]){display:none}"; -let n5 = null; -const ipe = () => (n5 ?? (n5 = [SN(), mh(spe)]), n5), PN = typeof HTMLElement > "u" ? class { -} : HTMLElement, Jn = (e, t) => e.getAttribute(t); -function Wo(e, t, n) { +const xhe = ":host{display:inline-flex;vertical-align:middle}:host([hidden]){display:none}"; +let x5 = null; +const Ahe = () => (x5 ?? (x5 = [hT(), kh(xhe)]), x5), gT = typeof HTMLElement > "u" ? class { +} : HTMLElement, Zn = (e, t) => e.getAttribute(t); +function zo(e, t, n) { n === null ? e.removeAttribute(t) : e.setAttribute(t, n); } -const gv = (e) => e.hasAttribute("active"), ON = (e, t) => { +const Iv = (e) => e.hasAttribute("active"), mT = (e, t) => { e.toggleAttribute("active", !!t); }; -var lr, Qr; -class mv extends PN { +var ur, Xr; +class _v extends gT { constructor() { super(...arguments); - Vt(this, lr, null); - Vt(this, Qr, null); + Kt(this, ur, null); + Kt(this, Xr, null); } /** Whether what it draws takes focus: a button does, an icon doesn't. */ get focusable() { return !0; } connectedCallback() { - Re(this, Qr) || (Mt(this, Qr, this.attachShadow({ mode: "open", delegatesFocus: this.focusable })), Re(this, Qr).adoptedStyleSheets = ipe()), this.focusable && !this.hasAttribute("tabindex") && (this.tabIndex = 0), Mt(this, lr, rpe(this)), this.changed(); + je(this, Xr) || (Et(this, Xr, this.attachShadow({ mode: "open", delegatesFocus: this.focusable })), je(this, Xr).adoptedStyleSheets = Ahe()), this.focusable && !this.hasAttribute("tabindex") && (this.tabIndex = 0), Et(this, ur, khe(this)), this.changed(); } disconnectedCallback() { - Re(this, lr) && jb(Re(this, lr)).remove(this), Mt(this, lr, null); + je(this, ur) && Hb(je(this, ur)).remove(this), Et(this, ur, null); } attributeChangedCallback() { this.changed(); } /** Tells the viewer what this element says now. */ changed() { - Re(this, lr) && Re(this, Qr) && jb(Re(this, lr)).place(this.describe(Re(this, Qr))); + je(this, ur) && je(this, Xr) && Hb(je(this, ur)).place(this.describe(je(this, Xr))); } } -lr = new WeakMap(), Qr = new WeakMap(); -const bv = class bv extends mv { +ur = new WeakMap(), Xr = new WeakMap(); +const Nv = class Nv extends _v { /** The command it is, by id. */ get command() { - return Jn(this, "command"); + return Zn(this, "command"); } set command(t) { - Wo(this, "command", t); + zo(this, "command", t); } /** Its icon, by name: the viewer's or one of yours. */ get icon() { - return Jn(this, "icon"); + return Zn(this, "icon"); } set icon(t) { - Wo(this, "icon", t); + zo(this, "icon", t); } /** Its name, for its tooltip and screen readers. */ get label() { - return Jn(this, "label"); + return Zn(this, "label"); } set label(t) { - Wo(this, "label", t); + zo(this, "label", t); } /** Shown pressed: the `active` attribute, there or not. */ get active() { - return gv(this); + return Iv(this); } set active(t) { - ON(this, t); + mT(this, t); } describe(t) { return { @@ -60396,53 +61677,53 @@ const bv = class bv extends mv { }; } }; -bv.observedAttributes = ["command", "icon", "label", "active"]; -let Fb = bv; -class ape extends PN { +Nv.observedAttributes = ["command", "icon", "label", "active"]; +let Vb = Nv; +class She extends gT { /** The command it is, by id. */ get command() { - return Jn(this, "command"); + return Zn(this, "command"); } set command(t) { - Wo(this, "command", t); + zo(this, "command", t); } /** Its icon, by name: the viewer's or one of yours. */ get icon() { - return Jn(this, "icon"); + return Zn(this, "icon"); } set icon(t) { - Wo(this, "icon", t); + zo(this, "icon", t); } /** Shown checked: the `active` attribute, there or not. */ get active() { - return gv(this); + return Iv(this); } set active(t) { - ON(this, t); + mT(this, t); } } -var ma; -const yv = class yv extends mv { +var mi; +const Tv = class Tv extends _v { constructor() { super(...arguments); - Vt(this, ma, null); + Kt(this, mi, null); } /** Its icon, by name: the viewer's or one of yours. */ get icon() { - return Jn(this, "icon"); + return Zn(this, "icon"); } set icon(n) { - Wo(this, "icon", n); + zo(this, "icon", n); } /** Its name, for its tooltip and screen readers. */ get label() { - return Jn(this, "label"); + return Zn(this, "label"); } set label(n) { - Wo(this, "label", n); + zo(this, "label", n); } connectedCallback() { - Re(this, ma) ?? Mt(this, ma, new MutationObserver(() => this.changed())), Re(this, ma).observe(this, { + je(this, mi) ?? Et(this, mi, new MutationObserver(() => this.changed())), je(this, mi).observe(this, { childList: !0, subtree: !0, characterData: !0, @@ -60451,48 +61732,48 @@ const yv = class yv extends mv { }), super.connectedCallback(); } disconnectedCallback() { - Re(this, ma)?.disconnect(), super.disconnectedCallback(); + je(this, mi)?.disconnect(), super.disconnectedCallback(); } describe(n) { const o = [...this.children].filter((r) => r.localName === "epdf-menu-item").map( (r) => ({ - command: Jn(r, "command"), - icon: Jn(r, "icon"), + command: Zn(r, "command"), + icon: Zn(r, "icon"), label: r.textContent?.trim() ?? "", - active: gv(r), + active: Iv(r), select: () => r.dispatchEvent(new CustomEvent("select", { bubbles: !0 })) }) ); return { kind: "menu", host: this, root: n, icon: this.icon, label: this.label, items: o }; } }; -ma = new WeakMap(), yv.observedAttributes = ["icon", "label"]; -let Db = yv; -const wv = class wv extends mv { +mi = new WeakMap(), Tv.observedAttributes = ["icon", "label"]; +let Gb = Tv; +const Rv = class Rv extends _v { get focusable() { return !1; } /** The icon, by name: the viewer's or one of yours. */ get name() { - return Jn(this, "name"); + return Zn(this, "name"); } set name(t) { - Wo(this, "name", t); + zo(this, "name", t); } /** Its width and height in px; null for a toolbar button's. */ get size() { - const t = Number.parseFloat(Jn(this, "size") ?? ""); + const t = Number.parseFloat(Zn(this, "size") ?? ""); return Number.isFinite(t) && t > 0 ? t : null; } set size(t) { - Wo(this, "size", t == null ? null : String(t)); + zo(this, "size", t == null ? null : String(t)); } /** What it shows, for screen readers; without one, they skip it. */ get label() { - return Jn(this, "label"); + return Zn(this, "label"); } set label(t) { - Wo(this, "label", t); + zo(this, "label", t); } describe(t) { return { @@ -60505,84 +61786,87 @@ const wv = class wv extends mv { }; } }; -wv.observedAttributes = ["name", "size", "label"]; -let $b = wv; +Rv.observedAttributes = ["name", "size", "label"]; +let Yb = Rv; if (typeof customElements < "u") { const e = [ - ["epdf-button", Fb], - ["epdf-menu", Db], - ["epdf-menu-item", ape], - ["epdf-icon", $b] + ["epdf-button", Vb], + ["epdf-menu", Gb], + ["epdf-menu-item", She], + ["epdf-icon", Yb] ]; for (const [t, n] of e) customElements.get(t) || customElements.define(t, n); } -const MN = "data-embedpdf-root", Bb = `[${MN}]`, cpe = `:host{display:block;height:100%}${Bb}{all:initial;visibility:inherit;pointer-events:inherit;display:block;position:relative;isolation:isolate;contain:layout;box-sizing:border-box;height:100%;font-family:var(--epdf-font);font-size:16px;line-height:1.5;color:var(--epdf-text);color-scheme:light;tab-size:4;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}${Bb}.dark{color-scheme:dark}`; -let o5 = null; -const lpe = () => (o5 ?? (o5 = [mh(cpe), SN()]), o5); -function upe(e) { +const bT = "data-embedpdf-root", Qb = `[${bT}]`, Ohe = `:host{display:block;height:100%}${Qb}{all:initial;visibility:inherit;pointer-events:inherit;display:block;position:relative;isolation:isolate;contain:layout;box-sizing:border-box;height:100%;font-family:var(--epdf-font);font-size:16px;line-height:1.5;color:var(--epdf-text);color-scheme:light;tab-size:4;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}${Qb}.dark{color-scheme:dark}`; +let A5 = null; +const Phe = () => (A5 ?? (A5 = [kh(Ohe), hT()]), A5); +function Mhe(e) { const t = e.engine; if (typeof t == "function") return { engine: t }; if (t && typeof t.open == "function") return { engine: t }; - const n = Dl.defaultEngineProvider; + const n = $l.defaultEngineProvider; if (!n) throw new Error( "[embedpdf] no engine: this build has no default engine. Pass one in the config (`engine: () => yourEngine()`), or import '@embedpdf/viewer' (which bundles the bundled local engine) instead of '@embedpdf/viewer/core'." ); return n(t); } -function dpe(e) { +function Ehe(e) { try { for (const t of e.commands ?? []) - t.icon && !(t.icon in d_) && !(e.icons && t.icon in e.icons) && console.warn(`[embedpdf] command "${t.id}": unknown icon "${t.icon}"`); + t.icon && !(t.icon in X_) && !(e.icons && t.icon in e.icons) && console.warn(`[embedpdf] command "${t.id}": unknown icon "${t.icon}"`); } catch (t) { console.warn("[embedpdf] invalid config:", t); } } -const fpe = typeof HTMLElement > "u" ? class { -} : HTMLElement, ppe = [ +const Che = typeof HTMLElement > "u" ? class { +} : HTMLElement, Ihe = [ "config", "src", "theme", "locale", + "features", "disable", "readOnly", "fetch", "appState" -], hpe = "data-epdf-wrapped"; -var Hs, Xr, co, Vn, ur, $l, dr, Vs, Gs, Zf, it, zr, zb, Wb, Jf, ep, tp, Ub, EN, CN, Kb, Qd; -const np = class np extends fpe { +], _he = "data-epdf-wrapped"; +var Gs, Zr, lo, qn, dr, Bl, zl, fr, Ys, Qs, tp, at, ar, Xb, Zb, np, op, rp, Jb, yT, wT, ey, Xd; +const sp = class sp extends Che { constructor() { super(...arguments); - Vt(this, it); - Vt(this, Hs, null); - Vt(this, Xr, null); - Vt(this, co, null); + Kt(this, at); + Kt(this, Gs, null); + Kt(this, Zr, null); + Kt(this, lo, null); /** The config the running viewer shows, and the props it renders with. */ - Vt(this, Vn, null); - Vt(this, ur, null); + Kt(this, qn, null); + Kt(this, dr, null); /** What the running viewer's door makes of a `src` (`DoorEngine.sourceOf`). */ - Vt(this, $l, (n) => n); - Vt(this, dr, null); - Vt(this, Vs, null); + Kt(this, Bl, (n) => n); + /** Whether the running viewer's door keeps a document open under a new `src` (`DoorEngine.follows`). */ + Kt(this, zl); + Kt(this, fr, null); + Kt(this, Ys, null); /** The ids of `src` documents still closing, which a new one must not take. */ - Vt(this, Gs, /* @__PURE__ */ new Set()); + Kt(this, Qs, /* @__PURE__ */ new Set()); /** * How the viewer downloads a URL: the shown config's `fetch`, read at each download, so a new * one needs no new viewer. */ - Vt(this, Zf, (n, o) => (Re(this, Vn)?.fetch ?? globalThis.fetch)(n, o)); + Kt(this, tp, (n, o) => (je(this, qn)?.fetch ?? globalThis.fetch)(n, o)); /** The viewer is live: `src` opens, then `epdf:ready` and the config's `onReady` say so. */ - Vt(this, Jf, (n) => { - Mt(this, dr, n), Et(this, it, Ub).call(this), this.dispatchEvent(new CustomEvent("epdf:ready", { detail: { viewer: n } })), Re(this, Vn)?.onReady?.(n); + Kt(this, np, (n) => { + Et(this, fr, n), Ct(this, at, Jb).call(this), this.dispatchEvent(new CustomEvent("epdf:ready", { detail: { viewer: n } })), je(this, qn)?.onReady?.(n); }); /** The active document changed: `epdf:documentchange` and the config's `onDocumentChange`. */ - Vt(this, ep, (n) => { - this.dispatchEvent(new CustomEvent("epdf:documentchange", { detail: { documentId: n } })), Re(this, Vn)?.onDocumentChange?.(n); + Kt(this, op, (n) => { + this.dispatchEvent(new CustomEvent("epdf:documentchange", { detail: { documentId: n } })), je(this, qn)?.onDocumentChange?.(n); }); /** The user resized a panel: `epdf:panelresize` and the config's `onPanelResize`. */ - Vt(this, tp, (n) => { - this.dispatchEvent(new CustomEvent("epdf:panelresize", { detail: n })), Re(this, Vn)?.onPanelResize?.(n); + Kt(this, rp, (n) => { + this.dispatchEvent(new CustomEvent("epdf:panelresize", { detail: n })), je(this, qn)?.onPanelResize?.(n); }); } /** @@ -60590,59 +61874,69 @@ const np = class np extends fpe { * live keys change in place and any other change builds a new viewer. */ set config(n) { - Mt(this, Hs, n), Et(this, it, zb).call(this); + Et(this, Gs, n), Ct(this, at, Xb).call(this); } get config() { - return tpe(npe(this), Re(this, Hs)); + return yhe(whe(this), je(this, Gs)); } /** * The document: a URL, a `File`, or bytes (or what the door's engine opens). Another one opens * in its place, `null` closes it, and `undefined` goes back to the `src` attribute. */ set src(n) { - Et(this, it, zr).call(this, { src: n }); + Ct(this, at, ar).call(this, { src: n }); } get src() { return this.config.src ?? null; } /** `'light'`, `'dark'`, `'system'`, or the theme config. */ set theme(n) { - Et(this, it, zr).call(this, { theme: n }); + Ct(this, at, ar).call(this, { theme: n }); } get theme() { return this.config.theme; } /** `'auto'` or a language code. */ set locale(n) { - Et(this, it, zr).call(this, { locale: n }); + Ct(this, at, ar).call(this, { locale: n }); } get locale() { return this.config.locale; } - /** The features and commands this viewer doesn't have. */ + /** What people can do in this viewer: features and their parts, on or off. */ + set features(n) { + Ct(this, at, ar).call(this, { features: n }); + } + get features() { + return this.config.features; + } + /** + * The features and commands this viewer doesn't have. + * @deprecated Use `features`; goes in 4.0. + */ set disable(n) { - Et(this, it, zr).call(this, { disable: n }); + Ct(this, at, ar).call(this, { disable: n }); } get disable() { return this.config.disable; } /** Every feature that changes the document off, or all but `except`. */ set readOnly(n) { - Et(this, it, zr).call(this, { readOnly: n }); + Ct(this, at, ar).call(this, { readOnly: n }); } get readOnly() { return this.config.readOnly; } /** How a document at a URL downloads: your own `fetch`. The next download uses a new one. */ set fetch(n) { - Et(this, it, zr).call(this, { fetch: n }); + Ct(this, at, ar).call(this, { fetch: n }); } get fetch() { return this.config.fetch; } /** Your app's state, which your commands read: a new value, and every button asks again. */ set appState(n) { - Et(this, it, zr).call(this, { appState: n }); + Ct(this, at, ar).call(this, { appState: n }); } get appState() { return this.config.appState; @@ -60653,290 +61947,297 @@ const np = class np extends fpe { * builds a new viewer. */ get viewer() { - return Re(this, dr); + return je(this, fr); } connectedCallback() { - for (const n of ppe) { + for (const n of Ihe) { if (!Object.prototype.hasOwnProperty.call(this, n)) continue; const o = Reflect.get(this, n); Reflect.deleteProperty(this, n), Reflect.set(this, n, o); } - this.hasAttribute(hpe) && Re(this, Hs) === null || queueMicrotask(() => { - this.isConnected && !Re(this, co) && Et(this, it, Qd).call(this); + this.hasAttribute(_he) && je(this, Gs) === null || queueMicrotask(() => { + this.isConnected && !je(this, lo) && Ct(this, at, Xd).call(this); }); } disconnectedCallback() { - Et(this, it, Wb).call(this); + Ct(this, at, Zb).call(this); } attributeChangedCallback() { - Re(this, co) && Et(this, it, zb).call(this); + je(this, lo) && Ct(this, at, Xb).call(this); } }; -Hs = new WeakMap(), Xr = new WeakMap(), co = new WeakMap(), Vn = new WeakMap(), ur = new WeakMap(), $l = new WeakMap(), dr = new WeakMap(), Vs = new WeakMap(), Gs = new WeakMap(), Zf = new WeakMap(), it = new WeakSet(), zr = function(n) { - this.config = { ...Re(this, Hs), ...n }; +Gs = new WeakMap(), Zr = new WeakMap(), lo = new WeakMap(), qn = new WeakMap(), dr = new WeakMap(), Bl = new WeakMap(), zl = new WeakMap(), fr = new WeakMap(), Ys = new WeakMap(), Qs = new WeakMap(), tp = new WeakMap(), at = new WeakSet(), ar = function(n) { + this.config = { ...je(this, Gs), ...n }; }, /** Show the current config: in place when only live keys changed, else on a new viewer. */ -zb = function() { +Xb = function() { if (!this.isConnected) return; - const n = Re(this, Vn); - if (!Re(this, co) || !n) { - Et(this, it, Qd).call(this); + const n = je(this, qn); + if (!je(this, lo) || !n) { + Ct(this, at, Xd).call(this); return; } - const o = this.config, r = Qfe(n, o); + const o = this.config, r = phe(n, o); if (r.length !== 0) { - if (!r.every(Yfe)) { - Et(this, it, Qd).call(this); + if (!r.every(fhe)) { + Ct(this, at, Xd).call(this); return; } - if (Mt(this, Vn, o), r.includes("theme") && Et(this, it, Kb).call(this, o.theme), r.some((s) => s !== "src" && s !== "fetch")) { - const { theme: s, locale: i, disable: a, readOnly: c, appState: l } = o; - Mt(this, ur, { ...Re(this, ur), theme: s, locale: i, disable: a, readOnly: c, appState: l }), Re(this, co).render($n(J6, Re(this, ur))); + if (Et(this, qn, o), r.includes("theme") && Ct(this, at, ey).call(this, o.theme), r.some((s) => s !== "src" && s !== "fetch")) { + const { theme: s, locale: a, features: i, disable: c, readOnly: l, appState: u } = o; + Et(this, dr, { ...je(this, dr), theme: s, locale: a, features: i, disable: c, readOnly: l, appState: u }), je(this, lo).render(Dn(w5, je(this, dr))); } - r.includes("src") && Et(this, it, Ub).call(this); + r.includes("src") && Ct(this, at, Jb).call(this); } -}, Wb = function() { - Mt(this, dr, null), Mt(this, Vs, null), Re(this, Gs).clear(), Mt(this, Vn, null), Mt(this, ur, null), Re(this, co)?.unmount(), Mt(this, co, null); -}, Jf = new WeakMap(), ep = new WeakMap(), tp = new WeakMap(), /** +}, Zb = function() { + Et(this, fr, null), Et(this, Ys, null), je(this, Qs).clear(), Et(this, qn, null), Et(this, dr, null), je(this, lo)?.unmount(), Et(this, lo, null); +}, np = new WeakMap(), op = new WeakMap(), rp = new WeakMap(), /** * Open the document `src` names in the place of the one the previous `src` opened, which * closes. `documents` takes over from `src` when the config has them. */ -Ub = function() { - const n = Re(this, dr), o = Re(this, Vn); +Jb = function() { + var u; + const n = je(this, fr), o = je(this, qn); if (!n || !o || o.documents) return; - const { documents: r } = n, s = Re(this, Vs); - Mt(this, Vs, null); - const i = s && r.has(s.id) ? s.id : s?.reserved, a = i ? r.getOrder().indexOf(i) : -1; + const { documents: r } = n, s = je(this, Ys); + if (s && o.src != null && ((u = je(this, zl)) != null && u.call(this, s.input, o.src))) return; + Et(this, Ys, null); + const a = s && r.has(s.id) ? s.id : s?.reserved, i = a ? r.getOrder().indexOf(a) : -1; let c = () => { }; - const l = new Promise((u) => c = u); - if (o.src != null && Et(this, it, EN).call(this, o.src, a, s ? l : void 0), s) { - const u = s.id; - Re(this, Gs).add(u); - const f = /* @__PURE__ */ new Set([s.reserved, u]), d = () => { - Re(this, Gs).delete(u), c(); + const l = new Promise((f) => c = f); + if (o.src != null && Ct(this, at, yT).call(this, o.src, i, s ? l : void 0), s) { + const f = s.id; + je(this, Qs).add(f); + const d = /* @__PURE__ */ new Set([s.reserved, f]), p = () => { + je(this, Qs).delete(f), c(); }; - Promise.all([...f].map((p) => r.close(p))).then(() => s.opened).then((p) => p !== null && !f.has(p) ? r.close(p) : void 0).then(d, d); + Promise.all([...d].map((g) => r.close(g))).then(() => s.opened).then((g) => g !== null && !d.has(g) ? r.close(g) : void 0).then(p, p); } }, /** Open `src` as the `src` document, at `position` in the tabs, once `after` settles. */ -EN = function(n, o, r) { - const { documents: s } = Re(this, dr), i = Re(this, $l).call(this, n), a = Et(this, it, CN).call(this, i), { source: c, name: l } = AN(i, a, r), u = new Set(s.getOrder()), f = s.open(c, l !== void 0 ? { name: l } : {}), d = s.getOrder().find((g) => !u.has(g)), p = f.then( - ({ document: g }) => g.id, +yT = function(n, o, r) { + const { documents: s } = je(this, fr), a = je(this, Bl).call(this, n), i = Ct(this, at, wT).call(this, a), { source: c, name: l } = pT(a, i, r), u = new Set(s.getOrder()), f = s.open(c, l !== void 0 ? { name: l } : {}), d = s.getOrder().find((h) => !u.has(h)), p = f.then( + ({ document: h }) => h.id, () => null ); if (!d) return; - const h = { reserved: d, id: gh(i) ? d : a, opened: p }; - Mt(this, Vs, h), p.then((g) => { - g !== null && (h.id = g); + const g = { + reserved: d, + id: vh(a) ? d : i, + opened: p, + input: a + }; + Et(this, Ys, g), p.then((h) => { + h !== null && (g.id = h); }), o >= 0 && s.move(d, o); }, /** The id `src` asks for, or with a number after it while a document still has it. */ -CN = function(n) { - const o = xN(n), r = (i) => Re(this, Gs).has(i) || !!Re(this, dr)?.documents.has(i); +wT = function(n) { + const o = fT(n), r = (a) => je(this, Qs).has(a) || !!je(this, fr)?.documents.has(a); let s = o; - for (let i = 2; r(s); i++) s = `${o}#${i}`; + for (let a = 2; r(s); a++) s = `${o}#${a}`; return s; }, /** The chrome's sheets, and the theme's tokens after them, so they win over its defaults. */ -Kb = function(n) { - const o = rce(n, Bb); - this.shadowRoot.adoptedStyleSheets = [...lpe(), ...o ? [mh(o)] : []]; -}, Qd = function() { +ey = function(n) { + const o = Ele(n, Qb); + this.shadowRoot.adoptedStyleSheets = [...Phe(), ...o ? [kh(o)] : []]; +}, Xd = function() { if (!this.shadowRoot) { - const d = this.attachShadow({ mode: "open" }); - Mt(this, Xr, document.createElement("div")), Re(this, Xr).setAttribute(MN, ""), d.appendChild(Re(this, Xr)); + const p = this.attachShadow({ mode: "open" }); + Et(this, Zr, document.createElement("div")), je(this, Zr).setAttribute(bT, ""), p.appendChild(je(this, Zr)); } - Et(this, it, Wb).call(this); + Ct(this, at, Zb).call(this); const n = this.config; - dpe(n); + Ehe(n); const { src: o, documents: r, engine: s, - theme: i, - fetch: a, + theme: a, + fetch: i, ...c } = n; - Et(this, it, Kb).call(this, i), Mt(this, Vn, n); - const { engine: l, sourceOf: u = (d) => d, plugins: f } = upe(n); - Mt(this, $l, u), Mt(this, ur, { + Ct(this, at, ey).call(this, a), Et(this, qn, n); + const { engine: l, sourceOf: u = (p) => p, follows: f, plugins: d } = Mhe(n); + Et(this, Bl, u), Et(this, zl, f), Et(this, dr, { engine: l, - initialDocuments: r && epe(r, u), - fetch: Re(this, Zf), - theme: i, - themeTarget: Re(this, Xr), + initialDocuments: r && bhe(r, u), + fetch: je(this, tp), + theme: a, + themeTarget: je(this, Zr), // The viewer's own components among the children (``, ``). - components: jb(this), + components: Hb(this), ...c, - plugins: Xfe(f, c.plugins), + plugins: hhe(d, c.plugins), // The element's own, which call the config's after its events. - onReady: Re(this, Jf), - onDocumentChange: Re(this, ep), - onPanelResize: Re(this, tp) - }), Mt(this, co, mj(Re(this, Xr))), Re(this, co).render($n(J6, Re(this, ur))); -}, np.observedAttributes = ["src", "locale", "theme"], np.defaultEngineProvider = null; -let Dl = np; -typeof customElements < "u" && !customElements.get("embedpdf-viewer") && customElements.define("embedpdf-viewer", Dl); -function gpe(e) { + onReady: je(this, np), + onDocumentChange: je(this, op), + onPanelResize: je(this, rp) + }), Et(this, lo, SF(je(this, Zr))), je(this, lo).render(Dn(w5, je(this, dr))); +}, sp.observedAttributes = ["src", "locale", "theme"], sp.defaultEngineProvider = null; +let $l = sp; +typeof customElements < "u" && !customElements.get("embedpdf-viewer") && customElements.define("embedpdf-viewer", $l); +function Nhe(e) { const { target: t, ...n } = e, o = typeof t == "string" ? document.querySelector(t) : t; if (!o) throw new Error(`[embedpdf] init: target not found: ${String(t)}`); const r = document.createElement("embedpdf-viewer"); return r.config = n, o.appendChild(r), r; } -function mpe(e, t = {}) { - Dl.defaultEngineProvider = (n) => { +function The(e, t = {}) { + $l.defaultEngineProvider = (n) => { const o = { ...n }; return t.wasmUrl && !o.wasmUrl && !o.wasmBinary && !o.assetsUrl && (o.wasmUrl = t.wasmUrl), { engine: () => e(o) }; }; } -const bpe = gpe, Hpe = { init: bpe }; -mpe(h7, { wasmUrl: uO }); -const ype = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ +const Rhe = Nhe, lge = { init: Rhe }; +The(x7, { wasmUrl: BP }); +const Lhe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null, - default: uO + default: BP }, Symbol.toStringTag, { value: "Module" })); export { - Xy as $, - me as A, - use as B, - dse as C, - En as D, - Dn as E, - ph as F, - Ope as G, - YZ as H, - nt as I, - Xe as J, - tv as K, - QZ as L, - Bo as M, - tn as N, - ZW as O, - EX as P, - wt as Q, - lse as R, - Te as S, - P_ as T, - at as U, - pr as V, - lh as W, - nie as X, - Er as Y, - ht as Z, - dl as _, - Mr as a, - Lpe as a$, - mw as a0, - tie as a1, - bZ as a2, - eI as a3, - MI as a4, - Jo as a5, - O_ as a6, - Eie as a7, - Pie as a8, - gp as a9, - pce as aA, - Mp as aB, - Ise as aC, - i0 as aD, - Sa as aE, - kp as aF, - mf as aG, - e_ as aH, - Ka as aI, - kpe as aJ, - hW as aK, - Upe as aL, - Wpe as aM, - Ob as aN, - Ne as aO, - ln as aP, - Wn as aQ, + ul as $, + ye as A, + xae as B, + Aae as C, + _n as D, + rge as E, + Fn as F, + yh as G, + Uhe as H, + ot as I, + iee as J, + Ze as K, + mv as L, + $o as M, + cee as N, + an as O, + pK as P, + KZ as Q, + kae as R, + Re as S, + pN as T, + vt as U, + ct as V, + hh as W, + hr as X, + hie as Y, + Ir as Z, + mt as _, + Cr as a, + Zhe as a$, + u0 as a0, + _w as a1, + pie as a2, + TJ as a3, + T3 as a4, + Gf as a5, + er as a6, + hN as a7, + Xie as a8, + Gie as a9, + Wae as aA, + w0 as aB, + Ai as aC, + Op as aD, + bf as aE, + B_ as aF, + Ki as aG, + ns as aH, + n_ as aI, + Dhe as aJ, + MU as aK, + age as aL, + sge as aM, + jb as aN, + _e as aO, + pn as aP, + zn as aQ, Ko as aR, - Epe as aS, - Ipe as aT, - Cpe as aU, - Wf as aV, + qhe as aS, + Vhe as aT, + Hhe as aU, + Uf as aV, H as aW, q as aX, - fne as aY, - _pe as aZ, - kI as a_, - Fl as aa, - yZ as ab, - jpe as ac, - zpe as ad, - Dpe as ae, - Fpe as af, - sd as ag, - qo as ah, - ts as ai, - wI as aj, - $pe as ak, - xpe as al, - SE as am, - sB as an, - OW as ao, - Ao as ap, - cn as aq, - mx as ar, - Tse as as, - _se as at, - Go as au, - Kpe as av, - eh as aw, - bte as ax, - Ow as ay, - Mpe as az, - OX as b, - Rpe as b0, - Tpe as b1, - Npe as b2, - vI as b3, - yn as b4, - zn as b5, - tt as b6, - Dl as b7, - Fb as b8, - $b as b9, - Db as ba, - ape as bb, - Cn as bc, - ri as bd, - oN as be, - Ua as bf, + Moe as aY, + Ghe as aZ, + r_ as a_, + wp as aa, + Dl as ab, + RJ as ac, + Jhe as ad, + oge as ae, + tge as af, + ege as ag, + cd as ah, + qo as ai, + $he as aj, + nC as ak, + p9 as al, + zU as am, + xo as an, + fn as ao, + Nx as ap, + qae as aq, + Uae as ar, + Go as as, + ige as at, + sh as au, + Nne as av, + Bw as aw, + Khe as ax, + Fle as ay, + _p as az, + WZ as b, + Xhe as b0, + Qhe as b1, + Yhe as b2, + o_ as b3, + An as b4, + Bn as b5, + nt as b6, + $l as b7, + Vb as b8, + Yb as b9, + Gb as ba, + She as bb, + Yo as bc, + aa as bd, + VN as be, + Ui as bf, ro as bg, - Zo as bh, - wn as bi, - We as bj, - Yt as bk, - II as bl, - Hpe as bm, - o6 as bn, - d_ as bo, - Bse as bp, - gpe as bq, - Ape as c, + Jo as bh, + Sn as bi, + Ue as bj, + Jt as bk, + f_ as bl, + lge as bm, + x6 as bn, + X_ as bo, + Zae as bp, + Nhe as bq, + Bhe as c, ke as d, - C as e, - en as f, - Ole as g, - Tie as h, + I as e, + sn as f, + Que as g, + nce as h, He as i, oo as j, - qpe as k, - Ale as l, + cge as k, + Vue as l, Se as m, - Bpe as n, - cX as o, - Spe as p, - Ppe as q, + nge as n, + SZ as o, + zhe as p, + Whe as q, Ge as r, Qe as s, - xt as t, - st as u, - vpe as v, - ie as w, - xn as x, - Ire as y, - Ir as z + At as t, + it as u, + Fhe as v, + Y as w, + Pn as x, + Wse as y, + Nr as z }; -//# sourceMappingURL=wasm-url-asset-DQFmMC86.js.map +//# sourceMappingURL=wasm-url-asset-BJXsMWLm.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/zh-cn-CJUxCiaS-DJhfzusu.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/zh-cn-C-XTtOHZ-sfngNd4o.js similarity index 99% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/zh-cn-CJUxCiaS-DJhfzusu.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/zh-cn-C-XTtOHZ-sfngNd4o.js index d78623cb..d5bcd918 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/zh-cn-CJUxCiaS-DJhfzusu.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/zh-cn-C-XTtOHZ-sfngNd4o.js @@ -99,6 +99,7 @@ const e = { saveFile: "保存文件", removeLink: "删除链接", delete: "删除", + duplicate: "创建副本", group: "分组", ungroup: "取消分组", stampFromSelection: "创建图章", @@ -472,7 +473,8 @@ const e = { boxes: "复选框", box: "复选框 {number}", addButton: "添加按钮", - addBox: "添加复选框" + addBox: "添加复选框", + duplicateGroup: "创建组副本" }, stylePanel: { mixed: "(混合)", @@ -708,4 +710,4 @@ const e = { export { e as zhCN }; -//# sourceMappingURL=zh-cn-CJUxCiaS-DJhfzusu.js.map +//# sourceMappingURL=zh-cn-C-XTtOHZ-sfngNd4o.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/zh-tw-C8JAsPYs-Ct2GX9YM.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/zh-tw-CO5cxPs5-C70V5LyG.js similarity index 99% rename from src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/zh-tw-C8JAsPYs-Ct2GX9YM.js rename to src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/zh-tw-CO5cxPs5-C70V5LyG.js index ae5b0226..57de424d 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/zh-tw-C8JAsPYs-Ct2GX9YM.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/chunks/zh-tw-CO5cxPs5-C70V5LyG.js @@ -99,6 +99,7 @@ const e = { saveFile: "儲存檔案", removeLink: "移除連結", delete: "刪除", + duplicate: "建立副本", group: "群組", ungroup: "取消群組", stampFromSelection: "建立圖章", @@ -472,7 +473,8 @@ const e = { boxes: "核取方塊", box: "核取方塊 {number}", addButton: "新增按鈕", - addBox: "新增核取方塊" + addBox: "新增核取方塊", + duplicateGroup: "建立群組副本" }, stylePanel: { mixed: "(混合)", @@ -708,4 +710,4 @@ const e = { export { e as zhTW }; -//# sourceMappingURL=zh-tw-C8JAsPYs-Ct2GX9YM.js.map +//# sourceMappingURL=zh-tw-CO5cxPs5-C70V5LyG.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/embedpdf-worker.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/embedpdf-worker.js index da58e404..892f9575 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/embedpdf-worker.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/embedpdf-worker.js @@ -1,14 +1,14 @@ -"use strict";(()=>{var Ww=Object.defineProperty;var HE=(e,t,r)=>t in e?Ww(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Uw=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var it=(e,t,r)=>()=>{if(r)throw r[0];try{return e&&(t=e(e=0)),t}catch(n){throw r=[n],n}};var Ze=(e,t)=>{for(var r in t)Ww(e,r,{get:t[r],enumerable:!0})};var Wt=(e,t,r)=>HE(e,typeof t!="symbol"?t+"":t,r);var Jf={};Ze(Jf,{default:()=>_G});var EG,_G,$f=it(()=>{"use strict";EG=(()=>{var e=self.location.href;return(function(t={}){var r,n=t,i,a,o=new Promise((u,l)=>{i=u,a=l});["_EPDF_CheckPasswordPermissions","_EPDF_DigestBuffer","_EPDF_FreeBuffer","_EPDF_GetDecodedImageBytes","_EPDF_GetMetaKeyCount","_EPDF_GetMetaKeyName","_EPDF_GetMetaTrapped","_EPDF_GetPageBoxByIndex","_EPDF_GetPageRotateByIndex","_EPDF_GetPageTabOrderByIndex","_EPDF_GetPageUserUnitByIndex","_EPDF_HasMetaText","_EPDF_InitThread","_EPDF_IsEncrypted","_EPDF_IsOwnerUnlocked","_EPDF_LoadBaseDocument","_EPDF_LoadMemBaseDocument","_EPDF_LoadMemBaseDocument64","_EPDF_LoadPageNormalized","_EPDF_PNG_EncodeRGBA","_EPDF_ReleaseBaseDocument","_EPDF_RemoveEncryption","_EPDF_RenderAnnotBitmap","_EPDF_RenderAnnotBitmapUnrotated","_EPDF_RenderPage_Continue","_EPDF_RenderPageBitmapWithMatrix_Start","_EPDF_SaveAsCopyEx","_EPDF_SaveDocumentToOwnedBuffer","_EPDF_SaveDocumentToOwnedBufferEx","_EPDF_SaveDocumentToOwnedBufferWithVersion","_EPDF_SetBaseDocumentSha256","_EPDF_SetDecodedImageBudget","_EPDF_SetEncryption","_EPDF_SetMetaText","_EPDF_SetMetaTrapped","_EPDF_SetRuntimeOwnerPermissions","_EPDF_ShutdownThread","_EPDF_UnlockOwnerPermissions","_EPDFAction_CloseModel","_EPDFAction_CreateGoTo","_EPDFAction_CreateGoToNamed","_EPDFAction_CreateHide","_EPDFAction_CreateJavaScript","_EPDFAction_CreateLaunch","_EPDFAction_CreateNamed","_EPDFAction_CreateRemoteGoToByName","_EPDFAction_CreateRemoteGoToDest","_EPDFAction_CreateResetForm","_EPDFAction_CreateSubmitForm","_EPDFAction_CreateURI","_EPDFAction_GetNextAt","_EPDFAction_GetNextCount","_EPDFAction_GetNodeCount","_EPDFAction_GetNodeDest","_EPDFAction_GetNodeFilePath","_EPDFAction_GetNodeHideFlag","_EPDFAction_GetNodeJavaScript","_EPDFAction_GetNodeName","_EPDFAction_GetNodeResetForm","_EPDFAction_GetNodeSubmitForm","_EPDFAction_GetNodeSubmitFormCharSet","_EPDFAction_GetNodeSubmitFormURL","_EPDFAction_GetNodeSubtype","_EPDFAction_GetNodeTargetCount","_EPDFAction_GetNodeTargetName","_EPDFAction_GetNodeTargetObjectNumber","_EPDFAction_GetNodeType","_EPDFAction_GetNodeURI","_EPDFAction_GetNodeURIIsMap","_EPDFAction_GetRootNode","_EPDFAction_GetWarningFlags","_EPDFAction_IsComplete","_EPDFAction_LoadModel","_EPDFAction_NodeHasJavaScript","_EPDFAction_SetNext","_EPDFAnnot_AddMeasure","_EPDFAnnot_ClearBorderEffect","_EPDFAnnot_ClearColor","_EPDFAnnot_ClearEmbedMetadata","_EPDFAnnot_ClearEmbedMetadataKey","_EPDFAnnot_ClearMKColor","_EPDFAnnot_ClearRectangleDifferences","_EPDFAnnot_ExportAppearance","_EPDFAnnot_GenerateAppearance","_EPDFAnnot_GenerateAppearanceWithBlend","_EPDFAnnot_GenerateFormFieldAP","_EPDFAnnot_GetActionModel","_EPDFAnnot_GetAPMatrix","_EPDFAnnot_GetAppearanceState","_EPDFAnnot_GetAppearanceStateCount","_EPDFAnnot_GetAppearanceStateName","_EPDFAnnot_GetAppearanceTransform","_EPDFAnnot_GetAvailableAppearanceModes","_EPDFAnnot_GetBlendMode","_EPDFAnnot_GetBooleanValue","_EPDFAnnot_GetBorderDashPattern","_EPDFAnnot_GetBorderDashPatternCount","_EPDFAnnot_GetBorderEffect","_EPDFAnnot_GetBorderStyle","_EPDFAnnot_GetCalloutLine","_EPDFAnnot_GetCalloutLineCount","_EPDFAnnot_GetColor","_EPDFAnnot_GetDefaultAppearance","_EPDFAnnot_GetDefaultAppearanceFontFace","_EPDFAnnot_GetDefaultAppearanceFontPostScriptName","_EPDFAnnot_GetDrawingRect","_EPDFAnnot_GetEmbedMetadataBoolean","_EPDFAnnot_GetEmbedMetadataJSON","_EPDFAnnot_GetEmbedMetadataNumber","_EPDFAnnot_GetEmbedMetadataRect","_EPDFAnnot_GetEmbedMetadataString","_EPDFAnnot_GetFileAttachmentForWrite","_EPDFAnnot_GetIntent","_EPDFAnnot_GetLineCaption","_EPDFAnnot_GetLineEndings","_EPDFAnnot_GetLineLeader","_EPDFAnnot_GetMeasure","_EPDFAnnot_GetMKColor","_EPDFAnnot_GetMKRotation","_EPDFAnnot_GetMKText","_EPDFAnnot_GetMKTextPosition","_EPDFAnnot_GetName","_EPDFAnnot_GetObjectNumber","_EPDFAnnot_GetOpacity","_EPDFAnnot_GetOverlayText","_EPDFAnnot_GetOverlayTextRepeat","_EPDFAnnot_GetRect","_EPDFAnnot_GetRectangleDifferences","_EPDFAnnot_GetReplyType","_EPDFAnnot_GetRichContent","_EPDFAnnot_GetRichTextJSON","_EPDFAnnot_GetRotate","_EPDFAnnot_GetShapeCaption","_EPDFAnnot_GetStampDrawing","_EPDFAnnot_GetStructurePosition","_EPDFAnnot_GetTextAlignment","_EPDFAnnot_HasAppearanceStream","_EPDFAnnot_HasEmbedMetadata","_EPDFAnnot_IsValid","_EPDFAnnot_RemoveAction","_EPDFAnnot_RemoveDest","_EPDFAnnot_RemoveKey","_EPDFAnnot_RemoveMeasure","_EPDFAnnot_SetAction","_EPDFAnnot_SetAPMatrix","_EPDFAnnot_SetAppearanceFromPage","_EPDFAnnot_SetBooleanValue","_EPDFAnnot_SetBorderDashPattern","_EPDFAnnot_SetBorderEffect","_EPDFAnnot_SetBorderStyle","_EPDFAnnot_SetCalloutLine","_EPDFAnnot_SetColor","_EPDFAnnot_SetDefaultAppearance","_EPDFAnnot_SetDefaultAppearanceDocumentFont","_EPDFAnnot_SetDefaultAppearanceRegisteredFont","_EPDFAnnot_SetEmbedMetadataBoolean","_EPDFAnnot_SetEmbedMetadataJSON","_EPDFAnnot_SetEmbedMetadataNumber","_EPDFAnnot_SetEmbedMetadataRect","_EPDFAnnot_SetEmbedMetadataString","_EPDFAnnot_SetEventAction","_EPDFAnnot_SetIntent","_EPDFAnnot_SetLine","_EPDFAnnot_SetLineCaption","_EPDFAnnot_SetLineEndings","_EPDFAnnot_SetLineLeader","_EPDFAnnot_SetLinkedAnnot","_EPDFAnnot_SetMKColor","_EPDFAnnot_SetMKRotation","_EPDFAnnot_SetMKText","_EPDFAnnot_SetMKTextPosition","_EPDFAnnot_SetName","_EPDFAnnot_SetNoColor","_EPDFAnnot_SetNumberValue","_EPDFAnnot_SetOpacity","_EPDFAnnot_SetOverlayText","_EPDFAnnot_SetOverlayTextRepeat","_EPDFAnnot_SetRect","_EPDFAnnot_SetReplyType","_EPDFAnnot_SetRichTextJSON","_EPDFAnnot_SetRichTextXHTML","_EPDFAnnot_SetRotate","_EPDFAnnot_SetShapeCaption","_EPDFAnnot_SetStampDrawing","_EPDFAnnot_SetStampOpacity","_EPDFAnnot_SetSubtype","_EPDFAnnot_SetTextAlignment","_EPDFAnnot_SetVertices","_EPDFAnnot_UpdateAppearanceToRect","_EPDFAttachment_ExportCanonicalToOwnedBuffer","_EPDFAttachment_ExportRawToOwnedBuffer","_EPDFAttachment_ExtractFile","_EPDFAttachment_ExtractFileToOwnedBuffer","_EPDFAttachment_GetDescription","_EPDFAttachment_GetIntegerValue","_EPDFAttachment_ImportRaw","_EPDFAttachment_SetDescription","_EPDFAttachment_SetName","_EPDFAttachment_SetSubtype","_EPDFCatalog_GetLanguage","_EPDFCatalog_GetMetadata","_EPDFCatalog_SetMetadata","_EPDFDest_CreateRemoteView","_EPDFDest_CreateRemoteXYZ","_EPDFDest_CreateView","_EPDFDest_CreateViewByObjectNumber","_EPDFDest_CreateXYZ","_EPDFDest_CreateXYZByObjectNumber","_EPDFDest_GetPageObjectNumber","_EPDFDest_GetViewNullParams","_EPDFDoc_CanonicalDrawing","_EPDFDoc_ClearMissingCharacters","_EPDFDoc_ClearPagePieceInfoEntry","_EPDFDoc_ClearPagePieceInfoKey","_EPDFDoc_ClearPieceInfoEntry","_EPDFDoc_ClearPieceInfoKey","_EPDFDoc_CompareRevisions","_EPDFDoc_CountMissingCharacters","_EPDFDoc_DeletePageByObjectNumber","_EPDFDoc_ExportDictCanonicalToOwnedBuffer","_EPDFDoc_ExportDictRawToOwnedBuffer","_EPDFDoc_ExportDrawing","_EPDFDoc_ExportPagesFlattened","_EPDFDoc_GetAdditionalActionModel","_EPDFDoc_GetAttachmentIndexByKey","_EPDFDoc_GetAttachmentKey","_EPDFDoc_GetBaseBytesSize","_EPDFDoc_GetFontDisplayProgramCoverage","_EPDFDoc_GetFontDisplayProgramData","_EPDFDoc_GetFontEmbeddingPolicy","_EPDFDoc_GetFontProgramData","_EPDFDoc_GetFontsFingerprint","_EPDFDoc_GetImportFieldRoots","_EPDFDoc_GetLastModified","_EPDFDoc_GetLoadedBytesSize","_EPDFDoc_GetMissingCharacter","_EPDFDoc_GetNamedJavaScriptActionModel","_EPDFDoc_GetNamedPageAt","_EPDFDoc_GetNamedPageCount","_EPDFDoc_GetOpenActionDest","_EPDFDoc_GetOpenActionModel","_EPDFDoc_GetPageActionModel","_EPDFDoc_GetPageLabelSectionAt","_EPDFDoc_GetPageLabelSectionCount","_EPDFDoc_GetPageLastModified","_EPDFDoc_GetPageObjectNumberByIndex","_EPDFDoc_GetPagePieceInfoBoolean","_EPDFDoc_GetPagePieceInfoEntryAt","_EPDFDoc_GetPagePieceInfoEntryCount","_EPDFDoc_GetPagePieceInfoKeyAt","_EPDFDoc_GetPagePieceInfoKeyCount","_EPDFDoc_GetPagePieceInfoLastModified","_EPDFDoc_GetPagePieceInfoName","_EPDFDoc_GetPagePieceInfoNumber","_EPDFDoc_GetPagePieceInfoString","_EPDFDoc_GetPagePieceInfoStringArrayAt","_EPDFDoc_GetPagePieceInfoStringArrayCount","_EPDFDoc_GetPagePieceInfoValueType","_EPDFDoc_GetPieceInfoBoolean","_EPDFDoc_GetPieceInfoEntryAt","_EPDFDoc_GetPieceInfoEntryCount","_EPDFDoc_GetPieceInfoKeyAt","_EPDFDoc_GetPieceInfoKeyCount","_EPDFDoc_GetPieceInfoLastModified","_EPDFDoc_GetPieceInfoName","_EPDFDoc_GetPieceInfoNumber","_EPDFDoc_GetPieceInfoString","_EPDFDoc_GetPieceInfoStringArrayAt","_EPDFDoc_GetPieceInfoStringArrayCount","_EPDFDoc_GetPieceInfoValueType","_EPDFDoc_GetRevision","_EPDFDoc_GetRevisionCount","_EPDFDoc_GetStampDrawings","_EPDFDoc_GetStructureObjectNumbers","_EPDFDoc_GetTypographicFeatures","_EPDFDoc_HasPagePieceInfoEntry","_EPDFDoc_HasPieceInfoEntry","_EPDFDoc_ImportDictRaw","_EPDFDoc_ImportDrawing","_EPDFDoc_ImportPages","_EPDFDoc_LoadPageByObjectNumber","_EPDFDoc_LoadPageByObjectNumberNormalized","_EPDFDoc_OpenBaseOverlay","_EPDFDoc_OpenBaseOverlayFromPath","_EPDFDoc_OpenRevision","_EPDFDoc_ReadLoadedBytes","_EPDFDoc_RemoveNamedPage","_EPDFDoc_RemoveNamedPagesForPage","_EPDFDoc_ResolveFonts","_EPDFDoc_SetFontEmbeddingPolicy","_EPDFDoc_SetNamedPage","_EPDFDoc_SetPageLabelSections","_EPDFDoc_SetPagePieceInfoBoolean","_EPDFDoc_SetPagePieceInfoName","_EPDFDoc_SetPagePieceInfoNumber","_EPDFDoc_SetPagePieceInfoString","_EPDFDoc_SetPagePieceInfoStringArray","_EPDFDoc_SetPageRotationByObjectNumber","_EPDFDoc_SetPieceInfoBoolean","_EPDFDoc_SetPieceInfoName","_EPDFDoc_SetPieceInfoNumber","_EPDFDoc_SetPieceInfoString","_EPDFDoc_SetPieceInfoStringArray","_EPDFDoc_SetTypographicFeatures","_EPDFDoc_StartLoadPageByObjectNumber","_EPDFDocument_ClearEmbedMetadata","_EPDFFont_AddFallbackFont","_EPDFFont_AuthorizeEditing","_EPDFFont_ClearFallbackFonts","_EPDFFont_ClearRegisteredFonts","_EPDFFont_GetCoverage","_EPDFFont_GetEmbeddingPermission","_EPDFFont_GetFallbackOrder","_EPDFFont_GetFamilyName","_EPDFFont_GetLastResortFont","_EPDFFont_GetMetrics","_EPDFFont_GetPostScriptName","_EPDFFont_GetProgramData","_EPDFFont_GetProgramFormat","_EPDFFont_GetProgramHash","_EPDFFont_GetWeight","_EPDFFont_IsEditingAuthorized","_EPDFFont_IsInstanced","_EPDFFont_IsItalic","_EPDFFont_RegisterFont","_EPDFFont_RegisterMemFont","_EPDFFont_RegisterMemFont64","_EPDFFont_SetLastResortFont","_EPDFFontFaces_Close","_EPDFFontFaces_Count","_EPDFFontFaces_CountPrograms","_EPDFFontFaces_GetFamily","_EPDFFontFaces_GetProgramDisplayHash","_EPDFFontFaces_GetProgramEmbedded","_EPDFFontFaces_GetProgramEmbeddingPermission","_EPDFFontFaces_GetProgramFormat","_EPDFFontFaces_GetProgramHash","_EPDFFontFaces_GetProgramMetrics","_EPDFFontFaces_GetProgramObjNum","_EPDFFontFaces_GetProgramPostScriptName","_EPDFFontFaces_GetWeight","_EPDFFontFaces_IsItalic","_EPDFFontFaces_Load","_EPDFFontFaces_ProgramMapsUnicode","_EPDFFontResolution_Close","_EPDFFontResolution_CountMissingCharacters","_EPDFFontResolution_GetBaseFontName","_EPDFFontResolution_GetFallbacks","_EPDFFontResolution_GetFamily","_EPDFFontResolution_GetMissingCharacter","_EPDFFontResolution_GetProgramDisplayHash","_EPDFFontResolution_GetProgramObjNum","_EPDFFontResolution_GetRegisteredFont","_EPDFFontResolution_GetSource","_EPDFFontResolution_GetWeight","_EPDFFontResolution_IsDegraded","_EPDFFontResolution_IsItalic","_EPDFForm_AttachWidget","_EPDFForm_ClearFieldEmbedMetadata","_EPDFForm_ClearFieldEmbedMetadataKey","_EPDFForm_CloseModel","_EPDFForm_CountCalculationOrder","_EPDFForm_CountFieldDefaultValues","_EPDFForm_CountFieldOptions","_EPDFForm_CountFields","_EPDFForm_CountFieldValues","_EPDFForm_CountFieldWidgets","_EPDFForm_CreateField","_EPDFForm_DeleteField","_EPDFForm_DetachWidget","_EPDFForm_ExportFDF","_EPDFForm_ExportFieldRawToOwnedBuffer","_EPDFForm_ExportXFDF","_EPDFForm_GetCalculationOrderFieldIndex","_EPDFForm_GetFieldActionModel","_EPDFForm_GetFieldAlternateName","_EPDFForm_GetFieldDefaultValueAt","_EPDFForm_GetFieldDefaultValueKind","_EPDFForm_GetFieldEmbedMetadataBoolean","_EPDFForm_GetFieldEmbedMetadataJSON","_EPDFForm_GetFieldEmbedMetadataNumber","_EPDFForm_GetFieldEmbedMetadataString","_EPDFForm_GetFieldFamily","_EPDFForm_GetFieldFlags","_EPDFForm_GetFieldIndexByObjNum","_EPDFForm_GetFieldIndexForWidget","_EPDFForm_GetFieldMappingName","_EPDFForm_GetFieldMaxLen","_EPDFForm_GetFieldName","_EPDFForm_GetFieldObjNum","_EPDFForm_GetFieldOptionLabel","_EPDFForm_GetFieldOptionValue","_EPDFForm_GetFieldOrigin","_EPDFForm_GetFieldPartialName","_EPDFForm_GetFieldTopIndex","_EPDFForm_GetFieldValueAt","_EPDFForm_GetFieldValueKind","_EPDFForm_GetFieldWidgetExportValue","_EPDFForm_GetFieldWidgetObjNum","_EPDFForm_GetFieldWidgetOnState","_EPDFForm_GetFieldWidgetPageObjNum","_EPDFForm_GetFieldWidgetRect","_EPDFForm_GetFormKind","_EPDFForm_GetNeedAppearances","_EPDFForm_HasFieldEmbedMetadata","_EPDFForm_ImportFieldRaw","_EPDFForm_IsFieldOptionSelected","_EPDFForm_IsFieldWidgetChecked","_EPDFForm_LoadModel","_EPDFForm_RedrawFieldWidgets","_EPDFForm_Repair","_EPDFForm_SetCalculationOrder","_EPDFForm_SetFieldAlternateName","_EPDFForm_SetFieldAppearanceText","_EPDFForm_SetFieldDefaultValue","_EPDFForm_SetFieldDisplay","_EPDFForm_SetFieldEmbedMetadataBoolean","_EPDFForm_SetFieldEmbedMetadataJSON","_EPDFForm_SetFieldEmbedMetadataNumber","_EPDFForm_SetFieldEmbedMetadataString","_EPDFForm_SetFieldEventAction","_EPDFForm_SetFieldFlags","_EPDFForm_SetFieldMappingName","_EPDFForm_SetFieldMaxLen","_EPDFForm_SetFieldName","_EPDFForm_SetFieldOptions","_EPDFForm_SetFieldSelectedIndices","_EPDFForm_SetFieldValue","_EPDFForm_SetFieldWidgetsChecked","_EPDFImageObj_SetJpeg","_EPDFImageObj_SetPng","_EPDFLayer_AbortTransaction","_EPDFLayer_BeginTransaction","_EPDFLayer_CommitTransaction","_EPDFLayer_GetBaseDocument","_EPDFLayer_GetBaseSha256","_EPDFLayer_GetBirthName","_EPDFLayer_GetBirthObjectNumber","_EPDFLayer_GetLastObjectNumber","_EPDFLayer_GetPromotedObjectCount","_EPDFLayer_IsInTransaction","_EPDFLayer_IsObjectPromoted","_EPDFLayer_IsPagePromoted","_EPDFLayer_OpenLayer","_EPDFLayer_OpenLayerArtifact","_EPDFLayer_OpenLayerArtifactFromPath","_EPDFLayer_RaiseLastObjectNumber","_EPDFLayer_SaveDelta","_EPDFLayer_SaveDeltaEx","_EPDFLayer_SaveDeltaToOwnedBuffer","_EPDFLayer_SaveDeltaToOwnedBufferEx","_EPDFLayer_SaveLayerArtifact","_EPDFLayer_SaveLayerArtifactEx","_EPDFLayer_SaveLayerArtifactToOwnedBuffer","_EPDFLayer_SaveLayerArtifactToOwnedBufferEx","_EPDFMeasure_AddFormat","_EPDFMeasure_CountFormats","_EPDFMeasure_GetCYX","_EPDFMeasure_GetFormat","_EPDFMeasure_GetOrigin","_EPDFMeasure_GetRatio","_EPDFMeasure_GetSubtype","_EPDFMeasure_RemoveFormats","_EPDFMeasure_SetCYX","_EPDFMeasure_SetOrigin","_EPDFMeasure_SetRatio","_EPDFNamedDest_Remove","_EPDFNamedDest_SetDest","_EPDFNumberFormat_GetConversion","_EPDFNumberFormat_GetFixedDenominator","_EPDFNumberFormat_GetFraction","_EPDFNumberFormat_GetLabelPosition","_EPDFNumberFormat_GetPrecision","_EPDFNumberFormat_GetText","_EPDFNumberFormat_GetUnit","_EPDFNumberFormat_SetConversion","_EPDFNumberFormat_SetFixedDenominator","_EPDFNumberFormat_SetFraction","_EPDFNumberFormat_SetLabelPosition","_EPDFNumberFormat_SetPrecision","_EPDFNumberFormat_SetText","_EPDFNumberFormat_SetUnit","_EPDFObjectDiff_Close","_EPDFObjectDiff_GetCount","_EPDFObjectDiff_GetEntry","_EPDFObjectDiff_GetReadStatus","_EPDFObjectDiff_GetReferrer","_EPDFObjectDiff_GetReferrerCount","_EPDFObjectDiff_GetRevisionHealth","_EPDFObjectDiff_GetValue","_EPDFOutline_CreateItem","_EPDFOutline_DeleteItem","_EPDFOutline_ExportItemRawToOwnedBuffer","_EPDFOutline_GetItem","_EPDFOutline_GetObjectNumber","_EPDFOutline_ImportItemRaw","_EPDFOutline_MoveItem","_EPDFOutline_SetAction","_EPDFOutline_SetColor","_EPDFOutline_SetOpen","_EPDFOutline_SetStyle","_EPDFOutline_SetTitle","_EPDFPage_AddViewport","_EPDFPage_ApplyRedactions","_EPDFPage_ContinueLoad","_EPDFPage_CountViewports","_EPDFPage_CreateAnnot","_EPDFPage_CreateAnnotRaw","_EPDFPage_ExportAnnotationsAsDocument","_EPDFPage_ExportAnnotsRawToOwnedBuffer","_EPDFPage_ExportRawToOwnedBuffer","_EPDFPage_FindViewport","_EPDFPage_Flatten","_EPDFPage_FlattenAnnotations","_EPDFPage_GetAnnotByName","_EPDFPage_GetAnnotByObjectNumber","_EPDFPage_GetAnnotCountRaw","_EPDFPage_GetAnnotIndexByNameRaw","_EPDFPage_GetAnnotIndexByObjectNumberRaw","_EPDFPage_GetAnnotRaw","_EPDFPage_GetObjectNumber","_EPDFPage_GetParsedSize","_EPDFPage_GetViewport","_EPDFPage_ImportAnnotsRaw","_EPDFPage_ImportRaw","_EPDFPage_InsertBlankRaw","_EPDFPage_IsContentCurrent","_EPDFPage_IsValid","_EPDFPage_MoveAnnots","_EPDFPage_MoveAnnotsRaw","_EPDFPage_PromoteInlineAnnotsRaw","_EPDFPage_RemoveAnnot","_EPDFPage_RemoveAnnotByName","_EPDFPage_RemoveAnnotByObjectNumber","_EPDFPage_RemoveAnnotRaw","_EPDFPage_RemoveViewport","_EPDFPage_ResetRenderCache","_EPDFSig_CloseModel","_EPDFSig_Count","_EPDFSig_DigestByteRange","_EPDFSig_DigestFileRange","_EPDFSig_GetByteRange","_EPDFSig_GetContents","_EPDFSig_GetCoverage","_EPDFSig_GetDocMDPPermission","_EPDFSig_GetFieldMDPAction","_EPDFSig_GetFieldName","_EPDFSig_GetFieldNameAt","_EPDFSig_GetFieldNameCount","_EPDFSig_GetFieldObjNum","_EPDFSig_GetIndexByFieldObjNum","_EPDFSig_GetKind","_EPDFSig_GetLockAction","_EPDFSig_GetLockPermission","_EPDFSig_GetRevisionIndex","_EPDFSig_GetSeedValueFilter","_EPDFSig_GetSeedValueListAt","_EPDFSig_GetSeedValueListCount","_EPDFSig_GetSeedValueMDP","_EPDFSig_GetSeedValuePresentFlags","_EPDFSig_GetSeedValueRequiredFlags","_EPDFSig_GetSeedValueVersion","_EPDFSig_GetString","_EPDFSig_GetValueObjNum","_EPDFSig_GetWidgetObjNum","_EPDFSig_GetWidgetPageObjNum","_EPDFSig_HasSeedValue","_EPDFSig_IsCatalogCertification","_EPDFSig_IsRevisionChainValid","_EPDFSig_IsSigned","_EPDFSig_LoadModel","_EPDFSig_Prepare","_EPDFSig_SaveCandidate","_EPDFSig_SaveCandidateToOwnedBuffer","_EPDFSig_Seal","_EPDFSig_SealSpan","_EPDFSig_SetFieldLock","_EPDFSig_WriteContents","_EPDFText_GetCharGeometry","_EPDFText_GetCharToTextMap","_EPDFText_GetTextFull","_EPDFText_RedactInQuads","_EPDFText_RedactInRect","_EPDFViewport_AddMeasure","_EPDFViewport_GetBBox","_EPDFViewport_GetMeasure","_EPDFViewport_GetName","_EPDFViewport_RemoveMeasure","_EPDFViewport_SetBBox","_EPDFViewport_SetName","_FORM_CanRedo","_FORM_CanUndo","_FORM_DoDocumentAAction","_FORM_DoDocumentJSAction","_FORM_DoDocumentOpenAction","_FORM_DoPageAAction","_FORM_ForceToKillFocus","_FORM_GetFocusedAnnot","_FORM_GetFocusedText","_FORM_GetSelectedText","_FORM_GetTextDirection","_FORM_IsIndexSelected","_FORM_OnAfterLoadPage","_FORM_OnBeforeClosePage","_FORM_OnChar","_FORM_OnFocus","_FORM_OnKeyDown","_FORM_OnKeyUp","_FORM_OnLButtonDoubleClick","_FORM_OnLButtonDown","_FORM_OnLButtonUp","_FORM_OnMouseMove","_FORM_OnMouseWheel","_FORM_OnRButtonDown","_FORM_OnRButtonUp","_FORM_Redo","_FORM_ReplaceAndKeepSelection","_FORM_ReplaceSelection","_FORM_SelectAllText","_FORM_SetFocusedAnnot","_FORM_SetIndexSelected","_FORM_SetTextDirection","_FORM_Undo","_FPDF_AddInstalledFont","_FPDF_CloseDocument","_FPDF_ClosePage","_FPDF_CloseXObject","_FPDF_CopyViewerPreferences","_FPDF_CountNamedDests","_FPDF_CreateClipPath","_FPDF_CreateNewDocument","_FPDF_DestroyClipPath","_FPDF_DestroyLibrary","_FPDF_DeviceToPage","_FPDF_DocumentHasValidCrossReferenceTable","_FPDF_FFLDraw","_FPDF_FreeDefaultSystemFontInfo","_FPDF_GetDefaultSystemFontInfo","_FPDF_GetDefaultTTFMap","_FPDF_GetDefaultTTFMapCount","_FPDF_GetDefaultTTFMapEntry","_FPDF_GetDocPermissions","_FPDF_GetDocUserPermissions","_FPDF_GetFileIdentifier","_FPDF_GetFileVersion","_FPDF_GetFormType","_FPDF_GetLastError","_FPDF_GetMetaText","_FPDF_GetNamedDest","_FPDF_GetNamedDestByName","_FPDF_GetPageAAction","_FPDF_GetPageBoundingBox","_FPDF_GetPageCount","_FPDF_GetPageHeight","_FPDF_GetPageHeightF","_FPDF_GetPageLabel","_FPDF_GetPageSizeByIndex","_FPDF_GetPageSizeByIndexF","_FPDF_GetPageWidth","_FPDF_GetPageWidthF","_FPDF_GetSecurityHandlerRevision","_FPDF_GetSignatureCount","_FPDF_GetSignatureObject","_FPDF_GetTrailerEnds","_FPDF_GetXFAPacketContent","_FPDF_GetXFAPacketCount","_FPDF_GetXFAPacketName","_FPDF_ImportNPagesToOne","_FPDF_ImportPages","_FPDF_ImportPagesByIndex","_FPDF_InitLibrary","_FPDF_InitLibraryWithConfig","_FPDF_LoadCustomDocument","_FPDF_LoadDocument","_FPDF_LoadMemDocument","_FPDF_LoadMemDocument64","_FPDF_LoadPage","_FPDF_LoadXFA","_FPDF_MovePages","_FPDF_NewFormObjectFromXObject","_FPDF_NewXObjectFromPage","_FPDF_PageToDevice","_FPDF_RemoveFormFieldHighlight","_FPDF_RenderPage_Close","_FPDF_RenderPage_Continue","_FPDF_RenderPageBitmap","_FPDF_RenderPageBitmap_Start","_FPDF_RenderPageBitmapWithColorScheme_Start","_FPDF_RenderPageBitmapWithMatrix","_FPDF_SaveAsCopy","_FPDF_SaveWithVersion","_FPDF_SetFormFieldHighlightAlpha","_FPDF_SetFormFieldHighlightColor","_FPDF_SetSandBoxPolicy","_FPDF_SetSystemFontInfo","_FPDF_StructElement_Attr_CountChildren","_FPDF_StructElement_Attr_GetBlobValue","_FPDF_StructElement_Attr_GetBooleanValue","_FPDF_StructElement_Attr_GetChildAtIndex","_FPDF_StructElement_Attr_GetCount","_FPDF_StructElement_Attr_GetName","_FPDF_StructElement_Attr_GetNumberValue","_FPDF_StructElement_Attr_GetStringValue","_FPDF_StructElement_Attr_GetType","_FPDF_StructElement_Attr_GetValue","_FPDF_StructElement_CountChildren","_FPDF_StructElement_GetActualText","_FPDF_StructElement_GetAltText","_FPDF_StructElement_GetAttributeAtIndex","_FPDF_StructElement_GetAttributeCount","_FPDF_StructElement_GetChildAtIndex","_FPDF_StructElement_GetChildMarkedContentID","_FPDF_StructElement_GetExpansion","_FPDF_StructElement_GetID","_FPDF_StructElement_GetLang","_FPDF_StructElement_GetMarkedContentID","_FPDF_StructElement_GetMarkedContentIdAtIndex","_FPDF_StructElement_GetMarkedContentIdCount","_FPDF_StructElement_GetObjType","_FPDF_StructElement_GetParent","_FPDF_StructElement_GetRawType","_FPDF_StructElement_GetStringAttribute","_FPDF_StructElement_GetTitle","_FPDF_StructElement_GetType","_FPDF_StructTree_Close","_FPDF_StructTree_CountChildren","_FPDF_StructTree_GetChildAtIndex","_FPDF_StructTree_GetForPage","_FPDF_VIEWERREF_GetDuplex","_FPDF_VIEWERREF_GetName","_FPDF_VIEWERREF_GetNumCopies","_FPDF_VIEWERREF_GetPrintPageRange","_FPDF_VIEWERREF_GetPrintPageRangeCount","_FPDF_VIEWERREF_GetPrintPageRangeElement","_FPDF_VIEWERREF_GetPrintScaling","_FPDFAction_GetDest","_FPDFAction_GetFilePath","_FPDFAction_GetType","_FPDFAction_GetURIPath","_FPDFAnnot_AddFileAttachment","_FPDFAnnot_AddInkStroke","_FPDFAnnot_AppendAttachmentPoints","_FPDFAnnot_AppendObject","_FPDFAnnot_CountAttachmentPoints","_FPDFAnnot_GetAP","_FPDFAnnot_GetAttachmentPoints","_FPDFAnnot_GetBorder","_FPDFAnnot_GetColor","_FPDFAnnot_GetFileAttachment","_FPDFAnnot_GetFlags","_FPDFAnnot_GetFocusableSubtypes","_FPDFAnnot_GetFocusableSubtypesCount","_FPDFAnnot_GetFontColor","_FPDFAnnot_GetFontSize","_FPDFAnnot_GetFormAdditionalActionJavaScript","_FPDFAnnot_GetFormControlCount","_FPDFAnnot_GetFormControlIndex","_FPDFAnnot_GetFormFieldAlternateName","_FPDFAnnot_GetFormFieldAtPoint","_FPDFAnnot_GetFormFieldExportValue","_FPDFAnnot_GetFormFieldFlags","_FPDFAnnot_GetFormFieldName","_FPDFAnnot_GetFormFieldType","_FPDFAnnot_GetFormFieldValue","_FPDFAnnot_GetInkListCount","_FPDFAnnot_GetInkListPath","_FPDFAnnot_GetLine","_FPDFAnnot_GetLink","_FPDFAnnot_GetLinkedAnnot","_FPDFAnnot_GetNumberValue","_FPDFAnnot_GetObject","_FPDFAnnot_GetObjectCount","_FPDFAnnot_GetOptionCount","_FPDFAnnot_GetOptionLabel","_FPDFAnnot_GetRect","_FPDFAnnot_GetStringValue","_FPDFAnnot_GetSubtype","_FPDFAnnot_GetValueType","_FPDFAnnot_GetVertices","_FPDFAnnot_HasAttachmentPoints","_FPDFAnnot_HasKey","_FPDFAnnot_IsChecked","_FPDFAnnot_IsObjectSupportedSubtype","_FPDFAnnot_IsOptionSelected","_FPDFAnnot_IsSupportedSubtype","_FPDFAnnot_RemoveInkList","_FPDFAnnot_RemoveObject","_FPDFAnnot_SetAP","_FPDFAnnot_SetAttachmentPoints","_FPDFAnnot_SetBorder","_FPDFAnnot_SetColor","_FPDFAnnot_SetFlags","_FPDFAnnot_SetFocusableSubtypes","_FPDFAnnot_SetFontColor","_FPDFAnnot_SetFormFieldFlags","_FPDFAnnot_SetRect","_FPDFAnnot_SetStringValue","_FPDFAnnot_SetURI","_FPDFAnnot_UpdateObject","_FPDFAttachment_GetAFRelationship","_FPDFAttachment_GetDescription","_FPDFAttachment_GetFile","_FPDFAttachment_GetName","_FPDFAttachment_GetStringValue","_FPDFAttachment_GetSubtype","_FPDFAttachment_GetValueType","_FPDFAttachment_HasKey","_FPDFAttachment_SetDescription","_FPDFAttachment_SetFile","_FPDFAttachment_SetStringValue","_FPDFAvail_Create","_FPDFAvail_Destroy","_FPDFAvail_GetDocument","_FPDFAvail_GetFirstPageNum","_FPDFAvail_IsDocAvail","_FPDFAvail_IsFormAvail","_FPDFAvail_IsLinearized","_FPDFAvail_IsPageAvail","_FPDFBitmap_Create","_FPDFBitmap_CreateEx","_FPDFBitmap_Destroy","_FPDFBitmap_FillRect","_FPDFBitmap_GetBuffer","_FPDFBitmap_GetFormat","_FPDFBitmap_GetHeight","_FPDFBitmap_GetStride","_FPDFBitmap_GetWidth","_FPDFBookmark_Find","_FPDFBookmark_GetAction","_FPDFBookmark_GetColor","_FPDFBookmark_GetCount","_FPDFBookmark_GetDest","_FPDFBookmark_GetFirstChild","_FPDFBookmark_GetNextSibling","_FPDFBookmark_GetStyle","_FPDFBookmark_GetTitle","_FPDFCatalog_GetLanguage","_FPDFCatalog_IsTagged","_FPDFCatalog_SetLanguage","_FPDFClipPath_CountPaths","_FPDFClipPath_CountPathSegments","_FPDFClipPath_GetPathSegment","_FPDFDest_GetDestPageIndex","_FPDFDest_GetLocationInPage","_FPDFDest_GetView","_FPDFDoc_AddAttachment","_FPDFDoc_CloseJavaScriptAction","_FPDFDoc_DeleteAttachment","_FPDFDOC_ExitFormFillEnvironment","_FPDFDoc_GetAttachment","_FPDFDoc_GetAttachmentCount","_FPDFDoc_GetJavaScriptAction","_FPDFDoc_GetJavaScriptActionCount","_FPDFDoc_GetPageMode","_FPDFDOC_InitFormFillEnvironment","_FPDFFont_Close","_FPDFFont_GetAscent","_FPDFFont_GetBaseFontName","_FPDFFont_GetDescent","_FPDFFont_GetFamilyName","_FPDFFont_GetFlags","_FPDFFont_GetFontData","_FPDFFont_GetGlyphPath","_FPDFFont_GetGlyphWidth","_FPDFFont_GetIsEmbedded","_FPDFFont_GetItalicAngle","_FPDFFont_GetWeight","_FPDFFormObj_CountObjects","_FPDFFormObj_GetObject","_FPDFFormObj_RemoveObject","_FPDFGlyphPath_CountGlyphSegments","_FPDFGlyphPath_GetGlyphPathSegment","_FPDFImageObj_GetBitmap","_FPDFImageObj_GetIccProfileDataDecoded","_FPDFImageObj_GetImageDataDecoded","_FPDFImageObj_GetImageDataRaw","_FPDFImageObj_GetImageFilter","_FPDFImageObj_GetImageFilterCount","_FPDFImageObj_GetImageMetadata","_FPDFImageObj_GetImagePixelSize","_FPDFImageObj_GetRenderedBitmap","_FPDFImageObj_LoadJpegFile","_FPDFImageObj_LoadJpegFileInline","_FPDFImageObj_SetBitmap","_FPDFImageObj_SetMatrix","_FPDFJavaScriptAction_GetName","_FPDFJavaScriptAction_GetScript","_FPDFLink_CloseWebLinks","_FPDFLink_CountQuadPoints","_FPDFLink_CountRects","_FPDFLink_CountWebLinks","_FPDFLink_Enumerate","_FPDFLink_GetAction","_FPDFLink_GetAnnot","_FPDFLink_GetAnnotRect","_FPDFLink_GetDest","_FPDFLink_GetLinkAtPoint","_FPDFLink_GetLinkZOrderAtPoint","_FPDFLink_GetQuadPoints","_FPDFLink_GetRect","_FPDFLink_GetTextRange","_FPDFLink_GetURL","_FPDFLink_LoadWebLinks","_FPDFPage_CloseAnnot","_FPDFPage_CountObjects","_FPDFPage_CreateAnnot","_FPDFPage_Delete","_FPDFPage_Flatten","_FPDFPage_FormFieldZOrderAtPoint","_FPDFPage_GenerateContent","_FPDFPage_GetAnnot","_FPDFPage_GetAnnotCount","_FPDFPage_GetAnnotIndex","_FPDFPage_GetArtBox","_FPDFPage_GetBleedBox","_FPDFPage_GetCropBox","_FPDFPage_GetDecodedThumbnailData","_FPDFPage_GetMediaBox","_FPDFPage_GetObject","_FPDFPage_GetRawThumbnailData","_FPDFPage_GetRotation","_FPDFPage_GetThumbnailAsBitmap","_FPDFPage_GetTrimBox","_FPDFPage_HasFormFieldAtPoint","_FPDFPage_HasTransparency","_FPDFPage_InsertClipPath","_FPDFPage_InsertObject","_FPDFPage_InsertObjectAtIndex","_FPDFPage_New","_FPDFPage_RemoveAnnot","_FPDFPage_RemoveObject","_FPDFPage_SetArtBox","_FPDFPage_SetBleedBox","_FPDFPage_SetCropBox","_FPDFPage_SetMediaBox","_FPDFPage_SetRotation","_FPDFPage_SetTrimBox","_FPDFPage_TransformAnnots","_FPDFPage_TransFormWithClip","_FPDFPageObj_AddExistingMark","_FPDFPageObj_AddMark","_FPDFPageObj_CountMarks","_FPDFPageObj_CreateNewPath","_FPDFPageObj_CreateNewRect","_FPDFPageObj_CreateTextObj","_FPDFPageObj_Destroy","_FPDFPageObj_GetBounds","_FPDFPageObj_GetClipPath","_FPDFPageObj_GetDashArray","_FPDFPageObj_GetDashCount","_FPDFPageObj_GetDashPhase","_FPDFPageObj_GetFillColor","_FPDFPageObj_GetIsActive","_FPDFPageObj_GetLineCap","_FPDFPageObj_GetLineJoin","_FPDFPageObj_GetMark","_FPDFPageObj_GetMarkedContentID","_FPDFPageObj_GetMatrix","_FPDFPageObj_GetRenderedFillPattern","_FPDFPageObj_GetRenderedStrokePattern","_FPDFPageObj_GetRotatedBounds","_FPDFPageObj_GetStrokeColor","_FPDFPageObj_GetStrokeWidth","_FPDFPageObj_GetType","_FPDFPageObj_HasTransparency","_FPDFPageObj_NewImageObj","_FPDFPageObj_NewTextObj","_FPDFPageObj_RemoveMark","_FPDFPageObj_SetBlendMode","_FPDFPageObj_SetDashArray","_FPDFPageObj_SetDashPhase","_FPDFPageObj_SetFillColor","_FPDFPageObj_SetIsActive","_FPDFPageObj_SetLineCap","_FPDFPageObj_SetLineJoin","_FPDFPageObj_SetMatrix","_FPDFPageObj_SetStrokeColor","_FPDFPageObj_SetStrokeWidth","_FPDFPageObj_Transform","_FPDFPageObj_TransformClipPath","_FPDFPageObj_TransformF","_FPDFPageObjMark_CountParams","_FPDFPageObjMark_GetName","_FPDFPageObjMark_GetParamBlobValue","_FPDFPageObjMark_GetParamFloatValue","_FPDFPageObjMark_GetParamIntValue","_FPDFPageObjMark_GetParamKey","_FPDFPageObjMark_GetParamStringValue","_FPDFPageObjMark_GetParamValueType","_FPDFPageObjMark_RemoveParam","_FPDFPageObjMark_SetBlobParam","_FPDFPageObjMark_SetFloatParam","_FPDFPageObjMark_SetIntParam","_FPDFPageObjMark_SetStringParam","_FPDFPath_BezierTo","_FPDFPath_Close","_FPDFPath_CountSegments","_FPDFPath_GetBezierControlPoints","_FPDFPath_GetDrawMode","_FPDFPath_GetPathSegment","_FPDFPath_LineTo","_FPDFPath_MoveTo","_FPDFPath_SetDrawMode","_FPDFPathSegment_GetClose","_FPDFPathSegment_GetPoint","_FPDFPathSegment_GetType","_FPDFSignatureObj_GetByteRange","_FPDFSignatureObj_GetContents","_FPDFSignatureObj_GetDocMDPPermission","_FPDFSignatureObj_GetReason","_FPDFSignatureObj_GetSubFilter","_FPDFSignatureObj_GetTime","_FPDFText_ClosePage","_FPDFText_CountChars","_FPDFText_CountRects","_FPDFText_FindClose","_FPDFText_FindNext","_FPDFText_FindPrev","_FPDFText_FindStart","_FPDFText_GetBoundedText","_FPDFText_GetCharAngle","_FPDFText_GetCharBox","_FPDFText_GetCharIndexAtPos","_FPDFText_GetCharIndexFromTextIndex","_FPDFText_GetCharOrigin","_FPDFText_GetFillColor","_FPDFText_GetFontInfo","_FPDFText_GetFontSize","_FPDFText_GetFontWeight","_FPDFText_GetLooseCharBox","_FPDFText_GetMatrix","_FPDFText_GetRect","_FPDFText_GetSchCount","_FPDFText_GetSchResultIndex","_FPDFText_GetStrokeColor","_FPDFText_GetText","_FPDFText_GetTextIndexFromCharIndex","_FPDFText_GetTextObject","_FPDFText_GetUnicode","_FPDFText_HasUnicodeMapError","_FPDFText_IsGenerated","_FPDFText_IsHyphen","_FPDFText_LoadCidType2Font","_FPDFText_LoadFont","_FPDFText_LoadPage","_FPDFText_LoadStandardFont","_FPDFText_SetCharcodes","_FPDFText_SetPositions","_FPDFText_SetText","_FPDFTextObj_GetFont","_FPDFTextObj_GetFontSize","_FPDFTextObj_GetRenderedBitmap","_FPDFTextObj_GetText","_FPDFTextObj_GetTextRenderMode","_FPDFTextObj_SetFontSize","_FPDFTextObj_SetTextRenderMode","_malloc","_free","_memory","___indirect_function_table","onRuntimeInitialized"].forEach(u=>{Object.getOwnPropertyDescriptor(o,u)||Object.defineProperty(o,u,{get:()=>Oe("You are getting "+u+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>Oe("You are setting "+u+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})});var s=typeof window=="object",A=typeof WorkerGlobalScope<"u",d=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer",p=!s&&!d&&!A,m=Object.assign({},n),F=[],k="./this.program",P=(u,l)=>{throw l},B="";function y(u){return n.locateFile?n.locateFile(u,B):B+u}var x,I;if(p){if(typeof process=="object"&&typeof Uw=="function"||typeof window=="object"||typeof WorkerGlobalScope<"u")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)")}else if(s||A){if(A?B=self.location.href:typeof document<"u"&&document.currentScript&&(B=document.currentScript.src),e&&(B=e),B.startsWith("blob:")?B="":B=B.substr(0,B.replace(/[?#].*/,"").lastIndexOf("/")+1),!(typeof window=="object"||typeof WorkerGlobalScope<"u"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");A&&(I=u=>{var l=new XMLHttpRequest;return l.open("GET",u,!1),l.responseType="arraybuffer",l.send(null),new Uint8Array(l.response)}),x=u=>(Q(!hw(u),"readAsync does not work with file:// URLs"),fetch(u,{credentials:"same-origin"}).then(l=>l.ok?l.arrayBuffer():Promise.reject(new Error(l.status+" : "+l.url))))}else throw new Error("environment detection error");var S=n.print||console.log.bind(console),G=n.printErr||console.error.bind(console);Object.assign(n,m),m=null,lE(),n.arguments&&(F=n.arguments),Dr("arguments","arguments_"),n.thisProgram&&(k=n.thisProgram),Dr("thisProgram","thisProgram"),Q(typeof n.memoryInitializerPrefixURL>"u","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),Q(typeof n.pthreadMainPrefixURL>"u","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),Q(typeof n.cdInitializerPrefixURL>"u","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),Q(typeof n.filePackagePrefixURL>"u","Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),Q(typeof n.read>"u","Module.read option was removed"),Q(typeof n.readAsync>"u","Module.readAsync option was removed (modify readAsync in JS)"),Q(typeof n.readBinary>"u","Module.readBinary option was removed (modify readBinary in JS)"),Q(typeof n.setWindowTitle>"u","Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)"),Q(typeof n.TOTAL_MEMORY>"u","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),Dr("asm","wasmExports"),Dr("readAsync","readAsync"),Dr("readBinary","readBinary"),Dr("setWindowTitle","setWindowTitle"),Q(!d,"node environment detected but not enabled at build time. Add `node` to `-sENVIRONMENT` to enable."),Q(!p,"shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.");var T=n.wasmBinary;Dr("wasmBinary","wasmBinary"),typeof WebAssembly!="object"&&G("no native wasm support detected");var W,Pe=!1,be;function Q(u,l){u||Oe("Assertion failed"+(l?": "+l:""))}var q,oe,se,dt,z,Be,cn,ki;function bw(){var u=W.buffer;n.HEAP8=q=new Int8Array(u),n.HEAP16=se=new Int16Array(u),n.HEAPU8=oe=new Uint8Array(u),n.HEAPU16=dt=new Uint16Array(u),n.HEAP32=z=new Int32Array(u),n.HEAPU32=Be=new Uint32Array(u),n.HEAPF32=cn=new Float32Array(u),n.HEAPF64=ki=new Float64Array(u)}Q(!n.STACK_SIZE,"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time"),Q(typeof Int32Array<"u"&&typeof Float64Array<"u"&&Int32Array.prototype.subarray!=null&&Int32Array.prototype.set!=null,"JS engine does not provide full typed array support"),Q(!n.wasmMemory,"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"),Q(!n.INITIAL_MEMORY,"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically");function ID(){var u=yd();Q((u&3)==0),u==0&&(u+=4),Be[u>>>2>>>0]=34821223,Be[u+4>>>2>>>0]=2310721022,Be[0]=1668509029}function gd(){if(!Pe){var u=yd();u==0&&(u+=4);var l=Be[u>>>2>>>0],b=Be[u+4>>>2>>>0];(l!=34821223||b!=2310721022)&&Oe(`Stack overflow! Stack cookie has been overwritten at ${ja(u)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ja(b)} ${ja(l)}`),Be[0]!=1668509029&&Oe("Runtime error: The application has corrupted its heap memory area (address zero)!")}}var fw=[],gw=[],Fw=[],Ts=!1;function SD(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)OD(n.preRun.shift());vd(fw)}function xD(){Q(!Ts),Ts=!0,gd(),!n.noFSInit&&!h.initialized&&h.init(),h.ignorePermissions=!1,xn.init(),vd(gw)}function HD(){if(gd(),n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)RD(n.postRun.shift());vd(Fw)}function OD(u){fw.unshift(u)}function QD(u){gw.unshift(u)}function RD(u){Fw.unshift(u)}Q(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),Q(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),Q(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),Q(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var hr=0,kr=null,La=null,Di={};function vw(u){for(var l=u;;){if(!Di[u])return u;u=l+Math.random()}}function Fd(u){hr++,n.monitorRunDependencies?.(hr),u?(Q(!Di[u]),Di[u]=1,kr===null&&typeof setInterval<"u"&&(kr=setInterval(()=>{if(Pe){clearInterval(kr),kr=null;return}var l=!1;for(var b in Di)l||(l=!0,G("still waiting on run dependencies:")),G(`dependency: ${b}`);l&&G("(end of list)")},1e4))):G("warning: run dependency added without ID")}function Ms(u){if(hr--,n.monitorRunDependencies?.(hr),u?(Q(Di[u]),delete Di[u]):G("warning: run dependency removed without ID"),hr==0&&(kr!==null&&(clearInterval(kr),kr=null),La)){var l=La;La=null,l()}}function Oe(u){n.onAbort?.(u),u="Aborted("+u+")",G(u),Pe=!0;var l=new WebAssembly.RuntimeError(u);throw a(l),l}var TD="data:application/octet-stream;base64,",Pw=u=>u.startsWith(TD),hw=u=>u.startsWith("file://");function c(u,l){return(...b)=>{Q(Ts,`native function \`${u}\` called before runtime initialization`);var v=Xe[u];return Q(v,`exported native function \`${u}\` not found`),Q(b.length<=l,`native function \`${u}\` called with ${b.length} args but expects ${l}`),v(...b)}}function MD(){if(n.locateFile){var u="embedpdf.wasm";return Pw(u)?u:y(u)}return new URL("embedpdf.wasm",self.location.href).href}var Na;function kw(u){if(u==Na&&T)return new Uint8Array(T);if(I)return I(u);throw"both async and sync fetching of the wasm failed"}function LD(u){return T?Promise.resolve().then(()=>kw(u)):x(u).then(l=>new Uint8Array(l),()=>kw(u))}function Dw(u,l,b){return LD(u).then(v=>WebAssembly.instantiate(v,l)).then(b,v=>{G(`failed to asynchronously prepare wasm: ${v}`),hw(Na)&&G(`warning: Loading from a file URI (${Na}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`),Oe(v)})}function ND(u,l,b,v){return!u&&typeof WebAssembly.instantiateStreaming=="function"&&!Pw(l)&&typeof fetch=="function"?fetch(l,{credentials:"same-origin"}).then(D=>{var E=WebAssembly.instantiateStreaming(D,b);return E.then(v,function(_){return G(`wasm streaming compile failed: ${_}`),G("falling back to ArrayBuffer instantiation"),Dw(l,b,v)})}):Dw(l,b,v)}function jD(){return{env:Lw,wasi_snapshot_preview1:Lw}}function KD(){function u(D,E){return Xe=D.exports,Xe=GE(Xe),n.wasmExports=Xe,W=Xe.memory,Q(W,"memory not found in wasm exports"),bw(),Hn=Xe.__indirect_function_table,Q(Hn,"table not found in wasm exports"),QD(Xe.__wasm_call_ctors),Ms("wasm-instantiate"),Xe}Fd("wasm-instantiate");var l=n;function b(D){Q(n===l,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),l=null,u(D.instance)}var v=jD();if(n.instantiateWasm)try{return n.instantiateWasm(v,u)}catch(D){G(`Module.instantiateWasm callback failed with error: ${D}`),a(D)}return Na??(Na=MD()),ND(T,Na,v,b).catch(a),{}}var re,Qe;if((()=>{var u=new Int16Array(1),l=new Int8Array(u.buffer);if(u[0]=25459,l[0]!==115||l[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})(),n.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");function Dr(u,l,b=!0){Object.getOwnPropertyDescriptor(n,u)||Object.defineProperty(n,u,{configurable:!0,get(){let v=b?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":"";Oe(`\`Module.${u}\` has been replaced by \`${l}\``+v)}})}function VD(u){Object.getOwnPropertyDescriptor(n,u)&&Oe(`\`Module.${u}\` was supplied but \`${u}\` not included in INCOMING_MODULE_JS_API`)}function Bw(u){return u==="FS_createPath"||u==="FS_createDataFile"||u==="FS_createPreloadedFile"||u==="FS_unlink"||u==="addRunDependency"||u==="FS_createLazyFile"||u==="FS_createDevice"||u==="removeRunDependency"}function Ew(u,l){typeof globalThis<"u"&&!Object.getOwnPropertyDescriptor(globalThis,u)&&Object.defineProperty(globalThis,u,{configurable:!0,get(){l()}})}function _w(u,l){Ew(u,()=>{dn(`\`${u}\` is not longer defined by emscripten. ${l}`)})}_w("buffer","Please use HEAP8.buffer or wasmMemory.buffer"),_w("asm","Please use wasmExports instead");function YD(u){Ew(u,()=>{var l=`\`${u}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`,b=u;b.startsWith("_")||(b="$"+u),l+=` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${b}')`,Bw(u)&&(l+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),dn(l)}),yw(u)}function yw(u){Object.getOwnPropertyDescriptor(n,u)||Object.defineProperty(n,u,{configurable:!0,get(){var l=`'${u}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;Bw(u)&&(l+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),Oe(l)}})}class XD{constructor(l){Wt(this,"name","ExitStatus");this.message=`Program terminated with exit(${l})`,this.status=l}}var vd=u=>{for(;u.length>0;)u.shift()(n)};function WD(u,l="i8"){switch(l.endsWith("*")&&(l="*"),l){case"i1":return q[u>>>0];case"i8":return q[u>>>0];case"i16":return se[u>>>1>>>0];case"i32":return z[u>>>2>>>0];case"i64":Oe("to do getValue(i64) use WASM_BIGINT");case"float":return cn[u>>>2>>>0];case"double":return ki[u>>>3>>>0];case"*":return Be[u>>>2>>>0];default:Oe(`invalid type for getValue: ${l}`)}}var UD=n.noExitRuntime||!0,ja=u=>(Q(typeof u=="number"),"0x"+u.toString(16).padStart(8,"0"));function qD(u,l,b="i8"){switch(b.endsWith("*")&&(b="*"),b){case"i1":q[u>>>0]=l;break;case"i8":q[u>>>0]=l;break;case"i16":se[u>>>1>>>0]=l;break;case"i32":z[u>>>2>>>0]=l;break;case"i64":Oe("to do setValue(i64) use WASM_BIGINT");case"float":cn[u>>>2>>>0]=l;break;case"double":ki[u>>>3>>>0]=l;break;case"*":Be[u>>>2>>>0]=l;break;default:Oe(`invalid type for setValue: ${b}`)}}var Bt=u=>Kw(u),Et=()=>Yw(),dn=u=>{dn.shown||(dn.shown={}),dn.shown[u]||(dn.shown[u]=1,G(u))},Bi=(u,l)=>(Q(u==u>>>0||u==(u|0)),Q(l===(l|0)),l+2097152>>>0<4194305-!!u?(u>>>0)+l*4294967296:NaN),Gw=typeof TextDecoder<"u"?new TextDecoder:void 0,Ei=(u,l=0,b=NaN)=>{l>>>=0;for(var v=l+b,D=l;u[D]&&!(D>=v);)++D;if(D-l>16&&u.buffer&&Gw)return Gw.decode(u.subarray(l,D));for(var E="";l>10,56320|$&1023)}}return E},Zn=(u,l)=>(Q(typeof u=="number",`UTF8ToString expects a number (got ${typeof u})`),u>>>=0,u?Ei(oe,u,l):"");function zD(u,l,b,v){u>>>=0,l>>>=0,v>>>=0,Oe(`Assertion failed: ${Zn(u)}, at: `+[l?Zn(l):"unknown filename",b,v?Zn(v):"unknown function"])}var Ls=()=>{Q(ke.varargs!=null);var u=z[+ke.varargs>>>2>>>0];return ke.varargs+=4,u},_i=Ls,Ge={isAbs:u=>u.charAt(0)==="/",splitPath:u=>{var l=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return l.exec(u).slice(1)},normalizeArray:(u,l)=>{for(var b=0,v=u.length-1;v>=0;v--){var D=u[v];D==="."?u.splice(v,1):D===".."?(u.splice(v,1),b++):b&&(u.splice(v,1),b--)}if(l)for(;b;b--)u.unshift("..");return u},normalize:u=>{var l=Ge.isAbs(u),b=u.substr(-1)==="/";return u=Ge.normalizeArray(u.split("/").filter(v=>!!v),!l).join("/"),!u&&!l&&(u="."),u&&b&&(u+="/"),(l?"/":"")+u},dirname:u=>{var l=Ge.splitPath(u),b=l[0],v=l[1];return!b&&!v?".":(v&&(v=v.substr(0,v.length-1)),b+v)},basename:u=>{if(u==="/")return"/";u=Ge.normalize(u),u=u.replace(/\/$/,"");var l=u.lastIndexOf("/");return l===-1?u:u.substr(l+1)},join:(...u)=>Ge.normalize(u.join("/")),join2:(u,l)=>Ge.normalize(u+"/"+l)},ZD=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return u=>crypto.getRandomValues(u);Oe("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")},Pd=u=>(Pd=ZD())(u),Sn={resolve:(...u)=>{for(var l="",b=!1,v=u.length-1;v>=-1&&!b;v--){var D=v>=0?u[v]:h.cwd();if(typeof D!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!D)return"";l=D+"/"+l,b=Ge.isAbs(D)}return l=Ge.normalizeArray(l.split("/").filter(E=>!!E),!b).join("/"),(b?"/":"")+l||"."},relative:(u,l)=>{u=Sn.resolve(u).substr(1),l=Sn.resolve(l).substr(1);function b($){for(var te=0;te<$.length&&$[te]==="";te++);for(var ae=$.length-1;ae>=0&&$[ae]==="";ae--);return te>ae?[]:$.slice(te,ae-te+1)}for(var v=b(u.split("/")),D=b(l.split("/")),E=Math.min(v.length,D.length),_=E,C=0;C{for(var l=0,b=0;b=55296&&v<=57343?(l+=4,++b):l+=3}return l},kd=(u,l,b,v)=>{if(b>>>=0,Q(typeof u=="string",`stringToUTF8Array expects a string (got ${typeof u})`),!(v>0))return 0;for(var D=b,E=b+v-1,_=0;_=55296&&C<=57343){var M=u.charCodeAt(++_);C=65536+((C&1023)<<10)|M&1023}if(C<=127){if(b>=E)break;l[b++>>>0]=C}else if(C<=2047){if(b+1>=E)break;l[b++>>>0]=192|C>>6,l[b++>>>0]=128|C&63}else if(C<=65535){if(b+2>=E)break;l[b++>>>0]=224|C>>12,l[b++>>>0]=128|C>>6&63,l[b++>>>0]=128|C&63}else{if(b+3>=E)break;C>1114111&&dn("Invalid Unicode code point "+ja(C)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."),l[b++>>>0]=240|C>>18,l[b++>>>0]=128|C>>12&63,l[b++>>>0]=128|C>>6&63,l[b++>>>0]=128|C&63}}return l[b>>>0]=0,b-D};function Cw(u,l,b){var v=b>0?b:Ka(u)+1,D=new Array(v),E=kd(u,D,0,D.length);return l&&(D.length=E),D}var JD=()=>{if(!hd.length){var u=null;if(typeof window<"u"&&typeof window.prompt=="function"&&(u=window.prompt("Input: "),u!==null&&(u+=` -`)),!u)return null;hd=Cw(u,!0)}return hd.shift()},xn={ttys:[],init(){},shutdown(){},register(u,l){xn.ttys[u]={input:[],output:[],ops:l},h.registerDevice(u,xn.stream_ops)},stream_ops:{open(u){var l=xn.ttys[u.node.rdev];if(!l)throw new h.ErrnoError(43);u.tty=l,u.seekable=!1},close(u){u.tty.ops.fsync(u.tty)},fsync(u){u.tty.ops.fsync(u.tty)},read(u,l,b,v,D){if(!u.tty||!u.tty.ops.get_char)throw new h.ErrnoError(60);for(var E=0,_=0;_0&&(S(Ei(u.output)),u.output=[])},ioctl_tcgets(u){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(u,l,b){return 0},ioctl_tiocgwinsz(u){return[24,80]}},default_tty1_ops:{put_char(u,l){l===null||l===10?(G(Ei(u.output)),u.output=[]):l!=0&&u.output.push(l)},fsync(u){u.output&&u.output.length>0&&(G(Ei(u.output)),u.output=[])}}},$D=(u,l)=>{oe.fill(0,u,u+l)},Iw=(u,l)=>(Q(l,"alignment argument is required"),Math.ceil(u/l)*l),Sw=u=>{u=Iw(u,65536);var l=wE(65536,u);return l&&$D(l,u),l},Ae={ops_table:null,mount(u){return Ae.createNode(null,"/",16895,0)},createNode(u,l,b,v){if(h.isBlkdev(b)||h.isFIFO(b))throw new h.ErrnoError(63);Ae.ops_table||(Ae.ops_table={dir:{node:{getattr:Ae.node_ops.getattr,setattr:Ae.node_ops.setattr,lookup:Ae.node_ops.lookup,mknod:Ae.node_ops.mknod,rename:Ae.node_ops.rename,unlink:Ae.node_ops.unlink,rmdir:Ae.node_ops.rmdir,readdir:Ae.node_ops.readdir,symlink:Ae.node_ops.symlink},stream:{llseek:Ae.stream_ops.llseek}},file:{node:{getattr:Ae.node_ops.getattr,setattr:Ae.node_ops.setattr},stream:{llseek:Ae.stream_ops.llseek,read:Ae.stream_ops.read,write:Ae.stream_ops.write,allocate:Ae.stream_ops.allocate,mmap:Ae.stream_ops.mmap,msync:Ae.stream_ops.msync}},link:{node:{getattr:Ae.node_ops.getattr,setattr:Ae.node_ops.setattr,readlink:Ae.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Ae.node_ops.getattr,setattr:Ae.node_ops.setattr},stream:h.chrdev_stream_ops}});var D=h.createNode(u,l,b,v);return h.isDir(D.mode)?(D.node_ops=Ae.ops_table.dir.node,D.stream_ops=Ae.ops_table.dir.stream,D.contents={}):h.isFile(D.mode)?(D.node_ops=Ae.ops_table.file.node,D.stream_ops=Ae.ops_table.file.stream,D.usedBytes=0,D.contents=null):h.isLink(D.mode)?(D.node_ops=Ae.ops_table.link.node,D.stream_ops=Ae.ops_table.link.stream):h.isChrdev(D.mode)&&(D.node_ops=Ae.ops_table.chrdev.node,D.stream_ops=Ae.ops_table.chrdev.stream),D.timestamp=Date.now(),u&&(u.contents[l]=D,u.timestamp=D.timestamp),D},getFileDataAsTypedArray(u){return u.contents?u.contents.subarray?u.contents.subarray(0,u.usedBytes):new Uint8Array(u.contents):new Uint8Array(0)},expandFileStorage(u,l){var b=u.contents?u.contents.length:0;if(!(b>=l)){var v=1024*1024;l=Math.max(l,b*(b>>0),b!=0&&(l=Math.max(l,256));var D=u.contents;u.contents=new Uint8Array(l),u.usedBytes>0&&u.contents.set(D.subarray(0,u.usedBytes),0)}},resizeFileStorage(u,l){if(u.usedBytes!=l)if(l==0)u.contents=null,u.usedBytes=0;else{var b=u.contents;u.contents=new Uint8Array(l),b&&u.contents.set(b.subarray(0,Math.min(l,u.usedBytes))),u.usedBytes=l}},node_ops:{getattr(u){var l={};return l.dev=h.isChrdev(u.mode)?u.id:1,l.ino=u.id,l.mode=u.mode,l.nlink=1,l.uid=0,l.gid=0,l.rdev=u.rdev,h.isDir(u.mode)?l.size=4096:h.isFile(u.mode)?l.size=u.usedBytes:h.isLink(u.mode)?l.size=u.link.length:l.size=0,l.atime=new Date(u.timestamp),l.mtime=new Date(u.timestamp),l.ctime=new Date(u.timestamp),l.blksize=4096,l.blocks=Math.ceil(l.size/l.blksize),l},setattr(u,l){l.mode!==void 0&&(u.mode=l.mode),l.timestamp!==void 0&&(u.timestamp=l.timestamp),l.size!==void 0&&Ae.resizeFileStorage(u,l.size)},lookup(u,l){throw new h.ErrnoError(44)},mknod(u,l,b,v){return Ae.createNode(u,l,b,v)},rename(u,l,b){if(h.isDir(u.mode)){var v;try{v=h.lookupNode(l,b)}catch{}if(v)for(var D in v.contents)throw new h.ErrnoError(55)}delete u.parent.contents[u.name],u.parent.timestamp=Date.now(),u.name=b,l.contents[b]=u,l.timestamp=u.parent.timestamp},unlink(u,l){delete u.contents[l],u.timestamp=Date.now()},rmdir(u,l){var b=h.lookupNode(u,l);for(var v in b.contents)throw new h.ErrnoError(55);delete u.contents[l],u.timestamp=Date.now()},readdir(u){var l=[".",".."];for(var b of Object.keys(u.contents))l.push(b);return l},symlink(u,l,b){var v=Ae.createNode(u,l,41471,0);return v.link=b,v},readlink(u){if(!h.isLink(u.mode))throw new h.ErrnoError(28);return u.link}},stream_ops:{read(u,l,b,v,D){var E=u.node.contents;if(D>=u.node.usedBytes)return 0;var _=Math.min(u.node.usedBytes-D,v);if(Q(_>=0),_>8&&E.subarray)l.set(E.subarray(D,D+_),b);else for(var C=0;C<_;C++)l[b+C]=E[D+C];return _},write(u,l,b,v,D,E){if(Q(!(l instanceof ArrayBuffer)),l.buffer===q.buffer&&(E=!1),!v)return 0;var _=u.node;if(_.timestamp=Date.now(),l.subarray&&(!_.contents||_.contents.subarray)){if(E)return Q(D===0,"canOwn must imply no weird position inside the file"),_.contents=l.subarray(b,b+v),_.usedBytes=v,v;if(_.usedBytes===0&&D===0)return _.contents=l.slice(b,b+v),_.usedBytes=v,v;if(D+v<=_.usedBytes)return _.contents.set(l.subarray(b,b+v),D),v}if(Ae.expandFileStorage(_,D+v),_.contents.subarray&&l.subarray)_.contents.set(l.subarray(b,b+v),D);else for(var C=0;C0||b+l>>0))}return{ptr:E,allocated:_}},msync(u,l,b,v,D){return Ae.stream_ops.write(u,l,0,v,b,!1),0}}},eB=(u,l,b,v)=>{var D=v?"":vw(`al ${u}`);x(u).then(E=>{Q(E,`Loading data file "${u}" failed (no arrayBuffer).`),l(new Uint8Array(E)),D&&Ms(D)},E=>{if(b)b();else throw`Loading data file "${u}" failed.`}),D&&Fd(D)},tB=(u,l,b,v,D,E)=>{h.createDataFile(u,l,b,v,D,E)},nB=n.preloadPlugins||[],rB=(u,l,b,v)=>{typeof Browser<"u"&&Browser.init();var D=!1;return nB.forEach(E=>{D||E.canHandle(l)&&(E.handle(u,l,b,v),D=!0)}),D},iB=(u,l,b,v,D,E,_,C,M,$)=>{var te=l?Sn.resolve(Ge.join2(u,l)):u,ae=vw(`cp ${te}`);function ce(Z){function ie(ye){$?.(),C||tB(u,l,ye,v,D,M),E?.(),Ms(ae)}rB(Z,te,ie,()=>{_?.(),Ms(ae)})||ie(Z)}Fd(ae),typeof b=="string"?eB(b,ce,_):ce(b)},aB=u=>{var l={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},b=l[u];if(typeof b>"u")throw new Error(`Unknown file open mode: ${u}`);return b},Dd=(u,l)=>{var b=0;return u&&(b|=365),l&&(b|=146),b},oB=u=>Zn(mE(u)),xw={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},h={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class extends Error{constructor(l){super(Ts?oB(l):"");Wt(this,"name","ErrnoError");this.errno=l;for(var b in xw)if(xw[b]===l){this.code=b;break}}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){Wt(this,"shared",{})}get object(){return this.node}set object(u){this.node=u}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(u){this.shared.flags=u}get position(){return this.shared.position}set position(u){this.shared.position=u}},FSNode:class{constructor(u,l,b,v){Wt(this,"node_ops",{});Wt(this,"stream_ops",{});Wt(this,"readMode",365);Wt(this,"writeMode",146);Wt(this,"mounted",null);u||(u=this),this.parent=u,this.mount=u.mount,this.id=h.nextInode++,this.name=l,this.mode=b,this.rdev=v}get read(){return(this.mode&this.readMode)===this.readMode}set read(u){u?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(u){u?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return h.isDir(this.mode)}get isDevice(){return h.isChrdev(this.mode)}},lookupPath(u,l={}){if(u=Sn.resolve(u),!u)return{path:"",node:null};var b={follow_mount:!0,recurse_count:0};if(l=Object.assign(b,l),l.recurse_count>8)throw new h.ErrnoError(32);for(var v=u.split("/").filter(ae=>!!ae),D=h.root,E="/",_=0;_40)throw new h.ErrnoError(32)}}return{path:E,node:D}},getPath(u){for(var l;;){if(h.isRoot(u)){var b=u.mount.mountpoint;return l?b[b.length-1]!=="/"?`${b}/${l}`:b+l:b}l=l?`${u.name}/${l}`:u.name,u=u.parent}},hashName(u,l){for(var b=0,v=0;v>>0)%h.nameTable.length},hashAddNode(u){var l=h.hashName(u.parent.id,u.name);u.name_next=h.nameTable[l],h.nameTable[l]=u},hashRemoveNode(u){var l=h.hashName(u.parent.id,u.name);if(h.nameTable[l]===u)h.nameTable[l]=u.name_next;else for(var b=h.nameTable[l];b;){if(b.name_next===u){b.name_next=u.name_next;break}b=b.name_next}},lookupNode(u,l){var b=h.mayLookup(u);if(b)throw new h.ErrnoError(b);for(var v=h.hashName(u.id,l),D=h.nameTable[v];D;D=D.name_next){var E=D.name;if(D.parent.id===u.id&&E===l)return D}return h.lookup(u,l)},createNode(u,l,b,v){Q(typeof u=="object");var D=new h.FSNode(u,l,b,v);return h.hashAddNode(D),D},destroyNode(u){h.hashRemoveNode(u)},isRoot(u){return u===u.parent},isMountpoint(u){return!!u.mounted},isFile(u){return(u&61440)===32768},isDir(u){return(u&61440)===16384},isLink(u){return(u&61440)===40960},isChrdev(u){return(u&61440)===8192},isBlkdev(u){return(u&61440)===24576},isFIFO(u){return(u&61440)===4096},isSocket(u){return(u&49152)===49152},flagsToPermissionString(u){var l=["r","w","rw"][u&3];return u&512&&(l+="w"),l},nodePermissions(u,l){return h.ignorePermissions?0:l.includes("r")&&!(u.mode&292)||l.includes("w")&&!(u.mode&146)||l.includes("x")&&!(u.mode&73)?2:0},mayLookup(u){if(!h.isDir(u.mode))return 54;var l=h.nodePermissions(u,"x");return l||(u.node_ops.lookup?0:2)},mayCreate(u,l){try{var b=h.lookupNode(u,l);return 20}catch{}return h.nodePermissions(u,"wx")},mayDelete(u,l,b){var v;try{v=h.lookupNode(u,l)}catch(E){return E.errno}var D=h.nodePermissions(u,"wx");if(D)return D;if(b){if(!h.isDir(v.mode))return 54;if(h.isRoot(v)||h.getPath(v)===h.cwd())return 10}else if(h.isDir(v.mode))return 31;return 0},mayOpen(u,l){return u?h.isLink(u.mode)?32:h.isDir(u.mode)&&(h.flagsToPermissionString(l)!=="r"||l&512)?31:h.nodePermissions(u,h.flagsToPermissionString(l)):44},MAX_OPEN_FDS:4096,nextfd(){for(var u=0;u<=h.MAX_OPEN_FDS;u++)if(!h.streams[u])return u;throw new h.ErrnoError(33)},getStreamChecked(u){var l=h.getStream(u);if(!l)throw new h.ErrnoError(8);return l},getStream:u=>h.streams[u],createStream(u,l=-1){return Q(l>=-1),u=Object.assign(new h.FSStream,u),l==-1&&(l=h.nextfd()),u.fd=l,h.streams[l]=u,u},closeStream(u){h.streams[u]=null},dupStream(u,l=-1){var b=h.createStream(u,l);return b.stream_ops?.dup?.(b),b},chrdev_stream_ops:{open(u){var l=h.getDevice(u.node.rdev);u.stream_ops=l.stream_ops,u.stream_ops.open?.(u)},llseek(){throw new h.ErrnoError(70)}},major:u=>u>>8,minor:u=>u&255,makedev:(u,l)=>u<<8|l,registerDevice(u,l){h.devices[u]={stream_ops:l}},getDevice:u=>h.devices[u],getMounts(u){for(var l=[],b=[u];b.length;){var v=b.pop();l.push(v),b.push(...v.mounts)}return l},syncfs(u,l){typeof u=="function"&&(l=u,u=!1),h.syncFSRequests++,h.syncFSRequests>1&&G(`warning: ${h.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var b=h.getMounts(h.root.mount),v=0;function D(_){return Q(h.syncFSRequests>0),h.syncFSRequests--,l(_)}function E(_){if(_)return E.errored?void 0:(E.errored=!0,D(_));++v>=b.length&&D(null)}b.forEach(_=>{if(!_.type.syncfs)return E(null);_.type.syncfs(_,u,E)})},mount(u,l,b){if(typeof u=="string")throw u;var v=b==="/",D=!b,E;if(v&&h.root)throw new h.ErrnoError(10);if(!v&&!D){var _=h.lookupPath(b,{follow_mount:!1});if(b=_.path,E=_.node,h.isMountpoint(E))throw new h.ErrnoError(10);if(!h.isDir(E.mode))throw new h.ErrnoError(54)}var C={type:u,opts:l,mountpoint:b,mounts:[]},M=u.mount(C);return M.mount=C,C.root=M,v?h.root=M:E&&(E.mounted=C,E.mount&&E.mount.mounts.push(C)),M},unmount(u){var l=h.lookupPath(u,{follow_mount:!1});if(!h.isMountpoint(l.node))throw new h.ErrnoError(28);var b=l.node,v=b.mounted,D=h.getMounts(v);Object.keys(h.nameTable).forEach(_=>{for(var C=h.nameTable[_];C;){var M=C.name_next;D.includes(C.mount)&&h.destroyNode(C),C=M}}),b.mounted=null;var E=b.mount.mounts.indexOf(v);Q(E!==-1),b.mount.mounts.splice(E,1)},lookup(u,l){return u.node_ops.lookup(u,l)},mknod(u,l,b){var v=h.lookupPath(u,{parent:!0}),D=v.node,E=Ge.basename(u);if(!E||E==="."||E==="..")throw new h.ErrnoError(28);var _=h.mayCreate(D,E);if(_)throw new h.ErrnoError(_);if(!D.node_ops.mknod)throw new h.ErrnoError(63);return D.node_ops.mknod(D,E,l,b)},create(u,l){return l=l!==void 0?l:438,l&=4095,l|=32768,h.mknod(u,l,0)},mkdir(u,l){return l=l!==void 0?l:511,l&=1023,l|=16384,h.mknod(u,l,0)},mkdirTree(u,l){for(var b=u.split("/"),v="",D=0;D"u"&&(b=l,l=438),l|=8192,h.mknod(u,l,b)},symlink(u,l){if(!Sn.resolve(u))throw new h.ErrnoError(44);var b=h.lookupPath(l,{parent:!0}),v=b.node;if(!v)throw new h.ErrnoError(44);var D=Ge.basename(l),E=h.mayCreate(v,D);if(E)throw new h.ErrnoError(E);if(!v.node_ops.symlink)throw new h.ErrnoError(63);return v.node_ops.symlink(v,D,u)},rename(u,l){var b=Ge.dirname(u),v=Ge.dirname(l),D=Ge.basename(u),E=Ge.basename(l),_,C,M;if(_=h.lookupPath(u,{parent:!0}),C=_.node,_=h.lookupPath(l,{parent:!0}),M=_.node,!C||!M)throw new h.ErrnoError(44);if(C.mount!==M.mount)throw new h.ErrnoError(75);var $=h.lookupNode(C,D),te=Sn.relative(u,v);if(te.charAt(0)!==".")throw new h.ErrnoError(28);if(te=Sn.relative(l,b),te.charAt(0)!==".")throw new h.ErrnoError(55);var ae;try{ae=h.lookupNode(M,E)}catch{}if($!==ae){var ce=h.isDir($.mode),Z=h.mayDelete(C,D,ce);if(Z)throw new h.ErrnoError(Z);if(Z=ae?h.mayDelete(M,E,ce):h.mayCreate(M,E),Z)throw new h.ErrnoError(Z);if(!C.node_ops.rename)throw new h.ErrnoError(63);if(h.isMountpoint($)||ae&&h.isMountpoint(ae))throw new h.ErrnoError(10);if(M!==C&&(Z=h.nodePermissions(C,"w"),Z))throw new h.ErrnoError(Z);h.hashRemoveNode($);try{C.node_ops.rename($,M,E),$.parent=M}catch(ie){throw ie}finally{h.hashAddNode($)}}},rmdir(u){var l=h.lookupPath(u,{parent:!0}),b=l.node,v=Ge.basename(u),D=h.lookupNode(b,v),E=h.mayDelete(b,v,!0);if(E)throw new h.ErrnoError(E);if(!b.node_ops.rmdir)throw new h.ErrnoError(63);if(h.isMountpoint(D))throw new h.ErrnoError(10);b.node_ops.rmdir(b,v),h.destroyNode(D)},readdir(u){var l=h.lookupPath(u,{follow:!0}),b=l.node;if(!b.node_ops.readdir)throw new h.ErrnoError(54);return b.node_ops.readdir(b)},unlink(u){var l=h.lookupPath(u,{parent:!0}),b=l.node;if(!b)throw new h.ErrnoError(44);var v=Ge.basename(u),D=h.lookupNode(b,v),E=h.mayDelete(b,v,!1);if(E)throw new h.ErrnoError(E);if(!b.node_ops.unlink)throw new h.ErrnoError(63);if(h.isMountpoint(D))throw new h.ErrnoError(10);b.node_ops.unlink(b,v),h.destroyNode(D)},readlink(u){var l=h.lookupPath(u),b=l.node;if(!b)throw new h.ErrnoError(44);if(!b.node_ops.readlink)throw new h.ErrnoError(28);return Sn.resolve(h.getPath(b.parent),b.node_ops.readlink(b))},stat(u,l){var b=h.lookupPath(u,{follow:!l}),v=b.node;if(!v)throw new h.ErrnoError(44);if(!v.node_ops.getattr)throw new h.ErrnoError(63);return v.node_ops.getattr(v)},lstat(u){return h.stat(u,!0)},chmod(u,l,b){var v;if(typeof u=="string"){var D=h.lookupPath(u,{follow:!b});v=D.node}else v=u;if(!v.node_ops.setattr)throw new h.ErrnoError(63);v.node_ops.setattr(v,{mode:l&4095|v.mode&-4096,timestamp:Date.now()})},lchmod(u,l){h.chmod(u,l,!0)},fchmod(u,l){var b=h.getStreamChecked(u);h.chmod(b.node,l)},chown(u,l,b,v){var D;if(typeof u=="string"){var E=h.lookupPath(u,{follow:!v});D=E.node}else D=u;if(!D.node_ops.setattr)throw new h.ErrnoError(63);D.node_ops.setattr(D,{timestamp:Date.now()})},lchown(u,l,b){h.chown(u,l,b,!0)},fchown(u,l,b){var v=h.getStreamChecked(u);h.chown(v.node,l,b)},truncate(u,l){if(l<0)throw new h.ErrnoError(28);var b;if(typeof u=="string"){var v=h.lookupPath(u,{follow:!0});b=v.node}else b=u;if(!b.node_ops.setattr)throw new h.ErrnoError(63);if(h.isDir(b.mode))throw new h.ErrnoError(31);if(!h.isFile(b.mode))throw new h.ErrnoError(28);var D=h.nodePermissions(b,"w");if(D)throw new h.ErrnoError(D);b.node_ops.setattr(b,{size:l,timestamp:Date.now()})},ftruncate(u,l){var b=h.getStreamChecked(u);if((b.flags&2097155)===0)throw new h.ErrnoError(28);h.truncate(b.node,l)},utime(u,l,b){var v=h.lookupPath(u,{follow:!0}),D=v.node;D.node_ops.setattr(D,{timestamp:Math.max(l,b)})},open(u,l,b){if(u==="")throw new h.ErrnoError(44);l=typeof l=="string"?aB(l):l,l&64?(b=typeof b>"u"?438:b,b=b&4095|32768):b=0;var v;if(typeof u=="object")v=u;else{u=Ge.normalize(u);try{var D=h.lookupPath(u,{follow:!(l&131072)});v=D.node}catch{}}var E=!1;if(l&64)if(v){if(l&128)throw new h.ErrnoError(20)}else v=h.mknod(u,b,0),E=!0;if(!v)throw new h.ErrnoError(44);if(h.isChrdev(v.mode)&&(l&=-513),l&65536&&!h.isDir(v.mode))throw new h.ErrnoError(54);if(!E){var _=h.mayOpen(v,l);if(_)throw new h.ErrnoError(_)}l&512&&!E&&h.truncate(v,0),l&=-131713;var C=h.createStream({node:v,path:h.getPath(v),flags:l,seekable:!0,position:0,stream_ops:v.stream_ops,ungotten:[],error:!1});return C.stream_ops.open&&C.stream_ops.open(C),n.logReadFiles&&!(l&1)&&(u in h.readFiles||(h.readFiles[u]=1)),C},close(u){if(h.isClosed(u))throw new h.ErrnoError(8);u.getdents&&(u.getdents=null);try{u.stream_ops.close&&u.stream_ops.close(u)}catch(l){throw l}finally{h.closeStream(u.fd)}u.fd=null},isClosed(u){return u.fd===null},llseek(u,l,b){if(h.isClosed(u))throw new h.ErrnoError(8);if(!u.seekable||!u.stream_ops.llseek)throw new h.ErrnoError(70);if(b!=0&&b!=1&&b!=2)throw new h.ErrnoError(28);return u.position=u.stream_ops.llseek(u,l,b),u.ungotten=[],u.position},read(u,l,b,v,D){if(Q(b>=0),v<0||D<0)throw new h.ErrnoError(28);if(h.isClosed(u))throw new h.ErrnoError(8);if((u.flags&2097155)===1)throw new h.ErrnoError(8);if(h.isDir(u.node.mode))throw new h.ErrnoError(31);if(!u.stream_ops.read)throw new h.ErrnoError(28);var E=typeof D<"u";if(!E)D=u.position;else if(!u.seekable)throw new h.ErrnoError(70);var _=u.stream_ops.read(u,l,b,v,D);return E||(u.position+=_),_},write(u,l,b,v,D,E){if(Q(b>=0),v<0||D<0)throw new h.ErrnoError(28);if(h.isClosed(u))throw new h.ErrnoError(8);if((u.flags&2097155)===0)throw new h.ErrnoError(8);if(h.isDir(u.node.mode))throw new h.ErrnoError(31);if(!u.stream_ops.write)throw new h.ErrnoError(28);u.seekable&&u.flags&1024&&h.llseek(u,0,2);var _=typeof D<"u";if(!_)D=u.position;else if(!u.seekable)throw new h.ErrnoError(70);var C=u.stream_ops.write(u,l,b,v,D,E);return _||(u.position+=C),C},allocate(u,l,b){if(h.isClosed(u))throw new h.ErrnoError(8);if(l<0||b<=0)throw new h.ErrnoError(28);if((u.flags&2097155)===0)throw new h.ErrnoError(8);if(!h.isFile(u.node.mode)&&!h.isDir(u.node.mode))throw new h.ErrnoError(43);if(!u.stream_ops.allocate)throw new h.ErrnoError(138);u.stream_ops.allocate(u,l,b)},mmap(u,l,b,v,D){if((v&2)!==0&&(D&2)===0&&(u.flags&2097155)!==2)throw new h.ErrnoError(2);if((u.flags&2097155)===1)throw new h.ErrnoError(2);if(!u.stream_ops.mmap)throw new h.ErrnoError(43);if(!l)throw new h.ErrnoError(28);return u.stream_ops.mmap(u,l,b,v,D)},msync(u,l,b,v,D){return Q(b>=0),u.stream_ops.msync?u.stream_ops.msync(u,l,b,v,D):0},ioctl(u,l,b){if(!u.stream_ops.ioctl)throw new h.ErrnoError(59);return u.stream_ops.ioctl(u,l,b)},readFile(u,l={}){if(l.flags=l.flags||0,l.encoding=l.encoding||"binary",l.encoding!=="utf8"&&l.encoding!=="binary")throw new Error(`Invalid encoding type "${l.encoding}"`);var b,v=h.open(u,l.flags),D=h.stat(u),E=D.size,_=new Uint8Array(E);return h.read(v,_,0,E,0),l.encoding==="utf8"?b=Ei(_):l.encoding==="binary"&&(b=_),h.close(v),b},writeFile(u,l,b={}){b.flags=b.flags||577;var v=h.open(u,b.flags,b.mode);if(typeof l=="string"){var D=new Uint8Array(Ka(l)+1),E=kd(l,D,0,D.length);h.write(v,D,0,E,void 0,b.canOwn)}else if(ArrayBuffer.isView(l))h.write(v,l,0,l.byteLength,void 0,b.canOwn);else throw new Error("Unsupported data type");h.close(v)},cwd:()=>h.currentPath,chdir(u){var l=h.lookupPath(u,{follow:!0});if(l.node===null)throw new h.ErrnoError(44);if(!h.isDir(l.node.mode))throw new h.ErrnoError(54);var b=h.nodePermissions(l.node,"x");if(b)throw new h.ErrnoError(b);h.currentPath=l.path},createDefaultDirectories(){h.mkdir("/tmp"),h.mkdir("/home"),h.mkdir("/home/web_user")},createDefaultDevices(){h.mkdir("/dev"),h.registerDevice(h.makedev(1,3),{read:()=>0,write:(v,D,E,_,C)=>_,llseek:()=>0}),h.mkdev("/dev/null",h.makedev(1,3)),xn.register(h.makedev(5,0),xn.default_tty_ops),xn.register(h.makedev(6,0),xn.default_tty1_ops),h.mkdev("/dev/tty",h.makedev(5,0)),h.mkdev("/dev/tty1",h.makedev(6,0));var u=new Uint8Array(1024),l=0,b=()=>(l===0&&(l=Pd(u).byteLength),u[--l]);h.createDevice("/dev","random",b),h.createDevice("/dev","urandom",b),h.mkdir("/dev/shm"),h.mkdir("/dev/shm/tmp")},createSpecialDirectories(){h.mkdir("/proc");var u=h.mkdir("/proc/self");h.mkdir("/proc/self/fd"),h.mount({mount(){var l=h.createNode(u,"fd",16895,73);return l.node_ops={lookup(b,v){var D=+v,E=h.getStreamChecked(D),_={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>E.path}};return _.parent=_,_}},l}},{},"/proc/self/fd")},createStandardStreams(u,l,b){u?h.createDevice("/dev","stdin",u):h.symlink("/dev/tty","/dev/stdin"),l?h.createDevice("/dev","stdout",null,l):h.symlink("/dev/tty","/dev/stdout"),b?h.createDevice("/dev","stderr",null,b):h.symlink("/dev/tty1","/dev/stderr");var v=h.open("/dev/stdin",0),D=h.open("/dev/stdout",1),E=h.open("/dev/stderr",1);Q(v.fd===0,`invalid handle for stdin (${v.fd})`),Q(D.fd===1,`invalid handle for stdout (${D.fd})`),Q(E.fd===2,`invalid handle for stderr (${E.fd})`)},staticInit(){h.nameTable=new Array(4096),h.mount(Ae,{},"/"),h.createDefaultDirectories(),h.createDefaultDevices(),h.createSpecialDirectories(),h.filesystems={MEMFS:Ae}},init(u,l,b){Q(!h.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),h.initialized=!0,u??(u=n.stdin),l??(l=n.stdout),b??(b=n.stderr),h.createStandardStreams(u,l,b)},quit(){h.initialized=!1,Nw(0);for(var u=0;uthis.length-1||Z<0)){var ie=Z%this.chunkSize,ye=Z/this.chunkSize|0;return this.getter(ye)[ie]}}setDataGetter(Z){this.getter=Z}cacheLength(){var Z=new XMLHttpRequest;if(Z.open("HEAD",b,!1),Z.send(null),!(Z.status>=200&&Z.status<300||Z.status===304))throw new Error("Couldn't load "+b+". Status: "+Z.status);var ie=Number(Z.getResponseHeader("Content-length")),ye,_t=(ye=Z.getResponseHeader("Accept-Ranges"))&&ye==="bytes",Pt=(ye=Z.getResponseHeader("Content-Encoding"))&&ye==="gzip",yt=1024*1024;_t||(yt=ie);var Xt=(un,yi)=>{if(un>yi)throw new Error("invalid range ("+un+", "+yi+") or no bytes requested!");if(yi>ie-1)throw new Error("only "+ie+" bytes available! programmer error!");var We=new XMLHttpRequest;if(We.open("GET",b,!1),ie!==yt&&We.setRequestHeader("Range","bytes="+un+"-"+yi),We.responseType="arraybuffer",We.overrideMimeType&&We.overrideMimeType("text/plain; charset=x-user-defined"),We.send(null),!(We.status>=200&&We.status<300||We.status===304))throw new Error("Couldn't load "+b+". Status: "+We.status);return We.response!==void 0?new Uint8Array(We.response||[]):Cw(We.responseText||"",!0)},Xa=this;Xa.setDataGetter(un=>{var yi=un*yt,We=(un+1)*yt-1;if(We=Math.min(We,ie-1),typeof Xa.chunks[un]>"u"&&(Xa.chunks[un]=Xt(yi,We)),typeof Xa.chunks[un]>"u")throw new Error("doXHR failed!");return Xa.chunks[un]}),(Pt||!ie)&&(yt=ie=1,ie=this.getter(0).length,yt=ie,S("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=ie,this._chunkSize=yt,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<"u"){if(!A)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var _=new E,C={isDevice:!1,contents:_}}else var C={isDevice:!1,url:b};var M=h.createFile(u,l,C,v,D);C.contents?M.contents=C.contents:C.url&&(M.contents=null,M.url=C.url),Object.defineProperties(M,{usedBytes:{get:function(){return this.contents.length}}});var $={},te=Object.keys(M.stream_ops);te.forEach(ce=>{var Z=M.stream_ops[ce];$[ce]=(...ie)=>(h.forceLoadFile(M),Z(...ie))});function ae(ce,Z,ie,ye,_t){var Pt=ce.node.contents;if(_t>=Pt.length)return 0;var yt=Math.min(Pt.length-_t,ye);if(Q(yt>=0),Pt.slice)for(var Xt=0;Xt(h.forceLoadFile(M),ae(ce,Z,ie,ye,_t)),$.mmap=(ce,Z,ie,ye,_t)=>{h.forceLoadFile(M);var Pt=Sw(Z);if(!Pt)throw new h.ErrnoError(48);return ae(ce,q,Pt,Z,ie),{ptr:Pt,allocated:!0}},M.stream_ops=$,M},absolutePath(){Oe("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder(){Oe("FS.createFolder has been removed; use FS.mkdir instead")},createLink(){Oe("FS.createLink has been removed; use FS.symlink instead")},joinPath(){Oe("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc(){Oe("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath(){Oe("FS.standardizePath has been removed; use PATH.normalize instead")}},ke={DEFAULT_POLLMASK:5,calculateAt(u,l,b){if(Ge.isAbs(l))return l;var v;if(u===-100)v=h.cwd();else{var D=ke.getStreamFromFD(u);v=D.path}if(l.length==0){if(!b)throw new h.ErrnoError(44);return v}return Ge.join2(v,l)},doStat(u,l,b){var v=u(l);z[b>>>2>>>0]=v.dev,z[b+4>>>2>>>0]=v.mode,Be[b+8>>>2>>>0]=v.nlink,z[b+12>>>2>>>0]=v.uid,z[b+16>>>2>>>0]=v.gid,z[b+20>>>2>>>0]=v.rdev,Qe=[v.size>>>0,(re=v.size,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+24>>>2>>>0]=Qe[0],z[b+28>>>2>>>0]=Qe[1],z[b+32>>>2>>>0]=4096,z[b+36>>>2>>>0]=v.blocks;var D=v.atime.getTime(),E=v.mtime.getTime(),_=v.ctime.getTime();return Qe=[Math.floor(D/1e3)>>>0,(re=Math.floor(D/1e3),+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+40>>>2>>>0]=Qe[0],z[b+44>>>2>>>0]=Qe[1],Be[b+48>>>2>>>0]=D%1e3*1e3*1e3,Qe=[Math.floor(E/1e3)>>>0,(re=Math.floor(E/1e3),+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+56>>>2>>>0]=Qe[0],z[b+60>>>2>>>0]=Qe[1],Be[b+64>>>2>>>0]=E%1e3*1e3*1e3,Qe=[Math.floor(_/1e3)>>>0,(re=Math.floor(_/1e3),+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+72>>>2>>>0]=Qe[0],z[b+76>>>2>>>0]=Qe[1],Be[b+80>>>2>>>0]=_%1e3*1e3*1e3,Qe=[v.ino>>>0,(re=v.ino,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+88>>>2>>>0]=Qe[0],z[b+92>>>2>>>0]=Qe[1],0},doMsync(u,l,b,v,D){if(!h.isFile(l.node.mode))throw new h.ErrnoError(43);if(v&2)return 0;var E=oe.slice(u,u+b);h.msync(l,E,D,b,v)},getStreamFromFD(u){var l=h.getStreamChecked(u);return l},varargs:void 0,getStr(u){var l=Zn(u);return l}};function sB(u,l,b){b>>>=0,ke.varargs=b;try{var v=ke.getStreamFromFD(u);switch(l){case 0:{var D=Ls();if(D<0)return-28;for(;h.streams[D];)D++;var E;return E=h.dupStream(v,D),E.fd}case 1:case 2:return 0;case 3:return v.flags;case 4:{var D=Ls();return v.flags|=D,0}case 12:{var D=_i(),_=0;return se[D+_>>>1>>>0]=2,0}case 13:case 14:return 0}return-28}catch(C){if(typeof h>"u"||C.name!=="ErrnoError")throw C;return-C.errno}}function AB(u,l){l>>>=0;try{var b=ke.getStreamFromFD(u);return ke.doStat(h.stat,b.path,l)}catch(v){if(typeof h>"u"||v.name!=="ErrnoError")throw v;return-v.errno}}function cB(u,l,b){var v=Bi(l,b);try{return isNaN(v)?61:(h.ftruncate(u,v),0)}catch(D){if(typeof h>"u"||D.name!=="ErrnoError")throw D;return-D.errno}}var Br=(u,l,b)=>(Q(typeof b=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),kd(u,oe,l,b));function dB(u,l,b){l>>>=0,b>>>=0;try{var v=ke.getStreamFromFD(u);v.getdents||(v.getdents=h.readdir(v.path));for(var D=280,E=0,_=h.llseek(v,0,1),C=Math.floor(_/D);C>>0,(re=M,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[l+E>>>2>>>0]=Qe[0],z[l+E+4>>>2>>>0]=Qe[1],Qe=[(C+1)*D>>>0,(re=(C+1)*D,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[l+E+8>>>2>>>0]=Qe[0],z[l+E+12>>>2>>>0]=Qe[1],se[l+E+16>>>1>>>0]=280,q[l+E+18>>>0]=$,Br(te,l+E+19,256),E+=D,C+=1}return h.llseek(v,C*D,0),E}catch(Z){if(typeof h>"u"||Z.name!=="ErrnoError")throw Z;return-Z.errno}}function uB(u,l,b){b>>>=0,ke.varargs=b;try{var v=ke.getStreamFromFD(u);switch(l){case 21509:return v.tty?0:-59;case 21505:{if(!v.tty)return-59;if(v.tty.ops.ioctl_tcgets){var D=v.tty.ops.ioctl_tcgets(v),E=_i();z[E>>>2>>>0]=D.c_iflag||0,z[E+4>>>2>>>0]=D.c_oflag||0,z[E+8>>>2>>>0]=D.c_cflag||0,z[E+12>>>2>>>0]=D.c_lflag||0;for(var _=0;_<32;_++)q[E+_+17>>>0]=D.c_cc[_]||0;return 0}return 0}case 21510:case 21511:case 21512:return v.tty?0:-59;case 21506:case 21507:case 21508:{if(!v.tty)return-59;if(v.tty.ops.ioctl_tcsets){for(var E=_i(),C=z[E>>>2>>>0],M=z[E+4>>>2>>>0],$=z[E+8>>>2>>>0],te=z[E+12>>>2>>>0],ae=[],_=0;_<32;_++)ae.push(q[E+_+17>>>0]);return v.tty.ops.ioctl_tcsets(v.tty,l,{c_iflag:C,c_oflag:M,c_cflag:$,c_lflag:te,c_cc:ae})}return 0}case 21519:{if(!v.tty)return-59;var E=_i();return z[E>>>2>>>0]=0,0}case 21520:return v.tty?-28:-59;case 21531:{var E=_i();return h.ioctl(v,l,E)}case 21523:{if(!v.tty)return-59;if(v.tty.ops.ioctl_tiocgwinsz){var ce=v.tty.ops.ioctl_tiocgwinsz(v.tty),E=_i();se[E>>>1>>>0]=ce[0],se[E+2>>>1>>>0]=ce[1]}return 0}case 21524:return v.tty?0:-59;case 21515:return v.tty?0:-59;default:return-28}}catch(Z){if(typeof h>"u"||Z.name!=="ErrnoError")throw Z;return-Z.errno}}function pB(u,l){u>>>=0,l>>>=0;try{return u=ke.getStr(u),ke.doStat(h.lstat,u,l)}catch(b){if(typeof h>"u"||b.name!=="ErrnoError")throw b;return-b.errno}}function lB(u,l,b,v){l>>>=0,b>>>=0;try{l=ke.getStr(l);var D=v&256,E=v&4096;return v=v&-6401,Q(!v,`unknown flags in __syscall_newfstatat: ${v}`),l=ke.calculateAt(u,l,E),ke.doStat(D?h.lstat:h.stat,l,b)}catch(_){if(typeof h>"u"||_.name!=="ErrnoError")throw _;return-_.errno}}function mB(u,l,b,v){l>>>=0,v>>>=0,ke.varargs=v;try{l=ke.getStr(l),l=ke.calculateAt(u,l);var D=v?Ls():0;return h.open(l,b,D).fd}catch(E){if(typeof h>"u"||E.name!=="ErrnoError")throw E;return-E.errno}}function wB(u){u>>>=0;try{return u=ke.getStr(u),h.rmdir(u),0}catch(l){if(typeof h>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}function bB(u,l){u>>>=0,l>>>=0;try{return u=ke.getStr(u),ke.doStat(h.stat,u,l)}catch(b){if(typeof h>"u"||b.name!=="ErrnoError")throw b;return-b.errno}}function fB(u,l,b){l>>>=0;try{return l=ke.getStr(l),l=ke.calculateAt(u,l),b===0?h.unlink(l):b===512?h.rmdir(l):Oe("Invalid flags passed to unlinkat"),0}catch(v){if(typeof h>"u"||v.name!=="ErrnoError")throw v;return-v.errno}}var gB=()=>{Oe("native code called abort()")},FB=1,vB=()=>FB;function PB(u,l,b){return u>>>=0,l>>>=0,b>>>=0,oe.copyWithin(u>>>0,l>>>0,l+b>>>0)}var hB=()=>{throw 1/0};function kB(u,l,b){var v=Bi(u,l);b>>>=0;var D=new Date(v*1e3);z[b>>>2>>>0]=D.getUTCSeconds(),z[b+4>>>2>>>0]=D.getUTCMinutes(),z[b+8>>>2>>>0]=D.getUTCHours(),z[b+12>>>2>>>0]=D.getUTCDate(),z[b+16>>>2>>>0]=D.getUTCMonth(),z[b+20>>>2>>>0]=D.getUTCFullYear()-1900,z[b+24>>>2>>>0]=D.getUTCDay();var E=Date.UTC(D.getUTCFullYear(),0,1,0,0,0,0),_=(D.getTime()-E)/(1e3*60*60*24)|0;z[b+28>>>2>>>0]=_}var DB=u=>u%4===0&&(u%100!==0||u%400===0),BB=[0,31,60,91,121,152,182,213,244,274,305,335],EB=[0,31,59,90,120,151,181,212,243,273,304,334],_B=u=>{var l=DB(u.getFullYear()),b=l?BB:EB,v=b[u.getMonth()]+u.getDate()-1;return v};function yB(u,l,b){var v=Bi(u,l);b>>>=0;var D=new Date(v*1e3);z[b>>>2>>>0]=D.getSeconds(),z[b+4>>>2>>>0]=D.getMinutes(),z[b+8>>>2>>>0]=D.getHours(),z[b+12>>>2>>>0]=D.getDate(),z[b+16>>>2>>>0]=D.getMonth(),z[b+20>>>2>>>0]=D.getFullYear()-1900,z[b+24>>>2>>>0]=D.getDay();var E=_B(D)|0;z[b+28>>>2>>>0]=E,z[b+36>>>2>>>0]=-(D.getTimezoneOffset()*60);var _=new Date(D.getFullYear(),0,1),C=new Date(D.getFullYear(),6,1).getTimezoneOffset(),M=_.getTimezoneOffset(),$=(C!=M&&D.getTimezoneOffset()==Math.min(M,C))|0;z[b+32>>>2>>>0]=$}function GB(u,l,b,v,D,E,_,C){u>>>=0;var M=Bi(D,E);_>>>=0,C>>>=0;try{if(isNaN(M))return 61;var $=ke.getStreamFromFD(v),te=h.mmap($,u,M,l,b),ae=te.ptr;return z[_>>>2>>>0]=te.allocated,Be[C>>>2>>>0]=ae,0}catch(ce){if(typeof h>"u"||ce.name!=="ErrnoError")throw ce;return-ce.errno}}function CB(u,l,b,v,D,E,_){u>>>=0,l>>>=0;var C=Bi(E,_);try{var M=ke.getStreamFromFD(D);b&2&&ke.doMsync(u,M,l,v,C)}catch($){if(typeof h>"u"||$.name!=="ErrnoError")throw $;return-$.errno}}var IB=function(u,l,b,v){u>>>=0,l>>>=0,b>>>=0,v>>>=0;var D=new Date().getFullYear(),E=new Date(D,0,1),_=new Date(D,6,1),C=E.getTimezoneOffset(),M=_.getTimezoneOffset(),$=Math.max(C,M);Be[u>>>2>>>0]=$*60,z[l>>>2>>>0]=+(C!=M);var te=Z=>{var ie=Z>=0?"-":"+",ye=Math.abs(Z),_t=String(Math.floor(ye/60)).padStart(2,"0"),Pt=String(ye%60).padStart(2,"0");return`UTC${ie}${_t}${Pt}`},ae=te(C),ce=te(M);Q(ae),Q(ce),Q(Ka(ae)<=16,`timezone name truncated to fit in TZNAME_MAX (${ae})`),Q(Ka(ce)<=16,`timezone name truncated to fit in TZNAME_MAX (${ce})`),MDate.now();function xB(u){return u>>>=0,G(Zn(u))}var HB=()=>performance.now(),OB=()=>4294901760,QB=u=>{var l=W.buffer,b=(u-l.byteLength+65535)/65536|0;try{return W.grow(b),bw(),1}catch(v){G(`growMemory: Attempted to grow heap from ${l.byteLength} bytes to ${u} bytes, but got error: ${v}`)}};function RB(u){u>>>=0;var l=oe.length;Q(u>l);var b=OB();if(u>b)return G(`Cannot enlarge memory, requested ${u} bytes, but the limit is ${b} bytes!`),!1;for(var v=1;v<=4;v*=2){var D=l*(1+.2/v);D=Math.min(D,u+100663296);var E=Math.min(b,Iw(Math.max(u,D),65536)),_=QB(E);if(_)return!0}return G(`Failed to grow the heap from ${l} bytes to ${E} bytes, not enough memory!`),!1}var Bd={},TB=()=>k||"./this.program",Va=()=>{if(!Va.strings){var u=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",l={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:u,_:TB()};for(var b in Bd)Bd[b]===void 0?delete l[b]:l[b]=Bd[b];var v=[];for(var b in l)v.push(`${b}=${l[b]}`);Va.strings=v}return Va.strings},MB=(u,l)=>{for(var b=0;b>>0]=u.charCodeAt(b);q[l>>>0]=0},LB=function(u,l){u>>>=0,l>>>=0;var b=0;return Va().forEach((v,D)=>{var E=l+b;Be[u+D*4>>>2>>>0]=E,MB(v,E),b+=v.length+1}),0},NB=function(u,l){u>>>=0,l>>>=0;var b=Va();Be[u>>>2>>>0]=b.length;var v=0;return b.forEach(D=>v+=D.length+1),Be[l>>>2>>>0]=v,0},Hw=0,Ow=()=>UD||Hw>0,jB=u=>{be=u,Ow()||(n.onExit?.(u),Pe=!0),P(u,new XD(u))},KB=(u,l)=>{if(be=u,xE(),Ow()&&!l){var b=`program exited (with status: ${u}), but keepRuntimeAlive() is set (counter=${Hw}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`;a(b),G(b)}jB(u)},VB=KB;function YB(u){try{var l=ke.getStreamFromFD(u);return h.close(l),0}catch(b){if(typeof h>"u"||b.name!=="ErrnoError")throw b;return b.errno}}var XB=(u,l,b,v)=>{for(var D=0,E=0;E>>2>>>0],C=Be[l+4>>>2>>>0];l+=8;var M=h.read(u,q,_,C,v);if(M<0)return-1;if(D+=M,M>>=0,b>>>=0,v>>>=0;try{var D=ke.getStreamFromFD(u),E=XB(D,l,b);return Be[v>>>2>>>0]=E,0}catch(_){if(typeof h>"u"||_.name!=="ErrnoError")throw _;return _.errno}}function UB(u,l,b,v,D){var E=Bi(l,b);D>>>=0;try{if(isNaN(E))return 61;var _=ke.getStreamFromFD(u);return h.llseek(_,E,v),Qe=[_.position>>>0,(re=_.position,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[D>>>2>>>0]=Qe[0],z[D+4>>>2>>>0]=Qe[1],_.getdents&&E===0&&v===0&&(_.getdents=null),0}catch(C){if(typeof h>"u"||C.name!=="ErrnoError")throw C;return C.errno}}function qB(u){try{var l=ke.getStreamFromFD(u);return l.stream_ops?.fsync?l.stream_ops.fsync(l):0}catch(b){if(typeof h>"u"||b.name!=="ErrnoError")throw b;return b.errno}}var zB=(u,l,b,v)=>{for(var D=0,E=0;E>>2>>>0],C=Be[l+4>>>2>>>0];l+=8;var M=h.write(u,q,_,C,v);if(M<0)return-1;if(D+=M,M>>=0,b>>>=0,v>>>=0;try{var D=ke.getStreamFromFD(u),E=zB(D,l,b);return Be[v>>>2>>>0]=E,0}catch(_){if(typeof h>"u"||_.name!=="ErrnoError")throw _;return _.errno}}function JB(u,l){u>>>=0,l>>>=0;try{return Pd(oe.subarray(u>>>0,u+l>>>0)),0}catch(b){if(typeof h>"u"||b.name!=="ErrnoError")throw b;return b.errno}}var Ya=[],Hn,vt=u=>{var l=Ya[u];return l||(u>=Ya.length&&(Ya.length=u+1),Ya[u]=l=Hn.get(u)),Q(Hn.get(u)==l,"JavaScript-side Wasm function table mirror is out of date!"),l},Qw=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,$B=(u,l)=>{Q(u%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var b=u,v=b>>1,D=v+l/2;!(v>=D)&&dt[v>>>0];)++v;if(b=v<<1,b-u>32&&Qw)return Qw.decode(oe.subarray(u>>>0,b>>>0));for(var E="",_=0;!(_>=l/2);++_){var C=se[u+_*2>>>1>>>0];if(C==0)break;E+=String.fromCharCode(C)}return E},Rw=(u,l)=>{Q(u<16384),u<128?l.push(u):l.push(u%128|128,u>>7)},eE=u=>{Q(!u.includes("j"),"i64 not permitted in function signatures when WASM_BIGINT is disabled");for(var l={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},b={parameters:[],results:u[0]=="v"?[]:[l[u[0]]]},v=1;v{var b=u.slice(0,1),v=u.slice(1),D={i:127,p:127,j:126,f:125,d:124,e:111};l.push(96),Rw(v.length,l);for(var E=0;E{if(Q(!l.includes("j"),"i64 not permitted in function signatures when WASM_BIGINT is disabled"),typeof WebAssembly.Function=="function")return new WebAssembly.Function(eE(l),u);var b=[1];tE(l,b);var v=[0,97,115,109,1,0,0,0,1];Rw(b.length,v),v.push(...b),v.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var D=new WebAssembly.Module(new Uint8Array(v)),E=new WebAssembly.Instance(D,{e:{f:u}}),_=E.exports.f;return _},rE=(u,l)=>{if(Er)for(var b=u;b(Er||(Er=new WeakMap,rE(0,Hn.length)),Er.get(u)||0),Ed=[],aE=()=>{if(Ed.length)return Ed.pop();try{Hn.grow(1)}catch(u){throw u instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":u}return Hn.length-1},_d=(u,l)=>{Hn.set(u,l),Ya[u]=Hn.get(u)},oE=(u,l)=>{Q(typeof u<"u");var b=iE(u);if(b)return b;var v=aE();try{_d(v,u)}catch(E){if(!(E instanceof TypeError))throw E;Q(typeof l<"u","Missing signature argument to addFunction: "+u);var D=nE(u,l);_d(v,D)}return Er.set(u,v),v},sE=u=>{var l=n["_"+u];return Q(l,"Cannot call unknown function "+u+", make sure it is exported"),l},AE=(u,l)=>{Q(u.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)"),q.set(u,l>>>0)},Tw=u=>Vw(u),cE=u=>{var l=Ka(u)+1,b=Tw(l);return Br(u,b,l),b},Mw=(u,l,b,v,D)=>{var E={string:ie=>{var ye=0;return ie!=null&&ie!==0&&(ye=cE(ie)),ye},array:ie=>{var ye=Tw(ie.length);return AE(ie,ye),ye}};function _(ie){return l==="string"?Zn(ie):l==="boolean"?!!ie:ie}var C=sE(u),M=[],$=0;if(Q(l!=="array",'Return type should not be "array".'),v)for(var te=0;te(...D)=>Mw(u,l,b,D,v),uE=u=>{Er.delete(vt(u)),_d(u,null),Ed.push(u)},pE=(u,l,b)=>{if(Q(l%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),Q(typeof b=="number","stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),b??(b=2147483647),b<2)return 0;b-=2;for(var v=l,D=b>>1>>>0]=_,l+=2}return se[l>>>1>>>0]=0,l-v};h.createPreloadedFile=iB,h.staticInit();function lE(){VD("fetchSettings")}var Lw={__assert_fail:zD,__syscall_fcntl64:sB,__syscall_fstat64:AB,__syscall_ftruncate64:cB,__syscall_getdents64:dB,__syscall_ioctl:uB,__syscall_lstat64:pB,__syscall_newfstatat:lB,__syscall_openat:mB,__syscall_rmdir:wB,__syscall_stat64:bB,__syscall_unlinkat:fB,_abort_js:gB,_emscripten_get_now_is_monotonic:vB,_emscripten_memcpy_js:PB,_emscripten_throw_longjmp:hB,_gmtime_js:kB,_localtime_js:yB,_mmap_js:GB,_munmap_js:CB,_tzset_js:IB,emscripten_date_now:SB,emscripten_err:xB,emscripten_get_now:HB,emscripten_resize_heap:RB,environ_get:LB,environ_sizes_get:NB,exit:VB,fd_close:YB,fd_read:WB,fd_seek:UB,fd_sync:qB,fd_write:ZB,invoke_ii:hE,invoke_iii:FE,invoke_iiii:kE,invoke_iiiii:vE,invoke_iiiiii:_E,invoke_v:EE,invoke_vi:BE,invoke_vii:DE,invoke_viii:PE,invoke_viiii:gE,invoke_viiiiiiiii:yE,random_get:JB},Xe=KD(),G6=c("__wasm_call_ctors",0),C6=n._EPDFAction_CloseModel=c("EPDFAction_CloseModel",1),I6=n._EPDFAction_LoadModel=c("EPDFAction_LoadModel",1),S6=n._EPDFAction_GetRootNode=c("EPDFAction_GetRootNode",1),x6=n._EPDFAction_GetNodeCount=c("EPDFAction_GetNodeCount",1),H6=n._EPDFAction_GetNodeType=c("EPDFAction_GetNodeType",2),O6=n._EPDFAction_GetNodeSubtype=c("EPDFAction_GetNodeSubtype",4),Q6=n._EPDFAction_NodeHasJavaScript=c("EPDFAction_NodeHasJavaScript",2),R6=n._EPDFAction_GetNodeJavaScript=c("EPDFAction_GetNodeJavaScript",4),T6=n._EPDFAction_GetNodeDest=c("EPDFAction_GetNodeDest",3),M6=n._EPDFAction_GetNodeURI=c("EPDFAction_GetNodeURI",5),L6=n._EPDFAction_GetNodeFilePath=c("EPDFAction_GetNodeFilePath",4),N6=n._EPDFAction_GetNodeName=c("EPDFAction_GetNodeName",4),j6=n._EPDFAction_GetNodeTargetCount=c("EPDFAction_GetNodeTargetCount",2),K6=n._EPDFAction_GetNodeTargetName=c("EPDFAction_GetNodeTargetName",5),V6=n._EPDFAction_GetNodeTargetObjectNumber=c("EPDFAction_GetNodeTargetObjectNumber",4),Y6=n._EPDFAction_GetNodeHideFlag=c("EPDFAction_GetNodeHideFlag",3),X6=n._EPDFAction_GetNodeResetForm=c("EPDFAction_GetNodeResetForm",4),W6=n._EPDFAction_GetNodeSubmitForm=c("EPDFAction_GetNodeSubmitForm",4),U6=n._EPDFAction_GetNodeSubmitFormURL=c("EPDFAction_GetNodeSubmitFormURL",4),q6=n._EPDFAction_GetNodeSubmitFormCharSet=c("EPDFAction_GetNodeSubmitFormCharSet",4),z6=n._EPDFAction_GetNodeURIIsMap=c("EPDFAction_GetNodeURIIsMap",3),Z6=n._EPDFAction_GetNextCount=c("EPDFAction_GetNextCount",2),J6=n._EPDFAction_GetNextAt=c("EPDFAction_GetNextAt",3),$6=n._EPDFAction_GetWarningFlags=c("EPDFAction_GetWarningFlags",1),eM=n._EPDFAction_IsComplete=c("EPDFAction_IsComplete",1),tM=n._EPDFDoc_GetOpenActionModel=c("EPDFDoc_GetOpenActionModel",1),nM=n._EPDFDoc_GetOpenActionDest=c("EPDFDoc_GetOpenActionDest",1),rM=n._EPDFDoc_GetAdditionalActionModel=c("EPDFDoc_GetAdditionalActionModel",2),iM=n._EPDFDoc_GetPageActionModel=c("EPDFDoc_GetPageActionModel",3),aM=n._EPDFAnnot_GetActionModel=c("EPDFAnnot_GetActionModel",2),oM=n._EPDFAction_CreateJavaScript=c("EPDFAction_CreateJavaScript",2),sM=n._EPDFAction_CreateHide=c("EPDFAction_CreateHide",4),AM=n._EPDFAction_CreateResetForm=c("EPDFAction_CreateResetForm",4),cM=n._EPDFAction_CreateSubmitForm=c("EPDFAction_CreateSubmitForm",5),dM=n._EPDFAction_SetNext=c("EPDFAction_SetNext",4),uM=n._EPDFAnnot_SetEventAction=c("EPDFAnnot_SetEventAction",3),pM=n._EPDFAnnot_SetNumberValue=c("EPDFAnnot_SetNumberValue",3),lM=n._EPDFAnnot_HasEmbedMetadata=c("EPDFAnnot_HasEmbedMetadata",1),mM=n._EPDFAnnot_ClearEmbedMetadata=c("EPDFAnnot_ClearEmbedMetadata",1),wM=n._EPDFAnnot_ClearEmbedMetadataKey=c("EPDFAnnot_ClearEmbedMetadataKey",2),bM=n._EPDFAnnot_SetEmbedMetadataString=c("EPDFAnnot_SetEmbedMetadataString",3),fM=n._EPDFAnnot_GetEmbedMetadataString=c("EPDFAnnot_GetEmbedMetadataString",4),gM=n._EPDFAnnot_SetEmbedMetadataNumber=c("EPDFAnnot_SetEmbedMetadataNumber",3),FM=n._EPDFAnnot_GetEmbedMetadataNumber=c("EPDFAnnot_GetEmbedMetadataNumber",3),vM=n._EPDFAnnot_SetEmbedMetadataBoolean=c("EPDFAnnot_SetEmbedMetadataBoolean",3),PM=n._EPDFAnnot_GetEmbedMetadataBoolean=c("EPDFAnnot_GetEmbedMetadataBoolean",3),hM=n._EPDFAnnot_SetEmbedMetadataRect=c("EPDFAnnot_SetEmbedMetadataRect",3),kM=n._EPDFAnnot_GetEmbedMetadataRect=c("EPDFAnnot_GetEmbedMetadataRect",3),DM=n._EPDFAnnot_SetEmbedMetadataJSON=c("EPDFAnnot_SetEmbedMetadataJSON",2),BM=n._EPDFAnnot_GetEmbedMetadataJSON=c("EPDFAnnot_GetEmbedMetadataJSON",3),EM=n._EPDFDocument_ClearEmbedMetadata=c("EPDFDocument_ClearEmbedMetadata",1),_M=n._EPDFAnnot_SetAction=c("EPDFAnnot_SetAction",2),yM=n._EPDFAnnot_RemoveAction=c("EPDFAnnot_RemoveAction",1),GM=n._EPDFAnnot_RemoveDest=c("EPDFAnnot_RemoveDest",1),CM=n._EPDFAnnot_RemoveKey=c("EPDFAnnot_RemoveKey",2),IM=n._EPDFAnnot_GetFileAttachmentForWrite=c("EPDFAnnot_GetFileAttachmentForWrite",1),SM=n._EPDFAnnot_SetColor=c("EPDFAnnot_SetColor",5),xM=n._EPDFAnnot_GetColor=c("EPDFAnnot_GetColor",5),HM=n._EPDFAnnot_ClearColor=c("EPDFAnnot_ClearColor",2),OM=n._EPDFAnnot_SetNoColor=c("EPDFAnnot_SetNoColor",2),QM=n._EPDFAnnot_SetOpacity=c("EPDFAnnot_SetOpacity",2),RM=n._EPDFAnnot_GetOpacity=c("EPDFAnnot_GetOpacity",2),TM=n._EPDFAnnot_GetBorderEffect=c("EPDFAnnot_GetBorderEffect",2),MM=n._EPDFAnnot_SetBorderEffect=c("EPDFAnnot_SetBorderEffect",2),LM=n._EPDFAnnot_ClearBorderEffect=c("EPDFAnnot_ClearBorderEffect",1),NM=n._EPDFAnnot_GetRectangleDifferences=c("EPDFAnnot_GetRectangleDifferences",5),jM=n._EPDFAnnot_ClearRectangleDifferences=c("EPDFAnnot_ClearRectangleDifferences",1),KM=n._EPDFAnnot_GetBorderDashPatternCount=c("EPDFAnnot_GetBorderDashPatternCount",1),VM=n._EPDFAnnot_GetBorderDashPattern=c("EPDFAnnot_GetBorderDashPattern",3),YM=n._EPDFAnnot_SetBorderDashPattern=c("EPDFAnnot_SetBorderDashPattern",3),XM=n._EPDFAnnot_GetBorderStyle=c("EPDFAnnot_GetBorderStyle",2),WM=n._EPDFAnnot_SetBorderStyle=c("EPDFAnnot_SetBorderStyle",3),UM=n._EPDFAnnot_GenerateAppearance=c("EPDFAnnot_GenerateAppearance",1),qM=n._EPDFAnnot_GenerateAppearanceWithBlend=c("EPDFAnnot_GenerateAppearanceWithBlend",2),zM=n._EPDFAnnot_GetBlendMode=c("EPDFAnnot_GetBlendMode",1),ZM=n._EPDFAnnot_SetIntent=c("EPDFAnnot_SetIntent",2),JM=n._EPDFAnnot_GetIntent=c("EPDFAnnot_GetIntent",3),$M=n._EPDFAnnot_GetRichContent=c("EPDFAnnot_GetRichContent",3),eL=n._EPDFAnnot_GetRichTextJSON=c("EPDFAnnot_GetRichTextJSON",3),tL=n._EPDFAnnot_SetRichTextJSON=c("EPDFAnnot_SetRichTextJSON",2),nL=n._EPDFAnnot_SetRichTextXHTML=c("EPDFAnnot_SetRichTextXHTML",2),rL=n._EPDFDoc_SetTypographicFeatures=c("EPDFDoc_SetTypographicFeatures",2),iL=n._EPDFDoc_GetTypographicFeatures=c("EPDFDoc_GetTypographicFeatures",1),aL=n._EPDFAnnot_SetLineEndings=c("EPDFAnnot_SetLineEndings",3),oL=n._EPDFAnnot_GetLineEndings=c("EPDFAnnot_GetLineEndings",3),sL=n._EPDFAnnot_SetVertices=c("EPDFAnnot_SetVertices",3),AL=n._EPDFAnnot_SetLine=c("EPDFAnnot_SetLine",3),cL=n._EPDFAnnot_SetDefaultAppearance=c("EPDFAnnot_SetDefaultAppearance",6),dL=n._EPDFAnnot_SetDefaultAppearanceRegisteredFont=c("EPDFAnnot_SetDefaultAppearanceRegisteredFont",6),uL=n._EPDFAnnot_GetDefaultAppearance=c("EPDFAnnot_GetDefaultAppearance",6),pL=n._EPDFAnnot_GetDefaultAppearanceFontFace=c("EPDFAnnot_GetDefaultAppearanceFontFace",5),lL=n._EPDFAnnot_GetDefaultAppearanceFontPostScriptName=c("EPDFAnnot_GetDefaultAppearanceFontPostScriptName",3),mL=n._EPDFAnnot_SetDefaultAppearanceDocumentFont=c("EPDFAnnot_SetDefaultAppearanceDocumentFont",6),wL=n._EPDFAnnot_SetTextAlignment=c("EPDFAnnot_SetTextAlignment",2),bL=n._EPDFAnnot_GetTextAlignment=c("EPDFAnnot_GetTextAlignment",1),fL=n._EPDFPage_GetAnnotByName=c("EPDFPage_GetAnnotByName",2),gL=n._EPDFPage_RemoveAnnotByName=c("EPDFPage_RemoveAnnotByName",2),FL=n._EPDFAnnot_SetLinkedAnnot=c("EPDFAnnot_SetLinkedAnnot",3),vL=n._EPDFPage_GetAnnotIndexByNameRaw=c("EPDFPage_GetAnnotIndexByNameRaw",3),PL=n._EPDFPage_GetAnnotIndexByObjectNumberRaw=c("EPDFPage_GetAnnotIndexByObjectNumberRaw",3),hL=n._EPDFPage_GetAnnotCountRaw=c("EPDFPage_GetAnnotCountRaw",2),kL=n._EPDFPage_GetAnnotRaw=c("EPDFPage_GetAnnotRaw",3),DL=n._EPDFPage_CreateAnnotRaw=c("EPDFPage_CreateAnnotRaw",4),BL=n._EPDFPage_RemoveAnnotRaw=c("EPDFPage_RemoveAnnotRaw",3),EL=n._EPDFPage_PromoteInlineAnnotsRaw=c("EPDFPage_PromoteInlineAnnotsRaw",2),_L=n._EPDFAnnot_IsValid=c("EPDFAnnot_IsValid",1),yL=n._EPDFAnnot_SetSubtype=c("EPDFAnnot_SetSubtype",2),GL=n._EPDFAnnot_SetName=c("EPDFAnnot_SetName",2),CL=n._EPDFAnnot_GetName=c("EPDFAnnot_GetName",3),IL=n._EPDFAnnot_UpdateAppearanceToRect=c("EPDFAnnot_UpdateAppearanceToRect",2),SL=n._EPDFAnnot_SetStampOpacity=c("EPDFAnnot_SetStampOpacity",3),xL=n._EPDFPage_CreateAnnot=c("EPDFPage_CreateAnnot",2),HL=n._EPDFAnnot_SetRotate=c("EPDFAnnot_SetRotate",2),OL=n._EPDFAnnot_GetRotate=c("EPDFAnnot_GetRotate",2),QL=n._EPDFAnnot_GetAppearanceTransform=c("EPDFAnnot_GetAppearanceTransform",3),RL=n._EPDFAnnot_GetReplyType=c("EPDFAnnot_GetReplyType",1),TL=n._EPDFAnnot_SetReplyType=c("EPDFAnnot_SetReplyType",2),ML=n._EPDFAnnot_GetBooleanValue=c("EPDFAnnot_GetBooleanValue",3),LL=n._EPDFAnnot_SetBooleanValue=c("EPDFAnnot_SetBooleanValue",3),NL=n._EPDFAnnot_SetOverlayText=c("EPDFAnnot_SetOverlayText",2),jL=n._EPDFAnnot_GetOverlayText=c("EPDFAnnot_GetOverlayText",3),KL=n._EPDFAnnot_SetOverlayTextRepeat=c("EPDFAnnot_SetOverlayTextRepeat",2),VL=n._EPDFAnnot_GetOverlayTextRepeat=c("EPDFAnnot_GetOverlayTextRepeat",1),YL=n._EPDFAnnot_SetAppearanceFromPage=c("EPDFAnnot_SetAppearanceFromPage",3),XL=n._EPDFAnnot_ExportAppearance=c("EPDFAnnot_ExportAppearance",3),WL=n._EPDFDoc_CanonicalDrawing=c("EPDFDoc_CanonicalDrawing",2),UL=n._EPDFDoc_ImportDrawing=c("EPDFDoc_ImportDrawing",2),qL=n._EPDFDoc_ExportDrawing=c("EPDFDoc_ExportDrawing",2),zL=n._EPDFDoc_GetStampDrawings=c("EPDFDoc_GetStampDrawings",3),ZL=n._EPDFAnnot_SetStampDrawing=c("EPDFAnnot_SetStampDrawing",3),JL=n._EPDFAnnot_GetStampDrawing=c("EPDFAnnot_GetStampDrawing",1),$L=n._EPDFAnnot_GetRect=c("EPDFAnnot_GetRect",2),eN=n._EPDFAnnot_SetRect=c("EPDFAnnot_SetRect",2),tN=n._EPDFAnnot_SetAPMatrix=c("EPDFAnnot_SetAPMatrix",3),nN=n._EPDFAnnot_GetAPMatrix=c("EPDFAnnot_GetAPMatrix",3),rN=n._EPDFAnnot_GetAvailableAppearanceModes=c("EPDFAnnot_GetAvailableAppearanceModes",1),iN=n._EPDFAnnot_GetAppearanceStateCount=c("EPDFAnnot_GetAppearanceStateCount",2),aN=n._EPDFAnnot_GetAppearanceStateName=c("EPDFAnnot_GetAppearanceStateName",5),oN=n._EPDFAnnot_GetAppearanceState=c("EPDFAnnot_GetAppearanceState",3),sN=n._EPDFAnnot_HasAppearanceStream=c("EPDFAnnot_HasAppearanceStream",2),AN=n._EPDFAnnot_GetDrawingRect=c("EPDFAnnot_GetDrawingRect",3),cN=n._EPDFAnnot_SetMKColor=c("EPDFAnnot_SetMKColor",5),dN=n._EPDFAnnot_GetMKColor=c("EPDFAnnot_GetMKColor",5),uN=n._EPDFAnnot_ClearMKColor=c("EPDFAnnot_ClearMKColor",2),pN=n._EPDFAnnot_SetMKText=c("EPDFAnnot_SetMKText",3),lN=n._EPDFAnnot_GetMKText=c("EPDFAnnot_GetMKText",4),mN=n._EPDFAnnot_SetMKTextPosition=c("EPDFAnnot_SetMKTextPosition",2),wN=n._EPDFAnnot_GetMKTextPosition=c("EPDFAnnot_GetMKTextPosition",1),bN=n._EPDFAnnot_SetMKRotation=c("EPDFAnnot_SetMKRotation",2),fN=n._EPDFAnnot_GetMKRotation=c("EPDFAnnot_GetMKRotation",1),gN=n._EPDFAnnot_GenerateFormFieldAP=c("EPDFAnnot_GenerateFormFieldAP",1),FN=n._EPDFAnnot_GetCalloutLineCount=c("EPDFAnnot_GetCalloutLineCount",1),vN=n._EPDFAnnot_GetCalloutLine=c("EPDFAnnot_GetCalloutLine",3),PN=n._EPDFAnnot_SetCalloutLine=c("EPDFAnnot_SetCalloutLine",3),hN=n._EPDFAnnot_GetObjectNumber=c("EPDFAnnot_GetObjectNumber",1),kN=n._EPDFAnnot_GetStructurePosition=c("EPDFAnnot_GetStructurePosition",3),DN=n._EPDFPage_GetAnnotByObjectNumber=c("EPDFPage_GetAnnotByObjectNumber",2),BN=n._EPDFPage_RemoveAnnot=c("EPDFPage_RemoveAnnot",2),EN=n._EPDFPage_RemoveAnnotByObjectNumber=c("EPDFPage_RemoveAnnotByObjectNumber",2),_N=n._EPDFPage_MoveAnnots=c("EPDFPage_MoveAnnots",4),yN=n._EPDFPage_MoveAnnotsRaw=c("EPDFPage_MoveAnnotsRaw",5),GN=n._EPDF_LoadBaseDocument=c("EPDF_LoadBaseDocument",2),CN=n._EPDF_LoadMemBaseDocument=c("EPDF_LoadMemBaseDocument",3),IN=n._EPDF_LoadMemBaseDocument64=c("EPDF_LoadMemBaseDocument64",3),SN=n._EPDF_ReleaseBaseDocument=c("EPDF_ReleaseBaseDocument",1),xN=n._EPDFPage_ExportAnnotsRawToOwnedBuffer=c("EPDFPage_ExportAnnotsRawToOwnedBuffer",5),HN=n._EPDFPage_ImportAnnotsRaw=c("EPDFPage_ImportAnnotsRaw",4),ON=n._EPDFDoc_ExportDictRawToOwnedBuffer=c("EPDFDoc_ExportDictRawToOwnedBuffer",4),QN=n._EPDFDoc_ExportDictCanonicalToOwnedBuffer=c("EPDFDoc_ExportDictCanonicalToOwnedBuffer",5),RN=n._EPDFDoc_ImportDictRaw=c("EPDFDoc_ImportDictRaw",3),TN=n._EPDFForm_ExportFieldRawToOwnedBuffer=c("EPDFForm_ExportFieldRawToOwnedBuffer",3),MN=n._EPDFForm_ImportFieldRaw=c("EPDFForm_ImportFieldRaw",3),LN=n._EPDFOutline_ExportItemRawToOwnedBuffer=c("EPDFOutline_ExportItemRawToOwnedBuffer",3),NN=n._EPDFOutline_ImportItemRaw=c("EPDFOutline_ImportItemRaw",3),jN=n._EPDFPage_ExportRawToOwnedBuffer=c("EPDFPage_ExportRawToOwnedBuffer",3),KN=n._EPDFPage_ImportRaw=c("EPDFPage_ImportRaw",3),VN=n._EPDFAttachment_ExportRawToOwnedBuffer=c("EPDFAttachment_ExportRawToOwnedBuffer",3),YN=n._EPDFAttachment_ExportCanonicalToOwnedBuffer=c("EPDFAttachment_ExportCanonicalToOwnedBuffer",3),XN=n._EPDFAttachment_ImportRaw=c("EPDFAttachment_ImportRaw",3),WN=n._EPDFCatalog_GetMetadata=c("EPDFCatalog_GetMetadata",3),UN=n._EPDFCatalog_SetMetadata=c("EPDFCatalog_SetMetadata",3),qN=n._EPDFFont_RegisterFont=c("EPDFFont_RegisterFont",4),zN=n._EPDFFont_RegisterMemFont=c("EPDFFont_RegisterMemFont",5),ZN=n._EPDFFont_RegisterMemFont64=c("EPDFFont_RegisterMemFont64",5),JN=n._EPDFFont_ClearRegisteredFonts=c("EPDFFont_ClearRegisteredFonts",0),$N=n._EPDFFont_GetEmbeddingPermission=c("EPDFFont_GetEmbeddingPermission",1),ej=n._EPDFFont_IsEditingAuthorized=c("EPDFFont_IsEditingAuthorized",1),tj=n._EPDFFont_AuthorizeEditing=c("EPDFFont_AuthorizeEditing",1),nj=n._EPDFFont_IsInstanced=c("EPDFFont_IsInstanced",1),rj=n._EPDFFont_GetFamilyName=c("EPDFFont_GetFamilyName",3),ij=n._EPDFFont_GetWeight=c("EPDFFont_GetWeight",1),aj=n._EPDFFont_IsItalic=c("EPDFFont_IsItalic",1),oj=n._EPDFDoc_SetFontEmbeddingPolicy=c("EPDFDoc_SetFontEmbeddingPolicy",2),sj=n._EPDFDoc_GetFontEmbeddingPolicy=c("EPDFDoc_GetFontEmbeddingPolicy",1),Aj=n._EPDFFont_AddFallbackFont=c("EPDFFont_AddFallbackFont",2),cj=n._EPDFFont_ClearFallbackFonts=c("EPDFFont_ClearFallbackFonts",0),dj=n._EPDFFont_SetLastResortFont=c("EPDFFont_SetLastResortFont",1),uj=n._EPDFFont_GetLastResortFont=c("EPDFFont_GetLastResortFont",0),pj=n._EPDFFont_GetFallbackOrder=c("EPDFFont_GetFallbackOrder",4),lj=n._EPDFFont_GetProgramData=c("EPDFFont_GetProgramData",3),mj=n._EPDFFont_GetProgramFormat=c("EPDFFont_GetProgramFormat",1),wj=n._EPDFFont_GetProgramHash=c("EPDFFont_GetProgramHash",2),bj=n._EPDFFont_GetCoverage=c("EPDFFont_GetCoverage",3),fj=n._EPDFFont_GetMetrics=c("EPDFFont_GetMetrics",3),gj=n._EPDFFont_GetPostScriptName=c("EPDFFont_GetPostScriptName",3),Fj=n._EPDFFontFaces_Load=c("EPDFFontFaces_Load",1),vj=n._EPDFFontFaces_Close=c("EPDFFontFaces_Close",1),Pj=n._EPDFDoc_GetFontsFingerprint=c("EPDFDoc_GetFontsFingerprint",2),hj=n._EPDFFontFaces_Count=c("EPDFFontFaces_Count",1),kj=n._EPDFFontFaces_GetFamily=c("EPDFFontFaces_GetFamily",4),Dj=n._EPDFFontFaces_GetWeight=c("EPDFFontFaces_GetWeight",2),Bj=n._EPDFFontFaces_IsItalic=c("EPDFFontFaces_IsItalic",2),Ej=n._EPDFFontFaces_CountPrograms=c("EPDFFontFaces_CountPrograms",2),_j=n._EPDFFontFaces_GetProgramObjNum=c("EPDFFontFaces_GetProgramObjNum",3),yj=n._EPDFFontFaces_GetProgramFormat=c("EPDFFontFaces_GetProgramFormat",3),Gj=n._EPDFFontFaces_GetProgramEmbedded=c("EPDFFontFaces_GetProgramEmbedded",3),Cj=n._EPDFFontFaces_GetProgramPostScriptName=c("EPDFFontFaces_GetProgramPostScriptName",5),Ij=n._EPDFFontFaces_GetProgramEmbeddingPermission=c("EPDFFontFaces_GetProgramEmbeddingPermission",3),Sj=n._EPDFFontFaces_ProgramMapsUnicode=c("EPDFFontFaces_ProgramMapsUnicode",3),xj=n._EPDFFontFaces_GetProgramHash=c("EPDFFontFaces_GetProgramHash",4),Hj=n._EPDFFontFaces_GetProgramDisplayHash=c("EPDFFontFaces_GetProgramDisplayHash",4),Oj=n._EPDFFontFaces_GetProgramMetrics=c("EPDFFontFaces_GetProgramMetrics",5),Qj=n._EPDFDoc_GetFontProgramData=c("EPDFDoc_GetFontProgramData",4),Rj=n._EPDFDoc_GetFontDisplayProgramData=c("EPDFDoc_GetFontDisplayProgramData",4),Tj=n._EPDFDoc_GetFontDisplayProgramCoverage=c("EPDFDoc_GetFontDisplayProgramCoverage",4),Mj=n._EPDFDoc_ResolveFonts=c("EPDFDoc_ResolveFonts",8),Lj=n._EPDFFontResolution_Close=c("EPDFFontResolution_Close",1),Nj=n._EPDFFontResolution_GetSource=c("EPDFFontResolution_GetSource",2),jj=n._EPDFFontResolution_GetRegisteredFont=c("EPDFFontResolution_GetRegisteredFont",2),Kj=n._EPDFFontResolution_GetProgramObjNum=c("EPDFFontResolution_GetProgramObjNum",2),Vj=n._EPDFFontResolution_GetProgramDisplayHash=c("EPDFFontResolution_GetProgramDisplayHash",3),Yj=n._EPDFFontResolution_GetBaseFontName=c("EPDFFontResolution_GetBaseFontName",4),Xj=n._EPDFFontResolution_GetFamily=c("EPDFFontResolution_GetFamily",4),Wj=n._EPDFFontResolution_GetWeight=c("EPDFFontResolution_GetWeight",2),Uj=n._EPDFFontResolution_IsItalic=c("EPDFFontResolution_IsItalic",2),qj=n._EPDFFontResolution_IsDegraded=c("EPDFFontResolution_IsDegraded",2),zj=n._EPDFFontResolution_GetFallbacks=c("EPDFFontResolution_GetFallbacks",4),Zj=n._EPDFFontResolution_CountMissingCharacters=c("EPDFFontResolution_CountMissingCharacters",1),Jj=n._EPDFFontResolution_GetMissingCharacter=c("EPDFFontResolution_GetMissingCharacter",4),$j=n._EPDFDoc_ClearMissingCharacters=c("EPDFDoc_ClearMissingCharacters",1),e1=n._EPDFDoc_CountMissingCharacters=c("EPDFDoc_CountMissingCharacters",1),t1=n._EPDFDoc_GetMissingCharacter=c("EPDFDoc_GetMissingCharacter",4),n1=n._EPDFForm_LoadModel=c("EPDFForm_LoadModel",1),r1=n._EPDFForm_CloseModel=c("EPDFForm_CloseModel",1),i1=n._EPDFForm_GetFormKind=c("EPDFForm_GetFormKind",1),a1=n._EPDFForm_GetNeedAppearances=c("EPDFForm_GetNeedAppearances",1),o1=n._EPDFForm_CountFields=c("EPDFForm_CountFields",1),s1=n._EPDFForm_GetFieldActionModel=c("EPDFForm_GetFieldActionModel",3),A1=n._EPDFForm_CountCalculationOrder=c("EPDFForm_CountCalculationOrder",1),c1=n._EPDFForm_GetCalculationOrderFieldIndex=c("EPDFForm_GetCalculationOrderFieldIndex",2),d1=n._EPDFForm_GetFieldObjNum=c("EPDFForm_GetFieldObjNum",2),u1=n._EPDFForm_GetFieldFamily=c("EPDFForm_GetFieldFamily",2),p1=n._EPDFForm_GetFieldFlags=c("EPDFForm_GetFieldFlags",2),l1=n._EPDFForm_GetFieldOrigin=c("EPDFForm_GetFieldOrigin",2),m1=n._EPDFForm_GetFieldName=c("EPDFForm_GetFieldName",4),w1=n._EPDFForm_GetFieldAlternateName=c("EPDFForm_GetFieldAlternateName",4),b1=n._EPDFForm_GetFieldMappingName=c("EPDFForm_GetFieldMappingName",4),f1=n._EPDFForm_HasFieldEmbedMetadata=c("EPDFForm_HasFieldEmbedMetadata",2),g1=n._EPDFForm_GetFieldEmbedMetadataString=c("EPDFForm_GetFieldEmbedMetadataString",5),F1=n._EPDFForm_GetFieldEmbedMetadataNumber=c("EPDFForm_GetFieldEmbedMetadataNumber",4),v1=n._EPDFForm_GetFieldEmbedMetadataBoolean=c("EPDFForm_GetFieldEmbedMetadataBoolean",4),P1=n._EPDFForm_GetFieldEmbedMetadataJSON=c("EPDFForm_GetFieldEmbedMetadataJSON",4),h1=n._EPDFForm_GetFieldValueKind=c("EPDFForm_GetFieldValueKind",2),k1=n._EPDFForm_CountFieldValues=c("EPDFForm_CountFieldValues",2),D1=n._EPDFForm_GetFieldValueAt=c("EPDFForm_GetFieldValueAt",5),B1=n._EPDFForm_GetFieldDefaultValueKind=c("EPDFForm_GetFieldDefaultValueKind",2),E1=n._EPDFForm_CountFieldDefaultValues=c("EPDFForm_CountFieldDefaultValues",2),_1=n._EPDFForm_GetFieldDefaultValueAt=c("EPDFForm_GetFieldDefaultValueAt",5),y1=n._EPDFForm_GetFieldMaxLen=c("EPDFForm_GetFieldMaxLen",2),G1=n._EPDFForm_GetFieldTopIndex=c("EPDFForm_GetFieldTopIndex",2),C1=n._EPDFForm_CountFieldOptions=c("EPDFForm_CountFieldOptions",2),I1=n._EPDFForm_GetFieldOptionLabel=c("EPDFForm_GetFieldOptionLabel",5),S1=n._EPDFForm_GetFieldOptionValue=c("EPDFForm_GetFieldOptionValue",5),x1=n._EPDFForm_IsFieldOptionSelected=c("EPDFForm_IsFieldOptionSelected",3),H1=n._EPDFForm_CountFieldWidgets=c("EPDFForm_CountFieldWidgets",2),O1=n._EPDFForm_GetFieldWidgetObjNum=c("EPDFForm_GetFieldWidgetObjNum",3),Q1=n._EPDFForm_GetFieldWidgetPageObjNum=c("EPDFForm_GetFieldWidgetPageObjNum",3),R1=n._EPDFForm_GetFieldWidgetRect=c("EPDFForm_GetFieldWidgetRect",4),T1=n._EPDFForm_GetFieldWidgetOnState=c("EPDFForm_GetFieldWidgetOnState",5),M1=n._EPDFForm_GetFieldWidgetExportValue=c("EPDFForm_GetFieldWidgetExportValue",5),L1=n._EPDFForm_IsFieldWidgetChecked=c("EPDFForm_IsFieldWidgetChecked",3),N1=n._EPDFForm_GetFieldIndexByObjNum=c("EPDFForm_GetFieldIndexByObjNum",2),j1=n._EPDFForm_GetFieldIndexForWidget=c("EPDFForm_GetFieldIndexForWidget",2),K1=n._EPDFForm_SetFieldValue=c("EPDFForm_SetFieldValue",5),V1=n._EPDFForm_SetFieldDefaultValue=c("EPDFForm_SetFieldDefaultValue",5),Y1=n._EPDFForm_SetFieldSelectedIndices=c("EPDFForm_SetFieldSelectedIndices",4),X1=n._EPDFForm_SetFieldWidgetsChecked=c("EPDFForm_SetFieldWidgetsChecked",7),W1=n._EPDFForm_RedrawFieldWidgets=c("EPDFForm_RedrawFieldWidgets",5),U1=n._EPDFForm_SetFieldDisplay=c("EPDFForm_SetFieldDisplay",6),q1=n._EPDFForm_SetFieldAppearanceText=c("EPDFForm_SetFieldAppearanceText",6),z1=n._EPDFForm_ExportFDF=c("EPDFForm_ExportFDF",5),Z1=n._EPDFForm_ExportXFDF=c("EPDFForm_ExportXFDF",5),J1=n._EPDFForm_Repair=c("EPDFForm_Repair",3),$1=n._EPDFForm_CreateField=c("EPDFForm_CreateField",4),e5=n._EPDFForm_AttachWidget=c("EPDFForm_AttachWidget",5),t5=n._EPDFForm_DetachWidget=c("EPDFForm_DetachWidget",3),n5=n._EPDFForm_DeleteField=c("EPDFForm_DeleteField",5),r5=n._EPDFForm_SetFieldName=c("EPDFForm_SetFieldName",3),i5=n._EPDFForm_GetFieldPartialName=c("EPDFForm_GetFieldPartialName",4),a5=n._EPDFForm_SetFieldFlags=c("EPDFForm_SetFieldFlags",4),o5=n._EPDFForm_SetFieldEventAction=c("EPDFForm_SetFieldEventAction",4),s5=n._EPDFForm_SetCalculationOrder=c("EPDFForm_SetCalculationOrder",3),A5=n._EPDFForm_SetFieldMaxLen=c("EPDFForm_SetFieldMaxLen",3),c5=n._EPDFForm_SetFieldAlternateName=c("EPDFForm_SetFieldAlternateName",3),d5=n._EPDFForm_SetFieldMappingName=c("EPDFForm_SetFieldMappingName",3),u5=n._EPDFForm_SetFieldEmbedMetadataString=c("EPDFForm_SetFieldEmbedMetadataString",4),p5=n._EPDFForm_SetFieldEmbedMetadataNumber=c("EPDFForm_SetFieldEmbedMetadataNumber",4),l5=n._EPDFForm_SetFieldEmbedMetadataBoolean=c("EPDFForm_SetFieldEmbedMetadataBoolean",4),m5=n._EPDFForm_SetFieldEmbedMetadataJSON=c("EPDFForm_SetFieldEmbedMetadataJSON",3),w5=n._EPDFForm_ClearFieldEmbedMetadataKey=c("EPDFForm_ClearFieldEmbedMetadataKey",3),b5=n._EPDFForm_ClearFieldEmbedMetadata=c("EPDFForm_ClearFieldEmbedMetadata",2),f5=n._EPDFForm_SetFieldOptions=c("EPDFForm_SetFieldOptions",5),g5=n._EPDFPage_Flatten=c("EPDFPage_Flatten",2),F5=n._EPDFPage_FlattenAnnotations=c("EPDFPage_FlattenAnnotations",5),v5=n._EPDFPage_ExportAnnotationsAsDocument=c("EPDFPage_ExportAnnotationsAsDocument",3),P5=n._EPDFDoc_ExportPagesFlattened=c("EPDFDoc_ExportPagesFlattened",5),h5=n._EPDFLayer_OpenLayer=c("EPDFLayer_OpenLayer",4),k5=n._EPDFLayer_OpenLayerArtifact=c("EPDFLayer_OpenLayerArtifact",4),D5=n._EPDFLayer_OpenLayerArtifactFromPath=c("EPDFLayer_OpenLayerArtifactFromPath",4),B5=n._EPDFLayer_IsObjectPromoted=c("EPDFLayer_IsObjectPromoted",2),E5=n._EPDFPage_IsValid=c("EPDFPage_IsValid",1),_5=n._EPDFLayer_IsPagePromoted=c("EPDFLayer_IsPagePromoted",2),y5=n._EPDFLayer_GetBirthObjectNumber=c("EPDFLayer_GetBirthObjectNumber",3),G5=n._EPDFLayer_GetBirthName=c("EPDFLayer_GetBirthName",4),C5=n._EPDFLayer_BeginTransaction=c("EPDFLayer_BeginTransaction",1),I5=n._EPDFLayer_CommitTransaction=c("EPDFLayer_CommitTransaction",1),S5=n._EPDFLayer_AbortTransaction=c("EPDFLayer_AbortTransaction",1),x5=n._EPDFLayer_IsInTransaction=c("EPDFLayer_IsInTransaction",1),H5=n._EPDFLayer_GetLastObjectNumber=c("EPDFLayer_GetLastObjectNumber",1),O5=n._EPDFLayer_RaiseLastObjectNumber=c("EPDFLayer_RaiseLastObjectNumber",2),Q5=n._EPDFLayer_GetPromotedObjectCount=c("EPDFLayer_GetPromotedObjectCount",1),R5=n._EPDFLayer_GetBaseDocument=c("EPDFLayer_GetBaseDocument",1),T5=n._EPDF_SetBaseDocumentSha256=c("EPDF_SetBaseDocumentSha256",2),M5=n._EPDFLayer_GetBaseSha256=c("EPDFLayer_GetBaseSha256",2),L5=n._EPDFLayer_SaveDelta=c("EPDFLayer_SaveDelta",3),N5=n._EPDFLayer_SaveDeltaEx=c("EPDFLayer_SaveDeltaEx",4),j5=n._EPDFLayer_SaveDeltaToOwnedBuffer=c("EPDFLayer_SaveDeltaToOwnedBuffer",3),K5=n._EPDFLayer_SaveDeltaToOwnedBufferEx=c("EPDFLayer_SaveDeltaToOwnedBufferEx",4),V5=n._EPDFLayer_SaveLayerArtifact=c("EPDFLayer_SaveLayerArtifact",3),Y5=n._EPDFLayer_SaveLayerArtifactEx=c("EPDFLayer_SaveLayerArtifactEx",4),X5=n._EPDFLayer_SaveLayerArtifactToOwnedBuffer=c("EPDFLayer_SaveLayerArtifactToOwnedBuffer",3),W5=n._EPDFLayer_SaveLayerArtifactToOwnedBufferEx=c("EPDFLayer_SaveLayerArtifactToOwnedBufferEx",4),U5=n._EPDFNamedDest_SetDest=c("EPDFNamedDest_SetDest",3),q5=n._EPDFNamedDest_Remove=c("EPDFNamedDest_Remove",2),z5=n._EPDFDest_CreateView=c("EPDFDest_CreateView",4),Z5=n._EPDFDest_CreateXYZ=c("EPDFDest_CreateXYZ",7),J5=n._EPDFDest_CreateRemoteView=c("EPDFDest_CreateRemoteView",5),$5=n._EPDFDest_CreateRemoteXYZ=c("EPDFDest_CreateRemoteXYZ",8),eK=n._EPDFDest_CreateXYZByObjectNumber=c("EPDFDest_CreateXYZByObjectNumber",8),tK=n._EPDFDest_CreateViewByObjectNumber=c("EPDFDest_CreateViewByObjectNumber",5),nK=n._EPDFDest_GetViewNullParams=c("EPDFDest_GetViewNullParams",1),rK=n._EPDFAction_CreateGoTo=c("EPDFAction_CreateGoTo",2),iK=n._EPDFAction_CreateGoToNamed=c("EPDFAction_CreateGoToNamed",2),aK=n._EPDFAction_CreateLaunch=c("EPDFAction_CreateLaunch",2),oK=n._EPDFAction_CreateRemoteGoToByName=c("EPDFAction_CreateRemoteGoToByName",3),sK=n._EPDFAction_CreateRemoteGoToDest=c("EPDFAction_CreateRemoteGoToDest",3),AK=n._EPDFAction_CreateURI=c("EPDFAction_CreateURI",2),cK=n._EPDFAction_CreateNamed=c("EPDFAction_CreateNamed",2),dK=n._EPDFOutline_GetObjectNumber=c("EPDFOutline_GetObjectNumber",1),uK=n._EPDFOutline_GetItem=c("EPDFOutline_GetItem",2),pK=n._EPDFOutline_CreateItem=c("EPDFOutline_CreateItem",5),lK=n._EPDFOutline_MoveItem=c("EPDFOutline_MoveItem",4),mK=n._EPDFOutline_DeleteItem=c("EPDFOutline_DeleteItem",2),wK=n._EPDFOutline_SetTitle=c("EPDFOutline_SetTitle",3),bK=n._EPDFOutline_SetOpen=c("EPDFOutline_SetOpen",3),fK=n._EPDFOutline_SetColor=c("EPDFOutline_SetColor",6),gK=n._EPDFOutline_SetStyle=c("EPDFOutline_SetStyle",3),FK=n._EPDFOutline_SetAction=c("EPDFOutline_SetAction",3),vK=n._EPDFDoc_GetNamedPageCount=c("EPDFDoc_GetNamedPageCount",2),PK=n._EPDFDoc_GetNamedPageAt=c("EPDFDoc_GetNamedPageAt",7),hK=n._EPDFDoc_SetNamedPage=c("EPDFDoc_SetNamedPage",3),kK=n._EPDFDoc_RemoveNamedPage=c("EPDFDoc_RemoveNamedPage",2),DK=n._EPDFDoc_RemoveNamedPagesForPage=c("EPDFDoc_RemoveNamedPagesForPage",2),BK=n._EPDFDoc_GetPageLabelSectionCount=c("EPDFDoc_GetPageLabelSectionCount",1),EK=n._EPDFDoc_GetPageLabelSectionAt=c("EPDFDoc_GetPageLabelSectionAt",7),_K=n._EPDFDoc_SetPageLabelSections=c("EPDFDoc_SetPageLabelSections",6),yK=n._EPDF_DigestBuffer=c("EPDF_DigestBuffer",5),GK=n._EPDFDoc_GetRevisionCount=c("EPDFDoc_GetRevisionCount",1),CK=n._EPDFDoc_GetRevision=c("EPDFDoc_GetRevision",4),IK=n._EPDFDoc_OpenRevision=c("EPDFDoc_OpenRevision",3),SK=n._EPDFDoc_OpenBaseOverlayFromPath=c("EPDFDoc_OpenBaseOverlayFromPath",2),xK=n._EPDFDoc_OpenBaseOverlay=c("EPDFDoc_OpenBaseOverlay",3),HK=n._EPDFSig_LoadModel=c("EPDFSig_LoadModel",1),OK=n._EPDFSig_CloseModel=c("EPDFSig_CloseModel",1),QK=n._EPDFSig_Count=c("EPDFSig_Count",1),RK=n._EPDFSig_IsRevisionChainValid=c("EPDFSig_IsRevisionChainValid",1),TK=n._EPDFSig_GetIndexByFieldObjNum=c("EPDFSig_GetIndexByFieldObjNum",2),MK=n._EPDFSig_GetFieldObjNum=c("EPDFSig_GetFieldObjNum",2),LK=n._EPDFSig_GetWidgetObjNum=c("EPDFSig_GetWidgetObjNum",2),NK=n._EPDFSig_GetWidgetPageObjNum=c("EPDFSig_GetWidgetPageObjNum",2),jK=n._EPDFSig_GetValueObjNum=c("EPDFSig_GetValueObjNum",2),KK=n._EPDFSig_GetFieldName=c("EPDFSig_GetFieldName",4),VK=n._EPDFSig_IsSigned=c("EPDFSig_IsSigned",2),YK=n._EPDFSig_GetKind=c("EPDFSig_GetKind",2),XK=n._EPDFSig_GetByteRange=c("EPDFSig_GetByteRange",3),WK=n._EPDFSig_GetCoverage=c("EPDFSig_GetCoverage",2),UK=n._EPDFSig_GetRevisionIndex=c("EPDFSig_GetRevisionIndex",2),qK=n._EPDFSig_GetContents=c("EPDFSig_GetContents",4),zK=n._EPDFSig_GetString=c("EPDFSig_GetString",5),ZK=n._EPDFSig_GetDocMDPPermission=c("EPDFSig_GetDocMDPPermission",2),JK=n._EPDFSig_IsCatalogCertification=c("EPDFSig_IsCatalogCertification",2),$K=n._EPDFSig_GetFieldMDPAction=c("EPDFSig_GetFieldMDPAction",2),eV=n._EPDFSig_GetLockAction=c("EPDFSig_GetLockAction",2),tV=n._EPDFSig_GetLockPermission=c("EPDFSig_GetLockPermission",2),nV=n._EPDFSig_GetFieldNameCount=c("EPDFSig_GetFieldNameCount",3),rV=n._EPDFSig_GetFieldNameAt=c("EPDFSig_GetFieldNameAt",6),iV=n._EPDFSig_HasSeedValue=c("EPDFSig_HasSeedValue",2),aV=n._EPDFSig_GetSeedValueRequiredFlags=c("EPDFSig_GetSeedValueRequiredFlags",2),oV=n._EPDFSig_GetSeedValuePresentFlags=c("EPDFSig_GetSeedValuePresentFlags",2),sV=n._EPDFSig_GetSeedValueMDP=c("EPDFSig_GetSeedValueMDP",2),AV=n._EPDFSig_GetSeedValueVersion=c("EPDFSig_GetSeedValueVersion",2),cV=n._EPDFSig_GetSeedValueFilter=c("EPDFSig_GetSeedValueFilter",4),dV=n._EPDFSig_GetSeedValueListCount=c("EPDFSig_GetSeedValueListCount",3),uV=n._EPDFSig_GetSeedValueListAt=c("EPDFSig_GetSeedValueListAt",6),pV=n._EPDFSig_DigestByteRange=c("EPDFSig_DigestByteRange",5),lV=n._EPDFSig_DigestFileRange=c("EPDFSig_DigestFileRange",5),mV=n._EPDFDoc_GetLoadedBytesSize=c("EPDFDoc_GetLoadedBytesSize",1),wV=n._EPDFDoc_GetBaseBytesSize=c("EPDFDoc_GetBaseBytesSize",1),bV=n._EPDFDoc_GetStructureObjectNumbers=c("EPDFDoc_GetStructureObjectNumbers",4),fV=n._EPDFDoc_ReadLoadedBytes=c("EPDFDoc_ReadLoadedBytes",5),gV=n._EPDFSig_Prepare=c("EPDFSig_Prepare",3),FV=n._EPDFSig_SetFieldLock=c("EPDFSig_SetFieldLock",6),vV=n._EPDFSig_SaveCandidateToOwnedBuffer=c("EPDFSig_SaveCandidateToOwnedBuffer",5),PV=n._EPDFSig_SaveCandidate=c("EPDFSig_SaveCandidate",6),hV=n._EPDFSig_Seal=c("EPDFSig_Seal",13),kV=n._EPDFSig_SealSpan=c("EPDFSig_SealSpan",10),DV=n._EPDFSig_WriteContents=c("EPDFSig_WriteContents",9),BV=n._EPDFDoc_CompareRevisions=c("EPDFDoc_CompareRevisions",2),EV=n._EPDFObjectDiff_Close=c("EPDFObjectDiff_Close",1),_V=n._EPDFObjectDiff_GetCount=c("EPDFObjectDiff_GetCount",1),yV=n._EPDFObjectDiff_GetEntry=c("EPDFObjectDiff_GetEntry",8),GV=n._EPDFObjectDiff_GetValue=c("EPDFObjectDiff_GetValue",6),CV=n._EPDFObjectDiff_GetReadStatus=c("EPDFObjectDiff_GetReadStatus",3),IV=n._EPDFObjectDiff_GetRevisionHealth=c("EPDFObjectDiff_GetRevisionHealth",5),SV=n._EPDFObjectDiff_GetReferrerCount=c("EPDFObjectDiff_GetReferrerCount",3),xV=n._EPDFObjectDiff_GetReferrer=c("EPDFObjectDiff_GetReferrer",7),HV=n._EPDFDoc_HasPieceInfoEntry=c("EPDFDoc_HasPieceInfoEntry",2),OV=n._EPDFDoc_GetPieceInfoEntryCount=c("EPDFDoc_GetPieceInfoEntryCount",1),QV=n._EPDFDoc_GetPieceInfoEntryAt=c("EPDFDoc_GetPieceInfoEntryAt",4),RV=n._EPDFDoc_GetLastModified=c("EPDFDoc_GetLastModified",3),TV=n._EPDFDoc_GetPieceInfoLastModified=c("EPDFDoc_GetPieceInfoLastModified",4),MV=n._EPDFDoc_GetPieceInfoKeyCount=c("EPDFDoc_GetPieceInfoKeyCount",2),LV=n._EPDFDoc_GetPieceInfoKeyAt=c("EPDFDoc_GetPieceInfoKeyAt",5),NV=n._EPDFDoc_GetPieceInfoValueType=c("EPDFDoc_GetPieceInfoValueType",3),jV=n._EPDFDoc_SetPieceInfoString=c("EPDFDoc_SetPieceInfoString",5),KV=n._EPDFDoc_GetPieceInfoString=c("EPDFDoc_GetPieceInfoString",5),VV=n._EPDFDoc_SetPieceInfoNumber=c("EPDFDoc_SetPieceInfoNumber",5),YV=n._EPDFDoc_GetPieceInfoNumber=c("EPDFDoc_GetPieceInfoNumber",4),XV=n._EPDFDoc_SetPieceInfoBoolean=c("EPDFDoc_SetPieceInfoBoolean",5),WV=n._EPDFDoc_GetPieceInfoBoolean=c("EPDFDoc_GetPieceInfoBoolean",4),UV=n._EPDFDoc_SetPieceInfoName=c("EPDFDoc_SetPieceInfoName",5),qV=n._EPDFDoc_GetPieceInfoName=c("EPDFDoc_GetPieceInfoName",5),zV=n._EPDFDoc_SetPieceInfoStringArray=c("EPDFDoc_SetPieceInfoStringArray",6),ZV=n._EPDFDoc_GetPieceInfoStringArrayCount=c("EPDFDoc_GetPieceInfoStringArrayCount",3),JV=n._EPDFDoc_GetPieceInfoStringArrayAt=c("EPDFDoc_GetPieceInfoStringArrayAt",6),$V=n._EPDFDoc_ClearPieceInfoKey=c("EPDFDoc_ClearPieceInfoKey",4),eY=n._EPDFDoc_ClearPieceInfoEntry=c("EPDFDoc_ClearPieceInfoEntry",2),tY=n._EPDFDoc_HasPagePieceInfoEntry=c("EPDFDoc_HasPagePieceInfoEntry",3),nY=n._EPDFDoc_GetPagePieceInfoEntryCount=c("EPDFDoc_GetPagePieceInfoEntryCount",2),rY=n._EPDFDoc_GetPagePieceInfoEntryAt=c("EPDFDoc_GetPagePieceInfoEntryAt",5),iY=n._EPDFDoc_GetPageLastModified=c("EPDFDoc_GetPageLastModified",4),aY=n._EPDFDoc_GetPagePieceInfoLastModified=c("EPDFDoc_GetPagePieceInfoLastModified",5),oY=n._EPDFDoc_GetPagePieceInfoKeyCount=c("EPDFDoc_GetPagePieceInfoKeyCount",3),sY=n._EPDFDoc_GetPagePieceInfoKeyAt=c("EPDFDoc_GetPagePieceInfoKeyAt",6),AY=n._EPDFDoc_GetPagePieceInfoValueType=c("EPDFDoc_GetPagePieceInfoValueType",4),cY=n._EPDFDoc_SetPagePieceInfoString=c("EPDFDoc_SetPagePieceInfoString",6),dY=n._EPDFDoc_GetPagePieceInfoString=c("EPDFDoc_GetPagePieceInfoString",6),uY=n._EPDFDoc_SetPagePieceInfoNumber=c("EPDFDoc_SetPagePieceInfoNumber",6),pY=n._EPDFDoc_GetPagePieceInfoNumber=c("EPDFDoc_GetPagePieceInfoNumber",5),lY=n._EPDFDoc_SetPagePieceInfoBoolean=c("EPDFDoc_SetPagePieceInfoBoolean",6),mY=n._EPDFDoc_GetPagePieceInfoBoolean=c("EPDFDoc_GetPagePieceInfoBoolean",5),wY=n._EPDFDoc_SetPagePieceInfoName=c("EPDFDoc_SetPagePieceInfoName",6),bY=n._EPDFDoc_GetPagePieceInfoName=c("EPDFDoc_GetPagePieceInfoName",6),fY=n._EPDFDoc_SetPagePieceInfoStringArray=c("EPDFDoc_SetPagePieceInfoStringArray",7),gY=n._EPDFDoc_GetPagePieceInfoStringArrayCount=c("EPDFDoc_GetPagePieceInfoStringArrayCount",4),FY=n._EPDFDoc_GetPagePieceInfoStringArrayAt=c("EPDFDoc_GetPagePieceInfoStringArrayAt",7),vY=n._EPDFDoc_ClearPagePieceInfoKey=c("EPDFDoc_ClearPagePieceInfoKey",5),PY=n._EPDFDoc_ClearPagePieceInfoEntry=c("EPDFDoc_ClearPagePieceInfoEntry",3),hY=n._EPDFAnnot_GetMeasure=c("EPDFAnnot_GetMeasure",1),kY=n._EPDFAnnot_AddMeasure=c("EPDFAnnot_AddMeasure",1),DY=n._EPDFAnnot_RemoveMeasure=c("EPDFAnnot_RemoveMeasure",1),BY=n._EPDFPage_CountViewports=c("EPDFPage_CountViewports",1),EY=n._EPDFPage_GetViewport=c("EPDFPage_GetViewport",2),_Y=n._EPDFPage_AddViewport=c("EPDFPage_AddViewport",2),yY=n._EPDFPage_RemoveViewport=c("EPDFPage_RemoveViewport",2),GY=n._EPDFPage_FindViewport=c("EPDFPage_FindViewport",2),CY=n._EPDFViewport_GetBBox=c("EPDFViewport_GetBBox",2),IY=n._EPDFViewport_SetBBox=c("EPDFViewport_SetBBox",2),SY=n._EPDFViewport_GetMeasure=c("EPDFViewport_GetMeasure",1),xY=n._EPDFViewport_AddMeasure=c("EPDFViewport_AddMeasure",1),HY=n._EPDFViewport_RemoveMeasure=c("EPDFViewport_RemoveMeasure",1),OY=n._EPDFMeasure_GetSubtype=c("EPDFMeasure_GetSubtype",1),QY=n._EPDFMeasure_GetOrigin=c("EPDFMeasure_GetOrigin",2),RY=n._EPDFMeasure_SetOrigin=c("EPDFMeasure_SetOrigin",2),TY=n._EPDFMeasure_GetCYX=c("EPDFMeasure_GetCYX",2),MY=n._EPDFMeasure_SetCYX=c("EPDFMeasure_SetCYX",2),LY=n._EPDFMeasure_CountFormats=c("EPDFMeasure_CountFormats",2),NY=n._EPDFMeasure_GetFormat=c("EPDFMeasure_GetFormat",3),jY=n._EPDFMeasure_AddFormat=c("EPDFMeasure_AddFormat",4),KY=n._EPDFMeasure_RemoveFormats=c("EPDFMeasure_RemoveFormats",2),VY=n._EPDFViewport_GetName=c("EPDFViewport_GetName",3),YY=n._EPDFViewport_SetName=c("EPDFViewport_SetName",2),XY=n._EPDFMeasure_GetRatio=c("EPDFMeasure_GetRatio",3),WY=n._EPDFMeasure_SetRatio=c("EPDFMeasure_SetRatio",2),UY=n._EPDFNumberFormat_GetUnit=c("EPDFNumberFormat_GetUnit",3),qY=n._EPDFNumberFormat_SetUnit=c("EPDFNumberFormat_SetUnit",2),zY=n._EPDFNumberFormat_GetConversion=c("EPDFNumberFormat_GetConversion",2),ZY=n._EPDFNumberFormat_SetConversion=c("EPDFNumberFormat_SetConversion",2),JY=n._EPDFNumberFormat_GetPrecision=c("EPDFNumberFormat_GetPrecision",2),$Y=n._EPDFNumberFormat_SetPrecision=c("EPDFNumberFormat_SetPrecision",2),e8=n._EPDFNumberFormat_GetFixedDenominator=c("EPDFNumberFormat_GetFixedDenominator",2),t8=n._EPDFNumberFormat_SetFixedDenominator=c("EPDFNumberFormat_SetFixedDenominator",2),n8=n._EPDFNumberFormat_GetText=c("EPDFNumberFormat_GetText",4),r8=n._EPDFNumberFormat_SetText=c("EPDFNumberFormat_SetText",3),i8=n._EPDFNumberFormat_GetFraction=c("EPDFNumberFormat_GetFraction",2),a8=n._EPDFNumberFormat_SetFraction=c("EPDFNumberFormat_SetFraction",2),o8=n._EPDFNumberFormat_GetLabelPosition=c("EPDFNumberFormat_GetLabelPosition",2),s8=n._EPDFNumberFormat_SetLabelPosition=c("EPDFNumberFormat_SetLabelPosition",2),A8=n._EPDFAnnot_SetLineLeader=c("EPDFAnnot_SetLineLeader",4),c8=n._EPDFAnnot_GetLineLeader=c("EPDFAnnot_GetLineLeader",4),d8=n._EPDFAnnot_SetLineCaption=c("EPDFAnnot_SetLineCaption",4),u8=n._EPDFAnnot_GetLineCaption=c("EPDFAnnot_GetLineCaption",4),p8=n._EPDFAnnot_SetShapeCaption=c("EPDFAnnot_SetShapeCaption",3),l8=n._EPDFAnnot_GetShapeCaption=c("EPDFAnnot_GetShapeCaption",4),m8=n._EPDFPage_GetParsedSize=c("EPDFPage_GetParsedSize",2),w8=n._EPDFPage_IsContentCurrent=c("EPDFPage_IsContentCurrent",1),b8=n._EPDF_PNG_EncodeRGBA=c("EPDF_PNG_EncodeRGBA",6),f8=n._EPDFDoc_ImportPages=c("EPDFDoc_ImportPages",6),g8=n._EPDFDoc_GetImportFieldRoots=c("EPDFDoc_GetImportFieldRoots",5),F8=n._EPDFPage_ApplyRedactions=c("EPDFPage_ApplyRedactions",4),v8=n._EPDF_InitThread=c("EPDF_InitThread",0),P8=n._EPDF_ShutdownThread=c("EPDF_ShutdownThread",0),h8=n._FPDFAnnot_IsSupportedSubtype=c("FPDFAnnot_IsSupportedSubtype",1),k8=n._FPDFPage_CreateAnnot=c("FPDFPage_CreateAnnot",2),D8=n._FPDFPage_GetAnnotCount=c("FPDFPage_GetAnnotCount",1),B8=n._FPDFPage_GetAnnot=c("FPDFPage_GetAnnot",2),E8=n._FPDFPage_GetAnnotIndex=c("FPDFPage_GetAnnotIndex",2),_8=n._FPDFPage_CloseAnnot=c("FPDFPage_CloseAnnot",1),y8=n._FPDFPage_RemoveAnnot=c("FPDFPage_RemoveAnnot",2),G8=n._FPDFAnnot_GetSubtype=c("FPDFAnnot_GetSubtype",1),C8=n._FPDFAnnot_IsObjectSupportedSubtype=c("FPDFAnnot_IsObjectSupportedSubtype",1),I8=n._FPDFAnnot_UpdateObject=c("FPDFAnnot_UpdateObject",2),S8=n._FPDFAnnot_AddInkStroke=c("FPDFAnnot_AddInkStroke",3),x8=n._FPDFAnnot_RemoveInkList=c("FPDFAnnot_RemoveInkList",1),H8=n._FPDFAnnot_AppendObject=c("FPDFAnnot_AppendObject",2),O8=n._FPDFAnnot_GetObjectCount=c("FPDFAnnot_GetObjectCount",1),Q8=n._FPDFAnnot_GetObject=c("FPDFAnnot_GetObject",2),R8=n._FPDFAnnot_RemoveObject=c("FPDFAnnot_RemoveObject",2),T8=n._FPDFAnnot_SetColor=c("FPDFAnnot_SetColor",6),M8=n._FPDFAnnot_GetColor=c("FPDFAnnot_GetColor",6),L8=n._FPDFAnnot_HasAttachmentPoints=c("FPDFAnnot_HasAttachmentPoints",1),N8=n._FPDFAnnot_SetAttachmentPoints=c("FPDFAnnot_SetAttachmentPoints",3),j8=n._FPDFAnnot_AppendAttachmentPoints=c("FPDFAnnot_AppendAttachmentPoints",2),K8=n._FPDFAnnot_CountAttachmentPoints=c("FPDFAnnot_CountAttachmentPoints",1),V8=n._FPDFAnnot_GetAttachmentPoints=c("FPDFAnnot_GetAttachmentPoints",3),Y8=n._FPDFAnnot_SetRect=c("FPDFAnnot_SetRect",2),X8=n._FPDFAnnot_GetRect=c("FPDFAnnot_GetRect",2),W8=n._FPDFAnnot_GetVertices=c("FPDFAnnot_GetVertices",3),U8=n._FPDFAnnot_GetInkListCount=c("FPDFAnnot_GetInkListCount",1),q8=n._FPDFAnnot_GetInkListPath=c("FPDFAnnot_GetInkListPath",4),z8=n._FPDFAnnot_GetLine=c("FPDFAnnot_GetLine",3),Z8=n._FPDFAnnot_SetBorder=c("FPDFAnnot_SetBorder",4),J8=n._FPDFAnnot_GetBorder=c("FPDFAnnot_GetBorder",4),$8=n._FPDFAnnot_HasKey=c("FPDFAnnot_HasKey",2),eX=n._FPDFAnnot_GetValueType=c("FPDFAnnot_GetValueType",2),tX=n._FPDFAnnot_SetStringValue=c("FPDFAnnot_SetStringValue",3),nX=n._FPDFAnnot_GetStringValue=c("FPDFAnnot_GetStringValue",4),rX=n._FPDFAnnot_GetNumberValue=c("FPDFAnnot_GetNumberValue",3),iX=n._FPDFAnnot_SetAP=c("FPDFAnnot_SetAP",3),aX=n._FPDFAnnot_GetAP=c("FPDFAnnot_GetAP",4),oX=n._FPDFAnnot_GetLinkedAnnot=c("FPDFAnnot_GetLinkedAnnot",2),sX=n._FPDFAnnot_GetFlags=c("FPDFAnnot_GetFlags",1),AX=n._FPDFAnnot_SetFlags=c("FPDFAnnot_SetFlags",2),cX=n._FPDFAnnot_GetFormFieldFlags=c("FPDFAnnot_GetFormFieldFlags",2),dX=n._FPDFAnnot_SetFormFieldFlags=c("FPDFAnnot_SetFormFieldFlags",3),uX=n._FPDFAnnot_GetFormFieldAtPoint=c("FPDFAnnot_GetFormFieldAtPoint",3),pX=n._FPDFAnnot_GetFormFieldName=c("FPDFAnnot_GetFormFieldName",4),lX=n._FPDFAnnot_GetFormFieldType=c("FPDFAnnot_GetFormFieldType",2),mX=n._FPDFAnnot_GetFormAdditionalActionJavaScript=c("FPDFAnnot_GetFormAdditionalActionJavaScript",5),wX=n._FPDFAnnot_GetFormFieldAlternateName=c("FPDFAnnot_GetFormFieldAlternateName",4),bX=n._FPDFAnnot_GetFormFieldValue=c("FPDFAnnot_GetFormFieldValue",4),fX=n._FPDFAnnot_GetOptionCount=c("FPDFAnnot_GetOptionCount",2),gX=n._FPDFAnnot_GetOptionLabel=c("FPDFAnnot_GetOptionLabel",5),FX=n._FPDFAnnot_IsOptionSelected=c("FPDFAnnot_IsOptionSelected",3),vX=n._FPDFAnnot_GetFontSize=c("FPDFAnnot_GetFontSize",3),PX=n._FPDFAnnot_SetFontColor=c("FPDFAnnot_SetFontColor",5),hX=n._FPDFAnnot_GetFontColor=c("FPDFAnnot_GetFontColor",5),kX=n._FPDFAnnot_IsChecked=c("FPDFAnnot_IsChecked",2),DX=n._FPDFAnnot_SetFocusableSubtypes=c("FPDFAnnot_SetFocusableSubtypes",3),BX=n._FPDFAnnot_GetFocusableSubtypesCount=c("FPDFAnnot_GetFocusableSubtypesCount",1),EX=n._FPDFAnnot_GetFocusableSubtypes=c("FPDFAnnot_GetFocusableSubtypes",3),_X=n._FPDFAnnot_GetLink=c("FPDFAnnot_GetLink",1),yX=n._FPDFAnnot_GetFormControlCount=c("FPDFAnnot_GetFormControlCount",2),GX=n._FPDFAnnot_GetFormControlIndex=c("FPDFAnnot_GetFormControlIndex",2),CX=n._FPDFAnnot_GetFormFieldExportValue=c("FPDFAnnot_GetFormFieldExportValue",4),IX=n._FPDFAnnot_SetURI=c("FPDFAnnot_SetURI",2),SX=n._FPDFAnnot_GetFileAttachment=c("FPDFAnnot_GetFileAttachment",1),xX=n._FPDFAnnot_AddFileAttachment=c("FPDFAnnot_AddFileAttachment",2),HX=n._FPDFDoc_GetAttachmentCount=c("FPDFDoc_GetAttachmentCount",1),OX=n._FPDFDoc_AddAttachment=c("FPDFDoc_AddAttachment",2),QX=n._FPDFDoc_GetAttachment=c("FPDFDoc_GetAttachment",2),RX=n._EPDFDoc_GetAttachmentKey=c("EPDFDoc_GetAttachmentKey",4),TX=n._EPDFDoc_GetAttachmentIndexByKey=c("EPDFDoc_GetAttachmentIndexByKey",2),MX=n._FPDFDoc_DeleteAttachment=c("FPDFDoc_DeleteAttachment",2),LX=n._FPDFAttachment_GetName=c("FPDFAttachment_GetName",3),NX=n._FPDFAttachment_HasKey=c("FPDFAttachment_HasKey",2),jX=n._FPDFAttachment_GetValueType=c("FPDFAttachment_GetValueType",2),KX=n._FPDFAttachment_SetStringValue=c("FPDFAttachment_SetStringValue",3),VX=n._FPDFAttachment_GetStringValue=c("FPDFAttachment_GetStringValue",4),YX=n._FPDFAttachment_SetDescription=c("FPDFAttachment_SetDescription",2),XX=n._FPDFAttachment_GetDescription=c("FPDFAttachment_GetDescription",3),WX=n._FPDFAttachment_SetFile=c("FPDFAttachment_SetFile",4),UX=n._FPDFAttachment_GetFile=c("FPDFAttachment_GetFile",4),qX=n._FPDFAttachment_GetSubtype=c("FPDFAttachment_GetSubtype",3),zX=n._FPDFAttachment_GetAFRelationship=c("FPDFAttachment_GetAFRelationship",3),ZX=n._EPDFAttachment_SetSubtype=c("EPDFAttachment_SetSubtype",2),JX=n._EPDFAttachment_SetDescription=c("EPDFAttachment_SetDescription",2),$X=n._EPDFAttachment_SetName=c("EPDFAttachment_SetName",2),eW=n._EPDFAttachment_GetDescription=c("EPDFAttachment_GetDescription",3),tW=n._EPDFAttachment_GetIntegerValue=c("EPDFAttachment_GetIntegerValue",3),nW=n._EPDFAttachment_ExtractFile=c("EPDFAttachment_ExtractFile",6),rW=n._EPDFAttachment_ExtractFileToOwnedBuffer=c("EPDFAttachment_ExtractFileToOwnedBuffer",6),iW=n._FPDFCatalog_IsTagged=c("FPDFCatalog_IsTagged",1),aW=n._FPDFCatalog_GetLanguage=c("FPDFCatalog_GetLanguage",3),oW=n._FPDFCatalog_SetLanguage=c("FPDFCatalog_SetLanguage",2),sW=n._EPDFCatalog_GetLanguage=c("EPDFCatalog_GetLanguage",3),AW=n._FPDFAvail_Create=c("FPDFAvail_Create",2),cW=n._FPDFAvail_Destroy=c("FPDFAvail_Destroy",1),dW=n._FPDFAvail_IsDocAvail=c("FPDFAvail_IsDocAvail",2),uW=n._FPDFAvail_GetDocument=c("FPDFAvail_GetDocument",2),pW=n._FPDFAvail_GetFirstPageNum=c("FPDFAvail_GetFirstPageNum",1),lW=n._FPDFAvail_IsPageAvail=c("FPDFAvail_IsPageAvail",3),mW=n._FPDFAvail_IsFormAvail=c("FPDFAvail_IsFormAvail",2),wW=n._FPDFAvail_IsLinearized=c("FPDFAvail_IsLinearized",1),bW=n._FPDFBookmark_GetFirstChild=c("FPDFBookmark_GetFirstChild",2),fW=n._FPDFBookmark_GetNextSibling=c("FPDFBookmark_GetNextSibling",2),gW=n._FPDFBookmark_GetTitle=c("FPDFBookmark_GetTitle",3),FW=n._FPDFBookmark_GetCount=c("FPDFBookmark_GetCount",1),vW=n._FPDFBookmark_Find=c("FPDFBookmark_Find",2),PW=n._FPDFBookmark_GetDest=c("FPDFBookmark_GetDest",2),hW=n._FPDFBookmark_GetAction=c("FPDFBookmark_GetAction",1),kW=n._FPDFBookmark_GetColor=c("FPDFBookmark_GetColor",4),DW=n._FPDFBookmark_GetStyle=c("FPDFBookmark_GetStyle",1),BW=n._FPDFAction_GetType=c("FPDFAction_GetType",1),EW=n._FPDFAction_GetDest=c("FPDFAction_GetDest",2),_W=n._FPDFAction_GetFilePath=c("FPDFAction_GetFilePath",3),yW=n._FPDFAction_GetURIPath=c("FPDFAction_GetURIPath",4),GW=n._FPDFDest_GetDestPageIndex=c("FPDFDest_GetDestPageIndex",2),CW=n._EPDFDest_GetPageObjectNumber=c("EPDFDest_GetPageObjectNumber",2),IW=n._FPDFDest_GetView=c("FPDFDest_GetView",3),SW=n._FPDFDest_GetLocationInPage=c("FPDFDest_GetLocationInPage",7),xW=n._FPDFLink_GetLinkAtPoint=c("FPDFLink_GetLinkAtPoint",3),HW=n._FPDFLink_GetLinkZOrderAtPoint=c("FPDFLink_GetLinkZOrderAtPoint",3),OW=n._FPDFLink_GetDest=c("FPDFLink_GetDest",2),QW=n._FPDFLink_GetAction=c("FPDFLink_GetAction",1),RW=n._FPDFLink_Enumerate=c("FPDFLink_Enumerate",3),TW=n._FPDFLink_GetAnnot=c("FPDFLink_GetAnnot",2),MW=n._FPDFLink_GetAnnotRect=c("FPDFLink_GetAnnotRect",2),LW=n._FPDFLink_CountQuadPoints=c("FPDFLink_CountQuadPoints",1),NW=n._FPDFLink_GetQuadPoints=c("FPDFLink_GetQuadPoints",3),jW=n._FPDF_GetPageAAction=c("FPDF_GetPageAAction",2),KW=n._FPDF_GetFileIdentifier=c("FPDF_GetFileIdentifier",4),VW=n._FPDF_GetMetaText=c("FPDF_GetMetaText",4),YW=n._FPDF_GetPageLabel=c("FPDF_GetPageLabel",4),XW=n._EPDF_SetMetaText=c("EPDF_SetMetaText",3),WW=n._EPDF_HasMetaText=c("EPDF_HasMetaText",2),UW=n._EPDF_GetMetaTrapped=c("EPDF_GetMetaTrapped",1),qW=n._EPDF_SetMetaTrapped=c("EPDF_SetMetaTrapped",2),zW=n._EPDF_GetMetaKeyCount=c("EPDF_GetMetaKeyCount",2),ZW=n._EPDF_GetMetaKeyName=c("EPDF_GetMetaKeyName",5),JW=n._FPDFPageObj_NewImageObj=c("FPDFPageObj_NewImageObj",1),$W=n._FPDFImageObj_LoadJpegFile=c("FPDFImageObj_LoadJpegFile",4),eU=n._FPDFImageObj_LoadJpegFileInline=c("FPDFImageObj_LoadJpegFileInline",4),tU=n._FPDFImageObj_SetMatrix=c("FPDFImageObj_SetMatrix",7),nU=n._FPDFImageObj_SetBitmap=c("FPDFImageObj_SetBitmap",4),rU=n._FPDFImageObj_GetBitmap=c("FPDFImageObj_GetBitmap",1),iU=n._FPDFImageObj_GetRenderedBitmap=c("FPDFImageObj_GetRenderedBitmap",3),aU=n._FPDFImageObj_GetImageDataDecoded=c("FPDFImageObj_GetImageDataDecoded",3),oU=n._FPDFImageObj_GetImageDataRaw=c("FPDFImageObj_GetImageDataRaw",3),sU=n._FPDFImageObj_GetImageFilterCount=c("FPDFImageObj_GetImageFilterCount",1),AU=n._FPDFImageObj_GetImageFilter=c("FPDFImageObj_GetImageFilter",4),cU=n._FPDFImageObj_GetImageMetadata=c("FPDFImageObj_GetImageMetadata",3),dU=n._FPDFImageObj_GetImagePixelSize=c("FPDFImageObj_GetImagePixelSize",3),uU=n._FPDFImageObj_GetIccProfileDataDecoded=c("FPDFImageObj_GetIccProfileDataDecoded",5),pU=n._EPDFImageObj_SetPng=c("EPDFImageObj_SetPng",5),lU=n._EPDFImageObj_SetJpeg=c("EPDFImageObj_SetJpeg",5),mU=n._FPDF_CreateNewDocument=c("FPDF_CreateNewDocument",0),wU=n._FPDFPage_Delete=c("FPDFPage_Delete",2),bU=n._FPDF_MovePages=c("FPDF_MovePages",4),fU=n._FPDFPage_New=c("FPDFPage_New",4),gU=n._EPDFPage_InsertBlankRaw=c("EPDFPage_InsertBlankRaw",5),FU=n._FPDFPage_GetRotation=c("FPDFPage_GetRotation",1),vU=n._FPDFPage_InsertObject=c("FPDFPage_InsertObject",2),PU=n._FPDFPage_InsertObjectAtIndex=c("FPDFPage_InsertObjectAtIndex",3),hU=n._FPDFPage_RemoveObject=c("FPDFPage_RemoveObject",2),kU=n._FPDFPage_CountObjects=c("FPDFPage_CountObjects",1),DU=n._FPDFPage_GetObject=c("FPDFPage_GetObject",2),BU=n._FPDFPage_HasTransparency=c("FPDFPage_HasTransparency",1),EU=n._FPDFPageObj_Destroy=c("FPDFPageObj_Destroy",1),_U=n._FPDFPageObj_GetMarkedContentID=c("FPDFPageObj_GetMarkedContentID",1),yU=n._FPDFPageObj_CountMarks=c("FPDFPageObj_CountMarks",1),GU=n._FPDFPageObj_GetMark=c("FPDFPageObj_GetMark",2),CU=n._FPDFPageObj_AddExistingMark=c("FPDFPageObj_AddExistingMark",2),IU=n._FPDFPageObj_AddMark=c("FPDFPageObj_AddMark",2),SU=n._FPDFPageObj_RemoveMark=c("FPDFPageObj_RemoveMark",2),xU=n._FPDFPageObjMark_GetName=c("FPDFPageObjMark_GetName",4),HU=n._FPDFPageObjMark_CountParams=c("FPDFPageObjMark_CountParams",1),OU=n._FPDFPageObjMark_GetParamKey=c("FPDFPageObjMark_GetParamKey",5),QU=n._FPDFPageObjMark_GetParamValueType=c("FPDFPageObjMark_GetParamValueType",2),RU=n._FPDFPageObjMark_GetParamIntValue=c("FPDFPageObjMark_GetParamIntValue",3),TU=n._FPDFPageObjMark_GetParamFloatValue=c("FPDFPageObjMark_GetParamFloatValue",3),MU=n._FPDFPageObjMark_GetParamStringValue=c("FPDFPageObjMark_GetParamStringValue",5),LU=n._FPDFPageObjMark_GetParamBlobValue=c("FPDFPageObjMark_GetParamBlobValue",5),NU=n._FPDFPageObj_HasTransparency=c("FPDFPageObj_HasTransparency",1),jU=n._FPDFPageObjMark_SetIntParam=c("FPDFPageObjMark_SetIntParam",5),KU=n._FPDFPageObjMark_SetFloatParam=c("FPDFPageObjMark_SetFloatParam",5),VU=n._FPDFPageObjMark_SetStringParam=c("FPDFPageObjMark_SetStringParam",5),YU=n._FPDFPageObjMark_SetBlobParam=c("FPDFPageObjMark_SetBlobParam",6),XU=n._FPDFPageObjMark_RemoveParam=c("FPDFPageObjMark_RemoveParam",3),WU=n._FPDFPageObj_GetType=c("FPDFPageObj_GetType",1),UU=n._FPDFPageObj_GetIsActive=c("FPDFPageObj_GetIsActive",2),qU=n._FPDFPageObj_SetIsActive=c("FPDFPageObj_SetIsActive",2),zU=n._FPDFPage_GenerateContent=c("FPDFPage_GenerateContent",1),ZU=n._FPDFPageObj_Transform=c("FPDFPageObj_Transform",7),JU=n._FPDFPageObj_TransformF=c("FPDFPageObj_TransformF",2),$U=n._FPDFPageObj_GetMatrix=c("FPDFPageObj_GetMatrix",2),eq=n._FPDFPageObj_SetMatrix=c("FPDFPageObj_SetMatrix",2),tq=n._FPDFPageObj_SetBlendMode=c("FPDFPageObj_SetBlendMode",2),nq=n._FPDFPage_TransformAnnots=c("FPDFPage_TransformAnnots",7),rq=n._FPDFPage_SetRotation=c("FPDFPage_SetRotation",2),iq=n._FPDFPageObj_SetFillColor=c("FPDFPageObj_SetFillColor",5),aq=n._FPDFPageObj_GetFillColor=c("FPDFPageObj_GetFillColor",5),oq=n._FPDFPageObj_GetBounds=c("FPDFPageObj_GetBounds",5),sq=n._FPDFPageObj_GetRotatedBounds=c("FPDFPageObj_GetRotatedBounds",2),Aq=n._FPDFPageObj_SetStrokeColor=c("FPDFPageObj_SetStrokeColor",5),cq=n._FPDFPageObj_GetStrokeColor=c("FPDFPageObj_GetStrokeColor",5),dq=n._FPDFPageObj_SetStrokeWidth=c("FPDFPageObj_SetStrokeWidth",2),uq=n._FPDFPageObj_GetStrokeWidth=c("FPDFPageObj_GetStrokeWidth",2),pq=n._FPDFPageObj_GetLineJoin=c("FPDFPageObj_GetLineJoin",1),lq=n._FPDFPageObj_SetLineJoin=c("FPDFPageObj_SetLineJoin",2),mq=n._FPDFPageObj_GetLineCap=c("FPDFPageObj_GetLineCap",1),wq=n._FPDFPageObj_SetLineCap=c("FPDFPageObj_SetLineCap",2),bq=n._FPDFPageObj_GetDashPhase=c("FPDFPageObj_GetDashPhase",2),fq=n._FPDFPageObj_SetDashPhase=c("FPDFPageObj_SetDashPhase",2),gq=n._FPDFPageObj_GetDashCount=c("FPDFPageObj_GetDashCount",1),Fq=n._FPDFPageObj_GetDashArray=c("FPDFPageObj_GetDashArray",3),vq=n._FPDFPageObj_SetDashArray=c("FPDFPageObj_SetDashArray",4),Pq=n._FPDFPageObj_GetRenderedStrokePattern=c("FPDFPageObj_GetRenderedStrokePattern",2),hq=n._FPDFPageObj_GetRenderedFillPattern=c("FPDFPageObj_GetRenderedFillPattern",2),kq=n._FPDFFormObj_CountObjects=c("FPDFFormObj_CountObjects",1),Dq=n._FPDFFormObj_GetObject=c("FPDFFormObj_GetObject",2),Bq=n._FPDFFormObj_RemoveObject=c("FPDFFormObj_RemoveObject",2),Eq=n._FPDFPageObj_CreateNewPath=c("FPDFPageObj_CreateNewPath",2),_q=n._FPDFPageObj_CreateNewRect=c("FPDFPageObj_CreateNewRect",4),yq=n._FPDFPath_CountSegments=c("FPDFPath_CountSegments",1),Gq=n._FPDFPath_GetPathSegment=c("FPDFPath_GetPathSegment",2),Cq=n._FPDFPath_MoveTo=c("FPDFPath_MoveTo",3),Iq=n._FPDFPath_LineTo=c("FPDFPath_LineTo",3),Sq=n._FPDFPath_BezierTo=c("FPDFPath_BezierTo",7),xq=n._FPDFPath_GetBezierControlPoints=c("FPDFPath_GetBezierControlPoints",4),Hq=n._FPDFPath_Close=c("FPDFPath_Close",1),Oq=n._FPDFPath_SetDrawMode=c("FPDFPath_SetDrawMode",3),Qq=n._FPDFPath_GetDrawMode=c("FPDFPath_GetDrawMode",3),Rq=n._FPDFPathSegment_GetPoint=c("FPDFPathSegment_GetPoint",3),Tq=n._FPDFPathSegment_GetType=c("FPDFPathSegment_GetType",1),Mq=n._FPDFPathSegment_GetClose=c("FPDFPathSegment_GetClose",1),Lq=n._FPDFPageObj_NewTextObj=c("FPDFPageObj_NewTextObj",3),Nq=n._FPDFText_SetText=c("FPDFText_SetText",2),jq=n._FPDFText_SetCharcodes=c("FPDFText_SetCharcodes",3),Kq=n._FPDFText_SetPositions=c("FPDFText_SetPositions",3),Vq=n._FPDFText_LoadFont=c("FPDFText_LoadFont",5),Yq=n._FPDFText_LoadStandardFont=c("FPDFText_LoadStandardFont",2),Xq=n._FPDFText_LoadCidType2Font=c("FPDFText_LoadCidType2Font",6),Wq=n._FPDFTextObj_GetFontSize=c("FPDFTextObj_GetFontSize",2),Uq=n._FPDFTextObj_SetFontSize=c("FPDFTextObj_SetFontSize",2),qq=n._FPDFTextObj_GetText=c("FPDFTextObj_GetText",4),zq=n._FPDFTextObj_GetRenderedBitmap=c("FPDFTextObj_GetRenderedBitmap",4),Zq=n._FPDFFont_Close=c("FPDFFont_Close",1),Jq=n._FPDFPageObj_CreateTextObj=c("FPDFPageObj_CreateTextObj",3),$q=n._FPDFTextObj_GetTextRenderMode=c("FPDFTextObj_GetTextRenderMode",1),ez=n._FPDFTextObj_SetTextRenderMode=c("FPDFTextObj_SetTextRenderMode",2),tz=n._FPDFTextObj_GetFont=c("FPDFTextObj_GetFont",1),nz=n._FPDFFont_GetBaseFontName=c("FPDFFont_GetBaseFontName",3),rz=n._FPDFFont_GetFamilyName=c("FPDFFont_GetFamilyName",3),iz=n._FPDFFont_GetFontData=c("FPDFFont_GetFontData",4),az=n._FPDFFont_GetIsEmbedded=c("FPDFFont_GetIsEmbedded",1),oz=n._FPDFFont_GetFlags=c("FPDFFont_GetFlags",1),sz=n._FPDFFont_GetWeight=c("FPDFFont_GetWeight",1),Az=n._FPDFFont_GetItalicAngle=c("FPDFFont_GetItalicAngle",2),cz=n._FPDFFont_GetAscent=c("FPDFFont_GetAscent",3),dz=n._FPDFFont_GetDescent=c("FPDFFont_GetDescent",3),uz=n._FPDFFont_GetGlyphWidth=c("FPDFFont_GetGlyphWidth",4),pz=n._FPDFFont_GetGlyphPath=c("FPDFFont_GetGlyphPath",3),lz=n._FPDFGlyphPath_CountGlyphSegments=c("FPDFGlyphPath_CountGlyphSegments",1),mz=n._FPDFGlyphPath_GetGlyphPathSegment=c("FPDFGlyphPath_GetGlyphPathSegment",2),wz=n._EPDFText_RedactInRect=c("EPDFText_RedactInRect",4),bz=n._EPDFText_RedactInQuads=c("EPDFText_RedactInQuads",5),fz=n._FPDFDoc_GetPageMode=c("FPDFDoc_GetPageMode",1),gz=n._FPDFPage_Flatten=c("FPDFPage_Flatten",2),Fz=n._FPDFPage_HasFormFieldAtPoint=c("FPDFPage_HasFormFieldAtPoint",4),vz=n._FPDFPage_FormFieldZOrderAtPoint=c("FPDFPage_FormFieldZOrderAtPoint",4),Pz=n._FPDFDOC_InitFormFillEnvironment=c("FPDFDOC_InitFormFillEnvironment",2),hz=n._FPDFDOC_ExitFormFillEnvironment=c("FPDFDOC_ExitFormFillEnvironment",1),kz=n._FORM_OnMouseMove=c("FORM_OnMouseMove",5),Dz=n._FORM_OnMouseWheel=c("FORM_OnMouseWheel",6),Bz=n._FORM_OnFocus=c("FORM_OnFocus",5),Ez=n._FORM_OnLButtonDown=c("FORM_OnLButtonDown",5),_z=n._FORM_OnLButtonUp=c("FORM_OnLButtonUp",5),yz=n._FORM_OnLButtonDoubleClick=c("FORM_OnLButtonDoubleClick",5),Gz=n._FORM_OnRButtonDown=c("FORM_OnRButtonDown",5),Cz=n._FORM_OnRButtonUp=c("FORM_OnRButtonUp",5),Iz=n._FORM_OnKeyDown=c("FORM_OnKeyDown",4),Sz=n._FORM_OnKeyUp=c("FORM_OnKeyUp",4),xz=n._FORM_OnChar=c("FORM_OnChar",4),Hz=n._FORM_GetFocusedText=c("FORM_GetFocusedText",4),Oz=n._FORM_GetSelectedText=c("FORM_GetSelectedText",4),Qz=n._FORM_ReplaceAndKeepSelection=c("FORM_ReplaceAndKeepSelection",3),Rz=n._FORM_ReplaceSelection=c("FORM_ReplaceSelection",3),Tz=n._FORM_SelectAllText=c("FORM_SelectAllText",2),Mz=n._FORM_CanUndo=c("FORM_CanUndo",2),Lz=n._FORM_CanRedo=c("FORM_CanRedo",2),Nz=n._FORM_Undo=c("FORM_Undo",2),jz=n._FORM_Redo=c("FORM_Redo",2),Kz=n._FORM_ForceToKillFocus=c("FORM_ForceToKillFocus",1),Vz=n._FORM_GetFocusedAnnot=c("FORM_GetFocusedAnnot",3),Yz=n._FORM_SetFocusedAnnot=c("FORM_SetFocusedAnnot",2),Xz=n._FPDF_FFLDraw=c("FPDF_FFLDraw",9),Wz=n._FPDF_SetFormFieldHighlightColor=c("FPDF_SetFormFieldHighlightColor",3),Uz=n._FPDF_SetFormFieldHighlightAlpha=c("FPDF_SetFormFieldHighlightAlpha",2),qz=n._FPDF_RemoveFormFieldHighlight=c("FPDF_RemoveFormFieldHighlight",1),zz=n._FORM_OnAfterLoadPage=c("FORM_OnAfterLoadPage",2),Zz=n._FORM_OnBeforeClosePage=c("FORM_OnBeforeClosePage",2),Jz=n._FORM_DoDocumentJSAction=c("FORM_DoDocumentJSAction",1),$z=n._FORM_DoDocumentOpenAction=c("FORM_DoDocumentOpenAction",1),eZ=n._FORM_DoDocumentAAction=c("FORM_DoDocumentAAction",2),tZ=n._FORM_DoPageAAction=c("FORM_DoPageAAction",3),nZ=n._FORM_SetIndexSelected=c("FORM_SetIndexSelected",4),rZ=n._FORM_IsIndexSelected=c("FORM_IsIndexSelected",3),iZ=n._FORM_GetTextDirection=c("FORM_GetTextDirection",2),aZ=n._FORM_SetTextDirection=c("FORM_SetTextDirection",3),oZ=n._FPDFDoc_GetJavaScriptActionCount=c("FPDFDoc_GetJavaScriptActionCount",1),sZ=n._FPDFDoc_GetJavaScriptAction=c("FPDFDoc_GetJavaScriptAction",2),AZ=n._EPDFDoc_GetNamedJavaScriptActionModel=c("EPDFDoc_GetNamedJavaScriptActionModel",2),cZ=n._FPDFDoc_CloseJavaScriptAction=c("FPDFDoc_CloseJavaScriptAction",1),dZ=n._FPDFJavaScriptAction_GetName=c("FPDFJavaScriptAction_GetName",3),uZ=n._FPDFJavaScriptAction_GetScript=c("FPDFJavaScriptAction_GetScript",3),pZ=n._FPDF_ImportPagesByIndex=c("FPDF_ImportPagesByIndex",5),lZ=n._FPDF_ImportPages=c("FPDF_ImportPages",4),mZ=n._FPDF_ImportNPagesToOne=c("FPDF_ImportNPagesToOne",5),wZ=n._FPDF_NewXObjectFromPage=c("FPDF_NewXObjectFromPage",3),bZ=n._FPDF_CloseXObject=c("FPDF_CloseXObject",1),fZ=n._FPDF_NewFormObjectFromXObject=c("FPDF_NewFormObjectFromXObject",1),gZ=n._FPDF_CopyViewerPreferences=c("FPDF_CopyViewerPreferences",2),FZ=n._FPDF_RenderPageBitmapWithColorScheme_Start=c("FPDF_RenderPageBitmapWithColorScheme_Start",10),vZ=n._FPDF_RenderPageBitmap_Start=c("FPDF_RenderPageBitmap_Start",9),PZ=n._FPDF_RenderPage_Continue=c("FPDF_RenderPage_Continue",2),hZ=n._FPDF_RenderPage_Close=c("FPDF_RenderPage_Close",1),kZ=n._EPDF_RenderPageBitmapWithMatrix_Start=c("EPDF_RenderPageBitmapWithMatrix_Start",6),DZ=n._EPDF_RenderPage_Continue=c("EPDF_RenderPage_Continue",2),BZ=n._EPDF_FreeBuffer=c("EPDF_FreeBuffer",1),EZ=n._FPDF_SaveAsCopy=c("FPDF_SaveAsCopy",3),_Z=n._FPDF_SaveWithVersion=c("FPDF_SaveWithVersion",4),yZ=n._EPDF_SaveDocumentToOwnedBuffer=c("EPDF_SaveDocumentToOwnedBuffer",3),GZ=n._EPDF_SaveDocumentToOwnedBufferWithVersion=c("EPDF_SaveDocumentToOwnedBufferWithVersion",4),CZ=n._EPDF_SaveDocumentToOwnedBufferEx=c("EPDF_SaveDocumentToOwnedBufferEx",5),IZ=n._EPDF_SaveAsCopyEx=c("EPDF_SaveAsCopyEx",4),SZ=n._FPDFText_GetCharIndexFromTextIndex=c("FPDFText_GetCharIndexFromTextIndex",2),xZ=n._FPDFText_GetTextIndexFromCharIndex=c("FPDFText_GetTextIndexFromCharIndex",2),HZ=n._FPDF_GetSignatureCount=c("FPDF_GetSignatureCount",1),OZ=n._FPDF_GetSignatureObject=c("FPDF_GetSignatureObject",2),QZ=n._FPDFSignatureObj_GetContents=c("FPDFSignatureObj_GetContents",3),RZ=n._FPDFSignatureObj_GetByteRange=c("FPDFSignatureObj_GetByteRange",3),TZ=n._FPDFSignatureObj_GetSubFilter=c("FPDFSignatureObj_GetSubFilter",3),MZ=n._FPDFSignatureObj_GetReason=c("FPDFSignatureObj_GetReason",3),LZ=n._FPDFSignatureObj_GetTime=c("FPDFSignatureObj_GetTime",3),NZ=n._FPDFSignatureObj_GetDocMDPPermission=c("FPDFSignatureObj_GetDocMDPPermission",1),jZ=n._FPDF_StructTree_GetForPage=c("FPDF_StructTree_GetForPage",1),KZ=n._FPDF_StructTree_Close=c("FPDF_StructTree_Close",1),VZ=n._FPDF_StructTree_CountChildren=c("FPDF_StructTree_CountChildren",1),YZ=n._FPDF_StructTree_GetChildAtIndex=c("FPDF_StructTree_GetChildAtIndex",2),XZ=n._FPDF_StructElement_GetAltText=c("FPDF_StructElement_GetAltText",3),WZ=n._FPDF_StructElement_GetActualText=c("FPDF_StructElement_GetActualText",3),UZ=n._FPDF_StructElement_GetExpansion=c("FPDF_StructElement_GetExpansion",3),qZ=n._FPDF_StructElement_GetID=c("FPDF_StructElement_GetID",3),zZ=n._FPDF_StructElement_GetLang=c("FPDF_StructElement_GetLang",3),ZZ=n._FPDF_StructElement_GetAttributeCount=c("FPDF_StructElement_GetAttributeCount",1),JZ=n._FPDF_StructElement_GetAttributeAtIndex=c("FPDF_StructElement_GetAttributeAtIndex",2),$Z=n._FPDF_StructElement_GetStringAttribute=c("FPDF_StructElement_GetStringAttribute",4),eJ=n._FPDF_StructElement_GetMarkedContentID=c("FPDF_StructElement_GetMarkedContentID",1),tJ=n._FPDF_StructElement_GetRawType=c("FPDF_StructElement_GetRawType",3),nJ=n._FPDF_StructElement_GetType=c("FPDF_StructElement_GetType",3),rJ=n._FPDF_StructElement_GetObjType=c("FPDF_StructElement_GetObjType",3),iJ=n._FPDF_StructElement_GetTitle=c("FPDF_StructElement_GetTitle",3),aJ=n._FPDF_StructElement_CountChildren=c("FPDF_StructElement_CountChildren",1),oJ=n._FPDF_StructElement_GetChildAtIndex=c("FPDF_StructElement_GetChildAtIndex",2),sJ=n._FPDF_StructElement_GetChildMarkedContentID=c("FPDF_StructElement_GetChildMarkedContentID",2),AJ=n._FPDF_StructElement_GetParent=c("FPDF_StructElement_GetParent",1),cJ=n._FPDF_StructElement_Attr_GetCount=c("FPDF_StructElement_Attr_GetCount",1),dJ=n._FPDF_StructElement_Attr_GetName=c("FPDF_StructElement_Attr_GetName",5),uJ=n._FPDF_StructElement_Attr_GetValue=c("FPDF_StructElement_Attr_GetValue",2),pJ=n._FPDF_StructElement_Attr_GetType=c("FPDF_StructElement_Attr_GetType",1),lJ=n._FPDF_StructElement_Attr_GetBooleanValue=c("FPDF_StructElement_Attr_GetBooleanValue",2),mJ=n._FPDF_StructElement_Attr_GetNumberValue=c("FPDF_StructElement_Attr_GetNumberValue",2),wJ=n._FPDF_StructElement_Attr_GetStringValue=c("FPDF_StructElement_Attr_GetStringValue",4),bJ=n._FPDF_StructElement_Attr_GetBlobValue=c("FPDF_StructElement_Attr_GetBlobValue",4),fJ=n._FPDF_StructElement_Attr_CountChildren=c("FPDF_StructElement_Attr_CountChildren",1),gJ=n._FPDF_StructElement_Attr_GetChildAtIndex=c("FPDF_StructElement_Attr_GetChildAtIndex",2),FJ=n._FPDF_StructElement_GetMarkedContentIdCount=c("FPDF_StructElement_GetMarkedContentIdCount",1),vJ=n._FPDF_StructElement_GetMarkedContentIdAtIndex=c("FPDF_StructElement_GetMarkedContentIdAtIndex",2),PJ=n._FPDF_AddInstalledFont=c("FPDF_AddInstalledFont",3),hJ=n._FPDF_SetSystemFontInfo=c("FPDF_SetSystemFontInfo",1),kJ=n._FPDF_GetDefaultTTFMap=c("FPDF_GetDefaultTTFMap",0),DJ=n._FPDF_GetDefaultTTFMapCount=c("FPDF_GetDefaultTTFMapCount",0),BJ=n._FPDF_GetDefaultTTFMapEntry=c("FPDF_GetDefaultTTFMapEntry",1),EJ=n._FPDF_GetDefaultSystemFontInfo=c("FPDF_GetDefaultSystemFontInfo",0),_J=n._FPDF_FreeDefaultSystemFontInfo=c("FPDF_FreeDefaultSystemFontInfo",1),yJ=n._FPDFText_LoadPage=c("FPDFText_LoadPage",1),GJ=n._FPDFText_ClosePage=c("FPDFText_ClosePage",1),CJ=n._FPDFText_CountChars=c("FPDFText_CountChars",1),IJ=n._FPDFText_GetUnicode=c("FPDFText_GetUnicode",2),SJ=n._FPDFText_GetTextObject=c("FPDFText_GetTextObject",2),xJ=n._FPDFText_IsGenerated=c("FPDFText_IsGenerated",2),HJ=n._FPDFText_IsHyphen=c("FPDFText_IsHyphen",2),OJ=n._FPDFText_HasUnicodeMapError=c("FPDFText_HasUnicodeMapError",2),QJ=n._FPDFText_GetFontSize=c("FPDFText_GetFontSize",2),RJ=n._FPDFText_GetFontInfo=c("FPDFText_GetFontInfo",5),TJ=n._FPDFText_GetFontWeight=c("FPDFText_GetFontWeight",2),MJ=n._FPDFText_GetFillColor=c("FPDFText_GetFillColor",6),LJ=n._FPDFText_GetStrokeColor=c("FPDFText_GetStrokeColor",6),NJ=n._FPDFText_GetCharAngle=c("FPDFText_GetCharAngle",2),jJ=n._FPDFText_GetCharBox=c("FPDFText_GetCharBox",6),KJ=n._FPDFText_GetLooseCharBox=c("FPDFText_GetLooseCharBox",3),VJ=n._EPDFText_GetCharGeometry=c("EPDFText_GetCharGeometry",3),YJ=n._EPDFText_GetTextFull=c("EPDFText_GetTextFull",3),XJ=n._EPDFText_GetCharToTextMap=c("EPDFText_GetCharToTextMap",3),WJ=n._FPDFText_GetMatrix=c("FPDFText_GetMatrix",3),UJ=n._FPDFText_GetCharOrigin=c("FPDFText_GetCharOrigin",4),qJ=n._FPDFText_GetCharIndexAtPos=c("FPDFText_GetCharIndexAtPos",5),zJ=n._FPDFText_GetText=c("FPDFText_GetText",4),ZJ=n._FPDFText_CountRects=c("FPDFText_CountRects",3),JJ=n._FPDFText_GetRect=c("FPDFText_GetRect",6),$J=n._FPDFText_GetBoundedText=c("FPDFText_GetBoundedText",7),e$=n._FPDFText_FindStart=c("FPDFText_FindStart",4),t$=n._FPDFText_FindNext=c("FPDFText_FindNext",1),n$=n._FPDFText_FindPrev=c("FPDFText_FindPrev",1),r$=n._FPDFText_GetSchResultIndex=c("FPDFText_GetSchResultIndex",1),i$=n._FPDFText_GetSchCount=c("FPDFText_GetSchCount",1),a$=n._FPDFText_FindClose=c("FPDFText_FindClose",1),o$=n._FPDFLink_LoadWebLinks=c("FPDFLink_LoadWebLinks",1),s$=n._FPDFLink_CountWebLinks=c("FPDFLink_CountWebLinks",1),A$=n._FPDFLink_GetURL=c("FPDFLink_GetURL",4),c$=n._FPDFLink_CountRects=c("FPDFLink_CountRects",2),d$=n._FPDFLink_GetRect=c("FPDFLink_GetRect",7),u$=n._FPDFLink_GetTextRange=c("FPDFLink_GetTextRange",4),p$=n._FPDFLink_CloseWebLinks=c("FPDFLink_CloseWebLinks",1),l$=n._FPDFPage_GetDecodedThumbnailData=c("FPDFPage_GetDecodedThumbnailData",3),m$=n._FPDFPage_GetRawThumbnailData=c("FPDFPage_GetRawThumbnailData",3),w$=n._FPDFPage_GetThumbnailAsBitmap=c("FPDFPage_GetThumbnailAsBitmap",1),b$=n._FPDFPage_SetMediaBox=c("FPDFPage_SetMediaBox",5),f$=n._FPDFPage_SetCropBox=c("FPDFPage_SetCropBox",5),g$=n._FPDFPage_SetBleedBox=c("FPDFPage_SetBleedBox",5),F$=n._FPDFPage_SetTrimBox=c("FPDFPage_SetTrimBox",5),v$=n._FPDFPage_SetArtBox=c("FPDFPage_SetArtBox",5),P$=n._FPDFPage_GetMediaBox=c("FPDFPage_GetMediaBox",5),h$=n._FPDFPage_GetCropBox=c("FPDFPage_GetCropBox",5),k$=n._FPDFPage_GetBleedBox=c("FPDFPage_GetBleedBox",5),D$=n._FPDFPage_GetTrimBox=c("FPDFPage_GetTrimBox",5),B$=n._FPDFPage_GetArtBox=c("FPDFPage_GetArtBox",5),E$=n._FPDFPage_TransFormWithClip=c("FPDFPage_TransFormWithClip",3),_$=n._FPDFPageObj_TransformClipPath=c("FPDFPageObj_TransformClipPath",7),y$=n._FPDFPageObj_GetClipPath=c("FPDFPageObj_GetClipPath",1),G$=n._FPDFClipPath_CountPaths=c("FPDFClipPath_CountPaths",1),C$=n._FPDFClipPath_CountPathSegments=c("FPDFClipPath_CountPathSegments",2),I$=n._FPDFClipPath_GetPathSegment=c("FPDFClipPath_GetPathSegment",3),S$=n._FPDF_CreateClipPath=c("FPDF_CreateClipPath",4),x$=n._FPDF_DestroyClipPath=c("FPDF_DestroyClipPath",1),H$=n._FPDFPage_InsertClipPath=c("FPDFPage_InsertClipPath",2),O$=n._FPDF_InitLibrary=c("FPDF_InitLibrary",0),Q$=n._FPDF_InitLibraryWithConfig=c("FPDF_InitLibraryWithConfig",1),R$=n._FPDF_DestroyLibrary=c("FPDF_DestroyLibrary",0),T$=n._FPDF_SetSandBoxPolicy=c("FPDF_SetSandBoxPolicy",2),M$=n._FPDF_LoadDocument=c("FPDF_LoadDocument",2),L$=n._FPDF_GetFormType=c("FPDF_GetFormType",1),N$=n._FPDF_LoadXFA=c("FPDF_LoadXFA",1),j$=n._FPDF_LoadMemDocument=c("FPDF_LoadMemDocument",3),K$=n._FPDF_LoadMemDocument64=c("FPDF_LoadMemDocument64",3),V$=n._FPDF_LoadCustomDocument=c("FPDF_LoadCustomDocument",2),Y$=n._FPDF_GetFileVersion=c("FPDF_GetFileVersion",2),X$=n._FPDF_DocumentHasValidCrossReferenceTable=c("FPDF_DocumentHasValidCrossReferenceTable",1),W$=n._FPDF_GetDocPermissions=c("FPDF_GetDocPermissions",1),U$=n._FPDF_GetDocUserPermissions=c("FPDF_GetDocUserPermissions",1),q$=n._FPDF_GetSecurityHandlerRevision=c("FPDF_GetSecurityHandlerRevision",1),z$=n._EPDF_SetEncryption=c("EPDF_SetEncryption",4),Z$=n._EPDF_RemoveEncryption=c("EPDF_RemoveEncryption",1),J$=n._EPDF_UnlockOwnerPermissions=c("EPDF_UnlockOwnerPermissions",2),$$=n._EPDF_CheckPasswordPermissions=c("EPDF_CheckPasswordPermissions",6),eee=n._EPDF_SetRuntimeOwnerPermissions=c("EPDF_SetRuntimeOwnerPermissions",2),tee=n._EPDF_IsEncrypted=c("EPDF_IsEncrypted",1),nee=n._EPDF_IsOwnerUnlocked=c("EPDF_IsOwnerUnlocked",1),ree=n._FPDF_GetPageCount=c("FPDF_GetPageCount",1),iee=n._FPDF_LoadPage=c("FPDF_LoadPage",2),aee=n._EPDFDoc_LoadPageByObjectNumber=c("EPDFDoc_LoadPageByObjectNumber",2),oee=n._EPDFDoc_LoadPageByObjectNumberNormalized=c("EPDFDoc_LoadPageByObjectNumberNormalized",2),see=n._EPDFDoc_GetPageObjectNumberByIndex=c("EPDFDoc_GetPageObjectNumberByIndex",2),Aee=n._EPDFDoc_DeletePageByObjectNumber=c("EPDFDoc_DeletePageByObjectNumber",2),cee=n._EPDFDoc_SetPageRotationByObjectNumber=c("EPDFDoc_SetPageRotationByObjectNumber",3),dee=n._EPDFDoc_StartLoadPageByObjectNumber=c("EPDFDoc_StartLoadPageByObjectNumber",3),uee=n._EPDFPage_ContinueLoad=c("EPDFPage_ContinueLoad",2),pee=n._EPDFPage_GetObjectNumber=c("EPDFPage_GetObjectNumber",1),lee=n._FPDF_GetPageWidthF=c("FPDF_GetPageWidthF",1),mee=n._FPDF_GetPageWidth=c("FPDF_GetPageWidth",1),wee=n._FPDF_GetPageHeightF=c("FPDF_GetPageHeightF",1),bee=n._FPDF_GetPageHeight=c("FPDF_GetPageHeight",1),fee=n._FPDF_GetPageBoundingBox=c("FPDF_GetPageBoundingBox",2),gee=n._FPDF_RenderPageBitmap=c("FPDF_RenderPageBitmap",8),Fee=n._FPDF_RenderPageBitmapWithMatrix=c("FPDF_RenderPageBitmapWithMatrix",5),vee=n._EPDF_RenderAnnotBitmap=c("EPDF_RenderAnnotBitmap",7),Pee=n._EPDF_RenderAnnotBitmapUnrotated=c("EPDF_RenderAnnotBitmapUnrotated",9),hee=n._EPDF_SetDecodedImageBudget=c("EPDF_SetDecodedImageBudget",1),kee=n._EPDF_GetDecodedImageBytes=c("EPDF_GetDecodedImageBytes",0),Dee=n._EPDFPage_ResetRenderCache=c("EPDFPage_ResetRenderCache",1),Bee=n._FPDF_ClosePage=c("FPDF_ClosePage",1),Eee=n._FPDF_CloseDocument=c("FPDF_CloseDocument",1),_ee=n._FPDF_GetLastError=c("FPDF_GetLastError",0),yee=n._FPDF_DeviceToPage=c("FPDF_DeviceToPage",10),Gee=n._FPDF_PageToDevice=c("FPDF_PageToDevice",10),Cee=n._FPDFBitmap_Create=c("FPDFBitmap_Create",3),Iee=n._FPDFBitmap_CreateEx=c("FPDFBitmap_CreateEx",5),See=n._FPDFBitmap_GetFormat=c("FPDFBitmap_GetFormat",1),xee=n._FPDFBitmap_FillRect=c("FPDFBitmap_FillRect",6),Hee=n._FPDFBitmap_GetBuffer=c("FPDFBitmap_GetBuffer",1),Oee=n._FPDFBitmap_GetWidth=c("FPDFBitmap_GetWidth",1),Qee=n._FPDFBitmap_GetHeight=c("FPDFBitmap_GetHeight",1),Ree=n._FPDFBitmap_GetStride=c("FPDFBitmap_GetStride",1),Tee=n._FPDFBitmap_Destroy=c("FPDFBitmap_Destroy",1),Mee=n._FPDF_GetPageSizeByIndexF=c("FPDF_GetPageSizeByIndexF",3),Lee=n._EPDF_GetPageRotateByIndex=c("EPDF_GetPageRotateByIndex",3),Nee=n._EPDF_GetPageTabOrderByIndex=c("EPDF_GetPageTabOrderByIndex",4),jee=n._EPDF_GetPageBoxByIndex=c("EPDF_GetPageBoxByIndex",4),Kee=n._EPDF_GetPageUserUnitByIndex=c("EPDF_GetPageUserUnitByIndex",3),Vee=n._EPDF_LoadPageNormalized=c("EPDF_LoadPageNormalized",3),Yee=n._FPDF_GetPageSizeByIndex=c("FPDF_GetPageSizeByIndex",4),Xee=n._FPDF_VIEWERREF_GetPrintScaling=c("FPDF_VIEWERREF_GetPrintScaling",1),Wee=n._FPDF_VIEWERREF_GetNumCopies=c("FPDF_VIEWERREF_GetNumCopies",1),Uee=n._FPDF_VIEWERREF_GetPrintPageRange=c("FPDF_VIEWERREF_GetPrintPageRange",1),qee=n._FPDF_VIEWERREF_GetPrintPageRangeCount=c("FPDF_VIEWERREF_GetPrintPageRangeCount",1),zee=n._FPDF_VIEWERREF_GetPrintPageRangeElement=c("FPDF_VIEWERREF_GetPrintPageRangeElement",2),Zee=n._FPDF_VIEWERREF_GetDuplex=c("FPDF_VIEWERREF_GetDuplex",1),Jee=n._FPDF_VIEWERREF_GetName=c("FPDF_VIEWERREF_GetName",4),$ee=n._FPDF_CountNamedDests=c("FPDF_CountNamedDests",1),ete=n._FPDF_GetNamedDestByName=c("FPDF_GetNamedDestByName",2),tte=n._FPDF_GetNamedDest=c("FPDF_GetNamedDest",4),nte=n._FPDF_GetXFAPacketCount=c("FPDF_GetXFAPacketCount",1),rte=n._FPDF_GetXFAPacketName=c("FPDF_GetXFAPacketName",4),ite=n._FPDF_GetXFAPacketContent=c("FPDF_GetXFAPacketContent",5),ate=n._FPDF_GetTrailerEnds=c("FPDF_GetTrailerEnds",3),Nw=c("fflush",1),mE=c("strerror",1),wE=c("emscripten_builtin_memalign",2),ote=n._malloc=c("malloc",1),ste=n._free=c("free",1),Yt=c("setThrew",2),Ate=c("_emscripten_tempret_set",1),jw=()=>(jw=Xe.emscripten_stack_init)(),bE=()=>(bE=Xe.emscripten_stack_get_free)(),fE=()=>(fE=Xe.emscripten_stack_get_base)(),yd=()=>(yd=Xe.emscripten_stack_get_end)(),Kw=u=>(Kw=Xe._emscripten_stack_restore)(u),Vw=u=>(Vw=Xe._emscripten_stack_alloc)(u),Yw=()=>(Yw=Xe.emscripten_stack_get_current)(),cte=n.dynCall_jiji=c("dynCall_jiji",5),dte=n.dynCall_iiiiij=c("dynCall_iiiiij",7),ute=n.dynCall_iiiiijj=c("dynCall_iiiiijj",9),pte=n.dynCall_iiiiiijj=c("dynCall_iiiiiijj",10),lte=n.dynCall_viijii=c("dynCall_viijii",7),mte=n.dynCall_ji=c("dynCall_ji",2),wte=n.dynCall_iiij=c("dynCall_iiij",5),bte=n.dynCall_j=c("dynCall_j",1),fte=n.dynCall_iji=c("dynCall_iji",4),gte=n.dynCall_jji=c("dynCall_jji",4),Fte=n.dynCall_iiji=c("dynCall_iiji",5),vte=n.dynCall_viijj=c("dynCall_viijj",7),Pte=n.dynCall_jij=c("dynCall_jij",4),hte=n.dynCall_iij=c("dynCall_iij",4),kte=n.dynCall_viji=c("dynCall_viji",5);function gE(u,l,b,v,D){var E=Et();try{vt(u)(l,b,v,D)}catch(_){if(Bt(E),_!==_+0)throw _;Yt(1,0)}}function FE(u,l,b){var v=Et();try{return vt(u)(l,b)}catch(D){if(Bt(v),D!==D+0)throw D;Yt(1,0)}}function vE(u,l,b,v,D){var E=Et();try{return vt(u)(l,b,v,D)}catch(_){if(Bt(E),_!==_+0)throw _;Yt(1,0)}}function PE(u,l,b,v){var D=Et();try{vt(u)(l,b,v)}catch(E){if(Bt(D),E!==E+0)throw E;Yt(1,0)}}function hE(u,l){var b=Et();try{return vt(u)(l)}catch(v){if(Bt(b),v!==v+0)throw v;Yt(1,0)}}function kE(u,l,b,v){var D=Et();try{return vt(u)(l,b,v)}catch(E){if(Bt(D),E!==E+0)throw E;Yt(1,0)}}function DE(u,l,b){var v=Et();try{vt(u)(l,b)}catch(D){if(Bt(v),D!==D+0)throw D;Yt(1,0)}}function BE(u,l){var b=Et();try{vt(u)(l)}catch(v){if(Bt(b),v!==v+0)throw v;Yt(1,0)}}function EE(u){var l=Et();try{vt(u)()}catch(b){if(Bt(l),b!==b+0)throw b;Yt(1,0)}}function _E(u,l,b,v,D,E){var _=Et();try{return vt(u)(l,b,v,D,E)}catch(C){if(Bt(_),C!==C+0)throw C;Yt(1,0)}}function yE(u,l,b,v,D,E,_,C,M,$){var te=Et();try{vt(u)(l,b,v,D,E,_,C,M,$)}catch(ae){if(Bt(te),ae!==ae+0)throw ae;Yt(1,0)}}function GE(u){u=Object.assign({},u);var l=E=>_=>E(_)>>>0,b=E=>(_,C)=>E(_,C)>>>0,v=E=>_=>E(_)>>>0,D=E=>()=>E()>>>0;return u.strerror=l(u.strerror),u.emscripten_builtin_memalign=b(u.emscripten_builtin_memalign),u.malloc=v(u.malloc),u.emscripten_stack_get_base=D(u.emscripten_stack_get_base),u.emscripten_stack_get_end=D(u.emscripten_stack_get_end),u._emscripten_stack_alloc=v(u._emscripten_stack_alloc),u.emscripten_stack_get_current=D(u.emscripten_stack_get_current),u}n.wasmExports=Xe,n.ccall=Mw,n.cwrap=dE,n.addFunction=oE,n.removeFunction=uE,n.setValue=qD,n.getValue=WD,n.UTF8ToString=Zn,n.stringToUTF8=Br,n.UTF16ToString=$B,n.stringToUTF16=pE;var CE=["writeI53ToI64","writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","readI53FromI64","readI53FromU64","convertI32PairToI53","convertU32PairToI53","getTempRet0","setTempRet0","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","emscriptenLog","readEmAsmArgs","jstoi_q","listenOnce","autoResumeAudioContext","dynCallLegacy","getDynCaller","dynCall","handleException","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","asmjsMangle","HandleAllocator","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","reallyNegative","unSign","strLen","reSign","formatString","intArrayToString","AsciiToString","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","stringToNewUTF8","registerKeyEventCallback","maybeCStringToJsString","findEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","jsStackTrace","getCallstack","convertPCtoSourceLocation","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","safeSetTimeout","setImmediateWrapped","safeRequestAnimationFrame","clearImmediateWrapped","polyfillSetImmediate","registerPostMainLoop","registerPreMainLoop","getPromise","makePromise","idsToPromises","makePromiseCallback","ExceptionInfo","findMatchingCatch","Browser_asyncPrepareDataCounter","arraySum","addDays","getSocketFromFD","getSocketAddress","FS_unlink","FS_mkdirTree","_setNetworkCallback","heapObjectForWebGLType","toTypedArrayIndex","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","webgl_enable_EXT_polygon_offset_clamp","webgl_enable_EXT_clip_control","webgl_enable_WEBGL_polygon_mode","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","emscriptenWebGLGetUniform","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","writeGLArray","registerWebGlEventCallback","runAndAbortIfError","ALLOC_NORMAL","ALLOC_STACK","allocate","writeStringToMemory","writeAsciiToMemory","setErrNo","demangle","stackTrace"];CE.forEach(YD);var IE=["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","out","err","callMain","abort","wasmMemory","writeStackCookie","checkStackCookie","convertI32PairToI53Checked","stackSave","stackRestore","stackAlloc","ptrToString","zeroMemory","exitJS","getHeapMax","growMemory","ENV","ERRNO_CODES","strError","DNS","Protocols","Sockets","timers","warnOnce","readEmAsmArgsArray","jstoi_s","getExecutableName","keepRuntimeAlive","asyncLoad","alignMemory","mmapAlloc","wasmTable","noExitRuntime","getCFunc","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","freeTableIndexes","functionsInTableMap","getEmptyTableSlot","updateTableMap","getFunctionAddress","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","stringToUTF8Array","lengthBytesUTF8","intArrayFromString","stringToAscii","UTF16Decoder","stringToUTF8OnStack","writeArrayToMemory","JSEvents","specialHTMLTargets","findCanvasEventTarget","currentFullscreenStrategy","restoreOldWindowedStyle","UNWIND_CACHE","ExitStatus","getEnvStrings","doReadv","doWritev","initRandomFill","randomFill","promiseMap","uncaughtExceptionCount","exceptionLast","exceptionCaught","Browser","getPreloadedImageData__data","wget","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","isLeapYear","ydayFromDate","SYSCALLS","preloadPlugins","FS_createPreloadedFile","FS_modeStringToFlags","FS_getMode","FS_stdin_getChar_buffer","FS_stdin_getChar","FS_createPath","FS_createDevice","FS_readFile","FS","FS_createDataFile","FS_createLazyFile","MEMFS","TTY","PIPEFS","SOCKFS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","GL","AL","GLUT","EGL","GLEW","IDBStore","SDL","SDL_gfx","allocateUTF8","allocateUTF8OnStack","print","printErr"];IE.forEach(yw);var Ns;La=function u(){Ns||Xw(),Ns||(La=u)};function SE(){jw(),ID()}function Xw(){if(hr>0||(SE(),SD(),hr>0))return;function u(){Ns||(Ns=!0,n.calledRun=!0,!Pe&&(xD(),i(n),n.onRuntimeInitialized?.(),Q(!n._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),HD()))}n.setStatus?(n.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n.setStatus(""),1),u()},1)):u(),gd()}function xE(){var u=S,l=G,b=!1;S=G=v=>{b=!0};try{Nw(0),["stdout","stderr"].forEach(v=>{var D=h.analyzePath("/dev/"+v);if(D){var E=D.object,_=E.rdev,C=xn.ttys[_];C?.output?.length&&(b=!0)}})}catch{}S=u,G=l,b&&dn("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.")}if(n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();Xw(),r=o;for(let u of Object.keys(n))u in t||Object.defineProperty(t,u,{configurable:!0,get(){Oe(`Access to module property ('${u}') is no longer possible via the module constructor argument; Instead, use the result of the module constructor.`)}});return r})})(),_G=EG});var wF={};Ze(wF,{default:()=>s7});var s7,bF=it(()=>{"use strict";s7="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AF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv//AAAAIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL//wC5AF0ApACFAEwAlwAkAKYAkgCSACkAlQA7AGUAjwCpAMMAfwCwAKoAUQBNAKEAnwBAAG0ALACaAGAAPwBNAIUAFP/A/8f/x//I/8j/zv/O/8//z//V/9X/1f/W/9b/1//e/97/3v/e/+D/4f/l/+X/5f/l/+cAAP/7////8wCKACr/4v/0//0ABgAOABoAIAAoACoALwAvAC8AMwA3ADoASABSAFwAXgBnAG8AdAB0AHQAdAB3/97/3P/d/9T/3v/CADf/xQBL/7gALf/G/78ACv/h//IAIf/y/70AEAAxACz/kv/uAAMAB/+r//r/+//S//b/9AAgAAb/Rv9C/0L/Rf9B/0L/PP9E/0n/Rf9F/0X/Uv9N/03/Tf9C/1T/Wf9V/1X/WP9U/83/VP9h/13/Xf9d/2L/V/+q/2n/Y/9j/3L/Y/9m/2L/e/+P/4v/i/+L/6v/p/+n/6f/jf+2/73/t/+3/8L/tv94/77/7//r/+v/6//x/97/8P7V/1r+0v9x/sj+xf90/vL9n/4E4GjgZuCy4LLgsuCs4KzgqeBL4EvgPeBT4I/gVeBV32ffvwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAIRI0x5fDzz1AAMD6AAAAAAAAAAAAAAAAAAAAAD/5P8HAnQDIwAAAAgAAgAAAAAAAAABAAADI/8IAAACWAAAAAACdAABAAAAAAAAAAAAAAAAAAAA9AJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAAAAFAAAPQAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACAA4A0gADAAEECQADAEQA4AADAAEECQAEACwBJAADAAEECQAFABoBUAADAAEECQAGACgBagADAAEECQANAQIBkgADAAEECQAOAIAClABDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwBSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwA7AEMAaAByAG8AbQBGAGkAeABlAGQATwBUAEYARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwBWAGUAcgBzAGkAbwBuACAAMQAuADAAMAAwAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAAAAwAAAAAAAP+cADIAAAABAAAAAAAAAAAAAAAAAAAAAA=="});var fF={};Ze(fF,{default:()=>A7});var A7,gF=it(()=>{"use strict";A7="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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAACLrmuRfDzz1AAMD6AAAAAAAAAAAAAAAAAAAAAD/j/8HAskDKwABAAgAAgAAAAAAAAABAAADK/8IAAACWAAAAAACyQABAAAAAAAAAAAAAAAAAAAA9AJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAAAAFAAAPQAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACAAgA0gADAAEECQADAFYA2gADAAEECQAEADYBMAADAAEECQAFABoBZgADAAEECQAGADABgAADAAEECQANAQIBsAADAAEECQAOAIACsgBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwBCAG8AbABkAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBCAG8AbABkADsAQwBoAHIAbwBtAEYAaQB4AGUAZABPAFQARgAtAEIAbwBsAGQARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAE0AbwBuAG8AQgBvAGwAZABVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAAAAAAD/nAAyAAAAAQAAAAAAAAAAAAAAAAAAAAA="});var FF={};Ze(FF,{default:()=>c7});var c7,vF=it(()=>{"use strict";c7="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APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL//wAAACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AuQBdAKQAhQBMAJcAJACmAJIAkgApAJUAOwBlAI8AqQDDAH8AsACqAFEATQChAJ8AQABtACwAmgBgAD8ATQCFABT/wP/H/8f/yP/I/87/zv/P/8//1f/V/9X/1v/W/9f/3v/e/97/3v/g/+H/5f/l/+X/5f/nAAD/+/////MAigAq/+L/9P/9AAYADgAaACAAKAAqAC8ALwAvADMANwA6AEgAUgBcAF4AZwBvAHQAdAB0AHQAd//e/9z/3f/U/97/wgA3/8UAS/+4AC3/xv+/AAr/4f/yACH/8v+9ABAAMQAs/5L/7gADAAf/q//6//v/0v/2//QAIAAG/0b/Qv9C/0X/Qf9C/zz/RP9J/0X/Rf9F/1L/Tf9N/03/Qv9U/1n/Vf9V/1j/VP/N/1T/Yf9d/13/Xf9i/1f/qv9p/2P/Y/9y/2P/Zv9i/3v/j/+L/4v/i/+r/6f/p/+n/43/tv+9/7f/t//C/7b/eP++/+//6//r/+v/8f/e//D+1f9a/tL/cf7I/sX/dP7y/Z/+BOBo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AG8AZgB0AHcAYQByAGUAIABJAG4AYwAuAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAE0AbwBuAG8AQgBvAGwAZAAgAEkAdABhAGwAaQBjAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBCAG8AbABkAEkAdABhAGwAaQBjADsAQwBoAHIAbwBtAEYAaQB4AGUAZABPAFQARgAtAEIAbwBsAGQASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwAgAEIAbwBsAGQAIABJAHQAYQBsAGkAYwBWAGUAcgBzAGkAbwBuACAAMQAuADAAMAAwAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBCAG8AbABkAEkAdABhAGwAaQBjAFUAcwBlACAAbwBmACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABnAG8AdgBlAHIAbgBlAGQAIABiAHkAIAB0AGgAZQAgAEIAUwBEAC0AcwB0AHkAbABlACAAbABpAGMAZQBuAHMAZQAgAG8AZgAgAFAARABGAGkAdQBtADoAIABoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAAwAAAAAAAP+cADIAAAABAAAAAAAAAAAAAAAAAAAAAA=="});var PF={};Ze(PF,{default:()=>d7});var d7,hF=it(()=>{"use strict";d7="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BgsAAAAEAlgBkAAFAAACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAABFUERGAIEAICEiAyP/CAAAAyMA+AAAAAEAAAAAAAAAAAAAACAAAQAAAAEAAwABAAAADAAEBtgAAAGyAQAABwCyACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv///+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f+//7//v/+//7//v/+//7//v/+//7//v/++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv+//73/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/3L/cv9o/2j/Uv9O/07/O/4K/frgxeDF4MLgwuDC4MHgweDB4MDgwODA4L3gtOCs4KzgPd/JAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAPObZYV8PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAP/Q/wcClwMjAAIACAACAAAAAAAAAAEAAAMj/wgAAAJYAAAAAAKXAAEAAAAAAAAAAAAAAAAAAAD0AlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAAAUAAA9AAAAAAACQByAAMAAQQJAAAApgAAAAMAAQQJAAEALACmAAMAAQQJAAIADADSAAMAAQQJAAMAXgDeAAMAAQQJAAQAOgE8AAMAAQQJAAUAGgF2AAMAAQQJAAYANAGQAAMAAQQJAA0BAgHEAAMAAQQJAA4AgALGAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAFQAaABlACAAUABEAEYAaQB1AG0AIABBAHUAdABoAG8AcgBzAC4AIABPAHIAaQBnAGkAbgBhAGwAIABjAG8AZABlACAAYwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAARgBvAHgAaQB0ACAAUwBvAGYAdAB3AGEAcgBlACAASQBuAGMALgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABNAG8AbgBvAEkAdABhAGwAaQBjAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBJAHQAYQBsAGkAYwA7AEMAaAByAG8AbQBGAGkAeABlAGQATwBUAEYALQBJAHQAYQBsAGkAYwBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABNAG8AbgBvACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAE0AbwBuAG8ASQB0AGEAbABpAGMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQADAAAAAAAA/5wAMgAAAAEAAAAAAAAAAAAAAAAAAAAA"});var kF={};Ze(kF,{default:()=>u7});var u7,DF=it(()=>{"use strict";u7="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AQAABwCyACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv//AKsAVACXAHkAQwCLACAAmQCGAIYAIACJ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AiwAAAIsAAACLAAAAiwAAAH0AAAC0gAAAfQAAAH0AAAB9AAAAfQAAAIsAAAB9AAAAfQAAAIsAAAAAFAAAOYAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACAA4A0gADAAEECQADAEIA4AADAAEECQAEACwBIgADAAEECQAFABoBTgADAAEECQAGACgBaAADAAEECQANAQIBkAADAAEECQAOAIACkgBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBhAG4AcwBSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQAUwBhAG4AcwA7AEMAaAByAG8AbQBTAGEAbgBzAE8AVABGAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAYQBuAHMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQADAAAAAAAA/5wAMgAAAAAAAAAAAAAAAAAAAAAAAAAA"});var BF={};Ze(BF,{default:()=>p7});var p7,EF=it(()=>{"use strict";p7="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AGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBhAG4AcwAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMAQgBvAGwAZABVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="});var _F={};Ze(_F,{default:()=>l7});var l7,yF=it(()=>{"use strict";l7="T1RUTwAJAIAAAwAQQ0ZGIH28hugAAACcAABAIk9TLzJTR3FqAABAwAAAAGBjbWFwtEBbHAAAQSAAAAbkaGVhZGLGQ8MAAEgEAAAANmhoZWEIHgQ0AABIPAAAACRobXR489UAAAAASGAAAAOYbWF4cADmUAAAAEv4AAAABm5hbWVa5nUnAABMAAAAA+Bwb3N0/5MAMgAAT+AAAAAgAQAEAgABAQEXQ2hyb21TYW5zUFMtQm9sZEl0YWxpYwABAQEn+BAA+BwB+B0C+B4D+BQEfwwC+0L7ePru+lYF9zwP+JwRsRw5/BIABAEBBS9IVUV1cm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaHJvbSBTYW5zIFBTIEJvbGQgSXRhbGljQ2hyb20gU2FucyBQUwAAAQABAACBAQCEAACGAgCRAABjAABtAQCMAACSAADHAADkAAACBQBoAAAJNwB8AABCHQGHAAB1AABlAAB2AAB5AABwAQB+AAB6AADAAABrAACOAABBAAAIAABpAAB3AAB0AABvAACJAAB/AACZAADdAABsAACUAADGAABgAgBnAABkAACgAABmAACDAACqAACLAABqAACXAACmAAClAACAAAChAACcAACkAACpAAB9AACYAABzAAByAACFAACWAACPAAB4AACeAACbAACjAAB7AACuAACrAQCwAACtAACvAACKAACxAAC1AACyAgC5AAC2AgCaAAC6AAC+AAC7AQC/AAC9AACoAACNAADEAADBAgDFAACdAACVAADLAADIAQDNAADKAADMAACQAADOAADSAADPAgDWAADTAgCnAADXAADbAADYAQDcAADaAACfAACTAADhAADeAgDiAACiAADjAADmAgABAAQABwA3AEwAdgCJALkAzwDeAPYBSAGUAbwB4AIrAnACmQLTAzkDyQRaBQQFIQVfBZcFzAXzBhoGLgZABlUGngbKBx8HgwfFCCUIkAjBCTUJnwnCCfoKHwo/CmIKtwtlC5YL7ww5DGsMlwy6DRoNSA1YDYkNtw3JDgcOLQ58DrgPLQ+KD+YQChBZEHQQshDhEQMRMRFTEWwRjRGuEbwRyxIdEn0SxxMhE3MTsRQcFGQUghTGFPIU/hVlFa8VyRYkFoAWvxcWF1oXqBfFGAEYLxhrGJgY6xkEGVsZ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IBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv///+H/7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/yf/Mv8X/yL/Dv6R/pH+3v2v/aXgbOBs4GLgYuBV4GDgYOBT4FPgU+Bc4EzgRuA/4Erfwt9g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AGMARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAGEAbgBzAEIAbwBsAGQASQB0AGEAbABpAGMAOwBDAGgAcgBvAG0AUwBhAG4AcwBQAFMALQBCAG8AbABkAEkAdABhAGwAaQBjAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAYQBuAHMAIABCAG8AbABkACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMAQgBvAGwAZABJAHQAYQBsAGkAYwBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAP/0AAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="});var GF={};Ze(GF,{default:()=>m7});var m7,CF=it(()=>{"use strict";m7="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AGkAYwBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGEAbgBzACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMASQB0AGEAbABpAGMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQAAAAMAAP/0AAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="});var IF={};Ze(IF,{default:()=>w7});var w7,SF=it(()=>{"use strict";w7="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ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv//AAAAIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL////h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/v/+//7//v/+//7//v/+//7//v/+//7//vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv9v/2//Y/9j/03/Sf9J/zb+A/3z4L7gvuC74Lvgu+C64LrguuC54LngueC24K3gpeCl4DXfwAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAACnY9yZfDzz1AAMD6AAAAAAAAAAAAAAAAAAAAAD/WP8GA+gDbgAAAAgAAgAAAAAAAAABAAADbv8HAAAD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAA5gD6AAAA+gAAAU0AAAGYAAAB9AAAAfQAAANBAAADCgAAALQAAAFNAAABTQAAAfQAAAI0AAAA+gAAAU0AAAD6AAABFgAAAfQAAAH0AAAB9AAAAfQAAAH0AAAB9AAAAfQAAAH0AAAB9AAAAfQAAAEWAAABFgAAAjQAAAI0AAACNAAAAbwAAAOZAAAC0gAAApsAAAKbAAAC0gAAAmMAAAIsAAAC0gAAAtIAAAFNAAABhQAAAtIAAAJjAAADeQAAAtIAAALSAAACLAAAAtIAAAKbAAACLAAAAmMAAALSAAAC0gAAA7AAAALSAAAC0gAAAmMAAAFNAAABFgAAAU0AAAHVAAAB9AAAAU0AAAG8AAAB9AAAAbwAAAH0AAABvAAAAU0AAAH0AAAB9AAAARYAAAEWAAAB9AAAARYAAAMKAAAB9AAAAfQAAAH0AAAB9AAAAU0AAAGFAAABFgAAAfQAAAH0AAAC0gAAAfQAAAH0AAABvAAAAeAAAADIAAAB4AAAAh0AAAFNAAAB9AAAAfQAAAH0AAAB9AAAAMgAAAH0AAABTQAAAvgAAAEUAAAB9AAAAjQAAAL4AAABTQAAAZAAAAI0AAABLAAAASwAAAFNAAAB9AAAAcUAAAD6AAABTQAAASwAAAE2AAAB9AAAAu4AAALuAAAC7gAAAbwAAALSAAAC0gAAAtIAAALSAAAC0gAAAtIAAAN5AAACmwAAAmMAAAJjAAACYwAAAmMAAAFNAAABTQAAAU0AAAFNAAAC0gAAAtIAAALSAAAC0gAAAtIAAALSAAAC0gAAAjQAAALSAAAC0gAAAtIAAALSAAAC0gAAAtIAAAIsAAAB9AAAAbwAAAG8AAABvAAAAbwAAAG8AAABvAAAApsAAAG8AAABvAAAAbwAAAG8AAABvAAAARYAAAEWAAABFgAAARYAAAH0AAAB9AAAAfQAAAH0AAAB9AAAAfQAAAH0AAACNAAAAfQAAAH0AAAB9AAAAfQAAAH0AAAB9AAAAfQAAAH0AAABFgAAAmMAAAEWAAADeQAAAtIAAAIsAAABhQAAAtIAAAJjAAABvAAAAfQAAAFNAAABTQAAAU0AAAFNAAABTQAAAU0AAAFNAAABTQAAAfQAAAPoAAABTQAAAU0AAAFNAAABvAAAAbwAAAG8AAAB9AAAAfQAAAFeAAAD6AAAA+gAAAFNAAABTQAAAKcAAALSAAAD1AAAAjQAAAIsAAACLAAAAABQAADmAAAAAAAJAHIAAwABBAkAAACmAAAAAwABBAkAAQAuAKYAAwABBAkAAgAOANQAAwABBAkAAwBGAOIAAwABBAkABAAuASgAAwABBAkABQAaAVYAAwABBAkABgAqAXAAAwABBAkADQECAZoAAwABBAkADgCAApwAQwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAAVABoAGUAIABQAEQARgBpAHUAbQAgAEEAdQB0AGgAbwByAHMALgAgAE8AcgBpAGcAaQBuAGEAbAAgAGMAbwBkAGUAIABjAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABGAG8AeABpAHQAIABTAG8AZgB0AHcAYQByAGUAIABJAG4AYwAuAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAZQByAGkAZgBSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQAUwBlAHIAaQBmADsAQwBoAHIAbwBtAFMAZQByAGkAZgBPAFQARgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGUAcgBpAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="});var xF={};Ze(xF,{default:()=>b7});var b7,HF=it(()=>{"use strict";b7="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AF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv///+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h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AAEECQAFABoBbAADAAEECQAGADIBhgADAAEECQANAQIBuAADAAEECQAOAIACugBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBlAHIAaQBmAEIAbwBsAGQARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAGUAcgBpAGYAQgBvAGwAZAA7AEMAaAByAG8AbQBTAGUAcgBpAGYATwBUAEYALQBCAG8AbABkAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAZQByAGkAZgAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBCAG8AbABkAFUAcwBlACAAbwBmACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABnAG8AdgBlAHIAbgBlAGQAIABiAHkAIAB0AGgAZQAgAEIAUwBEAC0AcwB0AHkAbABlACAAbABpAGMAZQBuAHMAZQAgAG8AZgAgAFAARABGAGkAdQBtADoAIABoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="});var OF={};Ze(OF,{default:()=>f7});var f7,QF=it(()=>{"use strict";f7="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Dvvd+K12CwW0lquImhv3NYwLH6uFvvd+BW0GewttCqypjWgfDvcLQNYLaal5prGkpri3C3cS8fcN9xD3DQvji/cp+yJ28cgL+2Gw9y+u+AXSCxuFhwshl3apdvga0wuDkxuQj4+XHwvHi65udvkdrguDHRILdvlTdwELFXUdC36o+DOoC6WvoaQLAQABBgBoAAAJNwB8AABCIABnAABkAACgAABmAACDAACqAACLAABqAACXAAClAACAAAChAACcAACkAACpAAB9AACYAABzAAByAACFAACWAACPAAB4AACeAACbAACjAAB7AACuAACrAQCwAACtAACvAACKAACxAAC1AACyAgC5AAC2AgCaAAC6AAC+AAC7AQC/AAC9AACoAACNAADEAADBAgDFAACdAACVAADLAADIAQDNAADKAADMAACQAADOAADSAADPAgDWAADTAgCnAADXAADbAADYAQDcAADaAACfAACTAADhAADeAgDiAACiAADjAACRAACMAACSAACOAACUAADAAADdAADGAQDkAABlAAB+AACIAACBAQCEAACHAAB/AACGAABvAACJAABBAAAIAAB1AABpAAB3AAB2AABwAQB0AAB5AQBrAQBjAAGHAACZAACmAABtAQDmAgABAAQABwBeAJ0BFAGpAeMCuALkAxcDSQQlBFEEgASWBKQEuQUDBUQFmgYCBkcGmAcCBy4HrggOCDoIiwivCNEI8glXChEKOwrBCxcLVwt2C9kMWgzaDRUNdA3tDhQOlA7RDxQPbBAHEH4Q/xFBEYwR2xJZEtUTGRMfE00TZBOVE7YTwhPkFBwUbRS8FTgVcBXuFpsW/xceF3IX0BgAGKAY0xkQGUUZshn9GmQaqxrZGy0bpRwxHFMclxz1HRAdah21HgMeeR8xH6cgMCBfISghQiHfIk0igSKgI1UjaSOcI9sj/yQyJEQkxyUQJSAlVyWQJcol9CYuJnkm0yc0J1EnYydvJ8wn9SggKMYpXSmbKd8qByo2KlgqhyqrKtErKSuEK4wrlCulK9Ir9SwlLKQszCz3LSQtWS2fLhMutS7eLvUvCy9FL2cv0TCKMQ4xGzEkMTwxXzFuMYIxojHLMjEyhTKUMroyxzL0MxUzRzO+M9wz8DQGNCI0TTR/NLs0wjUENVA2AzaaNy83nDgLOBk4ZTjuOP45Cjk1OUk5cDmj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AGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBCAG8AbABkAEkAdABhAGwAaQBjAFUAcwBlACAAbwBmACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABnAG8AdgBlAHIAbgBlAGQAIABiAHkAIAB0AGgAZQAgAEIAUwBEAC0AcwB0AHkAbABlACAAbABpAGMAZQBuAHMAZQAgAG8AZgAgAFAARABGAGkAdQBtADoAIABoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAAwAA//IAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="});var RF={};Ze(RF,{default:()=>g7});var g7,TF=it(()=>{"use strict";g7="T1RUTwAJAIAAAwAQQ0ZGIPXJ5WAAAACcAABS609TLzJR03CmAABTiAAAAGBjbWFwr01WZwAAU+gAAAbkaGVhZGJOQ08AAFrMAAAANmhoZWEHQwPWAABbBAAAACRobXR4yLAAAAAAWygAAAOYbWF4cADmUAAAAF7AAAAABm5hbWVXLXKpAABeyAAAA8Bwb3N0/4+ZzAAAYogAAAAgAQAEAgABAQEVQ2hyb21TZXJpZk9URi1JdGFsaWMAAQEBKvgQAPgcAfgdAvgeA/gYBB7hWk8MAvs8+476cfn4Bfc8D/iTEbAcRtYSAAQBAQUvRVRFdXJvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hyb20gU2VyaWYgT1RGIEl0YWxpY0Nocm9tIFNlcmlmIE9URgAAAQABBgBoAAAJNwB8AABCIABnAABkAACgAABmAACDAACqAACLAABqAACXAAClAACAAAChAACcAACkAACpAAB9AACYAABzAAByAACFAACWAACPAAB4AACeAACbAACjAAB7AACuAACrAQCwAACtAACvAACKAACxAAC1AACyAgC5AAC2AgCaAAC6AAC+AAC7AQC/AAC9AACoAACNAADEAADBAgDFAACdAACVAADLAADIAQDNAADKAADMAACQAADOAADSAADPAgDWAADTAgCnAADXAADbAADYAQDcAADaAACfAACTAADhAADeAgDiAACiAADjAACRAACMAACSAACOAACUAADAAADdAADGAQDkAABlAAB+AACIAACBAQCEAACHAAB/AACGAABvAACJAABBAAAIAAB1AABpAAB3AAB2AABwAQB0AAB5AQBrAQBjAAGHAACZAACmAABtAQDmAgABAAMABQBKAIIA+AGMAbcCcwKgAtkDFwPtBBoESQRgBG0EiATPBR0FcAXjBioGegbTBv8HfQfhB/4IRghxCJUItQksCeYKLgq2CuQLLguMC/UMbgz3DTANhw4LDjoOtQ8fD2IPyBBMEMYRAhFNEaYR9hJ1EvYTTxNZE4UToxPSE/kUChQmFGMU0xURFZ4V6hZuFxoXjhfGGDMYqRjhGYUZqxnqGioalRrxG1MbsRvvHFYc8R2VHdceGR51Hose6R82H4Ef9yCZIQwhoSHAIpcipSNMI8MkBCQlJRMlKiViJZoltiX9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AE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL//wAAACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi////4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h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AAIADADUAAMAAQQJAAMAYADgAAMAAQQJAAQAPAFAAAMAAQQJAAUAGgF8AAMAAQQJAAYANgGWAAMAAQQJAA0BAgHMAAMAAQQJAA4AgALOAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAFQAaABlACAAUABEAEYAaQB1AG0AIABBAHUAdABoAG8AcgBzAC4AIABPAHIAaQBnAGkAbgBhAGwAIABjAG8AZABlACAAYwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAARgBvAHgAaQB0ACAAUwBvAGYAdAB3AGEAcgBlACAASQBuAGMALgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGUAcgBpAGYASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAGUAcgBpAGYASQB0AGEAbABpAGMAOwBDAGgAcgBvAG0AUwBlAHIAaQBmAE8AVABGAC0ASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBlAHIAaQBmACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBJAHQAYQBsAGkAYwBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAP/wmZr/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="});var MF={};Ze(MF,{default:()=>F7});var F7,LF=it(()=>{"use strict";F7="T1RUTwAJAIAAAwAQQ0ZGIOGW9BwAAACcAABBWU9TLzJShslxAABB+AAAAGBjbWFwuS2uQQAAQlgAAAYMaGVhZGKlQ7EAAEhkAAAANmhoZWEINgOtAABInAAAACRobXR4tWgAAAAASMAAAAL8bWF4cAC/UAAAAEu8AAAABm5hbWVTi27TAABLxAAAA5hwb3N0/58AMgAAT1wAAAAgAQAEAgABAQEPQ2hyb21TeW1ib2xPVEYAAQEBJvgQAPitAfiuAviuA/gYBPtI+7r61vqGBRwGPQ8cBokRqxw+ohIAlAIAAQAGAAoADwAWABoAHQAiACYAKwAxADMANQA3AD4AQABDAEgASwBSAFUAWABbAGAAZABpAG4AdQB5AHwAgQCFAIoAkACSAJQAmwCdAKAApgCrAK4AtQC4ALsAvgDDAMkA0QDVANsA4QDnAOsA8wD+AQYBCwEQARkBIAEqATMBPAFKAVYBYAFtAXkBhQGOAZkBpAGsAbEBuQHAAcoB0gHZAeIB7gH1AgECCQIOAhgCIQItAjICOgJDAkoCUwJeAmYCcQJ6AoYCkgKgAqkCtQLDAs0C2wLoAu8C+QMDAwwDFgMdAyIDJgMrAzIDQANNA1sDZANvA3sDhwOUA6EDrAO3A8IDzwPcA+kD9AQABAsEEgQcBCgENARABE4EXARqBHYEgwSPBJQEvgTOQWxwaGFCZXRhR2FtbWFFcHNpbG9uWmV0YUV0YVRoZXRhSW90YUthcHBhTGFtYmRhTXVOdVhpT21pY3JvblBpUmhvU2lnbWFUYXVVcHNpbG9uUGhpQ2hpUHNpYWxwaGFiZXRhZ2FtbWFkZWx0YWVwc2lsb256ZXRhZXRhdGhldGFpb3Rha2FwcGFsYW1iZGFudXhpb21pY3JvbnBpcmhvc2lnbWExc2lnbWF0YXV1cHNpbG9ucGhpY2hpcHNpb21lZ2F0aGV0YTFVcHNpbG9uMXBoaTFvbWVnYTFtaW51dGVzZWNvbmRFdXJvSWZyYWt0dXJ3ZWllcnN0cmFzc1JmcmFrdHVyT21lZ2FhbGVwaGFycm93bGVmdGFycm93dXBhcnJvd3JpZ2h0YXJyb3dkb3duYXJyb3dib3RoY2FycmlhZ2VyZXR1cm5hcnJvd2RibGxlZnRhcnJvd2RibHVwYXJyb3dkYmxyaWdodGFycm93ZGJsZG93bmFycm93ZGJsYm90aHVuaXZlcnNhbHBhcnRpYWxkaWZmZXhpc3RlbnRpYWxlbXB0eXNldERlbHRhZ3JhZGllbnRlbGVtZW50bm90ZWxlbWVudHN1Y2h0aGF0cHJvZHVjdHN1bW1hdGlvbmFzdGVyaXNrbWF0aHJhZGljYWxwcm9wb3J0aW9uYWxpbmZpbml0eWFuZ2xlbG9naWNhbGFuZGxvZ2ljYWxvcmludGVyc2VjdGlvbnVuaW9uaW50ZWdyYWx0aGVyZWZvcmVzaW1pbGFyY29uZ3J1ZW50YXBwcm94ZXF1YWxub3RlcXVhbGVxdWl2YWxlbmNlbGVzc2VxdWFsZ3JlYXRlcmVxdWFscHJvcGVyc3Vic2V0cHJvcGVyc3VwZXJzZXRub3RzdWJzZXRyZWZsZXhzdWJzZXRyZWZsZXhzdXBlcnNldGNpcmNsZXBsdXNjaXJjbGVtdWx0aXBseXBlcnBlbmRpY3VsYXJkb3RtYXRoaW50ZWdyYWx0cGludGVncmFsYnRhbmdsZWxlZnRhbmdsZXJpZ2h0bG96ZW5nZXNwYWRlY2x1YmhlYXJ0ZGlhbW9uZGNvcHlyaWdodHNlcmlmcmVnaXN0ZXJzZXJpZnRyYWRlbWFya3NlcmlmcmFkaWNhbGV4YXJyb3d2ZXJ0ZXhhcnJvd2hvcml6ZXhyZWdpc3RlcnNhbnNjb3B5cmlnaHRzYW5zdHJhZGVtYXJrc2Fuc3BhcmVubGVmdHRwcGFyZW5sZWZ0ZXhwYXJlbmxlZnRidGJyYWNrZXRsZWZ0dHBicmFja2V0bGVmdGV4YnJhY2tldGxlZnRidGJyYWNlbGVmdHRwYnJhY2VsZWZ0bWlkYnJhY2VsZWZ0YnRicmFjZWV4aW50ZWdyYWxleHBhcmVucmlnaHR0cHBhcmVucmlnaHRleHBhcmVucmlnaHRidGJyYWNrZXRyaWdodHRwYnJhY2tldHJpZ2h0ZXhicmFja2V0cmlnaHRidGJyYWNlcmlnaHR0cGJyYWNlcmlnaHRtaWRicmFjZXJpZ2h0YnRhcHBsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENocm9tIFN5bWJvbCBPVEYAAAEAAQEABAAABgEACQEADAEADxEAPAAAPgAAQAAAXAIAlwAAoQAAnAAAmAAAqAAA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AGIAbwBsAE8AVABGAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAeQBtAGIAbwBsAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADAARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAHkAbQBiAG8AbABVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAAAAAAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="});var NF={};Ze(NF,{default:()=>v7});var v7,jF=it(()=>{"use strict";v7="T1RUTwAJAIAAAwAQQ0ZGILA37xgAAACcAABzSU9TLzJRS/iZAABz6AAAAGBjbWFwmWw2ygAAdEgAAAYEaGVhZGLrQ3sAAHpMAAAANmhoZWEHEQQhAAB6hAAAACRobXR4Tb8AAAAAeqgAAAMsbWF4cADLUAAAAH3UAAAABm5hbWVVsHCsAAB93AAAA6xwb3N0/58AMgAAgYgAAAAgAQAEAgABAQERQ2hyb21EaW5nYmF0c09URgABAQEl+BAA+OQB+OUC+OUD+OYEivs4+mn5zgUcBNwPHATjEaccbj8SAMwCAAEAAwAGAAoADgASABYAGgAeACIAJgAqAC4AMQA1ADkAPQBBAEUASQBMAFAAVABYAFwAYABkAGgAbABwAHQAdwB7AH8AgwCHAIsAjwCTAJcAmwCfAKIApgCqAK4AsgC2ALoAvgDCAMYAygDNANEA1QDZAN0A4QDlAOkA7QDxAPUA+AD8AQABBAEIAQwBEAEUARgBHAEgASMBJwErAS8BMwE3ATsBPwFDAUcBSwFOAVIBVgFaAV4BYgFmAWoBbgFyAXYBeQF9AYEBhQGJAY0BkQGVAZkBnQGhAaMBpgGqAa4BsgG2AboBvgHCAcUByAHLAc4B0QHUAdcB2gHdAd8B4gHlAegB6wHuAfEB9AH3AfoB/QH/AgICBQIIAgsCDgIRAhQCFwIaAh0CHwIiAiUCKAIrAi4CMQI0AjcCOgI9Aj8CQgJFAkgCSwJOAlECVAJXAloCXQJfAmICZQJoAmsCbgJxAnQCdwJ6An0CfwKCAoUCiAKLAo4CkQKUApcCmgKcAp8CogKlAqgCqwKuArECtAK3AroC5AL2AvxhMWExMGExMDBhMTAxYTEwMmExMDNhMTA0YTEwNWExMDZhMTA3YTEwOGExMDlhMTFhMTEwYTExMWExMTJhMTE3YTExOGExMTlhMTJhMTIwYTEyMWExMjJhMTIzYTEyNGExMjVhMTI2YTEyN2ExMjhhMTI5YTEzYTEzMGExMzFhMTMyYTEzM2ExMzRhMTM1YTEzNmExMzdhMTM4YTEzOWExNGExNDBhMTQxYTE0MmExNDNhMTQ0YTE0NWExNDZhMTQ3YTE0OGExNDlhMTVhMTUwYTE1MWExNTJhMTUzYTE1NGExNTVhMTU2YTE1N2ExNThhMTU5YTE2YTE2MGExNjFhMTYyYTE2M2ExNjRhMTY1YTE2NmExNjdhMTY4YTE2OWExN2ExNzBhMTcxYTE3MmExNzNhMTc0YTE3NWExNzZhMTc3YTE3OGExNzlhMThhMTgwYTE4MWExODJhMTgzYTE4NGExODVhMTg2YTE4N2ExODhhMTg5YTE5YTE5MGExOTFhMTkyYTE5M2ExOTRhMTk1YTE5NmExOTdhMTk4YTE5OWEyYTIwYTIwMGEyMDFhMjAyYTIwM2EyMDRhMjA1YTIwNmEyMWEyMmEyM2EyNGEyNWEyNmEyN2EyOGEyOWEzYTMwYTMxYTMyYTMzYTM0YTM1YTM2YTM3YTM4YTM5YTRhNDBhNDFhNDJhNDNhNDRhNDVhNDZhNDdhNDhhNDlhNWE1MGE1MWE1MmE1M2E1NGE1NWE1NmE1N2E1OGE1OWE2YTYwYTYxYTYyYTYzYTY0YTY1YTY2YTY3YTY4YTY5YTdhNzBhNzFhNzJhNzNhNzRhNzVhNzZhNzdhNzhhNzlhOGE4MWE4MmE4M2E4NGE4NWE4NmE4N2E4OGE4OWE5YTkwYTkxYTkyYTkzYTk0YTk1YTk2YTk3YTk4YTk5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hyb20gRGluZ2JhdHMgT1RGTm9ybWFsAAABAYfIAAEAAMsCAAEABAEDAY0B+gJKApUC4wMlA3EDyQTgBi8GnwfMCAkITgjOCV0LHQz4DicOdA7nD1UPpxA2EJAQ3hFxEiISqhQhFF4UyhVvFc4WXhbpFy0XohgcGKoaHxpFGpUa/hs0G5EcChw+HL8dNR2XHeMeAR5WHrwe+h9FH6MfzSBCIKkhFCFXIYchtyHMIhUiXyKPIxUjaSOPI7YkXyShJPclGCUrJUAlciWiJcQl9CY4Jqcm/Cc8J4InyCgiKGcoyik/KaUpyyooKk0qgSqwKvMrTiu8K+wsRyy1LQwtzS43Lnguvy+EL7gv3zAQMC0wrzE0MfIyzTMaM0YzfjO2Ngg28jhSOT87lzwaPII8sT0GPWA9sD3dQEtAdkCxQRtBgUG/QhtCokMCRa9F5UcMR7hH/EhVSZFK2kvuTLFOZ082UUlRb1TeVV5Y2VnHWrlbpVyxXblelWDvYUViDWI4YotimmLLYvVjCWMgYzZjjmP3ZBdkJGQyZEJkcmSMZKpkymUCZXRlrWXF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APoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARVBERgDAACAnvgM6/10AAAM6AKOAAAAAAAAAAAAAAAAAAAAgAAEAAAABAAMAAQAAAAwABAX4AAABegEAAAcAegAgIZIhlCGVJGAkYSRiJGMkZCRlJGYkZyRoJGkloCWyJbwlxiXPJdcmBSYOJhsmHiZgJmMmZSZmJwEnAicDJwQnBicHJwgnCScMJw0nDicPJxAnEScSJxMnFCcVJxYnFycYJxknGicbJxwnHSceJx8nICchJyInIyckJyUnJicnJyknKicrJywnLScuJy8nMCcxJzInMyc0JzUnNic3JzgnOSc6JzsnPCc9Jz4nPydAJ0EnQidDJ0QnRSdGJ0cnSCdJJ0onSydNJ08nUCdRJ1InVidYJ1knWidbJ1wnXSdeJ2EnYidjJ2QnZSdmJ2cndid3J3gneSd6J3snfCd9J34nfyeAJ4EngieDJ4QnhSeGJ4cniCeJJ4oniyeMJ40njiePJ5AnkSeSJ5MnlCeYJ5knmiebJ5wnnSeeJ58noCehJ6InoyekJ6UnpienJ6gnqSeqJ6snrCetJ64nryexJ7Insye0J7Untie3J7gnuSe6J7snvCe9J77//wAAACAhkiGUIZUkYCRhJGIkYyRkJGUkZiRnJGgkaSWgJbIlvCXGJc8l1yYFJg4mGyYeJmAmYyZlJmYnAScCJwMnBCcGJwcnCCcJJwwnDScOJw8nECcRJxInEycUJxUnFicXJxgnGScaJxsnHCcdJx4nHycgJyEnIicjJyQnJScmJycnKScqJysnLCctJy4nLycwJzEnMiczJzQnNSc2JzcnOCc5JzonOyc8Jz0nPic/J0AnQSdCJ0MnRCdFJ0YnRydIJ0knSidLJ00nTydQJ1EnUidWJ1gnWSdaJ1snXCddJ14nYSdiJ2MnZCdlJ2YnZyd2J3cneCd5J3oneyd8J30nfid/J4AngSeCJ4MnhCeFJ4YnhyeIJ4kniieLJ4wnjSeOJ48nkCeRJ5InkyeUJ5gnmSeaJ5snnCedJ54nnyegJ6EnoiejJ6QnpSemJ6cnqCepJ6onqyesJ60nrievJ7EnsiezJ7QntSe2J7cnuCe5J7onuye8J70nvv//AKresN6w3rDbtdu127Xbtdu127Xbtdu127XbtdsO2v/a9trt2t3a39p/2nvZ8tn2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AC4AIABPAHIAaQBnAGkAbgBhAGwAIABjAG8AZABlACAAYwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAARgBvAHgAaQB0ACAAUwBvAGYAdAB3AGEAcgBlACAASQBuAGMALgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABEAGkAbgBnAGIAYQB0AHMAUgBlAGcAdQBsAGEAcgBFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAEQAaQBuAGcAYgBhAHQAcwA7AEMAaAByAG8AbQBEAGkAbgBnAGIAYQB0AHMATwBUAEYARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAARABpAG4AZwBiAGEAdABzAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADAARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABEAGkAbgBnAGIAYQB0AHMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQADAAAAAAAA/5wAMgAAAAAAAAAAAAAAAAAAAAAAAAAA"});var f={Unknown:"Unknown",InvalidArg:"InvalidArg",DocNotOpen:"DocNotOpen",DocOpenFailed:"DocOpenFailed",DocPasswordRequired:"DocPasswordRequired",DocPasswordIncorrect:"DocPasswordIncorrect",GrantPassphraseRequired:"GrantPassphraseRequired",Aborted:"Aborted",Network:"Network",Unauthenticated:"Unauthenticated",Forbidden:"Forbidden",NotFound:"NotFound",WireFormat:"WireFormat",RuntimeUnavailable:"RuntimeUnavailable",LayerVersionConflict:"LayerVersionConflict",NotImplemented:"NotImplemented",MalformedPdf:"MalformedPdf",SigningPending:"SigningPending",SigningExpired:"SigningExpired",SigningVersionMismatch:"SigningVersionMismatch",SignatureRefused:"SignatureRefused",ProtectedDocument:"ProtectedDocument",PayloadTooLarge:"PayloadTooLarge",ObjectNumberUnavailable:"ObjectNumberUnavailable",LayerFull:"LayerFull",ChangeConflict:"ChangeConflict",UndoUnavailable:"UndoUnavailable",IdempotencyKeyReused:"IdempotencyKeyReused",LayerDeleted:"LayerDeleted",VisitorIdentityRequired:"VisitorIdentityRequired",Conflict:"Conflict",EngineBusy:"EngineBusy",EngineRestarting:"EngineRestarting",DocumentQuarantined:"DocumentQuarantined",ThumbnailNotReady:"ThumbnailNotReady",TooManyRequests:"TooManyRequests",GrantExpired:"GrantExpired",OriginRequired:"OriginRequired",OriginNotAllowed:"OriginNotAllowed",FeatureNotEnabled:"FeatureNotEnabled",FeatureStopped:"FeatureStopped",LicenseInvalid:"LicenseInvalid",LicenseUsageLimit:"LicenseUsageLimit",UpstreamError:"UpstreamError"},Bte=new Set(Object.values(f));function Wa(e){"@babel/helpers - typeof";return Wa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Wa(e)}function OE(e,t){if(Wa(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Wa(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function QE(e){var t=OE(e,"string");return Wa(t)=="symbol"?t:t+""}function xe(e,t,r){return(t=QE(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var g=class qw extends Error{constructor(t,r,n={}){super(r??t,n.cause===void 0?void 0:{cause:n.cause}),xe(this,"name","EngineError"),xe(this,"code",void 0),xe(this,"details",void 0),this.code=t,this.details=n.details}static is(t,r){return!(t instanceof qw)&&t?.name!=="EngineError"?!1:r===void 0?!0:t.code===r}toJSON(){return{code:this.code,message:this.message,details:this.details}}};function On(e){return g.is(e)?e.toJSON():e instanceof Error?{code:e.name==="AbortError"?f.Aborted:f.Unknown,message:e.message}:{code:f.Unknown,message:String(e??"unknown error")}}function Gd(e){return new g(e.code,e.message,{details:e.details})}function js(e){return typeof e=="number"&&Number.isInteger(e)&&e>0}function pe(e){return{kind:"objectNumber",objectNumber:e}}function fe(e){if(!js(e.objectNumber))throw new RangeError(`encodePageKey: objectNumber must be a positive integer, got ${e.objectNumber}`);return`obj:${e.objectNumber}`}function U(e){switch(e.kind){case"objectNumber":return`obj:${e.objectNumber}`;case"baseIndex":return`base:${e.page.objectNumber}:${e.baseIndex}`}}var _r=["courier","courier-bold","courier-bold-oblique","courier-oblique","helvetica","helvetica-bold","helvetica-bold-oblique","helvetica-oblique","times-roman","times-bold","times-bold-italic","times-italic","symbol","zapf-dingbats"],Ks={invisible:!1,hidden:!1,print:!1,noZoom:!1,noRotate:!1,noView:!1,readOnly:!1,locked:!1,toggleNoView:!1,lockedContents:!1};function Jn(e){if(e.kind==="objectNumber"){if(!Number.isInteger(e.objectNumber)||e.objectNumber<=0)throw new RangeError(`encodeFieldRefKey: objectNumber must be a positive integer, got ${e.objectNumber}`);return`obj:${e.objectNumber}`}return`fqn:${e.name}`}function Gt(e,t){return{ref:e>0&&t?{kind:"objectNumber",page:t,objectNumber:e}:null,objectNumber:e,page:t}}var Gi=(e,t)=>e.replace(/\B(?=(\d{3})+(?!\d))/g,()=>t),zw=(e,t)=>t?zw(t,e%t):e;function $n(e){let t=Math.fround(e.conversion??NaN);if(!Number.isFinite(t)||t<=0)return!1;let r=e.precision??(e.fraction==="fraction"?16:100);return!(!Number.isInteger(r)||r<1||r>2147483647||(e.fraction??"decimal")==="decimal"&&!Number.isInteger(Math.log10(r)))}function RE(e,t){let r=t.fraction??"decimal",n=t.thousands??",";if(r==="round")return Gi(String(Math.round(e)),n);if(r==="truncate")return Gi(String(Math.trunc(e)),n);if(r==="fraction"){let s=t.precision??16,A=Math.floor(e),d=Math.round((e-A)*s);if(d===s&&(A++,d=0),!d)return Gi(String(A),n);let p=t.fixed?1:zw(d,s);return`${A?`${Gi(String(A),n)} `:""}${d/p}/${s/p}`}let i=Math.log10(t.precision??100),[a,o=""]=e.toFixed(i).split(".");return Gi(a,n)+(o?(t.decimal||".")+o:"")}function Vs(e,t){if(!Number.isFinite(e)||!t.length||!t.every($n))throw new g(f.InvalidArg,"Measurement requires a finite value and valid number formats");let r=Math.abs(e),n=[];for(let[i,a]of t.entries()){if(r*=Math.fround(a.conversion),!Number.isFinite(r))throw new g(f.InvalidArg,"Measurement overflow");let o=Math.floor(r),s=r-o,A=i===t.length-1,d=A||s===0,p=A?RE(r,a):Gi(String(o),a.thousands??","),m=a.labelPosition==="prefix",F=a.prefixSpacing??(m&&i===0?"":" "),k=a.suffixSpacing??(!m&&d?"":" "),P=F+a.unit+k;if(n.push(m?P+p:p+P),d)break;r=s}return(e<0?"-":"")+n.join("")}var pn={courier:{family:"Courier",weight:400,italic:!1},"courier-bold":{family:"Courier",weight:700,italic:!1},"courier-bold-oblique":{family:"Courier",weight:700,italic:!0},"courier-oblique":{family:"Courier",weight:400,italic:!0},helvetica:{family:"Helvetica",weight:400,italic:!1},"helvetica-bold":{family:"Helvetica",weight:700,italic:!1},"helvetica-bold-oblique":{family:"Helvetica",weight:700,italic:!0},"helvetica-oblique":{family:"Helvetica",weight:400,italic:!0},"times-roman":{family:"Times",weight:400,italic:!1},"times-bold":{family:"Times",weight:700,italic:!1},"times-bold-italic":{family:"Times",weight:700,italic:!0},"times-italic":{family:"Times",weight:400,italic:!0},symbol:{family:"Symbol",weight:400,italic:!1},"zapf-dingbats":{family:"ZapfDingbats",weight:400,italic:!1}},yr=e=>_r.includes(e);function Gr(e,t){if(yr(e)){let n=pn[e];return{family:n.family,weight:n.weight,italic:n.italic}}let r=t?.(e);return r?{family:r.familyName,weight:r.weight,italic:r.italic}:{family:e}}function ln(e){return e.toLowerCase().replace(/[\s\-_'"]/g,"")}var Zw={helvetica:"Helvetica",arial:"Helvetica",arialmt:"Helvetica",sansserif:"Helvetica",times:"Times",timesroman:"Times",timesnewroman:"Times",timesnewromanpsmt:"Times",serif:"Times",courier:"Courier",couriernew:"Courier",couriernewpsmt:"Courier",monospace:"Courier",symbol:"Symbol",zapfdingbats:"ZapfDingbats",dingbats:"ZapfDingbats"};function Cd(e){return Zw[ln(e)]}function Ys(e,t){let r=t?.(e.family,e.weight,e.italic);if(r!==void 0)return r;let n=Zw[ln(e.family)];if(n){let i=Object.entries(pn),a=e.weight>=600,o=i.find(([,s])=>s.family===n&&s.weight>=600===a&&s.italic===e.italic)??i.find(([,s])=>s.family===n);if(o)return o[0]}return e.family}function tb(e){if(typeof e!="object"||e===null)return!1;let{left:t,bottom:r,right:n,top:i}=e;return[t,r,n,i].every(a=>typeof a=="number"&&Number.isFinite(a))}function Ce(e){return{left:Math.min(e.left,e.right),right:Math.max(e.left,e.right),bottom:Math.min(e.top,e.bottom),top:Math.max(e.top,e.bottom)}}function Ld(e){return{width:e.right-e.left,height:e.top-e.bottom}}function Zs(e){let t=[e.upperLeft.x,e.upperRight.x,e.lowerLeft.x,e.lowerRight.x],r=[e.upperLeft.y,e.upperRight.y,e.lowerLeft.y,e.lowerRight.y];return{left:Math.min(...t),right:Math.max(...t),bottom:Math.min(...r),top:Math.max(...r)}}var Id=1e-6,nb=e=>Number.isFinite(e.x)&&Number.isFinite(e.y);function Jw([e,t,r,n]){if(![e,t,r,n].every(nb))return!1;let i={x:t.x-e.x,y:t.y-e.y},a={x:n.x-r.x,y:n.y-r.y},o={x:r.x-e.x,y:r.y-e.y},s={x:n.x-t.x,y:n.y-t.y},A=[i,a,o,s].map(m=>Math.hypot(m.x,m.y));if(A.some(m=>m<=Id)||i.x*a.x+i.y*a.y<=0||o.x*s.x+o.y*s.y<=0)return!1;let d=i.x*o.y-i.y*o.x,p=a.x*s.y-a.y*s.x;return Math.abs(d)<=Id*A[0]*A[2]||Math.abs(p)<=Id*A[1]*A[3]?!1:Math.sign(d)===Math.sign(p)}function Nd(e){let[t,r,n,i]=e;if(Jw(e))return{upperLeft:t,upperRight:r,lowerLeft:n,lowerRight:i};if(Jw([t,r,i,n]))return{upperLeft:t,upperRight:r,lowerLeft:i,lowerRight:n};let a=e.map(F=>nb(F)?F:{x:0,y:0}),o=a.reduce((F,k)=>F+k.x,0)/4,s=a.reduce((F,k)=>F+k.y,0)/4,A=[...a].sort((F,k)=>Math.atan2(F.y-s,F.x-o)-Math.atan2(k.y-s,k.x-o)),d=0;for(let F=1;F<4;F++)A[F].y+A[(F+1)%4].y>A[d].y+A[(d+1)%4].y&&(d=F);let p=[A[d],A[(d+1)%4]],m=[A[(d+3)%4],A[(d+2)%4]];return p[0].x<=p[1].x?{upperLeft:p[0],upperRight:p[1],lowerLeft:m[0],lowerRight:m[1]}:{upperLeft:p[1],upperRight:p[0],lowerLeft:m[1],lowerRight:m[0]}}function wn(e,t){let r=xi(t);if(r!==null)return Ir(e,r);let n=t*Math.PI/180,i=Math.abs(Math.cos(n)),a=Math.abs(Math.sin(n)),o=e.right-e.left,s=e.top-e.bottom,A=(o*i+s*a)/2,d=(o*a+s*i)/2,p=(e.left+e.right)/2,m=(e.bottom+e.top)/2;return{left:p-A,bottom:m-d,right:p+A,top:m+d}}function xi(e){let t=(e%360+360)%360;return t%90===0?t:null}function Ir(e,t){if(t===0||t===180)return e;let r=(e.left+e.right)/2,n=(e.bottom+e.top)/2,i=(e.top-e.bottom)/2,a=(e.right-e.left)/2;return{left:r-i,bottom:n-a,right:r+i,top:n+a}}function jd(e,t){let r=Math.max(e.left,t.left),n=Math.min(e.right,t.right),i=Math.max(e.bottom,t.bottom),a=Math.min(e.top,t.top);return r({x:(e.left+e.right)/2,y:(e.bottom+e.top)/2});function Js(e,t){return{degrees:t,center:TE(er(e))}}function tr(e,t){return e.replace(/\r\n|\r|\n/g,t)}var Oi={family:"Helvetica",weight:400,italic:!1,size:12,color:"#000000",decoration:[],script:"normal",letterSpacing:0,horizontalScale:1,align:"left",dir:"ltr"};function Cr(e){return tr(e.paragraphs.map(t=>t.runs.map(r=>r.text).join("")).join(` +"use strict";(()=>{var ub=Object.defineProperty;var l_=(e,t,r)=>t in e?ub(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var pb=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var it=(e,t,r)=>()=>{if(r)throw r[0];try{return e&&(t=e(e=0)),t}catch(n){throw r=[n],n}};var Je=(e,t)=>{for(var r in t)ub(e,r,{get:t[r],enumerable:!0})};var Ut=(e,t,r)=>l_(e,typeof t!="symbol"?t+"":t,r);var Fg={};Je(Fg,{default:()=>AC});var sC,AC,vg=it(()=>{"use strict";sC=(()=>{var e=self.location.href;return(function(t={}){var r,n=t,i,a,o=new Promise((u,l)=>{i=u,a=l});["_EPDF_CheckPasswordPermissions","_EPDF_DigestBuffer","_EPDF_FreeBuffer","_EPDF_GetDecodedImageBytes","_EPDF_GetMetaKeyCount","_EPDF_GetMetaKeyName","_EPDF_GetMetaTrapped","_EPDF_GetPageBoxByIndex","_EPDF_GetPageRotateByIndex","_EPDF_GetPageTabOrderByIndex","_EPDF_GetPageUserUnitByIndex","_EPDF_HasMetaText","_EPDF_InitThread","_EPDF_IsEncrypted","_EPDF_IsOwnerUnlocked","_EPDF_LoadBaseDocument","_EPDF_LoadMemBaseDocument","_EPDF_LoadMemBaseDocument64","_EPDF_LoadPageNormalized","_EPDF_PNG_EncodeRGBA","_EPDF_ReleaseBaseDocument","_EPDF_RemoveEncryption","_EPDF_RenderAnnotBitmap","_EPDF_RenderAnnotBitmapUnrotated","_EPDF_RenderPage_Continue","_EPDF_RenderPageBitmapWithMatrix_Start","_EPDF_SaveAsCopyEx","_EPDF_SaveDocumentToOwnedBuffer","_EPDF_SaveDocumentToOwnedBufferEx","_EPDF_SaveDocumentToOwnedBufferWithVersion","_EPDF_SetBaseDocumentSha256","_EPDF_SetDecodedImageBudget","_EPDF_SetEncryption","_EPDF_SetMetaText","_EPDF_SetMetaTrapped","_EPDF_SetRuntimeOwnerPermissions","_EPDF_ShutdownThread","_EPDF_UnlockOwnerPermissions","_EPDFAction_CloseModel","_EPDFAction_CreateGoTo","_EPDFAction_CreateGoToNamed","_EPDFAction_CreateHide","_EPDFAction_CreateJavaScript","_EPDFAction_CreateLaunch","_EPDFAction_CreateNamed","_EPDFAction_CreateRemoteGoToByName","_EPDFAction_CreateRemoteGoToDest","_EPDFAction_CreateResetForm","_EPDFAction_CreateSubmitForm","_EPDFAction_CreateURI","_EPDFAction_GetNextAt","_EPDFAction_GetNextCount","_EPDFAction_GetNodeCount","_EPDFAction_GetNodeDest","_EPDFAction_GetNodeFilePath","_EPDFAction_GetNodeHideFlag","_EPDFAction_GetNodeJavaScript","_EPDFAction_GetNodeName","_EPDFAction_GetNodeResetForm","_EPDFAction_GetNodeSubmitForm","_EPDFAction_GetNodeSubmitFormCharSet","_EPDFAction_GetNodeSubmitFormURL","_EPDFAction_GetNodeSubtype","_EPDFAction_GetNodeTargetCount","_EPDFAction_GetNodeTargetName","_EPDFAction_GetNodeTargetObjectNumber","_EPDFAction_GetNodeType","_EPDFAction_GetNodeURI","_EPDFAction_GetNodeURIIsMap","_EPDFAction_GetRootNode","_EPDFAction_GetWarningFlags","_EPDFAction_IsComplete","_EPDFAction_LoadModel","_EPDFAction_NodeHasJavaScript","_EPDFAction_SetNext","_EPDFAnnot_AddMeasure","_EPDFAnnot_ClearBorderEffect","_EPDFAnnot_ClearColor","_EPDFAnnot_ClearEmbedMetadata","_EPDFAnnot_ClearEmbedMetadataKey","_EPDFAnnot_ClearMKColor","_EPDFAnnot_ClearRectangleDifferences","_EPDFAnnot_ExportAppearance","_EPDFAnnot_GenerateAppearance","_EPDFAnnot_GenerateAppearanceWithBlend","_EPDFAnnot_GenerateFormFieldAP","_EPDFAnnot_GetActionModel","_EPDFAnnot_GetAPMatrix","_EPDFAnnot_GetAppearanceState","_EPDFAnnot_GetAppearanceStateCount","_EPDFAnnot_GetAppearanceStateName","_EPDFAnnot_GetAppearanceTransform","_EPDFAnnot_GetAvailableAppearanceModes","_EPDFAnnot_GetBlendMode","_EPDFAnnot_GetBooleanValue","_EPDFAnnot_GetBorderDashPattern","_EPDFAnnot_GetBorderDashPatternCount","_EPDFAnnot_GetBorderEffect","_EPDFAnnot_GetBorderStyle","_EPDFAnnot_GetCalloutLine","_EPDFAnnot_GetCalloutLineCount","_EPDFAnnot_GetColor","_EPDFAnnot_GetDefaultAppearance","_EPDFAnnot_GetDefaultAppearanceFontFace","_EPDFAnnot_GetDefaultAppearanceFontPostScriptName","_EPDFAnnot_GetDrawingRect","_EPDFAnnot_GetEmbedMetadataBoolean","_EPDFAnnot_GetEmbedMetadataJSON","_EPDFAnnot_GetEmbedMetadataNumber","_EPDFAnnot_GetEmbedMetadataRect","_EPDFAnnot_GetEmbedMetadataString","_EPDFAnnot_GetFileAttachmentForWrite","_EPDFAnnot_GetIntent","_EPDFAnnot_GetLineCaption","_EPDFAnnot_GetLineEndings","_EPDFAnnot_GetLineLeader","_EPDFAnnot_GetMeasure","_EPDFAnnot_GetMKColor","_EPDFAnnot_GetMKRotation","_EPDFAnnot_GetMKText","_EPDFAnnot_GetMKTextPosition","_EPDFAnnot_GetName","_EPDFAnnot_GetObjectNumber","_EPDFAnnot_GetOpacity","_EPDFAnnot_GetOverlayText","_EPDFAnnot_GetOverlayTextRepeat","_EPDFAnnot_GetRect","_EPDFAnnot_GetRectangleDifferences","_EPDFAnnot_GetReplyType","_EPDFAnnot_GetRichContent","_EPDFAnnot_GetRichTextJSON","_EPDFAnnot_GetRotate","_EPDFAnnot_GetShapeCaption","_EPDFAnnot_GetStampDrawing","_EPDFAnnot_GetStructurePosition","_EPDFAnnot_GetTextAlignment","_EPDFAnnot_HasAppearanceStream","_EPDFAnnot_HasEmbedMetadata","_EPDFAnnot_IsValid","_EPDFAnnot_RemoveAction","_EPDFAnnot_RemoveDest","_EPDFAnnot_RemoveKey","_EPDFAnnot_RemoveMeasure","_EPDFAnnot_SetAction","_EPDFAnnot_SetAPMatrix","_EPDFAnnot_SetAppearanceFromPage","_EPDFAnnot_SetBooleanValue","_EPDFAnnot_SetBorderDashPattern","_EPDFAnnot_SetBorderEffect","_EPDFAnnot_SetBorderStyle","_EPDFAnnot_SetCalloutLine","_EPDFAnnot_SetColor","_EPDFAnnot_SetDefaultAppearance","_EPDFAnnot_SetDefaultAppearanceDocumentFont","_EPDFAnnot_SetDefaultAppearanceRegisteredFont","_EPDFAnnot_SetEmbedMetadataBoolean","_EPDFAnnot_SetEmbedMetadataJSON","_EPDFAnnot_SetEmbedMetadataNumber","_EPDFAnnot_SetEmbedMetadataRect","_EPDFAnnot_SetEmbedMetadataString","_EPDFAnnot_SetEventAction","_EPDFAnnot_SetIntent","_EPDFAnnot_SetLine","_EPDFAnnot_SetLineCaption","_EPDFAnnot_SetLineEndings","_EPDFAnnot_SetLineLeader","_EPDFAnnot_SetLinkedAnnot","_EPDFAnnot_SetMKColor","_EPDFAnnot_SetMKRotation","_EPDFAnnot_SetMKText","_EPDFAnnot_SetMKTextPosition","_EPDFAnnot_SetName","_EPDFAnnot_SetNoColor","_EPDFAnnot_SetNumberValue","_EPDFAnnot_SetOpacity","_EPDFAnnot_SetOverlayText","_EPDFAnnot_SetOverlayTextRepeat","_EPDFAnnot_SetRect","_EPDFAnnot_SetReplyType","_EPDFAnnot_SetRichTextJSON","_EPDFAnnot_SetRichTextXHTML","_EPDFAnnot_SetRotate","_EPDFAnnot_SetShapeCaption","_EPDFAnnot_SetStampDrawing","_EPDFAnnot_SetStampOpacity","_EPDFAnnot_SetSubtype","_EPDFAnnot_SetTextAlignment","_EPDFAnnot_SetVertices","_EPDFAnnot_UpdateAppearanceToRect","_EPDFAttachment_ExportCanonicalToOwnedBuffer","_EPDFAttachment_ExportRawToOwnedBuffer","_EPDFAttachment_ExtractFile","_EPDFAttachment_ExtractFileToOwnedBuffer","_EPDFAttachment_GetDescription","_EPDFAttachment_GetIntegerValue","_EPDFAttachment_ImportRaw","_EPDFAttachment_SetDescription","_EPDFAttachment_SetName","_EPDFAttachment_SetSubtype","_EPDFCatalog_GetLanguage","_EPDFCatalog_GetMetadata","_EPDFCatalog_SetMetadata","_EPDFDest_CreateRemoteView","_EPDFDest_CreateRemoteXYZ","_EPDFDest_CreateView","_EPDFDest_CreateViewByObjectNumber","_EPDFDest_CreateXYZ","_EPDFDest_CreateXYZByObjectNumber","_EPDFDest_GetPageObjectNumber","_EPDFDest_GetViewNullParams","_EPDFDoc_CanonicalDrawing","_EPDFDoc_ClearMissingCharacters","_EPDFDoc_ClearPagePieceInfoEntry","_EPDFDoc_ClearPagePieceInfoKey","_EPDFDoc_ClearPieceInfoEntry","_EPDFDoc_ClearPieceInfoKey","_EPDFDoc_CompareRevisions","_EPDFDoc_CountMissingCharacters","_EPDFDoc_DeletePageByObjectNumber","_EPDFDoc_ExportDictCanonicalToOwnedBuffer","_EPDFDoc_ExportDictRawToOwnedBuffer","_EPDFDoc_ExportDrawing","_EPDFDoc_ExportPagesFlattened","_EPDFDoc_GetAdditionalActionModel","_EPDFDoc_GetAttachmentIndexByKey","_EPDFDoc_GetAttachmentKey","_EPDFDoc_GetBaseBytesSize","_EPDFDoc_GetFontDisplayProgramCoverage","_EPDFDoc_GetFontDisplayProgramData","_EPDFDoc_GetFontEmbeddingPolicy","_EPDFDoc_GetFontProgramData","_EPDFDoc_GetFontsFingerprint","_EPDFDoc_GetImportFieldRoots","_EPDFDoc_GetLastModified","_EPDFDoc_GetLoadedBytesSize","_EPDFDoc_GetMissingCharacter","_EPDFDoc_GetNamedJavaScriptActionModel","_EPDFDoc_GetNamedPageAt","_EPDFDoc_GetNamedPageCount","_EPDFDoc_GetOpenActionDest","_EPDFDoc_GetOpenActionModel","_EPDFDoc_GetPageActionModel","_EPDFDoc_GetPageLabelSectionAt","_EPDFDoc_GetPageLabelSectionCount","_EPDFDoc_GetPageLastModified","_EPDFDoc_GetPageObjectNumberByIndex","_EPDFDoc_GetPagePieceInfoBoolean","_EPDFDoc_GetPagePieceInfoEntryAt","_EPDFDoc_GetPagePieceInfoEntryCount","_EPDFDoc_GetPagePieceInfoKeyAt","_EPDFDoc_GetPagePieceInfoKeyCount","_EPDFDoc_GetPagePieceInfoLastModified","_EPDFDoc_GetPagePieceInfoName","_EPDFDoc_GetPagePieceInfoNumber","_EPDFDoc_GetPagePieceInfoString","_EPDFDoc_GetPagePieceInfoStringArrayAt","_EPDFDoc_GetPagePieceInfoStringArrayCount","_EPDFDoc_GetPagePieceInfoValueType","_EPDFDoc_GetPieceInfoBoolean","_EPDFDoc_GetPieceInfoEntryAt","_EPDFDoc_GetPieceInfoEntryCount","_EPDFDoc_GetPieceInfoKeyAt","_EPDFDoc_GetPieceInfoKeyCount","_EPDFDoc_GetPieceInfoLastModified","_EPDFDoc_GetPieceInfoName","_EPDFDoc_GetPieceInfoNumber","_EPDFDoc_GetPieceInfoString","_EPDFDoc_GetPieceInfoStringArrayAt","_EPDFDoc_GetPieceInfoStringArrayCount","_EPDFDoc_GetPieceInfoValueType","_EPDFDoc_GetRevision","_EPDFDoc_GetRevisionCount","_EPDFDoc_GetStampDrawings","_EPDFDoc_GetStructureObjectNumbers","_EPDFDoc_GetTypographicFeatures","_EPDFDoc_HasPagePieceInfoEntry","_EPDFDoc_HasPieceInfoEntry","_EPDFDoc_ImportDictRaw","_EPDFDoc_ImportDrawing","_EPDFDoc_ImportPages","_EPDFDoc_LoadPageByObjectNumber","_EPDFDoc_LoadPageByObjectNumberNormalized","_EPDFDoc_OpenBaseOverlay","_EPDFDoc_OpenBaseOverlayFromPath","_EPDFDoc_OpenRevision","_EPDFDoc_ReadLoadedBytes","_EPDFDoc_RemoveNamedPage","_EPDFDoc_RemoveNamedPagesForPage","_EPDFDoc_ResolveFonts","_EPDFDoc_SetFontEmbeddingPolicy","_EPDFDoc_SetNamedPage","_EPDFDoc_SetPageLabelSections","_EPDFDoc_SetPagePieceInfoBoolean","_EPDFDoc_SetPagePieceInfoName","_EPDFDoc_SetPagePieceInfoNumber","_EPDFDoc_SetPagePieceInfoString","_EPDFDoc_SetPagePieceInfoStringArray","_EPDFDoc_SetPageRotationByObjectNumber","_EPDFDoc_SetPieceInfoBoolean","_EPDFDoc_SetPieceInfoName","_EPDFDoc_SetPieceInfoNumber","_EPDFDoc_SetPieceInfoString","_EPDFDoc_SetPieceInfoStringArray","_EPDFDoc_SetTypographicFeatures","_EPDFDoc_StartLoadPageByObjectNumber","_EPDFDocument_ClearEmbedMetadata","_EPDFFont_AddFallbackFont","_EPDFFont_AuthorizeEditing","_EPDFFont_ClearFallbackFonts","_EPDFFont_ClearRegisteredFonts","_EPDFFont_GetCoverage","_EPDFFont_GetEmbeddingPermission","_EPDFFont_GetFallbackOrder","_EPDFFont_GetFamilyName","_EPDFFont_GetLastResortFont","_EPDFFont_GetMetrics","_EPDFFont_GetPostScriptName","_EPDFFont_GetProgramData","_EPDFFont_GetProgramFormat","_EPDFFont_GetProgramHash","_EPDFFont_GetWeight","_EPDFFont_IsEditingAuthorized","_EPDFFont_IsInstanced","_EPDFFont_IsItalic","_EPDFFont_RegisterFont","_EPDFFont_RegisterMemFont","_EPDFFont_RegisterMemFont64","_EPDFFont_SetLastResortFont","_EPDFFontFaces_Close","_EPDFFontFaces_Count","_EPDFFontFaces_CountPrograms","_EPDFFontFaces_GetFamily","_EPDFFontFaces_GetProgramDisplayHash","_EPDFFontFaces_GetProgramEmbedded","_EPDFFontFaces_GetProgramEmbeddingPermission","_EPDFFontFaces_GetProgramFormat","_EPDFFontFaces_GetProgramHash","_EPDFFontFaces_GetProgramMetrics","_EPDFFontFaces_GetProgramObjNum","_EPDFFontFaces_GetProgramPostScriptName","_EPDFFontFaces_GetWeight","_EPDFFontFaces_IsItalic","_EPDFFontFaces_Load","_EPDFFontFaces_ProgramMapsUnicode","_EPDFFontResolution_Close","_EPDFFontResolution_CountMissingCharacters","_EPDFFontResolution_GetBaseFontName","_EPDFFontResolution_GetFallbacks","_EPDFFontResolution_GetFamily","_EPDFFontResolution_GetMissingCharacter","_EPDFFontResolution_GetProgramDisplayHash","_EPDFFontResolution_GetProgramObjNum","_EPDFFontResolution_GetRegisteredFont","_EPDFFontResolution_GetSource","_EPDFFontResolution_GetWeight","_EPDFFontResolution_IsDegraded","_EPDFFontResolution_IsItalic","_EPDFForm_AttachWidget","_EPDFForm_ClearFieldEmbedMetadata","_EPDFForm_ClearFieldEmbedMetadataKey","_EPDFForm_CloseModel","_EPDFForm_CountCalculationOrder","_EPDFForm_CountFieldDefaultValues","_EPDFForm_CountFieldOptions","_EPDFForm_CountFields","_EPDFForm_CountFieldValues","_EPDFForm_CountFieldWidgets","_EPDFForm_CreateField","_EPDFForm_DeleteField","_EPDFForm_DetachWidget","_EPDFForm_ExportFDF","_EPDFForm_ExportFieldRawToOwnedBuffer","_EPDFForm_ExportXFDF","_EPDFForm_GetCalculationOrderFieldIndex","_EPDFForm_GetFieldActionModel","_EPDFForm_GetFieldAlternateName","_EPDFForm_GetFieldDefaultValueAt","_EPDFForm_GetFieldDefaultValueKind","_EPDFForm_GetFieldEmbedMetadataBoolean","_EPDFForm_GetFieldEmbedMetadataJSON","_EPDFForm_GetFieldEmbedMetadataNumber","_EPDFForm_GetFieldEmbedMetadataString","_EPDFForm_GetFieldFamily","_EPDFForm_GetFieldFlags","_EPDFForm_GetFieldIndexByObjNum","_EPDFForm_GetFieldIndexForWidget","_EPDFForm_GetFieldMappingName","_EPDFForm_GetFieldMaxLen","_EPDFForm_GetFieldName","_EPDFForm_GetFieldObjNum","_EPDFForm_GetFieldOptionLabel","_EPDFForm_GetFieldOptionValue","_EPDFForm_GetFieldOrigin","_EPDFForm_GetFieldPartialName","_EPDFForm_GetFieldTopIndex","_EPDFForm_GetFieldValueAt","_EPDFForm_GetFieldValueKind","_EPDFForm_GetFieldWidgetExportValue","_EPDFForm_GetFieldWidgetObjNum","_EPDFForm_GetFieldWidgetOnState","_EPDFForm_GetFieldWidgetPageObjNum","_EPDFForm_GetFieldWidgetRect","_EPDFForm_GetFormKind","_EPDFForm_GetNeedAppearances","_EPDFForm_HasFieldEmbedMetadata","_EPDFForm_ImportFieldRaw","_EPDFForm_IsFieldOptionSelected","_EPDFForm_IsFieldWidgetChecked","_EPDFForm_LoadModel","_EPDFForm_RedrawFieldWidgets","_EPDFForm_Repair","_EPDFForm_SetCalculationOrder","_EPDFForm_SetFieldAlternateName","_EPDFForm_SetFieldAppearanceText","_EPDFForm_SetFieldDefaultValue","_EPDFForm_SetFieldDisplay","_EPDFForm_SetFieldEmbedMetadataBoolean","_EPDFForm_SetFieldEmbedMetadataJSON","_EPDFForm_SetFieldEmbedMetadataNumber","_EPDFForm_SetFieldEmbedMetadataString","_EPDFForm_SetFieldEventAction","_EPDFForm_SetFieldFlags","_EPDFForm_SetFieldMappingName","_EPDFForm_SetFieldMaxLen","_EPDFForm_SetFieldName","_EPDFForm_SetFieldOptions","_EPDFForm_SetFieldSelectedIndices","_EPDFForm_SetFieldValue","_EPDFForm_SetFieldWidgetsChecked","_EPDFImageObj_SetJpeg","_EPDFImageObj_SetPng","_EPDFLayer_AbortTransaction","_EPDFLayer_BeginTransaction","_EPDFLayer_CommitTransaction","_EPDFLayer_GetBaseDocument","_EPDFLayer_GetBaseSha256","_EPDFLayer_GetBirthName","_EPDFLayer_GetBirthObjectNumber","_EPDFLayer_GetLastObjectNumber","_EPDFLayer_GetPromotedObjectCount","_EPDFLayer_IsInTransaction","_EPDFLayer_IsObjectPromoted","_EPDFLayer_IsPagePromoted","_EPDFLayer_OpenLayer","_EPDFLayer_OpenLayerArtifact","_EPDFLayer_OpenLayerArtifactFromPath","_EPDFLayer_RaiseLastObjectNumber","_EPDFLayer_SaveDelta","_EPDFLayer_SaveDeltaEx","_EPDFLayer_SaveDeltaToOwnedBuffer","_EPDFLayer_SaveDeltaToOwnedBufferEx","_EPDFLayer_SaveLayerArtifact","_EPDFLayer_SaveLayerArtifactEx","_EPDFLayer_SaveLayerArtifactToOwnedBuffer","_EPDFLayer_SaveLayerArtifactToOwnedBufferEx","_EPDFMeasure_AddFormat","_EPDFMeasure_CountFormats","_EPDFMeasure_GetCYX","_EPDFMeasure_GetFormat","_EPDFMeasure_GetOrigin","_EPDFMeasure_GetRatio","_EPDFMeasure_GetSubtype","_EPDFMeasure_RemoveFormats","_EPDFMeasure_SetCYX","_EPDFMeasure_SetOrigin","_EPDFMeasure_SetRatio","_EPDFNamedDest_Remove","_EPDFNamedDest_SetDest","_EPDFNumberFormat_GetConversion","_EPDFNumberFormat_GetFixedDenominator","_EPDFNumberFormat_GetFraction","_EPDFNumberFormat_GetLabelPosition","_EPDFNumberFormat_GetPrecision","_EPDFNumberFormat_GetText","_EPDFNumberFormat_GetUnit","_EPDFNumberFormat_SetConversion","_EPDFNumberFormat_SetFixedDenominator","_EPDFNumberFormat_SetFraction","_EPDFNumberFormat_SetLabelPosition","_EPDFNumberFormat_SetPrecision","_EPDFNumberFormat_SetText","_EPDFNumberFormat_SetUnit","_EPDFObjectDiff_Close","_EPDFObjectDiff_GetCount","_EPDFObjectDiff_GetEntry","_EPDFObjectDiff_GetReadStatus","_EPDFObjectDiff_GetReferrer","_EPDFObjectDiff_GetReferrerCount","_EPDFObjectDiff_GetRevisionHealth","_EPDFObjectDiff_GetValue","_EPDFOutline_CreateItem","_EPDFOutline_DeleteItem","_EPDFOutline_ExportItemRawToOwnedBuffer","_EPDFOutline_GetItem","_EPDFOutline_GetObjectNumber","_EPDFOutline_ImportItemRaw","_EPDFOutline_MoveItem","_EPDFOutline_SetAction","_EPDFOutline_SetColor","_EPDFOutline_SetOpen","_EPDFOutline_SetStyle","_EPDFOutline_SetTitle","_EPDFPage_AddViewport","_EPDFPage_AddViewportRaw","_EPDFPage_ApplyRedactions","_EPDFPage_ContinueLoad","_EPDFPage_CountViewports","_EPDFPage_CountViewportsRaw","_EPDFPage_CreateAnnot","_EPDFPage_CreateAnnotRaw","_EPDFPage_ExportAnnotationsAsDocument","_EPDFPage_ExportAnnotsRawToOwnedBuffer","_EPDFPage_ExportRawToOwnedBuffer","_EPDFPage_FindViewport","_EPDFPage_Flatten","_EPDFPage_FlattenAnnotations","_EPDFPage_GetAnnotByName","_EPDFPage_GetAnnotByObjectNumber","_EPDFPage_GetAnnotCountRaw","_EPDFPage_GetAnnotIndexByNameRaw","_EPDFPage_GetAnnotIndexByObjectNumberRaw","_EPDFPage_GetAnnotRaw","_EPDFPage_GetObjectNumber","_EPDFPage_GetParsedSize","_EPDFPage_GetViewport","_EPDFPage_GetViewportRaw","_EPDFPage_ImportAnnotsRaw","_EPDFPage_ImportRaw","_EPDFPage_InsertBlankRaw","_EPDFPage_IsContentCurrent","_EPDFPage_IsValid","_EPDFPage_MoveAnnots","_EPDFPage_MoveAnnotsRaw","_EPDFPage_PromoteInlineAnnotsRaw","_EPDFPage_RemoveAnnot","_EPDFPage_RemoveAnnotByName","_EPDFPage_RemoveAnnotByObjectNumber","_EPDFPage_RemoveAnnotRaw","_EPDFPage_RemoveViewport","_EPDFPage_RemoveViewportRaw","_EPDFPage_ResetRenderCache","_EPDFSig_CloseModel","_EPDFSig_Count","_EPDFSig_DigestByteRange","_EPDFSig_DigestFileRange","_EPDFSig_GetByteRange","_EPDFSig_GetContents","_EPDFSig_GetCoverage","_EPDFSig_GetDocMDPPermission","_EPDFSig_GetFieldMDPAction","_EPDFSig_GetFieldName","_EPDFSig_GetFieldNameAt","_EPDFSig_GetFieldNameCount","_EPDFSig_GetFieldObjNum","_EPDFSig_GetIndexByFieldObjNum","_EPDFSig_GetKind","_EPDFSig_GetLockAction","_EPDFSig_GetLockPermission","_EPDFSig_GetRevisionIndex","_EPDFSig_GetSeedValueFilter","_EPDFSig_GetSeedValueListAt","_EPDFSig_GetSeedValueListCount","_EPDFSig_GetSeedValueMDP","_EPDFSig_GetSeedValuePresentFlags","_EPDFSig_GetSeedValueRequiredFlags","_EPDFSig_GetSeedValueVersion","_EPDFSig_GetString","_EPDFSig_GetValueObjNum","_EPDFSig_GetWidgetObjNum","_EPDFSig_GetWidgetPageObjNum","_EPDFSig_HasSeedValue","_EPDFSig_IsCatalogCertification","_EPDFSig_IsRevisionChainValid","_EPDFSig_IsSigned","_EPDFSig_LoadModel","_EPDFSig_Prepare","_EPDFSig_SaveCandidate","_EPDFSig_SaveCandidateToOwnedBuffer","_EPDFSig_Seal","_EPDFSig_SealSpan","_EPDFSig_SetFieldLock","_EPDFSig_WriteContents","_EPDFText_GetCharGeometry","_EPDFText_GetCharToTextMap","_EPDFText_GetTextFull","_EPDFText_RedactInQuads","_EPDFText_RedactInRect","_EPDFViewport_AddMeasure","_EPDFViewport_Close","_EPDFViewport_GetBBox","_EPDFViewport_GetMeasure","_EPDFViewport_GetName","_EPDFViewport_RemoveMeasure","_EPDFViewport_SetBBox","_EPDFViewport_SetName","_FORM_CanRedo","_FORM_CanUndo","_FORM_DoDocumentAAction","_FORM_DoDocumentJSAction","_FORM_DoDocumentOpenAction","_FORM_DoPageAAction","_FORM_ForceToKillFocus","_FORM_GetFocusedAnnot","_FORM_GetFocusedText","_FORM_GetSelectedText","_FORM_GetTextDirection","_FORM_IsIndexSelected","_FORM_OnAfterLoadPage","_FORM_OnBeforeClosePage","_FORM_OnChar","_FORM_OnFocus","_FORM_OnKeyDown","_FORM_OnKeyUp","_FORM_OnLButtonDoubleClick","_FORM_OnLButtonDown","_FORM_OnLButtonUp","_FORM_OnMouseMove","_FORM_OnMouseWheel","_FORM_OnRButtonDown","_FORM_OnRButtonUp","_FORM_Redo","_FORM_ReplaceAndKeepSelection","_FORM_ReplaceSelection","_FORM_SelectAllText","_FORM_SetFocusedAnnot","_FORM_SetIndexSelected","_FORM_SetTextDirection","_FORM_Undo","_FPDF_AddInstalledFont","_FPDF_CloseDocument","_FPDF_ClosePage","_FPDF_CloseXObject","_FPDF_CopyViewerPreferences","_FPDF_CountNamedDests","_FPDF_CreateClipPath","_FPDF_CreateNewDocument","_FPDF_DestroyClipPath","_FPDF_DestroyLibrary","_FPDF_DeviceToPage","_FPDF_DocumentHasValidCrossReferenceTable","_FPDF_FFLDraw","_FPDF_FreeDefaultSystemFontInfo","_FPDF_GetDefaultSystemFontInfo","_FPDF_GetDefaultTTFMap","_FPDF_GetDefaultTTFMapCount","_FPDF_GetDefaultTTFMapEntry","_FPDF_GetDocPermissions","_FPDF_GetDocUserPermissions","_FPDF_GetFileIdentifier","_FPDF_GetFileVersion","_FPDF_GetFormType","_FPDF_GetLastError","_FPDF_GetMetaText","_FPDF_GetNamedDest","_FPDF_GetNamedDestByName","_FPDF_GetPageAAction","_FPDF_GetPageBoundingBox","_FPDF_GetPageCount","_FPDF_GetPageHeight","_FPDF_GetPageHeightF","_FPDF_GetPageLabel","_FPDF_GetPageSizeByIndex","_FPDF_GetPageSizeByIndexF","_FPDF_GetPageWidth","_FPDF_GetPageWidthF","_FPDF_GetSecurityHandlerRevision","_FPDF_GetSignatureCount","_FPDF_GetSignatureObject","_FPDF_GetTrailerEnds","_FPDF_GetXFAPacketContent","_FPDF_GetXFAPacketCount","_FPDF_GetXFAPacketName","_FPDF_ImportNPagesToOne","_FPDF_ImportPages","_FPDF_ImportPagesByIndex","_FPDF_InitLibrary","_FPDF_InitLibraryWithConfig","_FPDF_LoadCustomDocument","_FPDF_LoadDocument","_FPDF_LoadMemDocument","_FPDF_LoadMemDocument64","_FPDF_LoadPage","_FPDF_LoadXFA","_FPDF_MovePages","_FPDF_NewFormObjectFromXObject","_FPDF_NewXObjectFromPage","_FPDF_PageToDevice","_FPDF_RemoveFormFieldHighlight","_FPDF_RenderPage_Close","_FPDF_RenderPage_Continue","_FPDF_RenderPageBitmap","_FPDF_RenderPageBitmap_Start","_FPDF_RenderPageBitmapWithColorScheme_Start","_FPDF_RenderPageBitmapWithMatrix","_FPDF_SaveAsCopy","_FPDF_SaveWithVersion","_FPDF_SetFormFieldHighlightAlpha","_FPDF_SetFormFieldHighlightColor","_FPDF_SetSandBoxPolicy","_FPDF_SetSystemFontInfo","_FPDF_StructElement_Attr_CountChildren","_FPDF_StructElement_Attr_GetBlobValue","_FPDF_StructElement_Attr_GetBooleanValue","_FPDF_StructElement_Attr_GetChildAtIndex","_FPDF_StructElement_Attr_GetCount","_FPDF_StructElement_Attr_GetName","_FPDF_StructElement_Attr_GetNumberValue","_FPDF_StructElement_Attr_GetStringValue","_FPDF_StructElement_Attr_GetType","_FPDF_StructElement_Attr_GetValue","_FPDF_StructElement_CountChildren","_FPDF_StructElement_GetActualText","_FPDF_StructElement_GetAltText","_FPDF_StructElement_GetAttributeAtIndex","_FPDF_StructElement_GetAttributeCount","_FPDF_StructElement_GetChildAtIndex","_FPDF_StructElement_GetChildMarkedContentID","_FPDF_StructElement_GetExpansion","_FPDF_StructElement_GetID","_FPDF_StructElement_GetLang","_FPDF_StructElement_GetMarkedContentID","_FPDF_StructElement_GetMarkedContentIdAtIndex","_FPDF_StructElement_GetMarkedContentIdCount","_FPDF_StructElement_GetObjType","_FPDF_StructElement_GetParent","_FPDF_StructElement_GetRawType","_FPDF_StructElement_GetStringAttribute","_FPDF_StructElement_GetTitle","_FPDF_StructElement_GetType","_FPDF_StructTree_Close","_FPDF_StructTree_CountChildren","_FPDF_StructTree_GetChildAtIndex","_FPDF_StructTree_GetForPage","_FPDF_VIEWERREF_GetDuplex","_FPDF_VIEWERREF_GetName","_FPDF_VIEWERREF_GetNumCopies","_FPDF_VIEWERREF_GetPrintPageRange","_FPDF_VIEWERREF_GetPrintPageRangeCount","_FPDF_VIEWERREF_GetPrintPageRangeElement","_FPDF_VIEWERREF_GetPrintScaling","_FPDFAction_GetDest","_FPDFAction_GetFilePath","_FPDFAction_GetType","_FPDFAction_GetURIPath","_FPDFAnnot_AddFileAttachment","_FPDFAnnot_AddInkStroke","_FPDFAnnot_AppendAttachmentPoints","_FPDFAnnot_AppendObject","_FPDFAnnot_CountAttachmentPoints","_FPDFAnnot_GetAP","_FPDFAnnot_GetAttachmentPoints","_FPDFAnnot_GetBorder","_FPDFAnnot_GetColor","_FPDFAnnot_GetFileAttachment","_FPDFAnnot_GetFlags","_FPDFAnnot_GetFocusableSubtypes","_FPDFAnnot_GetFocusableSubtypesCount","_FPDFAnnot_GetFontColor","_FPDFAnnot_GetFontSize","_FPDFAnnot_GetFormAdditionalActionJavaScript","_FPDFAnnot_GetFormControlCount","_FPDFAnnot_GetFormControlIndex","_FPDFAnnot_GetFormFieldAlternateName","_FPDFAnnot_GetFormFieldAtPoint","_FPDFAnnot_GetFormFieldExportValue","_FPDFAnnot_GetFormFieldFlags","_FPDFAnnot_GetFormFieldName","_FPDFAnnot_GetFormFieldType","_FPDFAnnot_GetFormFieldValue","_FPDFAnnot_GetInkListCount","_FPDFAnnot_GetInkListPath","_FPDFAnnot_GetLine","_FPDFAnnot_GetLink","_FPDFAnnot_GetLinkedAnnot","_FPDFAnnot_GetNumberValue","_FPDFAnnot_GetObject","_FPDFAnnot_GetObjectCount","_FPDFAnnot_GetOptionCount","_FPDFAnnot_GetOptionLabel","_FPDFAnnot_GetRect","_FPDFAnnot_GetStringValue","_FPDFAnnot_GetSubtype","_FPDFAnnot_GetValueType","_FPDFAnnot_GetVertices","_FPDFAnnot_HasAttachmentPoints","_FPDFAnnot_HasKey","_FPDFAnnot_IsChecked","_FPDFAnnot_IsObjectSupportedSubtype","_FPDFAnnot_IsOptionSelected","_FPDFAnnot_IsSupportedSubtype","_FPDFAnnot_RemoveInkList","_FPDFAnnot_RemoveObject","_FPDFAnnot_SetAP","_FPDFAnnot_SetAttachmentPoints","_FPDFAnnot_SetBorder","_FPDFAnnot_SetColor","_FPDFAnnot_SetFlags","_FPDFAnnot_SetFocusableSubtypes","_FPDFAnnot_SetFontColor","_FPDFAnnot_SetFormFieldFlags","_FPDFAnnot_SetRect","_FPDFAnnot_SetStringValue","_FPDFAnnot_SetURI","_FPDFAnnot_UpdateObject","_FPDFAttachment_GetAFRelationship","_FPDFAttachment_GetDescription","_FPDFAttachment_GetFile","_FPDFAttachment_GetName","_FPDFAttachment_GetStringValue","_FPDFAttachment_GetSubtype","_FPDFAttachment_GetValueType","_FPDFAttachment_HasKey","_FPDFAttachment_SetDescription","_FPDFAttachment_SetFile","_FPDFAttachment_SetStringValue","_FPDFAvail_Create","_FPDFAvail_Destroy","_FPDFAvail_GetDocument","_FPDFAvail_GetFirstPageNum","_FPDFAvail_IsDocAvail","_FPDFAvail_IsFormAvail","_FPDFAvail_IsLinearized","_FPDFAvail_IsPageAvail","_FPDFBitmap_Create","_FPDFBitmap_CreateEx","_FPDFBitmap_Destroy","_FPDFBitmap_FillRect","_FPDFBitmap_GetBuffer","_FPDFBitmap_GetFormat","_FPDFBitmap_GetHeight","_FPDFBitmap_GetStride","_FPDFBitmap_GetWidth","_FPDFBookmark_Find","_FPDFBookmark_GetAction","_FPDFBookmark_GetColor","_FPDFBookmark_GetCount","_FPDFBookmark_GetDest","_FPDFBookmark_GetFirstChild","_FPDFBookmark_GetNextSibling","_FPDFBookmark_GetStyle","_FPDFBookmark_GetTitle","_FPDFCatalog_GetLanguage","_FPDFCatalog_IsTagged","_FPDFCatalog_SetLanguage","_FPDFClipPath_CountPaths","_FPDFClipPath_CountPathSegments","_FPDFClipPath_GetPathSegment","_FPDFDest_GetDestPageIndex","_FPDFDest_GetLocationInPage","_FPDFDest_GetView","_FPDFDoc_AddAttachment","_FPDFDoc_CloseJavaScriptAction","_FPDFDoc_DeleteAttachment","_FPDFDOC_ExitFormFillEnvironment","_FPDFDoc_GetAttachment","_FPDFDoc_GetAttachmentCount","_FPDFDoc_GetJavaScriptAction","_FPDFDoc_GetJavaScriptActionCount","_FPDFDoc_GetPageMode","_FPDFDOC_InitFormFillEnvironment","_FPDFFont_Close","_FPDFFont_GetAscent","_FPDFFont_GetBaseFontName","_FPDFFont_GetDescent","_FPDFFont_GetFamilyName","_FPDFFont_GetFlags","_FPDFFont_GetFontData","_FPDFFont_GetGlyphPath","_FPDFFont_GetGlyphWidth","_FPDFFont_GetIsEmbedded","_FPDFFont_GetItalicAngle","_FPDFFont_GetWeight","_FPDFFormObj_CountObjects","_FPDFFormObj_GetObject","_FPDFFormObj_RemoveObject","_FPDFGlyphPath_CountGlyphSegments","_FPDFGlyphPath_GetGlyphPathSegment","_FPDFImageObj_GetBitmap","_FPDFImageObj_GetIccProfileDataDecoded","_FPDFImageObj_GetImageDataDecoded","_FPDFImageObj_GetImageDataRaw","_FPDFImageObj_GetImageFilter","_FPDFImageObj_GetImageFilterCount","_FPDFImageObj_GetImageMetadata","_FPDFImageObj_GetImagePixelSize","_FPDFImageObj_GetRenderedBitmap","_FPDFImageObj_LoadJpegFile","_FPDFImageObj_LoadJpegFileInline","_FPDFImageObj_SetBitmap","_FPDFImageObj_SetMatrix","_FPDFJavaScriptAction_GetName","_FPDFJavaScriptAction_GetScript","_FPDFLink_CloseWebLinks","_FPDFLink_CountQuadPoints","_FPDFLink_CountRects","_FPDFLink_CountWebLinks","_FPDFLink_Enumerate","_FPDFLink_GetAction","_FPDFLink_GetAnnot","_FPDFLink_GetAnnotRect","_FPDFLink_GetDest","_FPDFLink_GetLinkAtPoint","_FPDFLink_GetLinkZOrderAtPoint","_FPDFLink_GetQuadPoints","_FPDFLink_GetRect","_FPDFLink_GetTextRange","_FPDFLink_GetURL","_FPDFLink_LoadWebLinks","_FPDFPage_CloseAnnot","_FPDFPage_CountObjects","_FPDFPage_CreateAnnot","_FPDFPage_Delete","_FPDFPage_Flatten","_FPDFPage_FormFieldZOrderAtPoint","_FPDFPage_GenerateContent","_FPDFPage_GetAnnot","_FPDFPage_GetAnnotCount","_FPDFPage_GetAnnotIndex","_FPDFPage_GetArtBox","_FPDFPage_GetBleedBox","_FPDFPage_GetCropBox","_FPDFPage_GetDecodedThumbnailData","_FPDFPage_GetMediaBox","_FPDFPage_GetObject","_FPDFPage_GetRawThumbnailData","_FPDFPage_GetRotation","_FPDFPage_GetThumbnailAsBitmap","_FPDFPage_GetTrimBox","_FPDFPage_HasFormFieldAtPoint","_FPDFPage_HasTransparency","_FPDFPage_InsertClipPath","_FPDFPage_InsertObject","_FPDFPage_InsertObjectAtIndex","_FPDFPage_New","_FPDFPage_RemoveAnnot","_FPDFPage_RemoveObject","_FPDFPage_SetArtBox","_FPDFPage_SetBleedBox","_FPDFPage_SetCropBox","_FPDFPage_SetMediaBox","_FPDFPage_SetRotation","_FPDFPage_SetTrimBox","_FPDFPage_TransformAnnots","_FPDFPage_TransFormWithClip","_FPDFPageObj_AddExistingMark","_FPDFPageObj_AddMark","_FPDFPageObj_CountMarks","_FPDFPageObj_CreateNewPath","_FPDFPageObj_CreateNewRect","_FPDFPageObj_CreateTextObj","_FPDFPageObj_Destroy","_FPDFPageObj_GetBounds","_FPDFPageObj_GetClipPath","_FPDFPageObj_GetDashArray","_FPDFPageObj_GetDashCount","_FPDFPageObj_GetDashPhase","_FPDFPageObj_GetFillColor","_FPDFPageObj_GetIsActive","_FPDFPageObj_GetLineCap","_FPDFPageObj_GetLineJoin","_FPDFPageObj_GetMark","_FPDFPageObj_GetMarkedContentID","_FPDFPageObj_GetMatrix","_FPDFPageObj_GetRenderedFillPattern","_FPDFPageObj_GetRenderedStrokePattern","_FPDFPageObj_GetRotatedBounds","_FPDFPageObj_GetStrokeColor","_FPDFPageObj_GetStrokeWidth","_FPDFPageObj_GetType","_FPDFPageObj_HasTransparency","_FPDFPageObj_NewImageObj","_FPDFPageObj_NewTextObj","_FPDFPageObj_RemoveMark","_FPDFPageObj_SetBlendMode","_FPDFPageObj_SetDashArray","_FPDFPageObj_SetDashPhase","_FPDFPageObj_SetFillColor","_FPDFPageObj_SetIsActive","_FPDFPageObj_SetLineCap","_FPDFPageObj_SetLineJoin","_FPDFPageObj_SetMatrix","_FPDFPageObj_SetStrokeColor","_FPDFPageObj_SetStrokeWidth","_FPDFPageObj_Transform","_FPDFPageObj_TransformClipPath","_FPDFPageObj_TransformF","_FPDFPageObjMark_CountParams","_FPDFPageObjMark_GetName","_FPDFPageObjMark_GetParamBlobValue","_FPDFPageObjMark_GetParamFloatValue","_FPDFPageObjMark_GetParamIntValue","_FPDFPageObjMark_GetParamKey","_FPDFPageObjMark_GetParamStringValue","_FPDFPageObjMark_GetParamValueType","_FPDFPageObjMark_RemoveParam","_FPDFPageObjMark_SetBlobParam","_FPDFPageObjMark_SetFloatParam","_FPDFPageObjMark_SetIntParam","_FPDFPageObjMark_SetStringParam","_FPDFPath_BezierTo","_FPDFPath_Close","_FPDFPath_CountSegments","_FPDFPath_GetBezierControlPoints","_FPDFPath_GetDrawMode","_FPDFPath_GetPathSegment","_FPDFPath_LineTo","_FPDFPath_MoveTo","_FPDFPath_SetDrawMode","_FPDFPathSegment_GetClose","_FPDFPathSegment_GetPoint","_FPDFPathSegment_GetType","_FPDFSignatureObj_GetByteRange","_FPDFSignatureObj_GetContents","_FPDFSignatureObj_GetDocMDPPermission","_FPDFSignatureObj_GetReason","_FPDFSignatureObj_GetSubFilter","_FPDFSignatureObj_GetTime","_FPDFText_ClosePage","_FPDFText_CountChars","_FPDFText_CountRects","_FPDFText_FindClose","_FPDFText_FindNext","_FPDFText_FindPrev","_FPDFText_FindStart","_FPDFText_GetBoundedText","_FPDFText_GetCharAngle","_FPDFText_GetCharBox","_FPDFText_GetCharIndexAtPos","_FPDFText_GetCharIndexFromTextIndex","_FPDFText_GetCharOrigin","_FPDFText_GetFillColor","_FPDFText_GetFontInfo","_FPDFText_GetFontSize","_FPDFText_GetFontWeight","_FPDFText_GetLooseCharBox","_FPDFText_GetMatrix","_FPDFText_GetRect","_FPDFText_GetSchCount","_FPDFText_GetSchResultIndex","_FPDFText_GetStrokeColor","_FPDFText_GetText","_FPDFText_GetTextIndexFromCharIndex","_FPDFText_GetTextObject","_FPDFText_GetUnicode","_FPDFText_HasUnicodeMapError","_FPDFText_IsGenerated","_FPDFText_IsHyphen","_FPDFText_LoadCidType2Font","_FPDFText_LoadFont","_FPDFText_LoadPage","_FPDFText_LoadStandardFont","_FPDFText_SetCharcodes","_FPDFText_SetPositions","_FPDFText_SetText","_FPDFTextObj_GetFont","_FPDFTextObj_GetFontSize","_FPDFTextObj_GetRenderedBitmap","_FPDFTextObj_GetText","_FPDFTextObj_GetTextRenderMode","_FPDFTextObj_SetFontSize","_FPDFTextObj_SetTextRenderMode","_malloc","_free","_memory","___indirect_function_table","onRuntimeInitialized"].forEach(u=>{Object.getOwnPropertyDescriptor(o,u)||Object.defineProperty(o,u,{get:()=>Oe("You are getting "+u+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>Oe("You are setting "+u+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})});var s=typeof window=="object",A=typeof WorkerGlobalScope<"u",d=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer",p=!s&&!d&&!A,m=Object.assign({},n),F=[],h="./this.program",P=(u,l)=>{throw l},B="";function y(u){return n.locateFile?n.locateFile(u,B):B+u}var x,I;if(p){if(typeof process=="object"&&typeof pb=="function"||typeof window=="object"||typeof WorkerGlobalScope<"u")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)")}else if(s||A){if(A?B=self.location.href:typeof document<"u"&&document.currentScript&&(B=document.currentScript.src),e&&(B=e),B.startsWith("blob:")?B="":B=B.substr(0,B.replace(/[?#].*/,"").lastIndexOf("/")+1),!(typeof window=="object"||typeof WorkerGlobalScope<"u"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");A&&(I=u=>{var l=new XMLHttpRequest;return l.open("GET",u,!1),l.responseType="arraybuffer",l.send(null),new Uint8Array(l.response)}),x=u=>(R(!Lw(u),"readAsync does not work with file:// URLs"),fetch(u,{credentials:"same-origin"}).then(l=>l.ok?l.arrayBuffer():Promise.reject(new Error(l.status+" : "+l.url))))}else throw new Error("environment detection error");var S=n.print||console.log.bind(console),G=n.printErr||console.error.bind(console);Object.assign(n,m),m=null,YE(),n.arguments&&(F=n.arguments),_r("arguments","arguments_"),n.thisProgram&&(h=n.thisProgram),_r("thisProgram","thisProgram"),R(typeof n.memoryInitializerPrefixURL>"u","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),R(typeof n.pthreadMainPrefixURL>"u","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),R(typeof n.cdInitializerPrefixURL>"u","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),R(typeof n.filePackagePrefixURL>"u","Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),R(typeof n.read>"u","Module.read option was removed"),R(typeof n.readAsync>"u","Module.readAsync option was removed (modify readAsync in JS)"),R(typeof n.readBinary>"u","Module.readBinary option was removed (modify readBinary in JS)"),R(typeof n.setWindowTitle>"u","Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)"),R(typeof n.TOTAL_MEMORY>"u","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),_r("asm","wasmExports"),_r("readAsync","readAsync"),_r("readBinary","readBinary"),_r("setWindowTitle","setWindowTitle"),R(!d,"node environment detected but not enabled at build time. Add `node` to `-sENVIRONMENT` to enable."),R(!p,"shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.");var Q=n.wasmBinary;_r("wasmBinary","wasmBinary"),typeof WebAssembly!="object"&&G("no native wasm support detected");var K,ve=!1,ge;function R(u,l){u||Oe("Assertion failed"+(l?": "+l:""))}var q,oe,se,ut,z,Be,un,_i;function Hw(){var u=K.buffer;n.HEAP8=q=new Int8Array(u),n.HEAP16=se=new Int16Array(u),n.HEAPU8=oe=new Uint8Array(u),n.HEAPU16=ut=new Uint16Array(u),n.HEAP32=z=new Int32Array(u),n.HEAPU32=Be=new Uint32Array(u),n.HEAPF32=un=new Float32Array(u),n.HEAPF64=_i=new Float64Array(u)}R(!n.STACK_SIZE,"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time"),R(typeof Int32Array<"u"&&typeof Float64Array<"u"&&Int32Array.prototype.subarray!=null&&Int32Array.prototype.set!=null,"JS engine does not provide full typed array support"),R(!n.wasmMemory,"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"),R(!n.INITIAL_MEMORY,"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically");function cB(){var u=Td();R((u&3)==0),u==0&&(u+=4),Be[u>>>2>>>0]=34821223,Be[u+4>>>2>>>0]=2310721022,Be[0]=1668509029}function yd(){if(!ve){var u=Td();u==0&&(u+=4);var l=Be[u>>>2>>>0],b=Be[u+4>>>2>>>0];(l!=34821223||b!=2310721022)&&Oe(`Stack overflow! Stack cookie has been overwritten at ${Va(u)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${Va(b)} ${Va(l)}`),Be[0]!=1668509029&&Oe("Runtime error: The application has corrupted its heap memory area (address zero)!")}}var Ow=[],Qw=[],Rw=[],Xs=!1;function dB(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)lB(n.preRun.shift());Cd(Ow)}function uB(){R(!Xs),Xs=!0,yd(),!n.noFSInit&&!k.initialized&&k.init(),k.ignorePermissions=!1,Hn.init(),Cd(Qw)}function pB(){if(yd(),n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)wB(n.postRun.shift());Cd(Rw)}function lB(u){Ow.unshift(u)}function mB(u){Qw.unshift(u)}function wB(u){Rw.unshift(u)}R(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),R(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),R(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),R(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var Br=0,Er=null,ja=null,yi={};function Tw(u){for(var l=u;;){if(!yi[u])return u;u=l+Math.random()}}function Gd(u){Br++,n.monitorRunDependencies?.(Br),u?(R(!yi[u]),yi[u]=1,Er===null&&typeof setInterval<"u"&&(Er=setInterval(()=>{if(ve){clearInterval(Er),Er=null;return}var l=!1;for(var b in yi)l||(l=!0,G("still waiting on run dependencies:")),G(`dependency: ${b}`);l&&G("(end of list)")},1e4))):G("warning: run dependency added without ID")}function Ws(u){if(Br--,n.monitorRunDependencies?.(Br),u?(R(yi[u]),delete yi[u]):G("warning: run dependency removed without ID"),Br==0&&(Er!==null&&(clearInterval(Er),Er=null),ja)){var l=ja;ja=null,l()}}function Oe(u){n.onAbort?.(u),u="Aborted("+u+")",G(u),ve=!0;var l=new WebAssembly.RuntimeError(u);throw a(l),l}var bB="data:application/octet-stream;base64,",Mw=u=>u.startsWith(bB),Lw=u=>u.startsWith("file://");function c(u,l){return(...b)=>{R(Xs,`native function \`${u}\` called before runtime initialization`);var v=Xe[u];return R(v,`exported native function \`${u}\` not found`),R(b.length<=l,`native function \`${u}\` called with ${b.length} args but expects ${l}`),v(...b)}}function fB(){if(n.locateFile){var u="embedpdf.wasm";return Mw(u)?u:y(u)}return new URL("embedpdf.wasm",self.location.href).href}var Ka;function Nw(u){if(u==Ka&&Q)return new Uint8Array(Q);if(I)return I(u);throw"both async and sync fetching of the wasm failed"}function gB(u){return Q?Promise.resolve().then(()=>Nw(u)):x(u).then(l=>new Uint8Array(l),()=>Nw(u))}function jw(u,l,b){return gB(u).then(v=>WebAssembly.instantiate(v,l)).then(b,v=>{G(`failed to asynchronously prepare wasm: ${v}`),Lw(Ka)&&G(`warning: Loading from a file URI (${Ka}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`),Oe(v)})}function FB(u,l,b,v){return!u&&typeof WebAssembly.instantiateStreaming=="function"&&!Mw(l)&&typeof fetch=="function"?fetch(l,{credentials:"same-origin"}).then(D=>{var E=WebAssembly.instantiateStreaming(D,b);return E.then(v,function(_){return G(`wasm streaming compile failed: ${_}`),G("falling back to ArrayBuffer instantiation"),jw(l,b,v)})}):jw(l,b,v)}function vB(){return{env:ib,wasi_snapshot_preview1:ib}}function PB(){function u(D,E){return Xe=D.exports,Xe=A_(Xe),n.wasmExports=Xe,K=Xe.memory,R(K,"memory not found in wasm exports"),Hw(),On=Xe.__indirect_function_table,R(On,"table not found in wasm exports"),mB(Xe.__wasm_call_ctors),Ws("wasm-instantiate"),Xe}Gd("wasm-instantiate");var l=n;function b(D){R(n===l,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),l=null,u(D.instance)}var v=vB();if(n.instantiateWasm)try{return n.instantiateWasm(v,u)}catch(D){G(`Module.instantiateWasm callback failed with error: ${D}`),a(D)}return Ka??(Ka=fB()),FB(Q,Ka,v,b).catch(a),{}}var re,Qe;if((()=>{var u=new Int16Array(1),l=new Int8Array(u.buffer);if(u[0]=25459,l[0]!==115||l[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})(),n.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");function _r(u,l,b=!0){Object.getOwnPropertyDescriptor(n,u)||Object.defineProperty(n,u,{configurable:!0,get(){let v=b?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":"";Oe(`\`Module.${u}\` has been replaced by \`${l}\``+v)}})}function hB(u){Object.getOwnPropertyDescriptor(n,u)&&Oe(`\`Module.${u}\` was supplied but \`${u}\` not included in INCOMING_MODULE_JS_API`)}function Kw(u){return u==="FS_createPath"||u==="FS_createDataFile"||u==="FS_createPreloadedFile"||u==="FS_unlink"||u==="addRunDependency"||u==="FS_createLazyFile"||u==="FS_createDevice"||u==="removeRunDependency"}function Vw(u,l){typeof globalThis<"u"&&!Object.getOwnPropertyDescriptor(globalThis,u)&&Object.defineProperty(globalThis,u,{configurable:!0,get(){l()}})}function Yw(u,l){Vw(u,()=>{pn(`\`${u}\` is not longer defined by emscripten. ${l}`)})}Yw("buffer","Please use HEAP8.buffer or wasmMemory.buffer"),Yw("asm","Please use wasmExports instead");function kB(u){Vw(u,()=>{var l=`\`${u}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`,b=u;b.startsWith("_")||(b="$"+u),l+=` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${b}')`,Kw(u)&&(l+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),pn(l)}),Xw(u)}function Xw(u){Object.getOwnPropertyDescriptor(n,u)||Object.defineProperty(n,u,{configurable:!0,get(){var l=`'${u}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;Kw(u)&&(l+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),Oe(l)}})}class DB{constructor(l){Ut(this,"name","ExitStatus");this.message=`Program terminated with exit(${l})`,this.status=l}}var Cd=u=>{for(;u.length>0;)u.shift()(n)};function BB(u,l="i8"){switch(l.endsWith("*")&&(l="*"),l){case"i1":return q[u>>>0];case"i8":return q[u>>>0];case"i16":return se[u>>>1>>>0];case"i32":return z[u>>>2>>>0];case"i64":Oe("to do getValue(i64) use WASM_BIGINT");case"float":return un[u>>>2>>>0];case"double":return _i[u>>>3>>>0];case"*":return Be[u>>>2>>>0];default:Oe(`invalid type for getValue: ${l}`)}}var EB=n.noExitRuntime||!0,Va=u=>(R(typeof u=="number"),"0x"+u.toString(16).padStart(8,"0"));function _B(u,l,b="i8"){switch(b.endsWith("*")&&(b="*"),b){case"i1":q[u>>>0]=l;break;case"i8":q[u>>>0]=l;break;case"i16":se[u>>>1>>>0]=l;break;case"i32":z[u>>>2>>>0]=l;break;case"i64":Oe("to do setValue(i64) use WASM_BIGINT");case"float":un[u>>>2>>>0]=l;break;case"double":_i[u>>>3>>>0]=l;break;case"*":Be[u>>>2>>>0]=l;break;default:Oe(`invalid type for setValue: ${b}`)}}var Pt=u=>sb(u),ht=()=>cb(),pn=u=>{pn.shown||(pn.shown={}),pn.shown[u]||(pn.shown[u]=1,G(u))},Gi=(u,l)=>(R(u==u>>>0||u==(u|0)),R(l===(l|0)),l+2097152>>>0<4194305-!!u?(u>>>0)+l*4294967296:NaN),Ww=typeof TextDecoder<"u"?new TextDecoder:void 0,Ci=(u,l=0,b=NaN)=>{l>>>=0;for(var v=l+b,D=l;u[D]&&!(D>=v);)++D;if(D-l>16&&u.buffer&&Ww)return Ww.decode(u.subarray(l,D));for(var E="";l>10,56320|$&1023)}}return E},er=(u,l)=>(R(typeof u=="number",`UTF8ToString expects a number (got ${typeof u})`),u>>>=0,u?Ci(oe,u,l):"");function yB(u,l,b,v){u>>>=0,l>>>=0,v>>>=0,Oe(`Assertion failed: ${er(u)}, at: `+[l?er(l):"unknown filename",b,v?er(v):"unknown function"])}var Us=()=>{R(ke.varargs!=null);var u=z[+ke.varargs>>>2>>>0];return ke.varargs+=4,u},Ii=Us,Ge={isAbs:u=>u.charAt(0)==="/",splitPath:u=>{var l=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return l.exec(u).slice(1)},normalizeArray:(u,l)=>{for(var b=0,v=u.length-1;v>=0;v--){var D=u[v];D==="."?u.splice(v,1):D===".."?(u.splice(v,1),b++):b&&(u.splice(v,1),b--)}if(l)for(;b;b--)u.unshift("..");return u},normalize:u=>{var l=Ge.isAbs(u),b=u.substr(-1)==="/";return u=Ge.normalizeArray(u.split("/").filter(v=>!!v),!l).join("/"),!u&&!l&&(u="."),u&&b&&(u+="/"),(l?"/":"")+u},dirname:u=>{var l=Ge.splitPath(u),b=l[0],v=l[1];return!b&&!v?".":(v&&(v=v.substr(0,v.length-1)),b+v)},basename:u=>{if(u==="/")return"/";u=Ge.normalize(u),u=u.replace(/\/$/,"");var l=u.lastIndexOf("/");return l===-1?u:u.substr(l+1)},join:(...u)=>Ge.normalize(u.join("/")),join2:(u,l)=>Ge.normalize(u+"/"+l)},GB=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return u=>crypto.getRandomValues(u);Oe("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")},Id=u=>(Id=GB())(u),xn={resolve:(...u)=>{for(var l="",b=!1,v=u.length-1;v>=-1&&!b;v--){var D=v>=0?u[v]:k.cwd();if(typeof D!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!D)return"";l=D+"/"+l,b=Ge.isAbs(D)}return l=Ge.normalizeArray(l.split("/").filter(E=>!!E),!b).join("/"),(b?"/":"")+l||"."},relative:(u,l)=>{u=xn.resolve(u).substr(1),l=xn.resolve(l).substr(1);function b($){for(var te=0;te<$.length&&$[te]==="";te++);for(var ae=$.length-1;ae>=0&&$[ae]==="";ae--);return te>ae?[]:$.slice(te,ae-te+1)}for(var v=b(u.split("/")),D=b(l.split("/")),E=Math.min(v.length,D.length),_=E,C=0;C{for(var l=0,b=0;b=55296&&v<=57343?(l+=4,++b):l+=3}return l},xd=(u,l,b,v)=>{if(b>>>=0,R(typeof u=="string",`stringToUTF8Array expects a string (got ${typeof u})`),!(v>0))return 0;for(var D=b,E=b+v-1,_=0;_=55296&&C<=57343){var T=u.charCodeAt(++_);C=65536+((C&1023)<<10)|T&1023}if(C<=127){if(b>=E)break;l[b++>>>0]=C}else if(C<=2047){if(b+1>=E)break;l[b++>>>0]=192|C>>6,l[b++>>>0]=128|C&63}else if(C<=65535){if(b+2>=E)break;l[b++>>>0]=224|C>>12,l[b++>>>0]=128|C>>6&63,l[b++>>>0]=128|C&63}else{if(b+3>=E)break;C>1114111&&pn("Invalid Unicode code point "+Va(C)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."),l[b++>>>0]=240|C>>18,l[b++>>>0]=128|C>>12&63,l[b++>>>0]=128|C>>6&63,l[b++>>>0]=128|C&63}}return l[b>>>0]=0,b-D};function Uw(u,l,b){var v=b>0?b:Ya(u)+1,D=new Array(v),E=xd(u,D,0,D.length);return l&&(D.length=E),D}var CB=()=>{if(!Sd.length){var u=null;if(typeof window<"u"&&typeof window.prompt=="function"&&(u=window.prompt("Input: "),u!==null&&(u+=` +`)),!u)return null;Sd=Uw(u,!0)}return Sd.shift()},Hn={ttys:[],init(){},shutdown(){},register(u,l){Hn.ttys[u]={input:[],output:[],ops:l},k.registerDevice(u,Hn.stream_ops)},stream_ops:{open(u){var l=Hn.ttys[u.node.rdev];if(!l)throw new k.ErrnoError(43);u.tty=l,u.seekable=!1},close(u){u.tty.ops.fsync(u.tty)},fsync(u){u.tty.ops.fsync(u.tty)},read(u,l,b,v,D){if(!u.tty||!u.tty.ops.get_char)throw new k.ErrnoError(60);for(var E=0,_=0;_0&&(S(Ci(u.output)),u.output=[])},ioctl_tcgets(u){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(u,l,b){return 0},ioctl_tiocgwinsz(u){return[24,80]}},default_tty1_ops:{put_char(u,l){l===null||l===10?(G(Ci(u.output)),u.output=[]):l!=0&&u.output.push(l)},fsync(u){u.output&&u.output.length>0&&(G(Ci(u.output)),u.output=[])}}},IB=(u,l)=>{oe.fill(0,u,u+l)},qw=(u,l)=>(R(l,"alignment argument is required"),Math.ceil(u/l)*l),zw=u=>{u=qw(u,65536);var l=WE(65536,u);return l&&IB(l,u),l},Ae={ops_table:null,mount(u){return Ae.createNode(null,"/",16895,0)},createNode(u,l,b,v){if(k.isBlkdev(b)||k.isFIFO(b))throw new k.ErrnoError(63);Ae.ops_table||(Ae.ops_table={dir:{node:{getattr:Ae.node_ops.getattr,setattr:Ae.node_ops.setattr,lookup:Ae.node_ops.lookup,mknod:Ae.node_ops.mknod,rename:Ae.node_ops.rename,unlink:Ae.node_ops.unlink,rmdir:Ae.node_ops.rmdir,readdir:Ae.node_ops.readdir,symlink:Ae.node_ops.symlink},stream:{llseek:Ae.stream_ops.llseek}},file:{node:{getattr:Ae.node_ops.getattr,setattr:Ae.node_ops.setattr},stream:{llseek:Ae.stream_ops.llseek,read:Ae.stream_ops.read,write:Ae.stream_ops.write,allocate:Ae.stream_ops.allocate,mmap:Ae.stream_ops.mmap,msync:Ae.stream_ops.msync}},link:{node:{getattr:Ae.node_ops.getattr,setattr:Ae.node_ops.setattr,readlink:Ae.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Ae.node_ops.getattr,setattr:Ae.node_ops.setattr},stream:k.chrdev_stream_ops}});var D=k.createNode(u,l,b,v);return k.isDir(D.mode)?(D.node_ops=Ae.ops_table.dir.node,D.stream_ops=Ae.ops_table.dir.stream,D.contents={}):k.isFile(D.mode)?(D.node_ops=Ae.ops_table.file.node,D.stream_ops=Ae.ops_table.file.stream,D.usedBytes=0,D.contents=null):k.isLink(D.mode)?(D.node_ops=Ae.ops_table.link.node,D.stream_ops=Ae.ops_table.link.stream):k.isChrdev(D.mode)&&(D.node_ops=Ae.ops_table.chrdev.node,D.stream_ops=Ae.ops_table.chrdev.stream),D.timestamp=Date.now(),u&&(u.contents[l]=D,u.timestamp=D.timestamp),D},getFileDataAsTypedArray(u){return u.contents?u.contents.subarray?u.contents.subarray(0,u.usedBytes):new Uint8Array(u.contents):new Uint8Array(0)},expandFileStorage(u,l){var b=u.contents?u.contents.length:0;if(!(b>=l)){var v=1024*1024;l=Math.max(l,b*(b>>0),b!=0&&(l=Math.max(l,256));var D=u.contents;u.contents=new Uint8Array(l),u.usedBytes>0&&u.contents.set(D.subarray(0,u.usedBytes),0)}},resizeFileStorage(u,l){if(u.usedBytes!=l)if(l==0)u.contents=null,u.usedBytes=0;else{var b=u.contents;u.contents=new Uint8Array(l),b&&u.contents.set(b.subarray(0,Math.min(l,u.usedBytes))),u.usedBytes=l}},node_ops:{getattr(u){var l={};return l.dev=k.isChrdev(u.mode)?u.id:1,l.ino=u.id,l.mode=u.mode,l.nlink=1,l.uid=0,l.gid=0,l.rdev=u.rdev,k.isDir(u.mode)?l.size=4096:k.isFile(u.mode)?l.size=u.usedBytes:k.isLink(u.mode)?l.size=u.link.length:l.size=0,l.atime=new Date(u.timestamp),l.mtime=new Date(u.timestamp),l.ctime=new Date(u.timestamp),l.blksize=4096,l.blocks=Math.ceil(l.size/l.blksize),l},setattr(u,l){l.mode!==void 0&&(u.mode=l.mode),l.timestamp!==void 0&&(u.timestamp=l.timestamp),l.size!==void 0&&Ae.resizeFileStorage(u,l.size)},lookup(u,l){throw new k.ErrnoError(44)},mknod(u,l,b,v){return Ae.createNode(u,l,b,v)},rename(u,l,b){if(k.isDir(u.mode)){var v;try{v=k.lookupNode(l,b)}catch{}if(v)for(var D in v.contents)throw new k.ErrnoError(55)}delete u.parent.contents[u.name],u.parent.timestamp=Date.now(),u.name=b,l.contents[b]=u,l.timestamp=u.parent.timestamp},unlink(u,l){delete u.contents[l],u.timestamp=Date.now()},rmdir(u,l){var b=k.lookupNode(u,l);for(var v in b.contents)throw new k.ErrnoError(55);delete u.contents[l],u.timestamp=Date.now()},readdir(u){var l=[".",".."];for(var b of Object.keys(u.contents))l.push(b);return l},symlink(u,l,b){var v=Ae.createNode(u,l,41471,0);return v.link=b,v},readlink(u){if(!k.isLink(u.mode))throw new k.ErrnoError(28);return u.link}},stream_ops:{read(u,l,b,v,D){var E=u.node.contents;if(D>=u.node.usedBytes)return 0;var _=Math.min(u.node.usedBytes-D,v);if(R(_>=0),_>8&&E.subarray)l.set(E.subarray(D,D+_),b);else for(var C=0;C<_;C++)l[b+C]=E[D+C];return _},write(u,l,b,v,D,E){if(R(!(l instanceof ArrayBuffer)),l.buffer===q.buffer&&(E=!1),!v)return 0;var _=u.node;if(_.timestamp=Date.now(),l.subarray&&(!_.contents||_.contents.subarray)){if(E)return R(D===0,"canOwn must imply no weird position inside the file"),_.contents=l.subarray(b,b+v),_.usedBytes=v,v;if(_.usedBytes===0&&D===0)return _.contents=l.slice(b,b+v),_.usedBytes=v,v;if(D+v<=_.usedBytes)return _.contents.set(l.subarray(b,b+v),D),v}if(Ae.expandFileStorage(_,D+v),_.contents.subarray&&l.subarray)_.contents.set(l.subarray(b,b+v),D);else for(var C=0;C0||b+l>>0))}return{ptr:E,allocated:_}},msync(u,l,b,v,D){return Ae.stream_ops.write(u,l,0,v,b,!1),0}}},SB=(u,l,b,v)=>{var D=v?"":Tw(`al ${u}`);x(u).then(E=>{R(E,`Loading data file "${u}" failed (no arrayBuffer).`),l(new Uint8Array(E)),D&&Ws(D)},E=>{if(b)b();else throw`Loading data file "${u}" failed.`}),D&&Gd(D)},xB=(u,l,b,v,D,E)=>{k.createDataFile(u,l,b,v,D,E)},HB=n.preloadPlugins||[],OB=(u,l,b,v)=>{typeof Browser<"u"&&Browser.init();var D=!1;return HB.forEach(E=>{D||E.canHandle(l)&&(E.handle(u,l,b,v),D=!0)}),D},QB=(u,l,b,v,D,E,_,C,T,$)=>{var te=l?xn.resolve(Ge.join2(u,l)):u,ae=Tw(`cp ${te}`);function ce(Z){function ie(ye){$?.(),C||xB(u,l,ye,v,D,T),E?.(),Ws(ae)}OB(Z,te,ie,()=>{_?.(),Ws(ae)})||ie(Z)}Gd(ae),typeof b=="string"?SB(b,ce,_):ce(b)},RB=u=>{var l={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},b=l[u];if(typeof b>"u")throw new Error(`Unknown file open mode: ${u}`);return b},Hd=(u,l)=>{var b=0;return u&&(b|=365),l&&(b|=146),b},TB=u=>er(XE(u)),Zw={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},k={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class extends Error{constructor(l){super(Xs?TB(l):"");Ut(this,"name","ErrnoError");this.errno=l;for(var b in Zw)if(Zw[b]===l){this.code=b;break}}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){Ut(this,"shared",{})}get object(){return this.node}set object(u){this.node=u}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(u){this.shared.flags=u}get position(){return this.shared.position}set position(u){this.shared.position=u}},FSNode:class{constructor(u,l,b,v){Ut(this,"node_ops",{});Ut(this,"stream_ops",{});Ut(this,"readMode",365);Ut(this,"writeMode",146);Ut(this,"mounted",null);u||(u=this),this.parent=u,this.mount=u.mount,this.id=k.nextInode++,this.name=l,this.mode=b,this.rdev=v}get read(){return(this.mode&this.readMode)===this.readMode}set read(u){u?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(u){u?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return k.isDir(this.mode)}get isDevice(){return k.isChrdev(this.mode)}},lookupPath(u,l={}){if(u=xn.resolve(u),!u)return{path:"",node:null};var b={follow_mount:!0,recurse_count:0};if(l=Object.assign(b,l),l.recurse_count>8)throw new k.ErrnoError(32);for(var v=u.split("/").filter(ae=>!!ae),D=k.root,E="/",_=0;_40)throw new k.ErrnoError(32)}}return{path:E,node:D}},getPath(u){for(var l;;){if(k.isRoot(u)){var b=u.mount.mountpoint;return l?b[b.length-1]!=="/"?`${b}/${l}`:b+l:b}l=l?`${u.name}/${l}`:u.name,u=u.parent}},hashName(u,l){for(var b=0,v=0;v>>0)%k.nameTable.length},hashAddNode(u){var l=k.hashName(u.parent.id,u.name);u.name_next=k.nameTable[l],k.nameTable[l]=u},hashRemoveNode(u){var l=k.hashName(u.parent.id,u.name);if(k.nameTable[l]===u)k.nameTable[l]=u.name_next;else for(var b=k.nameTable[l];b;){if(b.name_next===u){b.name_next=u.name_next;break}b=b.name_next}},lookupNode(u,l){var b=k.mayLookup(u);if(b)throw new k.ErrnoError(b);for(var v=k.hashName(u.id,l),D=k.nameTable[v];D;D=D.name_next){var E=D.name;if(D.parent.id===u.id&&E===l)return D}return k.lookup(u,l)},createNode(u,l,b,v){R(typeof u=="object");var D=new k.FSNode(u,l,b,v);return k.hashAddNode(D),D},destroyNode(u){k.hashRemoveNode(u)},isRoot(u){return u===u.parent},isMountpoint(u){return!!u.mounted},isFile(u){return(u&61440)===32768},isDir(u){return(u&61440)===16384},isLink(u){return(u&61440)===40960},isChrdev(u){return(u&61440)===8192},isBlkdev(u){return(u&61440)===24576},isFIFO(u){return(u&61440)===4096},isSocket(u){return(u&49152)===49152},flagsToPermissionString(u){var l=["r","w","rw"][u&3];return u&512&&(l+="w"),l},nodePermissions(u,l){return k.ignorePermissions?0:l.includes("r")&&!(u.mode&292)||l.includes("w")&&!(u.mode&146)||l.includes("x")&&!(u.mode&73)?2:0},mayLookup(u){if(!k.isDir(u.mode))return 54;var l=k.nodePermissions(u,"x");return l||(u.node_ops.lookup?0:2)},mayCreate(u,l){try{var b=k.lookupNode(u,l);return 20}catch{}return k.nodePermissions(u,"wx")},mayDelete(u,l,b){var v;try{v=k.lookupNode(u,l)}catch(E){return E.errno}var D=k.nodePermissions(u,"wx");if(D)return D;if(b){if(!k.isDir(v.mode))return 54;if(k.isRoot(v)||k.getPath(v)===k.cwd())return 10}else if(k.isDir(v.mode))return 31;return 0},mayOpen(u,l){return u?k.isLink(u.mode)?32:k.isDir(u.mode)&&(k.flagsToPermissionString(l)!=="r"||l&512)?31:k.nodePermissions(u,k.flagsToPermissionString(l)):44},MAX_OPEN_FDS:4096,nextfd(){for(var u=0;u<=k.MAX_OPEN_FDS;u++)if(!k.streams[u])return u;throw new k.ErrnoError(33)},getStreamChecked(u){var l=k.getStream(u);if(!l)throw new k.ErrnoError(8);return l},getStream:u=>k.streams[u],createStream(u,l=-1){return R(l>=-1),u=Object.assign(new k.FSStream,u),l==-1&&(l=k.nextfd()),u.fd=l,k.streams[l]=u,u},closeStream(u){k.streams[u]=null},dupStream(u,l=-1){var b=k.createStream(u,l);return b.stream_ops?.dup?.(b),b},chrdev_stream_ops:{open(u){var l=k.getDevice(u.node.rdev);u.stream_ops=l.stream_ops,u.stream_ops.open?.(u)},llseek(){throw new k.ErrnoError(70)}},major:u=>u>>8,minor:u=>u&255,makedev:(u,l)=>u<<8|l,registerDevice(u,l){k.devices[u]={stream_ops:l}},getDevice:u=>k.devices[u],getMounts(u){for(var l=[],b=[u];b.length;){var v=b.pop();l.push(v),b.push(...v.mounts)}return l},syncfs(u,l){typeof u=="function"&&(l=u,u=!1),k.syncFSRequests++,k.syncFSRequests>1&&G(`warning: ${k.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var b=k.getMounts(k.root.mount),v=0;function D(_){return R(k.syncFSRequests>0),k.syncFSRequests--,l(_)}function E(_){if(_)return E.errored?void 0:(E.errored=!0,D(_));++v>=b.length&&D(null)}b.forEach(_=>{if(!_.type.syncfs)return E(null);_.type.syncfs(_,u,E)})},mount(u,l,b){if(typeof u=="string")throw u;var v=b==="/",D=!b,E;if(v&&k.root)throw new k.ErrnoError(10);if(!v&&!D){var _=k.lookupPath(b,{follow_mount:!1});if(b=_.path,E=_.node,k.isMountpoint(E))throw new k.ErrnoError(10);if(!k.isDir(E.mode))throw new k.ErrnoError(54)}var C={type:u,opts:l,mountpoint:b,mounts:[]},T=u.mount(C);return T.mount=C,C.root=T,v?k.root=T:E&&(E.mounted=C,E.mount&&E.mount.mounts.push(C)),T},unmount(u){var l=k.lookupPath(u,{follow_mount:!1});if(!k.isMountpoint(l.node))throw new k.ErrnoError(28);var b=l.node,v=b.mounted,D=k.getMounts(v);Object.keys(k.nameTable).forEach(_=>{for(var C=k.nameTable[_];C;){var T=C.name_next;D.includes(C.mount)&&k.destroyNode(C),C=T}}),b.mounted=null;var E=b.mount.mounts.indexOf(v);R(E!==-1),b.mount.mounts.splice(E,1)},lookup(u,l){return u.node_ops.lookup(u,l)},mknod(u,l,b){var v=k.lookupPath(u,{parent:!0}),D=v.node,E=Ge.basename(u);if(!E||E==="."||E==="..")throw new k.ErrnoError(28);var _=k.mayCreate(D,E);if(_)throw new k.ErrnoError(_);if(!D.node_ops.mknod)throw new k.ErrnoError(63);return D.node_ops.mknod(D,E,l,b)},create(u,l){return l=l!==void 0?l:438,l&=4095,l|=32768,k.mknod(u,l,0)},mkdir(u,l){return l=l!==void 0?l:511,l&=1023,l|=16384,k.mknod(u,l,0)},mkdirTree(u,l){for(var b=u.split("/"),v="",D=0;D"u"&&(b=l,l=438),l|=8192,k.mknod(u,l,b)},symlink(u,l){if(!xn.resolve(u))throw new k.ErrnoError(44);var b=k.lookupPath(l,{parent:!0}),v=b.node;if(!v)throw new k.ErrnoError(44);var D=Ge.basename(l),E=k.mayCreate(v,D);if(E)throw new k.ErrnoError(E);if(!v.node_ops.symlink)throw new k.ErrnoError(63);return v.node_ops.symlink(v,D,u)},rename(u,l){var b=Ge.dirname(u),v=Ge.dirname(l),D=Ge.basename(u),E=Ge.basename(l),_,C,T;if(_=k.lookupPath(u,{parent:!0}),C=_.node,_=k.lookupPath(l,{parent:!0}),T=_.node,!C||!T)throw new k.ErrnoError(44);if(C.mount!==T.mount)throw new k.ErrnoError(75);var $=k.lookupNode(C,D),te=xn.relative(u,v);if(te.charAt(0)!==".")throw new k.ErrnoError(28);if(te=xn.relative(l,b),te.charAt(0)!==".")throw new k.ErrnoError(55);var ae;try{ae=k.lookupNode(T,E)}catch{}if($!==ae){var ce=k.isDir($.mode),Z=k.mayDelete(C,D,ce);if(Z)throw new k.ErrnoError(Z);if(Z=ae?k.mayDelete(T,E,ce):k.mayCreate(T,E),Z)throw new k.ErrnoError(Z);if(!C.node_ops.rename)throw new k.ErrnoError(63);if(k.isMountpoint($)||ae&&k.isMountpoint(ae))throw new k.ErrnoError(10);if(T!==C&&(Z=k.nodePermissions(C,"w"),Z))throw new k.ErrnoError(Z);k.hashRemoveNode($);try{C.node_ops.rename($,T,E),$.parent=T}catch(ie){throw ie}finally{k.hashAddNode($)}}},rmdir(u){var l=k.lookupPath(u,{parent:!0}),b=l.node,v=Ge.basename(u),D=k.lookupNode(b,v),E=k.mayDelete(b,v,!0);if(E)throw new k.ErrnoError(E);if(!b.node_ops.rmdir)throw new k.ErrnoError(63);if(k.isMountpoint(D))throw new k.ErrnoError(10);b.node_ops.rmdir(b,v),k.destroyNode(D)},readdir(u){var l=k.lookupPath(u,{follow:!0}),b=l.node;if(!b.node_ops.readdir)throw new k.ErrnoError(54);return b.node_ops.readdir(b)},unlink(u){var l=k.lookupPath(u,{parent:!0}),b=l.node;if(!b)throw new k.ErrnoError(44);var v=Ge.basename(u),D=k.lookupNode(b,v),E=k.mayDelete(b,v,!1);if(E)throw new k.ErrnoError(E);if(!b.node_ops.unlink)throw new k.ErrnoError(63);if(k.isMountpoint(D))throw new k.ErrnoError(10);b.node_ops.unlink(b,v),k.destroyNode(D)},readlink(u){var l=k.lookupPath(u),b=l.node;if(!b)throw new k.ErrnoError(44);if(!b.node_ops.readlink)throw new k.ErrnoError(28);return xn.resolve(k.getPath(b.parent),b.node_ops.readlink(b))},stat(u,l){var b=k.lookupPath(u,{follow:!l}),v=b.node;if(!v)throw new k.ErrnoError(44);if(!v.node_ops.getattr)throw new k.ErrnoError(63);return v.node_ops.getattr(v)},lstat(u){return k.stat(u,!0)},chmod(u,l,b){var v;if(typeof u=="string"){var D=k.lookupPath(u,{follow:!b});v=D.node}else v=u;if(!v.node_ops.setattr)throw new k.ErrnoError(63);v.node_ops.setattr(v,{mode:l&4095|v.mode&-4096,timestamp:Date.now()})},lchmod(u,l){k.chmod(u,l,!0)},fchmod(u,l){var b=k.getStreamChecked(u);k.chmod(b.node,l)},chown(u,l,b,v){var D;if(typeof u=="string"){var E=k.lookupPath(u,{follow:!v});D=E.node}else D=u;if(!D.node_ops.setattr)throw new k.ErrnoError(63);D.node_ops.setattr(D,{timestamp:Date.now()})},lchown(u,l,b){k.chown(u,l,b,!0)},fchown(u,l,b){var v=k.getStreamChecked(u);k.chown(v.node,l,b)},truncate(u,l){if(l<0)throw new k.ErrnoError(28);var b;if(typeof u=="string"){var v=k.lookupPath(u,{follow:!0});b=v.node}else b=u;if(!b.node_ops.setattr)throw new k.ErrnoError(63);if(k.isDir(b.mode))throw new k.ErrnoError(31);if(!k.isFile(b.mode))throw new k.ErrnoError(28);var D=k.nodePermissions(b,"w");if(D)throw new k.ErrnoError(D);b.node_ops.setattr(b,{size:l,timestamp:Date.now()})},ftruncate(u,l){var b=k.getStreamChecked(u);if((b.flags&2097155)===0)throw new k.ErrnoError(28);k.truncate(b.node,l)},utime(u,l,b){var v=k.lookupPath(u,{follow:!0}),D=v.node;D.node_ops.setattr(D,{timestamp:Math.max(l,b)})},open(u,l,b){if(u==="")throw new k.ErrnoError(44);l=typeof l=="string"?RB(l):l,l&64?(b=typeof b>"u"?438:b,b=b&4095|32768):b=0;var v;if(typeof u=="object")v=u;else{u=Ge.normalize(u);try{var D=k.lookupPath(u,{follow:!(l&131072)});v=D.node}catch{}}var E=!1;if(l&64)if(v){if(l&128)throw new k.ErrnoError(20)}else v=k.mknod(u,b,0),E=!0;if(!v)throw new k.ErrnoError(44);if(k.isChrdev(v.mode)&&(l&=-513),l&65536&&!k.isDir(v.mode))throw new k.ErrnoError(54);if(!E){var _=k.mayOpen(v,l);if(_)throw new k.ErrnoError(_)}l&512&&!E&&k.truncate(v,0),l&=-131713;var C=k.createStream({node:v,path:k.getPath(v),flags:l,seekable:!0,position:0,stream_ops:v.stream_ops,ungotten:[],error:!1});return C.stream_ops.open&&C.stream_ops.open(C),n.logReadFiles&&!(l&1)&&(u in k.readFiles||(k.readFiles[u]=1)),C},close(u){if(k.isClosed(u))throw new k.ErrnoError(8);u.getdents&&(u.getdents=null);try{u.stream_ops.close&&u.stream_ops.close(u)}catch(l){throw l}finally{k.closeStream(u.fd)}u.fd=null},isClosed(u){return u.fd===null},llseek(u,l,b){if(k.isClosed(u))throw new k.ErrnoError(8);if(!u.seekable||!u.stream_ops.llseek)throw new k.ErrnoError(70);if(b!=0&&b!=1&&b!=2)throw new k.ErrnoError(28);return u.position=u.stream_ops.llseek(u,l,b),u.ungotten=[],u.position},read(u,l,b,v,D){if(R(b>=0),v<0||D<0)throw new k.ErrnoError(28);if(k.isClosed(u))throw new k.ErrnoError(8);if((u.flags&2097155)===1)throw new k.ErrnoError(8);if(k.isDir(u.node.mode))throw new k.ErrnoError(31);if(!u.stream_ops.read)throw new k.ErrnoError(28);var E=typeof D<"u";if(!E)D=u.position;else if(!u.seekable)throw new k.ErrnoError(70);var _=u.stream_ops.read(u,l,b,v,D);return E||(u.position+=_),_},write(u,l,b,v,D,E){if(R(b>=0),v<0||D<0)throw new k.ErrnoError(28);if(k.isClosed(u))throw new k.ErrnoError(8);if((u.flags&2097155)===0)throw new k.ErrnoError(8);if(k.isDir(u.node.mode))throw new k.ErrnoError(31);if(!u.stream_ops.write)throw new k.ErrnoError(28);u.seekable&&u.flags&1024&&k.llseek(u,0,2);var _=typeof D<"u";if(!_)D=u.position;else if(!u.seekable)throw new k.ErrnoError(70);var C=u.stream_ops.write(u,l,b,v,D,E);return _||(u.position+=C),C},allocate(u,l,b){if(k.isClosed(u))throw new k.ErrnoError(8);if(l<0||b<=0)throw new k.ErrnoError(28);if((u.flags&2097155)===0)throw new k.ErrnoError(8);if(!k.isFile(u.node.mode)&&!k.isDir(u.node.mode))throw new k.ErrnoError(43);if(!u.stream_ops.allocate)throw new k.ErrnoError(138);u.stream_ops.allocate(u,l,b)},mmap(u,l,b,v,D){if((v&2)!==0&&(D&2)===0&&(u.flags&2097155)!==2)throw new k.ErrnoError(2);if((u.flags&2097155)===1)throw new k.ErrnoError(2);if(!u.stream_ops.mmap)throw new k.ErrnoError(43);if(!l)throw new k.ErrnoError(28);return u.stream_ops.mmap(u,l,b,v,D)},msync(u,l,b,v,D){return R(b>=0),u.stream_ops.msync?u.stream_ops.msync(u,l,b,v,D):0},ioctl(u,l,b){if(!u.stream_ops.ioctl)throw new k.ErrnoError(59);return u.stream_ops.ioctl(u,l,b)},readFile(u,l={}){if(l.flags=l.flags||0,l.encoding=l.encoding||"binary",l.encoding!=="utf8"&&l.encoding!=="binary")throw new Error(`Invalid encoding type "${l.encoding}"`);var b,v=k.open(u,l.flags),D=k.stat(u),E=D.size,_=new Uint8Array(E);return k.read(v,_,0,E,0),l.encoding==="utf8"?b=Ci(_):l.encoding==="binary"&&(b=_),k.close(v),b},writeFile(u,l,b={}){b.flags=b.flags||577;var v=k.open(u,b.flags,b.mode);if(typeof l=="string"){var D=new Uint8Array(Ya(l)+1),E=xd(l,D,0,D.length);k.write(v,D,0,E,void 0,b.canOwn)}else if(ArrayBuffer.isView(l))k.write(v,l,0,l.byteLength,void 0,b.canOwn);else throw new Error("Unsupported data type");k.close(v)},cwd:()=>k.currentPath,chdir(u){var l=k.lookupPath(u,{follow:!0});if(l.node===null)throw new k.ErrnoError(44);if(!k.isDir(l.node.mode))throw new k.ErrnoError(54);var b=k.nodePermissions(l.node,"x");if(b)throw new k.ErrnoError(b);k.currentPath=l.path},createDefaultDirectories(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:()=>0,write:(v,D,E,_,C)=>_,llseek:()=>0}),k.mkdev("/dev/null",k.makedev(1,3)),Hn.register(k.makedev(5,0),Hn.default_tty_ops),Hn.register(k.makedev(6,0),Hn.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var u=new Uint8Array(1024),l=0,b=()=>(l===0&&(l=Id(u).byteLength),u[--l]);k.createDevice("/dev","random",b),k.createDevice("/dev","urandom",b),k.mkdir("/dev/shm"),k.mkdir("/dev/shm/tmp")},createSpecialDirectories(){k.mkdir("/proc");var u=k.mkdir("/proc/self");k.mkdir("/proc/self/fd"),k.mount({mount(){var l=k.createNode(u,"fd",16895,73);return l.node_ops={lookup(b,v){var D=+v,E=k.getStreamChecked(D),_={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>E.path}};return _.parent=_,_}},l}},{},"/proc/self/fd")},createStandardStreams(u,l,b){u?k.createDevice("/dev","stdin",u):k.symlink("/dev/tty","/dev/stdin"),l?k.createDevice("/dev","stdout",null,l):k.symlink("/dev/tty","/dev/stdout"),b?k.createDevice("/dev","stderr",null,b):k.symlink("/dev/tty1","/dev/stderr");var v=k.open("/dev/stdin",0),D=k.open("/dev/stdout",1),E=k.open("/dev/stderr",1);R(v.fd===0,`invalid handle for stdin (${v.fd})`),R(D.fd===1,`invalid handle for stdout (${D.fd})`),R(E.fd===2,`invalid handle for stderr (${E.fd})`)},staticInit(){k.nameTable=new Array(4096),k.mount(Ae,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices(),k.createSpecialDirectories(),k.filesystems={MEMFS:Ae}},init(u,l,b){R(!k.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),k.initialized=!0,u??(u=n.stdin),l??(l=n.stdout),b??(b=n.stderr),k.createStandardStreams(u,l,b)},quit(){k.initialized=!1,ab(0);for(var u=0;uthis.length-1||Z<0)){var ie=Z%this.chunkSize,ye=Z/this.chunkSize|0;return this.getter(ye)[ie]}}setDataGetter(Z){this.getter=Z}cacheLength(){var Z=new XMLHttpRequest;if(Z.open("HEAD",b,!1),Z.send(null),!(Z.status>=200&&Z.status<300||Z.status===304))throw new Error("Couldn't load "+b+". Status: "+Z.status);var ie=Number(Z.getResponseHeader("Content-length")),ye,yt=(ye=Z.getResponseHeader("Accept-Ranges"))&&ye==="bytes",kt=(ye=Z.getResponseHeader("Content-Encoding"))&&ye==="gzip",Gt=1024*1024;yt||(Gt=ie);var Wt=(ln,Si)=>{if(ln>Si)throw new Error("invalid range ("+ln+", "+Si+") or no bytes requested!");if(Si>ie-1)throw new Error("only "+ie+" bytes available! programmer error!");var We=new XMLHttpRequest;if(We.open("GET",b,!1),ie!==Gt&&We.setRequestHeader("Range","bytes="+ln+"-"+Si),We.responseType="arraybuffer",We.overrideMimeType&&We.overrideMimeType("text/plain; charset=x-user-defined"),We.send(null),!(We.status>=200&&We.status<300||We.status===304))throw new Error("Couldn't load "+b+". Status: "+We.status);return We.response!==void 0?new Uint8Array(We.response||[]):Uw(We.responseText||"",!0)},Ua=this;Ua.setDataGetter(ln=>{var Si=ln*Gt,We=(ln+1)*Gt-1;if(We=Math.min(We,ie-1),typeof Ua.chunks[ln]>"u"&&(Ua.chunks[ln]=Wt(Si,We)),typeof Ua.chunks[ln]>"u")throw new Error("doXHR failed!");return Ua.chunks[ln]}),(kt||!ie)&&(Gt=ie=1,ie=this.getter(0).length,Gt=ie,S("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=ie,this._chunkSize=Gt,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<"u"){if(!A)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var _=new E,C={isDevice:!1,contents:_}}else var C={isDevice:!1,url:b};var T=k.createFile(u,l,C,v,D);C.contents?T.contents=C.contents:C.url&&(T.contents=null,T.url=C.url),Object.defineProperties(T,{usedBytes:{get:function(){return this.contents.length}}});var $={},te=Object.keys(T.stream_ops);te.forEach(ce=>{var Z=T.stream_ops[ce];$[ce]=(...ie)=>(k.forceLoadFile(T),Z(...ie))});function ae(ce,Z,ie,ye,yt){var kt=ce.node.contents;if(yt>=kt.length)return 0;var Gt=Math.min(kt.length-yt,ye);if(R(Gt>=0),kt.slice)for(var Wt=0;Wt(k.forceLoadFile(T),ae(ce,Z,ie,ye,yt)),$.mmap=(ce,Z,ie,ye,yt)=>{k.forceLoadFile(T);var kt=zw(Z);if(!kt)throw new k.ErrnoError(48);return ae(ce,q,kt,Z,ie),{ptr:kt,allocated:!0}},T.stream_ops=$,T},absolutePath(){Oe("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder(){Oe("FS.createFolder has been removed; use FS.mkdir instead")},createLink(){Oe("FS.createLink has been removed; use FS.symlink instead")},joinPath(){Oe("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc(){Oe("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath(){Oe("FS.standardizePath has been removed; use PATH.normalize instead")}},ke={DEFAULT_POLLMASK:5,calculateAt(u,l,b){if(Ge.isAbs(l))return l;var v;if(u===-100)v=k.cwd();else{var D=ke.getStreamFromFD(u);v=D.path}if(l.length==0){if(!b)throw new k.ErrnoError(44);return v}return Ge.join2(v,l)},doStat(u,l,b){var v=u(l);z[b>>>2>>>0]=v.dev,z[b+4>>>2>>>0]=v.mode,Be[b+8>>>2>>>0]=v.nlink,z[b+12>>>2>>>0]=v.uid,z[b+16>>>2>>>0]=v.gid,z[b+20>>>2>>>0]=v.rdev,Qe=[v.size>>>0,(re=v.size,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+24>>>2>>>0]=Qe[0],z[b+28>>>2>>>0]=Qe[1],z[b+32>>>2>>>0]=4096,z[b+36>>>2>>>0]=v.blocks;var D=v.atime.getTime(),E=v.mtime.getTime(),_=v.ctime.getTime();return Qe=[Math.floor(D/1e3)>>>0,(re=Math.floor(D/1e3),+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+40>>>2>>>0]=Qe[0],z[b+44>>>2>>>0]=Qe[1],Be[b+48>>>2>>>0]=D%1e3*1e3*1e3,Qe=[Math.floor(E/1e3)>>>0,(re=Math.floor(E/1e3),+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+56>>>2>>>0]=Qe[0],z[b+60>>>2>>>0]=Qe[1],Be[b+64>>>2>>>0]=E%1e3*1e3*1e3,Qe=[Math.floor(_/1e3)>>>0,(re=Math.floor(_/1e3),+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+72>>>2>>>0]=Qe[0],z[b+76>>>2>>>0]=Qe[1],Be[b+80>>>2>>>0]=_%1e3*1e3*1e3,Qe=[v.ino>>>0,(re=v.ino,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[b+88>>>2>>>0]=Qe[0],z[b+92>>>2>>>0]=Qe[1],0},doMsync(u,l,b,v,D){if(!k.isFile(l.node.mode))throw new k.ErrnoError(43);if(v&2)return 0;var E=oe.slice(u,u+b);k.msync(l,E,D,b,v)},getStreamFromFD(u){var l=k.getStreamChecked(u);return l},varargs:void 0,getStr(u){var l=er(u);return l}};function MB(u,l,b){b>>>=0,ke.varargs=b;try{var v=ke.getStreamFromFD(u);switch(l){case 0:{var D=Us();if(D<0)return-28;for(;k.streams[D];)D++;var E;return E=k.dupStream(v,D),E.fd}case 1:case 2:return 0;case 3:return v.flags;case 4:{var D=Us();return v.flags|=D,0}case 12:{var D=Ii(),_=0;return se[D+_>>>1>>>0]=2,0}case 13:case 14:return 0}return-28}catch(C){if(typeof k>"u"||C.name!=="ErrnoError")throw C;return-C.errno}}function LB(u,l){l>>>=0;try{var b=ke.getStreamFromFD(u);return ke.doStat(k.stat,b.path,l)}catch(v){if(typeof k>"u"||v.name!=="ErrnoError")throw v;return-v.errno}}function NB(u,l,b){var v=Gi(l,b);try{return isNaN(v)?61:(k.ftruncate(u,v),0)}catch(D){if(typeof k>"u"||D.name!=="ErrnoError")throw D;return-D.errno}}var yr=(u,l,b)=>(R(typeof b=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),xd(u,oe,l,b));function jB(u,l,b){l>>>=0,b>>>=0;try{var v=ke.getStreamFromFD(u);v.getdents||(v.getdents=k.readdir(v.path));for(var D=280,E=0,_=k.llseek(v,0,1),C=Math.floor(_/D);C>>0,(re=T,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[l+E>>>2>>>0]=Qe[0],z[l+E+4>>>2>>>0]=Qe[1],Qe=[(C+1)*D>>>0,(re=(C+1)*D,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[l+E+8>>>2>>>0]=Qe[0],z[l+E+12>>>2>>>0]=Qe[1],se[l+E+16>>>1>>>0]=280,q[l+E+18>>>0]=$,yr(te,l+E+19,256),E+=D,C+=1}return k.llseek(v,C*D,0),E}catch(Z){if(typeof k>"u"||Z.name!=="ErrnoError")throw Z;return-Z.errno}}function KB(u,l,b){b>>>=0,ke.varargs=b;try{var v=ke.getStreamFromFD(u);switch(l){case 21509:return v.tty?0:-59;case 21505:{if(!v.tty)return-59;if(v.tty.ops.ioctl_tcgets){var D=v.tty.ops.ioctl_tcgets(v),E=Ii();z[E>>>2>>>0]=D.c_iflag||0,z[E+4>>>2>>>0]=D.c_oflag||0,z[E+8>>>2>>>0]=D.c_cflag||0,z[E+12>>>2>>>0]=D.c_lflag||0;for(var _=0;_<32;_++)q[E+_+17>>>0]=D.c_cc[_]||0;return 0}return 0}case 21510:case 21511:case 21512:return v.tty?0:-59;case 21506:case 21507:case 21508:{if(!v.tty)return-59;if(v.tty.ops.ioctl_tcsets){for(var E=Ii(),C=z[E>>>2>>>0],T=z[E+4>>>2>>>0],$=z[E+8>>>2>>>0],te=z[E+12>>>2>>>0],ae=[],_=0;_<32;_++)ae.push(q[E+_+17>>>0]);return v.tty.ops.ioctl_tcsets(v.tty,l,{c_iflag:C,c_oflag:T,c_cflag:$,c_lflag:te,c_cc:ae})}return 0}case 21519:{if(!v.tty)return-59;var E=Ii();return z[E>>>2>>>0]=0,0}case 21520:return v.tty?-28:-59;case 21531:{var E=Ii();return k.ioctl(v,l,E)}case 21523:{if(!v.tty)return-59;if(v.tty.ops.ioctl_tiocgwinsz){var ce=v.tty.ops.ioctl_tiocgwinsz(v.tty),E=Ii();se[E>>>1>>>0]=ce[0],se[E+2>>>1>>>0]=ce[1]}return 0}case 21524:return v.tty?0:-59;case 21515:return v.tty?0:-59;default:return-28}}catch(Z){if(typeof k>"u"||Z.name!=="ErrnoError")throw Z;return-Z.errno}}function VB(u,l){u>>>=0,l>>>=0;try{return u=ke.getStr(u),ke.doStat(k.lstat,u,l)}catch(b){if(typeof k>"u"||b.name!=="ErrnoError")throw b;return-b.errno}}function YB(u,l,b,v){l>>>=0,b>>>=0;try{l=ke.getStr(l);var D=v&256,E=v&4096;return v=v&-6401,R(!v,`unknown flags in __syscall_newfstatat: ${v}`),l=ke.calculateAt(u,l,E),ke.doStat(D?k.lstat:k.stat,l,b)}catch(_){if(typeof k>"u"||_.name!=="ErrnoError")throw _;return-_.errno}}function XB(u,l,b,v){l>>>=0,v>>>=0,ke.varargs=v;try{l=ke.getStr(l),l=ke.calculateAt(u,l);var D=v?Us():0;return k.open(l,b,D).fd}catch(E){if(typeof k>"u"||E.name!=="ErrnoError")throw E;return-E.errno}}function WB(u){u>>>=0;try{return u=ke.getStr(u),k.rmdir(u),0}catch(l){if(typeof k>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}function UB(u,l){u>>>=0,l>>>=0;try{return u=ke.getStr(u),ke.doStat(k.stat,u,l)}catch(b){if(typeof k>"u"||b.name!=="ErrnoError")throw b;return-b.errno}}function qB(u,l,b){l>>>=0;try{return l=ke.getStr(l),l=ke.calculateAt(u,l),b===0?k.unlink(l):b===512?k.rmdir(l):Oe("Invalid flags passed to unlinkat"),0}catch(v){if(typeof k>"u"||v.name!=="ErrnoError")throw v;return-v.errno}}var zB=()=>{Oe("native code called abort()")},ZB=1,JB=()=>ZB;function $B(u,l,b){return u>>>=0,l>>>=0,b>>>=0,oe.copyWithin(u>>>0,l>>>0,l+b>>>0)}var eE=()=>{throw 1/0};function tE(u,l,b){var v=Gi(u,l);b>>>=0;var D=new Date(v*1e3);z[b>>>2>>>0]=D.getUTCSeconds(),z[b+4>>>2>>>0]=D.getUTCMinutes(),z[b+8>>>2>>>0]=D.getUTCHours(),z[b+12>>>2>>>0]=D.getUTCDate(),z[b+16>>>2>>>0]=D.getUTCMonth(),z[b+20>>>2>>>0]=D.getUTCFullYear()-1900,z[b+24>>>2>>>0]=D.getUTCDay();var E=Date.UTC(D.getUTCFullYear(),0,1,0,0,0,0),_=(D.getTime()-E)/(1e3*60*60*24)|0;z[b+28>>>2>>>0]=_}var nE=u=>u%4===0&&(u%100!==0||u%400===0),rE=[0,31,60,91,121,152,182,213,244,274,305,335],iE=[0,31,59,90,120,151,181,212,243,273,304,334],aE=u=>{var l=nE(u.getFullYear()),b=l?rE:iE,v=b[u.getMonth()]+u.getDate()-1;return v};function oE(u,l,b){var v=Gi(u,l);b>>>=0;var D=new Date(v*1e3);z[b>>>2>>>0]=D.getSeconds(),z[b+4>>>2>>>0]=D.getMinutes(),z[b+8>>>2>>>0]=D.getHours(),z[b+12>>>2>>>0]=D.getDate(),z[b+16>>>2>>>0]=D.getMonth(),z[b+20>>>2>>>0]=D.getFullYear()-1900,z[b+24>>>2>>>0]=D.getDay();var E=aE(D)|0;z[b+28>>>2>>>0]=E,z[b+36>>>2>>>0]=-(D.getTimezoneOffset()*60);var _=new Date(D.getFullYear(),0,1),C=new Date(D.getFullYear(),6,1).getTimezoneOffset(),T=_.getTimezoneOffset(),$=(C!=T&&D.getTimezoneOffset()==Math.min(T,C))|0;z[b+32>>>2>>>0]=$}function sE(u,l,b,v,D,E,_,C){u>>>=0;var T=Gi(D,E);_>>>=0,C>>>=0;try{if(isNaN(T))return 61;var $=ke.getStreamFromFD(v),te=k.mmap($,u,T,l,b),ae=te.ptr;return z[_>>>2>>>0]=te.allocated,Be[C>>>2>>>0]=ae,0}catch(ce){if(typeof k>"u"||ce.name!=="ErrnoError")throw ce;return-ce.errno}}function AE(u,l,b,v,D,E,_){u>>>=0,l>>>=0;var C=Gi(E,_);try{var T=ke.getStreamFromFD(D);b&2&&ke.doMsync(u,T,l,v,C)}catch($){if(typeof k>"u"||$.name!=="ErrnoError")throw $;return-$.errno}}var cE=function(u,l,b,v){u>>>=0,l>>>=0,b>>>=0,v>>>=0;var D=new Date().getFullYear(),E=new Date(D,0,1),_=new Date(D,6,1),C=E.getTimezoneOffset(),T=_.getTimezoneOffset(),$=Math.max(C,T);Be[u>>>2>>>0]=$*60,z[l>>>2>>>0]=+(C!=T);var te=Z=>{var ie=Z>=0?"-":"+",ye=Math.abs(Z),yt=String(Math.floor(ye/60)).padStart(2,"0"),kt=String(ye%60).padStart(2,"0");return`UTC${ie}${yt}${kt}`},ae=te(C),ce=te(T);R(ae),R(ce),R(Ya(ae)<=16,`timezone name truncated to fit in TZNAME_MAX (${ae})`),R(Ya(ce)<=16,`timezone name truncated to fit in TZNAME_MAX (${ce})`),TDate.now();function uE(u){return u>>>=0,G(er(u))}var pE=()=>performance.now(),lE=()=>4294901760,mE=u=>{var l=K.buffer,b=(u-l.byteLength+65535)/65536|0;try{return K.grow(b),Hw(),1}catch(v){G(`growMemory: Attempted to grow heap from ${l.byteLength} bytes to ${u} bytes, but got error: ${v}`)}};function wE(u){u>>>=0;var l=oe.length;R(u>l);var b=lE();if(u>b)return G(`Cannot enlarge memory, requested ${u} bytes, but the limit is ${b} bytes!`),!1;for(var v=1;v<=4;v*=2){var D=l*(1+.2/v);D=Math.min(D,u+100663296);var E=Math.min(b,qw(Math.max(u,D),65536)),_=mE(E);if(_)return!0}return G(`Failed to grow the heap from ${l} bytes to ${E} bytes, not enough memory!`),!1}var Od={},bE=()=>h||"./this.program",Xa=()=>{if(!Xa.strings){var u=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",l={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:u,_:bE()};for(var b in Od)Od[b]===void 0?delete l[b]:l[b]=Od[b];var v=[];for(var b in l)v.push(`${b}=${l[b]}`);Xa.strings=v}return Xa.strings},fE=(u,l)=>{for(var b=0;b>>0]=u.charCodeAt(b);q[l>>>0]=0},gE=function(u,l){u>>>=0,l>>>=0;var b=0;return Xa().forEach((v,D)=>{var E=l+b;Be[u+D*4>>>2>>>0]=E,fE(v,E),b+=v.length+1}),0},FE=function(u,l){u>>>=0,l>>>=0;var b=Xa();Be[u>>>2>>>0]=b.length;var v=0;return b.forEach(D=>v+=D.length+1),Be[l>>>2>>>0]=v,0},Jw=0,$w=()=>EB||Jw>0,vE=u=>{ge=u,$w()||(n.onExit?.(u),ve=!0),P(u,new DB(u))},PE=(u,l)=>{if(ge=u,p_(),$w()&&!l){var b=`program exited (with status: ${u}), but keepRuntimeAlive() is set (counter=${Jw}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`;a(b),G(b)}vE(u)},hE=PE;function kE(u){try{var l=ke.getStreamFromFD(u);return k.close(l),0}catch(b){if(typeof k>"u"||b.name!=="ErrnoError")throw b;return b.errno}}var DE=(u,l,b,v)=>{for(var D=0,E=0;E>>2>>>0],C=Be[l+4>>>2>>>0];l+=8;var T=k.read(u,q,_,C,v);if(T<0)return-1;if(D+=T,T>>=0,b>>>=0,v>>>=0;try{var D=ke.getStreamFromFD(u),E=DE(D,l,b);return Be[v>>>2>>>0]=E,0}catch(_){if(typeof k>"u"||_.name!=="ErrnoError")throw _;return _.errno}}function EE(u,l,b,v,D){var E=Gi(l,b);D>>>=0;try{if(isNaN(E))return 61;var _=ke.getStreamFromFD(u);return k.llseek(_,E,v),Qe=[_.position>>>0,(re=_.position,+Math.abs(re)>=1?re>0?+Math.floor(re/4294967296)>>>0:~~+Math.ceil((re-+(~~re>>>0))/4294967296)>>>0:0)],z[D>>>2>>>0]=Qe[0],z[D+4>>>2>>>0]=Qe[1],_.getdents&&E===0&&v===0&&(_.getdents=null),0}catch(C){if(typeof k>"u"||C.name!=="ErrnoError")throw C;return C.errno}}function _E(u){try{var l=ke.getStreamFromFD(u);return l.stream_ops?.fsync?l.stream_ops.fsync(l):0}catch(b){if(typeof k>"u"||b.name!=="ErrnoError")throw b;return b.errno}}var yE=(u,l,b,v)=>{for(var D=0,E=0;E>>2>>>0],C=Be[l+4>>>2>>>0];l+=8;var T=k.write(u,q,_,C,v);if(T<0)return-1;if(D+=T,T>>=0,b>>>=0,v>>>=0;try{var D=ke.getStreamFromFD(u),E=yE(D,l,b);return Be[v>>>2>>>0]=E,0}catch(_){if(typeof k>"u"||_.name!=="ErrnoError")throw _;return _.errno}}function CE(u,l){u>>>=0,l>>>=0;try{return Id(oe.subarray(u>>>0,u+l>>>0)),0}catch(b){if(typeof k>"u"||b.name!=="ErrnoError")throw b;return b.errno}}var Wa=[],On,pt=u=>{var l=Wa[u];return l||(u>=Wa.length&&(Wa.length=u+1),Wa[u]=l=On.get(u)),R(On.get(u)==l,"JavaScript-side Wasm function table mirror is out of date!"),l},eb=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,IE=(u,l)=>{R(u%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var b=u,v=b>>1,D=v+l/2;!(v>=D)&&ut[v>>>0];)++v;if(b=v<<1,b-u>32&&eb)return eb.decode(oe.subarray(u>>>0,b>>>0));for(var E="",_=0;!(_>=l/2);++_){var C=se[u+_*2>>>1>>>0];if(C==0)break;E+=String.fromCharCode(C)}return E},tb=(u,l)=>{R(u<16384),u<128?l.push(u):l.push(u%128|128,u>>7)},SE=u=>{R(!u.includes("j"),"i64 not permitted in function signatures when WASM_BIGINT is disabled");for(var l={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},b={parameters:[],results:u[0]=="v"?[]:[l[u[0]]]},v=1;v{var b=u.slice(0,1),v=u.slice(1),D={i:127,p:127,j:126,f:125,d:124,e:111};l.push(96),tb(v.length,l);for(var E=0;E{if(R(!l.includes("j"),"i64 not permitted in function signatures when WASM_BIGINT is disabled"),typeof WebAssembly.Function=="function")return new WebAssembly.Function(SE(l),u);var b=[1];xE(l,b);var v=[0,97,115,109,1,0,0,0,1];tb(b.length,v),v.push(...b),v.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var D=new WebAssembly.Module(new Uint8Array(v)),E=new WebAssembly.Instance(D,{e:{f:u}}),_=E.exports.f;return _},OE=(u,l)=>{if(Gr)for(var b=u;b(Gr||(Gr=new WeakMap,OE(0,On.length)),Gr.get(u)||0),Qd=[],RE=()=>{if(Qd.length)return Qd.pop();try{On.grow(1)}catch(u){throw u instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":u}return On.length-1},Rd=(u,l)=>{On.set(u,l),Wa[u]=On.get(u)},TE=(u,l)=>{R(typeof u<"u");var b=QE(u);if(b)return b;var v=RE();try{Rd(v,u)}catch(E){if(!(E instanceof TypeError))throw E;R(typeof l<"u","Missing signature argument to addFunction: "+u);var D=HE(u,l);Rd(v,D)}return Gr.set(u,v),v},ME=u=>{var l=n["_"+u];return R(l,"Cannot call unknown function "+u+", make sure it is exported"),l},LE=(u,l)=>{R(u.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)"),q.set(u,l>>>0)},nb=u=>Ab(u),NE=u=>{var l=Ya(u)+1,b=nb(l);return yr(u,b,l),b},rb=(u,l,b,v,D)=>{var E={string:ie=>{var ye=0;return ie!=null&&ie!==0&&(ye=NE(ie)),ye},array:ie=>{var ye=nb(ie.length);return LE(ie,ye),ye}};function _(ie){return l==="string"?er(ie):l==="boolean"?!!ie:ie}var C=ME(u),T=[],$=0;if(R(l!=="array",'Return type should not be "array".'),v)for(var te=0;te(...D)=>rb(u,l,b,D,v),KE=u=>{Gr.delete(pt(u)),Rd(u,null),Qd.push(u)},VE=(u,l,b)=>{if(R(l%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),R(typeof b=="number","stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),b??(b=2147483647),b<2)return 0;b-=2;for(var v=l,D=b>>1>>>0]=_,l+=2}return se[l>>>1>>>0]=0,l-v};k.createPreloadedFile=QB,k.staticInit();function YE(){hB("fetchSettings")}var ib={__assert_fail:yB,__syscall_fcntl64:MB,__syscall_fstat64:LB,__syscall_ftruncate64:NB,__syscall_getdents64:jB,__syscall_ioctl:KB,__syscall_lstat64:VB,__syscall_newfstatat:YB,__syscall_openat:XB,__syscall_rmdir:WB,__syscall_stat64:UB,__syscall_unlinkat:qB,_abort_js:zB,_emscripten_get_now_is_monotonic:JB,_emscripten_memcpy_js:$B,_emscripten_throw_longjmp:eE,_gmtime_js:tE,_localtime_js:oE,_mmap_js:sE,_munmap_js:AE,_tzset_js:cE,emscripten_date_now:dE,emscripten_err:uE,emscripten_get_now:pE,emscripten_resize_heap:wE,environ_get:gE,environ_sizes_get:FE,exit:hE,fd_close:kE,fd_read:BE,fd_seek:EE,fd_sync:_E,fd_write:GE,invoke_ii:i_,invoke_iii:ZE,invoke_iiii:JE,invoke_iiiii:n_,invoke_iiiiii:o_,invoke_iiiiiii:t_,invoke_v:a_,invoke_vi:$E,invoke_vii:e_,invoke_viii:r_,invoke_viiii:zE,invoke_viiiiiiiii:s_,random_get:CE},Xe=PB(),oM=c("__wasm_call_ctors",0),sM=n._EPDFAction_CloseModel=c("EPDFAction_CloseModel",1),AM=n._EPDFAction_LoadModel=c("EPDFAction_LoadModel",1),cM=n._EPDFAction_GetRootNode=c("EPDFAction_GetRootNode",1),dM=n._EPDFAction_GetNodeCount=c("EPDFAction_GetNodeCount",1),uM=n._EPDFAction_GetNodeType=c("EPDFAction_GetNodeType",2),pM=n._EPDFAction_GetNodeSubtype=c("EPDFAction_GetNodeSubtype",4),lM=n._EPDFAction_NodeHasJavaScript=c("EPDFAction_NodeHasJavaScript",2),mM=n._EPDFAction_GetNodeJavaScript=c("EPDFAction_GetNodeJavaScript",4),wM=n._EPDFAction_GetNodeDest=c("EPDFAction_GetNodeDest",3),bM=n._EPDFAction_GetNodeURI=c("EPDFAction_GetNodeURI",5),fM=n._EPDFAction_GetNodeFilePath=c("EPDFAction_GetNodeFilePath",4),gM=n._EPDFAction_GetNodeName=c("EPDFAction_GetNodeName",4),FM=n._EPDFAction_GetNodeTargetCount=c("EPDFAction_GetNodeTargetCount",2),vM=n._EPDFAction_GetNodeTargetName=c("EPDFAction_GetNodeTargetName",5),PM=n._EPDFAction_GetNodeTargetObjectNumber=c("EPDFAction_GetNodeTargetObjectNumber",4),hM=n._EPDFAction_GetNodeHideFlag=c("EPDFAction_GetNodeHideFlag",3),kM=n._EPDFAction_GetNodeResetForm=c("EPDFAction_GetNodeResetForm",4),DM=n._EPDFAction_GetNodeSubmitForm=c("EPDFAction_GetNodeSubmitForm",4),BM=n._EPDFAction_GetNodeSubmitFormURL=c("EPDFAction_GetNodeSubmitFormURL",4),EM=n._EPDFAction_GetNodeSubmitFormCharSet=c("EPDFAction_GetNodeSubmitFormCharSet",4),_M=n._EPDFAction_GetNodeURIIsMap=c("EPDFAction_GetNodeURIIsMap",3),yM=n._EPDFAction_GetNextCount=c("EPDFAction_GetNextCount",2),GM=n._EPDFAction_GetNextAt=c("EPDFAction_GetNextAt",3),CM=n._EPDFAction_GetWarningFlags=c("EPDFAction_GetWarningFlags",1),IM=n._EPDFAction_IsComplete=c("EPDFAction_IsComplete",1),SM=n._EPDFDoc_GetOpenActionModel=c("EPDFDoc_GetOpenActionModel",1),xM=n._EPDFDoc_GetOpenActionDest=c("EPDFDoc_GetOpenActionDest",1),HM=n._EPDFDoc_GetAdditionalActionModel=c("EPDFDoc_GetAdditionalActionModel",2),OM=n._EPDFDoc_GetPageActionModel=c("EPDFDoc_GetPageActionModel",3),QM=n._EPDFAnnot_GetActionModel=c("EPDFAnnot_GetActionModel",2),RM=n._EPDFAction_CreateJavaScript=c("EPDFAction_CreateJavaScript",2),TM=n._EPDFAction_CreateHide=c("EPDFAction_CreateHide",4),MM=n._EPDFAction_CreateResetForm=c("EPDFAction_CreateResetForm",4),LM=n._EPDFAction_CreateSubmitForm=c("EPDFAction_CreateSubmitForm",5),NM=n._EPDFAction_SetNext=c("EPDFAction_SetNext",4),jM=n._EPDFAnnot_SetEventAction=c("EPDFAnnot_SetEventAction",3),KM=n._EPDFAnnot_SetNumberValue=c("EPDFAnnot_SetNumberValue",3),VM=n._EPDFAnnot_HasEmbedMetadata=c("EPDFAnnot_HasEmbedMetadata",1),YM=n._EPDFAnnot_ClearEmbedMetadata=c("EPDFAnnot_ClearEmbedMetadata",1),XM=n._EPDFAnnot_ClearEmbedMetadataKey=c("EPDFAnnot_ClearEmbedMetadataKey",2),WM=n._EPDFAnnot_SetEmbedMetadataString=c("EPDFAnnot_SetEmbedMetadataString",3),UM=n._EPDFAnnot_GetEmbedMetadataString=c("EPDFAnnot_GetEmbedMetadataString",4),qM=n._EPDFAnnot_SetEmbedMetadataNumber=c("EPDFAnnot_SetEmbedMetadataNumber",3),zM=n._EPDFAnnot_GetEmbedMetadataNumber=c("EPDFAnnot_GetEmbedMetadataNumber",3),ZM=n._EPDFAnnot_SetEmbedMetadataBoolean=c("EPDFAnnot_SetEmbedMetadataBoolean",3),JM=n._EPDFAnnot_GetEmbedMetadataBoolean=c("EPDFAnnot_GetEmbedMetadataBoolean",3),$M=n._EPDFAnnot_SetEmbedMetadataRect=c("EPDFAnnot_SetEmbedMetadataRect",3),eL=n._EPDFAnnot_GetEmbedMetadataRect=c("EPDFAnnot_GetEmbedMetadataRect",3),tL=n._EPDFAnnot_SetEmbedMetadataJSON=c("EPDFAnnot_SetEmbedMetadataJSON",2),nL=n._EPDFAnnot_GetEmbedMetadataJSON=c("EPDFAnnot_GetEmbedMetadataJSON",3),rL=n._EPDFDocument_ClearEmbedMetadata=c("EPDFDocument_ClearEmbedMetadata",1),iL=n._EPDFAnnot_SetAction=c("EPDFAnnot_SetAction",2),aL=n._EPDFAnnot_RemoveAction=c("EPDFAnnot_RemoveAction",1),oL=n._EPDFAnnot_RemoveDest=c("EPDFAnnot_RemoveDest",1),sL=n._EPDFAnnot_RemoveKey=c("EPDFAnnot_RemoveKey",2),AL=n._EPDFAnnot_GetFileAttachmentForWrite=c("EPDFAnnot_GetFileAttachmentForWrite",1),cL=n._EPDFAnnot_SetColor=c("EPDFAnnot_SetColor",5),dL=n._EPDFAnnot_GetColor=c("EPDFAnnot_GetColor",5),uL=n._EPDFAnnot_ClearColor=c("EPDFAnnot_ClearColor",2),pL=n._EPDFAnnot_SetNoColor=c("EPDFAnnot_SetNoColor",2),lL=n._EPDFAnnot_SetOpacity=c("EPDFAnnot_SetOpacity",2),mL=n._EPDFAnnot_GetOpacity=c("EPDFAnnot_GetOpacity",2),wL=n._EPDFAnnot_GetBorderEffect=c("EPDFAnnot_GetBorderEffect",2),bL=n._EPDFAnnot_SetBorderEffect=c("EPDFAnnot_SetBorderEffect",2),fL=n._EPDFAnnot_ClearBorderEffect=c("EPDFAnnot_ClearBorderEffect",1),gL=n._EPDFAnnot_GetRectangleDifferences=c("EPDFAnnot_GetRectangleDifferences",5),FL=n._EPDFAnnot_ClearRectangleDifferences=c("EPDFAnnot_ClearRectangleDifferences",1),vL=n._EPDFAnnot_GetBorderDashPatternCount=c("EPDFAnnot_GetBorderDashPatternCount",1),PL=n._EPDFAnnot_GetBorderDashPattern=c("EPDFAnnot_GetBorderDashPattern",3),hL=n._EPDFAnnot_SetBorderDashPattern=c("EPDFAnnot_SetBorderDashPattern",3),kL=n._EPDFAnnot_GetBorderStyle=c("EPDFAnnot_GetBorderStyle",2),DL=n._EPDFAnnot_SetBorderStyle=c("EPDFAnnot_SetBorderStyle",3),BL=n._EPDFAnnot_GenerateAppearance=c("EPDFAnnot_GenerateAppearance",1),EL=n._EPDFAnnot_GenerateAppearanceWithBlend=c("EPDFAnnot_GenerateAppearanceWithBlend",2),_L=n._EPDFAnnot_GetBlendMode=c("EPDFAnnot_GetBlendMode",1),yL=n._EPDFAnnot_SetIntent=c("EPDFAnnot_SetIntent",2),GL=n._EPDFAnnot_GetIntent=c("EPDFAnnot_GetIntent",3),CL=n._EPDFAnnot_GetRichContent=c("EPDFAnnot_GetRichContent",3),IL=n._EPDFAnnot_GetRichTextJSON=c("EPDFAnnot_GetRichTextJSON",3),SL=n._EPDFAnnot_SetRichTextJSON=c("EPDFAnnot_SetRichTextJSON",2),xL=n._EPDFAnnot_SetRichTextXHTML=c("EPDFAnnot_SetRichTextXHTML",2),HL=n._EPDFDoc_SetTypographicFeatures=c("EPDFDoc_SetTypographicFeatures",2),OL=n._EPDFDoc_GetTypographicFeatures=c("EPDFDoc_GetTypographicFeatures",1),QL=n._EPDFAnnot_SetLineEndings=c("EPDFAnnot_SetLineEndings",3),RL=n._EPDFAnnot_GetLineEndings=c("EPDFAnnot_GetLineEndings",3),TL=n._EPDFAnnot_SetVertices=c("EPDFAnnot_SetVertices",3),ML=n._EPDFAnnot_SetLine=c("EPDFAnnot_SetLine",3),LL=n._EPDFAnnot_SetDefaultAppearance=c("EPDFAnnot_SetDefaultAppearance",6),NL=n._EPDFAnnot_SetDefaultAppearanceRegisteredFont=c("EPDFAnnot_SetDefaultAppearanceRegisteredFont",6),jL=n._EPDFAnnot_GetDefaultAppearance=c("EPDFAnnot_GetDefaultAppearance",6),KL=n._EPDFAnnot_GetDefaultAppearanceFontFace=c("EPDFAnnot_GetDefaultAppearanceFontFace",5),VL=n._EPDFAnnot_GetDefaultAppearanceFontPostScriptName=c("EPDFAnnot_GetDefaultAppearanceFontPostScriptName",3),YL=n._EPDFAnnot_SetDefaultAppearanceDocumentFont=c("EPDFAnnot_SetDefaultAppearanceDocumentFont",6),XL=n._EPDFAnnot_SetTextAlignment=c("EPDFAnnot_SetTextAlignment",2),WL=n._EPDFAnnot_GetTextAlignment=c("EPDFAnnot_GetTextAlignment",1),UL=n._EPDFPage_GetAnnotByName=c("EPDFPage_GetAnnotByName",2),qL=n._EPDFPage_RemoveAnnotByName=c("EPDFPage_RemoveAnnotByName",2),zL=n._EPDFAnnot_SetLinkedAnnot=c("EPDFAnnot_SetLinkedAnnot",3),ZL=n._EPDFPage_GetAnnotIndexByNameRaw=c("EPDFPage_GetAnnotIndexByNameRaw",3),JL=n._EPDFPage_GetAnnotIndexByObjectNumberRaw=c("EPDFPage_GetAnnotIndexByObjectNumberRaw",3),$L=n._EPDFPage_GetAnnotCountRaw=c("EPDFPage_GetAnnotCountRaw",2),eN=n._EPDFPage_GetAnnotRaw=c("EPDFPage_GetAnnotRaw",3),tN=n._EPDFPage_CreateAnnotRaw=c("EPDFPage_CreateAnnotRaw",4),nN=n._EPDFPage_RemoveAnnotRaw=c("EPDFPage_RemoveAnnotRaw",3),rN=n._EPDFPage_PromoteInlineAnnotsRaw=c("EPDFPage_PromoteInlineAnnotsRaw",2),iN=n._EPDFAnnot_IsValid=c("EPDFAnnot_IsValid",1),aN=n._EPDFAnnot_SetSubtype=c("EPDFAnnot_SetSubtype",2),oN=n._EPDFAnnot_SetName=c("EPDFAnnot_SetName",2),sN=n._EPDFAnnot_GetName=c("EPDFAnnot_GetName",3),AN=n._EPDFAnnot_UpdateAppearanceToRect=c("EPDFAnnot_UpdateAppearanceToRect",2),cN=n._EPDFAnnot_SetStampOpacity=c("EPDFAnnot_SetStampOpacity",3),dN=n._EPDFPage_CreateAnnot=c("EPDFPage_CreateAnnot",2),uN=n._EPDFAnnot_SetRotate=c("EPDFAnnot_SetRotate",2),pN=n._EPDFAnnot_GetRotate=c("EPDFAnnot_GetRotate",2),lN=n._EPDFAnnot_GetAppearanceTransform=c("EPDFAnnot_GetAppearanceTransform",3),mN=n._EPDFAnnot_GetReplyType=c("EPDFAnnot_GetReplyType",1),wN=n._EPDFAnnot_SetReplyType=c("EPDFAnnot_SetReplyType",2),bN=n._EPDFAnnot_GetBooleanValue=c("EPDFAnnot_GetBooleanValue",3),fN=n._EPDFAnnot_SetBooleanValue=c("EPDFAnnot_SetBooleanValue",3),gN=n._EPDFAnnot_SetOverlayText=c("EPDFAnnot_SetOverlayText",2),FN=n._EPDFAnnot_GetOverlayText=c("EPDFAnnot_GetOverlayText",3),vN=n._EPDFAnnot_SetOverlayTextRepeat=c("EPDFAnnot_SetOverlayTextRepeat",2),PN=n._EPDFAnnot_GetOverlayTextRepeat=c("EPDFAnnot_GetOverlayTextRepeat",1),hN=n._EPDFAnnot_SetAppearanceFromPage=c("EPDFAnnot_SetAppearanceFromPage",3),kN=n._EPDFAnnot_ExportAppearance=c("EPDFAnnot_ExportAppearance",3),DN=n._EPDFDoc_CanonicalDrawing=c("EPDFDoc_CanonicalDrawing",2),BN=n._EPDFDoc_ImportDrawing=c("EPDFDoc_ImportDrawing",2),EN=n._EPDFDoc_ExportDrawing=c("EPDFDoc_ExportDrawing",2),_N=n._EPDFDoc_GetStampDrawings=c("EPDFDoc_GetStampDrawings",3),yN=n._EPDFAnnot_SetStampDrawing=c("EPDFAnnot_SetStampDrawing",3),GN=n._EPDFAnnot_GetStampDrawing=c("EPDFAnnot_GetStampDrawing",1),CN=n._EPDFAnnot_GetRect=c("EPDFAnnot_GetRect",2),IN=n._EPDFAnnot_SetRect=c("EPDFAnnot_SetRect",2),SN=n._EPDFAnnot_SetAPMatrix=c("EPDFAnnot_SetAPMatrix",3),xN=n._EPDFAnnot_GetAPMatrix=c("EPDFAnnot_GetAPMatrix",3),HN=n._EPDFAnnot_GetAvailableAppearanceModes=c("EPDFAnnot_GetAvailableAppearanceModes",1),ON=n._EPDFAnnot_GetAppearanceStateCount=c("EPDFAnnot_GetAppearanceStateCount",2),QN=n._EPDFAnnot_GetAppearanceStateName=c("EPDFAnnot_GetAppearanceStateName",5),RN=n._EPDFAnnot_GetAppearanceState=c("EPDFAnnot_GetAppearanceState",3),TN=n._EPDFAnnot_HasAppearanceStream=c("EPDFAnnot_HasAppearanceStream",2),MN=n._EPDFAnnot_GetDrawingRect=c("EPDFAnnot_GetDrawingRect",3),LN=n._EPDFAnnot_SetMKColor=c("EPDFAnnot_SetMKColor",5),NN=n._EPDFAnnot_GetMKColor=c("EPDFAnnot_GetMKColor",5),jN=n._EPDFAnnot_ClearMKColor=c("EPDFAnnot_ClearMKColor",2),KN=n._EPDFAnnot_SetMKText=c("EPDFAnnot_SetMKText",3),VN=n._EPDFAnnot_GetMKText=c("EPDFAnnot_GetMKText",4),YN=n._EPDFAnnot_SetMKTextPosition=c("EPDFAnnot_SetMKTextPosition",2),XN=n._EPDFAnnot_GetMKTextPosition=c("EPDFAnnot_GetMKTextPosition",1),WN=n._EPDFAnnot_SetMKRotation=c("EPDFAnnot_SetMKRotation",2),UN=n._EPDFAnnot_GetMKRotation=c("EPDFAnnot_GetMKRotation",1),qN=n._EPDFAnnot_GenerateFormFieldAP=c("EPDFAnnot_GenerateFormFieldAP",1),zN=n._EPDFAnnot_GetCalloutLineCount=c("EPDFAnnot_GetCalloutLineCount",1),ZN=n._EPDFAnnot_GetCalloutLine=c("EPDFAnnot_GetCalloutLine",3),JN=n._EPDFAnnot_SetCalloutLine=c("EPDFAnnot_SetCalloutLine",3),$N=n._EPDFAnnot_GetObjectNumber=c("EPDFAnnot_GetObjectNumber",1),ej=n._EPDFAnnot_GetStructurePosition=c("EPDFAnnot_GetStructurePosition",3),tj=n._EPDFPage_GetAnnotByObjectNumber=c("EPDFPage_GetAnnotByObjectNumber",2),nj=n._EPDFPage_RemoveAnnot=c("EPDFPage_RemoveAnnot",2),rj=n._EPDFPage_RemoveAnnotByObjectNumber=c("EPDFPage_RemoveAnnotByObjectNumber",2),ij=n._EPDFPage_MoveAnnots=c("EPDFPage_MoveAnnots",4),aj=n._EPDFPage_MoveAnnotsRaw=c("EPDFPage_MoveAnnotsRaw",5),oj=n._EPDF_LoadBaseDocument=c("EPDF_LoadBaseDocument",2),sj=n._EPDF_LoadMemBaseDocument=c("EPDF_LoadMemBaseDocument",3),Aj=n._EPDF_LoadMemBaseDocument64=c("EPDF_LoadMemBaseDocument64",3),cj=n._EPDF_ReleaseBaseDocument=c("EPDF_ReleaseBaseDocument",1),dj=n._EPDFPage_ExportAnnotsRawToOwnedBuffer=c("EPDFPage_ExportAnnotsRawToOwnedBuffer",5),uj=n._EPDFPage_ImportAnnotsRaw=c("EPDFPage_ImportAnnotsRaw",4),pj=n._EPDFDoc_ExportDictRawToOwnedBuffer=c("EPDFDoc_ExportDictRawToOwnedBuffer",4),lj=n._EPDFDoc_ExportDictCanonicalToOwnedBuffer=c("EPDFDoc_ExportDictCanonicalToOwnedBuffer",5),mj=n._EPDFDoc_ImportDictRaw=c("EPDFDoc_ImportDictRaw",3),wj=n._EPDFForm_ExportFieldRawToOwnedBuffer=c("EPDFForm_ExportFieldRawToOwnedBuffer",3),bj=n._EPDFForm_ImportFieldRaw=c("EPDFForm_ImportFieldRaw",3),fj=n._EPDFOutline_ExportItemRawToOwnedBuffer=c("EPDFOutline_ExportItemRawToOwnedBuffer",3),gj=n._EPDFOutline_ImportItemRaw=c("EPDFOutline_ImportItemRaw",3),Fj=n._EPDFPage_ExportRawToOwnedBuffer=c("EPDFPage_ExportRawToOwnedBuffer",3),vj=n._EPDFPage_ImportRaw=c("EPDFPage_ImportRaw",3),Pj=n._EPDFAttachment_ExportRawToOwnedBuffer=c("EPDFAttachment_ExportRawToOwnedBuffer",3),hj=n._EPDFAttachment_ExportCanonicalToOwnedBuffer=c("EPDFAttachment_ExportCanonicalToOwnedBuffer",3),kj=n._EPDFAttachment_ImportRaw=c("EPDFAttachment_ImportRaw",3),Dj=n._EPDFCatalog_GetMetadata=c("EPDFCatalog_GetMetadata",3),Bj=n._EPDFCatalog_SetMetadata=c("EPDFCatalog_SetMetadata",3),Ej=n._EPDFFont_RegisterFont=c("EPDFFont_RegisterFont",4),_j=n._EPDFFont_RegisterMemFont=c("EPDFFont_RegisterMemFont",5),yj=n._EPDFFont_RegisterMemFont64=c("EPDFFont_RegisterMemFont64",5),Gj=n._EPDFFont_ClearRegisteredFonts=c("EPDFFont_ClearRegisteredFonts",0),Cj=n._EPDFFont_GetEmbeddingPermission=c("EPDFFont_GetEmbeddingPermission",1),Ij=n._EPDFFont_IsEditingAuthorized=c("EPDFFont_IsEditingAuthorized",1),Sj=n._EPDFFont_AuthorizeEditing=c("EPDFFont_AuthorizeEditing",1),xj=n._EPDFFont_IsInstanced=c("EPDFFont_IsInstanced",1),Hj=n._EPDFFont_GetFamilyName=c("EPDFFont_GetFamilyName",3),Oj=n._EPDFFont_GetWeight=c("EPDFFont_GetWeight",1),Qj=n._EPDFFont_IsItalic=c("EPDFFont_IsItalic",1),Rj=n._EPDFDoc_SetFontEmbeddingPolicy=c("EPDFDoc_SetFontEmbeddingPolicy",2),Tj=n._EPDFDoc_GetFontEmbeddingPolicy=c("EPDFDoc_GetFontEmbeddingPolicy",1),Mj=n._EPDFFont_AddFallbackFont=c("EPDFFont_AddFallbackFont",2),Lj=n._EPDFFont_ClearFallbackFonts=c("EPDFFont_ClearFallbackFonts",0),Nj=n._EPDFFont_SetLastResortFont=c("EPDFFont_SetLastResortFont",1),jj=n._EPDFFont_GetLastResortFont=c("EPDFFont_GetLastResortFont",0),Kj=n._EPDFFont_GetFallbackOrder=c("EPDFFont_GetFallbackOrder",4),Vj=n._EPDFFont_GetProgramData=c("EPDFFont_GetProgramData",3),Yj=n._EPDFFont_GetProgramFormat=c("EPDFFont_GetProgramFormat",1),Xj=n._EPDFFont_GetProgramHash=c("EPDFFont_GetProgramHash",2),Wj=n._EPDFFont_GetCoverage=c("EPDFFont_GetCoverage",3),Uj=n._EPDFFont_GetMetrics=c("EPDFFont_GetMetrics",3),qj=n._EPDFFont_GetPostScriptName=c("EPDFFont_GetPostScriptName",3),zj=n._EPDFFontFaces_Load=c("EPDFFontFaces_Load",1),Zj=n._EPDFFontFaces_Close=c("EPDFFontFaces_Close",1),Jj=n._EPDFDoc_GetFontsFingerprint=c("EPDFDoc_GetFontsFingerprint",2),$j=n._EPDFFontFaces_Count=c("EPDFFontFaces_Count",1),e1=n._EPDFFontFaces_GetFamily=c("EPDFFontFaces_GetFamily",4),t1=n._EPDFFontFaces_GetWeight=c("EPDFFontFaces_GetWeight",2),n1=n._EPDFFontFaces_IsItalic=c("EPDFFontFaces_IsItalic",2),r1=n._EPDFFontFaces_CountPrograms=c("EPDFFontFaces_CountPrograms",2),i1=n._EPDFFontFaces_GetProgramObjNum=c("EPDFFontFaces_GetProgramObjNum",3),a1=n._EPDFFontFaces_GetProgramFormat=c("EPDFFontFaces_GetProgramFormat",3),o1=n._EPDFFontFaces_GetProgramEmbedded=c("EPDFFontFaces_GetProgramEmbedded",3),s1=n._EPDFFontFaces_GetProgramPostScriptName=c("EPDFFontFaces_GetProgramPostScriptName",5),A1=n._EPDFFontFaces_GetProgramEmbeddingPermission=c("EPDFFontFaces_GetProgramEmbeddingPermission",3),c1=n._EPDFFontFaces_ProgramMapsUnicode=c("EPDFFontFaces_ProgramMapsUnicode",3),d1=n._EPDFFontFaces_GetProgramHash=c("EPDFFontFaces_GetProgramHash",4),u1=n._EPDFFontFaces_GetProgramDisplayHash=c("EPDFFontFaces_GetProgramDisplayHash",4),p1=n._EPDFFontFaces_GetProgramMetrics=c("EPDFFontFaces_GetProgramMetrics",5),l1=n._EPDFDoc_GetFontProgramData=c("EPDFDoc_GetFontProgramData",4),m1=n._EPDFDoc_GetFontDisplayProgramData=c("EPDFDoc_GetFontDisplayProgramData",4),w1=n._EPDFDoc_GetFontDisplayProgramCoverage=c("EPDFDoc_GetFontDisplayProgramCoverage",4),b1=n._EPDFDoc_ResolveFonts=c("EPDFDoc_ResolveFonts",8),f1=n._EPDFFontResolution_Close=c("EPDFFontResolution_Close",1),g1=n._EPDFFontResolution_GetSource=c("EPDFFontResolution_GetSource",2),F1=n._EPDFFontResolution_GetRegisteredFont=c("EPDFFontResolution_GetRegisteredFont",2),v1=n._EPDFFontResolution_GetProgramObjNum=c("EPDFFontResolution_GetProgramObjNum",2),P1=n._EPDFFontResolution_GetProgramDisplayHash=c("EPDFFontResolution_GetProgramDisplayHash",3),h1=n._EPDFFontResolution_GetBaseFontName=c("EPDFFontResolution_GetBaseFontName",4),k1=n._EPDFFontResolution_GetFamily=c("EPDFFontResolution_GetFamily",4),D1=n._EPDFFontResolution_GetWeight=c("EPDFFontResolution_GetWeight",2),B1=n._EPDFFontResolution_IsItalic=c("EPDFFontResolution_IsItalic",2),E1=n._EPDFFontResolution_IsDegraded=c("EPDFFontResolution_IsDegraded",2),_1=n._EPDFFontResolution_GetFallbacks=c("EPDFFontResolution_GetFallbacks",4),y1=n._EPDFFontResolution_CountMissingCharacters=c("EPDFFontResolution_CountMissingCharacters",1),G1=n._EPDFFontResolution_GetMissingCharacter=c("EPDFFontResolution_GetMissingCharacter",4),C1=n._EPDFDoc_ClearMissingCharacters=c("EPDFDoc_ClearMissingCharacters",1),I1=n._EPDFDoc_CountMissingCharacters=c("EPDFDoc_CountMissingCharacters",1),S1=n._EPDFDoc_GetMissingCharacter=c("EPDFDoc_GetMissingCharacter",4),x1=n._EPDFForm_LoadModel=c("EPDFForm_LoadModel",1),H1=n._EPDFForm_CloseModel=c("EPDFForm_CloseModel",1),O1=n._EPDFForm_GetFormKind=c("EPDFForm_GetFormKind",1),Q1=n._EPDFForm_GetNeedAppearances=c("EPDFForm_GetNeedAppearances",1),R1=n._EPDFForm_CountFields=c("EPDFForm_CountFields",1),T1=n._EPDFForm_GetFieldActionModel=c("EPDFForm_GetFieldActionModel",3),M1=n._EPDFForm_CountCalculationOrder=c("EPDFForm_CountCalculationOrder",1),L1=n._EPDFForm_GetCalculationOrderFieldIndex=c("EPDFForm_GetCalculationOrderFieldIndex",2),N1=n._EPDFForm_GetFieldObjNum=c("EPDFForm_GetFieldObjNum",2),j1=n._EPDFForm_GetFieldFamily=c("EPDFForm_GetFieldFamily",2),K1=n._EPDFForm_GetFieldFlags=c("EPDFForm_GetFieldFlags",2),V1=n._EPDFForm_GetFieldOrigin=c("EPDFForm_GetFieldOrigin",2),Y1=n._EPDFForm_GetFieldName=c("EPDFForm_GetFieldName",4),X1=n._EPDFForm_GetFieldAlternateName=c("EPDFForm_GetFieldAlternateName",4),W1=n._EPDFForm_GetFieldMappingName=c("EPDFForm_GetFieldMappingName",4),U1=n._EPDFForm_HasFieldEmbedMetadata=c("EPDFForm_HasFieldEmbedMetadata",2),q1=n._EPDFForm_GetFieldEmbedMetadataString=c("EPDFForm_GetFieldEmbedMetadataString",5),z1=n._EPDFForm_GetFieldEmbedMetadataNumber=c("EPDFForm_GetFieldEmbedMetadataNumber",4),Z1=n._EPDFForm_GetFieldEmbedMetadataBoolean=c("EPDFForm_GetFieldEmbedMetadataBoolean",4),J1=n._EPDFForm_GetFieldEmbedMetadataJSON=c("EPDFForm_GetFieldEmbedMetadataJSON",4),$1=n._EPDFForm_GetFieldValueKind=c("EPDFForm_GetFieldValueKind",2),e5=n._EPDFForm_CountFieldValues=c("EPDFForm_CountFieldValues",2),t5=n._EPDFForm_GetFieldValueAt=c("EPDFForm_GetFieldValueAt",5),n5=n._EPDFForm_GetFieldDefaultValueKind=c("EPDFForm_GetFieldDefaultValueKind",2),r5=n._EPDFForm_CountFieldDefaultValues=c("EPDFForm_CountFieldDefaultValues",2),i5=n._EPDFForm_GetFieldDefaultValueAt=c("EPDFForm_GetFieldDefaultValueAt",5),a5=n._EPDFForm_GetFieldMaxLen=c("EPDFForm_GetFieldMaxLen",2),o5=n._EPDFForm_GetFieldTopIndex=c("EPDFForm_GetFieldTopIndex",2),s5=n._EPDFForm_CountFieldOptions=c("EPDFForm_CountFieldOptions",2),A5=n._EPDFForm_GetFieldOptionLabel=c("EPDFForm_GetFieldOptionLabel",5),c5=n._EPDFForm_GetFieldOptionValue=c("EPDFForm_GetFieldOptionValue",5),d5=n._EPDFForm_IsFieldOptionSelected=c("EPDFForm_IsFieldOptionSelected",3),u5=n._EPDFForm_CountFieldWidgets=c("EPDFForm_CountFieldWidgets",2),p5=n._EPDFForm_GetFieldWidgetObjNum=c("EPDFForm_GetFieldWidgetObjNum",3),l5=n._EPDFForm_GetFieldWidgetPageObjNum=c("EPDFForm_GetFieldWidgetPageObjNum",3),m5=n._EPDFForm_GetFieldWidgetRect=c("EPDFForm_GetFieldWidgetRect",4),w5=n._EPDFForm_GetFieldWidgetOnState=c("EPDFForm_GetFieldWidgetOnState",5),b5=n._EPDFForm_GetFieldWidgetExportValue=c("EPDFForm_GetFieldWidgetExportValue",5),f5=n._EPDFForm_IsFieldWidgetChecked=c("EPDFForm_IsFieldWidgetChecked",3),g5=n._EPDFForm_GetFieldIndexByObjNum=c("EPDFForm_GetFieldIndexByObjNum",2),F5=n._EPDFForm_GetFieldIndexForWidget=c("EPDFForm_GetFieldIndexForWidget",2),v5=n._EPDFForm_SetFieldValue=c("EPDFForm_SetFieldValue",5),P5=n._EPDFForm_SetFieldDefaultValue=c("EPDFForm_SetFieldDefaultValue",5),h5=n._EPDFForm_SetFieldSelectedIndices=c("EPDFForm_SetFieldSelectedIndices",4),k5=n._EPDFForm_SetFieldWidgetsChecked=c("EPDFForm_SetFieldWidgetsChecked",7),D5=n._EPDFForm_RedrawFieldWidgets=c("EPDFForm_RedrawFieldWidgets",5),B5=n._EPDFForm_SetFieldDisplay=c("EPDFForm_SetFieldDisplay",6),E5=n._EPDFForm_SetFieldAppearanceText=c("EPDFForm_SetFieldAppearanceText",6),_5=n._EPDFForm_ExportFDF=c("EPDFForm_ExportFDF",5),y5=n._EPDFForm_ExportXFDF=c("EPDFForm_ExportXFDF",5),G5=n._EPDFForm_Repair=c("EPDFForm_Repair",3),C5=n._EPDFForm_CreateField=c("EPDFForm_CreateField",4),I5=n._EPDFForm_AttachWidget=c("EPDFForm_AttachWidget",5),S5=n._EPDFForm_DetachWidget=c("EPDFForm_DetachWidget",3),x5=n._EPDFForm_DeleteField=c("EPDFForm_DeleteField",5),H5=n._EPDFForm_SetFieldName=c("EPDFForm_SetFieldName",3),O5=n._EPDFForm_GetFieldPartialName=c("EPDFForm_GetFieldPartialName",4),Q5=n._EPDFForm_SetFieldFlags=c("EPDFForm_SetFieldFlags",4),R5=n._EPDFForm_SetFieldEventAction=c("EPDFForm_SetFieldEventAction",4),T5=n._EPDFForm_SetCalculationOrder=c("EPDFForm_SetCalculationOrder",3),M5=n._EPDFForm_SetFieldMaxLen=c("EPDFForm_SetFieldMaxLen",3),L5=n._EPDFForm_SetFieldAlternateName=c("EPDFForm_SetFieldAlternateName",3),N5=n._EPDFForm_SetFieldMappingName=c("EPDFForm_SetFieldMappingName",3),j5=n._EPDFForm_SetFieldEmbedMetadataString=c("EPDFForm_SetFieldEmbedMetadataString",4),K5=n._EPDFForm_SetFieldEmbedMetadataNumber=c("EPDFForm_SetFieldEmbedMetadataNumber",4),V5=n._EPDFForm_SetFieldEmbedMetadataBoolean=c("EPDFForm_SetFieldEmbedMetadataBoolean",4),Y5=n._EPDFForm_SetFieldEmbedMetadataJSON=c("EPDFForm_SetFieldEmbedMetadataJSON",3),X5=n._EPDFForm_ClearFieldEmbedMetadataKey=c("EPDFForm_ClearFieldEmbedMetadataKey",3),W5=n._EPDFForm_ClearFieldEmbedMetadata=c("EPDFForm_ClearFieldEmbedMetadata",2),U5=n._EPDFForm_SetFieldOptions=c("EPDFForm_SetFieldOptions",5),q5=n._EPDFPage_Flatten=c("EPDFPage_Flatten",2),z5=n._EPDFPage_FlattenAnnotations=c("EPDFPage_FlattenAnnotations",5),Z5=n._EPDFPage_ExportAnnotationsAsDocument=c("EPDFPage_ExportAnnotationsAsDocument",3),J5=n._EPDFDoc_ExportPagesFlattened=c("EPDFDoc_ExportPagesFlattened",5),$5=n._EPDFLayer_OpenLayer=c("EPDFLayer_OpenLayer",4),eK=n._EPDFLayer_OpenLayerArtifact=c("EPDFLayer_OpenLayerArtifact",4),tK=n._EPDFLayer_OpenLayerArtifactFromPath=c("EPDFLayer_OpenLayerArtifactFromPath",4),nK=n._EPDFLayer_IsObjectPromoted=c("EPDFLayer_IsObjectPromoted",2),rK=n._EPDFPage_IsValid=c("EPDFPage_IsValid",1),iK=n._EPDFLayer_IsPagePromoted=c("EPDFLayer_IsPagePromoted",2),aK=n._EPDFLayer_GetBirthObjectNumber=c("EPDFLayer_GetBirthObjectNumber",3),oK=n._EPDFLayer_GetBirthName=c("EPDFLayer_GetBirthName",4),sK=n._EPDFLayer_BeginTransaction=c("EPDFLayer_BeginTransaction",1),AK=n._EPDFLayer_CommitTransaction=c("EPDFLayer_CommitTransaction",1),cK=n._EPDFLayer_AbortTransaction=c("EPDFLayer_AbortTransaction",1),dK=n._EPDFLayer_IsInTransaction=c("EPDFLayer_IsInTransaction",1),uK=n._EPDFLayer_GetLastObjectNumber=c("EPDFLayer_GetLastObjectNumber",1),pK=n._EPDFLayer_RaiseLastObjectNumber=c("EPDFLayer_RaiseLastObjectNumber",2),lK=n._EPDFLayer_GetPromotedObjectCount=c("EPDFLayer_GetPromotedObjectCount",1),mK=n._EPDFLayer_GetBaseDocument=c("EPDFLayer_GetBaseDocument",1),wK=n._EPDF_SetBaseDocumentSha256=c("EPDF_SetBaseDocumentSha256",2),bK=n._EPDFLayer_GetBaseSha256=c("EPDFLayer_GetBaseSha256",2),fK=n._EPDFLayer_SaveDelta=c("EPDFLayer_SaveDelta",3),gK=n._EPDFLayer_SaveDeltaEx=c("EPDFLayer_SaveDeltaEx",4),FK=n._EPDFLayer_SaveDeltaToOwnedBuffer=c("EPDFLayer_SaveDeltaToOwnedBuffer",3),vK=n._EPDFLayer_SaveDeltaToOwnedBufferEx=c("EPDFLayer_SaveDeltaToOwnedBufferEx",4),PK=n._EPDFLayer_SaveLayerArtifact=c("EPDFLayer_SaveLayerArtifact",3),hK=n._EPDFLayer_SaveLayerArtifactEx=c("EPDFLayer_SaveLayerArtifactEx",4),kK=n._EPDFLayer_SaveLayerArtifactToOwnedBuffer=c("EPDFLayer_SaveLayerArtifactToOwnedBuffer",3),DK=n._EPDFLayer_SaveLayerArtifactToOwnedBufferEx=c("EPDFLayer_SaveLayerArtifactToOwnedBufferEx",4),BK=n._EPDFNamedDest_SetDest=c("EPDFNamedDest_SetDest",3),EK=n._EPDFNamedDest_Remove=c("EPDFNamedDest_Remove",2),_K=n._EPDFDest_CreateView=c("EPDFDest_CreateView",4),yK=n._EPDFDest_CreateXYZ=c("EPDFDest_CreateXYZ",7),GK=n._EPDFDest_CreateRemoteView=c("EPDFDest_CreateRemoteView",5),CK=n._EPDFDest_CreateRemoteXYZ=c("EPDFDest_CreateRemoteXYZ",8),IK=n._EPDFDest_CreateXYZByObjectNumber=c("EPDFDest_CreateXYZByObjectNumber",8),SK=n._EPDFDest_CreateViewByObjectNumber=c("EPDFDest_CreateViewByObjectNumber",5),xK=n._EPDFDest_GetViewNullParams=c("EPDFDest_GetViewNullParams",1),HK=n._EPDFAction_CreateGoTo=c("EPDFAction_CreateGoTo",2),OK=n._EPDFAction_CreateGoToNamed=c("EPDFAction_CreateGoToNamed",2),QK=n._EPDFAction_CreateLaunch=c("EPDFAction_CreateLaunch",2),RK=n._EPDFAction_CreateRemoteGoToByName=c("EPDFAction_CreateRemoteGoToByName",3),TK=n._EPDFAction_CreateRemoteGoToDest=c("EPDFAction_CreateRemoteGoToDest",3),MK=n._EPDFAction_CreateURI=c("EPDFAction_CreateURI",2),LK=n._EPDFAction_CreateNamed=c("EPDFAction_CreateNamed",2),NK=n._EPDFOutline_GetObjectNumber=c("EPDFOutline_GetObjectNumber",1),jK=n._EPDFOutline_GetItem=c("EPDFOutline_GetItem",2),KK=n._EPDFOutline_CreateItem=c("EPDFOutline_CreateItem",5),VK=n._EPDFOutline_MoveItem=c("EPDFOutline_MoveItem",4),YK=n._EPDFOutline_DeleteItem=c("EPDFOutline_DeleteItem",2),XK=n._EPDFOutline_SetTitle=c("EPDFOutline_SetTitle",3),WK=n._EPDFOutline_SetOpen=c("EPDFOutline_SetOpen",3),UK=n._EPDFOutline_SetColor=c("EPDFOutline_SetColor",6),qK=n._EPDFOutline_SetStyle=c("EPDFOutline_SetStyle",3),zK=n._EPDFOutline_SetAction=c("EPDFOutline_SetAction",3),ZK=n._EPDFDoc_GetNamedPageCount=c("EPDFDoc_GetNamedPageCount",2),JK=n._EPDFDoc_GetNamedPageAt=c("EPDFDoc_GetNamedPageAt",7),$K=n._EPDFDoc_SetNamedPage=c("EPDFDoc_SetNamedPage",3),eV=n._EPDFDoc_RemoveNamedPage=c("EPDFDoc_RemoveNamedPage",2),tV=n._EPDFDoc_RemoveNamedPagesForPage=c("EPDFDoc_RemoveNamedPagesForPage",2),nV=n._EPDFDoc_GetPageLabelSectionCount=c("EPDFDoc_GetPageLabelSectionCount",1),rV=n._EPDFDoc_GetPageLabelSectionAt=c("EPDFDoc_GetPageLabelSectionAt",7),iV=n._EPDFDoc_SetPageLabelSections=c("EPDFDoc_SetPageLabelSections",6),aV=n._EPDF_DigestBuffer=c("EPDF_DigestBuffer",5),oV=n._EPDFDoc_GetRevisionCount=c("EPDFDoc_GetRevisionCount",1),sV=n._EPDFDoc_GetRevision=c("EPDFDoc_GetRevision",4),AV=n._EPDFDoc_OpenRevision=c("EPDFDoc_OpenRevision",3),cV=n._EPDFDoc_OpenBaseOverlayFromPath=c("EPDFDoc_OpenBaseOverlayFromPath",2),dV=n._EPDFDoc_OpenBaseOverlay=c("EPDFDoc_OpenBaseOverlay",3),uV=n._EPDFSig_LoadModel=c("EPDFSig_LoadModel",1),pV=n._EPDFSig_CloseModel=c("EPDFSig_CloseModel",1),lV=n._EPDFSig_Count=c("EPDFSig_Count",1),mV=n._EPDFSig_IsRevisionChainValid=c("EPDFSig_IsRevisionChainValid",1),wV=n._EPDFSig_GetIndexByFieldObjNum=c("EPDFSig_GetIndexByFieldObjNum",2),bV=n._EPDFSig_GetFieldObjNum=c("EPDFSig_GetFieldObjNum",2),fV=n._EPDFSig_GetWidgetObjNum=c("EPDFSig_GetWidgetObjNum",2),gV=n._EPDFSig_GetWidgetPageObjNum=c("EPDFSig_GetWidgetPageObjNum",2),FV=n._EPDFSig_GetValueObjNum=c("EPDFSig_GetValueObjNum",2),vV=n._EPDFSig_GetFieldName=c("EPDFSig_GetFieldName",4),PV=n._EPDFSig_IsSigned=c("EPDFSig_IsSigned",2),hV=n._EPDFSig_GetKind=c("EPDFSig_GetKind",2),kV=n._EPDFSig_GetByteRange=c("EPDFSig_GetByteRange",3),DV=n._EPDFSig_GetCoverage=c("EPDFSig_GetCoverage",2),BV=n._EPDFSig_GetRevisionIndex=c("EPDFSig_GetRevisionIndex",2),EV=n._EPDFSig_GetContents=c("EPDFSig_GetContents",4),_V=n._EPDFSig_GetString=c("EPDFSig_GetString",5),yV=n._EPDFSig_GetDocMDPPermission=c("EPDFSig_GetDocMDPPermission",2),GV=n._EPDFSig_IsCatalogCertification=c("EPDFSig_IsCatalogCertification",2),CV=n._EPDFSig_GetFieldMDPAction=c("EPDFSig_GetFieldMDPAction",2),IV=n._EPDFSig_GetLockAction=c("EPDFSig_GetLockAction",2),SV=n._EPDFSig_GetLockPermission=c("EPDFSig_GetLockPermission",2),xV=n._EPDFSig_GetFieldNameCount=c("EPDFSig_GetFieldNameCount",3),HV=n._EPDFSig_GetFieldNameAt=c("EPDFSig_GetFieldNameAt",6),OV=n._EPDFSig_HasSeedValue=c("EPDFSig_HasSeedValue",2),QV=n._EPDFSig_GetSeedValueRequiredFlags=c("EPDFSig_GetSeedValueRequiredFlags",2),RV=n._EPDFSig_GetSeedValuePresentFlags=c("EPDFSig_GetSeedValuePresentFlags",2),TV=n._EPDFSig_GetSeedValueMDP=c("EPDFSig_GetSeedValueMDP",2),MV=n._EPDFSig_GetSeedValueVersion=c("EPDFSig_GetSeedValueVersion",2),LV=n._EPDFSig_GetSeedValueFilter=c("EPDFSig_GetSeedValueFilter",4),NV=n._EPDFSig_GetSeedValueListCount=c("EPDFSig_GetSeedValueListCount",3),jV=n._EPDFSig_GetSeedValueListAt=c("EPDFSig_GetSeedValueListAt",6),KV=n._EPDFSig_DigestByteRange=c("EPDFSig_DigestByteRange",5),VV=n._EPDFSig_DigestFileRange=c("EPDFSig_DigestFileRange",5),YV=n._EPDFDoc_GetLoadedBytesSize=c("EPDFDoc_GetLoadedBytesSize",1),XV=n._EPDFDoc_GetBaseBytesSize=c("EPDFDoc_GetBaseBytesSize",1),WV=n._EPDFDoc_GetStructureObjectNumbers=c("EPDFDoc_GetStructureObjectNumbers",4),UV=n._EPDFDoc_ReadLoadedBytes=c("EPDFDoc_ReadLoadedBytes",5),qV=n._EPDFSig_Prepare=c("EPDFSig_Prepare",3),zV=n._EPDFSig_SetFieldLock=c("EPDFSig_SetFieldLock",6),ZV=n._EPDFSig_SaveCandidateToOwnedBuffer=c("EPDFSig_SaveCandidateToOwnedBuffer",5),JV=n._EPDFSig_SaveCandidate=c("EPDFSig_SaveCandidate",6),$V=n._EPDFSig_Seal=c("EPDFSig_Seal",13),eY=n._EPDFSig_SealSpan=c("EPDFSig_SealSpan",10),tY=n._EPDFSig_WriteContents=c("EPDFSig_WriteContents",9),nY=n._EPDFDoc_CompareRevisions=c("EPDFDoc_CompareRevisions",2),rY=n._EPDFObjectDiff_Close=c("EPDFObjectDiff_Close",1),iY=n._EPDFObjectDiff_GetCount=c("EPDFObjectDiff_GetCount",1),aY=n._EPDFObjectDiff_GetEntry=c("EPDFObjectDiff_GetEntry",8),oY=n._EPDFObjectDiff_GetValue=c("EPDFObjectDiff_GetValue",6),sY=n._EPDFObjectDiff_GetReadStatus=c("EPDFObjectDiff_GetReadStatus",3),AY=n._EPDFObjectDiff_GetRevisionHealth=c("EPDFObjectDiff_GetRevisionHealth",5),cY=n._EPDFObjectDiff_GetReferrerCount=c("EPDFObjectDiff_GetReferrerCount",3),dY=n._EPDFObjectDiff_GetReferrer=c("EPDFObjectDiff_GetReferrer",7),uY=n._EPDFDoc_HasPieceInfoEntry=c("EPDFDoc_HasPieceInfoEntry",2),pY=n._EPDFDoc_GetPieceInfoEntryCount=c("EPDFDoc_GetPieceInfoEntryCount",1),lY=n._EPDFDoc_GetPieceInfoEntryAt=c("EPDFDoc_GetPieceInfoEntryAt",4),mY=n._EPDFDoc_GetLastModified=c("EPDFDoc_GetLastModified",3),wY=n._EPDFDoc_GetPieceInfoLastModified=c("EPDFDoc_GetPieceInfoLastModified",4),bY=n._EPDFDoc_GetPieceInfoKeyCount=c("EPDFDoc_GetPieceInfoKeyCount",2),fY=n._EPDFDoc_GetPieceInfoKeyAt=c("EPDFDoc_GetPieceInfoKeyAt",5),gY=n._EPDFDoc_GetPieceInfoValueType=c("EPDFDoc_GetPieceInfoValueType",3),FY=n._EPDFDoc_SetPieceInfoString=c("EPDFDoc_SetPieceInfoString",5),vY=n._EPDFDoc_GetPieceInfoString=c("EPDFDoc_GetPieceInfoString",5),PY=n._EPDFDoc_SetPieceInfoNumber=c("EPDFDoc_SetPieceInfoNumber",5),hY=n._EPDFDoc_GetPieceInfoNumber=c("EPDFDoc_GetPieceInfoNumber",4),kY=n._EPDFDoc_SetPieceInfoBoolean=c("EPDFDoc_SetPieceInfoBoolean",5),DY=n._EPDFDoc_GetPieceInfoBoolean=c("EPDFDoc_GetPieceInfoBoolean",4),BY=n._EPDFDoc_SetPieceInfoName=c("EPDFDoc_SetPieceInfoName",5),EY=n._EPDFDoc_GetPieceInfoName=c("EPDFDoc_GetPieceInfoName",5),_Y=n._EPDFDoc_SetPieceInfoStringArray=c("EPDFDoc_SetPieceInfoStringArray",6),yY=n._EPDFDoc_GetPieceInfoStringArrayCount=c("EPDFDoc_GetPieceInfoStringArrayCount",3),GY=n._EPDFDoc_GetPieceInfoStringArrayAt=c("EPDFDoc_GetPieceInfoStringArrayAt",6),CY=n._EPDFDoc_ClearPieceInfoKey=c("EPDFDoc_ClearPieceInfoKey",4),IY=n._EPDFDoc_ClearPieceInfoEntry=c("EPDFDoc_ClearPieceInfoEntry",2),SY=n._EPDFDoc_HasPagePieceInfoEntry=c("EPDFDoc_HasPagePieceInfoEntry",3),xY=n._EPDFDoc_GetPagePieceInfoEntryCount=c("EPDFDoc_GetPagePieceInfoEntryCount",2),HY=n._EPDFDoc_GetPagePieceInfoEntryAt=c("EPDFDoc_GetPagePieceInfoEntryAt",5),OY=n._EPDFDoc_GetPageLastModified=c("EPDFDoc_GetPageLastModified",4),QY=n._EPDFDoc_GetPagePieceInfoLastModified=c("EPDFDoc_GetPagePieceInfoLastModified",5),RY=n._EPDFDoc_GetPagePieceInfoKeyCount=c("EPDFDoc_GetPagePieceInfoKeyCount",3),TY=n._EPDFDoc_GetPagePieceInfoKeyAt=c("EPDFDoc_GetPagePieceInfoKeyAt",6),MY=n._EPDFDoc_GetPagePieceInfoValueType=c("EPDFDoc_GetPagePieceInfoValueType",4),LY=n._EPDFDoc_SetPagePieceInfoString=c("EPDFDoc_SetPagePieceInfoString",6),NY=n._EPDFDoc_GetPagePieceInfoString=c("EPDFDoc_GetPagePieceInfoString",6),jY=n._EPDFDoc_SetPagePieceInfoNumber=c("EPDFDoc_SetPagePieceInfoNumber",6),KY=n._EPDFDoc_GetPagePieceInfoNumber=c("EPDFDoc_GetPagePieceInfoNumber",5),VY=n._EPDFDoc_SetPagePieceInfoBoolean=c("EPDFDoc_SetPagePieceInfoBoolean",6),YY=n._EPDFDoc_GetPagePieceInfoBoolean=c("EPDFDoc_GetPagePieceInfoBoolean",5),XY=n._EPDFDoc_SetPagePieceInfoName=c("EPDFDoc_SetPagePieceInfoName",6),WY=n._EPDFDoc_GetPagePieceInfoName=c("EPDFDoc_GetPagePieceInfoName",6),UY=n._EPDFDoc_SetPagePieceInfoStringArray=c("EPDFDoc_SetPagePieceInfoStringArray",7),qY=n._EPDFDoc_GetPagePieceInfoStringArrayCount=c("EPDFDoc_GetPagePieceInfoStringArrayCount",4),zY=n._EPDFDoc_GetPagePieceInfoStringArrayAt=c("EPDFDoc_GetPagePieceInfoStringArrayAt",7),ZY=n._EPDFDoc_ClearPagePieceInfoKey=c("EPDFDoc_ClearPagePieceInfoKey",5),JY=n._EPDFDoc_ClearPagePieceInfoEntry=c("EPDFDoc_ClearPagePieceInfoEntry",3),$Y=n._EPDFAnnot_GetMeasure=c("EPDFAnnot_GetMeasure",1),e8=n._EPDFAnnot_AddMeasure=c("EPDFAnnot_AddMeasure",1),t8=n._EPDFAnnot_RemoveMeasure=c("EPDFAnnot_RemoveMeasure",1),n8=n._EPDFPage_CountViewports=c("EPDFPage_CountViewports",1),r8=n._EPDFPage_GetViewport=c("EPDFPage_GetViewport",2),i8=n._EPDFPage_AddViewport=c("EPDFPage_AddViewport",2),a8=n._EPDFPage_RemoveViewport=c("EPDFPage_RemoveViewport",2),o8=n._EPDFPage_CountViewportsRaw=c("EPDFPage_CountViewportsRaw",2),s8=n._EPDFPage_GetViewportRaw=c("EPDFPage_GetViewportRaw",3),A8=n._EPDFPage_AddViewportRaw=c("EPDFPage_AddViewportRaw",3),c8=n._EPDFPage_RemoveViewportRaw=c("EPDFPage_RemoveViewportRaw",3),d8=n._EPDFViewport_Close=c("EPDFViewport_Close",1),u8=n._EPDFPage_FindViewport=c("EPDFPage_FindViewport",2),p8=n._EPDFViewport_GetBBox=c("EPDFViewport_GetBBox",2),l8=n._EPDFViewport_SetBBox=c("EPDFViewport_SetBBox",2),m8=n._EPDFViewport_GetMeasure=c("EPDFViewport_GetMeasure",1),w8=n._EPDFViewport_AddMeasure=c("EPDFViewport_AddMeasure",1),b8=n._EPDFViewport_RemoveMeasure=c("EPDFViewport_RemoveMeasure",1),f8=n._EPDFMeasure_GetSubtype=c("EPDFMeasure_GetSubtype",1),g8=n._EPDFMeasure_GetOrigin=c("EPDFMeasure_GetOrigin",2),F8=n._EPDFMeasure_SetOrigin=c("EPDFMeasure_SetOrigin",2),v8=n._EPDFMeasure_GetCYX=c("EPDFMeasure_GetCYX",2),P8=n._EPDFMeasure_SetCYX=c("EPDFMeasure_SetCYX",2),h8=n._EPDFMeasure_CountFormats=c("EPDFMeasure_CountFormats",2),k8=n._EPDFMeasure_GetFormat=c("EPDFMeasure_GetFormat",3),D8=n._EPDFMeasure_AddFormat=c("EPDFMeasure_AddFormat",4),B8=n._EPDFMeasure_RemoveFormats=c("EPDFMeasure_RemoveFormats",2),E8=n._EPDFViewport_GetName=c("EPDFViewport_GetName",3),_8=n._EPDFViewport_SetName=c("EPDFViewport_SetName",2),y8=n._EPDFMeasure_GetRatio=c("EPDFMeasure_GetRatio",3),G8=n._EPDFMeasure_SetRatio=c("EPDFMeasure_SetRatio",2),C8=n._EPDFNumberFormat_GetUnit=c("EPDFNumberFormat_GetUnit",3),I8=n._EPDFNumberFormat_SetUnit=c("EPDFNumberFormat_SetUnit",2),S8=n._EPDFNumberFormat_GetConversion=c("EPDFNumberFormat_GetConversion",2),x8=n._EPDFNumberFormat_SetConversion=c("EPDFNumberFormat_SetConversion",2),H8=n._EPDFNumberFormat_GetPrecision=c("EPDFNumberFormat_GetPrecision",2),O8=n._EPDFNumberFormat_SetPrecision=c("EPDFNumberFormat_SetPrecision",2),Q8=n._EPDFNumberFormat_GetFixedDenominator=c("EPDFNumberFormat_GetFixedDenominator",2),R8=n._EPDFNumberFormat_SetFixedDenominator=c("EPDFNumberFormat_SetFixedDenominator",2),T8=n._EPDFNumberFormat_GetText=c("EPDFNumberFormat_GetText",4),M8=n._EPDFNumberFormat_SetText=c("EPDFNumberFormat_SetText",3),L8=n._EPDFNumberFormat_GetFraction=c("EPDFNumberFormat_GetFraction",2),N8=n._EPDFNumberFormat_SetFraction=c("EPDFNumberFormat_SetFraction",2),j8=n._EPDFNumberFormat_GetLabelPosition=c("EPDFNumberFormat_GetLabelPosition",2),K8=n._EPDFNumberFormat_SetLabelPosition=c("EPDFNumberFormat_SetLabelPosition",2),V8=n._EPDFAnnot_SetLineLeader=c("EPDFAnnot_SetLineLeader",4),Y8=n._EPDFAnnot_GetLineLeader=c("EPDFAnnot_GetLineLeader",4),X8=n._EPDFAnnot_SetLineCaption=c("EPDFAnnot_SetLineCaption",4),W8=n._EPDFAnnot_GetLineCaption=c("EPDFAnnot_GetLineCaption",4),U8=n._EPDFAnnot_SetShapeCaption=c("EPDFAnnot_SetShapeCaption",3),q8=n._EPDFAnnot_GetShapeCaption=c("EPDFAnnot_GetShapeCaption",4),z8=n._EPDFPage_GetParsedSize=c("EPDFPage_GetParsedSize",2),Z8=n._EPDFPage_IsContentCurrent=c("EPDFPage_IsContentCurrent",1),J8=n._EPDF_PNG_EncodeRGBA=c("EPDF_PNG_EncodeRGBA",6),$8=n._EPDFDoc_ImportPages=c("EPDFDoc_ImportPages",6),eX=n._EPDFDoc_GetImportFieldRoots=c("EPDFDoc_GetImportFieldRoots",5),tX=n._EPDFPage_ApplyRedactions=c("EPDFPage_ApplyRedactions",4),nX=n._EPDF_InitThread=c("EPDF_InitThread",0),rX=n._EPDF_ShutdownThread=c("EPDF_ShutdownThread",0),iX=n._FPDFAnnot_IsSupportedSubtype=c("FPDFAnnot_IsSupportedSubtype",1),aX=n._FPDFPage_CreateAnnot=c("FPDFPage_CreateAnnot",2),oX=n._FPDFPage_GetAnnotCount=c("FPDFPage_GetAnnotCount",1),sX=n._FPDFPage_GetAnnot=c("FPDFPage_GetAnnot",2),AX=n._FPDFPage_GetAnnotIndex=c("FPDFPage_GetAnnotIndex",2),cX=n._FPDFPage_CloseAnnot=c("FPDFPage_CloseAnnot",1),dX=n._FPDFPage_RemoveAnnot=c("FPDFPage_RemoveAnnot",2),uX=n._FPDFAnnot_GetSubtype=c("FPDFAnnot_GetSubtype",1),pX=n._FPDFAnnot_IsObjectSupportedSubtype=c("FPDFAnnot_IsObjectSupportedSubtype",1),lX=n._FPDFAnnot_UpdateObject=c("FPDFAnnot_UpdateObject",2),mX=n._FPDFAnnot_AddInkStroke=c("FPDFAnnot_AddInkStroke",3),wX=n._FPDFAnnot_RemoveInkList=c("FPDFAnnot_RemoveInkList",1),bX=n._FPDFAnnot_AppendObject=c("FPDFAnnot_AppendObject",2),fX=n._FPDFAnnot_GetObjectCount=c("FPDFAnnot_GetObjectCount",1),gX=n._FPDFAnnot_GetObject=c("FPDFAnnot_GetObject",2),FX=n._FPDFAnnot_RemoveObject=c("FPDFAnnot_RemoveObject",2),vX=n._FPDFAnnot_SetColor=c("FPDFAnnot_SetColor",6),PX=n._FPDFAnnot_GetColor=c("FPDFAnnot_GetColor",6),hX=n._FPDFAnnot_HasAttachmentPoints=c("FPDFAnnot_HasAttachmentPoints",1),kX=n._FPDFAnnot_SetAttachmentPoints=c("FPDFAnnot_SetAttachmentPoints",3),DX=n._FPDFAnnot_AppendAttachmentPoints=c("FPDFAnnot_AppendAttachmentPoints",2),BX=n._FPDFAnnot_CountAttachmentPoints=c("FPDFAnnot_CountAttachmentPoints",1),EX=n._FPDFAnnot_GetAttachmentPoints=c("FPDFAnnot_GetAttachmentPoints",3),_X=n._FPDFAnnot_SetRect=c("FPDFAnnot_SetRect",2),yX=n._FPDFAnnot_GetRect=c("FPDFAnnot_GetRect",2),GX=n._FPDFAnnot_GetVertices=c("FPDFAnnot_GetVertices",3),CX=n._FPDFAnnot_GetInkListCount=c("FPDFAnnot_GetInkListCount",1),IX=n._FPDFAnnot_GetInkListPath=c("FPDFAnnot_GetInkListPath",4),SX=n._FPDFAnnot_GetLine=c("FPDFAnnot_GetLine",3),xX=n._FPDFAnnot_SetBorder=c("FPDFAnnot_SetBorder",4),HX=n._FPDFAnnot_GetBorder=c("FPDFAnnot_GetBorder",4),OX=n._FPDFAnnot_HasKey=c("FPDFAnnot_HasKey",2),QX=n._FPDFAnnot_GetValueType=c("FPDFAnnot_GetValueType",2),RX=n._FPDFAnnot_SetStringValue=c("FPDFAnnot_SetStringValue",3),TX=n._FPDFAnnot_GetStringValue=c("FPDFAnnot_GetStringValue",4),MX=n._FPDFAnnot_GetNumberValue=c("FPDFAnnot_GetNumberValue",3),LX=n._FPDFAnnot_SetAP=c("FPDFAnnot_SetAP",3),NX=n._FPDFAnnot_GetAP=c("FPDFAnnot_GetAP",4),jX=n._FPDFAnnot_GetLinkedAnnot=c("FPDFAnnot_GetLinkedAnnot",2),KX=n._FPDFAnnot_GetFlags=c("FPDFAnnot_GetFlags",1),VX=n._FPDFAnnot_SetFlags=c("FPDFAnnot_SetFlags",2),YX=n._FPDFAnnot_GetFormFieldFlags=c("FPDFAnnot_GetFormFieldFlags",2),XX=n._FPDFAnnot_SetFormFieldFlags=c("FPDFAnnot_SetFormFieldFlags",3),WX=n._FPDFAnnot_GetFormFieldAtPoint=c("FPDFAnnot_GetFormFieldAtPoint",3),UX=n._FPDFAnnot_GetFormFieldName=c("FPDFAnnot_GetFormFieldName",4),qX=n._FPDFAnnot_GetFormFieldType=c("FPDFAnnot_GetFormFieldType",2),zX=n._FPDFAnnot_GetFormAdditionalActionJavaScript=c("FPDFAnnot_GetFormAdditionalActionJavaScript",5),ZX=n._FPDFAnnot_GetFormFieldAlternateName=c("FPDFAnnot_GetFormFieldAlternateName",4),JX=n._FPDFAnnot_GetFormFieldValue=c("FPDFAnnot_GetFormFieldValue",4),$X=n._FPDFAnnot_GetOptionCount=c("FPDFAnnot_GetOptionCount",2),eW=n._FPDFAnnot_GetOptionLabel=c("FPDFAnnot_GetOptionLabel",5),tW=n._FPDFAnnot_IsOptionSelected=c("FPDFAnnot_IsOptionSelected",3),nW=n._FPDFAnnot_GetFontSize=c("FPDFAnnot_GetFontSize",3),rW=n._FPDFAnnot_SetFontColor=c("FPDFAnnot_SetFontColor",5),iW=n._FPDFAnnot_GetFontColor=c("FPDFAnnot_GetFontColor",5),aW=n._FPDFAnnot_IsChecked=c("FPDFAnnot_IsChecked",2),oW=n._FPDFAnnot_SetFocusableSubtypes=c("FPDFAnnot_SetFocusableSubtypes",3),sW=n._FPDFAnnot_GetFocusableSubtypesCount=c("FPDFAnnot_GetFocusableSubtypesCount",1),AW=n._FPDFAnnot_GetFocusableSubtypes=c("FPDFAnnot_GetFocusableSubtypes",3),cW=n._FPDFAnnot_GetLink=c("FPDFAnnot_GetLink",1),dW=n._FPDFAnnot_GetFormControlCount=c("FPDFAnnot_GetFormControlCount",2),uW=n._FPDFAnnot_GetFormControlIndex=c("FPDFAnnot_GetFormControlIndex",2),pW=n._FPDFAnnot_GetFormFieldExportValue=c("FPDFAnnot_GetFormFieldExportValue",4),lW=n._FPDFAnnot_SetURI=c("FPDFAnnot_SetURI",2),mW=n._FPDFAnnot_GetFileAttachment=c("FPDFAnnot_GetFileAttachment",1),wW=n._FPDFAnnot_AddFileAttachment=c("FPDFAnnot_AddFileAttachment",2),bW=n._FPDFDoc_GetAttachmentCount=c("FPDFDoc_GetAttachmentCount",1),fW=n._FPDFDoc_AddAttachment=c("FPDFDoc_AddAttachment",2),gW=n._FPDFDoc_GetAttachment=c("FPDFDoc_GetAttachment",2),FW=n._EPDFDoc_GetAttachmentKey=c("EPDFDoc_GetAttachmentKey",4),vW=n._EPDFDoc_GetAttachmentIndexByKey=c("EPDFDoc_GetAttachmentIndexByKey",2),PW=n._FPDFDoc_DeleteAttachment=c("FPDFDoc_DeleteAttachment",2),hW=n._FPDFAttachment_GetName=c("FPDFAttachment_GetName",3),kW=n._FPDFAttachment_HasKey=c("FPDFAttachment_HasKey",2),DW=n._FPDFAttachment_GetValueType=c("FPDFAttachment_GetValueType",2),BW=n._FPDFAttachment_SetStringValue=c("FPDFAttachment_SetStringValue",3),EW=n._FPDFAttachment_GetStringValue=c("FPDFAttachment_GetStringValue",4),_W=n._FPDFAttachment_SetDescription=c("FPDFAttachment_SetDescription",2),yW=n._FPDFAttachment_GetDescription=c("FPDFAttachment_GetDescription",3),GW=n._FPDFAttachment_SetFile=c("FPDFAttachment_SetFile",4),CW=n._FPDFAttachment_GetFile=c("FPDFAttachment_GetFile",4),IW=n._FPDFAttachment_GetSubtype=c("FPDFAttachment_GetSubtype",3),SW=n._FPDFAttachment_GetAFRelationship=c("FPDFAttachment_GetAFRelationship",3),xW=n._EPDFAttachment_SetSubtype=c("EPDFAttachment_SetSubtype",2),HW=n._EPDFAttachment_SetDescription=c("EPDFAttachment_SetDescription",2),OW=n._EPDFAttachment_SetName=c("EPDFAttachment_SetName",2),QW=n._EPDFAttachment_GetDescription=c("EPDFAttachment_GetDescription",3),RW=n._EPDFAttachment_GetIntegerValue=c("EPDFAttachment_GetIntegerValue",3),TW=n._EPDFAttachment_ExtractFile=c("EPDFAttachment_ExtractFile",6),MW=n._EPDFAttachment_ExtractFileToOwnedBuffer=c("EPDFAttachment_ExtractFileToOwnedBuffer",6),LW=n._FPDFCatalog_IsTagged=c("FPDFCatalog_IsTagged",1),NW=n._FPDFCatalog_GetLanguage=c("FPDFCatalog_GetLanguage",3),jW=n._FPDFCatalog_SetLanguage=c("FPDFCatalog_SetLanguage",2),KW=n._EPDFCatalog_GetLanguage=c("EPDFCatalog_GetLanguage",3),VW=n._FPDFAvail_Create=c("FPDFAvail_Create",2),YW=n._FPDFAvail_Destroy=c("FPDFAvail_Destroy",1),XW=n._FPDFAvail_IsDocAvail=c("FPDFAvail_IsDocAvail",2),WW=n._FPDFAvail_GetDocument=c("FPDFAvail_GetDocument",2),UW=n._FPDFAvail_GetFirstPageNum=c("FPDFAvail_GetFirstPageNum",1),qW=n._FPDFAvail_IsPageAvail=c("FPDFAvail_IsPageAvail",3),zW=n._FPDFAvail_IsFormAvail=c("FPDFAvail_IsFormAvail",2),ZW=n._FPDFAvail_IsLinearized=c("FPDFAvail_IsLinearized",1),JW=n._FPDFBookmark_GetFirstChild=c("FPDFBookmark_GetFirstChild",2),$W=n._FPDFBookmark_GetNextSibling=c("FPDFBookmark_GetNextSibling",2),eU=n._FPDFBookmark_GetTitle=c("FPDFBookmark_GetTitle",3),tU=n._FPDFBookmark_GetCount=c("FPDFBookmark_GetCount",1),nU=n._FPDFBookmark_Find=c("FPDFBookmark_Find",2),rU=n._FPDFBookmark_GetDest=c("FPDFBookmark_GetDest",2),iU=n._FPDFBookmark_GetAction=c("FPDFBookmark_GetAction",1),aU=n._FPDFBookmark_GetColor=c("FPDFBookmark_GetColor",4),oU=n._FPDFBookmark_GetStyle=c("FPDFBookmark_GetStyle",1),sU=n._FPDFAction_GetType=c("FPDFAction_GetType",1),AU=n._FPDFAction_GetDest=c("FPDFAction_GetDest",2),cU=n._FPDFAction_GetFilePath=c("FPDFAction_GetFilePath",3),dU=n._FPDFAction_GetURIPath=c("FPDFAction_GetURIPath",4),uU=n._FPDFDest_GetDestPageIndex=c("FPDFDest_GetDestPageIndex",2),pU=n._EPDFDest_GetPageObjectNumber=c("EPDFDest_GetPageObjectNumber",2),lU=n._FPDFDest_GetView=c("FPDFDest_GetView",3),mU=n._FPDFDest_GetLocationInPage=c("FPDFDest_GetLocationInPage",7),wU=n._FPDFLink_GetLinkAtPoint=c("FPDFLink_GetLinkAtPoint",3),bU=n._FPDFLink_GetLinkZOrderAtPoint=c("FPDFLink_GetLinkZOrderAtPoint",3),fU=n._FPDFLink_GetDest=c("FPDFLink_GetDest",2),gU=n._FPDFLink_GetAction=c("FPDFLink_GetAction",1),FU=n._FPDFLink_Enumerate=c("FPDFLink_Enumerate",3),vU=n._FPDFLink_GetAnnot=c("FPDFLink_GetAnnot",2),PU=n._FPDFLink_GetAnnotRect=c("FPDFLink_GetAnnotRect",2),hU=n._FPDFLink_CountQuadPoints=c("FPDFLink_CountQuadPoints",1),kU=n._FPDFLink_GetQuadPoints=c("FPDFLink_GetQuadPoints",3),DU=n._FPDF_GetPageAAction=c("FPDF_GetPageAAction",2),BU=n._FPDF_GetFileIdentifier=c("FPDF_GetFileIdentifier",4),EU=n._FPDF_GetMetaText=c("FPDF_GetMetaText",4),_U=n._FPDF_GetPageLabel=c("FPDF_GetPageLabel",4),yU=n._EPDF_SetMetaText=c("EPDF_SetMetaText",3),GU=n._EPDF_HasMetaText=c("EPDF_HasMetaText",2),CU=n._EPDF_GetMetaTrapped=c("EPDF_GetMetaTrapped",1),IU=n._EPDF_SetMetaTrapped=c("EPDF_SetMetaTrapped",2),SU=n._EPDF_GetMetaKeyCount=c("EPDF_GetMetaKeyCount",2),xU=n._EPDF_GetMetaKeyName=c("EPDF_GetMetaKeyName",5),HU=n._FPDFPageObj_NewImageObj=c("FPDFPageObj_NewImageObj",1),OU=n._FPDFImageObj_LoadJpegFile=c("FPDFImageObj_LoadJpegFile",4),QU=n._FPDFImageObj_LoadJpegFileInline=c("FPDFImageObj_LoadJpegFileInline",4),RU=n._FPDFImageObj_SetMatrix=c("FPDFImageObj_SetMatrix",7),TU=n._FPDFImageObj_SetBitmap=c("FPDFImageObj_SetBitmap",4),MU=n._FPDFImageObj_GetBitmap=c("FPDFImageObj_GetBitmap",1),LU=n._FPDFImageObj_GetRenderedBitmap=c("FPDFImageObj_GetRenderedBitmap",3),NU=n._FPDFImageObj_GetImageDataDecoded=c("FPDFImageObj_GetImageDataDecoded",3),jU=n._FPDFImageObj_GetImageDataRaw=c("FPDFImageObj_GetImageDataRaw",3),KU=n._FPDFImageObj_GetImageFilterCount=c("FPDFImageObj_GetImageFilterCount",1),VU=n._FPDFImageObj_GetImageFilter=c("FPDFImageObj_GetImageFilter",4),YU=n._FPDFImageObj_GetImageMetadata=c("FPDFImageObj_GetImageMetadata",3),XU=n._FPDFImageObj_GetImagePixelSize=c("FPDFImageObj_GetImagePixelSize",3),WU=n._FPDFImageObj_GetIccProfileDataDecoded=c("FPDFImageObj_GetIccProfileDataDecoded",5),UU=n._EPDFImageObj_SetPng=c("EPDFImageObj_SetPng",5),qU=n._EPDFImageObj_SetJpeg=c("EPDFImageObj_SetJpeg",5),zU=n._FPDF_CreateNewDocument=c("FPDF_CreateNewDocument",0),ZU=n._FPDFPage_Delete=c("FPDFPage_Delete",2),JU=n._FPDF_MovePages=c("FPDF_MovePages",4),$U=n._FPDFPage_New=c("FPDFPage_New",4),eq=n._EPDFPage_InsertBlankRaw=c("EPDFPage_InsertBlankRaw",5),tq=n._FPDFPage_GetRotation=c("FPDFPage_GetRotation",1),nq=n._FPDFPage_InsertObject=c("FPDFPage_InsertObject",2),rq=n._FPDFPage_InsertObjectAtIndex=c("FPDFPage_InsertObjectAtIndex",3),iq=n._FPDFPage_RemoveObject=c("FPDFPage_RemoveObject",2),aq=n._FPDFPage_CountObjects=c("FPDFPage_CountObjects",1),oq=n._FPDFPage_GetObject=c("FPDFPage_GetObject",2),sq=n._FPDFPage_HasTransparency=c("FPDFPage_HasTransparency",1),Aq=n._FPDFPageObj_Destroy=c("FPDFPageObj_Destroy",1),cq=n._FPDFPageObj_GetMarkedContentID=c("FPDFPageObj_GetMarkedContentID",1),dq=n._FPDFPageObj_CountMarks=c("FPDFPageObj_CountMarks",1),uq=n._FPDFPageObj_GetMark=c("FPDFPageObj_GetMark",2),pq=n._FPDFPageObj_AddExistingMark=c("FPDFPageObj_AddExistingMark",2),lq=n._FPDFPageObj_AddMark=c("FPDFPageObj_AddMark",2),mq=n._FPDFPageObj_RemoveMark=c("FPDFPageObj_RemoveMark",2),wq=n._FPDFPageObjMark_GetName=c("FPDFPageObjMark_GetName",4),bq=n._FPDFPageObjMark_CountParams=c("FPDFPageObjMark_CountParams",1),fq=n._FPDFPageObjMark_GetParamKey=c("FPDFPageObjMark_GetParamKey",5),gq=n._FPDFPageObjMark_GetParamValueType=c("FPDFPageObjMark_GetParamValueType",2),Fq=n._FPDFPageObjMark_GetParamIntValue=c("FPDFPageObjMark_GetParamIntValue",3),vq=n._FPDFPageObjMark_GetParamFloatValue=c("FPDFPageObjMark_GetParamFloatValue",3),Pq=n._FPDFPageObjMark_GetParamStringValue=c("FPDFPageObjMark_GetParamStringValue",5),hq=n._FPDFPageObjMark_GetParamBlobValue=c("FPDFPageObjMark_GetParamBlobValue",5),kq=n._FPDFPageObj_HasTransparency=c("FPDFPageObj_HasTransparency",1),Dq=n._FPDFPageObjMark_SetIntParam=c("FPDFPageObjMark_SetIntParam",5),Bq=n._FPDFPageObjMark_SetFloatParam=c("FPDFPageObjMark_SetFloatParam",5),Eq=n._FPDFPageObjMark_SetStringParam=c("FPDFPageObjMark_SetStringParam",5),_q=n._FPDFPageObjMark_SetBlobParam=c("FPDFPageObjMark_SetBlobParam",6),yq=n._FPDFPageObjMark_RemoveParam=c("FPDFPageObjMark_RemoveParam",3),Gq=n._FPDFPageObj_GetType=c("FPDFPageObj_GetType",1),Cq=n._FPDFPageObj_GetIsActive=c("FPDFPageObj_GetIsActive",2),Iq=n._FPDFPageObj_SetIsActive=c("FPDFPageObj_SetIsActive",2),Sq=n._FPDFPage_GenerateContent=c("FPDFPage_GenerateContent",1),xq=n._FPDFPageObj_Transform=c("FPDFPageObj_Transform",7),Hq=n._FPDFPageObj_TransformF=c("FPDFPageObj_TransformF",2),Oq=n._FPDFPageObj_GetMatrix=c("FPDFPageObj_GetMatrix",2),Qq=n._FPDFPageObj_SetMatrix=c("FPDFPageObj_SetMatrix",2),Rq=n._FPDFPageObj_SetBlendMode=c("FPDFPageObj_SetBlendMode",2),Tq=n._FPDFPage_TransformAnnots=c("FPDFPage_TransformAnnots",7),Mq=n._FPDFPage_SetRotation=c("FPDFPage_SetRotation",2),Lq=n._FPDFPageObj_SetFillColor=c("FPDFPageObj_SetFillColor",5),Nq=n._FPDFPageObj_GetFillColor=c("FPDFPageObj_GetFillColor",5),jq=n._FPDFPageObj_GetBounds=c("FPDFPageObj_GetBounds",5),Kq=n._FPDFPageObj_GetRotatedBounds=c("FPDFPageObj_GetRotatedBounds",2),Vq=n._FPDFPageObj_SetStrokeColor=c("FPDFPageObj_SetStrokeColor",5),Yq=n._FPDFPageObj_GetStrokeColor=c("FPDFPageObj_GetStrokeColor",5),Xq=n._FPDFPageObj_SetStrokeWidth=c("FPDFPageObj_SetStrokeWidth",2),Wq=n._FPDFPageObj_GetStrokeWidth=c("FPDFPageObj_GetStrokeWidth",2),Uq=n._FPDFPageObj_GetLineJoin=c("FPDFPageObj_GetLineJoin",1),qq=n._FPDFPageObj_SetLineJoin=c("FPDFPageObj_SetLineJoin",2),zq=n._FPDFPageObj_GetLineCap=c("FPDFPageObj_GetLineCap",1),Zq=n._FPDFPageObj_SetLineCap=c("FPDFPageObj_SetLineCap",2),Jq=n._FPDFPageObj_GetDashPhase=c("FPDFPageObj_GetDashPhase",2),$q=n._FPDFPageObj_SetDashPhase=c("FPDFPageObj_SetDashPhase",2),ez=n._FPDFPageObj_GetDashCount=c("FPDFPageObj_GetDashCount",1),tz=n._FPDFPageObj_GetDashArray=c("FPDFPageObj_GetDashArray",3),nz=n._FPDFPageObj_SetDashArray=c("FPDFPageObj_SetDashArray",4),rz=n._FPDFPageObj_GetRenderedStrokePattern=c("FPDFPageObj_GetRenderedStrokePattern",2),iz=n._FPDFPageObj_GetRenderedFillPattern=c("FPDFPageObj_GetRenderedFillPattern",2),az=n._FPDFFormObj_CountObjects=c("FPDFFormObj_CountObjects",1),oz=n._FPDFFormObj_GetObject=c("FPDFFormObj_GetObject",2),sz=n._FPDFFormObj_RemoveObject=c("FPDFFormObj_RemoveObject",2),Az=n._FPDFPageObj_CreateNewPath=c("FPDFPageObj_CreateNewPath",2),cz=n._FPDFPageObj_CreateNewRect=c("FPDFPageObj_CreateNewRect",4),dz=n._FPDFPath_CountSegments=c("FPDFPath_CountSegments",1),uz=n._FPDFPath_GetPathSegment=c("FPDFPath_GetPathSegment",2),pz=n._FPDFPath_MoveTo=c("FPDFPath_MoveTo",3),lz=n._FPDFPath_LineTo=c("FPDFPath_LineTo",3),mz=n._FPDFPath_BezierTo=c("FPDFPath_BezierTo",7),wz=n._FPDFPath_GetBezierControlPoints=c("FPDFPath_GetBezierControlPoints",4),bz=n._FPDFPath_Close=c("FPDFPath_Close",1),fz=n._FPDFPath_SetDrawMode=c("FPDFPath_SetDrawMode",3),gz=n._FPDFPath_GetDrawMode=c("FPDFPath_GetDrawMode",3),Fz=n._FPDFPathSegment_GetPoint=c("FPDFPathSegment_GetPoint",3),vz=n._FPDFPathSegment_GetType=c("FPDFPathSegment_GetType",1),Pz=n._FPDFPathSegment_GetClose=c("FPDFPathSegment_GetClose",1),hz=n._FPDFPageObj_NewTextObj=c("FPDFPageObj_NewTextObj",3),kz=n._FPDFText_SetText=c("FPDFText_SetText",2),Dz=n._FPDFText_SetCharcodes=c("FPDFText_SetCharcodes",3),Bz=n._FPDFText_SetPositions=c("FPDFText_SetPositions",3),Ez=n._FPDFText_LoadFont=c("FPDFText_LoadFont",5),_z=n._FPDFText_LoadStandardFont=c("FPDFText_LoadStandardFont",2),yz=n._FPDFText_LoadCidType2Font=c("FPDFText_LoadCidType2Font",6),Gz=n._FPDFTextObj_GetFontSize=c("FPDFTextObj_GetFontSize",2),Cz=n._FPDFTextObj_SetFontSize=c("FPDFTextObj_SetFontSize",2),Iz=n._FPDFTextObj_GetText=c("FPDFTextObj_GetText",4),Sz=n._FPDFTextObj_GetRenderedBitmap=c("FPDFTextObj_GetRenderedBitmap",4),xz=n._FPDFFont_Close=c("FPDFFont_Close",1),Hz=n._FPDFPageObj_CreateTextObj=c("FPDFPageObj_CreateTextObj",3),Oz=n._FPDFTextObj_GetTextRenderMode=c("FPDFTextObj_GetTextRenderMode",1),Qz=n._FPDFTextObj_SetTextRenderMode=c("FPDFTextObj_SetTextRenderMode",2),Rz=n._FPDFTextObj_GetFont=c("FPDFTextObj_GetFont",1),Tz=n._FPDFFont_GetBaseFontName=c("FPDFFont_GetBaseFontName",3),Mz=n._FPDFFont_GetFamilyName=c("FPDFFont_GetFamilyName",3),Lz=n._FPDFFont_GetFontData=c("FPDFFont_GetFontData",4),Nz=n._FPDFFont_GetIsEmbedded=c("FPDFFont_GetIsEmbedded",1),jz=n._FPDFFont_GetFlags=c("FPDFFont_GetFlags",1),Kz=n._FPDFFont_GetWeight=c("FPDFFont_GetWeight",1),Vz=n._FPDFFont_GetItalicAngle=c("FPDFFont_GetItalicAngle",2),Yz=n._FPDFFont_GetAscent=c("FPDFFont_GetAscent",3),Xz=n._FPDFFont_GetDescent=c("FPDFFont_GetDescent",3),Wz=n._FPDFFont_GetGlyphWidth=c("FPDFFont_GetGlyphWidth",4),Uz=n._FPDFFont_GetGlyphPath=c("FPDFFont_GetGlyphPath",3),qz=n._FPDFGlyphPath_CountGlyphSegments=c("FPDFGlyphPath_CountGlyphSegments",1),zz=n._FPDFGlyphPath_GetGlyphPathSegment=c("FPDFGlyphPath_GetGlyphPathSegment",2),Zz=n._EPDFText_RedactInRect=c("EPDFText_RedactInRect",4),Jz=n._EPDFText_RedactInQuads=c("EPDFText_RedactInQuads",5),$z=n._FPDFDoc_GetPageMode=c("FPDFDoc_GetPageMode",1),eZ=n._FPDFPage_Flatten=c("FPDFPage_Flatten",2),tZ=n._FPDFPage_HasFormFieldAtPoint=c("FPDFPage_HasFormFieldAtPoint",4),nZ=n._FPDFPage_FormFieldZOrderAtPoint=c("FPDFPage_FormFieldZOrderAtPoint",4),rZ=n._FPDFDOC_InitFormFillEnvironment=c("FPDFDOC_InitFormFillEnvironment",2),iZ=n._FPDFDOC_ExitFormFillEnvironment=c("FPDFDOC_ExitFormFillEnvironment",1),aZ=n._FORM_OnMouseMove=c("FORM_OnMouseMove",5),oZ=n._FORM_OnMouseWheel=c("FORM_OnMouseWheel",6),sZ=n._FORM_OnFocus=c("FORM_OnFocus",5),AZ=n._FORM_OnLButtonDown=c("FORM_OnLButtonDown",5),cZ=n._FORM_OnLButtonUp=c("FORM_OnLButtonUp",5),dZ=n._FORM_OnLButtonDoubleClick=c("FORM_OnLButtonDoubleClick",5),uZ=n._FORM_OnRButtonDown=c("FORM_OnRButtonDown",5),pZ=n._FORM_OnRButtonUp=c("FORM_OnRButtonUp",5),lZ=n._FORM_OnKeyDown=c("FORM_OnKeyDown",4),mZ=n._FORM_OnKeyUp=c("FORM_OnKeyUp",4),wZ=n._FORM_OnChar=c("FORM_OnChar",4),bZ=n._FORM_GetFocusedText=c("FORM_GetFocusedText",4),fZ=n._FORM_GetSelectedText=c("FORM_GetSelectedText",4),gZ=n._FORM_ReplaceAndKeepSelection=c("FORM_ReplaceAndKeepSelection",3),FZ=n._FORM_ReplaceSelection=c("FORM_ReplaceSelection",3),vZ=n._FORM_SelectAllText=c("FORM_SelectAllText",2),PZ=n._FORM_CanUndo=c("FORM_CanUndo",2),hZ=n._FORM_CanRedo=c("FORM_CanRedo",2),kZ=n._FORM_Undo=c("FORM_Undo",2),DZ=n._FORM_Redo=c("FORM_Redo",2),BZ=n._FORM_ForceToKillFocus=c("FORM_ForceToKillFocus",1),EZ=n._FORM_GetFocusedAnnot=c("FORM_GetFocusedAnnot",3),_Z=n._FORM_SetFocusedAnnot=c("FORM_SetFocusedAnnot",2),yZ=n._FPDF_FFLDraw=c("FPDF_FFLDraw",9),GZ=n._FPDF_SetFormFieldHighlightColor=c("FPDF_SetFormFieldHighlightColor",3),CZ=n._FPDF_SetFormFieldHighlightAlpha=c("FPDF_SetFormFieldHighlightAlpha",2),IZ=n._FPDF_RemoveFormFieldHighlight=c("FPDF_RemoveFormFieldHighlight",1),SZ=n._FORM_OnAfterLoadPage=c("FORM_OnAfterLoadPage",2),xZ=n._FORM_OnBeforeClosePage=c("FORM_OnBeforeClosePage",2),HZ=n._FORM_DoDocumentJSAction=c("FORM_DoDocumentJSAction",1),OZ=n._FORM_DoDocumentOpenAction=c("FORM_DoDocumentOpenAction",1),QZ=n._FORM_DoDocumentAAction=c("FORM_DoDocumentAAction",2),RZ=n._FORM_DoPageAAction=c("FORM_DoPageAAction",3),TZ=n._FORM_SetIndexSelected=c("FORM_SetIndexSelected",4),MZ=n._FORM_IsIndexSelected=c("FORM_IsIndexSelected",3),LZ=n._FORM_GetTextDirection=c("FORM_GetTextDirection",2),NZ=n._FORM_SetTextDirection=c("FORM_SetTextDirection",3),jZ=n._FPDFDoc_GetJavaScriptActionCount=c("FPDFDoc_GetJavaScriptActionCount",1),KZ=n._FPDFDoc_GetJavaScriptAction=c("FPDFDoc_GetJavaScriptAction",2),VZ=n._EPDFDoc_GetNamedJavaScriptActionModel=c("EPDFDoc_GetNamedJavaScriptActionModel",2),YZ=n._FPDFDoc_CloseJavaScriptAction=c("FPDFDoc_CloseJavaScriptAction",1),XZ=n._FPDFJavaScriptAction_GetName=c("FPDFJavaScriptAction_GetName",3),WZ=n._FPDFJavaScriptAction_GetScript=c("FPDFJavaScriptAction_GetScript",3),UZ=n._FPDF_ImportPagesByIndex=c("FPDF_ImportPagesByIndex",5),qZ=n._FPDF_ImportPages=c("FPDF_ImportPages",4),zZ=n._FPDF_ImportNPagesToOne=c("FPDF_ImportNPagesToOne",5),ZZ=n._FPDF_NewXObjectFromPage=c("FPDF_NewXObjectFromPage",3),JZ=n._FPDF_CloseXObject=c("FPDF_CloseXObject",1),$Z=n._FPDF_NewFormObjectFromXObject=c("FPDF_NewFormObjectFromXObject",1),eJ=n._FPDF_CopyViewerPreferences=c("FPDF_CopyViewerPreferences",2),tJ=n._FPDF_RenderPageBitmapWithColorScheme_Start=c("FPDF_RenderPageBitmapWithColorScheme_Start",10),nJ=n._FPDF_RenderPageBitmap_Start=c("FPDF_RenderPageBitmap_Start",9),rJ=n._FPDF_RenderPage_Continue=c("FPDF_RenderPage_Continue",2),iJ=n._FPDF_RenderPage_Close=c("FPDF_RenderPage_Close",1),aJ=n._EPDF_RenderPageBitmapWithMatrix_Start=c("EPDF_RenderPageBitmapWithMatrix_Start",6),oJ=n._EPDF_RenderPage_Continue=c("EPDF_RenderPage_Continue",2),sJ=n._EPDF_FreeBuffer=c("EPDF_FreeBuffer",1),AJ=n._FPDF_SaveAsCopy=c("FPDF_SaveAsCopy",3),cJ=n._FPDF_SaveWithVersion=c("FPDF_SaveWithVersion",4),dJ=n._EPDF_SaveDocumentToOwnedBuffer=c("EPDF_SaveDocumentToOwnedBuffer",3),uJ=n._EPDF_SaveDocumentToOwnedBufferWithVersion=c("EPDF_SaveDocumentToOwnedBufferWithVersion",4),pJ=n._EPDF_SaveDocumentToOwnedBufferEx=c("EPDF_SaveDocumentToOwnedBufferEx",5),lJ=n._EPDF_SaveAsCopyEx=c("EPDF_SaveAsCopyEx",4),mJ=n._FPDFText_GetCharIndexFromTextIndex=c("FPDFText_GetCharIndexFromTextIndex",2),wJ=n._FPDFText_GetTextIndexFromCharIndex=c("FPDFText_GetTextIndexFromCharIndex",2),bJ=n._FPDF_GetSignatureCount=c("FPDF_GetSignatureCount",1),fJ=n._FPDF_GetSignatureObject=c("FPDF_GetSignatureObject",2),gJ=n._FPDFSignatureObj_GetContents=c("FPDFSignatureObj_GetContents",3),FJ=n._FPDFSignatureObj_GetByteRange=c("FPDFSignatureObj_GetByteRange",3),vJ=n._FPDFSignatureObj_GetSubFilter=c("FPDFSignatureObj_GetSubFilter",3),PJ=n._FPDFSignatureObj_GetReason=c("FPDFSignatureObj_GetReason",3),hJ=n._FPDFSignatureObj_GetTime=c("FPDFSignatureObj_GetTime",3),kJ=n._FPDFSignatureObj_GetDocMDPPermission=c("FPDFSignatureObj_GetDocMDPPermission",1),DJ=n._FPDF_StructTree_GetForPage=c("FPDF_StructTree_GetForPage",1),BJ=n._FPDF_StructTree_Close=c("FPDF_StructTree_Close",1),EJ=n._FPDF_StructTree_CountChildren=c("FPDF_StructTree_CountChildren",1),_J=n._FPDF_StructTree_GetChildAtIndex=c("FPDF_StructTree_GetChildAtIndex",2),yJ=n._FPDF_StructElement_GetAltText=c("FPDF_StructElement_GetAltText",3),GJ=n._FPDF_StructElement_GetActualText=c("FPDF_StructElement_GetActualText",3),CJ=n._FPDF_StructElement_GetExpansion=c("FPDF_StructElement_GetExpansion",3),IJ=n._FPDF_StructElement_GetID=c("FPDF_StructElement_GetID",3),SJ=n._FPDF_StructElement_GetLang=c("FPDF_StructElement_GetLang",3),xJ=n._FPDF_StructElement_GetAttributeCount=c("FPDF_StructElement_GetAttributeCount",1),HJ=n._FPDF_StructElement_GetAttributeAtIndex=c("FPDF_StructElement_GetAttributeAtIndex",2),OJ=n._FPDF_StructElement_GetStringAttribute=c("FPDF_StructElement_GetStringAttribute",4),QJ=n._FPDF_StructElement_GetMarkedContentID=c("FPDF_StructElement_GetMarkedContentID",1),RJ=n._FPDF_StructElement_GetRawType=c("FPDF_StructElement_GetRawType",3),TJ=n._FPDF_StructElement_GetType=c("FPDF_StructElement_GetType",3),MJ=n._FPDF_StructElement_GetObjType=c("FPDF_StructElement_GetObjType",3),LJ=n._FPDF_StructElement_GetTitle=c("FPDF_StructElement_GetTitle",3),NJ=n._FPDF_StructElement_CountChildren=c("FPDF_StructElement_CountChildren",1),jJ=n._FPDF_StructElement_GetChildAtIndex=c("FPDF_StructElement_GetChildAtIndex",2),KJ=n._FPDF_StructElement_GetChildMarkedContentID=c("FPDF_StructElement_GetChildMarkedContentID",2),VJ=n._FPDF_StructElement_GetParent=c("FPDF_StructElement_GetParent",1),YJ=n._FPDF_StructElement_Attr_GetCount=c("FPDF_StructElement_Attr_GetCount",1),XJ=n._FPDF_StructElement_Attr_GetName=c("FPDF_StructElement_Attr_GetName",5),WJ=n._FPDF_StructElement_Attr_GetValue=c("FPDF_StructElement_Attr_GetValue",2),UJ=n._FPDF_StructElement_Attr_GetType=c("FPDF_StructElement_Attr_GetType",1),qJ=n._FPDF_StructElement_Attr_GetBooleanValue=c("FPDF_StructElement_Attr_GetBooleanValue",2),zJ=n._FPDF_StructElement_Attr_GetNumberValue=c("FPDF_StructElement_Attr_GetNumberValue",2),ZJ=n._FPDF_StructElement_Attr_GetStringValue=c("FPDF_StructElement_Attr_GetStringValue",4),JJ=n._FPDF_StructElement_Attr_GetBlobValue=c("FPDF_StructElement_Attr_GetBlobValue",4),$J=n._FPDF_StructElement_Attr_CountChildren=c("FPDF_StructElement_Attr_CountChildren",1),e$=n._FPDF_StructElement_Attr_GetChildAtIndex=c("FPDF_StructElement_Attr_GetChildAtIndex",2),t$=n._FPDF_StructElement_GetMarkedContentIdCount=c("FPDF_StructElement_GetMarkedContentIdCount",1),n$=n._FPDF_StructElement_GetMarkedContentIdAtIndex=c("FPDF_StructElement_GetMarkedContentIdAtIndex",2),r$=n._FPDF_AddInstalledFont=c("FPDF_AddInstalledFont",3),i$=n._FPDF_SetSystemFontInfo=c("FPDF_SetSystemFontInfo",1),a$=n._FPDF_GetDefaultTTFMap=c("FPDF_GetDefaultTTFMap",0),o$=n._FPDF_GetDefaultTTFMapCount=c("FPDF_GetDefaultTTFMapCount",0),s$=n._FPDF_GetDefaultTTFMapEntry=c("FPDF_GetDefaultTTFMapEntry",1),A$=n._FPDF_GetDefaultSystemFontInfo=c("FPDF_GetDefaultSystemFontInfo",0),c$=n._FPDF_FreeDefaultSystemFontInfo=c("FPDF_FreeDefaultSystemFontInfo",1),d$=n._FPDFText_LoadPage=c("FPDFText_LoadPage",1),u$=n._FPDFText_ClosePage=c("FPDFText_ClosePage",1),p$=n._FPDFText_CountChars=c("FPDFText_CountChars",1),l$=n._FPDFText_GetUnicode=c("FPDFText_GetUnicode",2),m$=n._FPDFText_GetTextObject=c("FPDFText_GetTextObject",2),w$=n._FPDFText_IsGenerated=c("FPDFText_IsGenerated",2),b$=n._FPDFText_IsHyphen=c("FPDFText_IsHyphen",2),f$=n._FPDFText_HasUnicodeMapError=c("FPDFText_HasUnicodeMapError",2),g$=n._FPDFText_GetFontSize=c("FPDFText_GetFontSize",2),F$=n._FPDFText_GetFontInfo=c("FPDFText_GetFontInfo",5),v$=n._FPDFText_GetFontWeight=c("FPDFText_GetFontWeight",2),P$=n._FPDFText_GetFillColor=c("FPDFText_GetFillColor",6),h$=n._FPDFText_GetStrokeColor=c("FPDFText_GetStrokeColor",6),k$=n._FPDFText_GetCharAngle=c("FPDFText_GetCharAngle",2),D$=n._FPDFText_GetCharBox=c("FPDFText_GetCharBox",6),B$=n._FPDFText_GetLooseCharBox=c("FPDFText_GetLooseCharBox",3),E$=n._EPDFText_GetCharGeometry=c("EPDFText_GetCharGeometry",3),_$=n._EPDFText_GetTextFull=c("EPDFText_GetTextFull",3),y$=n._EPDFText_GetCharToTextMap=c("EPDFText_GetCharToTextMap",3),G$=n._FPDFText_GetMatrix=c("FPDFText_GetMatrix",3),C$=n._FPDFText_GetCharOrigin=c("FPDFText_GetCharOrigin",4),I$=n._FPDFText_GetCharIndexAtPos=c("FPDFText_GetCharIndexAtPos",5),S$=n._FPDFText_GetText=c("FPDFText_GetText",4),x$=n._FPDFText_CountRects=c("FPDFText_CountRects",3),H$=n._FPDFText_GetRect=c("FPDFText_GetRect",6),O$=n._FPDFText_GetBoundedText=c("FPDFText_GetBoundedText",7),Q$=n._FPDFText_FindStart=c("FPDFText_FindStart",4),R$=n._FPDFText_FindNext=c("FPDFText_FindNext",1),T$=n._FPDFText_FindPrev=c("FPDFText_FindPrev",1),M$=n._FPDFText_GetSchResultIndex=c("FPDFText_GetSchResultIndex",1),L$=n._FPDFText_GetSchCount=c("FPDFText_GetSchCount",1),N$=n._FPDFText_FindClose=c("FPDFText_FindClose",1),j$=n._FPDFLink_LoadWebLinks=c("FPDFLink_LoadWebLinks",1),K$=n._FPDFLink_CountWebLinks=c("FPDFLink_CountWebLinks",1),V$=n._FPDFLink_GetURL=c("FPDFLink_GetURL",4),Y$=n._FPDFLink_CountRects=c("FPDFLink_CountRects",2),X$=n._FPDFLink_GetRect=c("FPDFLink_GetRect",7),W$=n._FPDFLink_GetTextRange=c("FPDFLink_GetTextRange",4),U$=n._FPDFLink_CloseWebLinks=c("FPDFLink_CloseWebLinks",1),q$=n._FPDFPage_GetDecodedThumbnailData=c("FPDFPage_GetDecodedThumbnailData",3),z$=n._FPDFPage_GetRawThumbnailData=c("FPDFPage_GetRawThumbnailData",3),Z$=n._FPDFPage_GetThumbnailAsBitmap=c("FPDFPage_GetThumbnailAsBitmap",1),J$=n._FPDFPage_SetMediaBox=c("FPDFPage_SetMediaBox",5),$$=n._FPDFPage_SetCropBox=c("FPDFPage_SetCropBox",5),eee=n._FPDFPage_SetBleedBox=c("FPDFPage_SetBleedBox",5),tee=n._FPDFPage_SetTrimBox=c("FPDFPage_SetTrimBox",5),nee=n._FPDFPage_SetArtBox=c("FPDFPage_SetArtBox",5),ree=n._FPDFPage_GetMediaBox=c("FPDFPage_GetMediaBox",5),iee=n._FPDFPage_GetCropBox=c("FPDFPage_GetCropBox",5),aee=n._FPDFPage_GetBleedBox=c("FPDFPage_GetBleedBox",5),oee=n._FPDFPage_GetTrimBox=c("FPDFPage_GetTrimBox",5),see=n._FPDFPage_GetArtBox=c("FPDFPage_GetArtBox",5),Aee=n._FPDFPage_TransFormWithClip=c("FPDFPage_TransFormWithClip",3),cee=n._FPDFPageObj_TransformClipPath=c("FPDFPageObj_TransformClipPath",7),dee=n._FPDFPageObj_GetClipPath=c("FPDFPageObj_GetClipPath",1),uee=n._FPDFClipPath_CountPaths=c("FPDFClipPath_CountPaths",1),pee=n._FPDFClipPath_CountPathSegments=c("FPDFClipPath_CountPathSegments",2),lee=n._FPDFClipPath_GetPathSegment=c("FPDFClipPath_GetPathSegment",3),mee=n._FPDF_CreateClipPath=c("FPDF_CreateClipPath",4),wee=n._FPDF_DestroyClipPath=c("FPDF_DestroyClipPath",1),bee=n._FPDFPage_InsertClipPath=c("FPDFPage_InsertClipPath",2),fee=n._FPDF_InitLibrary=c("FPDF_InitLibrary",0),gee=n._FPDF_InitLibraryWithConfig=c("FPDF_InitLibraryWithConfig",1),Fee=n._FPDF_DestroyLibrary=c("FPDF_DestroyLibrary",0),vee=n._FPDF_SetSandBoxPolicy=c("FPDF_SetSandBoxPolicy",2),Pee=n._FPDF_LoadDocument=c("FPDF_LoadDocument",2),hee=n._FPDF_GetFormType=c("FPDF_GetFormType",1),kee=n._FPDF_LoadXFA=c("FPDF_LoadXFA",1),Dee=n._FPDF_LoadMemDocument=c("FPDF_LoadMemDocument",3),Bee=n._FPDF_LoadMemDocument64=c("FPDF_LoadMemDocument64",3),Eee=n._FPDF_LoadCustomDocument=c("FPDF_LoadCustomDocument",2),_ee=n._FPDF_GetFileVersion=c("FPDF_GetFileVersion",2),yee=n._FPDF_DocumentHasValidCrossReferenceTable=c("FPDF_DocumentHasValidCrossReferenceTable",1),Gee=n._FPDF_GetDocPermissions=c("FPDF_GetDocPermissions",1),Cee=n._FPDF_GetDocUserPermissions=c("FPDF_GetDocUserPermissions",1),Iee=n._FPDF_GetSecurityHandlerRevision=c("FPDF_GetSecurityHandlerRevision",1),See=n._EPDF_SetEncryption=c("EPDF_SetEncryption",4),xee=n._EPDF_RemoveEncryption=c("EPDF_RemoveEncryption",1),Hee=n._EPDF_UnlockOwnerPermissions=c("EPDF_UnlockOwnerPermissions",2),Oee=n._EPDF_CheckPasswordPermissions=c("EPDF_CheckPasswordPermissions",6),Qee=n._EPDF_SetRuntimeOwnerPermissions=c("EPDF_SetRuntimeOwnerPermissions",2),Ree=n._EPDF_IsEncrypted=c("EPDF_IsEncrypted",1),Tee=n._EPDF_IsOwnerUnlocked=c("EPDF_IsOwnerUnlocked",1),Mee=n._FPDF_GetPageCount=c("FPDF_GetPageCount",1),Lee=n._FPDF_LoadPage=c("FPDF_LoadPage",2),Nee=n._EPDFDoc_LoadPageByObjectNumber=c("EPDFDoc_LoadPageByObjectNumber",2),jee=n._EPDFDoc_LoadPageByObjectNumberNormalized=c("EPDFDoc_LoadPageByObjectNumberNormalized",2),Kee=n._EPDFDoc_GetPageObjectNumberByIndex=c("EPDFDoc_GetPageObjectNumberByIndex",2),Vee=n._EPDFDoc_DeletePageByObjectNumber=c("EPDFDoc_DeletePageByObjectNumber",2),Yee=n._EPDFDoc_SetPageRotationByObjectNumber=c("EPDFDoc_SetPageRotationByObjectNumber",3),Xee=n._EPDFDoc_StartLoadPageByObjectNumber=c("EPDFDoc_StartLoadPageByObjectNumber",3),Wee=n._EPDFPage_ContinueLoad=c("EPDFPage_ContinueLoad",2),Uee=n._EPDFPage_GetObjectNumber=c("EPDFPage_GetObjectNumber",1),qee=n._FPDF_GetPageWidthF=c("FPDF_GetPageWidthF",1),zee=n._FPDF_GetPageWidth=c("FPDF_GetPageWidth",1),Zee=n._FPDF_GetPageHeightF=c("FPDF_GetPageHeightF",1),Jee=n._FPDF_GetPageHeight=c("FPDF_GetPageHeight",1),$ee=n._FPDF_GetPageBoundingBox=c("FPDF_GetPageBoundingBox",2),ete=n._FPDF_RenderPageBitmap=c("FPDF_RenderPageBitmap",8),tte=n._FPDF_RenderPageBitmapWithMatrix=c("FPDF_RenderPageBitmapWithMatrix",5),nte=n._EPDF_RenderAnnotBitmap=c("EPDF_RenderAnnotBitmap",7),rte=n._EPDF_RenderAnnotBitmapUnrotated=c("EPDF_RenderAnnotBitmapUnrotated",9),ite=n._EPDF_SetDecodedImageBudget=c("EPDF_SetDecodedImageBudget",1),ate=n._EPDF_GetDecodedImageBytes=c("EPDF_GetDecodedImageBytes",0),ote=n._EPDFPage_ResetRenderCache=c("EPDFPage_ResetRenderCache",1),ste=n._FPDF_ClosePage=c("FPDF_ClosePage",1),Ate=n._FPDF_CloseDocument=c("FPDF_CloseDocument",1),cte=n._FPDF_GetLastError=c("FPDF_GetLastError",0),dte=n._FPDF_DeviceToPage=c("FPDF_DeviceToPage",10),ute=n._FPDF_PageToDevice=c("FPDF_PageToDevice",10),pte=n._FPDFBitmap_Create=c("FPDFBitmap_Create",3),lte=n._FPDFBitmap_CreateEx=c("FPDFBitmap_CreateEx",5),mte=n._FPDFBitmap_GetFormat=c("FPDFBitmap_GetFormat",1),wte=n._FPDFBitmap_FillRect=c("FPDFBitmap_FillRect",6),bte=n._FPDFBitmap_GetBuffer=c("FPDFBitmap_GetBuffer",1),fte=n._FPDFBitmap_GetWidth=c("FPDFBitmap_GetWidth",1),gte=n._FPDFBitmap_GetHeight=c("FPDFBitmap_GetHeight",1),Fte=n._FPDFBitmap_GetStride=c("FPDFBitmap_GetStride",1),vte=n._FPDFBitmap_Destroy=c("FPDFBitmap_Destroy",1),Pte=n._FPDF_GetPageSizeByIndexF=c("FPDF_GetPageSizeByIndexF",3),hte=n._EPDF_GetPageRotateByIndex=c("EPDF_GetPageRotateByIndex",3),kte=n._EPDF_GetPageTabOrderByIndex=c("EPDF_GetPageTabOrderByIndex",4),Dte=n._EPDF_GetPageBoxByIndex=c("EPDF_GetPageBoxByIndex",4),Bte=n._EPDF_GetPageUserUnitByIndex=c("EPDF_GetPageUserUnitByIndex",3),Ete=n._EPDF_LoadPageNormalized=c("EPDF_LoadPageNormalized",3),_te=n._FPDF_GetPageSizeByIndex=c("FPDF_GetPageSizeByIndex",4),yte=n._FPDF_VIEWERREF_GetPrintScaling=c("FPDF_VIEWERREF_GetPrintScaling",1),Gte=n._FPDF_VIEWERREF_GetNumCopies=c("FPDF_VIEWERREF_GetNumCopies",1),Cte=n._FPDF_VIEWERREF_GetPrintPageRange=c("FPDF_VIEWERREF_GetPrintPageRange",1),Ite=n._FPDF_VIEWERREF_GetPrintPageRangeCount=c("FPDF_VIEWERREF_GetPrintPageRangeCount",1),Ste=n._FPDF_VIEWERREF_GetPrintPageRangeElement=c("FPDF_VIEWERREF_GetPrintPageRangeElement",2),xte=n._FPDF_VIEWERREF_GetDuplex=c("FPDF_VIEWERREF_GetDuplex",1),Hte=n._FPDF_VIEWERREF_GetName=c("FPDF_VIEWERREF_GetName",4),Ote=n._FPDF_CountNamedDests=c("FPDF_CountNamedDests",1),Qte=n._FPDF_GetNamedDestByName=c("FPDF_GetNamedDestByName",2),Rte=n._FPDF_GetNamedDest=c("FPDF_GetNamedDest",4),Tte=n._FPDF_GetXFAPacketCount=c("FPDF_GetXFAPacketCount",1),Mte=n._FPDF_GetXFAPacketName=c("FPDF_GetXFAPacketName",4),Lte=n._FPDF_GetXFAPacketContent=c("FPDF_GetXFAPacketContent",5),Nte=n._FPDF_GetTrailerEnds=c("FPDF_GetTrailerEnds",3),ab=c("fflush",1),XE=c("strerror",1),WE=c("emscripten_builtin_memalign",2),jte=n._malloc=c("malloc",1),Kte=n._free=c("free",1),_t=c("setThrew",2),Vte=c("_emscripten_tempret_set",1),ob=()=>(ob=Xe.emscripten_stack_init)(),UE=()=>(UE=Xe.emscripten_stack_get_free)(),qE=()=>(qE=Xe.emscripten_stack_get_base)(),Td=()=>(Td=Xe.emscripten_stack_get_end)(),sb=u=>(sb=Xe._emscripten_stack_restore)(u),Ab=u=>(Ab=Xe._emscripten_stack_alloc)(u),cb=()=>(cb=Xe.emscripten_stack_get_current)(),Yte=n.dynCall_jiji=c("dynCall_jiji",5),Xte=n.dynCall_iiiiij=c("dynCall_iiiiij",7),Wte=n.dynCall_iiiiijj=c("dynCall_iiiiijj",9),Ute=n.dynCall_iiiiiijj=c("dynCall_iiiiiijj",10),qte=n.dynCall_viijii=c("dynCall_viijii",7),zte=n.dynCall_ji=c("dynCall_ji",2),Zte=n.dynCall_iiij=c("dynCall_iiij",5),Jte=n.dynCall_j=c("dynCall_j",1),$te=n.dynCall_iji=c("dynCall_iji",4),ene=n.dynCall_jji=c("dynCall_jji",4),tne=n.dynCall_iiji=c("dynCall_iiji",5),nne=n.dynCall_viijj=c("dynCall_viijj",7),rne=n.dynCall_jij=c("dynCall_jij",4),ine=n.dynCall_iij=c("dynCall_iij",4),ane=n.dynCall_viji=c("dynCall_viji",5);function zE(u,l,b,v,D){var E=ht();try{pt(u)(l,b,v,D)}catch(_){if(Pt(E),_!==_+0)throw _;_t(1,0)}}function ZE(u,l,b){var v=ht();try{return pt(u)(l,b)}catch(D){if(Pt(v),D!==D+0)throw D;_t(1,0)}}function JE(u,l,b,v){var D=ht();try{return pt(u)(l,b,v)}catch(E){if(Pt(D),E!==E+0)throw E;_t(1,0)}}function $E(u,l){var b=ht();try{pt(u)(l)}catch(v){if(Pt(b),v!==v+0)throw v;_t(1,0)}}function e_(u,l,b){var v=ht();try{pt(u)(l,b)}catch(D){if(Pt(v),D!==D+0)throw D;_t(1,0)}}function t_(u,l,b,v,D,E,_){var C=ht();try{return pt(u)(l,b,v,D,E,_)}catch(T){if(Pt(C),T!==T+0)throw T;_t(1,0)}}function n_(u,l,b,v,D){var E=ht();try{return pt(u)(l,b,v,D)}catch(_){if(Pt(E),_!==_+0)throw _;_t(1,0)}}function r_(u,l,b,v){var D=ht();try{pt(u)(l,b,v)}catch(E){if(Pt(D),E!==E+0)throw E;_t(1,0)}}function i_(u,l){var b=ht();try{return pt(u)(l)}catch(v){if(Pt(b),v!==v+0)throw v;_t(1,0)}}function a_(u){var l=ht();try{pt(u)()}catch(b){if(Pt(l),b!==b+0)throw b;_t(1,0)}}function o_(u,l,b,v,D,E){var _=ht();try{return pt(u)(l,b,v,D,E)}catch(C){if(Pt(_),C!==C+0)throw C;_t(1,0)}}function s_(u,l,b,v,D,E,_,C,T,$){var te=ht();try{pt(u)(l,b,v,D,E,_,C,T,$)}catch(ae){if(Pt(te),ae!==ae+0)throw ae;_t(1,0)}}function A_(u){u=Object.assign({},u);var l=E=>_=>E(_)>>>0,b=E=>(_,C)=>E(_,C)>>>0,v=E=>_=>E(_)>>>0,D=E=>()=>E()>>>0;return u.strerror=l(u.strerror),u.emscripten_builtin_memalign=b(u.emscripten_builtin_memalign),u.malloc=v(u.malloc),u.emscripten_stack_get_base=D(u.emscripten_stack_get_base),u.emscripten_stack_get_end=D(u.emscripten_stack_get_end),u._emscripten_stack_alloc=v(u._emscripten_stack_alloc),u.emscripten_stack_get_current=D(u.emscripten_stack_get_current),u}n.wasmExports=Xe,n.ccall=rb,n.cwrap=jE,n.addFunction=TE,n.removeFunction=KE,n.setValue=_B,n.getValue=BB,n.UTF8ToString=er,n.stringToUTF8=yr,n.UTF16ToString=IE,n.stringToUTF16=VE;var c_=["writeI53ToI64","writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","readI53FromI64","readI53FromU64","convertI32PairToI53","convertU32PairToI53","getTempRet0","setTempRet0","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","emscriptenLog","readEmAsmArgs","jstoi_q","listenOnce","autoResumeAudioContext","dynCallLegacy","getDynCaller","dynCall","handleException","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","asmjsMangle","HandleAllocator","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","reallyNegative","unSign","strLen","reSign","formatString","intArrayToString","AsciiToString","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","stringToNewUTF8","registerKeyEventCallback","maybeCStringToJsString","findEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","jsStackTrace","getCallstack","convertPCtoSourceLocation","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","safeSetTimeout","setImmediateWrapped","safeRequestAnimationFrame","clearImmediateWrapped","polyfillSetImmediate","registerPostMainLoop","registerPreMainLoop","getPromise","makePromise","idsToPromises","makePromiseCallback","ExceptionInfo","findMatchingCatch","Browser_asyncPrepareDataCounter","arraySum","addDays","getSocketFromFD","getSocketAddress","FS_unlink","FS_mkdirTree","_setNetworkCallback","heapObjectForWebGLType","toTypedArrayIndex","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","webgl_enable_EXT_polygon_offset_clamp","webgl_enable_EXT_clip_control","webgl_enable_WEBGL_polygon_mode","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","emscriptenWebGLGetUniform","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","writeGLArray","registerWebGlEventCallback","runAndAbortIfError","ALLOC_NORMAL","ALLOC_STACK","allocate","writeStringToMemory","writeAsciiToMemory","setErrNo","demangle","stackTrace"];c_.forEach(kB);var d_=["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","out","err","callMain","abort","wasmMemory","writeStackCookie","checkStackCookie","convertI32PairToI53Checked","stackSave","stackRestore","stackAlloc","ptrToString","zeroMemory","exitJS","getHeapMax","growMemory","ENV","ERRNO_CODES","strError","DNS","Protocols","Sockets","timers","warnOnce","readEmAsmArgsArray","jstoi_s","getExecutableName","keepRuntimeAlive","asyncLoad","alignMemory","mmapAlloc","wasmTable","noExitRuntime","getCFunc","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","freeTableIndexes","functionsInTableMap","getEmptyTableSlot","updateTableMap","getFunctionAddress","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","stringToUTF8Array","lengthBytesUTF8","intArrayFromString","stringToAscii","UTF16Decoder","stringToUTF8OnStack","writeArrayToMemory","JSEvents","specialHTMLTargets","findCanvasEventTarget","currentFullscreenStrategy","restoreOldWindowedStyle","UNWIND_CACHE","ExitStatus","getEnvStrings","doReadv","doWritev","initRandomFill","randomFill","promiseMap","uncaughtExceptionCount","exceptionLast","exceptionCaught","Browser","getPreloadedImageData__data","wget","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","isLeapYear","ydayFromDate","SYSCALLS","preloadPlugins","FS_createPreloadedFile","FS_modeStringToFlags","FS_getMode","FS_stdin_getChar_buffer","FS_stdin_getChar","FS_createPath","FS_createDevice","FS_readFile","FS","FS_createDataFile","FS_createLazyFile","MEMFS","TTY","PIPEFS","SOCKFS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","GL","AL","GLUT","EGL","GLEW","IDBStore","SDL","SDL_gfx","allocateUTF8","allocateUTF8OnStack","print","printErr"];d_.forEach(Xw);var qs;ja=function u(){qs||db(),qs||(ja=u)};function u_(){ob(),cB()}function db(){if(Br>0||(u_(),dB(),Br>0))return;function u(){qs||(qs=!0,n.calledRun=!0,!ve&&(uB(),i(n),n.onRuntimeInitialized?.(),R(!n._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),pB()))}n.setStatus?(n.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n.setStatus(""),1),u()},1)):u(),yd()}function p_(){var u=S,l=G,b=!1;S=G=v=>{b=!0};try{ab(0),["stdout","stderr"].forEach(v=>{var D=k.analyzePath("/dev/"+v);if(D){var E=D.object,_=E.rdev,C=Hn.ttys[_];C?.output?.length&&(b=!0)}})}catch{}S=u,G=l,b&&pn("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.")}if(n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();db(),r=o;for(let u of Object.keys(n))u in t||Object.defineProperty(t,u,{configurable:!0,get(){Oe(`Access to module property ('${u}') is no longer possible via the module constructor argument; Instead, use the result of the module constructor.`)}});return r})})(),AC=sC});var LF={};Je(LF,{default:()=>x7});var x7,NF=it(()=>{"use strict";x7="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AF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv//AAAAIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL//wC5AF0ApACFAEwAlwAkAKYAkgCSACkAlQA7AGUAjwCpAMMAfwCwAKoAUQBNAKEAnwBAAG0ALACaAGAAPwBNAIUAFP/A/8f/x//I/8j/zv/O/8//z//V/9X/1f/W/9b/1//e/97/3v/e/+D/4f/l/+X/5f/l/+cAAP/7////8wCKACr/4v/0//0ABgAOABoAIAAoACoALwAvAC8AMwA3ADoASABSAFwAXgBnAG8AdAB0AHQAdAB3/97/3P/d/9T/3v/CADf/xQBL/7gALf/G/78ACv/h//IAIf/y/70AEAAxACz/kv/uAAMAB/+r//r/+//S//b/9AAgAAb/Rv9C/0L/Rf9B/0L/PP9E/0n/Rf9F/0X/Uv9N/03/Tf9C/1T/Wf9V/1X/WP9U/83/VP9h/13/Xf9d/2L/V/+q/2n/Y/9j/3L/Y/9m/2L/e/+P/4v/i/+L/6v/p/+n/6f/jf+2/73/t/+3/8L/tv94/77/7//r/+v/6//x/97/8P7V/1r+0v9x/sj+xf90/vL9n/4E4GjgZuCy4LLgsuCs4KzgqeBL4EvgPeBT4I/gVeBV32ffvwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAIRI0x5fDzz1AAMD6AAAAAAAAAAAAAAAAAAAAAD/5P8HAnQDIwAAAAgAAgAAAAAAAAABAAADI/8IAAACWAAAAAACdAABAAAAAAAAAAAAAAAAAAAA9AJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAAAAFAAAPQAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACAA4A0gADAAEECQADAEQA4AADAAEECQAEACwBJAADAAEECQAFABoBUAADAAEECQAGACgBagADAAEECQANAQIBkgADAAEECQAOAIAClABDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwBSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwA7AEMAaAByAG8AbQBGAGkAeABlAGQATwBUAEYARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwBWAGUAcgBzAGkAbwBuACAAMQAuADAAMAAwAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAAAAwAAAAAAAP+cADIAAAABAAAAAAAAAAAAAAAAAAAAAA=="});var jF={};Je(jF,{default:()=>H7});var H7,KF=it(()=>{"use strict";H7="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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAACLrmuRfDzz1AAMD6AAAAAAAAAAAAAAAAAAAAAD/j/8HAskDKwABAAgAAgAAAAAAAAABAAADK/8IAAACWAAAAAACyQABAAAAAAAAAAAAAAAAAAAA9AJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAAAAFAAAPQAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACAAgA0gADAAEECQADAFYA2gADAAEECQAEADYBMAADAAEECQAFABoBZgADAAEECQAGADABgAADAAEECQANAQIBsAADAAEECQAOAIACsgBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwBCAG8AbABkAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBCAG8AbABkADsAQwBoAHIAbwBtAEYAaQB4AGUAZABPAFQARgAtAEIAbwBsAGQARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAE0AbwBuAG8AQgBvAGwAZABVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAAAAAAD/nAAyAAAAAQAAAAAAAAAAAAAAAAAAAAA="});var VF={};Je(VF,{default:()=>O7});var O7,YF=it(()=>{"use strict";O7="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APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL//wAAACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AuQBdAKQAhQBMAJcAJACmAJIAkgApAJUAOwBlAI8AqQDDAH8AsACqAFEATQChAJ8AQABtACwAmgBgAD8ATQCFABT/wP/H/8f/yP/I/87/zv/P/8//1f/V/9X/1v/W/9f/3v/e/97/3v/g/+H/5f/l/+X/5f/nAAD/+/////MAigAq/+L/9P/9AAYADgAaACAAKAAqAC8ALwAvADMANwA6AEgAUgBcAF4AZwBvAHQAdAB0AHQAd//e/9z/3f/U/97/wgA3/8UAS/+4AC3/xv+/AAr/4f/yACH/8v+9ABAAMQAs/5L/7gADAAf/q//6//v/0v/2//QAIAAG/0b/Qv9C/0X/Qf9C/zz/RP9J/0X/Rf9F/1L/Tf9N/03/Qv9U/1n/Vf9V/1j/VP/N/1T/Yf9d/13/Xf9i/1f/qv9p/2P/Y/9y/2P/Zv9i/3v/j/+L/4v/i/+r/6f/p/+n/43/tv+9/7f/t//C/7b/eP++/+//6//r/+v/8f/e//D+1f9a/tL/cf7I/sX/dP7y/Z/+BOBo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AG8AZgB0AHcAYQByAGUAIABJAG4AYwAuAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAE0AbwBuAG8AQgBvAGwAZAAgAEkAdABhAGwAaQBjAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBCAG8AbABkAEkAdABhAGwAaQBjADsAQwBoAHIAbwBtAEYAaQB4AGUAZABPAFQARgAtAEIAbwBsAGQASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAATQBvAG4AbwAgAEIAbwBsAGQAIABJAHQAYQBsAGkAYwBWAGUAcgBzAGkAbwBuACAAMQAuADAAMAAwAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBCAG8AbABkAEkAdABhAGwAaQBjAFUAcwBlACAAbwBmACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABnAG8AdgBlAHIAbgBlAGQAIABiAHkAIAB0AGgAZQAgAEIAUwBEAC0AcwB0AHkAbABlACAAbABpAGMAZQBuAHMAZQAgAG8AZgAgAFAARABGAGkAdQBtADoAIABoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAAwAAAAAAAP+cADIAAAABAAAAAAAAAAAAAAAAAAAAAA=="});var XF={};Je(XF,{default:()=>Q7});var Q7,WF=it(()=>{"use strict";Q7="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BgsAAAAEAlgBkAAFAAACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAABFUERGAIEAICEiAyP/CAAAAyMA+AAAAAEAAAAAAAAAAAAAACAAAQAAAAEAAwABAAAADAAEBtgAAAGyAQAABwCyACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv///+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f+//7//v/+//7//v/+//7//v/+//7//v/++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv+//73/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/77/vv++/3L/cv9o/2j/Uv9O/07/O/4K/frgxeDF4MLgwuDC4MHgweDB4MDgwODA4L3gtOCs4KzgPd/JAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAPObZYV8PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAP/Q/wcClwMjAAIACAACAAAAAAAAAAEAAAMj/wgAAAJYAAAAAAKXAAEAAAAAAAAAAAAAAAAAAAD0AlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAJYAAACWAAAAlgAAAAAUAAA9AAAAAAACQByAAMAAQQJAAAApgAAAAMAAQQJAAEALACmAAMAAQQJAAIADADSAAMAAQQJAAMAXgDeAAMAAQQJAAQAOgE8AAMAAQQJAAUAGgF2AAMAAQQJAAYANAGQAAMAAQQJAA0BAgHEAAMAAQQJAA4AgALGAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAFQAaABlACAAUABEAEYAaQB1AG0AIABBAHUAdABoAG8AcgBzAC4AIABPAHIAaQBnAGkAbgBhAGwAIABjAG8AZABlACAAYwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAARgBvAHgAaQB0ACAAUwBvAGYAdAB3AGEAcgBlACAASQBuAGMALgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABNAG8AbgBvAEkAdABhAGwAaQBjAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQATQBvAG4AbwBJAHQAYQBsAGkAYwA7AEMAaAByAG8AbQBGAGkAeABlAGQATwBUAEYALQBJAHQAYQBsAGkAYwBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABNAG8AbgBvACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAE0AbwBuAG8ASQB0AGEAbABpAGMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQADAAAAAAAA/5wAMgAAAAEAAAAAAAAAAAAAAAAAAAAA"});var UF={};Je(UF,{default:()=>R7});var R7,qF=it(()=>{"use strict";R7="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AQAABwCyACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv//AKsAVACXAHkAQwCLACAAmQCGAIYAIACJADIAWwCDAJsAtQBzAKIAnABIAEQAkwCRADcAYQAjAIwAVQA2AEMAeAAL/8D/x//H/8j/yP/O/87/zv/O/9L/0v/S/9P/0//U/9v/2//b/9v/3P/d/+H/4f/h/+H/4//3//L/9v/qAHwAIP/e/+v/9P/9AAUAEQAXAB4AIAAkACQAJAAnACsALgA8AEUATwBRAFkAYQBmAGYAZgBmAGn/1f/T/9T/y//V/7kAKf+8AD3/rwAf/73/tv/+/9f/5gAU/+b/tAAEACMAHv+O/+L/9//7/6L/7v/v/8j/6v/oABL/+f9G/0L/Qv9F/0H/Qv88/0T/Sf9F/0X/Rf9P/0v/S/9L/0L/Uf9W/1L/Uv9V/1H/wf9R/13/Wf9Z/1n/Xv9T/6D/Zf9f/1//af9f/2L/Xv9y/4b/gv+C/4L/of+d/53/nf+E/6r/sf+r/6v/tv+q/2//sv/h/93/3f/d/+P/0P/i/tL/Tv7P/2T+xP7B/2b+6f2W/fbgX+Bd4KXgpeCl4J/gn+Cc4ELgQuA04Ergg+BL4EvfZ9+xAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAIIDQdl8PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAP9a/x8D6AOxAAAACAACAAAAAAAAAAEAAAOx/yAAAAP3AAAAAAPoAAEAAAAAAAAAAAAAAAAAAADmARYAAAKbAAAD6AAAApsAAAKbAAACmwAAApsAAAKbAAACmwAAApsAAALSAAAC0gAAAtIAAAKbAAACmwAAApsAAAKbAAACmwAAAtIAAAKbAAACYwAAAwoAAALSAAABFgAAARYAAAEWAAABFgAAARYAAAH0AAACmwAAAiwAAAIsAAADQQAAAtIAAALSAAADCgAAA+gAAAMKAAADCgAAAwoAAAMKAAADCgAAAwoAAAKbAAADCgAAAtIAAAKbAAACmwAAAmMAAAKbAAAC0gAAAtIAAALSAAAC0gAAAtIAAAKbAAADsAAAApsAAAKbAAACmwAAApsAAAJjAAACYwAAAiwAAAIsAAACLAAAAU0AAAIsAAADeQAAAiwAAAKbAAACLAAAAdUAAAJIAAABhQAAA/cAAAIsAAACLAAAARYAAAEEAAABTgAAAU4AAAEWAAABFgAAAU0AAAEEAAABXgAAAfQAAAFNAAAB9AAAAU0AAAIsAAABTQAAARYAAAEWAAAC4QAAAiwAAAIsAAACLAAAAiwAAAGQAAABTQAAAkgAAAIsAAABTQAAARYAAAIsAAACLAAAAiwAAAIsAAACLAAAAiwAAAPoAAAD6AAAAiwAAAJIAAACLAAAARYAAAFNAAABFgAAAfQAAAIsAAAB9AAAAiwAAAIsAAAApwAAAiwAAAJjAAABTQAAAkgAAAJkAAACZAAAAU0AAAFuAAACLAAAAU0AAAFNAAAA3gAAARYAAAEWAAABFgAAARYAAADeAAAB9AAAAN4AAAJIAAACSAAAAN4AAANBAAABTQAAAkgAAAIsAAACSAAAAiwAAAIsAAACLAAAAiwAAAIsAAACLAAAAiwAAAIsAAADsAAAAU0AAAIsAAACLAAAA0IAAANCAAABTQAAAXIAAAFtAAACYwAAAiwAAAIsAAACGQAAAU0AAAFNAAADeQAAARYAAAEWAAAD6AAAAkgAAAJIAAACLAAAAiwAAAJjAAABYwAAAU0AAAFNAAABTQAAAN4AAADeAAAA3gAAAL8AAAFNAAAC4QAAAU0AAAH0AAAB9AAAAiwAAAEWAAACLAAAAiwAAAEWAAABFgAAAiwAAAEWAAACLAAAAiwAAANCAAABTQAAAU0AAAPoAAACLAAAAU0AAAIsAAACLAAAAiwAAAIsAAACLAAAAiwAAAH0AAAC0gAAAfQAAAH0AAAB9AAAAfQAAAIsAAAB9AAAAfQAAAIsAAAAAFAAAOYAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACAA4A0gADAAEECQADAEIA4AADAAEECQAEACwBIgADAAEECQAFABoBTgADAAEECQAGACgBaAADAAEECQANAQIBkAADAAEECQAOAIACkgBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBhAG4AcwBSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQAUwBhAG4AcwA7AEMAaAByAG8AbQBTAGEAbgBzAE8AVABGAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAYQBuAHMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQADAAAAAAAA/5wAMgAAAAAAAAAAAAAAAAAAAAAAAAAA"});var zF={};Je(zF,{default:()=>T7});var T7,ZF=it(()=>{"use strict";T7="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AGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBhAG4AcwAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMAQgBvAGwAZABVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="});var JF={};Je(JF,{default:()=>M7});var M7,$F=it(()=>{"use strict";M7="T1RUTwAJAIAAAwAQQ0ZGIH28hugAAACcAABAIk9TLzJTR3FqAABAwAAAAGBjbWFwtEBbHAAAQSAAAAbkaGVhZGLGQ8MAAEgEAAAANmhoZWEIHgQ0AABIPAAAACRobXR489UAAAAASGAAAAOYbWF4cADmUAAAAEv4AAAABm5hbWVa5nUnAABMAAAAA+Bwb3N0/5MAMgAAT+AAAAAgAQAEAgABAQEXQ2hyb21TYW5zUFMtQm9sZEl0YWxpYwABAQEn+BAA+BwB+B0C+B4D+BQEfwwC+0L7ePru+lYF9zwP+JwRsRw5/BIABAEBBS9IVUV1cm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaHJvbSBTYW5zIFBTIEJvbGQgSXRhbGljQ2hyb20gU2FucyBQUwAAAQABAACBAQCEAACGAgCRAABjAABtAQCMAACSAADHAADkAAACBQBoAAAJNwB8AABCHQGHAAB1AABlAAB2AAB5AABwAQB+AAB6AADAAABrAACOAABBAAAIAABpAAB3AAB0AABvAACJAAB/AACZAADdAABsAACUAADGAABgAgBnAABkAACgAABmAACDAACqAACLAABqAACXAACmAAClAACAAAChAACcAACkAACpAAB9AACYAABzAAByAACFAACWAACPAAB4AACeAACbAACjAAB7AACuAACrAQCwAACtAACvAACKAACxAAC1AACyAgC5AAC2AgCaAAC6AAC+AAC7AQC/AAC9AACoAACNAADEAADBAgDFAACdAACVAADLAADIAQDNAADKAADMAACQAADOAADSAADPAgDWAADTAgCnAADXAADbAADYAQDcAADaAACfAACTAADhAADeAgDiAACiAADjAADmAgABAAQABwA3AEwAdgCJALkAzwDeAPYBSAGUAbwB4AIrAnACmQLTAzkDyQRaBQQFIQVfBZcFzAXzBhoGLgZABlUGngbKBx8HgwfFCCUIkAjBCTUJnwnCCfoKHwo/CmIKtwtlC5YL7ww5DGsMlwy6DRoNSA1YDYkNtw3JDgcOLQ58DrgPLQ+KD+YQChBZEHQQshDhEQMRMRFTEWwRjRGuEbwRyxIdEn0SxxMhE3MTsRQcFGQUghTGFPIU/hVlFa8VyRYkFoAWvxcWF1oXqBfFGAEYLxhrGJgY6xkEGVsZoRocGj4anhq9GtcbDhtYG2wcChyPHKcdMh1aHX0dxR3oHgceER4cHmgeuB8uH0Qf3CAbIEggvCFSIdciLSJNIvYjCCOYJAIkECQlJDck2STxJSUlViWcJfImAiZKJngmiia9JuInJiczJ5MoECiqKQApGCkzKVMpninCKfkqSSrYKu0rBCskK0krbSuEK6UrvywMLGYsciyOLKgs7S0TLUYtvS3KLdAt3i3uLh4uai7oLwUvKi9PL6IvwjBbMQgxjjGxMdYx+zIpMj8yWzJ9Mp4zGjOsM78z5DQBNFI0dzSjNR01KzU3NUU1WDWUNe02JPv5Dvv5Dvjw1EL3JhITQPcw+YIVSZSuO/cEG/cRufcErZYfQwYTgHWAbFhLGxNAVXatsoEfDvj69wcB93/4+hX3EAal9wcF+xAGDvdc+TYVUb1byMW+ucfHWbVQTFtgUB7HFqWhnailonpwcHR2cW90oKYeDnIK9x348BXzUgr3BvsmFfNSCg77eNn3KncBtNwD1haDenFPVBpGsXDDr76bm6Yems0FiYZVeWobdm6VspuPqqLBHw5yCvdo+PCOCvcs9yZ6CjI0Y+IFJQYOSAoB0Bb3Iwb3AvioRwoO/GiNdvltdwEpeBX43fltBT8G/N39bQUOhAr5a3cB4hb3IQbj+DMF7wah8QUnBtqanaSyG5mdh32xH6bwBZxVWZFrG/sXgSj7A2ofOwZ2JQXaBvd5/DMVmwr3AfiZPQqa0hX3IQal9xNlCoQK+DPx92Z3AfgoFvcgBvcr+V89Cvxn/V8Vmwri+DMF7wag8QUnBtqcmqSyG5mfhn6wH6bwBZxVWpFqG/sVgCj7A2ofPAZ1JQXaBg6HCs8W+JpQCvwEBr73hPdM7qP3B/tMKL33hpQKRPvgMFlz+wjmvQUO+/k3CtwW9yAG1vgA58ye6S5KwveYBfsgBkT76ClIdy3vzQUOc4v3Dfh/9xC+lQqkFvjLQAqMiiyLKxtSTIuKRB/4PviIoPcIBfyiBnH7EAX36Ab8N/yEBffH+TMV9xkG9yhnCvsKBjQxZeUFJwYO+xuL9wn3wPcF0JUKnxb4aQal9wkF+6gG99H3257hBfxWBnL7BQX3lAb7zvvTBfeD+IkV9yUG9zRnCvsUBi0xYeUFIAYOi/cb+Nt3Aen3wwPpFnwKqPcbRwqxuxXbBvcI9/Wy90oF+y0GZ/tKBQ77NfhodvejdwH3VfclufclA/gU+FMV3Qa19yKg9xV6Cnj7FQX7V/siFd0Gt/cinvcVBfsNBnf7FQUOPKB2+DXy90Z3AeYW9wsGtfdHBfcLBmH7RwX3Cwa190cF9y7x+xYGq/ccBe3yQQa190YF+w8GYvtGBfsJBrX3RgX7CwZg+0YF+ysk9xMGbPscBSsl0wb3JPEVqvccBfcKBmv7HAUOPC124/cD+Ud3Afcu9w73RvcMA873WxWT+wfPPOxzdisY1Aae4wX3QeX09wX3JvsSyV+cH7b3W5eFp3uUUxn3EpOA9wZCukedGZW+BUQGgWEF+wv7Ek77HVuf+wX3HVAfXPtxUKWEzYmgGfci94IVZqByp7QaurK5yIkeYfyyFbX3XAW0d7B2VxpjcE8uhB4O95J6205296/cj9v3XduKdxL3+vD36fATe/eB+G4VkJn3K86doYJodn77HEdji6qZHkf8gRX3AgYTd/ji+WwF+wMG/QL7dRVLsETr9zCt9y/LHhO7xHHg+wH7H1r7Gi8e+E78ARVKsETr9y+u9zDLxHDgIPsgWvsbMB7wgRWRmPcp0Juig2h2ffsdSGOLq5keDuJ99wUqdvkZ5RLk9yOa9xkTmPes+DsVS2v7E077HxoyzfsI90ns1K2psh4TWJ93tGmmfOfmGIqMho+MGm2ifZhyoqelrrueriPGGGhWe3yBgXahWNFizwgTCPcv1pzjqxoTKMdW1/sMIyVU+wlemWKeZh6/KhWsUr9Au1MIE5h8c2NzTxs+a7e72dW3pZgf0fcvFYSYfJ+rGhMAtqqysqyfd3FfUGZhdx4O/CH4aHb3o3cB9zn4UxXkBrf3IqL3FWYKd/sVBQ77T3b6QncB1/cZA/cz+2QV8QaMiZKKjR5t7Xj3LPQa95r3Kvd29wPkHvsFBjIt+1T7YvupGlCU+yLV+zgeDvtPdvpCdwH3gPcZA3L7ZBX3BQbk6fdU92L3qRrGgvciQfc4HiUGqyaf+y37ARr70fte+25QXx4O+4r4LHb333cB94z4FxXM9wLK+wLQwTno9wqkceD7BleX9xIFNwaY+xL7AMJvNvcKbzItBQ5Y91L3FAH3q/cZA933UhX3WftS9xn3Uvda9xT7WvdQ+xn7UPtZBg77+fsndvfOdwHJjRXQBn1KcHRbgH1EGPctjqT3FpjKpfcKGPstBg73a/cWAdT3axX3qQao9xYF+6kGDvv5i/cmAcsW9ysGqfcmBZcKDvv5eAp2+I0DZngV7wb4KfmIBSUGDjx49wT4jfcEAeH3D/ew9xAD4fdjFfs76lD3BveB4Pfm9zD3Pi3M+wX7ei374/s8HvcPFrbG9/D3G8WrPF9EUvvL+xtFdeaiHg48oHb5WncB90H3+AP3nBb3FAb3HflaBT4GOSz7AVZLbHP7EBizldunzboIDjyL9xL4b/cBAfhU9yADpBb4dAap9xIF+6YGsLWbmfcQ8gj3AOS10dca30/1+0X7FShF+xlzHvchdwW/lq7J0RvDr2FlOPsUNUBIH/sCLy0/e/sJCA48ePcG92P3CfdG9wUB+GD3KAPM90cV+yug9wRc8hv3O/P3C/cByWjFUKgfzKHMw+Ma4EXw+y/7TGX7JWR+HvcdcQXBmqe2whuquXxRSU9kPR9x+wkF0MJyR05eVkJLd7XFgR8OPKB29yX3Cvg4dwHH+K4Dx/clFfexBmv7JQX3Ggaq9yUF4wak9woFMwbq+FN6Cvwb/FUF9yKNFfdQ93KNiVz7cAUOIHj3B/er8vcC9xQByPck93P3JwPI91oV+yKN8UD3CRv3RPcJ9yf3KPcJPeD7DWBzgYN4H673AgX3jwan9xQF/BEG+wb8AfcOggW+vL2LlBu3uHM/+wlCTUlKdbzMjh8OPHj3BPew5/cV9wQB4Pcm9173JwP3o/hMFbeYr/cG4xvJkFlyjR/3IpQF9w18RcT7Bxv7a/sL+4/7gfsQ1/sJ9yr3Q+n3KvcU9xE64PsQZGqCd2sfY/tuFeO4ztewt20z+wBUUUxHe965Hg48oHb43fcRAfcnFvcnBqf3HPct9+f3R/cToesY/JwGbPsRBffnBvuO+5xL+7OIdQgOPHj294D29zj2AdD3Lfdl9ykD93z4FhX7IV91+w1dGiLcMvco90jx9xP3Bu5HsW+bHqyY7qn3ABrwN977Hvs+QfsNODvGcaJ9HoH7ZxXPs9zdvq9VW2ByMCliXqTJHs/33xXEvbO/wadlZFlbXlNba6u2Hg48ePcE+wT3Ssbn97D3BAH3Cfco9173KAPZ9zMV+w2a0lL3Bxv3bPcM95D3gfcQP/cI+yv7RCz7L/sU+xHdO/cRsquUn6wfX35n+wYyG02GvaSIH7j3lxX3AMLKytCaOl0zX0Y+Z16k4x4Oi/cX94/3FgH3RPgSFfcmBqj3FpMK+wX8lBX3Jgao9xeTCg77J3b3R3b4GfcZAcP3uwPlgRXPBn1PcHVcgX1JGPcqjqX3DZfFpfcCGJcKwveTFfcnBqn3GXsKDliYdviedwHd91gV+Iv7YAX3Fwf73fcX9933EwX3GQf8i/tgBQ5Y4vcL6fcLAcX40wPF4hX40/cL/NMG6QT40/cL/NMGDliYdviedwH1gxX4i/dgBfcGB/yL92CYCgf33PsX+9z7EwUOc4v3G/h98gH3mPdHFfcVBpbKn5vdzgj3Cuq+vNoa30Xq+zX7UEb7G0V5HvcXdAX3CabTk7Yb2KFfa2Z1eTVCH/sELWFbfCgIX/tHFfchBqn3G5IKDvhJTdr3ANr3ytrt2gH3Ydvg9wX4ZNsD+SX3QhV5j5Rszhv3RvcE9zf3KPdM+xv3KvuD+9T7FPuH+1v7pfd/+wn3bPcd90e09y7YHy8GaG1GOvteG/u1OfdB9x73D8r3hPfE93rM+yso+x37AzBhc5GpqJIfzPfLBfsGBoBbBcBnVpBvG/swO/s5+w0oyDj10LOxlpYf+0L3GRXIq/cm8NKVQnBRavssJE95v74eDmgK9zP3DPhLdwGfFl4K4fczBfevBqP7MwX3Hwb7CPliQwon/EsV9zD3tVwKs/u1BQ7ii/cM91D3DPc+iwr37wb3J/dCtfdMwGzRMqMfjQepk/cCnPcSGvcjJLz7Rx77kAai/OoVs/dQBfdIBqLpizklJIcyHzz3yBWv9z4F9wkG1c+LQy0rhzcfDuJ49xL4jPcSAfb3LAP45veVFfsLZDRsURsnWOPv9wqACmmSH/comQX3PXf7Fs37HBv7f/s1+1T7jvsxzvsx93X3YvD3G/cJth8OVwrXFveYBvd892X3JPen93H7A9n7gR/7WAag/OwV8/h2BeEG2PSG+0T7ivs4VPsXHw6ri/cM91b3DPc4iwr4xAalgwr8MQaz91YF9/5ACvv+Bq33OAX4FEAK/KcGDoQK98X3DPdBiwpeCsz3xQX360AK++oGr/dBBff+QAr8kwYOjAr3LvcP93f3EgH3APclA/hM95kV904GdPsABYF4PWcyG00lmPc79yjR90T3VdPJbS+nH/cfmgX3OnH7Fc77KBv7svsM+5f7VftJ7vsP92P3JvcJxKu7H833zgX72gYOaAr31PcN96l3AdIWXgrP99QF960GR/vUBV4K9yz5YlMKUPupBfutBsX3qVoKDvv5NwrLFl4K9y35YgWXCg48efcR+Pd3Acf3WxX7ILs+9zL3W7f3DfdFsB7m+Ep7CjD8SoUKb2pmTBsvmM+xjR8O4jcK4hZeCrn3cPcg9w73SPvqBfc9BvuD+En32fetBftcBvvh+8SJjcv3wlMKDocK1xb4klAK+/8G9xD46XsKDvdaNwr34fcDA9AWggr3BvjsXAqm/OwF9yAG97D4542J+yP85QX3HAb3LPliBftrBvuK/ItRCnb4iwX7aQYO4jcK0Pl2A4oK8vh3XAr3Wfx3BZsK9y35Yj0KJfx0UQr7Wvh0ZQqMCviM9xIB9xf3KvgP9yoD9vexFfsi4/s292n3sfcW95P3VfdI+wb3FPtT+8kl+6/7PR73Khb3N/D3N/cp9wPCMyv7CTv7X/s8KkTV8x4Oq6B296b3DPdgiwr3JwbE96YF6gb3UfdCuvdg90n7PJdXH/u5Btv72BW292AF9gbWyY1A+wv7GX/7AR8O9yNsdtv3Cvht9wo2CvjEwBWka7Neym/T4xhnnmelbaYI9wThwPcb9wsa9z/7B/cK+1D70Cr7qPsp+x/m+yX3ZsG6kp2+Hvs19zUVuHuwZ4UagVqLhjI6vfcI9xXm90b3M/cCwz0uWnX7CTw/HmK4ZaNlnQgOaAr3u/cE91OWCvkl9ycD1xb3KQbK97sFxwa3qItdqx+1UM77UIka9zQGYPcBUfcfS8QI9wCa9wW+9zIa91H7NotHHvvVBt77yxWz91MF9zgGvM+LRPsE+xyDIR8Oq3j3EviSlgrc93oV+1P3KFH3JPdn3/cA9wD3EDTD+xTCHjWuWY6/GtjnnaXRzXA6HvcnkgX3Lfsfz/sj+2VT+xMz+xLlZPcVVB7caLh5Vxo+Mn5X+yOIzsqJHg6ECvjp9w0B93cW9y0G9xX46QX3bAal9w0F/N0GcfsNBfdsBg7iePcR+Ph3AfcI9ysD92b5YhU5/CAFhGeGZ2Ua+w2MwfsC918b96W292D3Hagf4PggBfssBjb8IAX7EXFJMC0bNm66yLCPsZKsH9/4IAUOqzcK97YW9yYG+AH5YpEK+6b8s1EKOfizWwoO98k3CvdK9xT3tfcDA/dXFvcmBveN+KBcCpr8oI0K9+D5YgX7HQb7dfyFUQp8+IUF+y4G+378ilEKhfiKgQqrNwqZFvdJBvdQ93vz+3sF9zMG+zv36PfM+A4F+0UG+1/7i/sK94t7Cvc++/YFDqs3Cvc8+RIDZAr3nvfM+FhDCvtd+8f7EPfHWgr3UfxKBQ6ECvjp9w0BpBb4+wam9wkFivwzjIse+GL4faL3BAX8zwZv+w0F+AUG/Fv8eAUOfwr3SDUV9yn5TgX3AQaj9wIF+4kG+1j+KgX3iQaj9wIFDvv5eAr3EPeHA/eFeBX3Egb7B/mIBfsUBg5/CpE1FXP7AgX3iQb3WPoqBfuJBnP7AgX3Agb7Kf1OBQ5Y9+x2+At3AfcX99cV9xwG6fd56vt5BYIK+0L4CwUgBg48+xG9AXBAFVn4y70HDnIK94z48BX0Bkf3JlMKDkIK9/Hydgr4GokvChOwmQqqshqrfPcDMwqABbiYsZu4G86oWlVwH2yAVIZQhghChvsvgfs0GijWUOEeMAqZ94oVYIF3ICAbWnehp8rcoueXHw5zffZBdvhF8PdOdxL3Z/cY9zb3IBN8yIkV9xgGneFcChO0c5a0QfcHG/cl9wz3I/dP9wVX8vsbQl9sc2sfvveFRAoTdLP8kBX3A8T3AubBumA/HhO0OF77HCVMZMXGHg48ffcF9+j2Adr3IwP4OPdbFTZtT3xwG2NistDgs/cn9wXXk0h3jR/3HpoF44NN5vslG/tL+w77L/tM+wTG+wH3NvcW49b3CLYfDnN99izq9973AfdOdxITcPg4iRX3Fwb3LflkRwpS+6EFnn5iyyAb+zIk+zT7PB8TsPsg0T33BuG+s6emHo2JBRNw+2f3LBXnvvcT58i0VEk/YvsZIktousseDjz3ceP3GvJ9Cvdo93EV+AgGk66MuJka8F73FvtB+20z+1P7Gvsk6zD3LNf3AKb3Fcwe+xmgBXuCa1FBG05ZvN6PH5rjFb2Wr9/gG9ilTESIHw6gdvgz8fdmdwHiFvcVBtr4MwXmBp/xBTAG2pmRpK4bmKaGfq0fpPAFnFpekW0b+wqAKPsDbR9EBnYlBdQGDnP7bfL3A/b35/J+dxIT0LFuFftG90CByvd7o/b3WrUe6/hRPQp4LVEKE+DTaEiuRhv7HfsUIPtl+z3yS93ewreenx+NiQX7CHSAUyQbRICup40fnfesFcWz9zD0y7RNSitT+wgsUWK52h4OhAr4RO/3TncB+Hb3JwPMFnwKt/diBfSisvcN9hu6mG9pdod0hnUfSfvEBXwKzPfEBZGnkq+uGs1vyvsDMFFdc2sewfeURAoOSAr4oXfn9xQB0BabCvcB+KGSCpvTFZsKpvcUkgoO+/n7VXYBdToVd/sKBXy2uIuUG/cOsfcx9x2lH9/4UQX7FgY6/FEF+zBsfn5jG4B6jJJzH/d7+ToV9xYGo/cUBfsWBg48NwrQFvcmBq73Me3f1vuFBfcmBvsI99/3bfdRBftSBvtQ+0SJjd34CJMKDvv5NwqKCvcs+WJlCveSoHb4T/IByxb3Iwa+94kF352h9wbyG7WWdW54h3WHdx9F+98FfAq+94YF0piv9xbtG66UaGh6iXqIfh9H+9qNCtD32gWPpY+mpRrVcs4jOkReWWoe4XtAlGAbOGF3VGMfmcmRCg6ECvhP5THyEhOgzBZ8Crr3bwXzoaf3DPcJG7ebanZthG2GcR9L+8MF9yUGy/fCBZKtkbOwGtJsyfsANE9fZWEeiY0FE8CZzlsKDnN99wL36PcCPwrd93EV+xHe+wI4Cvc3JgoOc/tOdvdU9wT36Osr9wES+I33IBPYnftjFXwKxfeqBXeYtEn2G/c08/cy90H3I0Ti+wY0WGJubx+JjQUT6JbCBfsYBuL7yxXYtPce9cyuVEktWPsRLk1iw9AeDnP7Tnb3VPL38fcBfncS2/chE9j4AvtjFfclBvcu+XhmCnk0UQoT6KN/Ytf7Bxv7JvsM+yf7VPsJvyL3G9W3q6SsH/tZ9zkV4Lf3JfLKsk9O+wZS+wYwVF202R4O+4qgdvgw9w37DfcaEtf4PROwyxaCCqv3PKb3F6L3E/cwfRm/9wsFkX52lG4bSVlRUWkfiY0FE8Cf8AX7EgYOPH3v9/zvAcr3KBX7B6vlXPcXG/dIwPcI0/Qgqz+jH0SgcZOrGqWjo8Sb0ItLoB73FKMF9xFw+waaRBv7MkJGODXXT+JsH+lplYVuGmddcVpBcbO4ex4Omnb4LO73Q3cB99qFFaLxBYcldpvHH3BvkaiRH8X3qAXjBqHuBTMGsfdD+zcsejsFRQZ1KAXQBotM+7JzGi73G4bgHg5ZCvhPdxLt9ycTcPgxiRX3Ggb3A/iqRApX+5EFRnKC+w37DhtdfLC0nI+cj5ofzffQRwpK+9AFhW+EZ2caE7BHpU33Bc/OqcHCHoyJBQ48eQr3eBb3CQb3y/ioewr7V/v4UQpX9/gF+xoGDvcjeQr4eeUD908W9xUG9y/36lwKo/vqBfcWBveT+KhUCvsy+/dRCnr39wX7Egb7M/v3UQpp9/cF+w8GDjx5CpoW9z8G9xb3K9T7KwX3KQb7F/eX94X3pQX7Pgb7GPsoQfcoUwr3GPuWBQ48+2r3CfkJdwHCNBV++wAFfq2qhaYb4sXN8MMf99H413cK/CdRCln4J1QK5fyjBUxvbGRcG317jpJ5Hw77G4v3CvfB9wUBnxb4cAal9woF+6wG99b33J7hBfxcBnH7BQX3mAb70/vVBQ5zCvey9wcBFODp92EV73k/+wR0H/svabFR9x4bowaj9wcFSXKOzJgftPdOgr1Ss9O1qKy391wIy5igkNYbo/cHBXMG+1B3MvsjbB/7CXJ/VycbDvv3+1B2+kZ3Ab37ZRX3Awb3XvpGBfsDBg5zCvgldwGTOhVx+wcF92af5PcjrB/3CaWov90bpPcIBSmc1/cEpB+Uro6ppRrjWa37EB5x+wcFwKaJZ4OKgoh+H2H7TpRZxGNBYW5qX/tcCEt8d4ZCGw5Y901290d3AfcH+GID9wf3NxXCv7ORphu8q318qR97qql8tBvQv7yVlB/3DAdNU1aJgRtpbZeYbh+bZGaeXRt1V4tOVR8O4ov3DPhv9w8B9wj3HwOf95QV6wb7MprsKfdLG7u6k5q5H6/3JQVrXFN7TBs4OsrUiB/32gab1AX75waPqpChjZQI9+kGm9QF+98G4rnbt+sbxLWBaqYfxlUKqFpOmkMb+0n7ICP7KlQf+wAGe0IF9AaHcYl2inwIOQYO+/n7EXb3Onb3FHcB04oVyQZ+UnN6YIJ+TRj3HT4K+x0GDjz7UXb5z5YKiDsVXPsDBX22xYaqG/cVu/cP2aYf9yf4PgXvBq70BScGzaKWqLobqamBh5gfuvcFBZ5QUo2AG/seezX7FVEfKgZnIgXtBvsm/DwFT3d1cmsbd3iNlWQfDvsb+xF29yX3FAH3vYphCvcfPgr7Hgb7lvsUYQpWCg74AYv3JgH5khZLCv1T+yYVSwr3yPsmFUsKDjz7Knb42/cD91d3AfdF+z8V9xgG9wz42wX3Qgai9wMF+0MGtPdXZgpi+1cF+0gGdfsDBfdIBg48+yp290L3A/fX9wP3PncBuY4V90MGaftCBfcUBq33QgX3PYkKzPfXBfc+iQqs9z4F+xMGafs+BftEBnX7AwX3QwZL+9cF+0QGDnIK9wr48I8K5OGzNQXxBkz3JoEK+AF62052+R3bEhNg9z74bxWbofcfw5uedm51d/sXT2qLqpweR/yCFe0G+Gr5bQUmBvyB+38V+wHTebr3HLj3NtG1eeMh+y92+2t3HvfX/AEVE6D7AdF5u/ccuPc+0LV53CF0CqH3H8Oann5tdnf7HlFpi6qbHveLFvsB0Xm69x639z3Psnvh+wB0CqD3H8Sannxtdnf7HFBqi6qbHg6rePcUEtz3JlP3Jvdb9ywq9ycT0Nz3fhX7RvcoQPck92ff9wL3AfcSNMT7FMIeE6g1sFmOwBrY556l0cVzNZMe9yeSBfc3gPsUyPsjG/tlU/sUMvsV5W73FVMfE9DcaLhuVho9Mn5X+yOIz8uJHvc++LMV9x0G9ytdCvsNBjIxZOUFJgYOWAr3YtcV0AZe92X3D/dbBTkG+yH7WwUO+AF49w37AfcB+wH3D/dc9w/3N/cP+wH3DRLu9xkTOviEhBX4iHEK+/wGtPdcBffHcQr7yAas9zcF99wGpPcPBfxoBno5BROW1mI8nlcb+1L7PPtX+6v7YfcSPvcS47SxraUfjYgFE1b7qPdpFfcSxfd39zjht0o+Tnb7CW9CHm+AYy4gGzhNxfIfDvv5+G9296V3Afc5+FqOCqb3FQVNBpfEpJq2lZjJGPseiHT7AX9UCA77+fhmdveldwH3O/hRFfcdPgr7HQZw+xUFyQZ+U3N7YIEIDvsb+Fr3FPcldwH3NPhaFfcfBqb3FAVNBpfDpJ23lJfJGPseiHP7A39VCPdkIo4Kp/cUBUwGmMOjnbeUmMkY+x+IdPsDf1UIDvsb+GZ29yT3FQH4HPhRFfcfPgr7HgZvYgr7h00VVgpwYgoO+7H3a3b33ncB3vf9FS/XQOfn2NXo6T7QLy5ARC8eDjyICvjX9fzXBg74AYgK+pP1/pMGDvj29xM43ol3EhOA9wX49hXUBhNAj5qWp66MCKqigYGjH4GiooCqG8G7td2ZH0EGcoODenQbdXWTk3IfEyCWbGqYaRsTgD1yQleAHw74Affbdvfn1AH3aOX3WOD30OAD92j3xhXl9+f3LtT8JkL3Mgb3svvnFeD33I0G9wj73AXbBvcH99wFjvvc4Pgw+yEGJvuvUQol968F+yAGDjx97/iU9ywB9yT3HPcm9ygDyvcoFfsHrelc9x4b91HD5dP0+wTFOqMfQaFwi6sapKSrx5vUi0uiHvcaowX3EW/7DJtAG/s6PUYyJ9xp5mwf72mVfm4aZ1pxWD1ws7h6HvcR+D8Vggr3Kl0K+wwGMzFk5QUnBg5YCu7XFd0G9yH3VT/3awVGBrj7awUO98l98SX3AvcQ4/cV9wEk8hLd9yH3mPcVE7b4pcwVVrjQcdAb9yrK9wG5pR/7E6IFaXtqYU0baEek9o0f9/YGlK6NsK8a7Ez3DfsrdDOJQjkeylFFl1Mb+6px+6VK+wrPI/dF1tWlwMAf7PeHFROuqJKk9ekb8Ib7BHSKH/0EJxUTdvcFwPcI8LfJbylDZfsj+wlHZsHFHg6roHb5bXff9w4BZAr3ovfM+F9DCvtd+8z7EPfMWgr3UfxQBYr4kBX3BgajVQr7Bwb3QPsOFfcGBqNVCvsGBg77OXb4q3fP9xsB90b4IRX3JQap9xuTCvsL/LkVZfs9BfcrBrD3Pbn4AgU6Bg48Knb29fft6el3Adr3GwP3JCwVyXS+9wMFiZWbiaEb9y/V9wPYph/7GZ9zUGRcS48Z9xz32KB5lnKNbRn3FJmF40+7VKAZsOJPo2ErBYyFgYx7G/s5+x37IPtXKrZP02sfufcCFYKTep6/GtKr9zX3FJQeDjyQdqZ298j3APdh9hL3S/cUE7jLexWcqsKjxBu7qYKCqh8TeIKpq4O8G8WvmpivH2H3CwVxU2iLeBt+QZeErR+GpD6XdBt1eIeBfh+JjcrCrb2Q3RnpBqL3AHoKh6GIoaMa6cK2wNeWRHKPHvcRmAXqhE/q+yMb+ygt+wj7FIWLdZNjHz0GdfsABfcDBn77CSNSaHwIDjzsdrX3Fvdp9xa4dwHc2BXm0gV4pq2AsRu1t5eerh+4QvcH5l/Tqq6ktJm1GZKgkaanGpiLmIiZHufTVeYuQgWVfW6dUhtRYHmBdx9e1PsIK7VGbml0Yn5iGYJxgGCTXDJEGPd091EVxp7JuMMbt6hvYoCJf4d/H093S1pTG1NuvMegHw48oHb3Ieb4ZncBx/chFfdNBm37IQX3IAar9yEF90sGn+YF+0wGnNcF90sGn+cF+xMG92r3vkMK+0v7vlEKQPe+RAro+74F+w8GeC8F900Gez8F+04GDvv3eArbeBX3AAbO98kF+wAGqvcdFfcABs73ygX7AAYOPPtM6fke9zsS9vcNePcRofcWa/cKE+jIdxU1nNY99xob9xvL1tW9b7d9nh8T1NWuwcbTGsZuvi/bHifjepKxGqWcs7rPj094jR73EpcFxIRy8/s2G/soXDBGdZBto2UfE+hneSxjIhp2iUrhPh7IVfNIShqDh1xNYGSf2Xce91f3HBX7CfcCBWWvi5iWGrmtqqudHobiQIKPHxPktmSqbmYaXVFxfoceDvj69wcB9x34+mkK90X7B2kKDvF41ufS96vS6NYBw9j5BdgD9xn3+BX3PPcd9x73QfdB9yL7Hvs8+zz7IvsY+0H7Qfsd9xj3PB74LFYVdoN5TEMbXFeq9byT6ObLpFt3kx/dngWvfWDf+w4b+xNOM/sR+y/tVuXN3qntqR/8ytsV+2X3QPs692v3a/dF9zr3Zfdl+0X3QPtr+2v7QPtA+2UeDvud96jj+Al3AffZ97IV9QaBpomhm+m54N8a9w/7FYt2ayGK+xZbHvR7Bb6ks4uVG6+rbVNwH/sDfniJZYAIVHpoSk8aUa1W4K+ymKSsHox9jIePgQiM90oVYYJ+TU4bc22cpLW/lOCWHw48WAr4I9dKCjX7bUoKDlj3FXYB9PfGFfgB+1r3GffL/IYGDlj3WfcEAd33WRX3BPik+wQHDvF41vegyven1gHC2Pgy5PcO2AP3lPczFd4GpPc5BaEGtaSFLq4fo0kF8wZm3HHHgZ9nmRmNB+GWtb25GvcV+wZ/+wweOAbD+0EVnPcBBa4G1LqPUlJNjEAf+6lvFfc89yD3G/dB90H3H/sb+zz7PPsf+xv7QftB+yD3G/c8Hj4W+2X3Q/s992v3a/dC9z33Zfdl+0L3Pftr+2v7Q/s9+2UeDvjw1QH3Dvf9A/cO+PAV9+cGodUF++gGDvt/90PX9yDXA/dD+M8VO8xK29zNzNvbScg6O0pOOx7XihWyq6exsatwY2VrbGVla6qxHg5Yi+f3TOn3HHcB96r3AAOzFvjd5/zdBvdMBPeC+x/3APcf94Pp+4P3HPsA+xz7ggYO96/k95XcAdD3rxX32Aai5AX7PAagnMSxl5YI3NOps7UaxV3H+wf7JXUib4Ye9wR9BaeSlLG5G+8w+wFSMB8qTmxdgEIIDvej3Tn3HPfDdwHm+CYVcY6bIvcbG/cCytrIH7lhnp+czKbAGrhq0yH7Cmwzan8e7XkFsJWcn6gbkq2KaU9Gkn2NH3c0BauVuoNdGm1yb2Fghqqnhh4O+QV29yZ3AfeA+PAV8lIKDnP7Tnb3Yuszdvi2dxITsPdwwxVwmqRgyBu3o6C0sR8T0IJaBfcUBvcE+Kk9Ck/7qQVUgHQiMxtoXKbLH8737pIK+zD9d40KDjz7Pnb5kvcRAffD+1MV9xD5ktn9kvcM+ZLK9xH7ywb7KfsWX/stWqT7JvdIHw77+fdA9zYB9wL3QI4Kp/c2gQr7eM73NXcB9xjjA7yAFXtTBY6dm46VG5m0h2ZcSH88H3RIBfcv8a7mvGnAQXB2hoV8Hw73xHb4P3cB92L3rxXnBuX4PwVRBnFvVV8/a3ExGK+Tspi0oggO+6L3qPL3k/IB5/cG9zn3BgPn+FcVML439w/3P7v3YNjpUOH7CvsrSvtD+wMe9wYWwqb3FNioq3RVWm/7FT9id62xHg48WArz100KqvtZTQoO91uSdvlodwH4acMV9zEGe0UF1wac0QW6BpvNBV0GvfdwBUEG+2f7cAXfFu72jYlwIgX8k/shFdgG+On5bQU+Bvyl+/0V4gbf9/sFVQZydFhmRHCEiRh6QaySsJaynhkO91t91VF2977N+AF3EhNw9xh4Fd0G+Q75bQU5Bvy4+/0V5wbl9/sFUQZxdFVmP3CDiRh5Qa+Sspa0nhkTsPeq/OgV95cGntWRCpyalJWWkgj3Admas68au2a+L/sIejJ0hx7kfwWjkZKtsBull3l8cHB2Pk4fQ1Fta4JOCA73W5J29/rO9793Eve05kXlE/D4b8MV9zgGekUF2wae0QW7BpzNBVsGv/dwBT4G+3L7cAXjFvP2jYlwIgX8ovshFd0G+QX5bQU7Bv0o+5YVdo6YNPcIG+nBzL4fs2eZnBoT6JjDk8gasG7FMCZxQm+BHt99BaqUmZukG5Cpim9ZUJF+jB96RAUT8KeSs4VlGnJ2c2dmh6aihx4Oc/tX8vhUd8v3GAHA9xoD+ECtFfsKcEODYBs+dbOrsKGi4dQf9wTrtbua7gj7FQaATHd7OUgI+woqWFU8GjbRMfc191DQ9xzRnR77cvgZFZsKqPcYZQo0Ctf3JwH4ffmpFeoGTfcnkQr8A/48Jwo0CvdzdwH4UfmoFe4G9z33KAX7Mwb8qv48Jwo0Ctb3KAH31fmoFfcJBuDhsTUF7AZP9yhmCvxT/jwnCjQK4/cOOd0SE+j37fmyFcwGmJCUqasbqqCCgJ4fE/CAoJ6Cpxu7trTcmB9JBnKDhHt3G3R4lJR0H5ZzcZVnG0Z1Q1iAH/vZ/bInCjQK3vcLAfft+bCPCqT3CwX7DQb3SvsLjwql9wt6CvzD/icnCjQK91jAAZ/5PgOfFiUKKfjbFVa2X8C+trXCw2GxV1RiZFQevxajnpykop97cnJ3eHRzd56kHg74AYv3Dcb3DJj3Dfc59wsBkBb3LAbx90gF94MGZvtIBfiZUAr8EAaz91QF991QCvvdBq/3OQX38wak9wsF/TkGLPw2Ffc+978F4gZN+78FDuL7Y3b3J/dL+xH3EfiQ9xMS9vcs9zjtE7z3iPs2FXBRBYO+x4uTG/HeqtnGW6dRkR+NB/dhkub3I7Hz+y+iGPsJZDdpThsnWObv9wuACmiSH/comQX3Pnb7Fc77HBv7hPsw+177hvsxzfsz92cfjIeJhxtbgnNWBRPcjpmdjqAbvZp3eVwui3x+XI6MgB8OQQq7lQrXFiwK96K7FeoGTfcrWwoOQQr3W3cB1xYsCvdPuxXpBvcy9ytTCg5BCruVCtf5PQPXFiwK5LsV9wkG4OSxMgXsBk/3K2YKDquL9w73XPcQ9zz3DwH37PmtFfcNXwr3DE8K+wwG/If+JxUsCg5OCtCVCve9+aUV5QZQZwr7FAb7HP48Ffc/+XQFXgr7QP10BQ5OCvdwdwHLFkYKkLwV9gb3SWcK+z8GDk4K0JUK9w/5pRX3EQbm5LQyBfMGS/crPQr7a/48FUYKDk4K2PcOAfcf+a1qCvdL+w5qCvvI/icVRgoOVwrTFveZBvd+92b3Iven93H7Gtv7bB/7WQZJ+8MFPQZz+wQF2Ab3BftNFbL3TQX3Mgaj9wQF+zEGs/dNBeEG2fWE+0T7ivsVVvs9Hw5oCvlzdwGKCvL4glwK91n8ggWbCvct+XM9CiX8gFEK+1r4gD0K9xLKFcoGj5mVqqqJq4megZyBnoGbgauNuo22spfcCEpjCnd4k5R2H5ZzcJZnG0d1Q1iCHw5JCvie+aR1CvvKKwr3I3j3FPnPdzYK+FT5pBXqBvc3XQr7Lgb8USsKSQr37/mkFfcLBuLlszEF7gZO9yyRCvwZKwr3I3j3E/lw3jYK+Ar5sRXLBpmPlaipG6yggoGfH4CenYGkG7u1tN2XH0pjCnZ5lJR2H5Z0cJVmG0d1Q1eBH/uf/JchCg6MCviP9xI2Cvb3riEK9wz4khX3D3EK+xAG9037DxX3EHEK+xAGDlihdviMdwHF7BX3ACz3Rvcx90n7MvcC7PtJ9zH3R/cvIOr7R/sx+0j3MfsCK/dJ+zAFDvcjhXb5mHcB4PcL+CH3AwP46vicFZh2lFVlGvsPI/sr+zJaZYuUex5PyhWAl4Kythr3FPP3O/cxw7SJhJMe/JP8xBXRV9feBWzAxYTAG/es9wP3YvdLxIfnZMcf09hGv0Q+BahYTpdOG/vBMfuM+zZZlTu0Tx8OLQr3MLwV7QZK9yyBCi0KtsFgCuJ49xT5PPcnJApowUUK4nj3FPkGd9v3DCQKhcc6Cqugdvl0d/dwdwFkCvel98z4Y0MK+137z/sQ989aCvdR/FUFy/iGFeQG9yr3K5IKDqugdvcd9wz3YPcM9x13AfjM9ygD1xb3KQao9x0F6wb3UvdEuvdh90j7PpdXH/snBqj3HVMKv/xhFbf3YAX2BtfJjUH7DPsaf/sBHw5zffcIOHb5B/US+JT3JRNw0IkV9y4G8vhWBeGeoObiG7SXe3Rzd215dx9hW3lhYxpepF6yVR6ccqJlbhoTsHJ8eFxlfJ+bfh77AVMFZqfPUO8b9xy90dzBc8doth9qsnugoxqimJugqh6su6/PxBrEXMD7GvtjWvsA+0NhHg5CCviM9yx2CvgaiSAKE7AqCnD38hXyBkj3LJMKDkIK9/Hz9193EsL3KxN49+j46hX1BvdJXQr7PgZI/YQgChO4LgpCCviM9yx2Cvdi+OoV9xEG5+W0MQXzBkv3LJIKp/2EIAoTsC4KQgr4xd2JdxLC9ysTqPd/+PcV0gaQmpWnrYyqjKZ/poAIgqKggqEbv7q03JkfQwZyg4N7dRt3eZGTdh8TWJdwa5heG0ByQ1eAH/cv/PkgChOoLgo8ffYs6hLC9yITYPdt+PNtCvdW+w5tCkD9byAKE6AuCkIK97r3MyPzrfdXVncSwvcjE6r3s/k6FVa6X8TDubXCwl22U09fYFQewxYTVqSgn6akoHlwc3Z3cnB2n6Meuv08MgqZyprAHpkKq7Eaq3v3BPtZJ/sEa/sNYB73KH8Fupixmbgbz6ZbVHEfbIBViE+ECEKH+y99+zMaKNZS4R4TqrrLncK/H45wi4KTcgiZ93sVMQqR5pgfDveSffcB9xHj9xvyAcP3F/jv9xkD9wf4HhX3H30FpJSZsdAbzqJgUH8fe4Z8hPsAggg1g/sjhvsxGijTSuz3FdDnrKMebpm4K/ciG/c2z/cRq54f+xefBUZkUIt9G09au9mIH/gHBpS0jLCaGvcfN+n7G2Q/hU5LHp9/bbr7Ehv7GzlNMXIf+Eo1FfcFpNehsRvLs1s0hR/8FVIVQ3xWNzobVXyroru/rfc6nh8OPPtjdvks9wIB2vcj5OID94pnFXJVBaCO0JtdGlYsjWGMHnFSBYiepIqeG6b3NIv3A5eJxzyYH40Hp4y8kL2to5rFtq7t+yCjGDNsUHxvG2RhsdLjtPcs9wTXk0Z3jh/3HZoF44RP6/soG/s/+xr7HvtoIskt3XofiZayg4gbiYp/iYGICA4893Hj97X3LAHR9yH3jPcaA/dn93EjCjX3tRXvBkr3LEcKDjz3ceP4TXcBzvcs9373IwP32PjqFfMG90ZdCvs8Bvt3/KUjCg48ffL3GOP3tfcsfQr3TPjqjwrl5bMxBfEGTPcsVAr7EvylIwoOPH3x9xfhAdH3I/eL9xoD92v48xX3E24K+xMG91L7DhX3E24K+xIG+4v8kCMKDkgK+OuVCtAWPArH0BXnBk9nCvsYBg5ICvmCdwH3SvjrFfUG90hnCvs+Bvt5/YIVPAoOSAr465UKyfjrFfcVBunktTIF9gZJZwr7JQb7Lv2CFTwKDkgK+PP3DgHm+PMV9w5fCvcOBqT3DgX7DQb7k/1tFTwKDnN99wP32PcE92B3Ad33KPeu9y8D9+f4zxX3E7asUphak2gZiIkFpHZnsDIb+0L7B/sm+zYmwvse92j3h9b3TvcY9x5o9wZT7R/prXq8IGWBm4eRf5sZmgquZJOCnG/7CWMYMPwgFd3C9wb3Br7JbDVXX/sv+xA8aNHFHg6ECvj49xE53Yl3EviE9yoTyMwW9ykGu/dvndyRraewGa2nubC5G7qacWpwhWyFdR9J+8MF9ykGzffCBZSyj7i0GsFlyyIyTV9lYB6JjZnOBfsgBuPbFc0GE6iQmZSnq4ymjKCAoX+hgaCCpoy8jrexmNwISAZyg4R7dxt4eJGTeB8TmJdwbZhlGxPIRHRDWIEfDkwK3fdwIgr3TPgOFe4GS/csZQpzffcB+SN3Ad33KPed9ygD9/746hXuBvc9XQr7Mwb8GfymIgoOTAr3c/jqFfcNBuTlszEF8AZM9yxbCvu5/KYiCg5zffcB+MTdiXcS3fcm96T3JhPY95v49xXMBo+alKerjKSMpXyngJ+CoISejLuOtrGY3AhIYwp3eJKTdh8TuJdwbZdqG0V0Q1eCH/tJ/BsiCg5zffcAPwr3kfjzFfcSbgr7Egb3UPsOFfcSbgr7EQb8MPyRIgoOWPdN9x0B96b3JAPd900V+KT3HfykBvdU2hX3JPcn+yQG/OIE9yT3JfskBg77CIN2sev31euxdwHT9wv3aPcMA56aFcJfy84FcMPAiawb91nr9yT3KL970HOoH8rNUrZLSQWmVk2Mchv7l2n7bDJIm1mieB/j5xWIk4aYohrXwvcZ9wewnoCHlB77R/u4Ffd294IFjoCSc3YaSV37FvsTZ3uUkIAeDlkK+JH3LCkKefildQoOWQr5KXcpCiH4qmAKWQr4lvcnKQr7dPiqRQpZChITQCgKE4A1ChNA+y/4sDoKPPtVdvpYdwHL+PYDwjAVfvsAfgrL7sIf99H42XcK/ChRCln4KFQK5fykBU5sCvel+UYV5wb3MfcrlAoOc/tPdvdR9vfq8PdPdwGd9yP37PcgA/dwzBU9vdiFrBv3LfcE9y33Pulp9xn7K0BYZnlzH733hkcK+1v+Mo0K7fg9FcCr9zT3BcG6YDhKZ/sr+wFqR6L1Hg48+1V2+cr3DQHCLxV+IH4Kyu7CH/fR+Nh3CvwpUQpZ+ClUCuX8pAVPbAr3QvlQawr3R/sNawoOeJ74qJn3QJ4G+22VBx6gOWP/DAnyCvcqC/KckwwM9+EU+Q8VsRMAfAIAAQAxAG0AegDAAQUBKgFRAVUBhwGTAaMBqAHHAdEB1AHcAeoB+AIEAhECGwIqAjQCOwJEAk0CVgJeAmcCbAJxAnsCgAKNApQCmQKeAq8CuQK+AsMCzwLiAuoC9QMHAw0DEgMYAxwDJgMrAzADNAM+A00DVANaA18DYwNnA2sDbwN6A4QDkQOeA6YDrgOxA7UDuQO9A8kDzwPYA+QD7wP0A/oEAAQGBAwEFwQiBCwEMwQ4BD8ERgRLBFAEVAReBGgEcgR8BH8EgwSHBIsEjwSVBJ4EpwSwBLYEuwTBBMYEywTQBNUE2gTeBOME6ATsBPAE9AT4BPwFAAUELwqZCquxGqt89wQzCn8FuZixmrgbzqhbVHAfbIFUhlCFCEKG+y9/+zQaKNZS4R4LFfsj4/sy92n3sfcW95X3VvdJ+wb3E/tT+8kl+7T7Ph73Khb3N/D3Pfcp9wPCNCr7Cjv7Yfs8KkTR9B4LFfsR3vsBOAr3NiYKCxX4CAaUroyzmRrwXfcc+0H7bjX7M/sb+yTp+w/3Ldf3Aab3Fcwe+xqhBXqDalFBG01avN6PH5rjFb6Vr97hG9imTESIHwsB9wj3KAP3a/lzFTr8KgWBX4NZWxr7AcIq92L3o7b3ZPcgqB7f+CoFlwo3/CoF+xNxeC77IBsrc7TFr5S1lLYf3/gqBQteCuH3NgX3rwaj+zYF9x8G+wj5cUMKJ/xUFfcw97pcCrP7ugUL9w5I9wr7T/t9QftM+yEe9yUWy7D3K/cR26g9VylW+wQhP2fLyB4LFSUKDvgxiRWCCvcC+KdHClf7jgVGcX/7DfsOG159pK2hkKSRoB/M981ECk37ugWFaoFgYhoLEhNgKAoToDUKE2ALMAqc944ViHgFMQqQ5pkfC/0iIQoO+MQGpfcQBfwxBrP3WnAK9xAF+/4Grfc8bwr3D5AKC+J49xT5BnckCgsqCg4yCprKmcAeC7rLncK/H41wjIKTcggLX4F3MCAbWnerp9b3CgsV9ycGg6aHnqoavAv7Wif7A2v7DV8e9ygLaAr3NvcP+FR3C0amTPcGzc6pwsIejYkFCwH29yr4NPcqAwugdvlidwEL9z33WfcE9zELFfcMQAr7DAYLOQr3SPsMOQoO9wKXwaL1GAv3HAb0+KZbCgsF+yEGC46iOwoLAd33Jfej9yUDCwakgwoLq4v3EPda9xD3PPcPCzx99wAr6wsF+zcGCwX7JAYLFfcIBuDisTQF7AZP9ydmCg73KQb3QPl0WgoLBfsjBgv7+aB2C/cjePcU+Tf3LDYKCxXbBlf3Zfck91sFKwb7OftTBQt8Cqj3JkQKC3N99wH4i/csPwoLFesG9zn3WTL3ZwU7Br/7ZwULSAr5dHcLBqRVCgsGpPcNBQsFiQYLBvdE9yYF+zoGCwX7KQYLBfseBgv3DgUL9x6OozsK+x8GC+KL9wr4dvcKAfkG9ysDC+x2+Cx3AQtzffIw5gsF+yoGC4UKBgsFjQYL9ywFC/cqBgtPCvsNBvdJ+w4VCxXoBvcy9ydTCg4VygZ+UnN6X4J+TRgL+xUFygZ+U3N7X4EICwZyhIR7dxsL98AW9yAGwQs9Cg6YCgYL9ysFC+KgdgsV9woGpPcHBfsKBguGCvsOBgsV9wtQCvsLBgtyaWNcG4Z5i5NyHwsV9xUGplUK+xUGCwalVQoLBfgUBqQLBff+BqQLBqX3DwUL+PD3JgEL+4r7WPcH97L3CAv7EVn7Lzse6BabCxXsBkxdCvsfBgsSwvcjE3ALlAr7VwuNdvmIdwELoHb4qHcBCwX7DgYLBfsnBgv3JAYLAdH3IveL9xoDCwWHm7iAshvyrgv7WPcC+U73AgELzPda90T3CZwyC1QKDvcbBgv3DAULc6B2CwX7HAsV9w5PCgtzi/cN+Ol3AQv3d/UBu/d3FQsGofcDBfs9BgvQFvchBguWCtcWC/cjePcSCwX3IwYLFfceBgsV9w4GCwX8pwYLBfsbBgsFmgoLBfsmBgsF+ygGC/crAQv3DAEL+ysGCwX7Fwug6JML+yIGC/ciBgsAAAAEAiwCvAAFAAACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAABFUERGAKEAICEiA8L/HQAAA8IA4wAAAAEAAAAAAAAAAAAAACAAAQAAAAEAAwABAAAADAAEBtgAAAGyAQAABwCyACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv///+H/7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/+b/5v/m/yf/Mv8X/yL/Dv6R/pH+3v2v/aXgbOBs4GLgYuBV4GDgYOBT4FPgU+Bc4EzgRuA/4Erfwt9gAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAaB6bxV8PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAP9S/xwEWgPCAAMACAACAAAAAAAAAAEAAAPC/x0AAAQwAAAAAARaAAEAAAAAAAAAAAAAAAAAAADmARYAAAEWAAABTQAAAU0AAAFNAAABTQAAAU0AAAFNAAABFgAAAKcAAAJjAAACYwAAAmMAAAEWAAACYwAAAfQAAAFNAAAB2gAAAiwAAAIsAAADeQAAAtIAAADuAAABTQAAAU0AAAGFAAACSAAAARYAAAFNAAABFgAAARYAAAIsAAACLAAAAiwAAAIsAAACLAAAAhAAAAIsAAACLAAAAiwAAAIsAAABTQAAAU0AAAJIAAACSAAAAkgAAAJjAAAEMAAAAtIAAALSAAAC0gAAAtIAAAKbAAACYwAAAwoAAALSAAABFgAAAiwAAALSAAACYwAAA0EAAALSAAADCgAAApsAAAMKAAAC0gAAApsAAAJjAAAC0gAAApsAAAOwAAACmwAAApsAAAJjAAABTQAAARYAAAFNAAACSAAAAiwAAAFNAAACLAAAAmMAAAIsAAACYwAAAiwAAAFNAAACYwAAAmMAAAEWAAABFgAAAiwAAAEWAAADeQAAAmMAAAJjAAACYwAAAmMAAAGFAAACLAAAAU0AAAJjAAACLAAAAwoAAAIsAAACLAAAAfQAAAGFAAABGAAAAYUAAAJIAAAC0gAAARYAAAIsAAAB9AAAA+gAAAIsAAACLAAAAU0AAAPoAAACmwAAAU0AAAPoAAABFgAAARYAAAH0AAAB9AAAAV4AAAIsAAAD6AAAAU0AAAPoAAACLAAAAU0AAAOwAAACmwAAAU0AAAIsAAACLAAAAiwAAAIsAAABGAAAAiwAAAFNAAAC4QAAAXIAAAIsAAACSAAAAkgAAALhAAABTQAAAZAAAAJIAAABTQAAAU0AAAFNAAACYwAAAiwAAAEWAAABTQAAAU0AAAFtAAACLAAAA0IAAANCAAADQgAAAmMAAALSAAAC0gAAAtIAAALSAAAC0gAAAtIAAAPoAAAC0gAAApsAAAKbAAACmwAAApsAAAEWAAABFgAAARYAAAEWAAAC0gAAAtIAAAMKAAADCgAAAwoAAAMKAAADCgAAAkgAAAMKAAAC0gAAAtIAAALSAAAC0gAAApsAAAKbAAACYwAAAiwAAAIsAAACLAAAAiwAAAIsAAACLAAAA3kAAAIsAAACLAAAAiwAAAIsAAACLAAAARYAAAEWAAABFgAAARYAAAJjAAACYwAAAmMAAAJjAAACYwAAAmMAAAJjAAACSAAAAgcAAAJjAAACYwAAAmMAAAJjAAACLAAAAmMAAAIsAAAAAFAAAOYAAAAAAAkAcgADAAEECQAAAKYAAAADAAEECQABACwApgADAAEECQACABYA0gADAAEECQADAGoA6AADAAEECQAEAEQBUgADAAEECQAFABoBlgADAAEECQAGADwBsAADAAEECQANAQIB7AADAAEECQAOAIAC7gBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBhAG4AcwBCAG8AbABkACAASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAGEAbgBzAEIAbwBsAGQASQB0AGEAbABpAGMAOwBDAGgAcgBvAG0AUwBhAG4AcwBQAFMALQBCAG8AbABkAEkAdABhAGwAaQBjAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAYQBuAHMAIABCAG8AbABkACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMAQgBvAGwAZABJAHQAYQBsAGkAYwBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAP/0AAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="});var ev={};Je(ev,{default:()=>L7});var L7,tv=it(()=>{"use strict";L7="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AGkAYwBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGEAbgBzACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAYQBuAHMASQB0AGEAbABpAGMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQAAAAMAAP/0AAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="});var nv={};Je(nv,{default:()=>N7});var N7,rv=it(()=>{"use strict";N7="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ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv//AAAAIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL////h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h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AABQAADmAAAAAAAJAHIAAwABBAkAAACmAAAAAwABBAkAAQAuAKYAAwABBAkAAgAOANQAAwABBAkAAwBGAOIAAwABBAkABAAuASgAAwABBAkABQAaAVYAAwABBAkABgAqAXAAAwABBAkADQECAZoAAwABBAkADgCAApwAQwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAAVABoAGUAIABQAEQARgBpAHUAbQAgAEEAdQB0AGgAbwByAHMALgAgAE8AcgBpAGcAaQBuAGEAbAAgAGMAbwBkAGUAIABjAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABGAG8AeABpAHQAIABTAG8AZgB0AHcAYQByAGUAIABJAG4AYwAuAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAZQByAGkAZgBSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBTAHQAYQBuAGQAYQByAGQAUwBlAHIAaQBmADsAQwBoAHIAbwBtAFMAZQByAGkAZgBPAFQARgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGUAcgBpAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="});var iv={};Je(iv,{default:()=>j7});var j7,av=it(()=>{"use strict";j7="T1RUTwAJAIAAAwAQQ0ZGIORNnmwAAACcAABLw09TLzJTFHD0AABMYAAAAGBjbWFwr01WZwAATMAAAAbkaGVhZGJYQ2QAAFOkAAAANmhoZWEHYwPWAABT3AAAACRobXR437oAAAAAVAAAAAOYbWF4cADmUAAAAFeYAAAABm5hbWVUsHCRAABXoAAAA6xwb3N0/58AMgAAW0wAAAAgAQAEAgABAQETQ2hyb21TZXJpZk9URi1Cb2xkAAEBASb4EAD4HAH4HQL4HgP4FAT7PPuO+nz6DQUcB2cPHAi+Ea8cRI4SAAQBAQUvQ1JFdXJvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hyb20gU2VyaWYgT1RGIEJvbGRDaHJvbSBTZXJpZiBPVEYAewIAAQAPAE8AVABiAG0AeACWALsAvgDHANYA3ADvAPgBBQESATgBRQFTAVoBawFzAX4BhwGLAZsBpgGrAbYBzgHoAfMB+gIhAjMCOAJBAksCcAKUAqICrQLPAtUC4ALsAvIDCAMQAxcDIAMpAzADNwM7A0gDUwNhA3kDfwOHA48DlgOdA7IDtgPAA8YDzwPVA9sD7wP+BAkEFAQbBC0ENQRBBEcETQReBG8EeQSJBJgEpQSuBLMEuATGBNQE4QTuBPEE9QUBBQsFEQUXBSAFKwU2BUEFSAVNBVEFVAVeBWgFcgV8BYYFkAWaBZ4FpwWwBbkFwAXGBcsFzxU6CiAKf22IhlWDGTEdPApxKRtKeJe3H/eGB+60bfsRlx+v9+ZnBvsQfGJyKxv3bQe2nZ7C9xvIcvsioh6u91381VMd/IEHTWybUoUeCxXDIgoLMh0xCi22+wP7EFE6HQspCoB/Cpp8pHwfCycdaQe0hJN/OAoLP8lsu6PRkMzMHoq3FXt9dHBpG2d8r6ri7qiikB8LXoyAnbIa9/z7XWkHrYinilQa+6UHeHhycmUbVIq2px/35/tQCyIdDk4K7fcEKS4KC2eodAqoqK+vbmEKbmEdCzQKHzkdC2SPg6GqGvgG+1RpB7GEmoReGgsVLh33ZhYuHQ5np2+vr6inr69ubx0L9+u/FUoHxJ6ZjCgKCzO8Me/vvOXj41rlJydaMTMe9wYW0Ivgrq6LNkZGizZoaIvg0B4L90j3XRXp94fw+4cFDhVvkZNh0Ru4sKOspx8LwKn3BT0KC1SPY47LGvhkB8+7jLqNHq4LXAr3i3cnCguUGhO8OwoTjCQKDioKhZOFkpQaCxYqHQ5zmQV0eGhfUBssdfHgiB8LTkxHwYuXv5qxnQs7CiQKC2Ud939FCvslXx0Lmhqnl5HQHq7742gHvoijYJCC90v71hgL/DEV94mpBkuFm7Mf99tGCvtnB2WHdECMHgufoZJwUzpSb3gfCxUqHfdmOB0VLso28PDK4OjoTOAmJkw2Lh73Dha9i++1tYsnWVmLJ2Fhi++9Hgv7FPeMe5o9HfsdBzhziUaEHgszHV1nC/siYPsTYyMaCxW1Bp2Mm6irGwsb+1Jx+xxOXYs19z85H/cYTLpzSBp+gij7DPsTX/cF8HceZAYL90zL9w3j9wE/xWmcH/t79wd4ocEazMKpv/cKvfsHRZ0esQYLHq37jmkHpIeQi5d0CAv7X33T90+w9zSqC6WbuRrDXKNNPllWZXgen4QFmpWirrEbu6BxaFRWfGyCHwtUCvhadwtJHfeEd5gKF00KC637K2kHpIqpi2saC4uu+PKuC5aDBaeUuYdmGnMdHntmBXu0oYmXGwsbL3gxaIQfC/cXeKyTHQsSpPcm9w73HgtoBrmItZNJGgt6hYFrZhsLUQr3i3IKCxXDBgtaCvdo9+l5Hfc/Zh0LZR33hEUK+ypfHQtdkIioohr3lQeUtryzCxrmO6BjL2UzaX4eowa9o66PmhvNlk96C677cGgHC673Rff290ULpPcn9zH3Jwv7VftV+zUL92H3YfcpC64B9H8dnhb41ga093cFbgb7BV1TC25nHgtjHbJcW2djXh4OFVyvZB0LZru6sa+7uWUL+z/7P4UL9yD3ILALubRjuhukpaKmpnGich9cYmNdGwt290L3NRKZdwrhdwoT6Av3TRb3764GRZJ1C/d+ZgdygYJ2cBsL9w+YCKIHC2enba+vpqmvr3CnZ2dvb2ceC2emgR1wYR0LZ6d0Cqaor69wbx0LYQpvYR0L+xf7HzQLpffjFfta9yr7MPda91r3KQubFvd3rgZBk3aL0xr4LY0HC2Jdi39ze5KSeAsV9zU06eK0zWL3mFcGT0MLmRb3h60GXZCKqKIa99oL/JUVzQb4YPlIBUkGDqkw8XC0H6mxCxX3BpALFfcmsAv7V/umFWn3paoHXI1sC4+FgHl+goAe+1/7OAULrngVsgabj5CdoBuYC8W7usbFW7xRUVpbUAsuCg73NgML+zD7MfsM9x73OB4LdAqnqK+vb2EKC4ut+AjOC3b3RHcBC/cfE+CbFpkKC/cf9w73H/sP9x8L94v3QWyqEqT3IQv7X6B29+h29wKrC4nT+1NpBgv3678VC9aLrguFHg6hioqvyxv3QKIL+5H7Lnb5/XcBCwaEbG9JVHZpgAtVi1rDk8eLy9ML1JAoN1OI+xs5C/vO+ym2+Xm2AQv7zvsndvnydwEL+RisC4aEnR+Bpa5/C/usH/vFaAayC/srG0h1k7sfCwdzgGdjHg529013AQv3i3cBC/cWEgsBAAEGAGgAAAk3AHwAAEIgAGcAAGQAAKAAAGYAAIMAAKoAAIsAAGoAAJcAAKUAAIAAAKEAAJwAAKQAAKkAAH0AAJgAAHMAAHIAAIUAAJYAAI8AAHgAAJ4AAJsAAKMAAHsAAK4AAKsBALAAAK0AAK8AAIoAALEAALUAALICALkAALYCAJoAALoAAL4AALsBAL8AAL0AAKgAAI0AAMQAAMECAMUAAJ0AAJUAAMsAAMgBAM0AAMoAAMwAAJAAAM4AANIAAM8CANYAANMCAKcAANcAANsAANgBANwAANoAAJ8AAJMAAOEAAN4CAOIAAKIAAOMAAJEAAIwAAJIAAI4AAJQAAMAAAN0AAMYBAOQAAGUAAH4AAIgAAIEBAIQAAIcAAH8AAIYAAG8AAIkAAEEAAAgAAHUAAGkAAHcAAHYAAHABAHQAAHkBAGsBAGMAAYcAAJkAAKYAAG0BAOYCAAEABAAHAEsAeADsAXQBoAJhAowCugLqA+QEEAQ+BFEEWQR0BMUE+wVMBbUF8wZRBrQG2gdcB7sH4QgoCEUIZwiDCPQJrQnNCkoKqQruC0wLqwwjDIwMkQzkDVANdQ3mDgAOIA59DtcPUA94D7sQAxBGEMARPRFfEWURhhGhEcIR4xHvEfcSNhKeEuITSRN2E8wUkRTDFO0VUBW5FdcWZBasFusXIxeFF+AYYxisGL8Y7xlsGeYZ+holGnQajxreGyEbcBv4HK0dIB2fHcEekx6eHxkfkB/FH+UgeSCKIMIg/yEwIVEhbSHsIigiMiJXIoAiuCLkIxgjYCOYJAskHSQvJEEkfCSfJNkleCYGJhImIiY2JmAmaCZvJnwmrib8JzUnVydqJ4on5igFKDUoqSi6KM4o4ikGKTop3SqBKpwquCrYKygrRiuOLEMsnyy0LMos6i0PLSktSC1tLZAuBS5RLqMusS6+LukvBi84L8Mv3i/+MBUwOzB4MKkwzTDWMRQxRjHgMnEyoTMZM08zYTOTNBY0ITQ5NGQ0hTTMNQA1OTVSNWA1cDWVNaE1sDXZNfM2DDawNxk3ODdbN5Y3ujffN/g4hjkvOT85pToA/CEO/CEO+85+9z34q3cB3Pc+A9zSFVywZB2yXFtmY14e0fc3FagGlOWWx5a3CJ/dn6XCGstpr1hXamdLVJ9wnzgell+VT5QzCA4v+D1297N3Ad73FfcX9xUD9xP4KBVuCnSm+wycQx73mBZuCh6KdKf7DJxDCA6gdvdmzErU9yDURcv3ZncSE7S1Fs4Gu/dmBfchBl37ZgXOBrn3ZgXwBhPMjMwFNQat9ysF2waMywVHBrr3ZgVJBlv7ZgX7Iga592YFSQZc+2YF+woGiksF8gZr+ysFKAaKSgXhBtzMFav3KwX3JQZp+ysFDj12+eV3EtzqvMPp9wIX96GpFfdwB8VqrnhRGi5Jf3CGHvtzmBXTbqeAz4gIKMLuBxN48Jzxr/cmGvcOLL37AMIe92sH63ugIpZkCKr3IQZvnGigK5kI11Q9BzeHJlT7CRr7DfcFUNJoHvuPB1SVXqhn9xRsjRj3O/eTFYCPPaPSGsm7n7SUHg739X2595q5eL73l7qZdwH3EPcG91as0fcJ91SsA/ju9zhBHf0i9+JBHbl2HfdOe9g+8PjRrBLJ9x/3Dvcki/DW9yQTfPhv0xVcscZiyRuwrZ2xsR8TfpycpcCMjHeXGHV/d3tyG1xssMFhH8HQlpbC5JymmpS4jwit+2ZpB7+FmYlmGltfX2tkHvsr92oFzKHitt0awWHO+xL7NCX7LPsr9wweSWv7Fkz7Fxr7C+pQ6/HcxamyHnSnFRO8d3BreGwbLUj3F8+3oKPAqR/j+xi+P7FZCFT39BVzqFnOvhq7p5akxK1BWVJge3CCHg78Bfg9dvezdwFc9xUD9wv4KBW0BpzTpvcEohq2crBjY3NmYHSm+wScQx4Okh2/9wUD98b7IBUqxlnT96Qa98XLtt7DHqYHVHL7YfsG+7gaOaf7dPd8+xEeDpId90L3BQOm+yEVcAfCpPdh9xH3uBrdb/dp+3z3ER5vB+xQvU77pBr7xUtVOFMeDveodvR2o3b3D3b3i3cS913uE7z3hfhVFW+IeIZ9HoBqdoVkGmmidqSjpqCqHoqoe5h+s4aah5+JpJKQGKGAlIWZepOBlH2adgh2maF/nhulopqsxlZ/TpcfeY94kHmVCJMHopuekZuOpY+ghaKUCKeVmKGgGqR5ompjhm1kax5/fXp7dXuDjhiIsZSglJwIlqCZmagarXGfcXNzeG1smnyXcx6UepB1ZxqEiG+YfZx/mxmsc4asWBt+bIBmaJqBpYYfnYihiqSHn4eghaKAioQYc3l4hXqJCIl+e4t7G25qemeJHxPccYqhcaYbto+rsqwfl5mamqKaCA4+oHb3dMb3c3cS94HlP8sT8Kz3dhUT6Pdu+3bL93b3csb7cvdxS/tx+24GDvwh+zODCrJ3ChPgtvs0FZd3BcCp9wc9Cl1nbVdMuXunHhPQn6GScFM3UG94Hw77zvc/9wgBt/c/FfeH9wj7hwYO/CF+kwrSYh38BY12+Ut3rncSE8CEeBXTBhOg93j5WgU7Bg5+p/kZpwGj9zL3HPcyA/dK93IV93kH3ov3Es67oFH7Kx77eQc8j/sUQ1d7y/cjHvsy9wIV+13t+yT3FPcg4fc590j3hPsO9wgiJvsQI/uQHg6LrfkidwH3TvcoA8wW+A2tBiiCps4f+MR6B/uQ+wEFcQeYra2XmRuyi19yH/wLB02GZfsIHg6L9xn4CHbl9wYB98D3HAOcFvg0Brj3ZwVpBkdvgoEhG/shBveo95uL16ga9yz7D65N+yFQ+ydSdx6nBt+wyZGiG/KbJ2/7CvsN+xj7NvtBHw59vVn3KPht3BL39vcGE7D3Lff4Fddx9xFh+xkaMVduW210oqNyHhNwpHFupWAba210akzSbtv3SPcN9w73INZg0zyoH7emsqTYGuhDtSv7Cj4xTG4eoH8Fo5qux9Ab1KxfUDA5clt8Hw6gdvck9wP3z3b3H3cB96H3IwOe9yQV94z7JPcl9yTK9wNM+EUxBjH7DvsQ+zsy+yIItIkV92P3ugWN+7oGDoPITvco91P3Hdz3ExL4CdkTuL733xXThteGzm0IwHTBWU4aOUl1aWxtoKBtHhN4oWxromgbYHhrb1LNbNj3SvP3AvcX7VDKXqQfSLFNkTCQoeYY96oGtvcTBfvWBg5+pvf+uPefdwGn9zH3HvcsA/hq+SoVpQf7wG37IvtU+0oa+4T3H1Ll90ix9z7B90D7BLFGW3mEgXMet/dM9w7B758I+6j7vxWXlpyMmxvQmz/7JDyLTE5NfMn3WayTw4yMHw6gdvhvduD3HQH3JxbqBvd/+TgF/DQGX/tyBa4G4KG9i6Ub908GDn6r+RSoEqf3DfsC9xX3Ofcf+xn3CxPU9774OhWBkPsMxegatLCzvNWWRFhPeXN0bB77DCkVE+hIdjhk+wEa+wLwUfcA9yPn2fcR6EvRNb4eE9TCndyp4BrEV+n7LPs0VDYuOMtO1mEeoXkVE+jPXsxgORpxhDAySnTN09Sgqqm4Hg6TdvefuPf+pgGl9yz3HvcxA6p+FffAqfci91T3Shr3hPsfxDH7SGX7PlX7QPcEZdCupY6bqh5Y+1H7CVgndwj3qPe/FYOKcIZ7G0Z71/ck2pDKyMmVQvtZdIVjiHsfDvvOfvc69y/3OAHd9z0D3dJjHa9cW2dmXh731gSGCqxcW2dpXh4O+877M3b34/csi/c5Et33PVbPE+jk+zIVlnUFMx0eE/BdZ21XPNKLjh8T6K+NkYCAGlM6Um94HhPwhPi6FYYKrVxbZ2heHg6VCvdrFfiQ+3MF1Af8OPdT+Dj3TQXUB/yQ+3MFDj723/cO4UfPEhOgrPffFfiMz/yMBvu4BPiMBhPAzPyMBw6VCoMV+JD3cwXXB/yQ93MFPwf4N/tL/Df7UAUOfvc9+IWvEsT3F2n3PXD3KRPo93P3exWpBuKakN6+HsCstLvLGvcz+zeWbPs4bSViaJ5hvp+0l7+nf5eBlh6Dk4STmBqwvY6U2ZMvYVF7ZXpqHnFZbWWbRAgT0Eb7NBVcsGa7ubGvu7llsl1bZmNeHg73r2259xOwZrv3orv3I7IS6+f3Jdj4AboTv/gg96wV9w3j0bypmXVgHhOv+yV9TkVfG2lvqMcf9yNLFX6Ko0/QG/cPz/cf9PdC+yj3FvtS+1/7Qfsp+3L7HvcK+133odvRp6vNH36uBXBQVXUwG/tB+w33Jfco93j3GvP3KvdM9vso+wkfE98zWfsLPWCPvJyOHs33mAVEBoBjBaV9gKZbG/seSvs2Ph8TAPsE0XKojB7IkLq9lpwIDksdEpT3X2WaE/CUFjoKE+ggCgUT8H9tiIZVgwgT6DEdn4u198Gp95uzEvP3NPcw9zn7HvdAE/T3nPfrFakGzIjjfPsjGk5+PPsCYXmbuB73ogT3YweijIysvhsT+NyhWUUldWL7Gh/7jPwJFffWBhP092fR7d/3BiLBN5kfjQcT+LWY9wWl9wMa9zD7YI9THvvJUx38cQdOa4pTix3WeLt9CvtE90X4K64T5vkl9ywVLjg4bT0bE+r7KGT3RvcR9z209zH3JvcG0/sJNK4frgYT1modg4CQknwfE+aZbFyiThsT6vtm+y77MPtf+0/3F/s49333FNTK3tQfDoodaLj437cS7Pc295X3QhO4mRb30Ab3kPcA9zj3TPcuMPdClR2Ht4lOGvxtB2Z3bkwe94nNFfhtB4wd+1UwHxN4hAoeDp+LtPe0rfehtxLz9zb3NqX3BqQXmxY8CnspG0p4l7cf93wH7r5t+xGXH6X35nEG+xB8WHIrG/djB7adnsL3G9J8+yKiHqT3XfzVBhMQaAe5iLWJSRr8bQdNbJFSix1ni673uq33GXbFdvcMtwHz9zb3LaT3B6MDmxb3/K4GRY5jg80a930H9xKbQjmWH6T35nIGO318RvsQG/dtB7adlMH3QKZWI6Eeo/dd/MtoBrqItJNJGvx4B01sklKLHfcXeKz3gq73UHb3YKyIdxKw90X3v/cwE/b4MPeQFdCHq31LGjgHYHttM/tRhfeL0vdAtfcu9yX3BtP7CTSuHq4GE+5qHYSBj5B/HxP2mWxbpUob+2z7KPs2+1n7QvcO+0X3juL3Eaetux/3Ewfdo4TJkh6u++sHDvcXoHb32rr3oK4B9fc294V/HaAW9+WuBlaRZo/IGvdw94X7cAdOZodWhR5o9+iuB1aSaI/HGvhkB8y4jraOHq776GgHt4i5iUka+1n7hfdZB825jbeOHq775WgHtYe2iUp+ClBrhlaLClwKJwoOK6y3rPkHrgFj9yP3EX8d9xP5FRXEibd/Rxr8Xgdsi1NKb3uZnJuUkpOVHpCSkJSbGsJZn3VuYXVUepX7Avcq8vcQmvQe+F4H0KuUxI8ervv0Bw73F04dAfcJfx2pFvflrgZWkmiPxxr3TgempPdK+221WYR7MYwZaPfkrgd3jH2NfJ37xfgEGPc890C7svSRCK77tWgH9wCKhmpVVftt+2QY92oH4a2Dwo8ervvmaAe5iLR+SRr8WQdOa4dUix2fi7T47GAdQpYd+GIHz6qZ0R6u+/FoB7i0e0kf/GIHTmGRX4sK972LrvjzrhKy9xdKtfiM9y8T2JkW936uBjiQeZDRGvhkjQcT6PeO/NcFpgb3jvjmBY38eAZJbohPhR5o9+CuB0mUdX3bGvhLB+GrjcOPHq77kAcT0Ptc/Gz7XPhsBfuRaAbShp19Vxr8WwdRfnw9iwrWjnaydvi1dvcJrhLzt/hDtxN8ch0TvDcKDlEdAa73Rff2SAr7SHgK+3s8HfchXgr3IV4d+x37bh4OZ6B298Ou97m4Ae/3Nvc690ADmxb34q4GRpR4g9wa904H9zr3QLb3I/c9+0qdOx/71mgGwIaqhmIa/G0HMWSTXh73ivfDFfeWB6GMmJitG92vb/sG+xBebvsNjR8O9xf7RPdSkx1aCveliRX7H/cF9WjhG83Bn5qxH4WjLW0vpFX3CBn3K7Lx9xL3Qhr3bvs19yBeHfsT+3v7FNj7M/c1Wx5O9+N5HfdHZh37R3gK+3xlHfd84h4O1qB2+Qy3aK4S9wb3NvdL9z8T2Peo9+0V94kHqpCNlsIb27RqJvsWV3X7F4of+4777RX35q4GSZR1jtsa906mB/dj+80F92GuBn93jJ19H/tY96cFwZzyqPcPGvc8+2iVRR771gYTuGgHxIeqhmAa/GIHOneIR4MeDjB4rPkaqoyOChPYfB2XlB3EG0cdE7iFCnd1kpNzHxPYlHBulG5GHQ6fi674YXb3PasB95F/HfcwFvf5rgZBkHON4Br4mQfQh/KGn/s0CKgGifddBfzv+12oBp/3NPKQ0Y8I/JkHN3OJQosdawpjCpv5FRXDhaWMNxr72wf7TfccUPcc9yb25vctHvfbB82imkMKc04a+9sHS4n7F/tE+ySL9x7EHvfbB+Oqic2OHq775gcO1o52+SeuAff4eRWmBvd4+NWhw5iewpIZrvtpaAfEiKiHZBr7J/wYBfsh9+l3q54asaKLyo8ervvkaAe2hJqIpU8IDvf1kXb4fXb3UK4B98B8FacG90r4aAWSBvc8/GgFpgb3XPjkl7Cho66OGa77SmgHrYmuimIa+wr8CAWJBvsF9/SDmZcaraiMto4ervvMaAe7iZaAmHWuNRj7CfvFBYkG+w/4CIiMlhqwp42vjh6u+7poB7WFlYGcWwgO1k4dAZv5PwObFveOrgZojlWPrhr3IPdWBfcD+0aWe4EacG+JV4geaPforgdvjXuNVt37SvelGPcy93KenOaTCK77jmgHt4inimwacIuV+wb7Mh77Afc8iIeYGqifi8aPHq777mgHtYmccqBs91r7rRj7OftnYlVbi3KJGQ7WTh0B96r3Nvcd9w4DaR2N3hr3QmYKz396bvs4+6AYQh0OjAoBOQoOkR3O8wPO+ykV9362OwZaiqCrH/j+B8aWlsMeyrb7fgYO/AX7Cnb3IXb5WncB91b7HxXPBvtO+dIFRAYOkR33NvMDqyEVYPd++c/7fmDKB8OWgFAf/P4Haot3WR4OSffgdvgBdwHU98sV5Ab3Ffeg9xX7oAXkBvtG+AEFOwYO+xG9AUAEWfiIvQcOkAr3UvikJgp90VpQChKk9yb7E/cZ9wj3HhNm97rDMh0TJjEKI7b7A/sQWzodHrJtk6AaE1qbrJ+v1Y9VWB5TB0QdE4omHQ4wfauBdvhEwfdfdxLT9x/3N/cnE3zTfhWXBtrDBRO8Xrmyf6ob9znY9wX3E/cXRvcI+wtGZ2V5eh/3l/tWaQevhJ6HXBoTfPcf/HsV95sHoZSasLkb4pH7GlAfE7z7MWhYT1R+vqceDvtffc6GHfcS9xATuPgw9wEVcHNxblIbPU219yCMH/WMkfDZG5qlgm0fE9iPHTewRC37ImL7Wfsf4fsC9xTazbPMuR4OMH3D+AvD9z2tEqT3KPc39x8X9+e/FUoHyZyUjPcQmggT+KwHUo2JqKYa+Mn7a2kHwoegilYa+0EHpXNpr08bLShC+0L7Juct3tanp7GvHxPYiMcVgGZQXTuL9xLF7Jnp0sOhTooeDkkdmAoX9zj3rhUT4PceqaGw2337Bl2MHvsVZhX3kAYT8MF790L7Qh4T0CsdDvvOi634E7fP9zZsqhLS9x8T2JkW96qtBkqNepq2GvfX4rc09w4Hpoa9u5ejiHsefHV7cBoT6HecabWzoqau0ECqTvtJivsZKh5SX8T71wZWdIhphx4O+2L3Ovstq/cB9wvip/dswIKqEqfjPPcJ+wn3HfcV9xtp2hN6IPcMYxVThmdxYxoTeSBT1WT3EPcR9xim9xD3A/sHlVqMHhN5QPsfjXGMrRqpsJ+e7IuLlKge06Ksycgax22egZUeE3og3cD7FwYTlMCbY2eRZxv7HUk3O0O7WtVwH4kHYH9BZEwaV6x8uHseE3ogqn0V90EGv6d8Z0T7Hotjei6Ky6GUm6WgHxN0wKL3/RXKkNHIzYszXlKIRUxQhMXQHg4wgh33X3cBu/cf9yyKCptBCouznB92CldgdVNbHvet+1RpB7KDmYhcGvyBB1p6imeLCl0KErX3L/sd9y/7JoQdE8gtChPQt/jXFWCrabm2ray3tmmuYF5qZ2EeDvvO+1/3NfjW9y8S6vcs+yf3HxPQxfg/Fa6Ip4pUfgphg2ljiG6Mm5OSlZGWHpCUkJWWGqB5rGJhd2xvQdZvwvdLj/coxB74X/teBxPgvfcsFWCqabm2rqy3tmiuYF5rZ2EeDjCLrfg/d/d/dwHRigqhFpkKW5KHlLca8weiowX1+x6Yd4Aae2+IfR5p936tB4OEjJmBH/tW95alqsGxoZ0Zp6Kej7OSCKz7amoHu4SWiXca+yn7LgX4Q/tPaQe7i1yAH/x+B3ODZ2MeDvwFi635FncSwfcf+xKEHRPQZIGqqB/42o0K/H6XHfdOgh1MdtN3EtL3H/ceUwoUDhPOmxb3hK0GZI+Eoaoa95UHk7O9tsKLWGse+3wHdItsW4geafd+rQdljoKhqxr3lQeTtb21wYtXbB77fAdzi2xaiR5p94KtB1mMi6qkGveFB/cCPKpUUV5vUF4eq3xywjAbE743X09zfR+IHaiHpYhXGvumB1p1hmqLHTCCHUx203cSzfcf+xeFHRPKoBb3ha0GE8ZZHR4TycGMVG8fTwqNi6qjGnYKHhO6NmBPc30fiB0TxrOFmINeGvumB1p6h2eLCmUKEqT3J/cl9yf7G/cnE/D3QPd8eB3r1R4T6MicTWQKOUY7i/b3AB/7Jxb7FuL7CHAK9m8K9wBwHfsE+xUeDnwKf3cS1vcf9wz3KCH3KBP2gQoeE/WQHVR1yIsfeh2JyFgKeh+JBhPuzftVaQe5hZV8ZRr8dZIKMPtMdvdTwfglqwGt9yb3NooK9+rtFY16UVYbSW/H9xbekfcU3rmmY2MfQvynFWj3n60HZ5J4jrsa+N58Bz1SBatnbKRXG/sqNvsR+wr7P+RC76i8lri0H/svB155iVSBHg77X4ut97r3JUV2pXbVdxLe9x8TnKgW956tBk6Of5K9GvdaB9S3oZqck3l7mB4TxH6WmX+lG72ZtKWjfMFHHxOsSl5PbHYfidr7UXMGqYejhlka+7AHWXWHa4sd+5Z9rX929/x29wasiXcSpO/3IOsTdqR+Fa4Gn5WRk5YbjZCJiJEfE7aDnq57sBvo2Mbq21KvUqYfT6hNnr8aqqSlr8S0YESgHq4GE673JWsHg4iHf3kbg4CPkH4fE7aRenWScRsvRlAzQcNmxW4fyWzLdlsabXNnWfsDgPSmhR5lBg77zn/S9/q39z13EsD3H/sM9x8T8PfH9wMVdoB6bG4bE+hjjKebH/fO6bct9z1yB0cqXl9WXghwv/vOB3aMjy33ABvlr9C2oB8OMH3M+C53EsyFHRPwcQoT6CUdDpJ2+E2tAaD4ZAP3hX0VpQb3NPgWn72ZjaOOGU0dOPttBTP3bIuOjxqin4ysjkgdDtaSdvfYdvdAdwH40PcbA/d4fRWjBvcO98MFkAbv+8MFogb3L/gbnLeZjZ6PGa37G2kHp4ifiWsadVj7AXA/HokGedlh9wygGqChjaWNHq37fmkHo4iWi5R2kH+RgZVpR/s/GFn3GmnNoBqlo42ZjR6t+3JpB6WGkI6lSggOoHb4P60BmfhqA5kW9z2tBnqMW5CanwiaoMzlixqLwTagbB6UfmuEdYoIafeFrQd+j4OOgpj7KPduGPD3CJ2io5enjxmt+zxpB7KIl4p2Gn2LlUEsHnyeU8+cGpuij6MerfuOaQemh5OCnHH3FPtPGPsX+z+IlF+GCA77Yfcj+J93AfeAfhV5VgV1hCsKDocdAbGvhwpljh1ri2KM93/4Jxil/AsHhPsiBa8GpfcBsIv3Coz7fvwoGA6NHfcV9AOh95kV4nifXkka+z8H+w3ZffcZHpcHOplys9Aa9z8H0nqzKp0ejQfsnZyl0hr3RwfRpLjcmh6XB/sZPXf7Dh/7RwdJd2w0eB4O/D/7KXb3QHb5WncBzeM+0APY+z4V0PnxRgYOjR33NPQDwfs3FX8H9xnZmfcOH/c/B82fuOKeHjSed6rNGvdHB/cNPZ/7GR5/B9x9pF1GGvtHB0Sccex5HokHKnl6Y0Qa+z8HRXJkOnweDvsT90H3NAGo+GIDzPdBFa6bo7C3G7GqfnyoH3ixrna5G8mst7WpH2fRBWh0cmZjG25om5tmH51kY51qG0hnX2F1Hw77zvtKdvir9z0S3fc9KagT4N34NRVdsWS6u6+zuLpnsFtcZWdbHhPQ0vs3FYREg1eCYgh1IHNxThpLrGi+v6yuy8hzpHX1HoK0g8CE0wgO+wt29yd29+N29yKq9wd3AcD3IfcT9w8D93X3FBV3sYC+xBqrkPcc25ykf20eiAf7U/ytFbMGuvcZBYabnImdG6zii+7RH3mdBXR4b3BPG2twmKN1H933egV9lpyFmxuPyYvLtHCoZ50fu/ccBWMGX/sPBZB4d454G/sC+xA5+zv7B8NC02wfDn2qbPcSI3b3F7n3JMz3EvdNbakSoKu/9xITW4D3cbwVVMatg6ob9weW9w/VkR90BmCAe28/G39sjZ9YH6LGisWHxAj3Acz7BgaHmmj3P6MarJaxuLeLaX8eEz2AN4mkcq0bv56tsZeL8Psu+y1c+wo8ZZJlkmUfO0oGEzkA7QabXaNRjFwIj3yAjnEbJodGcEPMgp3SqbSgmx9jsBUTnYBxhH5gVRt6ZpSzmZOxuLKeenycHw73ONT3W9YB2OP3MeMD9xz35hXKu7/MzrtXTEpbUkhKW8TMHjn7jRXh4wV4p7N8tBu2s5qepx/hM7+/M+MFoKWXs7Yatn2xeKce4+NXvTU1BZ5vZZVeG2JjgXhvHzXhV1njMwV4cXxjYBpgmGWgbx4zMwUOi673C73ovfe5rwH3TfcW4PcTA94W99+uBkuRaI3dGrL3G737G84Hj5YF9xe9+wMG9xD3mZysqo2bjRmv+2FnB7WJr4pkGiH7kgWJBlX3AlH3FKUao52Txh6v+8FnB7iJo3SZb/cC+4kYKFn3EAaWdgVS+xtZ9xtkBzlmiUqLHfw/jXb4XXb3pncBzeM+zgPY+DUVzfemSQb9WgTO965IBg77D6L3k6T3LXfqovdqdxKz1lbWXPcU9wDgE4yA98X3JBW4jOiO9wb3OPui3OQauaeltLmhfYSEgIKAgR6BgoF/fBpxqGysmruav6Zn0PsHHhP8gD9IWThRu2S9Xx+JiQUT6oBijiqH+w8aPblr9w4kHthNnHxiGmVxbFNRhKKRkZSQlJEemJOalaIaE/mAoXWsX1x8XnlG4GrJHhP6gPbHxtDIYbpSsR/7QfdXFbixlZ0eE4yAuuIziY0fsWSQgHAacn1qYmtspKNvHkjDdZ+4Gg77zvit9xYBiT8KDu94v/cFovewduCi9r8BrtL3B/H3Sp73EtIDcR33MPda91v7KfcxVQr7H/s5+zj7DPsegB34QDwVWHRkY08bLmrX9Iwf74yy1t0b0qZcYZUfntMGlIWSe5AelHBxlVcb+ztS+wU2+x7vSfcTuqqZj54fnJKVjoyXm9UYDvvv+DZ296CiEortNuDW6xPY90P4ShV7j5ByuRuoo5mfnR+BlwV6eoWfjxr3MAfEUaRDNmJnZWKvi5KwlaKWHp53kJgalJqXo7iSa20ebQcT6DF0N3NNGhOoWrR5q5q5jbK1HoimFYGEfHt1G3aBoZ2/y52Wjh8OggoB92/3kgOi93WICoKVm32WG5GQj5l3HeH2qBqViHsd91iHiAqClZx9lhuRj3UKlYZ7HQ4+9xV293PPEvhU5kTQE+Cs998VE9D4R/tz0Pe3/IwGDu94v1f3Un73UYV29++/EqXS9z7b5OD3FdITr4BxHfc091r3W/sp9y1VCvsb+zn7OPsM+yKAHfcC+0oV90AGE1+AnQdcjoyPsBr0sAcTr4A6wMk1iBvclgb7FPc7Bbubq7C6Gs9WrE0e+1V5BrqJiodlGvuTBxNfgGaMh1yIHhOvgPcS9z8V9zyvB6+kd1BdfGBcHw77zvjJ0wGM+MkV997T+94GDvuL+Cav92qvAbu092m0A+34tRXEuL3ExLhZUlJeWVJSXr3EHmIWO8pM29vKytvbTMo7O0xMOx4OPovh91HjO833MXcS94XjPs0T1PeQ9xIVzQYTtPcx92/N+2/3MUn7MftvSfdvB/tv+68V+IwGE9jN/IwHDvvv96fb953PEvdM4xf3pwT3ogap9xMFewZieYWFRhsvBvcl7afnqlodH0Q8PCIjHg777/e1dvgIuxL3ROpa1hPQ5/h+QApwtladHhNgp5pKHQ6QCuH4pFYd9x7hBaOan5enGq9xk3mBc4lxdB4OMPtNdvkvdxKs9xQs9x/3F/cfE9j3FZ0VjY0Fd6OrfrkbsqqdraUfZKCxfrYbvaKfqKsfoweChoOJg4wIfI12maoa9/z7H/v7B313an54G29sn8Ef98z7H/wJB1aFYoNqHhPogmSBcHQaXZ5rvLSeq7mof6eCqx6GnYeeiZ8IDiD7VHb52bF1oRL3mrzjvBPY95j7aRW8+dnt/dkGE7i8+XoG4Zek0x6h+7IH+wb7IGf7Tvsz9wZE9yYfDvwh94yTCvfgYh37zvtZdvdudxL3XegX9zMWYCtPHRNgsfcFjNzIS6dSeh+nywUO++/3p6m9qffDdwH26wOp9/cV94epBkuFm7Mf94tGCvsXB2WJdECMHg770fghn/eOoAGd7O7tA/cH+LIV55essbGWai8+hltfX4W72B4qFjvFSuTkxczb3k7KNTVOTDgeDoIKEvcl9xwX9yWRCoGRh5GXn5uRkkwK91gWbWU1IG4agI+IkZadmZOVTAoO8pR2rHbizfcOqbR29wF296d3Evbr+CroE3+A+FPidB03I1A4cwoTv4D7wPs5aQr83z4dDvKL20R297Ops8/3p3cS0+v4f+MTfvcYf2kK/Ng+HRO++Hb7xRX3ogap9xMFcQZieYWFRhs/kAbo4gXVzYu4nVodRDw8IiMfDvKUdu7N+Hu7EvdY6lrW967oE+z3QH9pCvyJ+1pACm+2W5sejwcT9KOYSh332fwxdB01JlI1cwoO+12v+Ij3OhLC9ylw9z1p9xcT6BPQ94v3lRWZPllqVmgIWGpXaEAa+zP3N4Cq9zip8bSueLVYd2J/V3CWf5WAHpOCk4N+GmZZiII9g+S1z6G1n7EeorakrnrMCBPoJ/c3FV2xZLm7sLO4umatW11lalseDksd95F3AfgO+XYkHft3/c4gHUsd95F3Afem+XYiHfwm/hMgHUsd94h3AfdO+XYpHfu//iYgHVQK+J3ZgNkSE9D3QPmLRR2hpYGAox8T4H6pqHyhGxPQRAoT4FQda3eWlncfE9CYdHWZaVAd+zf9iyAdSx3Y9xYB9073E4vei/cTFA73TvnAFW4d92YWbh38F/3AIB1UCvhfd7q79xW7AfeEu4v3CYu7FAf3hPnQFU+8XcV9HR67FqykpayspXFqanFyampypKwe+6v90CAd9/WLrmi395ezf6v3oLgS+ET3NBOsjxb3Yq4GWZFmj6wa9wv3dQX3UvtgBmR9dUGIHmj4yge092cFdAZ+YERrbB4TXGFeYoEhG0+Cnq4f930H9xaGilabKAis9+ZqBm/7FIuB+wmACPeCB56Llt33RJBJMZ4ervdd/Q5rBr+JroVsGvu8/KwFE6x4aISTZ4QI95j3yBX3NfesBZL7rAYO1vtZdvcztYu5fQr3V+gT+/fE+zcVe2YFe7SxiZcbseyT3LxkoFh+g4mIgR+fuPcRjNjK090ZbaQFLjhAbT0b+ype90X3Evc9qvcx9yb3Bt37CTSuH64GE/dqHXtsnZlhHxP7lHBrk2gb+2b7JPsw+1/7RPcE+zD3ZnofaDyWgwWNk5KNmBuln4Bycx0fDlUdmxYhHffw+VMmClUd95j5diId/BH+ExUhHQ5RCveCcgr3QPl2KR37qv4mFSEdDp+Lqve+rferrdKaHfP3Niz3Ftr3Fi+vE/mbFiEdE/b3L/mdFSod92U4HTUd91r5UyYKNR3p+VMoHVwK94J3JwqR+VMpHQ5cCtKaHZ/3GmL3NmL3FhP0nxb38q4GE+g0HQcT9PvyaAYT6EsKE/RNZIdVhh6P+Z1AHYod97e696GtAez3NveV90ID95f32hX3Brr7BvdnBowd+2kwhAof+4kwFffQBveQ9wD3LvdM9y4w90yVHbePTh/7ZzBc5vt/B2Z3eEweDtaOdvknrtzZEvK3+ES3F3IdNwr3N/loRR0TMKiigYCgH36ko3yqG0IKExB0dpiYch+XdHGWalAdDlEd93x3Vx37SHgK+3tYHfchXgr3IV4d+xj7bh74DvghJgpRHfd8dwGu90X39jAK96b4JigdUR1XHftJeAr7elgd9yBeCvciXh37GPtuHvdO+CEpHQ5RHc3ZbtkSXB0T3Pdo9+p5Hfc+Zh37SXgK+3plHfeFRQr7K18d9yBeCvci+1WWCh73Ovg1RR2poYCAoR8T7H6kon2qGxPcRAoT7FQddXaYl3MfE9yXdHCXaVAdDlEdw/cWAa73RZT3FNz3FJMwCvdO+HAVbQr3ZRZtCg4+sHb4bncBu8oVuFz3VPdW91T7Vri7+1T3UfdU91Vbt/tR+1L7UfdSW173U/tUBQ73F1Z2wqyTHbl3WgrcQRW9BtLzBWvAynrSG/dh9yn3H/dm9xJV9DnIH9n3BwVZBkwuBapWTJtIG5YK+w29Id1MH87uFXbPity1GvcmsPc+9yDKtGhVph77n/xlFfez+DgFnlOSQEwaNIX7efs/RmGxv3IeDmsK94t3Ywqb+RUhCvggySYKawr3i3djCvfI+XYiHfxB+5IhCg5rCveCd2MK93D5dikd+9r7pSEKDmsK0pod7fczZPcWyPcWnLcT9pv5FSEKE+73XvccFSod92c4HdZOHfeQdwH3qn8daR2D3hr3TGYKuIlkGvsy+6AF+xT3gnukPR37Jwc4c5NGhB73A/lYKB1nj3axdvdBrn2u96auaPdB+z33OY93Eu/3Nvsm9zb3KfdA+z/3QBOioPea92QV95gHE5lgoYyYmK0bE5JQ3a9t+wYfE6Kg+xBecPsNHhNSYPuK+2QV9+KuBhOSoEaUeIPcGhOioMMHE5JQ9zyK9z649yUaE5lg32Dn+3keE5mgSZcG3J6L0JUeE5RgrvviaAcTkqDAhqqKNxr8RgcxcJ5SgB4OMH+ubvcSKHb4Ca33lKcS0fcf9xb3HSL3JhOenhatBxNdsJGZkb4a+C4H9N3a9wj3Mb4qVTtLWjJ6HokH9xpox1P7Axo2W1FXaB4Tnn+DfYR9im6JGG5ulJ55HxM+f5iDm6AaqJ+ep62XcnUef4iFgRp9loiXHqSQiKR+uwiFo42nqxr3LmelSY4erQcTndaRhrbfGu1tpGJVh1dyih4TXvzeBw6SUApSHRPY97rDKgqEk4aSlBoTuDsdcfevJgqSUArXdvdNd1IdE973N/ikIh2F/Qk3HRO+Ox0OklAK93t3Uh0T3Nb4pCkd7P0cIx2igZeClh6FkoaRNh2SUArV2W7ZUh0Tzsj4uUUdp6KCgKEfE9Z9p6V8pRsTzkQKE9ZUHXFzlpdzHxPOmHFymHFQHfd9/IEjHaKBmIKVHoWShpGUGhO2OwoThiQKDpJQCsv3FlIdE9zWPwqU/LYjHaKAl4OVHoWShpI2HZJ297v3VMG7W/c4+wj3CIu8EqT3Jmn3OPsI9zkT1QD3HZQKE+6AfR0f9zH81TcdOx37APgYFaulpaurpXFra3Fxa2txpaseDtZ9ykzR91SwivdRa6sSrPcp+xj3GPcG9x73HfcNE22A9+XWFTe6z4awG97OseTBH3aaBXJ3aVxCG/sDi/cPuR+i95YHE5OA90GM+wG/ORtLZXNwcR+gdmapKRsnR1JHX653qLiinbOhg5WEkx+EkoSRlxoTrYChr5eo24lXbh47B/tFUjVvIxpGtmfX4ca8ra0eaJcVbG55ingbXoO3p9vLp8KeH/cesBXLi+nPv5xnMh5qBw77X/tZdvdjy4Yd6uhO9xAT3PdEKxVPHbH3BY7ax0mmVHwfob7Tj8eytsgZeZ0FcHNxblIbPU7c9yC4mPcP2R8T6pqfgm2PHTOwRB8TSi37Hk77WfsH1if3BoAfDkwdePsEW5Qe+xx5ChPYKx3e968mCkwdhvsJYI0e+yOACh4T2CsddvevKB1JHdeDHaSKCk0KgvsEW5Ie+ySACjQKHjkd+wH3rykdDkkdy/cWmAoh9xbb9xYT+k0KffsEW5Ie+x95CisdE/b7A/f5QB0+CvumB1t6iGeCHvcf+IIpCoF/Cpl8pHwfDj4K+6kHW3qLZ4IerviCVh33IuMFo5qclacar2ssCg5dCvcAgx3Qigpn+KRWHfcD7fcFKQXEBvsQ90QFLwZG/VQVMwoO/AWgdvitmh1n9xN19x9p9xMT0EkKE+hX+M0VbB33ZhZsHQ5lCvdudxJdHfsc9ycT+PdA94N4HeTVyJxaZAosRjuL9wb3AB4T9Pc891UVq3NrlGob+x80IvsV+xbi+w/3Hx8T+Pcc5Pb3Jvc2TvcuO8Yf57paqTFdVahRmFuPGV1yuIO5eLVsGfsJULts9wLDsWapXJ1UGQ4wgh3V2W7ZEtVTChPcoEEKjYuqoxp2CjZgT3N9Hogds4WYg14a+6kHWnqKZ4Qe1viXRR2mo4CAox8T7H6mpX2kGxMQQgptjwptUB0OZQrXmB1dHQP3QPeQeB3X1cicX2QKJ0Y7i/cT9wAe+yd1FfsW4vsGcAr3BG8K8nAd+wb7FR73jfe+Vh1J12S9cKYIqmx8jIAbZYB/CqV1pHsfDmUK13b3TTIK9yf3vygdZQrXdvdEMgrE979gCmUK1dlu2RJdHRPcJQrA99RFHaemf3+kHxPsf6SjfqMbExBCCmyPCm5QHQ5lCsz3FRKk9ycw9xXc9xUw9ycT8iUKE+zD+AktHT5s7yf3KuXiQMvv9ywn7xL3Zfct+xPvE1qt93EV+IvL/IsGE6X3XfueFWwK+GgEbAoORHbZqvfZdvcNqtd3EqL3J/sl9yf3MfcnE/33QfcjFRP7iqWLpKka9waQ89Wtn3hilh77IfuDBfsh+38VugbK9AV6qbCBsxv3HOT09xneaddVth/U9w8FXQZPJgWbbmeUZBv7HzT7DPsVPqpJwV4f1LcV9yL3hQWNBoxyjGdnGvsTgztGZHejsoEeDjB9zPgud/cAmB3MUwoDiR1JiQqNKApb+HAmCjB9zPgud/cAmB3MUwoDcQonHWwHtISTfDgK+yz4cCgdMH3M+C539wCDHcxTCgMvHfuE+HApHQ4wfcz4epodzPcfJvcT3vcTKfcfE+QvHRPY+4T4uhVtHfdmFm0dDvth9yP4n3f3AHb3TXcSm/cO+w74ZPsr9ysTihME94B+FUByLwoFE3KevZyNoY4IE3RNHRP6Ngr3BPcUKB18CvdfdwHW9x/3NvcoA4EKkB1vaqCzex56HZO+WAp8H4n3rftWaQavhJ6HXBr9TZIK+2H3I/js9xUSm/dW+xX3Fdz3FRPo94B+FUByKwoT2KL3Xi0dXQoB0IoKSQoOn4uq+PZgHTiWHfdZB/cP1wXIB/sPPwX3agfHqp7Rjh6u+/FoB7iItH5JGvvJBzpaBU4H3LwFJQdibYdTiwr8BYut+RZ3Ac6KCpsWmQpkgaqoH/fRB+zbBb0HKjsF92uNCvtoBzJDBVkH5NMF+3iXHff1i6Zwrnh29+as96euc6sSofc+96z3LxOX+Gz3aBX7FItSITQ0p/eh9wmf92f3Ne6LUTAe9y/7PhX3DJNGM5gfrPfmagb7AnONZfsLG/eNBxObo5uNxPdDmUIumh6v9138MAYTN3n7BJN5G/vGV/uGLPt59xn7D/deHxObw6eQzxv4Qga192cFcAYTW/szRyx6KxtHi6KkHw7Wfalt0/dPsPc2qBKh9yX3HPcc9xj3ERN++FD3rhXgjIvYyRvEj04mjh/7UPuMFXqapWzaG/a+1L2uH3ebBWpubmlMG/sBh/cOzI0f95AG9w6JZPX7KBtOXW92cB+be2qsOBv7GTX7Avsc+w3Z+wz3IeKuqpyfH0D3BxUTvkt8Rldebov3Z/c+pbq7wJlmKx4OMHis+HZ2902q93OOChd8HZiUHcMbE/xHHRO8hQqAfZCRex+VcWiXWkYd91n4kjUK+5Z9rX92+FmsEqbv9x7rE3ikfhWkBp+VkZOWG5CfgoOkHxO4hZ+khaEb6NXG6h/3OPt+dPEaqqKlr8S+YESgHqT3JXUGg4iHf3kbgXuRkXcfkHl2kHUbL0hQMx/7LveCkS8abXZnWfsDc/SmhR5vBhN49w/4DDUK1k4d0/cVEvdo9xVM9zZ59xUT6Gkdjd4a90IH90v3wZ+rsGIKsIlkGvsq+6AFQh0T9Kb5nS0djAr3gncBp/jyAzkK95f5ZjUKhx3jgx2xpYcKb44dYYtijPd7+CcYpfwHB4T7IgWlBqX3AbqL9wqM+378JRj3L/iINQr7Gnb4ubn3E/cfbakSi/cA1vcfE9zV+B4V9wgGfvwqBTGIZXRzG3+Bk5IfmJ2NpRqtcJpwdmp+XmqgX9MeE1T3HMT3I/clnR+W4orGk/cHCPcOufsO5Qaui/cDzJ6OfokehXl3dhoT7G+leKiooqerHhNgmn3LKvsxc/tUQX8e+wwGDvvO+LmDHYn4pGAK+874uYMd9wz4pFIKUQb7Ayj7A+4FUgYO+874pNc/9zcSE0Ca+UcVIcVS6OzCyu8eXwYTgGyDfFM3GxNAMH/Gp4YfDvvO+K33FgHy9xMD8vjvFWambrCup6iwsG+maGdvb2ceDvvO+KP3OfsJ9wn7Cfc5Esf3OvsJ9wn7Cfc4E5DHlAoTJMW7usbFXLxRHxOQUVlbUB8TSLwWa6Zxq6ulpaurcaZra3Bwax4O+877QdD3KHcB5d8D9zG3FVtfeF5eGkbSfbOtyaa7oR51oQV9dX59dBtjcp26pJiyj54fDvvO+LfZbtkSE4B7+LcVtQYTQJ2Mm6qrG7Wke36jH4CenYKkG0IKdHSSlHUfmWhsnnobL3gvaIQfDvvO+KT3TQF++KQVwAb3JSMKzPsxFcEiCg73SeUB90kE+IjK/IgGDvf190nlAfdJBPp8yf58Bg77zvgNgwrRz0f3TBPQ94v5MRVbCqVN1Lmyqb/KXZtvHhPgaAoO+874DXsK7Pf4FUcK+877M3sK4fsyFZZ1BUcK9/j3NfdCdxKrz0f3TOHPR/dME9j3ZfkxFVcKE+RoCveiFlcKE+hoCg74DWgd98L3+BVfChPkPx37l3UVXwoT2D8dDvszaB33t/syFVYKE+Q/HfuiFlYKE9g/HQ77BXb4rvX3SXcS91b3BUanE+j3hPsaFaAGkPcukPcUtPaRmBmOkU2mjfclCKigg4OdH3+kn32nG6qfqKekfKNmcXl9f28feoR2hG2HirORpJOfCBPwma2em7Eau1+PfmF9anFnoISYYh4T6JF4j3JlGm2NeJJ7kgiYcHyaaxtmfHJyb59uqq6WmpioH5qSn5GpjQj7JlNyjYUejoO3+wWP+xQIDveDihWHYGNVYxproW+srKGnq7NjwYe2Hmcdjq2gqaeeCFyvh7m7GruPubqvHm+edqmIrQhnHY+2s8GzGqt1p2pqdW9rY7NVj2AeZwqIaXZtb3gIumePXVsaW4ddXGcep3igbY5pCGcKDvu9929296x3Aa735hU8y07X2sjI2thOyjw/S0w+Hg739X73PQHd9z33OPc99zj3PRRw3dQVSgr34RZKCvfhFkoKDvf1faOHdvfho4p2uHb3yKOMdxKjlwqhlwqvlwoTrfj37Pc4FTAd93AWMB0Tnfj9lPfiFTAdE2v4R3Yd+86CCgG+93WICoGVm36WG5GQdQqWhY6FgHl+goEe+1/7OAUO+86CCgH3JpEKgJGIkZadmZOVWQqVgXuYgBuEh4Z+beYlpmIfDvx0lHb5UHcB+wJ/FfhL+VAFUwb8Tf1QBQ7Wi+f3PrPks+N29zSrAfb3OwOU95oV7Qb7Kpr3MfsE9xUb9wvzwOLFH3eVBWRRTHhRG/sGLMr2hB/3uAaZswX7xwaKnIqamhqZi5iNmh732QaaswX74wb3IJjA4vUb9xHISiyWH6X3JgakSUugIxv7GPsadfuBTR80BnxjBesGin2KfH0afIt8jHseOwYO9/X3pKx+dvgIrHOjEvcy6PeKqPfE6BOe9wD3pBX3VqwGV4+Mj7Ma97+5B7OdbmiTH6Lj+/4zogauk5yosxu5+78GY4yHWIce9+VqFfcZrAZcjoaRvRr3W40HE273IPu4BZgG9yf3ugWN+2gGE65jjYdXhx5q91asB1ePjI+zGveGB6uSmbqNHqz7Cgf7K/u1+yL3tQX7H2oGqKaBa5kf+4EHWYaFXIgeDj73ZcsBrPdlFfiMy/yMBg4wi634E7f3XKkS0vcf9x73EPsQ9x8T+HUd8wepj352H/u4B3OKbl2HagoT9GWMgJ+vGvgSB4ZWSYRXGyEG9xWI0uC3m3iCHoeCf3MaXLyEmR4T+JDIjMff+zqSfftsh/s4SYp6Cg4woHb4Nbf3WayKdxLSUwoT3HUd9x772gd4imtdhWoKWY+MtpUa+Ot4B1xtBRPsqkdOi4cb+1Jy+xoriXoK91j4PxXJB8aH192unIR7HoN+eX0aeJd8lIkeKQcOeJ74YZf3X5oG96CSBx6gOWP/DAm1CvcdC4wMDviIFPkbFa8TAHoCAAEALQBuAHQAgQCGALIAtQDPANQA4wDsAPoBAwEPARoBQAFYAWYBbgFzAYQBkgGlAdwB7AIhAiwCOAJGAk8CXwKIArACvwLEAs0C1gLgAvQC+wMJAw4DIAMoAzsDRwNMA1gDYANvA3gDfwOFA58DrAO7A9QD4gPnA/QD+QQBBAgEEgQaBB4EJwQwBDYEPARHBFsEZgRxBHgEfwSRBJoErASyBLgEwQTLBNsE3wToBPEE9gT7BQkFFwUfBSwFOQU+BUIFTgVaBWAFZgVxBXwFhwWSBZkFngWiBaUFrwW5BcMFzQXUBd4F5QXuBfcGAAYJBg8GFAYZm5uqp9Me93UGmWurS3AaanmKTYYeaPfYrgdbiYeVfqr7n/j8GG8G+4/8+AsVw4Wlljca++UH+033MFD3HPc20t33Nh735QfNopBDCn1OGvvlB0t++xf7RPsklvcexB735Qfjqn/Njh6u++YHCwb3IiMKC+MFo5qblacar2wsCgtEHSYdC/dA93l4He7VyJxQZAo2RjuL8/cAHvsnFvsW4vsFcAr3Am8K9HAd+wf7FR4LJB0OAfcFfx2fFvfyrgY0HfvyaAdLCk1kh1WGHgtrHSUdC1Yd+x33MQWYgHeadhtlCyMdoYGXg5UeCy8Knr2cjaGOGU0dNgoLk3mBeIlxdB4LLB37qQdbeotngh4LBcQG+w/3RAUvBgtyT2kbf4aXkB+PjpCUGp2ArF5PhVh9a6ZdzOmgxPcZvR73KfgXC0gK+0R4Cvt/PB33JV4K9x1eHfsd+24eC3ygBWxsgLGPGveZB+kLdwFdHQMlCguZCi0KC/sHMC37KPs/8UHw28Sr6MgLUgpSBvsEKPsE7gVTBg48+3cFOvdjgJuVGqOmjKWNSB0L+FH8sgWn+M4Gu5Gr05QervtraAfchZd0Txr7w4kH++/4PwX7Z3IGmJuIRsMf/GQHSW+ET4QeC2Ma+4oHRK1K8c65tKSoHgunFvjYBqX3hQVnBlf7ZimM+3OO+A/5BRib/KAHdvtiBbEGnb6d3dairJWLi/c9kPwS/QUYC/dfrgZpjVuOsRoLm7afr9WFVVgeUwcL+N0Gs/dkBW8G+ytMJQvM9xIav27JQgtdCvcAmB3QigqbFpkKLB0L+O4Vcp9jtrCmqK6vbqloYXZjch73ZhZynmO2sKeorq9tqWhhd2NyHgsVvHvccjsaW2p6a3Z8m5p6Hpl7eJlxG3aFeH13GlXkipT3CdrU37gLFveFrQZZHcGMVG8eTwoLRApUHQvCkx5bHeGHlwvkoueulB9gBgviHvtFFvtm9ykLgAf7OEoFdgeToaGSlRuki3F8HwtfChPQPx0O90UD92j35Hkd90RmHQubFjMKC1yvZLu6sbG7uWWwXFtnZV4eC7mIuolJfgoLWQqUgXuZgBuFhod9beYlpmIfC/c4964V9x6tobDbC1Yd9wQL+3wHZn16aohqCloLdve791Rrqwufi6r3vq33GXbFdvcWrQsV5wb3D/dEBQv3H/ce9x8Lih33NrIL+1r7Wvsq+zH7Wx7SFvc59wz3H/cx9zH3CwuWdQVDHW5XTLl6px4LWwqoTdS5r6m/yl2bbx4LGvc0B2qtp3DDG/Hl3Pc59zYo2Tc7bV5qCx73X/c4BY8H+2L3OgULAVwdAwuAoQVWbfsFSvsSGlcL+5ZOHQv8BaB2+GF3C/dm9277NQtDHW1XTLl7px4LTgrx9wQlfh2oZ2cLj56OGVsduogLAe33M/fWtwML+y77E4MLfar4PaoLB/dT98Gfq6hiCgtdYrNcG3JxdHBwpXSkH7q0s7kbC3d1hKbD3MSnnh8LFcUG+Ev5UAVTBgseafd/rQcL1ni8+PeuC2+hdaenoaGnp3Whb291dW8eC2engR1vbmceC7QGnNOm9wyiGrZyqGNjc25gC/cZ9x8tC/cf9xzkC4kdSokKjGsdC3cB8/c29yyvAwsIpowV9xn3PgWN+0D7GwYLbq+vC5CYdx3j9qgaC/d8B/cCPLNUC/dMR88L+yY0hQtmFfeQBsGIfvdC+0IbCx9SX8T71wZXdohnhh4LgwradwoT4Asw+0x291TC+Ap2oMQL+FJ292CsiHcSvPdFCxr8ZAcLbX10C2YV95UGwXb3QvtCC/dq8hX3hweZssO4C8R2+A93C3b343cSC/uDM0v7BFuCm7ML921jB3iGhnx0Gwtcr2W7urGwu7llCwOgFvgTBpv3NAULFfdi+zoFCwfEnpkL9x8DC4QeDp+LrvhHd/dTrgv7UmkHvI1cgB8LdxK39wH3hfcLC3STlXgfmW92nAv7zvi5mB0L93QVbWUzIG4aCwdigYFdiwr3PQG09z0DtAv5DRVPvF3FHgs+mHb4nncBqgv7Vfs1+xf7bgv3BtH3BgsSpPcfC/eDrQYLAAAEAhYCvAAFAAACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAABFUERGAKAAICEiA3n/BwAAA3kA+QAAAAEAAAAAAAAAAAAAACAAAQAAAAEAAwABAAAADAAEBtgAAAGyAQAABwCyACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi//8AAAAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AoQCiAKMApAClAKYApwCoAKkAqgCrAKwArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wFSAVMBYAFhAXgBfQF+AZICxgLcIBMgFCAYIBkgGiAcIB0gHiAgICEgIiAmIDAgOSA6IKwhIv///+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h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AAEECQAFABoBbAADAAEECQAGADIBhgADAAEECQANAQIBuAADAAEECQAOAIACugBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADQAIABUAGgAZQAgAFAARABGAGkAdQBtACAAQQB1AHQAaABvAHIAcwAuACAATwByAGkAZwBpAG4AYQBsACAAYwBvAGQAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAEYAbwB4AGkAdAAgAFMAbwBmAHQAdwBhAHIAZQAgAEkAbgBjAC4ARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBlAHIAaQBmAEIAbwBsAGQARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAGUAcgBpAGYAQgBvAGwAZAA7AEMAaAByAG8AbQBTAGUAcgBpAGYATwBUAEYALQBCAG8AbABkAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAZQByAGkAZgAgAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBCAG8AbABkAFUAcwBlACAAbwBmACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABnAG8AdgBlAHIAbgBlAGQAIABiAHkAIAB0AGgAZQAgAEIAUwBEAC0AcwB0AHkAbABlACAAbABpAGMAZQBuAHMAZQAgAG8AZgAgAFAARABGAGkAdQBtADoAIABoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="});var ov={};Je(ov,{default:()=>K7});var K7,sv=it(()=>{"use strict";K7="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Dvvd+K12CwW0lquImhv3NYwLH6uFvvd+BW0GewttCqypjWgfDvcLQNYLaal5prGkpri3C3cS8fcN9xD3DQvji/cp+yJ28cgL+2Gw9y+u+AXSCxuFhwshl3apdvga0wuDkxuQj4+XHwvHi65udvkdrguDHRILdvlTdwELFXUdC36o+DOoC6WvoaQLAQABBgBoAAAJNwB8AABCIABnAABkAACgAABmAACDAACqAACLAABqAACXAAClAACAAAChAACcAACkAACpAAB9AACYAABzAAByAACFAACWAACPAAB4AACeAACbAACjAAB7AACuAACrAQCwAACtAACvAACKAACxAAC1AACyAgC5AAC2AgCaAAC6AAC+AAC7AQC/AAC9AACoAACNAADEAADBAgDFAACdAACVAADLAADIAQDNAADKAADMAACQAADOAADSAADPAgDWAADTAgCnAADXAADbAADYAQDcAADaAACfAACTAADhAADeAgDiAACiAADjAACRAACMAACSAACOAACUAADAAADdAADGAQDkAABlAAB+AACIAACBAQCEAACHAAB/AACGAABvAACJAABBAAAIAAB1AABpAAB3AAB2AABwAQB0AAB5AQBrAQBjAAGHAACZAACmAABtAQDmAgABAAQABwBeAJ0BFAGpAeMCuALkAxcDSQQlBFEEgASWBKQEuQUDBUQFmgYCBkcGmAcCBy4HrggOCDoIiwivCNEI8glXChEKOwrBCxcLVwt2C9kMWgzaDRUNdA3tDhQOlA7RDxQPbBAHEH4Q/xFBEYwR2xJZEtUTGRMfE00TZBOVE7YTwhPkFBwUbRS8FTgVcBXuFpsW/xceF3IX0BgAGKAY0xkQGUUZshn9GmQaqxrZGy0bpRwxHFMclxz1HRAdah21HgMeeR8xH6cgMCBfISghQiHfIk0igSKgI1UjaSOcI9sj/yQyJEQkxyUQJSAlVyWQJcol9CYuJnkm0yc0J1EnYydvJ8wn9SggKMYpXSmbKd8qByo2KlgqhyqrKtErKSuEK4wrlCulK9Ir9SwlLKQszCz3LSQtWS2fLhMutS7eLvUvCy9FL2cv0TCKMQ4xGzEkMTwxXzFuMYIxojHLMjEyhTKUMroyxzL0MxUzRzO+M9wz8DQGNCI0TTR/NLs0wjUENVA2AzaaNy83nDgLOBk4ZTjuOP45Cjk1OUk5cDmj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AGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBCAG8AbABkAEkAdABhAGwAaQBjAFUAcwBlACAAbwBmACAAdABoAGkAcwAgAGYAbwBuAHQAIABpAHMAIABnAG8AdgBlAHIAbgBlAGQAIABiAHkAIAB0AGgAZQAgAEIAUwBEAC0AcwB0AHkAbABlACAAbABpAGMAZQBuAHMAZQAgAG8AZgAgAFAARABGAGkAdQBtADoAIABoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAAwAA//IAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA=="});var Av={};Je(Av,{default:()=>V7});var V7,cv=it(()=>{"use strict";V7="T1RUTwAJAIAAAwAQQ0ZGIPXJ5WAAAACcAABS609TLzJR03CmAABTiAAAAGBjbWFwr01WZwAAU+gAAAbkaGVhZGJOQ08AAFrMAAAANmhoZWEHQwPWAABbBAAAACRobXR4yLAAAAAAWygAAAOYbWF4cADmUAAAAF7AAAAABm5hbWVXLXKpAABeyAAAA8Bwb3N0/4+ZzAAAYogAAAAgAQAEAgABAQEVQ2hyb21TZXJpZk9URi1JdGFsaWMAAQEBKvgQAPgcAfgdAvgeA/gYBB7hWk8MAvs8+476cfn4Bfc8D/iTEbAcRtYSAAQBAQUvRVRFdXJvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hyb20gU2VyaWYgT1RGIEl0YWxpY0Nocm9tIFNlcmlmIE9URgAAAQABBgBoAAAJNwB8AABCIABnAABkAACgAABmAACDAACqAACLAABqAACXAAClAACAAAChAACcAACkAACpAAB9AACYAABzAAByAACFAACWAACPAAB4AACeAACbAACjAAB7AACuAACrAQCwAACtAACvAACKAACxAAC1AACyAgC5AAC2AgCaAAC6AAC+AAC7AQC/AAC9AACoAACNAADEAADBAgDFAACdAACVAADLAADIAQDNAADKAADMAACQAADOAADSAADPAgDWAADTAgCnAADXAADbAADYAQDcAADaAACfAACTAADhAADeAgDiAACiAADjAACRAACMAACSAACOAACUAADAAADdAADGAQDkAABlAAB+AACIAACBAQCEAACHAAB/AACGAABvAACJAABBAAAIAAB1AABpAAB3AAB2AABwAQB0AAB5AQBrAQBjAAGHAACZAACmAABtAQDmAgABAAMABQBKAIIA+AGMAbcCcwKgAtkDFwPtBBoESQRgBG0EiATPBR0FcAXjBioGegbTBv8HfQfhB/4IRghxCJUItQksCeYKLgq2CuQLLguMC/UMbgz3DTANhw4LDjoOtQ8fD2IPyBBMEMYRAhFNEaYR9hJ1EvYTTxNZE4UToxPSE/kUChQmFGMU0xURFZ4V6hZuFxoXjhfGGDMYqRjhGYUZqxnqGioalRrxG1MbsRvvHFYc8R2VHdceGR51Hose6R82H4Ef9yCZIQwhoSHAIpcipSNMI8MkBCQlJRMlKiViJZoltiX9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AE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AKEAogCjAKQApQCmAKcAqACpAKoAqwCsAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BUgFTAWABYQF4AX0BfgGSAsYC3CATIBQgGCAZIBogHCAdIB4gICAhICIgJiAwIDkgOiCsISL//wAAACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgChAKIAowCkAKUApgCnAKgAqQCqAKsArACuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AVIBUwFgAWEBeAF9AX4BkgLGAtwgEyAUIBggGSAaIBwgHSAeICAgISAiICYgMCA5IDogrCEi////4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h/+H/4f/h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AAIADADUAAMAAQQJAAMAYADgAAMAAQQJAAQAPAFAAAMAAQQJAAUAGgF8AAMAAQQJAAYANgGWAAMAAQQJAA0BAgHMAAMAAQQJAA4AgALOAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEANAAgAFQAaABlACAAUABEAEYAaQB1AG0AIABBAHUAdABoAG8AcgBzAC4AIABPAHIAaQBnAGkAbgBhAGwAIABjAG8AZABlACAAYwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAARgBvAHgAaQB0ACAAUwBvAGYAdAB3AGEAcgBlACAASQBuAGMALgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABTAGUAcgBpAGYASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAGUAcgBpAGYASQB0AGEAbABpAGMAOwBDAGgAcgBvAG0AUwBlAHIAaQBmAE8AVABGAC0ASQB0AGEAbABpAGMARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAAUwBlAHIAaQBmACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAFMAZQByAGkAZgBJAHQAYQBsAGkAYwBVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAP/wmZr/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="});var dv={};Je(dv,{default:()=>Y7});var Y7,uv=it(()=>{"use strict";Y7="T1RUTwAJAIAAAwAQQ0ZGIOGW9BwAAACcAABBWU9TLzJShslxAABB+AAAAGBjbWFwuS2uQQAAQlgAAAYMaGVhZGKlQ7EAAEhkAAAANmhoZWEINgOtAABInAAAACRobXR4tWgAAAAASMAAAAL8bWF4cAC/UAAAAEu8AAAABm5hbWVTi27TAABLxAAAA5hwb3N0/58AMgAAT1wAAAAgAQAEAgABAQEPQ2hyb21TeW1ib2xPVEYAAQEBJvgQAPitAfiuAviuA/gYBPtI+7r61vqGBRwGPQ8cBokRqxw+ohIAlAIAAQAGAAoADwAWABoAHQAiACYAKwAxADMANQA3AD4AQABDAEgASwBSAFUAWABbAGAAZABpAG4AdQB5AHwAgQCFAIoAkACSAJQAmwCdAKAApgCrAK4AtQC4ALsAvgDDAMkA0QDVANsA4QDnAOsA8wD+AQYBCwEQARkBIAEqATMBPAFKAVYBYAFtAXkBhQGOAZkBpAGsAbEBuQHAAcoB0gHZAeIB7gH1AgECCQIOAhgCIQItAjICOgJDAkoCUwJeAmYCcQJ6AoYCkgKgAqkCtQLDAs0C2wLoAu8C+QMDAwwDFgMdAyIDJgMrAzIDQANNA1sDZANvA3sDhwOUA6EDrAO3A8IDzwPcA+kD9AQABAsEEgQcBCgENARABE4EXARqBHYEgwSPBJQEvgTOQWxwaGFCZXRhR2FtbWFFcHNpbG9uWmV0YUV0YVRoZXRhSW90YUthcHBhTGFtYmRhTXVOdVhpT21pY3JvblBpUmhvU2lnbWFUYXVVcHNpbG9uUGhpQ2hpUHNpYWxwaGFiZXRhZ2FtbWFkZWx0YWVwc2lsb256ZXRhZXRhdGhldGFpb3Rha2FwcGFsYW1iZGFudXhpb21pY3JvbnBpcmhvc2lnbWExc2lnbWF0YXV1cHNpbG9ucGhpY2hpcHNpb21lZ2F0aGV0YTFVcHNpbG9uMXBoaTFvbWVnYTFtaW51dGVzZWNvbmRFdXJvSWZyYWt0dXJ3ZWllcnN0cmFzc1JmcmFrdHVyT21lZ2FhbGVwaGFycm93bGVmdGFycm93dXBhcnJvd3JpZ2h0YXJyb3dkb3duYXJyb3dib3RoY2FycmlhZ2VyZXR1cm5hcnJvd2RibGxlZnRhcnJvd2RibHVwYXJyb3dkYmxyaWdodGFycm93ZGJsZG93bmFycm93ZGJsYm90aHVuaXZlcnNhbHBhcnRpYWxkaWZmZXhpc3RlbnRpYWxlbXB0eXNldERlbHRhZ3JhZGllbnRlbGVtZW50bm90ZWxlbWVudHN1Y2h0aGF0cHJvZHVjdHN1bW1hdGlvbmFzdGVyaXNrbWF0aHJhZGljYWxwcm9wb3J0aW9uYWxpbmZpbml0eWFuZ2xlbG9naWNhbGFuZGxvZ2ljYWxvcmludGVyc2VjdGlvbnVuaW9uaW50ZWdyYWx0aGVyZWZvcmVzaW1pbGFyY29uZ3J1ZW50YXBwcm94ZXF1YWxub3RlcXVhbGVxdWl2YWxlbmNlbGVzc2VxdWFsZ3JlYXRlcmVxdWFscHJvcGVyc3Vic2V0cHJvcGVyc3VwZXJzZXRub3RzdWJzZXRyZWZsZXhzdWJzZXRyZWZsZXhzdXBlcnNldGNpcmNsZXBsdXNjaXJjbGVtdWx0aXBseXBlcnBlbmRpY3VsYXJkb3RtYXRoaW50ZWdyYWx0cGludGVncmFsYnRhbmdsZWxlZnRhbmdsZXJpZ2h0bG96ZW5nZXNwYWRlY2x1YmhlYXJ0ZGlhbW9uZGNvcHlyaWdodHNlcmlmcmVnaXN0ZXJzZXJpZnRyYWRlbWFya3NlcmlmcmFkaWNhbGV4YXJyb3d2ZXJ0ZXhhcnJvd2hvcml6ZXhyZWdpc3RlcnNhbnNjb3B5cmlnaHRzYW5zdHJhZGVtYXJrc2Fuc3BhcmVubGVmdHRwcGFyZW5sZWZ0ZXhwYXJlbmxlZnRidGJyYWNrZXRsZWZ0dHBicmFja2V0bGVmdGV4YnJhY2tldGxlZnRidGJyYWNlbGVmdHRwYnJhY2VsZWZ0bWlkYnJhY2VsZWZ0YnRicmFjZWV4aW50ZWdyYWxleHBhcmVucmlnaHR0cHBhcmVucmlnaHRleHBhcmVucmlnaHRidGJyYWNrZXRyaWdodHRwYnJhY2tldHJpZ2h0ZXhicmFja2V0cmlnaHRidGJyYWNlcmlnaHR0cGJyYWNlcmlnaHRtaWRicmFjZXJpZ2h0YnRhcHBsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENocm9tIFN5bWJvbCBPVEYAAAEAAQEABAAABgEACQEADAEADxEAPAAAPgAAQAAAXAIAlwAAoQAAnAAAmAAAqAAA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AGIAbwBsAE8AVABGAEUAbQBiAGUAZABQAEQARgAgAFMAdABhAG4AZABhAHIAZAAgAFMAeQBtAGIAbwBsAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADAARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABTAHkAbQBiAG8AbABVAHMAZQAgAG8AZgAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAZwBvAHYAZQByAG4AZQBkACAAYgB5ACAAdABoAGUAIABCAFMARAAtAHMAdAB5AGwAZQAgAGwAaQBjAGUAbgBzAGUAIABvAGYAIABQAEQARgBpAHUAbQA6ACAAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQBoAHQAdABwAHMAOgAvAC8AcABkAGYAaQB1AG0ALgBnAG8AbwBnAGwAZQBzAG8AdQByAGMAZQAuAGMAbwBtAC8AcABkAGYAaQB1AG0ALwArAC8AcgBlAGYAcwAvAGgAZQBhAGQAcwAvAG0AYQBpAG4ALwBMAEkAQwBFAE4AUwBFAAMAAAAAAAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAA="});var pv={};Je(pv,{default:()=>X7});var X7,lv=it(()=>{"use strict";X7="T1RUTwAJAIAAAwAQQ0ZGILA37xgAAACcAABzSU9TLzJRS/iZAABz6AAAAGBjbWFwmWw2ygAAdEgAAAYEaGVhZGLrQ3sAAHpMAAAANmhoZWEHEQQhAAB6hAAAACRobXR4Tb8AAAAAeqgAAAMsbWF4cADLUAAAAH3UAAAABm5hbWVVsHCsAAB93AAAA6xwb3N0/58AMgAAgYgAAAAgAQAEAgABAQERQ2hyb21EaW5nYmF0c09URgABAQEl+BAA+OQB+OUC+OUD+OYEivs4+mn5zgUcBNwPHATjEaccbj8SAMwCAAEAAwAGAAoADgASABYAGgAeACIAJgAqAC4AMQA1ADkAPQBBAEUASQBMAFAAVABYAFwAYABkAGgAbABwAHQAdwB7AH8AgwCHAIsAjwCTAJcAmwCfAKIApgCqAK4AsgC2ALoAvgDCAMYAygDNANEA1QDZAN0A4QDlAOkA7QDxAPUA+AD8AQABBAEIAQwBEAEUARgBHAEgASMBJwErAS8BMwE3ATsBPwFDAUcBSwFOAVIBVgFaAV4BYgFmAWoBbgFyAXYBeQF9AYEBhQGJAY0BkQGVAZkBnQGhAaMBpgGqAa4BsgG2AboBvgHCAcUByAHLAc4B0QHUAdcB2gHdAd8B4gHlAegB6wHuAfEB9AH3AfoB/QH/AgICBQIIAgsCDgIRAhQCFwIaAh0CHwIiAiUCKAIrAi4CMQI0AjcCOgI9Aj8CQgJFAkgCSwJOAlECVAJXAloCXQJfAmICZQJoAmsCbgJxAnQCdwJ6An0CfwKCAoUCiAKLAo4CkQKUApcCmgKcAp8CogKlAqgCqwKuArECtAK3AroC5AL2AvxhMWExMGExMDBhMTAxYTEwMmExMDNhMTA0YTEwNWExMDZhMTA3YTEwOGExMDlhMTFhMTEwYTExMWExMTJhMTE3YTExOGExMTlhMTJhMTIwYTEyMWExMjJhMTIzYTEyNGExMjVhMTI2YTEyN2ExMjhhMTI5YTEzYTEzMGExMzFhMTMyYTEzM2ExMzRhMTM1YTEzNmExMzdhMTM4YTEzOWExNGExNDBhMTQxYTE0MmExNDNhMTQ0YTE0NWExNDZhMTQ3YTE0OGExNDlhMTVhMTUwYTE1MWExNTJhMTUzYTE1NGExNTVhMTU2YTE1N2ExNThhMTU5YTE2YTE2MGExNjFhMTYyYTE2M2ExNjRhMTY1YTE2NmExNjdhMTY4YTE2OWExN2ExNzBhMTcxYTE3MmExNzNhMTc0YTE3NWExNzZhMTc3YTE3OGExNzlhMThhMTgwYTE4MWExODJhMTgzYTE4NGExODVhMTg2YTE4N2ExODhhMTg5YTE5YTE5MGExOTFhMTkyYTE5M2ExOTRhMTk1YTE5NmExOTdhMTk4YTE5OWEyYTIwYTIwMGEyMDFhMjAyYTIwM2EyMDRhMjA1YTIwNmEyMWEyMmEyM2EyNGEyNWEyNmEyN2EyOGEyOWEzYTMwYTMxYTMyYTMzYTM0YTM1YTM2YTM3YTM4YTM5YTRhNDBhNDFhNDJhNDNhNDRhNDVhNDZhNDdhNDhhNDlhNWE1MGE1MWE1MmE1M2E1NGE1NWE1NmE1N2E1OGE1OWE2YTYwYTYxYTYyYTYzYTY0YTY1YTY2YTY3YTY4YTY5YTdhNzBhNzFhNzJhNzNhNzRhNzVhNzZhNzdhNzhhNzlhOGE4MWE4MmE4M2E4NGE4NWE4NmE4N2E4OGE4OWE5YTkwYTkxYTkyYTkzYTk0YTk1YTk2YTk3YTk4YTk5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hyb20gRGluZ2JhdHMgT1RGTm9ybWFsAAABAYfIAAEAAMsCAAEABAEDAY0B+gJKApUC4wMlA3EDyQTgBi8GnwfMCAkITgjOCV0LHQz4DicOdA7nD1UPpxA2EJAQ3hFxEiISqhQhFF4UyhVvFc4WXhbpFy0XohgcGKoaHxpFGpUa/hs0G5EcChw+HL8dNR2XHeMeAR5WHrwe+h9FH6MfzSBCIKkhFCFXIYchtyHMIhUiXyKPIxUjaSOPI7YkXyShJPclGCUrJUAlciWiJcQl9CY4Jqcm/Cc8J4InyCgiKGcoyik/KaUpyyooKk0qgSqwKvMrTiu8K+wsRyy1LQwtzS43Lnguvy+EL7gv3zAQMC0wrzE0MfIyzTMaM0YzfjO2Ngg28jhSOT87lzwaPII8sT0GPWA9sD3dQEtAdkCxQRtBgUG/QhtCokMCRa9F5UcMR7hH/EhVSZFK2kvuTLFOZ082UUlRb1TeVV5Y2VnHWrlbpVyxXblelWDvYUViDWI4YotimmLLYvVjCWMgYzZjjmP3ZBdkJGQyZEJkcmSMZKpkymUCZXRlrWXF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APoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARVBERgDAACAnvgM6/10AAAM6AKOAAAAAAAAAAAAAAAAAAAAgAAEAAAABAAMAAQAAAAwABAX4AAABegEAAAcAegAgIZIhlCGVJGAkYSRiJGMkZCRlJGYkZyRoJGkloCWyJbwlxiXPJdcmBSYOJhsmHiZgJmMmZSZmJwEnAicDJwQnBicHJwgnCScMJw0nDicPJxAnEScSJxMnFCcVJxYnFycYJxknGicbJxwnHSceJx8nICchJyInIyckJyUnJicnJyknKicrJywnLScuJy8nMCcxJzInMyc0JzUnNic3JzgnOSc6JzsnPCc9Jz4nPydAJ0EnQidDJ0QnRSdGJ0cnSCdJJ0onSydNJ08nUCdRJ1InVidYJ1knWidbJ1wnXSdeJ2EnYidjJ2QnZSdmJ2cndid3J3gneSd6J3snfCd9J34nfyeAJ4EngieDJ4QnhSeGJ4cniCeJJ4oniyeMJ40njiePJ5AnkSeSJ5MnlCeYJ5knmiebJ5wnnSeeJ58noCehJ6InoyekJ6UnpienJ6gnqSeqJ6snrCetJ64nryexJ7Insye0J7Untie3J7gnuSe6J7snvCe9J77//wAAACAhkiGUIZUkYCRhJGIkYyRkJGUkZiRnJGgkaSWgJbIlvCXGJc8l1yYFJg4mGyYeJmAmYyZlJmYnAScCJwMnBCcGJwcnCCcJJwwnDScOJw8nECcRJxInEycUJxUnFicXJxgnGScaJxsnHCcdJx4nHycgJyEnIicjJyQnJScmJycnKScqJysnLCctJy4nLycwJzEnMiczJzQnNSc2JzcnOCc5JzonOyc8Jz0nPic/J0AnQSdCJ0MnRCdFJ0YnRydIJ0knSidLJ00nTydQJ1EnUidWJ1gnWSdaJ1snXCddJ14nYSdiJ2MnZCdlJ2YnZyd2J3cneCd5J3oneyd8J30nfid/J4AngSeCJ4MnhCeFJ4YnhyeIJ4kniieLJ4wnjSeOJ48nkCeRJ5InkyeUJ5gnmSeaJ5snnCedJ54nnyegJ6EnoiejJ6QnpSemJ6cnqCepJ6onqyesJ60nrievJ7EnsiezJ7QntSe2J7cnuCe5J7onuye8J70nvv//AKresN6w3rDbtdu127Xbtdu127Xbtdu127XbtdsO2v/a9trt2t3a39p/2nvZ8tn2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AC4AIABPAHIAaQBnAGkAbgBhAGwAIABjAG8AZABlACAAYwBvAHAAeQByAGkAZwBoAHQAIAAyADAAMQA0ACAARgBvAHgAaQB0ACAAUwBvAGYAdAB3AGEAcgBlACAASQBuAGMALgBFAG0AYgBlAGQAUABEAEYAIABTAHQAYQBuAGQAYQByAGQAIABEAGkAbgBnAGIAYQB0AHMAUgBlAGcAdQBsAGEAcgBFAG0AYgBlAGQAUABEAEYAUwB0AGEAbgBkAGEAcgBkAEQAaQBuAGcAYgBhAHQAcwA7AEMAaAByAG8AbQBEAGkAbgBnAGIAYQB0AHMATwBUAEYARQBtAGIAZQBkAFAARABGACAAUwB0AGEAbgBkAGEAcgBkACAARABpAG4AZwBiAGEAdABzAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADAARQBtAGIAZQBkAFAARABGAFMAdABhAG4AZABhAHIAZABEAGkAbgBnAGIAYQB0AHMAVQBzAGUAIABvAGYAIAB0AGgAaQBzACAAZgBvAG4AdAAgAGkAcwAgAGcAbwB2AGUAcgBuAGUAZAAgAGIAeQAgAHQAaABlACAAQgBTAEQALQBzAHQAeQBsAGUAIABsAGkAYwBlAG4AcwBlACAAbwBmACAAUABEAEYAaQB1AG0AOgAgAGgAdAB0AHAAcwA6AC8ALwBwAGQAZgBpAHUAbQAuAGcAbwBvAGcAbABlAHMAbwB1AHIAYwBlAC4AYwBvAG0ALwBwAGQAZgBpAHUAbQAvACsALwByAGUAZgBzAC8AaABlAGEAZABzAC8AbQBhAGkAbgAvAEwASQBDAEUATgBTAEUAaAB0AHQAcABzADoALwAvAHAAZABmAGkAdQBtAC4AZwBvAG8AZwBsAGUAcwBvAHUAcgBjAGUALgBjAG8AbQAvAHAAZABmAGkAdQBtAC8AKwAvAHIAZQBmAHMALwBoAGUAYQBkAHMALwBtAGEAaQBuAC8ATABJAEMARQBOAFMARQADAAAAAAAA/5wAMgAAAAAAAAAAAAAAAAAAAAAAAAAA"});var f={Unknown:"Unknown",InvalidArg:"InvalidArg",DocNotOpen:"DocNotOpen",DocOpenFailed:"DocOpenFailed",DocPasswordRequired:"DocPasswordRequired",DocPasswordIncorrect:"DocPasswordIncorrect",GrantPassphraseRequired:"GrantPassphraseRequired",Aborted:"Aborted",Network:"Network",Unauthenticated:"Unauthenticated",Forbidden:"Forbidden",NotFound:"NotFound",WireFormat:"WireFormat",RuntimeUnavailable:"RuntimeUnavailable",LayerVersionConflict:"LayerVersionConflict",NotImplemented:"NotImplemented",MalformedPdf:"MalformedPdf",SigningPending:"SigningPending",SigningExpired:"SigningExpired",SigningVersionMismatch:"SigningVersionMismatch",SignatureRefused:"SignatureRefused",ProtectedDocument:"ProtectedDocument",PayloadTooLarge:"PayloadTooLarge",ObjectNumberUnavailable:"ObjectNumberUnavailable",LayerFull:"LayerFull",ChangeConflict:"ChangeConflict",UndoUnavailable:"UndoUnavailable",IdempotencyKeyReused:"IdempotencyKeyReused",LayerDeleted:"LayerDeleted",VisitorIdentityRequired:"VisitorIdentityRequired",Conflict:"Conflict",EngineBusy:"EngineBusy",EngineRestarting:"EngineRestarting",DocumentQuarantined:"DocumentQuarantined",ThumbnailNotReady:"ThumbnailNotReady",TooManyRequests:"TooManyRequests",GrantExpired:"GrantExpired",OriginRequired:"OriginRequired",OriginNotAllowed:"OriginNotAllowed",FeatureNotEnabled:"FeatureNotEnabled",FeatureStopped:"FeatureStopped",LicenseInvalid:"LicenseInvalid",LicenseUsageLimit:"LicenseUsageLimit",UpstreamError:"UpstreamError"},sne=new Set(Object.values(f));function qa(e){"@babel/helpers - typeof";return qa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qa(e)}function m_(e,t){if(qa(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(qa(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function w_(e){var t=m_(e,"string");return qa(t)=="symbol"?t:t+""}function xe(e,t,r){return(t=w_(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var g=class lb extends Error{constructor(t,r,n={}){super(r??t,n.cause===void 0?void 0:{cause:n.cause}),xe(this,"name","EngineError"),xe(this,"code",void 0),xe(this,"details",void 0),this.code=t,this.details=n.details}static is(t,r){return!(t instanceof lb)&&t?.name!=="EngineError"?!1:r===void 0?!0:t.code===r}toJSON(){return{code:this.code,message:this.message,details:this.details}}};function Qn(e){return g.is(e)?e.toJSON():e instanceof Error?{code:e.name==="AbortError"?f.Aborted:f.Unknown,message:e.message}:{code:f.Unknown,message:String(e??"unknown error")}}function Md(e){return new g(e.code,e.message,{details:e.details})}function zs(e){return typeof e=="number"&&Number.isInteger(e)&&e>0}function ue(e){return{kind:"objectNumber",objectNumber:e}}function le(e){if(!zs(e.objectNumber))throw new RangeError(`encodePageKey: objectNumber must be a positive integer, got ${e.objectNumber}`);return`obj:${e.objectNumber}`}function j(e){switch(e.kind){case"objectNumber":return`obj:${e.objectNumber}`;case"baseIndex":return`base:${e.page.objectNumber}:${e.baseIndex}`}}var Cr=["courier","courier-bold","courier-bold-oblique","courier-oblique","helvetica","helvetica-bold","helvetica-bold-oblique","helvetica-oblique","times-roman","times-bold","times-bold-italic","times-italic","symbol","zapf-dingbats"],Zs={invisible:!1,hidden:!1,print:!1,noZoom:!1,noRotate:!1,noView:!1,readOnly:!1,locked:!1,toggleNoView:!1,lockedContents:!1};function Rn(e){if(e.kind==="objectNumber"){if(!Number.isInteger(e.objectNumber)||e.objectNumber<=0)throw new RangeError(`encodeFieldRefKey: objectNumber must be a positive integer, got ${e.objectNumber}`);return`obj:${e.objectNumber}`}return`fqn:${e.name}`}function Ct(e,t){return{ref:e>0&&t?{kind:"objectNumber",page:t,objectNumber:e}:null,objectNumber:e,page:t}}var xi=(e,t)=>e.replace(/\B(?=(\d{3})+(?!\d))/g,()=>t),mb=(e,t)=>t?mb(t,e%t):e;function tr(e){let t=Math.fround(e.conversion??NaN);if(!Number.isFinite(t)||t<=0)return!1;let r=e.precision??(e.fraction==="fraction"?16:100);return!(!Number.isInteger(r)||r<1||r>2147483647||(e.fraction??"decimal")==="decimal"&&!Number.isInteger(Math.log10(r)))}function b_(e,t){let r=t.fraction??"decimal",n=t.thousands??",";if(r==="round")return xi(String(Math.round(e)),n);if(r==="truncate")return xi(String(Math.trunc(e)),n);if(r==="fraction"){let s=t.precision??16,A=Math.floor(e),d=Math.round((e-A)*s);if(d===s&&(A++,d=0),!d)return xi(String(A),n);let p=t.fixed?1:mb(d,s);return`${A?`${xi(String(A),n)} `:""}${d/p}/${s/p}`}let i=Math.log10(t.precision??100),[a,o=""]=e.toFixed(i).split(".");return xi(a,n)+(o?(t.decimal||".")+o:"")}function Js(e,t){if(!Number.isFinite(e)||!t.length||!t.every(tr))throw new g(f.InvalidArg,"Measurement requires a finite value and valid number formats");let r=Math.abs(e),n=[];for(let[i,a]of t.entries()){if(r*=Math.fround(a.conversion),!Number.isFinite(r))throw new g(f.InvalidArg,"Measurement overflow");let o=Math.floor(r),s=r-o,A=i===t.length-1,d=A||s===0,p=A?b_(r,a):xi(String(o),a.thousands??","),m=a.labelPosition==="prefix",F=a.prefixSpacing??(m&&i===0?"":" "),h=a.suffixSpacing??(!m&&d?"":" "),P=F+a.unit+h;if(n.push(m?P+p:p+P),d)break;r=s}return(e<0?"-":"")+n.join("")}var mn={courier:{family:"Courier",weight:400,italic:!1},"courier-bold":{family:"Courier",weight:700,italic:!1},"courier-bold-oblique":{family:"Courier",weight:700,italic:!0},"courier-oblique":{family:"Courier",weight:400,italic:!0},helvetica:{family:"Helvetica",weight:400,italic:!1},"helvetica-bold":{family:"Helvetica",weight:700,italic:!1},"helvetica-bold-oblique":{family:"Helvetica",weight:700,italic:!0},"helvetica-oblique":{family:"Helvetica",weight:400,italic:!0},"times-roman":{family:"Times",weight:400,italic:!1},"times-bold":{family:"Times",weight:700,italic:!1},"times-bold-italic":{family:"Times",weight:700,italic:!0},"times-italic":{family:"Times",weight:400,italic:!0},symbol:{family:"Symbol",weight:400,italic:!1},"zapf-dingbats":{family:"ZapfDingbats",weight:400,italic:!1}},Ir=e=>Cr.includes(e);function Sr(e,t){if(Ir(e)){let n=mn[e];return{family:n.family,weight:n.weight,italic:n.italic}}let r=t?.(e);return r?{family:r.familyName,weight:r.weight,italic:r.italic}:{family:e}}function wn(e){return e.toLowerCase().replace(/[\s\-_'"]/g,"")}var wb={helvetica:"Helvetica",arial:"Helvetica",arialmt:"Helvetica",sansserif:"Helvetica",times:"Times",timesroman:"Times",timesnewroman:"Times",timesnewromanpsmt:"Times",serif:"Times",courier:"Courier",couriernew:"Courier",couriernewpsmt:"Courier",monospace:"Courier",symbol:"Symbol",zapfdingbats:"ZapfDingbats",dingbats:"ZapfDingbats"};function Ld(e){return wb[wn(e)]}function $s(e,t){let r=t?.(e.family,e.weight,e.italic);if(r!==void 0)return r;let n=wb[wn(e.family)];if(n){let i=Object.entries(mn),a=e.weight>=600,o=i.find(([,s])=>s.family===n&&s.weight>=600===a&&s.italic===e.italic)??i.find(([,s])=>s.family===n);if(o)return o[0]}return e.family}function Fb(e){if(typeof e!="object"||e===null)return!1;let{left:t,bottom:r,right:n,top:i}=e;return[t,r,n,i].every(a=>typeof a=="number"&&Number.isFinite(a))}function Ce(e){return{left:Math.min(e.left,e.right),right:Math.max(e.left,e.right),bottom:Math.min(e.top,e.bottom),top:Math.max(e.top,e.bottom)}}function Zd(e){return{width:e.right-e.left,height:e.top-e.bottom}}function aA(e){let t=[e.upperLeft.x,e.upperRight.x,e.lowerLeft.x,e.lowerRight.x],r=[e.upperLeft.y,e.upperRight.y,e.lowerLeft.y,e.lowerRight.y];return{left:Math.min(...t),right:Math.max(...t),bottom:Math.min(...r),top:Math.max(...r)}}var Nd=1e-6,vb=e=>Number.isFinite(e.x)&&Number.isFinite(e.y);function bb([e,t,r,n]){if(![e,t,r,n].every(vb))return!1;let i={x:t.x-e.x,y:t.y-e.y},a={x:n.x-r.x,y:n.y-r.y},o={x:r.x-e.x,y:r.y-e.y},s={x:n.x-t.x,y:n.y-t.y},A=[i,a,o,s].map(m=>Math.hypot(m.x,m.y));if(A.some(m=>m<=Nd)||i.x*a.x+i.y*a.y<=0||o.x*s.x+o.y*s.y<=0)return!1;let d=i.x*o.y-i.y*o.x,p=a.x*s.y-a.y*s.x;return Math.abs(d)<=Nd*A[0]*A[2]||Math.abs(p)<=Nd*A[1]*A[3]?!1:Math.sign(d)===Math.sign(p)}function Jd(e){let[t,r,n,i]=e;if(bb(e))return{upperLeft:t,upperRight:r,lowerLeft:n,lowerRight:i};if(bb([t,r,i,n]))return{upperLeft:t,upperRight:r,lowerLeft:i,lowerRight:n};let a=e.map(F=>vb(F)?F:{x:0,y:0}),o=a.reduce((F,h)=>F+h.x,0)/4,s=a.reduce((F,h)=>F+h.y,0)/4,A=[...a].sort((F,h)=>Math.atan2(F.y-s,F.x-o)-Math.atan2(h.y-s,h.x-o)),d=0;for(let F=1;F<4;F++)A[F].y+A[(F+1)%4].y>A[d].y+A[(d+1)%4].y&&(d=F);let p=[A[d],A[(d+1)%4]],m=[A[(d+3)%4],A[(d+2)%4]];return p[0].x<=p[1].x?{upperLeft:p[0],upperRight:p[1],lowerLeft:m[0],lowerRight:m[1]}:{upperLeft:p[1],upperRight:p[0],lowerLeft:m[1],lowerRight:m[0]}}function fn(e,t){let r=Ri(t);if(r!==null)return Hr(e,r);let n=t*Math.PI/180,i=Math.abs(Math.cos(n)),a=Math.abs(Math.sin(n)),o=e.right-e.left,s=e.top-e.bottom,A=(o*i+s*a)/2,d=(o*a+s*i)/2,p=(e.left+e.right)/2,m=(e.bottom+e.top)/2;return{left:p-A,bottom:m-d,right:p+A,top:m+d}}function Ri(e){let t=(e%360+360)%360;return t%90===0?t:null}function Hr(e,t){if(t===0||t===180)return e;let r=(e.left+e.right)/2,n=(e.bottom+e.top)/2,i=(e.top-e.bottom)/2,a=(e.right-e.left)/2;return{left:r-i,bottom:n-a,right:r+i,top:n+a}}function $d(e,t){let r=Math.max(e.left,t.left),n=Math.min(e.right,t.right),i=Math.max(e.bottom,t.bottom),a=Math.min(e.top,t.top);return r({x:(e.left+e.right)/2,y:(e.bottom+e.top)/2});function oA(e,t){return{degrees:t,center:f_(nr(e))}}function rr(e,t){return e.replace(/\r\n|\r|\n/g,t)}var Mi={family:"Helvetica",weight:400,italic:!1,size:12,color:"#000000",decoration:[],script:"normal",letterSpacing:0,horizontalScale:1,align:"left",dir:"ltr"};function xr(e){return rr(e.paragraphs.map(t=>t.runs.map(r=>r.text).join("")).join(` `),` -`)}function $s(e){return e.split(/\r\n|\r|\n/).map(t=>({runs:[{text:t}]}))}var Sd=e=>Math.max(0,Math.min(255,Math.round(e))).toString(16).padStart(2,"0");function Qi(e,t,r){return`#${Sd(e)}${Sd(t)}${Sd(r)}`}function Qn(e){let t=Number.parseInt(e.slice(1),16);return{r:t>>16&255,g:t>>8&255,b:t&255}}function rb(e,t){return e.toLowerCase()===t.toLowerCase()}var qs={highlight:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},underline:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},squiggly:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},strikeout:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data",intent:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},circle:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",box:"data",rotation:"data",cloudyIntensity:"data"},readBack:["rect","borderStyle"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",box:"box"},resources:{}},square:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",box:"data",rotation:"data",cloudyIntensity:"data"},readBack:["rect","borderStyle"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",box:"box"},resources:{}},polygon:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",vertices:"data",rotation:"data",captionEnabled:"data",captionCenter:"data",intent:"data",measure:"data",cloudyIntensity:"data"},readBack:["rect","borderStyle","vertices"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",vertices:"points",captionCenter:"point",measure:"measure"},resources:{}},polyline:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",vertices:"data",rotation:"data",captionEnabled:"data",captionCenter:"data",intent:"data",measure:"data",lineEndings:"data"},readBack:["rect","borderStyle","vertices"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",vertices:"points",captionCenter:"point",measure:"measure"},resources:{}},line:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",linePoints:"data",lineEndings:"data",rotation:"data",intent:"data",measure:"data",captionEnabled:"data",captionPosition:"data",captionOffset:"data",leader:"data"},readBack:["rect","borderStyle"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",linePoints:"linePoints",measure:"measure"},resources:{}},link:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",target:"data"},readBack:["target"],colors:[],spaces:{rect:"box",actions:"actions",target:"linkTarget"},resources:{}},ink:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",inkList:"data",intent:"data",rotation:"data"},readBack:["rect","strokeWidth","borderStyle","inkList"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",inkList:"strokes"},resources:{}},"free-text":{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",box:"data",rotation:"data",intent:"data",fontFamily:"data",fontSize:"data",textAlign:"data",verticalAlign:"data",color:"data",fontColor:"data",interiorColor:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",cloudyIntensity:"data",calloutLine:"data",lineEnding:"data"},readBack:["rect","intent","borderStyle"],colors:["color","fontColor","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",box:"box",calloutLine:"calloutLine"},resources:{}},caret:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",box:"data",rotation:"data",intent:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",box:"box"},resources:{}},text:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",icon:"data",open:"data",state:"data",stateModel:"data"},readBack:[],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length"},resources:{}},stamp:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",box:"data",rotation:"data",name:"data",fit:"data",opacity:"data"},readBack:["rect"],colors:[],spaces:{rect:"box",actions:"actions",richText:"length",box:"box"},resources:{appearance:"required"}},"file-attachment":{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",icon:"data",file:"data"},readBack:[],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length"},resources:{file:"required"}},widget:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"data",box:"data",rotation:"data",color:"data",interiorColor:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",fontFamily:"data",fontSize:"data",fontColor:"data",textAlign:"data",caption:"data",checkStyle:"data",field:"engine",fieldKind:"engine",hasMark:"engine"},readBack:["rect","actions"],colors:["color","interiorColor","fontColor"],spaces:{rect:"box",actions:"actions",box:"box"},resources:{}},redact:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data",interiorColor:"data",overlayText:"data",repeat:"data",fontFamily:"data",fontSize:"data",fontColor:"data",textAlign:"data"},readBack:[],colors:["color","interiorColor","fontColor"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},popup:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",parent:"data",open:"data"},readBack:["parent"],colors:[],spaces:{rect:"box",actions:"actions"},resources:{}},unsupported:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",rawSubtypeCode:"engine",rawSubtypeName:"engine"},readBack:[],colors:[],spaces:{rect:"box",actions:"actions"},resources:{}}};function Kd(e){let t={};for(let r of Object.keys(qs))t[r]=e(qs[r]);return t}function Ii(e){return Object.prototype.hasOwnProperty.call(qs,e)?qs[e]:null}var Vd=Kd(e=>Object.keys(e.owners)),Ri=Kd(e=>e.resources),nr=Kd(e=>e.spaces),ib=Object.assign({},...Object.values(nr)),ME=[["highlight","underline","squiggly","strikeout"],["square","circle"]];function ab(e){let t=ME.find(r=>r.includes(e));return t?t.filter(r=>r!==e):[]}function ob(e,t){let r=Ii(t)?.owners??{},n=e;for(let i of Object.keys(Ii(e.subtype)?.owners??{})){let a=n[i];if(!(i in r)&&a!==null&&a!==void 0)return i}return null}var sb=/^sha256-[0-9a-f]{64}$/,LE=["page","position","size"];async function Ab(e){let t=new Uint8Array(await crypto.subtle.digest("SHA-256",e)),r="";for(let n of t)r+=n.toString(16).padStart(2,"0");return`sha256-${r}`}async function Yd(e,t){for(let[r,n]of Object.entries(t))await Ab(n)!==r&&De(e,`resource ${r} doesn't match its id`)}function eA(e,t){let r=new Set,n=new Set;for(let i of t){(!Ve(i)||!Ua(i.page)||!NE(i.size))&&De(e,"a page needs a page ref, a position and a size"),rr(e,"a page",i,LE);let{position:a}=i;(!Number.isInteger(a)||a<0)&&De(e,`page position ${JSON.stringify(a)} is not a position`);let o=fe(i.page);r.has(o)&&De(e,`page ${o} is listed twice`),n.has(a)&&De(e,`position ${a} is listed twice`),r.add(o),n.add(a)}return r}function tA(e,t,r,n,i,a){Ve(r)||De(e,`${t} has no resources`);for(let[o,s]of Object.entries(r))n.includes(o)||De(e,`${t} names an unknown resource role '${o}'`),(typeof s!="string"||!sb.test(s))&&De(e,`${t} names ${JSON.stringify(s)}, which is not a resource id`),i.has(s)||De(e,`${t} names ${s}, which the bundle doesn't hold`),a.add(s)}function nA(e,t,r,n){for(let i of r.keys())sb.test(i)||De(e,`${JSON.stringify(i)} is not a resource id`),n.has(i)||De(e,`resource ${i} is named by no ${t}`)}function rr(e,t,r,n){for(let i of Object.keys(r))n.includes(i)||De(e,`${t} has an unknown field '${i}'`)}function De(e,t){throw new g(f.InvalidArg,`${e} bundle: ${t}`)}function Ve(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ua(e){return Ve(e)&&e.kind==="objectNumber"&&Number.isInteger(e.objectNumber)&&e.objectNumber>0}function NE(e){return Ve(e)&&[e.width,e.height].every(t=>typeof t=="number"&&Number.isFinite(t)&&t>=0)}function rA(e){let t=jE(e.bundlePages,e.pages,e.target),r=new Set;for(let n of e.named)t.has(fe(n))||r.add(fe(n));if(r.size>0){let n=[...r];throw new g(f.InvalidArg,`import: ${n.length===1?"page":"pages"} ${n.join(", ")} map to no page of this document`,{details:{pages:n}})}return n=>t.get(fe(n))}function jE(e,t,r){let n=new Map(r.map(a=>[fe(a.page),a.page])),i=new Map;if(t==="same")for(let a of e){let o=n.get(fe(a.page));o&&i.set(fe(a.page),o)}else if(t==="by-position"){let a=new Map(r.map(o=>[o.position,o.page]));for(let o of e){let s=a.get(o.position);s&&i.set(fe(o.page),s)}}else for(let{from:a,to:o}of t){let s=fe(a);if(i.has(s))throw new g(f.InvalidArg,`import: page ${s} is mapped twice`);let A=n.get(fe(o));if(!A)throw new g(f.NotFound,`import: the document has no page ${fe(o)}`);i.set(s,A)}return i}function Ti(e,t){let r=new Map(e.map(p=>[U(p.ref),p])),n=r.get(U(t));if(!n)return[];let i=new Map,a=new Map,o=(p,m,F)=>p.set(m,[...p.get(m)??[],F]);for(let p of e){let m=p.reply?r.get(U(p.reply.to)):void 0;m&&m!==p&&o(i,m,p);let F=p.subtype==="popup"&&p.parent?r.get(U(p.parent)):void 0;F&&F!==p&&o(a,F,p);let k=p.popup?r.get(U(p.popup)):void 0;k&&k!==p&&k.subtype==="popup"&&o(a,p,k)}let s=[],A=new Set,d=p=>{if(!A.has(p)){A.add(p);for(let m of i.get(p)??[])d(m);for(let m of a.get(p)??[])A.has(m)||(A.add(m),s.push(m));s.push(p)}};return d(n),s}var KE=new Set(["accepted","rejected","cancelled","completed","none"]),VE=new Set(["marked","unmarked"]);function Xd(e){return KE.has(e)?"review":VE.has(e)?"marked":null}var YE=.001,XE=new Set(["subtype","invisible","hidden","print","noZoom","noRotate","noView","readOnly","locked","toggleNoView","lockedContents","nm","reply","popup","parent","open","groupId","subject","state","stateModel","ref","page","hasAppearance","appearanceState","author","createdAt","modifiedAt","userId","createdBy","modifiedBy","importedBy","actions","file","field","fieldKind"]),WE=new Set(["free-text","redact"]),UE=new Set(["square","circle","free-text","stamp","caret","widget","line","polyline","polygon","ink"]),qE={square:["box"],circle:["box"],"free-text":["box","calloutLine"],line:["linePoints"],polygon:["vertices"],polyline:["vertices"],ink:["inkList"],highlight:["quadPoints"],underline:["quadPoints"],squiggly:["quadPoints"],strikeout:["quadPoints"],redact:["rect","quadPoints"],caret:["box"],text:["rect"],stamp:["box"],"file-attachment":["rect"],link:["rect"],widget:["box"]},Wd=(e,t)=>Math.abs(e-t)<=YE,$w=e=>typeof e=="number"?(e%360+360)%360:0;function Te(e,t){if(e==null||t==null)return e==null&&t==null;if(typeof e=="number"&&typeof t=="number")return Wd(e,t);if(Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((r,n)=>Te(r,t[n]));if(typeof e=="object"&&typeof t=="object"){let r=new Set([...Object.keys(e),...Object.keys(t)]);for(let n of r)if(!Te(e[n],t[n]))return!1;return!0}return e===t}function Qd(e,t,r,n){if(e==null||t==null)return e==null&&t==null;if(Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((i,a)=>Qd(i,t[a],r,n));if(typeof e=="object"&&typeof t=="object"){let i=new Set([...Object.keys(e),...Object.keys(t)]);for(let a of i){let o=e[a],s=t[a];if(typeof o=="number"&&typeof s=="number"){if(!Wd(o+(a==="left"||a==="right"||a==="x"?r:a==="bottom"||a==="top"||a==="y"?n:0),s))return!1}else if(!Qd(o,s,r,n))return!1}return!0}return e===t}function zs(e){if(e==null||typeof e!="object")return;if(Array.isArray(e))return e.length>0?zs(e[0]):void 0;let t=e;return typeof t.x=="number"&&typeof t.y=="number"?{x:t.x,y:t.y}:typeof t.left=="number"&&typeof t.bottom=="number"?{x:t.left,y:t.bottom}:zs(t.start??t.upperLeft)}function zE(e,t,r,n){let[i]=n,a=zs(e[i]),o=zs(t[i]);if(!a||!o)return null;let s=o.x-a.x,A=o.y-a.y;if(UE.has(r)){let d=t.rotation===void 0?e.rotation:t.rotation;if(!Wd($w(e.rotation),$w(d)))return null}for(let d of n){let p=e[d],m=t[d];if(!(p==null&&m==null)&&(p==null||m==null||!Qd(p,m,s,A)))return null}return{x:s,y:A}}var ZE={impact:"inert"},Xs={impact:"regenerate"};function cb(e,t){if(t.subtype!==void 0&&t.subtype!==e.subtype)return Xs;let r=e,n=t,i=e.subtype,a=n.captionEnabled===void 0?r.captionEnabled:n.captionEnabled,o=WE.has(i)||["line","polygon","polyline"].includes(i)&&a===!0,s=[];for(let[m,F]of Object.entries(n))F===void 0||XE.has(m)||m==="contents"&&!o||Te(F,r[m])||s.push(m);if(s.length===0)return ZE;let A=qE[i],d=A&&(i==="polygon"||i==="polyline")&&r.captionCenter?[...A,"captionCenter"]:A;if(!d||!s.every(m=>d.includes(m)))return Xs;let p=zE(r,n,i,d);return p?{impact:"translation",by:p}:Xs}function Ud(e,t){return cb(e,t).impact}var iA=new Set(["highlight","underline","squiggly","strikeout","square","circle","free-text","stamp","caret","widget","line","polyline","polygon","ink"]),JE=new Set(["box","point","points","strokes","quads","linePoints","calloutLine"]);function qd(e){return[...Object.entries(nr[e]).filter(([t,r])=>t!=="rect"&&JE.has(r)).map(([t])=>t),"rotation"]}function db(e,t){let r=e.subtype;if(!iA.has(r))return{rect:t};let n=Ce(t),i=Ce(e.rect),a=n.right-n.left,o=n.top-n.bottom,s=i.right-i.left,A=i.top-i.bottom,d=Te(a,s),p=Te(o,A);if(!d&&a<=0||!p&&o<=0)throw xd(r,"a rect needs a width and a height");let m=e.rotation??0,F=nr[r],k=F.box==="box"?xi(m):null;if(!Te((m%360+360)%360,0)&&k===null&&(!d||!p))throw xd(r,"a turned drawing's rect can only move; resize its shape instead");if(!d&&s<=0||!p&&A<=0)throw xd(r,"its rect has no width or height to stretch; it can only move");let P=d?1:a/s,B=p?1:o/A,y=G=>({x:n.left+(G.x-i.left)*P,y:n.bottom+(G.y-i.bottom)*B}),x=G=>{let T=y({x:G.left,y:G.bottom}),W=y({x:G.right,y:G.top});return Ce({left:T.x,bottom:T.y,right:W.x,top:W.y})},I={box:G=>k===null||k===0||k===180?x(G):Ir(x(wn(G,k)),k),point:y,points:G=>G.map(y),strokes:G=>G.map(T=>T.map(y)),quads:G=>G.map(T=>({upperLeft:y(T.upperLeft),upperRight:y(T.upperRight),lowerLeft:y(T.lowerLeft),lowerRight:y(T.lowerRight)})),linePoints:G=>({start:y(G.start),end:y(G.end)}),calloutLine:G=>G.map(y)},S={};for(let G of qd(r)){let T=e[G],W=F[G];T!=null&&W&&(S[G]=I[W](T))}return S}function xd(e,t){return new g(f.InvalidArg,`${e} field 'rect': ${t}`,{details:{field:"rect"}})}var Ws=e=>Number.isFinite(e)&&e>0;function ub(e){let t=Math.fround(e.x[0]?.conversion??NaN);if(!Ws(t))return null;if(!e.y)return{sx:t,sy:t};let r=Math.fround(e.y[0]?.conversion??NaN),n=Math.fround(e.cyx??NaN),i=r*n;return Ws(r)&&Ws(n)&&Ws(i)?{sx:t,sy:i}:null}var aA=e=>({x:Math.fround(e.x),y:Math.fround(e.y)});function Rd(e,t,r){let n=0,i=e.map(aA);for(let a=0;a<(t?i.length:i.length-1);a++){let o=i[a],s=i[(a+1)%i.length];n+=Math.hypot((s.x-o.x)*r.sx,(s.y-o.y)*r.sy)}return n}function zd(e,t){if(e.length<3)return 0;let r=e.map(aA),n=r[0],i=0;for(let a=1;aa.x===o.x&&a.y===o.y;if(t.length>1&&r(t[0],t[t.length-1])&&t.pop(),t.length<3||zd(t,{sx:1,sy:1})===0)return!1;let n=(a,o,s)=>(o.x-a.x)*(s.y-a.y)-(o.y-a.y)*(s.x-a.x),i=(a,o,s)=>n(a,o,s)===0&&s.x>=Math.min(a.x,o.x)&&s.x<=Math.max(a.x,o.x)&&s.y>=Math.min(a.y,o.y)&&s.y<=Math.max(a.y,o.y);for(let a=0;a!("unavailable"in e);function Jd(e){if(!oA(e))return{unavailable:"not-dimension"};if(!e.measure)return{unavailable:"no-measure"};if(e.measure.subtype!=="rectilinear")return{unavailable:"foreign-measure"};let t=e.measure,r=ub(t);if(!r)return{unavailable:"no-scale"};let n=e.subtype==="line"?e.linePoints?[e.linePoints.start,e.linePoints.end]:[]:e.vertices??[];if(n.length<(e.subtype==="polygon"?3:2)||n.some(s=>!Number.isFinite(Math.fround(s.x))||!Number.isFinite(Math.fround(s.y))))return{unavailable:"invalid-geometry"};let i=e.subtype==="polygon";if(i&&!pb(n))return{unavailable:"invalid-geometry"};let a=i?t.area:t.distance;if(!a.length)return{unavailable:i?"no-area-format":"no-distance-format"};if(!a.every($n))return{unavailable:"invalid-format"};let o=i?zd(n,r):Rd(n,!1,r);try{return{kind:i?"area":e.subtype==="line"?"distance":"perimeter",value:o*Math.fround(a[0].conversion),label:Vs(o,a),...i&&t.distance.length&&t.distance.every($n)?{perimeter:Vs(Rd(n,!0,r),t.distance)}:{}}}catch{return{unavailable:"invalid-format"}}}function lb(e){let t=Jd(e);return Zd(t)&&e.contents!==t.label?{...e,contents:t.label}:e}function qa(e){if(e.subtype!=="rectilinear")throw new g(f.InvalidArg,"Only rectilinear measures can be authored");if(e.ratio!==void 0&&(typeof e.ratio!="string"||e.ratio.includes("\0")))throw new g(f.InvalidArg,"Invalid scale ratio");for(let t of["x","y","distance","area","angle","slope"]){let r=e[t];if(!(r===void 0&&(t==="y"||t==="angle"||t==="slope"))){if(!Array.isArray(r))throw new g(f.InvalidArg,`Missing ${t} formats`);for(let n of r){if(!n||typeof n.unit!="string"||!$n(n))throw new g(f.InvalidArg,"Invalid number format");if(n.fraction!==void 0&&!["decimal","fraction","round","truncate"].includes(n.fraction))throw new g(f.InvalidArg,"Invalid fraction mode");if(n.labelPosition!==void 0&&!["prefix","suffix"].includes(n.labelPosition))throw new g(f.InvalidArg,"Invalid label position");if(n.fixed!==void 0&&typeof n.fixed!="boolean")throw new g(f.InvalidArg,"Invalid fixed precision");for(let i of["unit","thousands","decimal","prefixSpacing","suffixSpacing"]){let a=n[i];if(a!==void 0&&(typeof a!="string"||a.includes("\0")))throw new g(f.InvalidArg,"Invalid measurement text")}}}}if(e.origin!==void 0)for(let t of[e.origin.x,e.origin.y])mn(t);if(e.cyx!==void 0&&(mn(e.cyx),Math.fround(e.cyx)<=0))throw new g(f.InvalidArg,"Invalid CYX")}function mn(e){if(typeof e!="number"||!Number.isFinite(Math.fround(e)))throw new g(f.InvalidArg,"Value is outside PDF float range")}var $E=["linePoints","vertices","measure","intent","contents"],e_=["captionEnabled","captionPosition","captionOffset","captionCenter"],t_=e=>e==="line"||e==="polygon"||e==="polyline",Si=e=>e_.some(t=>e[t]!==void 0);function Td(e,t){try{if(t.measure!=null&&t.measure.subtype==="rectilinear"&&qa(t.measure),e==="line"&&"leader"in t&&t.leader!=null&&(typeof t.leader!="object"||Array.isArray(t.leader)))throw new g(f.InvalidArg,"Invalid line leader");let r=e==="line"?["line-dimension","line-arrow"]:e==="polygon"?["polygon-dimension","polygon-cloud"]:["polyline-dimension"];if(t.intent!=null&&!r.includes(t.intent))throw new g(f.InvalidArg,"Invalid measurement intent");if(t.captionEnabled!=null&&typeof t.captionEnabled!="boolean")throw new g(f.InvalidArg,"Invalid caption visibility");if("captionPosition"in t&&t.captionPosition!=null&&!["inline","top"].includes(t.captionPosition))throw new g(f.InvalidArg,"Invalid caption position");if("captionOffset"in t&&t.captionOffset&&(mn(t.captionOffset.along),mn(t.captionOffset.perpendicular)),"captionCenter"in t&&t.captionCenter&&(mn(t.captionCenter.x),mn(t.captionCenter.y)),"leader"in t&&t.leader){for(let i of[t.leader.length,t.leader.extension??0,t.leader.offset??0])mn(i);if((t.leader.extension??0)<0||(t.leader.offset??0)<0)throw new g(f.InvalidArg,"Leader extension and offset must be nonnegative")}let n="linePoints"in t?t.linePoints?[t.linePoints.start,t.linePoints.end]:[]:"vertices"in t?t.vertices??[]:[];for(let i of n)mn(i.x),mn(i.y)}catch(r){throw new g(f.InvalidArg,r.message)}}function n_(e,t,r){if(e.length!==t.length||e.length<2)return;let n=e[0],i=t[0],a=e.findIndex(F=>Math.hypot(F.x-n.x,F.y-n.y)>1e-6);if(a<0)return;let o={x:e[a].x-n.x,y:e[a].y-n.y},s={x:t[a].x-i.x,y:t[a].y-i.y},A=o.x*o.x+o.y*o.y,d=(o.x*s.x+o.y*s.y)/A,p=(o.x*s.y-o.y*s.x)/A;if(Math.abs(d*d+p*p-1)>1e-5)return;let m=F=>({x:i.x+d*(F.x-n.x)-p*(F.y-n.y),y:i.y+p*(F.x-n.x)+d*(F.y-n.y)});if(e.every((F,k)=>{let P=m(F);return Math.hypot(P.x-t[k].x,P.y-t[k].y)<=.001}))return m(r)}function mb(e){if(!t_(e.subtype))return e;let t=e;if(Td(e.subtype,t),t.measure!=null&&t.measure.subtype!=="rectilinear")throw new g(f.InvalidArg,`A ${t.measure.subtype==="geospatial"?"geospatial":"foreign"} measure can't be written; leave measure out`);let r=e;return Si(e)&&(e.subtype==="line"?r={...e,captionEnabled:e.captionEnabled??!1,captionPosition:e.captionPosition??"inline",captionOffset:e.captionOffset??null}:(e.subtype==="polygon"||e.subtype==="polyline")&&(r={...e,captionEnabled:e.captionEnabled??(e.captionCenter!=null?!1:null),captionCenter:e.captionCenter??null})),lb(r)}function r_(e,t){if(e.subtype!=="line"&&e.subtype!=="polygon"&&e.subtype!=="polyline")return t;let r=e.subtype,n={...t,subtype:r};if(Td(r,n),n.measure!=null&&n.measure.subtype!=="rectilinear"){if(e.measure?.subtype!==n.measure.subtype)throw new g(f.InvalidArg,`A ${n.measure.subtype==="geospatial"?"geospatial":"foreign"} measure can't be written; leave measure out`);n={...n,measure:void 0}}if(e.subtype==="line"&&n.subtype==="line")Si(n)&&(n={...n,captionEnabled:n.captionEnabled===void 0?e.captionEnabled:n.captionEnabled,captionPosition:n.captionPosition??e.captionPosition,captionOffset:n.captionOffset===void 0?e.captionOffset:n.captionOffset});else if(e.subtype!=="line"&&n.subtype!=="line"){if(n.vertices&&n.captionEnabled!==null&&n.captionCenter===void 0&&e.captionCenter){let i=n_(e.vertices,n.vertices,e.captionCenter);i&&(n={...n,captionCenter:i})}Si(n)&&(n=n.captionEnabled===null?{...n,captionEnabled:null,captionCenter:null}:{...n,captionEnabled:n.captionEnabled??e.captionEnabled??!1,captionCenter:n.captionCenter===void 0?e.captionCenter:n.captionCenter})}if($E.some(i=>n[i]!==void 0)){let i=Jd({...e,...n});Zd(i)&&(n={...n,contents:i.label})}return Td(r,n),n}function $d(e){if(!(e.richText===void 0||e.richText===null)&&!(e.contents===void 0||e.contents===null)&&tr(e.contents,` -`)!==Cr(e.richText))throw new g(f.InvalidArg,`${e.subtype??"annotation"}: \`contents\` must equal the plain projection of \`richText\` when both are given`)}function wb(e){return e===void 0||e==="free-text"?!1:Vd[e]?.includes("richText")??!1}function i_(e){if(!wb(e.subtype))return e;let{richText:t}=e;return t?{...e,contents:Cr(t)}:e}function a_(e,t){if(!wb(t.subtype??e.subtype))return t;let{richText:r}=t;if(r)return{...t,contents:Cr(r)};if(r===null||t.contents===void 0||!e.richText)return t;if(t.contents===null)return{...t,richText:null};let n={paragraphs:$s(t.contents)};return{...t,richText:n,contents:Cr(n)}}var Md="#ff0000",Us="#000000",Hd="#ffff00",Ct={invisible:!1,hidden:!1,print:!0,noZoom:!1,noRotate:!1,noView:!1,readOnly:!1,locked:!1,toggleNoView:!1,lockedContents:!1,blendMode:"normal"},Ci={...Ct,color:Md,opacity:1,strokeWidth:1,borderStyle:"solid"},eb={start:"none",end:"none"},Od={...Ct,color:Us,opacity:1},ut={square:Ci,circle:Ci,line:{...Ci,lineEndings:eb,captionEnabled:!1,captionPosition:"inline"},polygon:Ci,polyline:{...Ci,lineEndings:eb},ink:Ci,highlight:{...Ct,blendMode:"multiply",color:Hd,opacity:1},underline:Od,squiggly:Od,strikeout:Od,caret:{...Ct,color:Md,opacity:1},"free-text":{...Ct,contents:"",intent:"free-text",fontFamily:"helvetica",fontSize:12,textAlign:"left",verticalAlign:"top",color:Us,fontColor:Us,opacity:1,strokeWidth:1,borderStyle:"solid"},text:{...Ct,icon:"note",open:!1,color:Hd,opacity:1},"file-attachment":{...Ct,icon:"paperclip",color:Hd,opacity:1},link:Ct,redact:{...Ct,quadPoints:[],color:Md,opacity:1,repeat:!1,fontFamily:"helvetica",fontSize:12,fontColor:Us,textAlign:"left"},stamp:{...Ct,fit:"contain",opacity:1},widget:{...Ct,strokeWidth:1,borderStyle:"solid",textAlign:"left"},popup:{...Ct,print:!1,open:!1}};function za(e){return e==="unsupported"?{}:ut[e]}var sA=[3,3];function AA(e,t){return e==="dashed"&&t===void 0}var bb=e=>Ii(e)?.owners.dashArray!==void 0;function o_(e){if(!bb(e.subtype))return e;let t=e;return AA(t.borderStyle??za(e.subtype).borderStyle,t.dashArray)?{...e,dashArray:[...sA]}:e}function s_(e,t){if(!bb(e.subtype))return t;let r=t;return!AA(r.borderStyle,r.dashArray)||e.dashArray!=null?t:{...t,dashArray:[...sA]}}function A_(e,t,r){let n={x:(e.left+e.right)/2,y:(e.bottom+e.top)/2},i={degrees:r,center:n},a=r?Hi(t,i):t,o=a.x-n.x,s=a.y-n.y,A=Math.abs(o)>=Math.abs(s)?{x:o>=0?e.right:e.left,y:n.y}:{x:n.x,y:s>0?e.top:e.bottom};return r?xr(A,i):A}function fb(e,t,r){let n={...e};if(t.fontFamily!==void 0){let i=Gr(t.fontFamily,r);n.family=i.family,i.weight!==void 0&&(n.weight=i.weight),i.italic!==void 0&&(n.italic=i.italic)}return t.fontSize!==void 0&&(n.size=t.fontSize),t.fontColor!=null&&(n.color=t.fontColor),t.textAlign!==void 0&&(n.align=t.textAlign),n}function gb(e,t){if(t!=null&&e!=="free-text-callout")throw new g(f.InvalidArg,`free-text: a callout line needs intent 'free-text-callout', not '${e}'`,{details:{field:"intent"}})}function c_(e,t,r){let n={};return r.fontSize===void 0&&e.size!==void 0&&e.size!==t.fontSize&&(n.fontSize=e.size),r.fontColor===void 0&&e.color!==void 0&&e.color.toLowerCase()!==t.fontColor?.toLowerCase()&&(n.fontColor=e.color.toLowerCase()),r.textAlign===void 0&&e.align!==void 0&&e.align!==t.textAlign&&(n.textAlign=e.align),n}function d_(e,t,r){if(e.subtype!=="free-text"||t.subtype!=="free-text")return t;let n=t;(n.intent!==void 0||n.calloutLine!==void 0)&&gb(n.intent??e.intent,n.calloutLine!==void 0?n.calloutLine:e.calloutLine);let i=fb({},n,r),a=n.richText!==void 0||n.contents!==void 0;if(!a&&Object.keys(i).length===0)return n;let o={...n.richText?.body?{...Oi,...n.richText.body}:e.richText.body,...i},s={body:o,paragraphs:n.richText?.paragraphs??(n.contents!==void 0?$s(n.contents??""):e.richText.paragraphs)};return{...n,...c_(o,e,n),richText:s,...a?{contents:Cr(s)}:{}}}function u_(e,t){if(e.subtype!=="free-text"||t.subtype!=="free-text")return t;let r=t,n=e.calloutLine;if(!n||r.calloutLine!==void 0||r.box===void 0&&r.rotation===void 0)return r;let i=r.box??e.box,a=(r.rotation===void 0?e.rotation:r.rotation)??0,o=n.length===3?n[1]:void 0,s=A_(i,o??n[0],a);return{...r,calloutLine:o?[n[0],o,s]:[n[0],s]}}function p_(e,t){if(e.subtype!=="free-text")return e;let r=e.intent??(e.calloutLine!=null?"free-text-callout":"free-text");gb(r,e.calloutLine);let n={body:fb(e.richText?.body??{},e,t),paragraphs:e.richText?.paragraphs??$s(e.contents??"")};return{...e,intent:r,richText:n,contents:Cr(n)}}function Fb(e,t){let{rect:r,...n}=t;if(r===void 0||!iA.has(e.subtype))return t;if(!tb(r))throw new g(f.InvalidArg,`${e.subtype} update field 'rect': not a rect of finite numbers`,{details:{field:"rect"}});if(Te(Ce(r),e.rect))return n;let i=e,a=qd(e.subtype).find(p=>{let m=t[p];return m!==void 0&&!Te(m,i[p])});if(a)throw new g(f.InvalidArg,`${e.subtype} update field 'rect': a new rect moves the shape, so it can't come with a new '${a}'`,{details:{field:"rect"}});let{left:o,bottom:s,right:A,top:d}=r;return{...n,...db(e,{left:o,bottom:s,right:A,top:d})}}function vb(e,t){let r=Object.entries(e).filter(([n,i])=>n==="subtype"||!t(n,i));return Object.fromEntries(r)}function l_(e,t){let r=Ii(e.subtype)?.colors??[],n=e;return vb(t,(i,a)=>{let o=n[i];return r.includes(i)&&typeof a=="string"&&typeof o=="string"&&rb(a,o)})}function m_(e,t){let r=e;return vb(t,(n,i)=>i!==void 0&&Te(i,r[n]))}function Pb(e){return new g(f.InvalidArg,`text: the custom state '${e}' needs a stateModel`,{details:{field:"stateModel"}})}function w_(e){if(e.subtype!=="text"||e.state==null||e.stateModel!=null)return e;let t=Xd(e.state);if(!t)throw Pb(e.state);return{...e,stateModel:t}}function b_(e,t){if(e.subtype!=="text"||t.subtype!=="text"||t.state==null||t.stateModel!==void 0)return t;let r=Xd(t.state);if(r)return{...t,stateModel:r};if(!e.stateModel)throw Pb(t.state);return t}function eu(e,t){let r=Vd[e],n=Object.keys(t).filter(i=>i!=="subtype"&&!r.includes(i));if(n.length>0)throw new g(f.InvalidArg,`${e} has no field ${n.map(i=>`'${i}'`).join(", ")}`)}function f_(e){return e.length<2?e.join(""):`${e.slice(0,-1).join(", ")} or ${e.at(-1)}`}function g_(e,t){if(t===void 0||t===e.subtype)return e.subtype;let r=ab(e.subtype);if(!r.includes(t))throw new g(f.InvalidArg,r.length===0?`${e.subtype} has no other kind it can become`:`${e.subtype} can become ${f_(r)}, not ${t}`,{details:{field:"subtype"}});let n=ob(e,t);if(n!==null){let i=e[n];throw new g(f.InvalidArg,`${e.subtype} field '${n}' holds ${typeof i=="string"?`'${i}'`:JSON.stringify(i)}, and ${t} has no such field: clear it first, in the same change`,{details:{field:n}})}return t}function F_(e,t){let r=g_(e,t.subtype);if(e.subtype==="unsupported")throw new g(f.InvalidArg,"an annotation of a type the engine doesn't model can't be updated");if(t.nm!==void 0&&t.nm!==e.nm)throw new g(f.InvalidArg,"an annotation's nm can't change after create");return eu(r,t),{...t,subtype:r}}function hb(e,t){return m_(e,l_(e,Fb(e,F_(e,t))))}function kb(e,t,r={}){let n=s_(e,b_(e,t));return $d(n),r_(e,u_(e,a_(e,d_(e,n,r.describeFont))))}function v_(e){if(nr[e.subtype]?.box!=="box")return e;let t=e;if(t.box!==void 0)return e;if(t.rect===void 0)throw new g(f.InvalidArg,`${e.subtype} create: give its \`box\`, or its \`rect\` with a quarter turn`,{details:{field:"box"}});if(!tb(t.rect))throw new g(f.InvalidArg,`${e.subtype} create field 'rect': not a rect of finite numbers`,{details:{field:"rect"}});let r=t.rotation??0,n=xi(r);if(n===null)throw new g(f.InvalidArg,`${e.subtype} create field 'rect': a rect places a box at a quarter turn; at ${r}\xB0 give its \`box\``,{details:{field:"rect"}});let{rect:i,...a}=e;return{...a,box:Ir(Ce(t.rect),n)}}function P_(e){if(e.subtype!=="redact"||e.rect!=null)return e;let t=e.quadPoints??[];if(t.length===0)return e;let r=er(t.flatMap(n=>[n.upperLeft,n.upperRight,n.lowerLeft,n.lowerRight]));return{...e,rect:r}}function Db(e){return eu(e.subtype,e),v_(e)}function Bb(e,t={}){return $d(e),mb(P_(i_(p_(o_(w_(e)),t.describeFont))))}var pt=class extends g{constructor(e,t){super(f.InvalidArg,`invalid scope "${e}": ${t}`,{details:{scope:e,reason:t}}),this.scope=e,xe(this,"name","InvalidScope")}},je=class extends g{constructor(e,t,r,n){super(f.Forbidden,`permission denied${t?` (${t})`:""}: ${r?`one of ${r.join(", ")}`:e}${n?` for ${n.length} annotation${n.length===1?"":"s"}`:""}`,{details:{required:e,...t===void 0?{}:{context:t},...r===void 0?{}:{anyOf:[...r]},...n===void 0?{}:{refs:[...n]}}}),this.required=e,this.context=t,this.anyOf=r,this.refs=n,xe(this,"name","PermissionDenied")}};var Mi=class extends g{constructor(e){super(f.Aborted,h_(e)),xe(this,"name","AbortError"),xe(this,"reason",void 0),this.reason=e}};function h_(e){if(e==null)return"aborted";if(typeof e=="string")return e;if(e instanceof Error)return e.message||"aborted";try{return JSON.stringify(e)}catch{return"aborted"}}var Eb;Eb=Symbol.species;var k_=class cA extends Promise{static get[Eb](){return Promise}constructor(t){let r=new AbortController,n=new Set,i={settled:!1},a;super((o,s)=>{a=s,t(m=>{i.settled||(i.settled=!0,o(m))},m=>{i.settled||(i.settled=!0,s(m))},m=>{if(!i.settled)for(let F of n)try{F(m)}catch{}},r.signal)}),xe(this,"signal",void 0),xe(this,"_ctrl",void 0),xe(this,"_progressCbs",void 0),xe(this,"_state",void 0),xe(this,"_internalReject",void 0),this._ctrl=r,this.signal=r.signal,this._progressCbs=n,this._state=i,this._internalReject=a}abort(t){if(this._state.settled||this._ctrl.signal.aborted)return;let r=t instanceof Mi?t:new Mi(t);this._state.settled=!0,this._ctrl.abort(r),this._internalReject(r)}abortWith(t){if(t.aborted)return this.abort(t.reason),this;let r=()=>this.abort(t.reason);t.addEventListener("abort",r,{once:!0});let n=()=>t.removeEventListener("abort",r);return Promise.prototype.then.call(this,n,n),this}onProgress(t){return this._progressCbs.add(t),()=>{this._progressCbs.delete(t)}}static resolveValue(t){return new cA(r=>r(t))}static rejectReason(t){return new cA((r,n)=>n(t))}static run(t){return new cA((r,n,i,a)=>{t(a,i).then(r,n)})}};function uA(e,t){let{includeAnnotations:r,includeFormFields:n}=e??{};if(r===!0&&!t.annotations)throw new je("doc.annotate.read","includeAnnotations");if(n===!0&&!t.formFields)throw new je("doc.forms.read","includeFormFields");return{includeAnnotations:r??t.annotations,includeFormFields:n??(r===!1?!1:t.formFields)}}function iu(e,t){let{usage:r,viewport:n}=e??{};if(r===void 0||r==="display"){if(n?.kind==="dpi"&&Za("viewport",'a dpi viewport is only for a print picture (usage: "print")'),n?.kind==="thumbnail"){if(e?.target!==void 0&&e.target.kind!=="page"&&Za("target","a thumbnail is the whole page: it takes no target"),t!==null&&!t.thumbnail)throw new je("doc.render.thumbnail","viewport");return}if(t!==null&&!t.render)throw new je("doc.render","usage");return}r!=="print"&&Za("usage",'usage must be "display" or "print"'),(n?.kind!=="dpi"||n.dpi!==150&&n.dpi!==300)&&Za("viewport","a print picture needs viewport: { kind: 'dpi', dpi: 150 or 300 }");for(let i of["target","rotation","background"])e?.[i]!==void 0&&Za(i,`a print picture takes no ${i}: it is the whole page, upright, on white`);if(t!==null){if(!t.print)throw new je("doc.print","usage");if(n.dpi===300&&!t.printHigh)throw new je("doc.print.high","viewport")}}function Za(e,t){throw new g(f.InvalidArg,t,{details:{field:e}})}var tu=["normal","rollover","down"];function au(e){if(e===void 0)return;if(e.length===0)throw new g(f.InvalidArg,"modes must name at least one mode",{details:{field:"modes"}});let t=tu.filter(r=>e.includes(r));return t.length===tu.length?void 0:t}var _b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nu=61,Hr=Uint8Array.from(_b,e=>e.charCodeAt(0)),D_=(()=>{let e=new Int16Array(128).fill(-1);for(let t=0;t<64;t++)e[_b.charCodeAt(t)]=t;return e})();function yb(e){let t=new Uint8Array(4*Math.ceil(e.length/3)),r=0,n=0;for(;n+2>18],t[r++]=Hr[a>>12&63],t[r++]=Hr[a>>6&63],t[r++]=Hr[a&63]}let i=e.length-n;if(i>0){let a=e[n]<<16|(i===2?e[n+1]<<8:0);t[r++]=Hr[a>>18],t[r++]=Hr[a>>12&63],t[r++]=i===2?Hr[a>>6&63]:nu,t[r++]=nu}return new TextDecoder().decode(t)}function Gb(e){let t=Ib(e);return t%4===1?null:Math.floor(t*3/4)}function Cb(e){let t=Ib(e);if(t%4===1)throw new Error("malformed base64");let r=new Uint8Array(Math.floor(t*3/4)),n=0,i=0,a=0;for(let o=0;o=8&&(a-=8,r[n++]=i>>a&255)}return r}function Ib(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===nu;)t-=1;return t}var Sb=(e,t,r)=>Math.min(Math.max(Math.floor(e),t),r);function B_(e,t){let r=0,n=e.length-1,i=null;for(;r<=n;){let a=r+n>>1;e[a][0]<=t?(i=e[a],r=a+1):n=a-1}return i??[0,0]}function ru(e,t){let r=Sb(t,0,e.charCount),n=e.charMap;if(!n||n.length===0)return Math.min(r,e.text.length);let[i,a]=B_(n,r);return a+(r-i)}function dA(e,t,r){let n=Sb(t,0,e.text.length),i=0,a=e.charCount;if(r==="start"){for(;i>1;ru(e,o)>=n?a=o:i=o+1}return i}function ou(e,t){let r=t.start,n=t.start+t.count;if(n<=r)return{start:dA(e,r,"end"),count:0};let i=dA(e,r,"start");return{start:i,count:dA(e,n,"end")-i}}function xb(e){return e>=64976&&e<=65007||(e&65534)===65534}var E_=/[\r\p{Noncharacter_Code_Point}]/u;function su(e){let{text:t,charCount:r}=e;if(!E_.test(t))return e;let n=e.charMap??[],i=[],a=[],o=0,s=0,A=0;for(let p=0;p0?{text:d,charCount:r,charMap:a}:{text:d,charCount:r}}function __(e,t){return e==="\r"?t===` +`)}function sA(e){return e.split(/\r\n|\r|\n/).map(t=>({runs:[{text:t}]}))}var jd=e=>Math.max(0,Math.min(255,Math.round(e))).toString(16).padStart(2,"0");function Li(e,t,r){return`#${jd(e)}${jd(t)}${jd(r)}`}function Tn(e){let t=Number.parseInt(e.slice(1),16);return{r:t>>16&255,g:t>>8&255,b:t&255}}function Pb(e,t){return e.toLowerCase()===t.toLowerCase()}var rA={highlight:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},underline:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},squiggly:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},strikeout:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data",intent:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},circle:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",box:"data",rotation:"data",cloudyIntensity:"data"},readBack:["rect","borderStyle"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",box:"box"},resources:{}},square:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",box:"data",rotation:"data",cloudyIntensity:"data"},readBack:["rect","borderStyle"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",box:"box"},resources:{}},polygon:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",vertices:"data",rotation:"data",captionEnabled:"data",captionCenter:"data",intent:"data",measure:"data",cloudyIntensity:"data"},readBack:["rect","borderStyle","vertices"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",vertices:"points",captionCenter:"point",measure:"measure"},resources:{}},polyline:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",vertices:"data",rotation:"data",captionEnabled:"data",captionCenter:"data",intent:"data",measure:"data",lineEndings:"data"},readBack:["rect","borderStyle","vertices"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",vertices:"points",captionCenter:"point",measure:"measure"},resources:{}},line:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",interiorColor:"data",linePoints:"data",lineEndings:"data",rotation:"data",intent:"data",measure:"data",captionEnabled:"data",captionPosition:"data",captionOffset:"data",leader:"data"},readBack:["rect","borderStyle"],colors:["color","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",linePoints:"linePoints",measure:"measure"},resources:{}},link:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",target:"data"},readBack:["target"],colors:[],spaces:{rect:"box",actions:"actions",target:"linkTarget"},resources:{}},ink:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",inkList:"data",intent:"data",rotation:"data"},readBack:["rect","strokeWidth","borderStyle","inkList"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",inkList:"strokes"},resources:{}},"free-text":{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",box:"data",rotation:"data",intent:"data",fontFamily:"data",fontSize:"data",textAlign:"data",verticalAlign:"data",color:"data",fontColor:"data",interiorColor:"data",opacity:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",cloudyIntensity:"data",calloutLine:"data",lineEnding:"data"},readBack:["rect","intent","borderStyle"],colors:["color","fontColor","interiorColor"],spaces:{rect:"box",actions:"actions",richText:"length",box:"box",calloutLine:"calloutLine"},resources:{}},caret:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",box:"data",rotation:"data",intent:"data"},readBack:["rect"],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length",box:"box"},resources:{}},text:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",icon:"data",open:"data",state:"data",stateModel:"data"},readBack:[],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length"},resources:{}},stamp:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",box:"data",rotation:"data",name:"data",fit:"data",opacity:"data"},readBack:["rect"],colors:[],spaces:{rect:"box",actions:"actions",richText:"length",box:"box"},resources:{appearance:"required"}},"file-attachment":{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",icon:"data",file:"data"},readBack:[],colors:["color"],spaces:{rect:"box",actions:"actions",richText:"length"},resources:{file:"required"}},widget:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"engine",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"data",box:"data",rotation:"data",color:"data",interiorColor:"data",strokeWidth:"data",borderStyle:"data",dashArray:"data",fontFamily:"data",fontSize:"data",fontColor:"data",textAlign:"data",caption:"data",checkStyle:"data",field:"engine",fieldKind:"engine",hasMark:"engine"},readBack:["rect","actions"],colors:["color","interiorColor","fontColor"],spaces:{rect:"box",actions:"actions",box:"box"},resources:{}},redact:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",richText:"data",color:"data",opacity:"data",quadPoints:"data",interiorColor:"data",overlayText:"data",repeat:"data",fontFamily:"data",fontSize:"data",fontColor:"data",textAlign:"data"},readBack:[],colors:["color","interiorColor","fontColor"],spaces:{rect:"box",actions:"actions",richText:"length",quadPoints:"quads"},resources:{}},popup:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",parent:"data",open:"data"},readBack:["parent"],colors:[],spaces:{rect:"box",actions:"actions"},resources:{}},unsupported:{owners:{ref:"engine",page:"engine",hasAppearance:"engine",appearanceState:"engine",structurePosition:"engine",nm:"data",rect:"data",contents:"data",subject:"data",blendMode:"data",invisible:"data",hidden:"data",print:"data",noZoom:"data",noRotate:"data",noView:"data",readOnly:"data",locked:"data",toggleNoView:"data",lockedContents:"data",reply:"data",popup:"engine",groupId:"data",author:"attribution",createdAt:"attribution",modifiedAt:"attribution",userId:"attribution",createdBy:"attribution",modifiedBy:"attribution",importedBy:"engine",actions:"preserved",rawSubtypeCode:"engine",rawSubtypeName:"engine"},readBack:[],colors:[],spaces:{rect:"box",actions:"actions"},resources:{}}};function eu(e){let t={};for(let r of Object.keys(rA))t[r]=e(rA[r]);return t}function Oi(e){return Object.prototype.hasOwnProperty.call(rA,e)?rA[e]:null}var tu=eu(e=>Object.keys(e.owners)),Rr=eu(e=>e.resources),ir=eu(e=>e.spaces),hb=Object.assign({},...Object.values(ir)),g_=[["highlight","underline","squiggly","strikeout"],["square","circle"]];function kb(e){let t=g_.find(r=>r.includes(e));return t?t.filter(r=>r!==e):[]}function Db(e,t){let r=Oi(t)?.owners??{},n=e;for(let i of Object.keys(Oi(e.subtype)?.owners??{})){let a=n[i];if(!(i in r)&&a!==null&&a!==void 0)return i}return null}var Bb=/^sha256-[0-9a-f]{64}$/,F_=["page","position","size"];async function Eb(e){let t=new Uint8Array(await crypto.subtle.digest("SHA-256",e)),r="";for(let n of t)r+=n.toString(16).padStart(2,"0");return`sha256-${r}`}async function nu(e,t){for(let[r,n]of Object.entries(t))await Eb(n)!==r&&De(e,`resource ${r} doesn't match its id`)}function AA(e,t){let r=new Set,n=new Set;for(let i of t){(!Ve(i)||!za(i.page)||!v_(i.size))&&De(e,"a page needs a page ref, a position and a size"),ar(e,"a page",i,F_);let{position:a}=i;(!Number.isInteger(a)||a<0)&&De(e,`page position ${JSON.stringify(a)} is not a position`);let o=le(i.page);r.has(o)&&De(e,`page ${o} is listed twice`),n.has(a)&&De(e,`position ${a} is listed twice`),r.add(o),n.add(a)}return r}function cA(e,t,r,n,i,a){Ve(r)||De(e,`${t} has no resources`);for(let[o,s]of Object.entries(r))n.includes(o)||De(e,`${t} names an unknown resource role '${o}'`),(typeof s!="string"||!Bb.test(s))&&De(e,`${t} names ${JSON.stringify(s)}, which is not a resource id`),i.has(s)||De(e,`${t} names ${s}, which the bundle doesn't hold`),a.add(s)}function dA(e,t,r,n){for(let i of r.keys())Bb.test(i)||De(e,`${JSON.stringify(i)} is not a resource id`),n.has(i)||De(e,`resource ${i} is named by no ${t}`)}function ar(e,t,r,n){for(let i of Object.keys(r))n.includes(i)||De(e,`${t} has an unknown field '${i}'`)}function De(e,t){throw new g(f.InvalidArg,`${e} bundle: ${t}`)}function Ve(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function za(e){return Ve(e)&&e.kind==="objectNumber"&&Number.isInteger(e.objectNumber)&&e.objectNumber>0}function v_(e){return Ve(e)&&[e.width,e.height].every(t=>typeof t=="number"&&Number.isFinite(t)&&t>=0)}function uA(e){let t=P_(e.bundlePages,e.pages,e.target),r=new Set;for(let n of e.named)t.has(le(n))||r.add(le(n));if(r.size>0){let n=[...r];throw new g(f.InvalidArg,`import: ${n.length===1?"page":"pages"} ${n.join(", ")} map to no page of this document`,{details:{pages:n}})}return n=>t.get(le(n))}function P_(e,t,r){let n=new Map(r.map(a=>[le(a.page),a.page])),i=new Map;if(t==="same")for(let a of e){let o=n.get(le(a.page));o&&i.set(le(a.page),o)}else if(t==="by-position"){let a=new Map(r.map(o=>[o.position,o.page]));for(let o of e){let s=a.get(o.position);s&&i.set(le(o.page),s)}}else for(let{from:a,to:o}of t){let s=le(a);if(i.has(s))throw new g(f.InvalidArg,`import: page ${s} is mapped twice`);let A=n.get(le(o));if(!A)throw new g(f.NotFound,`import: the document has no page ${le(o)}`);i.set(s,A)}return i}var h_=.001,k_=new Set(["subtype","invisible","hidden","print","noZoom","noRotate","noView","readOnly","locked","toggleNoView","lockedContents","nm","reply","popup","parent","open","groupId","subject","state","stateModel","ref","page","hasAppearance","appearanceState","author","createdAt","modifiedAt","userId","createdBy","modifiedBy","importedBy","actions","file","field","fieldKind"]),D_=new Set(["free-text","redact"]),B_=new Set(["square","circle","free-text","stamp","caret","widget","line","polyline","polygon","ink"]),_b={square:["box"],circle:["box"],"free-text":["box","calloutLine"],line:["linePoints"],polygon:["vertices"],polyline:["vertices"],ink:["inkList"],highlight:["quadPoints"],underline:["quadPoints"],squiggly:["quadPoints"],strikeout:["quadPoints"],redact:["rect","quadPoints"],caret:["box"],text:["rect"],stamp:["box"],"file-attachment":["rect"],link:["rect"],widget:["box"]},ru=(e,t)=>Math.abs(e-t)<=h_,fb=e=>typeof e=="number"?(e%360+360)%360:0;function Te(e,t){if(e==null||t==null)return e==null&&t==null;if(typeof e=="number"&&typeof t=="number")return ru(e,t);if(Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((r,n)=>Te(r,t[n]));if(typeof e=="object"&&typeof t=="object"){let r=new Set([...Object.keys(e),...Object.keys(t)]);for(let n of r)if(!Te(e[n],t[n]))return!1;return!0}return e===t}function Xd(e,t,r,n){if(e==null||t==null)return e==null&&t==null;if(Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((i,a)=>Xd(i,t[a],r,n));if(typeof e=="object"&&typeof t=="object"){let i=new Set([...Object.keys(e),...Object.keys(t)]);for(let a of i){let o=e[a],s=t[a];if(typeof o=="number"&&typeof s=="number"){if(!ru(o+(a==="left"||a==="right"||a==="x"?r:a==="bottom"||a==="top"||a==="y"?n:0),s))return!1}else if(!Xd(o,s,r,n))return!1}return!0}return e===t}function iA(e){if(e==null||typeof e!="object")return;if(Array.isArray(e))return e.length>0?iA(e[0]):void 0;let t=e;return typeof t.x=="number"&&typeof t.y=="number"?{x:t.x,y:t.y}:typeof t.left=="number"&&typeof t.bottom=="number"?{x:t.left,y:t.bottom}:iA(t.start??t.upperLeft)}function E_(e,t,r,n){let[i]=n,a=iA(e[i]),o=iA(t[i]);if(!a||!o)return null;let s=o.x-a.x,A=o.y-a.y;if(B_.has(r)){let d=t.rotation===void 0?e.rotation:t.rotation;if(!ru(fb(e.rotation),fb(d)))return null}for(let d of n){let p=e[d],m=t[d];if(!(p==null&&m==null)&&(p==null||m==null||!Xd(p,m,s,A)))return null}return{x:s,y:A}}function Wd(e,t,r){return Array.isArray(e)?e.map(n=>Wd(n,t,r)):e===null||typeof e!="object"?e:Object.fromEntries(Object.entries(e).map(([n,i])=>typeof i!="number"?[n,Wd(i,t,r)]:[n,i+(n==="left"||n==="right"||n==="x"?t:n==="bottom"||n==="top"||n==="y"?r:0)]))}function iu(e,t){if(t.x===0&&t.y===0)return e;let r=e,n=new Set(["rect","captionCenter",..._b[e.subtype]??[]]),i={...r};for(let a of n)r[a]!=null&&(i[a]=Wd(r[a],t.x,t.y));return i}var __={impact:"inert"},eA={impact:"regenerate"};function yb(e,t){if(t.subtype!==void 0&&t.subtype!==e.subtype)return eA;let r=e,n=t,i=e.subtype,a=n.captionEnabled===void 0?r.captionEnabled:n.captionEnabled,o=D_.has(i)||["line","polygon","polyline"].includes(i)&&a===!0,s=[];for(let[m,F]of Object.entries(n))F===void 0||k_.has(m)||m==="contents"&&!o||Te(F,r[m])||s.push(m);if(s.length===0)return __;let A=_b[i],d=A&&(i==="polygon"||i==="polyline")&&r.captionCenter?[...A,"captionCenter"]:A;if(!d||!s.every(m=>d.includes(m)))return eA;let p=E_(r,n,i,d);return p?{impact:"translation",by:p}:eA}function au(e,t){return yb(e,t).impact}function Ni(e,t){let r=new Map(e.map(p=>[j(p.ref),p])),n=r.get(j(t));if(!n)return[];let i=new Map,a=new Map,o=(p,m,F)=>p.set(m,[...p.get(m)??[],F]);for(let p of e){let m=p.reply?r.get(j(p.reply.to)):void 0;m&&m!==p&&o(i,m,p);let F=p.subtype==="popup"&&p.parent?r.get(j(p.parent)):void 0;F&&F!==p&&o(a,F,p);let h=p.popup?r.get(j(p.popup)):void 0;h&&h!==p&&h.subtype==="popup"&&o(a,p,h)}let s=[],A=new Set,d=p=>{if(!A.has(p)){A.add(p);for(let m of i.get(p)??[])d(m);for(let m of a.get(p)??[])A.has(m)||(A.add(m),s.push(m));s.push(p)}};return d(n),s}var y_=new Set(["accepted","rejected","cancelled","completed","none"]),G_=new Set(["marked","unmarked"]);function ou(e){return y_.has(e)?"review":G_.has(e)?"marked":null}var pA=new Set(["highlight","underline","squiggly","strikeout","square","circle","free-text","stamp","caret","widget","line","polyline","polygon","ink"]),C_=new Set(["box","point","points","strokes","quads","linePoints","calloutLine"]);function su(e){return[...Object.entries(ir[e]).filter(([t,r])=>t!=="rect"&&C_.has(r)).map(([t])=>t),"rotation"]}function Gb(e,t){let r=e.subtype;if(!pA.has(r))return{rect:t};let n=Ce(t),i=Ce(e.rect),a=n.right-n.left,o=n.top-n.bottom,s=i.right-i.left,A=i.top-i.bottom,d=Te(a,s),p=Te(o,A);if(!d&&a<=0||!p&&o<=0)throw Kd(r,"a rect needs a width and a height");let m=e.rotation??0,F=ir[r],h=F.box==="box"?Ri(m):null;if(!Te((m%360+360)%360,0)&&h===null&&(!d||!p))throw Kd(r,"a turned drawing's rect can only move; resize its shape instead");if(!d&&s<=0||!p&&A<=0)throw Kd(r,"its rect has no width or height to stretch; it can only move");let P=d?1:a/s,B=p?1:o/A,y=G=>({x:n.left+(G.x-i.left)*P,y:n.bottom+(G.y-i.bottom)*B}),x=G=>{let Q=y({x:G.left,y:G.bottom}),K=y({x:G.right,y:G.top});return Ce({left:Q.x,bottom:Q.y,right:K.x,top:K.y})},I={box:G=>h===null||h===0||h===180?x(G):Hr(x(fn(G,h)),h),point:y,points:G=>G.map(y),strokes:G=>G.map(Q=>Q.map(y)),quads:G=>G.map(Q=>({upperLeft:y(Q.upperLeft),upperRight:y(Q.upperRight),lowerLeft:y(Q.lowerLeft),lowerRight:y(Q.lowerRight)})),linePoints:G=>({start:y(G.start),end:y(G.end)}),calloutLine:G=>G.map(y)},S={};for(let G of su(r)){let Q=e[G],K=F[G];Q!=null&&K&&(S[G]=I[K](Q))}return S}function Kd(e,t){return new g(f.InvalidArg,`${e} field 'rect': ${t}`,{details:{field:"rect"}})}var tA=e=>Number.isFinite(e)&&e>0;function Cb(e){let t=Math.fround(e.x[0]?.conversion??NaN);if(!tA(t))return null;if(!e.y)return{sx:t,sy:t};let r=Math.fround(e.y[0]?.conversion??NaN),n=Math.fround(e.cyx??NaN),i=r*n;return tA(r)&&tA(n)&&tA(i)?{sx:t,sy:i}:null}var lA=e=>({x:Math.fround(e.x),y:Math.fround(e.y)});function Ud(e,t,r){let n=0,i=e.map(lA);for(let a=0;a<(t?i.length:i.length-1);a++){let o=i[a],s=i[(a+1)%i.length];n+=Math.hypot((s.x-o.x)*r.sx,(s.y-o.y)*r.sy)}return n}function Au(e,t){if(e.length<3)return 0;let r=e.map(lA),n=r[0],i=0;for(let a=1;aa.x===o.x&&a.y===o.y;if(t.length>1&&r(t[0],t[t.length-1])&&t.pop(),t.length<3||Au(t,{sx:1,sy:1})===0)return!1;let n=(a,o,s)=>(o.x-a.x)*(s.y-a.y)-(o.y-a.y)*(s.x-a.x),i=(a,o,s)=>n(a,o,s)===0&&s.x>=Math.min(a.x,o.x)&&s.x<=Math.max(a.x,o.x)&&s.y>=Math.min(a.y,o.y)&&s.y<=Math.max(a.y,o.y);for(let a=0;a!("unavailable"in e);function du(e){if(!mA(e))return{unavailable:"not-dimension"};if(!e.measure)return{unavailable:"no-measure"};if(e.measure.subtype!=="rectilinear")return{unavailable:"foreign-measure"};let t=e.measure,r=Cb(t);if(!r)return{unavailable:"no-scale"};let n=e.subtype==="line"?e.linePoints?[e.linePoints.start,e.linePoints.end]:[]:e.vertices??[];if(n.length<(e.subtype==="polygon"?3:2)||n.some(s=>!Number.isFinite(Math.fround(s.x))||!Number.isFinite(Math.fround(s.y))))return{unavailable:"invalid-geometry"};let i=e.subtype==="polygon";if(i&&!Ib(n))return{unavailable:"invalid-geometry"};let a=i?t.area:t.distance;if(!a.length)return{unavailable:i?"no-area-format":"no-distance-format"};if(!a.every(tr))return{unavailable:"invalid-format"};let o=i?Au(n,r):Ud(n,!1,r);try{return{kind:i?"area":e.subtype==="line"?"distance":"perimeter",value:o*Math.fround(a[0].conversion),label:Js(o,a),...i&&t.distance.length&&t.distance.every(tr)?{perimeter:Js(Ud(n,!0,r),t.distance)}:{}}}catch{return{unavailable:"invalid-format"}}}function Sb(e){let t=du(e);return cu(t)&&e.contents!==t.label?{...e,contents:t.label}:e}function Za(e){if(e.subtype!=="rectilinear")throw new g(f.InvalidArg,"Only rectilinear measures can be authored");if(e.ratio!==void 0&&(typeof e.ratio!="string"||e.ratio.includes("\0")))throw new g(f.InvalidArg,"Invalid scale ratio");for(let t of["x","y","distance","area","angle","slope"]){let r=e[t];if(!(r===void 0&&(t==="y"||t==="angle"||t==="slope"))){if(!Array.isArray(r))throw new g(f.InvalidArg,`Missing ${t} formats`);for(let n of r){if(!n||typeof n.unit!="string"||!tr(n))throw new g(f.InvalidArg,"Invalid number format");if(n.fraction!==void 0&&!["decimal","fraction","round","truncate"].includes(n.fraction))throw new g(f.InvalidArg,"Invalid fraction mode");if(n.labelPosition!==void 0&&!["prefix","suffix"].includes(n.labelPosition))throw new g(f.InvalidArg,"Invalid label position");if(n.fixed!==void 0&&typeof n.fixed!="boolean")throw new g(f.InvalidArg,"Invalid fixed precision");for(let i of["unit","thousands","decimal","prefixSpacing","suffixSpacing"]){let a=n[i];if(a!==void 0&&(typeof a!="string"||a.includes("\0")))throw new g(f.InvalidArg,"Invalid measurement text")}}}}if(e.origin!==void 0)for(let t of[e.origin.x,e.origin.y])bn(t);if(e.cyx!==void 0&&(bn(e.cyx),Math.fround(e.cyx)<=0))throw new g(f.InvalidArg,"Invalid CYX")}function bn(e){if(typeof e!="number"||!Number.isFinite(Math.fround(e)))throw new g(f.InvalidArg,"Value is outside PDF float range")}var I_=["linePoints","vertices","measure","intent","contents"],S_=["captionEnabled","captionPosition","captionOffset","captionCenter"],x_=e=>e==="line"||e==="polygon"||e==="polyline",Qi=e=>S_.some(t=>e[t]!==void 0);function qd(e,t){try{if(t.measure!=null&&t.measure.subtype==="rectilinear"&&Za(t.measure),e==="line"&&"leader"in t&&t.leader!=null&&(typeof t.leader!="object"||Array.isArray(t.leader)))throw new g(f.InvalidArg,"Invalid line leader");let r=e==="line"?["line-dimension","line-arrow"]:e==="polygon"?["polygon-dimension","polygon-cloud"]:["polyline-dimension"];if(t.intent!=null&&!r.includes(t.intent))throw new g(f.InvalidArg,"Invalid measurement intent");if(t.captionEnabled!=null&&typeof t.captionEnabled!="boolean")throw new g(f.InvalidArg,"Invalid caption visibility");if("captionPosition"in t&&t.captionPosition!=null&&!["inline","top"].includes(t.captionPosition))throw new g(f.InvalidArg,"Invalid caption position");if("captionOffset"in t&&t.captionOffset&&(bn(t.captionOffset.along),bn(t.captionOffset.perpendicular)),"captionCenter"in t&&t.captionCenter&&(bn(t.captionCenter.x),bn(t.captionCenter.y)),"leader"in t&&t.leader){for(let i of[t.leader.length,t.leader.extension??0,t.leader.offset??0])bn(i);if((t.leader.extension??0)<0||(t.leader.offset??0)<0)throw new g(f.InvalidArg,"Leader extension and offset must be nonnegative")}let n="linePoints"in t?t.linePoints?[t.linePoints.start,t.linePoints.end]:[]:"vertices"in t?t.vertices??[]:[];for(let i of n)bn(i.x),bn(i.y)}catch(r){throw new g(f.InvalidArg,r.message)}}function H_(e,t,r){if(e.length!==t.length||e.length<2)return;let n=e[0],i=t[0],a=e.findIndex(F=>Math.hypot(F.x-n.x,F.y-n.y)>1e-6);if(a<0)return;let o={x:e[a].x-n.x,y:e[a].y-n.y},s={x:t[a].x-i.x,y:t[a].y-i.y},A=o.x*o.x+o.y*o.y,d=(o.x*s.x+o.y*s.y)/A,p=(o.x*s.y-o.y*s.x)/A;if(Math.abs(d*d+p*p-1)>1e-5)return;let m=F=>({x:i.x+d*(F.x-n.x)-p*(F.y-n.y),y:i.y+p*(F.x-n.x)+d*(F.y-n.y)});if(e.every((F,h)=>{let P=m(F);return Math.hypot(P.x-t[h].x,P.y-t[h].y)<=.001}))return m(r)}function xb(e){if(!x_(e.subtype))return e;let t=e;if(qd(e.subtype,t),t.measure!=null&&t.measure.subtype!=="rectilinear")throw new g(f.InvalidArg,`A ${t.measure.subtype==="geospatial"?"geospatial":"foreign"} measure can't be written; leave measure out`);let r=e;return Qi(e)&&(e.subtype==="line"?r={...e,captionEnabled:e.captionEnabled??!1,captionPosition:e.captionPosition??"inline",captionOffset:e.captionOffset??null}:(e.subtype==="polygon"||e.subtype==="polyline")&&(r={...e,captionEnabled:e.captionEnabled??(e.captionCenter!=null?!1:null),captionCenter:e.captionCenter??null})),Sb(r)}function O_(e,t){if(e.subtype!=="line"&&e.subtype!=="polygon"&&e.subtype!=="polyline")return t;let r=e.subtype,n={...t,subtype:r};if(qd(r,n),n.measure!=null&&n.measure.subtype!=="rectilinear"){if(e.measure?.subtype!==n.measure.subtype)throw new g(f.InvalidArg,`A ${n.measure.subtype==="geospatial"?"geospatial":"foreign"} measure can't be written; leave measure out`);n={...n,measure:void 0}}if(e.subtype==="line"&&n.subtype==="line")Qi(n)&&(n={...n,captionEnabled:n.captionEnabled===void 0?e.captionEnabled:n.captionEnabled,captionPosition:n.captionPosition??e.captionPosition,captionOffset:n.captionOffset===void 0?e.captionOffset:n.captionOffset});else if(e.subtype!=="line"&&n.subtype!=="line"){if(n.vertices&&n.captionEnabled!==null&&n.captionCenter===void 0&&e.captionCenter){let i=H_(e.vertices,n.vertices,e.captionCenter);i&&(n={...n,captionCenter:i})}Qi(n)&&(n=n.captionEnabled===null?{...n,captionEnabled:null,captionCenter:null}:{...n,captionEnabled:n.captionEnabled??e.captionEnabled??!1,captionCenter:n.captionCenter===void 0?e.captionCenter:n.captionCenter})}if(I_.some(i=>n[i]!==void 0)){let i=du({...e,...n});cu(i)&&(n={...n,contents:i.label})}return qd(r,n),n}function uu(e){if(!(e.richText===void 0||e.richText===null)&&!(e.contents===void 0||e.contents===null)&&rr(e.contents,` +`)!==xr(e.richText))throw new g(f.InvalidArg,`${e.subtype??"annotation"}: \`contents\` must equal the plain projection of \`richText\` when both are given`)}function Hb(e){return e===void 0||e==="free-text"?!1:tu[e]?.includes("richText")??!1}function Q_(e){if(!Hb(e.subtype))return e;let{richText:t}=e;return t?{...e,contents:xr(t)}:e}function R_(e,t){if(!Hb(t.subtype??e.subtype))return t;let{richText:r}=t;if(r)return{...t,contents:xr(r)};if(r===null||t.contents===void 0||!e.richText)return t;if(t.contents===null)return{...t,richText:null};let n={paragraphs:sA(t.contents)};return{...t,richText:n,contents:xr(n)}}var zd="#ff0000",nA="#000000",Vd="#ffff00",It={invisible:!1,hidden:!1,print:!0,noZoom:!1,noRotate:!1,noView:!1,readOnly:!1,locked:!1,toggleNoView:!1,lockedContents:!1,blendMode:"normal"},Hi={...It,color:zd,opacity:1,strokeWidth:1,borderStyle:"solid"},gb={start:"none",end:"none"},Yd={...It,color:nA,opacity:1},lt={square:Hi,circle:Hi,line:{...Hi,lineEndings:gb,captionEnabled:!1,captionPosition:"inline"},polygon:Hi,polyline:{...Hi,lineEndings:gb},ink:Hi,highlight:{...It,blendMode:"multiply",color:Vd,opacity:1},underline:Yd,squiggly:Yd,strikeout:Yd,caret:{...It,color:zd,opacity:1},"free-text":{...It,contents:"",intent:"free-text",fontFamily:"helvetica",fontSize:12,textAlign:"left",verticalAlign:"top",color:nA,fontColor:nA,opacity:1,strokeWidth:1,borderStyle:"solid"},text:{...It,icon:"note",open:!1,color:Vd,opacity:1},"file-attachment":{...It,icon:"paperclip",color:Vd,opacity:1},link:It,redact:{...It,quadPoints:[],color:zd,opacity:1,repeat:!1,fontFamily:"helvetica",fontSize:12,fontColor:nA,textAlign:"left"},stamp:{...It,fit:"contain",opacity:1},widget:{...It,strokeWidth:1,borderStyle:"solid",textAlign:"left"},popup:{...It,print:!1,open:!1}};function Ja(e){return e==="unsupported"?{}:lt[e]}var wA=[3,3];function bA(e,t){return e==="dashed"&&t===void 0}var Ob=e=>Oi(e)?.owners.dashArray!==void 0;function T_(e){if(!Ob(e.subtype))return e;let t=e;return bA(t.borderStyle??Ja(e.subtype).borderStyle,t.dashArray)?{...e,dashArray:[...wA]}:e}function M_(e,t){if(!Ob(e.subtype))return t;let r=t;return!bA(r.borderStyle,r.dashArray)||e.dashArray!=null?t:{...t,dashArray:[...wA]}}function L_(e,t,r){let n={x:(e.left+e.right)/2,y:(e.bottom+e.top)/2},i={degrees:r,center:n},a=r?Ti(t,i):t,o=a.x-n.x,s=a.y-n.y,A=Math.abs(o)>=Math.abs(s)?{x:o>=0?e.right:e.left,y:n.y}:{x:n.x,y:s>0?e.top:e.bottom};return r?Qr(A,i):A}function Qb(e,t,r){let n={...e};if(t.fontFamily!==void 0){let i=Sr(t.fontFamily,r);n.family=i.family,i.weight!==void 0&&(n.weight=i.weight),i.italic!==void 0&&(n.italic=i.italic)}return t.fontSize!==void 0&&(n.size=t.fontSize),t.fontColor!=null&&(n.color=t.fontColor),t.textAlign!==void 0&&(n.align=t.textAlign),n}function Rb(e,t){if(t!=null&&e!=="free-text-callout")throw new g(f.InvalidArg,`free-text: a callout line needs intent 'free-text-callout', not '${e}'`,{details:{field:"intent"}})}function N_(e,t,r){let n={};return r.fontSize===void 0&&e.size!==void 0&&e.size!==t.fontSize&&(n.fontSize=e.size),r.fontColor===void 0&&e.color!==void 0&&e.color.toLowerCase()!==t.fontColor?.toLowerCase()&&(n.fontColor=e.color.toLowerCase()),r.textAlign===void 0&&e.align!==void 0&&e.align!==t.textAlign&&(n.textAlign=e.align),n}function j_(e,t,r){if(e.subtype!=="free-text"||t.subtype!=="free-text")return t;let n=t;(n.intent!==void 0||n.calloutLine!==void 0)&&Rb(n.intent??e.intent,n.calloutLine!==void 0?n.calloutLine:e.calloutLine);let i=Qb({},n,r),a=n.richText!==void 0||n.contents!==void 0;if(!a&&Object.keys(i).length===0)return n;let o={...n.richText?.body?{...Mi,...n.richText.body}:e.richText.body,...i},s={body:o,paragraphs:n.richText?.paragraphs??(n.contents!==void 0?sA(n.contents??""):e.richText.paragraphs)};return{...n,...N_(o,e,n),richText:s,...a?{contents:xr(s)}:{}}}function K_(e,t){if(e.subtype!=="free-text"||t.subtype!=="free-text")return t;let r=t,n=e.calloutLine;if(!n||r.calloutLine!==void 0||r.box===void 0&&r.rotation===void 0)return r;let i=r.box??e.box,a=(r.rotation===void 0?e.rotation:r.rotation)??0,o=n.length===3?n[1]:void 0,s=L_(i,o??n[0],a);return{...r,calloutLine:o?[n[0],o,s]:[n[0],s]}}function V_(e,t){if(e.subtype!=="free-text")return e;let r=e.intent??(e.calloutLine!=null?"free-text-callout":"free-text");Rb(r,e.calloutLine);let n={body:Qb(e.richText?.body??{},e,t),paragraphs:e.richText?.paragraphs??sA(e.contents??"")};return{...e,intent:r,richText:n,contents:xr(n)}}function Tb(e,t){let{rect:r,...n}=t;if(r===void 0||!pA.has(e.subtype))return t;if(!Fb(r))throw new g(f.InvalidArg,`${e.subtype} update field 'rect': not a rect of finite numbers`,{details:{field:"rect"}});if(Te(Ce(r),e.rect))return n;let i=e,a=su(e.subtype).find(p=>{let m=t[p];return m!==void 0&&!Te(m,i[p])});if(a)throw new g(f.InvalidArg,`${e.subtype} update field 'rect': a new rect moves the shape, so it can't come with a new '${a}'`,{details:{field:"rect"}});let{left:o,bottom:s,right:A,top:d}=r;return{...n,...Gb(e,{left:o,bottom:s,right:A,top:d})}}function Mb(e,t){let r=Object.entries(e).filter(([n,i])=>n==="subtype"||!t(n,i));return Object.fromEntries(r)}function Y_(e,t){let r=Oi(e.subtype)?.colors??[],n=e;return Mb(t,(i,a)=>{let o=n[i];return r.includes(i)&&typeof a=="string"&&typeof o=="string"&&Pb(a,o)})}function X_(e,t){let r=e;return Mb(t,(n,i)=>i!==void 0&&Te(i,r[n]))}function Lb(e){return new g(f.InvalidArg,`text: the custom state '${e}' needs a stateModel`,{details:{field:"stateModel"}})}function W_(e){if(e.subtype!=="text"||e.state==null||e.stateModel!=null)return e;let t=ou(e.state);if(!t)throw Lb(e.state);return{...e,stateModel:t}}function U_(e,t){if(e.subtype!=="text"||t.subtype!=="text"||t.state==null||t.stateModel!==void 0)return t;let r=ou(t.state);if(r)return{...t,stateModel:r};if(!e.stateModel)throw Lb(t.state);return t}function pu(e,t){let r=tu[e],n=Object.keys(t).filter(i=>i!=="subtype"&&!r.includes(i));if(n.length>0)throw new g(f.InvalidArg,`${e} has no field ${n.map(i=>`'${i}'`).join(", ")}`)}function q_(e){return e.length<2?e.join(""):`${e.slice(0,-1).join(", ")} or ${e.at(-1)}`}function z_(e,t){if(t===void 0||t===e.subtype)return e.subtype;let r=kb(e.subtype);if(!r.includes(t))throw new g(f.InvalidArg,r.length===0?`${e.subtype} has no other kind it can become`:`${e.subtype} can become ${q_(r)}, not ${t}`,{details:{field:"subtype"}});let n=Db(e,t);if(n!==null){let i=e[n];throw new g(f.InvalidArg,`${e.subtype} field '${n}' holds ${typeof i=="string"?`'${i}'`:JSON.stringify(i)}, and ${t} has no such field: clear it first, in the same change`,{details:{field:n}})}return t}function Z_(e,t){let r=z_(e,t.subtype);if(e.subtype==="unsupported")throw new g(f.InvalidArg,"an annotation of a type the engine doesn't model can't be updated");return pu(r,t),{...t,subtype:r}}function Nb(e,t){return X_(e,Y_(e,Tb(e,Z_(e,t))))}function jb(e,t,r={}){let n=M_(e,U_(e,t));return uu(n),O_(e,K_(e,R_(e,j_(e,n,r.describeFont))))}function J_(e){if(ir[e.subtype]?.box!=="box")return e;let t=e;if(t.box!==void 0)return e;if(t.rect===void 0)throw new g(f.InvalidArg,`${e.subtype} create: give its \`box\`, or its \`rect\` with a quarter turn`,{details:{field:"box"}});if(!Fb(t.rect))throw new g(f.InvalidArg,`${e.subtype} create field 'rect': not a rect of finite numbers`,{details:{field:"rect"}});let r=t.rotation??0,n=Ri(r);if(n===null)throw new g(f.InvalidArg,`${e.subtype} create field 'rect': a rect places a box at a quarter turn; at ${r}\xB0 give its \`box\``,{details:{field:"rect"}});let{rect:i,...a}=e;return{...a,box:Hr(Ce(t.rect),n)}}function $_(e){if(e.subtype!=="redact"||e.rect!=null)return e;let t=e.quadPoints??[];if(t.length===0)return e;let r=nr(t.flatMap(n=>[n.upperLeft,n.upperRight,n.lowerLeft,n.lowerRight]));return{...e,rect:r}}function Kb(e){return pu(e.subtype,e),J_(e)}function Vb(e,t={}){return uu(e),xb($_(Q_(V_(T_(W_(e)),t.describeFont))))}var mt=class extends g{constructor(e,t){super(f.InvalidArg,`invalid scope "${e}": ${t}`,{details:{scope:e,reason:t}}),this.scope=e,xe(this,"name","InvalidScope")}},je=class extends g{constructor(e,t,r,n){super(f.Forbidden,`permission denied${t?` (${t})`:""}: ${r?`one of ${r.join(", ")}`:e}${n?` for ${n.length} annotation${n.length===1?"":"s"}`:""}`,{details:{required:e,...t===void 0?{}:{context:t},...r===void 0?{}:{anyOf:[...r]},...n===void 0?{}:{refs:[...n]}}}),this.required=e,this.context=t,this.anyOf=r,this.refs=n,xe(this,"name","PermissionDenied")}};var ji=class extends g{constructor(e){super(f.Aborted,ey(e)),xe(this,"name","AbortError"),xe(this,"reason",void 0),this.reason=e}};function ey(e){if(e==null)return"aborted";if(typeof e=="string")return e;if(e instanceof Error)return e.message||"aborted";try{return JSON.stringify(e)}catch{return"aborted"}}var Yb;Yb=Symbol.species;var ty=class fA extends Promise{static get[Yb](){return Promise}constructor(t){let r=new AbortController,n=new Set,i={settled:!1},a;super((o,s)=>{a=s,t(m=>{i.settled||(i.settled=!0,o(m))},m=>{i.settled||(i.settled=!0,s(m))},m=>{if(!i.settled)for(let F of n)try{F(m)}catch{}},r.signal)}),xe(this,"signal",void 0),xe(this,"_ctrl",void 0),xe(this,"_progressCbs",void 0),xe(this,"_state",void 0),xe(this,"_internalReject",void 0),this._ctrl=r,this.signal=r.signal,this._progressCbs=n,this._state=i,this._internalReject=a}abort(t){if(this._state.settled||this._ctrl.signal.aborted)return;let r=t instanceof ji?t:new ji(t);this._state.settled=!0,this._ctrl.abort(r),this._internalReject(r)}abortWith(t){if(t.aborted)return this.abort(t.reason),this;let r=()=>this.abort(t.reason);t.addEventListener("abort",r,{once:!0});let n=()=>t.removeEventListener("abort",r);return Promise.prototype.then.call(this,n,n),this}onProgress(t){return this._progressCbs.add(t),()=>{this._progressCbs.delete(t)}}static resolveValue(t){return new fA(r=>r(t))}static rejectReason(t){return new fA((r,n)=>n(t))}static run(t){return new fA((r,n,i,a)=>{t(a,i).then(r,n)})}};function FA(e,t){let{includeAnnotations:r,includeFormFields:n}=e??{};if(r===!0&&!t.annotations)throw new je("doc.annotate.read","includeAnnotations");if(n===!0&&!t.formFields)throw new je("doc.forms.read","includeFormFields");return{includeAnnotations:r??t.annotations,includeFormFields:n??(r===!1?!1:t.formFields)}}function bu(e,t){let{usage:r,viewport:n}=e??{};if(r===void 0||r==="display"){if(n?.kind==="dpi"&&$a("viewport",'a dpi viewport is only for a print picture (usage: "print")'),n?.kind==="thumbnail"){if(e?.target!==void 0&&e.target.kind!=="page"&&$a("target","a thumbnail is the whole page: it takes no target"),t!==null&&!t.thumbnail)throw new je("doc.render.thumbnail","viewport");return}if(t!==null&&!t.render)throw new je("doc.render","usage");return}r!=="print"&&$a("usage",'usage must be "display" or "print"'),(n?.kind!=="dpi"||n.dpi!==150&&n.dpi!==300)&&$a("viewport","a print picture needs viewport: { kind: 'dpi', dpi: 150 or 300 }");for(let i of["target","rotation","background"])e?.[i]!==void 0&&$a(i,`a print picture takes no ${i}: it is the whole page, upright, on white`);if(t!==null){if(!t.print)throw new je("doc.print","usage");if(n.dpi===300&&!t.printHigh)throw new je("doc.print.high","viewport")}}function $a(e,t){throw new g(f.InvalidArg,t,{details:{field:e}})}var lu=["normal","rollover","down"];function fu(e){if(e===void 0)return;if(e.length===0)throw new g(f.InvalidArg,"modes must name at least one mode",{details:{field:"modes"}});let t=lu.filter(r=>e.includes(r));return t.length===lu.length?void 0:t}var Xb="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",mu=61,Tr=Uint8Array.from(Xb,e=>e.charCodeAt(0)),ny=(()=>{let e=new Int16Array(128).fill(-1);for(let t=0;t<64;t++)e[Xb.charCodeAt(t)]=t;return e})();function Wb(e){let t=new Uint8Array(4*Math.ceil(e.length/3)),r=0,n=0;for(;n+2>18],t[r++]=Tr[a>>12&63],t[r++]=Tr[a>>6&63],t[r++]=Tr[a&63]}let i=e.length-n;if(i>0){let a=e[n]<<16|(i===2?e[n+1]<<8:0);t[r++]=Tr[a>>18],t[r++]=Tr[a>>12&63],t[r++]=i===2?Tr[a>>6&63]:mu,t[r++]=mu}return new TextDecoder().decode(t)}function Ub(e){let t=zb(e);return t%4===1?null:Math.floor(t*3/4)}function qb(e){let t=zb(e);if(t%4===1)throw new Error("malformed base64");let r=new Uint8Array(Math.floor(t*3/4)),n=0,i=0,a=0;for(let o=0;o=8&&(a-=8,r[n++]=i>>a&255)}return r}function zb(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===mu;)t-=1;return t}var Zb=(e,t,r)=>Math.min(Math.max(Math.floor(e),t),r);function ry(e,t){let r=0,n=e.length-1,i=null;for(;r<=n;){let a=r+n>>1;e[a][0]<=t?(i=e[a],r=a+1):n=a-1}return i??[0,0]}function wu(e,t){let r=Zb(t,0,e.charCount),n=e.charMap;if(!n||n.length===0)return Math.min(r,e.text.length);let[i,a]=ry(n,r);return a+(r-i)}function gA(e,t,r){let n=Zb(t,0,e.text.length),i=0,a=e.charCount;if(r==="start"){for(;i>1;wu(e,o)>=n?a=o:i=o+1}return i}function gu(e,t){let r=t.start,n=t.start+t.count;if(n<=r)return{start:gA(e,r,"end"),count:0};let i=gA(e,r,"start");return{start:i,count:gA(e,n,"end")-i}}function Jb(e){return e>=64976&&e<=65007||(e&65534)===65534}var iy=/[\r\p{Noncharacter_Code_Point}]/u;function Fu(e){let{text:t,charCount:r}=e;if(!iy.test(t))return e;let n=e.charMap??[],i=[],a=[],o=0,s=0,A=0;for(let p=0;p0?{text:d,charCount:r,charMap:a}:{text:d,charCount:r}}function ay(e,t){return e==="\r"?t===` `?"":` -`:e!==""&&xb(e.codePointAt(0))?"":e}function Au(e,t,r){if(!r||r.length===0)return e===t?null:`identity map requires charCount (${e}) === text length (${t})`;let n=0,i=0;for(let o=0;oe)return`anchor ${o} char ${s} outside [1, ${e}]`;let d=A-(i+(s-n-1));if(d!==0&&d!==2)return`anchor ${o} implies a character contributing ${d} text units (expected 0 or 2)`;n=s,i=A}let a=i+(e-n);return a!==t?`map projects charCount to ${a}, but text length is ${t}`:null}function Rr(e){return e==="start"||e==="end"?null:"before"in e?e.before:e.after}function $a(e,t,r){if(t==="start")return 0;if(t==="end")return e.length;let n=Rr(t),i=e.findIndex(a=>r(a)===r(n));if(i<0)throw new g(f.NotFound,`no neighbour ${r(n)} in the list`,{details:{field:"position"}});return"before"in t?i:i+1}function mA(e,t,r,n){let i=new Set(t.map(n));if(i.size!==t.length)throw new g(f.InvalidArg,"a row is named twice",{details:{field:"refs"}});let a=new Set(e.map(n)),o=t.find(p=>!a.has(n(p)));if(o!==void 0)throw new g(f.NotFound,`no row ${n(o)} in the list`,{details:{field:"refs"}});let s=Rr(r);if(s!==null&&i.has(n(s)))throw new g(f.InvalidArg,`the neighbour ${n(s)} is one of the rows that move`,{details:{field:"position"}});let A=e.filter(p=>!i.has(n(p))),d=$a(A,r,n);return[...A.slice(0,d),...t,...A.slice(d)]}var cu={long:842,short:612};function Kb(e,t){let r=Math.max(e.width,e.height),n=Math.min(e.width,e.height),i=Math.min(1,cu.long/r,cu.short/n);return t/72*i}function du(e,t,r){let n=t===90||t===270,i=n?e.height:e.width,a=n?e.width:e.height;if(r.kind==="width"){if(!Number.isFinite(r.width)||r.width<=0)throw new g(f.InvalidArg,"render viewport width must be positive");let s=Math.max(1,Math.round(r.width));return{width:s,height:Math.max(1,Math.round(s*a/i))}}let o=r.kind==="dpi"?Kb(e,r.dpi):r.kind==="thumbnail"?512/Math.max(e.width,e.height):r.scale??1;if(!Number.isFinite(o)||o<=0)throw new g(f.InvalidArg,"render viewport scale must be positive");return{width:Math.max(1,Math.round(i*o)),height:Math.max(1,Math.round(a*o))}}function uu(e,t,r,n){let{x:i,y:a}=e,o=e.width,s=e.height;switch(t){case 0:return[r/o,0,0,n/s,-r/o*i,-n/s*a];case 90:return[0,n/o,-r/s,0,r/s*(a+s),-n/o*i];case 180:return[-r/o,0,0,-n/s,r/o*(i+o),n/s*(a+s)];case 270:return[0,-n/o,r/s,0,-r/s*a,n/o*(i+o)]}}function It(e,t){return{x:e.x-t.left,y:t.top-e.y}}function St(e,t){return{x:e.x+t.left,y:t.top-e.y}}function Je(e,t){return{x:e.left-t.left,y:t.top-e.top,width:e.right-e.left,height:e.top-e.bottom}}function Li(e,t){let r=e.x+t.left,n=t.top-e.y;return{left:r,right:r+e.width,bottom:n-e.height,top:n}}function Ja(e,t){return{upperLeft:It(e.upperLeft,t),upperRight:It(e.upperRight,t),lowerLeft:It(e.lowerLeft,t),lowerRight:It(e.lowerRight,t)}}function Vb(e,t){return{upperLeft:St(e.upperLeft,t),upperRight:St(e.upperRight,t),lowerLeft:St(e.lowerLeft,t),lowerRight:St(e.lowerRight,t)}}function pu(e){return"rotation"in e}function ht(e){return{kind:"objectNumber",objectNumber:e}}function eo(e){if(e.byteLength<4)return null;let t=new Uint8Array(e);return t[0]===137&&t[1]===80&&t[2]===78&&t[3]===71?C_(e):t[0]===255&&t[1]===216&&t[2]===255?I_(e):t[0]===37&&t[1]===80&&t[2]===68&&t[3]===70?{mimeType:"application/pdf"}:null}function C_(e){if(e.byteLength<24)return null;let t=new DataView(e),r=t.getUint32(16),n=t.getUint32(20);return r===0||n===0?null:{mimeType:"image/png",width:r,height:n}}function I_(e){let t=new Uint8Array(e),r=2;for(;r+4=192&&n<=195){if(r+9>t.byteLength)return null;let i=new DataView(e,r+5),a=i.getUint16(0),o=i.getUint16(2);return o===0||a===0?null:{mimeType:"image/jpeg",width:o,height:a}}if(n===216||n===217)r+=2;else if(n===255)r+=1;else{let i=t[r+2]<<8|t[r+3];r+=2+i}}return null}var lu=["appearance","file"];function wA(e,t,r){let n=Ri[e]??{};for(let i of lu){let a=t?.[i]!==void 0;if(a&&n[i]===void 0)throw new g(f.InvalidArg,`a ${e} annotation takes no '${i}' resource`);if(!a&&r==="create"&&n[i]==="required")throw new g(f.InvalidArg,`creating a ${e} annotation needs its '${i}' resource`)}}var bn=Object.freeze({bundleBytes:50*1024*1024,manifestBytes:16*1024*1024,items:1e4,pages:2e3,resources:2e3,resourceBytes:50*1024*1024,imagePixels:4e7});function Tr(e){return new TextEncoder().encode(JSON.stringify(e)).length}function Ie(e,t,r,n){let i=t[r];if(!(n<=i))throw new g(f.PayloadTooLarge,`the ${e} bundle is past its ${r} limit: ${n} > ${i}`,{details:{limit:r,max:i,value:n}})}var S_=81,x_=256,H_={annotation:"an annotation bundle",form:"a form bundle"};function bA(e){let t=r=>new g(f.InvalidArg,`the file is not ${H_[e.kind]}`,r===void 0?void 0:{cause:r});return{stringify(r,n){let i=n?.limits??bn,a=new Map;for(let[A,d]of Object.entries(r.resources))a.set(A,d.length);e.assertManifest(r,a,i);let o={};for(let A of e.keys)o[A]=r[A];let s={};for(let[A,d]of Object.entries(r.resources))s[A]=yb(d);return o.resources=s,JSON.stringify(o)},async parse(r,n){let i=n?.limits??bn,a=Math.ceil(i.bundleBytes*4/3)+i.resources*S_+x_;if(r.length>a)throw new g(f.PayloadTooLarge,`the file is ${r.length} characters, more than a bundle within ${i.bundleBytes} bytes can be`,{details:{limit:"bundleBytes",max:i.bundleBytes,fileLength:r.length}});let o;try{o=JSON.parse(r)}catch(m){throw t(m)}let s=typeof o=="object"&&o!==null?o.resources:null;if(typeof s!="object"||s===null||Array.isArray(s))throw t();let A=new Map;for(let[m,F]of Object.entries(s)){let k=typeof F=="string"?Gb(F):null;if(k===null)throw new g(f.InvalidArg,`resource ${m} is not base64`);A.set(m,k)}e.assertManifest(o,A,i);let d={};for(let[m,F]of Object.entries(s))try{d[m]=Cb(F)}catch(k){throw new g(f.InvalidArg,`resource ${m} is not base64`,{cause:k})}await Yd(e.kind,d);let p={};for(let m of e.keys)p[m]=o[m];return p.resources=d,p}}}var Yb=["format","version","pages","items"],O_=[...Yb,"resources"],Q_=["data","resources"];function fA(e,t,r){Ve(e)||De("annotation","not an annotation bundle"),rr("annotation","the bundle",e,O_),e.format!=="embedpdf/annotations"&&De("annotation",`unknown format ${JSON.stringify(e.format)}`),e.version!==1&&De("annotation",`unknown version ${JSON.stringify(e.version)}`);let{pages:n,items:i}=e;Array.isArray(n)||De("annotation","pages is not a list"),Array.isArray(i)||De("annotation","items is not a list"),Ie("annotation",r,"items",i.length),Ie("annotation",r,"pages",n.length),Ie("annotation",r,"resources",t.size);let a=Tr({pages:n,items:i});Ie("annotation",r,"manifestBytes",a);for(let A of t.values())Ie("annotation",r,"resourceBytes",A),a+=A;Ie("annotation",r,"bundleBytes",a);let o=eA("annotation",n),s=new Set;i.forEach((A,d)=>{(!Ve(A)||!Ve(A.data)||typeof A.data.subtype!="string")&&De("annotation",`item ${d} has no annotation data`),rr("annotation",`item ${d}`,A,Q_);let p=A.data.ref,m=Ve(p)?p.page:void 0;(!Ua(m)||!o.has(fe(m)))&&De("annotation",`item ${d} is on a page the bundle doesn't list`),tA("annotation",`item ${d}`,A.resources,lu,t,s)}),nA("annotation","item",t,s)}var R_=bA({kind:"annotation",keys:Yb,assertManifest:fA}),T_={decodedBytes:256*1024*1024};function gA(e){return{kind:"key",key:e}}var M_=new Set(["square","circle","free-text","stamp","caret"]);function mu(e){let{subtype:t,rect:r,box:n,rotation:i,intent:a}=e;return!M_.has(t)||!n||!i||t==="free-text"&&a==="free-text-callout"?null:Sr(wn(n,i),r)?i:null}var Xb=(e,t)=>typeof t=="function"?t(e):t,lA=(e,t)=>e===null?null:t(e);function Rn(e,t){let{left:r,top:n}=Xb(e.page,t),i=o=>lA(o,s=>s-r),a=o=>lA(o,s=>n-s);switch(e.kind){case"xyz":{let{left:o,top:s,...A}=e;return{...A,x:i(o),y:a(s)}}case"fitH":case"fitBH":{let{top:o,...s}=e;return{...s,y:a(o)}}case"fitV":case"fitBV":{let{left:o,...s}=e;return{...s,x:i(o)}}case"fitR":{let{left:o,bottom:s,right:A,top:d,...p}=e,m=Math.min(s,d),F=Math.max(s,d);return{...p,x:Math.min(o,A)-r,y:n-F,width:Math.abs(A-o),height:F-m}}case"fit":case"fitB":return e}}function Or(e,t){let{left:r,top:n}=Xb(e.page,t),i=o=>lA(o,s=>s+r),a=o=>lA(o,s=>n-s);switch(e.kind){case"xyz":{let{x:o,y:s,...A}=e;return{...A,left:i(o),top:a(s)}}case"fitH":case"fitBH":{let{y:o,...s}=e;return{...s,top:a(o)}}case"fitV":case"fitBV":{let{x:o,...s}=e;return{...s,left:i(o)}}case"fitR":{let{x:o,y:s,width:A,height:d,...p}=e,m=n-s;return{...p,left:o+r,bottom:m-d,right:o+r+A,top:m}}case"fit":case"fitB":return e}}function to(e,t){return e.kind==="goto"?{...e,destination:t(e.destination)}:e}function wu(e,t){let r=e.next.map(n=>wu(n,t));return e.type==="goto"?{...e,next:r,destination:t(e.destination)}:{...e,next:r}}function Qr(e,t){return{...e,root:e.root?wu(e.root,t):null}}function Wb(e,t){let r=e.next?.map(i=>Wb(i,t)),n=e.type==="goto"?{...e,destination:t(e.destination)}:e;return r?{...n,next:r}:n}function FA(e,t){return Object.fromEntries(Object.entries(e).map(([r,n])=>n==null?[r,n]:[r,"root"in n?Qr(n,t):Wb(n,t)]))}function bu(e,t){return Object.fromEntries(Object.entries(e).map(([r,n])=>[r,n&&Qr(n,t)]))}function fu(e,t){return bu(e,t)}function gu(e,t){return bu(e,t)}function Fu(e,t){let{nameTreeScripts:r,openAction:n,openDestination:i,...a}=e;return{...bu(a,t),nameTreeScripts:r.map(o=>({...o,action:Qr(o.action,t)})),openAction:n?Qr(n,t):null,..."openDestination"in e?{openDestination:i&&t(i)}:{}}}var Ub=(e,t)=>e.subtype==="rectilinear"&&e.origin?{...e,origin:t(e.origin)}:e;function vu(e,t){return Ub(e,r=>It(r,t))}function vA(e,t){return Ub(e,r=>St(r,t))}function Pu(e,t){return e.map(r=>({...r,bbox:Je(r.bbox,t),measure:r.measure?vu(r.measure,t):null}))}var L_={length:e=>e,point:(e,{visible:t})=>It(e,t),points:(e,{visible:t})=>e.map(r=>It(r,t)),strokes:(e,{visible:t})=>e.map(r=>r.map(n=>It(n,t))),box:(e,{visible:t})=>Je(e,t),quads:(e,{visible:t})=>e.map(r=>Ja(r,t)),linePoints:(e,{visible:t})=>({start:It(e.start,t),end:It(e.end,t)}),calloutLine:(e,{visible:t})=>e.map(r=>It(r,t)),measure:(e,{visible:t})=>vu(e,t),linkTarget:(e,{boxOf:t})=>to(e,r=>Rn(r,t)),actions:(e,{boxOf:t})=>FA(e,r=>Rn(r,t))},hu={length:e=>e,point:(e,{visible:t})=>St(e,t),points:(e,{visible:t})=>e.map(r=>St(r,t)),strokes:(e,{visible:t})=>e.map(r=>r.map(n=>St(n,t))),box:(e,{visible:t})=>Li(e,t),quads:(e,{visible:t})=>e.map(r=>Vb(r,t)),linePoints:(e,{visible:t})=>({start:St(e.start,t),end:St(e.end,t)}),calloutLine:(e,{visible:t})=>e.map(r=>St(r,t)),measure:(e,{visible:t})=>vA(e,t),linkTarget:(e,{boxOf:t})=>to(e,r=>Or(r,t)),actions:(e,{boxOf:t})=>FA(e,r=>Or(r,t))},N_=e=>e===void 0?ib:nr[e]??nr.unsupported;function ku(e,t,r,n){let i=N_(e);return Object.fromEntries(Object.entries(t).map(([a,o])=>{let s=i[a];if(!s||o==null)return[a,o];let A=n[s](o,r);if(n===hu&&qb(A))throw j_(a,s);return[a,A]}))}function qb(e){return typeof e=="number"?Number.isNaN(e):typeof e!="object"||e===null?!1:Object.values(e).some(qb)}function j_(e,t){let r=t==="box"?"{ x, y, width, height }":"points as { x, y }";return new g(f.InvalidArg,`field '${e}': expected page space, ${r} from the page's top-left`,{details:{field:e}})}function Mr(e,t,r){return ku(e.subtype,e,{visible:t,boxOf:r},L_)}function no(e,t,r){return ku(e.subtype,e,{visible:t,boxOf:r},hu)}function Lr(e,t,r){return ku(e.subtype,e,{visible:t,boxOf:r},hu)}var Hb=e=>!!(e.space||e.empty),Ni=e=>!!e.empty,K_=2.5,V_=1.5,Y_=.8,X_=.5,W_=Math.cos(.0087),zb=1e-6;function Du(e){let t=z_(e),r=t.glyphs.length,n=a=>typeof a!="number"?Tb(t,a):Number.isInteger(a)&&a>=0&&a({start:a,count:o-a+1});return{charCount:r,runs:e.runs,charAt:a=>Tb(t,a),wordAt:a=>{let o=n(a);return o===null?null:i($_(t,o))},lineAt:a=>{let o=n(a);return o===null?null:i(ey(t,o))},segments:a=>ny(t,a.start,a.count),charQuad:a=>ty(t,a)}}var U_={baseline:{x:1,y:0},ascent:{x:0,y:1}},Zb=(e,t)=>({x:t.x*e.baseline.x+t.y*e.baseline.y,y:t.x*e.ascent.x+t.y*e.ascent.y}),pA=(e,t)=>({x:e.baseline.x*t.x+e.ascent.x*t.y,y:e.baseline.y*t.x+e.ascent.y*t.y}),Ob={left:0,bottom:0,right:0,top:0};function Qb(e,t){let r=[t.upperLeft,t.upperRight,t.lowerLeft,t.lowerRight].map(a=>Zb(e,a)),n=r.map(a=>a.x),i=r.map(a=>a.y);return{left:Math.min(...n),bottom:Math.min(...i),right:Math.max(...n),top:Math.max(...i)}}function q_(e,t){let r=t.glyphs.find(F=>!Ni(F));if(!r)return 0;let n=r.loose,i=n.upperRight.x-n.upperLeft.x,a=n.upperRight.y-n.upperLeft.y,o=Math.hypot(i,a);if(o<=zb)return 0;let s={x:i/o,y:a/o},A=n.upperLeft.x-n.lowerLeft.x,d=n.upperLeft.y-n.lowerLeft.y,p=s.x*d-s.y*A>=0?1:-1,m={x:-s.y*p,y:s.x*p};for(let F=0;F0;if(P>=W_&&B)return F}return e.push({baseline:s,ascent:m}),e.length-1}function z_(e){let t=[],r=[],n=[U_];for(let i of e.runs){if(!pu(i)){for(let A of i.glyphs)t.push({loose:A.loose,tight:A.tight,space:A.space,empty:A.empty});r.push({start:i.start,count:i.glyphs.length,rect:i.rect,fontSize:i.fontSize,frame:0});continue}let a=q_(n,i),o=n[a],s=null;for(let A of i.glyphs){if(Ni(A)){t.push({loose:Ob,space:A.space,empty:!0});continue}let d=Qb(o,A.loose),p=A.tight?Qb(o,A.tight):void 0;t.push({loose:d,tight:p,space:A.space}),s=s?{left:Math.min(s.left,d.left),bottom:Math.min(s.bottom,d.bottom),right:Math.max(s.right,d.right),top:Math.max(s.top,d.top)}:d}r.push({start:i.start,count:i.glyphs.length,rect:s??Ob,fontSize:i.fontSize,frame:a})}return{glyphs:t,runs:r,frames:n}}var Rb=(e,t)=>t.x>=e.left&&t.x<=e.right&&t.y>=e.bottom&&t.y<=e.top;function Z_(e){let t=0,r=0;for(let n of e.glyphs)Ni(n)||(t+=n.loose.top-n.loose.bottom,r++);return r===0?0:t/r}function J_(e,t){return e.frames.map((r,n)=>n===0?t:Zb(r,t))}function Tb(e,t,r=1.5){let n=J_(e,t);for(let s of e.runs){let A=n[s.frame];if(Rb(s.rect,A))for(let d=0;dd.right+i||A.yd.top+i))for(let p=0;pF.right+i||A.yF.top+i)continue;let k=Math.min(Math.abs(A.x-F.left),Math.abs(A.x-F.right)),P=Math.min(Math.abs(A.y-F.bottom),Math.abs(A.y-F.top));k+P=0?a:null}function $_(e,t){let r=e.glyphs.length;if(t<0||t>=r)return[t,t];let n=t;for(;n>0&&!Hb(e.glyphs[n-1]);)n--;let i=t;for(;it>=A.start&&t=0;A--){let d=e.runs[A];if(!Mb(d.rect)){if(d.frame!==n.frame||!Lb(d.rect.bottom,d.rect.top,i,a))break;o=d.start}}for(let A=r+1;At>=o.start&&ti)continue;let A=Math.max(n,o.start),d=Math.min(i,s),p=1/0,m=-1/0,F=1/0,k=-1/0,P=0,B=0,y=-1/0,x=0,I=0,S=()=>{P>0&&p!==1/0&&a.push({rect:{left:p,bottom:F,right:m,top:k},charCount:P,fontSize:o.fontSize,frame:o.frame,firstX:x,lastX:I}),p=1/0,m=-1/0,F=1/0,k=-1/0,P=0,B=0,y=-1/0};for(let G=A;G<=d;G++){let T=e.glyphs[G];if(Ni(T))continue;let W=T.loose;if(P>0&&y>-1/0){let be=B/P;be>0&&Math.abs(W.left-y)>K_*be&&S()}let Pe=(W.left+W.right)/2;P===0&&(x=Pe),I=Pe,p=Math.min(p,W.left),m=Math.max(m,W.right),F=Math.min(F,W.bottom),k=Math.max(k,W.top),P++,B+=W.right-W.left,y=W.right}S()}return ry(a).map(o=>iy(e,o))}function ry(e){let t=[],r=null,n=null;for(let i of e)r&&n&&r.frame===i.frame&&ay(r,i)?n={rect:{left:Math.min(n.rect.left,i.rect.left),bottom:Math.min(n.rect.bottom,i.rect.bottom),right:Math.max(n.rect.right,i.rect.right),top:Math.max(n.rect.top,i.rect.top)},frame:n.frame,firstX:n.firstX,lastX:i.lastX}:(n&&t.push(n),n={rect:i.rect,frame:i.frame,firstX:i.firstX,lastX:i.lastX}),r=i;return n&&n.rect.right>n.rect.left&&n.rect.top>n.rect.bottom&&t.push(n),t}function Jb(e,t,r){return t===0?{upperLeft:{x:r.left,y:r.top},upperRight:{x:r.right,y:r.top},lowerLeft:{x:r.left,y:r.bottom},lowerRight:{x:r.right,y:r.bottom}}:{upperLeft:pA(e,{x:r.left,y:r.top}),upperRight:pA(e,{x:r.right,y:r.top}),lowerLeft:pA(e,{x:r.left,y:r.bottom}),lowerRight:pA(e,{x:r.right,y:r.bottom})}}function iy(e,t){let r=e.frames[t.frame],n=Jb(r,t.frame,t.rect);return{quad:n,rect:t.frame===0?t.rect:{left:Math.min(n.upperLeft.x,n.upperRight.x,n.lowerLeft.x,n.lowerRight.x),bottom:Math.min(n.upperLeft.y,n.upperRight.y,n.lowerLeft.y,n.lowerRight.y),right:Math.max(n.upperLeft.x,n.upperRight.x,n.lowerLeft.x,n.lowerRight.x),top:Math.max(n.upperLeft.y,n.upperRight.y,n.lowerLeft.y,n.lowerRight.y)},advance:t.lastX>=t.firstX?1:-1}}function ay(e,t){if(e.fontSize!=null&&t.fontSize!=null&&e.fontSize>0&&t.fontSize>0&&Math.max(e.fontSize,t.fontSize)/Math.min(e.fontSize,t.fontSize)>V_||oy(e.rect,t.rect)o}function oy(e,t){let r=e.top-e.bottom,n=t.top-t.bottom;if(r<=0||n<=0)return 0;let i=Math.max(e.top,t.top)-Math.min(e.bottom,t.bottom);return i===r||i===n?1:Math.max(0,Math.min(e.top,t.top)-Math.max(e.bottom,t.bottom))/i}var Mb=e=>e.right===e.left&&e.top===e.bottom;function Lb(e,t,r,n){let i=Math.max(t,n)-Math.min(e,r);return i===0?!1:Math.max(0,Math.min(t,n)-Math.max(e,r))/i>=X_}var Nb={x:0,y:0,width:0,height:0};var sy={upperLeft:{x:0,y:0},upperRight:{x:0,y:0},lowerLeft:{x:0,y:0},lowerRight:{x:0,y:0}},Ay=e=>e.glyphs.some(t=>!t.empty);function Bu(e,t){return{...e,runs:e.runs.map(r=>{let n=Ay(r)?Je(r.rect,t):Nb;return pu(r)?{...r,rect:n,glyphs:r.glyphs.map(({loose:i,tight:a,...o})=>({...o,loose:o.empty?sy:Ja(i,t),...a?{tight:Ja(a,t)}:{}}))}:{...r,rect:n,glyphs:r.glyphs.map(({loose:i,tight:a,...o})=>({...o,loose:o.empty?Nb:Je(i,t),...a?{tight:Je(a,t)}:{}}))}})}}function $b(e,t){return{...e,quad:Ja(e.quad,t),rect:Je(e.rect,t)}}function Eu(e,t){return{...e,matches:e.matches.map(r=>{let n=t(r.page);return{...r,segments:r.segments.map(i=>$b(i,n))}})}}var jb=/\s/,cy=/\p{M}/gu,dy=/^(?![\t\n\v\f\r])[\p{Cf}\p{Cc}\p{Noncharacter_Code_Point}]$/u;function ir(e,t={}){let r=[],n=[],i=!1,a=0;for(let o of e){if(dy.test(o)){a+=o.length;continue}let s;jb.test(o)?s=" ":(s=o.normalize("NFKD"),t.keepMarks||(s=s.replace(cy,"")),t.keepCase||(s=s.toUpperCase().toLowerCase()));for(let A=0;A=55296&&r<=56319&&t+1=56320&&n<=57343)return 2}return 1}function PA(e,t,r){let n=e.map[t],i=e.map[t+r-1];return{start:n,count:i+uy(e.original,i)-n}}var py={pt:.0254/72,mm:.001,cm:.01,m:1,km:1e3,in:.0254,ft:.3048,yd:.9144,mi:1609.344};var DA=8388607,_u=8e6;var ef=["format","version","pages","fields","widgets","calculationOrder"],ly=[],my=[...ef,"resources"],wy=["data"],by=["data","resources"];function ro(e,t,r){Ve(e)||De("form","not a form bundle"),rr("form","the bundle",e,my),e.format!=="embedpdf/form"&&De("form",`unknown format ${JSON.stringify(e.format)}`),e.version!==1&&De("form",`unknown version ${JSON.stringify(e.version)}`);let{pages:n,fields:i,widgets:a,calculationOrder:o}=e;Array.isArray(n)||De("form","pages is not a list"),Array.isArray(i)||De("form","fields is not a list"),Array.isArray(a)||De("form","widgets is not a list"),Array.isArray(o)||De("form","calculationOrder is not a list"),Ie("form",r,"items",i.length+a.length),Ie("form",r,"pages",n.length),Ie("form",r,"resources",t.size);let s=Tr({pages:n,fields:i,widgets:a,calculationOrder:o});Ie("form",r,"manifestBytes",s);for(let p of t.values())Ie("form",r,"resourceBytes",p),s+=p;Ie("form",r,"bundleBytes",s);let A=eA("form",n);i.forEach((p,m)=>{(!Ve(p)||!Ve(p.data)||typeof p.data.kind!="string"||typeof p.data.name!="string"||!Ve(p.data.ref))&&De("form",`field ${m} has no field data`),rr("form",`field ${m}`,p,wy)});let d=new Set;a.forEach((p,m)=>{(!Ve(p)||!Ve(p.data)||p.data.subtype!=="widget")&&De("form",`widget ${m} has no widget data`),rr("form",`widget ${m}`,p,by);let F=p.data.ref,k=Ve(F)?F.page:void 0;(!Ua(k)||!A.has(fe(k)))&&De("form",`widget ${m} is on a page the bundle doesn't list`),tA("form",`widget ${m}`,p.resources,ly,t,d)}),o.forEach((p,m)=>{Ve(p)||De("form",`calculation order entry ${m} is not a field ref`)}),nA("form","widget",t,d)}var fy=bA({kind:"form",keys:ef,assertManifest:ro});function BA(e){return{keepCase:!!e.matchCase,keepMarks:!!e.matchDiacritics,dropWhitespace:!!e.ignoreWhitespace}}var tf=/[\p{L}\p{N}_]/u,gy=/\p{M}/u;function hA(e,t){if(t<=0)return!1;let r=e.charCodeAt(t-1),n=r>=56320&&r<=57343&&t>=2?t-2:t-1;return tf.test(String.fromCodePoint(e.codePointAt(n)))}function kA(e,t){return t>=e.length?!1:tf.test(String.fromCodePoint(e.codePointAt(t)))}function Fy(e,t,r,n){if(!n.ignoreWhitespace)return!hA(e.folded,t)&&!kA(e.folded,t+r);let{start:i,count:a}=PA(e,t,r);return!hA(e.original,i)&&!kA(e.original,i+a)}function EA(e,t){let r=ir(t.text,BA(t)).folded;if(r.trim().length===0)return[];let n=[],i=0;for(;i<=e.folded.length-r.length;){let a=e.folded.indexOf(r,i);if(a<0)break;if(t.wholeWord&&!Fy(e,a,r.length,t)){i=a+1;continue}if(t.matchDiacritics&&a+r.length512)return{ok:!1,issue:"too-long",message:"Pattern exceeds 512 characters."};let t=!1;for(let r=0;r="1"&&i<="9")return{ok:!1,issue:"backreference",message:`Backreference \\${i} is not supported.`};if(!t&&i==="k"&&e[r+2]==="<")return{ok:!1,issue:"backreference",message:"Named backreferences (\\k<\u2026>) are not supported."};r++;continue}if(t){n==="]"&&(t=!1);continue}if(n==="["){t=!0;continue}if(n==="("&&e[r+1]==="?"){let i=e[r+2]??"";if(i==="="||i==="!")return{ok:!1,issue:"lookaround",message:"Lookahead ((?=\u2026), (?!\u2026)) is not supported."};if(i==="<"&&(e[r+3]==="="||e[r+3]==="!"))return{ok:!1,issue:"lookaround",message:"Lookbehind ((?<=\u2026), (?=55296&&o<=56319?2:1;continue}t.wholeWord&&(hA(e,a.index)||kA(e,a.index+a[0].length))||i.push({start:a.index,count:a[0].length})}return i}var Vi={items:5e4,depth:128};function Cu(e,t){let r;for(let i of e){if(i.firstPage>t)break;r=i}if(!r)return null;let n=r.prefix+Py(r.style,r.firstNumber+t-r.firstPage);return n===""?null:n}function GA(e,t,r){if(e.length===0||r.length===0)return e;let n=new Set(r),i=[0];for(let s=0;si[Math.min(Math.max(s,0),t)],o=[];return e.forEach((s,A)=>{let d=e[A+1]?.firstPage??t;if(a(d)===a(s.firstPage))return;let p=a(s.firstPage);o.push(p===s.firstPage?s:{...s,firstPage:p})}),so(o,e)?e:o}function oo(e,t,r){if(r<=0)return e;let n=!1,i=e.map(a=>a.firstPage===0||a.firstPage{let i=t[n];return r.firstPage===i.firstPage&&r.style===i.style&&r.firstNumber===i.firstNumber&&r.prefix===i.prefix})}var vy=[[1e3,"m"],[900,"cm"],[500,"d"],[400,"cd"],[100,"c"],[90,"xc"],[50,"l"],[40,"xl"],[10,"x"],[9,"ix"],[5,"v"],[4,"iv"],[1,"i"]];function Py(e,t){switch(e){case null:return"";case"decimal":return String(t);case"upperRoman":return rf(t).toUpperCase();case"lowerRoman":return rf(t);case"upperLetters":return af(t).toUpperCase();case"lowerLetters":return af(t)}}function rf(e){let t=e%1e6,r="";for(let[n,i]of vy)for(;t>=n;)r+=i,t-=n;return r}function af(e){if(e<=0)return"";let t=e-1;return String.fromCharCode(97+t%26).repeat((Math.floor(t/26)+1)%1e3)}var hy={text:"{ value }",checkbox:"{ checked } or { value }",radio:"{ value }",combobox:"{ value }",listbox:"{ selectedValues }"};function Ao(e,t){switch(e.kind){case"text":if("value"in t)return{kind:"text",value:t.value??""};break;case"checkbox":if("checked"in t){if(!t.checked)return{kind:"toggle",state:null};let r=e.widgets[0];if(!r)throw ar(`'${e.name}' has no widget to check`);return{kind:"toggle",state:r.onState}}if("value"in t)return{kind:"toggle",state:of(e,t.value)};break;case"radio":if("value"in t){let r=of(e,t.value);if(r===null&&e.noToggleToOff)throw ar(`'${e.name}' must keep a choice: it can't be cleared`);return{kind:"toggle",state:r}}break;case"combobox":if("value"in t)return sf(e,t.value===null?[]:[t.value]);break;case"listbox":if("selectedValues"in t)return sf(e,t.selectedValues);break;default:throw ar(`${e.kind} fields hold no value you can set`)}throw ar(`a ${e.kind} field takes ${hy[e.kind]}, not ${ky(t)}`)}function Su(e,t){let r=o=>new g(f.InvalidArg,o,{details:{field:"defaultValue"}});if(new Set(t).size!==t.length)throw r("the default values must not repeat");if(t.length>1&&!(e.kind==="listbox"&&e.multiSelect))throw r(`a ${e.kind==="listbox"?"list without multiSelect":"dropdown"} has one default`);let n=e.kind==="combobox"&&e.edit===!0,i=new Set(e.options.map(o=>o.value)),a=t.find(o=>!i.has(o));if(a!==void 0&&!n)throw r(`'${a}' is not an option value of the ${e.kind==="listbox"?"list":"dropdown"}`)}function xu(e,t){switch(t.kind){case"text":return e.kind==="text"&&e.value===t.value;case"toggle":return(e.kind==="checkbox"||e.kind==="radio")&&e.widgets.every(r=>r.checked===(r.onState===t.state));case"choice":return e.kind==="combobox"?t.values.length===0?e.value==="":e.value===t.values[0]:e.kind==="listbox"&&e.selectedValues.length===t.values.length&&e.selectedValues.every((r,n)=>r===t.values[n])}}function Hu(e){if(e.valueEntry.kind==="unsupported"||!Yi(e.valueEntry,e.defaultValueEntry))return!1;if(e.kind!=="checkbox"&&e.kind!=="radio")return!0;let t=e.defaultValueEntry,r=t.kind==="scalar"?t.value:null;return e.widgets.every(n=>n.checked===(n.onState===r))}function Yi(e,t){return e.kind!==t.kind?!1:e.kind==="scalar"&&t.kind==="scalar"?e.value===t.value:e.kind==="array"&&t.kind==="array"?e.values.length===t.values.length&&e.values.every((r,n)=>r===t.values[n]):!0}function of(e,t){if(t===null||t==="Off")return null;let r=e.widgets.find(n=>n.exportValue===t);if(!r)throw ar(`no widget of '${e.name}' has the export value '${t}'`);return r.onState}function sf(e,t){if(new Set(t).size!==t.length)throw ar("the values must not repeat");if(e.kind==="listbox"&&!e.multiSelect&&t.length>1)throw ar(`'${e.name}' takes one value (it has no multiSelect)`);let r=new Set(e.options.map(a=>a.value)),n=e.kind==="combobox"&&e.edit&&t.length===1,i=t.find(a=>!r.has(a));if(!n&&i!==void 0)throw ar(`'${i}' is not an option value of '${e.name}'`);return{kind:"choice",values:t}}function ky(e){return"checked"in e?"{ checked }":"selectedValues"in e?"{ selectedValues }":"{ value }"}function ar(e){return new g(f.InvalidArg,e,{details:{field:"value"}})}function co(e,t){let r=e==="checkbox"||e==="radio";return Af(e,Af(e,t,"caption",e==="pushbutton","a push button's"),"checkStyle",r,"a checkbox's or radio button's")}function Af(e,t,r,n,i){if(n||t[r]===void 0)return t;if(t[r]!==null){let s=e==="unknown"?"this widget":`a ${e} field's widget`;throw new g(f.InvalidArg,`'${r}' applies to ${i} widgets, not to ${s}`,{details:{field:r}})}let{[r]:a,...o}=t;return o}function Ou(e,t){let{field:r}=e,n=Ao(r,t);switch(n.kind){case"text":{if(r.kind!=="text")return e;let i=By(n.value,r.maxLength);return i===r.value?e:io({...r,value:i,valueEntry:{kind:"scalar",value:i}},e)}case"toggle":{if(r.kind!=="checkbox"&&r.kind!=="radio")return e;let i=r.widgets.findIndex(a=>a.onState===n.state);return Gu(e,n.state===null?-1:i)}case"choice":return r.kind!=="combobox"&&r.kind!=="listbox"?e:io(Ru(r,n.values),e)}}function Qu(e){let{field:t}=e,r=t.defaultValueEntry;switch(t.kind){case"text":{if(r.kind==="array"||r.kind==="unsupported")throw ji(t);let n=r.kind==="scalar"?r.value:"",i=r.kind==="scalar"?r:{kind:"none"};return io({...t,value:n,valueEntry:i},e)}case"checkbox":case"radio":{if(r.kind==="array"||r.kind==="unsupported")throw ji(t);let n=r.kind==="scalar"?r.value:null;if(n===null||n==="Off")return Gu(e,-1);let i=Ey(t.widgets,n);if(i<0)throw ji(t);return Gu(e,i)}case"combobox":case"listbox":{if(r.kind==="unsupported")throw ji(t);let n=r.kind==="scalar"?[r.value]:r.kind==="array"?[...r.values]:[];if(n.length===1&&n[0]===""&&!yA(t,n)&&(n=[]),!yA(t,n)&&!_y(t,n))throw ji(t);return io(Ru(t,n),e)}default:throw ji(t)}}function CA(e){if((e.kind==="combobox"||e.kind==="listbox")&&e.defaultValue!==void 0){let t=Array.isArray(e.defaultValue)?e.defaultValue:[e.defaultValue];Su({...e,options:e.options??[]},t)}switch(e.kind){case"text":case"combobox":return e.defaultValue!==void 0?Ki(e.defaultValue):ao();case"listbox":return Tu(uf((e.options??[]).map(lf),e.defaultValue??[]));default:return ao()}}function IA(e,t){let r=t,n={...e.field};if(t.name!==void 0){let o=n.name.lastIndexOf(".");n.name=o<0?t.name:`${n.name.slice(0,o+1)}${t.name}`}for(let o of Dy)typeof r[o]=="boolean"&&o in n&&(n[o]=r[o]);if(t.alternateName!==void 0&&(n.alternateName=t.alternateName||null),t.mappingName!==void 0&&(n.mappingName=t.mappingName||null),t.groupId!==void 0&&(n.groupId=t.groupId),n.kind==="text"&&("maxLength"in t&&t.maxLength!==void 0&&(n.maxLength=t.maxLength),"defaultValue"in t&&t.defaultValue!==void 0)){let o=t.defaultValue;n.defaultValue=o??"",n.defaultValueEntry=o===null?ao():Ki(o)}let i=!1;if((n.kind==="combobox"||n.kind==="listbox")&&("options"in t&&t.options&&(n=yy(n,t.options.map(lf)),i=!0),"defaultValue"in t&&t.defaultValue!==void 0)){let o=t.defaultValue===null?[]:Array.isArray(t.defaultValue)?t.defaultValue:[t.defaultValue];Su(n,o),n=pf(n,o)}let a={...e,field:n};return i?io(a.field,a):a}var Dy=["readOnly","required","noExport","multiline","password","comb","radiosInUnison","noToggleToOff","edit","multiSelect"];function By(e,t){if(!t)return e;let r=Array.from(e);return r.length>t?r.slice(0,t).join(""):e}function io(e,t){return{field:e,widgets:t.widgets.map(r=>r.hasAppearance?r:{...r,hasAppearance:!0})}}function Ey(e,t){let r=e.findIndex(n=>n.onState===t);return r>=0||!/^\d+$/.test(t)?r:Number(t)=0?r.widgets[t]:null,a=r.widgets.map((d,p)=>{let m=i!==null&&(n?d.exportValue===i.exportValue&&d.onState===i.onState:p===t);return d.checked===m?d:{...d,checked:m}}),o=Ki(i?i.onState:"Off"),s=r.kind==="checkbox"?{...r,widgets:a,valueEntry:o,checked:a.some(d=>d.checked)}:{...r,widgets:a,valueEntry:o,value:a.find(d=>d.checked)?.exportValue??"Off"},A=new Map(a.map(d=>[d.objectNumber,d.checked?d.onState:"Off"]));return{field:s,widgets:e.widgets.map(d=>{let p=A.get(Cy(d.ref));return p===void 0||d.appearanceState===p?d:{...d,appearanceState:p}})}}function df(e,t){let r=new Set;for(let n of t){let i=e.findIndex(a=>a.value===n);i>=0&&r.add(i)}return[...r].sort((n,i)=>n-i)}var yA=(e,t)=>t.every(r=>e.options.some(n=>n.value===r)),_y=(e,t)=>e.kind==="combobox"&&e.edit&&t.length===1;function Ru(e,t){let r=yA(e,t)?df(e.options,t):[],n=t.length>0&&r.length===0,i=e.options.map((s,A)=>{let d=r.includes(A);return s.selected===d?s:{...s,selected:d}}),a=n?[...t]:r.map(s=>e.options[s].value),o=Tu(a);return e.kind==="combobox"?{...e,options:i,valueEntry:o,value:a[0]??""}:{...e,options:i,valueEntry:o,selectedValues:a}}function Tu(e){return e.length===0?ao():e.length===1?Ki(e[0]):{kind:"array",values:[...e]}}function uf(e,t){return df(e,t).map(r=>e[r].value)}function yy(e,t){let r=t.map(s=>s.value),n=e.kind==="combobox"&&e.edit,i=cf(e.kind==="combobox"?e.value===""?[]:[e.value]:e.selectedValues,r,n),a=Ru(e.kind==="listbox"?{...e,options:t,topIndex:SA(e.topIndex,t)}:{...e,options:t},i),o=Gy(e.defaultValueEntry);return e.defaultValueEntry.kind==="none"?a:pf(a,cf(o,r,n),!0)}function SA(e,t){return Math.max(0,Math.min(e,t.length-1))}function cf(e,t,r){let n=e.filter(i=>t.includes(i));return n.length===0&&r&&e.length>0?[...e]:n}function pf(e,t,r=!1){if(t.length===0){let o=r?e.kind==="listbox"&&e.multiSelect?{kind:"array",values:[]}:Ki(""):ao();return e.kind==="combobox"?{...e,defaultValueEntry:o,defaultValue:""}:{...e,defaultValueEntry:o,defaultValue:[]}}let n=yA(e,t),i=n?uf(e.options,t):[...t],a=n?Tu(i):Ki(t[0]);return e.kind==="combobox"?{...e,defaultValueEntry:a,defaultValue:i[0]??""}:{...e,defaultValueEntry:a,defaultValue:i}}function Gy(e){return e.kind==="scalar"?[e.value]:e.kind==="array"?[...e.values]:[]}var lf=e=>({label:e.label,value:e.value,selected:!1}),Cy=e=>e.kind==="objectNumber"?e.objectNumber:0,Ki=e=>({kind:"scalar",value:e}),ao=()=>({kind:"none"});function ji(e){return new g(f.Unknown,`'${e.name}' could not be reset`)}function Nr(e){return e.type==="skipped"}function xA(e){switch(e.type){case"skipped":return!1;case"annotations.import":return e.annotations.length>0;case"forms.import":case"forms.importValues":return e.fields.length>0;default:return!0}}function uo(e){return"undoOf"in e}var Mu=e=>{let t=n=>(e&1<[[1,e.exclude],[2,e.includeNoValueFields],[3,e.format==="html"],[4,e.method==="get"],[5,e.submitCoordinates],[6,e.format==="xfdf"],[7,e.includeAppendSaves],[8,e.includeAnnotations],[9,e.format==="pdf"],[10,e.canonicalFormat],[11,e.exclNonUserAnnots],[12,e.exclFKey],[14,e.embedForm]].reduce((t,[r,n])=>n?t|1<t!=null&&!("root"in t)&&po(t))}function lo(e){return e.incomplete||!e.root?null:mf(e.root)}function Nu(e){let t={};for(let r of Xi){let n=e?.[r];if(!n){t[r]=null;continue}let i=lo(n);i&&(t[r]=i)}return t}var Xi=["activate","cursorEnter","cursorExit","mouseDown","mouseUp","focus","blur","pageOpen","pageClose","pageVisible","pageInvisible"];function mo(e){let t=lo(e);return t&&wo(t)?t:null}function wo(e){return e.type==="javascript"&&(e.next??[]).every(wo)}function mf(e){let t=[];for(let n of e.next){let i=mf(n);if(!i)return null;t.push(i)}let r=t.length>0?{next:t}:{};switch(e.type){case"javascript":return{type:"javascript",script:e.script,...r};case"goto":return{type:"goto",destination:e.destination,...r};case"uri":return{type:"uri",uri:e.uri,...r};case"named":return{type:"named",name:e.name,...r};case"hide":return{type:"hide",targets:e.targets,hide:e.hide,...r};case"reset-form":return{type:"reset-form",fields:e.fields,exclude:e.exclude,...r};case"submit-form":return e.payload?{...Iy(e.payload),type:"submit-form",url:e.payload.url,fields:e.payload.fields,...r}:null;default:return null}}function ju(e,t,r){let n=new Set;for(let F of t.fields??[]){let k=e.fields.find(P=>HA(P,F));if(!k)throw new g(f.NotFound,`export: the form has no field ${F.kind==="fqn"?F.name:Jn(F)}`);n.add(k)}let i=new Set(r.map(fe)),a=new Set;for(let F of t.pages??[]){if(!i.has(fe(F)))throw new g(f.NotFound,`export: the document has no page ${fe(F)}`);a.add(fe(F))}for(let F of e.fields)F.widgets.some(k=>k.page&&a.has(fe(k.page)))&&n.add(F);let o=!t.fields&&!t.pages,s=e.fields.filter(F=>o||n.has(F)),A=new Map(e.widgets.map(F=>[U(F.ref),F])),d=s.flatMap(F=>F.widgets.flatMap(k=>{let P=k.ref?A.get(U(k.ref)):void 0;return P?[P]:[]})),p=new Set(s.map(F=>Jn(F.ref))),m=e.calculationOrder.filter(F=>F!==null&&p.has(Jn(F)));return{fields:s.map(Sy),widgets:d,calculationOrder:m}}function HA(e,t){return t.kind==="fqn"?e.name===t.name:e.ref.kind==="objectNumber"&&e.ref.objectNumber===t.objectNumber}function Sy(e){if(e.kind==="signature")return{...e,valueEntry:{kind:"none"}};if(!e.noExport)return e;let t={...e,valueEntry:{kind:"none"},filledBy:null,filledByName:null,filledAt:null};switch(e.kind){case"text":case"combobox":return{...t,kind:e.kind,value:""};case"checkbox":return{...t,kind:"checkbox",checked:!1,widgets:e.widgets.map(r=>({...r,checked:!1}))};case"radio":return{...t,kind:"radio",value:"Off",widgets:e.widgets.map(r=>({...r,checked:!1}))};case"listbox":return{...t,kind:"listbox",selectedValues:[],options:e.options.map(r=>({...r,selected:!1}))};default:return t}}var Ku=["invisible","hidden","print","noZoom","noRotate","noView","readOnly","locked","toggleNoView","lockedContents"];function Wi(e){switch(e.kind){case"checkbox":return{checked:e.checked};case"listbox":return{selectedValues:e.selectedValues};case"radio":return{value:e.value==="Off"?null:e.value};case"text":case"combobox":return{value:e.value};default:return null}}var Ute={doc:{open:()=>"doc.open",render:Object.assign(()=>"doc.render",{thumbnail:()=>"doc.render.thumbnail"}),text:{select:()=>"doc.text.select",copy:()=>"doc.text.copy",search:()=>"doc.text.search"},content:{copy:()=>"doc.content.copy"},download:Object.assign(()=>"doc.download",{flattened:()=>"doc.download.flattened"}),print:Object.assign(()=>"doc.print",{high:()=>"doc.print.high"}),pages:{modify:()=>"doc.pages.modify",assemble:()=>"doc.pages.assemble"},forms:{read:()=>"doc.forms.read",fill:()=>"doc.forms.fill",modify:()=>"doc.forms.modify",import:()=>"doc.forms.import",script:()=>"doc.forms.script",submit:()=>"doc.forms.submit"},annotate:{read:()=>"doc.annotate.read",modify:()=>"doc.annotate.modify",import:()=>"doc.annotate.import"},metadata:{modify:()=>"doc.metadata.modify"},attachments:{modify:()=>"doc.attachments.modify"},outline:{modify:()=>"doc.outline.modify"},redact:()=>"doc.redact",sign:Object.assign(()=>"doc.sign",{certify:()=>"doc.sign.certify"})}},qte={annotations:{create:OA("annotations","create"),update:OA("annotations","update"),delete:OA("annotations","delete"),setGroup:bo("annotations","set-group"),all:OA("annotations","*")},fields:{fill:bo("fields","fill"),sign:bo("fields","sign"),setGroup:bo("fields","set-group"),all:bo("fields","*")}};function OA(e,t){return{all:()=>`${e}:${t}:all`,self:()=>`${e}:${t}:self`,createdBy:r=>`${e}:${t}:createdBy=${r}`,group:r=>`${e}:${t}:group=${r}`}}function bo(e,t){return{all:()=>`${e}:${t}:all`,group:r=>`${e}:${t}:group=${r}`}}function wf(e){let t=new Set;return t.add("doc.open"),t.add("doc.render"),t.add("doc.annotate.read"),t.add("doc.forms.read"),t.add("doc.text.search"),t.add("doc.text.select"),e.copy&&(t.add("doc.text.copy"),t.add("doc.content.copy")),e.print&&t.add("doc.print"),e.printHighQuality&&e.print&&t.add("doc.print.high"),e.modifyContents&&(t.add("doc.pages.modify"),t.add("doc.redact"),t.add("doc.metadata.modify"),t.add("doc.attachments.modify")),(e.modifyContents||e.assemble)&&(t.add("doc.pages.assemble"),t.add("doc.outline.modify")),e.modifyAnnotations&&t.add("doc.annotate.modify"),(e.modifyContents||e.modifyAnnotations||e.fillForms)&&(t.add("doc.forms.fill"),t.add("doc.sign")),e.modifyAnnotations&&e.modifyContents&&t.add("doc.forms.modify"),[...t]}var RA=4;var QA={none:0,lta:1,fill:2,annotate:3};function Ui(e){return e===1?"lta":e===2?"fill":"annotate"}function qi(e,t){return QA[e]<=QA[t]?e:t}function fo(e,t){return e===null||QA[e]>=QA[t]}function Vu(e,t){return t===e||t.startsWith(`${e}.`)}function TA(e,t){switch(e.action){case"all":return!0;case"include":return e.fields.some(r=>Vu(r,t));case"exclude":return!e.fields.some(r=>Vu(r,t))}}function Ut(e){let t=!1,r=null,n=null,i=[];for(let a of e)a.signed&&(t=!0,a.catalogCertification&&a.docMdp!==null&&n===null&&(n={signatureIndex:a.index,permission:a.docMdp},r=qi(r??"annotate",Ui(a.docMdp))),a.fieldMdp&&i.push({signatureIndex:a.index,source:"fieldmdp",spec:a.fieldMdp}),a.lock&&(i.push({signatureIndex:a.index,source:"lock",spec:a.lock}),a.lock.permission!==void 0&&(r=qi(r??"annotate",Ui(a.lock.permission)))));return{enforced:r,judged:t?r??"annotate":null,certification:n,fieldLocks:i,policyVersion:4}}function Yu(e,t){for(let r of e.fieldLocks)if(TA(r.spec,t))return r;return null}var bf=["doc.download.flattened","doc.pages.modify","doc.pages.assemble","doc.redact","doc.attachments.modify","doc.outline.modify","doc.forms.modify","doc.forms.script","doc.annotate.modify","doc.annotate.import","doc.forms.fill","doc.forms.import"],$te=new Set(bf);function fn(e){let t=new Set;return!e||e.judged===null||(t.add("doc.download.flattened"),e.enforced===null)||(t.add("doc.pages.modify"),t.add("doc.pages.assemble"),t.add("doc.redact"),t.add("doc.attachments.modify"),t.add("doc.outline.modify"),t.add("doc.forms.modify"),t.add("doc.forms.script"),fo(e.enforced,"annotate")||(t.add("doc.annotate.modify"),t.add("doc.annotate.import")),fo(e.enforced,"fill")||(t.add("doc.forms.fill"),t.add("doc.forms.import"))),t}function Xu(e,t){return`the document is signed: ${t.certification?`certification signature ${t.certification.signatureIndex} (permission ${t.certification.permission})`:`an existing signature (declared level '${t.enforced??"none declared"}')`} forbids '${e}'`}var xy=new Set(["doc.open","doc.render","doc.render.thumbnail","doc.text.select","doc.text.copy","doc.text.search","doc.content.copy","doc.download","doc.download.flattened","doc.print","doc.print.high","doc.pages.modify","doc.pages.assemble","doc.forms.read","doc.forms.fill","doc.forms.modify","doc.forms.import","doc.forms.script","doc.forms.submit","doc.annotate.read","doc.annotate.modify","doc.annotate.import","doc.metadata.modify","doc.attachments.modify","doc.outline.modify","doc.redact","doc.sign","doc.sign.certify"]);function jr(e){if(e==="*")return{kind:"wildcard"};if(e==="pdf.permissions")return{kind:"virtual",name:"pdf.permissions"};if(e.includes(":"))return Hy(e);let t=gf(e);return t!==null?Ty(e,t):My(e)}var ff=new Set(["doc","docs","pdf","annotations","fields","tokens","grants","shares","tenants","layer","visitor","document","submission","signature"]);function gf(e){if(e.includes(":"))return null;let t=e.indexOf(".");if(t<=0)return null;let r=e.slice(0,t);return ff.has(r)?null:r}function Hy(e){let t=e.indexOf(":"),r=e.indexOf(":",t+1);if(t===-1||r===-1)throw new pt(e,"collab scope requires entity:action:filter");let n=e.slice(0,t),i=e.slice(t+1,r),a=e.slice(r+1);if(n==="fields")return Oy(e,i,a);if(n!=="annotations")throw new pt(e,`unknown collab entity: ${n}`);if(i!=="create"&&i!=="update"&&i!=="delete"&&i!=="set-group"&&i!=="*")throw new pt(e,`unknown collab action: ${i}`);let o=Ff(a,e);if(i==="set-group"&&(o.kind==="self"||o.kind==="createdBy"))throw new pt(e,`set-group only supports :all or :group= filters (got :${o.kind})`);return{kind:"collab",entity:n,action:i,filter:o}}function Oy(e,t,r){if(t!=="fill"&&t!=="sign"&&t!=="set-group"&&t!=="*")throw new pt(e,`unknown fields action: ${t}`);let n=Ff(r,e);if(n.kind!=="all"&&n.kind!=="group")throw new pt(e,`fields only support :all or :group= filters (got :${n.kind})`);return{kind:"collab",entity:"fields",action:t,filter:n}}function Ff(e,t){if(e==="all")return{kind:"all"};if(e==="self")return{kind:"self"};if(e.startsWith("createdBy=")){let r=e.slice(10);if(!r)throw new pt(t,"createdBy= requires a value");return{kind:"createdBy",userId:r}}if(e.startsWith("group=")){let r=e.slice(6);if(!r)throw new pt(t,"group= requires a value");return{kind:"group",groupId:r}}throw new pt(t,`unknown filter: ${e}`)}var Qy=/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+$/;var Ry=/^[a-z][a-z0-9]*(-[a-z0-9]+)*(\.[a-z][a-z0-9]*(-[a-z0-9]+)*)+$/;function Ty(e,t){if(!Ry.test(e))throw new pt(e,"invalid plugin permission shape (expected .)");return{kind:"plugin",name:e,plugin:t}}function My(e){if(!Qy.test(e))throw new pt(e,"invalid capability name shape");if(!xy.has(e))throw new pt(e,`unknown capability: ${e}`);return{kind:"capability",name:e}}function go(e){return{...e.userId?{userId:e.userId}:{},...e.groupId?{groupId:e.groupId}:{}}}function zi(e,t,r,n=null){if(fn(n).has(e))return!1;let i=t.map(jr);return i.some(a=>a.kind==="wildcard")?!0:Zi(i,r,n).has(e)}function Fo(e,t,r,n,i){let a=r.map(jr);if(a.some(s=>s.kind==="wildcard"))return!0;let o=a.filter(s=>s.kind==="collab"&&s.entity==="annotations"&&(s.action===e||s.action==="*"));return o.length>0?o.some(s=>vf(s.filter,t,n)):Zi(a,i).has("doc.annotate.modify")}function Zi(e,t,r=null){let n=new Set,i=!1,a=!1;for(let o of e)o.kind==="capability"?n.add(o.name):o.kind==="virtual"&&o.name==="pdf.permissions"?Ly(n,t):o.kind==="collab"&&o.entity==="annotations"?i=!0:o.kind==="collab"&&o.entity==="fields"&&(a=!0);n.has("doc.render")&&n.add("doc.render.thumbnail"),n.has("doc.annotate.modify")&&n.add("doc.annotate.read"),n.has("doc.forms.modify")&&(n.add("doc.forms.fill"),n.add("doc.forms.read")),n.has("doc.forms.fill")&&n.add("doc.forms.read"),i&&n.add("doc.annotate.read"),a&&n.add("doc.forms.read");for(let o of fn(r))n.delete(o);return n}function vo(e,t,r,n){if(t===r)return!0;let i=n.map(jr);if(i.some(a=>a.kind==="wildcard"))return!0;for(let a of i)if(a.kind==="collab"&&a.entity===e&&!(a.action!=="set-group"&&a.action!=="*")&&(a.filter.kind==="all"||a.filter.kind==="group"&&a.filter.groupId===t))return!0;return!1}function Wu(e,t,r,n,i=null){let a=e==="fill"?"doc.forms.fill":"doc.sign";if(fn(i).has(a))return!1;let o=r.map(jr);if(o.some(A=>A.kind==="wildcard"))return!0;let s=o.filter(A=>A.kind==="collab"&&A.entity==="fields"&&(A.action===e||A.action==="*"));return s.length>0?s.some(A=>A.filter.kind==="all"||t!==null&&A.filter.groupId===t):Zi(o,n,i).has(a)}function Uu(e,t,r,n=null){let i=e==="fill"?"doc.forms.fill":"doc.sign";if(fn(n).has(i))return!1;let a=t.map(jr);return a.some(o=>o.kind==="wildcard")||a.some(o=>o.kind==="collab"&&o.entity==="fields"&&(o.action===e||o.action==="*"))?!0:Zi(a,r,n).has(i)}function vf(e,t,r){switch(e.kind){case"all":return!0;case"self":return!!r.userId&&t.userId===r.userId;case"createdBy":return t.userId===e.userId;case"group":return t.groupId===e.groupId}}function Ly(e,t){for(let r of wf(t))e.add(r)}var If={left:0,bottom:0,right:612,top:792},jy={left:0,right:0,bottom:0,top:0};function Zu(e){let t=e.media??If,r=i=>jd(i,t)??jy,n=r(e.crop??t);return{media:t,crop:n,bleed:r(e.bleed??n),trim:r(e.trim??n),art:r(e.art??n)}}function Ju(e){return!Number.isInteger(e)||e%90!==0?0:(e%360+360)%360}function Kr(){let e=globalThis.crypto.getRandomValues(new Uint8Array(16));return e[6]=e[6]&15|64,e[8]=e[8]&63|128,Sf(e)}function NA(e=Date.now()){let t=globalThis.crypto.getRandomValues(new Uint8Array(16)),r=Math.max(0,Math.floor(e));for(let n=5;n>=0;n--)t[n]=r%256,r=Math.floor(r/256);return t[6]=t[6]&15|112,t[8]=t[8]&63|128,Sf(t)}function Sf(e){let t=Array.from(e,r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function $u(e,t,r){let n=new Set(t.map(fe)),i=new Map,a=new Map,o=P=>{let B=fe(P);if(i.has(B)||!n.has(B))return;let y=r(P);i.set(B,y);for(let x of y)a.set(U(x.ref),x)},s=P=>(o(P.page),a.get(U(P)));for(let P of e.pages??[])if(!n.has(fe(P)))throw new g(f.NotFound,`export: the document has no page ${fe(P)}`);let A=!e.refs&&!e.pages,d=(e.include??"threads")==="threads";for(let P of A?t:e.pages??[])o(P);let p=new Set,m=[],F=P=>{if(!P)return;let B=U(P.ref);p.has(B)||(p.add(B),m.push(P))};if(A)for(let P of i.values())P.forEach(F);else{for(let P of e.pages??[])i.get(fe(P))?.forEach(F);for(let P of e.refs??[]){let B=s(P);if(!B)throw new g(f.NotFound,`export: the document has no annotation ${U(P)}`);F(B)}}if(d){for(let B of[...m])B.subtype==="popup"&&B.parent&&F(s(B.parent));let P=new Map;for(let B of i.values())for(let y of B){let x=y.reply?s(y.reply.to):void 0;if(!x)continue;let I=U(x.ref);P.set(I,[...P.get(I)??[],y])}for(let B=0;Bt.annotations),pages:e.flatMap(t=>t.pages)}}function xf(e){let t=e.crop;return{media:Je(e.media,t),crop:Je(e.crop,t),bleed:Je(e.bleed,t),trim:Je(e.trim,t),art:Je(e.art,t)}}function Hf(e,t){let{actions:r,...n}=e;return{...n,boxes:xf(e.boxes),...r?{actions:fu(r,i=>Rn(i,t))}:{}}}function Of(e){let t=new Map(e.map(r=>[r.ref.objectNumber,r.boxes.crop]));return r=>{let n=t.get(r.objectNumber);if(!n)throw new g(f.InvalidArg,`No page ${r.objectNumber} in this document`);return n}}function Po(e){let t=Of(e.pages);return{...e,pages:e.pages.map(r=>Hf(r,t))}}function tp(e,t){return e.kind==="rect"?{...e,rect:Li(e.rect,t)}:e}function jA(e,t){return e.map(r=>({...r,rect:Je(r.rect,t)}))}function ho(e,t){let{actions:r,...n}=e,i=t(e.page);return{...n,...e.rect?{rect:Li(e.rect,i)}:{},...e.box?{box:Li(e.box,i)}:{},...r?{actions:FA(r,a=>Or(a,t))}:{}}}function ko(e,t){return e.widgets?{...e,widgets:e.widgets.map(r=>ho(r,t))}:e}function Qf(e,t){return gu(e,r=>Rn(r,t))}function Ht(e,t){return e.actions?{...e,actions:Qf(e.actions,t)}:e}function Vr(e,t){return Mr(e,t(e.page),t)}function KA(e,t){return{...e,fields:e.fields.map(r=>Ht(r,t)),widgets:e.widgets.map(r=>Vr(r,t))}}function Rf(e,t){return{...e,target:e.target&&to(e.target,t),action:e.action&&Qr(e.action,t)}}function Tf(e,t){let{target:r,...n}=e;return r===void 0?n:{...n,target:r&&r.kind==="goto"?{...r,destination:t(r.destination)}:r}}function np(e,t){return{...e,items:e.items.map(r=>Do(r,t))}}function Do(e,t){return Rf(e,r=>Rn(r,t))}function rp(e,t){return Tf(e,r=>Or(r,t))}function Bo(e,t){return Tf(e,r=>Or(r,t))}function ip(e){return or(e.actions)||(e.widgets??[]).some(t=>or(t.actions))}function VA(e){let{box:t,rect:r,rotation:n,...i}=e;if(n!==void 0&&![0,90,180,270].includes(n))throw new g(f.InvalidArg,`a widget turns by a quarter turn (0, 90, 180 or 270), not ${n}`,{details:{field:"rotation"}});let a=t?wn(Ce(t),n??0):r;if(!a)throw new g(f.InvalidArg,"a widget's placement needs its `rect` or its `box`",{details:{field:"rect"}});return{...i,rect:a,...n!==void 0?{rotation:n}:{},...AA(i.borderStyle,i.dashArray)?{dashArray:[...sA]}:{}}}function YA(e){let t=new Ky(e),r=t.value();if(t.skipSpaces(),!t.atEnd())throw new Error(`trailing input at ${t.pos}: ${e.slice(t.pos,t.pos+20)}`);return r}var Ky=class{constructor(e){this.text=e,xe(this,"pos",0)}atEnd(){return this.pos>=this.text.length}skipSpaces(){for(;this.pos>",this.pos))return this.pos+=2,e;if(this.text[this.pos]!=="/")throw new Error(`expected a key at ${this.pos}`);let t=this.name();this.skipSpaces(),e[t]=this.value()}}stream(){let e=/^stream\((\d+),([0-9a-fA-F]*)\)/.exec(this.text.slice(this.pos));if(!e)throw new Error(`malformed stream signature at ${this.pos}`);this.pos+=e[0].length;let t=this.dictEntries();return{t:"stream",length:Number(e[1]),sha256:e[2].toLowerCase(),dict:t}}array(){this.expect("[");let e=[];for(;;){if(this.skipSpaces(),this.text[this.pos]==="]")return this.pos++,{t:"array",items:e};e.push(this.value())}}name(){this.expect("/");let e="";for(;this.pos"||t==="("||t===")")break;if(t==="#"&&/^[0-9A-Fa-f]{2}/.test(this.text.slice(this.pos+1,this.pos+3))){e+=String.fromCharCode(parseInt(this.text.slice(this.pos+1,this.pos+3),16)),this.pos+=3;continue}e+=t,this.pos++}return e}literalString(){this.expect("(");let e=1,t="";for(;this.pose)return`anchor ${o} char ${s} outside [1, ${e}]`;let d=A-(i+(s-n-1));if(d!==0&&d!==2)return`anchor ${o} implies a character contributing ${d} text units (expected 0 or 2)`;n=s,i=A}let a=i+(e-n);return a!==t?`map projects charCount to ${a}, but text length is ${t}`:null}function Nr(e){return e==="start"||e==="end"?null:"before"in e?e.before:e.after}function to(e,t,r){if(t==="start")return 0;if(t==="end")return e.length;let n=Nr(t),i=e.findIndex(a=>r(a)===r(n));if(i<0)throw new g(f.NotFound,`no neighbour ${r(n)} in the list`,{details:{field:"position"}});return"before"in t?i:i+1}function hA(e,t,r,n){let i=new Set(t.map(n));if(i.size!==t.length)throw new g(f.InvalidArg,"a row is named twice",{details:{field:"refs"}});let a=new Set(e.map(n)),o=t.find(p=>!a.has(n(p)));if(o!==void 0)throw new g(f.NotFound,`no row ${n(o)} in the list`,{details:{field:"refs"}});let s=Nr(r);if(s!==null&&i.has(n(s)))throw new g(f.InvalidArg,`the neighbour ${n(s)} is one of the rows that move`,{details:{field:"position"}});let A=e.filter(p=>!i.has(n(p))),d=to(A,r,n);return[...A.slice(0,d),...t,...A.slice(d)]}var no="EmbedPDF";var Pu={long:842,short:612};function cf(e,t){let r=Math.max(e.width,e.height),n=Math.min(e.width,e.height),i=Math.min(1,Pu.long/r,Pu.short/n);return t/72*i}function hu(e,t,r){let n=t===90||t===270,i=n?e.height:e.width,a=n?e.width:e.height;if(r.kind==="width"){if(!Number.isFinite(r.width)||r.width<=0)throw new g(f.InvalidArg,"render viewport width must be positive");let s=Math.max(1,Math.round(r.width));return{width:s,height:Math.max(1,Math.round(s*a/i))}}let o=r.kind==="dpi"?cf(e,r.dpi):r.kind==="thumbnail"?512/Math.max(e.width,e.height):r.scale??1;if(!Number.isFinite(o)||o<=0)throw new g(f.InvalidArg,"render viewport scale must be positive");return{width:Math.max(1,Math.round(i*o)),height:Math.max(1,Math.round(a*o))}}function ku(e,t,r,n){let{x:i,y:a}=e,o=e.width,s=e.height;switch(t){case 0:return[r/o,0,0,n/s,-r/o*i,-n/s*a];case 90:return[0,n/o,-r/s,0,r/s*(a+s),-n/o*i];case 180:return[-r/o,0,0,-n/s,r/o*(i+o),n/s*(a+s)];case 270:return[0,-n/o,r/s,0,-r/s*a,n/o*(i+o)]}}function St(e,t){return{x:e.x-t.left,y:t.top-e.y}}function xt(e,t){return{x:e.x+t.left,y:t.top-e.y}}function $e(e,t){return{x:e.left-t.left,y:t.top-e.top,width:e.right-e.left,height:e.top-e.bottom}}function Ki(e,t){let r=e.x+t.left,n=t.top-e.y;return{left:r,right:r+e.width,bottom:n-e.height,top:n}}function eo(e,t){return{upperLeft:St(e.upperLeft,t),upperRight:St(e.upperRight,t),lowerLeft:St(e.lowerLeft,t),lowerRight:St(e.lowerRight,t)}}function df(e,t){return{upperLeft:xt(e.upperLeft,t),upperRight:xt(e.upperRight,t),lowerLeft:xt(e.lowerLeft,t),lowerRight:xt(e.lowerRight,t)}}function Du(e){return"rotation"in e}function Dt(e){return{kind:"objectNumber",objectNumber:e}}function ro(e){if(e.byteLength<4)return null;let t=new Uint8Array(e);return t[0]===137&&t[1]===80&&t[2]===78&&t[3]===71?Ay(e):t[0]===255&&t[1]===216&&t[2]===255?cy(e):t[0]===37&&t[1]===80&&t[2]===68&&t[3]===70?{mimeType:"application/pdf"}:null}function Ay(e){if(e.byteLength<24)return null;let t=new DataView(e),r=t.getUint32(16),n=t.getUint32(20);return r===0||n===0?null:{mimeType:"image/png",width:r,height:n}}function cy(e){let t=new Uint8Array(e),r=2;for(;r+4=192&&n<=195){if(r+9>t.byteLength)return null;let i=new DataView(e,r+5),a=i.getUint16(0),o=i.getUint16(2);return o===0||a===0?null:{mimeType:"image/jpeg",width:o,height:a}}if(n===216||n===217)r+=2;else if(n===255)r+=1;else{let i=t[r+2]<<8|t[r+3];r+=2+i}}return null}var Bu=["appearance","file"];function kA(e,t,r){let n=Rr[e]??{};for(let i of Bu){let a=t?.[i]!==void 0;if(a&&n[i]===void 0)throw new g(f.InvalidArg,`a ${e} annotation takes no '${i}' resource`);if(!a&&r==="create"&&n[i]==="required")throw new g(f.InvalidArg,`creating a ${e} annotation needs its '${i}' resource`)}}var qt=Object.freeze({bundleBytes:50*1024*1024,manifestBytes:16*1024*1024,items:1e4,pages:2e3,resources:2e3,resourceBytes:50*1024*1024,imagePixels:4e7});function jr(e){return new TextEncoder().encode(JSON.stringify(e)).length}function Ie(e,t,r,n){let i=t[r];if(!(n<=i))throw new g(f.PayloadTooLarge,`the ${e} bundle is past its ${r} limit: ${n} > ${i}`,{details:{limit:r,max:i,value:n}})}var dy=81,uy=256,py={annotation:"an annotation bundle",form:"a form bundle"};function DA(e){let t=r=>new g(f.InvalidArg,`the file is not ${py[e.kind]}`,r===void 0?void 0:{cause:r});return{stringify(r,n){let i=n?.limits??qt,a=new Map;for(let[A,d]of Object.entries(r.resources))a.set(A,d.length);e.assertManifest(r,a,i);let o={};for(let A of e.keys)o[A]=r[A];let s={};for(let[A,d]of Object.entries(r.resources))s[A]=Wb(d);return o.resources=s,JSON.stringify(o)},async parse(r,n){let i=n?.limits??qt,a=Math.ceil(i.bundleBytes*4/3)+i.resources*dy+uy;if(r.length>a)throw new g(f.PayloadTooLarge,`the file is ${r.length} characters, more than a bundle within ${i.bundleBytes} bytes can be`,{details:{limit:"bundleBytes",max:i.bundleBytes,fileLength:r.length}});let o;try{o=JSON.parse(r)}catch(m){throw t(m)}let s=typeof o=="object"&&o!==null?o.resources:null;if(typeof s!="object"||s===null||Array.isArray(s))throw t();let A=new Map;for(let[m,F]of Object.entries(s)){let h=typeof F=="string"?Ub(F):null;if(h===null)throw new g(f.InvalidArg,`resource ${m} is not base64`);A.set(m,h)}e.assertManifest(o,A,i);let d={};for(let[m,F]of Object.entries(s))try{d[m]=qb(F)}catch(h){throw new g(f.InvalidArg,`resource ${m} is not base64`,{cause:h})}await nu(e.kind,d);let p={};for(let m of e.keys)p[m]=o[m];return p.resources=d,p}}}var uf=["format","version","pages","items"],ly=[...uf,"resources"],my=["data","resources"];function BA(e,t,r){Ve(e)||De("annotation","not an annotation bundle"),ar("annotation","the bundle",e,ly),e.format!=="embedpdf/annotations"&&De("annotation",`unknown format ${JSON.stringify(e.format)}`),e.version!==1&&De("annotation",`unknown version ${JSON.stringify(e.version)}`);let{pages:n,items:i}=e;Array.isArray(n)||De("annotation","pages is not a list"),Array.isArray(i)||De("annotation","items is not a list"),Ie("annotation",r,"items",i.length),Ie("annotation",r,"pages",n.length),Ie("annotation",r,"resources",t.size);let a=jr({pages:n,items:i});Ie("annotation",r,"manifestBytes",a);for(let A of t.values())Ie("annotation",r,"resourceBytes",A),a+=A;Ie("annotation",r,"bundleBytes",a);let o=AA("annotation",n),s=new Set;i.forEach((A,d)=>{(!Ve(A)||!Ve(A.data)||typeof A.data.subtype!="string")&&De("annotation",`item ${d} has no annotation data`),ar("annotation",`item ${d}`,A,my);let p=A.data.ref,m=Ve(p)?p.page:void 0;(!za(m)||!o.has(le(m)))&&De("annotation",`item ${d} is on a page the bundle doesn't list`),cA("annotation",`item ${d}`,A.resources,Bu,t,s)}),dA("annotation","item",t,s)}var wy=DA({kind:"annotation",keys:uf,assertManifest:BA}),by={decodedBytes:256*1024*1024};function EA(e){return{kind:"key",key:e}}var fy=new Set(["square","circle","free-text","stamp","caret"]);function Eu(e){let{subtype:t,rect:r,box:n,rotation:i,intent:a}=e;return!fy.has(t)||!n||!i||t==="free-text"&&a==="free-text-callout"?null:Or(fn(n,i),r)?i:null}var pf=(e,t)=>typeof t=="function"?t(e):t,PA=(e,t)=>e===null?null:t(e);function Mn(e,t){let{left:r,top:n}=pf(e.page,t),i=o=>PA(o,s=>s-r),a=o=>PA(o,s=>n-s);switch(e.kind){case"xyz":{let{left:o,top:s,...A}=e;return{...A,x:i(o),y:a(s)}}case"fitH":case"fitBH":{let{top:o,...s}=e;return{...s,y:a(o)}}case"fitV":case"fitBV":{let{left:o,...s}=e;return{...s,x:i(o)}}case"fitR":{let{left:o,bottom:s,right:A,top:d,...p}=e,m=Math.min(s,d),F=Math.max(s,d);return{...p,x:Math.min(o,A)-r,y:n-F,width:Math.abs(A-o),height:F-m}}case"fit":case"fitB":return e}}function Mr(e,t){let{left:r,top:n}=pf(e.page,t),i=o=>PA(o,s=>s+r),a=o=>PA(o,s=>n-s);switch(e.kind){case"xyz":{let{x:o,y:s,...A}=e;return{...A,left:i(o),top:a(s)}}case"fitH":case"fitBH":{let{y:o,...s}=e;return{...s,top:a(o)}}case"fitV":case"fitBV":{let{x:o,...s}=e;return{...s,left:i(o)}}case"fitR":{let{x:o,y:s,width:A,height:d,...p}=e,m=n-s;return{...p,left:o+r,bottom:m-d,right:o+r+A,top:m}}case"fit":case"fitB":return e}}function io(e,t){return e.kind==="goto"?{...e,destination:t(e.destination)}:e}function _u(e,t){let r=e.next.map(n=>_u(n,t));return e.type==="goto"?{...e,next:r,destination:t(e.destination)}:{...e,next:r}}function Lr(e,t){return{...e,root:e.root?_u(e.root,t):null}}function lf(e,t){let r=e.next?.map(i=>lf(i,t)),n=e.type==="goto"?{...e,destination:t(e.destination)}:e;return r?{...n,next:r}:n}function _A(e,t){return Object.fromEntries(Object.entries(e).map(([r,n])=>n==null?[r,n]:[r,"root"in n?Lr(n,t):lf(n,t)]))}function yu(e,t){return Object.fromEntries(Object.entries(e).map(([r,n])=>[r,n&&Lr(n,t)]))}function Gu(e,t){return yu(e,t)}function Cu(e,t){return yu(e,t)}function Iu(e,t){let{nameTreeScripts:r,openAction:n,openDestination:i,...a}=e;return{...yu(a,t),nameTreeScripts:r.map(o=>({...o,action:Lr(o.action,t)})),openAction:n?Lr(n,t):null,..."openDestination"in e?{openDestination:i&&t(i)}:{}}}var mf=(e,t)=>e.subtype==="rectilinear"&&e.origin?{...e,origin:t(e.origin)}:e;function ao(e,t){return mf(e,r=>St(r,t))}function oo(e,t){return mf(e,r=>xt(r,t))}function so(e,t){return e.map(r=>({...r,bbox:$e(r.bbox,t),measure:r.measure?ao(r.measure,t):null}))}var gy={length:e=>e,point:(e,{visible:t})=>St(e,t),points:(e,{visible:t})=>e.map(r=>St(r,t)),strokes:(e,{visible:t})=>e.map(r=>r.map(n=>St(n,t))),box:(e,{visible:t})=>$e(e,t),quads:(e,{visible:t})=>e.map(r=>eo(r,t)),linePoints:(e,{visible:t})=>({start:St(e.start,t),end:St(e.end,t)}),calloutLine:(e,{visible:t})=>e.map(r=>St(r,t)),measure:(e,{visible:t})=>ao(e,t),linkTarget:(e,{boxOf:t})=>io(e,r=>Mn(r,t)),actions:(e,{boxOf:t})=>_A(e,r=>Mn(r,t))},Su={length:e=>e,point:(e,{visible:t})=>xt(e,t),points:(e,{visible:t})=>e.map(r=>xt(r,t)),strokes:(e,{visible:t})=>e.map(r=>r.map(n=>xt(n,t))),box:(e,{visible:t})=>Ki(e,t),quads:(e,{visible:t})=>e.map(r=>df(r,t)),linePoints:(e,{visible:t})=>({start:xt(e.start,t),end:xt(e.end,t)}),calloutLine:(e,{visible:t})=>e.map(r=>xt(r,t)),measure:(e,{visible:t})=>oo(e,t),linkTarget:(e,{boxOf:t})=>io(e,r=>Mr(r,t)),actions:(e,{boxOf:t})=>_A(e,r=>Mr(r,t))},Fy=e=>e===void 0?hb:ir[e]??ir.unsupported;function xu(e,t,r,n){let i=Fy(e);return Object.fromEntries(Object.entries(t).map(([a,o])=>{let s=i[a];if(!s||o==null)return[a,o];let A=n[s](o,r);if(n===Su&&wf(A))throw vy(a,s);return[a,A]}))}function wf(e){return typeof e=="number"?Number.isNaN(e):typeof e!="object"||e===null?!1:Object.values(e).some(wf)}function vy(e,t){let r=t==="box"?"{ x, y, width, height }":"points as { x, y }";return new g(f.InvalidArg,`field '${e}': expected page space, ${r} from the page's top-left`,{details:{field:e}})}function or(e,t,r){return xu(e.subtype,e,{visible:t,boxOf:r},gy)}function Vi(e,t,r){return xu(e.subtype,e,{visible:t,boxOf:r},Su)}function Kr(e,t,r){return xu(e.subtype,e,{visible:t,boxOf:r},Su)}var $b=e=>!!(e.space||e.empty),Yi=e=>!!e.empty,Py=2.5,hy=1.5,ky=.8,Dy=.5,By=Math.cos(.0087),bf=1e-6;function Hu(e){let t=yy(e),r=t.glyphs.length,n=a=>typeof a!="number"?rf(t,a):Number.isInteger(a)&&a>=0&&a({start:a,count:o-a+1});return{charCount:r,runs:e.runs,charAt:a=>rf(t,a),wordAt:a=>{let o=n(a);return o===null?null:i(Iy(t,o))},lineAt:a=>{let o=n(a);return o===null?null:i(Sy(t,o))},segments:a=>Hy(t,a.start,a.count),charQuad:a=>xy(t,a)}}var Ey={baseline:{x:1,y:0},ascent:{x:0,y:1}},ff=(e,t)=>({x:t.x*e.baseline.x+t.y*e.baseline.y,y:t.x*e.ascent.x+t.y*e.ascent.y}),vA=(e,t)=>({x:e.baseline.x*t.x+e.ascent.x*t.y,y:e.baseline.y*t.x+e.ascent.y*t.y}),ef={left:0,bottom:0,right:0,top:0};function tf(e,t){let r=[t.upperLeft,t.upperRight,t.lowerLeft,t.lowerRight].map(a=>ff(e,a)),n=r.map(a=>a.x),i=r.map(a=>a.y);return{left:Math.min(...n),bottom:Math.min(...i),right:Math.max(...n),top:Math.max(...i)}}function _y(e,t){let r=t.glyphs.find(F=>!Yi(F));if(!r)return 0;let n=r.loose,i=n.upperRight.x-n.upperLeft.x,a=n.upperRight.y-n.upperLeft.y,o=Math.hypot(i,a);if(o<=bf)return 0;let s={x:i/o,y:a/o},A=n.upperLeft.x-n.lowerLeft.x,d=n.upperLeft.y-n.lowerLeft.y,p=s.x*d-s.y*A>=0?1:-1,m={x:-s.y*p,y:s.x*p};for(let F=0;F0;if(P>=By&&B)return F}return e.push({baseline:s,ascent:m}),e.length-1}function yy(e){let t=[],r=[],n=[Ey];for(let i of e.runs){if(!Du(i)){for(let A of i.glyphs)t.push({loose:A.loose,tight:A.tight,space:A.space,empty:A.empty});r.push({start:i.start,count:i.glyphs.length,rect:i.rect,fontSize:i.fontSize,frame:0});continue}let a=_y(n,i),o=n[a],s=null;for(let A of i.glyphs){if(Yi(A)){t.push({loose:ef,space:A.space,empty:!0});continue}let d=tf(o,A.loose),p=A.tight?tf(o,A.tight):void 0;t.push({loose:d,tight:p,space:A.space}),s=s?{left:Math.min(s.left,d.left),bottom:Math.min(s.bottom,d.bottom),right:Math.max(s.right,d.right),top:Math.max(s.top,d.top)}:d}r.push({start:i.start,count:i.glyphs.length,rect:s??ef,fontSize:i.fontSize,frame:a})}return{glyphs:t,runs:r,frames:n}}var nf=(e,t)=>t.x>=e.left&&t.x<=e.right&&t.y>=e.bottom&&t.y<=e.top;function Gy(e){let t=0,r=0;for(let n of e.glyphs)Yi(n)||(t+=n.loose.top-n.loose.bottom,r++);return r===0?0:t/r}function Cy(e,t){return e.frames.map((r,n)=>n===0?t:ff(r,t))}function rf(e,t,r=1.5){let n=Cy(e,t);for(let s of e.runs){let A=n[s.frame];if(nf(s.rect,A))for(let d=0;dd.right+i||A.yd.top+i))for(let p=0;pF.right+i||A.yF.top+i)continue;let h=Math.min(Math.abs(A.x-F.left),Math.abs(A.x-F.right)),P=Math.min(Math.abs(A.y-F.bottom),Math.abs(A.y-F.top));h+P=0?a:null}function Iy(e,t){let r=e.glyphs.length;if(t<0||t>=r)return[t,t];let n=t;for(;n>0&&!$b(e.glyphs[n-1]);)n--;let i=t;for(;it>=A.start&&t=0;A--){let d=e.runs[A];if(!af(d.rect)){if(d.frame!==n.frame||!of(d.rect.bottom,d.rect.top,i,a))break;o=d.start}}for(let A=r+1;At>=o.start&&ti)continue;let A=Math.max(n,o.start),d=Math.min(i,s),p=1/0,m=-1/0,F=1/0,h=-1/0,P=0,B=0,y=-1/0,x=0,I=0,S=()=>{P>0&&p!==1/0&&a.push({rect:{left:p,bottom:F,right:m,top:h},charCount:P,fontSize:o.fontSize,frame:o.frame,firstX:x,lastX:I}),p=1/0,m=-1/0,F=1/0,h=-1/0,P=0,B=0,y=-1/0};for(let G=A;G<=d;G++){let Q=e.glyphs[G];if(Yi(Q))continue;let K=Q.loose;if(P>0&&y>-1/0){let ge=B/P;ge>0&&Math.abs(K.left-y)>Py*ge&&S()}let ve=(K.left+K.right)/2;P===0&&(x=ve),I=ve,p=Math.min(p,K.left),m=Math.max(m,K.right),F=Math.min(F,K.bottom),h=Math.max(h,K.top),P++,B+=K.right-K.left,y=K.right}S()}return Oy(a).map(o=>Qy(e,o))}function Oy(e){let t=[],r=null,n=null;for(let i of e)r&&n&&r.frame===i.frame&&Ry(r,i)?n={rect:{left:Math.min(n.rect.left,i.rect.left),bottom:Math.min(n.rect.bottom,i.rect.bottom),right:Math.max(n.rect.right,i.rect.right),top:Math.max(n.rect.top,i.rect.top)},frame:n.frame,firstX:n.firstX,lastX:i.lastX}:(n&&t.push(n),n={rect:i.rect,frame:i.frame,firstX:i.firstX,lastX:i.lastX}),r=i;return n&&n.rect.right>n.rect.left&&n.rect.top>n.rect.bottom&&t.push(n),t}function gf(e,t,r){return t===0?{upperLeft:{x:r.left,y:r.top},upperRight:{x:r.right,y:r.top},lowerLeft:{x:r.left,y:r.bottom},lowerRight:{x:r.right,y:r.bottom}}:{upperLeft:vA(e,{x:r.left,y:r.top}),upperRight:vA(e,{x:r.right,y:r.top}),lowerLeft:vA(e,{x:r.left,y:r.bottom}),lowerRight:vA(e,{x:r.right,y:r.bottom})}}function Qy(e,t){let r=e.frames[t.frame],n=gf(r,t.frame,t.rect);return{quad:n,rect:t.frame===0?t.rect:{left:Math.min(n.upperLeft.x,n.upperRight.x,n.lowerLeft.x,n.lowerRight.x),bottom:Math.min(n.upperLeft.y,n.upperRight.y,n.lowerLeft.y,n.lowerRight.y),right:Math.max(n.upperLeft.x,n.upperRight.x,n.lowerLeft.x,n.lowerRight.x),top:Math.max(n.upperLeft.y,n.upperRight.y,n.lowerLeft.y,n.lowerRight.y)},advance:t.lastX>=t.firstX?1:-1}}function Ry(e,t){if(e.fontSize!=null&&t.fontSize!=null&&e.fontSize>0&&t.fontSize>0&&Math.max(e.fontSize,t.fontSize)/Math.min(e.fontSize,t.fontSize)>hy||Ty(e.rect,t.rect)o}function Ty(e,t){let r=e.top-e.bottom,n=t.top-t.bottom;if(r<=0||n<=0)return 0;let i=Math.max(e.top,t.top)-Math.min(e.bottom,t.bottom);return i===r||i===n?1:Math.max(0,Math.min(e.top,t.top)-Math.max(e.bottom,t.bottom))/i}var af=e=>e.right===e.left&&e.top===e.bottom;function of(e,t,r,n){let i=Math.max(t,n)-Math.min(e,r);return i===0?!1:Math.max(0,Math.min(t,n)-Math.max(e,r))/i>=Dy}var sf={x:0,y:0,width:0,height:0};var My={upperLeft:{x:0,y:0},upperRight:{x:0,y:0},lowerLeft:{x:0,y:0},lowerRight:{x:0,y:0}},Ly=e=>e.glyphs.some(t=>!t.empty);function Ou(e,t){return{...e,runs:e.runs.map(r=>{let n=Ly(r)?$e(r.rect,t):sf;return Du(r)?{...r,rect:n,glyphs:r.glyphs.map(({loose:i,tight:a,...o})=>({...o,loose:o.empty?My:eo(i,t),...a?{tight:eo(a,t)}:{}}))}:{...r,rect:n,glyphs:r.glyphs.map(({loose:i,tight:a,...o})=>({...o,loose:o.empty?sf:$e(i,t),...a?{tight:$e(a,t)}:{}}))}})}}function Ff(e,t){return{...e,quad:eo(e.quad,t),rect:$e(e.rect,t)}}function Qu(e,t){return{...e,matches:e.matches.map(r=>{let n=t(r.page);return{...r,segments:r.segments.map(i=>Ff(i,n))}})}}var Af=/\s/,Ny=/\p{M}/gu,jy=/^(?![\t\n\v\f\r])[\p{Cf}\p{Cc}\p{Noncharacter_Code_Point}]$/u;function sr(e,t={}){let r=[],n=[],i=!1,a=0;for(let o of e){if(jy.test(o)){a+=o.length;continue}let s;Af.test(o)?s=" ":(s=o.normalize("NFKD"),t.keepMarks||(s=s.replace(Ny,"")),t.keepCase||(s=s.toUpperCase().toLowerCase()));for(let A=0;A=55296&&r<=56319&&t+1=56320&&n<=57343)return 2}return 1}function yA(e,t,r){let n=e.map[t],i=e.map[t+r-1];return{start:n,count:i+Ky(e.original,i)-n}}var Vy={pt:.0254/72,mm:.001,cm:.01,m:1,km:1e3,in:.0254,ft:.3048,yd:.9144,mi:1609.344};var IA=8388607,Ru=8e6;var vf=["format","version","pages","fields","widgets","calculationOrder"],Yy=[],Xy=[...vf,"resources"],Wy=["data"],Uy=["data","resources"];function Ao(e,t,r){Ve(e)||De("form","not a form bundle"),ar("form","the bundle",e,Xy),e.format!=="embedpdf/form"&&De("form",`unknown format ${JSON.stringify(e.format)}`),e.version!==1&&De("form",`unknown version ${JSON.stringify(e.version)}`);let{pages:n,fields:i,widgets:a,calculationOrder:o}=e;Array.isArray(n)||De("form","pages is not a list"),Array.isArray(i)||De("form","fields is not a list"),Array.isArray(a)||De("form","widgets is not a list"),Array.isArray(o)||De("form","calculationOrder is not a list"),Ie("form",r,"items",i.length+a.length),Ie("form",r,"pages",n.length),Ie("form",r,"resources",t.size);let s=jr({pages:n,fields:i,widgets:a,calculationOrder:o});Ie("form",r,"manifestBytes",s);for(let p of t.values())Ie("form",r,"resourceBytes",p),s+=p;Ie("form",r,"bundleBytes",s);let A=AA("form",n);i.forEach((p,m)=>{(!Ve(p)||!Ve(p.data)||typeof p.data.kind!="string"||typeof p.data.name!="string"||!Ve(p.data.ref))&&De("form",`field ${m} has no field data`),ar("form",`field ${m}`,p,Wy)});let d=new Set;a.forEach((p,m)=>{(!Ve(p)||!Ve(p.data)||p.data.subtype!=="widget")&&De("form",`widget ${m} has no widget data`),ar("form",`widget ${m}`,p,Uy);let F=p.data.ref,h=Ve(F)?F.page:void 0;(!za(h)||!A.has(le(h)))&&De("form",`widget ${m} is on a page the bundle doesn't list`),cA("form",`widget ${m}`,p.resources,Yy,t,d)}),o.forEach((p,m)=>{Ve(p)||De("form",`calculation order entry ${m} is not a field ref`)}),dA("form","widget",t,d)}var qy=DA({kind:"form",keys:vf,assertManifest:Ao});function SA(e){return{keepCase:!!e.matchCase,keepMarks:!!e.matchDiacritics,dropWhitespace:!!e.ignoreWhitespace}}var Pf=/[\p{L}\p{N}_]/u,zy=/\p{M}/u;function GA(e,t){if(t<=0)return!1;let r=e.charCodeAt(t-1),n=r>=56320&&r<=57343&&t>=2?t-2:t-1;return Pf.test(String.fromCodePoint(e.codePointAt(n)))}function CA(e,t){return t>=e.length?!1:Pf.test(String.fromCodePoint(e.codePointAt(t)))}function Zy(e,t,r,n){if(!n.ignoreWhitespace)return!GA(e.folded,t)&&!CA(e.folded,t+r);let{start:i,count:a}=yA(e,t,r);return!GA(e.original,i)&&!CA(e.original,i+a)}function xA(e,t){let r=sr(t.text,SA(t)).folded;if(r.trim().length===0)return[];let n=[],i=0;for(;i<=e.folded.length-r.length;){let a=e.folded.indexOf(r,i);if(a<0)break;if(t.wholeWord&&!Zy(e,a,r.length,t)){i=a+1;continue}if(t.matchDiacritics&&a+r.length512)return{ok:!1,issue:"too-long",message:"Pattern exceeds 512 characters."};let t=!1;for(let r=0;r="1"&&i<="9")return{ok:!1,issue:"backreference",message:`Backreference \\${i} is not supported.`};if(!t&&i==="k"&&e[r+2]==="<")return{ok:!1,issue:"backreference",message:"Named backreferences (\\k<\u2026>) are not supported."};r++;continue}if(t){n==="]"&&(t=!1);continue}if(n==="["){t=!0;continue}if(n==="("&&e[r+1]==="?"){let i=e[r+2]??"";if(i==="="||i==="!")return{ok:!1,issue:"lookaround",message:"Lookahead ((?=\u2026), (?!\u2026)) is not supported."};if(i==="<"&&(e[r+3]==="="||e[r+3]==="!"))return{ok:!1,issue:"lookaround",message:"Lookbehind ((?<=\u2026), (?=55296&&o<=56319?2:1;continue}t.wholeWord&&(GA(e,a.index)||CA(e,a.index+a[0].length))||i.push({start:a.index,count:a[0].length})}return i}var Ui={items:5e4,depth:128};function Lu(e,t){let r;for(let i of e){if(i.firstPage>t)break;r=i}if(!r)return null;let n=r.prefix+$y(r.style,r.firstNumber+t-r.firstPage);return n===""?null:n}function QA(e,t,r){if(e.length===0||r.length===0)return e;let n=new Set(r),i=[0];for(let s=0;si[Math.min(Math.max(s,0),t)],o=[];return e.forEach((s,A)=>{let d=e[A+1]?.firstPage??t;if(a(d)===a(s.firstPage))return;let p=a(s.firstPage);o.push(p===s.firstPage?s:{...s,firstPage:p})}),lo(o,e)?e:o}function po(e,t,r){if(r<=0)return e;let n=!1,i=e.map(a=>a.firstPage===0||a.firstPage{let i=t[n];return r.firstPage===i.firstPage&&r.style===i.style&&r.firstNumber===i.firstNumber&&r.prefix===i.prefix})}var Jy=[[1e3,"m"],[900,"cm"],[500,"d"],[400,"cd"],[100,"c"],[90,"xc"],[50,"l"],[40,"xl"],[10,"x"],[9,"ix"],[5,"v"],[4,"iv"],[1,"i"]];function $y(e,t){switch(e){case null:return"";case"decimal":return String(t);case"upperRoman":return kf(t).toUpperCase();case"lowerRoman":return kf(t);case"upperLetters":return Df(t).toUpperCase();case"lowerLetters":return Df(t)}}function kf(e){let t=e%1e6,r="";for(let[n,i]of Jy)for(;t>=n;)r+=i,t-=n;return r}function Df(e){if(e<=0)return"";let t=e-1;return String.fromCharCode(97+t%26).repeat((Math.floor(t/26)+1)%1e3)}var eG={text:"{ value }",checkbox:"{ checked } or { value }",radio:"{ value }",combobox:"{ value }",listbox:"{ selectedValues }"};function mo(e,t){switch(e.kind){case"text":if("value"in t)return{kind:"text",value:t.value??""};break;case"checkbox":if("checked"in t){if(!t.checked)return{kind:"toggle",state:null};let r=e.widgets[0];if(!r)throw Ar(`'${e.name}' has no widget to check`);return{kind:"toggle",state:r.onState}}if("value"in t)return{kind:"toggle",state:Bf(e,t.value)};break;case"radio":if("value"in t){let r=Bf(e,t.value);if(r===null&&e.noToggleToOff)throw Ar(`'${e.name}' must keep a choice: it can't be cleared`);return{kind:"toggle",state:r}}break;case"combobox":if("value"in t)return Ef(e,t.value===null?[]:[t.value]);break;case"listbox":if("selectedValues"in t)return Ef(e,t.selectedValues);break;default:throw Ar(`${e.kind} fields hold no value you can set`)}throw Ar(`a ${e.kind} field takes ${eG[e.kind]}, not ${tG(t)}`)}function ju(e,t){let r=o=>new g(f.InvalidArg,o,{details:{field:"defaultValue"}});if(new Set(t).size!==t.length)throw r("the default values must not repeat");if(t.length>1&&!(e.kind==="listbox"&&e.multiSelect))throw r(`a ${e.kind==="listbox"?"list without multiSelect":"dropdown"} has one default`);let n=e.kind==="combobox"&&e.edit===!0,i=new Set(e.options.map(o=>o.value)),a=t.find(o=>!i.has(o));if(a!==void 0&&!n)throw r(`'${a}' is not an option value of the ${e.kind==="listbox"?"list":"dropdown"}`)}function Ku(e,t){switch(t.kind){case"text":return e.kind==="text"&&e.value===t.value;case"toggle":return(e.kind==="checkbox"||e.kind==="radio")&&e.widgets.every(r=>r.checked===(r.onState===t.state));case"choice":return e.kind==="combobox"?t.values.length===0?e.value==="":e.value===t.values[0]:e.kind==="listbox"&&e.selectedValues.length===t.values.length&&e.selectedValues.every((r,n)=>r===t.values[n])}}function Vu(e){if(e.valueEntry.kind==="unsupported"||!qi(e.valueEntry,e.defaultValueEntry))return!1;if(e.kind!=="checkbox"&&e.kind!=="radio")return!0;let t=e.defaultValueEntry,r=t.kind==="scalar"?t.value:null;return e.widgets.every(n=>n.checked===(n.onState===r))}function qi(e,t){return e.kind!==t.kind?!1:e.kind==="scalar"&&t.kind==="scalar"?e.value===t.value:e.kind==="array"&&t.kind==="array"?e.values.length===t.values.length&&e.values.every((r,n)=>r===t.values[n]):!0}function Bf(e,t){if(t===null||t==="Off")return null;let r=e.widgets.find(n=>n.exportValue===t);if(!r)throw Ar(`no widget of '${e.name}' has the export value '${t}'`);return r.onState}function Ef(e,t){if(new Set(t).size!==t.length)throw Ar("the values must not repeat");if(e.kind==="listbox"&&!e.multiSelect&&t.length>1)throw Ar(`'${e.name}' takes one value (it has no multiSelect)`);let r=new Set(e.options.map(a=>a.value)),n=e.kind==="combobox"&&e.edit&&t.length===1,i=t.find(a=>!r.has(a));if(!n&&i!==void 0)throw Ar(`'${i}' is not an option value of '${e.name}'`);return{kind:"choice",values:t}}function tG(e){return"checked"in e?"{ checked }":"selectedValues"in e?"{ selectedValues }":"{ value }"}function Ar(e){return new g(f.InvalidArg,e,{details:{field:"value"}})}function wo(e,t){let r=e==="checkbox"||e==="radio";return _f(e,_f(e,t,"caption",e==="pushbutton","a push button's"),"checkStyle",r,"a checkbox's or radio button's")}function _f(e,t,r,n,i){if(n||t[r]===void 0)return t;if(t[r]!==null){let s=e==="unknown"?"this widget":`a ${e} field's widget`;throw new g(f.InvalidArg,`'${r}' applies to ${i} widgets, not to ${s}`,{details:{field:r}})}let{[r]:a,...o}=t;return o}function Yu(e,t){let{field:r}=e,n=mo(r,t);switch(n.kind){case"text":{if(r.kind!=="text")return e;let i=rG(n.value,r.maxLength);return i===r.value?e:co({...r,value:i,valueEntry:{kind:"scalar",value:i}},e)}case"toggle":{if(r.kind!=="checkbox"&&r.kind!=="radio")return e;let i=r.widgets.findIndex(a=>a.onState===n.state);return Mu(e,n.state===null?-1:i)}case"choice":return r.kind!=="combobox"&&r.kind!=="listbox"?e:co(Wu(r,n.values),e)}}function Xu(e){let{field:t}=e,r=t.defaultValueEntry;switch(t.kind){case"text":{if(r.kind==="array"||r.kind==="unsupported")throw Xi(t);let n=r.kind==="scalar"?r.value:"",i=r.kind==="scalar"?r:{kind:"none"};return co({...t,value:n,valueEntry:i},e)}case"checkbox":case"radio":{if(r.kind==="array"||r.kind==="unsupported")throw Xi(t);let n=r.kind==="scalar"?r.value:null;if(n===null||n==="Off")return Mu(e,-1);let i=iG(t.widgets,n);if(i<0)throw Xi(t);return Mu(e,i)}case"combobox":case"listbox":{if(r.kind==="unsupported")throw Xi(t);let n=r.kind==="scalar"?[r.value]:r.kind==="array"?[...r.values]:[];if(n.length===1&&n[0]===""&&!OA(t,n)&&(n=[]),!OA(t,n)&&!aG(t,n))throw Xi(t);return co(Wu(t,n),e)}default:throw Xi(t)}}function RA(e){if((e.kind==="combobox"||e.kind==="listbox")&&e.defaultValue!==void 0){let t=Array.isArray(e.defaultValue)?e.defaultValue:[e.defaultValue];ju({...e,options:e.options??[]},t)}switch(e.kind){case"text":case"combobox":return e.defaultValue!==void 0?Wi(e.defaultValue):uo();case"listbox":return Uu(Cf((e.options??[]).map(Sf),e.defaultValue??[]));default:return uo()}}function TA(e,t){let r=t,n={...e.field};if(t.name!==void 0){let o=n.name.lastIndexOf(".");n.name=o<0?t.name:`${n.name.slice(0,o+1)}${t.name}`}for(let o of nG)typeof r[o]=="boolean"&&o in n&&(n[o]=r[o]);if(t.alternateName!==void 0&&(n.alternateName=t.alternateName||null),t.mappingName!==void 0&&(n.mappingName=t.mappingName||null),t.groupId!==void 0&&(n.groupId=t.groupId),n.kind==="text"&&("maxLength"in t&&t.maxLength!==void 0&&(n.maxLength=t.maxLength),"defaultValue"in t&&t.defaultValue!==void 0)){let o=t.defaultValue;n.defaultValue=o??"",n.defaultValueEntry=o===null?uo():Wi(o)}let i=!1;if((n.kind==="combobox"||n.kind==="listbox")&&("options"in t&&t.options&&(n=oG(n,t.options.map(Sf)),i=!0),"defaultValue"in t&&t.defaultValue!==void 0)){let o=t.defaultValue===null?[]:Array.isArray(t.defaultValue)?t.defaultValue:[t.defaultValue];ju(n,o),n=If(n,o)}let a={...e,field:n};return i?co(a.field,a):a}var nG=["readOnly","required","noExport","multiline","password","comb","radiosInUnison","noToggleToOff","edit","multiSelect"];function rG(e,t){if(!t)return e;let r=Array.from(e);return r.length>t?r.slice(0,t).join(""):e}function co(e,t){return{field:e,widgets:t.widgets.map(r=>r.hasAppearance?r:{...r,hasAppearance:!0})}}function iG(e,t){let r=e.findIndex(n=>n.onState===t);return r>=0||!/^\d+$/.test(t)?r:Number(t)=0?r.widgets[t]:null,a=r.widgets.map((d,p)=>{let m=i!==null&&(n?d.exportValue===i.exportValue&&d.onState===i.onState:p===t);return d.checked===m?d:{...d,checked:m}}),o=Wi(i?i.onState:"Off"),s=r.kind==="checkbox"?{...r,widgets:a,valueEntry:o,checked:a.some(d=>d.checked)}:{...r,widgets:a,valueEntry:o,value:a.find(d=>d.checked)?.exportValue??"Off"},A=new Map(a.map(d=>[d.objectNumber,d.checked?d.onState:"Off"]));return{field:s,widgets:e.widgets.map(d=>{let p=A.get(AG(d.ref));return p===void 0||d.appearanceState===p?d:{...d,appearanceState:p}})}}function Gf(e,t){let r=new Set;for(let n of t){let i=e.findIndex(a=>a.value===n);i>=0&&r.add(i)}return[...r].sort((n,i)=>n-i)}var OA=(e,t)=>t.every(r=>e.options.some(n=>n.value===r)),aG=(e,t)=>e.kind==="combobox"&&e.edit&&t.length===1;function Wu(e,t){let r=OA(e,t)?Gf(e.options,t):[],n=t.length>0&&r.length===0,i=e.options.map((s,A)=>{let d=r.includes(A);return s.selected===d?s:{...s,selected:d}}),a=n?[...t]:r.map(s=>e.options[s].value),o=Uu(a);return e.kind==="combobox"?{...e,options:i,valueEntry:o,value:a[0]??""}:{...e,options:i,valueEntry:o,selectedValues:a}}function Uu(e){return e.length===0?uo():e.length===1?Wi(e[0]):{kind:"array",values:[...e]}}function Cf(e,t){return Gf(e,t).map(r=>e[r].value)}function oG(e,t){let r=t.map(s=>s.value),n=e.kind==="combobox"&&e.edit,i=yf(e.kind==="combobox"?e.value===""?[]:[e.value]:e.selectedValues,r,n),a=Wu(e.kind==="listbox"?{...e,options:t,topIndex:MA(e.topIndex,t)}:{...e,options:t},i),o=sG(e.defaultValueEntry);return e.defaultValueEntry.kind==="none"?a:If(a,yf(o,r,n),!0)}function MA(e,t){return Math.max(0,Math.min(e,t.length-1))}function yf(e,t,r){let n=e.filter(i=>t.includes(i));return n.length===0&&r&&e.length>0?[...e]:n}function If(e,t,r=!1){if(t.length===0){let o=r?e.kind==="listbox"&&e.multiSelect?{kind:"array",values:[]}:Wi(""):uo();return e.kind==="combobox"?{...e,defaultValueEntry:o,defaultValue:""}:{...e,defaultValueEntry:o,defaultValue:[]}}let n=OA(e,t),i=n?Cf(e.options,t):[...t],a=n?Uu(i):Wi(t[0]);return e.kind==="combobox"?{...e,defaultValueEntry:a,defaultValue:i[0]??""}:{...e,defaultValueEntry:a,defaultValue:i}}function sG(e){return e.kind==="scalar"?[e.value]:e.kind==="array"?[...e.values]:[]}var Sf=e=>({label:e.label,value:e.value,selected:!1}),AG=e=>e.kind==="objectNumber"?e.objectNumber:0,Wi=e=>({kind:"scalar",value:e}),uo=()=>({kind:"none"});function Xi(e){return new g(f.Unknown,`'${e.name}' could not be reset`)}function Vr(e){return e.type==="skipped"}function LA(e){switch(e.type){case"skipped":return!1;case"annotations.import":case"annotations.copy":return e.annotations.length>0;case"forms.import":case"forms.importValues":case"forms.copy":return e.fields.length>0;default:return!0}}function bo(e){return"undoOf"in e}function NA(e){let t=[],r=e.measure;r?.subtype==="geospatial"&&t.push({field:"measure",reason:"geospatial"}),r?.subtype==="unknown"&&t.push({field:"measure",reason:"unknown-measure"});let n=e.subtype==="link"?e.target:null,i=!!n&&dG(n);n&&!i&&t.push({field:"target",reason:"unsupported-action"});let{actions:a}=e;return Object.entries(a??{}).some(([o,s])=>e.subtype!=="link"||o!=="activate"?!0:i&&!cG(s))&&t.push({field:"actions",reason:"unsupported-action"}),t}function cG(e){let t=e?.root;return!e||e.incomplete||!t||t.next.length>0?!1:!(t.type==="uri"&&t.isMap)}function dG(e){return e.kind==="named"?uG.has(e.name??""):e.kind==="goto"||e.kind==="uri"}var uG=new Set(["NextPage","PrevPage","FirstPage","LastPage"]);function qu(e,t,r=()=>!1){let n=new Map;e.forEach((F,h)=>{F.subtype==="unsupported"?n.set(h,"unsupported-kind"):F.subtype==="widget"?n.set(h,"widget"):r(h)&&n.set(h,"unsupported-value")});let i=new Map;e.forEach((F,h)=>{let P=j(F.ref);i.has(P)||i.set(P,h)});let a=F=>t.page??e[F].ref.page,o=(F,h)=>{let P=i.get(j(F));if(!(P===void 0||n.has(P)))return le(a(P))===le(a(h))?P:void 0},s=new Set;e.forEach((F,h)=>{if(n.has(h)||F.subtype!=="popup")return;let P=F.parent?i.get(j(F.parent)):void 0,B=F.parent?o(F.parent,h):void 0;B===void 0?n.set(h,P!==void 0&&n.has(P)?"parent-dropped":"parent-missing"):s.has(B)?n.set(h,"popup-taken"):s.add(B)});let A=new Map;e.forEach((F,h)=>{n.has(h)||A.set(h,A.size)});let d=t.offset??{x:0,y:0},p=[...A.keys()].map(F=>{let h=e[F],P=h.reply?o(h.reply.to,F):void 0,B=h.subtype==="popup"&&h.parent?o(h.parent,F):void 0,{nm:y,groupId:x,reply:I,popup:S,...G}=h;for(let{field:Q}of NA(h))delete G[Q];return{source:F,page:a(F),data:iu(G,d),...P!==void 0?{replyTo:{copy:A.get(P),type:h.reply.type}}:{},...B!==void 0?{parent:A.get(B)}:{}}}),m=[];return e.forEach((F,h)=>{let P=n.get(h);P&&m.push({ref:F.ref,reason:P})}),{copies:p,dropped:m}}function zi(e){let t=[],r=(n,i)=>{if(!(typeof n!="object"||n===null)){if(Array.isArray(n)){n.forEach(a=>r(a));return}if(i==="page"&&xf(n)){t.push(n);return}Object.entries(n).forEach(([a,o])=>r(o,a))}};return r(e),t}function fo(e,t){let r=(n,i)=>typeof n!="object"||n===null?n:Array.isArray(n)?n.map(a=>r(a)):i==="page"&&xf(n)?t(n):Object.fromEntries(Object.entries(n).map(([a,o])=>[a,r(o,a)]));return r(e)}function xf(e){return Object.keys(e).length===2&&e.kind==="objectNumber"&&typeof e.objectNumber=="number"}var zu=e=>{let t=n=>(e&1<[[1,e.exclude],[2,e.includeNoValueFields],[3,e.format==="html"],[4,e.method==="get"],[5,e.submitCoordinates],[6,e.format==="xfdf"],[7,e.includeAppendSaves],[8,e.includeAnnotations],[9,e.format==="pdf"],[10,e.canonicalFormat],[11,e.exclNonUserAnnots],[12,e.exclFKey],[14,e.embedForm]].reduce((t,[r,n])=>n?t|1<t!=null&&!("root"in t)&&jA(t))}function KA(e){return e.incomplete||!e.root?null:Hf(e.root)}function Ju(e){let t={};for(let r of go){let n=e?.[r];if(!n){t[r]=null;continue}let i=KA(n);i&&(t[r]=i)}return t}var go=["activate","cursorEnter","cursorExit","mouseDown","mouseUp","focus","blur","pageOpen","pageClose","pageVisible","pageInvisible"];function VA(e){let t=KA(e);return t&&Fo(t)?t:null}function Fo(e){return e.type==="javascript"&&(e.next??[]).every(Fo)}function Hf(e){let t=[];for(let n of e.next){let i=Hf(n);if(!i)return null;t.push(i)}let r=t.length>0?{next:t}:{};switch(e.type){case"javascript":return{type:"javascript",script:e.script,...r};case"goto":return{type:"goto",destination:e.destination,...r};case"uri":return{type:"uri",uri:e.uri,...r};case"named":return{type:"named",name:e.name,...r};case"hide":return{type:"hide",targets:e.targets,hide:e.hide,...r};case"reset-form":return{type:"reset-form",fields:e.fields,exclude:e.exclude,...r};case"submit-form":return e.payload?{...pG(e.payload),type:"submit-form",url:e.payload.url,fields:e.payload.fields,...r}:null;default:return null}}function $u(e,t,r){let n=new Set;for(let F of t.fields??[]){let h=e.fields.find(P=>cr(P,F));if(!h)throw new g(f.NotFound,`export: the form has no field ${F.kind==="fqn"?F.name:Rn(F)}`);n.add(h)}let i=new Set(r.map(le)),a=new Set;for(let F of t.pages??[]){if(!i.has(le(F)))throw new g(f.NotFound,`export: the document has no page ${le(F)}`);a.add(le(F))}for(let F of e.fields)F.widgets.some(h=>h.page&&a.has(le(h.page)))&&n.add(F);let o=!t.fields&&!t.pages,s=e.fields.filter(F=>o||n.has(F)),A=new Map(e.widgets.map(F=>[j(F.ref),F])),d=s.flatMap(F=>F.widgets.flatMap(h=>{let P=h.ref?A.get(j(h.ref)):void 0;return P?[P]:[]})),p=new Set(s.map(F=>Rn(F.ref))),m=e.calculationOrder.filter(F=>F!==null&&p.has(Rn(F)));return{fields:s.map(lG),widgets:d,calculationOrder:m}}function cr(e,t){return t.kind==="fqn"?e.name===t.name:e.ref.kind==="objectNumber"&&e.ref.objectNumber===t.objectNumber}function lG(e){if(e.kind==="signature")return{...e,valueEntry:{kind:"none"}};if(!e.noExport)return e;let t={...e,valueEntry:{kind:"none"},filledBy:null,filledByName:null,filledAt:null};switch(e.kind){case"text":case"combobox":return{...t,kind:e.kind,value:""};case"checkbox":return{...t,kind:"checkbox",checked:!1,widgets:e.widgets.map(r=>({...r,checked:!1}))};case"radio":return{...t,kind:"radio",value:"Off",widgets:e.widgets.map(r=>({...r,checked:!1}))};case"listbox":return{...t,kind:"listbox",selectedValues:[],options:e.options.map(r=>({...r,selected:!1}))};default:return t}}var Of=["invisible","hidden","print","noZoom","noRotate","noView","readOnly","locked","toggleNoView","lockedContents"];function YA(e){return e.valueEntry.kind==="scalar"||e.valueEntry.kind==="array"}function ep(e,t,r){let n={};for(let[i,a]of Object.entries(e.actions??{})){if(!a)continue;let o=VA(a),s=`actions.${i}`;o?t?n[i]=o:r.push({ref:e.ref,field:s,reason:"script-not-allowed"}):r.push({ref:e.ref,field:s,reason:"unsupported-action"})}return n}function XA(e,t,r,n,i){let a={};for(let A of go){let d=t.actions?.[A];if(!d)continue;let p=KA(d),m=F=>i.push({ref:e.ref,widget:t.ref,field:`actions.${A}`,reason:F});p?!n&&jA(p)?m("script-not-allowed"):a[A]=fo(p,r):m("unsupported-action")}let o=e.kind==="checkbox"||e.kind==="radio"?e.widgets.find(A=>A.ref&&j(A.ref)===j(t.ref)):void 0,s={color:t.color,interiorColor:t.interiorColor,dashArray:t.dashArray,checkStyle:t.checkStyle,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,caption:e.kind==="pushbutton"?t.caption:null};return{page:r(t.page),rect:t.rect,...t.rotation?{rotation:t.rotation}:{},strokeWidth:t.strokeWidth,borderStyle:t.borderStyle,textAlign:t.textAlign,...Object.fromEntries(Object.entries(s).filter(([,A])=>A!=null)),...o&&"exportValue"in o?{exportValue:o.exportValue}:{},...Object.keys(a).length>0?{actions:a}:{}}}function WA(e){return Object.fromEntries(Of.map(t=>[t,e[t]]))}function tp(e,t,r,n,i){let a={name:t,readOnly:e.readOnly,required:e.required,noExport:e.noExport,...e.alternateName!==null?{alternateName:e.alternateName}:{},...e.mappingName!==null?{mappingName:e.mappingName}:{},...e.groupId!==null?{groupId:e.groupId}:{},...Object.keys(r).length>0?{actions:r}:{},widgets:n},o=e.defaultValueEntry.kind!=="none",s=A=>A.map(({label:d,value:p})=>({label:d,value:p}));switch(e.kind){case"text":return{...a,kind:"text",...o?{defaultValue:e.defaultValue}:{},...e.maxLength!==null?{maxLength:e.maxLength}:{},multiline:e.multiline,password:e.password,comb:e.comb};case"radio":return{...a,kind:"radio",radiosInUnison:e.radiosInUnison,noToggleToOff:e.noToggleToOff};case"combobox":return{...a,kind:"combobox",edit:e.edit,options:s(e.options),...o?{defaultValue:e.defaultValue}:{}};case"listbox":return{...a,kind:"listbox",multiSelect:e.multiSelect,options:s(e.options),...o?{defaultValue:e.defaultValue}:{}};case"checkbox":case"pushbutton":case"signature":return{...a,kind:e.kind};default:throw new g(f.InvalidArg,`${i} has no family`)}}function Yr(e){switch(e.kind){case"checkbox":return{checked:e.checked};case"listbox":return{selectedValues:e.selectedValues};case"radio":return{value:e.value==="Off"?null:e.value};case"text":case"combobox":return{value:e.value};default:return null}}function UA(e,t){if(e.has(t))return!0;for(let r of e)if(r.startsWith(`${t}.`)||t.startsWith(`${r}.`))return!0;return!1}function Qf(e,t){let r=e.lastIndexOf("."),n=e.slice(0,r+1),i=e.slice(r+1),a=/^(.*)_(\d+)$/.exec(i),o=a?a[1]:i,s=a?Number(a[2])+1:2;for(;t(`${n}${o}_${s}`);)s+=1;return`${n}${o}_${s}`}function np(e){let{form:t,mayScript:r,placement:n}=e,i=new Map(t.widgets.map(h=>[j(h.ref),h])),a=e.widgets?new Set(e.widgets.map(j)):null,o=new Set(t.fields.map(h=>h.name)),s=n.offset??{x:0,y:0},A=h=>({...h,...n.page?{page:n.page}:{},...h.rect?{rect:{...h.rect,x:h.rect.x+s.x,y:h.rect.y+s.y}}:{}}),d=[],p=[],m=[],F=new Set;e.fields.forEach((h,P)=>{let B=t.fields.find(Q=>cr(Q,h));if(!B)throw new g(f.NotFound,`copy: no form field ${Rn(h)}`,{details:{item:P}});let y=B.widgets.flatMap(Q=>{let K=Q.ref?i.get(j(Q.ref)):void 0;return K&&(!a||a.has(j(K.ref)))?[K]:[]});for(let Q of y)F.add(j(Q.ref));if(a&&y.length===0)throw new g(f.InvalidArg,`copy: 'widgets' names no widget of field ${P}`,{details:{item:P,field:"widgets"}});if(B.kind==="unknown"){d.push({ref:B.ref,reason:"unsupported-kind"});return}let x=Qf(B.name,Q=>UA(o,Q));o.add(x);let I=ep(B,r,d),S=y.map(Q=>A(XA(B,Q,K=>K,r,d))),G=e.values&&B.kind!=="signature"&&YA(B)?Yr(B):null;m.push(B),p.push({source:P,draft:tp(B,x,I,S,`copy: field ${P}`),widgets:y.map(Q=>Q.ref),flags:y.map(WA),...G?{value:G}:{}})});for(let h of a??[])if(!F.has(h))throw new g(f.InvalidArg,`copy: widget ${h} is a widget of none of the fields`,{details:{field:"widgets"}});return{creates:p,calculationOrder:t.calculationOrder.flatMap(h=>h?p.flatMap((P,B)=>cr(m[B],h)&&P.draft.actions?.calculate?[B]:[]):[]),dropped:d}}var Hne={doc:{open:()=>"doc.open",render:Object.assign(()=>"doc.render",{thumbnail:()=>"doc.render.thumbnail"}),text:{select:()=>"doc.text.select",copy:()=>"doc.text.copy",search:()=>"doc.text.search"},content:{copy:()=>"doc.content.copy"},download:Object.assign(()=>"doc.download",{flattened:()=>"doc.download.flattened"}),print:Object.assign(()=>"doc.print",{high:()=>"doc.print.high"}),pages:{modify:()=>"doc.pages.modify",assemble:()=>"doc.pages.assemble"},forms:{read:()=>"doc.forms.read",fill:()=>"doc.forms.fill",modify:()=>"doc.forms.modify",import:()=>"doc.forms.import",script:()=>"doc.forms.script",submit:()=>"doc.forms.submit"},annotate:{read:()=>"doc.annotate.read",modify:()=>"doc.annotate.modify",import:()=>"doc.annotate.import"},metadata:{modify:()=>"doc.metadata.modify"},attachments:{modify:()=>"doc.attachments.modify"},outline:{modify:()=>"doc.outline.modify"},redact:()=>"doc.redact",sign:Object.assign(()=>"doc.sign",{certify:()=>"doc.sign.certify"})}},One={annotations:{create:qA("annotations","create"),update:qA("annotations","update"),delete:qA("annotations","delete"),setGroup:vo("annotations","set-group"),all:qA("annotations","*")},fields:{fill:vo("fields","fill"),sign:vo("fields","sign"),setGroup:vo("fields","set-group"),all:vo("fields","*")}};function qA(e,t){return{all:()=>`${e}:${t}:all`,self:()=>`${e}:${t}:self`,createdBy:r=>`${e}:${t}:createdBy=${r}`,group:r=>`${e}:${t}:group=${r}`}}function vo(e,t){return{all:()=>`${e}:${t}:all`,group:r=>`${e}:${t}:group=${r}`}}function Rf(e){let t=new Set;return t.add("doc.open"),t.add("doc.render"),t.add("doc.annotate.read"),t.add("doc.forms.read"),t.add("doc.text.search"),t.add("doc.text.select"),e.copy&&(t.add("doc.text.copy"),t.add("doc.content.copy")),e.print&&t.add("doc.print"),e.printHighQuality&&e.print&&t.add("doc.print.high"),e.modifyContents&&(t.add("doc.pages.modify"),t.add("doc.redact"),t.add("doc.metadata.modify"),t.add("doc.attachments.modify")),(e.modifyContents||e.assemble)&&(t.add("doc.pages.assemble"),t.add("doc.outline.modify")),e.modifyAnnotations&&t.add("doc.annotate.modify"),(e.modifyContents||e.modifyAnnotations||e.fillForms)&&(t.add("doc.forms.fill"),t.add("doc.sign")),e.modifyAnnotations&&e.modifyContents&&t.add("doc.forms.modify"),[...t]}var ZA=4;var zA={none:0,lta:1,fill:2,annotate:3};function Zi(e){return e===1?"lta":e===2?"fill":"annotate"}function Ji(e,t){return zA[e]<=zA[t]?e:t}function Po(e,t){return e===null||zA[e]>=zA[t]}function rp(e,t){return t===e||t.startsWith(`${e}.`)}function JA(e,t){switch(e.action){case"all":return!0;case"include":return e.fields.some(r=>rp(r,t));case"exclude":return!e.fields.some(r=>rp(r,t))}}function zt(e){let t=!1,r=null,n=null,i=[];for(let a of e)a.signed&&(t=!0,a.catalogCertification&&a.docMdp!==null&&n===null&&(n={signatureIndex:a.index,permission:a.docMdp},r=Ji(r??"annotate",Zi(a.docMdp))),a.fieldMdp&&i.push({signatureIndex:a.index,source:"fieldmdp",spec:a.fieldMdp}),a.lock&&(i.push({signatureIndex:a.index,source:"lock",spec:a.lock}),a.lock.permission!==void 0&&(r=Ji(r??"annotate",Zi(a.lock.permission)))));return{enforced:r,judged:t?r??"annotate":null,certification:n,fieldLocks:i,policyVersion:4}}function ip(e,t){for(let r of e.fieldLocks)if(JA(r.spec,t))return r;return null}var Tf=["doc.download.flattened","doc.pages.modify","doc.pages.assemble","doc.redact","doc.attachments.modify","doc.outline.modify","doc.forms.modify","doc.forms.script","doc.annotate.modify","doc.annotate.import","doc.forms.fill","doc.forms.import"],Mne=new Set(Tf);function gn(e){let t=new Set;return!e||e.judged===null||(t.add("doc.download.flattened"),e.enforced===null)||(t.add("doc.pages.modify"),t.add("doc.pages.assemble"),t.add("doc.redact"),t.add("doc.attachments.modify"),t.add("doc.outline.modify"),t.add("doc.forms.modify"),t.add("doc.forms.script"),Po(e.enforced,"annotate")||(t.add("doc.annotate.modify"),t.add("doc.annotate.import")),Po(e.enforced,"fill")||(t.add("doc.forms.fill"),t.add("doc.forms.import"))),t}function ap(e,t){return`the document is signed: ${t.certification?`certification signature ${t.certification.signatureIndex} (permission ${t.certification.permission})`:`an existing signature (declared level '${t.enforced??"none declared"}')`} forbids '${e}'`}var mG=new Set(["doc.open","doc.render","doc.render.thumbnail","doc.text.select","doc.text.copy","doc.text.search","doc.content.copy","doc.download","doc.download.flattened","doc.print","doc.print.high","doc.pages.modify","doc.pages.assemble","doc.forms.read","doc.forms.fill","doc.forms.modify","doc.forms.import","doc.forms.script","doc.forms.submit","doc.annotate.read","doc.annotate.modify","doc.annotate.import","doc.metadata.modify","doc.attachments.modify","doc.outline.modify","doc.redact","doc.sign","doc.sign.certify"]);function Xr(e){if(e==="*")return{kind:"wildcard"};if(e==="pdf.permissions")return{kind:"virtual",name:"pdf.permissions"};if(e.includes(":"))return wG(e);let t=Lf(e);return t!==null?FG(e,t):vG(e)}var Mf=new Set(["doc","docs","pdf","annotations","fields","tokens","grants","shares","tenants","layer","visitor","document","submission","signature"]);function Lf(e){if(e.includes(":"))return null;let t=e.indexOf(".");if(t<=0)return null;let r=e.slice(0,t);return Mf.has(r)?null:r}function wG(e){let t=e.indexOf(":"),r=e.indexOf(":",t+1);if(t===-1||r===-1)throw new mt(e,"collab scope requires entity:action:filter");let n=e.slice(0,t),i=e.slice(t+1,r),a=e.slice(r+1);if(n==="fields")return bG(e,i,a);if(n!=="annotations")throw new mt(e,`unknown collab entity: ${n}`);if(i!=="create"&&i!=="update"&&i!=="delete"&&i!=="set-group"&&i!=="*")throw new mt(e,`unknown collab action: ${i}`);let o=Nf(a,e);if(i==="set-group"&&(o.kind==="self"||o.kind==="createdBy"))throw new mt(e,`set-group only supports :all or :group= filters (got :${o.kind})`);return{kind:"collab",entity:n,action:i,filter:o}}function bG(e,t,r){if(t!=="fill"&&t!=="sign"&&t!=="set-group"&&t!=="*")throw new mt(e,`unknown fields action: ${t}`);let n=Nf(r,e);if(n.kind!=="all"&&n.kind!=="group")throw new mt(e,`fields only support :all or :group= filters (got :${n.kind})`);return{kind:"collab",entity:"fields",action:t,filter:n}}function Nf(e,t){if(e==="all")return{kind:"all"};if(e==="self")return{kind:"self"};if(e.startsWith("createdBy=")){let r=e.slice(10);if(!r)throw new mt(t,"createdBy= requires a value");return{kind:"createdBy",userId:r}}if(e.startsWith("group=")){let r=e.slice(6);if(!r)throw new mt(t,"group= requires a value");return{kind:"group",groupId:r}}throw new mt(t,`unknown filter: ${e}`)}var fG=/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+$/;var gG=/^[a-z][a-z0-9]*(-[a-z0-9]+)*(\.[a-z][a-z0-9]*(-[a-z0-9]+)*)+$/;function FG(e,t){if(!gG.test(e))throw new mt(e,"invalid plugin permission shape (expected .)");return{kind:"plugin",name:e,plugin:t}}function vG(e){if(!fG.test(e))throw new mt(e,"invalid capability name shape");if(!mG.has(e))throw new mt(e,`unknown capability: ${e}`);return{kind:"capability",name:e}}function ho(e){return{...e.userId?{userId:e.userId}:{},...e.groupId?{groupId:e.groupId}:{}}}function $i(e,t,r,n=null){if(gn(n).has(e))return!1;let i=t.map(Xr);return i.some(a=>a.kind==="wildcard")?!0:ea(i,r,n).has(e)}function ko(e,t,r,n,i){let a=r.map(Xr);if(a.some(s=>s.kind==="wildcard"))return!0;let o=a.filter(s=>s.kind==="collab"&&s.entity==="annotations"&&(s.action===e||s.action==="*"));return o.length>0?o.some(s=>jf(s.filter,t,n)):ea(a,i).has("doc.annotate.modify")}function ea(e,t,r=null){let n=new Set,i=!1,a=!1;for(let o of e)o.kind==="capability"?n.add(o.name):o.kind==="virtual"&&o.name==="pdf.permissions"?PG(n,t):o.kind==="collab"&&o.entity==="annotations"?i=!0:o.kind==="collab"&&o.entity==="fields"&&(a=!0);n.has("doc.render")&&n.add("doc.render.thumbnail"),n.has("doc.annotate.modify")&&n.add("doc.annotate.read"),n.has("doc.forms.modify")&&(n.add("doc.forms.fill"),n.add("doc.forms.read")),n.has("doc.forms.fill")&&n.add("doc.forms.read"),i&&n.add("doc.annotate.read"),a&&n.add("doc.forms.read");for(let o of gn(r))n.delete(o);return n}function Do(e,t,r,n){if(t===r)return!0;let i=n.map(Xr);if(i.some(a=>a.kind==="wildcard"))return!0;for(let a of i)if(a.kind==="collab"&&a.entity===e&&!(a.action!=="set-group"&&a.action!=="*")&&(a.filter.kind==="all"||a.filter.kind==="group"&&a.filter.groupId===t))return!0;return!1}function op(e,t,r,n,i=null){let a=e==="fill"?"doc.forms.fill":"doc.sign";if(gn(i).has(a))return!1;let o=r.map(Xr);if(o.some(A=>A.kind==="wildcard"))return!0;let s=o.filter(A=>A.kind==="collab"&&A.entity==="fields"&&(A.action===e||A.action==="*"));return s.length>0?s.some(A=>A.filter.kind==="all"||t!==null&&A.filter.groupId===t):ea(o,n,i).has(a)}function sp(e,t,r,n=null){let i=e==="fill"?"doc.forms.fill":"doc.sign";if(gn(n).has(i))return!1;let a=t.map(Xr);return a.some(o=>o.kind==="wildcard")||a.some(o=>o.kind==="collab"&&o.entity==="fields"&&(o.action===e||o.action==="*"))?!0:ea(a,r,n).has(i)}function jf(e,t,r){switch(e.kind){case"all":return!0;case"self":return!!r.userId&&t.userId===r.userId;case"createdBy":return t.userId===e.userId;case"group":return t.groupId===e.groupId}}function PG(e,t){for(let r of Rf(t))e.add(r)}var $f={left:0,bottom:0,right:612,top:792},kG={left:0,right:0,bottom:0,top:0};function dp(e){let t=e.media??$f,r=i=>$d(i,t)??kG,n=r(e.crop??t);return{media:t,crop:n,bleed:r(e.bleed??n),trim:r(e.trim??n),art:r(e.art??n)}}function up(e){return!Number.isInteger(e)||e%90!==0?0:(e%360+360)%360}function Wr(){let e=globalThis.crypto.getRandomValues(new Uint8Array(16));return e[6]=e[6]&15|64,e[8]=e[8]&63|128,eg(e)}function tc(e=Date.now()){let t=globalThis.crypto.getRandomValues(new Uint8Array(16)),r=Math.max(0,Math.floor(e));for(let n=5;n>=0;n--)t[n]=r%256,r=Math.floor(r/256);return t[6]=t[6]&15|112,t[8]=t[8]&63|128,eg(t)}function eg(e){let t=Array.from(e,r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function pp(e,t,r){let n=new Set(t.map(le)),i=new Map,a=new Map,o=P=>{let B=le(P);if(i.has(B)||!n.has(B))return;let y=r(P);i.set(B,y);for(let x of y)a.set(j(x.ref),x)},s=P=>(o(P.page),a.get(j(P)));for(let P of e.pages??[])if(!n.has(le(P)))throw new g(f.NotFound,`export: the document has no page ${le(P)}`);let A=!e.refs&&!e.pages,d=(e.include??"threads")==="threads";for(let P of A?t:e.pages??[])o(P);let p=new Set,m=[],F=P=>{if(!P)return;let B=j(P.ref);p.has(B)||(p.add(B),m.push(P))};if(A)for(let P of i.values())P.forEach(F);else{for(let P of e.pages??[])i.get(le(P))?.forEach(F);for(let P of e.refs??[]){let B=s(P);if(!B)throw new g(f.NotFound,`export: the document has no annotation ${j(P)}`);F(B)}}if(d){for(let B of[...m])B.subtype==="popup"&&B.parent&&F(s(B.parent));let P=new Map;for(let B of i.values())for(let y of B){let x=y.reply?s(y.reply.to):void 0;if(!x)continue;let I=j(x.ref);P.set(I,[...P.get(I)??[],y])}for(let B=0;Bt.annotations),pages:e.flatMap(t=>t.pages)}}function tg(e){let t=e.crop;return{media:$e(e.media,t),crop:$e(e.crop,t),bleed:$e(e.bleed,t),trim:$e(e.trim,t),art:$e(e.art,t)}}function ng(e,t){let{actions:r,viewports:n,...i}=e;return{...i,boxes:tg(e.boxes),...r?{actions:Gu(r,a=>Mn(a,t))}:{},...n?{viewports:so(n,e.boxes.crop)}:{}}}function rg(e){let t=new Map(e.map(r=>[r.ref.objectNumber,r.boxes.crop]));return r=>{let n=t.get(r.objectNumber);if(!n)throw new g(f.InvalidArg,`No page ${r.objectNumber} in this document`);return n}}function Bo(e){let t=rg(e.pages);return{...e,pages:e.pages.map(r=>ng(r,t))}}function mp(e,t){return e.kind==="rect"?{...e,rect:Ki(e.rect,t)}:e}function nc(e,t){return e.map(r=>({...r,rect:$e(r.rect,t)}))}function Eo(e,t){let{actions:r,...n}=e,i=t(e.page);return{...n,...e.rect?{rect:Ki(e.rect,i)}:{},...e.box?{box:Ki(e.box,i)}:{},...r?{actions:_A(r,a=>Mr(a,t))}:{}}}function _o(e,t){return e.widgets?{...e,widgets:e.widgets.map(r=>Eo(r,t))}:e}function ig(e,t){return Cu(e,r=>Mn(r,t))}function Ot(e,t){return e.actions?{...e,actions:ig(e.actions,t)}:e}function Ur(e,t){return or(e,t(e.page),t)}function yo(e,t){return{...e,fields:e.fields.map(r=>Ot(r,t)),widgets:e.widgets.map(r=>Ur(r,t))}}function ag(e,t){return{...e,target:e.target&&io(e.target,t),action:e.action&&Lr(e.action,t)}}function og(e,t){let{target:r,...n}=e;return r===void 0?n:{...n,target:r&&r.kind==="goto"?{...r,destination:t(r.destination)}:r}}function wp(e,t){return{...e,items:e.items.map(r=>Go(r,t))}}function Go(e,t){return ag(e,r=>Mn(r,t))}function bp(e,t){return og(e,r=>Mr(r,t))}function Co(e,t){return og(e,r=>Mr(r,t))}function fp(e){return dr(e.actions)||(e.widgets??[]).some(t=>dr(t.actions))}function rc(e){let{box:t,rect:r,rotation:n,...i}=e;if(n!==void 0&&![0,90,180,270].includes(n))throw new g(f.InvalidArg,`a widget turns by a quarter turn (0, 90, 180 or 270), not ${n}`,{details:{field:"rotation"}});let a=t?fn(Ce(t),n??0):r;if(!a)throw new g(f.InvalidArg,"a widget's placement needs its `rect` or its `box`",{details:{field:"rect"}});return{...i,rect:a,...n!==void 0?{rotation:n}:{},...bA(i.borderStyle,i.dashArray)?{dashArray:[...wA]}:{}}}function ic(e){let t=new DG(e),r=t.value();if(t.skipSpaces(),!t.atEnd())throw new Error(`trailing input at ${t.pos}: ${e.slice(t.pos,t.pos+20)}`);return r}var DG=class{constructor(e){this.text=e,xe(this,"pos",0)}atEnd(){return this.pos>=this.text.length}skipSpaces(){for(;this.pos>",this.pos))return this.pos+=2,e;if(this.text[this.pos]!=="/")throw new Error(`expected a key at ${this.pos}`);let t=this.name();this.skipSpaces(),e[t]=this.value()}}stream(){let e=/^stream\((\d+),([0-9a-fA-F]*)\)/.exec(this.text.slice(this.pos));if(!e)throw new Error(`malformed stream signature at ${this.pos}`);this.pos+=e[0].length;let t=this.dictEntries();return{t:"stream",length:Number(e[1]),sha256:e[2].toLowerCase(),dict:t}}array(){this.expect("[");let e=[];for(;;){if(this.skipSpaces(),this.text[this.pos]==="]")return this.pos++,{t:"array",items:e};e.push(this.value())}}name(){this.expect("/");let e="";for(;this.pos"||t==="("||t===")")break;if(t==="#"&&/^[0-9A-Fa-f]{2}/.test(this.text.slice(this.pos+1,this.pos+3))){e+=String.fromCharCode(parseInt(this.text.slice(this.pos+1,this.pos+3),16)),this.pos+=3;continue}e+=t,this.pos++}return e}literalString(){this.expect("(");let e=1,t="";for(;this.pos",this.pos);if(e<0)throw new Error("unterminated hex string");let t=this.text.slice(this.pos,e).replace(/\s+/g,"");this.pos=e+1;let r="";for(let n=0;n`/${t} ${Ji(e.entries[t])}`).join("")}>>`;case"stream":return`stream(${e.length},${e.sha256})${Ji({t:"dict",entries:e.dict})}`;case"array":return`[${e.items.map(Ji).join(" ")}]`;case"ref":return`${e.num} 0 R`;case"name":return`/${Vy(e.v)}`;case"string":return`(${e.v.replace(/[\\()]/g,t=>`\\${t}`)})`;case"number":return String(e.v);case"bool":return e.v?"true":"false";case"null":return"null"}}function Re(e){return e?e.t==="dict"?e.entries:e.t==="stream"?e.dict:null:null}function xt(e,t){let r=Re(e)??{},n=Re(t)??{},i=new Set;for(let a of new Set([...Object.keys(r),...Object.keys(n)]))MA(r[a]??null,n[a]??null)||i.add(a);return i}function gn(e){return e?e.t==="ref"?[e.num]:e.t==="array"?e.items.flatMap(gn):[]:[]}function Vy(e){let t="";for(let r of e){let n=r.charCodeAt(0);n<33||n>126||"#/[]<>(){}%".includes(r)?t+=`#${n.toString(16).toUpperCase().padStart(2,"0")}`:t+=r}return t}function ap(e,t){return e.some(r=>r.verdict==="forbidden")?"forbidden":e.some(r=>r.verdict==="incomplete")?"indeterminate":t?"permitted":"unchanged"}function op(e){return e.find(t=>t.verdict==="forbidden")??e.find(t=>t.verdict==="incomplete")??e.find(t=>t.verdict==="permitted")}function sp(e){let t=op(e.findings);return{verdict:e.verdict,complete:!e.findings.some(r=>r.verdict==="incomplete"),...t?{primary:t}:{},findings:e.findings}}function Ap(e,t){let r=[...e.findings];for(let a of t)if(a!==e)for(let o of a.findings)o.verdict!=="permitted"&&r.push({...o,detail:`revision ${a.newer}: ${o.detail??o.rule}`});let n=ap(r,e.verdict!=="unchanged"||t.some(a=>a.verdict!=="unchanged")),i=op(r);return{verdict:n,complete:!r.some(a=>a.verdict==="incomplete"),...i?{primary:i}:{},findings:r}}var qt=["old","new"],Yy=new Set(["Size","Prev","XRefStm","Info","ID","Root","Type","W","Index","Filter","DecodeParms","Length","Encrypt"]),Xy=new Set(["Metadata","Extensions","Version","DSS","AcroForm","Perms"]),Wy=new Set(["DR","DA","Q","SigFlags","NeedAppearances","Fields"]),Pf={annotate:new Set(["V","AS","AP","I","DA","Ff","RV","MK","Q","TU","F","Rect","BS","Opt","DV","MaxLen"]),fill:new Set(["V","AS","AP","I","RV","DA","Ff"])},hf={annotate:new Set(["AS","AP","DA","MK","Q","TU","F","Rect","BS"]),fill:new Set(["AS","AP","DA"])},kf={annotate:new Set(["V","AP","AS","Ff","TU","Lock"]),fill:new Set(["V","AP","AS","Ff"])},Uy=new Set(["AP","AS"]),qy=1;function zy(e){return e==="annotate"?Pf.annotate:Pf.fill}function Zy(e){return e==="annotate"?hf.annotate:hf.fill}function Df(e){return e==="annotate"?kf.annotate:kf.fill}var Jy=new Set(["identical-rewrite","orphan","xref-container","trailer"]);function Mf(e){let t=Ut(e.signatures);return{level:t.judged??"annotate",locks:t.fieldLocks}}function XA(e){let t=$y(e.changes),{level:r,locks:n}=e.restrictions??Mf(e.before),i=e.levelOverride??r,a=new tG({...e,changes:t},i,n);eG(a),nG(a),rG(a),mG(a),iG(a),aG(a),oG(a),sG(a),AG(a),cG(a),dG(a),uG(a),pG(a),lG(a),wG(a);let o=ap(a.findings,a.findings.some(s=>s.verdict==="permitted"&&!Jy.has(s.rule)));return{older:e.older,newer:e.newer,levelInForce:i,locks:n,verdict:o,findings:a.findings,changes:t}}function $y(e){return e.map(t=>{if(t.value.truncated||t.kind==="xref"||t.kind==="objstm")return t;let r=t.present.old&&(t.value.old===null||t.read?.old==="failed"),n=t.present.new&&(t.value.new===null||t.read?.new==="failed");return r||n?{...t,value:{...t.value,truncated:!0}}:t})}function eG(e){let t=e.input.health;if(!t)return;let r=t.old;if(r.sparseXref||r.bareReferences>0){let n=[r.sparseXref?"its cross-reference table has no entry for some object numbers below /Size":null,r.bareReferences>0?`${r.bareReferences} reachable indirect object(s) consist of a bare reference`:null].filter(i=>i!==null).join("; ");e.findings.push({rule:"base-unverifiable",verdict:"incomplete",objectNumber:0,detail:`the signed revision cannot be verified against later changes by Acrobat (${n}); no verdict is given rather than one Acrobat would contradict`})}for(let n of qt)t[n].referrersComplete||e.findings.push({rule:"unexplained",verdict:"incomplete",objectNumber:0,detail:`the ${n==="old"?"older":"newer"} revision's reachability walk hit its budget; not every use of a changed object is known`})}function WA(e){return e.change==="modified"&&!e.value.truncated&&e.read?.old!=="failed"&&e.read?.new!=="failed"&&e.raw.old!==null&&e.raw.new!==null&&e.raw.old===e.raw.new&&!e.streamDataChanged}function Bf(e){let t=new Map,r=new Map,n=new Set;for(let a of e.fields){t.set(a.objectNumber,a),a.kind==="signature"&&n.add(a.objectNumber);for(let o of a.widgets)r.set(o,a.objectNumber)}let i=new Set;for(let a of e.signatures)a.signed&&a.field.kind==="objectNumber"&&i.add(a.field.objectNumber);return{fieldByObj:t,widgetToField:r,pages:new Set(e.pages),signedFields:i,sigFields:n}}function sr(e){return`${e.parent}:${e.label}`}var tG=class{constructor(e,t,r){this.input=e,this.level=t,this.locks=r,xe(this,"findings",[]),xe(this,"byNum",new Map),xe(this,"before",void 0),xe(this,"after",void 0),xe(this,"claims",new Map),xe(this,"locked",new Set);for(let n of e.changes)this.byNum.set(n.objectNumber,n);this.before=Bf(e.before),this.after=Bf(e.after)}get changes(){return this.input.changes}allows(e){return fo(this.level,e)}claimEdge(e,t,r,n,i=!0){if(this.locked.has(e.objectNumber))return;let a=`${e.objectNumber}:${t}:${sr(r)}`;this.claims.has(a)||this.claims.set(a,{rule:n,allow:i})}claimAll(e,t,r=!0){for(let n of qt)for(let i of e.usage[n])this.claimEdge(e,n,i,t,r)}claimStable(e,t,r=!0){let n=new Set(e.usage.old.map(sr)),i=new Set(e.usage.new.map(sr));for(let a of e.usage.old)i.has(sr(a))&&this.claimEdge(e,"old",a,t,r);for(let a of e.usage.new)n.has(sr(a))&&this.claimEdge(e,"new",a,t,r)}isClaimed(e,t,r){return this.claims.has(`${e.objectNumber}:${t}:${sr(r)}`)}isAllowed(e,t,r){return this.claims.get(`${e.objectNumber}:${t}:${sr(r)}`)?.allow===!0}permitted(e,t,r){this.locked.has(e.objectNumber)||this.findings.push({rule:t,verdict:"permitted",objectNumber:e.objectNumber,detail:r})}forbidden(e,t,r,n){this.findings.push({rule:t,verdict:e.value.truncated?"incomplete":"forbidden",objectNumber:e.objectNumber,edge:n?sr(n):void 0,detail:e.value.truncated?`${r} (judged on missing evidence: not proven)`:r})}claimSubtree(e,t,r,n){let i=new Set,a=!0;for(;a;){a=!1;for(let o of this.changes){if(t.has(o.objectNumber)||i.has(o.objectNumber)||this.locked.has(o.objectNumber))continue;let s=o.usage[e];if(s.length===0)continue;let A=s.filter(d=>t.has(d.parent)&&r(d.label)||i.has(d.parent));if(A.length!==0){for(let d of A)this.claimEdge(o,e,d,n);s.every(d=>A.includes(d)||this.isAllowed(o,e,d))&&(i.add(o.objectNumber),a=!0)}}}}isIdentical(e){return WA(e)}newlySigned(){let e=[];for(let t of this.input.after.signatures)!t.signed||t.field.kind!=="objectNumber"||this.before.signedFields.has(t.field.objectNumber)||e.push({fieldObjectNumber:t.field.objectNumber,sig:t});return e}};function nG(e){for(let t of e.changes)(t.kind==="xref"||t.kind==="objstm")&&(e.claimAll(t,"xref-container"),e.permitted(t,"xref-container","cross-reference container; members are judged on their own"))}function rG(e){for(let t of e.changes)e.isIdentical(t)&&(e.allows("fill")?(e.claimAll(t,"identical-rewrite"),e.permitted(t,"identical-rewrite","written again with the sealed value")):(e.claimAll(t,"identical-rewrite",!1),e.forbidden(t,"identical-rewrite",`written again with the sealed value under level '${e.level}' (not established for this level)`)))}function iG(e){let t=e.byNum.get(0);if(!t)return;let r=xt(t.value.old,t.value.new),n=[...r].filter(o=>!Yy.has(o)),i=Re(t.value.old)?.Root,a=Re(t.value.new)?.Root;if(n.length>0){e.forbidden(t,"trailer",`trailer keys changed: ${n.join(", ")}`);return}if(r.has("Root")&&!MA(i??null,a??null)){e.forbidden(t,"trailer","the trailer points at a different catalog");return}if(r.has("Encrypt")&&!MA(Re(t.value.old)?.Encrypt??null,Re(t.value.new)?.Encrypt??null)){e.forbidden(t,"trailer","the trailer points at a different encryption dictionary");return}e.claimAll(t,"trailer"),e.permitted(t,"trailer")}function cp(e,t){let r=[...e.usage.old,...e.usage.new];return r.length>0&&r.every(t)}function aG(e){for(let t of e.changes)e.isIdentical(t)||t.objectNumber!==0&&cp(t,r=>r.parent===0&&r.label==="Info")&&(e.claimAll(t,"info"),e.permitted(t,"info","document information dictionary"))}function oG(e){let t=new Set([e.input.before.root,e.input.after.root]);for(let r of e.changes)e.isIdentical(r)||cp(r,n=>t.has(n.parent)&&n.label==="Metadata")&&(e.claimAll(r,"metadata"),e.permitted(r,"metadata","XMP metadata stream"))}function sG(e){let t=e.input.after.root,r=e.byNum.get(t);if(!r||e.isIdentical(r))return;let n=xt(r.value.old,r.value.new),i=[...n].filter(a=>!Xy.has(a));if(i.length>0){e.forbidden(r,"catalog-housekeeping",`catalog keys changed: ${i.join(", ")}`);return}if(n.has("AcroForm")&&!e.input.after.acroForm&&!e.input.before.acroForm){let a=Lf(e,Re(r.value.old)?.AcroForm??null,Re(r.value.new)?.AcroForm??null);if(a){e.forbidden(r,"acroform-housekeeping",a);return}for(let o of qt)e.claimSubtree(o,new Set([t]),s=>s.startsWith("AcroForm/DR/"),"acroform-housekeeping")}if(n.has("Perms")){let a=Ut(e.input.after.signatures),o=Ut(e.input.before.signatures);if(!a.certification||o.judged!==null){e.forbidden(r,"catalog-housekeeping","/Perms may only appear with the certification signature, in the first signed revision");return}}e.claimAll(r,"catalog-housekeeping"),e.permitted(r,"catalog-housekeeping")}function AG(e){let t=e.input.after.acroForm||e.input.before.acroForm;if(!t)return;let r=e.byNum.get(t);if(!r||e.isIdentical(r))return;let n=Lf(e,r.value.old,r.value.new);if(n){e.forbidden(r,"acroform-housekeeping",n);return}e.claimAll(r,"acroform-housekeeping"),e.permitted(r,"acroform-housekeeping");for(let i of qt)e.claimSubtree(i,new Set([t]),a=>a.startsWith("DR/"),"acroform-housekeeping")}function Lf(e,t,r){let n=xt(t,r),i=[...n].filter(a=>!Wy.has(a));if(i.length>0)return`AcroForm keys changed: ${i.join(", ")}`;if(n.has("Fields")){let a=gn(Re(t)?.Fields),o=gn(Re(r)?.Fields);if(a.length>o.length||a.some((d,p)=>o[p]!==d))return"/AcroForm /Fields is not append-only";let s=dp(e),A=o.slice(a.length).filter(d=>!s.has(d));if(A.length>0)return`/AcroForm /Fields gained non-signature fields: ${A.join(", ")}`}return null}function Ef(e,t){let r=Re(e.value.old)?.[t],n=Re(e.value.new)?.[t],i=gn(r),a=gn(n);if(r&&r.t!=="array"||!n||n.t!=="array"||i.length>a.length)return null;for(let o=0;on==="DSS"||n.startsWith("DSS/"),"dss");for(let r of e.changes)r.usage.new.some(n=>t.has(n.parent)&&n.label==="DSS")&&!e.findings.some(n=>n.objectNumber===r.objectNumber)&&e.permitted(r,"dss","document security store")}function dG(e){let t=dp(e);if(t.size===0)return;let r="signature-field-added";if(!e.allows("fill")){for(let i of t){let a=e.byNum.get(i);a&&e.forbidden(a,r,`a signature field was added under level '${e.level}'`)}return}let n=new Set;for(let i of t){let a=e.after.fieldByObj.get(i),o=e.byNum.get(i);o&&(e.claimAll(o,r),e.permitted(o,r,`new signature field "${a.name}"`));for(let s of a.widgets){if(n.add(s),s===i)continue;let A=e.byNum.get(s);A&&(e.claimAll(A,r),e.permitted(A,r,`widget of new signature field "${a.name}"`))}}for(let i of e.after.pages){let a=e.byNum.get(i);if(!a||e.isIdentical(a))continue;let o=xt(a.value.old,a.value.new);if(o.size!==1||!o.has("Annots"))continue;let s=Ef(a,"Annots");s&&s.every(A=>n.has(A))&&(e.claimAll(a,r),e.permitted(a,r,"page /Annots gained the new signature widget"))}for(let i of e.changes){if(i.kind!=="dictionary"||e.isIdentical(i))continue;let a=xt(i.value.old,i.value.new);if(a.size!==1||!a.has("Kids"))continue;let o=Ef(i,"Kids");o&&o.length>0&&o.every(s=>t.has(s)||n.has(s))&&(e.claimAll(i,r),e.permitted(i,r,"field /Kids gained the new signature field"))}}function uG(e){let t="signature-added",r=e.newlySigned();if(r.length===0)return;let n=dp(e),i=Ut(e.input.before.signatures),a=Ut(e.input.after.signatures),o=new Set,s=new Set;for(let{fieldObjectNumber:A,sig:d}of r){let p=d.kind==="timestamp"?"lta":"fill";if(!e.allows(p)){let B=e.byNum.get(A);B&&e.forbidden(B,t,`a ${d.kind} was added under level '${e.level}'`);continue}if(d.catalogCertification&&i.judged!==null){let B=e.byNum.get(A);B&&e.forbidden(B,t,"a certification signature after another signature");continue}let m=e.after.fieldByObj.get(A);o.add(A);for(let B of m?.widgets??[])o.add(B);let F=n.has(A),k=i.judged===null?new Set([...Df(e.level),"Lock"]):Df(e.level),P=e.byNum.get(A);if(P&&F)e.permitted(P,t,`new field "${d.fieldName}" signed`);else if(P&&!e.isIdentical(P)){let B=xt(P.value.old,P.value.new),y=[...B].filter(x=>!k.has(x));y.length>0?(e.forbidden(P,t,`signature field keys changed: ${y.join(", ")}`),e.claimStable(P,t,!1)):B.has("Ff")&&!up(P,e.before.fieldByObj.get(A)?.flags)?(e.forbidden(P,t,"signature field flags changed beyond ReadOnly"),e.claimStable(P,t,!1)):(e.claimStable(P,t),e.permitted(P,t,`field "${d.fieldName}" signed`))}for(let B of m?.widgets??[]){if(B===A||F)continue;let y=e.byNum.get(B);if(!y||e.isIdentical(y))continue;let x=[...xt(y.value.old,y.value.new)].filter(I=>!Uy.has(I));if(x.length>0){e.forbidden(y,t,`signature widget keys changed: ${x.join(", ")}`),e.claimStable(y,t,!1);continue}e.claimStable(y,t),e.permitted(y,t,"signature widget appearance")}for(let B of e.changes){if(B.change!=="added")continue;let y=B.usage.new.filter(S=>S.parent===A&&S.label==="V"),x=B.usage.new.filter(S=>S.parent===A&&S.label==="Lock"),I=Re(B.value.new)?.Type;if(y.length>0){if(!(I?.t==="name"&&(I.v==="Sig"||I.v==="DocTimeStamp"))&&I!==void 0)continue;for(let S of B.usage.new)(S.parent===A&&S.label==="V"||S.label==="DocMDP")&&e.claimEdge(B,"new",S,t);e.permitted(B,t,"signature value"),s.add(B.objectNumber)}else if(x.length>0){if(!(I===void 0||I.t==="name"&&I.v==="SigFieldLock"))continue;for(let S of x)e.claimEdge(B,"new",S,t);e.permitted(B,t,"field lock installed with the signature")}}}if(a.certification&&i.judged===null){let A=e.input.after.root;for(let d of e.changes)d.change==="added"&&cp(d,p=>p.parent===A&&p.label==="Perms")&&(e.claimAll(d,t),e.permitted(d,t,"certification permissions"))}for(let A of qt)e.claimSubtree(A,o,d=>d==="AP"||d.startsWith("AP/"),t);s.size>0&&e.claimSubtree("new",s,()=>!0,t)}function up(e,t){let r=Re(e.value.old)?.Ff,n=Re(e.value.new)?.Ff,i=r?.t==="number"?r.v:t??0,a=n?.t==="number"?n.v:0;return(i|qy)===a}function pG(e){let t="form-fill",r=zy(e.level),n=Zy(e.level),i=new Set,a=new Map([...e.before.fieldByObj,...e.after.fieldByObj]);for(let[o,s]of a){if(s.kind==="signature")continue;let A=e.byNum.get(o),d=s.widgets.filter(P=>P!==o).map(P=>e.byNum.get(P)).filter(Boolean),p=new Set([o,...s.widgets]),m=P=>P==="AP"||P.startsWith("AP/"),F=!A&&d.length===0?e.changes.filter(P=>qt.some(B=>P.usage[B].some(y=>p.has(y.parent)&&m(y.label)))&&qt.every(B=>P.usage[B].every(y=>!m(y.label)||p.has(y.parent)))):[];if(!A&&d.length===0&&F.length===0)continue;if(!e.allows("fill")){for(let P of[A,...d,...F])P&&!e.isIdentical(P)&&e.forbidden(P,t,`form fill under level '${e.level}'`);continue}if(F.length>0){for(let P of F)e.permitted(P,t,`appearance of field "${s.name}" regenerated`);i.add(o);for(let P of s.widgets)i.add(P);continue}let k=!0;if(A&&!e.isIdentical(A)){let P=xt(A.value.old,A.value.new),B=[...P].filter(y=>!r.has(y));if(B.length>0)e.forbidden(A,t,`field "${s.name}" keys changed: ${B.join(", ")}`),e.claimStable(A,t,!1),k=!1;else if(P.has("Ff")&&!up(A,e.before.fieldByObj.get(o)?.flags))e.forbidden(A,t,`field "${s.name}" flags changed beyond adding ReadOnly`),e.claimStable(A,t,!1),k=!1;else{e.claimStable(A,t);let y=[...P].filter(x=>x!=="V"&&x!=="AP"&&x!=="AS"&&x!=="I"&&x!=="RV");e.permitted(A,t,y.length>0?`field "${s.name}" ${P.has("V")||P.has("AS")?"filled, ":""}properties changed: ${y.join(", ")}`:`field "${s.name}" filled`)}}for(let P of d){if(e.isIdentical(P))continue;let B=[...xt(P.value.old,P.value.new)].filter(y=>!n.has(y));if(B.length>0){e.forbidden(P,t,`widget of "${s.name}" keys changed: ${B.join(", ")}`),e.claimStable(P,t,!1),k=!1;continue}e.claimStable(P,t),e.permitted(P,t,`widget of "${s.name}" appearance`)}if(k){i.add(o);for(let P of s.widgets)i.add(P)}}for(let o of qt)e.claimSubtree(o,i,s=>s==="AP"||s.startsWith("AP/"),t)}function lG(e){let t="annotation",r=new Set([...e.before.pages,...e.after.pages]),n=new Set([...e.before.widgetToField.keys(),...e.after.widgetToField.keys()]),i=s=>{if(n.has(s.objectNumber))return!0;let A=Re(s.value.new??s.value.old)?.Subtype;return A?.t==="name"&&A.v==="Widget"},a=[];for(let s of e.changes)s.kind!=="dictionary"||e.isIdentical(s)||[...s.usage.old,...s.usage.new].some(A=>r.has(A.parent)&&A.label.startsWith("Annots/"))&&!i(s)&&a.push(s);if(a.length,!e.allows("annotate")){for(let s of a)e.forbidden(s,t,`annotation change under level '${e.level}'`);return}let o=new Set;for(let s of a)e.claimAll(s,t),e.permitted(s,t,`${s.change} annotation`),o.add(s.objectNumber);for(let s of r){let A=e.byNum.get(s);if(!A||e.isIdentical(A))continue;let d=xt(A.value.old,A.value.new);if(d.size===1&&d.has("Annots")){let p=gn(Re(A.value.old)?.Annots).filter(F=>!gn(Re(A.value.new)?.Annots).includes(F)),m=gn(Re(A.value.new)?.Annots).filter(F=>!gn(Re(A.value.old)?.Annots).includes(F));if([...p,...m].some(F=>n.has(F)&&!e.findings.some(k=>k.objectNumber===F&&k.verdict==="permitted"))){e.forbidden(A,t,"page /Annots added or removed a form widget");continue}e.claimAll(A,t),e.permitted(A,t,"page /Annots changed")}}for(let s of qt)e.claimSubtree(s,o,A=>A==="AP"||A.startsWith("AP/")||A==="Popup"||A==="IRT",t)}function mG(e){if(e.locks.length===0)return;let t=e.input.before.fields.filter(a=>e.locks.some(o=>TA(o.spec,a.name))),r=new Set;for(let a of t){r.add(a.objectNumber);for(let o of a.widgets)r.add(o)}let n=new Set(r),i=!0;for(;i;){i=!1;for(let a of e.changes)n.has(a.objectNumber)||a.usage.old.length>0&&a.usage.old.every(o=>n.has(o.parent))&&(n.add(a.objectNumber),i=!0)}for(let a of e.changes){if(!n.has(a.objectNumber)||e.isIdentical(a))continue;let o=t.find(s=>s.objectNumber===a.objectNumber||s.widgets.includes(a.objectNumber));if(o&&o.objectNumber===a.objectNumber){let s=xt(a.value.old,a.value.new);if(s.size===1&&s.has("Ff")&&up(a,e.before.fieldByObj.get(a.objectNumber)?.flags)){e.claimStable(a,"field-lock"),e.permitted(a,"field-lock",`ReadOnly set on locked field "${o.name}"`);continue}}e.locked.add(a.objectNumber),e.forbidden(a,"field-lock",o?`field "${o.name}" is locked by the signature`:"part of a locked field changed")}}function wG(e){for(let t of e.changes){if(t.value.truncated){e.findings.push({rule:"unexplained",verdict:"incomplete",objectNumber:t.objectNumber,detail:"value too large to inspect"});continue}if(t.usageIncomplete){e.findings.push({rule:"unexplained",verdict:"incomplete",objectNumber:t.objectNumber,detail:"references could not be resolved within budget (depth, fan-out or total reads)"});continue}if(!e.locked.has(t.objectNumber)){for(let r of qt)for(let n of t.usage[r])e.isClaimed(t,r,n)||e.forbidden(t,"unexplained",`${r==="old"?"was":"is"} referenced from object ${n.parent} at ${n.label} and no rule explains it`,n);t.usage.old.length===0&&t.usage.new.length===0&&!e.findings.some(r=>r.objectNumber===t.objectNumber)&&e.permitted(t,"orphan","referenced from nowhere reachable")}}}function pp(e,t){let r=[],n=[],i=null,a=!1;for(let o of e.signatures){if(!o.signed||o.revisionIndex===null)continue;a=!0;let s=t!==null&&o.index===t.index;o.catalogCertification&&o.docMdp!==null&&(r.push({signatureIndex:o.index,revisionIndex:o.revisionIndex,source:"docmdp",own:s,permission:o.docMdp}),i=qi(i??"annotate",Ui(o.docMdp))),o.lock?.permission!==void 0&&(i=qi(i??"annotate",Ui(o.lock.permission))),!(t!==null&&!s)&&(o.fieldMdp&&(r.push({signatureIndex:o.index,revisionIndex:o.revisionIndex,source:"fieldmdp",own:s,fields:o.fieldMdp}),n.push({signatureIndex:o.index,source:"fieldmdp",spec:o.fieldMdp})),o.lock&&(r.push({signatureIndex:o.index,revisionIndex:o.revisionIndex,source:"lock",own:s,fields:o.lock}),n.push({signatureIndex:o.index,source:"lock",spec:o.lock})))}return{anchors:r,level:a?i??"annotate":"annotate",locks:n}}var Nf={maxDepth:16,maxEdgesPerObject:256,maxReads:2e4},$i="incomplete",jf="\u2026",UA=class{constructor(e,t,r=Nf){this.read=e,this.anchors=t,this.budget=r,xe(this,"referrers",new Map),xe(this,"resolved",new Map),xe(this,"reads",0),xe(this,"exhausted",!1)}resolve(e){if(!this.resolved.has(e)){let t=this.componentsAbove(e);for(let r of t??[])if(!this.resolveComponent(r))break}return this.resolved.get(e)??"incomplete"}readReferrers(e){let t=this.referrers.get(e);if(t)return t;if(this.exhausted||this.reads>=this.budget.maxReads)return this.exhausted=!0,null;this.reads+=1;let r=this.read(e);return this.referrers.set(e,r),r}pendingParents(e){let t=new Set;for(let r of e)!this.anchors.has(r.parent)&&!this.resolved.has(r.parent)&&t.add(r.parent);return[...t]}componentsAbove(e){let t=new Map,r=new Map,n=[],i=new Set,a=[],o=[],s=A=>{let d=this.readReferrers(A);return d?(t.set(A,t.size),r.set(A,t.get(A)),n.push(A),i.add(A),a.push({node:A,parents:this.pendingParents(d),next:0}),!0):!1};if(!s(e))return null;for(;a.length>0;){let A=a[a.length-1];if(A.next0){let p=a[a.length-1].node;r.set(p,Math.min(r.get(p),r.get(d)))}if(r.get(d)===t.get(d)){let p=[],m;do m=n.pop(),i.delete(m),p.push(m);while(m!==d);o.push(p)}}return o}resolveComponent(e){let t=new Set(e),r=e.length===1?this.edgesOfSingle(e[0]):this.edgesOfLoop(e,t);if(!r){for(let n of e)this.resolved.set(n,null);return!1}for(let n of e)this.resolved.set(n,r.get(n));return!0}edgesOfSingle(e){let t=[];for(let n of this.referrers.get(e)){if(n.parent===e)continue;let i=this.through(n);if(!i)return null;t.push(...i)}let r=yf(t);return r.length>this.budget.maxEdgesPerObject?null:new Map([[e,r]])}edgesOfLoop(e,t){let r=new Map,n=new Map;for(let o of e){let s=[];for(let A of this.referrers.get(o)){if(t.has(A.parent))continue;let d=this.through(A);if(!d)return null;for(let p of d){s.push(p);let m=[...p.via??[],o];if(m.length>=this.budget.maxDepth)return null;let F={parent:p.parent,label:`${p.label}/${jf}`,via:m},k=n.get(qu(F));k?k.length===1&&_f(k[0])!==o&&k.push(F):n.set(qu(F),[F])}if(s.length>this.budget.maxEdgesPerObject)return null}s.length>0&&r.set(o,yf(s))}if(n.size>this.budget.maxEdgesPerObject)return null;let i=new Map,a=[...n.values()].map(o=>o[0]);for(let o of e){let s=r.get(o);if(!s){i.set(o,a);continue}let A=[];for(let p of n.values()){let m=p.find(F=>_f(F)!==o);m&&A.push(m)}let d=[...s,...A];if(d.length>this.budget.maxEdgesPerObject)return null;i.set(o,d)}return i}through(e){if(this.anchors.has(e.parent))return[e];let t=this.resolved.get(e.parent);if(!t)return null;let r=[];for(let n of t){let i=[...n.via??[],e.parent];if(i.length>=this.budget.maxDepth)return null;r.push({parent:n.parent,label:`${n.label}/${e.label}`,via:i})}return r}};function qu(e){return`${e.parent}:${e.label}`}function _f(e){return e.via[e.via.length-1]}function yf(e){let t=new Set;return e.filter(r=>{if(!r.label.includes(jf))return!0;let n=qu(r);return t.has(n)?!1:(t.add(n),!0)})}function lp(e){return{text:e.text,...e.regex?{regex:!0}:{},...e.matchCase?{matchCase:!0}:{},...e.wholeWord?{wholeWord:!0}:{},...e.matchDiacritics?{matchDiacritics:!0}:{},...e.ignoreWhitespace?{ignoreWhitespace:!0}:{}}}var Gf=/\s/,bG=/\s/g,Cf=(e,t)=>{let r=e.charCodeAt(t);return r>=56320&&r<=57343};function mp(e,t,r=48){let n=t.start+t.count,i=Math.max(0,t.start-r);if(i>0){for(let s=i;s=n;s--)if(Gf.test(e[s])){a=s;break}Cf(e,a)&&a--}let o=(s,A)=>e.slice(s,A).replace(bG," ");return{before:o(i,t.start),match:o(t.start,n),after:o(n,a)}}var fG=new Set([f.InvalidArg,f.NotFound,f.Forbidden,f.ProtectedDocument,f.MalformedPdf,f.PayloadTooLarge,f.ObjectNumberUnavailable,f.LayerFull,f.ChangeConflict,f.UndoUnavailable]);function qA(e){return fG.has(e)}function zA(e){let t=zu(e);return`${t.length.toString(36)}-${gG(t)}`}function zu(e){if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){let t=e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return JSON.stringify({$bytes:`${t.byteLength.toString(36)}-${FG(t)}`})}return Array.isArray(e)?`[${e.map(zu).join(",")}]`:e!==null&&typeof e=="object"?`{${Object.entries(e).filter(([,t])=>t!==void 0).sort(([t],[r])=>tr?1:0).map(([t,r])=>`${JSON.stringify(t)}:${zu(r)}`).join(",")}}`:JSON.stringify(e)??"null"}function gG(e){let t=3735928559,r=1103547991;for(let n=0;n>>16,2246822507),e^=Math.imul(t^t>>>13,3266489909),t=Math.imul(t^t>>>16,2246822507),t^=Math.imul(e^e>>>13,3266489909),(4294967296*(2097151&t)+(e>>>0)).toString(36)}function ge(e,t){lt(e,t);let{grants:r,protection:n}=e;if(r&&!zi(t,r.scope,r.permissionFlags,n))throw new je(t,"target")}function wp(e,t){let{grants:r,protection:n}=e;return n&&fn(n).has(t)?!1:!r||zi(t,r.scope,r.permissionFlags,n)}function lt(e,t){let{protection:r}=e;if(r&&fn(r).has(t))throw new g(f.ProtectedDocument,Xu(t,r))}function Ar(e){return e==="widget"?"doc.forms.modify":"doc.annotate.modify"}function Eo(e){return[...new Set(e.map(t=>Ar(t.subtype)))]}function Vf(e,t){let{identity:r,grants:n}=e;if(n&&!zi("doc.forms.modify",n.scope,n.permissionFlags))throw new je("doc.forms.modify","target");if(typeof t=="string")throw new g(f.InvalidArg,"a widget has no group of its own: a form field's group is the field's");let i={...r.userId!==void 0?{userId:r.userId}:{},...r.displayName!==void 0?{displayName:r.displayName}:{}};return i.userId||i.displayName?i:void 0}function ZA(e,t,r){if(t==="widget")return Vf(e,r);let{identity:n,grants:i}=e;if(r===null&&n.groupId!==void 0)throw new g(f.InvalidArg,"your annotations have a group: leave groupId out for your own, or name another",{details:{field:"groupId"}});let a=r===void 0?n.groupId:r??void 0;if(i){if(a!==void 0&&!vo("annotations",a,n.groupId,i.scope))throw new je(`annotations:set-group:group=${a}`,"target");if(!Fo("create",go({userId:n.userId,groupId:a}),i.scope,n,i.permissionFlags))throw new je("annotations:create","target")}let o={...n.userId!==void 0?{userId:n.userId}:{},...a!==void 0?{groupId:a}:{},...n.displayName!==void 0?{displayName:n.displayName}:{}};return o.userId||o.groupId||o.displayName?o:void 0}function JA(e,t,r){if(t.subtype==="widget")return Vf(e,r);let{identity:n,grants:i}=e,a=go(t);if(i&&!Fo("update",a,i.scope,n,i.permissionFlags))throw new je("annotations:update","target");if(r===null&&a.groupId!==void 0)throw new g(f.InvalidArg,"an annotation's group can't be removed");let o=typeof r=="string"&&r!==a.groupId;if(o&&i&&!vo("annotations",r,n.groupId,i.scope))throw new je(`annotations:set-group:group=${r}`,"target");let s={...n.userId!==void 0?{userId:n.userId}:{},...n.displayName!==void 0?{displayName:n.displayName}:{},...o?{groupId:r}:{}};return s.userId||s.groupId||s.displayName?s:void 0}function $A(e,t){let{identity:r,grants:n}=e;if(!n)return;let i=zi("doc.forms.modify",n.scope,n.permissionFlags),a=t.filter(o=>o.subtype==="widget"?!i:!Fo("delete",go(o),n.scope,r,n.permissionFlags));if(a.length>0)throw new je("annotations:delete","target",void 0,a.map(o=>o.ref))}function Tn(e,t,r){if(lt(e,LA(r)),!cr(e,t,r))throw new je(t===null?LA(r):`fields:${r}:group=${t}`,"target")}function cr(e,t,r){let{grants:n,protection:i}=e;return i&&fn(i).has(LA(r))?!1:!n||Wu(r,t,n.scope,n.permissionFlags,i)}function bp(e,t){let{grants:r,protection:n}=e;return n&&fn(n).has(LA(t))?!1:!r||Uu(t,r.scope,r.permissionFlags,n)}function ec(e,t){let{identity:r,grants:n}=e;if(n&&!vo("fields",t,r.groupId,n.scope))throw new je(`fields:set-group:group=${t}`,"target")}function LA(e){return e==="fill"?"doc.forms.fill":"doc.sign"}var Ane=Array.from({length:128},(e,t)=>({print:(t&1)!==0,modifyContents:(t&2)!==0,copy:(t&4)!==0,modifyAnnotations:(t&8)!==0,fillForms:(t&16)!==0,copyForAccessibility:!1,assemble:(t&32)!==0,printHighQuality:(t&64)!==0}));var L={UNKNOWN:0,TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,RICHMEDIA:26,XFAWIDGET:27,REDACT:28},Yf=Object.freeze({[L.TEXT]:"text",[L.LINK]:"link",[L.FREETEXT]:"free-text",[L.LINE]:"line",[L.SQUARE]:"square",[L.CIRCLE]:"circle",[L.POLYGON]:"polygon",[L.POLYLINE]:"polyline",[L.HIGHLIGHT]:"highlight",[L.UNDERLINE]:"underline",[L.SQUIGGLY]:"squiggly",[L.STRIKEOUT]:"strikeout",[L.STAMP]:"stamp",[L.CARET]:"caret",[L.INK]:"ink",[L.POPUP]:"popup",[L.FILEATTACHMENT]:"file-attachment",[L.WIDGET]:"widget",[L.REDACT]:"redact"}),tc=Object.freeze({text:L.TEXT,link:L.LINK,"free-text":L.FREETEXT,line:L.LINE,square:L.SQUARE,circle:L.CIRCLE,polygon:L.POLYGON,polyline:L.POLYLINE,highlight:L.HIGHLIGHT,underline:L.UNDERLINE,squiggly:L.SQUIGGLY,strikeout:L.STRIKEOUT,stamp:L.STAMP,caret:L.CARET,ink:L.INK,popup:L.POPUP,"file-attachment":L.FILEATTACHMENT,redact:L.REDACT,widget:L.WIDGET,unsupported:L.UNKNOWN});function Yr(e){return Yf[e]??"unsupported"}var _o=["color","interiorColor","strokeWidth","borderStyle","dashArray","fontFamily","fontSize","fontColor","textAlign","caption","checkStyle"];function ea(e){let t=[],r=(n,i)=>{if(!(typeof n!="object"||n===null)){if(Array.isArray(n)){n.forEach(a=>r(a));return}if(i==="page"&&Xf(n)){t.push(n);return}Object.entries(n).forEach(([a,o])=>r(o,a))}};return r(e),t}function nc(e,t){let r=(n,i)=>typeof n!="object"||n===null?n:Array.isArray(n)?n.map(a=>r(a)):i==="page"&&Xf(n)?t(n):Object.fromEntries(Object.entries(n).map(([a,o])=>[a,r(o,a)]));return r(e)}function Xf(e){return Object.keys(e).length===2&&e.kind==="objectNumber"&&typeof e.objectNumber=="number"}var fp={own:0,builtIn:1},Uf=e=>e==="truetype"||e==="opentype",gp=e=>e==="installable"||e==="editable";function ta(e){return e.embedded==="whole"&&Uf(e.format)&&e.mapsUnicode&&gp(e.permission)}function qf(e){return e.displaySha256!==null&&(e.permission===null||gp(e.permission))}function Fp(e){let t=[];return e.embedded==="none"?(t.push(e.format==="type3"?"unsupported-format":"not-embedded"),t):(e.embedded==="subset"&&t.push("subset"),Uf(e.format)?e.mapsUnicode||t.push("no-unicode-map"):t.push("unsupported-format"),e.permission!==null&&!gp(e.permission)&&t.push("preview-and-print"),t)}function PG(e){let t=qf(e);return{displaySha256:t?e.displaySha256:null,sourceSha256:e.embedded==="none"?null:e.sha256,embedded:e.embedded,format:e.embedded==="none"?null:e.format,embeddingPermission:e.permission==="restricted"||e.permission==="bitmap-only"?"preview-and-print":e.permission,canDownload:t}}var Wf=e=>ta(e)?0:qf(e)?1:e.embedded!=="none"?2:3,hG={100:"Thin",200:"ExtraLight",300:"Light",400:"",500:"Medium",600:"SemiBold",700:"Bold",800:"ExtraBold",900:"Black"};function rc(e,t){if(t)return t;let r=`${hG[e.weight]??String(e.weight)}${e.italic?"Italic":""}`;return r?`${e.familyName},${r}`:e.familyName}function na(e){let t=new Map;for(let r of e)for(let n of r.programs){if(!n.postScriptName&&r.familyName==="")continue;let i=rc(r,n.postScriptName),a=t.get(i)??[];a.some(({program:o})=>n.objectNumber>0?o.objectNumber===n.objectNumber&&o.displaySha256===n.displaySha256:o.objectNumber===0&&o.embedded===n.embedded&&o.format===n.format&&o.sha256===n.sha256)||a.push({face:r,program:n}),t.set(i,a)}return[...t].map(([r,n])=>{let i=[...n].sort((A,d)=>Wf(A.program)-Wf(d.program)),{familyName:a,weight:o,italic:s}=i[0].face;return{name:r,face:{familyName:a,weight:o,italic:s},programs:i.map(({program:A})=>A)}})}function zf(e){return Cd(e.face.familyName)!==void 0&&e.programs.every(t=>t.embedded==="none")}function kG(e){let t=e.programs[0];return{name:e.name,source:"document",builtIn:!1,familyName:e.face.familyName,weight:e.face.weight,italic:e.face.italic,postScriptName:t?.postScriptName??null,canChoose:t?ta(t):!1,restrictions:t?Fp(t):["not-embedded"],programs:e.programs.map(PG)}}function DG(e){let{identity:t}=e,r=[];return t.editingAuthorized||r.push("preview-and-print"),e.served||r.push("not-served"),{name:e.key,source:"engine",builtIn:e.builtIn,familyName:t.familyName,weight:t.weight,italic:t.italic,postScriptName:e.postScriptName,canChoose:t.editingAuthorized,restrictions:r,programs:[{displaySha256:e.sha256,sourceSha256:e.sha256,embedded:"none",format:e.format,embeddingPermission:t.embeddingPermission,canDownload:e.served}]}}function BG(e,t){let r=pn[e];return{name:e,source:"standard",builtIn:!0,familyName:r.family,weight:r.weight,italic:r.italic,postScriptName:null,canChoose:!0,restrictions:[],programs:[{displaySha256:t.standardDisplayHash(e),sourceSha256:null,embedded:"none",format:null,embeddingPermission:null,canDownload:!0}]}}function vp(e,t){let r=i=>i.programs.some(a=>a.sha256===t.lastResortDisplayHash),n=na(e.faces).filter(i=>!zf(i)&&!r(i)).map(kG);return{fonts:[..._r.map(i=>BG(i,t)),...e.engineFonts.map(DG),...n],fallbacks:[...e.fallbacks],lastResort:{displaySha256:t.lastResortDisplayHash,sourceSha256:null,embedded:"none",format:"truetype",embeddingPermission:"installable",canDownload:!0}}}function ic(e,t){let r=na(e.faces).find(i=>i.name===t&&!zf(i));if(!r)return;let n=r.programs[0];return n?{objectNumber:n.objectNumber,choosable:ta(n)&&n.objectNumber>0,restrictions:Fp(n)}:{objectNumber:0,choosable:!1,restrictions:["not-embedded"]}}var Zf={elsewhere:0,near:1,visible:2},Jie=2**40;function Xr(e,t){let r=Zf[e.place]-Zf[t.place];return r!==0?r>0:e.pixels>t.pixels}var Wr=Object.freeze([]);function N(e,t=Wr){return{payload:e,transfer:t}}var Y=0n;var yG={EPDF_CheckPasswordPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_DigestBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_FreeBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDF_GetDecodedImageBytes:{params:[],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetMetaKeyCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetMetaKeyName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetMetaTrapped:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetPageBoxByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_GetPageRotateByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_GetPageTabOrderByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetPageUserUnitByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_HasMetaText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_InitThread:{params:[],result:null},EPDF_IsEncrypted:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_IsOwnerUnlocked:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_LoadBaseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_LoadMemBaseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_LoadMemBaseDocument64:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_LoadPageNormalized:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_PNG_EncodeRGBA:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_ReleaseBaseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDF_RemoveEncryption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_RenderAnnotBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_RenderAnnotBitmapUnrotated:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_RenderPage_Continue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_RenderPageBitmapWithMatrix_Start:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_SaveAsCopyEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_SaveDocumentToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_SaveDocumentToOwnedBufferEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_SaveDocumentToOwnedBufferWithVersion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_SetBaseDocumentSha256:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:null},EPDF_SetDecodedImageBudget:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},EPDF_SetEncryption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_SetMetaText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_SetMetaTrapped:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_SetRuntimeOwnerPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_ShutdownThread:{params:[],result:null},EPDF_UnlockOwnerPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_CloseModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFAction_CreateGoTo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateGoToNamed:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateHide:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateJavaScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateLaunch:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateNamed:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateRemoteGoToByName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateRemoteGoToDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateResetForm:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateSubmitForm:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateURI:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_GetNextAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNextCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_GetNodeFilePath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeHideFlag:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetNodeJavaScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeResetForm:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetNodeSubmitForm:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetNodeSubmitFormCharSet:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeSubmitFormURL:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeTargetCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeTargetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeTargetObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetNodeType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeURI:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeURIIsMap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetRootNode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetWarningFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_IsComplete:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_LoadModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_NodeHasJavaScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_SetNext:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_AddMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_ClearBorderEffect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearEmbedMetadataKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearMKColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearRectangleDifferences:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ExportAppearance:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_GenerateAppearance:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GenerateAppearanceWithBlend:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GenerateFormFieldAP:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_GetAPMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetAppearanceState:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetAppearanceStateCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetAppearanceStateName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetAppearanceTransform:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetAvailableAppearanceModes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetBlendMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetBooleanValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetBorderDashPattern:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetBorderDashPatternCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetBorderEffect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetBorderStyle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetCalloutLine:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetCalloutLineCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetDefaultAppearance:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetDefaultAppearanceFontFace:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetDefaultAppearanceFontPostScriptName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetDrawingRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetEmbedMetadataBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetEmbedMetadataJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetEmbedMetadataNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetEmbedMetadataRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetEmbedMetadataString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetFileAttachmentForWrite:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_GetIntent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetLineCaption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetLineEndings:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetLineLeader:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_GetMKColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetMKRotation:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetMKText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetMKTextPosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetOpacity:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetOverlayText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetOverlayTextRepeat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetRectangleDifferences:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetReplyType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetRichContent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetRichTextJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetRotate:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetShapeCaption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetStampDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetStructurePosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetTextAlignment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_HasAppearanceStream:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_HasEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_IsValid:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_RemoveAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_RemoveDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_RemoveKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_RemoveMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetAPMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetAppearanceFromPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetBooleanValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetBorderDashPattern:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetBorderEffect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetBorderStyle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetCalloutLine:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetDefaultAppearance:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetDefaultAppearanceDocumentFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetDefaultAppearanceRegisteredFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEventAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetIntent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLine:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLineCaption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLineEndings:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLineLeader:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLinkedAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetMKColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetMKRotation:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetMKText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetMKTextPosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetNoColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetNumberValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetOpacity:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetOverlayText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetOverlayTextRepeat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetReplyType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetRichTextJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetRichTextXHTML:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetRotate:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetShapeCaption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetStampDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetStampOpacity:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetTextAlignment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetVertices:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_UpdateAppearanceToRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_ExportCanonicalToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAttachment_ExportRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAttachment_ExtractFile:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_ExtractFileToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_GetDescription:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAttachment_GetIntegerValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_ImportRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_SetDescription:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_SetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_SetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFCatalog_GetLanguage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFCatalog_GetMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFCatalog_SetMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDest_CreateRemoteView:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateRemoteXYZ:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateView:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateViewByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateXYZ:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateXYZByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_GetPageObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDest_GetViewNullParams:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_CanonicalDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ClearMissingCharacters:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFDoc_ClearPagePieceInfoEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ClearPagePieceInfoKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ClearPieceInfoEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ClearPieceInfoKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_CompareRevisions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_CountMissingCharacters:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_DeletePageByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ExportDictCanonicalToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ExportDictRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ExportDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ExportPagesFlattened:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetAdditionalActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetAttachmentIndexByKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetAttachmentKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetBaseBytesSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}}},EPDFDoc_GetFontDisplayProgramCoverage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetFontDisplayProgramData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetFontEmbeddingPolicy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetFontProgramData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetFontsFingerprint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetImportFieldRoots:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetLastModified:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetLoadedBytesSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}}},EPDFDoc_GetMissingCharacter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetNamedJavaScriptActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetNamedPageAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetNamedPageCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetOpenActionDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetOpenActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetPageActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetPageLabelSectionAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPageLabelSectionCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPageLastModified:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPageObjectNumberByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetPagePieceInfoEntryAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoEntryCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoKeyAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoKeyCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoLastModified:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetPagePieceInfoString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoStringArrayAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoStringArrayCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetPieceInfoEntryAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoEntryCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoKeyAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoKeyCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoLastModified:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetPieceInfoString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoStringArrayAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoStringArrayCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetRevision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetRevisionCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetStampDrawings:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetStructureObjectNumbers:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetTypographicFeatures:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_HasPagePieceInfoEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_HasPieceInfoEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ImportDictRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ImportDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_ImportPages:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_LoadPageByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_LoadPageByObjectNumberNormalized:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_OpenBaseOverlay:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_OpenBaseOverlayFromPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_OpenRevision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ReadLoadedBytes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_RemoveNamedPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_RemoveNamedPagesForPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_ResolveFonts:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_SetFontEmbeddingPolicy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetNamedPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPageLabelSections:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoStringArray:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPageRotationByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoStringArray:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetTypographicFeatures:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_StartLoadPageByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDocument_ClearEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_AddFallbackFont:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_AuthorizeEditing:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_ClearFallbackFonts:{params:[],result:null},EPDFFont_ClearRegisteredFonts:{params:[],result:null},EPDFFont_GetCoverage:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetEmbeddingPermission:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetFallbackOrder:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetFamilyName:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetLastResortFont:{params:[],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetMetrics:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_GetPostScriptName:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetProgramData:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetProgramFormat:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetProgramHash:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_GetWeight:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_IsEditingAuthorized:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_IsInstanced:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_IsItalic:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_RegisterFont:{params:[{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_RegisterMemFont:{params:[{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_RegisterMemFont64:{params:[{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_SetLastResortFont:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFFontFaces_Count:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_CountPrograms:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetFamily:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramDisplayHash:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_GetProgramEmbedded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramEmbeddingPermission:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramFormat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramHash:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_GetProgramMetrics:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_GetProgramObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramPostScriptName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetWeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_IsItalic:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_Load:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFFontFaces_ProgramMapsUnicode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontResolution_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFFontResolution_CountMissingCharacters:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetBaseFontName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetFallbacks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetFamily:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetMissingCharacter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetProgramDisplayHash:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontResolution_GetProgramObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetRegisteredFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetSource:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetWeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_IsDegraded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontResolution_IsItalic:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_AttachWidget:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_ClearFieldEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_ClearFieldEmbedMetadataKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_CloseModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFForm_CountCalculationOrder:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFieldDefaultValues:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFieldOptions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFields:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFieldValues:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFieldWidgets:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CreateField:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_DeleteField:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_DetachWidget:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_ExportFDF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_ExportFieldRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFForm_ExportXFDF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetCalculationOrderFieldIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFForm_GetFieldAlternateName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldDefaultValueAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldDefaultValueKind:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldEmbedMetadataBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_GetFieldEmbedMetadataJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldEmbedMetadataNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_GetFieldEmbedMetadataString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldFamily:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldIndexByObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldIndexForWidget:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldMappingName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldMaxLen:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldOptionLabel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldOptionValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldOrigin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldPartialName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldTopIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldValueAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldValueKind:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetExportValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetOnState:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetPageObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_GetFormKind:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetNeedAppearances:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_HasFieldEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_ImportFieldRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_IsFieldOptionSelected:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_IsFieldWidgetChecked:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_LoadModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFForm_RedrawFieldWidgets:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_Repair:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetCalculationOrder:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldAlternateName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldAppearanceText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldDefaultValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldDisplay:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEmbedMetadataBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEmbedMetadataJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEmbedMetadataNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEmbedMetadataString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEventAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldMappingName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldMaxLen:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldOptions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldSelectedIndices:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldWidgetsChecked:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFImageObj_SetJpeg:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFImageObj_SetPng:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_AbortTransaction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_BeginTransaction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_CommitTransaction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_GetBaseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_GetBaseSha256:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_GetBirthName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_GetBirthObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFLayer_GetLastObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFLayer_GetPromotedObjectCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFLayer_IsInTransaction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_IsObjectPromoted:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_IsPagePromoted:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_OpenLayer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_OpenLayerArtifact:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_OpenLayerArtifactFromPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_RaiseLastObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveDelta:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveDeltaEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveDeltaToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_SaveDeltaToOwnedBufferEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_SaveLayerArtifact:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveLayerArtifactEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveLayerArtifactToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_SaveLayerArtifactToOwnedBufferEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFMeasure_AddFormat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFMeasure_CountFormats:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFMeasure_GetCYX:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_GetFormat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFMeasure_GetOrigin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_GetRatio:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFMeasure_GetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFMeasure_RemoveFormats:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_SetCYX:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_SetOrigin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_SetRatio:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNamedDest_Remove:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNamedDest_SetDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetConversion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetFixedDenominator:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetFraction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetLabelPosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetPrecision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFNumberFormat_GetUnit:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFNumberFormat_SetConversion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetFixedDenominator:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetFraction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetLabelPosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetPrecision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetUnit:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFObjectDiff_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFObjectDiff_GetCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFObjectDiff_GetEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFObjectDiff_GetReadStatus:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFObjectDiff_GetReferrer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFObjectDiff_GetReferrerCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFObjectDiff_GetRevisionHealth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFObjectDiff_GetValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFOutline_CreateItem:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFOutline_DeleteItem:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_ExportItemRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFOutline_GetItem:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFOutline_GetObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFOutline_ImportItemRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_MoveItem:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetOpen:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetStyle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetTitle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_AddViewport:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ApplyRedactions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_ContinueLoad:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_CountViewports:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_CreateAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_CreateAnnotRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ExportAnnotationsAsDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ExportAnnotsRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ExportRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_FindViewport:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_Flatten:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_FlattenAnnotations:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetAnnotByName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_GetAnnotByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_GetAnnotCountRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetAnnotIndexByNameRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetAnnotIndexByObjectNumberRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetAnnotRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_GetObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetParsedSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_GetViewport:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ImportAnnotsRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_ImportRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_InsertBlankRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_IsContentCurrent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_IsValid:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_MoveAnnots:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_MoveAnnotsRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_PromoteInlineAnnotsRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_RemoveAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_RemoveAnnotByName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_RemoveAnnotByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_RemoveAnnotRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_RemoveViewport:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_ResetRenderCache:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_CloseModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFSig_Count:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_DigestByteRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_DigestFileRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_GetByteRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_GetContents:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetCoverage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetDocMDPPermission:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldMDPAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldNameAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldNameCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetIndexByFieldObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetKind:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetLockAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetLockPermission:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetRevisionIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueFilter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueListAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueListCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueMDP:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValuePresentFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueRequiredFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueVersion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetValueObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetWidgetObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetWidgetPageObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_HasSeedValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_IsCatalogCertification:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_IsRevisionChainValid:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_IsSigned:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_LoadModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFSig_Prepare:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_SaveCandidate:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_SaveCandidateToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFSig_Seal:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_SealSpan:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_SetFieldLock:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_WriteContents:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFText_GetCharGeometry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFText_GetCharToTextMap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFText_GetTextFull:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFText_RedactInQuads:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFText_RedactInRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFViewport_AddMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFViewport_GetBBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFViewport_GetMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFViewport_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFViewport_RemoveMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFViewport_SetBBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFViewport_SetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_CanRedo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_CanUndo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_DoDocumentAAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FORM_DoDocumentJSAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_DoDocumentOpenAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_DoPageAAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FORM_ForceToKillFocus:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_GetFocusedAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_GetFocusedText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FORM_GetSelectedText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FORM_GetTextDirection:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FORM_IsIndexSelected:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnAfterLoadPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_OnBeforeClosePage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_OnChar:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnFocus:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnKeyDown:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnKeyUp:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnLButtonDoubleClick:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnLButtonDown:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnLButtonUp:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnMouseMove:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnMouseWheel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnRButtonDown:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnRButtonUp:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_Redo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_ReplaceAndKeepSelection:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_ReplaceSelection:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_SelectAllText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_SetFocusedAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_SetIndexSelected:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_SetTextDirection:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_Undo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_AddInstalledFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_CloseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_ClosePage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_CloseXObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_CopyViewerPreferences:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_CountNamedDests:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_CreateClipPath:{params:[{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_CreateNewDocument:{params:[],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_DestroyClipPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_DestroyLibrary:{params:[],result:null},FPDF_DeviceToPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_DocumentHasValidCrossReferenceTable:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_FFLDraw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_FreeDefaultSystemFontInfo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_GetDefaultSystemFontInfo:{params:[],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetDefaultTTFMap:{params:[],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetDefaultTTFMapCount:{params:[],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetDefaultTTFMapEntry:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetDocPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetDocUserPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetFileIdentifier:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetFileVersion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_GetFormType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetLastError:{params:[],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetMetaText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetNamedDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetNamedDestByName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetPageAAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetPageBoundingBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_GetPageCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetPageHeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}},FPDF_GetPageHeightF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}},FPDF_GetPageLabel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetPageSizeByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetPageSizeByIndexF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_GetPageWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}},FPDF_GetPageWidthF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}},FPDF_GetSecurityHandlerRevision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetSignatureCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetSignatureObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetTrailerEnds:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetXFAPacketContent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_GetXFAPacketCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetXFAPacketName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_ImportNPagesToOne:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_ImportPages:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_ImportPagesByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_InitLibrary:{params:[],result:null},FPDF_InitLibraryWithConfig:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_LoadCustomDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadDocument:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadMemDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadMemDocument64:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadXFA:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_MovePages:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_NewFormObjectFromXObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_NewXObjectFromPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_PageToDevice:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_RemoveFormFieldHighlight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_RenderPage_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_RenderPage_Continue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_RenderPageBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_RenderPageBitmap_Start:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_RenderPageBitmapWithColorScheme_Start:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_RenderPageBitmapWithMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_SaveAsCopy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_SaveWithVersion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_SetFormFieldHighlightAlpha:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_SetFormFieldHighlightColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_SetSandBoxPolicy:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:null},FPDF_SetSystemFontInfo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_StructElement_Attr_CountChildren:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_Attr_GetBlobValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetBooleanValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetChildAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_Attr_GetCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_Attr_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetNumberValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_Attr_GetValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_CountChildren:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetActualText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetAltText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetAttributeAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_GetAttributeCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetChildAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_GetChildMarkedContentID:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetExpansion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetID:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetLang:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetMarkedContentID:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetMarkedContentIdAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetMarkedContentIdCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetObjType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetParent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_GetRawType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetStringAttribute:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetTitle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructTree_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_StructTree_CountChildren:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructTree_GetChildAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructTree_GetForPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_VIEWERREF_GetDuplex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetNumCopies:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetPrintPageRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_VIEWERREF_GetPrintPageRangeCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetPrintPageRangeElement:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetPrintScaling:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAction_GetDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAction_GetFilePath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAction_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAction_GetURIPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_AddFileAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_AddInkStroke:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_AppendAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_AppendObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_CountAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetAP:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetBorder:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetFileAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFocusableSubtypes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetFocusableSubtypesCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFontColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetFontSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetFormAdditionalActionJavaScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormControlCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormControlIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldAlternateName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetFormFieldExportValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetInkListCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetInkListPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetLine:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetLink:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetLinkedAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetNumberValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetObjectCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetOptionCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetOptionLabel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetVertices:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_HasAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_HasKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_IsChecked:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_IsObjectSupportedSubtype:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_IsOptionSelected:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_IsSupportedSubtype:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_RemoveInkList:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_RemoveObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetAP:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetBorder:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetFocusableSubtypes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetFontColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetFormFieldFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetURI:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_UpdateObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_GetAFRelationship:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetDescription:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetFile:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_HasKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_SetDescription:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_SetFile:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_SetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAvail_Create:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAvail_Destroy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFAvail_GetDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAvail_GetFirstPageNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAvail_IsDocAvail:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAvail_IsFormAvail:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAvail_IsLinearized:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAvail_IsPageAvail:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBitmap_Create:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBitmap_CreateEx:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBitmap_Destroy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFBitmap_FillRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFBitmap_GetBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBitmap_GetFormat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBitmap_GetHeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBitmap_GetStride:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBitmap_GetWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBookmark_Find:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFBookmark_GetCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBookmark_GetDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetFirstChild:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetNextSibling:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetStyle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBookmark_GetTitle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFCatalog_GetLanguage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFCatalog_IsTagged:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFCatalog_SetLanguage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFClipPath_CountPaths:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFClipPath_CountPathSegments:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFClipPath_GetPathSegment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFDest_GetDestPageIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDest_GetLocationInPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFDest_GetView:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDoc_AddAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFDoc_CloseJavaScriptAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFDoc_DeleteAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFDOC_ExitFormFillEnvironment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFDoc_GetAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFDoc_GetAttachmentCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDoc_GetJavaScriptAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFDoc_GetJavaScriptActionCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDoc_GetPageMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDOC_InitFormFillEnvironment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFFont_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFFont_GetAscent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetBaseFontName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFont_GetDescent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetFamilyName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFont_GetFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFont_GetFontData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetGlyphPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFFont_GetGlyphWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetIsEmbedded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFont_GetItalicAngle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetWeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFormObj_CountObjects:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFormObj_GetObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFFormObj_RemoveObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFGlyphPath_CountGlyphSegments:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFGlyphPath_GetGlyphPathSegment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFImageObj_GetBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFImageObj_GetIccProfileDataDecoded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_GetImageDataDecoded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFImageObj_GetImageDataRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFImageObj_GetImageFilter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFImageObj_GetImageFilterCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFImageObj_GetImageMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_GetImagePixelSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_GetRenderedBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFImageObj_LoadJpegFile:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_LoadJpegFileInline:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_SetBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_SetMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFJavaScriptAction_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFJavaScriptAction_GetScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_CloseWebLinks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFLink_CountQuadPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_CountRects:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_CountWebLinks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_Enumerate:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFLink_GetAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFLink_GetAnnotRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFLink_GetLinkAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFLink_GetLinkZOrderAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_GetQuadPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetTextRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetURL:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_LoadWebLinks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_CloseAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFPage_CountObjects:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_CreateAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_Delete:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDFPage_Flatten:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_FormFieldZOrderAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GenerateContent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_GetAnnotCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetAnnotIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetArtBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetBleedBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetCropBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetDecodedThumbnailData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetMediaBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_GetRawThumbnailData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetRotation:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetThumbnailAsBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_GetTrimBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_HasFormFieldAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_HasTransparency:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_InsertClipPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFPage_InsertObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_InsertObjectAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_New:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_RemoveAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_RemoveObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_SetArtBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_SetBleedBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_SetCropBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_SetMediaBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_SetRotation:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDFPage_SetTrimBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_TransformAnnots:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:null},FPDFPage_TransFormWithClip:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_AddExistingMark:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_AddMark:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_CountMarks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_CreateNewPath:{params:[{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_CreateNewRect:{params:[{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_CreateTextObj:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_Destroy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFPageObj_GetBounds:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetClipPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_GetDashArray:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetDashCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_GetDashPhase:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetFillColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetIsActive:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetLineCap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_GetLineJoin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_GetMark:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_GetMarkedContentID:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_GetMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetRenderedFillPattern:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_GetRenderedStrokePattern:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_GetRotatedBounds:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetStrokeColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetStrokeWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_HasTransparency:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_NewImageObj:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_NewTextObj:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_RemoveMark:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetBlendMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:null},FPDFPageObj_SetDashArray:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetDashPhase:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetFillColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetIsActive:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetLineCap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetLineJoin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetStrokeColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetStrokeWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_Transform:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:null},FPDFPageObj_TransformClipPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:null},FPDFPageObj_TransformF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_CountParams:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObjMark_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamBlobValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamFloatValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamIntValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObjMark_RemoveParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_SetBlobParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_SetFloatParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_SetIntParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_SetStringParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_BezierTo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_CountSegments:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPath_GetBezierControlPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_GetDrawMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_GetPathSegment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPath_LineTo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_MoveTo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_SetDrawMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPathSegment_GetClose:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPathSegment_GetPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPathSegment_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetByteRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetContents:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetDocMDPPermission:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetReason:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetSubFilter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetTime:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_ClosePage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFText_CountChars:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_CountRects:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_FindClose:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFText_FindNext:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_FindPrev:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_FindStart:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_GetBoundedText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetCharAngle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}},FPDFText_GetCharBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetCharIndexAtPos:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetCharIndexFromTextIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetCharOrigin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetFillColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetFontInfo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetFontSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}},FPDFText_GetFontWeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetLooseCharBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetSchCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetSchResultIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetStrokeColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetTextIndexFromCharIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetTextObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_GetUnicode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_HasUnicodeMapError:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_IsGenerated:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_IsHyphen:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_LoadCidType2Font:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_LoadFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_LoadPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_LoadStandardFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_SetCharcodes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_SetPositions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_SetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFTextObj_GetFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFTextObj_GetFontSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFTextObj_GetRenderedBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFTextObj_GetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFTextObj_GetTextRenderMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFTextObj_SetFontSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFTextObj_SetTextRenderMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}}};function ra(e){return BigInt(typeof e=="number"?e>>>0:e)}function Ot(e){return Number(e)}function eg(e){switch(e){case"i8":return"i8";case"i16":return"i16";case"i32":return"i32";case"i64":return"i64";case"f32":return"float";case"f64":return"double";case"ptr":return"*"}}function GG(e){let t=e._malloc??e.wasmExports?.malloc,r=e._free??e.wasmExports?.free;if(!t||!r)throw new Error("WASM runtime does not expose malloc/free");return{alloc(n){return ra(t(n))},free(n){r(Ot(n))},readBytes(n,i){return e.HEAPU8.slice(Ot(n),Ot(n)+i)},writeBytes(n,i){e.HEAPU8.set(i,Ot(n))},readU8String(n){return e.UTF8ToString?.(Ot(n))??""},writeU8String(n){let i=new TextEncoder().encode(`${n}\0`),a=ra(t(i.length));return e.HEAPU8.set(i,Ot(a)),a},readU16String(n){return e.UTF16ToString?.(Ot(n))??""},writeU16String(n){let i=(n.length+1)*2,a=ra(t(i));return e.stringToUTF16?.(n,Ot(a),i),a},peek(n,i,a=0){let o=e.getValue?.(Ot(n)+a,eg(i))??0;return i==="ptr"?ra(o):o},poke(n,i,a,o=0){let s=i==="ptr"&&typeof a=="bigint"?Number(a):a;e.setValue?.(Ot(n)+o,s,eg(i))}}}function CG(e){return{register(t,r){if(!e.addFunction)throw new Error("WASM runtime does not expose addFunction");return BigInt(e.addFunction(r,t))},dispose(t){e.removeFunction?.(Ot(t))}}}function IG(e,t){return{fromMemory(r){let n=r instanceof Uint8Array?r:new Uint8Array(r);if(n.byteLength>4294967295)throw new RangeError("FPDF_FILEACCESS on wasm supports files up to 4 GiB");let i=e.alloc(12),a=null,o=!1;try{return a=t.register("iiiii",(s,A,d,p)=>{let m=Number(A),F=Number(p);return!Number.isSafeInteger(m)||!Number.isSafeInteger(F)||m<0||F<0||m+F>n.byteLength?0:(e.writeBytes(ra(d),n.subarray(m,m+F)),1)}),e.poke(i,"i32",n.byteLength,0),e.poke(i,"i32",Ot(a),4),e.poke(i,"i32",0,8),{ptr:i,close(){o||(o=!0,t.dispose(a),e.free(i))}}}catch(s){throw a&&t.dispose(a),e.free(i),s}},fromNodeFile(){throw new Error("fromNodeFile() is only available on the native Node runtime")},readRange(){throw new Error("readRange() is only available on the native Node runtime")},sizeOf(){throw new Error("sizeOf() is only available on the native Node runtime")}}}function SG(){return{toNodeFile(){throw new Error("toNodeFile() is only available on the native Node runtime")},writeRange(){throw new Error("writeRange() is only available on the native Node runtime")},appendBytes(){throw new Error("appendBytes() is only available on the native Node runtime")},removeFile(){throw new Error("removeFile() is only available on the native Node runtime")}}}function xG(e,t){return e&&e.ts==="Ptr"&&typeof t=="bigint"?Number(t):t}function HG(e,t){if(e)return e.ts==="Ptr"&&typeof t=="number"?ra(t):e.ts==="bigint"&&typeof t=="number"?BigInt(t):t}function OG(e,t){let r=[];return e.params.forEach((n,i)=>{if(n.wasm.kind==="i64"){let a=BigInt(t[i]??0);r.push(Number(a&0xffffffffn),Number(a>>32n&0xffffffffn))}else r.push(t[i])}),r}function QG(e){let t={},r=yG;for(let[n,i]of Object.entries(r)){let a=i.params.some(s=>s.wasm.kind==="i64"),o=s=>(...A)=>{let d=A.map((p,m)=>xG(i.params[m],p));return HG(i.result,s(...a?OG(i,d):d))};if(e.cwrap){let s=i.params.flatMap(A=>A.wasm.kind==="i64"?["number","number"]:[A.wasm.cwrap]);t[n]=o(e.cwrap(n,i.result?i.result.wasm.cwrap:null,s))}else typeof e[`_${n}`]=="function"&&(t[n]=o(e[`_${n}`].bind(e)))}return t}function RG(e){let t={...e.wasm??{}};e.wasmBinary!==void 0&&t.wasmBinary===void 0&&(t.wasmBinary=e.wasmBinary instanceof Uint8Array?e.wasmBinary:new Uint8Array(e.wasmBinary));let r=e.wasmUrl;return r!==void 0&&t.locateFile===void 0&&(t.locateFile=(n,i)=>n.endsWith(".wasm")?r:i+n),t.wasmBinary!==void 0&&t.locateFile===void 0&&(t.locateFile=(n,i)=>n.endsWith(".wasm")?n:i+n),t}async function TG(e={}){let t=await Promise.resolve().then(()=>($f(),Jf)),n=await(t.default??t)(RG(e)),i=GG(n),a=CG(n);return{kind:"wasm",platform:"wasm32",mem:i,cb:a,fileAccess:IG(i,a),fileWrite:SG(),fn:QG(n),async destroy(){n._free=n._free}}}async function tg(e={}){return TG(e)}var w={};Ze(w,{BRAND:()=>dC,DIRTY:()=>Ur,EMPTY_PATH:()=>jG,INVALID:()=>ee,NEVER:()=>UC,OK:()=>$e,ParseStatus:()=>Ue,Schema:()=>le,ZodAny:()=>pr,ZodArray:()=>jn,ZodBigInt:()=>zr,ZodBoolean:()=>Zr,ZodBranded:()=>Go,ZodCatch:()=>Ai,ZodDate:()=>Jr,ZodDefault:()=>si,ZodDiscriminatedUnion:()=>sc,ZodEffects:()=>Tt,ZodEnum:()=>ai,ZodError:()=>mt,ZodFirstPartyTypeKind:()=>ne,ZodFunction:()=>cc,ZodIntersection:()=>ni,ZodIssueCode:()=>R,ZodLazy:()=>ri,ZodLiteral:()=>ii,ZodMap:()=>ca,ZodNaN:()=>ua,ZodNativeEnum:()=>oi,ZodNever:()=>zt,ZodNull:()=>ei,ZodNullable:()=>Pn,ZodNumber:()=>qr,ZodObject:()=>wt,ZodOptional:()=>Qt,ZodParsedType:()=>X,ZodPipeline:()=>Co,ZodPromise:()=>lr,ZodReadonly:()=>ci,ZodRecord:()=>Ac,ZodSchema:()=>le,ZodSet:()=>da,ZodString:()=>ur,ZodSymbol:()=>sa,ZodTransformer:()=>Tt,ZodTuple:()=>vn,ZodType:()=>le,ZodUndefined:()=>$r,ZodUnion:()=>ti,ZodUnknown:()=>Nn,ZodVoid:()=>Aa,addIssueToContext:()=>K,any:()=>FC,array:()=>kC,bigint:()=>mC,boolean:()=>pg,coerce:()=>WC,custom:()=>cg,date:()=>wC,datetimeRegex:()=>sg,defaultErrorMap:()=>Mn,discriminatedUnion:()=>_C,effect:()=>MC,enum:()=>QC,function:()=>xC,getErrorMap:()=>ia,getParsedType:()=>Fn,instanceof:()=>pC,intersection:()=>yC,isAborted:()=>ac,isAsync:()=>aa,isDirty:()=>oc,isValid:()=>dr,late:()=>uC,lazy:()=>HC,literal:()=>OC,makeIssue:()=>yo,map:()=>IC,nan:()=>lC,nativeEnum:()=>RC,never:()=>PC,null:()=>gC,nullable:()=>NC,number:()=>ug,object:()=>DC,objectUtil:()=>Pp,oboolean:()=>XC,onumber:()=>YC,optional:()=>LC,ostring:()=>VC,pipeline:()=>KC,preprocess:()=>jC,promise:()=>TC,quotelessJson:()=>MG,record:()=>CC,set:()=>SC,setErrorMap:()=>NG,strictObject:()=>BC,string:()=>dg,symbol:()=>bC,transformer:()=>MC,tuple:()=>GC,undefined:()=>fC,union:()=>EC,unknown:()=>vC,util:()=>Fe,void:()=>hC});var Fe;(function(e){e.assertEqual=i=>{};function t(i){}e.assertIs=t;function r(i){throw new Error}e.assertNever=r,e.arrayToEnum=i=>{let a={};for(let o of i)a[o]=o;return a},e.getValidEnumValues=i=>{let a=e.objectKeys(i).filter(s=>typeof i[i[s]]!="number"),o={};for(let s of a)o[s]=i[s];return e.objectValues(o)},e.objectValues=i=>e.objectKeys(i).map(function(a){return i[a]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let a=[];for(let o in i)Object.prototype.hasOwnProperty.call(i,o)&&a.push(o);return a},e.find=(i,a)=>{for(let o of i)if(a(o))return o},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function n(i,a=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(a)}e.joinValues=n,e.jsonStringifyReplacer=(i,a)=>typeof a=="bigint"?a.toString():a})(Fe||(Fe={}));var Pp;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(Pp||(Pp={}));var X=Fe.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Fn=e=>{switch(typeof e){case"undefined":return X.undefined;case"string":return X.string;case"number":return Number.isNaN(e)?X.nan:X.number;case"boolean":return X.boolean;case"function":return X.function;case"bigint":return X.bigint;case"symbol":return X.symbol;case"object":return Array.isArray(e)?X.array:e===null?X.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?X.promise:typeof Map<"u"&&e instanceof Map?X.map:typeof Set<"u"&&e instanceof Set?X.set:typeof Date<"u"&&e instanceof Date?X.date:X.object;default:return X.unknown}};var R=Fe.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),MG=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),mt=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){let r=t||function(a){return a.message},n={_errors:[]},i=a=>{for(let o of a.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)n._errors.push(r(o));else{let s=n,A=0;for(;Ar.message){let r={},n=[];for(let i of this.issues)if(i.path.length>0){let a=i.path[0];r[a]=r[a]||[],r[a].push(t(i))}else n.push(t(i));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};mt.create=e=>new mt(e);var LG=(e,t)=>{let r;switch(e.code){case R.invalid_type:e.received===X.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case R.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,Fe.jsonStringifyReplacer)}`;break;case R.unrecognized_keys:r=`Unrecognized key(s) in object: ${Fe.joinValues(e.keys,", ")}`;break;case R.invalid_union:r="Invalid input";break;case R.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${Fe.joinValues(e.options)}`;break;case R.invalid_enum_value:r=`Invalid enum value. Expected ${Fe.joinValues(e.options)}, received '${e.received}'`;break;case R.invalid_arguments:r="Invalid function arguments";break;case R.invalid_return_type:r="Invalid function return type";break;case R.invalid_date:r="Invalid date";break;case R.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:Fe.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case R.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case R.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case R.custom:r="Invalid input";break;case R.invalid_intersection_types:r="Intersection results could not be merged";break;case R.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case R.not_finite:r="Number must be finite";break;default:r=t.defaultError,Fe.assertNever(e)}return{message:r}},Mn=LG;var ng=Mn;function NG(e){ng=e}function ia(){return ng}var yo=e=>{let{data:t,path:r,errorMaps:n,issueData:i}=e,a=[...r,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s="",A=n.filter(d=>!!d).slice().reverse();for(let d of A)s=d(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}},jG=[];function K(e,t){let r=ia(),n=yo({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===Mn?void 0:Mn].filter(i=>!!i)});e.common.issues.push(n)}var Ue=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){let n=[];for(let i of r){if(i.status==="aborted")return ee;i.status==="dirty"&&t.dirty(),n.push(i.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,r){let n=[];for(let i of r){let a=await i.key,o=await i.value;n.push({key:a,value:o})}return e.mergeObjectSync(t,n)}static mergeObjectSync(t,r){let n={};for(let i of r){let{key:a,value:o}=i;if(a.status==="aborted"||o.status==="aborted")return ee;a.status==="dirty"&&t.dirty(),o.status==="dirty"&&t.dirty(),a.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(n[a.value]=o.value)}return{status:t.value,value:n}}},ee=Object.freeze({status:"aborted"}),Ur=e=>({status:"dirty",value:e}),$e=e=>({status:"valid",value:e}),ac=e=>e.status==="aborted",oc=e=>e.status==="dirty",dr=e=>e.status==="valid",aa=e=>typeof Promise<"u"&&e instanceof Promise;var J;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(J||(J={}));var Rt=class{constructor(t,r,n,i){this._cachedPath=[],this.parent=t,this.data=r,this._path=n,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},rg=(e,t)=>{if(dr(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new mt(e.common.issues);return this._error=r,this._error}}};function de(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:n,description:i}=e;if(t&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(o,s)=>{let{message:A}=e;return o.code==="invalid_enum_value"?{message:A??s.defaultError}:typeof s.data>"u"?{message:A??n??s.defaultError}:o.code!=="invalid_type"?{message:s.defaultError}:{message:A??r??s.defaultError}},description:i}}var le=class{get description(){return this._def.description}_getType(t){return Fn(t.data)}_getOrReturnCtx(t,r){return r||{common:t.parent.common,data:t.data,parsedType:Fn(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Ue,ctx:{common:t.parent.common,data:t.data,parsedType:Fn(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let r=this._parse(t);if(aa(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){let r=this._parse(t);return Promise.resolve(r)}parse(t,r){let n=this.safeParse(t,r);if(n.success)return n.data;throw n.error}safeParse(t,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Fn(t)},i=this._parseSync({data:t,path:n.path,parent:n});return rg(n,i)}"~validate"(t){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Fn(t)};if(!this["~standard"].async)try{let n=this._parseSync({data:t,path:[],parent:r});return dr(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:r}).then(n=>dr(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(t,r){let n=await this.safeParseAsync(t,r);if(n.success)return n.data;throw n.error}async safeParseAsync(t,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Fn(t)},i=this._parse({data:t,path:n.path,parent:n}),a=await(aa(i)?i:Promise.resolve(i));return rg(n,a)}refine(t,r){let n=i=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(i):r;return this._refinement((i,a)=>{let o=t(i),s=()=>a.addIssue({code:R.custom,...n(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(A=>A?!0:(s(),!1)):o?!0:(s(),!1)})}refinement(t,r){return this._refinement((n,i)=>t(n)?!0:(i.addIssue(typeof r=="function"?r(n,i):r),!1))}_refinement(t){return new Tt({schema:this,typeName:ne.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Qt.create(this,this._def)}nullable(){return Pn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return jn.create(this)}promise(){return lr.create(this,this._def)}or(t){return ti.create([this,t],this._def)}and(t){return ni.create(this,t,this._def)}transform(t){return new Tt({...de(this._def),schema:this,typeName:ne.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let r=typeof t=="function"?t:()=>t;return new si({...de(this._def),innerType:this,defaultValue:r,typeName:ne.ZodDefault})}brand(){return new Go({typeName:ne.ZodBranded,type:this,...de(this._def)})}catch(t){let r=typeof t=="function"?t:()=>t;return new Ai({...de(this._def),innerType:this,catchValue:r,typeName:ne.ZodCatch})}describe(t){let r=this.constructor;return new r({...this._def,description:t})}pipe(t){return Co.create(this,t)}readonly(){return ci.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},KG=/^c[^\s-]{8,}$/i,VG=/^[0-9a-z]+$/,YG=/^[0-9A-HJKMNP-TV-Z]{26}$/i,XG=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,WG=/^[a-z0-9_-]{21}$/i,UG=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,qG=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,zG=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,ZG="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",hp,JG=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,$G=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,eC=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,tC=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,nC=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,rC=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ag="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",iC=new RegExp(`^${ag}$`);function og(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let r=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`}function aC(e){return new RegExp(`^${og(e)}$`)}function sg(e){let t=`${ag}T${og(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function oC(e,t){return!!((t==="v4"||!t)&&JG.test(e)||(t==="v6"||!t)&&eC.test(e))}function sC(e,t){if(!UG.test(e))return!1;try{let[r]=e.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(n));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||t&&i.alg!==t)}catch{return!1}}function AC(e,t){return!!((t==="v4"||!t)&&$G.test(e)||(t==="v6"||!t)&&tC.test(e))}var ur=class e extends le{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==X.string){let a=this._getOrReturnCtx(t);return K(a,{code:R.invalid_type,expected:X.string,received:a.parsedType}),ee}let n=new Ue,i;for(let a of this._def.checks)if(a.kind==="min")t.data.lengtha.value&&(i=this._getOrReturnCtx(t,i),K(i,{code:R.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),n.dirty());else if(a.kind==="length"){let o=t.data.length>a.value,s=t.data.lengtht.test(i),{validation:r,code:R.invalid_string,...J.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...J.errToObj(t)})}url(t){return this._addCheck({kind:"url",...J.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...J.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...J.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...J.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...J.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...J.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...J.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...J.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...J.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...J.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...J.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...J.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...J.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...J.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...J.errToObj(t)})}regex(t,r){return this._addCheck({kind:"regex",regex:t,...J.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r?.position,...J.errToObj(r?.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...J.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...J.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...J.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...J.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...J.errToObj(r)})}nonempty(t){return this.min(1,J.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew ur({checks:[],typeName:ne.ZodString,coerce:e?.coerce??!1,...de(e)});function cC(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,i=r>n?r:n,a=Number.parseInt(e.toFixed(i).replace(".","")),o=Number.parseInt(t.toFixed(i).replace(".",""));return a%o/10**i}var qr=class e extends le{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==X.number){let a=this._getOrReturnCtx(t);return K(a,{code:R.invalid_type,expected:X.number,received:a.parsedType}),ee}let n,i=new Ue;for(let a of this._def.checks)a.kind==="int"?Fe.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),K(n,{code:R.invalid_type,expected:"integer",received:"float",message:a.message}),i.dirty()):a.kind==="min"?(a.inclusive?t.dataa.value:t.data>=a.value)&&(n=this._getOrReturnCtx(t,n),K(n,{code:R.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),i.dirty()):a.kind==="multipleOf"?cC(t.data,a.value)!==0&&(n=this._getOrReturnCtx(t,n),K(n,{code:R.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):a.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),K(n,{code:R.not_finite,message:a.message}),i.dirty()):Fe.assertNever(a);return{status:i.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,J.toString(r))}gt(t,r){return this.setLimit("min",t,!1,J.toString(r))}lte(t,r){return this.setLimit("max",t,!0,J.toString(r))}lt(t,r){return this.setLimit("max",t,!1,J.toString(r))}setLimit(t,r,n,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:J.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:J.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:J.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:J.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:J.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:J.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:J.toString(r)})}finite(t){return this._addCheck({kind:"finite",message:J.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:J.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:J.toString(t)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.valuet.kind==="int"||t.kind==="multipleOf"&&Fe.isInteger(t.value))}get isFinite(){let t=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(t===null||n.valuenew qr({checks:[],typeName:ne.ZodNumber,coerce:e?.coerce||!1,...de(e)});var zr=class e extends le{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==X.bigint)return this._getInvalidInput(t);let n,i=new Ue;for(let a of this._def.checks)a.kind==="min"?(a.inclusive?t.dataa.value:t.data>=a.value)&&(n=this._getOrReturnCtx(t,n),K(n,{code:R.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),i.dirty()):a.kind==="multipleOf"?t.data%a.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),K(n,{code:R.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):Fe.assertNever(a);return{status:i.value,value:t.data}}_getInvalidInput(t){let r=this._getOrReturnCtx(t);return K(r,{code:R.invalid_type,expected:X.bigint,received:r.parsedType}),ee}gte(t,r){return this.setLimit("min",t,!0,J.toString(r))}gt(t,r){return this.setLimit("min",t,!1,J.toString(r))}lte(t,r){return this.setLimit("max",t,!0,J.toString(r))}lt(t,r){return this.setLimit("max",t,!1,J.toString(r))}setLimit(t,r,n,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:J.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:J.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:J.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:J.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:J.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:J.toString(r)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew zr({checks:[],typeName:ne.ZodBigInt,coerce:e?.coerce??!1,...de(e)});var Zr=class extends le{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==X.boolean){let n=this._getOrReturnCtx(t);return K(n,{code:R.invalid_type,expected:X.boolean,received:n.parsedType}),ee}return $e(t.data)}};Zr.create=e=>new Zr({typeName:ne.ZodBoolean,coerce:e?.coerce||!1,...de(e)});var Jr=class e extends le{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==X.date){let a=this._getOrReturnCtx(t);return K(a,{code:R.invalid_type,expected:X.date,received:a.parsedType}),ee}if(Number.isNaN(t.data.getTime())){let a=this._getOrReturnCtx(t);return K(a,{code:R.invalid_date}),ee}let n=new Ue,i;for(let a of this._def.checks)a.kind==="min"?t.data.getTime()a.value&&(i=this._getOrReturnCtx(t,i),K(i,{code:R.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),n.dirty()):Fe.assertNever(a);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:J.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:J.toString(r)})}get minDate(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew Jr({checks:[],coerce:e?.coerce||!1,typeName:ne.ZodDate,...de(e)});var sa=class extends le{_parse(t){if(this._getType(t)!==X.symbol){let n=this._getOrReturnCtx(t);return K(n,{code:R.invalid_type,expected:X.symbol,received:n.parsedType}),ee}return $e(t.data)}};sa.create=e=>new sa({typeName:ne.ZodSymbol,...de(e)});var $r=class extends le{_parse(t){if(this._getType(t)!==X.undefined){let n=this._getOrReturnCtx(t);return K(n,{code:R.invalid_type,expected:X.undefined,received:n.parsedType}),ee}return $e(t.data)}};$r.create=e=>new $r({typeName:ne.ZodUndefined,...de(e)});var ei=class extends le{_parse(t){if(this._getType(t)!==X.null){let n=this._getOrReturnCtx(t);return K(n,{code:R.invalid_type,expected:X.null,received:n.parsedType}),ee}return $e(t.data)}};ei.create=e=>new ei({typeName:ne.ZodNull,...de(e)});var pr=class extends le{constructor(){super(...arguments),this._any=!0}_parse(t){return $e(t.data)}};pr.create=e=>new pr({typeName:ne.ZodAny,...de(e)});var Nn=class extends le{constructor(){super(...arguments),this._unknown=!0}_parse(t){return $e(t.data)}};Nn.create=e=>new Nn({typeName:ne.ZodUnknown,...de(e)});var zt=class extends le{_parse(t){let r=this._getOrReturnCtx(t);return K(r,{code:R.invalid_type,expected:X.never,received:r.parsedType}),ee}};zt.create=e=>new zt({typeName:ne.ZodNever,...de(e)});var Aa=class extends le{_parse(t){if(this._getType(t)!==X.undefined){let n=this._getOrReturnCtx(t);return K(n,{code:R.invalid_type,expected:X.void,received:n.parsedType}),ee}return $e(t.data)}};Aa.create=e=>new Aa({typeName:ne.ZodVoid,...de(e)});var jn=class e extends le{_parse(t){let{ctx:r,status:n}=this._processInputParams(t),i=this._def;if(r.parsedType!==X.array)return K(r,{code:R.invalid_type,expected:X.array,received:r.parsedType}),ee;if(i.exactLength!==null){let o=r.data.length>i.exactLength.value,s=r.data.lengthi.maxLength.value&&(K(r,{code:R.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((o,s)=>i.type._parseAsync(new Rt(r,o,r.path,s)))).then(o=>Ue.mergeArray(n,o));let a=[...r.data].map((o,s)=>i.type._parseSync(new Rt(r,o,r.path,s)));return Ue.mergeArray(n,a)}get element(){return this._def.type}min(t,r){return new e({...this._def,minLength:{value:t,message:J.toString(r)}})}max(t,r){return new e({...this._def,maxLength:{value:t,message:J.toString(r)}})}length(t,r){return new e({...this._def,exactLength:{value:t,message:J.toString(r)}})}nonempty(t){return this.min(1,t)}};jn.create=(e,t)=>new jn({type:e,minLength:null,maxLength:null,exactLength:null,typeName:ne.ZodArray,...de(t)});function oa(e){if(e instanceof wt){let t={};for(let r in e.shape){let n=e.shape[r];t[r]=Qt.create(oa(n))}return new wt({...e._def,shape:()=>t})}else return e instanceof jn?new jn({...e._def,type:oa(e.element)}):e instanceof Qt?Qt.create(oa(e.unwrap())):e instanceof Pn?Pn.create(oa(e.unwrap())):e instanceof vn?vn.create(e.items.map(t=>oa(t))):e}var wt=class e extends le{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),r=Fe.objectKeys(t);return this._cached={shape:t,keys:r},this._cached}_parse(t){if(this._getType(t)!==X.object){let d=this._getOrReturnCtx(t);return K(d,{code:R.invalid_type,expected:X.object,received:d.parsedType}),ee}let{status:n,ctx:i}=this._processInputParams(t),{shape:a,keys:o}=this._getCached(),s=[];if(!(this._def.catchall instanceof zt&&this._def.unknownKeys==="strip"))for(let d in i.data)o.includes(d)||s.push(d);let A=[];for(let d of o){let p=a[d],m=i.data[d];A.push({key:{status:"valid",value:d},value:p._parse(new Rt(i,m,i.path,d)),alwaysSet:d in i.data})}if(this._def.catchall instanceof zt){let d=this._def.unknownKeys;if(d==="passthrough")for(let p of s)A.push({key:{status:"valid",value:p},value:{status:"valid",value:i.data[p]}});else if(d==="strict")s.length>0&&(K(i,{code:R.unrecognized_keys,keys:s}),n.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let d=this._def.catchall;for(let p of s){let m=i.data[p];A.push({key:{status:"valid",value:p},value:d._parse(new Rt(i,m,i.path,p)),alwaysSet:p in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let d=[];for(let p of A){let m=await p.key,F=await p.value;d.push({key:m,value:F,alwaysSet:p.alwaysSet})}return d}).then(d=>Ue.mergeObjectSync(n,d)):Ue.mergeObjectSync(n,A)}get shape(){return this._def.shape()}strict(t){return J.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,n)=>{let i=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:J.errToObj(t).message??i}:{message:i}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:ne.ZodObject})}setKey(t,r){return this.augment({[t]:r})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let r={};for(let n of Fe.objectKeys(t))t[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}omit(t){let r={};for(let n of Fe.objectKeys(this.shape))t[n]||(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}deepPartial(){return oa(this)}partial(t){let r={};for(let n of Fe.objectKeys(this.shape)){let i=this.shape[n];t&&!t[n]?r[n]=i:r[n]=i.optional()}return new e({...this._def,shape:()=>r})}required(t){let r={};for(let n of Fe.objectKeys(this.shape))if(t&&!t[n])r[n]=this.shape[n];else{let a=this.shape[n];for(;a instanceof Qt;)a=a._def.innerType;r[n]=a}return new e({...this._def,shape:()=>r})}keyof(){return Ag(Fe.objectKeys(this.shape))}};wt.create=(e,t)=>new wt({shape:()=>e,unknownKeys:"strip",catchall:zt.create(),typeName:ne.ZodObject,...de(t)});wt.strictCreate=(e,t)=>new wt({shape:()=>e,unknownKeys:"strict",catchall:zt.create(),typeName:ne.ZodObject,...de(t)});wt.lazycreate=(e,t)=>new wt({shape:e,unknownKeys:"strip",catchall:zt.create(),typeName:ne.ZodObject,...de(t)});var ti=class extends le{_parse(t){let{ctx:r}=this._processInputParams(t),n=this._def.options;function i(a){for(let s of a)if(s.result.status==="valid")return s.result;for(let s of a)if(s.result.status==="dirty")return r.common.issues.push(...s.ctx.common.issues),s.result;let o=a.map(s=>new mt(s.ctx.common.issues));return K(r,{code:R.invalid_union,unionErrors:o}),ee}if(r.common.async)return Promise.all(n.map(async a=>{let o={...r,common:{...r.common,issues:[]},parent:null};return{result:await a._parseAsync({data:r.data,path:r.path,parent:o}),ctx:o}})).then(i);{let a,o=[];for(let A of n){let d={...r,common:{...r.common,issues:[]},parent:null},p=A._parseSync({data:r.data,path:r.path,parent:d});if(p.status==="valid")return p;p.status==="dirty"&&!a&&(a={result:p,ctx:d}),d.common.issues.length&&o.push(d.common.issues)}if(a)return r.common.issues.push(...a.ctx.common.issues),a.result;let s=o.map(A=>new mt(A));return K(r,{code:R.invalid_union,unionErrors:s}),ee}}get options(){return this._def.options}};ti.create=(e,t)=>new ti({options:e,typeName:ne.ZodUnion,...de(t)});var Ln=e=>e instanceof ri?Ln(e.schema):e instanceof Tt?Ln(e.innerType()):e instanceof ii?[e.value]:e instanceof ai?e.options:e instanceof oi?Fe.objectValues(e.enum):e instanceof si?Ln(e._def.innerType):e instanceof $r?[void 0]:e instanceof ei?[null]:e instanceof Qt?[void 0,...Ln(e.unwrap())]:e instanceof Pn?[null,...Ln(e.unwrap())]:e instanceof Go||e instanceof ci?Ln(e.unwrap()):e instanceof Ai?Ln(e._def.innerType):[],sc=class e extends le{_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==X.object)return K(r,{code:R.invalid_type,expected:X.object,received:r.parsedType}),ee;let n=this.discriminator,i=r.data[n],a=this.optionsMap.get(i);return a?r.common.async?a._parseAsync({data:r.data,path:r.path,parent:r}):a._parseSync({data:r.data,path:r.path,parent:r}):(K(r,{code:R.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),ee)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,r,n){let i=new Map;for(let a of r){let o=Ln(a.shape[t]);if(!o.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let s of o){if(i.has(s))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(s)}`);i.set(s,a)}}return new e({typeName:ne.ZodDiscriminatedUnion,discriminator:t,options:r,optionsMap:i,...de(n)})}};function kp(e,t){let r=Fn(e),n=Fn(t);if(e===t)return{valid:!0,data:e};if(r===X.object&&n===X.object){let i=Fe.objectKeys(t),a=Fe.objectKeys(e).filter(s=>i.indexOf(s)!==-1),o={...e,...t};for(let s of a){let A=kp(e[s],t[s]);if(!A.valid)return{valid:!1};o[s]=A.data}return{valid:!0,data:o}}else if(r===X.array&&n===X.array){if(e.length!==t.length)return{valid:!1};let i=[];for(let a=0;a{if(ac(a)||ac(o))return ee;let s=kp(a.value,o.value);return s.valid?((oc(a)||oc(o))&&r.dirty(),{status:r.value,value:s.data}):(K(n,{code:R.invalid_intersection_types}),ee)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([a,o])=>i(a,o)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};ni.create=(e,t,r)=>new ni({left:e,right:t,typeName:ne.ZodIntersection,...de(r)});var vn=class e extends le{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==X.array)return K(n,{code:R.invalid_type,expected:X.array,received:n.parsedType}),ee;if(n.data.lengththis._def.items.length&&(K(n,{code:R.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let a=[...n.data].map((o,s)=>{let A=this._def.items[s]||this._def.rest;return A?A._parse(new Rt(n,o,n.path,s)):null}).filter(o=>!!o);return n.common.async?Promise.all(a).then(o=>Ue.mergeArray(r,o)):Ue.mergeArray(r,a)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};vn.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new vn({items:e,typeName:ne.ZodTuple,rest:null,...de(t)})};var Ac=class e extends le{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==X.object)return K(n,{code:R.invalid_type,expected:X.object,received:n.parsedType}),ee;let i=[],a=this._def.keyType,o=this._def.valueType;for(let s in n.data)i.push({key:a._parse(new Rt(n,s,n.path,s)),value:o._parse(new Rt(n,n.data[s],n.path,s)),alwaysSet:s in n.data});return n.common.async?Ue.mergeObjectAsync(r,i):Ue.mergeObjectSync(r,i)}get element(){return this._def.valueType}static create(t,r,n){return r instanceof le?new e({keyType:t,valueType:r,typeName:ne.ZodRecord,...de(n)}):new e({keyType:ur.create(),valueType:t,typeName:ne.ZodRecord,...de(r)})}},ca=class extends le{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==X.map)return K(n,{code:R.invalid_type,expected:X.map,received:n.parsedType}),ee;let i=this._def.keyType,a=this._def.valueType,o=[...n.data.entries()].map(([s,A],d)=>({key:i._parse(new Rt(n,s,n.path,[d,"key"])),value:a._parse(new Rt(n,A,n.path,[d,"value"]))}));if(n.common.async){let s=new Map;return Promise.resolve().then(async()=>{for(let A of o){let d=await A.key,p=await A.value;if(d.status==="aborted"||p.status==="aborted")return ee;(d.status==="dirty"||p.status==="dirty")&&r.dirty(),s.set(d.value,p.value)}return{status:r.value,value:s}})}else{let s=new Map;for(let A of o){let d=A.key,p=A.value;if(d.status==="aborted"||p.status==="aborted")return ee;(d.status==="dirty"||p.status==="dirty")&&r.dirty(),s.set(d.value,p.value)}return{status:r.value,value:s}}}};ca.create=(e,t,r)=>new ca({valueType:t,keyType:e,typeName:ne.ZodMap,...de(r)});var da=class e extends le{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==X.set)return K(n,{code:R.invalid_type,expected:X.set,received:n.parsedType}),ee;let i=this._def;i.minSize!==null&&n.data.sizei.maxSize.value&&(K(n,{code:R.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),r.dirty());let a=this._def.valueType;function o(A){let d=new Set;for(let p of A){if(p.status==="aborted")return ee;p.status==="dirty"&&r.dirty(),d.add(p.value)}return{status:r.value,value:d}}let s=[...n.data.values()].map((A,d)=>a._parse(new Rt(n,A,n.path,d)));return n.common.async?Promise.all(s).then(A=>o(A)):o(s)}min(t,r){return new e({...this._def,minSize:{value:t,message:J.toString(r)}})}max(t,r){return new e({...this._def,maxSize:{value:t,message:J.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}};da.create=(e,t)=>new da({valueType:e,minSize:null,maxSize:null,typeName:ne.ZodSet,...de(t)});var cc=class e extends le{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==X.function)return K(r,{code:R.invalid_type,expected:X.function,received:r.parsedType}),ee;function n(s,A){return yo({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,ia(),Mn].filter(d=>!!d),issueData:{code:R.invalid_arguments,argumentsError:A}})}function i(s,A){return yo({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,ia(),Mn].filter(d=>!!d),issueData:{code:R.invalid_return_type,returnTypeError:A}})}let a={errorMap:r.common.contextualErrorMap},o=r.data;if(this._def.returns instanceof lr){let s=this;return $e(async function(...A){let d=new mt([]),p=await s._def.args.parseAsync(A,a).catch(k=>{throw d.addIssue(n(A,k)),d}),m=await Reflect.apply(o,this,p);return await s._def.returns._def.type.parseAsync(m,a).catch(k=>{throw d.addIssue(i(m,k)),d})})}else{let s=this;return $e(function(...A){let d=s._def.args.safeParse(A,a);if(!d.success)throw new mt([n(A,d.error)]);let p=Reflect.apply(o,this,d.data),m=s._def.returns.safeParse(p,a);if(!m.success)throw new mt([i(p,m.error)]);return m.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:vn.create(t).rest(Nn.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,r,n){return new e({args:t||vn.create([]).rest(Nn.create()),returns:r||Nn.create(),typeName:ne.ZodFunction,...de(n)})}},ri=class extends le{get schema(){return this._def.getter()}_parse(t){let{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};ri.create=(e,t)=>new ri({getter:e,typeName:ne.ZodLazy,...de(t)});var ii=class extends le{_parse(t){if(t.data!==this._def.value){let r=this._getOrReturnCtx(t);return K(r,{received:r.data,code:R.invalid_literal,expected:this._def.value}),ee}return{status:"valid",value:t.data}}get value(){return this._def.value}};ii.create=(e,t)=>new ii({value:e,typeName:ne.ZodLiteral,...de(t)});function Ag(e,t){return new ai({values:e,typeName:ne.ZodEnum,...de(t)})}var ai=class e extends le{_parse(t){if(typeof t.data!="string"){let r=this._getOrReturnCtx(t),n=this._def.values;return K(r,{expected:Fe.joinValues(n),received:r.parsedType,code:R.invalid_type}),ee}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let r=this._getOrReturnCtx(t),n=this._def.values;return K(r,{received:r.data,code:R.invalid_enum_value,options:n}),ee}return $e(t.data)}get options(){return this._def.values}get enum(){let t={};for(let r of this._def.values)t[r]=r;return t}get Values(){let t={};for(let r of this._def.values)t[r]=r;return t}get Enum(){let t={};for(let r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return e.create(t,{...this._def,...r})}exclude(t,r=this._def){return e.create(this.options.filter(n=>!t.includes(n)),{...this._def,...r})}};ai.create=Ag;var oi=class extends le{_parse(t){let r=Fe.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==X.string&&n.parsedType!==X.number){let i=Fe.objectValues(r);return K(n,{expected:Fe.joinValues(i),received:n.parsedType,code:R.invalid_type}),ee}if(this._cache||(this._cache=new Set(Fe.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let i=Fe.objectValues(r);return K(n,{received:n.data,code:R.invalid_enum_value,options:i}),ee}return $e(t.data)}get enum(){return this._def.values}};oi.create=(e,t)=>new oi({values:e,typeName:ne.ZodNativeEnum,...de(t)});var lr=class extends le{unwrap(){return this._def.type}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==X.promise&&r.common.async===!1)return K(r,{code:R.invalid_type,expected:X.promise,received:r.parsedType}),ee;let n=r.parsedType===X.promise?r.data:Promise.resolve(r.data);return $e(n.then(i=>this._def.type.parseAsync(i,{path:r.path,errorMap:r.common.contextualErrorMap})))}};lr.create=(e,t)=>new lr({type:e,typeName:ne.ZodPromise,...de(t)});var Tt=class extends le{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ne.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:r,ctx:n}=this._processInputParams(t),i=this._def.effect||null,a={addIssue:o=>{K(n,o),o.fatal?r.abort():r.dirty()},get path(){return n.path}};if(a.addIssue=a.addIssue.bind(a),i.type==="preprocess"){let o=i.transform(n.data,a);if(n.common.async)return Promise.resolve(o).then(async s=>{if(r.value==="aborted")return ee;let A=await this._def.schema._parseAsync({data:s,path:n.path,parent:n});return A.status==="aborted"?ee:A.status==="dirty"?Ur(A.value):r.value==="dirty"?Ur(A.value):A});{if(r.value==="aborted")return ee;let s=this._def.schema._parseSync({data:o,path:n.path,parent:n});return s.status==="aborted"?ee:s.status==="dirty"?Ur(s.value):r.value==="dirty"?Ur(s.value):s}}if(i.type==="refinement"){let o=s=>{let A=i.refinement(s,a);if(n.common.async)return Promise.resolve(A);if(A instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?ee:(s.status==="dirty"&&r.dirty(),o(s.value),{status:r.value,value:s.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>s.status==="aborted"?ee:(s.status==="dirty"&&r.dirty(),o(s.value).then(()=>({status:r.value,value:s.value}))))}if(i.type==="transform")if(n.common.async===!1){let o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!dr(o))return ee;let s=i.transform(o.value,a);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:s}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>dr(o)?Promise.resolve(i.transform(o.value,a)).then(s=>({status:r.value,value:s})):ee);Fe.assertNever(i)}};Tt.create=(e,t,r)=>new Tt({schema:e,typeName:ne.ZodEffects,effect:t,...de(r)});Tt.createWithPreprocess=(e,t,r)=>new Tt({schema:t,effect:{type:"preprocess",transform:e},typeName:ne.ZodEffects,...de(r)});var Qt=class extends le{_parse(t){return this._getType(t)===X.undefined?$e(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Qt.create=(e,t)=>new Qt({innerType:e,typeName:ne.ZodOptional,...de(t)});var Pn=class extends le{_parse(t){return this._getType(t)===X.null?$e(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Pn.create=(e,t)=>new Pn({innerType:e,typeName:ne.ZodNullable,...de(t)});var si=class extends le{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return r.parsedType===X.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};si.create=(e,t)=>new si({innerType:e,typeName:ne.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...de(t)});var Ai=class extends le{_parse(t){let{ctx:r}=this._processInputParams(t),n={...r,common:{...r.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return aa(i)?i.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new mt(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new mt(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Ai.create=(e,t)=>new Ai({innerType:e,typeName:ne.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...de(t)});var ua=class extends le{_parse(t){if(this._getType(t)!==X.nan){let n=this._getOrReturnCtx(t);return K(n,{code:R.invalid_type,expected:X.nan,received:n.parsedType}),ee}return{status:"valid",value:t.data}}};ua.create=e=>new ua({typeName:ne.ZodNaN,...de(e)});var dC=Symbol("zod_brand"),Go=class extends le{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},Co=class e extends le{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.common.async)return(async()=>{let a=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?ee:a.status==="dirty"?(r.dirty(),Ur(a.value)):this._def.out._parseAsync({data:a.value,path:n.path,parent:n})})();{let i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?ee:i.status==="dirty"?(r.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(t,r){return new e({in:t,out:r,typeName:ne.ZodPipeline})}},ci=class extends le{_parse(t){let r=this._def.innerType._parse(t),n=i=>(dr(i)&&(i.value=Object.freeze(i.value)),i);return aa(r)?r.then(i=>n(i)):n(r)}unwrap(){return this._def.innerType}};ci.create=(e,t)=>new ci({innerType:e,typeName:ne.ZodReadonly,...de(t)});function ig(e,t){let r=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof r=="string"?{message:r}:r}function cg(e,t={},r){return e?pr.create().superRefine((n,i)=>{let a=e(n);if(a instanceof Promise)return a.then(o=>{if(!o){let s=ig(t,n),A=s.fatal??r??!0;i.addIssue({code:"custom",...s,fatal:A})}});if(!a){let o=ig(t,n),s=o.fatal??r??!0;i.addIssue({code:"custom",...o,fatal:s})}}):pr.create()}var uC={object:wt.lazycreate},ne;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(ne||(ne={}));var pC=(e,t={message:`Input not instance of ${e.name}`})=>cg(r=>r instanceof e,t),dg=ur.create,ug=qr.create,lC=ua.create,mC=zr.create,pg=Zr.create,wC=Jr.create,bC=sa.create,fC=$r.create,gC=ei.create,FC=pr.create,vC=Nn.create,PC=zt.create,hC=Aa.create,kC=jn.create,DC=wt.create,BC=wt.strictCreate,EC=ti.create,_C=sc.create,yC=ni.create,GC=vn.create,CC=Ac.create,IC=ca.create,SC=da.create,xC=cc.create,HC=ri.create,OC=ii.create,QC=ai.create,RC=oi.create,TC=lr.create,MC=Tt.create,LC=Qt.create,NC=Pn.create,jC=Tt.createWithPreprocess,KC=Co.create,VC=()=>dg().optional(),YC=()=>ug().optional(),XC=()=>pg().optional(),WC={string:(e=>ur.create({...e,coerce:!0})),number:(e=>qr.create({...e,coerce:!0})),boolean:(e=>Zr.create({...e,coerce:!0})),bigint:(e=>zr.create({...e,coerce:!0})),date:(e=>Jr.create({...e,coerce:!0}))};var UC=ee;var qC=Symbol.for("@embedpdf/engine-core/reading");function Ep(e,t){e._def[qC]=t}function me(e){return Ep(e,{closed:!0}),e}function zC(e,t){let r=new Set(e.options),n=w.preprocess(i=>typeof i=="string"&&!r.has(i)?t:i,e);return Ep(n,{unknownAs:t}),n}function ga(e,t,r=n=>n){let{discriminator:n,optionsMap:i}=e._def,a=w.preprocess(o=>{if(typeof o!="object"||o===null||Array.isArray(o))return o;let s=o[n];return typeof s!="string"||i.has(s)?o:r({...o,[n]:t})},e);return Ep(a,{unknownAs:t}),a}var wa=w.object({kind:me(w.literal("objectNumber")),objectNumber:w.number().int().positive()}),Mt=w.string().regex(/^#[0-9a-fA-F]{6}$/,"expected a color as '#rrggbb'"),gg=me(w.enum(["solid","dashed","beveled","inset"])),ZC=me(w.enum(["solid","dashed","beveled","inset","underline"])),JC=me(w.enum(["check","cross","star","circle","square","diamond"])),Fg=w.enum(["solid","dashed"]),_p=w.array(w.number().nonnegative()).min(1),Dp=me(w.enum(["none","square","circle","diamond","open-arrow","closed-arrow","butt","r-open-arrow","r-closed-arrow","slash"])),vg=w.object({start:Dp,end:Dp}),Hae=w.enum(_r),Pg=me(w.enum(["left","center","right"])),$C=me(w.enum(["free-text","free-text-callout","free-text-typewriter"])),e0=w.enum(["free-text","free-text-callout"]),t0=me(w.enum(["top","middle","bottom"])),n0=me(w.literal("replace")),r0=me(w.literal("strikeout-text-edit")),i0=me(w.literal("ink-highlight")),a0=me(w.enum(["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"])),ba=me(w.discriminatedUnion("kind",[w.object({kind:w.literal("objectNumber"),page:wa,objectNumber:w.number().int().positive()}),w.object({kind:w.literal("baseIndex"),page:wa,baseIndex:w.number().int().nonnegative()})])),et=wa,bt=w.number().nullable(),yp=me(w.discriminatedUnion("kind",[w.object({kind:w.literal("xyz"),page:et,left:bt,top:bt,zoom:bt}),w.object({kind:w.literal("fit"),page:et}),w.object({kind:w.literal("fitH"),page:et,top:bt}),w.object({kind:w.literal("fitV"),page:et,left:bt}),w.object({kind:w.literal("fitR"),page:et,left:w.number(),bottom:w.number(),right:w.number(),top:w.number()}),w.object({kind:w.literal("fitB"),page:et}),w.object({kind:w.literal("fitBH"),page:et,top:bt}),w.object({kind:w.literal("fitBV"),page:et,left:bt})])),Gp=me(w.discriminatedUnion("kind",[w.object({kind:w.literal("xyz"),page:et,x:bt,y:bt,zoom:bt}),w.object({kind:w.literal("fit"),page:et}),w.object({kind:w.literal("fitH"),page:et,y:bt}),w.object({kind:w.literal("fitV"),page:et,x:bt}),w.object({kind:w.literal("fitR"),page:et,x:w.number(),y:w.number(),width:w.number().nonnegative(),height:w.number().nonnegative()}),w.object({kind:w.literal("fitB"),page:et}),w.object({kind:w.literal("fitBH"),page:et,y:bt}),w.object({kind:w.literal("fitBV"),page:et,x:bt})]));function hg(e){let t=w.object({kind:w.literal("goto"),destination:e}),r=w.object({kind:w.literal("uri"),uri:w.string()}),n=ga(w.discriminatedUnion("kind",[t,r,w.object({kind:w.literal("goto-remote"),file:w.string()}),w.object({kind:w.literal("launch"),path:w.string()}),w.object({kind:w.literal("javascript")}),w.object({kind:w.literal("named"),name:w.string()}),w.object({kind:w.literal("unsupported")})]),"unsupported").describe("Where a link goes, by its `kind`. A newer server can add kinds: read one your client doesn't know as `unsupported`."),i=w.object({kind:w.literal("named"),name:w.enum(["NextPage","PrevPage","FirstPage","LastPage"])});return{read:n,write:w.discriminatedUnion("kind",[t,r,i])}}var kg=hg(Gp),Dg=hg(yp),o0=kg.read,s0=kg.write,A0=Dg.read,c0=Dg.write,ma=me(w.discriminatedUnion("kind",[w.object({kind:w.literal("name"),name:w.string()}),w.object({kind:w.literal("objectNumber"),objectNumber:w.number().int().positive()})])),Bg={exclude:w.boolean(),includeNoValueFields:w.boolean(),format:me(w.enum(["fdf","html","xfdf","pdf"])),method:me(w.enum(["post","get"])),submitCoordinates:w.boolean(),includeAppendSaves:w.boolean(),includeAnnotations:w.boolean(),canonicalFormat:w.boolean(),exclNonUserAnnots:w.boolean(),exclFKey:w.boolean(),embedForm:w.boolean()},d0=Object.fromEntries(Object.entries(Bg).map(([e,t])=>[e,t.optional()]));function Eg(e){let t={subtype:w.string(),next:w.array(w.lazy(()=>i))},r=(o,s={})=>w.object({type:w.literal(o),...t,...s}),n=[r("javascript",{script:w.string()}),r("goto",{destination:e}),r("uri",{uri:w.string(),isMap:w.boolean()}),r("named",{name:w.string()}),r("hide",{targets:w.array(ma),hide:w.boolean()}),r("reset-form",{fields:w.array(ma).nullable(),exclude:w.boolean()}),r("goto-remote",{filePath:w.string()}),r("goto-embedded",{filePath:w.string()}),r("launch",{filePath:w.string()}),r("rendition",{script:w.string().optional()}),r("submit-form",{payload:w.object({url:w.string(),fields:w.array(ma).nullable(),...Bg,charSet:w.string().optional()}).optional()}),r("thread"),r("sound"),r("movie"),r("import-data"),r("set-ocg-state"),r("transition"),r("goto-3d-view"),r("unknown")],i=w.lazy(()=>ga(w.discriminatedUnion("type",[...n]),"unknown").describe("An action, by its `type`. A newer server can add types: read one your client doesn't know as `unknown`, keeping its `subtype` and `next`.")),a=w.object({root:i.nullable(),incomplete:w.boolean(),warnings:w.array(me(w.enum(["cycle-dropped","malformed-next","incomplete","payload-dropped"])))});return{arms:n,node:i,tree:a,fieldActions:w.object({keystroke:a.optional(),format:a.optional(),validate:a.optional(),calculate:a.optional()}),pageActions:w.object({open:a.optional(),close:a.optional()}),annotationActions:w.object({activate:a.optional(),cursorEnter:a.optional(),cursorExit:a.optional(),mouseDown:a.optional(),mouseUp:a.optional(),focus:a.optional(),blur:a.optional(),pageOpen:a.optional(),pageClose:a.optional(),pageVisible:a.optional(),pageInvisible:a.optional()}),documentActions:w.object({nameTreeScripts:w.array(w.object({name:w.string(),action:a})),openAction:a.nullable(),openDestination:e.nullable(),willClose:a.optional(),willSave:a.optional(),didSave:a.optional(),willPrint:a.optional(),didPrint:a.optional()}).superRefine((o,s)=>{o.openAction!==null&&o.openDestination!==null&&s.addIssue({code:w.ZodIssueCode.custom,message:"openAction and openDestination are mutually exclusive",path:["openDestination"]})})}}var pi=Eg(Gp),u0=Eg(yp);function _g(e){let t=()=>({next:w.array(w.lazy(()=>n)).optional()}),r=[w.object({type:w.literal("javascript"),script:w.string(),...t()}),w.object({type:w.literal("goto"),destination:e,...t()}),w.object({type:w.literal("uri"),uri:w.string().min(1),...t()}),w.object({type:w.literal("named"),name:w.string().min(1),...t()}),w.object({type:w.literal("hide"),targets:w.array(ma).min(1),hide:w.boolean(),...t()}),w.object({type:w.literal("reset-form"),fields:w.array(ma).nullable(),exclude:w.boolean(),...t()}),w.object({type:w.literal("submit-form"),url:w.string().min(1),fields:w.array(ma).nullable(),...d0,...t()})],n=w.lazy(()=>w.discriminatedUnion("type",[...r])),i=()=>n.nullable().optional();return{node:n,widgetActions:w.object({activate:i(),cursorEnter:i(),cursorExit:i(),mouseDown:i(),mouseUp:i(),focus:i(),blur:i(),pageOpen:i(),pageClose:i(),pageVisible:i(),pageInvisible:i()}).strict()}}var yg=_g(Gp),p0=_g(yp),Oae=yg.node,Gg=yg.widgetActions,l0=p0.widgetActions,Qae=pi.node,Rae=w.enum(pi.arms.map(e=>e.shape.type.value)),Tae=pi.tree,m0=pi.fieldActions,Mae=pi.pageActions,Lae=pi.documentActions,w0=pi.annotationActions,Cg=u0.annotationActions,Io=w.lazy(()=>w.object({type:w.literal("javascript"),script:w.string(),next:w.array(Io).optional()})),Ig=w.object({keystroke:Io.nullable().optional(),format:Io.nullable().optional(),validate:Io.nullable().optional(),calculate:Io.nullable().optional()});var Ke=w.object({x:w.number(),y:w.number()}),b0=w.object({start:Ke,end:Ke}),f0=w.union([w.tuple([Ke,Ke]),w.tuple([Ke,Ke,Ke])]),g0=w.array(w.array(Ke)),xo=w.object({left:w.number().finite(),bottom:w.number().finite(),right:w.number().finite(),top:w.number().finite()}),Nae=w.object({width:w.number().nonnegative(),height:w.number().nonnegative()}),Sg=w.object({upperLeft:Ke,upperRight:Ke,lowerLeft:Ke,lowerRight:Ke}),xg=me(w.union([w.literal(0),w.literal(90),w.literal(180),w.literal(270)])),dc=w.object({x:w.number(),y:w.number()}),So=w.object({x:w.number().finite(),y:w.number().finite(),width:w.number().finite().nonnegative(),height:w.number().finite().nonnegative()}),jae=w.object({upperLeft:dc,upperRight:dc,lowerLeft:dc,lowerRight:dc});function la(e,t,r){let n=i=>la(e,t,{...r,...i});return{read:e,write:t,traits:r,nullable:()=>n({readNullable:!0,writeNullable:!0}),nullableOnRead:()=>n({readNullable:!0}),optional:()=>n({required:!1}),createOnly:()=>n({createOnly:!0}),readBack:()=>n({readBack:!0}),space:i=>n({space:i}),writes:i=>la(e,i,r)}}var uc=(e,t)=>({owner:e,readNullable:!1,writeNullable:!1,required:t,createOnly:!1,readBack:!1,space:"none"}),H={data:e=>la(e,e,uc("data",!0)),attribution:e=>la(e,e,uc("attribution",!1)),engine:e=>la(e,e,uc("engine",!1)),preserved:e=>la(e,e,uc("preserved",!1))},F0={box:{read:So,write:So},linkTarget:{read:o0,write:s0},actions:{read:w0,write:Gg}};function lg(e,t,r){let n={subtype:me(w.literal(e))},i={subtype:w.literal(e)},a={subtype:w.literal(e).optional()},o={};for(let[s,A]of Object.entries(t)){let{owner:d,readNullable:p,writeNullable:m,required:F,readBack:k}=A.traits,P=r(A);if(n[s]=p?P.read.nullable():P.read,d==="data"){let B=m?P.write.nullable():P.write;i[s]=F?B:B.optional();let y=P.read===P.write?p||m?P.write.nullable():P.write:w.union([B,n[s]]);a[s]=(k?y:B).optional(),k&&(o[s]=B)}else i[s]=k?n[s].optional():w.unknown().optional(),a[s]=k?n[s].optional():w.unknown().optional(),k&&(o[s]=null)}return{read:n,create:i,update:a,readBackWrites:o}}function Me(e,t,r={}){let n=lg(e,t,a=>a),i=lg(e,t,a=>F0[a.traits.space]??a);return{subtype:e,fields:t,resources:r,readSchema:w.object(i.read),createSchema:w.object(i.create).strict(),updateSchema:w.object(i.update).strict(),fileSchemas:{read:w.object(n.read),create:w.object(n.create).strict(),update:w.object(n.update).strict()},readBackWrites:n.readBackWrites,shapes:{read:i.read,create:i.create,update:i.update}}}var Kn=w.string().datetime({offset:!0,local:!0}),mg=w.union([Kn,w.date()]),kn=w.number().finite().refine(e=>Number.isFinite(Math.fround(e)),"Outside PDF float range"),Hg=w.object({x:kn,y:kn}),Og=Hg.strict(),Qg=kn.refine(e=>Math.fround(e)>0,"Must be positive in PDF float precision"),ui=w.object({unit:w.string(),conversion:kn.optional(),fraction:me(w.enum(["decimal","fraction","round","truncate"])).optional(),precision:w.number().int().optional(),fixed:w.boolean().optional(),thousands:w.string().optional(),decimal:w.string().optional(),prefixSpacing:w.string().optional(),suffixSpacing:w.string().optional(),labelPosition:me(w.enum(["suffix","prefix"])).optional()}),Rg=w.object({subtype:w.literal("rectilinear"),ratio:w.string().optional(),x:w.array(ui),y:w.array(ui).optional(),distance:w.array(ui),area:w.array(ui),angle:w.array(ui).optional(),slope:w.array(ui).optional(),origin:Hg.optional(),cyx:kn.optional()}),pa=ui.extend({conversion:Qg,precision:w.number().int().min(1).max(2147483647).optional()}).refine($n,"Invalid number format precision"),Tg=Rg.extend({x:w.array(pa),y:w.array(pa).optional(),distance:w.array(pa),area:w.array(pa),angle:w.array(pa).optional(),slope:w.array(pa).optional(),cyx:Qg.optional(),origin:Og.optional()}),Mg=w.object({subtype:w.literal("geospatial")}),Lg=w.object({subtype:w.literal("unknown")}),v0=w.union([Mg,Lg]),Kae=w.object({measure:Tg.nullable()}),Ng=ga(w.discriminatedUnion("subtype",[Rg,Mg,Lg]),"unknown").describe("A measure, by its `subtype`. A newer server can add subtypes: read one your client doesn't know as `unknown`."),P0=w.object({bbox:So,name:w.string().nullable(),measure:Ng.nullable(),owned:w.boolean()}),Vae=w.object({viewports:w.array(P0)}),h0=me(w.enum(["line-arrow","line-dimension"])),k0=me(w.enum(["polygon-cloud","polygon-dimension"])),D0=me(w.literal("polyline-dimension")),B0=w.object({along:kn,perpendicular:kn}).strict(),Yae=w.object({enabled:w.boolean(),position:w.enum(["inline","top"]).optional(),offset:B0.optional()}).strict(),Xae=w.object({enabled:w.boolean(),center:Og.optional()}).strict(),jg=w.object({length:kn,extension:kn.refine(e=>e>=0).optional(),offset:kn.refine(e=>e>=0).optional()}),E0=jg.strict(),Kg=me(w.enum(["left","center","right","justify"])),Cp={family:w.string().min(1),weight:w.number().int().min(100).max(900),italic:w.boolean(),size:w.number().nonnegative(),color:Mt,decoration:w.array(me(w.enum(["underline","line-through","word"]))),script:me(w.enum(["normal","sub","super"])),letterSpacing:w.number(),horizontalScale:w.number().positive(),unknown:w.string().optional()},Ip={align:Kg,dir:me(w.enum(["ltr","rtl"])),lineHeight:w.number().positive().optional(),margins:w.object({top:w.number(),bottom:w.number(),left:w.number(),right:w.number()}).optional(),textIndent:w.number().optional(),unknown:w.string().optional()},_0=w.object(Cp).partial(),Vg=w.object({...Ip,runs:w.array(w.object({text:w.string(),style:_0.optional()}))}).partial({align:!0,dir:!0}),Yg=w.object({body:w.object({...Cp,...Ip}),paragraphs:w.array(Vg)}),Xg=w.object({body:w.object({...Cp,...Ip}).partial().optional(),paragraphs:w.array(Vg)}),y0=w.object({to:ba,type:me(w.enum(["reply","group"]))}),G0=w.object({to:ba,type:w.enum(["reply","group"]).optional()}),Sp=w.string().min(1),hn=()=>H.data(w.boolean()).optional(),Ho={ref:H.engine(ba),page:H.engine(wa),hasAppearance:H.engine(w.boolean()),appearanceState:H.engine(w.string()).nullable(),structurePosition:H.engine(w.array(w.number().int().nonnegative())).nullable(),nm:H.data(w.string()).nullable().optional().createOnly(),rect:H.data(xo).space("box"),contents:H.data(w.string()).nullable().optional(),subject:H.data(w.string()).nullable().optional(),blendMode:H.data(a0).optional(),invisible:hn(),hidden:hn(),print:hn(),noZoom:hn(),noRotate:hn(),noView:hn(),readOnly:hn(),locked:hn(),toggleNoView:hn(),lockedContents:hn(),reply:H.data(y0).writes(G0).nullable().optional(),popup:H.engine(ba).nullable(),groupId:H.data(w.string().min(1)).nullable().optional(),author:H.attribution(w.string()).nullable(),createdAt:H.attribution(Kn).writes(mg).nullable(),modifiedAt:H.attribution(Kn).writes(mg).nullable(),userId:H.attribution(w.string()).nullable(),createdBy:H.attribution(w.string()).nullable(),modifiedBy:H.attribution(w.string()).nullable(),importedBy:H.engine(w.string()).nullable(),actions:H.preserved(Cg).nullable().space("actions")},Zt={...Ho,richText:H.data(Yg).writes(Xg).nullable().optional().space("length")},Fa={color:H.data(Mt).optional(),opacity:H.data(w.number().min(0).max(1)).optional()},Wg={...Fa,color:H.data(Mt).nullable().optional(),strokeWidth:H.data(w.number().nonnegative()).optional(),borderStyle:H.data(gg).writes(Fg).readBack().optional(),dashArray:H.data(w.array(w.number().nonnegative())).writes(_p).nullable().optional()},xp={...Wg,interiorColor:H.data(Mt).nullable().optional()},va={rect:H.engine(xo).readBack().space("box")},Hp={rotation:H.data(w.number()).nullable().optional()},pc={...va,box:H.data(xo).space("box").optional(),rotation:H.data(w.number()).nullable().optional()},C0={...va,box:H.data(xo).space("box").optional(),rotation:H.data(xg).nullable().optional()},lc={...Zt,...Fa,...va,quadPoints:H.data(w.array(Sg).min(1)).space("quads")},Ug={...Zt,...xp,...pc,cloudyIntensity:H.data(w.number().positive()).nullable().optional()},qg={...Zt,...xp,...va,vertices:H.data(w.array(Ke)).space("points"),...Hp},Op=H.data(Ng).writes(w.union([Tg,v0])).nullable().optional().space("measure"),zg={captionEnabled:H.data(w.boolean()).nullable().optional(),captionCenter:H.data(Ke).nullable().optional().space("point")},Oo=Me("caret",{...Zt,...Fa,...pc,intent:H.data(n0).nullable().optional()}),I0=Oo.readSchema,S0=Oo.createSchema,x0=Oo.updateSchema,Qp={subtype:"caret",pdfSubtypeCode:L.CARET,dtoSchema:I0,draftSchema:S0,patchSchema:x0,readBackWrites:Oo.readBackWrites},Qo=Me("circle",Ug),H0=Qo.readSchema,O0=Qo.createSchema,Q0=Qo.updateSchema,Rp={subtype:"circle",pdfSubtypeCode:L.CIRCLE,dtoSchema:H0,draftSchema:O0,patchSchema:Q0,readBackWrites:Qo.readBackWrites},fa=w.string().min(1),Wae=w.object({appearance:fa.optional(),file:fa.optional()}).strict(),Uae=w.object({appearance:fa}).strict(),R0=w.object({file:fa}).strict(),qae=w.object({source:fa}).strict(),zae=w.object({image:fa}),Zae=w.object({resources:R0,name:w.string().min(1),mimeType:w.string().optional(),description:w.string().optional()}),Jae=w.object({name:w.string().min(1),mimeType:w.string().optional(),description:w.string().optional()}),T0=w.object({name:w.string(),mimeType:w.string().nullable(),description:w.string().nullable(),sizeBytes:w.number().int().nonnegative().nullable(),md5:w.string().nullable(),createdAt:Kn.nullable(),modifiedAt:Kn.nullable()}),$ae=w.object({kind:me(w.literal("key")),key:w.string().min(1)}),eoe=w.object({ref:w.object({kind:me(w.literal("key")),key:w.string()}),name:w.string(),mimeType:w.string().nullable(),description:w.string().nullable(),sizeBytes:w.number().int().nonnegative().nullable(),md5:w.string().nullable(),createdAt:Kn.nullable(),modifiedAt:Kn.nullable(),index:w.number().int().nonnegative()}),M0=me(w.enum(["push-pin","paperclip","graph","tag"])),L0=w.object({name:w.string().min(1),mimeType:w.string().nullable().optional(),description:w.string().nullable().optional()}),Ro=Me("file-attachment",{...Zt,...Fa,icon:H.data(M0).optional(),file:H.data(T0).writes(L0).nullable().optional()},{file:"required"}),To=Me("free-text",{...Zt,...pc,intent:H.data($C).writes(e0).readBack().optional(),fontFamily:H.data(Sp).optional(),fontSize:H.data(w.number().positive()).optional(),textAlign:H.data(Kg).optional(),verticalAlign:H.data(t0).optional(),richText:H.data(Yg).writes(Xg).optional().space("length"),color:H.data(Mt).optional(),fontColor:H.data(Mt).optional(),interiorColor:H.data(Mt).nullable().optional(),opacity:H.data(w.number().min(0).max(1)).optional(),strokeWidth:H.data(w.number().nonnegative()).optional(),borderStyle:H.data(gg).writes(Fg).readBack().optional(),dashArray:H.data(w.array(w.number().nonnegative())).writes(_p).nullable().optional(),cloudyIntensity:H.data(w.number().positive()).nullable().optional(),calloutLine:H.data(f0).nullable().optional().space("calloutLine"),lineEnding:H.data(Dp).nullable().optional()}),Mo=Me("highlight",lc),Lo=Me("ink",{...Zt,...Wg,strokeWidth:H.data(w.number().nonnegative()).writes(w.number().positive()).readBack().optional(),...va,inkList:H.data(g0).writes(w.array(w.array(Ke).min(1)).min(1)).readBack().space("strokes"),intent:H.data(i0).nullable().optional(),...Hp}),No=Me("line",{...Zt,...xp,...va,linePoints:H.data(b0).space("linePoints"),lineEndings:H.data(vg).optional(),...Hp,intent:H.data(h0).nullable().optional(),measure:Op,captionEnabled:H.data(w.boolean()).optional(),captionPosition:H.data(me(w.enum(["inline","top"]))).optional(),captionOffset:H.data(w.object({along:w.number(),perpendicular:w.number()})).nullable().optional(),leader:H.data(jg).writes(E0).nullable().optional()}),jo=Me("link",{...Ho,target:H.data(A0).writes(c0).nullable().readBack().space("linkTarget")}),Ko=Me("polygon",{...qg,vertices:H.data(w.array(Ke)).writes(w.array(Ke).min(3)).readBack().space("points"),...zg,intent:H.data(k0).nullable().optional(),measure:Op,cloudyIntensity:H.data(w.number().positive()).nullable().optional()}),Vo=Me("polyline",{...qg,vertices:H.data(w.array(Ke)).writes(w.array(Ke).min(2)).readBack().space("points"),...zg,intent:H.data(D0).nullable().optional(),measure:Op,lineEndings:H.data(vg).optional()}),Yo=Me("popup",{...Ho,parent:H.data(ba).nullableOnRead().readBack(),open:H.data(w.boolean()).optional()}),Xo=Me("redact",{...Zt,...Fa,rect:H.data(xo).optional().space("box"),quadPoints:H.data(w.array(Sg)).optional().space("quads"),interiorColor:H.data(Mt).nullable().optional(),overlayText:H.data(w.string()).nullable().optional(),repeat:H.data(w.boolean()).optional(),fontFamily:H.data(Sp).optional(),fontSize:H.data(w.number().nonnegative()).optional(),fontColor:H.data(Mt).optional(),textAlign:H.data(Pg).optional()}),Wo=Me("square",Ug),Uo=Me("squiggly",lc),N0=me(w.enum(["contain","cover","fill"])),qo=Me("stamp",{...Zt,...pc,name:H.data(w.string()).nullable().optional(),fit:H.data(N0).nullable().optional(),opacity:H.data(w.number().min(0).max(1)).optional()},{appearance:"required"}),zo=Me("strikeout",{...lc,intent:H.data(r0).nullable().optional()}),j0=me(w.enum(["comment","key","note","help","new-paragraph","paragraph","insert"])),Zo=Me("text",{...Zt,...Fa,icon:H.data(j0).optional(),open:H.data(w.boolean()).optional(),state:H.data(w.string().min(1)).nullable().optional(),stateModel:H.data(w.string().min(1)).nullable().optional()}),Jo=Me("underline",lc),Tp=Me("unsupported",{...Ho,rawSubtypeCode:H.engine(w.number().int()),rawSubtypeName:H.engine(w.string()).nullable()}),Mp=me(w.discriminatedUnion("kind",[w.object({kind:w.literal("objectNumber"),objectNumber:w.number().int().positive()}),w.object({kind:w.literal("fqn"),name:w.string().min(1)})])),Pa=Me("widget",{...Ho,...C0,color:H.data(Mt).nullable().optional(),interiorColor:H.data(Mt).nullable().optional(),strokeWidth:H.data(w.number().nonnegative()).optional(),borderStyle:H.data(ZC).optional(),dashArray:H.data(w.array(w.number().nonnegative())).writes(_p).nullable().optional(),fontFamily:H.data(Sp).nullable().optional(),fontSize:H.data(w.number().nonnegative()).nullable().optional(),fontColor:H.data(Mt).nullable().optional(),textAlign:H.data(Pg).optional(),caption:H.data(w.string()).nullable().optional(),checkStyle:H.data(JC).nullable().optional(),actions:H.data(Cg).writes(l0).readBack().nullable().optional().space("actions"),field:H.engine(Mp).nullable(),fieldKind:H.engine(zC(w.enum(["text","checkbox","radio","combobox","listbox","pushbutton","signature","unknown"]),"unknown").describe("Its field's family. A newer server can add families: read one your client doesn't know as `unknown`.")),hasMark:H.engine(w.boolean())}),Zg=[Mo,Jo,Uo,zo,Qo,Wo,Ko,Vo,No,jo,Lo,To,Oo,Zo,qo,Ro,Pa,Xo,Yo,Tp];function $o(e){return Zg.find(t=>t.subtype===e)??null}var K0=Ro.readSchema,V0=Ro.createSchema,Y0=Ro.updateSchema,Lp={subtype:"file-attachment",pdfSubtypeCode:L.FILEATTACHMENT,dtoSchema:K0,draftSchema:V0,patchSchema:Y0,readBackWrites:Ro.readBackWrites},X0=To.readSchema,W0=To.createSchema,U0=To.updateSchema,Np={subtype:"free-text",pdfSubtypeCode:L.FREETEXT,dtoSchema:X0,draftSchema:W0,patchSchema:U0,readBackWrites:To.readBackWrites},q0=Mo.readSchema,z0=Mo.createSchema,Z0=Mo.updateSchema,jp={subtype:"highlight",pdfSubtypeCode:L.HIGHLIGHT,dtoSchema:q0,draftSchema:z0,patchSchema:Z0,readBackWrites:Mo.readBackWrites},J0=Lo.readSchema,$0=Lo.createSchema,e9=Lo.updateSchema,Kp={subtype:"ink",pdfSubtypeCode:L.INK,dtoSchema:J0,draftSchema:$0,patchSchema:e9,readBackWrites:Lo.readBackWrites},t9=No.readSchema,n9=No.createSchema,r9=No.updateSchema,Vp={subtype:"line",pdfSubtypeCode:L.LINE,dtoSchema:t9,draftSchema:n9,patchSchema:r9,readBackWrites:No.readBackWrites},i9=jo.readSchema,a9=jo.createSchema,o9=jo.updateSchema,Yp={subtype:"link",pdfSubtypeCode:L.LINK,dtoSchema:i9,draftSchema:a9,patchSchema:o9,readBackWrites:jo.readBackWrites},s9=Ko.readSchema,A9=Ko.createSchema,c9=Ko.updateSchema,Xp={subtype:"polygon",pdfSubtypeCode:L.POLYGON,dtoSchema:s9,draftSchema:A9,patchSchema:c9,readBackWrites:Ko.readBackWrites},d9=Vo.readSchema,u9=Vo.createSchema,p9=Vo.updateSchema,Wp={subtype:"polyline",pdfSubtypeCode:L.POLYLINE,dtoSchema:d9,draftSchema:u9,patchSchema:p9,readBackWrites:Vo.readBackWrites},l9=Yo.readSchema,m9=Yo.createSchema,w9=Yo.updateSchema,Up={subtype:"popup",pdfSubtypeCode:L.POPUP,dtoSchema:l9,draftSchema:m9,patchSchema:w9,readBackWrites:Yo.readBackWrites},b9=Xo.readSchema,f9=Xo.createSchema,g9=Xo.updateSchema,qp={subtype:"redact",pdfSubtypeCode:L.REDACT,dtoSchema:b9,draftSchema:f9,patchSchema:g9,readBackWrites:Xo.readBackWrites},F9=Wo.readSchema,v9=Wo.createSchema,P9=Wo.updateSchema,zp={subtype:"square",pdfSubtypeCode:L.SQUARE,dtoSchema:F9,draftSchema:v9,patchSchema:P9,readBackWrites:Wo.readBackWrites},h9=Uo.readSchema,k9=Uo.createSchema,D9=Uo.updateSchema,Zp={subtype:"squiggly",pdfSubtypeCode:L.SQUIGGLY,dtoSchema:h9,draftSchema:k9,patchSchema:D9,readBackWrites:Uo.readBackWrites},B9=qo.readSchema,E9=qo.createSchema,_9=qo.updateSchema,Jp={subtype:"stamp",pdfSubtypeCode:L.STAMP,dtoSchema:B9,draftSchema:E9,patchSchema:_9,readBackWrites:qo.readBackWrites},y9=zo.readSchema,G9=zo.createSchema,C9=zo.updateSchema,$p={subtype:"strikeout",pdfSubtypeCode:L.STRIKEOUT,dtoSchema:y9,draftSchema:G9,patchSchema:C9,readBackWrites:zo.readBackWrites},I9=Zo.readSchema,S9=Zo.createSchema,x9=Zo.updateSchema,el={subtype:"text",pdfSubtypeCode:L.TEXT,dtoSchema:I9,draftSchema:S9,patchSchema:x9,readBackWrites:Zo.readBackWrites},H9=Jo.readSchema,O9=Jo.createSchema,Q9=Jo.updateSchema,tl={subtype:"underline",pdfSubtypeCode:L.UNDERLINE,dtoSchema:H9,draftSchema:O9,patchSchema:Q9,readBackWrites:Jo.readBackWrites},R9=Tp.readSchema,T9=w.never(),M9=w.never(),Jg={subtype:"unsupported",pdfSubtypeCode:L.UNKNOWN,dtoSchema:R9,draftSchema:T9,patchSchema:M9,readBackWrites:Tp.readBackWrites},$g=Pa.readSchema,L9=Pa.createSchema,N9=Pa.updateSchema,nl={subtype:"widget",pdfSubtypeCode:L.WIDGET,dtoSchema:$g,draftSchema:L9,patchSchema:N9,readBackWrites:Pa.readBackWrites},eF=Object.fromEntries(_o.map(e=>[e,Pa.shapes.update[e]])),toe=w.object(eF).strict(),tF=[jp,tl,Zp,$p,Rp,zp,Xp,Wp,Vp,Yp,Kp,Np,Qp,el,Jp,Lp,nl,qp,Up,Jg],nF=Object.freeze(Object.fromEntries(tF.map(e=>[e.subtype,e]))),noe=ga(w.discriminatedUnion("subtype",[jp.dtoSchema,tl.dtoSchema,Zp.dtoSchema,$p.dtoSchema,Rp.dtoSchema,zp.dtoSchema,Xp.dtoSchema,Wp.dtoSchema,Vp.dtoSchema,Yp.dtoSchema,Kp.dtoSchema,Np.dtoSchema,Qp.dtoSchema,el.dtoSchema,Jp.dtoSchema,Lp.dtoSchema,nl.dtoSchema,qp.dtoSchema,Up.dtoSchema,Jg.dtoSchema]),"unsupported",e=>({...e,rawSubtypeCode:Number.isInteger(e.rawSubtypeCode)?e.rawSubtypeCode:L.UNKNOWN,rawSubtypeName:typeof e.rawSubtypeName=="string"?e.rawSubtypeName:null})).describe("An annotation, by its `subtype`. A newer server can add subtypes: read one your client doesn't know as `unsupported`, keeping the fields every annotation has, with `rawSubtypeCode` 0 and `rawSubtypeName` null when the body has neither."),rF=w.discriminatedUnion("subtype",[jp.draftSchema,tl.draftSchema,Zp.draftSchema,$p.draftSchema,Rp.draftSchema,zp.draftSchema,Xp.draftSchema,Wp.draftSchema,Vp.draftSchema,Yp.draftSchema,Kp.draftSchema,Np.draftSchema,Qp.draftSchema,el.draftSchema,Jp.draftSchema,Lp.draftSchema,nl.draftSchema,qp.draftSchema,Up.draftSchema]),roe=w.union(tF.filter(e=>e.subtype!=="unsupported").map(e=>e.patchSchema));var iF=w.discriminatedUnion("subtype",Zg.filter(e=>e.subtype!=="unsupported").map(e=>e.fileSchemas.create));function aF(e){return $o(e).fileSchemas.update}var oF={ref:ba.nullable(),objectNumber:w.number().int().nonnegative(),page:wa.nullable()},j9=w.object(oF),K9=j9,wg=w.object({...oF,onState:w.string(),exportValue:w.string(),checked:w.boolean()}),bg=w.object({label:w.string(),value:w.string(),selected:w.boolean()}),fg=ga(w.discriminatedUnion("kind",[w.object({kind:w.literal("none")}),w.object({kind:w.literal("scalar"),value:w.string()}),w.object({kind:w.literal("array"),values:w.array(w.string())}),w.object({kind:w.literal("unsupported")})]),"unsupported").describe("A field's stored value, by its `kind`. A newer server can add kinds: read one your client doesn't know as `unsupported`."),mr={ref:Mp,name:w.string(),origin:me(w.enum(["acroform","recovered"])),readOnly:w.boolean(),required:w.boolean(),noExport:w.boolean(),alternateName:w.string().nullable(),mappingName:w.string().nullable(),valueEntry:fg,defaultValueEntry:fg,actions:m0.optional(),groupId:w.string().nullable(),createdBy:w.string().nullable(),createdAt:Kn.nullable(),filledBy:w.string().nullable(),filledByName:w.string().nullable(),filledAt:Kn.nullable(),importedBy:w.string().nullable(),widgets:w.array(K9)},V9=ga(w.discriminatedUnion("kind",[w.object({...mr,kind:w.literal("text"),value:w.string(),defaultValue:w.string(),maxLength:w.number().int().positive().nullable(),multiline:w.boolean(),password:w.boolean(),comb:w.boolean()}),w.object({...mr,kind:w.literal("checkbox"),checked:w.boolean(),exportValue:w.string(),widgets:w.array(wg)}),w.object({...mr,kind:w.literal("radio"),value:w.string(),radiosInUnison:w.boolean(),noToggleToOff:w.boolean(),widgets:w.array(wg)}),w.object({...mr,kind:w.literal("combobox"),value:w.string(),defaultValue:w.string(),edit:w.boolean(),options:w.array(bg)}),w.object({...mr,kind:w.literal("listbox"),selectedValues:w.array(w.string()),defaultValue:w.array(w.string()),multiSelect:w.boolean(),options:w.array(bg),topIndex:w.number().int().nonnegative()}),w.object({...mr,kind:w.literal("pushbutton")}),w.object({...mr,kind:w.literal("signature")}),w.object({...mr,kind:w.literal("unknown"),rawValue:w.string()})]),"unknown",e=>({...e,rawValue:typeof e.rawValue=="string"?e.rawValue:""})).describe("A form field, by its `family`. A newer server can add families: read one your client doesn't know as `unknown`, keeping the fields every field has, with `rawValue` an empty string when the body has none."),Y9=me(w.enum(["none","acroform","xfa"])),ioe=w.object({formKind:Y9,needsAppearances:w.boolean(),fields:w.array(V9),widgets:w.array($g),calculationOrder:w.array(Mp.nullable())}),aoe=w.object({value:w.string().nullable().optional(),checked:w.boolean().optional(),selectedValues:w.array(w.string()).optional()}).strict().refine(e=>[e.value,e.checked,e.selectedValues].filter(t=>t!==void 0).length===1,{message:"exactly one of value, checked or selectedValues"}),X9=w.object({page:wa,rect:So.optional(),box:So.optional(),rotation:xg.optional(),exportValue:w.string().min(1).optional(),actions:Gg.optional(),...eF}).strict(),Bp=w.object({label:w.string(),value:w.string()}),di={name:w.string().min(1),readOnly:w.boolean().optional(),required:w.boolean().optional(),noExport:w.boolean().optional(),alternateName:w.string().optional(),mappingName:w.string().optional(),groupId:w.string().min(1).max(256).optional(),actions:Ig.optional(),widgets:w.array(X9).optional()},sF=w.discriminatedUnion("kind",[w.object({...di,kind:w.literal("text"),defaultValue:w.string().optional(),maxLength:w.number().int().positive().optional(),multiline:w.boolean().optional(),password:w.boolean().optional(),comb:w.boolean().optional()}).strict(),w.object({...di,kind:w.literal("checkbox")}).strict(),w.object({...di,kind:w.literal("radio"),radiosInUnison:w.boolean().optional(),noToggleToOff:w.boolean().optional()}).strict(),w.object({...di,kind:w.literal("combobox"),edit:w.boolean().optional(),options:w.array(Bp).optional(),defaultValue:w.string().optional()}).strict(),w.object({...di,kind:w.literal("listbox"),multiSelect:w.boolean().optional(),options:w.array(Bp).optional(),defaultValue:w.array(w.string()).optional()}).strict(),w.object({...di,kind:w.literal("pushbutton")}).strict(),w.object({...di,kind:w.literal("signature")}).strict()]),W9={name:w.string().min(1).optional(),readOnly:w.boolean().optional(),required:w.boolean().optional(),noExport:w.boolean().optional(),alternateName:w.string().nullable().optional(),mappingName:w.string().nullable().optional(),groupId:w.string().min(1).max(256).optional(),actions:Ig.optional()},ooe=w.object({...W9,kind:w.enum(["text","checkbox","radio","combobox","listbox","pushbutton","signature"]).optional(),defaultValue:w.union([w.string(),w.array(w.string())]).nullable().optional(),maxLength:w.number().int().positive().nullable().optional(),multiline:w.boolean().optional(),password:w.boolean().optional(),comb:w.boolean().optional(),radiosInUnison:w.boolean().optional(),noToggleToOff:w.boolean().optional(),edit:w.boolean().optional(),multiSelect:w.boolean().optional(),options:w.array(Bp).optional()}).strict();function U9(e,t={}){let r=$o(String(e.subtype)),n=t.linked??[],i=(r&&n.length>0?r.fileSchemas.create.omit(Object.fromEntries(n.map(a=>[a,!0]))):iF).safeParse(e);if(!i.success)throw dF(i.error,`${String(e.subtype)} create`)}function q9(e,t){let r=t.subtype??e.subtype;if(r==="unsupported")return;let n=t;for(let[a,o]of Object.entries(nF[r].readBackWrites)){let s=n[a];if(!(s===void 0||o?.safeParse(s).success))throw new g(f.InvalidArg,o?`${r} update field '${a}': this value can be read but not written; send it back unchanged or replace it`:`${r} update field '${a}': the engine works this out; send it back unchanged or leave it out`,{details:{field:a}})}let i=aF(r).safeParse(t);if(!i.success)throw dF(i.error,`${r} update`)}function AF(e,t={}){let r=Db(e);return U9(r,{linked:t.linked??[]}),Bb(r,t)}function cF(e,t,r={}){let n=hb(e,t);return q9(e,n),kb(e,n,r)}function dF(e,t){let r=e.issues[0],n=r.path.join(".");return new g(f.InvalidArg,`${t}${n?` field '${n}'`:""}: ${r.message}`,{details:n?{field:n}:{}})}function uF(e){let{bundle:t,target:r,nameTaken:n}=e,i=t.items.map(I=>I.data),a=rA({bundlePages:t.pages,pages:e.pages??"same",target:r,named:i.flatMap(z9)}),o=new Map,s=new Map,A=new Map;i.forEach((I,S)=>{if(I.subtype==="unsupported"){o.set(S,"unsupported-kind");return}if(I.subtype==="widget"){o.set(S,"widget");return}if(I.subtype==="popup"&&I.parent===null){o.set(S,"parent-missing");return}let G=J9(I);if(G==="item"){o.set(S,"unsupported-value");return}let T=[...Z9(I),...G];T.length>0&&s.set(S,T),A.set(S,n7(I,T,a,S))});let d=new Map;i.forEach((I,S)=>{let G=U(I.ref);d.has(G)||d.set(G,S)});let p=I=>fe(a(i[I].ref.page)),m=(I,S)=>{let G=d.get(U(I));return G!==void 0&&p(G)===p(S)?G:void 0},F=I=>[I.reply?.to,I.subtype==="popup"?I.parent:null].filter(S=>S!=null);i.forEach((I,S)=>{o.has(S)||F(I).some(G=>m(G,S)===void 0)&&o.set(S,"parent-missing")});let k=new Map;i.forEach((I,S)=>{if(o.has(S)||I.subtype!=="popup"||!I.parent)return;let G=m(I.parent,S);k.has(G)?o.set(S,"popup-taken"):k.set(G,S)});let P=new Set;i.forEach((I,S)=>{if(o.has(S)||!I.nm)return;let G=a(I.ref.page),T=`${fe(G)}\0${I.nm}`;P.has(T)||n(G,I.nm)?o.set(S,"name-conflict"):P.add(T)});for(let I=!0;I;)I=!1,i.forEach((S,G)=>{o.has(G)||F(S).some(T=>o.has(m(T,G)))&&(o.set(G,"parent-dropped"),I=!0)});let B=new Map;i.forEach((I,S)=>{o.has(S)||B.set(S,B.size)});let y=[...B.keys()].map(I=>{let S=i[I],G=S.reply?B.get(m(S.reply.to,I)):void 0,T=S.subtype==="popup"&&S.parent?B.get(m(S.parent,I)):void 0;return{item:I,page:a(S.ref.page),draft:A.get(I),...G!==void 0?{replyTo:{planned:G,type:S.reply.type}}:{},...T!==void 0?{parent:T}:{}}}),x=[];return i.forEach((I,S)=>{let G=o.get(S);if(G)x.push({ref:I.ref,reason:G});else for(let T of s.get(S)??[])x.push({ref:I.ref,...T})}),{creates:y,dropped:x}}function z9(e){let{ref:t,reply:r,popup:n,...i}=e,a={...i};return e.subtype==="popup"&&delete a.parent,[t.page,...ea(a)]}function Z9(e){let t=[],r=e.measure;r?.subtype==="geospatial"&&t.push({field:"measure",reason:"geospatial"}),r?.subtype==="unknown"&&t.push({field:"measure",reason:"unknown-measure"});let n=e.subtype==="link"?e.target:null,i=!!n&&e7(n);n&&!i&&t.push({field:"target",reason:"unsupported-action"});let{actions:a}=e;return Object.entries(a??{}).some(([o,s])=>e.subtype!=="link"||o!=="activate"?!0:i&&!$9(s))&&t.push({field:"actions",reason:"unsupported-action"}),t}function J9(e){let t=[],r=$o(e.subtype);for(let[n,i]of Object.entries(r?.fields??{})){let{owner:a,readBack:o,required:s}=i.traits;if(a!=="data"||!o||n==="target")continue;let A=e[n];if(!(A==null||i.write.safeParse(A).success)){if(s)return"item";t.push({field:n,reason:"unsupported-value"})}}return t}function $9(e){let t=e?.root;return!e||e.incomplete||!t||t.next.length>0?!1:!(t.type==="uri"&&t.isMap)}function e7(e){return e.kind==="named"?t7.has(e.name??""):e.kind==="goto"||e.kind==="uri"}var t7=new Set(["NextPage","PrevPage","FirstPage","LastPage"]);function n7(e,t,r,n){let i={...e};delete i.reply;let a=$o(e.subtype)?.fields??{};for(let{field:s}of t)a[s]?.traits.writeNullable?i[s]=null:delete i[s];let o=rF.safeParse(i);if(e.subtype==="popup"&&delete i.parent,!o.success){let s=o.error.issues[0],A=s.path.join(".");throw new g(f.InvalidArg,`import: item ${n}${A?` field '${A}'`:""}: ${s.message}`,{details:{item:n,...A?{field:A}:{}}})}return nc(i,r)}function pF(e){let{bundle:t,mayScript:r}=e,n=rA({bundlePages:t.pages,pages:e.pages??"same",target:e.target,named:t.widgets.flatMap(d=>ea(d.data))}),i=new Map(t.widgets.map((d,p)=>[U(d.data.ref),p])),a=new Set,o=[],s=new Set,A=[];return t.fields.forEach(({data:d},p)=>{let m=d.widgets.flatMap(P=>{let B=P.ref?i.get(U(P.ref)):void 0;return B===void 0?[]:[B]});for(let P of m)a.add(P);if(d.kind==="unknown"){o.push({ref:d.ref,reason:"unsupported-kind"});return}if(s.has(d.name)||e.nameTaken(d.name)){o.push({ref:d.ref,reason:"name-conflict"});return}s.add(d.name);let F=o7(d,r7(d,r,o),m.map(P=>i7(d,t.widgets[P].data,n,r,o)),p),k=e.values&&mF(d)?Wi(d):null;A.push({field:p,draft:F,widgets:m,flags:m.map(P=>a7(t.widgets[P].data)),...k?{value:k}:{}})}),t.widgets.forEach((d,p)=>{a.has(p)||o.push({ref:d.data.field,widget:d.data.ref,reason:"no-field"})}),{creates:A,calculationOrder:t.calculationOrder.flatMap(d=>{let p=A.findIndex(m=>Jn(t.fields[m.field].data.ref)===Jn(d)&&m.draft.actions?.calculate);return p<0?[]:[p]}),dropped:o}}function lF(e){let t=[],r=[];return e.bundle.fields.forEach(({data:n},i)=>{let a=mF(n)?Wi(n):null;if(!a)return;let o=e.target.find(s=>HA(s,{kind:"fqn",name:n.name}));if(!o)r.push({ref:n.ref,reason:"no-field"});else if(o.kind!==n.kind)r.push({ref:n.ref,reason:"wrong-kind"});else{let s=e.refusal?.(o,a);s?r.push({ref:n.ref,reason:s}):t.push({field:i,target:o,value:a})}}),{writes:t,dropped:r}}function mF(e){return e.valueEntry.kind==="scalar"||e.valueEntry.kind==="array"}function r7(e,t,r){let n={};for(let[i,a]of Object.entries(e.actions??{})){if(!a)continue;let o=mo(a),s=`actions.${i}`;o?t?n[i]=o:r.push({ref:e.ref,field:s,reason:"script-not-allowed"}):r.push({ref:e.ref,field:s,reason:"unsupported-action"})}return n}function i7(e,t,r,n,i){let a={};for(let A of Xi){let d=t.actions?.[A];if(!d)continue;let p=lo(d),m=F=>i.push({ref:e.ref,widget:t.ref,field:`actions.${A}`,reason:F});p?!n&&po(p)?m("script-not-allowed"):a[A]=nc(p,r):m("unsupported-action")}let o=e.kind==="checkbox"||e.kind==="radio"?e.widgets.find(A=>A.ref&&U(A.ref)===U(t.ref)):void 0,s={color:t.color,interiorColor:t.interiorColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,caption:e.kind==="pushbutton"?t.caption:null};return{page:r(t.page),rect:t.rect,...t.rotation?{rotation:t.rotation}:{},strokeWidth:t.strokeWidth,borderStyle:t.borderStyle,textAlign:t.textAlign,...Object.fromEntries(Object.entries(s).filter(([,A])=>A!=null)),...o&&"exportValue"in o?{exportValue:o.exportValue}:{},...Object.keys(a).length>0?{actions:a}:{}}}function a7(e){return Object.fromEntries(Ku.map(t=>[t,e[t]]))}function o7(e,t,r,n){let i={name:e.name,readOnly:e.readOnly,required:e.required,noExport:e.noExport,...e.alternateName!==null?{alternateName:e.alternateName}:{},...e.mappingName!==null?{mappingName:e.mappingName}:{},...e.groupId!==null?{groupId:e.groupId}:{},...Object.keys(t).length>0?{actions:t}:{},widgets:r},a=e.defaultValueEntry.kind!=="none",o=d=>d.map(({label:p,value:m})=>({label:p,value:m})),s;switch(e.kind){case"text":s={...i,kind:"text",...a?{defaultValue:e.defaultValue}:{},...e.maxLength!==null?{maxLength:e.maxLength}:{},multiline:e.multiline,password:e.password,comb:e.comb};break;case"radio":s={...i,kind:"radio",radiosInUnison:e.radiosInUnison,noToggleToOff:e.noToggleToOff};break;case"combobox":s={...i,kind:"combobox",edit:e.edit,options:o(e.options),...a?{defaultValue:e.defaultValue}:{}};break;case"listbox":s={...i,kind:"listbox",multiSelect:e.multiSelect,options:o(e.options),...a?{defaultValue:e.defaultValue}:{}};break;case"checkbox":case"pushbutton":case"signature":s={...i,kind:e.kind};break;default:throw new g(f.InvalidArg,`import: field ${n} has no family`)}let A=sF.safeParse(s);if(!A.success){let d=A.error.issues[0],p=d.path.join(".");throw new g(f.InvalidArg,`import: field ${n}${p?` member '${p}'`:""}: ${d.message}`,{details:{item:n,...p?{field:p}:{}}})}return s}var Lt=[32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,8226,8364,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,381,8216,8217,8220,8221,8211,8212,732,8482,353,8250,339,382,376,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],P7={courier:{ascent:803,descent:-248,programHash:"955500bf0048e07e3046477b3874ef9e7653010a2bc780bbf27f837d7ca34d19",codePoints:Lt,advances:[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]},"courier-bold":{ascent:811,descent:-248,programHash:"386d8684b075c7ff4911235ae9691d5e9e924fff13fa1f17841c6d4d4f3762e6",codePoints:Lt,advances:[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]},"courier-bold-oblique":{ascent:811,descent:-248,programHash:"d1dae62980ea92bfa86f9e3961a3064e164e41a5064211f2a3a8833643a322a5",codePoints:Lt,advances:[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]},"courier-oblique":{ascent:803,descent:-248,programHash:"d790f273acf84a1afada2cf96a6eb646728a1a6e7afe961a2cc846bb3a501b0b",codePoints:Lt,advances:[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]},helvetica:{ascent:945,descent:-224,programHash:"93fe419ed14bac240018cf4506dbb64643eeeee379c0b51d3c52d239f4adbc58",codePoints:Lt,advances:[278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,350,667,222,556,333,1e3,556,556,333,1e3,667,333,1e3,611,222,222,333,333,556,1e3,333,1e3,500,366,944,500,667,333,556,556,556,556,260,556,333,737,370,612,584,737,333,400,584,333,333,333,556,537,278,333,333,365,612,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,584,611,556,556,556,556,500,556,500]},"helvetica-bold":{ascent:962,descent:-227,programHash:"f11bf41cf5d115966ee4d954d9d3eab4a7d1b63d371e5d655fc82d15350bc929",codePoints:Lt,advances:[278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,1072,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,350,722,278,556,500,1e3,556,556,333,1e3,667,333,1e3,611,278,278,500,500,556,1e3,333,1e3,556,333,944,500,667,333,556,556,556,556,280,556,333,737,370,556,584,737,333,400,584,333,333,333,611,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,584,611,611,611,611,611,556,611,556]},"helvetica-bold-oblique":{ascent:962,descent:-227,programHash:"9cd559e9d134dd6bb8bb75186d4302079e78ebee53a7c9b38dea1fba52a534d8",codePoints:Lt,advances:[278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,528,556,556,556,556,333,333,584,584,584,611,1072,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,350,722,278,556,500,1e3,556,556,333,1e3,667,333,1e3,611,278,278,500,500,556,1e3,333,1e3,556,333,944,500,667,333,556,556,556,556,280,556,333,737,370,556,584,737,333,400,584,333,333,333,611,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,584,519,611,611,611,611,556,611,556]},"helvetica-oblique":{ascent:951,descent:-224,programHash:"872e4efa9cc73daff4a3fffa952663f32144db19ec91a8407afc359486eae30b",codePoints:Lt,advances:[278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1116,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,350,667,222,556,333,1e3,556,556,333,1e3,667,350,1e3,611,222,222,333,333,556,1e3,333,1e3,500,333,944,500,667,333,556,556,556,556,260,556,333,737,370,556,584,737,333,400,584,333,333,333,556,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,584,611,556,556,556,556,500,556,500]},"times-roman":{ascent:878,descent:-249,programHash:"7be927a55309ca34d67972ccf041ff3d156d774017022b18131fa365e6dd922e",codePoints:Lt,advances:[250,333,408,500,500,833,778,180,333,333,500,564,250,333,250,278,500,500,500,500,500,500,500,500,500,500,278,278,564,564,564,444,921,722,667,667,722,611,556,722,722,333,389,722,611,889,722,722,556,722,667,556,611,722,722,944,722,722,611,333,278,333,469,500,333,444,500,444,500,444,333,500,500,278,278,500,278,778,500,500,500,500,333,389,278,500,500,722,500,500,444,480,200,480,541,350,722,333,500,444,1e3,500,500,333,1e3,556,333,889,611,333,333,444,444,500,1e3,333,980,389,333,722,444,722,333,500,500,500,500,200,500,333,760,276,500,564,760,333,400,564,300,300,333,500,453,250,333,300,310,500,750,750,750,444,722,722,722,722,722,722,889,667,611,611,611,611,333,333,333,333,722,722,722,722,722,722,722,564,722,722,722,722,722,722,556,500,444,444,444,444,444,444,667,444,444,444,444,444,278,278,278,278,500,500,500,500,500,500,500,564,500,500,500,500,500,500,500,500]},"times-bold":{ascent:889,descent:-249,programHash:"f23f2efbfa079f9083d967acf695b10db7c78e39862dbeb4788a4fd0533ff29c",codePoints:Lt,advances:[250,333,555,500,500,1e3,833,278,333,333,500,570,250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,570,570,570,500,930,722,667,722,722,667,611,778,778,389,500,778,667,944,722,778,611,778,722,556,667,722,722,1e3,722,722,667,333,278,333,581,500,333,500,556,444,556,444,333,500,556,278,333,556,278,833,556,500,556,556,444,389,333,556,500,722,500,500,444,394,220,394,520,350,722,333,500,500,1e3,500,500,333,1e3,556,333,1e3,667,333,333,500,500,500,1e3,333,1e3,389,333,722,444,722,333,500,500,500,500,220,500,333,747,300,500,570,747,333,400,570,300,300,333,556,540,250,333,300,330,500,750,750,750,500,722,722,722,722,722,722,1e3,722,667,667,667,667,389,389,389,389,722,722,778,778,778,778,778,570,778,722,722,722,722,722,611,556,500,500,500,500,500,500,722,444,444,444,444,444,278,278,278,278,500,556,500,500,500,500,500,570,500,556,556,556,556,500,556,500]},"times-bold-italic":{ascent:869,descent:-249,programHash:"cf51fab68d7d965f5755218a7f99b0376bc440e1bb4e90498aef0964aac94490",codePoints:Lt,advances:[250,389,555,500,500,833,778,278,333,333,500,570,250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,570,570,570,500,832,667,667,667,722,667,667,722,778,389,500,667,611,889,722,722,611,722,667,556,611,722,667,889,667,611,611,333,278,333,570,500,333,500,500,444,500,444,333,500,556,278,278,500,278,778,556,500,500,500,389,389,278,556,444,667,500,444,389,348,220,348,570,350,667,333,500,500,1e3,500,500,333,1e3,556,333,944,611,333,333,500,500,500,1e3,333,1e3,389,333,722,389,611,389,500,500,500,500,220,500,333,747,266,500,606,747,333,400,570,300,300,333,576,500,250,333,300,300,500,750,750,750,500,667,667,667,667,667,667,944,667,667,667,667,667,389,389,389,389,722,722,722,722,722,722,722,570,722,722,722,722,722,611,611,500,500,500,500,500,500,500,722,444,444,444,444,444,278,278,278,278,500,556,500,500,500,500,500,570,500,556,556,556,556,444,500,444]},"times-italic":{ascent:868,descent:-249,programHash:"f405670768d71ff8d8a4e493cbcb9c6deff9565419bf63a38abb544789aa87b4",codePoints:Lt,advances:[250,333,420,500,500,833,778,214,333,333,500,675,250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,675,675,675,500,920,611,611,667,722,611,611,722,722,333,444,667,556,833,667,722,611,722,611,500,556,722,611,833,611,556,556,389,278,389,422,500,333,500,500,444,500,444,278,500,500,278,278,444,278,722,500,500,500,500,389,389,278,500,444,667,444,444,389,400,275,400,541,350,500,333,500,556,889,500,500,333,1e3,500,333,944,556,333,333,556,556,500,889,333,980,389,333,667,389,556,389,500,500,500,500,275,500,333,760,276,500,675,760,333,400,675,300,300,333,500,523,250,333,300,310,500,750,750,750,500,611,611,611,611,611,611,889,667,611,611,611,611,333,333,333,333,722,667,722,722,722,722,722,675,722,722,722,722,722,556,611,500,500,500,500,500,500,500,667,444,444,444,444,444,278,278,278,278,500,500,500,500,500,500,500,675,500,500,500,500,500,444,500,444]},symbol:{ascent:1010,descent:-293,programHash:"1f027bd5b336f563724a2cba62295329edbb3df7ca9efbe8f296d7a1e86849a1",codePoints:[32,33,8704,35,8707,37,38,8715,40,41,8727,43,44,8722,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,8773,913,914,935,916,917,934,915,919,921,977,922,923,924,925,927,928,920,929,931,932,933,962,937,926,936,918,91,8756,93,8869,95,63717,945,946,967,948,949,966,947,951,953,981,954,955,956,957,959,960,952,961,963,964,965,982,969,958,968,950,123,124,125,8764,8364,978,8242,8804,8260,8734,402,9827,9830,9829,9824,8596,8592,8593,8594,8595,176,177,8243,8805,215,8733,8706,8226,247,8800,8801,8776,8230,63718,63719,8629,8501,8465,8476,8472,8855,8853,8709,8745,8746,8835,8839,8836,8834,8838,8712,8713,8736,8711,63194,63193,63195,8719,8730,8901,172,8743,8744,8660,8656,8657,8658,8659,9674,9001,63720,63721,63722,8721,63723,63724,63725,63726,63727,63728,63729,63730,63731,63732,9002,8747,8992,63733,8993,63734,63735,63736,63737,63738,63739,63740,63741,63742],advances:[250,333,713,500,549,833,778,439,333,333,500,549,250,549,250,278,500,500,500,500,500,500,500,500,500,500,278,278,549,549,549,444,549,722,667,722,612,611,763,603,722,333,631,722,686,889,722,722,768,741,556,592,611,690,439,768,645,795,611,333,863,333,658,500,500,631,549,549,494,439,521,411,603,329,603,549,549,576,521,549,549,521,549,603,439,576,713,686,493,686,494,480,200,480,549,750,620,247,549,167,713,500,753,753,753,753,1042,987,603,987,603,400,549,411,549,549,713,494,460,549,549,549,549,1e3,603,1e3,658,823,686,795,987,768,768,823,768,768,713,713,713,713,713,713,713,768,713,790,790,890,823,549,250,713,603,603,1042,987,603,987,603,494,329,790,790,786,713,384,384,384,384,384,384,494,494,494,494,329,274,686,686,686,384,384,384,384,384,384,494,494,494]},"zapf-dingbats":{ascent:826,descent:-163,programHash:"0439c04b1c3ba23c2fd8c2f4a5f2c65b2b0f817588c45afd5c06a41eab70bfbd",codePoints:[32,9985,9986,9987,9988,9742,9990,9991,9992,9993,9755,9758,9996,9997,9998,9999,1e4,10001,10002,10003,10004,10005,10006,10007,10008,10009,10010,10011,10012,10013,10014,10015,10016,10017,10018,10019,10020,10021,10022,10023,9733,10025,10026,10027,10028,10029,10030,10031,10032,10033,10034,10035,10036,10037,10038,10039,10040,10041,10042,10043,10044,10045,10046,10047,10048,10049,10050,10051,10052,10053,10054,10055,10056,10057,10058,10059,9679,10061,9632,10063,10064,10065,10066,9650,9660,9670,10070,9687,10072,10073,10074,10075,10076,10077,10078,10081,10082,10083,10084,10085,10086,10087,9827,9830,9829,9824,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,10102,10103,10104,10105,10106,10107,10108,10109,10110,10111,10112,10113,10114,10115,10116,10117,10118,10119,10120,10121,10122,10123,10124,10125,10126,10127,10128,10129,10130,10131,10132,8594,8596,8597,10136,10137,10138,10139,10140,10141,10142,10143,10144,10145,10146,10147,10148,10149,10150,10151,10152,10153,10154,10155,10156,10157,10158,10159,10161,10162,10163,10164,10165,10166,10167,10168,10169,10170,10171,10172,10173,10174],advances:[278,974,961,974,980,719,789,790,791,690,960,939,549,855,911,933,911,945,974,755,846,762,761,571,677,763,760,759,754,494,552,537,577,692,786,788,788,790,793,794,816,823,789,841,823,833,816,831,923,744,723,749,790,792,695,776,768,792,759,707,708,682,701,826,815,789,789,707,687,696,689,786,787,713,791,785,791,873,761,762,762,759,759,892,892,788,784,438,138,277,415,392,392,668,668,732,544,544,910,667,760,760,776,595,694,626,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,894,838,1016,458,748,924,748,918,927,928,928,834,873,828,924,924,917,930,931,463,883,836,836,867,867,696,696,874,874,760,946,771,865,771,888,967,888,831,873,927,970,918]}};var h7="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",es=new Uint8Array(128);for(let e=0;e<64;e+=1)es[h7.charCodeAt(e)]=e;function VF(e){let t=e.endsWith("==")?2:e.endsWith("=")?1:0,r=new Uint8Array(e.length/4*3-t),n=0;for(let i=0;i>16),n>8&255),nPromise.resolve().then(()=>(bF(),wF)),"courier-bold":()=>Promise.resolve().then(()=>(gF(),fF)),"courier-bold-oblique":()=>Promise.resolve().then(()=>(vF(),FF)),"courier-oblique":()=>Promise.resolve().then(()=>(hF(),PF)),helvetica:()=>Promise.resolve().then(()=>(DF(),kF)),"helvetica-bold":()=>Promise.resolve().then(()=>(EF(),BF)),"helvetica-bold-oblique":()=>Promise.resolve().then(()=>(yF(),_F)),"helvetica-oblique":()=>Promise.resolve().then(()=>(CF(),GF)),"times-roman":()=>Promise.resolve().then(()=>(SF(),IF)),"times-bold":()=>Promise.resolve().then(()=>(HF(),xF)),"times-bold-italic":()=>Promise.resolve().then(()=>(QF(),OF)),"times-italic":()=>Promise.resolve().then(()=>(TF(),RF)),symbol:()=>Promise.resolve().then(()=>(LF(),MF)),"zapf-dingbats":()=>Promise.resolve().then(()=>(jF(),NF))},D7=e=>`epdf-${e.slice(0,16)}`,KF=new Map;function B7(e){let t=KF.get(e);if(t)return t;let r=P7[e].programHash,n=null,i={hash:r,family:D7(r),weight:pn[e].weight,style:pn[e].italic?"italic":"normal",load:()=>{if(!n){let a=k7[e]().then(o=>VF(o.default));a.catch(()=>{n===a&&(n=null)}),n=a}return n}};return KF.set(e,i),i}var E7="e9d14973462069b4906f8d22a9aaec2d6ec9eb02ac31d697631783316d8b8768",_7="AAEAAAAKAIAAAwAgT1MvMlUTUmMAAACsAAAAYGNtYXAAIrhhAAABDAAAADRnbHlmBX0EwQAAAUAAAAA4aGVhZGHSQ6EAAAF4AAAANmhoZWEFogH3AAABsAAAACRobXR4BRQAPAAAAdQAAAAIbG9jYQAcAAAAAAHcAAAABm1heHAABQAKAAAB5AAAACBuYW1lLeJOdAAAAgQAAAI6cG9zdP+fADIAAARAAAAAIAAEArwBkAAFAQACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFUERGAMAAIP//AyD/OAAAAyAAyAAAAAAAAAAAAfQCvAAAACAAAQAAAAEAAwAKAAAADAANAAAAAAAoAAAAAAAAAAIAAAAgAADX/wAAAAEAAOAAABD//wAAAAEAAgA8AAACgAK8AAMABwAAAQEBAQEBAQEAPAAAAkQAAP/EAAD+NAAAAAACvAAA/UQAPAJEAAD9vAABAAAAAQAAu91Pc18PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAAA8AAACgAK8AAAACAACAAAAAAAAAAEAAAMg/zgAAAK8AAAAAAKAAAEAAAAAAAAAAAAAAAAAAAACAlgAAAK8ADwAAAAAABwAAAABAAAAAgAIAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACQByAAMAAQQJAAAANgAAAAMAAQQJAAEAKAA2AAMAAQQJAAIADgBeAAMAAQQJAAMANABsAAMAAQQJAAQAKACgAAMAAQQJAAUAGgDIAAMAAQQJAAYANADiAAMAAQQJAA0AXAEWAAMAAQQJAA4AVgFyAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADIANgAgAEMAbABvAHUAZABQAEQARgAgAEwAVABEAEUAbQBiAGUAZABQAEQARgAgAEwAYQBzAHQAIABSAGUAcwBvAHIAdABSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBMAGEAcwB0AFIAZQBzAG8AcgB0AC0AUgBlAGcAdQBsAGEAcgBFAG0AYgBlAGQAUABEAEYAIABMAGEAcwB0ACAAUgBlAHMAbwByAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYATABhAHMAdABSAGUAcwBvAHIAdAAtAFIAZQBnAHUAbABhAHIATABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMABoAHQAdABwAHMAOgAvAC8AdwB3AHcALgBhAHAAYQBjAGgAZQAuAG8AcgBnAC8AbABpAGMAZQBuAHMAZQBzAC8ATABJAEMARQBOAFMARQAtADIALgAwAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA==";function YF(){return VF(_7)}var XF={standardDisplayHash:e=>B7(e).hash,lastResortDisplayHash:E7};var Gc=new WeakSet;function _P(e){Gc.has(e)||(e.fn.EPDF_InitThread(),Gc.add(e))}function y7(e){Gc.has(e)&&(e.fn.EPDF_ShutdownThread(),Gc.delete(e))}function O(e){if(e.aborted){let t=e.reason;throw t instanceof Error?t:new Mi(t)}}function Xn(e){let t=/^(?:D:)?(\d{4})(\d{2})?(\d{2})?(\d{2})?(\d{2})?(\d{2})?(?:([Zz])(?:00'?00'?)?|([+-])(\d{2})(?:'?(\d{2})'?)?)?$/.exec(e.trim());if(!t)return null;let[,r,n="01",i="01",a="00",o="00",s="00"]=t,[,,,,,,,A,d,p,m="00"]=t;if(!yP({year:r,month:n,day:i,hour:a,minute:o,second:s}))return null;let F="";if(A)F="Z";else if(d){if(Number(p)>23||Number(m)>59)return null;F=Number(p)===0&&Number(m)===0?"Z":`${d}${p}:${m}`}return`${r}-${n}-${i}T${a}:${o}:${s}${F}`}function ft(e=new Date){if(e instanceof Date){if(Number.isNaN(e.getTime()))throw new RangeError("Cannot format an invalid Date");return ft(`${e.toISOString().slice(0,19)}Z`)}let t=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2})(?:\.\d+)?)?(?:([Zz])|([+-])(\d{2}):(\d{2}))?$/.exec(e),r=t&&{year:t[1],month:t[2],day:t[3],hour:t[4],minute:t[5],second:t[6]??"00"};if(!t||!r||!yP(r))throw new g(f.InvalidArg,`not an ISO 8601 date and time: '${e}'`);let[,,,,,,,n,i,a,o]=t,s=n?"+00'00'":i?`${i}${a}'${o}'`:"",{year:A,month:d,day:p,hour:m,minute:F,second:k}=r;return`D:${A}${d}${p}${m}${F}${k}${s}`}function yP({year:e,month:t,day:r,hour:n,minute:i,second:a}){let o=Number(e),s=Number(t),A=Number(r);if(s<1||s>12||A<1)return!1;let d=new Date(Date.UTC(2e3,s,0)).getUTCDate(),p=o%4===0&&(o%100!==0||o%400===0);return A>(s===2&&!p?28:d)?!1:Number(n)<=23&&Number(i)<=59&&Number(a)<=59}function GP(e){return e>>>0}var UF=4294967292,rl=GP;function G7(e){return(GP(e)&UF)>>>0===UF}function ds(e){"@babel/helpers - typeof";return ds=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ds(e)}function C7(e,t){if(ds(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(ds(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function I7(e){var t=C7(e,"string");return ds(t)=="symbol"?t:t+""}function j(e,t,r){return(t=I7(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var S7=class{constructor(){j(this,"byContent",null),j(this,"bySource",new Map),j(this,"hashes",new WeakMap)}forget(){this.byContent=null,this.bySource.clear()}};function ql(e,t,r){return e.FPDF_GetLastError()!==4?r:t?new g(f.DocPasswordIncorrect,"incorrect document password"):new g(f.DocPasswordRequired,"document requires a password")}function V(e,t,r){let n=e.alloc(t);try{return r(n)}finally{e.free(n)}}function he(e,t,r){let n=t.map(i=>e.alloc(i));try{return r(n)}finally{for(let i=n.length-1;i>=0;i--)e.free(n[i])}}function nn(e,t,r){return V(e,Math.max(1,t.length)*4,n=>(t.forEach((i,a)=>e.poke(n,"i32",i,a*4)),r(n,t.length)))}function we(e,t,r=""){let n=t(Y,0);return n<=0?null:n===2?r:V(e,n,i=>t(i,n)<=0?null:e.readU16String(i))}function Ye(e,t){let r=t(Y,0);return r<=0?null:V(e,r,n=>t(n,r)<=0?null:e.readU8String(n))}function Kt(e,t,r){let n=e.writeU16String(t);try{return r(n)}finally{e.free(n)}}function Wn(e,t,r){let n=e.writeU16String(t);try{return r(n)}finally{e.free(n)}}function CP(e,t,r){let n=new TextEncoder().encode(t),i=new Uint8Array(n.byteLength+1);i.set(n);let a=e.alloc(i.byteLength);try{return e.writeBytes(a,i),r(a)}finally{e.free(a)}}var tn=class{constructor(){j(this,"actions",[]),j(this,"closed",!1)}push(e){if(this.closed){e();return}this.actions.push(e)}close(){if(this.closed)return;this.closed=!0;let e=null;for(let t=this.actions.length-1;t>=0;t--)try{this.actions[t]?.()}catch(r){e??(e=r)}if(this.actions.length=0,e)throw e}};function IP(e,t,r=null){let{mem:n,fn:i}=e,a=new tn,o=n.alloc(t.byteLength);a.push(()=>n.free(o));try{n.writeBytes(o,t);let s=i.FPDF_LoadMemDocument64(o,t.byteLength,r??"");if(!s)throw ql(i,r,new g(f.DocOpenFailed,"failed to open document"));return Cc(e,s),a.push(()=>i.FPDF_CloseDocument(s)),{kind:"fat-memory",docPtr:s,source:{base:null,layer:null,password:r},close:()=>a.close()}}catch(s){throw a.close(),s}}function _n(e,t,r={kind:"fresh"},n=null){let{mem:i,fn:a}=e,o=new tn;o.push(()=>t.release());let s=null,A=i.alloc(4);try{i.poke(A,"i32",-1);let d;r.kind==="fresh"?d=a.EPDFLayer_OpenLayer(t.basePtr,Y,n??"",A):r.kind==="artifact-file"&&e.kind==="native"?d=CP(i,r.path,F=>a.EPDFLayer_OpenLayerArtifactFromPath(t.basePtr,F,n??"",A)):(s=r.kind==="artifact-file"?e.fileAccess.fromNodeFile(r.path):e.fileAccess.fromMemory(r.bytes),o.push(()=>s?.close()),d=r.kind==="artifact"||r.kind==="artifact-file"?a.EPDFLayer_OpenLayerArtifact(t.basePtr,s.ptr,n??"",A):a.EPDFLayer_OpenLayer(t.basePtr,s.ptr,n??"",A));let p=Number(i.peek(A,"i32"));if(!d||p!==0)throw x7(p);Cc(e,d),o.push(()=>a.FPDF_CloseDocument(d));let m=t.kind==="file"&&t.path!==void 0?{kind:"file",key:t.key,path:t.path}:{kind:"memory",key:t.key};return{kind:"layer",docPtr:d,source:{base:m,layer:r,password:n},close:()=>o.close()}}catch(d){throw o.close(),d}finally{i.free(A)}}function Cc(e,t){let{fn:r}=e;r.EPDF_IsEncrypted&&r.EPDF_SetRuntimeOwnerPermissions&&r.EPDF_IsEncrypted(t)&&r.EPDF_SetRuntimeOwnerPermissions(t,!0)}function x7(e){switch(e){case 1:return new g(f.DocPasswordRequired,"layer requires a password");case 2:return new g(f.MalformedPdf,"layer delta is malformed");case 3:return new g(f.MalformedPdf,"layer artifact does not match the supplied base document");default:return new g(f.DocOpenFailed,"failed to open layer document")}}function Se(e,t,r,n=0){let i=BigInt(r);e.poke(t,"i32",Number(i&4294967295n)|0,n),e.poke(t,"i32",Number(i>>32n&4294967295n)|0,n+4)}function He(e,t,r=0){let n=Number(e.peek(t,"i32",r))>>>0;return(Number(e.peek(t,"i32",r+4))>>>0)*4294967296+n}var kl={budgetBytes:384*1024*1024,idleMs:3e4},qF=64*1024,H7=40,O7=24,il={place:"elsewhere",pixels:0},Q7=1073741823,SP=class{constructor(e,t=kl,r=()=>!1){this.runtime=e,this.policy=t,this.busy=r,j(this,"pages",new Map),j(this,"closedSizes",new Map),j(this,"workingSets",new Map),j(this,"totalBytes",0),j(this,"clock",0),j(this,"timer",null)}acquire(e,t,r){let n=this.take(e,r);if(!n){this.makeRoom(this.expectedBytes(e,r));let i=this.runtime.fn.EPDFDoc_LoadPageByObjectNumberNormalized(t,r);if(!i)throw zF(r);n=this.add(e,r,i,!0)}if(n.refs++,!n.loaded){if(this.runtime.fn.EPDFPage_ContinueLoad(n.ptr,Q7)!==1)throw this.drop(n),ZF(r);n.loaded=!0}return this.measure(n),this.makeRoom(0),n.ptr}async acquireInSlices(e,t,r,n,i){O(n);let{fn:a}=this.runtime,o=this.take(e,r);if(!o){this.makeRoom(this.expectedBytes(e,r));let s=a.EPDFDoc_StartLoadPageByObjectNumber(t,r,!0);if(!s)throw zF(r);o=this.add(e,r,s,!1)}for(o.refs++;!o.loaded;){let s=a.EPDFPage_ContinueLoad(o.ptr,i.budgetMs);if(s<0)throw this.drop(o),ZF(r);if(o.loaded=s===1,this.measure(o),this.makeRoom(0),o.loaded)break;try{await i.between(),O(n)}catch(A){throw this.release(e,r),A}}return o.ptr}release(e,t){let r=this.pages.get(e)?.get(t);if(!(!r||r.refs<=0)&&(r.refs--,!(r.refs>0))){if(r.lastUsed=++this.clock,r.loaded&&!this.runtime.fn.EPDFPage_ResetRenderCache(r.ptr)){this.close(r);return}this.armTimer(),this.makeRoom(0)}}setWorkingSet(e,t,r){let n=new Map;for(let{pageObjectNumber:a,role:o,pixels:s}of r){let A={place:o,pixels:s},d=n.get(a);(!d||Xr(A,d))&&n.set(a,A)}let i=this.workingSets.get(e);n.size>0?(i||(i=new Map,this.workingSets.set(e,i)),i.set(t,n)):(i?.delete(t),i?.size===0&&this.workingSets.delete(e)),this.totalBytes>0&&this.armTimer()}isHeld(e,t){return(this.pages.get(e)?.get(t)?.refs??0)>0}isKept(e,t){return this.pages.get(e)?.has(t)??!1}closeOwner(e){for(let t of[...this.pages.get(e)?.values()??[]])this.close(t);this.pages.delete(e),this.closedSizes.delete(e),this.workingSets.delete(e)}closeIdleOf(e){for(let t of[...this.pages.get(e)?.values()??[]])t.refs===0&&this.close(t)}closeIdle(){for(let e of[...this.pages.values()])for(let t of[...e.values()])t.refs===0&&this.close(t)}closeUnshown(){for(let e of[...this.pages.values()])for(let t of[...e.values()])t.refs===0&&this.placeOf(t).place!=="visible"&&this.close(t)}get size(){let e=0;for(let t of this.pages.values())e+=t.size;return e}get bytes(){return this.totalBytes}take(e,t){let r=this.pages.get(e)?.get(t);return r?r.refs===0&&!this.runtime.fn.EPDFPage_IsContentCurrent(r.ptr)?(this.close(r),null):(r.lastUsed=++this.clock,r):null}add(e,t,r,n){let i={owner:e,pageObjectNumber:t,ptr:r,refs:0,loaded:n,bytes:qF,lastUsed:++this.clock},a=this.pages.get(e);return a||(a=new Map,this.pages.set(e,a)),a.set(t,i),this.totalBytes+=i.bytes,i}measure(e){let{fn:t,mem:r}=this.runtime,n=V(r,H7,a=>t.EPDFPage_GetParsedSize(e.ptr,a)?He(r,a,O7):0),i=qF+n;this.totalBytes+=i-e.bytes,e.bytes=i}expectedBytes(e,t){return this.closedSizes.get(e)?.get(t)??65536}makeRoom(e){let t=this.policy.budgetBytes>0?this.lastToCloseOverBudget():null;for(;this.totalBytes-(t?.bytes??0)+e>this.policy.budgetBytes;){let r=this.firstToClose(t);if(r)this.close(r);else if(t&&t.refs===0)this.close(t),t=null;else return}}firstToClose(e){let t=null,r=il;for(let n of this.pages.values())for(let i of n.values()){if(i.refs>0||i===e)continue;let a=this.placeOf(i);(!t||Xr(r,a)||!Xr(a,r)&&i.lastUsede.lastUsed)&&(e=n,t=i)}return e}placeOf(e){let t=il;for(let r of this.workingSets.get(e.owner)?.values()??[]){let n=r.get(e.pageObjectNumber);n&&Xr(n,t)&&(t=n)}return t}close(e){if(e.loaded){let t=this.closedSizes.get(e.owner);t||(t=new Map,this.closedSizes.set(e.owner,t)),t.set(e.pageObjectNumber,e.bytes)}this.drop(e)}drop(e){this.runtime.fn.FPDF_ClosePage(e.ptr);let t=this.pages.get(e.owner);t?.delete(e.pageObjectNumber),t?.size===0&&this.pages.delete(e.owner),this.totalBytes-=e.bytes,this.totalBytes<=0&&this.disarmTimer()}armTimer(){this.policy.idleMs<=0||(this.disarmTimer(),this.timer=setTimeout(()=>{this.timer=null,this.busy()?this.armTimer():this.closeUnshown()},this.policy.idleMs),this.timer.unref?.())}disarmTimer(){this.timer&&clearTimeout(this.timer),this.timer=null}};function zF(e){return new g(f.NotFound,`no page with object number ${e}`)}function ZF(e){return new g(f.RuntimeUnavailable,`failed to load page object ${e}`)}var JF=class{constructor(e,t,r=null){this.docPtr=t,j(this,"residency",void 0),this.residency=r??new SP(e,{budgetBytes:0,idleMs:0})}acquire(e){return this.residency.acquire(this,this.docPtr,e)}acquireInSlices(e,t,r){return this.residency.acquireInSlices(this,this.docPtr,e,t,r)}isHeld(e){return this.residency.isHeld(this,e)}isKept(e){return this.residency.isKept(this,e)}release(e){this.residency.release(this,e)}setWorkingSet(e,t){this.residency.setWorkingSet(this,e,t)}closeIdle(){this.residency.closeIdleOf(this)}closeAll(){this.residency.closeOwner(this)}},Dl=class{constructor(e,t){this.runtime=e,j(this,"docPtr",null),j(this,"closeDocument",null),j(this,"_kind",null),j(this,"_source",null),j(this,"_sessionId",void 0),j(this,"recordsByObjectNumber",new Map),j(this,"recordsByIndex",new Map),j(this,"fullyEnumerated",!1),j(this,"cacheSeqCounter",0),j(this,"editsSeqCounter",0),j(this,"transaction",null),j(this,"unusableReason",null),j(this,"pages",null),j(this,"residency",null),j(this,"signedDocumentPolicy","protect"),j(this,"password",null),j(this,"persistLayerArtifact",!0),j(this,"loadedSeq",0),j(this,"plainSha256",null),j(this,"pendingSigning",null),j(this,"lastCompletion",null),j(this,"drawings",null),j(this,"parkedLoad",null),j(this,"objectNumberAuthority","session"),j(this,"heldObjectNumbers",new Set),j(this,"objectNumbersInUse",[]),j(this,"retained",[]),this._sessionId=t??T7()}get sessionId(){return this._sessionId}get kind(){return this._kind}get source(){if(!this._source)throw new g(f.DocNotOpen,"document is not open");return this._source}isOpen(){return this.docPtr!==null}open(e,t=null){this.openFromHandle(IP(this.runtime,e,t))}openFromHandle(e){if(this.docPtr)throw e.close(),new g(f.InvalidArg,"document already open");this.docPtr=e.docPtr,this.closeDocument=()=>e.close(),this._kind=e.kind,this._source=e.source,this.pages=new JF(this.runtime,e.docPtr,this.residency),this.parkedLoad=null,this.drawings=null,this.loadedSeq=this.editsSeqCounter}hasUnsavedEdits(){return this.editsSeqCounter!==this.loadedSeq}cachedPlainSha256(){return this.plainSha256&&this.plainSha256.loadedSeq===this.loadedSeq?this.plainSha256.sha256:null}rememberPlainSha256(e){this.plainSha256={loadedSeq:this.loadedSeq,sha256:e}}install(e){if(!this.docPtr)throw e.close(),new g(f.DocNotOpen,"no document to replace");let t=null;try{this.pages?.closeAll()}catch(r){t=r}try{this.closeDocument?.()}catch(r){t??(t=r)}if(this.docPtr=e.docPtr,this.closeDocument=()=>e.close(),this._kind=e.kind,this._source=e.source,this.pages=new JF(this.runtime,e.docPtr,this.residency),this.recordsByIndex.clear(),this.recordsByObjectNumber.clear(),this.fullyEnumerated=!1,this.cacheSeqCounter++,this.editsSeqCounter++,this.loadedSeq=this.editsSeqCounter,this.pendingSigning=null,this.drawings=null,this.heldObjectNumbers.clear(),this.objectNumbersInUse=[],t)throw t}versionRef(e){return{baseSha256:e,editsVersion:this.editsSeqCounter}}parkLocked(e){if(this.docPtr)throw new g(f.InvalidArg,"document already open");this.parkedLoad=e}isLocked(){return this.docPtr===null&&this.parkedLoad!==null}unlockWith(e){if(!this.parkedLoad)throw new g(f.DocNotOpen,"document session is not locked");this.parkedLoad(e),this.parkedLoad=null}pageCount(){return this.runtime.fn.FPDF_GetPageCount(this.requireDocPtr())}ensureFullPageRegistry(){if(this.fullyEnumerated)return;let{fn:e}=this.runtime,t=this.requireDocPtr(),r=e.FPDF_GetPageCount(t);for(let n=0;nthis.resolvePageRef(t).pageObjectNumber)}allRecords(){return this.ensureFullPageRegistry(),Array.from(this.recordsByIndex.entries()).sort(([e],[t])=>e-t).map(([,e])=>e)}refreshPageRegistry(){this.recordsByIndex.clear(),this.recordsByObjectNumber.clear(),this.fullyEnumerated=!1,this.ensureFullPageRegistry()}cacheSeq(){return this.cacheSeqCounter}invalidateDerived(){this.cacheSeqCounter++}editsSeq(){return this.editsSeqCounter}noteEdit(){this.editsSeqCounter++}clearMissingCharacters(){this.docPtr&&this.runtime.fn.EPDFDoc_ClearMissingCharacters(this.docPtr)}missingCharacters(){if(!this.docPtr)return[];let{fn:e,mem:t}=this.runtime,r=this.docPtr,n=[],i=e.EPDFDoc_CountMissingCharacters(r);for(let a=0;ae.EPDFDoc_GetMissingCharacter(r,a,s,A));o&&n.push(o)}return n}inTransaction(){return this.transaction!==null}beginTransaction(e){let t=this.requireDocPtr();if(this.transaction)throw new g(f.Unknown,"a transaction is already open");if(!this.runtime.fn.EPDFLayer_BeginTransaction(t))throw new g(f.Unknown,"EPDFLayer_BeginTransaction refused");this.transaction={docPtr:t,opId:e,undoable:!1}}writeStamp(){let{opId:e,undoable:t}=this.requireTransaction();return{opId:e,undoable:t}}markUndoable(){this.requireTransaction().undoable=!0}commitTransaction(){let{docPtr:e}=this.requireTransaction();if(!this.runtime.fn.EPDFLayer_IsInTransaction(e))throw new g(f.Unknown,"the layer transaction is no longer open");let t=this.runtime.fn.EPDFLayer_GetLastObjectNumber(e);if(t>DA)throw new g(f.LayerFull,`the document would pass object number ${DA}`,{details:{lastObjectNumber:t}});this.transaction=null;let r=!1;try{r=this.runtime.fn.EPDFLayer_CommitTransaction(e)}finally{r||(this.unusableReason=$F)}if(!r)throw new g(f.DocNotOpen,$F);for(let n of this.objectNumbersInUse)this.heldObjectNumbers.delete(n);this.objectNumbersInUse=[]}abortTransaction(){let{docPtr:e}=this.requireTransaction();this.transaction=null,this.objectNumbersInUse=[];let t=!1;try{t=this.runtime.fn.EPDFLayer_AbortTransaction(e)}catch{}this.drawings?.forget(),this.recordsByIndex.clear(),this.recordsByObjectNumber.clear(),this.fullyEnumerated=!1,this.invalidateDerived(),t||(this.unusableReason="a layer transaction failed to abort")}lastObjectNumber(){return this.runtime.fn.EPDFLayer_GetLastObjectNumber(this.requireDocPtr())}raiseLastObjectNumber(e){if(!this.runtime.fn.EPDFLayer_RaiseLastObjectNumber(this.requireDocPtr(),e))throw new g(f.LayerFull,`the document would pass object number ${e}`,{details:{lastObjectNumber:this.lastObjectNumber()}})}reserveObjectNumbers(e){if(this.objectNumberAuthority!=="session")throw new g(f.InvalidArg,"object numbers are handed out by the caller, not this session");if(!Number.isInteger(e)||e<1)throw new g(f.InvalidArg,`cannot reserve ${e} object numbers`,{details:{field:"count"}});let{fn:t}=this.runtime,r=this.requireDocPtr(),n=t.EPDFLayer_GetLastObjectNumber(r);if(n+e>_u)throw new g(f.LayerFull,"no more object numbers to hand out",{details:{lastObjectNumber:n}});if(!t.EPDFLayer_RaiseLastObjectNumber(r,n+e))throw new g(f.Unknown,"EPDFLayer_RaiseLastObjectNumber refused");let i={first:n+1,count:e};for(let a=0;a=0;t--)try{this.retained[t]()}catch(r){e??(e=r)}if(this.retained.length=0,e)throw e}},$F="a layer transaction failed to commit",R7=0;function T7(){return`sess_${(++R7).toString(36)}_${Date.now().toString(36)}`}function us(e,t){return new g(f.ObjectNumberUnavailable,t==="not-held"?`object number ${e} isn't one this session holds`:`an object already has object number ${e}`,{details:{objectNumber:e,reason:t}})}function ev(e,t){return ql(e.fn,t,new g(f.DocOpenFailed,"failed to open base document"))}var M7=class{constructor(e){this.runtime=e,j(this,"entries",new Map)}acquireMemoryBase(e){let t=this.retain(e.key);if(t)return t;let{mem:r,fn:n}=this.runtime,i=new tn,a=r.alloc(e.bytes.byteLength);i.push(()=>r.free(a));try{r.writeBytes(a,e.bytes);let o=n.EPDF_LoadMemBaseDocument64(a,e.bytes.byteLength,e.password??"");if(!o)throw ev(this.runtime,e.password);return Cc(this.runtime,o),i.push(()=>n.EPDF_ReleaseBaseDocument(o)),this.supplyKnownSha(o,e.knownSha256),this.insert({key:e.key,kind:"memory",basePtr:o,refs:1,close:()=>i.close()})}catch(o){throw i.close(),o}}acquireFileBase(e){let t=this.retain(e.key);if(t)return t;let{fn:r}=this.runtime,n=new tn,i=null;try{i=this.runtime.fileAccess.fromNodeFile(e.path),n.push(()=>i?.close());let a=r.EPDF_LoadBaseDocument(i.ptr,e.password??"");if(!a)throw ev(this.runtime,e.password);return Cc(this.runtime,a),n.push(()=>r.EPDF_ReleaseBaseDocument(a)),this.supplyKnownSha(a,e.knownSha256),this.insert({key:e.key,kind:"file",path:e.path,basePtr:a,refs:1,close:()=>n.close()})}catch(a){throw n.close(),a}}retainByKey(e){return this.retain(e)}supplyKnownSha(e,t){if(!t||!/^[0-9a-fA-F]{64}$/.test(t))return;let{mem:r,fn:n}=this.runtime,i=new Uint8Array(32);for(let o=0;o<32;o++)i[o]=parseInt(t.slice(o*2,o*2+2),16);let a=r.alloc(32);try{r.writeBytes(a,i),n.EPDF_SetBaseDocumentSha256(e,a)}finally{r.free(a)}}releaseAll(){let e=Array.from(this.entries.values());this.entries.clear();let t=null;for(let r of e)try{r.close()}catch(n){t??(t=n)}if(t)throw t}getRefCountForTesting(e){return this.entries.get(e)?.refs??0}retain(e){let t=this.entries.get(e);return t?(t.refs++,this.handleFor(t)):null}insert(e){return this.entries.set(e.key,e),this.handleFor(e)}handleFor(e){let t=!1;return{key:e.key,kind:e.kind,...e.path!==void 0?{path:e.path}:{},basePtr:e.basePtr,release:()=>{if(t)return;t=!0;let r=this.entries.get(e.key);r&&(r.refs--,!(r.refs>0)&&(this.entries.delete(e.key),r.close()))}}}};function Dn(e,t,r,n){return e.EPDF_HasMetaText(r,n)?we(t,(i,a)=>e.FPDF_GetMetaText(r,n,i,a),""):null}function L7(e,t,r,n,i){return Ye(t,(a,o)=>e.EPDF_GetMetaKeyName(r,n,i,a,o))}function N7(e,t,r){let n=Number(e.EPDF_GetMetaKeyCount(r,!0))|0,i={};for(let a=0;ae.EPDF_SetMetaText(r,n,a))}var Y7=new Set(["Title","Author","Subject","Keywords","Producer","Creator","CreationDate","ModDate","Trapped"]);function X7(e){if(Y7.has(e))return`'${e}' is a standard key; set it with metadata.update`;if(!e||e.length>127||e[0]==="/")return`'${e}' can't be a custom key: 1 to 127 characters, no leading slash`;for(let t=0;t126)return`'${e}' can't be a custom key: printable ASCII only`}return null}function W7(e,t,r,n){let i=Object.entries(n);for(let[a]of i){let o=X7(a);if(o)throw new g(f.InvalidArg,o,{details:{field:a}})}for(let[a,o]of i)if(!os(e,t,r,a,o))throw new g(f.Unknown,`failed to write metadata ${a}`)}var U7=1,q7=2,z7=3;function Z7(e,t,r){let n=r==="true"?U7:r==="false"?q7:z7;return e.EPDF_SetMetaTrapped(t,n)}var J7=[["title","Title"],["author","Author"],["subject","Subject"],["keywords","Keywords"],["producer","Producer"],["creator","Creator"]];function $7(e,t,r,n){let i=a=>{throw new g(f.Unknown,`failed to write metadata ${a}`)};for(let[a,o]of J7){let s=n[a];s!==void 0&&(os(e,t,r,o,s)||i(o))}n.createdAt!==void 0&&(os(e,t,r,"CreationDate",n.createdAt===null?null:ft(n.createdAt))||i("CreationDate")),n.modifiedAt!==void 0&&(os(e,t,r,"ModDate",n.modifiedAt===null?null:ft(n.modifiedAt))||i("ModDate")),n.trapped!==void 0&&(Z7(e,r,n.trapped)||i("Trapped"))}var e2="http://www.w3.org/XML/1998/namespace",xP="http://www.w3.org/2000/xmlns/";function t2(e){try{return new o2(e).read()}catch(t){if(t instanceof at)return null;throw t}}function*HP(e){yield e;for(let t of e.children)yield*HP(t)}function Bl(e){return n2(e).replace(/&/g,"&").replace(//g,">").replace(/\r/g," ")}function tv(e){return Bl(e).replace(/"/g,""").replace(/'/g,"'").replace(/\t/g," ").replace(/\n/g," ")}function vc(e,t){return e?`${e}:${t}`:t}function n2(e){let t="";for(let r of e){let n=r.codePointAt(0);!(n<32&&n!==9&&n!==10&&n!==13)&&!(n>=55296&&n<=57343)&&n!==65534&&n!==65535&&(t+=r)}return t}var at=class extends Error{},nv=/&(?:#x([0-9a-fA-F]+)|#([0-9]+)|(lt|gt|amp|quot|apos));/g,r2={lt:"<",gt:">",amp:"&",quot:'"',apos:"'"},i2=/[ \t\r\n]/,a2=/[ \t\r\n/>=<"']/;function rv(e){if(!e.includes("&"))return e;if(e.replace(nv,"").includes("&"))throw new at;return e.replace(nv,(t,r,n,i)=>{if(i)return r2[i];let a=r?parseInt(r,16):Number(n);if(a>1114111)throw new at;return String.fromCodePoint(a)})}function iv(e){let t=e.indexOf(":");return t<0?{prefix:"",local:e}:{prefix:e.slice(0,t),local:e.slice(t+1)}}var o2=class{constructor(e){this.text=e,j(this,"at",0),j(this,"open",[]),j(this,"root",null)}read(){let{text:e}=this;for(;this.atthis.at&&this.addText(e.slice(this.at,r)),t<0)break;e.startsWith("",t+4):e.startsWith("",t+2):e.startsWith("0||!this.root)throw new at;return this.root}after(e,t){let r=this.text.indexOf(e,t);if(r<0)throw new at;return r+e.length}skipSpace(e){let t=e;for(;t",e+9);if(t<0)throw new at;this.addText(this.text.slice(e+9,t),!0),this.at=t+3}skipDeclaration(e){let t=0;for(let r=e+2;r"&&t<=0){this.at=r+1;return}}throw new at}readStartTag(e){let{text:t}=this,r=this.readName(e+1),n=[],i=e+1+r.length,a,o=!1;for(;;){let P=this.skipSpace(i);if(t.startsWith("/>",P)){a=P,o=!0;break}if(t[P]===">"){a=P;break}if(P===i||P>=t.length)throw new at;let B=this.readName(P),y=this.skipSpace(P+B.length);if(t[y]!=="=")throw new at;y=this.skipSpace(y+1);let x=t[y];if(x!=='"'&&x!=="'")throw new at;let I=t.indexOf(x,y+1);if(I<0)throw new at;let S=t.slice(y+1,I);if(S.includes("<"))throw new at;n.push({qname:B,...iv(B),ns:null,value:rv(S.replace(/[\t\r\n]/g," ")),start:P,end:I+1,valueStart:y+1,valueEnd:I}),i=I+1}let s=this.open[this.open.length-1]??null;if(!s&&this.root)throw new at;let A=new Map(s?.scope??[]);for(let P of n)P.qname==="xmlns"?A.set("",P.value):P.prefix==="xmlns"&&A.set(P.local,P.value);let d=P=>P==="xml"?e2:A.get(P)||null;for(let P of n)P.ns=P.qname==="xmlns"||P.prefix==="xmlns"?xP:P.prefix?d(P.prefix):null;let p=a+(o?2:1),{prefix:m,local:F}=iv(r),k={qname:r,prefix:m,local:F,ns:d(m),attributes:n,scope:A,parent:s,children:[],text:"",start:e,startTagClose:a,startTagEnd:p,selfClosing:o,endTagStart:p,end:p};s?s.children.push(k):this.root=k,o||this.open.push(k),this.at=p}readEndTag(e){let t=this.readName(e+2),r=this.skipSpace(e+2+t.length),n=this.open.pop();if(this.text[r]!==">"||!n||n.qname!==t)throw new at;n.endTagStart=e,n.end=r+1,this.at=r+1}};function s2(e,t){let r=t2(e),n=r&&[...HP(r)].find(o=>Ic(o,"RDF"));if(!n)return null;let i=n.children.filter(o=>Ic(o,"Description")),a=new d2(e,n);for(let{property:o,value:s,add:A}of t){let d=i.flatMap(B=>B.children.filter(y=>av(y,o))),p=i.flatMap(B=>B.attributes.filter(y=>av(y,o)).map(y=>({attribute:y,description:B})));if(s===null){d.forEach(B=>a.removeElement(B)),p.forEach(({attribute:B})=>a.removeAttribute(B));continue}let[m,...F]=d,[k,...P]=p;if(m)(F.length>0||p.length>0||!c2(m,s))&&(a.replaceElement(m,s),F.forEach(B=>a.removeElement(B)),p.forEach(({attribute:B})=>a.removeAttribute(B)));else if(k&&s.kind==="text")(P.length>0||k.attribute.value!==s.text)&&(a.replaceAttributeValue(k.attribute,s.text),P.forEach(({attribute:B})=>a.removeAttribute(B)));else if(k)p.forEach(({attribute:B})=>a.removeAttribute(B)),a.addProperty(k.description,o,s);else if(A){let B=i.find(y=>A2(y,o.ns))??i[0];a.addProperty(B??null,o,s)}}return a.result()}function Ic(e,t){return e.ns==="http://www.w3.org/1999/02/22-rdf-syntax-ns#"&&e.local===t}function av(e,t){return e.ns===t.ns&&e.local===t.name}function A2(e,t){return e.attributes.some(r=>r.ns==="http://www.w3.org/2000/xmlns/"&&r.value===t)}function c2(e,t){if(e.attributes.some(o=>o.ns==="http://www.w3.org/1999/02/22-rdf-syntax-ns#"))return!1;if(t.kind==="text")return e.children.length===0&&e.text===t.text;let[r,...n]=e.children,i={alt:"Alt",seq:"Seq",bag:"Bag"}[t.kind];if(!r||n.length>0||!Ic(r,i))return!1;let a=r.children;if(!a.every(o=>Ic(o,"li")&&o.children.length===0))return!1;if(t.kind==="alt"){let[o]=a,s=o?.attributes.find(A=>A.ns==="http://www.w3.org/XML/1998/namespace"&&A.local==="lang");return a.length===1&&s?.value==="x-default"&&o.text===t.text}return a.length===t.items.length&&a.every((o,s)=>o.text===t.items[s])}var d2=class{constructor(e,t){this.packet=e,this.rdf=t,j(this,"splices",[]),j(this,"additions",new Map)}removeElement(e){this.splices.push({start:this.spaceBefore(e.start),end:e.end,text:""})}removeAttribute(e){this.splices.push({start:this.spaceBefore(e.start),end:e.end,text:""})}replaceAttributeValue(e,t){this.splices.push({start:e.valueStart,end:e.valueEnd,text:tv(t)})}replaceElement(e,t){let r=e.attributes.filter(i=>i.ns===xP).map(i=>` ${this.packet.slice(i.start,i.end)}`).join(""),n=al(e.scope,"http://www.w3.org/1999/02/22-rdf-syntax-ns#")??"rdf";this.splices.push({start:e.start,end:e.end,text:ov(e.qname,r,n,t)})}addProperty(e,t,r){let n=this.additionsFor(e),i=e?.scope??this.rdf.scope,a=al(i,t.ns,!1)??this.declare(n,i,t),o=al(i,"http://www.w3.org/1999/02/22-rdf-syntax-ns#")??"rdf";n.children.push(ov(vc(a,t.name),"",o,r))}result(){for(let[n,i]of this.additions)this.writeAdditions(n,i);let e=this.splices.map((n,i)=>({splice:n,index:i})).sort((n,i)=>n.splice.start-i.splice.start||n.splice.end-n.splice.start-(i.splice.end-i.splice.start)||n.index-i.index),t="",r=0;for(let{splice:n}of e){if(n.start` xmlns:${i}="${tv(a)}"`).join("");if(!e){let i=this.rdf.prefix,a=vc(i,"Description"),o=`<${a} ${vc(i,"about")}=""${r}>${t.children.join("")}`;this.insertInto(this.rdf,o);return}r&&this.splices.push({start:e.startTagClose,end:e.startTagClose,text:r});let n=this.childIndent(e);this.insertInto(e,t.children.map(i=>n+i).join(""))}insertInto(e,t){if(e.selfClosing){this.splices.push({start:e.startTagClose,end:e.startTagEnd,text:`>${t}`});return}let r=e.children[e.children.length-1],n=r?r.end:e.startTagEnd;this.splices.push({start:n,end:n,text:t})}childIndent(e){let[t]=e.children,r=t?this.packet.slice(e.startTagEnd,t.start):this.packet.slice(e.startTagEnd,e.endTagStart);return/^\s*$/.test(r)?t?r:r&&`${r} `:""}spaceBefore(e){let t=e;for(;t>0&&/\s/.test(this.packet[t-1]);)t--;return t}};function al(e,t,r=!0){let n;for(let[i,a]of e)if(a===t){if(i)return i;r&&(n=i)}return n}function ov(e,t,r,n){let i=A=>vc(r,A),a=(A,d="")=>`<${i("li")}${d}>${Bl(A)}`,o=(A,d)=>`<${i(A)}>${d}`,s;switch(n.kind){case"text":s=Bl(n.text);break;case"alt":s=o("Alt",a(n.text,' xml:lang="x-default"'));break;case"seq":s=o("Seq",n.items.map(A=>a(A)).join(""));break;case"bag":s=o("Bag",n.items.map(A=>a(A)).join(""));break}return`<${e}${t}>${s}`}function u2(e,t,r){let n=e.EPDFCatalog_GetMetadata(r,Y,0);if(n<=0)return null;let i=V(t,n,o=>e.EPDFCatalog_GetMetadata(r,o,n)===n?t.readBytes(o,n):null),a=i&&l2(i);if(!i||!a)return null;try{return{text:new TextDecoder(a,{fatal:!0,ignoreBOM:!0}).decode(i),encoding:a}}catch{return null}}function p2(e,t,r,n){let i=m2(n);return V(t,Math.max(i.length,1),a=>(t.writeBytes(a,i),e.EPDFCatalog_SetMetadata(r,a,i.length)))}function l2(e){let[t=1,r=1,n=1,i=1]=e;return t===254&&r===255?"utf-16be":t===255&&r===254?n===0&&i===0?null:"utf-16le":t===0&&r===0?null:t===0?"utf-16be":r===0?n===0?null:"utf-16le":"utf-8"}function m2({text:e,encoding:t}){if(t==="utf-8")return new TextEncoder().encode(e);let r=new Uint8Array(e.length*2),n=new DataView(r.buffer);for(let i=0;i({ns:e,prefix:t,name:r}),b2={title:{property:en(Pc,"dc","title"),kind:"alt"},author:{property:en(Pc,"dc","creator"),kind:"seq"},subject:{property:en(Pc,"dc","description"),kind:"alt"},keywords:{property:en(El,"pdf","Keywords"),kind:"text"},creator:{property:en(zl,"xmp","CreatorTool"),kind:"text"},producer:{property:en(El,"pdf","Producer"),kind:"text"}},f2=en(zl,"xmp","CreateDate"),g2=en(zl,"xmp","ModifyDate"),F2=en(El,"pdf","Trapped"),v2=en(Pc,"dc","subject"),P2={true:"True",false:"False",unknown:"Unknown"};function h2(e){let t=[],r=(n,i,a=!0)=>t.push({property:n,value:i,add:a});for(let[n,{property:i,kind:a}]of Object.entries(b2)){let o=e[n];o!==void 0&&(o===null?r(i,null):a==="seq"?r(i,{kind:a,items:[o]}):r(i,{kind:a,text:o}))}if(e.keywords!==void 0){let n=e.keywords===null?null:D2(e.keywords);r(v2,n&&{kind:"bag",items:n},!1)}return e.createdAt!==void 0&&r(f2,Av(e.createdAt)),e.modifiedAt!==void 0&&r(g2,Av(e.modifiedAt)),e.trapped!==void 0&&r(F2,{kind:"text",text:P2[e.trapped]}),t}function k2(e){return Object.entries(e).filter(([t])=>/^[A-Za-z_][A-Za-z0-9._-]*$/.test(t)).map(([t,r])=>({property:en(w2,"pdfx",t),value:r===null?null:{kind:"text",text:r},add:!1}))}function D2(e){return e.split(/[,;]/).map(t=>t.trim()).filter(t=>t!=="")}function Av(e){if(e===null)return null;let t=ft(e);return{kind:"text",text:Xn(t)??t}}var Zl=class{constructor(e,t){this.runtime=e,this.session=t}update(e,t){O(t);let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr();return $7(r,n,i,e),sv(r,n,i,h2(e)),O(t),{metadata:new bi(this.runtime,this.session).read(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}updateCustom(e,t){O(t);let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr();return W7(r,n,i,e),sv(r,n,i,k2(e)),O(t),{custom:new bi(this.runtime,this.session).readCustom(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}},cv={bytes:124,offsets:{looseBox:0,tightBox:16,looseQuad:32,tightQuad:64,matrix:96,flags:120},flags:{hasTightBox:1,hasLooseQuad:2,hasTightQuad:4,upright:8,space:16,empty:32,synthesized:64}};function Gn(e,t,r=0){return{left:ue(e,t,r),top:ue(e,t,r+4),right:ue(e,t,r+8),bottom:ue(e,t,r+12)}}function OP(e,t,r){e.poke(t,"f32",r.left,0),e.poke(t,"f32",r.top,4),e.poke(t,"f32",r.right,8),e.poke(t,"f32",r.bottom,12)}function B2(e,t){return{a:ue(e,t,0),b:ue(e,t,4),c:ue(e,t,8),d:ue(e,t,12),e:ue(e,t,16),f:ue(e,t,20)}}function ue(e,t,r=0){return Number(e.peek(t,"f32",r))}function _e(e,t,r=0){return Number(e.peek(t,"i32",r))}var ot={unknown:0,xyz:1,fit:2,fitH:3,fitV:4,fitR:5,fitB:6,fitBH:7,fitBV:8},E2={fit:ot.fit,fitH:ot.fitH,fitV:ot.fitV,fitR:ot.fitR,fitB:ot.fitB,fitBH:ot.fitBH,fitBV:ot.fitBV},dv=4;function jc(e,t,r,n){let i=e.EPDFDest_GetPageObjectNumber(r,n);if(i===0)return null;let a=pe(i),o=he(t,[8,dv*4],([d,p])=>{let m=e.FPDFDest_GetView(n,d,p),F=Math.min(_e(t,d),dv),k=[];for(let P=0;Pdthis.limits.maxModels||this.nodes>this.limits.maxNodes||this.scriptCodeUnits>this.limits.maxScriptCodeUnits||this.targetEntries>this.limits.maxTargetEntries||this.payloadCodeUnits>this.limits.maxPayloadCodeUnits)throw new g(f.MalformedPdf,"aggregate PDF action read budget exceeded",{details:{models:this.models,nodes:this.nodes,scriptCodeUnits:this.scriptCodeUnits,targetEntries:this.targetEntries,payloadCodeUnits:this.payloadCodeUnits,limits:this.limits}})}};function fr(e,t,r,n,i){if(n===Y)return null;try{let a=e.EPDFAction_GetNodeCount(n);if(!Number.isInteger(a)||a<0)throw hc("invalid node count",{nodeCount:a});i.addModel(a);let o=e.EPDFAction_GetWarningFlags(n)>>>0,s=!e.EPDFAction_IsComplete(n),A=x2(e.EPDFAction_GetRootNode(n),a),d=new Set,p=!1,m=G=>{let T=G(Y,0);return T<=0?null:(i.reservePayloadBytes(T),Ye(t,G))},F=G=>he(t,[4],([T])=>G(T)?_e(t,T)!==0:null),k=(G,T)=>he(t,[4],([W])=>{if(!e.EPDFAction_GetNodeTargetObjectNumber(n,G,T,W))return null;let Pe=_e(t,W)>>>0;return Pe===0?null:Pe}),P=(G,T)=>{let W=[];for(let Pe=0;Pee.EPDFAction_GetNodeTargetName(n,G,Pe,q,oe));if(be!==null){W.push({kind:"name",name:be});continue}let Q=k(G,Pe);if(Q===null)return null;W.push({kind:"objectNumber",objectNumber:Q})}return W},B=G=>he(t,[4,4],([T,W])=>e.EPDFAction_GetNodeResetForm(n,G,T,W)?{hasFields:_e(t,T)!==0,exclude:_e(t,W)!==0}:null),y=G=>he(t,[4,4],([T,W])=>e.EPDFAction_GetNodeSubmitForm(n,G,T,W)?{hasFields:_e(t,T)!==0,flags:_e(t,W)>>>0}:null),x=G=>{if(d.has(G))throw hc("native action model contains a cycle",{nodeId:G});d.add(G);try{let T=S2(e.EPDFAction_GetNodeType(n,G)),W=Ye(t,(q,oe)=>e.EPDFAction_GetNodeSubtype(n,G,q,oe))??"",Pe=e.EPDFAction_GetNextCount(n,G);if(!Number.isInteger(Pe)||Pe<0)throw hc("invalid action child count",{nodeId:G,nextCount:Pe});let be=[];for(let q=0;q(p=!0,{type:"unknown",subtype:W,next:be});switch(T){case"javascript":{if(!e.EPDFAction_NodeHasJavaScript(n,G))return Q();let q=we(t,(oe,se)=>e.EPDFAction_GetNodeJavaScript(n,G,oe,se))??"";return i.addScript(q),{type:T,subtype:W,script:q,next:be}}case"rendition":{if(!e.EPDFAction_NodeHasJavaScript(n,G))return{type:T,subtype:W,next:be};let q=we(t,(oe,se)=>e.EPDFAction_GetNodeJavaScript(n,G,oe,se))??"";return i.addScript(q),{type:T,subtype:W,script:q,next:be}}case"goto":{let q=e.EPDFAction_GetNodeDest(r,n,G),oe=q!==Y?jc(e,t,r,q):null;return oe?{type:T,subtype:W,destination:oe,next:be}:Q()}case"uri":{let q=m((oe,se)=>e.EPDFAction_GetNodeURI(r,n,G,oe,se));return q===null?Q():{type:T,subtype:W,uri:q,isMap:F(oe=>e.EPDFAction_GetNodeURIIsMap(n,G,oe))??!1,next:be}}case"named":{let q=m((oe,se)=>e.EPDFAction_GetNodeName(n,G,oe,se));return q===null?Q():{type:T,subtype:W,name:q,next:be}}case"hide":{let q=e.EPDFAction_GetNodeTargetCount(n,G);if(!Number.isInteger(q)||q<0)return Q();i.reserveTargets(q);let oe=P(G,q);return oe===null?Q():{type:T,subtype:W,targets:oe,hide:F(se=>e.EPDFAction_GetNodeHideFlag(n,G,se))??!0,next:be}}case"reset-form":{let q=B(G),oe=e.EPDFAction_GetNodeTargetCount(n,G);if(q===null||!Number.isInteger(oe)||oe<0)return Q();i.reserveTargets(oe);let se=q.hasFields?P(G,oe):null;return q.hasFields&&se===null?Q():{type:T,subtype:W,fields:se,exclude:q.exclude,next:be}}case"submit-form":{if(typeof e.EPDFAction_GetNodeSubmitForm!="function")return{type:T,subtype:W,next:be};let q=y(G);if(q===null)return Q();let oe=m((Be,cn)=>e.EPDFAction_GetNodeSubmitFormURL(n,G,Be,cn));if(oe===null)return Q();let se=e.EPDFAction_GetNodeTargetCount(n,G);if(!Number.isInteger(se)||se<0)return Q();i.reserveTargets(se);let dt=q.hasFields?P(G,se):null;if(q.hasFields&&dt===null)return Q();let z=m((Be,cn)=>e.EPDFAction_GetNodeSubmitFormCharSet(n,G,Be,cn));return{type:T,subtype:W,payload:{url:oe,fields:dt,...Mu(q.flags),...z===null?{}:{charSet:z}},next:be}}case"goto-remote":case"goto-embedded":case"launch":{let q=m((oe,se)=>e.EPDFAction_GetNodeFilePath(n,G,oe,se));return q===null?Q():{type:T,subtype:W,filePath:q,next:be}}default:return{type:T,subtype:W,next:be}}}finally{d.delete(G)}},I=A===null?null:x(A),S=H2(o,s);return p&&S.push("payload-dropped"),{root:I,incomplete:s,warnings:S}}finally{e.EPDFAction_CloseModel(n)}}function x2(e,t){return e===-1||e===uv||e>>>0===uv?null:QP(e,t)}function QP(e,t){if(!Number.isInteger(e)||e<0||e>=t)throw hc("native action model returned an invalid node id",{raw:e,nodeCount:t});return e}function H2(e,t){let r=[];return(e&G2)!==0&&r.push("cycle-dropped"),(e&C2)!==0&&r.push("malformed-next"),((e&I2)!==0||t)&&r.push("incomplete"),r}function hc(e,t){return new g(f.MalformedPdf,e,{details:t})}function RP(e){return e.kind==="wasm"?4:8}function TP(e,t,r,n){e.kind==="wasm"?e.mem.poke(t,"i32",Number(n),r):e.mem.poke(t,"i64",BigInt(n),r)}function ps(e,t,r){let n=RP(e);return V(e.mem,Math.max(1,t.length*n),i=>(t.forEach((a,o)=>TP(e,i,o*n,a)),r(i,t.length)))}function Ga(e,t,r){let{mem:n}=e,i=t.map(a=>n.writeU16String(a));try{return ps(e,i,r)}finally{for(let a=i.length-1;a>=0;a--)n.free(i[a])}}var MP=[null,"decimal","upperRoman","lowerRoman","upperLetters","lowerLetters"];function LP(e,t){let{fn:r,mem:n}=e,i=r.EPDFDoc_GetPageLabelSectionCount(t),a=[];return he(n,[4,4,4],([o,s,A])=>{for(let d=0;dr.EPDFDoc_GetPageLabelSectionAt(t,d,m,F,o,s,A));a.push({firstPage:_e(n,o),style:MP[_e(n,s)]??null,firstNumber:_e(n,A),prefix:p??""})}}),a}function O2(e,t,r){let{fn:n,mem:i}=e;if(!nn(i,r.map(a=>a.firstPage),a=>nn(i,r.map(o=>MP.indexOf(o.style)),o=>nn(i,r.map(s=>s.firstNumber),s=>Ga(e,r.map(A=>A.prefix),(A,d)=>n.EPDFDoc_SetPageLabelSections(t,a,o,s,A,d))))))throw new g(f.Unknown,"EPDFDoc_SetPageLabelSections refused",{details:{sections:r.length}})}var Q2=0,R2=1,T2=2,M2=3,L2=4,En=class{constructor(e,t){this.runtime=e,this.session=t}read(e){O(e);let{fn:t,mem:r}=this.runtime,n=this.session.requireDocPtr(),i=this.session.allRecords(),a=new vi,o=LP(this.runtime,n);return he(r,[16,4,4],([s,A,d])=>{let p=i.map(m=>{O(e);let F=m.pageIndex,k=N2(t,r,n,m.pageObjectNumber,a),P=Kc(t,r,n,F,s);return{index:F,ref:pe(m.pageObjectNumber),label:Cu(o,F),size:Ld(P.crop),rotation:NP(t,r,n,F,d),userUnit:V2(t,r,n,F,A),tabOrder:X2(t,r,n,F),boxes:P,pdfCropBox:P.crop,...k?{actions:k}:{}}});return{pageCount:p.length,pages:p,labels:o,namedPages:z2(t,r,n)}})}};function N2(e,t,r,n,i){let a={},o=fr(e,t,r,e.EPDFDoc_GetPageActionModel(r,n,0),i),s=fr(e,t,r,e.EPDFDoc_GetPageActionModel(r,n,1),i);return o&&(a.open=o),s&&(a.close=s),o||s?a:void 0}function j2(e,t,r,n,i,a){if(e.EPDF_GetPageBoxByIndex(r,n,i,a))return Ce(Gn(t,a))}function mi(e,t){let r=new Map,n=null;return i=>{let a=r.get(i.objectNumber);if(a)return a;n??(n=new Map(t.allRecords().map(m=>[m.pageObjectNumber,m.pageIndex])));let o=n.get(i.objectNumber);if(o===void 0)throw new g(f.NotFound,`no page with object number ${i.objectNumber}`);let{fn:s,mem:A}=e,d=t.requireDocPtr(),p=V(A,16,m=>Kc(s,A,d,o,m).crop);return r.set(i.objectNumber,p),p}}function Kc(e,t,r,n,i){let a=o=>j2(e,t,r,n,o,i);return Zu({media:a(Q2),crop:a(R2),bleed:a(T2),trim:a(M2),art:a(L2)})}function K2(e,t,r){return V(e.mem,4,n=>NP(e.fn,e.mem,t,r,n))}function NP(e,t,r,n,i){return e.EPDF_GetPageRotateByIndex(r,n,i)?Ju(_e(t,i)):0}function V2(e,t,r,n,i){if(!e.EPDF_GetPageUserUnitByIndex(r,n,i))return 1;let a=ue(t,i,0);return Number.isFinite(a)&&a>0?a:1}var Y2={R:"rows",C:"columns",S:"structure",A:"annotations",W:"widgets"};function X2(e,t,r,n){let i=Ye(t,(a,o)=>e.EPDF_GetPageTabOrderByIndex(r,n,a,o));return i?Y2[i]??null:null}var W2=[0,1],U2=0,q2=1;function z2(e,t,r){let n=[];return he(t,[4,4],([i,a])=>{for(let o of W2){let s=e.EPDFDoc_GetNamedPageCount(r,o);for(let A=0;Ae.EPDFDoc_GetNamedPageAt(r,o,A,F,k,i,a),"");if(d===null)continue;let p=Number(t.peek(i,"i32"))>>>0,m=Number(t.peek(a,"i32"));n.push({name:d,target:m===U2?{kind:"page",page:pe(p)}:m===q2?{kind:"template",objectNumber:p}:{kind:"dangling"}})}}}),n}function kc(e,t,r){if(t==="start")return 0;if(t==="end")return r;let{pageIndex:n}=e.resolvePageRef(Rr(t));return"before"in t?n:n+1}var _l=class{constructor(e,t){this.runtime=e,this.session=t}reorder(e,t,r){let n=this.session.resolvePageRefs(e);O(r),this.requireUniquePageObjectNumbers("pages.reorder",n);let i=Rr(t);if(i&&n.includes(i.objectNumber))throw new g(f.InvalidArg,`pages.reorder: the neighbour page ${i.objectNumber} is one of the pages that move`,{details:{field:"position"}});let{fn:a,mem:o}=this.runtime,s=this.session.requireDocPtr(),A=n.map(P=>(O(r),this.session.recordByObjectNumber(P).pageIndex)),d=kc(this.session,t,a.FPDF_GetPageCount(s)),p=d-A.filter(P=>P=a)throw new g(f.InvalidArg,`pages.delete would remove every page (${r.length} of ${a}); a document must keep at least one`);let o=this.session.pagePool();for(let s of r)if(this.session.recordByObjectNumber(s),o.isHeld(s))throw new g(f.Unknown,`internal invariant violation: pagePtr for page ${s} is still held during pages.delete`);for(let s of r)if(!n.EPDFDoc_DeletePageByObjectNumber(i,s))throw new g(f.Unknown,`EPDFDoc_DeletePageByObjectNumber rejected page ${s} after validation`);return this.session.refreshPageRegistry(),{layout:new En(this.runtime,this.session).read(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}setName(e,t){if(O(t),e.name.length===0)throw new g(f.InvalidArg,"pages.setName requires a non-empty name");let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=this.session.resolvePageRef(e.page).pageObjectNumber;if(e.replace!==void 0&&e.replace!==e.name&&e.replace.length>0&&Kt(n,e.replace,o=>r.EPDFDoc_RemoveNamedPage(i,o)),!Kt(n,e.name,o=>r.EPDFDoc_SetNamedPage(i,o,a)))throw new g(f.Unknown,`EPDFDoc_SetNamedPage rejected '${e.name}' for page ${a}`);return{layout:new En(this.runtime,this.session).read(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}removeName(e,t){if(O(t),e.name.length===0)throw new g(f.InvalidArg,"pages.removeName requires a non-empty name");let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr();if(!Kt(n,e.name,a=>r.EPDFDoc_RemoveNamedPage(i,a)))throw new g(f.NotFound,`pages.removeName: no /Names /Pages registration '${e.name}'`);return{layout:new En(this.runtime,this.session).read(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}requireUniquePageObjectNumbers(e,t){if(t.length===0)throw new g(f.InvalidArg,`${e} requires at least one page`);let r=new Set;for(let n of t){if(r.has(n))throw new g(f.InvalidArg,`${e} was given duplicate page object number ${n}`);r.add(n)}}},Z2=2,J2=0,$2=1,eI=1,tI=2,nI=class{constructor(e,t){this.runtime=e,this.session=t}extract(e,t,r){if(O(r),e.length===0)throw new g(f.InvalidArg,"pages.extract requires at least one page");let n=this.session.resolvePageRefs(e),i=new Set;for(let k of n){if(i.has(k))throw new g(f.InvalidArg,`pages.extract was given duplicate page object number ${k}`);i.add(k)}let a=n.map(k=>this.session.recordByObjectNumber(k).pageIndex),{fn:o,mem:s}=this.runtime,A=this.session.requireDocPtr(),d=s.alloc(4*a.length);for(let k=0;kwe(i,(p,m)=>n.EPDFForm_GetFieldPartialName(r,d,p,m))??""),s=iI(e,t),A=new Set([...s,...o]);a.forEach((d,p)=>{let m=o[p];if(!s.has(m))return;let F=m;for(let k=2;A.has(F);k++)F=`${m}_${k}`;if(A.add(F),!Wn(i,F,k=>n.EPDFForm_SetFieldName(r,d,k)))throw new g(f.Unknown,`pages.insert could not rename the inserted field "${m}" to "${F}"`)})}function rI(e,t){let{fn:r,mem:n}=e,i=r.EPDFDoc_GetImportFieldRoots(t,Y,0,Y,0);return i<=0?[]:V(n,i*4,a=>(r.EPDFDoc_GetImportFieldRoots(t,Y,0,a,i),Array.from({length:i},(o,s)=>Number(n.peek(a,"i32",s*4)))))}function iI(e,t){let{fn:r,mem:n}=e,i=Ee(e,t),a=new Set;for(let o=0;or.EPDFForm_GetFieldName(i,o,A,d));s&&a.add(s.split(".")[0])}return a}function an(e,t,r){let{pageIndex:n}=t.resolvePageRef(pe(r)),i=e.fn.EPDFPage_PromoteInlineAnnotsRaw(t.requireDocPtr(),n);if(i<0)throw new g(f.Unknown,`the inline annotations of page ${r} could not be promoted`);return i===0?!1:(t.pagePool().closeIdle(),!0)}var aI=class{constructor(e,t){this.runtime=e,this.session=t}insert(e,t,r,n){if(O(r),e.byteLength===0)throw new g(f.InvalidArg,"pages.insert requires non-empty bytes");let{fn:i,mem:a}=this.runtime,o=this.session.requireDocPtr(),s=kc(this.session,t,i.FPDF_GetPageCount(o)),A=a.alloc(e.byteLength),d=null;try{if(a.writeBytes(A,new Uint8Array(e)),d=i.FPDF_LoadMemDocument(A,e.byteLength,""),!d)throw ql(i,null,new g(f.MalformedPdf,"pages.insert source PDF could not be opened"));let p=i.FPDF_GetPageCount(d);if(p<=0)throw new g(f.InvalidArg,"pages.insert source PDF has no pages");pv(this.runtime,this.session,d);let m=this.importInto(d,s,p,n,"pages.insert",r),F=d;return this.session.retainUntilClose(()=>{i.FPDF_CloseDocument(F),a.free(A)}),m}catch(p){throw d&&i.FPDF_CloseDocument(d),a.free(A),p}}copy(e,t,r,n){if(O(r),e.length===0)throw new g(f.InvalidArg,"pages.copy requires at least one page");let i=this.session.resolvePageRefs([...e]).map(d=>this.session.recordByObjectNumber(d).pageIndex),{fn:a}=this.runtime,o=this.session.requireDocPtr(),s=kc(this.session,t,a.FPDF_GetPageCount(o)),A=a.FPDF_CreateNewDocument();if(!A)throw new g(f.Unknown,"FPDF_CreateNewDocument failed");try{if(!nn(this.runtime.mem,i,(p,m)=>a.EPDFDoc_ImportPages(A,o,p,m,0,Y)))throw new g(f.Unknown,`EPDFDoc_ImportPages rejected copying pages [${i.join(",")}] out`);pv(this.runtime,this.session,A);let d=this.importInto(A,s,i.length,n,"pages.copy",r);return this.session.retainUntilClose(()=>a.FPDF_CloseDocument(A)),d}catch(d){throw a.FPDF_CloseDocument(A),d}}importInto(e,t,r,n,i,a){let{fn:o,mem:s}=this.runtime,A=this.session.requireDocPtr();if(n&&n.length!==r)throw new g(f.InvalidArg,`${i} needs one object number per page: ${n.length} for ${r}`,{details:{field:"objectNumbers"}});for(let m of n??[])this.session.claimObjectNumber(m);if(!(n?nn(s,n,m=>o.EPDFDoc_ImportPages(A,e,Y,0,t,m)):o.EPDFDoc_ImportPages(A,e,Y,0,t,Y)))throw new g(f.Unknown,`EPDFDoc_ImportPages rejected the ${i} at index ${t}`);this.session.refreshPageRegistry();let d=new En(this.runtime,this.session).read(a),p=d.pages.slice(t,t+r).map(m=>m.ref);for(let m of p)an(this.runtime,this.session,m.objectNumber);return{insertedPages:p,layout:d,meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}insertBlank(e,t,r,n){O(r);let{size:i}=e,a=e.count??1;if(!Number.isFinite(i?.width)||!Number.isFinite(i?.height)||i.width<=0||i.height<=0)throw new g(f.InvalidArg,`pages.insertBlank size must have positive finite dimensions, got ${i?.width}x${i?.height}`);if(!Number.isInteger(a)||a<1||a>100)throw new g(f.InvalidArg,`pages.insertBlank count ${a} out of range [1, ${100}]`);let{fn:o}=this.runtime,s=this.session.requireDocPtr(),A=kc(this.session,t,o.FPDF_GetPageCount(s));if(n&&n.length!==a)throw new g(f.InvalidArg,`pages.insertBlank needs one object number per page: ${n.length} for ${a}`,{details:{field:"objectNumbers"}});for(let p of n??[])this.session.claimObjectNumber(p);for(let p=0;pp.ref),layout:d,meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}},oI=0,sI=1,AI=2,cI=class{constructor(e,t){this.runtime=e,this.session=t}flatten(e,t,r){O(r);let n=this.session.resolvePageRefs(e);dI(n);let i=[],a=new Set;for(let o of n){O(r),an(this.runtime,this.session,o)&&a.add(o);let s=this.session.pagePool(),A=s.acquire(o),d;try{d=this.runtime.fn.EPDFPage_Flatten(A,t==="print"?1:0)}finally{s.release(o)}if(d===AI){i.push({page:pe(o),status:"unchanged"});continue}if(d!==sI)throw new g(f.Unknown,d===oI?"native page flatten failed after preflight":`native page flatten returned unexpected code ${d}`);a.add(o),i.push({page:pe(o),status:"applied"})}return a.size===0?{pages:e,usage:t,results:i,meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}:(this.session.invalidateDerived(),{pages:e,usage:t,results:i,meta:{affectedPages:[...a].map(o=>pe(o)),cacheDelta:null,...this.session.writeStamp()}})}};function dI(e){if(e.length===0)throw new g(f.InvalidArg,"pages.flatten requires at least one page");let t=new Set;for(let r of e){if(t.has(r))throw new g(f.InvalidArg,`pages.flatten was given duplicate page object number ${r}`);t.add(r)}}function Sa(e,t,r,n,i,a){let o=e.EPDFAnnot_GetObjectNumber(i);return o<=0?{kind:"baseIndex",page:n,baseIndex:a}:jP(e,t,r,n,o)}function jP(e,t,r,n,i){let a=uI(e,t,r,i);return a===null?{kind:"objectNumber",page:n,objectNumber:i}:{kind:"baseIndex",page:n,baseIndex:a}}function uI(e,t,r,n){return he(t,[8,8],([i,a])=>(Se(t,i,0),Se(t,a,0),e.EPDFLayer_GetBirthName(r,n,i,a)?He(t,a):null))}function kt(e,t,r){let{fn:n}=e,i=t.requireDocPtr(),{pageIndex:a}=t.resolvePageRef(r.page),o=r.page.objectNumber;switch(r.kind){case"objectNumber":{let s=n.EPDFPage_GetAnnotIndexByObjectNumberRaw(i,a,r.objectNumber);if(s<0)throw new g(f.NotFound,`no annotation with object number ${r.objectNumber} on page ${o}`);return{pageIndex:a,index:s}}case"baseIndex":{let s=pI(e,i,o,a,r.baseIndex);if(s<0)throw new g(f.NotFound,`no annotation born at position ${r.baseIndex} of page ${o}`);return{pageIndex:a,index:s}}}}function pI(e,t,r,n,i){let{fn:a}=e;if(a.EPDFLayer_IsPagePromoted(t,r)){let s=a.EPDFLayer_GetBirthObjectNumber(t,r,i);return s<=0?-1:a.EPDFPage_GetAnnotIndexByObjectNumberRaw(t,n,s)}if(i<0||i>=a.EPDFPage_GetAnnotCountRaw(t,n))return-1;let o=a.EPDFPage_GetAnnotRaw(t,n,i);if(!o)return-1;try{return a.EPDFAnnot_GetObjectNumber(o)>0?-1:i}finally{a.FPDFPage_CloseAnnot(o)}}function Vc(e,t,r){let{pageIndex:n,index:i}=kt(e,t,r);return wi(e,t,n,i)}function wi(e,t,r,n){let i=e.fn.EPDFPage_GetAnnotRaw(t.requireDocPtr(),r,n);if(!i)throw new g(f.Unknown,`annotation ${n} of page index ${r} could not be opened`);return i}function KP(e,t,r){let{pageIndex:n,index:i}=kt(e,t,r),a=wi(e,t,n,i),{fn:o,mem:s}=e;return{annotPtr:a,name:Sa(o,s,t.requireDocPtr(),r.page,a,i)}}function ls(e,t,r,n){let{index:i}=kt(e,t,n),a=e.fn.FPDFPage_GetAnnot(r,i);if(!a)throw new g(f.Unknown,`annotation ${i} of page ${n.page.objectNumber} could not be opened`);return a}var lI=class{constructor(e,t){this.runtime=e,this.session=t}apply(e,t){O(t);let r=this.buildPlan(e);for(let A of r.keys())this.session.recordByObjectNumber(A);this.preflight(r,t);let{fn:n}=this.runtime,i=[],a=new Set,o=0;for(let[A,d]of r){O(t),an(this.runtime,this.session,A)&&a.add(A);let p=this.session.pagePool(),m=p.acquire(A);try{let F=d===null?this.applyAllOnPage(m):this.applyRefsOnPage(m,d);F.status==="applied"&&(n.FPDFPage_GenerateContent(m),a.add(A),o+=F.removed),i.push({page:pe(A),status:F.status,removedAnnotationCount:F.removed})}finally{p.release(A)}}if(a.size===0){let A={affectedPages:[],cacheDelta:null,...this.session.writeStamp()};return{scope:e,results:i,removedAnnotationCount:o,meta:A}}this.session.invalidateDerived();let s={affectedPages:[...a].map(A=>pe(A)),cacheDelta:null,...this.session.writeStamp()};return{scope:e,results:i,removedAnnotationCount:o,meta:s}}buildPlan(e){let t=new Map;if("pages"in e){if(this.session.resolvePageRefs(e.pages).length===0)throw new g(f.InvalidArg,"redaction.apply requires at least one page");for(let r of this.session.resolvePageRefs(e.pages)){if(t.has(r))throw new g(f.InvalidArg,`redaction.apply was given duplicate page object number ${r}`);t.set(r,null)}return t}if(e.annotations.length===0)throw new g(f.InvalidArg,"redaction.apply requires at least one annotation ref");for(let r of e.annotations){let n=t.get(r.page.objectNumber);if(n===null)throw new g(f.InvalidArg,"mixed redaction scopes on one page");n?n.push(r):t.set(r.page.objectNumber,[r])}return t}preflight(e,t){let{fn:r}=this.runtime;for(let[n,i]of e){if(i===null)continue;O(t);let a=this.session.pagePool(),o=a.acquire(n);try{for(let s of i){let A=ls(this.runtime,this.session,o,s);try{let d=Yr(r.FPDFAnnot_GetSubtype(A));if(d!=="redact")throw new g(f.InvalidArg,`redaction.apply ref on page ${n} resolves to a '${d}' annotation, not a redact annotation`)}finally{r.FPDFPage_CloseAnnot(A)}}}finally{a.release(n)}}}applyAllOnPage(e){let{fn:t,mem:r}=this.runtime,n=this.pageHasRedactAnnotations(e);return V(r,4,i=>{if(!t.EPDFPage_ApplyRedactions(e,Y,0,i)){if(n)throw new g(f.Unknown,"native page redaction apply failed");return{status:"unchanged",removed:0}}return{status:"applied",removed:_e(r,i)>>>0}})}pageHasRedactAnnotations(e){let{fn:t}=this.runtime,r=t.FPDFPage_GetAnnotCount(e);for(let n=0;nV(n,4,A=>{let d=r.EPDFPage_ApplyRedactions(e,o,s,A);return d&&(a=_e(n,A)>>>0),d})))throw new g(f.Unknown,"native redaction apply failed after preflight")}finally{for(let o of i)r.FPDFPage_CloseAnnot(o)}return{status:"applied",removed:a}}},VP=class{constructor(e,t){this.runtime=e,this.session=t}async read(e,t,r){O(t);let{fn:n}=this.runtime,i=this.session.pagePool(),a=await i.acquireInSlices(e,t,r);try{O(t);let o=n.FPDFText_LoadPage(a);if(!o)throw new g(f.RuntimeUnavailable,`FPDFText_LoadPage returned null for page object ${e}`);try{O(t);let s=Math.max(n.FPDFText_CountChars(o),0),A=mI(this.runtime,o,s),d=bI(this.runtime,o,e),p=Au(s,A.length,d);if(p!==null)throw new g(f.RuntimeUnavailable,`char map invariant violated for page object ${e}: ${p}`);return su(d.length>0?{text:A,charCount:s,charMap:d}:{text:A,charCount:s})}finally{n.FPDFText_ClosePage(o)}}finally{i.release(e)}}};function mI(e,t,r){if(r<=0)return"";let{fn:n,mem:i}=e,a=r*2+1;return V(i,a*2,o=>{let s=n.EPDFText_GetTextFull(t,o,a);return s<=1?"":wI(i.readBytes(o,(s-1)*2))})}function wI(e){let t=new Uint16Array(e.buffer,e.byteOffset,e.byteLength>>1),r="",n=8192;for(let i=0;i{n.EPDFText_GetCharToTextMap(t,o,a);let s=i.readBytes(o,a*lv),A=new Int32Array(s.buffer,s.byteOffset,a*2),d=new Array(a);for(let p=0;p=this.slices.budgetMs}async pause(){await this.slices.between(),O(this.signal),this.started=performance.now()}},fI=.0087,YP=1,Yc=2,XP=class{constructor(e,t){this.runtime=e,this.session=t}async read(e,t,r){O(t);let{fn:n,mem:i}=this.runtime,a=this.session.pagePool(),o=await a.acquireInSlices(e,t,r);try{O(t);let s=n.FPDFText_LoadPage(o);if(!s)throw new g(f.RuntimeUnavailable,`FPDFText_LoadPage returned null for page object ${e}`);try{O(t);let A=Math.max(n.FPDFText_CountChars(s),0),d=[],p=i.alloc(cv.bytes);try{let m=new Jl(r,t),F=null;for(let k=0;k>>0;if(s&o.empty)return wv();let A=!!(s&o.upright),d={flags:s&o.space?YP:0,looseBox:Ce(Gn(i,r,a.looseBox)),upright:A,baselineAngle:0,ascentFlip:!1};if(s&o.hasTightBox&&(d.tightBox=Ce(Gn(i,r,a.tightBox))),s&o.hasLooseQuad&&(d.looseQuad=bv(i,r,a.looseQuad),s&o.hasTightQuad&&(d.tightQuad=bv(i,r,a.tightQuad)),!A)){let p=ue(i,r,a.matrix),m=ue(i,r,a.matrix+4),F=ue(i,r,a.matrix+8),k=ue(i,r,a.matrix+12);d.baselineAngle=Math.atan2(m,p),d.ascentFlip=p*k-m*F<0}return d}};function gI(e){let t=[],r=[],n=0,i,a=null,o,s=A=>{r.length>0&&(t.push(hI(r,n,i,o)),r=[],o=void 0),n=A};for(let A=0;Ao.looseQuad?{loose:o.looseQuad,...o.tightQuad?{tight:o.tightQuad}:{},...ol(o.flags)}:{loose:kI(),...ol(o.flags)});return{rect:mv(e,o=>o.looseQuad?Zs(o.looseQuad):WP),start:t,glyphs:a,rotation:vI(n.baselineAngle),ascentFlip:n.ascentFlip,...r!==void 0?{fontSize:r}:{}}}let i=e.map(a=>({loose:a.looseBox,...a.tightBox?{tight:a.tightBox}:{},...ol(a.flags)}));return{rect:mv(e,a=>a.looseBox),start:t,glyphs:i,...r!==void 0?{fontSize:r}:{}}}function ol(e){return{...e&YP?{space:!0}:{},...e&Yc?{empty:!0}:{}}}function mv(e,t){let r=null;for(let n of e){if(n.flags&Yc)continue;let i=t(n);if(!r){r={left:i.left,bottom:i.bottom,right:i.right,top:i.top};continue}r.left=Math.min(r.left,i.left),r.bottom=Math.min(r.bottom,i.bottom),r.right=Math.max(r.right,i.right),r.top=Math.max(r.top,i.top)}return r??{...WP}}var WP={left:0,bottom:0,right:0,top:0};function kI(){return{upperLeft:{x:0,y:0},upperRight:{x:0,y:0},lowerLeft:{x:0,y:0},lowerRight:{x:0,y:0}}}function wv(){return{flags:Yc,looseBox:{left:0,bottom:0,right:0,top:0},upright:!0,baselineAngle:0,ascentFlip:!1}}function bv(e,t,r){let n=i=>ue(e,t,r+i);return{upperLeft:{x:n(0),y:n(4)},upperRight:{x:n(8),y:n(12)},lowerLeft:{x:n(16),y:n(20)},lowerRight:{x:n(24),y:n(28)}}}var DI=4;function BI(e,t,r){return du({width:e.right-e.left,height:e.top-e.bottom},t,r)}function EI(e,t){let r=UP(e,t);if(!r)return null;try{return t.draw(r.bitmapPtr,r.matrixPtr,r.clipPtr)?r.read():null}finally{r.free()}}async function _I(e,t){let r=UP(e,t);if(!r)return null;try{return await t.draw(r.bitmapPtr,r.matrixPtr,r.clipPtr)?r.read():null}finally{r.free()}}function UP(e,t){let{fn:r,mem:n}=e,{rect:i,page:a,rotation:o,viewport:s,background:A}=t;if(i.right<=i.left||i.top<=i.bottom)return null;let d=GI(i,a),{width:p,height:m}=BI(d,o,s);if(t.maxOutputPixels!==void 0&&p*m>t.maxOutputPixels)throw new g(f.InvalidArg,`render output ${p}x${m} exceeds the ${t.maxOutputPixels}-pixel budget \u2014 request a smaller width (or tiles, once available)`);let F=p*4,k=F*m,P=null,B=null,y=null,x=null,I=()=>{B&&r.FPDFBitmap_Destroy(B),x&&n.free(x),y&&n.free(y),P&&n.free(P)};try{if(P=n.alloc(k),B=r.FPDFBitmap_CreateEx(p,m,DI,P,F),!B)return I(),null;r.FPDFBitmap_FillRect(B,0,0,p,m,A==="transparent"?0:4294967295),y=n.alloc(24),CI(n,y,uu(yI(d),o,p,m)),x=n.alloc(16),n.poke(x,"f32",0,0),n.poke(x,"f32",0,4),n.poke(x,"f32",p,8),n.poke(x,"f32",m,12)}catch(G){throw I(),G}let S=P;return{bitmapPtr:B,matrixPtr:y,clipPtr:x,read:()=>({width:p,height:m,stride:F,color:"rgba8",premultipliedAlpha:!1,data:II(n.readBytes(S,k))}),free:I}}function qP(e,t){let{fn:r,mem:n}=e,i=V(n,16,a=>r.FPDF_GetPageBoundingBox(t,a)?Gn(n,a):null);return i?Ce(i):{left:0,bottom:0,right:r.FPDF_GetPageWidthF(t),top:r.FPDF_GetPageHeightF(t)}}function yI(e){return{x:e.left,y:e.bottom,width:e.right-e.left,height:e.top-e.bottom}}function GI(e,t){return{left:e.left-t.left,right:e.right-t.left,bottom:t.top-e.top,top:t.top-e.bottom}}function CI(e,t,r){for(let n=0;n<6;n++)e.poke(t,"f32",r[n],n*4)}function II(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}var SI=1,xI=32768,HI=2048,OI=1,QI=2,fv=class{constructor(e,t){this.runtime=e,this.session=t}async render(e,t,r,n){O(r);let{fn:i}=this.runtime,a=this.session.pagePool(),o=await a.acquireInSlices(e,r,n);try{O(r),iu(t,null);let s=t.usage==="print",A=qP(this.runtime,o),d=RI(t.target,A),p=t.rotation??0,m=t.viewport??{kind:"scale",scale:1},F=uA(t,{annotations:!0,formFields:!0}),k=16;F.includeAnnotations&&(k|=SI),F.includeFormFields&&(k|=xI),s&&(k|=HI);let P=await _I(this.runtime,{rect:d,page:A,rotation:p,viewport:m,...t.maxOutputPixels!==void 0?{maxOutputPixels:t.maxOutputPixels}:{},background:t.background==="transparent"?"transparent":"white",draw:async(B,y,x)=>{O(r);let I=i.EPDF_RenderPageBitmapWithMatrix_Start(B,o,y,x,k,n.budgetMs);try{for(;I===OI;)await n.between(),O(r),I=i.EPDF_RenderPage_Continue(o,n.budgetMs)}finally{i.FPDF_RenderPage_Close(o)}return I===QI}});if(!P)throw new g(f.RuntimeUnavailable,`failed to render page object ${e}`);return{raster:P,area:d}}finally{a.release(e)}}};function RI(e,t){if(!e||e.kind==="page")return t;let r=Ce(e.rect);if(!(r.right>r.left&&r.top>r.bottom))throw new g(f.InvalidArg,"render rect must have positive area");return r}function ms(e,t){return{docPtr:e.requireDocPtr(),...t?{fonts:t}:{}}}function gv(e,t){if(e.family===void 0)return e;let r=t.programOf?.(e.family),n=Gr(e.family,t.describe),i={...e,family:n.family};return n.weight!==void 0&&e.weight===void 0&&(i.weight=n.weight),n.italic!==void 0&&e.italic===void 0&&(i.italic=n.italic),r!==void 0&&(i.program=r),i}function zP(e,t={}){let r=e.body?gv(e.body,t):void 0;r&&t.bodyProgram!==void 0&&(r.program=t.bodyProgram);let n=e.paragraphs.map(i=>({...i,runs:i.runs.map(a=>({...a,text:tr(a.text,"\r"),...a.style?{style:gv(a.style,t)}:{}}))}));return JSON.stringify(r?{body:r,paragraphs:n}:{paragraphs:n})}function TI(e){return ZP(e)?.document??null}function ZP(e){let t;try{t=JSON.parse(e)}catch{return null}if(!t||typeof t!="object"||!t.body||!Array.isArray(t.paragraphs))return null;let{source:r,...n}=t.body,i=Fv(n),a=t.paragraphs.map(o=>{let{runs:s,...A}=o;return{...A,runs:(s??[]).map(d=>{let p=d,m=typeof p.text=="string"?tr(p.text,` -`):p.text;return p.style?{...p,text:m,style:Fv(p.style)}:{...p,text:m}})}});return{source:t.source,document:{body:i,paragraphs:a}}}function Fv(e){return typeof e.color=="string"?{...e,color:e.color.toLowerCase()}:e}function on(e,t,r){let n=Ye(t,(s,A)=>e.EPDFAnnot_GetRichTextJSON(r,s,A)),i=n?ZP(n):null;if(i?.source!=="rc")return null;let{body:a,paragraphs:o}=i.document;return{body:{...a,family:a.family||Oi.family},paragraphs:o}}function MI(e,t,r){let n=Ye(t,(i,a)=>e.EPDFAnnot_GetRichTextJSON(r,i,a));return n?TI(n):null}function yl(e){let t=Math.fround(e);if(!Number.isFinite(t))return t;for(let r=1;r<9;r++){let n=Number(t.toPrecision(r));if(Math.fround(n)===t)return n}return t}var Sc={invisible:1,hidden:2,print:4,noZoom:8,noRotate:16,noView:32,readOnly:64,locked:128,toggleNoView:256,lockedContents:512},$l=Object.keys(Sc);function LI(e){if(e===0)return{...Ks};let t={...Ks};for(let r of $l)t[r]=(e&Sc[r])!==0;return t}function NI(e,t){let r=e;for(let n of $l){let i=t[n];i!==void 0&&(i?r|=Sc[n]:r&=~Sc[n])}return r}function JP(e){let t={};for(let r of $l)e[r]!==void 0&&(t[r]=e[r]);return Object.keys(t).length>0?t:null}var $P=0,eh=1,th=2,nh=3,rh=4,ih=5,ah=6,oh=7,sh=8,Ah=9;function vv(e){switch(e){case"square":return eh;case"circle":return th;case"diamond":return nh;case"open-arrow":return rh;case"closed-arrow":return ih;case"butt":return ah;case"r-open-arrow":return oh;case"r-closed-arrow":return sh;case"slash":return Ah;default:return $P}}function Pv(e){switch(e){case eh:return"square";case th:return"circle";case nh:return"diamond";case rh:return"open-arrow";case ih:return"closed-arrow";case ah:return"butt";case oh:return"r-open-arrow";case sh:return"r-closed-arrow";case Ah:return"slash";case $P:default:return"none"}}function Yn(e,t,r,n){return e.FPDFAnnot_HasKey(r,n)?we(t,(i,a)=>e.FPDFAnnot_GetStringValue(r,n,i,a),""):null}function ks(e,t,r){return V(t,16,n=>e.FPDFAnnot_GetRect(r,n)?Gn(t,n):{left:0,bottom:0,right:0,top:0})}function jI(e,t){return LI(e.FPDFAnnot_GetFlags(t))}function Un(e,t,r,n=0){return he(t,[4,4,4],([i,a,o])=>e.EPDFAnnot_GetColor(r,n,i,a,o)?Qi(_e(t,i)&255,_e(t,a)&255,_e(t,o)&255):null)}function ws(e,t,r,n){return V(t,4,i=>e.EPDFAnnot_GetBooleanValue(r,n,i)?_e(t,i)!==0:null)}function Fr(e,t,r){return V(t,4,n=>e.EPDFAnnot_GetOpacity(r,n)?yl(ue(t,n)):null)}function Xc(e,t,r){return V(t,4,n=>({styleCode:e.EPDFAnnot_GetBorderStyle(r,n),width:ue(t,n)}))}function KI(e,t,r){let n=e.EPDFAnnot_GetBorderDashPatternCount(r);return n<=0?[]:V(t,n*4,i=>{if(!e.EPDFAnnot_GetBorderDashPattern(r,i,n))return[];let a=[];for(let o=0;o{if(!e.EPDFAnnot_GetBorderEffect(r,n))return null;let i=ue(t,n);return i>0?i:null})}function VI(e,t,r){return he(t,[4,4,4,4],([n,i,a,o])=>e.EPDFAnnot_GetRectangleDifferences(r,n,i,a,o)?{left:ue(t,n),bottom:ue(t,i),right:ue(t,a),top:ue(t,o)}:null)}function ch(e,t,r){let n=e.FPDFAnnot_GetVertices(r,Y,0);return n<=0?[]:V(t,n*8,i=>{let a=e.FPDFAnnot_GetVertices(r,i,n);if(a<=0)return[];let o=[];for(let s=0;s{let d=e.FPDFAnnot_GetInkListPath(r,a,A,o);if(d<=0)return[];let p=[];for(let m=0;m0&&i.push(s)}return i}function uh(e,t,r){return he(t,[8,8],([n,i])=>e.FPDFAnnot_GetLine(r,n,i)?{start:{x:ue(t,n,0),y:ue(t,n,4)},end:{x:ue(t,i,0),y:ue(t,i,4)}}:null)}function tm(e,t,r){return he(t,[4,4],([n,i])=>e.EPDFAnnot_GetLineEndings(r,n,i)?{start:Pv(_e(t,n)),end:Pv(_e(t,i))}:{start:"none",end:"none"})}function xa(e,t,r){return he(t,[4,4,4,4,4],([n,i,a,o,s])=>e.EPDFAnnot_GetDefaultAppearance(r,n,i,a,o,s)?{fontCode:_e(t,n),fontSize:ue(t,i),color:Qi(_e(t,a)&255,_e(t,o)&255,_e(t,s)&255)}:null)}function Wc(e,t,r){return he(t,[4,4],([n,i])=>{let a=we(t,(o,s)=>e.EPDFAnnot_GetDefaultAppearanceFontFace(r,o,s,n,i),null);return a?{family:a,weight:_e(t,n),italic:_e(t,i)!==0}:null})}function nm(e,t){return e.EPDFAnnot_GetTextAlignment(t)}function YI(e,t,r){return e.FPDFAnnot_HasKey(r,"OverlayText")?we(t,(n,i)=>e.EPDFAnnot_GetOverlayText(r,n,i),""):null}function XI(e,t){return e.EPDFAnnot_GetOverlayTextRepeat(t)}function vr(e,t,r){let n=e.EPDFAnnot_GetIntent(r,Y,0);if(n<=0)return null;let i=(n+1)*2;return V(t,i,a=>(e.EPDFAnnot_GetIntent(r,a,i),t.readU16String(a)))}function WI(e,t,r){let n=e.EPDFAnnot_GetCalloutLineCount(r);return n<=0?[]:V(t,n*8,i=>{let a=e.EPDFAnnot_GetCalloutLine(r,i,n);if(a<=0)return[];let o=[];for(let s=0;s{let a=[];for(let o=0;oue(t,i,A);a.push(Nd([{x:s(0),y:s(4)},{x:s(8),y:s(12)},{x:s(16),y:s(20)},{x:s(24),y:s(28)}]))}return a})}function im(e,t,r){return Ye(t,(n,i)=>e.EPDFAnnot_GetName(r,n,i))}function ph(e,t,r){return Ye(t,(n,i)=>e.EPDFAnnot_GetAppearanceState(r,n,i))}function UI(e,t,r){let n=e.EPDFAnnot_GetStructurePosition(r,Y,0);return n<=0?null:V(t,4*n,i=>(e.EPDFAnnot_GetStructurePosition(r,i,n),Array.from({length:n},(a,o)=>Number(t.peek(i,"i32",4*o))>>>0)))}function qI(e,t,r,n){let i=[],a=e.EPDFAnnot_GetAppearanceStateCount(r,n);for(let o=0;oe.EPDFAnnot_GetAppearanceStateName(r,n,o,A,d));s!==null&&i.push(s)}return i}var zI="Rotation";function am(e){let t=yl((-yl(e)%360+360)%360+0);return t===0||t===360?void 0:t}function Uc(e){let t=(-e%360+360)%360+0;return t>180?t-360:t}function ZI(e,t,r){if(e.EPDFAnnot_HasEmbedMetadata(r))return V(t,4,n=>{if(e.EPDFAnnot_GetEmbedMetadataNumber(r,zI,n))return am(ue(t,n))})}var lh=new Set([L.SQUARE,L.CIRCLE,L.FREETEXT,L.STAMP,L.CARET]),mh=.05,JI=.002,$I=[90,180,270],eS=.01,bs=e=>(e%360+360)%360;function om(e,t){let r=Math.abs(bs(e)-bs(t));return Math.min(r,360-r)}var As=(e,t)=>om(e,t)<=mh;function tS(e){let t=Math.hypot(e.a,e.b);if(!(t>0))return;let r=JI*t;if(Math.abs(e.a-e.d)>r||Math.abs(e.b+e.c)>r)return;let n=bs(Math.atan2(e.b,e.a)*180/Math.PI);return om(n,0)>mh?n:void 0}function nS(e,t,r){if(e.FPDFAnnot_HasKey(r,"Rotate"))return V(t,4,n=>e.EPDFAnnot_GetRotate(r,n)?ue(t,n):void 0)}function wh(e,t,r){if(!e.EPDFAnnot_HasEmbedMetadata(r))return;let n=V(t,4,a=>e.EPDFAnnot_GetEmbedMetadataNumber(r,"Rotation",a)?bs(ue(t,a)):void 0);if(n===void 0||om(n,0)e.EPDFAnnot_GetEmbedMetadataRect(r,"UnrotatedRect",a)?Ce(Gn(t,a)):void 0);if(!(!i||i.right<=i.left||i.top<=i.bottom))return{degrees:n,box:i}}function rS(e,t,r,n){return V(t,16,i=>V(t,24,a=>{if(!e.EPDFAnnot_GetAppearanceTransform(r,i,a))return;let o=B2(t,a),s=tS(o);if(s===void 0)return;let A=Ce(Gn(t,i)),d=Math.hypot(o.a,o.b),p=(A.left+A.right)/2,m=(A.bottom+A.top)/2,F=o.a*p+o.c*m+o.e,k=o.b*p+o.d*m+o.f,P=(A.right-A.left)*d/2,B=(A.top-A.bottom)*d/2;return{degrees:n!==void 0&&As(n,s)?bs(n):Math.round(s*100)/100,box:{left:F-P,bottom:k-B,right:F+P,top:k+B}}}))}function bh(e,t,r){let n=Ce(ks(e,t,r)),i=VI(e,t,r);if(!i)return n;let a={left:n.left+i.left,bottom:n.bottom+i.bottom,right:n.right-i.right,top:n.top-i.top};return a.left<=a.right&&a.bottom<=a.top?a:n}function qc(e,t,r){let n=iS(e,t,r);if(!n)return;let i=am(n.degrees);return i===void 0?void 0:{rotation:i,box:n.box}}function Ha(e,t,r){let n=qc(e,t,r);return n?{box:n.box,rotation:n.rotation}:{box:bh(e,t,r),rotation:null}}function iS(e,t,r){let n=e.FPDFAnnot_GetSubtype(r);if(!lh.has(n))return;let i=nS(e,t,r),a=rS(e,t,r,i),o=bh(e,t,r),s=n===L.FREETEXT,A=s&&i!==void 0?$I.find(P=>As(i,P)):void 0,d=wh(e,t,r);if(d&&Sr(wn(d.box,d.degrees),o)&&(a?As(a.degrees,d.degrees):!e.EPDFAnnot_HasAppearanceStream(r,0)||s&&(e.FPDFAnnot_HasKey(r,"CL")||A!==void 0&&As(A,d.degrees))))return d;if(a)return a;if(A===void 0)return;if(A===180)return{degrees:A,box:o};let p=(o.left+o.right)/2,m=(o.bottom+o.top)/2,F=(o.top-o.bottom)/2,k=(o.right-o.left)/2;return{degrees:A,box:{left:p-F,bottom:m-k,right:p+F,top:m+k}}}function aS(e,t,r){let n=wh(e,t,r);if(!n)return;let i=am(n.degrees);return i===void 0?void 0:{rotation:i,box:n.box}}function oS(e,t){return!e||!t?!e&&!t:As(e.rotation,t.rotation)&&Sr(e.box,t.box)}function sS(e,t){return lh.has(e.FPDFAnnot_GetSubtype(t))}var fh="Replace",gh="StrikeOutTextEdit";function Fh(e){if(e==="replace")return fh}function AS(e){return e===fh?"replace":null}function vh(e){if(e==="strikeout-text-edit")return gh}function cS(e){return e===gh?"strikeout-text-edit":null}var dS="#ff0000";function uS(e,t,r,n){let i=Un(e,t,r)??dS,a=Fr(e,t,r),o=a==null?1:Math.max(0,Math.min(1,a)),s=AS(vr(e,t,r));return{...n,richText:on(e,t,r),subtype:"caret",intent:s,color:i,opacity:o,...Ha(e,t,r)}}function pS(e,t,r,n){return we(t,(i,a)=>e.EPDFDoc_GetAttachmentKey(r,n,i,a))}function Bc(e,t,r,n){let i=t.writeU16String(n.key);try{return e.EPDFDoc_GetAttachmentIndexByKey(r,i)}finally{t.free(i)}}function sm(e,t,r,n,i,a){let o=a.bytes.byteLength;if(o===0){if(!e.FPDFAttachment_SetFile(r,n,Y,0))throw new g(f.Unknown,"FPDFAttachment_SetFile returned false")}else{let s=t.alloc(o);try{if(t.writeBytes(s,new Uint8Array(a.bytes)),!e.FPDFAttachment_SetFile(r,n,s,o))throw new g(f.Unknown,"FPDFAttachment_SetFile returned false")}finally{t.free(s)}}if(Kt(t,ft(new Date),s=>e.FPDFAttachment_SetStringValue(r,"CreationDate",s)),i.mimeType&&!e.EPDFAttachment_SetSubtype(r,i.mimeType))throw new g(f.Unknown,"EPDFAttachment_SetSubtype returned false");if(i.description!==void 0&&!Kt(t,i.description,s=>e.EPDFAttachment_SetDescription(r,s)))throw new g(f.Unknown,"EPDFAttachment_SetDescription returned false")}function _a(e,t,r){let n=we(t,(p,m)=>e.FPDFAttachment_GetName(r,p,m))??"",i=we(t,(p,m)=>e.FPDFAttachment_GetSubtype(r,p,m)),a=we(t,(p,m)=>e.EPDFAttachment_GetDescription(r,p,m)),o=hv(e,t,r,"CreationDate"),s=hv(e,t,r,"ModDate"),A=wS(kh(e,t,r,"CheckSum")),d=mS(e,t,r);return{name:n,mimeType:i||null,description:a||null,sizeBytes:d,md5:A||null,createdAt:o||null,modifiedAt:s||null}}function Ph(e,t,r){let{fn:n,mem:i}=e,a=i.alloc(8),o=i.alloc(4),s=i.alloc(4),A=null;try{if(i.poke(a,"ptr",0),i.poke(o,"i32",0),i.poke(s,"i32",-1),!n.EPDFAttachment_ExtractFileToOwnedBuffer(t,BigInt(r??0),a,o,s))throw hh(Number(i.peek(s,"i32")),r);let d=Number(i.peek(o,"i32"))>>>0;if(A=i.peek(a,"ptr"),d===0||!A)return{bytes:new ArrayBuffer(0),size:0};let p=i.readBytes(A,d),m=new ArrayBuffer(p.byteLength);return new Uint8Array(m).set(p),{bytes:m,size:d}}finally{A&&n.EPDF_FreeBuffer(A),i.free(s),i.free(o),i.free(a)}}function lS(e,t,r,n){let{fn:i,mem:a}=e,o=a.alloc(4),s=a.alloc(4),A=e.fileWrite.toNodeFile(r);try{if(a.poke(o,"i32",0),a.poke(s,"i32",-1),!i.EPDFAttachment_ExtractFile(t,A.ptr,BigInt(n??0),o,s))throw hh(Number(a.peek(s,"i32")),n);return{size:Number(a.peek(o,"i32"))>>>0}}finally{A.close(),a.free(s),a.free(o)}}function hh(e,t){switch(e){case 1:return new g(f.InvalidArg,"attachment has no embedded file stream (missing /EF)");case 2:return new g(f.MalformedPdf,"embedded file stream failed to decode");case 3:return new g(f.PayloadTooLarge,`the embedded file decodes to more than ${t} bytes, the limit`,{details:{limit:t}});case 4:return new g(f.Unknown,"writing the extracted attachment failed");default:return new g(f.Unknown,`attachment extraction failed (status ${e})`)}}function kh(e,t,r,n){return e.FPDFAttachment_HasKey(r,n)?we(t,(i,a)=>e.FPDFAttachment_GetStringValue(r,n,i,a),null):null}function hv(e,t,r,n){let i=kh(e,t,r,n);return i?Xn(i):null}function mS(e,t,r){let n=t.alloc(4);try{if(!e.EPDFAttachment_GetIntegerValue(r,"Size",n))return null;let i=Number(t.peek(n,"i32"));return i>=0?i:null}finally{t.free(n)}}function wS(e){if(!e)return null;let t=e.startsWith("<")&&e.endsWith(">")?e.slice(1,-1):e;return/^[0-9a-fA-F]+$/.test(t)?t.toLowerCase():e}var Dh=Object.freeze({comment:"Comment",key:"Key",note:"Note",help:"Help","new-paragraph":"NewParagraph",paragraph:"Paragraph",insert:"Insert"}),bS=Object.freeze(Object.fromEntries(Object.entries(Dh).map(([e,t])=>[t,e]))),Bh=Object.freeze({graph:"Graph","push-pin":"PushPin",paperclip:"Paperclip",tag:"Tag"}),fS=Object.freeze(Object.fromEntries(Object.entries(Bh).map(([e,t])=>[t,e]))),gS="#ffff00",FS="push-pin";function vS(e,t,r,n){let i=Un(e,t,r)??gS,a=Fr(e,t,r),o=a==null?1:Math.max(0,Math.min(1,a)),s=fS[im(e,t,r)??""]??FS,A=e.FPDFAnnot_GetFileAttachment(r),d=A?_a(e,t,A):null;return{...n,richText:on(e,t,r),subtype:"file-attachment",icon:s,file:d,color:i,opacity:o}}var Ne={Color:0,InteriorColor:1,OverlayColor:2,TextColor:3},Eh={"free-text":"FreeText","free-text-callout":"FreeTextCallout","free-text-typewriter":"FreeTextTypeWriter"};function _h(e){return Eh[e]}function yh(e){return Object.entries(Eh).find(([,t])=>t===e)?.[0]??"free-text"}var xc={courier:0,"courier-bold":1,"courier-bold-oblique":2,"courier-oblique":3,helvetica:4,"helvetica-bold":5,"helvetica-bold-oblique":6,"helvetica-oblique":7,"times-roman":8,"times-bold":9,"times-bold-italic":10,"times-italic":11,symbol:12,"zapf-dingbats":13},PS=Object.fromEntries(Object.entries(xc).map(([e,t])=>[t,e])),Gh="helvetica";function hS(e){return xc[e]??xc.helvetica}function kS(e){return Object.prototype.hasOwnProperty.call(xc,e)}function Am(e){return PS[e]??"helvetica"}var Ch=0,Ih=1,Sh=2;function Ds(e){switch(e){case"center":return Ih;case"right":return Sh;default:return Ch}}function cm(e){switch(e){case Ih:return"center";case Sh:return"right";case Ch:default:return"left"}}var DS="VerticalAlignment",xh=["top","middle","bottom"];function BS(e){return xh.indexOf(e)}function ES(e){return e!==void 0&&xh[e]||"top"}function zc(e,t,r,n,i){let a=i?.keyForFace(n.family,n.weight,n.italic);if(a!==void 0)return a;let o=Ys(n);if(yr(o))return o;let s=Wc(e,t,r);if(s&&ln(s.family)===ln(n.family)&&s.weight===n.weight&&s.italic===n.italic){let A=Ye(t,(d,p)=>e.EPDFAnnot_GetDefaultAppearanceFontPostScriptName(r,d,p));if(A)return A}return rc({familyName:n.family,weight:n.weight,italic:n.italic},null)}function _S(e,t,r){if(!e.EPDFAnnot_HasEmbedMetadata(r))return null;let n=Hh(e,t,r,"SchemaVersion"),i=Da(e,t,r,"UserID"),a=Da(e,t,r,"GroupID"),o=Da(e,t,r,"CreatedBy"),s=Da(e,t,r,"UpdatedBy"),A=Da(e,t,r,"ImportedBy"),d={};return n!==void 0&&(d.schemaVersion=n),i!==void 0&&(d.userId=i),a!==void 0&&(d.groupId=a),o!==void 0&&(d.createdBy=o),s!==void 0&&(d.modifiedBy=s),A!==void 0&&(d.importedBy=A),d}function Da(e,t,r,n){let i=e.EPDFAnnot_GetEmbedMetadataString(r,n,Y,0);if(i<=2)return;let a=t.alloc(i);try{return e.EPDFAnnot_GetEmbedMetadataString(r,n,a,i)<=0?void 0:t.readU16String(a)}finally{t.free(a)}}function Hh(e,t,r,n){let i=t.alloc(4);try{return e.EPDFAnnot_GetEmbedMetadataNumber(r,n,i)?Number(t.peek(i,"f32")):void 0}finally{t.free(i)}}var Oh=1,Qh=2,Rh=3,Th=4,Mh=5;function dm(e){switch(e){case"dashed":return Qh;case"beveled":return Rh;case"inset":return Th;default:return Oh}}function um(e){switch(e){case Qh:return"dashed";case Rh:return"beveled";case Th:return"inset";case Oh:default:return"solid"}}function yS(e){return e==="underline"?Mh:dm(e)}function Lh(e){return e===Mh?"underline":um(e)}function pm(e,t,r){let{styleCode:n,width:i}=Xc(e,t,r),a=KI(e,t,r);return{strokeWidth:i,borderStyle:um(n),dashArray:a.length>0?a:null}}function Nh(e,t,r){let n=Un(e,t,r,Ne.Color),i=Fr(e,t,r);return{color:n,opacity:i==null?1:Math.max(0,Math.min(1,i)),...pm(e,t,r)}}function Zc(e,t,r){let n=Un(e,t,r,Ne.InteriorColor);return{...Nh(e,t,r),interiorColor:n??null}}var GS="#000000",CS=12;function IS(e,t,r,n,i,a){let o=xa(e,t,r),s=o?.color??GS,A=MI(e,t,r),d=a?.fonts,p=A?zc(e,t,r,A.body,d):o?Am(o.fontCode):Gh,m=A&&A.body.size>0?A.body.size:o&&o.fontSize>0?o.fontSize:CS,F=A??{body:{family:"Helvetica",weight:400,italic:!1,size:m,color:s,decoration:[],script:"normal",letterSpacing:0,horizontalScale:1,align:"left",dir:"ltr"},paragraphs:[{runs:[{text:n.contents??""}]}]},k=F.body.color.toLowerCase(),P=Un(e,t,r,Ne.Color),B=Fr(e,t,r),y=B==null?1:Math.max(0,Math.min(1,B)),x=A?A.body.align:cm(nm(e,r)),I=ES(Hh(e,t,r,DS)),S=yh(vr(e,t,r)),G=WI(e,t,r),T=G.length===2?[G[0],G[1]]:G.length===3?[G[0],G[1],G[2]]:void 0,W=tm(e,t,r).end;return{...n,subtype:"free-text",intent:S,fontFamily:p,fontSize:m,textAlign:x,verticalAlign:I,richText:F,color:s,fontColor:k,interiorColor:P??null,opacity:y,...pm(e,t,r),cloudyIntensity:em(e,t,r),...Ha(e,t,r),calloutLine:T??null,lineEnding:T!==void 0&&W!=="none"?W:null}}function SS(e,t,r){switch(e.FPDFAnnot_GetSubtype(r)){case L.LINE:{let n=uh(e,t,r);return n?[[n.start,n.end]]:[]}case L.POLYGON:case L.POLYLINE:return[ch(e,t,r)];case L.INK:return dh(e,t,r).map(n=>[...n]);default:return[]}}function xS(e,t,r){let n=ZI(e,t,r);if(n===void 0)return;let i=V(t,16,a=>e.EPDFAnnot_GetEmbedMetadataRect(r,"UnrotatedRect",a)?Ce(Gn(t,a)):void 0);return i?{rotation:n,box:i}:void 0}function Jc(e,t,r,n){let i=n.flat();if(i.length===0)return;let a=xS(e,t,r);if(!a)return;let{box:o}=a,s={degrees:a.rotation,center:{x:(o.left+o.right)/2,y:(o.bottom+o.top)/2}};return Sr(er(i.map(A=>Hi(A,s))),o)?s:void 0}var fi=(e,t)=>t?Hi(e,t):e;function jh(e){if(e==="ink-highlight")return"InkHighlight"}function HS(e){return e==="InkHighlight"?"ink-highlight":null}function OS(e,t,r,n){let i=dh(e,t,r),a=Jc(e,t,r,i),o=HS(vr(e,t,r));return{...n,richText:on(e,t,r),subtype:"ink",...Nh(e,t,r),intent:o,inkList:i.map(s=>s.map(A=>fi(A,a))),rotation:a?.degrees??null}}var QS={"line-arrow":"LineArrow","line-dimension":"LineDimension","polygon-cloud":"PolygonCloud","polygon-dimension":"PolygonDimension","polyline-dimension":"PolyLineDimension"};function RS(e){return QS[e]}function TS(e){return e==="LineArrow"?"line-arrow":e==="LineDimension"?"line-dimension":null}function MS(e){return e==="PolygonCloud"?"polygon-cloud":e==="PolygonDimension"?"polygon-dimension":null}function LS(e){return e==="PolyLineDimension"?"polyline-dimension":null}var Kh={x:0,y:1,distance:2,area:3,angle:4,slope:5},Gl=["decimal","fraction","round","truncate"],Vh=["thousands","decimal","prefixSpacing","suffixSpacing"];function Le(e){if(!e)throw new g(f.Unknown,"Measurement native write failed after preflight")}function ha(e,t,r="f32"){return V(e,4,n=>t(n)?Number(e.peek(n,r)):void 0)}function Cl(e,t,r){return t?V(e,8,n=>(e.poke(n,"f32",t.x),e.poke(n,"f32",t.y,4),r(n))):r(Y)}function Yh(e,t,r){if(!r)return;let n=e.EPDFMeasure_GetSubtype(r);if(n!==1)return{subtype:n===2?"geospatial":"unknown"};let i=d=>Array.from({length:e.EPDFMeasure_CountFormats(r,d)},(p,m)=>{let F=e.EPDFMeasure_GetFormat(r,d,m),k={unit:we(t,(S,G)=>e.EPDFNumberFormat_GetUnit(F,S,G))??""},P=ha(t,S=>e.EPDFNumberFormat_GetConversion(F,S));P!==void 0&&(k.conversion=P);let B=ha(t,S=>e.EPDFNumberFormat_GetFraction(F,S),"i32");B!==void 0&&Gl[B]&&(k.fraction=Gl[B]);let y=ha(t,S=>e.EPDFNumberFormat_GetPrecision(F,S),"i32");y!==void 0&&(k.precision=y);let x=ha(t,S=>e.EPDFNumberFormat_GetFixedDenominator(F,S),"i32");x!==void 0&&(k.fixed=!!x);let I=ha(t,S=>e.EPDFNumberFormat_GetLabelPosition(F,S),"i32");I!==void 0&&(k.labelPosition=I===1?"prefix":"suffix");for(let[S,G]of Vh.entries()){let T=we(t,(W,Pe)=>e.EPDFNumberFormat_GetText(F,S,W,Pe));T!==null&&(k[G]=T)}return k}),a=we(t,(d,p)=>e.EPDFMeasure_GetRatio(r,d,p)),o=V(t,8,d=>e.EPDFMeasure_GetOrigin(r,d)?{x:Number(t.peek(d,"f32")),y:Number(t.peek(d,"f32",4))}:void 0),s=ha(t,d=>e.EPDFMeasure_GetCYX(r,d)),A={subtype:"rectilinear",x:i(0),distance:i(2),area:i(3),...a!==null?{ratio:a}:{},...o?{origin:o}:{},...s!==void 0?{cyx:s}:{}};for(let d of["y","angle","slope"]){let p=i(Kh[d]);p.length&&(A[d]=p)}return A}function Xh(e,t,r,n){Le(r),n.ratio!==void 0&&Le(Kt(t,n.ratio,i=>e.EPDFMeasure_SetRatio(r,i))),n.origin&&Le(Cl(t,n.origin,i=>e.EPDFMeasure_SetOrigin(r,i))),n.cyx!==void 0&&V(t,4,i=>{t.poke(i,"f32",n.cyx),Le(e.EPDFMeasure_SetCYX(r,i))});for(let[i,a]of Object.entries(Kh))for(let o of n[i]??[]){let s=t.writeU16String(o.unit),A;try{A=e.EPDFMeasure_AddFormat(r,a,s,o.conversion)}finally{t.free(s)}Le(A),o.fraction!==void 0&&Le(e.EPDFNumberFormat_SetFraction(A,Gl.indexOf(o.fraction))),o.precision!==void 0&&Le(e.EPDFNumberFormat_SetPrecision(A,o.precision)),o.fixed!==void 0&&Le(e.EPDFNumberFormat_SetFixedDenominator(A,o.fixed)),o.labelPosition!==void 0&&Le(e.EPDFNumberFormat_SetLabelPosition(A,o.labelPosition==="prefix"?1:0));for(let[d,p]of Vh.entries())o[p]!==void 0&&Le(Kt(t,o[p],m=>e.EPDFNumberFormat_SetText(A,d,m)))}}function lm(e,t,r){return{measure:Yh(e,t,e.EPDFAnnot_GetMeasure(r))??null}}function NS(e,t,r){if(["Cap","CP","CO"].some(n=>e.FPDFAnnot_HasKey(r,n)))return he(t,[4,4,8],([n,i,a])=>{if(e.EPDFAnnot_GetLineCaption(r,n,i,a))return{enabled:!!t.peek(n,"i32"),position:t.peek(i,"i32")===1?"top":"inline",...e.FPDFAnnot_HasKey(r,"CO")?{offset:{along:Number(t.peek(a,"f32")),perpendicular:Number(t.peek(a,"f32",4))}}:{}}})}function Wh(e,t,r){return he(t,[4,4,8],([n,i,a])=>{if(!e.EPDFAnnot_GetShapeCaption(r,n,i,a))return;let o=!!t.peek(n,"i32"),s=!!t.peek(i,"i32");if(!(!e.EPDFAnnot_GetEmbedMetadataBoolean(r,"MeasurementCaption",n)&&!s))return{enabled:o,...s?{center:{x:Number(t.peek(a,"f32")),y:Number(t.peek(a,"f32",4))}}:{}}})}function jS(e,t,r){if(["LL","LLE","LLO"].some(n=>e.FPDFAnnot_HasKey(r,n)))return he(t,[4,4,4],([n,i,a])=>{if(e.EPDFAnnot_GetLineLeader(r,n,i,a))return{length:Number(t.peek(n,"f32")),extension:Number(t.peek(i,"f32")),offset:Number(t.peek(a,"f32"))}})}var KS={start:{x:0,y:0},end:{x:0,y:0}};function VS(e,t,r,n){let i=uh(e,t,r)??KS,a=Jc(e,t,r,[[i.start,i.end]]),o=vr(e,t,r),s=NS(e,t,r),A=jS(e,t,r);return{...n,richText:on(e,t,r),...lm(e,t,r),intent:TS(o),captionEnabled:s?.enabled??!1,captionPosition:s?.position??"inline",captionOffset:s?.offset??null,leader:A??null,subtype:"line",...Zc(e,t,r),linePoints:{start:fi(i.start,a),end:fi(i.end,a)},lineEndings:tm(e,t,r),rotation:a?.degrees??null}}function Uh(e,t,r,n){let i=n.page.objectNumber,a=n.kind==="xyz"?e.EPDFDest_CreateXYZByObjectNumber(r,i,n.left!=null,n.left??0,n.top!=null,n.top??0,n.zoom!=null,n.zoom??0):YS(e,t,r,i,n);if(!a)throw new g(f.NotFound,`destination page not found: pageObjectNumber=${i}`);return a}function YS(e,t,r,n,i){let a=(()=>{switch(i.kind){case"fitH":case"fitBH":return i.top!=null?[i.top]:[];case"fitV":case"fitBV":return i.left!=null?[i.left]:[];case"fitR":return[i.left,i.bottom,i.right,i.top];default:return[]}})(),o=E2[i.kind];return a.length?V(t,a.length*4,s=>{for(let A=0;A!o)){e.EPDFAnnot_SetEmbedMetadataNumber(r,mm,1);for(let[o,s]of a)s&&br(e,t,r,o,s)}}function br(e,t,r,n,i){let a=t.writeU16String(i);try{e.EPDFAnnot_SetEmbedMetadataString(r,n,a)}finally{t.free(a)}}var Il="AppearanceFit",sx=["contain","cover","fill"];function fm(e,t,r){let n=Da(e,t,r,Il);return n!==void 0&&sx.includes(n)?n:null}function gm(e,t,r,n){if(n===null){e.EPDFAnnot_ClearEmbedMetadataKey(r,Il);return}e.EPDFAnnot_HasEmbedMetadata(r)||e.EPDFAnnot_SetEmbedMetadataNumber(r,"SchemaVersion",1),br(e,t,r,Il,n)}function Ax(e,t,r,n){return{...n,richText:on(e,t,r),subtype:"stamp",name:im(e,t,r),fit:fm(e,t,r),opacity:Fr(e,t,r)??1,...Ha(e,t,r)}}var r3={review:"Review",marked:"Marked"},i3={accepted:"Accepted",rejected:"Rejected",cancelled:"Cancelled",completed:"Completed",none:"None",marked:"Marked",unmarked:"Unmarked"},cx=s3(r3),dx=s3(i3);function a3(e){return r3[e]??e}function ux(e){return cx[e]??e}function o3(e){return i3[e]??e}function px(e){return dx[e]??e}function s3(e){return Object.fromEntries(Object.entries(e).map(([t,r])=>[r,t]))}var lx="#ffff00",mx="note";function wx(e,t,r,n){let i=Un(e,t,r)??lx,a=Fr(e,t,r),o=a==null?1:Math.max(0,Math.min(1,a)),s=bS[im(e,t,r)??""]??mx,A=Yn(e,t,r,"State"),d=Yn(e,t,r,"StateModel");return{...n,richText:on(e,t,r),subtype:"text",icon:s,open:ws(e,t,r,"Open")??bx(e,t,r)??!1,color:i,opacity:o,state:A===null?null:px(A),stateModel:d===null?null:ux(d)}}function bx(e,t,r){let n=e.FPDFAnnot_GetLinkedAnnot(r,"Popup");if(!n)return null;try{return ws(e,t,n,"Open")}finally{e.FPDFPage_CloseAnnot(n)}}var fx="#ffff00",gx="#000000";function $c(e,t,r,n=gx){let i=Un(e,t,r)??n,a=Fr(e,t,r);return{color:i,opacity:a==null?1:Math.max(0,Math.min(1,a)),quadPoints:rm(e,t,r),richText:on(e,t,r)}}function Fx(e,t,r,n){let i=$c(e,t,r,fx);return{...n,subtype:"highlight",...i}}function vx(e,t,r,n){let i=$c(e,t,r);return{...n,subtype:"underline",...i}}function Px(e,t,r,n){let i=$c(e,t,r);return{...n,subtype:"squiggly",...i}}function hx(e,t,r,n){let i=$c(e,t,r),a=cS(vr(e,t,r));return{...n,subtype:"strikeout",intent:a,...i}}function kx(e,t,r,n,i){let a=Yn(e,t,r,"Subtype");return{...n,subtype:"unsupported",rawSubtypeCode:i,rawSubtypeName:a}}function A3(e,t,r){let n=ch(e,t,r),i=Jc(e,t,r,[n]),a=Wh(e,t,r);return{vertices:n.map(o=>fi(o,i)),rotation:i?.degrees??null,captionEnabled:a?.enabled??null,captionCenter:a?.center?fi(a.center,i):null}}function Dx(e,t,r,n){let{captionEnabled:i,captionCenter:a,...o}=A3(e,t,r),s=vr(e,t,r);return{...n,richText:on(e,t,r),...lm(e,t,r),captionEnabled:i,captionCenter:a,intent:MS(s),subtype:"polygon",...Zc(e,t,r),...o,cloudyIntensity:em(e,t,r)}}function Bx(e,t,r,n){let{captionEnabled:i,captionCenter:a,...o}=A3(e,t,r),s=vr(e,t,r);return{...n,richText:on(e,t,r),...lm(e,t,r),captionEnabled:i,captionCenter:a,intent:LS(s),subtype:"polyline",...Zc(e,t,r),...o,lineEndings:tm(e,t,r)}}var Ex=0,_x=1,yx=0,sl=4;function Dv(e,t,r,n){return he(t,[sl,sl,sl],([i,a,o])=>e.EPDFAnnot_GetMKColor(r,n,i,a,o)?Qi(_e(t,i)&255,_e(t,a)&255,_e(t,o)&255):null)}function c3(e,t){return xi(-e.EPDFAnnot_GetMKRotation(t))||null}function Gx(e,t,r,n,i,a){let o=pm(e,t,r),s=xa(e,t,r),A=Wc(e,t,r),d=a?.fonts,p=c3(e,r);return{...n,box:Ir(n.rect,p??0),rotation:p,groupId:null,userId:null,createdBy:null,modifiedBy:null,importedBy:null,subtype:"widget",color:Dv(e,t,r,Ex),interiorColor:Dv(e,t,r,_x),strokeWidth:o.strokeWidth,borderStyle:Lh(Xc(e,t,r).styleCode),dashArray:o.dashArray,fontFamily:A?zc(e,t,r,A,d):null,fontSize:s?s.fontSize:null,fontColor:s?s.color:null,textAlign:cm(nm(e,r)),caption:we(t,(m,F)=>e.EPDFAnnot_GetMKText(r,yx,m,F)),checkStyle:null,field:null,fieldKind:"unknown",hasMark:fm(e,t,r)!==null}}var Bv={highlight:Fx,underline:vx,squiggly:Px,strikeout:hx,circle:tx,square:nx,polygon:Dx,polyline:Bx,line:VS,link:XS,ink:OS,"free-text":IS,caret:uS,text:wx,stamp:Ax,"file-attachment":vS,widget:Gx,redact:ex,popup:zS,unsupported:kx};function d3(e){let t=Yr(e),r=Bv[t];return r?{reader:r,subtype:t}:{reader:Bv.unsupported,subtype:"unsupported"}}var Cx="SchemaVersion",u3="GroupID",Fm="CreatedBy",vm="CreatedAt",ed="FilledBy",td="FilledByName",nd="FilledAt",Pm="ImportedBy",Ix={createdBy:null,createdAt:null,filledBy:null,filledByName:null,filledAt:null,importedBy:null};function Sx(e,t,r){let{fn:n,mem:i}=e;if(!n.EPDFForm_HasFieldEmbedMetadata(t,r))return Ix;let a=s=>we(i,(A,d)=>n.EPDFForm_GetFieldEmbedMetadataString(t,r,s,A,d),null),o=s=>{let A=a(s);return A===null?null:Xn(A)};return{createdBy:a(Fm),createdAt:o(vm),filledBy:a(ed),filledByName:a(td),filledAt:o(nd),importedBy:a(Pm)}}function hm(e,t,r){let{fn:n,mem:i}=e;return n.EPDFForm_HasFieldEmbedMetadata(t,r)?we(i,(a,o)=>n.EPDFForm_GetFieldEmbedMetadataString(t,r,u3,a,o),null):null}function Ev(e,t,r,n){Bs(e,t,r,[[u3,n]])}function xx(e,t,r,n,i=new Date){n.userId&&Bs(e,t,r,[[Fm,n.userId],[vm,ft(i)]])}function Hx(e,t,r,n,i=new Date){if(!n.userId){p3(e,t,r);return}Bs(e,t,r,[[ed,n.userId],[td,n.displayName??null],[nd,ft(i)]])}function Ox(e,t,r,n,i){Bs(e,t,r,[[Fm,n.createdBy],[vm,n.createdAt?ft(n.createdAt):null],[Pm,i]])}function _v(e,t,r,n,i){Bs(e,t,r,[[ed,n.filledBy],[td,n.filledByName],[nd,n.filledAt?ft(n.filledAt):null],[Pm,i]])}function p3(e,t,r){for(let n of[ed,td,nd])l3(e,t,r,n)}function Bs(e,t,r,n){let{fn:i,mem:a}=e;if(!i.EPDFForm_SetFieldEmbedMetadataNumber(t,r,Cx,1))throw Sl(r);for(let[o,s]of n){if(s===null){l3(e,t,r,o);continue}let A=a.writeU16String(s);try{if(!i.EPDFForm_SetFieldEmbedMetadataString(t,r,o,A))throw Sl(r)}finally{a.free(A)}}}function l3(e,t,r,n){if(!e.fn.EPDFForm_ClearFieldEmbedMetadataKey(t,r,n))throw Sl(r)}function Sl(e){return new g(f.Unknown,`the metadata of field ${e} could not be written`)}var km={0:"unknown",1:"pushbutton",2:"checkbox",3:"radio",4:"text",5:"combobox",6:"listbox",7:"signature"},Qx={0:"none",1:"acroform",2:"xfa"},Rx=1,Tx=2,Mx=4,Lx=4096,Nx=8192,jx=16384,Kx=1<<18,Vx=1<<21,Yx=1<<24,Xx=1<<25;function fs(e,t){return we(e.mem,t)??""}function yv(e,t){return we(e.mem,t,null)}function m3(e,t,r,n){let{fn:i}=e;return Gt(i.EPDFForm_GetFieldWidgetObjNum(t,r,n),Dm(i.EPDFForm_GetFieldWidgetPageObjNum(t,r,n)))}function Gv(e,t,r){let{fn:n}=e,i=n.EPDFForm_CountFieldWidgets(t,r),a=[];for(let o=0;on.EPDFForm_GetFieldWidgetOnState(t,r,o,s,A))??"",exportValue:fs(e,(s,A)=>n.EPDFForm_GetFieldWidgetExportValue(t,r,o,s,A)),checked:n.EPDFForm_IsFieldWidgetChecked(t,r,o)});return a}function ts(e,t,r){let n=e.fn.EPDFForm_CountFieldWidgets(t,r),i=[];for(let a=0;an.EPDFForm_GetFieldOptionLabel(t,r,o,s,A)),value:fs(e,(s,A)=>n.EPDFForm_GetFieldOptionValue(t,r,o,s,A)),selected:n.EPDFForm_IsFieldOptionSelected(t,r,o)});return a}function tt(e,t,r,n,i=new vi){let{fn:a}=e,o=a.EPDFForm_GetFieldObjNum(t,r),s=fs(e,(y,x)=>a.EPDFForm_GetFieldName(t,r,y,x)),A=a.EPDFForm_GetFieldFlags(t,r),d=km[a.EPDFForm_GetFieldFamily(t,r)]??"unknown",p=Iv(e,t,r,!1),m=Iv(e,t,r,!0),F=Ux(e,t,r,n,i),k={ref:o>0?{kind:"objectNumber",objectNumber:o}:{kind:"fqn",name:s},name:s,kind:d,origin:a.EPDFForm_GetFieldOrigin(t,r)===1?"recovered":"acroform",readOnly:(A&Rx)!==0,required:(A&Tx)!==0,noExport:(A&Mx)!==0,alternateName:yv(e,(y,x)=>a.EPDFForm_GetFieldAlternateName(t,r,y,x)),mappingName:yv(e,(y,x)=>a.EPDFForm_GetFieldMappingName(t,r,y,x)),valueEntry:p,defaultValueEntry:m,...F?{actions:F}:{},groupId:hm(e,t,r),...Sx(e,t,r),widgets:[]},P=Al(p),B=Al(m);switch(d){case"text":{let y=a.EPDFForm_GetFieldMaxLen(t,r);return{...k,kind:d,value:P,defaultValue:B,maxLength:y>0?y:null,multiline:(A&Lx)!==0,password:(A&Nx)!==0,comb:(A&Yx)!==0,widgets:ts(e,t,r)}}case"checkbox":{let y=Gv(e,t,r);return{...k,kind:d,checked:y.some(x=>x.checked),exportValue:y[0]?.exportValue??"Yes",widgets:y}}case"radio":{let y=Gv(e,t,r);return{...k,kind:d,value:y.find(x=>x.checked)?.exportValue??"Off",radiosInUnison:(A&Xx)!==0,noToggleToOff:(A&jx)!==0,widgets:y}}case"combobox":return{...k,kind:d,value:P,defaultValue:B,edit:(A&Kx)!==0,options:Cv(e,t,r),widgets:ts(e,t,r)};case"listbox":{let y=Cv(e,t,r);return{...k,kind:d,selectedValues:y.filter(x=>x.selected).map(x=>x.value),defaultValue:Wx(m),multiSelect:(A&Vx)!==0,options:y,topIndex:SA(a.EPDFForm_GetFieldTopIndex(t,r),y),widgets:ts(e,t,r)}}case"pushbutton":case"signature":return{...k,kind:d,widgets:ts(e,t,r)};default:return{...k,kind:"unknown",rawValue:p.kind==="array"?p.values.join(","):Al(p),widgets:ts(e,t,r)}}}function w3(e,t,r){let{fn:n}=e,i=n.EPDFForm_CountFields(t),a=[],o=new vi;for(let d=0;d=0&&pn?i.EPDFForm_GetFieldDefaultValueAt(t,r,A,d,p):i.EPDFForm_GetFieldValueAt(t,r,A,d,p)));return a===1?{kind:"scalar",value:s[0]??""}:{kind:"array",values:s}}function Al(e){return e.kind==="scalar"?e.value:e.kind==="array"?e.values[0]??"":""}function Wx(e){return e.kind==="scalar"?[e.value]:e.kind==="array"?[...e.values]:[]}function Ux(e,t,r,n,i){let{fn:a,mem:o}=e,s=[["keystroke",0],["format",1],["validate",2],["calculate",3]],A={};for(let[d,p]of s){let m=fr(a,o,n,a.EPDFForm_GetFieldActionModel(t,r,p),i);m&&(A[d]=m)}return Object.keys(A).length>0?A:void 0}function Dm(e){return e>0?pe(e):null}var xl={check:"4",cross:"8",star:"H",circle:"l",square:"n",diamond:"u"},qx=e=>xl[e];function zx(e){return Object.keys(xl).find(t=>e?.[0]===xl[t])??null}var Zx=0;function Jx(e,t,r){if(r<=0)return 0;let n=Ee(e,t),i=e.fn.EPDFForm_GetFieldIndexForWidget(n,r);return i<0?0:e.fn.EPDFForm_GetFieldObjNum(n,i)}function gs(e,t,r){for(let n of r){if(n.subtype!=="widget")continue;if(n.ref.kind!=="objectNumber"){n.caption=null,n.hasMark=!1;continue}let i=Ee(e,t),a=e.fn.EPDFForm_GetFieldIndexForWidget(i,n.ref.objectNumber),o=a<0?0:e.fn.EPDFForm_GetFieldObjNum(i,a);if(o<=0){n.field=null,n.fieldKind="unknown",n.caption=null,n.hasMark=!1;continue}n.field={kind:"objectNumber",objectNumber:o},n.fieldKind=km[e.fn.EPDFForm_GetFieldFamily(i,a)]??"unknown",(n.fieldKind==="checkbox"||n.fieldKind==="radio")&&(n.checkStyle=zx(n.caption??null)),n.fieldKind!=="pushbutton"&&(n.caption=null),n.hasMark=n.fieldKind==="signature"&&(n.hasMark||e.fn.EPDFForm_GetFieldValueKind(i,a)!==Zx)}}function Bm(e){return e===L.WIDGET?"widgets":"annotations"}function $x(e){switch(e){case"normal":return 0;case"multiply":return 1;case"screen":return 2;case"overlay":return 3;case"darken":return 4;case"lighten":return 5;case"color-dodge":return 6;case"color-burn":return 7;case"hard-light":return 8;case"soft-light":return 9;case"difference":return 10;case"exclusion":return 11;case"hue":return 12;case"saturation":return 13;case"color":return 14;case"luminosity":return 15}}function b3(e){switch(e){case 1:return"multiply";case 2:return"screen";case 3:return"overlay";case 4:return"darken";case 5:return"lighten";case 6:return"color-dodge";case 7:return"color-burn";case 8:return"hard-light";case 9:return"soft-light";case 10:return"difference";case 11:return"exclusion";case 12:return"hue";case 13:return"saturation";case 14:return"color";case 15:return"luminosity";default:return"normal"}}var eH=0;function f3(e,t,r,n,i,a,o=new vi){let s=pe(i),A=ks(e,t,n),d=jI(e,n),p=Yn(e,t,n,"Contents"),m=p===null?null:tr(p,` -`),F=Yn(e,t,n,"Subj"),k=Yn(e,t,n,"T"),P=Yn(e,t,n,"CreationDate"),B=Yn(e,t,n,"M"),y=b3(e.EPDFAnnot_GetBlendMode(n)),x=_S(e,t,n),I=qS(e,t,r,n,i),S=Jh(e,t,r,n,"Popup",i),G=tH(e,t,r,n,o);return{ref:Sa(e,t,r,s,n,a),page:s,hasAppearance:e.EPDFAnnot_HasAppearanceStream(n,eH),appearanceState:ph(e,t,n),structurePosition:UI(e,t,n),nm:Yn(e,t,n,"NM"),...d,rect:A,contents:m,subject:F,author:k,createdAt:P?Xn(P):null,modifiedAt:B?Xn(B):null,blendMode:y,reply:I.inReplyTo?{to:I.inReplyTo,type:I.replyType??"reply"}:null,popup:S,groupId:x?.groupId??null,userId:x?.userId??null,createdBy:x?.createdBy??null,modifiedBy:x?.modifiedBy??null,importedBy:x?.importedBy??null,actions:G??null}}function tH(e,t,r,n,i){let a=[["activate",0],["cursorEnter",1],["cursorExit",2],["mouseDown",3],["mouseUp",4],["focus",5],["blur",6],["pageOpen",7],["pageClose",8],["pageVisible",9],["pageInvisible",10]],o={};for(let[s,A]of a){let d=fr(e,t,r,e.EPDFAnnot_GetActionModel(n,A),i);d&&(o[s]=d)}return Object.keys(o).length>0?o:void 0}function g3(e){let{runtime:t,session:r,pageObjectNumber:n,count:i,getAnnotPtrAt:a,signal:o,fonts:s,family:A}=e,{fn:d,mem:p}=t,m=[],F=new vi,k=ms(r,s);for(let P=0;PA?V(this.runtime.mem,16,B=>(OP(this.runtime.mem,B,A.box),p.EPDF_RenderAnnotBitmapUnrotated(k,e,t,r,n,Uc(A.rotation),B,P,16))):p.EPDF_RenderAnnotBitmap(k,e,t,r,n,P,16)})}},Ol=Hl[0];function aH(e,t,r){return V(t,16,n=>e.EPDFAnnot_GetDrawingRect(r,Ol.modeInt,n)?Ce(Gn(t,n)):null)}function oH(e){let t=au(e);return t?Hl.filter(r=>t.includes(r.name)):Hl}var sH=8,F3=[{draw:"",label:null}];function AH(e,t,r,n){let i=qI(e,t,r,n);return i.length===0?F3:i.length>sH?[{draw:"",label:ph(e,t,r)}]:i.map(a=>({draw:a,label:a}))}function cH(e,t,r){if(e===void 0||e.kind==="scale")return dH(e?.scale);let n=r===90||r===270?t.height:t.width;if(!Number.isFinite(e.width)||e.width<=0||!(n>0))throw new g(f.InvalidArg,"render viewport width must be positive");return e.width/n}function dH(e){return e===void 0||!Number.isFinite(e)||e<=0?1:e}var rd=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}list(e,t,r){O(t),e===void 0&&(this.session.ensureFullPageRegistry(),e=this.session.allRecords().map(i=>i.pageObjectNumber));let n=[];for(let i of e)O(t),n.push(this.listOne(i,t,r));return ep(n)}listOne(e,t,r){O(t);let{fn:n}=this.runtime,i=this.session.requireDocPtr(),a=this.session.recordByObjectNumber(e),o=n.EPDFPage_GetAnnotCountRaw(i,a.pageIndex);if(o<0)throw new g(f.Unknown,`EPDFPage_GetAnnotCountRaw returned ${o} for page ${e}`);return g3({runtime:this.runtime,session:this.session,pageObjectNumber:e,count:o,getAnnotPtrAt:s=>n.EPDFPage_GetAnnotRaw(i,a.pageIndex,s),signal:t,...this.fonts?{fonts:this.fonts}:{},...r?{family:r}:{}})}},uH=1,pH=8;function Em(e,t,r,n){return he(t,[32,pH],([i,a])=>{if(t.poke(a,"i32",32,0),t.poke(a,"i32",0,4),!e.EPDF_DigestBuffer(r,n,uH,i,a))throw new g(f.Unknown,"EPDF_DigestBuffer returned false");let o="";for(let s of t.readBytes(i,32))o+=s.toString(16).padStart(2,"0");return o})}function _m(e,t,r){let n=t.alloc(Math.max(1,r.byteLength));try{return t.writeBytes(n,r),Em(e,t,n,r.byteLength)}finally{t.free(n)}}var lH=2,mH=8,wH=14400;function bH(e,t,r,n,i,a){let o=n.hashes.get(i),s=o===void 0?void 0:n.bySource.get(o);if(s!==void 0)return s;let A=t.alloc(i.byteLength);try{t.writeBytes(A,new Uint8Array(i));let d=o??Em(e,t,A,i.byteLength);n.hashes.set(i,d);let p=n.bySource.get(d);if(p!==void 0)return p;let m=gH(e,t,A,i.byteLength,a,F=>e.EPDFDoc_CanonicalDrawing(F,0));if(!m)throw new g(f.Unknown,"EPDFDoc_CanonicalDrawing returned NULL");try{let F=v3(e,t,m),k=fH(e,t,r,n),P=k.get(F);if(P===void 0){if(P=e.EPDFDoc_ImportDrawing(r,m),!P)throw new g(f.Unknown,"EPDFDoc_ImportDrawing returned 0");k.set(F,P)}return n.bySource.set(d,P),P}finally{e.FPDF_CloseDocument(m)}}finally{t.free(A)}}function fH(e,t,r,n){if(n.byContent)return n.byContent;let i=new Map,a=e.EPDFDoc_GetStampDrawings(r,Y,0),o=a>0?V(t,4*a,s=>(e.EPDFDoc_GetStampDrawings(r,s,a),Array.from({length:a},(A,d)=>Number(t.peek(s,"i32",4*d))>>>0))):[];for(let s of o){let A=e.EPDFDoc_ExportDrawing(r,s);if(A)try{let d=v3(e,t,A);i.has(d)||i.set(d,s)}finally{e.FPDF_CloseDocument(A)}}return n.byContent=i,i}function v3(e,t,r){return V(t,mH,n=>{t.poke(n,"i32",0,0),t.poke(n,"i32",0,4);let i=e.EPDF_SaveDocumentToOwnedBuffer(r,lH,n),a=Number(t.peek(n,"i32",0));if(!i||a<=0)throw i&&e.EPDF_FreeBuffer(i),new g(f.Unknown,"failed to save a stamp drawing");try{return Em(e,t,i,a)}finally{e.EPDF_FreeBuffer(i)}})}function P3(e,t,r){let n=t.alloc(r.byteLength);try{t.writeBytes(n,new Uint8Array(r));let i=e.FPDF_LoadMemDocument(n,r.byteLength,"");if(!i)return null;try{return e.FPDF_GetPageCount(i)}finally{e.FPDF_CloseDocument(i)}}finally{t.free(n)}}function gH(e,t,r,n,i,a){if(i.mimeType==="application/pdf"){let o=e.FPDF_LoadMemDocument(r,n,"");if(!o)throw new g(f.MalformedPdf,"the stamp's appearance PDF could not be opened");try{return a(o)}finally{e.FPDF_CloseDocument(o)}}return FH(e,t,r,n,i,a)}function FH(e,t,r,n,i,a){if(!("width"in i))throw new g(f.InvalidArg,"the stamp image has no size");let o=Math.min(1,wH/Math.max(i.width,i.height)),s=i.width*o,A=i.height*o,d=e.FPDF_CreateNewDocument();if(!d)throw new g(f.Unknown,"FPDF_CreateNewDocument returned NULL");try{let p=e.FPDFPage_New(d,0,s,A);if(!p)throw new g(f.Unknown,"FPDFPage_New returned NULL");try{let m=e.FPDFPageObj_NewImageObj(d);if(!m)throw new g(f.Unknown,"FPDFPageObj_NewImageObj returned NULL");let F=!1;try{if(!(i.mimeType==="image/png"?e.EPDFImageObj_SetPng(Y,0,m,r,n):e.EPDFImageObj_SetJpeg(Y,0,m,r,n)))throw new g(f.InvalidArg,`${i.mimeType==="image/png"?"EPDFImageObj_SetPng":"EPDFImageObj_SetJpeg"} rejected the image data`);vH(e,t,m,s,A),e.FPDFPage_InsertObject(p,m),F=!0}finally{F||e.FPDFPageObj_Destroy(m)}if(!e.FPDFPage_GenerateContent(p))throw new g(f.Unknown,"FPDFPage_GenerateContent returned false")}finally{e.FPDF_ClosePage(p)}return a(d)}finally{e.FPDF_CloseDocument(d)}}function vH(e,t,r,n,i){V(t,24,a=>{if(t.poke(a,"f32",n,0),t.poke(a,"f32",0,4),t.poke(a,"f32",0,8),t.poke(a,"f32",i,12),t.poke(a,"f32",0,16),t.poke(a,"f32",0,20),!e.FPDFPageObj_SetMatrix(r,a))throw new g(f.Unknown,"FPDFPageObj_SetMatrix returned false")})}function qe(e,t,r,n=Ne.Color){let{r:i,g:a,b:o}=Qn(r);if(!e.EPDFAnnot_SetColor(t,n,i,a,o))throw new g(f.Unknown,"EPDFAnnot_SetColor returned false")}function Es(e,t,r){e.EPDFAnnot_ClearColor(t,r)}function PH(e,t,r=Ne.Color){if(!e.EPDFAnnot_SetNoColor(t,r))throw new g(f.Unknown,"EPDFAnnot_SetNoColor returned false")}function nt(e,t,r){if(!e.EPDFAnnot_SetOpacity(t,r))throw new g(f.Unknown,"EPDFAnnot_SetOpacity returned false")}function ym(e,t,r){let n=NI(e.FPDFAnnot_GetFlags(t),r);if(!e.FPDFAnnot_SetFlags(t,n))throw new g(f.Unknown,"FPDFAnnot_SetFlags returned false")}function rt(e,t,r,n){let i=t.alloc(16);try{if(t.poke(i,"f32",n.left,0),t.poke(i,"f32",n.top,4),t.poke(i,"f32",n.right,8),t.poke(i,"f32",n.bottom,12),!e.EPDFAnnot_SetRect(r,i))throw new g(f.Unknown,"EPDFAnnot_SetRect returned false")}finally{t.free(i)}}function gr(e,t,r,n,i){let a=t.writeU16String(i);try{e.FPDFAnnot_SetStringValue(r,n,a)}finally{t.free(a)}}function Ca(e,t,r,n,i){if(i===null){e.EPDFAnnot_RemoveKey(r,n);return}gr(e,t,r,n,i)}function h3(e,t,r,n){if(!e.EPDFAnnot_SetBorderStyle(t,r,n))throw new g(f.Unknown,"EPDFAnnot_SetBorderStyle returned false")}function Gm(e,t,r,n){let i=t.alloc(n.length*4);try{for(let a=0;aTe({x:i.x+r,y:i.y+n},{x:t[a].x,y:t[a].y}))?{dx:r,dy:n}:void 0}function Om(e,t,r,{dx:n,dy:i}){let a=Ce(ks(e,t,r));rt(e,t,r,{left:a.left+n,bottom:a.bottom+i,right:a.right+n,top:a.top+i})}var Qm="Rotation",Rm="UnrotatedRect";function x3(e,t){e.EPDFAnnot_HasEmbedMetadata(t)||e.EPDFAnnot_SetEmbedMetadataNumber(t,"SchemaVersion",1)}function H3(e,t,r){x3(e,t),e.EPDFAnnot_SetEmbedMetadataNumber(t,Qm,Uc(r))}var BH=new Set([90,180,270]);function EH(e,t,r){let n=e.FPDFAnnot_GetSubtype(t);r!==null&&(n===L.STAMP||n===L.FREETEXT&&BH.has(r))?e.EPDFAnnot_SetRotate(t,Uc(r)):(n===L.STAMP||n===L.FREETEXT)&&e.EPDFAnnot_SetRotate(t,0)}function O3(e,t,r,n){x3(e,r);let i=t.alloc(16);try{t.poke(i,"f32",n.left,0),t.poke(i,"f32",n.top,4),t.poke(i,"f32",n.right,8),t.poke(i,"f32",n.bottom,12),e.EPDFAnnot_SetEmbedMetadataRect(r,Rm,i)}finally{t.free(i)}}function Tm(e,t,r,n){n?(H3(e,r,n.rotation),O3(e,t,r,n.box)):(e.EPDFAnnot_ClearEmbedMetadataKey(r,Qm),e.EPDFAnnot_ClearEmbedMetadataKey(r,Rm)),EH(e,r,n?.rotation??null)}function _H(e,t,r){if(!sS(e,r))return;let n=qc(e,t,r);oS(n,aS(e,t,r))||(n?(H3(e,r,n.rotation),O3(e,t,r,n.box)):(e.EPDFAnnot_ClearEmbedMetadataKey(r,Qm),e.EPDFAnnot_ClearEmbedMetadataKey(r,Rm)))}var Q3=e=>e||null,Sv=e=>(e%360+360)%360;function yH(e,t){return e===null||t===null?e===t:Te(Sv(e),Sv(t))}function Ia(e,t,r,n){let i=Ce(n.box),a=Q3(n.rotation);Tm(e,t,r,a===null?null:{rotation:a,box:i}),rt(e,t,r,a===null?i:wn(i,a)),hH(e,r)}function ad(e,t,r,n){if(n.box===void 0&&n.rotation===void 0)return!1;let i=Ha(e,t,r),a=Ce(n.box??i.box),o=n.rotation===void 0?i.rotation:Q3(n.rotation),s=yH(o,i.rotation);if(s&&Te(a,i.box))return!1;let A=a.right-a.left,d=a.top-a.bottom;return s&&Te(A,i.box.right-i.box.left)&&Te(d,i.box.top-i.box.bottom)?(Om(e,t,r,{dx:a.left-i.box.left,dy:a.bottom-i.box.bottom}),o!==null&&Tm(e,t,r,{rotation:o,box:a}),!0):(Ia(e,t,r,{box:a,rotation:o}),!0)}var xv=ut.caret;function GH(e,t,r,n){At(e,t,r,n),Ia(e,t,r,{box:n.box,rotation:n.rotation??null}),qe(e,r,n.color??xv.color),nt(e,r,n.opacity??xv.opacity),n.intent!=null&&Ra(e,r,Fh(n.intent))}function CH(e,t,r,n){ct(e,t,r,n),ad(e,t,r,n),n.color!==void 0&&qe(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),n.intent!==void 0&&xm(e,r,n.intent===null?null:Fh(n.intent))}function R3(e){return e==="caret"}var cl=ut["file-attachment"];function IH(e,t){if(L3(t),Lm(t),!e.file?.name)throw new g(f.InvalidArg,"a file attachment needs the file's name: give file.name, or the bytes as a File",{details:{field:"file.name"}})}function SH(e,t,r,n,i){At(e,t,r,n),rt(e,t,r,n.rect),qe(e,r,n.color??cl.color),nt(e,r,n.opacity??cl.opacity),T3(e,r,n.icon??cl.icon);let a=n.file;sm(e,t,M3(e,t,r,a.name),Lm(i),QH(a),{bytes:L3(i)})}function xH(e,t,r,n,i){ct(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.color!==void 0&&qe(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),n.icon!==void 0&&T3(e,r,n.icon),HH(e,t,r,n.file,i)}function Mm(e){return e==="file-attachment"}function HH(e,t,r,n,i){let a=i?.resources?.file;if(n===void 0&&a===void 0)return;let o=e.EPDFAnnot_GetFileAttachmentForWrite(r);if(n===null){if(o)throw new g(f.InvalidArg,"a file attachment's file can't be removed");if(a===void 0)return}let s=o?_a(e,t,o):null;if(!o){if(!n||a===void 0)throw new g(f.InvalidArg,"the file attachment has no file: send the file's name as `file` and its bytes as the `file` resource");o=M3(e,t,r,n.name)}let A=n?n.mimeType??null:s?.mimeType??null;if(a!==void 0?sm(e,t,o,Lm(i),{mimeType:A},{bytes:a}):A!==(s?.mimeType??null)&&OH(e,o,A),!!n){if(s!==null&&n.name!==s.name&&!Kt(t,n.name,d=>e.EPDFAttachment_SetName(o,d)))throw new g(f.Unknown,"EPDFAttachment_SetName returned false");if((n.description??null)!==(s?.description??null)&&!Kt(t,n.description??"",d=>e.EPDFAttachment_SetDescription(o,d)))throw new g(f.Unknown,"EPDFAttachment_SetDescription returned false")}}function OH(e,t,r){if(!e.EPDFAttachment_SetSubtype(t,r??""))throw new g(f.InvalidArg,"the file attachment's file has no embedded data to give a MIME type")}function T3(e,t,r){if(!e.EPDFAnnot_SetName(t,Bh[r]))throw new g(f.Unknown,"EPDFAnnot_SetName returned false")}function M3(e,t,r,n){let i=t.writeU16String(n),a;try{a=e.FPDFAnnot_AddFileAttachment(r,i)}finally{t.free(i)}if(!a)throw new g(f.Unknown,"FPDFAnnot_AddFileAttachment returned NULL");return a}function QH(e){return{...e.mimeType!=null?{mimeType:e.mimeType}:{},...e.description!=null?{description:e.description}:{}}}function L3(e){let t=e?.resources?.file;if(t===void 0)throw new g(f.InvalidArg,"creating a file-attachment annotation needs its 'file' resource");return t}function Lm(e){if(e?.docPtr===void 0)throw new g(f.Unknown,"file-attachment writer requires docPtr on the write context");return e.docPtr}function _s(e,t,r,n,i,a){if(kS(r)){Sm(e,t,hS(r),n,i);return}if(a?.resolveRegisteredFontId&&a.describeRegisteredFont?.(r)){kH(e,t,a.resolveRegisteredFontId(r),n,i);return}let o=a?.resolveDocumentFont?.(r);if(o){if(!o.choosable)throw new g(f.InvalidArg,`'${r}' can't be chosen for new text (${o.restrictions.join(", ")})`,{details:{field:"fontFamily",restrictions:o.restrictions}});DH(e,t,o.objectNumber,n,i);return}throw new g(f.InvalidArg,`fontFamily '${r}' is not a standard font, one of the engine's fonts or one of the document's`,{details:{field:"fontFamily"}})}function N3(e,t,r,n){let i=ut[n.subtype];j3(e,r,n.color===void 0?i.color:n.color),nt(e,r,n.opacity??i.opacity),K3(e,t,r,n)}function j3(e,t,r){r===null?PH(e,t):qe(e,t,r)}function K3(e,t,r,n){let i=ut[n.subtype];h3(e,r,dm(n.borderStyle??i.borderStyle),n.strokeWidth??i.strokeWidth),n.dashArray!=null&&n.dashArray.length>0&&Gm(e,t,r,n.dashArray)}function V3(e,t,r,n){n.color!==void 0&&j3(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),Y3(e,t,r,n)}function Y3(e,t,r,n){if(n.borderStyle!==void 0||n.strokeWidth!==void 0){let i=Xc(e,t,r),a=n.borderStyle??um(i.styleCode),o=n.strokeWidth??i.width;h3(e,r,dm(a),o)}n.dashArray===null||n.dashArray?.length===0?k3(e,r):n.dashArray!==void 0&&Gm(e,t,r,n.dashArray)}function od(e,t,r,n){let i=n.interiorColor??null;i===null?Es(e,r,Ne.InteriorColor):qe(e,r,i,Ne.InteriorColor),N3(e,t,r,n)}function sd(e,t,r,n){n.interiorColor!==void 0&&(n.interiorColor===null?Es(e,r,Ne.InteriorColor):qe(e,r,n.interiorColor,Ne.InteriorColor)),V3(e,t,r,n)}var $t=ut["free-text"];function X3(e,t,r,n,i){let a=zP(r,{describe:n?.describeFont,programOf:n?.documentProgramOf,bodyProgram:i===void 0?void 0:n?.documentProgramOf?.(i)});if(!e.EPDFAnnot_SetRichTextJSON(t,a))throw new g(f.InvalidArg,"rich text could not be written (empty rect, or a font resource could not be built)")}function W3(e,t,r){if(!e.EPDFAnnot_SetEmbedMetadataNumber(t,"VerticalAlignment",BS(r)))throw new g(f.Unknown,"EPDFAnnot_SetEmbedMetadataNumber returned false")}function RH(e,t,r,n,i){At(e,t,r,n),Ia(e,t,r,{box:n.box,rotation:n.rotation??null});let a=n.interiorColor??null;a===null?Es(e,r,Ne.Color):qe(e,r,a,Ne.Color),nt(e,r,n.opacity??$t.opacity),K3(e,t,r,n),n.cloudyIntensity!=null&&Oa(e,r,n.cloudyIntensity),_s(e,r,n.fontFamily??$t.fontFamily,n.fontSize??$t.fontSize,n.color??$t.color,i);let o=n.richText;id(e,r,Ds(o.body?.align??$t.textAlign)),Ra(e,r,_h(n.intent??$t.intent)),n.verticalAlign!==void 0&&n.verticalAlign!==$t.verticalAlign&&W3(e,r,n.verticalAlign),n.calloutLine!=null&&y3(e,t,r,n.calloutLine),n.lineEnding!=null&&Qa(e,r,{start:"none",end:n.lineEnding}),X3(e,r,o,i,n.fontFamily??$t.fontFamily)}function TH(e,t,r,n,i){if(ct(e,t,r,n),ad(e,t,r,n),n.interiorColor!==void 0&&(n.interiorColor===null?Es(e,r,Ne.Color):qe(e,r,n.interiorColor,Ne.Color)),n.opacity!==void 0&&nt(e,r,n.opacity),Y3(e,t,r,n),n.cloudyIntensity!==void 0&&(n.cloudyIntensity===null?Cm(e,r):Oa(e,r,n.cloudyIntensity)),n.color!==void 0){let a=xa(e,t,r);a?Sm(e,r,-1,a.fontSize>0?a.fontSize:$t.fontSize,n.color):_s(e,r,$t.fontFamily,$t.fontSize,n.color,i)}n.richText!==void 0&&X3(e,r,n.richText,i,n.fontFamily),n.textAlign!==void 0&&id(e,r,Ds(n.textAlign)),n.intent!==void 0&&Ra(e,r,_h(n.intent)),n.verticalAlign!==void 0&&W3(e,r,n.verticalAlign),n.calloutLine===null?e.EPDFAnnot_RemoveKey(r,"CL"):n.calloutLine!==void 0&&y3(e,t,r,n.calloutLine),n.lineEnding===null?e.EPDFAnnot_RemoveKey(r,"LE"):n.lineEnding!==void 0&&Qa(e,r,{start:"none",end:n.lineEnding})}function U3(e){return e==="free-text"}var q3=e=>e||null,Hv=e=>(e%360+360)%360;function z3(e,t,r,n,i){let a=n.flat(),o=i===null||a.length===0?null:Js(a,i);return Tm(e,t,r,o?{rotation:o.degrees,box:er(a)}:null),{drawn:n.map(s=>s.map(A=>o?xr(A,o):A)),turn:o}}function Ad(e,t,r,n,i){let a=z3(e,t,r,n,q3(i));return rt(e,t,r,er(a.drawn.flat())),a}function Nm(e,t,r){let n=SS(e,t,r),i=Jc(e,t,r,n);return{drawn:n,turn:i,upright:n.map(a=>a.map(o=>fi(o,i)))}}function jm(e,t,r,n,i,a){if(i===void 0&&a===void 0)return;let o=n.turn?.degrees??null,s=a===void 0?o:q3(a),A=Te(Hv(s??0),Hv(o??0));if(i===void 0&&A)return;let d=z3(e,t,r,i??n.upright,s),p=S3(n.drawn.flat(),d.drawn.flat());return p&&Om(e,t,r,p),d}function MH(e,t,r,n){At(e,t,r,n),n.intent!=null&&Ra(e,r,jh(n.intent)),N3(e,t,r,n),B3(e,t,r,Ad(e,t,r,n.inkList,n.rotation).drawn)}function LH(e,t,r,n){ct(e,t,r,n),n.intent!==void 0&&xm(e,r,n.intent===null?null:jh(n.intent)),V3(e,t,r,n);let i=jm(e,t,r,Nm(e,t,r),n.inkList,n.rotation);i&&B3(e,t,r,i.drawn)}function Z3(e){return e==="ink"}var NH=1;function ys(e,t,r,n){if(n.intent!==void 0&&(n.intent===null?e.EPDFAnnot_RemoveKey(r,"IT"):Le(e.EPDFAnnot_SetIntent(r,RS(n.intent)))),n.measure!==void 0)if(n.measure===null)Le(e.EPDFAnnot_RemoveMeasure(r));else{let i=e.EPDFAnnot_GetMeasure(r);i&&e.EPDFMeasure_GetSubtype(i)!==NH&&Le(e.EPDFAnnot_RemoveMeasure(r)),Xh(e,t,e.EPDFAnnot_AddMeasure(r),n.measure)}if(n.subtype==="line"){if(n.leader!==void 0&&Le(e.EPDFAnnot_SetLineLeader(r,n.leader?.length??0,n.leader?.extension??0,n.leader?.offset??0)),n.captionEnabled!==void 0){let i=n.captionOffset??null;Le(Cl(t,i?{x:i.along,y:i.perpendicular}:void 0,a=>e.EPDFAnnot_SetLineCaption(r,n.captionEnabled??!1,n.captionPosition==="top"?1:0,a)))}}else if(n.captionEnabled!==void 0)if(n.captionEnabled===null)e.EPDFAnnot_ClearEmbedMetadataKey(r,"MeasurementCaption"),e.EPDFAnnot_ClearEmbedMetadataKey(r,"MeasurementCaptionCenter");else{let i=n.captionEnabled;Le(Cl(t,("captionCenter"in n?n.captionCenter:null)??void 0,a=>e.EPDFAnnot_SetShapeCaption(r,i,a)))}}function jH(e,t,r,n){At(e,t,r,n),ys(e,t,r,n),od(e,t,r,n);let{start:i,end:a}=n.linePoints,[o]=Ad(e,t,r,[[i,a]],n.rotation).drawn;D3(e,t,r,{start:o[0],end:o[1]}),Qa(e,r,n.lineEndings??ut.line.lineEndings)}function KH(e,t,r,n){ct(e,t,r,n),ys(e,t,r,n),sd(e,t,r,n);let i=n.linePoints&&[[n.linePoints.start,n.linePoints.end]],a=jm(e,t,r,Nm(e,t,r),i,n.rotation);if(a){let[o]=a.drawn;D3(e,t,r,{start:o[0],end:o[1]})}n.lineEndings!==void 0&&Qa(e,r,n.lineEndings)}function J3(e){return e==="line"}function VH(e,t,r,n,i){if(At(e,t,r,n),rt(e,t,r,n.rect),!e.FPDFAnnot_SetBorder(r,0,0,0))throw new g(f.Unknown,"FPDFAnnot_SetBorder returned false");n.target&&ek(e,t,r,n.target,i)}function YH(e,t,r,n,i){if(ct(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.target===null)XH(e,r);else if(n.target!==void 0){if(n.target.kind!=="goto"&&n.target.kind!=="uri"&&n.target.kind!=="named")throw new g(f.InvalidArg,`a '${n.target.kind}' link target can't be written`,{details:{field:"target"}});ek(e,t,r,n.target,i)}}function XH(e,t){if(!e.EPDFAnnot_RemoveAction(t)||!e.EPDFAnnot_RemoveDest(t))throw new g(f.Unknown,"failed to clear link target")}function $3(e){return e==="link"}function ek(e,t,r,n,i){let a=i?.docPtr;if(!a)throw new g(f.InvalidArg,"writing a link target requires a document pointer on the write context");let o=zh(e,t,a,n);if(!e.EPDFAnnot_SetAction(r,o))throw new g(f.Unknown,"EPDFAnnot_SetAction failed for link")}function WH(e,t,r,n){At(e,t,r,n),rt(e,t,r,n.rect),n.open!==void 0&&tk(e,r,n.open)}function UH(e,t,r,n){ct(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.open!==void 0&&tk(e,r,n.open)}function tk(e,t,r){if(!e.EPDFAnnot_SetBooleanValue(t,"Open",r))throw new g(f.Unknown,"EPDFAnnot_SetBooleanValue returned false")}function nk(e){return e==="popup"}function qH(e,t,r,n){At(e,t,r,n);let i=n.quadPoints;Km(e,t,r,i),cd(e,t,r,i);let a=ut[n.subtype];qe(e,r,n.color??a.color),nt(e,r,n.opacity??a.opacity),n.subtype==="strikeout"&&n.intent!=null&&Ra(e,r,vh(n.intent))}function zH(e,t,r,n){if(ct(e,t,r,n),n.color!==void 0&&qe(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),n.subtype==="strikeout"&&n.intent!==void 0&&xm(e,r,n.intent===null?null:vh(n.intent)),n.quadPoints!==void 0){let i=S3(rm(e,t,r).flatMap(Ov),n.quadPoints.flatMap(Ov));ik(e,t,r,n.quadPoints),i?Om(e,t,r,i):cd(e,t,r,n.quadPoints)}}var Ov=e=>[e.upperLeft,e.upperRight,e.lowerLeft,e.lowerRight];function rk(e){return e==="highlight"||e==="underline"||e==="squiggly"||e==="strikeout"}function Km(e,t,r,n){let i=t.alloc(32);try{for(let a of n)if(ZH(t,i,a),!e.FPDFAnnot_AppendAttachmentPoints(r,i))throw new g(f.Unknown,"FPDFAnnot_AppendAttachmentPoints returned false")}finally{t.free(i)}}function ik(e,t,r,n){e.EPDFAnnot_RemoveKey(r,"QuadPoints"),Km(e,t,r,n)}function ZH(e,t,r){e.poke(t,"f32",r.upperLeft.x,0),e.poke(t,"f32",r.upperLeft.y,4),e.poke(t,"f32",r.upperRight.x,8),e.poke(t,"f32",r.upperRight.y,12),e.poke(t,"f32",r.lowerLeft.x,16),e.poke(t,"f32",r.lowerLeft.y,20),e.poke(t,"f32",r.lowerRight.x,24),e.poke(t,"f32",r.lowerRight.y,28)}function cd(e,t,r,n){let i=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,s=Number.NEGATIVE_INFINITY;for(let A of n)for(let d of[A.upperLeft,A.upperRight,A.lowerLeft,A.lowerRight])d.xo&&(o=d.x),d.ys&&(s=d.y);rt(e,t,r,{left:i,top:s,right:o,bottom:a})}var wr=ut.redact;function ak(e){return e.overlayText!==void 0&&e.overlayText!==null||e.fontFamily!==void 0||e.fontSize!==void 0||e.fontColor!==void 0}function JH(e){if(e.rect===void 0&&(e.quadPoints??[]).length===0)throw new g(f.InvalidArg,"redact create needs a rect or at least one of quadPoints",{details:{field:"rect"}})}function $H(e,t,r,n,i){At(e,t,r,n);let a=n.quadPoints??[];a.length>0&&Km(e,t,r,a),n.rect?rt(e,t,r,n.rect):cd(e,t,r,a),qe(e,r,n.color??wr.color,Ne.Color),nt(e,r,n.opacity??wr.opacity);let o=n.interiorColor??null;o!==null&&qe(e,r,o,Ne.InteriorColor),n.overlayText!=null&&n.overlayText.length>0&&E3(e,t,r,n.overlayText),n.repeat&&_3(e,r,!0),ak(n)&&_s(e,r,n.fontFamily??wr.fontFamily,n.fontSize??wr.fontSize,n.fontColor??wr.fontColor,i),n.textAlign!==void 0&&id(e,r,Ds(n.textAlign))}function e4(e,t,r,n,i){if(ct(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.quadPoints!==void 0&&(ik(e,t,r,n.quadPoints),n.rect===void 0&&cd(e,t,r,n.quadPoints)),n.color!==void 0&&qe(e,r,n.color,Ne.Color),n.opacity!==void 0&&nt(e,r,n.opacity),n.interiorColor!==void 0&&(n.interiorColor===null?Es(e,r,Ne.InteriorColor):qe(e,r,n.interiorColor,Ne.InteriorColor)),n.overlayText!==void 0&&E3(e,t,r,n.overlayText??""),n.repeat!==void 0&&_3(e,r,n.repeat),ak(n)){let a=xa(e,t,r);_s(e,r,n.fontFamily??(a?Am(a.fontCode):wr.fontFamily),n.fontSize??a?.fontSize??wr.fontSize,n.fontColor??a?.color??wr.fontColor,i)}n.textAlign!==void 0&&id(e,r,Ds(n.textAlign))}function Vm(e){return e==="redact"}function t4(e,t,r,n){At(e,t,r,n),Ia(e,t,r,{box:n.box,rotation:n.rotation??null}),od(e,t,r,n),n.cloudyIntensity!=null&&n.cloudyIntensity>0&&Oa(e,r,n.cloudyIntensity)}function n4(e,t,r,n){ct(e,t,r,n),ad(e,t,r,n),sd(e,t,r,n),n.cloudyIntensity!==void 0&&(n.cloudyIntensity!==null&&n.cloudyIntensity>0?Oa(e,r,n.cloudyIntensity):Cm(e,r))}function ok(e){return e==="circle"||e==="square"}var dd={contain:0,cover:1,fill:2};function r4(e,t){e.name!=null&&Ak(e.name),e.fit!=null&&ck(e.fit),uk(t?.resources?.appearance,t)}function i4(e,t){e.name!==void 0&&e.name!==null&&Ak(e.name),e.fit!=null&&ck(e.fit);let r=t?.resources?.appearance;r!==void 0&&uk(r,t)}function a4(e,t,r,n,i){At(e,t,r,n),n.name!=null&&sk(e,r,n.name),n.opacity!==void 0&&nt(e,r,n.opacity);let a=n.fit===null?"fill":n.fit??ut.stamp.fit;pk(e,t,r,dk(i),Ym(i),a,{box:n.box,rotation:n.rotation??null}),n.fit!==null&&gm(e,t,r,a)}function o4(e,t,r,n,i){ct(e,t,r,n),n.name===null?e.EPDFAnnot_RemoveKey(r,"Name"):n.name!==void 0&&sk(e,r,n.name);let a=fm(e,t,r)??"fill",o=n.fit!==void 0?n.fit??"fill":a;n.fit!==void 0&&gm(e,t,r,n.fit);let s=i?.resources?.appearance;if(s!==void 0){n.opacity!==void 0&&nt(e,r,n.opacity);let d=Ha(e,t,r);pk(e,t,r,s,Ym(i),o,{box:n.box??d.box,rotation:n.rotation===void 0?d.rotation:n.rotation});return}let A=ad(e,t,r,n);n.opacity!==void 0?A4(e,r,o,n.opacity):(A||n.fit!==void 0)&&lk(e,r,o)}function ud(e){return e==="stamp"}function sk(e,t,r){if(!e.EPDFAnnot_SetName(t,r))throw new g(f.Unknown,"EPDFAnnot_SetName returned false")}function Ak(e){if(e.length===0)throw new g(f.InvalidArg,"stamp name must be non-empty")}function ck(e){if(dd[e]===void 0)throw new g(f.InvalidArg,`unknown stamp fit '${String(e)}'; expected contain, cover, or fill`)}function dk(e){let t=e?.resources?.appearance;if(!t)throw new g(f.InvalidArg,"creating a stamp annotation needs its 'appearance' resource");return t}function uk(e,t){e||dk(t);let r=e instanceof ArrayBuffer?eo(e):null;if(!r)throw new g(f.InvalidArg,"the appearance resource must be PNG, JPEG or one-page PDF bytes");if(r.mimeType==="application/pdf"){let n=t?.pdfPageCount?.(e);if(n===null)throw new g(f.MalformedPdf,"the stamp's appearance PDF could not be opened");if(n!==void 0&&n!==1)throw new g(f.InvalidArg,`the appearance PDF has ${n} pages; a stamp takes a one-page PDF`)}Ym(t)}function Ym(e){if(e?.docPtr===void 0||!e.drawings)throw new g(f.Unknown,"stamp writer requires docPtr/drawings on the write context");return{docPtr:e.docPtr,drawings:e.drawings}}function pk(e,t,r,n,i,a,o){Ia(e,t,r,{box:o.box,rotation:null}),s4(e,t,r,n,i,a),o.rotation&&(Ia(e,t,r,o),lk(e,r,a))}function s4(e,t,r,n,i,a){let o=eo(n);if(!o)throw new g(f.Unknown,"stamp content preflight invariant broken");let s=bH(e,t,i.docPtr,i.drawings,n,o);if(!e.EPDFAnnot_SetStampDrawing(r,s,dd[a]))throw new g(f.Unknown,"EPDFAnnot_SetStampDrawing returned false")}function A4(e,t,r,n){if(!e.EPDFAnnot_SetStampOpacity(t,dd[r],n))throw new g(f.Unknown,"EPDFAnnot_SetStampOpacity returned false")}function lk(e,t,r){if(!e.EPDFAnnot_UpdateAppearanceToRect(t,dd[r]))throw new g(f.Unknown,"EPDFAnnot_UpdateAppearanceToRect returned false")}var dl=ut.text;function c4(e,t,r,n){At(e,t,r,n),rt(e,t,r,n.rect),qe(e,r,n.color??dl.color),nt(e,r,n.opacity??dl.opacity),bk(e,r,n.icon??dl.icon),n.open!==void 0&&mk(e,r,n.open),n.stateModel!=null&&gr(e,t,r,"StateModel",a3(n.stateModel)),n.state!=null&&gr(e,t,r,"State",o3(n.state))}function d4(e,t,r,n){ct(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.color!==void 0&&qe(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),n.icon!==void 0&&bk(e,r,n.icon),n.open!==void 0&&mk(e,r,n.open),n.stateModel!==void 0&&Ca(e,t,r,"StateModel",n.stateModel===null?null:a3(n.stateModel)),n.state!==void 0&&Ca(e,t,r,"State",n.state===null?null:o3(n.state))}function mk(e,t,r){if(!e.EPDFAnnot_SetBooleanValue(t,"Open",r))throw new g(f.Unknown,"EPDFAnnot_SetBooleanValue returned false")}function wk(e){return e==="text"}function bk(e,t,r){if(!e.EPDFAnnot_SetName(t,Dh[r]))throw new g(f.Unknown,"EPDFAnnot_SetName returned false")}var Ql=(e,t)=>t?xr(e,t):e;function fk(e,t){return e.captionCenter?{...e,captionCenter:Ql(e.captionCenter,t.turn)}:e}function u4(e,t,r,n,i,a){let o=a?a.turn:i.turn;if(n.captionCenter)return{...n,captionCenter:Ql(n.captionCenter,o)};if(!a||n.captionEnabled!==void 0)return n;let s=Wh(e,t,r);return s?.center?{...n,captionEnabled:s.enabled,captionCenter:Ql(fi(s.center,i.turn),o)}:n}function p4(e,t,r,n){At(e,t,r,n);let i=Ad(e,t,r,[n.vertices],n.rotation);ys(e,t,r,fk(n,i)),od(e,t,r,n),Im(e,t,r,i.drawn[0]),n.cloudyIntensity!=null&&n.cloudyIntensity>0&&Oa(e,r,n.cloudyIntensity)}function l4(e,t,r,n){ct(e,t,r,n),gk(e,t,r,n),sd(e,t,r,n),n.cloudyIntensity!==void 0&&(n.cloudyIntensity!==null&&n.cloudyIntensity>0?Oa(e,r,n.cloudyIntensity):Cm(e,r))}function m4(e,t,r,n){At(e,t,r,n);let i=Ad(e,t,r,[n.vertices],n.rotation);ys(e,t,r,fk(n,i)),od(e,t,r,n),Im(e,t,r,i.drawn[0]),Qa(e,r,n.lineEndings??ut.polyline.lineEndings)}function w4(e,t,r,n){ct(e,t,r,n),gk(e,t,r,n),sd(e,t,r,n),n.lineEndings!==void 0&&Qa(e,r,n.lineEndings)}function gk(e,t,r,n){let i=Nm(e,t,r),a=jm(e,t,r,i,n.vertices&&[n.vertices],n.rotation);ys(e,t,r,u4(e,t,r,n,i,a)),a&&Im(e,t,r,a.drawn[0])}function Fk(e){return e==="polygon"||e==="polyline"}var b4=0,f4=1;function Xm(e,t,r){let n=(r.next??[]).map(a=>Xm(e,t,a)),i=g4(e,t,r);if(n.length>0&&!ps(e,n,(a,o)=>e.fn.EPDFAction_SetNext(t,i,a,o)))throw new g(f.Unknown,`the ${r.type} action's next ones could not be set`);return i}function g4(e,t,r){let{fn:n,mem:i}=e,a=(()=>{switch(r.type){case"javascript":return Wn(i,r.script,o=>n.EPDFAction_CreateJavaScript(t,o));case"goto":return n.EPDFAction_CreateGoTo(t,Uh(n,i,t,r.destination));case"uri":return n.EPDFAction_CreateURI(t,r.uri);case"named":return n.EPDFAction_CreateNamed(t,r.name);case"hide":return ul(e,r.targets,(o,s)=>n.EPDFAction_CreateHide(t,o,s,r.hide));case"reset-form":return ul(e,r.fields??[],(o,s)=>n.EPDFAction_CreateResetForm(t,o,r.fields?s:-1,r.exclude));case"submit-form":return Wn(i,r.url,o=>ul(e,r.fields??[],(s,A)=>n.EPDFAction_CreateSubmitForm(t,o,s,r.fields?A:-1,Lu(r))))}})();if(!a)throw new g(f.InvalidArg,`the ${r.type} action could not be written`);return a}function ul(e,t,r){let{mem:n}=e,i=8+RP(e),a=t.map(o=>o.kind==="name"?n.writeU16String(o.name):null);try{return V(n,Math.max(1,t.length*i),o=>(t.forEach((s,A)=>{let d=A*i,p=a[A];n.poke(o,"i32",p?b4:f4,d),n.poke(o,"i32",s.kind==="objectNumber"?s.objectNumber:0,d+4),TP(e,o,d+8,p??Y)}),r(o,t.length)))}finally{for(let o of a)o&&n.free(o)}}function vk(e,t,r,n){Xi.forEach((i,a)=>{let o=n===null?null:n[i];if(o===void 0)return;let s=o===null?Y:Xm(e,t,o);if(!e.fn.EPDFAnnot_SetEventAction(r,a,s))throw new g(f.Unknown,`the widget's ${i} action could not be written`)})}var Qv=0,Rv=1,Tv=0;function Pk(e){return e==="widget"}function F4(e,t){if(e.subtype!=="widget"||!e.hasMark)return;let r=t,n=_o.filter(i=>r[i]!==void 0&&!Te(r[i],e[i]));if(n.length>0)throw new g(f.InvalidArg,`the widget has a mark in it, which its style doesn't draw: ${n.join(", ")} can't change`)}function Wm(e,t,r,n,i){if(n.color===null)e.EPDFAnnot_ClearMKColor(r,Qv);else if(n.color){let{r:o,g:s,b:A}=Qn(n.color);e.EPDFAnnot_SetMKColor(r,Qv,o,s,A)}if(n.interiorColor===null)e.EPDFAnnot_ClearMKColor(r,Rv);else if(n.interiorColor){let{r:o,g:s,b:A}=Qn(n.interiorColor);e.EPDFAnnot_SetMKColor(r,Rv,o,s,A)}if(n.strokeWidth!==void 0||n.borderStyle!==void 0){let o=Xc(e,t,r);e.EPDFAnnot_SetBorderStyle(r,yS(n.borderStyle??Lh(o.styleCode)),n.strokeWidth??o.width)}n.dashArray===null?k3(e,r):n.dashArray!==void 0&&Gm(e,t,r,n.dashArray),(n.fontFamily!==void 0||n.fontSize!==void 0||n.fontColor!==void 0)&&v4(e,t,r,n,i),n.textAlign!==void 0&&e.EPDFAnnot_SetTextAlignment(r,Ds(n.textAlign));let a=n.checkStyle!==void 0?n.checkStyle&&qx(n.checkStyle):n.caption;a===null?e.EPDFAnnot_SetMKText(r,Tv,Y):a!==void 0&&Wn(t,a,o=>e.EPDFAnnot_SetMKText(r,Tv,o))}function v4(e,t,r,n,i){let a=xa(e,t,r);if([n.fontFamily,n.fontSize,n.fontColor].includes(null)&&a!==null)throw new g(f.InvalidArg,"a widget's font can't be removed: send a font, or leave the font fields out",{details:{field:"fontFamily"}});let o=n.fontFamily??void 0,s=n.fontSize??void 0,A=n.fontColor??void 0;if(o===void 0&&s===void 0&&A===void 0)return;let d=s??a?.fontSize??12,p=A??a?.color??"#000000";if(a!==null&&(o===void 0||P4(e,t,r,o,i))){Sm(e,r,-1,d,p);return}_s(e,r,o??"helvetica",d,p,i)}function P4(e,t,r,n,i){let a=Wc(e,t,r);if(!a)return!1;if(zc(e,t,r,a)===n)return!0;let o=Gr(n,i?.describeFont);return ln(o.family)===ln(a.family)&&(o.weight===void 0||o.weight===a.weight)&&(o.italic===void 0||o.italic===a.italic)}function hk(e,t,r){if(!e.EPDFAnnot_SetMKRotation(t,(360-(r??0))%360))throw new g(f.Unknown,"the widget's turn (/MK /R) could not be written")}function kk(e,t,r,n,i){let a=Ce(n.box),o=n.rotation?wn(a,n.rotation):a;(!i||n.rotation!==i.rotation)&&hk(e,r,n.rotation),(!i||!Te(o,i.rect))&&rt(e,t,r,o)}function h4(e,t,r,n,i){let{actions:a,...o}=n;At(e,t,r,o),kk(e,t,r,{box:n.box,rotation:n.rotation??null},null),Wm(e,t,r,n,i)}function k4(e,t,r,n){if(n.box===void 0&&n.rotation===void 0)return;let i=Ce(ks(e,t,r)),a=c3(e,r);kk(e,t,r,{box:n.box??Ir(i,a??0),rotation:n.rotation===void 0?a:n.rotation||null},{rect:i,rotation:a})}function D4(e,t,r,n,i){let{actions:a,...o}=n;if(ct(e,t,r,o),k4(e,t,r,n),Wm(e,t,r,n,i),n.actions!==void 0){if(!i?.runtime||!i.docPtr)throw new g(f.InvalidArg,"writing a widget's actions requires the runtime and the document on the write context");vk(i.runtime,i.docPtr,r,n.actions)}}function B4(e,t){ud(e.subtype)&&r4(e,t),Mm(e.subtype)&&IH(e,t),Vm(e.subtype)&&JH(e)}function E4(e,t){ud(Um(e))&&i4(e,t)}function _4(e,t,r,n,i){C4(e,t,r,n,i),Dk(e,r,n,i)}function y4(e,t,r,n,i){I4(e,t,r,n,i),Dk(e,r,{...n,subtype:Um(n)},i)}function Dk(e,t,r,n){if(r.subtype==="free-text"||r.richText===void 0)return;if(r.richText===null){e.EPDFAnnot_RemoveKey(t,"RC");return}let i=zP(G4(r.richText),{describe:n?.describeFont});if(!e.EPDFAnnot_SetRichTextJSON(t,i))throw new g(f.InvalidArg,`${r.subtype}: the comment's rich text could not be written`)}function G4(e){if(e.body?.family!==Oi.family)return e;let{family:t,...r}=e.body;return{...e,body:r}}function C4(e,t,r,n,i){if(rk(n.subtype)){qH(e,t,r,n);return}if(ok(n.subtype)){t4(e,t,r,n);return}if(Fk(n.subtype)){n.subtype==="polygon"?p4(e,t,r,n):m4(e,t,r,n);return}if(J3(n.subtype)){jH(e,t,r,n);return}if($3(n.subtype)){VH(e,t,r,n,i);return}if(Z3(n.subtype)){MH(e,t,r,n);return}if(U3(n.subtype)){RH(e,t,r,n,i);return}if(R3(n.subtype)){GH(e,t,r,n);return}if(wk(n.subtype)){c4(e,t,r,n);return}if(ud(n.subtype)){a4(e,t,r,n,i);return}if(Mm(n.subtype)){SH(e,t,r,n,i);return}if(Pk(n.subtype)){h4(e,t,r,n,i);return}if(nk(n.subtype)){WH(e,t,r,n);return}if(Vm(n.subtype)){$H(e,t,r,n,i);return}throw new g(f.NotImplemented,`no writer registered for draft.subtype='${n.subtype}'`)}function I4(e,t,r,n,i){let a=Um(n);if(rk(a)){zH(e,t,r,n);return}if(ok(a)){n4(e,t,r,n);return}if(Fk(a)){a==="polygon"?l4(e,t,r,n):w4(e,t,r,n);return}if(J3(a)){KH(e,t,r,n);return}if($3(a)){YH(e,t,r,n,i);return}if(Z3(a)){LH(e,t,r,n);return}if(U3(a)){TH(e,t,r,n,i);return}if(R3(a)){CH(e,t,r,n);return}if(wk(a)){d4(e,t,r,n);return}if(ud(a)){o4(e,t,r,n,i);return}if(Mm(a)){xH(e,t,r,n,i);return}if(Pk(a)){D4(e,t,r,n,i);return}if(nk(a)){UH(e,t,r,n);return}if(Vm(a)){e4(e,t,r,n,i);return}throw new g(f.NotImplemented,`no writer registered for subtype='${a}'`)}function Um(e){if(e.subtype===void 0)throw new g(f.InvalidArg,"a patch reached the writer without its subtype");return e.subtype}function S4(e,t,r){let n=AF(e,{linked:["reply","parent"],describeFont:r.describeFont});return wA(n.subtype,t,"create"),B4(n,r),n}function Bk(e,t,r,n){let{fn:i,mem:a}=e,o=a.writeU16String(n);try{return i.EPDFPage_GetAnnotIndexByNameRaw(t,r,o)}finally{a.free(o)}}function Hc(e,t,r,n,i,a){let o=f3(e,t,a.docPtr,r,n,i),s=e.FPDFAnnot_GetSubtype(r),{reader:A}=d3(s);return A(e,t,r,o,s,a)}function Ek(e,t,r){return r===void 0?e.EPDFAnnot_GenerateAppearance(t):e.EPDFAnnot_GenerateAppearanceWithBlend(t,$x(r))}function x4(e,t,r,n,i){n.author===null?e.EPDFAnnot_RemoveKey(r,"T"):C3(e,t,r,n.author),n.createdAt===null?e.EPDFAnnot_RemoveKey(r,"CreationDate"):I3(e,t,r,n.createdAt),n.modifiedAt===null?e.EPDFAnnot_RemoveKey(r,"M"):Hm(e,t,r,n.modifiedAt),ox(e,t,r,n,i)}function H4(e,t,r,n){let i=e.EPDFAnnot_GetFileAttachmentForWrite(r);if(i)for(let[a,o]of[["CreationDate",n.createdAt],["ModDate",n.modifiedAt]]){if(!o)continue;let s=t.writeU16String(ft(o));try{e.FPDFAttachment_SetStringValue(i,a,s)}finally{t.free(s)}}}function O4(e,t,r,n,i){n?.displayName&&C3(e,t,r,n.displayName),I3(e,t,r,i),Hm(e,t,r,i),ix(e,t,r,n)}function Q4(e,t,r,n,i){let{fn:a}=e;if(i.inReplyTo===null){a.EPDFAnnot_SetLinkedAnnot(r,"IRT",Y),a.EPDFAnnot_SetReplyType(r,0);return}if(i.inReplyTo){if(i.inReplyTo.page.objectNumber!==n)throw new g(f.InvalidArg,`/IRT parent must be on the same page as the reply (parent page ${i.inReplyTo.page.objectNumber}, reply page ${n})`);let o=Vc(e,t,i.inReplyTo);try{_k(e,r,o,i.replyType??"reply")}finally{a.FPDFPage_CloseAnnot(o)}return}if(i.replyType!==void 0){let o=a.FPDFAnnot_GetLinkedAnnot(r,"IRT");if(o)try{a.EPDFAnnot_SetReplyType(r,Zh(i.replyType))}finally{a.FPDFPage_CloseAnnot(o)}}}function R4(e,t,r,n,i,a){let{fn:o}=e;if(a){let d=Vc(e,t,a);try{let p=o.FPDFAnnot_GetLinkedAnnot(d,"Popup");if(p){let m=o.EPDFAnnot_GetObjectNumber(p)===o.EPDFAnnot_GetObjectNumber(r);o.FPDFPage_CloseAnnot(p),m&&o.EPDFAnnot_SetLinkedAnnot(d,"Popup",Y)}}finally{o.FPDFPage_CloseAnnot(d)}}if(i===null)return o.EPDFAnnot_SetLinkedAnnot(r,"Parent",Y),null;if(i.page.objectNumber!==n)throw new g(f.InvalidArg,`a popup's parent must be on the same page (parent page ${i.page.objectNumber}, popup page ${n})`);let{annotPtr:s,name:A}=KP(e,t,i);try{return yk(e,r,s),A}finally{o.FPDFPage_CloseAnnot(s)}}function _k(e,t,r,n){let{fn:i}=e;if(!i.EPDFAnnot_SetLinkedAnnot(t,"IRT",r))throw new g(f.Unknown,"failed to set /IRT linked annotation");i.EPDFAnnot_SetReplyType(t,Zh(n))}function yk(e,t,r){let{fn:n}=e;if(T4(e,t,r),!n.EPDFAnnot_SetLinkedAnnot(t,"Parent",r)||!n.EPDFAnnot_SetLinkedAnnot(r,"Popup",t))throw new g(f.Unknown,"failed to link a popup to its parent");M4(e,t,r)}function T4(e,t,r){let{fn:n}=e,i=n.FPDFAnnot_GetLinkedAnnot(r,"Popup");if(!i)return;let a=n.EPDFAnnot_GetObjectNumber(i);if(n.FPDFPage_CloseAnnot(i),a!==n.EPDFAnnot_GetObjectNumber(t))throw new g(f.InvalidArg,`the annotation already has a popup (object ${a}); delete it first`,{details:{field:"parent",popupObjectNumber:a}})}function M4(e,t,r){let{fn:n,mem:i}=e;if(n.FPDFAnnot_GetSubtype(r)!==L.TEXT)return;let a=ws(n,i,t,"Open");if(a!==null){Rl(e,r,a);return}let o=ws(n,i,r,"Open");o!==null&&Rl(e,t,o)}function L4(e,t,r,n,i){let{fn:a}=e,{annotPtr:o,name:s}=KP(e,t,r);try{return i&&a.FPDFAnnot_GetSubtype(o)!==L.TEXT?null:(Rl(e,o,n),s)}finally{a.FPDFPage_CloseAnnot(o)}}function Rl(e,t,r){if(!e.fn.EPDFAnnot_SetBooleanValue(t,"Open",r))throw new g(f.Unknown,"EPDFAnnot_SetBooleanValue returned false")}function Gk(e,t){let{mem:r}=e,n=t(Y,0);return n<=0?[]:V(r,n*8,i=>(t(i,n),Array.from({length:n},(a,o)=>({start:Number(r.peek(i,"i32",o*8))>>>0,count:Number(r.peek(i,"i32",o*8+4))>>>0}))))}var N4={0:null,1:"truetype",2:"opentype",3:"cff",4:"type1",5:"type3"},j4={0:"none",1:"whole",2:"subset"},K4={0:"installable",1:"editable",2:"preview-and-print",3:"restricted",4:"bitmap-only"},V4={0:"standard",1:"engine",2:"document-program",3:"document-font"},qm=e=>Array.from(e,t=>t.toString(16).padStart(2,"0")).join(""),pl=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}facts(){return{faces:this.faces(),engineFonts:this.fonts.engineFontFacts(),fallbacks:this.fonts.fallbackKeys()}}faces(){return pd(this.runtime,this.session)}resolve(e,t,r){let{fn:n,mem:i}=this.runtime,a=t.map(d=>this.faceOfRun(d,r)),o=t.map(d=>i.writeU16String(d.text)),s=a.map(d=>i.writeU16String(d.family)),A=e?this.openAnnotation(e):Y;try{let d=ps(this.runtime,o,p=>ps(this.runtime,s,m=>nn(i,a.map(F=>F.weight),F=>nn(i,a.map(k=>k.italic?1:0),k=>nn(i,a.map(P=>P.program),P=>n.EPDFDoc_ResolveFonts(this.session.requireDocPtr(),A,t.length,p,m,F,k,P))))));if(!d)throw new g(f.Unknown,"EPDFDoc_ResolveFonts failed");try{return this.readResolution(d,t.length)}finally{n.EPDFFontResolution_Close(d)}}finally{A&&n.FPDFPage_CloseAnnot(A);for(let d of[...o,...s])i.free(d)}}readResolution(e,t){let{fn:r,mem:n}=this.runtime,i=[];for(let s=0;s(r.EPDFFontResolution_GetFallbacks(e,s,m,d),Array.from({length:d},(F,k)=>Number(n.peek(m,"i32",k*4))>>>0)));i.push({source:V4[r.EPDFFontResolution_GetSource(e,s)]??"standard",engineFont:A?this.fonts.keyForId(A)??null:null,objectNumber:r.EPDFFontResolution_GetProgramObjNum(e,s),displaySha256:V(n,32,m=>r.EPDFFontResolution_GetProgramDisplayHash(e,s,m)?qm(n.readBytes(m,32)):null),baseFontName:Ye(n,(m,F)=>r.EPDFFontResolution_GetBaseFontName(e,s,m,F))||null,familyName:we(n,(m,F)=>r.EPDFFontResolution_GetFamily(e,s,m,F))??"",weight:r.EPDFFontResolution_GetWeight(e,s),italic:r.EPDFFontResolution_IsItalic(e,s),degraded:r.EPDFFontResolution_IsDegraded(e,s),fallbacks:p.flatMap(m=>{let F=this.fonts.keyForId(m);return F?[F]:[]})})}let a=[],o=r.EPDFFontResolution_CountMissingCharacters(e);for(let s=0;sr.EPDFFontResolution_GetMissingCharacter(e,s,d,p));A&&a.push(A)}return{runs:i,missingCharacters:a}}faceOfRun(e,t){if(!("fontFamily"in e))return{family:e.family,weight:e.weight,italic:e.italic,program:0};let r=e.fontFamily;if(yr(r)){let o=pn[r];return{family:o.family,weight:o.weight,italic:o.italic,program:0}}let n=this.fonts.describeOrUndefined(r);if(n){let{familyName:o,weight:s,italic:A}=n;return{family:o,weight:s,italic:A,program:0}}let i=na(t.faces).find(o=>o.name===r);if(i){let{familyName:o,weight:s,italic:A}=i.face,d=ic(t,r);return{family:o,weight:s,italic:A,program:d?.choosable?d.objectNumber:0}}let a=Gr(r);return{family:a.family,weight:a.weight??400,italic:a.italic??!1,program:0}}openAnnotation(e){let{pageIndex:t,index:r}=kt(this.runtime,this.session,e),n=this.runtime.fn.EPDFPage_GetAnnotRaw(this.session.requireDocPtr(),t,r);if(!n)throw new g(f.NotFound,"annotation not found");return n}program(e,t){let r=this.fonts.programFor(e);if(r)return{...r.info(),bytes:t?r.bytes():null};let n=this.faces().flatMap(s=>s.programs).find(s=>s.displaySha256===e&&s.objectNumber>0);if(!n)throw new g(f.NotFound,`no font program ${e}`);let{fn:i,mem:a}=this.runtime,o=this.session.requireDocPtr();return V(a,32,s=>{a.writeBytes(s,Y4(e));let A=Gk(this.runtime,(p,m)=>i.EPDFDoc_GetFontDisplayProgramCoverage(o,s,p,m)),d=null;if(t){let p=i.EPDFDoc_GetFontDisplayProgramData(o,s,Y,0);d=V(a,Math.max(1,p),m=>(i.EPDFDoc_GetFontDisplayProgramData(o,s,m,p),a.readBytes(m,p)))}return{covers:A,ascent:n.ascent,descent:n.descent,bytes:d}})}};function Y4(e){return Uint8Array.from({length:e.length/2},(t,r)=>parseInt(e.slice(r*2,r*2+2),16))}function pd(e,t){let{fn:r,mem:n}=e,i=r.EPDFFontFaces_Load(t.requireDocPtr());if(!i)throw new g(f.Unknown,"EPDFFontFaces_Load failed");try{let a=[],o=r.EPDFFontFaces_Count(i);for(let s=0;sr.EPDFFontFaces_GetFamily(i,s,p,m))??"",weight:r.EPDFFontFaces_GetWeight(i,s),italic:r.EPDFFontFaces_IsItalic(i,s),programs:A})}return a}finally{r.EPDFFontFaces_Close(i)}}function X4(e,t,r,n){let{fn:i,mem:a}=e,o=p=>V(a,32,m=>p(m)?qm(a.readBytes(m,32)):null),s=o(p=>i.EPDFFontFaces_GetProgramHash(t,r,n,p)),A=o(p=>i.EPDFFontFaces_GetProgramDisplayHash(t,r,n,p)),d=he(a,[4,4],([p,m])=>i.EPDFFontFaces_GetProgramMetrics(t,r,n,p,m)?{ascent:Number(a.peek(p,"f32")),descent:Number(a.peek(m,"f32"))}:{ascent:0,descent:0});return{objectNumber:i.EPDFFontFaces_GetProgramObjNum(t,r,n),format:N4[i.EPDFFontFaces_GetProgramFormat(t,r,n)]??null,embedded:j4[i.EPDFFontFaces_GetProgramEmbedded(t,r,n)]??"none",postScriptName:Ye(a,(p,m)=>i.EPDFFontFaces_GetProgramPostScriptName(t,r,n,p,m))||null,permission:K4[i.EPDFFontFaces_GetProgramEmbeddingPermission(t,r,n)]??null,mapsUnicode:i.EPDFFontFaces_ProgramMapsUnicode(t,r,n),sha256:s,displaySha256:A,ascent:Math.round(d.ascent*1e3),descent:-Math.round(d.descent*1e3)}}var Oc=new WeakMap;function Ck(e,t){let{fn:r,mem:n}=e;return V(n,32,i=>{if(!r.EPDFDoc_GetFontsFingerprint(t.requireDocPtr(),i))throw new g(f.Unknown,"EPDFDoc_GetFontsFingerprint failed");return qm(n.readBytes(i,32))})}function Ik(e,t){let r=vp({faces:pd(e,t),engineFonts:[],fallbacks:[]},XF);return JSON.stringify(r.fonts.filter(n=>n.source==="document"))}function Mv(e,t){Oc.has(t)||Oc.set(t,{fingerprint:Ck(e,t),documentFonts:Ik(e,t)})}function W4(e,t){let r=Oc.get(t);if(!r)return!1;let n=Ck(e,t);if(n===r.fingerprint)return!1;let i=Ik(e,t);return Oc.set(t,{fingerprint:n,documentFonts:i}),i!==r.documentFonts}function U4(e,t,r){return ic({faces:pd(e,t),engineFonts:[],fallbacks:[]},r)}function Qc(e,t,r){let n,i=a=>(n??(n=na(pd(e,t)))).find(o=>o.name===a);return{...r?{resolveRegisteredFontId:a=>r.idFor(a),describeRegisteredFont:a=>r.describeOrUndefined(a)}:{},describeFont:a=>{let o=r?.describeOrUndefined(a);if(o)return o;let s=i(a)?.face;return s&&{familyName:s.familyName,weight:s.weight,italic:s.italic}},documentProgramOf:a=>{if(yr(a)||r?.describeOrUndefined(a))return;let o=i(a)?.programs[0];return o&&ta(o)&&o.objectNumber>0?o.objectNumber:void 0},resolveDocumentFont:a=>U4(e,t,a)}}var Sk=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}create(e,t){O(t);let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=new Set,o=e.map(k=>{let P=this.session.resolvePageRef(k.page),B=this.writeContext(k.resources),y=li(k.label,()=>S4(k.draft,k.resources,B));li(k.label,()=>this.claimName(y.nm,P,a));let x=y.nm!==void 0||k.attribution.kind!=="stamp"?y:{...y,nm:NA()};k.objectNumber!==void 0&&li(k.label,()=>this.session.claimObjectNumber(k.objectNumber));let I=k.replyTo&&{type:k.replyTo.type,to:li(k.label,()=>this.linkTarget(k.replyTo.to,k.page,e.length,"reply"))};if(x.subtype==="popup"&&!k.parent)throw new g(f.InvalidArg,`${k.label??"create"}: a popup needs the annotation it shows (parent)`,{details:{field:"parent"}});return{create:k,record:P,ctx:B,draft:x,replyTo:I,parent:k.parent&&li(k.label,()=>this.linkTarget(k.parent,k.page,e.length,"popup"))}});if(O(t),o.length===0)return{created:[],meta:Lv(this.session.writeStamp(),[],[])};let s=o.map(({create:k,record:P,ctx:B,draft:y})=>{O(t);let x=r.EPDFPage_CreateAnnotRaw(i,P.pageIndex,tc[y.subtype],k.objectNumber??0);if(!x&&k.objectNumber!==void 0)throw us(k.objectNumber,"taken");if(!x)throw new g(f.Unknown,`${k.label??"create"}: EPDFPage_CreateAnnotRaw returned NULL`);let I;try{if(li(k.label,()=>_4(r,n,x,y,B)),Ek(r,x,y.blendMode),I=r.EPDFAnnot_GetObjectNumber(x),I<=0)throw new g(f.Unknown,`${k.label??"create"}: EPDFPage_CreateAnnotRaw made a direct object`)}finally{r.FPDFPage_CloseAnnot(x)}return{pageIndex:P.pageIndex,pageObjectNumber:P.pageObjectNumber,index:r.EPDFPage_GetAnnotCountRaw(i,P.pageIndex)-1,objectNumber:I}}),A=[],d=(k,P)=>typeof k=="number"?this.withOpen(s[k],P):this.withOpenExisting(k,P);o.forEach(({replyTo:k,parent:P},B)=>{k&&this.withOpen(s[B],y=>d(k.to,x=>_k(this.runtime,y,x,k.type))),P!==void 0&&this.withOpen(s[B],y=>d(P,x=>{yk(this.runtime,y,x),typeof P!="number"&&A.push(Sa(r,n,i,P.page,x,P.index))}))});let p=new Date;o.forEach(({create:{attribution:k,fileDates:P,label:B}},y)=>{this.withOpen(s[y],x=>li(B,()=>{k.kind==="stamp"?O4(r,n,x,k.actor,p):x4(r,n,x,k.from,k.importedBy),P&&H4(r,n,x,P)}))});let m=ms(this.session,this.fonts),F=s.map(k=>this.withOpen(k,P=>Hc(r,n,P,k.pageObjectNumber,k.index,m)));return gs(this.runtime,this.session,F),{created:F,meta:Lv(this.session.writeStamp(),s,A)}}claimName(e,t,r){if(!e)return;let n=`${t.pageIndex}\0${e}`,i=this.session.requireDocPtr();if(r.has(n)||Bk(this.runtime,i,t.pageIndex,e)>=0)throw new g(f.InvalidArg,`nm '${e}' is already used on page ${t.pageObjectNumber}`,{details:{field:"nm"}});r.add(n)}linkTarget(e,t,r,n){if("planned"in e){if(e.planned<0||e.planned>=r)throw new g(f.InvalidArg,`no create ${e.planned} to link to`);return e.planned}let{existing:i}=e;if(i.page.objectNumber!==t.objectNumber)throw new g(f.InvalidArg,n==="reply"?`/IRT parent must be on the same page as the reply (parent page ${i.page.objectNumber}, reply page ${t.objectNumber})`:`a popup's parent must be on the same page (parent page ${i.page.objectNumber}, popup page ${t.objectNumber})`);return{page:i.page,...kt(this.runtime,this.session,i)}}writeContext(e){return{...Qc(this.runtime,this.session,this.fonts),docPtr:this.session.requireDocPtr(),drawings:this.session.drawingIndex(),pdfPageCount:t=>P3(this.runtime.fn,this.runtime.mem,t),...e?{resources:e}:{}}}withOpen(e,t){let{fn:r}=this.runtime,n=r.EPDFPage_GetAnnotRaw(this.session.requireDocPtr(),e.pageIndex,e.index);if(!n)throw new g(f.Unknown,"a created annotation is not where it was");try{if(r.EPDFAnnot_GetObjectNumber(n)!==e.objectNumber)throw new g(f.Unknown,"a created annotation is not where it was");return t(n)}finally{r.FPDFPage_CloseAnnot(n)}}withOpenExisting(e,t){let{fn:r}=this.runtime,n=r.EPDFPage_GetAnnotRaw(this.session.requireDocPtr(),e.pageIndex,e.index);if(!n)throw new g(f.Unknown,"an annotation to link to is not where it was");try{return t(n)}finally{r.FPDFPage_CloseAnnot(n)}}};function Lv(e,t,r){return{affectedPages:[...new Set(t.map(n=>n.pageObjectNumber))].map(n=>pe(n)),cacheDelta:null,...e,changedRefs:[...t.map(n=>({kind:"objectNumber",page:pe(n.pageObjectNumber),objectNumber:n.objectNumber})),...r]}}function li(e,t){try{return t()}catch(r){throw!e||!g.is(r)?r:new g(r.code,`${e}: ${r.message}`,{...r.details?{details:r.details}:{},cause:r})}}function q4(e,t,r,n){if(!(r.subtype!=="polygon"&&r.subtype!=="polyline")&&Si(n)&&e.FPDFAnnot_HasKey(t,"EMBD_Metadata")&&e.FPDFAnnot_GetValueType(t,"EMBD_Metadata")!==6)throw new g(f.InvalidArg,"Malformed annotation metadata cannot store a caption")}function z4(e){switch(e){case 1:return"editable";case 2:return"preview-and-print";default:return"installable"}}var Z4=class{constructor(e,t){this.runtime=e,this.ids=t,j(this,"fileHandles",[]),j(this,"identities",new Map),j(this,"programs",new Map),j(this,"fallbacks",[]),j(this,"builtIn",new Set),this.registerLastResort()}registerLastResort(){let e=YF(),{mem:t,fn:r}=this.runtime,n=t.alloc(e.byteLength);try{t.writeBytes(n,e);let i=r.EPDFFont_RegisterMemFont64("",0,-1,n,e.byteLength);if(i===0||!r.EPDFFont_SetLastResortFont(i))throw new g(f.RuntimeUnavailable,"the last-resort font did not register")}finally{t.free(n)}}register(e,t,r,n,i,a=!1){if(this.ids.has(e))return;if(i.byteLength===0)throw new g(f.InvalidArg,`empty font data: ${e}`);let{mem:o,fn:s}=this.runtime,A=o.alloc(i.byteLength);try{o.writeBytes(A,i);let d=s.EPDFFont_RegisterMemFont64(t,r,n,A,i.byteLength);if(d===0)throw new g(f.InvalidArg,`font registration failed (unloadable or no glyphs): ${e}`);this.ids.set(e,d),this.identities.set(e,this.readIdentity(d,{familyName:t,weight:r,italic:n})),this.programs.set(e,{...this.readProgram(d),served:!0}),a&&this.builtIn.add(e)}finally{o.free(A)}}registerFromNodeFile(e,t,r,n,i,a=!1,o=!1){if(this.ids.has(e))return;let s=this.runtime.fileAccess.fromNodeFile(i),A=0;try{A=this.runtime.fn.EPDFFont_RegisterFont(t,r,n,s.ptr)}catch(d){throw s.close(),d}if(A===0)throw s.close(),new g(f.InvalidArg,`font registration failed (unloadable or no glyphs): ${e} (${i})`);this.ids.set(e,A),this.identities.set(e,this.readIdentity(A,{familyName:t,weight:r,italic:n})),this.programs.set(e,{...this.readProgram(A),served:a}),o&&this.builtIn.add(e),this.fileHandles.push(s)}describe(e){let t=this.identities.get(e);if(!t)throw new g(f.InvalidArg,`font not registered on this thread: ${e}`);return t}describeOrUndefined(e){return this.identities.get(e)}keyForFace(e,t,r){let n=ln(e),i;for(let[a,o]of this.identities){if(ln(o.familyName)!==n)continue;let s=Math.abs(o.weight-t)+(o.italic===r?0:1e3);(!i||s{try{return a()}catch{return o}};return{familyName:i(()=>Ye(n,(a,o)=>r.EPDFFont_GetFamilyName(e,a,o))??t.familyName,t.familyName),weight:i(()=>r.EPDFFont_GetWeight(e),t.weight||400),italic:i(()=>r.EPDFFont_IsItalic(e),t.italic===1),embeddingPermission:i(()=>z4(r.EPDFFont_GetEmbeddingPermission(e)),"installable"),editingAuthorized:i(()=>r.EPDFFont_IsEditingAuthorized(e),!0),instanced:i(()=>r.EPDFFont_IsInstanced(e),!1)}}registerStartup(e){for(let t of e){let r=t.italic===void 0?-1:t.italic?1:0;this.registerFromNodeFile(t.key,t.familyName??"",t.weight??0,r,t.path,t.serve??!1,t.builtIn??!1),t.fallback&&this.addFallback(t.key,t.tier)}}addFallback(e,t=fp.own){let r=this.requireId(e);if(!this.runtime.fn.EPDFFont_AddFallbackFont(r,t))throw new g(f.InvalidArg,`addFallback failed: ${e}`);let n=this.fallbacks.find(i=>i.key===e);n?n.tier=t:this.fallbacks.push({key:e,tier:t})}clearFallbacks(){this.runtime.fn.EPDFFont_ClearFallbackFonts(),this.fallbacks=[]}fallbackKeys(){return[...this.fallbacks].sort((e,t)=>e.tier-t.tier).map(e=>e.key)}engineFontFacts(){let e=[];for(let[t,r]of this.identities){let n=this.programs.get(t);n&&e.push({key:t,identity:r,postScriptName:n.postScriptName,format:n.format,sha256:n.sha256,served:n.served,builtIn:this.builtIn.has(t)})}return e}keyForId(e){for(let[t,r]of this.ids)if(r===e)return t}programFor(e){let t=[...this.programs].find(([,a])=>a.sha256===e)?.[0];if(t===void 0)return;let r=this.requireId(t),{fn:n,mem:i}=this.runtime;return{info:()=>{let a=Gk(this.runtime,(s,A)=>n.EPDFFont_GetCoverage(r,s,A)),o=he(i,[4,4],([s,A])=>n.EPDFFont_GetMetrics(r,s,A)?{ascent:Number(i.peek(s,"f32")),descent:Number(i.peek(A,"f32"))}:{ascent:0,descent:0});return{covers:a,ascent:Math.round(o.ascent*1e3),descent:-Math.round(o.descent*1e3)}},bytes:()=>{let a=n.EPDFFont_GetProgramData(r,Y,0);return V(i,Math.max(1,a),o=>(n.EPDFFont_GetProgramData(r,o,a),i.readBytes(o,a)))}}}readProgram(e){let{fn:t,mem:r}=this.runtime;return{sha256:V(r,32,n=>t.EPDFFont_GetProgramHash(e,n)?Array.from(r.readBytes(n,32),i=>i.toString(16).padStart(2,"0")).join(""):""),format:t.EPDFFont_GetProgramFormat(e)===2?"opentype":"truetype",postScriptName:Ye(r,(n,i)=>t.EPDFFont_GetPostScriptName(e,n,i))||null}}clear(){this.runtime.fn.EPDFFont_ClearRegisteredFonts(),this.registerLastResort(),this.ids.clear(),this.identities.clear(),this.programs.clear(),this.fallbacks=[],this.builtIn.clear();for(let e of this.fileHandles)e.close();this.fileHandles.length=0}idFor(e){return this.requireId(e)}requireId(e){let t=this.ids.get(e);if(t===void 0)throw new g(f.InvalidArg,`font not registered on this thread: ${e}`);return t}};function ya(e,t,r){return{affectedPages:[pe(t)],cacheDelta:null,...e,changedRefs:[...r]}}var zm=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}writeContext(e){return{...Qc(this.runtime,this.session,this.fonts),runtime:this.runtime,docPtr:this.session.requireDocPtr(),drawings:this.session.drawingIndex(),pdfPageCount:t=>P3(this.runtime.fn,this.runtime.mem,t),...e?{resources:e}:{}}}create(e,t,r,n={}){let{actor:i,resources:a,objectNumber:o}=n,{reply:s,...A}=t,d=t.subtype==="popup"?t.parent:null;t.subtype==="popup"&&delete A.parent;let{created:p,meta:m}=new Sk(this.runtime,this.session,this.fonts).create([{page:pe(e),draft:A,...s?{replyTo:{to:{existing:s.to},type:s.type??"reply"}}:{},...d?{parent:{existing:d}}:{},...a?{resources:a}:{},...o!==void 0?{objectNumber:o}:{},attribution:{kind:"stamp",...i?{actor:i}:{}}}],r);return{annotation:p[0],meta:m}}update(e,t,r,n,i){O(n);let{fn:a,mem:o}=this.runtime,{pageIndex:s,index:A}=kt(this.runtime,this.session,e),d=wi(this.runtime,this.session,s,A);try{O(n);let p=this.writeContext(i),m=b3(a.EPDFAnnot_GetBlendMode(d)),F=Hc(a,o,d,e.page.objectNumber,A,ms(this.session,this.fonts));gs(this.runtime,this.session,[F]);let k=JA(r,F,t.groupId);q4(a,d,F,t),t=cF(F,t,{describeFont:p.describeFont}),F4(F,t),wA(F.subtype,i,"update"),E4(t,p),O(n);let P=i?.appearance?"regenerate":Ud(F,t);if(P!=="inert"&&_H(a,o,d),t.subtype!==void 0&&t.subtype!==F.subtype&&!a.EPDFAnnot_SetSubtype(d,tc[t.subtype]))throw new g(f.Unknown,"EPDFAnnot_SetSubtype returned false");y4(a,o,d,t,p),t.contents!==void 0&&t.contents!==F.contents&&oA({...F,...t})&&a.EPDFAnnot_RemoveKey(d,"RC");let B=null;t.reply!==void 0&&!eO(t.reply,F.reply)&&Q4(this.runtime,this.session,d,e.page.objectNumber,t.reply===null?{inReplyTo:null}:{inReplyTo:t.reply.to,replyType:t.reply.type??"reply"});let y=!1;t.subtype==="popup"&&F.subtype==="popup"&&t.parent!==void 0&&!xk(t.parent,F.parent)&&(y=!0,B=R4(this.runtime,this.session,d,e.page.objectNumber,t.parent,F.parent));let x=null,I=t.open;if(I!==void 0&&!y){let W=F.subtype==="text"?F.popup:F.subtype==="popup"?F.parent:null;W&&(x=L4(this.runtime,this.session,W,I,F.subtype==="popup"))}Hm(a,o,d),ax(a,o,d,k);let S;P==="inert"||P==="translation"?S={action:"preserved",changed:!1}:S=(F.subtype==="widget"?!F.hasMark&&a.EPDFAnnot_GenerateFormFieldAP(d):Ek(a,d,t.blendMode??m))?{action:"regenerated",changed:!0}:{action:"generation-unavailable",changed:P==="regenerate"},a.FPDFPage_CloseAnnot(d),d=null,d=wi(this.runtime,this.session,s,A);let G=Hc(a,o,d,e.page.objectNumber,A,ms(this.session,this.fonts));gs(this.runtime,this.session,[G]);let T=ya(this.session.writeStamp(),e.page.objectNumber,$4([G.ref,B,x]));return{annotation:G,appearance:S,meta:T}}finally{d!==null&&a.FPDFPage_CloseAnnot(d)}}assertNotAttachedWidget(e,t){let{fn:r}=this.runtime;if(r.FPDFAnnot_GetSubtype(e)!==L.WIDGET)return;let n=r.EPDFAnnot_GetObjectNumber(e);if(t>0&&n===t)return;let i=Jx(this.runtime,this.session,n);if(i!==0)throw new g(f.InvalidArg,i===n?"widget is its form field's own dictionary (a merged field/widget) - delete the field with doc.forms.delete":"widget is attached to a form field - use doc.forms.removeWidget or doc.forms.delete")}delete(e,t,r){O(r);let{fn:n}=this.runtime,i=this.session.requireDocPtr(),a=e.page.objectNumber,{pageIndex:o}=this.session.resolvePageRef(e.page),{annotations:s}=new rd(this.runtime,this.session,this.fonts).listOne(a,r),A=Ti(s,e);if(A.length===0)throw J4(e);$A(t,A);let d=P=>kt(this.runtime,this.session,P).index,p=A.map(P=>d(P.ref));for(let P of p)this.withAnnotAt(o,P,B=>this.assertNotAttachedWidget(B,0));let m=new Set(A.map(P=>U(P.ref))),F=A.flatMap(P=>{if(P.subtype!=="popup"||!P.parent)return[];let B=U(P.parent),y=s.find(x=>U(x.ref)===B);return y&&!m.has(B)?[d(y.ref)]:[]});O(r),an(this.runtime,this.session,a);for(let P of[...p].sort((B,y)=>y-B))if(!n.EPDFPage_RemoveAnnotRaw(i,o,P))throw new g(f.Unknown,`failed to remove annotation ${P} on page ${a}`);for(let P of F){let B=p.filter(y=>yn.EPDFAnnot_RemoveKey(y,"Popup"))}let k=[...A].reverse().map(P=>P.ref);return{meta:ya(this.session.writeStamp(),a,k)}}deleteReleasedWidget(e,t){let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=e.page.objectNumber,{pageIndex:o,index:s}=kt(this.runtime,this.session,e),A=this.withAnnotAt(o,s,d=>(this.assertNotAttachedWidget(d,t),Sa(r,n,i,e.page,d,s)));if(an(this.runtime,this.session,a),!r.EPDFPage_RemoveAnnotRaw(i,o,s))throw new g(f.Unknown,`failed to remove annotation: ${e.kind}`);return{meta:ya(this.session.writeStamp(),a,[A])}}withAnnotAt(e,t,r){let n=wi(this.runtime,this.session,e,t);try{return r(n)}finally{this.runtime.fn.FPDFPage_CloseAnnot(n)}}};function J4(e){return new g(f.NotFound,`no annotation ${U(e)} on page ${e.page.objectNumber}`)}function $4(e){let t=new Set;return e.filter(r=>r===null||t.has(U(r))?!1:(t.add(U(r)),!0))}var xk=(e,t)=>e===null||t===null?e===t:U(e)===U(t);function eO(e,t){return e===null||t===null?e===t:xk(e.to,t.to)&&(e.type??"reply")===t.type}function Hk(e,t,r){let n=qc(e,t,r);return n?V(t,16,i=>(OP(t,i,n.box),e.EPDFAnnot_ExportAppearance(r,Uc(n.rotation),i))):e.EPDFAnnot_ExportAppearance(r,0,Y)}var tO=2;function Tl(e,t,r,n){let i=null;try{return V(t,8,a=>{Se(t,a,0),i=e.EPDF_SaveDocumentToOwnedBuffer(r,tO,a);let o=Number(t.peek(a,"i32"));if(!i||o<=0)throw new g(f.DocOpenFailed,`failed to save ${n}`);let s=t.readBytes(i,o),A=new ArrayBuffer(s.byteLength);return new Uint8Array(A).set(s),{bytes:A,size:o}})}finally{i&&e.EPDF_FreeBuffer(i)}}var nO=0,rO=1,iO=0,aO=2,ll=class{constructor(e,t){this.runtime=e,this.session=t}flatten(e,t,r,n){O(n),this.requireRefs("annotations.flatten",e,t);let{fn:i,mem:a}=this.runtime,o=an(this.runtime,this.session,e),s=this.session.pagePool(),A=s.acquire(e);try{let d=this.resolveAll(A,t),p,m;try{[p,m]=this.withHandleArray(d,P=>V(a,4*t.length,B=>{let y=i.EPDFPage_FlattenAnnotations(A,P,t.length,r==="print"?1:0,B),x=[];for(let I=0;IB===aO);throw new g(P>=0?f.InvalidArg:f.Unknown,P>=0?`annotations.flatten: ref ${P} is not an annotation of page ${e}`:"native annotation flatten failed after preflight")}let F=t.map((P,B)=>({ref:P,status:m[B]===iO?"applied":"unchanged"}));if(p!==rO&&!o){let P={affectedPages:[],cacheDelta:null,...this.session.writeStamp()};return{page:pe(e),usage:r,results:F,meta:P}}this.session.invalidateDerived();let k={affectedPages:[pe(e)],cacheDelta:null,...this.session.writeStamp()};return{page:pe(e),usage:r,results:F,meta:k}}finally{s.release(e)}}exportAppearance(e,t,r){O(r),this.requireRefs("annotations.exportAppearance",e,t);let{fn:n}=this.runtime,i=this.session.pagePool(),a=i.acquire(e),o=null;try{let s=this.resolveAll(a,t);try{o=this.withHandleArray(s,A=>n.EPDFPage_ExportAnnotationsAsDocument(a,A,t.length))}finally{for(let A of s)n.FPDFPage_CloseAnnot(A)}if(!o)throw new g(f.InvalidArg,"annotations.exportAppearance: every ref must be a visible annotation of this page with a normal appearance");return Tl(this.runtime.fn,this.runtime.mem,o,"exported appearances")}finally{o&&n.FPDF_CloseDocument(o),i.release(e)}}readAppearance(e,t,r){O(r);let{fn:n}=this.runtime,i=this.session.pagePool(),a=i.acquire(e),o=null;try{let s=ls(this.runtime,this.session,a,t);try{let A=Yr(n.FPDFAnnot_GetSubtype(s));if(Ri[A]?.appearance===void 0)throw new g(f.InvalidArg,`a ${A} annotation has no 'appearance' resource`);o=Hk(n,this.runtime.mem,s)}finally{n.FPDFPage_CloseAnnot(s)}if(!o)throw new g(f.InvalidArg,"the annotation has no normal appearance to read");return Tl(this.runtime.fn,this.runtime.mem,o,"the appearance")}finally{o&&n.FPDF_CloseDocument(o),i.release(e)}}resolveAll(e,t){let{fn:r}=this.runtime,n=[];try{for(let i of t)n.push(ls(this.runtime,this.session,e,i));return n}catch(i){for(let a of n)r.FPDFPage_CloseAnnot(a);throw i}}withHandleArray(e,t){let{mem:r}=this.runtime,n=this.runtime.kind==="wasm",i=n?4:8;return V(r,Math.max(1,e.length*i),a=>(e.forEach((o,s)=>n?r.poke(a,"i32",Number(o),s*4):r.poke(a,"i64",o,s*8)),t(a)))}requireRefs(e,t,r){if(r.length===0)throw new g(f.InvalidArg,`${e} requires at least one ref`);for(let n of r)if(n.page.objectNumber!==t)throw new g(f.InvalidArg,`${e} refs must all target page ${t}; got ref on page ${n.page.objectNumber}`)}};function Ok(e,t,r){let{fn:n,mem:i}=e,a=new Set(r.flatMap(s=>ea(s).map(fe))),o=t.requireDocPtr();return V(i,16,s=>t.allRecords().filter(A=>a.has(fe(pe(A.pageObjectNumber)))).map(A=>{let d=Kc(n,i,o,A.pageIndex,s).crop;return{page:pe(A.pageObjectNumber),position:A.pageIndex,size:{width:d.right-d.left,height:d.top-d.bottom}}}))}var oO=class{constructor(e,t,r){this.runtime=e,this.kind=t,this.limits=r,j(this,"byId",{}),j(this,"totalBytes",0)}keep(e){Ie(this.kind,this.limits,"resourceBytes",e.byteLength);let{fn:t,mem:r}=this.runtime,n=`sha256-${_m(t,r,new Uint8Array(e))}`;return n in this.byId||(this.byId[n]=e,this.totalBytes+=e.byteLength,Ie(this.kind,this.limits,"resources",Object.keys(this.byId).length),Ie(this.kind,this.limits,"bundleBytes",this.totalBytes)),n}},sO=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}export(e,t,r){O(r);let n=this.session.allRecords(),i=new rd(this.runtime,this.session,this.fonts),a=$u(e,n.map(m=>pe(m.pageObjectNumber)),m=>i.listOne(m.objectNumber,r,"annotations").annotations);Ie("annotation",t,"items",a.length);let o=new AO(this.runtime,this.session,t),s=mi(this.runtime,this.session),A=a.map(m=>(O(r),{data:Mr(m,s(m.ref.page),s),resources:o.of(m)})),d=Ok(this.runtime,this.session,A.map(m=>m.data));Ie("annotation",t,"pages",d.length);let p=Tr({pages:d,items:A});return Ie("annotation",t,"manifestBytes",p),Ie("annotation",t,"bundleBytes",p+o.totalBytes),{format:"embedpdf/annotations",version:1,pages:d,items:A,resources:o.byId}}},AO=class extends oO{constructor(e,t,r){super(e,"annotation",r),this.session=t,j(this,"drawings",new Map)}of(e){let t=Ri[e.subtype];if(!t)return{};let{fn:r}=this.runtime,n=this.rawHandleOf(e);try{let i={};if(t.appearance){let a=this.appearanceOf(n);a&&(i.appearance=a)}if(t.file){let a=this.fileOf(n);a&&(i.file=a)}return i}finally{r.FPDFPage_CloseAnnot(n)}}rawHandleOf(e){return Vc(this.runtime,this.session,e.ref)}appearanceOf(e){let{fn:t,mem:r}=this.runtime,n=t.EPDFAnnot_GetStampDrawing(e),i=n?this.drawings.get(n):void 0;if(i)return i;let a=n?t.EPDFDoc_ExportDrawing(this.session.requireDocPtr(),n):Hk(t,r,e);if(!a)return null;try{let o=this.keep(Tl(t,r,a,"a drawing").bytes);return n&&this.drawings.set(n,o),o}finally{t.FPDF_CloseDocument(a)}}fileOf(e){let t=this.runtime.fn.FPDFAnnot_GetFileAttachment(e);if(!t)return null;let r;try{r=Ph(this.runtime,t,this.limits.resourceBytes).bytes}catch(n){throw g.is(n,f.PayloadTooLarge)?new g(f.PayloadTooLarge,`the annotation bundle is past its resourceBytes limit: an attached file is larger than ${this.limits.resourceBytes}`,{details:{limit:"resourceBytes",max:this.limits.resourceBytes}}):n}return this.keep(r)}};function Ml(e,t,r,n,i){let a=new Map;for(let[d,p]of Object.entries(r.resources??{})){if(!(p instanceof ArrayBuffer))throw new g(f.InvalidArg,`${t} bundle: resource ${d} is not bytes`);a.set(d,p.byteLength)}i(r,a,n);let{fn:o,mem:s}=e,A=new Map;for(let[d,p]of Object.entries(r.resources??{})){let m=_m(o,s,new Uint8Array(p));if(`sha256-${m}`!==d)throw new g(f.InvalidArg,`${t} bundle: resource ${d} doesn't match its id`);A.set(p,m)}return A}function cO(e,t,r){let n=eo(r);n&&"width"in n&&Ie(e,t,"imagePixels",n.width*n.height)}var dO=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}import(e,t){O(t);let{bundle:r,limits:n}=e;this.assertBundle(r,n);let i=uF({bundle:e.attribution==="stamp"?pO(r):r,...e.pages!==void 0?{pages:e.pages}:{},target:this.session.allRecords().map(d=>({page:pe(d.pageObjectNumber),position:d.pageIndex})),nameTaken:(d,p)=>Bk(this.runtime,this.session.requireDocPtr(),this.session.resolvePageRef(d).pageIndex,p)>=0}),a=mi(this.runtime,this.session),o=i.creates.map(d=>{let p=r.items[d.item],m={};for(let[F,k]of Object.entries(p.resources))m[F]=r.resources[k];return{page:d.page,draft:no(d.draft,a(d.page),a),...d.replyTo?{replyTo:{to:{planned:d.replyTo.planned},type:d.replyTo.type}}:{},...d.parent!==void 0?{parent:{planned:d.parent}}:{},resources:m,attribution:uO(e,d.draft,p.data),...p.data.subtype==="file-attachment"&&p.data.file?{fileDates:{createdAt:p.data.file.createdAt,modifiedAt:p.data.file.modifiedAt}}:{},label:`import: item ${d.item}`}});for(let d of o)e.authorizeCreate?.(d.draft);let{created:s,meta:A}=new Sk(this.runtime,this.session,this.fonts).create(o,t);return{annotations:s,refMap:i.creates.map((d,p)=>({from:r.items[d.item].data.ref,to:s[p].ref})),dropped:[...i.dropped],meta:A}}assertBundle(e,t){let r=Ml(this.runtime,"annotation",e,t,fA),n=this.session.drawingIndex();for(let[i,a]of r)n.hashes.set(i,a);for(let i of e.items){let a=i.resources.appearance;a&&cO("annotation",t,e.resources[a])}}};function uO(e,t,r){let{actor:n}=e;if(e.attribution==="stamp"){let{groupId:i}=t,a=typeof i=="string"?{...n,groupId:i}:n;return{kind:"stamp",...a?{actor:a}:{}}}return{kind:"restore",from:{author:r.author,createdAt:r.createdAt,modifiedAt:r.modifiedAt,userId:r.userId,createdBy:r.createdBy,modifiedBy:r.modifiedBy,groupId:r.groupId??null},...n?.userId?{importedBy:n.userId}:{}}}function pO(e){return{...e,items:e.items.map(({data:{nm:t,...r},...n})=>({...n,data:r}))}}function Qk(e,t,r,n){let{fn:i,mem:a}=e;return V(a,Math.max(4,4*n.length),o=>(n.forEach((s,A)=>a.poke(o,"i32",s,4*A)),Pr(e,"annotations",s=>i.EPDFPage_ExportAnnotsRawToOwnedBuffer(t,r,o,n.length,s))))}function Rk(e,t,r,n){Ta(e,n,i=>{if(!e.fn.EPDFPage_ImportAnnotsRaw(t,r,i,n.byteLength))throw new g(f.Unknown,"EPDFPage_ImportAnnotsRaw refused a capture")})}function lO(e,t,r,n){return Pr(e,`object ${r}`,i=>e.fn.EPDFDoc_ExportDictRawToOwnedBuffer(t,r,n.join(" "),i))}function Zm(e,t,r,n,i=[]){return Pr(e,`object ${r}`,a=>e.fn.EPDFDoc_ExportDictCanonicalToOwnedBuffer(t,r,n.join(" "),i.join(" "),a))}function mO(e,t,r){Ta(e,r,n=>{if(!e.fn.EPDFDoc_ImportDictRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFDoc_ImportDictRaw refused a capture")})}function wO(e,t,r){return Pr(e,`field ${r}`,n=>e.fn.EPDFForm_ExportFieldRawToOwnedBuffer(t,r,n))}function bO(e,t,r){Ta(e,r,n=>{if(!e.fn.EPDFForm_ImportFieldRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFForm_ImportFieldRaw refused a capture")})}function fO(e,t,r){return Pr(e,`outline item ${r}`,n=>e.fn.EPDFOutline_ExportItemRawToOwnedBuffer(t,r,n))}function gO(e,t,r){Ta(e,r,n=>{if(!e.fn.EPDFOutline_ImportItemRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFOutline_ImportItemRaw refused a capture")})}function FO(e,t,r){return Pr(e,`page ${r}`,n=>e.fn.EPDFPage_ExportRawToOwnedBuffer(t,r,n))}function vO(e,t,r){Ta(e,r,n=>{if(!e.fn.EPDFPage_ImportRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFPage_ImportRaw refused a capture")})}function PO(e,t,r){return Pr(e,`attachment '${r}'`,n=>Wn(e.mem,r,i=>e.fn.EPDFAttachment_ExportRawToOwnedBuffer(t,i,n)))}function Tk(e,t,r){try{return Pr(e,`attachment '${r}'`,n=>Wn(e.mem,r,i=>e.fn.EPDFAttachment_ExportCanonicalToOwnedBuffer(t,i,n)))}catch(n){if(g.is(n))return null;throw n}}function hO(e,t,r){Ta(e,r,n=>{if(!e.fn.EPDFAttachment_ImportRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFAttachment_ImportRaw refused a capture")})}function Pr(e,t,r){let{fn:n,mem:i}=e;return V(i,8,a=>{Se(i,a,0);let o=r(a);if(!o)throw new g(f.Unknown,`the capture of ${t} failed`);try{return i.readBytes(o,Number(i.peek(a,"i32"))).slice()}finally{n.EPDF_FreeBuffer(o)}})}function Ta(e,t,r){let{mem:n}=e;return V(n,Math.max(1,t.byteLength),i=>(n.writeBytes(i,t),r(i)))}function ze(e,t,r=kO){if(Object.is(e,t))return!0;if(typeof e!="object"||typeof t!="object"||e===null||t===null)return!1;if(Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((o,s)=>ze(o,t[s]));let n=Nv(e,r),i=Nv(t,r);if(n.length!==i.length)return!1;let a=o=>o;return n.every(o=>i.includes(o)&&ze(a(e)[o],a(t)[o]))}var kO=new Set;function Nv(e,t){return Object.entries(e).filter(([r,n])=>n!==void 0&&!t.has(r)).map(([r])=>r)}function ve(e,t){return{item:{type:"skipped",op:t,meta:{affectedPages:[],cacheDelta:null,...e.session.writeStamp()}},reverse:[]}}function Cn(e,t,r){if(!r)return;let n=t,i=Object.entries(r).filter(([a,o])=>o!==void 0&&!ze(n[a],o)).map(([a])=>a);if(i.length>0)throw new g(f.ChangeConflict,`op ${e} expected other values in ${i.join(", ")}`,{details:{opIndex:e,fields:i}})}function ld(e,t){if(e.byteLength!==t.byteLength)return!1;for(let r=0;r({...n,after:Zm(e,t.requireDocPtr(),n.objectNumber,[])}))}function Ma(e,t,r){return r.every(n=>{let i=DO(e,t,n.objectNumber);return i!==null&&ld(i,n.after)})}function Gs(e,t,r){let n=sn(e,t,r),i=t.requireDocPtr();for(let a of r)a.before&&mO(e,i,a.before);return t.invalidateDerived(),Dt(e,t,n)}function DO(e,t,r){try{return Zm(e,t.requireDocPtr(),r,[])}catch(n){if(g.is(n))return null;throw n}}function BO(e,t,r,n){try{return lO(e,t.requireDocPtr(),r,n)}catch(i){if(g.is(i))return null;throw i}}function md(e,t,r){let{fn:n,mem:i}=e,a=t.requireDocPtr(),{pageIndex:o}=t.resolvePageRef(r),s=n.EPDFPage_GetAnnotCountRaw(a,o),A=[];for(let d=0;dr?.family===t?[r.ref]:[])}function Jm(e,t,r,n){if(r.length===0)throw new g(f.InvalidArg,"a reorder names at least one row",{details:{field:"refs"}});let i=new Map;e.entries.forEach((P,B)=>{P&&i.set(U(P.ref),B)});let a=Rr(n);(a?[...r,a]:r).forEach((P,B)=>{let y=a&&B===r.length?"position":"refs";if(P.page.objectNumber!==e.page.objectNumber)throw new g(f.InvalidArg,`${U(P)} is on page ${P.page.objectNumber}; a reorder stays on page ${e.page.objectNumber}`,{details:{field:y}});let x=i.get(U(P)),I=x===void 0?null:e.entries[x];if(I&&I.family!==t)throw new g(f.InvalidArg,EO(I.family),{details:{field:y}})});let o=Ll(e,t),s=mA(o,r,n,U),A=r.map(P=>i.get(U(P))),d=new Set(A),p=P=>P-A.filter(B=>Bi.get(U(P))).filter(P=>!d.has(P)),F=Math.min(...A),k;if(n==="start")k=m.length>0?p(m[0]):F;else if(n==="end")k=m.length>0?p(m.at(-1))+1:F;else{let P=p(i.get(U(a)));k="before"in n?P:P+1}return{stack:e,family:t,before:o,after:s,from:A,to:k}}function $m(e,t,r){let{fn:n,mem:i}=e;if(an(e,t,r.stack.page.objectNumber),!V(i,4*r.from.length,a=>(r.from.forEach((o,s)=>i.poke(a,"i32",o,4*s)),n.EPDFPage_MoveAnnotsRaw(t.requireDocPtr(),r.stack.pageIndex,a,r.from.length,r.to))))throw new g(f.Unknown,`the annotations of page ${r.stack.page.objectNumber} could not be reordered`)}function EO(e){return e==="widgets"?"widgets paint above every annotation and have an order of their own: reorder them with doc.forms.reorderWidgets":"annotations paint below every widget and have an order of their own: reorder them with page.annotations.reorder"}function gt(e,t,r,n=r){let i=new Set;for(let a of r)a.page&&i.add(a.page.objectNumber);return{affectedPages:[...i].map(a=>pe(a)),cacheDelta:null,...e,changedFields:t,changedWidgets:r,redrawnWidgets:n}}function Nl(e,t){return e==="checkbox"||e==="radio"?[]:[...t]}var _O=["AP","FS"];function yO(e,t){if(t.data.subtype==="widget")throw new g(f.InvalidArg,"a widget is the form's: create one with doc.forms.create or doc.forms.addWidget",{details:{field:"subtype"}});lt(e.authority,Ar(t.data.subtype));let r=ZA(e.authority,t.data.subtype,t.data.groupId),n=e.session.resolvePageRef(t.page).pageObjectNumber,i=nw(e).create(n,t.data,e.signal,{...r?{actor:r}:{},...t.resources?{resources:t.resources}:{},...t.objectNumber!==void 0?{objectNumber:t.objectNumber}:{}});return{item:{type:"annotations.create",page:t.page,...i},reverse:[{kind:"annotation.remove",ref:i.annotation.ref,left:[i.annotation]}]}}function GO(e,t){let r=t.attribution==="restore"?"import":void 0;r&&ew(e.authority);let n=new dO(e.runtime,e.session,e.fonts).import({bundle:t.bundle,...t.pages!==void 0?{pages:t.pages}:{},attribution:t.attribution,...t.actor?{actor:t.actor}:{},limits:t.limits,authorizeCreate:i=>{lt(e.authority,Ar(i.subtype)),r||ZA(e.authority,i.subtype,i.groupId??void 0)}},e.signal);return{item:{type:"annotations.import",...n},reverse:CO(e,n.annotations,r)}}function CO(e,t,r){let n=new Map,i=s=>{let A=n.get(s.page.objectNumber);return A||(A=Cs(e,s.page.objectNumber),n.set(s.page.objectNumber,A)),Ti(A,s)},a=t.map(s=>({ref:s.ref,left:i(s.ref)})),o=new Set(a.flatMap(s=>s.left.map(A=>U(A.ref)).filter(A=>A!==U(s.ref))));return a.filter(s=>!o.has(U(s.ref))).reverse().map(s=>({kind:"annotation.remove",ref:s.ref,left:s.left,...r?{rights:r}:{}}))}function ew(e){ge(e,"doc.annotate.modify"),ge(e,"doc.annotate.import")}function IO(e){return{...e,grants:null}}function SO(e,t,r){let n=qn(e,t.ref);if(n.subtype==="widget")throw new g(f.InvalidArg,"a widget is the form's: change its place and look with doc.forms.updateWidget");return lt(e.authority,Ar(n.subtype)),Cn(r,n,t.expect),tw(e,t.ref,t.patch,"annotations.update",t.resources)}function xO(e,t,r){let n=qn(e,t.ref);if(n.subtype==="widget")throw HO(n);return lt(e.authority,Ar(n.subtype)),Cn(r,n,t.expect),Kk(e,t.ref)}function HO(e){let t=e.field?.kind==="objectNumber"&&e.ref.kind==="objectNumber"&&e.field.objectNumber===e.ref.objectNumber;return new g(f.InvalidArg,t?"widget is its form field's own dictionary (a merged field/widget) - delete the field with doc.forms.delete":e.field?"widget is attached to a form field - use doc.forms.removeWidget or doc.forms.delete":"a widget is the form's: it isn't deleted as an annotation")}function OO(e,t){let r=Jm(md(e.runtime,e.session,t.page),"annotations",t.refs,t.position);return Lk(e,"annotations",t.refs),$m(e.runtime,e.session,r),Mk(e,r,t.refs)}function Mk(e,t,r){let{page:n}=t.stack;return{item:Nk(e,t.family,n,t.after,r),reverse:[{kind:"annotation.reorder",page:n,family:t.family,refs:r,before:t.before,after:t.after}]}}function QO(e,t){let r=t.subject.annotation,n=t.reports,i=KO(e,r);if(!i)return ve(e,n);if(lt(e.authority,Ar(i.subtype)),Ma(e.runtime,e.session,t.objects)){JA(e.authority,i,void 0);let B=Gs(e.runtime,e.session,t.objects);return{item:jk(e,n,r,{annotation:qn(e,r),appearance:{action:"restored",changed:t.appearanceChanged??!0},meta:ya(e.session.writeStamp(),r.page.objectNumber,[r])}),reverse:[{...t,objects:B,...NO(t.fallback)}]}}let a=t.fallback;if(a?.kind!=="annotation")return ve(e,n);let o=i,s=a.left,A=a.restore,d=Object.keys(s),p=d.filter(B=>ze(o[B],s[B]));if(p.length===0)return ve(e,n);let m=(B,y)=>B==="actions"&&i.subtype==="widget"?Nu(y):y,F=tw(e,r,Object.fromEntries(p.map(B=>[B,m(B,A[B])])),n),k=d.filter(B=>!p.includes(B)),P=F.item;return k.length===0||Nr(P)||P.type!==n?F:{...F,item:{...P,skipped:k}}}function RO(e,t){let r=rw(e,t.ref.page);if(!r)return ve(e,"annotations.delete");let n=Ti(r,t.ref),i=new Map(t.left.map(a=>[U(a.ref),a]));if(!(n.length>0&&n.length===i.size&&n.every(a=>{let o=i.get(U(a.ref));return o!==void 0&&ze(a,o)})))return ve(e,"annotations.delete");for(let a of Eo(n))lt(e.authority,a);return t.rights&&ew(e.authority),Kk(e,t.ref,t.rights)}function TO(e,t){let r=rw(e,t.page),n=t.members[0];if(!r||!n||r.some(A=>U(A.ref)===U(n)))return ve(e,"annotations.restore");let{pageIndex:i,pageObjectNumber:a}=e.session.resolvePageRef(t.page);Rk(e.runtime,e.session.requireDocPtr(),i,t.capture),e.session.invalidateDerived(),t.unlinked.length>0&&Ma(e.runtime,e.session,t.unlinked)&&Gs(e.runtime,e.session,t.unlinked);let o=Cs(e,a),s=t.members.map(A=>{let d=o.find(p=>U(p.ref)===U(A));if(!d)throw new Error(`a restored annotation is missing: ${U(A)}`);return d});for(let A of Eo(s))lt(e.authority,A);return t.rights?ew(e.authority):$A(e.authority,s),{item:{type:"annotations.restore",page:t.page,annotations:s,meta:ya(e.session.writeStamp(),a,t.members)},reverse:[{kind:"annotation.remove",ref:n,left:s,...t.rights?{rights:t.rights}:{}}]}}function MO(e,t){let r=t.family==="annotations"?"annotations.reorder":"forms.reorderWidgets",n=VO(e,t.page);if(!n)return ve(e,r);let i=Ll(n,t.family),a=t.refs.filter(p=>{let m=jv(i,p);return m!==void 0&&m===jv(t.after,p)});if(a.length===0)return ve(e,r);Lk(e,t.family,a);let o=new Set(a.map(U)),s=new Set(i.map(U).filter(p=>!o.has(p))),A=n;for(let p of t.before.filter(m=>o.has(U(m)))){let m=t.before.findIndex(P=>U(P)===U(p)),F=t.before.slice(0,m).reverse().find(P=>s.has(U(P))),k=Jm(A,t.family,[p],F?{after:F}:"start");$m(e.runtime,e.session,k),s.add(U(p)),A=md(e.runtime,e.session,t.page)}let d=Ll(A,t.family);return{item:Nk(e,t.family,t.page,d,a),reverse:[{...t,refs:a,before:i,after:d}]}}function jv(e,t){let r=e.findIndex(n=>U(n)===U(t));if(!(r<0))return r===0?null:U(e[r-1])}function Lk(e,t,r){if(t==="widgets"){ge(e.authority,"doc.forms.modify");return}let n=r.map(i=>qn(e,i));for(let i of Eo(n))ge(e.authority,i)}function Nk(e,t,r,n,i){let a=e.session.writeStamp();return t==="annotations"?{type:"annotations.reorder",page:r,order:n,meta:ya(a,r.objectNumber,i)}:{type:"forms.reorderWidgets",page:r,order:n,meta:gt(a,[],i.map(o=>({ref:o,objectNumber:gi(e,o),page:r})))}}function tw(e,t,r,n,i){an(e.runtime,e.session,t.page.objectNumber);let a=qn(e,t),o=a.subtype==="widget"?co(a.fieldKind,r):r,s=jO(a,o).map(m=>({objectNumber:gi(e,m),deep:[]})),A=sn(e.runtime,e.session,[{objectNumber:gi(e,t),deep:_O},...s]),d=nw(e).update(t,o,e.authority,e.signal,i),p=Dt(e.runtime,e.session,A);return{item:jk(e,n,t,d),reverse:[{kind:"objects.revert",reports:n,objects:p,subject:{annotation:t},appearanceChanged:d.appearance.changed,fallback:LO(a,d.annotation,o)}]}}function jk(e,t,r,n){if(t==="annotations.update")return{type:"annotations.update",page:r.page,...n};let i=n.annotation;if(i.subtype!=="widget")throw new Error("a widget update read back no widget");let a=Gt(gi(e,r),r.page);return{type:"forms.updateWidget",widget:i,appearance:n.appearance,meta:gt(e.session.writeStamp(),i.field?[i.field]:[],[a],n.appearance.changed?[a]:[])}}function Kk(e,t,r){let n=t.page.objectNumber;an(e.runtime,e.session,n);let i=Ti(Cs(e,n),t),a=new Set(i.map(F=>U(F.ref))),o=i.flatMap(F=>F.subtype==="popup"&&F.parent&&!a.has(U(F.parent))?[{objectNumber:gi(e,F.parent),deep:[]}]:[]),s=sn(e.runtime,e.session,o),{pageIndex:A}=e.session.resolvePageRef(t.page),d=i.length>0?Qk(e.runtime,e.session.requireDocPtr(),A,i.map(F=>kt(e.runtime,e.session,F.ref).index)):new Uint8Array,p=r?IO(e.authority):e.authority,m=nw(e).delete(t,p,e.signal);return{item:{type:"annotations.delete",page:t.page,...m},reverse:[{kind:"annotation.restore",page:t.page,members:m.meta.changedRefs,capture:d,unlinked:Dt(e.runtime,e.session,s),...r?{rights:r}:{}}]}}function LO(e,t,r){let n=e,i=t,a=Object.keys(r).filter(o=>!ze(n[o],i[o]));return{kind:"annotation",restore:Object.fromEntries(a.map(o=>[o,n[o]])),left:Object.fromEntries(a.map(o=>[o,i[o]]))}}function NO(e){return e?.kind!=="annotation"?e?{fallback:e}:{}:{fallback:{kind:"annotation",restore:e.left,left:e.restore}}}function jO(e,t){let r=[];if("open"in t&&(e.subtype==="text"&&e.popup&&r.push(e.popup),e.subtype==="popup"&&e.parent&&r.push(e.parent)),e.subtype==="popup"&&"parent"in t){e.parent&&r.push(e.parent);let n=t.parent;n&&r.push(n)}return r}function nw(e){return new zm(e.runtime,e.session,e.fonts)}function qn(e,t){kt(e.runtime,e.session,t);let r=U(t),n=Cs(e,t.page.objectNumber).find(i=>U(i.ref)===r);if(!n)throw new Error(`annotation ${r} is on its page but reads as none`);return n}function KO(e,t){return rw(e,t.page)?.find(r=>U(r.ref)===U(t))??null}function Cs(e,t){return new rd(e.runtime,e.session,e.fonts).listOne(t,e.signal).annotations}function VO(e,t){try{return md(e.runtime,e.session,t)}catch{return null}}function rw(e,t){try{return Cs(e,e.session.resolvePageRef(t).pageObjectNumber)}catch{return null}}function gi(e,t){if(t.kind==="objectNumber")return t.objectNumber;let{pageIndex:r,index:n}=kt(e.runtime,e.session,t),i=wi(e.runtime,e.session,r,n);try{return e.runtime.fn.EPDFAnnot_GetObjectNumber(i)}finally{e.runtime.fn.FPDFPage_CloseAnnot(i)}}var ml=class{constructor(e,t){this.runtime=e,this.session=t}list(e){O(e);let{fn:t,mem:r}=this.runtime,n=this.session.requireDocPtr(),i=t.FPDFDoc_GetAttachmentCount(n),a=[];for(let o=0;onew YO(e.runtime,e.session),wd=e=>ge(e.authority,"doc.attachments.modify");function XO(e,t){wd(e);let r=iw(e).create(t.file,t.resources.file,e.signal);return{item:{type:"attachments.create",...r},reverse:[Yk(e,r.attachment.ref)]}}function WO(e,t){return wd(e),Vk(e,t.ref)}function UO(e,t){let r=Tk(e.runtime,e.session.requireDocPtr(),t.ref.key);return!r||!ld(r,t.left)?ve(e,"attachments.delete"):(wd(e),Vk(e,t.ref))}function qO(e,t){let r=iw(e);if(r.find(t.ref))return ve(e,"attachments.restore");wd(e),hO(e.runtime,e.session.requireDocPtr(),t.capture);let n=r.find(t.ref);if(!n)throw new g(f.Unknown,`attachment '${t.ref.key}' did not come back`);return{item:{type:"attachments.restore",attachment:n,meta:r.meta(t.ref)},reverse:[Yk(e,t.ref)]}}function Vk(e,t){let r=iw(e);if(!r.find(t))throw new g(f.NotFound,`no embedded file with key '${t.key}' in the document`,{details:{field:"ref"}});let n=PO(e.runtime,e.session.requireDocPtr(),t.key);return{item:{type:"attachments.delete",...r.delete(t,e.signal)},reverse:[{kind:"attachments.restore",ref:t,capture:n}]}}function Yk(e,t){let r=Tk(e.runtime,e.session.requireDocPtr(),t.key);if(!r)throw new g(f.Unknown,`attachment '${t.key}' is not there to guard`);return{kind:"attachments.remove",ref:t,left:r}}var zO=20;function Kv(e,t,r,n,i,a){let{fn:o,mem:s}=e,A=o.EPDFPage_CreateAnnotRaw(t,r,zO,i??0);if(A===Y&&i!==void 0)throw us(i,"taken");if(A===Y)throw new g(f.Unknown,"failed to create widget annotation");try{gr(o,s,A,"NM",NA());let{page:d,rect:p,rotation:m,exportValue:F,actions:k,...P}=n;rt(o,s,A,p),m&&hk(o,A,m),Object.keys(P).length>0&&Wm(o,s,A,P,a),k&&vk(e,t,A,k);let B=o.EPDFAnnot_GetObjectNumber(A);if(B<=0)throw new g(f.Unknown,"widget annotation has no object number");return B}finally{o.FPDFPage_CloseAnnot(A)}}var ZO={readOnly:1,required:2,noExport:4,multiline:4096,password:8192,noToggleToOff:16384,edit:1<<18,multiSelect:1<<21,comb:1<<24,radiosInUnison:1<<25};function Vv(e){let t=0,r=0;for(let[n,i]of Object.entries(ZO)){let a=e[n];a===!0?t|=i:a===!1&&(r|=i)}return{setBits:t,clearBits:r}}function jt(e,t,r){let{fn:n}=e;if(r.kind==="objectNumber"){let a=n.EPDFForm_GetFieldIndexByObjNum(t,r.objectNumber);if(a<0)throw new g(f.NotFound,`form field not found: object ${r.objectNumber}`);return{fieldIndex:a,fieldObjectNumber:r.objectNumber}}let i=n.EPDFForm_CountFields(t);for(let a=0;an.EPDFForm_GetFieldName(t,a,o,s))??"")===r.name)return{fieldIndex:a,fieldObjectNumber:n.EPDFForm_GetFieldObjNum(t,a)};throw new g(f.NotFound,`form field not found: "${r.name}"`)}function Ec(e){return e.ref.kind==="objectNumber"?e.ref.objectNumber:0}var JO=1,$O={0:"whole-revision",1:"partial",2:"malformed"},eQ=0,tQ=1,nQ=2,rQ=3,iQ=4,aQ=5,oQ=6,sQ={1:"all",2:"include",3:"exclude"},AQ=0,jl=1,cQ=1,dQ=2,Yv=4,uQ=8,pQ=64,lQ=1<<17,mQ=0,wQ=1,bQ=2,fQ=2,gQ=432;function Fs(e,t){return we(e.mem,t,"")}function Xk(e){return e===1||e===2||e===3}function Wk(e,t,r){let{fn:n,mem:i}=e;return V(i,32,a=>{for(let o=0;o<4;o++)Se(i,a,0,o*8);return n.EPDFSig_GetByteRange(t,r,a)?[He(i,a,0),He(i,a,8),He(i,a,16),He(i,a,24)]:null})}function Xv(e,t,r,n){let{fn:i}=e,a=n===jl?i.EPDFSig_GetLockAction(t,r):i.EPDFSig_GetFieldMDPAction(t,r),o=sQ[a];if(!o)return null;let s=[],A=i.EPDFSig_GetFieldNameCount(t,r,n);for(let p=0;pi.EPDFSig_GetFieldNameAt(t,r,n,p,m,F))??"");let d={action:o,fields:s};if(n===jl){let p=i.EPDFSig_GetLockPermission(t,r);Xk(p)&&(d.permission=p)}return d}function FQ(e,t,r){let{fn:n}=e;if(!n.EPDFSig_HasSeedValue(t,r))return null;let i=n.EPDFSig_GetSeedValueRequiredFlags(t,r)>>>0,a=n.EPDFSig_GetSeedValuePresentFlags(t,r)>>>0,o=n.EPDFSig_GetSeedValueVersion(t,r),s=n.EPDFSig_GetSeedValueMDP(t,r),A=p=>{let m=n.EPDFSig_GetSeedValueListCount(t,r,p),F=[];for(let k=0;kn.EPDFSig_GetSeedValueListAt(t,r,p,k,P,B))??"");return F},d=p=>(i&p)!==0;return{parserVersion:o>0?o:null,parserVersionRequired:d(Yv),mdp:(a&lQ)!==0&&s>=0&&s<=3?s:null,filter:Fs(e,(p,m)=>n.EPDFSig_GetSeedValueFilter(t,r,p,m)),filterRequired:d(cQ),subFilters:A(mQ),subFiltersRequired:d(dQ),digestMethods:A(wQ),digestMethodsRequired:d(pQ),reasons:A(bQ),reasonsRequired:d(uQ),unsupportedRequired:(i&gQ)!==0||(i&Yv)!==0&&o>fQ}}function Fi(e,t){let{fn:r}=e,n=r.EPDFSig_Count(t),i=[],a=(o,s)=>Fs(e,(A,d)=>r.EPDFSig_GetString(t,o,s,A,d));for(let o=0;or.EPDFSig_GetFieldName(t,o,m,F))??"",widget:A>0?Gt(A,Dm(r.EPDFSig_GetWidgetPageObjNum(t,o))):null,signed:s,kind:r.EPDFSig_GetKind(t,o)===JO?"timestamp":"signature",filter:a(o,eQ),subFilter:a(o,tQ),byteRange:s?Wk(e,t,o):null,contentsSizeBytes:s?Math.max(0,r.EPDFSig_GetContents(t,o,Y,0)):0,coverage:s?$O[r.EPDFSig_GetCoverage(t,o)]??"malformed":null,revisionIndex:s&&d>=0?d:null,signer:{name:a(o,nQ),reason:a(o,rQ),location:a(o,iQ),contactInfo:a(o,aQ),signedAt:vQ(a(o,oQ))},docMdp:Xk(p)?p:null,catalogCertification:r.EPDFSig_IsCatalogCertification(t,o),fieldMdp:Xv(e,t,o,AQ),lock:Xv(e,t,o,jl),seedValue:FQ(e,t,o)})}return i}function Uk(e,t,r){let{fn:n,mem:i}=e,a=n.EPDFSig_GetContents(t,r,Y,0);if(a<=0)throw new g(f.NotFound,"signature has no usable /Contents (malformed encoding)");return V(i,a,o=>{if(n.EPDFSig_GetContents(t,r,o,a)!==a)throw new g(f.Unknown,"failed to read signature contents");let s=new Uint8Array(a);return s.set(i.readBytes(o,a)),s})}function Rc(e,t,r){let{fn:n,mem:i}=e,a=n.EPDFDoc_GetRevisionCount(t),o=[];return a<=0||he(i,[8,8],([s,A])=>{for(let d=0;dm.revisionIndex===d);o.push({index:d,end:He(i,s),xrefOffset:He(i,A),signatureIndex:p?p.index:null})}}),o}function Tc(e,t,r){let n=e.fn.EPDFSig_LoadModel(t);if(n===Y)throw new g(f.Unknown,"failed to build signature model");try{return r(n)}finally{e.fn.EPDFSig_CloseModel(n)}}function wl(e,t){let{fn:r,mem:n}=e,[i,a,o]=he(n,[4,4,4],([m,F,k])=>(n.poke(m,"i32",0),n.poke(F,"i32",0),n.poke(k,"i32",0),r.EPDFDoc_GetStructureObjectNumbers(t,m,F,k),[Number(n.peek(m,"i32"))>>>0,Number(n.peek(F,"i32"))>>>0,Number(n.peek(k,"i32"))>>>0])),s=[],A=r.FPDF_GetPageCount(t);for(let m=0;m{d.push({objectNumber:Ec(m),name:m.name,kind:m.kind,widgets:m.widgets.map(k=>k.objectNumber),flags:r.EPDFForm_GetFieldFlags(p,F)})})}finally{r.EPDFForm_CloseModel(p)}return{root:i,acroForm:a,pagesRoot:o,pages:s,fields:d,signatures:Tc(e,t,m=>Fi(e,m))}}function vQ(e){return e?Xn(e):null}var cs=new WeakMap;function Ba(e,t){let r=t.cacheSeq(),n=cs.get(t);if(n&&n.seq===r)return n.ptr;n&&(e.fn.EPDFSig_CloseModel(n.ptr),cs.delete(t));let i=e.fn.EPDFSig_LoadModel(t.requireDocPtr());if(i===Y)throw new g(f.Unknown,"failed to build signature model");return cs.set(t,{seq:r,ptr:i}),i}function _c(e,t){let r=cs.get(t);r&&(e.fn.EPDFSig_CloseModel(r.ptr),cs.delete(t))}var vs={sha1:0,sha256:1,sha384:2,sha512:3},PQ={sha1:20,sha256:32,sha384:48,sha512:64},st=class{constructor(e,t){this.runtime=e,this.session=t}readSnapshot(){let e=Ba(this.runtime,this.session),t=this.runtime.fn.EPDFSig_IsRevisionChainValid(e),r=Fi(this.runtime,e);return{chainValid:t,revisions:t?Rc(this.runtime,this.session.requireDocPtr(),r):[],signatures:r,protection:Ut(r)}}readProtection(){let e=Ba(this.runtime,this.session);return Ut(Fi(this.runtime,e))}readContents(e){let t=Ba(this.runtime,this.session),r=this.requireSignedIndex(t,e);return Uk(this.runtime,t,r).buffer}digest(e,t){let r=Ba(this.runtime,this.session),n=this.requireSignedIndex(r,e),i=Wk(this.runtime,r,n);if(!i)throw new g(f.NotFound,"signature has no usable /ByteRange");return this.digestRange(i,t)}revisionBytes(e){let t=this.readSnapshot();if(!t.chainValid)throw new g(f.MalformedPdf,"revision chain is not valid");let r=t.revisions[e];if(!r)throw new g(f.NotFound,`no revision ${e}`);return this.readLoadedBytes(0,r.end)}resolveField(e){let{fn:t}=this.runtime,r=Ba(this.runtime,this.session),n=this.indexOf(r,e);if(n<0)throw new g(f.NotFound,e.kind==="objectNumber"?`signature field not found: object ${e.objectNumber}`:`signature field not found: "${e.name}"`);let i=t.EPDFSig_GetWidgetObjNum(r,n);return{index:n,fieldObjectNumber:t.EPDFSig_GetFieldObjNum(r,n),signed:t.EPDFSig_IsSigned(r,n),widget:i>0?Gt(i,Dm(t.EPDFSig_GetWidgetPageObjNum(r,n))):null}}readSignatureByObjectNumber(e){let t=this.readSnapshot().signatures.find(r=>r.field.kind==="objectNumber"&&r.field.objectNumber===e);if(!t)throw new g(f.NotFound,`signature field not found: object ${e}`);return t}loadedBytes(){let e=Number(this.runtime.fn.EPDFDoc_GetLoadedBytesSize(this.session.requireDocPtr()));return this.readLoadedBytes(0,e)}version(){let{fn:e,mem:t}=this.runtime,r=this.session.requireDocPtr(),n=Number(e.EPDFDoc_GetBaseBytesSize(r));if(n<=0)throw new g(f.DocNotOpen,"document has no loaded bytes");if(this.session.kind==="layer")return{sha256:V(t,32,o=>{if(!e.EPDFLayer_GetBaseSha256(r,o))throw new g(f.Unknown,"failed to read the base hash");return Uv(t.readBytes(o,32))}),sizeBytes:n};let i=this.session.cachedPlainSha256();if(i)return{sha256:i,sizeBytes:n};let a=Uv(new Uint8Array(this.digestRange([0,n,n,0],"sha256")));return this.session.rememberPlainSha256(a),{sha256:a,sizeBytes:n}}digestRange(e,t){let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=PQ[t];return he(n,[32,a,8],([o,s,A])=>{for(let p=0;p<4;p++)Se(n,o,e[p],p*8);if(Se(n,A,a),!r.EPDFSig_DigestByteRange(i,o,vs[t],s,A))throw new g(f.InvalidArg,"byte range is not within the loaded bytes");let d=Number(n.peek(A,"i32"));return Wv(n.readBytes(s,d))})}readLoadedBytes(e,t){let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr();return t===0?new ArrayBuffer(0):V(n,t,a=>{if(r.EPDFDoc_ReadLoadedBytes(i,BigInt(e),a,t)!==t)throw new g(f.Unknown,"failed to read the loaded bytes");return Wv(n.readBytes(a,t))})}indexOf(e,t){let{fn:r}=this.runtime;if(t.kind==="objectNumber")return r.EPDFSig_GetIndexByFieldObjNum(e,t.objectNumber);let n=r.EPDFSig_Count(e);for(let i=0;ir.EPDFSig_GetFieldName(e,i,a,o))===t.name)return i;return-1}requireSignedIndex(e,t){let{fn:r}=this.runtime,n=this.indexOf(e,t);if(n<0)throw new g(f.NotFound,t.kind==="objectNumber"?`signature field not found: object ${t.objectNumber}`:`signature field not found: "${t.name}"`);if(!r.EPDFSig_IsSigned(e,n))throw new g(f.NotFound,"signature field is not signed");return n}readString(e,t,r){return this.readWide((n,i)=>this.runtime.fn.EPDFSig_GetString(e,t,r,n,i))}readWide(e){return we(this.runtime.mem,e,"")}};function Wv(e){let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(e),t}function Uv(e){let t="";for(let r of e)t+=r.toString(16).padStart(2,"0");return t}function Kl(e,t){if(t.signedDocumentPolicy!=="protect")return null;let r;try{r=new st(e,t).readProtection()}catch{return null}return r.fieldLocks.length===0?null:n=>Yu(r,n)}function hQ(e,t){let r=t?.(e);if(r)throw new g(f.ProtectedDocument,`form field "${e}" is locked by signature ${r.signatureIndex} (${r.source==="fieldmdp"?"FieldMDP":"/Lock"})`)}var kQ=0;function qk(e,t,r,n,{recordFit:i}){let{mem:a,fn:o}=e,s=new tn;try{let A=r.page?o.EPDFDoc_LoadPageByObjectNumber(t,r.page.objectNumber):Y;if(!A)throw new g(f.NotFound,"the widget page could not be loaded");s.push(()=>o.FPDF_ClosePage(A));let d=o.EPDFPage_GetAnnotByObjectNumber(A,r.objectNumber);if(!d)throw new g(f.NotFound,"the signature widget could not be loaded");s.push(()=>o.FPDFPage_CloseAnnot(d));let p=a.alloc(n.byteLength);s.push(()=>a.free(p)),a.writeBytes(p,n);let m=o.FPDF_LoadMemDocument64(p,n.byteLength,"");if(!m)throw new g(f.MalformedPdf,"the appearance PDF could not be opened");s.push(()=>o.FPDF_CloseDocument(m));let F=o.FPDF_GetPageCount(m);if(F!==1)throw new g(f.InvalidArg,`the appearance PDF has ${F} pages; a signature appearance takes a one-page PDF`);if(!o.EPDFAnnot_SetAppearanceFromPage(d,m,0))throw new g(f.InvalidArg,"the appearance page could not be drawn into the widget");if(!o.EPDFAnnot_UpdateAppearanceToRect(d,kQ))throw new g(f.Unknown,"the appearance page could not be fitted into the widget");i&&gm(o,a,d,"contain")}finally{s.close()}}function Ps(e,t){let{fn:r}=e,n=[],i=r.EPDFForm_CountCalculationOrder(t);for(let a=0;a0&&!n.includes(s)&&n.push(s)}return n}function Vl(e,t,r){let{fn:n,mem:i}=e;if(!nn(i,r,(a,o)=>n.EPDFForm_SetCalculationOrder(t,a,o)))throw new g(f.InvalidArg,"the calculation order could not be written")}function Mc(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}function DQ(e,{before:t,after:r},n){let i=r.filter(o=>!t.includes(o)),a=e.filter(o=>!i.includes(o));for(let o of t){if(r.includes(o)){if(mc(t,o)===mc(r,o)||mc(e,o)!==mc(r,o))continue;a=a.filter(p=>p!==o)}else if(a.includes(o)||!n(o))continue;let s=t.indexOf(o),A=t.slice(0,s).reverse().find(p=>a.includes(p)),d=A===void 0?0:a.indexOf(A)+1;a=[...a.slice(0,d),o,...a.slice(d)]}return a}function mc(e,t){let r=e.indexOf(t);if(!(r<0))return r===0?null:e[r-1]}var qv={keystroke:0,format:1,validate:2,calculate:3};function zv(e,t,r,n,i){for(let a of Object.keys(qv)){let o=i[a];if(o===void 0)continue;if(o!==null&&!wo(o))throw new g(f.InvalidArg,`a field's ${a} event takes JavaScript only`,{details:{field:`actions.${a}`}});let s=n?.[a];if(o===null?!s:s!==void 0&&BQ(s,o))continue;let A=o===null?Y:Xm(e,t,o);if(!e.fn.EPDFForm_SetFieldEventAction(t,r,qv[a],A))throw new g(f.Unknown,`the field's ${a} script could not be written`)}}function BQ(e,t){if(e.incomplete||!e.root)return!1;let r=(n,i)=>{if(!n||n.type!=="javascript"||n.script!==i.script)return!1;let a=i.next??[];return n.next.length===a.length&&n.next.every((o,s)=>r(o,a[s]))};return r(e.root,t)}var EQ={none:0,scalar:1,array:2};function Zv(e,t,r,n,i){let{fn:a}=e;if(n.kind==="unsupported")return!1;let o=n.kind==="scalar"?[n.value]:n.kind==="array"?n.values:[],s=i==="value"?a.EPDFForm_SetFieldValue:a.EPDFForm_SetFieldDefaultValue;return Ga(e,o,(A,d)=>s(t,r,EQ[n.kind],A,d))}function _Q(e,t,r,n){return nn(e.mem,n,(i,a)=>e.fn.EPDFForm_SetFieldSelectedIndices(t,r,i,a))}var yQ={pushbutton:1,checkbox:2,radio:3,text:4,combobox:5,listbox:6,signature:7},GQ={visible:0,hidden:1,noPrint:2,noView:3},bl=256,CQ=1,Jv=new Set(["text","checkbox","radio","combobox","listbox"]),Ft=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}setValue(e,t,r,n){O(r);let i=Ee(this.runtime,this.session),a=jt(this.runtime,i,e);this.assertWritable(a);let o=this.session.requireDocPtr(),s=tt(this.runtime,i,a.fieldIndex,o),A=Ou({field:s,widgets:[]},t).field,d=this.writeFieldAfter(a.fieldObjectNumber,s,A);return d&&Hx(this.runtime,o,a.fieldObjectNumber,n),this.readBack(a.fieldObjectNumber,d??[])}setDisplay(e,t,r){O(r);let n=jt(this.runtime,Ee(this.runtime,this.session),e);this.assertWritable(n);let i=this.session.requireDocPtr(),a=this.withChangedWidgets((o,s,A)=>this.runtime.fn.EPDFForm_SetFieldDisplay(i,n.fieldObjectNumber,GQ[t],o,s,A));if(a===null)throw new g(f.Unknown,"the field could not be shown or hidden");return this.readBack(n.fieldObjectNumber,a,!1)}setAppearanceText(e,t,r){O(r);let n=Ee(this.runtime,this.session),i=jt(this.runtime,n,e);this.assertWritable(i);let a=this.session.requireDocPtr(),o=tt(this.runtime,n,i.fieldIndex,a);if(o.kind!=="text"&&o.kind!=="combobox")throw new g(f.InvalidArg,`appearance text does not apply to a ${o.kind} field`);let s=Wn(this.runtime.mem,t,A=>this.withChangedWidgets((d,p,m)=>this.runtime.fn.EPDFForm_SetFieldAppearanceText(a,i.fieldObjectNumber,A,d,p,m)));if(s===null)throw new g(f.Unknown,"the appearance text could not be drawn");return this.readBack(i.fieldObjectNumber,s,!0)}emptyMeta(){return{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}reset(e,t){O(t);let r=this.session.requireDocPtr(),n=Ee(this.runtime,this.session),i=e===void 0?this.wholeFormTargets(n):this.namedTargets(n,e);O(t);let a=i.filter(d=>!Hu(d)).flatMap(d=>{let p=Qu({field:d,widgets:[]}).field,m=this.writeFieldAfter(Ec(d),d,p);return m?(p3(this.runtime,r,Ec(d)),[{before:d,changed:m}]):[]});a.length>0&&this.session.invalidateDerived();let o=[],s=[],A=[];for(let{before:d,changed:p}of a){let m=this.readBackField(Ec(d));if(p.length===0&&Yi(d.valueEntry,m.valueEntry))continue;o.push(m);let F=new Set(p),k=m.widgets.filter(P=>F.has(P.objectNumber)).map(P=>Gt(P.objectNumber,P.page));s.push(...k),A.push(...Nl(m.kind,k))}return{fields:o,meta:gt(this.session.writeStamp(),o.map(d=>d.ref),s,A)}}wholeFormTargets(e){let t=this.session.requireDocPtr(),r=Kl(this.runtime,this.session),n=[],i=this.runtime.fn.EPDFForm_CountFields(e);for(let a=0;a{if(!r.EPDFForm_Repair(this.session.requireDocPtr(),i,o))throw new g(f.Unknown,"form repair failed");return{acroformCreated:Number(n.peek(o,"i32",0))!==0,fieldsLinked:Number(n.peek(o,"i32",4)),widgetsLinked:Number(n.peek(o,"i32",8)),fieldsUnrepairable:Number(n.peek(o,"i32",12)),appearancesBaked:Number(n.peek(o,"i32",16)),needsAppearancesCleared:Number(n.peek(o,"i32",20))!==0}});return this.session.invalidateDerived(),{...a,meta:this.emptyMeta()}}createField(e,t,r,n={}){O(t);let{fn:i}=this.runtime,a=this.session.requireDocPtr(),o=(e.widgets??[]).map(k=>VA(co(e.kind,k))),s=o.map(k=>this.preflightPlacement(k)),A=o.map(k=>$v(e.kind,k));if(CA(e),"maxLength"in e&&e.maxLength!==void 0&&(!Number.isInteger(e.maxLength)||e.maxLength<=0))throw new g(f.InvalidArg,`maxLength must be a positive integer, got ${e.maxLength}`,{details:{field:"maxLength"}});let{objectNumber:d,widgetObjectNumbers:p}=n;if(p&&p.length!==o.length)throw new g(f.InvalidArg,`forms.create needs one widget object number per widget: ${p.length} for ${o.length}`,{details:{field:"widgetObjectNumbers"}});d!==void 0&&this.session.claimObjectNumber(d);for(let k of p??[])this.session.claimObjectNumber(k);O(t);let m=this.createFieldNode(e,d);this.configureNewField(e,m),xx(this.runtime,a,m,r),e.groupId!==void 0&&Ev(this.runtime,a,m,e.groupId),o.forEach((k,P)=>{let B=Kv(this.runtime,a,s[P],k,p?.[P],Qc(this.runtime,this.session,this.fonts));if(!i.EPDFForm_AttachWidget(a,m,B,A[P],0))throw new g(f.Unknown,"widget adoption failed")});let F=this.followCalculateScript(m,e.actions?.calculate);return this.session.invalidateDerived(),{field:this.readBackField(m),calculationOrder:F}}nativeDeleteField(e){let{fn:t,mem:r}=this.runtime;return he(r,[256*4,8],([n,i])=>(Se(r,i,0),t.EPDFForm_DeleteField(this.session.requireDocPtr(),e,n,256,i)))}preflightPlacement(e){let t=this.session.resolvePageRef(e.page),{left:r,bottom:n,right:i,top:a}=e.rect;if(![r,n,i,a].every(Number.isFinite))throw new g(f.InvalidArg,"widget rect must be finite numbers",{details:{field:"rect"}});return t.pageIndex}createFieldNode(e,t){let{fn:r,mem:n}=this.runtime,i=n.writeU16String(e.name),a;try{a=r.EPDFForm_CreateField(this.session.requireDocPtr(),yQ[e.kind],i,t??0)}finally{n.free(i)}if(a<=0)throw new g(f.InvalidArg,`cannot create field "${e.name}" (name conflict or invalid)`);return a}configureNewField(e,t){let{fn:r}=this.runtime,n=this.session.requireDocPtr(),{setBits:i,clearBits:a}=Vv(e);if((i!==0||a!==0)&&r.EPDFForm_SetFieldFlags(n,t,i,a),"options"in e&&e.options&&this.applyOptions(t,e.options),this.writeDefault(t,{kind:"none"},CA(e)),"maxLength"in e&&e.maxLength!==void 0&&!r.EPDFForm_SetFieldMaxLen(n,t,e.maxLength))throw new g(f.InvalidArg,"maxLength rejected");e.alternateName!==void 0&&this.applyWideSetter(r.EPDFForm_SetFieldAlternateName,t,e.alternateName,"alternate name rejected"),e.mappingName!==void 0&&this.applyWideSetter(r.EPDFForm_SetFieldMappingName,t,e.mappingName,"mapping name rejected"),e.actions&&zv(this.runtime,n,t,void 0,e.actions)}setSignatureAppearance(e,t,r){O(r);let n=this.session.requireDocPtr(),i=Ee(this.runtime,this.session),a=jt(this.runtime,i,e);this.assertWritable(a);let o=tt(this.runtime,i,a.fieldIndex,n);if(o.kind!=="signature")throw new g(f.InvalidArg,`'${o.name}' is a ${o.kind} field, not a signature field`);if(Tc(this.runtime,n,s=>Fi(this.runtime,s).some(A=>A.signed&&A.field.kind==="objectNumber"&&A.field.objectNumber===a.fieldObjectNumber)))throw new g(f.ProtectedDocument,`'${o.name}' is signed; its appearance is sealed with the signature`);if(o.widgets.length===0)throw new g(f.InvalidArg,`'${o.name}' has no widget to draw into`);for(let s of o.widgets)qk(this.runtime,n,s,t,{recordFit:!0});return this.session.invalidateDerived(),{field:this.readBackField(a.fieldObjectNumber)}}updateField(e,t,r){O(r);let{fn:n}=this.runtime,i=this.session.requireDocPtr(),a=Ee(this.runtime,this.session),o=jt(this.runtime,a,e);this.assertWritable(o);let s=tt(this.runtime,a,o.fieldIndex,this.session.requireDocPtr());xQ(t,s.kind),"defaultValue"in t&&t.defaultValue!==void 0&&IA({field:s,widgets:[]},t);let A=o.fieldObjectNumber;t.name!==void 0&&this.applyWideSetter(n.EPDFForm_SetFieldName,A,t.name,`cannot rename to "${t.name}" (sibling conflict or invalid)`);let{setBits:d,clearBits:p}=Vv(t);if((d!==0||p!==0)&&!n.EPDFForm_SetFieldFlags(i,A,d,p))throw new g(f.InvalidArg,"flag update rejected");if("maxLength"in t&&t.maxLength!==void 0&&!n.EPDFForm_SetFieldMaxLen(i,A,t.maxLength??0))throw new g(f.InvalidArg,"maxLength rejected (current value exceeds it)");t.alternateName!==void 0&&this.applyWideSetter(n.EPDFForm_SetFieldAlternateName,A,t.alternateName??"","alternate name rejected"),t.mappingName!==void 0&&this.applyWideSetter(n.EPDFForm_SetFieldMappingName,A,t.mappingName??"","mapping name rejected"),t.groupId!==void 0&&t.groupId!==s.groupId&&Ev(this.runtime,i,A,t.groupId);let m="options"in t&&t.options!==void 0,F="defaultValue"in t&&t.defaultValue!==void 0;if(m||F){let P=IA({field:s,widgets:[]},t).field;"options"in t&&t.options&&this.applyOptions(A,t.options),this.writeDefault(A,s.defaultValueEntry,P.defaultValueEntry),m&&this.writeFieldAfter(A,s,P,!0)}t.actions&&zv(this.runtime,i,A,s.actions,t.actions);let k=this.followCalculateScript(A,t.actions?.calculate);return this.session.invalidateDerived(),{field:this.readBackField(A),calculationOrder:k}}reorderCalculations(e,t,r){O(r);let n=Ee(this.runtime,this.session),i=A=>jt(this.runtime,n,A).fieldObjectNumber,a=Ps(this.runtime,n),o=e.map(i),s=mA(a,o,t==="start"||t==="end"?t:"before"in t?{before:i(t.before)}:{after:i(t.after)},String);return O(r),Mc(a,s)||(Vl(this.runtime,this.session.requireDocPtr(),s),this.session.invalidateDerived()),{before:a,after:s,moved:o}}followCalculateScript(e,t){if(t===void 0)return null;let r=Ps(this.runtime,Ee(this.runtime,this.session)),n=r.includes(e),i=t===null?r.filter(a=>a!==e):n?r:[...r,e];return Mc(r,i)?null:(Vl(this.runtime,this.session.requireDocPtr(),i),{before:r,after:i})}deleteField(e,t){O(t);let r=Ee(this.runtime,this.session),n=jt(this.runtime,r,e);this.assertWritable(n);let i=tt(this.runtime,r,n.fieldIndex,this.session.requireDocPtr()),a=i.widgets.map(A=>Gt(A.objectNumber,A.page));O(t);let o=this.followCalculateScript(n.fieldObjectNumber,null);if(!this.nativeDeleteField(n.fieldObjectNumber))throw new g(f.InvalidArg,"field cannot be deleted");this.session.invalidateDerived();let s=new zm(this.runtime,this.session);for(let A of a)A.ref&&s.deleteReleasedWidget(A.ref,n.fieldObjectNumber);return this.session.invalidateDerived(),{deleted:i.ref,removedWidgets:a,calculationOrder:o}}addWidget(e,t,r,n={}){O(r);let{fn:i}=this.runtime,a=this.session.requireDocPtr(),o=Ee(this.runtime,this.session),s=jt(this.runtime,o,e);this.assertWritable(s);let A=tt(this.runtime,o,s.fieldIndex,a),d=VA(co(A.kind,t)),p=this.preflightPlacement(d),m=$v(A.kind,d),F=A.widgets.find(B=>B.objectNumber===s.fieldObjectNumber)?.page??null;n.objectNumber!==void 0&&this.session.claimObjectNumber(n.objectNumber);let k=F?n.splitObjectNumber:void 0;k!==void 0&&this.session.claimObjectNumber(k),O(r),F&&an(this.runtime,this.session,F.objectNumber);let P=Kv(this.runtime,a,p,d,n.objectNumber,Qc(this.runtime,this.session,this.fonts));if(!i.EPDFForm_AttachWidget(a,s.fieldObjectNumber,P,m,k??0))throw new g(f.InvalidArg,"the widget could not join the field");return this.session.invalidateDerived(),{field:this.readBackField(s.fieldObjectNumber),widget:Gt(P,t.page)}}detachWidget(e,t,r){O(r);let{fn:n}=this.runtime,i=Ee(this.runtime,this.session),a=jt(this.runtime,i,e);this.assertWritable(a);let o=eP(t);if(o===a.fieldObjectNumber)throw new g(f.InvalidArg,`widget ${o} is the field's own dictionary (a merged field/widget) and cannot be removed from it - delete the field with doc.forms.delete`);if(!n.EPDFForm_DetachWidget(this.session.requireDocPtr(),a.fieldObjectNumber,o))throw new g(f.InvalidArg,"widget is not attached to this field");return this.session.invalidateDerived(),{field:this.readBackField(a.fieldObjectNumber),widget:Gt(eP(t),t.page)}}applyOptions(e,t){let{fn:r}=this.runtime,n=this.session.requireDocPtr();if(!Ga(this.runtime,t.map(i=>i.label),i=>Ga(this.runtime,t.map(a=>a.value),(a,o)=>r.EPDFForm_SetFieldOptions(n,e,i,a,o))))throw new g(f.InvalidArg,"options rejected")}applyWideSetter(e,t,r,n){let{mem:i}=this.runtime,a=this.session.requireDocPtr(),o=i.writeU16String(r);try{if(!e(a,t,o))throw new g(f.InvalidArg,n)}finally{i.free(o)}}writeDefault(e,t,r){if(Yi(t,r))return;let n=this.session.requireDocPtr();if(!Zv(this.runtime,n,e,r,"default"))throw new g(f.InvalidArg,"default value rejected")}readBackField(e){let t=Ee(this.runtime,this.session),r=this.runtime.fn.EPDFForm_GetFieldIndexByObjNum(t,e);if(r<0)throw new g(f.Unknown,"form field vanished after write");return tt(this.runtime,t,r,this.session.requireDocPtr())}assertWritable(e){if(e.fieldObjectNumber===0)throw new g(f.InvalidArg,"form field is stored as a direct object and cannot be written");this.assertNotLockedBySignature(e)}assertNotLockedBySignature(e){let t=Kl(this.runtime,this.session);if(!t)return;let r=Ee(this.runtime,this.session);hQ(we(this.runtime.mem,(n,i)=>this.runtime.fn.EPDFForm_GetFieldName(r,e.fieldIndex,n,i))??"",t)}writeFieldAfter(e,t,r,n=!1){let{fn:i,mem:a}=this.runtime,o=this.session.requireDocPtr(),s=r.kind==="checkbox"||r.kind==="radio"?r.widgets:null,A=!Yi(t.valueEntry,r.valueEntry),d=s?.some((F,k)=>F.checked!==t.widgets[k]?.checked)??!1;if(!A&&!d&&!n)return null;let p=()=>new g(f.InvalidArg,`'${r.name}' could not take the value`);if(A&&!Zv(this.runtime,o,e,r.valueEntry,"value"))throw p();if(r.kind==="combobox"||r.kind==="listbox"){let F=r.options.flatMap((k,P)=>k.selected?[P]:[]);if(!_Q(this.runtime,o,e,F))throw p()}if(s?.length===0)return[];let m=this.withChangedWidgets((F,k,P)=>s?nn(a,s.map(B=>B.checked?1:0),(B,y)=>i.EPDFForm_SetFieldWidgetsChecked(o,e,B,y,F,k,P)):i.EPDFForm_RedrawFieldWidgets(o,e,F,k,P));if(m===null)throw p();return m}withChangedWidgets(e){let{mem:t}=this.runtime;return he(t,[bl*4,8],([r,n])=>{if(Se(t,n,0),!e(r,bl,n))return null;let i=Number(t.peek(n,"i32")),a=Math.min(i,bl),o=[];for(let s=0;so.has(A.objectNumber)).map(A=>Gt(A.objectNumber,A.page));return{field:a,meta:gt(this.session.writeStamp(),[a.ref],s,r===void 0?Nl(a.kind,s):r?s:[])}}},IQ=["kind","name","readOnly","required","noExport","alternateName","mappingName","groupId","actions"],SQ={text:["defaultValue","maxLength","multiline","password","comb"],radio:["radiosInUnison","noToggleToOff"],combobox:["edit","defaultValue","options"],listbox:["multiSelect","options","defaultValue"]};function xQ(e,t){if(e.kind!==void 0&&e.kind!==t)throw new g(f.InvalidArg,`patch family '${e.kind}' does not match field family '${t}'`,{details:{field:"kind"}});let r=new Set([...IQ,...SQ[t]??[]]);for(let[i,a]of Object.entries(e))if(a!==void 0&&!r.has(i))throw new g(f.InvalidArg,`'${i}' does not apply to a ${t} field`,{details:{field:i}});let n="defaultValue"in e?e.defaultValue:void 0;if(n!=null&&Array.isArray(n)!==(t==="listbox"))throw new g(f.InvalidArg,t==="listbox"?"a list's defaultValue is a list of option values":`a ${t} field's defaultValue is one string`,{details:{field:"defaultValue"}})}function $v(e,t){let{exportValue:r}=t;if(e!=="checkbox"&&e!=="radio"){if(r!==void 0)throw new g(f.InvalidArg,`'exportValue' applies to checkbox and radio widgets, not a ${e} field's`,{details:{field:"exportValue"}});return""}let n=r??(e==="checkbox"?"Yes":void 0);if(!n||n==="Off")throw new g(f.InvalidArg,e==="radio"?'every radio button needs an exportValue other than "Off"':`a checkbox's exportValue can't be "Off"`,{details:{field:"exportValue"}});return n}function eP(e){if(e.kind!=="objectNumber")throw new g(f.InvalidArg,"widget must be addressed by object number");return e.objectNumber}function HQ(e,t,r,n){let{formKind:i,needsAppearances:a,fields:o,calculationOrder:s}=w3(e,Ee(e,t),t.requireDocPtr());return{formKind:i,needsAppearances:a,fields:o,widgets:OQ(e,t,r,n),calculationOrder:s}}function OQ(e,t,r,n){let{fn:i}=e,a=t.requireDocPtr(),o=[],s=i.FPDF_GetPageCount(a);for(let A=0;Ai.EPDFPage_GetAnnotRaw(a,A,F),signal:r,family:"widgets",...n?{fonts:n}:{}});o.push(...m)}return o}function QQ(e,t,r,n){let{fn:i,mem:a}=e,o=[],s=new Set;for(let A of r){if(!A.ref||s.has(A.objectNumber))continue;s.add(A.objectNumber);let d=RQ(e,t,A);if(!d)continue;let p=wi(e,t,d.pageIndex,d.index);try{let m=Hc(i,a,p,A.ref.page.objectNumber,d.index,ms(t,n));m.subtype==="widget"&&o.push(m)}finally{i.FPDFPage_CloseAnnot(p)}}return gs(e,t,o),o}function zk(e,t,r,n){return{...r,widgets:QQ(e,t,r.meta.changedWidgets,n)}}function RQ(e,t,r){try{return kt(e,t,r.ref)}catch(n){if(g.is(n)&&n.code===f.NotFound)return null;throw n}}var Zk=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}import(e,t){O(t);let{bundle:r}=e;Ml(this.runtime,"form",r,e.limits,ro);let n=this.fieldNames(),i=pF({bundle:r,...e.pages!==void 0?{pages:e.pages}:{},target:this.session.allRecords().map(P=>({page:pe(P.pageObjectNumber),position:P.pageIndex})),nameTaken:P=>TQ(n,P),mayScript:e.mayScript,values:e.values}),a=this.calculationOrder(),o=mi(this.runtime,this.session),s=new Ft(this.runtime,this.session,this.fonts),A=this.session.requireDocPtr(),d=e.actor.userId??null,p=i.creates.map(P=>{let B=r.fields[P.field].data,{groupId:y,...x}=ko(P.draft,o),I=e.groupOf(y),{field:S}=s.createField({...x,...I!==void 0?{groupId:I}:{}},t,e.actor);S.widgets.forEach((T,W)=>this.writeFlags(T,P.flags[W])),this.session.invalidateDerived(),P.value&&s.setValue(S.ref,P.value,t,e.actor);let G=tP(S.ref);return e.attribution==="restore"&&(Ox(this.runtime,A,G,B,d),P.value&&_v(this.runtime,A,G,B,d)),G}),m=i.calculationOrder.map(P=>nP(p[P]));m.length>0&&s.reorderCalculations(m,"end",t),this.session.invalidateDerived();let F=this.calculationOrder(),k=p.map(P=>this.readField(P));return zk(this.runtime,this.session,{fields:k,refMap:i.creates.map((P,B)=>({from:r.fields[P.field].data.ref,to:k[B].ref})),dropped:[...i.dropped],...Mc(a,F)?{}:{calculationOrder:F.map(nP)},meta:gt(this.session.writeStamp(),k.map(P=>P.ref),k.flatMap(P=>P.widgets))},this.fonts)}planValues(e,t,r,n){O(r),Ml(this.runtime,"form",e,t,ro);let i=Kl(this.runtime,this.session),a=lF({bundle:e,target:this.readFields(),refusal:(o,s)=>{if(o.ref.kind!=="objectNumber")return"value-not-allowed";try{Ao(o,s)}catch(A){if(g.is(A))return"value-not-allowed";throw A}return i?.(o.name)?"locked":n(o)?null:"fill-not-allowed"}});return{writes:a.writes.filter(({target:o,value:s})=>!xu(o,Ao(o,s))),dropped:a.dropped}}writeValue(e,t,r,n,i){new Ft(this.runtime,this.session,this.fonts).setValue(e.target.ref,e.value,i,n);let a=tP(e.target.ref);return r==="restore"&&(_v(this.runtime,this.session.requireDocPtr(),a,t.fields[e.field].data,n.userId??null),this.session.invalidateDerived()),this.readField(a)}writeFlags(e,t){if(!e.ref)return;let r=Vc(this.runtime,this.session,e.ref);try{ym(this.runtime.fn,r,t)}finally{this.runtime.fn.FPDFPage_CloseAnnot(r)}}fieldNames(){let{fn:e,mem:t}=this.runtime,r=Ee(this.runtime,this.session),n=new Set;for(let i=0;ie.EPDFForm_GetFieldName(r,i,o,s));a&&n.add(a)}return n}readFields(){let e=Ee(this.runtime,this.session),t=this.session.requireDocPtr(),r=this.runtime.fn.EPDFForm_CountFields(e);return Array.from({length:r},(n,i)=>tt(this.runtime,e,i,t))}readField(e){let t=Ee(this.runtime,this.session),r=this.runtime.fn.EPDFForm_GetFieldIndexByObjNum(t,e);return tt(this.runtime,t,r,this.session.requireDocPtr())}calculationOrder(){return Ps(this.runtime,Ee(this.runtime,this.session))}};function TQ(e,t){if(e.has(t))return!0;for(let r of e)if(r.startsWith(`${t}.`)||t.startsWith(`${r}.`))return!0;return!1}function tP(e){if(e.kind!=="objectNumber")throw new Error("a written field has an object number");return e.objectNumber}function nP(e){return{kind:"objectNumber",objectNumber:e}}var Yl=["AP","MK"],MQ=new Set(["text","checkbox","radio","combobox","listbox"]),LQ=new Set(["forms.setValue","forms.setDisplay","forms.setAppearanceText","forms.reset","forms.setSignatureAppearance"]);function NQ(e,t,r){let n=Vt(e,t.field);return aw(e,n),Cn(r,yn(n.field),t.expect),rD(e,n,t.value)}function jQ(e,t){let r=Vt(e,t.field);return oR(e,r),iD(e,"forms.setDisplay",n=>n.setDisplay(t.field,t.display,e.signal),r)}function KQ(e,t){let r=Vt(e,t.field);return aw(e,r),iD(e,"forms.setAppearanceText",n=>n.setAppearanceText(t.field,t.text,e.signal),r)}function VQ(e,t){eD(e);let r=t.fields?t.fields.map(A=>Vt(e,A)):cD(e).filter(({field:A})=>MQ.has(A.kind));for(let A of r)Tn(e.authority,A.field.groupId,"fill");let n=sn(e.runtime,e.session,r.flatMap(xs)),i=new Ft(e.runtime,e.session,e.fonts).reset(t.fields?[...t.fields]:void 0,e.signal),a=Dt(e.runtime,e.session,n),o=new Set(i.fields.map(A=>hs(A.ref))),s={type:"forms.reset",...hi(e,i)};return o.size===0?{item:s,reverse:[]}:{item:s,reverse:[{kind:"objects.revert",reports:"forms.reset",objects:a,subject:{fields:[...o]},fallback:{kind:"value",fields:r.filter(({objectNumber:A})=>o.has(A)).map(({objectNumber:A,field:d})=>({objectNumber:A,before:yn(d),left:yn(i.fields.find(p=>hs(p.ref)===A))}))}}]}}function YQ(e,t){ge(e.authority,"doc.forms.modify"),ip(t.draft)&&ge(e.authority,"doc.forms.script");let r=tD(e,t.draft.groupId),{field:n,calculationOrder:i}=new Ft(e.runtime,e.session,e.fonts).createField({...t.draft,...r!==void 0?{groupId:r}:{}},e.signal,e.authority.identity,{...t.objectNumber!==void 0?{objectNumber:t.objectNumber}:{},...t.widgetObjectNumbers?{widgetObjectNumbers:t.widgetObjectNumbers}:{}});return{item:{type:"forms.create",...cw(e,n),...sD(i)},reverse:[{kind:"field.remove",objectNumber:hs(n.ref),left:n}]}}function XQ(e,t,r){ge(e.authority,"doc.forms.modify"),or(t.patch.actions)&&ge(e.authority,"doc.forms.script");let n=Vt(e,t.field);return t.patch.groupId!==void 0&&t.patch.groupId!==n.field.groupId&&ec(e.authority,t.patch.groupId),Cn(r,Lc(n.field),t.expect),aD(e,n,t.patch)}function WQ(e,t,r){ge(e.authority,"doc.forms.modify");let n=Vt(e,t.field);return Cn(r,n.field,t.expect),Aw(e,n)}function UQ(e,t){ge(e.authority,"doc.forms.modify"),or(t.placement.actions)&&ge(e.authority,"doc.forms.script");let r=Vt(e,t.field),n=new Set([t.placement.page.objectNumber]);for(let p of r.field.widgets)p.objectNumber===r.objectNumber&&p.page&&n.add(p.page.objectNumber);let i=sn(e.runtime,e.session,[...xs(r),...[...n].map(p=>({objectNumber:p,deep:[]}))]),{field:a}=new Ft(e.runtime,e.session,e.fonts).addWidget(t.field,t.placement,e.signal,{...t.objectNumber!==void 0?{objectNumber:t.objectNumber}:{},...t.splitObjectNumber!==void 0?{splitObjectNumber:t.splitObjectNumber}:{}}),o=new Set(r.field.widgets.map(p=>p.objectNumber)),s=a.widgets.filter(p=>!o.has(p.objectNumber)),A=s.map(p=>({objectNumber:p.objectNumber,deep:Yl,before:null})),d=Dt(e.runtime,e.session,[...i,...A]);return{item:{type:"forms.addWidget",...hi(e,{field:a,meta:gt(e.session.writeStamp(),[a.ref],s)})},reverse:[Is("forms.removeWidget",d,[r.objectNumber])]}}function qQ(e,t){ge(e.authority,"doc.forms.modify");let r=Vt(e,t.field),n=t.widget.kind==="objectNumber"?t.widget.objectNumber:0,i=sn(e.runtime,e.session,[{objectNumber:r.objectNumber,deep:[]},{objectNumber:n,deep:[]}]),a=new Ft(e.runtime,e.session,e.fonts).detachWidget(t.field,t.widget,e.signal),o=Dt(e.runtime,e.session,i);return{item:{type:"forms.removeWidget",...hi(e,{field:a.field,meta:gt(e.session.writeStamp(),[a.field.ref],[a.widget])})},reverse:[Is("forms.addWidget",o,[r.objectNumber])]}}function zQ(e,t,r){ge(e.authority,"doc.forms.modify");let n=qn(e,t.widget);if(n.subtype!=="widget")throw new g(f.InvalidArg,`${n.subtype} is not a widget: delete it with page.annotations.delete`,{details:{field:"widget"}});return Cn(r,n,t.expect),nD(e,n)}function ZQ(e,t){ge(e.authority,"doc.forms.modify");let r;try{r=e.session.resolvePageRef(t.page).pageIndex}catch{return ve(e,"forms.restoreWidget")}if(AD(e,t.widget))return ve(e,"forms.restoreWidget");let n=t.detached.filter(o=>o.objectNumber===t.fieldObjectNumber);if(!Ma(e.runtime,e.session,n))return ve(e,"forms.restoreWidget");Rk(e.runtime,e.session.requireDocPtr(),r,t.capture),e.session.invalidateDerived(),t.detached.length>0&&Gs(e.runtime,e.session,t.detached);let i=gR(e,t.widget),a=t.fieldObjectNumber===null?null:Ss(e,t.fieldObjectNumber).field;return{item:{type:"forms.restoreWidget",field:a,widgets:[i],meta:gt(e.session.writeStamp(),a?[a.ref]:[],[FR(e,t.widget)])},reverse:[{kind:"widget.delete",widget:t.widget,left:i}]}}function JQ(e,t){ge(e.authority,"doc.forms.modify");let r=AD(e,t.widget);return!r||!ze(r,t.left)?ve(e,"forms.deleteWidget"):nD(e,r)}function $Q(e,t,r){ge(e.authority,"doc.forms.modify"),or(t.patch.actions)&&ge(e.authority,"doc.forms.script");let n=qn(e,t.widget);if(n.subtype!=="widget")throw new g(f.InvalidArg,`${n.subtype} is not a widget: change it with doc.annotations.update`,{details:{field:"widget"}});return Cn(r,n,t.expect),tw(e,t.widget,{...t.patch,subtype:"widget"},"forms.updateWidget")}function eR(e,t){ge(e.authority,"doc.forms.modify");let{before:r,after:n,moved:i}=new Ft(e.runtime,e.session,e.fonts).reorderCalculations(t.fields,t.position,e.signal);return{item:Jk(e,n,i),reverse:[ow({before:r,after:n})]}}function tR(e,t){ge(e.authority,"doc.forms.modify");let r=Ps(e.runtime,Ee(e.runtime,e.session)),n=DQ(r,t,i=>Pi(e,i)!==null);return Mc(r,n)?ve(e,"forms.reorderCalculations"):(Vl(e.runtime,e.session.requireDocPtr(),n),e.session.invalidateDerived(),{item:Jk(e,n,[...new Set([...r,...n])].filter(i=>r.indexOf(i)!==n.indexOf(i))),reverse:[ow({before:r,after:n})]})}function Jk(e,t,r){return{type:"forms.reorderCalculations",calculationOrder:t.map(Xl),meta:gt(e.session.writeStamp(),r.map(Xl),[])}}function nR(e,t){ge(e.authority,"doc.forms.modify");let r=Jm(md(e.runtime,e.session,t.page),"widgets",t.widgets,t.position);return $m(e.runtime,e.session,r),Mk(e,r,t.widgets)}function rR(e,t){let r=Vt(e,t.field);return Tn(e.authority,r.field.groupId,"sign"),sw(e,r,"forms.setSignatureAppearance",()=>new Ft(e.runtime,e.session,e.fonts).setSignatureAppearance(t.field,t.appearance.pdf,e.signal))}function iR(e,t){ge(e.authority,"doc.forms.modify");let r=$k(e,t),n=new Zk(e.runtime,e.session,e.fonts).import({bundle:t.bundle,...t.pages!==void 0?{pages:t.pages}:{},attribution:t.attribution,values:t.values??!0,actor:t.actor??{},limits:t.limits,mayScript:(t.mayScript??!1)&&wp(e.authority,"doc.forms.script"),groupOf:a=>r?a:tD(e,a)},e.signal),i=n.fields.map(a=>({kind:"field.remove",objectNumber:hs(a.ref),left:a,...r?{rights:r}:{}}));return{item:{type:"forms.import",...n},reverse:i.reverse()}}function aR(e,t){eD(e);let r=$k(e,t),n=new Zk(e.runtime,e.session,e.fonts),i=n.planValues(t.bundle,t.limits,e.signal,s=>cr(e.authority,s.groupId,"fill")),a=[],o=[];for(let s of i.writes){let A={objectNumber:hs(s.target.ref),field:s.target},d=sn(e.runtime,e.session,xs(A)),p=n.writeValue(s,t.bundle,t.attribution,t.actor??{},e.signal),m=Dt(e.runtime,e.session,d);a.push(p),o.push({...Is("forms.setValue",m,[A.objectNumber]),fallback:{kind:"value",fields:[{objectNumber:A.objectNumber,before:yn(s.target),left:yn(p)}]},...r?{rights:r}:{}})}return{item:{type:"forms.importValues",...hi(e,{fields:a,dropped:[...i.dropped],meta:gt(e.session.writeStamp(),a.map(s=>s.ref),a.flatMap(s=>s.widgets))})},reverse:o.reverse()}}function $k(e,t){if(t.attribution==="restore")return ge(e.authority,"doc.forms.import"),"import"}function aw(e,t){if(!cr(e.authority,t.field.groupId,"fill")){if(AR(e,t)&&e.fillsOwnField()){lt(e.authority,"doc.forms.fill");return}Tn(e.authority,t.field.groupId,"fill")}}function oR(e,t){if(!cr(e.authority,t.field.groupId,"fill")){if(e.fillsOwnField()){lt(e.authority,"doc.forms.fill");return}Tn(e.authority,t.field.groupId,"fill")}}function eD(e){bp(e.authority,"fill")||ge(e.authority,"doc.forms.fill")}function sR(e,t){let r=t.reports==="forms.setSignatureAppearance"?"sign":"fill";lt(e.authority,r==="sign"?"doc.sign":"doc.forms.fill");for(let n of t.subject.fields){let i=Pi(e,n);i&&(r==="sign"?Tn(e.authority,i.field.groupId,"sign"):aw(e,i))}}function tD(e,t){let r=t??e.authority.identity.groupId;return r!==void 0&&ec(e.authority,r),r}function AR(e,t){return t.field.actions?.calculate?Ps(e.runtime,Ee(e.runtime,e.session)).includes(t.objectNumber):!1}function cR(e,t){return t.some(r=>{if(r.type!=="forms.setValue"&&r.type!=="forms.setAppearanceText")return!1;let n=bd(e,r.field);return n!==null&&cr(e.authority,n.field.groupId,"fill")})}function dR(e,t){return t.some(r=>r.kind==="objects.revert"&&(r.reports==="forms.setValue"||r.reports==="forms.setAppearanceText")&&"fields"in r.subject&&r.subject.fields.some(n=>{let i=Pi(e,n);return i!==null&&cr(e.authority,i.field.groupId,"fill")}))}function uR(e,t){if(LQ.has(t.reports)?sR(e,t):ge(e.authority,"doc.forms.modify"),t.rights&&ge(e.authority,"doc.forms.import"),Ma(e.runtime,e.session,t.objects)){let i=Gs(e.runtime,e.session,t.objects),a=t.subject.fields.map(o=>Ss(e,o).field);return{item:pD(e,t.reports,a),reverse:[{...t,objects:i,...fR(t.fallback)}]}}if(t.fallback?.kind==="properties")return pR(e,t.fallback);if(t.fallback?.kind!=="value")return ve(e,t.reports);let r=[],n=[];for(let{objectNumber:i,before:a,left:o}of t.fallback.fields){let s=Pi(e,i);s&&ze(yn(s.field),o)?r.push(rD(e,s,a)):s&&n.push(s.field.name)}return r.length===0?ve(e,t.reports):t.reports==="forms.setValue"&&r.length===1?r[0]:{item:{...uD(e,r.map(({item:i})=>i.field)),...n.length>0?{skipped:n}:{}},reverse:r.flatMap(i=>i.reverse)}}function pR(e,t){let r=Pi(e,t.objectNumber);if(!r)return ve(e,"forms.update");let n=Lc(r.field),i=t.left,a=t.restore,o=Object.keys(i),s=o.filter(m=>ze(n[m],i[m])&&(m!=="name"||lR(e,r.field.name,String(a.name))));if(s.length===0)return ve(e,"forms.update");let A=aD(e,r,Wl(a,s)),d=o.filter(m=>!s.includes(m)),p=A.item;return d.length===0||Nr(p)||p.type!=="forms.update"?A:{...A,item:{...p,skipped:d}}}function lR(e,t,r){return bd(e,{kind:"fqn",name:t.slice(0,t.lastIndexOf(".")+1)+r})===null}function mR(e,t){ge(e.authority,"doc.forms.modify"),t.rights&&ge(e.authority,"doc.forms.import");let r=Pi(e,t.objectNumber);return!r||!ze(r.field,t.left)?ve(e,"forms.delete"):Aw(e,r,t.rights)}function wR(e,t){if(ge(e.authority,"doc.forms.modify"),t.rights&&ge(e.authority,"doc.forms.import"),bd(e,{kind:"fqn",name:t.name}))return ve(e,"forms.restore");for(let n of t.pages)try{e.session.resolvePageRef(n)}catch{return ve(e,"forms.restore")}bO(e.runtime,e.session.requireDocPtr(),t.capture),e.session.invalidateDerived();let{field:r}=Ss(e,t.objectNumber);return{item:{type:"forms.restore",...cw(e,r)},reverse:[{kind:"field.remove",objectNumber:t.objectNumber,left:r,...t.rights?{rights:t.rights}:{}}]}}function nD(e,t){let r=t.ref;an(e.runtime,e.session,r.page.objectNumber);let n=gi(e,r),i=t.field?Vt(e,t.field):null;if(i&&i.objectNumber===n)throw new g(f.InvalidArg,`widget ${n} is its field's own dictionary (a merged field/widget) - delete the field with doc.forms.delete`,{details:{field:"widget"}});let a=[];if(i){let p=sn(e.runtime,e.session,[{objectNumber:i.objectNumber,deep:[]},{objectNumber:n,deep:[]}]);new Ft(e.runtime,e.session,e.fonts).detachWidget({kind:"objectNumber",objectNumber:i.objectNumber},r,e.signal),a=Dt(e.runtime,e.session,p)}let{pageIndex:o,index:s}=kt(e.runtime,e.session,r),A=Qk(e.runtime,e.session.requireDocPtr(),o,[s]);new zm(e.runtime,e.session,e.fonts).deleteReleasedWidget(r,0),e.session.invalidateDerived();let d=i?Ss(e,i.objectNumber).field:null;return{item:{type:"forms.deleteWidget",widget:r,page:r.page,field:d,meta:gt(e.session.writeStamp(),d?[d.ref]:[],[{ref:r,objectNumber:n,page:r.page}])},reverse:[{kind:"widget.restore",page:r.page,widget:r,capture:A,fieldObjectNumber:i?.objectNumber??null,detached:a}]}}function rD(e,t,r){let n={kind:"objectNumber",objectNumber:t.objectNumber},i=sn(e.runtime,e.session,xs(t)),a=new Ft(e.runtime,e.session,e.fonts).setValue(n,r,e.signal,e.authority.identity),o=Dt(e.runtime,e.session,i),s={type:"forms.setValue",...hi(e,a)};return a.meta.changedWidgets.length===0&&ze(yn(t.field),yn(a.field))?{item:s,reverse:[]}:{item:s,reverse:[{...Is("forms.setValue",o,[t.objectNumber]),fallback:{kind:"value",fields:[{objectNumber:t.objectNumber,before:yn(t.field),left:yn(a.field)}]}}]}}function iD(e,t,r,n){let i=!1,a=sw(e,n,t,()=>(i=r(new Ft(e.runtime,e.session,e.fonts)).meta.changedWidgets.length>0,{field:Ss(e,n.objectNumber).field}));return i?a:{item:a.item,reverse:[]}}function aD(e,t,r){let n={kind:"objectNumber",objectNumber:t.objectNumber},i=null;return oD(e,sw(e,t,"forms.update",()=>{let a=new Ft(e.runtime,e.session,e.fonts).updateField(n,r,e.signal);return i=a.calculationOrder,a},a=>{let o=Lc(t.field),s=Lc(a),A=Object.keys(r).filter(d=>d!=="kind"&&!ze(o[d],s[d]));return{kind:"properties",objectNumber:t.objectNumber,restore:Wl(o,A),left:Wl(s,A)}}),i)}function oD(e,t,r){return!r||Nr(t.item)?t:{item:{...t.item,...sD(r)},reverse:[...t.reverse,ow(r)]}}function sD(e){return e?{calculationOrder:e.after.map(Xl)}:{}}function ow({before:e,after:t}){return{kind:"calculations.restore",before:e,after:t}}function Xl(e){return{kind:"objectNumber",objectNumber:e}}function sw(e,t,r,n,i){let a=sn(e.runtime,e.session,xs(t)),{field:o}=n(),s=Is(r,Dt(e.runtime,e.session,a),[t.objectNumber]);return{item:pD(e,r,[o]),reverse:[i?{...s,fallback:i(o)}:s]}}function Aw(e,t,r){let n=wO(e.runtime,e.session.requireDocPtr(),t.objectNumber),i={kind:"objectNumber",objectNumber:t.objectNumber},{deleted:a,removedWidgets:o,calculationOrder:s}=new Ft(e.runtime,e.session).deleteField(i,e.signal);return oD(e,{item:{type:"forms.delete",meta:gt(e.session.writeStamp(),[a],o)},reverse:[{kind:"field.restore",objectNumber:t.objectNumber,name:t.field.name,pages:t.field.widgets.flatMap(A=>A.page?[A.page]:[]),capture:n,...r?{rights:r}:{}}]},s)}function rP(e){return new Set(cD(e).map(({objectNumber:t})=>t))}function bR(e,t,r){let n=[];for(let i of t){let a=Pi(e,i);!a||!a.field.widgets.every(o=>o.page&&r.has(o.page.objectNumber))||n.push(...Aw(e,a).reverse)}return n}function Is(e,t,r){return{kind:"objects.revert",reports:e,objects:t,subject:{fields:r}}}function fR(e){switch(e?.kind){case"value":return{fallback:{kind:"value",fields:e.fields.map(({objectNumber:t,before:r,left:n})=>({objectNumber:t,before:n,left:r}))}};case"properties":return{fallback:{...e,restore:e.left,left:e.restore}};default:return{}}}function Vt(e,t){let r=Ee(e.runtime,e.session),n=jt(e.runtime,r,t),i=tt(e.runtime,r,n.fieldIndex,e.session.requireDocPtr());return{objectNumber:n.fieldObjectNumber,field:i}}function gR(e,t){let r=qn(e,t);if(r.subtype!=="widget")throw new Error(`${U(t)} reads as no widget`);return r}function AD(e,t){try{let r=qn(e,t);return r.subtype==="widget"?r:null}catch(r){if(g.is(r))return null;throw r}}function FR(e,t){return{ref:t,objectNumber:gi(e,t),page:t.page}}function Ss(e,t){return Vt(e,{kind:"objectNumber",objectNumber:t})}function bd(e,t){try{return Vt(e,t)}catch{return null}}function Pi(e,t){return bd(e,{kind:"objectNumber",objectNumber:t})}function cD(e){let t=Ee(e.runtime,e.session),r=e.runtime.fn.EPDFForm_CountFields(t),n=[];for(let i=0;i({objectNumber:r.objectNumber,deep:Yl}))]}function hs(e){return e.kind==="objectNumber"?e.objectNumber:0}function Lc(e){let t={name:e.name.slice(e.name.lastIndexOf(".")+1),readOnly:e.readOnly,required:e.required,noExport:e.noExport,alternateName:e.alternateName,mappingName:e.mappingName,...e.groupId!==null?{groupId:e.groupId}:{},actions:vR(e)},r=e.defaultValueEntry.kind!=="none",n=i=>i.map(({label:a,value:o})=>({label:a,value:o}));switch(e.kind){case"text":return{...t,defaultValue:r?e.defaultValue:null,maxLength:e.maxLength,multiline:e.multiline,password:e.password,comb:e.comb};case"radio":return{...t,radiosInUnison:e.radiosInUnison,noToggleToOff:e.noToggleToOff};case"combobox":return{...t,edit:e.edit,defaultValue:r?e.defaultValue:null,options:n(e.options)};case"listbox":return{...t,multiSelect:e.multiSelect,defaultValue:r?e.defaultValue:null,options:n(e.options)};default:return t}}function vR(e){let t={};for(let r of["keystroke","format","validate","calculate"]){let n=e.actions?.[r];if(!n){t[r]=null;continue}let i=mo(n);i&&(t[r]=i)}return t}function Wl(e,t){return Object.fromEntries(t.map(r=>[r,e[r]]))}function yn(e){return Wi(e)??{value:null}}function cw(e,t,r=t.widgets){return hi(e,{field:t,meta:gt(e.session.writeStamp(),[t.ref],t.widgets,r)})}function dD(e,t){let r=t.widgets;return e==="forms.setDisplay"?[]:e==="forms.setValue"||e==="forms.reset"?Nl(t.kind,r):r}function hi(e,t){return zk(e.runtime,e.session,t,e.fonts)}function uD(e,t){return{type:"forms.reset",...hi(e,{fields:[...t],meta:gt(e.session.writeStamp(),t.map(r=>r.ref),t.flatMap(r=>r.widgets),t.flatMap(r=>dD("forms.reset",r)))})}}function pD(e,t,r){if(t==="forms.reset")return uD(e,r);let n=r[0];return{type:t,...cw(e,n,dD(t,n))}}function PR(e,t,r){ge(e.authority,"doc.metadata.modify");let n=new bi(e.runtime,e.session).read(e.signal);Cn(r,n,t.expect);let i=new Zl(e.runtime,e.session).update(t.patch,e.signal);return{item:{type:"metadata.update",...i},reverse:[lD("metadata.update",Object.keys(t.patch),n,i.metadata)]}}function hR(e,t){ge(e.authority,"doc.metadata.modify");let r=new bi(e.runtime,e.session).readCustom(e.signal),n=new Zl(e.runtime,e.session).updateCustom(t.patch,e.signal);return{item:{type:"metadata.updateCustom",...n},reverse:[lD("metadata.updateCustom",Object.keys(t.patch),r,n.custom)]}}function kR(e,t){ge(e.authority,"doc.metadata.modify");let r=new bi(e.runtime,e.session),n=t.op==="metadata.update"?r.read(e.signal):r.readCustom(e.signal),i=t.left,a=Object.keys(i),o=a.filter(m=>ze(Ea(n,m),i[m]));if(o.length===0)return ve(e,t.op);let s=iP(t.restore,o),A=new Zl(e.runtime,e.session),d=a.filter(m=>!o.includes(m)),p={kind:"metadata.revert",op:t.op,restore:iP(t.left,o),left:s};return t.op==="metadata.update"?{item:{type:"metadata.update",...A.update(s,e.signal),...d.length>0?{skipped:d}:{}},reverse:[p]}:{item:{type:"metadata.updateCustom",...A.updateCustom(s,e.signal),...d.length>0?{skipped:d}:{}},reverse:[p]}}function lD(e,t,r,n){let i=t.filter(a=>!ze(Ea(r,a),Ea(n,a)));return{kind:"metadata.revert",op:e,restore:Object.fromEntries(i.map(a=>[a,Ea(r,a)])),left:Object.fromEntries(i.map(a=>[a,Ea(n,a)]))}}function Ea(e,t){return e[t]??null}function iP(e,t){return Object.fromEntries(t.map(r=>[r,Ea(e,r)]))}var DR=class{constructor(e,t){j(this,"childrenByParent",new Map),j(this,"parentByItem",new Map);let r=(n,i,a)=>{if(a>=Vi.depth)return;let o=[];this.childrenByParent.set(i,o);for(let s=e.FPDFBookmark_GetFirstChild(t,n);s;s=e.FPDFBookmark_GetNextSibling(t,s)){let A=e.EPDFOutline_GetObjectNumber(s);if(A){if(this.parentByItem.has(A))break;this.parentByItem.set(A,i),o.push(A),r(s,A,a+1)}}};r(Y,0,0)}has(e){return this.parentByItem.has(e)}parentOf(e){return this.parentByItem.get(e)}childrenOf(e){return this.childrenByParent.get(e)??[]}subtreeOf(e){let t=[e];for(let r of this.childrenOf(e))t.push(...this.subtreeOf(r));return t}levelOf(e){let t=-1;for(let r=e;r;r=this.parentOf(r))t+=1;return this.has(e)?t:void 0}isAtOrUnder(e,t){for(let r=e;r;r=this.parentOf(r))if(r===t)return!0;return!1}items(){return this.childrenOf(0).flatMap(e=>this.subtreeOf(e))}},BR={maxModels:5e4,maxNodes:2e5,maxScriptCodeUnits:16e6,maxTargetEntries:65536,maxPayloadCodeUnits:16e6},ER=1,_R=2;function aP(){return new vi(BR)}function oP(e,t,r,n,i,a){let{fn:o,mem:s}=e,A=we(s,(P,B)=>o.FPDFBookmark_GetTitle(r,P,B))??"",d=o.FPDFBookmark_GetFirstChild(t,r)!==Y,p=o.FPDFBookmark_GetStyle(r),{action:m,target:F,complete:k}=yR(e,t,r,a);return{item:{ref:ht(n),parent:i===0?null:ht(i),title:A,target:F,action:m,open:d&&o.FPDFBookmark_GetCount(r)>0,color:GR(e,r),bold:(p&_R)!==0,italic:(p&ER)!==0},complete:k}}function yR(e,t,r,n){let{fn:i,mem:a}=e,o=i.FPDFBookmark_GetAction(r);if(o)try{let d=fr(i,a,t,i.EPDFAction_LoadModel(o),n);return{action:d,target:d?qh(d):{kind:"unsupported"},complete:d!==null&&!d.incomplete}}catch(d){if(!g.is(d))throw d;return{action:null,target:{kind:"unsupported"},complete:!1}}let s=i.FPDFBookmark_GetDest(t,r);if(!s)return{action:null,target:null,complete:!0};let A=jc(i,a,t,s);return{action:null,target:A?{kind:"goto",destination:A}:{kind:"unsupported"},complete:!0}}function GR(e,t){let{fn:r,mem:n}=e;return he(n,[4,4,4],([i,a,o])=>{if(!r.FPDFBookmark_GetColor(t,i,a,o))return null;let s=A=>Math.min(255,Math.max(0,Math.round(ue(n,A)*255)));return Qi(s(i),s(a),s(o))})}var mD=class{constructor(e,t){this.runtime=e,this.session=t}read(e){let{fn:t}=this.runtime,r=this.session.requireDocPtr(),n=aP(),i=[],a=new Set,o=!1,s=(A,d,p)=>{for(let m=t.FPDFBookmark_GetFirstChild(r,A);m;m=t.FPDFBookmark_GetNextSibling(r,m)){O(e);let F=t.EPDFOutline_GetObjectNumber(m);if(!F){o=!0;continue}if(a.has(F)){o=!0;break}if(i.length>=Vi.items)return o=!0,!1;a.add(F);let k=oP(this.runtime,r,m,F,d,n);if(i.push(k.item),k.complete||(o=!0),t.FPDFBookmark_GetFirstChild(r,m)!==Y){if(p+1>=Vi.depth){o=!0;continue}if(!s(m,F,p+1))return!1}}return!0};return s(Y,0,0),{items:i,incomplete:o}}readItem(e,t){let r=this.session.requireDocPtr(),n=this.runtime.fn.EPDFOutline_GetItem(r,e);if(!n)throw new g(f.NotFound,`no outline item ${e}`,{details:{field:"ref"}});return oP(this.runtime,r,n,e,t,aP()).item}},CR=1,IR=2,sP=32767,SR=/^#[0-9a-fA-F]{6}$/;function AP(e){let t=(n,i)=>{throw new g(f.InvalidArg,i,{details:{field:n}})};e.title!==void 0&&(typeof e.title!="string"&&t("title","a title is a string"),e.title.length>sP&&t("title",`a title holds at most ${sP} characters`)),e.color!=null&&!SR.test(e.color)&&t("color","expected a color as '#rrggbb'");let r=e.target;r!=null&&(r.kind==="goto"||r.kind==="uri"||r.kind==="named"&&["NextPage","PrevPage","FirstPage","LastPage"].includes(r.name??"")||t("target",`a '${r.kind}' target can't be written`))}function fl(e,t,r,n){let{fn:i,mem:a}=e,o=(s,A)=>{if(!s)throw new g(f.Unknown,`the ${A} of outline item ${r} could not be written`)};if(n.title!==void 0){let s=n.title;o(Wn(a,s,A=>i.EPDFOutline_SetTitle(t,r,A)),"title")}if(n.target!==void 0){let s=n.target===null?Y:zh(i,a,t,n.target);o(i.EPDFOutline_SetAction(t,r,s),"target")}if(n.color!==void 0)if(n.color===null)o(i.EPDFOutline_SetColor(t,r,!1,0,0,0),"colour");else{let{r:s,g:A,b:d}=Qn(n.color);o(i.EPDFOutline_SetColor(t,r,!0,s/255,A/255,d/255),"colour")}if(n.bold!==void 0||n.italic!==void 0){let s=i.FPDFBookmark_GetStyle(i.EPDFOutline_GetItem(t,r));n.bold!==void 0&&(s=n.bold?s|IR:s&-3),n.italic!==void 0&&(s=n.italic?s|CR:s&-2),o(i.EPDFOutline_SetStyle(t,r,s),"style")}n.open!==void 0&&o(i.EPDFOutline_SetOpen(t,r,n.open),"open state")}var xR=class{constructor(e,t){this.runtime=e,this.session=t,j(this,"reader",void 0),this.reader=new mD(e,t)}tree(){return new DR(this.runtime.fn,this.session.requireDocPtr())}create(e,t,r,n){AP(r);let i=this.tree(),a=this.parentNumberOf(i,e),o=i.childrenOf(a),s=$a(o.map(ht),t,cP),A=s===0?0:o[s-1];n!==void 0&&this.session.claimObjectNumber(n);let{fn:d,mem:p}=this.runtime,m=this.session.requireDocPtr(),F=Wn(p,r.title,y=>d.EPDFOutline_CreateItem(m,n??0,a,A,y));if(!F)throw rs("create the item");let{title:k,...P}=r;fl(this.runtime,m,F,P);let B=this.reader.readItem(F,a);return{item:B,order:this.orderOf(this.tree(),a),meta:this.meta([B.ref])}}update(e,t){AP(t);let r=this.tree(),n=this.requireItem(r,e,"ref");return fl(this.runtime,this.session.requireDocPtr(),e.objectNumber,t),{item:this.reader.readItem(e.objectNumber,n),meta:this.meta([e])}}move(e,t,r){let n=this.tree(),i=e.map(m=>(this.requireItem(n,m,"refs"),m.objectNumber)),a=new Set(i);a.size!==i.length&&ns("refs","an item is named twice");for(let m of i)i.some(F=>F!==m&&n.isAtOrUnder(m,F))&&ns("refs",`item ${m} is under another item that moves`);let o=this.parentNumberOf(n,t);i.some(m=>n.isAtOrUnder(o,m))&&ns("parent","an item would go under itself");let s=n.childrenOf(o).filter(m=>!a.has(m)),A=r==="start"||r==="end"?null:"before"in r?r.before:r.after;A&&a.has(A.objectNumber)&&ns("position",`the neighbour ${A.objectNumber} is one of the items that move`);let d=$a(s.map(ht),r,cP),p=d===0?0:s[d-1];return this.place(i.map(m=>{let F={item:m,parent:o,after:p};return p=m,F}),n)}place(e,t=this.tree()){let{fn:r}=this.runtime,n=this.session.requireDocPtr(),i=new Set;for(let{item:o,parent:s,after:A}of e){i.add(t.parentOf(o)??0),i.add(s);let d=this.tree(),p=A&&d.parentOf(A)===s?A:0;if(!r.EPDFOutline_MoveItem(n,o,s,p))throw rs(`move item ${o}`)}let a=this.tree();return{orders:[...i].map(o=>this.orderOf(a,o)),meta:this.meta(e.map(({item:o})=>ht(o)))}}placementsOf(e,t=this.tree()){let r=new Set(e);return t.items().filter(n=>r.has(n)).map(n=>{let i=t.parentOf(n),a=t.childrenOf(i),o=a.indexOf(n);return{item:n,parent:i,after:o>0?a[o-1]:0}})}delete(e){let t=this.tree();this.requireItem(t,e,"ref");let r=t.subtreeOf(e.objectNumber);if(!this.runtime.fn.EPDFOutline_DeleteItem(this.session.requireDocPtr(),e.objectNumber))throw rs(`delete item ${e.objectNumber}`);return{meta:this.meta(r.map(ht))}}restored(e){let t=this.tree(),r=t.parentOf(e);if(r===void 0)throw rs(`restore item ${e}`);let n=this.subtree(e,t);return{items:n,order:this.orderOf(t,r),meta:this.meta(n.map(i=>i.ref))}}find(e,t=this.tree()){let r=t.parentOf(e.objectNumber);return r===void 0?null:this.reader.readItem(e.objectNumber,r)}subtree(e,t=this.tree()){return t.subtreeOf(e).map(r=>this.reader.readItem(r,t.parentOf(r)))}updated(e){let t=this.find(e);if(!t)throw rs(`read item ${e.objectNumber}`);return{item:t,meta:this.meta([e])}}countAgain(e){let t=this.find(e);t&&fl(this.runtime,this.session.requireDocPtr(),e.objectNumber,{open:t.open})}parentNumberOf(e,t){return t===null?0:(this.requireItem(e,t,"parent"),(e.levelOf(t.objectNumber)??0)>=Vi.depth-1&&ns("parent",`an item under ${t.objectNumber} would be deeper than reads go`),t.objectNumber)}requireItem(e,t,r){let n=e.parentOf(t.objectNumber);if(n===void 0)throw new g(f.NotFound,`no outline item ${t.objectNumber}`,{details:{field:r}});return n}orderOf(e,t){return{parent:t===0?null:ht(t),children:e.childrenOf(t).map(ht)}}meta(e){return{affectedPages:[],cacheDelta:null,...this.session.writeStamp(),changedRefs:e}}},cP=e=>String(e.objectNumber);function ns(e,t){throw new g(f.InvalidArg,t,{details:{field:e}})}function rs(e){return new g(f.MalformedPdf,`could not ${e}: the outline holds an item that isn't an indirect object`)}var HR=["title","target","color","bold","italic","open"],OR=["A","Dest"],An=e=>new xR(e.runtime,e.session),zn=e=>ge(e.authority,"doc.outline.modify");function QR(e,t){zn(e);let r=An(e).create(t.parent,t.position??"end",t.data,t.objectNumber);return{item:{type:"outline.create",...r},reverse:[{kind:"outline.remove",ref:r.item.ref,left:fD(e,[r.item.ref])}]}}function RR(e,t,r){zn(e);let n=gD(e,t.ref);return Cn(r,n,t.expect),wD(e,t.ref,t.patch,n)}function TR(e,t){zn(e);let r=An(e),n=r.tree(),i=t.refs.map(d=>d.objectNumber),a=r.placementsOf(i,n),o=dw(e,n,i),s=r.move(t.refs,t.parent,t.position),A=t.parent?.objectNumber??0;return{item:{type:"outline.move",...s},reverse:[{kind:"outline.move",placements:a,left:i.map(d=>({item:d,parent:A}))},...o]}}function MR(e,t,r){return zn(e),Cn(r,gD(e,t.ref),t.expect),bD(e,t.ref)}function LR(e,t){let r=t.subject.outlineItem,n=An(e),i=n.find(r);if(!i)return ve(e,"outline.update");if(zn(e),Ma(e.runtime,e.session,t.objects)){let k=Gs(e.runtime,e.session,t.objects);n.countAgain(r);let P=Dt(e.runtime,e.session,k);return{item:{type:"outline.update",...n.updated(r)},reverse:[{...t,objects:P,...WR(t.fallback)}]}}let a=t.fallback;if(a?.kind!=="outline")return ve(e,"outline.update");let o=i,s=a.left,A=a.restore,d=Object.keys(s),p=d.filter(k=>ze(o[k],s[k])&&XR(e,k,A[k]));if(p.length===0)return ve(e,"outline.update");let m=wD(e,r,Object.fromEntries(p.map(k=>[k,A[k]])),i),F=d.filter(k=>!p.includes(k));return F.length===0||m.item.type!=="outline.update"?m:{...m,item:{...m.item,skipped:F}}}function NR(e,t){let r=An(e).tree();return!r.has(t.ref.objectNumber)||(zn(e),!ze(r.subtreeOf(t.ref.objectNumber),t.left.map(n=>n.objectNumber))||!Ma(e.runtime,e.session,t.left))?ve(e,"outline.delete"):bD(e,t.ref)}function jR(e,t){let r=An(e),n=r.tree();if(n.has(t.ref.objectNumber)||t.parent&&!n.has(t.parent.objectNumber))return ve(e,"outline.restore");zn(e),gO(e.runtime,e.session.requireDocPtr(),t.capture);let i=r.restored(t.ref.objectNumber);return{item:{type:"outline.restore",...i},reverse:[{kind:"outline.remove",ref:t.ref,left:fD(e,i.items.map(a=>a.ref))}]}}function KR(e,t){let r=An(e),n=r.tree(),i=new Map(t.left.map(({item:d,parent:p})=>[d,p])),a=t.placements.filter(({item:d,parent:p})=>n.parentOf(d)===i.get(d)&&(p===0||n.has(p))&&!n.isAtOrUnder(p,d));if(a.length===0)return ve(e,"outline.move");zn(e);let o=a.map(({item:d})=>d),s=r.placementsOf(o,n),A=dw(e,n,o);return{item:{type:"outline.move",...r.place(a,n)},reverse:[{kind:"outline.move",placements:s,left:a.map(({item:d,parent:p})=>({item:d,parent:p}))},...A]}}function VR(e,t){let r=An(e),n=r.tree(),i=r.find(t.ref,n),a=n.childrenOf(t.ref.objectNumber),o=a.length===t.children.length&&a.every(s=>t.children.includes(s));return!i||i.open||!o?ve(e,"outline.update"):(zn(e),{item:{type:"outline.update",...r.update(t.ref,{open:!0})},reverse:[]})}function wD(e,t,r,n){let i=sn(e.runtime,e.session,[{objectNumber:t.objectNumber,deep:OR}]),a=An(e).update(t,r),o=Dt(e.runtime,e.session,i);return{item:{type:"outline.update",...a},reverse:[{kind:"objects.revert",reports:"outline.update",objects:o,subject:{outlineItem:t},fallback:YR(n,a.item,r)}]}}function bD(e,t){let r=An(e),n=r.tree(),i=n.parentOf(t.objectNumber),a=dw(e,n,[t.objectNumber]),o=fO(e.runtime,e.session.requireDocPtr(),t.objectNumber);return{item:{type:"outline.delete",...r.delete(t)},reverse:[{kind:"outline.restore",ref:t,parent:i===void 0||i===0?null:ht(i),capture:o},...a]}}function dw(e,t,r){let n=new Set(r),i=new Set(r.map(a=>t.parentOf(a)??0));return i.delete(0),[...i].flatMap(a=>{let o=t.childrenOf(a);return o.every(s=>n.has(s))?An(e).find(ht(a),t)?.open?[{kind:"outline.reopen",ref:ht(a),children:o}]:[]:[]})}function fD(e,t){return Dt(e.runtime,e.session,t.map(r=>({objectNumber:r.objectNumber,deep:[],before:null})))}function gD(e,t){let r=An(e).find(t);if(!r)throw new g(f.NotFound,`no outline item ${t.objectNumber}`,{details:{field:"ref"}});return r}function YR(e,t,r){let n=HR.filter(i=>r[i]!==void 0&&!ze(e[i],t[i]));return{kind:"outline",restore:Object.fromEntries(n.map(i=>[i,e[i]])),left:Object.fromEntries(n.map(i=>[i,t[i]]))}}function XR(e,t,r){if(t!=="target"||r===null)return!0;let n=r;if(n.kind==="goto"){let i=n.destination?.page.objectNumber;return e.session.allRecords().some(a=>a.pageObjectNumber===i)}return n.kind==="uri"?!0:n.kind==="named"&&["NextPage","PrevPage","FirstPage","LastPage"].includes(n.name??"")}function WR(e){return e?.kind!=="outline"?e?{fallback:e}:{}:{fallback:{kind:"outline",restore:e.left,left:e.restore}}}var UR=["Annots","Contents","Resources"],qR=["Parent","Rotate"];function Bn(e,t){let r=e.session.pagePool();r.closeIdle();try{return t()}finally{r.closeIdle()}}var Hs=e=>new _l(e.runtime,e.session),uw=e=>new aI(e.runtime,e.session),In=e=>ge(e.authority,"doc.pages.assemble");function zR(e,t){In(e);let r=kD(Rs(e)),n=Hs(e).rotate([...t.pages],t.rotation,e.signal),i=t.pages.map(a=>a.objectNumber);return{item:{type:"pages.rotate",pages:[...t.pages],rotation:t.rotation,...n},reverse:oT(i,r,t.rotation)}}function ZR(e,t){let r=kD(Rs(e)),n=t.pages.filter(o=>r.get(o)===t.left);if(n.length===0)return ve(e,"pages.rotate");In(e);let i=n.map(pe),a=Hs(e).rotate(i,t.rotation,e.signal);return{item:{type:"pages.rotate",pages:i,rotation:t.rotation,...a},reverse:[{kind:"pages.rotate",pages:n,rotation:t.left,left:t.rotation}]}}function JR(e,t){In(e);let r=t.pages.map(d=>d.objectNumber),n=rn(e),i=Os(e),a=Nc(n,r),o=Hs(e).reorder([...t.pages],t.position,e.signal),s=rn(e),A=Qs(e,i,PD(i,n,s,r));return{item:{type:"pages.reorder",...o,...mw(e,A)},reverse:[{kind:"pages.reorder",placements:a,left:Nc(s,r),...A?{labels:A}:{}}]}}function $R(e,t){let r=rn(e),n=new Map(t.left.map(({page:k,after:P})=>[k,P])),i=t.placements.filter(({page:k,after:P})=>{let B=r.indexOf(k);return B>=0&&(r[B-1]??0)===n.get(k)&&(P===0||r.includes(P))});if(i.length===0)return ve(e,"pages.reorder");In(e);let a=i.map(({page:k})=>k),o=Nc(r,a),s=Os(e),A=Hs(e),d=null,p=s,m=r;for(let{page:k,after:P}of i){let B=P===0?"start":{after:pe(P)};({layout:d}=A.reorder([pe(k)],B,e.signal));let y=rn(e);p=PD(p,m,y,[k]),m=y}let F=Qs(e,s,lw(s,p,t.labels));return{item:{type:"pages.reorder",pages:a.map(pe),layout:F?Rs(e):d,meta:DD(e)},reverse:[{kind:"pages.reorder",placements:o,left:Nc(rn(e),a),...F?{labels:F}:{}}]}}function eT(e,t){return In(e),FD(e,fd(rn(e),e.session.resolvePageRefs(t.pages)))}function tT(e,t){let r=rn(e),n=t.pages.filter(({page:d})=>!r.includes(d));if(n.length===0)return ve(e,"pages.restore");In(e);let i=Os(e),a=e.session.requireDocPtr();for(let{capture:d}of n)vO(e.runtime,a,d);e.session.refreshPageRegistry(),e.session.invalidateDerived();let o=rn(e),s=fd(o,n.map(({page:d})=>d)),A=Qs(e,i,lw(i,s.reduce((d,p)=>oo(d,o.indexOf(p),1),i),t.labels));return{item:{type:"pages.restore",pages:s.map(pe),layout:Rs(e),meta:DD(e)},reverse:[vD(e,s,A)]}}function nT(e,t){let r=rn(e),n=t.pages.filter(({page:o,left:s})=>r.includes(o)&&hD(e,o)===s).map(({page:o})=>o);if(n.length===0||n.length>=r.length)return ve(e,"pages.delete");In(e);let i=bR(e,t.fields??[],new Set(n)),a=FD(e,fd(r,n),t.labels);return{item:a.item,reverse:[...a.reverse,...i]}}function rT(e,t){return In(e),pw(e,"pages.insertBlank",()=>uw(e).insertBlank(t.spec,t.position??"end",e.signal,t.objectNumbers))}function iT(e,t){return In(e),pw(e,"pages.insert",()=>uw(e).insert(sT(t.source),t.position??"end",e.signal,t.objectNumbers))}function aT(e,t){return In(e),pw(e,"pages.copy",()=>uw(e).copy(t.pages,t.position??"end",e.signal,t.objectNumbers))}function pw(e,t,r){let n=t!=="pages.insertBlank",i=Os(e),a=n?rP(e):new Set,o=r();n&&e.session.invalidateDerived();let s=n?[...rP(e)].filter(p=>!a.has(p)):[],A=o.insertedPages.map(p=>p.objectNumber),d=Qs(e,i,oo(i,rn(e).indexOf(A[0]),A.length));return{item:{type:t,...o,...mw(e,d)},reverse:[vD(e,A,d,s)]}}function FD(e,t,r){let n=e.session.requireDocPtr(),i=rn(e),a=Os(e),o=t.map(p=>({page:p,capture:FO(e.runtime,n,p)})),s=t.map(pe),A=Hs(e).delete(s,e.signal);e.session.invalidateDerived();let d=Qs(e,a,lw(a,GA(a,i.length,t.map(p=>i.indexOf(p))),r));return{item:{type:"pages.delete",pages:s,...A,...mw(e,d)},reverse:[{kind:"pages.restore",pages:o,...d?{labels:d}:{}}]}}function vD(e,t,r,n=[]){return{kind:"pages.remove",pages:t.map(i=>({page:i,left:hD(e,i)})),...r?{labels:r}:{},...n.length>0?{fields:n}:{}}}function Os(e){return LP(e.runtime,e.session.requireDocPtr())}function lw(e,t,r){return r&&so(e,r.left)?r.sections:t}function Qs(e,t,r){if(!so(t,r))return O2(e.runtime,e.session.requireDocPtr(),r),{sections:t,left:r}}function PD(e,t,r,n){return t.every((i,a)=>r[a]===i)?e:Iu(e,t.length,n.map(i=>t.indexOf(i)),r.indexOf(n[0]))}function mw(e,t){return t?{layout:Rs(e)}:{}}function hD(e,t){let{fn:r,mem:n}=e.runtime,i=e.session.requireDocPtr(),a=Zm(e.runtime,i,t,UR,qR),o=e.session.allRecords().find(p=>p.pageObjectNumber===t),s=o?K2(e.runtime,i,o.pageIndex):0,A=new TextEncoder().encode(` -turn ${s}`),d=new Uint8Array(a.byteLength+A.byteLength);return d.set(a),d.set(A,a.byteLength),_m(r,n,d)}function oT(e,t,r){let n=new Map;for(let i of e){let a=t.get(i);n.set(a,[...n.get(a)??[],i])}return[...n].map(([i,a])=>({kind:"pages.rotate",pages:a,rotation:i,left:r}))}function Nc(e,t){return fd(e,t).map(r=>({page:r,after:e[e.indexOf(r)-1]??0}))}function fd(e,t){return[...t].sort((r,n)=>e.indexOf(r)-e.indexOf(n))}function rn(e){return e.session.allRecords().map(t=>t.pageObjectNumber)}function Rs(e){return new En(e.runtime,e.session).read(e.signal)}function kD(e){return new Map(e.pages.map(t=>[t.ref.objectNumber,t.rotation]))}function DD(e){return{affectedPages:[],cacheDelta:null,...e.session.writeStamp()}}function sT(e){return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.slice().buffer}var AT={opInFileSpace:e=>e,itemOut:e=>e},gl=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}apply(e,t,r,n){let i=this.context(t,r,a=>cR(a,e));return dP(this.session,t,e.map((a,o)=>()=>cT(i,n.opInFileSpace(a),o)),n,r)}undo(e,t,r,n){let i=this.context(t,r,a=>dR(a,e.steps));return dP(this.session,t,e.steps.map(a=>()=>dT(i,a)),n,r)}context(e,t,r){let n,i={runtime:this.runtime,session:this.session,...this.fonts?{fonts:this.fonts}:{},authority:e,signal:t,fillsOwnField:()=>n??(n=r(i))};return i}};function dP(e,t,r,n,i){let a=[],o=[];for(let s of r){O(i),e.clearMissingCharacters();let A=s(),d=e.missingCharacters(),p=d.length===0?A.item:{...A.item,meta:{...A.item.meta,missingCharacters:d}};a.push(n.itemOut(p)),o.push(A.reverse)}return{items:a,record:{userId:t.identity.userId??null,steps:o.reverse().flat()}}}function cT(e,t,r){switch(t.type){case"annotations.create":return yO(e,t);case"annotations.import":return GO(e,t);case"annotations.update":return SO(e,t,r);case"annotations.delete":return xO(e,t,r);case"annotations.reorder":return OO(e,t);case"forms.setValue":return NQ(e,t,r);case"forms.setDisplay":return jQ(e,t);case"forms.setAppearanceText":return KQ(e,t);case"forms.reset":return VQ(e,t);case"forms.create":return YQ(e,t);case"forms.update":return XQ(e,t,r);case"forms.delete":return WQ(e,t,r);case"forms.addWidget":return UQ(e,t);case"forms.removeWidget":return qQ(e,t);case"forms.deleteWidget":return zQ(e,t,r);case"forms.updateWidget":return $Q(e,t,r);case"forms.reorderWidgets":return nR(e,t);case"forms.reorderCalculations":return eR(e,t);case"forms.setSignatureAppearance":return rR(e,t);case"forms.import":return iR(e,t);case"forms.importValues":return aR(e,t);case"metadata.update":return PR(e,t,r);case"metadata.updateCustom":return hR(e,t);case"outline.create":return QR(e,t);case"outline.update":return RR(e,t,r);case"outline.move":return TR(e,t);case"outline.delete":return MR(e,t,r);case"pages.rotate":return Bn(e,()=>zR(e,t));case"pages.reorder":return Bn(e,()=>JR(e,t));case"pages.delete":return Bn(e,()=>eT(e,t));case"pages.insertBlank":return Bn(e,()=>rT(e,t));case"pages.insert":return Bn(e,()=>iT(e,t));case"pages.copy":return Bn(e,()=>aT(e,t));case"attachments.create":return XO(e,t);case"attachments.delete":return WO(e,t)}}function dT(e,t){switch(t.kind){case"objects.revert":return"annotation"in t.subject?QO(e,{...t,subject:t.subject}):"outlineItem"in t.subject?LR(e,{...t,subject:t.subject}):uR(e,{...t,subject:t.subject});case"annotation.remove":return RO(e,t);case"annotation.restore":return TO(e,t);case"annotation.reorder":return MO(e,t);case"field.remove":return mR(e,t);case"field.restore":return wR(e,t);case"widget.restore":return ZQ(e,t);case"widget.delete":return JQ(e,t);case"calculations.restore":return tR(e,t);case"metadata.revert":return kR(e,t);case"outline.remove":return NR(e,t);case"outline.restore":return jR(e,t);case"outline.move":return KR(e,t);case"outline.reopen":return VR(e,t);case"pages.rotate":return Bn(e,()=>ZR(e,t));case"pages.reorder":return Bn(e,()=>$R(e,t));case"pages.restore":return Bn(e,()=>tT(e,t));case"pages.remove":return Bn(e,()=>nT(e,t));case"attachments.remove":return UO(e,t);case"attachments.restore":return qO(e,t)}}function uT(e){let t=0,r=n=>{for(let i of n)t+=(i.before?.byteLength??0)+i.after.byteLength};for(let n of e.steps)switch(n.kind){case"objects.revert":r(n.objects);break;case"annotation.restore":t+=n.capture.byteLength,r(n.unlinked);break;case"field.restore":case"outline.restore":t+=n.capture.byteLength;break;case"outline.remove":r(n.left);break;case"pages.restore":for(let{capture:i}of n.pages)t+=i.byteLength;break;case"attachments.remove":t+=n.left.byteLength;break;case"attachments.restore":t+=n.capture.byteLength;break;default:break}return t}var pT=64*1024*1024,lT=4096,mT=class{constructor(){j(this,"entries",new Map),j(this,"bytes",0)}outcome(e){return this.entries.get(e)?.outcome}record(e){let t=this.entries.get(e);if(t)return t.unavailable?{unavailable:t.unavailable}:{record:t.record}}keepApplied(e,t,r,n){let i=n?uT(n):0;this.add(e,{outcome:{kind:"applied",fingerprint:t,result:r},record:n,bytes:i}),this.bytes+=i,this.trimCaptures()}keepRefused(e,t,r){this.add(e,{outcome:{kind:"refused",fingerprint:t,error:r},record:null,bytes:0})}endUndo(){for(let e of this.entries.values())e.outcome.kind==="applied"&&!e.unavailable&&this.drop(e,"final-change")}add(e,t){this.entries.set(e,t);for(let[r,n]of this.entries){if(this.entries.size<=lT)break;this.drop(n,"expired"),this.entries.delete(r)}}trimCaptures(){for(let e of this.entries.values()){if(this.bytes<=pT)break;e.bytes>0&&this.drop(e,"expired")}}drop(e,t){this.bytes-=e.bytes,e.record=null,e.bytes=0,e.unavailable=t}},uP=new WeakMap;function is(e){let t=uP.get(e);return t||(t=new mT,uP.set(e,t)),t}function Fl(e){let t=e.openedAs!=="none";return{encryptionState:t?"encrypted":"none",encryptionRequiresPassword:!1,securityHandlerRevision:t?e.securityHandlerRevision:null,pdfPermissionsBits:e.permissionsBits,pdfPermissionsAllAllowed:G7(e.permissionsBits),pdfOpenedAs:e.openedAs,securityProbedAt:e.probedAt}}function wT(e){return e===3?"owner":e===2?"user":"none"}var vl=class{constructor(e){this.runtime=e,_P(this.runtime)}probeFile(e,t=null){let r=Date.now(),n=null,i=null;try{if(n=this.runtime.fileAccess.fromNodeFile(e),i=this.runtime.fn.FPDF_LoadCustomDocument(n.ptr,t??""),!i){let s=this.runtime.fn.FPDF_GetLastError();return s===4?{encryptionState:"encrypted",encryptionRequiresPassword:!0,securityHandlerRevision:null,pdfPermissionsBits:null,pdfPermissionsAllAllowed:null,pdfOpenedAs:null,securityProbedAt:r}:s===5?{encryptionState:"unsupported",encryptionRequiresPassword:null,securityHandlerRevision:null,pdfPermissionsBits:null,pdfPermissionsAllAllowed:null,pdfOpenedAs:null,securityProbedAt:r}:bT(r)}let a=this.runtime.fn.EPDF_IsEncrypted(i),o=rl(this.runtime.fn.FPDF_GetDocPermissions(i));return Fl({openedAs:a?this.runtime.fn.EPDF_IsOwnerUnlocked(i)?"owner":"user":"none",permissionsBits:o,securityHandlerRevision:a?this.runtime.fn.FPDF_GetSecurityHandlerRevision(i):null,probedAt:r})}finally{i&&this.runtime.fn.FPDF_CloseDocument(i),n?.close()}}readLiveSecurityInfo(e){let{fn:t}=this.runtime,r=e.requireDocPtr(),n=t.EPDF_IsEncrypted(r),i=rl(t.FPDF_GetDocUserPermissions(r));return Fl({openedAs:n?t.EPDF_IsOwnerUnlocked(r)?"owner":"user":"none",permissionsBits:i,securityHandlerRevision:n?t.FPDF_GetSecurityHandlerRevision(r):null,probedAt:Date.now()})}checkPasswordPermissions(e,t,r="any"){let n=e.requireDocPtr(),{mem:i,fn:a}=this.runtime,o=i.alloc(4),s=i.alloc(4),A=i.alloc(4),d=i.alloc(4);try{if(i.poke(o,"i32",0),i.poke(s,"i32",0),i.poke(A,"i32",0),i.poke(d,"i32",0),!a.EPDF_CheckPasswordPermissions(n,t,o,s,A,d))throw new g(f.DocPasswordIncorrect,"incorrect document password");let p=wT(Number(i.peek(o,"i32")));if(r==="owner"&&p!=="owner")throw new g(f.DocPasswordIncorrect,"owner password required");return Fl({openedAs:p,permissionsBits:rl(Number(i.peek(A,"i32"))),securityHandlerRevision:Number(i.peek(d,"i32")),probedAt:Date.now()})}finally{i.free(d),i.free(A),i.free(s),i.free(o)}}};function bT(e){return{encryptionState:"unknown",encryptionRequiresPassword:null,securityHandlerRevision:null,pdfPermissionsBits:null,pdfPermissionsAllAllowed:null,pdfOpenedAs:null,securityProbedAt:e}}var fT=1,gT=2;function wc(e){return e==="incremental"?fT:gT}function ka(e){return e===1?new g(f.DocOpenFailed,"layer artifact cannot be saved because append-only offsets exceed the supported range"):new g(f.DocOpenFailed,"failed to save layer artifact")}function pP(e,t,r){let n=e.readBytes(t,r);return n.buffer instanceof ArrayBuffer&&n.byteOffset===0&&n.byteLength===n.buffer.byteLength?n.buffer:new Uint8Array(n).buffer}var FT=1,lP=2,Vn=class{constructor(e,t){this.runtime=e,this.session=t}snapshot(){if(!this.session.hasUnsavedEdits())return{bytes:this.loadedBytes(),source:"loaded"};let e=this.saveStandaloneToBufferEx("incremental");return e.unchangedSinceLoad?{bytes:this.loadedBytes(),source:"loaded"}:{bytes:e.bytes,source:"working-copy"}}loadedBytes(){return new st(this.runtime,this.session).loadedBytes()}copyLoadedBytesToFile(e){let t=new st(this.runtime,this.session),r=Number(this.runtime.fn.EPDFDoc_GetLoadedBytesSize(this.session.requireDocPtr())),n=4*1024*1024;this.runtime.fileWrite.removeFile(e);for(let i=0;i{for(let p=0;p<4;p++)Se(o,s,0,p*8);if(Se(o,A,0),Se(o,d,0),!a.EPDFSig_SealSpan(t,BigInt(r),BigInt(n),BigInt(i),s,A,d))throw new g(f.Unknown,"failed to seal the signing candidate");return{byteRange:[He(o,s,0),He(o,s,8),He(o,s,16),He(o,s,24)],contentsOffset:He(o,A),contentsHexLength:He(o,d)}})}function ww(e,t,r,n,i,a){let{fn:o,mem:s}=e,A=s.alloc(a.byteLength);try{if(s.writeBytes(A,a),!o.EPDFSig_WriteContents(t,BigInt(r),BigInt(i.contentsOffset-n),BigInt(i.contentsHexLength),A,a.byteLength))throw new g(f.SignatureRefused,"the CMS is not one DER object that fits the reserved /Contents")}finally{s.free(A)}}function PT(e,t,r,n){let{mem:i}=e,a=e.fileAccess.readRange(t,r.holeOffset,r.hexLength+2);if(a.byteLength!==r.hexLength+2||a[0]!==60||a[a.byteLength-1]!==62)throw new g(f.InvalidArg,"the byteRange gap is not a <\u2026> /Contents hole of the candidate");let o=i.alloc(a.byteLength);try{i.writeBytes(o,a),ww(e,o,a.byteLength,r.holeOffset,{byteRange:[0,0,0,0],contentsOffset:r.holeOffset+1,contentsHexLength:r.hexLength,digest:new Uint8Array},n),e.fileWrite.writeRange(t,r.holeOffset,i.readBytes(o,a.byteLength))}finally{i.free(o)}}var hT=class{constructor(e,t){this.runtime=e,this.baseDocuments=t}save(e,t){let{mem:r,fn:n}=this.runtime;return he(r,[8,8,8],([i,a,o])=>{Se(r,i,0),Se(r,a,0),Se(r,o,0);let s=n.EPDFSig_SaveCandidateToOwnedBuffer(e,t,i,a,o);if(!s)throw new g(f.Unknown,"failed to save the signing candidate");try{let A=He(r,i);return{kind:"memory",bytes:as(r.readBytes(s,A)),size:A,objectOffset:He(r,a),objectLength:He(r,o)}}finally{n.EPDF_FreeBuffer(s)}})}seal(e,t){if(e.kind!=="memory")throw new g(f.InvalidArg,"not a memory candidate");let{mem:r,fn:n}=this.runtime,i=r.alloc(e.bytes.byteLength);try{return r.writeBytes(i,e.bytes),he(r,[32,8,8,64,8],([a,o,s,A,d])=>{for(let m=0;m<4;m++)Se(r,a,0,m*8);if(Se(r,o,0),Se(r,s,0),Se(r,d,64),!n.EPDFSig_Seal(i,BigInt(e.bytes.byteLength),BigInt(e.objectOffset),BigInt(e.objectLength),vs[t],a,o,s,A,d))throw new g(f.Unknown,"failed to seal the signing candidate");e.bytes=as(r.readBytes(i,e.bytes.byteLength));let p=Number(r.peek(d,"i32"));return{byteRange:[He(r,a,0),He(r,a,8),He(r,a,16),He(r,a,24)],contentsOffset:He(r,o),contentsHexLength:He(r,s),digest:as(r.readBytes(A,p))}})}finally{r.free(i)}}writeContents(e,t,r){if(e.kind!=="memory")throw new g(f.InvalidArg,"not a memory candidate");let{mem:n}=this.runtime,i=n.alloc(e.bytes.byteLength);try{n.writeBytes(i,e.bytes),ww(this.runtime,i,e.bytes.byteLength,0,t,r),e.bytes=as(n.readBytes(i,e.bytes.byteLength))}finally{n.free(i)}}openSealed(e,t){if(e.kind!=="memory")throw new g(f.InvalidArg,"not a memory candidate");let r=this.baseDocuments.acquireMemoryBase({key:`signed:${Kr()}`,bytes:e.bytes,password:t});return _n(this.runtime,r,{kind:"fresh"},t)}discard(){}},kT=class{constructor(e,t,r,n=DT){this.runtime=e,this.baseDocuments=t,this.basePath=r,this.candidatePath=n}save(e,t,r){let{mem:n,fn:i}=this.runtime,a=this.candidatePath(this.basePath,r);this.runtime.fileWrite.removeFile(a);let o=this.runtime.fileWrite.toNodeFile(a);try{return he(n,[8,8,8],([s,A,d])=>{if(Se(n,s,0),Se(n,A,0),Se(n,d,0),!i.EPDFSig_SaveCandidate(e,t,o.ptr,s,A,d))throw new g(f.Unknown,"failed to save the signing candidate");return{kind:"file",path:a,size:He(n,s),objectOffset:He(n,A),objectLength:He(n,d)}})}catch(s){throw o.close(),this.runtime.fileWrite.removeFile(a),s}finally{o.close()}}seal(e,t){if(e.kind!=="file")throw new g(f.InvalidArg,"not a file candidate");let{mem:r,fn:n}=this.runtime,i=this.runtime.fileAccess.readRange(e.path,e.objectOffset,e.objectLength);if(i.byteLength!==e.objectLength)throw new g(f.Unknown,"the signing candidate file is shorter than its object span");let a=r.alloc(i.byteLength),o;try{r.writeBytes(a,i),o=vT(this.runtime,a,i.byteLength,e.objectOffset,e.size),this.runtime.fileWrite.writeRange(e.path,e.objectOffset,r.readBytes(a,i.byteLength))}finally{r.free(a)}let s=this.runtime.fileAccess.fromNodeFile(e.path);try{let A=he(r,[32,64,8],([d,p,m])=>{for(let F=0;F<4;F++)Se(r,d,o.byteRange[F],F*8);if(Se(r,m,64),!n.EPDFSig_DigestFileRange(s.ptr,d,vs[t],p,m))throw new g(f.Unknown,"failed to digest the signing candidate file");return as(r.readBytes(p,Number(r.peek(m,"i32"))))});return{...o,digest:A}}finally{s.close()}}writeContents(e,t,r){if(e.kind!=="file")throw new g(f.InvalidArg,"not a file candidate");let{mem:n}=this.runtime,i=this.runtime.fileAccess.readRange(e.path,e.objectOffset,e.objectLength),a=n.alloc(i.byteLength);try{n.writeBytes(a,i),ww(this.runtime,a,i.byteLength,e.objectOffset,t,r),this.runtime.fileWrite.writeRange(e.path,e.objectOffset,n.readBytes(a,i.byteLength))}finally{n.free(a)}}openSealed(e,t){if(e.kind!=="file")throw new g(f.InvalidArg,"not a file candidate");let r=this.baseDocuments.acquireFileBase({key:`signed:${e.path}`,path:e.path,password:t});return _n(this.runtime,r,{kind:"fresh"},t)}discard(e){e.kind==="file"&&this.runtime.fileWrite.removeFile(e.path)}};function DT(e,t){return`${e}.signing-${t}.pdf`}function Ul(e,t,r,n){return`${e}.${t}-${r}.${n}`}function BD(e,t,r,n){let i=A=>new g(f.SignatureRefused,`the sealed bytes ${A}`),a=Fi(e,r),o=a.find(A=>A.field.kind==="objectNumber"&&A.field.objectNumber===n.fieldObjectNumber);if(!o)throw i("lost the signature field");if(!o.signed||o.coverage!=="whole-revision"||!o.byteRange)throw i("do not carry a whole-revision signature on the field");if(!BT(o.byteRange,n.byteRange))throw i(`carry /ByteRange [${o.byteRange.join(" ")}] where [${n.byteRange.join(" ")}] was sealed`);if(!e.fn.EPDFSig_IsRevisionChainValid(r))throw i("have a broken cross-reference chain");let s=Rc(e,t,a);if(o.revisionIndex!==s.length-1)throw i("seal an earlier revision than the candidate");if(!ld(Uk(e,r,o.index),n.cms))throw i("carry /Contents that are not the CMS installed");return o}function BT(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}function mP(e,t,r){let n=Ee(e,t),i=e.fn.EPDFForm_GetFieldIndexByObjNum(n,r);return i<0?null:hm(e,n,i)}function ET(e,t,r){let{fn:n,mem:i}=e,a=Ee(e,t),o=[],s=n.EPDFForm_CountFields(a);for(let A=0;An.EPDFForm_GetFieldName(a,A,p,m));d&&o.push(d)}return o}var wP={"adbe.pkcs7.detached":0,"ETSI.CAdES.detached":1,"ETSI.RFC3161":2},_T={all:1,include:2,exclude:3},yT=8192,bP=256,fP=4*1024*1024,GT={bytes:52,ptrBytes:4,subfilter:0,digest:4,contentsSize:8,name:12,reason:16,location:20,contactInfo:24,signingTime:28,docmdpPermission:32,fieldmdpAction:36,fieldmdpFields:40,fieldmdpFieldCount:44,lockPermission:48},CT={bytes:80,ptrBytes:8,subfilter:0,digest:4,contentsSize:8,name:16,reason:24,location:32,contactInfo:40,signingTime:48,docmdpPermission:56,fieldmdpAction:60,fieldmdpFields:64,fieldmdpFieldCount:72,lockPermission:76},Pl=class{constructor(e,t,r,n){this.runtime=e,this.session=t,this.baseDocuments=r,this.candidatePath=n}prepare(e,t){if(this.session.pendingSigning)throw new g(f.SigningPending,`a signing is pending (${this.session.pendingSigning.prepared.signingId}); complete or cancel it first`);let r=new st(this.runtime,this.session),n=r.resolveField(e.field),i=mP(this.runtime,this.session,n.fieldObjectNumber);Tn(t,i,"sign");let a=e.lock??(i!==null?{action:"include",fields:ET(this.runtime,this.session,i)}:void 0);if(n.signed)throw new g(f.SignatureRefused,"the signature field is already signed");if(e.appearance&&!n.widget)throw new g(f.SignatureRefused,"the signature field has no widget to carry an appearance");let o=e.digest??"sha256";if(!(o in vs)||o==="sha1")throw new g(f.SignatureRefused,`unsupported digest '${o}'`);let s=(e.kind??"signature")==="timestamp"?"ETSI.RFC3161":e.subFilter??"ETSI.CAdES.detached";if(!(s in wP))throw new g(f.SignatureRefused,`unsupported subFilter '${s}'`);let A=e.contentsSizeBytes??yT;if(!Number.isInteger(A)||AfP)throw new g(f.SignatureRefused,`contentsSize must be an integer in [${bP}, ${fP}]`);let d=this.session.versionRef(r.version().sha256),p=Kr(),m=new tn;try{let F=this.openCandidate(p,m);m.push(()=>F.close());let k=e.signer,P=this.callPrepare(F.docPtr,n.fieldObjectNumber,{subfilter:wP[s],digest:vs[o],contentsSize:A,name:k?.name??null,reason:k?.reason??null,location:k?.location??null,contactInfo:k?.contactInfo??null,signingTime:k?.signedAt!==void 0?ft(k.signedAt):null,docmdpPermission:e.certify?.permission??0,fieldmdpAction:a?_T[a.action]:0,fieldmdpFields:a?.action==="all"?[]:a?.fields??[],lockPermission:a?.permission??0});if(P===0)throw new g(f.SignatureRefused,"the engine refused to author the signature (the field is signed, read-only or locked, a certification is not allowed here, the seed value requires what is not implemented, or the request is inconsistent)");e.appearance&&n.widget&&qk(this.runtime,F.docPtr,n.widget,e.appearance.pdf,{recordFit:!1});let B=this.storeFor(),y=B.save(F.docPtr,P,p),x;try{x=B.seal(y,o)}catch(S){throw B.discard(y),S}let I={signingId:p,digest:x.digest,algorithm:o,byteRange:x.byteRange,contentsSizeBytes:A,subFilter:s,expectedVersion:d,expiresAt:null};return this.session.pendingSigning={prepared:I,fieldObjectNumber:n.fieldObjectNumber,saved:y,contentsOffset:x.contentsOffset,contentsHexLength:x.contentsHexLength},I}finally{m.close()}}complete(e,t,r){let n=this.session.pendingSigning;if(!n||n.prepared.signingId!==e.signingId){let m=this.session.lastCompletion;if(m&&m.signingId===e.signingId){if(!ld(m.cms,e.cms))throw new g(f.SignatureRefused,"this signing already completed with a different CMS");return{...m.result,status:"already-completed"}}throw new g(f.NotFound,`no pending signing '${e.signingId}'`)}if(Tn(r,mP(this.runtime,this.session,n.fieldObjectNumber),"sign"),!IT(n.prepared.expectedVersion,e.expectedVersion))throw new g(f.SigningVersionMismatch,"expectedVersion is not the version the candidate was prepared on");if(e.cms.byteLength===0||e.cms[0]!==48)throw new g(f.SignatureRefused,"the CMS is not a DER SEQUENCE");if(e.cms.byteLength>n.prepared.contentsSizeBytes)throw new g(f.SignatureRefused,`the CMS (${e.cms.byteLength} bytes) does not fit the reserved ${n.prepared.contentsSizeBytes} bytes`);let i=this.storeFor(),a={byteRange:n.prepared.byteRange,contentsOffset:n.contentsOffset,contentsHexLength:n.contentsHexLength,digest:n.prepared.digest};i.writeContents(n.saved,a,e.cms);let o=i.openSealed(n.saved,this.session.password);this.verifySealed(o,{fieldObjectNumber:n.fieldObjectNumber,byteRange:n.prepared.byteRange,cms:e.cms}),this.session.install(o),Dc(this.runtime,this.session),_c(this.runtime,this.session);let s=new st(this.runtime,this.session),A=s.readSnapshot(),d=A.signatures.find(m=>m.field.kind==="objectNumber"&&m.field.objectNumber===n.fieldObjectNumber);if(!d)throw new g(f.Unknown,"the installed document lost the signature field");let p={status:"completed",signature:d,version:s.version(),previous:n.prepared.expectedVersion,protection:A.protection,meta:{affectedPages:this.session.allRecords().map(m=>pe(m.pageObjectNumber)),cacheDelta:null,opId:t,undoable:!1}};return this.session.lastCompletion={signingId:e.signingId,cms:e.cms.slice(),result:p},p}cancel(e){let t=this.session.pendingSigning;return t&&t.prepared.signingId===e?(this.session.pendingSigning=null,this.storeFor().discard(t.saved),{status:"cancelled"}):this.session.lastCompletion?.signingId===e?{status:"already-completed"}:{status:"unknown"}}callPrepare(e,t,r){let{mem:n,fn:i}=this.runtime,a=this.runtime.kind==="wasm"?GT:CT,o=[],s=d=>{if(d===null)return Y;let p=n.writeU16String(d);return o.push(p),p},A=d=>{if(d===null)return Y;let p=n.writeU8String(d);return o.push(p),p};try{return Ga(this.runtime,r.fieldmdpFields,(d,p)=>V(n,a.bytes,m=>{for(let k=0;k{a.ptrBytes===4?n.poke(m,"i32",Number(P),k):n.poke(m,"i64",P,k)};return n.poke(m,"i32",r.subfilter,a.subfilter),n.poke(m,"i32",r.digest,a.digest),n.poke(m,"i32",r.contentsSize,a.contentsSize),F(a.name,s(r.name)),F(a.reason,s(r.reason)),F(a.location,s(r.location)),F(a.contactInfo,s(r.contactInfo)),F(a.signingTime,A(r.signingTime)),n.poke(m,"i32",r.docmdpPermission,a.docmdpPermission),n.poke(m,"i32",r.fieldmdpAction,a.fieldmdpAction),F(a.fieldmdpFields,p>0?d:Y),n.poke(m,"i32",p,a.fieldmdpFieldCount),n.poke(m,"i32",r.lockPermission,a.lockPermission),i.EPDFSig_Prepare(e,t,m)}))}finally{for(let d=o.length-1;d>=0;d--)n.free(o[d])}}storeFor(){let e=this.session.source.base;return e?.kind==="file"?new kT(this.runtime,this.baseDocuments,e.path,this.candidatePath):new hT(this.runtime,this.baseDocuments)}verifySealed(e,t){let{fn:r}=this.runtime;try{let n=r.EPDFSig_LoadModel(e.docPtr);if(!n)throw new g(f.Unknown,"the sealed bytes have no signature model");try{BD(this.runtime,e.docPtr,n,t)}finally{r.EPDFSig_CloseModel(n)}this.session.kind!=="layer"&&(this.session.persistLayerArtifact=!1)}catch(n){throw e.close(),n}}openCandidate(e,t){let r=this.session.password,n=this.session.source,i=new Vn(this.runtime,this.session),a=i.canWriteScratchFiles()&&n.base?.kind==="file"?n.base.path:null;if(this.session.kind==="layer"&&n.base&&!this.loadedDeltaHoldsSignedBytes()){let A=this.baseDocuments.retainByKey(n.base.key);if(A){let d=n.layer??{kind:"fresh"};if(this.session.hasUnsavedEdits())if(a){let p=Ul(a,"signing",e,"layer");t.push(()=>this.runtime.fileWrite.removeFile(p)),i.saveLayerArtifactToFileEx(p).changedSinceLoad&&(d={kind:"artifact-file",path:p})}else{let p=i.saveLayerArtifactEx();p.changedSinceLoad&&(d={kind:"artifact",bytes:p.bytes})}return _n(this.runtime,A,d,r)}}if(a){let A=Ul(a,"signing",e,"base.pdf");t.push(()=>this.runtime.fileWrite.removeFile(A)),i.snapshotToFile(A);let d=this.baseDocuments.acquireFileBase({key:`candidate:${e}`,path:A,password:r});return _n(this.runtime,d,{kind:"fresh"},r)}let o=i.snapshot().bytes,s=this.baseDocuments.acquireMemoryBase({key:`candidate:${e}`,bytes:new Uint8Array(o),password:r});return _n(this.runtime,s,{kind:"fresh"},r)}loadedDeltaHoldsSignedBytes(){let e=this.session.source.layer;if(!e||e.kind==="fresh")return!1;let t=Number(this.runtime.fn.EPDFDoc_GetBaseBytesSize(this.session.requireDocPtr()));return new st(this.runtime,this.session).readSnapshot().signatures.some(r=>r.signed&&r.byteRange!==null&&r.byteRange[2]+r.byteRange[3]>t)}};function IT(e,t){return e.baseSha256===t.baseSha256&&e.editsVersion===t.editsVersion}var ST={0:"added",1:"modified",2:"freed"},xT={0:"dictionary",1:"stream",2:"array",3:"scalar",4:"xref",5:"objstm",6:"trailer"},bc=0,fc=1,gP={0:"ok",1:"failed",2:"absent"};function FP(e,t){let r=new Set([0,e.root,e.pagesRoot,...e.pages,...t]);e.acroForm&&r.add(e.acroForm);for(let n of e.fields){r.add(n.objectNumber);for(let i of n.widgets)r.add(i)}return r}var vP=class{constructor(e,t){this.runtime=e,this.session=t}readWorkingCopySnapshot(){let e=new tn;try{let t=this.openWorkingCopy(e);if(t.source==="loaded")return new st(this.runtime,this.session).readSnapshot();let r=t.target;return Tc(this.runtime,r,n=>{let i=this.runtime.fn.EPDFSig_IsRevisionChainValid(n),a=Fi(this.runtime,n);return{chainValid:i,revisions:i?Rc(this.runtime,r,a):[],signatures:a,protection:Ut(a)}})}finally{e.close()}}analyze(e){let t=new st(this.runtime,this.session),r=t.readSnapshot(),n=t.version(),i=e.exploratoryLevel?"exploratory":"authoritative",a=e.detail??"summary",o="persisted",s=this.session.editsSeq(),A,d=null;if("signatureIndex"in e.since){let m=r.signatures[e.since.signatureIndex];if(!m)throw new g(f.NotFound,`no signature ${e.since.signatureIndex}`);if(!m.signed||m.revisionIndex===null)throw new g(f.InvalidArg,`signature ${e.since.signatureIndex} seals no whole revision; nothing to analyze from`);A=m.revisionIndex,d=m.index}else A=e.since.revisionIndex;if(!r.chainValid){let m={verdict:"indeterminate",complete:!1,findings:[{rule:"revision-chain",verdict:"incomplete",objectNumber:0,detail:"the cross-reference chain is broken or was rebuilt: no revision can be told from another"}],method:"net-state"};return{mode:i,policyVersion:RA,basis:{version:n,editsVersion:s,source:"persisted"},since:{revisionIndex:A,signatureIndex:d},until:{revisionIndex:A},restrictions:[],current:{...m,primary:m.findings[0]},later:{revisionCount:0,undoneObjectNumbers:[]},verdict:"indeterminate",steps:[]}}if(!Number.isInteger(A)||A<0||A>=r.revisions.length)throw new g(f.InvalidArg,`no revision ${A}`);let p=new tn;try{let m=this.session.requireDocPtr(),F=r.revisions,k=e.until==="working-copy"?this.openWorkingCopy(p):null;if(k&&k.source==="working-copy"){o="working-copy",m=k.target;let se=Tc(this.runtime,m,dt=>Fi(this.runtime,dt));if(F=Rc(this.runtime,m,se),F.length===0)throw new g(f.MalformedPdf,"the working copy has no valid revision chain")}let P=F.length-1;if(typeof e.until=="object"&&(P=e.until.revisionIndex,!Number.isInteger(P)||P=F.length))throw new g(f.InvalidArg,`no revision ${P} at or after ${A}`);let B=new tn,y,x,I=[],S;try{let se=this.openPrefix(m,F,A,B),dt=P===F.length-1?m:this.openPrefix(m,F,P,B);y=wl(this.runtime,se),x=P===A?y:wl(this.runtime,dt),P>A&&({changes:I,health:S}=this.compare(se,dt,y,x))}finally{B.close()}let G=d===null?null:y.signatures[d]??null,T=pp(y,G),W=e.exploratoryLevel,Pe=XA({older:A,newer:P,changes:I,before:y,after:x,health:S,restrictions:{level:T.level,locks:T.locks},levelOverride:W}),be=T.anchors.some(se=>se.source==="docmdp"&&se.own),Q=P-A,q;Q<=1?q=Q===1?[Pe]:[]:be||a==="full"?q=this.walkSteps(m,F,A,P,y,{level:T.level,locks:T.locks,levelOverride:W}):q=[];let oe=be?{...Ap(Pe,q),method:"net-state+replay"}:{...sp(Pe),method:"net-state"};return{mode:i,policyVersion:RA,basis:{version:n,editsVersion:s,source:o},since:{revisionIndex:A,signatureIndex:d},until:{revisionIndex:P},restrictions:T.anchors,current:oe,later:{revisionCount:Q,undoneObjectNumbers:I.filter(WA).map(se=>se.objectNumber)},verdict:oe.verdict,steps:q}}finally{p.close()}}openPrefix(e,t,r,n){let i=this.runtime.fn.EPDFDoc_OpenRevision(e,BigInt(t[r].end));if(i===Y)throw new g(f.MalformedPdf,`revision ${r} does not open as a document`);return n.push(()=>this.runtime.fn.FPDF_CloseDocument(i)),i}walkSteps(e,t,r,n,i,a){let{fn:o}=this.runtime,s=[],A=this.openPrefix(e,t,r,new tn),d=i;try{for(let p=r+1;p<=n;p++){let m=p===t.length-1?e:this.openPrefix(e,t,p,new tn);try{let F=wl(this.runtime,m),{changes:k,health:P}=this.compare(A,m,d,F);s.push(XA({older:p-1,newer:p,changes:k,before:d,after:F,health:P,restrictions:{level:a.level,locks:a.locks},levelOverride:a.levelOverride})),d=F}finally{o.FPDF_CloseDocument(A),A=m}}}finally{A!==e&&o.FPDF_CloseDocument(A)}return s}openWorkingCopy(e){let{fn:t,mem:r}=this.runtime,n=this.session.requireDocPtr();if(!this.session.hasUnsavedEdits())return{target:n,source:"loaded"};let i=new Vn(this.runtime,this.session);if(this.session.kind==="layer"){let s=this.session.source.base;if(i.canWriteScratchFiles()&&s?.kind==="file"){let m=Ul(s.path,"working-copy",Kr(),"delta");if(e.push(()=>this.runtime.fileWrite.removeFile(m)),!i.saveLayerDeltaToFileEx(m).changedSinceLoad)return{target:n,source:"loaded"};if(this.runtime.fileAccess.sizeOf(m)===0)return this.freshLayerOverBase(e);let F=CP(r,m,k=>t.EPDFDoc_OpenBaseOverlayFromPath(n,k));if(F===Y)throw new g(f.MalformedPdf,"the working copy does not compose with its base");return e.push(()=>t.FPDF_CloseDocument(F)),{target:F,source:"working-copy"}}let A=i.saveLayerDeltaEx();if(!A.changedSinceLoad)return{target:n,source:"loaded"};if(A.size===0)return this.freshLayerOverBase(e);let d=new Uint8Array(A.bytes),p=r.alloc(d.byteLength);try{r.writeBytes(p,d);let m=t.EPDFDoc_OpenBaseOverlay(n,p,d.byteLength);if(m===Y)throw new g(f.MalformedPdf,"the working copy does not compose with its base");return e.push(()=>t.FPDF_CloseDocument(m)),{target:m,source:"working-copy"}}finally{r.free(p)}}let a=i.saveStandaloneToBufferEx("incremental");if(a.unchangedSinceLoad)return{target:n,source:"loaded"};let o=IP(this.runtime,new Uint8Array(a.bytes),this.session.password);return e.push(()=>o.close()),{target:o.docPtr,source:"working-copy"}}freshLayerOverBase(e){let{fn:t,mem:r}=this.runtime,n=t.EPDFLayer_GetBaseDocument(this.session.requireDocPtr()),i=r.alloc(4);try{r.poke(i,"i32",-1);let a=t.EPDFLayer_OpenLayer(n,Y,this.session.password??"",i);if(a===Y||Number(r.peek(i,"i32"))!==0)throw new g(f.MalformedPdf,"the working copy could not be opened over its base");return e.push(()=>t.FPDF_CloseDocument(a)),{target:a,source:"working-copy"}}finally{r.free(i)}}compare(e,t,r,n){let{fn:i,mem:a}=this.runtime,o=i.EPDFDoc_CompareRevisions(e,t);if(o===Y)throw new g(f.MalformedPdf,"the revisions do not share a byte history");try{let s=i.EPDFObjectDiff_GetCount(o),A=[];return he(a,[4,4,4,4,4,4],([d,p,m,F,k,P])=>{for(let B=0;B>>0,x=Number(a.peek(F,"i32")),I=Number(a.peek(k,"i32")),S=this.readValue(o,B,bc),G=this.readValue(o,B,fc),T=S.truncated||G.truncated,W=null,Pe=null;try{W=S.text===null||S.truncated?null:YA(S.text),Pe=G.text===null||G.truncated?null:YA(G.text)}catch{T=!0}let be=ST[Number(a.peek(p,"i32"))]??"modified";A.push({objectNumber:y,change:be,kind:xT[Number(a.peek(m,"i32"))]??"scalar",present:{old:be!=="added",new:be!=="freed"},generation:{old:x<0?null:x,new:I<0?null:I},value:{old:W,new:Pe,truncated:T},raw:{old:S.text,new:G.text},read:{old:gP[i.EPDFObjectDiff_GetReadStatus(o,B,bc)]??"failed",new:gP[i.EPDFObjectDiff_GetReadStatus(o,B,fc)]??"failed"},streamDataChanged:Number(a.peek(P,"i32"))!==0,usage:{old:[],new:[]}})}}),{changes:this.withAnchoredUsage(o,A,r,n),health:{old:this.readHealth(o,bc),new:this.readHealth(o,fc)}}}finally{i.EPDFObjectDiff_Close(o)}}readHealth(e,t){let{fn:r,mem:n}=this.runtime;return he(n,[4,4,4],([i,a,o])=>{for(let s of[i,a,o])n.poke(s,"i32",0);if(!r.EPDFObjectDiff_GetRevisionHealth(e,t,i,a,o))throw new g(f.Unknown,"failed to read revision health");return{sparseXref:Number(n.peek(i,"i32"))!==0,bareReferences:Number(n.peek(a,"i32"))>>>0,referrersComplete:Number(n.peek(o,"i32"))!==0}})}withAnchoredUsage(e,t,r,n){let i=new Set(t.map(o=>o.objectNumber)),a={old:new UA(o=>this.readReferrers(e,bc,o),FP(r,i)),new:new UA(o=>this.readReferrers(e,fc,o),FP(n,i))};return t.map(o=>{let s=o.present.old?a.old.resolve(o.objectNumber):[],A=o.present.new?a.new.resolve(o.objectNumber):[];return{...o,usage:{old:s===$i?[]:s,new:A===$i?[]:A},...s===$i||A===$i?{usageIncomplete:!0}:{}}})}readValue(e,t,r){let{fn:n,mem:i}=this.runtime;return V(i,4,a=>{i.poke(a,"i32",0);let o=n.EPDFObjectDiff_GetValue(e,t,r,Y,0,a),s=Number(i.peek(a,"i32"))!==0;return o<=0?{text:null,truncated:s}:V(i,o,A=>{i.poke(a,"i32",0);let d=n.EPDFObjectDiff_GetValue(e,t,r,A,o,a),p=Number(i.peek(a,"i32"))!==0;if(d<=0)return{text:null,truncated:p};let m=i.readBytes(A,d-1),F="";for(let k of m)F+=String.fromCharCode(k);return{text:F,truncated:p}})})}readReferrers(e,t,r){let{fn:n,mem:i}=this.runtime,a=n.EPDFObjectDiff_GetReferrerCount(e,t,r),o=[];return a<=0||V(i,4,s=>{for(let A=0;A{let F=n.EPDFObjectDiff_GetReferrer(e,t,r,A,s,m,d);if(F<=0)return"";let k=i.readBytes(m,F-1),P="";for(let B of k)P+=String.fromCharCode(B);return P});o.push({parent:Number(i.peek(s,"i32"))>>>0,label:p})}}),o}},HT=class{constructor(e,t){this.runtime=e,this.baseDocuments=t}finalize(e){let[t,r,n,i]=e.byteRange,a=this.runtime.fileAccess.sizeOf(e.path),o=p=>Number.isSafeInteger(p)&&p>=0;if(!e.byteRange.every(o)||t!==0||r>=n||n+i!==a)throw new g(f.InvalidArg,`byteRange [${e.byteRange.join(" ")}] does not span a ${a}-byte candidate`);let s=n-r-2;if(!Number.isSafeInteger(e.contentsSizeBytes)||s!==2*e.contentsSizeBytes)throw new g(f.InvalidArg,`the /Contents hole holds ${s} hex digits, not the ${2*e.contentsSizeBytes} of contentsSize`);if(e.cms.byteLength===0||e.cms[0]!==48)throw new g(f.SignatureRefused,"the CMS is not a DER SEQUENCE");if(e.cms.byteLength>e.contentsSizeBytes)throw new g(f.SignatureRefused,`the CMS (${e.cms.byteLength} bytes) does not fit the reserved ${e.contentsSizeBytes} bytes`);PT(this.runtime,e.path,{holeOffset:r,hexLength:s},e.cms);let A=new Dl(this.runtime),d=this.baseDocuments.acquireFileBase({key:`finalize:${Kr()}`,path:e.path,password:e.password});try{A.openFromHandle(_n(this.runtime,d,{kind:"fresh"},e.password));let p=Ba(this.runtime,A);BD(this.runtime,A.requireDocPtr(),p,{fieldObjectNumber:e.fieldObjectNumber,byteRange:e.byteRange,cms:e.cms});let m=new st(this.runtime,A),F=m.readSnapshot();return{signature:F.signatures.find(k=>k.field.kind==="objectNumber"&&k.field.objectNumber===e.fieldObjectNumber),protection:F.protection,version:m.version(),lastObjectNumber:A.lastObjectNumber()}}finally{A.close()}}},ED=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}snapshot(e){return O(e),HQ(this.runtime,this.session,e,this.fonts)}field(e,t){O(t);let r=Ee(this.runtime,this.session),{fieldIndex:n}=jt(this.runtime,r,e);return tt(this.runtime,r,n,this.session.requireDocPtr())}},OT=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}export(e,t,r){O(r);let{fields:n,widgets:i,calculationOrder:a}=ju(KA(new ED(this.runtime,this.session,this.fonts).snapshot(r),mi(this.runtime,this.session)),e,this.session.allRecords().map(A=>pe(A.pageObjectNumber)));Ie("form",t,"items",n.length+i.length);let o={pages:Ok(this.runtime,this.session,i),fields:n.map(A=>({data:A})),widgets:i.map(A=>({data:A,resources:{}})),calculationOrder:a};Ie("form",t,"pages",o.pages.length);let s=Tr(o);return Ie("form",t,"manifestBytes",s),Ie("form",t,"bundleBytes",s),{format:"embedpdf/form",version:1,...o,resources:{}}}},QT=512,PP=new WeakMap;async function RT(e,t,r,n,i){let a=t.cacheSeq(),o=PP.get(t);o||(o=new Map,PP.set(t,o));let s=o.get(r);if(s&&s.seq===a)return s;let A=await new VP(e,t).read(r,n,i),d={seq:a,folded:ir(A.text),snapshot:A};if(o.delete(r),o.set(r,d),o.size>QT){let p=o.keys().next().value;p!==void 0&&o.delete(p)}return d}function TT(e,t){return JSON.stringify([e.regex?"r":"l",e.text,e.matchCase?1:0,e.matchDiacritics?1:0,e.wholeWord?1:0,e.ignoreWhitespace?1:0,t?"snippets":"matches"])}function MT(e){return JSON.stringify(e)}function LT(e,t,r,n){let i;try{i=JSON.parse(t)}catch{throw new g(f.InvalidArg,"malformed search cursor")}if(i?.v!==1||typeof i.scanned!="number"||typeof i.key!="string")throw new g(f.InvalidArg,"malformed search cursor");if(i.key!==n)throw new g(f.InvalidArg,"search cursor belongs to a different query \u2014 restart the search");if(i.seq!==r)throw new g(f.InvalidArg,"document changed since this search cursor was issued \u2014 restart the search",{details:{cursorSeq:i.seq,currentSeq:r}});if(e.from!==void 0&&e.from.objectNumber!==i.start)throw new g(f.InvalidArg,"`from` conflicts with the cursor \u2014 omit it when resuming");return i}var NT=64,jT=256,KT=256,VT=1024,YT=class{constructor(e,t){this.runtime=e,this.session=t}async query(e,t,r){O(t);let n=lp(e),i=e.snippets??!1,a=_A(n);if(!a.ok)throw new g(f.InvalidArg,`invalid search query (${a.issue}): ${a.message}`);let o=this.session.allRecords(),s=o.length;if(!n.regex&&ir(n.text).folded.trim().length===0)return{matches:[],nextCursor:null,pagesSearched:0,pageCount:s};let A=this.session.cacheSeq(),d=TT(n,i),p=0,m=0;if(e.cursor!==void 0){let I=LT(e,e.cursor,A,d);p=I.start,m=I.scanned}else e.from!==void 0&&(p=this.session.resolvePageRef(e.from).pageObjectNumber),e.skip!==void 0&&(m=Math.min(Math.max(0,Math.floor(e.skip)),s));let F=o;if(p!==0){let I=o.findIndex(S=>S.pageObjectNumber===p);F=o.slice(I).concat(o.slice(0,I))}let k=hP(e.limit?.pages,NT,jT),P=hP(e.limit?.matches,KT,VT),B=[],y=0,x=new Jl(r,t);for(;m0){let W=Du(await new XP(this.runtime,this.session).read(I,t,r));for(let Pe of T){let be=ou(S.snapshot,Pe);B.push({page:pe(I),start:be.start,count:be.count,segments:W.segments(be),...i?{snippet:mp(G,Pe)}:{}})}}m++,y++}return{matches:B,nextCursor:mt.FPDFJavaScriptAction_GetName(F,B,y))??""}finally{t.FPDFDoc_CloseJavaScriptAction(F)}i.reservePayloadBytes(k.length);let P=UT(fr(t,r,n,t.EPDFDoc_GetNamedJavaScriptActionModel(n,m),i),"name-tree script",m);o.push({name:k,action:P})}let s=fr(t,r,n,t.EPDFDoc_GetOpenActionModel(n),i),A=s?Y:t.EPDFDoc_GetOpenActionDest(n),d=A!==Y?jc(t,r,n,A):null,p={};for(let[m,F]of XT){O(e);let k=fr(t,r,n,t.EPDFDoc_GetAdditionalActionModel(n,F),i);k&&(p[m]=k)}return{nameTreeScripts:o,openAction:s,openDestination:d,...p}}};function UT(e,t,r){if(e)return e;throw new g(f.MalformedPdf,`failed to read ${t}`,{details:{index:r}})}function qT(e,t){let r=a=>Rn(a,t),n=a=>Mr(a,t(a.page),t),i=a=>a.map(o=>Vr(o,t));switch(e.tag){case"pages.list":return{...e,snapshot:Po(e.snapshot)};case"pages.setName":case"pages.removeName":return{...e,result:{...e.result,layout:Po(e.result.layout)}};case"pages.geometry":return{...e,snapshot:Bu(e.snapshot,t(e.page))};case"pages.render":return{...e,area:Je(e.area,t(e.page))};case"search.query":return{...e,slice:Eu(e.slice,t)};case"annotations.renderAppearances":{let a=jA(e.result.appearances,t(e.page));return{...e,result:{...e.result,appearances:a}}}case"annotations.renderAppearancesEncoded":{let a=jA(e.result.appearances,t(e.page));return{...e,result:{...e.result,appearances:a}}}case"actions.read":return{...e,snapshot:Fu(e.snapshot,r)};case"outline.read":return{...e,outline:np(e.outline,t)};case"annotations.list":return{...e,list:{...e.list,annotations:e.list.annotations.map(n)}};case"annotations.create":return{...e,result:{...e.result,annotation:n(e.result.annotation)}};case"annotations.update":return{...e,result:{...e.result,annotation:n(e.result.annotation)}};case"document.apply":case"document.applyChanges":return e;case"annotations.import":return{...e,result:{...e.result,annotations:e.result.annotations.map(n)}};case"measure.viewports":return{...e,viewports:Pu(e.viewports,t(e.page))};case"forms.list":return{...e,snapshot:KA(e.snapshot,t)};case"forms.import":return{...e,result:{...e.result,fields:e.result.fields.map(a=>Ht(a,t)),widgets:i(e.result.widgets)}};case"forms.importValues":return{...e,result:{...e.result,fields:e.result.fields.map(a=>Ht(a,t)),widgets:i(e.result.widgets)}};case"forms.setValue":case"forms.createField":case"forms.updateField":case"forms.setSignatureAppearance":case"forms.addWidget":case"forms.detachWidget":return{...e,result:{...e.result,field:Ht(e.result.field,t),widgets:i(e.result.widgets)}};case"forms.reset":return{...e,result:{...e.result,fields:e.result.fields.map(a=>Ht(a,t)),widgets:i(e.result.widgets)}};case"forms.updateWidget":return{...e,result:{...e.result,widget:Vr(e.result.widget,t)}};case"forms.deleteWidget":return{...e,result:{...e.result,field:e.result.field&&Ht(e.result.field,t)}};default:return e}}function zT(e,t){switch(e.kind){case"annotations.create":return{...e,draft:no(e.draft,t(e.page),t)};case"annotations.update":return{...e,patch:Lr(e.patch,t(e.ref.page),t)};case"forms.updateWidget":return{...e,patch:yc(e.patch,t(e.widget.page),t)};case"forms.createField":return{...e,draft:ko(e.draft,t)};case"document.apply":case"document.applyChanges":return e;case"forms.addWidget":return{...e,placement:ho(e.placement,t)};case"measure.setScale":return e.measure?{...e,measure:vA(e.measure,t(e.page))}:e;case"pages.render":return kP(e,t);case"pages.renderEncoded":return kP(e,t);default:return e}}function kP(e,t){let{options:r,...n}=e;return r?{...n,options:_D(r,()=>t(e.page))}:n}function _D(e,t){let{target:r,...n}=e;return r?{...n,target:r.kind==="rect"?tp(r,t()):r}:n}function ZT(e,t){switch(e.type){case"annotations.import":case"forms.import":case"forms.importValues":return e;case"annotations.create":return{...e,data:no(e.data,t(e.page),t)};case"annotations.update":{let r=t(e.ref.page),{expect:n,...i}=e;return{...i,patch:Lr(e.patch,r,t),...n?{expect:Lr(n,r,t)}:{}}}case"annotations.delete":{let{expect:r,...n}=e;return r?{...n,expect:Lr(r,t(e.ref.page),t)}:n}case"forms.create":return{...e,draft:ko(e.draft,t)};case"forms.addWidget":return{...e,placement:ho(e.placement,t)};case"forms.updateWidget":{let r=t(e.widget.page),{expect:n,...i}=e;return{...i,patch:yc(e.patch,r,t),...n?{expect:yc(n,r,t)}:{}}}case"forms.deleteWidget":{let{expect:r,...n}=e;return r?{...n,expect:yc(r,t(e.widget.page),t)}:n}case"outline.create":return{...e,data:rp(e.data,t)};case"outline.update":{let{expect:r,...n}=e;return{...n,patch:Bo(e.patch,t),...r?{expect:Bo(r,t)}:{}}}case"outline.delete":{let{expect:r,...n}=e;return r?{...n,expect:Bo(r,t)}:n}default:return e}}function JT(e,t){if(Nr(e))return e;let r=i=>Mr(i,t(i.page),t),n=i=>i.map(a=>Vr(a,t));switch(e.type){case"annotations.create":case"annotations.update":return{...e,annotation:r(e.annotation)};case"annotations.restore":return{...e,annotations:e.annotations.map(r)};case"annotations.import":return{...e,annotations:e.annotations.map(r)};case"forms.setValue":case"forms.setDisplay":case"forms.setAppearanceText":case"forms.setSignatureAppearance":case"forms.create":case"forms.update":case"forms.restore":case"forms.addWidget":case"forms.removeWidget":return{...e,field:Ht(e.field,t),widgets:n(e.widgets)};case"forms.reset":case"forms.import":case"forms.importValues":return{...e,fields:e.fields.map(i=>Ht(i,t)),widgets:n(e.widgets)};case"forms.updateWidget":return{...e,widget:Vr(e.widget,t)};case"forms.deleteWidget":return{...e,field:e.field&&Ht(e.field,t)};case"forms.restoreWidget":return{...e,field:e.field&&Ht(e.field,t),widgets:n(e.widgets)};case"outline.create":case"outline.update":return{...e,item:Do(e.item,t)};case"outline.restore":return{...e,items:e.items.map(i=>Do(i,t))};case"pages.rotate":case"pages.reorder":case"pages.delete":case"pages.insertBlank":case"pages.insert":case"pages.copy":case"pages.restore":return{...e,layout:Po(e.layout)};default:return e}}function yc(e,t,r){return Lr({...e,subtype:"widget"},t,r)}var $T=128*1024*1024,e6=class{constructor(e,t=$T){this.runtime=e,this.budgetBytes=t,j(this,"enabled",void 0),j(this,"on",!1),this.enabled=t>0&&typeof e.fn.EPDF_SetDecodedImageBudget=="function"}beginJob(e){!this.enabled||e===this.on||(this.runtime.fn.EPDF_SetDecodedImageBudget(e?this.budgetBytes:0),this.on=e)}},t6="EmbedPDF";function n6(e,t,r){let n=[];for(let i=0;ie.EPDFViewport_GetBBox(a,d)?Ce(Gn(t,d)):void 0);if(!o)continue;let s=we(t,(d,p)=>e.EPDFViewport_GetName(a,d,p)),A=Yh(e,t,e.EPDFViewport_GetMeasure(a));n.push({bbox:o,owned:s==="EmbedPDF"&&(!A||A.subtype==="rectilinear"),name:s,measure:A??null})}return n}var r6=class{constructor(e,t){this.runtime=e,this.session=t}async viewports(e,t,r){O(t);let n=this.session.pagePool(),i=await n.acquireInSlices(e,t,r);try{return n6(this.runtime.fn,this.runtime.mem,i)}finally{n.release(e)}}},i6=class{constructor(e,t){this.runtime=e,this.session=t}setScale(e,t,r){if(O(r),t!==null)try{qa(t)}catch(s){throw new g(f.InvalidArg,s.message)}let{fn:n,mem:i}=this.runtime,a=this.session.pagePool(),o=a.acquire(e);try{let s=[];for(let d=0;dn.EPDFViewport_GetName(p,F,k))!=="EmbedPDF")continue;let m=n.EPDFViewport_GetMeasure(p);(!m||n.EPDFMeasure_GetSubtype(m)===1)&&s.push(d)}let A=V(i,16,d=>{let p=this.session.recordByObjectNumber(e).pageIndex;return Kc(n,i,this.session.requireDocPtr(),p,d).crop});if(![A.left,A.right,A.bottom,A.top].every(Number.isFinite))throw new g(f.InvalidArg,"Invalid calibration box");if(O(r),t===null){for(let d of s.reverse())Le(n.EPDFPage_RemoveViewport(o,d));return}V(i,16,d=>{i.poke(d,"f32",A.left),i.poke(d,"f32",A.top,4),i.poke(d,"f32",A.right,8),i.poke(d,"f32",A.bottom,12);let p=s.length?n.EPDFPage_GetViewport(o,s[s.length-1]):n.EPDFPage_AddViewport(o,d);Le(p),Le(n.EPDFViewport_SetBBox(p,d)),Le(Kt(i,t6,m=>n.EPDFViewport_SetName(p,m))),Xh(n,i,n.EPDFViewport_AddMeasure(p),t)})}finally{a.release(e)}}},a6=1,o6=2,s6=3,A6=4,c6=5,gc=class{constructor(e,t,r){this.runtime=e,this.session=t,this.pageObjectNumber=r,r!==void 0&&t.recordByObjectNumber(r)}read(e,t){O(t),hl(e);let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=this.pageObjectNumber;if(!(a===void 0?r.EPDFDoc_HasPieceInfoEntry(i,e):r.EPDFDoc_HasPagePieceInfoEntry(i,a,e)))return null;let o=a===void 0?r.EPDFDoc_GetPieceInfoKeyCount(i,e):r.EPDFDoc_GetPagePieceInfoKeyCount(i,a,e),s={};for(let d=0;da===void 0?r.EPDFDoc_GetPieceInfoKeyAt(i,e,d,m,F):r.EPDFDoc_GetPagePieceInfoKeyAt(i,a,e,d,m,F));p!==null&&(s[p]=this.readEntry(e,p))}let A=we(n,(d,p)=>a===void 0?r.EPDFDoc_GetPieceInfoLastModified(i,e,d,p):r.EPDFDoc_GetPagePieceInfoLastModified(i,a,e,d,p),null);return{entries:s,modifiedAt:A?Xn(A):null}}update(e,t,r){O(r),hl(e),d6(t);let n=Object.keys(t);if(n.length===0)return;u6(t,n),O(r);let{mem:i}=this.runtime,a=ft(new Date),o=i.writeU16String(a);try{for(let s of n){let A=t[s];if(!this.writeEntry(e,s,A,o))throw new g(f.Unknown,`pieceInfo write rejected for key '${s}' after validation`)}}finally{i.free(o)}}applications(e){O(e);let{fn:t,mem:r}=this.runtime,n=this.session.requireDocPtr(),i=this.pageObjectNumber,a=i===void 0?t.EPDFDoc_GetPieceInfoEntryCount(n):t.EPDFDoc_GetPagePieceInfoEntryCount(n,i),o=[];for(let s=0;si===void 0?t.EPDFDoc_GetPieceInfoEntryAt(n,s,d,p):t.EPDFDoc_GetPagePieceInfoEntryAt(n,i,s,d,p));A!==null&&o.push(A)}return o}delete(e,t){O(t),hl(e);let{fn:r}=this.runtime,n=this.session.requireDocPtr(),i=this.pageObjectNumber;if(!(i===void 0?r.EPDFDoc_ClearPieceInfoEntry(n,e):r.EPDFDoc_ClearPagePieceInfoEntry(n,i,e)))throw new g(f.Unknown,`pieceInfo delete rejected for application '${e}'`)}readEntry(e,t){let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=this.pageObjectNumber;switch(a===void 0?r.EPDFDoc_GetPieceInfoValueType(i,e,t):r.EPDFDoc_GetPagePieceInfoValueType(i,a,e,t)){case s6:{let o=we(n,(s,A)=>a===void 0?r.EPDFDoc_GetPieceInfoString(i,e,t,s,A):r.EPDFDoc_GetPagePieceInfoString(i,a,e,t,s,A),"");return o===null?{type:"unknown"}:{type:"string",value:o}}case A6:{let o=Ye(n,(s,A)=>a===void 0?r.EPDFDoc_GetPieceInfoName(i,e,t,s,A):r.EPDFDoc_GetPagePieceInfoName(i,a,e,t,s,A));return o===null?{type:"unknown"}:{type:"name",value:o}}case o6:{let o=n.alloc(4);try{return(a===void 0?r.EPDFDoc_GetPieceInfoNumber(i,e,t,o):r.EPDFDoc_GetPagePieceInfoNumber(i,a,e,t,o))?{type:"number",value:Number(n.peek(o,"f32"))}:{type:"unknown"}}finally{n.free(o)}}case a6:{let o=n.alloc(4);try{return(a===void 0?r.EPDFDoc_GetPieceInfoBoolean(i,e,t,o):r.EPDFDoc_GetPagePieceInfoBoolean(i,a,e,t,o))?{type:"boolean",value:Number(n.peek(o,"i32"))!==0}:{type:"unknown"}}finally{n.free(o)}}case c6:{let o=a===void 0?r.EPDFDoc_GetPieceInfoStringArrayCount(i,e,t):r.EPDFDoc_GetPagePieceInfoStringArrayCount(i,a,e,t);if(o<0)return{type:"unknown"};let s=[];for(let A=0;Aa===void 0?r.EPDFDoc_GetPieceInfoStringArrayAt(i,e,t,A,p,m):r.EPDFDoc_GetPagePieceInfoStringArrayAt(i,a,e,t,A,p,m),"");if(d===null)return{type:"unknown"};s.push(d)}return{type:"string-array",value:s}}default:return{type:"unknown"}}}writeEntry(e,t,r,n){let{fn:i,mem:a}=this.runtime,o=this.session.requireDocPtr(),s=this.pageObjectNumber;if(r===null)return s===void 0?i.EPDFDoc_ClearPieceInfoKey(o,e,t,n):i.EPDFDoc_ClearPagePieceInfoKey(o,s,e,t,n);if(typeof r=="string")return Kt(a,r,A=>s===void 0?i.EPDFDoc_SetPieceInfoString(o,e,t,A,n):i.EPDFDoc_SetPagePieceInfoString(o,s,e,t,A,n));if(typeof r=="number")return s===void 0?i.EPDFDoc_SetPieceInfoNumber(o,e,t,r,n):i.EPDFDoc_SetPagePieceInfoNumber(o,s,e,t,r,n);if(typeof r=="boolean")return s===void 0?i.EPDFDoc_SetPieceInfoBoolean(o,e,t,r,n):i.EPDFDoc_SetPagePieceInfoBoolean(o,s,e,t,r,n);if(Array.isArray(r))return Ga(this.runtime,r,(A,d)=>s===void 0?i.EPDFDoc_SetPieceInfoStringArray(o,e,t,A,d,n):i.EPDFDoc_SetPagePieceInfoStringArray(o,s,e,t,A,d,n));if(typeof r=="object"&&r!==null&&"name"in r)return s===void 0?i.EPDFDoc_SetPieceInfoName(o,e,t,r.name,n):i.EPDFDoc_SetPagePieceInfoName(o,s,e,t,r.name,n);throw new g(f.Unknown,`unvalidated pieceInfo value for '${t}'`)}};function hl(e){if(typeof e!="string"||e.length===0)throw new g(f.InvalidArg,"pieceInfo application must be non-empty")}function d6(e){if(typeof e!="object"||e===null||Array.isArray(e))throw new g(f.InvalidArg,"pieceInfo patch must be an object")}function u6(e,t){for(let r of t){if(r.length===0)throw new g(f.InvalidArg,"pieceInfo keys must be non-empty");p6(r,e[r])}}function p6(e,t){if(!(t===null||typeof t=="string"||typeof t=="boolean")){if(typeof t=="number"){if(!Number.isFinite(t))throw new g(f.InvalidArg,`pieceInfo number for '${e}' must be finite`);return}if(Array.isArray(t)){if(!t.every(r=>typeof r=="string"))throw new g(f.InvalidArg,`pieceInfo string array for '${e}' must contain only strings`);return}if(typeof t=="object"&&t!==null&&"name"in t){if(typeof t.name!="string"||t.name.length===0)throw new g(f.InvalidArg,`pieceInfo PDF name for '${e}' must be a non-empty string`);return}throw new g(f.InvalidArg,`unsupported pieceInfo value for '${e}': string | number | boolean | string[] | { name } | null`)}}function l6(){if(typeof setImmediate=="function")return()=>new Promise(e=>setImmediate(e));if(typeof MessageChannel=="function"){let e=new MessageChannel,t=[];return e.port1.onmessage=()=>t.shift()?.(),()=>new Promise(r=>{t.push(r),e.port2.postMessage(null)})}return()=>new Promise(e=>setTimeout(e,0))}function DP(e){return e.kind==="pages.render"||e.kind==="pages.renderEncoded"||e.kind==="document.renderPageFile"||e.kind==="document.renderPageFileEncoded"}var yD=class{constructor(e,t,r={}){this.runtime=e,this.post=t,this.options=r,j(this,"sessions",new Map),j(this,"baseDocuments",void 0),j(this,"aborts",new Map),j(this,"fontIds",new Map),j(this,"fonts",void 0),j(this,"residency",void 0),j(this,"decodedImages",void 0),j(this,"slices",void 0),j(this,"busy",!1),j(this,"held",[]),j(this,"destroyed",!1),_P(this.runtime),this.baseDocuments=new M7(this.runtime),this.fonts=new Z4(this.runtime,this.fontIds),this.residency=new SP(this.runtime,{...kl,budgetBytes:this.options.parsedPageBudgetBytes??kl.budgetBytes},()=>this.busy),this.decodedImages=new e6(this.runtime,this.options.decodedImageBudgetBytes),this.slices={budgetMs:this.options.sliceMs??8,between:l6()}}registerStartupFonts(e){this.fonts.registerStartup(e)}receive(e){if(e.kind==="abort"){this.abort(e.jobId);return}if(e.kind==="pages.workingSet"){this.setWorkingSet(e);return}if(this.busy||this.held.length>0){this.held.push(e);return}this.run(e)}setWorkingSet(e){let t=this.sessions.get(Nt(e.docId,e.layerName));t?.isOpen()&&t.pagePool().setWorkingSet(e.view,e.pages.map(({page:r,role:n,pixels:i})=>({pageObjectNumber:r.objectNumber,role:n,pixels:i})))}abort(e){let t=this.held.findIndex(n=>n.jobId===e);if(t<0){this.aborts.get(e)?.abort();return}this.held.splice(t,1);let r=On(new Mi("aborted before it ran"));this.post(N({kind:"reject",jobId:e,error:r},Wr))}drain(){for(;!this.busy;){let e=this.takeHeld();if(!e)return;this.run(e)}}takeHeld(){let e=this.held[0];if(!e||!DP(e))return this.held.shift();let t=0,r=e;for(let n=1;n{if(!("docId"in e))throw new g(f.InvalidArg,`${e.kind} has no document`);return t??(t=mi(this.runtime,this.requireSession(e))),t(r)}}handleOpen(e){let t=Nt(e.docId,e.kind==="open.fatMem"?void 0:e.layerName);if(this.sessions.has(t))throw new g(f.InvalidArg,`document session already open: ${t}`);let r=new Dl(this.runtime);r.residency=this.residency,r.signedDocumentPolicy=e.signedDocumentPolicy??"protect",r.password=e.password,r.objectNumberAuthority=e.objectNumbers??"session";let n;if(e.kind==="open.fatMem"){let i=new Uint8Array(e.bytes);n=a=>this.openBytesAsLayer(r,i,a)}else if(e.kind==="open.layerMemBase"){let i=new Uint8Array(e.baseBytes);n=a=>{let o=this.baseDocuments.acquireMemoryBase({key:e.baseKey,bytes:i,password:a,knownSha256:e.baseSha256});r.openFromHandle(_n(this.runtime,o,e.layer,a))}}else{if(this.runtime.kind!=="native")throw new g(f.NotImplemented,"'layerFile' needs the native Node runtime; open the file's bytes instead");n=i=>{let a=this.baseDocuments.acquireFileBase({key:e.baseKey,path:e.basePath,password:i,knownSha256:e.baseSha256});r.openFromHandle(_n(this.runtime,a,e.layer,i))}}try{n(e.password)}catch(i){if(!k6(i))throw i;return r.parkLocked(n),this.sessions.set(t,r),N({tag:"open",docId:e.docId,security:D6(),...e.password?{passwordRejected:!0}:{}})}return this.sessions.set(t,r),N({tag:"open",docId:e.docId,security:new vl(this.runtime).checkPasswordPermissions(r,e.password??""),protection:this.probeProtection(r),...e.reserveObjectNumbers?{objectNumbers:r.reserveObjectNumbers(e.reserveObjectNumbers)}:{},lastObjectNumber:r.lastObjectNumber()})}openBytesAsLayer(e,t,r){let n=this.baseDocuments.acquireMemoryBase({key:`bytes-open:${Kr()}`,bytes:t,password:r});e.openFromHandle(_n(this.runtime,n,{kind:"fresh"},r)),e.persistLayerArtifact=!1}probeProtection(e){try{return new st(this.runtime,e).readProtection()}catch{return null}}handleSignaturesList(e){let t=this.requireSession(e);return N({tag:"signatures.list",snapshot:e.workingCopy?new vP(this.runtime,t).readWorkingCopySnapshot():new st(this.runtime,t).readSnapshot()})}handleSignaturesContents(e){let t=this.requireSession(e),r=new st(this.runtime,t).readContents(e.ref);return N({tag:"signatures.contents",bytes:r},[r])}handleSignaturesDigest(e){let t=this.requireSession(e),r=new st(this.runtime,t).digest(e.ref,e.algorithm);return N({tag:"signatures.digest",digest:r},[r])}handleSignaturesRevisionBytes(e){let t=this.requireSession(e),r=new st(this.runtime,t).revisionBytes(e.revisionIndex);return N({tag:"signatures.revisionBytes",bytes:r,size:r.byteLength},[r])}handleDocumentVersion(e){let t=this.requireSession(e);return N({tag:"document.version",version:new st(this.runtime,t).version()})}handleSignaturesPrepare(e){let t=this.requireSession(e);return N({tag:"signatures.prepare",result:new Pl(this.runtime,t,this.baseDocuments,this.options.signingCandidatePath).prepare(e.input,e.authority)})}handleSignaturesComplete(e){let t=this.requireSession(e),r=new Pl(this.runtime,t,this.baseDocuments,this.options.signingCandidatePath).complete(e.input,e.opId,e.authority);return r.status==="already-completed"?N({tag:"signatures.complete",result:r}):this.finishMutation(t,{tag:"signatures.complete",result:r},e.artifactPath)}handleSignaturesAnalyze(e){let t=this.requireSession(e);return N({tag:"signatures.analyze",analysis:new vP(this.runtime,t).analyze(e.input)})}handleSignaturesFinalizeCandidate(e){return N({tag:"signatures.finalizeCandidate",...new HT(this.runtime,this.baseDocuments).finalize({path:e.path,byteRange:e.byteRange,contentsSizeBytes:e.contentsSizeBytes,fieldObjectNumber:e.fieldObjectNumber,cms:new Uint8Array(e.cms),password:e.password??null})})}handleSignaturesCancel(e){let t=this.requireSession(e);return N({tag:"signatures.cancel",result:new Pl(this.runtime,t,this.baseDocuments,this.options.signingCandidatePath).cancel(e.signingId)})}assertNoPendingSigning(e){if(!Fc(e))return;let t="layerName"in e?e.layerName:void 0,r=this.sessions.get(Nt(e.docId,t));if(r?.pendingSigning)throw new g(f.SigningPending,`a signing is pending (${r.pendingSigning.prepared.signingId}); complete or cancel it before mutating the document`)}handleMetadataRead(e,t){let r=this.requireSession(e);return N({tag:"metadata.read",metadata:new bi(this.runtime,r).read(t)})}handleMetadataUpdate(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"metadata.update",patch:e.patch},Jt(),t);return this.finishMutation(r,{tag:"metadata.update",result:a},e.artifactPath)}handleMetadataReadCustom(e,t){let r=this.requireSession(e);return N({tag:"metadata.readCustom",custom:new bi(this.runtime,r).readCustom(t)})}handleMetadataUpdateCustom(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"metadata.updateCustom",patch:e.patch},Jt(),t);return this.finishMutation(r,{tag:"metadata.updateCustom",result:a},e.artifactPath)}handleActionsRead(e,t){let r=this.requireSession(e);return N({tag:"actions.read",snapshot:new WT(this.runtime,r).read(t)})}handleOutlineRead(e,t){let r=this.requireSession(e);return N({tag:"outline.read",outline:new mD(this.runtime,r).read(t)})}handleAnnotationsList(e,t){let r=this.requireSession(e),n=e.pages?.map(i=>r.resolvePageRef(i).pageObjectNumber);return N({tag:"annotations.list",list:new rd(this.runtime,r,this.fonts).list(n,t,"annotations")})}async handleAnnotationsRenderAppearances(e,t){let r=this.requireSession(e),n=r.resolvePageRef(e.page).pageObjectNumber,i=await new iH(this.runtime,r).render(n,e.family,e.options??{},t,this.slices),a=i.appearances.map(o=>o.raster.data);return N({tag:"annotations.renderAppearances",page:e.page,result:i},a)}handleAnnotationsCreate(e,t){let r=this.requireSession(e),{type:n,page:i,...a}=this.applyOne(r,e.opId,{type:"annotations.create",page:e.page,data:e.draft,...e.resources?{resources:e.resources}:{},...e.objectNumber!==void 0?{objectNumber:e.objectNumber}:{}},Jt(e.actor),t);return this.finishMutation(r,{tag:"annotations.create",result:a},e.artifactPath)}handleAnnotationsUpdate(e,t){let r=this.requireSession(e),{type:n,page:i,skipped:a,...o}=this.applyOne(r,e.opId,{type:"annotations.update",ref:e.ref,patch:e.patch,...e.resources?{resources:e.resources}:{}},{...e.authority,protection:null},t);return this.finishMutation(r,{tag:"annotations.update",result:o},e.artifactPath)}handleAnnotationsDelete(e,t){let r=this.requireSession(e),{type:n,page:i,...a}=this.applyOne(r,e.opId,{type:"annotations.delete",ref:e.ref},{...e.authority,protection:null},t);return this.finishMutation(r,{tag:"annotations.delete",result:a},e.artifactPath)}handleAnnotationsFlatten(e,t){let r=this.requireSession(e),n=r.resolvePageRef(e.page).pageObjectNumber,i=new ll(this.runtime,r).flatten(n,e.refs,e.usage,t),a=i.meta.affectedPages.length>0;return a?this.finishMutation(r,{tag:"annotations.flatten",result:i,wrote:a},e.artifactPath):N({tag:"annotations.flatten",result:i,wrote:a})}handleAnnotationsExportAppearance(e,t){let r=this.requireSession(e),n=r.resolvePageRef(e.page).pageObjectNumber,i=new ll(this.runtime,r).exportAppearance(n,e.refs,t);return N({tag:"annotations.exportAppearance",bytes:i.bytes,size:i.size},[i.bytes])}handleAnnotationsExport(e,t){let r=this.requireSession(e),n=new sO(this.runtime,r,this.fonts).export(e.selection,e.limits??bn,t);return N({tag:"annotations.export",bundle:n},Object.values(n.resources))}handleAnnotationsImport(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"annotations.import",bundle:e.bundle,...e.pages!==void 0?{pages:e.pages}:{},attribution:e.attribution,...e.actor?{actor:e.actor}:{},limits:e.limits??bn},Jt(e.actor),t);return i.annotations.length===0?N({tag:"annotations.import",result:i}):this.finishMutation(r,{tag:"annotations.import",result:i},e.artifactPath)}handleAnnotationsReadAppearance(e,t){let r=this.requireSession(e),n=r.resolvePageRef(e.page).pageObjectNumber,i=new ll(this.runtime,r).readAppearance(n,e.ref,t);return N({tag:"annotations.readAppearance",bytes:i.bytes,size:i.size},[i.bytes])}handleAnnotationsReorder(e,t){let r=this.requireSession(e),{type:n,page:i,...a}=this.applyOne(r,e.opId,{type:"annotations.reorder",page:e.page,refs:e.refs,position:e.position},{...e.authority,protection:null},t);return this.finishMutation(r,{tag:"annotations.reorder",result:a},e.artifactPath)}handleDocumentApply(e,t){let r=this.requireSession(e);B6(e.change);let n=zA(e.change),i=is(r).outcome(e.opId);if(i)return N({tag:"document.apply",result:this.replayed(i,n,e.opId),replayed:!0});let a=this.recorded(r,e.opId,n,()=>this.runChange(r,e,t)),o={tag:"document.apply",result:a,replayed:!1};return a.items.some(xA)?this.finishMutation(r,o,e.artifactPath):N(o)}applyOne(e,t,r,n,i){let a={ops:[r]},o=is(e),s=zA(a),A=o.outcome(t),d;A?d=this.replayed(A,s,t):d=this.recorded(e,t,s,()=>new gl(this.runtime,e,this.fonts).apply(a.ops,n,i,AT));let p=d.items[0];if(!p||Nr(p))throw new g(f.Unknown,`${r.type} wrote nothing`);return p}replayed(e,t,r){if(e.fingerprint!==t)throw new g(f.IdempotencyKeyReused,`opId ${r} already answered a different change`);if(e.kind==="refused")throw Gd(e.error);return e.result}recorded(e,t,r,n){let i=is(e);try{let a=n(),o=EP(e,a);return i.keepApplied(t,r,o,o.meta.undoable?a.record:null),o}catch(a){throw g.is(a)&&qA(a.code)&&i.keepRefused(t,r,On(a)),a}}handleDocumentApplyChanges(e,t){let r=this.requireSession(e);r.assertUsable(),e.objectNumberFloor!==void 0&&r.raiseLastObjectNumber(e.objectNumberFloor-1);let n=new gl(this.runtime,r,this.fonts),i=this.pageSpaceOf(r),a=new Map,o=[];for(let A of e.changes){r.beginTransaction(A.opId);try{let d=f6(n,A,a,t,i),p=EP(r,d);r.commitTransaction();let m=p.meta.undoable?d.record:null;a.set(A.opId,m),o.push({opId:A.opId,status:"applied",result:p,record:m})}catch(d){if(r.inTransaction()&&r.abortTransaction(),!g.is(d)||!qA(d.code))throw d;a.set(A.opId,null),o.push({opId:A.opId,status:"refused",error:On(d)})}}let s={tag:"document.applyChanges",outcomes:o};return o.some(A=>A.status==="applied"&&A.result.items.some(xA))?this.finishMutation(r,s,e.artifactPath):N(s)}pageSpaceOf(e){return{opInFileSpace:t=>ZT(t,mi(this.runtime,e)),itemOut:t=>JT(t,mi(this.runtime,e))}}runChange(e,t,r){let n=new gl(this.runtime,e,this.fonts),i=this.pageSpaceOf(e),a=t.authority.identity.userId??null;if(!uo(t.change))return n.apply(t.change.ops,t.authority,r,i);let o=is(e).record(t.change.undoOf);if(!o||"unavailable"in o)throw new g(f.UndoUnavailable,`change ${t.change.undoOf} can no longer be undone`,{details:{reason:o?o.unavailable:"expired"}});if(!o.record)return{items:[],record:{userId:a,steps:[]}};if(o.record.userId!==null&&o.record.userId!==a)throw new je("changes:undo","target");return n.undo(o.record,t.authority,r,i)}handlePagesList(e,t){let r=this.requireSession(e);return N({tag:"pages.list",snapshot:new En(this.runtime,r).read(t)})}handlePagesSetName(e,t){let r=this.requireSession(e),n=new _l(this.runtime,r).setName({name:e.name,page:e.page,...e.replace!==void 0?{replace:e.replace}:{}},t);return this.finishMutation(r,{tag:"pages.setName",result:n},e.artifactPath)}handlePagesRemoveName(e,t){let r=this.requireSession(e),n=new _l(this.runtime,r).removeName({name:e.name},t);return this.finishMutation(r,{tag:"pages.removeName",result:n},e.artifactPath)}handlePagesFlatten(e,t){let r=this.requireSession(e),n=new cI(this.runtime,r).flatten(e.pages,e.usage,t),i=n.meta.affectedPages.length>0;return i?this.finishMutation(r,{tag:"pages.flatten",result:n,wrote:i},e.artifactPath):N({tag:"pages.flatten",result:n,wrote:i})}handleRedactionApply(e,t){let r=this.requireSession(e),n=new lI(this.runtime,r).apply(e.scope,t),i=n.meta.affectedPages.length>0;return i?this.finishMutation(r,{tag:"redaction.apply",result:n,wrote:i},e.artifactPath):N({tag:"redaction.apply",result:n,wrote:i})}handlePagesExtract(e,t){let r=this.requireSession(e),n=new nI(this.runtime,r).extract(e.pages,e.flatten,t);return N({tag:"pages.extract",bytes:n.bytes,size:n.size},[n.bytes])}handleDocumentFontsList(e){let t=this.requireSession(e);return Mv(this.runtime,t),N({tag:"document.fonts.list",facts:new pl(this.runtime,t,this.fonts).facts()})}handleDocumentFontsResolve(e){let t=new pl(this.runtime,this.requireSession(e),this.fonts),r=t.facts(),{runs:n,missingCharacters:i}=t.resolve(e.annotation,e.runs,r);return N({tag:"document.fonts.resolve",runs:n,missingCharacters:i,facts:r})}handleDocumentFontsProgram(e){let t=new pl(this.runtime,this.requireSession(e),this.fonts).program(e.displaySha256,e.part==="data"),r=t.bytes?t.bytes.buffer.slice(t.bytes.byteOffset,t.bytes.byteOffset+t.bytes.byteLength):null;return N({tag:"document.fonts.program",covers:t.covers,ascent:t.ascent,descent:t.descent,bytes:r},r?[r]:[])}handleAttachmentsList(e,t){let r=this.requireSession(e);return N({tag:"attachments.list",attachments:new ml(this.runtime,r).list(t)})}handleAttachmentsReadFile(e,t){let r=this.requireSession(e),n=new ml(this.runtime,r).readFile(e.ref,e.path,e.maxDecodedBytes,t);return N({tag:"attachments.readFile",content:n},n.bytes!==void 0?[n.bytes]:[])}async handleAnnotationsReadFile(e,t){let r=this.requireSession(e),n=await new ml(this.runtime,r).readAnnotationFile(r.resolvePageRef(e.page).pageObjectNumber,e.ref,e.path,e.maxDecodedBytes,t,this.slices);return N({tag:"annotations.readFile",content:n},n.bytes!==void 0?[n.bytes]:[])}async handleMeasureViewports(e,t){let r=this.requireSession(e),n=await new r6(this.runtime,r).viewports(r.resolvePageRef(e.page).pageObjectNumber,t,this.slices);return N({tag:"measure.viewports",page:e.page,viewports:n})}handleMeasureSetScale(e,t){let r=this.requireSession(e);return new i6(this.runtime,r).setScale(r.resolvePageRef(e.page).pageObjectNumber,e.measure,t),this.finishMutation(r,{tag:"measure.setScale",result:{page:e.page,meta:{affectedPages:[],cacheDelta:null,...r.writeStamp()}}},e.artifactPath)}handlePieceInfoRead(e,t){let r=this.requireSession(e);return N({tag:"pieceInfo.read",snapshot:new gc(this.runtime,r,e.page?r.resolvePageRef(e.page).pageObjectNumber:void 0).read(e.application,t)})}handlePieceInfoUpdate(e,t){let r=this.requireSession(e),n=new gc(this.runtime,r,e.page?r.resolvePageRef(e.page).pageObjectNumber:void 0);n.update(e.application,e.patch,t);let i={pieceInfo:n.read(e.application,t),meta:{affectedPages:[],cacheDelta:null,...r.writeStamp()}};return this.finishMutation(r,{tag:"pieceInfo.update",result:i},e.artifactPath)}handlePieceInfoApplications(e,t){let r=this.requireSession(e);return N({tag:"pieceInfo.applications",applications:new gc(this.runtime,r,e.page?r.resolvePageRef(e.page).pageObjectNumber:void 0).applications(t)})}handlePieceInfoDelete(e,t){let r=this.requireSession(e);new gc(this.runtime,r,e.page?r.resolvePageRef(e.page).pageObjectNumber:void 0).delete(e.application,t);let n={meta:{affectedPages:[],cacheDelta:null,...r.writeStamp()}};return this.finishMutation(r,{tag:"pieceInfo.delete",result:n},e.artifactPath)}async handlePagesText(e,t){let r=this.requireSession(e),n=new VP(this.runtime,r),i=r.resolvePageRef(e.page).pageObjectNumber;return N({tag:"pages.text",snapshot:await n.read(i,t,this.slices)})}async handlePagesGeometry(e,t){let r=this.requireSession(e),n=new XP(this.runtime,r),i=r.resolvePageRef(e.page).pageObjectNumber,a=await n.read(i,t,this.slices);return N({tag:"pages.geometry",page:e.page,snapshot:a})}async handleSearchQuery(e,t){let r=this.requireSession(e);return N({tag:"search.query",slice:await new YT(this.runtime,r).query(e.request,t,this.slices)})}async handlePagesRender(e,t){let r=this.requireSession(e),{raster:n,area:i}=await new fv(this.runtime,r).render(r.resolvePageRef(e.page).pageObjectNumber,e.options??{},t,this.slices);return N({tag:"pages.render",page:e.page,area:i,raster:n},[n.data])}slicedWork(e){switch(e.kind){case"pages.render":return{pdfium:t=>this.handlePagesRender(e,t)};case"pages.renderEncoded":return{pdfium:t=>this.handlePagesRender({...e,kind:"pages.render"},t),encode:(t,r)=>this.encodeRendered(t,e.encode,r)};case"document.renderPageFile":return{pdfium:t=>this.handleDocumentRenderPageFile(e,t)};case"document.renderPageFileEncoded":return{pdfium:t=>this.handleDocumentRenderPageFile({...e,kind:"document.renderPageFile"},t),encode:(t,r)=>this.encodeRendered(t,e.encode,r)};case"annotations.renderAppearances":return{pdfium:t=>this.handleAnnotationsRenderAppearances(e,t)};case"annotations.renderAppearancesEncoded":return{pdfium:t=>this.handleAnnotationsRenderAppearances({...e,kind:"annotations.renderAppearances"},t),encode:(t,r)=>this.encodeAppearances(t,e.page,e.encode,r)};case"pages.text":return{pdfium:t=>this.handlePagesText(e,t)};case"pages.geometry":return{pdfium:t=>this.handlePagesGeometry(e,t)};case"measure.viewports":return{pdfium:t=>this.handleMeasureViewports(e,t)};case"annotations.readFile":return{pdfium:t=>this.handleAnnotationsReadFile(e,t)};case"search.query":return{pdfium:t=>this.handleSearchQuery(e,t)};default:return null}}async runSliced(e,t,r,n){if(n.encode&&!this.options.imageEncoder){this.post(N({kind:"reject",jobId:t.jobId,error:P6()},Wr));return}let i=new AbortController;this.aborts.set(t.jobId,i),this.busy=!0;try{let a;try{a=await n.pdfium(i.signal)}finally{this.busy=!1,queueMicrotask(()=>this.drain())}this.resolve(t,n.encode?await n.encode(a,i.signal):a)}catch(a){this.post(N({kind:"reject",jobId:t.jobId,error:On(a)},Wr))}finally{this.aborts.delete(t.jobId),this.closePagesChangedBy(e,r)}}async encodeRaster(e,t,r){let n=this.options.imageEncoder;if(!n)throw new g(f.NotImplemented,GD);let{bytes:i,mimeType:a}=await n.encode(e,t);if(r.aborted)throw new g(f.Aborted,"aborted during image encode");return{mimeType:a,width:e.width,height:e.height,bytes:i}}async encodeRendered(e,t,r){let{payload:n}=e;if(n.tag==="pages.render"){let i=await this.encodeRaster(n.raster,t,r);return N({tag:"pages.renderEncoded",image:i},[i.bytes.buffer])}if(n.tag==="document.renderPageFile"){let i=await this.encodeRaster(n.raster,t,r);return N({tag:"document.renderPageFileEncoded",page:n.page,pageCount:n.pageCount,image:i},[i.bytes.buffer])}throw new g(f.WireFormat,`unexpected ${n.tag}`)}async encodeAppearances(e,t,r,n){if(e.payload.tag!=="annotations.renderAppearances")throw new g(f.WireFormat,`unexpected ${e.payload.tag}`);let{appearances:i}=e.payload.result,a=[];for(let o of i)a.push({ref:o.ref,mode:o.mode,state:o.state,rect:o.rect,image:await this.encodeRaster(o.raster,r,n)});return N({tag:"annotations.renderAppearancesEncoded",page:t,result:{page:e.payload.result.page,appearances:a}},a.map(o=>o.image.bytes.buffer))}assertRewriteKeepsSignatures(e,t){if(t!=="rewrite"||e.signedDocumentPolicy!=="protect")return;let r=this.probeProtection(e);if(r&&r.judged!==null)throw new g(f.ProtectedDocument,"the document is signed: a rewrite save would void every signature (use an incremental save)")}handleDocumentSaveBuffer(e){let t=this.requireSession(e);if(this.assertRewriteKeepsSignatures(t,e.mode),e.mode==="incremental"){let n=new Vn(this.runtime,t).snapshot();return N({tag:"document.saveBuffer",bytes:n.bytes,size:n.bytes.byteLength},[n.bytes])}let r=new Vn(this.runtime,t).saveStandaloneToBuffer(e.mode);return N({tag:"document.saveBuffer",bytes:r.bytes,size:r.size},[r.bytes])}handleDocumentSaveFile(e){let t=this.requireSession(e);return this.assertRewriteKeepsSignatures(t,e.mode),e.mode==="incremental"&&(!t.hasUnsavedEdits()||new Vn(this.runtime,t).saveStandaloneToFileEx(e.path,e.mode).unchangedSinceLoad)?(new Vn(this.runtime,t).copyLoadedBytesToFile(e.path),N({tag:"document.saveFile",path:e.path})):e.mode==="incremental"?N({tag:"document.saveFile",path:e.path}):N({tag:"document.saveFile",path:new Vn(this.runtime,t).saveStandaloneToFile(e.path,e.mode).path})}handleDocumentSaveLayerBuffer(e){let t=this.requireSession(e);if(t.kind!=="layer")throw new g(f.InvalidArg,"document has no layer to export (opened without a layer)");let r=new Vn(this.runtime,t).saveLayerArtifact();return N({tag:"document.saveLayerBuffer",bytes:r.bytes,size:r.size},[r.bytes])}handleDocumentProbeSecurityFile(e){return N({tag:"document.probeSecurityFile",security:new vl(this.runtime).probeFile(e.path,e.password)})}async handleDocumentRenderPageFile(e,t){let r=new Dl(this.runtime),n=this.baseDocuments.acquireFileBase({key:`adhoc-file:${e.path}`,path:e.path,password:e.password});try{r.openFromHandle(_n(this.runtime,n,{kind:"fresh"},e.password));let i=new En(this.runtime,r).read(t),a=i.pages[e.pageIndex];if(!a)throw new g(f.NotFound,`renderPageFile: no page at index ${e.pageIndex} (pageCount=${i.pageCount})`);let{raster:o}=await new fv(this.runtime,r).render(a.ref.objectNumber,_D(e.options??{},()=>a.pdfCropBox),t,this.slices);return N({tag:"document.renderPageFile",page:a.ref,pageCount:i.pageCount,raster:o},[o.data])}finally{r.close()}}handleDocumentCheckPasswordPermissions(e){let t=this.sessions.get(Nt(e.docId)),r;return t?.isLocked()?(t.unlockWith(e.password),t.password=e.password,r=t):r=this.requireSession(e),N({tag:"document.checkPasswordPermissions",security:new vl(this.runtime).checkPasswordPermissions(r,e.password,e.mode??"any"),protection:this.probeProtection(r)})}handleFontsRegister(e){return this.fonts.register(e.fontKey,e.familyName,e.weight,e.italic,new Uint8Array(e.data),e.builtIn??!1),N({tag:"fonts.register",fontKey:e.fontKey,identity:this.fonts.describe(e.fontKey)})}handleFontsAuthorizeEditing(e){return N({tag:"fonts.authorizeEditing",identity:this.fonts.authorizeEditing(e.fontKey)})}handleDocumentSetFontSettings(e){let t=this.requireSession(e).requireDocPtr(),{fn:r}=this.runtime;if(e.embeddingPolicy!==void 0){let n={default:0,subset:1,full:2}[e.embeddingPolicy];if(!r.EPDFDoc_SetFontEmbeddingPolicy(t,n))throw new g(f.InvalidArg,"EPDFDoc_SetFontEmbeddingPolicy failed")}if(e.typographicFeatures!==void 0&&!r.EPDFDoc_SetTypographicFeatures(t,e.typographicFeatures))throw new g(f.InvalidArg,"EPDFDoc_SetTypographicFeatures failed");return N({tag:"document.setFontSettings"})}handleFontsAddFallback(e){return this.fonts.addFallback(e.fontKey,e.tier),N({tag:"fonts.addFallback"})}handleFontsClearFallbacks(e){return this.fonts.clearFallbacks(),N({tag:"fonts.clearFallbacks"})}handleFontsProgram(e){let t=this.fonts.engineFontFacts().some(i=>i.sha256===e.sha256&&i.served)?this.fonts.programFor(e.sha256):void 0;if(!t)throw new g(f.NotFound,`no served font has the program ${e.sha256}`);let r=t.bytes(),n=r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength);return N({tag:"fonts.program",bytes:n},[n])}handleFontsClear(e){return this.fonts.clear(),N({tag:"fonts.clear"})}handleLayerClose(e){let t=Nt(e.docId,e.layerName),r=this.sessions.get(t);return r&&(Dc(this.runtime,r),_c(this.runtime,r),r.close(),this.sessions.delete(t)),N({tag:"close"})}handleClose(e){for(let[t,r]of Array.from(this.sessions.entries()))h6(t,e.docId)&&(Dc(this.runtime,r),_c(this.runtime,r),r.close(),this.sessions.delete(t));return N({tag:"close"})}handleShutdown(e){if(!this.destroyed){this.destroyed=!0;for(let t of this.sessions.values())Dc(this.runtime,t),_c(this.runtime,t),t.close();this.sessions.clear(),this.residency.closeIdle(),this.baseDocuments.releaseAll(),y7(this.runtime)}return N({tag:"shutdown"})}requireSession(e){let t=Nt(e.docId,e.layerName),r=this.sessions.get(t);if(r?.isLocked())throw new g(f.DocPasswordRequired,`document session is password-locked: ${t}`);if(!r||!r.isOpen())throw new g(f.DocNotOpen,`document session not open: ${t}`);return r.assertUsable(),r}handleFormsList(e,t){let r=this.requireSession(e);return N({tag:"forms.list",snapshot:new ED(this.runtime,r,this.fonts).snapshot(t)})}handleFormsSetValue(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.setValue",field:e.ref,value:e.value},e.authority,t);return this.finishMutation(r,{tag:"forms.setValue",result:i},e.artifactPath)}handleFormsReset(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"forms.reset",...e.refs?{fields:e.refs}:{}},e.authority,t);return this.finishMutation(r,{tag:"forms.reset",result:a},e.artifactPath)}handleFormsExport(e,t){let r=this.requireSession(e),n=new OT(this.runtime,r,this.fonts).export(e.selection,e.limits??bn,t);return N({tag:"forms.export",bundle:n},Object.values(n.resources))}handleFormsImport(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.import",bundle:e.bundle,...e.pages!==void 0?{pages:e.pages}:{},attribution:e.attribution,values:e.values,actor:BP(e.authority),limits:e.limits??bn,mayScript:e.mayScript},e.authority,t);return i.fields.length===0?N({tag:"forms.import",result:i}):this.finishMutation(r,{tag:"forms.import",result:i},e.artifactPath)}handleFormsImportValues(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.importValues",bundle:e.bundle,attribution:e.attribution,actor:BP(e.authority),limits:e.limits??bn},e.authority,t);return i.fields.length===0?N({tag:"forms.importValues",result:i}):this.finishMutation(r,{tag:"forms.importValues",result:i},e.artifactPath)}handleFormsRepair(e,t){let r=this.requireSession(e),n=new Ft(this.runtime,r,this.fonts).repair(e.bakeAppearances??!1,t);return this.finishMutation(r,{tag:"forms.repair",result:n},e.artifactPath)}handleFormsCreateField(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.create",draft:e.draft,...e.objectNumber!==void 0?{objectNumber:e.objectNumber}:{},...e.widgetObjectNumbers?{widgetObjectNumbers:e.widgetObjectNumbers}:{}},e.authority,t);return this.finishMutation(r,{tag:"forms.createField",result:i},e.artifactPath)}handleFormsUpdateField(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"forms.update",field:e.ref,patch:e.patch},e.authority,t);return this.finishMutation(r,{tag:"forms.updateField",result:a},e.artifactPath)}handleFormsSetSignatureAppearance(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.setSignatureAppearance",field:e.ref,appearance:{pdf:new Uint8Array(e.pdf)}},e.authority,t);return this.finishMutation(r,{tag:"forms.setSignatureAppearance",result:i},e.artifactPath)}handleFormsDeleteField(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.delete",field:e.ref},Jt(),t);return this.finishMutation(r,{tag:"forms.deleteField",result:i},e.artifactPath)}handleFormsAddWidget(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.addWidget",field:e.ref,placement:e.placement,...e.objectNumber!==void 0?{objectNumber:e.objectNumber}:{},...e.splitObjectNumber!==void 0?{splitObjectNumber:e.splitObjectNumber}:{}},Jt(),t);return this.finishMutation(r,{tag:"forms.addWidget",result:i},e.artifactPath)}handleFormsDetachWidget(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.removeWidget",field:e.ref,widget:e.widget},Jt(),t);return this.finishMutation(r,{tag:"forms.detachWidget",result:i},e.artifactPath)}handleFormsUpdateWidget(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"forms.updateWidget",widget:e.widget,patch:e.patch},Jt(),t);return this.finishMutation(r,{tag:"forms.updateWidget",result:a},e.artifactPath)}handleFormsDeleteWidget(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.deleteWidget",widget:e.widget},Jt(),t);return this.finishMutation(r,{tag:"forms.deleteWidget",result:i},e.artifactPath)}handleFormsReorderCalculations(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.reorderCalculations",fields:e.fields,position:e.position},Jt(),t);return this.finishMutation(r,{tag:"forms.reorderCalculations",result:i},e.artifactPath)}handleFormsReorderWidgets(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.reorderWidgets",page:e.page,widgets:e.widgets,position:e.position},Jt(),t);return this.finishMutation(r,{tag:"forms.reorderWidgets",result:i},e.artifactPath)}finishMutation(e,t,r){e.inTransaction()&&e.commitTransaction(),F6.has(t.tag)&&is(e).endUndo(),!t.tag.startsWith("forms.")&&t.tag!=="pages.flatten"&&t.tag!=="redaction.apply"&&t.tag!=="signatures.complete"&&e.invalidateDerived(),t.tag!=="signatures.complete"&&e.noteEdit();let n=b6(t,e.missingCharacters()),i=W4(this.runtime,e)?{...n,fontsChanged:!0}:n;if(e.kind!=="layer"||!e.persistLayerArtifact)return N(i);let a=this.saveLayerArtifact(e,r);return N({...i,...a.payload},a.transfer)}saveLayerArtifact(e,t){let r=new Vn(this.runtime,e),n=e.lastObjectNumber();if(t)return{payload:{artifactFile:{...r.saveLayerArtifactToFile(t),lastObjectNumber:n}},transfer:[]};let i={...r.saveLayerArtifact(),lastObjectNumber:n};return{payload:{artifact:i},transfer:[i.bytes]}}},m6={read:"none",snapshot:"none",session:"none",open:"none",close:"none",write:"keepsPages",contentWrite:"document",runtimeWrite:"runtime"};function w6(e){return e.kind==="shutdown"?"none":m6[e.effect]}function Jt(e){return{identity:e??{},grants:null,protection:null}}function BP({identity:e}){return{...e.userId!==void 0?{userId:e.userId}:{},...e.groupId!==void 0?{groupId:e.groupId}:{},...e.displayName!==void 0?{displayName:e.displayName}:{}}}function b6(e,t){if(t.length===0||!("result"in e))return e;let r=e.result;if(typeof r!="object"||r===null||!("meta"in r))return e;let{meta:n}=r;return typeof n!="object"||n===null||"missingCharacters"in n?e:{...e,result:{...r,meta:{...n,missingCharacters:t}}}}function EP(e,t){let r=t.record.steps.length>0;r&&e.markUndoable();let n=t.items.map(a=>({...a,meta:{...a.meta,undoable:r}})),i=[...new Set(n.flatMap(a=>a.meta.missingCharacters??[]))];return{items:n,meta:{affectedPages:g6(n),cacheDelta:null,...e.writeStamp(),...i.length>0?{missingCharacters:i}:{}}}}function f6(e,t,r,n,i){let{change:a,authority:o}=t;if(!uo(a))return e.apply(a.ops,o,n,i);let s=o.identity.userId??null,A=r.has(a.undoOf)?r.get(a.undoOf):t.record;if(A===void 0)throw new g(f.UndoUnavailable,`change ${a.undoOf} can no longer be undone`,{details:{reason:"expired"}});return A?e.undo(A,o,n,i):{items:[],record:{userId:s,steps:[]}}}function g6(e){let t=new Map;for(let r of e)for(let n of r.meta.affectedPages)t.set(n.objectNumber,n);return[...t.values()]}function Fc(e){return e.kind==="shutdown"||e.kind==="signatures.complete"||e.kind==="document.applyChanges"||e.effect!=="write"&&e.effect!=="contentWrite"?!1:"docId"in e}var F6=new Set(["redaction.apply","pages.flatten","annotations.flatten","forms.repair","signatures.complete"]),v6="__base__";function Nt(e,t){return`${e}::${t?`layer:${t}`:v6}`}var GD="this engine has no image encoder (the *.renderEncoded kinds are cloud-server surface)";function P6(){return On(new g(f.NotImplemented,GD))}function h6(e,t){return e===Nt(t)||e.startsWith(`${t}::layer:`)}function k6(e){return e instanceof g&&(e.code===f.DocPasswordRequired||e.code===f.DocPasswordIncorrect)}function D6(){return{encryptionState:"encrypted",encryptionRequiresPassword:!0,securityHandlerRevision:null,pdfPermissionsBits:null,pdfPermissionsAllAllowed:null,pdfOpenedAs:null,securityProbedAt:Date.now()}}function B6(e){if(uo(e))return;let t={"annotations.import":"doc.annotations.import","forms.import":"doc.forms.import","forms.importValues":"doc.forms.importValues"},r=e.ops.find(({type:n})=>n in t);if(r)throw new g(f.InvalidArg,`doc.apply takes no import: import a bundle with ${t[r.type]}`)}function CD(e){e.onmessage=t=>{let r=t.data;!r||typeof r!="object"||r.kind!=="init"||E6(e,r)}}function E6(e,t){(async()=>{let r=_6(t),n=await tg({prefer:"wasm",wasmUrl:r.wasmUrl,wasmBinary:r.wasmBinary}),i=new yD(n,a=>{e.postMessage(a.payload,a.transfer)});e.onmessage=a=>{i.receive(a.data)},e.postMessage({kind:"ready"})})().catch(r=>{e.postMessage({kind:"init-error",error:y6(r,t)})})}function _6(e){return{wasmUrl:e.wasmUrl,wasmBinary:e.wasmBinary}}function y6(e,t){let r=String(e?.stack??e);return t.wasmBinary?r:`${t.wasmUrl?`failed to load embedpdf.wasm from ${t.wasmUrl}`:"failed to load embedpdf.wasm (resolved relative to the worker script)"}. Your build did not ship the wasm at that location \u2014 either import \`localEngine\` from \`@embedpdf/engine/portable\` (the wasm travels inside your build), or self-host the file and pass \`assetsUrl\`/\`wasmUrl\` to localEngine(), or provide the bytes via \`wasmBinary\`. See https://www.embedpdf.com/docs/viewer/self-hosting \u2014 ${r}`}CD(self);})(); +`&&this.pos++;break;default:{let i=/^[0-7]{1,3}/.exec(this.text.slice(this.pos-1));i?(t+=String.fromCharCode(parseInt(i[0],8)),this.pos+=i[0].length-1):t+=n}}continue}if(r==="("&&e++,r===")"&&(e--,e===0))return t;t+=r}throw new Error("unterminated string")}hexString(){this.expect("<");let e=this.text.indexOf(">",this.pos);if(e<0)throw new Error("unterminated hex string");let t=this.text.slice(this.pos,e).replace(/\s+/g,"");this.pos=e+1;let r="";for(let n=0;n`/${t} ${ta(e.entries[t])}`).join("")}>>`;case"stream":return`stream(${e.length},${e.sha256})${ta({t:"dict",entries:e.dict})}`;case"array":return`[${e.items.map(ta).join(" ")}]`;case"ref":return`${e.num} 0 R`;case"name":return`/${BG(e.v)}`;case"string":return`(${e.v.replace(/[\\()]/g,t=>`\\${t}`)})`;case"number":return String(e.v);case"bool":return e.v?"true":"false";case"null":return"null"}}function Re(e){return e?e.t==="dict"?e.entries:e.t==="stream"?e.dict:null:null}function Ht(e,t){let r=Re(e)??{},n=Re(t)??{},i=new Set;for(let a of new Set([...Object.keys(r),...Object.keys(n)]))$A(r[a]??null,n[a]??null)||i.add(a);return i}function Fn(e){return e?e.t==="ref"?[e.num]:e.t==="array"?e.items.flatMap(Fn):[]:[]}function BG(e){let t="";for(let r of e){let n=r.charCodeAt(0);n<33||n>126||"#/[]<>(){}%".includes(r)?t+=`#${n.toString(16).toUpperCase().padStart(2,"0")}`:t+=r}return t}function gp(e,t){return e.some(r=>r.verdict==="forbidden")?"forbidden":e.some(r=>r.verdict==="incomplete")?"indeterminate":t?"permitted":"unchanged"}function Fp(e){return e.find(t=>t.verdict==="forbidden")??e.find(t=>t.verdict==="incomplete")??e.find(t=>t.verdict==="permitted")}function vp(e){let t=Fp(e.findings);return{verdict:e.verdict,complete:!e.findings.some(r=>r.verdict==="incomplete"),...t?{primary:t}:{},findings:e.findings}}function Pp(e,t){let r=[...e.findings];for(let a of t)if(a!==e)for(let o of a.findings)o.verdict!=="permitted"&&r.push({...o,detail:`revision ${a.newer}: ${o.detail??o.rule}`});let n=gp(r,e.verdict!=="unchanged"||t.some(a=>a.verdict!=="unchanged")),i=Fp(r);return{verdict:n,complete:!r.some(a=>a.verdict==="incomplete"),...i?{primary:i}:{},findings:r}}var Zt=["old","new"],EG=new Set(["Size","Prev","XRefStm","Info","ID","Root","Type","W","Index","Filter","DecodeParms","Length","Encrypt"]),_G=new Set(["Metadata","Extensions","Version","DSS","AcroForm","Perms"]),yG=new Set(["DR","DA","Q","SigFlags","NeedAppearances","Fields"]),Kf={annotate:new Set(["V","AS","AP","I","DA","Ff","RV","MK","Q","TU","F","Rect","BS","Opt","DV","MaxLen"]),fill:new Set(["V","AS","AP","I","RV","DA","Ff"])},Vf={annotate:new Set(["AS","AP","DA","MK","Q","TU","F","Rect","BS"]),fill:new Set(["AS","AP","DA"])},Yf={annotate:new Set(["V","AP","AS","Ff","TU","Lock"]),fill:new Set(["V","AP","AS","Ff"])},GG=new Set(["AP","AS"]),CG=1;function IG(e){return e==="annotate"?Kf.annotate:Kf.fill}function SG(e){return e==="annotate"?Vf.annotate:Vf.fill}function Xf(e){return e==="annotate"?Yf.annotate:Yf.fill}var xG=new Set(["identical-rewrite","orphan","xref-container","trailer"]);function sg(e){let t=zt(e.signatures);return{level:t.judged??"annotate",locks:t.fieldLocks}}function ac(e){let t=HG(e.changes),{level:r,locks:n}=e.restrictions??sg(e.before),i=e.levelOverride??r,a=new QG({...e,changes:t},i,n);OG(a),RG(a),TG(a),qG(a),MG(a),LG(a),NG(a),jG(a),KG(a),VG(a),YG(a),XG(a),WG(a),UG(a),zG(a);let o=gp(a.findings,a.findings.some(s=>s.verdict==="permitted"&&!xG.has(s.rule)));return{older:e.older,newer:e.newer,levelInForce:i,locks:n,verdict:o,findings:a.findings,changes:t}}function HG(e){return e.map(t=>{if(t.value.truncated||t.kind==="xref"||t.kind==="objstm")return t;let r=t.present.old&&(t.value.old===null||t.read?.old==="failed"),n=t.present.new&&(t.value.new===null||t.read?.new==="failed");return r||n?{...t,value:{...t.value,truncated:!0}}:t})}function OG(e){let t=e.input.health;if(!t)return;let r=t.old;if(r.sparseXref||r.bareReferences>0){let n=[r.sparseXref?"its cross-reference table has no entry for some object numbers below /Size":null,r.bareReferences>0?`${r.bareReferences} reachable indirect object(s) consist of a bare reference`:null].filter(i=>i!==null).join("; ");e.findings.push({rule:"base-unverifiable",verdict:"incomplete",objectNumber:0,detail:`the signed revision cannot be verified against later changes by Acrobat (${n}); no verdict is given rather than one Acrobat would contradict`})}for(let n of Zt)t[n].referrersComplete||e.findings.push({rule:"unexplained",verdict:"incomplete",objectNumber:0,detail:`the ${n==="old"?"older":"newer"} revision's reachability walk hit its budget; not every use of a changed object is known`})}function oc(e){return e.change==="modified"&&!e.value.truncated&&e.read?.old!=="failed"&&e.read?.new!=="failed"&&e.raw.old!==null&&e.raw.new!==null&&e.raw.old===e.raw.new&&!e.streamDataChanged}function Wf(e){let t=new Map,r=new Map,n=new Set;for(let a of e.fields){t.set(a.objectNumber,a),a.kind==="signature"&&n.add(a.objectNumber);for(let o of a.widgets)r.set(o,a.objectNumber)}let i=new Set;for(let a of e.signatures)a.signed&&a.field.kind==="objectNumber"&&i.add(a.field.objectNumber);return{fieldByObj:t,widgetToField:r,pages:new Set(e.pages),signedFields:i,sigFields:n}}function ur(e){return`${e.parent}:${e.label}`}var QG=class{constructor(e,t,r){this.input=e,this.level=t,this.locks=r,xe(this,"findings",[]),xe(this,"byNum",new Map),xe(this,"before",void 0),xe(this,"after",void 0),xe(this,"claims",new Map),xe(this,"locked",new Set);for(let n of e.changes)this.byNum.set(n.objectNumber,n);this.before=Wf(e.before),this.after=Wf(e.after)}get changes(){return this.input.changes}allows(e){return Po(this.level,e)}claimEdge(e,t,r,n,i=!0){if(this.locked.has(e.objectNumber))return;let a=`${e.objectNumber}:${t}:${ur(r)}`;this.claims.has(a)||this.claims.set(a,{rule:n,allow:i})}claimAll(e,t,r=!0){for(let n of Zt)for(let i of e.usage[n])this.claimEdge(e,n,i,t,r)}claimStable(e,t,r=!0){let n=new Set(e.usage.old.map(ur)),i=new Set(e.usage.new.map(ur));for(let a of e.usage.old)i.has(ur(a))&&this.claimEdge(e,"old",a,t,r);for(let a of e.usage.new)n.has(ur(a))&&this.claimEdge(e,"new",a,t,r)}isClaimed(e,t,r){return this.claims.has(`${e.objectNumber}:${t}:${ur(r)}`)}isAllowed(e,t,r){return this.claims.get(`${e.objectNumber}:${t}:${ur(r)}`)?.allow===!0}permitted(e,t,r){this.locked.has(e.objectNumber)||this.findings.push({rule:t,verdict:"permitted",objectNumber:e.objectNumber,detail:r})}forbidden(e,t,r,n){this.findings.push({rule:t,verdict:e.value.truncated?"incomplete":"forbidden",objectNumber:e.objectNumber,edge:n?ur(n):void 0,detail:e.value.truncated?`${r} (judged on missing evidence: not proven)`:r})}claimSubtree(e,t,r,n){let i=new Set,a=!0;for(;a;){a=!1;for(let o of this.changes){if(t.has(o.objectNumber)||i.has(o.objectNumber)||this.locked.has(o.objectNumber))continue;let s=o.usage[e];if(s.length===0)continue;let A=s.filter(d=>t.has(d.parent)&&r(d.label)||i.has(d.parent));if(A.length!==0){for(let d of A)this.claimEdge(o,e,d,n);s.every(d=>A.includes(d)||this.isAllowed(o,e,d))&&(i.add(o.objectNumber),a=!0)}}}}isIdentical(e){return oc(e)}newlySigned(){let e=[];for(let t of this.input.after.signatures)!t.signed||t.field.kind!=="objectNumber"||this.before.signedFields.has(t.field.objectNumber)||e.push({fieldObjectNumber:t.field.objectNumber,sig:t});return e}};function RG(e){for(let t of e.changes)(t.kind==="xref"||t.kind==="objstm")&&(e.claimAll(t,"xref-container"),e.permitted(t,"xref-container","cross-reference container; members are judged on their own"))}function TG(e){for(let t of e.changes)e.isIdentical(t)&&(e.allows("fill")?(e.claimAll(t,"identical-rewrite"),e.permitted(t,"identical-rewrite","written again with the sealed value")):(e.claimAll(t,"identical-rewrite",!1),e.forbidden(t,"identical-rewrite",`written again with the sealed value under level '${e.level}' (not established for this level)`)))}function MG(e){let t=e.byNum.get(0);if(!t)return;let r=Ht(t.value.old,t.value.new),n=[...r].filter(o=>!EG.has(o)),i=Re(t.value.old)?.Root,a=Re(t.value.new)?.Root;if(n.length>0){e.forbidden(t,"trailer",`trailer keys changed: ${n.join(", ")}`);return}if(r.has("Root")&&!$A(i??null,a??null)){e.forbidden(t,"trailer","the trailer points at a different catalog");return}if(r.has("Encrypt")&&!$A(Re(t.value.old)?.Encrypt??null,Re(t.value.new)?.Encrypt??null)){e.forbidden(t,"trailer","the trailer points at a different encryption dictionary");return}e.claimAll(t,"trailer"),e.permitted(t,"trailer")}function hp(e,t){let r=[...e.usage.old,...e.usage.new];return r.length>0&&r.every(t)}function LG(e){for(let t of e.changes)e.isIdentical(t)||t.objectNumber!==0&&hp(t,r=>r.parent===0&&r.label==="Info")&&(e.claimAll(t,"info"),e.permitted(t,"info","document information dictionary"))}function NG(e){let t=new Set([e.input.before.root,e.input.after.root]);for(let r of e.changes)e.isIdentical(r)||hp(r,n=>t.has(n.parent)&&n.label==="Metadata")&&(e.claimAll(r,"metadata"),e.permitted(r,"metadata","XMP metadata stream"))}function jG(e){let t=e.input.after.root,r=e.byNum.get(t);if(!r||e.isIdentical(r))return;let n=Ht(r.value.old,r.value.new),i=[...n].filter(a=>!_G.has(a));if(i.length>0){e.forbidden(r,"catalog-housekeeping",`catalog keys changed: ${i.join(", ")}`);return}if(n.has("AcroForm")&&!e.input.after.acroForm&&!e.input.before.acroForm){let a=Ag(e,Re(r.value.old)?.AcroForm??null,Re(r.value.new)?.AcroForm??null);if(a){e.forbidden(r,"acroform-housekeeping",a);return}for(let o of Zt)e.claimSubtree(o,new Set([t]),s=>s.startsWith("AcroForm/DR/"),"acroform-housekeeping")}if(n.has("Perms")){let a=zt(e.input.after.signatures),o=zt(e.input.before.signatures);if(!a.certification||o.judged!==null){e.forbidden(r,"catalog-housekeeping","/Perms may only appear with the certification signature, in the first signed revision");return}}e.claimAll(r,"catalog-housekeeping"),e.permitted(r,"catalog-housekeeping")}function KG(e){let t=e.input.after.acroForm||e.input.before.acroForm;if(!t)return;let r=e.byNum.get(t);if(!r||e.isIdentical(r))return;let n=Ag(e,r.value.old,r.value.new);if(n){e.forbidden(r,"acroform-housekeeping",n);return}e.claimAll(r,"acroform-housekeeping"),e.permitted(r,"acroform-housekeeping");for(let i of Zt)e.claimSubtree(i,new Set([t]),a=>a.startsWith("DR/"),"acroform-housekeeping")}function Ag(e,t,r){let n=Ht(t,r),i=[...n].filter(a=>!yG.has(a));if(i.length>0)return`AcroForm keys changed: ${i.join(", ")}`;if(n.has("Fields")){let a=Fn(Re(t)?.Fields),o=Fn(Re(r)?.Fields);if(a.length>o.length||a.some((d,p)=>o[p]!==d))return"/AcroForm /Fields is not append-only";let s=kp(e),A=o.slice(a.length).filter(d=>!s.has(d));if(A.length>0)return`/AcroForm /Fields gained non-signature fields: ${A.join(", ")}`}return null}function Uf(e,t){let r=Re(e.value.old)?.[t],n=Re(e.value.new)?.[t],i=Fn(r),a=Fn(n);if(r&&r.t!=="array"||!n||n.t!=="array"||i.length>a.length)return null;for(let o=0;on==="DSS"||n.startsWith("DSS/"),"dss");for(let r of e.changes)r.usage.new.some(n=>t.has(n.parent)&&n.label==="DSS")&&!e.findings.some(n=>n.objectNumber===r.objectNumber)&&e.permitted(r,"dss","document security store")}function YG(e){let t=kp(e);if(t.size===0)return;let r="signature-field-added";if(!e.allows("fill")){for(let i of t){let a=e.byNum.get(i);a&&e.forbidden(a,r,`a signature field was added under level '${e.level}'`)}return}let n=new Set;for(let i of t){let a=e.after.fieldByObj.get(i),o=e.byNum.get(i);o&&(e.claimAll(o,r),e.permitted(o,r,`new signature field "${a.name}"`));for(let s of a.widgets){if(n.add(s),s===i)continue;let A=e.byNum.get(s);A&&(e.claimAll(A,r),e.permitted(A,r,`widget of new signature field "${a.name}"`))}}for(let i of e.after.pages){let a=e.byNum.get(i);if(!a||e.isIdentical(a))continue;let o=Ht(a.value.old,a.value.new);if(o.size!==1||!o.has("Annots"))continue;let s=Uf(a,"Annots");s&&s.every(A=>n.has(A))&&(e.claimAll(a,r),e.permitted(a,r,"page /Annots gained the new signature widget"))}for(let i of e.changes){if(i.kind!=="dictionary"||e.isIdentical(i))continue;let a=Ht(i.value.old,i.value.new);if(a.size!==1||!a.has("Kids"))continue;let o=Uf(i,"Kids");o&&o.length>0&&o.every(s=>t.has(s)||n.has(s))&&(e.claimAll(i,r),e.permitted(i,r,"field /Kids gained the new signature field"))}}function XG(e){let t="signature-added",r=e.newlySigned();if(r.length===0)return;let n=kp(e),i=zt(e.input.before.signatures),a=zt(e.input.after.signatures),o=new Set,s=new Set;for(let{fieldObjectNumber:A,sig:d}of r){let p=d.kind==="timestamp"?"lta":"fill";if(!e.allows(p)){let B=e.byNum.get(A);B&&e.forbidden(B,t,`a ${d.kind} was added under level '${e.level}'`);continue}if(d.catalogCertification&&i.judged!==null){let B=e.byNum.get(A);B&&e.forbidden(B,t,"a certification signature after another signature");continue}let m=e.after.fieldByObj.get(A);o.add(A);for(let B of m?.widgets??[])o.add(B);let F=n.has(A),h=i.judged===null?new Set([...Xf(e.level),"Lock"]):Xf(e.level),P=e.byNum.get(A);if(P&&F)e.permitted(P,t,`new field "${d.fieldName}" signed`);else if(P&&!e.isIdentical(P)){let B=Ht(P.value.old,P.value.new),y=[...B].filter(x=>!h.has(x));y.length>0?(e.forbidden(P,t,`signature field keys changed: ${y.join(", ")}`),e.claimStable(P,t,!1)):B.has("Ff")&&!Dp(P,e.before.fieldByObj.get(A)?.flags)?(e.forbidden(P,t,"signature field flags changed beyond ReadOnly"),e.claimStable(P,t,!1)):(e.claimStable(P,t),e.permitted(P,t,`field "${d.fieldName}" signed`))}for(let B of m?.widgets??[]){if(B===A||F)continue;let y=e.byNum.get(B);if(!y||e.isIdentical(y))continue;let x=[...Ht(y.value.old,y.value.new)].filter(I=>!GG.has(I));if(x.length>0){e.forbidden(y,t,`signature widget keys changed: ${x.join(", ")}`),e.claimStable(y,t,!1);continue}e.claimStable(y,t),e.permitted(y,t,"signature widget appearance")}for(let B of e.changes){if(B.change!=="added")continue;let y=B.usage.new.filter(S=>S.parent===A&&S.label==="V"),x=B.usage.new.filter(S=>S.parent===A&&S.label==="Lock"),I=Re(B.value.new)?.Type;if(y.length>0){if(!(I?.t==="name"&&(I.v==="Sig"||I.v==="DocTimeStamp"))&&I!==void 0)continue;for(let S of B.usage.new)(S.parent===A&&S.label==="V"||S.label==="DocMDP")&&e.claimEdge(B,"new",S,t);e.permitted(B,t,"signature value"),s.add(B.objectNumber)}else if(x.length>0){if(!(I===void 0||I.t==="name"&&I.v==="SigFieldLock"))continue;for(let S of x)e.claimEdge(B,"new",S,t);e.permitted(B,t,"field lock installed with the signature")}}}if(a.certification&&i.judged===null){let A=e.input.after.root;for(let d of e.changes)d.change==="added"&&hp(d,p=>p.parent===A&&p.label==="Perms")&&(e.claimAll(d,t),e.permitted(d,t,"certification permissions"))}for(let A of Zt)e.claimSubtree(A,o,d=>d==="AP"||d.startsWith("AP/"),t);s.size>0&&e.claimSubtree("new",s,()=>!0,t)}function Dp(e,t){let r=Re(e.value.old)?.Ff,n=Re(e.value.new)?.Ff,i=r?.t==="number"?r.v:t??0,a=n?.t==="number"?n.v:0;return(i|CG)===a}function WG(e){let t="form-fill",r=IG(e.level),n=SG(e.level),i=new Set,a=new Map([...e.before.fieldByObj,...e.after.fieldByObj]);for(let[o,s]of a){if(s.kind==="signature")continue;let A=e.byNum.get(o),d=s.widgets.filter(P=>P!==o).map(P=>e.byNum.get(P)).filter(Boolean),p=new Set([o,...s.widgets]),m=P=>P==="AP"||P.startsWith("AP/"),F=!A&&d.length===0?e.changes.filter(P=>Zt.some(B=>P.usage[B].some(y=>p.has(y.parent)&&m(y.label)))&&Zt.every(B=>P.usage[B].every(y=>!m(y.label)||p.has(y.parent)))):[];if(!A&&d.length===0&&F.length===0)continue;if(!e.allows("fill")){for(let P of[A,...d,...F])P&&!e.isIdentical(P)&&e.forbidden(P,t,`form fill under level '${e.level}'`);continue}if(F.length>0){for(let P of F)e.permitted(P,t,`appearance of field "${s.name}" regenerated`);i.add(o);for(let P of s.widgets)i.add(P);continue}let h=!0;if(A&&!e.isIdentical(A)){let P=Ht(A.value.old,A.value.new),B=[...P].filter(y=>!r.has(y));if(B.length>0)e.forbidden(A,t,`field "${s.name}" keys changed: ${B.join(", ")}`),e.claimStable(A,t,!1),h=!1;else if(P.has("Ff")&&!Dp(A,e.before.fieldByObj.get(o)?.flags))e.forbidden(A,t,`field "${s.name}" flags changed beyond adding ReadOnly`),e.claimStable(A,t,!1),h=!1;else{e.claimStable(A,t);let y=[...P].filter(x=>x!=="V"&&x!=="AP"&&x!=="AS"&&x!=="I"&&x!=="RV");e.permitted(A,t,y.length>0?`field "${s.name}" ${P.has("V")||P.has("AS")?"filled, ":""}properties changed: ${y.join(", ")}`:`field "${s.name}" filled`)}}for(let P of d){if(e.isIdentical(P))continue;let B=[...Ht(P.value.old,P.value.new)].filter(y=>!n.has(y));if(B.length>0){e.forbidden(P,t,`widget of "${s.name}" keys changed: ${B.join(", ")}`),e.claimStable(P,t,!1),h=!1;continue}e.claimStable(P,t),e.permitted(P,t,`widget of "${s.name}" appearance`)}if(h){i.add(o);for(let P of s.widgets)i.add(P)}}for(let o of Zt)e.claimSubtree(o,i,s=>s==="AP"||s.startsWith("AP/"),t)}function UG(e){let t="annotation",r=new Set([...e.before.pages,...e.after.pages]),n=new Set([...e.before.widgetToField.keys(),...e.after.widgetToField.keys()]),i=s=>{if(n.has(s.objectNumber))return!0;let A=Re(s.value.new??s.value.old)?.Subtype;return A?.t==="name"&&A.v==="Widget"},a=[];for(let s of e.changes)s.kind!=="dictionary"||e.isIdentical(s)||[...s.usage.old,...s.usage.new].some(A=>r.has(A.parent)&&A.label.startsWith("Annots/"))&&!i(s)&&a.push(s);if(a.length,!e.allows("annotate")){for(let s of a)e.forbidden(s,t,`annotation change under level '${e.level}'`);return}let o=new Set;for(let s of a)e.claimAll(s,t),e.permitted(s,t,`${s.change} annotation`),o.add(s.objectNumber);for(let s of r){let A=e.byNum.get(s);if(!A||e.isIdentical(A))continue;let d=Ht(A.value.old,A.value.new);if(d.size===1&&d.has("Annots")){let p=Fn(Re(A.value.old)?.Annots).filter(F=>!Fn(Re(A.value.new)?.Annots).includes(F)),m=Fn(Re(A.value.new)?.Annots).filter(F=>!Fn(Re(A.value.old)?.Annots).includes(F));if([...p,...m].some(F=>n.has(F)&&!e.findings.some(h=>h.objectNumber===F&&h.verdict==="permitted"))){e.forbidden(A,t,"page /Annots added or removed a form widget");continue}e.claimAll(A,t),e.permitted(A,t,"page /Annots changed")}}for(let s of Zt)e.claimSubtree(s,o,A=>A==="AP"||A.startsWith("AP/")||A==="Popup"||A==="IRT",t)}function qG(e){if(e.locks.length===0)return;let t=e.input.before.fields.filter(a=>e.locks.some(o=>JA(o.spec,a.name))),r=new Set;for(let a of t){r.add(a.objectNumber);for(let o of a.widgets)r.add(o)}let n=new Set(r),i=!0;for(;i;){i=!1;for(let a of e.changes)n.has(a.objectNumber)||a.usage.old.length>0&&a.usage.old.every(o=>n.has(o.parent))&&(n.add(a.objectNumber),i=!0)}for(let a of e.changes){if(!n.has(a.objectNumber)||e.isIdentical(a))continue;let o=t.find(s=>s.objectNumber===a.objectNumber||s.widgets.includes(a.objectNumber));if(o&&o.objectNumber===a.objectNumber){let s=Ht(a.value.old,a.value.new);if(s.size===1&&s.has("Ff")&&Dp(a,e.before.fieldByObj.get(a.objectNumber)?.flags)){e.claimStable(a,"field-lock"),e.permitted(a,"field-lock",`ReadOnly set on locked field "${o.name}"`);continue}}e.locked.add(a.objectNumber),e.forbidden(a,"field-lock",o?`field "${o.name}" is locked by the signature`:"part of a locked field changed")}}function zG(e){for(let t of e.changes){if(t.value.truncated){e.findings.push({rule:"unexplained",verdict:"incomplete",objectNumber:t.objectNumber,detail:"value too large to inspect"});continue}if(t.usageIncomplete){e.findings.push({rule:"unexplained",verdict:"incomplete",objectNumber:t.objectNumber,detail:"references could not be resolved within budget (depth, fan-out or total reads)"});continue}if(!e.locked.has(t.objectNumber)){for(let r of Zt)for(let n of t.usage[r])e.isClaimed(t,r,n)||e.forbidden(t,"unexplained",`${r==="old"?"was":"is"} referenced from object ${n.parent} at ${n.label} and no rule explains it`,n);t.usage.old.length===0&&t.usage.new.length===0&&!e.findings.some(r=>r.objectNumber===t.objectNumber)&&e.permitted(t,"orphan","referenced from nowhere reachable")}}}function Bp(e,t){let r=[],n=[],i=null,a=!1;for(let o of e.signatures){if(!o.signed||o.revisionIndex===null)continue;a=!0;let s=t!==null&&o.index===t.index;o.catalogCertification&&o.docMdp!==null&&(r.push({signatureIndex:o.index,revisionIndex:o.revisionIndex,source:"docmdp",own:s,permission:o.docMdp}),i=Ji(i??"annotate",Zi(o.docMdp))),o.lock?.permission!==void 0&&(i=Ji(i??"annotate",Zi(o.lock.permission))),!(t!==null&&!s)&&(o.fieldMdp&&(r.push({signatureIndex:o.index,revisionIndex:o.revisionIndex,source:"fieldmdp",own:s,fields:o.fieldMdp}),n.push({signatureIndex:o.index,source:"fieldmdp",spec:o.fieldMdp})),o.lock&&(r.push({signatureIndex:o.index,revisionIndex:o.revisionIndex,source:"lock",own:s,fields:o.lock}),n.push({signatureIndex:o.index,source:"lock",spec:o.lock})))}return{anchors:r,level:a?i??"annotate":"annotate",locks:n}}var cg={maxDepth:16,maxEdgesPerObject:256,maxReads:2e4},na="incomplete",dg="\u2026",sc=class{constructor(e,t,r=cg){this.read=e,this.anchors=t,this.budget=r,xe(this,"referrers",new Map),xe(this,"resolved",new Map),xe(this,"reads",0),xe(this,"exhausted",!1)}resolve(e){if(!this.resolved.has(e)){let t=this.componentsAbove(e);for(let r of t??[])if(!this.resolveComponent(r))break}return this.resolved.get(e)??"incomplete"}readReferrers(e){let t=this.referrers.get(e);if(t)return t;if(this.exhausted||this.reads>=this.budget.maxReads)return this.exhausted=!0,null;this.reads+=1;let r=this.read(e);return this.referrers.set(e,r),r}pendingParents(e){let t=new Set;for(let r of e)!this.anchors.has(r.parent)&&!this.resolved.has(r.parent)&&t.add(r.parent);return[...t]}componentsAbove(e){let t=new Map,r=new Map,n=[],i=new Set,a=[],o=[],s=A=>{let d=this.readReferrers(A);return d?(t.set(A,t.size),r.set(A,t.get(A)),n.push(A),i.add(A),a.push({node:A,parents:this.pendingParents(d),next:0}),!0):!1};if(!s(e))return null;for(;a.length>0;){let A=a[a.length-1];if(A.next0){let p=a[a.length-1].node;r.set(p,Math.min(r.get(p),r.get(d)))}if(r.get(d)===t.get(d)){let p=[],m;do m=n.pop(),i.delete(m),p.push(m);while(m!==d);o.push(p)}}return o}resolveComponent(e){let t=new Set(e),r=e.length===1?this.edgesOfSingle(e[0]):this.edgesOfLoop(e,t);if(!r){for(let n of e)this.resolved.set(n,null);return!1}for(let n of e)this.resolved.set(n,r.get(n));return!0}edgesOfSingle(e){let t=[];for(let n of this.referrers.get(e)){if(n.parent===e)continue;let i=this.through(n);if(!i)return null;t.push(...i)}let r=zf(t);return r.length>this.budget.maxEdgesPerObject?null:new Map([[e,r]])}edgesOfLoop(e,t){let r=new Map,n=new Map;for(let o of e){let s=[];for(let A of this.referrers.get(o)){if(t.has(A.parent))continue;let d=this.through(A);if(!d)return null;for(let p of d){s.push(p);let m=[...p.via??[],o];if(m.length>=this.budget.maxDepth)return null;let F={parent:p.parent,label:`${p.label}/${dg}`,via:m},h=n.get(Ap(F));h?h.length===1&&qf(h[0])!==o&&h.push(F):n.set(Ap(F),[F])}if(s.length>this.budget.maxEdgesPerObject)return null}s.length>0&&r.set(o,zf(s))}if(n.size>this.budget.maxEdgesPerObject)return null;let i=new Map,a=[...n.values()].map(o=>o[0]);for(let o of e){let s=r.get(o);if(!s){i.set(o,a);continue}let A=[];for(let p of n.values()){let m=p.find(F=>qf(F)!==o);m&&A.push(m)}let d=[...s,...A];if(d.length>this.budget.maxEdgesPerObject)return null;i.set(o,d)}return i}through(e){if(this.anchors.has(e.parent))return[e];let t=this.resolved.get(e.parent);if(!t)return null;let r=[];for(let n of t){let i=[...n.via??[],e.parent];if(i.length>=this.budget.maxDepth)return null;r.push({parent:n.parent,label:`${n.label}/${e.label}`,via:i})}return r}};function Ap(e){return`${e.parent}:${e.label}`}function qf(e){return e.via[e.via.length-1]}function zf(e){let t=new Set;return e.filter(r=>{if(!r.label.includes(dg))return!0;let n=Ap(r);return t.has(n)?!1:(t.add(n),!0)})}function Ep(e){return{text:e.text,...e.regex?{regex:!0}:{},...e.matchCase?{matchCase:!0}:{},...e.wholeWord?{wholeWord:!0}:{},...e.matchDiacritics?{matchDiacritics:!0}:{},...e.ignoreWhitespace?{ignoreWhitespace:!0}:{}}}var Zf=/\s/,ZG=/\s/g,Jf=(e,t)=>{let r=e.charCodeAt(t);return r>=56320&&r<=57343};function _p(e,t,r=48){let n=t.start+t.count,i=Math.max(0,t.start-r);if(i>0){for(let s=i;s=n;s--)if(Zf.test(e[s])){a=s;break}Jf(e,a)&&a--}let o=(s,A)=>e.slice(s,A).replace(ZG," ");return{before:o(i,t.start),match:o(t.start,n),after:o(n,a)}}var JG=new Set([f.InvalidArg,f.NotFound,f.Forbidden,f.ProtectedDocument,f.MalformedPdf,f.PayloadTooLarge,f.ObjectNumberUnavailable,f.LayerFull,f.ChangeConflict,f.UndoUnavailable]);function Ac(e){return JG.has(e)}function cc(e){let t=cp(e);return`${t.length.toString(36)}-${$G(t)}`}function cp(e){if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){let t=e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return JSON.stringify({$bytes:`${t.byteLength.toString(36)}-${eC(t)}`})}return Array.isArray(e)?`[${e.map(cp).join(",")}]`:e!==null&&typeof e=="object"?`{${Object.entries(e).filter(([,t])=>t!==void 0).sort(([t],[r])=>tr?1:0).map(([t,r])=>`${JSON.stringify(t)}:${cp(r)}`).join(",")}}`:JSON.stringify(e)??"null"}function $G(e){let t=3735928559,r=1103547991;for(let n=0;n>>16,2246822507),e^=Math.imul(t^t>>>13,3266489909),t=Math.imul(t^t>>>16,2246822507),t^=Math.imul(e^e>>>13,3266489909),(4294967296*(2097151&t)+(e>>>0)).toString(36)}function me(e,t){at(e,t);let{grants:r,protection:n}=e;if(r&&!$i(t,r.scope,r.permissionFlags,n))throw new je(t,"target")}function dc(e,t){let{grants:r,protection:n}=e;return n&&gn(n).has(t)?!1:!r||$i(t,r.scope,r.permissionFlags,n)}function at(e,t){let{protection:r}=e;if(r&&gn(r).has(t))throw new g(f.ProtectedDocument,ap(t,r))}function Ln(e){return e==="widget"?"doc.forms.modify":"doc.annotate.modify"}function Io(e){return[...new Set(e.map(t=>Ln(t.subtype)))]}function pg(e,t){let{identity:r,grants:n}=e;if(n&&!$i("doc.forms.modify",n.scope,n.permissionFlags))throw new je("doc.forms.modify","target");if(typeof t=="string")throw new g(f.InvalidArg,"a widget has no group of its own: a form field's group is the field's");let i={...r.userId!==void 0?{userId:r.userId}:{},...r.displayName!==void 0?{displayName:r.displayName}:{}};return i.userId||i.displayName?i:void 0}function So(e,t,r){if(t==="widget")return pg(e,r);let{identity:n,grants:i}=e;if(r===null&&n.groupId!==void 0)throw new g(f.InvalidArg,"your annotations have a group: leave groupId out for your own, or name another",{details:{field:"groupId"}});let a=r===void 0?n.groupId:r??void 0;if(i){if(a!==void 0&&!Do("annotations",a,n.groupId,i.scope))throw new je(`annotations:set-group:group=${a}`,"target");if(!ko("create",ho({userId:n.userId,groupId:a}),i.scope,n,i.permissionFlags))throw new je("annotations:create","target")}let o={...n.userId!==void 0?{userId:n.userId}:{},...a!==void 0?{groupId:a}:{},...n.displayName!==void 0?{displayName:n.displayName}:{}};return o.userId||o.groupId||o.displayName?o:void 0}function uc(e,t,r){if(t.subtype==="widget")return pg(e,r);let{identity:n,grants:i}=e,a=ho(t);if(i&&!ko("update",a,i.scope,n,i.permissionFlags))throw new je("annotations:update","target");if(r===null&&a.groupId!==void 0)throw new g(f.InvalidArg,"an annotation's group can't be removed");let o=typeof r=="string"&&r!==a.groupId;if(o&&i&&!Do("annotations",r,n.groupId,i.scope))throw new je(`annotations:set-group:group=${r}`,"target");let s={...n.userId!==void 0?{userId:n.userId}:{},...n.displayName!==void 0?{displayName:n.displayName}:{},...o?{groupId:r}:{}};return s.userId||s.groupId||s.displayName?s:void 0}function pc(e,t){let{identity:r,grants:n}=e;if(!n)return;let i=$i("doc.forms.modify",n.scope,n.permissionFlags),a=t.filter(o=>o.subtype==="widget"?!i:!ko("delete",ho(o),n.scope,r,n.permissionFlags));if(a.length>0)throw new je("annotations:delete","target",void 0,a.map(o=>o.ref))}function Nn(e,t,r){if(at(e,ec(r)),!pr(e,t,r))throw new je(t===null?ec(r):`fields:${r}:group=${t}`,"target")}function pr(e,t,r){let{grants:n,protection:i}=e;return i&&gn(i).has(ec(r))?!1:!n||op(r,t,n.scope,n.permissionFlags,i)}function yp(e,t){let{grants:r,protection:n}=e;return n&&gn(n).has(ec(t))?!1:!r||sp(t,r.scope,r.permissionFlags,n)}function lc(e,t){let{identity:r,grants:n}=e;if(n&&!Do("fields",t,r.groupId,n.scope))throw new je(`fields:set-group:group=${t}`,"target")}function ec(e){return e==="fill"?"doc.forms.fill":"doc.sign"}var Une=Array.from({length:128},(e,t)=>({print:(t&1)!==0,modifyContents:(t&2)!==0,copy:(t&4)!==0,modifyAnnotations:(t&8)!==0,fillForms:(t&16)!==0,copyForAccessibility:!1,assemble:(t&32)!==0,printHighQuality:(t&64)!==0}));var L={UNKNOWN:0,TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,RICHMEDIA:26,XFAWIDGET:27,REDACT:28},lg=Object.freeze({[L.TEXT]:"text",[L.LINK]:"link",[L.FREETEXT]:"free-text",[L.LINE]:"line",[L.SQUARE]:"square",[L.CIRCLE]:"circle",[L.POLYGON]:"polygon",[L.POLYLINE]:"polyline",[L.HIGHLIGHT]:"highlight",[L.UNDERLINE]:"underline",[L.SQUIGGLY]:"squiggly",[L.STRIKEOUT]:"strikeout",[L.STAMP]:"stamp",[L.CARET]:"caret",[L.INK]:"ink",[L.POPUP]:"popup",[L.FILEATTACHMENT]:"file-attachment",[L.WIDGET]:"widget",[L.REDACT]:"redact"}),mc=Object.freeze({text:L.TEXT,link:L.LINK,"free-text":L.FREETEXT,line:L.LINE,square:L.SQUARE,circle:L.CIRCLE,polygon:L.POLYGON,polyline:L.POLYLINE,highlight:L.HIGHLIGHT,underline:L.UNDERLINE,squiggly:L.SQUIGGLY,strikeout:L.STRIKEOUT,stamp:L.STAMP,caret:L.CARET,ink:L.INK,popup:L.POPUP,"file-attachment":L.FILEATTACHMENT,redact:L.REDACT,widget:L.WIDGET,unsupported:L.UNKNOWN});function qr(e){return lg[e]??"unsupported"}var xo=["color","interiorColor","strokeWidth","borderStyle","dashArray","fontFamily","fontSize","fontColor","textAlign","caption","checkStyle"];var Gp={own:0,builtIn:1},wg=e=>e==="truetype"||e==="opentype",Cp=e=>e==="installable"||e==="editable";function ra(e){return e.embedded==="whole"&&wg(e.format)&&e.mapsUnicode&&Cp(e.permission)}function bg(e){return e.displaySha256!==null&&(e.permission===null||Cp(e.permission))}function Ip(e){let t=[];return e.embedded==="none"?(t.push(e.format==="type3"?"unsupported-format":"not-embedded"),t):(e.embedded==="subset"&&t.push("subset"),wg(e.format)?e.mapsUnicode||t.push("no-unicode-map"):t.push("unsupported-format"),e.permission!==null&&!Cp(e.permission)&&t.push("preview-and-print"),t)}function nC(e){let t=bg(e);return{displaySha256:t?e.displaySha256:null,sourceSha256:e.embedded==="none"?null:e.sha256,embedded:e.embedded,format:e.embedded==="none"?null:e.format,embeddingPermission:e.permission==="restricted"||e.permission==="bitmap-only"?"preview-and-print":e.permission,canDownload:t}}var mg=e=>ra(e)?0:bg(e)?1:e.embedded!=="none"?2:3,rC={100:"Thin",200:"ExtraLight",300:"Light",400:"",500:"Medium",600:"SemiBold",700:"Bold",800:"ExtraBold",900:"Black"};function wc(e,t){if(t)return t;let r=`${rC[e.weight]??String(e.weight)}${e.italic?"Italic":""}`;return r?`${e.familyName},${r}`:e.familyName}function ia(e){let t=new Map;for(let r of e)for(let n of r.programs){if(!n.postScriptName&&r.familyName==="")continue;let i=wc(r,n.postScriptName),a=t.get(i)??[];a.some(({program:o})=>n.objectNumber>0?o.objectNumber===n.objectNumber&&o.displaySha256===n.displaySha256:o.objectNumber===0&&o.embedded===n.embedded&&o.format===n.format&&o.sha256===n.sha256)||a.push({face:r,program:n}),t.set(i,a)}return[...t].map(([r,n])=>{let i=[...n].sort((A,d)=>mg(A.program)-mg(d.program)),{familyName:a,weight:o,italic:s}=i[0].face;return{name:r,face:{familyName:a,weight:o,italic:s},programs:i.map(({program:A})=>A)}})}function fg(e){return Ld(e.face.familyName)!==void 0&&e.programs.every(t=>t.embedded==="none")}function iC(e){let t=e.programs[0];return{name:e.name,source:"document",builtIn:!1,familyName:e.face.familyName,weight:e.face.weight,italic:e.face.italic,postScriptName:t?.postScriptName??null,canChoose:t?ra(t):!1,restrictions:t?Ip(t):["not-embedded"],programs:e.programs.map(nC)}}function aC(e){let{identity:t}=e,r=[];return t.editingAuthorized||r.push("preview-and-print"),e.served||r.push("not-served"),{name:e.key,source:"engine",builtIn:e.builtIn,familyName:t.familyName,weight:t.weight,italic:t.italic,postScriptName:e.postScriptName,canChoose:t.editingAuthorized,restrictions:r,programs:[{displaySha256:e.sha256,sourceSha256:e.sha256,embedded:"none",format:e.format,embeddingPermission:t.embeddingPermission,canDownload:e.served}]}}function oC(e,t){let r=mn[e];return{name:e,source:"standard",builtIn:!0,familyName:r.family,weight:r.weight,italic:r.italic,postScriptName:null,canChoose:!0,restrictions:[],programs:[{displaySha256:t.standardDisplayHash(e),sourceSha256:null,embedded:"none",format:null,embeddingPermission:null,canDownload:!0}]}}function Sp(e,t){let r=i=>i.programs.some(a=>a.sha256===t.lastResortDisplayHash),n=ia(e.faces).filter(i=>!fg(i)&&!r(i)).map(iC);return{fonts:[...Cr.map(i=>oC(i,t)),...e.engineFonts.map(aC),...n],fallbacks:[...e.fallbacks],lastResort:{displaySha256:t.lastResortDisplayHash,sourceSha256:null,embedded:"none",format:"truetype",embeddingPermission:"installable",canDownload:!0}}}function bc(e,t){let r=ia(e.faces).find(i=>i.name===t&&!fg(i));if(!r)return;let n=r.programs[0];return n?{objectNumber:n.objectNumber,choosable:ra(n)&&n.objectNumber>0,restrictions:Ip(n)}:{objectNumber:0,choosable:!1,restrictions:["not-embedded"]}}var gg={elsewhere:0,near:1,visible:2},Mae=2**40;function zr(e,t){let r=gg[e.place]-gg[t.place];return r!==0?r>0:e.pixels>t.pixels}var Zr=Object.freeze([]);function N(e,t=Zr){return{payload:e,transfer:t}}var W=0n;var cC={EPDF_CheckPasswordPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_DigestBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_FreeBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDF_GetDecodedImageBytes:{params:[],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetMetaKeyCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetMetaKeyName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetMetaTrapped:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetPageBoxByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_GetPageRotateByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_GetPageTabOrderByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_GetPageUserUnitByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_HasMetaText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_InitThread:{params:[],result:null},EPDF_IsEncrypted:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_IsOwnerUnlocked:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_LoadBaseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_LoadMemBaseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_LoadMemBaseDocument64:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_LoadPageNormalized:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_PNG_EncodeRGBA:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_ReleaseBaseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDF_RemoveEncryption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_RenderAnnotBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_RenderAnnotBitmapUnrotated:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_RenderPage_Continue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_RenderPageBitmapWithMatrix_Start:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDF_SaveAsCopyEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_SaveDocumentToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_SaveDocumentToOwnedBufferEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_SaveDocumentToOwnedBufferWithVersion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDF_SetBaseDocumentSha256:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:null},EPDF_SetDecodedImageBudget:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},EPDF_SetEncryption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_SetMetaText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_SetMetaTrapped:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_SetRuntimeOwnerPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDF_ShutdownThread:{params:[],result:null},EPDF_UnlockOwnerPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_CloseModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFAction_CreateGoTo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateGoToNamed:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateHide:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateJavaScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateLaunch:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateNamed:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateRemoteGoToByName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateRemoteGoToDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateResetForm:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateSubmitForm:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_CreateURI:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_GetNextAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNextCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_GetNodeFilePath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeHideFlag:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetNodeJavaScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeResetForm:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetNodeSubmitForm:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetNodeSubmitFormCharSet:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeSubmitFormURL:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeTargetCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeTargetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeTargetObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetNodeType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeURI:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetNodeURIIsMap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_GetRootNode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_GetWarningFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAction_IsComplete:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_LoadModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAction_NodeHasJavaScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAction_SetNext:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_AddMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_ClearBorderEffect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearEmbedMetadataKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearMKColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ClearRectangleDifferences:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_ExportAppearance:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_GenerateAppearance:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GenerateAppearanceWithBlend:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GenerateFormFieldAP:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_GetAPMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetAppearanceState:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetAppearanceStateCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetAppearanceStateName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetAppearanceTransform:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetAvailableAppearanceModes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetBlendMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetBooleanValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetBorderDashPattern:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetBorderDashPatternCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetBorderEffect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetBorderStyle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetCalloutLine:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetCalloutLineCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetDefaultAppearance:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetDefaultAppearanceFontFace:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetDefaultAppearanceFontPostScriptName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetDrawingRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetEmbedMetadataBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetEmbedMetadataJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetEmbedMetadataNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetEmbedMetadataRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetEmbedMetadataString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetFileAttachmentForWrite:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_GetIntent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetLineCaption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetLineEndings:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetLineLeader:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAnnot_GetMKColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetMKRotation:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetMKText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetMKTextPosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetOpacity:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetOverlayText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetOverlayTextRepeat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetRectangleDifferences:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetReplyType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetRichContent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetRichTextJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetRotate:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetShapeCaption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_GetStampDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetStructurePosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_GetTextAlignment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAnnot_HasAppearanceStream:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_HasEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_IsValid:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_RemoveAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_RemoveDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_RemoveKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_RemoveMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetAPMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetAppearanceFromPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetBooleanValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetBorderDashPattern:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetBorderEffect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetBorderStyle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetCalloutLine:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetDefaultAppearance:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetDefaultAppearanceDocumentFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetDefaultAppearanceRegisteredFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEmbedMetadataString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetEventAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetIntent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLine:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLineCaption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLineEndings:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLineLeader:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetLinkedAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetMKColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetMKRotation:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetMKText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetMKTextPosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetNoColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetNumberValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetOpacity:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetOverlayText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetOverlayTextRepeat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetReplyType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetRichTextJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetRichTextXHTML:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetRotate:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetShapeCaption:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetStampDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetStampOpacity:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetTextAlignment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_SetVertices:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAnnot_UpdateAppearanceToRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_ExportCanonicalToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAttachment_ExportRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFAttachment_ExtractFile:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_ExtractFileToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_GetDescription:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFAttachment_GetIntegerValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_ImportRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_SetDescription:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_SetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFAttachment_SetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFCatalog_GetLanguage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFCatalog_GetMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFCatalog_SetMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDest_CreateRemoteView:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateRemoteXYZ:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateView:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateViewByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateXYZ:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_CreateXYZByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDest_GetPageObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDest_GetViewNullParams:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_CanonicalDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ClearMissingCharacters:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFDoc_ClearPagePieceInfoEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ClearPagePieceInfoKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ClearPieceInfoEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ClearPieceInfoKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_CompareRevisions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_CountMissingCharacters:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_DeletePageByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ExportDictCanonicalToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ExportDictRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ExportDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ExportPagesFlattened:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetAdditionalActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetAttachmentIndexByKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetAttachmentKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetBaseBytesSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}}},EPDFDoc_GetFontDisplayProgramCoverage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetFontDisplayProgramData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetFontEmbeddingPolicy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetFontProgramData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetFontsFingerprint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetImportFieldRoots:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetLastModified:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetLoadedBytesSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}}},EPDFDoc_GetMissingCharacter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetNamedJavaScriptActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetNamedPageAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetNamedPageCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetOpenActionDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetOpenActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetPageActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_GetPageLabelSectionAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPageLabelSectionCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPageLastModified:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPageObjectNumberByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetPagePieceInfoEntryAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoEntryCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoKeyAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoKeyCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoLastModified:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetPagePieceInfoString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoStringArrayAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoStringArrayCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPagePieceInfoValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetPieceInfoEntryAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoEntryCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoKeyAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoKeyCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoLastModified:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetPieceInfoString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoStringArrayAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoStringArrayCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetPieceInfoValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetRevision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetRevisionCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetStampDrawings:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_GetStructureObjectNumbers:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_GetTypographicFeatures:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_HasPagePieceInfoEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_HasPieceInfoEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ImportDictRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_ImportDrawing:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_ImportPages:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_LoadPageByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_LoadPageByObjectNumberNormalized:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_OpenBaseOverlay:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_OpenBaseOverlayFromPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_OpenRevision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_ReadLoadedBytes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_RemoveNamedPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_RemoveNamedPagesForPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFDoc_ResolveFonts:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDoc_SetFontEmbeddingPolicy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetNamedPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPageLabelSections:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPagePieceInfoStringArray:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPageRotationByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetPieceInfoStringArray:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_SetTypographicFeatures:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFDoc_StartLoadPageByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFDocument_ClearEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_AddFallbackFont:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_AuthorizeEditing:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_ClearFallbackFonts:{params:[],result:null},EPDFFont_ClearRegisteredFonts:{params:[],result:null},EPDFFont_GetCoverage:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetEmbeddingPermission:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetFallbackOrder:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetFamilyName:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetLastResortFont:{params:[],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetMetrics:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_GetPostScriptName:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetProgramData:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetProgramFormat:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_GetProgramHash:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_GetWeight:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_IsEditingAuthorized:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_IsInstanced:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_IsItalic:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFont_RegisterFont:{params:[{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_RegisterMemFont:{params:[{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_RegisterMemFont64:{params:[{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFont_SetLastResortFont:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFFontFaces_Count:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_CountPrograms:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetFamily:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramDisplayHash:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_GetProgramEmbedded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramEmbeddingPermission:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramFormat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramHash:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_GetProgramMetrics:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_GetProgramObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetProgramPostScriptName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_GetWeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontFaces_IsItalic:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontFaces_Load:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFFontFaces_ProgramMapsUnicode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontResolution_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFFontResolution_CountMissingCharacters:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetBaseFontName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetFallbacks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetFamily:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetMissingCharacter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetProgramDisplayHash:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontResolution_GetProgramObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetRegisteredFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetSource:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_GetWeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFFontResolution_IsDegraded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFFontResolution_IsItalic:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_AttachWidget:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_ClearFieldEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_ClearFieldEmbedMetadataKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_CloseModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFForm_CountCalculationOrder:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFieldDefaultValues:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFieldOptions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFields:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFieldValues:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CountFieldWidgets:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_CreateField:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_DeleteField:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_DetachWidget:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_ExportFDF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_ExportFieldRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFForm_ExportXFDF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetCalculationOrderFieldIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldActionModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFForm_GetFieldAlternateName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldDefaultValueAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldDefaultValueKind:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldEmbedMetadataBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_GetFieldEmbedMetadataJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldEmbedMetadataNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_GetFieldEmbedMetadataString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldFamily:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldIndexByObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldIndexForWidget:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldMappingName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldMaxLen:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldOptionLabel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldOptionValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldOrigin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldPartialName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldTopIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldValueAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldValueKind:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetExportValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetOnState:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetPageObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetFieldWidgetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_GetFormKind:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFForm_GetNeedAppearances:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_HasFieldEmbedMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_ImportFieldRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_IsFieldOptionSelected:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_IsFieldWidgetChecked:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_LoadModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFForm_RedrawFieldWidgets:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_Repair:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetCalculationOrder:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldAlternateName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldAppearanceText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldDefaultValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldDisplay:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEmbedMetadataBoolean:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEmbedMetadataJSON:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEmbedMetadataNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEmbedMetadataString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldEventAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldMappingName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldMaxLen:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldOptions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldSelectedIndices:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFForm_SetFieldWidgetsChecked:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFImageObj_SetJpeg:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFImageObj_SetPng:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_AbortTransaction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_BeginTransaction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_CommitTransaction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_GetBaseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_GetBaseSha256:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_GetBirthName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_GetBirthObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFLayer_GetLastObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFLayer_GetPromotedObjectCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFLayer_IsInTransaction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_IsObjectPromoted:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_IsPagePromoted:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_OpenLayer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_OpenLayerArtifact:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_OpenLayerArtifactFromPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_RaiseLastObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveDelta:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveDeltaEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveDeltaToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_SaveDeltaToOwnedBufferEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_SaveLayerArtifact:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveLayerArtifactEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFLayer_SaveLayerArtifactToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFLayer_SaveLayerArtifactToOwnedBufferEx:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFMeasure_AddFormat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFMeasure_CountFormats:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFMeasure_GetCYX:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_GetFormat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFMeasure_GetOrigin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_GetRatio:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFMeasure_GetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFMeasure_RemoveFormats:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_SetCYX:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_SetOrigin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFMeasure_SetRatio:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNamedDest_Remove:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNamedDest_SetDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetConversion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetFixedDenominator:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetFraction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetLabelPosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetPrecision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_GetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFNumberFormat_GetUnit:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFNumberFormat_SetConversion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetFixedDenominator:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetFraction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetLabelPosition:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetPrecision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFNumberFormat_SetUnit:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFObjectDiff_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFObjectDiff_GetCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFObjectDiff_GetEntry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFObjectDiff_GetReadStatus:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFObjectDiff_GetReferrer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFObjectDiff_GetReferrerCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFObjectDiff_GetRevisionHealth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFObjectDiff_GetValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFOutline_CreateItem:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFOutline_DeleteItem:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_ExportItemRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFOutline_GetItem:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFOutline_GetObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFOutline_ImportItemRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_MoveItem:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetOpen:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetStyle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFOutline_SetTitle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_AddViewport:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_AddViewportRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ApplyRedactions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_ContinueLoad:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_CountViewports:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_CountViewportsRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_CreateAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_CreateAnnotRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ExportAnnotationsAsDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ExportAnnotsRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ExportRawToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_FindViewport:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_Flatten:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_FlattenAnnotations:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetAnnotByName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_GetAnnotByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_GetAnnotCountRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetAnnotIndexByNameRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetAnnotIndexByObjectNumberRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetAnnotRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_GetObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_GetParsedSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_GetViewport:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_GetViewportRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFPage_ImportAnnotsRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_ImportRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_InsertBlankRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_IsContentCurrent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_IsValid:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_MoveAnnots:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_MoveAnnotsRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_PromoteInlineAnnotsRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFPage_RemoveAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_RemoveAnnotByName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_RemoveAnnotByObjectNumber:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_RemoveAnnotRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_RemoveViewport:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_RemoveViewportRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFPage_ResetRenderCache:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_CloseModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFSig_Count:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_DigestByteRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_DigestFileRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_GetByteRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_GetContents:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetCoverage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetDocMDPPermission:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldMDPAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldNameAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldNameCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetFieldObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetIndexByFieldObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetKind:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetLockAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetLockPermission:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetRevisionIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueFilter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueListAt:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueListCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueMDP:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValuePresentFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueRequiredFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetSeedValueVersion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetString:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetValueObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetWidgetObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_GetWidgetPageObjNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_HasSeedValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_IsCatalogCertification:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_IsRevisionChainValid:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_IsSigned:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_LoadModel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFSig_Prepare:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFSig_SaveCandidate:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_SaveCandidateToOwnedBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFSig_Seal:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_SealSpan:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_SetFieldLock:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFSig_WriteContents:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"bigint",wasm:{kind:"i64",cwrap:"bigint"},native:{kind:"i64",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFText_GetCharGeometry:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFText_GetCharToTextMap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFText_GetTextFull:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFText_RedactInQuads:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFText_RedactInRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFViewport_AddMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFViewport_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},EPDFViewport_GetBBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFViewport_GetMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},EPDFViewport_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},EPDFViewport_RemoveMeasure:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFViewport_SetBBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},EPDFViewport_SetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_CanRedo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_CanUndo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_DoDocumentAAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FORM_DoDocumentJSAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_DoDocumentOpenAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_DoPageAAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FORM_ForceToKillFocus:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_GetFocusedAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_GetFocusedText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FORM_GetSelectedText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FORM_GetTextDirection:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FORM_IsIndexSelected:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnAfterLoadPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_OnBeforeClosePage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_OnChar:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnFocus:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnKeyDown:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnKeyUp:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnLButtonDoubleClick:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnLButtonDown:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnLButtonUp:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnMouseMove:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnMouseWheel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnRButtonDown:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_OnRButtonUp:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_Redo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_ReplaceAndKeepSelection:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_ReplaceSelection:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FORM_SelectAllText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_SetFocusedAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_SetIndexSelected:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_SetTextDirection:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FORM_Undo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_AddInstalledFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_CloseDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_ClosePage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_CloseXObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_CopyViewerPreferences:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_CountNamedDests:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_CreateClipPath:{params:[{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_CreateNewDocument:{params:[],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_DestroyClipPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_DestroyLibrary:{params:[],result:null},FPDF_DeviceToPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_DocumentHasValidCrossReferenceTable:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_FFLDraw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_FreeDefaultSystemFontInfo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_GetDefaultSystemFontInfo:{params:[],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetDefaultTTFMap:{params:[],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetDefaultTTFMapCount:{params:[],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetDefaultTTFMapEntry:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetDocPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetDocUserPermissions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetFileIdentifier:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetFileVersion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_GetFormType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetLastError:{params:[],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetMetaText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetNamedDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetNamedDestByName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetPageAAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetPageBoundingBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_GetPageCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetPageHeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}},FPDF_GetPageHeightF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}},FPDF_GetPageLabel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetPageSizeByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetPageSizeByIndexF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_GetPageWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}},FPDF_GetPageWidthF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}},FPDF_GetSecurityHandlerRevision:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetSignatureCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetSignatureObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_GetTrailerEnds:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetXFAPacketContent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_GetXFAPacketCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_GetXFAPacketName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_ImportNPagesToOne:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_ImportPages:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_ImportPagesByIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_InitLibrary:{params:[],result:null},FPDF_InitLibraryWithConfig:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_LoadCustomDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadDocument:{params:[{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadMemDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadMemDocument64:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_LoadXFA:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_MovePages:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_NewFormObjectFromXObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_NewXObjectFromPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_PageToDevice:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_RemoveFormFieldHighlight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_RenderPage_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_RenderPage_Continue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_RenderPageBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_RenderPageBitmap_Start:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_RenderPageBitmapWithColorScheme_Start:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_RenderPageBitmapWithMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_SaveAsCopy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_SaveWithVersion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_SetFormFieldHighlightAlpha:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_SetFormFieldHighlightColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDF_SetSandBoxPolicy:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:null},FPDF_SetSystemFontInfo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_StructElement_Attr_CountChildren:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_Attr_GetBlobValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetBooleanValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetChildAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_Attr_GetCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_Attr_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetNumberValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDF_StructElement_Attr_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_Attr_GetValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_CountChildren:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetActualText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetAltText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetAttributeAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_GetAttributeCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetChildAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_GetChildMarkedContentID:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetExpansion:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetID:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetLang:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetMarkedContentID:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetMarkedContentIdAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetMarkedContentIdCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetObjType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetParent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructElement_GetRawType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetStringAttribute:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetTitle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructElement_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructTree_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDF_StructTree_CountChildren:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_StructTree_GetChildAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_StructTree_GetForPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_VIEWERREF_GetDuplex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetNumCopies:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetPrintPageRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDF_VIEWERREF_GetPrintPageRangeCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetPrintPageRangeElement:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDF_VIEWERREF_GetPrintScaling:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAction_GetDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAction_GetFilePath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAction_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAction_GetURIPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_AddFileAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_AddInkStroke:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_AppendAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_AppendObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_CountAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetAP:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetBorder:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetFileAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFocusableSubtypes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetFocusableSubtypesCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFontColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetFontSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetFormAdditionalActionJavaScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormControlCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormControlIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldAlternateName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetFormFieldExportValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetFormFieldValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetInkListCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetInkListPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetLine:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetLink:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetLinkedAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetNumberValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAnnot_GetObjectCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetOptionCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetOptionLabel:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_GetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_GetVertices:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAnnot_HasAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_HasKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_IsChecked:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_IsObjectSupportedSubtype:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_IsOptionSelected:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_IsSupportedSubtype:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_RemoveInkList:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_RemoveObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetAP:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetAttachmentPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetBorder:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetFocusableSubtypes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetFontColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetFormFieldFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_SetURI:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAnnot_UpdateObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_GetAFRelationship:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetDescription:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetFile:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetSubtype:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_GetValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAttachment_HasKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_SetDescription:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_SetFile:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAttachment_SetStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFAvail_Create:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAvail_Destroy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFAvail_GetDocument:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFAvail_GetFirstPageNum:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAvail_IsDocAvail:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAvail_IsFormAvail:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAvail_IsLinearized:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFAvail_IsPageAvail:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBitmap_Create:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBitmap_CreateEx:{params:[{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBitmap_Destroy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFBitmap_FillRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFBitmap_GetBuffer:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBitmap_GetFormat:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBitmap_GetHeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBitmap_GetStride:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBitmap_GetWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBookmark_Find:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFBookmark_GetCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBookmark_GetDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetFirstChild:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetNextSibling:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFBookmark_GetStyle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFBookmark_GetTitle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFCatalog_GetLanguage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFCatalog_IsTagged:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFCatalog_SetLanguage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFClipPath_CountPaths:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFClipPath_CountPathSegments:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFClipPath_GetPathSegment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFDest_GetDestPageIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDest_GetLocationInPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFDest_GetView:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDoc_AddAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFDoc_CloseJavaScriptAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFDoc_DeleteAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFDOC_ExitFormFillEnvironment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFDoc_GetAttachment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFDoc_GetAttachmentCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDoc_GetJavaScriptAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFDoc_GetJavaScriptActionCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDoc_GetPageMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFDOC_InitFormFillEnvironment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFFont_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFFont_GetAscent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetBaseFontName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFont_GetDescent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetFamilyName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFont_GetFlags:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFont_GetFontData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetGlyphPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFFont_GetGlyphWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetIsEmbedded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFont_GetItalicAngle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFFont_GetWeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFormObj_CountObjects:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFFormObj_GetObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFFormObj_RemoveObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFGlyphPath_CountGlyphSegments:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFGlyphPath_GetGlyphPathSegment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFImageObj_GetBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFImageObj_GetIccProfileDataDecoded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_GetImageDataDecoded:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFImageObj_GetImageDataRaw:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFImageObj_GetImageFilter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFImageObj_GetImageFilterCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFImageObj_GetImageMetadata:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_GetImagePixelSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_GetRenderedBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFImageObj_LoadJpegFile:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_LoadJpegFileInline:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_SetBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFImageObj_SetMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFJavaScriptAction_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFJavaScriptAction_GetScript:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_CloseWebLinks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFLink_CountQuadPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_CountRects:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_CountWebLinks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_Enumerate:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetAction:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFLink_GetAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFLink_GetAnnotRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetDest:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFLink_GetLinkAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFLink_GetLinkZOrderAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_GetQuadPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetTextRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFLink_GetURL:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFLink_LoadWebLinks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_CloseAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFPage_CountObjects:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_CreateAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_Delete:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDFPage_Flatten:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_FormFieldZOrderAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GenerateContent:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_GetAnnotCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetAnnotIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetArtBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetBleedBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetCropBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetDecodedThumbnailData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetMediaBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_GetObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_GetRawThumbnailData:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetRotation:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_GetThumbnailAsBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_GetTrimBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_HasFormFieldAtPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPage_HasTransparency:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_InsertClipPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFPage_InsertObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_InsertObjectAtIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_New:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPage_RemoveAnnot:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_RemoveObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPage_SetArtBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_SetBleedBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_SetCropBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_SetMediaBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_SetRotation:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:null},FPDFPage_SetTrimBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:null},FPDFPage_TransformAnnots:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:null},FPDFPage_TransFormWithClip:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_AddExistingMark:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_AddMark:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_CountMarks:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_CreateNewPath:{params:[{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_CreateNewRect:{params:[{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_CreateTextObj:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_Destroy:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFPageObj_GetBounds:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetClipPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_GetDashArray:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetDashCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_GetDashPhase:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetFillColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetIsActive:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetLineCap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_GetLineJoin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_GetMark:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_GetMarkedContentID:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_GetMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetRenderedFillPattern:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_GetRenderedStrokePattern:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_GetRotatedBounds:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetStrokeColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetStrokeWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObj_HasTransparency:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_NewImageObj:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_NewTextObj:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPageObj_RemoveMark:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetBlendMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:null},FPDFPageObj_SetDashArray:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetDashPhase:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetFillColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetIsActive:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetLineCap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetLineJoin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetStrokeColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_SetStrokeWidth:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObj_Transform:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:null},FPDFPageObj_TransformClipPath:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:null},FPDFPageObj_TransformF:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_CountParams:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObjMark_GetName:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamBlobValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamFloatValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamIntValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamKey:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamStringValue:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_GetParamValueType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPageObjMark_RemoveParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_SetBlobParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_SetFloatParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_SetIntParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPageObjMark_SetStringParam:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_BezierTo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_Close:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_CountSegments:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFPath_GetBezierControlPoints:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_GetDrawMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_GetPathSegment:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFPath_LineTo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_MoveTo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPath_SetDrawMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPathSegment_GetClose:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPathSegment_GetPoint:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFPathSegment_GetType:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetByteRange:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetContents:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetDocMDPPermission:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetReason:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetSubFilter:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFSignatureObj_GetTime:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_ClosePage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFText_CountChars:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_CountRects:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_FindClose:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:null},FPDFText_FindNext:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_FindPrev:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_FindStart:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_GetBoundedText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetCharAngle:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}},FPDFText_GetCharBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetCharIndexAtPos:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}},{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetCharIndexFromTextIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetCharOrigin:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetFillColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetFontInfo:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetFontSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"f64",cwrap:"number"},native:{kind:"f64",cwrap:"number"}}},FPDFText_GetFontWeight:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetLooseCharBox:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetMatrix:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetRect:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetSchCount:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetSchResultIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetStrokeColor:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_GetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetTextIndexFromCharIndex:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_GetTextObject:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_GetUnicode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_HasUnicodeMapError:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_IsGenerated:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_IsHyphen:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFText_LoadCidType2Font:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_LoadFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"cstring",cwrap:"number"},native:{kind:"cstring",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}},{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_LoadPage:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_LoadStandardFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"string",wasm:{kind:"cstring",cwrap:"string"},native:{kind:"cstring",cwrap:"string"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFText_SetCharcodes:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_SetPositions:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFText_SetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFTextObj_GetFont:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFTextObj_GetFontSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFTextObj_GetRenderedBitmap:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}},FPDFTextObj_GetText:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"Ptr",wasm:{kind:"utf16ptr",cwrap:"number"},native:{kind:"utf16ptr",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFTextObj_GetTextRenderMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}}],result:{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}},FPDFTextObj_SetFontSize:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"f32",cwrap:"number"},native:{kind:"f32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}},FPDFTextObj_SetTextRenderMode:{params:[{ts:"Ptr",wasm:{kind:"pointer",cwrap:"number"},native:{kind:"pointer",cwrap:"bigint"}},{ts:"number",wasm:{kind:"i32",cwrap:"number"},native:{kind:"i32",cwrap:"number"}}],result:{ts:"boolean",wasm:{kind:"bool",cwrap:"boolean"},native:{kind:"bool",cwrap:"boolean"}}}};function aa(e){return BigInt(typeof e=="number"?e>>>0:e)}function Qt(e){return Number(e)}function Pg(e){switch(e){case"i8":return"i8";case"i16":return"i16";case"i32":return"i32";case"i64":return"i64";case"f32":return"float";case"f64":return"double";case"ptr":return"*"}}function dC(e){let t=e._malloc??e.wasmExports?.malloc,r=e._free??e.wasmExports?.free;if(!t||!r)throw new Error("WASM runtime does not expose malloc/free");return{alloc(n){return aa(t(n))},free(n){r(Qt(n))},readBytes(n,i){return e.HEAPU8.slice(Qt(n),Qt(n)+i)},writeBytes(n,i){e.HEAPU8.set(i,Qt(n))},readU8String(n){return e.UTF8ToString?.(Qt(n))??""},writeU8String(n){let i=new TextEncoder().encode(`${n}\0`),a=aa(t(i.length));return e.HEAPU8.set(i,Qt(a)),a},readU16String(n){return e.UTF16ToString?.(Qt(n))??""},writeU16String(n){let i=(n.length+1)*2,a=aa(t(i));return e.stringToUTF16?.(n,Qt(a),i),a},peek(n,i,a=0){let o=e.getValue?.(Qt(n)+a,Pg(i))??0;return i==="ptr"?aa(o):o},poke(n,i,a,o=0){let s=i==="ptr"&&typeof a=="bigint"?Number(a):a;e.setValue?.(Qt(n)+o,s,Pg(i))}}}function uC(e){return{register(t,r){if(!e.addFunction)throw new Error("WASM runtime does not expose addFunction");return BigInt(e.addFunction(r,t))},dispose(t){e.removeFunction?.(Qt(t))}}}function pC(e,t){return{fromMemory(r){let n=r instanceof Uint8Array?r:new Uint8Array(r);if(n.byteLength>4294967295)throw new RangeError("FPDF_FILEACCESS on wasm supports files up to 4 GiB");let i=e.alloc(12),a=null,o=!1;try{return a=t.register("iiiii",(s,A,d,p)=>{let m=Number(A),F=Number(p);return!Number.isSafeInteger(m)||!Number.isSafeInteger(F)||m<0||F<0||m+F>n.byteLength?0:(e.writeBytes(aa(d),n.subarray(m,m+F)),1)}),e.poke(i,"i32",n.byteLength,0),e.poke(i,"i32",Qt(a),4),e.poke(i,"i32",0,8),{ptr:i,close(){o||(o=!0,t.dispose(a),e.free(i))}}}catch(s){throw a&&t.dispose(a),e.free(i),s}},fromNodeFile(){throw new Error("fromNodeFile() is only available on the native Node runtime")},readRange(){throw new Error("readRange() is only available on the native Node runtime")},sizeOf(){throw new Error("sizeOf() is only available on the native Node runtime")}}}function lC(){return{toNodeFile(){throw new Error("toNodeFile() is only available on the native Node runtime")},writeRange(){throw new Error("writeRange() is only available on the native Node runtime")},appendBytes(){throw new Error("appendBytes() is only available on the native Node runtime")},removeFile(){throw new Error("removeFile() is only available on the native Node runtime")}}}function mC(e,t){return e&&e.ts==="Ptr"&&typeof t=="bigint"?Number(t):t}function wC(e,t){if(e)return e.ts==="Ptr"&&typeof t=="number"?aa(t):e.ts==="bigint"&&typeof t=="number"?BigInt(t):t}function bC(e,t){let r=[];return e.params.forEach((n,i)=>{if(n.wasm.kind==="i64"){let a=BigInt(t[i]??0);r.push(Number(a&0xffffffffn),Number(a>>32n&0xffffffffn))}else r.push(t[i])}),r}function fC(e){let t={},r=cC;for(let[n,i]of Object.entries(r)){let a=i.params.some(s=>s.wasm.kind==="i64"),o=s=>(...A)=>{let d=A.map((p,m)=>mC(i.params[m],p));return wC(i.result,s(...a?bC(i,d):d))};if(e.cwrap){let s=i.params.flatMap(A=>A.wasm.kind==="i64"?["number","number"]:[A.wasm.cwrap]);t[n]=o(e.cwrap(n,i.result?i.result.wasm.cwrap:null,s))}else typeof e[`_${n}`]=="function"&&(t[n]=o(e[`_${n}`].bind(e)))}return t}function gC(e){let t={...e.wasm??{}};e.wasmBinary!==void 0&&t.wasmBinary===void 0&&(t.wasmBinary=e.wasmBinary instanceof Uint8Array?e.wasmBinary:new Uint8Array(e.wasmBinary));let r=e.wasmUrl;return r!==void 0&&t.locateFile===void 0&&(t.locateFile=(n,i)=>n.endsWith(".wasm")?r:i+n),t.wasmBinary!==void 0&&t.locateFile===void 0&&(t.locateFile=(n,i)=>n.endsWith(".wasm")?n:i+n),t}async function FC(e={}){let t=await Promise.resolve().then(()=>(vg(),Fg)),n=await(t.default??t)(gC(e)),i=dC(n),a=uC(n);return{kind:"wasm",platform:"wasm32",mem:i,cb:a,fileAccess:pC(i,a),fileWrite:lC(),fn:fC(n),async destroy(){n._free=n._free}}}async function hg(e={}){return FC(e)}var w={};Je(w,{BRAND:()=>YC,DIRTY:()=>Jr,EMPTY_PATH:()=>kC,INVALID:()=>ee,NEVER:()=>G0,OK:()=>et,ParseStatus:()=>Ue,Schema:()=>we,ZodAny:()=>wr,ZodArray:()=>Yn,ZodBigInt:()=>ei,ZodBoolean:()=>ti,ZodBranded:()=>Oo,ZodCatch:()=>pi,ZodDate:()=>ni,ZodDefault:()=>ui,ZodDiscriminatedUnion:()=>Fc,ZodEffects:()=>Mt,ZodEnum:()=>ci,ZodError:()=>wt,ZodFirstPartyTypeKind:()=>ne,ZodFunction:()=>Pc,ZodIntersection:()=>oi,ZodIssueCode:()=>M,ZodLazy:()=>si,ZodLiteral:()=>Ai,ZodMap:()=>ua,ZodNaN:()=>la,ZodNativeEnum:()=>di,ZodNever:()=>Jt,ZodNull:()=>ii,ZodNullable:()=>hn,ZodNumber:()=>$r,ZodObject:()=>bt,ZodOptional:()=>Rt,ZodParsedType:()=>U,ZodPipeline:()=>Qo,ZodPromise:()=>br,ZodReadonly:()=>li,ZodRecord:()=>vc,ZodSchema:()=>we,ZodSet:()=>pa,ZodString:()=>mr,ZodSymbol:()=>ca,ZodTransformer:()=>Mt,ZodTuple:()=>Pn,ZodType:()=>we,ZodUndefined:()=>ri,ZodUnion:()=>ai,ZodUnknown:()=>Vn,ZodVoid:()=>da,addIssueToContext:()=>X,any:()=>e0,array:()=>i0,bigint:()=>qC,boolean:()=>xg,coerce:()=>y0,custom:()=>Cg,date:()=>zC,datetimeRegex:()=>yg,defaultErrorMap:()=>jn,discriminatedUnion:()=>A0,effect:()=>v0,enum:()=>f0,function:()=>m0,getErrorMap:()=>oa,getParsedType:()=>vn,instanceof:()=>WC,intersection:()=>c0,isAborted:()=>fc,isAsync:()=>sa,isDirty:()=>gc,isValid:()=>lr,late:()=>XC,lazy:()=>w0,literal:()=>b0,makeIssue:()=>Ho,map:()=>p0,nan:()=>UC,nativeEnum:()=>g0,never:()=>n0,null:()=>$C,nullable:()=>h0,number:()=>Sg,object:()=>a0,objectUtil:()=>xp,oboolean:()=>_0,onumber:()=>E0,optional:()=>P0,ostring:()=>B0,pipeline:()=>D0,preprocess:()=>k0,promise:()=>F0,quotelessJson:()=>vC,record:()=>u0,set:()=>l0,setErrorMap:()=>hC,strictObject:()=>o0,string:()=>Ig,symbol:()=>ZC,transformer:()=>v0,tuple:()=>d0,undefined:()=>JC,union:()=>s0,unknown:()=>t0,util:()=>Pe,void:()=>r0});var Pe;(function(e){e.assertEqual=i=>{};function t(i){}e.assertIs=t;function r(i){throw new Error}e.assertNever=r,e.arrayToEnum=i=>{let a={};for(let o of i)a[o]=o;return a},e.getValidEnumValues=i=>{let a=e.objectKeys(i).filter(s=>typeof i[i[s]]!="number"),o={};for(let s of a)o[s]=i[s];return e.objectValues(o)},e.objectValues=i=>e.objectKeys(i).map(function(a){return i[a]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let a=[];for(let o in i)Object.prototype.hasOwnProperty.call(i,o)&&a.push(o);return a},e.find=(i,a)=>{for(let o of i)if(a(o))return o},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function n(i,a=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(a)}e.joinValues=n,e.jsonStringifyReplacer=(i,a)=>typeof a=="bigint"?a.toString():a})(Pe||(Pe={}));var xp;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(xp||(xp={}));var U=Pe.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),vn=e=>{switch(typeof e){case"undefined":return U.undefined;case"string":return U.string;case"number":return Number.isNaN(e)?U.nan:U.number;case"boolean":return U.boolean;case"function":return U.function;case"bigint":return U.bigint;case"symbol":return U.symbol;case"object":return Array.isArray(e)?U.array:e===null?U.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?U.promise:typeof Map<"u"&&e instanceof Map?U.map:typeof Set<"u"&&e instanceof Set?U.set:typeof Date<"u"&&e instanceof Date?U.date:U.object;default:return U.unknown}};var M=Pe.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),vC=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),wt=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){let r=t||function(a){return a.message},n={_errors:[]},i=a=>{for(let o of a.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)n._errors.push(r(o));else{let s=n,A=0;for(;Ar.message){let r={},n=[];for(let i of this.issues)if(i.path.length>0){let a=i.path[0];r[a]=r[a]||[],r[a].push(t(i))}else n.push(t(i));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};wt.create=e=>new wt(e);var PC=(e,t)=>{let r;switch(e.code){case M.invalid_type:e.received===U.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case M.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,Pe.jsonStringifyReplacer)}`;break;case M.unrecognized_keys:r=`Unrecognized key(s) in object: ${Pe.joinValues(e.keys,", ")}`;break;case M.invalid_union:r="Invalid input";break;case M.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${Pe.joinValues(e.options)}`;break;case M.invalid_enum_value:r=`Invalid enum value. Expected ${Pe.joinValues(e.options)}, received '${e.received}'`;break;case M.invalid_arguments:r="Invalid function arguments";break;case M.invalid_return_type:r="Invalid function return type";break;case M.invalid_date:r="Invalid date";break;case M.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:Pe.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case M.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case M.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case M.custom:r="Invalid input";break;case M.invalid_intersection_types:r="Intersection results could not be merged";break;case M.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case M.not_finite:r="Number must be finite";break;default:r=t.defaultError,Pe.assertNever(e)}return{message:r}},jn=PC;var kg=jn;function hC(e){kg=e}function oa(){return kg}var Ho=e=>{let{data:t,path:r,errorMaps:n,issueData:i}=e,a=[...r,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s="",A=n.filter(d=>!!d).slice().reverse();for(let d of A)s=d(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}},kC=[];function X(e,t){let r=oa(),n=Ho({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===jn?void 0:jn].filter(i=>!!i)});e.common.issues.push(n)}var Ue=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){let n=[];for(let i of r){if(i.status==="aborted")return ee;i.status==="dirty"&&t.dirty(),n.push(i.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,r){let n=[];for(let i of r){let a=await i.key,o=await i.value;n.push({key:a,value:o})}return e.mergeObjectSync(t,n)}static mergeObjectSync(t,r){let n={};for(let i of r){let{key:a,value:o}=i;if(a.status==="aborted"||o.status==="aborted")return ee;a.status==="dirty"&&t.dirty(),o.status==="dirty"&&t.dirty(),a.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(n[a.value]=o.value)}return{status:t.value,value:n}}},ee=Object.freeze({status:"aborted"}),Jr=e=>({status:"dirty",value:e}),et=e=>({status:"valid",value:e}),fc=e=>e.status==="aborted",gc=e=>e.status==="dirty",lr=e=>e.status==="valid",sa=e=>typeof Promise<"u"&&e instanceof Promise;var J;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(J||(J={}));var Tt=class{constructor(t,r,n,i){this._cachedPath=[],this.parent=t,this.data=r,this._path=n,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Dg=(e,t)=>{if(lr(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new wt(e.common.issues);return this._error=r,this._error}}};function de(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:n,description:i}=e;if(t&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(o,s)=>{let{message:A}=e;return o.code==="invalid_enum_value"?{message:A??s.defaultError}:typeof s.data>"u"?{message:A??n??s.defaultError}:o.code!=="invalid_type"?{message:s.defaultError}:{message:A??r??s.defaultError}},description:i}}var we=class{get description(){return this._def.description}_getType(t){return vn(t.data)}_getOrReturnCtx(t,r){return r||{common:t.parent.common,data:t.data,parsedType:vn(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Ue,ctx:{common:t.parent.common,data:t.data,parsedType:vn(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let r=this._parse(t);if(sa(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){let r=this._parse(t);return Promise.resolve(r)}parse(t,r){let n=this.safeParse(t,r);if(n.success)return n.data;throw n.error}safeParse(t,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:vn(t)},i=this._parseSync({data:t,path:n.path,parent:n});return Dg(n,i)}"~validate"(t){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:vn(t)};if(!this["~standard"].async)try{let n=this._parseSync({data:t,path:[],parent:r});return lr(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:r}).then(n=>lr(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(t,r){let n=await this.safeParseAsync(t,r);if(n.success)return n.data;throw n.error}async safeParseAsync(t,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:vn(t)},i=this._parse({data:t,path:n.path,parent:n}),a=await(sa(i)?i:Promise.resolve(i));return Dg(n,a)}refine(t,r){let n=i=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(i):r;return this._refinement((i,a)=>{let o=t(i),s=()=>a.addIssue({code:M.custom,...n(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(A=>A?!0:(s(),!1)):o?!0:(s(),!1)})}refinement(t,r){return this._refinement((n,i)=>t(n)?!0:(i.addIssue(typeof r=="function"?r(n,i):r),!1))}_refinement(t){return new Mt({schema:this,typeName:ne.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Rt.create(this,this._def)}nullable(){return hn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Yn.create(this)}promise(){return br.create(this,this._def)}or(t){return ai.create([this,t],this._def)}and(t){return oi.create(this,t,this._def)}transform(t){return new Mt({...de(this._def),schema:this,typeName:ne.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let r=typeof t=="function"?t:()=>t;return new ui({...de(this._def),innerType:this,defaultValue:r,typeName:ne.ZodDefault})}brand(){return new Oo({typeName:ne.ZodBranded,type:this,...de(this._def)})}catch(t){let r=typeof t=="function"?t:()=>t;return new pi({...de(this._def),innerType:this,catchValue:r,typeName:ne.ZodCatch})}describe(t){let r=this.constructor;return new r({...this._def,description:t})}pipe(t){return Qo.create(this,t)}readonly(){return li.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},DC=/^c[^\s-]{8,}$/i,BC=/^[0-9a-z]+$/,EC=/^[0-9A-HJKMNP-TV-Z]{26}$/i,_C=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,yC=/^[a-z0-9_-]{21}$/i,GC=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,CC=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,IC=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,SC="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Hp,xC=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,HC=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,OC=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,QC=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,RC=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,TC=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Eg="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",MC=new RegExp(`^${Eg}$`);function _g(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let r=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`}function LC(e){return new RegExp(`^${_g(e)}$`)}function yg(e){let t=`${Eg}T${_g(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function NC(e,t){return!!((t==="v4"||!t)&&xC.test(e)||(t==="v6"||!t)&&OC.test(e))}function jC(e,t){if(!GC.test(e))return!1;try{let[r]=e.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(n));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||t&&i.alg!==t)}catch{return!1}}function KC(e,t){return!!((t==="v4"||!t)&&HC.test(e)||(t==="v6"||!t)&&QC.test(e))}var mr=class e extends we{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==U.string){let a=this._getOrReturnCtx(t);return X(a,{code:M.invalid_type,expected:U.string,received:a.parsedType}),ee}let n=new Ue,i;for(let a of this._def.checks)if(a.kind==="min")t.data.lengtha.value&&(i=this._getOrReturnCtx(t,i),X(i,{code:M.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),n.dirty());else if(a.kind==="length"){let o=t.data.length>a.value,s=t.data.lengtht.test(i),{validation:r,code:M.invalid_string,...J.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...J.errToObj(t)})}url(t){return this._addCheck({kind:"url",...J.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...J.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...J.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...J.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...J.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...J.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...J.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...J.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...J.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...J.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...J.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...J.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...J.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...J.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...J.errToObj(t)})}regex(t,r){return this._addCheck({kind:"regex",regex:t,...J.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r?.position,...J.errToObj(r?.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...J.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...J.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...J.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...J.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...J.errToObj(r)})}nonempty(t){return this.min(1,J.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew mr({checks:[],typeName:ne.ZodString,coerce:e?.coerce??!1,...de(e)});function VC(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,i=r>n?r:n,a=Number.parseInt(e.toFixed(i).replace(".","")),o=Number.parseInt(t.toFixed(i).replace(".",""));return a%o/10**i}var $r=class e extends we{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==U.number){let a=this._getOrReturnCtx(t);return X(a,{code:M.invalid_type,expected:U.number,received:a.parsedType}),ee}let n,i=new Ue;for(let a of this._def.checks)a.kind==="int"?Pe.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),X(n,{code:M.invalid_type,expected:"integer",received:"float",message:a.message}),i.dirty()):a.kind==="min"?(a.inclusive?t.dataa.value:t.data>=a.value)&&(n=this._getOrReturnCtx(t,n),X(n,{code:M.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),i.dirty()):a.kind==="multipleOf"?VC(t.data,a.value)!==0&&(n=this._getOrReturnCtx(t,n),X(n,{code:M.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):a.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),X(n,{code:M.not_finite,message:a.message}),i.dirty()):Pe.assertNever(a);return{status:i.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,J.toString(r))}gt(t,r){return this.setLimit("min",t,!1,J.toString(r))}lte(t,r){return this.setLimit("max",t,!0,J.toString(r))}lt(t,r){return this.setLimit("max",t,!1,J.toString(r))}setLimit(t,r,n,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:J.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:J.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:J.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:J.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:J.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:J.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:J.toString(r)})}finite(t){return this._addCheck({kind:"finite",message:J.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:J.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:J.toString(t)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.valuet.kind==="int"||t.kind==="multipleOf"&&Pe.isInteger(t.value))}get isFinite(){let t=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(t===null||n.valuenew $r({checks:[],typeName:ne.ZodNumber,coerce:e?.coerce||!1,...de(e)});var ei=class e extends we{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==U.bigint)return this._getInvalidInput(t);let n,i=new Ue;for(let a of this._def.checks)a.kind==="min"?(a.inclusive?t.dataa.value:t.data>=a.value)&&(n=this._getOrReturnCtx(t,n),X(n,{code:M.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),i.dirty()):a.kind==="multipleOf"?t.data%a.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),X(n,{code:M.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):Pe.assertNever(a);return{status:i.value,value:t.data}}_getInvalidInput(t){let r=this._getOrReturnCtx(t);return X(r,{code:M.invalid_type,expected:U.bigint,received:r.parsedType}),ee}gte(t,r){return this.setLimit("min",t,!0,J.toString(r))}gt(t,r){return this.setLimit("min",t,!1,J.toString(r))}lte(t,r){return this.setLimit("max",t,!0,J.toString(r))}lt(t,r){return this.setLimit("max",t,!1,J.toString(r))}setLimit(t,r,n,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:J.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:J.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:J.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:J.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:J.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:J.toString(r)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew ei({checks:[],typeName:ne.ZodBigInt,coerce:e?.coerce??!1,...de(e)});var ti=class extends we{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==U.boolean){let n=this._getOrReturnCtx(t);return X(n,{code:M.invalid_type,expected:U.boolean,received:n.parsedType}),ee}return et(t.data)}};ti.create=e=>new ti({typeName:ne.ZodBoolean,coerce:e?.coerce||!1,...de(e)});var ni=class e extends we{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==U.date){let a=this._getOrReturnCtx(t);return X(a,{code:M.invalid_type,expected:U.date,received:a.parsedType}),ee}if(Number.isNaN(t.data.getTime())){let a=this._getOrReturnCtx(t);return X(a,{code:M.invalid_date}),ee}let n=new Ue,i;for(let a of this._def.checks)a.kind==="min"?t.data.getTime()a.value&&(i=this._getOrReturnCtx(t,i),X(i,{code:M.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),n.dirty()):Pe.assertNever(a);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:J.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:J.toString(r)})}get minDate(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.valuenew ni({checks:[],coerce:e?.coerce||!1,typeName:ne.ZodDate,...de(e)});var ca=class extends we{_parse(t){if(this._getType(t)!==U.symbol){let n=this._getOrReturnCtx(t);return X(n,{code:M.invalid_type,expected:U.symbol,received:n.parsedType}),ee}return et(t.data)}};ca.create=e=>new ca({typeName:ne.ZodSymbol,...de(e)});var ri=class extends we{_parse(t){if(this._getType(t)!==U.undefined){let n=this._getOrReturnCtx(t);return X(n,{code:M.invalid_type,expected:U.undefined,received:n.parsedType}),ee}return et(t.data)}};ri.create=e=>new ri({typeName:ne.ZodUndefined,...de(e)});var ii=class extends we{_parse(t){if(this._getType(t)!==U.null){let n=this._getOrReturnCtx(t);return X(n,{code:M.invalid_type,expected:U.null,received:n.parsedType}),ee}return et(t.data)}};ii.create=e=>new ii({typeName:ne.ZodNull,...de(e)});var wr=class extends we{constructor(){super(...arguments),this._any=!0}_parse(t){return et(t.data)}};wr.create=e=>new wr({typeName:ne.ZodAny,...de(e)});var Vn=class extends we{constructor(){super(...arguments),this._unknown=!0}_parse(t){return et(t.data)}};Vn.create=e=>new Vn({typeName:ne.ZodUnknown,...de(e)});var Jt=class extends we{_parse(t){let r=this._getOrReturnCtx(t);return X(r,{code:M.invalid_type,expected:U.never,received:r.parsedType}),ee}};Jt.create=e=>new Jt({typeName:ne.ZodNever,...de(e)});var da=class extends we{_parse(t){if(this._getType(t)!==U.undefined){let n=this._getOrReturnCtx(t);return X(n,{code:M.invalid_type,expected:U.void,received:n.parsedType}),ee}return et(t.data)}};da.create=e=>new da({typeName:ne.ZodVoid,...de(e)});var Yn=class e extends we{_parse(t){let{ctx:r,status:n}=this._processInputParams(t),i=this._def;if(r.parsedType!==U.array)return X(r,{code:M.invalid_type,expected:U.array,received:r.parsedType}),ee;if(i.exactLength!==null){let o=r.data.length>i.exactLength.value,s=r.data.lengthi.maxLength.value&&(X(r,{code:M.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((o,s)=>i.type._parseAsync(new Tt(r,o,r.path,s)))).then(o=>Ue.mergeArray(n,o));let a=[...r.data].map((o,s)=>i.type._parseSync(new Tt(r,o,r.path,s)));return Ue.mergeArray(n,a)}get element(){return this._def.type}min(t,r){return new e({...this._def,minLength:{value:t,message:J.toString(r)}})}max(t,r){return new e({...this._def,maxLength:{value:t,message:J.toString(r)}})}length(t,r){return new e({...this._def,exactLength:{value:t,message:J.toString(r)}})}nonempty(t){return this.min(1,t)}};Yn.create=(e,t)=>new Yn({type:e,minLength:null,maxLength:null,exactLength:null,typeName:ne.ZodArray,...de(t)});function Aa(e){if(e instanceof bt){let t={};for(let r in e.shape){let n=e.shape[r];t[r]=Rt.create(Aa(n))}return new bt({...e._def,shape:()=>t})}else return e instanceof Yn?new Yn({...e._def,type:Aa(e.element)}):e instanceof Rt?Rt.create(Aa(e.unwrap())):e instanceof hn?hn.create(Aa(e.unwrap())):e instanceof Pn?Pn.create(e.items.map(t=>Aa(t))):e}var bt=class e extends we{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),r=Pe.objectKeys(t);return this._cached={shape:t,keys:r},this._cached}_parse(t){if(this._getType(t)!==U.object){let d=this._getOrReturnCtx(t);return X(d,{code:M.invalid_type,expected:U.object,received:d.parsedType}),ee}let{status:n,ctx:i}=this._processInputParams(t),{shape:a,keys:o}=this._getCached(),s=[];if(!(this._def.catchall instanceof Jt&&this._def.unknownKeys==="strip"))for(let d in i.data)o.includes(d)||s.push(d);let A=[];for(let d of o){let p=a[d],m=i.data[d];A.push({key:{status:"valid",value:d},value:p._parse(new Tt(i,m,i.path,d)),alwaysSet:d in i.data})}if(this._def.catchall instanceof Jt){let d=this._def.unknownKeys;if(d==="passthrough")for(let p of s)A.push({key:{status:"valid",value:p},value:{status:"valid",value:i.data[p]}});else if(d==="strict")s.length>0&&(X(i,{code:M.unrecognized_keys,keys:s}),n.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let d=this._def.catchall;for(let p of s){let m=i.data[p];A.push({key:{status:"valid",value:p},value:d._parse(new Tt(i,m,i.path,p)),alwaysSet:p in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let d=[];for(let p of A){let m=await p.key,F=await p.value;d.push({key:m,value:F,alwaysSet:p.alwaysSet})}return d}).then(d=>Ue.mergeObjectSync(n,d)):Ue.mergeObjectSync(n,A)}get shape(){return this._def.shape()}strict(t){return J.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,n)=>{let i=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:J.errToObj(t).message??i}:{message:i}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:ne.ZodObject})}setKey(t,r){return this.augment({[t]:r})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let r={};for(let n of Pe.objectKeys(t))t[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}omit(t){let r={};for(let n of Pe.objectKeys(this.shape))t[n]||(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}deepPartial(){return Aa(this)}partial(t){let r={};for(let n of Pe.objectKeys(this.shape)){let i=this.shape[n];t&&!t[n]?r[n]=i:r[n]=i.optional()}return new e({...this._def,shape:()=>r})}required(t){let r={};for(let n of Pe.objectKeys(this.shape))if(t&&!t[n])r[n]=this.shape[n];else{let a=this.shape[n];for(;a instanceof Rt;)a=a._def.innerType;r[n]=a}return new e({...this._def,shape:()=>r})}keyof(){return Gg(Pe.objectKeys(this.shape))}};bt.create=(e,t)=>new bt({shape:()=>e,unknownKeys:"strip",catchall:Jt.create(),typeName:ne.ZodObject,...de(t)});bt.strictCreate=(e,t)=>new bt({shape:()=>e,unknownKeys:"strict",catchall:Jt.create(),typeName:ne.ZodObject,...de(t)});bt.lazycreate=(e,t)=>new bt({shape:e,unknownKeys:"strip",catchall:Jt.create(),typeName:ne.ZodObject,...de(t)});var ai=class extends we{_parse(t){let{ctx:r}=this._processInputParams(t),n=this._def.options;function i(a){for(let s of a)if(s.result.status==="valid")return s.result;for(let s of a)if(s.result.status==="dirty")return r.common.issues.push(...s.ctx.common.issues),s.result;let o=a.map(s=>new wt(s.ctx.common.issues));return X(r,{code:M.invalid_union,unionErrors:o}),ee}if(r.common.async)return Promise.all(n.map(async a=>{let o={...r,common:{...r.common,issues:[]},parent:null};return{result:await a._parseAsync({data:r.data,path:r.path,parent:o}),ctx:o}})).then(i);{let a,o=[];for(let A of n){let d={...r,common:{...r.common,issues:[]},parent:null},p=A._parseSync({data:r.data,path:r.path,parent:d});if(p.status==="valid")return p;p.status==="dirty"&&!a&&(a={result:p,ctx:d}),d.common.issues.length&&o.push(d.common.issues)}if(a)return r.common.issues.push(...a.ctx.common.issues),a.result;let s=o.map(A=>new wt(A));return X(r,{code:M.invalid_union,unionErrors:s}),ee}}get options(){return this._def.options}};ai.create=(e,t)=>new ai({options:e,typeName:ne.ZodUnion,...de(t)});var Kn=e=>e instanceof si?Kn(e.schema):e instanceof Mt?Kn(e.innerType()):e instanceof Ai?[e.value]:e instanceof ci?e.options:e instanceof di?Pe.objectValues(e.enum):e instanceof ui?Kn(e._def.innerType):e instanceof ri?[void 0]:e instanceof ii?[null]:e instanceof Rt?[void 0,...Kn(e.unwrap())]:e instanceof hn?[null,...Kn(e.unwrap())]:e instanceof Oo||e instanceof li?Kn(e.unwrap()):e instanceof pi?Kn(e._def.innerType):[],Fc=class e extends we{_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==U.object)return X(r,{code:M.invalid_type,expected:U.object,received:r.parsedType}),ee;let n=this.discriminator,i=r.data[n],a=this.optionsMap.get(i);return a?r.common.async?a._parseAsync({data:r.data,path:r.path,parent:r}):a._parseSync({data:r.data,path:r.path,parent:r}):(X(r,{code:M.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),ee)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,r,n){let i=new Map;for(let a of r){let o=Kn(a.shape[t]);if(!o.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let s of o){if(i.has(s))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(s)}`);i.set(s,a)}}return new e({typeName:ne.ZodDiscriminatedUnion,discriminator:t,options:r,optionsMap:i,...de(n)})}};function Op(e,t){let r=vn(e),n=vn(t);if(e===t)return{valid:!0,data:e};if(r===U.object&&n===U.object){let i=Pe.objectKeys(t),a=Pe.objectKeys(e).filter(s=>i.indexOf(s)!==-1),o={...e,...t};for(let s of a){let A=Op(e[s],t[s]);if(!A.valid)return{valid:!1};o[s]=A.data}return{valid:!0,data:o}}else if(r===U.array&&n===U.array){if(e.length!==t.length)return{valid:!1};let i=[];for(let a=0;a{if(fc(a)||fc(o))return ee;let s=Op(a.value,o.value);return s.valid?((gc(a)||gc(o))&&r.dirty(),{status:r.value,value:s.data}):(X(n,{code:M.invalid_intersection_types}),ee)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([a,o])=>i(a,o)):i(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};oi.create=(e,t,r)=>new oi({left:e,right:t,typeName:ne.ZodIntersection,...de(r)});var Pn=class e extends we{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==U.array)return X(n,{code:M.invalid_type,expected:U.array,received:n.parsedType}),ee;if(n.data.lengththis._def.items.length&&(X(n,{code:M.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let a=[...n.data].map((o,s)=>{let A=this._def.items[s]||this._def.rest;return A?A._parse(new Tt(n,o,n.path,s)):null}).filter(o=>!!o);return n.common.async?Promise.all(a).then(o=>Ue.mergeArray(r,o)):Ue.mergeArray(r,a)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Pn.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Pn({items:e,typeName:ne.ZodTuple,rest:null,...de(t)})};var vc=class e extends we{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==U.object)return X(n,{code:M.invalid_type,expected:U.object,received:n.parsedType}),ee;let i=[],a=this._def.keyType,o=this._def.valueType;for(let s in n.data)i.push({key:a._parse(new Tt(n,s,n.path,s)),value:o._parse(new Tt(n,n.data[s],n.path,s)),alwaysSet:s in n.data});return n.common.async?Ue.mergeObjectAsync(r,i):Ue.mergeObjectSync(r,i)}get element(){return this._def.valueType}static create(t,r,n){return r instanceof we?new e({keyType:t,valueType:r,typeName:ne.ZodRecord,...de(n)}):new e({keyType:mr.create(),valueType:t,typeName:ne.ZodRecord,...de(r)})}},ua=class extends we{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==U.map)return X(n,{code:M.invalid_type,expected:U.map,received:n.parsedType}),ee;let i=this._def.keyType,a=this._def.valueType,o=[...n.data.entries()].map(([s,A],d)=>({key:i._parse(new Tt(n,s,n.path,[d,"key"])),value:a._parse(new Tt(n,A,n.path,[d,"value"]))}));if(n.common.async){let s=new Map;return Promise.resolve().then(async()=>{for(let A of o){let d=await A.key,p=await A.value;if(d.status==="aborted"||p.status==="aborted")return ee;(d.status==="dirty"||p.status==="dirty")&&r.dirty(),s.set(d.value,p.value)}return{status:r.value,value:s}})}else{let s=new Map;for(let A of o){let d=A.key,p=A.value;if(d.status==="aborted"||p.status==="aborted")return ee;(d.status==="dirty"||p.status==="dirty")&&r.dirty(),s.set(d.value,p.value)}return{status:r.value,value:s}}}};ua.create=(e,t,r)=>new ua({valueType:t,keyType:e,typeName:ne.ZodMap,...de(r)});var pa=class e extends we{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==U.set)return X(n,{code:M.invalid_type,expected:U.set,received:n.parsedType}),ee;let i=this._def;i.minSize!==null&&n.data.sizei.maxSize.value&&(X(n,{code:M.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),r.dirty());let a=this._def.valueType;function o(A){let d=new Set;for(let p of A){if(p.status==="aborted")return ee;p.status==="dirty"&&r.dirty(),d.add(p.value)}return{status:r.value,value:d}}let s=[...n.data.values()].map((A,d)=>a._parse(new Tt(n,A,n.path,d)));return n.common.async?Promise.all(s).then(A=>o(A)):o(s)}min(t,r){return new e({...this._def,minSize:{value:t,message:J.toString(r)}})}max(t,r){return new e({...this._def,maxSize:{value:t,message:J.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}};pa.create=(e,t)=>new pa({valueType:e,minSize:null,maxSize:null,typeName:ne.ZodSet,...de(t)});var Pc=class e extends we{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==U.function)return X(r,{code:M.invalid_type,expected:U.function,received:r.parsedType}),ee;function n(s,A){return Ho({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,oa(),jn].filter(d=>!!d),issueData:{code:M.invalid_arguments,argumentsError:A}})}function i(s,A){return Ho({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,oa(),jn].filter(d=>!!d),issueData:{code:M.invalid_return_type,returnTypeError:A}})}let a={errorMap:r.common.contextualErrorMap},o=r.data;if(this._def.returns instanceof br){let s=this;return et(async function(...A){let d=new wt([]),p=await s._def.args.parseAsync(A,a).catch(h=>{throw d.addIssue(n(A,h)),d}),m=await Reflect.apply(o,this,p);return await s._def.returns._def.type.parseAsync(m,a).catch(h=>{throw d.addIssue(i(m,h)),d})})}else{let s=this;return et(function(...A){let d=s._def.args.safeParse(A,a);if(!d.success)throw new wt([n(A,d.error)]);let p=Reflect.apply(o,this,d.data),m=s._def.returns.safeParse(p,a);if(!m.success)throw new wt([i(p,m.error)]);return m.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:Pn.create(t).rest(Vn.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,r,n){return new e({args:t||Pn.create([]).rest(Vn.create()),returns:r||Vn.create(),typeName:ne.ZodFunction,...de(n)})}},si=class extends we{get schema(){return this._def.getter()}_parse(t){let{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};si.create=(e,t)=>new si({getter:e,typeName:ne.ZodLazy,...de(t)});var Ai=class extends we{_parse(t){if(t.data!==this._def.value){let r=this._getOrReturnCtx(t);return X(r,{received:r.data,code:M.invalid_literal,expected:this._def.value}),ee}return{status:"valid",value:t.data}}get value(){return this._def.value}};Ai.create=(e,t)=>new Ai({value:e,typeName:ne.ZodLiteral,...de(t)});function Gg(e,t){return new ci({values:e,typeName:ne.ZodEnum,...de(t)})}var ci=class e extends we{_parse(t){if(typeof t.data!="string"){let r=this._getOrReturnCtx(t),n=this._def.values;return X(r,{expected:Pe.joinValues(n),received:r.parsedType,code:M.invalid_type}),ee}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let r=this._getOrReturnCtx(t),n=this._def.values;return X(r,{received:r.data,code:M.invalid_enum_value,options:n}),ee}return et(t.data)}get options(){return this._def.values}get enum(){let t={};for(let r of this._def.values)t[r]=r;return t}get Values(){let t={};for(let r of this._def.values)t[r]=r;return t}get Enum(){let t={};for(let r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return e.create(t,{...this._def,...r})}exclude(t,r=this._def){return e.create(this.options.filter(n=>!t.includes(n)),{...this._def,...r})}};ci.create=Gg;var di=class extends we{_parse(t){let r=Pe.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==U.string&&n.parsedType!==U.number){let i=Pe.objectValues(r);return X(n,{expected:Pe.joinValues(i),received:n.parsedType,code:M.invalid_type}),ee}if(this._cache||(this._cache=new Set(Pe.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let i=Pe.objectValues(r);return X(n,{received:n.data,code:M.invalid_enum_value,options:i}),ee}return et(t.data)}get enum(){return this._def.values}};di.create=(e,t)=>new di({values:e,typeName:ne.ZodNativeEnum,...de(t)});var br=class extends we{unwrap(){return this._def.type}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==U.promise&&r.common.async===!1)return X(r,{code:M.invalid_type,expected:U.promise,received:r.parsedType}),ee;let n=r.parsedType===U.promise?r.data:Promise.resolve(r.data);return et(n.then(i=>this._def.type.parseAsync(i,{path:r.path,errorMap:r.common.contextualErrorMap})))}};br.create=(e,t)=>new br({type:e,typeName:ne.ZodPromise,...de(t)});var Mt=class extends we{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ne.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:r,ctx:n}=this._processInputParams(t),i=this._def.effect||null,a={addIssue:o=>{X(n,o),o.fatal?r.abort():r.dirty()},get path(){return n.path}};if(a.addIssue=a.addIssue.bind(a),i.type==="preprocess"){let o=i.transform(n.data,a);if(n.common.async)return Promise.resolve(o).then(async s=>{if(r.value==="aborted")return ee;let A=await this._def.schema._parseAsync({data:s,path:n.path,parent:n});return A.status==="aborted"?ee:A.status==="dirty"?Jr(A.value):r.value==="dirty"?Jr(A.value):A});{if(r.value==="aborted")return ee;let s=this._def.schema._parseSync({data:o,path:n.path,parent:n});return s.status==="aborted"?ee:s.status==="dirty"?Jr(s.value):r.value==="dirty"?Jr(s.value):s}}if(i.type==="refinement"){let o=s=>{let A=i.refinement(s,a);if(n.common.async)return Promise.resolve(A);if(A instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?ee:(s.status==="dirty"&&r.dirty(),o(s.value),{status:r.value,value:s.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>s.status==="aborted"?ee:(s.status==="dirty"&&r.dirty(),o(s.value).then(()=>({status:r.value,value:s.value}))))}if(i.type==="transform")if(n.common.async===!1){let o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!lr(o))return ee;let s=i.transform(o.value,a);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:s}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>lr(o)?Promise.resolve(i.transform(o.value,a)).then(s=>({status:r.value,value:s})):ee);Pe.assertNever(i)}};Mt.create=(e,t,r)=>new Mt({schema:e,typeName:ne.ZodEffects,effect:t,...de(r)});Mt.createWithPreprocess=(e,t,r)=>new Mt({schema:t,effect:{type:"preprocess",transform:e},typeName:ne.ZodEffects,...de(r)});var Rt=class extends we{_parse(t){return this._getType(t)===U.undefined?et(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Rt.create=(e,t)=>new Rt({innerType:e,typeName:ne.ZodOptional,...de(t)});var hn=class extends we{_parse(t){return this._getType(t)===U.null?et(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};hn.create=(e,t)=>new hn({innerType:e,typeName:ne.ZodNullable,...de(t)});var ui=class extends we{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return r.parsedType===U.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};ui.create=(e,t)=>new ui({innerType:e,typeName:ne.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...de(t)});var pi=class extends we{_parse(t){let{ctx:r}=this._processInputParams(t),n={...r,common:{...r.common,issues:[]}},i=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return sa(i)?i.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new wt(n.common.issues)},input:n.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new wt(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};pi.create=(e,t)=>new pi({innerType:e,typeName:ne.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...de(t)});var la=class extends we{_parse(t){if(this._getType(t)!==U.nan){let n=this._getOrReturnCtx(t);return X(n,{code:M.invalid_type,expected:U.nan,received:n.parsedType}),ee}return{status:"valid",value:t.data}}};la.create=e=>new la({typeName:ne.ZodNaN,...de(e)});var YC=Symbol("zod_brand"),Oo=class extends we{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},Qo=class e extends we{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.common.async)return(async()=>{let a=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?ee:a.status==="dirty"?(r.dirty(),Jr(a.value)):this._def.out._parseAsync({data:a.value,path:n.path,parent:n})})();{let i=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?ee:i.status==="dirty"?(r.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:n.path,parent:n})}}static create(t,r){return new e({in:t,out:r,typeName:ne.ZodPipeline})}},li=class extends we{_parse(t){let r=this._def.innerType._parse(t),n=i=>(lr(i)&&(i.value=Object.freeze(i.value)),i);return sa(r)?r.then(i=>n(i)):n(r)}unwrap(){return this._def.innerType}};li.create=(e,t)=>new li({innerType:e,typeName:ne.ZodReadonly,...de(t)});function Bg(e,t){let r=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof r=="string"?{message:r}:r}function Cg(e,t={},r){return e?wr.create().superRefine((n,i)=>{let a=e(n);if(a instanceof Promise)return a.then(o=>{if(!o){let s=Bg(t,n),A=s.fatal??r??!0;i.addIssue({code:"custom",...s,fatal:A})}});if(!a){let o=Bg(t,n),s=o.fatal??r??!0;i.addIssue({code:"custom",...o,fatal:s})}}):wr.create()}var XC={object:bt.lazycreate},ne;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(ne||(ne={}));var WC=(e,t={message:`Input not instance of ${e.name}`})=>Cg(r=>r instanceof e,t),Ig=mr.create,Sg=$r.create,UC=la.create,qC=ei.create,xg=ti.create,zC=ni.create,ZC=ca.create,JC=ri.create,$C=ii.create,e0=wr.create,t0=Vn.create,n0=Jt.create,r0=da.create,i0=Yn.create,a0=bt.create,o0=bt.strictCreate,s0=ai.create,A0=Fc.create,c0=oi.create,d0=Pn.create,u0=vc.create,p0=ua.create,l0=pa.create,m0=Pc.create,w0=si.create,b0=Ai.create,f0=ci.create,g0=di.create,F0=br.create,v0=Mt.create,P0=Rt.create,h0=hn.create,k0=Mt.createWithPreprocess,D0=Qo.create,B0=()=>Ig().optional(),E0=()=>Sg().optional(),_0=()=>xg().optional(),y0={string:(e=>mr.create({...e,coerce:!0})),number:(e=>$r.create({...e,coerce:!0})),boolean:(e=>ti.create({...e,coerce:!0})),bigint:(e=>ei.create({...e,coerce:!0})),date:(e=>ni.create({...e,coerce:!0}))};var G0=ee;var C0=Symbol.for("@embedpdf/engine-core/reading");function Tp(e,t){e._def[C0]=t}function be(e){return Tp(e,{closed:!0}),e}function I0(e,t){let r=new Set(e.options),n=w.preprocess(i=>typeof i=="string"&&!r.has(i)?t:i,e);return Tp(n,{unknownAs:t}),n}function va(e,t,r=n=>n){let{discriminator:n,optionsMap:i}=e._def,a=w.preprocess(o=>{if(typeof o!="object"||o===null||Array.isArray(o))return o;let s=o[n];return typeof s!="string"||i.has(s)?o:r({...o,[n]:t})},e);return Tp(a,{unknownAs:t}),a}var fa=w.object({kind:be(w.literal("objectNumber")),objectNumber:w.number().int().positive()}),Lt=w.string().regex(/^#[0-9a-fA-F]{6}$/,"expected a color as '#rrggbb'"),Mg=be(w.enum(["solid","dashed","beveled","inset"])),S0=be(w.enum(["solid","dashed","beveled","inset","underline"])),x0=be(w.enum(["check","cross","star","circle","square","diamond"])),Lg=w.enum(["solid","dashed"]),Mp=w.array(w.number().nonnegative()).min(1),Qp=be(w.enum(["none","square","circle","diamond","open-arrow","closed-arrow","butt","r-open-arrow","r-closed-arrow","slash"])),Ng=w.object({start:Qp,end:Qp}),Poe=w.enum(Cr),jg=be(w.enum(["left","center","right"])),H0=be(w.enum(["free-text","free-text-callout","free-text-typewriter"])),O0=w.enum(["free-text","free-text-callout"]),Q0=be(w.enum(["top","middle","bottom"])),R0=be(w.literal("replace")),T0=be(w.literal("strikeout-text-edit")),M0=be(w.literal("ink-highlight")),L0=be(w.enum(["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"])),ga=be(w.discriminatedUnion("kind",[w.object({kind:w.literal("objectNumber"),page:fa,objectNumber:w.number().int().positive()}),w.object({kind:w.literal("baseIndex"),page:fa,baseIndex:w.number().int().nonnegative()})])),tt=fa,ft=w.number().nullable(),Lp=be(w.discriminatedUnion("kind",[w.object({kind:w.literal("xyz"),page:tt,left:ft,top:ft,zoom:ft}),w.object({kind:w.literal("fit"),page:tt}),w.object({kind:w.literal("fitH"),page:tt,top:ft}),w.object({kind:w.literal("fitV"),page:tt,left:ft}),w.object({kind:w.literal("fitR"),page:tt,left:w.number(),bottom:w.number(),right:w.number(),top:w.number()}),w.object({kind:w.literal("fitB"),page:tt}),w.object({kind:w.literal("fitBH"),page:tt,top:ft}),w.object({kind:w.literal("fitBV"),page:tt,left:ft})])),Np=be(w.discriminatedUnion("kind",[w.object({kind:w.literal("xyz"),page:tt,x:ft,y:ft,zoom:ft}),w.object({kind:w.literal("fit"),page:tt}),w.object({kind:w.literal("fitH"),page:tt,y:ft}),w.object({kind:w.literal("fitV"),page:tt,x:ft}),w.object({kind:w.literal("fitR"),page:tt,x:w.number(),y:w.number(),width:w.number().nonnegative(),height:w.number().nonnegative()}),w.object({kind:w.literal("fitB"),page:tt}),w.object({kind:w.literal("fitBH"),page:tt,y:ft}),w.object({kind:w.literal("fitBV"),page:tt,x:ft})]));function Kg(e){let t=w.object({kind:w.literal("goto"),destination:e}),r=w.object({kind:w.literal("uri"),uri:w.string()}),n=va(w.discriminatedUnion("kind",[t,r,w.object({kind:w.literal("goto-remote"),file:w.string()}),w.object({kind:w.literal("launch"),path:w.string()}),w.object({kind:w.literal("javascript")}),w.object({kind:w.literal("named"),name:w.string()}),w.object({kind:w.literal("unsupported")})]),"unsupported").describe("Where a link goes, by its `kind`. A newer server can add kinds: read one your client doesn't know as `unsupported`."),i=w.object({kind:w.literal("named"),name:w.enum(["NextPage","PrevPage","FirstPage","LastPage"])});return{read:n,write:w.discriminatedUnion("kind",[t,r,i])}}var Vg=Kg(Np),Yg=Kg(Lp),N0=Vg.read,j0=Vg.write,K0=Yg.read,V0=Yg.write,ba=be(w.discriminatedUnion("kind",[w.object({kind:w.literal("name"),name:w.string()}),w.object({kind:w.literal("objectNumber"),objectNumber:w.number().int().positive()})])),Xg={exclude:w.boolean(),includeNoValueFields:w.boolean(),format:be(w.enum(["fdf","html","xfdf","pdf"])),method:be(w.enum(["post","get"])),submitCoordinates:w.boolean(),includeAppendSaves:w.boolean(),includeAnnotations:w.boolean(),canonicalFormat:w.boolean(),exclNonUserAnnots:w.boolean(),exclFKey:w.boolean(),embedForm:w.boolean()},Y0=Object.fromEntries(Object.entries(Xg).map(([e,t])=>[e,t.optional()]));function Wg(e){let t={subtype:w.string(),next:w.array(w.lazy(()=>i))},r=(o,s={})=>w.object({type:w.literal(o),...t,...s}),n=[r("javascript",{script:w.string()}),r("goto",{destination:e}),r("uri",{uri:w.string(),isMap:w.boolean()}),r("named",{name:w.string()}),r("hide",{targets:w.array(ba),hide:w.boolean()}),r("reset-form",{fields:w.array(ba).nullable(),exclude:w.boolean()}),r("goto-remote",{filePath:w.string()}),r("goto-embedded",{filePath:w.string()}),r("launch",{filePath:w.string()}),r("rendition",{script:w.string().optional()}),r("submit-form",{payload:w.object({url:w.string(),fields:w.array(ba).nullable(),...Xg,charSet:w.string().optional()}).optional()}),r("thread"),r("sound"),r("movie"),r("import-data"),r("set-ocg-state"),r("transition"),r("goto-3d-view"),r("unknown")],i=w.lazy(()=>va(w.discriminatedUnion("type",[...n]),"unknown").describe("An action, by its `type`. A newer server can add types: read one your client doesn't know as `unknown`, keeping its `subtype` and `next`.")),a=w.object({root:i.nullable(),incomplete:w.boolean(),warnings:w.array(be(w.enum(["cycle-dropped","malformed-next","incomplete","payload-dropped"])))});return{arms:n,node:i,tree:a,fieldActions:w.object({keystroke:a.optional(),format:a.optional(),validate:a.optional(),calculate:a.optional()}),pageActions:w.object({open:a.optional(),close:a.optional()}),annotationActions:w.object({activate:a.optional(),cursorEnter:a.optional(),cursorExit:a.optional(),mouseDown:a.optional(),mouseUp:a.optional(),focus:a.optional(),blur:a.optional(),pageOpen:a.optional(),pageClose:a.optional(),pageVisible:a.optional(),pageInvisible:a.optional()}),documentActions:w.object({nameTreeScripts:w.array(w.object({name:w.string(),action:a})),openAction:a.nullable(),openDestination:e.nullable(),willClose:a.optional(),willSave:a.optional(),didSave:a.optional(),willPrint:a.optional(),didPrint:a.optional()}).superRefine((o,s)=>{o.openAction!==null&&o.openDestination!==null&&s.addIssue({code:w.ZodIssueCode.custom,message:"openAction and openDestination are mutually exclusive",path:["openDestination"]})})}}var bi=Wg(Np),X0=Wg(Lp);function Ug(e){let t=()=>({next:w.array(w.lazy(()=>n)).optional()}),r=[w.object({type:w.literal("javascript"),script:w.string(),...t()}),w.object({type:w.literal("goto"),destination:e,...t()}),w.object({type:w.literal("uri"),uri:w.string().min(1),...t()}),w.object({type:w.literal("named"),name:w.string().min(1),...t()}),w.object({type:w.literal("hide"),targets:w.array(ba).min(1),hide:w.boolean(),...t()}),w.object({type:w.literal("reset-form"),fields:w.array(ba).nullable(),exclude:w.boolean(),...t()}),w.object({type:w.literal("submit-form"),url:w.string().min(1),fields:w.array(ba).nullable(),...Y0,...t()})],n=w.lazy(()=>w.discriminatedUnion("type",[...r])),i=()=>n.nullable().optional();return{node:n,widgetActions:w.object({activate:i(),cursorEnter:i(),cursorExit:i(),mouseDown:i(),mouseUp:i(),focus:i(),blur:i(),pageOpen:i(),pageClose:i(),pageVisible:i(),pageInvisible:i()}).strict()}}var qg=Ug(Np),W0=Ug(Lp),hoe=qg.node,zg=qg.widgetActions,U0=W0.widgetActions,koe=bi.node,Doe=w.enum(bi.arms.map(e=>e.shape.type.value)),Boe=bi.tree,q0=bi.fieldActions,Eoe=bi.pageActions,_oe=bi.documentActions,z0=bi.annotationActions,Zg=X0.annotationActions,Ro=w.lazy(()=>w.object({type:w.literal("javascript"),script:w.string(),next:w.array(Ro).optional()})),Jg=w.object({keystroke:Ro.nullable().optional(),format:Ro.nullable().optional(),validate:Ro.nullable().optional(),calculate:Ro.nullable().optional()});var Ke=w.object({x:w.number(),y:w.number()}),Z0=w.object({start:Ke,end:Ke}),J0=w.union([w.tuple([Ke,Ke]),w.tuple([Ke,Ke,Ke])]),$0=w.array(w.array(Ke)),Mo=w.object({left:w.number().finite(),bottom:w.number().finite(),right:w.number().finite(),top:w.number().finite()}),yoe=w.object({width:w.number().nonnegative(),height:w.number().nonnegative()}),$g=w.object({upperLeft:Ke,upperRight:Ke,lowerLeft:Ke,lowerRight:Ke}),eF=be(w.union([w.literal(0),w.literal(90),w.literal(180),w.literal(270)])),hc=w.object({x:w.number(),y:w.number()}),To=w.object({x:w.number().finite(),y:w.number().finite(),width:w.number().finite().nonnegative(),height:w.number().finite().nonnegative()}),Goe=w.object({upperLeft:hc,upperRight:hc,lowerLeft:hc,lowerRight:hc});function wa(e,t,r){let n=i=>wa(e,t,{...r,...i});return{read:e,write:t,traits:r,nullable:()=>n({readNullable:!0,writeNullable:!0}),nullableOnRead:()=>n({readNullable:!0}),optional:()=>n({required:!1}),readBack:()=>n({readBack:!0}),space:i=>n({space:i}),writes:i=>wa(e,i,r)}}var kc=(e,t)=>({owner:e,readNullable:!1,writeNullable:!1,required:t,readBack:!1,space:"none"}),H={data:e=>wa(e,e,kc("data",!0)),attribution:e=>wa(e,e,kc("attribution",!1)),engine:e=>wa(e,e,kc("engine",!1)),preserved:e=>wa(e,e,kc("preserved",!1))},e9={box:{read:To,write:To},linkTarget:{read:N0,write:j0},actions:{read:z0,write:zg}};function Hg(e,t,r){let n={subtype:be(w.literal(e))},i={subtype:w.literal(e)},a={subtype:w.literal(e).optional()},o={};for(let[s,A]of Object.entries(t)){let{owner:d,readNullable:p,writeNullable:m,required:F,readBack:h}=A.traits,P=r(A);if(n[s]=p?P.read.nullable():P.read,d==="data"){let B=m?P.write.nullable():P.write;i[s]=F?B:B.optional();let y=P.read===P.write?p||m?P.write.nullable():P.write:w.union([B,n[s]]);a[s]=(h?y:B).optional(),h&&(o[s]=B)}else i[s]=h?n[s].optional():w.unknown().optional(),a[s]=h?n[s].optional():w.unknown().optional(),h&&(o[s]=null)}return{read:n,create:i,update:a,readBackWrites:o}}function Me(e,t,r={}){let n=Hg(e,t,a=>a),i=Hg(e,t,a=>e9[a.traits.space]??a);return{subtype:e,fields:t,resources:r,readSchema:w.object(i.read),createSchema:w.object(i.create).strict(),updateSchema:w.object(i.update).strict(),fileSchemas:{read:w.object(n.read),create:w.object(n.create).strict(),update:w.object(n.update).strict()},readBackWrites:n.readBackWrites,shapes:{read:i.read,create:i.create,update:i.update}}}var Xn=w.string().datetime({offset:!0,local:!0}),Og=w.union([Xn,w.date()]),Dn=w.number().finite().refine(e=>Number.isFinite(Math.fround(e)),"Outside PDF float range"),tF=w.object({x:Dn,y:Dn}),nF=tF.strict(),rF=Dn.refine(e=>Math.fround(e)>0,"Must be positive in PDF float precision"),wi=w.object({unit:w.string(),conversion:Dn.optional(),fraction:be(w.enum(["decimal","fraction","round","truncate"])).optional(),precision:w.number().int().optional(),fixed:w.boolean().optional(),thousands:w.string().optional(),decimal:w.string().optional(),prefixSpacing:w.string().optional(),suffixSpacing:w.string().optional(),labelPosition:be(w.enum(["suffix","prefix"])).optional()}),iF=w.object({subtype:w.literal("rectilinear"),ratio:w.string().optional(),x:w.array(wi),y:w.array(wi).optional(),distance:w.array(wi),area:w.array(wi),angle:w.array(wi).optional(),slope:w.array(wi).optional(),origin:tF.optional(),cyx:Dn.optional()}),ma=wi.extend({conversion:rF,precision:w.number().int().min(1).max(2147483647).optional()}).refine(tr,"Invalid number format precision"),aF=iF.extend({x:w.array(ma),y:w.array(ma).optional(),distance:w.array(ma),area:w.array(ma),angle:w.array(ma).optional(),slope:w.array(ma).optional(),cyx:rF.optional(),origin:nF.optional()}),oF=w.object({subtype:w.literal("geospatial")}),sF=w.object({subtype:w.literal("unknown")}),t9=w.union([oF,sF]),Coe=w.object({measure:aF.nullable()}),AF=va(w.discriminatedUnion("subtype",[iF,oF,sF]),"unknown").describe("A measure, by its `subtype`. A newer server can add subtypes: read one your client doesn't know as `unknown`."),n9=w.object({bbox:To,name:w.string().nullable(),measure:AF.nullable(),owned:w.boolean()}),Ioe=w.object({viewports:w.array(n9)}),r9=be(w.enum(["line-arrow","line-dimension"])),i9=be(w.enum(["polygon-cloud","polygon-dimension"])),a9=be(w.literal("polyline-dimension")),o9=w.object({along:Dn,perpendicular:Dn}).strict(),Soe=w.object({enabled:w.boolean(),position:w.enum(["inline","top"]).optional(),offset:o9.optional()}).strict(),xoe=w.object({enabled:w.boolean(),center:nF.optional()}).strict(),cF=w.object({length:Dn,extension:Dn.refine(e=>e>=0).optional(),offset:Dn.refine(e=>e>=0).optional()}),s9=cF.strict(),dF=be(w.enum(["left","center","right","justify"])),jp={family:w.string().min(1),weight:w.number().int().min(100).max(900),italic:w.boolean(),size:w.number().nonnegative(),color:Lt,decoration:w.array(be(w.enum(["underline","line-through","word"]))),script:be(w.enum(["normal","sub","super"])),letterSpacing:w.number(),horizontalScale:w.number().positive(),unknown:w.string().optional()},Kp={align:dF,dir:be(w.enum(["ltr","rtl"])),lineHeight:w.number().positive().optional(),margins:w.object({top:w.number(),bottom:w.number(),left:w.number(),right:w.number()}).optional(),textIndent:w.number().optional(),unknown:w.string().optional()},A9=w.object(jp).partial(),uF=w.object({...Kp,runs:w.array(w.object({text:w.string(),style:A9.optional()}))}).partial({align:!0,dir:!0}),pF=w.object({body:w.object({...jp,...Kp}),paragraphs:w.array(uF)}),lF=w.object({body:w.object({...jp,...Kp}).partial().optional(),paragraphs:w.array(uF)}),c9=w.object({to:ga,type:be(w.enum(["reply","group"]))}),d9=w.object({to:ga,type:w.enum(["reply","group"]).optional()}),Vp=w.string().min(1),kn=()=>H.data(w.boolean()).optional(),Lo={ref:H.engine(ga),page:H.engine(fa),hasAppearance:H.engine(w.boolean()),appearanceState:H.engine(w.string()).nullable(),structurePosition:H.engine(w.array(w.number().int().nonnegative())).nullable(),nm:H.data(w.string()).nullable().optional(),rect:H.data(Mo).space("box"),contents:H.data(w.string()).nullable().optional(),subject:H.data(w.string()).nullable().optional(),blendMode:H.data(L0).optional(),invisible:kn(),hidden:kn(),print:kn(),noZoom:kn(),noRotate:kn(),noView:kn(),readOnly:kn(),locked:kn(),toggleNoView:kn(),lockedContents:kn(),reply:H.data(c9).writes(d9).nullable().optional(),popup:H.engine(ga).nullable(),groupId:H.data(w.string().min(1)).nullable().optional(),author:H.attribution(w.string()).nullable(),createdAt:H.attribution(Xn).writes(Og).nullable(),modifiedAt:H.attribution(Xn).writes(Og).nullable(),userId:H.attribution(w.string()).nullable(),createdBy:H.attribution(w.string()).nullable(),modifiedBy:H.attribution(w.string()).nullable(),importedBy:H.engine(w.string()).nullable(),actions:H.preserved(Zg).nullable().space("actions")},$t={...Lo,richText:H.data(pF).writes(lF).nullable().optional().space("length")},Pa={color:H.data(Lt).optional(),opacity:H.data(w.number().min(0).max(1)).optional()},mF={...Pa,color:H.data(Lt).nullable().optional(),strokeWidth:H.data(w.number().nonnegative()).optional(),borderStyle:H.data(Mg).writes(Lg).readBack().optional(),dashArray:H.data(w.array(w.number().nonnegative())).writes(Mp).nullable().optional()},Yp={...mF,interiorColor:H.data(Lt).nullable().optional()},ha={rect:H.engine(Mo).readBack().space("box")},Xp={rotation:H.data(w.number()).nullable().optional()},Dc={...ha,box:H.data(Mo).space("box").optional(),rotation:H.data(w.number()).nullable().optional()},u9={...ha,box:H.data(Mo).space("box").optional(),rotation:H.data(eF).nullable().optional()},Bc={...$t,...Pa,...ha,quadPoints:H.data(w.array($g).min(1)).space("quads")},wF={...$t,...Yp,...Dc,cloudyIntensity:H.data(w.number().positive()).nullable().optional()},bF={...$t,...Yp,...ha,vertices:H.data(w.array(Ke)).space("points"),...Xp},Wp=H.data(AF).writes(w.union([aF,t9])).nullable().optional().space("measure"),fF={captionEnabled:H.data(w.boolean()).nullable().optional(),captionCenter:H.data(Ke).nullable().optional().space("point")},No=Me("caret",{...$t,...Pa,...Dc,intent:H.data(R0).nullable().optional()}),p9=No.readSchema,l9=No.createSchema,m9=No.updateSchema,Up={subtype:"caret",pdfSubtypeCode:L.CARET,dtoSchema:p9,draftSchema:l9,patchSchema:m9,readBackWrites:No.readBackWrites},jo=Me("circle",wF),w9=jo.readSchema,b9=jo.createSchema,f9=jo.updateSchema,qp={subtype:"circle",pdfSubtypeCode:L.CIRCLE,dtoSchema:w9,draftSchema:b9,patchSchema:f9,readBackWrites:jo.readBackWrites},Fa=w.string().min(1),Hoe=w.object({appearance:Fa.optional(),file:Fa.optional()}).strict(),Ooe=w.object({appearance:Fa}).strict(),g9=w.object({file:Fa}).strict(),Qoe=w.object({source:Fa}).strict(),Roe=w.object({image:Fa}),Toe=w.object({resources:g9,name:w.string().min(1),mimeType:w.string().optional(),description:w.string().optional()}),Moe=w.object({name:w.string().min(1),mimeType:w.string().optional(),description:w.string().optional()}),F9=w.object({name:w.string(),mimeType:w.string().nullable(),description:w.string().nullable(),sizeBytes:w.number().int().nonnegative().nullable(),md5:w.string().nullable(),createdAt:Xn.nullable(),modifiedAt:Xn.nullable()}),Loe=w.object({kind:be(w.literal("key")),key:w.string().min(1)}),Noe=w.object({ref:w.object({kind:be(w.literal("key")),key:w.string()}),name:w.string(),mimeType:w.string().nullable(),description:w.string().nullable(),sizeBytes:w.number().int().nonnegative().nullable(),md5:w.string().nullable(),createdAt:Xn.nullable(),modifiedAt:Xn.nullable(),index:w.number().int().nonnegative()}),v9=be(w.enum(["push-pin","paperclip","graph","tag"])),P9=w.object({name:w.string().min(1),mimeType:w.string().nullable().optional(),description:w.string().nullable().optional()}),Ko=Me("file-attachment",{...$t,...Pa,icon:H.data(v9).optional(),file:H.data(F9).writes(P9).nullable().optional()},{file:"required"}),Vo=Me("free-text",{...$t,...Dc,intent:H.data(H0).writes(O0).readBack().optional(),fontFamily:H.data(Vp).optional(),fontSize:H.data(w.number().positive()).optional(),textAlign:H.data(dF).optional(),verticalAlign:H.data(Q0).optional(),richText:H.data(pF).writes(lF).optional().space("length"),color:H.data(Lt).optional(),fontColor:H.data(Lt).optional(),interiorColor:H.data(Lt).nullable().optional(),opacity:H.data(w.number().min(0).max(1)).optional(),strokeWidth:H.data(w.number().nonnegative()).optional(),borderStyle:H.data(Mg).writes(Lg).readBack().optional(),dashArray:H.data(w.array(w.number().nonnegative())).writes(Mp).nullable().optional(),cloudyIntensity:H.data(w.number().positive()).nullable().optional(),calloutLine:H.data(J0).nullable().optional().space("calloutLine"),lineEnding:H.data(Qp).nullable().optional()}),Yo=Me("highlight",Bc),Xo=Me("ink",{...$t,...mF,strokeWidth:H.data(w.number().nonnegative()).writes(w.number().positive()).readBack().optional(),...ha,inkList:H.data($0).writes(w.array(w.array(Ke).min(1)).min(1)).readBack().space("strokes"),intent:H.data(M0).nullable().optional(),...Xp}),Wo=Me("line",{...$t,...Yp,...ha,linePoints:H.data(Z0).space("linePoints"),lineEndings:H.data(Ng).optional(),...Xp,intent:H.data(r9).nullable().optional(),measure:Wp,captionEnabled:H.data(w.boolean()).optional(),captionPosition:H.data(be(w.enum(["inline","top"]))).optional(),captionOffset:H.data(w.object({along:w.number(),perpendicular:w.number()})).nullable().optional(),leader:H.data(cF).writes(s9).nullable().optional()}),Uo=Me("link",{...Lo,target:H.data(K0).writes(V0).nullable().readBack().space("linkTarget")}),qo=Me("polygon",{...bF,vertices:H.data(w.array(Ke)).writes(w.array(Ke).min(3)).readBack().space("points"),...fF,intent:H.data(i9).nullable().optional(),measure:Wp,cloudyIntensity:H.data(w.number().positive()).nullable().optional()}),zo=Me("polyline",{...bF,vertices:H.data(w.array(Ke)).writes(w.array(Ke).min(2)).readBack().space("points"),...fF,intent:H.data(a9).nullable().optional(),measure:Wp,lineEndings:H.data(Ng).optional()}),Zo=Me("popup",{...Lo,parent:H.data(ga).nullableOnRead().readBack(),open:H.data(w.boolean()).optional()}),Jo=Me("redact",{...$t,...Pa,rect:H.data(Mo).optional().space("box"),quadPoints:H.data(w.array($g)).optional().space("quads"),interiorColor:H.data(Lt).nullable().optional(),overlayText:H.data(w.string()).nullable().optional(),repeat:H.data(w.boolean()).optional(),fontFamily:H.data(Vp).optional(),fontSize:H.data(w.number().nonnegative()).optional(),fontColor:H.data(Lt).optional(),textAlign:H.data(jg).optional()}),$o=Me("square",wF),es=Me("squiggly",Bc),h9=be(w.enum(["contain","cover","fill"])),ts=Me("stamp",{...$t,...Dc,name:H.data(w.string()).nullable().optional(),fit:H.data(h9).nullable().optional(),opacity:H.data(w.number().min(0).max(1)).optional()},{appearance:"required"}),ns=Me("strikeout",{...Bc,intent:H.data(T0).nullable().optional()}),k9=be(w.enum(["comment","key","note","help","new-paragraph","paragraph","insert"])),rs=Me("text",{...$t,...Pa,icon:H.data(k9).optional(),open:H.data(w.boolean()).optional(),state:H.data(w.string().min(1)).nullable().optional(),stateModel:H.data(w.string().min(1)).nullable().optional()}),is=Me("underline",Bc),zp=Me("unsupported",{...Lo,rawSubtypeCode:H.engine(w.number().int()),rawSubtypeName:H.engine(w.string()).nullable()}),Zp=be(w.discriminatedUnion("kind",[w.object({kind:w.literal("objectNumber"),objectNumber:w.number().int().positive()}),w.object({kind:w.literal("fqn"),name:w.string().min(1)})])),ka=Me("widget",{...Lo,...u9,color:H.data(Lt).nullable().optional(),interiorColor:H.data(Lt).nullable().optional(),strokeWidth:H.data(w.number().nonnegative()).optional(),borderStyle:H.data(S0).optional(),dashArray:H.data(w.array(w.number().nonnegative())).writes(Mp).nullable().optional(),fontFamily:H.data(Vp).nullable().optional(),fontSize:H.data(w.number().nonnegative()).nullable().optional(),fontColor:H.data(Lt).nullable().optional(),textAlign:H.data(jg).optional(),caption:H.data(w.string()).nullable().optional(),checkStyle:H.data(x0).nullable().optional(),actions:H.data(Zg).writes(U0).readBack().nullable().optional().space("actions"),field:H.engine(Zp).nullable(),fieldKind:H.engine(I0(w.enum(["text","checkbox","radio","combobox","listbox","pushbutton","signature","unknown"]),"unknown").describe("Its field's family. A newer server can add families: read one your client doesn't know as `unknown`.")),hasMark:H.engine(w.boolean())}),gF=[Yo,is,es,ns,jo,$o,qo,zo,Wo,Uo,Xo,Vo,No,rs,ts,Ko,ka,Jo,Zo,zp];function as(e){return gF.find(t=>t.subtype===e)??null}var D9=Ko.readSchema,B9=Ko.createSchema,E9=Ko.updateSchema,Jp={subtype:"file-attachment",pdfSubtypeCode:L.FILEATTACHMENT,dtoSchema:D9,draftSchema:B9,patchSchema:E9,readBackWrites:Ko.readBackWrites},_9=Vo.readSchema,y9=Vo.createSchema,G9=Vo.updateSchema,$p={subtype:"free-text",pdfSubtypeCode:L.FREETEXT,dtoSchema:_9,draftSchema:y9,patchSchema:G9,readBackWrites:Vo.readBackWrites},C9=Yo.readSchema,I9=Yo.createSchema,S9=Yo.updateSchema,el={subtype:"highlight",pdfSubtypeCode:L.HIGHLIGHT,dtoSchema:C9,draftSchema:I9,patchSchema:S9,readBackWrites:Yo.readBackWrites},x9=Xo.readSchema,H9=Xo.createSchema,O9=Xo.updateSchema,tl={subtype:"ink",pdfSubtypeCode:L.INK,dtoSchema:x9,draftSchema:H9,patchSchema:O9,readBackWrites:Xo.readBackWrites},Q9=Wo.readSchema,R9=Wo.createSchema,T9=Wo.updateSchema,nl={subtype:"line",pdfSubtypeCode:L.LINE,dtoSchema:Q9,draftSchema:R9,patchSchema:T9,readBackWrites:Wo.readBackWrites},M9=Uo.readSchema,L9=Uo.createSchema,N9=Uo.updateSchema,rl={subtype:"link",pdfSubtypeCode:L.LINK,dtoSchema:M9,draftSchema:L9,patchSchema:N9,readBackWrites:Uo.readBackWrites},j9=qo.readSchema,K9=qo.createSchema,V9=qo.updateSchema,il={subtype:"polygon",pdfSubtypeCode:L.POLYGON,dtoSchema:j9,draftSchema:K9,patchSchema:V9,readBackWrites:qo.readBackWrites},Y9=zo.readSchema,X9=zo.createSchema,W9=zo.updateSchema,al={subtype:"polyline",pdfSubtypeCode:L.POLYLINE,dtoSchema:Y9,draftSchema:X9,patchSchema:W9,readBackWrites:zo.readBackWrites},U9=Zo.readSchema,q9=Zo.createSchema,z9=Zo.updateSchema,ol={subtype:"popup",pdfSubtypeCode:L.POPUP,dtoSchema:U9,draftSchema:q9,patchSchema:z9,readBackWrites:Zo.readBackWrites},Z9=Jo.readSchema,J9=Jo.createSchema,$9=Jo.updateSchema,sl={subtype:"redact",pdfSubtypeCode:L.REDACT,dtoSchema:Z9,draftSchema:J9,patchSchema:$9,readBackWrites:Jo.readBackWrites},e7=$o.readSchema,t7=$o.createSchema,n7=$o.updateSchema,Al={subtype:"square",pdfSubtypeCode:L.SQUARE,dtoSchema:e7,draftSchema:t7,patchSchema:n7,readBackWrites:$o.readBackWrites},r7=es.readSchema,i7=es.createSchema,a7=es.updateSchema,cl={subtype:"squiggly",pdfSubtypeCode:L.SQUIGGLY,dtoSchema:r7,draftSchema:i7,patchSchema:a7,readBackWrites:es.readBackWrites},o7=ts.readSchema,s7=ts.createSchema,A7=ts.updateSchema,dl={subtype:"stamp",pdfSubtypeCode:L.STAMP,dtoSchema:o7,draftSchema:s7,patchSchema:A7,readBackWrites:ts.readBackWrites},c7=ns.readSchema,d7=ns.createSchema,u7=ns.updateSchema,ul={subtype:"strikeout",pdfSubtypeCode:L.STRIKEOUT,dtoSchema:c7,draftSchema:d7,patchSchema:u7,readBackWrites:ns.readBackWrites},p7=rs.readSchema,l7=rs.createSchema,m7=rs.updateSchema,pl={subtype:"text",pdfSubtypeCode:L.TEXT,dtoSchema:p7,draftSchema:l7,patchSchema:m7,readBackWrites:rs.readBackWrites},w7=is.readSchema,b7=is.createSchema,f7=is.updateSchema,ll={subtype:"underline",pdfSubtypeCode:L.UNDERLINE,dtoSchema:w7,draftSchema:b7,patchSchema:f7,readBackWrites:is.readBackWrites},g7=zp.readSchema,F7=w.never(),v7=w.never(),FF={subtype:"unsupported",pdfSubtypeCode:L.UNKNOWN,dtoSchema:g7,draftSchema:F7,patchSchema:v7,readBackWrites:zp.readBackWrites},vF=ka.readSchema,P7=ka.createSchema,h7=ka.updateSchema,ml={subtype:"widget",pdfSubtypeCode:L.WIDGET,dtoSchema:vF,draftSchema:P7,patchSchema:h7,readBackWrites:ka.readBackWrites},PF=Object.fromEntries(xo.map(e=>[e,ka.shapes.update[e]])),joe=w.object(PF).strict(),hF=[el,ll,cl,ul,qp,Al,il,al,nl,rl,tl,$p,Up,pl,dl,Jp,ml,sl,ol,FF],kF=Object.freeze(Object.fromEntries(hF.map(e=>[e.subtype,e]))),Koe=va(w.discriminatedUnion("subtype",[el.dtoSchema,ll.dtoSchema,cl.dtoSchema,ul.dtoSchema,qp.dtoSchema,Al.dtoSchema,il.dtoSchema,al.dtoSchema,nl.dtoSchema,rl.dtoSchema,tl.dtoSchema,$p.dtoSchema,Up.dtoSchema,pl.dtoSchema,dl.dtoSchema,Jp.dtoSchema,ml.dtoSchema,sl.dtoSchema,ol.dtoSchema,FF.dtoSchema]),"unsupported",e=>({...e,rawSubtypeCode:Number.isInteger(e.rawSubtypeCode)?e.rawSubtypeCode:L.UNKNOWN,rawSubtypeName:typeof e.rawSubtypeName=="string"?e.rawSubtypeName:null})).describe("An annotation, by its `subtype`. A newer server can add subtypes: read one your client doesn't know as `unsupported`, keeping the fields every annotation has, with `rawSubtypeCode` 0 and `rawSubtypeName` null when the body has neither."),DF=w.discriminatedUnion("subtype",[el.draftSchema,ll.draftSchema,cl.draftSchema,ul.draftSchema,qp.draftSchema,Al.draftSchema,il.draftSchema,al.draftSchema,nl.draftSchema,rl.draftSchema,tl.draftSchema,$p.draftSchema,Up.draftSchema,pl.draftSchema,dl.draftSchema,Jp.draftSchema,ml.draftSchema,sl.draftSchema,ol.draftSchema]),Voe=w.union(hF.filter(e=>e.subtype!=="unsupported").map(e=>e.patchSchema));var BF=w.discriminatedUnion("subtype",gF.filter(e=>e.subtype!=="unsupported").map(e=>e.fileSchemas.create));function EF(e){return as(e).fileSchemas.update}var _F={ref:ga.nullable(),objectNumber:w.number().int().nonnegative(),page:fa.nullable()},k7=w.object(_F),D7=k7,Qg=w.object({..._F,onState:w.string(),exportValue:w.string(),checked:w.boolean()}),Rg=w.object({label:w.string(),value:w.string(),selected:w.boolean()}),Tg=va(w.discriminatedUnion("kind",[w.object({kind:w.literal("none")}),w.object({kind:w.literal("scalar"),value:w.string()}),w.object({kind:w.literal("array"),values:w.array(w.string())}),w.object({kind:w.literal("unsupported")})]),"unsupported").describe("A field's stored value, by its `kind`. A newer server can add kinds: read one your client doesn't know as `unsupported`."),fr={ref:Zp,name:w.string(),origin:be(w.enum(["acroform","recovered"])),readOnly:w.boolean(),required:w.boolean(),noExport:w.boolean(),alternateName:w.string().nullable(),mappingName:w.string().nullable(),valueEntry:Tg,defaultValueEntry:Tg,actions:q0.optional(),groupId:w.string().nullable(),createdBy:w.string().nullable(),createdAt:Xn.nullable(),filledBy:w.string().nullable(),filledByName:w.string().nullable(),filledAt:Xn.nullable(),importedBy:w.string().nullable(),widgets:w.array(D7)},B7=va(w.discriminatedUnion("kind",[w.object({...fr,kind:w.literal("text"),value:w.string(),defaultValue:w.string(),maxLength:w.number().int().positive().nullable(),multiline:w.boolean(),password:w.boolean(),comb:w.boolean()}),w.object({...fr,kind:w.literal("checkbox"),checked:w.boolean(),exportValue:w.string(),widgets:w.array(Qg)}),w.object({...fr,kind:w.literal("radio"),value:w.string(),radiosInUnison:w.boolean(),noToggleToOff:w.boolean(),widgets:w.array(Qg)}),w.object({...fr,kind:w.literal("combobox"),value:w.string(),defaultValue:w.string(),edit:w.boolean(),options:w.array(Rg)}),w.object({...fr,kind:w.literal("listbox"),selectedValues:w.array(w.string()),defaultValue:w.array(w.string()),multiSelect:w.boolean(),options:w.array(Rg),topIndex:w.number().int().nonnegative()}),w.object({...fr,kind:w.literal("pushbutton")}),w.object({...fr,kind:w.literal("signature")}),w.object({...fr,kind:w.literal("unknown"),rawValue:w.string()})]),"unknown",e=>({...e,rawValue:typeof e.rawValue=="string"?e.rawValue:""})).describe("A form field, by its `family`. A newer server can add families: read one your client doesn't know as `unknown`, keeping the fields every field has, with `rawValue` an empty string when the body has none."),E7=be(w.enum(["none","acroform","xfa"])),Yoe=w.object({formKind:E7,needsAppearances:w.boolean(),fields:w.array(B7),widgets:w.array(vF),calculationOrder:w.array(Zp.nullable())}),Xoe=w.object({value:w.string().nullable().optional(),checked:w.boolean().optional(),selectedValues:w.array(w.string()).optional()}).strict().refine(e=>[e.value,e.checked,e.selectedValues].filter(t=>t!==void 0).length===1,{message:"exactly one of value, checked or selectedValues"}),_7=w.object({page:fa,rect:To.optional(),box:To.optional(),rotation:eF.optional(),exportValue:w.string().min(1).optional(),actions:zg.optional(),...PF}).strict(),Rp=w.object({label:w.string(),value:w.string()}),mi={name:w.string().min(1),readOnly:w.boolean().optional(),required:w.boolean().optional(),noExport:w.boolean().optional(),alternateName:w.string().optional(),mappingName:w.string().optional(),groupId:w.string().min(1).max(256).optional(),actions:Jg.optional(),widgets:w.array(_7).optional()},yF=w.discriminatedUnion("kind",[w.object({...mi,kind:w.literal("text"),defaultValue:w.string().optional(),maxLength:w.number().int().positive().optional(),multiline:w.boolean().optional(),password:w.boolean().optional(),comb:w.boolean().optional()}).strict(),w.object({...mi,kind:w.literal("checkbox")}).strict(),w.object({...mi,kind:w.literal("radio"),radiosInUnison:w.boolean().optional(),noToggleToOff:w.boolean().optional()}).strict(),w.object({...mi,kind:w.literal("combobox"),edit:w.boolean().optional(),options:w.array(Rp).optional(),defaultValue:w.string().optional()}).strict(),w.object({...mi,kind:w.literal("listbox"),multiSelect:w.boolean().optional(),options:w.array(Rp).optional(),defaultValue:w.array(w.string()).optional()}).strict(),w.object({...mi,kind:w.literal("pushbutton")}).strict(),w.object({...mi,kind:w.literal("signature")}).strict()]),y7={name:w.string().min(1).optional(),readOnly:w.boolean().optional(),required:w.boolean().optional(),noExport:w.boolean().optional(),alternateName:w.string().nullable().optional(),mappingName:w.string().nullable().optional(),groupId:w.string().min(1).max(256).optional(),actions:Jg.optional()},Woe=w.object({...y7,kind:w.enum(["text","checkbox","radio","combobox","listbox","pushbutton","signature"]).optional(),defaultValue:w.union([w.string(),w.array(w.string())]).nullable().optional(),maxLength:w.number().int().positive().nullable().optional(),multiline:w.boolean().optional(),password:w.boolean().optional(),comb:w.boolean().optional(),radiosInUnison:w.boolean().optional(),noToggleToOff:w.boolean().optional(),edit:w.boolean().optional(),multiSelect:w.boolean().optional(),options:w.array(Rp).optional()}).strict();function G7(e,t={}){let r=as(String(e.subtype)),n=t.linked??[],i=(r&&n.length>0?r.fileSchemas.create.omit(Object.fromEntries(n.map(a=>[a,!0]))):BF).safeParse(e);if(!i.success)throw IF(i.error,`${String(e.subtype)} create`)}function C7(e,t){let r=t.subtype??e.subtype;if(r==="unsupported")return;let n=t;for(let[a,o]of Object.entries(kF[r].readBackWrites)){let s=n[a];if(!(s===void 0||o?.safeParse(s).success))throw new g(f.InvalidArg,o?`${r} update field '${a}': this value can be read but not written; send it back unchanged or replace it`:`${r} update field '${a}': the engine works this out; send it back unchanged or leave it out`,{details:{field:a}})}let i=EF(r).safeParse(t);if(!i.success)throw IF(i.error,`${r} update`)}function GF(e,t={}){let r=Kb(e);return G7(r,{linked:t.linked??[]}),Vb(r,t)}function CF(e,t,r={}){let n=Nb(e,t);return C7(e,n),jb(e,n,r)}function IF(e,t){let r=e.issues[0],n=r.path.join(".");return new g(f.InvalidArg,`${t}${n?` field '${n}'`:""}: ${r.message}`,{details:n?{field:n}:{}})}function SF(e){let{bundle:t,target:r,nameTaken:n}=e,i=t.items.map(I=>I.data),a=uA({bundlePages:t.pages,pages:e.pages??"same",target:r,named:i.flatMap(I7)}),o=new Map,s=new Map,A=new Map;i.forEach((I,S)=>{if(I.subtype==="unsupported"){o.set(S,"unsupported-kind");return}if(I.subtype==="widget"){o.set(S,"widget");return}if(I.subtype==="popup"&&I.parent===null){o.set(S,"parent-missing");return}let G=xF(I);if(G==="item"){o.set(S,"unsupported-value");return}let Q=[...NA(I),...G];Q.length>0&&s.set(S,Q),A.set(S,HF(I,Q,a,{label:`import: item ${S}`,details:{item:S}}))});let d=new Map;i.forEach((I,S)=>{let G=j(I.ref);d.has(G)||d.set(G,S)});let p=I=>le(a(i[I].ref.page)),m=(I,S)=>{let G=d.get(j(I));return G!==void 0&&p(G)===p(S)?G:void 0},F=I=>[I.reply?.to,I.subtype==="popup"?I.parent:null].filter(S=>S!=null);i.forEach((I,S)=>{o.has(S)||F(I).some(G=>m(G,S)===void 0)&&o.set(S,"parent-missing")});let h=new Map;i.forEach((I,S)=>{if(o.has(S)||I.subtype!=="popup"||!I.parent)return;let G=m(I.parent,S);h.has(G)?o.set(S,"popup-taken"):h.set(G,S)});let P=new Set;i.forEach((I,S)=>{if(o.has(S)||!I.nm)return;let G=a(I.ref.page),Q=`${le(G)}\0${I.nm}`;P.has(Q)||n(G,I.nm)?o.set(S,"name-conflict"):P.add(Q)});for(let I=!0;I;)I=!1,i.forEach((S,G)=>{o.has(G)||F(S).some(Q=>o.has(m(Q,G)))&&(o.set(G,"parent-dropped"),I=!0)});let B=new Map;i.forEach((I,S)=>{o.has(S)||B.set(S,B.size)});let y=[...B.keys()].map(I=>{let S=i[I],G=S.reply?B.get(m(S.reply.to,I)):void 0,Q=S.subtype==="popup"&&S.parent?B.get(m(S.parent,I)):void 0;return{item:I,page:a(S.ref.page),draft:A.get(I),...G!==void 0?{replyTo:{planned:G,type:S.reply.type}}:{},...Q!==void 0?{parent:Q}:{}}}),x=[];return i.forEach((I,S)=>{let G=o.get(S);if(G)x.push({ref:I.ref,reason:G});else for(let Q of s.get(S)??[])x.push({ref:I.ref,...Q})}),{creates:y,dropped:x}}function I7(e){let{ref:t,reply:r,popup:n,...i}=e,a={...i};return e.subtype==="popup"&&delete a.parent,[t.page,...zi(a)]}function xF(e){let t=[],r=as(e.subtype);for(let[n,i]of Object.entries(r?.fields??{})){let{owner:a,readBack:o,required:s}=i.traits;if(a!=="data"||!o||n==="target")continue;let A=e[n];if(!(A==null||i.write.safeParse(A).success)){if(s)return"item";t.push({field:n,reason:"unsupported-value"})}}return t}function HF(e,t,r,n){let i={...e};delete i.reply;let a=as(e.subtype)?.fields??{};for(let{field:s}of t)a[s]?.traits.writeNullable?i[s]=null:delete i[s];let o=DF.safeParse(i);if(e.subtype==="popup"&&delete i.parent,!o.success){let s=o.error.issues[0],A=s.path.join(".");throw new g(f.InvalidArg,`${n.label}${A?` field '${A}'`:""}: ${s.message}`,{details:{...n.details,...A?{field:A}:{}}})}return fo(i,r)}function OF(e,t){let r=new Map;e.forEach((d,p)=>{if(d.subtype==="unsupported"||d.subtype==="widget")return;let m=xF(d);r.set(p,m==="item"?"item":[...NA(d),...m])});let n=d=>{let p=r.get(d);return p===void 0||p==="item"?[]:p},i=qu(e,t,d=>r.get(d)==="item"),a=i.copies.map(({data:d,...p})=>({...p,draft:HF(d,n(p.source),m=>m,{label:`copy: annotation ${p.source}`,details:{annotation:p.source}})})),o=new Set(a.map(d=>d.source)),s=i.dropped[Symbol.iterator](),A=[];return e.forEach((d,p)=>{if(!o.has(p))A.push(s.next().value);else for(let m of n(p))A.push({ref:d.ref,...m})}),{creates:a,dropped:A}}function QF(e){let{bundle:t,mayScript:r}=e,n=uA({bundlePages:t.pages,pages:e.pages??"same",target:e.target,named:t.widgets.flatMap(d=>zi(d.data))}),i=new Map(t.widgets.map((d,p)=>[j(d.data.ref),p])),a=new Set,o=[],s=new Set,A=[];return t.fields.forEach(({data:d},p)=>{let m=d.widgets.flatMap(P=>{let B=P.ref?i.get(j(P.ref)):void 0;return B===void 0?[]:[B]});for(let P of m)a.add(P);if(d.kind==="unknown"){o.push({ref:d.ref,reason:"unsupported-kind"});return}if(s.has(d.name)||e.nameTaken(d.name)){o.push({ref:d.ref,reason:"name-conflict"});return}s.add(d.name);let F=S7(d,ep(d,r,o),m.map(P=>XA(d,t.widgets[P].data,n,r,o)),p),h=e.values&&YA(d)?Yr(d):null;A.push({field:p,draft:F,widgets:m,flags:m.map(P=>WA(t.widgets[P].data)),...h?{value:h}:{}})}),t.widgets.forEach((d,p)=>{a.has(p)||o.push({ref:d.data.field,widget:d.data.ref,reason:"no-field"})}),{creates:A,calculationOrder:t.calculationOrder.flatMap(d=>{let p=A.findIndex(m=>Rn(t.fields[m.field].data.ref)===Rn(d)&&m.draft.actions?.calculate);return p<0?[]:[p]}),dropped:o}}function RF(e){let t=[],r=[];return e.bundle.fields.forEach(({data:n},i)=>{let a=YA(n)?Yr(n):null;if(!a)return;let o=e.target.find(s=>cr(s,{kind:"fqn",name:n.name}));if(!o)r.push({ref:n.ref,reason:"no-field"});else if(o.kind!==n.kind)r.push({ref:n.ref,reason:"wrong-kind"});else{let s=e.refusal?.(o,a);s?r.push({ref:n.ref,reason:s}):t.push({field:i,target:o,value:a})}}),{writes:t,dropped:r}}function TF(e,t,r){let n=yF.safeParse(e);if(!n.success){let i=n.error.issues[0],a=i.path.join(".");throw new g(f.InvalidArg,`${t}${a?` member '${a}'`:""}: ${i.message}`,{details:{...r,...a?{field:a}:{}}})}return e}function S7(e,t,r,n){let i=`import: field ${n}`;return TF(tp(e,e.name,t,r,i),i,{item:n})}function MF(e){let t=np(e);for(let r of t.creates)TF(r.draft,`copy: field ${r.source}`,{item:r.source});return t}var Nt=[32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,8226,8364,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,381,8216,8217,8220,8221,8211,8212,732,8482,353,8250,339,382,376,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],W7={courier:{ascent:803,descent:-248,programHash:"955500bf0048e07e3046477b3874ef9e7653010a2bc780bbf27f837d7ca34d19",codePoints:Nt,advances:[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]},"courier-bold":{ascent:811,descent:-248,programHash:"386d8684b075c7ff4911235ae9691d5e9e924fff13fa1f17841c6d4d4f3762e6",codePoints:Nt,advances:[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]},"courier-bold-oblique":{ascent:811,descent:-248,programHash:"d1dae62980ea92bfa86f9e3961a3064e164e41a5064211f2a3a8833643a322a5",codePoints:Nt,advances:[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]},"courier-oblique":{ascent:803,descent:-248,programHash:"d790f273acf84a1afada2cf96a6eb646728a1a6e7afe961a2cc846bb3a501b0b",codePoints:Nt,advances:[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]},helvetica:{ascent:945,descent:-224,programHash:"93fe419ed14bac240018cf4506dbb64643eeeee379c0b51d3c52d239f4adbc58",codePoints:Nt,advances:[278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,350,667,222,556,333,1e3,556,556,333,1e3,667,333,1e3,611,222,222,333,333,556,1e3,333,1e3,500,366,944,500,667,333,556,556,556,556,260,556,333,737,370,612,584,737,333,400,584,333,333,333,556,537,278,333,333,365,612,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,584,611,556,556,556,556,500,556,500]},"helvetica-bold":{ascent:962,descent:-227,programHash:"f11bf41cf5d115966ee4d954d9d3eab4a7d1b63d371e5d655fc82d15350bc929",codePoints:Nt,advances:[278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,1072,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,350,722,278,556,500,1e3,556,556,333,1e3,667,333,1e3,611,278,278,500,500,556,1e3,333,1e3,556,333,944,500,667,333,556,556,556,556,280,556,333,737,370,556,584,737,333,400,584,333,333,333,611,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,584,611,611,611,611,611,556,611,556]},"helvetica-bold-oblique":{ascent:962,descent:-227,programHash:"9cd559e9d134dd6bb8bb75186d4302079e78ebee53a7c9b38dea1fba52a534d8",codePoints:Nt,advances:[278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,528,556,556,556,556,333,333,584,584,584,611,1072,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,350,722,278,556,500,1e3,556,556,333,1e3,667,333,1e3,611,278,278,500,500,556,1e3,333,1e3,556,333,944,500,667,333,556,556,556,556,280,556,333,737,370,556,584,737,333,400,584,333,333,333,611,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,584,519,611,611,611,611,556,611,556]},"helvetica-oblique":{ascent:951,descent:-224,programHash:"872e4efa9cc73daff4a3fffa952663f32144db19ec91a8407afc359486eae30b",codePoints:Nt,advances:[278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1116,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,350,667,222,556,333,1e3,556,556,333,1e3,667,350,1e3,611,222,222,333,333,556,1e3,333,1e3,500,333,944,500,667,333,556,556,556,556,260,556,333,737,370,556,584,737,333,400,584,333,333,333,556,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,584,611,556,556,556,556,500,556,500]},"times-roman":{ascent:878,descent:-249,programHash:"7be927a55309ca34d67972ccf041ff3d156d774017022b18131fa365e6dd922e",codePoints:Nt,advances:[250,333,408,500,500,833,778,180,333,333,500,564,250,333,250,278,500,500,500,500,500,500,500,500,500,500,278,278,564,564,564,444,921,722,667,667,722,611,556,722,722,333,389,722,611,889,722,722,556,722,667,556,611,722,722,944,722,722,611,333,278,333,469,500,333,444,500,444,500,444,333,500,500,278,278,500,278,778,500,500,500,500,333,389,278,500,500,722,500,500,444,480,200,480,541,350,722,333,500,444,1e3,500,500,333,1e3,556,333,889,611,333,333,444,444,500,1e3,333,980,389,333,722,444,722,333,500,500,500,500,200,500,333,760,276,500,564,760,333,400,564,300,300,333,500,453,250,333,300,310,500,750,750,750,444,722,722,722,722,722,722,889,667,611,611,611,611,333,333,333,333,722,722,722,722,722,722,722,564,722,722,722,722,722,722,556,500,444,444,444,444,444,444,667,444,444,444,444,444,278,278,278,278,500,500,500,500,500,500,500,564,500,500,500,500,500,500,500,500]},"times-bold":{ascent:889,descent:-249,programHash:"f23f2efbfa079f9083d967acf695b10db7c78e39862dbeb4788a4fd0533ff29c",codePoints:Nt,advances:[250,333,555,500,500,1e3,833,278,333,333,500,570,250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,570,570,570,500,930,722,667,722,722,667,611,778,778,389,500,778,667,944,722,778,611,778,722,556,667,722,722,1e3,722,722,667,333,278,333,581,500,333,500,556,444,556,444,333,500,556,278,333,556,278,833,556,500,556,556,444,389,333,556,500,722,500,500,444,394,220,394,520,350,722,333,500,500,1e3,500,500,333,1e3,556,333,1e3,667,333,333,500,500,500,1e3,333,1e3,389,333,722,444,722,333,500,500,500,500,220,500,333,747,300,500,570,747,333,400,570,300,300,333,556,540,250,333,300,330,500,750,750,750,500,722,722,722,722,722,722,1e3,722,667,667,667,667,389,389,389,389,722,722,778,778,778,778,778,570,778,722,722,722,722,722,611,556,500,500,500,500,500,500,722,444,444,444,444,444,278,278,278,278,500,556,500,500,500,500,500,570,500,556,556,556,556,500,556,500]},"times-bold-italic":{ascent:869,descent:-249,programHash:"cf51fab68d7d965f5755218a7f99b0376bc440e1bb4e90498aef0964aac94490",codePoints:Nt,advances:[250,389,555,500,500,833,778,278,333,333,500,570,250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,570,570,570,500,832,667,667,667,722,667,667,722,778,389,500,667,611,889,722,722,611,722,667,556,611,722,667,889,667,611,611,333,278,333,570,500,333,500,500,444,500,444,333,500,556,278,278,500,278,778,556,500,500,500,389,389,278,556,444,667,500,444,389,348,220,348,570,350,667,333,500,500,1e3,500,500,333,1e3,556,333,944,611,333,333,500,500,500,1e3,333,1e3,389,333,722,389,611,389,500,500,500,500,220,500,333,747,266,500,606,747,333,400,570,300,300,333,576,500,250,333,300,300,500,750,750,750,500,667,667,667,667,667,667,944,667,667,667,667,667,389,389,389,389,722,722,722,722,722,722,722,570,722,722,722,722,722,611,611,500,500,500,500,500,500,500,722,444,444,444,444,444,278,278,278,278,500,556,500,500,500,500,500,570,500,556,556,556,556,444,500,444]},"times-italic":{ascent:868,descent:-249,programHash:"f405670768d71ff8d8a4e493cbcb9c6deff9565419bf63a38abb544789aa87b4",codePoints:Nt,advances:[250,333,420,500,500,833,778,214,333,333,500,675,250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,675,675,675,500,920,611,611,667,722,611,611,722,722,333,444,667,556,833,667,722,611,722,611,500,556,722,611,833,611,556,556,389,278,389,422,500,333,500,500,444,500,444,278,500,500,278,278,444,278,722,500,500,500,500,389,389,278,500,444,667,444,444,389,400,275,400,541,350,500,333,500,556,889,500,500,333,1e3,500,333,944,556,333,333,556,556,500,889,333,980,389,333,667,389,556,389,500,500,500,500,275,500,333,760,276,500,675,760,333,400,675,300,300,333,500,523,250,333,300,310,500,750,750,750,500,611,611,611,611,611,611,889,667,611,611,611,611,333,333,333,333,722,667,722,722,722,722,722,675,722,722,722,722,722,556,611,500,500,500,500,500,500,500,667,444,444,444,444,444,278,278,278,278,500,500,500,500,500,500,500,675,500,500,500,500,500,444,500,444]},symbol:{ascent:1010,descent:-293,programHash:"1f027bd5b336f563724a2cba62295329edbb3df7ca9efbe8f296d7a1e86849a1",codePoints:[32,33,8704,35,8707,37,38,8715,40,41,8727,43,44,8722,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,8773,913,914,935,916,917,934,915,919,921,977,922,923,924,925,927,928,920,929,931,932,933,962,937,926,936,918,91,8756,93,8869,95,63717,945,946,967,948,949,966,947,951,953,981,954,955,956,957,959,960,952,961,963,964,965,982,969,958,968,950,123,124,125,8764,8364,978,8242,8804,8260,8734,402,9827,9830,9829,9824,8596,8592,8593,8594,8595,176,177,8243,8805,215,8733,8706,8226,247,8800,8801,8776,8230,63718,63719,8629,8501,8465,8476,8472,8855,8853,8709,8745,8746,8835,8839,8836,8834,8838,8712,8713,8736,8711,63194,63193,63195,8719,8730,8901,172,8743,8744,8660,8656,8657,8658,8659,9674,9001,63720,63721,63722,8721,63723,63724,63725,63726,63727,63728,63729,63730,63731,63732,9002,8747,8992,63733,8993,63734,63735,63736,63737,63738,63739,63740,63741,63742],advances:[250,333,713,500,549,833,778,439,333,333,500,549,250,549,250,278,500,500,500,500,500,500,500,500,500,500,278,278,549,549,549,444,549,722,667,722,612,611,763,603,722,333,631,722,686,889,722,722,768,741,556,592,611,690,439,768,645,795,611,333,863,333,658,500,500,631,549,549,494,439,521,411,603,329,603,549,549,576,521,549,549,521,549,603,439,576,713,686,493,686,494,480,200,480,549,750,620,247,549,167,713,500,753,753,753,753,1042,987,603,987,603,400,549,411,549,549,713,494,460,549,549,549,549,1e3,603,1e3,658,823,686,795,987,768,768,823,768,768,713,713,713,713,713,713,713,768,713,790,790,890,823,549,250,713,603,603,1042,987,603,987,603,494,329,790,790,786,713,384,384,384,384,384,384,494,494,494,494,329,274,686,686,686,384,384,384,384,384,384,494,494,494]},"zapf-dingbats":{ascent:826,descent:-163,programHash:"0439c04b1c3ba23c2fd8c2f4a5f2c65b2b0f817588c45afd5c06a41eab70bfbd",codePoints:[32,9985,9986,9987,9988,9742,9990,9991,9992,9993,9755,9758,9996,9997,9998,9999,1e4,10001,10002,10003,10004,10005,10006,10007,10008,10009,10010,10011,10012,10013,10014,10015,10016,10017,10018,10019,10020,10021,10022,10023,9733,10025,10026,10027,10028,10029,10030,10031,10032,10033,10034,10035,10036,10037,10038,10039,10040,10041,10042,10043,10044,10045,10046,10047,10048,10049,10050,10051,10052,10053,10054,10055,10056,10057,10058,10059,9679,10061,9632,10063,10064,10065,10066,9650,9660,9670,10070,9687,10072,10073,10074,10075,10076,10077,10078,10081,10082,10083,10084,10085,10086,10087,9827,9830,9829,9824,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,10102,10103,10104,10105,10106,10107,10108,10109,10110,10111,10112,10113,10114,10115,10116,10117,10118,10119,10120,10121,10122,10123,10124,10125,10126,10127,10128,10129,10130,10131,10132,8594,8596,8597,10136,10137,10138,10139,10140,10141,10142,10143,10144,10145,10146,10147,10148,10149,10150,10151,10152,10153,10154,10155,10156,10157,10158,10159,10161,10162,10163,10164,10165,10166,10167,10168,10169,10170,10171,10172,10173,10174],advances:[278,974,961,974,980,719,789,790,791,690,960,939,549,855,911,933,911,945,974,755,846,762,761,571,677,763,760,759,754,494,552,537,577,692,786,788,788,790,793,794,816,823,789,841,823,833,816,831,923,744,723,749,790,792,695,776,768,792,759,707,708,682,701,826,815,789,789,707,687,696,689,786,787,713,791,785,791,873,761,762,762,759,759,892,892,788,784,438,138,277,415,392,392,668,668,732,544,544,910,667,760,760,776,595,694,626,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,894,838,1016,458,748,924,748,918,927,928,928,834,873,828,924,924,917,930,931,463,883,836,836,867,867,696,696,874,874,760,946,771,865,771,888,967,888,831,873,927,970,918]}};var U7="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",os=new Uint8Array(128);for(let e=0;e<64;e+=1)os[U7.charCodeAt(e)]=e;function wv(e){let t=e.endsWith("==")?2:e.endsWith("=")?1:0,r=new Uint8Array(e.length/4*3-t),n=0;for(let i=0;i>16),n>8&255),nPromise.resolve().then(()=>(NF(),LF)),"courier-bold":()=>Promise.resolve().then(()=>(KF(),jF)),"courier-bold-oblique":()=>Promise.resolve().then(()=>(YF(),VF)),"courier-oblique":()=>Promise.resolve().then(()=>(WF(),XF)),helvetica:()=>Promise.resolve().then(()=>(qF(),UF)),"helvetica-bold":()=>Promise.resolve().then(()=>(ZF(),zF)),"helvetica-bold-oblique":()=>Promise.resolve().then(()=>($F(),JF)),"helvetica-oblique":()=>Promise.resolve().then(()=>(tv(),ev)),"times-roman":()=>Promise.resolve().then(()=>(rv(),nv)),"times-bold":()=>Promise.resolve().then(()=>(av(),iv)),"times-bold-italic":()=>Promise.resolve().then(()=>(sv(),ov)),"times-italic":()=>Promise.resolve().then(()=>(cv(),Av)),symbol:()=>Promise.resolve().then(()=>(uv(),dv)),"zapf-dingbats":()=>Promise.resolve().then(()=>(lv(),pv))},z7=e=>`epdf-${e.slice(0,16)}`,mv=new Map;function Z7(e){let t=mv.get(e);if(t)return t;let r=W7[e].programHash,n=null,i={hash:r,family:z7(r),weight:mn[e].weight,style:mn[e].italic?"italic":"normal",load:()=>{if(!n){let a=q7[e]().then(o=>wv(o.default));a.catch(()=>{n===a&&(n=null)}),n=a}return n}};return mv.set(e,i),i}var J7="e9d14973462069b4906f8d22a9aaec2d6ec9eb02ac31d697631783316d8b8768",$7="AAEAAAAKAIAAAwAgT1MvMlUTUmMAAACsAAAAYGNtYXAAIrhhAAABDAAAADRnbHlmBX0EwQAAAUAAAAA4aGVhZGHSQ6EAAAF4AAAANmhoZWEFogH3AAABsAAAACRobXR4BRQAPAAAAdQAAAAIbG9jYQAcAAAAAAHcAAAABm1heHAABQAKAAAB5AAAACBuYW1lLeJOdAAAAgQAAAI6cG9zdP+fADIAAARAAAAAIAAEArwBkAAFAQACigJYAAAASwKKAlgAAAFeADIA+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFUERGAMAAIP//AyD/OAAAAyAAyAAAAAAAAAAAAfQCvAAAACAAAQAAAAEAAwAKAAAADAANAAAAAAAoAAAAAAAAAAIAAAAgAADX/wAAAAEAAOAAABD//wAAAAEAAgA8AAACgAK8AAMABwAAAQEBAQEBAQEAPAAAAkQAAP/EAAD+NAAAAAACvAAA/UQAPAJEAAD9vAABAAAAAQAAu91Pc18PPPUAAwPoAAAAAAAAAAAAAAAAAAAAAAA8AAACgAK8AAAACAACAAAAAAAAAAEAAAMg/zgAAAK8AAAAAAKAAAEAAAAAAAAAAAAAAAAAAAACAlgAAAK8ADwAAAAAABwAAAABAAAAAgAIAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACQByAAMAAQQJAAAANgAAAAMAAQQJAAEAKAA2AAMAAQQJAAIADgBeAAMAAQQJAAMANABsAAMAAQQJAAQAKACgAAMAAQQJAAUAGgDIAAMAAQQJAAYANADiAAMAAQQJAA0AXAEWAAMAAQQJAA4AVgFyAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADIANgAgAEMAbABvAHUAZABQAEQARgAgAEwAVABEAEUAbQBiAGUAZABQAEQARgAgAEwAYQBzAHQAIABSAGUAcwBvAHIAdABSAGUAZwB1AGwAYQByAEUAbQBiAGUAZABQAEQARgBMAGEAcwB0AFIAZQBzAG8AcgB0AC0AUgBlAGcAdQBsAGEAcgBFAG0AYgBlAGQAUABEAEYAIABMAGEAcwB0ACAAUgBlAHMAbwByAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMABFAG0AYgBlAGQAUABEAEYATABhAHMAdABSAGUAcwBvAHIAdAAtAFIAZQBnAHUAbABhAHIATABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMABoAHQAdABwAHMAOgAvAC8AdwB3AHcALgBhAHAAYQBjAGgAZQAuAG8AcgBnAC8AbABpAGMAZQBuAHMAZQBzAC8ATABJAEMARQBOAFMARQAtADIALgAwAAAAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAA==";function bv(){return wv($7)}var fv={standardDisplayHash:e=>Z7(e).hash,lastResortDisplayHash:J7};var Nc=new WeakSet;function ZP(e){Nc.has(e)||(e.fn.EPDF_InitThread(),Nc.add(e))}function e2(e){Nc.has(e)&&(e.fn.EPDF_ShutdownThread(),Nc.delete(e))}function O(e){if(e.aborted){let t=e.reason;throw t instanceof Error?t:new ji(t)}}function zn(e){let t=/^(?:D:)?(\d{4})(\d{2})?(\d{2})?(\d{2})?(\d{2})?(\d{2})?(?:([Zz])(?:00'?00'?)?|([+-])(\d{2})(?:'?(\d{2})'?)?)?$/.exec(e.trim());if(!t)return null;let[,r,n="01",i="01",a="00",o="00",s="00"]=t,[,,,,,,,A,d,p,m="00"]=t;if(!JP({year:r,month:n,day:i,hour:a,minute:o,second:s}))return null;let F="";if(A)F="Z";else if(d){if(Number(p)>23||Number(m)>59)return null;F=Number(p)===0&&Number(m)===0?"Z":`${d}${p}:${m}`}return`${r}-${n}-${i}T${a}:${o}:${s}${F}`}function gt(e=new Date){if(e instanceof Date){if(Number.isNaN(e.getTime()))throw new RangeError("Cannot format an invalid Date");return gt(`${e.toISOString().slice(0,19)}Z`)}let t=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2})(?:\.\d+)?)?(?:([Zz])|([+-])(\d{2}):(\d{2}))?$/.exec(e),r=t&&{year:t[1],month:t[2],day:t[3],hour:t[4],minute:t[5],second:t[6]??"00"};if(!t||!r||!JP(r))throw new g(f.InvalidArg,`not an ISO 8601 date and time: '${e}'`);let[,,,,,,,n,i,a,o]=t,s=n?"+00'00'":i?`${i}${a}'${o}'`:"",{year:A,month:d,day:p,hour:m,minute:F,second:h}=r;return`D:${A}${d}${p}${m}${F}${h}${s}`}function JP({year:e,month:t,day:r,hour:n,minute:i,second:a}){let o=Number(e),s=Number(t),A=Number(r);if(s<1||s>12||A<1)return!1;let d=new Date(Date.UTC(2e3,s,0)).getUTCDate(),p=o%4===0&&(o%100!==0||o%400===0);return A>(s===2&&!p?28:d)?!1:Number(n)<=23&&Number(i)<=59&&Number(a)<=59}function $P(e){return e>>>0}var Fv=4294967292,wl=$P;function t2(e){return($P(e)&Fv)>>>0===Fv}function fs(e){"@babel/helpers - typeof";return fs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fs(e)}function n2(e,t){if(fs(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(fs(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function r2(e){var t=n2(e,"string");return fs(t)=="symbol"?t:t+""}function V(e,t,r){return(t=r2(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var i2=class{constructor(){V(this,"byContent",null),V(this,"bySource",new Map),V(this,"hashes",new WeakMap)}forget(){this.byContent=null,this.bySource.clear()}};function Am(e,t,r){return e.FPDF_GetLastError()!==4?r:t?new g(f.DocPasswordIncorrect,"incorrect document password"):new g(f.DocPasswordRequired,"document requires a password")}function Y(e,t,r){let n=e.alloc(t);try{return r(n)}finally{e.free(n)}}function he(e,t,r){let n=t.map(i=>e.alloc(i));try{return r(n)}finally{for(let i=n.length-1;i>=0;i--)e.free(n[i])}}function an(e,t,r){return Y(e,Math.max(1,t.length)*4,n=>(t.forEach((i,a)=>e.poke(n,"i32",i,a*4)),r(n,t.length)))}function fe(e,t,r=""){let n=t(W,0);return n<=0?null:n===2?r:Y(e,n,i=>t(i,n)<=0?null:e.readU16String(i))}function Ye(e,t){let r=t(W,0);return r<=0?null:Y(e,r,n=>t(n,r)<=0?null:e.readU8String(n))}function Yt(e,t,r){let n=e.writeU16String(t);try{return r(n)}finally{e.free(n)}}function Zn(e,t,r){let n=e.writeU16String(t);try{return r(n)}finally{e.free(n)}}function eh(e,t,r){let n=new TextEncoder().encode(t),i=new Uint8Array(n.byteLength+1);i.set(n);let a=e.alloc(i.byteLength);try{return e.writeBytes(a,i),r(a)}finally{e.free(a)}}var rn=class{constructor(){V(this,"actions",[]),V(this,"closed",!1)}push(e){if(this.closed){e();return}this.actions.push(e)}close(){if(this.closed)return;this.closed=!0;let e=null;for(let t=this.actions.length-1;t>=0;t--)try{this.actions[t]?.()}catch(r){e??(e=r)}if(this.actions.length=0,e)throw e}};function th(e,t,r=null){let{mem:n,fn:i}=e,a=new rn,o=n.alloc(t.byteLength);a.push(()=>n.free(o));try{n.writeBytes(o,t);let s=i.FPDF_LoadMemDocument64(o,t.byteLength,r??"");if(!s)throw Am(i,r,new g(f.DocOpenFailed,"failed to open document"));return jc(e,s),a.push(()=>i.FPDF_CloseDocument(s)),{kind:"fat-memory",docPtr:s,source:{base:null,layer:null,password:r},close:()=>a.close()}}catch(s){throw a.close(),s}}function _n(e,t,r={kind:"fresh"},n=null){let{mem:i,fn:a}=e,o=new rn;o.push(()=>t.release());let s=null,A=i.alloc(4);try{i.poke(A,"i32",-1);let d;r.kind==="fresh"?d=a.EPDFLayer_OpenLayer(t.basePtr,W,n??"",A):r.kind==="artifact-file"&&e.kind==="native"?d=eh(i,r.path,F=>a.EPDFLayer_OpenLayerArtifactFromPath(t.basePtr,F,n??"",A)):(s=r.kind==="artifact-file"?e.fileAccess.fromNodeFile(r.path):e.fileAccess.fromMemory(r.bytes),o.push(()=>s?.close()),d=r.kind==="artifact"||r.kind==="artifact-file"?a.EPDFLayer_OpenLayerArtifact(t.basePtr,s.ptr,n??"",A):a.EPDFLayer_OpenLayer(t.basePtr,s.ptr,n??"",A));let p=Number(i.peek(A,"i32"));if(!d||p!==0)throw a2(p);jc(e,d),o.push(()=>a.FPDF_CloseDocument(d));let m=t.kind==="file"&&t.path!==void 0?{kind:"file",key:t.key,path:t.path}:{kind:"memory",key:t.key};return{kind:"layer",docPtr:d,source:{base:m,layer:r,password:n},close:()=>o.close()}}catch(d){throw o.close(),d}finally{i.free(A)}}function jc(e,t){let{fn:r}=e;r.EPDF_IsEncrypted&&r.EPDF_SetRuntimeOwnerPermissions&&r.EPDF_IsEncrypted(t)&&r.EPDF_SetRuntimeOwnerPermissions(t,!0)}function a2(e){switch(e){case 1:return new g(f.DocPasswordRequired,"layer requires a password");case 2:return new g(f.MalformedPdf,"layer delta is malformed");case 3:return new g(f.MalformedPdf,"layer artifact does not match the supplied base document");default:return new g(f.DocOpenFailed,"failed to open layer document")}}function Se(e,t,r,n=0){let i=BigInt(r);e.poke(t,"i32",Number(i&4294967295n)|0,n),e.poke(t,"i32",Number(i>>32n&4294967295n)|0,n+4)}function He(e,t,r=0){let n=Number(e.peek(t,"i32",r))>>>0;return(Number(e.peek(t,"i32",r+4))>>>0)*4294967296+n}var Ol={budgetBytes:384*1024*1024,idleMs:3e4},vv=64*1024,o2=40,s2=24,bl={place:"elsewhere",pixels:0},A2=1073741823,nh=class{constructor(e,t=Ol,r=()=>!1){this.runtime=e,this.policy=t,this.busy=r,V(this,"pages",new Map),V(this,"closedSizes",new Map),V(this,"workingSets",new Map),V(this,"totalBytes",0),V(this,"clock",0),V(this,"timer",null)}acquire(e,t,r){let n=this.take(e,r);if(!n){this.makeRoom(this.expectedBytes(e,r));let i=this.runtime.fn.EPDFDoc_LoadPageByObjectNumberNormalized(t,r);if(!i)throw Pv(r);n=this.add(e,r,i,!0)}if(n.refs++,!n.loaded){if(this.runtime.fn.EPDFPage_ContinueLoad(n.ptr,A2)!==1)throw this.drop(n),hv(r);n.loaded=!0}return this.measure(n),this.makeRoom(0),n.ptr}async acquireInSlices(e,t,r,n,i){O(n);let{fn:a}=this.runtime,o=this.take(e,r);if(!o){this.makeRoom(this.expectedBytes(e,r));let s=a.EPDFDoc_StartLoadPageByObjectNumber(t,r,!0);if(!s)throw Pv(r);o=this.add(e,r,s,!1)}for(o.refs++;!o.loaded;){let s=a.EPDFPage_ContinueLoad(o.ptr,i.budgetMs);if(s<0)throw this.drop(o),hv(r);if(o.loaded=s===1,this.measure(o),this.makeRoom(0),o.loaded)break;try{await i.between(),O(n)}catch(A){throw this.release(e,r),A}}return o.ptr}release(e,t){let r=this.pages.get(e)?.get(t);if(!(!r||r.refs<=0)&&(r.refs--,!(r.refs>0))){if(r.lastUsed=++this.clock,r.loaded&&!this.runtime.fn.EPDFPage_ResetRenderCache(r.ptr)){this.close(r);return}this.armTimer(),this.makeRoom(0)}}setWorkingSet(e,t,r){let n=new Map;for(let{pageObjectNumber:a,role:o,pixels:s}of r){let A={place:o,pixels:s},d=n.get(a);(!d||zr(A,d))&&n.set(a,A)}let i=this.workingSets.get(e);n.size>0?(i||(i=new Map,this.workingSets.set(e,i)),i.set(t,n)):(i?.delete(t),i?.size===0&&this.workingSets.delete(e)),this.totalBytes>0&&this.armTimer()}isHeld(e,t){return(this.pages.get(e)?.get(t)?.refs??0)>0}isKept(e,t){return this.pages.get(e)?.has(t)??!1}closeOwner(e){for(let t of[...this.pages.get(e)?.values()??[]])this.close(t);this.pages.delete(e),this.closedSizes.delete(e),this.workingSets.delete(e)}closeIdleOf(e){for(let t of[...this.pages.get(e)?.values()??[]])t.refs===0&&this.close(t)}closeIdle(){for(let e of[...this.pages.values()])for(let t of[...e.values()])t.refs===0&&this.close(t)}closeUnshown(){for(let e of[...this.pages.values()])for(let t of[...e.values()])t.refs===0&&this.placeOf(t).place!=="visible"&&this.close(t)}get size(){let e=0;for(let t of this.pages.values())e+=t.size;return e}get bytes(){return this.totalBytes}take(e,t){let r=this.pages.get(e)?.get(t);return r?r.refs===0&&!this.runtime.fn.EPDFPage_IsContentCurrent(r.ptr)?(this.close(r),null):(r.lastUsed=++this.clock,r):null}add(e,t,r,n){let i={owner:e,pageObjectNumber:t,ptr:r,refs:0,loaded:n,bytes:vv,lastUsed:++this.clock},a=this.pages.get(e);return a||(a=new Map,this.pages.set(e,a)),a.set(t,i),this.totalBytes+=i.bytes,i}measure(e){let{fn:t,mem:r}=this.runtime,n=Y(r,o2,a=>t.EPDFPage_GetParsedSize(e.ptr,a)?He(r,a,s2):0),i=vv+n;this.totalBytes+=i-e.bytes,e.bytes=i}expectedBytes(e,t){return this.closedSizes.get(e)?.get(t)??65536}makeRoom(e){let t=this.policy.budgetBytes>0?this.lastToCloseOverBudget():null;for(;this.totalBytes-(t?.bytes??0)+e>this.policy.budgetBytes;){let r=this.firstToClose(t);if(r)this.close(r);else if(t&&t.refs===0)this.close(t),t=null;else return}}firstToClose(e){let t=null,r=bl;for(let n of this.pages.values())for(let i of n.values()){if(i.refs>0||i===e)continue;let a=this.placeOf(i);(!t||zr(r,a)||!zr(a,r)&&i.lastUsede.lastUsed)&&(e=n,t=i)}return e}placeOf(e){let t=bl;for(let r of this.workingSets.get(e.owner)?.values()??[]){let n=r.get(e.pageObjectNumber);n&&zr(n,t)&&(t=n)}return t}close(e){if(e.loaded){let t=this.closedSizes.get(e.owner);t||(t=new Map,this.closedSizes.set(e.owner,t)),t.set(e.pageObjectNumber,e.bytes)}this.drop(e)}drop(e){this.runtime.fn.FPDF_ClosePage(e.ptr);let t=this.pages.get(e.owner);t?.delete(e.pageObjectNumber),t?.size===0&&this.pages.delete(e.owner),this.totalBytes-=e.bytes,this.totalBytes<=0&&this.disarmTimer()}armTimer(){this.policy.idleMs<=0||(this.disarmTimer(),this.timer=setTimeout(()=>{this.timer=null,this.busy()?this.armTimer():this.closeUnshown()},this.policy.idleMs),this.timer.unref?.())}disarmTimer(){this.timer&&clearTimeout(this.timer),this.timer=null}};function Pv(e){return new g(f.NotFound,`no page with object number ${e}`)}function hv(e){return new g(f.RuntimeUnavailable,`failed to load page object ${e}`)}var kv=class{constructor(e,t,r=null){this.docPtr=t,V(this,"residency",void 0),this.residency=r??new nh(e,{budgetBytes:0,idleMs:0})}acquire(e){return this.residency.acquire(this,this.docPtr,e)}acquireInSlices(e,t,r){return this.residency.acquireInSlices(this,this.docPtr,e,t,r)}isHeld(e){return this.residency.isHeld(this,e)}isKept(e){return this.residency.isKept(this,e)}release(e){this.residency.release(this,e)}setWorkingSet(e,t){this.residency.setWorkingSet(this,e,t)}closeIdle(){this.residency.closeIdleOf(this)}closeAll(){this.residency.closeOwner(this)}},Ql=class{constructor(e,t){this.runtime=e,V(this,"docPtr",null),V(this,"closeDocument",null),V(this,"_kind",null),V(this,"_source",null),V(this,"_sessionId",void 0),V(this,"recordsByObjectNumber",new Map),V(this,"recordsByIndex",new Map),V(this,"fullyEnumerated",!1),V(this,"cacheSeqCounter",0),V(this,"editsSeqCounter",0),V(this,"transaction",null),V(this,"unusableReason",null),V(this,"pages",null),V(this,"residency",null),V(this,"signedDocumentPolicy","protect"),V(this,"password",null),V(this,"persistLayerArtifact",!0),V(this,"loadedSeq",0),V(this,"plainSha256",null),V(this,"pendingSigning",null),V(this,"lastCompletion",null),V(this,"drawings",null),V(this,"parkedLoad",null),V(this,"objectNumberAuthority","session"),V(this,"heldObjectNumbers",new Set),V(this,"objectNumbersInUse",[]),V(this,"retained",[]),this._sessionId=t??d2()}get sessionId(){return this._sessionId}get kind(){return this._kind}get source(){if(!this._source)throw new g(f.DocNotOpen,"document is not open");return this._source}isOpen(){return this.docPtr!==null}open(e,t=null){this.openFromHandle(th(this.runtime,e,t))}openFromHandle(e){if(this.docPtr)throw e.close(),new g(f.InvalidArg,"document already open");this.docPtr=e.docPtr,this.closeDocument=()=>e.close(),this._kind=e.kind,this._source=e.source,this.pages=new kv(this.runtime,e.docPtr,this.residency),this.parkedLoad=null,this.drawings=null,this.loadedSeq=this.editsSeqCounter}hasUnsavedEdits(){return this.editsSeqCounter!==this.loadedSeq}cachedPlainSha256(){return this.plainSha256&&this.plainSha256.loadedSeq===this.loadedSeq?this.plainSha256.sha256:null}rememberPlainSha256(e){this.plainSha256={loadedSeq:this.loadedSeq,sha256:e}}install(e){if(!this.docPtr)throw e.close(),new g(f.DocNotOpen,"no document to replace");let t=null;try{this.pages?.closeAll()}catch(r){t=r}try{this.closeDocument?.()}catch(r){t??(t=r)}if(this.docPtr=e.docPtr,this.closeDocument=()=>e.close(),this._kind=e.kind,this._source=e.source,this.pages=new kv(this.runtime,e.docPtr,this.residency),this.recordsByIndex.clear(),this.recordsByObjectNumber.clear(),this.fullyEnumerated=!1,this.cacheSeqCounter++,this.editsSeqCounter++,this.loadedSeq=this.editsSeqCounter,this.pendingSigning=null,this.drawings=null,this.heldObjectNumbers.clear(),this.objectNumbersInUse=[],t)throw t}versionRef(e){return{baseSha256:e,editsVersion:this.editsSeqCounter}}parkLocked(e){if(this.docPtr)throw new g(f.InvalidArg,"document already open");this.parkedLoad=e}isLocked(){return this.docPtr===null&&this.parkedLoad!==null}unlockWith(e){if(!this.parkedLoad)throw new g(f.DocNotOpen,"document session is not locked");this.parkedLoad(e),this.parkedLoad=null}pageCount(){return this.runtime.fn.FPDF_GetPageCount(this.requireDocPtr())}ensureFullPageRegistry(){if(this.fullyEnumerated)return;let{fn:e}=this.runtime,t=this.requireDocPtr(),r=e.FPDF_GetPageCount(t);for(let n=0;nthis.resolvePageRef(t).pageObjectNumber)}allRecords(){return this.ensureFullPageRegistry(),Array.from(this.recordsByIndex.entries()).sort(([e],[t])=>e-t).map(([,e])=>e)}refreshPageRegistry(){this.recordsByIndex.clear(),this.recordsByObjectNumber.clear(),this.fullyEnumerated=!1,this.ensureFullPageRegistry()}cacheSeq(){return this.cacheSeqCounter}invalidateDerived(){this.cacheSeqCounter++}editsSeq(){return this.editsSeqCounter}noteEdit(){this.editsSeqCounter++}clearMissingCharacters(){this.docPtr&&this.runtime.fn.EPDFDoc_ClearMissingCharacters(this.docPtr)}missingCharacters(){if(!this.docPtr)return[];let{fn:e,mem:t}=this.runtime,r=this.docPtr,n=[],i=e.EPDFDoc_CountMissingCharacters(r);for(let a=0;ae.EPDFDoc_GetMissingCharacter(r,a,s,A));o&&n.push(o)}return n}inTransaction(){return this.transaction!==null}beginTransaction(e){let t=this.requireDocPtr();if(this.transaction)throw new g(f.Unknown,"a transaction is already open");if(!this.runtime.fn.EPDFLayer_BeginTransaction(t))throw new g(f.Unknown,"EPDFLayer_BeginTransaction refused");this.transaction={docPtr:t,opId:e,undoable:!1}}writeStamp(){let{opId:e,undoable:t}=this.requireTransaction();return{opId:e,undoable:t}}markUndoable(){this.requireTransaction().undoable=!0}commitTransaction(){let{docPtr:e}=this.requireTransaction();if(!this.runtime.fn.EPDFLayer_IsInTransaction(e))throw new g(f.Unknown,"the layer transaction is no longer open");let t=this.runtime.fn.EPDFLayer_GetLastObjectNumber(e);if(t>IA)throw new g(f.LayerFull,`the document would pass object number ${IA}`,{details:{lastObjectNumber:t}});this.transaction=null;let r=!1;try{r=this.runtime.fn.EPDFLayer_CommitTransaction(e)}finally{r||(this.unusableReason=Dv)}if(!r)throw new g(f.DocNotOpen,Dv);for(let n of this.objectNumbersInUse)this.heldObjectNumbers.delete(n);this.objectNumbersInUse=[]}abortTransaction(){let{docPtr:e}=this.requireTransaction();this.transaction=null,this.objectNumbersInUse=[];let t=!1;try{t=this.runtime.fn.EPDFLayer_AbortTransaction(e)}catch{}this.drawings?.forget(),this.recordsByIndex.clear(),this.recordsByObjectNumber.clear(),this.fullyEnumerated=!1,this.invalidateDerived(),t||(this.unusableReason="a layer transaction failed to abort")}lastObjectNumber(){return this.runtime.fn.EPDFLayer_GetLastObjectNumber(this.requireDocPtr())}raiseLastObjectNumber(e){if(!this.runtime.fn.EPDFLayer_RaiseLastObjectNumber(this.requireDocPtr(),e))throw new g(f.LayerFull,`the document would pass object number ${e}`,{details:{lastObjectNumber:this.lastObjectNumber()}})}reserveObjectNumbers(e){if(this.objectNumberAuthority!=="session")throw new g(f.InvalidArg,"object numbers are handed out by the caller, not this session");if(!Number.isInteger(e)||e<1)throw new g(f.InvalidArg,`cannot reserve ${e} object numbers`,{details:{field:"count"}});let{fn:t}=this.runtime,r=this.requireDocPtr(),n=t.EPDFLayer_GetLastObjectNumber(r);if(n+e>Ru)throw new g(f.LayerFull,"no more object numbers to hand out",{details:{lastObjectNumber:n}});if(!t.EPDFLayer_RaiseLastObjectNumber(r,n+e))throw new g(f.Unknown,"EPDFLayer_RaiseLastObjectNumber refused");let i={first:n+1,count:e};for(let a=0;a=0;t--)try{this.retained[t]()}catch(r){e??(e=r)}if(this.retained.length=0,e)throw e}},Dv="a layer transaction failed to commit",c2=0;function d2(){return`sess_${(++c2).toString(36)}_${Date.now().toString(36)}`}function gs(e,t){return new g(f.ObjectNumberUnavailable,t==="not-held"?`object number ${e} isn't one this session holds`:`an object already has object number ${e}`,{details:{objectNumber:e,reason:t}})}function Bv(e,t){return Am(e.fn,t,new g(f.DocOpenFailed,"failed to open base document"))}var u2=class{constructor(e){this.runtime=e,V(this,"entries",new Map)}acquireMemoryBase(e){let t=this.retain(e.key);if(t)return t;let{mem:r,fn:n}=this.runtime,i=new rn,a=r.alloc(e.bytes.byteLength);i.push(()=>r.free(a));try{r.writeBytes(a,e.bytes);let o=n.EPDF_LoadMemBaseDocument64(a,e.bytes.byteLength,e.password??"");if(!o)throw Bv(this.runtime,e.password);return jc(this.runtime,o),i.push(()=>n.EPDF_ReleaseBaseDocument(o)),this.supplyKnownSha(o,e.knownSha256),this.insert({key:e.key,kind:"memory",basePtr:o,refs:1,close:()=>i.close()})}catch(o){throw i.close(),o}}acquireFileBase(e){let t=this.retain(e.key);if(t)return t;let{fn:r}=this.runtime,n=new rn,i=null;try{i=this.runtime.fileAccess.fromNodeFile(e.path),n.push(()=>i?.close());let a=r.EPDF_LoadBaseDocument(i.ptr,e.password??"");if(!a)throw Bv(this.runtime,e.password);return jc(this.runtime,a),n.push(()=>r.EPDF_ReleaseBaseDocument(a)),this.supplyKnownSha(a,e.knownSha256),this.insert({key:e.key,kind:"file",path:e.path,basePtr:a,refs:1,close:()=>n.close()})}catch(a){throw n.close(),a}}retainByKey(e){return this.retain(e)}supplyKnownSha(e,t){if(!t||!/^[0-9a-fA-F]{64}$/.test(t))return;let{mem:r,fn:n}=this.runtime,i=new Uint8Array(32);for(let o=0;o<32;o++)i[o]=parseInt(t.slice(o*2,o*2+2),16);let a=r.alloc(32);try{r.writeBytes(a,i),n.EPDF_SetBaseDocumentSha256(e,a)}finally{r.free(a)}}releaseAll(){let e=Array.from(this.entries.values());this.entries.clear();let t=null;for(let r of e)try{r.close()}catch(n){t??(t=n)}if(t)throw t}getRefCountForTesting(e){return this.entries.get(e)?.refs??0}retain(e){let t=this.entries.get(e);return t?(t.refs++,this.handleFor(t)):null}insert(e){return this.entries.set(e.key,e),this.handleFor(e)}handleFor(e){let t=!1;return{key:e.key,kind:e.kind,...e.path!==void 0?{path:e.path}:{},basePtr:e.basePtr,release:()=>{if(t)return;t=!0;let r=this.entries.get(e.key);r&&(r.refs--,!(r.refs>0)&&(this.entries.delete(e.key),r.close()))}}}};function Bn(e,t,r,n){return e.EPDF_HasMetaText(r,n)?fe(t,(i,a)=>e.FPDF_GetMetaText(r,n,i,a),""):null}function p2(e,t,r,n,i){return Ye(t,(a,o)=>e.EPDF_GetMetaKeyName(r,n,i,a,o))}function l2(e,t,r){let n=Number(e.EPDF_GetMetaKeyCount(r,!0))|0,i={};for(let a=0;ae.EPDF_SetMetaText(r,n,a))}var f2=new Set(["Title","Author","Subject","Keywords","Producer","Creator","CreationDate","ModDate","Trapped"]);function g2(e){if(f2.has(e))return`'${e}' is a standard key; set it with metadata.update`;if(!e||e.length>127||e[0]==="/")return`'${e}' can't be a custom key: 1 to 127 characters, no leading slash`;for(let t=0;t126)return`'${e}' can't be a custom key: printable ASCII only`}return null}function F2(e,t,r,n){let i=Object.entries(n);for(let[a]of i){let o=g2(a);if(o)throw new g(f.InvalidArg,o,{details:{field:a}})}for(let[a,o]of i)if(!ls(e,t,r,a,o))throw new g(f.Unknown,`failed to write metadata ${a}`)}var v2=1,P2=2,h2=3;function k2(e,t,r){let n=r==="true"?v2:r==="false"?P2:h2;return e.EPDF_SetMetaTrapped(t,n)}var D2=[["title","Title"],["author","Author"],["subject","Subject"],["keywords","Keywords"],["producer","Producer"],["creator","Creator"]];function B2(e,t,r,n){let i=a=>{throw new g(f.Unknown,`failed to write metadata ${a}`)};for(let[a,o]of D2){let s=n[a];s!==void 0&&(ls(e,t,r,o,s)||i(o))}n.createdAt!==void 0&&(ls(e,t,r,"CreationDate",n.createdAt===null?null:gt(n.createdAt))||i("CreationDate")),n.modifiedAt!==void 0&&(ls(e,t,r,"ModDate",n.modifiedAt===null?null:gt(n.modifiedAt))||i("ModDate")),n.trapped!==void 0&&(k2(e,r,n.trapped)||i("Trapped"))}var E2="http://www.w3.org/XML/1998/namespace",rh="http://www.w3.org/2000/xmlns/";function _2(e){try{return new S2(e).read()}catch(t){if(t instanceof ot)return null;throw t}}function*ih(e){yield e;for(let t of e.children)yield*ih(t)}function Rl(e){return y2(e).replace(/&/g,"&").replace(//g,">").replace(/\r/g," ")}function Ev(e){return Rl(e).replace(/"/g,""").replace(/'/g,"'").replace(/\t/g," ").replace(/\n/g," ")}function Sc(e,t){return e?`${e}:${t}`:t}function y2(e){let t="";for(let r of e){let n=r.codePointAt(0);!(n<32&&n!==9&&n!==10&&n!==13)&&!(n>=55296&&n<=57343)&&n!==65534&&n!==65535&&(t+=r)}return t}var ot=class extends Error{},_v=/&(?:#x([0-9a-fA-F]+)|#([0-9]+)|(lt|gt|amp|quot|apos));/g,G2={lt:"<",gt:">",amp:"&",quot:'"',apos:"'"},C2=/[ \t\r\n]/,I2=/[ \t\r\n/>=<"']/;function yv(e){if(!e.includes("&"))return e;if(e.replace(_v,"").includes("&"))throw new ot;return e.replace(_v,(t,r,n,i)=>{if(i)return G2[i];let a=r?parseInt(r,16):Number(n);if(a>1114111)throw new ot;return String.fromCodePoint(a)})}function Gv(e){let t=e.indexOf(":");return t<0?{prefix:"",local:e}:{prefix:e.slice(0,t),local:e.slice(t+1)}}var S2=class{constructor(e){this.text=e,V(this,"at",0),V(this,"open",[]),V(this,"root",null)}read(){let{text:e}=this;for(;this.atthis.at&&this.addText(e.slice(this.at,r)),t<0)break;e.startsWith("",t+4):e.startsWith("",t+2):e.startsWith("0||!this.root)throw new ot;return this.root}after(e,t){let r=this.text.indexOf(e,t);if(r<0)throw new ot;return r+e.length}skipSpace(e){let t=e;for(;t",e+9);if(t<0)throw new ot;this.addText(this.text.slice(e+9,t),!0),this.at=t+3}skipDeclaration(e){let t=0;for(let r=e+2;r"&&t<=0){this.at=r+1;return}}throw new ot}readStartTag(e){let{text:t}=this,r=this.readName(e+1),n=[],i=e+1+r.length,a,o=!1;for(;;){let P=this.skipSpace(i);if(t.startsWith("/>",P)){a=P,o=!0;break}if(t[P]===">"){a=P;break}if(P===i||P>=t.length)throw new ot;let B=this.readName(P),y=this.skipSpace(P+B.length);if(t[y]!=="=")throw new ot;y=this.skipSpace(y+1);let x=t[y];if(x!=='"'&&x!=="'")throw new ot;let I=t.indexOf(x,y+1);if(I<0)throw new ot;let S=t.slice(y+1,I);if(S.includes("<"))throw new ot;n.push({qname:B,...Gv(B),ns:null,value:yv(S.replace(/[\t\r\n]/g," ")),start:P,end:I+1,valueStart:y+1,valueEnd:I}),i=I+1}let s=this.open[this.open.length-1]??null;if(!s&&this.root)throw new ot;let A=new Map(s?.scope??[]);for(let P of n)P.qname==="xmlns"?A.set("",P.value):P.prefix==="xmlns"&&A.set(P.local,P.value);let d=P=>P==="xml"?E2:A.get(P)||null;for(let P of n)P.ns=P.qname==="xmlns"||P.prefix==="xmlns"?rh:P.prefix?d(P.prefix):null;let p=a+(o?2:1),{prefix:m,local:F}=Gv(r),h={qname:r,prefix:m,local:F,ns:d(m),attributes:n,scope:A,parent:s,children:[],text:"",start:e,startTagClose:a,startTagEnd:p,selfClosing:o,endTagStart:p,end:p};s?s.children.push(h):this.root=h,o||this.open.push(h),this.at=p}readEndTag(e){let t=this.readName(e+2),r=this.skipSpace(e+2+t.length),n=this.open.pop();if(this.text[r]!==">"||!n||n.qname!==t)throw new ot;n.endTagStart=e,n.end=r+1,this.at=r+1}};function x2(e,t){let r=_2(e),n=r&&[...ih(r)].find(o=>Kc(o,"RDF"));if(!n)return null;let i=n.children.filter(o=>Kc(o,"Description")),a=new Q2(e,n);for(let{property:o,value:s,add:A}of t){let d=i.flatMap(B=>B.children.filter(y=>Cv(y,o))),p=i.flatMap(B=>B.attributes.filter(y=>Cv(y,o)).map(y=>({attribute:y,description:B})));if(s===null){d.forEach(B=>a.removeElement(B)),p.forEach(({attribute:B})=>a.removeAttribute(B));continue}let[m,...F]=d,[h,...P]=p;if(m)(F.length>0||p.length>0||!O2(m,s))&&(a.replaceElement(m,s),F.forEach(B=>a.removeElement(B)),p.forEach(({attribute:B})=>a.removeAttribute(B)));else if(h&&s.kind==="text")(P.length>0||h.attribute.value!==s.text)&&(a.replaceAttributeValue(h.attribute,s.text),P.forEach(({attribute:B})=>a.removeAttribute(B)));else if(h)p.forEach(({attribute:B})=>a.removeAttribute(B)),a.addProperty(h.description,o,s);else if(A){let B=i.find(y=>H2(y,o.ns))??i[0];a.addProperty(B??null,o,s)}}return a.result()}function Kc(e,t){return e.ns==="http://www.w3.org/1999/02/22-rdf-syntax-ns#"&&e.local===t}function Cv(e,t){return e.ns===t.ns&&e.local===t.name}function H2(e,t){return e.attributes.some(r=>r.ns==="http://www.w3.org/2000/xmlns/"&&r.value===t)}function O2(e,t){if(e.attributes.some(o=>o.ns==="http://www.w3.org/1999/02/22-rdf-syntax-ns#"))return!1;if(t.kind==="text")return e.children.length===0&&e.text===t.text;let[r,...n]=e.children,i={alt:"Alt",seq:"Seq",bag:"Bag"}[t.kind];if(!r||n.length>0||!Kc(r,i))return!1;let a=r.children;if(!a.every(o=>Kc(o,"li")&&o.children.length===0))return!1;if(t.kind==="alt"){let[o]=a,s=o?.attributes.find(A=>A.ns==="http://www.w3.org/XML/1998/namespace"&&A.local==="lang");return a.length===1&&s?.value==="x-default"&&o.text===t.text}return a.length===t.items.length&&a.every((o,s)=>o.text===t.items[s])}var Q2=class{constructor(e,t){this.packet=e,this.rdf=t,V(this,"splices",[]),V(this,"additions",new Map)}removeElement(e){this.splices.push({start:this.spaceBefore(e.start),end:e.end,text:""})}removeAttribute(e){this.splices.push({start:this.spaceBefore(e.start),end:e.end,text:""})}replaceAttributeValue(e,t){this.splices.push({start:e.valueStart,end:e.valueEnd,text:Ev(t)})}replaceElement(e,t){let r=e.attributes.filter(i=>i.ns===rh).map(i=>` ${this.packet.slice(i.start,i.end)}`).join(""),n=fl(e.scope,"http://www.w3.org/1999/02/22-rdf-syntax-ns#")??"rdf";this.splices.push({start:e.start,end:e.end,text:Iv(e.qname,r,n,t)})}addProperty(e,t,r){let n=this.additionsFor(e),i=e?.scope??this.rdf.scope,a=fl(i,t.ns,!1)??this.declare(n,i,t),o=fl(i,"http://www.w3.org/1999/02/22-rdf-syntax-ns#")??"rdf";n.children.push(Iv(Sc(a,t.name),"",o,r))}result(){for(let[n,i]of this.additions)this.writeAdditions(n,i);let e=this.splices.map((n,i)=>({splice:n,index:i})).sort((n,i)=>n.splice.start-i.splice.start||n.splice.end-n.splice.start-(i.splice.end-i.splice.start)||n.index-i.index),t="",r=0;for(let{splice:n}of e){if(n.start` xmlns:${i}="${Ev(a)}"`).join("");if(!e){let i=this.rdf.prefix,a=Sc(i,"Description"),o=`<${a} ${Sc(i,"about")}=""${r}>${t.children.join("")}`;this.insertInto(this.rdf,o);return}r&&this.splices.push({start:e.startTagClose,end:e.startTagClose,text:r});let n=this.childIndent(e);this.insertInto(e,t.children.map(i=>n+i).join(""))}insertInto(e,t){if(e.selfClosing){this.splices.push({start:e.startTagClose,end:e.startTagEnd,text:`>${t}`});return}let r=e.children[e.children.length-1],n=r?r.end:e.startTagEnd;this.splices.push({start:n,end:n,text:t})}childIndent(e){let[t]=e.children,r=t?this.packet.slice(e.startTagEnd,t.start):this.packet.slice(e.startTagEnd,e.endTagStart);return/^\s*$/.test(r)?t?r:r&&`${r} `:""}spaceBefore(e){let t=e;for(;t>0&&/\s/.test(this.packet[t-1]);)t--;return t}};function fl(e,t,r=!0){let n;for(let[i,a]of e)if(a===t){if(i)return i;r&&(n=i)}return n}function Iv(e,t,r,n){let i=A=>Sc(r,A),a=(A,d="")=>`<${i("li")}${d}>${Rl(A)}`,o=(A,d)=>`<${i(A)}>${d}`,s;switch(n.kind){case"text":s=Rl(n.text);break;case"alt":s=o("Alt",a(n.text,' xml:lang="x-default"'));break;case"seq":s=o("Seq",n.items.map(A=>a(A)).join(""));break;case"bag":s=o("Bag",n.items.map(A=>a(A)).join(""));break}return`<${e}${t}>${s}`}function R2(e,t,r){let n=e.EPDFCatalog_GetMetadata(r,W,0);if(n<=0)return null;let i=Y(t,n,o=>e.EPDFCatalog_GetMetadata(r,o,n)===n?t.readBytes(o,n):null),a=i&&M2(i);if(!i||!a)return null;try{return{text:new TextDecoder(a,{fatal:!0,ignoreBOM:!0}).decode(i),encoding:a}}catch{return null}}function T2(e,t,r,n){let i=L2(n);return Y(t,Math.max(i.length,1),a=>(t.writeBytes(a,i),e.EPDFCatalog_SetMetadata(r,a,i.length)))}function M2(e){let[t=1,r=1,n=1,i=1]=e;return t===254&&r===255?"utf-16be":t===255&&r===254?n===0&&i===0?null:"utf-16le":t===0&&r===0?null:t===0?"utf-16be":r===0?n===0?null:"utf-16le":"utf-8"}function L2({text:e,encoding:t}){if(t==="utf-8")return new TextEncoder().encode(e);let r=new Uint8Array(e.length*2),n=new DataView(r.buffer);for(let i=0;i({ns:e,prefix:t,name:r}),j2={title:{property:nn(xc,"dc","title"),kind:"alt"},author:{property:nn(xc,"dc","creator"),kind:"seq"},subject:{property:nn(xc,"dc","description"),kind:"alt"},keywords:{property:nn(Tl,"pdf","Keywords"),kind:"text"},creator:{property:nn(cm,"xmp","CreatorTool"),kind:"text"},producer:{property:nn(Tl,"pdf","Producer"),kind:"text"}},K2=nn(cm,"xmp","CreateDate"),V2=nn(cm,"xmp","ModifyDate"),Y2=nn(Tl,"pdf","Trapped"),X2=nn(xc,"dc","subject"),W2={true:"True",false:"False",unknown:"Unknown"};function U2(e){let t=[],r=(n,i,a=!0)=>t.push({property:n,value:i,add:a});for(let[n,{property:i,kind:a}]of Object.entries(j2)){let o=e[n];o!==void 0&&(o===null?r(i,null):a==="seq"?r(i,{kind:a,items:[o]}):r(i,{kind:a,text:o}))}if(e.keywords!==void 0){let n=e.keywords===null?null:z2(e.keywords);r(X2,n&&{kind:"bag",items:n},!1)}return e.createdAt!==void 0&&r(K2,xv(e.createdAt)),e.modifiedAt!==void 0&&r(V2,xv(e.modifiedAt)),e.trapped!==void 0&&r(Y2,{kind:"text",text:W2[e.trapped]}),t}function q2(e){return Object.entries(e).filter(([t])=>/^[A-Za-z_][A-Za-z0-9._-]*$/.test(t)).map(([t,r])=>({property:nn(N2,"pdfx",t),value:r===null?null:{kind:"text",text:r},add:!1}))}function z2(e){return e.split(/[,;]/).map(t=>t.trim()).filter(t=>t!=="")}function xv(e){if(e===null)return null;let t=gt(e);return{kind:"text",text:zn(t)??t}}var dm=class{constructor(e,t){this.runtime=e,this.session=t}update(e,t){O(t);let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr();return B2(r,n,i,e),Sv(r,n,i,U2(e)),O(t),{metadata:new vi(this.runtime,this.session).read(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}updateCustom(e,t){O(t);let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr();return F2(r,n,i,e),Sv(r,n,i,q2(e)),O(t),{custom:new vi(this.runtime,this.session).readCustom(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}},Hv={bytes:124,offsets:{looseBox:0,tightBox:16,looseQuad:32,tightQuad:64,matrix:96,flags:120},flags:{hasTightBox:1,hasLooseQuad:2,hasTightQuad:4,upright:8,space:16,empty:32,synthesized:64}};function Gn(e,t,r=0){return{left:pe(e,t,r),top:pe(e,t,r+4),right:pe(e,t,r+8),bottom:pe(e,t,r+12)}}function ah(e,t,r){e.poke(t,"f32",r.left,0),e.poke(t,"f32",r.top,4),e.poke(t,"f32",r.right,8),e.poke(t,"f32",r.bottom,12)}function Z2(e,t){return{a:pe(e,t,0),b:pe(e,t,4),c:pe(e,t,8),d:pe(e,t,12),e:pe(e,t,16),f:pe(e,t,20)}}function pe(e,t,r=0){return Number(e.peek(t,"f32",r))}function _e(e,t,r=0){return Number(e.peek(t,"i32",r))}var st={unknown:0,xyz:1,fit:2,fitH:3,fitV:4,fitR:5,fitB:6,fitBH:7,fitBV:8},J2={fit:st.fit,fitH:st.fitH,fitV:st.fitV,fitR:st.fitR,fitB:st.fitB,fitBH:st.fitBH,fitBV:st.fitBV},Ov=4;function ed(e,t,r,n){let i=e.EPDFDest_GetPageObjectNumber(r,n);if(i===0)return null;let a=ue(i),o=he(t,[8,Ov*4],([d,p])=>{let m=e.FPDFDest_GetView(n,d,p),F=Math.min(_e(t,d),Ov),h=[];for(let P=0;Pdthis.limits.maxModels||this.nodes>this.limits.maxNodes||this.scriptCodeUnits>this.limits.maxScriptCodeUnits||this.targetEntries>this.limits.maxTargetEntries||this.payloadCodeUnits>this.limits.maxPayloadCodeUnits)throw new g(f.MalformedPdf,"aggregate PDF action read budget exceeded",{details:{models:this.models,nodes:this.nodes,scriptCodeUnits:this.scriptCodeUnits,targetEntries:this.targetEntries,payloadCodeUnits:this.payloadCodeUnits,limits:this.limits}})}};function vr(e,t,r,n,i){if(n===W)return null;try{let a=e.EPDFAction_GetNodeCount(n);if(!Number.isInteger(a)||a<0)throw Hc("invalid node count",{nodeCount:a});i.addModel(a);let o=e.EPDFAction_GetWarningFlags(n)>>>0,s=!e.EPDFAction_IsComplete(n),A=aI(e.EPDFAction_GetRootNode(n),a),d=new Set,p=!1,m=G=>{let Q=G(W,0);return Q<=0?null:(i.reservePayloadBytes(Q),Ye(t,G))},F=G=>he(t,[4],([Q])=>G(Q)?_e(t,Q)!==0:null),h=(G,Q)=>he(t,[4],([K])=>{if(!e.EPDFAction_GetNodeTargetObjectNumber(n,G,Q,K))return null;let ve=_e(t,K)>>>0;return ve===0?null:ve}),P=(G,Q)=>{let K=[];for(let ve=0;vee.EPDFAction_GetNodeTargetName(n,G,ve,q,oe));if(ge!==null){K.push({kind:"name",name:ge});continue}let R=h(G,ve);if(R===null)return null;K.push({kind:"objectNumber",objectNumber:R})}return K},B=G=>he(t,[4,4],([Q,K])=>e.EPDFAction_GetNodeResetForm(n,G,Q,K)?{hasFields:_e(t,Q)!==0,exclude:_e(t,K)!==0}:null),y=G=>he(t,[4,4],([Q,K])=>e.EPDFAction_GetNodeSubmitForm(n,G,Q,K)?{hasFields:_e(t,Q)!==0,flags:_e(t,K)>>>0}:null),x=G=>{if(d.has(G))throw Hc("native action model contains a cycle",{nodeId:G});d.add(G);try{let Q=iI(e.EPDFAction_GetNodeType(n,G)),K=Ye(t,(q,oe)=>e.EPDFAction_GetNodeSubtype(n,G,q,oe))??"",ve=e.EPDFAction_GetNextCount(n,G);if(!Number.isInteger(ve)||ve<0)throw Hc("invalid action child count",{nodeId:G,nextCount:ve});let ge=[];for(let q=0;q(p=!0,{type:"unknown",subtype:K,next:ge});switch(Q){case"javascript":{if(!e.EPDFAction_NodeHasJavaScript(n,G))return R();let q=fe(t,(oe,se)=>e.EPDFAction_GetNodeJavaScript(n,G,oe,se))??"";return i.addScript(q),{type:Q,subtype:K,script:q,next:ge}}case"rendition":{if(!e.EPDFAction_NodeHasJavaScript(n,G))return{type:Q,subtype:K,next:ge};let q=fe(t,(oe,se)=>e.EPDFAction_GetNodeJavaScript(n,G,oe,se))??"";return i.addScript(q),{type:Q,subtype:K,script:q,next:ge}}case"goto":{let q=e.EPDFAction_GetNodeDest(r,n,G),oe=q!==W?ed(e,t,r,q):null;return oe?{type:Q,subtype:K,destination:oe,next:ge}:R()}case"uri":{let q=m((oe,se)=>e.EPDFAction_GetNodeURI(r,n,G,oe,se));return q===null?R():{type:Q,subtype:K,uri:q,isMap:F(oe=>e.EPDFAction_GetNodeURIIsMap(n,G,oe))??!1,next:ge}}case"named":{let q=m((oe,se)=>e.EPDFAction_GetNodeName(n,G,oe,se));return q===null?R():{type:Q,subtype:K,name:q,next:ge}}case"hide":{let q=e.EPDFAction_GetNodeTargetCount(n,G);if(!Number.isInteger(q)||q<0)return R();i.reserveTargets(q);let oe=P(G,q);return oe===null?R():{type:Q,subtype:K,targets:oe,hide:F(se=>e.EPDFAction_GetNodeHideFlag(n,G,se))??!0,next:ge}}case"reset-form":{let q=B(G),oe=e.EPDFAction_GetNodeTargetCount(n,G);if(q===null||!Number.isInteger(oe)||oe<0)return R();i.reserveTargets(oe);let se=q.hasFields?P(G,oe):null;return q.hasFields&&se===null?R():{type:Q,subtype:K,fields:se,exclude:q.exclude,next:ge}}case"submit-form":{if(typeof e.EPDFAction_GetNodeSubmitForm!="function")return{type:Q,subtype:K,next:ge};let q=y(G);if(q===null)return R();let oe=m((Be,un)=>e.EPDFAction_GetNodeSubmitFormURL(n,G,Be,un));if(oe===null)return R();let se=e.EPDFAction_GetNodeTargetCount(n,G);if(!Number.isInteger(se)||se<0)return R();i.reserveTargets(se);let ut=q.hasFields?P(G,se):null;if(q.hasFields&&ut===null)return R();let z=m((Be,un)=>e.EPDFAction_GetNodeSubmitFormCharSet(n,G,Be,un));return{type:Q,subtype:K,payload:{url:oe,fields:ut,...zu(q.flags),...z===null?{}:{charSet:z}},next:ge}}case"goto-remote":case"goto-embedded":case"launch":{let q=m((oe,se)=>e.EPDFAction_GetNodeFilePath(n,G,oe,se));return q===null?R():{type:Q,subtype:K,filePath:q,next:ge}}default:return{type:Q,subtype:K,next:ge}}}finally{d.delete(G)}},I=A===null?null:x(A),S=oI(o,s);return p&&S.push("payload-dropped"),{root:I,incomplete:s,warnings:S}}finally{e.EPDFAction_CloseModel(n)}}function aI(e,t){return e===-1||e===Qv||e>>>0===Qv?null:oh(e,t)}function oh(e,t){if(!Number.isInteger(e)||e<0||e>=t)throw Hc("native action model returned an invalid node id",{raw:e,nodeCount:t});return e}function oI(e,t){let r=[];return(e&tI)!==0&&r.push("cycle-dropped"),(e&nI)!==0&&r.push("malformed-next"),((e&rI)!==0||t)&&r.push("incomplete"),r}function Hc(e,t){return new g(f.MalformedPdf,e,{details:t})}var sh={x:0,y:1,distance:2,area:3,angle:4,slope:5},Ml=["decimal","fraction","round","truncate"],Ah=["thousands","decimal","prefixSpacing","suffixSpacing"];function Le(e){if(!e)throw new g(f.Unknown,"Measurement native write failed after preflight")}function Da(e,t,r="f32"){return Y(e,4,n=>t(n)?Number(e.peek(n,r)):void 0)}function Ll(e,t,r){return t?Y(e,8,n=>(e.poke(n,"f32",t.x),e.poke(n,"f32",t.y,4),r(n))):r(W)}function ch(e,t,r){if(!r)return;let n=e.EPDFMeasure_GetSubtype(r);if(n!==1)return{subtype:n===2?"geospatial":"unknown"};let i=d=>Array.from({length:e.EPDFMeasure_CountFormats(r,d)},(p,m)=>{let F=e.EPDFMeasure_GetFormat(r,d,m),h={unit:fe(t,(S,G)=>e.EPDFNumberFormat_GetUnit(F,S,G))??""},P=Da(t,S=>e.EPDFNumberFormat_GetConversion(F,S));P!==void 0&&(h.conversion=P);let B=Da(t,S=>e.EPDFNumberFormat_GetFraction(F,S),"i32");B!==void 0&&Ml[B]&&(h.fraction=Ml[B]);let y=Da(t,S=>e.EPDFNumberFormat_GetPrecision(F,S),"i32");y!==void 0&&(h.precision=y);let x=Da(t,S=>e.EPDFNumberFormat_GetFixedDenominator(F,S),"i32");x!==void 0&&(h.fixed=!!x);let I=Da(t,S=>e.EPDFNumberFormat_GetLabelPosition(F,S),"i32");I!==void 0&&(h.labelPosition=I===1?"prefix":"suffix");for(let[S,G]of Ah.entries()){let Q=fe(t,(K,ve)=>e.EPDFNumberFormat_GetText(F,S,K,ve));Q!==null&&(h[G]=Q)}return h}),a=fe(t,(d,p)=>e.EPDFMeasure_GetRatio(r,d,p)),o=Y(t,8,d=>e.EPDFMeasure_GetOrigin(r,d)?{x:Number(t.peek(d,"f32")),y:Number(t.peek(d,"f32",4))}:void 0),s=Da(t,d=>e.EPDFMeasure_GetCYX(r,d)),A={subtype:"rectilinear",x:i(0),distance:i(2),area:i(3),...a!==null?{ratio:a}:{},...o?{origin:o}:{},...s!==void 0?{cyx:s}:{}};for(let d of["y","angle","slope"]){let p=i(sh[d]);p.length&&(A[d]=p)}return A}function dh(e,t,r,n){Le(r),n.ratio!==void 0&&Le(Yt(t,n.ratio,i=>e.EPDFMeasure_SetRatio(r,i))),n.origin&&Le(Ll(t,n.origin,i=>e.EPDFMeasure_SetOrigin(r,i))),n.cyx!==void 0&&Y(t,4,i=>{t.poke(i,"f32",n.cyx),Le(e.EPDFMeasure_SetCYX(r,i))});for(let[i,a]of Object.entries(sh))for(let o of n[i]??[]){let s=t.writeU16String(o.unit),A;try{A=e.EPDFMeasure_AddFormat(r,a,s,o.conversion)}finally{t.free(s)}Le(A),o.fraction!==void 0&&Le(e.EPDFNumberFormat_SetFraction(A,Ml.indexOf(o.fraction))),o.precision!==void 0&&Le(e.EPDFNumberFormat_SetPrecision(A,o.precision)),o.fixed!==void 0&&Le(e.EPDFNumberFormat_SetFixedDenominator(A,o.fixed)),o.labelPosition!==void 0&&Le(e.EPDFNumberFormat_SetLabelPosition(A,o.labelPosition==="prefix"?1:0));for(let[d,p]of Ah.entries())o[p]!==void 0&&Le(Yt(t,o[p],m=>e.EPDFNumberFormat_SetText(A,d,m)))}}function um(e,t,r,n){let i=[],a=e.EPDFPage_CountViewportsRaw(r,n);for(let o=0;oe.EPDFViewport_GetBBox(s,m)?Ce(Gn(t,m)):void 0);if(!A)continue;let d=fe(t,(m,F)=>e.EPDFViewport_GetName(s,m,F)),p=ch(e,t,e.EPDFViewport_GetMeasure(s));i.push({bbox:A,owned:d===no&&(!p||p.subtype==="rectilinear"),name:d,measure:p??null})}finally{e.EPDFViewport_Close(s)}}return i}function uh(e){return e.kind==="wasm"?4:8}function ph(e,t,r,n){e.kind==="wasm"?e.mem.poke(t,"i32",Number(n),r):e.mem.poke(t,"i64",BigInt(n),r)}function Fs(e,t,r){let n=uh(e);return Y(e.mem,Math.max(1,t.length*n),i=>(t.forEach((a,o)=>ph(e,i,o*n,a)),r(i,t.length)))}function Ia(e,t,r){let{mem:n}=e,i=t.map(a=>n.writeU16String(a));try{return Fs(e,i,r)}finally{for(let a=i.length-1;a>=0;a--)n.free(i[a])}}var lh=[null,"decimal","upperRoman","lowerRoman","upperLetters","lowerLetters"];function mh(e,t){let{fn:r,mem:n}=e,i=r.EPDFDoc_GetPageLabelSectionCount(t),a=[];return he(n,[4,4,4],([o,s,A])=>{for(let d=0;dr.EPDFDoc_GetPageLabelSectionAt(t,d,m,F,o,s,A));a.push({firstPage:_e(n,o),style:lh[_e(n,s)]??null,firstNumber:_e(n,A),prefix:p??""})}}),a}function sI(e,t,r){let{fn:n,mem:i}=e;if(!an(i,r.map(a=>a.firstPage),a=>an(i,r.map(o=>lh.indexOf(o.style)),o=>an(i,r.map(s=>s.firstNumber),s=>Ia(e,r.map(A=>A.prefix),(A,d)=>n.EPDFDoc_SetPageLabelSections(t,a,o,s,A,d))))))throw new g(f.Unknown,"EPDFDoc_SetPageLabelSections refused",{details:{sections:r.length}})}var AI=0,cI=1,dI=2,uI=3,pI=4,Vt=class{constructor(e,t){this.runtime=e,this.session=t}read(e){O(e);let{fn:t,mem:r}=this.runtime,n=this.session.requireDocPtr(),i=this.session.allRecords(),a=new Di,o=mh(this.runtime,n);return he(r,[16,4,4],([s,A,d])=>{let p=i.map(m=>{O(e);let F=m.pageIndex,h=lI(t,r,n,m.pageObjectNumber,a),P=um(t,r,n,F),B=Gs(t,r,n,F,s);return{index:F,ref:ue(m.pageObjectNumber),label:Lu(o,F),size:Zd(B.crop),rotation:wh(t,r,n,F,d),userUnit:bI(t,r,n,F,A),tabOrder:gI(t,r,n,F),boxes:B,pdfCropBox:B.crop,...h?{actions:h}:{},...P.length?{viewports:P}:{}}});return{pageCount:p.length,pages:p,labels:o,namedPages:hI(t,r,n)}})}};function lI(e,t,r,n,i){let a={},o=vr(e,t,r,e.EPDFDoc_GetPageActionModel(r,n,0),i),s=vr(e,t,r,e.EPDFDoc_GetPageActionModel(r,n,1),i);return o&&(a.open=o),s&&(a.close=s),o||s?a:void 0}function mI(e,t,r,n,i,a){if(e.EPDF_GetPageBoxByIndex(r,n,i,a))return Ce(Gn(t,a))}function qn(e,t){let r=new Map,n=null;return i=>{let a=r.get(i.objectNumber);if(a)return a;n??(n=new Map(t.allRecords().map(m=>[m.pageObjectNumber,m.pageIndex])));let o=n.get(i.objectNumber);if(o===void 0)throw new g(f.NotFound,`no page with object number ${i.objectNumber}`);let{fn:s,mem:A}=e,d=t.requireDocPtr(),p=Y(A,16,m=>Gs(s,A,d,o,m).crop);return r.set(i.objectNumber,p),p}}function Gs(e,t,r,n,i){let a=o=>mI(e,t,r,n,o,i);return dp({media:a(AI),crop:a(cI),bleed:a(dI),trim:a(uI),art:a(pI)})}function wI(e,t,r){return Y(e.mem,4,n=>wh(e.fn,e.mem,t,r,n))}function wh(e,t,r,n,i){return e.EPDF_GetPageRotateByIndex(r,n,i)?up(_e(t,i)):0}function bI(e,t,r,n,i){if(!e.EPDF_GetPageUserUnitByIndex(r,n,i))return 1;let a=pe(t,i,0);return Number.isFinite(a)&&a>0?a:1}var fI={R:"rows",C:"columns",S:"structure",A:"annotations",W:"widgets"};function gI(e,t,r,n){let i=Ye(t,(a,o)=>e.EPDF_GetPageTabOrderByIndex(r,n,a,o));return i?fI[i]??null:null}var FI=[0,1],vI=0,PI=1;function hI(e,t,r){let n=[];return he(t,[4,4],([i,a])=>{for(let o of FI){let s=e.EPDFDoc_GetNamedPageCount(r,o);for(let A=0;Ae.EPDFDoc_GetNamedPageAt(r,o,A,F,h,i,a),"");if(d===null)continue;let p=Number(t.peek(i,"i32"))>>>0,m=Number(t.peek(a,"i32"));n.push({name:d,target:m===vI?{kind:"page",page:ue(p)}:m===PI?{kind:"template",objectNumber:p}:{kind:"dangling"}})}}}),n}function Oc(e,t,r){if(t==="start")return 0;if(t==="end")return r;let{pageIndex:n}=e.resolvePageRef(Nr(t));return"before"in t?n:n+1}var Nl=class{constructor(e,t){this.runtime=e,this.session=t}reorder(e,t,r){let n=this.session.resolvePageRefs(e);O(r),this.requireUniquePageObjectNumbers("pages.reorder",n);let i=Nr(t);if(i&&n.includes(i.objectNumber))throw new g(f.InvalidArg,`pages.reorder: the neighbour page ${i.objectNumber} is one of the pages that move`,{details:{field:"position"}});let{fn:a,mem:o}=this.runtime,s=this.session.requireDocPtr(),A=n.map(P=>(O(r),this.session.recordByObjectNumber(P).pageIndex)),d=Oc(this.session,t,a.FPDF_GetPageCount(s)),p=d-A.filter(P=>P=a)throw new g(f.InvalidArg,`pages.delete would remove every page (${r.length} of ${a}); a document must keep at least one`);let o=this.session.pagePool();for(let s of r)if(this.session.recordByObjectNumber(s),o.isHeld(s))throw new g(f.Unknown,`internal invariant violation: pagePtr for page ${s} is still held during pages.delete`);for(let s of r)if(!n.EPDFDoc_DeletePageByObjectNumber(i,s))throw new g(f.Unknown,`EPDFDoc_DeletePageByObjectNumber rejected page ${s} after validation`);return this.session.refreshPageRegistry(),{layout:new Vt(this.runtime,this.session).read(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}setName(e,t){if(O(t),e.name.length===0)throw new g(f.InvalidArg,"pages.setName requires a non-empty name");let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=this.session.resolvePageRef(e.page).pageObjectNumber;if(e.replace!==void 0&&e.replace!==e.name&&e.replace.length>0&&Yt(n,e.replace,o=>r.EPDFDoc_RemoveNamedPage(i,o)),!Yt(n,e.name,o=>r.EPDFDoc_SetNamedPage(i,o,a)))throw new g(f.Unknown,`EPDFDoc_SetNamedPage rejected '${e.name}' for page ${a}`);return{layout:new Vt(this.runtime,this.session).read(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}removeName(e,t){if(O(t),e.name.length===0)throw new g(f.InvalidArg,"pages.removeName requires a non-empty name");let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr();if(!Yt(n,e.name,a=>r.EPDFDoc_RemoveNamedPage(i,a)))throw new g(f.NotFound,`pages.removeName: no /Names /Pages registration '${e.name}'`);return{layout:new Vt(this.runtime,this.session).read(t),meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}requireUniquePageObjectNumbers(e,t){if(t.length===0)throw new g(f.InvalidArg,`${e} requires at least one page`);let r=new Set;for(let n of t){if(r.has(n))throw new g(f.InvalidArg,`${e} was given duplicate page object number ${n}`);r.add(n)}}},kI=2,DI=0,BI=1,EI=1,_I=2,yI=class{constructor(e,t){this.runtime=e,this.session=t}extract(e,t,r){if(O(r),e.length===0)throw new g(f.InvalidArg,"pages.extract requires at least one page");let n=this.session.resolvePageRefs(e),i=new Set;for(let h of n){if(i.has(h))throw new g(f.InvalidArg,`pages.extract was given duplicate page object number ${h}`);i.add(h)}let a=n.map(h=>this.session.recordByObjectNumber(h).pageIndex),{fn:o,mem:s}=this.runtime,A=this.session.requireDocPtr(),d=s.alloc(4*a.length);for(let h=0;hfe(i,(p,m)=>n.EPDFForm_GetFieldPartialName(r,d,p,m))??""),s=CI(e,t),A=new Set([...s,...o]);a.forEach((d,p)=>{let m=o[p];if(!s.has(m))return;let F=m;for(let h=2;A.has(F);h++)F=`${m}_${h}`;if(A.add(F),!Zn(i,F,h=>n.EPDFForm_SetFieldName(r,d,h)))throw new g(f.Unknown,`pages.insert could not rename the inserted field "${m}" to "${F}"`)})}function GI(e,t){let{fn:r,mem:n}=e,i=r.EPDFDoc_GetImportFieldRoots(t,W,0,W,0);return i<=0?[]:Y(n,i*4,a=>(r.EPDFDoc_GetImportFieldRoots(t,W,0,a,i),Array.from({length:i},(o,s)=>Number(n.peek(a,"i32",s*4)))))}function CI(e,t){let{fn:r,mem:n}=e,i=Ee(e,t),a=new Set;for(let o=0;or.EPDFForm_GetFieldName(i,o,A,d));s&&a.add(s.split(".")[0])}return a}function sn(e,t,r){let{pageIndex:n}=t.resolvePageRef(ue(r)),i=e.fn.EPDFPage_PromoteInlineAnnotsRaw(t.requireDocPtr(),n);if(i<0)throw new g(f.Unknown,`the inline annotations of page ${r} could not be promoted`);return i===0?!1:(t.pagePool().closeIdle(),!0)}var II=class{constructor(e,t){this.runtime=e,this.session=t}insert(e,t,r,n){if(O(r),e.byteLength===0)throw new g(f.InvalidArg,"pages.insert requires non-empty bytes");let{fn:i,mem:a}=this.runtime,o=this.session.requireDocPtr(),s=Oc(this.session,t,i.FPDF_GetPageCount(o)),A=a.alloc(e.byteLength),d=null;try{if(a.writeBytes(A,new Uint8Array(e)),d=i.FPDF_LoadMemDocument(A,e.byteLength,""),!d)throw Am(i,null,new g(f.MalformedPdf,"pages.insert source PDF could not be opened"));let p=i.FPDF_GetPageCount(d);if(p<=0)throw new g(f.InvalidArg,"pages.insert source PDF has no pages");Rv(this.runtime,this.session,d);let m=this.importInto(d,s,p,n,"pages.insert",r),F=d;return this.session.retainUntilClose(()=>{i.FPDF_CloseDocument(F),a.free(A)}),m}catch(p){throw d&&i.FPDF_CloseDocument(d),a.free(A),p}}copy(e,t,r,n){if(O(r),e.length===0)throw new g(f.InvalidArg,"pages.copy requires at least one page");let i=this.session.resolvePageRefs([...e]).map(d=>this.session.recordByObjectNumber(d).pageIndex),{fn:a}=this.runtime,o=this.session.requireDocPtr(),s=Oc(this.session,t,a.FPDF_GetPageCount(o)),A=a.FPDF_CreateNewDocument();if(!A)throw new g(f.Unknown,"FPDF_CreateNewDocument failed");try{if(!an(this.runtime.mem,i,(p,m)=>a.EPDFDoc_ImportPages(A,o,p,m,0,W)))throw new g(f.Unknown,`EPDFDoc_ImportPages rejected copying pages [${i.join(",")}] out`);Rv(this.runtime,this.session,A);let d=this.importInto(A,s,i.length,n,"pages.copy",r);return this.session.retainUntilClose(()=>a.FPDF_CloseDocument(A)),d}catch(d){throw a.FPDF_CloseDocument(A),d}}importInto(e,t,r,n,i,a){let{fn:o,mem:s}=this.runtime,A=this.session.requireDocPtr();if(n&&n.length!==r)throw new g(f.InvalidArg,`${i} needs one object number per page: ${n.length} for ${r}`,{details:{field:"objectNumbers"}});for(let m of n??[])this.session.claimObjectNumber(m);if(!(n?an(s,n,m=>o.EPDFDoc_ImportPages(A,e,W,0,t,m)):o.EPDFDoc_ImportPages(A,e,W,0,t,W)))throw new g(f.Unknown,`EPDFDoc_ImportPages rejected the ${i} at index ${t}`);this.session.refreshPageRegistry();let d=new Vt(this.runtime,this.session).read(a),p=d.pages.slice(t,t+r).map(m=>m.ref);for(let m of p)sn(this.runtime,this.session,m.objectNumber);return{insertedPages:p,layout:d,meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}insertBlank(e,t,r,n){O(r);let{size:i}=e,a=e.count??1;if(!Number.isFinite(i?.width)||!Number.isFinite(i?.height)||i.width<=0||i.height<=0)throw new g(f.InvalidArg,`pages.insertBlank size must have positive finite dimensions, got ${i?.width}x${i?.height}`);if(!Number.isInteger(a)||a<1||a>100)throw new g(f.InvalidArg,`pages.insertBlank count ${a} out of range [1, ${100}]`);let{fn:o}=this.runtime,s=this.session.requireDocPtr(),A=Oc(this.session,t,o.FPDF_GetPageCount(s));if(n&&n.length!==a)throw new g(f.InvalidArg,`pages.insertBlank needs one object number per page: ${n.length} for ${a}`,{details:{field:"objectNumbers"}});for(let p of n??[])this.session.claimObjectNumber(p);for(let p=0;pp.ref),layout:d,meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}}},SI=0,xI=1,HI=2,OI=class{constructor(e,t){this.runtime=e,this.session=t}flatten(e,t,r){O(r);let n=this.session.resolvePageRefs(e);QI(n);let i=[],a=new Set;for(let o of n){O(r),sn(this.runtime,this.session,o)&&a.add(o);let s=this.session.pagePool(),A=s.acquire(o),d;try{d=this.runtime.fn.EPDFPage_Flatten(A,t==="print"?1:0)}finally{s.release(o)}if(d===HI){i.push({page:ue(o),status:"unchanged"});continue}if(d!==xI)throw new g(f.Unknown,d===SI?"native page flatten failed after preflight":`native page flatten returned unexpected code ${d}`);a.add(o),i.push({page:ue(o),status:"applied"})}return a.size===0?{pages:e,usage:t,results:i,meta:{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}:(this.session.invalidateDerived(),{pages:e,usage:t,results:i,meta:{affectedPages:[...a].map(o=>ue(o)),cacheDelta:null,...this.session.writeStamp()}})}};function QI(e){if(e.length===0)throw new g(f.InvalidArg,"pages.flatten requires at least one page");let t=new Set;for(let r of e){if(t.has(r))throw new g(f.InvalidArg,`pages.flatten was given duplicate page object number ${r}`);t.add(r)}}function Ha(e,t,r,n,i,a){let o=e.EPDFAnnot_GetObjectNumber(i);return o<=0?{kind:"baseIndex",page:n,baseIndex:a}:bh(e,t,r,n,o)}function bh(e,t,r,n,i){let a=RI(e,t,r,i);return a===null?{kind:"objectNumber",page:n,objectNumber:i}:{kind:"baseIndex",page:n,baseIndex:a}}function RI(e,t,r,n){return he(t,[8,8],([i,a])=>(Se(t,i,0),Se(t,a,0),e.EPDFLayer_GetBirthName(r,n,i,a)?He(t,a):null))}function Bt(e,t,r){let{fn:n}=e,i=t.requireDocPtr(),{pageIndex:a}=t.resolvePageRef(r.page),o=r.page.objectNumber;switch(r.kind){case"objectNumber":{let s=n.EPDFPage_GetAnnotIndexByObjectNumberRaw(i,a,r.objectNumber);if(s<0)throw new g(f.NotFound,`no annotation with object number ${r.objectNumber} on page ${o}`);return{pageIndex:a,index:s}}case"baseIndex":{let s=TI(e,i,o,a,r.baseIndex);if(s<0)throw new g(f.NotFound,`no annotation born at position ${r.baseIndex} of page ${o}`);return{pageIndex:a,index:s}}}}function TI(e,t,r,n,i){let{fn:a}=e;if(a.EPDFLayer_IsPagePromoted(t,r)){let s=a.EPDFLayer_GetBirthObjectNumber(t,r,i);return s<=0?-1:a.EPDFPage_GetAnnotIndexByObjectNumberRaw(t,n,s)}if(i<0||i>=a.EPDFPage_GetAnnotCountRaw(t,n))return-1;let o=a.EPDFPage_GetAnnotRaw(t,n,i);if(!o)return-1;try{return a.EPDFAnnot_GetObjectNumber(o)>0?-1:i}finally{a.FPDFPage_CloseAnnot(o)}}function Cs(e,t,r){let{pageIndex:n,index:i}=Bt(e,t,r);return gi(e,t,n,i)}function gi(e,t,r,n){let i=e.fn.EPDFPage_GetAnnotRaw(t.requireDocPtr(),r,n);if(!i)throw new g(f.Unknown,`annotation ${n} of page index ${r} could not be opened`);return i}function fh(e,t,r){let{pageIndex:n,index:i}=Bt(e,t,r),a=gi(e,t,n,i),{fn:o,mem:s}=e;return{annotPtr:a,name:Ha(o,s,t.requireDocPtr(),r.page,a,i)}}function vs(e,t,r,n){let{index:i}=Bt(e,t,n),a=e.fn.FPDFPage_GetAnnot(r,i);if(!a)throw new g(f.Unknown,`annotation ${i} of page ${n.page.objectNumber} could not be opened`);return a}var MI=class{constructor(e,t){this.runtime=e,this.session=t}apply(e,t){O(t);let r=this.buildPlan(e);for(let A of r.keys())this.session.recordByObjectNumber(A);this.preflight(r,t);let{fn:n}=this.runtime,i=[],a=new Set,o=0;for(let[A,d]of r){O(t),sn(this.runtime,this.session,A)&&a.add(A);let p=this.session.pagePool(),m=p.acquire(A);try{let F=d===null?this.applyAllOnPage(m):this.applyRefsOnPage(m,d);F.status==="applied"&&(n.FPDFPage_GenerateContent(m),a.add(A),o+=F.removed),i.push({page:ue(A),status:F.status,removedAnnotationCount:F.removed})}finally{p.release(A)}}if(a.size===0){let A={affectedPages:[],cacheDelta:null,...this.session.writeStamp()};return{scope:e,results:i,removedAnnotationCount:o,meta:A}}this.session.invalidateDerived();let s={affectedPages:[...a].map(A=>ue(A)),cacheDelta:null,...this.session.writeStamp()};return{scope:e,results:i,removedAnnotationCount:o,meta:s}}buildPlan(e){let t=new Map;if("pages"in e){if(this.session.resolvePageRefs(e.pages).length===0)throw new g(f.InvalidArg,"redaction.apply requires at least one page");for(let r of this.session.resolvePageRefs(e.pages)){if(t.has(r))throw new g(f.InvalidArg,`redaction.apply was given duplicate page object number ${r}`);t.set(r,null)}return t}if(e.annotations.length===0)throw new g(f.InvalidArg,"redaction.apply requires at least one annotation ref");for(let r of e.annotations){let n=t.get(r.page.objectNumber);if(n===null)throw new g(f.InvalidArg,"mixed redaction scopes on one page");n?n.push(r):t.set(r.page.objectNumber,[r])}return t}preflight(e,t){let{fn:r}=this.runtime;for(let[n,i]of e){if(i===null)continue;O(t);let a=this.session.pagePool(),o=a.acquire(n);try{for(let s of i){let A=vs(this.runtime,this.session,o,s);try{let d=qr(r.FPDFAnnot_GetSubtype(A));if(d!=="redact")throw new g(f.InvalidArg,`redaction.apply ref on page ${n} resolves to a '${d}' annotation, not a redact annotation`)}finally{r.FPDFPage_CloseAnnot(A)}}}finally{a.release(n)}}}applyAllOnPage(e){let{fn:t,mem:r}=this.runtime,n=this.pageHasRedactAnnotations(e);return Y(r,4,i=>{if(!t.EPDFPage_ApplyRedactions(e,W,0,i)){if(n)throw new g(f.Unknown,"native page redaction apply failed");return{status:"unchanged",removed:0}}return{status:"applied",removed:_e(r,i)>>>0}})}pageHasRedactAnnotations(e){let{fn:t}=this.runtime,r=t.FPDFPage_GetAnnotCount(e);for(let n=0;nY(n,4,A=>{let d=r.EPDFPage_ApplyRedactions(e,o,s,A);return d&&(a=_e(n,A)>>>0),d})))throw new g(f.Unknown,"native redaction apply failed after preflight")}finally{for(let o of i)r.FPDFPage_CloseAnnot(o)}return{status:"applied",removed:a}}},gh=class{constructor(e,t){this.runtime=e,this.session=t}async read(e,t,r){O(t);let{fn:n}=this.runtime,i=this.session.pagePool(),a=await i.acquireInSlices(e,t,r);try{O(t);let o=n.FPDFText_LoadPage(a);if(!o)throw new g(f.RuntimeUnavailable,`FPDFText_LoadPage returned null for page object ${e}`);try{O(t);let s=Math.max(n.FPDFText_CountChars(o),0),A=LI(this.runtime,o,s),d=jI(this.runtime,o,e),p=vu(s,A.length,d);if(p!==null)throw new g(f.RuntimeUnavailable,`char map invariant violated for page object ${e}: ${p}`);return Fu(d.length>0?{text:A,charCount:s,charMap:d}:{text:A,charCount:s})}finally{n.FPDFText_ClosePage(o)}}finally{i.release(e)}}};function LI(e,t,r){if(r<=0)return"";let{fn:n,mem:i}=e,a=r*2+1;return Y(i,a*2,o=>{let s=n.EPDFText_GetTextFull(t,o,a);return s<=1?"":NI(i.readBytes(o,(s-1)*2))})}function NI(e){let t=new Uint16Array(e.buffer,e.byteOffset,e.byteLength>>1),r="",n=8192;for(let i=0;i{n.EPDFText_GetCharToTextMap(t,o,a);let s=i.readBytes(o,a*Tv),A=new Int32Array(s.buffer,s.byteOffset,a*2),d=new Array(a);for(let p=0;p=this.slices.budgetMs}async pause(){await this.slices.between(),O(this.signal),this.started=performance.now()}},KI=.0087,Fh=1,td=2,vh=class{constructor(e,t){this.runtime=e,this.session=t}async read(e,t,r){O(t);let{fn:n,mem:i}=this.runtime,a=this.session.pagePool(),o=await a.acquireInSlices(e,t,r);try{O(t);let s=n.FPDFText_LoadPage(o);if(!s)throw new g(f.RuntimeUnavailable,`FPDFText_LoadPage returned null for page object ${e}`);try{O(t);let A=Math.max(n.FPDFText_CountChars(s),0),d=[],p=i.alloc(Hv.bytes);try{let m=new pm(r,t),F=null;for(let h=0;h>>0;if(s&o.empty)return Lv();let A=!!(s&o.upright),d={flags:s&o.space?Fh:0,looseBox:Ce(Gn(i,r,a.looseBox)),upright:A,baselineAngle:0,ascentFlip:!1};if(s&o.hasTightBox&&(d.tightBox=Ce(Gn(i,r,a.tightBox))),s&o.hasLooseQuad&&(d.looseQuad=Nv(i,r,a.looseQuad),s&o.hasTightQuad&&(d.tightQuad=Nv(i,r,a.tightQuad)),!A)){let p=pe(i,r,a.matrix),m=pe(i,r,a.matrix+4),F=pe(i,r,a.matrix+8),h=pe(i,r,a.matrix+12);d.baselineAngle=Math.atan2(m,p),d.ascentFlip=p*h-m*F<0}return d}};function VI(e){let t=[],r=[],n=0,i,a=null,o,s=A=>{r.length>0&&(t.push(UI(r,n,i,o)),r=[],o=void 0),n=A};for(let A=0;Ao.looseQuad?{loose:o.looseQuad,...o.tightQuad?{tight:o.tightQuad}:{},...gl(o.flags)}:{loose:qI(),...gl(o.flags)});return{rect:Mv(e,o=>o.looseQuad?aA(o.looseQuad):Ph),start:t,glyphs:a,rotation:XI(n.baselineAngle),ascentFlip:n.ascentFlip,...r!==void 0?{fontSize:r}:{}}}let i=e.map(a=>({loose:a.looseBox,...a.tightBox?{tight:a.tightBox}:{},...gl(a.flags)}));return{rect:Mv(e,a=>a.looseBox),start:t,glyphs:i,...r!==void 0?{fontSize:r}:{}}}function gl(e){return{...e&Fh?{space:!0}:{},...e&td?{empty:!0}:{}}}function Mv(e,t){let r=null;for(let n of e){if(n.flags&td)continue;let i=t(n);if(!r){r={left:i.left,bottom:i.bottom,right:i.right,top:i.top};continue}r.left=Math.min(r.left,i.left),r.bottom=Math.min(r.bottom,i.bottom),r.right=Math.max(r.right,i.right),r.top=Math.max(r.top,i.top)}return r??{...Ph}}var Ph={left:0,bottom:0,right:0,top:0};function qI(){return{upperLeft:{x:0,y:0},upperRight:{x:0,y:0},lowerLeft:{x:0,y:0},lowerRight:{x:0,y:0}}}function Lv(){return{flags:td,looseBox:{left:0,bottom:0,right:0,top:0},upright:!0,baselineAngle:0,ascentFlip:!1}}function Nv(e,t,r){let n=i=>pe(e,t,r+i);return{upperLeft:{x:n(0),y:n(4)},upperRight:{x:n(8),y:n(12)},lowerLeft:{x:n(16),y:n(20)},lowerRight:{x:n(24),y:n(28)}}}var zI=4;function ZI(e,t,r){return hu({width:e.right-e.left,height:e.top-e.bottom},t,r)}function JI(e,t){let r=hh(e,t);if(!r)return null;try{return t.draw(r.bitmapPtr,r.matrixPtr,r.clipPtr)?r.read():null}finally{r.free()}}async function $I(e,t){let r=hh(e,t);if(!r)return null;try{return await t.draw(r.bitmapPtr,r.matrixPtr,r.clipPtr)?r.read():null}finally{r.free()}}function hh(e,t){let{fn:r,mem:n}=e,{rect:i,page:a,rotation:o,viewport:s,background:A}=t;if(i.right<=i.left||i.top<=i.bottom)return null;let d=tS(i,a),{width:p,height:m}=ZI(d,o,s);if(t.maxOutputPixels!==void 0&&p*m>t.maxOutputPixels)throw new g(f.InvalidArg,`render output ${p}x${m} exceeds the ${t.maxOutputPixels}-pixel budget \u2014 request a smaller width (or tiles, once available)`);let F=p*4,h=F*m,P=null,B=null,y=null,x=null,I=()=>{B&&r.FPDFBitmap_Destroy(B),x&&n.free(x),y&&n.free(y),P&&n.free(P)};try{if(P=n.alloc(h),B=r.FPDFBitmap_CreateEx(p,m,zI,P,F),!B)return I(),null;r.FPDFBitmap_FillRect(B,0,0,p,m,A==="transparent"?0:4294967295),y=n.alloc(24),nS(n,y,ku(eS(d),o,p,m)),x=n.alloc(16),n.poke(x,"f32",0,0),n.poke(x,"f32",0,4),n.poke(x,"f32",p,8),n.poke(x,"f32",m,12)}catch(G){throw I(),G}let S=P;return{bitmapPtr:B,matrixPtr:y,clipPtr:x,read:()=>({width:p,height:m,stride:F,color:"rgba8",premultipliedAlpha:!1,data:rS(n.readBytes(S,h))}),free:I}}function kh(e,t){let{fn:r,mem:n}=e,i=Y(n,16,a=>r.FPDF_GetPageBoundingBox(t,a)?Gn(n,a):null);return i?Ce(i):{left:0,bottom:0,right:r.FPDF_GetPageWidthF(t),top:r.FPDF_GetPageHeightF(t)}}function eS(e){return{x:e.left,y:e.bottom,width:e.right-e.left,height:e.top-e.bottom}}function tS(e,t){return{left:e.left-t.left,right:e.right-t.left,bottom:t.top-e.top,top:t.top-e.bottom}}function nS(e,t,r){for(let n=0;n<6;n++)e.poke(t,"f32",r[n],n*4)}function rS(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}var iS=1,aS=32768,oS=2048,sS=1,AS=2,jv=class{constructor(e,t){this.runtime=e,this.session=t}async render(e,t,r,n){O(r);let{fn:i}=this.runtime,a=this.session.pagePool(),o=await a.acquireInSlices(e,r,n);try{O(r),bu(t,null);let s=t.usage==="print",A=kh(this.runtime,o),d=cS(t.target,A),p=t.rotation??0,m=t.viewport??{kind:"scale",scale:1},F=FA(t,{annotations:!0,formFields:!0}),h=16;F.includeAnnotations&&(h|=iS),F.includeFormFields&&(h|=aS),s&&(h|=oS);let P=await $I(this.runtime,{rect:d,page:A,rotation:p,viewport:m,...t.maxOutputPixels!==void 0?{maxOutputPixels:t.maxOutputPixels}:{},background:t.background==="transparent"?"transparent":"white",draw:async(B,y,x)=>{O(r);let I=i.EPDF_RenderPageBitmapWithMatrix_Start(B,o,y,x,h,n.budgetMs);try{for(;I===sS;)await n.between(),O(r),I=i.EPDF_RenderPage_Continue(o,n.budgetMs)}finally{i.FPDF_RenderPage_Close(o)}return I===AS}});if(!P)throw new g(f.RuntimeUnavailable,`failed to render page object ${e}`);return{raster:P,area:d}}finally{a.release(e)}}};function cS(e,t){if(!e||e.kind==="page")return t;let r=Ce(e.rect);if(!(r.right>r.left&&r.top>r.bottom))throw new g(f.InvalidArg,"render rect must have positive area");return r}function Ps(e,t){return{docPtr:e.requireDocPtr(),...t?{fonts:t}:{}}}function Kv(e,t){if(e.family===void 0)return e;let r=t.programOf?.(e.family),n=Sr(e.family,t.describe),i={...e,family:n.family};return n.weight!==void 0&&e.weight===void 0&&(i.weight=n.weight),n.italic!==void 0&&e.italic===void 0&&(i.italic=n.italic),r!==void 0&&(i.program=r),i}function Dh(e,t={}){let r=e.body?Kv(e.body,t):void 0;r&&t.bodyProgram!==void 0&&(r.program=t.bodyProgram);let n=e.paragraphs.map(i=>({...i,runs:i.runs.map(a=>({...a,text:rr(a.text,"\r"),...a.style?{style:Kv(a.style,t)}:{}}))}));return JSON.stringify(r?{body:r,paragraphs:n}:{paragraphs:n})}function dS(e){return Bh(e)?.document??null}function Bh(e){let t;try{t=JSON.parse(e)}catch{return null}if(!t||typeof t!="object"||!t.body||!Array.isArray(t.paragraphs))return null;let{source:r,...n}=t.body,i=Vv(n),a=t.paragraphs.map(o=>{let{runs:s,...A}=o;return{...A,runs:(s??[]).map(d=>{let p=d,m=typeof p.text=="string"?rr(p.text,` +`):p.text;return p.style?{...p,text:m,style:Vv(p.style)}:{...p,text:m}})}});return{source:t.source,document:{body:i,paragraphs:a}}}function Vv(e){return typeof e.color=="string"?{...e,color:e.color.toLowerCase()}:e}function An(e,t,r){let n=Ye(t,(s,A)=>e.EPDFAnnot_GetRichTextJSON(r,s,A)),i=n?Bh(n):null;if(i?.source!=="rc")return null;let{body:a,paragraphs:o}=i.document;return{body:{...a,family:a.family||Mi.family},paragraphs:o}}function uS(e,t,r){let n=Ye(t,(i,a)=>e.EPDFAnnot_GetRichTextJSON(r,i,a));return n?dS(n):null}function jl(e){let t=Math.fround(e);if(!Number.isFinite(t))return t;for(let r=1;r<9;r++){let n=Number(t.toPrecision(r));if(Math.fround(n)===t)return n}return t}var Vc={invisible:1,hidden:2,print:4,noZoom:8,noRotate:16,noView:32,readOnly:64,locked:128,toggleNoView:256,lockedContents:512},lm=Object.keys(Vc);function pS(e){if(e===0)return{...Zs};let t={...Zs};for(let r of lm)t[r]=(e&Vc[r])!==0;return t}function lS(e,t){let r=e;for(let n of lm){let i=t[n];i!==void 0&&(i?r|=Vc[n]:r&=~Vc[n])}return r}function Eh(e){let t={};for(let r of lm)e[r]!==void 0&&(t[r]=e[r]);return Object.keys(t).length>0?t:null}var _h=0,yh=1,Gh=2,Ch=3,Ih=4,Sh=5,xh=6,Hh=7,Oh=8,Qh=9;function Yv(e){switch(e){case"square":return yh;case"circle":return Gh;case"diamond":return Ch;case"open-arrow":return Ih;case"closed-arrow":return Sh;case"butt":return xh;case"r-open-arrow":return Hh;case"r-closed-arrow":return Oh;case"slash":return Qh;default:return _h}}function Xv(e){switch(e){case yh:return"square";case Gh:return"circle";case Ch:return"diamond";case Ih:return"open-arrow";case Sh:return"closed-arrow";case xh:return"butt";case Hh:return"r-open-arrow";case Oh:return"r-closed-arrow";case Qh:return"slash";case _h:default:return"none"}}function Un(e,t,r,n){return e.FPDFAnnot_HasKey(r,n)?fe(t,(i,a)=>e.FPDFAnnot_GetStringValue(r,n,i,a),""):null}function Is(e,t,r){return Y(t,16,n=>e.FPDFAnnot_GetRect(r,n)?Gn(t,n):{left:0,bottom:0,right:0,top:0})}function mS(e,t){return pS(e.FPDFAnnot_GetFlags(t))}function Jn(e,t,r,n=0){return he(t,[4,4,4],([i,a,o])=>e.EPDFAnnot_GetColor(r,n,i,a,o)?Li(_e(t,i)&255,_e(t,a)&255,_e(t,o)&255):null)}function hs(e,t,r,n){return Y(t,4,i=>e.EPDFAnnot_GetBooleanValue(r,n,i)?_e(t,i)!==0:null)}function hr(e,t,r){return Y(t,4,n=>e.EPDFAnnot_GetOpacity(r,n)?jl(pe(t,n)):null)}function nd(e,t,r){return Y(t,4,n=>({styleCode:e.EPDFAnnot_GetBorderStyle(r,n),width:pe(t,n)}))}function wS(e,t,r){let n=e.EPDFAnnot_GetBorderDashPatternCount(r);return n<=0?[]:Y(t,n*4,i=>{if(!e.EPDFAnnot_GetBorderDashPattern(r,i,n))return[];let a=[];for(let o=0;o{if(!e.EPDFAnnot_GetBorderEffect(r,n))return null;let i=pe(t,n);return i>0?i:null})}function bS(e,t,r){return he(t,[4,4,4,4],([n,i,a,o])=>e.EPDFAnnot_GetRectangleDifferences(r,n,i,a,o)?{left:pe(t,n),bottom:pe(t,i),right:pe(t,a),top:pe(t,o)}:null)}function Rh(e,t,r){let n=e.FPDFAnnot_GetVertices(r,W,0);return n<=0?[]:Y(t,n*8,i=>{let a=e.FPDFAnnot_GetVertices(r,i,n);if(a<=0)return[];let o=[];for(let s=0;s{let d=e.FPDFAnnot_GetInkListPath(r,a,A,o);if(d<=0)return[];let p=[];for(let m=0;m0&&i.push(s)}return i}function Mh(e,t,r){return he(t,[8,8],([n,i])=>e.FPDFAnnot_GetLine(r,n,i)?{start:{x:pe(t,n,0),y:pe(t,n,4)},end:{x:pe(t,i,0),y:pe(t,i,4)}}:null)}function wm(e,t,r){return he(t,[4,4],([n,i])=>e.EPDFAnnot_GetLineEndings(r,n,i)?{start:Xv(_e(t,n)),end:Xv(_e(t,i))}:{start:"none",end:"none"})}function Oa(e,t,r){return he(t,[4,4,4,4,4],([n,i,a,o,s])=>e.EPDFAnnot_GetDefaultAppearance(r,n,i,a,o,s)?{fontCode:_e(t,n),fontSize:pe(t,i),color:Li(_e(t,a)&255,_e(t,o)&255,_e(t,s)&255)}:null)}function rd(e,t,r){return he(t,[4,4],([n,i])=>{let a=fe(t,(o,s)=>e.EPDFAnnot_GetDefaultAppearanceFontFace(r,o,s,n,i),null);return a?{family:a,weight:_e(t,n),italic:_e(t,i)!==0}:null})}function bm(e,t){return e.EPDFAnnot_GetTextAlignment(t)}function fS(e,t,r){return e.FPDFAnnot_HasKey(r,"OverlayText")?fe(t,(n,i)=>e.EPDFAnnot_GetOverlayText(r,n,i),""):null}function gS(e,t){return e.EPDFAnnot_GetOverlayTextRepeat(t)}function kr(e,t,r){let n=e.EPDFAnnot_GetIntent(r,W,0);if(n<=0)return null;let i=(n+1)*2;return Y(t,i,a=>(e.EPDFAnnot_GetIntent(r,a,i),t.readU16String(a)))}function FS(e,t,r){let n=e.EPDFAnnot_GetCalloutLineCount(r);return n<=0?[]:Y(t,n*8,i=>{let a=e.EPDFAnnot_GetCalloutLine(r,i,n);if(a<=0)return[];let o=[];for(let s=0;s{let a=[];for(let o=0;ope(t,i,A);a.push(Jd([{x:s(0),y:s(4)},{x:s(8),y:s(12)},{x:s(16),y:s(20)},{x:s(24),y:s(28)}]))}return a})}function gm(e,t,r){return Ye(t,(n,i)=>e.EPDFAnnot_GetName(r,n,i))}function Lh(e,t,r){return Ye(t,(n,i)=>e.EPDFAnnot_GetAppearanceState(r,n,i))}function vS(e,t,r){let n=e.EPDFAnnot_GetStructurePosition(r,W,0);return n<=0?null:Y(t,4*n,i=>(e.EPDFAnnot_GetStructurePosition(r,i,n),Array.from({length:n},(a,o)=>Number(t.peek(i,"i32",4*o))>>>0)))}function PS(e,t,r,n){let i=[],a=e.EPDFAnnot_GetAppearanceStateCount(r,n);for(let o=0;oe.EPDFAnnot_GetAppearanceStateName(r,n,o,A,d));s!==null&&i.push(s)}return i}var hS="Rotation";function Fm(e){let t=jl((-jl(e)%360+360)%360+0);return t===0||t===360?void 0:t}function id(e){let t=(-e%360+360)%360+0;return t>180?t-360:t}function kS(e,t,r){if(e.EPDFAnnot_HasEmbedMetadata(r))return Y(t,4,n=>{if(e.EPDFAnnot_GetEmbedMetadataNumber(r,hS,n))return Fm(pe(t,n))})}var Nh=new Set([L.SQUARE,L.CIRCLE,L.FREETEXT,L.STAMP,L.CARET]),jh=.05,DS=.002,BS=[90,180,270],ES=.01,ks=e=>(e%360+360)%360;function vm(e,t){let r=Math.abs(ks(e)-ks(t));return Math.min(r,360-r)}var ws=(e,t)=>vm(e,t)<=jh;function _S(e){let t=Math.hypot(e.a,e.b);if(!(t>0))return;let r=DS*t;if(Math.abs(e.a-e.d)>r||Math.abs(e.b+e.c)>r)return;let n=ks(Math.atan2(e.b,e.a)*180/Math.PI);return vm(n,0)>jh?n:void 0}function yS(e,t,r){if(e.FPDFAnnot_HasKey(r,"Rotate"))return Y(t,4,n=>e.EPDFAnnot_GetRotate(r,n)?pe(t,n):void 0)}function Kh(e,t,r){if(!e.EPDFAnnot_HasEmbedMetadata(r))return;let n=Y(t,4,a=>e.EPDFAnnot_GetEmbedMetadataNumber(r,"Rotation",a)?ks(pe(t,a)):void 0);if(n===void 0||vm(n,0)e.EPDFAnnot_GetEmbedMetadataRect(r,"UnrotatedRect",a)?Ce(Gn(t,a)):void 0);if(!(!i||i.right<=i.left||i.top<=i.bottom))return{degrees:n,box:i}}function GS(e,t,r,n){return Y(t,16,i=>Y(t,24,a=>{if(!e.EPDFAnnot_GetAppearanceTransform(r,i,a))return;let o=Z2(t,a),s=_S(o);if(s===void 0)return;let A=Ce(Gn(t,i)),d=Math.hypot(o.a,o.b),p=(A.left+A.right)/2,m=(A.bottom+A.top)/2,F=o.a*p+o.c*m+o.e,h=o.b*p+o.d*m+o.f,P=(A.right-A.left)*d/2,B=(A.top-A.bottom)*d/2;return{degrees:n!==void 0&&ws(n,s)?ks(n):Math.round(s*100)/100,box:{left:F-P,bottom:h-B,right:F+P,top:h+B}}}))}function Vh(e,t,r){let n=Ce(Is(e,t,r)),i=bS(e,t,r);if(!i)return n;let a={left:n.left+i.left,bottom:n.bottom+i.bottom,right:n.right-i.right,top:n.top-i.top};return a.left<=a.right&&a.bottom<=a.top?a:n}function ad(e,t,r){let n=CS(e,t,r);if(!n)return;let i=Fm(n.degrees);return i===void 0?void 0:{rotation:i,box:n.box}}function Qa(e,t,r){let n=ad(e,t,r);return n?{box:n.box,rotation:n.rotation}:{box:Vh(e,t,r),rotation:null}}function CS(e,t,r){let n=e.FPDFAnnot_GetSubtype(r);if(!Nh.has(n))return;let i=yS(e,t,r),a=GS(e,t,r,i),o=Vh(e,t,r),s=n===L.FREETEXT,A=s&&i!==void 0?BS.find(P=>ws(i,P)):void 0,d=Kh(e,t,r);if(d&&Or(fn(d.box,d.degrees),o)&&(a?ws(a.degrees,d.degrees):!e.EPDFAnnot_HasAppearanceStream(r,0)||s&&(e.FPDFAnnot_HasKey(r,"CL")||A!==void 0&&ws(A,d.degrees))))return d;if(a)return a;if(A===void 0)return;if(A===180)return{degrees:A,box:o};let p=(o.left+o.right)/2,m=(o.bottom+o.top)/2,F=(o.top-o.bottom)/2,h=(o.right-o.left)/2;return{degrees:A,box:{left:p-F,bottom:m-h,right:p+F,top:m+h}}}function IS(e,t,r){let n=Kh(e,t,r);if(!n)return;let i=Fm(n.degrees);return i===void 0?void 0:{rotation:i,box:n.box}}function SS(e,t){return!e||!t?!e&&!t:ws(e.rotation,t.rotation)&&Or(e.box,t.box)}function xS(e,t){return Nh.has(e.FPDFAnnot_GetSubtype(t))}var Yh="Replace",Xh="StrikeOutTextEdit";function Wh(e){if(e==="replace")return Yh}function HS(e){return e===Yh?"replace":null}function Uh(e){if(e==="strikeout-text-edit")return Xh}function OS(e){return e===Xh?"strikeout-text-edit":null}var QS="#ff0000";function RS(e,t,r,n){let i=Jn(e,t,r)??QS,a=hr(e,t,r),o=a==null?1:Math.max(0,Math.min(1,a)),s=HS(kr(e,t,r));return{...n,richText:An(e,t,r),subtype:"caret",intent:s,color:i,opacity:o,...Qa(e,t,r)}}function TS(e,t,r,n){return fe(t,(i,a)=>e.EPDFDoc_GetAttachmentKey(r,n,i,a))}function Rc(e,t,r,n){let i=t.writeU16String(n.key);try{return e.EPDFDoc_GetAttachmentIndexByKey(r,i)}finally{t.free(i)}}function Pm(e,t,r,n,i,a){let o=a.bytes.byteLength;if(o===0){if(!e.FPDFAttachment_SetFile(r,n,W,0))throw new g(f.Unknown,"FPDFAttachment_SetFile returned false")}else{let s=t.alloc(o);try{if(t.writeBytes(s,new Uint8Array(a.bytes)),!e.FPDFAttachment_SetFile(r,n,s,o))throw new g(f.Unknown,"FPDFAttachment_SetFile returned false")}finally{t.free(s)}}if(Yt(t,gt(new Date),s=>e.FPDFAttachment_SetStringValue(r,"CreationDate",s)),i.mimeType&&!e.EPDFAttachment_SetSubtype(r,i.mimeType))throw new g(f.Unknown,"EPDFAttachment_SetSubtype returned false");if(i.description!==void 0&&!Yt(t,i.description,s=>e.EPDFAttachment_SetDescription(r,s)))throw new g(f.Unknown,"EPDFAttachment_SetDescription returned false")}function Ga(e,t,r){let n=fe(t,(p,m)=>e.FPDFAttachment_GetName(r,p,m))??"",i=fe(t,(p,m)=>e.FPDFAttachment_GetSubtype(r,p,m)),a=fe(t,(p,m)=>e.EPDFAttachment_GetDescription(r,p,m)),o=Wv(e,t,r,"CreationDate"),s=Wv(e,t,r,"ModDate"),A=NS(Zh(e,t,r,"CheckSum")),d=LS(e,t,r);return{name:n,mimeType:i||null,description:a||null,sizeBytes:d,md5:A||null,createdAt:o||null,modifiedAt:s||null}}function qh(e,t,r){let{fn:n,mem:i}=e,a=i.alloc(8),o=i.alloc(4),s=i.alloc(4),A=null;try{if(i.poke(a,"ptr",0),i.poke(o,"i32",0),i.poke(s,"i32",-1),!n.EPDFAttachment_ExtractFileToOwnedBuffer(t,BigInt(r??0),a,o,s))throw zh(Number(i.peek(s,"i32")),r);let d=Number(i.peek(o,"i32"))>>>0;if(A=i.peek(a,"ptr"),d===0||!A)return{bytes:new ArrayBuffer(0),size:0};let p=i.readBytes(A,d),m=new ArrayBuffer(p.byteLength);return new Uint8Array(m).set(p),{bytes:m,size:d}}finally{A&&n.EPDF_FreeBuffer(A),i.free(s),i.free(o),i.free(a)}}function MS(e,t,r,n){let{fn:i,mem:a}=e,o=a.alloc(4),s=a.alloc(4),A=e.fileWrite.toNodeFile(r);try{if(a.poke(o,"i32",0),a.poke(s,"i32",-1),!i.EPDFAttachment_ExtractFile(t,A.ptr,BigInt(n??0),o,s))throw zh(Number(a.peek(s,"i32")),n);return{size:Number(a.peek(o,"i32"))>>>0}}finally{A.close(),a.free(s),a.free(o)}}function zh(e,t){switch(e){case 1:return new g(f.InvalidArg,"attachment has no embedded file stream (missing /EF)");case 2:return new g(f.MalformedPdf,"embedded file stream failed to decode");case 3:return new g(f.PayloadTooLarge,`the embedded file decodes to more than ${t} bytes, the limit`,{details:{limit:t}});case 4:return new g(f.Unknown,"writing the extracted attachment failed");default:return new g(f.Unknown,`attachment extraction failed (status ${e})`)}}function Zh(e,t,r,n){return e.FPDFAttachment_HasKey(r,n)?fe(t,(i,a)=>e.FPDFAttachment_GetStringValue(r,n,i,a),null):null}function Wv(e,t,r,n){let i=Zh(e,t,r,n);return i?zn(i):null}function LS(e,t,r){let n=t.alloc(4);try{if(!e.EPDFAttachment_GetIntegerValue(r,"Size",n))return null;let i=Number(t.peek(n,"i32"));return i>=0?i:null}finally{t.free(n)}}function NS(e){if(!e)return null;let t=e.startsWith("<")&&e.endsWith(">")?e.slice(1,-1):e;return/^[0-9a-fA-F]+$/.test(t)?t.toLowerCase():e}var Jh=Object.freeze({comment:"Comment",key:"Key",note:"Note",help:"Help","new-paragraph":"NewParagraph",paragraph:"Paragraph",insert:"Insert"}),jS=Object.freeze(Object.fromEntries(Object.entries(Jh).map(([e,t])=>[t,e]))),$h=Object.freeze({graph:"Graph","push-pin":"PushPin",paperclip:"Paperclip",tag:"Tag"}),KS=Object.freeze(Object.fromEntries(Object.entries($h).map(([e,t])=>[t,e]))),VS="#ffff00",YS="push-pin";function XS(e,t,r,n){let i=Jn(e,t,r)??VS,a=hr(e,t,r),o=a==null?1:Math.max(0,Math.min(1,a)),s=KS[gm(e,t,r)??""]??YS,A=e.FPDFAnnot_GetFileAttachment(r),d=A?Ga(e,t,A):null;return{...n,richText:An(e,t,r),subtype:"file-attachment",icon:s,file:d,color:i,opacity:o}}var Ne={Color:0,InteriorColor:1,OverlayColor:2,TextColor:3},e3={"free-text":"FreeText","free-text-callout":"FreeTextCallout","free-text-typewriter":"FreeTextTypeWriter"};function t3(e){return e3[e]}function n3(e){return Object.entries(e3).find(([,t])=>t===e)?.[0]??"free-text"}var Yc={courier:0,"courier-bold":1,"courier-bold-oblique":2,"courier-oblique":3,helvetica:4,"helvetica-bold":5,"helvetica-bold-oblique":6,"helvetica-oblique":7,"times-roman":8,"times-bold":9,"times-bold-italic":10,"times-italic":11,symbol:12,"zapf-dingbats":13},WS=Object.fromEntries(Object.entries(Yc).map(([e,t])=>[t,e])),r3="helvetica";function US(e){return Yc[e]??Yc.helvetica}function qS(e){return Object.prototype.hasOwnProperty.call(Yc,e)}function hm(e){return WS[e]??"helvetica"}var i3=0,a3=1,o3=2;function Ss(e){switch(e){case"center":return a3;case"right":return o3;default:return i3}}function km(e){switch(e){case a3:return"center";case o3:return"right";case i3:default:return"left"}}var zS="VerticalAlignment",s3=["top","middle","bottom"];function ZS(e){return s3.indexOf(e)}function JS(e){return e!==void 0&&s3[e]||"top"}function od(e,t,r,n,i){let a=i?.keyForFace(n.family,n.weight,n.italic);if(a!==void 0)return a;let o=$s(n);if(Ir(o))return o;let s=rd(e,t,r);if(s&&wn(s.family)===wn(n.family)&&s.weight===n.weight&&s.italic===n.italic){let A=Ye(t,(d,p)=>e.EPDFAnnot_GetDefaultAppearanceFontPostScriptName(r,d,p));if(A)return A}return wc({familyName:n.family,weight:n.weight,italic:n.italic},null)}function $S(e,t,r){if(!e.EPDFAnnot_HasEmbedMetadata(r))return null;let n=A3(e,t,r,"SchemaVersion"),i=Ea(e,t,r,"UserID"),a=Ea(e,t,r,"GroupID"),o=Ea(e,t,r,"CreatedBy"),s=Ea(e,t,r,"UpdatedBy"),A=Ea(e,t,r,"ImportedBy"),d={};return n!==void 0&&(d.schemaVersion=n),i!==void 0&&(d.userId=i),a!==void 0&&(d.groupId=a),o!==void 0&&(d.createdBy=o),s!==void 0&&(d.modifiedBy=s),A!==void 0&&(d.importedBy=A),d}function Ea(e,t,r,n){let i=e.EPDFAnnot_GetEmbedMetadataString(r,n,W,0);if(i<=2)return;let a=t.alloc(i);try{return e.EPDFAnnot_GetEmbedMetadataString(r,n,a,i)<=0?void 0:t.readU16String(a)}finally{t.free(a)}}function A3(e,t,r,n){let i=t.alloc(4);try{return e.EPDFAnnot_GetEmbedMetadataNumber(r,n,i)?Number(t.peek(i,"f32")):void 0}finally{t.free(i)}}var c3=1,d3=2,u3=3,p3=4,l3=5;function Dm(e){switch(e){case"dashed":return d3;case"beveled":return u3;case"inset":return p3;default:return c3}}function Bm(e){switch(e){case d3:return"dashed";case u3:return"beveled";case p3:return"inset";case c3:default:return"solid"}}function ex(e){return e==="underline"?l3:Dm(e)}function m3(e){return e===l3?"underline":Bm(e)}function Em(e,t,r){let{styleCode:n,width:i}=nd(e,t,r),a=wS(e,t,r);return{strokeWidth:i,borderStyle:Bm(n),dashArray:a.length>0?a:null}}function w3(e,t,r){let n=Jn(e,t,r,Ne.Color),i=hr(e,t,r);return{color:n,opacity:i==null?1:Math.max(0,Math.min(1,i)),...Em(e,t,r)}}function sd(e,t,r){let n=Jn(e,t,r,Ne.InteriorColor);return{...w3(e,t,r),interiorColor:n??null}}var tx="#000000",nx=12;function rx(e,t,r,n,i,a){let o=Oa(e,t,r),s=o?.color??tx,A=uS(e,t,r),d=a?.fonts,p=A?od(e,t,r,A.body,d):o?hm(o.fontCode):r3,m=A&&A.body.size>0?A.body.size:o&&o.fontSize>0?o.fontSize:nx,F=A??{body:{family:"Helvetica",weight:400,italic:!1,size:m,color:s,decoration:[],script:"normal",letterSpacing:0,horizontalScale:1,align:"left",dir:"ltr"},paragraphs:[{runs:[{text:n.contents??""}]}]},h=F.body.color.toLowerCase(),P=Jn(e,t,r,Ne.Color),B=hr(e,t,r),y=B==null?1:Math.max(0,Math.min(1,B)),x=A?A.body.align:km(bm(e,r)),I=JS(A3(e,t,r,zS)),S=n3(kr(e,t,r)),G=FS(e,t,r),Q=G.length===2?[G[0],G[1]]:G.length===3?[G[0],G[1],G[2]]:void 0,K=wm(e,t,r).end;return{...n,subtype:"free-text",intent:S,fontFamily:p,fontSize:m,textAlign:x,verticalAlign:I,richText:F,color:s,fontColor:h,interiorColor:P??null,opacity:y,...Em(e,t,r),cloudyIntensity:mm(e,t,r),...Qa(e,t,r),calloutLine:Q??null,lineEnding:Q!==void 0&&K!=="none"?K:null}}function ix(e,t,r){switch(e.FPDFAnnot_GetSubtype(r)){case L.LINE:{let n=Mh(e,t,r);return n?[[n.start,n.end]]:[]}case L.POLYGON:case L.POLYLINE:return[Rh(e,t,r)];case L.INK:return Th(e,t,r).map(n=>[...n]);default:return[]}}function ax(e,t,r){let n=kS(e,t,r);if(n===void 0)return;let i=Y(t,16,a=>e.EPDFAnnot_GetEmbedMetadataRect(r,"UnrotatedRect",a)?Ce(Gn(t,a)):void 0);return i?{rotation:n,box:i}:void 0}function Ad(e,t,r,n){let i=n.flat();if(i.length===0)return;let a=ax(e,t,r);if(!a)return;let{box:o}=a,s={degrees:a.rotation,center:{x:(o.left+o.right)/2,y:(o.bottom+o.top)/2}};return Or(nr(i.map(A=>Ti(A,s))),o)?s:void 0}var Pi=(e,t)=>t?Ti(e,t):e;function b3(e){if(e==="ink-highlight")return"InkHighlight"}function ox(e){return e==="InkHighlight"?"ink-highlight":null}function sx(e,t,r,n){let i=Th(e,t,r),a=Ad(e,t,r,i),o=ox(kr(e,t,r));return{...n,richText:An(e,t,r),subtype:"ink",...w3(e,t,r),intent:o,inkList:i.map(s=>s.map(A=>Pi(A,a))),rotation:a?.degrees??null}}var Ax={"line-arrow":"LineArrow","line-dimension":"LineDimension","polygon-cloud":"PolygonCloud","polygon-dimension":"PolygonDimension","polyline-dimension":"PolyLineDimension"};function cx(e){return Ax[e]}function dx(e){return e==="LineArrow"?"line-arrow":e==="LineDimension"?"line-dimension":null}function ux(e){return e==="PolygonCloud"?"polygon-cloud":e==="PolygonDimension"?"polygon-dimension":null}function px(e){return e==="PolyLineDimension"?"polyline-dimension":null}function _m(e,t,r){return{measure:ch(e,t,e.EPDFAnnot_GetMeasure(r))??null}}function lx(e,t,r){if(["Cap","CP","CO"].some(n=>e.FPDFAnnot_HasKey(r,n)))return he(t,[4,4,8],([n,i,a])=>{if(e.EPDFAnnot_GetLineCaption(r,n,i,a))return{enabled:!!t.peek(n,"i32"),position:t.peek(i,"i32")===1?"top":"inline",...e.FPDFAnnot_HasKey(r,"CO")?{offset:{along:Number(t.peek(a,"f32")),perpendicular:Number(t.peek(a,"f32",4))}}:{}}})}function f3(e,t,r){return he(t,[4,4,8],([n,i,a])=>{if(!e.EPDFAnnot_GetShapeCaption(r,n,i,a))return;let o=!!t.peek(n,"i32"),s=!!t.peek(i,"i32");if(!(!e.EPDFAnnot_GetEmbedMetadataBoolean(r,"MeasurementCaption",n)&&!s))return{enabled:o,...s?{center:{x:Number(t.peek(a,"f32")),y:Number(t.peek(a,"f32",4))}}:{}}})}function mx(e,t,r){if(["LL","LLE","LLO"].some(n=>e.FPDFAnnot_HasKey(r,n)))return he(t,[4,4,4],([n,i,a])=>{if(e.EPDFAnnot_GetLineLeader(r,n,i,a))return{length:Number(t.peek(n,"f32")),extension:Number(t.peek(i,"f32")),offset:Number(t.peek(a,"f32"))}})}var wx={start:{x:0,y:0},end:{x:0,y:0}};function bx(e,t,r,n){let i=Mh(e,t,r)??wx,a=Ad(e,t,r,[[i.start,i.end]]),o=kr(e,t,r),s=lx(e,t,r),A=mx(e,t,r);return{...n,richText:An(e,t,r),..._m(e,t,r),intent:dx(o),captionEnabled:s?.enabled??!1,captionPosition:s?.position??"inline",captionOffset:s?.offset??null,leader:A??null,subtype:"line",...sd(e,t,r),linePoints:{start:Pi(i.start,a),end:Pi(i.end,a)},lineEndings:wm(e,t,r),rotation:a?.degrees??null}}function g3(e,t,r,n){let i=n.page.objectNumber,a=n.kind==="xyz"?e.EPDFDest_CreateXYZByObjectNumber(r,i,n.left!=null,n.left??0,n.top!=null,n.top??0,n.zoom!=null,n.zoom??0):fx(e,t,r,i,n);if(!a)throw new g(f.NotFound,`destination page not found: pageObjectNumber=${i}`);return a}function fx(e,t,r,n,i){let a=(()=>{switch(i.kind){case"fitH":case"fitBH":return i.top!=null?[i.top]:[];case"fitV":case"fitBV":return i.left!=null?[i.left]:[];case"fitR":return[i.left,i.bottom,i.right,i.top];default:return[]}})(),o=J2[i.kind];return a.length?Y(t,a.length*4,s=>{for(let A=0;A!o)){e.EPDFAnnot_SetEmbedMetadataNumber(r,ym,1);for(let[o,s]of a)s&&Fr(e,t,r,o,s)}}function Fr(e,t,r,n,i){let a=t.writeU16String(i);try{e.EPDFAnnot_SetEmbedMetadataString(r,n,a)}finally{t.free(a)}}var Kl="AppearanceFit",xx=["contain","cover","fill"];function Im(e,t,r){let n=Ea(e,t,r,Kl);return n!==void 0&&xx.includes(n)?n:null}function Sm(e,t,r,n){if(n===null){e.EPDFAnnot_ClearEmbedMetadataKey(r,Kl);return}e.EPDFAnnot_HasEmbedMetadata(r)||e.EPDFAnnot_SetEmbedMetadataNumber(r,"SchemaVersion",1),Fr(e,t,r,Kl,n)}function Hx(e,t,r,n){return{...n,richText:An(e,t,r),subtype:"stamp",name:gm(e,t,r),fit:Im(e,t,r),opacity:hr(e,t,r)??1,...Qa(e,t,r)}}var _3={review:"Review",marked:"Marked"},y3={accepted:"Accepted",rejected:"Rejected",cancelled:"Cancelled",completed:"Completed",none:"None",marked:"Marked",unmarked:"Unmarked"},Ox=I3(_3),Qx=I3(y3);function G3(e){return _3[e]??e}function Rx(e){return Ox[e]??e}function C3(e){return y3[e]??e}function Tx(e){return Qx[e]??e}function I3(e){return Object.fromEntries(Object.entries(e).map(([t,r])=>[r,t]))}var Mx="#ffff00",Lx="note";function Nx(e,t,r,n){let i=Jn(e,t,r)??Mx,a=hr(e,t,r),o=a==null?1:Math.max(0,Math.min(1,a)),s=jS[gm(e,t,r)??""]??Lx,A=Un(e,t,r,"State"),d=Un(e,t,r,"StateModel");return{...n,richText:An(e,t,r),subtype:"text",icon:s,open:hs(e,t,r,"Open")??jx(e,t,r)??!1,color:i,opacity:o,state:A===null?null:Tx(A),stateModel:d===null?null:Rx(d)}}function jx(e,t,r){let n=e.FPDFAnnot_GetLinkedAnnot(r,"Popup");if(!n)return null;try{return hs(e,t,n,"Open")}finally{e.FPDFPage_CloseAnnot(n)}}var Kx="#ffff00",Vx="#000000";function cd(e,t,r,n=Vx){let i=Jn(e,t,r)??n,a=hr(e,t,r);return{color:i,opacity:a==null?1:Math.max(0,Math.min(1,a)),quadPoints:fm(e,t,r),richText:An(e,t,r)}}function Yx(e,t,r,n){let i=cd(e,t,r,Kx);return{...n,subtype:"highlight",...i}}function Xx(e,t,r,n){let i=cd(e,t,r);return{...n,subtype:"underline",...i}}function Wx(e,t,r,n){let i=cd(e,t,r);return{...n,subtype:"squiggly",...i}}function Ux(e,t,r,n){let i=cd(e,t,r),a=OS(kr(e,t,r));return{...n,subtype:"strikeout",intent:a,...i}}function qx(e,t,r,n,i){let a=Un(e,t,r,"Subtype");return{...n,subtype:"unsupported",rawSubtypeCode:i,rawSubtypeName:a}}function S3(e,t,r){let n=Rh(e,t,r),i=Ad(e,t,r,[n]),a=f3(e,t,r);return{vertices:n.map(o=>Pi(o,i)),rotation:i?.degrees??null,captionEnabled:a?.enabled??null,captionCenter:a?.center?Pi(a.center,i):null}}function zx(e,t,r,n){let{captionEnabled:i,captionCenter:a,...o}=S3(e,t,r),s=kr(e,t,r);return{...n,richText:An(e,t,r),..._m(e,t,r),captionEnabled:i,captionCenter:a,intent:ux(s),subtype:"polygon",...sd(e,t,r),...o,cloudyIntensity:mm(e,t,r)}}function Zx(e,t,r,n){let{captionEnabled:i,captionCenter:a,...o}=S3(e,t,r),s=kr(e,t,r);return{...n,richText:An(e,t,r),..._m(e,t,r),captionEnabled:i,captionCenter:a,intent:px(s),subtype:"polyline",...sd(e,t,r),...o,lineEndings:wm(e,t,r)}}var Jx=0,$x=1,eH=0,Fl=4;function qv(e,t,r,n){return he(t,[Fl,Fl,Fl],([i,a,o])=>e.EPDFAnnot_GetMKColor(r,n,i,a,o)?Li(_e(t,i)&255,_e(t,a)&255,_e(t,o)&255):null)}function x3(e,t){return Ri(-e.EPDFAnnot_GetMKRotation(t))||null}function tH(e,t,r,n,i,a){let o=Em(e,t,r),s=Oa(e,t,r),A=rd(e,t,r),d=a?.fonts,p=x3(e,r);return{...n,box:Hr(n.rect,p??0),rotation:p,groupId:null,userId:null,createdBy:null,modifiedBy:null,importedBy:null,subtype:"widget",color:qv(e,t,r,Jx),interiorColor:qv(e,t,r,$x),strokeWidth:o.strokeWidth,borderStyle:m3(nd(e,t,r).styleCode),dashArray:o.dashArray,fontFamily:A?od(e,t,r,A,d):null,fontSize:s?s.fontSize:null,fontColor:s?s.color:null,textAlign:km(bm(e,r)),caption:fe(t,(m,F)=>e.EPDFAnnot_GetMKText(r,eH,m,F)),checkStyle:null,field:null,fieldKind:"unknown",hasMark:Im(e,t,r)!==null}}var zv={highlight:Yx,underline:Xx,squiggly:Wx,strikeout:Ux,circle:_x,square:yx,polygon:zx,polyline:Zx,line:bx,link:gx,ink:sx,"free-text":rx,caret:RS,text:Nx,stamp:Hx,"file-attachment":XS,widget:tH,redact:Ex,popup:hx,unsupported:qx};function H3(e){let t=qr(e),r=zv[t];return r?{reader:r,subtype:t}:{reader:zv.unsupported,subtype:"unsupported"}}var nH="SchemaVersion",O3="GroupID",xm="CreatedBy",Hm="CreatedAt",dd="FilledBy",ud="FilledByName",pd="FilledAt",Om="ImportedBy",rH={createdBy:null,createdAt:null,filledBy:null,filledByName:null,filledAt:null,importedBy:null};function iH(e,t,r){let{fn:n,mem:i}=e;if(!n.EPDFForm_HasFieldEmbedMetadata(t,r))return rH;let a=s=>fe(i,(A,d)=>n.EPDFForm_GetFieldEmbedMetadataString(t,r,s,A,d),null),o=s=>{let A=a(s);return A===null?null:zn(A)};return{createdBy:a(xm),createdAt:o(Hm),filledBy:a(dd),filledByName:a(ud),filledAt:o(pd),importedBy:a(Om)}}function Qm(e,t,r){let{fn:n,mem:i}=e;return n.EPDFForm_HasFieldEmbedMetadata(t,r)?fe(i,(a,o)=>n.EPDFForm_GetFieldEmbedMetadataString(t,r,O3,a,o),null):null}function Zv(e,t,r,n){xs(e,t,r,[[O3,n]])}function aH(e,t,r,n,i=new Date){n.userId&&xs(e,t,r,[[xm,n.userId],[Hm,gt(i)]])}function oH(e,t,r,n,i=new Date){if(!n.userId){Q3(e,t,r);return}xs(e,t,r,[[dd,n.userId],[ud,n.displayName??null],[pd,gt(i)]])}function sH(e,t,r,n,i){xs(e,t,r,[[xm,n.createdBy],[Hm,n.createdAt?gt(n.createdAt):null],[Om,i]])}function Jv(e,t,r,n,i){xs(e,t,r,[[dd,n.filledBy],[ud,n.filledByName],[pd,n.filledAt?gt(n.filledAt):null],[Om,i]])}function Q3(e,t,r){for(let n of[dd,ud,pd])R3(e,t,r,n)}function xs(e,t,r,n){let{fn:i,mem:a}=e;if(!i.EPDFForm_SetFieldEmbedMetadataNumber(t,r,nH,1))throw Vl(r);for(let[o,s]of n){if(s===null){R3(e,t,r,o);continue}let A=a.writeU16String(s);try{if(!i.EPDFForm_SetFieldEmbedMetadataString(t,r,o,A))throw Vl(r)}finally{a.free(A)}}}function R3(e,t,r,n){if(!e.fn.EPDFForm_ClearFieldEmbedMetadataKey(t,r,n))throw Vl(r)}function Vl(e){return new g(f.Unknown,`the metadata of field ${e} could not be written`)}var Rm={0:"unknown",1:"pushbutton",2:"checkbox",3:"radio",4:"text",5:"combobox",6:"listbox",7:"signature"},AH={0:"none",1:"acroform",2:"xfa"},cH=1,dH=2,uH=4,pH=4096,lH=8192,mH=16384,wH=1<<18,bH=1<<21,fH=1<<24,gH=1<<25;function Ds(e,t){return fe(e.mem,t)??""}function $v(e,t){return fe(e.mem,t,null)}function T3(e,t,r,n){let{fn:i}=e;return Ct(i.EPDFForm_GetFieldWidgetObjNum(t,r,n),Tm(i.EPDFForm_GetFieldWidgetPageObjNum(t,r,n)))}function eP(e,t,r){let{fn:n}=e,i=n.EPDFForm_CountFieldWidgets(t,r),a=[];for(let o=0;on.EPDFForm_GetFieldWidgetOnState(t,r,o,s,A))??"",exportValue:Ds(e,(s,A)=>n.EPDFForm_GetFieldWidgetExportValue(t,r,o,s,A)),checked:n.EPDFForm_IsFieldWidgetChecked(t,r,o)});return a}function ss(e,t,r){let n=e.fn.EPDFForm_CountFieldWidgets(t,r),i=[];for(let a=0;an.EPDFForm_GetFieldOptionLabel(t,r,o,s,A)),value:Ds(e,(s,A)=>n.EPDFForm_GetFieldOptionValue(t,r,o,s,A)),selected:n.EPDFForm_IsFieldOptionSelected(t,r,o)});return a}function qe(e,t,r,n,i=new Di){let{fn:a}=e,o=a.EPDFForm_GetFieldObjNum(t,r),s=Ds(e,(y,x)=>a.EPDFForm_GetFieldName(t,r,y,x)),A=a.EPDFForm_GetFieldFlags(t,r),d=Rm[a.EPDFForm_GetFieldFamily(t,r)]??"unknown",p=nP(e,t,r,!1),m=nP(e,t,r,!0),F=vH(e,t,r,n,i),h={ref:o>0?{kind:"objectNumber",objectNumber:o}:{kind:"fqn",name:s},name:s,kind:d,origin:a.EPDFForm_GetFieldOrigin(t,r)===1?"recovered":"acroform",readOnly:(A&cH)!==0,required:(A&dH)!==0,noExport:(A&uH)!==0,alternateName:$v(e,(y,x)=>a.EPDFForm_GetFieldAlternateName(t,r,y,x)),mappingName:$v(e,(y,x)=>a.EPDFForm_GetFieldMappingName(t,r,y,x)),valueEntry:p,defaultValueEntry:m,...F?{actions:F}:{},groupId:Qm(e,t,r),...iH(e,t,r),widgets:[]},P=vl(p),B=vl(m);switch(d){case"text":{let y=a.EPDFForm_GetFieldMaxLen(t,r);return{...h,kind:d,value:P,defaultValue:B,maxLength:y>0?y:null,multiline:(A&pH)!==0,password:(A&lH)!==0,comb:(A&fH)!==0,widgets:ss(e,t,r)}}case"checkbox":{let y=eP(e,t,r);return{...h,kind:d,checked:y.some(x=>x.checked),exportValue:y[0]?.exportValue??"Yes",widgets:y}}case"radio":{let y=eP(e,t,r);return{...h,kind:d,value:y.find(x=>x.checked)?.exportValue??"Off",radiosInUnison:(A&gH)!==0,noToggleToOff:(A&mH)!==0,widgets:y}}case"combobox":return{...h,kind:d,value:P,defaultValue:B,edit:(A&wH)!==0,options:tP(e,t,r),widgets:ss(e,t,r)};case"listbox":{let y=tP(e,t,r);return{...h,kind:d,selectedValues:y.filter(x=>x.selected).map(x=>x.value),defaultValue:FH(m),multiSelect:(A&bH)!==0,options:y,topIndex:MA(a.EPDFForm_GetFieldTopIndex(t,r),y),widgets:ss(e,t,r)}}case"pushbutton":case"signature":return{...h,kind:d,widgets:ss(e,t,r)};default:return{...h,kind:"unknown",rawValue:p.kind==="array"?p.values.join(","):vl(p),widgets:ss(e,t,r)}}}function M3(e,t,r){let{fn:n}=e,i=n.EPDFForm_CountFields(t),a=[],o=new Di;for(let d=0;d=0&&pn?i.EPDFForm_GetFieldDefaultValueAt(t,r,A,d,p):i.EPDFForm_GetFieldValueAt(t,r,A,d,p)));return a===1?{kind:"scalar",value:s[0]??""}:{kind:"array",values:s}}function vl(e){return e.kind==="scalar"?e.value:e.kind==="array"?e.values[0]??"":""}function FH(e){return e.kind==="scalar"?[e.value]:e.kind==="array"?[...e.values]:[]}function vH(e,t,r,n,i){let{fn:a,mem:o}=e,s=[["keystroke",0],["format",1],["validate",2],["calculate",3]],A={};for(let[d,p]of s){let m=vr(a,o,n,a.EPDFForm_GetFieldActionModel(t,r,p),i);m&&(A[d]=m)}return Object.keys(A).length>0?A:void 0}function Tm(e){return e>0?ue(e):null}var Yl={check:"4",cross:"8",star:"H",circle:"l",square:"n",diamond:"u"},PH=e=>Yl[e];function hH(e){return Object.keys(Yl).find(t=>e?.[0]===Yl[t])??null}var kH=0;function DH(e,t,r){if(r<=0)return 0;let n=Ee(e,t),i=e.fn.EPDFForm_GetFieldIndexForWidget(n,r);return i<0?0:e.fn.EPDFForm_GetFieldObjNum(n,i)}function Bs(e,t,r){for(let n of r){if(n.subtype!=="widget")continue;if(n.ref.kind!=="objectNumber"){n.caption=null,n.hasMark=!1;continue}let i=Ee(e,t),a=e.fn.EPDFForm_GetFieldIndexForWidget(i,n.ref.objectNumber),o=a<0?0:e.fn.EPDFForm_GetFieldObjNum(i,a);if(o<=0){n.field=null,n.fieldKind="unknown",n.caption=null,n.hasMark=!1;continue}n.field={kind:"objectNumber",objectNumber:o},n.fieldKind=Rm[e.fn.EPDFForm_GetFieldFamily(i,a)]??"unknown",(n.fieldKind==="checkbox"||n.fieldKind==="radio")&&(n.checkStyle=hH(n.caption??null)),n.fieldKind!=="pushbutton"&&(n.caption=null),n.hasMark=n.fieldKind==="signature"&&(n.hasMark||e.fn.EPDFForm_GetFieldValueKind(i,a)!==kH)}}function Mm(e){return e===L.WIDGET?"widgets":"annotations"}function BH(e){switch(e){case"normal":return 0;case"multiply":return 1;case"screen":return 2;case"overlay":return 3;case"darken":return 4;case"lighten":return 5;case"color-dodge":return 6;case"color-burn":return 7;case"hard-light":return 8;case"soft-light":return 9;case"difference":return 10;case"exclusion":return 11;case"hue":return 12;case"saturation":return 13;case"color":return 14;case"luminosity":return 15}}function L3(e){switch(e){case 1:return"multiply";case 2:return"screen";case 3:return"overlay";case 4:return"darken";case 5:return"lighten";case 6:return"color-dodge";case 7:return"color-burn";case 8:return"hard-light";case 9:return"soft-light";case 10:return"difference";case 11:return"exclusion";case 12:return"hue";case 13:return"saturation";case 14:return"color";case 15:return"luminosity";default:return"normal"}}var EH=0;function N3(e,t,r,n,i,a,o=new Di){let s=ue(i),A=Is(e,t,n),d=mS(e,n),p=Un(e,t,n,"Contents"),m=p===null?null:rr(p,` +`),F=Un(e,t,n,"Subj"),h=Un(e,t,n,"T"),P=Un(e,t,n,"CreationDate"),B=Un(e,t,n,"M"),y=L3(e.EPDFAnnot_GetBlendMode(n)),x=$S(e,t,n),I=Px(e,t,r,n,i),S=h3(e,t,r,n,"Popup",i),G=_H(e,t,r,n,o);return{ref:Ha(e,t,r,s,n,a),page:s,hasAppearance:e.EPDFAnnot_HasAppearanceStream(n,EH),appearanceState:Lh(e,t,n),structurePosition:vS(e,t,n),nm:Un(e,t,n,"NM"),...d,rect:A,contents:m,subject:F,author:h,createdAt:P?zn(P):null,modifiedAt:B?zn(B):null,blendMode:y,reply:I.inReplyTo?{to:I.inReplyTo,type:I.replyType??"reply"}:null,popup:S,groupId:x?.groupId??null,userId:x?.userId??null,createdBy:x?.createdBy??null,modifiedBy:x?.modifiedBy??null,importedBy:x?.importedBy??null,actions:G??null}}function _H(e,t,r,n,i){let a=[["activate",0],["cursorEnter",1],["cursorExit",2],["mouseDown",3],["mouseUp",4],["focus",5],["blur",6],["pageOpen",7],["pageClose",8],["pageVisible",9],["pageInvisible",10]],o={};for(let[s,A]of a){let d=vr(e,t,r,e.EPDFAnnot_GetActionModel(n,A),i);d&&(o[s]=d)}return Object.keys(o).length>0?o:void 0}function j3(e){let{runtime:t,session:r,pageObjectNumber:n,count:i,getAnnotPtrAt:a,signal:o,fonts:s,family:A}=e,{fn:d,mem:p}=t,m=[],F=new Di,h=Ps(r,s);for(let P=0;PA?Y(this.runtime.mem,16,B=>(ah(this.runtime.mem,B,A.box),p.EPDF_RenderAnnotBitmapUnrotated(h,e,t,r,n,id(A.rotation),B,P,16))):p.EPDF_RenderAnnotBitmap(h,e,t,r,n,P,16)})}},Wl=Xl[0];function IH(e,t,r){return Y(t,16,n=>e.EPDFAnnot_GetDrawingRect(r,Wl.modeInt,n)?Ce(Gn(t,n)):null)}function SH(e){let t=fu(e);return t?Xl.filter(r=>t.includes(r.name)):Xl}var xH=8,K3=[{draw:"",label:null}];function HH(e,t,r,n){let i=PS(e,t,r,n);return i.length===0?K3:i.length>xH?[{draw:"",label:Lh(e,t,r)}]:i.map(a=>({draw:a,label:a}))}function OH(e,t,r){if(e===void 0||e.kind==="scale")return QH(e?.scale);let n=r===90||r===270?t.height:t.width;if(!Number.isFinite(e.width)||e.width<=0||!(n>0))throw new g(f.InvalidArg,"render viewport width must be positive");return e.width/n}function QH(e){return e===void 0||!Number.isFinite(e)||e<=0?1:e}var ld=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}list(e,t,r){O(t),e===void 0&&(this.session.ensureFullPageRegistry(),e=this.session.allRecords().map(i=>i.pageObjectNumber));let n=[];for(let i of e)O(t),n.push(this.listOne(i,t,r));return lp(n)}listOne(e,t,r){O(t);let{fn:n}=this.runtime,i=this.session.requireDocPtr(),a=this.session.recordByObjectNumber(e),o=n.EPDFPage_GetAnnotCountRaw(i,a.pageIndex);if(o<0)throw new g(f.Unknown,`EPDFPage_GetAnnotCountRaw returned ${o} for page ${e}`);return j3({runtime:this.runtime,session:this.session,pageObjectNumber:e,count:o,getAnnotPtrAt:s=>n.EPDFPage_GetAnnotRaw(i,a.pageIndex,s),signal:t,...this.fonts?{fonts:this.fonts}:{},...r?{family:r}:{}})}},RH=1,TH=8;function Lm(e,t,r,n){return he(t,[32,TH],([i,a])=>{if(t.poke(a,"i32",32,0),t.poke(a,"i32",0,4),!e.EPDF_DigestBuffer(r,n,RH,i,a))throw new g(f.Unknown,"EPDF_DigestBuffer returned false");let o="";for(let s of t.readBytes(i,32))o+=s.toString(16).padStart(2,"0");return o})}function Nm(e,t,r){let n=t.alloc(Math.max(1,r.byteLength));try{return t.writeBytes(n,r),Lm(e,t,n,r.byteLength)}finally{t.free(n)}}var MH=2,LH=8,NH=14400;function jH(e,t,r,n,i,a){let o=n.hashes.get(i),s=o===void 0?void 0:n.bySource.get(o);if(s!==void 0)return s;let A=t.alloc(i.byteLength);try{t.writeBytes(A,new Uint8Array(i));let d=o??Lm(e,t,A,i.byteLength);n.hashes.set(i,d);let p=n.bySource.get(d);if(p!==void 0)return p;let m=VH(e,t,A,i.byteLength,a,F=>e.EPDFDoc_CanonicalDrawing(F,0));if(!m)throw new g(f.Unknown,"EPDFDoc_CanonicalDrawing returned NULL");try{let F=V3(e,t,m),h=KH(e,t,r,n),P=h.get(F);if(P===void 0){if(P=e.EPDFDoc_ImportDrawing(r,m),!P)throw new g(f.Unknown,"EPDFDoc_ImportDrawing returned 0");h.set(F,P)}return n.bySource.set(d,P),P}finally{e.FPDF_CloseDocument(m)}}finally{t.free(A)}}function KH(e,t,r,n){if(n.byContent)return n.byContent;let i=new Map,a=e.EPDFDoc_GetStampDrawings(r,W,0),o=a>0?Y(t,4*a,s=>(e.EPDFDoc_GetStampDrawings(r,s,a),Array.from({length:a},(A,d)=>Number(t.peek(s,"i32",4*d))>>>0))):[];for(let s of o){let A=e.EPDFDoc_ExportDrawing(r,s);if(A)try{let d=V3(e,t,A);i.has(d)||i.set(d,s)}finally{e.FPDF_CloseDocument(A)}}return n.byContent=i,i}function V3(e,t,r){return Y(t,LH,n=>{t.poke(n,"i32",0,0),t.poke(n,"i32",0,4);let i=e.EPDF_SaveDocumentToOwnedBuffer(r,MH,n),a=Number(t.peek(n,"i32",0));if(!i||a<=0)throw i&&e.EPDF_FreeBuffer(i),new g(f.Unknown,"failed to save a stamp drawing");try{return Lm(e,t,i,a)}finally{e.EPDF_FreeBuffer(i)}})}function Y3(e,t,r){let n=t.alloc(r.byteLength);try{t.writeBytes(n,new Uint8Array(r));let i=e.FPDF_LoadMemDocument(n,r.byteLength,"");if(!i)return null;try{return e.FPDF_GetPageCount(i)}finally{e.FPDF_CloseDocument(i)}}finally{t.free(n)}}function VH(e,t,r,n,i,a){if(i.mimeType==="application/pdf"){let o=e.FPDF_LoadMemDocument(r,n,"");if(!o)throw new g(f.MalformedPdf,"the stamp's appearance PDF could not be opened");try{return a(o)}finally{e.FPDF_CloseDocument(o)}}return YH(e,t,r,n,i,a)}function YH(e,t,r,n,i,a){if(!("width"in i))throw new g(f.InvalidArg,"the stamp image has no size");let o=Math.min(1,NH/Math.max(i.width,i.height)),s=i.width*o,A=i.height*o,d=e.FPDF_CreateNewDocument();if(!d)throw new g(f.Unknown,"FPDF_CreateNewDocument returned NULL");try{let p=e.FPDFPage_New(d,0,s,A);if(!p)throw new g(f.Unknown,"FPDFPage_New returned NULL");try{let m=e.FPDFPageObj_NewImageObj(d);if(!m)throw new g(f.Unknown,"FPDFPageObj_NewImageObj returned NULL");let F=!1;try{if(!(i.mimeType==="image/png"?e.EPDFImageObj_SetPng(W,0,m,r,n):e.EPDFImageObj_SetJpeg(W,0,m,r,n)))throw new g(f.InvalidArg,`${i.mimeType==="image/png"?"EPDFImageObj_SetPng":"EPDFImageObj_SetJpeg"} rejected the image data`);XH(e,t,m,s,A),e.FPDFPage_InsertObject(p,m),F=!0}finally{F||e.FPDFPageObj_Destroy(m)}if(!e.FPDFPage_GenerateContent(p))throw new g(f.Unknown,"FPDFPage_GenerateContent returned false")}finally{e.FPDF_ClosePage(p)}return a(d)}finally{e.FPDF_CloseDocument(d)}}function XH(e,t,r,n,i){Y(t,24,a=>{if(t.poke(a,"f32",n,0),t.poke(a,"f32",0,4),t.poke(a,"f32",0,8),t.poke(a,"f32",i,12),t.poke(a,"f32",0,16),t.poke(a,"f32",0,20),!e.FPDFPageObj_SetMatrix(r,a))throw new g(f.Unknown,"FPDFPageObj_SetMatrix returned false")})}function ze(e,t,r,n=Ne.Color){let{r:i,g:a,b:o}=Tn(r);if(!e.EPDFAnnot_SetColor(t,n,i,a,o))throw new g(f.Unknown,"EPDFAnnot_SetColor returned false")}function Hs(e,t,r){e.EPDFAnnot_ClearColor(t,r)}function WH(e,t,r=Ne.Color){if(!e.EPDFAnnot_SetNoColor(t,r))throw new g(f.Unknown,"EPDFAnnot_SetNoColor returned false")}function nt(e,t,r){if(!e.EPDFAnnot_SetOpacity(t,r))throw new g(f.Unknown,"EPDFAnnot_SetOpacity returned false")}function jm(e,t,r){let n=lS(e.FPDFAnnot_GetFlags(t),r);if(!e.FPDFAnnot_SetFlags(t,n))throw new g(f.Unknown,"FPDFAnnot_SetFlags returned false")}function rt(e,t,r,n){let i=t.alloc(16);try{if(t.poke(i,"f32",n.left,0),t.poke(i,"f32",n.top,4),t.poke(i,"f32",n.right,8),t.poke(i,"f32",n.bottom,12),!e.EPDFAnnot_SetRect(r,i))throw new g(f.Unknown,"EPDFAnnot_SetRect returned false")}finally{t.free(i)}}function Pr(e,t,r,n,i){let a=t.writeU16String(i);try{e.FPDFAnnot_SetStringValue(r,n,a)}finally{t.free(a)}}function Fi(e,t,r,n,i){if(i===null){e.EPDFAnnot_RemoveKey(r,n);return}Pr(e,t,r,n,i)}function X3(e,t,r,n){if(!e.EPDFAnnot_SetBorderStyle(t,r,n))throw new g(f.Unknown,"EPDFAnnot_SetBorderStyle returned false")}function Km(e,t,r,n){let i=t.alloc(n.length*4);try{for(let a=0;aTe({x:i.x+r,y:i.y+n},{x:t[a].x,y:t[a].y}))?{dx:r,dy:n}:void 0}function qm(e,t,r,{dx:n,dy:i}){let a=Ce(Is(e,t,r));rt(e,t,r,{left:a.left+n,bottom:a.bottom+i,right:a.right+n,top:a.top+i})}var zm="Rotation",Zm="UnrotatedRect";function rk(e,t){e.EPDFAnnot_HasEmbedMetadata(t)||e.EPDFAnnot_SetEmbedMetadataNumber(t,"SchemaVersion",1)}function ik(e,t,r){rk(e,t),e.EPDFAnnot_SetEmbedMetadataNumber(t,zm,id(r))}var ZH=new Set([90,180,270]);function JH(e,t,r){let n=e.FPDFAnnot_GetSubtype(t);r!==null&&(n===L.STAMP||n===L.FREETEXT&&ZH.has(r))?e.EPDFAnnot_SetRotate(t,id(r)):(n===L.STAMP||n===L.FREETEXT)&&e.EPDFAnnot_SetRotate(t,0)}function ak(e,t,r,n){rk(e,r);let i=t.alloc(16);try{t.poke(i,"f32",n.left,0),t.poke(i,"f32",n.top,4),t.poke(i,"f32",n.right,8),t.poke(i,"f32",n.bottom,12),e.EPDFAnnot_SetEmbedMetadataRect(r,Zm,i)}finally{t.free(i)}}function Jm(e,t,r,n){n?(ik(e,r,n.rotation),ak(e,t,r,n.box)):(e.EPDFAnnot_ClearEmbedMetadataKey(r,zm),e.EPDFAnnot_ClearEmbedMetadataKey(r,Zm)),JH(e,r,n?.rotation??null)}function $H(e,t,r){if(!xS(e,r))return;let n=ad(e,t,r);SS(n,IS(e,t,r))||(n?(ik(e,r,n.rotation),ak(e,t,r,n.box)):(e.EPDFAnnot_ClearEmbedMetadataKey(r,zm),e.EPDFAnnot_ClearEmbedMetadataKey(r,Zm)))}var ok=e=>e||null,rP=e=>(e%360+360)%360;function e4(e,t){return e===null||t===null?e===t:Te(rP(e),rP(t))}function Sa(e,t,r,n){let i=Ce(n.box),a=ok(n.rotation);Jm(e,t,r,a===null?null:{rotation:a,box:i}),rt(e,t,r,a===null?i:fn(i,a)),UH(e,r)}function wd(e,t,r,n){if(n.box===void 0&&n.rotation===void 0)return!1;let i=Qa(e,t,r),a=Ce(n.box??i.box),o=n.rotation===void 0?i.rotation:ok(n.rotation),s=e4(o,i.rotation);if(s&&Te(a,i.box))return!1;let A=a.right-a.left,d=a.top-a.bottom;return s&&Te(A,i.box.right-i.box.left)&&Te(d,i.box.top-i.box.bottom)?(qm(e,t,r,{dx:a.left-i.box.left,dy:a.bottom-i.box.bottom}),o!==null&&Jm(e,t,r,{rotation:o,box:a}),!0):(Sa(e,t,r,{box:a,rotation:o}),!0)}var iP=lt.caret;function t4(e,t,r,n){ct(e,t,r,n),Sa(e,t,r,{box:n.box,rotation:n.rotation??null}),ze(e,r,n.color??iP.color),nt(e,r,n.opacity??iP.opacity),n.intent!=null&&Ma(e,r,Wh(n.intent))}function n4(e,t,r,n){dt(e,t,r,n),wd(e,t,r,n),n.color!==void 0&&ze(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),n.intent!==void 0&&Wm(e,r,n.intent===null?null:Wh(n.intent))}function sk(e){return e==="caret"}var Pl=lt["file-attachment"];function r4(e,t){if(dk(t),ew(t),!e.file?.name)throw new g(f.InvalidArg,"a file attachment needs the file's name: give file.name, or the bytes as a File",{details:{field:"file.name"}})}function i4(e,t,r,n,i){ct(e,t,r,n),rt(e,t,r,n.rect),ze(e,r,n.color??Pl.color),nt(e,r,n.opacity??Pl.opacity),Ak(e,r,n.icon??Pl.icon);let a=n.file;Pm(e,t,ck(e,t,r,a.name),ew(i),A4(a),{bytes:dk(i)})}function a4(e,t,r,n,i){dt(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.color!==void 0&&ze(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),n.icon!==void 0&&Ak(e,r,n.icon),o4(e,t,r,n.file,i)}function $m(e){return e==="file-attachment"}function o4(e,t,r,n,i){let a=i?.resources?.file;if(n===void 0&&a===void 0)return;let o=e.EPDFAnnot_GetFileAttachmentForWrite(r);if(n===null){if(o)throw new g(f.InvalidArg,"a file attachment's file can't be removed");if(a===void 0)return}let s=o?Ga(e,t,o):null;if(!o){if(!n||a===void 0)throw new g(f.InvalidArg,"the file attachment has no file: send the file's name as `file` and its bytes as the `file` resource");o=ck(e,t,r,n.name)}let A=n?n.mimeType??null:s?.mimeType??null;if(a!==void 0?Pm(e,t,o,ew(i),{mimeType:A},{bytes:a}):A!==(s?.mimeType??null)&&s4(e,o,A),!!n){if(s!==null&&n.name!==s.name&&!Yt(t,n.name,d=>e.EPDFAttachment_SetName(o,d)))throw new g(f.Unknown,"EPDFAttachment_SetName returned false");if((n.description??null)!==(s?.description??null)&&!Yt(t,n.description??"",d=>e.EPDFAttachment_SetDescription(o,d)))throw new g(f.Unknown,"EPDFAttachment_SetDescription returned false")}}function s4(e,t,r){if(!e.EPDFAttachment_SetSubtype(t,r??""))throw new g(f.InvalidArg,"the file attachment's file has no embedded data to give a MIME type")}function Ak(e,t,r){if(!e.EPDFAnnot_SetName(t,$h[r]))throw new g(f.Unknown,"EPDFAnnot_SetName returned false")}function ck(e,t,r,n){let i=t.writeU16String(n),a;try{a=e.FPDFAnnot_AddFileAttachment(r,i)}finally{t.free(i)}if(!a)throw new g(f.Unknown,"FPDFAnnot_AddFileAttachment returned NULL");return a}function A4(e){return{...e.mimeType!=null?{mimeType:e.mimeType}:{},...e.description!=null?{description:e.description}:{}}}function dk(e){let t=e?.resources?.file;if(t===void 0)throw new g(f.InvalidArg,"creating a file-attachment annotation needs its 'file' resource");return t}function ew(e){if(e?.docPtr===void 0)throw new g(f.Unknown,"file-attachment writer requires docPtr on the write context");return e.docPtr}function Os(e,t,r,n,i,a){if(qS(r)){Xm(e,t,US(r),n,i);return}if(a?.resolveRegisteredFontId&&a.describeRegisteredFont?.(r)){qH(e,t,a.resolveRegisteredFontId(r),n,i);return}let o=a?.resolveDocumentFont?.(r);if(o){if(!o.choosable)throw new g(f.InvalidArg,`'${r}' can't be chosen for new text (${o.restrictions.join(", ")})`,{details:{field:"fontFamily",restrictions:o.restrictions}});zH(e,t,o.objectNumber,n,i);return}throw new g(f.InvalidArg,`fontFamily '${r}' is not a standard font, one of the engine's fonts or one of the document's`,{details:{field:"fontFamily"}})}function uk(e,t,r,n){let i=lt[n.subtype];pk(e,r,n.color===void 0?i.color:n.color),nt(e,r,n.opacity??i.opacity),lk(e,t,r,n)}function pk(e,t,r){r===null?WH(e,t):ze(e,t,r)}function lk(e,t,r,n){let i=lt[n.subtype];X3(e,r,Dm(n.borderStyle??i.borderStyle),n.strokeWidth??i.strokeWidth),n.dashArray!=null&&n.dashArray.length>0&&Km(e,t,r,n.dashArray)}function mk(e,t,r,n){n.color!==void 0&&pk(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),wk(e,t,r,n)}function wk(e,t,r,n){if(n.borderStyle!==void 0||n.strokeWidth!==void 0){let i=nd(e,t,r),a=n.borderStyle??Bm(i.styleCode),o=n.strokeWidth??i.width;X3(e,r,Dm(a),o)}n.dashArray===null||n.dashArray?.length===0?W3(e,r):n.dashArray!==void 0&&Km(e,t,r,n.dashArray)}function bd(e,t,r,n){let i=n.interiorColor??null;i===null?Hs(e,r,Ne.InteriorColor):ze(e,r,i,Ne.InteriorColor),uk(e,t,r,n)}function fd(e,t,r,n){n.interiorColor!==void 0&&(n.interiorColor===null?Hs(e,r,Ne.InteriorColor):ze(e,r,n.interiorColor,Ne.InteriorColor)),mk(e,t,r,n)}var tn=lt["free-text"];function bk(e,t,r,n,i){let a=Dh(r,{describe:n?.describeFont,programOf:n?.documentProgramOf,bodyProgram:i===void 0?void 0:n?.documentProgramOf?.(i)});if(!e.EPDFAnnot_SetRichTextJSON(t,a))throw new g(f.InvalidArg,"rich text could not be written (empty rect, or a font resource could not be built)")}function fk(e,t,r){if(!e.EPDFAnnot_SetEmbedMetadataNumber(t,"VerticalAlignment",ZS(r)))throw new g(f.Unknown,"EPDFAnnot_SetEmbedMetadataNumber returned false")}function c4(e,t,r,n,i){ct(e,t,r,n),Sa(e,t,r,{box:n.box,rotation:n.rotation??null});let a=n.interiorColor??null;a===null?Hs(e,r,Ne.Color):ze(e,r,a,Ne.Color),nt(e,r,n.opacity??tn.opacity),lk(e,t,r,n),n.cloudyIntensity!=null&&Ra(e,r,n.cloudyIntensity),Os(e,r,n.fontFamily??tn.fontFamily,n.fontSize??tn.fontSize,n.color??tn.color,i);let o=n.richText;md(e,r,Ss(o.body?.align??tn.textAlign)),Ma(e,r,t3(n.intent??tn.intent)),n.verticalAlign!==void 0&&n.verticalAlign!==tn.verticalAlign&&fk(e,r,n.verticalAlign),n.calloutLine!=null&&J3(e,t,r,n.calloutLine),n.lineEnding!=null&&Ta(e,r,{start:"none",end:n.lineEnding}),bk(e,r,o,i,n.fontFamily??tn.fontFamily)}function d4(e,t,r,n,i){if(dt(e,t,r,n),wd(e,t,r,n),n.interiorColor!==void 0&&(n.interiorColor===null?Hs(e,r,Ne.Color):ze(e,r,n.interiorColor,Ne.Color)),n.opacity!==void 0&&nt(e,r,n.opacity),wk(e,t,r,n),n.cloudyIntensity!==void 0&&(n.cloudyIntensity===null?Vm(e,r):Ra(e,r,n.cloudyIntensity)),n.color!==void 0){let a=Oa(e,t,r);a?Xm(e,r,-1,a.fontSize>0?a.fontSize:tn.fontSize,n.color):Os(e,r,tn.fontFamily,tn.fontSize,n.color,i)}n.richText!==void 0&&bk(e,r,n.richText,i,n.fontFamily),n.textAlign!==void 0&&md(e,r,Ss(n.textAlign)),n.intent!==void 0&&Ma(e,r,t3(n.intent)),n.verticalAlign!==void 0&&fk(e,r,n.verticalAlign),n.calloutLine===null?e.EPDFAnnot_RemoveKey(r,"CL"):n.calloutLine!==void 0&&J3(e,t,r,n.calloutLine),n.lineEnding===null?e.EPDFAnnot_RemoveKey(r,"LE"):n.lineEnding!==void 0&&Ta(e,r,{start:"none",end:n.lineEnding})}function gk(e){return e==="free-text"}var Fk=e=>e||null,aP=e=>(e%360+360)%360;function vk(e,t,r,n,i){let a=n.flat(),o=i===null||a.length===0?null:oA(a,i);return Jm(e,t,r,o?{rotation:o.degrees,box:nr(a)}:null),{drawn:n.map(s=>s.map(A=>o?Qr(A,o):A)),turn:o}}function gd(e,t,r,n,i){let a=vk(e,t,r,n,Fk(i));return rt(e,t,r,nr(a.drawn.flat())),a}function tw(e,t,r){let n=ix(e,t,r),i=Ad(e,t,r,n);return{drawn:n,turn:i,upright:n.map(a=>a.map(o=>Pi(o,i)))}}function nw(e,t,r,n,i,a){if(i===void 0&&a===void 0)return;let o=n.turn?.degrees??null,s=a===void 0?o:Fk(a),A=Te(aP(s??0),aP(o??0));if(i===void 0&&A)return;let d=vk(e,t,r,i??n.upright,s),p=nk(n.drawn.flat(),d.drawn.flat());return p&&qm(e,t,r,p),d}function u4(e,t,r,n){ct(e,t,r,n),n.intent!=null&&Ma(e,r,b3(n.intent)),uk(e,t,r,n),q3(e,t,r,gd(e,t,r,n.inkList,n.rotation).drawn)}function p4(e,t,r,n){dt(e,t,r,n),n.intent!==void 0&&Wm(e,r,n.intent===null?null:b3(n.intent)),mk(e,t,r,n);let i=nw(e,t,r,tw(e,t,r),n.inkList,n.rotation);i&&q3(e,t,r,i.drawn)}function Pk(e){return e==="ink"}var l4=1;function Qs(e,t,r,n){if(n.intent!==void 0&&(n.intent===null?e.EPDFAnnot_RemoveKey(r,"IT"):Le(e.EPDFAnnot_SetIntent(r,cx(n.intent)))),n.measure!==void 0)if(n.measure===null)Le(e.EPDFAnnot_RemoveMeasure(r));else{let i=e.EPDFAnnot_GetMeasure(r);i&&e.EPDFMeasure_GetSubtype(i)!==l4&&Le(e.EPDFAnnot_RemoveMeasure(r)),dh(e,t,e.EPDFAnnot_AddMeasure(r),n.measure)}if(n.subtype==="line"){if(n.leader!==void 0&&Le(e.EPDFAnnot_SetLineLeader(r,n.leader?.length??0,n.leader?.extension??0,n.leader?.offset??0)),n.captionEnabled!==void 0){let i=n.captionOffset??null;Le(Ll(t,i?{x:i.along,y:i.perpendicular}:void 0,a=>e.EPDFAnnot_SetLineCaption(r,n.captionEnabled??!1,n.captionPosition==="top"?1:0,a)))}}else if(n.captionEnabled!==void 0)if(n.captionEnabled===null)e.EPDFAnnot_ClearEmbedMetadataKey(r,"MeasurementCaption"),e.EPDFAnnot_ClearEmbedMetadataKey(r,"MeasurementCaptionCenter");else{let i=n.captionEnabled;Le(Ll(t,("captionCenter"in n?n.captionCenter:null)??void 0,a=>e.EPDFAnnot_SetShapeCaption(r,i,a)))}}function m4(e,t,r,n){ct(e,t,r,n),Qs(e,t,r,n),bd(e,t,r,n);let{start:i,end:a}=n.linePoints,[o]=gd(e,t,r,[[i,a]],n.rotation).drawn;U3(e,t,r,{start:o[0],end:o[1]}),Ta(e,r,n.lineEndings??lt.line.lineEndings)}function w4(e,t,r,n){dt(e,t,r,n),Qs(e,t,r,n),fd(e,t,r,n);let i=n.linePoints&&[[n.linePoints.start,n.linePoints.end]],a=nw(e,t,r,tw(e,t,r),i,n.rotation);if(a){let[o]=a.drawn;U3(e,t,r,{start:o[0],end:o[1]})}n.lineEndings!==void 0&&Ta(e,r,n.lineEndings)}function hk(e){return e==="line"}function b4(e,t,r,n,i){if(ct(e,t,r,n),rt(e,t,r,n.rect),!e.FPDFAnnot_SetBorder(r,0,0,0))throw new g(f.Unknown,"FPDFAnnot_SetBorder returned false");n.target&&Dk(e,t,r,n.target,i)}function f4(e,t,r,n,i){if(dt(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.target===null)g4(e,r);else if(n.target!==void 0){if(n.target.kind!=="goto"&&n.target.kind!=="uri"&&n.target.kind!=="named")throw new g(f.InvalidArg,`a '${n.target.kind}' link target can't be written`,{details:{field:"target"}});Dk(e,t,r,n.target,i)}}function g4(e,t){if(!e.EPDFAnnot_RemoveAction(t)||!e.EPDFAnnot_RemoveDest(t))throw new g(f.Unknown,"failed to clear link target")}function kk(e){return e==="link"}function Dk(e,t,r,n,i){let a=i?.docPtr;if(!a)throw new g(f.InvalidArg,"writing a link target requires a document pointer on the write context");let o=v3(e,t,a,n);if(!e.EPDFAnnot_SetAction(r,o))throw new g(f.Unknown,"EPDFAnnot_SetAction failed for link")}function F4(e,t,r,n){ct(e,t,r,n),rt(e,t,r,n.rect),n.open!==void 0&&Bk(e,r,n.open)}function v4(e,t,r,n){dt(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.open!==void 0&&Bk(e,r,n.open)}function Bk(e,t,r){if(!e.EPDFAnnot_SetBooleanValue(t,"Open",r))throw new g(f.Unknown,"EPDFAnnot_SetBooleanValue returned false")}function Ek(e){return e==="popup"}function P4(e,t,r,n){ct(e,t,r,n);let i=n.quadPoints;rw(e,t,r,i),Fd(e,t,r,i);let a=lt[n.subtype];ze(e,r,n.color??a.color),nt(e,r,n.opacity??a.opacity),n.subtype==="strikeout"&&n.intent!=null&&Ma(e,r,Uh(n.intent))}function h4(e,t,r,n){if(dt(e,t,r,n),n.color!==void 0&&ze(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),n.subtype==="strikeout"&&n.intent!==void 0&&Wm(e,r,n.intent===null?null:Uh(n.intent)),n.quadPoints!==void 0){let i=nk(fm(e,t,r).flatMap(oP),n.quadPoints.flatMap(oP));yk(e,t,r,n.quadPoints),i?qm(e,t,r,i):Fd(e,t,r,n.quadPoints)}}var oP=e=>[e.upperLeft,e.upperRight,e.lowerLeft,e.lowerRight];function _k(e){return e==="highlight"||e==="underline"||e==="squiggly"||e==="strikeout"}function rw(e,t,r,n){let i=t.alloc(32);try{for(let a of n)if(k4(t,i,a),!e.FPDFAnnot_AppendAttachmentPoints(r,i))throw new g(f.Unknown,"FPDFAnnot_AppendAttachmentPoints returned false")}finally{t.free(i)}}function yk(e,t,r,n){e.EPDFAnnot_RemoveKey(r,"QuadPoints"),rw(e,t,r,n)}function k4(e,t,r){e.poke(t,"f32",r.upperLeft.x,0),e.poke(t,"f32",r.upperLeft.y,4),e.poke(t,"f32",r.upperRight.x,8),e.poke(t,"f32",r.upperRight.y,12),e.poke(t,"f32",r.lowerLeft.x,16),e.poke(t,"f32",r.lowerLeft.y,20),e.poke(t,"f32",r.lowerRight.x,24),e.poke(t,"f32",r.lowerRight.y,28)}function Fd(e,t,r,n){let i=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,s=Number.NEGATIVE_INFINITY;for(let A of n)for(let d of[A.upperLeft,A.upperRight,A.lowerLeft,A.lowerRight])d.xo&&(o=d.x),d.ys&&(s=d.y);rt(e,t,r,{left:i,top:s,right:o,bottom:a})}var gr=lt.redact;function Gk(e){return e.overlayText!==void 0&&e.overlayText!==null||e.fontFamily!==void 0||e.fontSize!==void 0||e.fontColor!==void 0}function D4(e){if(e.rect===void 0&&(e.quadPoints??[]).length===0)throw new g(f.InvalidArg,"redact create needs a rect or at least one of quadPoints",{details:{field:"rect"}})}function B4(e,t,r,n,i){ct(e,t,r,n);let a=n.quadPoints??[];a.length>0&&rw(e,t,r,a),n.rect?rt(e,t,r,n.rect):Fd(e,t,r,a),ze(e,r,n.color??gr.color,Ne.Color),nt(e,r,n.opacity??gr.opacity);let o=n.interiorColor??null;o!==null&&ze(e,r,o,Ne.InteriorColor),n.overlayText!=null&&n.overlayText.length>0&&z3(e,t,r,n.overlayText),n.repeat&&Z3(e,r,!0),Gk(n)&&Os(e,r,n.fontFamily??gr.fontFamily,n.fontSize??gr.fontSize,n.fontColor??gr.fontColor,i),n.textAlign!==void 0&&md(e,r,Ss(n.textAlign))}function E4(e,t,r,n,i){if(dt(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.quadPoints!==void 0&&(yk(e,t,r,n.quadPoints),n.rect===void 0&&Fd(e,t,r,n.quadPoints)),n.color!==void 0&&ze(e,r,n.color,Ne.Color),n.opacity!==void 0&&nt(e,r,n.opacity),n.interiorColor!==void 0&&(n.interiorColor===null?Hs(e,r,Ne.InteriorColor):ze(e,r,n.interiorColor,Ne.InteriorColor)),n.overlayText!==void 0&&z3(e,t,r,n.overlayText??""),n.repeat!==void 0&&Z3(e,r,n.repeat),Gk(n)){let a=Oa(e,t,r);Os(e,r,n.fontFamily??(a?hm(a.fontCode):gr.fontFamily),n.fontSize??a?.fontSize??gr.fontSize,n.fontColor??a?.color??gr.fontColor,i)}n.textAlign!==void 0&&md(e,r,Ss(n.textAlign))}function iw(e){return e==="redact"}function _4(e,t,r,n){ct(e,t,r,n),Sa(e,t,r,{box:n.box,rotation:n.rotation??null}),bd(e,t,r,n),n.cloudyIntensity!=null&&n.cloudyIntensity>0&&Ra(e,r,n.cloudyIntensity)}function y4(e,t,r,n){dt(e,t,r,n),wd(e,t,r,n),fd(e,t,r,n),n.cloudyIntensity!==void 0&&(n.cloudyIntensity!==null&&n.cloudyIntensity>0?Ra(e,r,n.cloudyIntensity):Vm(e,r))}function Ck(e){return e==="circle"||e==="square"}var vd={contain:0,cover:1,fill:2};function G4(e,t){e.name!=null&&Sk(e.name),e.fit!=null&&xk(e.fit),Ok(t?.resources?.appearance,t)}function C4(e,t){e.name!==void 0&&e.name!==null&&Sk(e.name),e.fit!=null&&xk(e.fit);let r=t?.resources?.appearance;r!==void 0&&Ok(r,t)}function I4(e,t,r,n,i){ct(e,t,r,n),n.name!=null&&Ik(e,r,n.name),n.opacity!==void 0&&nt(e,r,n.opacity);let a=n.fit===null?"fill":n.fit??lt.stamp.fit;Qk(e,t,r,Hk(i),aw(i),a,{box:n.box,rotation:n.rotation??null}),n.fit!==null&&Sm(e,t,r,a)}function S4(e,t,r,n,i){dt(e,t,r,n),n.name===null?e.EPDFAnnot_RemoveKey(r,"Name"):n.name!==void 0&&Ik(e,r,n.name);let a=Im(e,t,r)??"fill",o=n.fit!==void 0?n.fit??"fill":a;n.fit!==void 0&&Sm(e,t,r,n.fit);let s=i?.resources?.appearance;if(s!==void 0){n.opacity!==void 0&&nt(e,r,n.opacity);let d=Qa(e,t,r);Qk(e,t,r,s,aw(i),o,{box:n.box??d.box,rotation:n.rotation===void 0?d.rotation:n.rotation});return}let A=wd(e,t,r,n);n.opacity!==void 0?H4(e,r,o,n.opacity):(A||n.fit!==void 0)&&Rk(e,r,o)}function Pd(e){return e==="stamp"}function Ik(e,t,r){if(!e.EPDFAnnot_SetName(t,r))throw new g(f.Unknown,"EPDFAnnot_SetName returned false")}function Sk(e){if(e.length===0)throw new g(f.InvalidArg,"stamp name must be non-empty")}function xk(e){if(vd[e]===void 0)throw new g(f.InvalidArg,`unknown stamp fit '${String(e)}'; expected contain, cover, or fill`)}function Hk(e){let t=e?.resources?.appearance;if(!t)throw new g(f.InvalidArg,"creating a stamp annotation needs its 'appearance' resource");return t}function Ok(e,t){e||Hk(t);let r=e instanceof ArrayBuffer?ro(e):null;if(!r)throw new g(f.InvalidArg,"the appearance resource must be PNG, JPEG or one-page PDF bytes");if(r.mimeType==="application/pdf"){let n=t?.pdfPageCount?.(e);if(n===null)throw new g(f.MalformedPdf,"the stamp's appearance PDF could not be opened");if(n!==void 0&&n!==1)throw new g(f.InvalidArg,`the appearance PDF has ${n} pages; a stamp takes a one-page PDF`)}aw(t)}function aw(e){if(e?.docPtr===void 0||!e.drawings)throw new g(f.Unknown,"stamp writer requires docPtr/drawings on the write context");return{docPtr:e.docPtr,drawings:e.drawings}}function Qk(e,t,r,n,i,a,o){Sa(e,t,r,{box:o.box,rotation:null}),x4(e,t,r,n,i,a),o.rotation&&(Sa(e,t,r,o),Rk(e,r,a))}function x4(e,t,r,n,i,a){let o=ro(n);if(!o)throw new g(f.Unknown,"stamp content preflight invariant broken");let s=jH(e,t,i.docPtr,i.drawings,n,o);if(!e.EPDFAnnot_SetStampDrawing(r,s,vd[a]))throw new g(f.Unknown,"EPDFAnnot_SetStampDrawing returned false")}function H4(e,t,r,n){if(!e.EPDFAnnot_SetStampOpacity(t,vd[r],n))throw new g(f.Unknown,"EPDFAnnot_SetStampOpacity returned false")}function Rk(e,t,r){if(!e.EPDFAnnot_UpdateAppearanceToRect(t,vd[r]))throw new g(f.Unknown,"EPDFAnnot_UpdateAppearanceToRect returned false")}var hl=lt.text;function O4(e,t,r,n){ct(e,t,r,n),rt(e,t,r,n.rect),ze(e,r,n.color??hl.color),nt(e,r,n.opacity??hl.opacity),Lk(e,r,n.icon??hl.icon),n.open!==void 0&&Tk(e,r,n.open),n.stateModel!=null&&Pr(e,t,r,"StateModel",G3(n.stateModel)),n.state!=null&&Pr(e,t,r,"State",C3(n.state))}function Q4(e,t,r,n){dt(e,t,r,n),n.rect!==void 0&&rt(e,t,r,n.rect),n.color!==void 0&&ze(e,r,n.color),n.opacity!==void 0&&nt(e,r,n.opacity),n.icon!==void 0&&Lk(e,r,n.icon),n.open!==void 0&&Tk(e,r,n.open),n.stateModel!==void 0&&Fi(e,t,r,"StateModel",n.stateModel===null?null:G3(n.stateModel)),n.state!==void 0&&Fi(e,t,r,"State",n.state===null?null:C3(n.state))}function Tk(e,t,r){if(!e.EPDFAnnot_SetBooleanValue(t,"Open",r))throw new g(f.Unknown,"EPDFAnnot_SetBooleanValue returned false")}function Mk(e){return e==="text"}function Lk(e,t,r){if(!e.EPDFAnnot_SetName(t,Jh[r]))throw new g(f.Unknown,"EPDFAnnot_SetName returned false")}var Ul=(e,t)=>t?Qr(e,t):e;function Nk(e,t){return e.captionCenter?{...e,captionCenter:Ul(e.captionCenter,t.turn)}:e}function R4(e,t,r,n,i,a){let o=a?a.turn:i.turn;if(n.captionCenter)return{...n,captionCenter:Ul(n.captionCenter,o)};if(!a||n.captionEnabled!==void 0)return n;let s=f3(e,t,r);return s?.center?{...n,captionEnabled:s.enabled,captionCenter:Ul(Pi(s.center,i.turn),o)}:n}function T4(e,t,r,n){ct(e,t,r,n);let i=gd(e,t,r,[n.vertices],n.rotation);Qs(e,t,r,Nk(n,i)),bd(e,t,r,n),Ym(e,t,r,i.drawn[0]),n.cloudyIntensity!=null&&n.cloudyIntensity>0&&Ra(e,r,n.cloudyIntensity)}function M4(e,t,r,n){dt(e,t,r,n),jk(e,t,r,n),fd(e,t,r,n),n.cloudyIntensity!==void 0&&(n.cloudyIntensity!==null&&n.cloudyIntensity>0?Ra(e,r,n.cloudyIntensity):Vm(e,r))}function L4(e,t,r,n){ct(e,t,r,n);let i=gd(e,t,r,[n.vertices],n.rotation);Qs(e,t,r,Nk(n,i)),bd(e,t,r,n),Ym(e,t,r,i.drawn[0]),Ta(e,r,n.lineEndings??lt.polyline.lineEndings)}function N4(e,t,r,n){dt(e,t,r,n),jk(e,t,r,n),fd(e,t,r,n),n.lineEndings!==void 0&&Ta(e,r,n.lineEndings)}function jk(e,t,r,n){let i=tw(e,t,r),a=nw(e,t,r,i,n.vertices&&[n.vertices],n.rotation);Qs(e,t,r,R4(e,t,r,n,i,a)),a&&Ym(e,t,r,a.drawn[0])}function Kk(e){return e==="polygon"||e==="polyline"}var j4=0,K4=1;function ow(e,t,r){let n=(r.next??[]).map(a=>ow(e,t,a)),i=V4(e,t,r);if(n.length>0&&!Fs(e,n,(a,o)=>e.fn.EPDFAction_SetNext(t,i,a,o)))throw new g(f.Unknown,`the ${r.type} action's next ones could not be set`);return i}function V4(e,t,r){let{fn:n,mem:i}=e,a=(()=>{switch(r.type){case"javascript":return Zn(i,r.script,o=>n.EPDFAction_CreateJavaScript(t,o));case"goto":return n.EPDFAction_CreateGoTo(t,g3(n,i,t,r.destination));case"uri":return n.EPDFAction_CreateURI(t,r.uri);case"named":return n.EPDFAction_CreateNamed(t,r.name);case"hide":return kl(e,r.targets,(o,s)=>n.EPDFAction_CreateHide(t,o,s,r.hide));case"reset-form":return kl(e,r.fields??[],(o,s)=>n.EPDFAction_CreateResetForm(t,o,r.fields?s:-1,r.exclude));case"submit-form":return Zn(i,r.url,o=>kl(e,r.fields??[],(s,A)=>n.EPDFAction_CreateSubmitForm(t,o,s,r.fields?A:-1,Zu(r))))}})();if(!a)throw new g(f.InvalidArg,`the ${r.type} action could not be written`);return a}function kl(e,t,r){let{mem:n}=e,i=8+uh(e),a=t.map(o=>o.kind==="name"?n.writeU16String(o.name):null);try{return Y(n,Math.max(1,t.length*i),o=>(t.forEach((s,A)=>{let d=A*i,p=a[A];n.poke(o,"i32",p?j4:K4,d),n.poke(o,"i32",s.kind==="objectNumber"?s.objectNumber:0,d+4),ph(e,o,d+8,p??W)}),r(o,t.length)))}finally{for(let o of a)o&&n.free(o)}}function Vk(e,t,r,n){go.forEach((i,a)=>{let o=n===null?null:n[i];if(o===void 0)return;let s=o===null?W:ow(e,t,o);if(!e.fn.EPDFAnnot_SetEventAction(r,a,s))throw new g(f.Unknown,`the widget's ${i} action could not be written`)})}var sP=0,AP=1,cP=0;function Yk(e){return e==="widget"}function Y4(e,t){if(e.subtype!=="widget"||!e.hasMark)return;let r=t,n=xo.filter(i=>r[i]!==void 0&&!Te(r[i],e[i]));if(n.length>0)throw new g(f.InvalidArg,`the widget has a mark in it, which its style doesn't draw: ${n.join(", ")} can't change`)}function sw(e,t,r,n,i){if(n.color===null)e.EPDFAnnot_ClearMKColor(r,sP);else if(n.color){let{r:o,g:s,b:A}=Tn(n.color);e.EPDFAnnot_SetMKColor(r,sP,o,s,A)}if(n.interiorColor===null)e.EPDFAnnot_ClearMKColor(r,AP);else if(n.interiorColor){let{r:o,g:s,b:A}=Tn(n.interiorColor);e.EPDFAnnot_SetMKColor(r,AP,o,s,A)}if(n.strokeWidth!==void 0||n.borderStyle!==void 0){let o=nd(e,t,r);e.EPDFAnnot_SetBorderStyle(r,ex(n.borderStyle??m3(o.styleCode)),n.strokeWidth??o.width)}n.dashArray===null?W3(e,r):n.dashArray!==void 0&&Km(e,t,r,n.dashArray),(n.fontFamily!==void 0||n.fontSize!==void 0||n.fontColor!==void 0)&&X4(e,t,r,n,i),n.textAlign!==void 0&&e.EPDFAnnot_SetTextAlignment(r,Ss(n.textAlign));let a=n.checkStyle!==void 0?n.checkStyle&&PH(n.checkStyle):n.caption;a===null?e.EPDFAnnot_SetMKText(r,cP,W):a!==void 0&&Zn(t,a,o=>e.EPDFAnnot_SetMKText(r,cP,o))}function X4(e,t,r,n,i){let a=Oa(e,t,r);if([n.fontFamily,n.fontSize,n.fontColor].includes(null)&&a!==null)throw new g(f.InvalidArg,"a widget's font can't be removed: send a font, or leave the font fields out",{details:{field:"fontFamily"}});let o=n.fontFamily??void 0,s=n.fontSize??void 0,A=n.fontColor??void 0;if(o===void 0&&s===void 0&&A===void 0)return;let d=s??a?.fontSize??12,p=A??a?.color??"#000000";if(a!==null&&(o===void 0||W4(e,t,r,o,i))){Xm(e,r,-1,d,p);return}Os(e,r,o??"helvetica",d,p,i)}function W4(e,t,r,n,i){let a=rd(e,t,r);if(!a)return!1;if(od(e,t,r,a)===n)return!0;let o=Sr(n,i?.describeFont);return wn(o.family)===wn(a.family)&&(o.weight===void 0||o.weight===a.weight)&&(o.italic===void 0||o.italic===a.italic)}function Xk(e,t,r){if(!e.EPDFAnnot_SetMKRotation(t,(360-(r??0))%360))throw new g(f.Unknown,"the widget's turn (/MK /R) could not be written")}function Wk(e,t,r,n,i){let a=Ce(n.box),o=n.rotation?fn(a,n.rotation):a;(!i||n.rotation!==i.rotation)&&Xk(e,r,n.rotation),(!i||!Te(o,i.rect))&&rt(e,t,r,o)}function U4(e,t,r,n,i){let{actions:a,...o}=n;ct(e,t,r,o),Wk(e,t,r,{box:n.box,rotation:n.rotation??null},null),sw(e,t,r,n,i)}function q4(e,t,r,n){if(n.box===void 0&&n.rotation===void 0)return;let i=Ce(Is(e,t,r)),a=x3(e,r);Wk(e,t,r,{box:n.box??Hr(i,a??0),rotation:n.rotation===void 0?a:n.rotation||null},{rect:i,rotation:a})}function z4(e,t,r,n,i){let{actions:a,...o}=n;if(dt(e,t,r,o),q4(e,t,r,n),sw(e,t,r,n,i),n.actions!==void 0){if(!i?.runtime||!i.docPtr)throw new g(f.InvalidArg,"writing a widget's actions requires the runtime and the document on the write context");Vk(i.runtime,i.docPtr,r,n.actions)}}function Z4(e,t){Pd(e.subtype)&&G4(e,t),$m(e.subtype)&&r4(e,t),iw(e.subtype)&&D4(e)}function J4(e,t){Pd(Aw(e))&&C4(e,t)}function $4(e,t,r,n,i){nO(e,t,r,n,i),Uk(e,r,n,i)}function eO(e,t,r,n,i){rO(e,t,r,n,i),Uk(e,r,{...n,subtype:Aw(n)},i)}function Uk(e,t,r,n){if(r.subtype==="free-text"||r.richText===void 0)return;if(r.richText===null){e.EPDFAnnot_RemoveKey(t,"RC");return}let i=Dh(tO(r.richText),{describe:n?.describeFont});if(!e.EPDFAnnot_SetRichTextJSON(t,i))throw new g(f.InvalidArg,`${r.subtype}: the comment's rich text could not be written`)}function tO(e){if(e.body?.family!==Mi.family)return e;let{family:t,...r}=e.body;return{...e,body:r}}function nO(e,t,r,n,i){if(_k(n.subtype)){P4(e,t,r,n);return}if(Ck(n.subtype)){_4(e,t,r,n);return}if(Kk(n.subtype)){n.subtype==="polygon"?T4(e,t,r,n):L4(e,t,r,n);return}if(hk(n.subtype)){m4(e,t,r,n);return}if(kk(n.subtype)){b4(e,t,r,n,i);return}if(Pk(n.subtype)){u4(e,t,r,n);return}if(gk(n.subtype)){c4(e,t,r,n,i);return}if(sk(n.subtype)){t4(e,t,r,n);return}if(Mk(n.subtype)){O4(e,t,r,n);return}if(Pd(n.subtype)){I4(e,t,r,n,i);return}if($m(n.subtype)){i4(e,t,r,n,i);return}if(Yk(n.subtype)){U4(e,t,r,n,i);return}if(Ek(n.subtype)){F4(e,t,r,n);return}if(iw(n.subtype)){B4(e,t,r,n,i);return}throw new g(f.NotImplemented,`no writer registered for draft.subtype='${n.subtype}'`)}function rO(e,t,r,n,i){let a=Aw(n);if(_k(a)){h4(e,t,r,n);return}if(Ck(a)){y4(e,t,r,n);return}if(Kk(a)){a==="polygon"?M4(e,t,r,n):N4(e,t,r,n);return}if(hk(a)){w4(e,t,r,n);return}if(kk(a)){f4(e,t,r,n,i);return}if(Pk(a)){p4(e,t,r,n);return}if(gk(a)){d4(e,t,r,n,i);return}if(sk(a)){n4(e,t,r,n);return}if(Mk(a)){Q4(e,t,r,n);return}if(Pd(a)){S4(e,t,r,n,i);return}if($m(a)){a4(e,t,r,n,i);return}if(Yk(a)){z4(e,t,r,n,i);return}if(Ek(a)){v4(e,t,r,n);return}if(iw(a)){E4(e,t,r,n,i);return}throw new g(f.NotImplemented,`no writer registered for subtype='${a}'`)}function Aw(e){if(e.subtype===void 0)throw new g(f.InvalidArg,"a patch reached the writer without its subtype");return e.subtype}function iO(e,t,r){let n=GF(e,{linked:["reply","parent"],describeFont:r.describeFont});return kA(n.subtype,t,"create"),Z4(n,r),n}function cw(e,t,r,n){let{fn:i,mem:a}=e,o=a.writeU16String(n);try{return i.EPDFPage_GetAnnotIndexByNameRaw(t,r,o)}finally{a.free(o)}}function qk(e,t){return new g(f.InvalidArg,`nm '${e}' is already used on page ${t}`,{details:{field:"nm"}})}function Xc(e,t,r,n,i,a){let o=N3(e,t,a.docPtr,r,n,i),s=e.FPDFAnnot_GetSubtype(r),{reader:A}=H3(s);return A(e,t,r,o,s,a)}function zk(e,t,r){return r===void 0?e.EPDFAnnot_GenerateAppearance(t):e.EPDFAnnot_GenerateAppearanceWithBlend(t,BH(r))}function aO(e,t,r,n,i){n.author===null?e.EPDFAnnot_RemoveKey(r,"T"):ek(e,t,r,n.author),n.createdAt===null?e.EPDFAnnot_RemoveKey(r,"CreationDate"):tk(e,t,r,n.createdAt),n.modifiedAt===null?e.EPDFAnnot_RemoveKey(r,"M"):Um(e,t,r,n.modifiedAt),Sx(e,t,r,n,i)}function oO(e,t,r,n){let i=e.EPDFAnnot_GetFileAttachmentForWrite(r);if(i)for(let[a,o]of[["CreationDate",n.createdAt],["ModDate",n.modifiedAt]]){if(!o)continue;let s=t.writeU16String(gt(o));try{e.FPDFAttachment_SetStringValue(i,a,s)}finally{t.free(s)}}}function sO(e,t,r,n,i){n?.displayName&&ek(e,t,r,n.displayName),tk(e,t,r,i),Um(e,t,r,i),Cx(e,t,r,n)}function AO(e,t,r,n,i){let{fn:a}=e;if(i.inReplyTo===null){a.EPDFAnnot_SetLinkedAnnot(r,"IRT",W),a.EPDFAnnot_SetReplyType(r,0);return}if(i.inReplyTo){if(i.inReplyTo.page.objectNumber!==n)throw new g(f.InvalidArg,`/IRT parent must be on the same page as the reply (parent page ${i.inReplyTo.page.objectNumber}, reply page ${n})`);let o=Cs(e,t,i.inReplyTo);try{Zk(e,r,o,i.replyType??"reply")}finally{a.FPDFPage_CloseAnnot(o)}return}if(i.replyType!==void 0){let o=a.FPDFAnnot_GetLinkedAnnot(r,"IRT");if(o)try{a.EPDFAnnot_SetReplyType(r,P3(i.replyType))}finally{a.FPDFPage_CloseAnnot(o)}}}function cO(e,t,r,n,i,a){let{fn:o}=e;if(a){let d=Cs(e,t,a);try{let p=o.FPDFAnnot_GetLinkedAnnot(d,"Popup");if(p){let m=o.EPDFAnnot_GetObjectNumber(p)===o.EPDFAnnot_GetObjectNumber(r);o.FPDFPage_CloseAnnot(p),m&&o.EPDFAnnot_SetLinkedAnnot(d,"Popup",W)}}finally{o.FPDFPage_CloseAnnot(d)}}if(i===null)return o.EPDFAnnot_SetLinkedAnnot(r,"Parent",W),null;if(i.page.objectNumber!==n)throw new g(f.InvalidArg,`a popup's parent must be on the same page (parent page ${i.page.objectNumber}, popup page ${n})`);let{annotPtr:s,name:A}=fh(e,t,i);try{return Jk(e,r,s),A}finally{o.FPDFPage_CloseAnnot(s)}}function Zk(e,t,r,n){let{fn:i}=e;if(!i.EPDFAnnot_SetLinkedAnnot(t,"IRT",r))throw new g(f.Unknown,"failed to set /IRT linked annotation");i.EPDFAnnot_SetReplyType(t,P3(n))}function Jk(e,t,r){let{fn:n}=e;if(dO(e,t,r),!n.EPDFAnnot_SetLinkedAnnot(t,"Parent",r)||!n.EPDFAnnot_SetLinkedAnnot(r,"Popup",t))throw new g(f.Unknown,"failed to link a popup to its parent");uO(e,t,r)}function dO(e,t,r){let{fn:n}=e,i=n.FPDFAnnot_GetLinkedAnnot(r,"Popup");if(!i)return;let a=n.EPDFAnnot_GetObjectNumber(i);if(n.FPDFPage_CloseAnnot(i),a!==n.EPDFAnnot_GetObjectNumber(t))throw new g(f.InvalidArg,`the annotation already has a popup (object ${a}); delete it first`,{details:{field:"parent",popupObjectNumber:a}})}function uO(e,t,r){let{fn:n,mem:i}=e;if(n.FPDFAnnot_GetSubtype(r)!==L.TEXT)return;let a=hs(n,i,t,"Open");if(a!==null){ql(e,r,a);return}let o=hs(n,i,r,"Open");o!==null&&ql(e,t,o)}function pO(e,t,r,n,i){let{fn:a}=e,{annotPtr:o,name:s}=fh(e,t,r);try{return i&&a.FPDFAnnot_GetSubtype(o)!==L.TEXT?null:(ql(e,o,n),s)}finally{a.FPDFPage_CloseAnnot(o)}}function ql(e,t,r){if(!e.fn.EPDFAnnot_SetBooleanValue(t,"Open",r))throw new g(f.Unknown,"EPDFAnnot_SetBooleanValue returned false")}function $k(e,t){let{mem:r}=e,n=t(W,0);return n<=0?[]:Y(r,n*8,i=>(t(i,n),Array.from({length:n},(a,o)=>({start:Number(r.peek(i,"i32",o*8))>>>0,count:Number(r.peek(i,"i32",o*8+4))>>>0}))))}var lO={0:null,1:"truetype",2:"opentype",3:"cff",4:"type1",5:"type3"},mO={0:"none",1:"whole",2:"subset"},wO={0:"installable",1:"editable",2:"preview-and-print",3:"restricted",4:"bitmap-only"},bO={0:"standard",1:"engine",2:"document-program",3:"document-font"},dw=e=>Array.from(e,t=>t.toString(16).padStart(2,"0")).join(""),Dl=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}facts(){return{faces:this.faces(),engineFonts:this.fonts.engineFontFacts(),fallbacks:this.fonts.fallbackKeys()}}faces(){return hd(this.runtime,this.session)}resolve(e,t,r){let{fn:n,mem:i}=this.runtime,a=t.map(d=>this.faceOfRun(d,r)),o=t.map(d=>i.writeU16String(d.text)),s=a.map(d=>i.writeU16String(d.family)),A=e?this.openAnnotation(e):W;try{let d=Fs(this.runtime,o,p=>Fs(this.runtime,s,m=>an(i,a.map(F=>F.weight),F=>an(i,a.map(h=>h.italic?1:0),h=>an(i,a.map(P=>P.program),P=>n.EPDFDoc_ResolveFonts(this.session.requireDocPtr(),A,t.length,p,m,F,h,P))))));if(!d)throw new g(f.Unknown,"EPDFDoc_ResolveFonts failed");try{return this.readResolution(d,t.length)}finally{n.EPDFFontResolution_Close(d)}}finally{A&&n.FPDFPage_CloseAnnot(A);for(let d of[...o,...s])i.free(d)}}readResolution(e,t){let{fn:r,mem:n}=this.runtime,i=[];for(let s=0;s(r.EPDFFontResolution_GetFallbacks(e,s,m,d),Array.from({length:d},(F,h)=>Number(n.peek(m,"i32",h*4))>>>0)));i.push({source:bO[r.EPDFFontResolution_GetSource(e,s)]??"standard",engineFont:A?this.fonts.keyForId(A)??null:null,objectNumber:r.EPDFFontResolution_GetProgramObjNum(e,s),displaySha256:Y(n,32,m=>r.EPDFFontResolution_GetProgramDisplayHash(e,s,m)?dw(n.readBytes(m,32)):null),baseFontName:Ye(n,(m,F)=>r.EPDFFontResolution_GetBaseFontName(e,s,m,F))||null,familyName:fe(n,(m,F)=>r.EPDFFontResolution_GetFamily(e,s,m,F))??"",weight:r.EPDFFontResolution_GetWeight(e,s),italic:r.EPDFFontResolution_IsItalic(e,s),degraded:r.EPDFFontResolution_IsDegraded(e,s),fallbacks:p.flatMap(m=>{let F=this.fonts.keyForId(m);return F?[F]:[]})})}let a=[],o=r.EPDFFontResolution_CountMissingCharacters(e);for(let s=0;sr.EPDFFontResolution_GetMissingCharacter(e,s,d,p));A&&a.push(A)}return{runs:i,missingCharacters:a}}faceOfRun(e,t){if(!("fontFamily"in e))return{family:e.family,weight:e.weight,italic:e.italic,program:0};let r=e.fontFamily;if(Ir(r)){let o=mn[r];return{family:o.family,weight:o.weight,italic:o.italic,program:0}}let n=this.fonts.describeOrUndefined(r);if(n){let{familyName:o,weight:s,italic:A}=n;return{family:o,weight:s,italic:A,program:0}}let i=ia(t.faces).find(o=>o.name===r);if(i){let{familyName:o,weight:s,italic:A}=i.face,d=bc(t,r);return{family:o,weight:s,italic:A,program:d?.choosable?d.objectNumber:0}}let a=Sr(r);return{family:a.family,weight:a.weight??400,italic:a.italic??!1,program:0}}openAnnotation(e){let{pageIndex:t,index:r}=Bt(this.runtime,this.session,e),n=this.runtime.fn.EPDFPage_GetAnnotRaw(this.session.requireDocPtr(),t,r);if(!n)throw new g(f.NotFound,"annotation not found");return n}program(e,t){let r=this.fonts.programFor(e);if(r)return{...r.info(),bytes:t?r.bytes():null};let n=this.faces().flatMap(s=>s.programs).find(s=>s.displaySha256===e&&s.objectNumber>0);if(!n)throw new g(f.NotFound,`no font program ${e}`);let{fn:i,mem:a}=this.runtime,o=this.session.requireDocPtr();return Y(a,32,s=>{a.writeBytes(s,fO(e));let A=$k(this.runtime,(p,m)=>i.EPDFDoc_GetFontDisplayProgramCoverage(o,s,p,m)),d=null;if(t){let p=i.EPDFDoc_GetFontDisplayProgramData(o,s,W,0);d=Y(a,Math.max(1,p),m=>(i.EPDFDoc_GetFontDisplayProgramData(o,s,m,p),a.readBytes(m,p)))}return{covers:A,ascent:n.ascent,descent:n.descent,bytes:d}})}};function fO(e){return Uint8Array.from({length:e.length/2},(t,r)=>parseInt(e.slice(r*2,r*2+2),16))}function hd(e,t){let{fn:r,mem:n}=e,i=r.EPDFFontFaces_Load(t.requireDocPtr());if(!i)throw new g(f.Unknown,"EPDFFontFaces_Load failed");try{let a=[],o=r.EPDFFontFaces_Count(i);for(let s=0;sr.EPDFFontFaces_GetFamily(i,s,p,m))??"",weight:r.EPDFFontFaces_GetWeight(i,s),italic:r.EPDFFontFaces_IsItalic(i,s),programs:A})}return a}finally{r.EPDFFontFaces_Close(i)}}function gO(e,t,r,n){let{fn:i,mem:a}=e,o=p=>Y(a,32,m=>p(m)?dw(a.readBytes(m,32)):null),s=o(p=>i.EPDFFontFaces_GetProgramHash(t,r,n,p)),A=o(p=>i.EPDFFontFaces_GetProgramDisplayHash(t,r,n,p)),d=he(a,[4,4],([p,m])=>i.EPDFFontFaces_GetProgramMetrics(t,r,n,p,m)?{ascent:Number(a.peek(p,"f32")),descent:Number(a.peek(m,"f32"))}:{ascent:0,descent:0});return{objectNumber:i.EPDFFontFaces_GetProgramObjNum(t,r,n),format:lO[i.EPDFFontFaces_GetProgramFormat(t,r,n)]??null,embedded:mO[i.EPDFFontFaces_GetProgramEmbedded(t,r,n)]??"none",postScriptName:Ye(a,(p,m)=>i.EPDFFontFaces_GetProgramPostScriptName(t,r,n,p,m))||null,permission:wO[i.EPDFFontFaces_GetProgramEmbeddingPermission(t,r,n)]??null,mapsUnicode:i.EPDFFontFaces_ProgramMapsUnicode(t,r,n),sha256:s,displaySha256:A,ascent:Math.round(d.ascent*1e3),descent:-Math.round(d.descent*1e3)}}var Wc=new WeakMap;function eD(e,t){let{fn:r,mem:n}=e;return Y(n,32,i=>{if(!r.EPDFDoc_GetFontsFingerprint(t.requireDocPtr(),i))throw new g(f.Unknown,"EPDFDoc_GetFontsFingerprint failed");return dw(n.readBytes(i,32))})}function tD(e,t){let r=Sp({faces:hd(e,t),engineFonts:[],fallbacks:[]},fv);return JSON.stringify(r.fonts.filter(n=>n.source==="document"))}function dP(e,t){Wc.has(t)||Wc.set(t,{fingerprint:eD(e,t),documentFonts:tD(e,t)})}function FO(e,t){let r=Wc.get(t);if(!r)return!1;let n=eD(e,t);if(n===r.fingerprint)return!1;let i=tD(e,t);return Wc.set(t,{fingerprint:n,documentFonts:i}),i!==r.documentFonts}function vO(e,t,r){return bc({faces:hd(e,t),engineFonts:[],fallbacks:[]},r)}function Uc(e,t,r){let n,i=a=>(n??(n=ia(hd(e,t)))).find(o=>o.name===a);return{...r?{resolveRegisteredFontId:a=>r.idFor(a),describeRegisteredFont:a=>r.describeOrUndefined(a)}:{},describeFont:a=>{let o=r?.describeOrUndefined(a);if(o)return o;let s=i(a)?.face;return s&&{familyName:s.familyName,weight:s.weight,italic:s.italic}},documentProgramOf:a=>{if(Ir(a)||r?.describeOrUndefined(a))return;let o=i(a)?.programs[0];return o&&ra(o)&&o.objectNumber>0?o.objectNumber:void 0},resolveDocumentFont:a=>vO(e,t,a)}}var uw=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}create(e,t){O(t);let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=new Set,o=e.map(h=>{let P=this.session.resolvePageRef(h.page),B=this.writeContext(h.resources),y=fi(h.label,()=>iO(h.draft,h.resources,B));fi(h.label,()=>this.claimName(y.nm,P,a));let x=y.nm!==void 0||h.attribution.kind!=="stamp"?y:{...y,nm:tc()};h.objectNumber!==void 0&&fi(h.label,()=>this.session.claimObjectNumber(h.objectNumber));let I=h.replyTo&&{type:h.replyTo.type,to:fi(h.label,()=>this.linkTarget(h.replyTo.to,h.page,e.length,"reply"))};if(x.subtype==="popup"&&!h.parent)throw new g(f.InvalidArg,`${h.label??"create"}: a popup needs the annotation it shows (parent)`,{details:{field:"parent"}});return{create:h,record:P,ctx:B,draft:x,replyTo:I,parent:h.parent&&fi(h.label,()=>this.linkTarget(h.parent,h.page,e.length,"popup"))}});if(O(t),o.length===0)return{created:[],meta:uP(this.session.writeStamp(),[],[])};let s=o.map(({create:h,record:P,ctx:B,draft:y})=>{O(t);let x=r.EPDFPage_CreateAnnotRaw(i,P.pageIndex,mc[y.subtype],h.objectNumber??0);if(!x&&h.objectNumber!==void 0)throw gs(h.objectNumber,"taken");if(!x)throw new g(f.Unknown,`${h.label??"create"}: EPDFPage_CreateAnnotRaw returned NULL`);let I;try{if(fi(h.label,()=>$4(r,n,x,y,B)),zk(r,x,y.blendMode),I=r.EPDFAnnot_GetObjectNumber(x),I<=0)throw new g(f.Unknown,`${h.label??"create"}: EPDFPage_CreateAnnotRaw made a direct object`)}finally{r.FPDFPage_CloseAnnot(x)}return{pageIndex:P.pageIndex,pageObjectNumber:P.pageObjectNumber,index:r.EPDFPage_GetAnnotCountRaw(i,P.pageIndex)-1,objectNumber:I}}),A=[],d=(h,P)=>typeof h=="number"?this.withOpen(s[h],P):this.withOpenExisting(h,P);o.forEach(({replyTo:h,parent:P},B)=>{h&&this.withOpen(s[B],y=>d(h.to,x=>Zk(this.runtime,y,x,h.type))),P!==void 0&&this.withOpen(s[B],y=>d(P,x=>{Jk(this.runtime,y,x),typeof P!="number"&&A.push(Ha(r,n,i,P.page,x,P.index))}))});let p=new Date;o.forEach(({create:{attribution:h,fileDates:P,label:B}},y)=>{this.withOpen(s[y],x=>fi(B,()=>{h.kind==="stamp"?sO(r,n,x,h.actor,p):aO(r,n,x,h.from,h.importedBy),P&&oO(r,n,x,P)}))});let m=Ps(this.session,this.fonts),F=s.map(h=>this.withOpen(h,P=>Xc(r,n,P,h.pageObjectNumber,h.index,m)));return Bs(this.runtime,this.session,F),{created:F,meta:uP(this.session.writeStamp(),s,A)}}claimName(e,t,r){if(!e)return;let n=`${t.pageIndex}\0${e}`,i=this.session.requireDocPtr();if(r.has(n)||cw(this.runtime,i,t.pageIndex,e)>=0)throw qk(e,t.pageObjectNumber);r.add(n)}linkTarget(e,t,r,n){if("planned"in e){if(e.planned<0||e.planned>=r)throw new g(f.InvalidArg,`no create ${e.planned} to link to`);return e.planned}let{existing:i}=e;if(i.page.objectNumber!==t.objectNumber)throw new g(f.InvalidArg,n==="reply"?`/IRT parent must be on the same page as the reply (parent page ${i.page.objectNumber}, reply page ${t.objectNumber})`:`a popup's parent must be on the same page (parent page ${i.page.objectNumber}, popup page ${t.objectNumber})`);return{page:i.page,...Bt(this.runtime,this.session,i)}}writeContext(e){return{...Uc(this.runtime,this.session,this.fonts),docPtr:this.session.requireDocPtr(),drawings:this.session.drawingIndex(),pdfPageCount:t=>Y3(this.runtime.fn,this.runtime.mem,t),...e?{resources:e}:{}}}withOpen(e,t){let{fn:r}=this.runtime,n=r.EPDFPage_GetAnnotRaw(this.session.requireDocPtr(),e.pageIndex,e.index);if(!n)throw new g(f.Unknown,"a created annotation is not where it was");try{if(r.EPDFAnnot_GetObjectNumber(n)!==e.objectNumber)throw new g(f.Unknown,"a created annotation is not where it was");return t(n)}finally{r.FPDFPage_CloseAnnot(n)}}withOpenExisting(e,t){let{fn:r}=this.runtime,n=r.EPDFPage_GetAnnotRaw(this.session.requireDocPtr(),e.pageIndex,e.index);if(!n)throw new g(f.Unknown,"an annotation to link to is not where it was");try{return t(n)}finally{r.FPDFPage_CloseAnnot(n)}}};function uP(e,t,r){return{affectedPages:[...new Set(t.map(n=>n.pageObjectNumber))].map(n=>ue(n)),cacheDelta:null,...e,changedRefs:[...t.map(n=>({kind:"objectNumber",page:ue(n.pageObjectNumber),objectNumber:n.objectNumber})),...r]}}function fi(e,t){try{return t()}catch(r){throw!e||!g.is(r)?r:new g(r.code,`${e}: ${r.message}`,{...r.details?{details:r.details}:{},cause:r})}}function PO(e,t,r,n){if(!(r.subtype!=="polygon"&&r.subtype!=="polyline")&&Qi(n)&&e.FPDFAnnot_HasKey(t,"EMBD_Metadata")&&e.FPDFAnnot_GetValueType(t,"EMBD_Metadata")!==6)throw new g(f.InvalidArg,"Malformed annotation metadata cannot store a caption")}function hO(e){switch(e){case 1:return"editable";case 2:return"preview-and-print";default:return"installable"}}var kO=class{constructor(e,t){this.runtime=e,this.ids=t,V(this,"fileHandles",[]),V(this,"identities",new Map),V(this,"programs",new Map),V(this,"fallbacks",[]),V(this,"builtIn",new Set),this.registerLastResort()}registerLastResort(){let e=bv(),{mem:t,fn:r}=this.runtime,n=t.alloc(e.byteLength);try{t.writeBytes(n,e);let i=r.EPDFFont_RegisterMemFont64("",0,-1,n,e.byteLength);if(i===0||!r.EPDFFont_SetLastResortFont(i))throw new g(f.RuntimeUnavailable,"the last-resort font did not register")}finally{t.free(n)}}register(e,t,r,n,i,a=!1){if(this.ids.has(e))return;if(i.byteLength===0)throw new g(f.InvalidArg,`empty font data: ${e}`);let{mem:o,fn:s}=this.runtime,A=o.alloc(i.byteLength);try{o.writeBytes(A,i);let d=s.EPDFFont_RegisterMemFont64(t,r,n,A,i.byteLength);if(d===0)throw new g(f.InvalidArg,`font registration failed (unloadable or no glyphs): ${e}`);this.ids.set(e,d),this.identities.set(e,this.readIdentity(d,{familyName:t,weight:r,italic:n})),this.programs.set(e,{...this.readProgram(d),served:!0}),a&&this.builtIn.add(e)}finally{o.free(A)}}registerFromNodeFile(e,t,r,n,i,a=!1,o=!1){if(this.ids.has(e))return;let s=this.runtime.fileAccess.fromNodeFile(i),A=0;try{A=this.runtime.fn.EPDFFont_RegisterFont(t,r,n,s.ptr)}catch(d){throw s.close(),d}if(A===0)throw s.close(),new g(f.InvalidArg,`font registration failed (unloadable or no glyphs): ${e} (${i})`);this.ids.set(e,A),this.identities.set(e,this.readIdentity(A,{familyName:t,weight:r,italic:n})),this.programs.set(e,{...this.readProgram(A),served:a}),o&&this.builtIn.add(e),this.fileHandles.push(s)}describe(e){let t=this.identities.get(e);if(!t)throw new g(f.InvalidArg,`font not registered on this thread: ${e}`);return t}describeOrUndefined(e){return this.identities.get(e)}keyForFace(e,t,r){let n=wn(e),i;for(let[a,o]of this.identities){if(wn(o.familyName)!==n)continue;let s=Math.abs(o.weight-t)+(o.italic===r?0:1e3);(!i||s{try{return a()}catch{return o}};return{familyName:i(()=>Ye(n,(a,o)=>r.EPDFFont_GetFamilyName(e,a,o))??t.familyName,t.familyName),weight:i(()=>r.EPDFFont_GetWeight(e),t.weight||400),italic:i(()=>r.EPDFFont_IsItalic(e),t.italic===1),embeddingPermission:i(()=>hO(r.EPDFFont_GetEmbeddingPermission(e)),"installable"),editingAuthorized:i(()=>r.EPDFFont_IsEditingAuthorized(e),!0),instanced:i(()=>r.EPDFFont_IsInstanced(e),!1)}}registerStartup(e){for(let t of e){let r=t.italic===void 0?-1:t.italic?1:0;this.registerFromNodeFile(t.key,t.familyName??"",t.weight??0,r,t.path,t.serve??!1,t.builtIn??!1),t.fallback&&this.addFallback(t.key,t.tier)}}addFallback(e,t=Gp.own){let r=this.requireId(e);if(!this.runtime.fn.EPDFFont_AddFallbackFont(r,t))throw new g(f.InvalidArg,`addFallback failed: ${e}`);let n=this.fallbacks.find(i=>i.key===e);n?n.tier=t:this.fallbacks.push({key:e,tier:t})}clearFallbacks(){this.runtime.fn.EPDFFont_ClearFallbackFonts(),this.fallbacks=[]}fallbackKeys(){return[...this.fallbacks].sort((e,t)=>e.tier-t.tier).map(e=>e.key)}engineFontFacts(){let e=[];for(let[t,r]of this.identities){let n=this.programs.get(t);n&&e.push({key:t,identity:r,postScriptName:n.postScriptName,format:n.format,sha256:n.sha256,served:n.served,builtIn:this.builtIn.has(t)})}return e}keyForId(e){for(let[t,r]of this.ids)if(r===e)return t}programFor(e){let t=[...this.programs].find(([,a])=>a.sha256===e)?.[0];if(t===void 0)return;let r=this.requireId(t),{fn:n,mem:i}=this.runtime;return{info:()=>{let a=$k(this.runtime,(s,A)=>n.EPDFFont_GetCoverage(r,s,A)),o=he(i,[4,4],([s,A])=>n.EPDFFont_GetMetrics(r,s,A)?{ascent:Number(i.peek(s,"f32")),descent:Number(i.peek(A,"f32"))}:{ascent:0,descent:0});return{covers:a,ascent:Math.round(o.ascent*1e3),descent:-Math.round(o.descent*1e3)}},bytes:()=>{let a=n.EPDFFont_GetProgramData(r,W,0);return Y(i,Math.max(1,a),o=>(n.EPDFFont_GetProgramData(r,o,a),i.readBytes(o,a)))}}}readProgram(e){let{fn:t,mem:r}=this.runtime;return{sha256:Y(r,32,n=>t.EPDFFont_GetProgramHash(e,n)?Array.from(r.readBytes(n,32),i=>i.toString(16).padStart(2,"0")).join(""):""),format:t.EPDFFont_GetProgramFormat(e)===2?"opentype":"truetype",postScriptName:Ye(r,(n,i)=>t.EPDFFont_GetPostScriptName(e,n,i))||null}}clear(){this.runtime.fn.EPDFFont_ClearRegisteredFonts(),this.registerLastResort(),this.ids.clear(),this.identities.clear(),this.programs.clear(),this.fallbacks=[],this.builtIn.clear();for(let e of this.fileHandles)e.close();this.fileHandles.length=0}idFor(e){return this.requireId(e)}requireId(e){let t=this.ids.get(e);if(t===void 0)throw new g(f.InvalidArg,`font not registered on this thread: ${e}`);return t}};function Ca(e,t,r){return{affectedPages:[ue(t)],cacheDelta:null,...e,changedRefs:[...r]}}var pw=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}writeContext(e){return{...Uc(this.runtime,this.session,this.fonts),runtime:this.runtime,docPtr:this.session.requireDocPtr(),drawings:this.session.drawingIndex(),pdfPageCount:t=>Y3(this.runtime.fn,this.runtime.mem,t),...e?{resources:e}:{}}}create(e,t,r,n={}){let{actor:i,resources:a,objectNumber:o}=n,{reply:s,...A}=t,d=t.subtype==="popup"?t.parent:null;t.subtype==="popup"&&delete A.parent;let{created:p,meta:m}=new uw(this.runtime,this.session,this.fonts).create([{page:ue(e),draft:A,...s?{replyTo:{to:{existing:s.to},type:s.type??"reply"}}:{},...d?{parent:{existing:d}}:{},...a?{resources:a}:{},...o!==void 0?{objectNumber:o}:{},attribution:{kind:"stamp",...i?{actor:i}:{}}}],r);return{annotation:p[0],meta:m}}update(e,t,r,n,i){O(n);let{fn:a,mem:o}=this.runtime,{pageIndex:s,index:A}=Bt(this.runtime,this.session,e),d=gi(this.runtime,this.session,s,A);try{O(n);let p=this.writeContext(i),m=L3(a.EPDFAnnot_GetBlendMode(d)),F=Xc(a,o,d,e.page.objectNumber,A,Ps(this.session,this.fonts));Bs(this.runtime,this.session,[F]);let h=uc(r,F,t.groupId);PO(a,d,F,t),t=CF(F,t,{describeFont:p.describeFont}),Y4(F,t),kA(F.subtype,i,"update"),J4(t,p),O(n);let P=i?.appearance?"regenerate":au(F,t);if(P!=="inert"&&$H(a,o,d),t.subtype!==void 0&&t.subtype!==F.subtype&&!a.EPDFAnnot_SetSubtype(d,mc[t.subtype]))throw new g(f.Unknown,"EPDFAnnot_SetSubtype returned false");eO(a,o,d,t,p),t.contents!==void 0&&t.contents!==F.contents&&mA({...F,...t})&&a.EPDFAnnot_RemoveKey(d,"RC");let B=null;t.reply!==void 0&&!EO(t.reply,F.reply)&&AO(this.runtime,this.session,d,e.page.objectNumber,t.reply===null?{inReplyTo:null}:{inReplyTo:t.reply.to,replyType:t.reply.type??"reply"});let y=!1;t.subtype==="popup"&&F.subtype==="popup"&&t.parent!==void 0&&!nD(t.parent,F.parent)&&(y=!0,B=cO(this.runtime,this.session,d,e.page.objectNumber,t.parent,F.parent));let x=null,I=t.open;if(I!==void 0&&!y){let K=F.subtype==="text"?F.popup:F.subtype==="popup"?F.parent:null;K&&(x=pO(this.runtime,this.session,K,I,F.subtype==="popup"))}Um(a,o,d),Ix(a,o,d,h);let S;P==="inert"||P==="translation"?S={action:"preserved",changed:!1}:S=(F.subtype==="widget"?!F.hasMark&&a.EPDFAnnot_GenerateFormFieldAP(d):zk(a,d,t.blendMode??m))?{action:"regenerated",changed:!0}:{action:"generation-unavailable",changed:P==="regenerate"},a.FPDFPage_CloseAnnot(d),d=null,d=gi(this.runtime,this.session,s,A);let G=Xc(a,o,d,e.page.objectNumber,A,Ps(this.session,this.fonts));Bs(this.runtime,this.session,[G]);let Q=Ca(this.session.writeStamp(),e.page.objectNumber,BO([G.ref,B,x]));return{annotation:G,appearance:S,meta:Q}}finally{d!==null&&a.FPDFPage_CloseAnnot(d)}}assertNotAttachedWidget(e,t){let{fn:r}=this.runtime;if(r.FPDFAnnot_GetSubtype(e)!==L.WIDGET)return;let n=r.EPDFAnnot_GetObjectNumber(e);if(t>0&&n===t)return;let i=DH(this.runtime,this.session,n);if(i!==0)throw new g(f.InvalidArg,i===n?"widget is its form field's own dictionary (a merged field/widget) - delete the field with doc.forms.delete":"widget is attached to a form field - use doc.forms.removeWidget or doc.forms.delete")}delete(e,t,r){O(r);let{fn:n}=this.runtime,i=this.session.requireDocPtr(),a=e.page.objectNumber,{pageIndex:o}=this.session.resolvePageRef(e.page),{annotations:s}=new ld(this.runtime,this.session,this.fonts).listOne(a,r),A=Ni(s,e);if(A.length===0)throw DO(e);pc(t,A);let d=P=>Bt(this.runtime,this.session,P).index,p=A.map(P=>d(P.ref));for(let P of p)this.withAnnotAt(o,P,B=>this.assertNotAttachedWidget(B,0));let m=new Set(A.map(P=>j(P.ref))),F=A.flatMap(P=>{if(P.subtype!=="popup"||!P.parent)return[];let B=j(P.parent),y=s.find(x=>j(x.ref)===B);return y&&!m.has(B)?[d(y.ref)]:[]});O(r),sn(this.runtime,this.session,a);for(let P of[...p].sort((B,y)=>y-B))if(!n.EPDFPage_RemoveAnnotRaw(i,o,P))throw new g(f.Unknown,`failed to remove annotation ${P} on page ${a}`);for(let P of F){let B=p.filter(y=>yn.EPDFAnnot_RemoveKey(y,"Popup"))}let h=[...A].reverse().map(P=>P.ref);return{meta:Ca(this.session.writeStamp(),a,h)}}deleteReleasedWidget(e,t){let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=e.page.objectNumber,{pageIndex:o,index:s}=Bt(this.runtime,this.session,e),A=this.withAnnotAt(o,s,d=>(this.assertNotAttachedWidget(d,t),Ha(r,n,i,e.page,d,s)));if(sn(this.runtime,this.session,a),!r.EPDFPage_RemoveAnnotRaw(i,o,s))throw new g(f.Unknown,`failed to remove annotation: ${e.kind}`);return{meta:Ca(this.session.writeStamp(),a,[A])}}withAnnotAt(e,t,r){let n=gi(this.runtime,this.session,e,t);try{return r(n)}finally{this.runtime.fn.FPDFPage_CloseAnnot(n)}}};function DO(e){return new g(f.NotFound,`no annotation ${j(e)} on page ${e.page.objectNumber}`)}function BO(e){let t=new Set;return e.filter(r=>r===null||t.has(j(r))?!1:(t.add(j(r)),!0))}var nD=(e,t)=>e===null||t===null?e===t:j(e)===j(t);function EO(e,t){return e===null||t===null?e===t:nD(e.to,t.to)&&(e.type??"reply")===t.type}function rD(e,t,r){let n=ad(e,t,r);return n?Y(t,16,i=>(ah(t,i,n.box),e.EPDFAnnot_ExportAppearance(r,id(n.rotation),i))):e.EPDFAnnot_ExportAppearance(r,0,W)}var _O=2;function zl(e,t,r,n){let i=null;try{return Y(t,8,a=>{Se(t,a,0),i=e.EPDF_SaveDocumentToOwnedBuffer(r,_O,a);let o=Number(t.peek(a,"i32"));if(!i||o<=0)throw new g(f.DocOpenFailed,`failed to save ${n}`);let s=t.readBytes(i,o),A=new ArrayBuffer(s.byteLength);return new Uint8Array(A).set(s),{bytes:A,size:o}})}finally{i&&e.EPDF_FreeBuffer(i)}}var yO=0,GO=1,CO=0,IO=2,Bl=class{constructor(e,t){this.runtime=e,this.session=t}flatten(e,t,r,n){O(n),this.requireRefs("annotations.flatten",e,t);let{fn:i,mem:a}=this.runtime,o=sn(this.runtime,this.session,e),s=this.session.pagePool(),A=s.acquire(e);try{let d=this.resolveAll(A,t),p,m;try{[p,m]=this.withHandleArray(d,P=>Y(a,4*t.length,B=>{let y=i.EPDFPage_FlattenAnnotations(A,P,t.length,r==="print"?1:0,B),x=[];for(let I=0;IB===IO);throw new g(P>=0?f.InvalidArg:f.Unknown,P>=0?`annotations.flatten: ref ${P} is not an annotation of page ${e}`:"native annotation flatten failed after preflight")}let F=t.map((P,B)=>({ref:P,status:m[B]===CO?"applied":"unchanged"}));if(p!==GO&&!o){let P={affectedPages:[],cacheDelta:null,...this.session.writeStamp()};return{page:ue(e),usage:r,results:F,meta:P}}this.session.invalidateDerived();let h={affectedPages:[ue(e)],cacheDelta:null,...this.session.writeStamp()};return{page:ue(e),usage:r,results:F,meta:h}}finally{s.release(e)}}exportAppearance(e,t,r){O(r),this.requireRefs("annotations.exportAppearance",e,t);let{fn:n}=this.runtime,i=this.session.pagePool(),a=i.acquire(e),o=null;try{let s=this.resolveAll(a,t);try{o=this.withHandleArray(s,A=>n.EPDFPage_ExportAnnotationsAsDocument(a,A,t.length))}finally{for(let A of s)n.FPDFPage_CloseAnnot(A)}if(!o)throw new g(f.InvalidArg,"annotations.exportAppearance: every ref must be a visible annotation of this page with a normal appearance");return zl(this.runtime.fn,this.runtime.mem,o,"exported appearances")}finally{o&&n.FPDF_CloseDocument(o),i.release(e)}}readAppearance(e,t,r){O(r);let{fn:n}=this.runtime,i=this.session.pagePool(),a=i.acquire(e),o=null;try{let s=vs(this.runtime,this.session,a,t);try{let A=qr(n.FPDFAnnot_GetSubtype(s));if(Rr[A]?.appearance===void 0)throw new g(f.InvalidArg,`a ${A} annotation has no 'appearance' resource`);o=rD(n,this.runtime.mem,s)}finally{n.FPDFPage_CloseAnnot(s)}if(!o)throw new g(f.InvalidArg,"the annotation has no normal appearance to read");return zl(this.runtime.fn,this.runtime.mem,o,"the appearance")}finally{o&&n.FPDF_CloseDocument(o),i.release(e)}}resolveAll(e,t){let{fn:r}=this.runtime,n=[];try{for(let i of t)n.push(vs(this.runtime,this.session,e,i));return n}catch(i){for(let a of n)r.FPDFPage_CloseAnnot(a);throw i}}withHandleArray(e,t){let{mem:r}=this.runtime,n=this.runtime.kind==="wasm",i=n?4:8;return Y(r,Math.max(1,e.length*i),a=>(e.forEach((o,s)=>n?r.poke(a,"i32",Number(o),s*4):r.poke(a,"i64",o,s*8)),t(a)))}requireRefs(e,t,r){if(r.length===0)throw new g(f.InvalidArg,`${e} requires at least one ref`);for(let n of r)if(n.page.objectNumber!==t)throw new g(f.InvalidArg,`${e} refs must all target page ${t}; got ref on page ${n.page.objectNumber}`)}};function iD(e,t,r,n){let{fn:i,mem:a}=e,o=n?i.EPDFDoc_ExportDrawing(t,n):rD(i,a,r);if(!o)return null;try{return zl(i,a,o,"a drawing").bytes}finally{i.FPDF_CloseDocument(o)}}function aD(e,t,r){let n=e.fn.FPDFAnnot_GetFileAttachment(t);return n?qh(e,n,r).bytes:null}function oD(e){return g.is(e,f.PayloadTooLarge)}function sD(e,t,r){let{fn:n,mem:i}=e,a=new Set(r.flatMap(s=>zi(s).map(le))),o=t.requireDocPtr();return Y(i,16,s=>t.allRecords().filter(A=>a.has(le(ue(A.pageObjectNumber)))).map(A=>{let d=Gs(n,i,o,A.pageIndex,s).crop;return{page:ue(A.pageObjectNumber),position:A.pageIndex,size:{width:d.right-d.left,height:d.top-d.bottom}}}))}var SO=class{constructor(e,t,r){this.runtime=e,this.kind=t,this.limits=r,V(this,"byId",{}),V(this,"totalBytes",0)}keep(e){Ie(this.kind,this.limits,"resourceBytes",e.byteLength);let{fn:t,mem:r}=this.runtime,n=`sha256-${Nm(t,r,new Uint8Array(e))}`;return n in this.byId||(this.byId[n]=e,this.totalBytes+=e.byteLength,Ie(this.kind,this.limits,"resources",Object.keys(this.byId).length),Ie(this.kind,this.limits,"bundleBytes",this.totalBytes)),n}},xO=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}export(e,t,r){O(r);let n=this.session.allRecords(),i=new ld(this.runtime,this.session,this.fonts),a=pp(e,n.map(m=>ue(m.pageObjectNumber)),m=>i.listOne(m.objectNumber,r,"annotations").annotations);Ie("annotation",t,"items",a.length);let o=new HO(this.runtime,this.session,t),s=qn(this.runtime,this.session),A=a.map(m=>(O(r),{data:or(m,s(m.ref.page),s),resources:o.of(m)})),d=sD(this.runtime,this.session,A.map(m=>m.data));Ie("annotation",t,"pages",d.length);let p=jr({pages:d,items:A});return Ie("annotation",t,"manifestBytes",p),Ie("annotation",t,"bundleBytes",p+o.totalBytes),{format:"embedpdf/annotations",version:1,pages:d,items:A,resources:o.byId}}},HO=class extends SO{constructor(e,t,r){super(e,"annotation",r),this.session=t,V(this,"drawings",new Map)}of(e){let t=Rr[e.subtype];if(!t)return{};let{fn:r}=this.runtime,n=this.rawHandleOf(e);try{let i={};if(t.appearance){let a=this.appearanceOf(n);a&&(i.appearance=a)}if(t.file){let a=this.fileOf(n);a&&(i.file=a)}return i}finally{r.FPDFPage_CloseAnnot(n)}}rawHandleOf(e){return Cs(this.runtime,this.session,e.ref)}appearanceOf(e){let t=this.runtime.fn.EPDFAnnot_GetStampDrawing(e),r=t?this.drawings.get(t):void 0;if(r)return r;let n=iD(this.runtime,this.session.requireDocPtr(),e,t);if(!n)return null;let i=this.keep(n);return t&&this.drawings.set(t,i),i}fileOf(e){let t;try{t=aD(this.runtime,e,this.limits.resourceBytes)}catch(r){throw oD(r)?new g(f.PayloadTooLarge,`the annotation bundle is past its resourceBytes limit: an attached file is larger than ${this.limits.resourceBytes}`,{details:{limit:"resourceBytes",max:this.limits.resourceBytes}}):r}return t?this.keep(t):null}};function Zl(e,t,r,n,i){let a=new Map;for(let[d,p]of Object.entries(r.resources??{})){if(!(p instanceof ArrayBuffer))throw new g(f.InvalidArg,`${t} bundle: resource ${d} is not bytes`);a.set(d,p.byteLength)}i(r,a,n);let{fn:o,mem:s}=e,A=new Map;for(let[d,p]of Object.entries(r.resources??{})){let m=Nm(o,s,new Uint8Array(p));if(`sha256-${m}`!==d)throw new g(f.InvalidArg,`${t} bundle: resource ${d} doesn't match its id`);A.set(p,m)}return A}function OO(e,t,r){let n=ro(r);n&&"width"in n&&Ie(e,t,"imagePixels",n.width*n.height)}var QO=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}import(e,t){O(t);let{bundle:r,limits:n}=e;this.assertBundle(r,n);let i=SF({bundle:e.attribution==="stamp"?TO(r):r,...e.pages!==void 0?{pages:e.pages}:{},target:this.session.allRecords().map(d=>({page:ue(d.pageObjectNumber),position:d.pageIndex})),nameTaken:(d,p)=>cw(this.runtime,this.session.requireDocPtr(),this.session.resolvePageRef(d).pageIndex,p)>=0}),a=qn(this.runtime,this.session),o=i.creates.map(d=>{let p=r.items[d.item],m={};for(let[F,h]of Object.entries(p.resources))m[F]=r.resources[h];return{page:d.page,draft:Vi(d.draft,a(d.page),a),...d.replyTo?{replyTo:{to:{planned:d.replyTo.planned},type:d.replyTo.type}}:{},...d.parent!==void 0?{parent:{planned:d.parent}}:{},resources:m,attribution:RO(e,d.draft,p.data),...p.data.subtype==="file-attachment"&&p.data.file?{fileDates:{createdAt:p.data.file.createdAt,modifiedAt:p.data.file.modifiedAt}}:{},label:`import: item ${d.item}`}});for(let d of o)e.authorizeCreate?.(d.draft);let{created:s,meta:A}=new uw(this.runtime,this.session,this.fonts).create(o,t);return{annotations:s,refMap:i.creates.map((d,p)=>({from:r.items[d.item].data.ref,to:s[p].ref})),dropped:[...i.dropped],meta:A}}assertBundle(e,t){let r=Zl(this.runtime,"annotation",e,t,BA),n=this.session.drawingIndex();for(let[i,a]of r)n.hashes.set(i,a);for(let i of e.items){let a=i.resources.appearance;a&&OO("annotation",t,e.resources[a])}}};function RO(e,t,r){let{actor:n}=e;if(e.attribution==="stamp"){let{groupId:i}=t,a=typeof i=="string"?{...n,groupId:i}:n;return{kind:"stamp",...a?{actor:a}:{}}}return{kind:"restore",from:{author:r.author,createdAt:r.createdAt,modifiedAt:r.modifiedAt,userId:r.userId,createdBy:r.createdBy,modifiedBy:r.modifiedBy,groupId:r.groupId??null},...n?.userId?{importedBy:n.userId}:{}}}function TO(e){return{...e,items:e.items.map(({data:{nm:t,...r},...n})=>({...n,data:r}))}}function AD(e,t,r,n){let{fn:i,mem:a}=e;return Y(a,Math.max(4,4*n.length),o=>(n.forEach((s,A)=>a.poke(o,"i32",s,4*A)),Dr(e,"annotations",s=>i.EPDFPage_ExportAnnotsRawToOwnedBuffer(t,r,o,n.length,s))))}function cD(e,t,r,n){La(e,n,i=>{if(!e.fn.EPDFPage_ImportAnnotsRaw(t,r,i,n.byteLength))throw new g(f.Unknown,"EPDFPage_ImportAnnotsRaw refused a capture")})}function MO(e,t,r,n){return Dr(e,`object ${r}`,i=>e.fn.EPDFDoc_ExportDictRawToOwnedBuffer(t,r,n.join(" "),i))}function lw(e,t,r,n,i=[]){return Dr(e,`object ${r}`,a=>e.fn.EPDFDoc_ExportDictCanonicalToOwnedBuffer(t,r,n.join(" "),i.join(" "),a))}function LO(e,t,r){La(e,r,n=>{if(!e.fn.EPDFDoc_ImportDictRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFDoc_ImportDictRaw refused a capture")})}function NO(e,t,r){return Dr(e,`field ${r}`,n=>e.fn.EPDFForm_ExportFieldRawToOwnedBuffer(t,r,n))}function jO(e,t,r){La(e,r,n=>{if(!e.fn.EPDFForm_ImportFieldRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFForm_ImportFieldRaw refused a capture")})}function KO(e,t,r){return Dr(e,`outline item ${r}`,n=>e.fn.EPDFOutline_ExportItemRawToOwnedBuffer(t,r,n))}function VO(e,t,r){La(e,r,n=>{if(!e.fn.EPDFOutline_ImportItemRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFOutline_ImportItemRaw refused a capture")})}function YO(e,t,r){return Dr(e,`page ${r}`,n=>e.fn.EPDFPage_ExportRawToOwnedBuffer(t,r,n))}function XO(e,t,r){La(e,r,n=>{if(!e.fn.EPDFPage_ImportRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFPage_ImportRaw refused a capture")})}function WO(e,t,r){return Dr(e,`attachment '${r}'`,n=>Zn(e.mem,r,i=>e.fn.EPDFAttachment_ExportRawToOwnedBuffer(t,i,n)))}function dD(e,t,r){try{return Dr(e,`attachment '${r}'`,n=>Zn(e.mem,r,i=>e.fn.EPDFAttachment_ExportCanonicalToOwnedBuffer(t,i,n)))}catch(n){if(g.is(n))return null;throw n}}function UO(e,t,r){La(e,r,n=>{if(!e.fn.EPDFAttachment_ImportRaw(t,n,r.byteLength))throw new g(f.Unknown,"EPDFAttachment_ImportRaw refused a capture")})}function Dr(e,t,r){let{fn:n,mem:i}=e;return Y(i,8,a=>{Se(i,a,0);let o=r(a);if(!o)throw new g(f.Unknown,`the capture of ${t} failed`);try{return i.readBytes(o,Number(i.peek(a,"i32"))).slice()}finally{n.EPDF_FreeBuffer(o)}})}function La(e,t,r){let{mem:n}=e;return Y(n,Math.max(1,t.byteLength),i=>(n.writeBytes(i,t),r(i)))}function Ze(e,t,r=qO){if(Object.is(e,t))return!0;if(typeof e!="object"||typeof t!="object"||e===null||t===null)return!1;if(Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((o,s)=>Ze(o,t[s]));let n=pP(e,r),i=pP(t,r);if(n.length!==i.length)return!1;let a=o=>o;return n.every(o=>i.includes(o)&&Ze(a(e)[o],a(t)[o]))}var qO=new Set;function pP(e,t){return Object.entries(e).filter(([r,n])=>n!==void 0&&!t.has(r)).map(([r])=>r)}function Fe(e,t){return{item:{type:"skipped",op:t,meta:{affectedPages:[],cacheDelta:null,...e.session.writeStamp()}},reverse:[]}}function Cn(e,t,r){if(!r)return;let n=t,i=Object.entries(r).filter(([a,o])=>o!==void 0&&!Ze(n[a],o)).map(([a])=>a);if(i.length>0)throw new g(f.ChangeConflict,`op ${e} expected other values in ${i.join(", ")}`,{details:{opIndex:e,fields:i}})}function kd(e,t){if(e.byteLength!==t.byteLength)return!1;for(let r=0;r({...n,after:lw(e,t.requireDocPtr(),n.objectNumber,[])}))}function Na(e,t,r){return r.every(n=>{let i=zO(e,t,n.objectNumber);return i!==null&&kd(i,n.after)})}function Rs(e,t,r){let n=cn(e,t,r),i=t.requireDocPtr();for(let a of r)a.before&&LO(e,i,a.before);return t.invalidateDerived(),Et(e,t,n)}function zO(e,t,r){try{return lw(e,t.requireDocPtr(),r,[])}catch(n){if(g.is(n))return null;throw n}}function ZO(e,t,r,n){try{return MO(e,t.requireDocPtr(),r,n)}catch(i){if(g.is(i))return null;throw i}}function us(e,t,r){let n=e[t];if(!(r<=n))throw new g(f.PayloadTooLarge,`copy: past the ${t} limit: ${r} > ${n}`,{details:{limit:t,max:n,value:r}})}var JO=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}copy(e,t){O(t);let{refs:r,objectNumbers:n,limits:i}=e;if(n&&n.length!==r.length)throw new g(f.InvalidArg,`copy: objectNumbers names ${n.length} copies of ${r.length}`,{details:{field:"objectNumbers"}});us(i,"items",r.length),e.page&&this.session.resolvePageRef(e.page);let a=r.map(F=>e.read(F)),o=qn(this.runtime,this.session),s=OF(a.map(F=>or(F,o(F.ref.page),o)),{...e.page?{page:e.page}:{},...e.offset?{offset:e.offset}:{}}),A=this.resourceReader(i),d=s.creates.map(F=>{O(t);let h=a[F.source],P=Vi(F.draft,o(F.page),o),B=e.authorizeCreate(P);return{page:F.page,draft:P,...F.replyTo?{replyTo:{to:{planned:F.replyTo.copy},type:F.replyTo.type}}:{},...F.parent!==void 0?{parent:{planned:F.parent}}:{},resources:A(h),...n?{objectNumber:n[F.source]}:{},attribution:{kind:"stamp",...B?{actor:B}:{}},...h.subtype==="file-attachment"&&h.file?{fileDates:{createdAt:h.file.createdAt,modifiedAt:h.file.modifiedAt}}:{},label:`copy: annotation ${F.source}`}}),{created:p,meta:m}=new uw(this.runtime,this.session,this.fonts).create(d,t);return{annotations:p,refMap:s.creates.map((F,h)=>({from:a[F.source].ref,to:p[h].ref})),dropped:[...s.dropped],meta:m}}resourceReader(e){let{fn:t}=this.runtime,r=new Map,n=0,i=0,a=o=>(us(e,"resourceBytes",o.byteLength),n+=1,us(e,"resources",n),i+=o.byteLength,us(e,"bundleBytes",i),o);return o=>{let s=Rr[o.subtype];if(!s)return{};let A=Cs(this.runtime,this.session,o.ref);try{let d={};if(s.appearance){let p=t.EPDFAnnot_GetStampDrawing(A),m=r.get(p),F=m??iD(this.runtime,this.session.requireDocPtr(),A,p);F&&(d.appearance=m??a(F)),F&&p&&r.set(p,F)}if(s.file){let p=this.fileOf(A,e.resourceBytes);p&&(d.file=a(p))}return d}finally{t.FPDFPage_CloseAnnot(A)}}}fileOf(e,t){try{return aD(this.runtime,e,t)}catch(r){throw oD(r)?new g(f.PayloadTooLarge,`copy: an attached file is larger than ${t} bytes`,{details:{limit:"resourceBytes",max:t}}):r}}};function Dd(e,t,r){let{fn:n,mem:i}=e,a=t.requireDocPtr(),{pageIndex:o}=t.resolvePageRef(r),s=n.EPDFPage_GetAnnotCountRaw(a,o),A=[];for(let d=0;dr?.family===t?[r.ref]:[])}function mw(e,t,r,n){if(r.length===0)throw new g(f.InvalidArg,"a reorder names at least one row",{details:{field:"refs"}});let i=new Map;e.entries.forEach((P,B)=>{P&&i.set(j(P.ref),B)});let a=Nr(n);(a?[...r,a]:r).forEach((P,B)=>{let y=a&&B===r.length?"position":"refs";if(P.page.objectNumber!==e.page.objectNumber)throw new g(f.InvalidArg,`${j(P)} is on page ${P.page.objectNumber}; a reorder stays on page ${e.page.objectNumber}`,{details:{field:y}});let x=i.get(j(P)),I=x===void 0?null:e.entries[x];if(I&&I.family!==t)throw new g(f.InvalidArg,$O(I.family),{details:{field:y}})});let o=Jl(e,t),s=hA(o,r,n,j),A=r.map(P=>i.get(j(P))),d=new Set(A),p=P=>P-A.filter(B=>Bi.get(j(P))).filter(P=>!d.has(P)),F=Math.min(...A),h;if(n==="start")h=m.length>0?p(m[0]):F;else if(n==="end")h=m.length>0?p(m.at(-1))+1:F;else{let P=p(i.get(j(a)));h="before"in n?P:P+1}return{stack:e,family:t,before:o,after:s,from:A,to:h}}function ww(e,t,r){let{fn:n,mem:i}=e;if(sn(e,t,r.stack.page.objectNumber),!Y(i,4*r.from.length,a=>(r.from.forEach((o,s)=>i.poke(a,"i32",o,4*s)),n.EPDFPage_MoveAnnotsRaw(t.requireDocPtr(),r.stack.pageIndex,a,r.from.length,r.to))))throw new g(f.Unknown,`the annotations of page ${r.stack.page.objectNumber} could not be reordered`)}function $O(e){return e==="widgets"?"widgets paint above every annotation and have an order of their own: reorder them with doc.forms.reorderWidgets":"annotations paint below every widget and have an order of their own: reorder them with page.annotations.reorder"}function Ft(e,t,r,n=r){let i=new Set;for(let a of r)a.page&&i.add(a.page.objectNumber);return{affectedPages:[...i].map(a=>ue(a)),cacheDelta:null,...e,changedFields:t,changedWidgets:r,redrawnWidgets:n}}function $l(e,t){return e==="checkbox"||e==="radio"?[]:[...t]}var eQ=["AP","FS"];function tQ(e,t){if(t.data.subtype==="widget")throw new g(f.InvalidArg,"a widget is the form's: create one with doc.forms.create or doc.forms.addWidget",{details:{field:"subtype"}});at(e.authority,Ln(t.data.subtype));let r=So(e.authority,t.data.subtype,t.data.groupId),n=e.session.resolvePageRef(t.page).pageObjectNumber,i=gw(e).create(n,t.data,e.signal,{...r?{actor:r}:{},...t.resources?{resources:t.resources}:{},...t.objectNumber!==void 0?{objectNumber:t.objectNumber}:{}});return{item:{type:"annotations.create",page:t.page,...i},reverse:[{kind:"annotation.remove",ref:i.annotation.ref,left:[i.annotation]}]}}function nQ(e,t){let r=t.attribution==="restore"?"import":void 0;r&&bw(e.authority);let n=new QO(e.runtime,e.session,e.fonts).import({bundle:t.bundle,...t.pages!==void 0?{pages:t.pages}:{},attribution:t.attribution,...t.actor?{actor:t.actor}:{},limits:t.limits,authorizeCreate:i=>{at(e.authority,Ln(i.subtype)),r||So(e.authority,i.subtype,i.groupId??void 0)}},e.signal);return{item:{type:"annotations.import",...n},reverse:uD(e,n.annotations,r)}}function rQ(e,t){me(e.authority,"doc.annotate.read");let r=new JO(e.runtime,e.session,e.fonts).copy({refs:t.refs,...t.page?{page:t.page}:{},...t.offset?{offset:t.offset}:{},...t.objectNumbers?{objectNumbers:t.objectNumbers}:{},read:n=>In(e,n),authorizeCreate:n=>(at(e.authority,Ln(n.subtype)),So(e.authority,n.subtype,void 0)),limits:e.limits},e.signal);return{item:{type:"annotations.copy",...r},reverse:uD(e,r.annotations,void 0)}}function uD(e,t,r){let n=new Map,i=s=>{let A=n.get(s.page.objectNumber);return A||(A=Ts(e,s.page.objectNumber),n.set(s.page.objectNumber,A)),Ni(A,s)},a=t.map(s=>({ref:s.ref,left:i(s.ref)})),o=new Set(a.flatMap(s=>s.left.map(A=>j(A.ref)).filter(A=>A!==j(s.ref))));return a.filter(s=>!o.has(j(s.ref))).reverse().map(s=>({kind:"annotation.remove",ref:s.ref,left:s.left,...r?{rights:r}:{}}))}function bw(e){me(e,"doc.annotate.modify"),me(e,"doc.annotate.import")}function iQ(e){return{...e,grants:null}}function aQ(e,t,r){let n=In(e,t.ref);if(n.subtype==="widget")throw new g(f.InvalidArg,"a widget is the form's: change its place and look with doc.forms.updateWidget");return at(e.authority,Ln(n.subtype)),Cn(r,n,t.expect),pD(e,n,t.patch.nm),fw(e,t.ref,t.patch,"annotations.update",t.resources)}function pD(e,t,r){if(!r||r===t.nm)return;let n=e.session.resolvePageRef(t.ref.page);if(cw(e.runtime,e.session.requireDocPtr(),n.pageIndex,r)>=0)throw qk(r,n.pageObjectNumber)}function oQ(e,t,r){let n=In(e,t.ref);if(n.subtype==="widget")throw sQ(n);return at(e.authority,Ln(n.subtype)),Cn(r,n,t.expect),fD(e,t.ref)}function sQ(e){let t=e.field?.kind==="objectNumber"&&e.ref.kind==="objectNumber"&&e.field.objectNumber===e.ref.objectNumber;return new g(f.InvalidArg,t?"widget is its form field's own dictionary (a merged field/widget) - delete the field with doc.forms.delete":e.field?"widget is attached to a form field - use doc.forms.removeWidget or doc.forms.delete":"a widget is the form's: it isn't deleted as an annotation")}function AQ(e,t){let r=mw(Dd(e.runtime,e.session,t.page),"annotations",t.refs,t.position);return mD(e,"annotations",t.refs),ww(e.runtime,e.session,r),lD(e,r,t.refs)}function lD(e,t,r){let{page:n}=t.stack;return{item:wD(e,t.family,n,t.after,r),reverse:[{kind:"annotation.reorder",page:n,family:t.family,refs:r,before:t.before,after:t.after}]}}function cQ(e,t){let r=t.subject.annotation,n=t.reports,i=bQ(e,r);if(!i)return Fe(e,n);if(at(e.authority,Ln(i.subtype)),Na(e.runtime,e.session,t.objects)){uc(e.authority,i,void 0);let B=Rs(e.runtime,e.session,t.objects);return{item:bD(e,n,r,{annotation:In(e,r),appearance:{action:"restored",changed:t.appearanceChanged??!0},meta:Ca(e.session.writeStamp(),r.page.objectNumber,[r])}),reverse:[{...t,objects:B,...mQ(t.fallback)}]}}let a=t.fallback;if(a?.kind!=="annotation")return Fe(e,n);let o=i,s=a.left,A=a.restore,d=Object.keys(s),p=d.filter(B=>Ze(o[B],s[B]));if(p.length===0)return Fe(e,n);let m=(B,y)=>B==="actions"&&i.subtype==="widget"?Ju(y):y,F=fw(e,r,Object.fromEntries(p.map(B=>[B,m(B,A[B])])),n),h=d.filter(B=>!p.includes(B)),P=F.item;return h.length===0||Vr(P)||P.type!==n?F:{...F,item:{...P,skipped:h}}}function dQ(e,t){let r=Fw(e,t.ref.page);if(!r)return Fe(e,"annotations.delete");let n=Ni(r,t.ref),i=new Map(t.left.map(a=>[j(a.ref),a]));if(!(n.length>0&&n.length===i.size&&n.every(a=>{let o=i.get(j(a.ref));return o!==void 0&&Ze(a,o)})))return Fe(e,"annotations.delete");for(let a of Io(n))at(e.authority,a);return t.rights&&bw(e.authority),fD(e,t.ref,t.rights)}function uQ(e,t){let r=Fw(e,t.page),n=t.members[0];if(!r||!n||r.some(A=>j(A.ref)===j(n)))return Fe(e,"annotations.restore");let{pageIndex:i,pageObjectNumber:a}=e.session.resolvePageRef(t.page);cD(e.runtime,e.session.requireDocPtr(),i,t.capture),e.session.invalidateDerived(),t.unlinked.length>0&&Na(e.runtime,e.session,t.unlinked)&&Rs(e.runtime,e.session,t.unlinked);let o=Ts(e,a),s=t.members.map(A=>{let d=o.find(p=>j(p.ref)===j(A));if(!d)throw new Error(`a restored annotation is missing: ${j(A)}`);return d});for(let A of Io(s))at(e.authority,A);return t.rights?bw(e.authority):pc(e.authority,s),{item:{type:"annotations.restore",page:t.page,annotations:s,meta:Ca(e.session.writeStamp(),a,t.members)},reverse:[{kind:"annotation.remove",ref:n,left:s,...t.rights?{rights:t.rights}:{}}]}}function pQ(e,t){let r=t.family==="annotations"?"annotations.reorder":"forms.reorderWidgets",n=fQ(e,t.page);if(!n)return Fe(e,r);let i=Jl(n,t.family),a=t.refs.filter(p=>{let m=lP(i,p);return m!==void 0&&m===lP(t.after,p)});if(a.length===0)return Fe(e,r);mD(e,t.family,a);let o=new Set(a.map(j)),s=new Set(i.map(j).filter(p=>!o.has(p))),A=n;for(let p of t.before.filter(m=>o.has(j(m)))){let m=t.before.findIndex(P=>j(P)===j(p)),F=t.before.slice(0,m).reverse().find(P=>s.has(j(P))),h=mw(A,t.family,[p],F?{after:F}:"start");ww(e.runtime,e.session,h),s.add(j(p)),A=Dd(e.runtime,e.session,t.page)}let d=Jl(A,t.family);return{item:wD(e,t.family,t.page,d,a),reverse:[{...t,refs:a,before:i,after:d}]}}function lP(e,t){let r=e.findIndex(n=>j(n)===j(t));if(!(r<0))return r===0?null:j(e[r-1])}function mD(e,t,r){if(t==="widgets"){me(e.authority,"doc.forms.modify");return}let n=r.map(i=>In(e,i));for(let i of Io(n))me(e.authority,i)}function wD(e,t,r,n,i){let a=e.session.writeStamp();return t==="annotations"?{type:"annotations.reorder",page:r,order:n,meta:Ca(a,r.objectNumber,i)}:{type:"forms.reorderWidgets",page:r,order:n,meta:Ft(a,[],i.map(o=>({ref:o,objectNumber:hi(e,o),page:r})))}}function fw(e,t,r,n,i){sn(e.runtime,e.session,t.page.objectNumber);let a=In(e,t),o=a.subtype==="widget"?wo(a.fieldKind,r):r,s=wQ(a,o).map(m=>({objectNumber:hi(e,m),deep:[]})),A=cn(e.runtime,e.session,[{objectNumber:hi(e,t),deep:eQ},...s]),d=gw(e).update(t,o,e.authority,e.signal,i),p=Et(e.runtime,e.session,A);return{item:bD(e,n,t,d),reverse:[{kind:"objects.revert",reports:n,objects:p,subject:{annotation:t},appearanceChanged:d.appearance.changed,fallback:lQ(a,d.annotation,o)}]}}function bD(e,t,r,n){if(t==="annotations.update")return{type:"annotations.update",page:r.page,...n};let i=n.annotation;if(i.subtype!=="widget")throw new Error("a widget update read back no widget");let a=Ct(hi(e,r),r.page);return{type:"forms.updateWidget",widget:i,appearance:n.appearance,meta:Ft(e.session.writeStamp(),i.field?[i.field]:[],[a],n.appearance.changed?[a]:[])}}function fD(e,t,r){let n=t.page.objectNumber;sn(e.runtime,e.session,n);let i=Ni(Ts(e,n),t),a=new Set(i.map(F=>j(F.ref))),o=i.flatMap(F=>F.subtype==="popup"&&F.parent&&!a.has(j(F.parent))?[{objectNumber:hi(e,F.parent),deep:[]}]:[]),s=cn(e.runtime,e.session,o),{pageIndex:A}=e.session.resolvePageRef(t.page),d=i.length>0?AD(e.runtime,e.session.requireDocPtr(),A,i.map(F=>Bt(e.runtime,e.session,F.ref).index)):new Uint8Array,p=r?iQ(e.authority):e.authority,m=gw(e).delete(t,p,e.signal);return{item:{type:"annotations.delete",page:t.page,...m},reverse:[{kind:"annotation.restore",page:t.page,members:m.meta.changedRefs,capture:d,unlinked:Et(e.runtime,e.session,s),...r?{rights:r}:{}}]}}function lQ(e,t,r){let n=e,i=t,a=Object.keys(r).filter(o=>!Ze(n[o],i[o]));return{kind:"annotation",restore:Object.fromEntries(a.map(o=>[o,n[o]])),left:Object.fromEntries(a.map(o=>[o,i[o]]))}}function mQ(e){return e?.kind!=="annotation"?e?{fallback:e}:{}:{fallback:{kind:"annotation",restore:e.left,left:e.restore}}}function wQ(e,t){let r=[];if("open"in t&&(e.subtype==="text"&&e.popup&&r.push(e.popup),e.subtype==="popup"&&e.parent&&r.push(e.parent)),e.subtype==="popup"&&"parent"in t){e.parent&&r.push(e.parent);let n=t.parent;n&&r.push(n)}return r}function gw(e){return new pw(e.runtime,e.session,e.fonts)}function In(e,t){Bt(e.runtime,e.session,t);let r=j(t),n=Ts(e,t.page.objectNumber).find(i=>j(i.ref)===r);if(!n)throw new Error(`annotation ${r} is on its page but reads as none`);return n}function bQ(e,t){return Fw(e,t.page)?.find(r=>j(r.ref)===j(t))??null}function Ts(e,t){return new ld(e.runtime,e.session,e.fonts).listOne(t,e.signal).annotations}function fQ(e,t){try{return Dd(e.runtime,e.session,t)}catch{return null}}function Fw(e,t){try{return Ts(e,e.session.resolvePageRef(t).pageObjectNumber)}catch{return null}}function hi(e,t){if(t.kind==="objectNumber")return t.objectNumber;let{pageIndex:r,index:n}=Bt(e.runtime,e.session,t),i=gi(e.runtime,e.session,r,n);try{return e.runtime.fn.EPDFAnnot_GetObjectNumber(i)}finally{e.runtime.fn.FPDFPage_CloseAnnot(i)}}var El=class{constructor(e,t){this.runtime=e,this.session=t}list(e){O(e);let{fn:t,mem:r}=this.runtime,n=this.session.requireDocPtr(),i=t.FPDFDoc_GetAttachmentCount(n),a=[];for(let o=0;onew gQ(e.runtime,e.session),Bd=e=>me(e.authority,"doc.attachments.modify");function FQ(e,t){Bd(e);let r=vw(e).create(t.file,t.resources.file,e.signal);return{item:{type:"attachments.create",...r},reverse:[FD(e,r.attachment.ref)]}}function vQ(e,t){return Bd(e),gD(e,t.ref)}function PQ(e,t){let r=dD(e.runtime,e.session.requireDocPtr(),t.ref.key);return!r||!kd(r,t.left)?Fe(e,"attachments.delete"):(Bd(e),gD(e,t.ref))}function hQ(e,t){let r=vw(e);if(r.find(t.ref))return Fe(e,"attachments.restore");Bd(e),UO(e.runtime,e.session.requireDocPtr(),t.capture);let n=r.find(t.ref);if(!n)throw new g(f.Unknown,`attachment '${t.ref.key}' did not come back`);return{item:{type:"attachments.restore",attachment:n,meta:r.meta(t.ref)},reverse:[FD(e,t.ref)]}}function gD(e,t){let r=vw(e);if(!r.find(t))throw new g(f.NotFound,`no embedded file with key '${t.key}' in the document`,{details:{field:"ref"}});let n=WO(e.runtime,e.session.requireDocPtr(),t.key);return{item:{type:"attachments.delete",...r.delete(t,e.signal)},reverse:[{kind:"attachments.restore",ref:t,capture:n}]}}function FD(e,t){let r=dD(e.runtime,e.session.requireDocPtr(),t.key);if(!r)throw new g(f.Unknown,`attachment '${t.key}' is not there to guard`);return{kind:"attachments.remove",ref:t,left:r}}function Kt(e,t,r){let{fn:n}=e;if(r.kind==="objectNumber"){let a=n.EPDFForm_GetFieldIndexByObjNum(t,r.objectNumber);if(a<0)throw new g(f.NotFound,`form field not found: object ${r.objectNumber}`);return{fieldIndex:a,fieldObjectNumber:r.objectNumber}}let i=n.EPDFForm_CountFields(t);for(let a=0;an.EPDFForm_GetFieldName(t,a,o,s))??"")===r.name)return{fieldIndex:a,fieldObjectNumber:n.EPDFForm_GetFieldObjNum(t,a)};throw new g(f.NotFound,`form field not found: "${r.name}"`)}function Tc(e){return e.ref.kind==="objectNumber"?e.ref.objectNumber:0}function kQ(e,t,r,n){let{formKind:i,needsAppearances:a,fields:o,calculationOrder:s}=M3(e,Ee(e,t),t.requireDocPtr());return{formKind:i,needsAppearances:a,fields:o,widgets:DQ(e,t,r,n),calculationOrder:s}}function DQ(e,t,r,n){let{fn:i}=e,a=t.requireDocPtr(),o=[],s=i.FPDF_GetPageCount(a);for(let A=0;Ai.EPDFPage_GetAnnotRaw(a,A,F),signal:r,family:"widgets",...n?{fonts:n}:{}});o.push(...m)}return o}function BQ(e,t,r,n){let{fn:i,mem:a}=e,o=[],s=new Set;for(let A of r){if(!A.ref||s.has(A.objectNumber))continue;s.add(A.objectNumber);let d=EQ(e,t,A);if(!d)continue;let p=gi(e,t,d.pageIndex,d.index);try{let m=Xc(i,a,p,A.ref.page.objectNumber,d.index,Ps(t,n));m.subtype==="widget"&&o.push(m)}finally{i.FPDFPage_CloseAnnot(p)}}return Bs(e,t,o),o}function vD(e,t,r,n){return{...r,widgets:BQ(e,t,r.meta.changedWidgets,n)}}function EQ(e,t,r){try{return Bt(e,t,r.ref)}catch(n){if(g.is(n)&&n.code===f.NotFound)return null;throw n}}var Pw=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}snapshot(e){return O(e),kQ(this.runtime,this.session,e,this.fonts)}field(e,t){O(t);let r=Ee(this.runtime,this.session),{fieldIndex:n}=Kt(this.runtime,r,e);return qe(this.runtime,r,n,this.session.requireDocPtr())}};function Es(e,t){let{fn:r}=e,n=[],i=r.EPDFForm_CountCalculationOrder(t);for(let a=0;a0&&!n.includes(s)&&n.push(s)}return n}function em(e,t,r){let{fn:n,mem:i}=e;if(!an(i,r,(a,o)=>n.EPDFForm_SetCalculationOrder(t,a,o)))throw new g(f.InvalidArg,"the calculation order could not be written")}function qc(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}function _Q(e,{before:t,after:r},n){let i=r.filter(o=>!t.includes(o)),a=e.filter(o=>!i.includes(o));for(let o of t){if(r.includes(o)){if(Ec(t,o)===Ec(r,o)||Ec(e,o)!==Ec(r,o))continue;a=a.filter(p=>p!==o)}else if(a.includes(o)||!n(o))continue;let s=t.indexOf(o),A=t.slice(0,s).reverse().find(p=>a.includes(p)),d=A===void 0?0:a.indexOf(A)+1;a=[...a.slice(0,d),o,...a.slice(d)]}return a}function Ec(e,t){let r=e.indexOf(t);if(!(r<0))return r===0?null:e[r-1]}var yQ=20;function mP(e,t,r,n,i,a){let{fn:o,mem:s}=e,A=o.EPDFPage_CreateAnnotRaw(t,r,yQ,i??0);if(A===W&&i!==void 0)throw gs(i,"taken");if(A===W)throw new g(f.Unknown,"failed to create widget annotation");try{Pr(o,s,A,"NM",tc());let{page:d,rect:p,rotation:m,exportValue:F,actions:h,...P}=n;rt(o,s,A,p),m&&Xk(o,A,m),Object.keys(P).length>0&&sw(o,s,A,P,a),h&&Vk(e,t,A,h);let B=o.EPDFAnnot_GetObjectNumber(A);if(B<=0)throw new g(f.Unknown,"widget annotation has no object number");return B}finally{o.FPDFPage_CloseAnnot(A)}}var GQ={readOnly:1,required:2,noExport:4,multiline:4096,password:8192,noToggleToOff:16384,edit:1<<18,multiSelect:1<<21,comb:1<<24,radiosInUnison:1<<25};function wP(e){let t=0,r=0;for(let[n,i]of Object.entries(GQ)){let a=e[n];a===!0?t|=i:a===!1&&(r|=i)}return{setBits:t,clearBits:r}}var CQ=1,IQ={0:"whole-revision",1:"partial",2:"malformed"},SQ=0,xQ=1,HQ=2,OQ=3,QQ=4,RQ=5,TQ=6,MQ={1:"all",2:"include",3:"exclude"},LQ=0,tm=1,NQ=1,jQ=2,bP=4,KQ=8,VQ=64,YQ=1<<17,XQ=0,WQ=1,UQ=2,qQ=2,zQ=432;function _s(e,t){return fe(e.mem,t,"")}function PD(e){return e===1||e===2||e===3}function hD(e,t,r){let{fn:n,mem:i}=e;return Y(i,32,a=>{for(let o=0;o<4;o++)Se(i,a,0,o*8);return n.EPDFSig_GetByteRange(t,r,a)?[He(i,a,0),He(i,a,8),He(i,a,16),He(i,a,24)]:null})}function fP(e,t,r,n){let{fn:i}=e,a=n===tm?i.EPDFSig_GetLockAction(t,r):i.EPDFSig_GetFieldMDPAction(t,r),o=MQ[a];if(!o)return null;let s=[],A=i.EPDFSig_GetFieldNameCount(t,r,n);for(let p=0;pi.EPDFSig_GetFieldNameAt(t,r,n,p,m,F))??"");let d={action:o,fields:s};if(n===tm){let p=i.EPDFSig_GetLockPermission(t,r);PD(p)&&(d.permission=p)}return d}function ZQ(e,t,r){let{fn:n}=e;if(!n.EPDFSig_HasSeedValue(t,r))return null;let i=n.EPDFSig_GetSeedValueRequiredFlags(t,r)>>>0,a=n.EPDFSig_GetSeedValuePresentFlags(t,r)>>>0,o=n.EPDFSig_GetSeedValueVersion(t,r),s=n.EPDFSig_GetSeedValueMDP(t,r),A=p=>{let m=n.EPDFSig_GetSeedValueListCount(t,r,p),F=[];for(let h=0;hn.EPDFSig_GetSeedValueListAt(t,r,p,h,P,B))??"");return F},d=p=>(i&p)!==0;return{parserVersion:o>0?o:null,parserVersionRequired:d(bP),mdp:(a&YQ)!==0&&s>=0&&s<=3?s:null,filter:_s(e,(p,m)=>n.EPDFSig_GetSeedValueFilter(t,r,p,m)),filterRequired:d(NQ),subFilters:A(XQ),subFiltersRequired:d(jQ),digestMethods:A(WQ),digestMethodsRequired:d(VQ),reasons:A(UQ),reasonsRequired:d(KQ),unsupportedRequired:(i&zQ)!==0||(i&bP)!==0&&o>qQ}}function ki(e,t){let{fn:r}=e,n=r.EPDFSig_Count(t),i=[],a=(o,s)=>_s(e,(A,d)=>r.EPDFSig_GetString(t,o,s,A,d));for(let o=0;or.EPDFSig_GetFieldName(t,o,m,F))??"",widget:A>0?Ct(A,Tm(r.EPDFSig_GetWidgetPageObjNum(t,o))):null,signed:s,kind:r.EPDFSig_GetKind(t,o)===CQ?"timestamp":"signature",filter:a(o,SQ),subFilter:a(o,xQ),byteRange:s?hD(e,t,o):null,contentsSizeBytes:s?Math.max(0,r.EPDFSig_GetContents(t,o,W,0)):0,coverage:s?IQ[r.EPDFSig_GetCoverage(t,o)]??"malformed":null,revisionIndex:s&&d>=0?d:null,signer:{name:a(o,HQ),reason:a(o,OQ),location:a(o,QQ),contactInfo:a(o,RQ),signedAt:JQ(a(o,TQ))},docMdp:PD(p)?p:null,catalogCertification:r.EPDFSig_IsCatalogCertification(t,o),fieldMdp:fP(e,t,o,LQ),lock:fP(e,t,o,tm),seedValue:ZQ(e,t,o)})}return i}function kD(e,t,r){let{fn:n,mem:i}=e,a=n.EPDFSig_GetContents(t,r,W,0);if(a<=0)throw new g(f.NotFound,"signature has no usable /Contents (malformed encoding)");return Y(i,a,o=>{if(n.EPDFSig_GetContents(t,r,o,a)!==a)throw new g(f.Unknown,"failed to read signature contents");let s=new Uint8Array(a);return s.set(i.readBytes(o,a)),s})}function zc(e,t,r){let{fn:n,mem:i}=e,a=n.EPDFDoc_GetRevisionCount(t),o=[];return a<=0||he(i,[8,8],([s,A])=>{for(let d=0;dm.revisionIndex===d);o.push({index:d,end:He(i,s),xrefOffset:He(i,A),signatureIndex:p?p.index:null})}}),o}function Zc(e,t,r){let n=e.fn.EPDFSig_LoadModel(t);if(n===W)throw new g(f.Unknown,"failed to build signature model");try{return r(n)}finally{e.fn.EPDFSig_CloseModel(n)}}function _l(e,t){let{fn:r,mem:n}=e,[i,a,o]=he(n,[4,4,4],([m,F,h])=>(n.poke(m,"i32",0),n.poke(F,"i32",0),n.poke(h,"i32",0),r.EPDFDoc_GetStructureObjectNumbers(t,m,F,h),[Number(n.peek(m,"i32"))>>>0,Number(n.peek(F,"i32"))>>>0,Number(n.peek(h,"i32"))>>>0])),s=[],A=r.FPDF_GetPageCount(t);for(let m=0;m{d.push({objectNumber:Tc(m),name:m.name,kind:m.kind,widgets:m.widgets.map(h=>h.objectNumber),flags:r.EPDFForm_GetFieldFlags(p,F)})})}finally{r.EPDFForm_CloseModel(p)}return{root:i,acroForm:a,pagesRoot:o,pages:s,fields:d,signatures:Zc(e,t,m=>ki(e,m))}}function JQ(e){return e?zn(e):null}var bs=new WeakMap;function _a(e,t){let r=t.cacheSeq(),n=bs.get(t);if(n&&n.seq===r)return n.ptr;n&&(e.fn.EPDFSig_CloseModel(n.ptr),bs.delete(t));let i=e.fn.EPDFSig_LoadModel(t.requireDocPtr());if(i===W)throw new g(f.Unknown,"failed to build signature model");return bs.set(t,{seq:r,ptr:i}),i}function Mc(e,t){let r=bs.get(t);r&&(e.fn.EPDFSig_CloseModel(r.ptr),bs.delete(t))}var ys={sha1:0,sha256:1,sha384:2,sha512:3},$Q={sha1:20,sha256:32,sha384:48,sha512:64},At=class{constructor(e,t){this.runtime=e,this.session=t}readSnapshot(){let e=_a(this.runtime,this.session),t=this.runtime.fn.EPDFSig_IsRevisionChainValid(e),r=ki(this.runtime,e);return{chainValid:t,revisions:t?zc(this.runtime,this.session.requireDocPtr(),r):[],signatures:r,protection:zt(r)}}readProtection(){let e=_a(this.runtime,this.session);return zt(ki(this.runtime,e))}readContents(e){let t=_a(this.runtime,this.session),r=this.requireSignedIndex(t,e);return kD(this.runtime,t,r).buffer}digest(e,t){let r=_a(this.runtime,this.session),n=this.requireSignedIndex(r,e),i=hD(this.runtime,r,n);if(!i)throw new g(f.NotFound,"signature has no usable /ByteRange");return this.digestRange(i,t)}revisionBytes(e){let t=this.readSnapshot();if(!t.chainValid)throw new g(f.MalformedPdf,"revision chain is not valid");let r=t.revisions[e];if(!r)throw new g(f.NotFound,`no revision ${e}`);return this.readLoadedBytes(0,r.end)}resolveField(e){let{fn:t}=this.runtime,r=_a(this.runtime,this.session),n=this.indexOf(r,e);if(n<0)throw new g(f.NotFound,e.kind==="objectNumber"?`signature field not found: object ${e.objectNumber}`:`signature field not found: "${e.name}"`);let i=t.EPDFSig_GetWidgetObjNum(r,n);return{index:n,fieldObjectNumber:t.EPDFSig_GetFieldObjNum(r,n),signed:t.EPDFSig_IsSigned(r,n),widget:i>0?Ct(i,Tm(t.EPDFSig_GetWidgetPageObjNum(r,n))):null}}readSignatureByObjectNumber(e){let t=this.readSnapshot().signatures.find(r=>r.field.kind==="objectNumber"&&r.field.objectNumber===e);if(!t)throw new g(f.NotFound,`signature field not found: object ${e}`);return t}loadedBytes(){let e=Number(this.runtime.fn.EPDFDoc_GetLoadedBytesSize(this.session.requireDocPtr()));return this.readLoadedBytes(0,e)}version(){let{fn:e,mem:t}=this.runtime,r=this.session.requireDocPtr(),n=Number(e.EPDFDoc_GetBaseBytesSize(r));if(n<=0)throw new g(f.DocNotOpen,"document has no loaded bytes");if(this.session.kind==="layer")return{sha256:Y(t,32,o=>{if(!e.EPDFLayer_GetBaseSha256(r,o))throw new g(f.Unknown,"failed to read the base hash");return FP(t.readBytes(o,32))}),sizeBytes:n};let i=this.session.cachedPlainSha256();if(i)return{sha256:i,sizeBytes:n};let a=FP(new Uint8Array(this.digestRange([0,n,n,0],"sha256")));return this.session.rememberPlainSha256(a),{sha256:a,sizeBytes:n}}digestRange(e,t){let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=$Q[t];return he(n,[32,a,8],([o,s,A])=>{for(let p=0;p<4;p++)Se(n,o,e[p],p*8);if(Se(n,A,a),!r.EPDFSig_DigestByteRange(i,o,ys[t],s,A))throw new g(f.InvalidArg,"byte range is not within the loaded bytes");let d=Number(n.peek(A,"i32"));return gP(n.readBytes(s,d))})}readLoadedBytes(e,t){let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr();return t===0?new ArrayBuffer(0):Y(n,t,a=>{if(r.EPDFDoc_ReadLoadedBytes(i,BigInt(e),a,t)!==t)throw new g(f.Unknown,"failed to read the loaded bytes");return gP(n.readBytes(a,t))})}indexOf(e,t){let{fn:r}=this.runtime;if(t.kind==="objectNumber")return r.EPDFSig_GetIndexByFieldObjNum(e,t.objectNumber);let n=r.EPDFSig_Count(e);for(let i=0;ir.EPDFSig_GetFieldName(e,i,a,o))===t.name)return i;return-1}requireSignedIndex(e,t){let{fn:r}=this.runtime,n=this.indexOf(e,t);if(n<0)throw new g(f.NotFound,t.kind==="objectNumber"?`signature field not found: object ${t.objectNumber}`:`signature field not found: "${t.name}"`);if(!r.EPDFSig_IsSigned(e,n))throw new g(f.NotFound,"signature field is not signed");return n}readString(e,t,r){return this.readWide((n,i)=>this.runtime.fn.EPDFSig_GetString(e,t,r,n,i))}readWide(e){return fe(this.runtime.mem,e,"")}};function gP(e){let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(e),t}function FP(e){let t="";for(let r of e)t+=r.toString(16).padStart(2,"0");return t}function nm(e,t){if(t.signedDocumentPolicy!=="protect")return null;let r;try{r=new At(e,t).readProtection()}catch{return null}return r.fieldLocks.length===0?null:n=>ip(r,n)}function eR(e,t){let r=t?.(e);if(r)throw new g(f.ProtectedDocument,`form field "${e}" is locked by signature ${r.signatureIndex} (${r.source==="fieldmdp"?"FieldMDP":"/Lock"})`)}var tR=0;function DD(e,t,r,n,{recordFit:i}){let{mem:a,fn:o}=e,s=new rn;try{let A=r.page?o.EPDFDoc_LoadPageByObjectNumber(t,r.page.objectNumber):W;if(!A)throw new g(f.NotFound,"the widget page could not be loaded");s.push(()=>o.FPDF_ClosePage(A));let d=o.EPDFPage_GetAnnotByObjectNumber(A,r.objectNumber);if(!d)throw new g(f.NotFound,"the signature widget could not be loaded");s.push(()=>o.FPDFPage_CloseAnnot(d));let p=a.alloc(n.byteLength);s.push(()=>a.free(p)),a.writeBytes(p,n);let m=o.FPDF_LoadMemDocument64(p,n.byteLength,"");if(!m)throw new g(f.MalformedPdf,"the appearance PDF could not be opened");s.push(()=>o.FPDF_CloseDocument(m));let F=o.FPDF_GetPageCount(m);if(F!==1)throw new g(f.InvalidArg,`the appearance PDF has ${F} pages; a signature appearance takes a one-page PDF`);if(!o.EPDFAnnot_SetAppearanceFromPage(d,m,0))throw new g(f.InvalidArg,"the appearance page could not be drawn into the widget");if(!o.EPDFAnnot_UpdateAppearanceToRect(d,tR))throw new g(f.Unknown,"the appearance page could not be fitted into the widget");i&&Sm(o,a,d,"contain")}finally{s.close()}}var vP={keystroke:0,format:1,validate:2,calculate:3};function PP(e,t,r,n,i){for(let a of Object.keys(vP)){let o=i[a];if(o===void 0)continue;if(o!==null&&!Fo(o))throw new g(f.InvalidArg,`a field's ${a} event takes JavaScript only`,{details:{field:`actions.${a}`}});let s=n?.[a];if(o===null?!s:s!==void 0&&nR(s,o))continue;let A=o===null?W:ow(e,t,o);if(!e.fn.EPDFForm_SetFieldEventAction(t,r,vP[a],A))throw new g(f.Unknown,`the field's ${a} script could not be written`)}}function nR(e,t){if(e.incomplete||!e.root)return!1;let r=(n,i)=>{if(!n||n.type!=="javascript"||n.script!==i.script)return!1;let a=i.next??[];return n.next.length===a.length&&n.next.every((o,s)=>r(o,a[s]))};return r(e.root,t)}var rR={none:0,scalar:1,array:2};function hP(e,t,r,n,i){let{fn:a}=e;if(n.kind==="unsupported")return!1;let o=n.kind==="scalar"?[n.value]:n.kind==="array"?n.values:[],s=i==="value"?a.EPDFForm_SetFieldValue:a.EPDFForm_SetFieldDefaultValue;return Ia(e,o,(A,d)=>s(t,r,rR[n.kind],A,d))}function iR(e,t,r,n){return an(e.mem,n,(i,a)=>e.fn.EPDFForm_SetFieldSelectedIndices(t,r,i,a))}var aR={pushbutton:1,checkbox:2,radio:3,text:4,combobox:5,listbox:6,signature:7},oR={visible:0,hidden:1,noPrint:2,noView:3},yl=256,sR=1,kP=new Set(["text","checkbox","radio","combobox","listbox"]),vt=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}setValue(e,t,r,n){O(r);let i=Ee(this.runtime,this.session),a=Kt(this.runtime,i,e);this.assertWritable(a);let o=this.session.requireDocPtr(),s=qe(this.runtime,i,a.fieldIndex,o),A=Yu({field:s,widgets:[]},t).field,d=this.writeFieldAfter(a.fieldObjectNumber,s,A);return d&&oH(this.runtime,o,a.fieldObjectNumber,n),this.readBack(a.fieldObjectNumber,d??[])}setDisplay(e,t,r){O(r);let n=Kt(this.runtime,Ee(this.runtime,this.session),e);this.assertWritable(n);let i=this.session.requireDocPtr(),a=this.withChangedWidgets((o,s,A)=>this.runtime.fn.EPDFForm_SetFieldDisplay(i,n.fieldObjectNumber,oR[t],o,s,A));if(a===null)throw new g(f.Unknown,"the field could not be shown or hidden");return this.readBack(n.fieldObjectNumber,a,!1)}setAppearanceText(e,t,r){O(r);let n=Ee(this.runtime,this.session),i=Kt(this.runtime,n,e);this.assertWritable(i);let a=this.session.requireDocPtr(),o=qe(this.runtime,n,i.fieldIndex,a);if(o.kind!=="text"&&o.kind!=="combobox")throw new g(f.InvalidArg,`appearance text does not apply to a ${o.kind} field`);let s=Zn(this.runtime.mem,t,A=>this.withChangedWidgets((d,p,m)=>this.runtime.fn.EPDFForm_SetFieldAppearanceText(a,i.fieldObjectNumber,A,d,p,m)));if(s===null)throw new g(f.Unknown,"the appearance text could not be drawn");return this.readBack(i.fieldObjectNumber,s,!0)}emptyMeta(){return{affectedPages:[],cacheDelta:null,...this.session.writeStamp()}}reset(e,t){O(t);let r=this.session.requireDocPtr(),n=Ee(this.runtime,this.session),i=e===void 0?this.wholeFormTargets(n):this.namedTargets(n,e);O(t);let a=i.filter(d=>!Vu(d)).flatMap(d=>{let p=Xu({field:d,widgets:[]}).field,m=this.writeFieldAfter(Tc(d),d,p);return m?(Q3(this.runtime,r,Tc(d)),[{before:d,changed:m}]):[]});a.length>0&&this.session.invalidateDerived();let o=[],s=[],A=[];for(let{before:d,changed:p}of a){let m=this.readBackField(Tc(d));if(p.length===0&&qi(d.valueEntry,m.valueEntry))continue;o.push(m);let F=new Set(p),h=m.widgets.filter(P=>F.has(P.objectNumber)).map(P=>Ct(P.objectNumber,P.page));s.push(...h),A.push(...$l(m.kind,h))}return{fields:o,meta:Ft(this.session.writeStamp(),o.map(d=>d.ref),s,A)}}wholeFormTargets(e){let t=this.session.requireDocPtr(),r=nm(this.runtime,this.session),n=[],i=this.runtime.fn.EPDFForm_CountFields(e);for(let a=0;a{if(!r.EPDFForm_Repair(this.session.requireDocPtr(),i,o))throw new g(f.Unknown,"form repair failed");return{acroformCreated:Number(n.peek(o,"i32",0))!==0,fieldsLinked:Number(n.peek(o,"i32",4)),widgetsLinked:Number(n.peek(o,"i32",8)),fieldsUnrepairable:Number(n.peek(o,"i32",12)),appearancesBaked:Number(n.peek(o,"i32",16)),needsAppearancesCleared:Number(n.peek(o,"i32",20))!==0}});return this.session.invalidateDerived(),{...a,meta:this.emptyMeta()}}createField(e,t,r,n={}){O(t);let{fn:i}=this.runtime,a=this.session.requireDocPtr(),o=(e.widgets??[]).map(h=>rc(wo(e.kind,h))),s=o.map(h=>this.preflightPlacement(h)),A=o.map(h=>DP(e.kind,h));if(RA(e),"maxLength"in e&&e.maxLength!==void 0&&(!Number.isInteger(e.maxLength)||e.maxLength<=0))throw new g(f.InvalidArg,`maxLength must be a positive integer, got ${e.maxLength}`,{details:{field:"maxLength"}});let{objectNumber:d,widgetObjectNumbers:p}=n;if(p&&p.length!==o.length)throw new g(f.InvalidArg,`forms.create needs one widget object number per widget: ${p.length} for ${o.length}`,{details:{field:"widgetObjectNumbers"}});d!==void 0&&this.session.claimObjectNumber(d);for(let h of p??[])this.session.claimObjectNumber(h);O(t);let m=this.createFieldNode(e,d);this.configureNewField(e,m),aH(this.runtime,a,m,r),e.groupId!==void 0&&Zv(this.runtime,a,m,e.groupId),o.forEach((h,P)=>{let B=mP(this.runtime,a,s[P],h,p?.[P],Uc(this.runtime,this.session,this.fonts));if(!i.EPDFForm_AttachWidget(a,m,B,A[P],0))throw new g(f.Unknown,"widget adoption failed")});let F=this.followCalculateScript(m,e.actions?.calculate);return this.session.invalidateDerived(),{field:this.readBackField(m),calculationOrder:F}}nativeDeleteField(e){let{fn:t,mem:r}=this.runtime;return he(r,[256*4,8],([n,i])=>(Se(r,i,0),t.EPDFForm_DeleteField(this.session.requireDocPtr(),e,n,256,i)))}preflightPlacement(e){let t=this.session.resolvePageRef(e.page),{left:r,bottom:n,right:i,top:a}=e.rect;if(![r,n,i,a].every(Number.isFinite))throw new g(f.InvalidArg,"widget rect must be finite numbers",{details:{field:"rect"}});return t.pageIndex}createFieldNode(e,t){let{fn:r,mem:n}=this.runtime,i=n.writeU16String(e.name),a;try{a=r.EPDFForm_CreateField(this.session.requireDocPtr(),aR[e.kind],i,t??0)}finally{n.free(i)}if(a<=0)throw new g(f.InvalidArg,`cannot create field "${e.name}" (name conflict or invalid)`);return a}configureNewField(e,t){let{fn:r}=this.runtime,n=this.session.requireDocPtr(),{setBits:i,clearBits:a}=wP(e);if((i!==0||a!==0)&&r.EPDFForm_SetFieldFlags(n,t,i,a),"options"in e&&e.options&&this.applyOptions(t,e.options),this.writeDefault(t,{kind:"none"},RA(e)),"maxLength"in e&&e.maxLength!==void 0&&!r.EPDFForm_SetFieldMaxLen(n,t,e.maxLength))throw new g(f.InvalidArg,"maxLength rejected");e.alternateName!==void 0&&this.applyWideSetter(r.EPDFForm_SetFieldAlternateName,t,e.alternateName,"alternate name rejected"),e.mappingName!==void 0&&this.applyWideSetter(r.EPDFForm_SetFieldMappingName,t,e.mappingName,"mapping name rejected"),e.actions&&PP(this.runtime,n,t,void 0,e.actions)}setSignatureAppearance(e,t,r){O(r);let n=this.session.requireDocPtr(),i=Ee(this.runtime,this.session),a=Kt(this.runtime,i,e);this.assertWritable(a);let o=qe(this.runtime,i,a.fieldIndex,n);if(o.kind!=="signature")throw new g(f.InvalidArg,`'${o.name}' is a ${o.kind} field, not a signature field`);if(Zc(this.runtime,n,s=>ki(this.runtime,s).some(A=>A.signed&&A.field.kind==="objectNumber"&&A.field.objectNumber===a.fieldObjectNumber)))throw new g(f.ProtectedDocument,`'${o.name}' is signed; its appearance is sealed with the signature`);if(o.widgets.length===0)throw new g(f.InvalidArg,`'${o.name}' has no widget to draw into`);for(let s of o.widgets)DD(this.runtime,n,s,t,{recordFit:!0});return this.session.invalidateDerived(),{field:this.readBackField(a.fieldObjectNumber)}}updateField(e,t,r){O(r);let{fn:n}=this.runtime,i=this.session.requireDocPtr(),a=Ee(this.runtime,this.session),o=Kt(this.runtime,a,e);this.assertWritable(o);let s=qe(this.runtime,a,o.fieldIndex,this.session.requireDocPtr());dR(t,s.kind),"defaultValue"in t&&t.defaultValue!==void 0&&TA({field:s,widgets:[]},t);let A=o.fieldObjectNumber;t.name!==void 0&&this.applyWideSetter(n.EPDFForm_SetFieldName,A,t.name,`cannot rename to "${t.name}" (sibling conflict or invalid)`);let{setBits:d,clearBits:p}=wP(t);if((d!==0||p!==0)&&!n.EPDFForm_SetFieldFlags(i,A,d,p))throw new g(f.InvalidArg,"flag update rejected");if("maxLength"in t&&t.maxLength!==void 0&&!n.EPDFForm_SetFieldMaxLen(i,A,t.maxLength??0))throw new g(f.InvalidArg,"maxLength rejected (current value exceeds it)");t.alternateName!==void 0&&this.applyWideSetter(n.EPDFForm_SetFieldAlternateName,A,t.alternateName??"","alternate name rejected"),t.mappingName!==void 0&&this.applyWideSetter(n.EPDFForm_SetFieldMappingName,A,t.mappingName??"","mapping name rejected"),t.groupId!==void 0&&t.groupId!==s.groupId&&Zv(this.runtime,i,A,t.groupId);let m="options"in t&&t.options!==void 0,F="defaultValue"in t&&t.defaultValue!==void 0;if(m||F){let P=TA({field:s,widgets:[]},t).field;"options"in t&&t.options&&this.applyOptions(A,t.options),this.writeDefault(A,s.defaultValueEntry,P.defaultValueEntry),m&&this.writeFieldAfter(A,s,P,!0)}t.actions&&PP(this.runtime,i,A,s.actions,t.actions);let h=this.followCalculateScript(A,t.actions?.calculate);return this.session.invalidateDerived(),{field:this.readBackField(A),calculationOrder:h}}reorderCalculations(e,t,r){O(r);let n=Ee(this.runtime,this.session),i=A=>Kt(this.runtime,n,A).fieldObjectNumber,a=Es(this.runtime,n),o=e.map(i),s=hA(a,o,t==="start"||t==="end"?t:"before"in t?{before:i(t.before)}:{after:i(t.after)},String);return O(r),qc(a,s)||(em(this.runtime,this.session.requireDocPtr(),s),this.session.invalidateDerived()),{before:a,after:s,moved:o}}followCalculateScript(e,t){if(t===void 0)return null;let r=Es(this.runtime,Ee(this.runtime,this.session)),n=r.includes(e),i=t===null?r.filter(a=>a!==e):n?r:[...r,e];return qc(r,i)?null:(em(this.runtime,this.session.requireDocPtr(),i),{before:r,after:i})}deleteField(e,t){O(t);let r=Ee(this.runtime,this.session),n=Kt(this.runtime,r,e);this.assertWritable(n);let i=qe(this.runtime,r,n.fieldIndex,this.session.requireDocPtr()),a=i.widgets.map(A=>Ct(A.objectNumber,A.page));O(t);let o=this.followCalculateScript(n.fieldObjectNumber,null);if(!this.nativeDeleteField(n.fieldObjectNumber))throw new g(f.InvalidArg,"field cannot be deleted");this.session.invalidateDerived();let s=new pw(this.runtime,this.session);for(let A of a)A.ref&&s.deleteReleasedWidget(A.ref,n.fieldObjectNumber);return this.session.invalidateDerived(),{deleted:i.ref,removedWidgets:a,calculationOrder:o}}addWidget(e,t,r,n={}){O(r);let{fn:i}=this.runtime,a=this.session.requireDocPtr(),o=Ee(this.runtime,this.session),s=Kt(this.runtime,o,e);this.assertWritable(s);let A=qe(this.runtime,o,s.fieldIndex,a),d=rc(wo(A.kind,t)),p=this.preflightPlacement(d),m=DP(A.kind,d),F=A.widgets.find(B=>B.objectNumber===s.fieldObjectNumber)?.page??null;n.objectNumber!==void 0&&this.session.claimObjectNumber(n.objectNumber);let h=F?n.splitObjectNumber:void 0;h!==void 0&&this.session.claimObjectNumber(h),O(r),F&&sn(this.runtime,this.session,F.objectNumber);let P=mP(this.runtime,a,p,d,n.objectNumber,Uc(this.runtime,this.session,this.fonts));if(!i.EPDFForm_AttachWidget(a,s.fieldObjectNumber,P,m,h??0))throw new g(f.InvalidArg,"the widget could not join the field");return this.session.invalidateDerived(),{field:this.readBackField(s.fieldObjectNumber),widget:Ct(P,t.page)}}detachWidget(e,t,r){O(r);let{fn:n}=this.runtime,i=Ee(this.runtime,this.session),a=Kt(this.runtime,i,e);this.assertWritable(a);let o=BP(t);if(o===a.fieldObjectNumber)throw new g(f.InvalidArg,`widget ${o} is the field's own dictionary (a merged field/widget) and cannot be removed from it - delete the field with doc.forms.delete`);if(!n.EPDFForm_DetachWidget(this.session.requireDocPtr(),a.fieldObjectNumber,o))throw new g(f.InvalidArg,"widget is not attached to this field");return this.session.invalidateDerived(),{field:this.readBackField(a.fieldObjectNumber),widget:Ct(BP(t),t.page)}}applyOptions(e,t){let{fn:r}=this.runtime,n=this.session.requireDocPtr();if(!Ia(this.runtime,t.map(i=>i.label),i=>Ia(this.runtime,t.map(a=>a.value),(a,o)=>r.EPDFForm_SetFieldOptions(n,e,i,a,o))))throw new g(f.InvalidArg,"options rejected")}applyWideSetter(e,t,r,n){let{mem:i}=this.runtime,a=this.session.requireDocPtr(),o=i.writeU16String(r);try{if(!e(a,t,o))throw new g(f.InvalidArg,n)}finally{i.free(o)}}writeDefault(e,t,r){if(qi(t,r))return;let n=this.session.requireDocPtr();if(!hP(this.runtime,n,e,r,"default"))throw new g(f.InvalidArg,"default value rejected")}readBackField(e){let t=Ee(this.runtime,this.session),r=this.runtime.fn.EPDFForm_GetFieldIndexByObjNum(t,e);if(r<0)throw new g(f.Unknown,"form field vanished after write");return qe(this.runtime,t,r,this.session.requireDocPtr())}assertWritable(e){if(e.fieldObjectNumber===0)throw new g(f.InvalidArg,"form field is stored as a direct object and cannot be written");this.assertNotLockedBySignature(e)}assertNotLockedBySignature(e){let t=nm(this.runtime,this.session);if(!t)return;let r=Ee(this.runtime,this.session);eR(fe(this.runtime.mem,(n,i)=>this.runtime.fn.EPDFForm_GetFieldName(r,e.fieldIndex,n,i))??"",t)}writeFieldAfter(e,t,r,n=!1){let{fn:i,mem:a}=this.runtime,o=this.session.requireDocPtr(),s=r.kind==="checkbox"||r.kind==="radio"?r.widgets:null,A=!qi(t.valueEntry,r.valueEntry),d=s?.some((F,h)=>F.checked!==t.widgets[h]?.checked)??!1;if(!A&&!d&&!n)return null;let p=()=>new g(f.InvalidArg,`'${r.name}' could not take the value`);if(A&&!hP(this.runtime,o,e,r.valueEntry,"value"))throw p();if(r.kind==="combobox"||r.kind==="listbox"){let F=r.options.flatMap((h,P)=>h.selected?[P]:[]);if(!iR(this.runtime,o,e,F))throw p()}if(s?.length===0)return[];let m=this.withChangedWidgets((F,h,P)=>s?an(a,s.map(B=>B.checked?1:0),(B,y)=>i.EPDFForm_SetFieldWidgetsChecked(o,e,B,y,F,h,P)):i.EPDFForm_RedrawFieldWidgets(o,e,F,h,P));if(m===null)throw p();return m}withChangedWidgets(e){let{mem:t}=this.runtime;return he(t,[yl*4,8],([r,n])=>{if(Se(t,n,0),!e(r,yl,n))return null;let i=Number(t.peek(n,"i32")),a=Math.min(i,yl),o=[];for(let s=0;so.has(A.objectNumber)).map(A=>Ct(A.objectNumber,A.page));return{field:a,meta:Ft(this.session.writeStamp(),[a.ref],s,r===void 0?$l(a.kind,s):r?s:[])}}},AR=["kind","name","readOnly","required","noExport","alternateName","mappingName","groupId","actions"],cR={text:["defaultValue","maxLength","multiline","password","comb"],radio:["radiosInUnison","noToggleToOff"],combobox:["edit","defaultValue","options"],listbox:["multiSelect","options","defaultValue"]};function dR(e,t){if(e.kind!==void 0&&e.kind!==t)throw new g(f.InvalidArg,`patch family '${e.kind}' does not match field family '${t}'`,{details:{field:"kind"}});let r=new Set([...AR,...cR[t]??[]]);for(let[i,a]of Object.entries(e))if(a!==void 0&&!r.has(i))throw new g(f.InvalidArg,`'${i}' does not apply to a ${t} field`,{details:{field:i}});let n="defaultValue"in e?e.defaultValue:void 0;if(n!=null&&Array.isArray(n)!==(t==="listbox"))throw new g(f.InvalidArg,t==="listbox"?"a list's defaultValue is a list of option values":`a ${t} field's defaultValue is one string`,{details:{field:"defaultValue"}})}function DP(e,t){let{exportValue:r}=t;if(e!=="checkbox"&&e!=="radio"){if(r!==void 0)throw new g(f.InvalidArg,`'exportValue' applies to checkbox and radio widgets, not a ${e} field's`,{details:{field:"exportValue"}});return""}let n=r??(e==="checkbox"?"Yes":void 0);if(!n||n==="Off")throw new g(f.InvalidArg,e==="radio"?'every radio button needs an exportValue other than "Off"':`a checkbox's exportValue can't be "Off"`,{details:{field:"exportValue"}});return n}function BP(e){if(e.kind!=="objectNumber")throw new g(f.InvalidArg,"widget must be addressed by object number");return e.objectNumber}function BD(e,t,r,n,i,a){let o=()=>Es(e,Ee(e,t)),s=o(),A=qn(e,t),d=new vt(e,t,r),p=n.map((P,B)=>{let{groupId:y,...x}=_o(P.draft,A),I=a.groupOf(y),[S,...G]=P.objectNumbers??[],{field:Q}=d.createField({...x,...I!==void 0?{groupId:I}:{}},a.signal,a.actor,S===void 0?{}:{objectNumber:S,widgetObjectNumbers:G});Q.widgets.forEach((ve,ge)=>uR(e,t,ve,P.flags[ge])),t.invalidateDerived(),P.value&&d.setValue(Q.ref,P.value,a.signal,a.actor);let K=pR(Q.ref);return a.made?.(K,B),K}),m=i.map(P=>EP(p[P]));m.length>0&&d.reorderCalculations(m,"end",a.signal),t.invalidateDerived();let F=o(),h=p.map(P=>{let B=Ee(e,t);return qe(e,B,e.fn.EPDFForm_GetFieldIndexByObjNum(B,P),t.requireDocPtr())});return vD(e,t,{fields:h,...qc(s,F)?{}:{calculationOrder:F.map(EP)},meta:Ft(t.writeStamp(),h.map(P=>P.ref),h.flatMap(P=>P.widgets))},r)}function uR(e,t,r,n){if(!r.ref)return;let i=Cs(e,t,r.ref);try{jm(e.fn,i,n)}finally{e.fn.FPDFPage_CloseAnnot(i)}}function pR(e){if(e.kind!=="objectNumber")throw new Error("a written field has an object number");return e.objectNumber}function EP(e){return{kind:"objectNumber",objectNumber:e}}var lR=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}copy(e,t){O(t),us(e.limits,"items",e.fields.length),e.page&&this.session.resolvePageRef(e.page);let r=yo(new Pw(this.runtime,this.session,this.fonts).snapshot(t),qn(this.runtime,this.session)),n=MF({form:r,fields:e.fields,...e.widgets?{widgets:e.widgets}:{},placement:{...e.page?{page:e.page}:{},...e.offset?{offset:e.offset}:{}},values:e.values,mayScript:e.mayScript}),{objectNumbers:i}=e,a=n.creates.reduce((A,d)=>A+1+d.widgets.length,0);if(i&&i.length!==a)throw new g(f.InvalidArg,`copy: objectNumbers names ${i.length} objects of ${a}`,{details:{field:"objectNumbers"}});let o=0,s=BD(this.runtime,this.session,this.fonts,n.creates.map(A=>{let d=1+A.widgets.length,p=i?.slice(o,o+d);return o+=d,{...A,...p?{objectNumbers:p}:{}}}),n.calculationOrder,{actor:e.actor,groupOf:e.groupOf,signal:t});return{...s,refMap:n.creates.map((A,d)=>({from:r.fields.find(p=>cr(p,e.fields[A.source])).ref,to:s.fields[d].ref})),dropped:[...n.dropped]}}},ED=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}import(e,t){O(t);let{bundle:r}=e;Zl(this.runtime,"form",r,e.limits,Ao);let n=this.fieldNames(),i=QF({bundle:r,...e.pages!==void 0?{pages:e.pages}:{},target:this.session.allRecords().map(d=>({page:ue(d.pageObjectNumber),position:d.pageIndex})),nameTaken:d=>UA(n,d),mayScript:e.mayScript,values:e.values}),a=this.session.requireDocPtr(),o=e.actor.userId??null,s=e.attribution==="restore",A=BD(this.runtime,this.session,this.fonts,i.creates,i.calculationOrder,{actor:e.actor,groupOf:e.groupOf,signal:t,made:(d,p)=>{if(!s)return;let m=i.creates[p],F=r.fields[m.field].data;sH(this.runtime,a,d,F,o),m.value&&Jv(this.runtime,a,d,F,o)}});return{...A,refMap:i.creates.map((d,p)=>({from:r.fields[d.field].data.ref,to:A.fields[p].ref})),dropped:[...i.dropped]}}planValues(e,t,r,n){O(r),Zl(this.runtime,"form",e,t,Ao);let i=nm(this.runtime,this.session),a=RF({bundle:e,target:this.readFields(),refusal:(o,s)=>{if(o.ref.kind!=="objectNumber")return"value-not-allowed";try{mo(o,s)}catch(A){if(g.is(A))return"value-not-allowed";throw A}return i?.(o.name)?"locked":n(o)?null:"fill-not-allowed"}});return{writes:a.writes.filter(({target:o,value:s})=>!Ku(o,mo(o,s))),dropped:a.dropped}}writeValue(e,t,r,n,i){new vt(this.runtime,this.session,this.fonts).setValue(e.target.ref,e.value,i,n);let a=mR(e.target.ref);return r==="restore"&&(Jv(this.runtime,this.session.requireDocPtr(),a,t.fields[e.field].data,n.userId??null),this.session.invalidateDerived()),this.readField(a)}fieldNames(){let{fn:e,mem:t}=this.runtime,r=Ee(this.runtime,this.session),n=new Set;for(let i=0;ie.EPDFForm_GetFieldName(r,i,o,s));a&&n.add(a)}return n}readFields(){let e=Ee(this.runtime,this.session),t=this.session.requireDocPtr(),r=this.runtime.fn.EPDFForm_CountFields(e);return Array.from({length:r},(n,i)=>qe(this.runtime,e,i,t))}readField(e){let t=Ee(this.runtime,this.session),r=this.runtime.fn.EPDFForm_GetFieldIndexByObjNum(t,e);return qe(this.runtime,t,r,this.session.requireDocPtr())}};function mR(e){if(e.kind!=="objectNumber")throw new Error("a written field has an object number");return e.objectNumber}var rm=["AP","MK"],wR=new Set(["text","checkbox","radio","combobox","listbox"]),bR=new Set(["forms.setValue","forms.setDisplay","forms.setAppearanceText","forms.reset","forms.setSignatureAppearance"]);function fR(e,t,r){let n=Xt(e,t.field);return hw(e,n),Cn(r,yn(n.field),t.expect),ID(e,n,t.value)}function gR(e,t){let r=Xt(e,t.field);return RR(e,r),SD(e,"forms.setDisplay",n=>n.setDisplay(t.field,t.display,e.signal),r)}function FR(e,t){let r=Xt(e,t.field);return hw(e,r),SD(e,"forms.setAppearanceText",n=>n.setAppearanceText(t.field,t.text,e.signal),r)}function vR(e,t){GD(e);let r=t.fields?t.fields.map(A=>Xt(e,A)):RD(e).filter(({field:A})=>wR.has(A.kind));for(let A of r)Nn(e.authority,A.field.groupId,"fill");let n=cn(e.runtime,e.session,r.flatMap(Ns)),i=new vt(e.runtime,e.session,e.fonts).reset(t.fields?[...t.fields]:void 0,e.signal),a=Et(e.runtime,e.session,n),o=new Set(i.fields.map(A=>xa(A.ref))),s={type:"forms.reset",...Ei(e,i)};return o.size===0?{item:s,reverse:[]}:{item:s,reverse:[{kind:"objects.revert",reports:"forms.reset",objects:a,subject:{fields:[...o]},fallback:{kind:"value",fields:r.filter(({objectNumber:A})=>o.has(A)).map(({objectNumber:A,field:d})=>({objectNumber:A,before:yn(d),left:yn(i.fields.find(p=>xa(p.ref)===A))}))}}]}}function PR(e,t){me(e.authority,"doc.forms.modify"),fp(t.draft)&&me(e.authority,"doc.forms.script");let r=kw(e,t.draft.groupId),{field:n,calculationOrder:i}=new vt(e.runtime,e.session,e.fonts).createField({...t.draft,...r!==void 0?{groupId:r}:{}},e.signal,e.authority.identity,{...t.objectNumber!==void 0?{objectNumber:t.objectNumber}:{},...t.widgetObjectNumbers?{widgetObjectNumbers:t.widgetObjectNumbers}:{}});return{item:{type:"forms.create",..._w(e,n),...OD(i)},reverse:[{kind:"field.remove",objectNumber:xa(n.ref),left:n}]}}function hR(e,t){me(e.authority,"doc.forms.modify");let r=new lR(e.runtime,e.session,e.fonts).copy({fields:t.fields,...t.widgets?{widgets:t.widgets}:{},...t.page?{page:t.page}:{},...t.offset?{offset:t.offset}:{},values:t.values??!0,...t.objectNumbers?{objectNumbers:t.objectNumbers}:{},actor:e.authority.identity,mayScript:dc(e.authority,"doc.forms.script"),groupOf:i=>kw(e,i),limits:e.limits},e.signal),n=r.fields.map(i=>({kind:"field.remove",objectNumber:xa(i.ref),left:i}));return{item:{type:"forms.copy",...r},reverse:n.reverse()}}function kR(e,t,r){me(e.authority,"doc.forms.modify"),dr(t.patch.actions)&&me(e.authority,"doc.forms.script");let n=Xt(e,t.field);return t.patch.groupId!==void 0&&t.patch.groupId!==n.field.groupId&&lc(e.authority,t.patch.groupId),Cn(r,Jc(n.field),t.expect),xD(e,n,t.patch)}function DR(e,t,r){me(e.authority,"doc.forms.modify");let n=Xt(e,t.field);return Cn(r,n.field,t.expect),Ew(e,n)}function BR(e,t){me(e.authority,"doc.forms.modify"),dr(t.placement.actions)&&me(e.authority,"doc.forms.script");let r=Xt(e,t.field),n=new Set([t.placement.page.objectNumber]);for(let p of r.field.widgets)p.objectNumber===r.objectNumber&&p.page&&n.add(p.page.objectNumber);let i=cn(e.runtime,e.session,[...Ns(r),...[...n].map(p=>({objectNumber:p,deep:[]}))]),{field:a}=new vt(e.runtime,e.session,e.fonts).addWidget(t.field,t.placement,e.signal,{...t.objectNumber!==void 0?{objectNumber:t.objectNumber}:{},...t.splitObjectNumber!==void 0?{splitObjectNumber:t.splitObjectNumber}:{}}),o=new Set(r.field.widgets.map(p=>p.objectNumber)),s=a.widgets.filter(p=>!o.has(p.objectNumber)),A=s.map(p=>({objectNumber:p.objectNumber,deep:rm,before:null})),d=Et(e.runtime,e.session,[...i,...A]);return{item:{type:"forms.addWidget",...Ei(e,{field:a,meta:Ft(e.session.writeStamp(),[a.ref],s)})},reverse:[Ms("forms.removeWidget",d,[r.objectNumber])]}}function ER(e,t){me(e.authority,"doc.forms.modify");let r=Xt(e,t.field),n=t.widget.kind==="objectNumber"?t.widget.objectNumber:0,i=cn(e.runtime,e.session,[{objectNumber:r.objectNumber,deep:[]},{objectNumber:n,deep:[]}]),a=new vt(e.runtime,e.session,e.fonts).detachWidget(t.field,t.widget,e.signal),o=Et(e.runtime,e.session,i);return{item:{type:"forms.removeWidget",...Ei(e,{field:a.field,meta:Ft(e.session.writeStamp(),[a.field.ref],[a.widget])})},reverse:[Ms("forms.addWidget",o,[r.objectNumber])]}}function _R(e,t,r){me(e.authority,"doc.forms.modify");let n=In(e,t.widget);if(n.subtype!=="widget")throw new g(f.InvalidArg,`${n.subtype} is not a widget: delete it with page.annotations.delete`,{details:{field:"widget"}});return Cn(r,n,t.expect),CD(e,n)}function yR(e,t){me(e.authority,"doc.forms.modify");let r;try{r=e.session.resolvePageRef(t.page).pageIndex}catch{return Fe(e,"forms.restoreWidget")}if(QD(e,t.widget))return Fe(e,"forms.restoreWidget");let n=t.detached.filter(o=>o.objectNumber===t.fieldObjectNumber);if(!Na(e.runtime,e.session,n))return Fe(e,"forms.restoreWidget");cD(e.runtime,e.session.requireDocPtr(),r,t.capture),e.session.invalidateDerived(),t.detached.length>0&&Rs(e.runtime,e.session,t.detached);let i=qR(e,t.widget),a=t.fieldObjectNumber===null?null:Ls(e,t.fieldObjectNumber).field;return{item:{type:"forms.restoreWidget",field:a,widgets:[i],meta:Ft(e.session.writeStamp(),a?[a.ref]:[],[zR(e,t.widget)])},reverse:[{kind:"widget.delete",widget:t.widget,left:i}]}}function GR(e,t){me(e.authority,"doc.forms.modify");let r=QD(e,t.widget);return!r||!Ze(r,t.left)?Fe(e,"forms.deleteWidget"):CD(e,r)}function CR(e,t,r){me(e.authority,"doc.forms.modify"),dr(t.patch.actions)&&me(e.authority,"doc.forms.script");let n=In(e,t.widget);if(n.subtype!=="widget")throw new g(f.InvalidArg,`${n.subtype} is not a widget: change it with doc.annotations.update`,{details:{field:"widget"}});return Cn(r,n,t.expect),pD(e,n,t.patch.nm),fw(e,t.widget,{...t.patch,subtype:"widget"},"forms.updateWidget")}function IR(e,t){me(e.authority,"doc.forms.modify");let{before:r,after:n,moved:i}=new vt(e.runtime,e.session,e.fonts).reorderCalculations(t.fields,t.position,e.signal);return{item:_D(e,n,i),reverse:[Dw({before:r,after:n})]}}function SR(e,t){me(e.authority,"doc.forms.modify");let r=Es(e.runtime,Ee(e.runtime,e.session)),n=_Q(r,t,i=>Bi(e,i)!==null);return qc(r,n)?Fe(e,"forms.reorderCalculations"):(em(e.runtime,e.session.requireDocPtr(),n),e.session.invalidateDerived(),{item:_D(e,n,[...new Set([...r,...n])].filter(i=>r.indexOf(i)!==n.indexOf(i))),reverse:[Dw({before:r,after:n})]})}function _D(e,t,r){return{type:"forms.reorderCalculations",calculationOrder:t.map(im),meta:Ft(e.session.writeStamp(),r.map(im),[])}}function xR(e,t){me(e.authority,"doc.forms.modify");let r=mw(Dd(e.runtime,e.session,t.page),"widgets",t.widgets,t.position);return ww(e.runtime,e.session,r),lD(e,r,t.widgets)}function HR(e,t){let r=Xt(e,t.field);return Nn(e.authority,r.field.groupId,"sign"),Bw(e,r,"forms.setSignatureAppearance",()=>new vt(e.runtime,e.session,e.fonts).setSignatureAppearance(t.field,t.appearance.pdf,e.signal))}function OR(e,t){me(e.authority,"doc.forms.modify");let r=yD(e,t),n=new ED(e.runtime,e.session,e.fonts).import({bundle:t.bundle,...t.pages!==void 0?{pages:t.pages}:{},attribution:t.attribution,values:t.values??!0,actor:t.actor??{},limits:t.limits,mayScript:(t.mayScript??!1)&&dc(e.authority,"doc.forms.script"),groupOf:a=>r?a:kw(e,a)},e.signal),i=n.fields.map(a=>({kind:"field.remove",objectNumber:xa(a.ref),left:a,...r?{rights:r}:{}}));return{item:{type:"forms.import",...n},reverse:i.reverse()}}function QR(e,t){GD(e);let r=yD(e,t),n=new ED(e.runtime,e.session,e.fonts),i=n.planValues(t.bundle,t.limits,e.signal,s=>pr(e.authority,s.groupId,"fill")),a=[],o=[];for(let s of i.writes){let A={objectNumber:xa(s.target.ref),field:s.target},d=cn(e.runtime,e.session,Ns(A)),p=n.writeValue(s,t.bundle,t.attribution,t.actor??{},e.signal),m=Et(e.runtime,e.session,d);a.push(p),o.push({...Ms("forms.setValue",m,[A.objectNumber]),fallback:{kind:"value",fields:[{objectNumber:A.objectNumber,before:yn(s.target),left:yn(p)}]},...r?{rights:r}:{}})}return{item:{type:"forms.importValues",...Ei(e,{fields:a,dropped:[...i.dropped],meta:Ft(e.session.writeStamp(),a.map(s=>s.ref),a.flatMap(s=>s.widgets))})},reverse:o.reverse()}}function yD(e,t){if(t.attribution==="restore")return me(e.authority,"doc.forms.import"),"import"}function hw(e,t){if(!pr(e.authority,t.field.groupId,"fill")){if(MR(e,t)&&e.fillsOwnField()){at(e.authority,"doc.forms.fill");return}Nn(e.authority,t.field.groupId,"fill")}}function RR(e,t){if(!pr(e.authority,t.field.groupId,"fill")){if(e.fillsOwnField()){at(e.authority,"doc.forms.fill");return}Nn(e.authority,t.field.groupId,"fill")}}function GD(e){yp(e.authority,"fill")||me(e.authority,"doc.forms.fill")}function TR(e,t){let r=t.reports==="forms.setSignatureAppearance"?"sign":"fill";at(e.authority,r==="sign"?"doc.sign":"doc.forms.fill");for(let n of t.subject.fields){let i=Bi(e,n);i&&(r==="sign"?Nn(e.authority,i.field.groupId,"sign"):hw(e,i))}}function kw(e,t){let r=t??e.authority.identity.groupId;return r!==void 0&&lc(e.authority,r),r}function MR(e,t){return t.field.actions?.calculate?Es(e.runtime,Ee(e.runtime,e.session)).includes(t.objectNumber):!1}function LR(e,t){return t.some(r=>{if(r.type!=="forms.setValue"&&r.type!=="forms.setAppearanceText")return!1;let n=Ed(e,r.field);return n!==null&&pr(e.authority,n.field.groupId,"fill")})}function NR(e,t){return t.some(r=>r.kind==="objects.revert"&&(r.reports==="forms.setValue"||r.reports==="forms.setAppearanceText")&&"fields"in r.subject&&r.subject.fields.some(n=>{let i=Bi(e,n);return i!==null&&pr(e.authority,i.field.groupId,"fill")}))}function jR(e,t){if(bR.has(t.reports)?TR(e,t):me(e.authority,"doc.forms.modify"),t.rights&&me(e.authority,"doc.forms.import"),Na(e.runtime,e.session,t.objects)){let i=Rs(e.runtime,e.session,t.objects),a=t.subject.fields.map(o=>Ls(e,o).field);return{item:LD(e,t.reports,a),reverse:[{...t,objects:i,...UR(t.fallback)}]}}if(t.fallback?.kind==="properties")return KR(e,t.fallback);if(t.fallback?.kind!=="value")return Fe(e,t.reports);let r=[],n=[];for(let{objectNumber:i,before:a,left:o}of t.fallback.fields){let s=Bi(e,i);s&&Ze(yn(s.field),o)?r.push(ID(e,s,a)):s&&n.push(s.field.name)}return r.length===0?Fe(e,t.reports):t.reports==="forms.setValue"&&r.length===1?r[0]:{item:{...MD(e,r.map(({item:i})=>i.field)),...n.length>0?{skipped:n}:{}},reverse:r.flatMap(i=>i.reverse)}}function KR(e,t){let r=Bi(e,t.objectNumber);if(!r)return Fe(e,"forms.update");let n=Jc(r.field),i=t.left,a=t.restore,o=Object.keys(i),s=o.filter(m=>Ze(n[m],i[m])&&(m!=="name"||VR(e,r.field.name,String(a.name))));if(s.length===0)return Fe(e,"forms.update");let A=xD(e,r,am(a,s)),d=o.filter(m=>!s.includes(m)),p=A.item;return d.length===0||Vr(p)||p.type!=="forms.update"?A:{...A,item:{...p,skipped:d}}}function VR(e,t,r){return Ed(e,{kind:"fqn",name:t.slice(0,t.lastIndexOf(".")+1)+r})===null}function YR(e,t){me(e.authority,"doc.forms.modify"),t.rights&&me(e.authority,"doc.forms.import");let r=Bi(e,t.objectNumber);return!r||!Ze(r.field,t.left)?Fe(e,"forms.delete"):Ew(e,r,t.rights)}function XR(e,t){if(me(e.authority,"doc.forms.modify"),t.rights&&me(e.authority,"doc.forms.import"),Ed(e,{kind:"fqn",name:t.name}))return Fe(e,"forms.restore");for(let n of t.pages)try{e.session.resolvePageRef(n)}catch{return Fe(e,"forms.restore")}jO(e.runtime,e.session.requireDocPtr(),t.capture),e.session.invalidateDerived();let{field:r}=Ls(e,t.objectNumber);return{item:{type:"forms.restore",..._w(e,r)},reverse:[{kind:"field.remove",objectNumber:t.objectNumber,left:r,...t.rights?{rights:t.rights}:{}}]}}function CD(e,t){let r=t.ref;sn(e.runtime,e.session,r.page.objectNumber);let n=hi(e,r),i=t.field?Xt(e,t.field):null;if(i&&i.objectNumber===n)throw new g(f.InvalidArg,`widget ${n} is its field's own dictionary (a merged field/widget) - delete the field with doc.forms.delete`,{details:{field:"widget"}});let a=[];if(i){let p=cn(e.runtime,e.session,[{objectNumber:i.objectNumber,deep:[]},{objectNumber:n,deep:[]}]);new vt(e.runtime,e.session,e.fonts).detachWidget({kind:"objectNumber",objectNumber:i.objectNumber},r,e.signal),a=Et(e.runtime,e.session,p)}let{pageIndex:o,index:s}=Bt(e.runtime,e.session,r),A=AD(e.runtime,e.session.requireDocPtr(),o,[s]);new pw(e.runtime,e.session,e.fonts).deleteReleasedWidget(r,0),e.session.invalidateDerived();let d=i?Ls(e,i.objectNumber).field:null;return{item:{type:"forms.deleteWidget",widget:r,page:r.page,field:d,meta:Ft(e.session.writeStamp(),d?[d.ref]:[],[{ref:r,objectNumber:n,page:r.page}])},reverse:[{kind:"widget.restore",page:r.page,widget:r,capture:A,fieldObjectNumber:i?.objectNumber??null,detached:a}]}}function ID(e,t,r){let n={kind:"objectNumber",objectNumber:t.objectNumber},i=cn(e.runtime,e.session,Ns(t)),a=new vt(e.runtime,e.session,e.fonts).setValue(n,r,e.signal,e.authority.identity),o=Et(e.runtime,e.session,i),s={type:"forms.setValue",...Ei(e,a)};return a.meta.changedWidgets.length===0&&Ze(yn(t.field),yn(a.field))?{item:s,reverse:[]}:{item:s,reverse:[{...Ms("forms.setValue",o,[t.objectNumber]),fallback:{kind:"value",fields:[{objectNumber:t.objectNumber,before:yn(t.field),left:yn(a.field)}]}}]}}function SD(e,t,r,n){let i=!1,a=Bw(e,n,t,()=>(i=r(new vt(e.runtime,e.session,e.fonts)).meta.changedWidgets.length>0,{field:Ls(e,n.objectNumber).field}));return i?a:{item:a.item,reverse:[]}}function xD(e,t,r){let n={kind:"objectNumber",objectNumber:t.objectNumber},i=null;return HD(e,Bw(e,t,"forms.update",()=>{let a=new vt(e.runtime,e.session,e.fonts).updateField(n,r,e.signal);return i=a.calculationOrder,a},a=>{let o=Jc(t.field),s=Jc(a),A=Object.keys(r).filter(d=>d!=="kind"&&!Ze(o[d],s[d]));return{kind:"properties",objectNumber:t.objectNumber,restore:am(o,A),left:am(s,A)}}),i)}function HD(e,t,r){return!r||Vr(t.item)?t:{item:{...t.item,...OD(r)},reverse:[...t.reverse,Dw(r)]}}function OD(e){return e?{calculationOrder:e.after.map(im)}:{}}function Dw({before:e,after:t}){return{kind:"calculations.restore",before:e,after:t}}function im(e){return{kind:"objectNumber",objectNumber:e}}function Bw(e,t,r,n,i){let a=cn(e.runtime,e.session,Ns(t)),{field:o}=n(),s=Ms(r,Et(e.runtime,e.session,a),[t.objectNumber]);return{item:LD(e,r,[o]),reverse:[i?{...s,fallback:i(o)}:s]}}function Ew(e,t,r){let n=NO(e.runtime,e.session.requireDocPtr(),t.objectNumber),i={kind:"objectNumber",objectNumber:t.objectNumber},{deleted:a,removedWidgets:o,calculationOrder:s}=new vt(e.runtime,e.session).deleteField(i,e.signal);return HD(e,{item:{type:"forms.delete",meta:Ft(e.session.writeStamp(),[a],o)},reverse:[{kind:"field.restore",objectNumber:t.objectNumber,name:t.field.name,pages:t.field.widgets.flatMap(A=>A.page?[A.page]:[]),capture:n,...r?{rights:r}:{}}]},s)}function _P(e){return new Set(RD(e).map(({objectNumber:t})=>t))}function WR(e,t,r){let n=[];for(let i of t){let a=Bi(e,i);!a||!a.field.widgets.every(o=>o.page&&r.has(o.page.objectNumber))||n.push(...Ew(e,a).reverse)}return n}function Ms(e,t,r){return{kind:"objects.revert",reports:e,objects:t,subject:{fields:r}}}function UR(e){switch(e?.kind){case"value":return{fallback:{kind:"value",fields:e.fields.map(({objectNumber:t,before:r,left:n})=>({objectNumber:t,before:n,left:r}))}};case"properties":return{fallback:{...e,restore:e.left,left:e.restore}};default:return{}}}function Xt(e,t){let r=Ee(e.runtime,e.session),n=Kt(e.runtime,r,t),i=qe(e.runtime,r,n.fieldIndex,e.session.requireDocPtr());return{objectNumber:n.fieldObjectNumber,field:i}}function qR(e,t){let r=In(e,t);if(r.subtype!=="widget")throw new Error(`${j(t)} reads as no widget`);return r}function QD(e,t){try{let r=In(e,t);return r.subtype==="widget"?r:null}catch(r){if(g.is(r))return null;throw r}}function zR(e,t){return{ref:t,objectNumber:hi(e,t),page:t.page}}function Ls(e,t){return Xt(e,{kind:"objectNumber",objectNumber:t})}function Ed(e,t){try{return Xt(e,t)}catch{return null}}function Bi(e,t){return Ed(e,{kind:"objectNumber",objectNumber:t})}function RD(e){let t=Ee(e.runtime,e.session),r=e.runtime.fn.EPDFForm_CountFields(t),n=[];for(let i=0;i({objectNumber:r.objectNumber,deep:rm}))]}function xa(e){return e.kind==="objectNumber"?e.objectNumber:0}function Jc(e){let t={name:e.name.slice(e.name.lastIndexOf(".")+1),readOnly:e.readOnly,required:e.required,noExport:e.noExport,alternateName:e.alternateName,mappingName:e.mappingName,...e.groupId!==null?{groupId:e.groupId}:{},actions:ZR(e)},r=e.defaultValueEntry.kind!=="none",n=i=>i.map(({label:a,value:o})=>({label:a,value:o}));switch(e.kind){case"text":return{...t,defaultValue:r?e.defaultValue:null,maxLength:e.maxLength,multiline:e.multiline,password:e.password,comb:e.comb};case"radio":return{...t,radiosInUnison:e.radiosInUnison,noToggleToOff:e.noToggleToOff};case"combobox":return{...t,edit:e.edit,defaultValue:r?e.defaultValue:null,options:n(e.options)};case"listbox":return{...t,multiSelect:e.multiSelect,defaultValue:r?e.defaultValue:null,options:n(e.options)};default:return t}}function ZR(e){let t={};for(let r of["keystroke","format","validate","calculate"]){let n=e.actions?.[r];if(!n){t[r]=null;continue}let i=VA(n);i&&(t[r]=i)}return t}function am(e,t){return Object.fromEntries(t.map(r=>[r,e[r]]))}function yn(e){return Yr(e)??{value:null}}function _w(e,t,r=t.widgets){return Ei(e,{field:t,meta:Ft(e.session.writeStamp(),[t.ref],t.widgets,r)})}function TD(e,t){let r=t.widgets;return e==="forms.setDisplay"?[]:e==="forms.setValue"||e==="forms.reset"?$l(t.kind,r):r}function Ei(e,t){return vD(e.runtime,e.session,t,e.fonts)}function MD(e,t){return{type:"forms.reset",...Ei(e,{fields:[...t],meta:Ft(e.session.writeStamp(),t.map(r=>r.ref),t.flatMap(r=>r.widgets),t.flatMap(r=>TD("forms.reset",r)))})}}function LD(e,t,r){if(t==="forms.reset")return MD(e,r);let n=r[0];return{type:t,..._w(e,n,TD(t,n))}}function JR(e,t,r){me(e.authority,"doc.metadata.modify");let n=new vi(e.runtime,e.session).read(e.signal);Cn(r,n,t.expect);let i=new dm(e.runtime,e.session).update(t.patch,e.signal);return{item:{type:"metadata.update",...i},reverse:[ND("metadata.update",Object.keys(t.patch),n,i.metadata)]}}function $R(e,t){me(e.authority,"doc.metadata.modify");let r=new vi(e.runtime,e.session).readCustom(e.signal),n=new dm(e.runtime,e.session).updateCustom(t.patch,e.signal);return{item:{type:"metadata.updateCustom",...n},reverse:[ND("metadata.updateCustom",Object.keys(t.patch),r,n.custom)]}}function eT(e,t){me(e.authority,"doc.metadata.modify");let r=new vi(e.runtime,e.session),n=t.op==="metadata.update"?r.read(e.signal):r.readCustom(e.signal),i=t.left,a=Object.keys(i),o=a.filter(m=>Ze(ya(n,m),i[m]));if(o.length===0)return Fe(e,t.op);let s=yP(t.restore,o),A=new dm(e.runtime,e.session),d=a.filter(m=>!o.includes(m)),p={kind:"metadata.revert",op:t.op,restore:yP(t.left,o),left:s};return t.op==="metadata.update"?{item:{type:"metadata.update",...A.update(s,e.signal),...d.length>0?{skipped:d}:{}},reverse:[p]}:{item:{type:"metadata.updateCustom",...A.updateCustom(s,e.signal),...d.length>0?{skipped:d}:{}},reverse:[p]}}function ND(e,t,r,n){let i=t.filter(a=>!Ze(ya(r,a),ya(n,a)));return{kind:"metadata.revert",op:e,restore:Object.fromEntries(i.map(a=>[a,ya(r,a)])),left:Object.fromEntries(i.map(a=>[a,ya(n,a)]))}}function ya(e,t){return e[t]??null}function yP(e,t){return Object.fromEntries(t.map(r=>[r,ya(e,r)]))}var tT=class{constructor(e,t){V(this,"childrenByParent",new Map),V(this,"parentByItem",new Map);let r=(n,i,a)=>{if(a>=Ui.depth)return;let o=[];this.childrenByParent.set(i,o);for(let s=e.FPDFBookmark_GetFirstChild(t,n);s;s=e.FPDFBookmark_GetNextSibling(t,s)){let A=e.EPDFOutline_GetObjectNumber(s);if(A){if(this.parentByItem.has(A))break;this.parentByItem.set(A,i),o.push(A),r(s,A,a+1)}}};r(W,0,0)}has(e){return this.parentByItem.has(e)}parentOf(e){return this.parentByItem.get(e)}childrenOf(e){return this.childrenByParent.get(e)??[]}subtreeOf(e){let t=[e];for(let r of this.childrenOf(e))t.push(...this.subtreeOf(r));return t}levelOf(e){let t=-1;for(let r=e;r;r=this.parentOf(r))t+=1;return this.has(e)?t:void 0}isAtOrUnder(e,t){for(let r=e;r;r=this.parentOf(r))if(r===t)return!0;return!1}items(){return this.childrenOf(0).flatMap(e=>this.subtreeOf(e))}},nT={maxModels:5e4,maxNodes:2e5,maxScriptCodeUnits:16e6,maxTargetEntries:65536,maxPayloadCodeUnits:16e6},rT=1,iT=2;function GP(){return new Di(nT)}function CP(e,t,r,n,i,a){let{fn:o,mem:s}=e,A=fe(s,(P,B)=>o.FPDFBookmark_GetTitle(r,P,B))??"",d=o.FPDFBookmark_GetFirstChild(t,r)!==W,p=o.FPDFBookmark_GetStyle(r),{action:m,target:F,complete:h}=aT(e,t,r,a);return{item:{ref:Dt(n),parent:i===0?null:Dt(i),title:A,target:F,action:m,open:d&&o.FPDFBookmark_GetCount(r)>0,color:oT(e,r),bold:(p&iT)!==0,italic:(p&rT)!==0},complete:h}}function aT(e,t,r,n){let{fn:i,mem:a}=e,o=i.FPDFBookmark_GetAction(r);if(o)try{let d=vr(i,a,t,i.EPDFAction_LoadModel(o),n);return{action:d,target:d?F3(d):{kind:"unsupported"},complete:d!==null&&!d.incomplete}}catch(d){if(!g.is(d))throw d;return{action:null,target:{kind:"unsupported"},complete:!1}}let s=i.FPDFBookmark_GetDest(t,r);if(!s)return{action:null,target:null,complete:!0};let A=ed(i,a,t,s);return{action:null,target:A?{kind:"goto",destination:A}:{kind:"unsupported"},complete:!0}}function oT(e,t){let{fn:r,mem:n}=e;return he(n,[4,4,4],([i,a,o])=>{if(!r.FPDFBookmark_GetColor(t,i,a,o))return null;let s=A=>Math.min(255,Math.max(0,Math.round(pe(n,A)*255)));return Li(s(i),s(a),s(o))})}var jD=class{constructor(e,t){this.runtime=e,this.session=t}read(e){let{fn:t}=this.runtime,r=this.session.requireDocPtr(),n=GP(),i=[],a=new Set,o=!1,s=(A,d,p)=>{for(let m=t.FPDFBookmark_GetFirstChild(r,A);m;m=t.FPDFBookmark_GetNextSibling(r,m)){O(e);let F=t.EPDFOutline_GetObjectNumber(m);if(!F){o=!0;continue}if(a.has(F)){o=!0;break}if(i.length>=Ui.items)return o=!0,!1;a.add(F);let h=CP(this.runtime,r,m,F,d,n);if(i.push(h.item),h.complete||(o=!0),t.FPDFBookmark_GetFirstChild(r,m)!==W){if(p+1>=Ui.depth){o=!0;continue}if(!s(m,F,p+1))return!1}}return!0};return s(W,0,0),{items:i,incomplete:o}}readItem(e,t){let r=this.session.requireDocPtr(),n=this.runtime.fn.EPDFOutline_GetItem(r,e);if(!n)throw new g(f.NotFound,`no outline item ${e}`,{details:{field:"ref"}});return CP(this.runtime,r,n,e,t,GP()).item}},sT=1,AT=2,IP=32767,cT=/^#[0-9a-fA-F]{6}$/;function SP(e){let t=(n,i)=>{throw new g(f.InvalidArg,i,{details:{field:n}})};e.title!==void 0&&(typeof e.title!="string"&&t("title","a title is a string"),e.title.length>IP&&t("title",`a title holds at most ${IP} characters`)),e.color!=null&&!cT.test(e.color)&&t("color","expected a color as '#rrggbb'");let r=e.target;r!=null&&(r.kind==="goto"||r.kind==="uri"||r.kind==="named"&&["NextPage","PrevPage","FirstPage","LastPage"].includes(r.name??"")||t("target",`a '${r.kind}' target can't be written`))}function Gl(e,t,r,n){let{fn:i,mem:a}=e,o=(s,A)=>{if(!s)throw new g(f.Unknown,`the ${A} of outline item ${r} could not be written`)};if(n.title!==void 0){let s=n.title;o(Zn(a,s,A=>i.EPDFOutline_SetTitle(t,r,A)),"title")}if(n.target!==void 0){let s=n.target===null?W:v3(i,a,t,n.target);o(i.EPDFOutline_SetAction(t,r,s),"target")}if(n.color!==void 0)if(n.color===null)o(i.EPDFOutline_SetColor(t,r,!1,0,0,0),"colour");else{let{r:s,g:A,b:d}=Tn(n.color);o(i.EPDFOutline_SetColor(t,r,!0,s/255,A/255,d/255),"colour")}if(n.bold!==void 0||n.italic!==void 0){let s=i.FPDFBookmark_GetStyle(i.EPDFOutline_GetItem(t,r));n.bold!==void 0&&(s=n.bold?s|AT:s&-3),n.italic!==void 0&&(s=n.italic?s|sT:s&-2),o(i.EPDFOutline_SetStyle(t,r,s),"style")}n.open!==void 0&&o(i.EPDFOutline_SetOpen(t,r,n.open),"open state")}var dT=class{constructor(e,t){this.runtime=e,this.session=t,V(this,"reader",void 0),this.reader=new jD(e,t)}tree(){return new tT(this.runtime.fn,this.session.requireDocPtr())}create(e,t,r,n){SP(r);let i=this.tree(),a=this.parentNumberOf(i,e),o=i.childrenOf(a),s=to(o.map(Dt),t,xP),A=s===0?0:o[s-1];n!==void 0&&this.session.claimObjectNumber(n);let{fn:d,mem:p}=this.runtime,m=this.session.requireDocPtr(),F=Zn(p,r.title,y=>d.EPDFOutline_CreateItem(m,n??0,a,A,y));if(!F)throw cs("create the item");let{title:h,...P}=r;Gl(this.runtime,m,F,P);let B=this.reader.readItem(F,a);return{item:B,order:this.orderOf(this.tree(),a),meta:this.meta([B.ref])}}update(e,t){SP(t);let r=this.tree(),n=this.requireItem(r,e,"ref");return Gl(this.runtime,this.session.requireDocPtr(),e.objectNumber,t),{item:this.reader.readItem(e.objectNumber,n),meta:this.meta([e])}}move(e,t,r){let n=this.tree(),i=e.map(m=>(this.requireItem(n,m,"refs"),m.objectNumber)),a=new Set(i);a.size!==i.length&&As("refs","an item is named twice");for(let m of i)i.some(F=>F!==m&&n.isAtOrUnder(m,F))&&As("refs",`item ${m} is under another item that moves`);let o=this.parentNumberOf(n,t);i.some(m=>n.isAtOrUnder(o,m))&&As("parent","an item would go under itself");let s=n.childrenOf(o).filter(m=>!a.has(m)),A=r==="start"||r==="end"?null:"before"in r?r.before:r.after;A&&a.has(A.objectNumber)&&As("position",`the neighbour ${A.objectNumber} is one of the items that move`);let d=to(s.map(Dt),r,xP),p=d===0?0:s[d-1];return this.place(i.map(m=>{let F={item:m,parent:o,after:p};return p=m,F}),n)}place(e,t=this.tree()){let{fn:r}=this.runtime,n=this.session.requireDocPtr(),i=new Set;for(let{item:o,parent:s,after:A}of e){i.add(t.parentOf(o)??0),i.add(s);let d=this.tree(),p=A&&d.parentOf(A)===s?A:0;if(!r.EPDFOutline_MoveItem(n,o,s,p))throw cs(`move item ${o}`)}let a=this.tree();return{orders:[...i].map(o=>this.orderOf(a,o)),meta:this.meta(e.map(({item:o})=>Dt(o)))}}placementsOf(e,t=this.tree()){let r=new Set(e);return t.items().filter(n=>r.has(n)).map(n=>{let i=t.parentOf(n),a=t.childrenOf(i),o=a.indexOf(n);return{item:n,parent:i,after:o>0?a[o-1]:0}})}delete(e){let t=this.tree();this.requireItem(t,e,"ref");let r=t.subtreeOf(e.objectNumber);if(!this.runtime.fn.EPDFOutline_DeleteItem(this.session.requireDocPtr(),e.objectNumber))throw cs(`delete item ${e.objectNumber}`);return{meta:this.meta(r.map(Dt))}}restored(e){let t=this.tree(),r=t.parentOf(e);if(r===void 0)throw cs(`restore item ${e}`);let n=this.subtree(e,t);return{items:n,order:this.orderOf(t,r),meta:this.meta(n.map(i=>i.ref))}}find(e,t=this.tree()){let r=t.parentOf(e.objectNumber);return r===void 0?null:this.reader.readItem(e.objectNumber,r)}subtree(e,t=this.tree()){return t.subtreeOf(e).map(r=>this.reader.readItem(r,t.parentOf(r)))}updated(e){let t=this.find(e);if(!t)throw cs(`read item ${e.objectNumber}`);return{item:t,meta:this.meta([e])}}countAgain(e){let t=this.find(e);t&&Gl(this.runtime,this.session.requireDocPtr(),e.objectNumber,{open:t.open})}parentNumberOf(e,t){return t===null?0:(this.requireItem(e,t,"parent"),(e.levelOf(t.objectNumber)??0)>=Ui.depth-1&&As("parent",`an item under ${t.objectNumber} would be deeper than reads go`),t.objectNumber)}requireItem(e,t,r){let n=e.parentOf(t.objectNumber);if(n===void 0)throw new g(f.NotFound,`no outline item ${t.objectNumber}`,{details:{field:r}});return n}orderOf(e,t){return{parent:t===0?null:Dt(t),children:e.childrenOf(t).map(Dt)}}meta(e){return{affectedPages:[],cacheDelta:null,...this.session.writeStamp(),changedRefs:e}}},xP=e=>String(e.objectNumber);function As(e,t){throw new g(f.InvalidArg,t,{details:{field:e}})}function cs(e){return new g(f.MalformedPdf,`could not ${e}: the outline holds an item that isn't an indirect object`)}var uT=["title","target","color","bold","italic","open"],pT=["A","Dest"],dn=e=>new dT(e.runtime,e.session),$n=e=>me(e.authority,"doc.outline.modify");function lT(e,t){$n(e);let r=dn(e).create(t.parent,t.position??"end",t.data,t.objectNumber);return{item:{type:"outline.create",...r},reverse:[{kind:"outline.remove",ref:r.item.ref,left:YD(e,[r.item.ref])}]}}function mT(e,t,r){$n(e);let n=XD(e,t.ref);return Cn(r,n,t.expect),KD(e,t.ref,t.patch,n)}function wT(e,t){$n(e);let r=dn(e),n=r.tree(),i=t.refs.map(d=>d.objectNumber),a=r.placementsOf(i,n),o=yw(e,n,i),s=r.move(t.refs,t.parent,t.position),A=t.parent?.objectNumber??0;return{item:{type:"outline.move",...s},reverse:[{kind:"outline.move",placements:a,left:i.map(d=>({item:d,parent:A}))},...o]}}function bT(e,t,r){return $n(e),Cn(r,XD(e,t.ref),t.expect),VD(e,t.ref)}function fT(e,t){let r=t.subject.outlineItem,n=dn(e),i=n.find(r);if(!i)return Fe(e,"outline.update");if($n(e),Na(e.runtime,e.session,t.objects)){let h=Rs(e.runtime,e.session,t.objects);n.countAgain(r);let P=Et(e.runtime,e.session,h);return{item:{type:"outline.update",...n.updated(r)},reverse:[{...t,objects:P,...DT(t.fallback)}]}}let a=t.fallback;if(a?.kind!=="outline")return Fe(e,"outline.update");let o=i,s=a.left,A=a.restore,d=Object.keys(s),p=d.filter(h=>Ze(o[h],s[h])&&kT(e,h,A[h]));if(p.length===0)return Fe(e,"outline.update");let m=KD(e,r,Object.fromEntries(p.map(h=>[h,A[h]])),i),F=d.filter(h=>!p.includes(h));return F.length===0||m.item.type!=="outline.update"?m:{...m,item:{...m.item,skipped:F}}}function gT(e,t){let r=dn(e).tree();return!r.has(t.ref.objectNumber)||($n(e),!Ze(r.subtreeOf(t.ref.objectNumber),t.left.map(n=>n.objectNumber))||!Na(e.runtime,e.session,t.left))?Fe(e,"outline.delete"):VD(e,t.ref)}function FT(e,t){let r=dn(e),n=r.tree();if(n.has(t.ref.objectNumber)||t.parent&&!n.has(t.parent.objectNumber))return Fe(e,"outline.restore");$n(e),VO(e.runtime,e.session.requireDocPtr(),t.capture);let i=r.restored(t.ref.objectNumber);return{item:{type:"outline.restore",...i},reverse:[{kind:"outline.remove",ref:t.ref,left:YD(e,i.items.map(a=>a.ref))}]}}function vT(e,t){let r=dn(e),n=r.tree(),i=new Map(t.left.map(({item:d,parent:p})=>[d,p])),a=t.placements.filter(({item:d,parent:p})=>n.parentOf(d)===i.get(d)&&(p===0||n.has(p))&&!n.isAtOrUnder(p,d));if(a.length===0)return Fe(e,"outline.move");$n(e);let o=a.map(({item:d})=>d),s=r.placementsOf(o,n),A=yw(e,n,o);return{item:{type:"outline.move",...r.place(a,n)},reverse:[{kind:"outline.move",placements:s,left:a.map(({item:d,parent:p})=>({item:d,parent:p}))},...A]}}function PT(e,t){let r=dn(e),n=r.tree(),i=r.find(t.ref,n),a=n.childrenOf(t.ref.objectNumber),o=a.length===t.children.length&&a.every(s=>t.children.includes(s));return!i||i.open||!o?Fe(e,"outline.update"):($n(e),{item:{type:"outline.update",...r.update(t.ref,{open:!0})},reverse:[]})}function KD(e,t,r,n){let i=cn(e.runtime,e.session,[{objectNumber:t.objectNumber,deep:pT}]),a=dn(e).update(t,r),o=Et(e.runtime,e.session,i);return{item:{type:"outline.update",...a},reverse:[{kind:"objects.revert",reports:"outline.update",objects:o,subject:{outlineItem:t},fallback:hT(n,a.item,r)}]}}function VD(e,t){let r=dn(e),n=r.tree(),i=n.parentOf(t.objectNumber),a=yw(e,n,[t.objectNumber]),o=KO(e.runtime,e.session.requireDocPtr(),t.objectNumber);return{item:{type:"outline.delete",...r.delete(t)},reverse:[{kind:"outline.restore",ref:t,parent:i===void 0||i===0?null:Dt(i),capture:o},...a]}}function yw(e,t,r){let n=new Set(r),i=new Set(r.map(a=>t.parentOf(a)??0));return i.delete(0),[...i].flatMap(a=>{let o=t.childrenOf(a);return o.every(s=>n.has(s))?dn(e).find(Dt(a),t)?.open?[{kind:"outline.reopen",ref:Dt(a),children:o}]:[]:[]})}function YD(e,t){return Et(e.runtime,e.session,t.map(r=>({objectNumber:r.objectNumber,deep:[],before:null})))}function XD(e,t){let r=dn(e).find(t);if(!r)throw new g(f.NotFound,`no outline item ${t.objectNumber}`,{details:{field:"ref"}});return r}function hT(e,t,r){let n=uT.filter(i=>r[i]!==void 0&&!Ze(e[i],t[i]));return{kind:"outline",restore:Object.fromEntries(n.map(i=>[i,e[i]])),left:Object.fromEntries(n.map(i=>[i,t[i]]))}}function kT(e,t,r){if(t!=="target"||r===null)return!0;let n=r;if(n.kind==="goto"){let i=n.destination?.page.objectNumber;return e.session.allRecords().some(a=>a.pageObjectNumber===i)}return n.kind==="uri"?!0:n.kind==="named"&&["NextPage","PrevPage","FirstPage","LastPage"].includes(n.name??"")}function DT(e){return e?.kind!=="outline"?e?{fallback:e}:{}:{fallback:{kind:"outline",restore:e.left,left:e.restore}}}var BT=["Annots","Contents","Resources"],ET=["Parent","Rotate"];function En(e,t){let r=e.session.pagePool();r.closeIdle();try{return t()}finally{r.closeIdle()}}var js=e=>new Nl(e.runtime,e.session),Gw=e=>new II(e.runtime,e.session),Sn=e=>me(e.authority,"doc.pages.assemble");function _T(e,t){Sn(e);let r=ZD(Ys(e)),n=js(e).rotate([...t.pages],t.rotation,e.signal),i=t.pages.map(a=>a.objectNumber);return{item:{type:"pages.rotate",pages:[...t.pages],rotation:t.rotation,...n},reverse:RT(i,r,t.rotation)}}function yT(e,t){let r=ZD(Ys(e)),n=t.pages.filter(o=>r.get(o)===t.left);if(n.length===0)return Fe(e,"pages.rotate");Sn(e);let i=n.map(ue),a=js(e).rotate(i,t.rotation,e.signal);return{item:{type:"pages.rotate",pages:i,rotation:t.rotation,...a},reverse:[{kind:"pages.rotate",pages:n,rotation:t.left,left:t.rotation}]}}function GT(e,t){Sn(e);let r=t.pages.map(d=>d.objectNumber),n=on(e),i=Ks(e),a=$c(n,r),o=js(e).reorder([...t.pages],t.position,e.signal),s=on(e),A=Vs(e,i,qD(i,n,s,r));return{item:{type:"pages.reorder",...o,...Sw(e,A)},reverse:[{kind:"pages.reorder",placements:a,left:$c(s,r),...A?{labels:A}:{}}]}}function CT(e,t){let r=on(e),n=new Map(t.left.map(({page:h,after:P})=>[h,P])),i=t.placements.filter(({page:h,after:P})=>{let B=r.indexOf(h);return B>=0&&(r[B-1]??0)===n.get(h)&&(P===0||r.includes(P))});if(i.length===0)return Fe(e,"pages.reorder");Sn(e);let a=i.map(({page:h})=>h),o=$c(r,a),s=Ks(e),A=js(e),d=null,p=s,m=r;for(let{page:h,after:P}of i){let B=P===0?"start":{after:ue(P)};({layout:d}=A.reorder([ue(h)],B,e.signal));let y=on(e);p=qD(p,m,y,[h]),m=y}let F=Vs(e,s,Iw(s,p,t.labels));return{item:{type:"pages.reorder",pages:a.map(ue),layout:F?Ys(e):d,meta:JD(e)},reverse:[{kind:"pages.reorder",placements:o,left:$c(on(e),a),...F?{labels:F}:{}}]}}function IT(e,t){return Sn(e),WD(e,_d(on(e),e.session.resolvePageRefs(t.pages)))}function ST(e,t){let r=on(e),n=t.pages.filter(({page:d})=>!r.includes(d));if(n.length===0)return Fe(e,"pages.restore");Sn(e);let i=Ks(e),a=e.session.requireDocPtr();for(let{capture:d}of n)XO(e.runtime,a,d);e.session.refreshPageRegistry(),e.session.invalidateDerived();let o=on(e),s=_d(o,n.map(({page:d})=>d)),A=Vs(e,i,Iw(i,s.reduce((d,p)=>po(d,o.indexOf(p),1),i),t.labels));return{item:{type:"pages.restore",pages:s.map(ue),layout:Ys(e),meta:JD(e)},reverse:[UD(e,s,A)]}}function xT(e,t){let r=on(e),n=t.pages.filter(({page:o,left:s})=>r.includes(o)&&zD(e,o)===s).map(({page:o})=>o);if(n.length===0||n.length>=r.length)return Fe(e,"pages.delete");Sn(e);let i=WR(e,t.fields??[],new Set(n)),a=WD(e,_d(r,n),t.labels);return{item:a.item,reverse:[...a.reverse,...i]}}function HT(e,t){return Sn(e),Cw(e,"pages.insertBlank",()=>Gw(e).insertBlank(t.spec,t.position??"end",e.signal,t.objectNumbers))}function OT(e,t){return Sn(e),Cw(e,"pages.insert",()=>Gw(e).insert(TT(t.source),t.position??"end",e.signal,t.objectNumbers))}function QT(e,t){return Sn(e),Cw(e,"pages.copy",()=>Gw(e).copy(t.pages,t.position??"end",e.signal,t.objectNumbers))}function Cw(e,t,r){let n=t!=="pages.insertBlank",i=Ks(e),a=n?_P(e):new Set,o=r();n&&e.session.invalidateDerived();let s=n?[..._P(e)].filter(p=>!a.has(p)):[],A=o.insertedPages.map(p=>p.objectNumber),d=Vs(e,i,po(i,on(e).indexOf(A[0]),A.length));return{item:{type:t,...o,...Sw(e,d)},reverse:[UD(e,A,d,s)]}}function WD(e,t,r){let n=e.session.requireDocPtr(),i=on(e),a=Ks(e),o=t.map(p=>({page:p,capture:YO(e.runtime,n,p)})),s=t.map(ue),A=js(e).delete(s,e.signal);e.session.invalidateDerived();let d=Vs(e,a,Iw(a,QA(a,i.length,t.map(p=>i.indexOf(p))),r));return{item:{type:"pages.delete",pages:s,...A,...Sw(e,d)},reverse:[{kind:"pages.restore",pages:o,...d?{labels:d}:{}}]}}function UD(e,t,r,n=[]){return{kind:"pages.remove",pages:t.map(i=>({page:i,left:zD(e,i)})),...r?{labels:r}:{},...n.length>0?{fields:n}:{}}}function Ks(e){return mh(e.runtime,e.session.requireDocPtr())}function Iw(e,t,r){return r&&lo(e,r.left)?r.sections:t}function Vs(e,t,r){if(!lo(t,r))return sI(e.runtime,e.session.requireDocPtr(),r),{sections:t,left:r}}function qD(e,t,r,n){return t.every((i,a)=>r[a]===i)?e:Nu(e,t.length,n.map(i=>t.indexOf(i)),r.indexOf(n[0]))}function Sw(e,t){return t?{layout:Ys(e)}:{}}function zD(e,t){let{fn:r,mem:n}=e.runtime,i=e.session.requireDocPtr(),a=lw(e.runtime,i,t,BT,ET),o=e.session.allRecords().find(p=>p.pageObjectNumber===t),s=o?wI(e.runtime,i,o.pageIndex):0,A=new TextEncoder().encode(` +turn ${s}`),d=new Uint8Array(a.byteLength+A.byteLength);return d.set(a),d.set(A,a.byteLength),Nm(r,n,d)}function RT(e,t,r){let n=new Map;for(let i of e){let a=t.get(i);n.set(a,[...n.get(a)??[],i])}return[...n].map(([i,a])=>({kind:"pages.rotate",pages:a,rotation:i,left:r}))}function $c(e,t){return _d(e,t).map(r=>({page:r,after:e[e.indexOf(r)-1]??0}))}function _d(e,t){return[...t].sort((r,n)=>e.indexOf(r)-e.indexOf(n))}function on(e){return e.session.allRecords().map(t=>t.pageObjectNumber)}function Ys(e){return new Vt(e.runtime,e.session).read(e.signal)}function ZD(e){return new Map(e.pages.map(t=>[t.ref.objectNumber,t.rotation]))}function JD(e){return{affectedPages:[],cacheDelta:null,...e.session.writeStamp()}}function TT(e){return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.slice().buffer}var $D=class{constructor(e,t){this.runtime=e,this.session=t}setScale(e,t,r){if(O(r),t!==null)try{Za(t)}catch(d){throw new g(f.InvalidArg,d.message)}let{fn:n,mem:i}=this.runtime,a=this.session.requireDocPtr(),o=this.session.recordByObjectNumber(e).pageIndex,s=[];for(let d=0;dn.EPDFViewport_GetName(p,F,h))!==no)continue;let m=n.EPDFViewport_GetMeasure(p);(!m||n.EPDFMeasure_GetSubtype(m)===1)&&s.push(d)}finally{n.EPDFViewport_Close(p)}}let A=Y(i,16,d=>Gs(n,i,a,o,d).crop);if(![A.left,A.right,A.bottom,A.top].every(Number.isFinite))throw new g(f.InvalidArg,"Invalid calibration box");if(O(r),t===null){for(let d of s.reverse())Le(n.EPDFPage_RemoveViewportRaw(a,o,d));return}Y(i,16,d=>{i.poke(d,"f32",A.left),i.poke(d,"f32",A.top,4),i.poke(d,"f32",A.right,8),i.poke(d,"f32",A.bottom,12);let p=s.length?n.EPDFPage_GetViewportRaw(a,o,s[s.length-1]):n.EPDFPage_AddViewportRaw(a,o,d);Le(p);try{Le(n.EPDFViewport_SetBBox(p,d)),Le(Yt(i,no,m=>n.EPDFViewport_SetName(p,m))),dh(n,i,n.EPDFViewport_AddMeasure(p),t)}finally{n.EPDFViewport_Close(p)}})}},eB=e=>me(e.authority,"doc.annotate.modify");function MT(e,t){eB(e);let r=t.pages.map(a=>a.objectNumber);if(new Set(r).size!==r.length)throw new g(f.InvalidArg,"pages.setScale names a page twice",{details:{field:"pages"}});let n=r.map(a=>{let o=rB(e,a),s=om(e,a);return tB(e,a,t.measure&&oo(t.measure,o)),{page:a,box:o,before:s,left:om(e,a)}}),i=new Map;for(let{page:a,box:o,before:s,left:A}of n){let d=JSON.stringify([s,A,o]),p=i.get(d)??{pages:[],measure:s,left:A};p.pages.push(a),i.set(d,p)}return{item:{type:"pages.setScale",pages:[...t.pages],measure:t.measure,...nB(e,t.pages[0])},reverse:[...i.values()].map(a=>({kind:"pages.setScale",...a}))}}function LT(e,t){let r=t.pages.filter(i=>NT(om(e,i),t.left));if(r.length===0)return Fe(e,"pages.setScale");eB(e);for(let i of r)tB(e,i,t.measure);let n=r.map(ue);return{item:{type:"pages.setScale",pages:n,measure:t.measure&&ao(t.measure,rB(e,r[0])),...nB(e,n[0])},reverse:[{kind:"pages.setScale",pages:r,measure:t.left,left:t.measure}]}}function tB(e,t,r){new $D(e.runtime,e.session).setScale(t,r,e.signal)}function nB(e,t){return{page:t,layout:new Vt(e.runtime,e.session).read(e.signal),meta:{affectedPages:[],cacheDelta:null,...e.session.writeStamp()}}}function om(e,t){let{fn:r,mem:n}=e.runtime,i=e.session.recordByObjectNumber(t).pageIndex,a=um(r,n,e.session.requireDocPtr(),i).filter(o=>o.owned).pop();return a?.measure?.subtype==="rectilinear"?a.measure:null}var NT=(e,t)=>JSON.stringify(e)===JSON.stringify(t);function rB(e,t){let{fn:r,mem:n}=e.runtime,i=e.session.recordByObjectNumber(t).pageIndex;return Y(n,16,a=>Gs(r,n,e.session.requireDocPtr(),i,a).crop)}var jT={opInFileSpace:e=>e,itemOut:e=>e},Cl=class{constructor(e,t,r,n=qt){this.runtime=e,this.session=t,this.fonts=r,this.limits=n}apply(e,t,r,n){let i=this.context(t,r,a=>LR(a,e));return HP(this.session,t,e.map((a,o)=>()=>KT(i,n.opInFileSpace(a),o)),n,r)}undo(e,t,r,n){let i=this.context(t,r,a=>NR(a,e.steps));return HP(this.session,t,e.steps.map(a=>()=>VT(i,a)),n,r)}context(e,t,r){let n,i={runtime:this.runtime,session:this.session,...this.fonts?{fonts:this.fonts}:{},authority:e,signal:t,limits:this.limits,fillsOwnField:()=>n??(n=r(i))};return i}};function HP(e,t,r,n,i){let a=[],o=[];for(let s of r){O(i),e.clearMissingCharacters();let A=s(),d=e.missingCharacters(),p=d.length===0?A.item:{...A.item,meta:{...A.item.meta,missingCharacters:d}};a.push(n.itemOut(p)),o.push(A.reverse)}return{items:a,record:{userId:t.identity.userId??null,steps:o.reverse().flat()}}}function KT(e,t,r){switch(t.type){case"annotations.create":return tQ(e,t);case"annotations.import":return nQ(e,t);case"annotations.update":return aQ(e,t,r);case"annotations.delete":return oQ(e,t,r);case"annotations.reorder":return AQ(e,t);case"annotations.copy":return rQ(e,t);case"forms.setValue":return fR(e,t,r);case"forms.setDisplay":return gR(e,t);case"forms.setAppearanceText":return FR(e,t);case"forms.reset":return vR(e,t);case"forms.create":return PR(e,t);case"forms.copy":return hR(e,t);case"forms.update":return kR(e,t,r);case"forms.delete":return DR(e,t,r);case"forms.addWidget":return BR(e,t);case"forms.removeWidget":return ER(e,t);case"forms.deleteWidget":return _R(e,t,r);case"forms.updateWidget":return CR(e,t,r);case"forms.reorderWidgets":return xR(e,t);case"forms.reorderCalculations":return IR(e,t);case"forms.setSignatureAppearance":return HR(e,t);case"forms.import":return OR(e,t);case"forms.importValues":return QR(e,t);case"metadata.update":return JR(e,t,r);case"metadata.updateCustom":return $R(e,t);case"outline.create":return lT(e,t);case"outline.update":return mT(e,t,r);case"outline.move":return wT(e,t);case"outline.delete":return bT(e,t,r);case"pages.rotate":return En(e,()=>_T(e,t));case"pages.setScale":return MT(e,t);case"pages.reorder":return En(e,()=>GT(e,t));case"pages.delete":return En(e,()=>IT(e,t));case"pages.insertBlank":return En(e,()=>HT(e,t));case"pages.insert":return En(e,()=>OT(e,t));case"pages.copy":return En(e,()=>QT(e,t));case"attachments.create":return FQ(e,t);case"attachments.delete":return vQ(e,t)}}function VT(e,t){switch(t.kind){case"objects.revert":return"annotation"in t.subject?cQ(e,{...t,subject:t.subject}):"outlineItem"in t.subject?fT(e,{...t,subject:t.subject}):jR(e,{...t,subject:t.subject});case"annotation.remove":return dQ(e,t);case"annotation.restore":return uQ(e,t);case"annotation.reorder":return pQ(e,t);case"field.remove":return YR(e,t);case"field.restore":return XR(e,t);case"widget.restore":return yR(e,t);case"widget.delete":return GR(e,t);case"calculations.restore":return SR(e,t);case"metadata.revert":return eT(e,t);case"outline.remove":return gT(e,t);case"outline.restore":return FT(e,t);case"outline.move":return vT(e,t);case"outline.reopen":return PT(e,t);case"pages.rotate":return En(e,()=>yT(e,t));case"pages.setScale":return LT(e,t);case"pages.reorder":return En(e,()=>CT(e,t));case"pages.restore":return En(e,()=>ST(e,t));case"pages.remove":return En(e,()=>xT(e,t));case"attachments.remove":return PQ(e,t);case"attachments.restore":return hQ(e,t)}}function YT(e){let t=0,r=n=>{for(let i of n)t+=(i.before?.byteLength??0)+i.after.byteLength};for(let n of e.steps)switch(n.kind){case"objects.revert":r(n.objects);break;case"annotation.restore":t+=n.capture.byteLength,r(n.unlinked);break;case"field.restore":case"outline.restore":t+=n.capture.byteLength;break;case"outline.remove":r(n.left);break;case"pages.restore":for(let{capture:i}of n.pages)t+=i.byteLength;break;case"attachments.remove":t+=n.left.byteLength;break;case"attachments.restore":t+=n.capture.byteLength;break;default:break}return t}var XT=64*1024*1024,WT=4096,UT=class{constructor(){V(this,"entries",new Map),V(this,"bytes",0)}outcome(e){return this.entries.get(e)?.outcome}record(e){let t=this.entries.get(e);if(t)return t.unavailable?{unavailable:t.unavailable}:{record:t.record}}keepApplied(e,t,r,n){let i=n?YT(n):0;this.add(e,{outcome:{kind:"applied",fingerprint:t,result:r},record:n,bytes:i}),this.bytes+=i,this.trimCaptures()}keepRefused(e,t,r){this.add(e,{outcome:{kind:"refused",fingerprint:t,error:r},record:null,bytes:0})}endUndo(){for(let e of this.entries.values())e.outcome.kind==="applied"&&!e.unavailable&&this.drop(e,"final-change")}add(e,t){this.entries.set(e,t);for(let[r,n]of this.entries){if(this.entries.size<=WT)break;this.drop(n,"expired"),this.entries.delete(r)}}trimCaptures(){for(let e of this.entries.values()){if(this.bytes<=XT)break;e.bytes>0&&this.drop(e,"expired")}}drop(e,t){this.bytes-=e.bytes,e.record=null,e.bytes=0,e.unavailable=t}},OP=new WeakMap;function ds(e){let t=OP.get(e);return t||(t=new UT,OP.set(e,t)),t}function Il(e){let t=e.openedAs!=="none";return{encryptionState:t?"encrypted":"none",encryptionRequiresPassword:!1,securityHandlerRevision:t?e.securityHandlerRevision:null,pdfPermissionsBits:e.permissionsBits,pdfPermissionsAllAllowed:t2(e.permissionsBits),pdfOpenedAs:e.openedAs,securityProbedAt:e.probedAt}}function qT(e){return e===3?"owner":e===2?"user":"none"}var Sl=class{constructor(e){this.runtime=e,ZP(this.runtime)}probeFile(e,t=null){let r=Date.now(),n=null,i=null;try{if(n=this.runtime.fileAccess.fromNodeFile(e),i=this.runtime.fn.FPDF_LoadCustomDocument(n.ptr,t??""),!i){let s=this.runtime.fn.FPDF_GetLastError();return s===4?{encryptionState:"encrypted",encryptionRequiresPassword:!0,securityHandlerRevision:null,pdfPermissionsBits:null,pdfPermissionsAllAllowed:null,pdfOpenedAs:null,securityProbedAt:r}:s===5?{encryptionState:"unsupported",encryptionRequiresPassword:null,securityHandlerRevision:null,pdfPermissionsBits:null,pdfPermissionsAllAllowed:null,pdfOpenedAs:null,securityProbedAt:r}:zT(r)}let a=this.runtime.fn.EPDF_IsEncrypted(i),o=wl(this.runtime.fn.FPDF_GetDocPermissions(i));return Il({openedAs:a?this.runtime.fn.EPDF_IsOwnerUnlocked(i)?"owner":"user":"none",permissionsBits:o,securityHandlerRevision:a?this.runtime.fn.FPDF_GetSecurityHandlerRevision(i):null,probedAt:r})}finally{i&&this.runtime.fn.FPDF_CloseDocument(i),n?.close()}}readLiveSecurityInfo(e){let{fn:t}=this.runtime,r=e.requireDocPtr(),n=t.EPDF_IsEncrypted(r),i=wl(t.FPDF_GetDocUserPermissions(r));return Il({openedAs:n?t.EPDF_IsOwnerUnlocked(r)?"owner":"user":"none",permissionsBits:i,securityHandlerRevision:n?t.FPDF_GetSecurityHandlerRevision(r):null,probedAt:Date.now()})}checkPasswordPermissions(e,t,r="any"){let n=e.requireDocPtr(),{mem:i,fn:a}=this.runtime,o=i.alloc(4),s=i.alloc(4),A=i.alloc(4),d=i.alloc(4);try{if(i.poke(o,"i32",0),i.poke(s,"i32",0),i.poke(A,"i32",0),i.poke(d,"i32",0),!a.EPDF_CheckPasswordPermissions(n,t,o,s,A,d))throw new g(f.DocPasswordIncorrect,"incorrect document password");let p=qT(Number(i.peek(o,"i32")));if(r==="owner"&&p!=="owner")throw new g(f.DocPasswordIncorrect,"owner password required");return Il({openedAs:p,permissionsBits:wl(Number(i.peek(A,"i32"))),securityHandlerRevision:Number(i.peek(d,"i32")),probedAt:Date.now()})}finally{i.free(d),i.free(A),i.free(s),i.free(o)}}};function zT(e){return{encryptionState:"unknown",encryptionRequiresPassword:null,securityHandlerRevision:null,pdfPermissionsBits:null,pdfPermissionsAllAllowed:null,pdfOpenedAs:null,securityProbedAt:e}}var ZT=1,JT=2;function _c(e){return e==="incremental"?ZT:JT}function Ba(e){return e===1?new g(f.DocOpenFailed,"layer artifact cannot be saved because append-only offsets exceed the supported range"):new g(f.DocOpenFailed,"failed to save layer artifact")}function QP(e,t,r){let n=e.readBytes(t,r);return n.buffer instanceof ArrayBuffer&&n.byteOffset===0&&n.byteLength===n.buffer.byteLength?n.buffer:new Uint8Array(n).buffer}var $T=1,RP=2,Wn=class{constructor(e,t){this.runtime=e,this.session=t}snapshot(){if(!this.session.hasUnsavedEdits())return{bytes:this.loadedBytes(),source:"loaded"};let e=this.saveStandaloneToBufferEx("incremental");return e.unchangedSinceLoad?{bytes:this.loadedBytes(),source:"loaded"}:{bytes:e.bytes,source:"working-copy"}}loadedBytes(){return new At(this.runtime,this.session).loadedBytes()}copyLoadedBytesToFile(e){let t=new At(this.runtime,this.session),r=Number(this.runtime.fn.EPDFDoc_GetLoadedBytesSize(this.session.requireDocPtr())),n=4*1024*1024;this.runtime.fileWrite.removeFile(e);for(let i=0;i{for(let p=0;p<4;p++)Se(o,s,0,p*8);if(Se(o,A,0),Se(o,d,0),!a.EPDFSig_SealSpan(t,BigInt(r),BigInt(n),BigInt(i),s,A,d))throw new g(f.Unknown,"failed to seal the signing candidate");return{byteRange:[He(o,s,0),He(o,s,8),He(o,s,16),He(o,s,24)],contentsOffset:He(o,A),contentsHexLength:He(o,d)}})}function xw(e,t,r,n,i,a){let{fn:o,mem:s}=e,A=s.alloc(a.byteLength);try{if(s.writeBytes(A,a),!o.EPDFSig_WriteContents(t,BigInt(r),BigInt(i.contentsOffset-n),BigInt(i.contentsHexLength),A,a.byteLength))throw new g(f.SignatureRefused,"the CMS is not one DER object that fits the reserved /Contents")}finally{s.free(A)}}function t6(e,t,r,n){let{mem:i}=e,a=e.fileAccess.readRange(t,r.holeOffset,r.hexLength+2);if(a.byteLength!==r.hexLength+2||a[0]!==60||a[a.byteLength-1]!==62)throw new g(f.InvalidArg,"the byteRange gap is not a <\u2026> /Contents hole of the candidate");let o=i.alloc(a.byteLength);try{i.writeBytes(o,a),xw(e,o,a.byteLength,r.holeOffset,{byteRange:[0,0,0,0],contentsOffset:r.holeOffset+1,contentsHexLength:r.hexLength,digest:new Uint8Array},n),e.fileWrite.writeRange(t,r.holeOffset,i.readBytes(o,a.byteLength))}finally{i.free(o)}}var n6=class{constructor(e,t){this.runtime=e,this.baseDocuments=t}save(e,t){let{mem:r,fn:n}=this.runtime;return he(r,[8,8,8],([i,a,o])=>{Se(r,i,0),Se(r,a,0),Se(r,o,0);let s=n.EPDFSig_SaveCandidateToOwnedBuffer(e,t,i,a,o);if(!s)throw new g(f.Unknown,"failed to save the signing candidate");try{let A=He(r,i);return{kind:"memory",bytes:ps(r.readBytes(s,A)),size:A,objectOffset:He(r,a),objectLength:He(r,o)}}finally{n.EPDF_FreeBuffer(s)}})}seal(e,t){if(e.kind!=="memory")throw new g(f.InvalidArg,"not a memory candidate");let{mem:r,fn:n}=this.runtime,i=r.alloc(e.bytes.byteLength);try{return r.writeBytes(i,e.bytes),he(r,[32,8,8,64,8],([a,o,s,A,d])=>{for(let m=0;m<4;m++)Se(r,a,0,m*8);if(Se(r,o,0),Se(r,s,0),Se(r,d,64),!n.EPDFSig_Seal(i,BigInt(e.bytes.byteLength),BigInt(e.objectOffset),BigInt(e.objectLength),ys[t],a,o,s,A,d))throw new g(f.Unknown,"failed to seal the signing candidate");e.bytes=ps(r.readBytes(i,e.bytes.byteLength));let p=Number(r.peek(d,"i32"));return{byteRange:[He(r,a,0),He(r,a,8),He(r,a,16),He(r,a,24)],contentsOffset:He(r,o),contentsHexLength:He(r,s),digest:ps(r.readBytes(A,p))}})}finally{r.free(i)}}writeContents(e,t,r){if(e.kind!=="memory")throw new g(f.InvalidArg,"not a memory candidate");let{mem:n}=this.runtime,i=n.alloc(e.bytes.byteLength);try{n.writeBytes(i,e.bytes),xw(this.runtime,i,e.bytes.byteLength,0,t,r),e.bytes=ps(n.readBytes(i,e.bytes.byteLength))}finally{n.free(i)}}openSealed(e,t){if(e.kind!=="memory")throw new g(f.InvalidArg,"not a memory candidate");let r=this.baseDocuments.acquireMemoryBase({key:`signed:${Wr()}`,bytes:e.bytes,password:t});return _n(this.runtime,r,{kind:"fresh"},t)}discard(){}},r6=class{constructor(e,t,r,n=i6){this.runtime=e,this.baseDocuments=t,this.basePath=r,this.candidatePath=n}save(e,t,r){let{mem:n,fn:i}=this.runtime,a=this.candidatePath(this.basePath,r);this.runtime.fileWrite.removeFile(a);let o=this.runtime.fileWrite.toNodeFile(a);try{return he(n,[8,8,8],([s,A,d])=>{if(Se(n,s,0),Se(n,A,0),Se(n,d,0),!i.EPDFSig_SaveCandidate(e,t,o.ptr,s,A,d))throw new g(f.Unknown,"failed to save the signing candidate");return{kind:"file",path:a,size:He(n,s),objectOffset:He(n,A),objectLength:He(n,d)}})}catch(s){throw o.close(),this.runtime.fileWrite.removeFile(a),s}finally{o.close()}}seal(e,t){if(e.kind!=="file")throw new g(f.InvalidArg,"not a file candidate");let{mem:r,fn:n}=this.runtime,i=this.runtime.fileAccess.readRange(e.path,e.objectOffset,e.objectLength);if(i.byteLength!==e.objectLength)throw new g(f.Unknown,"the signing candidate file is shorter than its object span");let a=r.alloc(i.byteLength),o;try{r.writeBytes(a,i),o=e6(this.runtime,a,i.byteLength,e.objectOffset,e.size),this.runtime.fileWrite.writeRange(e.path,e.objectOffset,r.readBytes(a,i.byteLength))}finally{r.free(a)}let s=this.runtime.fileAccess.fromNodeFile(e.path);try{let A=he(r,[32,64,8],([d,p,m])=>{for(let F=0;F<4;F++)Se(r,d,o.byteRange[F],F*8);if(Se(r,m,64),!n.EPDFSig_DigestFileRange(s.ptr,d,ys[t],p,m))throw new g(f.Unknown,"failed to digest the signing candidate file");return ps(r.readBytes(p,Number(r.peek(m,"i32"))))});return{...o,digest:A}}finally{s.close()}}writeContents(e,t,r){if(e.kind!=="file")throw new g(f.InvalidArg,"not a file candidate");let{mem:n}=this.runtime,i=this.runtime.fileAccess.readRange(e.path,e.objectOffset,e.objectLength),a=n.alloc(i.byteLength);try{n.writeBytes(a,i),xw(this.runtime,a,i.byteLength,e.objectOffset,t,r),this.runtime.fileWrite.writeRange(e.path,e.objectOffset,n.readBytes(a,i.byteLength))}finally{n.free(a)}}openSealed(e,t){if(e.kind!=="file")throw new g(f.InvalidArg,"not a file candidate");let r=this.baseDocuments.acquireFileBase({key:`signed:${e.path}`,path:e.path,password:t});return _n(this.runtime,r,{kind:"fresh"},t)}discard(e){e.kind==="file"&&this.runtime.fileWrite.removeFile(e.path)}};function i6(e,t){return`${e}.signing-${t}.pdf`}function sm(e,t,r,n){return`${e}.${t}-${r}.${n}`}function iB(e,t,r,n){let i=A=>new g(f.SignatureRefused,`the sealed bytes ${A}`),a=ki(e,r),o=a.find(A=>A.field.kind==="objectNumber"&&A.field.objectNumber===n.fieldObjectNumber);if(!o)throw i("lost the signature field");if(!o.signed||o.coverage!=="whole-revision"||!o.byteRange)throw i("do not carry a whole-revision signature on the field");if(!a6(o.byteRange,n.byteRange))throw i(`carry /ByteRange [${o.byteRange.join(" ")}] where [${n.byteRange.join(" ")}] was sealed`);if(!e.fn.EPDFSig_IsRevisionChainValid(r))throw i("have a broken cross-reference chain");let s=zc(e,t,a);if(o.revisionIndex!==s.length-1)throw i("seal an earlier revision than the candidate");if(!kd(kD(e,r,o.index),n.cms))throw i("carry /Contents that are not the CMS installed");return o}function a6(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]}function TP(e,t,r){let n=Ee(e,t),i=e.fn.EPDFForm_GetFieldIndexByObjNum(n,r);return i<0?null:Qm(e,n,i)}function o6(e,t,r){let{fn:n,mem:i}=e,a=Ee(e,t),o=[],s=n.EPDFForm_CountFields(a);for(let A=0;An.EPDFForm_GetFieldName(a,A,p,m));d&&o.push(d)}return o}var MP={"adbe.pkcs7.detached":0,"ETSI.CAdES.detached":1,"ETSI.RFC3161":2},s6={all:1,include:2,exclude:3},A6=8192,LP=256,NP=4*1024*1024,c6={bytes:52,ptrBytes:4,subfilter:0,digest:4,contentsSize:8,name:12,reason:16,location:20,contactInfo:24,signingTime:28,docmdpPermission:32,fieldmdpAction:36,fieldmdpFields:40,fieldmdpFieldCount:44,lockPermission:48},d6={bytes:80,ptrBytes:8,subfilter:0,digest:4,contentsSize:8,name:16,reason:24,location:32,contactInfo:40,signingTime:48,docmdpPermission:56,fieldmdpAction:60,fieldmdpFields:64,fieldmdpFieldCount:72,lockPermission:76},xl=class{constructor(e,t,r,n){this.runtime=e,this.session=t,this.baseDocuments=r,this.candidatePath=n}prepare(e,t){if(this.session.pendingSigning)throw new g(f.SigningPending,`a signing is pending (${this.session.pendingSigning.prepared.signingId}); complete or cancel it first`);let r=new At(this.runtime,this.session),n=r.resolveField(e.field),i=TP(this.runtime,this.session,n.fieldObjectNumber);Nn(t,i,"sign");let a=e.lock??(i!==null?{action:"include",fields:o6(this.runtime,this.session,i)}:void 0);if(n.signed)throw new g(f.SignatureRefused,"the signature field is already signed");if(e.appearance&&!n.widget)throw new g(f.SignatureRefused,"the signature field has no widget to carry an appearance");let o=e.digest??"sha256";if(!(o in ys)||o==="sha1")throw new g(f.SignatureRefused,`unsupported digest '${o}'`);let s=(e.kind??"signature")==="timestamp"?"ETSI.RFC3161":e.subFilter??"ETSI.CAdES.detached";if(!(s in MP))throw new g(f.SignatureRefused,`unsupported subFilter '${s}'`);let A=e.contentsSizeBytes??A6;if(!Number.isInteger(A)||ANP)throw new g(f.SignatureRefused,`contentsSize must be an integer in [${LP}, ${NP}]`);let d=this.session.versionRef(r.version().sha256),p=Wr(),m=new rn;try{let F=this.openCandidate(p,m);m.push(()=>F.close());let h=e.signer,P=this.callPrepare(F.docPtr,n.fieldObjectNumber,{subfilter:MP[s],digest:ys[o],contentsSize:A,name:h?.name??null,reason:h?.reason??null,location:h?.location??null,contactInfo:h?.contactInfo??null,signingTime:h?.signedAt!==void 0?gt(h.signedAt):null,docmdpPermission:e.certify?.permission??0,fieldmdpAction:a?s6[a.action]:0,fieldmdpFields:a?.action==="all"?[]:a?.fields??[],lockPermission:a?.permission??0});if(P===0)throw new g(f.SignatureRefused,"the engine refused to author the signature (the field is signed, read-only or locked, a certification is not allowed here, the seed value requires what is not implemented, or the request is inconsistent)");e.appearance&&n.widget&&DD(this.runtime,F.docPtr,n.widget,e.appearance.pdf,{recordFit:!1});let B=this.storeFor(),y=B.save(F.docPtr,P,p),x;try{x=B.seal(y,o)}catch(S){throw B.discard(y),S}let I={signingId:p,digest:x.digest,algorithm:o,byteRange:x.byteRange,contentsSizeBytes:A,subFilter:s,expectedVersion:d,expiresAt:null};return this.session.pendingSigning={prepared:I,fieldObjectNumber:n.fieldObjectNumber,saved:y,contentsOffset:x.contentsOffset,contentsHexLength:x.contentsHexLength},I}finally{m.close()}}complete(e,t,r){let n=this.session.pendingSigning;if(!n||n.prepared.signingId!==e.signingId){let m=this.session.lastCompletion;if(m&&m.signingId===e.signingId){if(!kd(m.cms,e.cms))throw new g(f.SignatureRefused,"this signing already completed with a different CMS");return{...m.result,status:"already-completed"}}throw new g(f.NotFound,`no pending signing '${e.signingId}'`)}if(Nn(r,TP(this.runtime,this.session,n.fieldObjectNumber),"sign"),!u6(n.prepared.expectedVersion,e.expectedVersion))throw new g(f.SigningVersionMismatch,"expectedVersion is not the version the candidate was prepared on");if(e.cms.byteLength===0||e.cms[0]!==48)throw new g(f.SignatureRefused,"the CMS is not a DER SEQUENCE");if(e.cms.byteLength>n.prepared.contentsSizeBytes)throw new g(f.SignatureRefused,`the CMS (${e.cms.byteLength} bytes) does not fit the reserved ${n.prepared.contentsSizeBytes} bytes`);let i=this.storeFor(),a={byteRange:n.prepared.byteRange,contentsOffset:n.contentsOffset,contentsHexLength:n.contentsHexLength,digest:n.prepared.digest};i.writeContents(n.saved,a,e.cms);let o=i.openSealed(n.saved,this.session.password);this.verifySealed(o,{fieldObjectNumber:n.fieldObjectNumber,byteRange:n.prepared.byteRange,cms:e.cms}),this.session.install(o),Qc(this.runtime,this.session),Mc(this.runtime,this.session);let s=new At(this.runtime,this.session),A=s.readSnapshot(),d=A.signatures.find(m=>m.field.kind==="objectNumber"&&m.field.objectNumber===n.fieldObjectNumber);if(!d)throw new g(f.Unknown,"the installed document lost the signature field");let p={status:"completed",signature:d,version:s.version(),previous:n.prepared.expectedVersion,protection:A.protection,meta:{affectedPages:this.session.allRecords().map(m=>ue(m.pageObjectNumber)),cacheDelta:null,opId:t,undoable:!1}};return this.session.lastCompletion={signingId:e.signingId,cms:e.cms.slice(),result:p},p}cancel(e){let t=this.session.pendingSigning;return t&&t.prepared.signingId===e?(this.session.pendingSigning=null,this.storeFor().discard(t.saved),{status:"cancelled"}):this.session.lastCompletion?.signingId===e?{status:"already-completed"}:{status:"unknown"}}callPrepare(e,t,r){let{mem:n,fn:i}=this.runtime,a=this.runtime.kind==="wasm"?c6:d6,o=[],s=d=>{if(d===null)return W;let p=n.writeU16String(d);return o.push(p),p},A=d=>{if(d===null)return W;let p=n.writeU8String(d);return o.push(p),p};try{return Ia(this.runtime,r.fieldmdpFields,(d,p)=>Y(n,a.bytes,m=>{for(let h=0;h{a.ptrBytes===4?n.poke(m,"i32",Number(P),h):n.poke(m,"i64",P,h)};return n.poke(m,"i32",r.subfilter,a.subfilter),n.poke(m,"i32",r.digest,a.digest),n.poke(m,"i32",r.contentsSize,a.contentsSize),F(a.name,s(r.name)),F(a.reason,s(r.reason)),F(a.location,s(r.location)),F(a.contactInfo,s(r.contactInfo)),F(a.signingTime,A(r.signingTime)),n.poke(m,"i32",r.docmdpPermission,a.docmdpPermission),n.poke(m,"i32",r.fieldmdpAction,a.fieldmdpAction),F(a.fieldmdpFields,p>0?d:W),n.poke(m,"i32",p,a.fieldmdpFieldCount),n.poke(m,"i32",r.lockPermission,a.lockPermission),i.EPDFSig_Prepare(e,t,m)}))}finally{for(let d=o.length-1;d>=0;d--)n.free(o[d])}}storeFor(){let e=this.session.source.base;return e?.kind==="file"?new r6(this.runtime,this.baseDocuments,e.path,this.candidatePath):new n6(this.runtime,this.baseDocuments)}verifySealed(e,t){let{fn:r}=this.runtime;try{let n=r.EPDFSig_LoadModel(e.docPtr);if(!n)throw new g(f.Unknown,"the sealed bytes have no signature model");try{iB(this.runtime,e.docPtr,n,t)}finally{r.EPDFSig_CloseModel(n)}this.session.kind!=="layer"&&(this.session.persistLayerArtifact=!1)}catch(n){throw e.close(),n}}openCandidate(e,t){let r=this.session.password,n=this.session.source,i=new Wn(this.runtime,this.session),a=i.canWriteScratchFiles()&&n.base?.kind==="file"?n.base.path:null;if(this.session.kind==="layer"&&n.base&&!this.loadedDeltaHoldsSignedBytes()){let A=this.baseDocuments.retainByKey(n.base.key);if(A){let d=n.layer??{kind:"fresh"};if(this.session.hasUnsavedEdits())if(a){let p=sm(a,"signing",e,"layer");t.push(()=>this.runtime.fileWrite.removeFile(p)),i.saveLayerArtifactToFileEx(p).changedSinceLoad&&(d={kind:"artifact-file",path:p})}else{let p=i.saveLayerArtifactEx();p.changedSinceLoad&&(d={kind:"artifact",bytes:p.bytes})}return _n(this.runtime,A,d,r)}}if(a){let A=sm(a,"signing",e,"base.pdf");t.push(()=>this.runtime.fileWrite.removeFile(A)),i.snapshotToFile(A);let d=this.baseDocuments.acquireFileBase({key:`candidate:${e}`,path:A,password:r});return _n(this.runtime,d,{kind:"fresh"},r)}let o=i.snapshot().bytes,s=this.baseDocuments.acquireMemoryBase({key:`candidate:${e}`,bytes:new Uint8Array(o),password:r});return _n(this.runtime,s,{kind:"fresh"},r)}loadedDeltaHoldsSignedBytes(){let e=this.session.source.layer;if(!e||e.kind==="fresh")return!1;let t=Number(this.runtime.fn.EPDFDoc_GetBaseBytesSize(this.session.requireDocPtr()));return new At(this.runtime,this.session).readSnapshot().signatures.some(r=>r.signed&&r.byteRange!==null&&r.byteRange[2]+r.byteRange[3]>t)}};function u6(e,t){return e.baseSha256===t.baseSha256&&e.editsVersion===t.editsVersion}var p6={0:"added",1:"modified",2:"freed"},l6={0:"dictionary",1:"stream",2:"array",3:"scalar",4:"xref",5:"objstm",6:"trailer"},yc=0,Gc=1,jP={0:"ok",1:"failed",2:"absent"};function KP(e,t){let r=new Set([0,e.root,e.pagesRoot,...e.pages,...t]);e.acroForm&&r.add(e.acroForm);for(let n of e.fields){r.add(n.objectNumber);for(let i of n.widgets)r.add(i)}return r}var VP=class{constructor(e,t){this.runtime=e,this.session=t}readWorkingCopySnapshot(){let e=new rn;try{let t=this.openWorkingCopy(e);if(t.source==="loaded")return new At(this.runtime,this.session).readSnapshot();let r=t.target;return Zc(this.runtime,r,n=>{let i=this.runtime.fn.EPDFSig_IsRevisionChainValid(n),a=ki(this.runtime,n);return{chainValid:i,revisions:i?zc(this.runtime,r,a):[],signatures:a,protection:zt(a)}})}finally{e.close()}}analyze(e){let t=new At(this.runtime,this.session),r=t.readSnapshot(),n=t.version(),i=e.exploratoryLevel?"exploratory":"authoritative",a=e.detail??"summary",o="persisted",s=this.session.editsSeq(),A,d=null;if("signatureIndex"in e.since){let m=r.signatures[e.since.signatureIndex];if(!m)throw new g(f.NotFound,`no signature ${e.since.signatureIndex}`);if(!m.signed||m.revisionIndex===null)throw new g(f.InvalidArg,`signature ${e.since.signatureIndex} seals no whole revision; nothing to analyze from`);A=m.revisionIndex,d=m.index}else A=e.since.revisionIndex;if(!r.chainValid){let m={verdict:"indeterminate",complete:!1,findings:[{rule:"revision-chain",verdict:"incomplete",objectNumber:0,detail:"the cross-reference chain is broken or was rebuilt: no revision can be told from another"}],method:"net-state"};return{mode:i,policyVersion:ZA,basis:{version:n,editsVersion:s,source:"persisted"},since:{revisionIndex:A,signatureIndex:d},until:{revisionIndex:A},restrictions:[],current:{...m,primary:m.findings[0]},later:{revisionCount:0,undoneObjectNumbers:[]},verdict:"indeterminate",steps:[]}}if(!Number.isInteger(A)||A<0||A>=r.revisions.length)throw new g(f.InvalidArg,`no revision ${A}`);let p=new rn;try{let m=this.session.requireDocPtr(),F=r.revisions,h=e.until==="working-copy"?this.openWorkingCopy(p):null;if(h&&h.source==="working-copy"){o="working-copy",m=h.target;let se=Zc(this.runtime,m,ut=>ki(this.runtime,ut));if(F=zc(this.runtime,m,se),F.length===0)throw new g(f.MalformedPdf,"the working copy has no valid revision chain")}let P=F.length-1;if(typeof e.until=="object"&&(P=e.until.revisionIndex,!Number.isInteger(P)||P=F.length))throw new g(f.InvalidArg,`no revision ${P} at or after ${A}`);let B=new rn,y,x,I=[],S;try{let se=this.openPrefix(m,F,A,B),ut=P===F.length-1?m:this.openPrefix(m,F,P,B);y=_l(this.runtime,se),x=P===A?y:_l(this.runtime,ut),P>A&&({changes:I,health:S}=this.compare(se,ut,y,x))}finally{B.close()}let G=d===null?null:y.signatures[d]??null,Q=Bp(y,G),K=e.exploratoryLevel,ve=ac({older:A,newer:P,changes:I,before:y,after:x,health:S,restrictions:{level:Q.level,locks:Q.locks},levelOverride:K}),ge=Q.anchors.some(se=>se.source==="docmdp"&&se.own),R=P-A,q;R<=1?q=R===1?[ve]:[]:ge||a==="full"?q=this.walkSteps(m,F,A,P,y,{level:Q.level,locks:Q.locks,levelOverride:K}):q=[];let oe=ge?{...Pp(ve,q),method:"net-state+replay"}:{...vp(ve),method:"net-state"};return{mode:i,policyVersion:ZA,basis:{version:n,editsVersion:s,source:o},since:{revisionIndex:A,signatureIndex:d},until:{revisionIndex:P},restrictions:Q.anchors,current:oe,later:{revisionCount:R,undoneObjectNumbers:I.filter(oc).map(se=>se.objectNumber)},verdict:oe.verdict,steps:q}}finally{p.close()}}openPrefix(e,t,r,n){let i=this.runtime.fn.EPDFDoc_OpenRevision(e,BigInt(t[r].end));if(i===W)throw new g(f.MalformedPdf,`revision ${r} does not open as a document`);return n.push(()=>this.runtime.fn.FPDF_CloseDocument(i)),i}walkSteps(e,t,r,n,i,a){let{fn:o}=this.runtime,s=[],A=this.openPrefix(e,t,r,new rn),d=i;try{for(let p=r+1;p<=n;p++){let m=p===t.length-1?e:this.openPrefix(e,t,p,new rn);try{let F=_l(this.runtime,m),{changes:h,health:P}=this.compare(A,m,d,F);s.push(ac({older:p-1,newer:p,changes:h,before:d,after:F,health:P,restrictions:{level:a.level,locks:a.locks},levelOverride:a.levelOverride})),d=F}finally{o.FPDF_CloseDocument(A),A=m}}}finally{A!==e&&o.FPDF_CloseDocument(A)}return s}openWorkingCopy(e){let{fn:t,mem:r}=this.runtime,n=this.session.requireDocPtr();if(!this.session.hasUnsavedEdits())return{target:n,source:"loaded"};let i=new Wn(this.runtime,this.session);if(this.session.kind==="layer"){let s=this.session.source.base;if(i.canWriteScratchFiles()&&s?.kind==="file"){let m=sm(s.path,"working-copy",Wr(),"delta");if(e.push(()=>this.runtime.fileWrite.removeFile(m)),!i.saveLayerDeltaToFileEx(m).changedSinceLoad)return{target:n,source:"loaded"};if(this.runtime.fileAccess.sizeOf(m)===0)return this.freshLayerOverBase(e);let F=eh(r,m,h=>t.EPDFDoc_OpenBaseOverlayFromPath(n,h));if(F===W)throw new g(f.MalformedPdf,"the working copy does not compose with its base");return e.push(()=>t.FPDF_CloseDocument(F)),{target:F,source:"working-copy"}}let A=i.saveLayerDeltaEx();if(!A.changedSinceLoad)return{target:n,source:"loaded"};if(A.size===0)return this.freshLayerOverBase(e);let d=new Uint8Array(A.bytes),p=r.alloc(d.byteLength);try{r.writeBytes(p,d);let m=t.EPDFDoc_OpenBaseOverlay(n,p,d.byteLength);if(m===W)throw new g(f.MalformedPdf,"the working copy does not compose with its base");return e.push(()=>t.FPDF_CloseDocument(m)),{target:m,source:"working-copy"}}finally{r.free(p)}}let a=i.saveStandaloneToBufferEx("incremental");if(a.unchangedSinceLoad)return{target:n,source:"loaded"};let o=th(this.runtime,new Uint8Array(a.bytes),this.session.password);return e.push(()=>o.close()),{target:o.docPtr,source:"working-copy"}}freshLayerOverBase(e){let{fn:t,mem:r}=this.runtime,n=t.EPDFLayer_GetBaseDocument(this.session.requireDocPtr()),i=r.alloc(4);try{r.poke(i,"i32",-1);let a=t.EPDFLayer_OpenLayer(n,W,this.session.password??"",i);if(a===W||Number(r.peek(i,"i32"))!==0)throw new g(f.MalformedPdf,"the working copy could not be opened over its base");return e.push(()=>t.FPDF_CloseDocument(a)),{target:a,source:"working-copy"}}finally{r.free(i)}}compare(e,t,r,n){let{fn:i,mem:a}=this.runtime,o=i.EPDFDoc_CompareRevisions(e,t);if(o===W)throw new g(f.MalformedPdf,"the revisions do not share a byte history");try{let s=i.EPDFObjectDiff_GetCount(o),A=[];return he(a,[4,4,4,4,4,4],([d,p,m,F,h,P])=>{for(let B=0;B>>0,x=Number(a.peek(F,"i32")),I=Number(a.peek(h,"i32")),S=this.readValue(o,B,yc),G=this.readValue(o,B,Gc),Q=S.truncated||G.truncated,K=null,ve=null;try{K=S.text===null||S.truncated?null:ic(S.text),ve=G.text===null||G.truncated?null:ic(G.text)}catch{Q=!0}let ge=p6[Number(a.peek(p,"i32"))]??"modified";A.push({objectNumber:y,change:ge,kind:l6[Number(a.peek(m,"i32"))]??"scalar",present:{old:ge!=="added",new:ge!=="freed"},generation:{old:x<0?null:x,new:I<0?null:I},value:{old:K,new:ve,truncated:Q},raw:{old:S.text,new:G.text},read:{old:jP[i.EPDFObjectDiff_GetReadStatus(o,B,yc)]??"failed",new:jP[i.EPDFObjectDiff_GetReadStatus(o,B,Gc)]??"failed"},streamDataChanged:Number(a.peek(P,"i32"))!==0,usage:{old:[],new:[]}})}}),{changes:this.withAnchoredUsage(o,A,r,n),health:{old:this.readHealth(o,yc),new:this.readHealth(o,Gc)}}}finally{i.EPDFObjectDiff_Close(o)}}readHealth(e,t){let{fn:r,mem:n}=this.runtime;return he(n,[4,4,4],([i,a,o])=>{for(let s of[i,a,o])n.poke(s,"i32",0);if(!r.EPDFObjectDiff_GetRevisionHealth(e,t,i,a,o))throw new g(f.Unknown,"failed to read revision health");return{sparseXref:Number(n.peek(i,"i32"))!==0,bareReferences:Number(n.peek(a,"i32"))>>>0,referrersComplete:Number(n.peek(o,"i32"))!==0}})}withAnchoredUsage(e,t,r,n){let i=new Set(t.map(o=>o.objectNumber)),a={old:new sc(o=>this.readReferrers(e,yc,o),KP(r,i)),new:new sc(o=>this.readReferrers(e,Gc,o),KP(n,i))};return t.map(o=>{let s=o.present.old?a.old.resolve(o.objectNumber):[],A=o.present.new?a.new.resolve(o.objectNumber):[];return{...o,usage:{old:s===na?[]:s,new:A===na?[]:A},...s===na||A===na?{usageIncomplete:!0}:{}}})}readValue(e,t,r){let{fn:n,mem:i}=this.runtime;return Y(i,4,a=>{i.poke(a,"i32",0);let o=n.EPDFObjectDiff_GetValue(e,t,r,W,0,a),s=Number(i.peek(a,"i32"))!==0;return o<=0?{text:null,truncated:s}:Y(i,o,A=>{i.poke(a,"i32",0);let d=n.EPDFObjectDiff_GetValue(e,t,r,A,o,a),p=Number(i.peek(a,"i32"))!==0;if(d<=0)return{text:null,truncated:p};let m=i.readBytes(A,d-1),F="";for(let h of m)F+=String.fromCharCode(h);return{text:F,truncated:p}})})}readReferrers(e,t,r){let{fn:n,mem:i}=this.runtime,a=n.EPDFObjectDiff_GetReferrerCount(e,t,r),o=[];return a<=0||Y(i,4,s=>{for(let A=0;A{let F=n.EPDFObjectDiff_GetReferrer(e,t,r,A,s,m,d);if(F<=0)return"";let h=i.readBytes(m,F-1),P="";for(let B of h)P+=String.fromCharCode(B);return P});o.push({parent:Number(i.peek(s,"i32"))>>>0,label:p})}}),o}},m6=class{constructor(e,t){this.runtime=e,this.baseDocuments=t}finalize(e){let[t,r,n,i]=e.byteRange,a=this.runtime.fileAccess.sizeOf(e.path),o=p=>Number.isSafeInteger(p)&&p>=0;if(!e.byteRange.every(o)||t!==0||r>=n||n+i!==a)throw new g(f.InvalidArg,`byteRange [${e.byteRange.join(" ")}] does not span a ${a}-byte candidate`);let s=n-r-2;if(!Number.isSafeInteger(e.contentsSizeBytes)||s!==2*e.contentsSizeBytes)throw new g(f.InvalidArg,`the /Contents hole holds ${s} hex digits, not the ${2*e.contentsSizeBytes} of contentsSize`);if(e.cms.byteLength===0||e.cms[0]!==48)throw new g(f.SignatureRefused,"the CMS is not a DER SEQUENCE");if(e.cms.byteLength>e.contentsSizeBytes)throw new g(f.SignatureRefused,`the CMS (${e.cms.byteLength} bytes) does not fit the reserved ${e.contentsSizeBytes} bytes`);t6(this.runtime,e.path,{holeOffset:r,hexLength:s},e.cms);let A=new Ql(this.runtime),d=this.baseDocuments.acquireFileBase({key:`finalize:${Wr()}`,path:e.path,password:e.password});try{A.openFromHandle(_n(this.runtime,d,{kind:"fresh"},e.password));let p=_a(this.runtime,A);iB(this.runtime,A.requireDocPtr(),p,{fieldObjectNumber:e.fieldObjectNumber,byteRange:e.byteRange,cms:e.cms});let m=new At(this.runtime,A),F=m.readSnapshot();return{signature:F.signatures.find(h=>h.field.kind==="objectNumber"&&h.field.objectNumber===e.fieldObjectNumber),protection:F.protection,version:m.version(),lastObjectNumber:A.lastObjectNumber()}}finally{A.close()}}},w6=class{constructor(e,t,r){this.runtime=e,this.session=t,this.fonts=r}export(e,t,r){O(r);let{fields:n,widgets:i,calculationOrder:a}=$u(yo(new Pw(this.runtime,this.session,this.fonts).snapshot(r),qn(this.runtime,this.session)),e,this.session.allRecords().map(A=>ue(A.pageObjectNumber)));Ie("form",t,"items",n.length+i.length);let o={pages:sD(this.runtime,this.session,i),fields:n.map(A=>({data:A})),widgets:i.map(A=>({data:A,resources:{}})),calculationOrder:a};Ie("form",t,"pages",o.pages.length);let s=jr(o);return Ie("form",t,"manifestBytes",s),Ie("form",t,"bundleBytes",s),{format:"embedpdf/form",version:1,...o,resources:{}}}},b6=512,YP=new WeakMap;async function f6(e,t,r,n,i){let a=t.cacheSeq(),o=YP.get(t);o||(o=new Map,YP.set(t,o));let s=o.get(r);if(s&&s.seq===a)return s;let A=await new gh(e,t).read(r,n,i),d={seq:a,folded:sr(A.text),snapshot:A};if(o.delete(r),o.set(r,d),o.size>b6){let p=o.keys().next().value;p!==void 0&&o.delete(p)}return d}function g6(e,t){return JSON.stringify([e.regex?"r":"l",e.text,e.matchCase?1:0,e.matchDiacritics?1:0,e.wholeWord?1:0,e.ignoreWhitespace?1:0,t?"snippets":"matches"])}function F6(e){return JSON.stringify(e)}function v6(e,t,r,n){let i;try{i=JSON.parse(t)}catch{throw new g(f.InvalidArg,"malformed search cursor")}if(i?.v!==1||typeof i.scanned!="number"||typeof i.key!="string")throw new g(f.InvalidArg,"malformed search cursor");if(i.key!==n)throw new g(f.InvalidArg,"search cursor belongs to a different query \u2014 restart the search");if(i.seq!==r)throw new g(f.InvalidArg,"document changed since this search cursor was issued \u2014 restart the search",{details:{cursorSeq:i.seq,currentSeq:r}});if(e.from!==void 0&&e.from.objectNumber!==i.start)throw new g(f.InvalidArg,"`from` conflicts with the cursor \u2014 omit it when resuming");return i}var P6=64,h6=256,k6=256,D6=1024,B6=class{constructor(e,t){this.runtime=e,this.session=t}async query(e,t,r){O(t);let n=Ep(e),i=e.snippets??!1,a=HA(n);if(!a.ok)throw new g(f.InvalidArg,`invalid search query (${a.issue}): ${a.message}`);let o=this.session.allRecords(),s=o.length;if(!n.regex&&sr(n.text).folded.trim().length===0)return{matches:[],nextCursor:null,pagesSearched:0,pageCount:s};let A=this.session.cacheSeq(),d=g6(n,i),p=0,m=0;if(e.cursor!==void 0){let I=v6(e,e.cursor,A,d);p=I.start,m=I.scanned}else e.from!==void 0&&(p=this.session.resolvePageRef(e.from).pageObjectNumber),e.skip!==void 0&&(m=Math.min(Math.max(0,Math.floor(e.skip)),s));let F=o;if(p!==0){let I=o.findIndex(S=>S.pageObjectNumber===p);F=o.slice(I).concat(o.slice(0,I))}let h=XP(e.limit?.pages,P6,h6),P=XP(e.limit?.matches,k6,D6),B=[],y=0,x=new pm(r,t);for(;m0){let K=Hu(await new vh(this.runtime,this.session).read(I,t,r));for(let ve of Q){let ge=gu(S.snapshot,ve);B.push({page:ue(I),start:ge.start,count:ge.count,segments:K.segments(ge),...i?{snippet:_p(G,ve)}:{}})}}m++,y++}return{matches:B,nextCursor:mt.FPDFJavaScriptAction_GetName(F,B,y))??""}finally{t.FPDFDoc_CloseJavaScriptAction(F)}i.reservePayloadBytes(h.length);let P=y6(vr(t,r,n,t.EPDFDoc_GetNamedJavaScriptActionModel(n,m),i),"name-tree script",m);o.push({name:h,action:P})}let s=vr(t,r,n,t.EPDFDoc_GetOpenActionModel(n),i),A=s?W:t.EPDFDoc_GetOpenActionDest(n),d=A!==W?ed(t,r,n,A):null,p={};for(let[m,F]of E6){O(e);let h=vr(t,r,n,t.EPDFDoc_GetAdditionalActionModel(n,F),i);h&&(p[m]=h)}return{nameTreeScripts:o,openAction:s,openDestination:d,...p}}};function y6(e,t,r){if(e)return e;throw new g(f.MalformedPdf,`failed to read ${t}`,{details:{index:r}})}function G6(e,t){let r=a=>Mn(a,t),n=a=>or(a,t(a.page),t),i=a=>a.map(o=>Ur(o,t));switch(e.tag){case"pages.list":return{...e,snapshot:Bo(e.snapshot)};case"pages.setName":case"pages.removeName":case"measure.setScale":return{...e,result:{...e.result,layout:Bo(e.result.layout)}};case"pages.geometry":return{...e,snapshot:Ou(e.snapshot,t(e.page))};case"pages.render":return{...e,area:$e(e.area,t(e.page))};case"search.query":return{...e,slice:Qu(e.slice,t)};case"annotations.renderAppearances":{let a=nc(e.result.appearances,t(e.page));return{...e,result:{...e.result,appearances:a}}}case"annotations.renderAppearancesEncoded":{let a=nc(e.result.appearances,t(e.page));return{...e,result:{...e.result,appearances:a}}}case"actions.read":return{...e,snapshot:Iu(e.snapshot,r)};case"outline.read":return{...e,outline:wp(e.outline,t)};case"annotations.list":return{...e,list:{...e.list,annotations:e.list.annotations.map(n)}};case"annotations.create":return{...e,result:{...e.result,annotation:n(e.result.annotation)}};case"annotations.update":return{...e,result:{...e.result,annotation:n(e.result.annotation)}};case"document.apply":case"document.applyChanges":return e;case"annotations.import":return{...e,result:{...e.result,annotations:e.result.annotations.map(n)}};case"measure.viewports":return{...e,viewports:so(e.viewports,t(e.page))};case"forms.list":return{...e,snapshot:yo(e.snapshot,t)};case"forms.import":return{...e,result:{...e.result,fields:e.result.fields.map(a=>Ot(a,t)),widgets:i(e.result.widgets)}};case"forms.importValues":return{...e,result:{...e.result,fields:e.result.fields.map(a=>Ot(a,t)),widgets:i(e.result.widgets)}};case"forms.setValue":case"forms.createField":case"forms.updateField":case"forms.setSignatureAppearance":case"forms.addWidget":case"forms.detachWidget":return{...e,result:{...e.result,field:Ot(e.result.field,t),widgets:i(e.result.widgets)}};case"forms.reset":return{...e,result:{...e.result,fields:e.result.fields.map(a=>Ot(a,t)),widgets:i(e.result.widgets)}};case"forms.updateWidget":return{...e,result:{...e.result,widget:Ur(e.result.widget,t)}};case"forms.deleteWidget":return{...e,result:{...e.result,field:e.result.field&&Ot(e.result.field,t)}};default:return e}}function C6(e,t){switch(e.kind){case"annotations.create":return{...e,draft:Vi(e.draft,t(e.page),t)};case"annotations.update":return{...e,patch:Kr(e.patch,t(e.ref.page),t)};case"forms.updateWidget":return{...e,patch:Lc(e.patch,t(e.widget.page),t)};case"forms.createField":return{...e,draft:_o(e.draft,t)};case"document.apply":case"document.applyChanges":return e;case"forms.addWidget":return{...e,placement:Eo(e.placement,t)};case"measure.setScale":return e.measure?{...e,measure:oo(e.measure,t(e.page))}:e;case"pages.render":return WP(e,t);case"pages.renderEncoded":return WP(e,t);default:return e}}function WP(e,t){let{options:r,...n}=e;return r?{...n,options:aB(r,()=>t(e.page))}:n}function aB(e,t){let{target:r,...n}=e;return r?{...n,target:r.kind==="rect"?mp(r,t()):r}:n}function I6(e,t){switch(e.type){case"annotations.import":case"forms.import":case"forms.importValues":return e;case"annotations.copy":case"forms.copy":return e;case"annotations.create":return{...e,data:Vi(e.data,t(e.page),t)};case"annotations.update":{let r=t(e.ref.page),{expect:n,...i}=e;return{...i,patch:Kr(e.patch,r,t),...n?{expect:Kr(n,r,t)}:{}}}case"annotations.delete":{let{expect:r,...n}=e;return r?{...n,expect:Kr(r,t(e.ref.page),t)}:n}case"forms.create":return{...e,draft:_o(e.draft,t)};case"forms.addWidget":return{...e,placement:Eo(e.placement,t)};case"forms.updateWidget":{let r=t(e.widget.page),{expect:n,...i}=e;return{...i,patch:Lc(e.patch,r,t),...n?{expect:Lc(n,r,t)}:{}}}case"forms.deleteWidget":{let{expect:r,...n}=e;return r?{...n,expect:Lc(r,t(e.widget.page),t)}:n}case"pages.setScale":return e;case"outline.create":return{...e,data:bp(e.data,t)};case"outline.update":{let{expect:r,...n}=e;return{...n,patch:Co(e.patch,t),...r?{expect:Co(r,t)}:{}}}case"outline.delete":{let{expect:r,...n}=e;return r?{...n,expect:Co(r,t)}:n}default:return e}}function S6(e,t){if(Vr(e))return e;let r=i=>or(i,t(i.page),t),n=i=>i.map(a=>Ur(a,t));switch(e.type){case"annotations.create":case"annotations.update":return{...e,annotation:r(e.annotation)};case"annotations.restore":return{...e,annotations:e.annotations.map(r)};case"annotations.import":case"annotations.copy":return{...e,annotations:e.annotations.map(r)};case"forms.setValue":case"forms.setDisplay":case"forms.setAppearanceText":case"forms.setSignatureAppearance":case"forms.create":case"forms.update":case"forms.restore":case"forms.addWidget":case"forms.removeWidget":return{...e,field:Ot(e.field,t),widgets:n(e.widgets)};case"forms.reset":case"forms.import":case"forms.importValues":case"forms.copy":return{...e,fields:e.fields.map(i=>Ot(i,t)),widgets:n(e.widgets)};case"forms.updateWidget":return{...e,widget:Ur(e.widget,t)};case"forms.deleteWidget":return{...e,field:e.field&&Ot(e.field,t)};case"forms.restoreWidget":return{...e,field:e.field&&Ot(e.field,t),widgets:n(e.widgets)};case"outline.create":case"outline.update":return{...e,item:Go(e.item,t)};case"outline.restore":return{...e,items:e.items.map(i=>Go(i,t))};case"pages.rotate":case"pages.setScale":case"pages.reorder":case"pages.delete":case"pages.insertBlank":case"pages.insert":case"pages.copy":case"pages.restore":return{...e,layout:Bo(e.layout)};default:return e}}function Lc(e,t,r){return Kr({...e,subtype:"widget"},t,r)}var x6=128*1024*1024,H6=class{constructor(e,t=x6){this.runtime=e,this.budgetBytes=t,V(this,"enabled",void 0),V(this,"on",!1),this.enabled=t>0&&typeof e.fn.EPDF_SetDecodedImageBudget=="function"}beginJob(e){!this.enabled||e===this.on||(this.runtime.fn.EPDF_SetDecodedImageBudget(e?this.budgetBytes:0),this.on=e)}},O6=class{constructor(e,t){this.runtime=e,this.session=t}viewports(e,t){O(t);let r=this.session.recordByObjectNumber(e).pageIndex;return um(this.runtime.fn,this.runtime.mem,this.session.requireDocPtr(),r)}},Q6=1,R6=2,T6=3,M6=4,L6=5,Cc=class{constructor(e,t,r){this.runtime=e,this.session=t,this.pageObjectNumber=r,r!==void 0&&t.recordByObjectNumber(r)}read(e,t){O(t),Hl(e);let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=this.pageObjectNumber;if(!(a===void 0?r.EPDFDoc_HasPieceInfoEntry(i,e):r.EPDFDoc_HasPagePieceInfoEntry(i,a,e)))return null;let o=a===void 0?r.EPDFDoc_GetPieceInfoKeyCount(i,e):r.EPDFDoc_GetPagePieceInfoKeyCount(i,a,e),s={};for(let d=0;da===void 0?r.EPDFDoc_GetPieceInfoKeyAt(i,e,d,m,F):r.EPDFDoc_GetPagePieceInfoKeyAt(i,a,e,d,m,F));p!==null&&(s[p]=this.readEntry(e,p))}let A=fe(n,(d,p)=>a===void 0?r.EPDFDoc_GetPieceInfoLastModified(i,e,d,p):r.EPDFDoc_GetPagePieceInfoLastModified(i,a,e,d,p),null);return{entries:s,modifiedAt:A?zn(A):null}}update(e,t,r){O(r),Hl(e),N6(t);let n=Object.keys(t);if(n.length===0)return;j6(t,n),O(r);let{mem:i}=this.runtime,a=gt(new Date),o=i.writeU16String(a);try{for(let s of n){let A=t[s];if(!this.writeEntry(e,s,A,o))throw new g(f.Unknown,`pieceInfo write rejected for key '${s}' after validation`)}}finally{i.free(o)}}applications(e){O(e);let{fn:t,mem:r}=this.runtime,n=this.session.requireDocPtr(),i=this.pageObjectNumber,a=i===void 0?t.EPDFDoc_GetPieceInfoEntryCount(n):t.EPDFDoc_GetPagePieceInfoEntryCount(n,i),o=[];for(let s=0;si===void 0?t.EPDFDoc_GetPieceInfoEntryAt(n,s,d,p):t.EPDFDoc_GetPagePieceInfoEntryAt(n,i,s,d,p));A!==null&&o.push(A)}return o}delete(e,t){O(t),Hl(e);let{fn:r}=this.runtime,n=this.session.requireDocPtr(),i=this.pageObjectNumber;if(!(i===void 0?r.EPDFDoc_ClearPieceInfoEntry(n,e):r.EPDFDoc_ClearPagePieceInfoEntry(n,i,e)))throw new g(f.Unknown,`pieceInfo delete rejected for application '${e}'`)}readEntry(e,t){let{fn:r,mem:n}=this.runtime,i=this.session.requireDocPtr(),a=this.pageObjectNumber;switch(a===void 0?r.EPDFDoc_GetPieceInfoValueType(i,e,t):r.EPDFDoc_GetPagePieceInfoValueType(i,a,e,t)){case T6:{let o=fe(n,(s,A)=>a===void 0?r.EPDFDoc_GetPieceInfoString(i,e,t,s,A):r.EPDFDoc_GetPagePieceInfoString(i,a,e,t,s,A),"");return o===null?{type:"unknown"}:{type:"string",value:o}}case M6:{let o=Ye(n,(s,A)=>a===void 0?r.EPDFDoc_GetPieceInfoName(i,e,t,s,A):r.EPDFDoc_GetPagePieceInfoName(i,a,e,t,s,A));return o===null?{type:"unknown"}:{type:"name",value:o}}case R6:{let o=n.alloc(4);try{return(a===void 0?r.EPDFDoc_GetPieceInfoNumber(i,e,t,o):r.EPDFDoc_GetPagePieceInfoNumber(i,a,e,t,o))?{type:"number",value:Number(n.peek(o,"f32"))}:{type:"unknown"}}finally{n.free(o)}}case Q6:{let o=n.alloc(4);try{return(a===void 0?r.EPDFDoc_GetPieceInfoBoolean(i,e,t,o):r.EPDFDoc_GetPagePieceInfoBoolean(i,a,e,t,o))?{type:"boolean",value:Number(n.peek(o,"i32"))!==0}:{type:"unknown"}}finally{n.free(o)}}case L6:{let o=a===void 0?r.EPDFDoc_GetPieceInfoStringArrayCount(i,e,t):r.EPDFDoc_GetPagePieceInfoStringArrayCount(i,a,e,t);if(o<0)return{type:"unknown"};let s=[];for(let A=0;Aa===void 0?r.EPDFDoc_GetPieceInfoStringArrayAt(i,e,t,A,p,m):r.EPDFDoc_GetPagePieceInfoStringArrayAt(i,a,e,t,A,p,m),"");if(d===null)return{type:"unknown"};s.push(d)}return{type:"string-array",value:s}}default:return{type:"unknown"}}}writeEntry(e,t,r,n){let{fn:i,mem:a}=this.runtime,o=this.session.requireDocPtr(),s=this.pageObjectNumber;if(r===null)return s===void 0?i.EPDFDoc_ClearPieceInfoKey(o,e,t,n):i.EPDFDoc_ClearPagePieceInfoKey(o,s,e,t,n);if(typeof r=="string")return Yt(a,r,A=>s===void 0?i.EPDFDoc_SetPieceInfoString(o,e,t,A,n):i.EPDFDoc_SetPagePieceInfoString(o,s,e,t,A,n));if(typeof r=="number")return s===void 0?i.EPDFDoc_SetPieceInfoNumber(o,e,t,r,n):i.EPDFDoc_SetPagePieceInfoNumber(o,s,e,t,r,n);if(typeof r=="boolean")return s===void 0?i.EPDFDoc_SetPieceInfoBoolean(o,e,t,r,n):i.EPDFDoc_SetPagePieceInfoBoolean(o,s,e,t,r,n);if(Array.isArray(r))return Ia(this.runtime,r,(A,d)=>s===void 0?i.EPDFDoc_SetPieceInfoStringArray(o,e,t,A,d,n):i.EPDFDoc_SetPagePieceInfoStringArray(o,s,e,t,A,d,n));if(typeof r=="object"&&r!==null&&"name"in r)return s===void 0?i.EPDFDoc_SetPieceInfoName(o,e,t,r.name,n):i.EPDFDoc_SetPagePieceInfoName(o,s,e,t,r.name,n);throw new g(f.Unknown,`unvalidated pieceInfo value for '${t}'`)}};function Hl(e){if(typeof e!="string"||e.length===0)throw new g(f.InvalidArg,"pieceInfo application must be non-empty")}function N6(e){if(typeof e!="object"||e===null||Array.isArray(e))throw new g(f.InvalidArg,"pieceInfo patch must be an object")}function j6(e,t){for(let r of t){if(r.length===0)throw new g(f.InvalidArg,"pieceInfo keys must be non-empty");K6(r,e[r])}}function K6(e,t){if(!(t===null||typeof t=="string"||typeof t=="boolean")){if(typeof t=="number"){if(!Number.isFinite(t))throw new g(f.InvalidArg,`pieceInfo number for '${e}' must be finite`);return}if(Array.isArray(t)){if(!t.every(r=>typeof r=="string"))throw new g(f.InvalidArg,`pieceInfo string array for '${e}' must contain only strings`);return}if(typeof t=="object"&&t!==null&&"name"in t){if(typeof t.name!="string"||t.name.length===0)throw new g(f.InvalidArg,`pieceInfo PDF name for '${e}' must be a non-empty string`);return}throw new g(f.InvalidArg,`unsupported pieceInfo value for '${e}': string | number | boolean | string[] | { name } | null`)}}function V6(){if(typeof setImmediate=="function")return()=>new Promise(e=>setImmediate(e));if(typeof MessageChannel=="function"){let e=new MessageChannel,t=[];return e.port1.onmessage=()=>t.shift()?.(),()=>new Promise(r=>{t.push(r),e.port2.postMessage(null)})}return()=>new Promise(e=>setTimeout(e,0))}function UP(e){return e.kind==="pages.render"||e.kind==="pages.renderEncoded"||e.kind==="document.renderPageFile"||e.kind==="document.renderPageFileEncoded"}var oB=class{constructor(e,t,r={}){this.runtime=e,this.post=t,this.options=r,V(this,"sessions",new Map),V(this,"baseDocuments",void 0),V(this,"aborts",new Map),V(this,"fontIds",new Map),V(this,"fonts",void 0),V(this,"residency",void 0),V(this,"decodedImages",void 0),V(this,"slices",void 0),V(this,"busy",!1),V(this,"held",[]),V(this,"destroyed",!1),ZP(this.runtime),this.baseDocuments=new u2(this.runtime),this.fonts=new kO(this.runtime,this.fontIds),this.residency=new nh(this.runtime,{...Ol,budgetBytes:this.options.parsedPageBudgetBytes??Ol.budgetBytes},()=>this.busy),this.decodedImages=new H6(this.runtime,this.options.decodedImageBudgetBytes),this.slices={budgetMs:this.options.sliceMs??8,between:V6()}}registerStartupFonts(e){this.fonts.registerStartup(e)}receive(e){if(e.kind==="abort"){this.abort(e.jobId);return}if(e.kind==="pages.workingSet"){this.setWorkingSet(e);return}if(this.busy||this.held.length>0){this.held.push(e);return}this.run(e)}setWorkingSet(e){let t=this.sessions.get(jt(e.docId,e.layerName));t?.isOpen()&&t.pagePool().setWorkingSet(e.view,e.pages.map(({page:r,role:n,pixels:i})=>({pageObjectNumber:r.objectNumber,role:n,pixels:i})))}abort(e){let t=this.held.findIndex(n=>n.jobId===e);if(t<0){this.aborts.get(e)?.abort();return}this.held.splice(t,1);let r=Qn(new ji("aborted before it ran"));this.post(N({kind:"reject",jobId:e,error:r},Zr))}drain(){for(;!this.busy;){let e=this.takeHeld();if(!e)return;this.run(e)}}takeHeld(){let e=this.held[0];if(!e||!UP(e))return this.held.shift();let t=0,r=e;for(let n=1;n{if(!("docId"in e))throw new g(f.InvalidArg,`${e.kind} has no document`);return t??(t=qn(this.runtime,this.requireSession(e))),t(r)}}handleOpen(e){let t=jt(e.docId,e.kind==="open.fatMem"?void 0:e.layerName);if(this.sessions.has(t))throw new g(f.InvalidArg,`document session already open: ${t}`);let r=new Ql(this.runtime);r.residency=this.residency,r.signedDocumentPolicy=e.signedDocumentPolicy??"protect",r.password=e.password,r.objectNumberAuthority=e.objectNumbers??"session";let n;if(e.kind==="open.fatMem"){let i=new Uint8Array(e.bytes);n=a=>this.openBytesAsLayer(r,i,a)}else if(e.kind==="open.layerMemBase"){let i=new Uint8Array(e.baseBytes);n=a=>{let o=this.baseDocuments.acquireMemoryBase({key:e.baseKey,bytes:i,password:a,knownSha256:e.baseSha256});r.openFromHandle(_n(this.runtime,o,e.layer,a))}}else{if(this.runtime.kind!=="native")throw new g(f.NotImplemented,"'layerFile' needs the native Node runtime; open the file's bytes instead");n=i=>{let a=this.baseDocuments.acquireFileBase({key:e.baseKey,path:e.basePath,password:i,knownSha256:e.baseSha256});r.openFromHandle(_n(this.runtime,a,e.layer,i))}}try{n(e.password)}catch(i){if(!eM(i))throw i;return r.parkLocked(n),this.sessions.set(t,r),N({tag:"open",docId:e.docId,security:tM(),...e.password?{passwordRejected:!0}:{}})}return this.sessions.set(t,r),N({tag:"open",docId:e.docId,security:new Sl(this.runtime).checkPasswordPermissions(r,e.password??""),protection:this.probeProtection(r),...e.reserveObjectNumbers?{objectNumbers:r.reserveObjectNumbers(e.reserveObjectNumbers)}:{},lastObjectNumber:r.lastObjectNumber()})}openBytesAsLayer(e,t,r){let n=this.baseDocuments.acquireMemoryBase({key:`bytes-open:${Wr()}`,bytes:t,password:r});e.openFromHandle(_n(this.runtime,n,{kind:"fresh"},r)),e.persistLayerArtifact=!1}probeProtection(e){try{return new At(this.runtime,e).readProtection()}catch{return null}}handleSignaturesList(e){let t=this.requireSession(e);return N({tag:"signatures.list",snapshot:e.workingCopy?new VP(this.runtime,t).readWorkingCopySnapshot():new At(this.runtime,t).readSnapshot()})}handleSignaturesContents(e){let t=this.requireSession(e),r=new At(this.runtime,t).readContents(e.ref);return N({tag:"signatures.contents",bytes:r},[r])}handleSignaturesDigest(e){let t=this.requireSession(e),r=new At(this.runtime,t).digest(e.ref,e.algorithm);return N({tag:"signatures.digest",digest:r},[r])}handleSignaturesRevisionBytes(e){let t=this.requireSession(e),r=new At(this.runtime,t).revisionBytes(e.revisionIndex);return N({tag:"signatures.revisionBytes",bytes:r,size:r.byteLength},[r])}handleDocumentVersion(e){let t=this.requireSession(e);return N({tag:"document.version",version:new At(this.runtime,t).version()})}handleSignaturesPrepare(e){let t=this.requireSession(e);return N({tag:"signatures.prepare",result:new xl(this.runtime,t,this.baseDocuments,this.options.signingCandidatePath).prepare(e.input,e.authority)})}handleSignaturesComplete(e){let t=this.requireSession(e),r=new xl(this.runtime,t,this.baseDocuments,this.options.signingCandidatePath).complete(e.input,e.opId,e.authority);return r.status==="already-completed"?N({tag:"signatures.complete",result:r}):this.finishMutation(t,{tag:"signatures.complete",result:r},e.artifactPath)}handleSignaturesAnalyze(e){let t=this.requireSession(e);return N({tag:"signatures.analyze",analysis:new VP(this.runtime,t).analyze(e.input)})}handleSignaturesFinalizeCandidate(e){return N({tag:"signatures.finalizeCandidate",...new m6(this.runtime,this.baseDocuments).finalize({path:e.path,byteRange:e.byteRange,contentsSizeBytes:e.contentsSizeBytes,fieldObjectNumber:e.fieldObjectNumber,cms:new Uint8Array(e.cms),password:e.password??null})})}handleSignaturesCancel(e){let t=this.requireSession(e);return N({tag:"signatures.cancel",result:new xl(this.runtime,t,this.baseDocuments,this.options.signingCandidatePath).cancel(e.signingId)})}assertNoPendingSigning(e){if(!Ic(e))return;let t="layerName"in e?e.layerName:void 0,r=this.sessions.get(jt(e.docId,t));if(r?.pendingSigning)throw new g(f.SigningPending,`a signing is pending (${r.pendingSigning.prepared.signingId}); complete or cancel it before mutating the document`)}handleMetadataRead(e,t){let r=this.requireSession(e);return N({tag:"metadata.read",metadata:new vi(this.runtime,r).read(t)})}handleMetadataUpdate(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"metadata.update",patch:e.patch},en(),t);return this.finishMutation(r,{tag:"metadata.update",result:a},e.artifactPath)}handleMetadataReadCustom(e,t){let r=this.requireSession(e);return N({tag:"metadata.readCustom",custom:new vi(this.runtime,r).readCustom(t)})}handleMetadataUpdateCustom(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"metadata.updateCustom",patch:e.patch},en(),t);return this.finishMutation(r,{tag:"metadata.updateCustom",result:a},e.artifactPath)}handleActionsRead(e,t){let r=this.requireSession(e);return N({tag:"actions.read",snapshot:new _6(this.runtime,r).read(t)})}handleOutlineRead(e,t){let r=this.requireSession(e);return N({tag:"outline.read",outline:new jD(this.runtime,r).read(t)})}handleAnnotationsList(e,t){let r=this.requireSession(e),n=e.pages?.map(i=>r.resolvePageRef(i).pageObjectNumber);return N({tag:"annotations.list",list:new ld(this.runtime,r,this.fonts).list(n,t,"annotations")})}async handleAnnotationsRenderAppearances(e,t){let r=this.requireSession(e),n=r.resolvePageRef(e.page).pageObjectNumber,i=await new CH(this.runtime,r).render(n,e.family,e.options??{},t,this.slices),a=i.appearances.map(o=>o.raster.data);return N({tag:"annotations.renderAppearances",page:e.page,result:i},a)}handleAnnotationsCreate(e,t){let r=this.requireSession(e),{type:n,page:i,...a}=this.applyOne(r,e.opId,{type:"annotations.create",page:e.page,data:e.draft,...e.resources?{resources:e.resources}:{},...e.objectNumber!==void 0?{objectNumber:e.objectNumber}:{}},en(e.actor),t);return this.finishMutation(r,{tag:"annotations.create",result:a},e.artifactPath)}handleAnnotationsUpdate(e,t){let r=this.requireSession(e),{type:n,page:i,skipped:a,...o}=this.applyOne(r,e.opId,{type:"annotations.update",ref:e.ref,patch:e.patch,...e.resources?{resources:e.resources}:{}},{...e.authority,protection:null},t);return this.finishMutation(r,{tag:"annotations.update",result:o},e.artifactPath)}handleAnnotationsDelete(e,t){let r=this.requireSession(e),{type:n,page:i,...a}=this.applyOne(r,e.opId,{type:"annotations.delete",ref:e.ref},{...e.authority,protection:null},t);return this.finishMutation(r,{tag:"annotations.delete",result:a},e.artifactPath)}handleAnnotationsFlatten(e,t){let r=this.requireSession(e),n=r.resolvePageRef(e.page).pageObjectNumber,i=new Bl(this.runtime,r).flatten(n,e.refs,e.usage,t),a=i.meta.affectedPages.length>0;return a?this.finishMutation(r,{tag:"annotations.flatten",result:i,wrote:a},e.artifactPath):N({tag:"annotations.flatten",result:i,wrote:a})}handleAnnotationsExportAppearance(e,t){let r=this.requireSession(e),n=r.resolvePageRef(e.page).pageObjectNumber,i=new Bl(this.runtime,r).exportAppearance(n,e.refs,t);return N({tag:"annotations.exportAppearance",bytes:i.bytes,size:i.size},[i.bytes])}handleAnnotationsExport(e,t){let r=this.requireSession(e),n=new xO(this.runtime,r,this.fonts).export(e.selection,e.limits??qt,t);return N({tag:"annotations.export",bundle:n},Object.values(n.resources))}handleAnnotationsImport(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"annotations.import",bundle:e.bundle,...e.pages!==void 0?{pages:e.pages}:{},attribution:e.attribution,...e.actor?{actor:e.actor}:{},limits:e.limits??qt},en(e.actor),t);return i.annotations.length===0?N({tag:"annotations.import",result:i}):this.finishMutation(r,{tag:"annotations.import",result:i},e.artifactPath)}handleAnnotationsReadAppearance(e,t){let r=this.requireSession(e),n=r.resolvePageRef(e.page).pageObjectNumber,i=new Bl(this.runtime,r).readAppearance(n,e.ref,t);return N({tag:"annotations.readAppearance",bytes:i.bytes,size:i.size},[i.bytes])}handleAnnotationsReorder(e,t){let r=this.requireSession(e),{type:n,page:i,...a}=this.applyOne(r,e.opId,{type:"annotations.reorder",page:e.page,refs:e.refs,position:e.position},{...e.authority,protection:null},t);return this.finishMutation(r,{tag:"annotations.reorder",result:a},e.artifactPath)}handleDocumentApply(e,t){let r=this.requireSession(e);nM(e.change);let n=cc(e.change),i=ds(r).outcome(e.opId);if(i)return N({tag:"document.apply",result:this.replayed(i,n,e.opId),replayed:!0});let a=this.recorded(r,e.opId,n,()=>this.runChange(r,e,t)),o={tag:"document.apply",result:a,replayed:!1};return a.items.some(LA)?this.finishMutation(r,o,e.artifactPath):N(o)}applyOne(e,t,r,n,i){let a={ops:[r]},o=ds(e),s=cc(a),A=o.outcome(t),d;A?d=this.replayed(A,s,t):d=this.recorded(e,t,s,()=>new Cl(this.runtime,e,this.fonts).apply(a.ops,n,i,jT));let p=d.items[0];if(!p||Vr(p))throw new g(f.Unknown,`${r.type} wrote nothing`);return p}replayed(e,t,r){if(e.fingerprint!==t)throw new g(f.IdempotencyKeyReused,`opId ${r} already answered a different change`);if(e.kind==="refused")throw Md(e.error);return e.result}recorded(e,t,r,n){let i=ds(e);try{let a=n(),o=zP(e,a);return i.keepApplied(t,r,o,o.meta.undoable?a.record:null),o}catch(a){throw g.is(a)&&Ac(a.code)&&i.keepRefused(t,r,Qn(a)),a}}handleDocumentApplyChanges(e,t){let r=this.requireSession(e);r.assertUsable(),e.objectNumberFloor!==void 0&&r.raiseLastObjectNumber(e.objectNumberFloor-1);let n=new Cl(this.runtime,r,this.fonts,e.limits),i=this.pageSpaceOf(r),a=new Map,o=[];for(let A of e.changes){r.beginTransaction(A.opId);try{let d=U6(n,A,a,t,i),p=zP(r,d);r.commitTransaction();let m=p.meta.undoable?d.record:null;a.set(A.opId,m),o.push({opId:A.opId,status:"applied",result:p,record:m})}catch(d){if(r.inTransaction()&&r.abortTransaction(),!g.is(d)||!Ac(d.code))throw d;a.set(A.opId,null),o.push({opId:A.opId,status:"refused",error:Qn(d)})}}let s={tag:"document.applyChanges",outcomes:o};return o.some(A=>A.status==="applied"&&A.result.items.some(LA))?this.finishMutation(r,s,e.artifactPath):N(s)}pageSpaceOf(e){return{opInFileSpace:t=>I6(t,qn(this.runtime,e)),itemOut:t=>S6(t,qn(this.runtime,e))}}runChange(e,t,r){let n=new Cl(this.runtime,e,this.fonts),i=this.pageSpaceOf(e),a=t.authority.identity.userId??null;if(!bo(t.change))return n.apply(t.change.ops,t.authority,r,i);let o=ds(e).record(t.change.undoOf);if(!o||"unavailable"in o)throw new g(f.UndoUnavailable,`change ${t.change.undoOf} can no longer be undone`,{details:{reason:o?o.unavailable:"expired"}});if(!o.record)return{items:[],record:{userId:a,steps:[]}};if(o.record.userId!==null&&o.record.userId!==a)throw new je("changes:undo","target");return n.undo(o.record,t.authority,r,i)}handlePagesList(e,t){let r=this.requireSession(e);return N({tag:"pages.list",snapshot:new Vt(this.runtime,r).read(t)})}handlePagesSetName(e,t){let r=this.requireSession(e),n=new Nl(this.runtime,r).setName({name:e.name,page:e.page,...e.replace!==void 0?{replace:e.replace}:{}},t);return this.finishMutation(r,{tag:"pages.setName",result:n},e.artifactPath)}handlePagesRemoveName(e,t){let r=this.requireSession(e),n=new Nl(this.runtime,r).removeName({name:e.name},t);return this.finishMutation(r,{tag:"pages.removeName",result:n},e.artifactPath)}handlePagesFlatten(e,t){let r=this.requireSession(e),n=new OI(this.runtime,r).flatten(e.pages,e.usage,t),i=n.meta.affectedPages.length>0;return i?this.finishMutation(r,{tag:"pages.flatten",result:n,wrote:i},e.artifactPath):N({tag:"pages.flatten",result:n,wrote:i})}handleRedactionApply(e,t){let r=this.requireSession(e),n=new MI(this.runtime,r).apply(e.scope,t),i=n.meta.affectedPages.length>0;return i?this.finishMutation(r,{tag:"redaction.apply",result:n,wrote:i},e.artifactPath):N({tag:"redaction.apply",result:n,wrote:i})}handlePagesExtract(e,t){let r=this.requireSession(e),n=new yI(this.runtime,r).extract(e.pages,e.flatten,t);return N({tag:"pages.extract",bytes:n.bytes,size:n.size},[n.bytes])}handleDocumentFontsList(e){let t=this.requireSession(e);return dP(this.runtime,t),N({tag:"document.fonts.list",facts:new Dl(this.runtime,t,this.fonts).facts()})}handleDocumentFontsResolve(e){let t=new Dl(this.runtime,this.requireSession(e),this.fonts),r=t.facts(),{runs:n,missingCharacters:i}=t.resolve(e.annotation,e.runs,r);return N({tag:"document.fonts.resolve",runs:n,missingCharacters:i,facts:r})}handleDocumentFontsProgram(e){let t=new Dl(this.runtime,this.requireSession(e),this.fonts).program(e.displaySha256,e.part==="data"),r=t.bytes?t.bytes.buffer.slice(t.bytes.byteOffset,t.bytes.byteOffset+t.bytes.byteLength):null;return N({tag:"document.fonts.program",covers:t.covers,ascent:t.ascent,descent:t.descent,bytes:r},r?[r]:[])}handleAttachmentsList(e,t){let r=this.requireSession(e);return N({tag:"attachments.list",attachments:new El(this.runtime,r).list(t)})}handleAttachmentsReadFile(e,t){let r=this.requireSession(e),n=new El(this.runtime,r).readFile(e.ref,e.path,e.maxDecodedBytes,t);return N({tag:"attachments.readFile",content:n},n.bytes!==void 0?[n.bytes]:[])}async handleAnnotationsReadFile(e,t){let r=this.requireSession(e),n=await new El(this.runtime,r).readAnnotationFile(r.resolvePageRef(e.page).pageObjectNumber,e.ref,e.path,e.maxDecodedBytes,t,this.slices);return N({tag:"annotations.readFile",content:n},n.bytes!==void 0?[n.bytes]:[])}async handleMeasureViewports(e,t){let r=this.requireSession(e),n=new O6(this.runtime,r).viewports(r.resolvePageRef(e.page).pageObjectNumber,t);return N({tag:"measure.viewports",page:e.page,viewports:n})}handleMeasureSetScale(e,t){let r=this.requireSession(e);return new $D(this.runtime,r).setScale(r.resolvePageRef(e.page).pageObjectNumber,e.measure,t),this.finishMutation(r,{tag:"measure.setScale",result:{page:e.page,layout:new Vt(this.runtime,r).read(t),meta:{affectedPages:[],cacheDelta:null,...r.writeStamp()}}},e.artifactPath)}handlePieceInfoRead(e,t){let r=this.requireSession(e);return N({tag:"pieceInfo.read",snapshot:new Cc(this.runtime,r,e.page?r.resolvePageRef(e.page).pageObjectNumber:void 0).read(e.application,t)})}handlePieceInfoUpdate(e,t){let r=this.requireSession(e),n=new Cc(this.runtime,r,e.page?r.resolvePageRef(e.page).pageObjectNumber:void 0);n.update(e.application,e.patch,t);let i={pieceInfo:n.read(e.application,t),meta:{affectedPages:[],cacheDelta:null,...r.writeStamp()}};return this.finishMutation(r,{tag:"pieceInfo.update",result:i},e.artifactPath)}handlePieceInfoApplications(e,t){let r=this.requireSession(e);return N({tag:"pieceInfo.applications",applications:new Cc(this.runtime,r,e.page?r.resolvePageRef(e.page).pageObjectNumber:void 0).applications(t)})}handlePieceInfoDelete(e,t){let r=this.requireSession(e);new Cc(this.runtime,r,e.page?r.resolvePageRef(e.page).pageObjectNumber:void 0).delete(e.application,t);let n={meta:{affectedPages:[],cacheDelta:null,...r.writeStamp()}};return this.finishMutation(r,{tag:"pieceInfo.delete",result:n},e.artifactPath)}async handlePagesText(e,t){let r=this.requireSession(e),n=new gh(this.runtime,r),i=r.resolvePageRef(e.page).pageObjectNumber;return N({tag:"pages.text",snapshot:await n.read(i,t,this.slices)})}async handlePagesGeometry(e,t){let r=this.requireSession(e),n=new vh(this.runtime,r),i=r.resolvePageRef(e.page).pageObjectNumber,a=await n.read(i,t,this.slices);return N({tag:"pages.geometry",page:e.page,snapshot:a})}async handleSearchQuery(e,t){let r=this.requireSession(e);return N({tag:"search.query",slice:await new B6(this.runtime,r).query(e.request,t,this.slices)})}async handlePagesRender(e,t){let r=this.requireSession(e),{raster:n,area:i}=await new jv(this.runtime,r).render(r.resolvePageRef(e.page).pageObjectNumber,e.options??{},t,this.slices);return N({tag:"pages.render",page:e.page,area:i,raster:n},[n.data])}slicedWork(e){switch(e.kind){case"pages.render":return{pdfium:t=>this.handlePagesRender(e,t)};case"pages.renderEncoded":return{pdfium:t=>this.handlePagesRender({...e,kind:"pages.render"},t),encode:(t,r)=>this.encodeRendered(t,e.encode,r)};case"document.renderPageFile":return{pdfium:t=>this.handleDocumentRenderPageFile(e,t)};case"document.renderPageFileEncoded":return{pdfium:t=>this.handleDocumentRenderPageFile({...e,kind:"document.renderPageFile"},t),encode:(t,r)=>this.encodeRendered(t,e.encode,r)};case"annotations.renderAppearances":return{pdfium:t=>this.handleAnnotationsRenderAppearances(e,t)};case"annotations.renderAppearancesEncoded":return{pdfium:t=>this.handleAnnotationsRenderAppearances({...e,kind:"annotations.renderAppearances"},t),encode:(t,r)=>this.encodeAppearances(t,e.page,e.encode,r)};case"pages.text":return{pdfium:t=>this.handlePagesText(e,t)};case"pages.geometry":return{pdfium:t=>this.handlePagesGeometry(e,t)};case"measure.viewports":return{pdfium:t=>this.handleMeasureViewports(e,t)};case"annotations.readFile":return{pdfium:t=>this.handleAnnotationsReadFile(e,t)};case"search.query":return{pdfium:t=>this.handleSearchQuery(e,t)};default:return null}}async runSliced(e,t,r,n){if(n.encode&&!this.options.imageEncoder){this.post(N({kind:"reject",jobId:t.jobId,error:J6()},Zr));return}let i=new AbortController;this.aborts.set(t.jobId,i),this.busy=!0;try{let a;try{a=await n.pdfium(i.signal)}finally{this.busy=!1,queueMicrotask(()=>this.drain())}this.resolve(t,n.encode?await n.encode(a,i.signal):a)}catch(a){this.post(N({kind:"reject",jobId:t.jobId,error:Qn(a)},Zr))}finally{this.aborts.delete(t.jobId),this.closePagesChangedBy(e,r)}}async encodeRaster(e,t,r){let n=this.options.imageEncoder;if(!n)throw new g(f.NotImplemented,sB);let{bytes:i,mimeType:a}=await n.encode(e,t);if(r.aborted)throw new g(f.Aborted,"aborted during image encode");return{mimeType:a,width:e.width,height:e.height,bytes:i}}async encodeRendered(e,t,r){let{payload:n}=e;if(n.tag==="pages.render"){let i=await this.encodeRaster(n.raster,t,r);return N({tag:"pages.renderEncoded",image:i},[i.bytes.buffer])}if(n.tag==="document.renderPageFile"){let i=await this.encodeRaster(n.raster,t,r);return N({tag:"document.renderPageFileEncoded",page:n.page,pageCount:n.pageCount,image:i},[i.bytes.buffer])}throw new g(f.WireFormat,`unexpected ${n.tag}`)}async encodeAppearances(e,t,r,n){if(e.payload.tag!=="annotations.renderAppearances")throw new g(f.WireFormat,`unexpected ${e.payload.tag}`);let{appearances:i}=e.payload.result,a=[];for(let o of i)a.push({ref:o.ref,mode:o.mode,state:o.state,rect:o.rect,image:await this.encodeRaster(o.raster,r,n)});return N({tag:"annotations.renderAppearancesEncoded",page:t,result:{page:e.payload.result.page,appearances:a}},a.map(o=>o.image.bytes.buffer))}assertRewriteKeepsSignatures(e,t){if(t!=="rewrite"||e.signedDocumentPolicy!=="protect")return;let r=this.probeProtection(e);if(r&&r.judged!==null)throw new g(f.ProtectedDocument,"the document is signed: a rewrite save would void every signature (use an incremental save)")}handleDocumentSaveBuffer(e){let t=this.requireSession(e);if(this.assertRewriteKeepsSignatures(t,e.mode),e.mode==="incremental"){let n=new Wn(this.runtime,t).snapshot();return N({tag:"document.saveBuffer",bytes:n.bytes,size:n.bytes.byteLength},[n.bytes])}let r=new Wn(this.runtime,t).saveStandaloneToBuffer(e.mode);return N({tag:"document.saveBuffer",bytes:r.bytes,size:r.size},[r.bytes])}handleDocumentSaveFile(e){let t=this.requireSession(e);return this.assertRewriteKeepsSignatures(t,e.mode),e.mode==="incremental"&&(!t.hasUnsavedEdits()||new Wn(this.runtime,t).saveStandaloneToFileEx(e.path,e.mode).unchangedSinceLoad)?(new Wn(this.runtime,t).copyLoadedBytesToFile(e.path),N({tag:"document.saveFile",path:e.path})):e.mode==="incremental"?N({tag:"document.saveFile",path:e.path}):N({tag:"document.saveFile",path:new Wn(this.runtime,t).saveStandaloneToFile(e.path,e.mode).path})}handleDocumentSaveLayerBuffer(e){let t=this.requireSession(e);if(t.kind!=="layer")throw new g(f.InvalidArg,"document has no layer to export (opened without a layer)");let r=new Wn(this.runtime,t).saveLayerArtifact();return N({tag:"document.saveLayerBuffer",bytes:r.bytes,size:r.size},[r.bytes])}handleDocumentProbeSecurityFile(e){return N({tag:"document.probeSecurityFile",security:new Sl(this.runtime).probeFile(e.path,e.password)})}async handleDocumentRenderPageFile(e,t){let r=new Ql(this.runtime),n=this.baseDocuments.acquireFileBase({key:`adhoc-file:${e.path}`,path:e.path,password:e.password});try{r.openFromHandle(_n(this.runtime,n,{kind:"fresh"},e.password));let i=new Vt(this.runtime,r).read(t),a=i.pages[e.pageIndex];if(!a)throw new g(f.NotFound,`renderPageFile: no page at index ${e.pageIndex} (pageCount=${i.pageCount})`);let{raster:o}=await new jv(this.runtime,r).render(a.ref.objectNumber,aB(e.options??{},()=>a.pdfCropBox),t,this.slices);return N({tag:"document.renderPageFile",page:a.ref,pageCount:i.pageCount,raster:o},[o.data])}finally{r.close()}}handleDocumentCheckPasswordPermissions(e){let t=this.sessions.get(jt(e.docId)),r;return t?.isLocked()?(t.unlockWith(e.password),t.password=e.password,r=t):r=this.requireSession(e),N({tag:"document.checkPasswordPermissions",security:new Sl(this.runtime).checkPasswordPermissions(r,e.password,e.mode??"any"),protection:this.probeProtection(r)})}handleFontsRegister(e){return this.fonts.register(e.fontKey,e.familyName,e.weight,e.italic,new Uint8Array(e.data),e.builtIn??!1),N({tag:"fonts.register",fontKey:e.fontKey,identity:this.fonts.describe(e.fontKey)})}handleFontsAuthorizeEditing(e){return N({tag:"fonts.authorizeEditing",identity:this.fonts.authorizeEditing(e.fontKey)})}handleDocumentSetFontSettings(e){let t=this.requireSession(e).requireDocPtr(),{fn:r}=this.runtime;if(e.embeddingPolicy!==void 0){let n={default:0,subset:1,full:2}[e.embeddingPolicy];if(!r.EPDFDoc_SetFontEmbeddingPolicy(t,n))throw new g(f.InvalidArg,"EPDFDoc_SetFontEmbeddingPolicy failed")}if(e.typographicFeatures!==void 0&&!r.EPDFDoc_SetTypographicFeatures(t,e.typographicFeatures))throw new g(f.InvalidArg,"EPDFDoc_SetTypographicFeatures failed");return N({tag:"document.setFontSettings"})}handleFontsAddFallback(e){return this.fonts.addFallback(e.fontKey,e.tier),N({tag:"fonts.addFallback"})}handleFontsClearFallbacks(e){return this.fonts.clearFallbacks(),N({tag:"fonts.clearFallbacks"})}handleFontsProgram(e){let t=this.fonts.engineFontFacts().some(i=>i.sha256===e.sha256&&i.served)?this.fonts.programFor(e.sha256):void 0;if(!t)throw new g(f.NotFound,`no served font has the program ${e.sha256}`);let r=t.bytes(),n=r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength);return N({tag:"fonts.program",bytes:n},[n])}handleFontsClear(e){return this.fonts.clear(),N({tag:"fonts.clear"})}handleLayerClose(e){let t=jt(e.docId,e.layerName),r=this.sessions.get(t);return r&&(Qc(this.runtime,r),Mc(this.runtime,r),r.close(),this.sessions.delete(t)),N({tag:"close"})}handleClose(e){for(let[t,r]of Array.from(this.sessions.entries()))$6(t,e.docId)&&(Qc(this.runtime,r),Mc(this.runtime,r),r.close(),this.sessions.delete(t));return N({tag:"close"})}handleShutdown(e){if(!this.destroyed){this.destroyed=!0;for(let t of this.sessions.values())Qc(this.runtime,t),Mc(this.runtime,t),t.close();this.sessions.clear(),this.residency.closeIdle(),this.baseDocuments.releaseAll(),e2(this.runtime)}return N({tag:"shutdown"})}requireSession(e){let t=jt(e.docId,e.layerName),r=this.sessions.get(t);if(r?.isLocked())throw new g(f.DocPasswordRequired,`document session is password-locked: ${t}`);if(!r||!r.isOpen())throw new g(f.DocNotOpen,`document session not open: ${t}`);return r.assertUsable(),r}handleFormsList(e,t){let r=this.requireSession(e);return N({tag:"forms.list",snapshot:new Pw(this.runtime,r,this.fonts).snapshot(t)})}handleFormsSetValue(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.setValue",field:e.ref,value:e.value},e.authority,t);return this.finishMutation(r,{tag:"forms.setValue",result:i},e.artifactPath)}handleFormsReset(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"forms.reset",...e.refs?{fields:e.refs}:{}},e.authority,t);return this.finishMutation(r,{tag:"forms.reset",result:a},e.artifactPath)}handleFormsExport(e,t){let r=this.requireSession(e),n=new w6(this.runtime,r,this.fonts).export(e.selection,e.limits??qt,t);return N({tag:"forms.export",bundle:n},Object.values(n.resources))}handleFormsImport(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.import",bundle:e.bundle,...e.pages!==void 0?{pages:e.pages}:{},attribution:e.attribution,values:e.values,actor:qP(e.authority),limits:e.limits??qt,mayScript:e.mayScript},e.authority,t);return i.fields.length===0?N({tag:"forms.import",result:i}):this.finishMutation(r,{tag:"forms.import",result:i},e.artifactPath)}handleFormsImportValues(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.importValues",bundle:e.bundle,attribution:e.attribution,actor:qP(e.authority),limits:e.limits??qt},e.authority,t);return i.fields.length===0?N({tag:"forms.importValues",result:i}):this.finishMutation(r,{tag:"forms.importValues",result:i},e.artifactPath)}handleFormsRepair(e,t){let r=this.requireSession(e),n=new vt(this.runtime,r,this.fonts).repair(e.bakeAppearances??!1,t);return this.finishMutation(r,{tag:"forms.repair",result:n},e.artifactPath)}handleFormsCreateField(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.create",draft:e.draft,...e.objectNumber!==void 0?{objectNumber:e.objectNumber}:{},...e.widgetObjectNumbers?{widgetObjectNumbers:e.widgetObjectNumbers}:{}},e.authority,t);return this.finishMutation(r,{tag:"forms.createField",result:i},e.artifactPath)}handleFormsUpdateField(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"forms.update",field:e.ref,patch:e.patch},e.authority,t);return this.finishMutation(r,{tag:"forms.updateField",result:a},e.artifactPath)}handleFormsSetSignatureAppearance(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.setSignatureAppearance",field:e.ref,appearance:{pdf:new Uint8Array(e.pdf)}},e.authority,t);return this.finishMutation(r,{tag:"forms.setSignatureAppearance",result:i},e.artifactPath)}handleFormsDeleteField(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.delete",field:e.ref},en(),t);return this.finishMutation(r,{tag:"forms.deleteField",result:i},e.artifactPath)}handleFormsAddWidget(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.addWidget",field:e.ref,placement:e.placement,...e.objectNumber!==void 0?{objectNumber:e.objectNumber}:{},...e.splitObjectNumber!==void 0?{splitObjectNumber:e.splitObjectNumber}:{}},en(),t);return this.finishMutation(r,{tag:"forms.addWidget",result:i},e.artifactPath)}handleFormsDetachWidget(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.removeWidget",field:e.ref,widget:e.widget},en(),t);return this.finishMutation(r,{tag:"forms.detachWidget",result:i},e.artifactPath)}handleFormsUpdateWidget(e,t){let r=this.requireSession(e),{type:n,skipped:i,...a}=this.applyOne(r,e.opId,{type:"forms.updateWidget",widget:e.widget,patch:e.patch},en(),t);return this.finishMutation(r,{tag:"forms.updateWidget",result:a},e.artifactPath)}handleFormsDeleteWidget(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.deleteWidget",widget:e.widget},en(),t);return this.finishMutation(r,{tag:"forms.deleteWidget",result:i},e.artifactPath)}handleFormsReorderCalculations(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.reorderCalculations",fields:e.fields,position:e.position},en(),t);return this.finishMutation(r,{tag:"forms.reorderCalculations",result:i},e.artifactPath)}handleFormsReorderWidgets(e,t){let r=this.requireSession(e),{type:n,...i}=this.applyOne(r,e.opId,{type:"forms.reorderWidgets",page:e.page,widgets:e.widgets,position:e.position},en(),t);return this.finishMutation(r,{tag:"forms.reorderWidgets",result:i},e.artifactPath)}finishMutation(e,t,r){e.inTransaction()&&e.commitTransaction(),z6.has(t.tag)&&ds(e).endUndo(),!t.tag.startsWith("forms.")&&t.tag!=="pages.flatten"&&t.tag!=="redaction.apply"&&t.tag!=="signatures.complete"&&e.invalidateDerived(),t.tag!=="signatures.complete"&&e.noteEdit();let n=W6(t,e.missingCharacters()),i=FO(this.runtime,e)?{...n,fontsChanged:!0}:n;if(e.kind!=="layer"||!e.persistLayerArtifact)return N(i);let a=this.saveLayerArtifact(e,r);return N({...i,...a.payload},a.transfer)}saveLayerArtifact(e,t){let r=new Wn(this.runtime,e),n=e.lastObjectNumber();if(t)return{payload:{artifactFile:{...r.saveLayerArtifactToFile(t),lastObjectNumber:n}},transfer:[]};let i={...r.saveLayerArtifact(),lastObjectNumber:n};return{payload:{artifact:i},transfer:[i.bytes]}}},Y6={read:"none",snapshot:"none",session:"none",open:"none",close:"none",write:"keepsPages",contentWrite:"document",runtimeWrite:"runtime"};function X6(e){return e.kind==="shutdown"?"none":Y6[e.effect]}function en(e){return{identity:e??{},grants:null,protection:null}}function qP({identity:e}){return{...e.userId!==void 0?{userId:e.userId}:{},...e.groupId!==void 0?{groupId:e.groupId}:{},...e.displayName!==void 0?{displayName:e.displayName}:{}}}function W6(e,t){if(t.length===0||!("result"in e))return e;let r=e.result;if(typeof r!="object"||r===null||!("meta"in r))return e;let{meta:n}=r;return typeof n!="object"||n===null||"missingCharacters"in n?e:{...e,result:{...r,meta:{...n,missingCharacters:t}}}}function zP(e,t){let r=t.record.steps.length>0;r&&e.markUndoable();let n=t.items.map(a=>({...a,meta:{...a.meta,undoable:r}})),i=[...new Set(n.flatMap(a=>a.meta.missingCharacters??[]))];return{items:n,meta:{affectedPages:q6(n),cacheDelta:null,...e.writeStamp(),...i.length>0?{missingCharacters:i}:{}}}}function U6(e,t,r,n,i){let{change:a,authority:o}=t;if(!bo(a))return e.apply(a.ops,o,n,i);let s=o.identity.userId??null,A=r.has(a.undoOf)?r.get(a.undoOf):t.record;if(A===void 0)throw new g(f.UndoUnavailable,`change ${a.undoOf} can no longer be undone`,{details:{reason:"expired"}});return A?e.undo(A,o,n,i):{items:[],record:{userId:s,steps:[]}}}function q6(e){let t=new Map;for(let r of e)for(let n of r.meta.affectedPages)t.set(n.objectNumber,n);return[...t.values()]}function Ic(e){return e.kind==="shutdown"||e.kind==="signatures.complete"||e.kind==="document.applyChanges"||e.effect!=="write"&&e.effect!=="contentWrite"?!1:"docId"in e}var z6=new Set(["redaction.apply","pages.flatten","annotations.flatten","forms.repair","signatures.complete"]),Z6="__base__";function jt(e,t){return`${e}::${t?`layer:${t}`:Z6}`}var sB="this engine has no image encoder (the *.renderEncoded kinds are cloud-server surface)";function J6(){return Qn(new g(f.NotImplemented,sB))}function $6(e,t){return e===jt(t)||e.startsWith(`${t}::layer:`)}function eM(e){return e instanceof g&&(e.code===f.DocPasswordRequired||e.code===f.DocPasswordIncorrect)}function tM(){return{encryptionState:"encrypted",encryptionRequiresPassword:!0,securityHandlerRevision:null,pdfPermissionsBits:null,pdfPermissionsAllAllowed:null,pdfOpenedAs:null,securityProbedAt:Date.now()}}function nM(e){if(bo(e))return;let t={"annotations.import":"doc.annotations.import","forms.import":"doc.forms.import","forms.importValues":"doc.forms.importValues"},r=e.ops.find(({type:n})=>n in t);if(r)throw new g(f.InvalidArg,`doc.apply takes no import: import a bundle with ${t[r.type]}`)}function AB(e){e.onmessage=t=>{let r=t.data;!r||typeof r!="object"||r.kind!=="init"||rM(e,r)}}function rM(e,t){(async()=>{let r=iM(t),n=await hg({prefer:"wasm",wasmUrl:r.wasmUrl,wasmBinary:r.wasmBinary}),i=new oB(n,a=>{e.postMessage(a.payload,a.transfer)});e.onmessage=a=>{i.receive(a.data)},e.postMessage({kind:"ready"})})().catch(r=>{e.postMessage({kind:"init-error",error:aM(r,t)})})}function iM(e){return{wasmUrl:e.wasmUrl,wasmBinary:e.wasmBinary}}function aM(e,t){let r=String(e?.stack??e);return t.wasmBinary?r:`${t.wasmUrl?`failed to load embedpdf.wasm from ${t.wasmUrl}`:"failed to load embedpdf.wasm (resolved relative to the worker script)"}. Your build did not ship the wasm at that location \u2014 either import \`localEngine\` from \`@embedpdf/engine/portable\` (the wasm travels inside your build), or self-host the file and pass \`assetsUrl\`/\`wasmUrl\` to localEngine(), or provide the bytes via \`wasmBinary\`. See https://www.embedpdf.com/docs/viewer/self-hosting \u2014 ${r}`}AB(self);})(); diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/embedpdf.js b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/embedpdf.js index c3437985..b321a1a0 100644 --- a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/embedpdf.js +++ b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/embedpdf.js @@ -1,4 +1,4 @@ -import { b4 as n, s, b5 as o, b6 as t, b7 as b, b8 as r, b9 as k, ba as m, bb as T, ap as d, bc as i, aq as l, bd as u, M as S, be as c, bf as f, V as E, bg as p, bh as g, bi as y, bj as I, ah as M, t as h, bk as w, bl as C, aY as L, bm as V, bn as q, bo as x, bp as A, a$ as D, bq as K, b0 as P, b1 as R, b2 as j, b3 as B } from "./chunks/wasm-url-asset-DQFmMC86.js"; +import { b4 as n, s, b5 as o, b6 as t, b7 as b, b8 as r, b9 as k, ba as m, bb as T, an as d, bc as i, ao as l, bd as u, M as S, be as c, bf as f, X as E, bg as p, bh as g, bi as y, bj as I, ai as M, t as h, bk as w, bl as C, aY as L, bm as x, bn as A, bo as D, bp as K, a$ as P, bq as R, b0 as V, b1 as j, b2 as q, b3 as B } from "./chunks/wasm-url-asset-BJXsMWLm.js"; export { n as ActionsToken, s as AnnotationToken, @@ -26,15 +26,15 @@ export { w as StampToken, C as createLayout, L as createTestSigner, - V as default, - q as defaultCommands, - x as defaultIcons, - A as defaultLayout, - D as indexedDbKeyStore, - K as initViewer, - P as memoryKeyStore, - R as personalSigner, - j as remoteSigner, + x as default, + A as defaultCommands, + D as defaultIcons, + K as defaultLayout, + P as indexedDbKeyStore, + R as initViewer, + V as memoryKeyStore, + j as personalSigner, + q as remoteSigner, B as webCryptoSigner }; //# sourceMappingURL=embedpdf.js.map diff --git a/src/components/BootstrapBlazor.EmbedPDF/wwwroot/embedpdf.wasm b/src/components/BootstrapBlazor.EmbedPDF/wwwroot/embedpdf.wasm index 36d3009dc5deb15bd7789aee1b0461a98e63f2db..d6c61d6f75481a953b8ebe64ee23421134caf227 100644 GIT binary patch delta 939135 zcma%k2V5J+^6;Hbs2~B7Kp+W_PC}H#!2$_45kL|pabm}g?Ua}Ih##>P8ykZI*oj|> zaL2u@DK6OH-W%?{_W~}s_uj$1`ivp|E2yZc6oj(1@tv9rdrgz^1fg$FGZ4>-9M+dvuh^&P+p8PyT8~C z>7Pk4xa?hD&ZGnw;M=GQuH}cuiqk8#-rh7b@r&J+%_MO=T8sYaGnQs5ANuU4RbG4^ z`Js3`c;)l?JTH-m??s~>et$B)Vkt_NeMajl`^vtfX%_8~zwp!2NLBIHXbS^wrLeUgO(*lNJ1SlY47;v8&F^K1-)A?w0m4;88G^1m5 zl_NhD@qhvPEQ_YK6PwTd^g8P$r0D`)K>=T&;=5@3w%em=2|TGrAHw-h>D{QRc_`f+ zJ!~GNDQOds+A$@~-Yq{fC%bFAoQ&@6bGkdTsM0n_XHvDE+$N|I`U_|NH-Jsf>6e{P zO=%POS5%h)eVx?QHfqGiDh2ttFb$0~>F6@F(4>o-{=cfEIP>zU8Euq*W%gaCwp2NK zX9}e&P;iWzo{3t-u=FhSeT?oR3enhvCg&?d7s=x`fFqfvB*xqyCBM^GKGIf{HN!SrSHi6xZ2g1)fm z=&PuQ#Xw&}BQ0Uf^;Rsh$7#^!_CopwKtj+%i;%hLhQd323u)qv^lg+BXJqcQ(xTB8 z4JwH9V(!8_u8H68ad6RBojZI(-RBSjQh0#w#~J8{$gf3UaBVA2EwZz7^1F6&_Q~n* zhG^$nPSB0$`i4=Dv%b88glp4{xkuYJb zZL{;8V45QvgQ0>OJgPN%+e-7(=+;fg)hV-E&n}=!WGcrrMgqqs$g!G@%u=P{^e2^Df(MO47@%-Qgt%*uD;e<&S zwhlt<=K&)8z64rB@@#)ETv(2}#T$NH(RfU4^S;l>%Ir?9dLW;@yh?e0KlJ`Z7bf^x?ssI=6s#xoBsb?EQR&B_>n zwU643nkVS#J*Xpm?nSu?hWLGr)h+dpzB#%1_P%|=&@-~TIjO@OFRW+D8QD46ncXt7 zQgSnX2Q{Lq(a{8z<`}0$n1ZYAK_5qSVlaIIBoiR^z-o{+F{Ih4j|ABX+xqFoKr%=G zoRhqMn^%N^l$MzZdxtV`Z=TK#06n!3@Pc+gOK#*a~rPd+nVqyr7x{OkjSl5-0 zMB(lSY4GYtbKm}J&V^lT42RY{@av6dfw)2s=0@YGg|4^%n#lTQ>%c~igK#47Tj+I? z7M20EP21`&XBPDe*#2vx7Z4^;_Zp)}?RwOGlx<__2WT98K19oH!So|^2tI4kZCeOk zhrH~1`Z0>M8~9IQFklD){AaBV#3Ilic0cBMYkyQ>_vcYB&5|}tL@|-Z2 z{rX@Rw=qqHYV9f>wHZCMhtgY+)DcW?MNy6@?T}RBW{DNH?L)K%n{*yFxRI$S+hOEQ zNJWzzpYl*D+U5x2O-e;)91*;tR75AMc_pbRBsoe~no7K6hkp54;GVj2jN0Zq`(QSc zQ&G2MebAItvRpN42_vVWsmW2`VRj`q4=v~VV$aXd=++Z=+|3BnRUp3<4ZR1L8aL`M zSQ6uoZs;3V33`#1(I+!&05zrs>hpy`$A7o zfKQEgT25}CjC^Wh3l=^6QiZf%iW$@*0>3Ld=H%sf?v|U`mvh~dS~PQ$2>igGb#&(T z$;`{crdNapei_CTw}221SZw{$iz#UlM&2)dDWyx%{VxslWaQU2l%9g3+ZvgvEy9th zZK$zccGEbSVyB2_GpoN7_dSm)YoS6b+WHGQu}nvOzfy@h=k&`3Pg{pSvW&;l$gy`epb1qu`m6o1|j()|`^HJ?r z24+EvPjGuE>gynSA+mk_3B3sQ`dUvfMx)_#30nHK*16O(lev8wZB44$xMv@rq_^CT z{4cWH%pRH9)J4R$SJ9VHoA!F< zGHg!h4*sZbdvA!(|J_~>@p)PMNQlqN+JiPg1b!VoXdlJgfGA}~do34M-$b8(6AGdE zPv3+vx7(;t;x~Z;dp>oijUHY6CR9L1cNeYuCXBv^&VOT|@1qajXu$VsI)s4lZPg(Z zeD8N1bl`jY!Dk&R>VSRk+76-2lQyB~=Z-<>VFw}e6xiW+zm5{-S({+|E+VVY^EO&s z5O>J#Ou~d0=pP-!4KLe-){C=k9udnAncaJUb@p_2>kSU)6`IviPrpXHI~o$+a2q}% zL~tR58p4}?PU>wVHXclh^Vf`iS@|5nP%AQiYv2vDqA$PI^F~=w?{7nSqpfJ&lrg2&#;Enw~bX1>rTfEh+s3a2)^9v zb{f!?SMF=1zEbdjUS@pm&`#U^=SKdN3VpXC1u&{nR-U%;l%foYE{p3p+(IqkIrtTS%O}5j-Zz!woBNz%dBK2Y$E;+eeq5|k6Lb(;XabJ3pTR(uyLSXrV>+W z3?s{b23KWJ8k*E4f;S`$ZR(%+2pf1bD+r79S4dfb}xF z3j~FE&;a(4H__$qv|u+Mz6*s|CiMFd`VO*w&(e3%-@iA2t^E0YnD)MvEKm)+8wVE; z(AMum!Gtb+uVEfp{gM0!2uNy?-w!J0v6aO|l<8Wm53NkE)xexK?5of;ia zG`tb`$G`nVjf+RUe+<@6h$pk#2#L4b`A$qSF&@qS(ZECTXy1=vyh-us!H*$bisBn5 zS-57t$mx^k4`2?I)#X$Y0Q0@I2Ik%6|$B9_AoI@Gytk?)1cP2de%l zm^U^KJ^V?f9>;}Kc$oweA_#02)Oe)(yM~z%r$hR`2YKg#X%X;5l>YZHSUCp%opoJI zCf4t+iqY*desN}XhOGp#yi3Vs3)?j%vj@n_(GL;|5ECVHlL_sCFgiK=XX53a%OVU; z=9Hr;jvAIsd@3hmKdAj4u8|3U2h| zWa9kXXyWYMm?_+V+!*3DiM3BnCawy@+vdS%HrNg|Et&XtH!)cY%bL`849ItO%E*Q} zo6gD4O|1T$X0mc2(_{Hi54eR90=#G=e&hCVWx|mi!I~{Xj_04rs zYZ?aRS@YWEbn8v+L^J*w&g@E7qKbbilc+t(Qjhv|c4lNzm(uDdAD27#&B&%MbGs!x zz8`Wk^FfyGS-XOQGlJD8QaK0lOD{0Fl+0g$<rl=MJD|rf3n} zEx?zQxVfE`5{y9+1O#%QolLExJCYbL}@b5dALDr*9qn*uRow*V=mM>&S` zQq&kA1OQeL^x+p4Vga^WD6=R44Zx$I zd!Ue$z(%y8JIicJF`x-fm9&u@HY3_;Flc*2GW?| z3>I>u-j2pOS$YRr?ldwxLCRf!RiTbO1bk{26mS(%*u!Bw!`{o`L~beUL+QU7V5?0# zH4;Zo4kU}SsRJNh;KhylAQXTXS2&as=59s8rw*q?xm%GSQx5@iBqiKk_Jyo_*B&fg zg$jBY+Eu3zrQ^~iFv9lEjJ$rJ_N%%576-R?@9u%GYC+ajQYQ`eUEhm69X^cu^bArT;f7OR3w(gXk@E*th01zrtjD;{ z)MFb7>NwY#dQ?+coj`Rx)m=|=jk^Vi#npk^gVi)eK%;KNX>JgWY9#;dN9t@-D3D|5 zIh2_htU2G56|{ll>WqAFhSM`uu8Um8!^4p4B}b7*UH)kBP?^}*m5<=iAc0@w;2vf` z-U-Lx)b*xtAm`vWS_Bhk&8a)rDwe``*_rte4tMMo4B>EAFFkX+g%(}u9Uujd3Aq%K zQMiMud-?kUF*xdOB^(2_HikUmrkYcH7y-`yw}a&aoYhmL%hEtr%bFEzea^L2 zZ%>#kIfHCos27~9>sfT}nbEf%`4WxG3ZY-2#aZgCnl!RV6Q#r_b7YxF?w6bEgw)z8 zZUfV`<2PS)P0j8G2b-O~aM-Cc92h$)F6oDB=TXDjH1=N{hOF0}av--zjc9-AmgDn zpbLG}s*NrE>ro`h!67#x-|QguW?%#L>Sg0O8`y#pv%`b8whU~*e%H4|oVyu2=O9yODb)=BR`Awp28* z#g;?P?)IUW93^<(v>cW`fO^2^K~$I%Mju9ta}4wmbQB;*QEg5@yDCl?^}If_c_b zi^k+>gQ(|!ozLEIOyHfbaYqU-;hkk(wbbL@|H5U2xG8wucw%7+@P717%ixA-!9vZ< zayI1Yske>MupE7ae%DfyhUEPM+y}jd4zxW#h(E%iBv3vz(g875KcxVx&?pD;>!;U_ zb`TxGj)lu2HEL~)1AWs^6+9N|W5aGZE^uq%I0qWoFO)YP_OShQya~`+KOKLfBQy=I z>mSNPxa=PV+i#LW#yOBl4$cWQaDrjuF;GPgl-OUTD|T=O)Ib0-@HmnZ2kO_~z$L2;JkeVT_Uq#>k z{%OdyG~&RLGayx-gLidZGJ5oYIJhn)C=DI{JqVVHWxs1c0S^4G`SfWDXO;akGPB%y zJ8DlV@tk%7!)b@yoB`B6EL)t5^hq$l-g9Q#nq z9Atd;K->+S8(G24N@KWt$G8&xJV2$X{A*j>g@9FP`~YRpY6s_Hxjc=B=^C_YfLgQG ztvdBM(D9BL`8}z1=+S@>h}fn7(kVAMh$wMiJTWD;5!wC~N^e3x|4Tz}Mg#uEe!qpI z!X5}yk)Chmn)bllz24Rcnwkw_&c)}++c}Zc)8f-NY6p7sFIB6ZoDC2Z@zvk<%jizL zQXaL76ON}^Bg}4;`0v21Jsci)39C}u?y!jC?Nctbm+LUbz*$fR2}1U9oxm`>fRhvq zwckNDlh|3-6CQBGz|!hr2hp~F2dWM^NZzHM8m=+)1tmR<9{xK>b;ONyw+VJmOrZ*e z{s-?dTmL5n68+!($I#+h3bDkteYg||;l`a2U;it{k(u8It|Z++i~pmhZ=yZ_(KEMT zH}uh(qa)-r9&!7Y#^A5|I(tyHT<6>d_l@)SdOMoZimYcOsNx(MHMNy5_FG+X zs*VenrnQn{2qA*XRGFm}+5Hj#oKC`h4o6l-c5gh2>8*&h5EO{B{w#S08vUmVE@{m9 zQ>U5PidZ$F;bInd>@f>n{8JS)yA`nv4+}SL4)SpYtLC<<52XMOzL)bBTaeAAcg<@> zW(QZqNFu`aVCH$${HE3LJOi9s(26V@o(ixsr2YY+6QqX-dSTOAcprmnEo$0~dk>S5 ztL;rKZbiZ|H$zN~b(Sa-co-MX?1UC*nPsi?NLQeeG{hgvQAR-+v!ay&!_kZa3A3_Q z7=HKT(pB8jSIN~w_Y1rsvGbxp3s=qp2WsJ7NQ;3i#G&60)Pr;QW1x=SfJz5yRU4ZQ z0J=gVgNx|MKuzmSP5O#exosYH1^wX?Nh`9txo04ocmj98O>IH!AXVJfrZONI`(MHF zrcv7(CKpcv5jD9*u^nX%QibklV2#nxYQqhvov30^Fue0Uy&wEPC?V?!{`C-0hC)2MWw55@ zk-x|XyqWVWh`OkwO-B!7#3(~?WY}B#83?v1P!#Uh>pu=}p zfI8fso0~C!I{81TIb2OEBf2;w2pt~c3um0?hlGco;i&P7SFiB!0x^CbbrxxdsIGf^j7ytonz*lGR88CIO z5gY_u4?myc*3J4}kxr6e_yYQKn1;THCJzh#@)GCsJhlyf3oj)g9crtcES$KATO=#Y zHal@i9$0eEj9k2l%%irWx5HF{JM3gc1dUUpIOv6B=cmI%+U&EF*sC6uoY@^4nVFF6 zw-ZrfB%UA`M}0JX0J(;1R0r+EpEV-Dub_u3hO+^O?L=6(id$GG;$X`B#cp!y2%-zw zHb?EDc)mP5+(YUF`#ona5oOh18X=vlMn4q>2OqN&r%4*Y{UbLbh{rmP#uo;qooI@0 zo0kf?$nKCFrcQD~sjo?PEH!rGygfko<&;zCL7^t-bW@x?uN&UFpF!FYfx%~+HuFW+ zfWG+17Hsky>M%kDC-gl>gu(5r(Ibp7!7E0n(k|Ia2#bdeCvV*$C~cdK^Ma1?IDWk(1>;5&bC&&HnJ{cESQZ)Z3lCow2>1tL;h z(T#6FTy>9ugV?jONITcuy@Shq-(`1)TvtOGrYeWJ;Si^FZ~;Gpy@^YNIiPO2TLP!n z4V=l>;Pp9a-frkS0eCjlcieE$`zG+a&?Zc0*R-^D*m+R*xaq|vj~!-OCYm%_0a4Yw z(FTaB4vc0k58a$PWZQp*5DXhSRu<|J1gqRUIh?S_IY|zOU}{n57!72^T8{|{e(a`7 z$?-&2c6Vg`1m%oTYM#0W2JN>6)BJ;z7}(J>G<{5v=D8aUQ-ejAk_j0+asvJW9UY@$ zUOHIhJJyp&e}<%EwQyOi+1M!hCF(Mkg&bMGu{yY^Q8ZTn)f>)%H%@su29P$X8=UWJ zjG}IGrssxzg9nz^C8q-JEw-hY#Vu9T$qj({a(v!_;8( z+c>4DD_k&v%=RO+Xq>7L3J^bVE19f%c;YxaA<)~&^@}^V8NseOkGj(c3@t-mABP&$-DIMQgooP+ zxQ*>zG6|6grma5j3nv$mcc<?ne%PoEaKl3;NxVm>yfi4T zwrN`!>t3nrk{bdcT(3UpevIywYBW!pqVa(2**zc=1?m3Dfo+~8li(eM9^B)po9zGDyGAoXtRCm7^Qia94FMuFMUvMaP|OsKqadYWo^f)B z^K}Ecc$YMVq2#+fgFXVniA;ZLa0(hdC8X^T&Xali*120x&gTsMh&|^khoz7yA-NR1 zCjH?21;4``*%VYaMdd2wB5;C-?&7aXjYuJyM?j4RHj>M}c__)iMm6FNwQ--gn--(F z0Gi{0@7LD1J0^wYHVEW26BSMk1otpwst)#^Tc@(%6fREL(}j+T^Zloi}`kOQW6nZM*_fF(>u=gUG> zQ{u?{dGZ?`lw#N_NEt5Iim6?sh@ixx??^7Qf5Rf_o?cU+NYTbO~z{XJ5`-`%Vy z4|xLZpB0>Nk`tw8p1H4Jc_Q$dICA#vL3YXbg?y31gFb`wv(@xj6hB)F$B{qH)`XmI zI?Z?$_Yhw|<7eyHi*Y22+4cLjsXwH4>Xe#>d4tM9(3}Ywj7z9`b{KOxE*!CQSa+Ou z1!?De3fI=#&It~_<~H7@)$upxt|Ql+ps#N-=N@-JcJ{F+|+E?x<7~${Q7HFKlr}L1-=M!yH27( z2kBsEAMQNNncel5evl#0%=MF(u=y8CTjx9?A439 z)ljj2W@az=HvH{0Zx2QdMf4P2DQ_}w0dEa&EpIVz8*e*r2hX;e zx0$zvx0P4Lv)JM1C9|BrlD~?-hQE%#fxn5rg};rzgTITvhrf@1fd80z!n|OH@`v$< z^9%VS_#^oP`J?!w`D6I^nF;)feAgs?F~5Xwo6MiWpUI!apUa=epU+>&U&5cwpTnQd z%wiVs7x9v&IiFLkmzidoI9Vb(J1nT^aAW*NVdzm~s~zn8y}@7fB@uVS__+nF8AE@lt2pIO0Q&0o*o z&EL=8%-_yG#6QSCz~IkAO!{HwFmr_b9%XD*Ox6E_R5R6XnqzL7ze0{Pr zQ9+g9n4m^*N^n|mMsQYePJo1q0$eu*w*;#M_SJ$lf=zI;a!3Kp5VUVvEYf|so*M+!#?M+?UY#|p;@9|B1Spa^XzjEa7b2;2hyx;R4}e;Zor;;d8-q;cmey;cDR;;acH3;dYGBRnNMEj$B^&I->9 zF9!;XR@KzVM;&vGA$z zx$vd%mGHIjjqt7To$$TzgRnsKK{!w}NHkb9L^M=1Of+0nC>kLeDViXfC_QH|)7=(Omt=nO#4iq4771LT6}vgnHFs;F9YQB)^-EP5h( zDzZNpy%60Ny%*hr&l=tx(LK?9(F4&#(IZig7~6%zxWEWFY)&pB_1sv zhyJ!C)HOp~E}ki#EuJHuA)YIqFJ35KBwj3DB2HQ=UM5~HULjs7t`x5kuNAKo&lGMD zZxnA5Zx(M6ZxwG7Zx`6-WKl~-d69c-q*aZ zdtdRs;r+hDe4=hDnA?3MC^XBPF9Gqa|Y`MUrAkiKJ9ATQWytOWm2oHT6#=+N_ts(ReDW&L;65^UwT`5M|xL!Px?^$NP0$ED}5|| zDt#_}2LIkm-$;|*O5aJ7l3qw(OJM<;=2PY~-DieRxz8-03tpRjw)kv==MJAkK8Jmd z_#E}A@~QSY=HoiK2Ln6GjDu~d2fB*`MmeBfAA^r9q2pAcd+je-=V(4 ze24oM`eJX3d}l~Yd?)!9`4;ATg}y3Kc$Z>8@#-}SyLe7F1V@ZIUV%hz?n_oVM--z&Zkd>{Hg@~!o) z^L^s`*w^}$0H*Wbc>wQy2l@^68{#)nI@Hg)*ssuUnBNG$k$%=~ep~%^`t9=D=(pK# zliwCUYr12%-yXlce*65a`=NBe@1URcklz)*tAy;D-*vwmemDK@`rY$;OmniEL$P5*|y0}%4%e%WM^b& zW#?tpvWv1}-X&T34cSfEE!l0^9ob#kJ=uNP1KC5_BiR$#Q`s}wbJ+{oE7@z=8`)b~ zf!sb&K3G0PK2$zTK3rZPci9W&Bjuyyqvd1dW98%Ij;e6oCs+&)!4 zO+G_jF0YW!l+TjSmd}yTmCpmn0{KGuBKczZ5`Zj~FO%Ds%U8%N<*VeYHu41ubj$)Bwp<;nziDIc@nPRzOg<_?mQn5-gU$I)T zMzLP8L9tP>NwHb6Rk2O6U9m&4Q(@bs*aL;VP}rxi?N=O798?@q99A4r992{)sujl+ z#}y|OCl#j@rxovHXB6*cXBBokw*QNY3yLJ$WyKZ64VU7Y;=1Cr*B!-s#XH3##T!M1 z|3k%e|1$p-{#*UG`|t4I>A%Z=xBmhEgZ_v75BneSKk8rYf6V{5{|WyZ|5^U${9h|p z`k(hd)1xyMka>2)xfMOnYQ%gdZhE5Au6S_EbS?G*_vViFUjtW4{444-%J77*gMZo+3 z>wX`*)qpzzcLVOhzb65g1Fi(T46qg|M<~ZC zx6nIzWyRFG za+h+Ca<6iqa=-F`@}Tkv{5zyPs;p90D~~CUD^Dm-Dhri0%2UeI$}`Hd%5%yK%8SZN z%FD_t0N<$GL};%nuPLu9Zz!u}h02@CTguz;Tf>8el}Wmz48EhhtGov|{9CK6Q$AI` zP(D^ZQNB{XMx$2QT{8m911kb&2F?nc9XKa&Zs5GY`GE@p7X~g0TpYM0a7y5^z~zA} z0#^oB2G;QIDpv(w7px9k1HWqns{^Y7j|LtIJQFw}XkriwniNzNR2)6S5R$GT@YsYBSgK`>Q(C1>hv}0wd!^14eE{R&Fb~)P3oQMUFzNHlj%3OyEj zJoHfL?$EuVM?w#V?h8E?dOGxK=(SMColscTZMHX|Z$sSgC)(%Q`iR8U`?dCs_N~@2NHp!=X5s2i%ACmX4=j?xX&4cCp)!Rdr< zzHWhTk#4bWiEfr|o^GYCQdgua)|Kj}=%(tX>t^UmbQQXC-E5s>j;>6%O1E0KMz>Zs zO*dD!LAOcw$ak~Ox?8tbXRFpdV_&eZ*kiimy0`2>m+r9csP3e0k8YptknV`CN>`)1 zth=JK*{`HbNyNX@Iy4JGm z*!AoNb|brq-NJ5Vx3SyV9qdka7ckk)?qT<```G>L0rnt!h&{|6Wvkd~_Bd-l!JcGm z*i-Bo_AGmj-2uVKeW^A5DtnE!r(b95=vwc4>=V{j%zML5(iiKkwo?6M{S^H?{apQg zy<@6=x_+j9w!TR3D$zU2^fUCc^mFvZJlOdk(I3@U>yPP=>rd!U>TC4Y^t1YNdVBhL z{Uh(YdK^j&HViR5;14wnGt|-LhM9)BhIxjihGmAehINKbhRudM%pGQnVXI-AVY|V$ z%WzkDz;MuT$Z*E+#&F(n(QwId#c%!KDZ3x>Kwkd3L*p{%ZVcWvChwTX48FnJJa4=}o)?XmNd3#ktHx`_>&6?#o5ovE@3!%d z@h&{?8Sfh(!1JN;F{%ID_<}rN8ebV-8{Zh;8vDE_3<|;rhvSBZgbxiL7QWgzJiIU* zGZ+y*GJF)2M~9CM#|=yfFA6USFAbj@J|%n!;HQR93oi?w9zG+yB7CWFnQ>2@cH3*H!!L$k3cnnFCH!jmweaiVH^Og*-wMASekc5H_`UG^;Sb>RVfdr)`>1l`3fI1f z{SgNu4n`b`I2>^#;%G!wM0Lcmh~p6_B2GrsM4X8@7jZt~V#KA0%Mn*2ZbaOSxD|0b z;$g(2h}wvI5%(h=L|luw6LB}~BaufVtKhdf@>t~Y$Psw%2F z>R8nAs1s2qqiUi~MV*d16Ll8e&H?iaQFS!V-;tjhDffE}_G`zaw?!ADE=AcdM_q}s zT?Miw^tGtTpN#yZ$n{C_CncXug@0>4S^G)VC)J;f`gHWCV?G`G>HJR@f4bq*Ma|L| zH(SzdX|rX`Y&V+SYzBL{Tg~n?yVuNdzuBW^b&!V44AB%QejlLFL z+`P2;z2^6uKW+ZJ`G@8Orh%qGropBmrV*x*rctKRrZJ{*rfJa=OcPD3Osh?6OlwV( zOhqOfVHKM;n(FAyrp>0?kjik~7VR+YH0?9(HXSq_0E7*qK>P_m`%PO+I5ysELhvjx zO*WOADoh(pGflHhvrThMb4~M1(@Zl=Q%&>*>TeeQ_;|3Qs8xk`#W?8esnDntR zBVugiIVlDnB{9YLF(sxnW@^l|n2MM(@+^y)jlp)i<3!9!SIo(nnwZluR@>^>ve;G3 z3g30HYh&-nJdAl1GctBm?C97rv14P$#g31i5IZpz#ZHQy7JEMCK}>DT+i1#>X=aO~08s@Uq-W3eZoiAS+@^!eBe@Od%zQtY+Z>#;XtZ^qt=y&Zce_8!zu zve(7dNFTa@ppH(eqtC^ji#-MP>>$!7@O%~fI`&!Y^Vk=$FJm7Xo&p3b)7#j0vH1C( ze13@iK%NEW0`rsDf#$*Hr?G>`+i>$x^Dy%ebD?)d5w9$`Jnl*`Iz~H`Ly|>`I7mZxyF3T zeBOM)e8zm%>^g2fiTT2RcwAS^SIw8r*UUG}x6IegH_dmY>ns~AOD$V0qXM>CMjQ87=33@k7Fw2D_E}b8_T`o%7Prw^ z(~nxJEcWzj%Q4Gw%L&U#OO54}<+LUJjO8qV&sl0Mk1ehzmO9H*%QMS!%L~g(%PY%k z%Nxt!xFK;v%?H@vg=D z76mPLK>BEGOE9f5Ez`%f9N*HOKB48hHtXALXp_FR&9*k%+w5rL!0Dx(Z5+GWY;3c+ zjbl?A*OoSwR;aSlx=OOvy3V@Mx&xxsoz~sfz1IEKgODn+93J)tCFMnY*qc|vi5qatBCe^$aH-&M@) zgvkkW64oTFO<0$(KH+o%sZyPAEa7;F^~4*A zHxoUBar1K}dMcu%Nl8UX#YrVerAdpD7AL)cQ=T(PXOlovlG4v7U4WO1N$Ho8F2l=} zBnaD+uEE>&q}rsqq{m55lAb0#PkNE`GU-*)>!deHZ^$TbXUTZHBGfR$(g{zp5ACHQ%It z>}zf7Z0l_sY#VKxY@2OcY+G&iZMN;U9k!jeUAEn}J(y;%ZJ%ww?SSo|?GVr$wjIGV z7vx6?4Nj2(O%>2o+m6|e+fD$@Nn4HWl!># z6aB~gd)M8)$lIM(LDM`J`P<<}1|Eg9krzhUWxWlQk>c4{$}a5%AEI6|Umwc8YIz~e zQc*mqotJOt_mY_nbW0w^(y2Za28%F&Z~KAJ!JoqNkoK}uKvoZ>WqzqXw1kuiMglF! zdKoGE=w*epebUlG%+zJb4cx%g1Dn~(?1))V6Hdk9|~`kOc5 zrKjzM@aNYKYoLLChZ8<41h%XYH~tp7!Fs`)R3fpzgaU3%0>fe@J+W|R!wuiVwQ%$L z=#jQOC}@r@!;gbUzk@F5t48}_2Dpw_d*~Z9vZ*Q~nJ^_|Ck^p{J(0bhl8Pm)z+M2& z<2t;yPzM)S9xLcg=DYM zCOywi0mZQ6Q31&a$T21|Ih`k^p@fT7$w9_1S1o&^fphSu8$ z!_e&*$l?i;*eN|_Ux#_{u@qO~H;k}P!ZYN;Z>9LnJxRE{4QPm@85_(ulW%Y#Zmos4vF)X)zQ3owx~WE@ff_uxy&0I|q;UpE;oXdu6r-V4j7{A6<; zJgQE{{9oN8mIK|>*3@?|wWhgs6Eyn?k7~t}!5Fc;NI_)BaDa$<;ZglBiEcwnYPyGU zmP&z(cs`n4B=QHN8V4YL=61obr5)OxG+0%|JXKvdZN674#* zKHOty6f0;CZjVSC-v451&G;ahT2y_y6Ol1dDeP-Ff#Ys_WNbeZ9Ey#)o`hI9gGsQ} z+utJF85Qbv%^OWU(@KB`0=+(cX1$*D7`rjhR$$F?%Ea<~Xfgok@XE7G{|^}m|A!1D zXu-LTZaGj*{~ygVA2r)w(@5;B zkP|mIGcQrW#VU6*Ubq<^ZpN!oGbroQUbi!*u%Ar0jGgh1ms?7R1c}DKMUyZ8ta00A zTkyfyvh`$iFwam)ekH;q(}XK!;DOIwY44US863k6j$6zcB-{2Xs-IV~hWvG2UtiUv zx##r@9|1R)#HC;$v1wSP+yq31q`)?scur?o3JpA?LHXCBJRO~Rt)_7o-SYpqi<7Sp zHPyH8UY2nCet1p&K*Qn!&p&?S{D_{1jRdv75d3hYLgKq7EkwI+>ZNAjP1|i9K+kJY-OV51+o^4Dbq#2Z7a1%dJdHvSD0VHIZp9H} z;yhrz_%NwQD1`JaQr;fQ&8Udj1e$aEYmX$J-(HW`&J}mm0=&|K%2(Z~qFbYiyFs)W zt-l+ijnS}_%);^|N>EO_2#=bU;eLYGl(j^{dtcDCsKdQ*An$h%S53SB6J~H<4UmoZ zljxS{&HW#EpebD*7(LDY`2cH5$iw!y@!k*X8z1>_$p6p^GU*;`|Ll<_v3^$m|Fwef zaJz$Mk2GldqnL)y1fsi-w&AWUuC4FN!P=qH`gUOU(Ld@`63!oTQ|+q5Q(aQm&%jMJ zuZhL;VWMHR5xOnD`Q!T_j^HO6O{@k)2Y(F>K0@ImiubvUXQ22lnD7oyeg|3ZeNqgc zKR=x!jB>+2JT=n^$oyUkS!3d}UNMwXGKRE~Qtqj{s3p^6vhq4J+E zKc&Aw3tlGEZ7UzV4CG0^!gh}%8rj##_e~8Qi*CG$pua)Vw@!Vs4~@G7-p|XvkM0GZ zRTTa#hj)krWZzUyeCwd;4wWb0{YKLr(H9?f(;bU^=nDGV)ywEVcyyKIMt@oI6`%ebO2hedwDL=X59{5_;LQrZCN4zG`p7zz?B|0qbS}Ber~gfV zTk@+HJ@ap!p(BB;Ox6K(Eru1cVpeL0P%2Lb2msJ5ESmV8^s^H4s?yZ8#=?krwcP6$6jn1_liKYadF2 z1>yyg?NAaXrYpp_#Q@x`lEY#;LVP;sLKqA>P`gcuz zEz)-$3NN`b(-ycv1^l0p6uo5~q&x}htrx&RKyCuNxR+gw zMTg6{>!dGS*OmVCc)HWtx&Cx4{S{^*X1(1L;2xrT0ze`{H-ce>z3r5HE__*$doG%Y zM6Uz|Xjk&H5(J-IGD=Agr+1b32hv~A-_151$o-9W*d$o^4s zE|3lu!FC72gXPOgE^np-l(fW)lKqX62r!|={V0hHqI2W^2|dQ)AWJzQ&Vkq#dId0S zU9e#SB=(vZf?xRXLdz^AhlA+9(?6A5N^HiKv{lhM`cz4#ir&(>C(8r&5))0k?5kkM z1XcMq2t1{-p9~)U&;p;tO_+d-W}CLv-P2Zg($>G!bQ?OOWR;q3!CSSgOAQcUNFZ|O zkzFB($sYs<-R#2&zb~NbVcBk2iC-8U9E(fXc>N?Ypu+#cX!=i2qu z%wF*S$nsQ!zvFA7W7dueqX*E^eg>!u&HD6~{aNx`Bppy<45y6*4Ev3Ga9l}YIIW=j zmrM<(zl6v2a5|2*l&B-uu-tmklY=N76O|#5@}T zl_fpHX}0A55%(qVQ58$S)7@t#%Ov3d31lP83|oM(ud+xE`!3=FDk>;$2`V7sZUTY? z1w{l30Wk;yB4QA5KoNo>pdyFQlnGnLUK_K-A_hVjfxuBbyi;R?q{ZjLeA2TaG z$odo-sm#YnG!Re5K8$&iX06AmMhg)Tk5P6DQG-5iAi4rhXefGlCLMt#1pi=naD(?As{Rd zkJH6wkjp2iVRKOzSqC;3^;7cxRg078_2%N9*t}4)$5VO>QHv|zLJY$LEl#HmEkx5w zFY0D{D}m2W3Sm(GRb3M4(T1Y^r9{ZHi7<{9v;?C+Mh9Dp*5XB~(u#W}II@+fD#VMy z39X?NL6iAy&?qsH%G!ztqaI^B$;_h>SBN}>oxB1~X-X;WFrGA}cI}X|DNVr#j>Rqez^Ab+5}=mUywY%iAJ?XC{ssv>IKOk64R#iay$imZ;JzBeyKu<=4uOg<$- zB>SYJ*o$&rxe^4NOIxlK(?uEG&`C5;VMmIs7`zD(FZSNdM*swOQ74Rz&FGs>qNC_X zwX!iWXi9fvg9)0_+-xye6b8>_ixo!RT3h+B&&OJC!z`zjZS&J??j^xGs)!UUPiQ%Y z*wSVWvqG79`X9=S^6kvF^~S@WRs1)FC|6C!$3~vn!iKEPPFksPQg(Nd)XLF0tS#*t z^!S%ZZG7}hcj3$Eh7p);_&8*wnG$1(VY$tIY-|pK(%RM?J-U#7=?>a1r}Q48zgQm3 z?IEN9_3rB_it%XDOZ-}IIqP`v8|3mWjQTCKHUq&i2vm%szP-hYIu%0%*9HpF&m)GJ z6L33N-lm#;Q0Uv#y^r_+Wykczu(+Js_Z1I|cW8BA@tg=!mwp(I4LxO*1>YDb<_Ylu^}H6c`9W~}wc?Q|>wGBTsBSP#v#srn zX&3+G!+U8J;>V1)4sZa&JlohCishH{)M1F&Dn^iTGq8U|3vL$aa&-}Hycr|#7CLgX z=$N<}j9Op85x2xAF|I6uoHqzI#fZuFEls&qOyFmgq2hN)Tl_H55OQ?IFi{VWVZ%gn zI{P`H;Lxpj^t4=knLo_!Jb`+PW)2hmGOmZukF{_nJ4G^OBHU+24qPu_BA3~7)@{OX z_C%PgCq_Fr0)^R?n%ySw&5XBbz-{6U(K~qIHc?H8y;OC$_(gm{F?WdhVqb9S9q4qi zk5=7@RrN1u*j-{gM)=aZM3%1d-6BwFFIortD&965_fwa<#cJ^xoxfXj^6lriXrJ4> zERl$Fdoi^yqe1tGN5u}>bC0;zkHl_mz(!ez;B+#5F_vNO5dK);Fku+(r5-ujthp;k z6pB|VI#*mTcG9i6BCFC);rFnKY^D1X*fgG#D|&i&v(*fP-(~I&p2`(BNwJ4|-6t+0 zQ_uUwm5{ed_lrSz9Jya)h|lTb{TOn#Q}vM;13strBVn_CN%xP$Q1d0N8HsM$5j;8) z!XnCoBS*tF76)nO17avT?bioHJ3N|=5%`!D^&5knhl1nAz*fLK1=8q?!l>CN_}+sM zJTW(TYOF8>X#Uef=mOE3%tv83^$yfe5|n<2*4sp*M`;rkqnJre67C2BN;s7b`f5FaLs`WI)VY+x`ZB` z4tuX8`2KW(@3Ho#k6y&ET|)QHzyM!D8)v{!D4`lNAr)mbd#31XuVAD@)qn?3$s=@b zCb+AFGH0Q)N@(~jac6vq@cJdQKLopk_RkWX5L2B5iKFxup^J{uRuVN6k8yL+F(&^c z`>Oj=%;WSsiRRTg#>&p+@B#cY*oo{in`=u?&xV{Fp|59yB75kU+2DcGbmdDBi6fNr z5>)RVTK-OX0d18NM`&r{ z$@;XCCC0w#OS%SwWra!`Rta1z@utSg-WDVu%0G8^&g)#R|7OnU07ej#^3%;}%gH4((Bf#ah3FGF5%y#>#ncvaQC8A!tP=Z1vs1E*P>gYrT zZu2D9qRa?K6uJYtpO?A=$>#UebSVltPQ8|jyHg>EXsOD9B28u-W$>fbSLYQJ$frx8 zkoHiyojUn-(auht55!LDX@;(rfz%^j7xnD;!bp6Pj$h01Z@w;?HQ|cY$9YlyJ)j(+ z!m6=h728#abS#v|af)9C-Ey3oEJKCAr=H88t&UOQG7#?@dUqMrR4IMCOl0X4yc|KKrcwlM=o$aR2U1R=C8DG zjc9NDEWGpR$O=)NvfhE2Hi15SN2DY@4NpOcDh5~{S_4ht4g^{N{Y5{j`^qx6_WU&~_4BRJ64G_Q4 zr^Vo~A#}1>Y(d6Vo5ZyVzwwGNZ@Rz;0C#562cmc0>Xocuc}u|ZFtjKP%>ZQaE61!J&S*plU&|`yyJrl#Cxj688k3^ zC5aE=kSk;idbI>0%{~-qRVKWxldwP5$3EG@m2}I8BK;0d2|kL>vHa#I7?r~~oeb<@ zIEgfNvoD09b76=R>Lgs-0)Cl|I8=w<8MIE)kq<>pS-5i6W|3Y~mne8Qgq#- zxuWryv69+vM#wx=Z!@^`26}k2=$M(m3bkaqa;IDASidsoN}K(sp+pQbT-b!S>F{Pz zm#3y5i4kzdjQU6%5=*K77TB{*d3~gjE1ES9DrYXESz9n$SxQ^}d2GT~@gOiw*eZVM zzDUBQ!Q-I*X$d#QBIySVbnH##2+Y^nR6rnN7s9EB{^IobX^HAV(KMxv+hAocq{bh^ z5wew@_*f(-ZWZht^6|``cl^9~LYQ0W^^e6f@eB2)A!YsYxiA+}_9q}$ zQIdtn7m&QnVbwO9Q^6-9JssCkpYf3hu;hUf-~+6a zjOw1|Z3bqNaQ;9p%0CfJ<&0I->{F4H3KxX62qD!TSCr$i@vr0Q5lcS=v}>00z2@< z7}#kD5E#X1<#7;T8J#|^MK7Zi*8U2*vQ*q2rJ2dwi-whoZ2QH0pU#xRDp?sE{f*cy z#NuGr@5GP%Z2G-;8&ATsMX=hBunO^V#VM%%!6!wD4d=pN^4cl5K9n;QqeM}~MO4*7HFDbiWPO}+rGH!?Dbp}|0<|TRh8%MzHv>;lh zM6t3_mdH5vS)BJex+2Q2F(u<#j0YiD=mq zk1f%%4IUSxWncnacVema_jt!h!es=g}b*P^Z7LFK&mrP}c_8!KUV z#LKQgvn*cLgF9_cyu3=Zq(Fk~;%Od$@Ei14JgQhia}s1b#C(yUlc!dagAh2nlKjry z0*jt4=oVA9O6d-tzsO}HF)aW)k6E!#8ur084K6q30QUR+Sy|S>qgEBU0luqaRpjpi zM*ZPLSwrjz{*fpRCHBlpMmN4n4<>^YuhQ;h*$~U0eX&)a8rgg3ZsVZ;I@XjB`_D13b2*$a+byVyt@H7vf@6$u_|)ZCs&HE=|#VM2Bud=Kt2omW?4XfDrc{u{HJB2-(&512Ws`W^b4@}QC{^` znKC_~eHj?J?PQfaRzc8C26@0NZ)YvpzSS|L?#^S32RZygWkX!za?RfbNbP|G8YJ;x zrp?BdH`ZkjxaX)-ZFFBL-B%mD)102IEv-st*g+SQ#!Z7dIztC*%h$x|;J7+qC=C7= z2g{J+{X^tn7Fg64vNVo1UL)I5 z<11vWI725J%TaQiq+zXKY>cD)CURW#2@Ia_ES{!ex60cwiORoDRyTiOv*H5K!O;z5 zXXt1Z#9s$Fi-uwf!rl7(xQg)nGhHgY+Gmx~5S~Zi8{_j=XI1SxJBb&;^f1^iI zTFTxH|Gw^qU3XpOs1V(`%5SxlkNodd83_MP4w~NPzpigx>fcuO|6i>1Pya51c-qUJ z|0$7~x!rnkqP=_qQ|#mpA;HX`$2(xGIzvSrE*DHc-O*8wjQ)kC(*x-|+)?Ic{wgtK zKm?1mWWsX?yE+aU_FsuB(n4HkUMU+n;+hx@N2AtxRC1-v2nnyz2_x{)V7pE-MYu0Y zpEs8}-X*IC@6VR^h`*8JQAYHUGT4Lj8BmZ`DoK?-7!XOLUP;wWq`ev@|c+K!fMNKXXZ=`u<&;CR94-9D|U^ z4%JAb8pDdvN;iX+bk}`*u=`*8c3O{$eH-0V=8E5G*S#{GruCGj-Jet7rNUGamb+HJ zN#+!27z{3~gW)Jfr+(2>*3SsFDlVd}>=wn;W>uTs3%Slv$6oSY^ursyP^B_D(o0Tb zZWz^DR`WQ#u<|~c9OJ9(cCndvlvebX-HdS<2I%blGKI`OQ0-@E@cnWWn)k{57%s=r z$@^t}I@?DMOw)r1*wjdceFe*!8FMuz6uIU&8aGm=)W3ireGmeJ_n#8Wvl#0Pi}yOg z%DjA}Nv*rzd3fl#W@(qlS zlAl(xX@_CNv`)Zw;OUUPQI0)9Y*sLVF~DB?38}q zX&i8&ea`AHy4!idkrz5zT~()<{bfeq?!0-$C)0ecT#QLt;xKc>K8nz)F`^k2Cf1Py zGsuC%1>Msey63S)$Y{&^%NIf>5f#^xQK|p4K{V|z22t`j*ggNmAeuxS2gvNpY@YH< zY@TxZae!O|s{uC8Y|0!czp(9|8w1+5VXKCD{wd{;0vIxMHbXcjC|cPTCa@N|&Z7LE z7&-N6fqln7)<&b@Y8SP3tuD=6^ZxuGbY^8>(nh+M7sG|Sp|VR9+HpP_22o3tWg{F_v8ek zx&F!@gW)Jqw}!n2`UIYvy$0r^vXLJRisF#~t_9|$bpACcez$Eca(2Od=e$nJ3VB1D=yvVkYf=RQj9GR9=`l zZmUUaiG3s1480Vtk6W0f(vO{AoRjDGXl6!#EL2>eUC&8>lXKg3Kjfb zN6DNf6Xk40*7oc~dhT)AT-*@c^ti;vt8&`%gls&p5dIn75(oK);e-Y%97wkPJ=$Fk zZbO%0X2tx5{c1vw;9x{Q2kPti!j{mX|f${dQt`<5zo8;^>=}aU%)!vCwa0T zcra_atR0O#CMdvM8SI)bZx!IVMdRc>+zruS9r&nF%b3=3J9mSByljnb7(8CqZ((`?{y#r~}!3#~>uQLAF{tXz#T-U3K&4Wc?bK3wo&xODAM=;|!UEav<5Q(aboA zC>||l{?9@^ZDvTQvoDor5aMs-8Dt5`bMqvo#wJIMcj06?Zi7I@X_oZ=3o#CHzb(e) zv(PE82Rjkggt!iHC|3~m7>u$bb=kndmRKn&tT}jt?9o}vU|+1I`SYZY;^)b#*fQjwC%gPza$3ph z-{tfz&X^JN^>;^m`o zbFj<;rAyd-lSoDP7y-(AQ}zourAM1tfnf&`Z=}*qKKd%OH+Iu5!~)YQI=u096 zs=Is<)_qpdh}UFt;(DbQ*&^*RkYM&}atLbi%WJZa=QMZC8S1`R4vKJGh%4Ey(;SyU zC5zeY4*s}UV#{th{k%kWg@>Z;QaKzCu$`YaEY*hj$4lWB+eqzSmk;7`8SjMOGj^w5#(G!Qa;PFxj)+ci23Z{>KnmgSvHG>qQGL?m}Rb@ zcUFL?8|jY~vY(Ss^VuZ{!DpR?POn+4E**LcJhzSctS$M9Gz@0z5O+x~@Ld~vqX?#4 zIc+bJUBi@c@Qp^22!101x_ue z>sHI&o{P+><@DNW=(bO(e6_5N{cW|^NDJEj&NXn7eNG+Tk%JL8^Bvix8Jvj*+)i<@ zCbjp;Jb;BkSTX^euL$`CQ~9t($RkKGK}^(cpv)lFlAovBgTOqFUJJ@sv9#ZFtqh2% zl)F}TOw;45%bLb^DDU)15AZD=P#TUE7#$N@Q#i5~9`L=xiUEX`% z$MAyz=Y2We`-SqEK5v%GghQp*2HDU!W5j!C)CaN=C2x@FY2D&Iu<>}M#;lN3#JRjK zYFsSq(ejP58MWMq)%MfWZ?DXw!VS_*jW)_CI;=y3XZNBTzz`XmFwRY<-kUIMD5u$* zWQT#%S$RXCv2>AZ=1ZLF##SH$`&!F|KNgm?nH#8z5&1I%qm021uoLD;pJCT6`{v=Y z_EpuB8$QbE<$P541DTc1c%yw@UR=UYG&UbW9GaK;Ft7|t#Ae1 zKpnS1&0iX`e;am++(5pMWxG^8yV9raqHKBKy?5ve+k#1q4h_;Y?PJ*l@=*LSWa=W_ z{s}C?pXjBwIn{3)#I|QFG2;;*{|iDG+?{zACKLb ze4IyN-2vNf-`Fmj)H{csbLKjFaVRuh)#9X`dRXQ_uR)w@NVXM9uTG?vpUI~~B8~OI zzZGd)?bF%MAkqh^{thkDkL-YXiTU>qY9h7?6uQXry--{X3v}W>2=rpg-Y2tBg>ksO^SZ@a@En20dY@@7 z{tpD&dVJJBmFcAYkZDG3XmRErqoPcgvrIR%t2$*r90M0=?tV!3Vp_K!?h`Dj?3Y6! zw*3yE%N<$1c!?}G`x4z)&a#|kqj~g8$ooZl`Ab>dU2b66jn3|eq66XDtNqFwrsZ?U z1!2xbTF7w+@dFhcl)jWn*lrPL@^8HUP0+uN@b;AXZo+b4-wHw)eYp^hIt0#f_;>0d zh~PmM!4CA>A?TxLY3O13bFH8FybiWsu`=XClUTWi+!?vPDBi0o%*oOb(5YX`?r9YS zloyMm*{!H;1oLY;{k42I9a6rvX9a7o(3)Dc;)XbTq%M`+p(S^hLMolnx#Sx; zf=6L!C>s8a>{QE!fdJKK#OxQXjJ5qJByr+s*v~RCG(`Vb2(CIOQ)$PyvVRTjp+-BZ z!ZgC-e!c`-VUH{?wc?!5;dAnSTKb(VOen{Rf=ER0`V$}+X6&U==C}NTx#118b`!6_D_h@?CgBv#CYpTyZ4LkZ(?C!jTJ#hZU zW##i$=)Yl)#Q5c4_9$!W6!ZlAtzFMRR5YtJO1yw^CfeQ&cZsnVmaE-oz&ziCm?u~U z52t3HyQ_Ws&-mtbn{QaEqqIDS_yz^Bg;y%Cj46zUp9R-)IQ-)b3A+2C?gfT~@}Fd< zz`x=jC*9DWWm0HV_;2#}KPN|D&N$G>@zBUN<9rtc<5Uth(?kM){{nf5kKPY3lFTW>=AMhEVArkl6_BD{#;2#N5-E zY46dr4{^^Srahb4IOBy)76vZN^u~Zaadvwqjl3Y=#lFdgf68kUpxtau#_ro8H1$uJ z9(O?>+yRS5oBL_apD>t4Q0hhb3huFZ_oDnj?4~EmWgqbgeOxZz5~pWAqB@A3Gv877 zU>BxOs2*Zh@NS_#;PcrH4V5W&2d_00&Yk~Gx4M-dcHTI*3e?&IpNH*($59@xoB0#& zl<~H(uWHaf5_;cI_2`saMdcM^Y2M!H5jLi*wU>qI%{~?{TUqnqV&SnP&Jww>;9$RD zhsL=AeJP`c3s-u=;Rjx0*v2bryR1Sa)<;6v24`$b*HlAxUQ4hRp-lS(0(SYYp~)VV z-k#H&I}IxX7f71yrIxG=mUEFA<}Slp1c;dnSBx?WPOdl2056qzRB|4NAn9p{0&gSX zvt;^4)TLZl>5sykAyYLLXpK~zKMa^>lvPyBbz;=Z8FHGbVW*iIKEE!~WF1h3T`gvr zGV{(VYi$_E>IyhC?BLMw>~|wLbijEB2T&A;QLL|kLc#(_E+B}@1(OqB% z7cP#Jp>u0*9O{WOc7^k8uTX}Doia3hphEBJ04;?!iUVO3dmR+|T2B4q;Lvc{+mUMM zfCK0aCKswv62@_;LNzq(pwRHr6&gh;(wGOvUD`3g8R?BLMw`3lw00cDYDOxP4+ z#e9YwR@AVALc=BRM5>X$DGw?0dE1dq+$muk1r=~;*ugQ4!&e+|wHMe)$M6A7=!gW* zK%jl7YaU1IRX|6kbPwoEdd-`Q%v08)P%^8KA*bFNcFJ7JC|BTkd$F6($myv3x40RR zVv9J9K0>!PgfAq@w$kBHy@+79wAfBX(YP8nb!`RFTF(*rJon**)Hz<&Pc2#>q1k4R zF9^p^=U z92#lZp^=79Y>S}K0oq!$QIv&IoUDLC!*v}T`sL8a5ga-|&jU3rHgR3gaqeB8L=x!$ zZC2O?<$n;W>xBvhY1k=8!<#>ipwIy&A(|+wAdF%HLr!xw9IC5+Ik`Q8LkFA);h;g4 zK=&CtBJoogQ&~8E4&w9H?~KIH;P~^Qcx4ra>oBiE9W?ATV-bfh{ZgaQ;cGW(Scjjm zVafg4(dFYwX_0m4Li7tIDET}TZeD{P~+C&=WJNx){#pixYs(kaRG7#)EahB zuSdA~xq)~V{?#8vNT5>{MR08n<0`IzOT!MXZ4NFSws%Vel@3@NLA5K4YI_7#o~2(L zTpBLj6~Unc@-aR;%IQED$KD7IOT!Kd4IkPaL7@W*!YD#BN2QID)@^09wHgXk?-b=R zoUIzYnG|QBY%^dzhj1E<`p%u}jzg+yO^Xd9CpjjcP9m-F^f8w~rt+n8C-H(4b^%pb zaN;?Ld5&H*RRhmv#wJoxVhS?$*sHzqSd@viwbG9Zbp4wlZgoDLB zXi1W4fKxqtlGLEY@V3^N3U26*)l@GW*O^pJ-HgXK)zrSayfGFAe~ z$!elFK+!2`GIlIYPf=4M1>vx3*x%heRb7uYo6klJ0%KmHL{+b%+FGJoL^|SL2xdyew5Kk4;`)jKoBPZ}_qbrdPnU+Q#&qa9Q&(#>0jO z31R4VL6F{IP~lGWdrE z&ofx6!3ikCT3UiF>KJ_)E;ym#c?>`Myx{Pq3?Evj;nfU(RE>j+8GHs8odDj>@X0I& zxh1-)+!C0tTwj)5etI*o^BYP1E|m>p*eA#AD1CUW43tTNyv>HsGhC|SJZr+cc$x6IPBe|-I`KES=;4 z!$0esr40UBgHx0-xchUR@dCreHe9eC@HQKs!SF#FE(Dxs{rrQ@u$&`GKhx;fGCc1K z9ln|2En79bi($JqhZtOLv*ihfe?O&@oMU+QB#kDYn?38G4xhsC@`hZ^**aKr=%V*| z1f7mOWC&*>+I_%8w3t%d2mItdU?N8P00$cFDBTAqkZyIj4~oKlP_i-H2MjuWP|Ov` z|3Y(6-gbT|v|kP|yxE3J89rpgWelIQ;R_5;*rziWYydplhG#Im+=dGo-e$wg87{No zwG2<&uk&tZc=i4~{j!T+4%iWg7(QXcCm23&!{-<-IH1$#b7PzeO<{Pp9X^}kr8c~X z;k7ng#PBv7UeE9W8{W1t4=*R|m%SWu-iDc&c3&_tEv6Xv1wXkjn3$2i(DJ}hx-W)e zBoBAR+HhACU{+@PKr9BGt|-gnLf0MB3~+(rUyo{-QP>q=6jm9cxB~pt0tpn63TS5F zs89tqhbvGVuE5er1sHTHkT;Ftf-f~$=P^9Ph8cxj0Y+hQGR=*6as?Pgqym}(oJ3ck zhRgcMt^j=b8gvRP!mYs=qAY&$;O4FGs&4I#B;Cd(ZP#NC^=qk8^4L8OY+po@Fz8@g z?_lGngUu?9q&&bW%QP|_?BwELt^+^W>*j6Xvd%?vo#0$w;ARW<+T?MBlaC`fA3sB- zO~8oZ^yzs{IirXNUW76J}8Z)i_Wc80RHehTC4sI*guKI2VC8cM{WDj)P8i}hi%q;!B)%R)~a<3 zu0+T6C^_aYl-@=S!7A?~ZPe?{mf%1ejwJGtUgshJYjzBF{$eA7*W!Bt;Em(m1}5LA zZZ$NQ&^2wyn4|!g5g=&)iPs+l{ zE(h)WD^y0+B@)N*afP~XG%Pz|ed9uTJFifK^m#sBAJE>&JiZhNRwm!y$=2|f)U}`Yb^!u>PmBc5#|%4Ik=2& zZ4X)>rt$4zz8|LA9aKl3(?Hyhq1&pj20>AoawroVgdW#HO}OibT>F7il;ni7M6#(Yqc$C9>W#@Aclw_recy`6dg_K zlSJb>sw3jJ;IJ!ESzJ~$p_6J4LOj(?b)-K#spPo5hHX?bR`O@7q?$h&j=PwdQeO^^ z2C$)p-yBS6uFF<~abwepY?U2*7EWdfZ>;$bI-jiy#910=srKxi=W7BoWN6P_z-9TE z4)~XjONjmGcobJ=!F&BHrF2#;Im=a@RkiqOJfA!+{k&v$lm>J`it{wLvuazhtizq* z=l+$-J1c#>>|bU~q3K;z&5F6->+)~r9@JG`Q8DA3uIdRCo7_$HYs@WIy5;r?7uGgi z`l2N?(#&_GSL{3OC-C~+1lrX}HKO8fYKnTH!qQ|mE$yywFAGiRp;|?~$|sa?k4|w9 zRR_0sf7?TK#&s(7d#a4?leB|74jc|ek`vIsr?LRs9^i zogM?5WZ_O}S5KZMXCy zqo?|-JM2dajkrpU5EFx6UZvIu)cg6XvDM@edUl{XfXDD_R2HsYf8iQ6q{^QL-z0^e zz%B-;2E+U_SbmKf#207`x=v*!zk-fHupbZhR)QMbG~B~J_d1nPdX-u4S$BXhi3;#F3i^^FcN#d)W#allbSqAYfJ!cNDpek&8j8n)9S13_ z@hqWHgVjRZN>g})szwcOP-ATPF+9?5RQvG#fuCm$zDYI9VhqC4x9PdLSFtZw>nZqQ?5x-n zg{4W2H#lI3%BUo^1@F&QFM8VZkbz`Bfo-h;Y@Bv;jWr2~)d=4ERYTw(CBP5%O zWUJi%sc-Za2H!Y2f>A*CRcJ*D?~Ld2nr z`D!@aFi*`_k5}HnRS026p+$saKVvTqMxjNQ6uRL*FEkjlKqYy_8mhTmZHXPrCIBmu zX2CPdL0a4gw0DJSglPGe`ktes5bZXb(JybQQ~VB(HNOW>7OB0sf+o1>Z76Iwt$tXg zz6165tX55PhxgGyXuuoZ$EfOhbw$Df)_2;k0rq={Zd|YG;5-iHug4PSy5P3; z7-qz>pnn4vK5-G#vm4b9VjYbwR?Q)$uNSKmLOev%KY)T7LGOH^eotWi$;ZpN%b-R# ze5g)~7wFB+Dy0g(xdYaM;=zrrs6~uhO`OiN}zSRQrbf zDFhy|FcLxCFiSfhf6$@Ou;^1Z%Us@(w6rId79Y}jm0Q4yHJ(+T-8h%`CQ9z5T7{xe z!niHavU!(i*>Uve7L_5M3Z`#W*I<#hqL$@v4nWP;sd9;qd&r!Fy>KgAN7YcmoTK$z z3_`rm^EGHRvcJlpdp}kmh_9&WC+a~w7Js6yk&^^{R@SB#Wqb+`(_|X?slt~qf?GaS zZh?)7+qXkKPN%5P;Ch@+%|BC1u%GFx&!AZ*k!Oc0PGK)vmaCzy$)Wu+L33?o(vcmi zcfvY|DW6EQinm6Y>!{66m6bLdS@c=A102Q)rXWFyPVnSTRohN50b%Dt2`=Cm)dij4 z{hg|oo!}h8rfqXDoW#p)exW~hs(_uK6k)4F32-O6wO%J^yGsSCa2+z`a;`~{U{Bgb zy83ffo2Knj+bib_HW+1SIGTvfaaXHev}U(@)3oDMDDDW2+M{+~o+Dq-EBYj29JNw zw7VF5_mr9;;>z9V4BjB)g2jI08Px?Ee*PJCT~*lmA>#?zqp_>ZOFx}~yT4g*SQ$Lh zNO#~Y42vIwaX+bSe(m?Ox)+c4epWrjNixoXk;hWQb70*cspmO0N}LS7drnQ4z|ij> zsv8xMK8-ems?-2nPstfYt z92j>@&$M2C%qM?#7`_mfVIgZm7lroaVqzq*YEF~7S(3fLu^slEq>=6BS`W3-9h z43?Q90v`I)ZB(ZP9^)(VNAU3|qo=_0qi6%X^$#hcBG=hkb?rm0P~!muWRck@jkme$ zJy5lo7supS2EK~c&&X38sirM0@X&x5(1 zoq+F?hXimEgdvAMAR6BzUht_S(L}^rvEBKDv`QD}Gp@o#aNGm6!SCL1HGD>|c&W1S z5hgAghR!2Ys0$ z3gZq%C$*MCESKLK6*k|ZDB5cb0N>u=#WziwQP68Fz#x7@obe!2eP_HeO2S^TOrvd# zcsBTGict?-9(*;`SjQqUBm?g=XhMe3521T9j5Vz23IfJ>M0#r(ZyGD3u{VExEu&{_ zJYR>|M7RP8lu+BKkymwzFM13^#MZ27K-|CxCs+E`O}v zzKs2^;6dD0AE??!WiolA1AGN`z|#nN7hetGj}`jjY%H+;V;v|~vqb{m%NW3xuTe;( ze4SwD*TyrJ%lBH*xqdHex;UTtfF(y^%LPvG`YJ(T-s`0ERb67gK@%Ik7%Hu8)XMT= zQw}y05O$FfS&8IF7fb>RT2P9mFQj#+f;i@v%czQyvTZL7BWfpYX*-@>XWWuJfil zd9iyfjtOn4QGqI!{#YyGeWpz`?z%W%<(%%CpwafAf)0xZFDev=AKquHrHo}E4p-^~ zjClTnVyutR1!B_tZeJyI3IGqq)-&qW_x95FEh?Bd&`~T;EU`wsf^QEMPQck*a9vIy zo^GsXd=B<*oN1)t(K{2$qv{XR*^(K@v2l)ZU(~4IlUjS(`oU zH)ndFL18!H!)4$Gj0k37@UAXk%e=37REP6=XO!uHvm@a02v{5e_eQ`I5%59;oVF{B zY*7SU8v(b6!J$@37`Dzuz=GXj6!RirQ3Tu^0S`pLlMV>8%)(`6F3c+PyBW*zp{z#T zjSe7bPIm)SnI*yBdl*@w)^Y<3%?1D~Eo=t|=Yo}SuN69G3g0YZE}~w&j0tt7LNCq3 z^$*}TB;jEPob2|+<@jS{HdGCGb)JWQ>SeTPJI~|Cc|(XHwiJ9R&2KQ)@OAYw_+lz9 zr!~HL;e#Mpv-xvLC@k7sjAQB^8rIvmruCM$SH5dl-~P1nJ*02sD#EQ|QK(EAJ{^HF zbbSMgugSKa(GzKr*3m8RAFqH#UppB>f=jF+H#|u0 z5ozogMa%pWyrBz48zqbqXqPbo7e1&B)oL5#EPY^gpBl>!_X+w|5v~~2d=3rkW6VsP zz(+SQwZ$C`+FHp(DvIq3fP5EP~B;ct)f`G^iI4(w6d>JE$`{Ra zb1n63vOHsW{*3~#`QN8(ofTy+LEmUnQ1^bu6^(QaLlxWZ*xkaZ0B!-nw@bMUYnPkb zw!ELw?$RuK|B_{ID9eFRmUL>;->9Bi022p->37+C6IE>&_l73lP{iYW>BIfO!k^Qc z{*e0@a8aC*omULKW_^KXuV-K%fVB+l2Y?THV8Ii>YFI#S?{trdgXfmp7Q>I#0vDR# zS;QQJC;pj!3>6BeR(!DmFb4)3^ECW~xXUkz2O6f7@I~{tb}?KH2I<^+AS=Gx)CP(g zbDc&m5x}^CaS7R@$BYg{wHNwR)fzuDGh4~h@?n7CPIY4tV|?IP7`h%mTwz$-X*$RjVx$NAMLD|%GG z6OS!G+{<_^c8%h-!q+vpG;G!b~v94AExj~D%d zDH}MNCm0^oM>TO__ya+3wFX22^r}!Tn6m*7v}BOZ~DL!|J<(UNP7M)9$%uy~Jisr1Ft(QAxU*nk(VF&=}d z^YFExgqP-CYh-%7FsK7@^zpSuo`KtTVyN$RMtvhL2Vsv~XLO3gA#dHKsDBJ?zRt+X z(;=)}VTa**9(IDlEG`aU3)`qb47TcnU(iGSSwTXuLxP8orde_{qFJWUJg}nn4fx`0 z<>&Urw-;^EB5!-q4zyz(f-}mjF}SI=-%)tyQt#`HWpRbjwybF37JY5jAfsWkB_94D ziyJxyR6x0#^Ra*@a*y#b69miU(<(TdR9^Hb6MFlfzEQstMx=6r9%3D2GATyrClNLLck0 zx4XT1VUib?ha(6Nd=0_njRFzPjlr6OjZOkyh+A(k76ulh&wKdYOy(wH7f*5-*kkZ4 z6=0^^OSNw_3eeGS-e?RICuZGbbj9)gZZ{d-Diun;JO`KG#V|*`N-y1nDfmfRcazbx z;UdX>I2N5ZPWDUVtJ(A{L#LdNeE6&^I*})qhbU`^kzVa2%=>g-R3?re>Arw&Y$E2- zEkiI~oS?BoU=ePlnL~`xuoI(iHtLGF?e0J2eNM6*Ood}1BKaOn zlQ8$uV6f;uW4ap-@-AbHCu4A9#0O6ph1EU^kVZ`(EA)rDm10e^Tt%WMSfiB5#0B@@nAF#e)XMgTo3MBINNA}z7czk zs=*&-8-0aDE85P%1Z8(HZLYD`jWlJ2oF-U%f$>E&qJw|DZtRGu#4|7JAk+cA2Ij)G z7zb7vxe3c)TtQ)?y14jv8C|^^h(4#5YasRK==wEA!+J$*T=P;gzE6YC!$ADmZdhwn z7EY*sUrkHb7$b(Vn`x=29OHseVW?lpN&-}1X|}G!_d2Y0n1`}bagwq2g??zN2Q!BY zcqI|4u(9|=1!B<&?ZuUN2l*T0lcHnZ!5peE`2ITvN%NdL$BN~NZEP;rsfdQJGyF;G zb=5G!w8R&Qpj|j>HO*OP>;T>FdDr;SJmJCa3Ok-}WjaH{-!mRgoaA8xf`_JP9y_3_ za5%E;J#q3mMg8H`$=78|P)p@(^n?{kA2z(G9dyh77A8ST-XJ2s&X z^XbGU;}fWZRUa7ru|g?7G_I)*fPAnqr{`MVZ!zXDi%#5X z_?37jxa1RKrm8f-6F^7w;XMji@P(A_Fh0g?BWb5`4Zc!@@jVU`V0ijaSBY`^Fg?B# zY_X6&+G*Shg4Nj-l9B2(a+mSA`KI0Bhrn$x^HH%2yNtV$@Q&S~gsHS@w{fRV2v)Zf zDpp^6jF-`6TlW}q@VM=BBL~?&`#h9w+$C>;;Fo)iMLhF=azA|3O@puRhjM~y-gN+T z^m^yq-t9j7qO<%&xQDSX1O^J5z7P;h@~!tn{6kFv}g=V0c*X_^br;l!qsX(K4I=+9rXXwMuwrb*j>t!io(g^TB(|{yT*} z0Yf8a9wsN?X!g6EuZl^A`HF|#$__qM<$TouFFL_qFE7U`ACD52yb59qtJ!=*t6L|L zjhbu2ZegxArYlj_xO{xd>9SI}P+&k?^YA$oj^r(NceBp~fr(rmp3#0(48-u`z5f}HgU=KFu!*!qL{Jd~h z4rJ_1A0Qdb8r9^4EcLn^l$fY1+sJhfYKU6EB;@&tPR`~S>?-YhV5xSB|U zlJz<|7q2VHCFS9TWuBXHTGs_=?Exnp6G$Yy7OGdH33am3$aS}#DWDhqZpHnsKq*ee zT^Pk(s2vUGt8&j)=r@56^B`Rm_Zw)+{g%gN*>O0k`675)H=#gdJ)r9-G1JV0kP_G7pHjR!lyw z%3!7r6B_tH9TWv>>nv!)Rq=w`iI%#o7!Zq!4;vlwY-!@;S(RNnTQcUj8pw14;sVIs z3*{(X8!pF2&(j-C_zJm^*ox)oL?}1h(5cMsu!^DLtaz9R-F@y}@PA-p?9?hRszS9I zVSc8p7`|gfSw8!LMG+>qvf{gACJru#u7~*hqIl&*R|pN|^1y2-&%VbIy=yZU-(-qe zbBKRIj-i|u2c^+Ski2!e9Im;MCuvM$I|U00a#89LEaKve(79GDd)wT!>4?!XUSQkN zWkK@tpw^dXYn;d3qI<_?Rfp9q_~^B|O0FD@@j`bas|#(|b6tn#=;PpAOYRpBf6Y>d z^UrYW?AwYFn3X-?3FZwBRPYioOMqkaR!c@R-11>MrE@Z*F+AMj>OA=OGUW^dx)9Zq z;KNK=sPsU|O+!NNYv}RT2>xqQ)(xD9n|3)ejwsNMZ^R6{q#TY)W@UJJ9=igDT|OpS zt{i-B$mMq_cBa6CH-cAtkPlVUEXNEdApyWc7mpcr7*{&$@LhoCIq(U*1^GKdaVYvj|%&HReS)H^*o1&Q6p(;~CC;=~b;FEwcIn%{10zA!u*8*PZ6uTC& zT^GbW&K(uu_$7JIBwbbTpYeoV|L%p~Bz9m6q! z7}H)_;C5g+2X-3HSaYi;fQ@r}xWm+CZF&|?J5Gn;jU^uf43|Mqtl8kn6J$4F{s5TM zF+QxK;zCiKl2L?A(ZruQAHS(`Hj(n`zGD5$uo-)R`D>z~K2~hZ%Sa1-2jH)X2BR^oVUVP@qrmmIO=$NGbP&Mq8n%$q6GX3!8nrBQ1!{dkb*G z;Rq}CKK8V4@?o1nd(j&l431!fQqrUoMuR>ED_eYMoJW9xPcH~= zpK#zpz$YDe5xjtaKp~4DMBrHq z4sLCX=q_YY3*&bFKr7+v@)Aq`*yPz=nkQQ6F|QSiDxbS5(bXa=es`QB)L zgZ5CsS>|IKhv$N@89MVmf?$3z>}6ACv(3o6tr-dI+~;6bb<@h3yHHvS1*>Xl@hHsv z2IqMq(~@$2Fw$XDK&tWSaO;ElFFXTkm^{-2N$tRoCfI?fGB%kiZTnf6mve>>BXR6g z)q@^tz}3XIdYxqDiHXNCSeuY{Rw&RCXj;XZ`f-&SlIJI4-xnHO`A4H#W!UNb{R*eA zJ(zX2{SmX&H|XXcjnsgSMLWq4KN>#@u_ZY1lu;Mk8EE+# zxQiAB_nt8-ad2rF=6+%eiJy!QaE?Sv&;fi`@|=+rJo=Myixg*r*}oX`r8pBj@(;}7 zqJP2|!^0n)y*sLUu={WD;TY$!fI*vb-Bsz;-;Mj=l&buPF+`jX-uDNl*}!n@f>9zc z(f;tFF#uERB}wH5jx@}y=I$XTuerrNMI@ha^Aa*U-PoqYey~Wnz3}>*<0-*#cf*ZL*Bb7BVB>UOw|hy#2p=DmV!tH@JT%OMLYh%8kNbU` zafpg?7od96qTKayDcZYH?mnW3JkjnJn4PwZcHe_Z;i72w)gpBS%P|D7TYM(!;_ib7 zgb^5T*M_kCr-TZ9t>=&Y&@3a?V#Vk z-Sh`0PuAWk;h=MeR?g*APuFr10eE3QQ5S8Nc` zucrN)$gecthmQU;SmtwI&urNv;I1jA2JZ^E+bf9C!aD9+cx<&FKh^=k3g~!U_fXL+ z*tMR!jQ7;FYT(Wi`1tN^4c#B{Mxx9n?)LaV?eHe<-4M*yP2IOBK{T_4yABY)*TVgR zgj=a!Yxe*+u;;gSr{nQnYc%s@aDQue0Y?tK!hINZxw0MPW@_-(cHnq~E@|)nDh+dA zIKt6fo;$Ex3~Pu?1{WB4UI+Iwl+>dmICv^e>F7R%4SSDX2?;4B)d_*6)U%TtH)v8x zCwEG_Qe-T^+D{xdns`wH7R;>TAHW1~^zl#!H3}Bf$`+IjsaVa%1&Pu}-W6tvUYk&{ny`T-*?*7#K^U1>E3! zxV|wEf|mXStP=0S5R6aDv9zSaod|Q)TK|7&dlLYuimUIt@9n-zPtObu49u{1HvZ+6e%@oKrt9aMMWF81l%7S+)f~+dcZIls0|GLUD7=qhr0k zf)}qW+|uA(f;R!Y-;ZSm{LXY8$78P9ew;Ue)G_0{V^|Yck7H&nG+V~Ogx8u5yTODv z6nERrt8q}8AG*7@Pe*E$(BL*QDq>w$lY5(aYIkoa)oj@vCbHOUJ)Q~qdoyLccOD4d zFy1?bN`E!M>)7=+%R1~LC5~K`cUix+hWni2xpIQHZ5^vHx+YX0@Ns-FF=WOYnQXV3 zwNv!=Ce-E-4o;&fL>$>wupt_rjMs zKRDZ#{SI>u6@~OvQl6EygjQF>Tlv$;%{d*RK^h{fPGgjT@AHX}{w-$c-msA+CO65e zZ-1Mg#X=Aj(*~$b`nKXhlf2z^C}ieH4b3i4`GvE?{LBOk z%E|jO-avc#eqMWrlTbJ9@AYPkp4s2~_fcZ#*DIbg=C)a2%rb3$*o=AQ41U;*Ipqv~ z*o^t*41U;*h2;!>P~~EqEM^Y$Ciz-%PCe8+@gTJc5s7yDmzIhCQ4%|h1pxDg-VQ1y z2Sv%@rR4A^Il7b_t)kzd-_;7Dtr@Js$NRrTd#tV^%%?dikY3B9Ay<0Oss-4c%q%vK!SFw%V zbc8pmbGcM3|F30Qms{*tzCXfisD833C+{I>ZF{8m59e~zX|neakC!KVH*!D0sYiLa z+F8;_YPHn{(Eh5la>X4-!CV-_qr9FSAIDm#1}rnMTUhw*I^!PgZB3EEM|+1Sf6r_H zOP?hroz|GUj`qferMyNfu$uPAc)OH~ttl0oehf0+ZRU^1c-Q7`NA1bXdjrOJ8^qq= zZmOkCp32=+i@myd=CNLt(|H|Jf;SMhooUSm@pWe5ae}D0`Z(`3r%zLM12OQ6 z)Ay+Tt@zu`{B5dN)p4DNYKs;ov-h}ACIH2ZU2nddO4si&ou_$|cpN{?dl|uC)bZYP zKC5l|RIfuMLw7TyPW9fQ5;YR-7(h$8l@X_T*}`*ax4IBNR|{1tGFng~kz)mTE|E*) z9xityyW1rTc(JyW(K93qN1yyb)AM0>wBEEVPGZc$mAnRy#lG$vqsSa(HW?Mow8( zl{{fQc{O7|=PldH@m(UL3l8_|+gN20CiX^{JfK`(NJ+Pu3HrE0<+yEs_1`X@kw3vW z*dve82p>R>odo)4^cF*PtSB>?mHf0>w>D?p%F>ao5_`moou8MQ(#MTOH7EPP{!}&X zE>2N5&xMt#td!sR$I;M-=ILL1dl!zajgCWJXO7k~_)kPMv24@Hj;h4KHk35J0- zv|*S3gZ(ueJ&KyPw3J_tHeMffm7{)$a?B};ksyu%gpj&)ralc=JvOK~*d5A!yD?8_Ta%2=Lh$n?(S}=615RPs!AgLD zI7dT+&`DGXY8HBdX}%BdY6-NRTY{OS zp^S5!X8q3m@ocYgl!_sDW>V9sF<@1yNS`OG7z5LgNuh>sh!R63XGDdocFnZ0XBQ}Q zs{<8!LP&bUjlh`c<*+hOQe5<3|;j0O@@Tv$MzepcE( z@}oxbR=vK_SqV{aV0Jyn+oRoVT*??Zjs2RG6gHk&e2%v_$I*-XS%x zT^hHP$P-F*(!V#;&-D(kMIH@^wofi@H=<(nhUxT;=EHNnRnCpYr3LSFr`i@`Q<9-l z`SzaY9Ym1sOV9K6jqLn2=F{^K4jwnv=d<&(rvDl<<$SMu?lQzh=tR|9=3iQ@ez;Us zA}lnOGB2L*ohnxvgnRlgN+M+rxWL;gjmTUA%zX_ZZ@}H;MF^`ifb9ZG{$?cQ5gV_5ziO0kOKgl(2cRR$y#V_RYSw=*U^#rNfqKrl($XY>W^}>5z(w zYtb%Op|LKvQ~LIsS#04K7><%3$>#im+1{iiKrA0-D}Hk}JB)S3)TLfWoo>rr=IM5p z126LyqjmW9GVf0a;E&Alw&~B9d15?T`>oToQnI^<7iILPKK&@{57 zU@ZdzF->Dn1$LfB$$0uH^Y1IX$>8j;#ay%Ze7hN#I-lM0)5QnpdpkNjH(%}ToWSE__;uc*T712%CW_NrC(XTvRJmh+Bn$zx5U+?V-iKK>4{iVgf-r)6)JKru?XE*~1ng zIoU@CV-_Jwm3}`M{eF6pH@?%8K@LWRsux)h9qXygDpv-nCr$sG*g`yMrrzXD$vz3A zpXty@`7P-S%V~7VPns`o^0uOM_nXmFJZX-+*}J%}y_1}IlD`#1(+x=Xi2&UMB1&A! z2_dtFj`DT;#ok3A=-S1IUQd}5Z-IiJD$c)!UUXs`%=Sk+S)8vm2rRyAa@nD!mOvY~ znSo2Z3CUXDb(I`hR*H2}V4?ZtGTf2|o4L!p zeqC>2RnEJS^NT1uzdDoek$w`hpUbg^SG4d%a^x-EgnBcW0bQIoD=AS3oAhf{H%8@RIN)Ec3y$ z^yubd>d)Q@E;{bBo<~7xcO-qy^MO}wUU=Snl+suK#T(Ivo;VCcC5}2e+EIM-FJ7Gs z0=``1od}MOS?j(0zpg#4GYelpG4ri?=>_j<8kzDUo!DSzzvwOG(f1|qYaYE`_MUMD z6+eC%l5sYg)T`e8RT~4hQ7cy^>an<4^v>w^=ABo)!_yxJ*@QGD_8zc!dXt&-8kGA< z@xs@)uzYbHW?Y%trIIPQZL>y8IoY|FpQz-&t^JDPk4q zN{FfT%A0VCPt7mhg4cgqyz(tnMI@hk+a|w#+Z*J-Cbxc?QdO~q|JW>ipK;!3o_^muF!fOxQk>)a{S$~jGKc?@h2d-S%0D5%udyb2Gk7dr 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 z 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�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%0AU|LjK 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

Tc;D{V{YAvdHB0q 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

o-X>tW( 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